From 38c866daa3fdb0a7af78741476d6b89029c19afe Mon Sep 17 00:00:00 2001 From: msepga <111702535+msepga@users.noreply.github.com> Date: Tue, 26 Nov 2024 18:40:01 -0500 Subject: [PATCH] Upgrade to Postgres 17 and libpg_query 6.0.0 (#124) * Bump libpg_query tag * Update sources * Remove invalid comment in testdata JSON * Update expected parse test results * Update module to v6 * Update benchmarks * Update CHANGELOG --- CHANGELOG.md | 16 + Makefile | 2 +- README.md | 53 +- benchmark_test.go | 4 +- fingerprint_test.go | 2 +- go.mod | 2 +- normalize_test.go | 4 +- parse_test.go | 42 +- parser/include/pg_query.h | 6 +- parser/include/pg_query_enum_defs.c | 578 +- parser/include/pg_query_fingerprint_conds.c | 72 +- parser/include/pg_query_fingerprint_defs.c | 4797 +- parser/include/pg_query_outfuncs_conds.c | 54 +- parser/include/pg_query_outfuncs_defs.c | 233 +- parser/include/pg_query_readfuncs_conds.c | 18 +- parser/include/pg_query_readfuncs_defs.c | 323 +- parser/include/postgres/access/amapi.h | 13 +- parser/include/postgres/access/attmap.h | 2 +- parser/include/postgres/access/attnum.h | 2 +- .../include/postgres/access/brin_internal.h | 116 + parser/include/postgres/access/brin_tuple.h | 112 + parser/include/postgres/access/clog.h | 5 +- parser/include/postgres/access/commit_ts.h | 5 +- parser/include/postgres/access/detoast.h | 2 +- parser/include/postgres/access/genam.h | 12 +- parser/include/postgres/access/gin.h | 2 +- parser/include/postgres/access/htup.h | 2 +- parser/include/postgres/access/htup_details.h | 22 +- parser/include/postgres/access/itup.h | 6 +- parser/include/postgres/access/parallel.h | 3 +- parser/include/postgres/access/printtup.h | 2 +- parser/include/postgres/access/relation.h | 2 +- parser/include/postgres/access/relscan.h | 2 +- parser/include/postgres/access/rmgrlist.h | 2 +- parser/include/postgres/access/sdir.h | 2 +- parser/include/postgres/access/skey.h | 2 +- parser/include/postgres/access/slru.h | 221 + parser/include/postgres/access/stratnum.h | 2 +- parser/include/postgres/access/sysattr.h | 2 +- parser/include/postgres/access/table.h | 2 +- parser/include/postgres/access/tableam.h | 57 +- parser/include/postgres/access/tidstore.h | 50 + .../postgres/access/toast_compression.h | 4 +- parser/include/postgres/access/transam.h | 14 +- parser/include/postgres/access/tsmapi.h | 2 +- parser/include/postgres/access/tupconvert.h | 2 +- parser/include/postgres/access/tupdesc.h | 10 +- parser/include/postgres/access/tupmacs.h | 2 +- parser/include/postgres/access/twophase.h | 4 +- parser/include/postgres/access/xact.h | 10 +- parser/include/postgres/access/xlog.h | 32 +- .../include/postgres/access/xlog_internal.h | 7 +- parser/include/postgres/access/xlogbackup.h | 4 +- parser/include/postgres/access/xlogdefs.h | 10 +- .../include/postgres/access/xlogprefetcher.h | 4 +- parser/include/postgres/access/xlogreader.h | 4 +- parser/include/postgres/access/xlogrecord.h | 6 +- parser/include/postgres/access/xlogrecovery.h | 8 +- .../include/postgres/archive/archive_module.h | 10 +- parser/include/postgres/c.h | 67 +- parser/include/postgres/catalog/catalog.h | 4 +- parser/include/postgres/catalog/catversion.h | 4 +- parser/include/postgres/catalog/dependency.h | 76 +- parser/include/postgres/catalog/genbki.h | 18 +- parser/include/postgres/catalog/index.h | 40 +- parser/include/postgres/catalog/indexing.h | 2 +- parser/include/postgres/catalog/namespace.h | 37 +- .../include/postgres/catalog/objectaccess.h | 4 +- .../include/postgres/catalog/objectaddress.h | 2 +- .../include/postgres/catalog/pg_aggregate.h | 6 +- .../include/postgres/catalog/pg_aggregate_d.h | 2 +- parser/include/postgres/catalog/pg_am.h | 9 +- parser/include/postgres/catalog/pg_am_d.h | 2 +- .../include/postgres/catalog/pg_attribute.h | 45 +- .../include/postgres/catalog/pg_attribute_d.h | 6 +- parser/include/postgres/catalog/pg_authid.h | 9 +- parser/include/postgres/catalog/pg_authid_d.h | 3 +- parser/include/postgres/catalog/pg_class.h | 15 +- parser/include/postgres/catalog/pg_class_d.h | 6 +- .../include/postgres/catalog/pg_collation.h | 16 +- .../include/postgres/catalog/pg_collation_d.h | 7 +- .../include/postgres/catalog/pg_constraint.h | 25 +- .../postgres/catalog/pg_constraint_d.h | 3 +- parser/include/postgres/catalog/pg_control.h | 8 +- .../include/postgres/catalog/pg_conversion.h | 12 +- .../postgres/catalog/pg_conversion_d.h | 2 +- parser/include/postgres/catalog/pg_database.h | 13 +- .../include/postgres/catalog/pg_database_d.h | 25 +- parser/include/postgres/catalog/pg_depend.h | 6 +- parser/include/postgres/catalog/pg_depend_d.h | 2 +- .../postgres/catalog/pg_event_trigger.h | 9 +- .../postgres/catalog/pg_event_trigger_d.h | 2 +- parser/include/postgres/catalog/pg_index.h | 8 +- parser/include/postgres/catalog/pg_index_d.h | 2 +- parser/include/postgres/catalog/pg_language.h | 9 +- .../include/postgres/catalog/pg_language_d.h | 2 +- .../include/postgres/catalog/pg_namespace.h | 9 +- .../include/postgres/catalog/pg_namespace_d.h | 2 +- parser/include/postgres/catalog/pg_opclass.h | 9 +- .../include/postgres/catalog/pg_opclass_d.h | 2 +- parser/include/postgres/catalog/pg_operator.h | 23 +- .../include/postgres/catalog/pg_operator_d.h | 2 +- parser/include/postgres/catalog/pg_opfamily.h | 9 +- .../include/postgres/catalog/pg_opfamily_d.h | 2 +- .../postgres/catalog/pg_partitioned_table.h | 6 +- .../postgres/catalog/pg_partitioned_table_d.h | 2 +- parser/include/postgres/catalog/pg_proc.h | 9 +- parser/include/postgres/catalog/pg_proc_d.h | 2 +- .../include/postgres/catalog/pg_publication.h | 9 +- .../postgres/catalog/pg_publication_d.h | 2 +- .../postgres/catalog/pg_replication_origin.h | 9 +- .../catalog/pg_replication_origin_d.h | 2 +- .../include/postgres/catalog/pg_statistic.h | 14 +- .../include/postgres/catalog/pg_statistic_d.h | 10 +- .../postgres/catalog/pg_statistic_ext.h | 17 +- .../postgres/catalog/pg_statistic_ext_d.h | 6 +- .../include/postgres/catalog/pg_transform.h | 9 +- .../include/postgres/catalog/pg_transform_d.h | 2 +- parser/include/postgres/catalog/pg_trigger.h | 8 +- .../include/postgres/catalog/pg_trigger_d.h | 2 +- .../include/postgres/catalog/pg_ts_config.h | 9 +- .../include/postgres/catalog/pg_ts_config_d.h | 2 +- parser/include/postgres/catalog/pg_ts_dict.h | 9 +- .../include/postgres/catalog/pg_ts_dict_d.h | 2 +- .../include/postgres/catalog/pg_ts_parser.h | 9 +- .../include/postgres/catalog/pg_ts_parser_d.h | 2 +- .../include/postgres/catalog/pg_ts_template.h | 9 +- .../postgres/catalog/pg_ts_template_d.h | 2 +- parser/include/postgres/catalog/pg_type.h | 9 +- parser/include/postgres/catalog/pg_type_d.h | 2 +- parser/include/postgres/catalog/storage.h | 2 +- .../include/postgres/catalog/syscache_ids.h | 104 + parser/include/postgres/commands/async.h | 8 +- parser/include/postgres/commands/dbcommands.h | 2 +- parser/include/postgres/commands/defrem.h | 12 +- .../include/postgres/commands/event_trigger.h | 7 +- parser/include/postgres/commands/explain.h | 22 +- parser/include/postgres/commands/prepare.h | 2 +- parser/include/postgres/commands/tablespace.h | 2 +- parser/include/postgres/commands/trigger.h | 2 +- parser/include/postgres/commands/vacuum.h | 54 +- parser/include/postgres/common/cryptohash.h | 4 +- parser/include/postgres/common/file_perm.h | 2 +- parser/include/postgres/common/file_utils.h | 65 + parser/include/postgres/common/hashfn.h | 17 +- .../include/postgres/common/hashfn_unstable.h | 453 + parser/include/postgres/common/int.h | 83 +- parser/include/postgres/common/keywords.h | 2 +- parser/include/postgres/common/kwlookup.h | 2 +- parser/include/postgres/common/pg_prng.h | 3 +- parser/include/postgres/common/relpath.h | 8 +- parser/include/postgres/common/scram-common.h | 2 +- parser/include/postgres/common/sha2.h | 2 +- parser/include/postgres/common/string.h | 2 +- .../common/unicode_east_asian_fw_table.h | 5 +- parser/include/postgres/copyfuncs.funcs.c | 308 +- parser/include/postgres/copyfuncs.switch.c | 59 +- parser/include/postgres/datatype/timestamp.h | 30 +- parser/include/postgres/equalfuncs.funcs.c | 265 +- parser/include/postgres/equalfuncs.switch.c | 59 +- parser/include/postgres/executor/execdesc.h | 2 +- parser/include/postgres/executor/executor.h | 11 +- parser/include/postgres/executor/functions.h | 3 +- parser/include/postgres/executor/instrument.h | 8 +- parser/include/postgres/executor/spi.h | 10 +- parser/include/postgres/executor/tablefunc.h | 2 +- parser/include/postgres/executor/tuptable.h | 33 +- parser/include/postgres/fmgr.h | 4 +- parser/include/postgres/foreign/fdwapi.h | 2 +- parser/include/postgres/funcapi.h | 4 +- parser/include/postgres/gram.h | 1701 +- parser/include/postgres/gramparse.h | 2 +- parser/include/postgres/jit/jit.h | 7 +- parser/include/postgres/kwlist_d.h | 977 +- parser/include/postgres/lib/dshash.h | 35 +- parser/include/postgres/lib/ilist.h | 2 +- parser/include/postgres/lib/pairingheap.h | 2 +- parser/include/postgres/lib/simplehash.h | 58 +- parser/include/postgres/lib/sort_template.h | 15 +- parser/include/postgres/lib/stringinfo.h | 104 +- parser/include/postgres/libpq/auth.h | 2 +- parser/include/postgres/libpq/crypt.h | 4 +- parser/include/postgres/libpq/hba.h | 8 +- parser/include/postgres/libpq/libpq-be.h | 54 +- parser/include/postgres/libpq/libpq.h | 13 +- parser/include/postgres/libpq/pqcomm.h | 46 +- parser/include/postgres/libpq/pqformat.h | 5 +- parser/include/postgres/libpq/pqsignal.h | 2 +- parser/include/postgres/libpq/protocol.h | 89 + parser/include/postgres/libpq/sasl.h | 2 +- parser/include/postgres/libpq/scram.h | 2 +- parser/include/postgres/mb/pg_wchar.h | 184 +- parser/include/postgres/mb/stringinfo_mb.h | 2 +- parser/include/postgres/miscadmin.h | 116 +- parser/include/postgres/nodes/bitmapset.h | 20 +- parser/include/postgres/nodes/execnodes.h | 134 +- parser/include/postgres/nodes/extensible.h | 2 +- parser/include/postgres/nodes/lockoptions.h | 8 +- parser/include/postgres/nodes/makefuncs.h | 10 +- parser/include/postgres/nodes/memnodes.h | 47 +- parser/include/postgres/nodes/miscnodes.h | 2 +- parser/include/postgres/nodes/nodeFuncs.h | 2 +- parser/include/postgres/nodes/nodes.h | 71 +- parser/include/postgres/nodes/nodetags.h | 908 +- parser/include/postgres/nodes/params.h | 2 +- parser/include/postgres/nodes/parsenodes.h | 533 +- parser/include/postgres/nodes/pathnodes.h | 69 +- parser/include/postgres/nodes/pg_list.h | 73 +- parser/include/postgres/nodes/plannodes.h | 21 +- parser/include/postgres/nodes/primnodes.h | 394 +- parser/include/postgres/nodes/print.h | 2 +- parser/include/postgres/nodes/queryjumble.h | 4 +- parser/include/postgres/nodes/replnodes.h | 25 +- parser/include/postgres/nodes/supportnodes.h | 2 +- parser/include/postgres/nodes/tidbitmap.h | 2 +- parser/include/postgres/nodes/value.h | 2 +- parser/include/postgres/optimizer/cost.h | 9 +- parser/include/postgres/optimizer/geqo.h | 2 +- parser/include/postgres/optimizer/geqo_gene.h | 2 +- parser/include/postgres/optimizer/optimizer.h | 7 +- parser/include/postgres/optimizer/paths.h | 21 +- parser/include/postgres/optimizer/planmain.h | 8 +- parser/include/postgres/parser/analyze.h | 4 +- parser/include/postgres/parser/kwlist.h | 24 +- parser/include/postgres/parser/parse_agg.h | 2 +- parser/include/postgres/parser/parse_coerce.h | 4 +- parser/include/postgres/parser/parse_expr.h | 2 +- parser/include/postgres/parser/parse_func.h | 4 +- parser/include/postgres/parser/parse_node.h | 5 +- parser/include/postgres/parser/parse_oper.h | 5 +- .../include/postgres/parser/parse_relation.h | 2 +- parser/include/postgres/parser/parse_type.h | 4 +- parser/include/postgres/parser/parser.h | 6 +- parser/include/postgres/parser/parsetree.h | 2 +- parser/include/postgres/parser/scanner.h | 2 +- parser/include/postgres/parser/scansup.h | 2 +- .../include/postgres/partitioning/partdefs.h | 2 +- parser/include/postgres/pg_config.h | 68 +- parser/include/postgres/pg_config_manual.h | 29 +- parser/include/postgres/pg_getopt.h | 2 +- parser/include/postgres/pg_trace.h | 2 +- parser/include/postgres/pgstat.h | 24 +- parser/include/postgres/pgtime.h | 2 +- parser/include/postgres/pl_reserved_kwlist.h | 2 +- .../include/postgres/pl_reserved_kwlist_d.h | 2 +- .../include/postgres/pl_unreserved_kwlist.h | 2 +- .../include/postgres/pl_unreserved_kwlist_d.h | 2 +- parser/include/postgres/plerrcodes.h | 8 +- parser/include/postgres/plpgsql.h | 28 +- parser/include/postgres/port.h | 10 +- parser/include/postgres/port/atomics.h | 99 +- .../include/postgres/port/atomics/arch-arm.h | 2 +- .../include/postgres/port/atomics/arch-hppa.h | 2 +- .../include/postgres/port/atomics/arch-ppc.h | 4 +- .../include/postgres/port/atomics/arch-x86.h | 4 +- .../include/postgres/port/atomics/fallback.h | 2 +- .../postgres/port/atomics/generic-gcc.h | 39 +- .../postgres/port/atomics/generic-msvc.h | 20 +- .../postgres/port/atomics/generic-sunpro.h | 17 +- .../include/postgres/port/atomics/generic.h | 40 +- parser/include/postgres/port/pg_bitutils.h | 100 +- parser/include/postgres/port/pg_bswap.h | 2 +- parser/include/postgres/port/pg_crc32c.h | 11 +- parser/include/postgres/port/pg_iovec.h | 117 + parser/include/postgres/port/simd.h | 49 +- .../include/postgres/port/win32/sys/socket.h | 8 + parser/include/postgres/port/win32_port.h | 12 +- .../include/postgres/portability/instr_time.h | 2 +- parser/include/postgres/postgres.h | 2 +- .../include/postgres/postmaster/autovacuum.h | 21 +- parser/include/postgres/postmaster/bgworker.h | 14 +- .../postgres/postmaster/bgworker_internals.h | 10 +- parser/include/postgres/postmaster/bgwriter.h | 6 +- .../include/postgres/postmaster/interrupt.h | 2 +- parser/include/postgres/postmaster/pgarch.h | 4 +- .../include/postgres/postmaster/postmaster.h | 30 +- parser/include/postgres/postmaster/startup.h | 4 +- .../include/postgres/postmaster/syslogger.h | 6 +- .../postgres/postmaster/walsummarizer.h | 35 + .../include/postgres/postmaster/walwriter.h | 4 +- parser/include/postgres/regex/regex.h | 101 +- .../postgres/replication/logicallauncher.h | 2 +- .../postgres/replication/logicalproto.h | 4 +- .../postgres/replication/logicalworker.h | 3 +- parser/include/postgres/replication/origin.h | 2 +- .../postgres/replication/reorderbuffer.h | 46 +- parser/include/postgres/replication/slot.h | 46 +- .../include/postgres/replication/slotsync.h | 38 + parser/include/postgres/replication/syncrep.h | 2 +- .../postgres/replication/walreceiver.h | 48 +- .../include/postgres/replication/walsender.h | 8 +- parser/include/postgres/rewrite/prs2lock.h | 2 +- .../include/postgres/rewrite/rewriteHandler.h | 8 +- .../include/postgres/rewrite/rewriteManip.h | 4 +- .../include/postgres/rewrite/rewriteSupport.h | 2 +- parser/include/postgres/storage/backendid.h | 37 - parser/include/postgres/storage/block.h | 2 +- parser/include/postgres/storage/buf.h | 2 +- parser/include/postgres/storage/bufmgr.h | 100 +- parser/include/postgres/storage/bufpage.h | 2 +- .../postgres/storage/condition_variable.h | 2 +- parser/include/postgres/storage/dsm.h | 2 +- parser/include/postgres/storage/dsm_impl.h | 4 +- parser/include/postgres/storage/fd.h | 43 +- parser/include/postgres/storage/fileset.h | 2 +- parser/include/postgres/storage/ipc.h | 5 +- parser/include/postgres/storage/item.h | 2 +- parser/include/postgres/storage/itemid.h | 2 +- parser/include/postgres/storage/itemptr.h | 2 +- .../include/postgres/storage/large_object.h | 2 +- parser/include/postgres/storage/latch.h | 6 +- parser/include/postgres/storage/lmgr.h | 10 +- parser/include/postgres/storage/lock.h | 38 +- parser/include/postgres/storage/lockdefs.h | 2 +- parser/include/postgres/storage/lwlock.h | 26 +- parser/include/postgres/storage/lwlocknames.h | 17 +- parser/include/postgres/storage/off.h | 2 +- parser/include/postgres/storage/pg_sema.h | 2 +- parser/include/postgres/storage/pg_shmem.h | 9 +- parser/include/postgres/storage/pmsignal.h | 4 +- parser/include/postgres/storage/predicate.h | 6 +- parser/include/postgres/storage/proc.h | 71 +- parser/include/postgres/storage/procarray.h | 6 +- .../include/postgres/storage/proclist_types.h | 20 +- parser/include/postgres/storage/procnumber.h | 43 + parser/include/postgres/storage/procsignal.h | 14 +- parser/include/postgres/storage/read_stream.h | 65 + .../include/postgres/storage/relfilelocator.h | 31 +- parser/include/postgres/storage/s_lock.h | 34 +- .../include/postgres/storage/sharedfileset.h | 2 +- parser/include/postgres/storage/shm_mq.h | 4 +- parser/include/postgres/storage/shm_toc.h | 2 +- parser/include/postgres/storage/shmem.h | 2 +- parser/include/postgres/storage/sinval.h | 6 +- parser/include/postgres/storage/sinvaladt.h | 45 - parser/include/postgres/storage/smgr.h | 68 +- parser/include/postgres/storage/spin.h | 2 +- parser/include/postgres/storage/standby.h | 16 +- parser/include/postgres/storage/standbydefs.h | 4 +- parser/include/postgres/storage/sync.h | 8 +- parser/include/postgres/tcop/cmdtag.h | 3 +- parser/include/postgres/tcop/cmdtaglist.h | 5 +- .../include/postgres/tcop/deparse_utility.h | 4 +- parser/include/postgres/tcop/dest.h | 5 +- parser/include/postgres/tcop/fastpath.h | 2 +- parser/include/postgres/tcop/pquery.h | 2 +- parser/include/postgres/tcop/tcopprot.h | 14 +- parser/include/postgres/tcop/utility.h | 4 +- parser/include/postgres/tsearch/ts_cache.h | 2 +- parser/include/postgres/utils/acl.h | 26 +- .../include/postgres/utils/aclchk_internal.h | 2 +- parser/include/postgres/utils/array.h | 3 +- parser/include/postgres/utils/ascii.h | 84 + .../include/postgres/utils/backend_progress.h | 5 +- .../include/postgres/utils/backend_status.h | 18 +- parser/include/postgres/utils/builtins.h | 5 +- parser/include/postgres/utils/bytea.h | 4 +- parser/include/postgres/utils/catcache.h | 11 +- parser/include/postgres/utils/date.h | 2 +- parser/include/postgres/utils/datetime.h | 5 +- parser/include/postgres/utils/datum.h | 2 +- parser/include/postgres/utils/dsa.h | 49 +- parser/include/postgres/utils/elog.h | 11 +- parser/include/postgres/utils/errcodes.h | 4 +- parser/include/postgres/utils/expandeddatum.h | 2 +- .../include/postgres/utils/expandedrecord.h | 2 +- parser/include/postgres/utils/float.h | 2 +- parser/include/postgres/utils/fmgroids.h | 65 +- parser/include/postgres/utils/fmgrprotos.h | 61 +- parser/include/postgres/utils/fmgrtab.h | 2 +- parser/include/postgres/utils/guc.h | 26 +- parser/include/postgres/utils/guc_hooks.h | 25 +- parser/include/postgres/utils/guc_tables.h | 11 +- parser/include/postgres/utils/hsearch.h | 4 +- .../include/postgres/utils/injection_point.h | 44 + parser/include/postgres/utils/inval.h | 2 +- parser/include/postgres/utils/logtape.h | 10 +- parser/include/postgres/utils/lsyscache.h | 9 +- parser/include/postgres/utils/memdebug.h | 2 +- parser/include/postgres/utils/memutils.h | 17 +- .../postgres/utils/memutils_internal.h | 66 +- .../postgres/utils/memutils_memorychunk.h | 34 +- parser/include/postgres/utils/numeric.h | 7 +- parser/include/postgres/utils/palloc.h | 16 +- parser/include/postgres/utils/partcache.h | 2 +- parser/include/postgres/utils/pg_locale.h | 15 +- .../include/postgres/utils/pgstat_internal.h | 28 +- parser/include/postgres/utils/plancache.h | 8 +- parser/include/postgres/utils/portal.h | 18 +- .../include/postgres/utils/queryenvironment.h | 4 +- parser/include/postgres/utils/regproc.h | 2 +- parser/include/postgres/utils/rel.h | 29 +- parser/include/postgres/utils/relcache.h | 7 +- parser/include/postgres/utils/reltrigger.h | 2 +- parser/include/postgres/utils/resowner.h | 99 +- parser/include/postgres/utils/ruleutils.h | 2 +- .../include/postgres/utils/sharedtuplestore.h | 2 +- parser/include/postgres/utils/snapmgr.h | 53 +- parser/include/postgres/utils/snapshot.h | 4 +- parser/include/postgres/utils/sortsupport.h | 2 +- parser/include/postgres/utils/syscache.h | 100 +- parser/include/postgres/utils/timeout.h | 5 +- parser/include/postgres/utils/timestamp.h | 2 +- parser/include/postgres/utils/tuplesort.h | 45 +- parser/include/postgres/utils/tuplestore.h | 7 +- parser/include/postgres/utils/typcache.h | 3 +- parser/include/postgres/utils/varlena.h | 2 +- parser/include/postgres/utils/wait_event.h | 242 +- .../include/postgres/utils/wait_event_types.h | 218 + parser/include/postgres/utils/xml.h | 8 +- parser/include/postgres/varatt.h | 2 +- parser/include/protobuf/pg_query.pb-c.h | 2338 +- parser/include/protobuf/pg_query.pb.h | 104960 ++++++++------- parser/pg_query.pb-c.c | 10337 +- parser/pg_query_outfuncs_json.c | 4 +- parser/pg_query_parse_plpgsql.c | 25 +- parser/pg_query_readfuncs_protobuf.c | 4 +- parser/postgres_deparse.c | 430 +- parser/src_backend_catalog_namespace.c | 307 +- parser/src_backend_catalog_pg_proc.c | 4 +- parser/src_backend_commands_define.c | 5 +- parser/src_backend_nodes_bitmapset.c | 231 +- parser/src_backend_nodes_copyfuncs.c | 2 +- parser/src_backend_nodes_equalfuncs.c | 2 +- parser/src_backend_nodes_extensible.c | 2 +- parser/src_backend_nodes_list.c | 10 +- parser/src_backend_nodes_makefuncs.c | 79 +- parser/src_backend_nodes_nodeFuncs.c | 111 +- parser/src_backend_nodes_nodes.c | 38 - parser/src_backend_nodes_value.c | 2 +- parser/src_backend_parser_gram.c | 66625 ++++----- parser/src_backend_parser_parser.c | 16 +- parser/src_backend_parser_scan.c | 8665 +- parser/src_backend_parser_scansup.c | 3 +- parser/src_backend_storage_ipc_ipc.c | 2 +- parser/src_backend_tcop_postgres.c | 44 +- ...c_backend_utils_activity_pgstat_database.c | 4 +- parser/src_backend_utils_adt_datum.c | 14 +- parser/src_backend_utils_adt_expandeddatum.c | 2 +- parser/src_backend_utils_adt_format_type.c | 2 +- parser/src_backend_utils_adt_numutils.c | 9 +- parser/src_backend_utils_adt_ruleutils.c | 129 +- parser/src_backend_utils_error_assert.c | 2 +- parser/src_backend_utils_error_elog.c | 89 +- parser/src_backend_utils_fmgr_fmgr.c | 6 +- parser/src_backend_utils_init_globals.c | 18 +- parser/src_backend_utils_mb_mbutils.c | 29 +- parser/src_backend_utils_misc_guc_tables.c | 22 +- parser/src_backend_utils_mmgr_alignedalloc.c | 13 +- parser/src_backend_utils_mmgr_aset.c | 546 +- parser/src_backend_utils_mmgr_bump.c | 728 + parser/src_backend_utils_mmgr_generation.c | 470 +- parser/src_backend_utils_mmgr_mcxt.c | 485 +- parser/src_backend_utils_mmgr_slab.c | 250 +- parser/src_common_encnames.c | 87 +- parser/src_common_hashfn.c | 2 +- parser/src_common_keywords.c | 2 +- parser/src_common_kwlist_d.h | 977 +- parser/src_common_kwlookup.c | 2 +- parser/src_common_psprintf.c | 6 +- parser/src_common_stringinfo.c | 19 +- parser/src_common_wchar.c | 153 +- parser/src_pl_plpgsql_src_pl_comp.c | 104 +- parser/src_pl_plpgsql_src_pl_funcs.c | 2 +- parser/src_pl_plpgsql_src_pl_gram.c | 385 +- parser/src_pl_plpgsql_src_pl_handler.c | 2 +- .../src_pl_plpgsql_src_pl_reserved_kwlist_d.h | 2 +- parser/src_pl_plpgsql_src_pl_scanner.c | 20 +- ...rc_pl_plpgsql_src_pl_unreserved_kwlist_d.h | 2 +- parser/src_port_pg_bitutils.c | 201 +- parser/src_port_pgstrcasecmp.c | 30 +- parser/src_port_snprintf.c | 2 +- parser/src_port_strerror.c | 4 +- parser/src_port_strlcpy.c | 2 +- pg_query.go | 2 +- pg_query.pb.go | 34850 ++--- split_test.go | 2 +- testdata/fingerprint.json | 13 +- 478 files changed, 142137 insertions(+), 110597 deletions(-) create mode 100644 parser/include/postgres/access/brin_internal.h create mode 100644 parser/include/postgres/access/brin_tuple.h create mode 100644 parser/include/postgres/access/slru.h create mode 100644 parser/include/postgres/access/tidstore.h create mode 100644 parser/include/postgres/catalog/syscache_ids.h create mode 100644 parser/include/postgres/common/file_utils.h create mode 100644 parser/include/postgres/common/hashfn_unstable.h create mode 100644 parser/include/postgres/libpq/protocol.h create mode 100644 parser/include/postgres/port/pg_iovec.h create mode 100644 parser/include/postgres/postmaster/walsummarizer.h create mode 100644 parser/include/postgres/replication/slotsync.h delete mode 100644 parser/include/postgres/storage/backendid.h create mode 100644 parser/include/postgres/storage/procnumber.h create mode 100644 parser/include/postgres/storage/read_stream.h delete mode 100644 parser/include/postgres/storage/sinvaladt.h create mode 100644 parser/include/postgres/utils/ascii.h create mode 100644 parser/include/postgres/utils/injection_point.h create mode 100644 parser/include/postgres/utils/wait_event_types.h delete mode 100644 parser/src_backend_nodes_nodes.c create mode 100644 parser/src_backend_utils_mmgr_bump.c diff --git a/CHANGELOG.md b/CHANGELOG.md index bbd4e962..7f0f89b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ * ... +## 6.0.0 2024-11-26 + +* Upgrade to libpg_query 17-6.0.0 + - Updates to the Postgres 17 parser + - Deparser improvements: + - Add support for deparsing `JSON_TABLE`, `JSON_QUERY`, `JSON_EXISTS`, `JSON_VALUE` + - Add support for deparsing `JSON`, `JSON_SCALAR`, `JSON_SERIALIZE` + - Add support for deparsing `COPY ... FORCE_NULL(*)` + - Add support for deparsing `ALTER COLUMN ... SET EXPRESSION AS` + - Add support for deparsing `SET STATISTICS DEFAULT` + - Add support for deparsing `SET ACCESS METHOD DEFAULT` + - Add support for deparsing `... AT LOCAL` + - Add support for deparsing `merge_action()` + - Add support for deparsing `MERGE ... RETURNING` + - Add support for deparsing `NOT MATCHED [ BY TARGET ]` +* Add function `TestNormalizeUtility` to normalize only utility statements [(#116)](https://github.com/pganalyze/pg_query_go/pull/116) ## 5.1.0 2024-01-09 diff --git a/Makefile b/Makefile index 5ffdee51..a2b1912a 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ benchmark: # --- Below only needed for releasing new versions -LIB_PG_QUERY_TAG = 43bad3cbcd1a70a30494b64f464c3f60579884ed +LIB_PG_QUERY_TAG = 17-6.0.0 root_dir := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) LIB_TMPDIR = $(root_dir)/tmp diff --git a/README.md b/README.md index 7f55bdf7..f92738dd 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# pg_query_go [![GoDoc](https://godoc.org/github.com/pganalyze/pg_query_go/v5?status.svg)](https://godoc.org/github.com/pganalyze/pg_query_go/v5) +# pg_query_go [![GoDoc](https://godoc.org/github.com/pganalyze/pg_query_go/v6?status.svg)](https://godoc.org/github.com/pganalyze/pg_query_go/v6) Go version of https://github.com/pganalyze/pg_query @@ -10,7 +10,7 @@ You can find further background to why a query's parse tree is useful here: http ## Installation ``` -go get github.com/pganalyze/pg_query_go/v5@latest +go get github.com/pganalyze/pg_query_go/v6@latest ``` Due to compiling parts of PostgreSQL, the first time you build against this library it will take a bit longer. @@ -44,7 +44,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -72,7 +72,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -98,7 +98,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -135,7 +135,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -173,27 +173,28 @@ go build -a go test -test.bench=. -test.run=XXX -test.benchtime 10s -test.benchmem -test.cpu=4 goos: darwin goarch: arm64 -pkg: github.com/pganalyze/pg_query_go/v5 -BenchmarkParseSelect1-4 2945772 4234 ns/op 1104 B/op 20 allocs/op -BenchmarkParseSelect2-4 798510 14618 ns/op 2896 B/op 59 allocs/op -BenchmarkParseCreateTable-4 340454 33893 ns/op 8544 B/op 151 allocs/op -BenchmarkParseSelect1Parallel-4 9166213 1332 ns/op 1104 B/op 20 allocs/op -BenchmarkParseSelect2Parallel-4 2795493 4329 ns/op 2896 B/op 59 allocs/op -BenchmarkParseCreateTableParallel-4 1000000 10325 ns/op 8544 B/op 151 allocs/op -BenchmarkRawParseSelect1-4 3775879 3186 ns/op 192 B/op 5 allocs/op -BenchmarkRawParseSelect2-4 1000000 10708 ns/op 352 B/op 5 allocs/op -BenchmarkRawParseCreateTable-4 466368 25662 ns/op 1120 B/op 5 allocs/op -BenchmarkRawParseSelect1Parallel-4 13386709 894.4 ns/op 192 B/op 5 allocs/op -BenchmarkRawParseSelect2Parallel-4 4188447 2871 ns/op 352 B/op 5 allocs/op -BenchmarkRawParseCreateTableParallel-4 1758555 6809 ns/op 1120 B/op 5 allocs/op -BenchmarkFingerprintSelect1-4 6139764 1970 ns/op 112 B/op 4 allocs/op -BenchmarkFingerprintSelect2-4 2813995 4264 ns/op 112 B/op 4 allocs/op -BenchmarkFingerprintCreateTable-4 1668691 7194 ns/op 112 B/op 4 allocs/op -BenchmarkNormalizeSelect1-4 10068253 1189 ns/op 72 B/op 4 allocs/op -BenchmarkNormalizeSelect2-4 6039188 1981 ns/op 104 B/op 4 allocs/op -BenchmarkNormalizeCreateTable-4 4560278 2636 ns/op 184 B/op 4 allocs/op +pkg: github.com/pganalyze/pg_query_go/v6 +BenchmarkParseSelect1-4 2874156 4186 ns/op 1040 B/op 18 allocs/op +BenchmarkParseSelect2-4 824781 14572 ns/op 2832 B/op 57 allocs/op +BenchmarkParseCreateTable-4 351037 34591 ns/op 8480 B/op 149 allocs/op +BenchmarkParseSelect1Parallel-4 9027080 1320 ns/op 1040 B/op 18 allocs/op +BenchmarkParseSelect2Parallel-4 2745390 4369 ns/op 2832 B/op 57 allocs/op +BenchmarkParseCreateTableParallel-4 1000000 10487 ns/op 8480 B/op 149 allocs/op +BenchmarkRawParseSelect1-4 3778771 3183 ns/op 128 B/op 3 allocs/op +BenchmarkRawParseSelect2-4 1000000 10985 ns/op 288 B/op 3 allocs/op +BenchmarkRawParseCreateTable-4 460714 26397 ns/op 1056 B/op 3 allocs/op +BenchmarkRawParseSelect1Parallel-4 13338790 902.7 ns/op 128 B/op 3 allocs/op +BenchmarkRawParseSelect2Parallel-4 4060762 2956 ns/op 288 B/op 3 allocs/op +BenchmarkRawParseCreateTableParallel-4 1709883 7001 ns/op 1056 B/op 3 allocs/op +BenchmarkFingerprintSelect1-4 6394882 1875 ns/op 48 B/op 2 allocs/op +BenchmarkFingerprintSelect2-4 2865390 4174 ns/op 48 B/op 2 allocs/op +BenchmarkFingerprintCreateTable-4 1688920 7143 ns/op 48 B/op 2 allocs/op +BenchmarkNormalizeSelect1-4 10604962 1133 ns/op 32 B/op 2 allocs/op +BenchmarkNormalizeSelect2-4 6226136 1938 ns/op 64 B/op 2 allocs/op +BenchmarkNormalizeCreateTable-4 4542387 2635 ns/op 144 B/op 2 allocs/op PASS -ok github.com/pganalyze/pg_query_go/v5 257.324s +ok github.com/pganalyze/pg_query_go/v6 258.376s + ``` Note that allocation counts exclude the cgo portion, so they are higher than shown here. diff --git a/benchmark_test.go b/benchmark_test.go index 3fce505a..b8ce6a5d 100644 --- a/benchmark_test.go +++ b/benchmark_test.go @@ -6,8 +6,8 @@ package pg_query_test import ( "testing" - pg_query "github.com/pganalyze/pg_query_go/v5" - "github.com/pganalyze/pg_query_go/v5/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" ) // Prevent compiler optimizations by assigning all results to global variables diff --git a/fingerprint_test.go b/fingerprint_test.go index 7fe21383..c90f1337 100644 --- a/fingerprint_test.go +++ b/fingerprint_test.go @@ -10,7 +10,7 @@ import ( "strconv" "testing" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) type fingerprintTest struct { diff --git a/go.mod b/go.mod index 972d882b..e3e5d43b 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/pganalyze/pg_query_go/v5 +module github.com/pganalyze/pg_query_go/v6 go 1.14 diff --git a/normalize_test.go b/normalize_test.go index 9de758c2..d62af5dd 100644 --- a/normalize_test.go +++ b/normalize_test.go @@ -7,8 +7,8 @@ import ( "reflect" "testing" - pg_query "github.com/pganalyze/pg_query_go/v5" - "github.com/pganalyze/pg_query_go/v5/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" ) var normalizeTests = []struct { diff --git a/parse_test.go b/parse_test.go index f998f976..4e628951 100644 --- a/parse_test.go +++ b/parse_test.go @@ -10,8 +10,8 @@ import ( "testing" "github.com/google/go-cmp/cmp" - pg_query "github.com/pganalyze/pg_query_go/v5" - "github.com/pganalyze/pg_query_go/v5/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" "google.golang.org/protobuf/testing/protocmp" ) @@ -22,9 +22,9 @@ var parseTests = []struct { }{ { "SELECT 1", - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -47,9 +47,9 @@ var parseTests = []struct { }, { "SELECT * FROM x WHERE z = 1", - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"z"}}],"location":22}},"rexpr":{"A_Const":{"ival":{"ival":1},"location":26}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"z"}}],"location":22}},"rexpr":{"A_Const":{"ival":{"ival":1},"location":26}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -98,9 +98,9 @@ var parseTests = []struct { }, { `INSERT INTO "schema_index_stats" ("snapshot_id","schema_index_id","size_bytes") VALUES (11710849,8448632,16384),(11710849,8448633,16384) RETURNING id`, - `{"version":160001,"stmts":[{"stmt":{"InsertStmt":{"relation":{"relname":"schema_index_stats","inh":true,"relpersistence":"p","location":12},"cols":[{"ResTarget":{"name":"snapshot_id","location":34}},{"ResTarget":{"name":"schema_index_id","location":48}},{"ResTarget":{"name":"size_bytes","location":66}}],"selectStmt":{"SelectStmt":{"valuesLists":[{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":88}},{"A_Const":{"ival":{"ival":8448632},"location":97}},{"A_Const":{"ival":{"ival":16384},"location":105}}]}},{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":113}},{"A_Const":{"ival":{"ival":8448633},"location":122}},{"A_Const":{"ival":{"ival":16384},"location":130}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"returningList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"String":{"sval":"id"}}],"location":147}},"location":147}}],"override":"OVERRIDING_NOT_SET"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"InsertStmt":{"relation":{"relname":"schema_index_stats","inh":true,"relpersistence":"p","location":12},"cols":[{"ResTarget":{"name":"snapshot_id","location":34}},{"ResTarget":{"name":"schema_index_id","location":48}},{"ResTarget":{"name":"size_bytes","location":66}}],"selectStmt":{"SelectStmt":{"valuesLists":[{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":88}},{"A_Const":{"ival":{"ival":8448632},"location":97}},{"A_Const":{"ival":{"ival":16384},"location":105}}]}},{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":113}},{"A_Const":{"ival":{"ival":8448633},"location":122}},{"A_Const":{"ival":{"ival":16384},"location":130}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"returningList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"String":{"sval":"id"}}],"location":147}},"location":147}}],"override":"OVERRIDING_NOT_SET"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -153,9 +153,9 @@ var parseTests = []struct { }, { "SELECT * FROM x WHERE y IN ($1)", - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"y"}}],"location":22}},"rexpr":{"List":{"items":[{"ParamRef":{"number":1,"location":28}}]}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"y"}}],"location":22}},"rexpr":{"List":{"items":[{"ParamRef":{"number":1,"location":28}}]}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -217,9 +217,9 @@ var parseTests = []struct { AND n.nspname !~ '^pg_toast' AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2;`, - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"name":"Schema","val":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":7}},"location":7}},{"ResTarget":{"name":"Name","val":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relname"}}],"location":36}},"location":36}},{"ResTarget":{"name":"Type","val":{"CaseExpr":{"arg":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":68}},"args":[{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"r"},"location":83}},"result":{"A_Const":{"sval":{"sval":"table"},"location":92}},"location":78}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"v"},"location":105}},"result":{"A_Const":{"sval":{"sval":"view"},"location":114}},"location":100}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"m"},"location":126}},"result":{"A_Const":{"sval":{"sval":"materialized view"},"location":135}},"location":121}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"i"},"location":160}},"result":{"A_Const":{"sval":{"sval":"index"},"location":169}},"location":155}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"S"},"location":182}},"result":{"A_Const":{"sval":{"sval":"sequence"},"location":191}},"location":177}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"s"},"location":207}},"result":{"A_Const":{"sval":{"sval":"special"},"location":216}},"location":202}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"f"},"location":231}},"result":{"A_Const":{"sval":{"sval":"foreign table"},"location":240}},"location":226}}],"location":63}},"location":63}},{"ResTarget":{"name":"Owner","val":{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_get_userbyid"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relowner"}}],"location":304}}],"funcformat":"COERCE_EXPLICIT_CALL","location":277}},"location":277}}],"fromClause":[{"JoinExpr":{"jointype":"JOIN_LEFT","larg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_class","inh":true,"relpersistence":"p","alias":{"aliasname":"c"},"location":336}},"rarg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_namespace","inh":true,"relpersistence":"p","alias":{"aliasname":"n"},"location":374}},"quals":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"oid"}}],"location":403}},"rexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relnamespace"}}],"location":411}},"location":409}}}}],"whereClause":{"BoolExpr":{"boolop":"AND_EXPR","args":[{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":435}},"rexpr":{"List":{"items":[{"A_Const":{"sval":{"sval":"r"},"location":449}},{"A_Const":{"sval":{"sval":""},"location":453}}]}},"location":445}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":467}},"rexpr":{"A_Const":{"sval":{"sval":"pg_catalog"},"location":480}},"location":477}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":503}},"rexpr":{"A_Const":{"sval":{"sval":"information_schema"},"location":516}},"location":513}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"!~"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":547}},"rexpr":{"A_Const":{"sval":{"sval":"^pg_toast"},"location":560}},"location":557}},{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_table_is_visible"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"oid"}}],"location":613}}],"funcformat":"COERCE_EXPLICIT_CALL","location":582}}],"location":463}},"sortClause":[{"SortBy":{"node":{"A_Const":{"ival":{"ival":1},"location":632}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}},{"SortBy":{"node":{"A_Const":{"ival":{"ival":2},"location":634}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"stmt_len":635}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"name":"Schema","val":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":7}},"location":7}},{"ResTarget":{"name":"Name","val":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relname"}}],"location":36}},"location":36}},{"ResTarget":{"name":"Type","val":{"CaseExpr":{"arg":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":68}},"args":[{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"r"},"location":83}},"result":{"A_Const":{"sval":{"sval":"table"},"location":92}},"location":78}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"v"},"location":105}},"result":{"A_Const":{"sval":{"sval":"view"},"location":114}},"location":100}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"m"},"location":126}},"result":{"A_Const":{"sval":{"sval":"materialized view"},"location":135}},"location":121}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"i"},"location":160}},"result":{"A_Const":{"sval":{"sval":"index"},"location":169}},"location":155}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"S"},"location":182}},"result":{"A_Const":{"sval":{"sval":"sequence"},"location":191}},"location":177}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"s"},"location":207}},"result":{"A_Const":{"sval":{"sval":"special"},"location":216}},"location":202}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"f"},"location":231}},"result":{"A_Const":{"sval":{"sval":"foreign table"},"location":240}},"location":226}}],"location":63}},"location":63}},{"ResTarget":{"name":"Owner","val":{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_get_userbyid"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relowner"}}],"location":304}}],"funcformat":"COERCE_EXPLICIT_CALL","location":277}},"location":277}}],"fromClause":[{"JoinExpr":{"jointype":"JOIN_LEFT","larg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_class","inh":true,"relpersistence":"p","alias":{"aliasname":"c"},"location":336}},"rarg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_namespace","inh":true,"relpersistence":"p","alias":{"aliasname":"n"},"location":374}},"quals":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"oid"}}],"location":403}},"rexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relnamespace"}}],"location":411}},"location":409}}}}],"whereClause":{"BoolExpr":{"boolop":"AND_EXPR","args":[{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":435}},"rexpr":{"List":{"items":[{"A_Const":{"sval":{"sval":"r"},"location":449}},{"A_Const":{"sval":{"sval":""},"location":453}}]}},"location":445}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":467}},"rexpr":{"A_Const":{"sval":{"sval":"pg_catalog"},"location":480}},"location":477}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":503}},"rexpr":{"A_Const":{"sval":{"sval":"information_schema"},"location":516}},"location":513}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"!~"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":547}},"rexpr":{"A_Const":{"sval":{"sval":"^pg_toast"},"location":560}},"location":557}},{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_table_is_visible"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"oid"}}],"location":613}}],"funcformat":"COERCE_EXPLICIT_CALL","location":582}}],"location":463}},"sortClause":[{"SortBy":{"node":{"A_Const":{"ival":{"ival":1},"location":632}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}},{"SortBy":{"node":{"A_Const":{"ival":{"ival":2},"location":634}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"stmt_len":635}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -399,9 +399,9 @@ var parseTests = []struct { PERFORM 'dummy'; END; $$;`, - `{"version":160001,"stmts":[{"stmt":{"CreateFunctionStmt":{"funcname":[{"String":{"sval":"change_trigger_v2"}}],"returnType":{"names":[{"String":{"sval":"trigger"}}],"typemod":-1,"location":44},"options":[{"DefElem":{"defname":"language","arg":{"String":{"sval":"plpgsql"}},"defaction":"DEFELEM_UNSPEC","location":53}},{"DefElem":{"defname":"as","arg":{"List":{"items":[{"String":{"sval":"\n\t\tDECLARE\n\t\tBEGIN\n\t\t\tPERFORM 'dummy';\n\t\tEND;\n\t\t"}}]}},"defaction":"DEFELEM_UNSPEC","location":71}}]}},"stmt_len":126}]}`, + `{"version":170000,"stmts":[{"stmt":{"CreateFunctionStmt":{"funcname":[{"String":{"sval":"change_trigger_v2"}}],"returnType":{"names":[{"String":{"sval":"trigger"}}],"typemod":-1,"location":44},"options":[{"DefElem":{"defname":"language","arg":{"String":{"sval":"plpgsql"}},"defaction":"DEFELEM_UNSPEC","location":53}},{"DefElem":{"defname":"as","arg":{"List":{"items":[{"String":{"sval":"\n\t\tDECLARE\n\t\tBEGIN\n\t\t\tPERFORM 'dummy';\n\t\tEND;\n\t\t"}}]}},"defaction":"DEFELEM_UNSPEC","location":71}}]}},"stmt_len":126}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -442,9 +442,9 @@ var parseTests = []struct { id SERIAL PRIMARY KEY, user_id integer DEFAULT 0 NOT NULL, created_at timestamp without time zone NOT NULL);`, - `{"version":160001,"stmts":[{"stmt":{"CreateStmt":{"relation":{"relname":"test","inh":true,"relpersistence":"p","location":13},"tableElts":[{"ColumnDef":{"colname":"id","typeName":{"names":[{"String":{"sval":"serial"}}],"typemod":-1,"location":27},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_PRIMARY","location":34}}],"location":24}},{"ColumnDef":{"colname":"user_id","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"int4"}}],"typemod":-1,"location":59},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_DEFAULT","location":67,"raw_expr":{"A_Const":{"ival":{},"location":75}}}},{"Constraint":{"contype":"CONSTR_NOTNULL","location":77}}],"location":51}},{"ColumnDef":{"colname":"created_at","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"timestamp"}}],"typemod":-1,"location":102},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_NOTNULL","location":130}}],"location":91}}],"oncommit":"ONCOMMIT_NOOP"}},"stmt_len":139}]}`, + `{"version":170000,"stmts":[{"stmt":{"CreateStmt":{"relation":{"relname":"test","inh":true,"relpersistence":"p","location":13},"tableElts":[{"ColumnDef":{"colname":"id","typeName":{"names":[{"String":{"sval":"serial"}}],"typemod":-1,"location":27},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_PRIMARY","location":34}}],"location":24}},{"ColumnDef":{"colname":"user_id","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"int4"}}],"typemod":-1,"location":59},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_DEFAULT","raw_expr":{"A_Const":{"ival":{},"location":75}},"location":67}},{"Constraint":{"contype":"CONSTR_NOTNULL","location":77}}],"location":51}},{"ColumnDef":{"colname":"created_at","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"timestamp"}}],"typemod":-1,"location":102},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_NOTNULL","location":130}}],"location":91}}],"oncommit":"ONCOMMIT_NOOP"}},"stmt_len":139}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -509,9 +509,9 @@ var parseTests = []struct { }, { `SELECT * FROM a(1)`, - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeFunction":{"functions":[{"List":{"items":[{"FuncCall":{"funcname":[{"String":{"sval":"a"}}],"args":[{"A_Const":{"ival":{"ival":1},"location":16}}],"funcformat":"COERCE_EXPLICIT_CALL","location":14}},{}]}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeFunction":{"functions":[{"List":{"items":[{"FuncCall":{"funcname":[{"String":{"sval":"a"}}],"args":[{"A_Const":{"ival":{"ival":1},"location":16}}],"funcformat":"COERCE_EXPLICIT_CALL","location":14}},{}]}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -552,9 +552,9 @@ var parseTests = []struct { { // Test for null-byte related crashes string([]byte{'S', 'E', 'L', 'E', 'C', 'T', ' ', '1', '\x00'}), - `{"version":160001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170000,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(160001), + Version: int32(170000), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -680,7 +680,7 @@ var parsePlPgSQLTests = []struct { `END;` + `$$ LANGUAGE plpgsql;`, `[ -{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"v_name","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"v_version","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":1,"body":[{"PLpgSQL_stmt_if":{"lineno":1,"cond":{"PLpgSQL_expr":{"query":"v_version IS NULL","parseMode":2}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name","parseMode":2}}}}]}},{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name || '/' || v_version","parseMode":2}}}}]}}}} +{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"v_name","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"varchar\""}}}},{"PLpgSQL_var":{"refname":"v_version","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"varchar\""}}}},{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"boolean\""}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":1,"body":[{"PLpgSQL_stmt_if":{"lineno":1,"cond":{"PLpgSQL_expr":{"query":"v_version IS NULL","parseMode":2}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name","parseMode":2}}}}]}},{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name || '/' || v_version","parseMode":2}}}}]}}}} ]`, }, } diff --git a/parser/include/pg_query.h b/parser/include/pg_query.h index 7f34c41b..c859fff8 100644 --- a/parser/include/pg_query.h +++ b/parser/include/pg_query.h @@ -132,9 +132,9 @@ void pg_query_free_fingerprint_result(PgQueryFingerprintResult result); void pg_query_exit(void); // Postgres version information -#define PG_MAJORVERSION "16" -#define PG_VERSION "16.1" -#define PG_VERSION_NUM 160001 +#define PG_MAJORVERSION "17" +#define PG_VERSION "17.0" +#define PG_VERSION_NUM 170000 // Deprecated APIs below diff --git a/parser/include/pg_query_enum_defs.c b/parser/include/pg_query_enum_defs.c index 378ca9df..dbc8c56a 100644 --- a/parser/include/pg_query_enum_defs.c +++ b/parser/include/pg_query_enum_defs.c @@ -1,16 +1,5 @@ // This file is autogenerated by ./scripts/generate_protobuf_and_funcs.rb -static const char* -_enumToStringOverridingKind(OverridingKind value) { - switch(value) { - case OVERRIDING_NOT_SET: return "OVERRIDING_NOT_SET"; - case OVERRIDING_USER_VALUE: return "OVERRIDING_USER_VALUE"; - case OVERRIDING_SYSTEM_VALUE: return "OVERRIDING_SYSTEM_VALUE"; - } - Assert(false); - return NULL; -} - static const char* _enumToStringQuerySource(QuerySource value) { switch(value) { @@ -200,6 +189,30 @@ _enumToStringCTEMaterialize(CTEMaterialize value) { return NULL; } +static const char* +_enumToStringJsonQuotes(JsonQuotes value) { + switch(value) { + case JS_QUOTES_UNSPEC: return "JS_QUOTES_UNSPEC"; + case JS_QUOTES_KEEP: return "JS_QUOTES_KEEP"; + case JS_QUOTES_OMIT: return "JS_QUOTES_OMIT"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonTableColumnType(JsonTableColumnType value) { + switch(value) { + case JTC_FOR_ORDINALITY: return "JTC_FOR_ORDINALITY"; + case JTC_REGULAR: return "JTC_REGULAR"; + case JTC_EXISTS: return "JTC_EXISTS"; + case JTC_FORMATTED: return "JTC_FORMATTED"; + case JTC_NESTED: return "JTC_NESTED"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringSetOperation(SetOperation value) { switch(value) { @@ -291,6 +304,7 @@ _enumToStringAlterTableType(AlterTableType value) { case AT_CookedColumnDefault: return "AT_CookedColumnDefault"; case AT_DropNotNull: return "AT_DropNotNull"; case AT_SetNotNull: return "AT_SetNotNull"; + case AT_SetExpression: return "AT_SetExpression"; case AT_DropExpression: return "AT_DropExpression"; case AT_CheckNotNull: return "AT_CheckNotNull"; case AT_SetStatistics: return "AT_SetStatistics"; @@ -557,6 +571,17 @@ _enumToStringAlterSubscriptionType(AlterSubscriptionType value) { return NULL; } +static const char* +_enumToStringOverridingKind(OverridingKind value) { + switch(value) { + case OVERRIDING_NOT_SET: return "OVERRIDING_NOT_SET"; + case OVERRIDING_USER_VALUE: return "OVERRIDING_USER_VALUE"; + case OVERRIDING_SYSTEM_VALUE: return "OVERRIDING_SYSTEM_VALUE"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringOnCommitAction(OnCommitAction value) { switch(value) { @@ -569,6 +594,16 @@ _enumToStringOnCommitAction(OnCommitAction value) { return NULL; } +static const char* +_enumToStringTableFuncType(TableFuncType value) { + switch(value) { + case TFT_XMLTABLE: return "TFT_XMLTABLE"; + case TFT_JSON_TABLE: return "TFT_JSON_TABLE"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringParamKind(ParamKind value) { switch(value) { @@ -735,6 +770,9 @@ _enumToStringJsonConstructorType(JsonConstructorType value) { case JSCTOR_JSON_ARRAY: return "JSCTOR_JSON_ARRAY"; case JSCTOR_JSON_OBJECTAGG: return "JSCTOR_JSON_OBJECTAGG"; case JSCTOR_JSON_ARRAYAGG: return "JSCTOR_JSON_ARRAYAGG"; + case JSCTOR_JSON_PARSE: return "JSCTOR_JSON_PARSE"; + case JSCTOR_JSON_SCALAR: return "JSCTOR_JSON_SCALAR"; + case JSCTOR_JSON_SERIALIZE: return "JSCTOR_JSON_SERIALIZE"; } Assert(false); return NULL; @@ -752,6 +790,47 @@ _enumToStringJsonValueType(JsonValueType value) { return NULL; } +static const char* +_enumToStringJsonWrapper(JsonWrapper value) { + switch(value) { + case JSW_UNSPEC: return "JSW_UNSPEC"; + case JSW_NONE: return "JSW_NONE"; + case JSW_CONDITIONAL: return "JSW_CONDITIONAL"; + case JSW_UNCONDITIONAL: return "JSW_UNCONDITIONAL"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonBehaviorType(JsonBehaviorType value) { + switch(value) { + case JSON_BEHAVIOR_NULL: return "JSON_BEHAVIOR_NULL"; + case JSON_BEHAVIOR_ERROR: return "JSON_BEHAVIOR_ERROR"; + case JSON_BEHAVIOR_EMPTY: return "JSON_BEHAVIOR_EMPTY"; + case JSON_BEHAVIOR_TRUE: return "JSON_BEHAVIOR_TRUE"; + case JSON_BEHAVIOR_FALSE: return "JSON_BEHAVIOR_FALSE"; + case JSON_BEHAVIOR_UNKNOWN: return "JSON_BEHAVIOR_UNKNOWN"; + case JSON_BEHAVIOR_EMPTY_ARRAY: return "JSON_BEHAVIOR_EMPTY_ARRAY"; + case JSON_BEHAVIOR_EMPTY_OBJECT: return "JSON_BEHAVIOR_EMPTY_OBJECT"; + case JSON_BEHAVIOR_DEFAULT: return "JSON_BEHAVIOR_DEFAULT"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonExprOp(JsonExprOp value) { + switch(value) { + case JSON_EXISTS_OP: return "JSON_EXISTS_OP"; + case JSON_QUERY_OP: return "JSON_QUERY_OP"; + case JSON_VALUE_OP: return "JSON_VALUE_OP"; + case JSON_TABLE_OP: return "JSON_TABLE_OP"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringNullTestType(NullTestType value) { switch(value) { @@ -776,6 +855,17 @@ _enumToStringBoolTestType(BoolTestType value) { return NULL; } +static const char* +_enumToStringMergeMatchKind(MergeMatchKind value) { + switch(value) { + case MERGE_WHEN_MATCHED: return "MERGE_WHEN_MATCHED"; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: return "MERGE_WHEN_NOT_MATCHED_BY_SOURCE"; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: return "MERGE_WHEN_NOT_MATCHED_BY_TARGET"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringCmdType(CmdType value) { switch(value) { @@ -911,17 +1001,6 @@ _enumToStringLockTupleMode(LockTupleMode value) { Assert(false); return NULL; }static int -_enumToIntOverridingKind(OverridingKind value) { - switch(value) { - case OVERRIDING_NOT_SET: return 1; - case OVERRIDING_USER_VALUE: return 2; - case OVERRIDING_SYSTEM_VALUE: return 3; - } - Assert(false); - return -1; -} - -static int _enumToIntQuerySource(QuerySource value) { switch(value) { case QSRC_ORIGINAL: return 1; @@ -1110,6 +1189,30 @@ _enumToIntCTEMaterialize(CTEMaterialize value) { return -1; } +static int +_enumToIntJsonQuotes(JsonQuotes value) { + switch(value) { + case JS_QUOTES_UNSPEC: return 1; + case JS_QUOTES_KEEP: return 2; + case JS_QUOTES_OMIT: return 3; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonTableColumnType(JsonTableColumnType value) { + switch(value) { + case JTC_FOR_ORDINALITY: return 1; + case JTC_REGULAR: return 2; + case JTC_EXISTS: return 3; + case JTC_FORMATTED: return 4; + case JTC_NESTED: return 5; + } + Assert(false); + return -1; +} + static int _enumToIntSetOperation(SetOperation value) { switch(value) { @@ -1201,66 +1304,67 @@ _enumToIntAlterTableType(AlterTableType value) { case AT_CookedColumnDefault: return 4; case AT_DropNotNull: return 5; case AT_SetNotNull: return 6; - case AT_DropExpression: return 7; - case AT_CheckNotNull: return 8; - case AT_SetStatistics: return 9; - case AT_SetOptions: return 10; - case AT_ResetOptions: return 11; - case AT_SetStorage: return 12; - case AT_SetCompression: return 13; - case AT_DropColumn: return 14; - case AT_AddIndex: return 15; - case AT_ReAddIndex: return 16; - case AT_AddConstraint: return 17; - case AT_ReAddConstraint: return 18; - case AT_ReAddDomainConstraint: return 19; - case AT_AlterConstraint: return 20; - case AT_ValidateConstraint: return 21; - case AT_AddIndexConstraint: return 22; - case AT_DropConstraint: return 23; - case AT_ReAddComment: return 24; - case AT_AlterColumnType: return 25; - case AT_AlterColumnGenericOptions: return 26; - case AT_ChangeOwner: return 27; - case AT_ClusterOn: return 28; - case AT_DropCluster: return 29; - case AT_SetLogged: return 30; - case AT_SetUnLogged: return 31; - case AT_DropOids: return 32; - case AT_SetAccessMethod: return 33; - case AT_SetTableSpace: return 34; - case AT_SetRelOptions: return 35; - case AT_ResetRelOptions: return 36; - case AT_ReplaceRelOptions: return 37; - case AT_EnableTrig: return 38; - case AT_EnableAlwaysTrig: return 39; - case AT_EnableReplicaTrig: return 40; - case AT_DisableTrig: return 41; - case AT_EnableTrigAll: return 42; - case AT_DisableTrigAll: return 43; - case AT_EnableTrigUser: return 44; - case AT_DisableTrigUser: return 45; - case AT_EnableRule: return 46; - case AT_EnableAlwaysRule: return 47; - case AT_EnableReplicaRule: return 48; - case AT_DisableRule: return 49; - case AT_AddInherit: return 50; - case AT_DropInherit: return 51; - case AT_AddOf: return 52; - case AT_DropOf: return 53; - case AT_ReplicaIdentity: return 54; - case AT_EnableRowSecurity: return 55; - case AT_DisableRowSecurity: return 56; - case AT_ForceRowSecurity: return 57; - case AT_NoForceRowSecurity: return 58; - case AT_GenericOptions: return 59; - case AT_AttachPartition: return 60; - case AT_DetachPartition: return 61; - case AT_DetachPartitionFinalize: return 62; - case AT_AddIdentity: return 63; - case AT_SetIdentity: return 64; - case AT_DropIdentity: return 65; - case AT_ReAddStatistics: return 66; + case AT_SetExpression: return 7; + case AT_DropExpression: return 8; + case AT_CheckNotNull: return 9; + case AT_SetStatistics: return 10; + case AT_SetOptions: return 11; + case AT_ResetOptions: return 12; + case AT_SetStorage: return 13; + case AT_SetCompression: return 14; + case AT_DropColumn: return 15; + case AT_AddIndex: return 16; + case AT_ReAddIndex: return 17; + case AT_AddConstraint: return 18; + case AT_ReAddConstraint: return 19; + case AT_ReAddDomainConstraint: return 20; + case AT_AlterConstraint: return 21; + case AT_ValidateConstraint: return 22; + case AT_AddIndexConstraint: return 23; + case AT_DropConstraint: return 24; + case AT_ReAddComment: return 25; + case AT_AlterColumnType: return 26; + case AT_AlterColumnGenericOptions: return 27; + case AT_ChangeOwner: return 28; + case AT_ClusterOn: return 29; + case AT_DropCluster: return 30; + case AT_SetLogged: return 31; + case AT_SetUnLogged: return 32; + case AT_DropOids: return 33; + case AT_SetAccessMethod: return 34; + case AT_SetTableSpace: return 35; + case AT_SetRelOptions: return 36; + case AT_ResetRelOptions: return 37; + case AT_ReplaceRelOptions: return 38; + case AT_EnableTrig: return 39; + case AT_EnableAlwaysTrig: return 40; + case AT_EnableReplicaTrig: return 41; + case AT_DisableTrig: return 42; + case AT_EnableTrigAll: return 43; + case AT_DisableTrigAll: return 44; + case AT_EnableTrigUser: return 45; + case AT_DisableTrigUser: return 46; + case AT_EnableRule: return 47; + case AT_EnableAlwaysRule: return 48; + case AT_EnableReplicaRule: return 49; + case AT_DisableRule: return 50; + case AT_AddInherit: return 51; + case AT_DropInherit: return 52; + case AT_AddOf: return 53; + case AT_DropOf: return 54; + case AT_ReplicaIdentity: return 55; + case AT_EnableRowSecurity: return 56; + case AT_DisableRowSecurity: return 57; + case AT_ForceRowSecurity: return 58; + case AT_NoForceRowSecurity: return 59; + case AT_GenericOptions: return 60; + case AT_AttachPartition: return 61; + case AT_DetachPartition: return 62; + case AT_DetachPartitionFinalize: return 63; + case AT_AddIdentity: return 64; + case AT_SetIdentity: return 65; + case AT_DropIdentity: return 66; + case AT_ReAddStatistics: return 67; } Assert(false); return -1; @@ -1467,6 +1571,17 @@ _enumToIntAlterSubscriptionType(AlterSubscriptionType value) { return -1; } +static int +_enumToIntOverridingKind(OverridingKind value) { + switch(value) { + case OVERRIDING_NOT_SET: return 1; + case OVERRIDING_USER_VALUE: return 2; + case OVERRIDING_SYSTEM_VALUE: return 3; + } + Assert(false); + return -1; +} + static int _enumToIntOnCommitAction(OnCommitAction value) { switch(value) { @@ -1479,6 +1594,16 @@ _enumToIntOnCommitAction(OnCommitAction value) { return -1; } +static int +_enumToIntTableFuncType(TableFuncType value) { + switch(value) { + case TFT_XMLTABLE: return 1; + case TFT_JSON_TABLE: return 2; + } + Assert(false); + return -1; +} + static int _enumToIntParamKind(ParamKind value) { switch(value) { @@ -1645,6 +1770,9 @@ _enumToIntJsonConstructorType(JsonConstructorType value) { case JSCTOR_JSON_ARRAY: return 2; case JSCTOR_JSON_OBJECTAGG: return 3; case JSCTOR_JSON_ARRAYAGG: return 4; + case JSCTOR_JSON_PARSE: return 5; + case JSCTOR_JSON_SCALAR: return 6; + case JSCTOR_JSON_SERIALIZE: return 7; } Assert(false); return -1; @@ -1662,6 +1790,47 @@ _enumToIntJsonValueType(JsonValueType value) { return -1; } +static int +_enumToIntJsonWrapper(JsonWrapper value) { + switch(value) { + case JSW_UNSPEC: return 1; + case JSW_NONE: return 2; + case JSW_CONDITIONAL: return 3; + case JSW_UNCONDITIONAL: return 4; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonBehaviorType(JsonBehaviorType value) { + switch(value) { + case JSON_BEHAVIOR_NULL: return 1; + case JSON_BEHAVIOR_ERROR: return 2; + case JSON_BEHAVIOR_EMPTY: return 3; + case JSON_BEHAVIOR_TRUE: return 4; + case JSON_BEHAVIOR_FALSE: return 5; + case JSON_BEHAVIOR_UNKNOWN: return 6; + case JSON_BEHAVIOR_EMPTY_ARRAY: return 7; + case JSON_BEHAVIOR_EMPTY_OBJECT: return 8; + case JSON_BEHAVIOR_DEFAULT: return 9; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonExprOp(JsonExprOp value) { + switch(value) { + case JSON_EXISTS_OP: return 1; + case JSON_QUERY_OP: return 2; + case JSON_VALUE_OP: return 3; + case JSON_TABLE_OP: return 4; + } + Assert(false); + return -1; +} + static int _enumToIntNullTestType(NullTestType value) { switch(value) { @@ -1686,6 +1855,17 @@ _enumToIntBoolTestType(BoolTestType value) { return -1; } +static int +_enumToIntMergeMatchKind(MergeMatchKind value) { + switch(value) { + case MERGE_WHEN_MATCHED: return 1; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: return 2; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: return 3; + } + Assert(false); + return -1; +} + static int _enumToIntCmdType(CmdType value) { switch(value) { @@ -1820,18 +2000,7 @@ _enumToIntLockTupleMode(LockTupleMode value) { } Assert(false); return -1; -}static OverridingKind -_intToEnumOverridingKind(int value) { - switch(value) { - case 1: return OVERRIDING_NOT_SET; - case 2: return OVERRIDING_USER_VALUE; - case 3: return OVERRIDING_SYSTEM_VALUE; - } - Assert(false); - return OVERRIDING_NOT_SET; -} - -static QuerySource +}static QuerySource _intToEnumQuerySource(int value) { switch(value) { case 1: return QSRC_ORIGINAL; @@ -2020,6 +2189,30 @@ _intToEnumCTEMaterialize(int value) { return CTEMaterializeDefault; } +static JsonQuotes +_intToEnumJsonQuotes(int value) { + switch(value) { + case 1: return JS_QUOTES_UNSPEC; + case 2: return JS_QUOTES_KEEP; + case 3: return JS_QUOTES_OMIT; + } + Assert(false); + return JS_QUOTES_UNSPEC; +} + +static JsonTableColumnType +_intToEnumJsonTableColumnType(int value) { + switch(value) { + case 1: return JTC_FOR_ORDINALITY; + case 2: return JTC_REGULAR; + case 3: return JTC_EXISTS; + case 4: return JTC_FORMATTED; + case 5: return JTC_NESTED; + } + Assert(false); + return JTC_FOR_ORDINALITY; +} + static SetOperation _intToEnumSetOperation(int value) { switch(value) { @@ -2111,66 +2304,67 @@ _intToEnumAlterTableType(int value) { case 4: return AT_CookedColumnDefault; case 5: return AT_DropNotNull; case 6: return AT_SetNotNull; - case 7: return AT_DropExpression; - case 8: return AT_CheckNotNull; - case 9: return AT_SetStatistics; - case 10: return AT_SetOptions; - case 11: return AT_ResetOptions; - case 12: return AT_SetStorage; - case 13: return AT_SetCompression; - case 14: return AT_DropColumn; - case 15: return AT_AddIndex; - case 16: return AT_ReAddIndex; - case 17: return AT_AddConstraint; - case 18: return AT_ReAddConstraint; - case 19: return AT_ReAddDomainConstraint; - case 20: return AT_AlterConstraint; - case 21: return AT_ValidateConstraint; - case 22: return AT_AddIndexConstraint; - case 23: return AT_DropConstraint; - case 24: return AT_ReAddComment; - case 25: return AT_AlterColumnType; - case 26: return AT_AlterColumnGenericOptions; - case 27: return AT_ChangeOwner; - case 28: return AT_ClusterOn; - case 29: return AT_DropCluster; - case 30: return AT_SetLogged; - case 31: return AT_SetUnLogged; - case 32: return AT_DropOids; - case 33: return AT_SetAccessMethod; - case 34: return AT_SetTableSpace; - case 35: return AT_SetRelOptions; - case 36: return AT_ResetRelOptions; - case 37: return AT_ReplaceRelOptions; - case 38: return AT_EnableTrig; - case 39: return AT_EnableAlwaysTrig; - case 40: return AT_EnableReplicaTrig; - case 41: return AT_DisableTrig; - case 42: return AT_EnableTrigAll; - case 43: return AT_DisableTrigAll; - case 44: return AT_EnableTrigUser; - case 45: return AT_DisableTrigUser; - case 46: return AT_EnableRule; - case 47: return AT_EnableAlwaysRule; - case 48: return AT_EnableReplicaRule; - case 49: return AT_DisableRule; - case 50: return AT_AddInherit; - case 51: return AT_DropInherit; - case 52: return AT_AddOf; - case 53: return AT_DropOf; - case 54: return AT_ReplicaIdentity; - case 55: return AT_EnableRowSecurity; - case 56: return AT_DisableRowSecurity; - case 57: return AT_ForceRowSecurity; - case 58: return AT_NoForceRowSecurity; - case 59: return AT_GenericOptions; - case 60: return AT_AttachPartition; - case 61: return AT_DetachPartition; - case 62: return AT_DetachPartitionFinalize; - case 63: return AT_AddIdentity; - case 64: return AT_SetIdentity; - case 65: return AT_DropIdentity; - case 66: return AT_ReAddStatistics; + case 7: return AT_SetExpression; + case 8: return AT_DropExpression; + case 9: return AT_CheckNotNull; + case 10: return AT_SetStatistics; + case 11: return AT_SetOptions; + case 12: return AT_ResetOptions; + case 13: return AT_SetStorage; + case 14: return AT_SetCompression; + case 15: return AT_DropColumn; + case 16: return AT_AddIndex; + case 17: return AT_ReAddIndex; + case 18: return AT_AddConstraint; + case 19: return AT_ReAddConstraint; + case 20: return AT_ReAddDomainConstraint; + case 21: return AT_AlterConstraint; + case 22: return AT_ValidateConstraint; + case 23: return AT_AddIndexConstraint; + case 24: return AT_DropConstraint; + case 25: return AT_ReAddComment; + case 26: return AT_AlterColumnType; + case 27: return AT_AlterColumnGenericOptions; + case 28: return AT_ChangeOwner; + case 29: return AT_ClusterOn; + case 30: return AT_DropCluster; + case 31: return AT_SetLogged; + case 32: return AT_SetUnLogged; + case 33: return AT_DropOids; + case 34: return AT_SetAccessMethod; + case 35: return AT_SetTableSpace; + case 36: return AT_SetRelOptions; + case 37: return AT_ResetRelOptions; + case 38: return AT_ReplaceRelOptions; + case 39: return AT_EnableTrig; + case 40: return AT_EnableAlwaysTrig; + case 41: return AT_EnableReplicaTrig; + case 42: return AT_DisableTrig; + case 43: return AT_EnableTrigAll; + case 44: return AT_DisableTrigAll; + case 45: return AT_EnableTrigUser; + case 46: return AT_DisableTrigUser; + case 47: return AT_EnableRule; + case 48: return AT_EnableAlwaysRule; + case 49: return AT_EnableReplicaRule; + case 50: return AT_DisableRule; + case 51: return AT_AddInherit; + case 52: return AT_DropInherit; + case 53: return AT_AddOf; + case 54: return AT_DropOf; + case 55: return AT_ReplicaIdentity; + case 56: return AT_EnableRowSecurity; + case 57: return AT_DisableRowSecurity; + case 58: return AT_ForceRowSecurity; + case 59: return AT_NoForceRowSecurity; + case 60: return AT_GenericOptions; + case 61: return AT_AttachPartition; + case 62: return AT_DetachPartition; + case 63: return AT_DetachPartitionFinalize; + case 64: return AT_AddIdentity; + case 65: return AT_SetIdentity; + case 66: return AT_DropIdentity; + case 67: return AT_ReAddStatistics; } Assert(false); return AT_AddColumn; @@ -2377,6 +2571,17 @@ _intToEnumAlterSubscriptionType(int value) { return ALTER_SUBSCRIPTION_OPTIONS; } +static OverridingKind +_intToEnumOverridingKind(int value) { + switch(value) { + case 1: return OVERRIDING_NOT_SET; + case 2: return OVERRIDING_USER_VALUE; + case 3: return OVERRIDING_SYSTEM_VALUE; + } + Assert(false); + return OVERRIDING_NOT_SET; +} + static OnCommitAction _intToEnumOnCommitAction(int value) { switch(value) { @@ -2389,6 +2594,16 @@ _intToEnumOnCommitAction(int value) { return ONCOMMIT_NOOP; } +static TableFuncType +_intToEnumTableFuncType(int value) { + switch(value) { + case 1: return TFT_XMLTABLE; + case 2: return TFT_JSON_TABLE; + } + Assert(false); + return TFT_XMLTABLE; +} + static ParamKind _intToEnumParamKind(int value) { switch(value) { @@ -2555,6 +2770,9 @@ _intToEnumJsonConstructorType(int value) { case 2: return JSCTOR_JSON_ARRAY; case 3: return JSCTOR_JSON_OBJECTAGG; case 4: return JSCTOR_JSON_ARRAYAGG; + case 5: return JSCTOR_JSON_PARSE; + case 6: return JSCTOR_JSON_SCALAR; + case 7: return JSCTOR_JSON_SERIALIZE; } Assert(false); return JSCTOR_JSON_OBJECT; @@ -2572,6 +2790,47 @@ _intToEnumJsonValueType(int value) { return JS_TYPE_ANY; } +static JsonWrapper +_intToEnumJsonWrapper(int value) { + switch(value) { + case 1: return JSW_UNSPEC; + case 2: return JSW_NONE; + case 3: return JSW_CONDITIONAL; + case 4: return JSW_UNCONDITIONAL; + } + Assert(false); + return JSW_UNSPEC; +} + +static JsonBehaviorType +_intToEnumJsonBehaviorType(int value) { + switch(value) { + case 1: return JSON_BEHAVIOR_NULL; + case 2: return JSON_BEHAVIOR_ERROR; + case 3: return JSON_BEHAVIOR_EMPTY; + case 4: return JSON_BEHAVIOR_TRUE; + case 5: return JSON_BEHAVIOR_FALSE; + case 6: return JSON_BEHAVIOR_UNKNOWN; + case 7: return JSON_BEHAVIOR_EMPTY_ARRAY; + case 8: return JSON_BEHAVIOR_EMPTY_OBJECT; + case 9: return JSON_BEHAVIOR_DEFAULT; + } + Assert(false); + return JSON_BEHAVIOR_NULL; +} + +static JsonExprOp +_intToEnumJsonExprOp(int value) { + switch(value) { + case 1: return JSON_EXISTS_OP; + case 2: return JSON_QUERY_OP; + case 3: return JSON_VALUE_OP; + case 4: return JSON_TABLE_OP; + } + Assert(false); + return JSON_EXISTS_OP; +} + static NullTestType _intToEnumNullTestType(int value) { switch(value) { @@ -2596,6 +2855,17 @@ _intToEnumBoolTestType(int value) { return IS_TRUE; } +static MergeMatchKind +_intToEnumMergeMatchKind(int value) { + switch(value) { + case 1: return MERGE_WHEN_MATCHED; + case 2: return MERGE_WHEN_NOT_MATCHED_BY_SOURCE; + case 3: return MERGE_WHEN_NOT_MATCHED_BY_TARGET; + } + Assert(false); + return MERGE_WHEN_MATCHED; +} + static CmdType _intToEnumCmdType(int value) { switch(value) { diff --git a/parser/include/pg_query_fingerprint_conds.c b/parser/include/pg_query_fingerprint_conds.c index 278d50ab..7448982b 100644 --- a/parser/include/pg_query_fingerprint_conds.c +++ b/parser/include/pg_query_fingerprint_conds.c @@ -37,6 +37,14 @@ case T_WindowFunc: _fingerprintString(ctx, "WindowFunc"); _fingerprintWindowFunc(ctx, obj, parent, field_name, depth); break; +case T_WindowFuncRunCondition: + _fingerprintString(ctx, "WindowFuncRunCondition"); + _fingerprintWindowFuncRunCondition(ctx, obj, parent, field_name, depth); + break; +case T_MergeSupportFunc: + _fingerprintString(ctx, "MergeSupportFunc"); + _fingerprintMergeSupportFunc(ctx, obj, parent, field_name, depth); + break; case T_SubscriptingRef: _fingerprintString(ctx, "SubscriptingRef"); _fingerprintSubscriptingRef(ctx, obj, parent, field_name, depth); @@ -161,6 +169,26 @@ case T_JsonIsPredicate: _fingerprintString(ctx, "JsonIsPredicate"); _fingerprintJsonIsPredicate(ctx, obj, parent, field_name, depth); break; +case T_JsonBehavior: + _fingerprintString(ctx, "JsonBehavior"); + _fingerprintJsonBehavior(ctx, obj, parent, field_name, depth); + break; +case T_JsonExpr: + _fingerprintString(ctx, "JsonExpr"); + _fingerprintJsonExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonTablePath: + _fingerprintString(ctx, "JsonTablePath"); + _fingerprintJsonTablePath(ctx, obj, parent, field_name, depth); + break; +case T_JsonTablePathScan: + _fingerprintString(ctx, "JsonTablePathScan"); + _fingerprintJsonTablePathScan(ctx, obj, parent, field_name, depth); + break; +case T_JsonTableSiblingJoin: + _fingerprintString(ctx, "JsonTableSiblingJoin"); + _fingerprintJsonTableSiblingJoin(ctx, obj, parent, field_name, depth); + break; case T_NullTest: _fingerprintString(ctx, "NullTest"); _fingerprintNullTest(ctx, obj, parent, field_name, depth); @@ -169,6 +197,10 @@ case T_BooleanTest: _fingerprintString(ctx, "BooleanTest"); _fingerprintBooleanTest(ctx, obj, parent, field_name, depth); break; +case T_MergeAction: + _fingerprintString(ctx, "MergeAction"); + _fingerprintMergeAction(ctx, obj, parent, field_name, depth); + break; case T_CoerceToDomain: _fingerprintString(ctx, "CoerceToDomain"); _fingerprintCoerceToDomain(ctx, obj, parent, field_name, depth); @@ -342,6 +374,10 @@ case T_PartitionRangeDatum: _fingerprintString(ctx, "PartitionRangeDatum"); _fingerprintPartitionRangeDatum(ctx, obj, parent, field_name, depth); break; +case T_SinglePartitionSpec: + _fingerprintString(ctx, "SinglePartitionSpec"); + _fingerprintSinglePartitionSpec(ctx, obj, parent, field_name, depth); + break; case T_PartitionCmd: _fingerprintString(ctx, "PartitionCmd"); _fingerprintPartitionCmd(ctx, obj, parent, field_name, depth); @@ -410,10 +446,6 @@ case T_MergeWhenClause: _fingerprintString(ctx, "MergeWhenClause"); _fingerprintMergeWhenClause(ctx, obj, parent, field_name, depth); break; -case T_MergeAction: - _fingerprintString(ctx, "MergeAction"); - _fingerprintMergeAction(ctx, obj, parent, field_name, depth); - break; case T_TriggerTransition: _fingerprintString(ctx, "TriggerTransition"); _fingerprintTriggerTransition(ctx, obj, parent, field_name, depth); @@ -422,10 +454,42 @@ case T_JsonOutput: _fingerprintString(ctx, "JsonOutput"); _fingerprintJsonOutput(ctx, obj, parent, field_name, depth); break; +case T_JsonArgument: + _fingerprintString(ctx, "JsonArgument"); + _fingerprintJsonArgument(ctx, obj, parent, field_name, depth); + break; +case T_JsonFuncExpr: + _fingerprintString(ctx, "JsonFuncExpr"); + _fingerprintJsonFuncExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonTablePathSpec: + _fingerprintString(ctx, "JsonTablePathSpec"); + _fingerprintJsonTablePathSpec(ctx, obj, parent, field_name, depth); + break; +case T_JsonTable: + _fingerprintString(ctx, "JsonTable"); + _fingerprintJsonTable(ctx, obj, parent, field_name, depth); + break; +case T_JsonTableColumn: + _fingerprintString(ctx, "JsonTableColumn"); + _fingerprintJsonTableColumn(ctx, obj, parent, field_name, depth); + break; case T_JsonKeyValue: _fingerprintString(ctx, "JsonKeyValue"); _fingerprintJsonKeyValue(ctx, obj, parent, field_name, depth); break; +case T_JsonParseExpr: + _fingerprintString(ctx, "JsonParseExpr"); + _fingerprintJsonParseExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonScalarExpr: + _fingerprintString(ctx, "JsonScalarExpr"); + _fingerprintJsonScalarExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonSerializeExpr: + _fingerprintString(ctx, "JsonSerializeExpr"); + _fingerprintJsonSerializeExpr(ctx, obj, parent, field_name, depth); + break; case T_JsonObjectConstructor: _fingerprintString(ctx, "JsonObjectConstructor"); _fingerprintJsonObjectConstructor(ctx, obj, parent, field_name, depth); diff --git a/parser/include/pg_query_fingerprint_defs.c b/parser/include/pg_query_fingerprint_defs.c index 77b0155e..622a54db 100644 --- a/parser/include/pg_query_fingerprint_defs.c +++ b/parser/include/pg_query_fingerprint_defs.c @@ -8,6 +8,8 @@ static void _fingerprintParam(FingerprintContext *ctx, const Param *node, const static void _fingerprintAggref(FingerprintContext *ctx, const Aggref *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintGroupingFunc(FingerprintContext *ctx, const GroupingFunc *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWindowFuncRunCondition(FingerprintContext *ctx, const WindowFuncRunCondition *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMergeSupportFunc(FingerprintContext *ctx, const MergeSupportFunc *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSubscriptingRef(FingerprintContext *ctx, const SubscriptingRef *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintFuncExpr(FingerprintContext *ctx, const FuncExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintNamedArgExpr(FingerprintContext *ctx, const NamedArgExpr *node, const void *parent, const char *field_name, unsigned int depth); @@ -39,8 +41,14 @@ static void _fingerprintJsonReturning(FingerprintContext *ctx, const JsonReturni static void _fingerprintJsonValueExpr(FingerprintContext *ctx, const JsonValueExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonConstructorExpr(FingerprintContext *ctx, const JsonConstructorExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonIsPredicate(FingerprintContext *ctx, const JsonIsPredicate *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonBehavior(FingerprintContext *ctx, const JsonBehavior *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonExpr(FingerprintContext *ctx, const JsonExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePath(FingerprintContext *ctx, const JsonTablePath *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePathScan(FingerprintContext *ctx, const JsonTablePathScan *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTableSiblingJoin(FingerprintContext *ctx, const JsonTableSiblingJoin *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth); @@ -84,6 +92,7 @@ static void _fingerprintPartitionElem(FingerprintContext *ctx, const PartitionEl static void _fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSinglePartitionSpec(FingerprintContext *ctx, const SinglePartitionSpec *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintRTEPermissionInfo(FingerprintContext *ctx, const RTEPermissionInfo *node, const void *parent, const char *field_name, unsigned int depth); @@ -101,10 +110,17 @@ static void _fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearch static void _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonArgument(FingerprintContext *ctx, const JsonArgument *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonFuncExpr(FingerprintContext *ctx, const JsonFuncExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePathSpec(FingerprintContext *ctx, const JsonTablePathSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTable(FingerprintContext *ctx, const JsonTable *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTableColumn(FingerprintContext *ctx, const JsonTableColumn *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonParseExpr(FingerprintContext *ctx, const JsonParseExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonScalarExpr(FingerprintContext *ctx, const JsonScalarExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonSerializeExpr(FingerprintContext *ctx, const JsonSerializeExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonObjectConstructor(FingerprintContext *ctx, const JsonObjectConstructor *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonArrayConstructor(FingerprintContext *ctx, const JsonArrayConstructor *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintJsonArrayQueryConstructor(FingerprintContext *ctx, const JsonArrayQueryConstructor *node, const void *parent, const char *field_name, unsigned int depth); @@ -412,6 +428,22 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void } XXH3_freeState(prev); } + if (node->colvalexprs != NULL && node->colvalexprs->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "colvalexprs"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->colvalexprs, node, "colvalexprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colvalexprs) == 1 && linitial(node->colvalexprs) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } if (node->docexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -429,6 +461,11 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "functype"); + _fingerprintString(ctx, _enumToStringTableFuncType(node->functype)); + } + // Intentionally ignoring node->location for fingerprinting if (true) { @@ -485,6 +522,39 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void _fingerprintString(ctx, buffer); } + if (node->passingvalexprs != NULL && node->passingvalexprs->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passingvalexprs"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passingvalexprs, node, "passingvalexprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passingvalexprs) == 1 && linitial(node->passingvalexprs) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->plan != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "plan"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->plan, node, "plan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rowexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -1009,6 +1079,22 @@ _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const vo // Intentionally ignoring node->location for fingerprinting + if (node->runCondition != NULL && node->runCondition->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "runCondition"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->runCondition, node, "runCondition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->runCondition) == 1 && linitial(node->runCondition) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } if (node->winagg) { _fingerprintString(ctx, "winagg"); _fingerprintString(ctx, "true"); @@ -1049,6 +1135,68 @@ _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const vo } +static void +_fingerprintWindowFuncRunCondition(FingerprintContext *ctx, const WindowFuncRunCondition *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->inputcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inputcollid); + _fingerprintString(ctx, "inputcollid"); + _fingerprintString(ctx, buffer); + } + + if (node->opno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->opno); + _fingerprintString(ctx, "opno"); + _fingerprintString(ctx, buffer); + } + + if (node->wfunc_left) { + _fingerprintString(ctx, "wfunc_left"); + _fingerprintString(ctx, "true"); + } + +} + +static void +_fingerprintMergeSupportFunc(FingerprintContext *ctx, const MergeSupportFunc *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting + + if (node->msfcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->msfcollid); + _fingerprintString(ctx, "msfcollid"); + _fingerprintString(ctx, buffer); + } + + if (node->msftype != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->msftype); + _fingerprintString(ctx, "msftype"); + _fingerprintString(ctx, buffer); + } + +} + static void _fingerprintSubscriptingRef(FingerprintContext *ctx, const SubscriptingRef *node, const void *parent, const char *field_name, unsigned int depth) { @@ -2743,17 +2891,27 @@ _fingerprintJsonIsPredicate(FingerprintContext *ctx, const JsonIsPredicate *node } static void -_fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonBehavior(FingerprintContext *ctx, const JsonBehavior *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (true) { + _fingerprintString(ctx, "btype"); + _fingerprintString(ctx, _enumToStringJsonBehaviorType(node->btype)); + } + + if (node->coerce) { + _fingerprintString(ctx, "coerce"); + _fingerprintString(ctx, "true"); + } + + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2762,32 +2920,34 @@ _fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void * XXH3_freeState(prev); } - if (node->argisrow) { - _fingerprintString(ctx, "argisrow"); - _fingerprintString(ctx, "true"); - } - // Intentionally ignoring node->location for fingerprinting - if (true) { - _fingerprintString(ctx, "nulltesttype"); - _fingerprintString(ctx, _enumToStringNullTestType(node->nulltesttype)); - } - } static void -_fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonExpr(FingerprintContext *ctx, const JsonExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->collation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->collation); + _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, buffer); + } + + if (node->column_name != NULL) { + _fingerprintString(ctx, "column_name"); + _fingerprintString(ctx, node->column_name); + } + + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2796,27 +2956,39 @@ _fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "booltesttype"); - _fingerprintString(ctx, _enumToStringBoolTestType(node->booltesttype)); + if (node->formatted_expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "formatted_expr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->formatted_expr, node, "formatted_expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } // Intentionally ignoring node->location for fingerprinting -} + if (node->omit_quotes) { + _fingerprintString(ctx, "omit_quotes"); + _fingerprintString(ctx, "true"); + } -static void -_fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { + if (node->on_empty != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "on_empty"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2825,125 +2997,69 @@ _fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "coercionformat"); - _fingerprintString(ctx, _enumToStringCoercionForm(node->coercionformat)); - } + if (node->on_error != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - // Intentionally ignoring node->location for fingerprinting + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "on_error"); - if (node->resultcollid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resultcollid); - _fingerprintString(ctx, "resultcollid"); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->resulttype != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resulttype); - _fingerprintString(ctx, "resulttype"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringJsonExprOp(node->op)); } - if (node->resulttypmod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resulttypmod); - _fingerprintString(ctx, "resulttypmod"); - _fingerprintString(ctx, buffer); - } + if (node->passing_names != NULL && node->passing_names->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passing_names"); -static void -_fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->collation); - _fingerprintString(ctx, "collation"); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passing_names, node, "passing_names", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing_names) == 1 && linitial(node->passing_names) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } + if (node->passing_values != NULL && node->passing_values->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - // Intentionally ignoring node->location for fingerprinting - - if (node->typeId != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeId); - _fingerprintString(ctx, "typeId"); - _fingerprintString(ctx, buffer); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passing_values"); - if (node->typeMod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeMod); - _fingerprintString(ctx, "typeMod"); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passing_values, node, "passing_values", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing_values) == 1 && linitial(node->passing_values) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } + if (node->path_spec != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} - -static void -_fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring all fields for fingerprinting -} - -static void -_fingerprintCurrentOfExpr(FingerprintContext *ctx, const CurrentOfExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cursor_name != NULL) { - _fingerprintString(ctx, "cursor_name"); - _fingerprintString(ctx, node->cursor_name); - } - - if (node->cursor_param != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cursor_param); - _fingerprintString(ctx, "cursor_param"); - _fingerprintString(ctx, buffer); - } - - if (node->cvarno != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cvarno); - _fingerprintString(ctx, "cvarno"); - _fingerprintString(ctx, buffer); - } - -} - -static void -_fingerprintNextValueExpr(FingerprintContext *ctx, const NextValueExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->seqid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->seqid); - _fingerprintString(ctx, "seqid"); - _fingerprintString(ctx, buffer); - } - - if (node->typeId != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeId); - _fingerprintString(ctx, "typeId"); - _fingerprintString(ctx, buffer); - } - -} - -static void -_fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->expr != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "path_spec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + _fingerprintNode(ctx, node->path_spec, node, "path_spec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2952,34 +3068,15 @@ _fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, co XXH3_freeState(prev); } - if (node->infercollid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->infercollid); - _fingerprintString(ctx, "infercollid"); - _fingerprintString(ctx, buffer); - } - - if (node->inferopclass != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->inferopclass); - _fingerprintString(ctx, "inferopclass"); - _fingerprintString(ctx, buffer); - } - -} - -static void -_fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->expr != NULL) { + if (node->returning != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "returning"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2988,70 +3085,47 @@ _fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const XXH3_freeState(prev); } - if (node->resjunk) { - _fingerprintString(ctx, "resjunk"); + if (node->use_io_coercion) { + _fingerprintString(ctx, "use_io_coercion"); _fingerprintString(ctx, "true"); } - if (node->resname != NULL) { - _fingerprintString(ctx, "resname"); - _fingerprintString(ctx, node->resname); - } - - if (node->resno != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resno); - _fingerprintString(ctx, "resno"); - _fingerprintString(ctx, buffer); - } - - if (node->resorigcol != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resorigcol); - _fingerprintString(ctx, "resorigcol"); - _fingerprintString(ctx, buffer); - } - - if (node->resorigtbl != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resorigtbl); - _fingerprintString(ctx, "resorigtbl"); - _fingerprintString(ctx, buffer); + if (node->use_json_coercion) { + _fingerprintString(ctx, "use_json_coercion"); + _fingerprintString(ctx, "true"); } - if (node->ressortgroupref != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ressortgroupref); - _fingerprintString(ctx, "ressortgroupref"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); } } static void -_fingerprintRangeTblRef(FingerprintContext *ctx, const RangeTblRef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTablePath(FingerprintContext *ctx, const JsonTablePath *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->rtindex != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rtindex); - _fingerprintString(ctx, "rtindex"); - _fingerprintString(ctx, buffer); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } + // Intentionally ignoring node->value for fingerprinting + } static void -_fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTablePathScan(FingerprintContext *ctx, const JsonTablePathScan *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->child != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "child"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintNode(ctx, (Node*)node->child, node, "child", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3060,20 +3134,34 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->isNatural) { - _fingerprintString(ctx, "isNatural"); + if (node->colMax != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->colMax); + _fingerprintString(ctx, "colMax"); + _fingerprintString(ctx, buffer); + } + + if (node->colMin != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->colMin); + _fingerprintString(ctx, "colMin"); + _fingerprintString(ctx, buffer); + } + + if (node->errorOnError) { + _fingerprintString(ctx, "errorOnError"); _fingerprintString(ctx, "true"); } - if (node->join_using_alias != NULL) { + if (node->path != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "join_using_alias"); + _fingerprintString(ctx, "path"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + _fingerprintJsonTablePath(ctx, node->path, node, "path", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3083,19 +3171,14 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * } if (true) { - _fingerprintString(ctx, "jointype"); - _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); - } - - if (node->larg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "larg"); + _fingerprintString(ctx, "plan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); + _fingerprintNode(ctx, (Node*)&node->plan, node, "plan", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3104,15 +3187,20 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->quals != NULL) { +} + +static void +_fingerprintJsonTableSiblingJoin(FingerprintContext *ctx, const JsonTableSiblingJoin *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->lplan != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "quals"); + _fingerprintString(ctx, "lplan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + _fingerprintNode(ctx, (Node*)node->lplan, node, "lplan", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3121,15 +3209,15 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->rarg != NULL) { + if (true) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rarg"); + _fingerprintString(ctx, "plan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); + _fingerprintNode(ctx, (Node*)&node->plan, node, "plan", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3138,59 +3226,71 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->rtindex != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rtindex); - _fingerprintString(ctx, "rtindex"); - _fingerprintString(ctx, buffer); - } - - if (node->usingClause != NULL && node->usingClause->length > 0) { + if (node->rplan != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "usingClause"); + _fingerprintString(ctx, "rplan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { + _fingerprintNode(ctx, (Node*)node->rplan, node, "rplan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->fromlist != NULL && node->fromlist->length > 0) { + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fromlist"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fromlist, node, "fromlist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromlist) == 1 && linitial(node->fromlist) == NIL)) { + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->quals != NULL) { + + if (node->argisrow) { + _fingerprintString(ctx, "argisrow"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + + if (true) { + _fingerprintString(ctx, "nulltesttype"); + _fingerprintString(ctx, _enumToStringNullTestType(node->nulltesttype)); + } + +} + +static void +_fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "quals"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3199,266 +3299,1263 @@ _fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void * XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "booltesttype"); + _fingerprintString(ctx, _enumToStringBoolTestType(node->booltesttype)); + } + + // Intentionally ignoring node->location for fingerprinting + } static void -_fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth) { if (true) { - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + _fingerprintString(ctx, "commandType"); + _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); } - if (node->arbiterElems != NULL && node->arbiterElems->length > 0) { + if (true) { + _fingerprintString(ctx, "matchKind"); + _fingerprintString(ctx, _enumToStringMergeMatchKind(node->matchKind)); + } + + if (true) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + } + + if (node->qual != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arbiterElems"); + _fingerprintString(ctx, "qual"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arbiterElems, node, "arbiterElems", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arbiterElems) == 1 && linitial(node->arbiterElems) == NIL)) { + _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->arbiterWhere != NULL) { + + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arbiterWhere"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arbiterWhere, node, "arbiterWhere", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->updateColnos != NULL && node->updateColnos->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "updateColnos"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->updateColnos, node, "updateColnos", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->updateColnos) == 1 && linitial(node->updateColnos) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "coercionformat"); + _fingerprintString(ctx, _enumToStringCoercionForm(node->coercionformat)); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->resultcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resultcollid); + _fingerprintString(ctx, "resultcollid"); + _fingerprintString(ctx, buffer); + } + + if (node->resulttype != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resulttype); + _fingerprintString(ctx, "resulttype"); + _fingerprintString(ctx, buffer); + } + + if (node->resulttypmod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resulttypmod); + _fingerprintString(ctx, "resulttypmod"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->collation); + _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, buffer); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->typeId != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeId); + _fingerprintString(ctx, "typeId"); + _fingerprintString(ctx, buffer); + } + + if (node->typeMod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeMod); + _fingerprintString(ctx, "typeMod"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring all fields for fingerprinting +} + +static void +_fingerprintCurrentOfExpr(FingerprintContext *ctx, const CurrentOfExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cursor_name != NULL) { + _fingerprintString(ctx, "cursor_name"); + _fingerprintString(ctx, node->cursor_name); + } + + if (node->cursor_param != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cursor_param); + _fingerprintString(ctx, "cursor_param"); + _fingerprintString(ctx, buffer); + } + + if (node->cvarno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cvarno); + _fingerprintString(ctx, "cvarno"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintNextValueExpr(FingerprintContext *ctx, const NextValueExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->seqid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->seqid); + _fingerprintString(ctx, "seqid"); + _fingerprintString(ctx, buffer); + } + + if (node->typeId != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeId); + _fingerprintString(ctx, "typeId"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "expr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->infercollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->infercollid); + _fingerprintString(ctx, "infercollid"); + _fingerprintString(ctx, buffer); + } + + if (node->inferopclass != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inferopclass); + _fingerprintString(ctx, "inferopclass"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "expr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->resjunk) { + _fingerprintString(ctx, "resjunk"); + _fingerprintString(ctx, "true"); + } + + if (node->resname != NULL) { + _fingerprintString(ctx, "resname"); + _fingerprintString(ctx, node->resname); + } + + if (node->resno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resno); + _fingerprintString(ctx, "resno"); + _fingerprintString(ctx, buffer); + } + + if (node->resorigcol != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resorigcol); + _fingerprintString(ctx, "resorigcol"); + _fingerprintString(ctx, buffer); + } + + if (node->resorigtbl != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resorigtbl); + _fingerprintString(ctx, "resorigtbl"); + _fingerprintString(ctx, buffer); + } + + if (node->ressortgroupref != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ressortgroupref); + _fingerprintString(ctx, "ressortgroupref"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintRangeTblRef(FingerprintContext *ctx, const RangeTblRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->rtindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rtindex); + _fingerprintString(ctx, "rtindex"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->isNatural) { + _fingerprintString(ctx, "isNatural"); + _fingerprintString(ctx, "true"); + } + + if (node->join_using_alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "join_using_alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "jointype"); + _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); + } + + if (node->larg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "larg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->quals != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "quals"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->rarg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rarg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->rtindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rtindex); + _fingerprintString(ctx, "rtindex"); + _fingerprintString(ctx, buffer); + } + + if (node->usingClause != NULL && node->usingClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "usingClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->fromlist != NULL && node->fromlist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "fromlist"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->fromlist, node, "fromlist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromlist) == 1 && linitial(node->fromlist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->quals != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "quals"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + } + + if (node->arbiterElems != NULL && node->arbiterElems->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arbiterElems"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arbiterElems, node, "arbiterElems", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arbiterElems) == 1 && linitial(node->arbiterElems) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->arbiterWhere != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arbiterWhere"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arbiterWhere, node, "arbiterWhere", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->constraint != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->constraint); + _fingerprintString(ctx, "constraint"); + _fingerprintString(ctx, buffer); + } - if (node->constraint != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->constraint); - _fingerprintString(ctx, "constraint"); - _fingerprintString(ctx, buffer); - } - if (node->exclRelIndex != 0) { char buffer[50]; - sprintf(buffer, "%d", node->exclRelIndex); - _fingerprintString(ctx, "exclRelIndex"); + sprintf(buffer, "%d", node->exclRelIndex); + _fingerprintString(ctx, "exclRelIndex"); + _fingerprintString(ctx, buffer); + } + + if (node->exclRelTlist != NULL && node->exclRelTlist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "exclRelTlist"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->exclRelTlist, node, "exclRelTlist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclRelTlist) == 1 && linitial(node->exclRelTlist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->onConflictSet != NULL && node->onConflictSet->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "onConflictSet"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->onConflictSet, node, "onConflictSet", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->onConflictSet) == 1 && linitial(node->onConflictSet) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->onConflictWhere != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "onConflictWhere"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->onConflictWhere, node, "onConflictWhere", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->canSetTag) { + _fingerprintString(ctx, "canSetTag"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "commandType"); + _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); + } + + if (node->constraintDeps != NULL && node->constraintDeps->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "constraintDeps"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->constraintDeps, node, "constraintDeps", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraintDeps) == 1 && linitial(node->constraintDeps) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->cteList != NULL && node->cteList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "cteList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->cteList, node, "cteList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cteList) == 1 && linitial(node->cteList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->distinctClause != NULL && node->distinctClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "distinctClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->groupClause != NULL && node->groupClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "groupClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->groupDistinct) { + _fingerprintString(ctx, "groupDistinct"); + _fingerprintString(ctx, "true"); + } + + if (node->groupingSets != NULL && node->groupingSets->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "groupingSets"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->groupingSets, node, "groupingSets", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupingSets) == 1 && linitial(node->groupingSets) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->hasAggs) { + _fingerprintString(ctx, "hasAggs"); + _fingerprintString(ctx, "true"); + } + + if (node->hasDistinctOn) { + _fingerprintString(ctx, "hasDistinctOn"); + _fingerprintString(ctx, "true"); + } + + if (node->hasForUpdate) { + _fingerprintString(ctx, "hasForUpdate"); + _fingerprintString(ctx, "true"); + } + + if (node->hasModifyingCTE) { + _fingerprintString(ctx, "hasModifyingCTE"); + _fingerprintString(ctx, "true"); + } + + if (node->hasRecursive) { + _fingerprintString(ctx, "hasRecursive"); + _fingerprintString(ctx, "true"); + } + + if (node->hasRowSecurity) { + _fingerprintString(ctx, "hasRowSecurity"); + _fingerprintString(ctx, "true"); + } + + if (node->hasSubLinks) { + _fingerprintString(ctx, "hasSubLinks"); + _fingerprintString(ctx, "true"); + } + + if (node->hasTargetSRFs) { + _fingerprintString(ctx, "hasTargetSRFs"); + _fingerprintString(ctx, "true"); + } + + if (node->hasWindowFuncs) { + _fingerprintString(ctx, "hasWindowFuncs"); + _fingerprintString(ctx, "true"); + } + + if (node->havingQual != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "havingQual"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->havingQual, node, "havingQual", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->isReturn) { + _fingerprintString(ctx, "isReturn"); + _fingerprintString(ctx, "true"); + } + + if (node->jointree != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "jointree"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintFromExpr(ctx, node->jointree, node, "jointree", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->limitCount != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "limitCount"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->limitOffset != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "limitOffset"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "limitOption"); + _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); + } + + if (node->mergeActionList != NULL && node->mergeActionList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "mergeActionList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->mergeActionList, node, "mergeActionList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeActionList) == 1 && linitial(node->mergeActionList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->mergeJoinCondition != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "mergeJoinCondition"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->mergeJoinCondition, node, "mergeJoinCondition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->mergeTargetRelation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->mergeTargetRelation); + _fingerprintString(ctx, "mergeTargetRelation"); _fingerprintString(ctx, buffer); } - if (node->exclRelTlist != NULL && node->exclRelTlist->length > 0) { + if (node->onConflict != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "exclRelTlist"); + _fingerprintString(ctx, "onConflict"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->exclRelTlist, node, "exclRelTlist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclRelTlist) == 1 && linitial(node->exclRelTlist) == NIL)) { + _fingerprintOnConflictExpr(ctx, node->onConflict, node, "onConflict", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + } + + if (true) { + _fingerprintString(ctx, "querySource"); + _fingerprintString(ctx, _enumToStringQuerySource(node->querySource)); + } + + if (node->resultRelation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resultRelation); + _fingerprintString(ctx, "resultRelation"); + _fingerprintString(ctx, buffer); + } + + if (node->returningList != NULL && node->returningList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returningList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rowMarks != NULL && node->rowMarks->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rowMarks"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rowMarks, node, "rowMarks", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rowMarks) == 1 && linitial(node->rowMarks) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rtable != NULL && node->rtable->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rtable"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rtable, node, "rtable", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rtable) == 1 && linitial(node->rtable) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rteperminfos != NULL && node->rteperminfos->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rteperminfos"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rteperminfos, node, "rteperminfos", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rteperminfos) == 1 && linitial(node->rteperminfos) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->setOperations != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "setOperations"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->setOperations, node, "setOperations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->sortClause != NULL && node->sortClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "sortClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->stmt_len != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->stmt_len); + _fingerprintString(ctx, "stmt_len"); + _fingerprintString(ctx, buffer); + } + + if (node->stmt_location != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->stmt_location); + _fingerprintString(ctx, "stmt_location"); + _fingerprintString(ctx, buffer); + } + + if (node->targetList != NULL && node->targetList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "targetList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->utilityStmt != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "utilityStmt"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->utilityStmt, node, "utilityStmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->windowClause != NULL && node->windowClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "windowClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->withCheckOptions != NULL && node->withCheckOptions->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "withCheckOptions"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->withCheckOptions, node, "withCheckOptions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->withCheckOptions) == 1 && linitial(node->withCheckOptions) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arrayBounds != NULL && node->arrayBounds->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arrayBounds"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arrayBounds, node, "arrayBounds", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arrayBounds) == 1 && linitial(node->arrayBounds) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + // Intentionally ignoring node->location for fingerprinting + + if (node->names != NULL && node->names->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "names"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->names, node, "names", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->names) == 1 && linitial(node->names) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->onConflictSet != NULL && node->onConflictSet->length > 0) { + if (node->pct_type) { + _fingerprintString(ctx, "pct_type"); + _fingerprintString(ctx, "true"); + } + + if (node->setof) { + _fingerprintString(ctx, "setof"); + _fingerprintString(ctx, "true"); + } + + if (node->typeOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeOid); + _fingerprintString(ctx, "typeOid"); + _fingerprintString(ctx, buffer); + } + + if (node->typemod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typemod); + _fingerprintString(ctx, "typemod"); + _fingerprintString(ctx, buffer); + } + + if (node->typmods != NULL && node->typmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflictSet"); + _fingerprintString(ctx, "typmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->onConflictSet, node, "onConflictSet", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->onConflictSet) == 1 && linitial(node->onConflictSet) == NIL)) { + _fingerprintNode(ctx, node->typmods, node, "typmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typmods) == 1 && linitial(node->typmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->onConflictWhere != NULL) { +} + +static void +_fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->fields != NULL && node->fields->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflictWhere"); + _fingerprintString(ctx, "fields"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->onConflictWhere, node, "onConflictWhere", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->fields, node, "fields", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fields) == 1 && linitial(node->fields) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting } static void -_fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->canSetTag) { - _fingerprintString(ctx, "canSetTag"); - _fingerprintString(ctx, "true"); - } + // Intentionally ignoring all fields for fingerprinting +} +static void +_fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth) +{ if (true) { - _fingerprintString(ctx, "commandType"); - _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); + _fingerprintString(ctx, "kind"); + if (node->kind == AEXPR_OP_ANY || node->kind == AEXPR_IN) + _fingerprintString(ctx, "AEXPR_OP"); + else + _fingerprintString(ctx, _enumToStringA_Expr_Kind(node->kind)); } - if (node->constraintDeps != NULL && node->constraintDeps->length > 0) { + if (node->lexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraintDeps"); + _fingerprintString(ctx, "lexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraintDeps, node, "constraintDeps", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraintDeps) == 1 && linitial(node->constraintDeps) == NIL)) { + _fingerprintNode(ctx, node->lexpr, node, "lexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cteList != NULL && node->cteList->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cteList"); + // Intentionally ignoring node->location for fingerprinting - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cteList, node, "cteList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cteList) == 1 && linitial(node->cteList) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } - if (node->distinctClause != NULL && node->distinctClause->length > 0) { + if (node->name != NULL && node->name->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "distinctClause"); + _fingerprintString(ctx, "name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { + _fingerprintNode(ctx, node->name, node, "name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->name) == 1 && linitial(node->name) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupClause != NULL && node->groupClause->length > 0) { + if (node->rexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupClause"); + _fingerprintString(ctx, "rexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { + _fingerprintNode(ctx, node->rexpr, node, "rexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupDistinct) { - _fingerprintString(ctx, "groupDistinct"); - _fingerprintString(ctx, "true"); - } - if (node->groupingSets != NULL && node->groupingSets->length > 0) { +} + +static void +_fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupingSets"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupingSets, node, "groupingSets", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupingSets) == 1 && linitial(node->groupingSets) == NIL)) { + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->hasAggs) { - _fingerprintString(ctx, "hasAggs"); - _fingerprintString(ctx, "true"); - } - - if (node->hasDistinctOn) { - _fingerprintString(ctx, "hasDistinctOn"); - _fingerprintString(ctx, "true"); - } - - if (node->hasForUpdate) { - _fingerprintString(ctx, "hasForUpdate"); - _fingerprintString(ctx, "true"); - } - - if (node->hasModifyingCTE) { - _fingerprintString(ctx, "hasModifyingCTE"); - _fingerprintString(ctx, "true"); - } - - if (node->hasRecursive) { - _fingerprintString(ctx, "hasRecursive"); - _fingerprintString(ctx, "true"); - } - - if (node->hasRowSecurity) { - _fingerprintString(ctx, "hasRowSecurity"); - _fingerprintString(ctx, "true"); - } - - if (node->hasSubLinks) { - _fingerprintString(ctx, "hasSubLinks"); - _fingerprintString(ctx, "true"); - } - - if (node->hasTargetSRFs) { - _fingerprintString(ctx, "hasTargetSRFs"); - _fingerprintString(ctx, "true"); - } - if (node->hasWindowFuncs) { - _fingerprintString(ctx, "hasWindowFuncs"); - _fingerprintString(ctx, "true"); - } + // Intentionally ignoring node->location for fingerprinting - if (node->havingQual != NULL) { + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "havingQual"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->havingQual, node, "havingQual", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3467,20 +4564,20 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (node->isReturn) { - _fingerprintString(ctx, "isReturn"); - _fingerprintString(ctx, "true"); - } +} - if (node->jointree != NULL) { +static void +_fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "jointree"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintFromExpr(ctx, node->jointree, node, "jointree", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3489,173 +4586,196 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (node->limitCount != NULL) { + if (node->collname != NULL && node->collname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitCount"); + _fingerprintString(ctx, "collname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->limitOffset != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; +} - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitOffset"); +static void +_fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->rolename != NULL) { + _fingerprintString(ctx, "rolename"); + _fingerprintString(ctx, node->rolename); } if (true) { - _fingerprintString(ctx, "limitOption"); - _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); + _fingerprintString(ctx, "roletype"); + _fingerprintString(ctx, _enumToStringRoleSpecType(node->roletype)); } - if (node->mergeActionList != NULL && node->mergeActionList->length > 0) { +} + +static void +_fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->agg_distinct) { + _fingerprintString(ctx, "agg_distinct"); + _fingerprintString(ctx, "true"); + } + + if (node->agg_filter != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "mergeActionList"); + _fingerprintString(ctx, "agg_filter"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->mergeActionList, node, "mergeActionList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeActionList) == 1 && linitial(node->mergeActionList) == NIL)) { + _fingerprintNode(ctx, node->agg_filter, node, "agg_filter", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->mergeUseOuterJoin) { - _fingerprintString(ctx, "mergeUseOuterJoin"); - _fingerprintString(ctx, "true"); - } - if (node->onConflict != NULL) { + if (node->agg_order != NULL && node->agg_order->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflict"); + _fingerprintString(ctx, "agg_order"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintOnConflictExpr(ctx, node->onConflict, node, "onConflict", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->agg_order, node, "agg_order", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->agg_order) == 1 && linitial(node->agg_order) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); - } - - if (true) { - _fingerprintString(ctx, "querySource"); - _fingerprintString(ctx, _enumToStringQuerySource(node->querySource)); + if (node->agg_star) { + _fingerprintString(ctx, "agg_star"); + _fingerprintString(ctx, "true"); } - if (node->resultRelation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resultRelation); - _fingerprintString(ctx, "resultRelation"); - _fingerprintString(ctx, buffer); + if (node->agg_within_group) { + _fingerprintString(ctx, "agg_within_group"); + _fingerprintString(ctx, "true"); } - if (node->returningList != NULL && node->returningList->length > 0) { + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returningList"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rowMarks != NULL && node->rowMarks->length > 0) { + if (node->func_variadic) { + _fingerprintString(ctx, "func_variadic"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "funcformat"); + _fingerprintString(ctx, _enumToStringCoercionForm(node->funcformat)); + } + + if (node->funcname != NULL && node->funcname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rowMarks"); + _fingerprintString(ctx, "funcname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rowMarks, node, "rowMarks", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rowMarks) == 1 && linitial(node->rowMarks) == NIL)) { + _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rtable != NULL && node->rtable->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->over != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rtable"); + _fingerprintString(ctx, "over"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rtable, node, "rtable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rtable) == 1 && linitial(node->rtable) == NIL)) { + _fingerprintWindowDef(ctx, node->over, node, "over", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rteperminfos != NULL && node->rteperminfos->length > 0) { + +} + +static void +_fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth) +{ +} + +static void +_fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->is_slice) { + _fingerprintString(ctx, "is_slice"); + _fingerprintString(ctx, "true"); + } + + if (node->lidx != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rteperminfos"); + _fingerprintString(ctx, "lidx"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rteperminfos, node, "rteperminfos", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rteperminfos) == 1 && linitial(node->rteperminfos) == NIL)) { + _fingerprintNode(ctx, node->lidx, node, "lidx", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->setOperations != NULL) { + + if (node->uidx != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "setOperations"); + _fingerprintString(ctx, "uidx"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->setOperations, node, "setOperations", depth + 1); + _fingerprintNode(ctx, node->uidx, node, "uidx", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3664,174 +4784,192 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (node->sortClause != NULL && node->sortClause->length > 0) { +} + +static void +_fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sortClause"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->stmt_len != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stmt_len); - _fingerprintString(ctx, "stmt_len"); - _fingerprintString(ctx, buffer); - } - - if (node->stmt_location != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stmt_location); - _fingerprintString(ctx, "stmt_location"); - _fingerprintString(ctx, buffer); - } - if (node->targetList != NULL && node->targetList->length > 0) { + if (node->indirection != NULL && node->indirection->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "indirection"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->utilityStmt != NULL) { +} + +static void +_fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->elements != NULL && node->elements->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "utilityStmt"); + _fingerprintString(ctx, "elements"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->utilityStmt, node, "utilityStmt", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->elements, node, "elements", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->elements) == 1 && linitial(node->elements) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->windowClause != NULL && node->windowClause->length > 0) { +} + +static void +_fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->indirection != NULL && node->indirection->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "windowClause"); + _fingerprintString(ctx, "indirection"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { + _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->withCheckOptions != NULL && node->withCheckOptions->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL && (field_name == NULL || parent == NULL || !IsA(parent, SelectStmt) || strcmp(field_name, "targetList") != 0)) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->val != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withCheckOptions"); + _fingerprintString(ctx, "val"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->withCheckOptions, node, "withCheckOptions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->withCheckOptions) == 1 && linitial(node->withCheckOptions) == NIL)) { + _fingerprintNode(ctx, node->val, node, "val", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arrayBounds != NULL && node->arrayBounds->length > 0) { + if (node->colno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->colno); + _fingerprintString(ctx, "colno"); + _fingerprintString(ctx, buffer); + } + + if (node->ncolumns != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ncolumns); + _fingerprintString(ctx, "ncolumns"); + _fingerprintString(ctx, buffer); + } + + if (node->source != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arrayBounds"); + _fingerprintString(ctx, "source"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arrayBounds, node, "arrayBounds", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arrayBounds) == 1 && linitial(node->arrayBounds) == NIL)) { + _fingerprintNode(ctx, node->source, node, "source", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + +} + +static void +_fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth) +{ // Intentionally ignoring node->location for fingerprinting - if (node->names != NULL && node->names->length > 0) { + if (node->node != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "names"); + _fingerprintString(ctx, "node"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->names, node, "names", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->names) == 1 && linitial(node->names) == NIL)) { + _fingerprintNode(ctx, node->node, node, "node", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->pct_type) { - _fingerprintString(ctx, "pct_type"); - _fingerprintString(ctx, "true"); - } - if (node->setof) { - _fingerprintString(ctx, "setof"); - _fingerprintString(ctx, "true"); - } - - if (node->typeOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeOid); - _fingerprintString(ctx, "typeOid"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "sortby_dir"); + _fingerprintString(ctx, _enumToStringSortByDir(node->sortby_dir)); } - if (node->typemod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typemod); - _fingerprintString(ctx, "typemod"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "sortby_nulls"); + _fingerprintString(ctx, _enumToStringSortByNulls(node->sortby_nulls)); } - if (node->typmods != NULL && node->typmods->length > 0) { + if (node->useOp != NULL && node->useOp->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typmods"); + _fingerprintString(ctx, "useOp"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typmods, node, "typmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typmods) == 1 && linitial(node->typmods) == NIL)) { + _fingerprintNode(ctx, node->useOp, node, "useOp", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->useOp) == 1 && linitial(node->useOp) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -3841,89 +4979,85 @@ _fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void * } static void -_fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->fields != NULL && node->fields->length > 0) { + if (node->endOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fields"); + _fingerprintString(ctx, "endOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fields, node, "fields", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fields) == 1 && linitial(node->fields) == NIL)) { + _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting -} + if (node->frameOptions != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->frameOptions); + _fingerprintString(ctx, "frameOptions"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring all fields for fingerprinting -} + // Intentionally ignoring node->location for fingerprinting -static void -_fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "kind"); - if (node->kind == AEXPR_OP_ANY || node->kind == AEXPR_IN) - _fingerprintString(ctx, "AEXPR_OP"); - else - _fingerprintString(ctx, _enumToStringA_Expr_Kind(node->kind)); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->lexpr != NULL) { + if (node->orderClause != NULL && node->orderClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lexpr"); + _fingerprintString(ctx, "orderClause"); - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lexpr, node, "lexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL && node->name->length > 0) { + if (node->partitionClause != NULL && node->partitionClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "name"); + _fingerprintString(ctx, "partitionClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->name, node, "name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->name) == 1 && linitial(node->name) == NIL)) { + _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rexpr != NULL) { + if (node->refname != NULL) { + _fingerprintString(ctx, "refname"); + _fingerprintString(ctx, node->refname); + } + + if (node->startOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rexpr"); + _fingerprintString(ctx, "startOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rexpr, node, "rexpr", depth + 1); + _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3935,17 +5069,17 @@ _fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *pare } static void -_fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3954,17 +5088,20 @@ _fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void * XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting + if (node->lateral) { + _fingerprintString(ctx, "lateral"); + _fingerprintString(ctx, "true"); + } - if (node->typeName != NULL) { + if (node->subquery != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "subquery"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + _fingerprintNode(ctx, node->subquery, node, "subquery", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3976,17 +5113,17 @@ _fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void * } static void -_fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3995,147 +5132,100 @@ _fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, co XXH3_freeState(prev); } - if (node->collname != NULL && node->collname->length > 0) { + if (node->coldeflist != NULL && node->coldeflist->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collname"); + _fingerprintString(ctx, "coldeflist"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { + _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - -} - -static void -_fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting - - if (node->rolename != NULL) { - _fingerprintString(ctx, "rolename"); - _fingerprintString(ctx, node->rolename); - } - - if (true) { - _fingerprintString(ctx, "roletype"); - _fingerprintString(ctx, _enumToStringRoleSpecType(node->roletype)); - } - -} - -static void -_fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->agg_distinct) { - _fingerprintString(ctx, "agg_distinct"); - _fingerprintString(ctx, "true"); - } - - if (node->agg_filter != NULL) { + if (node->functions != NULL && node->functions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "agg_filter"); + _fingerprintString(ctx, "functions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->agg_filter, node, "agg_filter", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->agg_order != NULL && node->agg_order->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "agg_order"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->agg_order, node, "agg_order", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->agg_order) == 1 && linitial(node->agg_order) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->is_rowsfrom) { + _fingerprintString(ctx, "is_rowsfrom"); + _fingerprintString(ctx, "true"); } - if (node->agg_star) { - _fingerprintString(ctx, "agg_star"); + + if (node->lateral) { + _fingerprintString(ctx, "lateral"); _fingerprintString(ctx, "true"); } - if (node->agg_within_group) { - _fingerprintString(ctx, "agg_within_group"); + if (node->ordinality) { + _fingerprintString(ctx, "ordinality"); _fingerprintString(ctx, "true"); } - if (node->args != NULL && node->args->length > 0) { +} + +static void +_fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->func_variadic) { - _fingerprintString(ctx, "func_variadic"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "funcformat"); - _fingerprintString(ctx, _enumToStringCoercionForm(node->funcformat)); - } - if (node->funcname != NULL && node->funcname->length > 0) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcname"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->over != NULL) { + if (node->docexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "over"); + _fingerprintString(ctx, "docexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWindowDef(ctx, node->over, node, "over", depth + 1); + _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4144,47 +5234,38 @@ _fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void * XXH3_freeState(prev); } -} - -static void -_fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth) -{ -} - -static void -_fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->is_slice) { - _fingerprintString(ctx, "is_slice"); + if (node->lateral) { + _fingerprintString(ctx, "lateral"); _fingerprintString(ctx, "true"); } - if (node->lidx != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->namespaces != NULL && node->namespaces->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lidx"); + _fingerprintString(ctx, "namespaces"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lidx, node, "lidx", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->namespaces, node, "namespaces", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->namespaces) == 1 && linitial(node->namespaces) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->uidx != NULL) { + if (node->rowexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "uidx"); + _fingerprintString(ctx, "rowexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->uidx, node, "uidx", depth + 1); + _fingerprintNode(ctx, node->rowexpr, node, "rowexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4196,17 +5277,17 @@ _fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void } static void -_fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->coldefexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "coldefexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintNode(ctx, node->coldefexpr, node, "coldefexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4215,82 +5296,49 @@ _fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, co XXH3_freeState(prev); } - if (node->indirection != NULL && node->indirection->length > 0) { + if (node->colexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indirection"); + _fingerprintString(ctx, "colexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { + _fingerprintNode(ctx, node->colexpr, node, "colexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->elements != NULL && node->elements->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "elements"); - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->elements, node, "elements", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->elements) == 1 && linitial(node->elements) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->colname != NULL) { + _fingerprintString(ctx, "colname"); + _fingerprintString(ctx, node->colname); } - // Intentionally ignoring node->location for fingerprinting - -} - -static void -_fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->indirection != NULL && node->indirection->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indirection"); - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->for_ordinality) { + _fingerprintString(ctx, "for_ordinality"); + _fingerprintString(ctx, "true"); } - // Intentionally ignoring node->location for fingerprinting - if (node->name != NULL && (field_name == NULL || parent == NULL || !IsA(parent, SelectStmt) || strcmp(field_name, "targetList") != 0)) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->is_not_null) { + _fingerprintString(ctx, "is_not_null"); + _fingerprintString(ctx, "true"); } - if (node->val != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "val"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->val, node, "val", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4302,103 +5350,90 @@ _fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void } static void -_fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->colno != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->colno); - _fingerprintString(ctx, "colno"); - _fingerprintString(ctx, buffer); - } - - if (node->ncolumns != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ncolumns); - _fingerprintString(ctx, "ncolumns"); - _fingerprintString(ctx, buffer); - } - - if (node->source != NULL) { + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "source"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->source, node, "source", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth) -{ // Intentionally ignoring node->location for fingerprinting - if (node->node != NULL) { + if (node->method != NULL && node->method->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "node"); + _fingerprintString(ctx, "method"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->node, node, "node", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->method, node, "method", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->method) == 1 && linitial(node->method) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->relation != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (true) { - _fingerprintString(ctx, "sortby_dir"); - _fingerprintString(ctx, _enumToStringSortByDir(node->sortby_dir)); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "relation"); - if (true) { - _fingerprintString(ctx, "sortby_nulls"); - _fingerprintString(ctx, _enumToStringSortByNulls(node->sortby_nulls)); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->useOp != NULL && node->useOp->length > 0) { + if (node->repeatable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "useOp"); + _fingerprintString(ctx, "repeatable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->useOp, node, "useOp", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->useOp) == 1 && linitial(node->useOp) == NIL)) { + _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->endOffset != NULL) { + if (node->collClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "endOffset"); + _fingerprintString(ctx, "collClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4407,88 +5442,93 @@ _fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void XXH3_freeState(prev); } - if (node->frameOptions != 0) { + if (node->collOid != 0) { char buffer[50]; - sprintf(buffer, "%d", node->frameOptions); - _fingerprintString(ctx, "frameOptions"); + sprintf(buffer, "%d", node->collOid); + _fingerprintString(ctx, "collOid"); _fingerprintString(ctx, buffer); } - // Intentionally ignoring node->location for fingerprinting + if (node->colname != NULL) { + _fingerprintString(ctx, "colname"); + _fingerprintString(ctx, node->colname); + } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->compression != NULL) { + _fingerprintString(ctx, "compression"); + _fingerprintString(ctx, node->compression); } - if (node->orderClause != NULL && node->orderClause->length > 0) { + if (node->constraints != NULL && node->constraints->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "orderClause"); + _fingerprintString(ctx, "constraints"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { + _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->partitionClause != NULL && node->partitionClause->length > 0) { + if (node->cooked_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partitionClause"); + _fingerprintString(ctx, "cooked_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { + _fingerprintNode(ctx, node->cooked_default, node, "cooked_default", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->refname != NULL) { - _fingerprintString(ctx, "refname"); - _fingerprintString(ctx, node->refname); - } - if (node->startOffset != NULL) { + if (node->fdwoptions != NULL && node->fdwoptions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "startOffset"); + _fingerprintString(ctx, "fdwoptions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->fdwoptions, node, "fdwoptions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fdwoptions) == 1 && linitial(node->fdwoptions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->generated != 0) { + char buffer[2] = {node->generated, '\0'}; + _fingerprintString(ctx, "generated"); + _fingerprintString(ctx, buffer); + } -} + if (node->identity != 0) { + char buffer[2] = {node->identity, '\0'}; + _fingerprintString(ctx, "identity"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->alias != NULL) { + if (node->identitySequence != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "identitySequence"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintRangeVar(ctx, node->identitySequence, node, "identitySequence", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4497,20 +5537,39 @@ _fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, XXH3_freeState(prev); } - if (node->lateral) { - _fingerprintString(ctx, "lateral"); + if (node->inhcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inhcount); + _fingerprintString(ctx, "inhcount"); + _fingerprintString(ctx, buffer); + } + + if (node->is_from_type) { + _fingerprintString(ctx, "is_from_type"); _fingerprintString(ctx, "true"); } - if (node->subquery != NULL) { + if (node->is_local) { + _fingerprintString(ctx, "is_local"); + _fingerprintString(ctx, "true"); + } + + if (node->is_not_null) { + _fingerprintString(ctx, "is_not_null"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->raw_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "subquery"); + _fingerprintString(ctx, "raw_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->subquery, node, "subquery", depth + 1); + _fingerprintNode(ctx, node->raw_default, node, "raw_default", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4519,20 +5578,26 @@ _fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, XXH3_freeState(prev); } -} + if (node->storage != 0) { + char buffer[2] = {node->storage, '\0'}; + _fingerprintString(ctx, "storage"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->alias != NULL) { + if (node->storage_name != NULL) { + _fingerprintString(ctx, "storage_name"); + _fingerprintString(ctx, node->storage_name); + } + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4541,140 +5606,146 @@ _fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, co XXH3_freeState(prev); } - if (node->coldeflist != NULL && node->coldeflist->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coldeflist"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +static void +_fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->options != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->options); + _fingerprintString(ctx, "options"); + _fingerprintString(ctx, buffer); } - if (node->functions != NULL && node->functions->length > 0) { + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "functions"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->is_rowsfrom) { - _fingerprintString(ctx, "is_rowsfrom"); - _fingerprintString(ctx, "true"); - } - if (node->lateral) { - _fingerprintString(ctx, "lateral"); - _fingerprintString(ctx, "true"); - } - - if (node->ordinality) { - _fingerprintString(ctx, "ordinality"); - _fingerprintString(ctx, "true"); + if (node->relationOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->relationOid); + _fingerprintString(ctx, "relationOid"); + _fingerprintString(ctx, buffer); } } static void -_fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->collation != NULL && node->collation->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "collation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->columns != NULL && node->columns->length > 0) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "columns"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->docexpr != NULL) { + + if (node->indexcolname != NULL) { + _fingerprintString(ctx, "indexcolname"); + _fingerprintString(ctx, node->indexcolname); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (true) { + _fingerprintString(ctx, "nulls_ordering"); + _fingerprintString(ctx, _enumToStringSortByNulls(node->nulls_ordering)); + } + + if (node->opclass != NULL && node->opclass->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "docexpr"); + _fingerprintString(ctx, "opclass"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->lateral) { - _fingerprintString(ctx, "lateral"); - _fingerprintString(ctx, "true"); - } - - // Intentionally ignoring node->location for fingerprinting - - if (node->namespaces != NULL && node->namespaces->length > 0) { + if (node->opclassopts != NULL && node->opclassopts->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "namespaces"); + _fingerprintString(ctx, "opclassopts"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->namespaces, node, "namespaces", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->namespaces) == 1 && linitial(node->namespaces) == NIL)) { + _fingerprintNode(ctx, node->opclassopts, node, "opclassopts", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassopts) == 1 && linitial(node->opclassopts) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rowexpr != NULL) { + if (true) { + _fingerprintString(ctx, "ordering"); + _fingerprintString(ctx, _enumToStringSortByDir(node->ordering)); + } + +} + +static void +_fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rowexpr"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rowexpr, node, "rowexpr", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4683,37 +5754,68 @@ _fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "defaction"); + _fingerprintString(ctx, _enumToStringDefElemAction(node->defaction)); + } + + if (node->defname != NULL) { + _fingerprintString(ctx, "defname"); + _fingerprintString(ctx, node->defname); + } + + if (node->defnamespace != NULL) { + _fingerprintString(ctx, "defnamespace"); + _fingerprintString(ctx, node->defnamespace); + } + + // Intentionally ignoring node->location for fingerprinting + } static void -_fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->coldefexpr != NULL) { + if (node->lockedRels != NULL && node->lockedRels->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coldefexpr"); + _fingerprintString(ctx, "lockedRels"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coldefexpr, node, "coldefexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->lockedRels, node, "lockedRels", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockedRels) == 1 && linitial(node->lockedRels) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "strength"); + _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); + } - if (node->colexpr != NULL) { + if (true) { + _fingerprintString(ctx, "waitPolicy"); + _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); + } + +} + +static void +_fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colexpr"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colexpr, node, "colexpr", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4722,18 +5824,8 @@ _fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol * XXH3_freeState(prev); } - if (node->colname != NULL) { - _fingerprintString(ctx, "colname"); - _fingerprintString(ctx, node->colname); - } - - if (node->for_ordinality) { - _fingerprintString(ctx, "for_ordinality"); - _fingerprintString(ctx, "true"); - } - - if (node->is_not_null) { - _fingerprintString(ctx, "is_not_null"); + if (node->indent) { + _fingerprintString(ctx, "indent"); _fingerprintString(ctx, "true"); } @@ -4756,188 +5848,201 @@ _fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol * XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "xmloption"); + _fingerprintString(ctx, _enumToStringXmlOptionType(node->xmloption)); + } + } static void -_fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->args != NULL && node->args->length > 0) { + if (node->collation != NULL && node->collation->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "collation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->method != NULL && node->method->length > 0) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "method"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->method, node, "method", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->method) == 1 && linitial(node->method) == NIL)) { + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + // Intentionally ignoring node->location for fingerprinting - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->repeatable != NULL) { + if (node->opclass != NULL && node->opclass->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "repeatable"); + _fingerprintString(ctx, "opclass"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->collClause != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->partParams != NULL && node->partParams->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collClause"); + _fingerprintString(ctx, "partParams"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->partParams, node, "partParams", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partParams) == 1 && linitial(node->partParams) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->collOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->collOid); - _fingerprintString(ctx, "collOid"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "strategy"); + _fingerprintString(ctx, _enumToStringPartitionStrategy(node->strategy)); } - if (node->colname != NULL) { - _fingerprintString(ctx, "colname"); - _fingerprintString(ctx, node->colname); - } +} - if (node->compression != NULL) { - _fingerprintString(ctx, "compression"); - _fingerprintString(ctx, node->compression); +static void +_fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->is_default) { + _fingerprintString(ctx, "is_default"); + _fingerprintString(ctx, "true"); } - if (node->constraints != NULL && node->constraints->length > 0) { + if (node->listdatums != NULL && node->listdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraints"); + _fingerprintString(ctx, "listdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { + _fingerprintNode(ctx, node->listdatums, node, "listdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->listdatums) == 1 && linitial(node->listdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cooked_default != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->lowerdatums != NULL && node->lowerdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cooked_default"); + _fingerprintString(ctx, "lowerdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cooked_default, node, "cooked_default", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->lowerdatums, node, "lowerdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lowerdatums) == 1 && linitial(node->lowerdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->modulus != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->modulus); + _fingerprintString(ctx, "modulus"); + _fingerprintString(ctx, buffer); + } + + if (node->remainder != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->remainder); + _fingerprintString(ctx, "remainder"); + _fingerprintString(ctx, buffer); + } + + if (node->strategy != 0) { + char buffer[2] = {node->strategy, '\0'}; + _fingerprintString(ctx, "strategy"); + _fingerprintString(ctx, buffer); + } - if (node->fdwoptions != NULL && node->fdwoptions->length > 0) { + if (node->upperdatums != NULL && node->upperdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fdwoptions"); + _fingerprintString(ctx, "upperdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fdwoptions, node, "fdwoptions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fdwoptions) == 1 && linitial(node->fdwoptions) == NIL)) { + _fingerprintNode(ctx, node->upperdatums, node, "upperdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->upperdatums) == 1 && linitial(node->upperdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->generated != 0) { - char buffer[2] = {node->generated, '\0'}; - _fingerprintString(ctx, "generated"); - _fingerprintString(ctx, buffer); - } +} - if (node->identity != 0) { - char buffer[2] = {node->identity, '\0'}; - _fingerprintString(ctx, "identity"); - _fingerprintString(ctx, buffer); +static void +_fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringPartitionRangeDatumKind(node->kind)); } - if (node->identitySequence != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "identitySequence"); + _fingerprintString(ctx, "value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->identitySequence, node, "identitySequence", depth + 1); + _fingerprintNode(ctx, node->value, node, "value", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4946,39 +6051,25 @@ _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void XXH3_freeState(prev); } - if (node->inhcount != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->inhcount); - _fingerprintString(ctx, "inhcount"); - _fingerprintString(ctx, buffer); - } - - if (node->is_from_type) { - _fingerprintString(ctx, "is_from_type"); - _fingerprintString(ctx, "true"); - } - - if (node->is_local) { - _fingerprintString(ctx, "is_local"); - _fingerprintString(ctx, "true"); - } - - if (node->is_not_null) { - _fingerprintString(ctx, "is_not_null"); - _fingerprintString(ctx, "true"); - } +} - // Intentionally ignoring node->location for fingerprinting +static void +_fingerprintSinglePartitionSpec(FingerprintContext *ctx, const SinglePartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) +{ +} - if (node->raw_default != NULL) { +static void +_fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->bound != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "raw_default"); + _fingerprintString(ctx, "bound"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->raw_default, node, "raw_default", depth + 1); + _fingerprintPartitionBoundSpec(ctx, node->bound, node, "bound", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4987,26 +6078,20 @@ _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void XXH3_freeState(prev); } - if (node->storage != 0) { - char buffer[2] = {node->storage, '\0'}; - _fingerprintString(ctx, "storage"); - _fingerprintString(ctx, buffer); - } - - if (node->storage_name != NULL) { - _fingerprintString(ctx, "storage_name"); - _fingerprintString(ctx, node->storage_name); + if (node->concurrent) { + _fingerprintString(ctx, "concurrent"); + _fingerprintString(ctx, "true"); } - if (node->typeName != NULL) { + if (node->name != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + _fingerprintRangeVar(ctx, node->name, node, "name", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5018,24 +6103,17 @@ _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void } static void -_fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->options != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->options); - _fingerprintString(ctx, "options"); - _fingerprintString(ctx, buffer); - } - - if (node->relation != NULL) { + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5044,117 +6122,135 @@ _fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node XXH3_freeState(prev); } - if (node->relationOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->relationOid); - _fingerprintString(ctx, "relationOid"); - _fingerprintString(ctx, buffer); - } + if (node->colcollations != NULL && node->colcollations->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "colcollations"); -static void -_fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collation != NULL && node->collation->length > 0) { + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->colcollations, node, "colcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colcollations) == 1 && linitial(node->colcollations) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->coltypes != NULL && node->coltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, "coltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { + _fingerprintNode(ctx, node->coltypes, node, "coltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypes) == 1 && linitial(node->coltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->expr != NULL) { + if (node->coltypmods != NULL && node->coltypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "coltypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->coltypmods, node, "coltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypmods) == 1 && linitial(node->coltypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->ctelevelsup != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ctelevelsup); + _fingerprintString(ctx, "ctelevelsup"); + _fingerprintString(ctx, buffer); + } - if (node->indexcolname != NULL) { - _fingerprintString(ctx, "indexcolname"); - _fingerprintString(ctx, node->indexcolname); + if (node->ctename != NULL) { + _fingerprintString(ctx, "ctename"); + _fingerprintString(ctx, node->ctename); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->enrname != NULL) { + _fingerprintString(ctx, "enrname"); + _fingerprintString(ctx, node->enrname); } - if (true) { - _fingerprintString(ctx, "nulls_ordering"); - _fingerprintString(ctx, _enumToStringSortByNulls(node->nulls_ordering)); + if (node->enrtuples != 0) { + char buffer[50]; + sprintf(buffer, "%f", node->enrtuples); + _fingerprintString(ctx, "enrtuples"); + _fingerprintString(ctx, buffer); } - if (node->opclass != NULL && node->opclass->length > 0) { + if (node->eref != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclass"); + _fingerprintString(ctx, "eref"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { + _fingerprintAlias(ctx, node->eref, node, "eref", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->opclassopts != NULL && node->opclassopts->length > 0) { + + if (node->funcordinality) { + _fingerprintString(ctx, "funcordinality"); + _fingerprintString(ctx, "true"); + } + + if (node->functions != NULL && node->functions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclassopts"); + _fingerprintString(ctx, "functions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclassopts, node, "opclassopts", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassopts) == 1 && linitial(node->opclassopts) == NIL)) { + _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "ordering"); - _fingerprintString(ctx, _enumToStringSortByDir(node->ordering)); + if (node->inFromCl) { + _fingerprintString(ctx, "inFromCl"); + _fingerprintString(ctx, "true"); } -} + if (node->inh) { + _fingerprintString(ctx, "inh"); + _fingerprintString(ctx, "true"); + } -static void -_fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { + if (node->join_using_alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "join_using_alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5163,361 +6259,357 @@ _fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *pa XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "defaction"); - _fingerprintString(ctx, _enumToStringDefElemAction(node->defaction)); - } - - if (node->defname != NULL) { - _fingerprintString(ctx, "defname"); - _fingerprintString(ctx, node->defname); - } - - if (node->defnamespace != NULL) { - _fingerprintString(ctx, "defnamespace"); - _fingerprintString(ctx, node->defnamespace); - } - - // Intentionally ignoring node->location for fingerprinting - -} - -static void -_fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->lockedRels != NULL && node->lockedRels->length > 0) { + if (node->joinaliasvars != NULL && node->joinaliasvars->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lockedRels"); + _fingerprintString(ctx, "joinaliasvars"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lockedRels, node, "lockedRels", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockedRels) == 1 && linitial(node->lockedRels) == NIL)) { + _fingerprintNode(ctx, node->joinaliasvars, node, "joinaliasvars", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinaliasvars) == 1 && linitial(node->joinaliasvars) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } - XXH3_freeState(prev); - } - if (true) { - _fingerprintString(ctx, "strength"); - _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); - } - - if (true) { - _fingerprintString(ctx, "waitPolicy"); - _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); - } - -} - -static void -_fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->expr != NULL) { + XXH3_freeState(prev); + } + if (node->joinleftcols != NULL && node->joinleftcols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "joinleftcols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->joinleftcols, node, "joinleftcols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinleftcols) == 1 && linitial(node->joinleftcols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->indent) { - _fingerprintString(ctx, "indent"); - _fingerprintString(ctx, "true"); + if (node->joinmergedcols != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->joinmergedcols); + _fingerprintString(ctx, "joinmergedcols"); + _fingerprintString(ctx, buffer); } - // Intentionally ignoring node->location for fingerprinting - - if (node->typeName != NULL) { + if (node->joinrightcols != NULL && node->joinrightcols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "joinrightcols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->joinrightcols, node, "joinrightcols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinrightcols) == 1 && linitial(node->joinrightcols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "xmloption"); - _fingerprintString(ctx, _enumToStringXmlOptionType(node->xmloption)); + _fingerprintString(ctx, "jointype"); + _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); } -} + if (node->lateral) { + _fingerprintString(ctx, "lateral"); + _fingerprintString(ctx, "true"); + } -static void -_fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collation != NULL && node->collation->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (node->perminfoindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->perminfoindex); + _fingerprintString(ctx, "perminfoindex"); + _fingerprintString(ctx, buffer); + } - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collation"); + if (node->relid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->relid); + _fingerprintString(ctx, "relid"); + _fingerprintString(ctx, buffer); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->relkind != 0) { + char buffer[2] = {node->relkind, '\0'}; + _fingerprintString(ctx, "relkind"); + _fingerprintString(ctx, buffer); } - if (node->expr != NULL) { + + if (node->rellockmode != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rellockmode); + _fingerprintString(ctx, "rellockmode"); + _fingerprintString(ctx, buffer); + } + + if (true) { + _fingerprintString(ctx, "rtekind"); + _fingerprintString(ctx, _enumToStringRTEKind(node->rtekind)); + } + + if (node->securityQuals != NULL && node->securityQuals->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "securityQuals"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->securityQuals, node, "securityQuals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->securityQuals) == 1 && linitial(node->securityQuals) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->security_barrier) { + _fingerprintString(ctx, "security_barrier"); + _fingerprintString(ctx, "true"); + } - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->self_reference) { + _fingerprintString(ctx, "self_reference"); + _fingerprintString(ctx, "true"); } - if (node->opclass != NULL && node->opclass->length > 0) { + if (node->subquery != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclass"); + _fingerprintString(ctx, "subquery"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { + _fingerprintQuery(ctx, node->subquery, node, "subquery", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} -static void -_fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting - - if (node->partParams != NULL && node->partParams->length > 0) { + if (node->tablefunc != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partParams"); + _fingerprintString(ctx, "tablefunc"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partParams, node, "partParams", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partParams) == 1 && linitial(node->partParams) == NIL)) { + _fingerprintTableFunc(ctx, node->tablefunc, node, "tablefunc", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "strategy"); - _fingerprintString(ctx, _enumToStringPartitionStrategy(node->strategy)); - } - -} - -static void -_fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->is_default) { - _fingerprintString(ctx, "is_default"); - _fingerprintString(ctx, "true"); - } - if (node->listdatums != NULL && node->listdatums->length > 0) { + if (node->tablesample != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "listdatums"); + _fingerprintString(ctx, "tablesample"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->listdatums, node, "listdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->listdatums) == 1 && linitial(node->listdatums) == NIL)) { + _fingerprintTableSampleClause(ctx, node->tablesample, node, "tablesample", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - if (node->lowerdatums != NULL && node->lowerdatums->length > 0) { + if (node->values_lists != NULL && node->values_lists->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lowerdatums"); + _fingerprintString(ctx, "values_lists"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lowerdatums, node, "lowerdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lowerdatums) == 1 && linitial(node->lowerdatums) == NIL)) { + _fingerprintNode(ctx, node->values_lists, node, "values_lists", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values_lists) == 1 && linitial(node->values_lists) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->modulus != 0) { +} + +static void +_fingerprintRTEPermissionInfo(FingerprintContext *ctx, const RTEPermissionInfo *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->checkAsUser != 0) { char buffer[50]; - sprintf(buffer, "%d", node->modulus); - _fingerprintString(ctx, "modulus"); + sprintf(buffer, "%d", node->checkAsUser); + _fingerprintString(ctx, "checkAsUser"); _fingerprintString(ctx, buffer); } - if (node->remainder != 0) { + if (node->inh) { + _fingerprintString(ctx, "inh"); + _fingerprintString(ctx, "true"); + } + + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->insertedCols); + + _fingerprintString(ctx, "insertedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + + if (node->relid != 0) { char buffer[50]; - sprintf(buffer, "%d", node->remainder); - _fingerprintString(ctx, "remainder"); + sprintf(buffer, "%d", node->relid); + _fingerprintString(ctx, "relid"); _fingerprintString(ctx, buffer); } - if (node->strategy != 0) { - char buffer[2] = {node->strategy, '\0'}; - _fingerprintString(ctx, "strategy"); + if (node->requiredPerms != 0) { + char buffer[50]; + sprintf(buffer, UINT64_FORMAT, node->requiredPerms); + _fingerprintString(ctx, "requiredPerms"); _fingerprintString(ctx, buffer); } - if (node->upperdatums != NULL && node->upperdatums->length > 0) { + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->selectedCols); + + _fingerprintString(ctx, "selectedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->updatedCols); + + _fingerprintString(ctx, "updatedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + +} + +static void +_fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->funccolcollations != NULL && node->funccolcollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "upperdatums"); + _fingerprintString(ctx, "funccolcollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->upperdatums, node, "upperdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->upperdatums) == 1 && linitial(node->upperdatums) == NIL)) { + _fingerprintNode(ctx, node->funccolcollations, node, "funccolcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolcollations) == 1 && linitial(node->funccolcollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringPartitionRangeDatumKind(node->kind)); + if (node->funccolcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->funccolcount); + _fingerprintString(ctx, "funccolcount"); + _fingerprintString(ctx, buffer); } - // Intentionally ignoring node->location for fingerprinting - - if (node->value != NULL) { + if (node->funccolnames != NULL && node->funccolnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "value"); + _fingerprintString(ctx, "funccolnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->value, node, "value", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funccolnames, node, "funccolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolnames) == 1 && linitial(node->funccolnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->bound != NULL) { + if (node->funccoltypes != NULL && node->funccoltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "bound"); + _fingerprintString(ctx, "funccoltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintPartitionBoundSpec(ctx, node->bound, node, "bound", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funccoltypes, node, "funccoltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypes) == 1 && linitial(node->funccoltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->concurrent) { - _fingerprintString(ctx, "concurrent"); - _fingerprintString(ctx, "true"); - } - - if (node->name != NULL) { + if (node->funccoltypmods != NULL && node->funccoltypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "name"); + _fingerprintString(ctx, "funccoltypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->name, node, "name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funccoltypmods, node, "funccoltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypmods) == 1 && linitial(node->funccoltypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->alias != NULL) { + if (node->funcexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "funcexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintNode(ctx, node->funcexpr, node, "funcexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5526,87 +6618,95 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->colcollations != NULL && node->colcollations->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->funcparams); - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colcollations"); + _fingerprintString(ctx, "funcparams"); - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colcollations, node, "colcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colcollations) == 1 && linitial(node->colcollations) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); } - XXH3_freeState(prev); + + bms_free(bms); } - if (node->coltypes != NULL && node->coltypes->length > 0) { + +} + +static void +_fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coltypes"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coltypes, node, "coltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypes) == 1 && linitial(node->coltypes) == NIL)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->coltypmods != NULL && node->coltypmods->length > 0) { + if (node->repeatable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coltypmods"); + _fingerprintString(ctx, "repeatable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coltypmods, node, "coltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypmods) == 1 && linitial(node->coltypmods) == NIL)) { + _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctelevelsup != 0) { + + if (node->tsmhandler != 0) { char buffer[50]; - sprintf(buffer, "%d", node->ctelevelsup); - _fingerprintString(ctx, "ctelevelsup"); + sprintf(buffer, "%d", node->tsmhandler); + _fingerprintString(ctx, "tsmhandler"); _fingerprintString(ctx, buffer); } - if (node->ctename != NULL) { - _fingerprintString(ctx, "ctename"); - _fingerprintString(ctx, node->ctename); +} + +static void +_fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cascaded) { + _fingerprintString(ctx, "cascaded"); + _fingerprintString(ctx, "true"); } - if (node->enrname != NULL) { - _fingerprintString(ctx, "enrname"); - _fingerprintString(ctx, node->enrname); + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringWCOKind(node->kind)); } - if (node->enrtuples != 0) { - char buffer[50]; - sprintf(buffer, "%f", node->enrtuples); - _fingerprintString(ctx, "enrtuples"); - _fingerprintString(ctx, buffer); + if (node->polname != NULL) { + _fingerprintString(ctx, "polname"); + _fingerprintString(ctx, node->polname); } - if (node->eref != NULL) { + if (node->qual != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "eref"); + _fingerprintString(ctx, "qual"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->eref, node, "eref", depth + 1); + _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5615,46 +6715,101 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->funcordinality) { - _fingerprintString(ctx, "funcordinality"); + if (node->relname != NULL) { + _fingerprintString(ctx, "relname"); + _fingerprintString(ctx, node->relname); + } + +} + +static void +_fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->eqop != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->eqop); + _fingerprintString(ctx, "eqop"); + _fingerprintString(ctx, buffer); + } + + if (node->hashable) { + _fingerprintString(ctx, "hashable"); _fingerprintString(ctx, "true"); } - if (node->functions != NULL && node->functions->length > 0) { + if (node->nulls_first) { + _fingerprintString(ctx, "nulls_first"); + _fingerprintString(ctx, "true"); + } + + if (node->sortop != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->sortop); + _fingerprintString(ctx, "sortop"); + _fingerprintString(ctx, buffer); + } + + if (node->tleSortGroupRef != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->tleSortGroupRef); + _fingerprintString(ctx, "tleSortGroupRef"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->content != NULL && node->content->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "functions"); + _fingerprintString(ctx, "content"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { + _fingerprintNode(ctx, node->content, node, "content", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->content) == 1 && linitial(node->content) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->inFromCl) { - _fingerprintString(ctx, "inFromCl"); - _fingerprintString(ctx, "true"); + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringGroupingSetKind(node->kind)); } - if (node->inh) { - _fingerprintString(ctx, "inh"); + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->copiedOrder) { + _fingerprintString(ctx, "copiedOrder"); _fingerprintString(ctx, "true"); } - if (node->join_using_alias != NULL) { + if (node->endInRangeFunc != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->endInRangeFunc); + _fingerprintString(ctx, "endInRangeFunc"); + _fingerprintString(ctx, buffer); + } + + if (node->endOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "join_using_alias"); + _fingerprintString(ctx, "endOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5663,155 +6818,195 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->joinaliasvars != NULL && node->joinaliasvars->length > 0) { + if (node->frameOptions != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->frameOptions); + _fingerprintString(ctx, "frameOptions"); + _fingerprintString(ctx, buffer); + } + + if (node->inRangeAsc) { + _fingerprintString(ctx, "inRangeAsc"); + _fingerprintString(ctx, "true"); + } + + if (node->inRangeColl != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inRangeColl); + _fingerprintString(ctx, "inRangeColl"); + _fingerprintString(ctx, buffer); + } + + if (node->inRangeNullsFirst) { + _fingerprintString(ctx, "inRangeNullsFirst"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->orderClause != NULL && node->orderClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinaliasvars"); + _fingerprintString(ctx, "orderClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinaliasvars, node, "joinaliasvars", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinaliasvars) == 1 && linitial(node->joinaliasvars) == NIL)) { + _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->joinleftcols != NULL && node->joinleftcols->length > 0) { + if (node->partitionClause != NULL && node->partitionClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinleftcols"); + _fingerprintString(ctx, "partitionClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinleftcols, node, "joinleftcols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinleftcols) == 1 && linitial(node->joinleftcols) == NIL)) { + _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->joinmergedcols != 0) { + if (node->refname != NULL) { + _fingerprintString(ctx, "refname"); + _fingerprintString(ctx, node->refname); + } + + if (node->startInRangeFunc != 0) { char buffer[50]; - sprintf(buffer, "%d", node->joinmergedcols); - _fingerprintString(ctx, "joinmergedcols"); + sprintf(buffer, "%d", node->startInRangeFunc); + _fingerprintString(ctx, "startInRangeFunc"); _fingerprintString(ctx, buffer); } - if (node->joinrightcols != NULL && node->joinrightcols->length > 0) { + if (node->startOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinrightcols"); + _fingerprintString(ctx, "startOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinrightcols, node, "joinrightcols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinrightcols) == 1 && linitial(node->joinrightcols) == NIL)) { + _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "jointype"); - _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); - } - - if (node->lateral) { - _fingerprintString(ctx, "lateral"); - _fingerprintString(ctx, "true"); - } - if (node->perminfoindex != 0) { + if (node->winref != 0) { char buffer[50]; - sprintf(buffer, "%d", node->perminfoindex); - _fingerprintString(ctx, "perminfoindex"); + sprintf(buffer, "%d", node->winref); + _fingerprintString(ctx, "winref"); _fingerprintString(ctx, buffer); } - if (node->relid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->relid); - _fingerprintString(ctx, "relid"); - _fingerprintString(ctx, buffer); - } +} - if (node->relkind != 0) { - char buffer[2] = {node->relkind, '\0'}; - _fingerprintString(ctx, "relkind"); - _fingerprintString(ctx, buffer); +static void +_fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->pushedDown) { + _fingerprintString(ctx, "pushedDown"); + _fingerprintString(ctx, "true"); } - if (node->rellockmode != 0) { + if (node->rti != 0) { char buffer[50]; - sprintf(buffer, "%d", node->rellockmode); - _fingerprintString(ctx, "rellockmode"); + sprintf(buffer, "%d", node->rti); + _fingerprintString(ctx, "rti"); _fingerprintString(ctx, buffer); } if (true) { - _fingerprintString(ctx, "rtekind"); - _fingerprintString(ctx, _enumToStringRTEKind(node->rtekind)); + _fingerprintString(ctx, "strength"); + _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); } - if (node->securityQuals != NULL && node->securityQuals->length > 0) { + if (true) { + _fingerprintString(ctx, "waitPolicy"); + _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); + } + +} + +static void +_fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->ctes != NULL && node->ctes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "securityQuals"); + _fingerprintString(ctx, "ctes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->securityQuals, node, "securityQuals", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->securityQuals) == 1 && linitial(node->securityQuals) == NIL)) { + _fingerprintNode(ctx, node->ctes, node, "ctes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctes) == 1 && linitial(node->ctes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->security_barrier) { - _fingerprintString(ctx, "security_barrier"); + // Intentionally ignoring node->location for fingerprinting + + if (node->recursive) { + _fingerprintString(ctx, "recursive"); _fingerprintString(ctx, "true"); } - if (node->self_reference) { - _fingerprintString(ctx, "self_reference"); - _fingerprintString(ctx, "true"); +} + +static void +_fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->conname != NULL) { + _fingerprintString(ctx, "conname"); + _fingerprintString(ctx, node->conname); } - if (node->subquery != NULL) { + if (node->indexElems != NULL && node->indexElems->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "subquery"); + _fingerprintString(ctx, "indexElems"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintQuery(ctx, node->subquery, node, "subquery", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->indexElems, node, "indexElems", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexElems) == 1 && linitial(node->indexElems) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->tablefunc != NULL) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tablefunc"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTableFunc(ctx, node->tablefunc, node, "tablefunc", depth + 1); + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5820,15 +7015,25 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->tablesample != NULL) { +} + +static void +_fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + } + + if (node->infer != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tablesample"); + _fingerprintString(ctx, "infer"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTableSampleClause(ctx, node->tablesample, node, "tablesample", depth + 1); + _fingerprintInferClause(ctx, node->infer, node, "infer", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5837,280 +7042,273 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->values_lists != NULL && node->values_lists->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "values_lists"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->values_lists, node, "values_lists", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values_lists) == 1 && linitial(node->values_lists) == NIL)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->whereClause != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "whereClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintRTEPermissionInfo(FingerprintContext *ctx, const RTEPermissionInfo *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->checkAsUser != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->checkAsUser); - _fingerprintString(ctx, "checkAsUser"); - _fingerprintString(ctx, buffer); - } + // Intentionally ignoring node->location for fingerprinting - if (node->inh) { - _fingerprintString(ctx, "inh"); + if (node->search_breadth_first) { + _fingerprintString(ctx, "search_breadth_first"); _fingerprintString(ctx, "true"); } - if (true) { - int x = -1; - Bitmapset *bms = bms_copy(node->insertedCols); + if (node->search_col_list != NULL && node->search_col_list->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - _fingerprintString(ctx, "insertedCols"); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "search_col_list"); - while ((x = bms_next_member(bms, x)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->search_col_list, node, "search_col_list", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->search_col_list) == 1 && linitial(node->search_col_list) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); } - - bms_free(bms); + XXH3_freeState(prev); } - - if (node->relid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->relid); - _fingerprintString(ctx, "relid"); - _fingerprintString(ctx, buffer); + if (node->search_seq_column != NULL) { + _fingerprintString(ctx, "search_seq_column"); + _fingerprintString(ctx, node->search_seq_column); } - if (node->requiredPerms != 0) { - char buffer[50]; - sprintf(buffer, UINT64_FORMAT, node->requiredPerms); - _fingerprintString(ctx, "requiredPerms"); - _fingerprintString(ctx, buffer); - } +} - if (true) { - int x = -1; - Bitmapset *bms = bms_copy(node->selectedCols); +static void +_fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cycle_col_list != NULL && node->cycle_col_list->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - _fingerprintString(ctx, "selectedCols"); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "cycle_col_list"); - while ((x = bms_next_member(bms, x)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->cycle_col_list, node, "cycle_col_list", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cycle_col_list) == 1 && linitial(node->cycle_col_list) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); } - - bms_free(bms); + XXH3_freeState(prev); + } + if (node->cycle_mark_collation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_collation); + _fingerprintString(ctx, "cycle_mark_collation"); + _fingerprintString(ctx, buffer); } - if (true) { - int x = -1; - Bitmapset *bms = bms_copy(node->updatedCols); - - _fingerprintString(ctx, "updatedCols"); - - while ((x = bms_next_member(bms, x)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); - } - - bms_free(bms); + if (node->cycle_mark_column != NULL) { + _fingerprintString(ctx, "cycle_mark_column"); + _fingerprintString(ctx, node->cycle_mark_column); } -} - -static void -_fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->funccolcollations != NULL && node->funccolcollations->length > 0) { + if (node->cycle_mark_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccolcollations"); + _fingerprintString(ctx, "cycle_mark_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccolcollations, node, "funccolcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolcollations) == 1 && linitial(node->funccolcollations) == NIL)) { + _fingerprintNode(ctx, node->cycle_mark_default, node, "cycle_mark_default", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccolcount != 0) { + + if (node->cycle_mark_neop != 0) { char buffer[50]; - sprintf(buffer, "%d", node->funccolcount); - _fingerprintString(ctx, "funccolcount"); + sprintf(buffer, "%d", node->cycle_mark_neop); + _fingerprintString(ctx, "cycle_mark_neop"); _fingerprintString(ctx, buffer); } - if (node->funccolnames != NULL && node->funccolnames->length > 0) { + if (node->cycle_mark_type != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_type); + _fingerprintString(ctx, "cycle_mark_type"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_mark_typmod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_typmod); + _fingerprintString(ctx, "cycle_mark_typmod"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_mark_value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccolnames"); + _fingerprintString(ctx, "cycle_mark_value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccolnames, node, "funccolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolnames) == 1 && linitial(node->funccolnames) == NIL)) { + _fingerprintNode(ctx, node->cycle_mark_value, node, "cycle_mark_value", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccoltypes != NULL && node->funccoltypes->length > 0) { + + if (node->cycle_path_column != NULL) { + _fingerprintString(ctx, "cycle_path_column"); + _fingerprintString(ctx, node->cycle_path_column); + } + + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->aliascolnames != NULL && node->aliascolnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccoltypes"); + _fingerprintString(ctx, "aliascolnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccoltypes, node, "funccoltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypes) == 1 && linitial(node->funccoltypes) == NIL)) { + _fingerprintNode(ctx, node->aliascolnames, node, "aliascolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliascolnames) == 1 && linitial(node->aliascolnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccoltypmods != NULL && node->funccoltypmods->length > 0) { + if (node->ctecolcollations != NULL && node->ctecolcollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccoltypmods"); + _fingerprintString(ctx, "ctecolcollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccoltypmods, node, "funccoltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypmods) == 1 && linitial(node->funccoltypmods) == NIL)) { + _fingerprintNode(ctx, node->ctecolcollations, node, "ctecolcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolcollations) == 1 && linitial(node->ctecolcollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funcexpr != NULL) { + if (node->ctecolnames != NULL && node->ctecolnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcexpr"); + _fingerprintString(ctx, "ctecolnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcexpr, node, "funcexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctecolnames, node, "ctecolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolnames) == 1 && linitial(node->ctecolnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (true) { - int x = -1; - Bitmapset *bms = bms_copy(node->funcparams); - - _fingerprintString(ctx, "funcparams"); - - while ((x = bms_next_member(bms, x)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); - } - - bms_free(bms); - } - -} - -static void -_fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->args != NULL && node->args->length > 0) { + if (node->ctecoltypes != NULL && node->ctecoltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "ctecoltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintNode(ctx, node->ctecoltypes, node, "ctecoltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypes) == 1 && linitial(node->ctecoltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->repeatable != NULL) { + if (node->ctecoltypmods != NULL && node->ctecoltypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "repeatable"); + _fingerprintString(ctx, "ctecoltypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctecoltypmods, node, "ctecoltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypmods) == 1 && linitial(node->ctecoltypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->tsmhandler != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->tsmhandler); - _fingerprintString(ctx, "tsmhandler"); - _fingerprintString(ctx, buffer); - } - -} - -static void -_fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cascaded) { - _fingerprintString(ctx, "cascaded"); - _fingerprintString(ctx, "true"); - } - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringWCOKind(node->kind)); + _fingerprintString(ctx, "ctematerialized"); + _fingerprintString(ctx, _enumToStringCTEMaterialize(node->ctematerialized)); } - if (node->polname != NULL) { - _fingerprintString(ctx, "polname"); - _fingerprintString(ctx, node->polname); + if (node->ctename != NULL) { + _fingerprintString(ctx, "ctename"); + _fingerprintString(ctx, node->ctename); } - if (node->qual != NULL) { + if (node->ctequery != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "qual"); + _fingerprintString(ctx, "ctequery"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); + _fingerprintNode(ctx, node->ctequery, node, "ctequery", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6119,101 +7317,46 @@ _fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node XXH3_freeState(prev); } - if (node->relname != NULL) { - _fingerprintString(ctx, "relname"); - _fingerprintString(ctx, node->relname); - } - -} - -static void -_fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->eqop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->eqop); - _fingerprintString(ctx, "eqop"); - _fingerprintString(ctx, buffer); - } - - if (node->hashable) { - _fingerprintString(ctx, "hashable"); - _fingerprintString(ctx, "true"); - } - - if (node->nulls_first) { - _fingerprintString(ctx, "nulls_first"); + if (node->cterecursive) { + _fingerprintString(ctx, "cterecursive"); _fingerprintString(ctx, "true"); } - if (node->sortop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->sortop); - _fingerprintString(ctx, "sortop"); - _fingerprintString(ctx, buffer); - } - - if (node->tleSortGroupRef != 0) { + if (node->cterefcount != 0) { char buffer[50]; - sprintf(buffer, "%d", node->tleSortGroupRef); - _fingerprintString(ctx, "tleSortGroupRef"); + sprintf(buffer, "%d", node->cterefcount); + _fingerprintString(ctx, "cterefcount"); _fingerprintString(ctx, buffer); } -} - -static void -_fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->content != NULL && node->content->length > 0) { + if (node->cycle_clause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "content"); + _fingerprintString(ctx, "cycle_clause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->content, node, "content", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->content) == 1 && linitial(node->content) == NIL)) { + _fingerprintCTECycleClause(ctx, node->cycle_clause, node, "cycle_clause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringGroupingSetKind(node->kind)); - } // Intentionally ignoring node->location for fingerprinting -} - -static void -_fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->copiedOrder) { - _fingerprintString(ctx, "copiedOrder"); - _fingerprintString(ctx, "true"); - } - - if (node->endInRangeFunc != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->endInRangeFunc); - _fingerprintString(ctx, "endInRangeFunc"); - _fingerprintString(ctx, buffer); - } - - if (node->endOffset != NULL) { + if (node->search_clause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "endOffset"); + _fingerprintString(ctx, "search_clause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + _fingerprintCTESearchClause(ctx, node->search_clause, node, "search_clause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6222,104 +7365,126 @@ _fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, cons XXH3_freeState(prev); } - if (node->frameOptions != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->frameOptions); - _fingerprintString(ctx, "frameOptions"); - _fingerprintString(ctx, buffer); - } +} - if (node->inRangeAsc) { - _fingerprintString(ctx, "inRangeAsc"); - _fingerprintString(ctx, "true"); +static void +_fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "commandType"); + _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); } - if (node->inRangeColl != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->inRangeColl); - _fingerprintString(ctx, "inRangeColl"); - _fingerprintString(ctx, buffer); + if (node->condition != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "condition"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->condition, node, "condition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->inRangeNullsFirst) { - _fingerprintString(ctx, "inRangeNullsFirst"); - _fingerprintString(ctx, "true"); + if (true) { + _fingerprintString(ctx, "matchKind"); + _fingerprintString(ctx, _enumToStringMergeMatchKind(node->matchKind)); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (true) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); } - if (node->orderClause != NULL && node->orderClause->length > 0) { + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "orderClause"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->partitionClause != NULL && node->partitionClause->length > 0) { + if (node->values != NULL && node->values->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partitionClause"); + _fingerprintString(ctx, "values"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { + _fingerprintNode(ctx, node->values, node, "values", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values) == 1 && linitial(node->values) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->refname != NULL) { - _fingerprintString(ctx, "refname"); - _fingerprintString(ctx, node->refname); +} + +static void +_fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->isNew) { + _fingerprintString(ctx, "isNew"); + _fingerprintString(ctx, "true"); } - if (node->runCondition != NULL && node->runCondition->length > 0) { + if (node->isTable) { + _fingerprintString(ctx, "isTable"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + +} + +static void +_fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->returning != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "runCondition"); + _fingerprintString(ctx, "returning"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->runCondition, node, "runCondition", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->runCondition) == 1 && linitial(node->runCondition) == NIL)) { + _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->startInRangeFunc != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->startInRangeFunc); - _fingerprintString(ctx, "startInRangeFunc"); - _fingerprintString(ctx, buffer); - } - if (node->startOffset != NULL) { + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "startOffset"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6328,105 +7493,88 @@ _fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, cons XXH3_freeState(prev); } - if (node->winref != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->winref); - _fingerprintString(ctx, "winref"); - _fingerprintString(ctx, buffer); - } - } static void -_fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonArgument(FingerprintContext *ctx, const JsonArgument *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->pushedDown) { - _fingerprintString(ctx, "pushedDown"); - _fingerprintString(ctx, "true"); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->rti != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rti); - _fingerprintString(ctx, "rti"); - _fingerprintString(ctx, buffer); - } + if (node->val != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (true) { - _fingerprintString(ctx, "strength"); - _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "val"); - if (true) { - _fingerprintString(ctx, "waitPolicy"); - _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonValueExpr(ctx, node->val, node, "val", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } } static void -_fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonFuncExpr(FingerprintContext *ctx, const JsonFuncExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->ctes != NULL && node->ctes->length > 0) { + if (node->column_name != NULL) { + _fingerprintString(ctx, "column_name"); + _fingerprintString(ctx, node->column_name); + } + + if (node->context_item != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctes"); + _fingerprintString(ctx, "context_item"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctes, node, "ctes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctes) == 1 && linitial(node->ctes) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->context_item, node, "context_item", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->recursive) { - _fingerprintString(ctx, "recursive"); - _fingerprintString(ctx, "true"); - } - -} -static void -_fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->conname != NULL) { - _fingerprintString(ctx, "conname"); - _fingerprintString(ctx, node->conname); - } + // Intentionally ignoring node->location for fingerprinting - if (node->indexElems != NULL && node->indexElems->length > 0) { + if (node->on_empty != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indexElems"); + _fingerprintString(ctx, "on_empty"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indexElems, node, "indexElems", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexElems) == 1 && linitial(node->indexElems) == NIL)) { + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - if (node->whereClause != NULL) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6435,25 +7583,20 @@ _fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const XXH3_freeState(prev); } -} - -static void -_fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth) -{ if (true) { - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringJsonExprOp(node->op)); } - if (node->infer != NULL) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "infer"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintInferClause(ctx, node->infer, node, "infer", depth + 1); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6462,33 +7605,31 @@ _fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *no XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->targetList != NULL && node->targetList->length > 0) { + if (node->passing != NULL && node->passing->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "passing"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->passing, node, "passing", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing) == 1 && linitial(node->passing) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->whereClause != NULL) { + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintNode(ctx, node->pathspec, node, "pathspec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6497,119 +7638,94 @@ _fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *no XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "quotes"); + _fingerprintString(ctx, _enumToStringJsonQuotes(node->quotes)); + } + + if (true) { + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); + } + } static void -_fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTablePathSpec(FingerprintContext *ctx, const JsonTablePathSpec *node, const void *parent, const char *field_name, unsigned int depth) { // Intentionally ignoring node->location for fingerprinting - if (node->search_breadth_first) { - _fingerprintString(ctx, "search_breadth_first"); - _fingerprintString(ctx, "true"); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->search_col_list != NULL && node->search_col_list->length > 0) { + // Intentionally ignoring node->name_location for fingerprinting + + if (node->string != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "search_col_list"); + _fingerprintString(ctx, "string"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->search_col_list, node, "search_col_list", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->search_col_list) == 1 && linitial(node->search_col_list) == NIL)) { + _fingerprintNode(ctx, node->string, node, "string", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->search_seq_column != NULL) { - _fingerprintString(ctx, "search_seq_column"); - _fingerprintString(ctx, node->search_seq_column); - } } static void -_fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTable(FingerprintContext *ctx, const JsonTable *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->cycle_col_list != NULL && node->cycle_col_list->length > 0) { + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_col_list"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_col_list, node, "cycle_col_list", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cycle_col_list) == 1 && linitial(node->cycle_col_list) == NIL)) { + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cycle_mark_collation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_collation); - _fingerprintString(ctx, "cycle_mark_collation"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_column != NULL) { - _fingerprintString(ctx, "cycle_mark_column"); - _fingerprintString(ctx, node->cycle_mark_column); - } - if (node->cycle_mark_default != NULL) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_mark_default"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_mark_default, node, "cycle_mark_default", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->cycle_mark_neop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_neop); - _fingerprintString(ctx, "cycle_mark_neop"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_type != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_type); - _fingerprintString(ctx, "cycle_mark_type"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_typmod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_typmod); - _fingerprintString(ctx, "cycle_mark_typmod"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_value != NULL) { + if (node->context_item != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_mark_value"); + _fingerprintString(ctx, "context_item"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_mark_value, node, "cycle_mark_value", depth + 1); + _fingerprintJsonValueExpr(ctx, node->context_item, node, "context_item", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6618,117 +7734,122 @@ _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, XXH3_freeState(prev); } - if (node->cycle_path_column != NULL) { - _fingerprintString(ctx, "cycle_path_column"); - _fingerprintString(ctx, node->cycle_path_column); + if (node->lateral) { + _fingerprintString(ctx, "lateral"); + _fingerprintString(ctx, "true"); } // Intentionally ignoring node->location for fingerprinting -} - -static void -_fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->aliascolnames != NULL && node->aliascolnames->length > 0) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "aliascolnames"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->aliascolnames, node, "aliascolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliascolnames) == 1 && linitial(node->aliascolnames) == NIL)) { + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecolcollations != NULL && node->ctecolcollations->length > 0) { + + if (node->passing != NULL && node->passing->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecolcollations"); + _fingerprintString(ctx, "passing"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecolcollations, node, "ctecolcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolcollations) == 1 && linitial(node->ctecolcollations) == NIL)) { + _fingerprintNode(ctx, node->passing, node, "passing", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing) == 1 && linitial(node->passing) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecolnames != NULL && node->ctecolnames->length > 0) { + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecolnames"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecolnames, node, "ctecolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolnames) == 1 && linitial(node->ctecolnames) == NIL)) { + _fingerprintJsonTablePathSpec(ctx, node->pathspec, node, "pathspec", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecoltypes != NULL && node->ctecoltypes->length > 0) { + +} + +static void +_fingerprintJsonTableColumn(FingerprintContext *ctx, const JsonTableColumn *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "coltype"); + _fingerprintString(ctx, _enumToStringJsonTableColumnType(node->coltype)); + } + + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecoltypes"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecoltypes, node, "ctecoltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypes) == 1 && linitial(node->ctecoltypes) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecoltypmods != NULL && node->ctecoltypmods->length > 0) { + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecoltypmods"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecoltypmods, node, "ctecoltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypmods) == 1 && linitial(node->ctecoltypmods) == NIL)) { + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "ctematerialized"); - _fingerprintString(ctx, _enumToStringCTEMaterialize(node->ctematerialized)); - } - if (node->ctename != NULL) { - _fingerprintString(ctx, "ctename"); - _fingerprintString(ctx, node->ctename); + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->ctequery != NULL) { + if (node->on_empty != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctequery"); + _fingerprintString(ctx, "on_empty"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctequery, node, "ctequery", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6737,27 +7858,15 @@ _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node XXH3_freeState(prev); } - if (node->cterecursive) { - _fingerprintString(ctx, "cterecursive"); - _fingerprintString(ctx, "true"); - } - - if (node->cterefcount != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cterefcount); - _fingerprintString(ctx, "cterefcount"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_clause != NULL) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_clause"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCTECycleClause(ctx, node->cycle_clause, node, "cycle_clause", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6766,17 +7875,15 @@ _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->search_clause != NULL) { + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "search_clause"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCTESearchClause(ctx, node->search_clause, node, "search_clause", depth + 1); + _fingerprintJsonTablePathSpec(ctx, node->pathspec, node, "pathspec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6785,25 +7892,20 @@ _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node XXH3_freeState(prev); } -} - -static void -_fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth) -{ if (true) { - _fingerprintString(ctx, "commandType"); - _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); + _fingerprintString(ctx, "quotes"); + _fingerprintString(ctx, _enumToStringJsonQuotes(node->quotes)); } - if (node->condition != NULL) { + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "condition"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->condition, node, "condition", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6812,77 +7914,64 @@ _fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node XXH3_freeState(prev); } - if (node->matched) { - _fingerprintString(ctx, "matched"); - _fingerprintString(ctx, "true"); - } - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); } - if (node->targetList != NULL && node->targetList->length > 0) { +} + +static void +_fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->key != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "key"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->key, node, "key", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->values != NULL && node->values->length > 0) { + + if (node->value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "values"); + _fingerprintString(ctx, "value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->values, node, "values", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values) == 1 && linitial(node->values) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->value, node, "value", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonParseExpr(FingerprintContext *ctx, const JsonParseExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "commandType"); - _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); - } - - if (node->matched) { - _fingerprintString(ctx, "matched"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); - } - - if (node->qual != NULL) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "qual"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); + _fingerprintJsonValueExpr(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6891,72 +7980,44 @@ _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const XXH3_freeState(prev); } - if (node->targetList != NULL && node->targetList->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + // Intentionally ignoring node->location for fingerprinting - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } - if (node->updateColnos != NULL && node->updateColnos->length > 0) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "updateColnos"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->updateColnos, node, "updateColnos", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->updateColnos) == 1 && linitial(node->updateColnos) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->isNew) { - _fingerprintString(ctx, "isNew"); - _fingerprintString(ctx, "true"); - } - if (node->isTable) { - _fingerprintString(ctx, "isTable"); + if (node->unique_keys) { + _fingerprintString(ctx, "unique_keys"); _fingerprintString(ctx, "true"); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - } static void -_fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonScalarExpr(FingerprintContext *ctx, const JsonScalarExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->returning != NULL) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returning"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6965,15 +8026,17 @@ _fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const vo XXH3_freeState(prev); } - if (node->typeName != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6985,17 +8048,17 @@ _fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const vo } static void -_fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonSerializeExpr(FingerprintContext *ctx, const JsonSerializeExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->key != NULL) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "key"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->key, node, "key", depth + 1); + _fingerprintJsonValueExpr(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7004,15 +8067,17 @@ _fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, cons XXH3_freeState(prev); } - if (node->value != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "value"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintJsonValueExpr(ctx, node->value, node, "value", depth + 1); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7729,6 +8794,22 @@ _fingerprintMergeStmt(FingerprintContext *ctx, const MergeStmt *node, const void XXH3_freeState(prev); } + if (node->returningList != NULL && node->returningList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returningList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } if (node->sourceRelation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -9233,6 +10314,13 @@ _fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const vo _fingerprintString(ctx, node->indexspace); } + if (node->inhcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inhcount); + _fingerprintString(ctx, "inhcount"); + _fingerprintString(ctx, buffer); + } + if (node->initdeferred) { _fingerprintString(ctx, "initdeferred"); _fingerprintString(ctx, "true"); @@ -11652,11 +12740,21 @@ _fingerprintAlterStatsStmt(FingerprintContext *ctx, const AlterStatsStmt *node, _fingerprintString(ctx, "true"); } - if (node->stxstattarget != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stxstattarget); + if (node->stxstattarget != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); _fingerprintString(ctx, "stxstattarget"); - _fingerprintString(ctx, buffer); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->stxstattarget, node, "stxstattarget", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } } @@ -12361,6 +13459,8 @@ _fingerprintTransactionStmt(FingerprintContext *ctx, const TransactionStmt *node _fingerprintString(ctx, _enumToStringTransactionStmtKind(node->kind)); } + // Intentionally ignoring node->location for fingerprinting + // Intentionally ignoring node->options for fingerprinting // Intentionally ignoring node->savepoint_name for fingerprinting @@ -13384,6 +14484,13 @@ _fingerprintExecuteStmt(FingerprintContext *ctx, const ExecuteStmt *node, const static void _fingerprintDeallocateStmt(FingerprintContext *ctx, const DeallocateStmt *node, const void *parent, const char *field_name, unsigned int depth) { + if (node->isall) { + _fingerprintString(ctx, "isall"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + // Intentionally ignoring node->name for fingerprinting } diff --git a/parser/include/pg_query_outfuncs_conds.c b/parser/include/pg_query_outfuncs_conds.c index 6fa3fb22..38236691 100644 --- a/parser/include/pg_query_outfuncs_conds.c +++ b/parser/include/pg_query_outfuncs_conds.c @@ -54,6 +54,12 @@ case T_GroupingFunc: case T_WindowFunc: OUT_NODE(WindowFunc, WindowFunc, window_func, WINDOW_FUNC, WindowFunc, window_func); break; +case T_WindowFuncRunCondition: + OUT_NODE(WindowFuncRunCondition, WindowFuncRunCondition, window_func_run_condition, WINDOW_FUNC_RUN_CONDITION, WindowFuncRunCondition, window_func_run_condition); + break; +case T_MergeSupportFunc: + OUT_NODE(MergeSupportFunc, MergeSupportFunc, merge_support_func, MERGE_SUPPORT_FUNC, MergeSupportFunc, merge_support_func); + break; case T_SubscriptingRef: OUT_NODE(SubscriptingRef, SubscriptingRef, subscripting_ref, SUBSCRIPTING_REF, SubscriptingRef, subscripting_ref); break; @@ -153,12 +159,30 @@ case T_JsonConstructorExpr: case T_JsonIsPredicate: OUT_NODE(JsonIsPredicate, JsonIsPredicate, json_is_predicate, JSON_IS_PREDICATE, JsonIsPredicate, json_is_predicate); break; +case T_JsonBehavior: + OUT_NODE(JsonBehavior, JsonBehavior, json_behavior, JSON_BEHAVIOR, JsonBehavior, json_behavior); + break; +case T_JsonExpr: + OUT_NODE(JsonExpr, JsonExpr, json_expr, JSON_EXPR, JsonExpr, json_expr); + break; +case T_JsonTablePath: + OUT_NODE(JsonTablePath, JsonTablePath, json_table_path, JSON_TABLE_PATH, JsonTablePath, json_table_path); + break; +case T_JsonTablePathScan: + OUT_NODE(JsonTablePathScan, JsonTablePathScan, json_table_path_scan, JSON_TABLE_PATH_SCAN, JsonTablePathScan, json_table_path_scan); + break; +case T_JsonTableSiblingJoin: + OUT_NODE(JsonTableSiblingJoin, JsonTableSiblingJoin, json_table_sibling_join, JSON_TABLE_SIBLING_JOIN, JsonTableSiblingJoin, json_table_sibling_join); + break; case T_NullTest: OUT_NODE(NullTest, NullTest, null_test, NULL_TEST, NullTest, null_test); break; case T_BooleanTest: OUT_NODE(BooleanTest, BooleanTest, boolean_test, BOOLEAN_TEST, BooleanTest, boolean_test); break; +case T_MergeAction: + OUT_NODE(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); + break; case T_CoerceToDomain: OUT_NODE(CoerceToDomain, CoerceToDomain, coerce_to_domain, COERCE_TO_DOMAIN, CoerceToDomain, coerce_to_domain); break; @@ -288,6 +312,9 @@ case T_PartitionBoundSpec: case T_PartitionRangeDatum: OUT_NODE(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); break; +case T_SinglePartitionSpec: + OUT_NODE(SinglePartitionSpec, SinglePartitionSpec, single_partition_spec, SINGLE_PARTITION_SPEC, SinglePartitionSpec, single_partition_spec); + break; case T_PartitionCmd: OUT_NODE(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); break; @@ -339,18 +366,39 @@ case T_CommonTableExpr: case T_MergeWhenClause: OUT_NODE(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); break; -case T_MergeAction: - OUT_NODE(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); - break; case T_TriggerTransition: OUT_NODE(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); break; case T_JsonOutput: OUT_NODE(JsonOutput, JsonOutput, json_output, JSON_OUTPUT, JsonOutput, json_output); break; +case T_JsonArgument: + OUT_NODE(JsonArgument, JsonArgument, json_argument, JSON_ARGUMENT, JsonArgument, json_argument); + break; +case T_JsonFuncExpr: + OUT_NODE(JsonFuncExpr, JsonFuncExpr, json_func_expr, JSON_FUNC_EXPR, JsonFuncExpr, json_func_expr); + break; +case T_JsonTablePathSpec: + OUT_NODE(JsonTablePathSpec, JsonTablePathSpec, json_table_path_spec, JSON_TABLE_PATH_SPEC, JsonTablePathSpec, json_table_path_spec); + break; +case T_JsonTable: + OUT_NODE(JsonTable, JsonTable, json_table, JSON_TABLE, JsonTable, json_table); + break; +case T_JsonTableColumn: + OUT_NODE(JsonTableColumn, JsonTableColumn, json_table_column, JSON_TABLE_COLUMN, JsonTableColumn, json_table_column); + break; case T_JsonKeyValue: OUT_NODE(JsonKeyValue, JsonKeyValue, json_key_value, JSON_KEY_VALUE, JsonKeyValue, json_key_value); break; +case T_JsonParseExpr: + OUT_NODE(JsonParseExpr, JsonParseExpr, json_parse_expr, JSON_PARSE_EXPR, JsonParseExpr, json_parse_expr); + break; +case T_JsonScalarExpr: + OUT_NODE(JsonScalarExpr, JsonScalarExpr, json_scalar_expr, JSON_SCALAR_EXPR, JsonScalarExpr, json_scalar_expr); + break; +case T_JsonSerializeExpr: + OUT_NODE(JsonSerializeExpr, JsonSerializeExpr, json_serialize_expr, JSON_SERIALIZE_EXPR, JsonSerializeExpr, json_serialize_expr); + break; case T_JsonObjectConstructor: OUT_NODE(JsonObjectConstructor, JsonObjectConstructor, json_object_constructor, JSON_OBJECT_CONSTRUCTOR, JsonObjectConstructor, json_object_constructor); break; diff --git a/parser/include/pg_query_outfuncs_defs.c b/parser/include/pg_query_outfuncs_defs.c index 57522fe6..a91e515e 100644 --- a/parser/include/pg_query_outfuncs_defs.c +++ b/parser/include/pg_query_outfuncs_defs.c @@ -9,6 +9,8 @@ static void _outParam(OUT_TYPE(Param, Param) out_node, const Param *node); static void _outAggref(OUT_TYPE(Aggref, Aggref) out_node, const Aggref *node); static void _outGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) out_node, const GroupingFunc *node); static void _outWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) out_node, const WindowFunc *node); +static void _outWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) out_node, const WindowFuncRunCondition *node); +static void _outMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) out_node, const MergeSupportFunc *node); static void _outSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) out_node, const SubscriptingRef *node); static void _outFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) out_node, const FuncExpr *node); static void _outNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) out_node, const NamedArgExpr *node); @@ -42,8 +44,14 @@ static void _outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out_node, c static void _outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out_node, const JsonValueExpr *node); static void _outJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) out_node, const JsonConstructorExpr *node); static void _outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out_node, const JsonIsPredicate *node); +static void _outJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) out_node, const JsonBehavior *node); +static void _outJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) out_node, const JsonExpr *node); +static void _outJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) out_node, const JsonTablePath *node); +static void _outJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) out_node, const JsonTablePathScan *node); +static void _outJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) out_node, const JsonTableSiblingJoin *node); static void _outNullTest(OUT_TYPE(NullTest, NullTest) out_node, const NullTest *node); static void _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out_node, const BooleanTest *node); +static void _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out_node, const MergeAction *node); static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out_node, const CoerceToDomain *node); static void _outCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) out_node, const CoerceToDomainValue *node); static void _outSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) out_node, const SetToDefault *node); @@ -87,6 +95,7 @@ static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, c static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node); static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node); static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node); +static void _outSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) out_node, const SinglePartitionSpec *node); static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node); static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node); static void _outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out_node, const RTEPermissionInfo *node); @@ -104,10 +113,17 @@ static void _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out_n static void _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out_node, const CTECycleClause *node); static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node); static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out_node, const MergeWhenClause *node); -static void _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out_node, const MergeAction *node); static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node); static void _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out_node, const JsonOutput *node); +static void _outJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) out_node, const JsonArgument *node); +static void _outJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) out_node, const JsonFuncExpr *node); +static void _outJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) out_node, const JsonTablePathSpec *node); +static void _outJsonTable(OUT_TYPE(JsonTable, JsonTable) out_node, const JsonTable *node); +static void _outJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) out_node, const JsonTableColumn *node); static void _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out_node, const JsonKeyValue *node); +static void _outJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) out_node, const JsonParseExpr *node); +static void _outJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) out_node, const JsonScalarExpr *node); +static void _outJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) out_node, const JsonSerializeExpr *node); static void _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out_node, const JsonObjectConstructor *node); static void _outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out_node, const JsonArrayConstructor *node); static void _outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out_node, const JsonArrayQueryConstructor *node); @@ -267,6 +283,7 @@ _outRangeVar(OUT_TYPE(RangeVar, RangeVar) out, const RangeVar *node) static void _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node) { + WRITE_ENUM_FIELD(TableFuncType, functype, functype, functype); WRITE_LIST_FIELD(ns_uris, ns_uris, ns_uris); WRITE_LIST_FIELD(ns_names, ns_names, ns_names); WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr); @@ -277,7 +294,10 @@ _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node) WRITE_LIST_FIELD(colcollations, colcollations, colcollations); WRITE_LIST_FIELD(colexprs, colexprs, colexprs); WRITE_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs); + WRITE_LIST_FIELD(colvalexprs, colvalexprs, colvalexprs); + WRITE_LIST_FIELD(passingvalexprs, passingvalexprs, passingvalexprs); WRITE_BITMAPSET_FIELD(notnulls, notnulls, notnulls); + WRITE_NODE_PTR_FIELD(plan, plan, plan); WRITE_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol); WRITE_INT_FIELD(location, location, location); } @@ -360,12 +380,30 @@ _outWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) out, const WindowFunc *node) WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); WRITE_LIST_FIELD(args, args, args); WRITE_NODE_PTR_FIELD(aggfilter, aggfilter, aggfilter); + WRITE_LIST_FIELD(run_condition, runCondition, runCondition); WRITE_UINT_FIELD(winref, winref, winref); WRITE_BOOL_FIELD(winstar, winstar, winstar); WRITE_BOOL_FIELD(winagg, winagg, winagg); WRITE_INT_FIELD(location, location, location); } +static void +_outWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) out, const WindowFuncRunCondition *node) +{ + WRITE_UINT_FIELD(opno, opno, opno); + WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); + WRITE_BOOL_FIELD(wfunc_left, wfunc_left, wfunc_left); + WRITE_NODE_PTR_FIELD(arg, arg, arg); +} + +static void +_outMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) out, const MergeSupportFunc *node) +{ + WRITE_UINT_FIELD(msftype, msftype, msftype); + WRITE_UINT_FIELD(msfcollid, msfcollid, msfcollid); + WRITE_INT_FIELD(location, location, location); +} + static void _outSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) out, const SubscriptingRef *node) { @@ -714,6 +752,59 @@ _outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out, const JsonIs WRITE_INT_FIELD(location, location, location); } +static void +_outJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) out, const JsonBehavior *node) +{ + WRITE_ENUM_FIELD(JsonBehaviorType, btype, btype, btype); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_BOOL_FIELD(coerce, coerce, coerce); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) out, const JsonExpr *node) +{ + WRITE_ENUM_FIELD(JsonExprOp, op, op, op); + WRITE_STRING_FIELD(column_name, column_name, column_name); + WRITE_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_NODE_PTR_FIELD(path_spec, path_spec, path_spec); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + WRITE_LIST_FIELD(passing_names, passing_names, passing_names); + WRITE_LIST_FIELD(passing_values, passing_values, passing_values); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_BOOL_FIELD(use_io_coercion, use_io_coercion, use_io_coercion); + WRITE_BOOL_FIELD(use_json_coercion, use_json_coercion, use_json_coercion); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_BOOL_FIELD(omit_quotes, omit_quotes, omit_quotes); + WRITE_UINT_FIELD(collation, collation, collation); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) out, const JsonTablePath *node) +{ + WRITE_STRING_FIELD(name, name, name); +} + +static void +_outJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) out, const JsonTablePathScan *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePath, json_table_path, path, path, path); + WRITE_BOOL_FIELD(error_on_error, errorOnError, errorOnError); + WRITE_NODE_PTR_FIELD(child, child, child); + WRITE_INT_FIELD(col_min, colMin, colMin); + WRITE_INT_FIELD(col_max, colMax, colMax); +} + +static void +_outJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) out, const JsonTableSiblingJoin *node) +{ + WRITE_NODE_PTR_FIELD(lplan, lplan, lplan); + WRITE_NODE_PTR_FIELD(rplan, rplan, rplan); +} + static void _outNullTest(OUT_TYPE(NullTest, NullTest) out, const NullTest *node) { @@ -731,6 +822,17 @@ _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out, const BooleanTest *node) WRITE_INT_FIELD(location, location, location); } +static void +_outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node) +{ + WRITE_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); + WRITE_ENUM_FIELD(OverridingKind, override, override, override); + WRITE_NODE_PTR_FIELD(qual, qual, qual); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos); +} + static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out, const CoerceToDomain *node) { @@ -858,7 +960,8 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node) WRITE_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos); WRITE_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree); WRITE_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList); - WRITE_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin); + WRITE_INT_FIELD(merge_target_relation, mergeTargetRelation, mergeTargetRelation); + WRITE_NODE_PTR_FIELD(merge_join_condition, mergeJoinCondition, mergeJoinCondition); WRITE_LIST_FIELD(target_list, targetList, targetList); WRITE_ENUM_FIELD(OverridingKind, override, override, override); WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict); @@ -1190,6 +1293,11 @@ _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, WRITE_INT_FIELD(location, location, location); } +static void +_outSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) out, const SinglePartitionSpec *node) +{ +} + static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node) { @@ -1201,12 +1309,15 @@ _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *n static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node) { + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); WRITE_UINT_FIELD(relid, relid, relid); + WRITE_BOOL_FIELD(inh, inh, inh); WRITE_CHAR_FIELD(relkind, relkind, relkind); WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode); - WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); WRITE_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex); + WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier); WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype); @@ -1227,10 +1338,7 @@ _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntr WRITE_LIST_FIELD(colcollations, colcollations, colcollations); WRITE_STRING_FIELD(enrname, enrname, enrname); WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); WRITE_BOOL_FIELD(lateral, lateral, lateral); - WRITE_BOOL_FIELD(inh, inh, inh); WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals); } @@ -1305,7 +1413,6 @@ _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *n WRITE_INT_FIELD(frame_options, frameOptions, frameOptions); WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset); WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - WRITE_LIST_FIELD(run_condition, runCondition, runCondition); WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); @@ -1396,7 +1503,7 @@ _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const Common static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node) { - WRITE_BOOL_FIELD(matched, matched, matched); + WRITE_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); WRITE_ENUM_FIELD(OverridingKind, override, override, override); WRITE_NODE_PTR_FIELD(condition, condition, condition); @@ -1404,17 +1511,6 @@ _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeW WRITE_LIST_FIELD(values, values, values); } -static void -_outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node) -{ - WRITE_BOOL_FIELD(matched, matched, matched); - WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); - WRITE_ENUM_FIELD(OverridingKind, override, override, override); - WRITE_NODE_PTR_FIELD(qual, qual, qual); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos); -} - static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node) { @@ -1430,6 +1526,67 @@ _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out, const JsonOutput *node) WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); } +static void +_outJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) out, const JsonArgument *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, val, val, val); + WRITE_STRING_FIELD(name, name, name); +} + +static void +_outJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) out, const JsonFuncExpr *node) +{ + WRITE_ENUM_FIELD(JsonExprOp, op, op, op); + WRITE_STRING_FIELD(column_name, column_name, column_name); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + WRITE_NODE_PTR_FIELD(pathspec, pathspec, pathspec); + WRITE_LIST_FIELD(passing, passing, passing); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) out, const JsonTablePathSpec *node) +{ + WRITE_NODE_PTR_FIELD(string, string, string); + WRITE_STRING_FIELD(name, name, name); + WRITE_INT_FIELD(name_location, name_location, name_location); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonTable(OUT_TYPE(JsonTable, JsonTable) out, const JsonTable *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + WRITE_LIST_FIELD(passing, passing, passing); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) out, const JsonTableColumn *node) +{ + WRITE_ENUM_FIELD(JsonTableColumnType, coltype, coltype, coltype); + WRITE_STRING_FIELD(name, name, name); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_INT_FIELD(location, location, location); +} + static void _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out, const JsonKeyValue *node) { @@ -1437,6 +1594,31 @@ _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out, const JsonKeyValue *n WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value); } +static void +_outJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) out, const JsonParseExpr *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) out, const JsonScalarExpr *node) +{ + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) out, const JsonSerializeExpr *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_INT_FIELD(location, location, location); +} + static void _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out, const JsonObjectConstructor *node) { @@ -1541,6 +1723,7 @@ _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node) WRITE_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); WRITE_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); WRITE_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); + WRITE_LIST_FIELD(returning_list, returningList, returningList); WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); } @@ -1753,11 +1936,13 @@ _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node) WRITE_STRING_FIELD(conname, conname, conname); WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - WRITE_INT_FIELD(location, location, location); + WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation); + WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid); WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); WRITE_CHAR_FIELD(generated_when, generated_when, generated_when); + WRITE_INT_FIELD(inhcount, inhcount, inhcount); WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); WRITE_LIST_FIELD(keys, keys, keys); WRITE_LIST_FIELD(including, including, including); @@ -1777,8 +1962,7 @@ _outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node) WRITE_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); - WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation); - WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid); + WRITE_INT_FIELD(location, location, location); } static void @@ -2215,7 +2399,7 @@ static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node) { WRITE_LIST_FIELD(defnames, defnames, defnames); - WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget); + WRITE_NODE_PTR_FIELD(stxstattarget, stxstattarget, stxstattarget); WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } @@ -2372,6 +2556,7 @@ _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const Transa WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); WRITE_STRING_FIELD(gid, gid, gid); WRITE_BOOL_FIELD(chain, chain, chain); + WRITE_INT_FIELD(location, location, location); } static void @@ -2597,6 +2782,8 @@ static void _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node) { WRITE_STRING_FIELD(name, name, name); + WRITE_BOOL_FIELD(isall, isall, isall); + WRITE_INT_FIELD(location, location, location); } static void diff --git a/parser/include/pg_query_readfuncs_conds.c b/parser/include/pg_query_readfuncs_conds.c index dade57cc..18c10836 100644 --- a/parser/include/pg_query_readfuncs_conds.c +++ b/parser/include/pg_query_readfuncs_conds.c @@ -9,6 +9,8 @@ READ_COND(Aggref, Aggref, aggref, AGGREF, Aggref, aggref); READ_COND(GroupingFunc, GroupingFunc, grouping_func, GROUPING_FUNC, GroupingFunc, grouping_func); READ_COND(WindowFunc, WindowFunc, window_func, WINDOW_FUNC, WindowFunc, window_func); + READ_COND(WindowFuncRunCondition, WindowFuncRunCondition, window_func_run_condition, WINDOW_FUNC_RUN_CONDITION, WindowFuncRunCondition, window_func_run_condition); + READ_COND(MergeSupportFunc, MergeSupportFunc, merge_support_func, MERGE_SUPPORT_FUNC, MergeSupportFunc, merge_support_func); READ_COND(SubscriptingRef, SubscriptingRef, subscripting_ref, SUBSCRIPTING_REF, SubscriptingRef, subscripting_ref); READ_COND(FuncExpr, FuncExpr, func_expr, FUNC_EXPR, FuncExpr, func_expr); READ_COND(NamedArgExpr, NamedArgExpr, named_arg_expr, NAMED_ARG_EXPR, NamedArgExpr, named_arg_expr); @@ -42,8 +44,14 @@ READ_COND(JsonValueExpr, JsonValueExpr, json_value_expr, JSON_VALUE_EXPR, JsonValueExpr, json_value_expr); READ_COND(JsonConstructorExpr, JsonConstructorExpr, json_constructor_expr, JSON_CONSTRUCTOR_EXPR, JsonConstructorExpr, json_constructor_expr); READ_COND(JsonIsPredicate, JsonIsPredicate, json_is_predicate, JSON_IS_PREDICATE, JsonIsPredicate, json_is_predicate); + READ_COND(JsonBehavior, JsonBehavior, json_behavior, JSON_BEHAVIOR, JsonBehavior, json_behavior); + READ_COND(JsonExpr, JsonExpr, json_expr, JSON_EXPR, JsonExpr, json_expr); + READ_COND(JsonTablePath, JsonTablePath, json_table_path, JSON_TABLE_PATH, JsonTablePath, json_table_path); + READ_COND(JsonTablePathScan, JsonTablePathScan, json_table_path_scan, JSON_TABLE_PATH_SCAN, JsonTablePathScan, json_table_path_scan); + READ_COND(JsonTableSiblingJoin, JsonTableSiblingJoin, json_table_sibling_join, JSON_TABLE_SIBLING_JOIN, JsonTableSiblingJoin, json_table_sibling_join); READ_COND(NullTest, NullTest, null_test, NULL_TEST, NullTest, null_test); READ_COND(BooleanTest, BooleanTest, boolean_test, BOOLEAN_TEST, BooleanTest, boolean_test); + READ_COND(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); READ_COND(CoerceToDomain, CoerceToDomain, coerce_to_domain, COERCE_TO_DOMAIN, CoerceToDomain, coerce_to_domain); READ_COND(CoerceToDomainValue, CoerceToDomainValue, coerce_to_domain_value, COERCE_TO_DOMAIN_VALUE, CoerceToDomainValue, coerce_to_domain_value); READ_COND(SetToDefault, SetToDefault, set_to_default, SET_TO_DEFAULT, SetToDefault, set_to_default); @@ -87,6 +95,7 @@ READ_COND(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec); READ_COND(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec); READ_COND(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); + READ_COND(SinglePartitionSpec, SinglePartitionSpec, single_partition_spec, SINGLE_PARTITION_SPEC, SinglePartitionSpec, single_partition_spec); READ_COND(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); READ_COND(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry); READ_COND(RTEPermissionInfo, RTEPermissionInfo, rtepermission_info, RTEPERMISSION_INFO, RTEPermissionInfo, rtepermission_info); @@ -104,10 +113,17 @@ READ_COND(CTECycleClause, CTECycleClause, ctecycle_clause, CTECYCLE_CLAUSE, CTECycleClause, ctecycle_clause); READ_COND(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr); READ_COND(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); - READ_COND(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); READ_COND(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); READ_COND(JsonOutput, JsonOutput, json_output, JSON_OUTPUT, JsonOutput, json_output); + READ_COND(JsonArgument, JsonArgument, json_argument, JSON_ARGUMENT, JsonArgument, json_argument); + READ_COND(JsonFuncExpr, JsonFuncExpr, json_func_expr, JSON_FUNC_EXPR, JsonFuncExpr, json_func_expr); + READ_COND(JsonTablePathSpec, JsonTablePathSpec, json_table_path_spec, JSON_TABLE_PATH_SPEC, JsonTablePathSpec, json_table_path_spec); + READ_COND(JsonTable, JsonTable, json_table, JSON_TABLE, JsonTable, json_table); + READ_COND(JsonTableColumn, JsonTableColumn, json_table_column, JSON_TABLE_COLUMN, JsonTableColumn, json_table_column); READ_COND(JsonKeyValue, JsonKeyValue, json_key_value, JSON_KEY_VALUE, JsonKeyValue, json_key_value); + READ_COND(JsonParseExpr, JsonParseExpr, json_parse_expr, JSON_PARSE_EXPR, JsonParseExpr, json_parse_expr); + READ_COND(JsonScalarExpr, JsonScalarExpr, json_scalar_expr, JSON_SCALAR_EXPR, JsonScalarExpr, json_scalar_expr); + READ_COND(JsonSerializeExpr, JsonSerializeExpr, json_serialize_expr, JSON_SERIALIZE_EXPR, JsonSerializeExpr, json_serialize_expr); READ_COND(JsonObjectConstructor, JsonObjectConstructor, json_object_constructor, JSON_OBJECT_CONSTRUCTOR, JsonObjectConstructor, json_object_constructor); READ_COND(JsonArrayConstructor, JsonArrayConstructor, json_array_constructor, JSON_ARRAY_CONSTRUCTOR, JsonArrayConstructor, json_array_constructor); READ_COND(JsonArrayQueryConstructor, JsonArrayQueryConstructor, json_array_query_constructor, JSON_ARRAY_QUERY_CONSTRUCTOR, JsonArrayQueryConstructor, json_array_query_constructor); diff --git a/parser/include/pg_query_readfuncs_defs.c b/parser/include/pg_query_readfuncs_defs.c index 60aa21dc..91dc1cee 100644 --- a/parser/include/pg_query_readfuncs_defs.c +++ b/parser/include/pg_query_readfuncs_defs.c @@ -9,6 +9,8 @@ static Param * _readParam(OUT_TYPE(Param, Param) msg); static Aggref * _readAggref(OUT_TYPE(Aggref, Aggref) msg); static GroupingFunc * _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg); static WindowFunc * _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg); +static WindowFuncRunCondition * _readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg); +static MergeSupportFunc * _readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg); static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg); static FuncExpr * _readFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) msg); static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg); @@ -42,8 +44,14 @@ static JsonReturning * _readJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) static JsonValueExpr * _readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg); static JsonConstructorExpr * _readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg); static JsonIsPredicate * _readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg); +static JsonBehavior * _readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg); +static JsonExpr * _readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg); +static JsonTablePath * _readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg); +static JsonTablePathScan * _readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg); +static JsonTableSiblingJoin * _readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg); static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg); static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg); +static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg); static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg); static CoerceToDomainValue * _readCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) msg); static SetToDefault * _readSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) msg); @@ -87,6 +95,7 @@ static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg); static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg); static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg); +static SinglePartitionSpec * _readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg); static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg); static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg); static RTEPermissionInfo * _readRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) msg); @@ -104,10 +113,17 @@ static CTESearchClause * _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearc static CTECycleClause * _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg); static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg); static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg); -static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg); static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg); static JsonOutput * _readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg); +static JsonArgument * _readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg); +static JsonFuncExpr * _readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg); +static JsonTablePathSpec * _readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg); +static JsonTable * _readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg); +static JsonTableColumn * _readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg); static JsonKeyValue * _readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg); +static JsonParseExpr * _readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg); +static JsonScalarExpr * _readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg); +static JsonSerializeExpr * _readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg); static JsonObjectConstructor * _readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg); static JsonArrayConstructor * _readJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) msg); static JsonArrayQueryConstructor * _readJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) msg); @@ -272,6 +288,7 @@ static TableFunc * _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg) { TableFunc *node = makeNode(TableFunc); + READ_ENUM_FIELD(TableFuncType, functype, functype, functype); READ_LIST_FIELD(ns_uris, ns_uris, ns_uris); READ_LIST_FIELD(ns_names, ns_names, ns_names); READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr); @@ -282,7 +299,10 @@ _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg) READ_LIST_FIELD(colcollations, colcollations, colcollations); READ_LIST_FIELD(colexprs, colexprs, colexprs); READ_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs); + READ_LIST_FIELD(colvalexprs, colvalexprs, colvalexprs); + READ_LIST_FIELD(passingvalexprs, passingvalexprs, passingvalexprs); READ_BITMAPSET_FIELD(notnulls, notnulls, notnulls); + READ_NODE_PTR_FIELD(plan, plan, plan); READ_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol); READ_INT_FIELD(location, location, location); return node; @@ -344,7 +364,7 @@ _readAggref(OUT_TYPE(Aggref, Aggref) msg) READ_LIST_FIELD(args, args, args); READ_LIST_FIELD(aggorder, aggorder, aggorder); READ_LIST_FIELD(aggdistinct, aggdistinct, aggdistinct); - READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter); + READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*); READ_BOOL_FIELD(aggstar, aggstar, aggstar); READ_BOOL_FIELD(aggvariadic, aggvariadic, aggvariadic); READ_CHAR_FIELD(aggkind, aggkind, aggkind); @@ -376,7 +396,8 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg) READ_UINT_FIELD(wincollid, wincollid, wincollid); READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter); + READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*); + READ_LIST_FIELD(run_condition, runCondition, runCondition); READ_UINT_FIELD(winref, winref, winref); READ_BOOL_FIELD(winstar, winstar, winstar); READ_BOOL_FIELD(winagg, winagg, winagg); @@ -384,6 +405,27 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg) return node; } +static WindowFuncRunCondition * +_readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg) +{ + WindowFuncRunCondition *node = makeNode(WindowFuncRunCondition); + READ_UINT_FIELD(opno, opno, opno); + READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); + READ_BOOL_FIELD(wfunc_left, wfunc_left, wfunc_left); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); + return node; +} + +static MergeSupportFunc * +_readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg) +{ + MergeSupportFunc *node = makeNode(MergeSupportFunc); + READ_UINT_FIELD(msftype, msftype, msftype); + READ_UINT_FIELD(msfcollid, msfcollid, msfcollid); + READ_INT_FIELD(location, location, location); + return node; +} + static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg) { @@ -395,8 +437,8 @@ _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg) READ_UINT_FIELD(refcollid, refcollid, refcollid); READ_LIST_FIELD(refupperindexpr, refupperindexpr, refupperindexpr); READ_LIST_FIELD(reflowerindexpr, reflowerindexpr, reflowerindexpr); - READ_EXPR_PTR_FIELD(refexpr, refexpr, refexpr); - READ_EXPR_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr); + READ_ABSTRACT_PTR_FIELD(refexpr, refexpr, refexpr, Expr*); + READ_ABSTRACT_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr, Expr*); return node; } @@ -420,7 +462,7 @@ static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg) { NamedArgExpr *node = makeNode(NamedArgExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_STRING_FIELD(name, name, name); READ_INT_FIELD(argnumber, argnumber, argnumber); READ_INT_FIELD(location, location, location); @@ -539,7 +581,7 @@ static FieldSelect * _readFieldSelect(OUT_TYPE(FieldSelect, FieldSelect) msg) { FieldSelect *node = makeNode(FieldSelect); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_INT_FIELD(fieldnum, fieldnum, fieldnum); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); @@ -551,7 +593,7 @@ static FieldStore * _readFieldStore(OUT_TYPE(FieldStore, FieldStore) msg) { FieldStore *node = makeNode(FieldStore); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_LIST_FIELD(newvals, newvals, newvals); READ_LIST_FIELD(fieldnums, fieldnums, fieldnums); READ_UINT_FIELD(resulttype, resulttype, resulttype); @@ -562,7 +604,7 @@ static RelabelType * _readRelabelType(OUT_TYPE(RelabelType, RelabelType) msg) { RelabelType *node = makeNode(RelabelType); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -575,7 +617,7 @@ static CoerceViaIO * _readCoerceViaIO(OUT_TYPE(CoerceViaIO, CoerceViaIO) msg) { CoerceViaIO *node = makeNode(CoerceViaIO); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); READ_ENUM_FIELD(CoercionForm, coerceformat, coerceformat, coerceformat); @@ -587,8 +629,8 @@ static ArrayCoerceExpr * _readArrayCoerceExpr(OUT_TYPE(ArrayCoerceExpr, ArrayCoerceExpr) msg) { ArrayCoerceExpr *node = makeNode(ArrayCoerceExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); - READ_EXPR_PTR_FIELD(elemexpr, elemexpr, elemexpr); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); + READ_ABSTRACT_PTR_FIELD(elemexpr, elemexpr, elemexpr, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -601,7 +643,7 @@ static ConvertRowtypeExpr * _readConvertRowtypeExpr(OUT_TYPE(ConvertRowtypeExpr, ConvertRowtypeExpr) msg) { ConvertRowtypeExpr *node = makeNode(ConvertRowtypeExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_ENUM_FIELD(CoercionForm, convertformat, convertformat, convertformat); READ_INT_FIELD(location, location, location); @@ -612,7 +654,7 @@ static CollateExpr * _readCollateExpr(OUT_TYPE(CollateExpr, CollateExpr) msg) { CollateExpr *node = makeNode(CollateExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(coll_oid, collOid, collOid); READ_INT_FIELD(location, location, location); return node; @@ -624,9 +666,9 @@ _readCaseExpr(OUT_TYPE(CaseExpr, CaseExpr) msg) CaseExpr *node = makeNode(CaseExpr); READ_UINT_FIELD(casetype, casetype, casetype); READ_UINT_FIELD(casecollid, casecollid, casecollid); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(defresult, defresult, defresult); + READ_ABSTRACT_PTR_FIELD(defresult, defresult, defresult, Expr*); READ_INT_FIELD(location, location, location); return node; } @@ -635,8 +677,8 @@ static CaseWhen * _readCaseWhen(OUT_TYPE(CaseWhen, CaseWhen) msg) { CaseWhen *node = makeNode(CaseWhen); - READ_EXPR_PTR_FIELD(expr, expr, expr); - READ_EXPR_PTR_FIELD(result, result, result); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); + READ_ABSTRACT_PTR_FIELD(result, result, result, Expr*); READ_INT_FIELD(location, location, location); return node; } @@ -765,8 +807,8 @@ static JsonValueExpr * _readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg) { JsonValueExpr *node = makeNode(JsonValueExpr); - READ_EXPR_PTR_FIELD(raw_expr, raw_expr, raw_expr); - READ_EXPR_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + READ_ABSTRACT_PTR_FIELD(raw_expr, raw_expr, raw_expr, Expr*); + READ_ABSTRACT_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr, Expr*); READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); return node; } @@ -777,8 +819,8 @@ _readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg) JsonConstructorExpr *node = makeNode(JsonConstructorExpr); READ_ENUM_FIELD(JsonConstructorType, type, type, type); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(func, func, func); - READ_EXPR_PTR_FIELD(coercion, coercion, coercion); + READ_ABSTRACT_PTR_FIELD(func, func, func, Expr*); + READ_ABSTRACT_PTR_FIELD(coercion, coercion, coercion, Expr*); READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); READ_BOOL_FIELD(unique, unique, unique); @@ -798,11 +840,74 @@ _readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg) return node; } +static JsonBehavior * +_readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg) +{ + JsonBehavior *node = makeNode(JsonBehavior); + READ_ENUM_FIELD(JsonBehaviorType, btype, btype, btype); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_BOOL_FIELD(coerce, coerce, coerce); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonExpr * +_readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg) +{ + JsonExpr *node = makeNode(JsonExpr); + READ_ENUM_FIELD(JsonExprOp, op, op, op); + READ_STRING_FIELD(column_name, column_name, column_name); + READ_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_NODE_PTR_FIELD(path_spec, path_spec, path_spec); + READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + READ_LIST_FIELD(passing_names, passing_names, passing_names); + READ_LIST_FIELD(passing_values, passing_values, passing_values); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_BOOL_FIELD(use_io_coercion, use_io_coercion, use_io_coercion); + READ_BOOL_FIELD(use_json_coercion, use_json_coercion, use_json_coercion); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_BOOL_FIELD(omit_quotes, omit_quotes, omit_quotes); + READ_UINT_FIELD(collation, collation, collation); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonTablePath * +_readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg) +{ + JsonTablePath *node = makeNode(JsonTablePath); + READ_STRING_FIELD(name, name, name); + return node; +} + +static JsonTablePathScan * +_readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg) +{ + JsonTablePathScan *node = makeNode(JsonTablePathScan); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePath, json_table_path, path, path, path); + READ_BOOL_FIELD(error_on_error, errorOnError, errorOnError); + READ_ABSTRACT_PTR_FIELD(child, child, child, JsonTablePlan*); + READ_INT_FIELD(col_min, colMin, colMin); + READ_INT_FIELD(col_max, colMax, colMax); + return node; +} + +static JsonTableSiblingJoin * +_readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg) +{ + JsonTableSiblingJoin *node = makeNode(JsonTableSiblingJoin); + READ_ABSTRACT_PTR_FIELD(lplan, lplan, lplan, JsonTablePlan*); + READ_ABSTRACT_PTR_FIELD(rplan, rplan, rplan, JsonTablePlan*); + return node; +} + static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg) { NullTest *node = makeNode(NullTest); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype); READ_BOOL_FIELD(argisrow, argisrow, argisrow); READ_INT_FIELD(location, location, location); @@ -813,17 +918,30 @@ static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg) { BooleanTest *node = makeNode(BooleanTest); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype); READ_INT_FIELD(location, location, location); return node; } +static MergeAction * +_readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg) +{ + MergeAction *node = makeNode(MergeAction); + READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); + READ_ENUM_FIELD(OverridingKind, override, override, override); + READ_NODE_PTR_FIELD(qual, qual, qual); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_LIST_FIELD(update_colnos, updateColnos, updateColnos); + return node; +} + static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg) { CoerceToDomain *node = makeNode(CoerceToDomain); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -887,7 +1005,7 @@ static TargetEntry * _readTargetEntry(OUT_TYPE(TargetEntry, TargetEntry) msg) { TargetEntry *node = makeNode(TargetEntry); - READ_EXPR_PTR_FIELD(expr, expr, expr); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); READ_INT_FIELD(resno, resno, resno); READ_STRING_FIELD(resname, resname, resname); READ_UINT_FIELD(ressortgroupref, ressortgroupref, ressortgroupref); @@ -969,7 +1087,8 @@ _readQuery(OUT_TYPE(Query, Query) msg) READ_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos); READ_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree); READ_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList); - READ_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin); + READ_INT_FIELD(merge_target_relation, mergeTargetRelation, mergeTargetRelation); + READ_NODE_PTR_FIELD(merge_join_condition, mergeJoinCondition, mergeJoinCondition); READ_LIST_FIELD(target_list, targetList, targetList); READ_ENUM_FIELD(OverridingKind, override, override, override); READ_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict); @@ -1364,6 +1483,13 @@ _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg) return node; } +static SinglePartitionSpec * +_readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg) +{ + SinglePartitionSpec *node = makeNode(SinglePartitionSpec); + return node; +} + static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg) { @@ -1378,12 +1504,15 @@ static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg) { RangeTblEntry *node = makeNode(RangeTblEntry); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); READ_UINT_FIELD(relid, relid, relid); + READ_BOOL_FIELD(inh, inh, inh); READ_CHAR_FIELD(relkind, relkind, relkind); READ_INT_FIELD(rellockmode, rellockmode, rellockmode); - READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); READ_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex); + READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier); READ_ENUM_FIELD(JoinType, jointype, jointype, jointype); @@ -1404,10 +1533,7 @@ _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg) READ_LIST_FIELD(colcollations, colcollations, colcollations); READ_STRING_FIELD(enrname, enrname, enrname); READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); READ_BOOL_FIELD(lateral, lateral, lateral); - READ_BOOL_FIELD(inh, inh, inh); READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); READ_LIST_FIELD(security_quals, securityQuals, securityQuals); return node; @@ -1447,7 +1573,7 @@ _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg) TableSampleClause *node = makeNode(TableSampleClause); READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(repeatable, repeatable, repeatable); + READ_ABSTRACT_PTR_FIELD(repeatable, repeatable, repeatable, Expr*); return node; } @@ -1496,7 +1622,6 @@ _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg) READ_INT_FIELD(frame_options, frameOptions, frameOptions); READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset); READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - READ_LIST_FIELD(run_condition, runCondition, runCondition); READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); @@ -1603,7 +1728,7 @@ static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg) { MergeWhenClause *node = makeNode(MergeWhenClause); - READ_BOOL_FIELD(matched, matched, matched); + READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); READ_ENUM_FIELD(OverridingKind, override, override, override); READ_NODE_PTR_FIELD(condition, condition, condition); @@ -1612,19 +1737,6 @@ _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg) return node; } -static MergeAction * -_readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg) -{ - MergeAction *node = makeNode(MergeAction); - READ_BOOL_FIELD(matched, matched, matched); - READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); - READ_ENUM_FIELD(OverridingKind, override, override, override); - READ_NODE_PTR_FIELD(qual, qual, qual); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_LIST_FIELD(update_colnos, updateColnos, updateColnos); - return node; -} - static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg) { @@ -1644,15 +1756,117 @@ _readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg) return node; } +static JsonArgument * +_readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg) +{ + JsonArgument *node = makeNode(JsonArgument); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, val, val, val); + READ_STRING_FIELD(name, name, name); + return node; +} + +static JsonFuncExpr * +_readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg) +{ + JsonFuncExpr *node = makeNode(JsonFuncExpr); + READ_ENUM_FIELD(JsonExprOp, op, op, op); + READ_STRING_FIELD(column_name, column_name, column_name); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + READ_NODE_PTR_FIELD(pathspec, pathspec, pathspec); + READ_LIST_FIELD(passing, passing, passing); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonTablePathSpec * +_readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg) +{ + JsonTablePathSpec *node = makeNode(JsonTablePathSpec); + READ_NODE_PTR_FIELD(string, string, string); + READ_STRING_FIELD(name, name, name); + READ_INT_FIELD(name_location, name_location, name_location); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonTable * +_readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg) +{ + JsonTable *node = makeNode(JsonTable); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + READ_LIST_FIELD(passing, passing, passing); + READ_LIST_FIELD(columns, columns, columns); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonTableColumn * +_readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg) +{ + JsonTableColumn *node = makeNode(JsonTableColumn); + READ_ENUM_FIELD(JsonTableColumnType, coltype, coltype, coltype); + READ_STRING_FIELD(name, name, name); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + READ_LIST_FIELD(columns, columns, columns); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_INT_FIELD(location, location, location); + return node; +} + static JsonKeyValue * _readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg) { JsonKeyValue *node = makeNode(JsonKeyValue); - READ_EXPR_PTR_FIELD(key, key, key); + READ_ABSTRACT_PTR_FIELD(key, key, key, Expr*); READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value); return node; } +static JsonParseExpr * +_readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg) +{ + JsonParseExpr *node = makeNode(JsonParseExpr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonScalarExpr * +_readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg) +{ + JsonScalarExpr *node = makeNode(JsonScalarExpr); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonSerializeExpr * +_readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg) +{ + JsonSerializeExpr *node = makeNode(JsonSerializeExpr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_INT_FIELD(location, location, location); + return node; +} + static JsonObjectConstructor * _readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg) { @@ -1778,6 +1992,7 @@ _readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg) READ_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); READ_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); READ_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); + READ_LIST_FIELD(returning_list, returningList, returningList); READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); return node; } @@ -2030,11 +2245,13 @@ _readConstraint(OUT_TYPE(Constraint, Constraint) msg) READ_STRING_FIELD(conname, conname, conname); READ_BOOL_FIELD(deferrable, deferrable, deferrable); READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - READ_INT_FIELD(location, location, location); + READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation); + READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid); READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); READ_CHAR_FIELD(generated_when, generated_when, generated_when); + READ_INT_FIELD(inhcount, inhcount, inhcount); READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); READ_LIST_FIELD(keys, keys, keys); READ_LIST_FIELD(including, including, including); @@ -2054,8 +2271,7 @@ _readConstraint(OUT_TYPE(Constraint, Constraint) msg) READ_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); - READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation); - READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid); + READ_INT_FIELD(location, location, location); return node; } @@ -2585,7 +2801,7 @@ _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg) { AlterStatsStmt *node = makeNode(AlterStatsStmt); READ_LIST_FIELD(defnames, defnames, defnames); - READ_INT_FIELD(stxstattarget, stxstattarget, stxstattarget); + READ_NODE_PTR_FIELD(stxstattarget, stxstattarget, stxstattarget); READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } @@ -2778,6 +2994,7 @@ _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg) READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); READ_STRING_FIELD(gid, gid, gid); READ_BOOL_FIELD(chain, chain, chain); + READ_INT_FIELD(location, location, location); return node; } @@ -3061,6 +3278,8 @@ _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg) { DeallocateStmt *node = makeNode(DeallocateStmt); READ_STRING_FIELD(name, name, name); + READ_BOOL_FIELD(isall, isall, isall); + READ_INT_FIELD(location, location, location); return node; } diff --git a/parser/include/postgres/access/amapi.h b/parser/include/postgres/access/amapi.h index 4476ff7f..f25c9d58 100644 --- a/parser/include/postgres/access/amapi.h +++ b/parser/include/postgres/access/amapi.h @@ -3,7 +3,7 @@ * amapi.h * API for Postgres index access methods. * - * Copyright (c) 2015-2023, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * src/include/access/amapi.h * @@ -51,7 +51,7 @@ typedef enum IndexAMProperty AMPROP_CAN_UNIQUE, AMPROP_CAN_MULTI_COL, AMPROP_CAN_EXCLUDE, - AMPROP_CAN_INCLUDE + AMPROP_CAN_INCLUDE, } IndexAMProperty; /* @@ -113,6 +113,10 @@ typedef bool (*aminsert_function) (Relation indexRelation, bool indexUnchanged, struct IndexInfo *indexInfo); +/* cleanup after insert */ +typedef void (*aminsertcleanup_function) (Relation indexRelation, + struct IndexInfo *indexInfo); + /* bulk delete */ typedef IndexBulkDeleteResult *(*ambulkdelete_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats, @@ -191,7 +195,7 @@ typedef void (*amrestrpos_function) (IndexScanDesc scan); */ /* estimate size of parallel scan descriptor */ -typedef Size (*amestimateparallelscan_function) (void); +typedef Size (*amestimateparallelscan_function) (int nkeys, int norderbys); /* prepare for parallel index scan */ typedef void (*aminitparallelscan_function) (void *target); @@ -240,6 +244,8 @@ typedef struct IndexAmRoutine bool ampredlocks; /* does AM support parallel scan? */ bool amcanparallel; + /* does AM support parallel build? */ + bool amcanbuildparallel; /* does AM support columns included with clause INCLUDE? */ bool amcaninclude; /* does AM use maintenance_work_mem? */ @@ -261,6 +267,7 @@ typedef struct IndexAmRoutine ambuild_function ambuild; ambuildempty_function ambuildempty; aminsert_function aminsert; + aminsertcleanup_function aminsertcleanup; ambulkdelete_function ambulkdelete; amvacuumcleanup_function amvacuumcleanup; amcanreturn_function amcanreturn; /* can be NULL */ diff --git a/parser/include/postgres/access/attmap.h b/parser/include/postgres/access/attmap.h index 9156a120..123ec45c 100644 --- a/parser/include/postgres/access/attmap.h +++ b/parser/include/postgres/access/attmap.h @@ -4,7 +4,7 @@ * Definitions for PostgreSQL attribute mappings * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/attmap.h diff --git a/parser/include/postgres/access/attnum.h b/parser/include/postgres/access/attnum.h index 4c432952..0c17e33b 100644 --- a/parser/include/postgres/access/attnum.h +++ b/parser/include/postgres/access/attnum.h @@ -4,7 +4,7 @@ * POSTGRES attribute number definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/attnum.h diff --git a/parser/include/postgres/access/brin_internal.h b/parser/include/postgres/access/brin_internal.h new file mode 100644 index 00000000..a5a97726 --- /dev/null +++ b/parser/include/postgres/access/brin_internal.h @@ -0,0 +1,116 @@ +/* + * brin_internal.h + * internal declarations for BRIN indexes + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/access/brin_internal.h + */ +#ifndef BRIN_INTERNAL_H +#define BRIN_INTERNAL_H + +#include "access/amapi.h" +#include "storage/bufpage.h" +#include "utils/typcache.h" + + +/* + * A BrinDesc is a struct designed to enable decoding a BRIN tuple from the + * on-disk format to an in-memory tuple and vice-versa. + */ + +/* struct returned by "OpcInfo" amproc */ +typedef struct BrinOpcInfo +{ + /* Number of columns stored in an index column of this opclass */ + uint16 oi_nstored; + + /* Regular processing of NULLs in BrinValues? */ + bool oi_regular_nulls; + + /* Opaque pointer for the opclass' private use */ + void *oi_opaque; + + /* Type cache entries of the stored columns */ + TypeCacheEntry *oi_typcache[FLEXIBLE_ARRAY_MEMBER]; +} BrinOpcInfo; + +/* the size of a BrinOpcInfo for the given number of columns */ +#define SizeofBrinOpcInfo(ncols) \ + (offsetof(BrinOpcInfo, oi_typcache) + sizeof(TypeCacheEntry *) * ncols) + +typedef struct BrinDesc +{ + /* Containing memory context */ + MemoryContext bd_context; + + /* the index relation itself */ + Relation bd_index; + + /* tuple descriptor of the index relation */ + TupleDesc bd_tupdesc; + + /* cached copy for on-disk tuples; generated at first use */ + TupleDesc bd_disktdesc; + + /* total number of Datum entries that are stored on-disk for all columns */ + int bd_totalstored; + + /* per-column info; bd_tupdesc->natts entries long */ + BrinOpcInfo *bd_info[FLEXIBLE_ARRAY_MEMBER]; +} BrinDesc; + +/* + * Globally-known function support numbers for BRIN indexes. Individual + * opclasses can define more function support numbers, which must fall into + * BRIN_FIRST_OPTIONAL_PROCNUM .. BRIN_LAST_OPTIONAL_PROCNUM. + */ +#define BRIN_PROCNUM_OPCINFO 1 +#define BRIN_PROCNUM_ADDVALUE 2 +#define BRIN_PROCNUM_CONSISTENT 3 +#define BRIN_PROCNUM_UNION 4 +#define BRIN_MANDATORY_NPROCS 4 +#define BRIN_PROCNUM_OPTIONS 5 /* optional */ +/* procedure numbers up to 10 are reserved for BRIN future expansion */ +#define BRIN_FIRST_OPTIONAL_PROCNUM 11 +#define BRIN_LAST_OPTIONAL_PROCNUM 15 + +#undef BRIN_DEBUG + +#ifdef BRIN_DEBUG +#define BRIN_elog(args) elog args +#else +#define BRIN_elog(args) ((void) 0) +#endif + +/* brin.c */ +extern BrinDesc *brin_build_desc(Relation rel); +extern void brin_free_desc(BrinDesc *bdesc); +extern IndexBuildResult *brinbuild(Relation heap, Relation index, + struct IndexInfo *indexInfo); +extern void brinbuildempty(Relation index); +extern bool brininsert(Relation idxRel, Datum *values, bool *nulls, + ItemPointer heaptid, Relation heapRel, + IndexUniqueCheck checkUnique, + bool indexUnchanged, + struct IndexInfo *indexInfo); +extern void brininsertcleanup(Relation index, struct IndexInfo *indexInfo); +extern IndexScanDesc brinbeginscan(Relation r, int nkeys, int norderbys); +extern int64 bringetbitmap(IndexScanDesc scan, TIDBitmap *tbm); +extern void brinrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, + ScanKey orderbys, int norderbys); +extern void brinendscan(IndexScanDesc scan); +extern IndexBulkDeleteResult *brinbulkdelete(IndexVacuumInfo *info, + IndexBulkDeleteResult *stats, + IndexBulkDeleteCallback callback, + void *callback_state); +extern IndexBulkDeleteResult *brinvacuumcleanup(IndexVacuumInfo *info, + IndexBulkDeleteResult *stats); +extern bytea *brinoptions(Datum reloptions, bool validate); + +/* brin_validate.c */ +extern bool brinvalidate(Oid opclassoid); + +#endif /* BRIN_INTERNAL_H */ diff --git a/parser/include/postgres/access/brin_tuple.h b/parser/include/postgres/access/brin_tuple.h new file mode 100644 index 00000000..c8850fd6 --- /dev/null +++ b/parser/include/postgres/access/brin_tuple.h @@ -0,0 +1,112 @@ +/* + * brin_tuple.h + * Declarations for dealing with BRIN-specific tuples. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/access/brin_tuple.h + */ +#ifndef BRIN_TUPLE_H +#define BRIN_TUPLE_H + +#include "access/brin_internal.h" +#include "access/tupdesc.h" + +/* + * The BRIN opclasses may register serialization callback, in case the on-disk + * and in-memory representations differ (e.g. for performance reasons). + */ +typedef void (*brin_serialize_callback_type) (BrinDesc *bdesc, Datum src, Datum *dst); + +/* + * A BRIN index stores one index tuple per page range. Each index tuple + * has one BrinValues struct for each indexed column; in turn, each BrinValues + * has (besides the null flags) an array of Datum whose size is determined by + * the opclass. + */ +typedef struct BrinValues +{ + AttrNumber bv_attno; /* index attribute number */ + bool bv_hasnulls; /* are there any nulls in the page range? */ + bool bv_allnulls; /* are all values nulls in the page range? */ + Datum *bv_values; /* current accumulated values */ + Datum bv_mem_value; /* expanded accumulated values */ + MemoryContext bv_context; + brin_serialize_callback_type bv_serialize; +} BrinValues; + +/* + * This struct is used to represent an in-memory index tuple. The values can + * only be meaningfully decoded with an appropriate BrinDesc. + */ +typedef struct BrinMemTuple +{ + bool bt_placeholder; /* this is a placeholder tuple */ + bool bt_empty_range; /* range represents no tuples */ + BlockNumber bt_blkno; /* heap blkno that the tuple is for */ + MemoryContext bt_context; /* memcxt holding the bt_columns values */ + /* output arrays for brin_deform_tuple: */ + Datum *bt_values; /* values array */ + bool *bt_allnulls; /* allnulls array */ + bool *bt_hasnulls; /* hasnulls array */ + /* not an output array, but must be last */ + BrinValues bt_columns[FLEXIBLE_ARRAY_MEMBER]; +} BrinMemTuple; + +/* + * An on-disk BRIN tuple. This is possibly followed by a nulls bitmask, with + * room for 2 null bits (two bits for each indexed column); an opclass-defined + * number of Datum values for each column follow. + */ +typedef struct BrinTuple +{ + /* heap block number that the tuple is for */ + BlockNumber bt_blkno; + + /* --------------- + * bt_info is laid out in the following fashion: + * + * 7th (high) bit: has nulls + * 6th bit: is placeholder tuple + * 5th bit: range is empty + * 4-0 bit: offset of data + * --------------- + */ + uint8 bt_info; +} BrinTuple; + +#define SizeOfBrinTuple (offsetof(BrinTuple, bt_info) + sizeof(uint8)) + +/* + * bt_info manipulation macros + */ +#define BRIN_OFFSET_MASK 0x1F +#define BRIN_EMPTY_RANGE_MASK 0x20 +#define BRIN_PLACEHOLDER_MASK 0x40 +#define BRIN_NULLS_MASK 0x80 + +#define BrinTupleDataOffset(tup) ((Size) (((BrinTuple *) (tup))->bt_info & BRIN_OFFSET_MASK)) +#define BrinTupleHasNulls(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_NULLS_MASK)) != 0) +#define BrinTupleIsPlaceholder(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_PLACEHOLDER_MASK)) != 0) +#define BrinTupleIsEmptyRange(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_EMPTY_RANGE_MASK)) != 0) + + +extern BrinTuple *brin_form_tuple(BrinDesc *brdesc, BlockNumber blkno, + BrinMemTuple *tuple, Size *size); +extern BrinTuple *brin_form_placeholder_tuple(BrinDesc *brdesc, + BlockNumber blkno, Size *size); +extern void brin_free_tuple(BrinTuple *tuple); +extern BrinTuple *brin_copy_tuple(BrinTuple *tuple, Size len, + BrinTuple *dest, Size *destsz); +extern bool brin_tuples_equal(const BrinTuple *a, Size alen, + const BrinTuple *b, Size blen); + +extern BrinMemTuple *brin_new_memtuple(BrinDesc *brdesc); +extern BrinMemTuple *brin_memtuple_initialize(BrinMemTuple *dtuple, + BrinDesc *brdesc); +extern BrinMemTuple *brin_deform_tuple(BrinDesc *brdesc, + BrinTuple *tuple, BrinMemTuple *dMemtuple); + +#endif /* BRIN_TUPLE_H */ diff --git a/parser/include/postgres/access/clog.h b/parser/include/postgres/access/clog.h index d99444f0..8e62917e 100644 --- a/parser/include/postgres/access/clog.h +++ b/parser/include/postgres/access/clog.h @@ -3,7 +3,7 @@ * * PostgreSQL transaction-commit-log manager * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/clog.h @@ -31,7 +31,7 @@ typedef int XidStatus; typedef struct xl_clog_truncate { - int pageno; + int64 pageno; TransactionId oldestXact; Oid oldestXactDb; } xl_clog_truncate; @@ -40,7 +40,6 @@ extern void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids, TransactionId *subxids, XidStatus status, XLogRecPtr lsn); extern XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn); -extern Size CLOGShmemBuffers(void); extern Size CLOGShmemSize(void); extern void CLOGShmemInit(void); extern void BootStrapCLOG(void); diff --git a/parser/include/postgres/access/commit_ts.h b/parser/include/postgres/access/commit_ts.h index 5087cdce..82d3aa86 100644 --- a/parser/include/postgres/access/commit_ts.h +++ b/parser/include/postgres/access/commit_ts.h @@ -3,7 +3,7 @@ * * PostgreSQL commit timestamp manager * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/commit_ts.h @@ -27,7 +27,6 @@ extern bool TransactionIdGetCommitTsData(TransactionId xid, extern TransactionId GetLatestCommitTsData(TimestampTz *ts, RepOriginId *nodeid); -extern Size CommitTsShmemBuffers(void); extern Size CommitTsShmemSize(void); extern void CommitTsShmemInit(void); extern void BootStrapCommitTs(void); @@ -60,7 +59,7 @@ typedef struct xl_commit_ts_set typedef struct xl_commit_ts_truncate { - int pageno; + int64 pageno; TransactionId oldestXid; } xl_commit_ts_truncate; diff --git a/parser/include/postgres/access/detoast.h b/parser/include/postgres/access/detoast.h index 908e1fc6..12d8cdb3 100644 --- a/parser/include/postgres/access/detoast.h +++ b/parser/include/postgres/access/detoast.h @@ -3,7 +3,7 @@ * detoast.h * Access to compressed and external varlena values. * - * Copyright (c) 2000-2023, PostgreSQL Global Development Group + * Copyright (c) 2000-2024, PostgreSQL Global Development Group * * src/include/access/detoast.h * diff --git a/parser/include/postgres/access/genam.h b/parser/include/postgres/access/genam.h index a3087956..fdcfbe8d 100644 --- a/parser/include/postgres/access/genam.h +++ b/parser/include/postgres/access/genam.h @@ -4,7 +4,7 @@ * POSTGRES generalized index access method definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/genam.h @@ -117,7 +117,7 @@ typedef enum IndexUniqueCheck UNIQUE_CHECK_NO, /* Don't do any uniqueness checking */ UNIQUE_CHECK_YES, /* Enforce uniqueness at insertion time */ UNIQUE_CHECK_PARTIAL, /* Test uniqueness, but no error */ - UNIQUE_CHECK_EXISTING /* Check if existing tuple is unique */ + UNIQUE_CHECK_EXISTING, /* Check if existing tuple is unique */ } IndexUniqueCheck; @@ -139,6 +139,7 @@ typedef struct IndexOrderByDistance #define IndexScanIsValid(scan) PointerIsValid(scan) extern Relation index_open(Oid relationId, LOCKMODE lockmode); +extern Relation try_index_open(Oid relationId, LOCKMODE lockmode); extern void index_close(Relation relation, LOCKMODE lockmode); extern bool index_insert(Relation indexRelation, @@ -148,6 +149,8 @@ extern bool index_insert(Relation indexRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo); +extern void index_insert_cleanup(Relation indexRelation, + struct IndexInfo *indexInfo); extern IndexScanDesc index_beginscan(Relation heapRelation, Relation indexRelation, @@ -162,7 +165,8 @@ extern void index_rescan(IndexScanDesc scan, extern void index_endscan(IndexScanDesc scan); extern void index_markpos(IndexScanDesc scan); extern void index_restrpos(IndexScanDesc scan); -extern Size index_parallelscan_estimate(Relation indexRelation, Snapshot snapshot); +extern Size index_parallelscan_estimate(Relation indexRelation, + int nkeys, int norderbys, Snapshot snapshot); extern void index_parallelscan_initialize(Relation heapRelation, Relation indexRelation, Snapshot snapshot, ParallelIndexScanDesc target); @@ -204,7 +208,7 @@ extern IndexScanDesc RelationGetIndexScan(Relation indexRelation, int nkeys, int norderbys); extern void IndexScanEnd(IndexScanDesc scan); extern char *BuildIndexValueDescription(Relation indexRelation, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern TransactionId index_compute_xid_horizon_for_tuples(Relation irel, Relation hrel, Buffer ibuf, diff --git a/parser/include/postgres/access/gin.h b/parser/include/postgres/access/gin.h index f1655065..25983b7a 100644 --- a/parser/include/postgres/access/gin.h +++ b/parser/include/postgres/access/gin.h @@ -2,7 +2,7 @@ * gin.h * Public header file for Generalized Inverted Index access method. * - * Copyright (c) 2006-2023, PostgreSQL Global Development Group + * Copyright (c) 2006-2024, PostgreSQL Global Development Group * * src/include/access/gin.h *-------------------------------------------------------------------------- diff --git a/parser/include/postgres/access/htup.h b/parser/include/postgres/access/htup.h index a8f7ff5d..116cb1bb 100644 --- a/parser/include/postgres/access/htup.h +++ b/parser/include/postgres/access/htup.h @@ -4,7 +4,7 @@ * POSTGRES heap tuple definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/htup.h diff --git a/parser/include/postgres/access/htup_details.h b/parser/include/postgres/access/htup_details.h index e01f4f35..5e38ef86 100644 --- a/parser/include/postgres/access/htup_details.h +++ b/parser/include/postgres/access/htup_details.h @@ -4,7 +4,7 @@ * POSTGRES heap tuple header definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/htup_details.h @@ -696,9 +696,9 @@ struct MinimalTupleData /* prototypes for functions in common/heaptuple.c */ extern Size heap_compute_data_size(TupleDesc tupleDesc, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern void heap_fill_tuple(TupleDesc tupleDesc, - Datum *values, bool *isnull, + const Datum *values, const bool *isnull, char *data, Size data_size, uint16 *infomask, bits8 *bit); extern bool heap_attisnull(HeapTuple tup, int attnum, TupleDesc tupleDesc); @@ -712,23 +712,23 @@ extern HeapTuple heap_copytuple(HeapTuple tuple); extern void heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest); extern Datum heap_copy_tuple_as_datum(HeapTuple tuple, TupleDesc tupleDesc); extern HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern HeapTuple heap_modify_tuple(HeapTuple tuple, TupleDesc tupleDesc, - Datum *replValues, - bool *replIsnull, - bool *doReplace); + const Datum *replValues, + const bool *replIsnull, + const bool *doReplace); extern HeapTuple heap_modify_tuple_by_cols(HeapTuple tuple, TupleDesc tupleDesc, int nCols, - int *replCols, - Datum *replValues, - bool *replIsnull); + const int *replCols, + const Datum *replValues, + const bool *replIsnull); extern void heap_deform_tuple(HeapTuple tuple, TupleDesc tupleDesc, Datum *values, bool *isnull); extern void heap_freetuple(HeapTuple htup); extern MinimalTuple heap_form_minimal_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern void heap_free_minimal_tuple(MinimalTuple mtup); extern MinimalTuple heap_copy_minimal_tuple(MinimalTuple mtup); extern HeapTuple heap_tuple_from_minimal_tuple(MinimalTuple mtup); diff --git a/parser/include/postgres/access/itup.h b/parser/include/postgres/access/itup.h index 2e2b8c7a..94885751 100644 --- a/parser/include/postgres/access/itup.h +++ b/parser/include/postgres/access/itup.h @@ -4,7 +4,7 @@ * POSTGRES index tuple definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/itup.h @@ -75,9 +75,9 @@ typedef IndexAttributeBitMapData * IndexAttributeBitMap; /* routines in indextuple.c */ extern IndexTuple index_form_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern IndexTuple index_form_tuple_context(TupleDesc tupleDescriptor, - Datum *values, bool *isnull, + const Datum *values, const bool *isnull, MemoryContext context); extern Datum nocache_index_getattr(IndexTuple tup, int attnum, TupleDesc tupleDesc); diff --git a/parser/include/postgres/access/parallel.h b/parser/include/postgres/access/parallel.h index 061f8a4c..69ffe549 100644 --- a/parser/include/postgres/access/parallel.h +++ b/parser/include/postgres/access/parallel.h @@ -3,7 +3,7 @@ * parallel.h * Infrastructure for launching parallel workers * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/parallel.h @@ -26,7 +26,6 @@ typedef struct ParallelWorkerInfo { BackgroundWorkerHandle *bgwhandle; shm_mq_handle *error_mqh; - int32 pid; } ParallelWorkerInfo; typedef struct ParallelContext diff --git a/parser/include/postgres/access/printtup.h b/parser/include/postgres/access/printtup.h index 747ecb80..b1fecf87 100644 --- a/parser/include/postgres/access/printtup.h +++ b/parser/include/postgres/access/printtup.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/printtup.h diff --git a/parser/include/postgres/access/relation.h b/parser/include/postgres/access/relation.h index 66efd367..aa5ccadc 100644 --- a/parser/include/postgres/access/relation.h +++ b/parser/include/postgres/access/relation.h @@ -4,7 +4,7 @@ * Generic relation related routines. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/relation.h diff --git a/parser/include/postgres/access/relscan.h b/parser/include/postgres/access/relscan.h index d03360ea..52104330 100644 --- a/parser/include/postgres/access/relscan.h +++ b/parser/include/postgres/access/relscan.h @@ -4,7 +4,7 @@ * POSTGRES relation scan descriptor definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/relscan.h diff --git a/parser/include/postgres/access/rmgrlist.h b/parser/include/postgres/access/rmgrlist.h index 463bcb67..78e6b908 100644 --- a/parser/include/postgres/access/rmgrlist.h +++ b/parser/include/postgres/access/rmgrlist.h @@ -6,7 +6,7 @@ * by the PG_RMGR macro, which is not defined in this file; it can be * defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/rmgrlist.h diff --git a/parser/include/postgres/access/sdir.h b/parser/include/postgres/access/sdir.h index 322aeb3f..d40d809b 100644 --- a/parser/include/postgres/access/sdir.h +++ b/parser/include/postgres/access/sdir.h @@ -4,7 +4,7 @@ * POSTGRES scan direction definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/sdir.h diff --git a/parser/include/postgres/access/skey.h b/parser/include/postgres/access/skey.h index fbdb23c5..8054d3ed 100644 --- a/parser/include/postgres/access/skey.h +++ b/parser/include/postgres/access/skey.h @@ -4,7 +4,7 @@ * POSTGRES scan key definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/skey.h diff --git a/parser/include/postgres/access/slru.h b/parser/include/postgres/access/slru.h new file mode 100644 index 00000000..97e612cd --- /dev/null +++ b/parser/include/postgres/access/slru.h @@ -0,0 +1,221 @@ +/*------------------------------------------------------------------------- + * + * slru.h + * Simple LRU buffering for transaction status logfiles + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/slru.h + * + *------------------------------------------------------------------------- + */ +#ifndef SLRU_H +#define SLRU_H + +#include "access/xlogdefs.h" +#include "storage/lwlock.h" +#include "storage/sync.h" + +/* + * To avoid overflowing internal arithmetic and the size_t data type, the + * number of buffers must not exceed this number. + */ +#define SLRU_MAX_ALLOWED_BUFFERS ((1024 * 1024 * 1024) / BLCKSZ) + +/* + * Define SLRU segment size. A page is the same BLCKSZ as is used everywhere + * else in Postgres. The segment size can be chosen somewhat arbitrarily; + * we make it 32 pages by default, or 256Kb, i.e. 1M transactions for CLOG + * or 64K transactions for SUBTRANS. + * + * Note: because TransactionIds are 32 bits and wrap around at 0xFFFFFFFF, + * page numbering also wraps around at 0xFFFFFFFF/xxxx_XACTS_PER_PAGE (where + * xxxx is CLOG or SUBTRANS, respectively), and segment numbering at + * 0xFFFFFFFF/xxxx_XACTS_PER_PAGE/SLRU_PAGES_PER_SEGMENT. We need + * take no explicit notice of that fact in slru.c, except when comparing + * segment and page numbers in SimpleLruTruncate (see PagePrecedes()). + */ +#define SLRU_PAGES_PER_SEGMENT 32 + +/* + * Page status codes. Note that these do not include the "dirty" bit. + * page_dirty can be true only in the VALID or WRITE_IN_PROGRESS states; + * in the latter case it implies that the page has been re-dirtied since + * the write started. + */ +typedef enum +{ + SLRU_PAGE_EMPTY, /* buffer is not in use */ + SLRU_PAGE_READ_IN_PROGRESS, /* page is being read in */ + SLRU_PAGE_VALID, /* page is valid and not being written */ + SLRU_PAGE_WRITE_IN_PROGRESS, /* page is being written out */ +} SlruPageStatus; + +/* + * Shared-memory state + * + * ControlLock is used to protect access to the other fields, except + * latest_page_number, which uses atomics; see comment in slru.c. + */ +typedef struct SlruSharedData +{ + /* Number of buffers managed by this SLRU structure */ + int num_slots; + + /* + * Arrays holding info for each buffer slot. Page number is undefined + * when status is EMPTY, as is page_lru_count. + */ + char **page_buffer; + SlruPageStatus *page_status; + bool *page_dirty; + int64 *page_number; + int *page_lru_count; + + /* The buffer_locks protects the I/O on each buffer slots */ + LWLockPadded *buffer_locks; + + /* Locks to protect the in memory buffer slot access in SLRU bank. */ + LWLockPadded *bank_locks; + + /*---------- + * A bank-wise LRU counter is maintained because we do a victim buffer + * search within a bank. Furthermore, manipulating an individual bank + * counter avoids frequent cache invalidation since we update it every time + * we access the page. + * + * We mark a page "most recently used" by setting + * page_lru_count[slotno] = ++bank_cur_lru_count[bankno]; + * The oldest page in the bank is therefore the one with the highest value + * of + * bank_cur_lru_count[bankno] - page_lru_count[slotno] + * The counts will eventually wrap around, but this calculation still + * works as long as no page's age exceeds INT_MAX counts. + *---------- + */ + int *bank_cur_lru_count; + + /* + * Optional array of WAL flush LSNs associated with entries in the SLRU + * pages. If not zero/NULL, we must flush WAL before writing pages (true + * for pg_xact, false for everything else). group_lsn[] has + * lsn_groups_per_page entries per buffer slot, each containing the + * highest LSN known for a contiguous group of SLRU entries on that slot's + * page. + */ + XLogRecPtr *group_lsn; + int lsn_groups_per_page; + + /* + * latest_page_number is the page number of the current end of the log; + * this is not critical data, since we use it only to avoid swapping out + * the latest page. + */ + pg_atomic_uint64 latest_page_number; + + /* SLRU's index for statistics purposes (might not be unique) */ + int slru_stats_idx; +} SlruSharedData; + +typedef SlruSharedData *SlruShared; + +/* + * SlruCtlData is an unshared structure that points to the active information + * in shared memory. + */ +typedef struct SlruCtlData +{ + SlruShared shared; + + /* + * Bitmask to determine bank number from page number. + */ + bits16 bank_mask; + + /* + * If true, use long segment file names. Otherwise, use short file names. + * + * For details about the file name format, see SlruFileName(). + */ + bool long_segment_names; + + /* + * Which sync handler function to use when handing sync requests over to + * the checkpointer. SYNC_HANDLER_NONE to disable fsync (eg pg_notify). + */ + SyncRequestHandler sync_handler; + + /* + * Decide whether a page is "older" for truncation and as a hint for + * evicting pages in LRU order. Return true if every entry of the first + * argument is older than every entry of the second argument. Note that + * !PagePrecedes(a,b) && !PagePrecedes(b,a) need not imply a==b; it also + * arises when some entries are older and some are not. For SLRUs using + * SimpleLruTruncate(), this must use modular arithmetic. (For others, + * the behavior of this callback has no functional implications.) Use + * SlruPagePrecedesUnitTests() in SLRUs meeting its criteria. + */ + bool (*PagePrecedes) (int64, int64); + + /* + * Dir is set during SimpleLruInit and does not change thereafter. Since + * it's always the same, it doesn't need to be in shared memory. + */ + char Dir[64]; + +} SlruCtlData; + +typedef SlruCtlData *SlruCtl; + +/* + * Get the SLRU bank lock for given SlruCtl and the pageno. + * + * This lock needs to be acquired to access the slru buffer slots in the + * respective bank. + */ +static inline LWLock * +SimpleLruGetBankLock(SlruCtl ctl, int64 pageno) +{ + int bankno; + + bankno = pageno & ctl->bank_mask; + return &(ctl->shared->bank_locks[bankno].lock); +} + +extern Size SimpleLruShmemSize(int nslots, int nlsns); +extern int SimpleLruAutotuneBuffers(int divisor, int max); +extern void SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns, + const char *subdir, int buffer_tranche_id, + int bank_tranche_id, SyncRequestHandler sync_handler, + bool long_segment_names); +extern int SimpleLruZeroPage(SlruCtl ctl, int64 pageno); +extern int SimpleLruReadPage(SlruCtl ctl, int64 pageno, bool write_ok, + TransactionId xid); +extern int SimpleLruReadPage_ReadOnly(SlruCtl ctl, int64 pageno, + TransactionId xid); +extern void SimpleLruWritePage(SlruCtl ctl, int slotno); +extern void SimpleLruWriteAll(SlruCtl ctl, bool allow_redirtied); +#ifdef USE_ASSERT_CHECKING +extern void SlruPagePrecedesUnitTests(SlruCtl ctl, int per_page); +#else +#define SlruPagePrecedesUnitTests(ctl, per_page) do {} while (0) +#endif +extern void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage); +extern bool SimpleLruDoesPhysicalPageExist(SlruCtl ctl, int64 pageno); + +typedef bool (*SlruScanCallback) (SlruCtl ctl, char *filename, int64 segpage, + void *data); +extern bool SlruScanDirectory(SlruCtl ctl, SlruScanCallback callback, void *data); +extern void SlruDeleteSegment(SlruCtl ctl, int64 segno); + +extern int SlruSyncFileTag(SlruCtl ctl, const FileTag *ftag, char *path); + +/* SlruScanDirectory public callbacks */ +extern bool SlruScanDirCbReportPresence(SlruCtl ctl, char *filename, + int64 segpage, void *data); +extern bool SlruScanDirCbDeleteAll(SlruCtl ctl, char *filename, int64 segpage, + void *data); +extern bool check_slru_buffers(const char *name, int *newval); + +#endif /* SLRU_H */ diff --git a/parser/include/postgres/access/stratnum.h b/parser/include/postgres/access/stratnum.h index 1b29653a..8a47d3c9 100644 --- a/parser/include/postgres/access/stratnum.h +++ b/parser/include/postgres/access/stratnum.h @@ -4,7 +4,7 @@ * POSTGRES strategy number definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/stratnum.h diff --git a/parser/include/postgres/access/sysattr.h b/parser/include/postgres/access/sysattr.h index 8f086827..e88dec71 100644 --- a/parser/include/postgres/access/sysattr.h +++ b/parser/include/postgres/access/sysattr.h @@ -4,7 +4,7 @@ * POSTGRES system attribute definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/sysattr.h diff --git a/parser/include/postgres/access/table.h b/parser/include/postgres/access/table.h index e664c7b7..1c0bee79 100644 --- a/parser/include/postgres/access/table.h +++ b/parser/include/postgres/access/table.h @@ -4,7 +4,7 @@ * Generic routines for table related code. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/table.h diff --git a/parser/include/postgres/access/tableam.h b/parser/include/postgres/access/tableam.h index 230bc39c..da661289 100644 --- a/parser/include/postgres/access/tableam.h +++ b/parser/include/postgres/access/tableam.h @@ -4,7 +4,7 @@ * POSTGRES table access method definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tableam.h @@ -21,6 +21,7 @@ #include "access/sdir.h" #include "access/xact.h" #include "executor/tuptable.h" +#include "storage/read_stream.h" #include "utils/rel.h" #include "utils/snapshot.h" @@ -61,8 +62,15 @@ typedef enum ScanOptions SO_ALLOW_PAGEMODE = 1 << 8, /* unregister snapshot at scan end? */ - SO_TEMP_SNAPSHOT = 1 << 9 -} ScanOptions; + SO_TEMP_SNAPSHOT = 1 << 9, + + /* + * At the discretion of the table AM, bitmap table scans may be able to + * skip fetching a block from the table if none of the table data is + * needed. If table data may be needed, set SO_NEED_TUPLES. + */ + SO_NEED_TUPLES = 1 << 10, +} ScanOptions; /* * Result codes for table_{update,delete,lock_tuple}, and for visibility @@ -99,7 +107,7 @@ typedef enum TM_Result TM_BeingModified, /* lock couldn't be acquired, action skipped. Only used by lock_tuple */ - TM_WouldBlock + TM_WouldBlock, } TM_Result; /* @@ -115,7 +123,7 @@ typedef enum TU_UpdateIndexes TU_All, /* Only summarized columns were updated, TID is unchanged */ - TU_Summarizing + TU_Summarizing, } TU_UpdateIndexes; /* @@ -617,8 +625,8 @@ typedef struct TableAmRoutine const RelFileLocator *newrlocator); /* See table_relation_copy_for_cluster() */ - void (*relation_copy_for_cluster) (Relation NewTable, - Relation OldTable, + void (*relation_copy_for_cluster) (Relation OldTable, + Relation NewTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, @@ -665,8 +673,7 @@ typedef struct TableAmRoutine * isn't one yet. */ bool (*scan_analyze_next_block) (TableScanDesc scan, - BlockNumber blockno, - BufferAccessStrategy bstrategy); + ReadStream *stream); /* * See table_scan_analyze_next_tuple(). @@ -944,10 +951,13 @@ table_beginscan_strat(Relation rel, Snapshot snapshot, */ static inline TableScanDesc table_beginscan_bm(Relation rel, Snapshot snapshot, - int nkeys, struct ScanKeyData *key) + int nkeys, struct ScanKeyData *key, bool need_tuple) { uint32 flags = SO_TYPE_BITMAPSCAN | SO_ALLOW_PAGEMODE; + if (need_tuple) + flags |= SO_NEED_TUPLES; + return rel->rd_tableam->scan_begin(rel, snapshot, nkeys, key, NULL, flags); } @@ -1038,11 +1048,6 @@ table_rescan_set_params(TableScanDesc scan, struct ScanKeyData *key, allow_pagemode); } -/* - * Update snapshot used by the scan. - */ -extern void table_scan_update_snapshot(TableScanDesc scan, Snapshot snapshot); - /* * Return next tuple from `scan`, store in slot. */ @@ -1479,8 +1484,8 @@ table_multi_insert(Relation rel, TupleTableSlot **slots, int nslots, * TM_BeingModified (the last only possible if wait == false). * * In the failure cases, the routine fills *tmfd with the tuple's t_ctid, - * t_xmax, and, if possible, and, if possible, t_cmax. See comments for - * struct TM_FailureData for additional info. + * t_xmax, and, if possible, t_cmax. See comments for struct + * TM_FailureData for additional info. */ static inline TM_Result table_tuple_delete(Relation rel, ItemPointer tid, CommandId cid, @@ -1706,19 +1711,17 @@ table_relation_vacuum(Relation rel, struct VacuumParams *params, } /* - * Prepare to analyze block `blockno` of `scan`. The scan needs to have been - * started with table_beginscan_analyze(). Note that this routine might - * acquire resources like locks that are held until + * Prepare to analyze the next block in the read stream. The scan needs to + * have been started with table_beginscan_analyze(). Note that this routine + * might acquire resources like locks that are held until * table_scan_analyze_next_tuple() returns false. * * Returns false if block is unsuitable for sampling, true otherwise. */ static inline bool -table_scan_analyze_next_block(TableScanDesc scan, BlockNumber blockno, - BufferAccessStrategy bstrategy) +table_scan_analyze_next_block(TableScanDesc scan, ReadStream *stream) { - return scan->rs_rd->rd_tableam->scan_analyze_next_block(scan, blockno, - bstrategy); + return scan->rs_rd->rd_tableam->scan_analyze_next_block(scan, stream); } /* @@ -2095,6 +2098,12 @@ extern void table_block_relation_estimate_size(Relation rel, */ extern const TableAmRoutine *GetTableAmRoutine(Oid amhandler); + +/* ---------------------------------------------------------------------------- + * Functions in heapam_handler.c + * ---------------------------------------------------------------------------- + */ + extern const TableAmRoutine *GetHeapamTableAmRoutine(void); #endif /* TABLEAM_H */ diff --git a/parser/include/postgres/access/tidstore.h b/parser/include/postgres/access/tidstore.h new file mode 100644 index 00000000..32aa9995 --- /dev/null +++ b/parser/include/postgres/access/tidstore.h @@ -0,0 +1,50 @@ +/*------------------------------------------------------------------------- + * + * tidstore.h + * TidStore interface. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/tidstore.h + * + *------------------------------------------------------------------------- + */ +#ifndef TIDSTORE_H +#define TIDSTORE_H + +#include "storage/itemptr.h" +#include "utils/dsa.h" + +typedef struct TidStore TidStore; +typedef struct TidStoreIter TidStoreIter; + +/* Result struct for TidStoreIterateNext */ +typedef struct TidStoreIterResult +{ + BlockNumber blkno; + int max_offset; + int num_offsets; + OffsetNumber *offsets; +} TidStoreIterResult; + +extern TidStore *TidStoreCreateLocal(size_t max_bytes, bool insert_only); +extern TidStore *TidStoreCreateShared(size_t max_bytes, int tranche_id); +extern TidStore *TidStoreAttach(dsa_handle area_handle, dsa_pointer handle); +extern void TidStoreDetach(TidStore *ts); +extern void TidStoreLockExclusive(TidStore *ts); +extern void TidStoreLockShare(TidStore *ts); +extern void TidStoreUnlock(TidStore *ts); +extern void TidStoreDestroy(TidStore *ts); +extern void TidStoreSetBlockOffsets(TidStore *ts, BlockNumber blkno, OffsetNumber *offsets, + int num_offsets); +extern bool TidStoreIsMember(TidStore *ts, ItemPointer tid); +extern TidStoreIter *TidStoreBeginIterate(TidStore *ts); +extern TidStoreIterResult *TidStoreIterateNext(TidStoreIter *iter); +extern void TidStoreEndIterate(TidStoreIter *iter); +extern size_t TidStoreMemoryUsage(TidStore *ts); +extern dsa_pointer TidStoreGetHandle(TidStore *ts); +extern dsa_area *TidStoreGetDSA(TidStore *ts); + +#endif /* TIDSTORE_H */ diff --git a/parser/include/postgres/access/toast_compression.h b/parser/include/postgres/access/toast_compression.h index 7f02820c..64d5e079 100644 --- a/parser/include/postgres/access/toast_compression.h +++ b/parser/include/postgres/access/toast_compression.h @@ -3,7 +3,7 @@ * toast_compression.h * Functions for toast compression. * - * Copyright (c) 2021-2023, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * * src/include/access/toast_compression.h * @@ -38,7 +38,7 @@ typedef enum ToastCompressionId { TOAST_PGLZ_COMPRESSION_ID = 0, TOAST_LZ4_COMPRESSION_ID = 1, - TOAST_INVALID_COMPRESSION_ID = 2 + TOAST_INVALID_COMPRESSION_ID = 2, } ToastCompressionId; /* diff --git a/parser/include/postgres/access/transam.h b/parser/include/postgres/access/transam.h index f5af6d30..28a2d287 100644 --- a/parser/include/postgres/access/transam.h +++ b/parser/include/postgres/access/transam.h @@ -4,7 +4,7 @@ * postgres transaction access method support code * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/transam.h @@ -197,7 +197,7 @@ FullTransactionIdAdvance(FullTransactionId *dest) #define FirstNormalObjectId 16384 /* - * VariableCache is a data structure in shared memory that is used to track + * TransamVariables is a data structure in shared memory that is used to track * OID and XID assignment state. For largely historical reasons, there is * just one struct with different fields that are protected by different * LWLocks. @@ -206,7 +206,7 @@ FullTransactionIdAdvance(FullTransactionId *dest) * used just to generate useful messages when xidWarnLimit or xidStopLimit * are exceeded. */ -typedef struct VariableCacheData +typedef struct TransamVariablesData { /* * These fields are protected by OidGenLock. @@ -252,9 +252,7 @@ typedef struct VariableCacheData */ TransactionId oldestClogXid; /* oldest it's safe to look up in clog */ -} VariableCacheData; - -typedef VariableCacheData *VariableCache; +} TransamVariablesData; /* ---------------- @@ -266,7 +264,7 @@ typedef VariableCacheData *VariableCache; extern bool TransactionStartedDuringRecovery(void); /* in transam/varsup.c */ -extern PGDLLIMPORT VariableCache ShmemVariableCache; +extern PGDLLIMPORT TransamVariablesData *TransamVariables; /* * prototypes for functions in transam/transam.c @@ -285,6 +283,8 @@ extern TransactionId TransactionIdLatest(TransactionId mainxid, extern XLogRecPtr TransactionIdGetCommitLSN(TransactionId xid); /* in transam/varsup.c */ +extern Size VarsupShmemSize(void); +extern void VarsupShmemInit(void); extern FullTransactionId GetNewTransactionId(bool isSubXact); extern void AdvanceNextFullTransactionIdPastXid(TransactionId xid); extern FullTransactionId ReadNextFullTransactionId(void); diff --git a/parser/include/postgres/access/tsmapi.h b/parser/include/postgres/access/tsmapi.h index 80784bed..da9a6c38 100644 --- a/parser/include/postgres/access/tsmapi.h +++ b/parser/include/postgres/access/tsmapi.h @@ -3,7 +3,7 @@ * tsmapi.h * API for tablesample methods * - * Copyright (c) 2015-2023, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * src/include/access/tsmapi.h * diff --git a/parser/include/postgres/access/tupconvert.h b/parser/include/postgres/access/tupconvert.h index f00918b5..62a6d127 100644 --- a/parser/include/postgres/access/tupconvert.h +++ b/parser/include/postgres/access/tupconvert.h @@ -4,7 +4,7 @@ * Tuple conversion support. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupconvert.h diff --git a/parser/include/postgres/access/tupdesc.h b/parser/include/postgres/access/tupdesc.h index b4286cf9..8930a28d 100644 --- a/parser/include/postgres/access/tupdesc.h +++ b/parser/include/postgres/access/tupdesc.h @@ -4,7 +4,7 @@ * POSTGRES tuple descriptor definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupdesc.h @@ -126,8 +126,8 @@ extern void DecrTupleDescRefCount(TupleDesc tupdesc); } while (0) extern bool equalTupleDescs(TupleDesc tupdesc1, TupleDesc tupdesc2); - -extern uint32 hashTupleDesc(TupleDesc desc); +extern bool equalRowTypes(TupleDesc tupdesc1, TupleDesc tupdesc2); +extern uint32 hashRowType(TupleDesc desc); extern void TupleDescInitEntry(TupleDesc desc, AttrNumber attributeNumber, @@ -147,8 +147,8 @@ extern void TupleDescInitEntryCollation(TupleDesc desc, AttrNumber attributeNumber, Oid collationid); -extern TupleDesc BuildDescForRelation(List *schema); +extern TupleDesc BuildDescFromLists(const List *names, const List *types, const List *typmods, const List *collations); -extern TupleDesc BuildDescFromLists(List *names, List *types, List *typmods, List *collations); +extern Node *TupleDescGetDefault(TupleDesc tupdesc, AttrNumber attnum); #endif /* TUPDESC_H */ diff --git a/parser/include/postgres/access/tupmacs.h b/parser/include/postgres/access/tupmacs.h index 34144465..58b3a58c 100644 --- a/parser/include/postgres/access/tupmacs.h +++ b/parser/include/postgres/access/tupmacs.h @@ -4,7 +4,7 @@ * Tuple macros used by both index tuples and heap tuples. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupmacs.h diff --git a/parser/include/postgres/access/twophase.h b/parser/include/postgres/access/twophase.h index 21e2af73..56248c00 100644 --- a/parser/include/postgres/access/twophase.h +++ b/parser/include/postgres/access/twophase.h @@ -4,7 +4,7 @@ * Two-phase-commit related declarations. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/twophase.h @@ -37,7 +37,7 @@ extern void PostPrepare_Twophase(void); extern TransactionId TwoPhaseGetXidByVirtualXID(VirtualTransactionId vxid, bool *have_more); extern PGPROC *TwoPhaseGetDummyProc(TransactionId xid, bool lock_held); -extern BackendId TwoPhaseGetDummyBackendId(TransactionId xid, bool lock_held); +extern int TwoPhaseGetDummyProcNumber(TransactionId xid, bool lock_held); extern GlobalTransaction MarkAsPreparing(TransactionId xid, const char *gid, TimestampTz prepared_at, diff --git a/parser/include/postgres/access/xact.h b/parser/include/postgres/access/xact.h index 7d3b9446..6d4439f0 100644 --- a/parser/include/postgres/access/xact.h +++ b/parser/include/postgres/access/xact.h @@ -4,7 +4,7 @@ * postgres transaction system definitions * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xact.h @@ -72,8 +72,8 @@ typedef enum SYNCHRONOUS_COMMIT_REMOTE_WRITE, /* wait for local flush and remote * write */ SYNCHRONOUS_COMMIT_REMOTE_FLUSH, /* wait for local and remote flush */ - SYNCHRONOUS_COMMIT_REMOTE_APPLY /* wait for local and remote flush and - * remote apply */ + SYNCHRONOUS_COMMIT_REMOTE_APPLY, /* wait for local and remote flush and + * remote apply */ } SyncCommitLevel; /* Define the default setting for synchronous_commit */ @@ -132,7 +132,7 @@ typedef enum XACT_EVENT_PREPARE, XACT_EVENT_PRE_COMMIT, XACT_EVENT_PARALLEL_PRE_COMMIT, - XACT_EVENT_PRE_PREPARE + XACT_EVENT_PRE_PREPARE, } XactEvent; typedef void (*XactCallback) (XactEvent event, void *arg); @@ -142,7 +142,7 @@ typedef enum SUBXACT_EVENT_START_SUB, SUBXACT_EVENT_COMMIT_SUB, SUBXACT_EVENT_ABORT_SUB, - SUBXACT_EVENT_PRE_COMMIT_SUB + SUBXACT_EVENT_PRE_COMMIT_SUB, } SubXactEvent; typedef void (*SubXactCallback) (SubXactEvent event, SubTransactionId mySubid, diff --git a/parser/include/postgres/access/xlog.h b/parser/include/postgres/access/xlog.h index 48ca8523..2c507ea6 100644 --- a/parser/include/postgres/access/xlog.h +++ b/parser/include/postgres/access/xlog.h @@ -3,7 +3,7 @@ * * PostgreSQL write-ahead log manager * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlog.h @@ -19,12 +19,15 @@ /* Sync methods */ -#define SYNC_METHOD_FSYNC 0 -#define SYNC_METHOD_FDATASYNC 1 -#define SYNC_METHOD_OPEN 2 /* for O_SYNC */ -#define SYNC_METHOD_FSYNC_WRITETHROUGH 3 -#define SYNC_METHOD_OPEN_DSYNC 4 /* for O_DSYNC */ -extern PGDLLIMPORT int sync_method; +enum WalSyncMethod +{ + WAL_SYNC_METHOD_FSYNC = 0, + WAL_SYNC_METHOD_FDATASYNC, + WAL_SYNC_METHOD_OPEN, /* for O_SYNC */ + WAL_SYNC_METHOD_FSYNC_WRITETHROUGH, + WAL_SYNC_METHOD_OPEN_DSYNC /* for O_DSYNC */ +}; +extern PGDLLIMPORT int wal_sync_method; extern PGDLLIMPORT XLogRecPtr ProcLastRecPtr; extern PGDLLIMPORT XLogRecPtr XactLastRecEnd; @@ -59,7 +62,7 @@ typedef enum ArchiveMode { ARCHIVE_MODE_OFF = 0, /* disabled */ ARCHIVE_MODE_ON, /* enabled while server is running normally */ - ARCHIVE_MODE_ALWAYS /* enabled always (even during recovery) */ + ARCHIVE_MODE_ALWAYS, /* enabled always (even during recovery) */ } ArchiveMode; extern PGDLLIMPORT int XLogArchiveMode; @@ -68,7 +71,7 @@ typedef enum WalLevel { WAL_LEVEL_MINIMAL = 0, WAL_LEVEL_REPLICA, - WAL_LEVEL_LOGICAL + WAL_LEVEL_LOGICAL, } WalLevel; /* Compression algorithms for WAL */ @@ -77,7 +80,7 @@ typedef enum WalCompression WAL_COMPRESSION_NONE = 0, WAL_COMPRESSION_PGLZ, WAL_COMPRESSION_LZ4, - WAL_COMPRESSION_ZSTD + WAL_COMPRESSION_ZSTD, } WalCompression; /* Recovery states */ @@ -85,7 +88,7 @@ typedef enum RecoveryState { RECOVERY_STATE_CRASH = 0, /* crash recovery */ RECOVERY_STATE_ARCHIVE, /* archive recovery */ - RECOVERY_STATE_DONE /* currently in production */ + RECOVERY_STATE_DONE, /* currently in production */ } RecoveryState; extern PGDLLIMPORT int wal_level; @@ -187,7 +190,7 @@ typedef enum WALAvailability WALAVAIL_EXTENDED, /* WAL segment is reserved by a slot or * wal_keep_size */ WALAVAIL_UNRESERVED, /* no longer reserved, but not removed yet */ - WALAVAIL_REMOVED /* WAL segment has been removed */ + WALAVAIL_REMOVED, /* WAL segment has been removed */ } WALAvailability; struct XLogRecData; @@ -206,6 +209,7 @@ extern int XLogFileOpen(XLogSegNo segno, TimeLineID tli); extern void CheckXLogRemoved(XLogSegNo segno, TimeLineID tli); extern XLogSegNo XLogGetLastRemovedSegno(void); +extern XLogSegNo XLogGetOldestSegno(TimeLineID tli); extern void XLogSetAsyncXactLSN(XLogRecPtr asyncXactLSN); extern void XLogSetReplicationSlotMinimumLSN(XLogRecPtr lsn); @@ -244,10 +248,14 @@ extern XLogRecPtr GetRedoRecPtr(void); extern XLogRecPtr GetInsertRecPtr(void); extern XLogRecPtr GetFlushRecPtr(TimeLineID *insertTLI); extern TimeLineID GetWALInsertionTimeLine(void); +extern TimeLineID GetWALInsertionTimeLineIfSet(void); extern XLogRecPtr GetLastImportantRecPtr(void); extern void SetWalWriterSleeping(bool sleeping); +extern Size WALReadFromBuffers(char *dstbuf, XLogRecPtr startptr, Size count, + TimeLineID tli); + /* * Routines used by xlogrecovery.c to call back into xlog.c during recovery. */ diff --git a/parser/include/postgres/access/xlog_internal.h b/parser/include/postgres/access/xlog_internal.h index b0fd338a..c6a91fb4 100644 --- a/parser/include/postgres/access/xlog_internal.h +++ b/parser/include/postgres/access/xlog_internal.h @@ -11,7 +11,7 @@ * Note: This file must be includable in both frontend and backend contexts, * to allow stand-alone tools like pg_receivewal to deal with WAL files. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlog_internal.h @@ -31,7 +31,7 @@ /* * Each page of XLOG file has a header like this: */ -#define XLOG_PAGE_MAGIC 0xD113 /* can be used as WAL version indicator */ +#define XLOG_PAGE_MAGIC 0xD116 /* can be used as WAL version indicator */ typedef struct XLogPageHeaderData { @@ -302,6 +302,7 @@ typedef struct xl_end_of_recovery TimestampTz end_time; TimeLineID ThisTimeLineID; /* new TLI */ TimeLineID PrevTimeLineID; /* previous TLI we forked off from */ + int wal_level; } xl_end_of_recovery; /* @@ -322,7 +323,7 @@ typedef enum { RECOVERY_TARGET_ACTION_PAUSE, RECOVERY_TARGET_ACTION_PROMOTE, - RECOVERY_TARGET_ACTION_SHUTDOWN + RECOVERY_TARGET_ACTION_SHUTDOWN, } RecoveryTargetAction; struct LogicalDecodingContext; diff --git a/parser/include/postgres/access/xlogbackup.h b/parser/include/postgres/access/xlogbackup.h index 16113581..c30d4a59 100644 --- a/parser/include/postgres/access/xlogbackup.h +++ b/parser/include/postgres/access/xlogbackup.h @@ -3,7 +3,7 @@ * xlogbackup.h * Definitions for internals of base backups. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -28,6 +28,8 @@ typedef struct BackupState XLogRecPtr checkpointloc; /* last checkpoint location */ pg_time_t starttime; /* backup start time */ bool started_in_recovery; /* backup started in recovery? */ + XLogRecPtr istartpoint; /* incremental based on backup at this LSN */ + TimeLineID istarttli; /* incremental based on backup on this TLI */ /* Fields saved at the end of backup */ XLogRecPtr stoppoint; /* backup stop WAL location */ diff --git a/parser/include/postgres/access/xlogdefs.h b/parser/include/postgres/access/xlogdefs.h index fe794c77..30097989 100644 --- a/parser/include/postgres/access/xlogdefs.h +++ b/parser/include/postgres/access/xlogdefs.h @@ -4,7 +4,7 @@ * Postgres write-ahead log manager record pointer and * timeline number definitions * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogdefs.h @@ -71,12 +71,12 @@ typedef uint16 RepOriginId; * * Note that we define our own O_DSYNC on Windows, but not O_SYNC. */ -#if defined(PLATFORM_DEFAULT_SYNC_METHOD) -#define DEFAULT_SYNC_METHOD PLATFORM_DEFAULT_SYNC_METHOD +#if defined(PLATFORM_DEFAULT_WAL_SYNC_METHOD) +#define DEFAULT_WAL_SYNC_METHOD PLATFORM_DEFAULT_WAL_SYNC_METHOD #elif defined(O_DSYNC) && (!defined(O_SYNC) || O_DSYNC != O_SYNC) -#define DEFAULT_SYNC_METHOD SYNC_METHOD_OPEN_DSYNC +#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_OPEN_DSYNC #else -#define DEFAULT_SYNC_METHOD SYNC_METHOD_FDATASYNC +#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_FDATASYNC #endif #endif /* XLOG_DEFS_H */ diff --git a/parser/include/postgres/access/xlogprefetcher.h b/parser/include/postgres/access/xlogprefetcher.h index 7dd7f20a..98cf9901 100644 --- a/parser/include/postgres/access/xlogprefetcher.h +++ b/parser/include/postgres/access/xlogprefetcher.h @@ -3,7 +3,7 @@ * xlogprefetcher.h * Declarations for the recovery prefetching module. * - * Portions Copyright (c) 2022-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -25,7 +25,7 @@ typedef enum { RECOVERY_PREFETCH_OFF, RECOVERY_PREFETCH_ON, - RECOVERY_PREFETCH_TRY + RECOVERY_PREFETCH_TRY, } RecoveryPrefetchValue; struct XLogPrefetcher; diff --git a/parser/include/postgres/access/xlogreader.h b/parser/include/postgres/access/xlogreader.h index da32c7db..2e9e5f43 100644 --- a/parser/include/postgres/access/xlogreader.h +++ b/parser/include/postgres/access/xlogreader.h @@ -3,7 +3,7 @@ * xlogreader.h * Definitions for the generic XLog reading facility * - * Portions Copyright (c) 2013-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/access/xlogreader.h @@ -350,7 +350,7 @@ typedef enum XLogPageReadResult { XLREAD_SUCCESS = 0, /* record is successfully read */ XLREAD_FAIL = -1, /* failed during reading a record */ - XLREAD_WOULDBLOCK = -2 /* nonblocking mode only, no data */ + XLREAD_WOULDBLOCK = -2, /* nonblocking mode only, no data */ } XLogPageReadResult; /* Read the next XLog record. Returns NULL on end-of-WAL or failure */ diff --git a/parser/include/postgres/access/xlogrecord.h b/parser/include/postgres/access/xlogrecord.h index f355e08e..b9e5c59f 100644 --- a/parser/include/postgres/access/xlogrecord.h +++ b/parser/include/postgres/access/xlogrecord.h @@ -3,7 +3,7 @@ * * Definitions for the WAL record format. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogrecord.h @@ -68,8 +68,8 @@ typedef struct XLogRecord * in length if we ignore any allocation overhead of the XLogReader. * * To accommodate some overhead, this value allows for 4M of allocation - * overhead, that should be plenty enough for what - * DecodeXLogRecordRequiredSpace() expects as extra. + * overhead, that should be plenty enough for what the XLogReader + * infrastructure expects as extra. */ #define XLogRecordMaxSize (1020 * 1024 * 1024) diff --git a/parser/include/postgres/access/xlogrecovery.h b/parser/include/postgres/access/xlogrecovery.h index 47c29350..c423464e 100644 --- a/parser/include/postgres/access/xlogrecovery.h +++ b/parser/include/postgres/access/xlogrecovery.h @@ -3,7 +3,7 @@ * * Functions for WAL recovery and standby mode * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogrecovery.h @@ -27,7 +27,7 @@ typedef enum RECOVERY_TARGET_TIME, RECOVERY_TARGET_NAME, RECOVERY_TARGET_LSN, - RECOVERY_TARGET_IMMEDIATE + RECOVERY_TARGET_IMMEDIATE, } RecoveryTargetType; /* @@ -37,7 +37,7 @@ typedef enum { RECOVERY_TARGET_TIMELINE_CONTROLFILE, RECOVERY_TARGET_TIMELINE_LATEST, - RECOVERY_TARGET_TIMELINE_NUMERIC + RECOVERY_TARGET_TIMELINE_NUMERIC, } RecoveryTargetTimeLineGoal; /* Recovery pause states */ @@ -45,7 +45,7 @@ typedef enum RecoveryPauseState { RECOVERY_NOT_PAUSED, /* pause not requested */ RECOVERY_PAUSE_REQUESTED, /* pause requested, but not yet paused */ - RECOVERY_PAUSED /* recovery is paused */ + RECOVERY_PAUSED, /* recovery is paused */ } RecoveryPauseState; /* User-settable GUC parameters */ diff --git a/parser/include/postgres/archive/archive_module.h b/parser/include/postgres/archive/archive_module.h index 679ce5a6..763af76e 100644 --- a/parser/include/postgres/archive/archive_module.h +++ b/parser/include/postgres/archive/archive_module.h @@ -3,7 +3,7 @@ * archive_module.h * Exports for archive modules. * - * Copyright (c) 2022-2023, PostgreSQL Global Development Group + * Copyright (c) 2022-2024, PostgreSQL Global Development Group * * src/include/archive/archive_module.h * @@ -56,4 +56,12 @@ typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void); extern PGDLLEXPORT const ArchiveModuleCallbacks *_PG_archive_module_init(void); +/* Support for messages reported from archive module callbacks. */ + +extern PGDLLIMPORT char *arch_module_check_errdetail_string; + +#define arch_module_check_errdetail \ + pre_format_elog_string(errno, TEXTDOMAIN), \ + arch_module_check_errdetail_string = format_elog_string + #endif /* _ARCHIVE_MODULE_H */ diff --git a/parser/include/postgres/c.h b/parser/include/postgres/c.h index 549bf067..180fc9df 100644 --- a/parser/include/postgres/c.h +++ b/parser/include/postgres/c.h @@ -9,7 +9,7 @@ * polluting the namespace with lots of stuff... * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/c.h @@ -75,6 +75,11 @@ #include #endif +/* Define before including zlib.h to add const decorations to zlib API. */ +#ifdef HAVE_LIBZ +#define ZLIB_CONST +#endif + /* ---------------------------------------------------------------- * Section 1: compiler characteristics @@ -100,8 +105,6 @@ * GCC: https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html * Clang: https://clang.llvm.org/docs/AttributeReference.html * Sunpro: https://docs.oracle.com/cd/E18659_01/html/821-1384/gjzke.html - * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/function_attributes.html - * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/type_attrib.html */ /* @@ -132,6 +135,19 @@ #define pg_nodiscard #endif +/* + * This macro will disable address safety instrumentation for a function + * when running with "-fsanitize=address". Think twice before using this! + */ +#if defined(__clang__) || __GNUC__ >= 8 +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize("address"))) +#elif __has_attribute(no_sanitize_address) +/* This would work for clang, but it's deprecated. */ +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize_address)) +#else +#define pg_attribute_no_sanitize_address() +#endif + /* * Place this macro before functions that should be allowed to make misaligned * accesses. Think twice before using it on non-x86-specific code! @@ -166,8 +182,8 @@ #define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused() #endif -/* GCC and XLC support format attributes */ -#if defined(__GNUC__) || defined(__IBMC__) +/* GCC supports format attributes */ +#if defined(__GNUC__) #define pg_attribute_format_arg(a) __attribute__((format_arg(a))) #define pg_attribute_printf(f,a) __attribute__((format(PG_PRINTF_ATTRIBUTE, f, a))) #else @@ -175,8 +191,8 @@ #define pg_attribute_printf(f,a) #endif -/* GCC, Sunpro and XLC support aligned, packed and noreturn */ -#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__) +/* GCC and Sunpro support aligned, packed and noreturn */ +#if defined(__GNUC__) || defined(__SUNPRO_C) #define pg_attribute_aligned(a) __attribute__((aligned(a))) #define pg_attribute_noreturn() __attribute__((noreturn)) #define pg_attribute_packed() __attribute__((packed)) @@ -207,8 +223,8 @@ * choose not to. But, if possible, don't force inlining in unoptimized * debug builds. */ -#if (defined(__GNUC__) && __GNUC__ > 3 && defined(__OPTIMIZE__)) || defined(__SUNPRO_C) || defined(__IBMC__) -/* GCC > 3, Sunpro and XLC support always_inline via __attribute__ */ +#if (defined(__GNUC__) && __GNUC__ > 3 && defined(__OPTIMIZE__)) || defined(__SUNPRO_C) +/* GCC > 3 and Sunpro support always_inline via __attribute__ */ #define pg_attribute_always_inline __attribute__((always_inline)) inline #elif defined(_MSC_VER) /* MSVC has a special keyword for this */ @@ -224,8 +240,8 @@ * for proper cost attribution. Note that unlike the pg_attribute_XXX macros * above, this should be placed before the function's return type and name. */ -/* GCC, Sunpro and XLC support noinline via __attribute__ */ -#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) || defined(__IBMC__) +/* GCC and Sunpro support noinline via __attribute__ */ +#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) #define pg_noinline __attribute__((noinline)) /* msvc via declspec */ #elif defined(_MSC_VER) @@ -1055,30 +1071,6 @@ extern void ExceptionalCondition(const char *conditionName, } while (0) -/* - * MemSetTest/MemSetLoop are a variant version that allow all the tests in - * MemSet to be done at compile time in cases where "val" and "len" are - * constants *and* we know the "start" pointer must be word-aligned. - * If MemSetTest succeeds, then it is okay to use MemSetLoop, otherwise use - * MemSetAligned. Beware of multiple evaluations of the arguments when using - * this approach. - */ -#define MemSetTest(val, len) \ - ( ((len) & LONG_ALIGN_MASK) == 0 && \ - (len) <= MEMSET_LOOP_LIMIT && \ - MEMSET_LOOP_LIMIT != 0 && \ - (val) == 0 ) - -#define MemSetLoop(start, val, len) \ - do \ - { \ - long * _start = (long *) (start); \ - long * _stop = (long *) ((char *) _start + (Size) (len)); \ - \ - while (_start < _stop) \ - *_start++ = 0; \ - } while (0) - /* * Macros for range-checking float values before converting to integer. * We must be careful here that the boundary values are expressed exactly @@ -1240,7 +1232,10 @@ typedef union PGAlignedXLogBlock * Note that this only works in function scope, not for global variables (it'd * be nice, but not trivial, to improve that). */ -#if defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P) +#if defined(__cplusplus) +#define unconstify(underlying_type, expr) const_cast(expr) +#define unvolatize(underlying_type, expr) const_cast(expr) +#elif defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P) #define unconstify(underlying_type, expr) \ (StaticAssertExpr(__builtin_types_compatible_p(__typeof(expr), const underlying_type), \ "wrong cast"), \ diff --git a/parser/include/postgres/catalog/catalog.h b/parser/include/postgres/catalog/catalog.h index 48b0fdc6..a8dd304b 100644 --- a/parser/include/postgres/catalog/catalog.h +++ b/parser/include/postgres/catalog/catalog.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/catalog.c * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/catalog.h @@ -21,11 +21,13 @@ extern bool IsSystemRelation(Relation relation); extern bool IsToastRelation(Relation relation); extern bool IsCatalogRelation(Relation relation); +extern bool IsInplaceUpdateRelation(Relation relation); extern bool IsSystemClass(Oid relid, Form_pg_class reltuple); extern bool IsToastClass(Form_pg_class reltuple); extern bool IsCatalogRelationOid(Oid relid); +extern bool IsInplaceUpdateOid(Oid relid); extern bool IsCatalogNamespace(Oid namespaceId); extern bool IsToastNamespace(Oid namespaceId); diff --git a/parser/include/postgres/catalog/catversion.h b/parser/include/postgres/catalog/catversion.h index cc1de6e6..9b4442eb 100644 --- a/parser/include/postgres/catalog/catversion.h +++ b/parser/include/postgres/catalog/catversion.h @@ -38,7 +38,7 @@ * parsenodes.h will warrant a catversion update. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/catversion.h @@ -57,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202307071 +#define CATALOG_VERSION_NO 202406281 #endif diff --git a/parser/include/postgres/catalog/dependency.h b/parser/include/postgres/catalog/dependency.h index ffd5e9dc..6908ca71 100644 --- a/parser/include/postgres/catalog/dependency.h +++ b/parser/include/postgres/catalog/dependency.h @@ -4,7 +4,7 @@ * Routines to support inter-object dependencies. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/dependency.h @@ -36,7 +36,7 @@ typedef enum DependencyType DEPENDENCY_PARTITION_PRI = 'P', DEPENDENCY_PARTITION_SEC = 'S', DEPENDENCY_EXTENSION = 'e', - DEPENDENCY_AUTO_EXTENSION = 'x' + DEPENDENCY_AUTO_EXTENSION = 'x', } DependencyType; /* @@ -56,11 +56,17 @@ typedef enum DependencyType * created for the owner of an object; hence two objects may be linked by * one or the other, but not both, of these dependency types.) * - * (c) a SHARED_DEPENDENCY_POLICY entry means that the referenced object is + * (c) a SHARED_DEPENDENCY_INITACL entry means that the referenced object is + * a role mentioned in a pg_init_privs entry for the dependent object. + * The referenced object must be a pg_authid entry. (Unlike the case for + * SHARED_DEPENDENCY_ACL, we make an entry for such a role whether or not + * it is the object's owner.) + * + * (d) a SHARED_DEPENDENCY_POLICY entry means that the referenced object is * a role mentioned in a policy object. The referenced object must be a * pg_authid entry. * - * (d) a SHARED_DEPENDENCY_TABLESPACE entry means that the referenced + * (e) a SHARED_DEPENDENCY_TABLESPACE entry means that the referenced * object is a tablespace mentioned in a relation without storage. The * referenced object must be a pg_tablespace entry. (Relations that have * storage don't need this: they are protected by the existence of a physical @@ -73,65 +79,15 @@ typedef enum SharedDependencyType { SHARED_DEPENDENCY_OWNER = 'o', SHARED_DEPENDENCY_ACL = 'a', + SHARED_DEPENDENCY_INITACL = 'i', SHARED_DEPENDENCY_POLICY = 'r', SHARED_DEPENDENCY_TABLESPACE = 't', - SHARED_DEPENDENCY_INVALID = 0 + SHARED_DEPENDENCY_INVALID = 0, } SharedDependencyType; /* expansible list of ObjectAddresses (private in dependency.c) */ typedef struct ObjectAddresses ObjectAddresses; -/* - * This enum covers all system catalogs whose OIDs can appear in - * pg_depend.classId or pg_shdepend.classId. Keep object_classes[] in sync. - */ -typedef enum ObjectClass -{ - OCLASS_CLASS, /* pg_class */ - OCLASS_PROC, /* pg_proc */ - OCLASS_TYPE, /* pg_type */ - OCLASS_CAST, /* pg_cast */ - OCLASS_COLLATION, /* pg_collation */ - OCLASS_CONSTRAINT, /* pg_constraint */ - OCLASS_CONVERSION, /* pg_conversion */ - OCLASS_DEFAULT, /* pg_attrdef */ - OCLASS_LANGUAGE, /* pg_language */ - OCLASS_LARGEOBJECT, /* pg_largeobject */ - OCLASS_OPERATOR, /* pg_operator */ - OCLASS_OPCLASS, /* pg_opclass */ - OCLASS_OPFAMILY, /* pg_opfamily */ - OCLASS_AM, /* pg_am */ - OCLASS_AMOP, /* pg_amop */ - OCLASS_AMPROC, /* pg_amproc */ - OCLASS_REWRITE, /* pg_rewrite */ - OCLASS_TRIGGER, /* pg_trigger */ - OCLASS_SCHEMA, /* pg_namespace */ - OCLASS_STATISTIC_EXT, /* pg_statistic_ext */ - OCLASS_TSPARSER, /* pg_ts_parser */ - OCLASS_TSDICT, /* pg_ts_dict */ - OCLASS_TSTEMPLATE, /* pg_ts_template */ - OCLASS_TSCONFIG, /* pg_ts_config */ - OCLASS_ROLE, /* pg_authid */ - OCLASS_ROLE_MEMBERSHIP, /* pg_auth_members */ - OCLASS_DATABASE, /* pg_database */ - OCLASS_TBLSPACE, /* pg_tablespace */ - OCLASS_FDW, /* pg_foreign_data_wrapper */ - OCLASS_FOREIGN_SERVER, /* pg_foreign_server */ - OCLASS_USER_MAPPING, /* pg_user_mapping */ - OCLASS_DEFACL, /* pg_default_acl */ - OCLASS_EXTENSION, /* pg_extension */ - OCLASS_EVENT_TRIGGER, /* pg_event_trigger */ - OCLASS_PARAMETER_ACL, /* pg_parameter_acl */ - OCLASS_POLICY, /* pg_policy */ - OCLASS_PUBLICATION, /* pg_publication */ - OCLASS_PUBLICATION_NAMESPACE, /* pg_publication_namespace */ - OCLASS_PUBLICATION_REL, /* pg_publication_rel */ - OCLASS_SUBSCRIPTION, /* pg_subscription */ - OCLASS_TRANSFORM /* pg_transform */ -} ObjectClass; - -#define LAST_OCLASS OCLASS_TRANSFORM - /* flag bits for performDeletion/performMultipleDeletions: */ #define PERFORM_DELETION_INTERNAL 0x0001 /* internal action */ #define PERFORM_DELETION_CONCURRENTLY 0x0002 /* concurrent drop */ @@ -164,8 +120,6 @@ extern void recordDependencyOnSingleRelExpr(const ObjectAddress *depender, DependencyType self_behavior, bool reverse_self); -extern ObjectClass getObjectClass(const ObjectAddress *object); - extern ObjectAddresses *new_object_addresses(void); extern void add_exact_object_address(const ObjectAddress *object, @@ -223,7 +177,7 @@ extern List *getAutoExtensionsOfObject(Oid classId, Oid objectId); extern bool sequenceIsOwned(Oid seqId, char deptype, Oid *tableId, int32 *colId); extern List *getOwnedSequences(Oid relid); -extern Oid getIdentitySequence(Oid relid, AttrNumber attnum, bool missing_ok); +extern Oid getIdentitySequence(Relation rel, AttrNumber attnum, bool missing_ok); extern Oid get_index_constraint(Oid indexId); @@ -254,6 +208,10 @@ extern void updateAclDependencies(Oid classId, Oid objectId, int32 objsubId, int noldmembers, Oid *oldmembers, int nnewmembers, Oid *newmembers); +extern void updateInitAclDependencies(Oid classId, Oid objectId, int32 objsubId, + int noldmembers, Oid *oldmembers, + int nnewmembers, Oid *newmembers); + extern bool checkSharedDependencies(Oid classId, Oid objectId, char **detail_msg, char **detail_log_msg); diff --git a/parser/include/postgres/catalog/genbki.h b/parser/include/postgres/catalog/genbki.h index c42ba0ce..201c8c7e 100644 --- a/parser/include/postgres/catalog/genbki.h +++ b/parser/include/postgres/catalog/genbki.h @@ -9,7 +9,7 @@ * bootstrap file from these header files.) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/genbki.h @@ -76,14 +76,14 @@ * The first two arguments are the index's name and OID. The third argument * is the name of a #define to generate for its OID. References to the index * in the C code should always use these #defines, not the actual index name - * (much less the numeric OID). The rest is much like a standard 'create - * index' SQL command. + * (much less the numeric OID). The fourth argument is the table name. The + * rest is much like a standard 'create index' SQL command. * * The macro definitions are just to keep the C compiler from spitting up. */ -#define DECLARE_INDEX(name,oid,oidmacro,decl) extern int no_such_variable -#define DECLARE_UNIQUE_INDEX(name,oid,oidmacro,decl) extern int no_such_variable -#define DECLARE_UNIQUE_INDEX_PKEY(name,oid,oidmacro,decl) extern int no_such_variable +#define DECLARE_INDEX(name,oid,oidmacro,tblname,decl) extern int no_such_variable +#define DECLARE_UNIQUE_INDEX(name,oid,oidmacro,tblname,decl) extern int no_such_variable +#define DECLARE_UNIQUE_INDEX_PKEY(name,oid,oidmacro,tblname,decl) extern int no_such_variable /* * These lines inform genbki.pl about manually-assigned OIDs that do not @@ -120,6 +120,12 @@ #define DECLARE_ARRAY_FOREIGN_KEY(cols,reftbl,refcols) extern int no_such_variable #define DECLARE_ARRAY_FOREIGN_KEY_OPT(cols,reftbl,refcols) extern int no_such_variable +/* + * Create a syscache with the given name, index, and bucket size. See + * syscache.c. + */ +#define MAKE_SYSCACHE(name,idxname,nbuckets) extern int no_such_variable + /* The following are never defined; they are here only for documentation. */ /* diff --git a/parser/include/postgres/catalog/index.h b/parser/include/postgres/catalog/index.h index c8532fb9..7d434f8e 100644 --- a/parser/include/postgres/catalog/index.h +++ b/parser/include/postgres/catalog/index.h @@ -4,7 +4,7 @@ * prototypes for catalog/index.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/index.h @@ -26,7 +26,7 @@ typedef enum INDEX_CREATE_SET_READY, INDEX_CREATE_SET_VALID, INDEX_DROP_CLEAR_VALID, - INDEX_DROP_SET_DEAD + INDEX_DROP_SET_DEAD, } IndexStateFlagsAction; /* options for REINDEX */ @@ -54,9 +54,9 @@ typedef struct ValidateIndexState } ValidateIndexState; extern void index_check_primary_key(Relation heapRel, - IndexInfo *indexInfo, + const IndexInfo *indexInfo, bool is_alter_table, - IndexStmt *stmt); + const IndexStmt *stmt); #define INDEX_CREATE_IS_PRIMARY (1 << 0) #define INDEX_CREATE_ADD_CONSTRAINT (1 << 1) @@ -73,12 +73,14 @@ extern Oid index_create(Relation heapRelation, Oid parentConstraintId, RelFileNumber relFileNumber, IndexInfo *indexInfo, - List *indexColNames, - Oid accessMethodObjectId, + const List *indexColNames, + Oid accessMethodId, Oid tableSpaceId, - Oid *collationObjectId, - Oid *classObjectId, - int16 *coloptions, + const Oid *collationIds, + const Oid *opclassIds, + const Datum *opclassOptions, + const int16 *coloptions, + const NullableDatum *stattargets, Datum reloptions, bits16 flags, bits16 constr_flags, @@ -110,7 +112,7 @@ extern void index_concurrently_set_dead(Oid heapId, extern ObjectAddress index_constraint_create(Relation heapRelation, Oid indexRelationId, Oid parentConstraintId, - IndexInfo *indexInfo, + const IndexInfo *indexInfo, const char *constraintName, char constraintType, bits16 constr_flags, @@ -123,10 +125,10 @@ extern IndexInfo *BuildIndexInfo(Relation index); extern IndexInfo *BuildDummyIndexInfo(Relation index); -extern bool CompareIndexInfo(IndexInfo *info1, IndexInfo *info2, - Oid *collations1, Oid *collations2, - Oid *opfamilies1, Oid *opfamilies2, - AttrMap *attmap); +extern bool CompareIndexInfo(const IndexInfo *info1, const IndexInfo *info2, + const Oid *collations1, const Oid *collations2, + const Oid *opfamilies1, const Oid *opfamilies2, + const AttrMap *attmap); extern void BuildSpeculativeIndexInfo(Relation index, IndexInfo *ii); @@ -148,8 +150,9 @@ extern void index_set_state_flags(Oid indexId, IndexStateFlagsAction action); extern Oid IndexGetRelation(Oid indexId, bool missing_ok); -extern void reindex_index(Oid indexId, bool skip_constraint_checks, - char persistence, ReindexParams *params); +extern void reindex_index(const ReindexStmt *stmt, Oid indexId, + bool skip_constraint_checks, char persistence, + const ReindexParams *params); /* Flag bits for reindex_relation(): */ #define REINDEX_REL_PROCESS_TOAST 0x01 @@ -158,7 +161,8 @@ extern void reindex_index(Oid indexId, bool skip_constraint_checks, #define REINDEX_REL_FORCE_INDEXES_UNLOGGED 0x08 #define REINDEX_REL_FORCE_INDEXES_PERMANENT 0x10 -extern bool reindex_relation(Oid relid, int flags, ReindexParams *params); +extern bool reindex_relation(const ReindexStmt *stmt, Oid relid, int flags, + const ReindexParams *params); extern bool ReindexIsProcessingHeap(Oid heapOid); extern bool ReindexIsProcessingIndex(Oid indexOid); @@ -166,7 +170,7 @@ extern bool ReindexIsProcessingIndex(Oid indexOid); extern void ResetReindexState(int nestLevel); extern Size EstimateReindexStateSpace(void); extern void SerializeReindexState(Size maxsize, char *start_address); -extern void RestoreReindexState(void *reindexstate); +extern void RestoreReindexState(const void *reindexstate); extern void IndexSetParentIndex(Relation partitionIdx, Oid parentOid); diff --git a/parser/include/postgres/catalog/indexing.h b/parser/include/postgres/catalog/indexing.h index 5c069383..30b53500 100644 --- a/parser/include/postgres/catalog/indexing.h +++ b/parser/include/postgres/catalog/indexing.h @@ -5,7 +5,7 @@ * on system catalogs * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/indexing.h diff --git a/parser/include/postgres/catalog/namespace.h b/parser/include/postgres/catalog/namespace.h index f64a0ec2..8d434d48 100644 --- a/parser/include/postgres/catalog/namespace.h +++ b/parser/include/postgres/catalog/namespace.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/namespace.c * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/namespace.h @@ -16,6 +16,7 @@ #include "nodes/primnodes.h" #include "storage/lock.h" +#include "storage/procnumber.h" /* @@ -45,23 +46,23 @@ typedef enum TempNamespaceStatus { TEMP_NAMESPACE_NOT_TEMP, /* nonexistent, or non-temp namespace */ TEMP_NAMESPACE_IDLE, /* exists, belongs to no active session */ - TEMP_NAMESPACE_IN_USE /* belongs to some active session */ + TEMP_NAMESPACE_IN_USE, /* belongs to some active session */ } TempNamespaceStatus; /* - * Structure for xxxOverrideSearchPath functions + * Structure for xxxSearchPathMatcher functions * * The generation counter is private to namespace.c and shouldn't be touched * by other code. It can be initialized to zero if necessary (that means * "not known equal to the current active path"). */ -typedef struct OverrideSearchPath +typedef struct SearchPathMatcher { List *schemas; /* OIDs of explicitly named schemas */ bool addCatalog; /* implicitly prepend pg_catalog? */ bool addTemp; /* implicitly prepend temp schema? */ uint64 generation; /* for quick detection of equality to active */ -} OverrideSearchPath; +} SearchPathMatcher; /* * Option flag bits for RangeVarGetRelidExtended(). @@ -70,8 +71,8 @@ typedef enum RVROption { RVR_MISSING_OK = 1 << 0, /* don't error if relation doesn't exist */ RVR_NOWAIT = 1 << 1, /* error if relation cannot be locked */ - RVR_SKIP_LOCKED = 1 << 2 /* skip if relation cannot be locked */ -} RVROption; + RVR_SKIP_LOCKED = 1 << 2, /* skip if relation cannot be locked */ +} RVROption; typedef void (*RangeVarGetRelidCallback) (const RangeVar *relation, Oid relId, Oid oldRelId, void *callback_arg); @@ -122,7 +123,7 @@ extern Oid ConversionGetConid(const char *conname); extern bool ConversionIsVisible(Oid conid); extern Oid get_statistics_object_oid(List *names, bool missing_ok); -extern bool StatisticsObjIsVisible(Oid relid); +extern bool StatisticsObjIsVisible(Oid stxid); extern Oid get_ts_parser_oid(List *names, bool missing_ok); extern bool TSParserIsVisible(Oid prsId); @@ -136,7 +137,7 @@ extern bool TSTemplateIsVisible(Oid tmplId); extern Oid get_ts_config_oid(List *names, bool missing_ok); extern bool TSConfigIsVisible(Oid cfgid); -extern void DeconstructQualifiedName(List *names, +extern void DeconstructQualifiedName(const List *names, char **nspname_p, char **objname_p); extern Oid LookupNamespaceNoError(const char *nspname); @@ -145,10 +146,10 @@ extern Oid get_namespace_oid(const char *nspname, bool missing_ok); extern Oid LookupCreationNamespace(const char *nspname); extern void CheckSetNamespace(Oid oldNspOid, Oid nspOid); -extern Oid QualifiedNameGetCreationNamespace(List *names, char **objname_p); -extern RangeVar *makeRangeVarFromNameList(List *names); -extern char *NameListToString(List *names); -extern char *NameListToQuotedString(List *names); +extern Oid QualifiedNameGetCreationNamespace(const List *names, char **objname_p); +extern RangeVar *makeRangeVarFromNameList(const List *names); +extern char *NameListToString(const List *names); +extern char *NameListToQuotedString(const List *names); extern bool isTempNamespace(Oid namespaceId); extern bool isTempToastNamespace(Oid namespaceId); @@ -156,7 +157,7 @@ extern bool isTempOrTempToastNamespace(Oid namespaceId); extern bool isAnyTempNamespace(Oid namespaceId); extern bool isOtherTempNamespace(Oid namespaceId); extern TempNamespaceStatus checkTempNamespaceStatus(Oid namespaceId); -extern int GetTempNamespaceBackendId(Oid namespaceId); +extern ProcNumber GetTempNamespaceProcNumber(Oid namespaceId); extern Oid GetTempToastNamespace(void); extern void GetTempNamespaceState(Oid *tempNamespaceId, Oid *tempToastNamespaceId); @@ -164,11 +165,9 @@ extern void SetTempNamespaceState(Oid tempNamespaceId, Oid tempToastNamespaceId); extern void ResetTempTableNamespace(void); -extern OverrideSearchPath *GetOverrideSearchPath(MemoryContext context); -extern OverrideSearchPath *CopyOverrideSearchPath(OverrideSearchPath *path); -extern bool OverrideSearchPathMatchesCurrent(OverrideSearchPath *path); -extern void PushOverrideSearchPath(OverrideSearchPath *newpath); -extern void PopOverrideSearchPath(void); +extern SearchPathMatcher *GetSearchPathMatcher(MemoryContext context); +extern SearchPathMatcher *CopySearchPathMatcher(SearchPathMatcher *path); +extern bool SearchPathMatchesCurrentEnvironment(SearchPathMatcher *path); extern Oid get_collation_oid(List *collname, bool missing_ok); extern Oid get_conversion_oid(List *conname, bool missing_ok); diff --git a/parser/include/postgres/catalog/objectaccess.h b/parser/include/postgres/catalog/objectaccess.h index d8145dd4..88387feb 100644 --- a/parser/include/postgres/catalog/objectaccess.h +++ b/parser/include/postgres/catalog/objectaccess.h @@ -3,7 +3,7 @@ * * Object access hooks. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California */ @@ -52,7 +52,7 @@ typedef enum ObjectAccessType OAT_POST_ALTER, OAT_NAMESPACE_SEARCH, OAT_FUNCTION_EXECUTE, - OAT_TRUNCATE + OAT_TRUNCATE, } ObjectAccessType; /* diff --git a/parser/include/postgres/catalog/objectaddress.h b/parser/include/postgres/catalog/objectaddress.h index 9caa3109..3a70d80e 100644 --- a/parser/include/postgres/catalog/objectaddress.h +++ b/parser/include/postgres/catalog/objectaddress.h @@ -3,7 +3,7 @@ * objectaddress.h * functions for working with object addresses * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/objectaddress.h diff --git a/parser/include/postgres/catalog/pg_aggregate.h b/parser/include/postgres/catalog/pg_aggregate.h index 31128811..490f6454 100644 --- a/parser/include/postgres/catalog/pg_aggregate.h +++ b/parser/include/postgres/catalog/pg_aggregate.h @@ -4,7 +4,7 @@ * definition of the "aggregate" system catalog (pg_aggregate) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_aggregate.h @@ -110,7 +110,9 @@ typedef FormData_pg_aggregate *Form_pg_aggregate; DECLARE_TOAST(pg_aggregate, 4159, 4160); -DECLARE_UNIQUE_INDEX_PKEY(pg_aggregate_fnoid_index, 2650, AggregateFnoidIndexId, on pg_aggregate using btree(aggfnoid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_aggregate_fnoid_index, 2650, AggregateFnoidIndexId, pg_aggregate, btree(aggfnoid oid_ops)); + +MAKE_SYSCACHE(AGGFNOID, pg_aggregate_fnoid_index, 16); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_aggregate_d.h b/parser/include/postgres/catalog/pg_aggregate_d.h index b39c740b..c6ca1dce 100644 --- a/parser/include/postgres/catalog/pg_aggregate_d.h +++ b/parser/include/postgres/catalog/pg_aggregate_d.h @@ -3,7 +3,7 @@ * pg_aggregate_d.h * Macro definitions for pg_aggregate * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_am.h b/parser/include/postgres/catalog/pg_am.h index dab54be1..475593fa 100644 --- a/parser/include/postgres/catalog/pg_am.h +++ b/parser/include/postgres/catalog/pg_am.h @@ -4,7 +4,7 @@ * definition of the "access method" system catalog (pg_am) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_am.h @@ -47,8 +47,11 @@ CATALOG(pg_am,2601,AccessMethodRelationId) */ typedef FormData_pg_am *Form_pg_am; -DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, AmNameIndexId, on pg_am using btree(amname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, AmOidIndexId, on pg_am using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, AmNameIndexId, pg_am, btree(amname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, AmOidIndexId, pg_am, btree(oid oid_ops)); + +MAKE_SYSCACHE(AMNAME, pg_am_name_index, 4); +MAKE_SYSCACHE(AMOID, pg_am_oid_index, 4); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_am_d.h b/parser/include/postgres/catalog/pg_am_d.h index 7059591d..d0e5e24d 100644 --- a/parser/include/postgres/catalog/pg_am_d.h +++ b/parser/include/postgres/catalog/pg_am_d.h @@ -3,7 +3,7 @@ * pg_am_d.h * Macro definitions for pg_am * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_attribute.h b/parser/include/postgres/catalog/pg_attribute.h index f8b4861b..1c62b8bf 100644 --- a/parser/include/postgres/catalog/pg_attribute.h +++ b/parser/include/postgres/catalog/pg_attribute.h @@ -8,7 +8,7 @@ * relations need be included. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_attribute.h @@ -158,22 +158,22 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, /* Number of times inherited from direct parent relation(s) */ int16 attinhcount BKI_DEFAULT(0); + /* attribute's collation, if any */ + Oid attcollation BKI_LOOKUP_OPT(pg_collation); + +#ifdef CATALOG_VARLEN /* variable-length/nullable fields start here */ + /* NOTE: The following fields are not present in tuple descriptors. */ + /* * attstattarget is the target number of statistics datapoints to collect * during VACUUM ANALYZE of this column. A zero here indicates that we do - * not wish to collect any stats about this column. A "-1" here indicates - * that no value has been explicitly set for this column, so ANALYZE - * should use the default setting. + * not wish to collect any stats about this column. A null value here + * indicates that no value has been explicitly set for this column, so + * ANALYZE should use the default setting. * - * int16 is sufficient because the max value is currently 10000. + * int16 is sufficient for the current max value (MAX_STATISTICS_TARGET). */ - int16 attstattarget BKI_DEFAULT(-1); - - /* attribute's collation, if any */ - Oid attcollation BKI_LOOKUP_OPT(pg_collation); - -#ifdef CATALOG_VARLEN /* variable-length fields start here */ - /* NOTE: The following fields are not present in tuple descriptors. */ + int16 attstattarget BKI_DEFAULT(_null_) BKI_FORCE_NULL; /* Column-level access permissions */ aclitem attacl[1] BKI_DEFAULT(_null_); @@ -208,8 +208,25 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, */ typedef FormData_pg_attribute *Form_pg_attribute; -DECLARE_UNIQUE_INDEX(pg_attribute_relid_attnam_index, 2658, AttributeRelidNameIndexId, on pg_attribute using btree(attrelid oid_ops, attname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_attribute_relid_attnum_index, 2659, AttributeRelidNumIndexId, on pg_attribute using btree(attrelid oid_ops, attnum int2_ops)); +/* + * FormExtraData_pg_attribute contains (some of) the fields that are not in + * FormData_pg_attribute because they are excluded by CATALOG_VARLEN. It is + * meant to be used by DDL code so that the combination of + * FormData_pg_attribute (often via tuple descriptor) and + * FormExtraData_pg_attribute can be used to pass around all the information + * about an attribute. Fields can be included here as needed. + */ +typedef struct FormExtraData_pg_attribute +{ + NullableDatum attstattarget; + NullableDatum attoptions; +} FormExtraData_pg_attribute; + +DECLARE_UNIQUE_INDEX(pg_attribute_relid_attnam_index, 2658, AttributeRelidNameIndexId, pg_attribute, btree(attrelid oid_ops, attname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_attribute_relid_attnum_index, 2659, AttributeRelidNumIndexId, pg_attribute, btree(attrelid oid_ops, attnum int2_ops)); + +MAKE_SYSCACHE(ATTNAME, pg_attribute_relid_attnam_index, 32); +MAKE_SYSCACHE(ATTNUM, pg_attribute_relid_attnum_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_attribute_d.h b/parser/include/postgres/catalog/pg_attribute_d.h index c669c28c..b2282458 100644 --- a/parser/include/postgres/catalog/pg_attribute_d.h +++ b/parser/include/postgres/catalog/pg_attribute_d.h @@ -3,7 +3,7 @@ * pg_attribute_d.h * Macro definitions for pg_attribute * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -43,8 +43,8 @@ #define Anum_pg_attribute_attisdropped 18 #define Anum_pg_attribute_attislocal 19 #define Anum_pg_attribute_attinhcount 20 -#define Anum_pg_attribute_attstattarget 21 -#define Anum_pg_attribute_attcollation 22 +#define Anum_pg_attribute_attcollation 21 +#define Anum_pg_attribute_attstattarget 22 #define Anum_pg_attribute_attacl 23 #define Anum_pg_attribute_attoptions 24 #define Anum_pg_attribute_attfdwoptions 25 diff --git a/parser/include/postgres/catalog/pg_authid.h b/parser/include/postgres/catalog/pg_authid.h index c70baf78..e08863f7 100644 --- a/parser/include/postgres/catalog/pg_authid.h +++ b/parser/include/postgres/catalog/pg_authid.h @@ -6,7 +6,7 @@ * pg_shadow and pg_group are now publicly accessible views on pg_authid. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_authid.h @@ -57,7 +57,10 @@ typedef FormData_pg_authid *Form_pg_authid; DECLARE_TOAST_WITH_MACRO(pg_authid, 4175, 4176, PgAuthidToastTable, PgAuthidToastIndex); -DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, on pg_authid using btree(rolname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, on pg_authid using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, pg_authid, btree(rolname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, pg_authid, btree(oid oid_ops)); + +MAKE_SYSCACHE(AUTHNAME, pg_authid_rolname_index, 8); +MAKE_SYSCACHE(AUTHOID, pg_authid_oid_index, 8); #endif /* PG_AUTHID_H */ diff --git a/parser/include/postgres/catalog/pg_authid_d.h b/parser/include/postgres/catalog/pg_authid_d.h index 26900a5c..4e1da124 100644 --- a/parser/include/postgres/catalog/pg_authid_d.h +++ b/parser/include/postgres/catalog/pg_authid_d.h @@ -3,7 +3,7 @@ * pg_authid_d.h * Macro definitions for pg_authid * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -53,6 +53,7 @@ #define ROLE_PG_EXECUTE_SERVER_PROGRAM 4571 #define ROLE_PG_SIGNAL_BACKEND 4200 #define ROLE_PG_CHECKPOINT 4544 +#define ROLE_PG_MAINTAIN 6337 #define ROLE_PG_USE_RESERVED_CONNECTIONS 4550 #define ROLE_PG_CREATE_SUBSCRIPTION 6304 diff --git a/parser/include/postgres/catalog/pg_class.h b/parser/include/postgres/catalog/pg_class.h index 2d1bb7af..0fc2c093 100644 --- a/parser/include/postgres/catalog/pg_class.h +++ b/parser/include/postgres/catalog/pg_class.h @@ -4,7 +4,7 @@ * definition of the "relation" system catalog (pg_class) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_class.h @@ -152,9 +152,12 @@ CATALOG(pg_class,1259,RelationRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(83,Relat */ typedef FormData_pg_class *Form_pg_class; -DECLARE_UNIQUE_INDEX_PKEY(pg_class_oid_index, 2662, ClassOidIndexId, on pg_class using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_class_relname_nsp_index, 2663, ClassNameNspIndexId, on pg_class using btree(relname name_ops, relnamespace oid_ops)); -DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeIndexId, on pg_class using btree(reltablespace oid_ops, relfilenode oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_class_oid_index, 2662, ClassOidIndexId, pg_class, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_class_relname_nsp_index, 2663, ClassNameNspIndexId, pg_class, btree(relname name_ops, relnamespace oid_ops)); +DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeIndexId, pg_class, btree(reltablespace oid_ops, relfilenode oid_ops)); + +MAKE_SYSCACHE(RELOID, pg_class_oid_index, 128); +MAKE_SYSCACHE(RELNAMENSP, pg_class_relname_nsp_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE @@ -216,7 +219,9 @@ DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeInd /* * Relation kinds with a table access method (rd_tableam). Although sequences * use the heap table AM, they are enough of a special case in most uses that - * they are not included here. + * they are not included here. Likewise, partitioned tables can have an access + * method defined so that their partitions can inherit it, but they do not set + * rd_tableam; hence, this is handled specially outside of this macro. */ #define RELKIND_HAS_TABLE_AM(relkind) \ ((relkind) == RELKIND_RELATION || \ diff --git a/parser/include/postgres/catalog/pg_class_d.h b/parser/include/postgres/catalog/pg_class_d.h index 51208d69..fc850451 100644 --- a/parser/include/postgres/catalog/pg_class_d.h +++ b/parser/include/postgres/catalog/pg_class_d.h @@ -3,7 +3,7 @@ * pg_class_d.h * Macro definitions for pg_class * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -119,7 +119,9 @@ /* * Relation kinds with a table access method (rd_tableam). Although sequences * use the heap table AM, they are enough of a special case in most uses that - * they are not included here. + * they are not included here. Likewise, partitioned tables can have an access + * method defined so that their partitions can inherit it, but they do not set + * rd_tableam; hence, this is handled specially outside of this macro. */ #define RELKIND_HAS_TABLE_AM(relkind) \ ((relkind) == RELKIND_RELATION || \ diff --git a/parser/include/postgres/catalog/pg_collation.h b/parser/include/postgres/catalog/pg_collation.h index bfa35684..5ce289d7 100644 --- a/parser/include/postgres/catalog/pg_collation.h +++ b/parser/include/postgres/catalog/pg_collation.h @@ -4,7 +4,7 @@ * definition of the "collation" system catalog (pg_collation) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_collation.h @@ -42,7 +42,7 @@ CATALOG(pg_collation,3456,CollationRelationId) #ifdef CATALOG_VARLEN /* variable-length fields start here */ text collcollate BKI_DEFAULT(_null_); /* LC_COLLATE setting */ text collctype BKI_DEFAULT(_null_); /* LC_CTYPE setting */ - text colliculocale BKI_DEFAULT(_null_); /* ICU locale ID */ + text colllocale BKI_DEFAULT(_null_); /* locale ID */ text collicurules BKI_DEFAULT(_null_); /* ICU collation rules */ text collversion BKI_DEFAULT(_null_); /* provider-dependent * version of collation @@ -59,12 +59,16 @@ typedef FormData_pg_collation *Form_pg_collation; DECLARE_TOAST(pg_collation, 6175, 6176); -DECLARE_UNIQUE_INDEX(pg_collation_name_enc_nsp_index, 3164, CollationNameEncNspIndexId, on pg_collation using btree(collname name_ops, collencoding int4_ops, collnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_collation_oid_index, 3085, CollationOidIndexId, on pg_collation using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_collation_name_enc_nsp_index, 3164, CollationNameEncNspIndexId, pg_collation, btree(collname name_ops, collencoding int4_ops, collnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_collation_oid_index, 3085, CollationOidIndexId, pg_collation, btree(oid oid_ops)); + +MAKE_SYSCACHE(COLLNAMEENCNSP, pg_collation_name_enc_nsp_index, 8); +MAKE_SYSCACHE(COLLOID, pg_collation_oid_index, 8); #ifdef EXPOSE_TO_CLIENT_CODE #define COLLPROVIDER_DEFAULT 'd' +#define COLLPROVIDER_BUILTIN 'b' #define COLLPROVIDER_ICU 'i' #define COLLPROVIDER_LIBC 'c' @@ -73,6 +77,8 @@ collprovider_name(char c) { switch (c) { + case COLLPROVIDER_BUILTIN: + return "builtin"; case COLLPROVIDER_ICU: return "icu"; case COLLPROVIDER_LIBC: @@ -91,7 +97,7 @@ extern Oid CollationCreate(const char *collname, Oid collnamespace, bool collisdeterministic, int32 collencoding, const char *collcollate, const char *collctype, - const char *colliculocale, + const char *colllocale, const char *collicurules, const char *collversion, bool if_not_exists, diff --git a/parser/include/postgres/catalog/pg_collation_d.h b/parser/include/postgres/catalog/pg_collation_d.h index a5a675b3..1e19f8f2 100644 --- a/parser/include/postgres/catalog/pg_collation_d.h +++ b/parser/include/postgres/catalog/pg_collation_d.h @@ -3,7 +3,7 @@ * pg_collation_d.h * Macro definitions for pg_collation * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -31,7 +31,7 @@ #define Anum_pg_collation_collencoding 7 #define Anum_pg_collation_collcollate 8 #define Anum_pg_collation_collctype 9 -#define Anum_pg_collation_colliculocale 10 +#define Anum_pg_collation_colllocale 10 #define Anum_pg_collation_collicurules 11 #define Anum_pg_collation_collversion 12 @@ -39,6 +39,7 @@ #define COLLPROVIDER_DEFAULT 'd' +#define COLLPROVIDER_BUILTIN 'b' #define COLLPROVIDER_ICU 'i' #define COLLPROVIDER_LIBC 'c' @@ -47,6 +48,8 @@ collprovider_name(char c) { switch (c) { + case COLLPROVIDER_BUILTIN: + return "builtin"; case COLLPROVIDER_ICU: return "icu"; case COLLPROVIDER_LIBC: diff --git a/parser/include/postgres/catalog/pg_constraint.h b/parser/include/postgres/catalog/pg_constraint.h index 16bf5f55..7a8017f1 100644 --- a/parser/include/postgres/catalog/pg_constraint.h +++ b/parser/include/postgres/catalog/pg_constraint.h @@ -4,7 +4,7 @@ * definition of the "constraint" system catalog (pg_constraint) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_constraint.h @@ -166,11 +166,13 @@ typedef FormData_pg_constraint *Form_pg_constraint; DECLARE_TOAST(pg_constraint, 2832, 2833); -DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, on pg_constraint using btree(conname name_ops, connamespace oid_ops)); -DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, on pg_constraint using btree(conrelid oid_ops, contypid oid_ops, conname name_ops)); -DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, on pg_constraint using btree(contypid oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, on pg_constraint using btree(oid oid_ops)); -DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, on pg_constraint using btree(conparentid oid_ops)); +DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, pg_constraint, btree(conname name_ops, connamespace oid_ops)); +DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, pg_constraint, btree(conrelid oid_ops, contypid oid_ops, conname name_ops)); +DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, pg_constraint, btree(contypid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, pg_constraint, btree(oid oid_ops)); +DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, pg_constraint, btree(conparentid oid_ops)); + +MAKE_SYSCACHE(CONSTROID, pg_constraint_oid_index, 16); /* conkey can contain zero (InvalidAttrNumber) if a whole-row Var is used */ DECLARE_ARRAY_FOREIGN_KEY_OPT((conrelid, conkey), pg_attribute, (attrelid, attnum)); @@ -181,6 +183,7 @@ DECLARE_ARRAY_FOREIGN_KEY((confrelid, confkey), pg_attribute, (attrelid, attnum) /* Valid values for contype */ #define CONSTRAINT_CHECK 'c' #define CONSTRAINT_FOREIGN 'f' +#define CONSTRAINT_NOTNULL 'n' #define CONSTRAINT_PRIMARY 'p' #define CONSTRAINT_UNIQUE 'u' #define CONSTRAINT_TRIGGER 't' @@ -201,7 +204,7 @@ typedef enum ConstraintCategory { CONSTRAINT_RELATION, CONSTRAINT_DOMAIN, - CONSTRAINT_ASSERTION /* for future expansion */ + CONSTRAINT_ASSERTION, /* for future expansion */ } ConstraintCategory; @@ -237,9 +240,6 @@ extern Oid CreateConstraintEntry(const char *constraintName, bool conNoInherit, bool is_internal); -extern void RemoveConstraintById(Oid conId); -extern void RenameConstraintById(Oid conId, const char *newname); - extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId, const char *conname); extern bool ConstraintNameExists(const char *conname, Oid namespaceid); @@ -247,6 +247,11 @@ extern char *ChooseConstraintName(const char *name1, const char *name2, const char *label, Oid namespaceid, List *others); +extern HeapTuple findDomainNotNullConstraint(Oid typid); + +extern void RemoveConstraintById(Oid conId); +extern void RenameConstraintById(Oid conId, const char *newname); + extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, Oid newNspId, bool isType, ObjectAddresses *objsMoved); extern void ConstraintSetParentConstraint(Oid childConstrId, diff --git a/parser/include/postgres/catalog/pg_constraint_d.h b/parser/include/postgres/catalog/pg_constraint_d.h index ccd977b8..dd91d4e3 100644 --- a/parser/include/postgres/catalog/pg_constraint_d.h +++ b/parser/include/postgres/catalog/pg_constraint_d.h @@ -3,7 +3,7 @@ * pg_constraint_d.h * Macro definitions for pg_constraint * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -58,6 +58,7 @@ /* Valid values for contype */ #define CONSTRAINT_CHECK 'c' #define CONSTRAINT_FOREIGN 'f' +#define CONSTRAINT_NOTNULL 'n' #define CONSTRAINT_PRIMARY 'p' #define CONSTRAINT_UNIQUE 'u' #define CONSTRAINT_TRIGGER 't' diff --git a/parser/include/postgres/catalog/pg_control.h b/parser/include/postgres/catalog/pg_control.h index dc953977..e80ff8e4 100644 --- a/parser/include/postgres/catalog/pg_control.h +++ b/parser/include/postgres/catalog/pg_control.h @@ -5,7 +5,7 @@ * However, we define it here so that the format is documented. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_control.h @@ -22,7 +22,7 @@ /* Version identifier for this pg_control format */ -#define PG_CONTROL_VERSION 1300 +#define PG_CONTROL_VERSION 1700 /* Nonce key length, see below */ #define MOCK_AUTH_NONCE_LEN 32 @@ -40,6 +40,7 @@ typedef struct CheckPoint TimeLineID PrevTimeLineID; /* previous TLI, if this record begins a new * timeline (equals ThisTimeLineID otherwise) */ bool fullPageWrites; /* current full_page_writes */ + int wal_level; /* current wal_level */ FullTransactionId nextXid; /* next free transaction ID */ Oid nextOid; /* next free OID */ MultiXactId nextMulti; /* next free MultiXactId */ @@ -78,6 +79,7 @@ typedef struct CheckPoint #define XLOG_FPI 0xB0 /* 0xC0 is used in Postgres 9.5-11 */ #define XLOG_OVERWRITE_CONTRECORD 0xD0 +#define XLOG_CHECKPOINT_REDO 0xE0 /* @@ -92,7 +94,7 @@ typedef enum DBState DB_SHUTDOWNING, DB_IN_CRASH_RECOVERY, DB_IN_ARCHIVE_RECOVERY, - DB_IN_PRODUCTION + DB_IN_PRODUCTION, } DBState; /* diff --git a/parser/include/postgres/catalog/pg_conversion.h b/parser/include/postgres/catalog/pg_conversion.h index de40909d..d94f0229 100644 --- a/parser/include/postgres/catalog/pg_conversion.h +++ b/parser/include/postgres/catalog/pg_conversion.h @@ -3,7 +3,7 @@ * pg_conversion.h * definition of the "conversion" system catalog (pg_conversion) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_conversion.h @@ -60,9 +60,13 @@ CATALOG(pg_conversion,2607,ConversionRelationId) */ typedef FormData_pg_conversion *Form_pg_conversion; -DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, on pg_conversion using btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, on pg_conversion using btree(conname name_ops, connamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, on pg_conversion using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, pg_conversion, btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, pg_conversion, btree(conname name_ops, connamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, pg_conversion, btree(oid oid_ops)); + +MAKE_SYSCACHE(CONDEFAULT, pg_conversion_default_index, 8); +MAKE_SYSCACHE(CONNAMENSP, pg_conversion_name_nsp_index, 8); +MAKE_SYSCACHE(CONVOID, pg_conversion_oid_index, 8); extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace, diff --git a/parser/include/postgres/catalog/pg_conversion_d.h b/parser/include/postgres/catalog/pg_conversion_d.h index 30857dd6..b106c743 100644 --- a/parser/include/postgres/catalog/pg_conversion_d.h +++ b/parser/include/postgres/catalog/pg_conversion_d.h @@ -3,7 +3,7 @@ * pg_conversion_d.h * Macro definitions for pg_conversion * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_database.h b/parser/include/postgres/catalog/pg_database.h index ff5baaf5..dbd4379f 100644 --- a/parser/include/postgres/catalog/pg_database.h +++ b/parser/include/postgres/catalog/pg_database.h @@ -4,7 +4,7 @@ * definition of the "database" system catalog (pg_database) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_database.h @@ -49,6 +49,9 @@ CATALOG(pg_database,1262,DatabaseRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID /* new connections allowed? */ bool datallowconn; + /* database has login event triggers? */ + bool dathasloginevt; + /* * Max connections allowed. Negative values have special meaning, see * DATCONNLIMIT_* defines below. @@ -72,7 +75,7 @@ CATALOG(pg_database,1262,DatabaseRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID text datctype BKI_FORCE_NOT_NULL; /* ICU locale ID */ - text daticulocale; + text datlocale; /* ICU collation rules */ text daticurules; @@ -94,8 +97,10 @@ typedef FormData_pg_database *Form_pg_database; DECLARE_TOAST_WITH_MACRO(pg_database, 4177, 4178, PgDatabaseToastTable, PgDatabaseToastIndex); -DECLARE_UNIQUE_INDEX(pg_database_datname_index, 2671, DatabaseNameIndexId, on pg_database using btree(datname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_database_oid_index, 2672, DatabaseOidIndexId, on pg_database using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_database_datname_index, 2671, DatabaseNameIndexId, pg_database, btree(datname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_database_oid_index, 2672, DatabaseOidIndexId, pg_database, btree(oid oid_ops)); + +MAKE_SYSCACHE(DATABASEOID, pg_database_oid_index, 4); /* * pg_database.dat contains an entry for template1, but not for the template0 diff --git a/parser/include/postgres/catalog/pg_database_d.h b/parser/include/postgres/catalog/pg_database_d.h index a3a68998..553263ff 100644 --- a/parser/include/postgres/catalog/pg_database_d.h +++ b/parser/include/postgres/catalog/pg_database_d.h @@ -3,7 +3,7 @@ * pg_database_d.h * Macro definitions for pg_database * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -34,18 +34,19 @@ #define Anum_pg_database_datlocprovider 5 #define Anum_pg_database_datistemplate 6 #define Anum_pg_database_datallowconn 7 -#define Anum_pg_database_datconnlimit 8 -#define Anum_pg_database_datfrozenxid 9 -#define Anum_pg_database_datminmxid 10 -#define Anum_pg_database_dattablespace 11 -#define Anum_pg_database_datcollate 12 -#define Anum_pg_database_datctype 13 -#define Anum_pg_database_daticulocale 14 -#define Anum_pg_database_daticurules 15 -#define Anum_pg_database_datcollversion 16 -#define Anum_pg_database_datacl 17 +#define Anum_pg_database_dathasloginevt 8 +#define Anum_pg_database_datconnlimit 9 +#define Anum_pg_database_datfrozenxid 10 +#define Anum_pg_database_datminmxid 11 +#define Anum_pg_database_dattablespace 12 +#define Anum_pg_database_datcollate 13 +#define Anum_pg_database_datctype 14 +#define Anum_pg_database_datlocale 15 +#define Anum_pg_database_daticurules 16 +#define Anum_pg_database_datcollversion 17 +#define Anum_pg_database_datacl 18 -#define Natts_pg_database 17 +#define Natts_pg_database 18 #define Template1DbOid 1 diff --git a/parser/include/postgres/catalog/pg_depend.h b/parser/include/postgres/catalog/pg_depend.h index 30dde6f8..eb1ee43b 100644 --- a/parser/include/postgres/catalog/pg_depend.h +++ b/parser/include/postgres/catalog/pg_depend.h @@ -17,7 +17,7 @@ * convenient to find from the contents of other catalogs. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_depend.h @@ -71,7 +71,7 @@ CATALOG(pg_depend,2608,DependRelationId) */ typedef FormData_pg_depend *Form_pg_depend; -DECLARE_INDEX(pg_depend_depender_index, 2673, DependDependerIndexId, on pg_depend using btree(classid oid_ops, objid oid_ops, objsubid int4_ops)); -DECLARE_INDEX(pg_depend_reference_index, 2674, DependReferenceIndexId, on pg_depend using btree(refclassid oid_ops, refobjid oid_ops, refobjsubid int4_ops)); +DECLARE_INDEX(pg_depend_depender_index, 2673, DependDependerIndexId, pg_depend, btree(classid oid_ops, objid oid_ops, objsubid int4_ops)); +DECLARE_INDEX(pg_depend_reference_index, 2674, DependReferenceIndexId, pg_depend, btree(refclassid oid_ops, refobjid oid_ops, refobjsubid int4_ops)); #endif /* PG_DEPEND_H */ diff --git a/parser/include/postgres/catalog/pg_depend_d.h b/parser/include/postgres/catalog/pg_depend_d.h index f0c7a35e..18d3cb3a 100644 --- a/parser/include/postgres/catalog/pg_depend_d.h +++ b/parser/include/postgres/catalog/pg_depend_d.h @@ -3,7 +3,7 @@ * pg_depend_d.h * Macro definitions for pg_depend * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_event_trigger.h b/parser/include/postgres/catalog/pg_event_trigger.h index e30550f6..9170a4dd 100644 --- a/parser/include/postgres/catalog/pg_event_trigger.h +++ b/parser/include/postgres/catalog/pg_event_trigger.h @@ -4,7 +4,7 @@ * definition of the "event trigger" system catalog (pg_event_trigger) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_event_trigger.h @@ -51,7 +51,10 @@ typedef FormData_pg_event_trigger *Form_pg_event_trigger; DECLARE_TOAST(pg_event_trigger, 4145, 4146); -DECLARE_UNIQUE_INDEX(pg_event_trigger_evtname_index, 3467, EventTriggerNameIndexId, on pg_event_trigger using btree(evtname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_event_trigger_oid_index, 3468, EventTriggerOidIndexId, on pg_event_trigger using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_event_trigger_evtname_index, 3467, EventTriggerNameIndexId, pg_event_trigger, btree(evtname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_event_trigger_oid_index, 3468, EventTriggerOidIndexId, pg_event_trigger, btree(oid oid_ops)); + +MAKE_SYSCACHE(EVENTTRIGGERNAME, pg_event_trigger_evtname_index, 8); +MAKE_SYSCACHE(EVENTTRIGGEROID, pg_event_trigger_oid_index, 8); #endif /* PG_EVENT_TRIGGER_H */ diff --git a/parser/include/postgres/catalog/pg_event_trigger_d.h b/parser/include/postgres/catalog/pg_event_trigger_d.h index f66be700..b66869cc 100644 --- a/parser/include/postgres/catalog/pg_event_trigger_d.h +++ b/parser/include/postgres/catalog/pg_event_trigger_d.h @@ -3,7 +3,7 @@ * pg_event_trigger_d.h * Macro definitions for pg_event_trigger * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_index.h b/parser/include/postgres/catalog/pg_index.h index b0592571..3462572e 100644 --- a/parser/include/postgres/catalog/pg_index.h +++ b/parser/include/postgres/catalog/pg_index.h @@ -4,7 +4,7 @@ * definition of the "index" system catalog (pg_index) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_index.h @@ -69,8 +69,10 @@ CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO */ typedef FormData_pg_index *Form_pg_index; -DECLARE_INDEX(pg_index_indrelid_index, 2678, IndexIndrelidIndexId, on pg_index using btree(indrelid oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_index_indexrelid_index, 2679, IndexRelidIndexId, on pg_index using btree(indexrelid oid_ops)); +DECLARE_INDEX(pg_index_indrelid_index, 2678, IndexIndrelidIndexId, pg_index, btree(indrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_index_indexrelid_index, 2679, IndexRelidIndexId, pg_index, btree(indexrelid oid_ops)); + +MAKE_SYSCACHE(INDEXRELID, pg_index_indexrelid_index, 64); /* indkey can contain zero (InvalidAttrNumber) to represent expressions */ DECLARE_ARRAY_FOREIGN_KEY_OPT((indrelid, indkey), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/postgres/catalog/pg_index_d.h b/parser/include/postgres/catalog/pg_index_d.h index 20927db1..cc0e6bd0 100644 --- a/parser/include/postgres/catalog/pg_index_d.h +++ b/parser/include/postgres/catalog/pg_index_d.h @@ -3,7 +3,7 @@ * pg_index_d.h * Macro definitions for pg_index * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_language.h b/parser/include/postgres/catalog/pg_language.h index 02003b46..7256908a 100644 --- a/parser/include/postgres/catalog/pg_language.h +++ b/parser/include/postgres/catalog/pg_language.h @@ -4,7 +4,7 @@ * definition of the "language" system catalog (pg_language) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_language.h @@ -66,7 +66,10 @@ typedef FormData_pg_language *Form_pg_language; DECLARE_TOAST(pg_language, 4157, 4158); -DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, on pg_language using btree(lanname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, on pg_language using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, pg_language, btree(lanname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, pg_language, btree(oid oid_ops)); + +MAKE_SYSCACHE(LANGNAME, pg_language_name_index, 4); +MAKE_SYSCACHE(LANGOID, pg_language_oid_index, 4); #endif /* PG_LANGUAGE_H */ diff --git a/parser/include/postgres/catalog/pg_language_d.h b/parser/include/postgres/catalog/pg_language_d.h index 2c876541..8ab48b05 100644 --- a/parser/include/postgres/catalog/pg_language_d.h +++ b/parser/include/postgres/catalog/pg_language_d.h @@ -3,7 +3,7 @@ * pg_language_d.h * Macro definitions for pg_language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_namespace.h b/parser/include/postgres/catalog/pg_namespace.h index 2b0c2431..e101808a 100644 --- a/parser/include/postgres/catalog/pg_namespace.h +++ b/parser/include/postgres/catalog/pg_namespace.h @@ -4,7 +4,7 @@ * definition of the "namespace" system catalog (pg_namespace) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_namespace.h @@ -53,8 +53,11 @@ typedef FormData_pg_namespace *Form_pg_namespace; DECLARE_TOAST(pg_namespace, 4163, 4164); -DECLARE_UNIQUE_INDEX(pg_namespace_nspname_index, 2684, NamespaceNameIndexId, on pg_namespace using btree(nspname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_namespace_oid_index, 2685, NamespaceOidIndexId, on pg_namespace using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_namespace_nspname_index, 2684, NamespaceNameIndexId, pg_namespace, btree(nspname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_namespace_oid_index, 2685, NamespaceOidIndexId, pg_namespace, btree(oid oid_ops)); + +MAKE_SYSCACHE(NAMESPACENAME, pg_namespace_nspname_index, 4); +MAKE_SYSCACHE(NAMESPACEOID, pg_namespace_oid_index, 16); /* * prototypes for functions in pg_namespace.c diff --git a/parser/include/postgres/catalog/pg_namespace_d.h b/parser/include/postgres/catalog/pg_namespace_d.h index 954c39d1..13f24813 100644 --- a/parser/include/postgres/catalog/pg_namespace_d.h +++ b/parser/include/postgres/catalog/pg_namespace_d.h @@ -3,7 +3,7 @@ * pg_namespace_d.h * Macro definitions for pg_namespace * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_opclass.h b/parser/include/postgres/catalog/pg_opclass.h index b4b6325c..05867d08 100644 --- a/parser/include/postgres/catalog/pg_opclass.h +++ b/parser/include/postgres/catalog/pg_opclass.h @@ -24,7 +24,7 @@ * AMs support this. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_opclass.h @@ -82,7 +82,10 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId) */ typedef FormData_pg_opclass *Form_pg_opclass; -DECLARE_UNIQUE_INDEX(pg_opclass_am_name_nsp_index, 2686, OpclassAmNameNspIndexId, on pg_opclass using btree(opcmethod oid_ops, opcname name_ops, opcnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_opclass_oid_index, 2687, OpclassOidIndexId, on pg_opclass using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_opclass_am_name_nsp_index, 2686, OpclassAmNameNspIndexId, pg_opclass, btree(opcmethod oid_ops, opcname name_ops, opcnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_opclass_oid_index, 2687, OpclassOidIndexId, pg_opclass, btree(oid oid_ops)); + +MAKE_SYSCACHE(CLAAMNAMENSP, pg_opclass_am_name_nsp_index, 8); +MAKE_SYSCACHE(CLAOID, pg_opclass_oid_index, 8); #endif /* PG_OPCLASS_H */ diff --git a/parser/include/postgres/catalog/pg_opclass_d.h b/parser/include/postgres/catalog/pg_opclass_d.h index 707d3c93..706d7668 100644 --- a/parser/include/postgres/catalog/pg_opclass_d.h +++ b/parser/include/postgres/catalog/pg_opclass_d.h @@ -3,7 +3,7 @@ * pg_opclass_d.h * Macro definitions for pg_opclass * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_operator.h b/parser/include/postgres/catalog/pg_operator.h index e60cf782..3ff1acc3 100644 --- a/parser/include/postgres/catalog/pg_operator.h +++ b/parser/include/postgres/catalog/pg_operator.h @@ -4,7 +4,7 @@ * definition of the "operator" system catalog (pg_operator) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_operator.h @@ -82,9 +82,16 @@ CATALOG(pg_operator,2617,OperatorRelationId) */ typedef FormData_pg_operator *Form_pg_operator; -DECLARE_UNIQUE_INDEX_PKEY(pg_operator_oid_index, 2688, OperatorOidIndexId, on pg_operator using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_operator_oprname_l_r_n_index, 2689, OperatorNameNspIndexId, on pg_operator using btree(oprname name_ops, oprleft oid_ops, oprright oid_ops, oprnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_operator_oid_index, 2688, OperatorOidIndexId, pg_operator, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_operator_oprname_l_r_n_index, 2689, OperatorNameNspIndexId, pg_operator, btree(oprname name_ops, oprleft oid_ops, oprright oid_ops, oprnamespace oid_ops)); +MAKE_SYSCACHE(OPEROID, pg_operator_oid_index, 32); +MAKE_SYSCACHE(OPERNAMENSP, pg_operator_oprname_l_r_n_index, 256); + +extern Oid OperatorLookup(List *operatorName, + Oid leftObjectId, + Oid rightObjectId, + bool *defined); extern ObjectAddress OperatorCreate(const char *operatorName, Oid operatorNamespace, @@ -102,6 +109,16 @@ extern ObjectAddress makeOperatorDependencies(HeapTuple tuple, bool makeExtensionDep, bool isUpdate); +extern void OperatorValidateParams(Oid leftTypeId, + Oid rightTypeId, + Oid operResultType, + bool hasCommutator, + bool hasNegator, + bool hasRestrictionSelectivity, + bool hasJoinSelectivity, + bool canMerge, + bool canHash); + extern void OperatorUpd(Oid baseId, Oid commId, Oid negId, bool isDelete); #endif /* PG_OPERATOR_H */ diff --git a/parser/include/postgres/catalog/pg_operator_d.h b/parser/include/postgres/catalog/pg_operator_d.h index 84ec7dc0..44e876cb 100644 --- a/parser/include/postgres/catalog/pg_operator_d.h +++ b/parser/include/postgres/catalog/pg_operator_d.h @@ -3,7 +3,7 @@ * pg_operator_d.h * Macro definitions for pg_operator * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_opfamily.h b/parser/include/postgres/catalog/pg_opfamily.h index 39b8d7c2..52f9c4ac 100644 --- a/parser/include/postgres/catalog/pg_opfamily.h +++ b/parser/include/postgres/catalog/pg_opfamily.h @@ -4,7 +4,7 @@ * definition of the "operator family" system catalog (pg_opfamily) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_opfamily.h @@ -50,8 +50,11 @@ CATALOG(pg_opfamily,2753,OperatorFamilyRelationId) */ typedef FormData_pg_opfamily *Form_pg_opfamily; -DECLARE_UNIQUE_INDEX(pg_opfamily_am_name_nsp_index, 2754, OpfamilyAmNameNspIndexId, on pg_opfamily using btree(opfmethod oid_ops, opfname name_ops, opfnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_opfamily_oid_index, 2755, OpfamilyOidIndexId, on pg_opfamily using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_opfamily_am_name_nsp_index, 2754, OpfamilyAmNameNspIndexId, pg_opfamily, btree(opfmethod oid_ops, opfname name_ops, opfnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_opfamily_oid_index, 2755, OpfamilyOidIndexId, pg_opfamily, btree(oid oid_ops)); + +MAKE_SYSCACHE(OPFAMILYAMNAMENSP, pg_opfamily_am_name_nsp_index, 8); +MAKE_SYSCACHE(OPFAMILYOID, pg_opfamily_oid_index, 8); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_opfamily_d.h b/parser/include/postgres/catalog/pg_opfamily_d.h index 7be8ff7a..9b9c723e 100644 --- a/parser/include/postgres/catalog/pg_opfamily_d.h +++ b/parser/include/postgres/catalog/pg_opfamily_d.h @@ -3,7 +3,7 @@ * pg_opfamily_d.h * Macro definitions for pg_opfamily * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_partitioned_table.h b/parser/include/postgres/catalog/pg_partitioned_table.h index eb867ad6..daf57008 100644 --- a/parser/include/postgres/catalog/pg_partitioned_table.h +++ b/parser/include/postgres/catalog/pg_partitioned_table.h @@ -5,7 +5,7 @@ * (pg_partitioned_table) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_partitioned_table.h @@ -66,7 +66,9 @@ typedef FormData_pg_partitioned_table *Form_pg_partitioned_table; DECLARE_TOAST(pg_partitioned_table, 4165, 4166); -DECLARE_UNIQUE_INDEX_PKEY(pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, on pg_partitioned_table using btree(partrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, pg_partitioned_table, btree(partrelid oid_ops)); + +MAKE_SYSCACHE(PARTRELID, pg_partitioned_table_partrelid_index, 32); /* partattrs can contain zero (InvalidAttrNumber) to represent expressions */ DECLARE_ARRAY_FOREIGN_KEY_OPT((partrelid, partattrs), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/postgres/catalog/pg_partitioned_table_d.h b/parser/include/postgres/catalog/pg_partitioned_table_d.h index 838a94e5..aa52304c 100644 --- a/parser/include/postgres/catalog/pg_partitioned_table_d.h +++ b/parser/include/postgres/catalog/pg_partitioned_table_d.h @@ -3,7 +3,7 @@ * pg_partitioned_table_d.h * Macro definitions for pg_partitioned_table * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_proc.h b/parser/include/postgres/catalog/pg_proc.h index e7abe0b4..51f43092 100644 --- a/parser/include/postgres/catalog/pg_proc.h +++ b/parser/include/postgres/catalog/pg_proc.h @@ -3,7 +3,7 @@ * pg_proc.h * definition of the "procedure" system catalog (pg_proc) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_proc.h @@ -137,8 +137,11 @@ typedef FormData_pg_proc *Form_pg_proc; DECLARE_TOAST(pg_proc, 2836, 2837); -DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, on pg_proc using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, on pg_proc using btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, pg_proc, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, pg_proc, btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops)); + +MAKE_SYSCACHE(PROCOID, pg_proc_oid_index, 128); +MAKE_SYSCACHE(PROCNAMEARGSNSP, pg_proc_proname_args_nsp_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_proc_d.h b/parser/include/postgres/catalog/pg_proc_d.h index d9beb520..dc17bd9d 100644 --- a/parser/include/postgres/catalog/pg_proc_d.h +++ b/parser/include/postgres/catalog/pg_proc_d.h @@ -3,7 +3,7 @@ * pg_proc_d.h * Macro definitions for pg_proc * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_publication.h b/parser/include/postgres/catalog/pg_publication.h index 6ecaa2a0..2f1b6abb 100644 --- a/parser/include/postgres/catalog/pg_publication.h +++ b/parser/include/postgres/catalog/pg_publication.h @@ -3,7 +3,7 @@ * pg_publication.h * definition of the "publication" system catalog (pg_publication) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_publication.h @@ -63,8 +63,11 @@ CATALOG(pg_publication,6104,PublicationRelationId) */ typedef FormData_pg_publication *Form_pg_publication; -DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, on pg_publication using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, on pg_publication using btree(pubname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, pg_publication, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, pg_publication, btree(pubname name_ops)); + +MAKE_SYSCACHE(PUBLICATIONOID, pg_publication_oid_index, 8); +MAKE_SYSCACHE(PUBLICATIONNAME, pg_publication_pubname_index, 8); typedef struct PublicationActions { diff --git a/parser/include/postgres/catalog/pg_publication_d.h b/parser/include/postgres/catalog/pg_publication_d.h index be01c625..18f167ae 100644 --- a/parser/include/postgres/catalog/pg_publication_d.h +++ b/parser/include/postgres/catalog/pg_publication_d.h @@ -3,7 +3,7 @@ * pg_publication_d.h * Macro definitions for pg_publication * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_replication_origin.h b/parser/include/postgres/catalog/pg_replication_origin.h index fa54f120..e9bc0209 100644 --- a/parser/include/postgres/catalog/pg_replication_origin.h +++ b/parser/include/postgres/catalog/pg_replication_origin.h @@ -4,7 +4,7 @@ * definition of the "replication origin" system catalog * (pg_replication_origin) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_replication_origin.h @@ -56,7 +56,10 @@ typedef FormData_pg_replication_origin *Form_pg_replication_origin; DECLARE_TOAST_WITH_MACRO(pg_replication_origin, 4181, 4182, PgReplicationOriginToastTable, PgReplicationOriginToastIndex); -DECLARE_UNIQUE_INDEX_PKEY(pg_replication_origin_roiident_index, 6001, ReplicationOriginIdentIndex, on pg_replication_origin using btree(roident oid_ops)); -DECLARE_UNIQUE_INDEX(pg_replication_origin_roname_index, 6002, ReplicationOriginNameIndex, on pg_replication_origin using btree(roname text_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_replication_origin_roiident_index, 6001, ReplicationOriginIdentIndex, pg_replication_origin, btree(roident oid_ops)); +DECLARE_UNIQUE_INDEX(pg_replication_origin_roname_index, 6002, ReplicationOriginNameIndex, pg_replication_origin, btree(roname text_ops)); + +MAKE_SYSCACHE(REPLORIGIDENT, pg_replication_origin_roiident_index, 16); +MAKE_SYSCACHE(REPLORIGNAME, pg_replication_origin_roname_index, 16); #endif /* PG_REPLICATION_ORIGIN_H */ diff --git a/parser/include/postgres/catalog/pg_replication_origin_d.h b/parser/include/postgres/catalog/pg_replication_origin_d.h index 55308ada..bd23f966 100644 --- a/parser/include/postgres/catalog/pg_replication_origin_d.h +++ b/parser/include/postgres/catalog/pg_replication_origin_d.h @@ -3,7 +3,7 @@ * pg_replication_origin_d.h * Macro definitions for pg_replication_origin * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_statistic.h b/parser/include/postgres/catalog/pg_statistic.h index 8770c5b4..041e6263 100644 --- a/parser/include/postgres/catalog/pg_statistic.h +++ b/parser/include/postgres/catalog/pg_statistic.h @@ -4,7 +4,7 @@ * definition of the "statistics" system catalog (pg_statistic) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_statistic.h @@ -136,7 +136,9 @@ typedef FormData_pg_statistic *Form_pg_statistic; DECLARE_TOAST(pg_statistic, 2840, 2841); -DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_relid_att_inh_index, 2696, StatisticRelidAttnumInhIndexId, on pg_statistic using btree(starelid oid_ops, staattnum int2_ops, stainherit bool_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_relid_att_inh_index, 2696, StatisticRelidAttnumInhIndexId, pg_statistic, btree(starelid oid_ops, staattnum int2_ops, stainherit bool_ops)); + +MAKE_SYSCACHE(STATRELATTINH, pg_statistic_relid_att_inh_index, 128); DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); @@ -152,6 +154,9 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * data "kind" will appear in any particular slot. Instead, search the * stakind fields to see if the desired data is available. (The standard * function get_attstatsslot() may be used for this.) + * + * Note: The pg_stats view needs to be modified whenever a new slot kind is + * added to core. */ /* @@ -178,7 +183,7 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * the K most common non-null values appearing in the column, and stanumbers * contains their frequencies (fractions of total row count). The values * shall be ordered in decreasing frequency. Note that since the arrays are - * variable-size, K may be chosen by the statistics collector. Values should + * variable-size, K may be chosen may be chosen at ANALYZE time. Values should * not appear in MCV unless they have been observed to occur more than once; * a unique column will have no MCV slot. */ @@ -262,7 +267,8 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * a format similar to STATISTIC_KIND_HISTOGRAM: it contains M (>=2) range * values that divide the column data values into M-1 bins of approximately * equal population. The lengths are stored as float8s, as measured by the - * range type's subdiff function. Only non-null rows are considered. + * range type's subdiff function. Only non-null, non-empty rows are + * considered. */ #define STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM 6 diff --git a/parser/include/postgres/catalog/pg_statistic_d.h b/parser/include/postgres/catalog/pg_statistic_d.h index 5024895d..55de6b69 100644 --- a/parser/include/postgres/catalog/pg_statistic_d.h +++ b/parser/include/postgres/catalog/pg_statistic_d.h @@ -3,7 +3,7 @@ * pg_statistic_d.h * Macro definitions for pg_statistic * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -66,6 +66,9 @@ * data "kind" will appear in any particular slot. Instead, search the * stakind fields to see if the desired data is available. (The standard * function get_attstatsslot() may be used for this.) + * + * Note: The pg_stats view needs to be modified whenever a new slot kind is + * added to core. */ /* @@ -92,7 +95,7 @@ * the K most common non-null values appearing in the column, and stanumbers * contains their frequencies (fractions of total row count). The values * shall be ordered in decreasing frequency. Note that since the arrays are - * variable-size, K may be chosen by the statistics collector. Values should + * variable-size, K may be chosen may be chosen at ANALYZE time. Values should * not appear in MCV unless they have been observed to occur more than once; * a unique column will have no MCV slot. */ @@ -176,7 +179,8 @@ * a format similar to STATISTIC_KIND_HISTOGRAM: it contains M (>=2) range * values that divide the column data values into M-1 bins of approximately * equal population. The lengths are stored as float8s, as measured by the - * range type's subdiff function. Only non-null rows are considered. + * range type's subdiff function. Only non-null, non-empty rows are + * considered. */ #define STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM 6 diff --git a/parser/include/postgres/catalog/pg_statistic_ext.h b/parser/include/postgres/catalog/pg_statistic_ext.h index 53eec902..50a5c021 100644 --- a/parser/include/postgres/catalog/pg_statistic_ext.h +++ b/parser/include/postgres/catalog/pg_statistic_ext.h @@ -8,7 +8,7 @@ * objects, created by CREATE STATISTICS, but not the actual statistical data, * created by running ANALYZE. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_statistic_ext.h @@ -43,15 +43,15 @@ CATALOG(pg_statistic_ext,3381,StatisticExtRelationId) * object's namespace */ Oid stxowner BKI_LOOKUP(pg_authid); /* statistics object's owner */ - int32 stxstattarget BKI_DEFAULT(-1); /* statistics target */ /* - * variable-length fields start here, but we allow direct access to - * stxkeys + * variable-length/nullable fields start here, but we allow direct access + * to stxkeys */ int2vector stxkeys BKI_FORCE_NOT_NULL; /* array of column keys */ #ifdef CATALOG_VARLEN + int16 stxstattarget BKI_DEFAULT(_null_) BKI_FORCE_NULL; /* statistics target */ char stxkind[1] BKI_FORCE_NOT_NULL; /* statistics kinds requested * to build */ pg_node_tree stxexprs; /* A list of expression trees for stats @@ -70,9 +70,12 @@ typedef FormData_pg_statistic_ext *Form_pg_statistic_ext; DECLARE_TOAST(pg_statistic_ext, 3439, 3440); -DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_ext_oid_index, 3380, StatisticExtOidIndexId, on pg_statistic_ext using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_statistic_ext_name_index, 3997, StatisticExtNameIndexId, on pg_statistic_ext using btree(stxname name_ops, stxnamespace oid_ops)); -DECLARE_INDEX(pg_statistic_ext_relid_index, 3379, StatisticExtRelidIndexId, on pg_statistic_ext using btree(stxrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_ext_oid_index, 3380, StatisticExtOidIndexId, pg_statistic_ext, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_statistic_ext_name_index, 3997, StatisticExtNameIndexId, pg_statistic_ext, btree(stxname name_ops, stxnamespace oid_ops)); +DECLARE_INDEX(pg_statistic_ext_relid_index, 3379, StatisticExtRelidIndexId, pg_statistic_ext, btree(stxrelid oid_ops)); + +MAKE_SYSCACHE(STATEXTOID, pg_statistic_ext_oid_index, 4); +MAKE_SYSCACHE(STATEXTNAMENSP, pg_statistic_ext_name_index, 4); DECLARE_ARRAY_FOREIGN_KEY((stxrelid, stxkeys), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/postgres/catalog/pg_statistic_ext_d.h b/parser/include/postgres/catalog/pg_statistic_ext_d.h index 055451d6..f1868a78 100644 --- a/parser/include/postgres/catalog/pg_statistic_ext_d.h +++ b/parser/include/postgres/catalog/pg_statistic_ext_d.h @@ -3,7 +3,7 @@ * pg_statistic_ext_d.h * Macro definitions for pg_statistic_ext * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -28,8 +28,8 @@ #define Anum_pg_statistic_ext_stxname 3 #define Anum_pg_statistic_ext_stxnamespace 4 #define Anum_pg_statistic_ext_stxowner 5 -#define Anum_pg_statistic_ext_stxstattarget 6 -#define Anum_pg_statistic_ext_stxkeys 7 +#define Anum_pg_statistic_ext_stxkeys 6 +#define Anum_pg_statistic_ext_stxstattarget 7 #define Anum_pg_statistic_ext_stxkind 8 #define Anum_pg_statistic_ext_stxexprs 9 diff --git a/parser/include/postgres/catalog/pg_transform.h b/parser/include/postgres/catalog/pg_transform.h index 6273b0a4..3b69960a 100644 --- a/parser/include/postgres/catalog/pg_transform.h +++ b/parser/include/postgres/catalog/pg_transform.h @@ -4,7 +4,7 @@ * definition of the "transform" system catalog (pg_transform) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_transform.h @@ -42,7 +42,10 @@ CATALOG(pg_transform,3576,TransformRelationId) */ typedef FormData_pg_transform *Form_pg_transform; -DECLARE_UNIQUE_INDEX_PKEY(pg_transform_oid_index, 3574, TransformOidIndexId, on pg_transform using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_transform_type_lang_index, 3575, TransformTypeLangIndexId, on pg_transform using btree(trftype oid_ops, trflang oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_transform_oid_index, 3574, TransformOidIndexId, pg_transform, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_transform_type_lang_index, 3575, TransformTypeLangIndexId, pg_transform, btree(trftype oid_ops, trflang oid_ops)); + +MAKE_SYSCACHE(TRFOID, pg_transform_oid_index, 16); +MAKE_SYSCACHE(TRFTYPELANG, pg_transform_type_lang_index, 16); #endif /* PG_TRANSFORM_H */ diff --git a/parser/include/postgres/catalog/pg_transform_d.h b/parser/include/postgres/catalog/pg_transform_d.h index ddb3b9c2..fc4aa45a 100644 --- a/parser/include/postgres/catalog/pg_transform_d.h +++ b/parser/include/postgres/catalog/pg_transform_d.h @@ -3,7 +3,7 @@ * pg_transform_d.h * Macro definitions for pg_transform * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_trigger.h b/parser/include/postgres/catalog/pg_trigger.h index 3679b039..7fdff161 100644 --- a/parser/include/postgres/catalog/pg_trigger.h +++ b/parser/include/postgres/catalog/pg_trigger.h @@ -4,7 +4,7 @@ * definition of the "trigger" system catalog (pg_trigger) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_trigger.h @@ -81,9 +81,9 @@ typedef FormData_pg_trigger *Form_pg_trigger; DECLARE_TOAST(pg_trigger, 2336, 2337); -DECLARE_INDEX(pg_trigger_tgconstraint_index, 2699, TriggerConstraintIndexId, on pg_trigger using btree(tgconstraint oid_ops)); -DECLARE_UNIQUE_INDEX(pg_trigger_tgrelid_tgname_index, 2701, TriggerRelidNameIndexId, on pg_trigger using btree(tgrelid oid_ops, tgname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_trigger_oid_index, 2702, TriggerOidIndexId, on pg_trigger using btree(oid oid_ops)); +DECLARE_INDEX(pg_trigger_tgconstraint_index, 2699, TriggerConstraintIndexId, pg_trigger, btree(tgconstraint oid_ops)); +DECLARE_UNIQUE_INDEX(pg_trigger_tgrelid_tgname_index, 2701, TriggerRelidNameIndexId, pg_trigger, btree(tgrelid oid_ops, tgname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_trigger_oid_index, 2702, TriggerOidIndexId, pg_trigger, btree(oid oid_ops)); DECLARE_ARRAY_FOREIGN_KEY((tgrelid, tgattr), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/postgres/catalog/pg_trigger_d.h b/parser/include/postgres/catalog/pg_trigger_d.h index 95109053..9fdf780f 100644 --- a/parser/include/postgres/catalog/pg_trigger_d.h +++ b/parser/include/postgres/catalog/pg_trigger_d.h @@ -3,7 +3,7 @@ * pg_trigger_d.h * Macro definitions for pg_trigger * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_ts_config.h b/parser/include/postgres/catalog/pg_ts_config.h index aee0bf71..fc0bf447 100644 --- a/parser/include/postgres/catalog/pg_ts_config.h +++ b/parser/include/postgres/catalog/pg_ts_config.h @@ -5,7 +5,7 @@ * (pg_ts_config) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_config.h @@ -47,7 +47,10 @@ CATALOG(pg_ts_config,3602,TSConfigRelationId) typedef FormData_pg_ts_config *Form_pg_ts_config; -DECLARE_UNIQUE_INDEX(pg_ts_config_cfgname_index, 3608, TSConfigNameNspIndexId, on pg_ts_config using btree(cfgname name_ops, cfgnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_config_oid_index, 3712, TSConfigOidIndexId, on pg_ts_config using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_config_cfgname_index, 3608, TSConfigNameNspIndexId, pg_ts_config, btree(cfgname name_ops, cfgnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_config_oid_index, 3712, TSConfigOidIndexId, pg_ts_config, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSCONFIGNAMENSP, pg_ts_config_cfgname_index, 2); +MAKE_SYSCACHE(TSCONFIGOID, pg_ts_config_oid_index, 2); #endif /* PG_TS_CONFIG_H */ diff --git a/parser/include/postgres/catalog/pg_ts_config_d.h b/parser/include/postgres/catalog/pg_ts_config_d.h index 20cc7823..01da6064 100644 --- a/parser/include/postgres/catalog/pg_ts_config_d.h +++ b/parser/include/postgres/catalog/pg_ts_config_d.h @@ -3,7 +3,7 @@ * pg_ts_config_d.h * Macro definitions for pg_ts_config * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_ts_dict.h b/parser/include/postgres/catalog/pg_ts_dict.h index 476325f0..1320468d 100644 --- a/parser/include/postgres/catalog/pg_ts_dict.h +++ b/parser/include/postgres/catalog/pg_ts_dict.h @@ -4,7 +4,7 @@ * definition of the "text search dictionary" system catalog (pg_ts_dict) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_dict.h @@ -53,7 +53,10 @@ typedef FormData_pg_ts_dict *Form_pg_ts_dict; DECLARE_TOAST(pg_ts_dict, 4169, 4170); -DECLARE_UNIQUE_INDEX(pg_ts_dict_dictname_index, 3604, TSDictionaryNameNspIndexId, on pg_ts_dict using btree(dictname name_ops, dictnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_dict_oid_index, 3605, TSDictionaryOidIndexId, on pg_ts_dict using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_dict_dictname_index, 3604, TSDictionaryNameNspIndexId, pg_ts_dict, btree(dictname name_ops, dictnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_dict_oid_index, 3605, TSDictionaryOidIndexId, pg_ts_dict, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSDICTNAMENSP, pg_ts_dict_dictname_index, 2); +MAKE_SYSCACHE(TSDICTOID, pg_ts_dict_oid_index, 2); #endif /* PG_TS_DICT_H */ diff --git a/parser/include/postgres/catalog/pg_ts_dict_d.h b/parser/include/postgres/catalog/pg_ts_dict_d.h index c504853d..73f18e8d 100644 --- a/parser/include/postgres/catalog/pg_ts_dict_d.h +++ b/parser/include/postgres/catalog/pg_ts_dict_d.h @@ -3,7 +3,7 @@ * pg_ts_dict_d.h * Macro definitions for pg_ts_dict * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_ts_parser.h b/parser/include/postgres/catalog/pg_ts_parser.h index 283de252..909644c9 100644 --- a/parser/include/postgres/catalog/pg_ts_parser.h +++ b/parser/include/postgres/catalog/pg_ts_parser.h @@ -4,7 +4,7 @@ * definition of the "text search parser" system catalog (pg_ts_parser) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_parser.h @@ -54,7 +54,10 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId) typedef FormData_pg_ts_parser *Form_pg_ts_parser; -DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index, 3606, TSParserNameNspIndexId, on pg_ts_parser using btree(prsname name_ops, prsnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index, 3607, TSParserOidIndexId, on pg_ts_parser using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index, 3606, TSParserNameNspIndexId, pg_ts_parser, btree(prsname name_ops, prsnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index, 3607, TSParserOidIndexId, pg_ts_parser, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSPARSERNAMENSP, pg_ts_parser_prsname_index, 2); +MAKE_SYSCACHE(TSPARSEROID, pg_ts_parser_oid_index, 2); #endif /* PG_TS_PARSER_H */ diff --git a/parser/include/postgres/catalog/pg_ts_parser_d.h b/parser/include/postgres/catalog/pg_ts_parser_d.h index ff7d4638..c9125c38 100644 --- a/parser/include/postgres/catalog/pg_ts_parser_d.h +++ b/parser/include/postgres/catalog/pg_ts_parser_d.h @@ -3,7 +3,7 @@ * pg_ts_parser_d.h * Macro definitions for pg_ts_parser * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_ts_template.h b/parser/include/postgres/catalog/pg_ts_template.h index f4e510c8..0562a4a7 100644 --- a/parser/include/postgres/catalog/pg_ts_template.h +++ b/parser/include/postgres/catalog/pg_ts_template.h @@ -4,7 +4,7 @@ * definition of the "text search template" system catalog (pg_ts_template) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_template.h @@ -45,7 +45,10 @@ CATALOG(pg_ts_template,3764,TSTemplateRelationId) typedef FormData_pg_ts_template *Form_pg_ts_template; -DECLARE_UNIQUE_INDEX(pg_ts_template_tmplname_index, 3766, TSTemplateNameNspIndexId, on pg_ts_template using btree(tmplname name_ops, tmplnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_template_oid_index, 3767, TSTemplateOidIndexId, on pg_ts_template using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_template_tmplname_index, 3766, TSTemplateNameNspIndexId, pg_ts_template, btree(tmplname name_ops, tmplnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_template_oid_index, 3767, TSTemplateOidIndexId, pg_ts_template, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSTEMPLATENAMENSP, pg_ts_template_tmplname_index, 2); +MAKE_SYSCACHE(TSTEMPLATEOID, pg_ts_template_oid_index, 2); #endif /* PG_TS_TEMPLATE_H */ diff --git a/parser/include/postgres/catalog/pg_ts_template_d.h b/parser/include/postgres/catalog/pg_ts_template_d.h index e32b88a6..fa6cd107 100644 --- a/parser/include/postgres/catalog/pg_ts_template_d.h +++ b/parser/include/postgres/catalog/pg_ts_template_d.h @@ -3,7 +3,7 @@ * pg_ts_template_d.h * Macro definitions for pg_ts_template * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_type.h b/parser/include/postgres/catalog/pg_type.h index 519e570c..e9259697 100644 --- a/parser/include/postgres/catalog/pg_type.h +++ b/parser/include/postgres/catalog/pg_type.h @@ -4,7 +4,7 @@ * definition of the "type" system catalog (pg_type) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_type.h @@ -262,8 +262,11 @@ typedef FormData_pg_type *Form_pg_type; DECLARE_TOAST(pg_type, 4171, 4172); -DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, on pg_type using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, on pg_type using btree(typname name_ops, typnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, pg_type, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, pg_type, btree(typname name_ops, typnamespace oid_ops)); + +MAKE_SYSCACHE(TYPEOID, pg_type_oid_index, 64); +MAKE_SYSCACHE(TYPENAMENSP, pg_type_typname_nsp_index, 64); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/postgres/catalog/pg_type_d.h b/parser/include/postgres/catalog/pg_type_d.h index d0f8d034..f8078929 100644 --- a/parser/include/postgres/catalog/pg_type_d.h +++ b/parser/include/postgres/catalog/pg_type_d.h @@ -3,7 +3,7 @@ * pg_type_d.h * Macro definitions for pg_type * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/storage.h b/parser/include/postgres/catalog/storage.h index 45a3c783..72ef3ee9 100644 --- a/parser/include/postgres/catalog/storage.h +++ b/parser/include/postgres/catalog/storage.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/storage.c * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/storage.h diff --git a/parser/include/postgres/catalog/syscache_ids.h b/parser/include/postgres/catalog/syscache_ids.h new file mode 100644 index 00000000..ea76244a --- /dev/null +++ b/parser/include/postgres/catalog/syscache_ids.h @@ -0,0 +1,104 @@ +/*------------------------------------------------------------------------- + * + * syscache_ids.h + * SysCache identifiers + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/catalog/genbki.pl + * + *------------------------------------------------------------------------- + */ +enum SysCacheIdentifier +{ + AGGFNOID, + AMNAME, + AMOID, + AMOPOPID, + AMOPSTRATEGY, + AMPROCNUM, + ATTNAME, + ATTNUM, + AUTHMEMMEMROLE, + AUTHMEMROLEMEM, + AUTHNAME, + AUTHOID, + CASTSOURCETARGET, + CLAAMNAMENSP, + CLAOID, + COLLNAMEENCNSP, + COLLOID, + CONDEFAULT, + CONNAMENSP, + CONSTROID, + CONVOID, + DATABASEOID, + DEFACLROLENSPOBJ, + ENUMOID, + ENUMTYPOIDNAME, + EVENTTRIGGERNAME, + EVENTTRIGGEROID, + FOREIGNDATAWRAPPERNAME, + FOREIGNDATAWRAPPEROID, + FOREIGNSERVERNAME, + FOREIGNSERVEROID, + FOREIGNTABLEREL, + INDEXRELID, + LANGNAME, + LANGOID, + NAMESPACENAME, + NAMESPACEOID, + OPERNAMENSP, + OPEROID, + OPFAMILYAMNAMENSP, + OPFAMILYOID, + PARAMETERACLNAME, + PARAMETERACLOID, + PARTRELID, + PROCNAMEARGSNSP, + PROCOID, + PUBLICATIONNAME, + PUBLICATIONNAMESPACE, + PUBLICATIONNAMESPACEMAP, + PUBLICATIONOID, + PUBLICATIONREL, + PUBLICATIONRELMAP, + RANGEMULTIRANGE, + RANGETYPE, + RELNAMENSP, + RELOID, + REPLORIGIDENT, + REPLORIGNAME, + RULERELNAME, + SEQRELID, + STATEXTDATASTXOID, + STATEXTNAMENSP, + STATEXTOID, + STATRELATTINH, + SUBSCRIPTIONNAME, + SUBSCRIPTIONOID, + SUBSCRIPTIONRELMAP, + TABLESPACEOID, + TRFOID, + TRFTYPELANG, + TSCONFIGMAP, + TSCONFIGNAMENSP, + TSCONFIGOID, + TSDICTNAMENSP, + TSDICTOID, + TSPARSERNAMENSP, + TSPARSEROID, + TSTEMPLATENAMENSP, + TSTEMPLATEOID, + TYPENAMENSP, + TYPEOID, + USERMAPPINGOID, + USERMAPPINGUSERSERVER, +}; +#define SysCacheSize (USERMAPPINGUSERSERVER + 1) diff --git a/parser/include/postgres/commands/async.h b/parser/include/postgres/commands/async.h index 02da6ba7..78daa25f 100644 --- a/parser/include/postgres/commands/async.h +++ b/parser/include/postgres/commands/async.h @@ -3,7 +3,7 @@ * async.h * Asynchronous notification: NOTIFY, LISTEN, UNLISTEN * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/async.h @@ -15,12 +15,8 @@ #include -/* - * The number of SLRU page buffers we use for the notification queue. - */ -#define NUM_NOTIFY_BUFFERS 8 - extern PGDLLIMPORT bool Trace_notify; +extern PGDLLIMPORT int max_notify_queue_pages; extern PGDLLIMPORT volatile sig_atomic_t notifyInterruptPending; extern Size AsyncShmemSize(void); diff --git a/parser/include/postgres/commands/dbcommands.h b/parser/include/postgres/commands/dbcommands.h index 5fbc3ca7..92e17c71 100644 --- a/parser/include/postgres/commands/dbcommands.h +++ b/parser/include/postgres/commands/dbcommands.h @@ -4,7 +4,7 @@ * Database management commands (create/drop database). * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/dbcommands.h diff --git a/parser/include/postgres/commands/defrem.h b/parser/include/postgres/commands/defrem.h index 478203ed..29c511e3 100644 --- a/parser/include/postgres/commands/defrem.h +++ b/parser/include/postgres/commands/defrem.h @@ -4,7 +4,7 @@ * POSTGRES define and remove utility definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/defrem.h @@ -24,7 +24,7 @@ extern void RemoveObjects(DropStmt *stmt); /* commands/indexcmds.c */ -extern ObjectAddress DefineIndex(Oid relationId, +extern ObjectAddress DefineIndex(Oid tableId, IndexStmt *stmt, Oid indexRelationId, Oid parentIndexId, @@ -35,7 +35,7 @@ extern ObjectAddress DefineIndex(Oid relationId, bool check_not_in_use, bool skip_build, bool quiet); -extern void ExecReindex(ParseState *pstate, ReindexStmt *stmt, bool isTopLevel); +extern void ExecReindex(ParseState *pstate, const ReindexStmt *stmt, bool isTopLevel); extern char *makeObjectName(const char *name1, const char *name2, const char *label); extern char *ChooseRelationName(const char *name1, const char *name2, @@ -43,10 +43,10 @@ extern char *ChooseRelationName(const char *name1, const char *name2, bool isconstraint); extern bool CheckIndexCompatible(Oid oldId, const char *accessMethodName, - List *attributeList, - List *exclusionOpNames); + const List *attributeList, + const List *exclusionOpNames); extern Oid GetDefaultOpClass(Oid type_id, Oid am_id); -extern Oid ResolveOpClass(List *opclass, Oid attrType, +extern Oid ResolveOpClass(const List *opclass, Oid attrType, const char *accessMethodName, Oid accessMethodId); /* commands/functioncmds.c */ diff --git a/parser/include/postgres/commands/event_trigger.h b/parser/include/postgres/commands/event_trigger.h index 5ed6ece5..90fc1af5 100644 --- a/parser/include/postgres/commands/event_trigger.h +++ b/parser/include/postgres/commands/event_trigger.h @@ -3,7 +3,7 @@ * event_trigger.h * Declarations for command trigger handling. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/event_trigger.h @@ -29,6 +29,8 @@ typedef struct EventTriggerData CommandTag tag; } EventTriggerData; +extern PGDLLIMPORT bool event_triggers; + #define AT_REWRITE_ALTER_PERSISTENCE 0x01 #define AT_REWRITE_DEFAULT_VAL 0x02 #define AT_REWRITE_COLUMN_REWRITE 0x04 @@ -49,11 +51,12 @@ extern ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId); extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId); extern bool EventTriggerSupportsObjectType(ObjectType obtype); -extern bool EventTriggerSupportsObjectClass(ObjectClass objclass); +extern bool EventTriggerSupportsObject(const ObjectAddress *object); extern void EventTriggerDDLCommandStart(Node *parsetree); extern void EventTriggerDDLCommandEnd(Node *parsetree); extern void EventTriggerSQLDrop(Node *parsetree); extern void EventTriggerTableRewrite(Node *parsetree, Oid tableOid, int reason); +extern void EventTriggerOnLogin(void); extern bool EventTriggerBeginCompleteQuery(void); extern void EventTriggerEndCompleteQuery(void); diff --git a/parser/include/postgres/commands/explain.h b/parser/include/postgres/commands/explain.h index 3d3e632a..9b8b351d 100644 --- a/parser/include/postgres/commands/explain.h +++ b/parser/include/postgres/commands/explain.h @@ -3,7 +3,7 @@ * explain.h * prototypes for explain.c * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994-5, Regents of the University of California * * src/include/commands/explain.h @@ -17,12 +17,19 @@ #include "lib/stringinfo.h" #include "parser/parse_node.h" +typedef enum ExplainSerializeOption +{ + EXPLAIN_SERIALIZE_NONE, + EXPLAIN_SERIALIZE_TEXT, + EXPLAIN_SERIALIZE_BINARY, +} ExplainSerializeOption; + typedef enum ExplainFormat { EXPLAIN_FORMAT_TEXT, EXPLAIN_FORMAT_XML, EXPLAIN_FORMAT_JSON, - EXPLAIN_FORMAT_YAML + EXPLAIN_FORMAT_YAML, } ExplainFormat; typedef struct ExplainWorkersState @@ -45,8 +52,10 @@ typedef struct ExplainState bool wal; /* print WAL usage */ bool timing; /* print detailed node timing */ bool summary; /* print total planning and execution timing */ + bool memory; /* print planner's memory usage information */ bool settings; /* print modified settings */ bool generic; /* generate a generic plan */ + ExplainSerializeOption serialize; /* serialize the query's output? */ ExplainFormat format; /* output format */ /* state for output formatting --- not reset for each new plan tree */ int indent; /* current indentation level */ @@ -79,6 +88,10 @@ extern PGDLLIMPORT explain_get_index_name_hook_type explain_get_index_name_hook; extern void ExplainQuery(ParseState *pstate, ExplainStmt *stmt, ParamListInfo params, DestReceiver *dest); +extern void standard_ExplainOneQuery(Query *query, int cursorOptions, + IntoClause *into, ExplainState *es, + const char *queryString, ParamListInfo params, + QueryEnvironment *queryEnv); extern ExplainState *NewExplainState(void); @@ -92,7 +105,8 @@ extern void ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into, ExplainState *es, const char *queryString, ParamListInfo params, QueryEnvironment *queryEnv, const instr_time *planduration, - const BufferUsage *bufusage); + const BufferUsage *bufusage, + const MemoryContextCounters *mem_counters); extern void ExplainPrintPlan(ExplainState *es, QueryDesc *queryDesc); extern void ExplainPrintTriggers(ExplainState *es, QueryDesc *queryDesc); @@ -126,4 +140,6 @@ extern void ExplainOpenGroup(const char *objtype, const char *labelname, extern void ExplainCloseGroup(const char *objtype, const char *labelname, bool labeled, ExplainState *es); +extern DestReceiver *CreateExplainSerializeDestReceiver(ExplainState *es); + #endif /* EXPLAIN_H */ diff --git a/parser/include/postgres/commands/prepare.h b/parser/include/postgres/commands/prepare.h index 79f16156..61472c11 100644 --- a/parser/include/postgres/commands/prepare.h +++ b/parser/include/postgres/commands/prepare.h @@ -4,7 +4,7 @@ * PREPARE, EXECUTE and DEALLOCATE commands, and prepared-stmt storage * * - * Copyright (c) 2002-2023, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * * src/include/commands/prepare.h * diff --git a/parser/include/postgres/commands/tablespace.h b/parser/include/postgres/commands/tablespace.h index f1961c18..b6cec632 100644 --- a/parser/include/postgres/commands/tablespace.h +++ b/parser/include/postgres/commands/tablespace.h @@ -4,7 +4,7 @@ * Tablespace management commands (create/drop tablespace). * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/tablespace.h diff --git a/parser/include/postgres/commands/trigger.h b/parser/include/postgres/commands/trigger.h index 430e3ca7..8a5a9fe6 100644 --- a/parser/include/postgres/commands/trigger.h +++ b/parser/include/postgres/commands/trigger.h @@ -3,7 +3,7 @@ * trigger.h * Declarations for trigger handling. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/trigger.h diff --git a/parser/include/postgres/commands/vacuum.h b/parser/include/postgres/commands/vacuum.h index 39fbd5f1..759f9a87 100644 --- a/parser/include/postgres/commands/vacuum.h +++ b/parser/include/postgres/commands/vacuum.h @@ -4,7 +4,7 @@ * header file for postgres vacuum cleaner and statistics analyzer * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/vacuum.h @@ -17,6 +17,7 @@ #include "access/htup.h" #include "access/genam.h" #include "access/parallel.h" +#include "access/tidstore.h" #include "catalog/pg_class.h" #include "catalog/pg_statistic.h" #include "catalog/pg_type.h" @@ -116,16 +117,12 @@ typedef struct VacAttrStats { /* * These fields are set up by the main ANALYZE code before invoking the - * type-specific typanalyze function. - * - * Note: do not assume that the data being analyzed has the same datatype - * shown in attr, ie do not trust attr->atttypid, attlen, etc. This is - * because some index opclasses store a different type than the underlying - * column/expression. Instead use attrtypid, attrtypmod, and attrtype for + * type-specific typanalyze function. They don't necessarily match what + * is in pg_attribute, because some index opclasses store a different type + * than the underlying column/expression. Therefore, use these fields for * information about the datatype being fed to the typanalyze function. - * Likewise, use attrcollid not attr->attcollation. */ - Form_pg_attribute attr; /* copy of pg_attribute row for column */ + int attstattarget; /* -1 to use default */ Oid attrtypid; /* type of data being analyzed */ int32 attrtypmod; /* typmod of data being analyzed */ Form_pg_type attrtype; /* copy of pg_type row for attrtypid */ @@ -232,6 +229,7 @@ typedef struct VacuumParams * default */ VacOptValue index_cleanup; /* Do index vacuum and cleanup */ VacOptValue truncate; /* Truncate empty pages at the end */ + Oid toast_parent; /* for privilege checks when recursing */ /* * The number of parallel vacuum workers. 0 by default which means choose @@ -281,19 +279,14 @@ struct VacuumCutoffs }; /* - * VacDeadItems stores TIDs whose index tuples are deleted by index vacuuming. + * VacDeadItemsInfo stores supplemental information for dead tuple TID + * storage (i.e. TidStore). */ -typedef struct VacDeadItems +typedef struct VacDeadItemsInfo { - int max_items; /* # slots allocated in array */ - int num_items; /* current # of entries */ - - /* Sorted array of TIDs to delete from indexes */ - ItemPointerData items[FLEXIBLE_ARRAY_MEMBER]; -} VacDeadItems; - -#define MAXDEADITEMS(avail_mem) \ - (((avail_mem) - offsetof(VacDeadItems, items)) / sizeof(ItemPointerData)) + size_t max_bytes; /* the maximum bytes TidStore can use */ + int64 num_items; /* current # of entries */ +} VacDeadItemsInfo; /* GUC parameters */ extern PGDLLIMPORT int default_statistics_target; /* PGDLLIMPORT for PostGIS */ @@ -304,6 +297,13 @@ extern PGDLLIMPORT int vacuum_multixact_freeze_table_age; extern PGDLLIMPORT int vacuum_failsafe_age; extern PGDLLIMPORT int vacuum_multixact_failsafe_age; +/* + * Maximum value for default_statistics_target and per-column statistics + * targets. This is fairly arbitrary, mainly to prevent users from creating + * unreasonably large statistics that the system cannot handle well. + */ +#define MAX_STATISTICS_TARGET 10000 + /* Variables for cost-based parallel vacuum */ extern PGDLLIMPORT pg_atomic_uint32 *VacuumSharedCostBalance; extern PGDLLIMPORT pg_atomic_uint32 *VacuumActiveNWorkers; @@ -340,17 +340,17 @@ extern bool vacuum_get_cutoffs(Relation rel, const VacuumParams *params, extern bool vacuum_xid_failsafe_check(const struct VacuumCutoffs *cutoffs); extern void vac_update_datfrozenxid(void); extern void vacuum_delay_point(void); -extern bool vacuum_is_relation_owner(Oid relid, Form_pg_class reltuple, - bits32 options); +extern bool vacuum_is_permitted_for_relation(Oid relid, Form_pg_class reltuple, + bits32 options); extern Relation vacuum_open_relation(Oid relid, RangeVar *relation, bits32 options, bool verbose, LOCKMODE lmode); extern IndexBulkDeleteResult *vac_bulkdel_one_index(IndexVacuumInfo *ivinfo, IndexBulkDeleteResult *istat, - VacDeadItems *dead_items); + TidStore *dead_items, + VacDeadItemsInfo *dead_items_info); extern IndexBulkDeleteResult *vac_cleanup_one_index(IndexVacuumInfo *ivinfo, IndexBulkDeleteResult *istat); -extern Size vac_max_items_to_alloc_size(int max_items); /* In postmaster/autovacuum.c */ extern void AutoVacuumUpdateCostLimit(void); @@ -359,10 +359,12 @@ extern void VacuumUpdateCosts(void); /* in commands/vacuumparallel.c */ extern ParallelVacuumState *parallel_vacuum_init(Relation rel, Relation *indrels, int nindexes, int nrequested_workers, - int max_items, int elevel, + int vac_work_mem, int elevel, BufferAccessStrategy bstrategy); extern void parallel_vacuum_end(ParallelVacuumState *pvs, IndexBulkDeleteResult **istats); -extern VacDeadItems *parallel_vacuum_get_dead_items(ParallelVacuumState *pvs); +extern TidStore *parallel_vacuum_get_dead_items(ParallelVacuumState *pvs, + VacDeadItemsInfo **dead_items_info_p); +extern void parallel_vacuum_reset_dead_items(ParallelVacuumState *pvs); extern void parallel_vacuum_bulkdel_all_indexes(ParallelVacuumState *pvs, long num_table_tuples, int num_index_scans); diff --git a/parser/include/postgres/common/cryptohash.h b/parser/include/postgres/common/cryptohash.h index 24b6dbeb..0fe77341 100644 --- a/parser/include/postgres/common/cryptohash.h +++ b/parser/include/postgres/common/cryptohash.h @@ -3,7 +3,7 @@ * cryptohash.h * Generic headers for cryptographic hash functions. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -23,7 +23,7 @@ typedef enum PG_SHA224, PG_SHA256, PG_SHA384, - PG_SHA512 + PG_SHA512, } pg_cryptohash_type; /* opaque context, private to each cryptohash implementation */ diff --git a/parser/include/postgres/common/file_perm.h b/parser/include/postgres/common/file_perm.h index 978c0d07..d1f56167 100644 --- a/parser/include/postgres/common/file_perm.h +++ b/parser/include/postgres/common/file_perm.h @@ -3,7 +3,7 @@ * File and directory permission definitions * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/file_perm.h diff --git a/parser/include/postgres/common/file_utils.h b/parser/include/postgres/common/file_utils.h new file mode 100644 index 00000000..e4339fb7 --- /dev/null +++ b/parser/include/postgres/common/file_utils.h @@ -0,0 +1,65 @@ +/*------------------------------------------------------------------------- + * + * Assorted utility functions to work on files. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/common/file_utils.h + * + *------------------------------------------------------------------------- + */ +#ifndef FILE_UTILS_H +#define FILE_UTILS_H + +#include + +typedef enum PGFileType +{ + PGFILETYPE_ERROR, + PGFILETYPE_UNKNOWN, + PGFILETYPE_REG, + PGFILETYPE_DIR, + PGFILETYPE_LNK, +} PGFileType; + +typedef enum DataDirSyncMethod +{ + DATA_DIR_SYNC_METHOD_FSYNC, + DATA_DIR_SYNC_METHOD_SYNCFS, +} DataDirSyncMethod; + +struct iovec; /* avoid including port/pg_iovec.h here */ + +#ifdef FRONTEND +extern int fsync_fname(const char *fname, bool isdir); +extern void sync_pgdata(const char *pg_data, int serverVersion, + DataDirSyncMethod sync_method); +extern void sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method); +extern int durable_rename(const char *oldfile, const char *newfile); +extern int fsync_parent_path(const char *fname); +#endif + +extern PGFileType get_dirent_type(const char *path, + const struct dirent *de, + bool look_through_symlinks, + int elevel); + +extern int compute_remaining_iovec(struct iovec *destination, + const struct iovec *source, + int iovcnt, + size_t transferred); + +extern ssize_t pg_pwritev_with_retry(int fd, + const struct iovec *iov, + int iovcnt, + off_t offset); + +extern ssize_t pg_pwrite_zeros(int fd, size_t size, off_t offset); + +/* Filename components */ +#define PG_TEMP_FILES_DIR "pgsql_tmp" +#define PG_TEMP_FILE_PREFIX "pgsql_tmp" + +#endif /* FILE_UTILS_H */ diff --git a/parser/include/postgres/common/hashfn.h b/parser/include/postgres/common/hashfn.h index 5e89aef9..0251b30a 100644 --- a/parser/include/postgres/common/hashfn.h +++ b/parser/include/postgres/common/hashfn.h @@ -1,7 +1,7 @@ /* * Utilities for working with hash values. * - * Portions Copyright (c) 2017-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group */ #ifndef HASHFN_H @@ -101,4 +101,19 @@ murmurhash32(uint32 data) return h; } +/* 64-bit variant */ +static inline uint64 +murmurhash64(uint64 data) +{ + uint64 h = data; + + h ^= h >> 33; + h *= 0xff51afd7ed558ccd; + h ^= h >> 33; + h *= 0xc4ceb9fe1a85ec53; + h ^= h >> 33; + + return h; +} + #endif /* HASHFN_H */ diff --git a/parser/include/postgres/common/hashfn_unstable.h b/parser/include/postgres/common/hashfn_unstable.h new file mode 100644 index 00000000..0adb0f82 --- /dev/null +++ b/parser/include/postgres/common/hashfn_unstable.h @@ -0,0 +1,453 @@ +/* + * hashfn_unstable.h + * + * Building blocks for creating fast inlineable hash functions. The + * functions in this file are not guaranteed to be stable between versions, + * and may differ by hardware platform. Hence they must not be used in + * indexes or other on-disk structures. See hashfn.h if you need stability. + * + * + * Portions Copyright (c) 2024, PostgreSQL Global Development Group + * + * src/include/common/hashfn_unstable.h + */ +#ifndef HASHFN_UNSTABLE_H +#define HASHFN_UNSTABLE_H + +#include "port/pg_bitutils.h" +#include "port/pg_bswap.h" + +/* + * fasthash is a modification of code taken from + * https://code.google.com/archive/p/fast-hash/source/default/source + * under the terms of the MIT license. The original copyright + * notice follows: + */ + +/* The MIT License + + Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com) + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* + * fasthash as implemented here has two interfaces: + * + * 1) Standalone functions, e.g. fasthash32() for a single value with a + * known length. These return the same hash code as the original, at + * least on little-endian machines. + * + * 2) Incremental interface. This can used for incorporating multiple + * inputs. First, initialize the hash state (here with a zero seed): + * + * fasthash_state hs; + * fasthash_init(&hs, 0); + * + * If the inputs are of types that can be trivially cast to uint64, it's + * sufficient to do: + * + * hs.accum = value1; + * fasthash_combine(&hs); + * hs.accum = value2; + * fasthash_combine(&hs); + * ... + * + * For longer or variable-length input, fasthash_accum() is a more + * flexible, but more verbose method. The standalone functions use this + * internally, so see fasthash64() for an example of this. + * + * After all inputs have been mixed in, finalize the hash: + * + * hashcode = fasthash_final32(&hs, 0); + * + * The incremental interface allows an optimization for NUL-terminated + * C strings: + * + * len = fasthash_accum_cstring(&hs, str); + * hashcode = fasthash_final32(&hs, len); + * + * By handling the terminator on-the-fly, we can avoid needing a strlen() + * call to tell us how many bytes to hash. Experimentation has found that + * SMHasher fails unless we incorporate the length, so it is passed to + * the finalizer as a tweak. + */ + + +typedef struct fasthash_state +{ + /* staging area for chunks of input */ + uint64 accum; + + uint64 hash; +} fasthash_state; + +#define FH_SIZEOF_ACCUM sizeof(uint64) + + +/* + * Initialize the hash state. + * + * 'seed' can be zero. + */ +static inline void +fasthash_init(fasthash_state *hs, uint64 seed) +{ + memset(hs, 0, sizeof(fasthash_state)); + hs->hash = seed ^ 0x880355f21e6d1965; +} + +/* both the finalizer and part of the combining step */ +static inline uint64 +fasthash_mix(uint64 h, uint64 tweak) +{ + h ^= (h >> 23) + tweak; + h *= 0x2127599bf4325c37; + h ^= h >> 47; + return h; +} + +/* combine one chunk of input into the hash */ +static inline void +fasthash_combine(fasthash_state *hs) +{ + hs->hash ^= fasthash_mix(hs->accum, 0); + hs->hash *= 0x880355f21e6d1965; +} + +/* accumulate up to 8 bytes of input and combine it into the hash */ +static inline void +fasthash_accum(fasthash_state *hs, const char *k, size_t len) +{ + uint32 lower_four; + + Assert(len <= FH_SIZEOF_ACCUM); + hs->accum = 0; + + /* + * For consistency, bytewise loads must match the platform's endianness. + */ +#ifdef WORDS_BIGENDIAN + switch (len) + { + case 8: + memcpy(&hs->accum, k, 8); + break; + case 7: + hs->accum |= (uint64) k[6] << 8; + /* FALLTHROUGH */ + case 6: + hs->accum |= (uint64) k[5] << 16; + /* FALLTHROUGH */ + case 5: + hs->accum |= (uint64) k[4] << 24; + /* FALLTHROUGH */ + case 4: + memcpy(&lower_four, k, sizeof(lower_four)); + hs->accum |= (uint64) lower_four << 32; + break; + case 3: + hs->accum |= (uint64) k[2] << 40; + /* FALLTHROUGH */ + case 2: + hs->accum |= (uint64) k[1] << 48; + /* FALLTHROUGH */ + case 1: + hs->accum |= (uint64) k[0] << 56; + break; + case 0: + return; + } +#else + switch (len) + { + case 8: + memcpy(&hs->accum, k, 8); + break; + case 7: + hs->accum |= (uint64) k[6] << 48; + /* FALLTHROUGH */ + case 6: + hs->accum |= (uint64) k[5] << 40; + /* FALLTHROUGH */ + case 5: + hs->accum |= (uint64) k[4] << 32; + /* FALLTHROUGH */ + case 4: + memcpy(&lower_four, k, sizeof(lower_four)); + hs->accum |= lower_four; + break; + case 3: + hs->accum |= (uint64) k[2] << 16; + /* FALLTHROUGH */ + case 2: + hs->accum |= (uint64) k[1] << 8; + /* FALLTHROUGH */ + case 1: + hs->accum |= (uint64) k[0]; + break; + case 0: + return; + } +#endif + + fasthash_combine(hs); +} + +/* + * Set high bit in lowest byte where the input is zero, from: + * https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord + */ +#define haszero64(v) \ + (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080) + +/* get first byte in memory order */ +#ifdef WORDS_BIGENDIAN +#define firstbyte64(v) ((v) >> 56) +#else +#define firstbyte64(v) ((v) & 0xFF) +#endif + +/* + * all-purpose workhorse for fasthash_accum_cstring + */ +static inline size_t +fasthash_accum_cstring_unaligned(fasthash_state *hs, const char *str) +{ + const char *const start = str; + + while (*str) + { + size_t chunk_len = 0; + + while (chunk_len < FH_SIZEOF_ACCUM && str[chunk_len] != '\0') + chunk_len++; + + fasthash_accum(hs, str, chunk_len); + str += chunk_len; + } + + return str - start; +} + +/* + * specialized workhorse for fasthash_accum_cstring + * + * With an aligned pointer, we consume the string a word at a time. + * Loading the word containing the NUL terminator cannot segfault since + * allocation boundaries are suitably aligned. To keep from setting + * off alarms with address sanitizers, exclude this function from + * such testing. + */ +pg_attribute_no_sanitize_address() +static inline size_t +fasthash_accum_cstring_aligned(fasthash_state *hs, const char *str) +{ + const char *const start = str; + uint64 chunk; + uint64 zero_byte_low; + + Assert(PointerIsAligned(start, uint64)); + + /* + * For every chunk of input, check for zero bytes before mixing into the + * hash. The chunk with zeros must contain the NUL terminator. We arrange + * so that zero_byte_low tells us not only that a zero exists, but also + * where it is, so we can hash the remainder of the string. + * + * The haszero64 calculation will set bits corresponding to the lowest + * byte where a zero exists, so that suffices for little-endian machines. + * For big-endian machines, we would need bits set for the highest zero + * byte in the chunk, since the trailing junk past the terminator could + * contain additional zeros. haszero64 does not give us that, so we + * byteswap the chunk first. + */ + for (;;) + { + chunk = *(uint64 *) str; + +#ifdef WORDS_BIGENDIAN + zero_byte_low = haszero64(pg_bswap64(chunk)); +#else + zero_byte_low = haszero64(chunk); +#endif + if (zero_byte_low) + break; + + hs->accum = chunk; + fasthash_combine(hs); + str += FH_SIZEOF_ACCUM; + } + + if (firstbyte64(chunk) != 0) + { + size_t remainder; + uint64 mask; + + /* + * The byte corresponding to the NUL will be 0x80, so the rightmost + * bit position will be in the range 15, 23, ..., 63. Turn this into + * byte position by dividing by 8. + */ + remainder = pg_rightmost_one_pos64(zero_byte_low) / BITS_PER_BYTE; + + /* + * Create a mask for the remaining bytes so we can combine them into + * the hash. This must have the same result as mixing the remaining + * bytes with fasthash_accum(). + */ +#ifdef WORDS_BIGENDIAN + mask = ~UINT64CONST(0) << BITS_PER_BYTE * (FH_SIZEOF_ACCUM - remainder); +#else + mask = ~UINT64CONST(0) >> BITS_PER_BYTE * (FH_SIZEOF_ACCUM - remainder); +#endif + hs->accum = chunk & mask; + fasthash_combine(hs); + + str += remainder; + } + + return str - start; +} + +/* + * Mix 'str' into the hash state and return the length of the string. + */ +static inline size_t +fasthash_accum_cstring(fasthash_state *hs, const char *str) +{ +#if SIZEOF_VOID_P >= 8 + + size_t len; +#ifdef USE_ASSERT_CHECKING + size_t len_check; + fasthash_state hs_check; + + memcpy(&hs_check, hs, sizeof(fasthash_state)); + len_check = fasthash_accum_cstring_unaligned(&hs_check, str); +#endif + if (PointerIsAligned(str, uint64)) + { + len = fasthash_accum_cstring_aligned(hs, str); + Assert(len_check == len); + Assert(hs_check.hash == hs->hash); + return len; + } +#endif /* SIZEOF_VOID_P */ + + /* + * It's not worth it to try to make the word-at-a-time optimization work + * on 32-bit platforms. + */ + return fasthash_accum_cstring_unaligned(hs, str); +} + +/* + * The finalizer + * + * 'tweak' is intended to be the input length when the caller doesn't know + * the length ahead of time, such as for NUL-terminated strings, otherwise + * zero. + */ +static inline uint64 +fasthash_final64(fasthash_state *hs, uint64 tweak) +{ + return fasthash_mix(hs->hash, tweak); +} + +/* + * Reduce a 64-bit hash to a 32-bit hash. + * + * This optional step provides a bit more additional mixing compared to + * just taking the lower 32-bits. + */ +static inline uint32 +fasthash_reduce32(uint64 h) +{ + /* + * Convert the 64-bit hashcode to Fermat residue, which shall retain + * information from both the higher and lower parts of hashcode. + */ + return h - (h >> 32); +} + +/* finalize and reduce */ +static inline uint32 +fasthash_final32(fasthash_state *hs, uint64 tweak) +{ + return fasthash_reduce32(fasthash_final64(hs, tweak)); +} + +/* + * The original fasthash64 function, re-implemented using the incremental + * interface. Returns a 64-bit hashcode. 'len' controls not only how + * many bytes to hash, but also modifies the internal seed. + * 'seed' can be zero. + */ +static inline uint64 +fasthash64(const char *k, size_t len, uint64 seed) +{ + fasthash_state hs; + + fasthash_init(&hs, 0); + + /* re-initialize the seed according to input length */ + hs.hash = seed ^ (len * 0x880355f21e6d1965); + + while (len >= FH_SIZEOF_ACCUM) + { + fasthash_accum(&hs, k, FH_SIZEOF_ACCUM); + k += FH_SIZEOF_ACCUM; + len -= FH_SIZEOF_ACCUM; + } + + fasthash_accum(&hs, k, len); + return fasthash_final64(&hs, 0); +} + +/* like fasthash64, but returns a 32-bit hashcode */ +static inline uint32 +fasthash32(const char *k, size_t len, uint64 seed) +{ + return fasthash_reduce32(fasthash64(k, len, seed)); +} + +/* + * Convenience function for hashing NUL-terminated strings + */ +static inline uint32 +hash_string(const char *s) +{ + fasthash_state hs; + size_t s_len; + + fasthash_init(&hs, 0); + + /* + * Combine string into the hash and save the length for tweaking the final + * mix. + */ + s_len = fasthash_accum_cstring(&hs, s); + + return fasthash_final32(&hs, s_len); +} + +#endif /* HASHFN_UNSTABLE_H */ diff --git a/parser/include/postgres/common/int.h b/parser/include/postgres/common/int.h index 45080089..7fc046e7 100644 --- a/parser/include/postgres/common/int.h +++ b/parser/include/postgres/common/int.h @@ -1,7 +1,7 @@ /*------------------------------------------------------------------------- * * int.h - * Routines to perform integer math, while checking for overflows. + * Overflow-aware integer math and integer comparison routines. * * The routines in this file are intended to be well defined C, without * relying on compiler flags like -fwrapv. @@ -11,7 +11,7 @@ * the 64 bit cases can be considerably faster with intrinsics. In case no * intrinsics are available 128 bit math is used where available. * - * Copyright (c) 2017-2023, PostgreSQL Global Development Group + * Copyright (c) 2017-2024, PostgreSQL Global Development Group * * src/include/common/int.h * @@ -22,7 +22,7 @@ /*--------- - * The following guidelines apply to all the routines: + * The following guidelines apply to all the overflow routines: * - If a + b overflows, return true, otherwise store the result of a + b * into *result. The content of *result is implementation defined in case of * overflow. @@ -200,8 +200,12 @@ pg_sub_s64_overflow(int64 a, int64 b, int64 *result) *result = (int64) res; return false; #else + /* + * Note: overflow is also possible when a == 0 and b < 0 (specifically, + * when b == PG_INT64_MIN). + */ if ((a < 0 && b > 0 && a < PG_INT64_MIN + b) || - (a > 0 && b < 0 && a > PG_INT64_MAX + b)) + (a >= 0 && b < 0 && a > PG_INT64_MAX + b)) { *result = 0x5EED; /* to avoid spurious warnings */ return true; @@ -434,4 +438,75 @@ pg_mul_u64_overflow(uint64 a, uint64 b, uint64 *result) #endif } +/*------------------------------------------------------------------------ + * + * Comparison routines for integer types. + * + * These routines are primarily intended for use in qsort() comparator + * functions and therefore return a positive integer, 0, or a negative + * integer depending on whether "a" is greater than, equal to, or less + * than "b", respectively. These functions are written to be as efficient + * as possible without introducing overflow risks, thereby helping ensure + * the comparators that use them are transitive. + * + * Types with fewer than 32 bits are cast to signed integers and + * subtracted. Other types are compared using > and <, and the results of + * those comparisons (which are either (int) 0 or (int) 1 per the C + * standard) are subtracted. + * + * NB: If the comparator function is inlined, some compilers may produce + * worse code with these helper functions than with code with the + * following form: + * + * if (a < b) + * return -1; + * if (a > b) + * return 1; + * return 0; + * + *------------------------------------------------------------------------ + */ + +static inline int +pg_cmp_s16(int16 a, int16 b) +{ + return (int32) a - (int32) b; +} + +static inline int +pg_cmp_u16(uint16 a, uint16 b) +{ + return (int32) a - (int32) b; +} + +static inline int +pg_cmp_s32(int32 a, int32 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_u32(uint32 a, uint32 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_s64(int64 a, int64 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_u64(uint64 a, uint64 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_size(size_t a, size_t b) +{ + return (a > b) - (a < b); +} + #endif /* COMMON_INT_H */ diff --git a/parser/include/postgres/common/keywords.h b/parser/include/postgres/common/keywords.h index 6bb12d8e..0144377a 100644 --- a/parser/include/postgres/common/keywords.h +++ b/parser/include/postgres/common/keywords.h @@ -4,7 +4,7 @@ * PostgreSQL's list of SQL keywords * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/keywords.h diff --git a/parser/include/postgres/common/kwlookup.h b/parser/include/postgres/common/kwlookup.h index 3fc3faa0..3725e47c 100644 --- a/parser/include/postgres/common/kwlookup.h +++ b/parser/include/postgres/common/kwlookup.h @@ -4,7 +4,7 @@ * Key word lookup for PostgreSQL * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/kwlookup.h diff --git a/parser/include/postgres/common/pg_prng.h b/parser/include/postgres/common/pg_prng.h index b5c0b8d2..c114c641 100644 --- a/parser/include/postgres/common/pg_prng.h +++ b/parser/include/postgres/common/pg_prng.h @@ -2,7 +2,7 @@ * * Pseudo-Random Number Generator * - * Copyright (c) 2021-2023, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * * src/include/common/pg_prng.h * @@ -51,6 +51,7 @@ extern uint64 pg_prng_uint64(pg_prng_state *state); extern uint64 pg_prng_uint64_range(pg_prng_state *state, uint64 rmin, uint64 rmax); extern int64 pg_prng_int64(pg_prng_state *state); extern int64 pg_prng_int64p(pg_prng_state *state); +extern int64 pg_prng_int64_range(pg_prng_state *state, int64 rmin, int64 rmax); extern uint32 pg_prng_uint32(pg_prng_state *state); extern int32 pg_prng_int32(pg_prng_state *state); extern int32 pg_prng_int32p(pg_prng_state *state); diff --git a/parser/include/postgres/common/relpath.h b/parser/include/postgres/common/relpath.h index 511c2168..6f006d5a 100644 --- a/parser/include/postgres/common/relpath.h +++ b/parser/include/postgres/common/relpath.h @@ -3,7 +3,7 @@ * relpath.h * Declarations for GetRelationPath() and friends * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/relpath.h @@ -50,7 +50,7 @@ typedef enum ForkNumber MAIN_FORKNUM = 0, FSM_FORKNUM, VISIBILITYMAP_FORKNUM, - INIT_FORKNUM + INIT_FORKNUM, /* * NOTE: if you add a new fork, change MAX_FORKNUM and possibly @@ -74,7 +74,7 @@ extern int forkname_chars(const char *str, ForkNumber *fork); extern char *GetDatabasePath(Oid dbOid, Oid spcOid); extern char *GetRelationPath(Oid dbOid, Oid spcOid, RelFileNumber relNumber, - int backendId, ForkNumber forkNumber); + int procNumber, ForkNumber forkNumber); /* * Wrapper macros for GetRelationPath. Beware of multiple @@ -88,7 +88,7 @@ extern char *GetRelationPath(Oid dbOid, Oid spcOid, RelFileNumber relNumber, /* First argument is a RelFileLocator */ #define relpathperm(rlocator, forknum) \ - relpathbackend(rlocator, InvalidBackendId, forknum) + relpathbackend(rlocator, INVALID_PROC_NUMBER, forknum) /* First argument is a RelFileLocatorBackend */ #define relpath(rlocator, forknum) \ diff --git a/parser/include/postgres/common/scram-common.h b/parser/include/postgres/common/scram-common.h index 5ccff96e..ce848aa3 100644 --- a/parser/include/postgres/common/scram-common.h +++ b/parser/include/postgres/common/scram-common.h @@ -3,7 +3,7 @@ * scram-common.h * Declarations for helper functions used for SCRAM authentication * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/scram-common.h diff --git a/parser/include/postgres/common/sha2.h b/parser/include/postgres/common/sha2.h index 9b46cd1a..ea040c57 100644 --- a/parser/include/postgres/common/sha2.h +++ b/parser/include/postgres/common/sha2.h @@ -3,7 +3,7 @@ * sha2.h * Constants related to SHA224, 256, 384 AND 512. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/include/postgres/common/string.h b/parser/include/postgres/common/string.h index 977ef327..721aabe9 100644 --- a/parser/include/postgres/common/string.h +++ b/parser/include/postgres/common/string.h @@ -2,7 +2,7 @@ * string.h * string handling helpers * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/string.h diff --git a/parser/include/postgres/common/unicode_east_asian_fw_table.h b/parser/include/postgres/common/unicode_east_asian_fw_table.h index f77e6dfd..dcd1f136 100644 --- a/parser/include/postgres/common/unicode_east_asian_fw_table.h +++ b/parser/include/postgres/common/unicode_east_asian_fw_table.h @@ -39,14 +39,13 @@ static const struct mbinterval east_asian_fw[] = { {0x2E80, 0x2E99}, {0x2E9B, 0x2EF3}, {0x2F00, 0x2FD5}, - {0x2FF0, 0x2FFB}, - {0x3000, 0x303E}, + {0x2FF0, 0x303E}, {0x3041, 0x3096}, {0x3099, 0x30FF}, {0x3105, 0x312F}, {0x3131, 0x318E}, {0x3190, 0x31E3}, - {0x31F0, 0x321E}, + {0x31EF, 0x321E}, {0x3220, 0x3247}, {0x3250, 0x4DBF}, {0x4E00, 0xA48C}, diff --git a/parser/include/postgres/copyfuncs.funcs.c b/parser/include/postgres/copyfuncs.funcs.c index 61dc7f13..2bd81f5e 100644 --- a/parser/include/postgres/copyfuncs.funcs.c +++ b/parser/include/postgres/copyfuncs.funcs.c @@ -3,7 +3,7 @@ * copyfuncs.funcs.c * Generated node infrastructure code * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -70,6 +70,7 @@ _copyTableFunc(const TableFunc *from) { TableFunc *newnode = makeNode(TableFunc); + COPY_SCALAR_FIELD(functype); COPY_NODE_FIELD(ns_uris); COPY_NODE_FIELD(ns_names); COPY_NODE_FIELD(docexpr); @@ -80,7 +81,10 @@ _copyTableFunc(const TableFunc *from) COPY_NODE_FIELD(colcollations); COPY_NODE_FIELD(colexprs); COPY_NODE_FIELD(coldefexprs); + COPY_NODE_FIELD(colvalexprs); + COPY_NODE_FIELD(passingvalexprs); COPY_BITMAPSET_FIELD(notnulls); + COPY_NODE_FIELD(plan); COPY_SCALAR_FIELD(ordinalitycol); COPY_LOCATION_FIELD(location); @@ -192,6 +196,7 @@ _copyWindowFunc(const WindowFunc *from) COPY_SCALAR_FIELD(inputcollid); COPY_NODE_FIELD(args); COPY_NODE_FIELD(aggfilter); + COPY_NODE_FIELD(runCondition); COPY_SCALAR_FIELD(winref); COPY_SCALAR_FIELD(winstar); COPY_SCALAR_FIELD(winagg); @@ -200,6 +205,31 @@ _copyWindowFunc(const WindowFunc *from) return newnode; } +static WindowFuncRunCondition * +_copyWindowFuncRunCondition(const WindowFuncRunCondition *from) +{ + WindowFuncRunCondition *newnode = makeNode(WindowFuncRunCondition); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(inputcollid); + COPY_SCALAR_FIELD(wfunc_left); + COPY_NODE_FIELD(arg); + + return newnode; +} + +static MergeSupportFunc * +_copyMergeSupportFunc(const MergeSupportFunc *from) +{ + MergeSupportFunc *newnode = makeNode(MergeSupportFunc); + + COPY_SCALAR_FIELD(msftype); + COPY_SCALAR_FIELD(msfcollid); + COPY_LOCATION_FIELD(location); + + return newnode; +} + static SubscriptingRef * _copySubscriptingRef(const SubscriptingRef *from) { @@ -686,6 +716,80 @@ _copyJsonIsPredicate(const JsonIsPredicate *from) return newnode; } +static JsonBehavior * +_copyJsonBehavior(const JsonBehavior *from) +{ + JsonBehavior *newnode = makeNode(JsonBehavior); + + COPY_SCALAR_FIELD(btype); + COPY_NODE_FIELD(expr); + COPY_SCALAR_FIELD(coerce); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonExpr * +_copyJsonExpr(const JsonExpr *from) +{ + JsonExpr *newnode = makeNode(JsonExpr); + + COPY_SCALAR_FIELD(op); + COPY_STRING_FIELD(column_name); + COPY_NODE_FIELD(formatted_expr); + COPY_NODE_FIELD(format); + COPY_NODE_FIELD(path_spec); + COPY_NODE_FIELD(returning); + COPY_NODE_FIELD(passing_names); + COPY_NODE_FIELD(passing_values); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_SCALAR_FIELD(use_io_coercion); + COPY_SCALAR_FIELD(use_json_coercion); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(omit_quotes); + COPY_SCALAR_FIELD(collation); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTablePath * +_copyJsonTablePath(const JsonTablePath *from) +{ + JsonTablePath *newnode = makeNode(JsonTablePath); + + COPY_NODE_FIELD(value); + COPY_STRING_FIELD(name); + + return newnode; +} + +static JsonTablePathScan * +_copyJsonTablePathScan(const JsonTablePathScan *from) +{ + JsonTablePathScan *newnode = makeNode(JsonTablePathScan); + + COPY_NODE_FIELD(path); + COPY_SCALAR_FIELD(errorOnError); + COPY_NODE_FIELD(child); + COPY_SCALAR_FIELD(colMin); + COPY_SCALAR_FIELD(colMax); + + return newnode; +} + +static JsonTableSiblingJoin * +_copyJsonTableSiblingJoin(const JsonTableSiblingJoin *from) +{ + JsonTableSiblingJoin *newnode = makeNode(JsonTableSiblingJoin); + + COPY_NODE_FIELD(lplan); + COPY_NODE_FIELD(rplan); + + return newnode; +} + static NullTest * _copyNullTest(const NullTest *from) { @@ -711,6 +815,21 @@ _copyBooleanTest(const BooleanTest *from) return newnode; } +static MergeAction * +_copyMergeAction(const MergeAction *from) +{ + MergeAction *newnode = makeNode(MergeAction); + + COPY_SCALAR_FIELD(matchKind); + COPY_SCALAR_FIELD(commandType); + COPY_SCALAR_FIELD(override); + COPY_NODE_FIELD(qual); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(updateColnos); + + return newnode; +} + static CoerceToDomain * _copyCoerceToDomain(const CoerceToDomain *from) { @@ -885,7 +1004,8 @@ _copyQuery(const Query *from) COPY_NODE_FIELD(rteperminfos); COPY_NODE_FIELD(jointree); COPY_NODE_FIELD(mergeActionList); - COPY_SCALAR_FIELD(mergeUseOuterJoin); + COPY_SCALAR_FIELD(mergeTargetRelation); + COPY_NODE_FIELD(mergeJoinCondition); COPY_NODE_FIELD(targetList); COPY_SCALAR_FIELD(override); COPY_NODE_FIELD(onConflict); @@ -905,7 +1025,7 @@ _copyQuery(const Query *from) COPY_NODE_FIELD(constraintDeps); COPY_NODE_FIELD(withCheckOptions); COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); + COPY_LOCATION_FIELD(stmt_len); return newnode; } @@ -1343,6 +1463,15 @@ _copyPartitionRangeDatum(const PartitionRangeDatum *from) return newnode; } +static SinglePartitionSpec * +_copySinglePartitionSpec(const SinglePartitionSpec *from) +{ + SinglePartitionSpec *newnode = makeNode(SinglePartitionSpec); + + + return newnode; +} + static PartitionCmd * _copyPartitionCmd(const PartitionCmd *from) { @@ -1360,12 +1489,15 @@ _copyRangeTblEntry(const RangeTblEntry *from) { RangeTblEntry *newnode = makeNode(RangeTblEntry); + COPY_NODE_FIELD(alias); + COPY_NODE_FIELD(eref); COPY_SCALAR_FIELD(rtekind); COPY_SCALAR_FIELD(relid); + COPY_SCALAR_FIELD(inh); COPY_SCALAR_FIELD(relkind); COPY_SCALAR_FIELD(rellockmode); - COPY_NODE_FIELD(tablesample); COPY_SCALAR_FIELD(perminfoindex); + COPY_NODE_FIELD(tablesample); COPY_NODE_FIELD(subquery); COPY_SCALAR_FIELD(security_barrier); COPY_SCALAR_FIELD(jointype); @@ -1386,10 +1518,7 @@ _copyRangeTblEntry(const RangeTblEntry *from) COPY_NODE_FIELD(colcollations); COPY_STRING_FIELD(enrname); COPY_SCALAR_FIELD(enrtuples); - COPY_NODE_FIELD(alias); - COPY_NODE_FIELD(eref); COPY_SCALAR_FIELD(lateral); - COPY_SCALAR_FIELD(inh); COPY_SCALAR_FIELD(inFromCl); COPY_NODE_FIELD(securityQuals); @@ -1492,7 +1621,6 @@ _copyWindowClause(const WindowClause *from) COPY_SCALAR_FIELD(frameOptions); COPY_NODE_FIELD(startOffset); COPY_NODE_FIELD(endOffset); - COPY_NODE_FIELD(runCondition); COPY_SCALAR_FIELD(startInRangeFunc); COPY_SCALAR_FIELD(endInRangeFunc); COPY_SCALAR_FIELD(inRangeColl); @@ -1615,7 +1743,7 @@ _copyMergeWhenClause(const MergeWhenClause *from) { MergeWhenClause *newnode = makeNode(MergeWhenClause); - COPY_SCALAR_FIELD(matched); + COPY_SCALAR_FIELD(matchKind); COPY_SCALAR_FIELD(commandType); COPY_SCALAR_FIELD(override); COPY_NODE_FIELD(condition); @@ -1625,21 +1753,6 @@ _copyMergeWhenClause(const MergeWhenClause *from) return newnode; } -static MergeAction * -_copyMergeAction(const MergeAction *from) -{ - MergeAction *newnode = makeNode(MergeAction); - - COPY_SCALAR_FIELD(matched); - COPY_SCALAR_FIELD(commandType); - COPY_SCALAR_FIELD(override); - COPY_NODE_FIELD(qual); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(updateColnos); - - return newnode; -} - static TriggerTransition * _copyTriggerTransition(const TriggerTransition *from) { @@ -1663,6 +1776,87 @@ _copyJsonOutput(const JsonOutput *from) return newnode; } +static JsonArgument * +_copyJsonArgument(const JsonArgument *from) +{ + JsonArgument *newnode = makeNode(JsonArgument); + + COPY_NODE_FIELD(val); + COPY_STRING_FIELD(name); + + return newnode; +} + +static JsonFuncExpr * +_copyJsonFuncExpr(const JsonFuncExpr *from) +{ + JsonFuncExpr *newnode = makeNode(JsonFuncExpr); + + COPY_SCALAR_FIELD(op); + COPY_STRING_FIELD(column_name); + COPY_NODE_FIELD(context_item); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(passing); + COPY_NODE_FIELD(output); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(quotes); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTablePathSpec * +_copyJsonTablePathSpec(const JsonTablePathSpec *from) +{ + JsonTablePathSpec *newnode = makeNode(JsonTablePathSpec); + + COPY_NODE_FIELD(string); + COPY_STRING_FIELD(name); + COPY_LOCATION_FIELD(name_location); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTable * +_copyJsonTable(const JsonTable *from) +{ + JsonTable *newnode = makeNode(JsonTable); + + COPY_NODE_FIELD(context_item); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(passing); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(on_error); + COPY_NODE_FIELD(alias); + COPY_SCALAR_FIELD(lateral); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTableColumn * +_copyJsonTableColumn(const JsonTableColumn *from) +{ + JsonTableColumn *newnode = makeNode(JsonTableColumn); + + COPY_SCALAR_FIELD(coltype); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(format); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(quotes); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_LOCATION_FIELD(location); + + return newnode; +} + static JsonKeyValue * _copyJsonKeyValue(const JsonKeyValue *from) { @@ -1674,6 +1868,43 @@ _copyJsonKeyValue(const JsonKeyValue *from) return newnode; } +static JsonParseExpr * +_copyJsonParseExpr(const JsonParseExpr *from) +{ + JsonParseExpr *newnode = makeNode(JsonParseExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_SCALAR_FIELD(unique_keys); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonScalarExpr * +_copyJsonScalarExpr(const JsonScalarExpr *from) +{ + JsonScalarExpr *newnode = makeNode(JsonScalarExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonSerializeExpr * +_copyJsonSerializeExpr(const JsonSerializeExpr *from) +{ + JsonSerializeExpr *newnode = makeNode(JsonSerializeExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_LOCATION_FIELD(location); + + return newnode; +} + static JsonObjectConstructor * _copyJsonObjectConstructor(const JsonObjectConstructor *from) { @@ -1761,7 +1992,7 @@ _copyRawStmt(const RawStmt *from) COPY_NODE_FIELD(stmt); COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); + COPY_LOCATION_FIELD(stmt_len); return newnode; } @@ -1820,6 +2051,7 @@ _copyMergeStmt(const MergeStmt *from) COPY_NODE_FIELD(sourceRelation); COPY_NODE_FIELD(joinCondition); COPY_NODE_FIELD(mergeWhenClauses); + COPY_NODE_FIELD(returningList); COPY_NODE_FIELD(withClause); return newnode; @@ -2112,11 +2344,13 @@ _copyConstraint(const Constraint *from) COPY_STRING_FIELD(conname); COPY_SCALAR_FIELD(deferrable); COPY_SCALAR_FIELD(initdeferred); - COPY_LOCATION_FIELD(location); + COPY_SCALAR_FIELD(skip_validation); + COPY_SCALAR_FIELD(initially_valid); COPY_SCALAR_FIELD(is_no_inherit); COPY_NODE_FIELD(raw_expr); COPY_STRING_FIELD(cooked_expr); COPY_SCALAR_FIELD(generated_when); + COPY_SCALAR_FIELD(inhcount); COPY_SCALAR_FIELD(nulls_not_distinct); COPY_NODE_FIELD(keys); COPY_NODE_FIELD(including); @@ -2136,8 +2370,7 @@ _copyConstraint(const Constraint *from) COPY_NODE_FIELD(fk_del_set_cols); COPY_NODE_FIELD(old_conpfeqop); COPY_SCALAR_FIELD(old_pktable_oid); - COPY_SCALAR_FIELD(skip_validation); - COPY_SCALAR_FIELD(initially_valid); + COPY_LOCATION_FIELD(location); return newnode; } @@ -2769,7 +3002,7 @@ _copyAlterStatsStmt(const AlterStatsStmt *from) AlterStatsStmt *newnode = makeNode(AlterStatsStmt); COPY_NODE_FIELD(defnames); - COPY_SCALAR_FIELD(stxstattarget); + COPY_NODE_FIELD(stxstattarget); COPY_SCALAR_FIELD(missing_ok); return newnode; @@ -2975,6 +3208,7 @@ _copyTransactionStmt(const TransactionStmt *from) COPY_STRING_FIELD(savepoint_name); COPY_STRING_FIELD(gid); COPY_SCALAR_FIELD(chain); + COPY_LOCATION_FIELD(location); return newnode; } @@ -3316,6 +3550,8 @@ _copyDeallocateStmt(const DeallocateStmt *from) DeallocateStmt *newnode = makeNode(DeallocateStmt); COPY_STRING_FIELD(name); + COPY_SCALAR_FIELD(isall); + COPY_LOCATION_FIELD(location); return newnode; } @@ -3473,6 +3709,17 @@ _copyPathKey(const PathKey *from) return newnode; } +static GroupByOrdering * +_copyGroupByOrdering(const GroupByOrdering *from) +{ + GroupByOrdering *newnode = makeNode(GroupByOrdering); + + COPY_NODE_FIELD(pathkeys); + COPY_NODE_FIELD(clauses); + + return newnode; +} + static RestrictInfo * _copyRestrictInfo(const RestrictInfo *from) { @@ -3615,7 +3862,7 @@ _copyPlannedStmt(const PlannedStmt *from) COPY_NODE_FIELD(paramExecTypes); COPY_NODE_FIELD(utilityStmt); COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); + COPY_LOCATION_FIELD(stmt_len); return newnode; } @@ -3710,6 +3957,7 @@ _copyModifyTable(const ModifyTable *from) COPY_SCALAR_FIELD(exclRelRTI); COPY_NODE_FIELD(exclRelTlist); COPY_NODE_FIELD(mergeActionLists); + COPY_NODE_FIELD(mergeJoinConditions); return newnode; } diff --git a/parser/include/postgres/copyfuncs.switch.c b/parser/include/postgres/copyfuncs.switch.c index 15404a40..e5fac29a 100644 --- a/parser/include/postgres/copyfuncs.switch.c +++ b/parser/include/postgres/copyfuncs.switch.c @@ -3,7 +3,7 @@ * copyfuncs.switch.c * Generated node infrastructure code * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -45,6 +45,12 @@ case T_WindowFunc: retval = _copyWindowFunc(from); break; + case T_WindowFuncRunCondition: + retval = _copyWindowFuncRunCondition(from); + break; + case T_MergeSupportFunc: + retval = _copyMergeSupportFunc(from); + break; case T_SubscriptingRef: retval = _copySubscriptingRef(from); break; @@ -144,12 +150,30 @@ case T_JsonIsPredicate: retval = _copyJsonIsPredicate(from); break; + case T_JsonBehavior: + retval = _copyJsonBehavior(from); + break; + case T_JsonExpr: + retval = _copyJsonExpr(from); + break; + case T_JsonTablePath: + retval = _copyJsonTablePath(from); + break; + case T_JsonTablePathScan: + retval = _copyJsonTablePathScan(from); + break; + case T_JsonTableSiblingJoin: + retval = _copyJsonTableSiblingJoin(from); + break; case T_NullTest: retval = _copyNullTest(from); break; case T_BooleanTest: retval = _copyBooleanTest(from); break; + case T_MergeAction: + retval = _copyMergeAction(from); + break; case T_CoerceToDomain: retval = _copyCoerceToDomain(from); break; @@ -282,6 +306,9 @@ case T_PartitionRangeDatum: retval = _copyPartitionRangeDatum(from); break; + case T_SinglePartitionSpec: + retval = _copySinglePartitionSpec(from); + break; case T_PartitionCmd: retval = _copyPartitionCmd(from); break; @@ -333,18 +360,39 @@ case T_MergeWhenClause: retval = _copyMergeWhenClause(from); break; - case T_MergeAction: - retval = _copyMergeAction(from); - break; case T_TriggerTransition: retval = _copyTriggerTransition(from); break; case T_JsonOutput: retval = _copyJsonOutput(from); break; + case T_JsonArgument: + retval = _copyJsonArgument(from); + break; + case T_JsonFuncExpr: + retval = _copyJsonFuncExpr(from); + break; + case T_JsonTablePathSpec: + retval = _copyJsonTablePathSpec(from); + break; + case T_JsonTable: + retval = _copyJsonTable(from); + break; + case T_JsonTableColumn: + retval = _copyJsonTableColumn(from); + break; case T_JsonKeyValue: retval = _copyJsonKeyValue(from); break; + case T_JsonParseExpr: + retval = _copyJsonParseExpr(from); + break; + case T_JsonScalarExpr: + retval = _copyJsonScalarExpr(from); + break; + case T_JsonSerializeExpr: + retval = _copyJsonSerializeExpr(from); + break; case T_JsonObjectConstructor: retval = _copyJsonObjectConstructor(from); break; @@ -747,6 +795,9 @@ case T_PathKey: retval = _copyPathKey(from); break; + case T_GroupByOrdering: + retval = _copyGroupByOrdering(from); + break; case T_RestrictInfo: retval = _copyRestrictInfo(from); break; diff --git a/parser/include/postgres/datatype/timestamp.h b/parser/include/postgres/datatype/timestamp.h index ab8ccf89..3a37cb66 100644 --- a/parser/include/postgres/datatype/timestamp.h +++ b/parser/include/postgres/datatype/timestamp.h @@ -5,7 +5,7 @@ * * Note: this file must be includable in both frontend and backend contexts. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/datatype/timestamp.h @@ -114,6 +114,7 @@ struct pg_itm_in * 30 days. */ #define DAYS_PER_MONTH 30 /* assumes exactly 30 days per month */ +#define DAYS_PER_WEEK 7 #define HOURS_PER_DAY 24 /* assume no daylight savings time changes */ /* @@ -150,7 +151,7 @@ struct pg_itm_in #define TIMESTAMP_INFINITY PG_INT64_MAX /* - * Historically these alias for infinity have been used. + * Historically these aliases for infinity have been used. */ #define DT_NOBEGIN TIMESTAMP_MINUS_INFINITY #define DT_NOEND TIMESTAMP_INFINITY @@ -167,6 +168,31 @@ struct pg_itm_in #define TIMESTAMP_NOT_FINITE(j) (TIMESTAMP_IS_NOBEGIN(j) || TIMESTAMP_IS_NOEND(j)) +/* + * Infinite intervals are represented by setting all fields to the minimum or + * maximum integer values. + */ +#define INTERVAL_NOBEGIN(i) \ + do { \ + (i)->time = PG_INT64_MIN; \ + (i)->day = PG_INT32_MIN; \ + (i)->month = PG_INT32_MIN; \ + } while (0) + +#define INTERVAL_IS_NOBEGIN(i) \ + ((i)->month == PG_INT32_MIN && (i)->day == PG_INT32_MIN && (i)->time == PG_INT64_MIN) + +#define INTERVAL_NOEND(i) \ + do { \ + (i)->time = PG_INT64_MAX; \ + (i)->day = PG_INT32_MAX; \ + (i)->month = PG_INT32_MAX; \ + } while (0) + +#define INTERVAL_IS_NOEND(i) \ + ((i)->month == PG_INT32_MAX && (i)->day == PG_INT32_MAX && (i)->time == PG_INT64_MAX) + +#define INTERVAL_NOT_FINITE(i) (INTERVAL_IS_NOBEGIN(i) || INTERVAL_IS_NOEND(i)) /* * Julian date support. diff --git a/parser/include/postgres/equalfuncs.funcs.c b/parser/include/postgres/equalfuncs.funcs.c index f65b2d6f..a1ca6264 100644 --- a/parser/include/postgres/equalfuncs.funcs.c +++ b/parser/include/postgres/equalfuncs.funcs.c @@ -3,7 +3,7 @@ * equalfuncs.funcs.c * Generated node infrastructure code * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -64,6 +64,7 @@ _equalRangeVar(const RangeVar *a, const RangeVar *b) static bool _equalTableFunc(const TableFunc *a, const TableFunc *b) { + COMPARE_SCALAR_FIELD(functype); COMPARE_NODE_FIELD(ns_uris); COMPARE_NODE_FIELD(ns_names); COMPARE_NODE_FIELD(docexpr); @@ -74,7 +75,10 @@ _equalTableFunc(const TableFunc *a, const TableFunc *b) COMPARE_NODE_FIELD(colcollations); COMPARE_NODE_FIELD(colexprs); COMPARE_NODE_FIELD(coldefexprs); + COMPARE_NODE_FIELD(colvalexprs); + COMPARE_NODE_FIELD(passingvalexprs); COMPARE_BITMAPSET_FIELD(notnulls); + COMPARE_NODE_FIELD(plan); COMPARE_SCALAR_FIELD(ordinalitycol); COMPARE_LOCATION_FIELD(location); @@ -168,6 +172,7 @@ _equalWindowFunc(const WindowFunc *a, const WindowFunc *b) COMPARE_SCALAR_FIELD(inputcollid); COMPARE_NODE_FIELD(args); COMPARE_NODE_FIELD(aggfilter); + COMPARE_NODE_FIELD(runCondition); COMPARE_SCALAR_FIELD(winref); COMPARE_SCALAR_FIELD(winstar); COMPARE_SCALAR_FIELD(winagg); @@ -176,6 +181,27 @@ _equalWindowFunc(const WindowFunc *a, const WindowFunc *b) return true; } +static bool +_equalWindowFuncRunCondition(const WindowFuncRunCondition *a, const WindowFuncRunCondition *b) +{ + COMPARE_SCALAR_FIELD(opno); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_SCALAR_FIELD(wfunc_left); + COMPARE_NODE_FIELD(arg); + + return true; +} + +static bool +_equalMergeSupportFunc(const MergeSupportFunc *a, const MergeSupportFunc *b) +{ + COMPARE_SCALAR_FIELD(msftype); + COMPARE_SCALAR_FIELD(msfcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + static bool _equalSubscriptingRef(const SubscriptingRef *a, const SubscriptingRef *b) { @@ -596,6 +622,70 @@ _equalJsonIsPredicate(const JsonIsPredicate *a, const JsonIsPredicate *b) return true; } +static bool +_equalJsonBehavior(const JsonBehavior *a, const JsonBehavior *b) +{ + COMPARE_SCALAR_FIELD(btype); + COMPARE_NODE_FIELD(expr); + COMPARE_SCALAR_FIELD(coerce); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonExpr(const JsonExpr *a, const JsonExpr *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_STRING_FIELD(column_name); + COMPARE_NODE_FIELD(formatted_expr); + COMPARE_NODE_FIELD(format); + COMPARE_NODE_FIELD(path_spec); + COMPARE_NODE_FIELD(returning); + COMPARE_NODE_FIELD(passing_names); + COMPARE_NODE_FIELD(passing_values); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_SCALAR_FIELD(use_io_coercion); + COMPARE_SCALAR_FIELD(use_json_coercion); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(omit_quotes); + COMPARE_SCALAR_FIELD(collation); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTablePath(const JsonTablePath *a, const JsonTablePath *b) +{ + COMPARE_NODE_FIELD(value); + COMPARE_STRING_FIELD(name); + + return true; +} + +static bool +_equalJsonTablePathScan(const JsonTablePathScan *a, const JsonTablePathScan *b) +{ + COMPARE_NODE_FIELD(path); + COMPARE_SCALAR_FIELD(errorOnError); + COMPARE_NODE_FIELD(child); + COMPARE_SCALAR_FIELD(colMin); + COMPARE_SCALAR_FIELD(colMax); + + return true; +} + +static bool +_equalJsonTableSiblingJoin(const JsonTableSiblingJoin *a, const JsonTableSiblingJoin *b) +{ + COMPARE_NODE_FIELD(lplan); + COMPARE_NODE_FIELD(rplan); + + return true; +} + static bool _equalNullTest(const NullTest *a, const NullTest *b) { @@ -617,6 +707,19 @@ _equalBooleanTest(const BooleanTest *a, const BooleanTest *b) return true; } +static bool +_equalMergeAction(const MergeAction *a, const MergeAction *b) +{ + COMPARE_SCALAR_FIELD(matchKind); + COMPARE_SCALAR_FIELD(commandType); + COMPARE_SCALAR_FIELD(override); + COMPARE_NODE_FIELD(qual); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(updateColnos); + + return true; +} + static bool _equalCoerceToDomain(const CoerceToDomain *a, const CoerceToDomain *b) { @@ -765,7 +868,8 @@ _equalQuery(const Query *a, const Query *b) COMPARE_NODE_FIELD(rteperminfos); COMPARE_NODE_FIELD(jointree); COMPARE_NODE_FIELD(mergeActionList); - COMPARE_SCALAR_FIELD(mergeUseOuterJoin); + COMPARE_SCALAR_FIELD(mergeTargetRelation); + COMPARE_NODE_FIELD(mergeJoinCondition); COMPARE_NODE_FIELD(targetList); COMPARE_SCALAR_FIELD(override); COMPARE_NODE_FIELD(onConflict); @@ -785,7 +889,7 @@ _equalQuery(const Query *a, const Query *b) COMPARE_NODE_FIELD(constraintDeps); COMPARE_NODE_FIELD(withCheckOptions); COMPARE_LOCATION_FIELD(stmt_location); - COMPARE_SCALAR_FIELD(stmt_len); + COMPARE_LOCATION_FIELD(stmt_len); return true; } @@ -1160,6 +1264,13 @@ _equalPartitionRangeDatum(const PartitionRangeDatum *a, const PartitionRangeDatu return true; } +static bool +_equalSinglePartitionSpec(const SinglePartitionSpec *a, const SinglePartitionSpec *b) +{ + + return true; +} + static bool _equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b) { @@ -1173,12 +1284,15 @@ _equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b) static bool _equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b) { + COMPARE_NODE_FIELD(alias); + COMPARE_NODE_FIELD(eref); COMPARE_SCALAR_FIELD(rtekind); COMPARE_SCALAR_FIELD(relid); + COMPARE_SCALAR_FIELD(inh); COMPARE_SCALAR_FIELD(relkind); COMPARE_SCALAR_FIELD(rellockmode); - COMPARE_NODE_FIELD(tablesample); COMPARE_SCALAR_FIELD(perminfoindex); + COMPARE_NODE_FIELD(tablesample); COMPARE_NODE_FIELD(subquery); COMPARE_SCALAR_FIELD(security_barrier); COMPARE_SCALAR_FIELD(jointype); @@ -1199,10 +1313,7 @@ _equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b) COMPARE_NODE_FIELD(colcollations); COMPARE_STRING_FIELD(enrname); COMPARE_SCALAR_FIELD(enrtuples); - COMPARE_NODE_FIELD(alias); - COMPARE_NODE_FIELD(eref); COMPARE_SCALAR_FIELD(lateral); - COMPARE_SCALAR_FIELD(inh); COMPARE_SCALAR_FIELD(inFromCl); COMPARE_NODE_FIELD(securityQuals); @@ -1291,7 +1402,6 @@ _equalWindowClause(const WindowClause *a, const WindowClause *b) COMPARE_SCALAR_FIELD(frameOptions); COMPARE_NODE_FIELD(startOffset); COMPARE_NODE_FIELD(endOffset); - COMPARE_NODE_FIELD(runCondition); COMPARE_SCALAR_FIELD(startInRangeFunc); COMPARE_SCALAR_FIELD(endInRangeFunc); COMPARE_SCALAR_FIELD(inRangeColl); @@ -1398,7 +1508,7 @@ _equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b) static bool _equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b) { - COMPARE_SCALAR_FIELD(matched); + COMPARE_SCALAR_FIELD(matchKind); COMPARE_SCALAR_FIELD(commandType); COMPARE_SCALAR_FIELD(override); COMPARE_NODE_FIELD(condition); @@ -1409,33 +1519,91 @@ _equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b) } static bool -_equalMergeAction(const MergeAction *a, const MergeAction *b) +_equalTriggerTransition(const TriggerTransition *a, const TriggerTransition *b) { - COMPARE_SCALAR_FIELD(matched); - COMPARE_SCALAR_FIELD(commandType); - COMPARE_SCALAR_FIELD(override); - COMPARE_NODE_FIELD(qual); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(updateColnos); + COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(isNew); + COMPARE_SCALAR_FIELD(isTable); return true; } static bool -_equalTriggerTransition(const TriggerTransition *a, const TriggerTransition *b) +_equalJsonOutput(const JsonOutput *a, const JsonOutput *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(returning); + + return true; +} + +static bool +_equalJsonArgument(const JsonArgument *a, const JsonArgument *b) { + COMPARE_NODE_FIELD(val); COMPARE_STRING_FIELD(name); - COMPARE_SCALAR_FIELD(isNew); - COMPARE_SCALAR_FIELD(isTable); return true; } static bool -_equalJsonOutput(const JsonOutput *a, const JsonOutput *b) +_equalJsonFuncExpr(const JsonFuncExpr *a, const JsonFuncExpr *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_STRING_FIELD(column_name); + COMPARE_NODE_FIELD(context_item); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(passing); + COMPARE_NODE_FIELD(output); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(quotes); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTablePathSpec(const JsonTablePathSpec *a, const JsonTablePathSpec *b) +{ + COMPARE_NODE_FIELD(string); + COMPARE_STRING_FIELD(name); + COMPARE_LOCATION_FIELD(name_location); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTable(const JsonTable *a, const JsonTable *b) { + COMPARE_NODE_FIELD(context_item); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(passing); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(on_error); + COMPARE_NODE_FIELD(alias); + COMPARE_SCALAR_FIELD(lateral); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTableColumn(const JsonTableColumn *a, const JsonTableColumn *b) +{ + COMPARE_SCALAR_FIELD(coltype); + COMPARE_STRING_FIELD(name); COMPARE_NODE_FIELD(typeName); - COMPARE_NODE_FIELD(returning); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(format); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(quotes); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_LOCATION_FIELD(location); return true; } @@ -1449,6 +1617,37 @@ _equalJsonKeyValue(const JsonKeyValue *a, const JsonKeyValue *b) return true; } +static bool +_equalJsonParseExpr(const JsonParseExpr *a, const JsonParseExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_SCALAR_FIELD(unique_keys); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonScalarExpr(const JsonScalarExpr *a, const JsonScalarExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonSerializeExpr(const JsonSerializeExpr *a, const JsonSerializeExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_LOCATION_FIELD(location); + + return true; +} + static bool _equalJsonObjectConstructor(const JsonObjectConstructor *a, const JsonObjectConstructor *b) { @@ -1522,7 +1721,7 @@ _equalRawStmt(const RawStmt *a, const RawStmt *b) { COMPARE_NODE_FIELD(stmt); COMPARE_LOCATION_FIELD(stmt_location); - COMPARE_SCALAR_FIELD(stmt_len); + COMPARE_LOCATION_FIELD(stmt_len); return true; } @@ -1573,6 +1772,7 @@ _equalMergeStmt(const MergeStmt *a, const MergeStmt *b) COMPARE_NODE_FIELD(sourceRelation); COMPARE_NODE_FIELD(joinCondition); COMPARE_NODE_FIELD(mergeWhenClauses); + COMPARE_NODE_FIELD(returningList); COMPARE_NODE_FIELD(withClause); return true; @@ -1825,11 +2025,13 @@ _equalConstraint(const Constraint *a, const Constraint *b) COMPARE_STRING_FIELD(conname); COMPARE_SCALAR_FIELD(deferrable); COMPARE_SCALAR_FIELD(initdeferred); - COMPARE_LOCATION_FIELD(location); + COMPARE_SCALAR_FIELD(skip_validation); + COMPARE_SCALAR_FIELD(initially_valid); COMPARE_SCALAR_FIELD(is_no_inherit); COMPARE_NODE_FIELD(raw_expr); COMPARE_STRING_FIELD(cooked_expr); COMPARE_SCALAR_FIELD(generated_when); + COMPARE_SCALAR_FIELD(inhcount); COMPARE_SCALAR_FIELD(nulls_not_distinct); COMPARE_NODE_FIELD(keys); COMPARE_NODE_FIELD(including); @@ -1849,8 +2051,7 @@ _equalConstraint(const Constraint *a, const Constraint *b) COMPARE_NODE_FIELD(fk_del_set_cols); COMPARE_NODE_FIELD(old_conpfeqop); COMPARE_SCALAR_FIELD(old_pktable_oid); - COMPARE_SCALAR_FIELD(skip_validation); - COMPARE_SCALAR_FIELD(initially_valid); + COMPARE_LOCATION_FIELD(location); return true; } @@ -2390,7 +2591,7 @@ static bool _equalAlterStatsStmt(const AlterStatsStmt *a, const AlterStatsStmt *b) { COMPARE_NODE_FIELD(defnames); - COMPARE_SCALAR_FIELD(stxstattarget); + COMPARE_NODE_FIELD(stxstattarget); COMPARE_SCALAR_FIELD(missing_ok); return true; @@ -2564,6 +2765,7 @@ _equalTransactionStmt(const TransactionStmt *a, const TransactionStmt *b) COMPARE_STRING_FIELD(savepoint_name); COMPARE_STRING_FIELD(gid); COMPARE_SCALAR_FIELD(chain); + COMPARE_LOCATION_FIELD(location); return true; } @@ -2847,6 +3049,8 @@ static bool _equalDeallocateStmt(const DeallocateStmt *a, const DeallocateStmt *b) { COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(isall); + COMPARE_LOCATION_FIELD(location); return true; } @@ -2980,6 +3184,15 @@ _equalPathKey(const PathKey *a, const PathKey *b) return true; } +static bool +_equalGroupByOrdering(const GroupByOrdering *a, const GroupByOrdering *b) +{ + COMPARE_NODE_FIELD(pathkeys); + COMPARE_NODE_FIELD(clauses); + + return true; +} + static bool _equalRestrictInfo(const RestrictInfo *a, const RestrictInfo *b) { diff --git a/parser/include/postgres/equalfuncs.switch.c b/parser/include/postgres/equalfuncs.switch.c index 6fde221e..0736451e 100644 --- a/parser/include/postgres/equalfuncs.switch.c +++ b/parser/include/postgres/equalfuncs.switch.c @@ -3,7 +3,7 @@ * equalfuncs.switch.c * Generated node infrastructure code * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -45,6 +45,12 @@ case T_WindowFunc: retval = _equalWindowFunc(a, b); break; + case T_WindowFuncRunCondition: + retval = _equalWindowFuncRunCondition(a, b); + break; + case T_MergeSupportFunc: + retval = _equalMergeSupportFunc(a, b); + break; case T_SubscriptingRef: retval = _equalSubscriptingRef(a, b); break; @@ -144,12 +150,30 @@ case T_JsonIsPredicate: retval = _equalJsonIsPredicate(a, b); break; + case T_JsonBehavior: + retval = _equalJsonBehavior(a, b); + break; + case T_JsonExpr: + retval = _equalJsonExpr(a, b); + break; + case T_JsonTablePath: + retval = _equalJsonTablePath(a, b); + break; + case T_JsonTablePathScan: + retval = _equalJsonTablePathScan(a, b); + break; + case T_JsonTableSiblingJoin: + retval = _equalJsonTableSiblingJoin(a, b); + break; case T_NullTest: retval = _equalNullTest(a, b); break; case T_BooleanTest: retval = _equalBooleanTest(a, b); break; + case T_MergeAction: + retval = _equalMergeAction(a, b); + break; case T_CoerceToDomain: retval = _equalCoerceToDomain(a, b); break; @@ -282,6 +306,9 @@ case T_PartitionRangeDatum: retval = _equalPartitionRangeDatum(a, b); break; + case T_SinglePartitionSpec: + retval = _equalSinglePartitionSpec(a, b); + break; case T_PartitionCmd: retval = _equalPartitionCmd(a, b); break; @@ -333,18 +360,39 @@ case T_MergeWhenClause: retval = _equalMergeWhenClause(a, b); break; - case T_MergeAction: - retval = _equalMergeAction(a, b); - break; case T_TriggerTransition: retval = _equalTriggerTransition(a, b); break; case T_JsonOutput: retval = _equalJsonOutput(a, b); break; + case T_JsonArgument: + retval = _equalJsonArgument(a, b); + break; + case T_JsonFuncExpr: + retval = _equalJsonFuncExpr(a, b); + break; + case T_JsonTablePathSpec: + retval = _equalJsonTablePathSpec(a, b); + break; + case T_JsonTable: + retval = _equalJsonTable(a, b); + break; + case T_JsonTableColumn: + retval = _equalJsonTableColumn(a, b); + break; case T_JsonKeyValue: retval = _equalJsonKeyValue(a, b); break; + case T_JsonParseExpr: + retval = _equalJsonParseExpr(a, b); + break; + case T_JsonScalarExpr: + retval = _equalJsonScalarExpr(a, b); + break; + case T_JsonSerializeExpr: + retval = _equalJsonSerializeExpr(a, b); + break; case T_JsonObjectConstructor: retval = _equalJsonObjectConstructor(a, b); break; @@ -747,6 +795,9 @@ case T_PathKey: retval = _equalPathKey(a, b); break; + case T_GroupByOrdering: + retval = _equalGroupByOrdering(a, b); + break; case T_RestrictInfo: retval = _equalRestrictInfo(a, b); break; diff --git a/parser/include/postgres/executor/execdesc.h b/parser/include/postgres/executor/execdesc.h index af2bf36d..0a7274e2 100644 --- a/parser/include/postgres/executor/execdesc.h +++ b/parser/include/postgres/executor/execdesc.h @@ -5,7 +5,7 @@ * and related modules. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/execdesc.h diff --git a/parser/include/postgres/executor/executor.h b/parser/include/postgres/executor/executor.h index ac022479..9770752e 100644 --- a/parser/include/postgres/executor/executor.h +++ b/parser/include/postgres/executor/executor.h @@ -4,7 +4,7 @@ * support for the POSTGRES executor module * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/executor.h @@ -210,7 +210,8 @@ extern void standard_ExecutorEnd(QueryDesc *queryDesc); extern void ExecutorRewind(QueryDesc *queryDesc); extern bool ExecCheckPermissions(List *rangeTable, List *rteperminfos, bool ereport_on_violation); -extern void CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation); +extern void CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation, + List *mergeActions); extern void InitResultRelInfo(ResultRelInfo *resultRelInfo, Relation resultRelationDesc, Index resultRelationIndex, @@ -509,7 +510,7 @@ typedef struct TupOutputState extern TupOutputState *begin_tup_output_tupdesc(DestReceiver *dest, TupleDesc tupdesc, const TupleTableSlotOps *tts_ops); -extern void do_tup_output(TupOutputState *tstate, Datum *values, bool *isnull); +extern void do_tup_output(TupOutputState *tstate, const Datum *values, const bool *isnull); extern void do_text_output_multiline(TupOutputState *tstate, const char *txt); extern void end_tup_output(TupOutputState *tstate); @@ -569,7 +570,6 @@ extern void ExecAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc); extern void ExecConditionalAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc, int varno); -extern void ExecFreeExprContext(PlanState *planstate); extern void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc); extern void ExecCreateScanSlotFromOuterPlan(EState *estate, ScanState *scanstate, @@ -640,12 +640,13 @@ extern bool ExecCheckIndexConstraints(ResultRelInfo *resultRelInfo, extern void check_exclusion_constraint(Relation heap, Relation index, IndexInfo *indexInfo, ItemPointer tupleid, - Datum *values, bool *isnull, + const Datum *values, const bool *isnull, EState *estate, bool newIndex); /* * prototypes from functions in execReplication.c */ +extern StrategyNumber get_equal_strategy_number_for_am(Oid am); extern bool RelationFindReplTupleByIndex(Relation rel, Oid idxoid, LockTupleMode lockmode, TupleTableSlot *searchslot, diff --git a/parser/include/postgres/executor/functions.h b/parser/include/postgres/executor/functions.h index 5d9f3256..27f948c6 100644 --- a/parser/include/postgres/executor/functions.h +++ b/parser/include/postgres/executor/functions.h @@ -4,7 +4,7 @@ * Declarations for execution of SQL-language functions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/functions.h @@ -47,6 +47,7 @@ extern void check_sql_fn_statements(List *queryTreeLists); extern bool check_sql_fn_retval(List *queryTreeLists, Oid rettype, TupleDesc rettupdesc, + char prokind, bool insertDroppedCols, List **resultTargetList); diff --git a/parser/include/postgres/executor/instrument.h b/parser/include/postgres/executor/instrument.h index 87e5e218..bfd7b6d8 100644 --- a/parser/include/postgres/executor/instrument.h +++ b/parser/include/postgres/executor/instrument.h @@ -4,7 +4,7 @@ * definitions for run-time statistics collection * * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/executor/instrument.h * @@ -33,8 +33,10 @@ typedef struct BufferUsage int64 local_blks_written; /* # of local disk blocks written */ int64 temp_blks_read; /* # of temp blocks read */ int64 temp_blks_written; /* # of temp blocks written */ - instr_time blk_read_time; /* time spent reading blocks */ - instr_time blk_write_time; /* time spent writing blocks */ + instr_time shared_blk_read_time; /* time spent reading shared blocks */ + instr_time shared_blk_write_time; /* time spent writing shared blocks */ + instr_time local_blk_read_time; /* time spent reading local blocks */ + instr_time local_blk_write_time; /* time spent writing local blocks */ instr_time temp_blk_read_time; /* time spent reading temp blocks */ instr_time temp_blk_write_time; /* time spent writing temp blocks */ } BufferUsage; diff --git a/parser/include/postgres/executor/spi.h b/parser/include/postgres/executor/spi.h index d1de139a..48b87730 100644 --- a/parser/include/postgres/executor/spi.h +++ b/parser/include/postgres/executor/spi.h @@ -3,7 +3,7 @@ * spi.h * Server Programming Interface public declarations * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/spi.h @@ -97,16 +97,10 @@ typedef struct _SPI_plan *SPIPlanPtr; #define SPI_OK_REL_UNREGISTER 16 #define SPI_OK_TD_REGISTER 17 #define SPI_OK_MERGE 18 +#define SPI_OK_MERGE_RETURNING 19 #define SPI_OPT_NONATOMIC (1 << 0) -/* These used to be functions, now just no-ops for backwards compatibility */ -#define SPI_push() ((void) 0) -#define SPI_pop() ((void) 0) -#define SPI_push_conditional() false -#define SPI_pop_conditional(pushed) ((void) 0) -#define SPI_restore_connection() ((void) 0) - extern PGDLLIMPORT uint64 SPI_processed; extern PGDLLIMPORT SPITupleTable *SPI_tuptable; extern PGDLLIMPORT int SPI_result; diff --git a/parser/include/postgres/executor/tablefunc.h b/parser/include/postgres/executor/tablefunc.h index ca235ae1..f8ceef38 100644 --- a/parser/include/postgres/executor/tablefunc.h +++ b/parser/include/postgres/executor/tablefunc.h @@ -3,7 +3,7 @@ * tablefunc.h * interface for TableFunc executor node * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/tablefunc.h diff --git a/parser/include/postgres/executor/tuptable.h b/parser/include/postgres/executor/tuptable.h index 4210d6d8..b82655e7 100644 --- a/parser/include/postgres/executor/tuptable.h +++ b/parser/include/postgres/executor/tuptable.h @@ -4,7 +4,7 @@ * tuple table support stuff * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/tuptable.h @@ -166,6 +166,12 @@ struct TupleTableSlotOps */ Datum (*getsysattr) (TupleTableSlot *slot, int attnum, bool *isnull); + /* + * Check if the tuple is created by the current transaction. Throws an + * error if the slot doesn't contain the storage tuple. + */ + bool (*is_current_xact_tuple) (TupleTableSlot *slot); + /* * Make the contents of the slot solely depend on the slot, and not on * underlying resources (like another memory context, buffers, etc). @@ -174,7 +180,8 @@ struct TupleTableSlotOps /* * Copy the contents of the source slot into the destination slot's own - * context. Invoked using callback of the destination slot. + * context. Invoked using callback of the destination slot. 'dstslot' and + * 'srcslot' can be assumed to have the same number of attributes. */ void (*copyslot) (TupleTableSlot *dstslot, TupleTableSlot *srcslot); @@ -425,6 +432,21 @@ slot_getsysattr(TupleTableSlot *slot, int attnum, bool *isnull) return slot->tts_ops->getsysattr(slot, attnum, isnull); } +/* + * slot_is_current_xact_tuple - check if the slot's current tuple is created + * by the current transaction. + * + * If the slot does not contain a storage tuple, this will throw an error. + * Hence before calling this function, callers should make sure that the + * slot type supports storage tuples and that there is currently one inside + * the slot. + */ +static inline bool +slot_is_current_xact_tuple(TupleTableSlot *slot) +{ + return slot->tts_ops->is_current_xact_tuple(slot); +} + /* * ExecClearTuple - clear the slot's contents */ @@ -477,12 +499,19 @@ ExecCopySlotMinimalTuple(TupleTableSlot *slot) * * If a source's system attributes are supposed to be accessed in the target * slot, the target slot and source slot types need to match. + * + * Currently, 'dstslot' and 'srcslot' must have the same number of attributes. + * Future work could see this relaxed to allow the source to contain + * additional attributes and have the code here only copy over the leading + * attributes. */ static inline TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot) { Assert(!TTS_EMPTY(srcslot)); Assert(srcslot != dstslot); + Assert(dstslot->tts_tupleDescriptor->natts == + srcslot->tts_tupleDescriptor->natts); dstslot->tts_ops->copyslot(dstslot, srcslot); diff --git a/parser/include/postgres/fmgr.h b/parser/include/postgres/fmgr.h index b120f5e7..ccb4070a 100644 --- a/parser/include/postgres/fmgr.h +++ b/parser/include/postgres/fmgr.h @@ -8,7 +8,7 @@ * or call fmgr-callable functions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/fmgr.h @@ -783,7 +783,7 @@ typedef enum FmgrHookEventType { FHET_START, FHET_END, - FHET_ABORT + FHET_ABORT, } FmgrHookEventType; typedef bool (*needs_fmgr_hook_type) (Oid fn_oid); diff --git a/parser/include/postgres/foreign/fdwapi.h b/parser/include/postgres/foreign/fdwapi.h index 996c62e3..fcde3876 100644 --- a/parser/include/postgres/foreign/fdwapi.h +++ b/parser/include/postgres/foreign/fdwapi.h @@ -3,7 +3,7 @@ * fdwapi.h * API for foreign-data wrappers * - * Copyright (c) 2010-2023, PostgreSQL Global Development Group + * Copyright (c) 2010-2024, PostgreSQL Global Development Group * * src/include/foreign/fdwapi.h * diff --git a/parser/include/postgres/funcapi.h b/parser/include/postgres/funcapi.h index cc0cca32..1529549a 100644 --- a/parser/include/postgres/funcapi.h +++ b/parser/include/postgres/funcapi.h @@ -8,7 +8,7 @@ * or call FUNCAPI-callable functions or macros. * * - * Copyright (c) 2002-2023, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * * src/include/funcapi.h * @@ -149,7 +149,7 @@ typedef enum TypeFuncClass TYPEFUNC_COMPOSITE, /* determinable rowtype result */ TYPEFUNC_COMPOSITE_DOMAIN, /* domain over determinable rowtype result */ TYPEFUNC_RECORD, /* indeterminate rowtype result */ - TYPEFUNC_OTHER /* bogus type, eg pseudotype */ + TYPEFUNC_OTHER, /* bogus type, eg pseudotype */ } TypeFuncClass; extern TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, diff --git a/parser/include/postgres/gram.h b/parser/include/postgres/gram.h index dfbd2c40..1ef12f33 100644 --- a/parser/include/postgres/gram.h +++ b/parser/include/postgres/gram.h @@ -126,420 +126,440 @@ COMMITTED = 342, COMPRESSION = 343, CONCURRENTLY = 344, - CONFIGURATION = 345, - CONFLICT = 346, - CONNECTION = 347, - CONSTRAINT = 348, - CONSTRAINTS = 349, - CONTENT_P = 350, - CONTINUE_P = 351, - CONVERSION_P = 352, - COPY = 353, - COST = 354, - CREATE = 355, - CROSS = 356, - CSV = 357, - CUBE = 358, - CURRENT_P = 359, - CURRENT_CATALOG = 360, - CURRENT_DATE = 361, - CURRENT_ROLE = 362, - CURRENT_SCHEMA = 363, - CURRENT_TIME = 364, - CURRENT_TIMESTAMP = 365, - CURRENT_USER = 366, - CURSOR = 367, - CYCLE = 368, - DATA_P = 369, - DATABASE = 370, - DAY_P = 371, - DEALLOCATE = 372, - DEC = 373, - DECIMAL_P = 374, - DECLARE = 375, - DEFAULT = 376, - DEFAULTS = 377, - DEFERRABLE = 378, - DEFERRED = 379, - DEFINER = 380, - DELETE_P = 381, - DELIMITER = 382, - DELIMITERS = 383, - DEPENDS = 384, - DEPTH = 385, - DESC = 386, - DETACH = 387, - DICTIONARY = 388, - DISABLE_P = 389, - DISCARD = 390, - DISTINCT = 391, - DO = 392, - DOCUMENT_P = 393, - DOMAIN_P = 394, - DOUBLE_P = 395, - DROP = 396, - EACH = 397, - ELSE = 398, - ENABLE_P = 399, - ENCODING = 400, - ENCRYPTED = 401, - END_P = 402, - ENUM_P = 403, - ESCAPE = 404, - EVENT = 405, - EXCEPT = 406, - EXCLUDE = 407, - EXCLUDING = 408, - EXCLUSIVE = 409, - EXECUTE = 410, - EXISTS = 411, - EXPLAIN = 412, - EXPRESSION = 413, - EXTENSION = 414, - EXTERNAL = 415, - EXTRACT = 416, - FALSE_P = 417, - FAMILY = 418, - FETCH = 419, - FILTER = 420, - FINALIZE = 421, - FIRST_P = 422, - FLOAT_P = 423, - FOLLOWING = 424, - FOR = 425, - FORCE = 426, - FOREIGN = 427, - FORMAT = 428, - FORWARD = 429, - FREEZE = 430, - FROM = 431, - FULL = 432, - FUNCTION = 433, - FUNCTIONS = 434, - GENERATED = 435, - GLOBAL = 436, - GRANT = 437, - GRANTED = 438, - GREATEST = 439, - GROUP_P = 440, - GROUPING = 441, - GROUPS = 442, - HANDLER = 443, - HAVING = 444, - HEADER_P = 445, - HOLD = 446, - HOUR_P = 447, - IDENTITY_P = 448, - IF_P = 449, - ILIKE = 450, - IMMEDIATE = 451, - IMMUTABLE = 452, - IMPLICIT_P = 453, - IMPORT_P = 454, - IN_P = 455, - INCLUDE = 456, - INCLUDING = 457, - INCREMENT = 458, - INDENT = 459, - INDEX = 460, - INDEXES = 461, - INHERIT = 462, - INHERITS = 463, - INITIALLY = 464, - INLINE_P = 465, - INNER_P = 466, - INOUT = 467, - INPUT_P = 468, - INSENSITIVE = 469, - INSERT = 470, - INSTEAD = 471, - INT_P = 472, - INTEGER = 473, - INTERSECT = 474, - INTERVAL = 475, - INTO = 476, - INVOKER = 477, - IS = 478, - ISNULL = 479, - ISOLATION = 480, - JOIN = 481, - JSON = 482, - JSON_ARRAY = 483, - JSON_ARRAYAGG = 484, - JSON_OBJECT = 485, - JSON_OBJECTAGG = 486, - KEY = 487, - KEYS = 488, - LABEL = 489, - LANGUAGE = 490, - LARGE_P = 491, - LAST_P = 492, - LATERAL_P = 493, - LEADING = 494, - LEAKPROOF = 495, - LEAST = 496, - LEFT = 497, - LEVEL = 498, - LIKE = 499, - LIMIT = 500, - LISTEN = 501, - LOAD = 502, - LOCAL = 503, - LOCALTIME = 504, - LOCALTIMESTAMP = 505, - LOCATION = 506, - LOCK_P = 507, - LOCKED = 508, - LOGGED = 509, - MAPPING = 510, - MATCH = 511, - MATCHED = 512, - MATERIALIZED = 513, - MAXVALUE = 514, - MERGE = 515, - METHOD = 516, - MINUTE_P = 517, - MINVALUE = 518, - MODE = 519, - MONTH_P = 520, - MOVE = 521, - NAME_P = 522, - NAMES = 523, - NATIONAL = 524, - NATURAL = 525, - NCHAR = 526, - NEW = 527, - NEXT = 528, - NFC = 529, - NFD = 530, - NFKC = 531, - NFKD = 532, - NO = 533, - NONE = 534, - NORMALIZE = 535, - NORMALIZED = 536, - NOT = 537, - NOTHING = 538, - NOTIFY = 539, - NOTNULL = 540, - NOWAIT = 541, - NULL_P = 542, - NULLIF = 543, - NULLS_P = 544, - NUMERIC = 545, - OBJECT_P = 546, - OF = 547, - OFF = 548, - OFFSET = 549, - OIDS = 550, - OLD = 551, - ON = 552, - ONLY = 553, - OPERATOR = 554, - OPTION = 555, - OPTIONS = 556, - OR = 557, - ORDER = 558, - ORDINALITY = 559, - OTHERS = 560, - OUT_P = 561, - OUTER_P = 562, - OVER = 563, - OVERLAPS = 564, - OVERLAY = 565, - OVERRIDING = 566, - OWNED = 567, - OWNER = 568, - PARALLEL = 569, - PARAMETER = 570, - PARSER = 571, - PARTIAL = 572, - PARTITION = 573, - PASSING = 574, - PASSWORD = 575, - PLACING = 576, - PLANS = 577, - POLICY = 578, - POSITION = 579, - PRECEDING = 580, - PRECISION = 581, - PRESERVE = 582, - PREPARE = 583, - PREPARED = 584, - PRIMARY = 585, - PRIOR = 586, - PRIVILEGES = 587, - PROCEDURAL = 588, - PROCEDURE = 589, - PROCEDURES = 590, - PROGRAM = 591, - PUBLICATION = 592, - QUOTE = 593, - RANGE = 594, - READ = 595, - REAL = 596, - REASSIGN = 597, - RECHECK = 598, - RECURSIVE = 599, - REF_P = 600, - REFERENCES = 601, - REFERENCING = 602, - REFRESH = 603, - REINDEX = 604, - RELATIVE_P = 605, - RELEASE = 606, - RENAME = 607, - REPEATABLE = 608, - REPLACE = 609, - REPLICA = 610, - RESET = 611, - RESTART = 612, - RESTRICT = 613, - RETURN = 614, - RETURNING = 615, - RETURNS = 616, - REVOKE = 617, - RIGHT = 618, - ROLE = 619, - ROLLBACK = 620, - ROLLUP = 621, - ROUTINE = 622, - ROUTINES = 623, - ROW = 624, - ROWS = 625, - RULE = 626, - SAVEPOINT = 627, - SCALAR = 628, - SCHEMA = 629, - SCHEMAS = 630, - SCROLL = 631, - SEARCH = 632, - SECOND_P = 633, - SECURITY = 634, - SELECT = 635, - SEQUENCE = 636, - SEQUENCES = 637, - SERIALIZABLE = 638, - SERVER = 639, - SESSION = 640, - SESSION_USER = 641, - SET = 642, - SETS = 643, - SETOF = 644, - SHARE = 645, - SHOW = 646, - SIMILAR = 647, - SIMPLE = 648, - SKIP = 649, - SMALLINT = 650, - SNAPSHOT = 651, - SOME = 652, - SQL_P = 653, - STABLE = 654, - STANDALONE_P = 655, - START = 656, - STATEMENT = 657, - STATISTICS = 658, - STDIN = 659, - STDOUT = 660, - STORAGE = 661, - STORED = 662, - STRICT_P = 663, - STRIP_P = 664, - SUBSCRIPTION = 665, - SUBSTRING = 666, - SUPPORT = 667, - SYMMETRIC = 668, - SYSID = 669, - SYSTEM_P = 670, - SYSTEM_USER = 671, - TABLE = 672, - TABLES = 673, - TABLESAMPLE = 674, - TABLESPACE = 675, - TEMP = 676, - TEMPLATE = 677, - TEMPORARY = 678, - TEXT_P = 679, - THEN = 680, - TIES = 681, - TIME = 682, - TIMESTAMP = 683, - TO = 684, - TRAILING = 685, - TRANSACTION = 686, - TRANSFORM = 687, - TREAT = 688, - TRIGGER = 689, - TRIM = 690, - TRUE_P = 691, - TRUNCATE = 692, - TRUSTED = 693, - TYPE_P = 694, - TYPES_P = 695, - UESCAPE = 696, - UNBOUNDED = 697, - UNCOMMITTED = 698, - UNENCRYPTED = 699, - UNION = 700, - UNIQUE = 701, - UNKNOWN = 702, - UNLISTEN = 703, - UNLOGGED = 704, - UNTIL = 705, - UPDATE = 706, - USER = 707, - USING = 708, - VACUUM = 709, - VALID = 710, - VALIDATE = 711, - VALIDATOR = 712, - VALUE_P = 713, - VALUES = 714, - VARCHAR = 715, - VARIADIC = 716, - VARYING = 717, - VERBOSE = 718, - VERSION_P = 719, - VIEW = 720, - VIEWS = 721, - VOLATILE = 722, - WHEN = 723, - WHERE = 724, - WHITESPACE_P = 725, - WINDOW = 726, - WITH = 727, - WITHIN = 728, - WITHOUT = 729, - WORK = 730, - WRAPPER = 731, - WRITE = 732, - XML_P = 733, - XMLATTRIBUTES = 734, - XMLCONCAT = 735, - XMLELEMENT = 736, - XMLEXISTS = 737, - XMLFOREST = 738, - XMLNAMESPACES = 739, - XMLPARSE = 740, - XMLPI = 741, - XMLROOT = 742, - XMLSERIALIZE = 743, - XMLTABLE = 744, - YEAR_P = 745, - YES_P = 746, - ZONE = 747, - FORMAT_LA = 748, - NOT_LA = 749, - NULLS_LA = 750, - WITH_LA = 751, - WITHOUT_LA = 752, - MODE_TYPE_NAME = 753, - MODE_PLPGSQL_EXPR = 754, - MODE_PLPGSQL_ASSIGN1 = 755, - MODE_PLPGSQL_ASSIGN2 = 756, - MODE_PLPGSQL_ASSIGN3 = 757, - UMINUS = 758 + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778 }; #endif /* Tokens. */ @@ -630,427 +650,447 @@ #define COMMITTED 342 #define COMPRESSION 343 #define CONCURRENTLY 344 -#define CONFIGURATION 345 -#define CONFLICT 346 -#define CONNECTION 347 -#define CONSTRAINT 348 -#define CONSTRAINTS 349 -#define CONTENT_P 350 -#define CONTINUE_P 351 -#define CONVERSION_P 352 -#define COPY 353 -#define COST 354 -#define CREATE 355 -#define CROSS 356 -#define CSV 357 -#define CUBE 358 -#define CURRENT_P 359 -#define CURRENT_CATALOG 360 -#define CURRENT_DATE 361 -#define CURRENT_ROLE 362 -#define CURRENT_SCHEMA 363 -#define CURRENT_TIME 364 -#define CURRENT_TIMESTAMP 365 -#define CURRENT_USER 366 -#define CURSOR 367 -#define CYCLE 368 -#define DATA_P 369 -#define DATABASE 370 -#define DAY_P 371 -#define DEALLOCATE 372 -#define DEC 373 -#define DECIMAL_P 374 -#define DECLARE 375 -#define DEFAULT 376 -#define DEFAULTS 377 -#define DEFERRABLE 378 -#define DEFERRED 379 -#define DEFINER 380 -#define DELETE_P 381 -#define DELIMITER 382 -#define DELIMITERS 383 -#define DEPENDS 384 -#define DEPTH 385 -#define DESC 386 -#define DETACH 387 -#define DICTIONARY 388 -#define DISABLE_P 389 -#define DISCARD 390 -#define DISTINCT 391 -#define DO 392 -#define DOCUMENT_P 393 -#define DOMAIN_P 394 -#define DOUBLE_P 395 -#define DROP 396 -#define EACH 397 -#define ELSE 398 -#define ENABLE_P 399 -#define ENCODING 400 -#define ENCRYPTED 401 -#define END_P 402 -#define ENUM_P 403 -#define ESCAPE 404 -#define EVENT 405 -#define EXCEPT 406 -#define EXCLUDE 407 -#define EXCLUDING 408 -#define EXCLUSIVE 409 -#define EXECUTE 410 -#define EXISTS 411 -#define EXPLAIN 412 -#define EXPRESSION 413 -#define EXTENSION 414 -#define EXTERNAL 415 -#define EXTRACT 416 -#define FALSE_P 417 -#define FAMILY 418 -#define FETCH 419 -#define FILTER 420 -#define FINALIZE 421 -#define FIRST_P 422 -#define FLOAT_P 423 -#define FOLLOWING 424 -#define FOR 425 -#define FORCE 426 -#define FOREIGN 427 -#define FORMAT 428 -#define FORWARD 429 -#define FREEZE 430 -#define FROM 431 -#define FULL 432 -#define FUNCTION 433 -#define FUNCTIONS 434 -#define GENERATED 435 -#define GLOBAL 436 -#define GRANT 437 -#define GRANTED 438 -#define GREATEST 439 -#define GROUP_P 440 -#define GROUPING 441 -#define GROUPS 442 -#define HANDLER 443 -#define HAVING 444 -#define HEADER_P 445 -#define HOLD 446 -#define HOUR_P 447 -#define IDENTITY_P 448 -#define IF_P 449 -#define ILIKE 450 -#define IMMEDIATE 451 -#define IMMUTABLE 452 -#define IMPLICIT_P 453 -#define IMPORT_P 454 -#define IN_P 455 -#define INCLUDE 456 -#define INCLUDING 457 -#define INCREMENT 458 -#define INDENT 459 -#define INDEX 460 -#define INDEXES 461 -#define INHERIT 462 -#define INHERITS 463 -#define INITIALLY 464 -#define INLINE_P 465 -#define INNER_P 466 -#define INOUT 467 -#define INPUT_P 468 -#define INSENSITIVE 469 -#define INSERT 470 -#define INSTEAD 471 -#define INT_P 472 -#define INTEGER 473 -#define INTERSECT 474 -#define INTERVAL 475 -#define INTO 476 -#define INVOKER 477 -#define IS 478 -#define ISNULL 479 -#define ISOLATION 480 -#define JOIN 481 -#define JSON 482 -#define JSON_ARRAY 483 -#define JSON_ARRAYAGG 484 -#define JSON_OBJECT 485 -#define JSON_OBJECTAGG 486 -#define KEY 487 -#define KEYS 488 -#define LABEL 489 -#define LANGUAGE 490 -#define LARGE_P 491 -#define LAST_P 492 -#define LATERAL_P 493 -#define LEADING 494 -#define LEAKPROOF 495 -#define LEAST 496 -#define LEFT 497 -#define LEVEL 498 -#define LIKE 499 -#define LIMIT 500 -#define LISTEN 501 -#define LOAD 502 -#define LOCAL 503 -#define LOCALTIME 504 -#define LOCALTIMESTAMP 505 -#define LOCATION 506 -#define LOCK_P 507 -#define LOCKED 508 -#define LOGGED 509 -#define MAPPING 510 -#define MATCH 511 -#define MATCHED 512 -#define MATERIALIZED 513 -#define MAXVALUE 514 -#define MERGE 515 -#define METHOD 516 -#define MINUTE_P 517 -#define MINVALUE 518 -#define MODE 519 -#define MONTH_P 520 -#define MOVE 521 -#define NAME_P 522 -#define NAMES 523 -#define NATIONAL 524 -#define NATURAL 525 -#define NCHAR 526 -#define NEW 527 -#define NEXT 528 -#define NFC 529 -#define NFD 530 -#define NFKC 531 -#define NFKD 532 -#define NO 533 -#define NONE 534 -#define NORMALIZE 535 -#define NORMALIZED 536 -#define NOT 537 -#define NOTHING 538 -#define NOTIFY 539 -#define NOTNULL 540 -#define NOWAIT 541 -#define NULL_P 542 -#define NULLIF 543 -#define NULLS_P 544 -#define NUMERIC 545 -#define OBJECT_P 546 -#define OF 547 -#define OFF 548 -#define OFFSET 549 -#define OIDS 550 -#define OLD 551 -#define ON 552 -#define ONLY 553 -#define OPERATOR 554 -#define OPTION 555 -#define OPTIONS 556 -#define OR 557 -#define ORDER 558 -#define ORDINALITY 559 -#define OTHERS 560 -#define OUT_P 561 -#define OUTER_P 562 -#define OVER 563 -#define OVERLAPS 564 -#define OVERLAY 565 -#define OVERRIDING 566 -#define OWNED 567 -#define OWNER 568 -#define PARALLEL 569 -#define PARAMETER 570 -#define PARSER 571 -#define PARTIAL 572 -#define PARTITION 573 -#define PASSING 574 -#define PASSWORD 575 -#define PLACING 576 -#define PLANS 577 -#define POLICY 578 -#define POSITION 579 -#define PRECEDING 580 -#define PRECISION 581 -#define PRESERVE 582 -#define PREPARE 583 -#define PREPARED 584 -#define PRIMARY 585 -#define PRIOR 586 -#define PRIVILEGES 587 -#define PROCEDURAL 588 -#define PROCEDURE 589 -#define PROCEDURES 590 -#define PROGRAM 591 -#define PUBLICATION 592 -#define QUOTE 593 -#define RANGE 594 -#define READ 595 -#define REAL 596 -#define REASSIGN 597 -#define RECHECK 598 -#define RECURSIVE 599 -#define REF_P 600 -#define REFERENCES 601 -#define REFERENCING 602 -#define REFRESH 603 -#define REINDEX 604 -#define RELATIVE_P 605 -#define RELEASE 606 -#define RENAME 607 -#define REPEATABLE 608 -#define REPLACE 609 -#define REPLICA 610 -#define RESET 611 -#define RESTART 612 -#define RESTRICT 613 -#define RETURN 614 -#define RETURNING 615 -#define RETURNS 616 -#define REVOKE 617 -#define RIGHT 618 -#define ROLE 619 -#define ROLLBACK 620 -#define ROLLUP 621 -#define ROUTINE 622 -#define ROUTINES 623 -#define ROW 624 -#define ROWS 625 -#define RULE 626 -#define SAVEPOINT 627 -#define SCALAR 628 -#define SCHEMA 629 -#define SCHEMAS 630 -#define SCROLL 631 -#define SEARCH 632 -#define SECOND_P 633 -#define SECURITY 634 -#define SELECT 635 -#define SEQUENCE 636 -#define SEQUENCES 637 -#define SERIALIZABLE 638 -#define SERVER 639 -#define SESSION 640 -#define SESSION_USER 641 -#define SET 642 -#define SETS 643 -#define SETOF 644 -#define SHARE 645 -#define SHOW 646 -#define SIMILAR 647 -#define SIMPLE 648 -#define SKIP 649 -#define SMALLINT 650 -#define SNAPSHOT 651 -#define SOME 652 -#define SQL_P 653 -#define STABLE 654 -#define STANDALONE_P 655 -#define START 656 -#define STATEMENT 657 -#define STATISTICS 658 -#define STDIN 659 -#define STDOUT 660 -#define STORAGE 661 -#define STORED 662 -#define STRICT_P 663 -#define STRIP_P 664 -#define SUBSCRIPTION 665 -#define SUBSTRING 666 -#define SUPPORT 667 -#define SYMMETRIC 668 -#define SYSID 669 -#define SYSTEM_P 670 -#define SYSTEM_USER 671 -#define TABLE 672 -#define TABLES 673 -#define TABLESAMPLE 674 -#define TABLESPACE 675 -#define TEMP 676 -#define TEMPLATE 677 -#define TEMPORARY 678 -#define TEXT_P 679 -#define THEN 680 -#define TIES 681 -#define TIME 682 -#define TIMESTAMP 683 -#define TO 684 -#define TRAILING 685 -#define TRANSACTION 686 -#define TRANSFORM 687 -#define TREAT 688 -#define TRIGGER 689 -#define TRIM 690 -#define TRUE_P 691 -#define TRUNCATE 692 -#define TRUSTED 693 -#define TYPE_P 694 -#define TYPES_P 695 -#define UESCAPE 696 -#define UNBOUNDED 697 -#define UNCOMMITTED 698 -#define UNENCRYPTED 699 -#define UNION 700 -#define UNIQUE 701 -#define UNKNOWN 702 -#define UNLISTEN 703 -#define UNLOGGED 704 -#define UNTIL 705 -#define UPDATE 706 -#define USER 707 -#define USING 708 -#define VACUUM 709 -#define VALID 710 -#define VALIDATE 711 -#define VALIDATOR 712 -#define VALUE_P 713 -#define VALUES 714 -#define VARCHAR 715 -#define VARIADIC 716 -#define VARYING 717 -#define VERBOSE 718 -#define VERSION_P 719 -#define VIEW 720 -#define VIEWS 721 -#define VOLATILE 722 -#define WHEN 723 -#define WHERE 724 -#define WHITESPACE_P 725 -#define WINDOW 726 -#define WITH 727 -#define WITHIN 728 -#define WITHOUT 729 -#define WORK 730 -#define WRAPPER 731 -#define WRITE 732 -#define XML_P 733 -#define XMLATTRIBUTES 734 -#define XMLCONCAT 735 -#define XMLELEMENT 736 -#define XMLEXISTS 737 -#define XMLFOREST 738 -#define XMLNAMESPACES 739 -#define XMLPARSE 740 -#define XMLPI 741 -#define XMLROOT 742 -#define XMLSERIALIZE 743 -#define XMLTABLE 744 -#define YEAR_P 745 -#define YES_P 746 -#define ZONE 747 -#define FORMAT_LA 748 -#define NOT_LA 749 -#define NULLS_LA 750 -#define WITH_LA 751 -#define WITHOUT_LA 752 -#define MODE_TYPE_NAME 753 -#define MODE_PLPGSQL_EXPR 754 -#define MODE_PLPGSQL_ASSIGN1 755 -#define MODE_PLPGSQL_ASSIGN2 756 -#define MODE_PLPGSQL_ASSIGN3 757 -#define UMINUS 758 +#define CONDITIONAL 345 +#define CONFIGURATION 346 +#define CONFLICT 347 +#define CONNECTION 348 +#define CONSTRAINT 349 +#define CONSTRAINTS 350 +#define CONTENT_P 351 +#define CONTINUE_P 352 +#define CONVERSION_P 353 +#define COPY 354 +#define COST 355 +#define CREATE 356 +#define CROSS 357 +#define CSV 358 +#define CUBE 359 +#define CURRENT_P 360 +#define CURRENT_CATALOG 361 +#define CURRENT_DATE 362 +#define CURRENT_ROLE 363 +#define CURRENT_SCHEMA 364 +#define CURRENT_TIME 365 +#define CURRENT_TIMESTAMP 366 +#define CURRENT_USER 367 +#define CURSOR 368 +#define CYCLE 369 +#define DATA_P 370 +#define DATABASE 371 +#define DAY_P 372 +#define DEALLOCATE 373 +#define DEC 374 +#define DECIMAL_P 375 +#define DECLARE 376 +#define DEFAULT 377 +#define DEFAULTS 378 +#define DEFERRABLE 379 +#define DEFERRED 380 +#define DEFINER 381 +#define DELETE_P 382 +#define DELIMITER 383 +#define DELIMITERS 384 +#define DEPENDS 385 +#define DEPTH 386 +#define DESC 387 +#define DETACH 388 +#define DICTIONARY 389 +#define DISABLE_P 390 +#define DISCARD 391 +#define DISTINCT 392 +#define DO 393 +#define DOCUMENT_P 394 +#define DOMAIN_P 395 +#define DOUBLE_P 396 +#define DROP 397 +#define EACH 398 +#define ELSE 399 +#define EMPTY_P 400 +#define ENABLE_P 401 +#define ENCODING 402 +#define ENCRYPTED 403 +#define END_P 404 +#define ENUM_P 405 +#define ERROR_P 406 +#define ESCAPE 407 +#define EVENT 408 +#define EXCEPT 409 +#define EXCLUDE 410 +#define EXCLUDING 411 +#define EXCLUSIVE 412 +#define EXECUTE 413 +#define EXISTS 414 +#define EXPLAIN 415 +#define EXPRESSION 416 +#define EXTENSION 417 +#define EXTERNAL 418 +#define EXTRACT 419 +#define FALSE_P 420 +#define FAMILY 421 +#define FETCH 422 +#define FILTER 423 +#define FINALIZE 424 +#define FIRST_P 425 +#define FLOAT_P 426 +#define FOLLOWING 427 +#define FOR 428 +#define FORCE 429 +#define FOREIGN 430 +#define FORMAT 431 +#define FORWARD 432 +#define FREEZE 433 +#define FROM 434 +#define FULL 435 +#define FUNCTION 436 +#define FUNCTIONS 437 +#define GENERATED 438 +#define GLOBAL 439 +#define GRANT 440 +#define GRANTED 441 +#define GREATEST 442 +#define GROUP_P 443 +#define GROUPING 444 +#define GROUPS 445 +#define HANDLER 446 +#define HAVING 447 +#define HEADER_P 448 +#define HOLD 449 +#define HOUR_P 450 +#define IDENTITY_P 451 +#define IF_P 452 +#define ILIKE 453 +#define IMMEDIATE 454 +#define IMMUTABLE 455 +#define IMPLICIT_P 456 +#define IMPORT_P 457 +#define IN_P 458 +#define INCLUDE 459 +#define INCLUDING 460 +#define INCREMENT 461 +#define INDENT 462 +#define INDEX 463 +#define INDEXES 464 +#define INHERIT 465 +#define INHERITS 466 +#define INITIALLY 467 +#define INLINE_P 468 +#define INNER_P 469 +#define INOUT 470 +#define INPUT_P 471 +#define INSENSITIVE 472 +#define INSERT 473 +#define INSTEAD 474 +#define INT_P 475 +#define INTEGER 476 +#define INTERSECT 477 +#define INTERVAL 478 +#define INTO 479 +#define INVOKER 480 +#define IS 481 +#define ISNULL 482 +#define ISOLATION 483 +#define JOIN 484 +#define JSON 485 +#define JSON_ARRAY 486 +#define JSON_ARRAYAGG 487 +#define JSON_EXISTS 488 +#define JSON_OBJECT 489 +#define JSON_OBJECTAGG 490 +#define JSON_QUERY 491 +#define JSON_SCALAR 492 +#define JSON_SERIALIZE 493 +#define JSON_TABLE 494 +#define JSON_VALUE 495 +#define KEEP 496 +#define KEY 497 +#define KEYS 498 +#define LABEL 499 +#define LANGUAGE 500 +#define LARGE_P 501 +#define LAST_P 502 +#define LATERAL_P 503 +#define LEADING 504 +#define LEAKPROOF 505 +#define LEAST 506 +#define LEFT 507 +#define LEVEL 508 +#define LIKE 509 +#define LIMIT 510 +#define LISTEN 511 +#define LOAD 512 +#define LOCAL 513 +#define LOCALTIME 514 +#define LOCALTIMESTAMP 515 +#define LOCATION 516 +#define LOCK_P 517 +#define LOCKED 518 +#define LOGGED 519 +#define MAPPING 520 +#define MATCH 521 +#define MATCHED 522 +#define MATERIALIZED 523 +#define MAXVALUE 524 +#define MERGE 525 +#define MERGE_ACTION 526 +#define METHOD 527 +#define MINUTE_P 528 +#define MINVALUE 529 +#define MODE 530 +#define MONTH_P 531 +#define MOVE 532 +#define NAME_P 533 +#define NAMES 534 +#define NATIONAL 535 +#define NATURAL 536 +#define NCHAR 537 +#define NESTED 538 +#define NEW 539 +#define NEXT 540 +#define NFC 541 +#define NFD 542 +#define NFKC 543 +#define NFKD 544 +#define NO 545 +#define NONE 546 +#define NORMALIZE 547 +#define NORMALIZED 548 +#define NOT 549 +#define NOTHING 550 +#define NOTIFY 551 +#define NOTNULL 552 +#define NOWAIT 553 +#define NULL_P 554 +#define NULLIF 555 +#define NULLS_P 556 +#define NUMERIC 557 +#define OBJECT_P 558 +#define OF 559 +#define OFF 560 +#define OFFSET 561 +#define OIDS 562 +#define OLD 563 +#define OMIT 564 +#define ON 565 +#define ONLY 566 +#define OPERATOR 567 +#define OPTION 568 +#define OPTIONS 569 +#define OR 570 +#define ORDER 571 +#define ORDINALITY 572 +#define OTHERS 573 +#define OUT_P 574 +#define OUTER_P 575 +#define OVER 576 +#define OVERLAPS 577 +#define OVERLAY 578 +#define OVERRIDING 579 +#define OWNED 580 +#define OWNER 581 +#define PARALLEL 582 +#define PARAMETER 583 +#define PARSER 584 +#define PARTIAL 585 +#define PARTITION 586 +#define PASSING 587 +#define PASSWORD 588 +#define PATH 589 +#define PLACING 590 +#define PLAN 591 +#define PLANS 592 +#define POLICY 593 +#define POSITION 594 +#define PRECEDING 595 +#define PRECISION 596 +#define PRESERVE 597 +#define PREPARE 598 +#define PREPARED 599 +#define PRIMARY 600 +#define PRIOR 601 +#define PRIVILEGES 602 +#define PROCEDURAL 603 +#define PROCEDURE 604 +#define PROCEDURES 605 +#define PROGRAM 606 +#define PUBLICATION 607 +#define QUOTE 608 +#define QUOTES 609 +#define RANGE 610 +#define READ 611 +#define REAL 612 +#define REASSIGN 613 +#define RECHECK 614 +#define RECURSIVE 615 +#define REF_P 616 +#define REFERENCES 617 +#define REFERENCING 618 +#define REFRESH 619 +#define REINDEX 620 +#define RELATIVE_P 621 +#define RELEASE 622 +#define RENAME 623 +#define REPEATABLE 624 +#define REPLACE 625 +#define REPLICA 626 +#define RESET 627 +#define RESTART 628 +#define RESTRICT 629 +#define RETURN 630 +#define RETURNING 631 +#define RETURNS 632 +#define REVOKE 633 +#define RIGHT 634 +#define ROLE 635 +#define ROLLBACK 636 +#define ROLLUP 637 +#define ROUTINE 638 +#define ROUTINES 639 +#define ROW 640 +#define ROWS 641 +#define RULE 642 +#define SAVEPOINT 643 +#define SCALAR 644 +#define SCHEMA 645 +#define SCHEMAS 646 +#define SCROLL 647 +#define SEARCH 648 +#define SECOND_P 649 +#define SECURITY 650 +#define SELECT 651 +#define SEQUENCE 652 +#define SEQUENCES 653 +#define SERIALIZABLE 654 +#define SERVER 655 +#define SESSION 656 +#define SESSION_USER 657 +#define SET 658 +#define SETS 659 +#define SETOF 660 +#define SHARE 661 +#define SHOW 662 +#define SIMILAR 663 +#define SIMPLE 664 +#define SKIP 665 +#define SMALLINT 666 +#define SNAPSHOT 667 +#define SOME 668 +#define SOURCE 669 +#define SQL_P 670 +#define STABLE 671 +#define STANDALONE_P 672 +#define START 673 +#define STATEMENT 674 +#define STATISTICS 675 +#define STDIN 676 +#define STDOUT 677 +#define STORAGE 678 +#define STORED 679 +#define STRICT_P 680 +#define STRING_P 681 +#define STRIP_P 682 +#define SUBSCRIPTION 683 +#define SUBSTRING 684 +#define SUPPORT 685 +#define SYMMETRIC 686 +#define SYSID 687 +#define SYSTEM_P 688 +#define SYSTEM_USER 689 +#define TABLE 690 +#define TABLES 691 +#define TABLESAMPLE 692 +#define TABLESPACE 693 +#define TARGET 694 +#define TEMP 695 +#define TEMPLATE 696 +#define TEMPORARY 697 +#define TEXT_P 698 +#define THEN 699 +#define TIES 700 +#define TIME 701 +#define TIMESTAMP 702 +#define TO 703 +#define TRAILING 704 +#define TRANSACTION 705 +#define TRANSFORM 706 +#define TREAT 707 +#define TRIGGER 708 +#define TRIM 709 +#define TRUE_P 710 +#define TRUNCATE 711 +#define TRUSTED 712 +#define TYPE_P 713 +#define TYPES_P 714 +#define UESCAPE 715 +#define UNBOUNDED 716 +#define UNCONDITIONAL 717 +#define UNCOMMITTED 718 +#define UNENCRYPTED 719 +#define UNION 720 +#define UNIQUE 721 +#define UNKNOWN 722 +#define UNLISTEN 723 +#define UNLOGGED 724 +#define UNTIL 725 +#define UPDATE 726 +#define USER 727 +#define USING 728 +#define VACUUM 729 +#define VALID 730 +#define VALIDATE 731 +#define VALIDATOR 732 +#define VALUE_P 733 +#define VALUES 734 +#define VARCHAR 735 +#define VARIADIC 736 +#define VARYING 737 +#define VERBOSE 738 +#define VERSION_P 739 +#define VIEW 740 +#define VIEWS 741 +#define VOLATILE 742 +#define WHEN 743 +#define WHERE 744 +#define WHITESPACE_P 745 +#define WINDOW 746 +#define WITH 747 +#define WITHIN 748 +#define WITHOUT 749 +#define WORK 750 +#define WRAPPER 751 +#define WRITE 752 +#define XML_P 753 +#define XMLATTRIBUTES 754 +#define XMLCONCAT 755 +#define XMLELEMENT 756 +#define XMLEXISTS 757 +#define XMLFOREST 758 +#define XMLNAMESPACES 759 +#define XMLPARSE 760 +#define XMLPI 761 +#define XMLROOT 762 +#define XMLSERIALIZE 763 +#define XMLTABLE 764 +#define YEAR_P 765 +#define YES_P 766 +#define ZONE 767 +#define FORMAT_LA 768 +#define NOT_LA 769 +#define NULLS_LA 770 +#define WITH_LA 771 +#define WITHOUT_LA 772 +#define MODE_TYPE_NAME 773 +#define MODE_PLPGSQL_EXPR 774 +#define MODE_PLPGSQL_ASSIGN1 775 +#define MODE_PLPGSQL_ASSIGN2 776 +#define MODE_PLPGSQL_ASSIGN3 777 +#define UMINUS 778 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 234 "gram.y" +#line 233 "gram.y" { core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ @@ -1097,12 +1137,13 @@ typedef union YYSTYPE struct SelectLimit *selectlimit; SetQuantifier setquantifier; struct GroupClause *groupclause; + MergeMatchKind mergematch; MergeWhenClause *mergewhen; struct KeyActions *keyactions; struct KeyAction *keyaction; } /* Line 1529 of yacc.c. */ -#line 1106 "gram.h" +#line 1147 "gram.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 diff --git a/parser/include/postgres/gramparse.h b/parser/include/postgres/gramparse.h index 1b9fef3e..d85017fb 100644 --- a/parser/include/postgres/gramparse.h +++ b/parser/include/postgres/gramparse.h @@ -8,7 +8,7 @@ * Definitions that are needed outside the core parser should be in parser.h. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/backend/parser/gramparse.h diff --git a/parser/include/postgres/jit/jit.h b/parser/include/postgres/jit/jit.h index 14f2e36b..d9a080ce 100644 --- a/parser/include/postgres/jit/jit.h +++ b/parser/include/postgres/jit/jit.h @@ -2,7 +2,7 @@ * jit.h * Provider independent JIT infrastructure. * - * Copyright (c) 2016-2023, PostgreSQL Global Development Group + * Copyright (c) 2016-2024, PostgreSQL Global Development Group * * src/include/jit/jit.h * @@ -32,6 +32,9 @@ typedef struct JitInstrumentation /* accumulated time to generate code */ instr_time generation_counter; + /* accumulated time to deform tuples, included into generation_counter */ + instr_time deform_counter; + /* accumulated time for inlining */ instr_time inlining_counter; @@ -56,8 +59,6 @@ typedef struct JitContext /* see PGJIT_* above */ int flags; - ResourceOwner resowner; - JitInstrumentation instr; } JitContext; diff --git a/parser/include/postgres/kwlist_d.h b/parser/include/postgres/kwlist_d.h index e8af2602..84d27db4 100644 --- a/parser/include/postgres/kwlist_d.h +++ b/parser/include/postgres/kwlist_d.h @@ -3,7 +3,7 @@ * kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -90,6 +90,7 @@ static const char ScanKeywords_kw_string[] = "committed\0" "compression\0" "concurrently\0" + "conditional\0" "configuration\0" "conflict\0" "connection\0" @@ -144,11 +145,13 @@ static const char ScanKeywords_kw_string[] = "drop\0" "each\0" "else\0" + "empty\0" "enable\0" "encoding\0" "encrypted\0" "end\0" "enum\0" + "error\0" "escape\0" "event\0" "except\0" @@ -230,8 +233,15 @@ static const char ScanKeywords_kw_string[] = "json\0" "json_array\0" "json_arrayagg\0" + "json_exists\0" "json_object\0" "json_objectagg\0" + "json_query\0" + "json_scalar\0" + "json_serialize\0" + "json_table\0" + "json_value\0" + "keep\0" "key\0" "keys\0" "label\0" @@ -261,6 +271,7 @@ static const char ScanKeywords_kw_string[] = "materialized\0" "maxvalue\0" "merge\0" + "merge_action\0" "method\0" "minute\0" "minvalue\0" @@ -272,6 +283,7 @@ static const char ScanKeywords_kw_string[] = "national\0" "natural\0" "nchar\0" + "nested\0" "new\0" "next\0" "nfc\0" @@ -297,6 +309,7 @@ static const char ScanKeywords_kw_string[] = "offset\0" "oids\0" "old\0" + "omit\0" "on\0" "only\0" "operator\0" @@ -321,7 +334,9 @@ static const char ScanKeywords_kw_string[] = "partition\0" "passing\0" "password\0" + "path\0" "placing\0" + "plan\0" "plans\0" "policy\0" "position\0" @@ -339,6 +354,7 @@ static const char ScanKeywords_kw_string[] = "program\0" "publication\0" "quote\0" + "quotes\0" "range\0" "read\0" "real\0" @@ -398,6 +414,7 @@ static const char ScanKeywords_kw_string[] = "smallint\0" "snapshot\0" "some\0" + "source\0" "sql\0" "stable\0" "standalone\0" @@ -409,6 +426,7 @@ static const char ScanKeywords_kw_string[] = "storage\0" "stored\0" "strict\0" + "string\0" "strip\0" "subscription\0" "substring\0" @@ -421,6 +439,7 @@ static const char ScanKeywords_kw_string[] = "tables\0" "tablesample\0" "tablespace\0" + "target\0" "temp\0" "template\0" "temporary\0" @@ -444,6 +463,7 @@ static const char ScanKeywords_kw_string[] = "uescape\0" "unbounded\0" "uncommitted\0" + "unconditional\0" "unencrypted\0" "union\0" "unique\0" @@ -564,534 +584,559 @@ static const uint16 ScanKeywords_kw_offsets[] = { 480, 492, 505, - 519, - 528, - 539, - 550, + 517, + 531, + 540, + 551, 562, - 570, - 579, - 590, - 595, - 600, + 574, + 582, + 591, + 602, 607, - 613, - 617, - 622, - 630, - 646, - 659, - 672, - 687, - 700, - 718, - 731, - 738, - 744, - 749, - 758, - 762, - 773, - 777, + 612, + 619, + 625, + 629, + 634, + 642, + 658, + 671, + 684, + 699, + 712, + 730, + 743, + 750, + 756, + 761, + 770, + 774, 785, - 793, - 801, - 810, - 821, - 830, - 838, - 845, - 855, - 866, - 874, - 880, - 885, + 789, + 797, + 805, + 813, + 822, + 833, + 842, + 850, + 857, + 867, + 878, + 886, 892, - 903, - 911, - 919, - 928, + 897, + 904, + 915, + 923, 931, 940, - 947, - 954, + 943, + 952, 959, - 964, - 969, + 966, + 971, 976, - 985, - 995, - 999, - 1004, - 1011, + 981, + 987, + 994, + 1003, + 1013, 1017, - 1024, - 1032, - 1042, - 1052, - 1060, - 1067, - 1075, - 1086, - 1096, - 1105, - 1113, - 1119, - 1126, - 1132, - 1139, - 1148, - 1154, - 1160, - 1170, - 1174, - 1180, - 1188, - 1195, - 1203, - 1210, - 1215, - 1220, - 1229, + 1022, + 1028, + 1035, + 1041, + 1048, + 1056, + 1066, + 1076, + 1084, + 1091, + 1099, + 1110, + 1120, + 1129, + 1137, + 1143, + 1150, + 1156, + 1163, + 1172, + 1178, + 1184, + 1194, + 1198, + 1204, + 1212, + 1219, + 1227, + 1234, 1239, - 1249, - 1256, - 1262, - 1270, - 1279, - 1285, + 1244, + 1253, + 1263, + 1273, + 1280, + 1286, 1294, - 1301, + 1303, 1309, - 1316, - 1323, - 1328, + 1318, + 1325, 1333, - 1342, - 1345, - 1351, - 1361, - 1371, - 1380, - 1387, - 1390, - 1398, - 1408, - 1418, - 1425, - 1431, - 1439, - 1447, - 1456, - 1466, - 1473, - 1479, - 1485, - 1491, + 1340, + 1347, + 1352, + 1357, + 1366, + 1369, + 1375, + 1385, + 1395, + 1404, + 1411, + 1414, + 1422, + 1432, + 1442, + 1449, + 1455, + 1463, + 1471, + 1480, + 1490, + 1497, 1503, - 1510, - 1518, - 1522, - 1530, - 1540, - 1549, + 1509, + 1515, + 1527, + 1534, + 1542, + 1546, 1554, - 1562, - 1565, - 1572, - 1582, - 1587, - 1592, - 1603, - 1617, - 1629, - 1644, - 1648, + 1564, + 1573, + 1578, + 1586, + 1589, + 1596, + 1606, + 1611, + 1616, + 1627, + 1641, 1653, - 1659, - 1668, - 1674, - 1679, - 1687, - 1695, - 1705, - 1711, - 1716, - 1722, - 1727, - 1733, + 1665, + 1680, + 1691, + 1703, + 1718, + 1729, 1740, 1745, - 1751, - 1761, - 1776, - 1785, - 1790, - 1797, - 1804, + 1749, + 1754, + 1760, + 1769, + 1775, + 1780, + 1788, + 1796, + 1806, 1812, - 1818, - 1826, - 1839, - 1848, - 1854, - 1861, - 1868, + 1817, + 1823, + 1828, + 1834, + 1841, + 1846, + 1852, + 1862, 1877, - 1882, - 1888, - 1893, + 1886, + 1891, 1898, - 1904, + 1905, 1913, - 1921, + 1919, 1927, - 1931, - 1936, 1940, - 1944, 1949, - 1954, - 1957, - 1962, - 1972, - 1983, - 1987, - 1995, + 1955, + 1968, + 1975, + 1982, + 1991, + 1996, 2002, - 2010, - 2017, - 2022, - 2029, + 2007, + 2012, + 2018, + 2027, 2035, - 2043, - 2050, - 2053, + 2041, + 2048, + 2052, 2057, - 2064, - 2069, - 2073, - 2076, - 2081, - 2090, - 2097, - 2105, + 2061, + 2065, + 2070, + 2075, + 2078, + 2083, + 2093, + 2104, 2108, - 2114, - 2125, - 2132, - 2136, - 2142, - 2147, + 2116, + 2123, + 2131, + 2138, + 2143, + 2150, 2156, 2164, - 2175, - 2181, - 2187, - 2196, - 2206, - 2213, - 2221, + 2171, + 2174, + 2178, + 2185, + 2190, + 2194, + 2199, + 2202, + 2207, + 2216, + 2223, 2231, - 2239, - 2248, - 2256, + 2234, + 2240, + 2251, + 2258, 2262, - 2269, - 2278, - 2288, - 2298, - 2306, - 2315, - 2324, + 2268, + 2273, + 2282, + 2290, + 2301, + 2307, + 2313, + 2322, 2332, - 2338, - 2349, - 2360, - 2370, - 2381, - 2389, - 2401, - 2407, - 2413, - 2418, - 2423, - 2432, - 2440, - 2450, - 2454, - 2465, - 2477, + 2339, + 2347, + 2357, + 2365, + 2374, + 2379, + 2387, + 2392, + 2398, + 2405, + 2414, + 2424, + 2434, + 2442, + 2451, + 2460, + 2468, + 2474, 2485, - 2493, - 2502, - 2510, + 2496, + 2506, 2517, - 2528, - 2536, - 2544, + 2525, + 2537, + 2543, 2550, - 2558, - 2567, - 2574, - 2584, - 2592, - 2599, - 2605, - 2610, - 2619, - 2626, - 2634, - 2643, - 2647, - 2652, - 2657, - 2667, - 2674, - 2681, - 2689, - 2696, - 2703, + 2556, + 2561, + 2566, + 2575, + 2583, + 2593, + 2597, + 2608, + 2620, + 2628, + 2636, + 2645, + 2653, + 2660, + 2671, + 2679, + 2687, + 2693, + 2701, 2710, - 2719, - 2726, + 2717, + 2727, 2735, - 2745, - 2758, - 2765, - 2773, + 2742, + 2748, + 2753, + 2762, + 2769, + 2777, 2786, 2790, - 2796, - 2801, - 2807, - 2812, - 2820, - 2827, + 2795, + 2800, + 2810, + 2817, + 2824, 2832, - 2841, - 2850, - 2855, - 2859, - 2866, - 2877, - 2883, - 2893, - 2904, - 2910, - 2917, - 2925, - 2932, + 2839, + 2846, + 2853, + 2862, + 2869, + 2878, + 2888, + 2901, + 2908, + 2916, + 2929, + 2933, 2939, - 2945, - 2958, - 2968, - 2976, - 2986, - 2992, - 2999, - 3011, - 3017, - 3024, - 3036, - 3047, - 3052, - 3061, - 3071, - 3076, - 3081, - 3086, - 3091, - 3101, - 3104, - 3113, + 2944, + 2950, + 2955, + 2963, + 2970, + 2975, + 2984, + 2993, + 2998, + 3005, + 3009, + 3016, + 3027, + 3033, + 3043, + 3054, + 3060, + 3067, + 3075, + 3082, + 3089, + 3096, + 3102, + 3115, 3125, - 3135, - 3141, + 3133, + 3143, 3149, - 3154, - 3159, + 3156, 3168, - 3176, + 3174, 3181, - 3187, - 3195, - 3205, - 3217, - 3229, + 3193, + 3204, + 3211, + 3216, + 3225, 3235, - 3242, + 3240, + 3245, 3250, - 3259, + 3255, + 3265, 3268, - 3274, - 3281, - 3286, - 3292, + 3277, + 3289, 3299, 3305, - 3314, - 3324, - 3330, - 3337, + 3313, + 3318, + 3323, + 3332, + 3340, 3345, - 3354, - 3362, - 3370, - 3378, - 3383, - 3389, - 3398, - 3403, - 3409, + 3351, + 3359, + 3369, + 3381, + 3395, + 3407, + 3413, 3420, - 3427, - 3432, - 3439, - 3447, + 3428, + 3437, + 3446, 3452, - 3460, - 3466, + 3459, + 3464, 3470, - 3484, - 3494, - 3505, + 3477, + 3483, + 3492, + 3502, + 3508, 3515, - 3525, - 3539, + 3523, + 3532, + 3540, 3548, - 3554, - 3562, - 3575, - 3584, - 3589, - 3593, + 3556, + 3561, + 3567, + 3576, + 3581, + 3587, + 3598, + 3605, + 3610, + 3617, + 3625, + 3630, + 3638, + 3644, + 3648, + 3662, + 3672, + 3683, + 3693, + 3703, + 3717, + 3726, + 3732, + 3740, + 3753, + 3762, + 3767, + 3771, }; -#define SCANKEYWORDS_NUM_KEYWORDS 471 +#define SCANKEYWORDS_NUM_KEYWORDS 491 static int ScanKeywords_hash_func(const void *key, size_t keylen) { - static const int16 h[943] = { - 543, -186, 201, 0, 32767, 32767, 32767, 32767, - 221, -207, 32767, 0, 135, 283, 32767, 454, - 14, 79, 32767, 32767, 77, 32767, 102, 160, - 0, 32767, 151, 32767, 30, 392, -322, 452, - 32767, 0, 32767, 0, 0, 32767, 32767, 32767, - 234, 32767, 0, 32767, 0, 631, 32767, 368, - 80, 0, 0, -115, 32767, 285, 32767, 423, - 0, 32767, 155, 229, 32767, 126, 291, 165, - -22, 400, 327, 32767, 32767, 32767, 32767, -399, - 0, 406, 32767, 210, 1102, -203, 32767, 32767, - 32767, -944, 0, -188, 32767, 32767, 0, 347, - 32767, 0, 559, 316, 133, 32767, 202, 32767, - 305, 0, 32767, -94, 32767, 0, 32767, -222, - 32767, 138, 32767, -52, 32767, 32767, 279, 69, - -136, 0, 32767, 32767, 189, 32767, 32767, 88, - 0, 32767, 32767, 274, 32767, 514, 769, 248, - 32767, 32767, 32767, 32767, 32767, 32767, 0, 81, - 8, -29, 32767, 32767, 32767, -174, 258, 0, - 465, 211, 32767, 0, -229, 32767, -191, 32767, - 1263, 48, 32767, 343, 0, 58, 0, 32767, - 32767, 855, 0, 415, 0, -217, 32767, 1195, - 32767, 32767, 166, 32767, 42, 262, -736, 0, - 32767, 32767, 418, 178, 122, 32767, 46, 32767, - 32767, 32767, 229, 443, 32767, 32767, 250, 32767, - -300, 0, 32767, 1153, 32767, 108, 32767, -462, - 266, 32767, 478, -220, 235, 32767, 32767, -127, - 32767, 32767, 32767, 427, -231, 156, 32767, 0, - 0, 148, -218, 142, 73, 420, 32767, 32767, - 523, 32767, -36, 32767, 32767, 467, 844, -415, - 32767, 32767, -148, 179, 361, 32767, 151, 0, - 0, 32767, 145, 32767, 248, 110, 29, 125, - 282, 32767, -36, 43, 32767, 1125, 32767, 530, - 251, 519, 191, 0, 32767, -34, -502, 313, - 462, 845, 32767, 32767, -255, 412, 32767, 78, - 0, 32767, 444, 161, 0, 32767, 308, 32767, - -273, 400, 32767, 296, 32767, 32767, 72, 32767, - 32767, 34, 32767, 364, 151, -63, 4, 229, - 0, -276, 32767, 32767, 32767, 32767, -406, 32767, - 203, 32767, 140, 187, 160, 32767, 286, 0, - 32767, 32767, -88, 0, 100, -361, 32767, 9, - 0, -456, 32767, -37, -404, 32767, -969, 32767, - 371, 95, 0, 703, -31, 263, 373, -745, - 507, 14, 32767, -159, 0, 32767, 47, 299, - -126, 0, 32767, 83, 32767, 32767, 420, 236, - 32767, 32767, 0, 310, 89, 233, 32767, 93, - 32767, 0, 816, 60, 301, 211, 193, 0, - 452, -107, -403, -242, 353, 18, 32767, 32767, - 32767, 243, 104, 32767, 32767, 32767, -305, 32767, - -1048, 54, 0, 383, 32767, 32767, 32767, 226, - 319, 0, 32767, 32767, 32767, -130, 537, 32767, - 0, -206, 240, 696, 121, 32767, 180, 164, - 32767, 390, 185, 32767, 220, 545, 29, 32767, - 0, 32767, 32767, 1120, -163, 32767, 32767, 32767, - -368, 136, 445, 171, 233, 32767, 73, 32767, - 92, 32767, 0, 32767, 0, 208, 354, 32767, - 54, 32767, 32767, -246, -93, 389, 32767, 32767, - 32767, 32767, 50, 32767, 32767, 308, 32767, -278, - 0, 32767, 32767, -1172, 32767, 8, 32767, 0, - 32767, 341, 304, 242, -174, -92, 76, 419, - 32767, 87, 32767, -262, 32767, 32767, 32767, 109, - 200, 0, 32767, 0, 85, 530, 32767, -316, - 32767, 0, -286, 32767, 193, 268, 32767, 32767, - 278, 32767, 32767, 155, 445, 95, -310, 32767, - 207, -56, 32767, 32767, 0, -127, 232, -283, - 103, 32767, 1, 0, 32767, 32767, -485, 350, - 79, -56, -354, 32767, 121, 24, 81, 20, - 325, 40, 248, 32767, 32767, 32767, 358, 32767, - -56, 32767, 0, 174, -28, -301, -92, 32767, - 114, 295, 32767, 363, -355, 32767, 290, 0, - 32767, 32767, 32767, 122, 55, -142, 32767, 50, - 32767, 32767, 152, 571, 1397, 0, 472, -448, - 185, 140, 228, 435, 0, 32767, 32767, 414, - 32767, 379, 92, 185, 23, 299, 32767, 32767, - 0, 32767, 32767, 32767, 306, 439, -198, 219, - 340, 32767, 416, 0, -123, 377, 32767, 32767, - 0, 32767, 670, -670, 339, 32767, 32767, 32767, - 0, -256, 70, 514, 331, 0, 302, 469, - 0, 370, 32767, 32767, 42, 255, 212, 0, - 322, 277, 32767, -163, 32767, 216, 32767, 32767, - 0, 32767, 190, 32767, 32767, 0, 32767, 0, - -409, 1366, 32767, 32767, 32767, 193, 32767, 325, - 32767, 0, 142, 466, 32767, 32767, 32767, 113, - 32767, 32767, 62, 0, -62, 113, -90, 34, - -256, 32767, 32767, -936, 32767, 32767, 32767, 0, - -64, 0, -34, 451, 290, 108, 32767, 276, - 842, 0, 556, -153, 32767, 412, -168, 32767, - 32767, 1331, 407, 234, -60, 115, 457, -73, - 502, 772, 32767, 33, 404, -925, 32767, 32767, - 421, -123, 32767, 32767, 32767, 0, 0, 32767, - 32767, 32767, 429, 0, 3, 769, -81, 306, - 64, 32767, 192, 96, 0, 63, 44, 32767, - 32767, 32767, 32767, 0, 284, 32767, 575, 32767, - 32767, 12, 32767, 516, 116, 32767, 32767, 150, - 442, 134, 32767, 198, -45, 249, 40, 373, - 32767, 0, 32767, 32767, 0, 0, 352, 32767, - 117, 32767, 426, 0, 0, 32767, 32767, 32767, - 32767, -92, 32767, -442, 32767, 269, 32767, 32767, - 32767, 429, 32767, 0, 32767, 0, 143, 32767, - 508, -66, 32767, 280, 32767, 39, 162, 32767, - 32767, 0, 32767, 31, 32767, 32767, 32767, 0, - 32767, 257, -90, -249, 224, 272, 32767, 32767, - 313, -467, 214, 0, -85, 32767, 48, 0, - 32767, -336, 202, 0, 447, 90, 264, 32767, - 32767, 0, 101, 32767, 32767, 32767, 0, 32767, - 32767, 227, -1093, 32767, 0, 32767, 27, 174, - 32767, 7, 32767, -621, 146, 32767, 32767, 32767, - 854, 0, 32767, 161, 0, 137, 32767, 32767, - 32767, 32767, 0, 391, 219, 276, 32767, 168, - 32767, 32767, 0, 32767, 32767, 32767, 1, -4, - 32767, 0, 293, 0, 374, 256, 0, 0, - 32767, 355, 212, 404, 0, 186, 32767, 0, - 359, 32767, 32767, 172, 32767, 32767, -131, 0, - 402, 0, 56, 32767, 462, 389, 82, 0, - 32767, 0, 32767, 0, 32767, 32767, 32767, 32767, - 106, 425, -160, 31, 32767, 55, 0, 0, - 32767, 32767, 430, 1224, 179, -179, 0, 397, - 32767, 0, 0, 0, -60, 47, 32767, 396, - 32767, 326, 383, 369, 32767, 368, 32767 + static const int16 h[983] = { + 283, 32767, 500, 226, 291, 32767, 32767, 32767, + 467, 152, 66, 291, -300, 32767, -427, -45, + 0, 219, 224, 189, 32767, 195, 0, -507, + 324, 32767, 300, 32767, 0, 32767, 161, 32767, + 32767, 32767, 32767, 131, 32767, 101, 32767, 391, + 32767, 32767, 32767, 0, 2, 32767, 128, 418, + -291, 32767, 32767, -631, 32767, 250, 219, -142, + 133, 334, 32767, 0, 170, 32767, 516, 32767, + 307, 288, 391, 32767, 216, 319, 0, 32767, + 152, 32767, 375, 444, 433, 32767, 242, 32767, + 4, -119, 481, -13, 32767, 32767, -94, 0, + 290, -113, 32767, 137, 122, 120, 32767, 32767, + 32767, 414, -397, -45, -267, -5, 605, 32767, + 453, 514, 32767, 400, 32767, 32767, 32767, 32767, + 361, 150, 32767, 107, 172, -32, 81, -232, + -15, 830, -46, 32767, 32767, 32767, 543, -341, + 0, 32767, 288, 488, 32767, 43, 410, -99, + 32767, 384, 32767, 32767, 315, 32767, -419, -458, + 0, -459, 0, 232, 32767, 32767, 333, -413, + 32767, 584, -76, 0, -6, 125, 32767, 421, + 32767, 32767, -88, 128, -1, 15, 55, 32767, + 214, 32767, 0, 0, 166, 348, -337, 32767, + 260, 319, 32767, 180, 158, 0, 32767, 0, + -226, 0, 129, 0, 378, 517, -293, 671, + 32767, 32767, 0, 167, 305, -61, -229, 97, + 164, 88, 380, 50, 32767, 71, -637, 106, + 32767, 79, 0, 415, 32767, 0, 32767, 317, + 379, 28, 431, 0, 32767, 32767, 301, 185, + 196, 37, 32767, 142, 200, 32767, -211, -223, + -392, 99, 32767, -366, 32767, 287, 32767, 0, + -309, 0, 32767, -963, 32767, 222, 432, 32767, + 32767, 0, 32767, 32767, 266, 56, 0, 32767, + 391, 606, 32767, 32767, 360, 0, 60, 32767, + 32767, 0, 32767, 0, 325, 32767, 333, 32767, + -54, 399, 0, 28, 237, -648, 32767, 108, + 438, 32767, 221, 390, 32767, 32767, 223, 687, + 452, 125, 32767, -913, 186, 0, 32767, 32767, + 32767, 32767, 0, 0, 32767, 32767, 32767, -27, + 1087, 464, -305, 427, 898, 32767, 0, 32767, + 0, 32767, 104, 32767, 32767, 260, 1065, 0, + 703, 32767, 0, 337, 350, 767, 32767, -330, + 379, 32767, 32767, 32767, 32767, 32767, 32767, 228, + 32767, 32767, 32767, 0, -87, -48, 32767, -541, + 415, 32767, 306, 32767, 32767, 32767, -117, 15, + 0, 0, 32767, 412, -645, 223, -558, 32767, + 32767, 32767, 32767, 32767, -254, 162, -372, 0, + 0, 32767, 353, 0, 199, 32767, 664, 32767, + 32767, 0, 32767, -148, 32767, -98, 32767, 449, + 0, 32767, 383, -495, -295, 208, 0, 32767, + 511, 17, 32767, 32767, 0, 387, 32767, 32767, + 32767, 0, 32767, 32767, 2, -2, -177, 32767, + 0, 32767, 150, 32767, -471, 32767, -282, 32767, + 240, 183, 357, 423, 32767, 435, 32767, 284, + 32767, 358, 298, 195, 72, 0, 421, 535, + 32767, 426, -206, 222, 32767, 0, 466, 36, + 426, 32767, 32767, 0, 32767, 0, 32767, 70, + 479, 32767, 514, 32767, 32767, 697, 436, 43, + 155, 32767, 32767, 0, 32767, -155, 32767, 11, + 649, -376, 32767, 0, -683, -330, 361, 0, + 57, 263, -43, 32767, 383, 0, 32767, 217, + 32767, 0, 478, 32767, 0, 32767, 463, 32767, + 501, 32767, 237, 301, 545, 302, 67, 311, + 1135, 152, 0, 342, 32767, 350, 418, 32767, + 0, 428, 0, 0, -353, 381, 790, 32767, + 32767, -259, 32767, 32767, 32767, 229, 417, 0, + 232, 32767, 0, 980, 32767, 0, 0, 275, + -314, 0, 0, 32767, 32767, 32767, 32767, 32767, + 0, 0, -89, 292, 1049, 32767, 32767, -284, + 18, 32767, 175, 0, 732, 111, 32767, 428, + -167, 92, -59, 199, 0, 793, 702, -231, + 32767, 32767, 32767, 32767, 187, 549, 32767, 32767, + 32767, 32767, 69, 480, 0, 490, 430, 32767, + 32767, 32767, 32767, -2, 32767, 240, 32767, 471, + 275, 32767, 524, 17, 0, 32767, 144, 0, + 310, 371, 328, 1016, -639, 32767, 51, 32767, + -982, 32767, 0, -727, 32767, 32767, -117, -115, + 249, 32767, 32767, -6, 32767, 183, -350, 32767, + 14, 32767, 32767, 118, -137, -321, 32767, 793, + 32767, 32767, 32767, 0, 32767, 77, 204, 71, + 32767, -228, -516, 32767, 790, 389, -1, 112, + 366, 245, 32767, 0, 32767, 0, -625, 154, + -211, 32767, 32767, 105, -253, 214, 0, 203, + 392, 0, 32767, 32767, 62, 102, 32767, 32767, + 29, 0, 0, 306, 32767, 32767, -29, 194, + 0, -120, 32767, 32767, 32767, 376, 32767, 27, + 32767, 356, 32767, 0, 32767, 75, 174, 32767, + 32767, 32767, -37, 32767, 255, 124, 845, 32767, + 0, 32767, 64, 32767, -472, -648, 32767, 584, + 0, 32767, 19, 201, 32767, 0, 32767, 32767, + -414, -171, -621, 32767, -134, 0, 515, 0, + 767, 32767, 32767, 414, 32767, -88, -236, 32767, + -52, 298, -254, 32767, 39, 0, 65, 118, + 32767, 182, 32767, 134, 0, 32767, 32767, 400, + 0, 32767, 32767, 705, 0, 32767, 32767, 269, + 32767, 32767, 296, 290, 32767, 0, 0, 32767, + 61, 32767, 299, 32767, -227, 240, 32767, 0, + 32767, 32767, 32767, 129, 32767, 0, 252, 32767, + 0, -487, 32767, 0, -127, 32767, 32767, 132, + 18, 0, 32767, 32767, -154, 0, 946, 401, + 264, 378, 0, 326, 32767, 0, 465, 233, + 87, 32767, 47, 0, -357, 32767, 32767, 0, + 0, -245, 835, 887, 32767, 32767, 32767, 32767, + 32767, 334, 0, -56, 32767, -196, 0, 32767, + 32767, 32767, 154, 32767, 20, -175, 63, 537, + 32767, 358, 32767, 121, 32767, 32767, 754, 0, + 32767, 0, -113, 0, 0, 207, 0, -256, + 32767, 241, 32767, 257, 32767, 194, -595, 23, + 19, 268, 666, 231, 0, 211, 32767, 32767, + 32767, 32767, 0, 115, 136, 0, 32767, 32767, + 404, -252, -432, 0, 0, 341, 32767, 410, + 32767, -125, 9, 32767, 482, 727, 0, 32767, + 252, 0, 32767, 32767, 147, 124, 270, 10, + -124, 47, 0, 300, 445, -246, 32767, 111, + 32767, 32767, 32767, -356, 103, 81, 32767, 32767, + 32767, 32767, 280, 306, 0, 32767, 695, 32767, + -768, 32767, 32767, 0, 32767, 0, 32767, 145, + 44, 32767, 32767, 32767, 432, 136, 32767, 0, + -903, 251, 32767, -222, 370, 405, 99, 17, + 32767, 564, 32767, 32767, 32767, 0, 32767, 32767, + 32767, 141, 0, 0, 32767, 32767, 32767, 344, + 0, 464, 0, 0, 32767, 32767, 32767, 0, + 463, 32767, 32767, 329, 32767, 32767, 422, 32767, + 220, 32767, 347, 32767, -17, 253, 18 }; const unsigned char *k = (const unsigned char *) key; @@ -1105,7 +1150,7 @@ ScanKeywords_hash_func(const void *key, size_t keylen) a = a * 257 + c; b = b * 31 + c; } - return h[a % 943] + h[b % 943]; + return h[a % 983] + h[b % 983]; } const ScanKeywordList ScanKeywords = { diff --git a/parser/include/postgres/lib/dshash.h b/parser/include/postgres/lib/dshash.h index ece55521..7dda269b 100644 --- a/parser/include/postgres/lib/dshash.h +++ b/parser/include/postgres/lib/dshash.h @@ -3,7 +3,7 @@ * dshash.h * Concurrent hash tables backed by dynamic shared memory areas. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -37,17 +37,19 @@ typedef int (*dshash_compare_function) (const void *a, const void *b, typedef dshash_hash (*dshash_hash_function) (const void *v, size_t size, void *arg); +/* A function type for copying keys. */ +typedef void (*dshash_copy_function) (void *dest, const void *src, size_t size, + void *arg); + /* * The set of parameters needed to create or attach to a hash table. The - * members tranche_id and tranche_name do not need to be initialized when - * attaching to an existing hash table. + * tranche_id member does not need to be initialized when attaching to an + * existing hash table. * - * Compare and hash functions must be supplied even when attaching, because we - * can't safely share function pointers between backends in general. Either - * the arg variants or the non-arg variants should be supplied; the other - * function pointers should be NULL. If the arg variants are supplied then the - * user data pointer supplied to the create and attach functions will be - * passed to the hash and compare functions. + * Compare, hash, and copy functions must be supplied even when attaching, + * because we can't safely share function pointers between backends in general. + * The user data pointer supplied to the create and attach functions will be + * passed to these functions. */ typedef struct dshash_parameters { @@ -55,6 +57,7 @@ typedef struct dshash_parameters size_t entry_size; /* Total size of entry */ dshash_compare_function compare_function; /* Compare function */ dshash_hash_function hash_function; /* Hash function */ + dshash_copy_function copy_function; /* Copy function */ int tranche_id; /* The tranche ID to use for locks */ } dshash_parameters; @@ -105,9 +108,21 @@ extern void *dshash_seq_next(dshash_seq_status *status); extern void dshash_seq_term(dshash_seq_status *status); extern void dshash_delete_current(dshash_seq_status *status); -/* Convenience hash and compare functions wrapping memcmp and tag_hash. */ +/* + * Convenience hash, compare, and copy functions wrapping memcmp, tag_hash, and + * memcpy. + */ extern int dshash_memcmp(const void *a, const void *b, size_t size, void *arg); extern dshash_hash dshash_memhash(const void *v, size_t size, void *arg); +extern void dshash_memcpy(void *dest, const void *src, size_t size, void *arg); + +/* + * Convenience hash, compare, and copy functions wrapping strcmp, string_hash, + * and strcpy. + */ +extern int dshash_strcmp(const void *a, const void *b, size_t size, void *arg); +extern dshash_hash dshash_strhash(const void *v, size_t size, void *arg); +extern void dshash_strcpy(void *dest, const void *src, size_t size, void *arg); /* Debugging support. */ extern void dshash_dump(dshash_table *hash_table); diff --git a/parser/include/postgres/lib/ilist.h b/parser/include/postgres/lib/ilist.h index 095107a9..381f6158 100644 --- a/parser/include/postgres/lib/ilist.h +++ b/parser/include/postgres/lib/ilist.h @@ -112,7 +112,7 @@ * } * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/include/postgres/lib/pairingheap.h b/parser/include/postgres/lib/pairingheap.h index 5691e103..7eade815 100644 --- a/parser/include/postgres/lib/pairingheap.h +++ b/parser/include/postgres/lib/pairingheap.h @@ -3,7 +3,7 @@ * * A Pairing Heap implementation * - * Portions Copyright (c) 2012-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2012-2024, PostgreSQL Global Development Group * * src/include/lib/pairingheap.h */ diff --git a/parser/include/postgres/lib/simplehash.h b/parser/include/postgres/lib/simplehash.h index b7adc16b..3e1b1f94 100644 --- a/parser/include/postgres/lib/simplehash.h +++ b/parser/include/postgres/lib/simplehash.h @@ -87,7 +87,7 @@ * looking or is done - buckets following a deleted element are shifted * backwards, unless they're empty or already at their optimal position. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/lib/simplehash.h @@ -128,7 +128,8 @@ #define SH_STAT SH_MAKE_NAME(stat) /* internal helper functions (no externally visible prototypes) */ -#define SH_COMPUTE_PARAMETERS SH_MAKE_NAME(compute_parameters) +#define SH_COMPUTE_SIZE SH_MAKE_NAME(compute_size) +#define SH_UPDATE_PARAMETERS SH_MAKE_NAME(update_parameters) #define SH_NEXT SH_MAKE_NAME(next) #define SH_PREV SH_MAKE_NAME(prev) #define SH_DISTANCE_FROM_OPTIMAL SH_MAKE_NAME(distance) @@ -303,11 +304,11 @@ SH_SCOPE void SH_STAT(SH_TYPE * tb); #endif /* - * Compute sizing parameters for hashtable. Called when creating and growing - * the hashtable. + * Compute allocation size for hashtable. Result can be passed to + * SH_UPDATE_PARAMETERS. */ -static inline void -SH_COMPUTE_PARAMETERS(SH_TYPE * tb, uint64 newsize) +static inline uint64 +SH_COMPUTE_SIZE(uint64 newsize) { uint64 size; @@ -325,6 +326,18 @@ SH_COMPUTE_PARAMETERS(SH_TYPE * tb, uint64 newsize) if (unlikely((((uint64) sizeof(SH_ELEMENT_TYPE)) * size) >= SIZE_MAX / 2)) sh_error("hash table too large"); + return size; +} + +/* + * Update sizing parameters for hashtable. Called when creating and growing + * the hashtable. + */ +static inline void +SH_UPDATE_PARAMETERS(SH_TYPE * tb, uint64 newsize) +{ + uint64 size = SH_COMPUTE_SIZE(newsize); + /* now set size */ tb->size = size; tb->sizemask = (uint32) (size - 1); @@ -446,10 +459,11 @@ SH_CREATE(MemoryContext ctx, uint32 nelements, void *private_data) /* increase nelements by fillfactor, want to store nelements elements */ size = Min((double) SH_MAX_SIZE, ((double) nelements) / SH_FILLFACTOR); - SH_COMPUTE_PARAMETERS(tb, size); + size = SH_COMPUTE_SIZE(size); - tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size); + tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * size); + SH_UPDATE_PARAMETERS(tb, size); return tb; } @@ -490,10 +504,15 @@ SH_GROW(SH_TYPE * tb, uint64 newsize) Assert(oldsize != SH_MAX_SIZE); Assert(oldsize < newsize); - /* compute parameters for new table */ - SH_COMPUTE_PARAMETERS(tb, newsize); + newsize = SH_COMPUTE_SIZE(newsize); - tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size); + tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * newsize); + + /* + * Update parameters for new table after allocation succeeds to avoid + * inconsistent state on OOM. + */ + SH_UPDATE_PARAMETERS(tb, newsize); newdata = tb->data; @@ -751,9 +770,8 @@ SH_INSERT_HASH_INTERNAL(SH_TYPE * tb, SH_KEY_TYPE key, uint32 hash, bool *found) } /* - * Insert the key key into the hash-table, set *found to true if the key - * already exists, false otherwise. Returns the hash-table entry in either - * case. + * Insert the key into the hash-table, set *found to true if the key already + * exists, false otherwise. Returns the hash-table entry in either case. */ SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT(SH_TYPE * tb, SH_KEY_TYPE key, bool *found) @@ -764,9 +782,9 @@ SH_INSERT(SH_TYPE * tb, SH_KEY_TYPE key, bool *found) } /* - * Insert the key key into the hash-table using an already-calculated - * hash. Set *found to true if the key already exists, false - * otherwise. Returns the hash-table entry in either case. + * Insert the key into the hash-table using an already-calculated hash. Set + * *found to true if the key already exists, false otherwise. Returns the + * hash-table entry in either case. */ SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT_HASH(SH_TYPE * tb, SH_KEY_TYPE key, uint32 hash, bool *found) @@ -1101,6 +1119,9 @@ SH_STAT(SH_TYPE * tb) max_collisions = curcoll; } + /* large enough to be worth freeing, even if just used for debugging */ + pfree(collisions); + if (tb->members > 0) { fillfactor = tb->members / ((double) tb->size); @@ -1173,7 +1194,8 @@ SH_STAT(SH_TYPE * tb) #undef SH_STAT /* internal function names */ -#undef SH_COMPUTE_PARAMETERS +#undef SH_COMPUTE_SIZE +#undef SH_UPDATE_PARAMETERS #undef SH_COMPARE_KEYS #undef SH_INITIAL_BUCKET #undef SH_NEXT diff --git a/parser/include/postgres/lib/sort_template.h b/parser/include/postgres/lib/sort_template.h index 1edd05c7..00a04a6d 100644 --- a/parser/include/postgres/lib/sort_template.h +++ b/parser/include/postgres/lib/sort_template.h @@ -5,7 +5,7 @@ * A template for a sort algorithm that supports varying degrees of * specialization. * - * Copyright (c) 2021-2023, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1992-1994, Regents of the University of California * * Usage notes: @@ -34,6 +34,16 @@ * - ST_COMPARE(a, b, arg) - variant that takes an extra argument * - ST_COMPARE_RUNTIME_POINTER - sort function takes a function pointer * + * NB: If the comparator function is inlined, some compilers may produce + * worse code with the optimized comparison routines in common/int.h than + * with code with the following form: + * + * if (a < b) + * return -1; + * if (a > b) + * return 1; + * return 0; + * * To say that the comparator and therefore also sort function should * receive an extra pass-through argument, specify the type of the * argument. @@ -243,6 +253,9 @@ ST_SCOPE void ST_SORT(ST_ELEMENT_TYPE * first, size_t n * Find the median of three values. Currently, performance seems to be best * if the comparator is inlined here, but the med3 function is not inlined * in the qsort function. + * + * Refer to the comment at the top of this file for known caveats to consider + * when writing inlined comparator functions. */ static pg_noinline ST_ELEMENT_TYPE * ST_MED3(ST_ELEMENT_TYPE * a, diff --git a/parser/include/postgres/lib/stringinfo.h b/parser/include/postgres/lib/stringinfo.h index 36a416f8..cd9632e3 100644 --- a/parser/include/postgres/lib/stringinfo.h +++ b/parser/include/postgres/lib/stringinfo.h @@ -8,7 +8,7 @@ * (null-terminated text) or arbitrary binary data. All storage is allocated * with palloc() (falling back to malloc in frontend code). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/lib/stringinfo.h @@ -20,17 +20,27 @@ /*------------------------- * StringInfoData holds information about an extensible string. - * data is the current buffer for the string (allocated with palloc). - * len is the current string length. There is guaranteed to be - * a terminating '\0' at data[len], although this is not very - * useful when the string holds binary data rather than text. + * data is the current buffer for the string. + * len is the current string length. Except in the case of read-only + * strings described below, there is guaranteed to be a + * terminating '\0' at data[len]. * maxlen is the allocated size in bytes of 'data', i.e. the maximum * string size (including the terminating '\0' char) that we can * currently store in 'data' without having to reallocate - * more space. We must always have maxlen > len. - * cursor is initialized to zero by makeStringInfo or initStringInfo, - * but is not otherwise touched by the stringinfo.c routines. - * Some routines use it to scan through a StringInfo. + * more space. We must always have maxlen > len, except + * in the read-only case described below. + * cursor is initialized to zero by makeStringInfo, initStringInfo, + * initReadOnlyStringInfo and initStringInfoFromString but is not + * otherwise touched by the stringinfo.c routines. Some routines + * use it to scan through a StringInfo. + * + * As a special case, a StringInfoData can be initialized with a read-only + * string buffer. In this case "data" does not necessarily point at a + * palloc'd chunk, and management of the buffer storage is the caller's + * responsibility. maxlen is set to zero to indicate that this is the case. + * Read-only StringInfoDatas cannot be appended to or reset. + * Also, it is caller's option whether a read-only string buffer has a + * terminating '\0' or not. This depends on the intended usage. *------------------------- */ typedef struct StringInfoData @@ -45,7 +55,7 @@ typedef StringInfoData *StringInfo; /*------------------------ - * There are two ways to create a StringInfo object initially: + * There are four ways to create a StringInfo object initially: * * StringInfo stringptr = makeStringInfo(); * Both the StringInfoData and the data buffer are palloc'd. @@ -56,8 +66,32 @@ typedef StringInfoData *StringInfo; * This is the easiest approach for a StringInfo object that will * only live as long as the current routine. * + * StringInfoData string; + * initReadOnlyStringInfo(&string, existingbuf, len); + * The StringInfoData's data field is set to point directly to the + * existing buffer and the StringInfoData's len is set to the given len. + * The given buffer can point to memory that's not managed by palloc or + * is pointing partway through a palloc'd chunk. The maxlen field is set + * to 0. A read-only StringInfo cannot be appended to using any of the + * appendStringInfo functions or reset with resetStringInfo(). The given + * buffer can optionally omit the trailing NUL. + * + * StringInfoData string; + * initStringInfoFromString(&string, palloced_buf, len); + * The StringInfoData's data field is set to point directly to the given + * buffer and the StringInfoData's len is set to the given len. This + * method of initialization is useful when the buffer already exists. + * StringInfos initialized this way can be appended to using the + * appendStringInfo functions and reset with resetStringInfo(). The + * given buffer must be NUL-terminated. The palloc'd buffer is assumed + * to be len + 1 in size. + * * To destroy a StringInfo, pfree() the data buffer, and then pfree() the - * StringInfoData if it was palloc'd. There's no special support for this. + * StringInfoData if it was palloc'd. For StringInfos created with + * makeStringInfo(), destroyStringInfo() is provided for this purpose. + * However, if the StringInfo was initialized using initReadOnlyStringInfo() + * then the caller will need to consider if it is safe to pfree the data + * buffer. * * NOTE: some routines build up a string using StringInfo, and then * release the StringInfoData but return the data string itself to their @@ -79,6 +113,48 @@ extern StringInfo makeStringInfo(void); */ extern void initStringInfo(StringInfo str); +/*------------------------ + * initReadOnlyStringInfo + * Initialize a StringInfoData struct from an existing string without copying + * the string. The caller is responsible for ensuring the given string + * remains valid as long as the StringInfoData does. Calls to this are used + * in performance critical locations where allocating a new buffer and copying + * would be too costly. Read-only StringInfoData's may not be appended to + * using any of the appendStringInfo functions or reset with + * resetStringInfo(). + * + * 'data' does not need to point directly to a palloc'd chunk of memory and may + * omit the NUL termination character at data[len]. + */ +static inline void +initReadOnlyStringInfo(StringInfo str, char *data, int len) +{ + str->data = data; + str->len = len; + str->maxlen = 0; /* read-only */ + str->cursor = 0; +} + +/*------------------------ + * initStringInfoFromString + * Initialize a StringInfoData struct from an existing string without copying + * the string. 'data' must be a valid palloc'd chunk of memory that can have + * repalloc() called should more space be required during a call to any of the + * appendStringInfo functions. + * + * 'data' must be NUL terminated at 'len' bytes. + */ +static inline void +initStringInfoFromString(StringInfo str, char *data, int len) +{ + Assert(data[len] == '\0'); + + str->data = data; + str->len = len; + str->maxlen = len + 1; + str->cursor = 0; +} + /*------------------------ * resetStringInfo * Clears the current content of the StringInfo, if any. The @@ -158,4 +234,10 @@ extern void appendBinaryStringInfoNT(StringInfo str, */ extern void enlargeStringInfo(StringInfo str, int needed); +/*------------------------ + * destroyStringInfo + * Frees a StringInfo and its buffer (opposite of makeStringInfo()). + */ +extern void destroyStringInfo(StringInfo str); + #endif /* STRINGINFO_H */ diff --git a/parser/include/postgres/libpq/auth.h b/parser/include/postgres/libpq/auth.h index 7fac05b8..227b41da 100644 --- a/parser/include/postgres/libpq/auth.h +++ b/parser/include/postgres/libpq/auth.h @@ -4,7 +4,7 @@ * Definitions for network authentication routines * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/auth.h diff --git a/parser/include/postgres/libpq/crypt.h b/parser/include/postgres/libpq/crypt.h index ddcd2746..f744de4d 100644 --- a/parser/include/postgres/libpq/crypt.h +++ b/parser/include/postgres/libpq/crypt.h @@ -3,7 +3,7 @@ * crypt.h * Interface to libpq/crypt.c * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/crypt.h @@ -28,7 +28,7 @@ typedef enum PasswordType { PASSWORD_TYPE_PLAINTEXT = 0, PASSWORD_TYPE_MD5, - PASSWORD_TYPE_SCRAM_SHA_256 + PASSWORD_TYPE_SCRAM_SHA_256, } PasswordType; extern PasswordType get_password_type(const char *shadow_pass); diff --git a/parser/include/postgres/libpq/hba.h b/parser/include/postgres/libpq/hba.h index 189f6d0d..8ea837ae 100644 --- a/parser/include/postgres/libpq/hba.h +++ b/parser/include/postgres/libpq/hba.h @@ -38,7 +38,7 @@ typedef enum UserAuth uaLDAP, uaCert, uaRADIUS, - uaPeer + uaPeer, #define USER_AUTH_LAST uaPeer /* Must be last value of this enum */ } UserAuth; @@ -51,7 +51,7 @@ typedef enum IPCompareMethod ipCmpMask, ipCmpSameHost, ipCmpSameNet, - ipCmpAll + ipCmpAll, } IPCompareMethod; typedef enum ConnType @@ -68,13 +68,13 @@ typedef enum ClientCertMode { clientCertOff, clientCertCA, - clientCertFull + clientCertFull, } ClientCertMode; typedef enum ClientCertName { clientCertCN, - clientCertDN + clientCertDN, } ClientCertName; /* diff --git a/parser/include/postgres/libpq/libpq-be.h b/parser/include/postgres/libpq/libpq-be.h index 3b2ce990..05cb1874 100644 --- a/parser/include/postgres/libpq/libpq-be.h +++ b/parser/include/postgres/libpq/libpq-be.h @@ -8,7 +8,7 @@ * Structs that need to be client-visible are in pqcomm.h. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/libpq-be.h @@ -58,17 +58,6 @@ typedef struct #include "libpq/pqcomm.h" -typedef enum CAC_state -{ - CAC_OK, - CAC_STARTUP, - CAC_SHUTDOWN, - CAC_RECOVERY, - CAC_NOTCONSISTENT, - CAC_TOOMANY -} CAC_state; - - /* * GSSAPI specific state information */ @@ -121,12 +110,9 @@ typedef struct ClientConnectionInfo } ClientConnectionInfo; /* - * This is used by the postmaster in its communication with frontends. It - * contains all state information needed during this communication before the - * backend is run. The Port structure is kept in malloc'd memory and is - * still available when a backend is running (see MyProcPort). The data - * it points to must also be malloc'd, or else palloc'd in TopMemoryContext, - * so that it survives into PostgresMain execution! + * The Port structure holds state information about a client connection in a + * backend process. It is available in the global variable MyProcPort. The + * struct and all the data it points are kept in TopMemoryContext. * * remote_hostname is set if we did a successful reverse lookup of the * client's IP address during connection setup. @@ -156,7 +142,6 @@ typedef struct Port int remote_hostname_resolv; /* see above */ int remote_hostname_errcode; /* see above */ char *remote_port; /* text rep of remote port */ - CAC_state canAcceptConnections; /* postmaster connection status */ /* * Information that needs to be saved from the startup packet and passed @@ -218,6 +203,7 @@ typedef struct Port char *peer_cn; char *peer_dn; bool peer_cert_valid; + bool alpn_used; /* * OpenSSL structures. (Keep these last so that the locations of other @@ -227,8 +213,32 @@ typedef struct Port SSL *ssl; X509 *peer; #endif + + /* + * This is a bit of a hack. raw_buf is data that was previously read and + * buffered in a higher layer but then "unread" and needs to be read again + * while establishing an SSL connection via the SSL library layer. + * + * There's no API to "unread", the upper layer just places the data in the + * Port structure in raw_buf and sets raw_buf_remaining to the amount of + * bytes unread and raw_buf_consumed to 0. + */ + char *raw_buf; + ssize_t raw_buf_consumed, + raw_buf_remaining; } Port; +/* + * ClientSocket holds a socket for an accepted connection, along with the + * information about the remote endpoint. This is passed from postmaster to + * the backend process. + */ +typedef struct ClientSocket +{ + pgsocket sock; /* File descriptor */ + SockAddr raddr; /* remote addr (client) */ +} ClientSocket; + #ifdef USE_SSL /* * Hardcoded DH parameters, used in ephemeral DH keying. (See also @@ -305,14 +315,8 @@ extern void be_tls_get_peer_serial(Port *port, char *ptr, size_t len); * * The result is a palloc'd hash of the server certificate with its * size, and NULL if there is no certificate available. - * - * This is not supported with old versions of OpenSSL that don't have - * the X509_get_signature_nid() function. */ -#if defined(USE_OPENSSL) && (defined(HAVE_X509_GET_SIGNATURE_NID) || defined(HAVE_X509_GET_SIGNATURE_INFO)) -#define HAVE_BE_TLS_GET_CERTIFICATE_HASH extern char *be_tls_get_certificate_hash(Port *port, size_t *len); -#endif /* init hook for SSL, the default sets the password callback if appropriate */ #ifdef USE_OPENSSL diff --git a/parser/include/postgres/libpq/libpq.h b/parser/include/postgres/libpq/libpq.h index 50fc781f..142c9846 100644 --- a/parser/include/postgres/libpq/libpq.h +++ b/parser/include/postgres/libpq/libpq.h @@ -4,7 +4,7 @@ * POSTGRES LIBPQ buffer structure definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/libpq.h @@ -64,14 +64,13 @@ extern PGDLLIMPORT WaitEventSet *FeBeWaitSet; #define FeBeWaitSetLatchPos 1 #define FeBeWaitSetNEvents 3 -extern int StreamServerPort(int family, const char *hostName, +extern int ListenServerPort(int family, const char *hostName, unsigned short portNumber, const char *unixSocketDir, - pgsocket ListenSocket[], int MaxListen); -extern int StreamConnection(pgsocket server_fd, Port *port); -extern void StreamClose(pgsocket sock); + pgsocket ListenSockets[], int *NumListenSockets, int MaxListen); +extern int AcceptConnection(pgsocket server_fd, ClientSocket *client_sock); extern void TouchSocketFiles(void); extern void RemoveSocketFiles(void); -extern void pq_init(void); +extern Port *pq_init(ClientSocket *client_sock); extern int pq_getbytes(char *s, size_t len); extern void pq_startmsgread(void); extern void pq_endmsgread(void); @@ -80,7 +79,7 @@ extern int pq_getmessage(StringInfo s, int maxlen); extern int pq_getbyte(void); extern int pq_peekbyte(void); extern int pq_getbyte_if_available(unsigned char *c); -extern bool pq_buffer_has_data(void); +extern ssize_t pq_buffer_remaining_data(void); extern int pq_putmessage_v2(char msgtype, const char *s, size_t len); extern bool pq_check_connection(void); diff --git a/parser/include/postgres/libpq/pqcomm.h b/parser/include/postgres/libpq/pqcomm.h index c8509025..527735e3 100644 --- a/parser/include/postgres/libpq/pqcomm.h +++ b/parser/include/postgres/libpq/pqcomm.h @@ -6,7 +6,7 @@ * NOTE: for historical reasons, this does not correspond to pqcomm.c. * pqcomm.c's routines are declared in libpq.h. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqcomm.h @@ -21,6 +21,12 @@ #include #include +/* + * The definitions for the request/response codes are kept in a separate file + * for ease of use in third party programs. + */ +#include "libpq/protocol.h" + typedef struct { struct sockaddr_storage addr; @@ -103,8 +109,6 @@ typedef ProtocolVersion MsgType; typedef uint32 PacketLen; -extern PGDLLIMPORT bool Db_user_namespace; - /* * In protocol 3.0 and later, the startup packet length is not fixed, but * we set an arbitrary limit on it anyway. This is just to prevent simple @@ -114,23 +118,6 @@ extern PGDLLIMPORT bool Db_user_namespace; #define MAX_STARTUP_PACKET_LENGTH 10000 -/* These are the authentication request codes sent by the backend. */ - -#define AUTH_REQ_OK 0 /* User is authenticated */ -#define AUTH_REQ_KRB4 1 /* Kerberos V4. Not supported any more. */ -#define AUTH_REQ_KRB5 2 /* Kerberos V5. Not supported any more. */ -#define AUTH_REQ_PASSWORD 3 /* Password */ -#define AUTH_REQ_CRYPT 4 /* crypt password. Not supported any more. */ -#define AUTH_REQ_MD5 5 /* md5 password */ -/* 6 is available. It was used for SCM creds, not supported any more. */ -#define AUTH_REQ_GSS 7 /* GSSAPI without wrap() */ -#define AUTH_REQ_GSS_CONT 8 /* Continue GSS exchanges */ -#define AUTH_REQ_SSPI 9 /* SSPI negotiate without wrap() */ -#define AUTH_REQ_SASL 10 /* Begin SASL authentication */ -#define AUTH_REQ_SASL_CONT 11 /* Continue SASL authentication */ -#define AUTH_REQ_SASL_FIN 12 /* Final SASL message */ -#define AUTH_REQ_MAX AUTH_REQ_SASL_FIN /* maximum AUTH_REQ_* value */ - typedef uint32 AuthRequest; @@ -152,6 +139,25 @@ typedef struct CancelRequestPacket uint32 cancelAuthCode; /* secret key to authorize cancel */ } CancelRequestPacket; +/* Application-Layer Protocol Negotiation is required for direct connections + * to avoid protocol confusion attacks (e.g https://alpaca-attack.com/). + * + * ALPN is specified in RFC 7301 + * + * This string should be registered at: + * https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + * + * OpenSSL uses this wire-format for the list of alpn protocols even in the + * API. Both server and client take the same format parameter but the client + * actually sends it to the server as-is and the server it specifies the + * preference order to use to choose the one selected to send back. + * + * c.f. https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_alpn_select_cb.html + * + * The #define can be used to initialize a char[] vector to use directly in the API + */ +#define PG_ALPN_PROTOCOL "postgresql" +#define PG_ALPN_PROTOCOL_VECTOR { 10, 'p','o','s','t','g','r','e','s','q','l' } /* * A client can also start by sending a SSL or GSSAPI negotiation request to diff --git a/parser/include/postgres/libpq/pqformat.h b/parser/include/postgres/libpq/pqformat.h index 0d2f958a..7f48cbde 100644 --- a/parser/include/postgres/libpq/pqformat.h +++ b/parser/include/postgres/libpq/pqformat.h @@ -3,7 +3,7 @@ * pqformat.h * Definitions for formatting and parsing frontend/backend messages * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqformat.h @@ -23,8 +23,7 @@ extern void pq_endmessage(StringInfo buf); extern void pq_endmessage_reuse(StringInfo buf); extern void pq_sendbytes(StringInfo buf, const void *data, int datalen); -extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen, - bool countincludesself); +extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen); extern void pq_sendtext(StringInfo buf, const char *str, int slen); extern void pq_sendstring(StringInfo buf, const char *str); extern void pq_send_ascii_string(StringInfo buf, const char *str); diff --git a/parser/include/postgres/libpq/pqsignal.h b/parser/include/postgres/libpq/pqsignal.h index 023bcd13..cf6a3942 100644 --- a/parser/include/postgres/libpq/pqsignal.h +++ b/parser/include/postgres/libpq/pqsignal.h @@ -3,7 +3,7 @@ * pqsignal.h * Backend signal(2) support (see also src/port/pqsignal.c) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqsignal.h diff --git a/parser/include/postgres/libpq/protocol.h b/parser/include/postgres/libpq/protocol.h new file mode 100644 index 00000000..b71add1e --- /dev/null +++ b/parser/include/postgres/libpq/protocol.h @@ -0,0 +1,89 @@ +/*------------------------------------------------------------------------- + * + * protocol.h + * Definitions of the request/response codes for the wire protocol. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/libpq/protocol.h + * + *------------------------------------------------------------------------- + */ +#ifndef PROTOCOL_H +#define PROTOCOL_H + +/* These are the request codes sent by the frontend. */ + +#define PqMsg_Bind 'B' +#define PqMsg_Close 'C' +#define PqMsg_Describe 'D' +#define PqMsg_Execute 'E' +#define PqMsg_FunctionCall 'F' +#define PqMsg_Flush 'H' +#define PqMsg_Parse 'P' +#define PqMsg_Query 'Q' +#define PqMsg_Sync 'S' +#define PqMsg_Terminate 'X' +#define PqMsg_CopyFail 'f' +#define PqMsg_GSSResponse 'p' +#define PqMsg_PasswordMessage 'p' +#define PqMsg_SASLInitialResponse 'p' +#define PqMsg_SASLResponse 'p' + + +/* These are the response codes sent by the backend. */ + +#define PqMsg_ParseComplete '1' +#define PqMsg_BindComplete '2' +#define PqMsg_CloseComplete '3' +#define PqMsg_NotificationResponse 'A' +#define PqMsg_CommandComplete 'C' +#define PqMsg_DataRow 'D' +#define PqMsg_ErrorResponse 'E' +#define PqMsg_CopyInResponse 'G' +#define PqMsg_CopyOutResponse 'H' +#define PqMsg_EmptyQueryResponse 'I' +#define PqMsg_BackendKeyData 'K' +#define PqMsg_NoticeResponse 'N' +#define PqMsg_AuthenticationRequest 'R' +#define PqMsg_ParameterStatus 'S' +#define PqMsg_RowDescription 'T' +#define PqMsg_FunctionCallResponse 'V' +#define PqMsg_CopyBothResponse 'W' +#define PqMsg_ReadyForQuery 'Z' +#define PqMsg_NoData 'n' +#define PqMsg_PortalSuspended 's' +#define PqMsg_ParameterDescription 't' +#define PqMsg_NegotiateProtocolVersion 'v' + + +/* These are the codes sent by both the frontend and backend. */ + +#define PqMsg_CopyDone 'c' +#define PqMsg_CopyData 'd' + + +/* These are the codes sent by parallel workers to leader processes. */ +#define PqMsg_Progress 'P' + + +/* These are the authentication request codes sent by the backend. */ + +#define AUTH_REQ_OK 0 /* User is authenticated */ +#define AUTH_REQ_KRB4 1 /* Kerberos V4. Not supported any more. */ +#define AUTH_REQ_KRB5 2 /* Kerberos V5. Not supported any more. */ +#define AUTH_REQ_PASSWORD 3 /* Password */ +#define AUTH_REQ_CRYPT 4 /* crypt password. Not supported any more. */ +#define AUTH_REQ_MD5 5 /* md5 password */ +/* 6 is available. It was used for SCM creds, not supported any more. */ +#define AUTH_REQ_GSS 7 /* GSSAPI without wrap() */ +#define AUTH_REQ_GSS_CONT 8 /* Continue GSS exchanges */ +#define AUTH_REQ_SSPI 9 /* SSPI negotiate without wrap() */ +#define AUTH_REQ_SASL 10 /* Begin SASL authentication */ +#define AUTH_REQ_SASL_CONT 11 /* Continue SASL authentication */ +#define AUTH_REQ_SASL_FIN 12 /* Final SASL message */ +#define AUTH_REQ_MAX AUTH_REQ_SASL_FIN /* maximum AUTH_REQ_* value */ + +#endif /* PROTOCOL_H */ diff --git a/parser/include/postgres/libpq/sasl.h b/parser/include/postgres/libpq/sasl.h index 7a1b1ed0..7a1f970c 100644 --- a/parser/include/postgres/libpq/sasl.h +++ b/parser/include/postgres/libpq/sasl.h @@ -7,7 +7,7 @@ * * See src/interfaces/libpq/fe-auth-sasl.h for the frontend counterpart. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/sasl.h diff --git a/parser/include/postgres/libpq/scram.h b/parser/include/postgres/libpq/scram.h index 310bc365..2ae90105 100644 --- a/parser/include/postgres/libpq/scram.h +++ b/parser/include/postgres/libpq/scram.h @@ -3,7 +3,7 @@ * scram.h * Interface to libpq/scram.c * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/scram.h diff --git a/parser/include/postgres/mb/pg_wchar.h b/parser/include/postgres/mb/pg_wchar.h index 25276b19..249cd18a 100644 --- a/parser/include/postgres/mb/pg_wchar.h +++ b/parser/include/postgres/mb/pg_wchar.h @@ -3,7 +3,7 @@ * pg_wchar.h * multibyte-character support * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/mb/pg_wchar.h @@ -13,14 +13,15 @@ * included by libpq client programs. In particular, a libpq client * should not assume that the encoding IDs used by the version of libpq * it's linked to match up with the IDs declared here. + * To help prevent mistakes, relevant functions that are exported by + * libpq have a physically different name when being referenced + * statically. * *------------------------------------------------------------------------- */ #ifndef PG_WCHAR_H #define PG_WCHAR_H -#include "port/simd.h" - /* * The pg_wchar type */ @@ -223,11 +224,10 @@ typedef unsigned int pg_wchar; /* * PostgreSQL encoding identifiers * - * WARNING: the order of this enum must be same as order of entries - * in the pg_enc2name_tbl[] array (in src/common/encnames.c), and - * in the pg_wchar_table[] array (in src/common/wchar.c)! - * - * If you add some encoding don't forget to check + * WARNING: If you add some encoding don't forget to update + * the pg_enc2name_tbl[] array (in src/common/encnames.c), + * the pg_enc2gettext_tbl[] array (in src/common/encnames.c) and + * the pg_wchar_table[] array (in src/common/wchar.c) and to check * PG_ENCODING_BE_LAST macro. * * PG_SQL_ASCII is default encoding and must be = 0. @@ -366,13 +366,7 @@ extern PGDLLIMPORT const pg_enc2name pg_enc2name_tbl[]; /* * Encoding names for gettext */ -typedef struct pg_enc2gettext -{ - pg_enc encoding; - const char *name; -} pg_enc2gettext; - -extern PGDLLIMPORT const pg_enc2gettext pg_enc2gettext_tbl[]; +extern PGDLLIMPORT const char *pg_enc2gettext_tbl[]; /* * pg_wchar stuff @@ -561,6 +555,99 @@ surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second) return ((first & 0x3FF) << 10) + 0x10000 + (second & 0x3FF); } +/* + * Convert a UTF-8 character to a Unicode code point. + * This is a one-character version of pg_utf2wchar_with_len. + * + * No error checks here, c must point to a long-enough string. + */ +static inline pg_wchar +utf8_to_unicode(const unsigned char *c) +{ + if ((*c & 0x80) == 0) + return (pg_wchar) c[0]; + else if ((*c & 0xe0) == 0xc0) + return (pg_wchar) (((c[0] & 0x1f) << 6) | + (c[1] & 0x3f)); + else if ((*c & 0xf0) == 0xe0) + return (pg_wchar) (((c[0] & 0x0f) << 12) | + ((c[1] & 0x3f) << 6) | + (c[2] & 0x3f)); + else if ((*c & 0xf8) == 0xf0) + return (pg_wchar) (((c[0] & 0x07) << 18) | + ((c[1] & 0x3f) << 12) | + ((c[2] & 0x3f) << 6) | + (c[3] & 0x3f)); + else + /* that is an invalid code on purpose */ + return 0xffffffff; +} + +/* + * Map a Unicode code point to UTF-8. utf8string must have at least + * unicode_utf8len(c) bytes available. + */ +static inline unsigned char * +unicode_to_utf8(pg_wchar c, unsigned char *utf8string) +{ + if (c <= 0x7F) + { + utf8string[0] = c; + } + else if (c <= 0x7FF) + { + utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); + utf8string[1] = 0x80 | (c & 0x3F); + } + else if (c <= 0xFFFF) + { + utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); + utf8string[1] = 0x80 | ((c >> 6) & 0x3F); + utf8string[2] = 0x80 | (c & 0x3F); + } + else + { + utf8string[0] = 0xF0 | ((c >> 18) & 0x07); + utf8string[1] = 0x80 | ((c >> 12) & 0x3F); + utf8string[2] = 0x80 | ((c >> 6) & 0x3F); + utf8string[3] = 0x80 | (c & 0x3F); + } + + return utf8string; +} + +/* + * Number of bytes needed to represent the given char in UTF8. + */ +static inline int +unicode_utf8len(pg_wchar c) +{ + if (c <= 0x7F) + return 1; + else if (c <= 0x7FF) + return 2; + else if (c <= 0xFFFF) + return 3; + else + return 4; +} + +/* + * The functions in this list are exported by libpq, and we need to be sure + * that we know which calls are satisfied by libpq and which are satisfied + * by static linkage to libpgcommon. (This is because we might be using a + * libpq.so that's of a different major version and has encoding IDs that + * differ from the current version's.) The nominal function names are what + * are actually used in and exported by libpq, while the names exported by + * libpgcommon.a and libpgcommon_srv.a end in "_private". + */ +#if defined(USE_PRIVATE_ENCODING_FUNCS) || !defined(FRONTEND) +#define pg_char_to_encoding pg_char_to_encoding_private +#define pg_encoding_to_char pg_encoding_to_char_private +#define pg_valid_server_encoding pg_valid_server_encoding_private +#define pg_valid_server_encoding_id pg_valid_server_encoding_id_private +#define pg_utf_mblen pg_utf_mblen_private +#endif /* * These functions are considered part of libpq's exported API and @@ -702,71 +789,4 @@ extern int mic2latin_with_table(const unsigned char *mic, unsigned char *p, extern WCHAR *pgwin32_message_to_UTF16(const char *str, int len, int *utf16len); #endif - -/* - * Verify a chunk of bytes for valid ASCII. - * - * Returns false if the input contains any zero bytes or bytes with the - * high-bit set. Input len must be a multiple of the chunk size (8 or 16). - */ -static inline bool -is_valid_ascii(const unsigned char *s, int len) -{ - const unsigned char *const s_end = s + len; - Vector8 chunk; - Vector8 highbit_cum = vector8_broadcast(0); -#ifdef USE_NO_SIMD - Vector8 zero_cum = vector8_broadcast(0x80); -#endif - - Assert(len % sizeof(chunk) == 0); - - while (s < s_end) - { - vector8_load(&chunk, s); - - /* Capture any zero bytes in this chunk. */ -#ifdef USE_NO_SIMD - - /* - * First, add 0x7f to each byte. This sets the high bit in each byte, - * unless it was a zero. If any resulting high bits are zero, the - * corresponding high bits in the zero accumulator will be cleared. - * - * If none of the bytes in the chunk had the high bit set, the max - * value each byte can have after the addition is 0x7f + 0x7f = 0xfe, - * and we don't need to worry about carrying over to the next byte. If - * any input bytes did have the high bit set, it doesn't matter - * because we check for those separately. - */ - zero_cum &= (chunk + vector8_broadcast(0x7F)); -#else - - /* - * Set all bits in each lane of the highbit accumulator where input - * bytes are zero. - */ - highbit_cum = vector8_or(highbit_cum, - vector8_eq(chunk, vector8_broadcast(0))); -#endif - - /* Capture all set bits in this chunk. */ - highbit_cum = vector8_or(highbit_cum, chunk); - - s += sizeof(chunk); - } - - /* Check if any high bits in the high bit accumulator got set. */ - if (vector8_is_highbit_set(highbit_cum)) - return false; - -#ifdef USE_NO_SIMD - /* Check if any high bits in the zero accumulator got cleared. */ - if (zero_cum != vector8_broadcast(0x80)) - return false; -#endif - - return true; -} - #endif /* PG_WCHAR_H */ diff --git a/parser/include/postgres/mb/stringinfo_mb.h b/parser/include/postgres/mb/stringinfo_mb.h index 9c533f3e..bdef416e 100644 --- a/parser/include/postgres/mb/stringinfo_mb.h +++ b/parser/include/postgres/mb/stringinfo_mb.h @@ -3,7 +3,7 @@ * stringinfo_mb.h * multibyte support for StringInfo * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/mb/stringinfo_mb.h diff --git a/parser/include/postgres/miscadmin.h b/parser/include/postgres/miscadmin.h index 8fcdba35..d40ea618 100644 --- a/parser/include/postgres/miscadmin.h +++ b/parser/include/postgres/miscadmin.h @@ -10,7 +10,7 @@ * Over time, this has also become the preferred place for widely known * resource-limitation stuff, such as work_mem and check_stack_depth(). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/miscadmin.h @@ -91,6 +91,7 @@ extern PGDLLIMPORT __thread volatile sig_atomic_t InterruptPending; extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending; extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending; extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t TransactionTimeoutPending; extern PGDLLIMPORT volatile sig_atomic_t IdleSessionTimeoutPending; extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending; extern PGDLLIMPORT volatile sig_atomic_t LogMemoryContextPending; @@ -164,7 +165,6 @@ do { \ extern PGDLLIMPORT pid_t PostmasterPid; extern PGDLLIMPORT bool IsPostmasterEnvironment; extern PGDLLIMPORT bool IsUnderPostmaster; -extern PGDLLIMPORT bool IsBackgroundWorker; extern PGDLLIMPORT bool IsBinaryUpgrade; extern PGDLLIMPORT __thread bool ExitOnAnyError; @@ -178,6 +178,14 @@ extern PGDLLIMPORT int MaxConnections; extern PGDLLIMPORT int max_worker_processes; extern PGDLLIMPORT int max_parallel_workers; +extern PGDLLIMPORT int commit_timestamp_buffers; +extern PGDLLIMPORT int multixact_member_buffers; +extern PGDLLIMPORT int multixact_offset_buffers; +extern PGDLLIMPORT int notify_buffers; +extern PGDLLIMPORT int serializable_buffers; +extern PGDLLIMPORT int subtransaction_buffers; +extern PGDLLIMPORT int transaction_buffers; + extern PGDLLIMPORT int MyProcPid; extern PGDLLIMPORT pg_time_t MyStartTime; extern PGDLLIMPORT TimestampTz MyStartTimestamp; @@ -194,15 +202,12 @@ extern PGDLLIMPORT char pkglib_path[]; extern PGDLLIMPORT char postgres_exec_path[]; #endif -/* - * done in storage/backendid.h for now. - * - * extern BackendId MyBackendId; - */ extern PGDLLIMPORT Oid MyDatabaseId; extern PGDLLIMPORT Oid MyDatabaseTableSpace; +extern PGDLLIMPORT bool MyDatabaseHasLoginEventTriggers; + /* * Date/Time Configuration * @@ -300,10 +305,6 @@ extern void PreventCommandIfReadOnly(const char *cmdname); extern void PreventCommandIfParallelMode(const char *cmdname); extern void PreventCommandDuringRecovery(const char *cmdname); -/* in utils/misc/guc_tables.c */ -extern PGDLLIMPORT int trace_recovery_messages; -extern int trace_recovery(int trace_level); - /***************************************************************************** * pdir.h -- * * POSTGRES directory path definitions. * @@ -323,28 +324,66 @@ extern void InitProcessLocalLatch(void); extern void SwitchToSharedLatch(void); extern void SwitchBackToLocalLatch(void); +/* + * MyBackendType indicates what kind of a backend this is. + * + * If you add entries, please also update the child_process_kinds array in + * launch_backend.c. + */ typedef enum BackendType { B_INVALID = 0, - B_ARCHIVER, + + /* Backends and other backend-like processes */ + B_BACKEND, B_AUTOVAC_LAUNCHER, B_AUTOVAC_WORKER, - B_BACKEND, B_BG_WORKER, + B_WAL_SENDER, + B_SLOTSYNC_WORKER, + + B_STANDALONE_BACKEND, + + /* + * Auxiliary processes. These have PGPROC entries, but they are not + * attached to any particular database. There can be only one of each of + * these running at a time. + * + * If you modify these, make sure to update NUM_AUXILIARY_PROCS and the + * glossary in the docs. + */ + B_ARCHIVER, B_BG_WRITER, B_CHECKPOINTER, - B_LOGGER, - B_STANDALONE_BACKEND, B_STARTUP, B_WAL_RECEIVER, - B_WAL_SENDER, + B_WAL_SUMMARIZER, B_WAL_WRITER, + + /* + * Logger is not connected to shared memory and does not have a PGPROC + * entry. + */ + B_LOGGER, } BackendType; -#define BACKEND_NUM_TYPES (B_WAL_WRITER + 1) +#define BACKEND_NUM_TYPES (B_LOGGER + 1) extern PGDLLIMPORT BackendType MyBackendType; +#define AmAutoVacuumLauncherProcess() (MyBackendType == B_AUTOVAC_LAUNCHER) +#define AmAutoVacuumWorkerProcess() (MyBackendType == B_AUTOVAC_WORKER) +#define AmBackgroundWorkerProcess() (MyBackendType == B_BG_WORKER) +#define AmWalSenderProcess() (MyBackendType == B_WAL_SENDER) +#define AmLogicalSlotSyncWorkerProcess() (MyBackendType == B_SLOTSYNC_WORKER) +#define AmArchiverProcess() (MyBackendType == B_ARCHIVER) +#define AmBackgroundWriterProcess() (MyBackendType == B_BG_WRITER) +#define AmCheckpointerProcess() (MyBackendType == B_CHECKPOINTER) +#define AmStartupProcess() (MyBackendType == B_STARTUP) +#define AmWalReceiverProcess() (MyBackendType == B_WAL_RECEIVER) +#define AmWalSummarizerProcess() (MyBackendType == B_WAL_SUMMARIZER) +#define AmWalWriterProcess() (MyBackendType == B_WAL_WRITER) + extern const char *GetBackendTypeDesc(BackendType backendType); extern void SetDatabasePath(const char *path); @@ -364,7 +403,8 @@ extern bool InSecurityRestrictedOperation(void); extern bool InNoForceRLSOperation(void); extern void GetUserIdAndContext(Oid *userid, bool *sec_def_context); extern void SetUserIdAndContext(Oid userid, bool sec_def_context); -extern void InitializeSessionUserId(const char *rolename, Oid roleid); +extern void InitializeSessionUserId(const char *rolename, Oid roleid, + bool bypass_login_check); extern void InitializeSessionUserIdStandalone(void); extern void SetSessionAuthorization(Oid userid, bool is_superuser); extern Oid GetCurrentRoleId(void); @@ -406,7 +446,7 @@ typedef enum ProcessingMode { BootstrapProcessing, /* bootstrap creation of template database */ InitProcessing, /* initializing system */ - NormalProcessing /* normal processing */ + NormalProcessing, /* normal processing */ } ProcessingMode; extern PGDLLIMPORT ProcessingMode Mode; @@ -426,49 +466,21 @@ extern PGDLLIMPORT ProcessingMode Mode; } while(0) -/* - * Auxiliary-process type identifiers. These used to be in bootstrap.h - * but it seems saner to have them here, with the ProcessingMode stuff. - * The MyAuxProcType global is defined and set in auxprocess.c. - * - * Make sure to list in the glossary any items you add here. - */ - -typedef enum -{ - NotAnAuxProcess = -1, - StartupProcess = 0, - BgWriterProcess, - ArchiverProcess, - CheckpointerProcess, - WalWriterProcess, - WalReceiverProcess, - - NUM_AUXPROCTYPES /* Must be last! */ -} AuxProcType; - -extern PGDLLIMPORT AuxProcType MyAuxProcType; - -#define AmStartupProcess() (MyAuxProcType == StartupProcess) -#define AmBackgroundWriterProcess() (MyAuxProcType == BgWriterProcess) -#define AmArchiverProcess() (MyAuxProcType == ArchiverProcess) -#define AmCheckpointerProcess() (MyAuxProcType == CheckpointerProcess) -#define AmWalWriterProcess() (MyAuxProcType == WalWriterProcess) -#define AmWalReceiverProcess() (MyAuxProcType == WalReceiverProcess) - - /***************************************************************************** * pinit.h -- * * POSTGRES initialization and cleanup definitions. * *****************************************************************************/ /* in utils/init/postinit.c */ +/* flags for InitPostgres() */ +#define INIT_PG_LOAD_SESSION_LIBS 0x0001 +#define INIT_PG_OVERRIDE_ALLOW_CONNS 0x0002 +#define INIT_PG_OVERRIDE_ROLE_LOGIN 0x0004 extern void pg_split_opts(char **argv, int *argcp, const char *optstr); extern void InitializeMaxBackends(void); extern void InitPostgres(const char *in_dbname, Oid dboid, const char *username, Oid useroid, - bool load_session_libraries, - bool override_allow_connections, + bits32 flags, char *out_dbname); extern void BaseInit(void); diff --git a/parser/include/postgres/nodes/bitmapset.h b/parser/include/postgres/nodes/bitmapset.h index 14de6a9f..283bea5e 100644 --- a/parser/include/postgres/nodes/bitmapset.h +++ b/parser/include/postgres/nodes/bitmapset.h @@ -9,7 +9,7 @@ * empty set by a NULL pointer. * * - * Copyright (c) 2003-2023, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/bitmapset.h * @@ -62,7 +62,7 @@ typedef enum BMS_EQUAL, /* sets are equal */ BMS_SUBSET1, /* first set is a subset of the second */ BMS_SUBSET2, /* second set is a subset of the first */ - BMS_DIFFERENT /* neither set is a subset of the other */ + BMS_DIFFERENT, /* neither set is a subset of the other */ } BMS_Comparison; /* result of bms_membership */ @@ -70,9 +70,22 @@ typedef enum { BMS_EMPTY_SET, /* 0 members */ BMS_SINGLETON, /* 1 member */ - BMS_MULTIPLE /* >1 member */ + BMS_MULTIPLE, /* >1 member */ } BMS_Membership; +/* Select appropriate bit-twiddling functions for bitmap word size */ +#if BITS_PER_BITMAPWORD == 32 +#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos32(w) +#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos32(w) +#define bmw_popcount(w) pg_popcount32(w) +#elif BITS_PER_BITMAPWORD == 64 +#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos64(w) +#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos64(w) +#define bmw_popcount(w) pg_popcount64(w) +#else +#error "invalid BITS_PER_BITMAPWORD" +#endif + /* * function prototypes in nodes/bitmapset.c @@ -109,6 +122,7 @@ extern BMS_Membership bms_membership(const Bitmapset *a); extern Bitmapset *bms_add_member(Bitmapset *a, int x); extern Bitmapset *bms_del_member(Bitmapset *a, int x); extern Bitmapset *bms_add_members(Bitmapset *a, const Bitmapset *b); +extern Bitmapset *bms_replace_members(Bitmapset *a, const Bitmapset *b); extern Bitmapset *bms_add_range(Bitmapset *a, int lower, int upper); extern Bitmapset *bms_int_members(Bitmapset *a, const Bitmapset *b); extern Bitmapset *bms_del_members(Bitmapset *a, const Bitmapset *b); diff --git a/parser/include/postgres/nodes/execnodes.h b/parser/include/postgres/nodes/execnodes.h index 869465d6..cd1b1629 100644 --- a/parser/include/postgres/nodes/execnodes.h +++ b/parser/include/postgres/nodes/execnodes.h @@ -19,7 +19,7 @@ * not provided. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/execnodes.h @@ -34,6 +34,7 @@ #include "fmgr.h" #include "lib/ilist.h" #include "lib/pairingheap.h" +#include "nodes/miscnodes.h" #include "nodes/params.h" #include "nodes/plannodes.h" #include "nodes/tidbitmap.h" @@ -129,6 +130,14 @@ typedef struct ExprState Datum *innermost_domainval; bool *innermost_domainnull; + + /* + * For expression nodes that support soft errors. Should be set to NULL if + * the caller wants errors to be thrown. Callers that do not want errors + * thrown should set it to a valid ErrorSaveContext before calling + * ExecInitExprRec(). + */ + ErrorSaveContext *escontext; } ExprState; @@ -187,7 +196,6 @@ typedef struct IndexInfo Oid *ii_UniqueOps; /* array with one entry per column */ Oid *ii_UniqueProcs; /* array with one entry per column */ uint16 *ii_UniqueStrats; /* array with one entry per column */ - Datum *ii_OpclassOptions; /* array with one entry per column */ bool ii_Unique; bool ii_NullsNotDistinct; bool ii_ReadyForInserts; @@ -296,7 +304,7 @@ typedef enum { ExprSingleResult, /* expression does not return a set */ ExprMultipleResult, /* this result is an element of a set */ - ExprEndResult /* there are no more elements in the set */ + ExprEndResult, /* there are no more elements in the set */ } ExprDoneCond; /* @@ -310,7 +318,7 @@ typedef enum SFRM_ValuePerCall = 0x01, /* one value returned per call */ SFRM_Materialize = 0x02, /* result set instantiated in Tuplestore */ SFRM_Materialize_Random = 0x04, /* Tuplestore needs randomAccess */ - SFRM_Materialize_Preferred = 0x08 /* caller prefers Tuplestore */ + SFRM_Materialize_Preferred = 0x08, /* caller prefers Tuplestore */ } SetFunctionReturnMode; /* @@ -538,9 +546,11 @@ typedef struct ResultRelInfo /* ON CONFLICT evaluation state */ OnConflictSetState *ri_onConflict; - /* for MERGE, lists of MergeActionState */ - List *ri_matchedMergeAction; - List *ri_notMatchedMergeAction; + /* for MERGE, lists of MergeActionState (one per MergeMatchKind) */ + List *ri_MergeActions[NUM_MERGE_MATCH_KINDS]; + + /* for MERGE, expr state for checking the join condition */ + ExprState *ri_MergeJoinCondition; /* partition check expression state (NULL if not set up yet) */ ExprState *ri_PartitionCheckExpr; @@ -990,7 +1000,7 @@ typedef struct SubPlanState typedef enum DomainConstraintType { DOM_CONSTRAINT_NOTNULL, - DOM_CONSTRAINT_CHECK + DOM_CONSTRAINT_CHECK, } DomainConstraintType; typedef struct DomainConstraintState @@ -1002,6 +1012,77 @@ typedef struct DomainConstraintState ExprState *check_exprstate; /* check_expr's eval state, or NULL */ } DomainConstraintState; +/* + * State for JsonExpr evaluation, too big to inline. + * + * This contains the information going into and coming out of the + * EEOP_JSONEXPR_PATH eval step. + */ +typedef struct JsonExprState +{ + /* original expression node */ + JsonExpr *jsexpr; + + /* value/isnull for formatted_expr */ + NullableDatum formatted_expr; + + /* value/isnull for pathspec */ + NullableDatum pathspec; + + /* JsonPathVariable entries for passing_values */ + List *args; + + /* + * Output variables that drive the EEOP_JUMP_IF_NOT_TRUE steps that are + * added for ON ERROR and ON EMPTY expressions, if any. + * + * Reset for each evaluation of EEOP_JSONEXPR_PATH. + */ + + /* Set to true if jsonpath evaluation cause an error. */ + NullableDatum error; + + /* Set to true if the jsonpath evaluation returned 0 items. */ + NullableDatum empty; + + /* + * Addresses of steps that implement the non-ERROR variant of ON EMPTY and + * ON ERROR behaviors, respectively. + */ + int jump_empty; + int jump_error; + + /* + * Address of the step to coerce the result value of jsonpath evaluation + * to the RETURNING type. -1 if no coercion if JsonExpr.use_io_coercion + * is true. + */ + int jump_eval_coercion; + + /* + * Address to jump to when skipping all the steps after performing + * ExecEvalJsonExprPath() so as to return whatever the JsonPath* function + * returned as is, that is, in the cases where there's no error and no + * coercion is necessary. + */ + int jump_end; + + /* + * RETURNING type input function invocation info when + * JsonExpr.use_io_coercion is true. + */ + FunctionCallInfo input_fcinfo; + + /* + * For error-safe evaluation of coercions. When the ON ERROR behavior is + * not ERROR, a pointer to this is passed to ExecInitExprRec() when + * initializing the coercion expressions or to ExecInitJsonCoercion(). + * + * Reset for each evaluation of EEOP_JSONEXPR_PATH. + */ + ErrorSaveContext escontext; +} JsonExprState; + /* ---------------------------------------------------------------- * Executor State Trees @@ -1319,6 +1400,16 @@ typedef struct ModifyTableState /* Flags showing which subcommands are present INS/UPD/DEL/DO NOTHING */ int mt_merge_subcommands; + /* For MERGE, the action currently being executed */ + MergeActionState *mt_merge_action; + + /* + * For MERGE, if there is a pending NOT MATCHED [BY TARGET] action to be + * performed, this will be the last tuple read from the subplan; otherwise + * it will be NULL --- see the comments in ExecMerge(). + */ + TupleTableSlot *mt_merge_pending_not_matched; + /* tuple counters for MERGE */ double mt_merge_inserted; double mt_merge_updated; @@ -1600,6 +1691,8 @@ typedef struct IndexScanState * TableSlot slot for holding tuples fetched from the table * VMBuffer buffer in use for visibility map testing, if any * PscanLen size of parallel index-only scan descriptor + * NameCStringAttNums attnums of name typed columns to pad to NAMEDATALEN + * NameCStringCount number of elements in the NameCStringAttNums array * ---------------- */ typedef struct IndexOnlyScanState @@ -1619,6 +1712,8 @@ typedef struct IndexOnlyScanState TupleTableSlot *ioss_TableSlot; Buffer ioss_VMBuffer; Size ioss_PscanLen; + AttrNumber *ioss_NameCStringAttNums; + int ioss_NameCStringCount; } IndexOnlyScanState; /* ---------------- @@ -1670,7 +1765,7 @@ typedef enum { BM_INITIAL, BM_INPROGRESS, - BM_FINISHED + BM_FINISHED, } SharedBitmapState; /* ---------------- @@ -1683,7 +1778,6 @@ typedef enum * prefetch_target current target prefetch distance * state current state of the TIDBitmap * cv conditional wait variable - * phs_snapshot_data snapshot data shared to workers * ---------------- */ typedef struct ParallelBitmapHeapState @@ -1695,7 +1789,6 @@ typedef struct ParallelBitmapHeapState int prefetch_target; SharedBitmapState state; ConditionVariable cv; - char phs_snapshot_data[FLEXIBLE_ARRAY_MEMBER]; } ParallelBitmapHeapState; /* ---------------- @@ -1705,17 +1798,13 @@ typedef struct ParallelBitmapHeapState * tbm bitmap obtained from child index scan(s) * tbmiterator iterator for scanning current pages * tbmres current-page data - * can_skip_fetch can we potentially skip tuple fetches in this scan? - * return_empty_tuples number of empty tuples to return - * vmbuffer buffer for visibility-map lookups - * pvmbuffer ditto, for prefetched pages + * pvmbuffer buffer for visibility-map lookups of prefetched pages * exact_pages total number of exact pages retrieved * lossy_pages total number of lossy pages retrieved * prefetch_iterator iterator for prefetching ahead of current page * prefetch_pages # pages prefetch iterator is ahead of current * prefetch_target current target prefetch distance * prefetch_maximum maximum value for prefetch_target - * pscan_len size of the shared memory for parallel bitmap * initialized is node is ready to iterate * shared_tbmiterator shared iterator * shared_prefetch_iterator shared iterator for prefetching @@ -1729,9 +1818,6 @@ typedef struct BitmapHeapScanState TIDBitmap *tbm; TBMIterator *tbmiterator; TBMIterateResult *tbmres; - bool can_skip_fetch; - int return_empty_tuples; - Buffer vmbuffer; Buffer pvmbuffer; long exact_pages; long lossy_pages; @@ -1739,7 +1825,6 @@ typedef struct BitmapHeapScanState int prefetch_pages; int prefetch_target; int prefetch_maximum; - Size pscan_len; bool initialized; TBMSharedIterator *shared_tbmiterator; TBMSharedIterator *shared_prefetch_iterator; @@ -1754,7 +1839,6 @@ typedef struct BitmapHeapScanState * NumTids number of tids in this scan * TidPtr index of currently fetched tid * TidList evaluated item pointers (array of size NumTids) - * htup currently-fetched tuple, if any * ---------------- */ typedef struct TidScanState @@ -1765,7 +1849,6 @@ typedef struct TidScanState int tss_NumTids; int tss_TidPtr; ItemPointerData *tss_TidList; - HeapTupleData tss_htup; } TidScanState; /* ---------------- @@ -1876,6 +1959,8 @@ typedef struct TableFuncScanState ExprState *rowexpr; /* state for row-generating expression */ List *colexprs; /* state for column-generating expression */ List *coldefexprs; /* state for column default expressions */ + List *colvalexprs; /* state for column value expressions */ + List *passingvalexprs; /* state for PASSING argument expressions */ List *ns_names; /* same as TableFunc.ns_names */ List *ns_uris; /* list of states of namespace URI exprs */ Bitmapset *notnulls; /* nullability flag for each output column */ @@ -2447,7 +2532,6 @@ typedef struct AggState #define FIELDNO_AGGSTATE_ALL_PERGROUPS 53 AggStatePerGroup *all_pergroups; /* array of first ->pergroups, than * ->hash_pergroup */ - ProjectionInfo *combinedproj; /* projection machinery */ SharedAggInfo *shared_info; /* one entry per worker */ } AggState; @@ -2467,7 +2551,7 @@ typedef enum WindowAggStatus WINDOWAGG_DONE, /* No more processing to do */ WINDOWAGG_RUN, /* Normal processing of window funcs */ WINDOWAGG_PASSTHROUGH, /* Don't eval window funcs */ - WINDOWAGG_PASSTHROUGH_STRICT /* Pass-through plus don't store new + WINDOWAGG_PASSTHROUGH_STRICT, /* Pass-through plus don't store new * tuples during spool */ } WindowAggStatus; @@ -2745,7 +2829,7 @@ typedef enum LIMIT_WINDOWEND_TIES, /* have returned a tied row */ LIMIT_SUBPLANEOF, /* at EOF of subplan (within window) */ LIMIT_WINDOWEND, /* stepped off end of window */ - LIMIT_WINDOWSTART /* stepped off beginning of window */ + LIMIT_WINDOWSTART, /* stepped off beginning of window */ } LimitStateCond; typedef struct LimitState diff --git a/parser/include/postgres/nodes/extensible.h b/parser/include/postgres/nodes/extensible.h index 7d51c603..697a0282 100644 --- a/parser/include/postgres/nodes/extensible.h +++ b/parser/include/postgres/nodes/extensible.h @@ -4,7 +4,7 @@ * Definitions for extensible nodes and custom scans * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/extensible.h diff --git a/parser/include/postgres/nodes/lockoptions.h b/parser/include/postgres/nodes/lockoptions.h index bc5e9833..044ef42e 100644 --- a/parser/include/postgres/nodes/lockoptions.h +++ b/parser/include/postgres/nodes/lockoptions.h @@ -4,7 +4,7 @@ * Common header for some locking-related declarations. * * - * Copyright (c) 2014-2023, PostgreSQL Global Development Group + * Copyright (c) 2014-2024, PostgreSQL Global Development Group * * src/include/nodes/lockoptions.h * @@ -24,7 +24,7 @@ typedef enum LockClauseStrength LCS_FORKEYSHARE, /* FOR KEY SHARE */ LCS_FORSHARE, /* FOR SHARE */ LCS_FORNOKEYUPDATE, /* FOR NO KEY UPDATE */ - LCS_FORUPDATE /* FOR UPDATE */ + LCS_FORUPDATE, /* FOR UPDATE */ } LockClauseStrength; /* @@ -40,7 +40,7 @@ typedef enum LockWaitPolicy /* Skip rows that can't be locked (SKIP LOCKED) */ LockWaitSkip, /* Raise an error if a row cannot be locked (NOWAIT) */ - LockWaitError + LockWaitError, } LockWaitPolicy; /* @@ -55,7 +55,7 @@ typedef enum LockTupleMode /* SELECT FOR NO KEY UPDATE, and UPDATEs that don't modify key columns */ LockTupleNoKeyExclusive, /* SELECT FOR UPDATE, UPDATEs that modify key columns, and DELETE */ - LockTupleExclusive + LockTupleExclusive, } LockTupleMode; #endif /* LOCKOPTIONS_H */ diff --git a/parser/include/postgres/nodes/makefuncs.h b/parser/include/postgres/nodes/makefuncs.h index 31807030..5209d3de 100644 --- a/parser/include/postgres/nodes/makefuncs.h +++ b/parser/include/postgres/nodes/makefuncs.h @@ -4,7 +4,7 @@ * prototypes for the creator functions of various nodes * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/makefuncs.h @@ -100,6 +100,7 @@ extern IndexInfo *makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid, bool isready, bool concurrent, bool summarizing); +extern Node *makeStringConst(char *str, int location); extern DefElem *makeDefElem(char *name, Node *arg, int location); extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg, DefElemAction defaction, int location); @@ -116,6 +117,11 @@ extern Node *makeJsonKeyValue(Node *key, Node *value); extern Node *makeJsonIsPredicate(Node *expr, JsonFormat *format, JsonValueType item_type, bool unique_keys, int location); -extern JsonEncoding makeJsonEncoding(char *name); +extern JsonBehavior *makeJsonBehavior(JsonBehaviorType btype, Node *expr, + int location); +extern JsonTablePath *makeJsonTablePath(Const *pathvalue, char *pathname); +extern JsonTablePathSpec *makeJsonTablePathSpec(char *string, char *name, + int string_location, + int name_location); #endif /* MAKEFUNC_H */ diff --git a/parser/include/postgres/nodes/memnodes.h b/parser/include/postgres/nodes/memnodes.h index ff6453bb..c4c9fd3e 100644 --- a/parser/include/postgres/nodes/memnodes.h +++ b/parser/include/postgres/nodes/memnodes.h @@ -4,7 +4,7 @@ * POSTGRES memory context node definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/memnodes.h @@ -57,20 +57,58 @@ typedef void (*MemoryStatsPrintFunc) (MemoryContext context, void *passthru, typedef struct MemoryContextMethods { - void *(*alloc) (MemoryContext context, Size size); + /* + * Function to handle memory allocation requests of 'size' to allocate + * memory into the given 'context'. The function must handle flags + * MCXT_ALLOC_HUGE and MCXT_ALLOC_NO_OOM. MCXT_ALLOC_ZERO is handled by + * the calling function. + */ + void *(*alloc) (MemoryContext context, Size size, int flags); + /* call this free_p in case someone #define's free() */ void (*free_p) (void *pointer); - void *(*realloc) (void *pointer, Size size); + + /* + * Function to handle a size change request for an existing allocation. + * The implementation must handle flags MCXT_ALLOC_HUGE and + * MCXT_ALLOC_NO_OOM. MCXT_ALLOC_ZERO is handled by the calling function. + */ + void *(*realloc) (void *pointer, Size size, int flags); + + /* + * Invalidate all previous allocations in the given memory context and + * prepare the context for a new set of allocations. Implementations may + * optionally free() excess memory back to the OS during this time. + */ void (*reset) (MemoryContext context); + + /* Free all memory consumed by the given MemoryContext. */ void (*delete_context) (MemoryContext context); + + /* Return the MemoryContext that the given pointer belongs to. */ MemoryContext (*get_chunk_context) (void *pointer); + + /* + * Return the number of bytes consumed by the given pointer within its + * memory context, including the overhead of alignment and chunk headers. + */ Size (*get_chunk_space) (void *pointer); + + /* + * Return true if the given MemoryContext has not had any allocations + * since it was created or last reset. + */ bool (*is_empty) (MemoryContext context); void (*stats) (MemoryContext context, MemoryStatsPrintFunc printfunc, void *passthru, MemoryContextCounters *totals, bool print_to_stderr); #ifdef MEMORY_CONTEXT_CHECKING + + /* + * Perform validation checks on the given context and raise any discovered + * anomalies as WARNINGs. + */ void (*check) (MemoryContext context); #endif } MemoryContextMethods; @@ -108,6 +146,7 @@ typedef struct MemoryContextData ((context) != NULL && \ (IsA((context), AllocSetContext) || \ IsA((context), SlabContext) || \ - IsA((context), GenerationContext))) + IsA((context), GenerationContext) || \ + IsA((context), BumpContext))) #endif /* MEMNODES_H */ diff --git a/parser/include/postgres/nodes/miscnodes.h b/parser/include/postgres/nodes/miscnodes.h index 79cc0db4..1612b63a 100644 --- a/parser/include/postgres/nodes/miscnodes.h +++ b/parser/include/postgres/nodes/miscnodes.h @@ -10,7 +10,7 @@ * "context" pointers. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/miscnodes.h diff --git a/parser/include/postgres/nodes/nodeFuncs.h b/parser/include/postgres/nodes/nodeFuncs.h index 20921b45..eaba59be 100644 --- a/parser/include/postgres/nodes/nodeFuncs.h +++ b/parser/include/postgres/nodes/nodeFuncs.h @@ -3,7 +3,7 @@ * nodeFuncs.h * Various general-purpose manipulations of Node trees * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/nodeFuncs.h diff --git a/parser/include/postgres/nodes/nodes.h b/parser/include/postgres/nodes/nodes.h index cfc3816f..7cc3ca38 100644 --- a/parser/include/postgres/nodes/nodes.h +++ b/parser/include/postgres/nodes/nodes.h @@ -4,7 +4,7 @@ * Definitions for tagged nodes. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/nodes.h @@ -139,39 +139,18 @@ typedef struct Node * * !WARNING!: Avoid using newNode directly. You should be using the * macro makeNode. eg. to create a Query node, use makeNode(Query) - * - * Note: the size argument should always be a compile-time constant, so the - * apparent risk of multiple evaluation doesn't matter in practice. - */ -#ifdef __GNUC__ - -/* With GCC, we can use a compound statement within an expression */ -#define newNode(size, tag) \ -({ Node *_result; \ - AssertMacro((size) >= sizeof(Node)); /* need the tag, at least */ \ - _result = (Node *) palloc0fast(size); \ - _result->type = (tag); \ - _result; \ -}) -#else - -/* - * There is no way to dereference the palloc'ed pointer to assign the - * tag, and also return the pointer itself, so we need a holder variable. - * Fortunately, this macro isn't recursive so we just define - * a global variable for this purpose. */ -extern PGDLLIMPORT __thread Node *newNodeMacroHolder; +static inline Node * +newNode(size_t size, NodeTag tag) +{ + Node *result; -#define newNode(size, tag) \ -( \ - AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \ - newNodeMacroHolder = (Node *) palloc0fast(size), \ - newNodeMacroHolder->type = (tag), \ - newNodeMacroHolder \ -) -#endif /* __GNUC__ */ + Assert(size >= sizeof(Node)); /* need the tag, at least */ + result = (Node *) palloc0(size); + result->type = tag; + return result; +} #define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_)) #define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t)) @@ -216,6 +195,7 @@ extern void outBitmapset(struct StringInfoData *str, extern void outDatum(struct StringInfoData *str, uintptr_t value, int typlen, bool typbyval); extern char *nodeToString(const void *obj); +extern char *nodeToStringWithLocations(const void *obj); extern char *bmsToString(const struct Bitmapset *bms); /* @@ -251,9 +231,18 @@ extern bool equal(const void *a, const void *b); /* - * Typedefs for identifying qualifier selectivities and plan costs as such. - * These are just plain "double"s, but declaring a variable as Selectivity - * or Cost makes the intent more obvious. + * Typedef for parse location. This is just an int, but this way + * gen_node_support.pl knows which fields should get special treatment for + * location values. + * + * -1 is used for unknown. + */ +typedef int ParseLoc; + +/* + * Typedefs for identifying qualifier selectivities, plan costs, and row + * counts as such. These are just plain "double"s, but declaring a variable + * as Selectivity, Cost, or Cardinality makes the intent more obvious. * * These could have gone into plannodes.h or some such, but many files * depend on them... @@ -280,7 +269,7 @@ typedef enum CmdType CMD_MERGE, /* merge stmt */ CMD_UTILITY, /* cmds like create, destroy, copy, vacuum, * etc. */ - CMD_NOTHING /* dummy command for instead nothing rules + CMD_NOTHING, /* dummy command for instead nothing rules * with qual */ } CmdType; @@ -324,7 +313,7 @@ typedef enum JoinType * by the executor (nor, indeed, by most of the planner). */ JOIN_UNIQUE_OUTER, /* LHS path must be made unique */ - JOIN_UNIQUE_INNER /* RHS path must be made unique */ + JOIN_UNIQUE_INNER, /* RHS path must be made unique */ /* * We might need additional join types someday. @@ -364,7 +353,7 @@ typedef enum AggStrategy AGG_PLAIN, /* simple agg across all input rows */ AGG_SORTED, /* grouped agg, input must be sorted */ AGG_HASHED, /* grouped agg, use internal hashtable */ - AGG_MIXED /* grouped agg, hash and sort both used */ + AGG_MIXED, /* grouped agg, hash and sort both used */ } AggStrategy; /* @@ -388,7 +377,7 @@ typedef enum AggSplit /* Initial phase of partial aggregation, with serialization: */ AGGSPLIT_INITIAL_SERIAL = AGGSPLITOP_SKIPFINAL | AGGSPLITOP_SERIALIZE, /* Final phase of partial aggregation, with deserialization: */ - AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE + AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE, } AggSplit; /* Test whether an AggSplit value selects each primitive option: */ @@ -408,13 +397,13 @@ typedef enum SetOpCmd SETOPCMD_INTERSECT, SETOPCMD_INTERSECT_ALL, SETOPCMD_EXCEPT, - SETOPCMD_EXCEPT_ALL + SETOPCMD_EXCEPT_ALL, } SetOpCmd; typedef enum SetOpStrategy { SETOP_SORTED, /* input must be sorted */ - SETOP_HASHED /* use internal hashtable */ + SETOP_HASHED, /* use internal hashtable */ } SetOpStrategy; /* @@ -427,7 +416,7 @@ typedef enum OnConflictAction { ONCONFLICT_NONE, /* No "ON CONFLICT" clause */ ONCONFLICT_NOTHING, /* ON CONFLICT ... DO NOTHING */ - ONCONFLICT_UPDATE /* ON CONFLICT ... DO UPDATE */ + ONCONFLICT_UPDATE, /* ON CONFLICT ... DO UPDATE */ } OnConflictAction; /* diff --git a/parser/include/postgres/nodes/nodetags.h b/parser/include/postgres/nodes/nodetags.h index f75ac7a0..ee1fb29c 100644 --- a/parser/include/postgres/nodes/nodetags.h +++ b/parser/include/postgres/nodes/nodetags.h @@ -3,7 +3,7 @@ * nodetags.h * Generated node infrastructure code * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -26,446 +26,466 @@ T_Aggref = 9, T_GroupingFunc = 10, T_WindowFunc = 11, - T_SubscriptingRef = 12, - T_FuncExpr = 13, - T_NamedArgExpr = 14, - T_OpExpr = 15, - T_DistinctExpr = 16, - T_NullIfExpr = 17, - T_ScalarArrayOpExpr = 18, - T_BoolExpr = 19, - T_SubLink = 20, - T_SubPlan = 21, - T_AlternativeSubPlan = 22, - T_FieldSelect = 23, - T_FieldStore = 24, - T_RelabelType = 25, - T_CoerceViaIO = 26, - T_ArrayCoerceExpr = 27, - T_ConvertRowtypeExpr = 28, - T_CollateExpr = 29, - T_CaseExpr = 30, - T_CaseWhen = 31, - T_CaseTestExpr = 32, - T_ArrayExpr = 33, - T_RowExpr = 34, - T_RowCompareExpr = 35, - T_CoalesceExpr = 36, - T_MinMaxExpr = 37, - T_SQLValueFunction = 38, - T_XmlExpr = 39, - T_JsonFormat = 40, - T_JsonReturning = 41, - T_JsonValueExpr = 42, - T_JsonConstructorExpr = 43, - T_JsonIsPredicate = 44, - T_NullTest = 45, - T_BooleanTest = 46, - T_CoerceToDomain = 47, - T_CoerceToDomainValue = 48, - T_SetToDefault = 49, - T_CurrentOfExpr = 50, - T_NextValueExpr = 51, - T_InferenceElem = 52, - T_TargetEntry = 53, - T_RangeTblRef = 54, - T_JoinExpr = 55, - T_FromExpr = 56, - T_OnConflictExpr = 57, - T_Query = 58, - T_TypeName = 59, - T_ColumnRef = 60, - T_ParamRef = 61, - T_A_Expr = 62, - T_A_Const = 63, - T_TypeCast = 64, - T_CollateClause = 65, - T_RoleSpec = 66, - T_FuncCall = 67, - T_A_Star = 68, - T_A_Indices = 69, - T_A_Indirection = 70, - T_A_ArrayExpr = 71, - T_ResTarget = 72, - T_MultiAssignRef = 73, - T_SortBy = 74, - T_WindowDef = 75, - T_RangeSubselect = 76, - T_RangeFunction = 77, - T_RangeTableFunc = 78, - T_RangeTableFuncCol = 79, - T_RangeTableSample = 80, - T_ColumnDef = 81, - T_TableLikeClause = 82, - T_IndexElem = 83, - T_DefElem = 84, - T_LockingClause = 85, - T_XmlSerialize = 86, - T_PartitionElem = 87, - T_PartitionSpec = 88, - T_PartitionBoundSpec = 89, - T_PartitionRangeDatum = 90, - T_PartitionCmd = 91, - T_RangeTblEntry = 92, - T_RTEPermissionInfo = 93, - T_RangeTblFunction = 94, - T_TableSampleClause = 95, - T_WithCheckOption = 96, - T_SortGroupClause = 97, - T_GroupingSet = 98, - T_WindowClause = 99, - T_RowMarkClause = 100, - T_WithClause = 101, - T_InferClause = 102, - T_OnConflictClause = 103, - T_CTESearchClause = 104, - T_CTECycleClause = 105, - T_CommonTableExpr = 106, - T_MergeWhenClause = 107, - T_MergeAction = 108, - T_TriggerTransition = 109, - T_JsonOutput = 110, - T_JsonKeyValue = 111, - T_JsonObjectConstructor = 112, - T_JsonArrayConstructor = 113, - T_JsonArrayQueryConstructor = 114, - T_JsonAggConstructor = 115, - T_JsonObjectAgg = 116, - T_JsonArrayAgg = 117, - T_RawStmt = 118, - T_InsertStmt = 119, - T_DeleteStmt = 120, - T_UpdateStmt = 121, - T_MergeStmt = 122, - T_SelectStmt = 123, - T_SetOperationStmt = 124, - T_ReturnStmt = 125, - T_PLAssignStmt = 126, - T_CreateSchemaStmt = 127, - T_AlterTableStmt = 128, - T_ReplicaIdentityStmt = 129, - T_AlterTableCmd = 130, - T_AlterCollationStmt = 131, - T_AlterDomainStmt = 132, - T_GrantStmt = 133, - T_ObjectWithArgs = 134, - T_AccessPriv = 135, - T_GrantRoleStmt = 136, - T_AlterDefaultPrivilegesStmt = 137, - T_CopyStmt = 138, - T_VariableSetStmt = 139, - T_VariableShowStmt = 140, - T_CreateStmt = 141, - T_Constraint = 142, - T_CreateTableSpaceStmt = 143, - T_DropTableSpaceStmt = 144, - T_AlterTableSpaceOptionsStmt = 145, - T_AlterTableMoveAllStmt = 146, - T_CreateExtensionStmt = 147, - T_AlterExtensionStmt = 148, - T_AlterExtensionContentsStmt = 149, - T_CreateFdwStmt = 150, - T_AlterFdwStmt = 151, - T_CreateForeignServerStmt = 152, - T_AlterForeignServerStmt = 153, - T_CreateForeignTableStmt = 154, - T_CreateUserMappingStmt = 155, - T_AlterUserMappingStmt = 156, - T_DropUserMappingStmt = 157, - T_ImportForeignSchemaStmt = 158, - T_CreatePolicyStmt = 159, - T_AlterPolicyStmt = 160, - T_CreateAmStmt = 161, - T_CreateTrigStmt = 162, - T_CreateEventTrigStmt = 163, - T_AlterEventTrigStmt = 164, - T_CreatePLangStmt = 165, - T_CreateRoleStmt = 166, - T_AlterRoleStmt = 167, - T_AlterRoleSetStmt = 168, - T_DropRoleStmt = 169, - T_CreateSeqStmt = 170, - T_AlterSeqStmt = 171, - T_DefineStmt = 172, - T_CreateDomainStmt = 173, - T_CreateOpClassStmt = 174, - T_CreateOpClassItem = 175, - T_CreateOpFamilyStmt = 176, - T_AlterOpFamilyStmt = 177, - T_DropStmt = 178, - T_TruncateStmt = 179, - T_CommentStmt = 180, - T_SecLabelStmt = 181, - T_DeclareCursorStmt = 182, - T_ClosePortalStmt = 183, - T_FetchStmt = 184, - T_IndexStmt = 185, - T_CreateStatsStmt = 186, - T_StatsElem = 187, - T_AlterStatsStmt = 188, - T_CreateFunctionStmt = 189, - T_FunctionParameter = 190, - T_AlterFunctionStmt = 191, - T_DoStmt = 192, - T_InlineCodeBlock = 193, - T_CallStmt = 194, - T_CallContext = 195, - T_RenameStmt = 196, - T_AlterObjectDependsStmt = 197, - T_AlterObjectSchemaStmt = 198, - T_AlterOwnerStmt = 199, - T_AlterOperatorStmt = 200, - T_AlterTypeStmt = 201, - T_RuleStmt = 202, - T_NotifyStmt = 203, - T_ListenStmt = 204, - T_UnlistenStmt = 205, - T_TransactionStmt = 206, - T_CompositeTypeStmt = 207, - T_CreateEnumStmt = 208, - T_CreateRangeStmt = 209, - T_AlterEnumStmt = 210, - T_ViewStmt = 211, - T_LoadStmt = 212, - T_CreatedbStmt = 213, - T_AlterDatabaseStmt = 214, - T_AlterDatabaseRefreshCollStmt = 215, - T_AlterDatabaseSetStmt = 216, - T_DropdbStmt = 217, - T_AlterSystemStmt = 218, - T_ClusterStmt = 219, - T_VacuumStmt = 220, - T_VacuumRelation = 221, - T_ExplainStmt = 222, - T_CreateTableAsStmt = 223, - T_RefreshMatViewStmt = 224, - T_CheckPointStmt = 225, - T_DiscardStmt = 226, - T_LockStmt = 227, - T_ConstraintsSetStmt = 228, - T_ReindexStmt = 229, - T_CreateConversionStmt = 230, - T_CreateCastStmt = 231, - T_CreateTransformStmt = 232, - T_PrepareStmt = 233, - T_ExecuteStmt = 234, - T_DeallocateStmt = 235, - T_DropOwnedStmt = 236, - T_ReassignOwnedStmt = 237, - T_AlterTSDictionaryStmt = 238, - T_AlterTSConfigurationStmt = 239, - T_PublicationTable = 240, - T_PublicationObjSpec = 241, - T_CreatePublicationStmt = 242, - T_AlterPublicationStmt = 243, - T_CreateSubscriptionStmt = 244, - T_AlterSubscriptionStmt = 245, - T_DropSubscriptionStmt = 246, - T_PlannerGlobal = 247, - T_PlannerInfo = 248, - T_RelOptInfo = 249, - T_IndexOptInfo = 250, - T_ForeignKeyOptInfo = 251, - T_StatisticExtInfo = 252, - T_JoinDomain = 253, - T_EquivalenceClass = 254, - T_EquivalenceMember = 255, - T_PathKey = 256, - T_PathTarget = 257, - T_ParamPathInfo = 258, - T_Path = 259, - T_IndexPath = 260, - T_IndexClause = 261, - T_BitmapHeapPath = 262, - T_BitmapAndPath = 263, - T_BitmapOrPath = 264, - T_TidPath = 265, - T_TidRangePath = 266, - T_SubqueryScanPath = 267, - T_ForeignPath = 268, - T_CustomPath = 269, - T_AppendPath = 270, - T_MergeAppendPath = 271, - T_GroupResultPath = 272, - T_MaterialPath = 273, - T_MemoizePath = 274, - T_UniquePath = 275, - T_GatherPath = 276, - T_GatherMergePath = 277, - T_NestPath = 278, - T_MergePath = 279, - T_HashPath = 280, - T_ProjectionPath = 281, - T_ProjectSetPath = 282, - T_SortPath = 283, - T_IncrementalSortPath = 284, - T_GroupPath = 285, - T_UpperUniquePath = 286, - T_AggPath = 287, - T_GroupingSetData = 288, - T_RollupData = 289, - T_GroupingSetsPath = 290, - T_MinMaxAggPath = 291, - T_WindowAggPath = 292, - T_SetOpPath = 293, - T_RecursiveUnionPath = 294, - T_LockRowsPath = 295, - T_ModifyTablePath = 296, - T_LimitPath = 297, - T_RestrictInfo = 298, - T_PlaceHolderVar = 299, - T_SpecialJoinInfo = 300, - T_OuterJoinClauseInfo = 301, - T_AppendRelInfo = 302, - T_RowIdentityVarInfo = 303, - T_PlaceHolderInfo = 304, - T_MinMaxAggInfo = 305, - T_PlannerParamItem = 306, - T_AggInfo = 307, - T_AggTransInfo = 308, - T_PlannedStmt = 309, - T_Result = 310, - T_ProjectSet = 311, - T_ModifyTable = 312, - T_Append = 313, - T_MergeAppend = 314, - T_RecursiveUnion = 315, - T_BitmapAnd = 316, - T_BitmapOr = 317, - T_SeqScan = 318, - T_SampleScan = 319, - T_IndexScan = 320, - T_IndexOnlyScan = 321, - T_BitmapIndexScan = 322, - T_BitmapHeapScan = 323, - T_TidScan = 324, - T_TidRangeScan = 325, - T_SubqueryScan = 326, - T_FunctionScan = 327, - T_ValuesScan = 328, - T_TableFuncScan = 329, - T_CteScan = 330, - T_NamedTuplestoreScan = 331, - T_WorkTableScan = 332, - T_ForeignScan = 333, - T_CustomScan = 334, - T_NestLoop = 335, - T_NestLoopParam = 336, - T_MergeJoin = 337, - T_HashJoin = 338, - T_Material = 339, - T_Memoize = 340, - T_Sort = 341, - T_IncrementalSort = 342, - T_Group = 343, - T_Agg = 344, - T_WindowAgg = 345, - T_Unique = 346, - T_Gather = 347, - T_GatherMerge = 348, - T_Hash = 349, - T_SetOp = 350, - T_LockRows = 351, - T_Limit = 352, - T_PlanRowMark = 353, - T_PartitionPruneInfo = 354, - T_PartitionedRelPruneInfo = 355, - T_PartitionPruneStepOp = 356, - T_PartitionPruneStepCombine = 357, - T_PlanInvalItem = 358, - T_ExprState = 359, - T_IndexInfo = 360, - T_ExprContext = 361, - T_ReturnSetInfo = 362, - T_ProjectionInfo = 363, - T_JunkFilter = 364, - T_OnConflictSetState = 365, - T_MergeActionState = 366, - T_ResultRelInfo = 367, - T_EState = 368, - T_WindowFuncExprState = 369, - T_SetExprState = 370, - T_SubPlanState = 371, - T_DomainConstraintState = 372, - T_ResultState = 373, - T_ProjectSetState = 374, - T_ModifyTableState = 375, - T_AppendState = 376, - T_MergeAppendState = 377, - T_RecursiveUnionState = 378, - T_BitmapAndState = 379, - T_BitmapOrState = 380, - T_ScanState = 381, - T_SeqScanState = 382, - T_SampleScanState = 383, - T_IndexScanState = 384, - T_IndexOnlyScanState = 385, - T_BitmapIndexScanState = 386, - T_BitmapHeapScanState = 387, - T_TidScanState = 388, - T_TidRangeScanState = 389, - T_SubqueryScanState = 390, - T_FunctionScanState = 391, - T_ValuesScanState = 392, - T_TableFuncScanState = 393, - T_CteScanState = 394, - T_NamedTuplestoreScanState = 395, - T_WorkTableScanState = 396, - T_ForeignScanState = 397, - T_CustomScanState = 398, - T_JoinState = 399, - T_NestLoopState = 400, - T_MergeJoinState = 401, - T_HashJoinState = 402, - T_MaterialState = 403, - T_MemoizeState = 404, - T_SortState = 405, - T_IncrementalSortState = 406, - T_GroupState = 407, - T_AggState = 408, - T_WindowAggState = 409, - T_UniqueState = 410, - T_GatherState = 411, - T_GatherMergeState = 412, - T_HashState = 413, - T_SetOpState = 414, - T_LockRowsState = 415, - T_LimitState = 416, - T_IndexAmRoutine = 417, - T_TableAmRoutine = 418, - T_TsmRoutine = 419, - T_EventTriggerData = 420, - T_TriggerData = 421, - T_TupleTableSlot = 422, - T_FdwRoutine = 423, - T_Bitmapset = 424, - T_ExtensibleNode = 425, - T_ErrorSaveContext = 426, - T_IdentifySystemCmd = 427, - T_BaseBackupCmd = 428, - T_CreateReplicationSlotCmd = 429, - T_DropReplicationSlotCmd = 430, - T_StartReplicationCmd = 431, - T_ReadReplicationSlotCmd = 432, - T_TimeLineHistoryCmd = 433, - T_SupportRequestSimplify = 434, - T_SupportRequestSelectivity = 435, - T_SupportRequestCost = 436, - T_SupportRequestRows = 437, - T_SupportRequestIndexCondition = 438, - T_SupportRequestWFuncMonotonic = 439, - T_SupportRequestOptimizeWindowClause = 440, - T_Integer = 441, - T_Float = 442, - T_Boolean = 443, - T_String = 444, - T_BitString = 445, - T_ForeignKeyCacheInfo = 446, - T_IntList = 447, - T_OidList = 448, - T_XidList = 449, - T_AllocSetContext = 450, - T_GenerationContext = 451, - T_SlabContext = 452, - T_TIDBitmap = 453, - T_WindowObjectData = 454, + T_WindowFuncRunCondition = 12, + T_MergeSupportFunc = 13, + T_SubscriptingRef = 14, + T_FuncExpr = 15, + T_NamedArgExpr = 16, + T_OpExpr = 17, + T_DistinctExpr = 18, + T_NullIfExpr = 19, + T_ScalarArrayOpExpr = 20, + T_BoolExpr = 21, + T_SubLink = 22, + T_SubPlan = 23, + T_AlternativeSubPlan = 24, + T_FieldSelect = 25, + T_FieldStore = 26, + T_RelabelType = 27, + T_CoerceViaIO = 28, + T_ArrayCoerceExpr = 29, + T_ConvertRowtypeExpr = 30, + T_CollateExpr = 31, + T_CaseExpr = 32, + T_CaseWhen = 33, + T_CaseTestExpr = 34, + T_ArrayExpr = 35, + T_RowExpr = 36, + T_RowCompareExpr = 37, + T_CoalesceExpr = 38, + T_MinMaxExpr = 39, + T_SQLValueFunction = 40, + T_XmlExpr = 41, + T_JsonFormat = 42, + T_JsonReturning = 43, + T_JsonValueExpr = 44, + T_JsonConstructorExpr = 45, + T_JsonIsPredicate = 46, + T_JsonBehavior = 47, + T_JsonExpr = 48, + T_JsonTablePath = 49, + T_JsonTablePathScan = 50, + T_JsonTableSiblingJoin = 51, + T_NullTest = 52, + T_BooleanTest = 53, + T_MergeAction = 54, + T_CoerceToDomain = 55, + T_CoerceToDomainValue = 56, + T_SetToDefault = 57, + T_CurrentOfExpr = 58, + T_NextValueExpr = 59, + T_InferenceElem = 60, + T_TargetEntry = 61, + T_RangeTblRef = 62, + T_JoinExpr = 63, + T_FromExpr = 64, + T_OnConflictExpr = 65, + T_Query = 66, + T_TypeName = 67, + T_ColumnRef = 68, + T_ParamRef = 69, + T_A_Expr = 70, + T_A_Const = 71, + T_TypeCast = 72, + T_CollateClause = 73, + T_RoleSpec = 74, + T_FuncCall = 75, + T_A_Star = 76, + T_A_Indices = 77, + T_A_Indirection = 78, + T_A_ArrayExpr = 79, + T_ResTarget = 80, + T_MultiAssignRef = 81, + T_SortBy = 82, + T_WindowDef = 83, + T_RangeSubselect = 84, + T_RangeFunction = 85, + T_RangeTableFunc = 86, + T_RangeTableFuncCol = 87, + T_RangeTableSample = 88, + T_ColumnDef = 89, + T_TableLikeClause = 90, + T_IndexElem = 91, + T_DefElem = 92, + T_LockingClause = 93, + T_XmlSerialize = 94, + T_PartitionElem = 95, + T_PartitionSpec = 96, + T_PartitionBoundSpec = 97, + T_PartitionRangeDatum = 98, + T_SinglePartitionSpec = 99, + T_PartitionCmd = 100, + T_RangeTblEntry = 101, + T_RTEPermissionInfo = 102, + T_RangeTblFunction = 103, + T_TableSampleClause = 104, + T_WithCheckOption = 105, + T_SortGroupClause = 106, + T_GroupingSet = 107, + T_WindowClause = 108, + T_RowMarkClause = 109, + T_WithClause = 110, + T_InferClause = 111, + T_OnConflictClause = 112, + T_CTESearchClause = 113, + T_CTECycleClause = 114, + T_CommonTableExpr = 115, + T_MergeWhenClause = 116, + T_TriggerTransition = 117, + T_JsonOutput = 118, + T_JsonArgument = 119, + T_JsonFuncExpr = 120, + T_JsonTablePathSpec = 121, + T_JsonTable = 122, + T_JsonTableColumn = 123, + T_JsonKeyValue = 124, + T_JsonParseExpr = 125, + T_JsonScalarExpr = 126, + T_JsonSerializeExpr = 127, + T_JsonObjectConstructor = 128, + T_JsonArrayConstructor = 129, + T_JsonArrayQueryConstructor = 130, + T_JsonAggConstructor = 131, + T_JsonObjectAgg = 132, + T_JsonArrayAgg = 133, + T_RawStmt = 134, + T_InsertStmt = 135, + T_DeleteStmt = 136, + T_UpdateStmt = 137, + T_MergeStmt = 138, + T_SelectStmt = 139, + T_SetOperationStmt = 140, + T_ReturnStmt = 141, + T_PLAssignStmt = 142, + T_CreateSchemaStmt = 143, + T_AlterTableStmt = 144, + T_ReplicaIdentityStmt = 145, + T_AlterTableCmd = 146, + T_AlterCollationStmt = 147, + T_AlterDomainStmt = 148, + T_GrantStmt = 149, + T_ObjectWithArgs = 150, + T_AccessPriv = 151, + T_GrantRoleStmt = 152, + T_AlterDefaultPrivilegesStmt = 153, + T_CopyStmt = 154, + T_VariableSetStmt = 155, + T_VariableShowStmt = 156, + T_CreateStmt = 157, + T_Constraint = 158, + T_CreateTableSpaceStmt = 159, + T_DropTableSpaceStmt = 160, + T_AlterTableSpaceOptionsStmt = 161, + T_AlterTableMoveAllStmt = 162, + T_CreateExtensionStmt = 163, + T_AlterExtensionStmt = 164, + T_AlterExtensionContentsStmt = 165, + T_CreateFdwStmt = 166, + T_AlterFdwStmt = 167, + T_CreateForeignServerStmt = 168, + T_AlterForeignServerStmt = 169, + T_CreateForeignTableStmt = 170, + T_CreateUserMappingStmt = 171, + T_AlterUserMappingStmt = 172, + T_DropUserMappingStmt = 173, + T_ImportForeignSchemaStmt = 174, + T_CreatePolicyStmt = 175, + T_AlterPolicyStmt = 176, + T_CreateAmStmt = 177, + T_CreateTrigStmt = 178, + T_CreateEventTrigStmt = 179, + T_AlterEventTrigStmt = 180, + T_CreatePLangStmt = 181, + T_CreateRoleStmt = 182, + T_AlterRoleStmt = 183, + T_AlterRoleSetStmt = 184, + T_DropRoleStmt = 185, + T_CreateSeqStmt = 186, + T_AlterSeqStmt = 187, + T_DefineStmt = 188, + T_CreateDomainStmt = 189, + T_CreateOpClassStmt = 190, + T_CreateOpClassItem = 191, + T_CreateOpFamilyStmt = 192, + T_AlterOpFamilyStmt = 193, + T_DropStmt = 194, + T_TruncateStmt = 195, + T_CommentStmt = 196, + T_SecLabelStmt = 197, + T_DeclareCursorStmt = 198, + T_ClosePortalStmt = 199, + T_FetchStmt = 200, + T_IndexStmt = 201, + T_CreateStatsStmt = 202, + T_StatsElem = 203, + T_AlterStatsStmt = 204, + T_CreateFunctionStmt = 205, + T_FunctionParameter = 206, + T_AlterFunctionStmt = 207, + T_DoStmt = 208, + T_InlineCodeBlock = 209, + T_CallStmt = 210, + T_CallContext = 211, + T_RenameStmt = 212, + T_AlterObjectDependsStmt = 213, + T_AlterObjectSchemaStmt = 214, + T_AlterOwnerStmt = 215, + T_AlterOperatorStmt = 216, + T_AlterTypeStmt = 217, + T_RuleStmt = 218, + T_NotifyStmt = 219, + T_ListenStmt = 220, + T_UnlistenStmt = 221, + T_TransactionStmt = 222, + T_CompositeTypeStmt = 223, + T_CreateEnumStmt = 224, + T_CreateRangeStmt = 225, + T_AlterEnumStmt = 226, + T_ViewStmt = 227, + T_LoadStmt = 228, + T_CreatedbStmt = 229, + T_AlterDatabaseStmt = 230, + T_AlterDatabaseRefreshCollStmt = 231, + T_AlterDatabaseSetStmt = 232, + T_DropdbStmt = 233, + T_AlterSystemStmt = 234, + T_ClusterStmt = 235, + T_VacuumStmt = 236, + T_VacuumRelation = 237, + T_ExplainStmt = 238, + T_CreateTableAsStmt = 239, + T_RefreshMatViewStmt = 240, + T_CheckPointStmt = 241, + T_DiscardStmt = 242, + T_LockStmt = 243, + T_ConstraintsSetStmt = 244, + T_ReindexStmt = 245, + T_CreateConversionStmt = 246, + T_CreateCastStmt = 247, + T_CreateTransformStmt = 248, + T_PrepareStmt = 249, + T_ExecuteStmt = 250, + T_DeallocateStmt = 251, + T_DropOwnedStmt = 252, + T_ReassignOwnedStmt = 253, + T_AlterTSDictionaryStmt = 254, + T_AlterTSConfigurationStmt = 255, + T_PublicationTable = 256, + T_PublicationObjSpec = 257, + T_CreatePublicationStmt = 258, + T_AlterPublicationStmt = 259, + T_CreateSubscriptionStmt = 260, + T_AlterSubscriptionStmt = 261, + T_DropSubscriptionStmt = 262, + T_PlannerGlobal = 263, + T_PlannerInfo = 264, + T_RelOptInfo = 265, + T_IndexOptInfo = 266, + T_ForeignKeyOptInfo = 267, + T_StatisticExtInfo = 268, + T_JoinDomain = 269, + T_EquivalenceClass = 270, + T_EquivalenceMember = 271, + T_PathKey = 272, + T_GroupByOrdering = 273, + T_PathTarget = 274, + T_ParamPathInfo = 275, + T_Path = 276, + T_IndexPath = 277, + T_IndexClause = 278, + T_BitmapHeapPath = 279, + T_BitmapAndPath = 280, + T_BitmapOrPath = 281, + T_TidPath = 282, + T_TidRangePath = 283, + T_SubqueryScanPath = 284, + T_ForeignPath = 285, + T_CustomPath = 286, + T_AppendPath = 287, + T_MergeAppendPath = 288, + T_GroupResultPath = 289, + T_MaterialPath = 290, + T_MemoizePath = 291, + T_UniquePath = 292, + T_GatherPath = 293, + T_GatherMergePath = 294, + T_NestPath = 295, + T_MergePath = 296, + T_HashPath = 297, + T_ProjectionPath = 298, + T_ProjectSetPath = 299, + T_SortPath = 300, + T_IncrementalSortPath = 301, + T_GroupPath = 302, + T_UpperUniquePath = 303, + T_AggPath = 304, + T_GroupingSetData = 305, + T_RollupData = 306, + T_GroupingSetsPath = 307, + T_MinMaxAggPath = 308, + T_WindowAggPath = 309, + T_SetOpPath = 310, + T_RecursiveUnionPath = 311, + T_LockRowsPath = 312, + T_ModifyTablePath = 313, + T_LimitPath = 314, + T_RestrictInfo = 315, + T_PlaceHolderVar = 316, + T_SpecialJoinInfo = 317, + T_OuterJoinClauseInfo = 318, + T_AppendRelInfo = 319, + T_RowIdentityVarInfo = 320, + T_PlaceHolderInfo = 321, + T_MinMaxAggInfo = 322, + T_PlannerParamItem = 323, + T_AggInfo = 324, + T_AggTransInfo = 325, + T_PlannedStmt = 326, + T_Result = 327, + T_ProjectSet = 328, + T_ModifyTable = 329, + T_Append = 330, + T_MergeAppend = 331, + T_RecursiveUnion = 332, + T_BitmapAnd = 333, + T_BitmapOr = 334, + T_SeqScan = 335, + T_SampleScan = 336, + T_IndexScan = 337, + T_IndexOnlyScan = 338, + T_BitmapIndexScan = 339, + T_BitmapHeapScan = 340, + T_TidScan = 341, + T_TidRangeScan = 342, + T_SubqueryScan = 343, + T_FunctionScan = 344, + T_ValuesScan = 345, + T_TableFuncScan = 346, + T_CteScan = 347, + T_NamedTuplestoreScan = 348, + T_WorkTableScan = 349, + T_ForeignScan = 350, + T_CustomScan = 351, + T_NestLoop = 352, + T_NestLoopParam = 353, + T_MergeJoin = 354, + T_HashJoin = 355, + T_Material = 356, + T_Memoize = 357, + T_Sort = 358, + T_IncrementalSort = 359, + T_Group = 360, + T_Agg = 361, + T_WindowAgg = 362, + T_Unique = 363, + T_Gather = 364, + T_GatherMerge = 365, + T_Hash = 366, + T_SetOp = 367, + T_LockRows = 368, + T_Limit = 369, + T_PlanRowMark = 370, + T_PartitionPruneInfo = 371, + T_PartitionedRelPruneInfo = 372, + T_PartitionPruneStepOp = 373, + T_PartitionPruneStepCombine = 374, + T_PlanInvalItem = 375, + T_ExprState = 376, + T_IndexInfo = 377, + T_ExprContext = 378, + T_ReturnSetInfo = 379, + T_ProjectionInfo = 380, + T_JunkFilter = 381, + T_OnConflictSetState = 382, + T_MergeActionState = 383, + T_ResultRelInfo = 384, + T_EState = 385, + T_WindowFuncExprState = 386, + T_SetExprState = 387, + T_SubPlanState = 388, + T_DomainConstraintState = 389, + T_ResultState = 390, + T_ProjectSetState = 391, + T_ModifyTableState = 392, + T_AppendState = 393, + T_MergeAppendState = 394, + T_RecursiveUnionState = 395, + T_BitmapAndState = 396, + T_BitmapOrState = 397, + T_ScanState = 398, + T_SeqScanState = 399, + T_SampleScanState = 400, + T_IndexScanState = 401, + T_IndexOnlyScanState = 402, + T_BitmapIndexScanState = 403, + T_BitmapHeapScanState = 404, + T_TidScanState = 405, + T_TidRangeScanState = 406, + T_SubqueryScanState = 407, + T_FunctionScanState = 408, + T_ValuesScanState = 409, + T_TableFuncScanState = 410, + T_CteScanState = 411, + T_NamedTuplestoreScanState = 412, + T_WorkTableScanState = 413, + T_ForeignScanState = 414, + T_CustomScanState = 415, + T_JoinState = 416, + T_NestLoopState = 417, + T_MergeJoinState = 418, + T_HashJoinState = 419, + T_MaterialState = 420, + T_MemoizeState = 421, + T_SortState = 422, + T_IncrementalSortState = 423, + T_GroupState = 424, + T_AggState = 425, + T_WindowAggState = 426, + T_UniqueState = 427, + T_GatherState = 428, + T_GatherMergeState = 429, + T_HashState = 430, + T_SetOpState = 431, + T_LockRowsState = 432, + T_LimitState = 433, + T_IndexAmRoutine = 434, + T_TableAmRoutine = 435, + T_TsmRoutine = 436, + T_EventTriggerData = 437, + T_TriggerData = 438, + T_TupleTableSlot = 439, + T_FdwRoutine = 440, + T_Bitmapset = 441, + T_ExtensibleNode = 442, + T_ErrorSaveContext = 443, + T_IdentifySystemCmd = 444, + T_BaseBackupCmd = 445, + T_CreateReplicationSlotCmd = 446, + T_DropReplicationSlotCmd = 447, + T_AlterReplicationSlotCmd = 448, + T_StartReplicationCmd = 449, + T_ReadReplicationSlotCmd = 450, + T_TimeLineHistoryCmd = 451, + T_UploadManifestCmd = 452, + T_SupportRequestSimplify = 453, + T_SupportRequestSelectivity = 454, + T_SupportRequestCost = 455, + T_SupportRequestRows = 456, + T_SupportRequestIndexCondition = 457, + T_SupportRequestWFuncMonotonic = 458, + T_SupportRequestOptimizeWindowClause = 459, + T_Integer = 460, + T_Float = 461, + T_Boolean = 462, + T_String = 463, + T_BitString = 464, + T_ForeignKeyCacheInfo = 465, + T_IntList = 466, + T_OidList = 467, + T_XidList = 468, + T_AllocSetContext = 469, + T_GenerationContext = 470, + T_SlabContext = 471, + T_BumpContext = 472, + T_TIDBitmap = 473, + T_WindowObjectData = 474, diff --git a/parser/include/postgres/nodes/params.h b/parser/include/postgres/nodes/params.h index ad23113a..10c9fc54 100644 --- a/parser/include/postgres/nodes/params.h +++ b/parser/include/postgres/nodes/params.h @@ -4,7 +4,7 @@ * Support for finding the values associated with Param nodes. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/params.h diff --git a/parser/include/postgres/nodes/parsenodes.h b/parser/include/postgres/nodes/parsenodes.h index 9dca3b65..67c90a2b 100644 --- a/parser/include/postgres/nodes/parsenodes.h +++ b/parser/include/postgres/nodes/parsenodes.h @@ -12,7 +12,7 @@ * identifying statement boundaries in multi-statement source strings. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/parsenodes.h @@ -30,13 +30,6 @@ #include "partitioning/partdefs.h" -typedef enum OverridingKind -{ - OVERRIDING_NOT_SET = 0, - OVERRIDING_USER_VALUE, - OVERRIDING_SYSTEM_VALUE -} OverridingKind; - /* Possible sources of a Query */ typedef enum QuerySource { @@ -44,7 +37,7 @@ typedef enum QuerySource QSRC_PARSER, /* added by parse analysis (now unused) */ QSRC_INSTEAD_RULE, /* added by unconditional INSTEAD rule */ QSRC_QUAL_INSTEAD_RULE, /* added by conditional INSTEAD rule */ - QSRC_NON_INSTEAD_RULE /* added by non-INSTEAD rule */ + QSRC_NON_INSTEAD_RULE, /* added by non-INSTEAD rule */ } QuerySource; /* Sort ordering options for ORDER BY and CREATE INDEX */ @@ -53,14 +46,14 @@ typedef enum SortByDir SORTBY_DEFAULT, SORTBY_ASC, SORTBY_DESC, - SORTBY_USING /* not allowed in CREATE INDEX ... */ + SORTBY_USING, /* not allowed in CREATE INDEX ... */ } SortByDir; typedef enum SortByNulls { SORTBY_NULLS_DEFAULT, SORTBY_NULLS_FIRST, - SORTBY_NULLS_LAST + SORTBY_NULLS_LAST, } SortByNulls; /* Options for [ ALL | DISTINCT ] */ @@ -68,7 +61,7 @@ typedef enum SetQuantifier { SET_QUANTIFIER_DEFAULT, SET_QUANTIFIER_ALL, - SET_QUANTIFIER_DISTINCT + SET_QUANTIFIER_DISTINCT, } SetQuantifier; /* @@ -94,7 +87,8 @@ typedef uint64 AclMode; /* a bitmask of privilege bits */ #define ACL_CONNECT (1<<11) /* for databases */ #define ACL_SET (1<<12) /* for configuration parameters */ #define ACL_ALTER_SYSTEM (1<<13) /* for configuration parameters */ -#define N_ACL_RIGHTS 14 /* 1 plus the last 1<), (), ... */ RTE_CTE, /* common table expr (WITH list element) */ RTE_NAMEDTUPLESTORE, /* tuplestore, e.g. for AFTER triggers */ - RTE_RESULT /* RTE represents an empty FROM clause; such + RTE_RESULT, /* RTE represents an empty FROM clause; such * RTEs are added by the planner, they're not * present during parsing or rewriting */ } RTEKind; typedef struct RangeTblEntry { - pg_node_attr(custom_read_write, custom_query_jumble) + pg_node_attr(custom_read_write) NodeTag type; - RTEKind rtekind; /* see above */ - /* - * XXX the fields applicable to only some rte kinds should be merged into - * a union. I didn't do this yet because the diffs would impact a lot of - * code that is being actively worked on. FIXME someday. + * Fields valid in all RTEs: + * + * put alias + eref first to make dump more legible */ + /* user-written alias clause, if any */ + Alias *alias pg_node_attr(query_jumble_ignore); + /* expanded reference names */ + Alias *eref pg_node_attr(query_jumble_ignore); + + RTEKind rtekind; /* see above */ /* * Fields valid for a plain relation RTE (else zero): * + * inh is true for relation references that should be expanded to include + * inheritance children, if the rel has any. In the parser, this will + * only be true for RTE_RELATION entries. The planner also uses this + * field to mark RTE_SUBQUERY entries that contain UNION ALL queries that + * it has flattened into pulled-up subqueries (creating a structure much + * like the effects of inheritance). + * * rellockmode is really LOCKMODE, but it's declared int to avoid having * to include lock-related headers here. It must be RowExclusiveLock if * the RTE is an INSERT/UPDATE/DELETE/MERGE target, else RowShareLock if @@ -1068,17 +1091,26 @@ typedef struct RangeTblEntry * relation. This allows plans referencing AFTER trigger transition * tables to be invalidated if the underlying table is altered. */ - Oid relid; /* OID of the relation */ - char relkind; /* relation kind (see pg_class.relkind) */ - int rellockmode; /* lock level that query requires on the rel */ - struct TableSampleClause *tablesample; /* sampling info, or NULL */ - Index perminfoindex; + /* OID of the relation */ + Oid relid; + /* inheritance requested? */ + bool inh; + /* relation kind (see pg_class.relkind) */ + char relkind pg_node_attr(query_jumble_ignore); + /* lock level that query requires on the rel */ + int rellockmode pg_node_attr(query_jumble_ignore); + /* index of RTEPermissionInfo entry, or 0 */ + Index perminfoindex pg_node_attr(query_jumble_ignore); + /* sampling info, or NULL */ + struct TableSampleClause *tablesample; /* * Fields valid for a subquery RTE (else NULL): */ - Query *subquery; /* the sub-query */ - bool security_barrier; /* is from security_barrier view? */ + /* the sub-query */ + Query *subquery; + /* is from security_barrier view? */ + bool security_barrier pg_node_attr(query_jumble_ignore); /* * Fields valid for a join RTE (else NULL/zero): @@ -1123,18 +1155,22 @@ typedef struct RangeTblEntry * merged columns could not be dropped); this is not accounted for in * joinleftcols/joinrighttcols. */ - JoinType jointype; /* type of join */ - int joinmergedcols; /* number of merged (JOIN USING) columns */ - List *joinaliasvars; /* list of alias-var expansions */ - List *joinleftcols; /* left-side input column numbers */ - List *joinrightcols; /* right-side input column numbers */ + JoinType jointype; + /* number of merged (JOIN USING) columns */ + int joinmergedcols pg_node_attr(query_jumble_ignore); + /* list of alias-var expansions */ + List *joinaliasvars pg_node_attr(query_jumble_ignore); + /* left-side input column numbers */ + List *joinleftcols pg_node_attr(query_jumble_ignore); + /* right-side input column numbers */ + List *joinrightcols pg_node_attr(query_jumble_ignore); /* * join_using_alias is an alias clause attached directly to JOIN/USING. It * is different from the alias field (below) in that it does not hide the * range variables of the tables being joined. */ - Alias *join_using_alias; + Alias *join_using_alias pg_node_attr(query_jumble_ignore); /* * Fields valid for a function RTE (else NIL/zero): @@ -1144,8 +1180,10 @@ typedef struct RangeTblEntry * implicit, and must be accounted for "by hand" in places such as * expandRTE(). */ - List *functions; /* list of RangeTblFunction nodes */ - bool funcordinality; /* is this called WITH ORDINALITY? */ + /* list of RangeTblFunction nodes */ + List *functions; + /* is this called WITH ORDINALITY? */ + bool funcordinality; /* * Fields valid for a TableFunc RTE (else NULL): @@ -1155,14 +1193,18 @@ typedef struct RangeTblEntry /* * Fields valid for a values RTE (else NIL): */ - List *values_lists; /* list of expression lists */ + /* list of expression lists */ + List *values_lists; /* * Fields valid for a CTE RTE (else NULL/zero): */ - char *ctename; /* name of the WITH list item */ - Index ctelevelsup; /* number of query levels up */ - bool self_reference; /* is this a recursive self-reference? */ + /* name of the WITH list item */ + char *ctename; + /* number of query levels up */ + Index ctelevelsup; + /* is this a recursive self-reference? */ + bool self_reference pg_node_attr(query_jumble_ignore); /* * Fields valid for CTE, VALUES, ENR, and TableFunc RTEs (else NIL): @@ -1182,25 +1224,30 @@ typedef struct RangeTblEntry * all three lists (as well as an empty-string entry in eref). Testing * for zero coltype is the standard way to detect a dropped column. */ - List *coltypes; /* OID list of column type OIDs */ - List *coltypmods; /* integer list of column typmods */ - List *colcollations; /* OID list of column collation OIDs */ + /* OID list of column type OIDs */ + List *coltypes pg_node_attr(query_jumble_ignore); + /* integer list of column typmods */ + List *coltypmods pg_node_attr(query_jumble_ignore); + /* OID list of column collation OIDs */ + List *colcollations pg_node_attr(query_jumble_ignore); /* * Fields valid for ENR RTEs (else NULL/zero): */ - char *enrname; /* name of ephemeral named relation */ - Cardinality enrtuples; /* estimated or actual from caller */ + /* name of ephemeral named relation */ + char *enrname; + /* estimated or actual from caller */ + Cardinality enrtuples pg_node_attr(query_jumble_ignore); /* * Fields valid in all RTEs: */ - Alias *alias; /* user-written alias clause, if any */ - Alias *eref; /* expanded reference names */ - bool lateral; /* subquery, function, or values is LATERAL? */ - bool inh; /* inheritance requested? */ - bool inFromCl; /* present in FROM clause? */ - List *securityQuals; /* security barrier quals to apply, if any */ + /* was LATERAL specified? */ + bool lateral pg_node_attr(query_jumble_ignore); + /* present in FROM clause? */ + bool inFromCl pg_node_attr(query_jumble_ignore); + /* security barrier quals to apply, if any */ + List *securityQuals pg_node_attr(query_jumble_ignore); } RangeTblEntry; /* @@ -1315,7 +1362,7 @@ typedef enum WCOKind WCO_RLS_UPDATE_CHECK, /* RLS UPDATE WITH CHECK policy */ WCO_RLS_CONFLICT_CHECK, /* RLS ON CONFLICT DO UPDATE USING policy */ WCO_RLS_MERGE_UPDATE_CHECK, /* RLS MERGE UPDATE USING policy */ - WCO_RLS_MERGE_DELETE_CHECK /* RLS MERGE DELETE USING policy */ + WCO_RLS_MERGE_DELETE_CHECK, /* RLS MERGE DELETE USING policy */ } WCOKind; typedef struct WithCheckOption @@ -1453,7 +1500,7 @@ typedef enum GroupingSetKind GROUPING_SET_SIMPLE, GROUPING_SET_ROLLUP, GROUPING_SET_CUBE, - GROUPING_SET_SETS + GROUPING_SET_SETS, } GroupingSetKind; typedef struct GroupingSet @@ -1461,7 +1508,7 @@ typedef struct GroupingSet NodeTag type; GroupingSetKind kind pg_node_attr(query_jumble_ignore); List *content; - int location; + ParseLoc location; } GroupingSet; /* @@ -1472,6 +1519,8 @@ typedef struct GroupingSet * if the clause originally came from WINDOW, and is NULL if it originally * was an OVER clause (but note that we collapse out duplicate OVERs). * partitionClause and orderClause are lists of SortGroupClause structs. + * partitionClause is sanitized by the query planner to remove any columns or + * expressions belonging to redundant PathKeys. * If we have RANGE with offset PRECEDING/FOLLOWING, the semantics of that are * specified by startInRangeFunc/inRangeColl/inRangeAsc/inRangeNullsFirst * for the start offset, or endInRangeFunc/inRange* for the end offset. @@ -1497,8 +1546,6 @@ typedef struct WindowClause int frameOptions; /* frame_clause options, see WindowDef */ Node *startOffset; /* expression for starting bound, if any */ Node *endOffset; /* expression for ending bound, if any */ - /* qual to help short-circuit execution */ - List *runCondition pg_node_attr(query_jumble_ignore); /* in_range function for startOffset */ Oid startInRangeFunc pg_node_attr(query_jumble_ignore); /* in_range function for endOffset */ @@ -1547,7 +1594,7 @@ typedef struct WithClause NodeTag type; List *ctes; /* list of CommonTableExprs */ bool recursive; /* true = WITH RECURSIVE */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } WithClause; /* @@ -1562,7 +1609,7 @@ typedef struct InferClause List *indexElems; /* IndexElems to infer unique index */ Node *whereClause; /* qualification (partial-index predicate) */ char *conname; /* Constraint name, or NULL if unnamed */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } InferClause; /* @@ -1578,7 +1625,7 @@ typedef struct OnConflictClause InferClause *infer; /* Optional index inference clause */ List *targetList; /* the target list (of ResTarget) */ Node *whereClause; /* qualifications */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } OnConflictClause; /* @@ -1590,7 +1637,7 @@ typedef enum CTEMaterialize { CTEMaterializeDefault, /* no option specified */ CTEMaterializeAlways, /* MATERIALIZED */ - CTEMaterializeNever /* NOT MATERIALIZED */ + CTEMaterializeNever, /* NOT MATERIALIZED */ } CTEMaterialize; typedef struct CTESearchClause @@ -1599,7 +1646,7 @@ typedef struct CTESearchClause List *search_col_list; bool search_breadth_first; char *search_seq_column; - int location; + ParseLoc location; } CTESearchClause; typedef struct CTECycleClause @@ -1610,7 +1657,7 @@ typedef struct CTECycleClause Node *cycle_mark_value; Node *cycle_mark_default; char *cycle_path_column; - int location; + ParseLoc location; /* These fields are set during parse analysis: */ Oid cycle_mark_type; /* common type of _value and _default */ int cycle_mark_typmod; @@ -1634,7 +1681,7 @@ typedef struct CommonTableExpr Node *ctequery; /* the CTE's subquery */ CTESearchClause *search_clause pg_node_attr(query_jumble_ignore); CTECycleClause *cycle_clause pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ /* These fields are set during parse analysis: */ /* is this CTE actually recursive? */ bool cterecursive pg_node_attr(query_jumble_ignore); @@ -1670,7 +1717,7 @@ typedef struct CommonTableExpr typedef struct MergeWhenClause { NodeTag type; - bool matched; /* true=MATCHED, false=NOT MATCHED */ + MergeMatchKind matchKind; /* MATCHED/NOT MATCHED BY SOURCE/TARGET */ CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ OverridingKind override; /* OVERRIDING clause */ Node *condition; /* WHEN conditions (raw parser) */ @@ -1679,23 +1726,6 @@ typedef struct MergeWhenClause List *values; /* VALUES to INSERT, or NULL */ } MergeWhenClause; -/* - * MergeAction - - * Transformed representation of a WHEN clause in a MERGE statement - */ -typedef struct MergeAction -{ - NodeTag type; - bool matched; /* true=MATCHED, false=NOT MATCHED */ - CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ - /* OVERRIDING clause */ - OverridingKind override pg_node_attr(query_jumble_ignore); - Node *qual; /* transformed WHEN conditions */ - List *targetList; /* the target list (of TargetEntry) */ - /* target attribute numbers of an UPDATE */ - List *updateColnos pg_node_attr(query_jumble_ignore); -} MergeAction; - /* * TriggerTransition - * representation of transition row or table naming clause @@ -1725,6 +1755,115 @@ typedef struct JsonOutput JsonReturning *returning; /* RETURNING FORMAT clause and type Oids */ } JsonOutput; +/* + * JsonArgument - + * representation of argument from JSON PASSING clause + */ +typedef struct JsonArgument +{ + NodeTag type; + JsonValueExpr *val; /* argument value expression */ + char *name; /* argument name */ +} JsonArgument; + +/* + * JsonQuotes - + * representation of [KEEP|OMIT] QUOTES clause for JSON_QUERY() + */ +typedef enum JsonQuotes +{ + JS_QUOTES_UNSPEC, /* unspecified */ + JS_QUOTES_KEEP, /* KEEP QUOTES */ + JS_QUOTES_OMIT, /* OMIT QUOTES */ +} JsonQuotes; + +/* + * JsonFuncExpr - + * untransformed representation of function expressions for + * SQL/JSON query functions + */ +typedef struct JsonFuncExpr +{ + NodeTag type; + JsonExprOp op; /* expression type */ + char *column_name; /* JSON_TABLE() column name or NULL if this is + * not for a JSON_TABLE() */ + JsonValueExpr *context_item; /* context item expression */ + Node *pathspec; /* JSON path specification expression */ + List *passing; /* list of PASSING clause arguments, if any */ + JsonOutput *output; /* output clause, if specified */ + JsonBehavior *on_empty; /* ON EMPTY behavior */ + JsonBehavior *on_error; /* ON ERROR behavior */ + JsonWrapper wrapper; /* array wrapper behavior (JSON_QUERY only) */ + JsonQuotes quotes; /* omit or keep quotes? (JSON_QUERY only) */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonFuncExpr; + +/* + * JsonTablePathSpec + * untransformed specification of JSON path expression with an optional + * name + */ +typedef struct JsonTablePathSpec +{ + NodeTag type; + + Node *string; + char *name; + ParseLoc name_location; + ParseLoc location; /* location of 'string' */ +} JsonTablePathSpec; + +/* + * JsonTable - + * untransformed representation of JSON_TABLE + */ +typedef struct JsonTable +{ + NodeTag type; + JsonValueExpr *context_item; /* context item expression */ + JsonTablePathSpec *pathspec; /* JSON path specification */ + List *passing; /* list of PASSING clause arguments, if any */ + List *columns; /* list of JsonTableColumn */ + JsonBehavior *on_error; /* ON ERROR behavior */ + Alias *alias; /* table alias in FROM clause */ + bool lateral; /* does it have LATERAL prefix? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonTable; + +/* + * JsonTableColumnType - + * enumeration of JSON_TABLE column types + */ +typedef enum JsonTableColumnType +{ + JTC_FOR_ORDINALITY, + JTC_REGULAR, + JTC_EXISTS, + JTC_FORMATTED, + JTC_NESTED, +} JsonTableColumnType; + +/* + * JsonTableColumn - + * untransformed representation of JSON_TABLE column + */ +typedef struct JsonTableColumn +{ + NodeTag type; + JsonTableColumnType coltype; /* column type */ + char *name; /* column name */ + TypeName *typeName; /* column type name */ + JsonTablePathSpec *pathspec; /* JSON path specification */ + JsonFormat *format; /* JSON format clause, if specified */ + JsonWrapper wrapper; /* WRAPPER behavior for formatted columns */ + JsonQuotes quotes; /* omit or keep quotes on scalar strings? */ + List *columns; /* nested columns */ + JsonBehavior *on_empty; /* ON EMPTY behavior */ + JsonBehavior *on_error; /* ON ERROR behavior */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonTableColumn; + /* * JsonKeyValue - * untransformed representation of JSON object key-value pair for @@ -1737,6 +1876,43 @@ typedef struct JsonKeyValue JsonValueExpr *value; /* JSON value expression */ } JsonKeyValue; +/* + * JsonParseExpr - + * untransformed representation of JSON() + */ +typedef struct JsonParseExpr +{ + NodeTag type; + JsonValueExpr *expr; /* string expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + bool unique_keys; /* WITH UNIQUE KEYS? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonParseExpr; + +/* + * JsonScalarExpr - + * untransformed representation of JSON_SCALAR() + */ +typedef struct JsonScalarExpr +{ + NodeTag type; + Expr *expr; /* scalar expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonScalarExpr; + +/* + * JsonSerializeExpr - + * untransformed representation of JSON_SERIALIZE() function + */ +typedef struct JsonSerializeExpr +{ + NodeTag type; + JsonValueExpr *expr; /* json value expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonSerializeExpr; + /* * JsonObjectConstructor - * untransformed representation of JSON_OBJECT() constructor @@ -1748,7 +1924,7 @@ typedef struct JsonObjectConstructor JsonOutput *output; /* RETURNING clause, if specified */ bool absent_on_null; /* skip NULL values? */ bool unique; /* check key uniqueness? */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonObjectConstructor; /* @@ -1761,7 +1937,7 @@ typedef struct JsonArrayConstructor List *exprs; /* list of JsonValueExpr elements */ JsonOutput *output; /* RETURNING clause, if specified */ bool absent_on_null; /* skip NULL elements? */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonArrayConstructor; /* @@ -1775,7 +1951,7 @@ typedef struct JsonArrayQueryConstructor JsonOutput *output; /* RETURNING clause, if specified */ JsonFormat *format; /* FORMAT clause for subquery, if specified */ bool absent_on_null; /* skip NULL elements? */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonArrayQueryConstructor; /* @@ -1790,7 +1966,7 @@ typedef struct JsonAggConstructor Node *agg_filter; /* FILTER clause, if any */ List *agg_order; /* ORDER BY clause, if any */ struct WindowDef *over; /* OVER clause, if any */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonAggConstructor; /* @@ -1844,8 +2020,8 @@ typedef struct RawStmt NodeTag type; Node *stmt; /* raw parse tree */ - int stmt_location; /* start location, or -1 if unknown */ - int stmt_len; /* length in bytes; 0 means "rest of string" */ + ParseLoc stmt_location; /* start location, or -1 if unknown */ + ParseLoc stmt_len; /* length in bytes; 0 means "rest of string" */ } RawStmt; /***************************************************************************** @@ -1912,6 +2088,7 @@ typedef struct MergeStmt Node *sourceRelation; /* source relation */ Node *joinCondition; /* join condition between source and target */ List *mergeWhenClauses; /* list of MergeWhenClause(es) */ + List *returningList; /* list of expressions to return */ WithClause *withClause; /* WITH clause */ } MergeStmt; @@ -1933,7 +2110,7 @@ typedef enum SetOperation SETOP_NONE = 0, SETOP_UNION, SETOP_INTERSECT, - SETOP_EXCEPT + SETOP_EXCEPT, } SetOperation; typedef struct SelectStmt @@ -2052,7 +2229,7 @@ typedef struct PLAssignStmt List *indirection; /* subscripts and field names, if any */ int nnames; /* number of names to use in ColumnRef */ SelectStmt *val; /* the PL/pgSQL expression to assign */ - int location; /* name's token location, or -1 if unknown */ + ParseLoc location; /* name's token location, or -1 if unknown */ } PLAssignStmt; @@ -2129,7 +2306,7 @@ typedef enum ObjectType OBJECT_TSTEMPLATE, OBJECT_TYPE, OBJECT_USER_MAPPING, - OBJECT_VIEW + OBJECT_VIEW, } ObjectType; /* ---------------------- @@ -2152,7 +2329,7 @@ typedef struct CreateSchemaStmt typedef enum DropBehavior { DROP_RESTRICT, /* drop fails if any dependent objects */ - DROP_CASCADE /* remove dependent objects too */ + DROP_CASCADE, /* remove dependent objects too */ } DropBehavior; /* ---------------------- @@ -2176,6 +2353,7 @@ typedef enum AlterTableType AT_CookedColumnDefault, /* add a pre-cooked column default */ AT_DropNotNull, /* alter column drop not null */ AT_SetNotNull, /* alter column set not null */ + AT_SetExpression, /* alter column set expression */ AT_DropExpression, /* alter column drop expression */ AT_CheckNotNull, /* check column is already marked not null */ AT_SetStatistics, /* alter column set statistics */ @@ -2235,7 +2413,7 @@ typedef enum AlterTableType AT_AddIdentity, /* ADD IDENTITY */ AT_SetIdentity, /* SET identity column options */ AT_DropIdentity, /* DROP IDENTITY */ - AT_ReAddStatistics /* internal to commands/tablecmds.c */ + AT_ReAddStatistics, /* internal to commands/tablecmds.c */ } AlterTableType; typedef struct ReplicaIdentityStmt @@ -2250,7 +2428,7 @@ typedef struct AlterTableCmd /* one subcommand of an ALTER TABLE */ NodeTag type; AlterTableType subtype; /* Type of table alteration to apply */ char *name; /* column, constraint, or trigger to act on, - * or tablespace */ + * or tablespace, access method */ int16 num; /* attribute number for columns referenced by * number */ RoleSpec *newowner; @@ -2307,7 +2485,7 @@ typedef enum GrantTargetType { ACL_TARGET_OBJECT, /* grant on specific named object(s) */ ACL_TARGET_ALL_IN_SCHEMA, /* grant on all objects in given schema(s) */ - ACL_TARGET_DEFAULTS /* ALTER DEFAULT PRIVILEGES */ + ACL_TARGET_DEFAULTS, /* ALTER DEFAULT PRIVILEGES */ } GrantTargetType; typedef struct GrantStmt @@ -2434,7 +2612,7 @@ typedef enum VariableSetKind VAR_SET_CURRENT, /* SET var FROM CURRENT */ VAR_SET_MULTI, /* special case for SET TRANSACTION ... */ VAR_RESET, /* RESET var */ - VAR_RESET_ALL /* RESET ALL */ + VAR_RESET_ALL, /* RESET ALL */ } VariableSetKind; typedef struct VariableSetStmt @@ -2532,7 +2710,7 @@ typedef enum ConstrType /* types of constraints */ CONSTR_ATTR_DEFERRABLE, /* attributes for previous constraint node */ CONSTR_ATTR_NOT_DEFERRABLE, CONSTR_ATTR_DEFERRED, - CONSTR_ATTR_IMMEDIATE + CONSTR_ATTR_IMMEDIATE, } ConstrType; /* Foreign key action codes */ @@ -2549,40 +2727,33 @@ typedef enum ConstrType /* types of constraints */ typedef struct Constraint { - pg_node_attr(custom_read_write) - NodeTag type; ConstrType contype; /* see above */ - - /* Fields used for most/all constraint types: */ char *conname; /* Constraint name, or NULL if unnamed */ bool deferrable; /* DEFERRABLE? */ bool initdeferred; /* INITIALLY DEFERRED? */ - int location; /* token location, or -1 if unknown */ - - /* Fields used for constraints with expressions (CHECK and DEFAULT): */ + bool skip_validation; /* skip validation of existing rows? */ + bool initially_valid; /* mark the new constraint as valid? */ bool is_no_inherit; /* is constraint non-inheritable? */ - Node *raw_expr; /* expr, as untransformed parse tree */ - char *cooked_expr; /* expr, as nodeToString representation */ + Node *raw_expr; /* CHECK or DEFAULT expression, as + * untransformed parse tree */ + char *cooked_expr; /* CHECK or DEFAULT expression, as + * nodeToString representation */ char generated_when; /* ALWAYS or BY DEFAULT */ - - /* Fields used for unique constraints (UNIQUE and PRIMARY KEY): */ + int inhcount; /* initial inheritance count to apply, for + * "raw" NOT NULL constraints */ bool nulls_not_distinct; /* null treatment for UNIQUE constraints */ List *keys; /* String nodes naming referenced key - * column(s) */ + * column(s); for UNIQUE/PK/NOT NULL */ List *including; /* String nodes naming referenced nonkey - * column(s) */ - - /* Fields used for EXCLUSION constraints: */ - List *exclusions; /* list of (IndexElem, operator name) pairs */ - - /* Fields used for index constraints (UNIQUE, PRIMARY KEY, EXCLUSION): */ + * column(s); for UNIQUE/PK */ + List *exclusions; /* list of (IndexElem, operator name) pairs; + * for exclusion constraints */ List *options; /* options from WITH clause */ char *indexname; /* existing index to use; otherwise NULL */ char *indexspace; /* index tablespace; NULL for default */ bool reset_default_tblspc; /* reset default_tablespace prior to * creating the index */ - /* These could be, but currently are not, used for UNIQUE/PKEY: */ char *access_method; /* index access method; NULL for default */ Node *where_clause; /* partial index predicate */ @@ -2598,9 +2769,7 @@ typedef struct Constraint Oid old_pktable_oid; /* pg_constraint.confrelid of my former * self */ - /* Fields used for constraints that allow a NOT VALID specification */ - bool skip_validation; /* skip validation of existing rows? */ - bool initially_valid; /* mark the new constraint as valid? */ + ParseLoc location; /* token location, or -1 if unknown */ } Constraint; /* ---------------------- @@ -2769,7 +2938,7 @@ typedef enum ImportForeignSchemaType { FDW_IMPORT_SCHEMA_ALL, /* all relations wanted */ FDW_IMPORT_SCHEMA_LIMIT_TO, /* include only listed tables in import */ - FDW_IMPORT_SCHEMA_EXCEPT /* exclude listed tables from import */ + FDW_IMPORT_SCHEMA_EXCEPT, /* exclude listed tables from import */ } ImportForeignSchemaType; typedef struct ImportForeignSchemaStmt @@ -2906,7 +3075,7 @@ typedef enum RoleStmtType { ROLESTMT_ROLE, ROLESTMT_USER, - ROLESTMT_GROUP + ROLESTMT_GROUP, } RoleStmtType; typedef struct CreateRoleStmt @@ -3151,7 +3320,7 @@ typedef enum FetchDirection FETCH_BACKWARD, /* for these, howMany indicates a position; only one row is fetched */ FETCH_ABSOLUTE, - FETCH_RELATIVE + FETCH_RELATIVE, } FetchDirection; #define FETCH_ALL LONG_MAX @@ -3247,7 +3416,7 @@ typedef struct AlterStatsStmt { NodeTag type; List *defnames; /* qualified name (list of String) */ - int stxstattarget; /* statistics target */ + Node *stxstattarget; /* statistics target */ bool missing_ok; /* skip error if statistics object is missing */ } AlterStatsStmt; @@ -3276,7 +3445,7 @@ typedef enum FunctionParameterMode FUNC_PARAM_VARIADIC = 'v', /* variadic (always input) */ FUNC_PARAM_TABLE = 't', /* table function output column */ /* this is not used in pg_proc: */ - FUNC_PARAM_DEFAULT = 'd' /* default; effectively same as IN */ + FUNC_PARAM_DEFAULT = 'd', /* default; effectively same as IN */ } FunctionParameterMode; typedef struct FunctionParameter @@ -3333,11 +3502,12 @@ typedef struct InlineCodeBlock typedef struct CallStmt { NodeTag type; - FuncCall *funccall; /* from the parser */ + /* from the parser */ + FuncCall *funccall pg_node_attr(query_jumble_ignore); /* transformed call, with only input args */ - FuncExpr *funcexpr pg_node_attr(query_jumble_ignore); + FuncExpr *funcexpr; /* transformed output-argument expressions */ - List *outargs pg_node_attr(query_jumble_ignore); + List *outargs; } CallStmt; typedef struct CallContext @@ -3491,7 +3661,7 @@ typedef enum TransactionStmtKind TRANS_STMT_ROLLBACK_TO, TRANS_STMT_PREPARE, TRANS_STMT_COMMIT_PREPARED, - TRANS_STMT_ROLLBACK_PREPARED + TRANS_STMT_ROLLBACK_PREPARED, } TransactionStmtKind; typedef struct TransactionStmt @@ -3499,9 +3669,13 @@ typedef struct TransactionStmt NodeTag type; TransactionStmtKind kind; /* see above */ List *options; /* for BEGIN/START commands */ - char *savepoint_name; /* for savepoint commands */ - char *gid; /* for two-phase-commit related commands */ + /* for savepoint commands */ + char *savepoint_name pg_node_attr(query_jumble_ignore); + /* for two-phase-commit related commands */ + char *gid pg_node_attr(query_jumble_ignore); bool chain; /* AND CHAIN option */ + /* token location, or -1 if unknown */ + ParseLoc location pg_node_attr(query_jumble_location); } TransactionStmt; /* ---------------------- @@ -3560,7 +3734,7 @@ typedef enum ViewCheckOption { NO_CHECK_OPTION, LOCAL_CHECK_OPTION, - CASCADED_CHECK_OPTION + CASCADED_CHECK_OPTION, } ViewCheckOption; typedef struct ViewStmt @@ -3752,7 +3926,7 @@ typedef enum DiscardMode DISCARD_ALL, DISCARD_PLANS, DISCARD_SEQUENCES, - DISCARD_TEMP + DISCARD_TEMP, } DiscardMode; typedef struct DiscardStmt @@ -3794,7 +3968,7 @@ typedef enum ReindexObjectType REINDEX_OBJECT_TABLE, /* table or materialized view */ REINDEX_OBJECT_SCHEMA, /* schema */ REINDEX_OBJECT_SYSTEM, /* system catalogs */ - REINDEX_OBJECT_DATABASE /* database */ + REINDEX_OBJECT_DATABASE, /* database */ } ReindexObjectType; typedef struct ReindexStmt @@ -3882,8 +4056,17 @@ typedef struct ExecuteStmt typedef struct DeallocateStmt { NodeTag type; - char *name; /* The name of the plan to remove */ - /* NULL means DEALLOCATE ALL */ + /* The name of the plan to remove, NULL if DEALLOCATE ALL */ + char *name pg_node_attr(query_jumble_ignore); + + /* + * True if DEALLOCATE ALL. This is redundant with "name == NULL", but we + * make it a separate field so that exactly this condition (and not the + * precise name) will be accounted for in query jumbling. + */ + bool isall; + /* token location, or -1 if unknown */ + ParseLoc location pg_node_attr(query_jumble_location); } DeallocateStmt; /* @@ -3925,7 +4108,7 @@ typedef enum AlterTSConfigType ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN, ALTER_TSCONFIG_REPLACE_DICT, ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN, - ALTER_TSCONFIG_DROP_MAPPING + ALTER_TSCONFIG_DROP_MAPPING, } AlterTSConfigType; typedef struct AlterTSConfigurationStmt @@ -3962,7 +4145,7 @@ typedef enum PublicationObjSpecType PUBLICATIONOBJ_TABLES_IN_SCHEMA, /* All tables in schema */ PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA, /* All tables in first element of * search_path */ - PUBLICATIONOBJ_CONTINUATION /* Continuation of previous type */ + PUBLICATIONOBJ_CONTINUATION, /* Continuation of previous type */ } PublicationObjSpecType; typedef struct PublicationObjSpec @@ -3971,7 +4154,7 @@ typedef struct PublicationObjSpec PublicationObjSpecType pubobjtype; /* type of this publication object */ char *name; PublicationTable *pubtable; - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } PublicationObjSpec; typedef struct CreatePublicationStmt @@ -3987,7 +4170,7 @@ typedef enum AlterPublicationAction { AP_AddObjects, /* add objects to publication */ AP_DropObjects, /* remove objects from publication */ - AP_SetObjects /* set list of objects */ + AP_SetObjects, /* set list of objects */ } AlterPublicationAction; typedef struct AlterPublicationStmt @@ -4026,7 +4209,7 @@ typedef enum AlterSubscriptionType ALTER_SUBSCRIPTION_DROP_PUBLICATION, ALTER_SUBSCRIPTION_REFRESH, ALTER_SUBSCRIPTION_ENABLED, - ALTER_SUBSCRIPTION_SKIP + ALTER_SUBSCRIPTION_SKIP, } AlterSubscriptionType; typedef struct AlterSubscriptionStmt diff --git a/parser/include/postgres/nodes/pathnodes.h b/parser/include/postgres/nodes/pathnodes.h index 94aebadd..2ba297c1 100644 --- a/parser/include/postgres/nodes/pathnodes.h +++ b/parser/include/postgres/nodes/pathnodes.h @@ -6,7 +6,7 @@ * We don't support copying RelOptInfo, IndexOptInfo, or Path nodes. * There are some subsidiary structs that are useful to copy, though. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/pathnodes.h @@ -76,7 +76,7 @@ typedef enum UpperRelationKind UPPERREL_PARTIAL_DISTINCT, /* result of partial "SELECT DISTINCT", if any */ UPPERREL_DISTINCT, /* result of "SELECT DISTINCT", if any */ UPPERREL_ORDERED, /* result of ORDER BY, if any */ - UPPERREL_FINAL /* result of any remaining top-level actions */ + UPPERREL_FINAL, /* result of any remaining top-level actions */ /* NB: UPPERREL_FINAL must be last enum entry; it's used to size arrays */ } UpperRelationKind; @@ -104,6 +104,9 @@ typedef struct PlannerGlobal /* Plans for SubPlan nodes */ List *subplans; + /* Paths from which the SubPlan Plans were made */ + List *subpaths; + /* PlannerInfos for SubPlan nodes */ List *subroots pg_node_attr(read_write_ignore); @@ -397,6 +400,8 @@ struct PlannerInfo List *distinct_pathkeys; /* sortClause pathkeys, if any */ List *sort_pathkeys; + /* set operator pathkeys, if any */ + List *setop_pathkeys; /* Canonicalised partition schemes used in the query. */ List *part_schemes pg_node_attr(read_write_ignore); @@ -421,7 +426,11 @@ struct PlannerInfo * items to be proven redundant, implying that there is only one group * containing all the query's rows. Hence, if you want to check whether * GROUP BY was specified, test for nonempty parse->groupClause, not for - * nonempty processed_groupClause. + * nonempty processed_groupClause. Optimizer chooses specific order of + * group-by clauses during the upper paths generation process, attempting + * to use different strategies to minimize number of sorts or engage + * incremental sort. See preprocess_groupclause() and + * get_useful_group_keys_orderings() for details. * * Currently, when grouping sets are specified we do not attempt to * optimize the groupClause, so that processed_groupClause will be @@ -814,7 +823,7 @@ typedef enum RelOptKind RELOPT_OTHER_MEMBER_REL, RELOPT_OTHER_JOINREL, RELOPT_UPPER_REL, - RELOPT_OTHER_UPPER_REL + RELOPT_OTHER_UPPER_REL, } RelOptKind; /* @@ -913,6 +922,12 @@ typedef struct RelOptInfo Relids *attr_needed pg_node_attr(read_write_ignore); /* array indexed [min_attr .. max_attr] */ int32 *attr_widths pg_node_attr(read_write_ignore); + + /* + * Zero-based set containing attnums of NOT NULL columns. Not populated + * for rels corresponding to non-partitioned inh==true RTEs. + */ + Bitmapset *notnullattnums; /* relids of outer joins that can null this baserel */ Relids nulling_relids; /* LATERAL Vars and PHVs referenced by rel */ @@ -1456,6 +1471,23 @@ typedef struct PathKey bool pk_nulls_first; /* do NULLs come before normal values? */ } PathKey; +/* + * Contains an order of group-by clauses and the corresponding list of + * pathkeys. + * + * The elements of 'clauses' list should have the same order as the head of + * 'pathkeys' list. The tleSortGroupRef of the clause should be equal to + * ec_sortref of the pathkey equivalence class. If there are redundant + * clauses with the same tleSortGroupRef, they must be grouped together. + */ +typedef struct GroupByOrdering +{ + NodeTag type; + + List *pathkeys; + List *clauses; +} GroupByOrdering; + /* * VolatileFunctionStatus -- allows nodes to cache their * contain_volatile_functions properties. VOLATILITY_UNKNOWN means not yet @@ -1465,7 +1497,7 @@ typedef enum VolatileFunctionStatus { VOLATILITY_UNKNOWN = 0, VOLATILITY_VOLATILE, - VOLATILITY_NOVOLATILE + VOLATILITY_NOVOLATILE, } VolatileFunctionStatus; /* @@ -1822,6 +1854,10 @@ typedef struct SubqueryScanPath * ForeignPath represents a potential scan of a foreign table, foreign join * or foreign upper-relation. * + * In the case of a foreign join, fdw_restrictinfo stores the RestrictInfos to + * apply to the join, which are used by createplan.c to get pseudoconstant + * clauses evaluated as one-time quals in a gating Result plan node. + * * fdw_private stores FDW private data about the scan. While fdw_private is * not actually touched by the core code during normal operations, it's * generally a good idea to use a representation that can be dumped by @@ -1832,6 +1868,7 @@ typedef struct ForeignPath { Path path; Path *fdw_outerpath; + List *fdw_restrictinfo; List *fdw_private; } ForeignPath; @@ -1841,7 +1878,7 @@ typedef struct ForeignPath * * We provide a set of hooks here - which the provider must take care to set * up correctly - to allow extensions to supply their own methods of scanning - * a relation or joing relations. For example, a provider might provide GPU + * a relation or join relations. For example, a provider might provide GPU * acceleration, a cache-based scan, or some other kind of logic we haven't * dreamed up yet. * @@ -1849,6 +1886,10 @@ typedef struct ForeignPath * relation by set_rel_pathlist_hook or set_join_pathlist_hook functions, * respectively. * + * In the case of a table join, custom_restrictinfo stores the RestrictInfos + * to apply to the join, which are used by createplan.c to get pseudoconstant + * clauses evaluated as one-time quals in a gating Result plan node. + * * Core code must avoid assuming that the CustomPath is only as large as * the structure declared here; providers are allowed to make it the first * element in a larger structure. (Since the planner never copies Paths, @@ -1865,6 +1906,7 @@ typedef struct CustomPath uint32 flags; /* mask of CUSTOMPATH_* flags, see * nodes/extensible.h */ List *custom_paths; /* list of child Path nodes, if any */ + List *custom_restrictinfo; List *custom_private; const struct CustomPathMethods *methods; } CustomPath; @@ -1977,7 +2019,7 @@ typedef enum UniquePathMethod { UNIQUE_PATH_NOOP, /* input is known unique already */ UNIQUE_PATH_HASH, /* use hashing */ - UNIQUE_PATH_SORT /* use sorting */ + UNIQUE_PATH_SORT, /* use sorting */ } UniquePathMethod; typedef struct UniquePath @@ -2277,6 +2319,7 @@ typedef struct WindowAggPath Path *subpath; /* path representing input source */ WindowClause *winclause; /* WindowClause we'll be using */ List *qual; /* lower-level WindowAgg runconditions */ + List *runCondition; /* OpExpr List to short-circuit execution */ bool topwindow; /* false for all apart from the WindowAgg * that's closest to the root of the plan */ } WindowAggPath; @@ -2345,6 +2388,8 @@ typedef struct ModifyTablePath int epqParam; /* ID of Param for EvalPlanQual re-eval */ List *mergeActionLists; /* per-target-table lists of actions for * MERGE */ + List *mergeJoinConditions; /* per-target-table join conditions + * for MERGE */ } ModifyTablePath; /* @@ -2578,7 +2623,10 @@ typedef struct RestrictInfo * 2. If we manufacture a commuted version of a qual to use as an index * condition, it copies the original's rinfo_serial, since it is in * practice the same condition. - * 3. RestrictInfos made for a child relation copy their parent's + * 3. If we reduce a qual to constant-FALSE, the new constant-FALSE qual + * copies the original's rinfo_serial, since it is in practice the same + * condition. + * 4. RestrictInfos made for a child relation copy their parent's * rinfo_serial. Likewise, when an EquivalenceClass makes a derived * equality clause for a child relation, it copies the rinfo_serial of * the matching equality clause for the parent. This allows detection @@ -2829,6 +2877,9 @@ typedef struct PlaceHolderVar * cost estimation purposes it is sometimes useful to know the join size under * plain innerjoin semantics. Note that lhs_strict and the semi_xxx fields * are not set meaningfully within such structs. + * + * We also create transient SpecialJoinInfos for child joins during + * partitionwise join planning, which are also not present in join_info_list. */ #ifndef HAVE_SPECIALJOININFO_TYPEDEF typedef struct SpecialJoinInfo SpecialJoinInfo; @@ -3218,7 +3269,7 @@ typedef enum { PARTITIONWISE_AGGREGATE_NONE, PARTITIONWISE_AGGREGATE_FULL, - PARTITIONWISE_AGGREGATE_PARTIAL + PARTITIONWISE_AGGREGATE_PARTIAL, } PartitionwiseAggregateType; /* diff --git a/parser/include/postgres/nodes/pg_list.h b/parser/include/postgres/nodes/pg_list.h index 529a382d..52df9375 100644 --- a/parser/include/postgres/nodes/pg_list.h +++ b/parser/include/postgres/nodes/pg_list.h @@ -29,7 +29,7 @@ * always be so; be careful to use the appropriate list type for your data.) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/pg_list.h @@ -381,26 +381,26 @@ lnext(const List *l, const ListCell *c) /* * foreach_delete_current - * delete the current list element from the List associated with a - * surrounding foreach() loop, returning the new List pointer. + * surrounding foreach() or foreach_*() loop, returning the new List + * pointer; pass the name of the iterator variable. * - * This is equivalent to list_delete_cell(), but it also adjusts the foreach - * loop's state so that no list elements will be missed. Do not delete - * elements from an active foreach loop's list in any other way! + * This is similar to list_delete_cell(), but it also adjusts the loop's state + * so that no list elements will be missed. Do not delete elements from an + * active foreach or foreach_* loop's list in any other way! */ -#define foreach_delete_current(lst, cell) \ - (cell##__state.i--, \ - (List *) (cell##__state.l = list_delete_cell(lst, cell))) +#define foreach_delete_current(lst, var_or_cell) \ + ((List *) (var_or_cell##__state.l = list_delete_nth_cell(lst, var_or_cell##__state.i--))) /* * foreach_current_index - - * get the zero-based list index of a surrounding foreach() loop's - * current element; pass the name of the "ListCell *" iterator variable. + * get the zero-based list index of a surrounding foreach() or foreach_*() + * loop's current element; pass the name of the iterator variable. * * Beware of using this after foreach_delete_current(); the value will be * out of sync for the rest of the current loop iteration. Anyway, since * you just deleted the current element, the value is pretty meaningless. */ -#define foreach_current_index(cell) (cell##__state.i) +#define foreach_current_index(var_or_cell) (var_or_cell##__state.i) /* * for_each_from - @@ -452,6 +452,57 @@ for_each_cell_setup(const List *lst, const ListCell *initcell) return r; } +/* + * Convenience macros that loop through a list without needing a separate + * "ListCell *" variable. Instead, the macros declare a locally-scoped loop + * variable with the provided name and the appropriate type. + * + * Since the variable is scoped to the loop, it's not possible to detect an + * early break by checking its value after the loop completes, as is common + * practice. If you need to do this, you can either use foreach() instead or + * manually track early breaks with a separate variable declared outside of the + * loop. + * + * Note that the caveats described in the comment above the foreach() macro + * also apply to these convenience macros. + */ +#define foreach_ptr(type, var, lst) foreach_internal(type, *, var, lst, lfirst) +#define foreach_int(var, lst) foreach_internal(int, , var, lst, lfirst_int) +#define foreach_oid(var, lst) foreach_internal(Oid, , var, lst, lfirst_oid) +#define foreach_xid(var, lst) foreach_internal(TransactionId, , var, lst, lfirst_xid) + +/* + * The internal implementation of the above macros. Do not use directly. + * + * This macro actually generates two loops in order to declare two variables of + * different types. The outer loop only iterates once, so we expect optimizing + * compilers will unroll it, thereby optimizing it away. + */ +#define foreach_internal(type, pointer, var, lst, func) \ + for (type pointer var = 0, pointer var##__outerloop = (type pointer) 1; \ + var##__outerloop; \ + var##__outerloop = 0) \ + for (ForEachState var##__state = {(lst), 0}; \ + (var##__state.l != NIL && \ + var##__state.i < var##__state.l->length && \ + (var = func(&var##__state.l->elements[var##__state.i]), true)); \ + var##__state.i++) + +/* + * foreach_node - + * The same as foreach_ptr, but asserts that the element is of the specified + * node type. + */ +#define foreach_node(type, var, lst) \ + for (type * var = 0, *var##__outerloop = (type *) 1; \ + var##__outerloop; \ + var##__outerloop = 0) \ + for (ForEachState var##__state = {(lst), 0}; \ + (var##__state.l != NIL && \ + var##__state.i < var##__state.l->length && \ + (var = lfirst_node(type, &var##__state.l->elements[var##__state.i]), true)); \ + var##__state.i++) + /* * forboth - * a convenience macro for advancing through two linked lists diff --git a/parser/include/postgres/nodes/plannodes.h b/parser/include/postgres/nodes/plannodes.h index d64fe6a3..1aeeaec9 100644 --- a/parser/include/postgres/nodes/plannodes.h +++ b/parser/include/postgres/nodes/plannodes.h @@ -4,7 +4,7 @@ * definitions for query plan nodes * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/plannodes.h @@ -20,7 +20,6 @@ #include "lib/stringinfo.h" #include "nodes/bitmapset.h" #include "nodes/lockoptions.h" -#include "nodes/parsenodes.h" #include "nodes/primnodes.h" @@ -54,9 +53,9 @@ typedef struct PlannedStmt uint64 queryId; /* query identifier (copied from Query) */ - bool hasReturning; /* is it insert|update|delete RETURNING? */ + bool hasReturning; /* is it insert|update|delete|merge RETURNING? */ - bool hasModifyingCTE; /* has insert|update|delete in WITH? */ + bool hasModifyingCTE; /* has insert|update|delete|merge in WITH? */ bool canSetTag; /* do I set the command result tag? */ @@ -96,8 +95,8 @@ typedef struct PlannedStmt Node *utilityStmt; /* non-null if this is utility stmt */ /* statement location in source string (copied from Query) */ - int stmt_location; /* start location, or -1 if unknown */ - int stmt_len; /* length in bytes; 0 means "rest of string" */ + ParseLoc stmt_location; /* start location, or -1 if unknown */ + ParseLoc stmt_len; /* length in bytes; 0 means "rest of string" */ } PlannedStmt; /* macro for fetching the Plan associated with a SubPlan node */ @@ -252,6 +251,8 @@ typedef struct ModifyTable List *exclRelTlist; /* tlist of the EXCLUDED pseudo relation */ List *mergeActionLists; /* per-target-table lists of actions for * MERGE */ + List *mergeJoinConditions; /* per-target-table join conditions + * for MERGE */ } ModifyTable; struct PartitionPruneInfo; /* forward reference to struct below */ @@ -591,7 +592,7 @@ typedef enum SubqueryScanStatus { SUBQUERY_SCAN_UNKNOWN, SUBQUERY_SCAN_TRIVIAL, - SUBQUERY_SCAN_NONTRIVIAL + SUBQUERY_SCAN_NONTRIVIAL, } SubqueryScanStatus; typedef struct SubqueryScan @@ -1330,7 +1331,7 @@ typedef enum RowMarkType ROW_MARK_SHARE, /* obtain shared tuple lock */ ROW_MARK_KEYSHARE, /* obtain keyshare tuple lock */ ROW_MARK_REFERENCE, /* just fetch the TID, don't lock it */ - ROW_MARK_COPY /* physically copy the row value */ + ROW_MARK_COPY, /* physically copy the row value */ } RowMarkType; #define RowMarkRequiresRowShareLock(marktype) ((marktype) <= ROW_MARK_KEYSHARE) @@ -1542,7 +1543,7 @@ typedef struct PartitionPruneStepOp typedef enum PartitionPruneCombineOp { PARTPRUNE_COMBINE_UNION, - PARTPRUNE_COMBINE_INTERSECT + PARTPRUNE_COMBINE_INTERSECT, } PartitionPruneCombineOp; typedef struct PartitionPruneStepCombine @@ -1586,7 +1587,7 @@ typedef enum MonotonicFunction MONOTONICFUNC_NONE = 0, MONOTONICFUNC_INCREASING = (1 << 0), MONOTONICFUNC_DECREASING = (1 << 1), - MONOTONICFUNC_BOTH = MONOTONICFUNC_INCREASING | MONOTONICFUNC_DECREASING + MONOTONICFUNC_BOTH = MONOTONICFUNC_INCREASING | MONOTONICFUNC_DECREASING, } MonotonicFunction; #endif /* PLANNODES_H */ diff --git a/parser/include/postgres/nodes/primnodes.h b/parser/include/postgres/nodes/primnodes.h index e1aadc39..ea47652a 100644 --- a/parser/include/postgres/nodes/primnodes.h +++ b/parser/include/postgres/nodes/primnodes.h @@ -7,7 +7,7 @@ * and join trees. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/primnodes.h @@ -22,6 +22,14 @@ #include "nodes/pg_list.h" +typedef enum OverridingKind +{ + OVERRIDING_NOT_SET = 0, + OVERRIDING_USER_VALUE, + OVERRIDING_SYSTEM_VALUE, +} OverridingKind; + + /* ---------------------------------------------------------------- * node definitions * ---------------------------------------------------------------- @@ -49,7 +57,7 @@ typedef enum OnCommitAction ONCOMMIT_NOOP, /* No ON COMMIT clause (do nothing) */ ONCOMMIT_PRESERVE_ROWS, /* ON COMMIT PRESERVE ROWS (do nothing) */ ONCOMMIT_DELETE_ROWS, /* ON COMMIT DELETE ROWS */ - ONCOMMIT_DROP /* ON COMMIT DROP */ + ONCOMMIT_DROP, /* ON COMMIT DROP */ } OnCommitAction; /* @@ -83,11 +91,17 @@ typedef struct RangeVar Alias *alias; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } RangeVar; +typedef enum TableFuncType +{ + TFT_XMLTABLE, + TFT_JSON_TABLE, +} TableFuncType; + /* - * TableFunc - node for a table function, such as XMLTABLE. + * TableFunc - node for a table function, such as XMLTABLE and JSON_TABLE. * * Entries in the ns_names list are either String nodes containing * literal namespace names, or NULL pointers to represent DEFAULT. @@ -95,6 +109,8 @@ typedef struct RangeVar typedef struct TableFunc { NodeTag type; + /* XMLTABLE or JSON_TABLE */ + TableFuncType functype; /* list of namespace URI expressions */ List *ns_uris pg_node_attr(query_jumble_ignore); /* list of namespace names or NULL */ @@ -115,12 +131,18 @@ typedef struct TableFunc List *colexprs; /* list of column default expressions */ List *coldefexprs pg_node_attr(query_jumble_ignore); + /* JSON_TABLE: list of column value expressions */ + List *colvalexprs pg_node_attr(query_jumble_ignore); + /* JSON_TABLE: list of PASSING argument expressions */ + List *passingvalexprs pg_node_attr(query_jumble_ignore); /* nullability flag for each output column */ Bitmapset *notnulls pg_node_attr(query_jumble_ignore); + /* JSON_TABLE plan */ + Node *plan pg_node_attr(query_jumble_ignore); /* counts from 0; -1 if none specified */ int ordinalitycol pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } TableFunc; /* @@ -268,7 +290,7 @@ typedef struct Var AttrNumber varattnosyn pg_node_attr(equal_ignore, query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } Var; /* @@ -310,7 +332,7 @@ typedef struct Const * token location, or -1 if unknown. All constants are tracked as * locations in query jumbling, to be marked as parameters. */ - int location pg_node_attr(query_jumble_location); + ParseLoc location pg_node_attr(query_jumble_location); } Const; /* @@ -345,7 +367,7 @@ typedef enum ParamKind PARAM_EXTERN, PARAM_EXEC, PARAM_SUBLINK, - PARAM_MULTIEXPR + PARAM_MULTIEXPR, } ParamKind; typedef struct Param @@ -359,7 +381,7 @@ typedef struct Param /* OID of collation, or InvalidOid if none */ Oid paramcollid pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } Param; /* @@ -482,7 +504,7 @@ typedef struct Aggref int aggtransno pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } Aggref; /* @@ -529,7 +551,7 @@ typedef struct GroupingFunc Index agglevelsup; /* token location */ - int location; + ParseLoc location; } GroupingFunc; /* @@ -553,6 +575,8 @@ typedef struct WindowFunc List *args; /* FILTER expression, if any */ Expr *aggfilter; + /* List of WindowFuncRunConditions to help short-circuit execution */ + List *runCondition pg_node_attr(query_jumble_ignore); /* index of associated WindowClause */ Index winref; /* true if argument list was really '*' */ @@ -560,9 +584,58 @@ typedef struct WindowFunc /* is function a simple aggregate? */ bool winagg pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } WindowFunc; +/* + * WindowFuncRunCondition + * + * Represents intermediate OpExprs which will be used by WindowAgg to + * short-circuit execution. + */ +typedef struct WindowFuncRunCondition +{ + Expr xpr; + + /* PG_OPERATOR OID of the operator */ + Oid opno; + /* OID of collation that operator should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + + /* + * true of WindowFunc belongs on the left of the resulting OpExpr or false + * if the WindowFunc is on the right. + */ + bool wfunc_left; + + /* + * The Expr being compared to the WindowFunc to use in the OpExpr in the + * WindowAgg's runCondition + */ + Expr *arg; +} WindowFuncRunCondition; + +/* + * MergeSupportFunc + * + * A MergeSupportFunc is a merge support function expression that can only + * appear in the RETURNING list of a MERGE command. It returns information + * about the currently executing merge action. + * + * Currently, the only supported function is MERGE_ACTION(), which returns the + * command executed ("INSERT", "UPDATE", or "DELETE"). + */ +typedef struct MergeSupportFunc +{ + Expr xpr; + /* type Oid of result */ + Oid msftype; + /* OID of collation, or InvalidOid if none */ + Oid msfcollid; + /* token location, or -1 if unknown */ + ParseLoc location; +} MergeSupportFunc; + /* * SubscriptingRef: describes a subscripting operation over a container * (array, etc). @@ -641,7 +714,7 @@ typedef enum CoercionContext COERCION_IMPLICIT, /* coercion in context of expression */ COERCION_ASSIGNMENT, /* coercion in context of assignment */ COERCION_PLPGSQL, /* if no assignment cast, use CoerceViaIO */ - COERCION_EXPLICIT /* explicit cast operation */ + COERCION_EXPLICIT, /* explicit cast operation */ } CoercionContext; /* @@ -661,7 +734,7 @@ typedef enum CoercionForm COERCE_EXPLICIT_CALL, /* display as a function call */ COERCE_EXPLICIT_CAST, /* display as an explicit cast */ COERCE_IMPLICIT_CAST, /* implicit cast, so hide it */ - COERCE_SQL_SYNTAX /* display with SQL-mandated special syntax */ + COERCE_SQL_SYNTAX, /* display with SQL-mandated special syntax */ } CoercionForm; /* @@ -694,7 +767,7 @@ typedef struct FuncExpr /* arguments to the function */ List *args; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } FuncExpr; /* @@ -721,7 +794,7 @@ typedef struct NamedArgExpr /* argument's number in positional notation */ int argnumber; /* argument name location, or -1 if unknown */ - int location; + ParseLoc location; } NamedArgExpr; /* @@ -763,7 +836,7 @@ typedef struct OpExpr List *args; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } OpExpr; /* @@ -843,7 +916,7 @@ typedef struct ScalarArrayOpExpr List *args; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } ScalarArrayOpExpr; /* @@ -865,7 +938,7 @@ typedef struct BoolExpr Expr xpr; BoolExprType boolop; List *args; /* arguments to this expression */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } BoolExpr; /* @@ -928,7 +1001,7 @@ typedef enum SubLinkType EXPR_SUBLINK, MULTIEXPR_SUBLINK, ARRAY_SUBLINK, - CTE_SUBLINK /* for SubPlans only */ + CTE_SUBLINK, /* for SubPlans only */ } SubLinkType; @@ -942,7 +1015,7 @@ typedef struct SubLink List *operName pg_node_attr(query_jumble_ignore); /* subselect as Query* or raw parsetree */ Node *subselect; - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } SubLink; /* @@ -1116,7 +1189,7 @@ typedef struct RelabelType Oid resultcollid pg_node_attr(query_jumble_ignore); /* how to display this node */ CoercionForm relabelformat pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } RelabelType; /* ---------------- @@ -1138,7 +1211,7 @@ typedef struct CoerceViaIO Oid resultcollid pg_node_attr(query_jumble_ignore); /* how to display this node */ CoercionForm coerceformat pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CoerceViaIO; /* ---------------- @@ -1166,7 +1239,7 @@ typedef struct ArrayCoerceExpr Oid resultcollid pg_node_attr(query_jumble_ignore); /* how to display this node */ CoercionForm coerceformat pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } ArrayCoerceExpr; /* ---------------- @@ -1190,7 +1263,7 @@ typedef struct ConvertRowtypeExpr /* Like RowExpr, we deliberately omit a typmod and collation here */ /* how to display this node */ CoercionForm convertformat pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } ConvertRowtypeExpr; /*---------- @@ -1205,7 +1278,7 @@ typedef struct CollateExpr Expr xpr; Expr *arg; /* input expression */ Oid collOid; /* collation's OID */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CollateExpr; /*---------- @@ -1240,7 +1313,7 @@ typedef struct CaseExpr Expr *arg; /* implicit equality comparison argument */ List *args; /* the arguments (list of WHEN clauses) */ Expr *defresult; /* the default result (ELSE clause) */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CaseExpr; /* @@ -1251,7 +1324,7 @@ typedef struct CaseWhen Expr xpr; Expr *expr; /* condition expression */ Expr *result; /* substitution result */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CaseWhen; /* @@ -1308,7 +1381,7 @@ typedef struct ArrayExpr /* true if elements are sub-arrays */ bool multidims pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } ArrayExpr; /* @@ -1359,7 +1432,7 @@ typedef struct RowExpr /* list of String, or NIL */ List *colnames pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } RowExpr; /* @@ -1384,7 +1457,7 @@ typedef enum RowCompareType ROWCOMPARE_EQ = 3, /* BTEqualStrategyNumber */ ROWCOMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */ ROWCOMPARE_GT = 5, /* BTGreaterStrategyNumber */ - ROWCOMPARE_NE = 6 /* no such btree strategy */ + ROWCOMPARE_NE = 6, /* no such btree strategy */ } RowCompareType; typedef struct RowCompareExpr @@ -1418,7 +1491,7 @@ typedef struct CoalesceExpr /* the arguments */ List *args; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } CoalesceExpr; /* @@ -1444,7 +1517,7 @@ typedef struct MinMaxExpr /* the arguments */ List *args; /* token location, or -1 if unknown */ - int location; + ParseLoc location; } MinMaxExpr; /* @@ -1474,7 +1547,7 @@ typedef enum SQLValueFunctionOp SVFOP_USER, SVFOP_SESSION_USER, SVFOP_CURRENT_CATALOG, - SVFOP_CURRENT_SCHEMA + SVFOP_CURRENT_SCHEMA, } SQLValueFunctionOp; typedef struct SQLValueFunction @@ -1488,7 +1561,7 @@ typedef struct SQLValueFunction */ Oid type pg_node_attr(query_jumble_ignore); int32 typmod; - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } SQLValueFunction; /* @@ -1511,13 +1584,13 @@ typedef enum XmlExprOp IS_XMLPI, /* XMLPI(name [, args]) */ IS_XMLROOT, /* XMLROOT(xml, version, standalone) */ IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval, indent) */ - IS_DOCUMENT /* xmlval IS DOCUMENT */ + IS_DOCUMENT, /* xmlval IS DOCUMENT */ } XmlExprOp; typedef enum XmlOptionType { XMLOPTION_DOCUMENT, - XMLOPTION_CONTENT + XMLOPTION_CONTENT, } XmlOptionType; typedef struct XmlExpr @@ -1541,7 +1614,7 @@ typedef struct XmlExpr Oid type pg_node_attr(query_jumble_ignore); int32 typmod pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } XmlExpr; /* @@ -1564,7 +1637,7 @@ typedef enum JsonFormatType { JS_FORMAT_DEFAULT, /* unspecified */ JS_FORMAT_JSON, /* FORMAT JSON [ENCODING ...] */ - JS_FORMAT_JSONB /* implicit internal format for RETURNING + JS_FORMAT_JSONB, /* implicit internal format for RETURNING * jsonb */ } JsonFormatType; @@ -1577,7 +1650,7 @@ typedef struct JsonFormat NodeTag type; JsonFormatType format_type; /* format type */ JsonEncoding encoding; /* JSON encoding */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonFormat; /* @@ -1598,7 +1671,7 @@ typedef struct JsonReturning * * The actual value is obtained by evaluating formatted_expr. raw_expr is * only there for displaying the original user-written expression and is not - * evaluated by ExecInterpExpr() and eval_const_exprs_mutator(). + * evaluated by ExecInterpExpr() and eval_const_expressions_mutator(). */ typedef struct JsonValueExpr { @@ -1613,7 +1686,10 @@ typedef enum JsonConstructorType JSCTOR_JSON_OBJECT = 1, JSCTOR_JSON_ARRAY = 2, JSCTOR_JSON_OBJECTAGG = 3, - JSCTOR_JSON_ARRAYAGG = 4 + JSCTOR_JSON_ARRAYAGG = 4, + JSCTOR_JSON_PARSE = 5, + JSCTOR_JSON_SCALAR = 6, + JSCTOR_JSON_SERIALIZE = 7, } JsonConstructorType; /* @@ -1630,7 +1706,7 @@ typedef struct JsonConstructorExpr JsonReturning *returning; /* RETURNING clause */ bool absent_on_null; /* ABSENT ON NULL? */ bool unique; /* WITH UNIQUE KEYS? (JSON_OBJECT[AGG] only) */ - int location; + ParseLoc location; } JsonConstructorExpr; /* @@ -1642,7 +1718,7 @@ typedef enum JsonValueType JS_TYPE_ANY, /* IS JSON [VALUE] */ JS_TYPE_OBJECT, /* IS JSON OBJECT */ JS_TYPE_ARRAY, /* IS JSON ARRAY */ - JS_TYPE_SCALAR /* IS JSON SCALAR */ + JS_TYPE_SCALAR, /* IS JSON SCALAR */ } JsonValueType; /* @@ -1656,9 +1732,198 @@ typedef struct JsonIsPredicate JsonFormat *format; /* FORMAT clause, if specified */ JsonValueType item_type; /* JSON item type */ bool unique_keys; /* check key uniqueness? */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } JsonIsPredicate; +/* Nodes used in SQL/JSON query functions */ + +/* + * JsonWrapper - + * representation of WRAPPER clause for JSON_QUERY() + */ +typedef enum JsonWrapper +{ + JSW_UNSPEC, + JSW_NONE, + JSW_CONDITIONAL, + JSW_UNCONDITIONAL, +} JsonWrapper; + +/* + * JsonBehaviorType - + * enumeration of behavior types used in SQL/JSON ON ERROR/EMPTY clauses + * + * If enum members are reordered, get_json_behavior() from ruleutils.c + * must be updated accordingly. + */ +typedef enum JsonBehaviorType +{ + JSON_BEHAVIOR_NULL = 0, + JSON_BEHAVIOR_ERROR, + JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_TRUE, + JSON_BEHAVIOR_FALSE, + JSON_BEHAVIOR_UNKNOWN, + JSON_BEHAVIOR_EMPTY_ARRAY, + JSON_BEHAVIOR_EMPTY_OBJECT, + JSON_BEHAVIOR_DEFAULT, +} JsonBehaviorType; + +/* + * JsonBehavior + * Specifications for ON ERROR / ON EMPTY behaviors of SQL/JSON + * query functions specified by a JsonExpr + * + * 'expr' is the expression to emit when a given behavior (EMPTY or ERROR) + * occurs on evaluating the SQL/JSON query function. 'coerce' is set to true + * if 'expr' isn't already of the expected target type given by + * JsonExpr.returning. + */ +typedef struct JsonBehavior +{ + NodeTag type; + + JsonBehaviorType btype; + Node *expr; + bool coerce; + ParseLoc location; /* token location, or -1 if unknown */ +} JsonBehavior; + +/* + * JsonExprOp - + * enumeration of SQL/JSON query function types + */ +typedef enum JsonExprOp +{ + JSON_EXISTS_OP, /* JSON_EXISTS() */ + JSON_QUERY_OP, /* JSON_QUERY() */ + JSON_VALUE_OP, /* JSON_VALUE() */ + JSON_TABLE_OP, /* JSON_TABLE() */ +} JsonExprOp; + +/* + * JsonExpr - + * Transformed representation of JSON_VALUE(), JSON_QUERY(), and + * JSON_EXISTS() + */ +typedef struct JsonExpr +{ + Expr xpr; + + JsonExprOp op; + + char *column_name; /* JSON_TABLE() column name or NULL if this is + * not for a JSON_TABLE() */ + + /* jsonb-valued expression to query */ + Node *formatted_expr; + + /* Format of the above expression needed by ruleutils.c */ + JsonFormat *format; + + /* jsonpath-valued expression containing the query pattern */ + Node *path_spec; + + /* Expected type/format of the output. */ + JsonReturning *returning; + + /* Information about the PASSING argument expressions */ + List *passing_names; + List *passing_values; + + /* User-specified or default ON EMPTY and ON ERROR behaviors */ + JsonBehavior *on_empty; + JsonBehavior *on_error; + + /* + * Information about converting the result of jsonpath functions + * JsonPathQuery() and JsonPathValue() to the RETURNING type. + */ + bool use_io_coercion; + bool use_json_coercion; + + /* WRAPPER specification for JSON_QUERY */ + JsonWrapper wrapper; + + /* KEEP or OMIT QUOTES for singleton scalars returned by JSON_QUERY() */ + bool omit_quotes; + + /* JsonExpr's collation. */ + Oid collation; + + /* Original JsonFuncExpr's location */ + ParseLoc location; +} JsonExpr; + +/* + * JsonTablePath + * A JSON path expression to be computed as part of evaluating + * a JSON_TABLE plan node + */ +typedef struct JsonTablePath +{ + NodeTag type; + + Const *value; + char *name; +} JsonTablePath; + +/* + * JsonTablePlan - + * Abstract class to represent different types of JSON_TABLE "plans". + * A plan is used to generate a "row pattern" value by evaluating a JSON + * path expression against an input JSON document, which is then used for + * populating JSON_TABLE() columns + */ +typedef struct JsonTablePlan +{ + pg_node_attr(abstract) + + NodeTag type; +} JsonTablePlan; + +/* + * JSON_TABLE plan to evaluate a JSON path expression and NESTED paths, if + * any. + */ +typedef struct JsonTablePathScan +{ + JsonTablePlan plan; + + /* JSON path to evaluate */ + JsonTablePath *path; + + /* + * ERROR/EMPTY ON ERROR behavior; only significant in the plan for the + * top-level path. + */ + bool errorOnError; + + /* Plan(s) for nested columns, if any. */ + JsonTablePlan *child; + + /* + * 0-based index in TableFunc.colvalexprs of the 1st and the last column + * covered by this plan. Both are -1 if all columns are nested and thus + * computed by the child plan(s). + */ + int colMin; + int colMax; +} JsonTablePathScan; + +/* + * JsonTableSiblingJoin - + * Plan to join rows of sibling NESTED COLUMNS clauses in the same parent + * COLUMNS clause + */ +typedef struct JsonTableSiblingJoin +{ + JsonTablePlan plan; + + JsonTablePlan *lplan; + JsonTablePlan *rplan; +} JsonTableSiblingJoin; + /* ---------------- * NullTest * @@ -1690,7 +1955,7 @@ typedef struct NullTest NullTestType nulltesttype; /* IS NULL, IS NOT NULL */ /* T to perform field-by-field null checks */ bool argisrow pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } NullTest; /* @@ -1712,9 +1977,38 @@ typedef struct BooleanTest Expr xpr; Expr *arg; /* input expression */ BoolTestType booltesttype; /* test type */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } BooleanTest; + +/* + * MergeAction + * + * Transformed representation of a WHEN clause in a MERGE statement + */ + +typedef enum MergeMatchKind +{ + MERGE_WHEN_MATCHED, + MERGE_WHEN_NOT_MATCHED_BY_SOURCE, + MERGE_WHEN_NOT_MATCHED_BY_TARGET +} MergeMatchKind; + +#define NUM_MERGE_MATCH_KINDS (MERGE_WHEN_NOT_MATCHED_BY_TARGET + 1) + +typedef struct MergeAction +{ + NodeTag type; + MergeMatchKind matchKind; /* MATCHED/NOT MATCHED BY SOURCE/TARGET */ + CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ + /* OVERRIDING clause */ + OverridingKind override pg_node_attr(query_jumble_ignore); + Node *qual; /* transformed WHEN conditions */ + List *targetList; /* the target list (of TargetEntry) */ + /* target attribute numbers of an UPDATE */ + List *updateColnos pg_node_attr(query_jumble_ignore); +} MergeAction; + /* * CoerceToDomain * @@ -1735,7 +2029,7 @@ typedef struct CoerceToDomain Oid resultcollid pg_node_attr(query_jumble_ignore); /* how to display this node */ CoercionForm coercionformat pg_node_attr(query_jumble_ignore); - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CoerceToDomain; /* @@ -1757,7 +2051,7 @@ typedef struct CoerceToDomainValue /* collation for the substituted value */ Oid collation pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } CoerceToDomainValue; /* @@ -1777,7 +2071,7 @@ typedef struct SetToDefault /* collation for the substituted value */ Oid collation pg_node_attr(query_jumble_ignore); /* token location, or -1 if unknown */ - int location; + ParseLoc location; } SetToDefault; /* diff --git a/parser/include/postgres/nodes/print.h b/parser/include/postgres/nodes/print.h index 3c0473fd..333103a4 100644 --- a/parser/include/postgres/nodes/print.h +++ b/parser/include/postgres/nodes/print.h @@ -4,7 +4,7 @@ * definitions for nodes/print.c * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/print.h diff --git a/parser/include/postgres/nodes/queryjumble.h b/parser/include/postgres/nodes/queryjumble.h index 7649e095..f1c55c80 100644 --- a/parser/include/postgres/nodes/queryjumble.h +++ b/parser/include/postgres/nodes/queryjumble.h @@ -3,7 +3,7 @@ * queryjumble.h * Query normalization and fingerprinting. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -56,7 +56,7 @@ enum ComputeQueryIdType COMPUTE_QUERY_ID_OFF, COMPUTE_QUERY_ID_ON, COMPUTE_QUERY_ID_AUTO, - COMPUTE_QUERY_ID_REGRESS + COMPUTE_QUERY_ID_REGRESS, }; /* GUC parameters */ diff --git a/parser/include/postgres/nodes/replnodes.h b/parser/include/postgres/nodes/replnodes.h index 4321ba8f..ed23333e 100644 --- a/parser/include/postgres/nodes/replnodes.h +++ b/parser/include/postgres/nodes/replnodes.h @@ -4,7 +4,7 @@ * definitions for replication grammar parse nodes * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/replnodes.h @@ -20,7 +20,7 @@ typedef enum ReplicationKind { REPLICATION_KIND_PHYSICAL, - REPLICATION_KIND_LOGICAL + REPLICATION_KIND_LOGICAL, } ReplicationKind; @@ -72,6 +72,18 @@ typedef struct DropReplicationSlotCmd } DropReplicationSlotCmd; +/* ---------------------- + * ALTER_REPLICATION_SLOT command + * ---------------------- + */ +typedef struct AlterReplicationSlotCmd +{ + NodeTag type; + char *slotname; + List *options; +} AlterReplicationSlotCmd; + + /* ---------------------- * START_REPLICATION command * ---------------------- @@ -108,4 +120,13 @@ typedef struct TimeLineHistoryCmd TimeLineID timeline; } TimeLineHistoryCmd; +/* ---------------------- + * UPLOAD_MANIFEST command + * ---------------------- + */ +typedef struct UploadManifestCmd +{ + NodeTag type; +} UploadManifestCmd; + #endif /* REPLNODES_H */ diff --git a/parser/include/postgres/nodes/supportnodes.h b/parser/include/postgres/nodes/supportnodes.h index 4cfa661d..5f7bcde8 100644 --- a/parser/include/postgres/nodes/supportnodes.h +++ b/parser/include/postgres/nodes/supportnodes.h @@ -23,7 +23,7 @@ * allows for future extensions of the set of request cases. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/supportnodes.h diff --git a/parser/include/postgres/nodes/tidbitmap.h b/parser/include/postgres/nodes/tidbitmap.h index b64e3643..1945f063 100644 --- a/parser/include/postgres/nodes/tidbitmap.h +++ b/parser/include/postgres/nodes/tidbitmap.h @@ -13,7 +13,7 @@ * fact that a particular page needs to be visited. * * - * Copyright (c) 2003-2023, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/tidbitmap.h * diff --git a/parser/include/postgres/nodes/value.h b/parser/include/postgres/nodes/value.h index b24c4c1a..8072cfb3 100644 --- a/parser/include/postgres/nodes/value.h +++ b/parser/include/postgres/nodes/value.h @@ -4,7 +4,7 @@ * interface for value nodes * * - * Copyright (c) 2003-2023, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/value.h * diff --git a/parser/include/postgres/optimizer/cost.h b/parser/include/postgres/optimizer/cost.h index 6cf49705..b1c51a4e 100644 --- a/parser/include/postgres/optimizer/cost.h +++ b/parser/include/postgres/optimizer/cost.h @@ -4,7 +4,7 @@ * prototypes for costsize.c and clausesel.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/cost.h @@ -37,7 +37,7 @@ typedef enum { CONSTRAINT_EXCLUSION_OFF, /* do not use c_e */ CONSTRAINT_EXCLUSION_ON, /* apply c_e to all rels */ - CONSTRAINT_EXCLUSION_PARTITION /* apply c_e to otherrels only */ + CONSTRAINT_EXCLUSION_PARTITION, /* apply c_e to otherrels only */ } ConstraintExclusionType; @@ -131,7 +131,7 @@ extern void cost_agg(Path *path, PlannerInfo *root, Cost input_startup_cost, Cost input_total_cost, double input_tuples, double input_width); extern void cost_windowagg(Path *path, PlannerInfo *root, - List *windowFuncs, int numPartCols, int numOrderCols, + List *windowFuncs, WindowClause *winclause, Cost input_startup_cost, Cost input_total_cost, double input_tuples); extern void cost_group(Path *path, PlannerInfo *root, @@ -210,6 +210,7 @@ extern void set_result_size_estimates(PlannerInfo *root, RelOptInfo *rel); extern void set_foreign_size_estimates(PlannerInfo *root, RelOptInfo *rel); extern PathTarget *set_pathtarget_cost_width(PlannerInfo *root, PathTarget *target); extern double compute_bitmap_pages(PlannerInfo *root, RelOptInfo *baserel, - Path *bitmapqual, int loop_count, Cost *cost, double *tuple); + Path *bitmapqual, double loop_count, + Cost *cost_p, double *tuples_p); #endif /* COST_H */ diff --git a/parser/include/postgres/optimizer/geqo.h b/parser/include/postgres/optimizer/geqo.h index c7981973..c52906d0 100644 --- a/parser/include/postgres/optimizer/geqo.h +++ b/parser/include/postgres/optimizer/geqo.h @@ -3,7 +3,7 @@ * geqo.h * prototypes for various files in optimizer/geqo * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/geqo.h diff --git a/parser/include/postgres/optimizer/geqo_gene.h b/parser/include/postgres/optimizer/geqo_gene.h index 40256a4c..49b31bae 100644 --- a/parser/include/postgres/optimizer/geqo_gene.h +++ b/parser/include/postgres/optimizer/geqo_gene.h @@ -3,7 +3,7 @@ * geqo_gene.h * genome representation in optimizer/geqo * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/geqo_gene.h diff --git a/parser/include/postgres/optimizer/optimizer.h b/parser/include/postgres/optimizer/optimizer.h index 514746c5..7b63c5cf 100644 --- a/parser/include/postgres/optimizer/optimizer.h +++ b/parser/include/postgres/optimizer/optimizer.h @@ -12,7 +12,7 @@ * example. For the most part, however, code outside the core planner * should not need to include any optimizer/ header except this one. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/optimizer.h @@ -90,6 +90,7 @@ extern PGDLLIMPORT double recursive_worktable_factor; extern PGDLLIMPORT int effective_cache_size; extern double clamp_row_est(double nrows); +extern int32 clamp_width_est(int64 tuple_width); extern long clamp_cardinality_to_long(Cardinality x); /* in path/indxpath.c: */ @@ -104,7 +105,7 @@ typedef enum { DEBUG_PARALLEL_OFF, DEBUG_PARALLEL_ON, - DEBUG_PARALLEL_REGRESS + DEBUG_PARALLEL_REGRESS, } DebugParallelMode; /* GUC parameters */ @@ -138,7 +139,9 @@ extern Expr *canonicalize_qual(Expr *qual, bool is_check); /* in util/clauses.c: */ extern bool contain_mutable_functions(Node *clause); +extern bool contain_mutable_functions_after_planning(Expr *expr); extern bool contain_volatile_functions(Node *clause); +extern bool contain_volatile_functions_after_planning(Expr *expr); extern bool contain_volatile_functions_not_nextval(Node *clause); extern Node *eval_const_expressions(PlannerInfo *root, Node *node); diff --git a/parser/include/postgres/optimizer/paths.h b/parser/include/postgres/optimizer/paths.h index 50bc3b50..5e88c022 100644 --- a/parser/include/postgres/optimizer/paths.h +++ b/parser/include/postgres/optimizer/paths.h @@ -4,7 +4,7 @@ * prototypes for various files in optimizer/path * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/paths.h @@ -24,6 +24,7 @@ extern PGDLLIMPORT bool enable_geqo; extern PGDLLIMPORT int geqo_threshold; extern PGDLLIMPORT int min_parallel_table_scan_size; extern PGDLLIMPORT int min_parallel_index_scan_size; +extern PGDLLIMPORT bool enable_group_by_reordering; /* Hook for plugins to get control in set_rel_pathlist() */ typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root, @@ -63,10 +64,6 @@ extern void create_partial_bitmap_paths(PlannerInfo *root, RelOptInfo *rel, extern void generate_partitionwise_join_paths(PlannerInfo *root, RelOptInfo *rel); -#ifdef OPTIMIZER_DEBUG -extern void debug_print_rel(PlannerInfo *root, RelOptInfo *rel); -#endif - /* * indxpath.c * routines to generate index paths @@ -83,7 +80,7 @@ extern bool match_index_to_operand(Node *operand, int indexcol, extern void check_index_predicates(PlannerInfo *root, RelOptInfo *rel); /* - * tidpath.h + * tidpath.c * routines to generate tid paths */ extern void create_tidscan_paths(PlannerInfo *root, RelOptInfo *rel); @@ -112,6 +109,8 @@ extern bool have_join_order_restriction(PlannerInfo *root, extern bool have_dangerous_phv(PlannerInfo *root, Relids outer_relids, Relids inner_params); extern void mark_dummy_rel(RelOptInfo *rel); +extern void init_dummy_sjinfo(SpecialJoinInfo *sjinfo, Relids left_relids, + Relids right_relids); /* * equivclass.c @@ -174,6 +173,10 @@ extern void add_child_join_rel_equivalences(PlannerInfo *root, AppendRelInfo **appinfos, RelOptInfo *parent_joinrel, RelOptInfo *child_joinrel); +extern void add_setop_child_rel_equivalences(PlannerInfo *root, + RelOptInfo *child_rel, + List *child_tlist, + List *setop_pathkeys); extern List *generate_implied_equalities_for_column(PlannerInfo *root, RelOptInfo *rel, ec_matches_callback_type callback, @@ -199,12 +202,13 @@ typedef enum PATHKEYS_EQUAL, /* pathkeys are identical */ PATHKEYS_BETTER1, /* pathkey 1 is a superset of pathkey 2 */ PATHKEYS_BETTER2, /* vice versa */ - PATHKEYS_DIFFERENT /* neither pathkey includes the other */ + PATHKEYS_DIFFERENT, /* neither pathkey includes the other */ } PathKeysComparison; extern PathKeysComparison compare_pathkeys(List *keys1, List *keys2); extern bool pathkeys_contained_in(List *keys1, List *keys2); extern bool pathkeys_count_contained_in(List *keys1, List *keys2, int *n_common); +extern List *get_useful_group_keys_orderings(PlannerInfo *root, Path *path); extern Path *get_cheapest_path_for_pathkeys(List *paths, List *pathkeys, Relids required_outer, CostSelector cost_criterion, @@ -235,7 +239,8 @@ extern List *make_pathkeys_for_sortclauses_extended(PlannerInfo *root, List **sortclauses, List *tlist, bool remove_redundant, - bool *sortable); + bool *sortable, + bool set_ec_sortref); extern void initialize_mergeclause_eclasses(PlannerInfo *root, RestrictInfo *restrictinfo); extern void update_mergeclause_eclasses(PlannerInfo *root, diff --git a/parser/include/postgres/optimizer/planmain.h b/parser/include/postgres/optimizer/planmain.h index 5fc90073..aafc1737 100644 --- a/parser/include/postgres/optimizer/planmain.h +++ b/parser/include/postgres/optimizer/planmain.h @@ -4,7 +4,7 @@ * prototypes for various files in optimizer/plan * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/planmain.h @@ -75,6 +75,10 @@ extern void add_vars_to_targetlist(PlannerInfo *root, List *vars, extern void find_lateral_references(PlannerInfo *root); extern void create_lateral_join_info(PlannerInfo *root); extern List *deconstruct_jointree(PlannerInfo *root); +extern bool restriction_is_always_true(PlannerInfo *root, + RestrictInfo *restrictinfo); +extern bool restriction_is_always_false(PlannerInfo *root, + RestrictInfo *restrictinfo); extern void distribute_restrictinfo_to_rels(PlannerInfo *root, RestrictInfo *restrictinfo); extern RestrictInfo *process_implied_equality(PlannerInfo *root, @@ -110,6 +114,8 @@ extern bool innerrel_is_unique(PlannerInfo *root, */ extern Plan *set_plan_references(PlannerInfo *root, Plan *plan); extern bool trivial_subqueryscan(SubqueryScan *plan); +extern Param *find_minmax_agg_replacement_param(PlannerInfo *root, + Aggref *aggref); extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid); extern void record_plan_type_dependency(PlannerInfo *root, Oid typid); extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *context); diff --git a/parser/include/postgres/parser/analyze.h b/parser/include/postgres/parser/analyze.h index c96483ae..28b66fcc 100644 --- a/parser/include/postgres/parser/analyze.h +++ b/parser/include/postgres/parser/analyze.h @@ -4,7 +4,7 @@ * parse analysis for optimizable statements * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/analyze.h @@ -44,6 +44,8 @@ extern List *transformInsertRow(ParseState *pstate, List *exprlist, bool strip_indirection); extern List *transformUpdateTargetList(ParseState *pstate, List *origTlist); +extern List *transformReturningList(ParseState *pstate, List *returningList, + ParseExprKind exprKind); extern Query *transformTopLevelStmt(ParseState *pstate, RawStmt *parseTree); extern Query *transformStmt(ParseState *pstate, Node *parseTree); diff --git a/parser/include/postgres/parser/kwlist.h b/parser/include/postgres/parser/kwlist.h index f5b2e61c..658d7ff6 100644 --- a/parser/include/postgres/parser/kwlist.h +++ b/parser/include/postgres/parser/kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -93,6 +93,7 @@ PG_KEYWORD("commit", COMMIT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("committed", COMMITTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("compression", COMPRESSION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("concurrently", CONCURRENTLY, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("conditional", CONDITIONAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("configuration", CONFIGURATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("conflict", CONFLICT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("connection", CONNECTION, UNRESERVED_KEYWORD, BARE_LABEL) @@ -147,11 +148,13 @@ PG_KEYWORD("double", DOUBLE_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("drop", DROP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("each", EACH, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("else", ELSE, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("empty", EMPTY_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("enable", ENABLE_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("encoding", ENCODING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("encrypted", ENCRYPTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("end", END_P, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("enum", ENUM_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("error", ERROR_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("escape", ESCAPE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("event", EVENT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("except", EXCEPT, RESERVED_KEYWORD, AS_LABEL) @@ -230,11 +233,18 @@ PG_KEYWORD("is", IS, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("isnull", ISNULL, TYPE_FUNC_NAME_KEYWORD, AS_LABEL) PG_KEYWORD("isolation", ISOLATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("join", JOIN, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) -PG_KEYWORD("json", JSON, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("json", JSON, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("json_array", JSON_ARRAY, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("json_arrayagg", JSON_ARRAYAGG, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_exists", JSON_EXISTS, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("json_object", JSON_OBJECT, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("json_objectagg", JSON_OBJECTAGG, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_query", JSON_QUERY, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_scalar", JSON_SCALAR, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_serialize", JSON_SERIALIZE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_table", JSON_TABLE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_value", JSON_VALUE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("keep", KEEP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("key", KEY, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("keys", KEYS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("label", LABEL, UNRESERVED_KEYWORD, BARE_LABEL) @@ -264,6 +274,7 @@ PG_KEYWORD("matched", MATCHED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("materialized", MATERIALIZED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("maxvalue", MAXVALUE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("merge", MERGE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("merge_action", MERGE_ACTION, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("method", METHOD, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("minute", MINUTE_P, UNRESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("minvalue", MINVALUE, UNRESERVED_KEYWORD, BARE_LABEL) @@ -275,6 +286,7 @@ PG_KEYWORD("names", NAMES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("national", NATIONAL, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("natural", NATURAL, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("nchar", NCHAR, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("nested", NESTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("new", NEW, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("next", NEXT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("nfc", NFC, UNRESERVED_KEYWORD, BARE_LABEL) @@ -300,6 +312,7 @@ PG_KEYWORD("off", OFF, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("offset", OFFSET, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("oids", OIDS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("old", OLD, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("omit", OMIT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("on", ON, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("only", ONLY, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("operator", OPERATOR, UNRESERVED_KEYWORD, BARE_LABEL) @@ -324,7 +337,9 @@ PG_KEYWORD("partial", PARTIAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("partition", PARTITION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("passing", PASSING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("password", PASSWORD, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("path", PATH, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("placing", PLACING, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("plan", PLAN, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("plans", PLANS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("policy", POLICY, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("position", POSITION, COL_NAME_KEYWORD, BARE_LABEL) @@ -342,6 +357,7 @@ PG_KEYWORD("procedures", PROCEDURES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("program", PROGRAM, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("publication", PUBLICATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("quote", QUOTE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("quotes", QUOTES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("range", RANGE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("read", READ, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("real", REAL, COL_NAME_KEYWORD, BARE_LABEL) @@ -401,6 +417,7 @@ PG_KEYWORD("skip", SKIP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("smallint", SMALLINT, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("snapshot", SNAPSHOT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("some", SOME, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("source", SOURCE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("sql", SQL_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("stable", STABLE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("standalone", STANDALONE_P, UNRESERVED_KEYWORD, BARE_LABEL) @@ -412,6 +429,7 @@ PG_KEYWORD("stdout", STDOUT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("storage", STORAGE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("stored", STORED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("strict", STRICT_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("string", STRING_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("strip", STRIP_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("subscription", SUBSCRIPTION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("substring", SUBSTRING, COL_NAME_KEYWORD, BARE_LABEL) @@ -424,6 +442,7 @@ PG_KEYWORD("table", TABLE, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("tables", TABLES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("tablesample", TABLESAMPLE, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("tablespace", TABLESPACE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("target", TARGET, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("temp", TEMP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("template", TEMPLATE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("temporary", TEMPORARY, UNRESERVED_KEYWORD, BARE_LABEL) @@ -447,6 +466,7 @@ PG_KEYWORD("types", TYPES_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("uescape", UESCAPE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("unbounded", UNBOUNDED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("uncommitted", UNCOMMITTED, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("unconditional", UNCONDITIONAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("unencrypted", UNENCRYPTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("union", UNION, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("unique", UNIQUE, RESERVED_KEYWORD, BARE_LABEL) diff --git a/parser/include/postgres/parser/parse_agg.h b/parser/include/postgres/parser/parse_agg.h index e9afd99d..4df9b37e 100644 --- a/parser/include/postgres/parser/parse_agg.h +++ b/parser/include/postgres/parser/parse_agg.h @@ -3,7 +3,7 @@ * parse_agg.h * handle aggregates and window functions in parser * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_agg.h diff --git a/parser/include/postgres/parser/parse_coerce.h b/parser/include/postgres/parser/parse_coerce.h index 35ce4a35..05afda1b 100644 --- a/parser/include/postgres/parser/parse_coerce.h +++ b/parser/include/postgres/parser/parse_coerce.h @@ -4,7 +4,7 @@ * Routines for type coercion. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_coerce.h @@ -27,7 +27,7 @@ typedef enum CoercionPathType COERCION_PATH_FUNC, /* apply the specified coercion function */ COERCION_PATH_RELABELTYPE, /* binary-compatible cast, no function */ COERCION_PATH_ARRAYCOERCE, /* need an ArrayCoerceExpr node */ - COERCION_PATH_COERCEVIAIO /* need a CoerceViaIO node */ + COERCION_PATH_COERCEVIAIO, /* need a CoerceViaIO node */ } CoercionPathType; diff --git a/parser/include/postgres/parser/parse_expr.h b/parser/include/postgres/parser/parse_expr.h index 7d38ca75..9b46dfd9 100644 --- a/parser/include/postgres/parser/parse_expr.h +++ b/parser/include/postgres/parser/parse_expr.h @@ -3,7 +3,7 @@ * parse_expr.h * handle expressions in parser * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_expr.h diff --git a/parser/include/postgres/parser/parse_func.h b/parser/include/postgres/parser/parse_func.h index e316f5da..c7ba99de 100644 --- a/parser/include/postgres/parser/parse_func.h +++ b/parser/include/postgres/parser/parse_func.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_func.h @@ -27,7 +27,7 @@ typedef enum FUNCDETAIL_PROCEDURE, /* found a matching procedure */ FUNCDETAIL_AGGREGATE, /* found a matching aggregate function */ FUNCDETAIL_WINDOWFUNC, /* found a matching window function */ - FUNCDETAIL_COERCION /* it's a type coercion request */ + FUNCDETAIL_COERCION, /* it's a type coercion request */ } FuncDetailCode; diff --git a/parser/include/postgres/parser/parse_node.h b/parser/include/postgres/parser/parse_node.h index f589112d..5b781d87 100644 --- a/parser/include/postgres/parser/parse_node.h +++ b/parser/include/postgres/parser/parse_node.h @@ -4,7 +4,7 @@ * Internal definitions for parser * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_node.h @@ -61,7 +61,8 @@ typedef enum ParseExprKind EXPR_KIND_DISTINCT_ON, /* DISTINCT ON */ EXPR_KIND_LIMIT, /* LIMIT */ EXPR_KIND_OFFSET, /* OFFSET */ - EXPR_KIND_RETURNING, /* RETURNING */ + EXPR_KIND_RETURNING, /* RETURNING in INSERT/UPDATE/DELETE */ + EXPR_KIND_MERGE_RETURNING, /* RETURNING in MERGE */ EXPR_KIND_VALUES, /* VALUES */ EXPR_KIND_VALUES_SINGLE, /* single-row VALUES (in INSERT only) */ EXPR_KIND_CHECK_CONSTRAINT, /* CHECK constraint for a table */ diff --git a/parser/include/postgres/parser/parse_oper.h b/parser/include/postgres/parser/parse_oper.h index 5768a1ce..beffe144 100644 --- a/parser/include/postgres/parser/parse_oper.h +++ b/parser/include/postgres/parser/parse_oper.h @@ -4,7 +4,7 @@ * handle operator things for parser * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_oper.h @@ -42,6 +42,9 @@ extern Operator compatible_oper(ParseState *pstate, List *op, /* currently no need for compatible_left_oper/compatible_right_oper */ +/* Error reporting support */ +extern const char *op_signature_string(List *op, Oid arg1, Oid arg2); + /* Routines for identifying "<", "=", ">" operators for a type */ extern void get_sort_group_operators(Oid argtype, bool needLT, bool needEQ, bool needGT, diff --git a/parser/include/postgres/parser/parse_relation.h b/parser/include/postgres/parser/parse_relation.h index 67d9b1e4..bea2da54 100644 --- a/parser/include/postgres/parser/parse_relation.h +++ b/parser/include/postgres/parser/parse_relation.h @@ -4,7 +4,7 @@ * prototypes for parse_relation.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_relation.h diff --git a/parser/include/postgres/parser/parse_type.h b/parser/include/postgres/parser/parse_type.h index 848c467a..b62e7a6c 100644 --- a/parser/include/postgres/parser/parse_type.h +++ b/parser/include/postgres/parser/parse_type.h @@ -3,7 +3,7 @@ * parse_type.h * handle type operations for parser * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_type.h @@ -36,7 +36,7 @@ extern char *TypeNameToString(const TypeName *typeName); extern char *TypeNameListToString(List *typenames); extern Oid LookupCollation(ParseState *pstate, List *collnames, int location); -extern Oid GetColumnDefCollation(ParseState *pstate, ColumnDef *coldef, Oid typeOid); +extern Oid GetColumnDefCollation(ParseState *pstate, const ColumnDef *coldef, Oid typeOid); extern Type typeidType(Oid id); diff --git a/parser/include/postgres/parser/parser.h b/parser/include/postgres/parser/parser.h index 42832bfb..f1e8b99f 100644 --- a/parser/include/postgres/parser/parser.h +++ b/parser/include/postgres/parser/parser.h @@ -5,7 +5,7 @@ * * This is the external API for the raw lexing/parsing functions. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parser.h @@ -41,7 +41,7 @@ typedef enum RAW_PARSE_PLPGSQL_EXPR, RAW_PARSE_PLPGSQL_ASSIGN1, RAW_PARSE_PLPGSQL_ASSIGN2, - RAW_PARSE_PLPGSQL_ASSIGN3 + RAW_PARSE_PLPGSQL_ASSIGN3, } RawParseMode; /* Values for the backslash_quote GUC */ @@ -49,7 +49,7 @@ typedef enum { BACKSLASH_QUOTE_OFF, BACKSLASH_QUOTE_ON, - BACKSLASH_QUOTE_SAFE_ENCODING + BACKSLASH_QUOTE_SAFE_ENCODING, } BackslashQuoteType; /* GUC variables in scan.l (every one of these is a bad idea :-() */ diff --git a/parser/include/postgres/parser/parsetree.h b/parser/include/postgres/parser/parsetree.h index 69a9a258..3d51cd15 100644 --- a/parser/include/postgres/parser/parsetree.h +++ b/parser/include/postgres/parser/parsetree.h @@ -5,7 +5,7 @@ * parse trees. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parsetree.h diff --git a/parser/include/postgres/parser/scanner.h b/parser/include/postgres/parser/scanner.h index e2a73201..59f492c6 100644 --- a/parser/include/postgres/parser/scanner.h +++ b/parser/include/postgres/parser/scanner.h @@ -8,7 +8,7 @@ * higher-level API provided by parser.h. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/scanner.h diff --git a/parser/include/postgres/parser/scansup.h b/parser/include/postgres/parser/scansup.h index f2fa1977..4b68ddc2 100644 --- a/parser/include/postgres/parser/scansup.h +++ b/parser/include/postgres/parser/scansup.h @@ -3,7 +3,7 @@ * scansup.h * scanner support routines used by the core lexer * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/scansup.h diff --git a/parser/include/postgres/partitioning/partdefs.h b/parser/include/postgres/partitioning/partdefs.h index 55bb49c8..fcfd18f2 100644 --- a/parser/include/postgres/partitioning/partdefs.h +++ b/parser/include/postgres/partitioning/partdefs.h @@ -3,7 +3,7 @@ * partdefs.h * Base definitions for partitioned table handling * - * Copyright (c) 2007-2023, PostgreSQL Global Development Group + * Copyright (c) 2007-2024, PostgreSQL Global Development Group * * src/include/partitioning/partdefs.h * diff --git a/parser/include/postgres/pg_config.h b/parser/include/postgres/pg_config.h index bba2f42b..d81c3e40 100644 --- a/parser/include/postgres/pg_config.h +++ b/parser/include/postgres/pg_config.h @@ -52,10 +52,6 @@ /* Define to 1 if you want National Language Support. (--enable-nls) */ /* #undef ENABLE_NLS */ -/* Define to 1 to build client libraries as thread-safe code. - (--enable-thread-safety) */ -#define ENABLE_THREAD_SAFETY 1 - /* Define to 1 if you have the `append_history' function. */ /* #undef HAVE_APPEND_HISTORY */ @@ -71,9 +67,6 @@ /* Define to 1 if you have the `backtrace_symbols' function. */ #define HAVE_BACKTRACE_SYMBOLS 1 -/* Define to 1 if you have the `BIO_get_data' function. */ -/* #undef HAVE_BIO_GET_DATA */ - /* Define to 1 if you have the `BIO_meth_new' function. */ /* #undef HAVE_BIO_METH_NEW */ @@ -86,6 +79,9 @@ /* Define to 1 if you have the header file. */ #define HAVE_COPYFILE_H 1 +/* Define to 1 if you have the `copy_file_range' function. */ +/* #undef HAVE_COPY_FILE_RANGE */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_CRTDEFS_H */ @@ -108,18 +104,6 @@ `LLVMCreatePerfJITEventListener', and to 0 if you don't. */ /* #undef HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER */ -/* Define to 1 if you have the declaration of `LLVMGetHostCPUFeatures', and to - 0 if you don't. */ -/* #undef HAVE_DECL_LLVMGETHOSTCPUFEATURES */ - -/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0 - if you don't. */ -/* #undef HAVE_DECL_LLVMGETHOSTCPUNAME */ - -/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and - to 0 if you don't. */ -/* #undef HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN */ - /* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you don't. */ #define HAVE_DECL_POSIX_FADVISE 0 @@ -299,9 +283,6 @@ /* Define to 1 if you have the `zstd' library (-lzstd). */ /* #undef HAVE_LIBZSTD */ -/* Define to 1 if the system has the type `locale_t'. */ -#define HAVE_LOCALE_T 1 - /* Define to 1 if `long int' works and is 64 bits. */ #define HAVE_LONG_INT_64 1 @@ -404,6 +385,9 @@ /* Define to 1 if you have the `SSL_CTX_set_cert_cb' function. */ /* #undef HAVE_SSL_CTX_SET_CERT_CB */ +/* Define to 1 if you have the `SSL_CTX_set_num_tickets' function. */ +/* #undef HAVE_SSL_CTX_SET_NUM_TICKETS */ + /* Define to 1 if stdbool.h conforms to C99. */ #define HAVE_STDBOOL_H 1 @@ -530,12 +514,12 @@ /* Define to 1 if you have the `X509_get_signature_info' function. */ /* #undef HAVE_X509_GET_SIGNATURE_INFO */ -/* Define to 1 if you have the `X509_get_signature_nid' function. */ -/* #undef HAVE_X509_GET_SIGNATURE_NID */ - /* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */ /* #undef HAVE_X86_64_POPCNTQ */ +/* Define to 1 if you have XSAVE intrinsics. */ +/* #undef HAVE_XSAVE_INTRINSICS */ + /* Define to 1 if the system has the type `_Bool'. */ #define HAVE__BOOL 1 @@ -578,9 +562,15 @@ /* Define to 1 if you have __cpuid. */ /* #undef HAVE__CPUID */ +/* Define to 1 if you have __cpuidex. */ +/* #undef HAVE__CPUIDEX */ + /* Define to 1 if you have __get_cpuid. */ /* #undef HAVE__GET_CPUID */ +/* Define to 1 if you have __get_cpuid_count. */ +/* #undef HAVE__GET_CPUID_COUNT */ + /* Define to 1 if your compiler understands _Static_assert. */ #define HAVE__STATIC_ASSERT 1 @@ -607,7 +597,7 @@ #define PACKAGE_NAME "PostgreSQL" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PostgreSQL 16.1" +#define PACKAGE_STRING "PostgreSQL 17.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "postgresql" @@ -616,7 +606,7 @@ #define PACKAGE_URL "https://www.postgresql.org/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "16.1" +#define PACKAGE_VERSION "17.0" /* Define to the name of a signed 128-bit integer type. */ #define PG_INT128_TYPE __int128 @@ -629,13 +619,13 @@ #define PG_KRB_SRVNAM "postgres" /* PostgreSQL major version as a string */ -#define PG_MAJORVERSION "16" +#define PG_MAJORVERSION "17" /* PostgreSQL major version number */ -#define PG_MAJORVERSION_NUM 16 +#define PG_MAJORVERSION_NUM 17 /* PostgreSQL minor version number */ -#define PG_MINORVERSION_NUM 1 +#define PG_MINORVERSION_NUM 0 /* Define to best printf format archetype, usually gnu_printf if available. */ #define PG_PRINTF_ATTRIBUTE printf @@ -644,13 +634,13 @@ #define PG_USE_STDBOOL 1 /* PostgreSQL version as a string */ -#define PG_VERSION "16.1" +#define PG_VERSION "17.0" /* PostgreSQL version as a number */ -#define PG_VERSION_NUM 160001 +#define PG_VERSION_NUM 170000 /* A string containing the version number, platform, and C compiler */ -#define PG_VERSION_STR "PostgreSQL 16.1 (libpg_query)" +#define PG_VERSION_STR "PostgreSQL 17.0 (libpg_query)" /* Define to 1 to allow profiling output to be saved separately for each process. */ @@ -703,6 +693,9 @@ /* Define to 1 to build with assertion checks. (--enable-cassert) */ /* #undef USE_ASSERT_CHECKING */ +/* Define to 1 to use AVX-512 popcount instructions with a runtime check. */ +/* #undef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */ + /* Define to 1 to build with Bonjour support. (--with-bonjour) */ /* #undef USE_BONJOUR */ @@ -712,6 +705,9 @@ /* Define to build with ICU support. (--with-icu) */ /* #undef USE_ICU */ +/* Define to 1 to build with injection points. (--enable-injection-points) */ +/* #undef USE_INJECTION_POINTS */ + /* Define to 1 to build with LDAP support. (--with-ldap) */ /* #undef USE_LDAP */ @@ -725,6 +721,9 @@ /* Define to 1 to build with LLVM based JIT support. (--with-llvm) */ /* #undef USE_LLVM */ +/* Define to 1 to use LoongArch CRCC instructions. */ +/* #undef USE_LOONGARCH_CRC32C */ + /* Define to 1 to build with LZ4 support. (--with-lz4) */ /* #undef USE_LZ4 */ @@ -827,8 +826,9 @@ /* Define to how the compiler spells `typeof'. */ /* #undef typeof */ /* This causes compatibility problems on some Linux distros, with "xlocale.h" not being available */ -#undef HAVE_LOCALE_T +#ifndef __APPLE__ #undef LOCALE_T_IN_XLOCALE +#endif #undef WCSTOMBS_L_IN_XLOCALE /* Support gcc earlier than 4.6.0 and MSVC */ diff --git a/parser/include/postgres/pg_config_manual.h b/parser/include/postgres/pg_config_manual.h index a1a93ad7..f941ee2f 100644 --- a/parser/include/postgres/pg_config_manual.h +++ b/parser/include/postgres/pg_config_manual.h @@ -6,7 +6,7 @@ * for developers. If you edit any of these, be sure to do a *full* * rebuild (and an initdb if noted). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/pg_config_manual.h @@ -217,13 +217,13 @@ #define DEFAULT_EVENT_SOURCE "PostgreSQL" /* - * Assumed cache line size. This doesn't affect correctness, but can be used - * for low-level optimizations. Currently, this is used to pad some data - * structures in xlog.c, to ensure that highly-contended fields are on - * different cache lines. Too small a value can hurt performance due to false - * sharing, while the only downside of too large a value is a few bytes of - * wasted memory. The default is 128, which should be large enough for all - * supported platforms. + * Assumed cache line size. This doesn't affect correctness, but can be used + * for low-level optimizations. This is mostly used to pad various data + * structures, to ensure that highly-contended fields are on different cache + * lines. Too small a value can hurt performance due to false sharing, while + * the only downside of too large a value is a few bytes of wasted memory. + * The default is 128, which should be large enough for all supported + * platforms. */ #define PG_CACHE_LINE_SIZE 128 @@ -240,6 +240,13 @@ *------------------------------------------------------------------------ */ +/* + * Force use of the non-recursive JSON parser in all cases. This is useful + * to validate the working of the parser, and the regression tests should + * pass except for some different error messages about the stack limit. + */ +/* #define FORCE_JSON_PSTACK */ + /* * Include Valgrind "client requests", mostly in the memory allocator, so * Valgrind understands PostgreSQL memory contexts. This permits detecting @@ -335,6 +342,12 @@ */ /* #define COPY_PARSE_PLAN_TREES */ +/* + * Define this to force Bitmapset reallocation on each modification. Helps + * to find dangling pointers to Bitmapset's. + */ +/* #define REALLOCATE_BITMAPSETS */ + /* * Define this to force all parse and plan trees to be passed through * outfuncs.c/readfuncs.c, to facilitate catching errors and omissions in diff --git a/parser/include/postgres/pg_getopt.h b/parser/include/postgres/pg_getopt.h index 252b4e19..c87ea20b 100644 --- a/parser/include/postgres/pg_getopt.h +++ b/parser/include/postgres/pg_getopt.h @@ -11,7 +11,7 @@ * Portions Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. * - * Portions Copyright (c) 2003-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/pg_getopt.h */ diff --git a/parser/include/postgres/pg_trace.h b/parser/include/postgres/pg_trace.h index c31bb4a7..bae819ab 100644 --- a/parser/include/postgres/pg_trace.h +++ b/parser/include/postgres/pg_trace.h @@ -3,7 +3,7 @@ * * Definitions for the PostgreSQL tracing framework * - * Copyright (c) 2006-2023, PostgreSQL Global Development Group + * Copyright (c) 2006-2024, PostgreSQL Global Development Group * * src/include/pg_trace.h * ---------- diff --git a/parser/include/postgres/pgstat.h b/parser/include/postgres/pgstat.h index 5a4dd0a1..7d11900f 100644 --- a/parser/include/postgres/pgstat.h +++ b/parser/include/postgres/pgstat.h @@ -3,7 +3,7 @@ * * Definitions for the PostgreSQL cumulative statistics system. * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/pgstat.h * ---------- @@ -62,7 +62,7 @@ typedef enum TrackFunctionsLevel { TRACK_FUNC_OFF, TRACK_FUNC_PL, - TRACK_FUNC_ALL + TRACK_FUNC_ALL, } TrackFunctionsLevel; typedef enum PgStat_FetchConsistency @@ -79,7 +79,7 @@ typedef enum SessionEndType DISCONNECT_NORMAL, DISCONNECT_CLIENT_EOF, DISCONNECT_FATAL, - DISCONNECT_KILLED + DISCONNECT_KILLED, } SessionEndType; /* ---------- @@ -260,13 +260,15 @@ typedef struct PgStat_BgWriterStats typedef struct PgStat_CheckpointerStats { - PgStat_Counter timed_checkpoints; - PgStat_Counter requested_checkpoints; - PgStat_Counter checkpoint_write_time; /* times in milliseconds */ - PgStat_Counter checkpoint_sync_time; - PgStat_Counter buf_written_checkpoints; - PgStat_Counter buf_written_backend; - PgStat_Counter buf_fsync_backend; + PgStat_Counter num_timed; + PgStat_Counter num_requested; + PgStat_Counter restartpoints_timed; + PgStat_Counter restartpoints_requested; + PgStat_Counter restartpoints_performed; + PgStat_Counter write_time; /* times in milliseconds */ + PgStat_Counter sync_time; + PgStat_Counter buffers_written; + TimestampTz stat_reset_timestamp; } PgStat_CheckpointerStats; @@ -520,7 +522,7 @@ extern bool pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io, BackendType bktype); extern void pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op); extern void pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt); -extern instr_time pgstat_prepare_io_time(void); +extern instr_time pgstat_prepare_io_time(bool track_io_guc); extern void pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op, instr_time start_time, uint32 cnt); diff --git a/parser/include/postgres/pgtime.h b/parser/include/postgres/pgtime.h index 9d4b2efe..27420867 100644 --- a/parser/include/postgres/pgtime.h +++ b/parser/include/postgres/pgtime.h @@ -3,7 +3,7 @@ * pgtime.h * PostgreSQL internal timezone library * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/pgtime.h diff --git a/parser/include/postgres/pl_reserved_kwlist.h b/parser/include/postgres/pl_reserved_kwlist.h index c116abbb..d338e9f6 100644 --- a/parser/include/postgres/pl_reserved_kwlist.h +++ b/parser/include/postgres/pl_reserved_kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/pl/plpgsql/src/pl_reserved_kwlist.h diff --git a/parser/include/postgres/pl_reserved_kwlist_d.h b/parser/include/postgres/pl_reserved_kwlist_d.h index 2dd64d39..67c14052 100644 --- a/parser/include/postgres/pl_reserved_kwlist_d.h +++ b/parser/include/postgres/pl_reserved_kwlist_d.h @@ -3,7 +3,7 @@ * pl_reserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/pl_unreserved_kwlist.h b/parser/include/postgres/pl_unreserved_kwlist.h index 3e258a6b..670b4cf0 100644 --- a/parser/include/postgres/pl_unreserved_kwlist.h +++ b/parser/include/postgres/pl_unreserved_kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/pl/plpgsql/src/pl_unreserved_kwlist.h diff --git a/parser/include/postgres/pl_unreserved_kwlist_d.h b/parser/include/postgres/pl_unreserved_kwlist_d.h index c54eb2d5..aa3b1d5c 100644 --- a/parser/include/postgres/pl_unreserved_kwlist_d.h +++ b/parser/include/postgres/pl_unreserved_kwlist_d.h @@ -3,7 +3,7 @@ * pl_unreserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/plerrcodes.h b/parser/include/postgres/plerrcodes.h index b17725b9..c9900ac4 100644 --- a/parser/include/postgres/plerrcodes.h +++ b/parser/include/postgres/plerrcodes.h @@ -433,6 +433,10 @@ "idle_in_transaction_session_timeout", ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT }, +{ + "transaction_timeout", ERRCODE_TRANSACTION_TIMEOUT +}, + { "invalid_sql_statement_name", ERRCODE_INVALID_SQL_STATEMENT_NAME }, @@ -845,10 +849,6 @@ "duplicate_file", ERRCODE_DUPLICATE_FILE }, -{ - "snapshot_too_old", ERRCODE_SNAPSHOT_TOO_OLD -}, - { "config_file_error", ERRCODE_CONFIG_FILE_ERROR }, diff --git a/parser/include/postgres/plpgsql.h b/parser/include/postgres/plpgsql.h index d172fe51..c04427c2 100644 --- a/parser/include/postgres/plpgsql.h +++ b/parser/include/postgres/plpgsql.h @@ -3,7 +3,7 @@ * plpgsql.h - Definitions for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -42,7 +42,7 @@ typedef enum PLpgSQL_nsitem_type { PLPGSQL_NSTYPE_LABEL, /* block label */ PLPGSQL_NSTYPE_VAR, /* scalar variable */ - PLPGSQL_NSTYPE_REC /* composite variable */ + PLPGSQL_NSTYPE_REC, /* composite variable */ } PLpgSQL_nsitem_type; /* @@ -52,7 +52,7 @@ typedef enum PLpgSQL_label_type { PLPGSQL_LABEL_BLOCK, /* DECLARE/BEGIN block */ PLPGSQL_LABEL_LOOP, /* looping construct */ - PLPGSQL_LABEL_OTHER /* anything else */ + PLPGSQL_LABEL_OTHER, /* anything else */ } PLpgSQL_label_type; /* @@ -64,7 +64,7 @@ typedef enum PLpgSQL_datum_type PLPGSQL_DTYPE_ROW, PLPGSQL_DTYPE_REC, PLPGSQL_DTYPE_RECFIELD, - PLPGSQL_DTYPE_PROMISE + PLPGSQL_DTYPE_PROMISE, } PLpgSQL_datum_type; /* @@ -83,7 +83,7 @@ typedef enum PLpgSQL_promise_type PLPGSQL_PROMISE_TG_NARGS, PLPGSQL_PROMISE_TG_ARGV, PLPGSQL_PROMISE_TG_EVENT, - PLPGSQL_PROMISE_TG_TAG + PLPGSQL_PROMISE_TG_TAG, } PLpgSQL_promise_type; /* @@ -93,7 +93,7 @@ typedef enum PLpgSQL_type_type { PLPGSQL_TTYPE_SCALAR, /* scalar types and domains */ PLPGSQL_TTYPE_REC, /* composite types, including RECORD */ - PLPGSQL_TTYPE_PSEUDO /* pseudotypes */ + PLPGSQL_TTYPE_PSEUDO, /* pseudotypes */ } PLpgSQL_type_type; /* @@ -127,7 +127,7 @@ typedef enum PLpgSQL_stmt_type PLPGSQL_STMT_PERFORM, PLPGSQL_STMT_CALL, PLPGSQL_STMT_COMMIT, - PLPGSQL_STMT_ROLLBACK + PLPGSQL_STMT_ROLLBACK, } PLpgSQL_stmt_type; /* @@ -138,7 +138,7 @@ enum PLPGSQL_RC_OK, PLPGSQL_RC_EXIT, PLPGSQL_RC_RETURN, - PLPGSQL_RC_CONTINUE + PLPGSQL_RC_CONTINUE, }; /* @@ -158,7 +158,7 @@ typedef enum PLpgSQL_getdiag_kind PLPGSQL_GETDIAG_DATATYPE_NAME, PLPGSQL_GETDIAG_MESSAGE_TEXT, PLPGSQL_GETDIAG_TABLE_NAME, - PLPGSQL_GETDIAG_SCHEMA_NAME + PLPGSQL_GETDIAG_SCHEMA_NAME, } PLpgSQL_getdiag_kind; /* @@ -174,7 +174,7 @@ typedef enum PLpgSQL_raise_option_type PLPGSQL_RAISEOPTION_CONSTRAINT, PLPGSQL_RAISEOPTION_DATATYPE, PLPGSQL_RAISEOPTION_TABLE, - PLPGSQL_RAISEOPTION_SCHEMA + PLPGSQL_RAISEOPTION_SCHEMA, } PLpgSQL_raise_option_type; /* @@ -184,7 +184,7 @@ typedef enum PLpgSQL_resolve_option { PLPGSQL_RESOLVE_ERROR, /* throw error if ambiguous */ PLPGSQL_RESOLVE_VARIABLE, /* prefer plpgsql var to table column */ - PLPGSQL_RESOLVE_COLUMN /* prefer table column to plpgsql var */ + PLPGSQL_RESOLVE_COLUMN, /* prefer table column to plpgsql var */ } PLpgSQL_resolve_option; @@ -957,7 +957,7 @@ typedef enum PLpgSQL_trigtype { PLPGSQL_DML_TRIGGER, PLPGSQL_EVENT_TRIGGER, - PLPGSQL_NOT_TRIGGER + PLPGSQL_NOT_TRIGGER, } PLpgSQL_trigtype; /* @@ -1188,7 +1188,7 @@ typedef enum { IDENTIFIER_LOOKUP_NORMAL, /* normal processing of var names */ IDENTIFIER_LOOKUP_DECLARE, /* In DECLARE --- don't look up names */ - IDENTIFIER_LOOKUP_EXPR /* In SQL expression --- special case */ + IDENTIFIER_LOOKUP_EXPR, /* In SQL expression --- special case */ } IdentifierLookup; extern __thread IdentifierLookup plpgsql_IdentifierLookup; @@ -1249,6 +1249,7 @@ extern PLpgSQL_type *plpgsql_parse_cwordrowtype(List *idents); extern PGDLLEXPORT PLpgSQL_type *plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname); +extern PLpgSQL_type *plpgsql_build_datatype_arrayof(PLpgSQL_type *dtype); extern PLpgSQL_variable *plpgsql_build_variable(const char *refname, int lineno, PLpgSQL_type *dtype, bool add2namespace); @@ -1318,6 +1319,7 @@ extern void plpgsql_dumptree(PLpgSQL_function *func); */ extern int plpgsql_base_yylex(void); extern int plpgsql_yylex(void); +extern int plpgsql_token_length(void); extern void plpgsql_push_back_token(int token); extern bool plpgsql_token_is_unreserved_keyword(int token); extern void plpgsql_append_source_text(StringInfo buf, diff --git a/parser/include/postgres/port.h b/parser/include/postgres/port.h index a88d4034..ae115d2d 100644 --- a/parser/include/postgres/port.h +++ b/parser/include/postgres/port.h @@ -3,7 +3,7 @@ * port.h * Header for src/port/ compatibility functions. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port.h @@ -137,7 +137,7 @@ extern int validate_exec(const char *path); extern int find_my_exec(const char *argv0, char *retpath); extern int find_other_exec(const char *argv0, const char *target, const char *versionstr, char *retpath); -extern char *pipe_read_line(char *cmd, char *line, int maxsize); +extern char *pipe_read_line(char *cmd); /* Doesn't belong here, but this is used with find_other_exec(), so... */ #define PG_BACKEND_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n" @@ -432,12 +432,16 @@ extern size_t strlcpy(char *dst, const char *src, size_t siz); extern size_t strnlen(const char *str, size_t maxlen); #endif -/* thread.c */ +/* port/user.c */ #ifndef WIN32 extern bool pg_get_user_name(uid_t user_id, char *buffer, size_t buflen); extern bool pg_get_user_home_dir(uid_t user_id, char *buffer, size_t buflen); #endif +/* + * Callers should use the qsort() macro defined below instead of calling + * pg_qsort() directly. + */ extern void pg_qsort(void *base, size_t nel, size_t elsize, int (*cmp) (const void *, const void *)); extern int pg_qsort_strcmp(const void *a, const void *b); diff --git a/parser/include/postgres/port/atomics.h b/parser/include/postgres/port/atomics.h index bbff945e..36a9b092 100644 --- a/parser/include/postgres/port/atomics.h +++ b/parser/include/postgres/port/atomics.h @@ -28,7 +28,7 @@ * For an introduction to using memory barriers within the PostgreSQL backend, * see src/backend/storage/lmgr/README.barrier * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics.h @@ -84,11 +84,9 @@ * using compiler intrinsics are a good idea. */ /* - * gcc or compatible, including clang and icc. Exclude xlc. The ppc64le "IBM - * XL C/C++ for Linux, V13.1.2" emulates gcc, but __sync_lock_test_and_set() - * of one-byte types elicits SIGSEGV. That bug was gone by V13.1.5 (2016-12). + * gcc or compatible, including clang and icc. */ -#if (defined(__GNUC__) || defined(__INTEL_COMPILER)) && !(defined(__IBMC__) || defined(__IBMCPP__)) +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #include "port/atomics/generic-gcc.h" #elif defined(_MSC_VER) #include "port/atomics/generic-msvc.h" @@ -239,6 +237,26 @@ pg_atomic_read_u32(volatile pg_atomic_uint32 *ptr) return pg_atomic_read_u32_impl(ptr); } +/* + * pg_atomic_read_membarrier_u32 - read with barrier semantics. + * + * This read is guaranteed to return the current value, provided that the value + * is only ever updated via operations with barrier semantics, such as + * pg_atomic_compare_exchange_u32() and pg_atomic_write_membarrier_u32(). + * While this may be less performant than pg_atomic_read_u32(), it may be + * easier to reason about correctness with this function in less performance- + * sensitive code. + * + * Full barrier semantics. + */ +static inline uint32 +pg_atomic_read_membarrier_u32(volatile pg_atomic_uint32 *ptr) +{ + AssertPointerAlignment(ptr, 4); + + return pg_atomic_read_membarrier_u32_impl(ptr); +} + /* * pg_atomic_write_u32 - write to atomic variable. * @@ -276,6 +294,26 @@ pg_atomic_unlocked_write_u32(volatile pg_atomic_uint32 *ptr, uint32 val) pg_atomic_unlocked_write_u32_impl(ptr, val); } +/* + * pg_atomic_write_membarrier_u32 - write with barrier semantics. + * + * The write is guaranteed to succeed as a whole, i.e., it's not possible to + * observe a partial write for any reader. Note that this correctly interacts + * with both pg_atomic_compare_exchange_u32() and + * pg_atomic_read_membarrier_u32(). While this may be less performant than + * pg_atomic_write_u32(), it may be easier to reason about correctness with + * this function in less performance-sensitive code. + * + * Full barrier semantics. + */ +static inline void +pg_atomic_write_membarrier_u32(volatile pg_atomic_uint32 *ptr, uint32 val) +{ + AssertPointerAlignment(ptr, 4); + + pg_atomic_write_membarrier_u32_impl(ptr, val); +} + /* * pg_atomic_exchange_u32 - exchange newval with current value * @@ -429,6 +467,15 @@ pg_atomic_read_u64(volatile pg_atomic_uint64 *ptr) return pg_atomic_read_u64_impl(ptr); } +static inline uint64 +pg_atomic_read_membarrier_u64(volatile pg_atomic_uint64 *ptr) +{ +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + return pg_atomic_read_membarrier_u64_impl(ptr); +} + static inline void pg_atomic_write_u64(volatile pg_atomic_uint64 *ptr, uint64 val) { @@ -438,6 +485,15 @@ pg_atomic_write_u64(volatile pg_atomic_uint64 *ptr, uint64 val) pg_atomic_write_u64_impl(ptr, val); } +static inline void +pg_atomic_write_membarrier_u64(volatile pg_atomic_uint64 *ptr, uint64 val) +{ +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + pg_atomic_write_membarrier_u64_impl(ptr, val); +} + static inline uint64 pg_atomic_exchange_u64(volatile pg_atomic_uint64 *ptr, uint64 newval) { @@ -453,7 +509,6 @@ pg_atomic_compare_exchange_u64(volatile pg_atomic_uint64 *ptr, { #ifndef PG_HAVE_ATOMIC_U64_SIMULATION AssertPointerAlignment(ptr, 8); - AssertPointerAlignment(expected, 8); #endif return pg_atomic_compare_exchange_u64_impl(ptr, expected, newval); } @@ -514,6 +569,38 @@ pg_atomic_sub_fetch_u64(volatile pg_atomic_uint64 *ptr, int64 sub_) return pg_atomic_sub_fetch_u64_impl(ptr, sub_); } +/* + * Monotonically advance the given variable using only atomic operations until + * it's at least the target value. Returns the latest value observed, which + * may or may not be the target value. + * + * Full barrier semantics (even when value is unchanged). + */ +static inline uint64 +pg_atomic_monotonic_advance_u64(volatile pg_atomic_uint64 *ptr, uint64 target) +{ + uint64 currval; + +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + + currval = pg_atomic_read_u64_impl(ptr); + if (currval >= target) + { + pg_memory_barrier(); + return currval; + } + + while (currval < target) + { + if (pg_atomic_compare_exchange_u64(ptr, &currval, target)) + return target; + } + + return currval; +} + #undef INSIDE_ATOMICS_H #endif /* ATOMICS_H */ diff --git a/parser/include/postgres/port/atomics/arch-arm.h b/parser/include/postgres/port/atomics/arch-arm.h index c90bf580..3ca2dbbd 100644 --- a/parser/include/postgres/port/atomics/arch-arm.h +++ b/parser/include/postgres/port/atomics/arch-arm.h @@ -3,7 +3,7 @@ * arch-arm.h * Atomic operations considerations specific to ARM * - * Portions Copyright (c) 2013-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group * * NOTES: * diff --git a/parser/include/postgres/port/atomics/arch-hppa.h b/parser/include/postgres/port/atomics/arch-hppa.h index 4c89fbff..50812a7f 100644 --- a/parser/include/postgres/port/atomics/arch-hppa.h +++ b/parser/include/postgres/port/atomics/arch-hppa.h @@ -3,7 +3,7 @@ * arch-hppa.h * Atomic operations considerations specific to HPPA * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: diff --git a/parser/include/postgres/port/atomics/arch-ppc.h b/parser/include/postgres/port/atomics/arch-ppc.h index d992d4c8..edaab7c8 100644 --- a/parser/include/postgres/port/atomics/arch-ppc.h +++ b/parser/include/postgres/port/atomics/arch-ppc.h @@ -3,7 +3,7 @@ * arch-ppc.h * Atomic operations considerations specific to PowerPC * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -173,6 +173,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint32 condition_register; bool ret; + AssertPointerAlignment(expected, 8); + /* Like u32, but s/lwarx/ldarx/; s/stwcx/stdcx/; s/cmpw/cmpd/ */ #ifdef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P if (__builtin_constant_p(*expected) && diff --git a/parser/include/postgres/port/atomics/arch-x86.h b/parser/include/postgres/port/atomics/arch-x86.h index bb84b9ba..2a8eca30 100644 --- a/parser/include/postgres/port/atomics/arch-x86.h +++ b/parser/include/postgres/port/atomics/arch-x86.h @@ -7,7 +7,7 @@ * support for xadd and cmpxchg. Given that the 386 isn't supported anywhere * anymore that's not much of a restriction luckily. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -207,6 +207,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, { char ret; + AssertPointerAlignment(expected, 8); + /* * Perform cmpxchg and use the zero flag which it implicitly sets when * equal to measure the success. diff --git a/parser/include/postgres/port/atomics/fallback.h b/parser/include/postgres/port/atomics/fallback.h index a9e8e77c..71c1df5d 100644 --- a/parser/include/postgres/port/atomics/fallback.h +++ b/parser/include/postgres/port/atomics/fallback.h @@ -4,7 +4,7 @@ * Fallback for platforms without spinlock and/or atomics support. Slower * than native atomics support, but not unusably slow. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics/fallback.h diff --git a/parser/include/postgres/port/atomics/generic-gcc.h b/parser/include/postgres/port/atomics/generic-gcc.h index da04e9f0..872d2f02 100644 --- a/parser/include/postgres/port/atomics/generic-gcc.h +++ b/parser/include/postgres/port/atomics/generic-gcc.h @@ -3,7 +3,7 @@ * generic-gcc.h * Atomic operations, implemented using gcc (or compatible) intrinsics. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -176,6 +176,23 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, } #endif +/* + * __sync_lock_test_and_set() only supports setting the value to 1 on some + * platforms, so we only provide an __atomic implementation for + * pg_atomic_exchange. + * + * We assume the availability of 32-bit __atomic_compare_exchange_n() implies + * the availability of 32-bit __atomic_exchange_n(). + */ +#if !defined(PG_HAVE_ATOMIC_EXCHANGE_U32) && defined(HAVE_GCC__ATOMIC_INT32_CAS) +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return __atomic_exchange_n(&ptr->value, newval, __ATOMIC_SEQ_CST); +} +#endif + /* if we have 32-bit __sync_val_compare_and_swap, assume we have these too: */ #if !defined(PG_HAVE_ATOMIC_FETCH_ADD_U32) && defined(HAVE_GCC__SYNC_INT32_CAS) @@ -223,6 +240,7 @@ static inline bool pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 *expected, uint64 newval) { + AssertPointerAlignment(expected, 8); return __atomic_compare_exchange_n(&ptr->value, expected, newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); } @@ -236,6 +254,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, { bool ret; uint64 current; + + AssertPointerAlignment(expected, 8); current = __sync_val_compare_and_swap(&ptr->value, *expected, newval); ret = current == *expected; *expected = current; @@ -243,6 +263,23 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, } #endif +/* + * __sync_lock_test_and_set() only supports setting the value to 1 on some + * platforms, so we only provide an __atomic implementation for + * pg_atomic_exchange. + * + * We assume the availability of 64-bit __atomic_compare_exchange_n() implies + * the availability of 64-bit __atomic_exchange_n(). + */ +#if !defined(PG_HAVE_ATOMIC_EXCHANGE_U64) && defined(HAVE_GCC__ATOMIC_INT64_CAS) +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return __atomic_exchange_n(&ptr->value, newval, __ATOMIC_SEQ_CST); +} +#endif + /* if we have 64-bit __sync_val_compare_and_swap, assume we have these too: */ #if !defined(PG_HAVE_ATOMIC_FETCH_ADD_U64) && defined(HAVE_GCC__SYNC_INT64_CAS) diff --git a/parser/include/postgres/port/atomics/generic-msvc.h b/parser/include/postgres/port/atomics/generic-msvc.h index 8835f4ce..c013aca5 100644 --- a/parser/include/postgres/port/atomics/generic-msvc.h +++ b/parser/include/postgres/port/atomics/generic-msvc.h @@ -3,7 +3,7 @@ * generic-msvc.h * Atomic operations support when using MSVC * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -58,6 +58,13 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, return ret; } +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return InterlockedExchange(&ptr->value, newval); +} + #define PG_HAVE_ATOMIC_FETCH_ADD_U32 static inline uint32 pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_) @@ -88,6 +95,16 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, /* Only implemented on 64bit builds */ #ifdef _WIN64 + +#pragma intrinsic(_InterlockedExchange64) + +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return _InterlockedExchange64(&ptr->value, newval); +} + #pragma intrinsic(_InterlockedExchangeAdd64) #define PG_HAVE_ATOMIC_FETCH_ADD_U64 @@ -96,6 +113,7 @@ pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_) { return _InterlockedExchangeAdd64(&ptr->value, add_); } + #endif /* _WIN64 */ #endif /* HAVE_ATOMICS */ diff --git a/parser/include/postgres/port/atomics/generic-sunpro.h b/parser/include/postgres/port/atomics/generic-sunpro.h index 30f7d8b5..840a45e7 100644 --- a/parser/include/postgres/port/atomics/generic-sunpro.h +++ b/parser/include/postgres/port/atomics/generic-sunpro.h @@ -3,7 +3,7 @@ * generic-sunpro.h * Atomic operations for solaris' CC * - * Portions Copyright (c) 2013-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group * * NOTES: * @@ -87,6 +87,13 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, return ret; } +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return atomic_swap_32(&ptr->value, newval); +} + #define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 static inline bool pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, @@ -95,12 +102,20 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, bool ret; uint64 current; + AssertPointerAlignment(expected, 8); current = atomic_cas_64(&ptr->value, *expected, newval); ret = current == *expected; *expected = current; return ret; } +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return atomic_swap_64(&ptr->value, newval); +} + #endif /* HAVE_ATOMIC_H */ #endif /* defined(HAVE_ATOMICS) */ diff --git a/parser/include/postgres/port/atomics/generic.h b/parser/include/postgres/port/atomics/generic.h index cb5804ad..6113ab62 100644 --- a/parser/include/postgres/port/atomics/generic.h +++ b/parser/include/postgres/port/atomics/generic.h @@ -4,7 +4,7 @@ * Implement higher level operations based on some lower level atomic * operations. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics/generic.h @@ -83,7 +83,7 @@ pg_atomic_init_flag_impl(volatile pg_atomic_flag *ptr) static inline bool pg_atomic_test_set_flag_impl(volatile pg_atomic_flag *ptr) { - return pg_atomic_exchange_u32_impl(ptr, &value, 1) == 0; + return pg_atomic_exchange_u32_impl(ptr, 1) == 0; } #define PG_HAVE_ATOMIC_UNLOCKED_TEST_FLAG @@ -243,6 +243,24 @@ pg_atomic_sub_fetch_u32_impl(volatile pg_atomic_uint32 *ptr, int32 sub_) } #endif +#if !defined(PG_HAVE_ATOMIC_READ_MEMBARRIER_U32) && defined(PG_HAVE_ATOMIC_FETCH_ADD_U32) +#define PG_HAVE_ATOMIC_READ_MEMBARRIER_U32 +static inline uint32 +pg_atomic_read_membarrier_u32_impl(volatile pg_atomic_uint32 *ptr) +{ + return pg_atomic_fetch_add_u32_impl(ptr, 0); +} +#endif + +#if !defined(PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U32) && defined(PG_HAVE_ATOMIC_EXCHANGE_U32) +#define PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U32 +static inline void +pg_atomic_write_membarrier_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 val) +{ + (void) pg_atomic_exchange_u32_impl(ptr, val); +} +#endif + #if !defined(PG_HAVE_ATOMIC_EXCHANGE_U64) && defined(PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64) #define PG_HAVE_ATOMIC_EXCHANGE_U64 static inline uint64 @@ -399,3 +417,21 @@ pg_atomic_sub_fetch_u64_impl(volatile pg_atomic_uint64 *ptr, int64 sub_) return pg_atomic_fetch_sub_u64_impl(ptr, sub_) - sub_; } #endif + +#if !defined(PG_HAVE_ATOMIC_READ_MEMBARRIER_U64) && defined(PG_HAVE_ATOMIC_FETCH_ADD_U64) +#define PG_HAVE_ATOMIC_READ_MEMBARRIER_U64 +static inline uint64 +pg_atomic_read_membarrier_u64_impl(volatile pg_atomic_uint64 *ptr) +{ + return pg_atomic_fetch_add_u64_impl(ptr, 0); +} +#endif + +#if !defined(PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U64) && defined(PG_HAVE_ATOMIC_EXCHANGE_U64) +#define PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U64 +static inline void +pg_atomic_write_membarrier_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 val) +{ + (void) pg_atomic_exchange_u64_impl(ptr, val); +} +#endif diff --git a/parser/include/postgres/port/pg_bitutils.h b/parser/include/postgres/port/pg_bitutils.h index 21a4fa03..4d88478c 100644 --- a/parser/include/postgres/port/pg_bitutils.h +++ b/parser/include/postgres/port/pg_bitutils.h @@ -4,7 +4,7 @@ * Miscellaneous functions for bit-wise operations. * * - * Copyright (c) 2019-2023, PostgreSQL Global Development Group + * Copyright (c) 2019-2024, PostgreSQL Global Development Group * * src/include/port/pg_bitutils.h * @@ -48,8 +48,9 @@ pg_leftmost_one_pos32(uint32 word) unsigned long result; bool non_zero; + Assert(word != 0); + non_zero = _BitScanReverse(&result, word); - Assert(non_zero); return (int) result; #else int shift = 32 - 8; @@ -85,8 +86,9 @@ pg_leftmost_one_pos64(uint64 word) unsigned long result; bool non_zero; + Assert(word != 0); + non_zero = _BitScanReverse64(&result, word); - Assert(non_zero); return (int) result; #else int shift = 64 - 8; @@ -116,8 +118,9 @@ pg_rightmost_one_pos32(uint32 word) unsigned long result; bool non_zero; + Assert(word != 0); + non_zero = _BitScanForward(&result, word); - Assert(non_zero); return (int) result; #else int result = 0; @@ -156,8 +159,9 @@ pg_rightmost_one_pos64(uint64 word) unsigned long result; bool non_zero; + Assert(word != 0); + non_zero = _BitScanForward64(&result, word); - Assert(non_zero); return (int) result; #else int result = 0; @@ -296,18 +300,96 @@ pg_ceil_log2_64(uint64 num) #ifdef TRY_POPCNT_FAST /* Attempt to use the POPCNT instruction, but perform a runtime check first */ -extern int (*pg_popcount32) (uint32 word); -extern int (*pg_popcount64) (uint64 word); +extern PGDLLIMPORT int (*pg_popcount32) (uint32 word); +extern PGDLLIMPORT int (*pg_popcount64) (uint64 word); +extern PGDLLIMPORT uint64 (*pg_popcount_optimized) (const char *buf, int bytes); +extern PGDLLIMPORT uint64 (*pg_popcount_masked_optimized) (const char *buf, int bytes, bits8 mask); + +/* + * We can also try to use the AVX-512 popcount instruction on some systems. + * The implementation of that is located in its own file because it may + * require special compiler flags that we don't want to apply to any other + * files. + */ +#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK +extern bool pg_popcount_avx512_available(void); +extern uint64 pg_popcount_avx512(const char *buf, int bytes); +extern uint64 pg_popcount_masked_avx512(const char *buf, int bytes, bits8 mask); +#endif #else /* Use a portable implementation -- no need for a function pointer. */ extern int pg_popcount32(uint32 word); extern int pg_popcount64(uint64 word); +extern uint64 pg_popcount_optimized(const char *buf, int bytes); +extern uint64 pg_popcount_masked_optimized(const char *buf, int bytes, bits8 mask); #endif /* TRY_POPCNT_FAST */ -/* Count the number of one-bits in a byte array */ -extern uint64 pg_popcount(const char *buf, int bytes); +/* + * Returns the number of 1-bits in buf. + * + * If there aren't many bytes to process, the function call overhead of the + * optimized versions isn't worth taking, so we inline a loop that consults + * pg_number_of_ones in that case. If there are many bytes to process, we + * accept the function call overhead because the optimized versions are likely + * to be faster. + */ +static inline uint64 +pg_popcount(const char *buf, int bytes) +{ + /* + * We set the threshold to the point at which we'll first use special + * instructions in the optimized version. + */ +#if SIZEOF_VOID_P >= 8 + int threshold = 8; +#else + int threshold = 4; +#endif + + if (bytes < threshold) + { + uint64 popcnt = 0; + + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++]; + return popcnt; + } + + return pg_popcount_optimized(buf, bytes); +} + +/* + * Returns the number of 1-bits in buf after applying the mask to each byte. + * + * Similar to pg_popcount(), we only take on the function pointer overhead when + * it's likely to be faster. + */ +static inline uint64 +pg_popcount_masked(const char *buf, int bytes, bits8 mask) +{ + /* + * We set the threshold to the point at which we'll first use special + * instructions in the optimized version. + */ +#if SIZEOF_VOID_P >= 8 + int threshold = 8; +#else + int threshold = 4; +#endif + + if (bytes < threshold) + { + uint64 popcnt = 0; + + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++ & mask]; + return popcnt; + } + + return pg_popcount_masked_optimized(buf, bytes, mask); +} /* * Rotate the bits of "word" to the right/left by n bits. diff --git a/parser/include/postgres/port/pg_bswap.h b/parser/include/postgres/port/pg_bswap.h index 80abd750..2379513f 100644 --- a/parser/include/postgres/port/pg_bswap.h +++ b/parser/include/postgres/port/pg_bswap.h @@ -11,7 +11,7 @@ * return the same. Use caution when using these wrapper macros with signed * integers. * - * Copyright (c) 2015-2023, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * src/include/port/pg_bswap.h * diff --git a/parser/include/postgres/port/pg_crc32c.h b/parser/include/postgres/port/pg_crc32c.h index 7f877926..63c8e3a0 100644 --- a/parser/include/postgres/port/pg_crc32c.h +++ b/parser/include/postgres/port/pg_crc32c.h @@ -23,7 +23,7 @@ * EQ_CRC32C(c1, c2) * Check for equality of two CRCs. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/pg_crc32c.h @@ -58,6 +58,15 @@ extern pg_crc32c pg_comp_crc32c_sse42(pg_crc32c crc, const void *data, size_t le extern pg_crc32c pg_comp_crc32c_armv8(pg_crc32c crc, const void *data, size_t len); +#elif defined(USE_LOONGARCH_CRC32C) +/* Use LoongArch CRCC instructions. */ + +#define COMP_CRC32C(crc, data, len) \ + ((crc) = pg_comp_crc32c_loongarch((crc), (data), (len))) +#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF) + +extern pg_crc32c pg_comp_crc32c_loongarch(pg_crc32c crc, const void *data, size_t len); + #elif defined(USE_SSE42_CRC32C_WITH_RUNTIME_CHECK) || defined(USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK) /* diff --git a/parser/include/postgres/port/pg_iovec.h b/parser/include/postgres/port/pg_iovec.h new file mode 100644 index 00000000..7255c1bd --- /dev/null +++ b/parser/include/postgres/port/pg_iovec.h @@ -0,0 +1,117 @@ +/*------------------------------------------------------------------------- + * + * pg_iovec.h + * Header for vectored I/O functions, to use in place of . + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/port/pg_iovec.h + * + *------------------------------------------------------------------------- + */ +#ifndef PG_IOVEC_H +#define PG_IOVEC_H + +#ifndef WIN32 + +#include +#include +#include + +#else + +/* POSIX requires at least 16 as a maximum iovcnt. */ +#define IOV_MAX 16 + +/* Define our own POSIX-compatible iovec struct. */ +struct iovec +{ + void *iov_base; + size_t iov_len; +}; + +#endif + +/* Define a reasonable maximum that is safe to use on the stack. */ +#define PG_IOV_MAX Min(IOV_MAX, 32) + +/* + * Like preadv(), but with a prefix to remind us of a side-effect: on Windows + * this changes the current file position. + */ +static inline ssize_t +pg_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset) +{ +#if HAVE_DECL_PREADV + /* + * Avoid a small amount of argument copying overhead in the kernel if + * there is only one iovec. + */ + if (iovcnt == 1) + return pread(fd, iov[0].iov_base, iov[0].iov_len, offset); + else + return preadv(fd, iov, iovcnt, offset); +#else + ssize_t sum = 0; + ssize_t part; + + for (int i = 0; i < iovcnt; ++i) + { + part = pg_pread(fd, iov[i].iov_base, iov[i].iov_len, offset); + if (part < 0) + { + if (i == 0) + return -1; + else + return sum; + } + sum += part; + offset += part; + if (part < iov[i].iov_len) + return sum; + } + return sum; +#endif +} + +/* + * Like pwritev(), but with a prefix to remind us of a side-effect: on Windows + * this changes the current file position. + */ +static inline ssize_t +pg_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset) +{ +#if HAVE_DECL_PWRITEV + /* + * Avoid a small amount of argument copying overhead in the kernel if + * there is only one iovec. + */ + if (iovcnt == 1) + return pwrite(fd, iov[0].iov_base, iov[0].iov_len, offset); + else + return pwritev(fd, iov, iovcnt, offset); +#else + ssize_t sum = 0; + ssize_t part; + + for (int i = 0; i < iovcnt; ++i) + { + part = pg_pwrite(fd, iov[i].iov_base, iov[i].iov_len, offset); + if (part < 0) + { + if (i == 0) + return -1; + else + return sum; + } + sum += part; + offset += part; + if (part < iov[i].iov_len) + return sum; + } + return sum; +#endif +} + +#endif /* PG_IOVEC_H */ diff --git a/parser/include/postgres/port/simd.h b/parser/include/postgres/port/simd.h index 1fa6c3bc..597496f2 100644 --- a/parser/include/postgres/port/simd.h +++ b/parser/include/postgres/port/simd.h @@ -3,7 +3,7 @@ * simd.h * Support for platform-specific vector operations. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/simd.h @@ -79,6 +79,7 @@ static inline bool vector8_has_le(const Vector8 v, const uint8 c); static inline bool vector8_is_highbit_set(const Vector8 v); #ifndef USE_NO_SIMD static inline bool vector32_is_highbit_set(const Vector32 v); +static inline uint32 vector8_highbit_mask(const Vector8 v); #endif /* arithmetic operations */ @@ -96,6 +97,7 @@ static inline Vector8 vector8_ssub(const Vector8 v1, const Vector8 v2); */ #ifndef USE_NO_SIMD static inline Vector8 vector8_eq(const Vector8 v1, const Vector8 v2); +static inline Vector8 vector8_min(const Vector8 v1, const Vector8 v2); static inline Vector32 vector32_eq(const Vector32 v1, const Vector32 v2); #endif @@ -299,6 +301,36 @@ vector32_is_highbit_set(const Vector32 v) } #endif /* ! USE_NO_SIMD */ +/* + * Return a bitmask formed from the high-bit of each element. + */ +#ifndef USE_NO_SIMD +static inline uint32 +vector8_highbit_mask(const Vector8 v) +{ +#ifdef USE_SSE2 + return (uint32) _mm_movemask_epi8(v); +#elif defined(USE_NEON) + /* + * Note: It would be faster to use vget_lane_u64 and vshrn_n_u16, but that + * returns a uint64, making it inconvenient to combine mask values from + * multiple vectors. + */ + static const uint8 mask[16] = { + 1 << 0, 1 << 1, 1 << 2, 1 << 3, + 1 << 4, 1 << 5, 1 << 6, 1 << 7, + 1 << 0, 1 << 1, 1 << 2, 1 << 3, + 1 << 4, 1 << 5, 1 << 6, 1 << 7, + }; + + uint8x16_t masked = vandq_u8(vld1q_u8(mask), (uint8x16_t) vshrq_n_s8((int8x16_t) v, 7)); + uint8x16_t maskedhi = vextq_u8(masked, masked, 8); + + return (uint32) vaddvq_u16((uint16x8_t) vzip1q_u8(masked, maskedhi)); +#endif +} +#endif /* ! USE_NO_SIMD */ + /* * Return the bitwise OR of the inputs */ @@ -372,4 +404,19 @@ vector32_eq(const Vector32 v1, const Vector32 v2) } #endif /* ! USE_NO_SIMD */ +/* + * Given two vectors, return a vector with the minimum element of each. + */ +#ifndef USE_NO_SIMD +static inline Vector8 +vector8_min(const Vector8 v1, const Vector8 v2) +{ +#ifdef USE_SSE2 + return _mm_min_epu8(v1, v2); +#elif defined(USE_NEON) + return vminq_u8(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + #endif /* SIMD_H */ diff --git a/parser/include/postgres/port/win32/sys/socket.h b/parser/include/postgres/port/win32/sys/socket.h index 0c32c0f7..f2b475df 100644 --- a/parser/include/postgres/port/win32/sys/socket.h +++ b/parser/include/postgres/port/win32/sys/socket.h @@ -23,4 +23,12 @@ #define ERROR PGERROR #endif +/* + * We don't use the Windows gai_strerror[A] function because it is not + * thread-safe. We define our own in src/port/win32gai_strerror.c. + */ +#undef gai_strerror + +extern const char *gai_strerror(int ecode); + #endif /* WIN32_SYS_SOCKET_H */ diff --git a/parser/include/postgres/port/win32_port.h b/parser/include/postgres/port/win32_port.h index 4dc26094..87059b86 100644 --- a/parser/include/postgres/port/win32_port.h +++ b/parser/include/postgres/port/win32_port.h @@ -6,7 +6,7 @@ * Note this is read in MinGW as well as native Windows builds, * but not in Cygwin builds. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/win32_port.h @@ -84,14 +84,6 @@ /* Windows doesn't have fsync() as such, use _commit() */ #define fsync(fd) _commit(fd) -/* - * For historical reasons, we allow setting wal_sync_method to - * fsync_writethrough on Windows, even though it's really identical to fsync - * (both code paths wind up at _commit()). - */ -#define HAVE_FSYNC_WRITETHROUGH -#define FSYNC_WRITETHROUGH_IS_FSYNC - #define USES_WINSOCK /* @@ -455,8 +447,6 @@ extern int _pglstat64(const char *name, struct stat *buf); #define strcoll_l _strcoll_l #define strxfrm_l _strxfrm_l #define wcscoll_l _wcscoll_l -#define wcstombs_l _wcstombs_l -#define mbstowcs_l _mbstowcs_l /* * Versions of libintl >= 0.18? try to replace setlocale() with a macro diff --git a/parser/include/postgres/portability/instr_time.h b/parser/include/postgres/portability/instr_time.h index cc85138e..a6fc1922 100644 --- a/parser/include/postgres/portability/instr_time.h +++ b/parser/include/postgres/portability/instr_time.h @@ -47,7 +47,7 @@ * Beware of multiple evaluations of the macro arguments. * * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/portability/instr_time.h * diff --git a/parser/include/postgres/postgres.h b/parser/include/postgres/postgres.h index 8a028ff7..5d5fd781 100644 --- a/parser/include/postgres/postgres.h +++ b/parser/include/postgres/postgres.h @@ -7,7 +7,7 @@ * Client-side code should include postgres_fe.h instead. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1995, Regents of the University of California * * src/include/postgres.h diff --git a/parser/include/postgres/postmaster/autovacuum.h b/parser/include/postgres/postmaster/autovacuum.h index 65afd1ea..cae1e8b3 100644 --- a/parser/include/postgres/postmaster/autovacuum.h +++ b/parser/include/postgres/postmaster/autovacuum.h @@ -4,7 +4,7 @@ * header file for integrated autovacuum daemon * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/postmaster/autovacuum.h @@ -22,7 +22,7 @@ */ typedef enum { - AVW_BRINSummarizeRange + AVW_BRINSummarizeRange, } AutoVacuumWorkItemType; @@ -49,26 +49,15 @@ extern PGDLLIMPORT int Log_autovacuum_min_duration; /* Status inquiry functions */ extern bool AutoVacuumingActive(void); -extern bool IsAutoVacuumLauncherProcess(void); -extern bool IsAutoVacuumWorkerProcess(void); -#define IsAnyAutoVacuumProcess() \ - (IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess()) - -/* Functions to start autovacuum process, called from postmaster */ +/* called from postmaster at server startup */ extern void autovac_init(void); -extern int StartAutoVacLauncher(void); -extern int StartAutoVacWorker(void); /* called from postmaster when a worker could not be forked */ extern void AutoVacWorkerFailed(void); -#ifdef EXEC_BACKEND -extern void AutoVacLauncherMain(int argc, char *argv[]) pg_attribute_noreturn(); -extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn(); -extern void AutovacuumWorkerIAm(void); -extern void AutovacuumLauncherIAm(void); -#endif +extern void AutoVacLauncherMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); +extern void AutoVacWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno); diff --git a/parser/include/postgres/postmaster/bgworker.h b/parser/include/postgres/postmaster/bgworker.h index 845d4498..22fc49ec 100644 --- a/parser/include/postgres/postmaster/bgworker.h +++ b/parser/include/postgres/postmaster/bgworker.h @@ -31,7 +31,7 @@ * different) code. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -78,7 +78,7 @@ typedef enum { BgWorkerStart_PostmasterStart, BgWorkerStart_ConsistentState, - BgWorkerStart_RecoveryFinished + BgWorkerStart_RecoveryFinished, } BgWorkerStartTime; #define BGW_DEFAULT_RESTART_INTERVAL 60 @@ -93,7 +93,7 @@ typedef struct BackgroundWorker int bgw_flags; BgWorkerStartTime bgw_start_time; int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */ - char bgw_library_name[BGW_MAXLEN]; + char bgw_library_name[MAXPGPATH]; char bgw_function_name[BGW_MAXLEN]; Datum bgw_main_arg; char bgw_extra[BGW_EXTRALEN]; @@ -105,7 +105,7 @@ typedef enum BgwHandleStatus BGWH_STARTED, /* worker is running */ BGWH_NOT_YET_STARTED, /* worker hasn't been started yet */ BGWH_STOPPED, /* worker has exited */ - BGWH_POSTMASTER_DIED /* postmaster died; worker status unclear */ + BGWH_POSTMASTER_DIED, /* postmaster died; worker status unclear */ } BgwHandleStatus; struct BackgroundWorkerHandle; @@ -150,9 +150,11 @@ extern void BackgroundWorkerInitializeConnectionByOid(Oid dboid, Oid useroid, ui * Flags to BackgroundWorkerInitializeConnection et al * * - * Allow bypassing datallowconn restrictions when connecting to database + * Allow bypassing datallowconn restrictions and login check when connecting + * to database */ -#define BGWORKER_BYPASS_ALLOWCONN 1 +#define BGWORKER_BYPASS_ALLOWCONN 0x0001 +#define BGWORKER_BYPASS_ROLELOGINCHECK 0x0002 /* Block/unblock signals in a background worker process */ diff --git a/parser/include/postgres/postmaster/bgworker_internals.h b/parser/include/postgres/postmaster/bgworker_internals.h index 4ad63fd9..9106a0ef 100644 --- a/parser/include/postgres/postmaster/bgworker_internals.h +++ b/parser/include/postgres/postmaster/bgworker_internals.h @@ -2,7 +2,7 @@ * bgworker_internals.h * POSTGRES pluggable background workers internals * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -54,11 +54,7 @@ extern void BackgroundWorkerStopNotifications(pid_t pid); extern void ForgetUnstartedBackgroundWorkers(void); extern void ResetBackgroundWorkerCrashTimes(void); -/* Function to start a background worker, called from postmaster.c */ -extern void StartBackgroundWorker(void) pg_attribute_noreturn(); - -#ifdef EXEC_BACKEND -extern BackgroundWorker *BackgroundWorkerEntry(int slotno); -#endif +/* Entry point for background worker processes */ +extern void BackgroundWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); #endif /* BGWORKER_INTERNALS_H */ diff --git a/parser/include/postgres/postmaster/bgwriter.h b/parser/include/postgres/postmaster/bgwriter.h index a6672287..407f26e5 100644 --- a/parser/include/postgres/postmaster/bgwriter.h +++ b/parser/include/postgres/postmaster/bgwriter.h @@ -6,7 +6,7 @@ * The bgwriter process used to handle checkpointing duties too. Now * there is a separate process, but we did not bother to split this header. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/bgwriter.h * @@ -27,8 +27,8 @@ extern PGDLLIMPORT int CheckPointTimeout; extern PGDLLIMPORT int CheckPointWarning; extern PGDLLIMPORT double CheckPointCompletionTarget; -extern void BackgroundWriterMain(void) pg_attribute_noreturn(); -extern void CheckpointerMain(void) pg_attribute_noreturn(); +extern void BackgroundWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); +extern void CheckpointerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void RequestCheckpoint(int flags); extern void CheckpointWriteDelay(int flags, double progress); diff --git a/parser/include/postgres/postmaster/interrupt.h b/parser/include/postgres/postmaster/interrupt.h index 218f5ea3..341a09d8 100644 --- a/parser/include/postgres/postmaster/interrupt.h +++ b/parser/include/postgres/postmaster/interrupt.h @@ -7,7 +7,7 @@ * have their own implementations, but we provide a few generic things * here to facilitate code reuse. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/include/postgres/postmaster/pgarch.h b/parser/include/postgres/postmaster/pgarch.h index 3bd4fac7..a7a41722 100644 --- a/parser/include/postgres/postmaster/pgarch.h +++ b/parser/include/postgres/postmaster/pgarch.h @@ -3,7 +3,7 @@ * pgarch.h * Exports from postmaster/pgarch.c. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/postmaster/pgarch.h @@ -29,7 +29,7 @@ extern Size PgArchShmemSize(void); extern void PgArchShmemInit(void); extern bool PgArchCanRestart(void); -extern void PgArchiverMain(void) pg_attribute_noreturn(); +extern void PgArchiverMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void PgArchWakeup(void); extern void PgArchForceDirScan(void); diff --git a/parser/include/postgres/postmaster/postmaster.h b/parser/include/postgres/postmaster/postmaster.h index 3b3889c5..89ad13b7 100644 --- a/parser/include/postgres/postmaster/postmaster.h +++ b/parser/include/postgres/postmaster/postmaster.h @@ -3,7 +3,7 @@ * postmaster.h * Exports from postmaster/postmaster.c. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/postmaster/postmaster.h @@ -13,6 +13,8 @@ #ifndef _POSTMASTER_H #define _POSTMASTER_H +#include "miscadmin.h" + /* GUC options */ extern PGDLLIMPORT bool EnableSSL; extern PGDLLIMPORT int SuperuserReservedConnections; @@ -50,6 +52,8 @@ extern PGDLLIMPORT int postmaster_alive_fds[2]; extern PGDLLIMPORT const char *progname; +extern PGDLLIMPORT bool LoadedSSL; + extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); extern void ClosePostmasterPorts(bool am_syslogger); extern void InitProcessGlobals(void); @@ -58,12 +62,28 @@ extern int MaxLivePostmasterChildren(void); extern bool PostmasterMarkPIDForWorkerNotify(int); -#ifdef EXEC_BACKEND -extern pid_t postmaster_forkexec(int argc, char *argv[]); -extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); +extern void processCancelRequest(int backendPID, int32 cancelAuthCode); +#ifdef EXEC_BACKEND extern Size ShmemBackendArraySize(void); extern void ShmemBackendArrayAllocation(void); + +#ifdef WIN32 +extern void pgwin32_register_deadchild_callback(HANDLE procHandle, DWORD procId); +#endif +#endif + +/* defined in globals.c */ +extern PGDLLIMPORT struct ClientSocket *MyClientSocket; + +/* prototypes for functions in launch_backend.c */ +extern pid_t postmaster_child_launch(BackendType child_type, + char *startup_data, + size_t startup_data_len, + struct ClientSocket *client_sock); +const char *PostmasterChildName(BackendType child_type); +#ifdef EXEC_BACKEND +extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); #endif /* @@ -72,7 +92,7 @@ extern void ShmemBackendArrayAllocation(void); * by using a 64bit state; but it's unlikely to be worthwhile as 2^18-1 * backends exceed currently realistic configurations. Even if that limitation * were removed, we still could not a) exceed 2^23-1 because inval.c stores - * the backend ID as a 3-byte signed integer, b) INT_MAX/4 because some places + * the ProcNumber as a 3-byte signed integer, b) INT_MAX/4 because some places * compute 4*MaxBackends without any overflow check. This is rechecked in the * relevant GUC check hooks and in RegisterBackgroundWorker(). */ diff --git a/parser/include/postgres/postmaster/startup.h b/parser/include/postgres/postmaster/startup.h index 6a2e4c45..dde7ebde 100644 --- a/parser/include/postgres/postmaster/startup.h +++ b/parser/include/postgres/postmaster/startup.h @@ -3,7 +3,7 @@ * startup.h * Exports from postmaster/startup.c. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/startup.h * @@ -26,7 +26,7 @@ extern PGDLLIMPORT int log_startup_progress_interval; extern void HandleStartupProcInterrupts(void); -extern void StartupProcessMain(void) pg_attribute_noreturn(); +extern void StartupProcessMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void PreRestoreCommand(void); extern void PostRestoreCommand(void); extern bool IsPromoteSignaled(void); diff --git a/parser/include/postgres/postmaster/syslogger.h b/parser/include/postgres/postmaster/syslogger.h index 34da778f..0f28ebcb 100644 --- a/parser/include/postgres/postmaster/syslogger.h +++ b/parser/include/postgres/postmaster/syslogger.h @@ -3,7 +3,7 @@ * syslogger.h * Exports from postmaster/syslogger.c. * - * Copyright (c) 2004-2023, PostgreSQL Global Development Group + * Copyright (c) 2004-2024, PostgreSQL Global Development Group * * src/include/postmaster/syslogger.h * @@ -86,9 +86,7 @@ extern int SysLogger_Start(void); extern void write_syslogger_file(const char *buffer, int count, int destination); -#ifdef EXEC_BACKEND -extern void SysLoggerMain(int argc, char *argv[]) pg_attribute_noreturn(); -#endif +extern void SysLoggerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern bool CheckLogrotateSignal(void); extern void RemoveLogrotateSignalFiles(void); diff --git a/parser/include/postgres/postmaster/walsummarizer.h b/parser/include/postgres/postmaster/walsummarizer.h new file mode 100644 index 00000000..aedca556 --- /dev/null +++ b/parser/include/postgres/postmaster/walsummarizer.h @@ -0,0 +1,35 @@ +/*------------------------------------------------------------------------- + * + * walsummarizer.h + * + * Header file for background WAL summarization process. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/include/postmaster/walsummarizer.h + * + *------------------------------------------------------------------------- + */ +#ifndef WALSUMMARIZER_H +#define WALSUMMARIZER_H + +#include "access/xlogdefs.h" + +extern PGDLLIMPORT bool summarize_wal; +extern PGDLLIMPORT int wal_summary_keep_time; + +extern Size WalSummarizerShmemSize(void); +extern void WalSummarizerShmemInit(void); +extern void WalSummarizerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); + +extern void GetWalSummarizerState(TimeLineID *summarized_tli, + XLogRecPtr *summarized_lsn, + XLogRecPtr *pending_lsn, + int *summarizer_pid); +extern XLogRecPtr GetOldestUnsummarizedLSN(TimeLineID *tli, + bool *lsn_is_exact); +extern void SetWalSummarizerLatch(void); +extern void WaitForWalSummarization(XLogRecPtr lsn); + +#endif diff --git a/parser/include/postgres/postmaster/walwriter.h b/parser/include/postgres/postmaster/walwriter.h index 6eba7ad7..5884d69f 100644 --- a/parser/include/postgres/postmaster/walwriter.h +++ b/parser/include/postgres/postmaster/walwriter.h @@ -3,7 +3,7 @@ * walwriter.h * Exports from postmaster/walwriter.c. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/walwriter.h * @@ -18,6 +18,6 @@ extern PGDLLIMPORT int WalWriterDelay; extern PGDLLIMPORT int WalWriterFlushAfter; -extern void WalWriterMain(void) pg_attribute_noreturn(); +extern void WalWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); #endif /* _WALWRITER_H */ diff --git a/parser/include/postgres/regex/regex.h b/parser/include/postgres/regex/regex.h index d0811372..f34ee3a8 100644 --- a/parser/include/postgres/regex/regex.h +++ b/parser/include/postgres/regex/regex.h @@ -1,5 +1,5 @@ -#ifndef _REGEX_H_ -#define _REGEX_H_ /* never again */ +#ifndef _PG_REGEX_H_ +#define _PG_REGEX_H_ /* never again */ /* * regular expressions * @@ -32,6 +32,84 @@ * src/include/regex/regex.h */ +/* + * This is an implementation of POSIX regex_t, so it clashes with the + * system-provided header. That header might be unintentionally + * included already, so we force that to happen now on all systems to show that + * we can cope and that we completely replace the system regex interfaces. + * + * Note that we avoided using _REGEX_H_ as an include guard, as that confuses + * matters on BSD family systems including macOS that use the same include + * guard. + */ +#ifndef _WIN32 +#include +#endif + +/* Avoid redefinition errors due to the system header. */ +#undef REG_UBACKREF +#undef REG_ULOOKAROUND +#undef REG_UBOUNDS +#undef REG_UBRACES +#undef REG_UBSALNUM +#undef REG_UPBOTCH +#undef REG_UBBS +#undef REG_UNONPOSIX +#undef REG_UUNSPEC +#undef REG_UUNPORT +#undef REG_ULOCALE +#undef REG_UEMPTYMATCH +#undef REG_UIMPOSSIBLE +#undef REG_USHORTEST +#undef REG_BASIC +#undef REG_EXTENDED +#undef REG_ADVF +#undef REG_ADVANCED +#undef REG_QUOTE +#undef REG_NOSPEC +#undef REG_ICASE +#undef REG_NOSUB +#undef REG_EXPANDED +#undef REG_NLSTOP +#undef REG_NLANCH +#undef REG_NEWLINE +#undef REG_PEND +#undef REG_EXPECT +#undef REG_BOSONLY +#undef REG_DUMP +#undef REG_FAKE +#undef REG_PROGRESS +#undef REG_NOTBOL +#undef REG_NOTEOL +#undef REG_STARTEND +#undef REG_FTRACE +#undef REG_MTRACE +#undef REG_SMALL +#undef REG_OKAY +#undef REG_NOMATCH +#undef REG_BADPAT +#undef REG_ECOLLATE +#undef REG_ECTYPE +#undef REG_EESCAPE +#undef REG_ESUBREG +#undef REG_EBRACK +#undef REG_EPAREN +#undef REG_EBRACE +#undef REG_BADBR +#undef REG_ERANGE +#undef REG_ESPACE +#undef REG_BADRPT +#undef REG_ASSERT +#undef REG_INVARG +#undef REG_MIXED +#undef REG_BADOPT +#undef REG_ETOOBIG +#undef REG_ECOLORS +#undef REG_ATOI +#undef REG_ITOA +#undef REG_PREFIX +#undef REG_EXACT + /* * Add your own defines, if needed, here. */ @@ -45,7 +123,7 @@ * regoff_t has to be large enough to hold either off_t or ssize_t, * and must be signed; it's only a guess that long is suitable. */ -typedef long regoff_t; +typedef long pg_regoff_t; /* * other interface types @@ -79,19 +157,19 @@ typedef struct /* the rest is opaque pointers to hidden innards */ char *re_guts; /* `char *' is more portable than `void *' */ char *re_fns; -} regex_t; +} pg_regex_t; /* result reporting (may acquire more fields later) */ typedef struct { - regoff_t rm_so; /* start of substring */ - regoff_t rm_eo; /* end of substring */ -} regmatch_t; + pg_regoff_t rm_so; /* start of substring */ + pg_regoff_t rm_eo; /* end of substring */ +} pg_regmatch_t; /* supplementary control and reporting */ typedef struct { - regmatch_t rm_extend; /* see REG_EXPECT */ + pg_regmatch_t rm_extend; /* see REG_EXPECT */ } rm_detail_t; @@ -164,6 +242,11 @@ typedef struct #define REG_EXACT (-2) /* identified an exact match */ +/* Redirect the standard typenames to our typenames. */ +#define regoff_t pg_regoff_t +#define regex_t pg_regex_t +#define regmatch_t pg_regmatch_t + /* * the prototypes for exported functions @@ -186,4 +269,4 @@ extern bool RE_compile_and_execute(text *text_re, char *dat, int dat_len, int cflags, Oid collation, int nmatch, regmatch_t *pmatch); -#endif /* _REGEX_H_ */ +#endif /* _PG_REGEX_H_ */ diff --git a/parser/include/postgres/replication/logicallauncher.h b/parser/include/postgres/replication/logicallauncher.h index a07c9cb3..ff0438b5 100644 --- a/parser/include/postgres/replication/logicallauncher.h +++ b/parser/include/postgres/replication/logicallauncher.h @@ -3,7 +3,7 @@ * logicallauncher.h * Exports for logical replication launcher. * - * Portions Copyright (c) 2016-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group * * src/include/replication/logicallauncher.h * diff --git a/parser/include/postgres/replication/logicalproto.h b/parser/include/postgres/replication/logicalproto.h index c5be981e..c409638a 100644 --- a/parser/include/postgres/replication/logicalproto.h +++ b/parser/include/postgres/replication/logicalproto.h @@ -3,7 +3,7 @@ * logicalproto.h * logical replication protocol * - * Copyright (c) 2015-2023, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/replication/logicalproto.h @@ -74,7 +74,7 @@ typedef enum LogicalRepMsgType LOGICAL_REP_MSG_STREAM_STOP = 'E', LOGICAL_REP_MSG_STREAM_COMMIT = 'c', LOGICAL_REP_MSG_STREAM_ABORT = 'A', - LOGICAL_REP_MSG_STREAM_PREPARE = 'p' + LOGICAL_REP_MSG_STREAM_PREPARE = 'p', } LogicalRepMsgType; /* diff --git a/parser/include/postgres/replication/logicalworker.h b/parser/include/postgres/replication/logicalworker.h index 39588da7..a18d79d1 100644 --- a/parser/include/postgres/replication/logicalworker.h +++ b/parser/include/postgres/replication/logicalworker.h @@ -3,7 +3,7 @@ * logicalworker.h * Exports for logical replication workers. * - * Portions Copyright (c) 2016-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group * * src/include/replication/logicalworker.h * @@ -18,6 +18,7 @@ extern PGDLLIMPORT volatile sig_atomic_t ParallelApplyMessagePending; extern void ApplyWorkerMain(Datum main_arg); extern void ParallelApplyWorkerMain(Datum main_arg); +extern void TablesyncWorkerMain(Datum main_arg); extern bool IsLogicalWorker(void); extern bool IsLogicalParallelApplyWorker(void); diff --git a/parser/include/postgres/replication/origin.h b/parser/include/postgres/replication/origin.h index 53135109..7189ba9e 100644 --- a/parser/include/postgres/replication/origin.h +++ b/parser/include/postgres/replication/origin.h @@ -2,7 +2,7 @@ * origin.h * Exports from replication/logical/origin.c * - * Copyright (c) 2013-2023, PostgreSQL Global Development Group + * Copyright (c) 2013-2024, PostgreSQL Global Development Group * * src/include/replication/origin.h *------------------------------------------------------------------------- diff --git a/parser/include/postgres/replication/reorderbuffer.h b/parser/include/postgres/replication/reorderbuffer.h index 3cb03168..851a001c 100644 --- a/parser/include/postgres/replication/reorderbuffer.h +++ b/parser/include/postgres/replication/reorderbuffer.h @@ -2,7 +2,7 @@ * reorderbuffer.h * PostgreSQL logical replay/reorder buffer management. * - * Copyright (c) 2012-2023, PostgreSQL Global Development Group + * Copyright (c) 2012-2024, PostgreSQL Global Development Group * * src/include/replication/reorderbuffer.h */ @@ -11,6 +11,7 @@ #include "access/htup_details.h" #include "lib/ilist.h" +#include "lib/pairingheap.h" #include "storage/sinval.h" #include "utils/hsearch.h" #include "utils/relcache.h" @@ -25,28 +26,9 @@ extern PGDLLIMPORT int debug_logical_replication_streaming; typedef enum { DEBUG_LOGICAL_REP_STREAMING_BUFFERED, - DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE + DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE, } DebugLogicalRepStreamingMode; -/* an individual tuple, stored in one chunk of memory */ -typedef struct ReorderBufferTupleBuf -{ - /* position in preallocated list */ - slist_node node; - - /* tuple header, the interesting bit for users of logical decoding */ - HeapTupleData tuple; - - /* pre-allocated size of tuple buffer, different from tuple size */ - Size alloc_tuple_size; - - /* actual tuple data follows */ -} ReorderBufferTupleBuf; - -/* pointer to the data stored in a TupleBuf */ -#define ReorderBufferTupleBufData(p) \ - ((HeapTupleHeader) MAXALIGN(((char *) p) + sizeof(ReorderBufferTupleBuf))) - /* * Types of the change passed to a 'change' callback. * @@ -73,7 +55,7 @@ typedef enum ReorderBufferChangeType REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT, REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM, REORDER_BUFFER_CHANGE_INTERNAL_SPEC_ABORT, - REORDER_BUFFER_CHANGE_TRUNCATE + REORDER_BUFFER_CHANGE_TRUNCATE, } ReorderBufferChangeType; /* forward declaration */ @@ -114,9 +96,9 @@ typedef struct ReorderBufferChange bool clear_toast_afterwards; /* valid for DELETE || UPDATE */ - ReorderBufferTupleBuf *oldtuple; + HeapTuple oldtuple; /* valid for INSERT || UPDATE */ - ReorderBufferTupleBuf *newtuple; + HeapTuple newtuple; } tp; /* @@ -420,6 +402,11 @@ typedef struct ReorderBufferTXN */ dlist_node catchange_node; + /* + * A node in txn_heap + */ + pairingheap_node txn_node; + /* * Size of this transaction (changes currently in memory, in bytes). */ @@ -650,6 +637,9 @@ struct ReorderBuffer /* memory accounting */ Size size; + /* Max-heap for sizes of all top-level and sub transactions */ + pairingheap *txn_heap; + /* * Statistics about transactions spilled to disk. * @@ -678,10 +668,10 @@ struct ReorderBuffer extern ReorderBuffer *ReorderBufferAllocate(void); extern void ReorderBufferFree(ReorderBuffer *rb); -extern ReorderBufferTupleBuf *ReorderBufferGetTupleBuf(ReorderBuffer *rb, - Size tuple_len); -extern void ReorderBufferReturnTupleBuf(ReorderBuffer *rb, - ReorderBufferTupleBuf *tuple); +extern HeapTuple ReorderBufferGetTupleBuf(ReorderBuffer *rb, + Size tuple_len); +extern void ReorderBufferReturnTupleBuf(HeapTuple tuple); + extern ReorderBufferChange *ReorderBufferGetChange(ReorderBuffer *rb); extern void ReorderBufferReturnChange(ReorderBuffer *rb, ReorderBufferChange *change, bool upd_mem); diff --git a/parser/include/postgres/replication/slot.h b/parser/include/postgres/replication/slot.h index a8a89dc7..c9675ee8 100644 --- a/parser/include/postgres/replication/slot.h +++ b/parser/include/postgres/replication/slot.h @@ -2,7 +2,7 @@ * slot.h * Replication slot management. * - * Copyright (c) 2012-2023, PostgreSQL Global Development Group + * Copyright (c) 2012-2024, PostgreSQL Global Development Group * *------------------------------------------------------------------------- */ @@ -34,12 +34,15 @@ typedef enum ReplicationSlotPersistency { RS_PERSISTENT, RS_EPHEMERAL, - RS_TEMPORARY + RS_TEMPORARY, } ReplicationSlotPersistency; /* * Slots can be invalidated, e.g. due to max_slot_wal_keep_size. If so, the * 'invalidated' field is set to a value other than _NONE. + * + * When adding a new invalidation cause here, remember to update + * SlotInvalidationCauses and RS_INVAL_MAX_CAUSES. */ typedef enum ReplicationSlotInvalidationCause { @@ -52,6 +55,8 @@ typedef enum ReplicationSlotInvalidationCause RS_INVAL_WAL_LEVEL, } ReplicationSlotInvalidationCause; +extern PGDLLIMPORT const char *const SlotInvalidationCauses[]; + /* * On-Disk data of a replication slot, preserved across restarts. */ @@ -111,6 +116,17 @@ typedef struct ReplicationSlotPersistentData /* plugin name */ NameData plugin; + + /* + * Was this slot synchronized from the primary server? + */ + char synced; + + /* + * Is this a failover slot (sync candidate for standbys)? Only relevant + * for logical slots on the primary server. + */ + bool failover; } ReplicationSlotPersistentData; /* @@ -178,6 +194,16 @@ typedef struct ReplicationSlot XLogRecPtr candidate_xmin_lsn; XLogRecPtr candidate_restart_valid; XLogRecPtr candidate_restart_lsn; + + /* + * This value tracks the last confirmed_flush LSN flushed which is used + * during a shutdown checkpoint to decide if logical's slot data should be + * forcibly flushed or not. + */ + XLogRecPtr last_saved_confirmed_flush; + + /* The time since the slot has become inactive */ + TimestampTz inactive_since; } ReplicationSlot; #define SlotIsPhysical(slot) ((slot)->data.database == InvalidOid) @@ -203,6 +229,7 @@ extern PGDLLIMPORT ReplicationSlot *MyReplicationSlot; /* GUCs */ extern PGDLLIMPORT int max_replication_slots; +extern PGDLLIMPORT char *synchronized_standby_slots; /* shmem initialization functions */ extern Size ReplicationSlotsShmemSize(void); @@ -211,13 +238,16 @@ extern void ReplicationSlotsShmemInit(void); /* management of individual slots */ extern void ReplicationSlotCreate(const char *name, bool db_specific, ReplicationSlotPersistency persistency, - bool two_phase); + bool two_phase, bool failover, + bool synced); extern void ReplicationSlotPersist(void); extern void ReplicationSlotDrop(const char *name, bool nowait); +extern void ReplicationSlotDropAcquired(void); +extern void ReplicationSlotAlter(const char *name, bool failover); extern void ReplicationSlotAcquire(const char *name, bool nowait); extern void ReplicationSlotRelease(void); -extern void ReplicationSlotCleanup(void); +extern void ReplicationSlotCleanup(bool synced_only); extern void ReplicationSlotSave(void); extern void ReplicationSlotMarkDirty(void); @@ -241,9 +271,15 @@ extern void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, char *syncslo extern void ReplicationSlotDropAtPubNode(WalReceiverConn *wrconn, char *slotname, bool missing_ok); extern void StartupReplicationSlots(void); -extern void CheckPointReplicationSlots(void); +extern void CheckPointReplicationSlots(bool is_shutdown); extern void CheckSlotRequirements(void); extern void CheckSlotPermissions(void); +extern ReplicationSlotInvalidationCause + GetSlotInvalidationCause(const char *invalidation_reason); + +extern bool SlotExistsInSyncStandbySlots(const char *slot_name); +extern bool StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel); +extern void WaitForStandbyConfirmation(XLogRecPtr wait_for_lsn); #endif /* SLOT_H */ diff --git a/parser/include/postgres/replication/slotsync.h b/parser/include/postgres/replication/slotsync.h new file mode 100644 index 00000000..e03c2a00 --- /dev/null +++ b/parser/include/postgres/replication/slotsync.h @@ -0,0 +1,38 @@ +/*------------------------------------------------------------------------- + * + * slotsync.h + * Exports for slot synchronization. + * + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group + * + * src/include/replication/slotsync.h + * + *------------------------------------------------------------------------- + */ +#ifndef SLOTSYNC_H +#define SLOTSYNC_H + +#include "replication/walreceiver.h" + +extern PGDLLIMPORT bool sync_replication_slots; + +/* + * GUCs needed by slot sync worker to connect to the primary + * server and carry on with slots synchronization. + */ +extern PGDLLIMPORT char *PrimaryConnInfo; +extern PGDLLIMPORT char *PrimarySlotName; + +extern char *CheckAndGetDbnameFromConninfo(void); +extern bool ValidateSlotSyncParams(int elevel); + +extern void ReplSlotSyncWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); + +extern void ShutDownSlotSync(void); +extern bool SlotSyncWorkerCanRestart(void); +extern bool IsSyncingReplicationSlots(void); +extern Size SlotSyncShmemSize(void); +extern void SlotSyncShmemInit(void); +extern void SyncReplicationSlots(WalReceiverConn *wrconn); + +#endif /* SLOTSYNC_H */ diff --git a/parser/include/postgres/replication/syncrep.h b/parser/include/postgres/replication/syncrep.h index 0aec4cb1..ea439e6d 100644 --- a/parser/include/postgres/replication/syncrep.h +++ b/parser/include/postgres/replication/syncrep.h @@ -3,7 +3,7 @@ * syncrep.h * Exports from replication/syncrep.c. * - * Portions Copyright (c) 2010-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/replication/syncrep.h diff --git a/parser/include/postgres/replication/walreceiver.h b/parser/include/postgres/replication/walreceiver.h index 281626fa..12f71fa9 100644 --- a/parser/include/postgres/replication/walreceiver.h +++ b/parser/include/postgres/replication/walreceiver.h @@ -3,7 +3,7 @@ * walreceiver.h * Exports from replication/walreceiverfuncs.c. * - * Portions Copyright (c) 2010-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * src/include/replication/walreceiver.h * @@ -13,7 +13,6 @@ #define _WALRECEIVER_H #include -#include #include "access/xlog.h" #include "access/xlogdefs.h" @@ -52,7 +51,7 @@ typedef enum WALRCV_STREAMING, /* walreceiver is streaming */ WALRCV_WAITING, /* stopped streaming, waiting for orders */ WALRCV_RESTARTING, /* asked to restart streaming */ - WALRCV_STOPPING /* requested to stop, but still running */ + WALRCV_STOPPING, /* requested to stop, but still running */ } WalRcvState; /* Shared memory area for management of walreceiver process */ @@ -207,7 +206,7 @@ typedef enum WALRCV_OK_TUPLES, /* Query returned tuples. */ WALRCV_OK_COPY_IN, /* Query started COPY FROM. */ WALRCV_OK_COPY_OUT, /* Query started COPY TO. */ - WALRCV_OK_COPY_BOTH /* Query started COPY BOTH replication + WALRCV_OK_COPY_BOTH, /* Query started COPY BOTH replication * protocol. */ } WalRcvExecStatus; @@ -229,8 +228,10 @@ typedef struct WalRcvExecResult /* * walrcv_connect_fn * - * Establish connection to a cluster. 'logical' is true if the - * connection is logical, and false if the connection is physical. + * Establish connection to a cluster. 'replication' is true if the + * connection is a replication connection, and false if it is a + * regular connection. If it is a replication connection, it could + * be either logical or physical based on input argument 'logical'. * 'appname' is a name associated to the connection, to use for example * with fallback_application_name or application_name. Returns the * details about the connection established, as defined by @@ -238,6 +239,7 @@ typedef struct WalRcvExecResult * returned with 'err' including the error generated. */ typedef WalReceiverConn *(*walrcv_connect_fn) (const char *conninfo, + bool replication, bool logical, bool must_use_password, const char *appname, @@ -280,6 +282,13 @@ typedef void (*walrcv_get_senderinfo_fn) (WalReceiverConn *conn, typedef char *(*walrcv_identify_system_fn) (WalReceiverConn *conn, TimeLineID *primary_tli); +/* + * walrcv_get_dbname_from_conninfo_fn + * + * Returns the database name from the primary_conninfo + */ +typedef char *(*walrcv_get_dbname_from_conninfo_fn) (const char *conninfo); + /* * walrcv_server_version_fn * @@ -356,9 +365,20 @@ typedef char *(*walrcv_create_slot_fn) (WalReceiverConn *conn, const char *slotname, bool temporary, bool two_phase, + bool failover, CRSSnapshotAction snapshot_action, XLogRecPtr *lsn); +/* + * walrcv_alter_slot_fn + * + * Change the definition of a replication slot. Currently, it only supports + * changing the failover property of the slot. + */ +typedef void (*walrcv_alter_slot_fn) (WalReceiverConn *conn, + const char *slotname, + bool failover); + /* * walrcv_get_backend_pid_fn * @@ -393,6 +413,7 @@ typedef struct WalReceiverFunctionsType walrcv_get_conninfo_fn walrcv_get_conninfo; walrcv_get_senderinfo_fn walrcv_get_senderinfo; walrcv_identify_system_fn walrcv_identify_system; + walrcv_get_dbname_from_conninfo_fn walrcv_get_dbname_from_conninfo; walrcv_server_version_fn walrcv_server_version; walrcv_readtimelinehistoryfile_fn walrcv_readtimelinehistoryfile; walrcv_startstreaming_fn walrcv_startstreaming; @@ -400,6 +421,7 @@ typedef struct WalReceiverFunctionsType walrcv_receive_fn walrcv_receive; walrcv_send_fn walrcv_send; walrcv_create_slot_fn walrcv_create_slot; + walrcv_alter_slot_fn walrcv_alter_slot; walrcv_get_backend_pid_fn walrcv_get_backend_pid; walrcv_exec_fn walrcv_exec; walrcv_disconnect_fn walrcv_disconnect; @@ -407,8 +429,8 @@ typedef struct WalReceiverFunctionsType extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; -#define walrcv_connect(conninfo, logical, must_use_password, appname, err) \ - WalReceiverFunctions->walrcv_connect(conninfo, logical, must_use_password, appname, err) +#define walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) \ + WalReceiverFunctions->walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) #define walrcv_check_conninfo(conninfo, must_use_password) \ WalReceiverFunctions->walrcv_check_conninfo(conninfo, must_use_password) #define walrcv_get_conninfo(conn) \ @@ -417,6 +439,8 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; WalReceiverFunctions->walrcv_get_senderinfo(conn, sender_host, sender_port) #define walrcv_identify_system(conn, primary_tli) \ WalReceiverFunctions->walrcv_identify_system(conn, primary_tli) +#define walrcv_get_dbname_from_conninfo(conninfo) \ + WalReceiverFunctions->walrcv_get_dbname_from_conninfo(conninfo) #define walrcv_server_version(conn) \ WalReceiverFunctions->walrcv_server_version(conn) #define walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) \ @@ -429,8 +453,10 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; WalReceiverFunctions->walrcv_receive(conn, buffer, wait_fd) #define walrcv_send(conn, buffer, nbytes) \ WalReceiverFunctions->walrcv_send(conn, buffer, nbytes) -#define walrcv_create_slot(conn, slotname, temporary, two_phase, snapshot_action, lsn) \ - WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, snapshot_action, lsn) +#define walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) \ + WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) +#define walrcv_alter_slot(conn, slotname, failover) \ + WalReceiverFunctions->walrcv_alter_slot(conn, slotname, failover) #define walrcv_get_backend_pid(conn) \ WalReceiverFunctions->walrcv_get_backend_pid(conn) #define walrcv_exec(conn, exec, nRetTypes, retTypes) \ @@ -457,7 +483,7 @@ walrcv_clear_result(WalRcvExecResult *walres) } /* prototypes for functions in walreceiver.c */ -extern void WalReceiverMain(void) pg_attribute_noreturn(); +extern void WalReceiverMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void ProcessWalRcvInterrupts(void); extern void WalRcvForceReply(void); diff --git a/parser/include/postgres/replication/walsender.h b/parser/include/postgres/replication/walsender.h index 9df7e50f..f2d8297f 100644 --- a/parser/include/postgres/replication/walsender.h +++ b/parser/include/postgres/replication/walsender.h @@ -3,7 +3,7 @@ * walsender.h * Exports from replication/walsender.c. * - * Portions Copyright (c) 2010-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * src/include/replication/walsender.h * @@ -12,7 +12,7 @@ #ifndef _WALSENDER_H #define _WALSENDER_H -#include +#include "access/xlogdefs.h" /* * What to do with a snapshot in create replication slot command. @@ -21,7 +21,7 @@ typedef enum { CRS_EXPORT_SNAPSHOT, CRS_NOEXPORT_SNAPSHOT, - CRS_USE_SNAPSHOT + CRS_USE_SNAPSHOT, } CRSSnapshotAction; /* global state */ @@ -39,6 +39,8 @@ extern void InitWalSender(void); extern bool exec_replication_command(const char *cmd_string); extern void WalSndErrorCleanup(void); extern void WalSndResourceCleanup(bool isCommit); +extern void PhysicalWakeupLogicalWalSnd(void); +extern XLogRecPtr GetStandbyFlushRecPtr(TimeLineID *tli); extern void WalSndSignals(void); extern Size WalSndShmemSize(void); extern void WalSndShmemInit(void); diff --git a/parser/include/postgres/rewrite/prs2lock.h b/parser/include/postgres/rewrite/prs2lock.h index f94bdfd2..fcc9beb0 100644 --- a/parser/include/postgres/rewrite/prs2lock.h +++ b/parser/include/postgres/rewrite/prs2lock.h @@ -3,7 +3,7 @@ * prs2lock.h * data structures for POSTGRES Rule System II (rewrite rules only) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/prs2lock.h diff --git a/parser/include/postgres/rewrite/rewriteHandler.h b/parser/include/postgres/rewrite/rewriteHandler.h index b71e20b0..1b65cda7 100644 --- a/parser/include/postgres/rewrite/rewriteHandler.h +++ b/parser/include/postgres/rewrite/rewriteHandler.h @@ -4,7 +4,7 @@ * External interface to query rewriter. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteHandler.h @@ -25,11 +25,17 @@ extern void AcquireRewriteLocks(Query *parsetree, extern Node *build_column_default(Relation rel, int attrno); extern Query *get_view_query(Relation view); +extern bool view_has_instead_trigger(Relation view, CmdType event, + List *mergeActionList); extern const char *view_query_is_auto_updatable(Query *viewquery, bool check_cols); extern int relation_is_updatable(Oid reloid, List *outer_reloids, bool include_triggers, Bitmapset *include_cols); +extern void error_view_not_updatable(Relation view, + CmdType command, + List *mergeActionList, + const char *detail); #endif /* REWRITEHANDLER_H */ diff --git a/parser/include/postgres/rewrite/rewriteManip.h b/parser/include/postgres/rewrite/rewriteManip.h index 365061ff..ac6d2049 100644 --- a/parser/include/postgres/rewrite/rewriteManip.h +++ b/parser/include/postgres/rewrite/rewriteManip.h @@ -4,7 +4,7 @@ * Querytree manipulation subroutines for query rewriter. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteManip.h @@ -37,7 +37,7 @@ typedef enum ReplaceVarsNoMatchOption { REPLACEVARS_REPORT_ERROR, /* throw error if no match */ REPLACEVARS_CHANGE_VARNO, /* change the Var's varno, nothing else */ - REPLACEVARS_SUBSTITUTE_NULL /* replace with a NULL Const */ + REPLACEVARS_SUBSTITUTE_NULL, /* replace with a NULL Const */ } ReplaceVarsNoMatchOption; diff --git a/parser/include/postgres/rewrite/rewriteSupport.h b/parser/include/postgres/rewrite/rewriteSupport.h index e5dc367e..38171355 100644 --- a/parser/include/postgres/rewrite/rewriteSupport.h +++ b/parser/include/postgres/rewrite/rewriteSupport.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteSupport.h diff --git a/parser/include/postgres/storage/backendid.h b/parser/include/postgres/storage/backendid.h deleted file mode 100644 index 1e90b602..00000000 --- a/parser/include/postgres/storage/backendid.h +++ /dev/null @@ -1,37 +0,0 @@ -/*------------------------------------------------------------------------- - * - * backendid.h - * POSTGRES backend id communication definitions - * - * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/backendid.h - * - *------------------------------------------------------------------------- - */ -#ifndef BACKENDID_H -#define BACKENDID_H - -/* ---------------- - * -cim 8/17/90 - * ---------------- - */ -typedef int BackendId; /* unique currently active backend identifier */ - -#define InvalidBackendId (-1) - -extern PGDLLIMPORT BackendId MyBackendId; /* backend id of this backend */ - -/* backend id of our parallel session leader, or InvalidBackendId if none */ -extern PGDLLIMPORT BackendId ParallelLeaderBackendId; - -/* - * The BackendId to use for our session's temp relations is normally our own, - * but parallel workers should use their leader's ID. - */ -#define BackendIdForTempRelations() \ - (ParallelLeaderBackendId == InvalidBackendId ? MyBackendId : ParallelLeaderBackendId) - -#endif /* BACKENDID_H */ diff --git a/parser/include/postgres/storage/block.h b/parser/include/postgres/storage/block.h index 31a036df..ecde8e05 100644 --- a/parser/include/postgres/storage/block.h +++ b/parser/include/postgres/storage/block.h @@ -4,7 +4,7 @@ * POSTGRES disk block definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/block.h diff --git a/parser/include/postgres/storage/buf.h b/parser/include/postgres/storage/buf.h index 6520d9ae..64a1ad9d 100644 --- a/parser/include/postgres/storage/buf.h +++ b/parser/include/postgres/storage/buf.h @@ -4,7 +4,7 @@ * Basic buffer manager data types. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/buf.h diff --git a/parser/include/postgres/storage/bufmgr.h b/parser/include/postgres/storage/bufmgr.h index b379c76e..a1e71013 100644 --- a/parser/include/postgres/storage/bufmgr.h +++ b/parser/include/postgres/storage/bufmgr.h @@ -4,7 +4,7 @@ * POSTGRES buffer manager definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/bufmgr.h @@ -14,6 +14,7 @@ #ifndef BUFMGR_H #define BUFMGR_H +#include "port/pg_iovec.h" #include "storage/block.h" #include "storage/buf.h" #include "storage/bufpage.h" @@ -35,7 +36,7 @@ typedef enum BufferAccessStrategyType BAS_BULKREAD, /* Large read-only scan (hint bit updates are * ok) */ BAS_BULKWRITE, /* Large multi-block write (e.g. COPY IN) */ - BAS_VACUUM /* VACUUM */ + BAS_VACUUM, /* VACUUM */ } BufferAccessStrategyType; /* Possible modes for ReadBufferExtended() */ @@ -47,7 +48,7 @@ typedef enum RBM_ZERO_AND_CLEANUP_LOCK, /* Like RBM_ZERO_AND_LOCK, but locks the page * in "cleanup" mode */ RBM_ZERO_ON_ERROR, /* Read, but return an all-zeros page on error */ - RBM_NORMAL_NO_LOG /* Don't log page as invalid during WAL + RBM_NORMAL_NO_LOG, /* Don't log page as invalid during WAL * replay; otherwise same as RBM_NORMAL */ } ReadBufferMode; @@ -106,6 +107,37 @@ typedef struct BufferManagerRelation #define BMR_REL(p_rel) ((BufferManagerRelation){.rel = p_rel}) #define BMR_SMGR(p_smgr, p_relpersistence) ((BufferManagerRelation){.smgr = p_smgr, .relpersistence = p_relpersistence}) +/* Zero out page if reading fails. */ +#define READ_BUFFERS_ZERO_ON_ERROR (1 << 0) +/* Call smgrprefetch() if I/O necessary. */ +#define READ_BUFFERS_ISSUE_ADVICE (1 << 1) + +struct ReadBuffersOperation +{ + /* + * The following members should be set by the caller. If only smgr is + * provided without rel, then smgr_persistence can be set to override the + * default assumption of RELPERSISTENCE_PERMANENT. + */ + Relation rel; + struct SMgrRelationData *smgr; + char smgr_persistence; + ForkNumber forknum; + BufferAccessStrategy strategy; + + /* + * The following private members are private state for communication + * between StartReadBuffers() and WaitReadBuffers(), initialized only if + * an actual read is required, and should not be modified. + */ + Buffer *buffers; + BlockNumber blocknum; + int flags; + int16 nblocks; + int16 io_buffers_len; +}; + +typedef struct ReadBuffersOperation ReadBuffersOperation; /* forward declared, to avoid having to expose buf_internals.h here */ struct WritebackContext; @@ -133,6 +165,10 @@ extern PGDLLIMPORT bool track_io_timing; extern PGDLLIMPORT int effective_io_concurrency; extern PGDLLIMPORT int maintenance_io_concurrency; +#define MAX_IO_COMBINE_LIMIT PG_IOV_MAX +#define DEFAULT_IO_COMBINE_LIMIT Min(MAX_IO_COMBINE_LIMIT, (128 * 1024) / BLCKSZ) +extern PGDLLIMPORT int io_combine_limit; + extern PGDLLIMPORT int checkpoint_flush_after; extern PGDLLIMPORT int backend_flush_after; extern PGDLLIMPORT int bgwriter_flush_after; @@ -177,8 +213,22 @@ extern Buffer ReadBufferWithoutRelcache(RelFileLocator rlocator, ForkNumber forkNum, BlockNumber blockNum, ReadBufferMode mode, BufferAccessStrategy strategy, bool permanent); + +extern bool StartReadBuffer(ReadBuffersOperation *operation, + Buffer *buffer, + BlockNumber blocknum, + int flags); +extern bool StartReadBuffers(ReadBuffersOperation *operation, + Buffer *buffers, + BlockNumber blockNum, + int *nblocks, + int flags); +extern void WaitReadBuffers(ReadBuffersOperation *operation); + extern void ReleaseBuffer(Buffer buffer); extern void UnlockReleaseBuffer(Buffer buffer); +extern bool BufferIsExclusiveLocked(Buffer buffer); +extern bool BufferIsDirty(Buffer buffer); extern void MarkBufferDirty(Buffer buffer); extern void IncrBufferRefCount(Buffer buffer); extern void CheckBufferIsPinnedOnce(Buffer buffer); @@ -205,7 +255,7 @@ extern Buffer ExtendBufferedRelTo(BufferManagerRelation bmr, extern void InitBufferPoolAccess(void); extern void AtEOXact_Buffers(bool isCommit); -extern void PrintBufferLeakWarning(Buffer buffer); +extern char *DebugPrintBufferRefcount(Buffer buffer); extern void CheckPointBuffers(int flags); extern BlockNumber BufferGetBlockNumber(Buffer buffer); extern BlockNumber RelationGetNumberOfBlocksInFork(Relation relation, @@ -246,11 +296,12 @@ extern bool ConditionalLockBufferForCleanup(Buffer buffer); extern bool IsBufferCleanupOK(Buffer buffer); extern bool HoldingBufferPinThatDelaysRecovery(void); -extern void AbortBufferIO(Buffer buffer); - extern bool BgBufferSync(struct WritebackContext *wb_context); -extern void TestForOldSnapshot_impl(Snapshot snapshot, Relation relation); +extern void LimitAdditionalPins(uint32 *additional_pins); +extern void LimitAdditionalLocalPins(uint32 *additional_pins); + +extern bool EvictUnpinnedBuffer(Buffer buf); /* in buf_init.c */ extern void InitBufferPool(void); @@ -265,6 +316,7 @@ extern BufferAccessStrategy GetAccessStrategy(BufferAccessStrategyType btype); extern BufferAccessStrategy GetAccessStrategyWithSize(BufferAccessStrategyType btype, int ring_size_kb); extern int GetAccessStrategyBufferCount(BufferAccessStrategy strategy); +extern int GetAccessStrategyPinLimit(BufferAccessStrategy strategy); extern void FreeAccessStrategy(BufferAccessStrategy strategy); @@ -347,9 +399,6 @@ BufferGetPageSize(Buffer buffer) /* * BufferGetPage * Returns the page associated with a buffer. - * - * When this is called as part of a scan, there may be a need for a nearby - * call to TestForOldSnapshot(). See the definition of that for details. */ static inline Page BufferGetPage(Buffer buffer) @@ -357,37 +406,6 @@ BufferGetPage(Buffer buffer) return (Page) BufferGetBlock(buffer); } -/* - * Check whether the given snapshot is too old to have safely read the given - * page from the given table. If so, throw a "snapshot too old" error. - * - * This test generally needs to be performed after every BufferGetPage() call - * that is executed as part of a scan. It is not needed for calls made for - * modifying the page (for example, to position to the right place to insert a - * new index tuple or for vacuuming). It may also be omitted where calls to - * lower-level functions will have already performed the test. - * - * Note that a NULL snapshot argument is allowed and causes a fast return - * without error; this is to support call sites which can be called from - * either scans or index modification areas. - * - * For best performance, keep the tests that are fastest and/or most likely to - * exclude a page from old snapshot testing near the front. - */ -static inline void -TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page) -{ - Assert(relation != NULL); - - if (old_snapshot_threshold >= 0 - && (snapshot) != NULL - && ((snapshot)->snapshot_type == SNAPSHOT_MVCC - || (snapshot)->snapshot_type == SNAPSHOT_TOAST) - && !XLogRecPtrIsInvalid((snapshot)->lsn) - && PageGetLSN(page) > (snapshot)->lsn) - TestForOldSnapshot_impl(snapshot, relation); -} - #endif /* FRONTEND */ #endif /* BUFMGR_H */ diff --git a/parser/include/postgres/storage/bufpage.h b/parser/include/postgres/storage/bufpage.h index 424ecba0..d0df02d3 100644 --- a/parser/include/postgres/storage/bufpage.h +++ b/parser/include/postgres/storage/bufpage.h @@ -4,7 +4,7 @@ * Standard POSTGRES buffer page definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/bufpage.h diff --git a/parser/include/postgres/storage/condition_variable.h b/parser/include/postgres/storage/condition_variable.h index e218cb2c..d4720d4b 100644 --- a/parser/include/postgres/storage/condition_variable.h +++ b/parser/include/postgres/storage/condition_variable.h @@ -12,7 +12,7 @@ * can be canceled prior to the fulfillment of the condition) and do not * use pointers internally (so that they are safe to use within DSMs). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/condition_variable.h diff --git a/parser/include/postgres/storage/dsm.h b/parser/include/postgres/storage/dsm.h index 858bbf61..1a22b32d 100644 --- a/parser/include/postgres/storage/dsm.h +++ b/parser/include/postgres/storage/dsm.h @@ -3,7 +3,7 @@ * dsm.h * manage dynamic shared memory segments * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/dsm.h diff --git a/parser/include/postgres/storage/dsm_impl.h b/parser/include/postgres/storage/dsm_impl.h index daf07bd1..88226960 100644 --- a/parser/include/postgres/storage/dsm_impl.h +++ b/parser/include/postgres/storage/dsm_impl.h @@ -3,7 +3,7 @@ * dsm_impl.h * low-level dynamic shared memory primitives * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/dsm_impl.h @@ -63,7 +63,7 @@ typedef enum DSM_OP_CREATE, DSM_OP_ATTACH, DSM_OP_DETACH, - DSM_OP_DESTROY + DSM_OP_DESTROY, } dsm_op; /* Create, attach to, detach from, resize, or destroy a segment. */ diff --git a/parser/include/postgres/storage/fd.h b/parser/include/postgres/storage/fd.h index 6791a406..1456ab38 100644 --- a/parser/include/postgres/storage/fd.h +++ b/parser/include/postgres/storage/fd.h @@ -4,7 +4,7 @@ * Virtual file descriptor definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/fd.h @@ -15,7 +15,7 @@ /* * calls: * - * File {Close, Read, Write, Size, Sync} + * File {Close, Read, ReadV, Write, WriteV, Size, Sync} * {Path Name Open, Allocate, Free} File * * These are NOT JUST RENAMINGS OF THE UNIX ROUTINES. @@ -43,15 +43,11 @@ #ifndef FD_H #define FD_H +#include "port/pg_iovec.h" + #include #include -typedef enum RecoveryInitSyncMethod -{ - RECOVERY_INIT_SYNC_METHOD_FSYNC, - RECOVERY_INIT_SYNC_METHOD_SYNCFS -} RecoveryInitSyncMethod; - typedef int File; @@ -111,8 +107,8 @@ extern File PathNameOpenFilePerm(const char *fileName, int fileFlags, mode_t fil extern File OpenTemporaryFile(bool interXact); extern void FileClose(File file); extern int FilePrefetch(File file, off_t offset, off_t amount, uint32 wait_event_info); -extern int FileRead(File file, void *buffer, size_t amount, off_t offset, uint32 wait_event_info); -extern int FileWrite(File file, const void *buffer, size_t amount, off_t offset, uint32 wait_event_info); +extern ssize_t FileReadV(File file, const struct iovec *iov, int iovcnt, off_t offset, uint32 wait_event_info); +extern ssize_t FileWriteV(File file, const struct iovec *iov, int iovcnt, off_t offset, uint32 wait_event_info); extern int FileSync(File file, uint32 wait_event_info); extern int FileZero(File file, off_t offset, off_t amount, uint32 wait_event_info); extern int FileFallocate(File file, off_t offset, off_t amount, uint32 wait_event_info); @@ -186,6 +182,7 @@ extern int pg_fsync(int fd); extern int pg_fsync_no_writethrough(int fd); extern int pg_fsync_writethrough(int fd); extern int pg_fdatasync(int fd); +extern bool pg_file_exists(const char *name); extern void pg_flush_data(int fd, off_t offset, off_t nbytes); extern int pg_truncate(const char *path, off_t length); extern void fsync_fname(const char *fname, bool isdir); @@ -195,8 +192,28 @@ extern int durable_unlink(const char *fname, int elevel); extern void SyncDataDirectory(void); extern int data_sync_elevel(int elevel); -/* Filename components */ -#define PG_TEMP_FILES_DIR "pgsql_tmp" -#define PG_TEMP_FILE_PREFIX "pgsql_tmp" +static inline ssize_t +FileRead(File file, void *buffer, size_t amount, off_t offset, + uint32 wait_event_info) +{ + struct iovec iov = { + .iov_base = buffer, + .iov_len = amount + }; + + return FileReadV(file, &iov, 1, offset, wait_event_info); +} + +static inline ssize_t +FileWrite(File file, const void *buffer, size_t amount, off_t offset, + uint32 wait_event_info) +{ + struct iovec iov = { + .iov_base = unconstify(void *, buffer), + .iov_len = amount + }; + + return FileWriteV(file, &iov, 1, offset, wait_event_info); +} #endif /* FD_H */ diff --git a/parser/include/postgres/storage/fileset.h b/parser/include/postgres/storage/fileset.h index 9aa6581d..1674f086 100644 --- a/parser/include/postgres/storage/fileset.h +++ b/parser/include/postgres/storage/fileset.h @@ -3,7 +3,7 @@ * fileset.h * Management of named temporary files. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/fileset.h diff --git a/parser/include/postgres/storage/ipc.h b/parser/include/postgres/storage/ipc.h index 91bbc58e..295b7165 100644 --- a/parser/include/postgres/storage/ipc.h +++ b/parser/include/postgres/storage/ipc.h @@ -8,7 +8,7 @@ * exit-time cleanup for either a postmaster or a backend. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/ipc.h @@ -79,6 +79,9 @@ extern PGDLLIMPORT shmem_startup_hook_type shmem_startup_hook; extern Size CalculateShmemSize(int *num_semaphores); extern void CreateSharedMemoryAndSemaphores(void); +#ifdef EXEC_BACKEND +extern void AttachSharedMemoryStructs(void); +#endif extern void InitializeShmemGUCs(void); #endif /* IPC_H */ diff --git a/parser/include/postgres/storage/item.h b/parser/include/postgres/storage/item.h index 56d59a70..d524246f 100644 --- a/parser/include/postgres/storage/item.h +++ b/parser/include/postgres/storage/item.h @@ -4,7 +4,7 @@ * POSTGRES disk item definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/item.h diff --git a/parser/include/postgres/storage/itemid.h b/parser/include/postgres/storage/itemid.h index e5cfb8c3..6d29722e 100644 --- a/parser/include/postgres/storage/itemid.h +++ b/parser/include/postgres/storage/itemid.h @@ -4,7 +4,7 @@ * Standard POSTGRES buffer page item identifier/line pointer definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemid.h diff --git a/parser/include/postgres/storage/itemptr.h b/parser/include/postgres/storage/itemptr.h index fafefa14..cfe21df7 100644 --- a/parser/include/postgres/storage/itemptr.h +++ b/parser/include/postgres/storage/itemptr.h @@ -4,7 +4,7 @@ * POSTGRES disk item pointer definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemptr.h diff --git a/parser/include/postgres/storage/large_object.h b/parser/include/postgres/storage/large_object.h index db521f23..9cfb7aa7 100644 --- a/parser/include/postgres/storage/large_object.h +++ b/parser/include/postgres/storage/large_object.h @@ -5,7 +5,7 @@ * zillions of large objects (internal, external, jaquith, inversion). * Now we only support inversion. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/large_object.h diff --git a/parser/include/postgres/storage/latch.h b/parser/include/postgres/storage/latch.h index 99cc4787..7e194d53 100644 --- a/parser/include/postgres/storage/latch.h +++ b/parser/include/postgres/storage/latch.h @@ -90,7 +90,7 @@ * efficient than using WaitLatch or WaitLatchOrSocket. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/latch.h @@ -102,6 +102,8 @@ #include +#include "utils/resowner.h" + /* * Latch structure should be treated as opaque and only accessed through * the public functions. It is defined here to allow embedding Latches as @@ -173,7 +175,7 @@ extern void SetLatch(Latch *latch); extern void ResetLatch(Latch *latch); extern void ShutdownLatchSupport(void); -extern WaitEventSet *CreateWaitEventSet(MemoryContext context, int nevents); +extern WaitEventSet *CreateWaitEventSet(ResourceOwner resowner, int nevents); extern void FreeWaitEventSet(WaitEventSet *set); extern void FreeWaitEventSetAfterFork(WaitEventSet *set); extern int AddWaitEventToSet(WaitEventSet *set, uint32 events, pgsocket fd, diff --git a/parser/include/postgres/storage/lmgr.h b/parser/include/postgres/storage/lmgr.h index 4ee91e3c..ce15125a 100644 --- a/parser/include/postgres/storage/lmgr.h +++ b/parser/include/postgres/storage/lmgr.h @@ -4,7 +4,7 @@ * POSTGRES lock manager definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lmgr.h @@ -31,7 +31,7 @@ typedef enum XLTW_Oper XLTW_InsertIndex, XLTW_InsertIndexUnique, XLTW_FetchUpdated, - XLTW_RecheckExclusionConstr + XLTW_RecheckExclusionConstr, } XLTW_Oper; extern void RelationInitLockInfo(Relation relation); @@ -48,6 +48,8 @@ extern bool ConditionalLockRelation(Relation relation, LOCKMODE lockmode); extern void UnlockRelation(Relation relation, LOCKMODE lockmode); extern bool CheckRelationLockedByMe(Relation relation, LOCKMODE lockmode, bool orstronger); +extern bool CheckRelationOidLockedByMe(Oid relid, LOCKMODE lockmode, + bool orstronger); extern bool LockHasWaitersRelation(Relation relation, LOCKMODE lockmode); extern void LockRelationIdForSession(LockRelId *relid, LOCKMODE lockmode); @@ -93,12 +95,16 @@ extern void SpeculativeInsertionWait(TransactionId xid, uint32 token); /* Lock a general object (other than a relation) of the current database */ extern void LockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern bool ConditionalLockDatabaseObject(Oid classid, Oid objid, + uint16 objsubid, LOCKMODE lockmode); extern void UnlockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); /* Lock a shared-across-databases object (other than a relation) */ extern void LockSharedObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern bool ConditionalLockSharedObject(Oid classid, Oid objid, uint16 objsubid, + LOCKMODE lockmode); extern void UnlockSharedObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); diff --git a/parser/include/postgres/storage/lock.h b/parser/include/postgres/storage/lock.h index 8575bea2..cc1f6e78 100644 --- a/parser/include/postgres/storage/lock.h +++ b/parser/include/postgres/storage/lock.h @@ -4,7 +4,7 @@ * POSTGRES low-level lock mechanism * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lock.h @@ -19,9 +19,9 @@ #endif #include "lib/ilist.h" -#include "storage/backendid.h" #include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/procnumber.h" #include "storage/shmem.h" #include "utils/timestamp.h" @@ -42,7 +42,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; /* * Top-level transactions are identified by VirtualTransactionIDs comprising - * PGPROC fields backendId and lxid. For recovered prepared transactions, the + * PGPROC fields procNumber and lxid. For recovered prepared transactions, the * LocalTransactionId is an ordinary XID; LOCKTAG_VIRTUALTRANSACTION never * refers to that kind. These are guaranteed unique over the short term, but * will be reused after a database restart or XID wraparound; hence they @@ -50,7 +50,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; * * Note that struct VirtualTransactionId can not be assumed to be atomically * assignable as a whole. However, type LocalTransactionId is assumed to - * be atomically assignable, and the backend ID doesn't change often enough + * be atomically assignable, and the proc number doesn't change often enough * to be a problem, so we can fetch or assign the two fields separately. * We deliberately refrain from using the struct within PGPROC, to prevent * coding errors from trying to use struct assignment with it; instead use @@ -58,7 +58,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; */ typedef struct { - BackendId backendId; /* backendId from PGPROC */ + ProcNumber procNumber; /* proc number of the PGPROC */ LocalTransactionId localTransactionId; /* lxid from PGPROC */ } VirtualTransactionId; @@ -67,16 +67,16 @@ typedef struct #define VirtualTransactionIdIsValid(vxid) \ (LocalTransactionIdIsValid((vxid).localTransactionId)) #define VirtualTransactionIdIsRecoveredPreparedXact(vxid) \ - ((vxid).backendId == InvalidBackendId) + ((vxid).procNumber == INVALID_PROC_NUMBER) #define VirtualTransactionIdEquals(vxid1, vxid2) \ - ((vxid1).backendId == (vxid2).backendId && \ + ((vxid1).procNumber == (vxid2).procNumber && \ (vxid1).localTransactionId == (vxid2).localTransactionId) #define SetInvalidVirtualTransactionId(vxid) \ - ((vxid).backendId = InvalidBackendId, \ + ((vxid).procNumber = INVALID_PROC_NUMBER, \ (vxid).localTransactionId = InvalidLocalTransactionId) -#define GET_VXID_FROM_PGPROC(vxid, proc) \ - ((vxid).backendId = (proc).backendId, \ - (vxid).localTransactionId = (proc).lxid) +#define GET_VXID_FROM_PGPROC(vxid_dst, proc) \ + ((vxid_dst).procNumber = (proc).vxid.procNumber, \ + (vxid_dst).localTransactionId = (proc).vxid.lxid) /* MAX_LOCKMODES cannot be larger than the # of bits in LOCKMASK */ #define MAX_LOCKMODES 10 @@ -145,7 +145,7 @@ typedef enum LockTagType LOCKTAG_OBJECT, /* non-relation database object */ LOCKTAG_USERLOCK, /* reserved for old contrib/userlock code */ LOCKTAG_ADVISORY, /* advisory user locks */ - LOCKTAG_APPLY_TRANSACTION /* transaction being applied on a logical + LOCKTAG_APPLY_TRANSACTION, /* transaction being applied on a logical * replication subscriber */ } LockTagType; @@ -233,7 +233,7 @@ typedef struct LOCKTAG /* ID info for a virtual transaction is its VirtualTransactionId */ #define SET_LOCKTAG_VIRTUALTRANSACTION(locktag,vxid) \ - ((locktag).locktag_field1 = (vxid).backendId, \ + ((locktag).locktag_field1 = (vxid).procNumber, \ (locktag).locktag_field2 = (vxid).localTransactionId, \ (locktag).locktag_field3 = 0, \ (locktag).locktag_field4 = 0, \ @@ -454,8 +454,7 @@ typedef struct LockInstanceData LOCKTAG locktag; /* tag for locked object */ LOCKMASK holdMask; /* locks held by this PGPROC */ LOCKMODE waitLockMode; /* lock awaited by this PGPROC, if any */ - BackendId backend; /* backend ID of this PGPROC */ - LocalTransactionId lxid; /* local transaction ID of this PGPROC */ + VirtualTransactionId vxid; /* virtual transaction ID of this PGPROC */ TimestampTz waitStart; /* time at which this PGPROC started waiting * for lock */ int pid; /* pid of this PGPROC */ @@ -502,7 +501,7 @@ typedef enum LOCKACQUIRE_NOT_AVAIL, /* lock not available, and dontWait=true */ LOCKACQUIRE_OK, /* lock successfully acquired */ LOCKACQUIRE_ALREADY_HELD, /* incremented count for lock already held */ - LOCKACQUIRE_ALREADY_CLEAR /* incremented count for lock already clear */ + LOCKACQUIRE_ALREADY_CLEAR, /* incremented count for lock already clear */ } LockAcquireResult; /* Deadlock states identified by DeadLockCheck() */ @@ -512,7 +511,7 @@ typedef enum DS_NO_DEADLOCK, /* no deadlock detected */ DS_SOFT_DEADLOCK, /* deadlock avoided by queue rearrangement */ DS_HARD_DEADLOCK, /* deadlock, no way out but ERROR */ - DS_BLOCKED_BY_AUTOVACUUM /* no deadlock; queue blocked by autovacuum + DS_BLOCKED_BY_AUTOVACUUM, /* no deadlock; queue blocked by autovacuum * worker */ } DeadLockState; @@ -540,7 +539,7 @@ typedef enum * used for a given lock group is determined by the group leader's pgprocno. */ #define LockHashPartitionLockByProc(leader_pgproc) \ - LockHashPartitionLock((leader_pgproc)->pgprocno) + LockHashPartitionLock(GetNumberFromPGProc(leader_pgproc)) /* * function prototypes @@ -568,7 +567,8 @@ extern void LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks); extern void LockReleaseSession(LOCKMETHODID lockmethodid); extern void LockReleaseCurrentOwner(LOCALLOCK **locallocks, int nlocks); extern void LockReassignCurrentOwner(LOCALLOCK **locallocks, int nlocks); -extern bool LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode); +extern bool LockHeldByMe(const LOCKTAG *locktag, + LOCKMODE lockmode, bool orstronger); #ifdef USE_ASSERT_CHECKING extern HTAB *GetLockMethodLocalHash(void); #endif diff --git a/parser/include/postgres/storage/lockdefs.h b/parser/include/postgres/storage/lockdefs.h index e25216e0..934ba84f 100644 --- a/parser/include/postgres/storage/lockdefs.h +++ b/parser/include/postgres/storage/lockdefs.h @@ -7,7 +7,7 @@ * contains definition that have to (indirectly) be available when included by * FRONTEND code. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lockdefs.h diff --git a/parser/include/postgres/storage/lwlock.h b/parser/include/postgres/storage/lwlock.h index 34169e58..d70e6d37 100644 --- a/parser/include/postgres/storage/lwlock.h +++ b/parser/include/postgres/storage/lwlock.h @@ -4,7 +4,7 @@ * Lightweight lock manager * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lwlock.h @@ -19,6 +19,7 @@ #endif #include "port/atomics.h" +#include "storage/lwlocknames.h" #include "storage/proclist_types.h" struct PGPROC; @@ -82,9 +83,6 @@ typedef struct NamedLWLockTranche extern PGDLLIMPORT NamedLWLockTranche *NamedLWLockTrancheArray; extern PGDLLIMPORT int NamedLWLockTrancheRequests; -/* Names for fixed lwlocks */ -#include "storage/lwlocknames.h" - /* * It's a bit odd to declare NUM_BUFFER_PARTITIONS and NUM_LOCK_PARTITIONS * here, but we need them to figure out offsets within MainLWLockArray, and @@ -115,7 +113,7 @@ typedef enum LWLockMode { LW_EXCLUSIVE, LW_SHARED, - LW_WAIT_UNTIL_FREE /* A special mode used in PGPROC->lwWaitMode, + LW_WAIT_UNTIL_FREE, /* A special mode used in PGPROC->lwWaitMode, * when waiting for lock to become free. Not * to be used as LWLockAcquire argument */ } LWLockMode; @@ -129,14 +127,14 @@ extern bool LWLockAcquire(LWLock *lock, LWLockMode mode); extern bool LWLockConditionalAcquire(LWLock *lock, LWLockMode mode); extern bool LWLockAcquireOrWait(LWLock *lock, LWLockMode mode); extern void LWLockRelease(LWLock *lock); -extern void LWLockReleaseClearVar(LWLock *lock, uint64 *valptr, uint64 val); +extern void LWLockReleaseClearVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 val); extern void LWLockReleaseAll(void); extern bool LWLockHeldByMe(LWLock *lock); extern bool LWLockAnyHeldByMe(LWLock *lock, int nlocks, size_t stride); extern bool LWLockHeldByMeInMode(LWLock *lock, LWLockMode mode); -extern bool LWLockWaitForVar(LWLock *lock, uint64 *valptr, uint64 oldval, uint64 *newval); -extern void LWLockUpdateVar(LWLock *lock, uint64 *valptr, uint64 val); +extern bool LWLockWaitForVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 oldval, uint64 *newval); +extern void LWLockUpdateVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 val); extern Size LWLockShmemSize(void); extern void CreateLWLocks(void); @@ -207,7 +205,17 @@ typedef enum BuiltinTrancheIds LWTRANCHE_PGSTATS_DATA, LWTRANCHE_LAUNCHER_DSA, LWTRANCHE_LAUNCHER_HASH, - LWTRANCHE_FIRST_USER_DEFINED + LWTRANCHE_DSM_REGISTRY_DSA, + LWTRANCHE_DSM_REGISTRY_HASH, + LWTRANCHE_COMMITTS_SLRU, + LWTRANCHE_MULTIXACTMEMBER_SLRU, + LWTRANCHE_MULTIXACTOFFSET_SLRU, + LWTRANCHE_NOTIFY_SLRU, + LWTRANCHE_SERIAL_SLRU, + LWTRANCHE_SUBTRANS_SLRU, + LWTRANCHE_XACT_SLRU, + LWTRANCHE_PARALLEL_VACUUM_DSA, + LWTRANCHE_FIRST_USER_DEFINED, } BuiltinTrancheIds; /* diff --git a/parser/include/postgres/storage/lwlocknames.h b/parser/include/postgres/storage/lwlocknames.h index e279f72b..0d2d41b4 100644 --- a/parser/include/postgres/storage/lwlocknames.h +++ b/parser/include/postgres/storage/lwlocknames.h @@ -1,4 +1,4 @@ -/* autogenerated from src/backend/storage/lmgr/lwlocknames.txt, do not edit */ +/* autogenerated from src/include/storage/lwlocklist.h, do not edit */ /* there is deliberately not an #ifndef LWLOCKNAMES_H here */ #define ShmemIndexLock (&MainLWLockArray[1].lock) @@ -10,11 +10,7 @@ #define WALBufMappingLock (&MainLWLockArray[7].lock) #define WALWriteLock (&MainLWLockArray[8].lock) #define ControlFileLock (&MainLWLockArray[9].lock) -#define XactSLRULock (&MainLWLockArray[11].lock) -#define SubtransSLRULock (&MainLWLockArray[12].lock) #define MultiXactGenLock (&MainLWLockArray[13].lock) -#define MultiXactOffsetSLRULock (&MainLWLockArray[14].lock) -#define MultiXactMemberSLRULock (&MainLWLockArray[15].lock) #define RelCacheInitLock (&MainLWLockArray[16].lock) #define CheckpointerCommLock (&MainLWLockArray[17].lock) #define TwoPhaseStateLock (&MainLWLockArray[18].lock) @@ -25,26 +21,27 @@ #define AutovacuumScheduleLock (&MainLWLockArray[23].lock) #define SyncScanLock (&MainLWLockArray[24].lock) #define RelationMappingLock (&MainLWLockArray[25].lock) -#define NotifySLRULock (&MainLWLockArray[26].lock) #define NotifyQueueLock (&MainLWLockArray[27].lock) #define SerializableXactHashLock (&MainLWLockArray[28].lock) #define SerializableFinishedListLock (&MainLWLockArray[29].lock) #define SerializablePredicateListLock (&MainLWLockArray[30].lock) -#define SerialSLRULock (&MainLWLockArray[31].lock) #define SyncRepLock (&MainLWLockArray[32].lock) #define BackgroundWorkerLock (&MainLWLockArray[33].lock) #define DynamicSharedMemoryControlLock (&MainLWLockArray[34].lock) #define AutoFileLock (&MainLWLockArray[35].lock) #define ReplicationSlotAllocationLock (&MainLWLockArray[36].lock) #define ReplicationSlotControlLock (&MainLWLockArray[37].lock) -#define CommitTsSLRULock (&MainLWLockArray[38].lock) #define CommitTsLock (&MainLWLockArray[39].lock) #define ReplicationOriginLock (&MainLWLockArray[40].lock) #define MultiXactTruncationLock (&MainLWLockArray[41].lock) -#define OldSnapshotTimeMapLock (&MainLWLockArray[42].lock) #define LogicalRepWorkerLock (&MainLWLockArray[43].lock) #define XactTruncationLock (&MainLWLockArray[44].lock) #define WrapLimitsVacuumLock (&MainLWLockArray[46].lock) #define NotifyQueueTailLock (&MainLWLockArray[47].lock) +#define WaitEventCustomLock (&MainLWLockArray[48].lock) +#define WALSummarizerLock (&MainLWLockArray[49].lock) +#define DSMRegistryLock (&MainLWLockArray[50].lock) +#define InjectionPointLock (&MainLWLockArray[51].lock) +#define SerialControlLock (&MainLWLockArray[52].lock) -#define NUM_INDIVIDUAL_LWLOCKS 48 +#define NUM_INDIVIDUAL_LWLOCKS 53 diff --git a/parser/include/postgres/storage/off.h b/parser/include/postgres/storage/off.h index 35403080..575cca83 100644 --- a/parser/include/postgres/storage/off.h +++ b/parser/include/postgres/storage/off.h @@ -4,7 +4,7 @@ * POSTGRES disk "offset" definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/off.h diff --git a/parser/include/postgres/storage/pg_sema.h b/parser/include/postgres/storage/pg_sema.h index 3bf03420..dfef79ac 100644 --- a/parser/include/postgres/storage/pg_sema.h +++ b/parser/include/postgres/storage/pg_sema.h @@ -10,7 +10,7 @@ * be provided by each port. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pg_sema.h diff --git a/parser/include/postgres/storage/pg_shmem.h b/parser/include/postgres/storage/pg_shmem.h index 4dd05f15..3065ff5b 100644 --- a/parser/include/postgres/storage/pg_shmem.h +++ b/parser/include/postgres/storage/pg_shmem.h @@ -14,7 +14,7 @@ * only one ID number. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pg_shmem.h @@ -46,12 +46,13 @@ extern PGDLLIMPORT int shared_memory_type; extern PGDLLIMPORT int huge_pages; extern PGDLLIMPORT int huge_page_size; -/* Possible values for huge_pages */ +/* Possible values for huge_pages and huge_pages_status */ typedef enum { HUGE_PAGES_OFF, HUGE_PAGES_ON, - HUGE_PAGES_TRY + HUGE_PAGES_TRY, /* only for huge_pages */ + HUGE_PAGES_UNKNOWN, /* only for huge_pages_status */ } HugePagesType; /* Possible values for shared_memory_type */ @@ -59,7 +60,7 @@ typedef enum { SHMEM_TYPE_WINDOWS, SHMEM_TYPE_SYSV, - SHMEM_TYPE_MMAP + SHMEM_TYPE_MMAP, } PGShmemType; #ifndef WIN32 diff --git a/parser/include/postgres/storage/pmsignal.h b/parser/include/postgres/storage/pmsignal.h index 92dc7646..029b7201 100644 --- a/parser/include/postgres/storage/pmsignal.h +++ b/parser/include/postgres/storage/pmsignal.h @@ -4,7 +4,7 @@ * routines for signaling between the postmaster and its child processes * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pmsignal.h @@ -51,7 +51,7 @@ typedef enum { PMQUIT_NOT_SENT = 0, /* postmaster hasn't sent SIGQUIT */ PMQUIT_FOR_CRASH, /* some other backend bought the farm */ - PMQUIT_FOR_STOP /* immediate stop was commanded */ + PMQUIT_FOR_STOP, /* immediate stop was commanded */ } QuitSignalReason; /* PMSignalData is an opaque struct, details known only within pmsignal.c */ diff --git a/parser/include/postgres/storage/predicate.h b/parser/include/postgres/storage/predicate.h index cd48afa1..14ee9b94 100644 --- a/parser/include/postgres/storage/predicate.h +++ b/parser/include/postgres/storage/predicate.h @@ -4,7 +4,7 @@ * POSTGRES public predicate locking definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/predicate.h @@ -26,10 +26,6 @@ extern PGDLLIMPORT int max_predicate_locks_per_xact; extern PGDLLIMPORT int max_predicate_locks_per_relation; extern PGDLLIMPORT int max_predicate_locks_per_page; - -/* Number of SLRU buffers to use for Serial SLRU */ -#define NUM_SERIAL_BUFFERS 16 - /* * A handle used for sharing SERIALIZABLEXACT objects between the participants * in a parallel query. diff --git a/parser/include/postgres/storage/proc.h b/parser/include/postgres/storage/proc.h index ef74f326..9488bf18 100644 --- a/parser/include/postgres/storage/proc.h +++ b/parser/include/postgres/storage/proc.h @@ -4,7 +4,7 @@ * per-process shared memory data structures * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/proc.h @@ -21,6 +21,7 @@ #include "storage/lock.h" #include "storage/pg_sema.h" #include "storage/proclist_types.h" +#include "storage/procnumber.h" /* * Each backend advertises up to PGPROC_MAX_CACHED_SUBXIDS TransactionIds @@ -84,12 +85,6 @@ struct XidCache */ #define FP_LOCK_SLOTS_PER_BACKEND 16 -/* - * An invalid pgprocno. Must be larger than the maximum number of PGPROC - * structures we could possibly have. See comments for MAX_BACKENDS. - */ -#define INVALID_PGPROCNO PG_INT32_MAX - /* * Flags for PGPROC.delayChkptFlags * @@ -186,21 +181,31 @@ struct PGPROC * vacuum must not remove tuples deleted by * xid >= xmin ! */ - LocalTransactionId lxid; /* local id of top-level transaction currently - * being executed by this proc, if running; - * else InvalidLocalTransactionId */ int pid; /* Backend's process ID; 0 if prepared xact */ int pgxactoff; /* offset into various ProcGlobal->arrays with * data mirrored from this PGPROC */ - int pgprocno; /* Number of this PGPROC in - * ProcGlobal->allProcs array. This is set - * once by InitProcGlobal(). - * ProcGlobal->allProcs[n].pgprocno == n */ + /* + * Currently running top-level transaction's virtual xid. Together these + * form a VirtualTransactionId, but we don't use that struct because this + * is not atomically assignable as whole, and we want to enforce code to + * consider both parts separately. See comments at VirtualTransactionId. + */ + struct + { + ProcNumber procNumber; /* For regular backends, equal to + * GetNumberFromPGProc(proc). For prepared + * xacts, ID of the original backend that + * processed the transaction. For unused + * PGPROC entries, INVALID_PROC_NUMBER. */ + LocalTransactionId lxid; /* local id of top-level transaction + * currently * being executed by this + * proc, if running; else + * InvalidLocalTransactionId */ + } vxid; /* These fields are zero while a backend is still starting up: */ - BackendId backendId; /* This backend's backend ID (if assigned) */ Oid databaseId; /* OID of database this backend is using */ Oid roleId; /* OID of role using this backend */ @@ -281,7 +286,7 @@ struct PGPROC TransactionId clogGroupMemberXid; /* transaction id of clog group member */ XidStatus clogGroupMemberXidStatus; /* transaction status of clog * group member */ - int clogGroupMemberPage; /* clog page corresponding to + int64 clogGroupMemberPage; /* clog page corresponding to * transaction id of clog group member */ XLogRecPtr clogGroupMemberLsn; /* WAL location of commit record for clog * group member */ @@ -308,6 +313,19 @@ struct PGPROC extern PGDLLIMPORT PGPROC *MyProc; +/* Proc number of this backend. Equal to GetNumberFromPGProc(MyProc). */ +extern PGDLLIMPORT ProcNumber MyProcNumber; + +/* Our parallel session leader, or INVALID_PROC_NUMBER if none */ +extern PGDLLIMPORT ProcNumber ParallelLeaderProcNumber; + +/* + * The proc number to use for our session's temp relations is normally our own, + * but parallel workers should use their leader's ID. + */ +#define ProcNumberForTempRelations() \ + (ParallelLeaderProcNumber == INVALID_PROC_NUMBER ? MyProcNumber : ParallelLeaderProcNumber) + /* * There is one ProcGlobal struct for the whole database cluster. * @@ -410,24 +428,29 @@ extern PGDLLIMPORT PROC_HDR *ProcGlobal; extern PGDLLIMPORT PGPROC *PreparedXactProcs; -/* Accessor for PGPROC given a pgprocno. */ +/* + * Accessors for getting PGPROC given a ProcNumber and vice versa. + */ #define GetPGProcByNumber(n) (&ProcGlobal->allProcs[(n)]) +#define GetNumberFromPGProc(proc) ((proc) - &ProcGlobal->allProcs[0]) /* * We set aside some extra PGPROC structures for auxiliary processes, * ie things that aren't full-fledged backends but need shmem access. * - * Background writer, checkpointer, WAL writer and archiver run during normal - * operation. Startup process and WAL receiver also consume 2 slots, but WAL - * writer is launched only after startup has exited, so we only need 5 slots. + * Background writer, checkpointer, WAL writer, WAL summarizer, and archiver + * run during normal operation. Startup process and WAL receiver also consume + * 2 slots, but WAL writer is launched only after startup has exited, so we + * only need 6 slots. */ -#define NUM_AUXILIARY_PROCS 5 +#define NUM_AUXILIARY_PROCS 6 /* configurable options */ extern PGDLLIMPORT int DeadlockTimeout; extern PGDLLIMPORT int StatementTimeout; extern PGDLLIMPORT int LockTimeout; extern PGDLLIMPORT int IdleInTransactionSessionTimeout; +extern PGDLLIMPORT int TransactionTimeout; extern PGDLLIMPORT int IdleSessionTimeout; extern PGDLLIMPORT bool log_lock_waits; @@ -448,7 +471,9 @@ extern int GetStartupBufferPinWaitBufId(void); extern bool HaveNFreeProcs(int n, int *nfree); extern void ProcReleaseLocks(bool isCommit); -extern ProcWaitStatus ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable); +extern ProcWaitStatus ProcSleep(LOCALLOCK *locallock, + LockMethod lockMethodTable, + bool dontWait); extern void ProcWakeup(PGPROC *proc, ProcWaitStatus waitStatus); extern void ProcLockWakeup(LockMethod lockMethodTable, LOCK *lock); extern void CheckDeadLockAlert(void); @@ -456,7 +481,7 @@ extern bool IsWaitingForLock(void); extern void LockErrorCleanup(void); extern void ProcWaitForSignal(uint32 wait_event_info); -extern void ProcSendSignal(int pgprocno); +extern void ProcSendSignal(ProcNumber procNumber); extern PGPROC *AuxiliaryPidGetProc(int pid); diff --git a/parser/include/postgres/storage/procarray.h b/parser/include/postgres/storage/procarray.h index d8cae3ce..8ca60504 100644 --- a/parser/include/postgres/storage/procarray.h +++ b/parser/include/postgres/storage/procarray.h @@ -4,7 +4,7 @@ * POSTGRES process array definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/procarray.h @@ -64,6 +64,10 @@ extern VirtualTransactionId *GetVirtualXIDsDelayingChkpt(int *nvxids, int type); extern bool HaveVirtualXIDsDelayingChkpt(VirtualTransactionId *vxids, int nvxids, int type); +extern PGPROC *ProcNumberGetProc(int procNumber); +extern void ProcNumberGetTransactionIds(int procNumber, TransactionId *xid, + TransactionId *xmin, int *nsubxid, + bool *overflowed); extern PGPROC *BackendPidGetProc(int pid); extern PGPROC *BackendPidGetProcWithLock(int pid); extern int BackendXidGetPid(TransactionId xid); diff --git a/parser/include/postgres/storage/proclist_types.h b/parser/include/postgres/storage/proclist_types.h index 526c3ea6..a4fb88c1 100644 --- a/parser/include/postgres/storage/proclist_types.h +++ b/parser/include/postgres/storage/proclist_types.h @@ -5,7 +5,7 @@ * * See proclist.h for functions that operate on these types. * - * Portions Copyright (c) 2016-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/storage/proclist_types.h @@ -15,28 +15,30 @@ #ifndef PROCLIST_TYPES_H #define PROCLIST_TYPES_H +#include "storage/procnumber.h" + /* * A node in a doubly-linked list of processes. The link fields contain * the 0-based PGPROC indexes of the next and previous process, or - * INVALID_PGPROCNO in the next-link of the last node and the prev-link + * INVALID_PROC_NUMBER in the next-link of the last node and the prev-link * of the first node. A node that is currently not in any list * should have next == prev == 0; this is not a possible state for a node * that is in a list, because we disallow circularity. */ typedef struct proclist_node { - int next; /* pgprocno of the next PGPROC */ - int prev; /* pgprocno of the prev PGPROC */ + ProcNumber next; /* pgprocno of the next PGPROC */ + ProcNumber prev; /* pgprocno of the prev PGPROC */ } proclist_node; /* * Header of a doubly-linked list of PGPROCs, identified by pgprocno. - * An empty list is represented by head == tail == INVALID_PGPROCNO. + * An empty list is represented by head == tail == INVALID_PROC_NUMBER. */ typedef struct proclist_head { - int head; /* pgprocno of the head PGPROC */ - int tail; /* pgprocno of the tail PGPROC */ + ProcNumber head; /* pgprocno of the head PGPROC */ + ProcNumber tail; /* pgprocno of the tail PGPROC */ } proclist_head; /* @@ -44,8 +46,8 @@ typedef struct proclist_head */ typedef struct proclist_mutable_iter { - int cur; /* pgprocno of the current PGPROC */ - int next; /* pgprocno of the next PGPROC */ + ProcNumber cur; /* pgprocno of the current PGPROC */ + ProcNumber next; /* pgprocno of the next PGPROC */ } proclist_mutable_iter; #endif /* PROCLIST_TYPES_H */ diff --git a/parser/include/postgres/storage/procnumber.h b/parser/include/postgres/storage/procnumber.h new file mode 100644 index 00000000..49eb0e21 --- /dev/null +++ b/parser/include/postgres/storage/procnumber.h @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * procnumber.h + * definition of process number + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/procnumber.h + * + *------------------------------------------------------------------------- + */ +#ifndef PROCNUMBER_H +#define PROCNUMBER_H + +/* + * ProcNumber uniquely identifies an active backend or auxiliary process. + * It's assigned at backend startup after authentication, when the process + * adds itself to the proc array. It is an index into the proc array, + * starting from 0. Note that a ProcNumber can be reused for a different + * backend immediately after a backend exits. + */ +typedef int ProcNumber; + +#define INVALID_PROC_NUMBER (-1) + +/* + * Proc number of this backend (same as GetNumberFromPGProc(MyProc)) + */ +extern PGDLLIMPORT ProcNumber MyProcNumber; + +/* proc number of our parallel session leader, or INVALID_PROC_NUMBER if none */ +extern PGDLLIMPORT ProcNumber ParallelLeaderProcNumber; + +/* + * The ProcNumber to use for our session's temp relations is normally our own, + * but parallel workers should use their leader's proc number. + */ +#define ProcNumberForTempRelations() \ + (ParallelLeaderProcNumber == INVALID_PROC_NUMBER ? MyProcNumber : ParallelLeaderProcNumber) + +#endif /* PROCNUMBER_H */ diff --git a/parser/include/postgres/storage/procsignal.h b/parser/include/postgres/storage/procsignal.h index 2f52100b..7d290ea7 100644 --- a/parser/include/postgres/storage/procsignal.h +++ b/parser/include/postgres/storage/procsignal.h @@ -4,7 +4,7 @@ * Routines for interprocess signaling * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/procsignal.h @@ -14,7 +14,7 @@ #ifndef PROCSIGNAL_H #define PROCSIGNAL_H -#include "storage/backendid.h" +#include "storage/procnumber.h" /* @@ -38,20 +38,22 @@ typedef enum PROCSIG_PARALLEL_APPLY_MESSAGE, /* Message from parallel apply workers */ /* Recovery conflict reasons */ - PROCSIG_RECOVERY_CONFLICT_DATABASE, + PROCSIG_RECOVERY_CONFLICT_FIRST, + PROCSIG_RECOVERY_CONFLICT_DATABASE = PROCSIG_RECOVERY_CONFLICT_FIRST, PROCSIG_RECOVERY_CONFLICT_TABLESPACE, PROCSIG_RECOVERY_CONFLICT_LOCK, PROCSIG_RECOVERY_CONFLICT_SNAPSHOT, PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT, PROCSIG_RECOVERY_CONFLICT_BUFFERPIN, PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK, + PROCSIG_RECOVERY_CONFLICT_LAST = PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK, NUM_PROCSIGNALS /* Must be last! */ } ProcSignalReason; typedef enum { - PROCSIGNAL_BARRIER_SMGRRELEASE /* ask smgr to close files */ + PROCSIGNAL_BARRIER_SMGRRELEASE, /* ask smgr to close files */ } ProcSignalBarrierType; /* @@ -60,9 +62,9 @@ typedef enum extern Size ProcSignalShmemSize(void); extern void ProcSignalShmemInit(void); -extern void ProcSignalInit(int pss_idx); +extern void ProcSignalInit(void); extern int SendProcSignal(pid_t pid, ProcSignalReason reason, - BackendId backendId); + ProcNumber procNumber); extern uint64 EmitProcSignalBarrier(ProcSignalBarrierType type); extern void WaitForProcSignalBarrier(uint64 generation); diff --git a/parser/include/postgres/storage/read_stream.h b/parser/include/postgres/storage/read_stream.h new file mode 100644 index 00000000..7b9005e8 --- /dev/null +++ b/parser/include/postgres/storage/read_stream.h @@ -0,0 +1,65 @@ +/*------------------------------------------------------------------------- + * + * read_stream.h + * Mechanism for accessing buffered relation data with look-ahead + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/read_stream.h + * + *------------------------------------------------------------------------- + */ +#ifndef READ_STREAM_H +#define READ_STREAM_H + +#include "storage/bufmgr.h" + +/* Default tuning, reasonable for many users. */ +#define READ_STREAM_DEFAULT 0x00 + +/* + * I/O streams that are performing maintenance work on behalf of potentially + * many users, and thus should be governed by maintenance_io_concurrency + * instead of effective_io_concurrency. For example, VACUUM or CREATE INDEX. + */ +#define READ_STREAM_MAINTENANCE 0x01 + +/* + * We usually avoid issuing prefetch advice automatically when sequential + * access is detected, but this flag explicitly disables it, for cases that + * might not be correctly detected. Explicit advice is known to perform worse + * than letting the kernel (at least Linux) detect sequential access. + */ +#define READ_STREAM_SEQUENTIAL 0x02 + +/* + * We usually ramp up from smaller reads to larger ones, to support users who + * don't know if it's worth reading lots of buffers yet. This flag disables + * that, declaring ahead of time that we'll be reading all available buffers. + */ +#define READ_STREAM_FULL 0x04 + +struct ReadStream; +typedef struct ReadStream ReadStream; + +/* Callback that returns the next block number to read. */ +typedef BlockNumber (*ReadStreamBlockNumberCB) (ReadStream *stream, + void *callback_private_data, + void *per_buffer_data); + +extern ReadStream *read_stream_begin_relation(int flags, + BufferAccessStrategy strategy, + Relation rel, + ForkNumber forknum, + ReadStreamBlockNumberCB callback, + void *callback_private_data, + size_t per_buffer_data_size); +extern Buffer read_stream_next_buffer(ReadStream *stream, void **per_buffer_data); +extern BlockNumber read_stream_next_block(ReadStream *stream, + BufferAccessStrategy *strategy); +extern void read_stream_reset(ReadStream *stream); +extern void read_stream_end(ReadStream *stream); + +#endif /* READ_STREAM_H */ diff --git a/parser/include/postgres/storage/relfilelocator.h b/parser/include/postgres/storage/relfilelocator.h index 61cf0169..2f970a25 100644 --- a/parser/include/postgres/storage/relfilelocator.h +++ b/parser/include/postgres/storage/relfilelocator.h @@ -4,7 +4,7 @@ * Physical access information for relations. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/relfilelocator.h @@ -15,14 +15,15 @@ #define RELFILELOCATOR_H #include "common/relpath.h" -#include "storage/backendid.h" +#include "storage/procnumber.h" /* * RelFileLocator must provide all that we need to know to physically access - * a relation, with the exception of the backend ID, which can be provided - * separately. Note, however, that a "physical" relation is comprised of - * multiple files on the filesystem, as each fork is stored as a separate - * file, and each fork can be divided into multiple segments. See md.c. + * a relation, with the exception of the backend's proc number, which can be + * provided separately. Note, however, that a "physical" relation is + * comprised of multiple files on the filesystem, as each fork is stored as + * a separate file, and each fork can be divided into multiple segments. See + * md.c. * * spcOid identifies the tablespace of the relation. It corresponds to * pg_tablespace.oid. @@ -62,28 +63,28 @@ typedef struct RelFileLocator } RelFileLocator; /* - * Augmenting a relfilelocator with the backend ID provides all the information - * we need to locate the physical storage. The backend ID is InvalidBackendId - * for regular relations (those accessible to more than one backend), or the - * owning backend's ID for backend-local relations. Backend-local relations - * are always transient and removed in case of a database crash; they are - * never WAL-logged or fsync'd. + * Augmenting a relfilelocator with the backend's proc number provides all the + * information we need to locate the physical storage. 'backend' is + * INVALID_PROC_NUMBER for regular relations (those accessible to more than + * one backend), or the owning backend's proc number for backend-local + * relations. Backend-local relations are always transient and removed in + * case of a database crash; they are never WAL-logged or fsync'd. */ typedef struct RelFileLocatorBackend { RelFileLocator locator; - BackendId backend; + ProcNumber backend; } RelFileLocatorBackend; #define RelFileLocatorBackendIsTemp(rlocator) \ - ((rlocator).backend != InvalidBackendId) + ((rlocator).backend != INVALID_PROC_NUMBER) /* * Note: RelFileLocatorEquals and RelFileLocatorBackendEquals compare relNumber * first since that is most likely to be different in two unequal * RelFileLocators. It is probably redundant to compare spcOid if the other * fields are found equal, but do it anyway to be sure. Likewise for checking - * the backend ID in RelFileLocatorBackendEquals. + * the backend number in RelFileLocatorBackendEquals. */ #define RelFileLocatorEquals(locator1, locator2) \ ((locator1).relNumber == (locator2).relNumber && \ diff --git a/parser/include/postgres/storage/s_lock.h b/parser/include/postgres/storage/s_lock.h index c9fa84cc..29ac6cdc 100644 --- a/parser/include/postgres/storage/s_lock.h +++ b/parser/include/postgres/storage/s_lock.h @@ -86,7 +86,7 @@ * when using the SysV semaphore code. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/s_lock.h @@ -414,12 +414,6 @@ typedef unsigned int slock_t; * an isync is a sufficient synchronization barrier after a lwarx/stwcx loop. * But if the spinlock is in ordinary memory, we can use lwsync instead for * better performance. - * - * Ordinarily, we'd code the branches here using GNU-style local symbols, that - * is "1f" referencing "1:" and so on. But some people run gcc on AIX with - * IBM's assembler as backend, and IBM's assembler doesn't do local symbols. - * So hand-code the branch offsets; fortunately, all PPC instructions are - * exactly 4 bytes each, so it's not too hard to count. */ static __inline__ int tas(volatile slock_t *lock) @@ -430,15 +424,17 @@ tas(volatile slock_t *lock) __asm__ __volatile__( " lwarx %0,0,%3,1 \n" " cmpwi %0,0 \n" -" bne $+16 \n" /* branch to li %1,1 */ +" bne 1f \n" " addi %0,%0,1 \n" " stwcx. %0,0,%3 \n" -" beq $+12 \n" /* branch to lwsync */ +" beq 2f \n" +"1: \n" " li %1,1 \n" -" b $+12 \n" /* branch to end of asm sequence */ +" b 3f \n" +"2: \n" " lwsync \n" " li %1,0 \n" - +"3: \n" : "=&b"(_t), "=r"(_res), "+m"(*lock) : "r"(lock) : "memory", "cc"); @@ -666,21 +662,6 @@ tas(volatile slock_t *lock) #if !defined(HAS_TEST_AND_SET) /* We didn't trigger above, let's try here */ -#if defined(_AIX) /* AIX */ -/* - * AIX (POWER) - */ -#define HAS_TEST_AND_SET - -#include - -typedef int slock_t; - -#define TAS(lock) _check_lock((slock_t *) (lock), 0, 1) -#define S_UNLOCK(lock) _clear_lock((slock_t *) (lock), 0) -#endif /* _AIX */ - - /* These are in sunstudio_(sparc|x86).s */ #if defined(__SUNPRO_C) && (defined(__i386) || defined(__x86_64__) || defined(__sparc__) || defined(__sparc)) @@ -821,7 +802,6 @@ extern int tas(volatile slock_t *lock); /* in port/.../tas.s, or #define TAS_SPIN(lock) TAS(lock) #endif /* TAS_SPIN */ -extern PGDLLIMPORT slock_t dummy_spinlock; /* * Platform-independent out-of-line support routines diff --git a/parser/include/postgres/storage/sharedfileset.h b/parser/include/postgres/storage/sharedfileset.h index aa6f97f8..7186aba2 100644 --- a/parser/include/postgres/storage/sharedfileset.h +++ b/parser/include/postgres/storage/sharedfileset.h @@ -4,7 +4,7 @@ * Shared temporary file management. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sharedfileset.h diff --git a/parser/include/postgres/storage/shm_mq.h b/parser/include/postgres/storage/shm_mq.h index 2e04e418..80f63f4f 100644 --- a/parser/include/postgres/storage/shm_mq.h +++ b/parser/include/postgres/storage/shm_mq.h @@ -3,7 +3,7 @@ * shm_mq.h * single-reader, single-writer shared memory message queue * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shm_mq.h @@ -37,7 +37,7 @@ typedef enum { SHM_MQ_SUCCESS, /* Sent or received a message. */ SHM_MQ_WOULD_BLOCK, /* Not completed; retry later. */ - SHM_MQ_DETACHED /* Other process has detached queue. */ + SHM_MQ_DETACHED, /* Other process has detached queue. */ } shm_mq_result; /* diff --git a/parser/include/postgres/storage/shm_toc.h b/parser/include/postgres/storage/shm_toc.h index 7a2f8e99..a46470d6 100644 --- a/parser/include/postgres/storage/shm_toc.h +++ b/parser/include/postgres/storage/shm_toc.h @@ -12,7 +12,7 @@ * other data structure within the segment and only put the pointer to * the data structure itself in the table of contents. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shm_toc.h diff --git a/parser/include/postgres/storage/shmem.h b/parser/include/postgres/storage/shmem.h index 0e1fb200..3b0cc9d3 100644 --- a/parser/include/postgres/storage/shmem.h +++ b/parser/include/postgres/storage/shmem.h @@ -11,7 +11,7 @@ * at the same address. This means shared memory pointers can be passed * around directly between different processes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shmem.h diff --git a/parser/include/postgres/storage/sinval.h b/parser/include/postgres/storage/sinval.h index 0721e4d2..8f5744b2 100644 --- a/parser/include/postgres/storage/sinval.h +++ b/parser/include/postgres/storage/sinval.h @@ -4,7 +4,7 @@ * POSTGRES shared cache invalidation communication definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sinval.h @@ -88,8 +88,8 @@ typedef struct { /* note: field layout chosen to pack into 16 bytes */ int8 id; /* type field --- must be first */ - int8 backend_hi; /* high bits of backend ID, if temprel */ - uint16 backend_lo; /* low bits of backend ID, if temprel */ + int8 backend_hi; /* high bits of backend procno, if temprel */ + uint16 backend_lo; /* low bits of backend procno, if temprel */ RelFileLocator rlocator; /* spcOid, dbOid, relNumber */ } SharedInvalSmgrMsg; diff --git a/parser/include/postgres/storage/sinvaladt.h b/parser/include/postgres/storage/sinvaladt.h deleted file mode 100644 index db38819b..00000000 --- a/parser/include/postgres/storage/sinvaladt.h +++ /dev/null @@ -1,45 +0,0 @@ -/*------------------------------------------------------------------------- - * - * sinvaladt.h - * POSTGRES shared cache invalidation data manager. - * - * The shared cache invalidation manager is responsible for transmitting - * invalidation messages between backends. Any message sent by any backend - * must be delivered to all already-running backends before it can be - * forgotten. (If we run out of space, we instead deliver a "RESET" - * message to backends that have fallen too far behind.) - * - * The struct type SharedInvalidationMessage, defining the contents of - * a single message, is defined in sinval.h. - * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/sinvaladt.h - * - *------------------------------------------------------------------------- - */ -#ifndef SINVALADT_H -#define SINVALADT_H - -#include "storage/lock.h" -#include "storage/sinval.h" - -/* - * prototypes for functions in sinvaladt.c - */ -extern Size SInvalShmemSize(void); -extern void CreateSharedInvalidationState(void); -extern void SharedInvalBackendInit(bool sendOnly); -extern PGPROC *BackendIdGetProc(int backendID); -extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid, - TransactionId *xmin, int *nsubxid, - bool *overflowed); - -extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n); -extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize); -extern void SICleanupQueue(bool callerHasWriteLock, int minFree); - -extern LocalTransactionId GetNextLocalTransactionId(void); - -#endif /* SINVALADT_H */ diff --git a/parser/include/postgres/storage/smgr.h b/parser/include/postgres/storage/smgr.h index a9a179aa..e15b20a5 100644 --- a/parser/include/postgres/storage/smgr.h +++ b/parser/include/postgres/storage/smgr.h @@ -4,7 +4,7 @@ * storage manager switch public interface declarations. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/smgr.h @@ -21,29 +21,21 @@ /* * smgr.c maintains a table of SMgrRelation objects, which are essentially * cached file handles. An SMgrRelation is created (if not already present) - * by smgropen(), and destroyed by smgrclose(). Note that neither of these - * operations imply I/O, they just create or destroy a hashtable entry. - * (But smgrclose() may release associated resources, such as OS-level file + * by smgropen(), and destroyed by smgrdestroy(). Note that neither of these + * operations imply I/O, they just create or destroy a hashtable entry. (But + * smgrdestroy() may release associated resources, such as OS-level file * descriptors.) * - * An SMgrRelation may have an "owner", which is just a pointer to it from - * somewhere else; smgr.c will clear this pointer if the SMgrRelation is - * closed. We use this to avoid dangling pointers from relcache to smgr - * without having to make the smgr explicitly aware of relcache. There - * can't be more than one "owner" pointer per SMgrRelation, but that's - * all we need. - * - * SMgrRelations that do not have an "owner" are considered to be transient, - * and are deleted at end of transaction. + * An SMgrRelation may be "pinned", to prevent it from being destroyed while + * it's in use. We use this to prevent pointers relcache to smgr from being + * invalidated. SMgrRelations that are not pinned are deleted at end of + * transaction. */ typedef struct SMgrRelationData { /* rlocator is the hashtable lookup key, so it must be first! */ RelFileLocatorBackend smgr_rlocator; /* relation physical identifier */ - /* pointer to owning pointer, or NULL if none */ - struct SMgrRelationData **smgr_owner; - /* * The following fields are reset to InvalidBlockNumber upon a cache flush * event, and hold the last known size for each fork. This information is @@ -68,7 +60,11 @@ typedef struct SMgrRelationData int md_num_open_segs[MAX_FORKNUM + 1]; struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; - /* if unowned, list link in list of all unowned SMgrRelations */ + /* + * Pinning support. If unpinned (ie. pincount == 0), 'node' is a list + * link in list of all unpinned SMgrRelations. + */ + int pincount; dlist_node node; } SMgrRelationData; @@ -78,15 +74,15 @@ typedef SMgrRelationData *SMgrRelation; RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) extern void smgrinit(void); -extern SMgrRelation smgropen(RelFileLocator rlocator, BackendId backend); +extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend); extern bool smgrexists(SMgrRelation reln, ForkNumber forknum); -extern void smgrsetowner(SMgrRelation *owner, SMgrRelation reln); -extern void smgrclearowner(SMgrRelation *owner, SMgrRelation reln); +extern void smgrpin(SMgrRelation reln); +extern void smgrunpin(SMgrRelation reln); extern void smgrclose(SMgrRelation reln); -extern void smgrcloseall(void); -extern void smgrcloserellocator(RelFileLocatorBackend rlocator); +extern void smgrdestroyall(void); extern void smgrrelease(SMgrRelation reln); extern void smgrreleaseall(void); +extern void smgrreleaserellocator(RelFileLocatorBackend rlocator); extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo); extern void smgrdosyncall(SMgrRelation *rels, int nrels); extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo); @@ -95,11 +91,14 @@ extern void smgrextend(SMgrRelation reln, ForkNumber forknum, extern void smgrzeroextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, int nblocks, bool skipFsync); extern bool smgrprefetch(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum); -extern void smgrread(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, void *buffer); -extern void smgrwrite(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, const void *buffer, bool skipFsync); + BlockNumber blocknum, int nblocks); +extern void smgrreadv(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + void **buffers, BlockNumber nblocks); +extern void smgrwritev(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + const void **buffers, BlockNumber nblocks, + bool skipFsync); extern void smgrwriteback(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, BlockNumber nblocks); extern BlockNumber smgrnblocks(SMgrRelation reln, ForkNumber forknum); @@ -107,7 +106,22 @@ extern BlockNumber smgrnblocks_cached(SMgrRelation reln, ForkNumber forknum); extern void smgrtruncate(SMgrRelation reln, ForkNumber *forknum, int nforks, BlockNumber *nblocks); extern void smgrimmedsync(SMgrRelation reln, ForkNumber forknum); +extern void smgrregistersync(SMgrRelation reln, ForkNumber forknum); extern void AtEOXact_SMgr(void); extern bool ProcessBarrierSmgrRelease(void); +static inline void +smgrread(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + void *buffer) +{ + smgrreadv(reln, forknum, blocknum, &buffer, 1); +} + +static inline void +smgrwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + const void *buffer, bool skipFsync) +{ + smgrwritev(reln, forknum, blocknum, &buffer, 1, skipFsync); +} + #endif /* SMGR_H */ diff --git a/parser/include/postgres/storage/spin.h b/parser/include/postgres/storage/spin.h index 5d809cc9..c0679c59 100644 --- a/parser/include/postgres/storage/spin.h +++ b/parser/include/postgres/storage/spin.h @@ -41,7 +41,7 @@ * be again. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/spin.h diff --git a/parser/include/postgres/storage/standby.h b/parser/include/postgres/storage/standby.h index e8f50569..cce0bc52 100644 --- a/parser/include/postgres/storage/standby.h +++ b/parser/include/postgres/storage/standby.h @@ -4,7 +4,7 @@ * Definitions for hot standby mode. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/standby.h @@ -75,13 +75,23 @@ extern void StandbyReleaseOldLocks(TransactionId oldxid); * almost immediately see the data we need to begin executing queries. */ +typedef enum +{ + SUBXIDS_IN_ARRAY, /* xids array includes all running subxids */ + SUBXIDS_MISSING, /* snapshot overflowed, subxids are missing */ + SUBXIDS_IN_SUBTRANS, /* subxids are not included in 'xids', but + * pg_subtrans is fully up-to-date */ +} subxids_array_status; + typedef struct RunningTransactionsData { int xcnt; /* # of xact ids in xids[] */ int subxcnt; /* # of subxact ids in xids[] */ - bool subxid_overflow; /* snapshot overflowed, subxids missing */ - TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */ + subxids_array_status subxid_status; + TransactionId nextXid; /* xid from TransamVariables->nextXid */ TransactionId oldestRunningXid; /* *not* oldestXmin */ + TransactionId oldestDatabaseRunningXid; /* same as above, but within the + * current database */ TransactionId latestCompletedXid; /* so we can set xmax */ TransactionId *xids; /* array of (sub)xids still running */ diff --git a/parser/include/postgres/storage/standbydefs.h b/parser/include/postgres/storage/standbydefs.h index 188e3486..fe12f463 100644 --- a/parser/include/postgres/storage/standbydefs.h +++ b/parser/include/postgres/storage/standbydefs.h @@ -4,7 +4,7 @@ * Frontend exposed definitions for hot standby mode. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/standbydefs.h @@ -49,7 +49,7 @@ typedef struct xl_running_xacts int xcnt; /* # of xact ids in xids[] */ int subxcnt; /* # of subxact ids in xids[] */ bool subxid_overflow; /* snapshot overflowed, subxids missing */ - TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */ + TransactionId nextXid; /* xid from TransamVariables->nextXid */ TransactionId oldestRunningXid; /* *not* oldestXmin */ TransactionId latestCompletedXid; /* so we can set xmax */ diff --git a/parser/include/postgres/storage/sync.h b/parser/include/postgres/storage/sync.h index cfbcfa67..9dee8fa6 100644 --- a/parser/include/postgres/storage/sync.h +++ b/parser/include/postgres/storage/sync.h @@ -3,7 +3,7 @@ * sync.h * File synchronization management code. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sync.h @@ -25,7 +25,7 @@ typedef enum SyncRequestType SYNC_REQUEST, /* schedule a call of sync function */ SYNC_UNLINK_REQUEST, /* schedule a call of unlink function */ SYNC_FORGET_REQUEST, /* forget all calls for a tag */ - SYNC_FILTER_REQUEST /* forget all calls satisfying match fn */ + SYNC_FILTER_REQUEST, /* forget all calls satisfying match fn */ } SyncRequestType; /* @@ -39,7 +39,7 @@ typedef enum SyncRequestHandler SYNC_HANDLER_COMMIT_TS, SYNC_HANDLER_MULTIXACT_OFFSET, SYNC_HANDLER_MULTIXACT_MEMBER, - SYNC_HANDLER_NONE + SYNC_HANDLER_NONE, } SyncRequestHandler; /* @@ -52,7 +52,7 @@ typedef struct FileTag int16 handler; /* SyncRequestHandler value, saving space */ int16 forknum; /* ForkNumber, saving space */ RelFileLocator rlocator; - uint32 segno; + uint64 segno; } FileTag; extern void InitSync(void); diff --git a/parser/include/postgres/tcop/cmdtag.h b/parser/include/postgres/tcop/cmdtag.h index 1e7514dc..23c99d7e 100644 --- a/parser/include/postgres/tcop/cmdtag.h +++ b/parser/include/postgres/tcop/cmdtag.h @@ -3,7 +3,7 @@ * cmdtag.h * Declarations for commandtag names and enumeration. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/cmdtag.h @@ -22,7 +22,6 @@ typedef enum CommandTag { #include "tcop/cmdtaglist.h" - COMMAND_TAG_NEXTTAG } CommandTag; #undef PG_CMDTAG diff --git a/parser/include/postgres/tcop/cmdtaglist.h b/parser/include/postgres/tcop/cmdtaglist.h index e738ac1c..7fdcec6d 100644 --- a/parser/include/postgres/tcop/cmdtaglist.h +++ b/parser/include/postgres/tcop/cmdtaglist.h @@ -8,7 +8,7 @@ * determined by the PG_CMDTAG macro, which is not defined in this file; * it can be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/cmdtaglist.h @@ -186,6 +186,7 @@ PG_CMDTAG(CMDTAG_INSERT, "INSERT", false, false, true) PG_CMDTAG(CMDTAG_LISTEN, "LISTEN", false, false, false) PG_CMDTAG(CMDTAG_LOAD, "LOAD", false, false, false) PG_CMDTAG(CMDTAG_LOCK_TABLE, "LOCK TABLE", false, false, false) +PG_CMDTAG(CMDTAG_LOGIN, "LOGIN", true, false, false) PG_CMDTAG(CMDTAG_MERGE, "MERGE", false, false, true) PG_CMDTAG(CMDTAG_MOVE, "MOVE", false, false, true) PG_CMDTAG(CMDTAG_NOTIFY, "NOTIFY", false, false, false) @@ -193,7 +194,7 @@ PG_CMDTAG(CMDTAG_PREPARE, "PREPARE", false, false, false) PG_CMDTAG(CMDTAG_PREPARE_TRANSACTION, "PREPARE TRANSACTION", false, false, false) PG_CMDTAG(CMDTAG_REASSIGN_OWNED, "REASSIGN OWNED", false, false, false) PG_CMDTAG(CMDTAG_REFRESH_MATERIALIZED_VIEW, "REFRESH MATERIALIZED VIEW", true, false, false) -PG_CMDTAG(CMDTAG_REINDEX, "REINDEX", false, false, false) +PG_CMDTAG(CMDTAG_REINDEX, "REINDEX", true, false, false) PG_CMDTAG(CMDTAG_RELEASE, "RELEASE", false, false, false) PG_CMDTAG(CMDTAG_RESET, "RESET", false, false, false) PG_CMDTAG(CMDTAG_REVOKE, "REVOKE", true, false, false) diff --git a/parser/include/postgres/tcop/deparse_utility.h b/parser/include/postgres/tcop/deparse_utility.h index b585810b..bb943421 100644 --- a/parser/include/postgres/tcop/deparse_utility.h +++ b/parser/include/postgres/tcop/deparse_utility.h @@ -2,7 +2,7 @@ * * deparse_utility.h * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/deparse_utility.h @@ -29,7 +29,7 @@ typedef enum CollectedCommandType SCT_AlterOpFamily, SCT_AlterDefaultPrivileges, SCT_CreateOpClass, - SCT_AlterTSConfig + SCT_AlterTSConfig, } CollectedCommandType; /* diff --git a/parser/include/postgres/tcop/dest.h b/parser/include/postgres/tcop/dest.h index a7d86e7a..a3d521b6 100644 --- a/parser/include/postgres/tcop/dest.h +++ b/parser/include/postgres/tcop/dest.h @@ -57,7 +57,7 @@ * calls in portal and cursor manipulations. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/dest.h @@ -95,7 +95,8 @@ typedef enum DestCopyOut, /* results sent to COPY TO code */ DestSQLFunction, /* results sent to SQL-language func mgr */ DestTransientRel, /* results sent to transient relation */ - DestTupleQueue /* results sent to tuple queue */ + DestTupleQueue, /* results sent to tuple queue */ + DestExplainSerialize, /* results are serialized and discarded */ } CommandDest; /* ---------------- diff --git a/parser/include/postgres/tcop/fastpath.h b/parser/include/postgres/tcop/fastpath.h index 9d57f79d..da0bd715 100644 --- a/parser/include/postgres/tcop/fastpath.h +++ b/parser/include/postgres/tcop/fastpath.h @@ -3,7 +3,7 @@ * fastpath.h * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/fastpath.h diff --git a/parser/include/postgres/tcop/pquery.h b/parser/include/postgres/tcop/pquery.h index a5e65b98..073fb323 100644 --- a/parser/include/postgres/tcop/pquery.h +++ b/parser/include/postgres/tcop/pquery.h @@ -4,7 +4,7 @@ * prototypes for pquery.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/pquery.h diff --git a/parser/include/postgres/tcop/tcopprot.h b/parser/include/postgres/tcop/tcopprot.h index 3976568b..8ddbc7bb 100644 --- a/parser/include/postgres/tcop/tcopprot.h +++ b/parser/include/postgres/tcop/tcopprot.h @@ -4,7 +4,7 @@ * prototypes for postgres.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/tcopprot.h @@ -15,7 +15,6 @@ #define TCOPPROT_H #include "nodes/params.h" -#include "nodes/parsenodes.h" #include "nodes/plannodes.h" #include "storage/procsignal.h" #include "utils/guc.h" @@ -38,11 +37,17 @@ typedef enum LOGSTMT_NONE, /* log no statements */ LOGSTMT_DDL, /* log data definition statements */ LOGSTMT_MOD, /* log modification statements, plus DDL */ - LOGSTMT_ALL /* log all statements */ + LOGSTMT_ALL, /* log all statements */ } LogStmtLevel; extern PGDLLIMPORT int log_statement; +/* Flags for restrict_nonsystem_relation_kind value */ +#define RESTRICT_RELKIND_VIEW 0x01 +#define RESTRICT_RELKIND_FOREIGN_TABLE 0x02 + +extern PGDLLIMPORT int restrict_nonsystem_relation_kind; + extern List *pg_parse_query(const char *query_string); extern List *pg_rewrite_query(Query *query); extern List *pg_analyze_and_rewrite_fixedparams(RawStmt *parsetree, @@ -70,8 +75,7 @@ extern void die(SIGNAL_ARGS); extern void quickdie(SIGNAL_ARGS) pg_attribute_noreturn(); extern void StatementCancelHandler(SIGNAL_ARGS); extern void FloatExceptionHandler(SIGNAL_ARGS) pg_attribute_noreturn(); -extern void RecoveryConflictInterrupt(ProcSignalReason reason); /* called from SIGUSR1 - * handler */ +extern void HandleRecoveryConflictInterrupt(ProcSignalReason reason); extern void ProcessClientReadInterrupt(bool blocked); extern void ProcessClientWriteInterrupt(bool blocked); diff --git a/parser/include/postgres/tcop/utility.h b/parser/include/postgres/tcop/utility.h index 59e64aea..9aa1de38 100644 --- a/parser/include/postgres/tcop/utility.h +++ b/parser/include/postgres/tcop/utility.h @@ -4,7 +4,7 @@ * prototypes for utility.c. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/utility.h @@ -23,7 +23,7 @@ typedef enum PROCESS_UTILITY_QUERY, /* a complete query, but not toplevel */ PROCESS_UTILITY_QUERY_NONATOMIC, /* a complete query, nonatomic * execution context */ - PROCESS_UTILITY_SUBCOMMAND /* a portion of a query */ + PROCESS_UTILITY_SUBCOMMAND, /* a portion of a query */ } ProcessUtilityContext; /* Info needed when recursing from ALTER TABLE */ diff --git a/parser/include/postgres/tsearch/ts_cache.h b/parser/include/postgres/tsearch/ts_cache.h index d432bd0a..2f8fcd4e 100644 --- a/parser/include/postgres/tsearch/ts_cache.h +++ b/parser/include/postgres/tsearch/ts_cache.h @@ -3,7 +3,7 @@ * ts_cache.h * Tsearch related object caches. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tsearch/ts_cache.h diff --git a/parser/include/postgres/utils/acl.h b/parser/include/postgres/utils/acl.h index aba1afa9..731d84b2 100644 --- a/parser/include/postgres/utils/acl.h +++ b/parser/include/postgres/utils/acl.h @@ -4,7 +4,7 @@ * Definition of (and support for) access control list data structures. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/acl.h @@ -148,15 +148,16 @@ typedef struct ArrayType Acl; #define ACL_CONNECT_CHR 'c' #define ACL_SET_CHR 's' #define ACL_ALTER_SYSTEM_CHR 'A' +#define ACL_MAINTAIN_CHR 'm' /* string holding all privilege code chars, in order by bitmask position */ -#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsA" +#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsAm" /* * Bitmasks defining "all rights" for each supported object type */ #define ACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES) -#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER) +#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER|ACL_MAINTAIN) #define ACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE) #define ACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT) #define ACL_ALL_RIGHTS_FDW (ACL_USAGE) @@ -173,7 +174,7 @@ typedef struct ArrayType Acl; typedef enum { ACLMASK_ALL, /* normal case: compute all bits */ - ACLMASK_ANY /* return when result is known nonzero */ + ACLMASK_ANY, /* return when result is known nonzero */ } AclMaskHow; /* result codes for pg_*_aclcheck */ @@ -181,7 +182,7 @@ typedef enum { ACLCHECK_OK = 0, ACLCHECK_NO_PRIV, - ACLCHECK_NOT_OWNER + ACLCHECK_NOT_OWNER, } AclResult; @@ -239,8 +240,12 @@ extern void RemoveRoleFromObjectACL(Oid roleid, Oid classid, Oid objid); extern AclMode pg_class_aclmask(Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how); -/* generic function */ -extern AclResult object_aclcheck(Oid classid, Oid objectid, Oid roleid, AclMode mode); +/* generic functions */ +extern AclResult object_aclcheck(Oid classid, Oid objectid, + Oid roleid, AclMode mode); +extern AclResult object_aclcheck_ext(Oid classid, Oid objectid, + Oid roleid, AclMode mode, + bool *is_missing); /* special cases */ extern AclResult pg_attribute_aclcheck(Oid table_oid, AttrNumber attnum, @@ -250,6 +255,9 @@ extern AclResult pg_attribute_aclcheck_ext(Oid table_oid, AttrNumber attnum, bool *is_missing); extern AclResult pg_attribute_aclcheck_all(Oid table_oid, Oid roleid, AclMode mode, AclMaskHow how); +extern AclResult pg_attribute_aclcheck_all_ext(Oid table_oid, Oid roleid, + AclMode mode, AclMaskHow how, + bool *is_missing); extern AclResult pg_class_aclcheck(Oid table_oid, Oid roleid, AclMode mode); extern AclResult pg_class_aclcheck_ext(Oid table_oid, Oid roleid, AclMode mode, bool *is_missing); @@ -268,6 +276,10 @@ extern void aclcheck_error_type(AclResult aclerr, Oid typeOid); extern void recordExtObjInitPriv(Oid objoid, Oid classoid); extern void removeExtObjInitPriv(Oid objoid, Oid classoid); +extern void ReplaceRoleInInitPriv(Oid oldroleid, Oid newroleid, + Oid classid, Oid objid, int32 objsubid); +extern void RemoveRoleFromInitPriv(Oid roleid, + Oid classid, Oid objid, int32 objsubid); /* ownercheck routines just return true (owner) or false (not) */ diff --git a/parser/include/postgres/utils/aclchk_internal.h b/parser/include/postgres/utils/aclchk_internal.h index 55af624f..11cd87dd 100644 --- a/parser/include/postgres/utils/aclchk_internal.h +++ b/parser/include/postgres/utils/aclchk_internal.h @@ -2,7 +2,7 @@ * * aclchk_internal.h * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/aclchk_internal.h diff --git a/parser/include/postgres/utils/array.h b/parser/include/postgres/utils/array.h index e6c8d88d..157cc0e4 100644 --- a/parser/include/postgres/utils/array.h +++ b/parser/include/postgres/utils/array.h @@ -51,7 +51,7 @@ * arrays holding the elements. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/array.h @@ -455,7 +455,6 @@ extern void array_free_iterator(ArrayIterator iterator); */ extern int ArrayGetOffset(int n, const int *dim, const int *lb, const int *indx); -extern int ArrayGetOffset0(int n, const int *tup, const int *scale); extern int ArrayGetNItems(int ndim, const int *dims); extern int ArrayGetNItemsSafe(int ndim, const int *dims, struct Node *escontext); diff --git a/parser/include/postgres/utils/ascii.h b/parser/include/postgres/utils/ascii.h new file mode 100644 index 00000000..863f0f7e --- /dev/null +++ b/parser/include/postgres/utils/ascii.h @@ -0,0 +1,84 @@ +/*----------------------------------------------------------------------- + * ascii.h + * + * Portions Copyright (c) 1999-2024, PostgreSQL Global Development Group + * + * src/include/utils/ascii.h + * + *----------------------------------------------------------------------- + */ + +#ifndef _ASCII_H_ +#define _ASCII_H_ + +#include "port/simd.h" + +extern void ascii_safe_strlcpy(char *dest, const char *src, size_t destsiz); + +/* + * Verify a chunk of bytes for valid ASCII. + * + * Returns false if the input contains any zero bytes or bytes with the + * high-bit set. Input len must be a multiple of the chunk size (8 or 16). + */ +static inline bool +is_valid_ascii(const unsigned char *s, int len) +{ + const unsigned char *const s_end = s + len; + Vector8 chunk; + Vector8 highbit_cum = vector8_broadcast(0); +#ifdef USE_NO_SIMD + Vector8 zero_cum = vector8_broadcast(0x80); +#endif + + Assert(len % sizeof(chunk) == 0); + + while (s < s_end) + { + vector8_load(&chunk, s); + + /* Capture any zero bytes in this chunk. */ +#ifdef USE_NO_SIMD + + /* + * First, add 0x7f to each byte. This sets the high bit in each byte, + * unless it was a zero. If any resulting high bits are zero, the + * corresponding high bits in the zero accumulator will be cleared. + * + * If none of the bytes in the chunk had the high bit set, the max + * value each byte can have after the addition is 0x7f + 0x7f = 0xfe, + * and we don't need to worry about carrying over to the next byte. If + * any input bytes did have the high bit set, it doesn't matter + * because we check for those separately. + */ + zero_cum &= (chunk + vector8_broadcast(0x7F)); +#else + + /* + * Set all bits in each lane of the highbit accumulator where input + * bytes are zero. + */ + highbit_cum = vector8_or(highbit_cum, + vector8_eq(chunk, vector8_broadcast(0))); +#endif + + /* Capture all set bits in this chunk. */ + highbit_cum = vector8_or(highbit_cum, chunk); + + s += sizeof(chunk); + } + + /* Check if any high bits in the high bit accumulator got set. */ + if (vector8_is_highbit_set(highbit_cum)) + return false; + +#ifdef USE_NO_SIMD + /* Check if any high bits in the zero accumulator got cleared. */ + if (zero_cum != vector8_broadcast(0x80)) + return false; +#endif + + return true; +} + +#endif /* _ASCII_H_ */ diff --git a/parser/include/postgres/utils/backend_progress.h b/parser/include/postgres/utils/backend_progress.h index a84752ad..7b63d38f 100644 --- a/parser/include/postgres/utils/backend_progress.h +++ b/parser/include/postgres/utils/backend_progress.h @@ -6,7 +6,7 @@ * backend's command progress counters, without ascribing meaning to the * individual fields. See commands/progress.h and system_views.sql for that. * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/backend_progress.h * ---------- @@ -27,7 +27,7 @@ typedef enum ProgressCommandType PROGRESS_COMMAND_CLUSTER, PROGRESS_COMMAND_CREATE_INDEX, PROGRESS_COMMAND_BASEBACKUP, - PROGRESS_COMMAND_COPY + PROGRESS_COMMAND_COPY, } ProgressCommandType; #define PGSTAT_NUM_PROGRESS_PARAM 20 @@ -37,6 +37,7 @@ extern void pgstat_progress_start_command(ProgressCommandType cmdtype, Oid relid); extern void pgstat_progress_update_param(int index, int64 val); extern void pgstat_progress_incr_param(int index, int64 incr); +extern void pgstat_progress_parallel_incr_param(int index, int64 incr); extern void pgstat_progress_update_multi_param(int nparam, const int *index, const int64 *val); extern void pgstat_progress_end_command(void); diff --git a/parser/include/postgres/utils/backend_status.h b/parser/include/postgres/utils/backend_status.h index d51c840d..7b7f6f59 100644 --- a/parser/include/postgres/utils/backend_status.h +++ b/parser/include/postgres/utils/backend_status.h @@ -2,7 +2,7 @@ * backend_status.h * Definitions related to backend status reporting * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/backend_status.h * ---------- @@ -13,7 +13,7 @@ #include "datatype/timestamp.h" #include "libpq/pqcomm.h" #include "miscadmin.h" /* for BackendType */ -#include "storage/backendid.h" +#include "storage/procnumber.h" #include "utils/backend_progress.h" @@ -29,7 +29,7 @@ typedef enum BackendState STATE_IDLEINTRANSACTION, STATE_FASTPATH, STATE_IDLEINTRANSACTION_ABORTED, - STATE_DISABLED + STATE_DISABLED, } BackendState; @@ -87,7 +87,7 @@ typedef struct PgBackendGSSStatus * * Each live backend maintains a PgBackendStatus struct in shared memory * showing its current activity. (The structs are allocated according to - * BackendId, but that is not critical.) Note that this is unrelated to the + * ProcNumber, but that is not critical.) Note that this is unrelated to the * cumulative stats system (i.e. pgstat.c et al). * * Each auxiliary process also maintains a PgBackendStatus struct in shared @@ -250,11 +250,9 @@ typedef struct LocalPgBackendStatus PgBackendStatus backendStatus; /* - * The backend ID. For auxiliary processes, this will be set to a value - * greater than MaxBackends (since auxiliary processes do not have proper - * backend IDs). + * The proc number. */ - BackendId backend_id; + ProcNumber proc_number; /* * The xid of the current transaction if available, InvalidTransactionId @@ -333,8 +331,8 @@ extern uint64 pgstat_get_my_query_id(void); * ---------- */ extern int pgstat_fetch_stat_numbackends(void); -extern PgBackendStatus *pgstat_get_beentry_by_backend_id(BackendId beid); -extern LocalPgBackendStatus *pgstat_get_local_beentry_by_backend_id(BackendId beid); +extern PgBackendStatus *pgstat_get_beentry_by_proc_number(ProcNumber procNumber); +extern LocalPgBackendStatus *pgstat_get_local_beentry_by_proc_number(ProcNumber procNumber); extern LocalPgBackendStatus *pgstat_get_local_beentry_by_index(int idx); extern char *pgstat_clip_activity(const char *raw_activity); diff --git a/parser/include/postgres/utils/builtins.h b/parser/include/postgres/utils/builtins.h index 864e902f..2a5f7755 100644 --- a/parser/include/postgres/utils/builtins.h +++ b/parser/include/postgres/utils/builtins.h @@ -4,7 +4,7 @@ * Declarations for operations on built-in types. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/builtins.h @@ -28,6 +28,9 @@ extern bool parse_bool_with_len(const char *value, size_t len, bool *result); /* domains.c */ extern void domain_check(Datum value, bool isnull, Oid domainType, void **extra, MemoryContext mcxt); +extern bool domain_check_safe(Datum value, bool isnull, Oid domainType, + void **extra, MemoryContext mcxt, + Node *escontext); extern int errdatatype(Oid datatypeOid); extern int errdomainconstraint(Oid datatypeOid, const char *conname); diff --git a/parser/include/postgres/utils/bytea.h b/parser/include/postgres/utils/bytea.h index 166dd036..dcc55d87 100644 --- a/parser/include/postgres/utils/bytea.h +++ b/parser/include/postgres/utils/bytea.h @@ -4,7 +4,7 @@ * Declarations for BYTEA data type support. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/bytea.h @@ -19,7 +19,7 @@ typedef enum { BYTEA_OUTPUT_ESCAPE, - BYTEA_OUTPUT_HEX + BYTEA_OUTPUT_HEX, } ByteaOutputType; extern PGDLLIMPORT int bytea_output; /* ByteaOutputType, but int for GUC diff --git a/parser/include/postgres/utils/catcache.h b/parser/include/postgres/utils/catcache.h index af0b3418..3fb9647b 100644 --- a/parser/include/postgres/utils/catcache.h +++ b/parser/include/postgres/utils/catcache.h @@ -10,7 +10,7 @@ * guarantee that there can only be one matching row for a key combination. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/catcache.h @@ -51,9 +51,11 @@ typedef struct catcache CCFastEqualFN cc_fastequal[CATCACHE_MAXKEYS]; /* fast equal function for * each key */ int cc_keyno[CATCACHE_MAXKEYS]; /* AttrNumber of each key */ - dlist_head cc_lists; /* list of CatCList structs */ - int cc_ntup; /* # of tuples currently in this cache */ int cc_nkeys; /* # of keys (1..CATCACHE_MAXKEYS) */ + int cc_ntup; /* # of tuples currently in this cache */ + int cc_nlist; /* # of CatCLists currently in this cache */ + int cc_nlbuckets; /* # of CatCList hash buckets in this cache */ + dlist_head *cc_lbucket; /* hash buckets for CatCLists */ const char *cc_relname; /* name of relation the tuples come from */ Oid cc_reloid; /* OID of relation the tuples come from */ Oid cc_indexoid; /* OID of index matching cache keys */ @@ -225,7 +227,4 @@ extern void PrepareToInvalidateCacheTuple(Relation relation, HeapTuple newtuple, void (*function) (int, uint32, Oid)); -extern void PrintCatCacheLeakWarning(HeapTuple tuple); -extern void PrintCatCacheListLeakWarning(CatCList *list); - #endif /* CATCACHE_H */ diff --git a/parser/include/postgres/utils/date.h b/parser/include/postgres/utils/date.h index 97e1a021..aaed6471 100644 --- a/parser/include/postgres/utils/date.h +++ b/parser/include/postgres/utils/date.h @@ -4,7 +4,7 @@ * Definitions for the SQL "date" and "time" types. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/date.h diff --git a/parser/include/postgres/utils/datetime.h b/parser/include/postgres/utils/datetime.h index a871e322..e4ac2b8e 100644 --- a/parser/include/postgres/utils/datetime.h +++ b/parser/include/postgres/utils/datetime.h @@ -6,7 +6,7 @@ * including date, and time. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/datetime.h @@ -348,6 +348,9 @@ extern int DecodeUnits(int field, const char *lowtoken, int *val); extern int DecodeTimezoneName(const char *tzname, int *offset, pg_tz **tz); extern pg_tz *DecodeTimezoneNameToTz(const char *tzname); +extern int DecodeTimezoneAbbrevPrefix(const char *str, + int *offset, pg_tz **tz); + extern int j2day(int date); extern struct Node *TemporalSimplify(int32 max_precis, struct Node *node); diff --git a/parser/include/postgres/utils/datum.h b/parser/include/postgres/utils/datum.h index 70a47f33..8e3728f1 100644 --- a/parser/include/postgres/utils/datum.h +++ b/parser/include/postgres/utils/datum.h @@ -8,7 +8,7 @@ * of the Datum. (We do it this way because in most situations the caller * can look up the info just once and use it for many per-datum operations.) * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/datum.h diff --git a/parser/include/postgres/utils/dsa.h b/parser/include/postgres/utils/dsa.h index 3ce4ee30..8dff964b 100644 --- a/parser/include/postgres/utils/dsa.h +++ b/parser/include/postgres/utils/dsa.h @@ -3,7 +3,7 @@ * dsa.h * Dynamic shared memory areas. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -77,6 +77,31 @@ typedef pg_atomic_uint64 dsa_pointer_atomic; /* A sentinel value for dsa_pointer used to indicate failure to allocate. */ #define InvalidDsaPointer ((dsa_pointer) 0) +/* + * The number of bits used to represent the offset part of a dsa_pointer. + * This controls the maximum size of a segment, the maximum possible + * allocation size and also the maximum number of segments per area. + */ +#if SIZEOF_DSA_POINTER == 4 +#define DSA_OFFSET_WIDTH 27 /* 32 segments of size up to 128MB */ +#else +#define DSA_OFFSET_WIDTH 40 /* 1024 segments of size up to 1TB */ +#endif + +/* + * The default size of the initial DSM segment that backs a dsa_area created + * by dsa_create. After creating some number of segments of the initial size + * we'll double this size, and so on. Larger segments may be created if + * necessary to satisfy large requests. + */ +#define DSA_DEFAULT_INIT_SEGMENT_SIZE ((size_t) (1 * 1024 * 1024)) + +/* The minimum size of a DSM segment. */ +#define DSA_MIN_SEGMENT_SIZE ((size_t) (256 * 1024L)) + +/* The maximum size of a DSM segment. */ +#define DSA_MAX_SEGMENT_SIZE ((size_t) 1 << DSA_OFFSET_WIDTH) + /* Check if a dsa_pointer value is valid. */ #define DsaPointerIsValid(x) ((x) != InvalidDsaPointer) @@ -88,6 +113,17 @@ typedef pg_atomic_uint64 dsa_pointer_atomic; #define dsa_allocate0(area, size) \ dsa_allocate_extended(area, size, DSA_ALLOC_ZERO) +/* Create dsa_area with default segment sizes */ +#define dsa_create(tranch_id) \ + dsa_create_ext(tranch_id, DSA_DEFAULT_INIT_SEGMENT_SIZE, \ + DSA_MAX_SEGMENT_SIZE) + +/* Create dsa_area with default segment sizes in an existing share memory space */ +#define dsa_create_in_place(place, size, tranch_id, segment) \ + dsa_create_in_place_ext(place, size, tranch_id, segment, \ + DSA_DEFAULT_INIT_SEGMENT_SIZE, \ + DSA_MAX_SEGMENT_SIZE) + /* * The type used for dsa_area handles. dsa_handle values can be shared with * other processes, so that they can attach to them. This provides a way to @@ -102,10 +138,12 @@ typedef dsm_handle dsa_handle; /* Sentinel value to use for invalid dsa_handles. */ #define DSA_HANDLE_INVALID ((dsa_handle) DSM_HANDLE_INVALID) - -extern dsa_area *dsa_create(int tranche_id); -extern dsa_area *dsa_create_in_place(void *place, size_t size, - int tranche_id, dsm_segment *segment); +extern dsa_area *dsa_create_ext(int tranche_id, size_t init_segment_size, + size_t max_segment_size); +extern dsa_area *dsa_create_in_place_ext(void *place, size_t size, + int tranche_id, dsm_segment *segment, + size_t init_segment_size, + size_t max_segment_size); extern dsa_area *dsa_attach(dsa_handle handle); extern dsa_area *dsa_attach_in_place(void *place, dsm_segment *segment); extern void dsa_release_in_place(void *place); @@ -121,6 +159,7 @@ extern dsa_handle dsa_get_handle(dsa_area *area); extern dsa_pointer dsa_allocate_extended(dsa_area *area, size_t size, int flags); extern void dsa_free(dsa_area *area, dsa_pointer dp); extern void *dsa_get_address(dsa_area *area, dsa_pointer dp); +extern size_t dsa_get_total_size(dsa_area *area); extern void dsa_trim(dsa_area *area); extern void dsa_dump(dsa_area *area); diff --git a/parser/include/postgres/utils/elog.h b/parser/include/postgres/utils/elog.h index 7655196c..60dca028 100644 --- a/parser/include/postgres/utils/elog.h +++ b/parser/include/postgres/utils/elog.h @@ -4,7 +4,7 @@ * POSTGRES error reporting/logging definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/elog.h @@ -226,6 +226,7 @@ extern int internalerrquery(const char *query); extern int err_generic_string(int field, const char *str); extern int geterrcode(void); +extern int geterrlevel(void); extern int geterrposition(void); extern int getinternalerrposition(void); @@ -492,7 +493,7 @@ typedef enum { PGERROR_TERSE, /* single-line error messages */ PGERROR_DEFAULT, /* recommended style */ - PGERROR_VERBOSE /* all the facts, ma'am */ + PGERROR_VERBOSE, /* all the facts, ma'am */ } PGErrorVerbosity; extern PGDLLIMPORT int Log_error_verbosity; @@ -536,10 +537,4 @@ extern void write_jsonlog(ErrorData *edata); */ extern void write_stderr(const char *fmt,...) pg_attribute_printf(1, 2); -/* - * Write a message to STDERR using only async-signal-safe functions. This can - * be used to safely emit a message from a signal handler. - */ -extern void write_stderr_signal_safe(const char *fmt); - #endif /* ELOG_H */ diff --git a/parser/include/postgres/utils/errcodes.h b/parser/include/postgres/utils/errcodes.h index a2f604c2..8f86feb4 100644 --- a/parser/include/postgres/utils/errcodes.h +++ b/parser/include/postgres/utils/errcodes.h @@ -157,6 +157,7 @@ #define ERRCODE_NO_ACTIVE_SQL_TRANSACTION MAKE_SQLSTATE('2','5','P','0','1') #define ERRCODE_IN_FAILED_SQL_TRANSACTION MAKE_SQLSTATE('2','5','P','0','2') #define ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT MAKE_SQLSTATE('2','5','P','0','3') +#define ERRCODE_TRANSACTION_TIMEOUT MAKE_SQLSTATE('2','5','P','0','4') /* Class 26 - Invalid SQL Statement Name */ #define ERRCODE_INVALID_SQL_STATEMENT_NAME MAKE_SQLSTATE('2','6','0','0','0') @@ -305,9 +306,6 @@ #define ERRCODE_UNDEFINED_FILE MAKE_SQLSTATE('5','8','P','0','1') #define ERRCODE_DUPLICATE_FILE MAKE_SQLSTATE('5','8','P','0','2') -/* Class 72 - Snapshot Failure */ -#define ERRCODE_SNAPSHOT_TOO_OLD MAKE_SQLSTATE('7','2','0','0','0') - /* Class F0 - Configuration File Error */ #define ERRCODE_CONFIG_FILE_ERROR MAKE_SQLSTATE('F','0','0','0','0') #define ERRCODE_LOCK_FILE_EXISTS MAKE_SQLSTATE('F','0','0','0','1') diff --git a/parser/include/postgres/utils/expandeddatum.h b/parser/include/postgres/utils/expandeddatum.h index a77bb7e7..4a6637da 100644 --- a/parser/include/postgres/utils/expandeddatum.h +++ b/parser/include/postgres/utils/expandeddatum.h @@ -34,7 +34,7 @@ * value if they fail partway through. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/expandeddatum.h diff --git a/parser/include/postgres/utils/expandedrecord.h b/parser/include/postgres/utils/expandedrecord.h index 7e7c114b..936aaf19 100644 --- a/parser/include/postgres/utils/expandedrecord.h +++ b/parser/include/postgres/utils/expandedrecord.h @@ -3,7 +3,7 @@ * expandedrecord.h * Declarations for composite expanded objects. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/expandedrecord.h diff --git a/parser/include/postgres/utils/float.h b/parser/include/postgres/utils/float.h index 7529899d..7d1badd2 100644 --- a/parser/include/postgres/utils/float.h +++ b/parser/include/postgres/utils/float.h @@ -3,7 +3,7 @@ * float.h * Definitions for the built-in floating-point types * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/include/postgres/utils/fmgroids.h b/parser/include/postgres/utils/fmgroids.h index b96a24bb..bb0a91f0 100644 --- a/parser/include/postgres/utils/fmgroids.h +++ b/parser/include/postgres/utils/fmgroids.h @@ -6,7 +6,7 @@ * These macros can be used to avoid a catalog lookup when a specific * fmgr-callable function needs to be referenced. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -979,7 +979,7 @@ #define F_BITLT 1595 #define F_BITCMP 1596 #define F_PG_ENCODING_TO_CHAR 1597 -#define F_RANDOM 1598 +#define F_RANDOM_ 1598 #define F_SETSEED 1599 #define F_ASIN 1600 #define F_ACOS 1601 @@ -1169,7 +1169,7 @@ #define F_INT2_SUM 1840 #define F_INT4_SUM 1841 #define F_INT8_SUM 1842 -#define F_INTERVAL_ACCUM 1843 +#define F_INTERVAL_AVG_ACCUM 1843 #define F_INTERVAL_AVG 1844 #define F_TO_ASCII_TEXT 1845 #define F_TO_ASCII_TEXT_INT4 1846 @@ -1816,13 +1816,12 @@ #define F_REGEXP_SPLIT_TO_TABLE_TEXT_TEXT_TEXT 2766 #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT 2767 #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT_TEXT 2768 -#define F_PG_STAT_GET_BGWRITER_TIMED_CHECKPOINTS 2769 -#define F_PG_STAT_GET_BGWRITER_REQUESTED_CHECKPOINTS 2770 -#define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CHECKPOINTS 2771 +#define F_PG_STAT_GET_CHECKPOINTER_NUM_TIMED 2769 +#define F_PG_STAT_GET_CHECKPOINTER_NUM_REQUESTED 2770 +#define F_PG_STAT_GET_CHECKPOINTER_BUFFERS_WRITTEN 2771 #define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CLEAN 2772 #define F_PG_STAT_GET_BGWRITER_MAXWRITTEN_CLEAN 2773 #define F_GINQUERYARRAYEXTRACT 2774 -#define F_PG_STAT_GET_BUF_WRITTEN_BACKEND 2775 #define F_ANYNONARRAY_IN 2777 #define F_ANYNONARRAY_OUT 2778 #define F_PG_STAT_GET_LAST_VACUUM_TIME 2781 @@ -2043,7 +2042,6 @@ #define F_LEFT 3060 #define F_RIGHT 3061 #define F_REVERSE 3062 -#define F_PG_STAT_GET_BUF_FSYNC_BACKEND 3063 #define F_GIST_POINT_DISTANCE 3064 #define F_PG_STAT_GET_DB_CONFLICT_TABLESPACE 3065 #define F_PG_STAT_GET_DB_CONFLICT_LOCK 3066 @@ -2123,8 +2121,8 @@ #define F_NUMERIC_SUPPORT 3157 #define F_VARBIT_SUPPORT 3158 #define F_PG_GET_VIEWDEF_OID_INT4 3159 -#define F_PG_STAT_GET_CHECKPOINT_WRITE_TIME 3160 -#define F_PG_STAT_GET_CHECKPOINT_SYNC_TIME 3161 +#define F_PG_STAT_GET_CHECKPOINTER_WRITE_TIME 3160 +#define F_PG_STAT_GET_CHECKPOINTER_SYNC_TIME 3161 #define F_PG_COLLATION_FOR 3162 #define F_PG_TRIGGER_DEPTH 3163 #define F_PG_WAL_LSN_DIFF 3165 @@ -2241,7 +2239,7 @@ #define F_UNNEST_TSVECTOR 3322 #define F_TS_DELETE_TSVECTOR__TEXT 3323 #define F_INT4_AVG_COMBINE 3324 -#define F_INTERVAL_COMBINE 3325 +#define F_INTERVAL_AVG_COMBINE 3325 #define F_TSVECTOR_TO_ARRAY 3326 #define F_ARRAY_TO_TSVECTOR 3327 #define F_BPCHAR_SORTSUPPORT 3328 @@ -2408,7 +2406,7 @@ #define F_INT8DEC 3546 #define F_INT8DEC_ANY 3547 #define F_NUMERIC_ACCUM_INV 3548 -#define F_INTERVAL_ACCUM_INV 3549 +#define F_INTERVAL_AVG_ACCUM_INV 3549 #define F_NETWORK_OVERLAP 3551 #define F_INET_GIST_CONSISTENT 3553 #define F_INET_GIST_UNION 3554 @@ -2431,8 +2429,8 @@ #define F_INT4_AVG_ACCUM_INV 3571 #define F_INT2INT4_SUM 3572 #define F_INET_GIST_FETCH 3573 -#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT 3577 -#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA 3578 +#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT_BOOL 3577 +#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA_BOOL 3578 #define F_JSONB_INSERT 3579 #define F_PG_XACT_COMMIT_TIMESTAMP 3581 #define F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID 3582 @@ -2596,6 +2594,7 @@ #define F_PG_IS_IN_RECOVERY 3810 #define F_MONEY_INT4 3811 #define F_MONEY_INT8 3812 +#define F_XMLTEXT 3813 #define F_PG_COLLATION_IS_VISIBLE 3815 #define F_ARRAY_TYPANALYZE 3816 #define F_ARRAYCONTSEL 3817 @@ -2795,8 +2794,6 @@ #define F_REGROLERECV 4094 #define F_REGROLESEND 4095 #define F_REGROLEIN 4098 -#define F_PG_ROTATE_LOGFILE_OLD 4099 -#define F_PG_READ_FILE_OLD 4100 #define F_BINARY_UPGRADE_SET_MISSING_VALUE 4101 #define F_BRIN_INCLUSION_OPCINFO 4105 #define F_BRIN_INCLUSION_ADD_VALUE 4106 @@ -3039,6 +3036,7 @@ #define F_BINARY_UPGRADE_SET_NEXT_INDEX_RELFILENODE 4546 #define F_BINARY_UPGRADE_SET_NEXT_TOAST_RELFILENODE 4547 #define F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID 4548 +#define F_UNICODE_VERSION 4549 #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID 4566 #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_REASON 4567 #define F_PG_EVENT_TRIGGER_DDL_COMMANDS 4568 @@ -3168,7 +3166,9 @@ #define F_PG_REPLICATION_ORIGIN_PROGRESS 6013 #define F_PG_SHOW_REPLICATION_ORIGIN_STATUS 6014 #define F_JSONB_SUBSCRIPT_HANDLER 6098 +#define F_ICU_UNICODE_VERSION 6099 #define F_PG_LSN 6103 +#define F_UNICODE_ASSIGNED 6105 #define F_PG_STAT_GET_BACKEND_SUBXACT 6107 #define F_PG_STAT_GET_SUBSCRIPTION 6118 #define F_PG_GET_PUBLICATION_TABLES 6119 @@ -3310,5 +3310,38 @@ #define F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT 6309 #define F_PG_STAT_GET_LASTSCAN 6310 #define F_SYSTEM_USER 6311 +#define F_BINARY_UPGRADE_LOGICAL_SLOT_HAS_CAUGHT_UP 6312 +#define F_PG_STAT_GET_CHECKPOINTER_STAT_RESET_TIME 6314 +#define F_PG_BASETYPE 6315 +#define F_PG_COLUMN_TOAST_CHUNK_ID 6316 +#define F_TO_REGTYPEMOD 6317 +#define F_PG_GET_WAIT_EVENTS 6318 +#define F_BINARY_UPGRADE_ADD_SUB_REL_STATE 6319 +#define F_BINARY_UPGRADE_REPLORIGIN_ADVANCE 6320 +#define F_PG_AVAILABLE_WAL_SUMMARIES 6321 +#define F_PG_WAL_SUMMARY_CONTENTS 6322 +#define F_PG_GET_WAL_SUMMARIZER_STATE 6323 +#define F_INTERVAL_AVG_SERIALIZE 6324 +#define F_INTERVAL_AVG_DESERIALIZE 6325 +#define F_INTERVAL_SUM 6326 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_TIMED 6327 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_REQUESTED 6328 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_PERFORMED 6329 +#define F_TO_BIN_INT4 6330 +#define F_TO_BIN_INT8 6331 +#define F_TO_OCT_INT4 6332 +#define F_TO_OCT_INT8 6333 +#define F_TIMEZONE_TIMESTAMPTZ 6334 +#define F_TIMEZONE_TIMESTAMP 6335 +#define F_TIMEZONE_TIMETZ 6336 +#define F_JSONB_POPULATE_RECORD_VALID 6338 +#define F_RANDOM_INT4_INT4 6339 +#define F_RANDOM_INT8_INT8 6340 +#define F_RANDOM_NUMERIC_NUMERIC 6341 +#define F_UUID_EXTRACT_TIMESTAMP 6342 +#define F_UUID_EXTRACT_VERSION 6343 +#define F_PG_SYNC_REPLICATION_SLOTS 6344 +#define F_RANGE_CONTAINS_ELEM_SUPPORT 6345 +#define F_ELEM_CONTAINED_BY_RANGE_SUPPORT 6346 #endif /* FMGROIDS_H */ diff --git a/parser/include/postgres/utils/fmgrprotos.h b/parser/include/postgres/utils/fmgrprotos.h index d5054fea..bccdc422 100644 --- a/parser/include/postgres/utils/fmgrprotos.h +++ b/parser/include/postgres/utils/fmgrprotos.h @@ -3,7 +3,7 @@ * fmgrprotos.h * Prototypes for built-in functions. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -1055,7 +1055,7 @@ extern Datum numeric_stddev_samp(PG_FUNCTION_ARGS); extern Datum int2_sum(PG_FUNCTION_ARGS); extern Datum int4_sum(PG_FUNCTION_ARGS); extern Datum int8_sum(PG_FUNCTION_ARGS); -extern Datum interval_accum(PG_FUNCTION_ARGS); +extern Datum interval_avg_accum(PG_FUNCTION_ARGS); extern Datum interval_avg(PG_FUNCTION_ARGS); extern Datum to_ascii_default(PG_FUNCTION_ARGS); extern Datum to_ascii_enc(PG_FUNCTION_ARGS); @@ -1515,7 +1515,7 @@ extern Datum domain_recv(PG_FUNCTION_ARGS); extern Datum pg_timezone_abbrevs(PG_FUNCTION_ARGS); extern Datum xmlexists(PG_FUNCTION_ARGS); extern Datum pg_reload_conf(PG_FUNCTION_ARGS); -extern Datum pg_rotate_logfile_v2(PG_FUNCTION_ARGS); +extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS); extern Datum pg_stat_file_1arg(PG_FUNCTION_ARGS); extern Datum pg_read_file_off_len(PG_FUNCTION_ARGS); extern Datum pg_ls_dir_1arg(PG_FUNCTION_ARGS); @@ -1565,13 +1565,12 @@ extern Datum regexp_split_to_table_no_flags(PG_FUNCTION_ARGS); extern Datum regexp_split_to_table(PG_FUNCTION_ARGS); extern Datum regexp_split_to_array_no_flags(PG_FUNCTION_ARGS); extern Datum regexp_split_to_array(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_timed_checkpoints(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_requested_checkpoints(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_buf_written_checkpoints(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_num_timed(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_num_requested(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_buffers_written(PG_FUNCTION_ARGS); extern Datum pg_stat_get_bgwriter_buf_written_clean(PG_FUNCTION_ARGS); extern Datum pg_stat_get_bgwriter_maxwritten_clean(PG_FUNCTION_ARGS); extern Datum ginqueryarrayextract(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_buf_written_backend(PG_FUNCTION_ARGS); extern Datum anynonarray_in(PG_FUNCTION_ARGS); extern Datum anynonarray_out(PG_FUNCTION_ARGS); extern Datum pg_stat_get_last_vacuum_time(PG_FUNCTION_ARGS); @@ -1774,7 +1773,6 @@ extern Datum text_concat_ws(PG_FUNCTION_ARGS); extern Datum text_left(PG_FUNCTION_ARGS); extern Datum text_right(PG_FUNCTION_ARGS); extern Datum text_reverse(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_buf_fsync_backend(PG_FUNCTION_ARGS); extern Datum gist_point_distance(PG_FUNCTION_ARGS); extern Datum pg_stat_get_db_conflict_tablespace(PG_FUNCTION_ARGS); extern Datum pg_stat_get_db_conflict_lock(PG_FUNCTION_ARGS); @@ -1854,8 +1852,8 @@ extern Datum row_to_json_pretty(PG_FUNCTION_ARGS); extern Datum numeric_support(PG_FUNCTION_ARGS); extern Datum varbit_support(PG_FUNCTION_ARGS); extern Datum pg_get_viewdef_wrap(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_checkpoint_write_time(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_checkpoint_sync_time(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_write_time(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_sync_time(PG_FUNCTION_ARGS); extern Datum pg_collation_for(PG_FUNCTION_ARGS); extern Datum pg_trigger_depth(PG_FUNCTION_ARGS); extern Datum pg_wal_lsn_diff(PG_FUNCTION_ARGS); @@ -1967,7 +1965,7 @@ extern Datum tsvector_delete_str(PG_FUNCTION_ARGS); extern Datum tsvector_unnest(PG_FUNCTION_ARGS); extern Datum tsvector_delete_arr(PG_FUNCTION_ARGS); extern Datum int4_avg_combine(PG_FUNCTION_ARGS); -extern Datum interval_combine(PG_FUNCTION_ARGS); +extern Datum interval_avg_combine(PG_FUNCTION_ARGS); extern Datum tsvector_to_array(PG_FUNCTION_ARGS); extern Datum array_to_tsvector(PG_FUNCTION_ARGS); extern Datum bpchar_sortsupport(PG_FUNCTION_ARGS); @@ -2130,7 +2128,7 @@ extern Datum bytea_string_agg_finalfn(PG_FUNCTION_ARGS); extern Datum int8dec(PG_FUNCTION_ARGS); extern Datum int8dec_any(PG_FUNCTION_ARGS); extern Datum numeric_accum_inv(PG_FUNCTION_ARGS); -extern Datum interval_accum_inv(PG_FUNCTION_ARGS); +extern Datum interval_avg_accum_inv(PG_FUNCTION_ARGS); extern Datum network_overlap(PG_FUNCTION_ARGS); extern Datum inet_gist_consistent(PG_FUNCTION_ARGS); extern Datum inet_gist_union(PG_FUNCTION_ARGS); @@ -2316,6 +2314,7 @@ extern Datum pg_export_snapshot(PG_FUNCTION_ARGS); extern Datum pg_is_in_recovery(PG_FUNCTION_ARGS); extern Datum int4_cash(PG_FUNCTION_ARGS); extern Datum int8_cash(PG_FUNCTION_ARGS); +extern Datum xmltext(PG_FUNCTION_ARGS); extern Datum pg_collation_is_visible(PG_FUNCTION_ARGS); extern Datum array_typanalyze(PG_FUNCTION_ARGS); extern Datum arraycontsel(PG_FUNCTION_ARGS); @@ -2491,8 +2490,6 @@ extern Datum to_regrole(PG_FUNCTION_ARGS); extern Datum regrolerecv(PG_FUNCTION_ARGS); extern Datum regrolesend(PG_FUNCTION_ARGS); extern Datum regrolein(PG_FUNCTION_ARGS); -extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS); -extern Datum pg_read_file(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_missing_value(PG_FUNCTION_ARGS); extern Datum brin_inclusion_opcinfo(PG_FUNCTION_ARGS); extern Datum brin_inclusion_add_value(PG_FUNCTION_ARGS); @@ -2630,6 +2627,7 @@ extern Datum binary_upgrade_set_next_heap_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_index_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_toast_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_pg_tablespace_oid(PG_FUNCTION_ARGS); +extern Datum unicode_version(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_table_rewrite_oid(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_table_rewrite_reason(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_ddl_commands(PG_FUNCTION_ARGS); @@ -2744,7 +2742,9 @@ extern Datum pg_replication_origin_advance(PG_FUNCTION_ARGS); extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS); extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS); extern Datum jsonb_subscript_handler(PG_FUNCTION_ARGS); +extern Datum icu_unicode_version(PG_FUNCTION_ARGS); extern Datum numeric_pg_lsn(PG_FUNCTION_ARGS); +extern Datum unicode_assigned(PG_FUNCTION_ARGS); extern Datum pg_stat_get_backend_subxact(PG_FUNCTION_ARGS); extern Datum pg_stat_get_subscription(PG_FUNCTION_ARGS); extern Datum pg_get_publication_tables(PG_FUNCTION_ARGS); @@ -2867,5 +2867,38 @@ extern Datum window_ntile_support(PG_FUNCTION_ARGS); extern Datum pg_stat_get_db_conflict_logicalslot(PG_FUNCTION_ARGS); extern Datum pg_stat_get_lastscan(PG_FUNCTION_ARGS); extern Datum system_user(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_logical_slot_has_caught_up(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_stat_reset_time(PG_FUNCTION_ARGS); +extern Datum pg_basetype(PG_FUNCTION_ARGS); +extern Datum pg_column_toast_chunk_id(PG_FUNCTION_ARGS); +extern Datum to_regtypemod(PG_FUNCTION_ARGS); +extern Datum pg_get_wait_events(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_add_sub_rel_state(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_replorigin_advance(PG_FUNCTION_ARGS); +extern Datum pg_available_wal_summaries(PG_FUNCTION_ARGS); +extern Datum pg_wal_summary_contents(PG_FUNCTION_ARGS); +extern Datum pg_get_wal_summarizer_state(PG_FUNCTION_ARGS); +extern Datum interval_avg_serialize(PG_FUNCTION_ARGS); +extern Datum interval_avg_deserialize(PG_FUNCTION_ARGS); +extern Datum interval_sum(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_timed(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_requested(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_performed(PG_FUNCTION_ARGS); +extern Datum to_bin32(PG_FUNCTION_ARGS); +extern Datum to_bin64(PG_FUNCTION_ARGS); +extern Datum to_oct32(PG_FUNCTION_ARGS); +extern Datum to_oct64(PG_FUNCTION_ARGS); +extern Datum timestamptz_at_local(PG_FUNCTION_ARGS); +extern Datum timestamp_at_local(PG_FUNCTION_ARGS); +extern Datum timetz_at_local(PG_FUNCTION_ARGS); +extern Datum jsonb_populate_record_valid(PG_FUNCTION_ARGS); +extern Datum int4random(PG_FUNCTION_ARGS); +extern Datum int8random(PG_FUNCTION_ARGS); +extern Datum numeric_random(PG_FUNCTION_ARGS); +extern Datum uuid_extract_timestamp(PG_FUNCTION_ARGS); +extern Datum uuid_extract_version(PG_FUNCTION_ARGS); +extern Datum pg_sync_replication_slots(PG_FUNCTION_ARGS); +extern Datum range_contains_elem_support(PG_FUNCTION_ARGS); +extern Datum elem_contained_by_range_support(PG_FUNCTION_ARGS); #endif /* FMGRPROTOS_H */ diff --git a/parser/include/postgres/utils/fmgrtab.h b/parser/include/postgres/utils/fmgrtab.h index 838ffe3b..151dd740 100644 --- a/parser/include/postgres/utils/fmgrtab.h +++ b/parser/include/postgres/utils/fmgrtab.h @@ -3,7 +3,7 @@ * fmgrtab.h * The function manager's table of internal functions. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/fmgrtab.h diff --git a/parser/include/postgres/utils/guc.h b/parser/include/postgres/utils/guc.h index 9410f3d1..fd4d8c69 100644 --- a/parser/include/postgres/utils/guc.h +++ b/parser/include/postgres/utils/guc.h @@ -3,7 +3,7 @@ * * External declarations pertaining to Grand Unified Configuration. * - * Copyright (c) 2000-2023, PostgreSQL Global Development Group + * Copyright (c) 2000-2024, PostgreSQL Global Development Group * Written by Peter Eisentraut . * * src/include/utils/guc.h @@ -72,7 +72,7 @@ typedef enum PGC_SU_BACKEND, PGC_BACKEND, PGC_SUSET, - PGC_USERSET + PGC_USERSET, } GucContext; /* @@ -119,7 +119,7 @@ typedef enum PGC_S_OVERRIDE, /* special case to forcibly set default */ PGC_S_INTERACTIVE, /* dividing line for error reporting */ PGC_S_TEST, /* test per-database or per-user setting */ - PGC_S_SESSION /* SET command */ + PGC_S_SESSION, /* SET command */ } GucSource; /* @@ -144,6 +144,8 @@ typedef struct ConfigVariable struct ConfigVariable *next; } ConfigVariable; +typedef struct config_generic config_handle; + extern bool ParseConfigFile(const char *config_file, bool strict, const char *calling_file, int calling_lineno, int depth, int elevel, @@ -196,7 +198,7 @@ typedef enum /* Types of set_config_option actions */ GUC_ACTION_SET, /* regular SET command */ GUC_ACTION_LOCAL, /* SET LOCAL command */ - GUC_ACTION_SAVE /* function SET option, or temp assignment */ + GUC_ACTION_SAVE, /* function SET option, or temp assignment */ } GucAction; #define GUC_QUALIFIER_SEPARATOR '.' @@ -221,6 +223,7 @@ typedef enum #define GUC_DISALLOW_IN_AUTO_FILE \ 0x002000 /* can't set in PG_AUTOCONF_FILENAME */ #define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */ +#define GUC_ALLOW_IN_PARALLEL 0x008000 /* allow setting in parallel mode */ #define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */ #define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */ @@ -250,8 +253,9 @@ extern PGDLLIMPORT bool log_statement_stats; extern PGDLLIMPORT bool log_btree_build_stats; extern PGDLLIMPORT __thread bool check_function_bodies; -extern PGDLLIMPORT bool session_auth_is_superuser; +extern PGDLLIMPORT bool current_role_is_superuser; +extern PGDLLIMPORT bool AllowAlterSystem; extern PGDLLIMPORT bool log_duration; extern PGDLLIMPORT int log_parameter_max_length; extern PGDLLIMPORT int log_parameter_max_length_on_error; @@ -363,12 +367,13 @@ extern const char *GetConfigOptionResetString(const char *name); extern int GetConfigOptionFlags(const char *name, bool missing_ok); extern void ProcessConfigFile(GucContext context); extern char *convert_GUC_name_for_parameter_acl(const char *name); -extern bool check_GUC_name_for_parameter_acl(const char *name); +extern void check_GUC_name_for_parameter_acl(const char *name); extern void InitializeGUCOptions(void); extern bool SelectConfigFiles(const char *userDoption, const char *progname); extern void ResetAllOptions(void); extern void AtStart_GUC(void); extern int NewGUCNestLevel(void); +extern void RestrictSearchPath(void); extern void AtEOXact_GUC(bool isCommit, int nestLevel); extern void BeginReportingGUCOptions(void); extern void ReportChangedGUCOptions(void); @@ -387,10 +392,19 @@ extern int set_config_option_ext(const char *name, const char *value, Oid srole, GucAction action, bool changeVal, int elevel, bool is_reload); +extern int set_config_with_handle(const char *name, config_handle *handle, + const char *value, + GucContext context, GucSource source, + Oid srole, + GucAction action, bool changeVal, + int elevel, bool is_reload); +extern config_handle *get_config_handle(const char *name); extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt); extern char *GetConfigOptionByName(const char *name, const char **varname, bool missing_ok); +extern void TransformGUCArray(ArrayType *array, List **names, + List **values); extern void ProcessGUCArray(ArrayType *array, GucContext context, GucSource source, GucAction action); extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *value); diff --git a/parser/include/postgres/utils/guc_hooks.h b/parser/include/postgres/utils/guc_hooks.h index 952293a1..8fd91af3 100644 --- a/parser/include/postgres/utils/guc_hooks.h +++ b/parser/include/postgres/utils/guc_hooks.h @@ -7,7 +7,7 @@ * declare them all here to avoid having to propagate guc.h into * a lot of unrelated header files. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/utils/guc_hooks.h * @@ -46,6 +46,8 @@ extern bool check_client_connection_check_interval(int *newval, void **extra, extern bool check_client_encoding(char **newval, void **extra, GucSource source); extern void assign_client_encoding(const char *newval, void *extra); extern bool check_cluster_name(char **newval, void **extra, GucSource source); +extern bool check_commit_ts_buffers(int *newval, void **extra, + GucSource source); extern const char *show_data_directory_mode(void); extern bool check_datestyle(char **newval, void **extra, GucSource source); extern void assign_datestyle(const char *newval, void *extra); @@ -84,11 +86,18 @@ extern bool check_maintenance_io_concurrency(int *newval, void **extra, extern void assign_maintenance_io_concurrency(int newval, void *extra); extern bool check_max_connections(int *newval, void **extra, GucSource source); extern bool check_max_wal_senders(int *newval, void **extra, GucSource source); +extern bool check_max_slot_wal_keep_size(int *newval, void **extra, + GucSource source); extern void assign_max_wal_size(int newval, void *extra); extern bool check_max_worker_processes(int *newval, void **extra, GucSource source); extern bool check_max_stack_depth(int *newval, void **extra, GucSource source); extern void assign_max_stack_depth(int newval, void *extra); +extern bool check_multixact_member_buffers(int *newval, void **extra, + GucSource source); +extern bool check_multixact_offset_buffers(int *newval, void **extra, + GucSource source); +extern bool check_notify_buffers(int *newval, void **extra, GucSource source); extern bool check_primary_slot_name(char **newval, void **extra, GucSource source); extern bool check_random_seed(double *newval, void **extra, GucSource source); @@ -118,14 +127,20 @@ extern void assign_recovery_target_xid(const char *newval, void *extra); extern bool check_role(char **newval, void **extra, GucSource source); extern void assign_role(const char *newval, void *extra); extern const char *show_role(void); +extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra, + GucSource source); +extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra); extern bool check_search_path(char **newval, void **extra, GucSource source); extern void assign_search_path(const char *newval, void *extra); +extern bool check_serial_buffers(int *newval, void **extra, GucSource source); extern bool check_session_authorization(char **newval, void **extra, GucSource source); extern void assign_session_authorization(const char *newval, void *extra); extern void assign_session_replication_role(int newval, void *extra); extern void assign_stats_fetch_consistency(int newval, void *extra); extern bool check_ssl(bool *newval, void **extra, GucSource source); extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source); +extern bool check_subtrans_buffers(int *newval, void **extra, + GucSource source); extern bool check_synchronous_standby_names(char **newval, void **extra, GucSource source); extern void assign_synchronous_standby_names(const char *newval, void *extra); @@ -150,14 +165,20 @@ extern const char *show_timezone(void); extern bool check_timezone_abbreviations(char **newval, void **extra, GucSource source); extern void assign_timezone_abbreviations(const char *newval, void *extra); +extern bool check_transaction_buffers(int *newval, void **extra, GucSource source); extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source); extern bool check_transaction_isolation(int *newval, void **extra, GucSource source); extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source); +extern void assign_transaction_timeout(int newval, void *extra); extern const char *show_unix_socket_permissions(void); extern bool check_wal_buffers(int *newval, void **extra, GucSource source); extern bool check_wal_consistency_checking(char **newval, void **extra, GucSource source); extern void assign_wal_consistency_checking(const char *newval, void *extra); -extern void assign_xlog_sync_method(int new_sync_method, void *extra); +extern bool check_wal_segment_size(int *newval, void **extra, GucSource source); +extern void assign_wal_sync_method(int new_wal_sync_method, void *extra); +extern bool check_synchronized_standby_slots(char **newval, void **extra, + GucSource source); +extern void assign_synchronized_standby_slots(const char *newval, void *extra); #endif /* GUC_HOOKS_H */ diff --git a/parser/include/postgres/utils/guc_tables.h b/parser/include/postgres/utils/guc_tables.h index ab880cae..0c0277c4 100644 --- a/parser/include/postgres/utils/guc_tables.h +++ b/parser/include/postgres/utils/guc_tables.h @@ -5,7 +5,7 @@ * * See src/backend/utils/misc/README for design notes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/utils/guc_tables.h * @@ -26,7 +26,7 @@ enum config_type PGC_INT, PGC_REAL, PGC_STRING, - PGC_ENUM + PGC_ENUM, }; union config_var_val @@ -72,6 +72,7 @@ enum config_group WAL_RECOVERY, WAL_ARCHIVE_RECOVERY, WAL_RECOVERY_TARGET, + WAL_SUMMARIZATION, REPLICATION_SENDING, REPLICATION_PRIMARY, REPLICATION_STANDBY, @@ -93,11 +94,11 @@ enum config_group CLIENT_CONN_OTHER, LOCK_MANAGEMENT, COMPAT_OPTIONS_PREVIOUS, - COMPAT_OPTIONS_CLIENT, + COMPAT_OPTIONS_OTHER, ERROR_HANDLING_OPTIONS, PRESET_OPTIONS, CUSTOM_OPTIONS, - DEVELOPER_OPTIONS + DEVELOPER_OPTIONS, }; /* @@ -110,7 +111,7 @@ typedef enum GUC_SAVE, /* entry caused by function SET option */ GUC_SET, /* entry caused by plain SET command */ GUC_LOCAL, /* entry caused by SET LOCAL command */ - GUC_SET_LOCAL /* entry caused by SET then SET LOCAL */ + GUC_SET_LOCAL, /* entry caused by SET then SET LOCAL */ } GucStackState; typedef struct guc_stack diff --git a/parser/include/postgres/utils/hsearch.h b/parser/include/postgres/utils/hsearch.h index bc3d5efa..da26941f 100644 --- a/parser/include/postgres/utils/hsearch.h +++ b/parser/include/postgres/utils/hsearch.h @@ -4,7 +4,7 @@ * exported definitions for utils/hash/dynahash.c; see notes therein * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/hsearch.h @@ -113,7 +113,7 @@ typedef enum HASH_FIND, HASH_ENTER, HASH_REMOVE, - HASH_ENTER_NULL + HASH_ENTER_NULL, } HASHACTION; /* hash_seq status (should be considered an opaque type by callers) */ diff --git a/parser/include/postgres/utils/injection_point.h b/parser/include/postgres/utils/injection_point.h new file mode 100644 index 00000000..6e417ced --- /dev/null +++ b/parser/include/postgres/utils/injection_point.h @@ -0,0 +1,44 @@ +/*------------------------------------------------------------------------- + * injection_point.h + * Definitions related to injection points. + * + * Copyright (c) 2001-2024, PostgreSQL Global Development Group + * + * src/include/utils/injection_point.h + *------------------------------------------------------------------------- + */ + +#ifndef INJECTION_POINT_H +#define INJECTION_POINT_H + +/* + * Injections points require --enable-injection-points. + */ +#ifdef USE_INJECTION_POINTS +#define INJECTION_POINT(name) InjectionPointRun(name) +#else +#define INJECTION_POINT(name) ((void) name) +#endif + +/* + * Typedef for callback function launched by an injection point. + */ +typedef void (*InjectionPointCallback) (const char *name, + const void *private_data); + +extern Size InjectionPointShmemSize(void); +extern void InjectionPointShmemInit(void); + +extern void InjectionPointAttach(const char *name, + const char *library, + const char *function, + const void *private_data, + int private_data_size); +extern void InjectionPointRun(const char *name); +extern bool InjectionPointDetach(const char *name); + +#ifdef EXEC_BACKEND +extern PGDLLIMPORT struct InjectionPointsCtl *ActiveInjectionPoints; +#endif + +#endif /* INJECTION_POINT_H */ diff --git a/parser/include/postgres/utils/inval.h b/parser/include/postgres/utils/inval.h index 14b4eac0..24695fac 100644 --- a/parser/include/postgres/utils/inval.h +++ b/parser/include/postgres/utils/inval.h @@ -4,7 +4,7 @@ * POSTGRES cache invalidation dispatcher definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/inval.h diff --git a/parser/include/postgres/utils/logtape.h b/parser/include/postgres/utils/logtape.h index 5420a24a..d310b974 100644 --- a/parser/include/postgres/utils/logtape.h +++ b/parser/include/postgres/utils/logtape.h @@ -5,7 +5,7 @@ * * See logtape.c for explanations. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/logtape.h @@ -51,7 +51,7 @@ typedef struct TapeShare * Currently, all the leader process needs is the location of the * materialized tape's first block. */ - long firstblocknumber; + int64 firstblocknumber; } TapeShare; /* @@ -70,8 +70,8 @@ extern void LogicalTapeWrite(LogicalTape *lt, const void *ptr, size_t size); extern void LogicalTapeRewindForRead(LogicalTape *lt, size_t buffer_size); extern void LogicalTapeFreeze(LogicalTape *lt, TapeShare *share); extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size); -extern void LogicalTapeSeek(LogicalTape *lt, long blocknum, int offset); -extern void LogicalTapeTell(LogicalTape *lt, long *blocknum, int *offset); -extern long LogicalTapeSetBlocks(LogicalTapeSet *lts); +extern void LogicalTapeSeek(LogicalTape *lt, int64 blocknum, int offset); +extern void LogicalTapeTell(LogicalTape *lt, int64 *blocknum, int *offset); +extern int64 LogicalTapeSetBlocks(LogicalTapeSet *lts); #endif /* LOGTAPE_H */ diff --git a/parser/include/postgres/utils/lsyscache.h b/parser/include/postgres/utils/lsyscache.h index 4f5418b9..20446f6f 100644 --- a/parser/include/postgres/utils/lsyscache.h +++ b/parser/include/postgres/utils/lsyscache.h @@ -3,7 +3,7 @@ * lsyscache.h * Convenience routines for common queries in the system catalog cache. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/lsyscache.h @@ -35,7 +35,7 @@ typedef enum IOFuncSelector IOFunc_input, IOFunc_output, IOFunc_receive, - IOFunc_send + IOFunc_send, } IOFuncSelector; /* Flag bits for get_attstatsslot */ @@ -90,7 +90,6 @@ extern Oid get_opfamily_proc(Oid opfamily, Oid lefttype, Oid righttype, int16 procnum); extern char *get_attname(Oid relid, AttrNumber attnum, bool missing_ok); extern AttrNumber get_attnum(Oid relid, const char *attname); -extern int get_attstattarget(Oid relid, AttrNumber attnum); extern char get_attgenerated(Oid relid, AttrNumber attnum); extern Oid get_atttype(Oid relid, AttrNumber attnum); extern void get_atttypetypmodcoll(Oid relid, AttrNumber attnum, @@ -101,11 +100,14 @@ extern char *get_collation_name(Oid colloid); extern bool get_collation_isdeterministic(Oid colloid); extern char *get_constraint_name(Oid conoid); extern Oid get_constraint_index(Oid conoid); +extern char get_constraint_type(Oid conoid); + extern char *get_language_name(Oid langoid, bool missing_ok); extern Oid get_opclass_family(Oid opclass); extern Oid get_opclass_input_type(Oid opclass); extern bool get_opclass_opfamily_and_input_type(Oid opclass, Oid *opfamily, Oid *opcintype); +extern Oid get_opclass_method(Oid opclass); extern RegProcedure get_opcode(Oid opno); extern char *get_opname(Oid opno); extern Oid get_op_rettype(Oid opno); @@ -139,6 +141,7 @@ extern char get_rel_relkind(Oid relid); extern bool get_rel_relispartition(Oid relid); extern Oid get_rel_tablespace(Oid relid); extern char get_rel_persistence(Oid relid); +extern Oid get_rel_relam(Oid relid); extern Oid get_transform_fromsql(Oid typid, Oid langid, List *trftypes); extern Oid get_transform_tosql(Oid typid, Oid langid, List *trftypes); extern bool get_typisdefined(Oid typid); diff --git a/parser/include/postgres/utils/memdebug.h b/parser/include/postgres/utils/memdebug.h index 804ed1fb..f62b10cb 100644 --- a/parser/include/postgres/utils/memdebug.h +++ b/parser/include/postgres/utils/memdebug.h @@ -7,7 +7,7 @@ * empty definitions for Valgrind client request macros we use. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memdebug.h diff --git a/parser/include/postgres/utils/memutils.h b/parser/include/postgres/utils/memutils.h index 2fcf6cce..4c65d730 100644 --- a/parser/include/postgres/utils/memutils.h +++ b/parser/include/postgres/utils/memutils.h @@ -7,7 +7,7 @@ * of the API of the memory management subsystem. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memutils.h @@ -66,9 +66,6 @@ extern PGDLLIMPORT MemoryContext CurTransactionContext; /* This is a transient link to the active portal's memory context: */ extern PGDLLIMPORT MemoryContext PortalContext; -/* Backwards compatibility macro */ -#define MemoryContextResetAndDeleteChildren(ctx) MemoryContextReset(ctx) - /* * Memory-context-type-independent functions in mcxt.c @@ -87,8 +84,11 @@ extern Size GetMemoryChunkSpace(void *pointer); extern MemoryContext MemoryContextGetParent(MemoryContext context); extern bool MemoryContextIsEmpty(MemoryContext context); extern Size MemoryContextMemAllocated(MemoryContext context, bool recurse); +extern void MemoryContextMemConsumed(MemoryContext context, + MemoryContextCounters *consumed); extern void MemoryContextStats(MemoryContext context); -extern void MemoryContextStatsDetail(MemoryContext context, int max_children, +extern void MemoryContextStatsDetail(MemoryContext context, + int max_level, int max_children, bool print_to_stderr); extern void MemoryContextAllowInCriticalSection(MemoryContext context, bool allow); @@ -144,6 +144,13 @@ extern MemoryContext GenerationContextCreate(MemoryContext parent, Size initBlockSize, Size maxBlockSize); +/* bump.c */ +extern MemoryContext BumpContextCreate(MemoryContext parent, + const char *name, + Size minContextSize, + Size initBlockSize, + Size maxBlockSize); + /* * Recommended default alloc parameters, suitable for "ordinary" contexts * that might hold quite a lot of data. diff --git a/parser/include/postgres/utils/memutils_internal.h b/parser/include/postgres/utils/memutils_internal.h index 2d107bbf..5ce2d9b5 100644 --- a/parser/include/postgres/utils/memutils_internal.h +++ b/parser/include/postgres/utils/memutils_internal.h @@ -5,7 +5,7 @@ * functions for internal use. * * - * Portions Copyright (c) 2022-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memutils_internal.h @@ -19,9 +19,9 @@ #include "utils/memutils.h" /* These functions implement the MemoryContext API for AllocSet context. */ -extern void *AllocSetAlloc(MemoryContext context, Size size); +extern void *AllocSetAlloc(MemoryContext context, Size size, int flags); extern void AllocSetFree(void *pointer); -extern void *AllocSetRealloc(void *pointer, Size size); +extern void *AllocSetRealloc(void *pointer, Size size, int flags); extern void AllocSetReset(MemoryContext context); extern void AllocSetDelete(MemoryContext context); extern MemoryContext AllocSetGetChunkContext(void *pointer); @@ -36,9 +36,9 @@ extern void AllocSetCheck(MemoryContext context); #endif /* These functions implement the MemoryContext API for Generation context. */ -extern void *GenerationAlloc(MemoryContext context, Size size); +extern void *GenerationAlloc(MemoryContext context, Size size, int flags); extern void GenerationFree(void *pointer); -extern void *GenerationRealloc(void *pointer, Size size); +extern void *GenerationRealloc(void *pointer, Size size, int flags); extern void GenerationReset(MemoryContext context); extern void GenerationDelete(MemoryContext context); extern MemoryContext GenerationGetChunkContext(void *pointer); @@ -54,9 +54,9 @@ extern void GenerationCheck(MemoryContext context); /* These functions implement the MemoryContext API for Slab context. */ -extern void *SlabAlloc(MemoryContext context, Size size); +extern void *SlabAlloc(MemoryContext context, Size size, int flags); extern void SlabFree(void *pointer); -extern void *SlabRealloc(void *pointer, Size size); +extern void *SlabRealloc(void *pointer, Size size, int flags); extern void SlabReset(MemoryContext context); extern void SlabDelete(MemoryContext context); extern MemoryContext SlabGetChunkContext(void *pointer); @@ -75,10 +75,26 @@ extern void SlabCheck(MemoryContext context); * part of a fully-fledged MemoryContext type. */ extern void AlignedAllocFree(void *pointer); -extern void *AlignedAllocRealloc(void *pointer, Size size); +extern void *AlignedAllocRealloc(void *pointer, Size size, int flags); extern MemoryContext AlignedAllocGetChunkContext(void *pointer); extern Size AlignedAllocGetChunkSpace(void *pointer); + /* These functions implement the MemoryContext API for the Bump context. */ +extern void *BumpAlloc(MemoryContext context, Size size, int flags); +extern void BumpFree(void *pointer); +extern void *BumpRealloc(void *pointer, Size size, int flags); +extern void BumpReset(MemoryContext context); +extern void BumpDelete(MemoryContext context); +extern MemoryContext BumpGetChunkContext(void *pointer); +extern Size BumpGetChunkSpace(void *pointer); +extern bool BumpIsEmpty(MemoryContext context); +extern void BumpStats(MemoryContext context, MemoryStatsPrintFunc printfunc, + void *passthru, MemoryContextCounters *totals, + bool print_to_stderr); +#ifdef MEMORY_CONTEXT_CHECKING +extern void BumpCheck(MemoryContext context); +#endif + /* * How many extra bytes do we need to request in order to ensure that we can * align a pointer to 'alignto'. Since palloc'd pointers are already aligned @@ -104,21 +120,29 @@ extern Size AlignedAllocGetChunkSpace(void *pointer); */ typedef enum MemoryContextMethodID { - MCTX_UNUSED1_ID, /* 000 occurs in never-used memory */ - MCTX_UNUSED2_ID, /* glibc malloc'd chunks usually match 001 */ - MCTX_UNUSED3_ID, /* glibc malloc'd chunks > 128kB match 010 */ + MCTX_0_RESERVED_UNUSEDMEM_ID, /* 0000 occurs in never-used memory */ + MCTX_1_RESERVED_GLIBC_ID, /* glibc malloc'd chunks usually match 0001 */ + MCTX_2_RESERVED_GLIBC_ID, /* glibc malloc'd chunks > 128kB match 0010 */ MCTX_ASET_ID, MCTX_GENERATION_ID, MCTX_SLAB_ID, MCTX_ALIGNED_REDIRECT_ID, - MCTX_UNUSED4_ID /* 111 occurs in wipe_mem'd memory */ + MCTX_BUMP_ID, + MCTX_8_UNUSED_ID, + MCTX_9_UNUSED_ID, + MCTX_10_UNUSED_ID, + MCTX_11_UNUSED_ID, + MCTX_12_UNUSED_ID, + MCTX_13_UNUSED_ID, + MCTX_14_UNUSED_ID, + MCTX_15_RESERVED_WIPEDMEM_ID /* 1111 occurs in wipe_mem'd memory */ } MemoryContextMethodID; /* * The number of bits that 8-byte memory chunk headers can use to encode the * MemoryContextMethodID. */ -#define MEMORY_CONTEXT_METHODID_BITS 3 +#define MEMORY_CONTEXT_METHODID_BITS 4 #define MEMORY_CONTEXT_METHODID_MASK \ ((((uint64) 1) << MEMORY_CONTEXT_METHODID_BITS) - 1) @@ -133,4 +157,20 @@ extern void MemoryContextCreate(MemoryContext node, MemoryContext parent, const char *name); +extern void *MemoryContextAllocationFailure(MemoryContext context, Size size, + int flags); + +extern void MemoryContextSizeFailure(MemoryContext context, Size size, + int flags) pg_attribute_noreturn(); + +static inline void +MemoryContextCheckSize(MemoryContext context, Size size, int flags) +{ + if (unlikely(!AllocSizeIsValid(size))) + { + if (!(flags & MCXT_ALLOC_HUGE) || !AllocHugeSizeIsValid(size)) + MemoryContextSizeFailure(context, size, flags); + } +} + #endif /* MEMUTILS_INTERNAL_H */ diff --git a/parser/include/postgres/utils/memutils_memorychunk.h b/parser/include/postgres/utils/memutils_memorychunk.h index ffa91131..56c49d60 100644 --- a/parser/include/postgres/utils/memutils_memorychunk.h +++ b/parser/include/postgres/utils/memutils_memorychunk.h @@ -12,7 +12,7 @@ * Although MemoryChunks are used by each of our MemoryContexts, future * implementations may choose to implement their own method for storing chunk * headers. The only requirement is that the header ends with an 8-byte value - * which the least significant 3-bits of are set to the MemoryContextMethodID + * which the least significant 4-bits of are set to the MemoryContextMethodID * of the given context. * * By default, a MemoryChunk is 8 bytes in size, however, when @@ -25,15 +25,23 @@ * used to encode 4 separate pieces of information. Starting with the least * significant bits of 'hdrmask', the bit space is reserved as follows: * - * 1. 3-bits to indicate the MemoryContextMethodID as defined by + * 1. 4-bits to indicate the MemoryContextMethodID as defined by * MEMORY_CONTEXT_METHODID_MASK * 2. 1-bit to denote an "external" chunk (see below) * 3. 30-bits reserved for the MemoryContext to use for anything it - * requires. Most MemoryContext likely want to store the size of the + * requires. Most MemoryContexts likely want to store the size of the * chunk here. * 4. 30-bits for the number of bytes that must be subtracted from the chunk * to obtain the address of the block that the chunk is stored on. * + * If you're paying close attention, you'll notice this adds up to 65 bits + * rather than 64 bits. This is because the highest-order bit of #3 is the + * same bit as the lowest-order bit of #4. We can do this as we insist that + * the chunk and block pointers are both MAXALIGNed, therefore the relative + * offset between those will always be a MAXALIGNed value which means the + * lowest order bit is always 0. When fetching the chunk to block offset we + * mask out the lowest-order bit to ensure it's still zero. + * * In some cases, for example when memory allocations become large, it's * possible fields 3 and 4 above are not large enough to store the values * required for the chunk. In this case, the MemoryContext can choose to mark @@ -68,7 +76,7 @@ * PointerGetMemoryChunk * MemoryChunkGetPointer * - * Portions Copyright (c) 2022-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memutils_memorychunk.h @@ -93,10 +101,16 @@ */ #define MEMORYCHUNK_MAX_BLOCKOFFSET UINT64CONST(0x3FFFFFFF) +/* + * As above, but mask out the lowest-order (always zero) bit as this is shared + * with the MemoryChunkGetValue field. + */ +#define MEMORYCHUNK_BLOCKOFFSET_MASK UINT64CONST(0x3FFFFFFE) + /* define the least significant base-0 bit of each portion of the hdrmask */ #define MEMORYCHUNK_EXTERNAL_BASEBIT MEMORY_CONTEXT_METHODID_BITS #define MEMORYCHUNK_VALUE_BASEBIT (MEMORYCHUNK_EXTERNAL_BASEBIT + 1) -#define MEMORYCHUNK_BLOCKOFFSET_BASEBIT (MEMORYCHUNK_VALUE_BASEBIT + 30) +#define MEMORYCHUNK_BLOCKOFFSET_BASEBIT (MEMORYCHUNK_VALUE_BASEBIT + 29) /* * A magic number for storing in the free bits of an external chunk. This @@ -131,11 +145,11 @@ typedef struct MemoryChunk (((hdrmask) >> MEMORYCHUNK_VALUE_BASEBIT) & MEMORYCHUNK_MAX_VALUE) /* - * We should have used up all the bits here, so the compiler is likely to - * optimize out the & MEMORYCHUNK_MAX_BLOCKOFFSET. + * Shift the block offset down to the 0th bit position and mask off the single + * bit that's shared with the MemoryChunkGetValue field. */ #define HdrMaskBlockOffset(hdrmask) \ - (((hdrmask) >> MEMORYCHUNK_BLOCKOFFSET_BASEBIT) & MEMORYCHUNK_MAX_BLOCKOFFSET) + (((hdrmask) >> MEMORYCHUNK_BLOCKOFFSET_BASEBIT) & MEMORYCHUNK_BLOCKOFFSET_MASK) /* For external chunks only, check the magic number matches */ #define HdrMaskCheckMagic(hdrmask) \ @@ -149,6 +163,7 @@ typedef struct MemoryChunk * The number of bytes between 'block' and 'chunk' must be <= * MEMORYCHUNK_MAX_BLOCKOFFSET. * 'value' must be <= MEMORYCHUNK_MAX_VALUE. + * Both 'chunk' and 'block' must be MAXALIGNed pointers. */ static inline void MemoryChunkSetHdrMask(MemoryChunk *chunk, void *block, @@ -157,7 +172,7 @@ MemoryChunkSetHdrMask(MemoryChunk *chunk, void *block, Size blockoffset = (char *) chunk - (char *) block; Assert((char *) chunk >= (char *) block); - Assert(blockoffset <= MEMORYCHUNK_MAX_BLOCKOFFSET); + Assert((blockoffset & MEMORYCHUNK_BLOCKOFFSET_MASK) == blockoffset); Assert(value <= MEMORYCHUNK_MAX_VALUE); Assert((int) methodid <= MEMORY_CONTEXT_METHODID_MASK); @@ -225,6 +240,7 @@ MemoryChunkGetBlock(MemoryChunk *chunk) } /* cleanup all internal definitions */ +#undef MEMORYCHUNK_BLOCKOFFSET_MASK #undef MEMORYCHUNK_EXTERNAL_BASEBIT #undef MEMORYCHUNK_VALUE_BASEBIT #undef MEMORYCHUNK_BLOCKOFFSET_BASEBIT diff --git a/parser/include/postgres/utils/numeric.h b/parser/include/postgres/utils/numeric.h index 08e4f8c2..43c75c43 100644 --- a/parser/include/postgres/utils/numeric.h +++ b/parser/include/postgres/utils/numeric.h @@ -5,7 +5,7 @@ * * Original coding 1998, Jan Wieck. Heavily revised 2003, Tom Lane. * - * Copyright (c) 1998-2023, PostgreSQL Global Development Group + * Copyright (c) 1998-2024, PostgreSQL Global Development Group * * src/include/utils/numeric.h * @@ -14,6 +14,7 @@ #ifndef _PG_NUMERIC_H_ #define _PG_NUMERIC_H_ +#include "common/pg_prng.h" #include "fmgr.h" /* @@ -101,5 +102,9 @@ extern Numeric numeric_div_opt_error(Numeric num1, Numeric num2, extern Numeric numeric_mod_opt_error(Numeric num1, Numeric num2, bool *have_error); extern int32 numeric_int4_opt_error(Numeric num, bool *have_error); +extern int64 numeric_int8_opt_error(Numeric num, bool *have_error); + +extern Numeric random_numeric(pg_prng_state *state, + Numeric rmin, Numeric rmax); #endif /* _PG_NUMERIC_H_ */ diff --git a/parser/include/postgres/utils/palloc.h b/parser/include/postgres/utils/palloc.h index dd3748bd..53554b22 100644 --- a/parser/include/postgres/utils/palloc.h +++ b/parser/include/postgres/utils/palloc.h @@ -18,7 +18,7 @@ * everything that should be freed. See utils/mmgr/README for more info. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/palloc.h @@ -70,7 +70,6 @@ extern PGDLLIMPORT __thread MemoryContext CurrentMemoryContext; */ extern void *MemoryContextAlloc(MemoryContext context, Size size); extern void *MemoryContextAllocZero(MemoryContext context, Size size); -extern void *MemoryContextAllocZeroAligned(MemoryContext context, Size size); extern void *MemoryContextAllocExtended(MemoryContext context, Size size, int flags); extern void *MemoryContextAllocAligned(MemoryContext context, @@ -109,19 +108,6 @@ extern void pfree(void *pointer); #define repalloc_array(pointer, type, count) ((type *) repalloc(pointer, sizeof(type) * (count))) #define repalloc0_array(pointer, type, oldcount, count) ((type *) repalloc0(pointer, sizeof(type) * (oldcount), sizeof(type) * (count))) -/* - * The result of palloc() is always word-aligned, so we can skip testing - * alignment of the pointer when deciding which MemSet variant to use. - * Note that this variant does not offer any advantage, and should not be - * used, unless its "sz" argument is a compile-time constant; therefore, the - * issue that it evaluates the argument multiple times isn't a problem in - * practice. - */ -#define palloc0fast(sz) \ - ( MemSetTest(0, sz) ? \ - MemoryContextAllocZeroAligned(CurrentMemoryContext, sz) : \ - MemoryContextAllocZero(CurrentMemoryContext, sz) ) - /* Higher-limit allocators. */ extern void *MemoryContextAllocHuge(MemoryContext context, Size size); extern pg_nodiscard void *repalloc_huge(void *pointer, Size size); diff --git a/parser/include/postgres/utils/partcache.h b/parser/include/postgres/utils/partcache.h index eb9bc4b0..a4ffa036 100644 --- a/parser/include/postgres/utils/partcache.h +++ b/parser/include/postgres/utils/partcache.h @@ -2,7 +2,7 @@ * * partcache.h * - * Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/utils/partcache.h * diff --git a/parser/include/postgres/utils/pg_locale.h b/parser/include/postgres/utils/pg_locale.h index e2a72435..040968d6 100644 --- a/parser/include/postgres/utils/pg_locale.h +++ b/parser/include/postgres/utils/pg_locale.h @@ -4,7 +4,7 @@ * * src/include/utils/pg_locale.h * - * Copyright (c) 2002-2023, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * *----------------------------------------------------------------------- */ @@ -67,9 +67,7 @@ extern void cache_locale_time(void); /* - * We define our own wrapper around locale_t so we can keep the same - * function signatures for all builds, while not having to create a - * fake version of the standard type locale_t in the global namespace. + * We use a discriminated union to hold either a locale_t or an ICU collator. * pg_locale_t is occasionally checked for truth, so make it a pointer. */ struct pg_locale_struct @@ -78,9 +76,11 @@ struct pg_locale_struct bool deterministic; union { -#ifdef HAVE_LOCALE_T + struct + { + const char *locale; + } builtin; locale_t lt; -#endif #ifdef USE_ICU struct { @@ -88,7 +88,6 @@ struct pg_locale_struct UCollator *ucol; } icu; #endif - int dummy; /* in case we have neither LOCALE_T nor ICU */ } info; }; @@ -118,6 +117,8 @@ extern size_t pg_strxfrm_prefix(char *dest, const char *src, size_t destsize, extern size_t pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src, size_t srclen, pg_locale_t locale); +extern int builtin_locale_encoding(const char *locale); +extern const char *builtin_validate_locale(int encoding, const char *locale); extern void icu_validate_locale(const char *loc_str); extern char *icu_language_tag(const char *loc_str, int elevel); diff --git a/parser/include/postgres/utils/pgstat_internal.h b/parser/include/postgres/utils/pgstat_internal.h index 60fbf939..dbbca316 100644 --- a/parser/include/postgres/utils/pgstat_internal.h +++ b/parser/include/postgres/utils/pgstat_internal.h @@ -5,7 +5,7 @@ * only be needed by files implementing statistics support (rather than ones * reporting / querying stats). * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/pgstat_internal.h * ---------- @@ -14,7 +14,7 @@ #define PGSTAT_INTERNAL_H -#include "common/hashfn.h" +#include "common/hashfn_unstable.h" #include "lib/dshash.h" #include "lib/ilist.h" #include "pgstat.h" @@ -269,13 +269,13 @@ typedef struct PgStat_KindInfo * definitions. */ static const char *const slru_names[] = { - "CommitTs", - "MultiXactMember", - "MultiXactOffset", - "Notify", - "Serial", - "Subtrans", - "Xact", + "commit_timestamp", + "multixact_member", + "multixact_offset", + "notify", + "serializable", + "subtransaction", + "transaction", "other" /* has to be last */ }; @@ -776,16 +776,10 @@ pgstat_cmp_hash_key(const void *a, const void *b, size_t size, void *arg) static inline uint32 pgstat_hash_hash_key(const void *d, size_t size, void *arg) { - const PgStat_HashKey *key = (PgStat_HashKey *) d; - uint32 hash; + const char *key = (const char *) d; Assert(size == sizeof(PgStat_HashKey) && arg == NULL); - - hash = murmurhash32(key->kind); - hash = hash_combine(hash, murmurhash32(key->dboid)); - hash = hash_combine(hash, murmurhash32(key->objoid)); - - return hash; + return fasthash32(key, size, 0); } /* diff --git a/parser/include/postgres/utils/plancache.h b/parser/include/postgres/utils/plancache.h index a443181d..a90dfdf9 100644 --- a/parser/include/postgres/utils/plancache.h +++ b/parser/include/postgres/utils/plancache.h @@ -5,7 +5,7 @@ * * See plancache.c for comments. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/plancache.h @@ -31,7 +31,7 @@ typedef enum { PLAN_CACHE_MODE_AUTO, PLAN_CACHE_MODE_FORCE_GENERIC_PLAN, - PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN + PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN, } PlanCacheMode; /* GUC parameter */ @@ -111,7 +111,7 @@ typedef struct CachedPlanSource List *query_list; /* list of Query nodes, or NIL if not valid */ List *relationOids; /* OIDs of relations the queries depend on */ List *invalItems; /* other dependencies, as PlanInvalItems */ - struct OverrideSearchPath *search_path; /* search_path used for parsing + struct SearchPathMatcher *search_path; /* search_path used for parsing * and planning */ MemoryContext query_context; /* context holding the above, or NULL */ Oid rewriteRoleId; /* Role ID we did rewriting for */ @@ -188,6 +188,8 @@ typedef struct CachedExpression extern void InitPlanCache(void); extern void ResetPlanCache(void); +extern void ReleaseAllPlanCacheRefsInOwner(ResourceOwner owner); + extern CachedPlanSource *CreateCachedPlan(struct RawStmt *raw_parse_tree, const char *query_string, CommandTag commandTag); diff --git a/parser/include/postgres/utils/portal.h b/parser/include/postgres/utils/portal.h index aa08b1e0..29f49829 100644 --- a/parser/include/postgres/utils/portal.h +++ b/parser/include/postgres/utils/portal.h @@ -36,7 +36,7 @@ * to look like NO SCROLL cursors. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/portal.h @@ -64,9 +64,9 @@ * supports holdable cursors (the Executor results can be dumped into a * tuplestore for access after transaction completion). * - * PORTAL_ONE_RETURNING: the portal contains a single INSERT/UPDATE/DELETE - * query with a RETURNING clause (plus possibly auxiliary queries added by - * rule rewriting). On first execution, we run the portal to completion + * PORTAL_ONE_RETURNING: the portal contains a single INSERT/UPDATE/DELETE/ + * MERGE query with a RETURNING clause (plus possibly auxiliary queries added + * by rule rewriting). On first execution, we run the portal to completion * and dump the primary query's results into the portal tuplestore; the * results are then returned to the client as demanded. (We can't support * suspension of the query partway through, because the AFTER TRIGGER code @@ -92,7 +92,7 @@ typedef enum PortalStrategy PORTAL_ONE_RETURNING, PORTAL_ONE_MOD_WITH, PORTAL_UTIL_SELECT, - PORTAL_MULTI_QUERY + PORTAL_MULTI_QUERY, } PortalStrategy; /* @@ -107,7 +107,7 @@ typedef enum PortalStatus PORTAL_READY, /* PortalStart complete, can run it */ PORTAL_ACTIVE, /* portal is running (can't delete it) */ PORTAL_DONE, /* portal is finished (don't re-run it) */ - PORTAL_FAILED /* portal got error (can't re-run it) */ + PORTAL_FAILED, /* portal got error (can't re-run it) */ } PortalStatus; typedef struct PortalData *Portal; @@ -170,9 +170,9 @@ typedef struct PortalData Snapshot portalSnapshot; /* active snapshot, or NULL if none */ /* - * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING or - * PORTAL_UTIL_SELECT query. (A cursor held past the end of its - * transaction no longer has any active executor state.) + * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING, + * PORTAL_ONE_MOD_WITH, or PORTAL_UTIL_SELECT query. (A cursor held past + * the end of its transaction no longer has any active executor state.) */ Tuplestorestate *holdStore; /* store for holdable cursors */ MemoryContext holdContext; /* memory containing holdStore */ diff --git a/parser/include/postgres/utils/queryenvironment.h b/parser/include/postgres/utils/queryenvironment.h index 532219ad..10a9b6d5 100644 --- a/parser/include/postgres/utils/queryenvironment.h +++ b/parser/include/postgres/utils/queryenvironment.h @@ -4,7 +4,7 @@ * Access to functions to mutate the query environment and retrieve the * actual data related to entries (if any). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/queryenvironment.h @@ -19,7 +19,7 @@ typedef enum EphemeralNameRelationType { - ENR_NAMED_TUPLESTORE /* named tuplestore relation; e.g., deltas */ + ENR_NAMED_TUPLESTORE, /* named tuplestore relation; e.g., deltas */ } EphemeralNameRelationType; /* diff --git a/parser/include/postgres/utils/regproc.h b/parser/include/postgres/utils/regproc.h index a1f7c6b0..53e0298f 100644 --- a/parser/include/postgres/utils/regproc.h +++ b/parser/include/postgres/utils/regproc.h @@ -3,7 +3,7 @@ * regproc.h * Functions for the built-in types regproc, regclass, regtype, etc. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/regproc.h diff --git a/parser/include/postgres/utils/rel.h b/parser/include/postgres/utils/rel.h index 1426a353..87002049 100644 --- a/parser/include/postgres/utils/rel.h +++ b/parser/include/postgres/utils/rel.h @@ -4,7 +4,7 @@ * POSTGRES relation descriptor (a/k/a relcache entry) definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/rel.h @@ -57,7 +57,7 @@ typedef struct RelationData RelFileLocator rd_locator; /* relation physical identifier */ SMgrRelation rd_smgr; /* cached file handle, or NULL */ int rd_refcnt; /* reference count */ - BackendId rd_backend; /* owning backend id, if temporary relation */ + ProcNumber rd_backend; /* owning backend's proc number, if temp rel */ bool rd_islocaltemp; /* rel is a temp rel of this session */ bool rd_isnailed; /* rel is nailed in cache */ bool rd_isvalid; /* relcache entry is valid */ @@ -150,7 +150,8 @@ typedef struct RelationData /* data managed by RelationGetIndexList: */ List *rd_indexlist; /* list of OIDs of indexes on relation */ - Oid rd_pkindex; /* OID of primary key, if any */ + Oid rd_pkindex; /* OID of (deferrable?) primary key, if any */ + bool rd_ispkdeferrable; /* is rd_pkindex a deferrable PK? */ Oid rd_replidindex; /* OID of replica identity index, if any */ /* data managed by RelationGetStatExtList: */ @@ -329,7 +330,7 @@ typedef enum StdRdOptIndexCleanup { STDRD_OPTION_VACUUM_INDEX_CLEANUP_AUTO = 0, STDRD_OPTION_VACUUM_INDEX_CLEANUP_OFF, - STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON + STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON, } StdRdOptIndexCleanup; typedef struct StdRdOptions @@ -402,7 +403,7 @@ typedef enum ViewOptCheckOption { VIEW_OPTION_CHECK_OPTION_NOT_SET, VIEW_OPTION_CHECK_OPTION_LOCAL, - VIEW_OPTION_CHECK_OPTION_CASCADED + VIEW_OPTION_CHECK_OPTION_CASCADED, } ViewOptCheckOption; /* @@ -561,18 +562,15 @@ typedef struct ViewOptions * * Very little code is authorized to touch rel->rd_smgr directly. Instead * use this function to fetch its value. - * - * Note: since a relcache flush can cause the file handle to be closed again, - * it's unwise to hold onto the pointer returned by this function for any - * long period. Recommended practice is to just re-execute RelationGetSmgr - * each time you need to access the SMgrRelation. It's quite cheap in - * comparison to whatever an smgr function is going to do. */ static inline SMgrRelation RelationGetSmgr(Relation rel) { if (unlikely(rel->rd_smgr == NULL)) - smgrsetowner(&(rel->rd_smgr), smgropen(rel->rd_locator, rel->rd_backend)); + { + rel->rd_smgr = smgropen(rel->rd_locator, rel->rd_backend); + smgrpin(rel->rd_smgr); + } return rel->rd_smgr; } @@ -584,10 +582,11 @@ static inline void RelationCloseSmgr(Relation relation) { if (relation->rd_smgr != NULL) + { + smgrunpin(relation->rd_smgr); smgrclose(relation->rd_smgr); - - /* smgrclose should unhook from owner pointer */ - Assert(relation->rd_smgr == NULL); + relation->rd_smgr = NULL; + } } #endif /* !FRONTEND */ diff --git a/parser/include/postgres/utils/relcache.h b/parser/include/postgres/utils/relcache.h index 38524641..18c32ea7 100644 --- a/parser/include/postgres/utils/relcache.h +++ b/parser/include/postgres/utils/relcache.h @@ -4,7 +4,7 @@ * Relation descriptor cache definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/relcache.h @@ -51,7 +51,6 @@ extern Oid RelationGetReplicaIndex(Relation relation); extern List *RelationGetIndexExpressions(Relation relation); extern List *RelationGetDummyIndexExpressions(Relation relation); extern List *RelationGetIndexPredicate(Relation relation); -extern Datum *RelationGetIndexRawAttOptions(Relation indexrel); extern bytea **RelationGetIndexAttOptions(Relation relation, bool copy); /* @@ -63,7 +62,7 @@ typedef enum IndexAttrBitmapKind INDEX_ATTR_BITMAP_PRIMARY_KEY, INDEX_ATTR_BITMAP_IDENTITY_KEY, INDEX_ATTR_BITMAP_HOT_BLOCKING, - INDEX_ATTR_BITMAP_SUMMARIZED + INDEX_ATTR_BITMAP_SUMMARIZED, } IndexAttrBitmapKind; extern Bitmapset *RelationGetIndexAttrBitmap(Relation relation, @@ -130,8 +129,6 @@ extern void RelationCacheInvalidateEntry(Oid relationId); extern void RelationCacheInvalidate(bool debug_discard); -extern void RelationCloseSmgrByOid(Oid relationId); - #ifdef USE_ASSERT_CHECKING extern void AssertPendingSyncs_RelationCache(void); #else diff --git a/parser/include/postgres/utils/reltrigger.h b/parser/include/postgres/utils/reltrigger.h index df9a2fb6..dfef4c05 100644 --- a/parser/include/postgres/utils/reltrigger.h +++ b/parser/include/postgres/utils/reltrigger.h @@ -4,7 +4,7 @@ * POSTGRES relation trigger definitions. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/reltrigger.h diff --git a/parser/include/postgres/utils/resowner.h b/parser/include/postgres/utils/resowner.h index cd070b60..4e534bc3 100644 --- a/parser/include/postgres/utils/resowner.h +++ b/parser/include/postgres/utils/resowner.h @@ -9,7 +9,7 @@ * See utils/resowner/README for more info. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/resowner.h @@ -37,19 +37,88 @@ extern PGDLLIMPORT ResourceOwner AuxProcessResourceOwner; /* * Resource releasing is done in three phases: pre-locks, locks, and - * post-locks. The pre-lock phase must release any resources that are - * visible to other backends (such as pinned buffers); this ensures that - * when we release a lock that another backend may be waiting on, it will - * see us as being fully out of our transaction. The post-lock phase - * should be used for backend-internal cleanup. + * post-locks. The pre-lock phase must release any resources that are visible + * to other backends (such as pinned buffers); this ensures that when we + * release a lock that another backend may be waiting on, it will see us as + * being fully out of our transaction. The post-lock phase should be used for + * backend-internal cleanup. + * + * Within each phase, resources are released in priority order. Priority is + * just an integer specified in ResourceOwnerDesc. The priorities of built-in + * resource types are given below, extensions may use any priority relative to + * those or RELEASE_PRIO_FIRST/LAST. RELEASE_PRIO_FIRST is a fine choice if + * your resource doesn't depend on any other resources. */ typedef enum { - RESOURCE_RELEASE_BEFORE_LOCKS, + RESOURCE_RELEASE_BEFORE_LOCKS = 1, RESOURCE_RELEASE_LOCKS, - RESOURCE_RELEASE_AFTER_LOCKS + RESOURCE_RELEASE_AFTER_LOCKS, } ResourceReleasePhase; +typedef uint32 ResourceReleasePriority; + +/* priorities of built-in BEFORE_LOCKS resources */ +#define RELEASE_PRIO_BUFFER_IOS 100 +#define RELEASE_PRIO_BUFFER_PINS 200 +#define RELEASE_PRIO_RELCACHE_REFS 300 +#define RELEASE_PRIO_DSMS 400 +#define RELEASE_PRIO_JIT_CONTEXTS 500 +#define RELEASE_PRIO_CRYPTOHASH_CONTEXTS 600 +#define RELEASE_PRIO_HMAC_CONTEXTS 700 + +/* priorities of built-in AFTER_LOCKS resources */ +#define RELEASE_PRIO_CATCACHE_REFS 100 +#define RELEASE_PRIO_CATCACHE_LIST_REFS 200 +#define RELEASE_PRIO_PLANCACHE_REFS 300 +#define RELEASE_PRIO_TUPDESC_REFS 400 +#define RELEASE_PRIO_SNAPSHOT_REFS 500 +#define RELEASE_PRIO_FILES 600 +#define RELEASE_PRIO_WAITEVENTSETS 700 + +/* 0 is considered invalid */ +#define RELEASE_PRIO_FIRST 1 +#define RELEASE_PRIO_LAST UINT32_MAX + +/* + * In order to track an object, resowner.c needs a few callbacks for it. + * The callbacks for resources of a specific kind are encapsulated in + * ResourceOwnerDesc. + * + * Note that the callbacks occur post-commit or post-abort, so the callback + * functions can only do noncritical cleanup and must not fail. + */ +typedef struct ResourceOwnerDesc +{ + const char *name; /* name for the object kind, for debugging */ + + /* when are these objects released? */ + ResourceReleasePhase release_phase; + ResourceReleasePriority release_priority; + + /* + * Release resource. + * + * This is called for each resource in the resource owner, in the order + * specified by 'release_phase' and 'release_priority' when the whole + * resource owner is been released or when ResourceOwnerReleaseAllOfKind() + * is called. The resource is implicitly removed from the owner, the + * callback function doesn't need to call ResourceOwnerForget. + */ + void (*ReleaseResource) (Datum res); + + /* + * Format a string describing the resource, for debugging purposes. If a + * resource has not been properly released before commit, this is used to + * print a WARNING. + * + * This can be left to NULL, in which case a generic "[resource name]: %p" + * format is used. + */ + char *(*DebugPrint) (Datum res); + +} ResourceOwnerDesc; + /* * Dynamically loaded modules can get control during ResourceOwnerRelease * by providing a callback of this form. @@ -71,16 +140,28 @@ extern void ResourceOwnerRelease(ResourceOwner owner, ResourceReleasePhase phase, bool isCommit, bool isTopLevel); -extern void ResourceOwnerReleaseAllPlanCacheRefs(ResourceOwner owner); extern void ResourceOwnerDelete(ResourceOwner owner); extern ResourceOwner ResourceOwnerGetParent(ResourceOwner owner); extern void ResourceOwnerNewParent(ResourceOwner owner, ResourceOwner newparent); + +extern void ResourceOwnerEnlarge(ResourceOwner owner); +extern void ResourceOwnerRemember(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind); +extern void ResourceOwnerForget(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind); + +extern void ResourceOwnerReleaseAllOfKind(ResourceOwner owner, const ResourceOwnerDesc *kind); + extern void RegisterResourceReleaseCallback(ResourceReleaseCallback callback, void *arg); extern void UnregisterResourceReleaseCallback(ResourceReleaseCallback callback, void *arg); + extern void CreateAuxProcessResourceOwner(void); extern void ReleaseAuxProcessResources(bool isCommit); +/* special support for local lock management */ +struct LOCALLOCK; +extern void ResourceOwnerRememberLock(ResourceOwner owner, struct LOCALLOCK *locallock); +extern void ResourceOwnerForgetLock(ResourceOwner owner, struct LOCALLOCK *locallock); + #endif /* RESOWNER_H */ diff --git a/parser/include/postgres/utils/ruleutils.h b/parser/include/postgres/utils/ruleutils.h index b006d9d4..161fb5ef 100644 --- a/parser/include/postgres/utils/ruleutils.h +++ b/parser/include/postgres/utils/ruleutils.h @@ -3,7 +3,7 @@ * ruleutils.h * Declarations for ruleutils.c * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/ruleutils.h diff --git a/parser/include/postgres/utils/sharedtuplestore.h b/parser/include/postgres/utils/sharedtuplestore.h index c7075ad0..dcf676ff 100644 --- a/parser/include/postgres/utils/sharedtuplestore.h +++ b/parser/include/postgres/utils/sharedtuplestore.h @@ -3,7 +3,7 @@ * sharedtuplestore.h * Simple mechanism for sharing tuples between backends. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/sharedtuplestore.h diff --git a/parser/include/postgres/utils/snapmgr.h b/parser/include/postgres/utils/snapmgr.h index 980d37a1..9398a840 100644 --- a/parser/include/postgres/utils/snapmgr.h +++ b/parser/include/postgres/utils/snapmgr.h @@ -3,7 +3,7 @@ * snapmgr.h * POSTGRES snapshot manager * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/snapmgr.h @@ -19,40 +19,6 @@ #include "utils/snapshot.h" -/* - * The structure used to map times to TransactionId values for the "snapshot - * too old" feature must have a few entries at the tail to hold old values; - * otherwise the lookup will often fail and the expected early pruning or - * vacuum will not usually occur. It is best if this padding is for a number - * of minutes greater than a thread would normally be stalled, but it's OK if - * early vacuum opportunities are occasionally missed, so there's no need to - * use an extreme value or get too fancy. 10 minutes seems plenty. - */ -#define OLD_SNAPSHOT_PADDING_ENTRIES 10 -#define OLD_SNAPSHOT_TIME_MAP_ENTRIES (old_snapshot_threshold + OLD_SNAPSHOT_PADDING_ENTRIES) - -/* - * Common definition of relation properties that allow early pruning/vacuuming - * when old_snapshot_threshold >= 0. - */ -#define RelationAllowsEarlyPruning(rel) \ -( \ - RelationIsPermanent(rel) && !IsCatalogRelation(rel) \ - && !RelationIsAccessibleInLogicalDecoding(rel) \ -) - -#define EarlyPruningEnabled(rel) (old_snapshot_threshold >= 0 && RelationAllowsEarlyPruning(rel)) - -/* GUC variables */ -extern PGDLLIMPORT int old_snapshot_threshold; - - -extern Size SnapMgrShmemSize(void); -extern void SnapMgrInit(void); -extern TimestampTz GetSnapshotCurrentTimestamp(void); -extern TimestampTz GetOldSnapshotThresholdTimestamp(void); -extern void SnapshotTooOldMagicForTest(void); - extern PGDLLIMPORT bool FirstSnapshotSet; extern PGDLLIMPORT TransactionId TransactionXmin; @@ -97,14 +63,6 @@ extern PGDLLIMPORT SnapshotData CatalogSnapshotData; ((snapshot)->snapshot_type == SNAPSHOT_MVCC || \ (snapshot)->snapshot_type == SNAPSHOT_HISTORIC_MVCC) -#ifndef FRONTEND -static inline bool -OldSnapshotThresholdActive(void) -{ - return old_snapshot_threshold >= 0; -} -#endif - extern Snapshot GetTransactionSnapshot(void); extern Snapshot GetLatestSnapshot(void); extern void SnapshotSetCommandId(CommandId curcid); @@ -138,13 +96,6 @@ extern void DeleteAllExportedSnapshotFiles(void); extern void WaitForOlderSnapshots(TransactionId limitXmin, bool progress); extern bool ThereAreNoPriorRegisteredSnapshots(void); extern bool HaveRegisteredOrActiveSnapshot(void); -extern bool TransactionIdLimitedForOldSnapshots(TransactionId recentXmin, - Relation relation, - TransactionId *limit_xid, - TimestampTz *limit_ts); -extern void SetOldSnapshotThresholdTimestamp(TimestampTz ts, TransactionId xlimit); -extern void MaintainOldSnapshotTimeMapping(TimestampTz whenTaken, - TransactionId xmin); extern char *ExportSnapshot(Snapshot snapshot); @@ -156,8 +107,6 @@ typedef struct GlobalVisState GlobalVisState; extern GlobalVisState *GlobalVisTestFor(Relation rel); extern bool GlobalVisTestIsRemovableXid(GlobalVisState *state, TransactionId xid); extern bool GlobalVisTestIsRemovableFullXid(GlobalVisState *state, FullTransactionId fxid); -extern FullTransactionId GlobalVisTestNonRemovableFullHorizon(GlobalVisState *state); -extern TransactionId GlobalVisTestNonRemovableHorizon(GlobalVisState *state); extern bool GlobalVisCheckRemovableXid(Relation rel, TransactionId xid); extern bool GlobalVisCheckRemovableFullXid(Relation rel, FullTransactionId fxid); diff --git a/parser/include/postgres/utils/snapshot.h b/parser/include/postgres/utils/snapshot.h index 583a667a..8d1e31e8 100644 --- a/parser/include/postgres/utils/snapshot.h +++ b/parser/include/postgres/utils/snapshot.h @@ -3,7 +3,7 @@ * snapshot.h * POSTGRES snapshot definition * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/snapshot.h @@ -115,7 +115,7 @@ typedef enum SnapshotType * For visibility checks snapshot->min must have been set up with the xmin * horizon to use. */ - SNAPSHOT_NON_VACUUMABLE + SNAPSHOT_NON_VACUUMABLE, } SnapshotType; typedef struct SnapshotData *Snapshot; diff --git a/parser/include/postgres/utils/sortsupport.h b/parser/include/postgres/utils/sortsupport.h index 475ed1d5..4bf99584 100644 --- a/parser/include/postgres/utils/sortsupport.h +++ b/parser/include/postgres/utils/sortsupport.h @@ -42,7 +42,7 @@ * function for such cases, but probably not any other acceleration method. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/sortsupport.h diff --git a/parser/include/postgres/utils/syscache.h b/parser/include/postgres/utils/syscache.h index 67ea6e49..03a27dd0 100644 --- a/parser/include/postgres/utils/syscache.h +++ b/parser/include/postgres/utils/syscache.h @@ -6,7 +6,7 @@ * See also lsyscache.h, which provides convenience routines for * common cache-lookup operations. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/syscache.h @@ -20,103 +20,7 @@ #include "access/htup.h" /* we intentionally do not include utils/catcache.h here */ -/* - * SysCache identifiers. - * - * The order of these identifiers must match the order - * of the entries in the array cacheinfo[] in syscache.c. - * Keep them in alphabetical order (renumbering only costs a - * backend rebuild). - */ - -enum SysCacheIdentifier -{ - AGGFNOID = 0, - AMNAME, - AMOID, - AMOPOPID, - AMOPSTRATEGY, - AMPROCNUM, - ATTNAME, - ATTNUM, - AUTHMEMMEMROLE, - AUTHMEMROLEMEM, - AUTHNAME, - AUTHOID, - CASTSOURCETARGET, - CLAAMNAMENSP, - CLAOID, - COLLNAMEENCNSP, - COLLOID, - CONDEFAULT, - CONNAMENSP, - CONSTROID, - CONVOID, - DATABASEOID, - DEFACLROLENSPOBJ, - ENUMOID, - ENUMTYPOIDNAME, - EVENTTRIGGERNAME, - EVENTTRIGGEROID, - FOREIGNDATAWRAPPERNAME, - FOREIGNDATAWRAPPEROID, - FOREIGNSERVERNAME, - FOREIGNSERVEROID, - FOREIGNTABLEREL, - INDEXRELID, - LANGNAME, - LANGOID, - NAMESPACENAME, - NAMESPACEOID, - OPERNAMENSP, - OPEROID, - OPFAMILYAMNAMENSP, - OPFAMILYOID, - PARAMETERACLNAME, - PARAMETERACLOID, - PARTRELID, - PROCNAMEARGSNSP, - PROCOID, - PUBLICATIONNAME, - PUBLICATIONNAMESPACE, - PUBLICATIONNAMESPACEMAP, - PUBLICATIONOID, - PUBLICATIONREL, - PUBLICATIONRELMAP, - RANGEMULTIRANGE, - RANGETYPE, - RELNAMENSP, - RELOID, - REPLORIGIDENT, - REPLORIGNAME, - RULERELNAME, - SEQRELID, - STATEXTDATASTXOID, - STATEXTNAMENSP, - STATEXTOID, - STATRELATTINH, - SUBSCRIPTIONNAME, - SUBSCRIPTIONOID, - SUBSCRIPTIONRELMAP, - TABLESPACEOID, - TRFOID, - TRFTYPELANG, - TSCONFIGMAP, - TSCONFIGNAMENSP, - TSCONFIGOID, - TSDICTNAMENSP, - TSDICTOID, - TSPARSERNAMENSP, - TSPARSEROID, - TSTEMPLATENAMENSP, - TSTEMPLATEOID, - TYPENAMENSP, - TYPEOID, - USERMAPPINGOID, - USERMAPPINGUSERSERVER - -#define SysCacheSize (USERMAPPINGUSERSERVER + 1) -}; +#include "catalog/syscache_ids.h" extern void InitCatalogCache(void); extern void InitCatalogCachePhase2(void); diff --git a/parser/include/postgres/utils/timeout.h b/parser/include/postgres/utils/timeout.h index e561a1cd..a5d8f078 100644 --- a/parser/include/postgres/utils/timeout.h +++ b/parser/include/postgres/utils/timeout.h @@ -4,7 +4,7 @@ * Routines to multiplex SIGALRM interrupts for multiple timeout reasons. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/timeout.h @@ -31,6 +31,7 @@ typedef enum TimeoutId STANDBY_TIMEOUT, STANDBY_LOCK_TIMEOUT, IDLE_IN_TRANSACTION_SESSION_TIMEOUT, + TRANSACTION_TIMEOUT, IDLE_SESSION_TIMEOUT, IDLE_STATS_UPDATE_TIMEOUT, CLIENT_CONNECTION_CHECK_TIMEOUT, @@ -51,7 +52,7 @@ typedef enum TimeoutType { TMPARAM_AFTER, TMPARAM_AT, - TMPARAM_EVERY + TMPARAM_EVERY, } TimeoutType; typedef struct diff --git a/parser/include/postgres/utils/timestamp.h b/parser/include/postgres/utils/timestamp.h index c4dd96c8..a6ce03ed 100644 --- a/parser/include/postgres/utils/timestamp.h +++ b/parser/include/postgres/utils/timestamp.h @@ -3,7 +3,7 @@ * timestamp.h * Definitions for the SQL "timestamp" and "interval" types. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/timestamp.h diff --git a/parser/include/postgres/utils/tuplesort.h b/parser/include/postgres/utils/tuplesort.h index af057b63..cde83f62 100644 --- a/parser/include/postgres/utils/tuplesort.h +++ b/parser/include/postgres/utils/tuplesort.h @@ -11,7 +11,7 @@ * algorithm. Parallel sorts use a variant of this external sort * algorithm, and are typically only used for large amounts of data. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/tuplesort.h @@ -21,6 +21,7 @@ #ifndef TUPLESORT_H #define TUPLESORT_H +#include "access/brin_tuple.h" #include "access/itup.h" #include "executor/tuptable.h" #include "storage/dsm.h" @@ -77,7 +78,7 @@ typedef enum SORT_TYPE_TOP_N_HEAPSORT = 1 << 0, SORT_TYPE_QUICKSORT = 1 << 1, SORT_TYPE_EXTERNAL_SORT = 1 << 2, - SORT_TYPE_EXTERNAL_MERGE = 1 << 3 + SORT_TYPE_EXTERNAL_MERGE = 1 << 3, } TuplesortMethod; #define NUM_TUPLESORTMETHODS 4 @@ -85,7 +86,7 @@ typedef enum typedef enum { SORT_SPACE_TYPE_DISK, - SORT_SPACE_TYPE_MEMORY + SORT_SPACE_TYPE_MEMORY, } TuplesortSpaceType; /* Bitwise option flags for tuple sorts */ @@ -97,6 +98,15 @@ typedef enum /* specifies if the tuplesort is able to support bounded sorts */ #define TUPLESORT_ALLOWBOUNDED (1 << 1) +/* + * For bounded sort, tuples get pfree'd when they fall outside of the bound. + * When bounded sorts are not required, we can use a bump context for tuple + * allocation as there's no risk that pfree will ever be called for a tuple. + * Define a macro to make it easier for code to figure out if we're using a + * bump allocator. + */ +#define TupleSortUseBumpTupleCxt(opt) (((opt) & TUPLESORT_ALLOWBOUNDED) == 0) + typedef struct TuplesortInstrumentation { TuplesortMethod sortMethod; /* sort algorithm used */ @@ -108,10 +118,11 @@ typedef struct TuplesortInstrumentation * The objects we actually sort are SortTuple structs. These contain * a pointer to the tuple proper (might be a MinimalTuple or IndexTuple), * which is a separate palloc chunk --- we assume it is just one chunk and - * can be freed by a simple pfree() (except during merge, when we use a - * simple slab allocator). SortTuples also contain the tuple's first key - * column in Datum/nullflag format, and a source/input tape number that - * tracks which tape each heap element/slot belongs to during merging. + * can be freed by a simple pfree() (except during merge, where we use a + * simple slab allocator, and during a non-bounded sort where we use a bump + * allocator). SortTuples also contain the tuple's first key column in + * Datum/nullflag format, and a source/input tape number that tracks which + * tape each heap element/slot belongs to during merging. * * Storing the first key column lets us save heap_getattr or index_getattr * calls during tuple comparisons. We could extract and save all the key @@ -162,6 +173,13 @@ typedef struct */ SortTupleComparator comparetup; + /* + * Fall back to the full tuple for comparison, but only compare the first + * sortkey if it was abbreviated. Otherwise, only compare second and later + * sortkeys. + */ + SortTupleComparator comparetup_tiebreak; + /* * Alter datum1 representation in the SortTuple's array back from the * abbreviated key to the first column value. @@ -275,6 +293,9 @@ typedef struct * The "index_hash" API is similar to index_btree, but the tuples are * actually sorted by their hash codes not the raw data. * + * The "index_brin" API is similar to index_btree, but the tuples are + * BrinTuple and are sorted by their block number not the raw data. + * * Parallel sort callers are required to coordinate multiple tuplesort states * in a leader process and one or more worker processes. The leader process * must launch workers, and have each perform an independent "partial" @@ -356,7 +377,8 @@ extern Tuplesortstate *tuplesort_begin_common(int workMem, extern void tuplesort_set_bound(Tuplesortstate *state, int64 bound); extern bool tuplesort_used_bound(Tuplesortstate *state); extern void tuplesort_puttuple_common(Tuplesortstate *state, - SortTuple *tuple, bool useAbbrev); + SortTuple *tuple, bool useAbbrev, + Size tuplen); extern void tuplesort_performsort(Tuplesortstate *state); extern bool tuplesort_gettuple_common(Tuplesortstate *state, bool forward, SortTuple *stup); @@ -419,6 +441,8 @@ extern Tuplesortstate *tuplesort_begin_index_gist(Relation heapRel, Relation indexRel, int workMem, SortCoordinate coordinate, int sortopt); +extern Tuplesortstate *tuplesort_begin_index_brin(int workMem, SortCoordinate coordinate, + int sortopt); extern Tuplesortstate *tuplesort_begin_datum(Oid datumType, Oid sortOperator, Oid sortCollation, bool nullsFirstFlag, @@ -430,7 +454,8 @@ extern void tuplesort_puttupleslot(Tuplesortstate *state, extern void tuplesort_putheaptuple(Tuplesortstate *state, HeapTuple tup); extern void tuplesort_putindextuplevalues(Tuplesortstate *state, Relation rel, ItemPointer self, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); +extern void tuplesort_putbrintuple(Tuplesortstate *state, BrinTuple *tuple, Size size); extern void tuplesort_putdatum(Tuplesortstate *state, Datum val, bool isNull); @@ -438,6 +463,8 @@ extern bool tuplesort_gettupleslot(Tuplesortstate *state, bool forward, bool copy, TupleTableSlot *slot, Datum *abbrev); extern HeapTuple tuplesort_getheaptuple(Tuplesortstate *state, bool forward); extern IndexTuple tuplesort_getindextuple(Tuplesortstate *state, bool forward); +extern BrinTuple *tuplesort_getbrintuple(Tuplesortstate *state, Size *len, + bool forward); extern bool tuplesort_getdatum(Tuplesortstate *state, bool forward, bool copy, Datum *val, bool *isNull, Datum *abbrev); diff --git a/parser/include/postgres/utils/tuplestore.h b/parser/include/postgres/utils/tuplestore.h index 36424b80..419613c1 100644 --- a/parser/include/postgres/utils/tuplestore.h +++ b/parser/include/postgres/utils/tuplestore.h @@ -21,7 +21,7 @@ * Also, we have changed the API to return tuples in TupleTableSlots, * so that there is a check to prevent attempted access to system columns. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/tuplestore.h @@ -54,10 +54,7 @@ extern void tuplestore_puttupleslot(Tuplestorestate *state, TupleTableSlot *slot); extern void tuplestore_puttuple(Tuplestorestate *state, HeapTuple tuple); extern void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc, - Datum *values, bool *isnull); - -/* Backwards compatibility macro */ -#define tuplestore_donestoring(state) ((void) 0) + const Datum *values, const bool *isnull); extern int tuplestore_alloc_read_pointer(Tuplestorestate *state, int eflags); diff --git a/parser/include/postgres/utils/typcache.h b/parser/include/postgres/utils/typcache.h index 95f3a9ee..f506cc4a 100644 --- a/parser/include/postgres/utils/typcache.h +++ b/parser/include/postgres/utils/typcache.h @@ -6,7 +6,7 @@ * The type cache exists to speed lookup of certain information about data * types that is not directly available from a type's pg_type row. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/typcache.h @@ -96,6 +96,7 @@ typedef struct TypeCacheEntry * btree comparison function. */ struct TypeCacheEntry *rngelemtype; /* range's element type */ + Oid rng_opfamily; /* opfamily to use for range comparisons */ Oid rng_collation; /* collation for comparisons, if any */ FmgrInfo rng_cmp_proc_finfo; /* comparison function */ FmgrInfo rng_canonical_finfo; /* canonicalization function, if any */ diff --git a/parser/include/postgres/utils/varlena.h b/parser/include/postgres/utils/varlena.h index 77f5b247..e6d90b94 100644 --- a/parser/include/postgres/utils/varlena.h +++ b/parser/include/postgres/utils/varlena.h @@ -3,7 +3,7 @@ * varlena.h * Functions for the variable-length built-in types. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/varlena.h diff --git a/parser/include/postgres/utils/wait_event.h b/parser/include/postgres/utils/wait_event.h index 518d3b0a..9f18a753 100644 --- a/parser/include/postgres/utils/wait_event.h +++ b/parser/include/postgres/utils/wait_event.h @@ -2,7 +2,7 @@ * wait_event.h * Definitions related to wait event reporting * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/wait_event.h * ---------- @@ -17,226 +17,17 @@ */ #define PG_WAIT_LWLOCK 0x01000000U #define PG_WAIT_LOCK 0x03000000U -#define PG_WAIT_BUFFER_PIN 0x04000000U +#define PG_WAIT_BUFFERPIN 0x04000000U #define PG_WAIT_ACTIVITY 0x05000000U #define PG_WAIT_CLIENT 0x06000000U #define PG_WAIT_EXTENSION 0x07000000U #define PG_WAIT_IPC 0x08000000U #define PG_WAIT_TIMEOUT 0x09000000U #define PG_WAIT_IO 0x0A000000U +#define PG_WAIT_INJECTIONPOINT 0x0B000000U -/* ---------- - * Wait Events - Activity - * - * Use this category when a process is waiting because it has no work to do, - * unless the "Client" or "Timeout" category describes the situation better. - * Typically, this should only be used for background processes. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY, - WAIT_EVENT_AUTOVACUUM_MAIN, - WAIT_EVENT_BGWRITER_HIBERNATE, - WAIT_EVENT_BGWRITER_MAIN, - WAIT_EVENT_CHECKPOINTER_MAIN, - WAIT_EVENT_LOGICAL_APPLY_MAIN, - WAIT_EVENT_LOGICAL_LAUNCHER_MAIN, - WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN, - WAIT_EVENT_RECOVERY_WAL_STREAM, - WAIT_EVENT_SYSLOGGER_MAIN, - WAIT_EVENT_WAL_RECEIVER_MAIN, - WAIT_EVENT_WAL_SENDER_MAIN, - WAIT_EVENT_WAL_WRITER_MAIN -} WaitEventActivity; - -/* ---------- - * Wait Events - Client - * - * Use this category when a process is waiting to send data to or receive data - * from the frontend process to which it is connected. This is never used for - * a background process, which has no client connection. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT, - WAIT_EVENT_CLIENT_WRITE, - WAIT_EVENT_GSS_OPEN_SERVER, - WAIT_EVENT_LIBPQWALRECEIVER_CONNECT, - WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE, - WAIT_EVENT_SSL_OPEN_SERVER, - WAIT_EVENT_WAL_SENDER_WAIT_WAL, - WAIT_EVENT_WAL_SENDER_WRITE_DATA, -} WaitEventClient; - -/* ---------- - * Wait Events - IPC - * - * Use this category when a process cannot complete the work it is doing because - * it is waiting for a notification from another process. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_APPEND_READY = PG_WAIT_IPC, - WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND, - WAIT_EVENT_ARCHIVE_COMMAND, - WAIT_EVENT_BACKEND_TERMINATION, - WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE, - WAIT_EVENT_BGWORKER_SHUTDOWN, - WAIT_EVENT_BGWORKER_STARTUP, - WAIT_EVENT_BTREE_PAGE, - WAIT_EVENT_BUFFER_IO, - WAIT_EVENT_CHECKPOINT_DONE, - WAIT_EVENT_CHECKPOINT_START, - WAIT_EVENT_EXECUTE_GATHER, - WAIT_EVENT_HASH_BATCH_ALLOCATE, - WAIT_EVENT_HASH_BATCH_ELECT, - WAIT_EVENT_HASH_BATCH_LOAD, - WAIT_EVENT_HASH_BUILD_ALLOCATE, - WAIT_EVENT_HASH_BUILD_ELECT, - WAIT_EVENT_HASH_BUILD_HASH_INNER, - WAIT_EVENT_HASH_BUILD_HASH_OUTER, - WAIT_EVENT_HASH_GROW_BATCHES_DECIDE, - WAIT_EVENT_HASH_GROW_BATCHES_ELECT, - WAIT_EVENT_HASH_GROW_BATCHES_FINISH, - WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE, - WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION, - WAIT_EVENT_HASH_GROW_BUCKETS_ELECT, - WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE, - WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT, - WAIT_EVENT_LOGICAL_APPLY_SEND_DATA, - WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE, - WAIT_EVENT_LOGICAL_SYNC_DATA, - WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE, - WAIT_EVENT_MQ_INTERNAL, - WAIT_EVENT_MQ_PUT_MESSAGE, - WAIT_EVENT_MQ_RECEIVE, - WAIT_EVENT_MQ_SEND, - WAIT_EVENT_PARALLEL_BITMAP_SCAN, - WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN, - WAIT_EVENT_PARALLEL_FINISH, - WAIT_EVENT_PROCARRAY_GROUP_UPDATE, - WAIT_EVENT_PROC_SIGNAL_BARRIER, - WAIT_EVENT_PROMOTE, - WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT, - WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE, - WAIT_EVENT_RECOVERY_END_COMMAND, - WAIT_EVENT_RECOVERY_PAUSE, - WAIT_EVENT_REPLICATION_ORIGIN_DROP, - WAIT_EVENT_REPLICATION_SLOT_DROP, - WAIT_EVENT_RESTORE_COMMAND, - WAIT_EVENT_SAFE_SNAPSHOT, - WAIT_EVENT_SYNC_REP, - WAIT_EVENT_WAL_RECEIVER_EXIT, - WAIT_EVENT_WAL_RECEIVER_WAIT_START, - WAIT_EVENT_XACT_GROUP_UPDATE -} WaitEventIPC; - -/* ---------- - * Wait Events - Timeout - * - * Use this category when a process is waiting for a timeout to expire. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT, - WAIT_EVENT_CHECKPOINT_WRITE_DELAY, - WAIT_EVENT_PG_SLEEP, - WAIT_EVENT_RECOVERY_APPLY_DELAY, - WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL, - WAIT_EVENT_REGISTER_SYNC_REQUEST, - WAIT_EVENT_SPIN_DELAY, - WAIT_EVENT_VACUUM_DELAY, - WAIT_EVENT_VACUUM_TRUNCATE -} WaitEventTimeout; - -/* ---------- - * Wait Events - IO - * - * Use this category when a process is waiting for a IO. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO, - WAIT_EVENT_BASEBACKUP_SYNC, - WAIT_EVENT_BASEBACKUP_WRITE, - WAIT_EVENT_BUFFILE_READ, - WAIT_EVENT_BUFFILE_WRITE, - WAIT_EVENT_BUFFILE_TRUNCATE, - WAIT_EVENT_CONTROL_FILE_READ, - WAIT_EVENT_CONTROL_FILE_SYNC, - WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE, - WAIT_EVENT_CONTROL_FILE_WRITE, - WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE, - WAIT_EVENT_COPY_FILE_READ, - WAIT_EVENT_COPY_FILE_WRITE, - WAIT_EVENT_DATA_FILE_EXTEND, - WAIT_EVENT_DATA_FILE_FLUSH, - WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC, - WAIT_EVENT_DATA_FILE_PREFETCH, - WAIT_EVENT_DATA_FILE_READ, - WAIT_EVENT_DATA_FILE_SYNC, - WAIT_EVENT_DATA_FILE_TRUNCATE, - WAIT_EVENT_DATA_FILE_WRITE, - WAIT_EVENT_DSM_ALLOCATE, - WAIT_EVENT_DSM_FILL_ZERO_WRITE, - WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ, - WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC, - WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE, - WAIT_EVENT_LOCK_FILE_CREATE_READ, - WAIT_EVENT_LOCK_FILE_CREATE_SYNC, - WAIT_EVENT_LOCK_FILE_CREATE_WRITE, - WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ, - WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC, - WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC, - WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE, - WAIT_EVENT_LOGICAL_REWRITE_SYNC, - WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE, - WAIT_EVENT_LOGICAL_REWRITE_WRITE, - WAIT_EVENT_RELATION_MAP_READ, - WAIT_EVENT_RELATION_MAP_REPLACE, - WAIT_EVENT_RELATION_MAP_WRITE, - WAIT_EVENT_REORDER_BUFFER_READ, - WAIT_EVENT_REORDER_BUFFER_WRITE, - WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ, - WAIT_EVENT_REPLICATION_SLOT_READ, - WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC, - WAIT_EVENT_REPLICATION_SLOT_SYNC, - WAIT_EVENT_REPLICATION_SLOT_WRITE, - WAIT_EVENT_SLRU_FLUSH_SYNC, - WAIT_EVENT_SLRU_READ, - WAIT_EVENT_SLRU_SYNC, - WAIT_EVENT_SLRU_WRITE, - WAIT_EVENT_SNAPBUILD_READ, - WAIT_EVENT_SNAPBUILD_SYNC, - WAIT_EVENT_SNAPBUILD_WRITE, - WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC, - WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE, - WAIT_EVENT_TIMELINE_HISTORY_READ, - WAIT_EVENT_TIMELINE_HISTORY_SYNC, - WAIT_EVENT_TIMELINE_HISTORY_WRITE, - WAIT_EVENT_TWOPHASE_FILE_READ, - WAIT_EVENT_TWOPHASE_FILE_SYNC, - WAIT_EVENT_TWOPHASE_FILE_WRITE, - WAIT_EVENT_VERSION_FILE_WRITE, - WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ, - WAIT_EVENT_WAL_BOOTSTRAP_SYNC, - WAIT_EVENT_WAL_BOOTSTRAP_WRITE, - WAIT_EVENT_WAL_COPY_READ, - WAIT_EVENT_WAL_COPY_SYNC, - WAIT_EVENT_WAL_COPY_WRITE, - WAIT_EVENT_WAL_INIT_SYNC, - WAIT_EVENT_WAL_INIT_WRITE, - WAIT_EVENT_WAL_READ, - WAIT_EVENT_WAL_SYNC, - WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN, - WAIT_EVENT_WAL_WRITE -} WaitEventIO; - +/* enums for wait events */ +#include "utils/wait_event_types.h" extern const char *pgstat_get_wait_event(uint32 wait_event_info); extern const char *pgstat_get_wait_event_type(uint32 wait_event_info); @@ -248,6 +39,29 @@ extern void pgstat_reset_wait_event_storage(void); extern PGDLLIMPORT uint32 *my_wait_event_info; +/* + * Wait Events - Extension, InjectionPoint + * + * Use InjectionPoint when the server process is waiting in an injection + * point. Use Extension for other cases of the server process waiting for + * some condition defined by an extension module. + * + * Extensions can define their own wait events in these categories. They + * should call one of these functions with a wait event string. If the wait + * event associated to a string is already allocated, it returns the wait + * event information to use. If not, it gets one wait event ID allocated from + * a shared counter, associates the string to the ID in the shared dynamic + * hash and returns the wait event information. + * + * The ID retrieved can be used with pgstat_report_wait_start() or equivalent. + */ +extern uint32 WaitEventExtensionNew(const char *wait_event_name); +extern uint32 WaitEventInjectionPointNew(const char *wait_event_name); + +extern void WaitEventCustomShmemInit(void); +extern Size WaitEventCustomShmemSize(void); +extern char **GetWaitEventCustomNames(uint32 classId, int *nwaitevents); + /* ---------- * pgstat_report_wait_start() - * diff --git a/parser/include/postgres/utils/wait_event_types.h b/parser/include/postgres/utils/wait_event_types.h new file mode 100644 index 00000000..fdd1e2ea --- /dev/null +++ b/parser/include/postgres/utils/wait_event_types.h @@ -0,0 +1,218 @@ +/*------------------------------------------------------------------------- + * + * wait_event_types.h + * Generated wait events infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/utils/activity/generate-wait_event_types.pl + * + *------------------------------------------------------------------------- + */ + +#ifndef WAIT_EVENT_TYPES_H +#define WAIT_EVENT_TYPES_H + +#include "utils/wait_event.h" + +typedef enum +{ + WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY, + WAIT_EVENT_AUTOVACUUM_MAIN, + WAIT_EVENT_BGWRITER_HIBERNATE, + WAIT_EVENT_BGWRITER_MAIN, + WAIT_EVENT_CHECKPOINTER_MAIN, + WAIT_EVENT_LOGICAL_APPLY_MAIN, + WAIT_EVENT_LOGICAL_LAUNCHER_MAIN, + WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN, + WAIT_EVENT_RECOVERY_WAL_STREAM, + WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN, + WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN, + WAIT_EVENT_SYSLOGGER_MAIN, + WAIT_EVENT_WAL_RECEIVER_MAIN, + WAIT_EVENT_WAL_SENDER_MAIN, + WAIT_EVENT_WAL_SUMMARIZER_WAL, + WAIT_EVENT_WAL_WRITER_MAIN +} WaitEventActivity; + +typedef enum +{ + WAIT_EVENT_BUFFER_PIN = PG_WAIT_BUFFERPIN +} WaitEventBufferPin; + +typedef enum +{ + WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT, + WAIT_EVENT_CLIENT_WRITE, + WAIT_EVENT_GSS_OPEN_SERVER, + WAIT_EVENT_LIBPQWALRECEIVER_CONNECT, + WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE, + WAIT_EVENT_SSL_OPEN_SERVER, + WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION, + WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL, + WAIT_EVENT_WAL_SENDER_WRITE_DATA +} WaitEventClient; + +typedef enum +{ + WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO, + WAIT_EVENT_BASEBACKUP_SYNC, + WAIT_EVENT_BASEBACKUP_WRITE, + WAIT_EVENT_BUFFILE_READ, + WAIT_EVENT_BUFFILE_TRUNCATE, + WAIT_EVENT_BUFFILE_WRITE, + WAIT_EVENT_CONTROL_FILE_READ, + WAIT_EVENT_CONTROL_FILE_SYNC, + WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE, + WAIT_EVENT_CONTROL_FILE_WRITE, + WAIT_EVENT_CONTROL_FILE_WRITE_UPDATE, + WAIT_EVENT_COPY_FILE_READ, + WAIT_EVENT_COPY_FILE_WRITE, + WAIT_EVENT_DATA_FILE_EXTEND, + WAIT_EVENT_DATA_FILE_FLUSH, + WAIT_EVENT_DATA_FILE_IMMEDIATE_SYNC, + WAIT_EVENT_DATA_FILE_PREFETCH, + WAIT_EVENT_DATA_FILE_READ, + WAIT_EVENT_DATA_FILE_SYNC, + WAIT_EVENT_DATA_FILE_TRUNCATE, + WAIT_EVENT_DATA_FILE_WRITE, + WAIT_EVENT_DSM_ALLOCATE, + WAIT_EVENT_DSM_FILL_ZERO_WRITE, + WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ, + WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC, + WAIT_EVENT_LOCK_FILE_ADDTODATADIR_WRITE, + WAIT_EVENT_LOCK_FILE_CREATE_READ, + WAIT_EVENT_LOCK_FILE_CREATE_SYNC, + WAIT_EVENT_LOCK_FILE_CREATE_WRITE, + WAIT_EVENT_LOCK_FILE_RECHECKDATADIR_READ, + WAIT_EVENT_LOGICAL_REWRITE_CHECKPOINT_SYNC, + WAIT_EVENT_LOGICAL_REWRITE_MAPPING_SYNC, + WAIT_EVENT_LOGICAL_REWRITE_MAPPING_WRITE, + WAIT_EVENT_LOGICAL_REWRITE_SYNC, + WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE, + WAIT_EVENT_LOGICAL_REWRITE_WRITE, + WAIT_EVENT_RELATION_MAP_READ, + WAIT_EVENT_RELATION_MAP_REPLACE, + WAIT_EVENT_RELATION_MAP_WRITE, + WAIT_EVENT_REORDER_BUFFER_READ, + WAIT_EVENT_REORDER_BUFFER_WRITE, + WAIT_EVENT_REORDER_LOGICAL_MAPPING_READ, + WAIT_EVENT_REPLICATION_SLOT_READ, + WAIT_EVENT_REPLICATION_SLOT_RESTORE_SYNC, + WAIT_EVENT_REPLICATION_SLOT_SYNC, + WAIT_EVENT_REPLICATION_SLOT_WRITE, + WAIT_EVENT_SLRU_FLUSH_SYNC, + WAIT_EVENT_SLRU_READ, + WAIT_EVENT_SLRU_SYNC, + WAIT_EVENT_SLRU_WRITE, + WAIT_EVENT_SNAPBUILD_READ, + WAIT_EVENT_SNAPBUILD_SYNC, + WAIT_EVENT_SNAPBUILD_WRITE, + WAIT_EVENT_TIMELINE_HISTORY_FILE_SYNC, + WAIT_EVENT_TIMELINE_HISTORY_FILE_WRITE, + WAIT_EVENT_TIMELINE_HISTORY_READ, + WAIT_EVENT_TIMELINE_HISTORY_SYNC, + WAIT_EVENT_TIMELINE_HISTORY_WRITE, + WAIT_EVENT_TWOPHASE_FILE_READ, + WAIT_EVENT_TWOPHASE_FILE_SYNC, + WAIT_EVENT_TWOPHASE_FILE_WRITE, + WAIT_EVENT_VERSION_FILE_SYNC, + WAIT_EVENT_VERSION_FILE_WRITE, + WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ, + WAIT_EVENT_WAL_BOOTSTRAP_SYNC, + WAIT_EVENT_WAL_BOOTSTRAP_WRITE, + WAIT_EVENT_WAL_COPY_READ, + WAIT_EVENT_WAL_COPY_SYNC, + WAIT_EVENT_WAL_COPY_WRITE, + WAIT_EVENT_WAL_INIT_SYNC, + WAIT_EVENT_WAL_INIT_WRITE, + WAIT_EVENT_WAL_READ, + WAIT_EVENT_WAL_SUMMARY_READ, + WAIT_EVENT_WAL_SUMMARY_WRITE, + WAIT_EVENT_WAL_SYNC, + WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN, + WAIT_EVENT_WAL_WRITE +} WaitEventIO; + +typedef enum +{ + WAIT_EVENT_APPEND_READY = PG_WAIT_IPC, + WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND, + WAIT_EVENT_ARCHIVE_COMMAND, + WAIT_EVENT_BACKEND_TERMINATION, + WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE, + WAIT_EVENT_BGWORKER_SHUTDOWN, + WAIT_EVENT_BGWORKER_STARTUP, + WAIT_EVENT_BTREE_PAGE, + WAIT_EVENT_BUFFER_IO, + WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE, + WAIT_EVENT_CHECKPOINT_DELAY_START, + WAIT_EVENT_CHECKPOINT_DONE, + WAIT_EVENT_CHECKPOINT_START, + WAIT_EVENT_EXECUTE_GATHER, + WAIT_EVENT_HASH_BATCH_ALLOCATE, + WAIT_EVENT_HASH_BATCH_ELECT, + WAIT_EVENT_HASH_BATCH_LOAD, + WAIT_EVENT_HASH_BUILD_ALLOCATE, + WAIT_EVENT_HASH_BUILD_ELECT, + WAIT_EVENT_HASH_BUILD_HASH_INNER, + WAIT_EVENT_HASH_BUILD_HASH_OUTER, + WAIT_EVENT_HASH_GROW_BATCHES_DECIDE, + WAIT_EVENT_HASH_GROW_BATCHES_ELECT, + WAIT_EVENT_HASH_GROW_BATCHES_FINISH, + WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE, + WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION, + WAIT_EVENT_HASH_GROW_BUCKETS_ELECT, + WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE, + WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT, + WAIT_EVENT_LOGICAL_APPLY_SEND_DATA, + WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE, + WAIT_EVENT_LOGICAL_SYNC_DATA, + WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE, + WAIT_EVENT_MESSAGE_QUEUE_INTERNAL, + WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE, + WAIT_EVENT_MESSAGE_QUEUE_RECEIVE, + WAIT_EVENT_MESSAGE_QUEUE_SEND, + WAIT_EVENT_MULTIXACT_CREATION, + WAIT_EVENT_PARALLEL_BITMAP_SCAN, + WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN, + WAIT_EVENT_PARALLEL_FINISH, + WAIT_EVENT_PROCARRAY_GROUP_UPDATE, + WAIT_EVENT_PROC_SIGNAL_BARRIER, + WAIT_EVENT_PROMOTE, + WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT, + WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE, + WAIT_EVENT_RECOVERY_END_COMMAND, + WAIT_EVENT_RECOVERY_PAUSE, + WAIT_EVENT_REPLICATION_ORIGIN_DROP, + WAIT_EVENT_REPLICATION_SLOT_DROP, + WAIT_EVENT_RESTORE_COMMAND, + WAIT_EVENT_SAFE_SNAPSHOT, + WAIT_EVENT_SYNC_REP, + WAIT_EVENT_WAL_RECEIVER_EXIT, + WAIT_EVENT_WAL_RECEIVER_WAIT_START, + WAIT_EVENT_WAL_SUMMARY_READY, + WAIT_EVENT_XACT_GROUP_UPDATE +} WaitEventIPC; + +typedef enum +{ + WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT, + WAIT_EVENT_CHECKPOINT_WRITE_DELAY, + WAIT_EVENT_PG_SLEEP, + WAIT_EVENT_RECOVERY_APPLY_DELAY, + WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL, + WAIT_EVENT_REGISTER_SYNC_REQUEST, + WAIT_EVENT_SPIN_DELAY, + WAIT_EVENT_VACUUM_DELAY, + WAIT_EVENT_VACUUM_TRUNCATE, + WAIT_EVENT_WAL_SUMMARIZER_ERROR +} WaitEventTimeout; + +#endif /* WAIT_EVENT_TYPES_H */ diff --git a/parser/include/postgres/utils/xml.h b/parser/include/postgres/utils/xml.h index 224f6d75..ed20e213 100644 --- a/parser/include/postgres/utils/xml.h +++ b/parser/include/postgres/utils/xml.h @@ -4,7 +4,7 @@ * Declarations for XML data type support. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/xml.h @@ -27,13 +27,13 @@ typedef enum XML_STANDALONE_YES, XML_STANDALONE_NO, XML_STANDALONE_NO_VALUE, - XML_STANDALONE_OMITTED + XML_STANDALONE_OMITTED, } XmlStandaloneType; typedef enum { XMLBINARY_BASE64, - XMLBINARY_HEX + XMLBINARY_HEX, } XmlBinaryType; typedef enum @@ -41,7 +41,7 @@ typedef enum PG_XML_STRICTNESS_LEGACY, /* ignore errors unless function result * indicates error condition */ PG_XML_STRICTNESS_WELLFORMED, /* ignore non-parser messages */ - PG_XML_STRICTNESS_ALL /* report all notices/warnings/errors */ + PG_XML_STRICTNESS_ALL, /* report all notices/warnings/errors */ } PgXmlStrictness; /* struct PgXmlErrorContext is private to xml.c */ diff --git a/parser/include/postgres/varatt.h b/parser/include/postgres/varatt.h index e3487052..f04435e9 100644 --- a/parser/include/postgres/varatt.h +++ b/parser/include/postgres/varatt.h @@ -4,7 +4,7 @@ * variable-length datatypes (TOAST support) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1995, Regents of the University of California * * src/include/varatt.h diff --git a/parser/include/protobuf/pg_query.pb-c.h b/parser/include/protobuf/pg_query.pb-c.h index 49cdc6fa..ca37769d 100644 --- a/parser/include/protobuf/pg_query.pb-c.h +++ b/parser/include/protobuf/pg_query.pb-c.h @@ -36,6 +36,8 @@ typedef struct PgQuery__Param PgQuery__Param; typedef struct PgQuery__Aggref PgQuery__Aggref; typedef struct PgQuery__GroupingFunc PgQuery__GroupingFunc; typedef struct PgQuery__WindowFunc PgQuery__WindowFunc; +typedef struct PgQuery__WindowFuncRunCondition PgQuery__WindowFuncRunCondition; +typedef struct PgQuery__MergeSupportFunc PgQuery__MergeSupportFunc; typedef struct PgQuery__SubscriptingRef PgQuery__SubscriptingRef; typedef struct PgQuery__FuncExpr PgQuery__FuncExpr; typedef struct PgQuery__NamedArgExpr PgQuery__NamedArgExpr; @@ -69,8 +71,14 @@ typedef struct PgQuery__JsonReturning PgQuery__JsonReturning; typedef struct PgQuery__JsonValueExpr PgQuery__JsonValueExpr; typedef struct PgQuery__JsonConstructorExpr PgQuery__JsonConstructorExpr; typedef struct PgQuery__JsonIsPredicate PgQuery__JsonIsPredicate; +typedef struct PgQuery__JsonBehavior PgQuery__JsonBehavior; +typedef struct PgQuery__JsonExpr PgQuery__JsonExpr; +typedef struct PgQuery__JsonTablePath PgQuery__JsonTablePath; +typedef struct PgQuery__JsonTablePathScan PgQuery__JsonTablePathScan; +typedef struct PgQuery__JsonTableSiblingJoin PgQuery__JsonTableSiblingJoin; typedef struct PgQuery__NullTest PgQuery__NullTest; typedef struct PgQuery__BooleanTest PgQuery__BooleanTest; +typedef struct PgQuery__MergeAction PgQuery__MergeAction; typedef struct PgQuery__CoerceToDomain PgQuery__CoerceToDomain; typedef struct PgQuery__CoerceToDomainValue PgQuery__CoerceToDomainValue; typedef struct PgQuery__SetToDefault PgQuery__SetToDefault; @@ -114,6 +122,7 @@ typedef struct PgQuery__PartitionElem PgQuery__PartitionElem; typedef struct PgQuery__PartitionSpec PgQuery__PartitionSpec; typedef struct PgQuery__PartitionBoundSpec PgQuery__PartitionBoundSpec; typedef struct PgQuery__PartitionRangeDatum PgQuery__PartitionRangeDatum; +typedef struct PgQuery__SinglePartitionSpec PgQuery__SinglePartitionSpec; typedef struct PgQuery__PartitionCmd PgQuery__PartitionCmd; typedef struct PgQuery__RangeTblEntry PgQuery__RangeTblEntry; typedef struct PgQuery__RTEPermissionInfo PgQuery__RTEPermissionInfo; @@ -131,10 +140,17 @@ typedef struct PgQuery__CTESearchClause PgQuery__CTESearchClause; typedef struct PgQuery__CTECycleClause PgQuery__CTECycleClause; typedef struct PgQuery__CommonTableExpr PgQuery__CommonTableExpr; typedef struct PgQuery__MergeWhenClause PgQuery__MergeWhenClause; -typedef struct PgQuery__MergeAction PgQuery__MergeAction; typedef struct PgQuery__TriggerTransition PgQuery__TriggerTransition; typedef struct PgQuery__JsonOutput PgQuery__JsonOutput; +typedef struct PgQuery__JsonArgument PgQuery__JsonArgument; +typedef struct PgQuery__JsonFuncExpr PgQuery__JsonFuncExpr; +typedef struct PgQuery__JsonTablePathSpec PgQuery__JsonTablePathSpec; +typedef struct PgQuery__JsonTable PgQuery__JsonTable; +typedef struct PgQuery__JsonTableColumn PgQuery__JsonTableColumn; typedef struct PgQuery__JsonKeyValue PgQuery__JsonKeyValue; +typedef struct PgQuery__JsonParseExpr PgQuery__JsonParseExpr; +typedef struct PgQuery__JsonScalarExpr PgQuery__JsonScalarExpr; +typedef struct PgQuery__JsonSerializeExpr PgQuery__JsonSerializeExpr; typedef struct PgQuery__JsonObjectConstructor PgQuery__JsonObjectConstructor; typedef struct PgQuery__JsonArrayConstructor PgQuery__JsonArrayConstructor; typedef struct PgQuery__JsonArrayQueryConstructor PgQuery__JsonArrayQueryConstructor; @@ -275,13 +291,6 @@ typedef struct PgQuery__ScanToken PgQuery__ScanToken; /* --- enums --- */ -typedef enum _PgQuery__OverridingKind { - PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED = 0, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET = 1, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE = 2, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE = 3 - PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__OVERRIDING_KIND) -} PgQuery__OverridingKind; typedef enum _PgQuery__QuerySource { PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED = 0, PG_QUERY__QUERY_SOURCE__QSRC_ORIGINAL = 1, @@ -415,6 +424,22 @@ typedef enum _PgQuery__CTEMaterialize { PG_QUERY__CTEMATERIALIZE__CTEMaterializeNever = 3 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__CTEMATERIALIZE) } PgQuery__CTEMaterialize; +typedef enum _PgQuery__JsonQuotes { + PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED = 0, + PG_QUERY__JSON_QUOTES__JS_QUOTES_UNSPEC = 1, + PG_QUERY__JSON_QUOTES__JS_QUOTES_KEEP = 2, + PG_QUERY__JSON_QUOTES__JS_QUOTES_OMIT = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_QUOTES) +} PgQuery__JsonQuotes; +typedef enum _PgQuery__JsonTableColumnType { + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FOR_ORDINALITY = 1, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_REGULAR = 2, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_EXISTS = 3, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FORMATTED = 4, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_NESTED = 5 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_TABLE_COLUMN_TYPE) +} PgQuery__JsonTableColumnType; typedef enum _PgQuery__SetOperation { PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED = 0, PG_QUERY__SET_OPERATION__SETOP_NONE = 1, @@ -493,66 +518,67 @@ typedef enum _PgQuery__AlterTableType { PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault = 4, PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull = 5, PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull = 6, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression = 7, - PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull = 8, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics = 9, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetOptions = 10, - PG_QUERY__ALTER_TABLE_TYPE__AT_ResetOptions = 11, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage = 12, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression = 13, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn = 14, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex = 15, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex = 16, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint = 17, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint = 18, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint = 19, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint = 20, - PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint = 21, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint = 22, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint = 23, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment = 24, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType = 25, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions = 26, - PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner = 27, - PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn = 28, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster = 29, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged = 30, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged = 31, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids = 32, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod = 33, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace = 34, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions = 35, - PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions = 36, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions = 37, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig = 38, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig = 39, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig = 40, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig = 41, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll = 42, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll = 43, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser = 44, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser = 45, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule = 46, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule = 47, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule = 48, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule = 49, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit = 50, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit = 51, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf = 52, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf = 53, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity = 54, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity = 55, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity = 56, - PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity = 57, - PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity = 58, - PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions = 59, - PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition = 60, - PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition = 61, - PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize = 62, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity = 63, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity = 64, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity = 65, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics = 66 + PG_QUERY__ALTER_TABLE_TYPE__AT_SetExpression = 7, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression = 8, + PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull = 9, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics = 10, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetOptions = 11, + PG_QUERY__ALTER_TABLE_TYPE__AT_ResetOptions = 12, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage = 13, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression = 14, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn = 15, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex = 16, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex = 17, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint = 18, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint = 19, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint = 20, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint = 21, + PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint = 22, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint = 23, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint = 24, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment = 25, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType = 26, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions = 27, + PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner = 28, + PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn = 29, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster = 30, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged = 31, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged = 32, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids = 33, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod = 34, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace = 35, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions = 36, + PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions = 37, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions = 38, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig = 39, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig = 40, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig = 41, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig = 42, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll = 43, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll = 44, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser = 45, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser = 46, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule = 47, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule = 48, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule = 49, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule = 50, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit = 51, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit = 52, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf = 53, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf = 54, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity = 55, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity = 56, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity = 57, + PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity = 58, + PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity = 59, + PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions = 60, + PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition = 61, + PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition = 62, + PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize = 63, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity = 64, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity = 65, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity = 66, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics = 67 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ALTER_TABLE_TYPE) } PgQuery__AlterTableType; typedef enum _PgQuery__GrantTargetType { @@ -696,6 +722,13 @@ typedef enum _PgQuery__AlterSubscriptionType { PG_QUERY__ALTER_SUBSCRIPTION_TYPE__ALTER_SUBSCRIPTION_SKIP = 8 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ALTER_SUBSCRIPTION_TYPE) } PgQuery__AlterSubscriptionType; +typedef enum _PgQuery__OverridingKind { + PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED = 0, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET = 1, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE = 2, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__OVERRIDING_KIND) +} PgQuery__OverridingKind; typedef enum _PgQuery__OnCommitAction { PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED = 0, PG_QUERY__ON_COMMIT_ACTION__ONCOMMIT_NOOP = 1, @@ -704,6 +737,12 @@ typedef enum _PgQuery__OnCommitAction { PG_QUERY__ON_COMMIT_ACTION__ONCOMMIT_DROP = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ON_COMMIT_ACTION) } PgQuery__OnCommitAction; +typedef enum _PgQuery__TableFuncType { + PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED = 0, + PG_QUERY__TABLE_FUNC_TYPE__TFT_XMLTABLE = 1, + PG_QUERY__TABLE_FUNC_TYPE__TFT_JSON_TABLE = 2 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__TABLE_FUNC_TYPE) +} PgQuery__TableFuncType; typedef enum _PgQuery__ParamKind { PG_QUERY__PARAM_KIND__PARAM_KIND_UNDEFINED = 0, PG_QUERY__PARAM_KIND__PARAM_EXTERN = 1, @@ -820,7 +859,10 @@ typedef enum _PgQuery__JsonConstructorType { PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECT = 1, PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAY = 2, PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECTAGG = 3, - PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAYAGG = 4 + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAYAGG = 4, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_PARSE = 5, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SCALAR = 6, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SERIALIZE = 7 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_CONSTRUCTOR_TYPE) } PgQuery__JsonConstructorType; typedef enum _PgQuery__JsonValueType { @@ -831,6 +873,35 @@ typedef enum _PgQuery__JsonValueType { PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_SCALAR = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_VALUE_TYPE) } PgQuery__JsonValueType; +typedef enum _PgQuery__JsonWrapper { + PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED = 0, + PG_QUERY__JSON_WRAPPER__JSW_UNSPEC = 1, + PG_QUERY__JSON_WRAPPER__JSW_NONE = 2, + PG_QUERY__JSON_WRAPPER__JSW_CONDITIONAL = 3, + PG_QUERY__JSON_WRAPPER__JSW_UNCONDITIONAL = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_WRAPPER) +} PgQuery__JsonWrapper; +typedef enum _PgQuery__JsonBehaviorType { + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_NULL = 1, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_ERROR = 2, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY = 3, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TRUE = 4, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_FALSE = 5, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_UNKNOWN = 6, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_ARRAY = 7, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_OBJECT = 8, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_DEFAULT = 9 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_BEHAVIOR_TYPE) +} PgQuery__JsonBehaviorType; +typedef enum _PgQuery__JsonExprOp { + PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED = 0, + PG_QUERY__JSON_EXPR_OP__JSON_EXISTS_OP = 1, + PG_QUERY__JSON_EXPR_OP__JSON_QUERY_OP = 2, + PG_QUERY__JSON_EXPR_OP__JSON_VALUE_OP = 3, + PG_QUERY__JSON_EXPR_OP__JSON_TABLE_OP = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_EXPR_OP) +} PgQuery__JsonExprOp; typedef enum _PgQuery__NullTestType { PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED = 0, PG_QUERY__NULL_TEST_TYPE__IS_NULL = 1, @@ -847,6 +918,13 @@ typedef enum _PgQuery__BoolTestType { PG_QUERY__BOOL_TEST_TYPE__IS_NOT_UNKNOWN = 6 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__BOOL_TEST_TYPE) } PgQuery__BoolTestType; +typedef enum _PgQuery__MergeMatchKind { + PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED = 0, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_MATCHED = 1, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_SOURCE = 2, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_TARGET = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__MERGE_MATCH_KIND) +} PgQuery__MergeMatchKind; typedef enum _PgQuery__CmdType { PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED = 0, PG_QUERY__CMD_TYPE__CMD_UNKNOWN = 1, @@ -1124,420 +1202,440 @@ typedef enum _PgQuery__Token { PG_QUERY__TOKEN__COMMITTED = 342, PG_QUERY__TOKEN__COMPRESSION = 343, PG_QUERY__TOKEN__CONCURRENTLY = 344, - PG_QUERY__TOKEN__CONFIGURATION = 345, - PG_QUERY__TOKEN__CONFLICT = 346, - PG_QUERY__TOKEN__CONNECTION = 347, - PG_QUERY__TOKEN__CONSTRAINT = 348, - PG_QUERY__TOKEN__CONSTRAINTS = 349, - PG_QUERY__TOKEN__CONTENT_P = 350, - PG_QUERY__TOKEN__CONTINUE_P = 351, - PG_QUERY__TOKEN__CONVERSION_P = 352, - PG_QUERY__TOKEN__COPY = 353, - PG_QUERY__TOKEN__COST = 354, - PG_QUERY__TOKEN__CREATE = 355, - PG_QUERY__TOKEN__CROSS = 356, - PG_QUERY__TOKEN__CSV = 357, - PG_QUERY__TOKEN__CUBE = 358, - PG_QUERY__TOKEN__CURRENT_P = 359, - PG_QUERY__TOKEN__CURRENT_CATALOG = 360, - PG_QUERY__TOKEN__CURRENT_DATE = 361, - PG_QUERY__TOKEN__CURRENT_ROLE = 362, - PG_QUERY__TOKEN__CURRENT_SCHEMA = 363, - PG_QUERY__TOKEN__CURRENT_TIME = 364, - PG_QUERY__TOKEN__CURRENT_TIMESTAMP = 365, - PG_QUERY__TOKEN__CURRENT_USER = 366, - PG_QUERY__TOKEN__CURSOR = 367, - PG_QUERY__TOKEN__CYCLE = 368, - PG_QUERY__TOKEN__DATA_P = 369, - PG_QUERY__TOKEN__DATABASE = 370, - PG_QUERY__TOKEN__DAY_P = 371, - PG_QUERY__TOKEN__DEALLOCATE = 372, - PG_QUERY__TOKEN__DEC = 373, - PG_QUERY__TOKEN__DECIMAL_P = 374, - PG_QUERY__TOKEN__DECLARE = 375, - PG_QUERY__TOKEN__DEFAULT = 376, - PG_QUERY__TOKEN__DEFAULTS = 377, - PG_QUERY__TOKEN__DEFERRABLE = 378, - PG_QUERY__TOKEN__DEFERRED = 379, - PG_QUERY__TOKEN__DEFINER = 380, - PG_QUERY__TOKEN__DELETE_P = 381, - PG_QUERY__TOKEN__DELIMITER = 382, - PG_QUERY__TOKEN__DELIMITERS = 383, - PG_QUERY__TOKEN__DEPENDS = 384, - PG_QUERY__TOKEN__DEPTH = 385, - PG_QUERY__TOKEN__DESC = 386, - PG_QUERY__TOKEN__DETACH = 387, - PG_QUERY__TOKEN__DICTIONARY = 388, - PG_QUERY__TOKEN__DISABLE_P = 389, - PG_QUERY__TOKEN__DISCARD = 390, - PG_QUERY__TOKEN__DISTINCT = 391, - PG_QUERY__TOKEN__DO = 392, - PG_QUERY__TOKEN__DOCUMENT_P = 393, - PG_QUERY__TOKEN__DOMAIN_P = 394, - PG_QUERY__TOKEN__DOUBLE_P = 395, - PG_QUERY__TOKEN__DROP = 396, - PG_QUERY__TOKEN__EACH = 397, - PG_QUERY__TOKEN__ELSE = 398, - PG_QUERY__TOKEN__ENABLE_P = 399, - PG_QUERY__TOKEN__ENCODING = 400, - PG_QUERY__TOKEN__ENCRYPTED = 401, - PG_QUERY__TOKEN__END_P = 402, - PG_QUERY__TOKEN__ENUM_P = 403, - PG_QUERY__TOKEN__ESCAPE = 404, - PG_QUERY__TOKEN__EVENT = 405, - PG_QUERY__TOKEN__EXCEPT = 406, - PG_QUERY__TOKEN__EXCLUDE = 407, - PG_QUERY__TOKEN__EXCLUDING = 408, - PG_QUERY__TOKEN__EXCLUSIVE = 409, - PG_QUERY__TOKEN__EXECUTE = 410, - PG_QUERY__TOKEN__EXISTS = 411, - PG_QUERY__TOKEN__EXPLAIN = 412, - PG_QUERY__TOKEN__EXPRESSION = 413, - PG_QUERY__TOKEN__EXTENSION = 414, - PG_QUERY__TOKEN__EXTERNAL = 415, - PG_QUERY__TOKEN__EXTRACT = 416, - PG_QUERY__TOKEN__FALSE_P = 417, - PG_QUERY__TOKEN__FAMILY = 418, - PG_QUERY__TOKEN__FETCH = 419, - PG_QUERY__TOKEN__FILTER = 420, - PG_QUERY__TOKEN__FINALIZE = 421, - PG_QUERY__TOKEN__FIRST_P = 422, - PG_QUERY__TOKEN__FLOAT_P = 423, - PG_QUERY__TOKEN__FOLLOWING = 424, - PG_QUERY__TOKEN__FOR = 425, - PG_QUERY__TOKEN__FORCE = 426, - PG_QUERY__TOKEN__FOREIGN = 427, - PG_QUERY__TOKEN__FORMAT = 428, - PG_QUERY__TOKEN__FORWARD = 429, - PG_QUERY__TOKEN__FREEZE = 430, - PG_QUERY__TOKEN__FROM = 431, - PG_QUERY__TOKEN__FULL = 432, - PG_QUERY__TOKEN__FUNCTION = 433, - PG_QUERY__TOKEN__FUNCTIONS = 434, - PG_QUERY__TOKEN__GENERATED = 435, - PG_QUERY__TOKEN__GLOBAL = 436, - PG_QUERY__TOKEN__GRANT = 437, - PG_QUERY__TOKEN__GRANTED = 438, - PG_QUERY__TOKEN__GREATEST = 439, - PG_QUERY__TOKEN__GROUP_P = 440, - PG_QUERY__TOKEN__GROUPING = 441, - PG_QUERY__TOKEN__GROUPS = 442, - PG_QUERY__TOKEN__HANDLER = 443, - PG_QUERY__TOKEN__HAVING = 444, - PG_QUERY__TOKEN__HEADER_P = 445, - PG_QUERY__TOKEN__HOLD = 446, - PG_QUERY__TOKEN__HOUR_P = 447, - PG_QUERY__TOKEN__IDENTITY_P = 448, - PG_QUERY__TOKEN__IF_P = 449, - PG_QUERY__TOKEN__ILIKE = 450, - PG_QUERY__TOKEN__IMMEDIATE = 451, - PG_QUERY__TOKEN__IMMUTABLE = 452, - PG_QUERY__TOKEN__IMPLICIT_P = 453, - PG_QUERY__TOKEN__IMPORT_P = 454, - PG_QUERY__TOKEN__IN_P = 455, - PG_QUERY__TOKEN__INCLUDE = 456, - PG_QUERY__TOKEN__INCLUDING = 457, - PG_QUERY__TOKEN__INCREMENT = 458, - PG_QUERY__TOKEN__INDENT = 459, - PG_QUERY__TOKEN__INDEX = 460, - PG_QUERY__TOKEN__INDEXES = 461, - PG_QUERY__TOKEN__INHERIT = 462, - PG_QUERY__TOKEN__INHERITS = 463, - PG_QUERY__TOKEN__INITIALLY = 464, - PG_QUERY__TOKEN__INLINE_P = 465, - PG_QUERY__TOKEN__INNER_P = 466, - PG_QUERY__TOKEN__INOUT = 467, - PG_QUERY__TOKEN__INPUT_P = 468, - PG_QUERY__TOKEN__INSENSITIVE = 469, - PG_QUERY__TOKEN__INSERT = 470, - PG_QUERY__TOKEN__INSTEAD = 471, - PG_QUERY__TOKEN__INT_P = 472, - PG_QUERY__TOKEN__INTEGER = 473, - PG_QUERY__TOKEN__INTERSECT = 474, - PG_QUERY__TOKEN__INTERVAL = 475, - PG_QUERY__TOKEN__INTO = 476, - PG_QUERY__TOKEN__INVOKER = 477, - PG_QUERY__TOKEN__IS = 478, - PG_QUERY__TOKEN__ISNULL = 479, - PG_QUERY__TOKEN__ISOLATION = 480, - PG_QUERY__TOKEN__JOIN = 481, - PG_QUERY__TOKEN__JSON = 482, - PG_QUERY__TOKEN__JSON_ARRAY = 483, - PG_QUERY__TOKEN__JSON_ARRAYAGG = 484, - PG_QUERY__TOKEN__JSON_OBJECT = 485, - PG_QUERY__TOKEN__JSON_OBJECTAGG = 486, - PG_QUERY__TOKEN__KEY = 487, - PG_QUERY__TOKEN__KEYS = 488, - PG_QUERY__TOKEN__LABEL = 489, - PG_QUERY__TOKEN__LANGUAGE = 490, - PG_QUERY__TOKEN__LARGE_P = 491, - PG_QUERY__TOKEN__LAST_P = 492, - PG_QUERY__TOKEN__LATERAL_P = 493, - PG_QUERY__TOKEN__LEADING = 494, - PG_QUERY__TOKEN__LEAKPROOF = 495, - PG_QUERY__TOKEN__LEAST = 496, - PG_QUERY__TOKEN__LEFT = 497, - PG_QUERY__TOKEN__LEVEL = 498, - PG_QUERY__TOKEN__LIKE = 499, - PG_QUERY__TOKEN__LIMIT = 500, - PG_QUERY__TOKEN__LISTEN = 501, - PG_QUERY__TOKEN__LOAD = 502, - PG_QUERY__TOKEN__LOCAL = 503, - PG_QUERY__TOKEN__LOCALTIME = 504, - PG_QUERY__TOKEN__LOCALTIMESTAMP = 505, - PG_QUERY__TOKEN__LOCATION = 506, - PG_QUERY__TOKEN__LOCK_P = 507, - PG_QUERY__TOKEN__LOCKED = 508, - PG_QUERY__TOKEN__LOGGED = 509, - PG_QUERY__TOKEN__MAPPING = 510, - PG_QUERY__TOKEN__MATCH = 511, - PG_QUERY__TOKEN__MATCHED = 512, - PG_QUERY__TOKEN__MATERIALIZED = 513, - PG_QUERY__TOKEN__MAXVALUE = 514, - PG_QUERY__TOKEN__MERGE = 515, - PG_QUERY__TOKEN__METHOD = 516, - PG_QUERY__TOKEN__MINUTE_P = 517, - PG_QUERY__TOKEN__MINVALUE = 518, - PG_QUERY__TOKEN__MODE = 519, - PG_QUERY__TOKEN__MONTH_P = 520, - PG_QUERY__TOKEN__MOVE = 521, - PG_QUERY__TOKEN__NAME_P = 522, - PG_QUERY__TOKEN__NAMES = 523, - PG_QUERY__TOKEN__NATIONAL = 524, - PG_QUERY__TOKEN__NATURAL = 525, - PG_QUERY__TOKEN__NCHAR = 526, - PG_QUERY__TOKEN__NEW = 527, - PG_QUERY__TOKEN__NEXT = 528, - PG_QUERY__TOKEN__NFC = 529, - PG_QUERY__TOKEN__NFD = 530, - PG_QUERY__TOKEN__NFKC = 531, - PG_QUERY__TOKEN__NFKD = 532, - PG_QUERY__TOKEN__NO = 533, - PG_QUERY__TOKEN__NONE = 534, - PG_QUERY__TOKEN__NORMALIZE = 535, - PG_QUERY__TOKEN__NORMALIZED = 536, - PG_QUERY__TOKEN__NOT = 537, - PG_QUERY__TOKEN__NOTHING = 538, - PG_QUERY__TOKEN__NOTIFY = 539, - PG_QUERY__TOKEN__NOTNULL = 540, - PG_QUERY__TOKEN__NOWAIT = 541, - PG_QUERY__TOKEN__NULL_P = 542, - PG_QUERY__TOKEN__NULLIF = 543, - PG_QUERY__TOKEN__NULLS_P = 544, - PG_QUERY__TOKEN__NUMERIC = 545, - PG_QUERY__TOKEN__OBJECT_P = 546, - PG_QUERY__TOKEN__OF = 547, - PG_QUERY__TOKEN__OFF = 548, - PG_QUERY__TOKEN__OFFSET = 549, - PG_QUERY__TOKEN__OIDS = 550, - PG_QUERY__TOKEN__OLD = 551, - PG_QUERY__TOKEN__ON = 552, - PG_QUERY__TOKEN__ONLY = 553, - PG_QUERY__TOKEN__OPERATOR = 554, - PG_QUERY__TOKEN__OPTION = 555, - PG_QUERY__TOKEN__OPTIONS = 556, - PG_QUERY__TOKEN__OR = 557, - PG_QUERY__TOKEN__ORDER = 558, - PG_QUERY__TOKEN__ORDINALITY = 559, - PG_QUERY__TOKEN__OTHERS = 560, - PG_QUERY__TOKEN__OUT_P = 561, - PG_QUERY__TOKEN__OUTER_P = 562, - PG_QUERY__TOKEN__OVER = 563, - PG_QUERY__TOKEN__OVERLAPS = 564, - PG_QUERY__TOKEN__OVERLAY = 565, - PG_QUERY__TOKEN__OVERRIDING = 566, - PG_QUERY__TOKEN__OWNED = 567, - PG_QUERY__TOKEN__OWNER = 568, - PG_QUERY__TOKEN__PARALLEL = 569, - PG_QUERY__TOKEN__PARAMETER = 570, - PG_QUERY__TOKEN__PARSER = 571, - PG_QUERY__TOKEN__PARTIAL = 572, - PG_QUERY__TOKEN__PARTITION = 573, - PG_QUERY__TOKEN__PASSING = 574, - PG_QUERY__TOKEN__PASSWORD = 575, - PG_QUERY__TOKEN__PLACING = 576, - PG_QUERY__TOKEN__PLANS = 577, - PG_QUERY__TOKEN__POLICY = 578, - PG_QUERY__TOKEN__POSITION = 579, - PG_QUERY__TOKEN__PRECEDING = 580, - PG_QUERY__TOKEN__PRECISION = 581, - PG_QUERY__TOKEN__PRESERVE = 582, - PG_QUERY__TOKEN__PREPARE = 583, - PG_QUERY__TOKEN__PREPARED = 584, - PG_QUERY__TOKEN__PRIMARY = 585, - PG_QUERY__TOKEN__PRIOR = 586, - PG_QUERY__TOKEN__PRIVILEGES = 587, - PG_QUERY__TOKEN__PROCEDURAL = 588, - PG_QUERY__TOKEN__PROCEDURE = 589, - PG_QUERY__TOKEN__PROCEDURES = 590, - PG_QUERY__TOKEN__PROGRAM = 591, - PG_QUERY__TOKEN__PUBLICATION = 592, - PG_QUERY__TOKEN__QUOTE = 593, - PG_QUERY__TOKEN__RANGE = 594, - PG_QUERY__TOKEN__READ = 595, - PG_QUERY__TOKEN__REAL = 596, - PG_QUERY__TOKEN__REASSIGN = 597, - PG_QUERY__TOKEN__RECHECK = 598, - PG_QUERY__TOKEN__RECURSIVE = 599, - PG_QUERY__TOKEN__REF_P = 600, - PG_QUERY__TOKEN__REFERENCES = 601, - PG_QUERY__TOKEN__REFERENCING = 602, - PG_QUERY__TOKEN__REFRESH = 603, - PG_QUERY__TOKEN__REINDEX = 604, - PG_QUERY__TOKEN__RELATIVE_P = 605, - PG_QUERY__TOKEN__RELEASE = 606, - PG_QUERY__TOKEN__RENAME = 607, - PG_QUERY__TOKEN__REPEATABLE = 608, - PG_QUERY__TOKEN__REPLACE = 609, - PG_QUERY__TOKEN__REPLICA = 610, - PG_QUERY__TOKEN__RESET = 611, - PG_QUERY__TOKEN__RESTART = 612, - PG_QUERY__TOKEN__RESTRICT = 613, - PG_QUERY__TOKEN__RETURN = 614, - PG_QUERY__TOKEN__RETURNING = 615, - PG_QUERY__TOKEN__RETURNS = 616, - PG_QUERY__TOKEN__REVOKE = 617, - PG_QUERY__TOKEN__RIGHT = 618, - PG_QUERY__TOKEN__ROLE = 619, - PG_QUERY__TOKEN__ROLLBACK = 620, - PG_QUERY__TOKEN__ROLLUP = 621, - PG_QUERY__TOKEN__ROUTINE = 622, - PG_QUERY__TOKEN__ROUTINES = 623, - PG_QUERY__TOKEN__ROW = 624, - PG_QUERY__TOKEN__ROWS = 625, - PG_QUERY__TOKEN__RULE = 626, - PG_QUERY__TOKEN__SAVEPOINT = 627, - PG_QUERY__TOKEN__SCALAR = 628, - PG_QUERY__TOKEN__SCHEMA = 629, - PG_QUERY__TOKEN__SCHEMAS = 630, - PG_QUERY__TOKEN__SCROLL = 631, - PG_QUERY__TOKEN__SEARCH = 632, - PG_QUERY__TOKEN__SECOND_P = 633, - PG_QUERY__TOKEN__SECURITY = 634, - PG_QUERY__TOKEN__SELECT = 635, - PG_QUERY__TOKEN__SEQUENCE = 636, - PG_QUERY__TOKEN__SEQUENCES = 637, - PG_QUERY__TOKEN__SERIALIZABLE = 638, - PG_QUERY__TOKEN__SERVER = 639, - PG_QUERY__TOKEN__SESSION = 640, - PG_QUERY__TOKEN__SESSION_USER = 641, - PG_QUERY__TOKEN__SET = 642, - PG_QUERY__TOKEN__SETS = 643, - PG_QUERY__TOKEN__SETOF = 644, - PG_QUERY__TOKEN__SHARE = 645, - PG_QUERY__TOKEN__SHOW = 646, - PG_QUERY__TOKEN__SIMILAR = 647, - PG_QUERY__TOKEN__SIMPLE = 648, - PG_QUERY__TOKEN__SKIP = 649, - PG_QUERY__TOKEN__SMALLINT = 650, - PG_QUERY__TOKEN__SNAPSHOT = 651, - PG_QUERY__TOKEN__SOME = 652, - PG_QUERY__TOKEN__SQL_P = 653, - PG_QUERY__TOKEN__STABLE = 654, - PG_QUERY__TOKEN__STANDALONE_P = 655, - PG_QUERY__TOKEN__START = 656, - PG_QUERY__TOKEN__STATEMENT = 657, - PG_QUERY__TOKEN__STATISTICS = 658, - PG_QUERY__TOKEN__STDIN = 659, - PG_QUERY__TOKEN__STDOUT = 660, - PG_QUERY__TOKEN__STORAGE = 661, - PG_QUERY__TOKEN__STORED = 662, - PG_QUERY__TOKEN__STRICT_P = 663, - PG_QUERY__TOKEN__STRIP_P = 664, - PG_QUERY__TOKEN__SUBSCRIPTION = 665, - PG_QUERY__TOKEN__SUBSTRING = 666, - PG_QUERY__TOKEN__SUPPORT = 667, - PG_QUERY__TOKEN__SYMMETRIC = 668, - PG_QUERY__TOKEN__SYSID = 669, - PG_QUERY__TOKEN__SYSTEM_P = 670, - PG_QUERY__TOKEN__SYSTEM_USER = 671, - PG_QUERY__TOKEN__TABLE = 672, - PG_QUERY__TOKEN__TABLES = 673, - PG_QUERY__TOKEN__TABLESAMPLE = 674, - PG_QUERY__TOKEN__TABLESPACE = 675, - PG_QUERY__TOKEN__TEMP = 676, - PG_QUERY__TOKEN__TEMPLATE = 677, - PG_QUERY__TOKEN__TEMPORARY = 678, - PG_QUERY__TOKEN__TEXT_P = 679, - PG_QUERY__TOKEN__THEN = 680, - PG_QUERY__TOKEN__TIES = 681, - PG_QUERY__TOKEN__TIME = 682, - PG_QUERY__TOKEN__TIMESTAMP = 683, - PG_QUERY__TOKEN__TO = 684, - PG_QUERY__TOKEN__TRAILING = 685, - PG_QUERY__TOKEN__TRANSACTION = 686, - PG_QUERY__TOKEN__TRANSFORM = 687, - PG_QUERY__TOKEN__TREAT = 688, - PG_QUERY__TOKEN__TRIGGER = 689, - PG_QUERY__TOKEN__TRIM = 690, - PG_QUERY__TOKEN__TRUE_P = 691, - PG_QUERY__TOKEN__TRUNCATE = 692, - PG_QUERY__TOKEN__TRUSTED = 693, - PG_QUERY__TOKEN__TYPE_P = 694, - PG_QUERY__TOKEN__TYPES_P = 695, - PG_QUERY__TOKEN__UESCAPE = 696, - PG_QUERY__TOKEN__UNBOUNDED = 697, - PG_QUERY__TOKEN__UNCOMMITTED = 698, - PG_QUERY__TOKEN__UNENCRYPTED = 699, - PG_QUERY__TOKEN__UNION = 700, - PG_QUERY__TOKEN__UNIQUE = 701, - PG_QUERY__TOKEN__UNKNOWN = 702, - PG_QUERY__TOKEN__UNLISTEN = 703, - PG_QUERY__TOKEN__UNLOGGED = 704, - PG_QUERY__TOKEN__UNTIL = 705, - PG_QUERY__TOKEN__UPDATE = 706, - PG_QUERY__TOKEN__USER = 707, - PG_QUERY__TOKEN__USING = 708, - PG_QUERY__TOKEN__VACUUM = 709, - PG_QUERY__TOKEN__VALID = 710, - PG_QUERY__TOKEN__VALIDATE = 711, - PG_QUERY__TOKEN__VALIDATOR = 712, - PG_QUERY__TOKEN__VALUE_P = 713, - PG_QUERY__TOKEN__VALUES = 714, - PG_QUERY__TOKEN__VARCHAR = 715, - PG_QUERY__TOKEN__VARIADIC = 716, - PG_QUERY__TOKEN__VARYING = 717, - PG_QUERY__TOKEN__VERBOSE = 718, - PG_QUERY__TOKEN__VERSION_P = 719, - PG_QUERY__TOKEN__VIEW = 720, - PG_QUERY__TOKEN__VIEWS = 721, - PG_QUERY__TOKEN__VOLATILE = 722, - PG_QUERY__TOKEN__WHEN = 723, - PG_QUERY__TOKEN__WHERE = 724, - PG_QUERY__TOKEN__WHITESPACE_P = 725, - PG_QUERY__TOKEN__WINDOW = 726, - PG_QUERY__TOKEN__WITH = 727, - PG_QUERY__TOKEN__WITHIN = 728, - PG_QUERY__TOKEN__WITHOUT = 729, - PG_QUERY__TOKEN__WORK = 730, - PG_QUERY__TOKEN__WRAPPER = 731, - PG_QUERY__TOKEN__WRITE = 732, - PG_QUERY__TOKEN__XML_P = 733, - PG_QUERY__TOKEN__XMLATTRIBUTES = 734, - PG_QUERY__TOKEN__XMLCONCAT = 735, - PG_QUERY__TOKEN__XMLELEMENT = 736, - PG_QUERY__TOKEN__XMLEXISTS = 737, - PG_QUERY__TOKEN__XMLFOREST = 738, - PG_QUERY__TOKEN__XMLNAMESPACES = 739, - PG_QUERY__TOKEN__XMLPARSE = 740, - PG_QUERY__TOKEN__XMLPI = 741, - PG_QUERY__TOKEN__XMLROOT = 742, - PG_QUERY__TOKEN__XMLSERIALIZE = 743, - PG_QUERY__TOKEN__XMLTABLE = 744, - PG_QUERY__TOKEN__YEAR_P = 745, - PG_QUERY__TOKEN__YES_P = 746, - PG_QUERY__TOKEN__ZONE = 747, - PG_QUERY__TOKEN__FORMAT_LA = 748, - PG_QUERY__TOKEN__NOT_LA = 749, - PG_QUERY__TOKEN__NULLS_LA = 750, - PG_QUERY__TOKEN__WITH_LA = 751, - PG_QUERY__TOKEN__WITHOUT_LA = 752, - PG_QUERY__TOKEN__MODE_TYPE_NAME = 753, - PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR = 754, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1 = 755, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2 = 756, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3 = 757, - PG_QUERY__TOKEN__UMINUS = 758 + PG_QUERY__TOKEN__CONDITIONAL = 345, + PG_QUERY__TOKEN__CONFIGURATION = 346, + PG_QUERY__TOKEN__CONFLICT = 347, + PG_QUERY__TOKEN__CONNECTION = 348, + PG_QUERY__TOKEN__CONSTRAINT = 349, + PG_QUERY__TOKEN__CONSTRAINTS = 350, + PG_QUERY__TOKEN__CONTENT_P = 351, + PG_QUERY__TOKEN__CONTINUE_P = 352, + PG_QUERY__TOKEN__CONVERSION_P = 353, + PG_QUERY__TOKEN__COPY = 354, + PG_QUERY__TOKEN__COST = 355, + PG_QUERY__TOKEN__CREATE = 356, + PG_QUERY__TOKEN__CROSS = 357, + PG_QUERY__TOKEN__CSV = 358, + PG_QUERY__TOKEN__CUBE = 359, + PG_QUERY__TOKEN__CURRENT_P = 360, + PG_QUERY__TOKEN__CURRENT_CATALOG = 361, + PG_QUERY__TOKEN__CURRENT_DATE = 362, + PG_QUERY__TOKEN__CURRENT_ROLE = 363, + PG_QUERY__TOKEN__CURRENT_SCHEMA = 364, + PG_QUERY__TOKEN__CURRENT_TIME = 365, + PG_QUERY__TOKEN__CURRENT_TIMESTAMP = 366, + PG_QUERY__TOKEN__CURRENT_USER = 367, + PG_QUERY__TOKEN__CURSOR = 368, + PG_QUERY__TOKEN__CYCLE = 369, + PG_QUERY__TOKEN__DATA_P = 370, + PG_QUERY__TOKEN__DATABASE = 371, + PG_QUERY__TOKEN__DAY_P = 372, + PG_QUERY__TOKEN__DEALLOCATE = 373, + PG_QUERY__TOKEN__DEC = 374, + PG_QUERY__TOKEN__DECIMAL_P = 375, + PG_QUERY__TOKEN__DECLARE = 376, + PG_QUERY__TOKEN__DEFAULT = 377, + PG_QUERY__TOKEN__DEFAULTS = 378, + PG_QUERY__TOKEN__DEFERRABLE = 379, + PG_QUERY__TOKEN__DEFERRED = 380, + PG_QUERY__TOKEN__DEFINER = 381, + PG_QUERY__TOKEN__DELETE_P = 382, + PG_QUERY__TOKEN__DELIMITER = 383, + PG_QUERY__TOKEN__DELIMITERS = 384, + PG_QUERY__TOKEN__DEPENDS = 385, + PG_QUERY__TOKEN__DEPTH = 386, + PG_QUERY__TOKEN__DESC = 387, + PG_QUERY__TOKEN__DETACH = 388, + PG_QUERY__TOKEN__DICTIONARY = 389, + PG_QUERY__TOKEN__DISABLE_P = 390, + PG_QUERY__TOKEN__DISCARD = 391, + PG_QUERY__TOKEN__DISTINCT = 392, + PG_QUERY__TOKEN__DO = 393, + PG_QUERY__TOKEN__DOCUMENT_P = 394, + PG_QUERY__TOKEN__DOMAIN_P = 395, + PG_QUERY__TOKEN__DOUBLE_P = 396, + PG_QUERY__TOKEN__DROP = 397, + PG_QUERY__TOKEN__EACH = 398, + PG_QUERY__TOKEN__ELSE = 399, + PG_QUERY__TOKEN__EMPTY_P = 400, + PG_QUERY__TOKEN__ENABLE_P = 401, + PG_QUERY__TOKEN__ENCODING = 402, + PG_QUERY__TOKEN__ENCRYPTED = 403, + PG_QUERY__TOKEN__END_P = 404, + PG_QUERY__TOKEN__ENUM_P = 405, + PG_QUERY__TOKEN__ERROR_P = 406, + PG_QUERY__TOKEN__ESCAPE = 407, + PG_QUERY__TOKEN__EVENT = 408, + PG_QUERY__TOKEN__EXCEPT = 409, + PG_QUERY__TOKEN__EXCLUDE = 410, + PG_QUERY__TOKEN__EXCLUDING = 411, + PG_QUERY__TOKEN__EXCLUSIVE = 412, + PG_QUERY__TOKEN__EXECUTE = 413, + PG_QUERY__TOKEN__EXISTS = 414, + PG_QUERY__TOKEN__EXPLAIN = 415, + PG_QUERY__TOKEN__EXPRESSION = 416, + PG_QUERY__TOKEN__EXTENSION = 417, + PG_QUERY__TOKEN__EXTERNAL = 418, + PG_QUERY__TOKEN__EXTRACT = 419, + PG_QUERY__TOKEN__FALSE_P = 420, + PG_QUERY__TOKEN__FAMILY = 421, + PG_QUERY__TOKEN__FETCH = 422, + PG_QUERY__TOKEN__FILTER = 423, + PG_QUERY__TOKEN__FINALIZE = 424, + PG_QUERY__TOKEN__FIRST_P = 425, + PG_QUERY__TOKEN__FLOAT_P = 426, + PG_QUERY__TOKEN__FOLLOWING = 427, + PG_QUERY__TOKEN__FOR = 428, + PG_QUERY__TOKEN__FORCE = 429, + PG_QUERY__TOKEN__FOREIGN = 430, + PG_QUERY__TOKEN__FORMAT = 431, + PG_QUERY__TOKEN__FORWARD = 432, + PG_QUERY__TOKEN__FREEZE = 433, + PG_QUERY__TOKEN__FROM = 434, + PG_QUERY__TOKEN__FULL = 435, + PG_QUERY__TOKEN__FUNCTION = 436, + PG_QUERY__TOKEN__FUNCTIONS = 437, + PG_QUERY__TOKEN__GENERATED = 438, + PG_QUERY__TOKEN__GLOBAL = 439, + PG_QUERY__TOKEN__GRANT = 440, + PG_QUERY__TOKEN__GRANTED = 441, + PG_QUERY__TOKEN__GREATEST = 442, + PG_QUERY__TOKEN__GROUP_P = 443, + PG_QUERY__TOKEN__GROUPING = 444, + PG_QUERY__TOKEN__GROUPS = 445, + PG_QUERY__TOKEN__HANDLER = 446, + PG_QUERY__TOKEN__HAVING = 447, + PG_QUERY__TOKEN__HEADER_P = 448, + PG_QUERY__TOKEN__HOLD = 449, + PG_QUERY__TOKEN__HOUR_P = 450, + PG_QUERY__TOKEN__IDENTITY_P = 451, + PG_QUERY__TOKEN__IF_P = 452, + PG_QUERY__TOKEN__ILIKE = 453, + PG_QUERY__TOKEN__IMMEDIATE = 454, + PG_QUERY__TOKEN__IMMUTABLE = 455, + PG_QUERY__TOKEN__IMPLICIT_P = 456, + PG_QUERY__TOKEN__IMPORT_P = 457, + PG_QUERY__TOKEN__IN_P = 458, + PG_QUERY__TOKEN__INCLUDE = 459, + PG_QUERY__TOKEN__INCLUDING = 460, + PG_QUERY__TOKEN__INCREMENT = 461, + PG_QUERY__TOKEN__INDENT = 462, + PG_QUERY__TOKEN__INDEX = 463, + PG_QUERY__TOKEN__INDEXES = 464, + PG_QUERY__TOKEN__INHERIT = 465, + PG_QUERY__TOKEN__INHERITS = 466, + PG_QUERY__TOKEN__INITIALLY = 467, + PG_QUERY__TOKEN__INLINE_P = 468, + PG_QUERY__TOKEN__INNER_P = 469, + PG_QUERY__TOKEN__INOUT = 470, + PG_QUERY__TOKEN__INPUT_P = 471, + PG_QUERY__TOKEN__INSENSITIVE = 472, + PG_QUERY__TOKEN__INSERT = 473, + PG_QUERY__TOKEN__INSTEAD = 474, + PG_QUERY__TOKEN__INT_P = 475, + PG_QUERY__TOKEN__INTEGER = 476, + PG_QUERY__TOKEN__INTERSECT = 477, + PG_QUERY__TOKEN__INTERVAL = 478, + PG_QUERY__TOKEN__INTO = 479, + PG_QUERY__TOKEN__INVOKER = 480, + PG_QUERY__TOKEN__IS = 481, + PG_QUERY__TOKEN__ISNULL = 482, + PG_QUERY__TOKEN__ISOLATION = 483, + PG_QUERY__TOKEN__JOIN = 484, + PG_QUERY__TOKEN__JSON = 485, + PG_QUERY__TOKEN__JSON_ARRAY = 486, + PG_QUERY__TOKEN__JSON_ARRAYAGG = 487, + PG_QUERY__TOKEN__JSON_EXISTS = 488, + PG_QUERY__TOKEN__JSON_OBJECT = 489, + PG_QUERY__TOKEN__JSON_OBJECTAGG = 490, + PG_QUERY__TOKEN__JSON_QUERY = 491, + PG_QUERY__TOKEN__JSON_SCALAR = 492, + PG_QUERY__TOKEN__JSON_SERIALIZE = 493, + PG_QUERY__TOKEN__JSON_TABLE = 494, + PG_QUERY__TOKEN__JSON_VALUE = 495, + PG_QUERY__TOKEN__KEEP = 496, + PG_QUERY__TOKEN__KEY = 497, + PG_QUERY__TOKEN__KEYS = 498, + PG_QUERY__TOKEN__LABEL = 499, + PG_QUERY__TOKEN__LANGUAGE = 500, + PG_QUERY__TOKEN__LARGE_P = 501, + PG_QUERY__TOKEN__LAST_P = 502, + PG_QUERY__TOKEN__LATERAL_P = 503, + PG_QUERY__TOKEN__LEADING = 504, + PG_QUERY__TOKEN__LEAKPROOF = 505, + PG_QUERY__TOKEN__LEAST = 506, + PG_QUERY__TOKEN__LEFT = 507, + PG_QUERY__TOKEN__LEVEL = 508, + PG_QUERY__TOKEN__LIKE = 509, + PG_QUERY__TOKEN__LIMIT = 510, + PG_QUERY__TOKEN__LISTEN = 511, + PG_QUERY__TOKEN__LOAD = 512, + PG_QUERY__TOKEN__LOCAL = 513, + PG_QUERY__TOKEN__LOCALTIME = 514, + PG_QUERY__TOKEN__LOCALTIMESTAMP = 515, + PG_QUERY__TOKEN__LOCATION = 516, + PG_QUERY__TOKEN__LOCK_P = 517, + PG_QUERY__TOKEN__LOCKED = 518, + PG_QUERY__TOKEN__LOGGED = 519, + PG_QUERY__TOKEN__MAPPING = 520, + PG_QUERY__TOKEN__MATCH = 521, + PG_QUERY__TOKEN__MATCHED = 522, + PG_QUERY__TOKEN__MATERIALIZED = 523, + PG_QUERY__TOKEN__MAXVALUE = 524, + PG_QUERY__TOKEN__MERGE = 525, + PG_QUERY__TOKEN__MERGE_ACTION = 526, + PG_QUERY__TOKEN__METHOD = 527, + PG_QUERY__TOKEN__MINUTE_P = 528, + PG_QUERY__TOKEN__MINVALUE = 529, + PG_QUERY__TOKEN__MODE = 530, + PG_QUERY__TOKEN__MONTH_P = 531, + PG_QUERY__TOKEN__MOVE = 532, + PG_QUERY__TOKEN__NAME_P = 533, + PG_QUERY__TOKEN__NAMES = 534, + PG_QUERY__TOKEN__NATIONAL = 535, + PG_QUERY__TOKEN__NATURAL = 536, + PG_QUERY__TOKEN__NCHAR = 537, + PG_QUERY__TOKEN__NESTED = 538, + PG_QUERY__TOKEN__NEW = 539, + PG_QUERY__TOKEN__NEXT = 540, + PG_QUERY__TOKEN__NFC = 541, + PG_QUERY__TOKEN__NFD = 542, + PG_QUERY__TOKEN__NFKC = 543, + PG_QUERY__TOKEN__NFKD = 544, + PG_QUERY__TOKEN__NO = 545, + PG_QUERY__TOKEN__NONE = 546, + PG_QUERY__TOKEN__NORMALIZE = 547, + PG_QUERY__TOKEN__NORMALIZED = 548, + PG_QUERY__TOKEN__NOT = 549, + PG_QUERY__TOKEN__NOTHING = 550, + PG_QUERY__TOKEN__NOTIFY = 551, + PG_QUERY__TOKEN__NOTNULL = 552, + PG_QUERY__TOKEN__NOWAIT = 553, + PG_QUERY__TOKEN__NULL_P = 554, + PG_QUERY__TOKEN__NULLIF = 555, + PG_QUERY__TOKEN__NULLS_P = 556, + PG_QUERY__TOKEN__NUMERIC = 557, + PG_QUERY__TOKEN__OBJECT_P = 558, + PG_QUERY__TOKEN__OF = 559, + PG_QUERY__TOKEN__OFF = 560, + PG_QUERY__TOKEN__OFFSET = 561, + PG_QUERY__TOKEN__OIDS = 562, + PG_QUERY__TOKEN__OLD = 563, + PG_QUERY__TOKEN__OMIT = 564, + PG_QUERY__TOKEN__ON = 565, + PG_QUERY__TOKEN__ONLY = 566, + PG_QUERY__TOKEN__OPERATOR = 567, + PG_QUERY__TOKEN__OPTION = 568, + PG_QUERY__TOKEN__OPTIONS = 569, + PG_QUERY__TOKEN__OR = 570, + PG_QUERY__TOKEN__ORDER = 571, + PG_QUERY__TOKEN__ORDINALITY = 572, + PG_QUERY__TOKEN__OTHERS = 573, + PG_QUERY__TOKEN__OUT_P = 574, + PG_QUERY__TOKEN__OUTER_P = 575, + PG_QUERY__TOKEN__OVER = 576, + PG_QUERY__TOKEN__OVERLAPS = 577, + PG_QUERY__TOKEN__OVERLAY = 578, + PG_QUERY__TOKEN__OVERRIDING = 579, + PG_QUERY__TOKEN__OWNED = 580, + PG_QUERY__TOKEN__OWNER = 581, + PG_QUERY__TOKEN__PARALLEL = 582, + PG_QUERY__TOKEN__PARAMETER = 583, + PG_QUERY__TOKEN__PARSER = 584, + PG_QUERY__TOKEN__PARTIAL = 585, + PG_QUERY__TOKEN__PARTITION = 586, + PG_QUERY__TOKEN__PASSING = 587, + PG_QUERY__TOKEN__PASSWORD = 588, + PG_QUERY__TOKEN__PATH = 589, + PG_QUERY__TOKEN__PLACING = 590, + PG_QUERY__TOKEN__PLAN = 591, + PG_QUERY__TOKEN__PLANS = 592, + PG_QUERY__TOKEN__POLICY = 593, + PG_QUERY__TOKEN__POSITION = 594, + PG_QUERY__TOKEN__PRECEDING = 595, + PG_QUERY__TOKEN__PRECISION = 596, + PG_QUERY__TOKEN__PRESERVE = 597, + PG_QUERY__TOKEN__PREPARE = 598, + PG_QUERY__TOKEN__PREPARED = 599, + PG_QUERY__TOKEN__PRIMARY = 600, + PG_QUERY__TOKEN__PRIOR = 601, + PG_QUERY__TOKEN__PRIVILEGES = 602, + PG_QUERY__TOKEN__PROCEDURAL = 603, + PG_QUERY__TOKEN__PROCEDURE = 604, + PG_QUERY__TOKEN__PROCEDURES = 605, + PG_QUERY__TOKEN__PROGRAM = 606, + PG_QUERY__TOKEN__PUBLICATION = 607, + PG_QUERY__TOKEN__QUOTE = 608, + PG_QUERY__TOKEN__QUOTES = 609, + PG_QUERY__TOKEN__RANGE = 610, + PG_QUERY__TOKEN__READ = 611, + PG_QUERY__TOKEN__REAL = 612, + PG_QUERY__TOKEN__REASSIGN = 613, + PG_QUERY__TOKEN__RECHECK = 614, + PG_QUERY__TOKEN__RECURSIVE = 615, + PG_QUERY__TOKEN__REF_P = 616, + PG_QUERY__TOKEN__REFERENCES = 617, + PG_QUERY__TOKEN__REFERENCING = 618, + PG_QUERY__TOKEN__REFRESH = 619, + PG_QUERY__TOKEN__REINDEX = 620, + PG_QUERY__TOKEN__RELATIVE_P = 621, + PG_QUERY__TOKEN__RELEASE = 622, + PG_QUERY__TOKEN__RENAME = 623, + PG_QUERY__TOKEN__REPEATABLE = 624, + PG_QUERY__TOKEN__REPLACE = 625, + PG_QUERY__TOKEN__REPLICA = 626, + PG_QUERY__TOKEN__RESET = 627, + PG_QUERY__TOKEN__RESTART = 628, + PG_QUERY__TOKEN__RESTRICT = 629, + PG_QUERY__TOKEN__RETURN = 630, + PG_QUERY__TOKEN__RETURNING = 631, + PG_QUERY__TOKEN__RETURNS = 632, + PG_QUERY__TOKEN__REVOKE = 633, + PG_QUERY__TOKEN__RIGHT = 634, + PG_QUERY__TOKEN__ROLE = 635, + PG_QUERY__TOKEN__ROLLBACK = 636, + PG_QUERY__TOKEN__ROLLUP = 637, + PG_QUERY__TOKEN__ROUTINE = 638, + PG_QUERY__TOKEN__ROUTINES = 639, + PG_QUERY__TOKEN__ROW = 640, + PG_QUERY__TOKEN__ROWS = 641, + PG_QUERY__TOKEN__RULE = 642, + PG_QUERY__TOKEN__SAVEPOINT = 643, + PG_QUERY__TOKEN__SCALAR = 644, + PG_QUERY__TOKEN__SCHEMA = 645, + PG_QUERY__TOKEN__SCHEMAS = 646, + PG_QUERY__TOKEN__SCROLL = 647, + PG_QUERY__TOKEN__SEARCH = 648, + PG_QUERY__TOKEN__SECOND_P = 649, + PG_QUERY__TOKEN__SECURITY = 650, + PG_QUERY__TOKEN__SELECT = 651, + PG_QUERY__TOKEN__SEQUENCE = 652, + PG_QUERY__TOKEN__SEQUENCES = 653, + PG_QUERY__TOKEN__SERIALIZABLE = 654, + PG_QUERY__TOKEN__SERVER = 655, + PG_QUERY__TOKEN__SESSION = 656, + PG_QUERY__TOKEN__SESSION_USER = 657, + PG_QUERY__TOKEN__SET = 658, + PG_QUERY__TOKEN__SETS = 659, + PG_QUERY__TOKEN__SETOF = 660, + PG_QUERY__TOKEN__SHARE = 661, + PG_QUERY__TOKEN__SHOW = 662, + PG_QUERY__TOKEN__SIMILAR = 663, + PG_QUERY__TOKEN__SIMPLE = 664, + PG_QUERY__TOKEN__SKIP = 665, + PG_QUERY__TOKEN__SMALLINT = 666, + PG_QUERY__TOKEN__SNAPSHOT = 667, + PG_QUERY__TOKEN__SOME = 668, + PG_QUERY__TOKEN__SOURCE = 669, + PG_QUERY__TOKEN__SQL_P = 670, + PG_QUERY__TOKEN__STABLE = 671, + PG_QUERY__TOKEN__STANDALONE_P = 672, + PG_QUERY__TOKEN__START = 673, + PG_QUERY__TOKEN__STATEMENT = 674, + PG_QUERY__TOKEN__STATISTICS = 675, + PG_QUERY__TOKEN__STDIN = 676, + PG_QUERY__TOKEN__STDOUT = 677, + PG_QUERY__TOKEN__STORAGE = 678, + PG_QUERY__TOKEN__STORED = 679, + PG_QUERY__TOKEN__STRICT_P = 680, + PG_QUERY__TOKEN__STRING_P = 681, + PG_QUERY__TOKEN__STRIP_P = 682, + PG_QUERY__TOKEN__SUBSCRIPTION = 683, + PG_QUERY__TOKEN__SUBSTRING = 684, + PG_QUERY__TOKEN__SUPPORT = 685, + PG_QUERY__TOKEN__SYMMETRIC = 686, + PG_QUERY__TOKEN__SYSID = 687, + PG_QUERY__TOKEN__SYSTEM_P = 688, + PG_QUERY__TOKEN__SYSTEM_USER = 689, + PG_QUERY__TOKEN__TABLE = 690, + PG_QUERY__TOKEN__TABLES = 691, + PG_QUERY__TOKEN__TABLESAMPLE = 692, + PG_QUERY__TOKEN__TABLESPACE = 693, + PG_QUERY__TOKEN__TARGET = 694, + PG_QUERY__TOKEN__TEMP = 695, + PG_QUERY__TOKEN__TEMPLATE = 696, + PG_QUERY__TOKEN__TEMPORARY = 697, + PG_QUERY__TOKEN__TEXT_P = 698, + PG_QUERY__TOKEN__THEN = 699, + PG_QUERY__TOKEN__TIES = 700, + PG_QUERY__TOKEN__TIME = 701, + PG_QUERY__TOKEN__TIMESTAMP = 702, + PG_QUERY__TOKEN__TO = 703, + PG_QUERY__TOKEN__TRAILING = 704, + PG_QUERY__TOKEN__TRANSACTION = 705, + PG_QUERY__TOKEN__TRANSFORM = 706, + PG_QUERY__TOKEN__TREAT = 707, + PG_QUERY__TOKEN__TRIGGER = 708, + PG_QUERY__TOKEN__TRIM = 709, + PG_QUERY__TOKEN__TRUE_P = 710, + PG_QUERY__TOKEN__TRUNCATE = 711, + PG_QUERY__TOKEN__TRUSTED = 712, + PG_QUERY__TOKEN__TYPE_P = 713, + PG_QUERY__TOKEN__TYPES_P = 714, + PG_QUERY__TOKEN__UESCAPE = 715, + PG_QUERY__TOKEN__UNBOUNDED = 716, + PG_QUERY__TOKEN__UNCONDITIONAL = 717, + PG_QUERY__TOKEN__UNCOMMITTED = 718, + PG_QUERY__TOKEN__UNENCRYPTED = 719, + PG_QUERY__TOKEN__UNION = 720, + PG_QUERY__TOKEN__UNIQUE = 721, + PG_QUERY__TOKEN__UNKNOWN = 722, + PG_QUERY__TOKEN__UNLISTEN = 723, + PG_QUERY__TOKEN__UNLOGGED = 724, + PG_QUERY__TOKEN__UNTIL = 725, + PG_QUERY__TOKEN__UPDATE = 726, + PG_QUERY__TOKEN__USER = 727, + PG_QUERY__TOKEN__USING = 728, + PG_QUERY__TOKEN__VACUUM = 729, + PG_QUERY__TOKEN__VALID = 730, + PG_QUERY__TOKEN__VALIDATE = 731, + PG_QUERY__TOKEN__VALIDATOR = 732, + PG_QUERY__TOKEN__VALUE_P = 733, + PG_QUERY__TOKEN__VALUES = 734, + PG_QUERY__TOKEN__VARCHAR = 735, + PG_QUERY__TOKEN__VARIADIC = 736, + PG_QUERY__TOKEN__VARYING = 737, + PG_QUERY__TOKEN__VERBOSE = 738, + PG_QUERY__TOKEN__VERSION_P = 739, + PG_QUERY__TOKEN__VIEW = 740, + PG_QUERY__TOKEN__VIEWS = 741, + PG_QUERY__TOKEN__VOLATILE = 742, + PG_QUERY__TOKEN__WHEN = 743, + PG_QUERY__TOKEN__WHERE = 744, + PG_QUERY__TOKEN__WHITESPACE_P = 745, + PG_QUERY__TOKEN__WINDOW = 746, + PG_QUERY__TOKEN__WITH = 747, + PG_QUERY__TOKEN__WITHIN = 748, + PG_QUERY__TOKEN__WITHOUT = 749, + PG_QUERY__TOKEN__WORK = 750, + PG_QUERY__TOKEN__WRAPPER = 751, + PG_QUERY__TOKEN__WRITE = 752, + PG_QUERY__TOKEN__XML_P = 753, + PG_QUERY__TOKEN__XMLATTRIBUTES = 754, + PG_QUERY__TOKEN__XMLCONCAT = 755, + PG_QUERY__TOKEN__XMLELEMENT = 756, + PG_QUERY__TOKEN__XMLEXISTS = 757, + PG_QUERY__TOKEN__XMLFOREST = 758, + PG_QUERY__TOKEN__XMLNAMESPACES = 759, + PG_QUERY__TOKEN__XMLPARSE = 760, + PG_QUERY__TOKEN__XMLPI = 761, + PG_QUERY__TOKEN__XMLROOT = 762, + PG_QUERY__TOKEN__XMLSERIALIZE = 763, + PG_QUERY__TOKEN__XMLTABLE = 764, + PG_QUERY__TOKEN__YEAR_P = 765, + PG_QUERY__TOKEN__YES_P = 766, + PG_QUERY__TOKEN__ZONE = 767, + PG_QUERY__TOKEN__FORMAT_LA = 768, + PG_QUERY__TOKEN__NOT_LA = 769, + PG_QUERY__TOKEN__NULLS_LA = 770, + PG_QUERY__TOKEN__WITH_LA = 771, + PG_QUERY__TOKEN__WITHOUT_LA = 772, + PG_QUERY__TOKEN__MODE_TYPE_NAME = 773, + PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR = 774, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1 = 775, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2 = 776, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3 = 777, + PG_QUERY__TOKEN__UMINUS = 778 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__TOKEN) } PgQuery__Token; @@ -1578,249 +1676,265 @@ typedef enum { PG_QUERY__NODE__NODE_AGGREF = 7, PG_QUERY__NODE__NODE_GROUPING_FUNC = 8, PG_QUERY__NODE__NODE_WINDOW_FUNC = 9, - PG_QUERY__NODE__NODE_SUBSCRIPTING_REF = 10, - PG_QUERY__NODE__NODE_FUNC_EXPR = 11, - PG_QUERY__NODE__NODE_NAMED_ARG_EXPR = 12, - PG_QUERY__NODE__NODE_OP_EXPR = 13, - PG_QUERY__NODE__NODE_DISTINCT_EXPR = 14, - PG_QUERY__NODE__NODE_NULL_IF_EXPR = 15, - PG_QUERY__NODE__NODE_SCALAR_ARRAY_OP_EXPR = 16, - PG_QUERY__NODE__NODE_BOOL_EXPR = 17, - PG_QUERY__NODE__NODE_SUB_LINK = 18, - PG_QUERY__NODE__NODE_SUB_PLAN = 19, - PG_QUERY__NODE__NODE_ALTERNATIVE_SUB_PLAN = 20, - PG_QUERY__NODE__NODE_FIELD_SELECT = 21, - PG_QUERY__NODE__NODE_FIELD_STORE = 22, - PG_QUERY__NODE__NODE_RELABEL_TYPE = 23, - PG_QUERY__NODE__NODE_COERCE_VIA_IO = 24, - PG_QUERY__NODE__NODE_ARRAY_COERCE_EXPR = 25, - PG_QUERY__NODE__NODE_CONVERT_ROWTYPE_EXPR = 26, - PG_QUERY__NODE__NODE_COLLATE_EXPR = 27, - PG_QUERY__NODE__NODE_CASE_EXPR = 28, - PG_QUERY__NODE__NODE_CASE_WHEN = 29, - PG_QUERY__NODE__NODE_CASE_TEST_EXPR = 30, - PG_QUERY__NODE__NODE_ARRAY_EXPR = 31, - PG_QUERY__NODE__NODE_ROW_EXPR = 32, - PG_QUERY__NODE__NODE_ROW_COMPARE_EXPR = 33, - PG_QUERY__NODE__NODE_COALESCE_EXPR = 34, - PG_QUERY__NODE__NODE_MIN_MAX_EXPR = 35, - PG_QUERY__NODE__NODE_SQLVALUE_FUNCTION = 36, - PG_QUERY__NODE__NODE_XML_EXPR = 37, - PG_QUERY__NODE__NODE_JSON_FORMAT = 38, - PG_QUERY__NODE__NODE_JSON_RETURNING = 39, - PG_QUERY__NODE__NODE_JSON_VALUE_EXPR = 40, - PG_QUERY__NODE__NODE_JSON_CONSTRUCTOR_EXPR = 41, - PG_QUERY__NODE__NODE_JSON_IS_PREDICATE = 42, - PG_QUERY__NODE__NODE_NULL_TEST = 43, - PG_QUERY__NODE__NODE_BOOLEAN_TEST = 44, - PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN = 45, - PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN_VALUE = 46, - PG_QUERY__NODE__NODE_SET_TO_DEFAULT = 47, - PG_QUERY__NODE__NODE_CURRENT_OF_EXPR = 48, - PG_QUERY__NODE__NODE_NEXT_VALUE_EXPR = 49, - PG_QUERY__NODE__NODE_INFERENCE_ELEM = 50, - PG_QUERY__NODE__NODE_TARGET_ENTRY = 51, - PG_QUERY__NODE__NODE_RANGE_TBL_REF = 52, - PG_QUERY__NODE__NODE_JOIN_EXPR = 53, - PG_QUERY__NODE__NODE_FROM_EXPR = 54, - PG_QUERY__NODE__NODE_ON_CONFLICT_EXPR = 55, - PG_QUERY__NODE__NODE_QUERY = 56, - PG_QUERY__NODE__NODE_TYPE_NAME = 57, - PG_QUERY__NODE__NODE_COLUMN_REF = 58, - PG_QUERY__NODE__NODE_PARAM_REF = 59, - PG_QUERY__NODE__NODE_A_EXPR = 60, - PG_QUERY__NODE__NODE_TYPE_CAST = 61, - PG_QUERY__NODE__NODE_COLLATE_CLAUSE = 62, - PG_QUERY__NODE__NODE_ROLE_SPEC = 63, - PG_QUERY__NODE__NODE_FUNC_CALL = 64, - PG_QUERY__NODE__NODE_A_STAR = 65, - PG_QUERY__NODE__NODE_A_INDICES = 66, - PG_QUERY__NODE__NODE_A_INDIRECTION = 67, - PG_QUERY__NODE__NODE_A_ARRAY_EXPR = 68, - PG_QUERY__NODE__NODE_RES_TARGET = 69, - PG_QUERY__NODE__NODE_MULTI_ASSIGN_REF = 70, - PG_QUERY__NODE__NODE_SORT_BY = 71, - PG_QUERY__NODE__NODE_WINDOW_DEF = 72, - PG_QUERY__NODE__NODE_RANGE_SUBSELECT = 73, - PG_QUERY__NODE__NODE_RANGE_FUNCTION = 74, - PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC = 75, - PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC_COL = 76, - PG_QUERY__NODE__NODE_RANGE_TABLE_SAMPLE = 77, - PG_QUERY__NODE__NODE_COLUMN_DEF = 78, - PG_QUERY__NODE__NODE_TABLE_LIKE_CLAUSE = 79, - PG_QUERY__NODE__NODE_INDEX_ELEM = 80, - PG_QUERY__NODE__NODE_DEF_ELEM = 81, - PG_QUERY__NODE__NODE_LOCKING_CLAUSE = 82, - PG_QUERY__NODE__NODE_XML_SERIALIZE = 83, - PG_QUERY__NODE__NODE_PARTITION_ELEM = 84, - PG_QUERY__NODE__NODE_PARTITION_SPEC = 85, - PG_QUERY__NODE__NODE_PARTITION_BOUND_SPEC = 86, - PG_QUERY__NODE__NODE_PARTITION_RANGE_DATUM = 87, - PG_QUERY__NODE__NODE_PARTITION_CMD = 88, - PG_QUERY__NODE__NODE_RANGE_TBL_ENTRY = 89, - PG_QUERY__NODE__NODE_RTEPERMISSION_INFO = 90, - PG_QUERY__NODE__NODE_RANGE_TBL_FUNCTION = 91, - PG_QUERY__NODE__NODE_TABLE_SAMPLE_CLAUSE = 92, - PG_QUERY__NODE__NODE_WITH_CHECK_OPTION = 93, - PG_QUERY__NODE__NODE_SORT_GROUP_CLAUSE = 94, - PG_QUERY__NODE__NODE_GROUPING_SET = 95, - PG_QUERY__NODE__NODE_WINDOW_CLAUSE = 96, - PG_QUERY__NODE__NODE_ROW_MARK_CLAUSE = 97, - PG_QUERY__NODE__NODE_WITH_CLAUSE = 98, - PG_QUERY__NODE__NODE_INFER_CLAUSE = 99, - PG_QUERY__NODE__NODE_ON_CONFLICT_CLAUSE = 100, - PG_QUERY__NODE__NODE_CTESEARCH_CLAUSE = 101, - PG_QUERY__NODE__NODE_CTECYCLE_CLAUSE = 102, - PG_QUERY__NODE__NODE_COMMON_TABLE_EXPR = 103, - PG_QUERY__NODE__NODE_MERGE_WHEN_CLAUSE = 104, - PG_QUERY__NODE__NODE_MERGE_ACTION = 105, - PG_QUERY__NODE__NODE_TRIGGER_TRANSITION = 106, - PG_QUERY__NODE__NODE_JSON_OUTPUT = 107, - PG_QUERY__NODE__NODE_JSON_KEY_VALUE = 108, - PG_QUERY__NODE__NODE_JSON_OBJECT_CONSTRUCTOR = 109, - PG_QUERY__NODE__NODE_JSON_ARRAY_CONSTRUCTOR = 110, - PG_QUERY__NODE__NODE_JSON_ARRAY_QUERY_CONSTRUCTOR = 111, - PG_QUERY__NODE__NODE_JSON_AGG_CONSTRUCTOR = 112, - PG_QUERY__NODE__NODE_JSON_OBJECT_AGG = 113, - PG_QUERY__NODE__NODE_JSON_ARRAY_AGG = 114, - PG_QUERY__NODE__NODE_RAW_STMT = 115, - PG_QUERY__NODE__NODE_INSERT_STMT = 116, - PG_QUERY__NODE__NODE_DELETE_STMT = 117, - PG_QUERY__NODE__NODE_UPDATE_STMT = 118, - PG_QUERY__NODE__NODE_MERGE_STMT = 119, - PG_QUERY__NODE__NODE_SELECT_STMT = 120, - PG_QUERY__NODE__NODE_SET_OPERATION_STMT = 121, - PG_QUERY__NODE__NODE_RETURN_STMT = 122, - PG_QUERY__NODE__NODE_PLASSIGN_STMT = 123, - PG_QUERY__NODE__NODE_CREATE_SCHEMA_STMT = 124, - PG_QUERY__NODE__NODE_ALTER_TABLE_STMT = 125, - PG_QUERY__NODE__NODE_REPLICA_IDENTITY_STMT = 126, - PG_QUERY__NODE__NODE_ALTER_TABLE_CMD = 127, - PG_QUERY__NODE__NODE_ALTER_COLLATION_STMT = 128, - PG_QUERY__NODE__NODE_ALTER_DOMAIN_STMT = 129, - PG_QUERY__NODE__NODE_GRANT_STMT = 130, - PG_QUERY__NODE__NODE_OBJECT_WITH_ARGS = 131, - PG_QUERY__NODE__NODE_ACCESS_PRIV = 132, - PG_QUERY__NODE__NODE_GRANT_ROLE_STMT = 133, - PG_QUERY__NODE__NODE_ALTER_DEFAULT_PRIVILEGES_STMT = 134, - PG_QUERY__NODE__NODE_COPY_STMT = 135, - PG_QUERY__NODE__NODE_VARIABLE_SET_STMT = 136, - PG_QUERY__NODE__NODE_VARIABLE_SHOW_STMT = 137, - PG_QUERY__NODE__NODE_CREATE_STMT = 138, - PG_QUERY__NODE__NODE_CONSTRAINT = 139, - PG_QUERY__NODE__NODE_CREATE_TABLE_SPACE_STMT = 140, - PG_QUERY__NODE__NODE_DROP_TABLE_SPACE_STMT = 141, - PG_QUERY__NODE__NODE_ALTER_TABLE_SPACE_OPTIONS_STMT = 142, - PG_QUERY__NODE__NODE_ALTER_TABLE_MOVE_ALL_STMT = 143, - PG_QUERY__NODE__NODE_CREATE_EXTENSION_STMT = 144, - PG_QUERY__NODE__NODE_ALTER_EXTENSION_STMT = 145, - PG_QUERY__NODE__NODE_ALTER_EXTENSION_CONTENTS_STMT = 146, - PG_QUERY__NODE__NODE_CREATE_FDW_STMT = 147, - PG_QUERY__NODE__NODE_ALTER_FDW_STMT = 148, - PG_QUERY__NODE__NODE_CREATE_FOREIGN_SERVER_STMT = 149, - PG_QUERY__NODE__NODE_ALTER_FOREIGN_SERVER_STMT = 150, - PG_QUERY__NODE__NODE_CREATE_FOREIGN_TABLE_STMT = 151, - PG_QUERY__NODE__NODE_CREATE_USER_MAPPING_STMT = 152, - PG_QUERY__NODE__NODE_ALTER_USER_MAPPING_STMT = 153, - PG_QUERY__NODE__NODE_DROP_USER_MAPPING_STMT = 154, - PG_QUERY__NODE__NODE_IMPORT_FOREIGN_SCHEMA_STMT = 155, - PG_QUERY__NODE__NODE_CREATE_POLICY_STMT = 156, - PG_QUERY__NODE__NODE_ALTER_POLICY_STMT = 157, - PG_QUERY__NODE__NODE_CREATE_AM_STMT = 158, - PG_QUERY__NODE__NODE_CREATE_TRIG_STMT = 159, - PG_QUERY__NODE__NODE_CREATE_EVENT_TRIG_STMT = 160, - PG_QUERY__NODE__NODE_ALTER_EVENT_TRIG_STMT = 161, - PG_QUERY__NODE__NODE_CREATE_PLANG_STMT = 162, - PG_QUERY__NODE__NODE_CREATE_ROLE_STMT = 163, - PG_QUERY__NODE__NODE_ALTER_ROLE_STMT = 164, - PG_QUERY__NODE__NODE_ALTER_ROLE_SET_STMT = 165, - PG_QUERY__NODE__NODE_DROP_ROLE_STMT = 166, - PG_QUERY__NODE__NODE_CREATE_SEQ_STMT = 167, - PG_QUERY__NODE__NODE_ALTER_SEQ_STMT = 168, - PG_QUERY__NODE__NODE_DEFINE_STMT = 169, - PG_QUERY__NODE__NODE_CREATE_DOMAIN_STMT = 170, - PG_QUERY__NODE__NODE_CREATE_OP_CLASS_STMT = 171, - PG_QUERY__NODE__NODE_CREATE_OP_CLASS_ITEM = 172, - PG_QUERY__NODE__NODE_CREATE_OP_FAMILY_STMT = 173, - PG_QUERY__NODE__NODE_ALTER_OP_FAMILY_STMT = 174, - PG_QUERY__NODE__NODE_DROP_STMT = 175, - PG_QUERY__NODE__NODE_TRUNCATE_STMT = 176, - PG_QUERY__NODE__NODE_COMMENT_STMT = 177, - PG_QUERY__NODE__NODE_SEC_LABEL_STMT = 178, - PG_QUERY__NODE__NODE_DECLARE_CURSOR_STMT = 179, - PG_QUERY__NODE__NODE_CLOSE_PORTAL_STMT = 180, - PG_QUERY__NODE__NODE_FETCH_STMT = 181, - PG_QUERY__NODE__NODE_INDEX_STMT = 182, - PG_QUERY__NODE__NODE_CREATE_STATS_STMT = 183, - PG_QUERY__NODE__NODE_STATS_ELEM = 184, - PG_QUERY__NODE__NODE_ALTER_STATS_STMT = 185, - PG_QUERY__NODE__NODE_CREATE_FUNCTION_STMT = 186, - PG_QUERY__NODE__NODE_FUNCTION_PARAMETER = 187, - PG_QUERY__NODE__NODE_ALTER_FUNCTION_STMT = 188, - PG_QUERY__NODE__NODE_DO_STMT = 189, - PG_QUERY__NODE__NODE_INLINE_CODE_BLOCK = 190, - PG_QUERY__NODE__NODE_CALL_STMT = 191, - PG_QUERY__NODE__NODE_CALL_CONTEXT = 192, - PG_QUERY__NODE__NODE_RENAME_STMT = 193, - PG_QUERY__NODE__NODE_ALTER_OBJECT_DEPENDS_STMT = 194, - PG_QUERY__NODE__NODE_ALTER_OBJECT_SCHEMA_STMT = 195, - PG_QUERY__NODE__NODE_ALTER_OWNER_STMT = 196, - PG_QUERY__NODE__NODE_ALTER_OPERATOR_STMT = 197, - PG_QUERY__NODE__NODE_ALTER_TYPE_STMT = 198, - PG_QUERY__NODE__NODE_RULE_STMT = 199, - PG_QUERY__NODE__NODE_NOTIFY_STMT = 200, - PG_QUERY__NODE__NODE_LISTEN_STMT = 201, - PG_QUERY__NODE__NODE_UNLISTEN_STMT = 202, - PG_QUERY__NODE__NODE_TRANSACTION_STMT = 203, - PG_QUERY__NODE__NODE_COMPOSITE_TYPE_STMT = 204, - PG_QUERY__NODE__NODE_CREATE_ENUM_STMT = 205, - PG_QUERY__NODE__NODE_CREATE_RANGE_STMT = 206, - PG_QUERY__NODE__NODE_ALTER_ENUM_STMT = 207, - PG_QUERY__NODE__NODE_VIEW_STMT = 208, - PG_QUERY__NODE__NODE_LOAD_STMT = 209, - PG_QUERY__NODE__NODE_CREATEDB_STMT = 210, - PG_QUERY__NODE__NODE_ALTER_DATABASE_STMT = 211, - PG_QUERY__NODE__NODE_ALTER_DATABASE_REFRESH_COLL_STMT = 212, - PG_QUERY__NODE__NODE_ALTER_DATABASE_SET_STMT = 213, - PG_QUERY__NODE__NODE_DROPDB_STMT = 214, - PG_QUERY__NODE__NODE_ALTER_SYSTEM_STMT = 215, - PG_QUERY__NODE__NODE_CLUSTER_STMT = 216, - PG_QUERY__NODE__NODE_VACUUM_STMT = 217, - PG_QUERY__NODE__NODE_VACUUM_RELATION = 218, - PG_QUERY__NODE__NODE_EXPLAIN_STMT = 219, - PG_QUERY__NODE__NODE_CREATE_TABLE_AS_STMT = 220, - PG_QUERY__NODE__NODE_REFRESH_MAT_VIEW_STMT = 221, - PG_QUERY__NODE__NODE_CHECK_POINT_STMT = 222, - PG_QUERY__NODE__NODE_DISCARD_STMT = 223, - PG_QUERY__NODE__NODE_LOCK_STMT = 224, - PG_QUERY__NODE__NODE_CONSTRAINTS_SET_STMT = 225, - PG_QUERY__NODE__NODE_REINDEX_STMT = 226, - PG_QUERY__NODE__NODE_CREATE_CONVERSION_STMT = 227, - PG_QUERY__NODE__NODE_CREATE_CAST_STMT = 228, - PG_QUERY__NODE__NODE_CREATE_TRANSFORM_STMT = 229, - PG_QUERY__NODE__NODE_PREPARE_STMT = 230, - PG_QUERY__NODE__NODE_EXECUTE_STMT = 231, - PG_QUERY__NODE__NODE_DEALLOCATE_STMT = 232, - PG_QUERY__NODE__NODE_DROP_OWNED_STMT = 233, - PG_QUERY__NODE__NODE_REASSIGN_OWNED_STMT = 234, - PG_QUERY__NODE__NODE_ALTER_TSDICTIONARY_STMT = 235, - PG_QUERY__NODE__NODE_ALTER_TSCONFIGURATION_STMT = 236, - PG_QUERY__NODE__NODE_PUBLICATION_TABLE = 237, - PG_QUERY__NODE__NODE_PUBLICATION_OBJ_SPEC = 238, - PG_QUERY__NODE__NODE_CREATE_PUBLICATION_STMT = 239, - PG_QUERY__NODE__NODE_ALTER_PUBLICATION_STMT = 240, - PG_QUERY__NODE__NODE_CREATE_SUBSCRIPTION_STMT = 241, - PG_QUERY__NODE__NODE_ALTER_SUBSCRIPTION_STMT = 242, - PG_QUERY__NODE__NODE_DROP_SUBSCRIPTION_STMT = 243, - PG_QUERY__NODE__NODE_INTEGER = 244, - PG_QUERY__NODE__NODE_FLOAT = 245, - PG_QUERY__NODE__NODE_BOOLEAN = 246, - PG_QUERY__NODE__NODE_STRING = 247, - PG_QUERY__NODE__NODE_BIT_STRING = 248, - PG_QUERY__NODE__NODE_LIST = 249, - PG_QUERY__NODE__NODE_INT_LIST = 250, - PG_QUERY__NODE__NODE_OID_LIST = 251, - PG_QUERY__NODE__NODE_A_CONST = 252 + PG_QUERY__NODE__NODE_WINDOW_FUNC_RUN_CONDITION = 10, + PG_QUERY__NODE__NODE_MERGE_SUPPORT_FUNC = 11, + PG_QUERY__NODE__NODE_SUBSCRIPTING_REF = 12, + PG_QUERY__NODE__NODE_FUNC_EXPR = 13, + PG_QUERY__NODE__NODE_NAMED_ARG_EXPR = 14, + PG_QUERY__NODE__NODE_OP_EXPR = 15, + PG_QUERY__NODE__NODE_DISTINCT_EXPR = 16, + PG_QUERY__NODE__NODE_NULL_IF_EXPR = 17, + PG_QUERY__NODE__NODE_SCALAR_ARRAY_OP_EXPR = 18, + PG_QUERY__NODE__NODE_BOOL_EXPR = 19, + PG_QUERY__NODE__NODE_SUB_LINK = 20, + PG_QUERY__NODE__NODE_SUB_PLAN = 21, + PG_QUERY__NODE__NODE_ALTERNATIVE_SUB_PLAN = 22, + PG_QUERY__NODE__NODE_FIELD_SELECT = 23, + PG_QUERY__NODE__NODE_FIELD_STORE = 24, + PG_QUERY__NODE__NODE_RELABEL_TYPE = 25, + PG_QUERY__NODE__NODE_COERCE_VIA_IO = 26, + PG_QUERY__NODE__NODE_ARRAY_COERCE_EXPR = 27, + PG_QUERY__NODE__NODE_CONVERT_ROWTYPE_EXPR = 28, + PG_QUERY__NODE__NODE_COLLATE_EXPR = 29, + PG_QUERY__NODE__NODE_CASE_EXPR = 30, + PG_QUERY__NODE__NODE_CASE_WHEN = 31, + PG_QUERY__NODE__NODE_CASE_TEST_EXPR = 32, + PG_QUERY__NODE__NODE_ARRAY_EXPR = 33, + PG_QUERY__NODE__NODE_ROW_EXPR = 34, + PG_QUERY__NODE__NODE_ROW_COMPARE_EXPR = 35, + PG_QUERY__NODE__NODE_COALESCE_EXPR = 36, + PG_QUERY__NODE__NODE_MIN_MAX_EXPR = 37, + PG_QUERY__NODE__NODE_SQLVALUE_FUNCTION = 38, + PG_QUERY__NODE__NODE_XML_EXPR = 39, + PG_QUERY__NODE__NODE_JSON_FORMAT = 40, + PG_QUERY__NODE__NODE_JSON_RETURNING = 41, + PG_QUERY__NODE__NODE_JSON_VALUE_EXPR = 42, + PG_QUERY__NODE__NODE_JSON_CONSTRUCTOR_EXPR = 43, + PG_QUERY__NODE__NODE_JSON_IS_PREDICATE = 44, + PG_QUERY__NODE__NODE_JSON_BEHAVIOR = 45, + PG_QUERY__NODE__NODE_JSON_EXPR = 46, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH = 47, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH_SCAN = 48, + PG_QUERY__NODE__NODE_JSON_TABLE_SIBLING_JOIN = 49, + PG_QUERY__NODE__NODE_NULL_TEST = 50, + PG_QUERY__NODE__NODE_BOOLEAN_TEST = 51, + PG_QUERY__NODE__NODE_MERGE_ACTION = 52, + PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN = 53, + PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN_VALUE = 54, + PG_QUERY__NODE__NODE_SET_TO_DEFAULT = 55, + PG_QUERY__NODE__NODE_CURRENT_OF_EXPR = 56, + PG_QUERY__NODE__NODE_NEXT_VALUE_EXPR = 57, + PG_QUERY__NODE__NODE_INFERENCE_ELEM = 58, + PG_QUERY__NODE__NODE_TARGET_ENTRY = 59, + PG_QUERY__NODE__NODE_RANGE_TBL_REF = 60, + PG_QUERY__NODE__NODE_JOIN_EXPR = 61, + PG_QUERY__NODE__NODE_FROM_EXPR = 62, + PG_QUERY__NODE__NODE_ON_CONFLICT_EXPR = 63, + PG_QUERY__NODE__NODE_QUERY = 64, + PG_QUERY__NODE__NODE_TYPE_NAME = 65, + PG_QUERY__NODE__NODE_COLUMN_REF = 66, + PG_QUERY__NODE__NODE_PARAM_REF = 67, + PG_QUERY__NODE__NODE_A_EXPR = 68, + PG_QUERY__NODE__NODE_TYPE_CAST = 69, + PG_QUERY__NODE__NODE_COLLATE_CLAUSE = 70, + PG_QUERY__NODE__NODE_ROLE_SPEC = 71, + PG_QUERY__NODE__NODE_FUNC_CALL = 72, + PG_QUERY__NODE__NODE_A_STAR = 73, + PG_QUERY__NODE__NODE_A_INDICES = 74, + PG_QUERY__NODE__NODE_A_INDIRECTION = 75, + PG_QUERY__NODE__NODE_A_ARRAY_EXPR = 76, + PG_QUERY__NODE__NODE_RES_TARGET = 77, + PG_QUERY__NODE__NODE_MULTI_ASSIGN_REF = 78, + PG_QUERY__NODE__NODE_SORT_BY = 79, + PG_QUERY__NODE__NODE_WINDOW_DEF = 80, + PG_QUERY__NODE__NODE_RANGE_SUBSELECT = 81, + PG_QUERY__NODE__NODE_RANGE_FUNCTION = 82, + PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC = 83, + PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC_COL = 84, + PG_QUERY__NODE__NODE_RANGE_TABLE_SAMPLE = 85, + PG_QUERY__NODE__NODE_COLUMN_DEF = 86, + PG_QUERY__NODE__NODE_TABLE_LIKE_CLAUSE = 87, + PG_QUERY__NODE__NODE_INDEX_ELEM = 88, + PG_QUERY__NODE__NODE_DEF_ELEM = 89, + PG_QUERY__NODE__NODE_LOCKING_CLAUSE = 90, + PG_QUERY__NODE__NODE_XML_SERIALIZE = 91, + PG_QUERY__NODE__NODE_PARTITION_ELEM = 92, + PG_QUERY__NODE__NODE_PARTITION_SPEC = 93, + PG_QUERY__NODE__NODE_PARTITION_BOUND_SPEC = 94, + PG_QUERY__NODE__NODE_PARTITION_RANGE_DATUM = 95, + PG_QUERY__NODE__NODE_SINGLE_PARTITION_SPEC = 96, + PG_QUERY__NODE__NODE_PARTITION_CMD = 97, + PG_QUERY__NODE__NODE_RANGE_TBL_ENTRY = 98, + PG_QUERY__NODE__NODE_RTEPERMISSION_INFO = 99, + PG_QUERY__NODE__NODE_RANGE_TBL_FUNCTION = 100, + PG_QUERY__NODE__NODE_TABLE_SAMPLE_CLAUSE = 101, + PG_QUERY__NODE__NODE_WITH_CHECK_OPTION = 102, + PG_QUERY__NODE__NODE_SORT_GROUP_CLAUSE = 103, + PG_QUERY__NODE__NODE_GROUPING_SET = 104, + PG_QUERY__NODE__NODE_WINDOW_CLAUSE = 105, + PG_QUERY__NODE__NODE_ROW_MARK_CLAUSE = 106, + PG_QUERY__NODE__NODE_WITH_CLAUSE = 107, + PG_QUERY__NODE__NODE_INFER_CLAUSE = 108, + PG_QUERY__NODE__NODE_ON_CONFLICT_CLAUSE = 109, + PG_QUERY__NODE__NODE_CTESEARCH_CLAUSE = 110, + PG_QUERY__NODE__NODE_CTECYCLE_CLAUSE = 111, + PG_QUERY__NODE__NODE_COMMON_TABLE_EXPR = 112, + PG_QUERY__NODE__NODE_MERGE_WHEN_CLAUSE = 113, + PG_QUERY__NODE__NODE_TRIGGER_TRANSITION = 114, + PG_QUERY__NODE__NODE_JSON_OUTPUT = 115, + PG_QUERY__NODE__NODE_JSON_ARGUMENT = 116, + PG_QUERY__NODE__NODE_JSON_FUNC_EXPR = 117, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH_SPEC = 118, + PG_QUERY__NODE__NODE_JSON_TABLE = 119, + PG_QUERY__NODE__NODE_JSON_TABLE_COLUMN = 120, + PG_QUERY__NODE__NODE_JSON_KEY_VALUE = 121, + PG_QUERY__NODE__NODE_JSON_PARSE_EXPR = 122, + PG_QUERY__NODE__NODE_JSON_SCALAR_EXPR = 123, + PG_QUERY__NODE__NODE_JSON_SERIALIZE_EXPR = 124, + PG_QUERY__NODE__NODE_JSON_OBJECT_CONSTRUCTOR = 125, + PG_QUERY__NODE__NODE_JSON_ARRAY_CONSTRUCTOR = 126, + PG_QUERY__NODE__NODE_JSON_ARRAY_QUERY_CONSTRUCTOR = 127, + PG_QUERY__NODE__NODE_JSON_AGG_CONSTRUCTOR = 128, + PG_QUERY__NODE__NODE_JSON_OBJECT_AGG = 129, + PG_QUERY__NODE__NODE_JSON_ARRAY_AGG = 130, + PG_QUERY__NODE__NODE_RAW_STMT = 131, + PG_QUERY__NODE__NODE_INSERT_STMT = 132, + PG_QUERY__NODE__NODE_DELETE_STMT = 133, + PG_QUERY__NODE__NODE_UPDATE_STMT = 134, + PG_QUERY__NODE__NODE_MERGE_STMT = 135, + PG_QUERY__NODE__NODE_SELECT_STMT = 136, + PG_QUERY__NODE__NODE_SET_OPERATION_STMT = 137, + PG_QUERY__NODE__NODE_RETURN_STMT = 138, + PG_QUERY__NODE__NODE_PLASSIGN_STMT = 139, + PG_QUERY__NODE__NODE_CREATE_SCHEMA_STMT = 140, + PG_QUERY__NODE__NODE_ALTER_TABLE_STMT = 141, + PG_QUERY__NODE__NODE_REPLICA_IDENTITY_STMT = 142, + PG_QUERY__NODE__NODE_ALTER_TABLE_CMD = 143, + PG_QUERY__NODE__NODE_ALTER_COLLATION_STMT = 144, + PG_QUERY__NODE__NODE_ALTER_DOMAIN_STMT = 145, + PG_QUERY__NODE__NODE_GRANT_STMT = 146, + PG_QUERY__NODE__NODE_OBJECT_WITH_ARGS = 147, + PG_QUERY__NODE__NODE_ACCESS_PRIV = 148, + PG_QUERY__NODE__NODE_GRANT_ROLE_STMT = 149, + PG_QUERY__NODE__NODE_ALTER_DEFAULT_PRIVILEGES_STMT = 150, + PG_QUERY__NODE__NODE_COPY_STMT = 151, + PG_QUERY__NODE__NODE_VARIABLE_SET_STMT = 152, + PG_QUERY__NODE__NODE_VARIABLE_SHOW_STMT = 153, + PG_QUERY__NODE__NODE_CREATE_STMT = 154, + PG_QUERY__NODE__NODE_CONSTRAINT = 155, + PG_QUERY__NODE__NODE_CREATE_TABLE_SPACE_STMT = 156, + PG_QUERY__NODE__NODE_DROP_TABLE_SPACE_STMT = 157, + PG_QUERY__NODE__NODE_ALTER_TABLE_SPACE_OPTIONS_STMT = 158, + PG_QUERY__NODE__NODE_ALTER_TABLE_MOVE_ALL_STMT = 159, + PG_QUERY__NODE__NODE_CREATE_EXTENSION_STMT = 160, + PG_QUERY__NODE__NODE_ALTER_EXTENSION_STMT = 161, + PG_QUERY__NODE__NODE_ALTER_EXTENSION_CONTENTS_STMT = 162, + PG_QUERY__NODE__NODE_CREATE_FDW_STMT = 163, + PG_QUERY__NODE__NODE_ALTER_FDW_STMT = 164, + PG_QUERY__NODE__NODE_CREATE_FOREIGN_SERVER_STMT = 165, + PG_QUERY__NODE__NODE_ALTER_FOREIGN_SERVER_STMT = 166, + PG_QUERY__NODE__NODE_CREATE_FOREIGN_TABLE_STMT = 167, + PG_QUERY__NODE__NODE_CREATE_USER_MAPPING_STMT = 168, + PG_QUERY__NODE__NODE_ALTER_USER_MAPPING_STMT = 169, + PG_QUERY__NODE__NODE_DROP_USER_MAPPING_STMT = 170, + PG_QUERY__NODE__NODE_IMPORT_FOREIGN_SCHEMA_STMT = 171, + PG_QUERY__NODE__NODE_CREATE_POLICY_STMT = 172, + PG_QUERY__NODE__NODE_ALTER_POLICY_STMT = 173, + PG_QUERY__NODE__NODE_CREATE_AM_STMT = 174, + PG_QUERY__NODE__NODE_CREATE_TRIG_STMT = 175, + PG_QUERY__NODE__NODE_CREATE_EVENT_TRIG_STMT = 176, + PG_QUERY__NODE__NODE_ALTER_EVENT_TRIG_STMT = 177, + PG_QUERY__NODE__NODE_CREATE_PLANG_STMT = 178, + PG_QUERY__NODE__NODE_CREATE_ROLE_STMT = 179, + PG_QUERY__NODE__NODE_ALTER_ROLE_STMT = 180, + PG_QUERY__NODE__NODE_ALTER_ROLE_SET_STMT = 181, + PG_QUERY__NODE__NODE_DROP_ROLE_STMT = 182, + PG_QUERY__NODE__NODE_CREATE_SEQ_STMT = 183, + PG_QUERY__NODE__NODE_ALTER_SEQ_STMT = 184, + PG_QUERY__NODE__NODE_DEFINE_STMT = 185, + PG_QUERY__NODE__NODE_CREATE_DOMAIN_STMT = 186, + PG_QUERY__NODE__NODE_CREATE_OP_CLASS_STMT = 187, + PG_QUERY__NODE__NODE_CREATE_OP_CLASS_ITEM = 188, + PG_QUERY__NODE__NODE_CREATE_OP_FAMILY_STMT = 189, + PG_QUERY__NODE__NODE_ALTER_OP_FAMILY_STMT = 190, + PG_QUERY__NODE__NODE_DROP_STMT = 191, + PG_QUERY__NODE__NODE_TRUNCATE_STMT = 192, + PG_QUERY__NODE__NODE_COMMENT_STMT = 193, + PG_QUERY__NODE__NODE_SEC_LABEL_STMT = 194, + PG_QUERY__NODE__NODE_DECLARE_CURSOR_STMT = 195, + PG_QUERY__NODE__NODE_CLOSE_PORTAL_STMT = 196, + PG_QUERY__NODE__NODE_FETCH_STMT = 197, + PG_QUERY__NODE__NODE_INDEX_STMT = 198, + PG_QUERY__NODE__NODE_CREATE_STATS_STMT = 199, + PG_QUERY__NODE__NODE_STATS_ELEM = 200, + PG_QUERY__NODE__NODE_ALTER_STATS_STMT = 201, + PG_QUERY__NODE__NODE_CREATE_FUNCTION_STMT = 202, + PG_QUERY__NODE__NODE_FUNCTION_PARAMETER = 203, + PG_QUERY__NODE__NODE_ALTER_FUNCTION_STMT = 204, + PG_QUERY__NODE__NODE_DO_STMT = 205, + PG_QUERY__NODE__NODE_INLINE_CODE_BLOCK = 206, + PG_QUERY__NODE__NODE_CALL_STMT = 207, + PG_QUERY__NODE__NODE_CALL_CONTEXT = 208, + PG_QUERY__NODE__NODE_RENAME_STMT = 209, + PG_QUERY__NODE__NODE_ALTER_OBJECT_DEPENDS_STMT = 210, + PG_QUERY__NODE__NODE_ALTER_OBJECT_SCHEMA_STMT = 211, + PG_QUERY__NODE__NODE_ALTER_OWNER_STMT = 212, + PG_QUERY__NODE__NODE_ALTER_OPERATOR_STMT = 213, + PG_QUERY__NODE__NODE_ALTER_TYPE_STMT = 214, + PG_QUERY__NODE__NODE_RULE_STMT = 215, + PG_QUERY__NODE__NODE_NOTIFY_STMT = 216, + PG_QUERY__NODE__NODE_LISTEN_STMT = 217, + PG_QUERY__NODE__NODE_UNLISTEN_STMT = 218, + PG_QUERY__NODE__NODE_TRANSACTION_STMT = 219, + PG_QUERY__NODE__NODE_COMPOSITE_TYPE_STMT = 220, + PG_QUERY__NODE__NODE_CREATE_ENUM_STMT = 221, + PG_QUERY__NODE__NODE_CREATE_RANGE_STMT = 222, + PG_QUERY__NODE__NODE_ALTER_ENUM_STMT = 223, + PG_QUERY__NODE__NODE_VIEW_STMT = 224, + PG_QUERY__NODE__NODE_LOAD_STMT = 225, + PG_QUERY__NODE__NODE_CREATEDB_STMT = 226, + PG_QUERY__NODE__NODE_ALTER_DATABASE_STMT = 227, + PG_QUERY__NODE__NODE_ALTER_DATABASE_REFRESH_COLL_STMT = 228, + PG_QUERY__NODE__NODE_ALTER_DATABASE_SET_STMT = 229, + PG_QUERY__NODE__NODE_DROPDB_STMT = 230, + PG_QUERY__NODE__NODE_ALTER_SYSTEM_STMT = 231, + PG_QUERY__NODE__NODE_CLUSTER_STMT = 232, + PG_QUERY__NODE__NODE_VACUUM_STMT = 233, + PG_QUERY__NODE__NODE_VACUUM_RELATION = 234, + PG_QUERY__NODE__NODE_EXPLAIN_STMT = 235, + PG_QUERY__NODE__NODE_CREATE_TABLE_AS_STMT = 236, + PG_QUERY__NODE__NODE_REFRESH_MAT_VIEW_STMT = 237, + PG_QUERY__NODE__NODE_CHECK_POINT_STMT = 238, + PG_QUERY__NODE__NODE_DISCARD_STMT = 239, + PG_QUERY__NODE__NODE_LOCK_STMT = 240, + PG_QUERY__NODE__NODE_CONSTRAINTS_SET_STMT = 241, + PG_QUERY__NODE__NODE_REINDEX_STMT = 242, + PG_QUERY__NODE__NODE_CREATE_CONVERSION_STMT = 243, + PG_QUERY__NODE__NODE_CREATE_CAST_STMT = 244, + PG_QUERY__NODE__NODE_CREATE_TRANSFORM_STMT = 245, + PG_QUERY__NODE__NODE_PREPARE_STMT = 246, + PG_QUERY__NODE__NODE_EXECUTE_STMT = 247, + PG_QUERY__NODE__NODE_DEALLOCATE_STMT = 248, + PG_QUERY__NODE__NODE_DROP_OWNED_STMT = 249, + PG_QUERY__NODE__NODE_REASSIGN_OWNED_STMT = 250, + PG_QUERY__NODE__NODE_ALTER_TSDICTIONARY_STMT = 251, + PG_QUERY__NODE__NODE_ALTER_TSCONFIGURATION_STMT = 252, + PG_QUERY__NODE__NODE_PUBLICATION_TABLE = 253, + PG_QUERY__NODE__NODE_PUBLICATION_OBJ_SPEC = 254, + PG_QUERY__NODE__NODE_CREATE_PUBLICATION_STMT = 255, + PG_QUERY__NODE__NODE_ALTER_PUBLICATION_STMT = 256, + PG_QUERY__NODE__NODE_CREATE_SUBSCRIPTION_STMT = 257, + PG_QUERY__NODE__NODE_ALTER_SUBSCRIPTION_STMT = 258, + PG_QUERY__NODE__NODE_DROP_SUBSCRIPTION_STMT = 259, + PG_QUERY__NODE__NODE_INTEGER = 260, + PG_QUERY__NODE__NODE_FLOAT = 261, + PG_QUERY__NODE__NODE_BOOLEAN = 262, + PG_QUERY__NODE__NODE_STRING = 263, + PG_QUERY__NODE__NODE_BIT_STRING = 264, + PG_QUERY__NODE__NODE_LIST = 265, + PG_QUERY__NODE__NODE_INT_LIST = 266, + PG_QUERY__NODE__NODE_OID_LIST = 267, + PG_QUERY__NODE__NODE_A_CONST = 268 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__NODE__NODE__CASE) } PgQuery__Node__NodeCase; @@ -1838,6 +1952,8 @@ struct PgQuery__Node PgQuery__Aggref *aggref; PgQuery__GroupingFunc *grouping_func; PgQuery__WindowFunc *window_func; + PgQuery__WindowFuncRunCondition *window_func_run_condition; + PgQuery__MergeSupportFunc *merge_support_func; PgQuery__SubscriptingRef *subscripting_ref; PgQuery__FuncExpr *func_expr; PgQuery__NamedArgExpr *named_arg_expr; @@ -1871,8 +1987,14 @@ struct PgQuery__Node PgQuery__JsonValueExpr *json_value_expr; PgQuery__JsonConstructorExpr *json_constructor_expr; PgQuery__JsonIsPredicate *json_is_predicate; + PgQuery__JsonBehavior *json_behavior; + PgQuery__JsonExpr *json_expr; + PgQuery__JsonTablePath *json_table_path; + PgQuery__JsonTablePathScan *json_table_path_scan; + PgQuery__JsonTableSiblingJoin *json_table_sibling_join; PgQuery__NullTest *null_test; PgQuery__BooleanTest *boolean_test; + PgQuery__MergeAction *merge_action; PgQuery__CoerceToDomain *coerce_to_domain; PgQuery__CoerceToDomainValue *coerce_to_domain_value; PgQuery__SetToDefault *set_to_default; @@ -1916,6 +2038,7 @@ struct PgQuery__Node PgQuery__PartitionSpec *partition_spec; PgQuery__PartitionBoundSpec *partition_bound_spec; PgQuery__PartitionRangeDatum *partition_range_datum; + PgQuery__SinglePartitionSpec *single_partition_spec; PgQuery__PartitionCmd *partition_cmd; PgQuery__RangeTblEntry *range_tbl_entry; PgQuery__RTEPermissionInfo *rtepermission_info; @@ -1933,10 +2056,17 @@ struct PgQuery__Node PgQuery__CTECycleClause *ctecycle_clause; PgQuery__CommonTableExpr *common_table_expr; PgQuery__MergeWhenClause *merge_when_clause; - PgQuery__MergeAction *merge_action; PgQuery__TriggerTransition *trigger_transition; PgQuery__JsonOutput *json_output; + PgQuery__JsonArgument *json_argument; + PgQuery__JsonFuncExpr *json_func_expr; + PgQuery__JsonTablePathSpec *json_table_path_spec; + PgQuery__JsonTable *json_table; + PgQuery__JsonTableColumn *json_table_column; PgQuery__JsonKeyValue *json_key_value; + PgQuery__JsonParseExpr *json_parse_expr; + PgQuery__JsonScalarExpr *json_scalar_expr; + PgQuery__JsonSerializeExpr *json_serialize_expr; PgQuery__JsonObjectConstructor *json_object_constructor; PgQuery__JsonArrayConstructor *json_array_constructor; PgQuery__JsonArrayQueryConstructor *json_array_query_constructor; @@ -2243,6 +2373,7 @@ struct PgQuery__RangeVar struct PgQuery__TableFunc { ProtobufCMessage base; + PgQuery__TableFuncType functype; size_t n_ns_uris; PgQuery__Node **ns_uris; size_t n_ns_names; @@ -2261,14 +2392,19 @@ struct PgQuery__TableFunc PgQuery__Node **colexprs; size_t n_coldefexprs; PgQuery__Node **coldefexprs; + size_t n_colvalexprs; + PgQuery__Node **colvalexprs; + size_t n_passingvalexprs; + PgQuery__Node **passingvalexprs; size_t n_notnulls; uint64_t *notnulls; + PgQuery__Node *plan; int32_t ordinalitycol; int32_t location; }; #define PG_QUERY__TABLE_FUNC__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_func__descriptor) \ -, 0,NULL, 0,NULL, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0, 0 } +, PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED, 0,NULL, 0,NULL, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, 0, 0 } struct PgQuery__IntoClause @@ -2385,6 +2521,8 @@ struct PgQuery__WindowFunc size_t n_args; PgQuery__Node **args; PgQuery__Node *aggfilter; + size_t n_run_condition; + PgQuery__Node **run_condition; uint32_t winref; protobuf_c_boolean winstar; protobuf_c_boolean winagg; @@ -2392,7 +2530,34 @@ struct PgQuery__WindowFunc }; #define PG_QUERY__WINDOW_FUNC__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_func__descriptor) \ -, NULL, 0, 0, 0, 0, 0,NULL, NULL, 0, 0, 0, 0 } +, NULL, 0, 0, 0, 0, 0,NULL, NULL, 0,NULL, 0, 0, 0, 0 } + + +struct PgQuery__WindowFuncRunCondition +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + uint32_t opno; + uint32_t inputcollid; + protobuf_c_boolean wfunc_left; + PgQuery__Node *arg; +}; +#define PG_QUERY__WINDOW_FUNC_RUN_CONDITION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_func_run_condition__descriptor) \ +, NULL, 0, 0, 0, NULL } + + +struct PgQuery__MergeSupportFunc +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + uint32_t msftype; + uint32_t msfcollid; + int32_t location; +}; +#define PG_QUERY__MERGE_SUPPORT_FUNC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_support_func__descriptor) \ +, NULL, 0, 0, 0 } struct PgQuery__SubscriptingRef @@ -2935,6 +3100,84 @@ struct PgQuery__JsonIsPredicate , NULL, NULL, PG_QUERY__JSON_VALUE_TYPE__JSON_VALUE_TYPE_UNDEFINED, 0, 0 } +struct PgQuery__JsonBehavior +{ + ProtobufCMessage base; + PgQuery__JsonBehaviorType btype; + PgQuery__Node *expr; + protobuf_c_boolean coerce; + int32_t location; +}; +#define PG_QUERY__JSON_BEHAVIOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_behavior__descriptor) \ +, PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED, NULL, 0, 0 } + + +struct PgQuery__JsonExpr +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + PgQuery__JsonExprOp op; + char *column_name; + PgQuery__Node *formatted_expr; + PgQuery__JsonFormat *format; + PgQuery__Node *path_spec; + PgQuery__JsonReturning *returning; + size_t n_passing_names; + PgQuery__Node **passing_names; + size_t n_passing_values; + PgQuery__Node **passing_values; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + protobuf_c_boolean use_io_coercion; + protobuf_c_boolean use_json_coercion; + PgQuery__JsonWrapper wrapper; + protobuf_c_boolean omit_quotes; + uint32_t collation; + int32_t location; +}; +#define PG_QUERY__JSON_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_expr__descriptor) \ +, NULL, PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, NULL, NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, 0, 0, 0 } + + +struct PgQuery__JsonTablePath +{ + ProtobufCMessage base; + char *name; +}; +#define PG_QUERY__JSON_TABLE_PATH__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path__descriptor) \ +, (char *)protobuf_c_empty_string } + + +struct PgQuery__JsonTablePathScan +{ + ProtobufCMessage base; + PgQuery__Node *plan; + PgQuery__JsonTablePath *path; + protobuf_c_boolean error_on_error; + PgQuery__Node *child; + int32_t col_min; + int32_t col_max; +}; +#define PG_QUERY__JSON_TABLE_PATH_SCAN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path_scan__descriptor) \ +, NULL, NULL, 0, NULL, 0, 0 } + + +struct PgQuery__JsonTableSiblingJoin +{ + ProtobufCMessage base; + PgQuery__Node *plan; + PgQuery__Node *lplan; + PgQuery__Node *rplan; +}; +#define PG_QUERY__JSON_TABLE_SIBLING_JOIN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_sibling_join__descriptor) \ +, NULL, NULL, NULL } + + struct PgQuery__NullTest { ProtobufCMessage base; @@ -2962,6 +3205,23 @@ struct PgQuery__BooleanTest , NULL, NULL, PG_QUERY__BOOL_TEST_TYPE__BOOL_TEST_TYPE_UNDEFINED, 0 } +struct PgQuery__MergeAction +{ + ProtobufCMessage base; + PgQuery__MergeMatchKind match_kind; + PgQuery__CmdType command_type; + PgQuery__OverridingKind override; + PgQuery__Node *qual; + size_t n_target_list; + PgQuery__Node **target_list; + size_t n_update_colnos; + PgQuery__Node **update_colnos; +}; +#define PG_QUERY__MERGE_ACTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_action__descriptor) \ +, PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } + + struct PgQuery__CoerceToDomain { ProtobufCMessage base; @@ -3149,7 +3409,8 @@ struct PgQuery__Query PgQuery__FromExpr *jointree; size_t n_merge_action_list; PgQuery__Node **merge_action_list; - protobuf_c_boolean merge_use_outer_join; + int32_t merge_target_relation; + PgQuery__Node *merge_join_condition; size_t n_target_list; PgQuery__Node **target_list; PgQuery__OverridingKind override; @@ -3183,7 +3444,7 @@ struct PgQuery__Query }; #define PG_QUERY__QUERY__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__query__descriptor) \ -, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, 0,NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL, 0, 0,NULL, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, 0,NULL, 0,NULL, 0, 0 } +, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL, 0, 0,NULL, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, 0,NULL, 0,NULL, 0, 0 } struct PgQuery__TypeName @@ -3652,6 +3913,15 @@ struct PgQuery__PartitionRangeDatum , PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_KIND_UNDEFINED, NULL, 0 } +struct PgQuery__SinglePartitionSpec +{ + ProtobufCMessage base; +}; +#define PG_QUERY__SINGLE_PARTITION_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__single_partition_spec__descriptor) \ + } + + struct PgQuery__PartitionCmd { ProtobufCMessage base; @@ -3667,12 +3937,15 @@ struct PgQuery__PartitionCmd struct PgQuery__RangeTblEntry { ProtobufCMessage base; + PgQuery__Alias *alias; + PgQuery__Alias *eref; PgQuery__RTEKind rtekind; uint32_t relid; + protobuf_c_boolean inh; char *relkind; int32_t rellockmode; - PgQuery__TableSampleClause *tablesample; uint32_t perminfoindex; + PgQuery__TableSampleClause *tablesample; PgQuery__Query *subquery; protobuf_c_boolean security_barrier; PgQuery__JoinType jointype; @@ -3701,17 +3974,14 @@ struct PgQuery__RangeTblEntry PgQuery__Node **colcollations; char *enrname; double enrtuples; - PgQuery__Alias *alias; - PgQuery__Alias *eref; protobuf_c_boolean lateral; - protobuf_c_boolean inh; protobuf_c_boolean in_from_cl; size_t n_security_quals; PgQuery__Node **security_quals; }; #define PG_QUERY__RANGE_TBL_ENTRY__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_tbl_entry__descriptor) \ -, PG_QUERY__RTEKIND__RTEKIND_UNDEFINED, 0, (char *)protobuf_c_empty_string, 0, NULL, 0, NULL, 0, PG_QUERY__JOIN_TYPE__JOIN_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, NULL, NULL, 0, 0, 0, 0,NULL } +, NULL, NULL, PG_QUERY__RTEKIND__RTEKIND_UNDEFINED, 0, 0, (char *)protobuf_c_empty_string, 0, 0, NULL, NULL, 0, PG_QUERY__JOIN_TYPE__JOIN_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0,NULL } struct PgQuery__RTEPermissionInfo @@ -3719,7 +3989,7 @@ struct PgQuery__RTEPermissionInfo ProtobufCMessage base; uint32_t relid; protobuf_c_boolean inh; - int64_t required_perms; + uint64_t required_perms; uint32_t check_as_user; size_t n_selected_cols; uint64_t *selected_cols; @@ -3820,8 +4090,6 @@ struct PgQuery__WindowClause int32_t frame_options; PgQuery__Node *start_offset; PgQuery__Node *end_offset; - size_t n_run_condition; - PgQuery__Node **run_condition; uint32_t start_in_range_func; uint32_t end_in_range_func; uint32_t in_range_coll; @@ -3832,7 +4100,7 @@ struct PgQuery__WindowClause }; #define PG_QUERY__WINDOW_CLAUSE__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_clause__descriptor) \ -, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0,NULL, 0, 0, 0, 0, 0, 0, 0 } +, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0 } struct PgQuery__RowMarkClause @@ -3954,7 +4222,7 @@ struct PgQuery__CommonTableExpr struct PgQuery__MergeWhenClause { ProtobufCMessage base; - protobuf_c_boolean matched; + PgQuery__MergeMatchKind match_kind; PgQuery__CmdType command_type; PgQuery__OverridingKind override; PgQuery__Node *condition; @@ -3965,24 +4233,7 @@ struct PgQuery__MergeWhenClause }; #define PG_QUERY__MERGE_WHEN_CLAUSE__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_when_clause__descriptor) \ -, 0, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } - - -struct PgQuery__MergeAction -{ - ProtobufCMessage base; - protobuf_c_boolean matched; - PgQuery__CmdType command_type; - PgQuery__OverridingKind override; - PgQuery__Node *qual; - size_t n_target_list; - PgQuery__Node **target_list; - size_t n_update_colnos; - PgQuery__Node **update_colnos; -}; -#define PG_QUERY__MERGE_ACTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_action__descriptor) \ -, 0, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } +, PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } struct PgQuery__TriggerTransition @@ -4008,6 +4259,91 @@ struct PgQuery__JsonOutput , NULL, NULL } +struct PgQuery__JsonArgument +{ + ProtobufCMessage base; + PgQuery__JsonValueExpr *val; + char *name; +}; +#define PG_QUERY__JSON_ARGUMENT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_argument__descriptor) \ +, NULL, (char *)protobuf_c_empty_string } + + +struct PgQuery__JsonFuncExpr +{ + ProtobufCMessage base; + PgQuery__JsonExprOp op; + char *column_name; + PgQuery__JsonValueExpr *context_item; + PgQuery__Node *pathspec; + size_t n_passing; + PgQuery__Node **passing; + PgQuery__JsonOutput *output; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + PgQuery__JsonWrapper wrapper; + PgQuery__JsonQuotes quotes; + int32_t location; +}; +#define PG_QUERY__JSON_FUNC_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_func_expr__descriptor) \ +, PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, NULL, NULL, NULL, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED, 0 } + + +struct PgQuery__JsonTablePathSpec +{ + ProtobufCMessage base; + PgQuery__Node *string; + char *name; + int32_t name_location; + int32_t location; +}; +#define PG_QUERY__JSON_TABLE_PATH_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path_spec__descriptor) \ +, NULL, (char *)protobuf_c_empty_string, 0, 0 } + + +struct PgQuery__JsonTable +{ + ProtobufCMessage base; + PgQuery__JsonValueExpr *context_item; + PgQuery__JsonTablePathSpec *pathspec; + size_t n_passing; + PgQuery__Node **passing; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__JsonBehavior *on_error; + PgQuery__Alias *alias; + protobuf_c_boolean lateral; + int32_t location; +}; +#define PG_QUERY__JSON_TABLE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table__descriptor) \ +, NULL, NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0 } + + +struct PgQuery__JsonTableColumn +{ + ProtobufCMessage base; + PgQuery__JsonTableColumnType coltype; + char *name; + PgQuery__TypeName *type_name; + PgQuery__JsonTablePathSpec *pathspec; + PgQuery__JsonFormat *format; + PgQuery__JsonWrapper wrapper; + PgQuery__JsonQuotes quotes; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + int32_t location; +}; +#define PG_QUERY__JSON_TABLE_COLUMN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_column__descriptor) \ +, PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, NULL, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED, 0,NULL, NULL, NULL, 0 } + + struct PgQuery__JsonKeyValue { ProtobufCMessage base; @@ -4019,6 +4355,43 @@ struct PgQuery__JsonKeyValue , NULL, NULL } +struct PgQuery__JsonParseExpr +{ + ProtobufCMessage base; + PgQuery__JsonValueExpr *expr; + PgQuery__JsonOutput *output; + protobuf_c_boolean unique_keys; + int32_t location; +}; +#define PG_QUERY__JSON_PARSE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_parse_expr__descriptor) \ +, NULL, NULL, 0, 0 } + + +struct PgQuery__JsonScalarExpr +{ + ProtobufCMessage base; + PgQuery__Node *expr; + PgQuery__JsonOutput *output; + int32_t location; +}; +#define PG_QUERY__JSON_SCALAR_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_scalar_expr__descriptor) \ +, NULL, NULL, 0 } + + +struct PgQuery__JsonSerializeExpr +{ + ProtobufCMessage base; + PgQuery__JsonValueExpr *expr; + PgQuery__JsonOutput *output; + int32_t location; +}; +#define PG_QUERY__JSON_SERIALIZE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_serialize_expr__descriptor) \ +, NULL, NULL, 0 } + + struct PgQuery__JsonObjectConstructor { ProtobufCMessage base; @@ -4174,11 +4547,13 @@ struct PgQuery__MergeStmt PgQuery__Node *join_condition; size_t n_merge_when_clauses; PgQuery__Node **merge_when_clauses; + size_t n_returning_list; + PgQuery__Node **returning_list; PgQuery__WithClause *with_clause; }; #define PG_QUERY__MERGE_STMT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_stmt__descriptor) \ -, NULL, NULL, NULL, 0,NULL, NULL } +, NULL, NULL, NULL, 0,NULL, 0,NULL, NULL } struct PgQuery__SelectStmt @@ -4501,11 +4876,13 @@ struct PgQuery__Constraint char *conname; protobuf_c_boolean deferrable; protobuf_c_boolean initdeferred; - int32_t location; + protobuf_c_boolean skip_validation; + protobuf_c_boolean initially_valid; protobuf_c_boolean is_no_inherit; PgQuery__Node *raw_expr; char *cooked_expr; char *generated_when; + int32_t inhcount; protobuf_c_boolean nulls_not_distinct; size_t n_keys; PgQuery__Node **keys; @@ -4533,12 +4910,11 @@ struct PgQuery__Constraint size_t n_old_conpfeqop; PgQuery__Node **old_conpfeqop; uint32_t old_pktable_oid; - protobuf_c_boolean skip_validation; - protobuf_c_boolean initially_valid; + int32_t location; }; #define PG_QUERY__CONSTRAINT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__constraint__descriptor) \ -, PG_QUERY__CONSTR_TYPE__CONSTR_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, 0, 0, 0, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, 0, 0 } +, PG_QUERY__CONSTR_TYPE__CONSTR_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, 0 } struct PgQuery__CreateTableSpaceStmt @@ -5212,12 +5588,12 @@ struct PgQuery__AlterStatsStmt ProtobufCMessage base; size_t n_defnames; PgQuery__Node **defnames; - int32_t stxstattarget; + PgQuery__Node *stxstattarget; protobuf_c_boolean missing_ok; }; #define PG_QUERY__ALTER_STATS_STMT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_stats_stmt__descriptor) \ -, 0,NULL, 0, 0 } +, 0,NULL, NULL, 0 } struct PgQuery__CreateFunctionStmt @@ -5452,10 +5828,11 @@ struct PgQuery__TransactionStmt char *savepoint_name; char *gid; protobuf_c_boolean chain; + int32_t location; }; #define PG_QUERY__TRANSACTION_STMT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__transaction_stmt__descriptor) \ -, PG_QUERY__TRANSACTION_STMT_KIND__TRANSACTION_STMT_KIND_UNDEFINED, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0 } +, PG_QUERY__TRANSACTION_STMT_KIND__TRANSACTION_STMT_KIND_UNDEFINED, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0 } struct PgQuery__CompositeTypeStmt @@ -5816,10 +6193,12 @@ struct PgQuery__DeallocateStmt { ProtobufCMessage base; char *name; + protobuf_c_boolean isall; + int32_t location; }; #define PG_QUERY__DEALLOCATE_STMT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__deallocate_stmt__descriptor) \ -, (char *)protobuf_c_empty_string } +, (char *)protobuf_c_empty_string, 0, 0 } struct PgQuery__DropOwnedStmt @@ -6390,6 +6769,44 @@ PgQuery__WindowFunc * void pg_query__window_func__free_unpacked (PgQuery__WindowFunc *message, ProtobufCAllocator *allocator); +/* PgQuery__WindowFuncRunCondition methods */ +void pg_query__window_func_run_condition__init + (PgQuery__WindowFuncRunCondition *message); +size_t pg_query__window_func_run_condition__get_packed_size + (const PgQuery__WindowFuncRunCondition *message); +size_t pg_query__window_func_run_condition__pack + (const PgQuery__WindowFuncRunCondition *message, + uint8_t *out); +size_t pg_query__window_func_run_condition__pack_to_buffer + (const PgQuery__WindowFuncRunCondition *message, + ProtobufCBuffer *buffer); +PgQuery__WindowFuncRunCondition * + pg_query__window_func_run_condition__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__window_func_run_condition__free_unpacked + (PgQuery__WindowFuncRunCondition *message, + ProtobufCAllocator *allocator); +/* PgQuery__MergeSupportFunc methods */ +void pg_query__merge_support_func__init + (PgQuery__MergeSupportFunc *message); +size_t pg_query__merge_support_func__get_packed_size + (const PgQuery__MergeSupportFunc *message); +size_t pg_query__merge_support_func__pack + (const PgQuery__MergeSupportFunc *message, + uint8_t *out); +size_t pg_query__merge_support_func__pack_to_buffer + (const PgQuery__MergeSupportFunc *message, + ProtobufCBuffer *buffer); +PgQuery__MergeSupportFunc * + pg_query__merge_support_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__merge_support_func__free_unpacked + (PgQuery__MergeSupportFunc *message, + ProtobufCAllocator *allocator); /* PgQuery__SubscriptingRef methods */ void pg_query__subscripting_ref__init (PgQuery__SubscriptingRef *message); @@ -7017,6 +7434,101 @@ PgQuery__JsonIsPredicate * void pg_query__json_is_predicate__free_unpacked (PgQuery__JsonIsPredicate *message, ProtobufCAllocator *allocator); +/* PgQuery__JsonBehavior methods */ +void pg_query__json_behavior__init + (PgQuery__JsonBehavior *message); +size_t pg_query__json_behavior__get_packed_size + (const PgQuery__JsonBehavior *message); +size_t pg_query__json_behavior__pack + (const PgQuery__JsonBehavior *message, + uint8_t *out); +size_t pg_query__json_behavior__pack_to_buffer + (const PgQuery__JsonBehavior *message, + ProtobufCBuffer *buffer); +PgQuery__JsonBehavior * + pg_query__json_behavior__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_behavior__free_unpacked + (PgQuery__JsonBehavior *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonExpr methods */ +void pg_query__json_expr__init + (PgQuery__JsonExpr *message); +size_t pg_query__json_expr__get_packed_size + (const PgQuery__JsonExpr *message); +size_t pg_query__json_expr__pack + (const PgQuery__JsonExpr *message, + uint8_t *out); +size_t pg_query__json_expr__pack_to_buffer + (const PgQuery__JsonExpr *message, + ProtobufCBuffer *buffer); +PgQuery__JsonExpr * + pg_query__json_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_expr__free_unpacked + (PgQuery__JsonExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTablePath methods */ +void pg_query__json_table_path__init + (PgQuery__JsonTablePath *message); +size_t pg_query__json_table_path__get_packed_size + (const PgQuery__JsonTablePath *message); +size_t pg_query__json_table_path__pack + (const PgQuery__JsonTablePath *message, + uint8_t *out); +size_t pg_query__json_table_path__pack_to_buffer + (const PgQuery__JsonTablePath *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTablePath * + pg_query__json_table_path__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table_path__free_unpacked + (PgQuery__JsonTablePath *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTablePathScan methods */ +void pg_query__json_table_path_scan__init + (PgQuery__JsonTablePathScan *message); +size_t pg_query__json_table_path_scan__get_packed_size + (const PgQuery__JsonTablePathScan *message); +size_t pg_query__json_table_path_scan__pack + (const PgQuery__JsonTablePathScan *message, + uint8_t *out); +size_t pg_query__json_table_path_scan__pack_to_buffer + (const PgQuery__JsonTablePathScan *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTablePathScan * + pg_query__json_table_path_scan__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table_path_scan__free_unpacked + (PgQuery__JsonTablePathScan *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTableSiblingJoin methods */ +void pg_query__json_table_sibling_join__init + (PgQuery__JsonTableSiblingJoin *message); +size_t pg_query__json_table_sibling_join__get_packed_size + (const PgQuery__JsonTableSiblingJoin *message); +size_t pg_query__json_table_sibling_join__pack + (const PgQuery__JsonTableSiblingJoin *message, + uint8_t *out); +size_t pg_query__json_table_sibling_join__pack_to_buffer + (const PgQuery__JsonTableSiblingJoin *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTableSiblingJoin * + pg_query__json_table_sibling_join__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table_sibling_join__free_unpacked + (PgQuery__JsonTableSiblingJoin *message, + ProtobufCAllocator *allocator); /* PgQuery__NullTest methods */ void pg_query__null_test__init (PgQuery__NullTest *message); @@ -7055,6 +7567,25 @@ PgQuery__BooleanTest * void pg_query__boolean_test__free_unpacked (PgQuery__BooleanTest *message, ProtobufCAllocator *allocator); +/* PgQuery__MergeAction methods */ +void pg_query__merge_action__init + (PgQuery__MergeAction *message); +size_t pg_query__merge_action__get_packed_size + (const PgQuery__MergeAction *message); +size_t pg_query__merge_action__pack + (const PgQuery__MergeAction *message, + uint8_t *out); +size_t pg_query__merge_action__pack_to_buffer + (const PgQuery__MergeAction *message, + ProtobufCBuffer *buffer); +PgQuery__MergeAction * + pg_query__merge_action__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__merge_action__free_unpacked + (PgQuery__MergeAction *message, + ProtobufCAllocator *allocator); /* PgQuery__CoerceToDomain methods */ void pg_query__coerce_to_domain__init (PgQuery__CoerceToDomain *message); @@ -7872,6 +8403,25 @@ PgQuery__PartitionRangeDatum * void pg_query__partition_range_datum__free_unpacked (PgQuery__PartitionRangeDatum *message, ProtobufCAllocator *allocator); +/* PgQuery__SinglePartitionSpec methods */ +void pg_query__single_partition_spec__init + (PgQuery__SinglePartitionSpec *message); +size_t pg_query__single_partition_spec__get_packed_size + (const PgQuery__SinglePartitionSpec *message); +size_t pg_query__single_partition_spec__pack + (const PgQuery__SinglePartitionSpec *message, + uint8_t *out); +size_t pg_query__single_partition_spec__pack_to_buffer + (const PgQuery__SinglePartitionSpec *message, + ProtobufCBuffer *buffer); +PgQuery__SinglePartitionSpec * + pg_query__single_partition_spec__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__single_partition_spec__free_unpacked + (PgQuery__SinglePartitionSpec *message, + ProtobufCAllocator *allocator); /* PgQuery__PartitionCmd methods */ void pg_query__partition_cmd__init (PgQuery__PartitionCmd *message); @@ -8195,25 +8745,6 @@ PgQuery__MergeWhenClause * void pg_query__merge_when_clause__free_unpacked (PgQuery__MergeWhenClause *message, ProtobufCAllocator *allocator); -/* PgQuery__MergeAction methods */ -void pg_query__merge_action__init - (PgQuery__MergeAction *message); -size_t pg_query__merge_action__get_packed_size - (const PgQuery__MergeAction *message); -size_t pg_query__merge_action__pack - (const PgQuery__MergeAction *message, - uint8_t *out); -size_t pg_query__merge_action__pack_to_buffer - (const PgQuery__MergeAction *message, - ProtobufCBuffer *buffer); -PgQuery__MergeAction * - pg_query__merge_action__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__merge_action__free_unpacked - (PgQuery__MergeAction *message, - ProtobufCAllocator *allocator); /* PgQuery__TriggerTransition methods */ void pg_query__trigger_transition__init (PgQuery__TriggerTransition *message); @@ -8252,6 +8783,101 @@ PgQuery__JsonOutput * void pg_query__json_output__free_unpacked (PgQuery__JsonOutput *message, ProtobufCAllocator *allocator); +/* PgQuery__JsonArgument methods */ +void pg_query__json_argument__init + (PgQuery__JsonArgument *message); +size_t pg_query__json_argument__get_packed_size + (const PgQuery__JsonArgument *message); +size_t pg_query__json_argument__pack + (const PgQuery__JsonArgument *message, + uint8_t *out); +size_t pg_query__json_argument__pack_to_buffer + (const PgQuery__JsonArgument *message, + ProtobufCBuffer *buffer); +PgQuery__JsonArgument * + pg_query__json_argument__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_argument__free_unpacked + (PgQuery__JsonArgument *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonFuncExpr methods */ +void pg_query__json_func_expr__init + (PgQuery__JsonFuncExpr *message); +size_t pg_query__json_func_expr__get_packed_size + (const PgQuery__JsonFuncExpr *message); +size_t pg_query__json_func_expr__pack + (const PgQuery__JsonFuncExpr *message, + uint8_t *out); +size_t pg_query__json_func_expr__pack_to_buffer + (const PgQuery__JsonFuncExpr *message, + ProtobufCBuffer *buffer); +PgQuery__JsonFuncExpr * + pg_query__json_func_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_func_expr__free_unpacked + (PgQuery__JsonFuncExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTablePathSpec methods */ +void pg_query__json_table_path_spec__init + (PgQuery__JsonTablePathSpec *message); +size_t pg_query__json_table_path_spec__get_packed_size + (const PgQuery__JsonTablePathSpec *message); +size_t pg_query__json_table_path_spec__pack + (const PgQuery__JsonTablePathSpec *message, + uint8_t *out); +size_t pg_query__json_table_path_spec__pack_to_buffer + (const PgQuery__JsonTablePathSpec *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTablePathSpec * + pg_query__json_table_path_spec__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table_path_spec__free_unpacked + (PgQuery__JsonTablePathSpec *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTable methods */ +void pg_query__json_table__init + (PgQuery__JsonTable *message); +size_t pg_query__json_table__get_packed_size + (const PgQuery__JsonTable *message); +size_t pg_query__json_table__pack + (const PgQuery__JsonTable *message, + uint8_t *out); +size_t pg_query__json_table__pack_to_buffer + (const PgQuery__JsonTable *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTable * + pg_query__json_table__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table__free_unpacked + (PgQuery__JsonTable *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonTableColumn methods */ +void pg_query__json_table_column__init + (PgQuery__JsonTableColumn *message); +size_t pg_query__json_table_column__get_packed_size + (const PgQuery__JsonTableColumn *message); +size_t pg_query__json_table_column__pack + (const PgQuery__JsonTableColumn *message, + uint8_t *out); +size_t pg_query__json_table_column__pack_to_buffer + (const PgQuery__JsonTableColumn *message, + ProtobufCBuffer *buffer); +PgQuery__JsonTableColumn * + pg_query__json_table_column__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_table_column__free_unpacked + (PgQuery__JsonTableColumn *message, + ProtobufCAllocator *allocator); /* PgQuery__JsonKeyValue methods */ void pg_query__json_key_value__init (PgQuery__JsonKeyValue *message); @@ -8271,6 +8897,63 @@ PgQuery__JsonKeyValue * void pg_query__json_key_value__free_unpacked (PgQuery__JsonKeyValue *message, ProtobufCAllocator *allocator); +/* PgQuery__JsonParseExpr methods */ +void pg_query__json_parse_expr__init + (PgQuery__JsonParseExpr *message); +size_t pg_query__json_parse_expr__get_packed_size + (const PgQuery__JsonParseExpr *message); +size_t pg_query__json_parse_expr__pack + (const PgQuery__JsonParseExpr *message, + uint8_t *out); +size_t pg_query__json_parse_expr__pack_to_buffer + (const PgQuery__JsonParseExpr *message, + ProtobufCBuffer *buffer); +PgQuery__JsonParseExpr * + pg_query__json_parse_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_parse_expr__free_unpacked + (PgQuery__JsonParseExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonScalarExpr methods */ +void pg_query__json_scalar_expr__init + (PgQuery__JsonScalarExpr *message); +size_t pg_query__json_scalar_expr__get_packed_size + (const PgQuery__JsonScalarExpr *message); +size_t pg_query__json_scalar_expr__pack + (const PgQuery__JsonScalarExpr *message, + uint8_t *out); +size_t pg_query__json_scalar_expr__pack_to_buffer + (const PgQuery__JsonScalarExpr *message, + ProtobufCBuffer *buffer); +PgQuery__JsonScalarExpr * + pg_query__json_scalar_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_scalar_expr__free_unpacked + (PgQuery__JsonScalarExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonSerializeExpr methods */ +void pg_query__json_serialize_expr__init + (PgQuery__JsonSerializeExpr *message); +size_t pg_query__json_serialize_expr__get_packed_size + (const PgQuery__JsonSerializeExpr *message); +size_t pg_query__json_serialize_expr__pack + (const PgQuery__JsonSerializeExpr *message, + uint8_t *out); +size_t pg_query__json_serialize_expr__pack_to_buffer + (const PgQuery__JsonSerializeExpr *message, + ProtobufCBuffer *buffer); +PgQuery__JsonSerializeExpr * + pg_query__json_serialize_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_serialize_expr__free_unpacked + (PgQuery__JsonSerializeExpr *message, + ProtobufCAllocator *allocator); /* PgQuery__JsonObjectConstructor methods */ void pg_query__json_object_constructor__init (PgQuery__JsonObjectConstructor *message); @@ -10920,6 +11603,12 @@ typedef void (*PgQuery__GroupingFunc_Closure) typedef void (*PgQuery__WindowFunc_Closure) (const PgQuery__WindowFunc *message, void *closure_data); +typedef void (*PgQuery__WindowFuncRunCondition_Closure) + (const PgQuery__WindowFuncRunCondition *message, + void *closure_data); +typedef void (*PgQuery__MergeSupportFunc_Closure) + (const PgQuery__MergeSupportFunc *message, + void *closure_data); typedef void (*PgQuery__SubscriptingRef_Closure) (const PgQuery__SubscriptingRef *message, void *closure_data); @@ -11019,12 +11708,30 @@ typedef void (*PgQuery__JsonConstructorExpr_Closure) typedef void (*PgQuery__JsonIsPredicate_Closure) (const PgQuery__JsonIsPredicate *message, void *closure_data); +typedef void (*PgQuery__JsonBehavior_Closure) + (const PgQuery__JsonBehavior *message, + void *closure_data); +typedef void (*PgQuery__JsonExpr_Closure) + (const PgQuery__JsonExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonTablePath_Closure) + (const PgQuery__JsonTablePath *message, + void *closure_data); +typedef void (*PgQuery__JsonTablePathScan_Closure) + (const PgQuery__JsonTablePathScan *message, + void *closure_data); +typedef void (*PgQuery__JsonTableSiblingJoin_Closure) + (const PgQuery__JsonTableSiblingJoin *message, + void *closure_data); typedef void (*PgQuery__NullTest_Closure) (const PgQuery__NullTest *message, void *closure_data); typedef void (*PgQuery__BooleanTest_Closure) (const PgQuery__BooleanTest *message, void *closure_data); +typedef void (*PgQuery__MergeAction_Closure) + (const PgQuery__MergeAction *message, + void *closure_data); typedef void (*PgQuery__CoerceToDomain_Closure) (const PgQuery__CoerceToDomain *message, void *closure_data); @@ -11154,6 +11861,9 @@ typedef void (*PgQuery__PartitionBoundSpec_Closure) typedef void (*PgQuery__PartitionRangeDatum_Closure) (const PgQuery__PartitionRangeDatum *message, void *closure_data); +typedef void (*PgQuery__SinglePartitionSpec_Closure) + (const PgQuery__SinglePartitionSpec *message, + void *closure_data); typedef void (*PgQuery__PartitionCmd_Closure) (const PgQuery__PartitionCmd *message, void *closure_data); @@ -11205,18 +11915,39 @@ typedef void (*PgQuery__CommonTableExpr_Closure) typedef void (*PgQuery__MergeWhenClause_Closure) (const PgQuery__MergeWhenClause *message, void *closure_data); -typedef void (*PgQuery__MergeAction_Closure) - (const PgQuery__MergeAction *message, - void *closure_data); typedef void (*PgQuery__TriggerTransition_Closure) (const PgQuery__TriggerTransition *message, void *closure_data); typedef void (*PgQuery__JsonOutput_Closure) (const PgQuery__JsonOutput *message, void *closure_data); +typedef void (*PgQuery__JsonArgument_Closure) + (const PgQuery__JsonArgument *message, + void *closure_data); +typedef void (*PgQuery__JsonFuncExpr_Closure) + (const PgQuery__JsonFuncExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonTablePathSpec_Closure) + (const PgQuery__JsonTablePathSpec *message, + void *closure_data); +typedef void (*PgQuery__JsonTable_Closure) + (const PgQuery__JsonTable *message, + void *closure_data); +typedef void (*PgQuery__JsonTableColumn_Closure) + (const PgQuery__JsonTableColumn *message, + void *closure_data); typedef void (*PgQuery__JsonKeyValue_Closure) (const PgQuery__JsonKeyValue *message, void *closure_data); +typedef void (*PgQuery__JsonParseExpr_Closure) + (const PgQuery__JsonParseExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonScalarExpr_Closure) + (const PgQuery__JsonScalarExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonSerializeExpr_Closure) + (const PgQuery__JsonSerializeExpr *message, + void *closure_data); typedef void (*PgQuery__JsonObjectConstructor_Closure) (const PgQuery__JsonObjectConstructor *message, void *closure_data); @@ -11631,7 +12362,6 @@ typedef void (*PgQuery__ScanToken_Closure) /* --- descriptors --- */ -extern const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__query_source__descriptor; extern const ProtobufCEnumDescriptor pg_query__sort_by_dir__descriptor; extern const ProtobufCEnumDescriptor pg_query__sort_by_nulls__descriptor; @@ -11646,6 +12376,8 @@ extern const ProtobufCEnumDescriptor pg_query__rtekind__descriptor; extern const ProtobufCEnumDescriptor pg_query__wcokind__descriptor; extern const ProtobufCEnumDescriptor pg_query__grouping_set_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__ctematerialize__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_quotes__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_table_column_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__set_operation__descriptor; extern const ProtobufCEnumDescriptor pg_query__object_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__drop_behavior__descriptor; @@ -11665,7 +12397,9 @@ extern const ProtobufCEnumDescriptor pg_query__alter_tsconfig_type__descripto extern const ProtobufCEnumDescriptor pg_query__publication_obj_spec_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__alter_publication_action__descriptor; extern const ProtobufCEnumDescriptor pg_query__alter_subscription_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__on_commit_action__descriptor; +extern const ProtobufCEnumDescriptor pg_query__table_func_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__param_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__coercion_context__descriptor; extern const ProtobufCEnumDescriptor pg_query__coercion_form__descriptor; @@ -11680,8 +12414,12 @@ extern const ProtobufCEnumDescriptor pg_query__json_encoding__descriptor; extern const ProtobufCEnumDescriptor pg_query__json_format_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__json_constructor_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__json_value_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_wrapper__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_behavior_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_expr_op__descriptor; extern const ProtobufCEnumDescriptor pg_query__null_test_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__bool_test_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__merge_match_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__cmd_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__join_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__agg_strategy__descriptor; @@ -11716,6 +12454,8 @@ extern const ProtobufCMessageDescriptor pg_query__param__descriptor; extern const ProtobufCMessageDescriptor pg_query__aggref__descriptor; extern const ProtobufCMessageDescriptor pg_query__grouping_func__descriptor; extern const ProtobufCMessageDescriptor pg_query__window_func__descriptor; +extern const ProtobufCMessageDescriptor pg_query__window_func_run_condition__descriptor; +extern const ProtobufCMessageDescriptor pg_query__merge_support_func__descriptor; extern const ProtobufCMessageDescriptor pg_query__subscripting_ref__descriptor; extern const ProtobufCMessageDescriptor pg_query__func_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__named_arg_expr__descriptor; @@ -11749,8 +12489,14 @@ extern const ProtobufCMessageDescriptor pg_query__json_returning__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_value_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_constructor_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_is_predicate__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_behavior__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path_scan__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_sibling_join__descriptor; extern const ProtobufCMessageDescriptor pg_query__null_test__descriptor; extern const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor; +extern const ProtobufCMessageDescriptor pg_query__merge_action__descriptor; extern const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor; extern const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor; extern const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor; @@ -11794,6 +12540,7 @@ extern const ProtobufCMessageDescriptor pg_query__partition_elem__descriptor; extern const ProtobufCMessageDescriptor pg_query__partition_spec__descriptor; extern const ProtobufCMessageDescriptor pg_query__partition_bound_spec__descriptor; extern const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor; +extern const ProtobufCMessageDescriptor pg_query__single_partition_spec__descriptor; extern const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor; extern const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor; extern const ProtobufCMessageDescriptor pg_query__rtepermission_info__descriptor; @@ -11811,10 +12558,17 @@ extern const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor; extern const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor; extern const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__merge_action__descriptor; extern const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_output__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_argument__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_func_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_column__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_key_value__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_parse_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_scalar_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_serialize_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_object_constructor__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_array_constructor__descriptor; extern const ProtobufCMessageDescriptor pg_query__json_array_query_constructor__descriptor; diff --git a/parser/include/protobuf/pg_query.pb.h b/parser/include/protobuf/pg_query.pb.h index 8ed8105c..b3354a80 100644 --- a/parser/include/protobuf/pg_query.pb.h +++ b/parser/include/protobuf/pg_query.pb.h @@ -499,6 +499,9 @@ extern JoinExprDefaultTypeInternal _JoinExpr_default_instance_; class JsonAggConstructor; struct JsonAggConstructorDefaultTypeInternal; extern JsonAggConstructorDefaultTypeInternal _JsonAggConstructor_default_instance_; +class JsonArgument; +struct JsonArgumentDefaultTypeInternal; +extern JsonArgumentDefaultTypeInternal _JsonArgument_default_instance_; class JsonArrayAgg; struct JsonArrayAggDefaultTypeInternal; extern JsonArrayAggDefaultTypeInternal _JsonArrayAgg_default_instance_; @@ -508,12 +511,21 @@ extern JsonArrayConstructorDefaultTypeInternal _JsonArrayConstructor_default_ins class JsonArrayQueryConstructor; struct JsonArrayQueryConstructorDefaultTypeInternal; extern JsonArrayQueryConstructorDefaultTypeInternal _JsonArrayQueryConstructor_default_instance_; +class JsonBehavior; +struct JsonBehaviorDefaultTypeInternal; +extern JsonBehaviorDefaultTypeInternal _JsonBehavior_default_instance_; class JsonConstructorExpr; struct JsonConstructorExprDefaultTypeInternal; extern JsonConstructorExprDefaultTypeInternal _JsonConstructorExpr_default_instance_; +class JsonExpr; +struct JsonExprDefaultTypeInternal; +extern JsonExprDefaultTypeInternal _JsonExpr_default_instance_; class JsonFormat; struct JsonFormatDefaultTypeInternal; extern JsonFormatDefaultTypeInternal _JsonFormat_default_instance_; +class JsonFuncExpr; +struct JsonFuncExprDefaultTypeInternal; +extern JsonFuncExprDefaultTypeInternal _JsonFuncExpr_default_instance_; class JsonIsPredicate; struct JsonIsPredicateDefaultTypeInternal; extern JsonIsPredicateDefaultTypeInternal _JsonIsPredicate_default_instance_; @@ -529,9 +541,36 @@ extern JsonObjectConstructorDefaultTypeInternal _JsonObjectConstructor_default_i class JsonOutput; struct JsonOutputDefaultTypeInternal; extern JsonOutputDefaultTypeInternal _JsonOutput_default_instance_; +class JsonParseExpr; +struct JsonParseExprDefaultTypeInternal; +extern JsonParseExprDefaultTypeInternal _JsonParseExpr_default_instance_; class JsonReturning; struct JsonReturningDefaultTypeInternal; extern JsonReturningDefaultTypeInternal _JsonReturning_default_instance_; +class JsonScalarExpr; +struct JsonScalarExprDefaultTypeInternal; +extern JsonScalarExprDefaultTypeInternal _JsonScalarExpr_default_instance_; +class JsonSerializeExpr; +struct JsonSerializeExprDefaultTypeInternal; +extern JsonSerializeExprDefaultTypeInternal _JsonSerializeExpr_default_instance_; +class JsonTable; +struct JsonTableDefaultTypeInternal; +extern JsonTableDefaultTypeInternal _JsonTable_default_instance_; +class JsonTableColumn; +struct JsonTableColumnDefaultTypeInternal; +extern JsonTableColumnDefaultTypeInternal _JsonTableColumn_default_instance_; +class JsonTablePath; +struct JsonTablePathDefaultTypeInternal; +extern JsonTablePathDefaultTypeInternal _JsonTablePath_default_instance_; +class JsonTablePathScan; +struct JsonTablePathScanDefaultTypeInternal; +extern JsonTablePathScanDefaultTypeInternal _JsonTablePathScan_default_instance_; +class JsonTablePathSpec; +struct JsonTablePathSpecDefaultTypeInternal; +extern JsonTablePathSpecDefaultTypeInternal _JsonTablePathSpec_default_instance_; +class JsonTableSiblingJoin; +struct JsonTableSiblingJoinDefaultTypeInternal; +extern JsonTableSiblingJoinDefaultTypeInternal _JsonTableSiblingJoin_default_instance_; class JsonValueExpr; struct JsonValueExprDefaultTypeInternal; extern JsonValueExprDefaultTypeInternal _JsonValueExpr_default_instance_; @@ -556,6 +595,9 @@ extern MergeActionDefaultTypeInternal _MergeAction_default_instance_; class MergeStmt; struct MergeStmtDefaultTypeInternal; extern MergeStmtDefaultTypeInternal _MergeStmt_default_instance_; +class MergeSupportFunc; +struct MergeSupportFuncDefaultTypeInternal; +extern MergeSupportFuncDefaultTypeInternal _MergeSupportFunc_default_instance_; class MergeWhenClause; struct MergeWhenClauseDefaultTypeInternal; extern MergeWhenClauseDefaultTypeInternal _MergeWhenClause_default_instance_; @@ -733,6 +775,9 @@ extern SetOperationStmtDefaultTypeInternal _SetOperationStmt_default_instance_; class SetToDefault; struct SetToDefaultDefaultTypeInternal; extern SetToDefaultDefaultTypeInternal _SetToDefault_default_instance_; +class SinglePartitionSpec; +struct SinglePartitionSpecDefaultTypeInternal; +extern SinglePartitionSpecDefaultTypeInternal _SinglePartitionSpec_default_instance_; class SortBy; struct SortByDefaultTypeInternal; extern SortByDefaultTypeInternal _SortBy_default_instance_; @@ -814,6 +859,9 @@ extern WindowDefDefaultTypeInternal _WindowDef_default_instance_; class WindowFunc; struct WindowFuncDefaultTypeInternal; extern WindowFuncDefaultTypeInternal _WindowFunc_default_instance_; +class WindowFuncRunCondition; +struct WindowFuncRunConditionDefaultTypeInternal; +extern WindowFuncRunConditionDefaultTypeInternal _WindowFuncRunCondition_default_instance_; class WithCheckOption; struct WithCheckOptionDefaultTypeInternal; extern WithCheckOptionDefaultTypeInternal _WithCheckOption_default_instance_; @@ -833,41 +881,6 @@ namespace protobuf { } // namespace google namespace pg_query { -enum OverridingKind : int { - OVERRIDING_KIND_UNDEFINED = 0, - OVERRIDING_NOT_SET = 1, - OVERRIDING_USER_VALUE = 2, - OVERRIDING_SYSTEM_VALUE = 3, - OverridingKind_INT_MIN_SENTINEL_DO_NOT_USE_ = - std::numeric_limits<::int32_t>::min(), - OverridingKind_INT_MAX_SENTINEL_DO_NOT_USE_ = - std::numeric_limits<::int32_t>::max(), -}; - -bool OverridingKind_IsValid(int value); -extern const uint32_t OverridingKind_internal_data_[]; -constexpr OverridingKind OverridingKind_MIN = static_cast(0); -constexpr OverridingKind OverridingKind_MAX = static_cast(3); -constexpr int OverridingKind_ARRAYSIZE = 3 + 1; -const ::google::protobuf::EnumDescriptor* -OverridingKind_descriptor(); -template -const std::string& OverridingKind_Name(T value) { - static_assert(std::is_same::value || - std::is_integral::value, - "Incorrect type passed to OverridingKind_Name()."); - return OverridingKind_Name(static_cast(value)); -} -template <> -inline const std::string& OverridingKind_Name(OverridingKind value) { - return ::google::protobuf::internal::NameOfDenseEnum( - static_cast(value)); -} -inline bool OverridingKind_Parse(absl::string_view name, OverridingKind* value) { - return ::google::protobuf::internal::ParseNamedEnum( - OverridingKind_descriptor(), name, value); -} enum QuerySource : int { QUERY_SOURCE_UNDEFINED = 0, QSRC_ORIGINAL = 1, @@ -1393,6 +1406,78 @@ inline bool CTEMaterialize_Parse(absl::string_view name, CTEMaterialize* value) return ::google::protobuf::internal::ParseNamedEnum( CTEMaterialize_descriptor(), name, value); } +enum JsonQuotes : int { + JSON_QUOTES_UNDEFINED = 0, + JS_QUOTES_UNSPEC = 1, + JS_QUOTES_KEEP = 2, + JS_QUOTES_OMIT = 3, + JsonQuotes_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonQuotes_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonQuotes_IsValid(int value); +extern const uint32_t JsonQuotes_internal_data_[]; +constexpr JsonQuotes JsonQuotes_MIN = static_cast(0); +constexpr JsonQuotes JsonQuotes_MAX = static_cast(3); +constexpr int JsonQuotes_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +JsonQuotes_descriptor(); +template +const std::string& JsonQuotes_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonQuotes_Name()."); + return JsonQuotes_Name(static_cast(value)); +} +template <> +inline const std::string& JsonQuotes_Name(JsonQuotes value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonQuotes_Parse(absl::string_view name, JsonQuotes* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonQuotes_descriptor(), name, value); +} +enum JsonTableColumnType : int { + JSON_TABLE_COLUMN_TYPE_UNDEFINED = 0, + JTC_FOR_ORDINALITY = 1, + JTC_REGULAR = 2, + JTC_EXISTS = 3, + JTC_FORMATTED = 4, + JTC_NESTED = 5, + JsonTableColumnType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonTableColumnType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonTableColumnType_IsValid(int value); +extern const uint32_t JsonTableColumnType_internal_data_[]; +constexpr JsonTableColumnType JsonTableColumnType_MIN = static_cast(0); +constexpr JsonTableColumnType JsonTableColumnType_MAX = static_cast(5); +constexpr int JsonTableColumnType_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +JsonTableColumnType_descriptor(); +template +const std::string& JsonTableColumnType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonTableColumnType_Name()."); + return JsonTableColumnType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonTableColumnType_Name(JsonTableColumnType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonTableColumnType_Parse(absl::string_view name, JsonTableColumnType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonTableColumnType_descriptor(), name, value); +} enum SetOperation : int { SET_OPERATION_UNDEFINED = 0, SETOP_NONE = 1, @@ -1555,66 +1640,67 @@ enum AlterTableType : int { AT_CookedColumnDefault = 4, AT_DropNotNull = 5, AT_SetNotNull = 6, - AT_DropExpression = 7, - AT_CheckNotNull = 8, - AT_SetStatistics = 9, - AT_SetOptions = 10, - AT_ResetOptions = 11, - AT_SetStorage = 12, - AT_SetCompression = 13, - AT_DropColumn = 14, - AT_AddIndex = 15, - AT_ReAddIndex = 16, - AT_AddConstraint = 17, - AT_ReAddConstraint = 18, - AT_ReAddDomainConstraint = 19, - AT_AlterConstraint = 20, - AT_ValidateConstraint = 21, - AT_AddIndexConstraint = 22, - AT_DropConstraint = 23, - AT_ReAddComment = 24, - AT_AlterColumnType = 25, - AT_AlterColumnGenericOptions = 26, - AT_ChangeOwner = 27, - AT_ClusterOn = 28, - AT_DropCluster = 29, - AT_SetLogged = 30, - AT_SetUnLogged = 31, - AT_DropOids = 32, - AT_SetAccessMethod = 33, - AT_SetTableSpace = 34, - AT_SetRelOptions = 35, - AT_ResetRelOptions = 36, - AT_ReplaceRelOptions = 37, - AT_EnableTrig = 38, - AT_EnableAlwaysTrig = 39, - AT_EnableReplicaTrig = 40, - AT_DisableTrig = 41, - AT_EnableTrigAll = 42, - AT_DisableTrigAll = 43, - AT_EnableTrigUser = 44, - AT_DisableTrigUser = 45, - AT_EnableRule = 46, - AT_EnableAlwaysRule = 47, - AT_EnableReplicaRule = 48, - AT_DisableRule = 49, - AT_AddInherit = 50, - AT_DropInherit = 51, - AT_AddOf = 52, - AT_DropOf = 53, - AT_ReplicaIdentity = 54, - AT_EnableRowSecurity = 55, - AT_DisableRowSecurity = 56, - AT_ForceRowSecurity = 57, - AT_NoForceRowSecurity = 58, - AT_GenericOptions = 59, - AT_AttachPartition = 60, - AT_DetachPartition = 61, - AT_DetachPartitionFinalize = 62, - AT_AddIdentity = 63, - AT_SetIdentity = 64, - AT_DropIdentity = 65, - AT_ReAddStatistics = 66, + AT_SetExpression = 7, + AT_DropExpression = 8, + AT_CheckNotNull = 9, + AT_SetStatistics = 10, + AT_SetOptions = 11, + AT_ResetOptions = 12, + AT_SetStorage = 13, + AT_SetCompression = 14, + AT_DropColumn = 15, + AT_AddIndex = 16, + AT_ReAddIndex = 17, + AT_AddConstraint = 18, + AT_ReAddConstraint = 19, + AT_ReAddDomainConstraint = 20, + AT_AlterConstraint = 21, + AT_ValidateConstraint = 22, + AT_AddIndexConstraint = 23, + AT_DropConstraint = 24, + AT_ReAddComment = 25, + AT_AlterColumnType = 26, + AT_AlterColumnGenericOptions = 27, + AT_ChangeOwner = 28, + AT_ClusterOn = 29, + AT_DropCluster = 30, + AT_SetLogged = 31, + AT_SetUnLogged = 32, + AT_DropOids = 33, + AT_SetAccessMethod = 34, + AT_SetTableSpace = 35, + AT_SetRelOptions = 36, + AT_ResetRelOptions = 37, + AT_ReplaceRelOptions = 38, + AT_EnableTrig = 39, + AT_EnableAlwaysTrig = 40, + AT_EnableReplicaTrig = 41, + AT_DisableTrig = 42, + AT_EnableTrigAll = 43, + AT_DisableTrigAll = 44, + AT_EnableTrigUser = 45, + AT_DisableTrigUser = 46, + AT_EnableRule = 47, + AT_EnableAlwaysRule = 48, + AT_EnableReplicaRule = 49, + AT_DisableRule = 50, + AT_AddInherit = 51, + AT_DropInherit = 52, + AT_AddOf = 53, + AT_DropOf = 54, + AT_ReplicaIdentity = 55, + AT_EnableRowSecurity = 56, + AT_DisableRowSecurity = 57, + AT_ForceRowSecurity = 58, + AT_NoForceRowSecurity = 59, + AT_GenericOptions = 60, + AT_AttachPartition = 61, + AT_DetachPartition = 62, + AT_DetachPartitionFinalize = 63, + AT_AddIdentity = 64, + AT_SetIdentity = 65, + AT_DropIdentity = 66, + AT_ReAddStatistics = 67, AlterTableType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::int32_t>::min(), AlterTableType_INT_MAX_SENTINEL_DO_NOT_USE_ = @@ -1624,8 +1710,8 @@ enum AlterTableType : int { bool AlterTableType_IsValid(int value); extern const uint32_t AlterTableType_internal_data_[]; constexpr AlterTableType AlterTableType_MIN = static_cast(0); -constexpr AlterTableType AlterTableType_MAX = static_cast(66); -constexpr int AlterTableType_ARRAYSIZE = 66 + 1; +constexpr AlterTableType AlterTableType_MAX = static_cast(67); +constexpr int AlterTableType_ARRAYSIZE = 67 + 1; const ::google::protobuf::EnumDescriptor* AlterTableType_descriptor(); template @@ -1638,7 +1724,7 @@ const std::string& AlterTableType_Name(T value) { template <> inline const std::string& AlterTableType_Name(AlterTableType value) { return ::google::protobuf::internal::NameOfDenseEnum( + 0, 67>( static_cast(value)); } inline bool AlterTableType_Parse(absl::string_view name, AlterTableType* value) { @@ -2206,6 +2292,41 @@ inline bool AlterSubscriptionType_Parse(absl::string_view name, AlterSubscriptio return ::google::protobuf::internal::ParseNamedEnum( AlterSubscriptionType_descriptor(), name, value); } +enum OverridingKind : int { + OVERRIDING_KIND_UNDEFINED = 0, + OVERRIDING_NOT_SET = 1, + OVERRIDING_USER_VALUE = 2, + OVERRIDING_SYSTEM_VALUE = 3, + OverridingKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + OverridingKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool OverridingKind_IsValid(int value); +extern const uint32_t OverridingKind_internal_data_[]; +constexpr OverridingKind OverridingKind_MIN = static_cast(0); +constexpr OverridingKind OverridingKind_MAX = static_cast(3); +constexpr int OverridingKind_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +OverridingKind_descriptor(); +template +const std::string& OverridingKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to OverridingKind_Name()."); + return OverridingKind_Name(static_cast(value)); +} +template <> +inline const std::string& OverridingKind_Name(OverridingKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool OverridingKind_Parse(absl::string_view name, OverridingKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + OverridingKind_descriptor(), name, value); +} enum OnCommitAction : int { ON_COMMIT_ACTION_UNDEFINED = 0, ONCOMMIT_NOOP = 1, @@ -2242,6 +2363,40 @@ inline bool OnCommitAction_Parse(absl::string_view name, OnCommitAction* value) return ::google::protobuf::internal::ParseNamedEnum( OnCommitAction_descriptor(), name, value); } +enum TableFuncType : int { + TABLE_FUNC_TYPE_UNDEFINED = 0, + TFT_XMLTABLE = 1, + TFT_JSON_TABLE = 2, + TableFuncType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + TableFuncType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool TableFuncType_IsValid(int value); +extern const uint32_t TableFuncType_internal_data_[]; +constexpr TableFuncType TableFuncType_MIN = static_cast(0); +constexpr TableFuncType TableFuncType_MAX = static_cast(2); +constexpr int TableFuncType_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +TableFuncType_descriptor(); +template +const std::string& TableFuncType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to TableFuncType_Name()."); + return TableFuncType_Name(static_cast(value)); +} +template <> +inline const std::string& TableFuncType_Name(TableFuncType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool TableFuncType_Parse(absl::string_view name, TableFuncType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + TableFuncType_descriptor(), name, value); +} enum ParamKind : int { PARAM_KIND_UNDEFINED = 0, PARAM_EXTERN = 1, @@ -2695,6 +2850,9 @@ enum JsonConstructorType : int { JSCTOR_JSON_ARRAY = 2, JSCTOR_JSON_OBJECTAGG = 3, JSCTOR_JSON_ARRAYAGG = 4, + JSCTOR_JSON_PARSE = 5, + JSCTOR_JSON_SCALAR = 6, + JSCTOR_JSON_SERIALIZE = 7, JsonConstructorType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::int32_t>::min(), JsonConstructorType_INT_MAX_SENTINEL_DO_NOT_USE_ = @@ -2704,8 +2862,8 @@ enum JsonConstructorType : int { bool JsonConstructorType_IsValid(int value); extern const uint32_t JsonConstructorType_internal_data_[]; constexpr JsonConstructorType JsonConstructorType_MIN = static_cast(0); -constexpr JsonConstructorType JsonConstructorType_MAX = static_cast(4); -constexpr int JsonConstructorType_ARRAYSIZE = 4 + 1; +constexpr JsonConstructorType JsonConstructorType_MAX = static_cast(7); +constexpr int JsonConstructorType_ARRAYSIZE = 7 + 1; const ::google::protobuf::EnumDescriptor* JsonConstructorType_descriptor(); template @@ -2718,7 +2876,7 @@ const std::string& JsonConstructorType_Name(T value) { template <> inline const std::string& JsonConstructorType_Name(JsonConstructorType value) { return ::google::protobuf::internal::NameOfDenseEnum( + 0, 7>( static_cast(value)); } inline bool JsonConstructorType_Parse(absl::string_view name, JsonConstructorType* value) { @@ -2761,6 +2919,119 @@ inline bool JsonValueType_Parse(absl::string_view name, JsonValueType* value) { return ::google::protobuf::internal::ParseNamedEnum( JsonValueType_descriptor(), name, value); } +enum JsonWrapper : int { + JSON_WRAPPER_UNDEFINED = 0, + JSW_UNSPEC = 1, + JSW_NONE = 2, + JSW_CONDITIONAL = 3, + JSW_UNCONDITIONAL = 4, + JsonWrapper_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonWrapper_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonWrapper_IsValid(int value); +extern const uint32_t JsonWrapper_internal_data_[]; +constexpr JsonWrapper JsonWrapper_MIN = static_cast(0); +constexpr JsonWrapper JsonWrapper_MAX = static_cast(4); +constexpr int JsonWrapper_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonWrapper_descriptor(); +template +const std::string& JsonWrapper_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonWrapper_Name()."); + return JsonWrapper_Name(static_cast(value)); +} +template <> +inline const std::string& JsonWrapper_Name(JsonWrapper value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonWrapper_Parse(absl::string_view name, JsonWrapper* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonWrapper_descriptor(), name, value); +} +enum JsonBehaviorType : int { + JSON_BEHAVIOR_TYPE_UNDEFINED = 0, + JSON_BEHAVIOR_NULL = 1, + JSON_BEHAVIOR_ERROR = 2, + JSON_BEHAVIOR_EMPTY = 3, + JSON_BEHAVIOR_TRUE = 4, + JSON_BEHAVIOR_FALSE = 5, + JSON_BEHAVIOR_UNKNOWN = 6, + JSON_BEHAVIOR_EMPTY_ARRAY = 7, + JSON_BEHAVIOR_EMPTY_OBJECT = 8, + JSON_BEHAVIOR_DEFAULT = 9, + JsonBehaviorType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonBehaviorType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonBehaviorType_IsValid(int value); +extern const uint32_t JsonBehaviorType_internal_data_[]; +constexpr JsonBehaviorType JsonBehaviorType_MIN = static_cast(0); +constexpr JsonBehaviorType JsonBehaviorType_MAX = static_cast(9); +constexpr int JsonBehaviorType_ARRAYSIZE = 9 + 1; +const ::google::protobuf::EnumDescriptor* +JsonBehaviorType_descriptor(); +template +const std::string& JsonBehaviorType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonBehaviorType_Name()."); + return JsonBehaviorType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonBehaviorType_Name(JsonBehaviorType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonBehaviorType_Parse(absl::string_view name, JsonBehaviorType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonBehaviorType_descriptor(), name, value); +} +enum JsonExprOp : int { + JSON_EXPR_OP_UNDEFINED = 0, + JSON_EXISTS_OP = 1, + JSON_QUERY_OP = 2, + JSON_VALUE_OP = 3, + JSON_TABLE_OP = 4, + JsonExprOp_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonExprOp_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonExprOp_IsValid(int value); +extern const uint32_t JsonExprOp_internal_data_[]; +constexpr JsonExprOp JsonExprOp_MIN = static_cast(0); +constexpr JsonExprOp JsonExprOp_MAX = static_cast(4); +constexpr int JsonExprOp_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonExprOp_descriptor(); +template +const std::string& JsonExprOp_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonExprOp_Name()."); + return JsonExprOp_Name(static_cast(value)); +} +template <> +inline const std::string& JsonExprOp_Name(JsonExprOp value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonExprOp_Parse(absl::string_view name, JsonExprOp* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonExprOp_descriptor(), name, value); +} enum NullTestType : int { NULL_TEST_TYPE_UNDEFINED = 0, IS_NULL = 1, @@ -2833,6 +3104,41 @@ inline bool BoolTestType_Parse(absl::string_view name, BoolTestType* value) { return ::google::protobuf::internal::ParseNamedEnum( BoolTestType_descriptor(), name, value); } +enum MergeMatchKind : int { + MERGE_MATCH_KIND_UNDEFINED = 0, + MERGE_WHEN_MATCHED = 1, + MERGE_WHEN_NOT_MATCHED_BY_SOURCE = 2, + MERGE_WHEN_NOT_MATCHED_BY_TARGET = 3, + MergeMatchKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + MergeMatchKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool MergeMatchKind_IsValid(int value); +extern const uint32_t MergeMatchKind_internal_data_[]; +constexpr MergeMatchKind MergeMatchKind_MIN = static_cast(0); +constexpr MergeMatchKind MergeMatchKind_MAX = static_cast(3); +constexpr int MergeMatchKind_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +MergeMatchKind_descriptor(); +template +const std::string& MergeMatchKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to MergeMatchKind_Name()."); + return MergeMatchKind_Name(static_cast(value)); +} +template <> +inline const std::string& MergeMatchKind_Name(MergeMatchKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool MergeMatchKind_Parse(absl::string_view name, MergeMatchKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + MergeMatchKind_descriptor(), name, value); +} enum CmdType : int { CMD_TYPE_UNDEFINED = 0, CMD_UNKNOWN = 1, @@ -3378,420 +3684,440 @@ enum Token : int { COMMITTED = 342, COMPRESSION = 343, CONCURRENTLY = 344, - CONFIGURATION = 345, - CONFLICT = 346, - CONNECTION = 347, - CONSTRAINT = 348, - CONSTRAINTS = 349, - CONTENT_P = 350, - CONTINUE_P = 351, - CONVERSION_P = 352, - COPY = 353, - COST = 354, - CREATE = 355, - CROSS = 356, - CSV = 357, - CUBE = 358, - CURRENT_P = 359, - CURRENT_CATALOG = 360, - CURRENT_DATE = 361, - CURRENT_ROLE = 362, - CURRENT_SCHEMA = 363, - CURRENT_TIME = 364, - CURRENT_TIMESTAMP = 365, - CURRENT_USER = 366, - CURSOR = 367, - CYCLE = 368, - DATA_P = 369, - DATABASE = 370, - DAY_P = 371, - DEALLOCATE = 372, - DEC = 373, - DECIMAL_P = 374, - DECLARE = 375, - DEFAULT = 376, - DEFAULTS = 377, - DEFERRABLE = 378, - DEFERRED = 379, - DEFINER = 380, - DELETE_P = 381, - DELIMITER = 382, - DELIMITERS = 383, - DEPENDS = 384, - DEPTH = 385, - DESC = 386, - DETACH = 387, - DICTIONARY = 388, - DISABLE_P = 389, - DISCARD = 390, - DISTINCT = 391, - DO = 392, - DOCUMENT_P = 393, - DOMAIN_P = 394, - DOUBLE_P = 395, - DROP = 396, - EACH = 397, - ELSE = 398, - ENABLE_P = 399, - ENCODING = 400, - ENCRYPTED = 401, - END_P = 402, - ENUM_P = 403, - ESCAPE = 404, - EVENT = 405, - EXCEPT = 406, - EXCLUDE = 407, - EXCLUDING = 408, - EXCLUSIVE = 409, - EXECUTE = 410, - EXISTS = 411, - EXPLAIN = 412, - EXPRESSION = 413, - EXTENSION = 414, - EXTERNAL = 415, - EXTRACT = 416, - FALSE_P = 417, - FAMILY = 418, - FETCH = 419, - FILTER = 420, - FINALIZE = 421, - FIRST_P = 422, - FLOAT_P = 423, - FOLLOWING = 424, - FOR = 425, - FORCE = 426, - FOREIGN = 427, - FORMAT = 428, - FORWARD = 429, - FREEZE = 430, - FROM = 431, - FULL = 432, - FUNCTION = 433, - FUNCTIONS = 434, - GENERATED = 435, - GLOBAL = 436, - GRANT = 437, - GRANTED = 438, - GREATEST = 439, - GROUP_P = 440, - GROUPING = 441, - GROUPS = 442, - HANDLER = 443, - HAVING = 444, - HEADER_P = 445, - HOLD = 446, - HOUR_P = 447, - IDENTITY_P = 448, - IF_P = 449, - ILIKE = 450, - IMMEDIATE = 451, - IMMUTABLE = 452, - IMPLICIT_P = 453, - IMPORT_P = 454, - IN_P = 455, - INCLUDE = 456, - INCLUDING = 457, - INCREMENT = 458, - INDENT = 459, - INDEX = 460, - INDEXES = 461, - INHERIT = 462, - INHERITS = 463, - INITIALLY = 464, - INLINE_P = 465, - INNER_P = 466, - INOUT = 467, - INPUT_P = 468, - INSENSITIVE = 469, - INSERT = 470, - INSTEAD = 471, - INT_P = 472, - INTEGER = 473, - INTERSECT = 474, - INTERVAL = 475, - INTO = 476, - INVOKER = 477, - IS = 478, - ISNULL = 479, - ISOLATION = 480, - JOIN = 481, - JSON = 482, - JSON_ARRAY = 483, - JSON_ARRAYAGG = 484, - JSON_OBJECT = 485, - JSON_OBJECTAGG = 486, - KEY = 487, - KEYS = 488, - LABEL = 489, - LANGUAGE = 490, - LARGE_P = 491, - LAST_P = 492, - LATERAL_P = 493, - LEADING = 494, - LEAKPROOF = 495, - LEAST = 496, - LEFT = 497, - LEVEL = 498, - LIKE = 499, - LIMIT = 500, - LISTEN = 501, - LOAD = 502, - LOCAL = 503, - LOCALTIME = 504, - LOCALTIMESTAMP = 505, - LOCATION = 506, - LOCK_P = 507, - LOCKED = 508, - LOGGED = 509, - MAPPING = 510, - MATCH = 511, - MATCHED = 512, - MATERIALIZED = 513, - MAXVALUE = 514, - MERGE = 515, - METHOD = 516, - MINUTE_P = 517, - MINVALUE = 518, - MODE = 519, - MONTH_P = 520, - MOVE = 521, - NAME_P = 522, - NAMES = 523, - NATIONAL = 524, - NATURAL = 525, - NCHAR = 526, - NEW = 527, - NEXT = 528, - NFC = 529, - NFD = 530, - NFKC = 531, - NFKD = 532, - NO = 533, - NONE = 534, - NORMALIZE = 535, - NORMALIZED = 536, - NOT = 537, - NOTHING = 538, - NOTIFY = 539, - NOTNULL = 540, - NOWAIT = 541, - NULL_P = 542, - NULLIF = 543, - NULLS_P = 544, - NUMERIC = 545, - OBJECT_P = 546, - OF = 547, - OFF = 548, - OFFSET = 549, - OIDS = 550, - OLD = 551, - ON = 552, - ONLY = 553, - OPERATOR = 554, - OPTION = 555, - OPTIONS = 556, - OR = 557, - ORDER = 558, - ORDINALITY = 559, - OTHERS = 560, - OUT_P = 561, - OUTER_P = 562, - OVER = 563, - OVERLAPS = 564, - OVERLAY = 565, - OVERRIDING = 566, - OWNED = 567, - OWNER = 568, - PARALLEL = 569, - PARAMETER = 570, - PARSER = 571, - PARTIAL = 572, - PARTITION = 573, - PASSING = 574, - PASSWORD = 575, - PLACING = 576, - PLANS = 577, - POLICY = 578, - POSITION = 579, - PRECEDING = 580, - PRECISION = 581, - PRESERVE = 582, - PREPARE = 583, - PREPARED = 584, - PRIMARY = 585, - PRIOR = 586, - PRIVILEGES = 587, - PROCEDURAL = 588, - PROCEDURE = 589, - PROCEDURES = 590, - PROGRAM = 591, - PUBLICATION = 592, - QUOTE = 593, - RANGE = 594, - READ = 595, - REAL = 596, - REASSIGN = 597, - RECHECK = 598, - RECURSIVE = 599, - REF_P = 600, - REFERENCES = 601, - REFERENCING = 602, - REFRESH = 603, - REINDEX = 604, - RELATIVE_P = 605, - RELEASE = 606, - RENAME = 607, - REPEATABLE = 608, - REPLACE = 609, - REPLICA = 610, - RESET = 611, - RESTART = 612, - RESTRICT = 613, - RETURN = 614, - RETURNING = 615, - RETURNS = 616, - REVOKE = 617, - RIGHT = 618, - ROLE = 619, - ROLLBACK = 620, - ROLLUP = 621, - ROUTINE = 622, - ROUTINES = 623, - ROW = 624, - ROWS = 625, - RULE = 626, - SAVEPOINT = 627, - SCALAR = 628, - SCHEMA = 629, - SCHEMAS = 630, - SCROLL = 631, - SEARCH = 632, - SECOND_P = 633, - SECURITY = 634, - SELECT = 635, - SEQUENCE = 636, - SEQUENCES = 637, - SERIALIZABLE = 638, - SERVER = 639, - SESSION = 640, - SESSION_USER = 641, - SET = 642, - SETS = 643, - SETOF = 644, - SHARE = 645, - SHOW = 646, - SIMILAR = 647, - SIMPLE = 648, - SKIP = 649, - SMALLINT = 650, - SNAPSHOT = 651, - SOME = 652, - SQL_P = 653, - STABLE = 654, - STANDALONE_P = 655, - START = 656, - STATEMENT = 657, - STATISTICS = 658, - STDIN = 659, - STDOUT = 660, - STORAGE = 661, - STORED = 662, - STRICT_P = 663, - STRIP_P = 664, - SUBSCRIPTION = 665, - SUBSTRING = 666, - SUPPORT = 667, - SYMMETRIC = 668, - SYSID = 669, - SYSTEM_P = 670, - SYSTEM_USER = 671, - TABLE = 672, - TABLES = 673, - TABLESAMPLE = 674, - TABLESPACE = 675, - TEMP = 676, - TEMPLATE = 677, - TEMPORARY = 678, - TEXT_P = 679, - THEN = 680, - TIES = 681, - TIME = 682, - TIMESTAMP = 683, - TO = 684, - TRAILING = 685, - TRANSACTION = 686, - TRANSFORM = 687, - TREAT = 688, - TRIGGER = 689, - TRIM = 690, - TRUE_P = 691, - TRUNCATE = 692, - TRUSTED = 693, - TYPE_P = 694, - TYPES_P = 695, - UESCAPE = 696, - UNBOUNDED = 697, - UNCOMMITTED = 698, - UNENCRYPTED = 699, - UNION = 700, - UNIQUE = 701, - UNKNOWN = 702, - UNLISTEN = 703, - UNLOGGED = 704, - UNTIL = 705, - UPDATE = 706, - USER = 707, - USING = 708, - VACUUM = 709, - VALID = 710, - VALIDATE = 711, - VALIDATOR = 712, - VALUE_P = 713, - VALUES = 714, - VARCHAR = 715, - VARIADIC = 716, - VARYING = 717, - VERBOSE = 718, - VERSION_P = 719, - VIEW = 720, - VIEWS = 721, - VOLATILE = 722, - WHEN = 723, - WHERE = 724, - WHITESPACE_P = 725, - WINDOW = 726, - WITH = 727, - WITHIN = 728, - WITHOUT = 729, - WORK = 730, - WRAPPER = 731, - WRITE = 732, - XML_P = 733, - XMLATTRIBUTES = 734, - XMLCONCAT = 735, - XMLELEMENT = 736, - XMLEXISTS = 737, - XMLFOREST = 738, - XMLNAMESPACES = 739, - XMLPARSE = 740, - XMLPI = 741, - XMLROOT = 742, - XMLSERIALIZE = 743, - XMLTABLE = 744, - YEAR_P = 745, - YES_P = 746, - ZONE = 747, - FORMAT_LA = 748, - NOT_LA = 749, - NULLS_LA = 750, - WITH_LA = 751, - WITHOUT_LA = 752, - MODE_TYPE_NAME = 753, - MODE_PLPGSQL_EXPR = 754, - MODE_PLPGSQL_ASSIGN1 = 755, - MODE_PLPGSQL_ASSIGN2 = 756, - MODE_PLPGSQL_ASSIGN3 = 757, - UMINUS = 758, + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778, Token_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::int32_t>::min(), Token_INT_MAX_SENTINEL_DO_NOT_USE_ = @@ -3801,8 +4127,8 @@ enum Token : int { bool Token_IsValid(int value); extern const uint32_t Token_internal_data_[]; constexpr Token Token_MIN = static_cast(0); -constexpr Token Token_MAX = static_cast(758); -constexpr int Token_ARRAYSIZE = 758 + 1; +constexpr Token Token_MAX = static_cast(778); +constexpr int Token_ARRAYSIZE = 778 + 1; const ::google::protobuf::EnumDescriptor* Token_descriptor(); template @@ -3815,7 +4141,7 @@ const std::string& Token_Name(T value) { template <> inline const std::string& Token_Name(Token value) { return ::google::protobuf::internal::NameOfDenseEnum( + 0, 778>( static_cast(value)); } inline bool Token_Parse(absl::string_view name, Token* value) { @@ -3887,7 +4213,7 @@ class VariableShowStmt final : &_VariableShowStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 148; + 164; friend void swap(VariableShowStmt& a, VariableShowStmt& b) { a.Swap(&b); @@ -4068,7 +4394,7 @@ class UnlistenStmt final : &_UnlistenStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 213; + 229; friend void swap(UnlistenStmt& a, UnlistenStmt& b) { a.Swap(&b); @@ -4249,7 +4575,7 @@ class TriggerTransition final : &_TriggerTransition_default_instance_); } static constexpr int kIndexInFileMessages = - 117; + 125; friend void swap(TriggerTransition& a, TriggerTransition& b) { a.Swap(&b); @@ -4635,7 +4961,7 @@ class SortGroupClause final : &_SortGroupClause_default_instance_); } static constexpr int kIndexInFileMessages = - 105; + 114; friend void swap(SortGroupClause& a, SortGroupClause& b) { a.Swap(&b); @@ -4799,6 +5125,142 @@ class SortGroupClause final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- +class SinglePartitionSpec final : + public ::google::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.SinglePartitionSpec) */ { + public: + inline SinglePartitionSpec() : SinglePartitionSpec(nullptr) {} + template + explicit PROTOBUF_CONSTEXPR SinglePartitionSpec(::google::protobuf::internal::ConstantInitialized); + + inline SinglePartitionSpec(const SinglePartitionSpec& from) + : SinglePartitionSpec(nullptr, from) {} + SinglePartitionSpec(SinglePartitionSpec&& from) noexcept + : SinglePartitionSpec() { + *this = ::std::move(from); + } + + inline SinglePartitionSpec& operator=(const SinglePartitionSpec& from) { + CopyFrom(from); + return *this; + } + inline SinglePartitionSpec& operator=(SinglePartitionSpec&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SinglePartitionSpec& default_instance() { + return *internal_default_instance(); + } + static inline const SinglePartitionSpec* internal_default_instance() { + return reinterpret_cast( + &_SinglePartitionSpec_default_instance_); + } + static constexpr int kIndexInFileMessages = + 107; + + friend void swap(SinglePartitionSpec& a, SinglePartitionSpec& b) { + a.Swap(&b); + } + inline void Swap(SinglePartitionSpec* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SinglePartitionSpec* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SinglePartitionSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const SinglePartitionSpec& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const SinglePartitionSpec& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); + } + public: + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SinglePartitionSpec"; + } + protected: + explicit SinglePartitionSpec(::google::protobuf::Arena* arena); + SinglePartitionSpec(::google::protobuf::Arena* arena, const SinglePartitionSpec& from); + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:pg_query.SinglePartitionSpec) + private: + class _Internal; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + PROTOBUF_TSAN_DECLARE_MEMBER + }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + class ScanToken final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScanToken) */ { public: @@ -4858,7 +5320,7 @@ class ScanToken final : &_ScanToken_default_instance_); } static constexpr int kIndexInFileMessages = - 255; + 271; friend void swap(ScanToken& a, ScanToken& b) { a.Swap(&b); @@ -5069,7 +5531,7 @@ class RowMarkClause final : &_RowMarkClause_default_instance_); } static constexpr int kIndexInFileMessages = - 108; + 117; friend void swap(RowMarkClause& a, RowMarkClause& b) { a.Swap(&b); @@ -5280,7 +5742,7 @@ class RoleSpec final : &_RoleSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 74; + 82; friend void swap(RoleSpec& a, RoleSpec& b) { a.Swap(&b); @@ -5485,7 +5947,7 @@ class ReplicaIdentityStmt final : &_ReplicaIdentityStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 137; + 153; friend void swap(ReplicaIdentityStmt& a, ReplicaIdentityStmt& b) { a.Swap(&b); @@ -5684,7 +6146,7 @@ class RangeTblRef final : &_RangeTblRef_default_instance_); } static constexpr int kIndexInFileMessages = - 63; + 71; friend void swap(RangeTblRef& a, RangeTblRef& b) { a.Swap(&b); @@ -5859,7 +6321,7 @@ class RTEPermissionInfo final : &_RTEPermissionInfo_default_instance_); } static constexpr int kIndexInFileMessages = - 101; + 110; friend void swap(RTEPermissionInfo& a, RTEPermissionInfo& b) { a.Swap(&b); @@ -6014,14 +6476,14 @@ class RTEPermissionInfo final : void _internal_set_inh(bool value); public: - // int64 required_perms = 3 [json_name = "requiredPerms"]; + // uint64 required_perms = 3 [json_name = "requiredPerms"]; void clear_required_perms() ; - ::int64_t required_perms() const; - void set_required_perms(::int64_t value); + ::uint64_t required_perms() const; + void set_required_perms(::uint64_t value); private: - ::int64_t _internal_required_perms() const; - void _internal_set_required_perms(::int64_t value); + ::uint64_t _internal_required_perms() const; + void _internal_set_required_perms(::uint64_t value); public: // uint32 check_as_user = 4 [json_name = "checkAsUser"]; @@ -6065,7 +6527,7 @@ class RTEPermissionInfo final : mutable ::google::protobuf::internal::CachedSize _updated_cols_cached_byte_size_; ::uint32_t relid_; bool inh_; - ::int64_t required_perms_; + ::uint64_t required_perms_; ::uint32_t check_as_user_; mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER @@ -6133,7 +6595,7 @@ class ParamRef final : &_ParamRef_default_instance_); } static constexpr int kIndexInFileMessages = - 70; + 78; friend void swap(ParamRef& a, ParamRef& b) { a.Swap(&b); @@ -6320,7 +6782,7 @@ class NotifyStmt final : &_NotifyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 211; + 227; friend void swap(NotifyStmt& a, NotifyStmt& b) { a.Swap(&b); @@ -6519,7 +6981,7 @@ class LoadStmt final : &_LoadStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 220; + 236; friend void swap(LoadStmt& a, LoadStmt& b) { a.Swap(&b); @@ -6700,7 +7162,7 @@ class ListenStmt final : &_ListenStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 212; + 228; friend void swap(ListenStmt& a, ListenStmt& b) { a.Swap(&b); @@ -6822,6 +7284,187 @@ class ListenStmt final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- +class JsonTablePath final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePath) */ { + public: + inline JsonTablePath() : JsonTablePath(nullptr) {} + ~JsonTablePath() override; + template + explicit PROTOBUF_CONSTEXPR JsonTablePath(::google::protobuf::internal::ConstantInitialized); + + inline JsonTablePath(const JsonTablePath& from) + : JsonTablePath(nullptr, from) {} + JsonTablePath(JsonTablePath&& from) noexcept + : JsonTablePath() { + *this = ::std::move(from); + } + + inline JsonTablePath& operator=(const JsonTablePath& from) { + CopyFrom(from); + return *this; + } + inline JsonTablePath& operator=(JsonTablePath&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonTablePath& default_instance() { + return *internal_default_instance(); + } + static inline const JsonTablePath* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePath_default_instance_); + } + static constexpr int kIndexInFileMessages = + 58; + + friend void swap(JsonTablePath& a, JsonTablePath& b) { + a.Swap(&b); + } + inline void Swap(JsonTablePath* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonTablePath* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonTablePath* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTablePath& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTablePath& from) { + JsonTablePath::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonTablePath* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTablePath"; + } + protected: + explicit JsonTablePath(::google::protobuf::Arena* arena); + JsonTablePath(::google::protobuf::Arena* arena, const JsonTablePath& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePath) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 35, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + class JsonFormat final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonFormat) */ { public: @@ -6881,7 +7524,7 @@ class JsonFormat final : &_JsonFormat_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 51; friend void swap(JsonFormat& a, JsonFormat& b) { a.Swap(&b); @@ -7255,7 +7898,7 @@ class InlineCodeBlock final : &_InlineCodeBlock_default_instance_); } static constexpr int kIndexInFileMessages = - 201; + 217; friend void swap(InlineCodeBlock& a, InlineCodeBlock& b) { a.Swap(&b); @@ -7653,7 +8296,7 @@ class FetchStmt final : &_FetchStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 192; + 208; friend void swap(FetchStmt& a, FetchStmt& b) { a.Swap(&b); @@ -7870,7 +8513,7 @@ class DropTableSpaceStmt final : &_DropTableSpaceStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 152; + 168; friend void swap(DropTableSpaceStmt& a, DropTableSpaceStmt& b) { a.Swap(&b); @@ -8063,7 +8706,7 @@ class DropSubscriptionStmt final : &_DropSubscriptionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 254; + 270; friend void swap(DropSubscriptionStmt& a, DropSubscriptionStmt& b) { a.Swap(&b); @@ -8268,7 +8911,7 @@ class DiscardStmt final : &_DiscardStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 234; + 250; friend void swap(DiscardStmt& a, DiscardStmt& b) { a.Swap(&b); @@ -8443,7 +9086,7 @@ class DeallocateStmt final : &_DeallocateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 243; + 259; friend void swap(DeallocateStmt& a, DeallocateStmt& b) { a.Swap(&b); @@ -8517,6 +9160,8 @@ class DeallocateStmt final : enum : int { kNameFieldNumber = 1, + kIsallFieldNumber = 2, + kLocationFieldNumber = 3, }; // string name = 1 [json_name = "name"]; void clear_name() ; @@ -8533,6 +9178,26 @@ class DeallocateStmt final : const std::string& value); std::string* _internal_mutable_name(); + public: + // bool isall = 2 [json_name = "isall"]; + void clear_isall() ; + bool isall() const; + void set_isall(bool value); + + private: + bool _internal_isall() const; + void _internal_set_isall(bool value); + + public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: // @@protoc_insertion_point(class_scope:pg_query.DeallocateStmt) private: @@ -8540,7 +9205,7 @@ class DeallocateStmt final : friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 1, 0, + 2, 3, 0, 36, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -8558,6 +9223,8 @@ class DeallocateStmt final : inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::ArenaStringPtr name_; + bool isall_; + ::int32_t location_; mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -8624,7 +9291,7 @@ class ClosePortalStmt final : &_ClosePortalStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 191; + 207; friend void swap(ClosePortalStmt& a, ClosePortalStmt& b) { a.Swap(&b); @@ -8804,7 +9471,7 @@ class CheckPointStmt final : &_CheckPointStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 233; + 249; friend void swap(CheckPointStmt& a, CheckPointStmt& b) { a.Swap(&b); @@ -8941,7 +9608,7 @@ class CallContext final : &_CallContext_default_instance_); } static constexpr int kIndexInFileMessages = - 203; + 219; friend void swap(CallContext& a, CallContext& b) { a.Swap(&b); @@ -9472,7 +10139,7 @@ class AlterEventTrigStmt final : &_AlterEventTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 172; + 188; friend void swap(AlterEventTrigStmt& a, AlterEventTrigStmt& b) { a.Swap(&b); @@ -9671,7 +10338,7 @@ class AlterDatabaseRefreshCollStmt final : &_AlterDatabaseRefreshCollStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 223; + 239; friend void swap(AlterDatabaseRefreshCollStmt& a, AlterDatabaseRefreshCollStmt& b) { a.Swap(&b); @@ -9851,7 +10518,7 @@ class A_Star final : &_A_Star_default_instance_); } static constexpr int kIndexInFileMessages = - 76; + 84; friend void swap(A_Star& a, A_Star& b) { a.Swap(&b); @@ -10183,7 +10850,7 @@ class JsonReturning final : &_JsonReturning_default_instance_); } static constexpr int kIndexInFileMessages = - 50; + 52; friend void swap(JsonReturning& a, JsonReturning& b) { a.Swap(&b); @@ -10388,7 +11055,7 @@ class DropUserMappingStmt final : &_DropUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 165; + 181; friend void swap(DropUserMappingStmt& a, DropUserMappingStmt& b) { a.Swap(&b); @@ -10916,7 +11583,7 @@ class A_ArrayExpr final : &_A_ArrayExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 79; + 87; friend void swap(A_ArrayExpr& a, A_ArrayExpr& b) { a.Swap(&b); @@ -11111,7 +11778,7 @@ class A_Expr final : &_A_Expr_default_instance_); } static constexpr int kIndexInFileMessages = - 71; + 79; friend void swap(A_Expr& a, A_Expr& b) { a.Swap(&b); @@ -11353,7 +12020,7 @@ class A_Indices final : &_A_Indices_default_instance_); } static constexpr int kIndexInFileMessages = - 77; + 85; friend void swap(A_Indices& a, A_Indices& b) { a.Swap(&b); @@ -11563,7 +12230,7 @@ class A_Indirection final : &_A_Indirection_default_instance_); } static constexpr int kIndexInFileMessages = - 78; + 86; friend void swap(A_Indirection& a, A_Indirection& b) { a.Swap(&b); @@ -11764,7 +12431,7 @@ class AccessPriv final : &_AccessPriv_default_instance_); } static constexpr int kIndexInFileMessages = - 143; + 159; friend void swap(AccessPriv& a, AccessPriv& b) { a.Swap(&b); @@ -12614,7 +13281,7 @@ class AlterCollationStmt final : &_AlterCollationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 139; + 155; friend void swap(AlterCollationStmt& a, AlterCollationStmt& b) { a.Swap(&b); @@ -12797,7 +13464,7 @@ class AlterDatabaseSetStmt final : &_AlterDatabaseSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 224; + 240; friend void swap(AlterDatabaseSetStmt& a, AlterDatabaseSetStmt& b) { a.Swap(&b); @@ -12996,7 +13663,7 @@ class AlterDatabaseStmt final : &_AlterDatabaseStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 222; + 238; friend void swap(AlterDatabaseStmt& a, AlterDatabaseStmt& b) { a.Swap(&b); @@ -13197,7 +13864,7 @@ class AlterDefaultPrivilegesStmt final : &_AlterDefaultPrivilegesStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 145; + 161; friend void swap(AlterDefaultPrivilegesStmt& a, AlterDefaultPrivilegesStmt& b) { a.Swap(&b); @@ -13398,7 +14065,7 @@ class AlterDomainStmt final : &_AlterDomainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 140; + 156; friend void swap(AlterDomainStmt& a, AlterDomainStmt& b) { a.Swap(&b); @@ -13659,7 +14326,7 @@ class AlterEnumStmt final : &_AlterEnumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 218; + 234; friend void swap(AlterEnumStmt& a, AlterEnumStmt& b) { a.Swap(&b); @@ -13920,7 +14587,7 @@ class AlterExtensionContentsStmt final : &_AlterExtensionContentsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 157; + 173; friend void swap(AlterExtensionContentsStmt& a, AlterExtensionContentsStmt& b) { a.Swap(&b); @@ -14143,7 +14810,7 @@ class AlterExtensionStmt final : &_AlterExtensionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 156; + 172; friend void swap(AlterExtensionStmt& a, AlterExtensionStmt& b) { a.Swap(&b); @@ -14344,7 +15011,7 @@ class AlterFdwStmt final : &_AlterFdwStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 159; + 175; friend void swap(AlterFdwStmt& a, AlterFdwStmt& b) { a.Swap(&b); @@ -14565,7 +15232,7 @@ class AlterForeignServerStmt final : &_AlterForeignServerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 161; + 177; friend void swap(AlterForeignServerStmt& a, AlterForeignServerStmt& b) { a.Swap(&b); @@ -14796,7 +15463,7 @@ class AlterFunctionStmt final : &_AlterFunctionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 199; + 215; friend void swap(AlterFunctionStmt& a, AlterFunctionStmt& b) { a.Swap(&b); @@ -15009,7 +15676,7 @@ class AlterObjectDependsStmt final : &_AlterObjectDependsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 205; + 221; friend void swap(AlterObjectDependsStmt& a, AlterObjectDependsStmt& b) { a.Swap(&b); @@ -15248,7 +15915,7 @@ class AlterObjectSchemaStmt final : &_AlterObjectSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 206; + 222; friend void swap(AlterObjectSchemaStmt& a, AlterObjectSchemaStmt& b) { a.Swap(&b); @@ -15488,7 +16155,7 @@ class AlterOpFamilyStmt final : &_AlterOpFamilyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 185; + 201; friend void swap(AlterOpFamilyStmt& a, AlterOpFamilyStmt& b) { a.Swap(&b); @@ -15721,7 +16388,7 @@ class AlterOperatorStmt final : &_AlterOperatorStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 208; + 224; friend void swap(AlterOperatorStmt& a, AlterOperatorStmt& b) { a.Swap(&b); @@ -15922,7 +16589,7 @@ class AlterOwnerStmt final : &_AlterOwnerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 207; + 223; friend void swap(AlterOwnerStmt& a, AlterOwnerStmt& b) { a.Swap(&b); @@ -16149,7 +16816,7 @@ class AlterPolicyStmt final : &_AlterPolicyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 168; + 184; friend void swap(AlterPolicyStmt& a, AlterPolicyStmt& b) { a.Swap(&b); @@ -16402,7 +17069,7 @@ class AlterPublicationStmt final : &_AlterPublicationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 251; + 267; friend void swap(AlterPublicationStmt& a, AlterPublicationStmt& b) { a.Swap(&b); @@ -16647,7 +17314,7 @@ class AlterRoleSetStmt final : &_AlterRoleSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 176; + 192; friend void swap(AlterRoleSetStmt& a, AlterRoleSetStmt& b) { a.Swap(&b); @@ -16863,7 +17530,7 @@ class AlterRoleStmt final : &_AlterRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 175; + 191; friend void swap(AlterRoleStmt& a, AlterRoleStmt& b) { a.Swap(&b); @@ -17076,7 +17743,7 @@ class AlterSeqStmt final : &_AlterSeqStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 179; + 195; friend void swap(AlterSeqStmt& a, AlterSeqStmt& b) { a.Swap(&b); @@ -17301,7 +17968,7 @@ class AlterStatsStmt final : &_AlterStatsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 196; + 212; friend void swap(AlterStatsStmt& a, AlterStatsStmt& b) { a.Swap(&b); @@ -17396,14 +18063,19 @@ class AlterStatsStmt final : ::pg_query::Node* add_defnames(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& defnames() const; - // int32 stxstattarget = 2 [json_name = "stxstattarget"]; + // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"]; + bool has_stxstattarget() const; void clear_stxstattarget() ; - ::int32_t stxstattarget() const; - void set_stxstattarget(::int32_t value); + const ::pg_query::Node& stxstattarget() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_stxstattarget(); + ::pg_query::Node* mutable_stxstattarget(); + void set_allocated_stxstattarget(::pg_query::Node* value); + void unsafe_arena_set_allocated_stxstattarget(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_stxstattarget(); private: - ::int32_t _internal_stxstattarget() const; - void _internal_set_stxstattarget(::int32_t value); + const ::pg_query::Node& _internal_stxstattarget() const; + ::pg_query::Node* _internal_mutable_stxstattarget(); public: // bool missing_ok = 3 [json_name = "missing_ok"]; @@ -17422,7 +18094,7 @@ class AlterStatsStmt final : friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -17439,10 +18111,11 @@ class AlterStatsStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::RepeatedPtrField< ::pg_query::Node > defnames_; - ::int32_t stxstattarget_; + ::pg_query::Node* stxstattarget_; bool missing_ok_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -17508,7 +18181,7 @@ class AlterSubscriptionStmt final : &_AlterSubscriptionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 253; + 269; friend void swap(AlterSubscriptionStmt& a, AlterSubscriptionStmt& b) { a.Swap(&b); @@ -17759,7 +18432,7 @@ class AlterSystemStmt final : &_AlterSystemStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 226; + 242; friend void swap(AlterSystemStmt& a, AlterSystemStmt& b) { a.Swap(&b); @@ -17940,7 +18613,7 @@ class AlterTSConfigurationStmt final : &_AlterTSConfigurationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 247; + 263; friend void swap(AlterTSConfigurationStmt& a, AlterTSConfigurationStmt& b) { a.Swap(&b); @@ -18211,7 +18884,7 @@ class AlterTSDictionaryStmt final : &_AlterTSDictionaryStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 246; + 262; friend void swap(AlterTSDictionaryStmt& a, AlterTSDictionaryStmt& b) { a.Swap(&b); @@ -18414,7 +19087,7 @@ class AlterTableCmd final : &_AlterTableCmd_default_instance_); } static constexpr int kIndexInFileMessages = - 138; + 154; friend void swap(AlterTableCmd& a, AlterTableCmd& b) { a.Swap(&b); @@ -18690,7 +19363,7 @@ class AlterTableMoveAllStmt final : &_AlterTableMoveAllStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 154; + 170; friend void swap(AlterTableMoveAllStmt& a, AlterTableMoveAllStmt& b) { a.Swap(&b); @@ -18933,7 +19606,7 @@ class AlterTableSpaceOptionsStmt final : &_AlterTableSpaceOptionsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 153; + 169; friend void swap(AlterTableSpaceOptionsStmt& a, AlterTableSpaceOptionsStmt& b) { a.Swap(&b); @@ -19146,7 +19819,7 @@ class AlterTableStmt final : &_AlterTableStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 136; + 152; friend void swap(AlterTableStmt& a, AlterTableStmt& b) { a.Swap(&b); @@ -19371,7 +20044,7 @@ class AlterTypeStmt final : &_AlterTypeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 209; + 225; friend void swap(AlterTypeStmt& a, AlterTypeStmt& b) { a.Swap(&b); @@ -19574,7 +20247,7 @@ class AlterUserMappingStmt final : &_AlterUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 164; + 180; friend void swap(AlterUserMappingStmt& a, AlterUserMappingStmt& b) { a.Swap(&b); @@ -19793,7 +20466,7 @@ class AlternativeSubPlan final : &_AlternativeSubPlan_default_instance_); } static constexpr int kIndexInFileMessages = - 31; + 33; friend void swap(AlternativeSubPlan& a, AlternativeSubPlan& b) { a.Swap(&b); @@ -19994,7 +20667,7 @@ class ArrayCoerceExpr final : &_ArrayCoerceExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 38; friend void swap(ArrayCoerceExpr& a, ArrayCoerceExpr& b) { a.Swap(&b); @@ -20269,7 +20942,7 @@ class ArrayExpr final : &_ArrayExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 44; friend void swap(ArrayExpr& a, ArrayExpr& b) { a.Swap(&b); @@ -20530,7 +21203,7 @@ class BoolExpr final : &_BoolExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 30; friend void swap(BoolExpr& a, BoolExpr& b) { a.Swap(&b); @@ -20755,7 +21428,7 @@ class BooleanTest final : &_BooleanTest_default_instance_); } static constexpr int kIndexInFileMessages = - 55; + 62; friend void swap(BooleanTest& a, BooleanTest& b) { a.Swap(&b); @@ -20977,7 +21650,7 @@ class CTECycleClause final : &_CTECycleClause_default_instance_); } static constexpr int kIndexInFileMessages = - 113; + 122; friend void swap(CTECycleClause& a, CTECycleClause& b) { a.Swap(&b); @@ -21291,7 +21964,7 @@ class CTESearchClause final : &_CTESearchClause_default_instance_); } static constexpr int kIndexInFileMessages = - 112; + 121; friend void swap(CTESearchClause& a, CTESearchClause& b) { a.Swap(&b); @@ -21516,7 +22189,7 @@ class CallStmt final : &_CallStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 202; + 218; friend void swap(CallStmt& a, CallStmt& b) { a.Swap(&b); @@ -21734,7 +22407,7 @@ class CaseExpr final : &_CaseExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 41; friend void swap(CaseExpr& a, CaseExpr& b) { a.Swap(&b); @@ -22005,7 +22678,7 @@ class CaseTestExpr final : &_CaseTestExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 43; friend void swap(CaseTestExpr& a, CaseTestExpr& b) { a.Swap(&b); @@ -22222,7 +22895,7 @@ class CaseWhen final : &_CaseWhen_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 42; friend void swap(CaseWhen& a, CaseWhen& b) { a.Swap(&b); @@ -22449,7 +23122,7 @@ class ClusterStmt final : &_ClusterStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 227; + 243; friend void swap(ClusterStmt& a, ClusterStmt& b) { a.Swap(&b); @@ -22668,7 +23341,7 @@ class CoalesceExpr final : &_CoalesceExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 47; friend void swap(CoalesceExpr& a, CoalesceExpr& b) { a.Swap(&b); @@ -22905,7 +23578,7 @@ class CoerceToDomain final : &_CoerceToDomain_default_instance_); } static constexpr int kIndexInFileMessages = - 56; + 64; friend void swap(CoerceToDomain& a, CoerceToDomain& b) { a.Swap(&b); @@ -23163,7 +23836,7 @@ class CoerceToDomainValue final : &_CoerceToDomainValue_default_instance_); } static constexpr int kIndexInFileMessages = - 57; + 65; friend void swap(CoerceToDomainValue& a, CoerceToDomainValue& b) { a.Swap(&b); @@ -23392,7 +24065,7 @@ class CoerceViaIO final : &_CoerceViaIO_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 37; friend void swap(CoerceViaIO& a, CoerceViaIO& b) { a.Swap(&b); @@ -23638,7 +24311,7 @@ class CollateClause final : &_CollateClause_default_instance_); } static constexpr int kIndexInFileMessages = - 73; + 81; friend void swap(CollateClause& a, CollateClause& b) { a.Swap(&b); @@ -23851,7 +24524,7 @@ class CollateExpr final : &_CollateExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 40; friend void swap(CollateExpr& a, CollateExpr& b) { a.Swap(&b); @@ -24073,7 +24746,7 @@ class ColumnDef final : &_ColumnDef_default_instance_); } static constexpr int kIndexInFileMessages = - 89; + 97; friend void swap(ColumnDef& a, ColumnDef& b) { a.Swap(&b); @@ -24542,7 +25215,7 @@ class ColumnRef final : &_ColumnRef_default_instance_); } static constexpr int kIndexInFileMessages = - 69; + 77; friend void swap(ColumnRef& a, ColumnRef& b) { a.Swap(&b); @@ -24737,7 +25410,7 @@ class CommentStmt final : &_CommentStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 188; + 204; friend void swap(CommentStmt& a, CommentStmt& b) { a.Swap(&b); @@ -24948,7 +25621,7 @@ class CommonTableExpr final : &_CommonTableExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 114; + 123; friend void swap(CommonTableExpr& a, CommonTableExpr& b) { a.Swap(&b); @@ -25329,7 +26002,7 @@ class CompositeTypeStmt final : &_CompositeTypeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 215; + 231; friend void swap(CompositeTypeStmt& a, CompositeTypeStmt& b) { a.Swap(&b); @@ -25530,7 +26203,7 @@ class Constraint final : &_Constraint_default_instance_); } static constexpr int kIndexInFileMessages = - 150; + 166; friend void swap(Constraint& a, Constraint& b) { a.Swap(&b); @@ -25603,38 +26276,39 @@ class Constraint final : // accessors ------------------------------------------------------- enum : int { - kKeysFieldNumber = 11, - kIncludingFieldNumber = 12, - kExclusionsFieldNumber = 13, - kOptionsFieldNumber = 14, - kFkAttrsFieldNumber = 21, - kPkAttrsFieldNumber = 22, - kFkDelSetColsFieldNumber = 26, - kOldConpfeqopFieldNumber = 27, + kKeysFieldNumber = 13, + kIncludingFieldNumber = 14, + kExclusionsFieldNumber = 15, + kOptionsFieldNumber = 16, + kFkAttrsFieldNumber = 23, + kPkAttrsFieldNumber = 24, + kFkDelSetColsFieldNumber = 28, + kOldConpfeqopFieldNumber = 29, kConnameFieldNumber = 2, - kCookedExprFieldNumber = 8, - kGeneratedWhenFieldNumber = 9, - kIndexnameFieldNumber = 15, - kIndexspaceFieldNumber = 16, - kAccessMethodFieldNumber = 18, - kFkMatchtypeFieldNumber = 23, - kFkUpdActionFieldNumber = 24, - kFkDelActionFieldNumber = 25, - kRawExprFieldNumber = 7, - kWhereClauseFieldNumber = 19, - kPktableFieldNumber = 20, + kCookedExprFieldNumber = 9, + kGeneratedWhenFieldNumber = 10, + kIndexnameFieldNumber = 17, + kIndexspaceFieldNumber = 18, + kAccessMethodFieldNumber = 20, + kFkMatchtypeFieldNumber = 25, + kFkUpdActionFieldNumber = 26, + kFkDelActionFieldNumber = 27, + kRawExprFieldNumber = 8, + kWhereClauseFieldNumber = 21, + kPktableFieldNumber = 22, kContypeFieldNumber = 1, - kLocationFieldNumber = 5, kDeferrableFieldNumber = 3, kInitdeferredFieldNumber = 4, - kIsNoInheritFieldNumber = 6, - kNullsNotDistinctFieldNumber = 10, - kResetDefaultTblspcFieldNumber = 17, - kSkipValidationFieldNumber = 29, - kInitiallyValidFieldNumber = 30, - kOldPktableOidFieldNumber = 28, - }; - // repeated .pg_query.Node keys = 11 [json_name = "keys"]; + kSkipValidationFieldNumber = 5, + kInitiallyValidFieldNumber = 6, + kInhcountFieldNumber = 11, + kIsNoInheritFieldNumber = 7, + kNullsNotDistinctFieldNumber = 12, + kResetDefaultTblspcFieldNumber = 19, + kOldPktableOidFieldNumber = 30, + kLocationFieldNumber = 31, + }; + // repeated .pg_query.Node keys = 13 [json_name = "keys"]; int keys_size() const; private: int _internal_keys_size() const; @@ -25652,7 +26326,7 @@ class Constraint final : ::pg_query::Node* add_keys(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& keys() const; - // repeated .pg_query.Node including = 12 [json_name = "including"]; + // repeated .pg_query.Node including = 14 [json_name = "including"]; int including_size() const; private: int _internal_including_size() const; @@ -25670,7 +26344,7 @@ class Constraint final : ::pg_query::Node* add_including(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& including() const; - // repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"]; + // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"]; int exclusions_size() const; private: int _internal_exclusions_size() const; @@ -25688,7 +26362,7 @@ class Constraint final : ::pg_query::Node* add_exclusions(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& exclusions() const; - // repeated .pg_query.Node options = 14 [json_name = "options"]; + // repeated .pg_query.Node options = 16 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; @@ -25706,7 +26380,7 @@ class Constraint final : ::pg_query::Node* add_options(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; - // repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"]; + // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"]; int fk_attrs_size() const; private: int _internal_fk_attrs_size() const; @@ -25724,7 +26398,7 @@ class Constraint final : ::pg_query::Node* add_fk_attrs(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& fk_attrs() const; - // repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"]; + // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"]; int pk_attrs_size() const; private: int _internal_pk_attrs_size() const; @@ -25742,7 +26416,7 @@ class Constraint final : ::pg_query::Node* add_pk_attrs(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& pk_attrs() const; - // repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"]; + // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"]; int fk_del_set_cols_size() const; private: int _internal_fk_del_set_cols_size() const; @@ -25760,7 +26434,7 @@ class Constraint final : ::pg_query::Node* add_fk_del_set_cols(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& fk_del_set_cols() const; - // repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"]; + // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"]; int old_conpfeqop_size() const; private: int _internal_old_conpfeqop_size() const; @@ -25794,7 +26468,7 @@ class Constraint final : std::string* _internal_mutable_conname(); public: - // string cooked_expr = 8 [json_name = "cooked_expr"]; + // string cooked_expr = 9 [json_name = "cooked_expr"]; void clear_cooked_expr() ; const std::string& cooked_expr() const; template @@ -25810,7 +26484,7 @@ class Constraint final : std::string* _internal_mutable_cooked_expr(); public: - // string generated_when = 9 [json_name = "generated_when"]; + // string generated_when = 10 [json_name = "generated_when"]; void clear_generated_when() ; const std::string& generated_when() const; template @@ -25826,7 +26500,7 @@ class Constraint final : std::string* _internal_mutable_generated_when(); public: - // string indexname = 15 [json_name = "indexname"]; + // string indexname = 17 [json_name = "indexname"]; void clear_indexname() ; const std::string& indexname() const; template @@ -25842,7 +26516,7 @@ class Constraint final : std::string* _internal_mutable_indexname(); public: - // string indexspace = 16 [json_name = "indexspace"]; + // string indexspace = 18 [json_name = "indexspace"]; void clear_indexspace() ; const std::string& indexspace() const; template @@ -25858,7 +26532,7 @@ class Constraint final : std::string* _internal_mutable_indexspace(); public: - // string access_method = 18 [json_name = "access_method"]; + // string access_method = 20 [json_name = "access_method"]; void clear_access_method() ; const std::string& access_method() const; template @@ -25874,7 +26548,7 @@ class Constraint final : std::string* _internal_mutable_access_method(); public: - // string fk_matchtype = 23 [json_name = "fk_matchtype"]; + // string fk_matchtype = 25 [json_name = "fk_matchtype"]; void clear_fk_matchtype() ; const std::string& fk_matchtype() const; template @@ -25890,7 +26564,7 @@ class Constraint final : std::string* _internal_mutable_fk_matchtype(); public: - // string fk_upd_action = 24 [json_name = "fk_upd_action"]; + // string fk_upd_action = 26 [json_name = "fk_upd_action"]; void clear_fk_upd_action() ; const std::string& fk_upd_action() const; template @@ -25906,7 +26580,7 @@ class Constraint final : std::string* _internal_mutable_fk_upd_action(); public: - // string fk_del_action = 25 [json_name = "fk_del_action"]; + // string fk_del_action = 27 [json_name = "fk_del_action"]; void clear_fk_del_action() ; const std::string& fk_del_action() const; template @@ -25922,7 +26596,7 @@ class Constraint final : std::string* _internal_mutable_fk_del_action(); public: - // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"]; + // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"]; bool has_raw_expr() const; void clear_raw_expr() ; const ::pg_query::Node& raw_expr() const; @@ -25937,7 +26611,7 @@ class Constraint final : ::pg_query::Node* _internal_mutable_raw_expr(); public: - // .pg_query.Node where_clause = 19 [json_name = "where_clause"]; + // .pg_query.Node where_clause = 21 [json_name = "where_clause"]; bool has_where_clause() const; void clear_where_clause() ; const ::pg_query::Node& where_clause() const; @@ -25952,7 +26626,7 @@ class Constraint final : ::pg_query::Node* _internal_mutable_where_clause(); public: - // .pg_query.RangeVar pktable = 20 [json_name = "pktable"]; + // .pg_query.RangeVar pktable = 22 [json_name = "pktable"]; bool has_pktable() const; void clear_pktable() ; const ::pg_query::RangeVar& pktable() const; @@ -25976,16 +26650,6 @@ class Constraint final : ::pg_query::ConstrType _internal_contype() const; void _internal_set_contype(::pg_query::ConstrType value); - public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - - private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); - public: // bool deferrable = 3 [json_name = "deferrable"]; void clear_deferrable() ; @@ -26007,7 +26671,37 @@ class Constraint final : void _internal_set_initdeferred(bool value); public: - // bool is_no_inherit = 6 [json_name = "is_no_inherit"]; + // bool skip_validation = 5 [json_name = "skip_validation"]; + void clear_skip_validation() ; + bool skip_validation() const; + void set_skip_validation(bool value); + + private: + bool _internal_skip_validation() const; + void _internal_set_skip_validation(bool value); + + public: + // bool initially_valid = 6 [json_name = "initially_valid"]; + void clear_initially_valid() ; + bool initially_valid() const; + void set_initially_valid(bool value); + + private: + bool _internal_initially_valid() const; + void _internal_set_initially_valid(bool value); + + public: + // int32 inhcount = 11 [json_name = "inhcount"]; + void clear_inhcount() ; + ::int32_t inhcount() const; + void set_inhcount(::int32_t value); + + private: + ::int32_t _internal_inhcount() const; + void _internal_set_inhcount(::int32_t value); + + public: + // bool is_no_inherit = 7 [json_name = "is_no_inherit"]; void clear_is_no_inherit() ; bool is_no_inherit() const; void set_is_no_inherit(bool value); @@ -26017,7 +26711,7 @@ class Constraint final : void _internal_set_is_no_inherit(bool value); public: - // bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"]; + // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"]; void clear_nulls_not_distinct() ; bool nulls_not_distinct() const; void set_nulls_not_distinct(bool value); @@ -26027,7 +26721,7 @@ class Constraint final : void _internal_set_nulls_not_distinct(bool value); public: - // bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"]; + // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"]; void clear_reset_default_tblspc() ; bool reset_default_tblspc() const; void set_reset_default_tblspc(bool value); @@ -26037,27 +26731,7 @@ class Constraint final : void _internal_set_reset_default_tblspc(bool value); public: - // bool skip_validation = 29 [json_name = "skip_validation"]; - void clear_skip_validation() ; - bool skip_validation() const; - void set_skip_validation(bool value); - - private: - bool _internal_skip_validation() const; - void _internal_set_skip_validation(bool value); - - public: - // bool initially_valid = 30 [json_name = "initially_valid"]; - void clear_initially_valid() ; - bool initially_valid() const; - void set_initially_valid(bool value); - - private: - bool _internal_initially_valid() const; - void _internal_set_initially_valid(bool value); - - public: - // uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"]; + // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"]; void clear_old_pktable_oid() ; ::uint32_t old_pktable_oid() const; void set_old_pktable_oid(::uint32_t value); @@ -26066,6 +26740,16 @@ class Constraint final : ::uint32_t _internal_old_pktable_oid() const; void _internal_set_old_pktable_oid(::uint32_t value); + public: + // int32 location = 31 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: // @@protoc_insertion_point(class_scope:pg_query.Constraint) private: @@ -26073,7 +26757,7 @@ class Constraint final : friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 5, 30, 11, + 5, 31, 11, 154, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -26113,15 +26797,16 @@ class Constraint final : ::pg_query::Node* where_clause_; ::pg_query::RangeVar* pktable_; int contype_; - ::int32_t location_; bool deferrable_; bool initdeferred_; + bool skip_validation_; + bool initially_valid_; + ::int32_t inhcount_; bool is_no_inherit_; bool nulls_not_distinct_; bool reset_default_tblspc_; - bool skip_validation_; - bool initially_valid_; ::uint32_t old_pktable_oid_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -26187,7 +26872,7 @@ class ConstraintsSetStmt final : &_ConstraintsSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 236; + 252; friend void swap(ConstraintsSetStmt& a, ConstraintsSetStmt& b) { a.Swap(&b); @@ -26382,7 +27067,7 @@ class ConvertRowtypeExpr final : &_ConvertRowtypeExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 39; friend void swap(ConvertRowtypeExpr& a, ConvertRowtypeExpr& b) { a.Swap(&b); @@ -26616,7 +27301,7 @@ class CopyStmt final : &_CopyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 146; + 162; friend void swap(CopyStmt& a, CopyStmt& b) { a.Swap(&b); @@ -26913,7 +27598,7 @@ class CreateAmStmt final : &_CreateAmStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 169; + 185; friend void swap(CreateAmStmt& a, CreateAmStmt& b) { a.Swap(&b); @@ -27132,7 +27817,7 @@ class CreateCastStmt final : &_CreateCastStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 239; + 255; friend void swap(CreateCastStmt& a, CreateCastStmt& b) { a.Swap(&b); @@ -27371,7 +28056,7 @@ class CreateConversionStmt final : &_CreateConversionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 238; + 254; friend void swap(CreateConversionStmt& a, CreateConversionStmt& b) { a.Swap(&b); @@ -27622,7 +28307,7 @@ class CreateDomainStmt final : &_CreateDomainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 181; + 197; friend void swap(CreateDomainStmt& a, CreateDomainStmt& b) { a.Swap(&b); @@ -27860,7 +28545,7 @@ class CreateEnumStmt final : &_CreateEnumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 216; + 232; friend void swap(CreateEnumStmt& a, CreateEnumStmt& b) { a.Swap(&b); @@ -28063,7 +28748,7 @@ class CreateEventTrigStmt final : &_CreateEventTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 171; + 187; friend void swap(CreateEventTrigStmt& a, CreateEventTrigStmt& b) { a.Swap(&b); @@ -28302,7 +28987,7 @@ class CreateExtensionStmt final : &_CreateExtensionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 155; + 171; friend void swap(CreateExtensionStmt& a, CreateExtensionStmt& b) { a.Swap(&b); @@ -28515,7 +29200,7 @@ class CreateFdwStmt final : &_CreateFdwStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 158; + 174; friend void swap(CreateFdwStmt& a, CreateFdwStmt& b) { a.Swap(&b); @@ -28736,7 +29421,7 @@ class CreateForeignServerStmt final : &_CreateForeignServerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 160; + 176; friend void swap(CreateForeignServerStmt& a, CreateForeignServerStmt& b) { a.Swap(&b); @@ -29003,7 +29688,7 @@ class CreateForeignTableStmt final : &_CreateForeignTableStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 162; + 178; friend void swap(CreateForeignTableStmt& a, CreateForeignTableStmt& b) { a.Swap(&b); @@ -29222,7 +29907,7 @@ class CreateFunctionStmt final : &_CreateFunctionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 197; + 213; friend void swap(CreateFunctionStmt& a, CreateFunctionStmt& b) { a.Swap(&b); @@ -29504,7 +30189,7 @@ class CreateOpClassItem final : &_CreateOpClassItem_default_instance_); } static constexpr int kIndexInFileMessages = - 183; + 199; friend void swap(CreateOpClassItem& a, CreateOpClassItem& b) { a.Swap(&b); @@ -29766,7 +30451,7 @@ class CreateOpClassStmt final : &_CreateOpClassStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 182; + 198; friend void swap(CreateOpClassStmt& a, CreateOpClassStmt& b) { a.Swap(&b); @@ -30037,7 +30722,7 @@ class CreateOpFamilyStmt final : &_CreateOpFamilyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 184; + 200; friend void swap(CreateOpFamilyStmt& a, CreateOpFamilyStmt& b) { a.Swap(&b); @@ -30238,7 +30923,7 @@ class CreatePLangStmt final : &_CreatePLangStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 173; + 189; friend void swap(CreatePLangStmt& a, CreatePLangStmt& b) { a.Swap(&b); @@ -30503,7 +31188,7 @@ class CreatePolicyStmt final : &_CreatePolicyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 167; + 183; friend void swap(CreatePolicyStmt& a, CreatePolicyStmt& b) { a.Swap(&b); @@ -30786,7 +31471,7 @@ class CreatePublicationStmt final : &_CreatePublicationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 250; + 266; friend void swap(CreatePublicationStmt& a, CreatePublicationStmt& b) { a.Swap(&b); @@ -31019,7 +31704,7 @@ class CreateRangeStmt final : &_CreateRangeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 217; + 233; friend void swap(CreateRangeStmt& a, CreateRangeStmt& b) { a.Swap(&b); @@ -31222,7 +31907,7 @@ class CreateRoleStmt final : &_CreateRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 174; + 190; friend void swap(CreateRoleStmt& a, CreateRoleStmt& b) { a.Swap(&b); @@ -31435,7 +32120,7 @@ class CreateSchemaStmt final : &_CreateSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 135; + 151; friend void swap(CreateSchemaStmt& a, CreateSchemaStmt& b) { a.Swap(&b); @@ -31666,7 +32351,7 @@ class CreateSeqStmt final : &_CreateSeqStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 178; + 194; friend void swap(CreateSeqStmt& a, CreateSeqStmt& b) { a.Swap(&b); @@ -31903,7 +32588,7 @@ class CreateStatsStmt final : &_CreateStatsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 194; + 210; friend void swap(CreateStatsStmt& a, CreateStatsStmt& b) { a.Swap(&b); @@ -32188,7 +32873,7 @@ class CreateStmt final : &_CreateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 149; + 165; friend void swap(CreateStmt& a, CreateStmt& b) { a.Swap(&b); @@ -32560,7 +33245,7 @@ class CreateSubscriptionStmt final : &_CreateSubscriptionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 252; + 268; friend void swap(CreateSubscriptionStmt& a, CreateSubscriptionStmt& b) { a.Swap(&b); @@ -32799,7 +33484,7 @@ class CreateTableAsStmt final : &_CreateTableAsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 231; + 247; friend void swap(CreateTableAsStmt& a, CreateTableAsStmt& b) { a.Swap(&b); @@ -33033,7 +33718,7 @@ class CreateTableSpaceStmt final : &_CreateTableSpaceStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 151; + 167; friend void swap(CreateTableSpaceStmt& a, CreateTableSpaceStmt& b) { a.Swap(&b); @@ -33270,7 +33955,7 @@ class CreateTransformStmt final : &_CreateTransformStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 240; + 256; friend void swap(CreateTransformStmt& a, CreateTransformStmt& b) { a.Swap(&b); @@ -33515,7 +34200,7 @@ class CreateTrigStmt final : &_CreateTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 170; + 186; friend void swap(CreateTrigStmt& a, CreateTrigStmt& b) { a.Swap(&b); @@ -33912,7 +34597,7 @@ class CreateUserMappingStmt final : &_CreateUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 163; + 179; friend void swap(CreateUserMappingStmt& a, CreateUserMappingStmt& b) { a.Swap(&b); @@ -34143,7 +34828,7 @@ class CreatedbStmt final : &_CreatedbStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 221; + 237; friend void swap(CreatedbStmt& a, CreatedbStmt& b) { a.Swap(&b); @@ -34344,7 +35029,7 @@ class CurrentOfExpr final : &_CurrentOfExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 59; + 67; friend void swap(CurrentOfExpr& a, CurrentOfExpr& b) { a.Swap(&b); @@ -34567,7 +35252,7 @@ class DeclareCursorStmt final : &_DeclareCursorStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 190; + 206; friend void swap(DeclareCursorStmt& a, DeclareCursorStmt& b) { a.Swap(&b); @@ -34778,7 +35463,7 @@ class DefElem final : &_DefElem_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 100; friend void swap(DefElem& a, DefElem& b) { a.Swap(&b); @@ -35019,7 +35704,7 @@ class DefineStmt final : &_DefineStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 180; + 196; friend void swap(DefineStmt& a, DefineStmt& b) { a.Swap(&b); @@ -35290,7 +35975,7 @@ class DeleteStmt final : &_DeleteStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 128; + 144; friend void swap(DeleteStmt& a, DeleteStmt& b) { a.Swap(&b); @@ -35545,7 +36230,7 @@ class DistinctExpr final : &_DistinctExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 27; friend void swap(DistinctExpr& a, DistinctExpr& b) { a.Swap(&b); @@ -35818,7 +36503,7 @@ class DoStmt final : &_DoStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 200; + 216; friend void swap(DoStmt& a, DoStmt& b) { a.Swap(&b); @@ -36001,7 +36686,7 @@ class DropOwnedStmt final : &_DropOwnedStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 244; + 260; friend void swap(DropOwnedStmt& a, DropOwnedStmt& b) { a.Swap(&b); @@ -36196,7 +36881,7 @@ class DropRoleStmt final : &_DropRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 177; + 193; friend void swap(DropRoleStmt& a, DropRoleStmt& b) { a.Swap(&b); @@ -36391,7 +37076,7 @@ class DropStmt final : &_DropStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 186; + 202; friend void swap(DropStmt& a, DropStmt& b) { a.Swap(&b); @@ -36622,7 +37307,7 @@ class DropdbStmt final : &_DropdbStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 225; + 241; friend void swap(DropdbStmt& a, DropdbStmt& b) { a.Swap(&b); @@ -36835,7 +37520,7 @@ class ExecuteStmt final : &_ExecuteStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 242; + 258; friend void swap(ExecuteStmt& a, ExecuteStmt& b) { a.Swap(&b); @@ -37036,7 +37721,7 @@ class ExplainStmt final : &_ExplainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 230; + 246; friend void swap(ExplainStmt& a, ExplainStmt& b) { a.Swap(&b); @@ -37237,7 +37922,7 @@ class FieldSelect final : &_FieldSelect_default_instance_); } static constexpr int kIndexInFileMessages = - 32; + 34; friend void swap(FieldSelect& a, FieldSelect& b) { a.Swap(&b); @@ -37483,7 +38168,7 @@ class FieldStore final : &_FieldStore_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 35; friend void swap(FieldStore& a, FieldStore& b) { a.Swap(&b); @@ -37733,7 +38418,7 @@ class FromExpr final : &_FromExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 65; + 73; friend void swap(FromExpr& a, FromExpr& b) { a.Swap(&b); @@ -37934,7 +38619,7 @@ class FuncCall final : &_FuncCall_default_instance_); } static constexpr int kIndexInFileMessages = - 75; + 83; friend void swap(FuncCall& a, FuncCall& b) { a.Swap(&b); @@ -38264,7 +38949,7 @@ class FuncExpr final : &_FuncExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 24; friend void swap(FuncExpr& a, FuncExpr& b) { a.Swap(&b); @@ -38561,7 +39246,7 @@ class FunctionParameter final : &_FunctionParameter_default_instance_); } static constexpr int kIndexInFileMessages = - 198; + 214; friend void swap(FunctionParameter& a, FunctionParameter& b) { a.Swap(&b); @@ -38789,7 +39474,7 @@ class GrantRoleStmt final : &_GrantRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 144; + 160; friend void swap(GrantRoleStmt& a, GrantRoleStmt& b) { a.Swap(&b); @@ -39054,7 +39739,7 @@ class GrantStmt final : &_GrantStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 141; + 157; friend void swap(GrantStmt& a, GrantStmt& b) { a.Swap(&b); @@ -39600,7 +40285,7 @@ class GroupingSet final : &_GroupingSet_default_instance_); } static constexpr int kIndexInFileMessages = - 106; + 115; friend void swap(GroupingSet& a, GroupingSet& b) { a.Swap(&b); @@ -39807,7 +40492,7 @@ class ImportForeignSchemaStmt final : &_ImportForeignSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 166; + 182; friend void swap(ImportForeignSchemaStmt& a, ImportForeignSchemaStmt& b) { a.Swap(&b); @@ -40076,7 +40761,7 @@ class IndexElem final : &_IndexElem_default_instance_); } static constexpr int kIndexInFileMessages = - 91; + 99; friend void swap(IndexElem& a, IndexElem& b) { a.Swap(&b); @@ -40377,7 +41062,7 @@ class IndexStmt final : &_IndexStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 193; + 209; friend void swap(IndexStmt& a, IndexStmt& b) { a.Swap(&b); @@ -40895,7 +41580,7 @@ class InferClause final : &_InferClause_default_instance_); } static constexpr int kIndexInFileMessages = - 110; + 119; friend void swap(InferClause& a, InferClause& b) { a.Swap(&b); @@ -41126,7 +41811,7 @@ class InferenceElem final : &_InferenceElem_default_instance_); } static constexpr int kIndexInFileMessages = - 61; + 69; friend void swap(InferenceElem& a, InferenceElem& b) { a.Swap(&b); @@ -41348,7 +42033,7 @@ class InsertStmt final : &_InsertStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 127; + 143; friend void swap(InsertStmt& a, InsertStmt& b) { a.Swap(&b); @@ -42113,7 +42798,7 @@ class JoinExpr final : &_JoinExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 64; + 72; friend void swap(JoinExpr& a, JoinExpr& b) { a.Swap(&b); @@ -42418,7 +43103,7 @@ class JsonAggConstructor final : &_JsonAggConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 123; + 139; friend void swap(JsonAggConstructor& a, JsonAggConstructor& b) { a.Swap(&b); @@ -42606,26 +43291,26 @@ class JsonAggConstructor final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class JsonArrayAgg final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayAgg) */ { +class JsonArgument final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArgument) */ { public: - inline JsonArrayAgg() : JsonArrayAgg(nullptr) {} - ~JsonArrayAgg() override; + inline JsonArgument() : JsonArgument(nullptr) {} + ~JsonArgument() override; template - explicit PROTOBUF_CONSTEXPR JsonArrayAgg(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonArgument(::google::protobuf::internal::ConstantInitialized); - inline JsonArrayAgg(const JsonArrayAgg& from) - : JsonArrayAgg(nullptr, from) {} - JsonArrayAgg(JsonArrayAgg&& from) noexcept - : JsonArrayAgg() { + inline JsonArgument(const JsonArgument& from) + : JsonArgument(nullptr, from) {} + JsonArgument(JsonArgument&& from) noexcept + : JsonArgument() { *this = ::std::move(from); } - inline JsonArrayAgg& operator=(const JsonArrayAgg& from) { + inline JsonArgument& operator=(const JsonArgument& from) { CopyFrom(from); return *this; } - inline JsonArrayAgg& operator=(JsonArrayAgg&& from) noexcept { + inline JsonArgument& operator=(JsonArgument&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -42657,20 +43342,20 @@ class JsonArrayAgg final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const JsonArrayAgg& default_instance() { + static const JsonArgument& default_instance() { return *internal_default_instance(); } - static inline const JsonArrayAgg* internal_default_instance() { - return reinterpret_cast( - &_JsonArrayAgg_default_instance_); + static inline const JsonArgument* internal_default_instance() { + return reinterpret_cast( + &_JsonArgument_default_instance_); } static constexpr int kIndexInFileMessages = - 125; + 127; - friend void swap(JsonArrayAgg& a, JsonArrayAgg& b) { + friend void swap(JsonArgument& a, JsonArgument& b) { a.Swap(&b); } - inline void Swap(JsonArrayAgg* other) { + inline void Swap(JsonArgument* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -42683,7 +43368,7 @@ class JsonArrayAgg final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(JsonArrayAgg* other) { + void UnsafeArenaSwap(JsonArgument* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -42691,14 +43376,14 @@ class JsonArrayAgg final : // implements Message ---------------------------------------------- - JsonArrayAgg* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArgument* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const JsonArrayAgg& from); + void CopyFrom(const JsonArgument& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const JsonArrayAgg& from) { - JsonArrayAgg::MergeImpl(*this, from); + void MergeFrom( const JsonArgument& from) { + JsonArgument::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -42716,16 +43401,16 @@ class JsonArrayAgg final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(JsonArrayAgg* other); + void InternalSwap(JsonArgument* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.JsonArrayAgg"; + return "pg_query.JsonArgument"; } protected: - explicit JsonArrayAgg(::google::protobuf::Arena* arena); - JsonArrayAgg(::google::protobuf::Arena* arena, const JsonArrayAgg& from); + explicit JsonArgument(::google::protobuf::Arena* arena); + JsonArgument(::google::protobuf::Arena* arena, const JsonArgument& from); public: static const ClassData _class_data_; @@ -42738,58 +43423,48 @@ class JsonArrayAgg final : // accessors ------------------------------------------------------- enum : int { - kConstructorFieldNumber = 1, - kArgFieldNumber = 2, - kAbsentOnNullFieldNumber = 3, + kNameFieldNumber = 2, + kValFieldNumber = 1, }; - // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; - bool has_constructor() const; - void clear_constructor() ; - const ::pg_query::JsonAggConstructor& constructor() const; - PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_constructor(); - ::pg_query::JsonAggConstructor* mutable_constructor(); - void set_allocated_constructor(::pg_query::JsonAggConstructor* value); - void unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value); - ::pg_query::JsonAggConstructor* unsafe_arena_release_constructor(); - - private: - const ::pg_query::JsonAggConstructor& _internal_constructor() const; - ::pg_query::JsonAggConstructor* _internal_mutable_constructor(); - - public: - // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"]; - bool has_arg() const; - void clear_arg() ; - const ::pg_query::JsonValueExpr& arg() const; - PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_arg(); - ::pg_query::JsonValueExpr* mutable_arg(); - void set_allocated_arg(::pg_query::JsonValueExpr* value); - void unsafe_arena_set_allocated_arg(::pg_query::JsonValueExpr* value); - ::pg_query::JsonValueExpr* unsafe_arena_release_arg(); + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const ::pg_query::JsonValueExpr& _internal_arg() const; - ::pg_query::JsonValueExpr* _internal_mutable_arg(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // bool absent_on_null = 3 [json_name = "absent_on_null"]; - void clear_absent_on_null() ; - bool absent_on_null() const; - void set_absent_on_null(bool value); + // .pg_query.JsonValueExpr val = 1 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::JsonValueExpr& val() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_val(); + ::pg_query::JsonValueExpr* mutable_val(); + void set_allocated_val(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_val(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_val(); private: - bool _internal_absent_on_null() const; - void _internal_set_absent_on_null(bool value); + const ::pg_query::JsonValueExpr& _internal_val() const; + ::pg_query::JsonValueExpr* _internal_mutable_val(); public: - // @@protoc_insertion_point(class_scope:pg_query.JsonArrayAgg) + // @@protoc_insertion_point(class_scope:pg_query.JsonArgument) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, - 0, 2> + 1, 2, 1, + 34, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -42807,35 +43482,34 @@ class JsonArrayAgg final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::JsonAggConstructor* constructor_; - ::pg_query::JsonValueExpr* arg_; - bool absent_on_null_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::JsonValueExpr* val_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class JsonArrayConstructor final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayConstructor) */ { +class JsonArrayAgg final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayAgg) */ { public: - inline JsonArrayConstructor() : JsonArrayConstructor(nullptr) {} - ~JsonArrayConstructor() override; + inline JsonArrayAgg() : JsonArrayAgg(nullptr) {} + ~JsonArrayAgg() override; template - explicit PROTOBUF_CONSTEXPR JsonArrayConstructor(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonArrayAgg(::google::protobuf::internal::ConstantInitialized); - inline JsonArrayConstructor(const JsonArrayConstructor& from) - : JsonArrayConstructor(nullptr, from) {} - JsonArrayConstructor(JsonArrayConstructor&& from) noexcept - : JsonArrayConstructor() { + inline JsonArrayAgg(const JsonArrayAgg& from) + : JsonArrayAgg(nullptr, from) {} + JsonArrayAgg(JsonArrayAgg&& from) noexcept + : JsonArrayAgg() { *this = ::std::move(from); } - inline JsonArrayConstructor& operator=(const JsonArrayConstructor& from) { + inline JsonArrayAgg& operator=(const JsonArrayAgg& from) { CopyFrom(from); return *this; } - inline JsonArrayConstructor& operator=(JsonArrayConstructor&& from) noexcept { + inline JsonArrayAgg& operator=(JsonArrayAgg&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -42867,20 +43541,20 @@ class JsonArrayConstructor final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const JsonArrayConstructor& default_instance() { + static const JsonArrayAgg& default_instance() { return *internal_default_instance(); } - static inline const JsonArrayConstructor* internal_default_instance() { - return reinterpret_cast( - &_JsonArrayConstructor_default_instance_); + static inline const JsonArrayAgg* internal_default_instance() { + return reinterpret_cast( + &_JsonArrayAgg_default_instance_); } static constexpr int kIndexInFileMessages = - 121; + 141; - friend void swap(JsonArrayConstructor& a, JsonArrayConstructor& b) { + friend void swap(JsonArrayAgg& a, JsonArrayAgg& b) { a.Swap(&b); } - inline void Swap(JsonArrayConstructor* other) { + inline void Swap(JsonArrayAgg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -42893,7 +43567,7 @@ class JsonArrayConstructor final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(JsonArrayConstructor* other) { + void UnsafeArenaSwap(JsonArrayAgg* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -42901,14 +43575,14 @@ class JsonArrayConstructor final : // implements Message ---------------------------------------------- - JsonArrayConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArrayAgg* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const JsonArrayConstructor& from); + void CopyFrom(const JsonArrayAgg& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const JsonArrayConstructor& from) { - JsonArrayConstructor::MergeImpl(*this, from); + void MergeFrom( const JsonArrayAgg& from) { + JsonArrayAgg::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -42926,16 +43600,16 @@ class JsonArrayConstructor final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(JsonArrayConstructor* other); + void InternalSwap(JsonArrayAgg* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.JsonArrayConstructor"; + return "pg_query.JsonArrayAgg"; } protected: - explicit JsonArrayConstructor(::google::protobuf::Arena* arena); - JsonArrayConstructor(::google::protobuf::Arena* arena, const JsonArrayConstructor& from); + explicit JsonArrayAgg(::google::protobuf::Arena* arena); + JsonArrayAgg(::google::protobuf::Arena* arena, const JsonArrayAgg& from); public: static const ClassData _class_data_; @@ -42948,42 +43622,38 @@ class JsonArrayConstructor final : // accessors ------------------------------------------------------- enum : int { - kExprsFieldNumber = 1, - kOutputFieldNumber = 2, + kConstructorFieldNumber = 1, + kArgFieldNumber = 2, kAbsentOnNullFieldNumber = 3, - kLocationFieldNumber = 4, }; - // repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; - int exprs_size() const; - private: - int _internal_exprs_size() const; + // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; + bool has_constructor() const; + void clear_constructor() ; + const ::pg_query::JsonAggConstructor& constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_constructor(); + ::pg_query::JsonAggConstructor* mutable_constructor(); + void set_allocated_constructor(::pg_query::JsonAggConstructor* value); + void unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value); + ::pg_query::JsonAggConstructor* unsafe_arena_release_constructor(); - public: - void clear_exprs() ; - ::pg_query::Node* mutable_exprs(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_exprs(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exprs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exprs(); + const ::pg_query::JsonAggConstructor& _internal_constructor() const; + ::pg_query::JsonAggConstructor* _internal_mutable_constructor(); + public: - const ::pg_query::Node& exprs(int index) const; - ::pg_query::Node* add_exprs(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - exprs() const; - // .pg_query.JsonOutput output = 2 [json_name = "output"]; - bool has_output() const; - void clear_output() ; - const ::pg_query::JsonOutput& output() const; - PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); - ::pg_query::JsonOutput* mutable_output(); - void set_allocated_output(::pg_query::JsonOutput* value); - void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); - ::pg_query::JsonOutput* unsafe_arena_release_output(); + // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::JsonValueExpr& arg() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_arg(); + ::pg_query::JsonValueExpr* mutable_arg(); + void set_allocated_arg(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_arg(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_arg(); private: - const ::pg_query::JsonOutput& _internal_output() const; - ::pg_query::JsonOutput* _internal_mutable_output(); + const ::pg_query::JsonValueExpr& _internal_arg() const; + ::pg_query::JsonValueExpr* _internal_mutable_arg(); public: // bool absent_on_null = 3 [json_name = "absent_on_null"]; @@ -42996,23 +43666,13 @@ class JsonArrayConstructor final : void _internal_set_absent_on_null(bool value); public: - // int32 location = 4 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - - private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); - - public: - // @@protoc_insertion_point(class_scope:pg_query.JsonArrayConstructor) + // @@protoc_insertion_point(class_scope:pg_query.JsonArrayAgg) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 2, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -43031,36 +43691,260 @@ class JsonArrayConstructor final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exprs_; - ::pg_query::JsonOutput* output_; + ::pg_query::JsonAggConstructor* constructor_; + ::pg_query::JsonValueExpr* arg_; bool absent_on_null_; - ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class JsonArrayQueryConstructor final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayQueryConstructor) */ { +class JsonArrayConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayConstructor) */ { public: - inline JsonArrayQueryConstructor() : JsonArrayQueryConstructor(nullptr) {} - ~JsonArrayQueryConstructor() override; + inline JsonArrayConstructor() : JsonArrayConstructor(nullptr) {} + ~JsonArrayConstructor() override; template - explicit PROTOBUF_CONSTEXPR JsonArrayQueryConstructor(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonArrayConstructor(::google::protobuf::internal::ConstantInitialized); - inline JsonArrayQueryConstructor(const JsonArrayQueryConstructor& from) - : JsonArrayQueryConstructor(nullptr, from) {} - JsonArrayQueryConstructor(JsonArrayQueryConstructor&& from) noexcept - : JsonArrayQueryConstructor() { + inline JsonArrayConstructor(const JsonArrayConstructor& from) + : JsonArrayConstructor(nullptr, from) {} + JsonArrayConstructor(JsonArrayConstructor&& from) noexcept + : JsonArrayConstructor() { *this = ::std::move(from); } - inline JsonArrayQueryConstructor& operator=(const JsonArrayQueryConstructor& from) { + inline JsonArrayConstructor& operator=(const JsonArrayConstructor& from) { CopyFrom(from); return *this; } - inline JsonArrayQueryConstructor& operator=(JsonArrayQueryConstructor&& from) noexcept { + inline JsonArrayConstructor& operator=(JsonArrayConstructor&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonArrayConstructor& default_instance() { + return *internal_default_instance(); + } + static inline const JsonArrayConstructor* internal_default_instance() { + return reinterpret_cast( + &_JsonArrayConstructor_default_instance_); + } + static constexpr int kIndexInFileMessages = + 137; + + friend void swap(JsonArrayConstructor& a, JsonArrayConstructor& b) { + a.Swap(&b); + } + inline void Swap(JsonArrayConstructor* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonArrayConstructor* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonArrayConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonArrayConstructor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonArrayConstructor& from) { + JsonArrayConstructor::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonArrayConstructor* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonArrayConstructor"; + } + protected: + explicit JsonArrayConstructor(::google::protobuf::Arena* arena); + JsonArrayConstructor(::google::protobuf::Arena* arena, const JsonArrayConstructor& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExprsFieldNumber = 1, + kOutputFieldNumber = 2, + kAbsentOnNullFieldNumber = 3, + kLocationFieldNumber = 4, + }; + // repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; + int exprs_size() const; + private: + int _internal_exprs_size() const; + + public: + void clear_exprs() ; + ::pg_query::Node* mutable_exprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exprs(); + public: + const ::pg_query::Node& exprs(int index) const; + ::pg_query::Node* add_exprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exprs() const; + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); + + private: + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + + public: + // bool absent_on_null = 3 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + + private: + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonArrayConstructor) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exprs_; + ::pg_query::JsonOutput* output_; + bool absent_on_null_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class JsonArrayQueryConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayQueryConstructor) */ { + public: + inline JsonArrayQueryConstructor() : JsonArrayQueryConstructor(nullptr) {} + ~JsonArrayQueryConstructor() override; + template + explicit PROTOBUF_CONSTEXPR JsonArrayQueryConstructor(::google::protobuf::internal::ConstantInitialized); + + inline JsonArrayQueryConstructor(const JsonArrayQueryConstructor& from) + : JsonArrayQueryConstructor(nullptr, from) {} + JsonArrayQueryConstructor(JsonArrayQueryConstructor&& from) noexcept + : JsonArrayQueryConstructor() { + *this = ::std::move(from); + } + + inline JsonArrayQueryConstructor& operator=(const JsonArrayQueryConstructor& from) { + CopyFrom(from); + return *this; + } + inline JsonArrayQueryConstructor& operator=(JsonArrayQueryConstructor&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -43100,7 +43984,7 @@ class JsonArrayQueryConstructor final : &_JsonArrayQueryConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 122; + 138; friend void swap(JsonArrayQueryConstructor& a, JsonArrayQueryConstructor& b) { a.Swap(&b); @@ -43280,6 +44164,223 @@ class JsonArrayQueryConstructor final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- +class JsonBehavior final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonBehavior) */ { + public: + inline JsonBehavior() : JsonBehavior(nullptr) {} + ~JsonBehavior() override; + template + explicit PROTOBUF_CONSTEXPR JsonBehavior(::google::protobuf::internal::ConstantInitialized); + + inline JsonBehavior(const JsonBehavior& from) + : JsonBehavior(nullptr, from) {} + JsonBehavior(JsonBehavior&& from) noexcept + : JsonBehavior() { + *this = ::std::move(from); + } + + inline JsonBehavior& operator=(const JsonBehavior& from) { + CopyFrom(from); + return *this; + } + inline JsonBehavior& operator=(JsonBehavior&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonBehavior& default_instance() { + return *internal_default_instance(); + } + static inline const JsonBehavior* internal_default_instance() { + return reinterpret_cast( + &_JsonBehavior_default_instance_); + } + static constexpr int kIndexInFileMessages = + 56; + + friend void swap(JsonBehavior& a, JsonBehavior& b) { + a.Swap(&b); + } + inline void Swap(JsonBehavior* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonBehavior* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonBehavior* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonBehavior& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonBehavior& from) { + JsonBehavior::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonBehavior* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonBehavior"; + } + protected: + explicit JsonBehavior(::google::protobuf::Arena* arena); + JsonBehavior(::google::protobuf::Arena* arena, const JsonBehavior& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExprFieldNumber = 2, + kBtypeFieldNumber = 1, + kCoerceFieldNumber = 3, + kLocationFieldNumber = 4, + }; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + + private: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + + public: + // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"]; + void clear_btype() ; + ::pg_query::JsonBehaviorType btype() const; + void set_btype(::pg_query::JsonBehaviorType value); + + private: + ::pg_query::JsonBehaviorType _internal_btype() const; + void _internal_set_btype(::pg_query::JsonBehaviorType value); + + public: + // bool coerce = 3 [json_name = "coerce"]; + void clear_coerce() ; + bool coerce() const; + void set_coerce(bool value); + + private: + bool _internal_coerce() const; + void _internal_set_coerce(bool value); + + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonBehavior) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + int btype_; + bool coerce_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + class JsonConstructorExpr final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonConstructorExpr) */ { public: @@ -43339,7 +44440,7 @@ class JsonConstructorExpr final : &_JsonConstructorExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 52; + 54; friend void swap(JsonConstructorExpr& a, JsonConstructorExpr& b) { a.Swap(&b); @@ -43580,6 +44681,766 @@ class JsonConstructorExpr final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- +class JsonExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonExpr) */ { + public: + inline JsonExpr() : JsonExpr(nullptr) {} + ~JsonExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonExpr(const JsonExpr& from) + : JsonExpr(nullptr, from) {} + JsonExpr(JsonExpr&& from) noexcept + : JsonExpr() { + *this = ::std::move(from); + } + + inline JsonExpr& operator=(const JsonExpr& from) { + CopyFrom(from); + return *this; + } + inline JsonExpr& operator=(JsonExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonExpr& default_instance() { + return *internal_default_instance(); + } + static inline const JsonExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 57; + + friend void swap(JsonExpr& a, JsonExpr& b) { + a.Swap(&b); + } + inline void Swap(JsonExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonExpr& from) { + JsonExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonExpr"; + } + protected: + explicit JsonExpr(::google::protobuf::Arena* arena); + JsonExpr(::google::protobuf::Arena* arena, const JsonExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPassingNamesFieldNumber = 8, + kPassingValuesFieldNumber = 9, + kColumnNameFieldNumber = 3, + kXprFieldNumber = 1, + kFormattedExprFieldNumber = 4, + kFormatFieldNumber = 5, + kPathSpecFieldNumber = 6, + kReturningFieldNumber = 7, + kOnEmptyFieldNumber = 10, + kOnErrorFieldNumber = 11, + kOpFieldNumber = 2, + kUseIoCoercionFieldNumber = 12, + kUseJsonCoercionFieldNumber = 13, + kOmitQuotesFieldNumber = 15, + kWrapperFieldNumber = 14, + kCollationFieldNumber = 16, + kLocationFieldNumber = 17, + }; + // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"]; + int passing_names_size() const; + private: + int _internal_passing_names_size() const; + + public: + void clear_passing_names() ; + ::pg_query::Node* mutable_passing_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing_names(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing_names(); + public: + const ::pg_query::Node& passing_names(int index) const; + ::pg_query::Node* add_passing_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing_names() const; + // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"]; + int passing_values_size() const; + private: + int _internal_passing_values_size() const; + + public: + void clear_passing_values() ; + ::pg_query::Node* mutable_passing_values(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing_values(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing_values() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing_values(); + public: + const ::pg_query::Node& passing_values(int index) const; + ::pg_query::Node* add_passing_values(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing_values() const; + // string column_name = 3 [json_name = "column_name"]; + void clear_column_name() ; + const std::string& column_name() const; + template + void set_column_name(Arg_&& arg, Args_... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* value); + + private: + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name( + const std::string& value); + std::string* _internal_mutable_column_name(); + + public: + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"]; + bool has_formatted_expr() const; + void clear_formatted_expr() ; + const ::pg_query::Node& formatted_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_formatted_expr(); + ::pg_query::Node* mutable_formatted_expr(); + void set_allocated_formatted_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_formatted_expr(); + + private: + const ::pg_query::Node& _internal_formatted_expr() const; + ::pg_query::Node* _internal_mutable_formatted_expr(); + + public: + // .pg_query.JsonFormat format = 5 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); + + private: + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + + public: + // .pg_query.Node path_spec = 6 [json_name = "path_spec"]; + bool has_path_spec() const; + void clear_path_spec() ; + const ::pg_query::Node& path_spec() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_path_spec(); + ::pg_query::Node* mutable_path_spec(); + void set_allocated_path_spec(::pg_query::Node* value); + void unsafe_arena_set_allocated_path_spec(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_path_spec(); + + private: + const ::pg_query::Node& _internal_path_spec() const; + ::pg_query::Node* _internal_mutable_path_spec(); + + public: + // .pg_query.JsonReturning returning = 7 [json_name = "returning"]; + bool has_returning() const; + void clear_returning() ; + const ::pg_query::JsonReturning& returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_returning(); + ::pg_query::JsonReturning* mutable_returning(); + void set_allocated_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_returning(); + + private: + const ::pg_query::JsonReturning& _internal_returning() const; + ::pg_query::JsonReturning* _internal_mutable_returning(); + + public: + // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); + + private: + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); + + public: + // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); + + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.JsonExprOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::JsonExprOp op() const; + void set_op(::pg_query::JsonExprOp value); + + private: + ::pg_query::JsonExprOp _internal_op() const; + void _internal_set_op(::pg_query::JsonExprOp value); + + public: + // bool use_io_coercion = 12 [json_name = "use_io_coercion"]; + void clear_use_io_coercion() ; + bool use_io_coercion() const; + void set_use_io_coercion(bool value); + + private: + bool _internal_use_io_coercion() const; + void _internal_set_use_io_coercion(bool value); + + public: + // bool use_json_coercion = 13 [json_name = "use_json_coercion"]; + void clear_use_json_coercion() ; + bool use_json_coercion() const; + void set_use_json_coercion(bool value); + + private: + bool _internal_use_json_coercion() const; + void _internal_set_use_json_coercion(bool value); + + public: + // bool omit_quotes = 15 [json_name = "omit_quotes"]; + void clear_omit_quotes() ; + bool omit_quotes() const; + void set_omit_quotes(bool value); + + private: + bool _internal_omit_quotes() const; + void _internal_set_omit_quotes(bool value); + + public: + // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // uint32 collation = 16 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); + + private: + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); + + public: + // int32 location = 17 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 17, 9, + 53, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_values_; + ::google::protobuf::internal::ArenaStringPtr column_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* formatted_expr_; + ::pg_query::JsonFormat* format_; + ::pg_query::Node* path_spec_; + ::pg_query::JsonReturning* returning_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int op_; + bool use_io_coercion_; + bool use_json_coercion_; + bool omit_quotes_; + int wrapper_; + ::uint32_t collation_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class JsonFuncExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonFuncExpr) */ { + public: + inline JsonFuncExpr() : JsonFuncExpr(nullptr) {} + ~JsonFuncExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonFuncExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonFuncExpr(const JsonFuncExpr& from) + : JsonFuncExpr(nullptr, from) {} + JsonFuncExpr(JsonFuncExpr&& from) noexcept + : JsonFuncExpr() { + *this = ::std::move(from); + } + + inline JsonFuncExpr& operator=(const JsonFuncExpr& from) { + CopyFrom(from); + return *this; + } + inline JsonFuncExpr& operator=(JsonFuncExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonFuncExpr& default_instance() { + return *internal_default_instance(); + } + static inline const JsonFuncExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonFuncExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 128; + + friend void swap(JsonFuncExpr& a, JsonFuncExpr& b) { + a.Swap(&b); + } + inline void Swap(JsonFuncExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonFuncExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonFuncExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonFuncExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonFuncExpr& from) { + JsonFuncExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonFuncExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonFuncExpr"; + } + protected: + explicit JsonFuncExpr(::google::protobuf::Arena* arena); + JsonFuncExpr(::google::protobuf::Arena* arena, const JsonFuncExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPassingFieldNumber = 5, + kColumnNameFieldNumber = 2, + kContextItemFieldNumber = 3, + kPathspecFieldNumber = 4, + kOutputFieldNumber = 6, + kOnEmptyFieldNumber = 7, + kOnErrorFieldNumber = 8, + kOpFieldNumber = 1, + kWrapperFieldNumber = 9, + kQuotesFieldNumber = 10, + kLocationFieldNumber = 11, + }; + // repeated .pg_query.Node passing = 5 [json_name = "passing"]; + int passing_size() const; + private: + int _internal_passing_size() const; + + public: + void clear_passing() ; + ::pg_query::Node* mutable_passing(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing(); + public: + const ::pg_query::Node& passing(int index) const; + ::pg_query::Node* add_passing(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing() const; + // string column_name = 2 [json_name = "column_name"]; + void clear_column_name() ; + const std::string& column_name() const; + template + void set_column_name(Arg_&& arg, Args_... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* value); + + private: + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name( + const std::string& value); + std::string* _internal_mutable_column_name(); + + public: + // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"]; + bool has_context_item() const; + void clear_context_item() ; + const ::pg_query::JsonValueExpr& context_item() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_context_item(); + ::pg_query::JsonValueExpr* mutable_context_item(); + void set_allocated_context_item(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_context_item(); + + private: + const ::pg_query::JsonValueExpr& _internal_context_item() const; + ::pg_query::JsonValueExpr* _internal_mutable_context_item(); + + public: + // .pg_query.Node pathspec = 4 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::Node& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_pathspec(); + ::pg_query::Node* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::Node* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_pathspec(); + + private: + const ::pg_query::Node& _internal_pathspec() const; + ::pg_query::Node* _internal_mutable_pathspec(); + + public: + // .pg_query.JsonOutput output = 6 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); + + private: + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + + public: + // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); + + private: + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); + + public: + // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); + + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.JsonExprOp op = 1 [json_name = "op"]; + void clear_op() ; + ::pg_query::JsonExprOp op() const; + void set_op(::pg_query::JsonExprOp value); + + private: + ::pg_query::JsonExprOp _internal_op() const; + void _internal_set_op(::pg_query::JsonExprOp value); + + public: + // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"]; + void clear_quotes() ; + ::pg_query::JsonQuotes quotes() const; + void set_quotes(::pg_query::JsonQuotes value); + + private: + ::pg_query::JsonQuotes _internal_quotes() const; + void _internal_set_quotes(::pg_query::JsonQuotes value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonFuncExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 6, + 49, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_; + ::google::protobuf::internal::ArenaStringPtr column_name_; + ::pg_query::JsonValueExpr* context_item_; + ::pg_query::Node* pathspec_; + ::pg_query::JsonOutput* output_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int op_; + int wrapper_; + int quotes_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + class JsonIsPredicate final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonIsPredicate) */ { public: @@ -43639,7 +45500,7 @@ class JsonIsPredicate final : &_JsonIsPredicate_default_instance_); } static constexpr int kIndexInFileMessages = - 53; + 55; friend void swap(JsonIsPredicate& a, JsonIsPredicate& b) { a.Swap(&b); @@ -43873,7 +45734,7 @@ class JsonKeyValue final : &_JsonKeyValue_default_instance_); } static constexpr int kIndexInFileMessages = - 119; + 132; friend void swap(JsonKeyValue& a, JsonKeyValue& b) { a.Swap(&b); @@ -44071,7 +45932,7 @@ class JsonObjectAgg final : &_JsonObjectAgg_default_instance_); } static constexpr int kIndexInFileMessages = - 124; + 140; friend void swap(JsonObjectAgg& a, JsonObjectAgg& b) { a.Swap(&b); @@ -44293,7 +46154,7 @@ class JsonObjectConstructor final : &_JsonObjectConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 120; + 136; friend void swap(JsonObjectConstructor& a, JsonObjectConstructor& b) { a.Swap(&b); @@ -44530,7 +46391,7 @@ class JsonOutput final : &_JsonOutput_default_instance_); } static constexpr int kIndexInFileMessages = - 118; + 126; friend void swap(JsonOutput& a, JsonOutput& b) { a.Swap(&b); @@ -44669,26 +46530,26 @@ class JsonOutput final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class JsonValueExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonValueExpr) */ { +class JsonParseExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonParseExpr) */ { public: - inline JsonValueExpr() : JsonValueExpr(nullptr) {} - ~JsonValueExpr() override; + inline JsonParseExpr() : JsonParseExpr(nullptr) {} + ~JsonParseExpr() override; template - explicit PROTOBUF_CONSTEXPR JsonValueExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonParseExpr(::google::protobuf::internal::ConstantInitialized); - inline JsonValueExpr(const JsonValueExpr& from) - : JsonValueExpr(nullptr, from) {} - JsonValueExpr(JsonValueExpr&& from) noexcept - : JsonValueExpr() { + inline JsonParseExpr(const JsonParseExpr& from) + : JsonParseExpr(nullptr, from) {} + JsonParseExpr(JsonParseExpr&& from) noexcept + : JsonParseExpr() { *this = ::std::move(from); } - inline JsonValueExpr& operator=(const JsonValueExpr& from) { + inline JsonParseExpr& operator=(const JsonParseExpr& from) { CopyFrom(from); return *this; } - inline JsonValueExpr& operator=(JsonValueExpr&& from) noexcept { + inline JsonParseExpr& operator=(JsonParseExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -44720,20 +46581,20 @@ class JsonValueExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const JsonValueExpr& default_instance() { + static const JsonParseExpr& default_instance() { return *internal_default_instance(); } - static inline const JsonValueExpr* internal_default_instance() { - return reinterpret_cast( - &_JsonValueExpr_default_instance_); + static inline const JsonParseExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonParseExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 51; + 133; - friend void swap(JsonValueExpr& a, JsonValueExpr& b) { + friend void swap(JsonParseExpr& a, JsonParseExpr& b) { a.Swap(&b); } - inline void Swap(JsonValueExpr* other) { + inline void Swap(JsonParseExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -44746,7 +46607,7 @@ class JsonValueExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(JsonValueExpr* other) { + void UnsafeArenaSwap(JsonParseExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -44754,14 +46615,14 @@ class JsonValueExpr final : // implements Message ---------------------------------------------- - JsonValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonParseExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const JsonValueExpr& from); + void CopyFrom(const JsonParseExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const JsonValueExpr& from) { - JsonValueExpr::MergeImpl(*this, from); + void MergeFrom( const JsonParseExpr& from) { + JsonParseExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -44779,16 +46640,16 @@ class JsonValueExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(JsonValueExpr* other); + void InternalSwap(JsonParseExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.JsonValueExpr"; + return "pg_query.JsonParseExpr"; } protected: - explicit JsonValueExpr(::google::protobuf::Arena* arena); - JsonValueExpr(::google::protobuf::Arena* arena, const JsonValueExpr& from); + explicit JsonParseExpr(::google::protobuf::Arena* arena); + JsonParseExpr(::google::protobuf::Arena* arena, const JsonParseExpr& from); public: static const ClassData _class_data_; @@ -44801,62 +46662,68 @@ class JsonValueExpr final : // accessors ------------------------------------------------------- enum : int { - kRawExprFieldNumber = 1, - kFormattedExprFieldNumber = 2, - kFormatFieldNumber = 3, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kUniqueKeysFieldNumber = 3, + kLocationFieldNumber = 4, }; - // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; - bool has_raw_expr() const; - void clear_raw_expr() ; - const ::pg_query::Node& raw_expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_raw_expr(); - ::pg_query::Node* mutable_raw_expr(); - void set_allocated_raw_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_raw_expr(); + // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::JsonValueExpr& expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_expr(); + ::pg_query::JsonValueExpr* mutable_expr(); + void set_allocated_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_expr(); private: - const ::pg_query::Node& _internal_raw_expr() const; - ::pg_query::Node* _internal_mutable_raw_expr(); + const ::pg_query::JsonValueExpr& _internal_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_expr(); public: - // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; - bool has_formatted_expr() const; - void clear_formatted_expr() ; - const ::pg_query::Node& formatted_expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_formatted_expr(); - ::pg_query::Node* mutable_formatted_expr(); - void set_allocated_formatted_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_formatted_expr(); + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); private: - const ::pg_query::Node& _internal_formatted_expr() const; - ::pg_query::Node* _internal_mutable_formatted_expr(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); public: - // .pg_query.JsonFormat format = 3 [json_name = "format"]; - bool has_format() const; - void clear_format() ; - const ::pg_query::JsonFormat& format() const; - PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); - ::pg_query::JsonFormat* mutable_format(); - void set_allocated_format(::pg_query::JsonFormat* value); - void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); - ::pg_query::JsonFormat* unsafe_arena_release_format(); + // bool unique_keys = 3 [json_name = "unique_keys"]; + void clear_unique_keys() ; + bool unique_keys() const; + void set_unique_keys(bool value); private: - const ::pg_query::JsonFormat& _internal_format() const; - ::pg_query::JsonFormat* _internal_mutable_format(); + bool _internal_unique_keys() const; + void _internal_set_unique_keys(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.JsonValueExpr) + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonParseExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 3, + 2, 4, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -44875,35 +46742,36 @@ class JsonValueExpr final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* raw_expr_; - ::pg_query::Node* formatted_expr_; - ::pg_query::JsonFormat* format_; + ::pg_query::JsonValueExpr* expr_; + ::pg_query::JsonOutput* output_; + bool unique_keys_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class List final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.List) */ { +class JsonScalarExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonScalarExpr) */ { public: - inline List() : List(nullptr) {} - ~List() override; + inline JsonScalarExpr() : JsonScalarExpr(nullptr) {} + ~JsonScalarExpr() override; template - explicit PROTOBUF_CONSTEXPR List(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonScalarExpr(::google::protobuf::internal::ConstantInitialized); - inline List(const List& from) - : List(nullptr, from) {} - List(List&& from) noexcept - : List() { + inline JsonScalarExpr(const JsonScalarExpr& from) + : JsonScalarExpr(nullptr, from) {} + JsonScalarExpr(JsonScalarExpr&& from) noexcept + : JsonScalarExpr() { *this = ::std::move(from); } - inline List& operator=(const List& from) { + inline JsonScalarExpr& operator=(const JsonScalarExpr& from) { CopyFrom(from); return *this; } - inline List& operator=(List&& from) noexcept { + inline JsonScalarExpr& operator=(JsonScalarExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -44935,20 +46803,20 @@ class List final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const List& default_instance() { + static const JsonScalarExpr& default_instance() { return *internal_default_instance(); } - static inline const List* internal_default_instance() { - return reinterpret_cast( - &_List_default_instance_); + static inline const JsonScalarExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonScalarExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 134; - friend void swap(List& a, List& b) { + friend void swap(JsonScalarExpr& a, JsonScalarExpr& b) { a.Swap(&b); } - inline void Swap(List* other) { + inline void Swap(JsonScalarExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -44961,7 +46829,7 @@ class List final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(List* other) { + void UnsafeArenaSwap(JsonScalarExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -44969,14 +46837,14 @@ class List final : // implements Message ---------------------------------------------- - List* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonScalarExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const List& from); + void CopyFrom(const JsonScalarExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const List& from) { - List::MergeImpl(*this, from); + void MergeFrom( const JsonScalarExpr& from) { + JsonScalarExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -44994,16 +46862,16 @@ class List final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(List* other); + void InternalSwap(JsonScalarExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.List"; + return "pg_query.JsonScalarExpr"; } protected: - explicit List(::google::protobuf::Arena* arena); - List(::google::protobuf::Arena* arena, const List& from); + explicit JsonScalarExpr(::google::protobuf::Arena* arena); + JsonScalarExpr(::google::protobuf::Arena* arena, const JsonScalarExpr& from); public: static const ClassData _class_data_; @@ -45016,33 +46884,57 @@ class List final : // accessors ------------------------------------------------------- enum : int { - kItemsFieldNumber = 1, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node items = 1; - int items_size() const; + // .pg_query.Node expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + private: - int _internal_items_size() const; + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); public: - void clear_items() ; - ::pg_query::Node* mutable_items(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - items() const; - // @@protoc_insertion_point(class_scope:pg_query.List) + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonScalarExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 1, 1, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -45059,34 +46951,37 @@ class List final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + ::pg_query::JsonOutput* output_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class LockStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockStmt) */ { +class JsonSerializeExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonSerializeExpr) */ { public: - inline LockStmt() : LockStmt(nullptr) {} - ~LockStmt() override; + inline JsonSerializeExpr() : JsonSerializeExpr(nullptr) {} + ~JsonSerializeExpr() override; template - explicit PROTOBUF_CONSTEXPR LockStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonSerializeExpr(::google::protobuf::internal::ConstantInitialized); - inline LockStmt(const LockStmt& from) - : LockStmt(nullptr, from) {} - LockStmt(LockStmt&& from) noexcept - : LockStmt() { + inline JsonSerializeExpr(const JsonSerializeExpr& from) + : JsonSerializeExpr(nullptr, from) {} + JsonSerializeExpr(JsonSerializeExpr&& from) noexcept + : JsonSerializeExpr() { *this = ::std::move(from); } - inline LockStmt& operator=(const LockStmt& from) { + inline JsonSerializeExpr& operator=(const JsonSerializeExpr& from) { CopyFrom(from); return *this; } - inline LockStmt& operator=(LockStmt&& from) noexcept { + inline JsonSerializeExpr& operator=(JsonSerializeExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -45118,20 +47013,20 @@ class LockStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const LockStmt& default_instance() { + static const JsonSerializeExpr& default_instance() { return *internal_default_instance(); } - static inline const LockStmt* internal_default_instance() { - return reinterpret_cast( - &_LockStmt_default_instance_); + static inline const JsonSerializeExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonSerializeExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 235; + 135; - friend void swap(LockStmt& a, LockStmt& b) { + friend void swap(JsonSerializeExpr& a, JsonSerializeExpr& b) { a.Swap(&b); } - inline void Swap(LockStmt* other) { + inline void Swap(JsonSerializeExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -45144,7 +47039,7 @@ class LockStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(LockStmt* other) { + void UnsafeArenaSwap(JsonSerializeExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -45152,14 +47047,14 @@ class LockStmt final : // implements Message ---------------------------------------------- - LockStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonSerializeExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const LockStmt& from); + void CopyFrom(const JsonSerializeExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const LockStmt& from) { - LockStmt::MergeImpl(*this, from); + void MergeFrom( const JsonSerializeExpr& from) { + JsonSerializeExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -45177,16 +47072,16 @@ class LockStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(LockStmt* other); + void InternalSwap(JsonSerializeExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.LockStmt"; + return "pg_query.JsonSerializeExpr"; } protected: - explicit LockStmt(::google::protobuf::Arena* arena); - LockStmt(::google::protobuf::Arena* arena, const LockStmt& from); + explicit JsonSerializeExpr(::google::protobuf::Arena* arena); + JsonSerializeExpr(::google::protobuf::Arena* arena, const JsonSerializeExpr& from); public: static const ClassData _class_data_; @@ -45199,55 +47094,57 @@ class LockStmt final : // accessors ------------------------------------------------------- enum : int { - kRelationsFieldNumber = 1, - kModeFieldNumber = 2, - kNowaitFieldNumber = 3, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node relations = 1 [json_name = "relations"]; - int relations_size() const; - private: - int _internal_relations_size() const; + // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::JsonValueExpr& expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_expr(); + ::pg_query::JsonValueExpr* mutable_expr(); + void set_allocated_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_expr(); - public: - void clear_relations() ; - ::pg_query::Node* mutable_relations(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_relations(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); + const ::pg_query::JsonValueExpr& _internal_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_expr(); + public: - const ::pg_query::Node& relations(int index) const; - ::pg_query::Node* add_relations(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - relations() const; - // int32 mode = 2 [json_name = "mode"]; - void clear_mode() ; - ::int32_t mode() const; - void set_mode(::int32_t value); + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); private: - ::int32_t _internal_mode() const; - void _internal_set_mode(::int32_t value); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); public: - // bool nowait = 3 [json_name = "nowait"]; - void clear_nowait() ; - bool nowait() const; - void set_nowait(bool value); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - bool _internal_nowait() const; - void _internal_set_nowait(bool value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.LockStmt) + // @@protoc_insertion_point(class_scope:pg_query.JsonSerializeExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -45264,36 +47161,37 @@ class LockStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; - ::int32_t mode_; - bool nowait_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonValueExpr* expr_; + ::pg_query::JsonOutput* output_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class LockingClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockingClause) */ { +class JsonTable final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTable) */ { public: - inline LockingClause() : LockingClause(nullptr) {} - ~LockingClause() override; + inline JsonTable() : JsonTable(nullptr) {} + ~JsonTable() override; template - explicit PROTOBUF_CONSTEXPR LockingClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonTable(::google::protobuf::internal::ConstantInitialized); - inline LockingClause(const LockingClause& from) - : LockingClause(nullptr, from) {} - LockingClause(LockingClause&& from) noexcept - : LockingClause() { + inline JsonTable(const JsonTable& from) + : JsonTable(nullptr, from) {} + JsonTable(JsonTable&& from) noexcept + : JsonTable() { *this = ::std::move(from); } - inline LockingClause& operator=(const LockingClause& from) { + inline JsonTable& operator=(const JsonTable& from) { CopyFrom(from); return *this; } - inline LockingClause& operator=(LockingClause&& from) noexcept { + inline JsonTable& operator=(JsonTable&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -45325,20 +47223,20 @@ class LockingClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const LockingClause& default_instance() { + static const JsonTable& default_instance() { return *internal_default_instance(); } - static inline const LockingClause* internal_default_instance() { - return reinterpret_cast( - &_LockingClause_default_instance_); + static inline const JsonTable* internal_default_instance() { + return reinterpret_cast( + &_JsonTable_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 130; - friend void swap(LockingClause& a, LockingClause& b) { + friend void swap(JsonTable& a, JsonTable& b) { a.Swap(&b); } - inline void Swap(LockingClause* other) { + inline void Swap(JsonTable* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -45351,7 +47249,7 @@ class LockingClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(LockingClause* other) { + void UnsafeArenaSwap(JsonTable* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -45359,14 +47257,14 @@ class LockingClause final : // implements Message ---------------------------------------------- - LockingClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTable* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const LockingClause& from); + void CopyFrom(const JsonTable& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const LockingClause& from) { - LockingClause::MergeImpl(*this, from); + void MergeFrom( const JsonTable& from) { + JsonTable::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -45384,16 +47282,16 @@ class LockingClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(LockingClause* other); + void InternalSwap(JsonTable* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.LockingClause"; + return "pg_query.JsonTable"; } protected: - explicit LockingClause(::google::protobuf::Arena* arena); - LockingClause(::google::protobuf::Arena* arena, const LockingClause& from); + explicit JsonTable(::google::protobuf::Arena* arena); + JsonTable(::google::protobuf::Arena* arena, const JsonTable& from); public: static const ClassData _class_data_; @@ -45406,55 +47304,138 @@ class LockingClause final : // accessors ------------------------------------------------------- enum : int { - kLockedRelsFieldNumber = 1, - kStrengthFieldNumber = 2, - kWaitPolicyFieldNumber = 3, + kPassingFieldNumber = 3, + kColumnsFieldNumber = 4, + kContextItemFieldNumber = 1, + kPathspecFieldNumber = 2, + kOnErrorFieldNumber = 5, + kAliasFieldNumber = 6, + kLateralFieldNumber = 7, + kLocationFieldNumber = 8, }; - // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; - int locked_rels_size() const; + // repeated .pg_query.Node passing = 3 [json_name = "passing"]; + int passing_size() const; private: - int _internal_locked_rels_size() const; + int _internal_passing_size() const; public: - void clear_locked_rels() ; - ::pg_query::Node* mutable_locked_rels(int index); + void clear_passing() ; + ::pg_query::Node* mutable_passing(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_locked_rels(); + mutable_passing(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locked_rels() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locked_rels(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing(); public: - const ::pg_query::Node& locked_rels(int index) const; - ::pg_query::Node* add_locked_rels(); + const ::pg_query::Node& passing(int index) const; + ::pg_query::Node* add_passing(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - locked_rels() const; - // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; - void clear_strength() ; - ::pg_query::LockClauseStrength strength() const; - void set_strength(::pg_query::LockClauseStrength value); + passing() const; + // repeated .pg_query.Node columns = 4 [json_name = "columns"]; + int columns_size() const; + private: + int _internal_columns_size() const; + + public: + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); + public: + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"]; + bool has_context_item() const; + void clear_context_item() ; + const ::pg_query::JsonValueExpr& context_item() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_context_item(); + ::pg_query::JsonValueExpr* mutable_context_item(); + void set_allocated_context_item(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_context_item(); private: - ::pg_query::LockClauseStrength _internal_strength() const; - void _internal_set_strength(::pg_query::LockClauseStrength value); + const ::pg_query::JsonValueExpr& _internal_context_item() const; + ::pg_query::JsonValueExpr* _internal_mutable_context_item(); public: - // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; - void clear_wait_policy() ; - ::pg_query::LockWaitPolicy wait_policy() const; - void set_wait_policy(::pg_query::LockWaitPolicy value); + // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::JsonTablePathSpec& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_pathspec(); + ::pg_query::JsonTablePathSpec* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_pathspec(); private: - ::pg_query::LockWaitPolicy _internal_wait_policy() const; - void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); + const ::pg_query::JsonTablePathSpec& _internal_pathspec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_pathspec(); public: - // @@protoc_insertion_point(class_scope:pg_query.LockingClause) + // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); + + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + + public: + // bool lateral = 7 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); + + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTable) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 3, 8, 6, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -45471,36 +47452,42 @@ class LockingClause final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locked_rels_; - int strength_; - int wait_policy_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::JsonValueExpr* context_item_; + ::pg_query::JsonTablePathSpec* pathspec_; + ::pg_query::JsonBehavior* on_error_; + ::pg_query::Alias* alias_; + bool lateral_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class MergeAction final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeAction) */ { +class JsonTableColumn final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTableColumn) */ { public: - inline MergeAction() : MergeAction(nullptr) {} - ~MergeAction() override; + inline JsonTableColumn() : JsonTableColumn(nullptr) {} + ~JsonTableColumn() override; template - explicit PROTOBUF_CONSTEXPR MergeAction(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonTableColumn(::google::protobuf::internal::ConstantInitialized); - inline MergeAction(const MergeAction& from) - : MergeAction(nullptr, from) {} - MergeAction(MergeAction&& from) noexcept - : MergeAction() { + inline JsonTableColumn(const JsonTableColumn& from) + : JsonTableColumn(nullptr, from) {} + JsonTableColumn(JsonTableColumn&& from) noexcept + : JsonTableColumn() { *this = ::std::move(from); } - inline MergeAction& operator=(const MergeAction& from) { + inline JsonTableColumn& operator=(const JsonTableColumn& from) { CopyFrom(from); return *this; } - inline MergeAction& operator=(MergeAction&& from) noexcept { + inline JsonTableColumn& operator=(JsonTableColumn&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -45532,20 +47519,20 @@ class MergeAction final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeAction& default_instance() { + static const JsonTableColumn& default_instance() { return *internal_default_instance(); } - static inline const MergeAction* internal_default_instance() { - return reinterpret_cast( - &_MergeAction_default_instance_); + static inline const JsonTableColumn* internal_default_instance() { + return reinterpret_cast( + &_JsonTableColumn_default_instance_); } static constexpr int kIndexInFileMessages = - 116; + 131; - friend void swap(MergeAction& a, MergeAction& b) { + friend void swap(JsonTableColumn& a, JsonTableColumn& b) { a.Swap(&b); } - inline void Swap(MergeAction* other) { + inline void Swap(JsonTableColumn* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -45558,7 +47545,7 @@ class MergeAction final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeAction* other) { + void UnsafeArenaSwap(JsonTableColumn* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -45566,14 +47553,14 @@ class MergeAction final : // implements Message ---------------------------------------------- - MergeAction* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTableColumn* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const MergeAction& from); + void CopyFrom(const JsonTableColumn& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const MergeAction& from) { - MergeAction::MergeImpl(*this, from); + void MergeFrom( const JsonTableColumn& from) { + JsonTableColumn::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -45591,16 +47578,16 @@ class MergeAction final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(MergeAction* other); + void InternalSwap(JsonTableColumn* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.MergeAction"; + return "pg_query.JsonTableColumn"; } protected: - explicit MergeAction(::google::protobuf::Arena* arena); - MergeAction(::google::protobuf::Arena* arena, const MergeAction& from); + explicit JsonTableColumn(::google::protobuf::Arena* arena); + JsonTableColumn(::google::protobuf::Arena* arena, const JsonTableColumn& from); public: static const ClassData _class_data_; @@ -45613,102 +47600,175 @@ class MergeAction final : // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 5, - kUpdateColnosFieldNumber = 6, - kQualFieldNumber = 4, - kMatchedFieldNumber = 1, - kCommandTypeFieldNumber = 2, - kOverrideFieldNumber = 3, + kColumnsFieldNumber = 8, + kNameFieldNumber = 2, + kTypeNameFieldNumber = 3, + kPathspecFieldNumber = 4, + kFormatFieldNumber = 5, + kOnEmptyFieldNumber = 9, + kOnErrorFieldNumber = 10, + kColtypeFieldNumber = 1, + kWrapperFieldNumber = 6, + kQuotesFieldNumber = 7, + kLocationFieldNumber = 11, }; - // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; - int target_list_size() const; + // repeated .pg_query.Node columns = 8 [json_name = "columns"]; + int columns_size() const; private: - int _internal_target_list_size() const; + int _internal_columns_size() const; public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + mutable_columns(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; - int update_colnos_size() const; + columns() const; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - int _internal_update_colnos_size() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - void clear_update_colnos() ; - ::pg_query::Node* mutable_update_colnos(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_update_colnos(); + // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_update_colnos() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_update_colnos(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: - const ::pg_query::Node& update_colnos(int index) const; - ::pg_query::Node* add_update_colnos(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - update_colnos() const; - // .pg_query.Node qual = 4 [json_name = "qual"]; - bool has_qual() const; - void clear_qual() ; - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* value); - void unsafe_arena_set_allocated_qual(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_qual(); + // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::JsonTablePathSpec& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_pathspec(); + ::pg_query::JsonTablePathSpec* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_pathspec(); private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); + const ::pg_query::JsonTablePathSpec& _internal_pathspec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_pathspec(); + + public: + // .pg_query.JsonFormat format = 5 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); + + private: + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); public: - // bool matched = 1 [json_name = "matched"]; - void clear_matched() ; - bool matched() const; - void set_matched(bool value); + // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); private: - bool _internal_matched() const; - void _internal_set_matched(bool value); + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); public: - // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; - void clear_command_type() ; - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); + // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); public: - // .pg_query.OverridingKind override = 3 [json_name = "override"]; - void clear_override() ; - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); + // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"]; + void clear_coltype() ; + ::pg_query::JsonTableColumnType coltype() const; + void set_coltype(::pg_query::JsonTableColumnType value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); + ::pg_query::JsonTableColumnType _internal_coltype() const; + void _internal_set_coltype(::pg_query::JsonTableColumnType value); public: - // @@protoc_insertion_point(class_scope:pg_query.MergeAction) + // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"]; + void clear_quotes() ; + ::pg_query::JsonQuotes quotes() const; + void set_quotes(::pg_query::JsonQuotes value); + + private: + ::pg_query::JsonQuotes _internal_quotes() const; + void _internal_set_quotes(::pg_query::JsonQuotes value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTableColumn) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 3, - 0, 2> + 4, 11, 6, + 45, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -45726,38 +47786,43 @@ class MergeAction final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > update_colnos_; - ::pg_query::Node* qual_; - bool matched_; - int command_type_; - int override_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::TypeName* type_name_; + ::pg_query::JsonTablePathSpec* pathspec_; + ::pg_query::JsonFormat* format_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int coltype_; + int wrapper_; + int quotes_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class MergeStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeStmt) */ { +class JsonTablePathScan final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePathScan) */ { public: - inline MergeStmt() : MergeStmt(nullptr) {} - ~MergeStmt() override; + inline JsonTablePathScan() : JsonTablePathScan(nullptr) {} + ~JsonTablePathScan() override; template - explicit PROTOBUF_CONSTEXPR MergeStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonTablePathScan(::google::protobuf::internal::ConstantInitialized); - inline MergeStmt(const MergeStmt& from) - : MergeStmt(nullptr, from) {} - MergeStmt(MergeStmt&& from) noexcept - : MergeStmt() { + inline JsonTablePathScan(const JsonTablePathScan& from) + : JsonTablePathScan(nullptr, from) {} + JsonTablePathScan(JsonTablePathScan&& from) noexcept + : JsonTablePathScan() { *this = ::std::move(from); } - inline MergeStmt& operator=(const MergeStmt& from) { + inline JsonTablePathScan& operator=(const JsonTablePathScan& from) { CopyFrom(from); return *this; } - inline MergeStmt& operator=(MergeStmt&& from) noexcept { + inline JsonTablePathScan& operator=(JsonTablePathScan&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -45789,20 +47854,20 @@ class MergeStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeStmt& default_instance() { + static const JsonTablePathScan& default_instance() { return *internal_default_instance(); } - static inline const MergeStmt* internal_default_instance() { - return reinterpret_cast( - &_MergeStmt_default_instance_); + static inline const JsonTablePathScan* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePathScan_default_instance_); } static constexpr int kIndexInFileMessages = - 130; + 59; - friend void swap(MergeStmt& a, MergeStmt& b) { + friend void swap(JsonTablePathScan& a, JsonTablePathScan& b) { a.Swap(&b); } - inline void Swap(MergeStmt* other) { + inline void Swap(JsonTablePathScan* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -45815,7 +47880,7 @@ class MergeStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeStmt* other) { + void UnsafeArenaSwap(JsonTablePathScan* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -45823,14 +47888,14 @@ class MergeStmt final : // implements Message ---------------------------------------------- - MergeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTablePathScan* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const MergeStmt& from); + void CopyFrom(const JsonTablePathScan& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const MergeStmt& from) { - MergeStmt::MergeImpl(*this, from); + void MergeFrom( const JsonTablePathScan& from) { + JsonTablePathScan::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -45848,16 +47913,16 @@ class MergeStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(MergeStmt* other); + void InternalSwap(JsonTablePathScan* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.MergeStmt"; + return "pg_query.JsonTablePathScan"; } protected: - explicit MergeStmt(::google::protobuf::Arena* arena); - MergeStmt(::google::protobuf::Arena* arena, const MergeStmt& from); + explicit JsonTablePathScan(::google::protobuf::Arena* arena); + JsonTablePathScan(::google::protobuf::Arena* arena, const JsonTablePathScan& from); public: static const ClassData _class_data_; @@ -45870,97 +47935,95 @@ class MergeStmt final : // accessors ------------------------------------------------------- enum : int { - kMergeWhenClausesFieldNumber = 4, - kRelationFieldNumber = 1, - kSourceRelationFieldNumber = 2, - kJoinConditionFieldNumber = 3, - kWithClauseFieldNumber = 5, + kPlanFieldNumber = 1, + kPathFieldNumber = 2, + kChildFieldNumber = 4, + kErrorOnErrorFieldNumber = 3, + kColMinFieldNumber = 5, + kColMaxFieldNumber = 6, }; - // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; - int merge_when_clauses_size() const; + // .pg_query.Node plan = 1 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); + private: - int _internal_merge_when_clauses_size() const; + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); public: - void clear_merge_when_clauses() ; - ::pg_query::Node* mutable_merge_when_clauses(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_merge_when_clauses(); + // .pg_query.JsonTablePath path = 2 [json_name = "path"]; + bool has_path() const; + void clear_path() ; + const ::pg_query::JsonTablePath& path() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePath* release_path(); + ::pg_query::JsonTablePath* mutable_path(); + void set_allocated_path(::pg_query::JsonTablePath* value); + void unsafe_arena_set_allocated_path(::pg_query::JsonTablePath* value); + ::pg_query::JsonTablePath* unsafe_arena_release_path(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_when_clauses() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_when_clauses(); + const ::pg_query::JsonTablePath& _internal_path() const; + ::pg_query::JsonTablePath* _internal_mutable_path(); + public: - const ::pg_query::Node& merge_when_clauses(int index) const; - ::pg_query::Node* add_merge_when_clauses(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - merge_when_clauses() const; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.Node child = 4 [json_name = "child"]; + bool has_child() const; + void clear_child() ; + const ::pg_query::Node& child() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_child(); + ::pg_query::Node* mutable_child(); + void set_allocated_child(::pg_query::Node* value); + void unsafe_arena_set_allocated_child(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_child(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::pg_query::Node& _internal_child() const; + ::pg_query::Node* _internal_mutable_child(); public: - // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; - bool has_source_relation() const; - void clear_source_relation() ; - const ::pg_query::Node& source_relation() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_source_relation(); - ::pg_query::Node* mutable_source_relation(); - void set_allocated_source_relation(::pg_query::Node* value); - void unsafe_arena_set_allocated_source_relation(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_source_relation(); + // bool error_on_error = 3 [json_name = "errorOnError"]; + void clear_error_on_error() ; + bool error_on_error() const; + void set_error_on_error(bool value); private: - const ::pg_query::Node& _internal_source_relation() const; - ::pg_query::Node* _internal_mutable_source_relation(); + bool _internal_error_on_error() const; + void _internal_set_error_on_error(bool value); public: - // .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; - bool has_join_condition() const; - void clear_join_condition() ; - const ::pg_query::Node& join_condition() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_join_condition(); - ::pg_query::Node* mutable_join_condition(); - void set_allocated_join_condition(::pg_query::Node* value); - void unsafe_arena_set_allocated_join_condition(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_join_condition(); + // int32 col_min = 5 [json_name = "colMin"]; + void clear_col_min() ; + ::int32_t col_min() const; + void set_col_min(::int32_t value); private: - const ::pg_query::Node& _internal_join_condition() const; - ::pg_query::Node* _internal_mutable_join_condition(); + ::int32_t _internal_col_min() const; + void _internal_set_col_min(::int32_t value); public: - // .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; - bool has_with_clause() const; - void clear_with_clause() ; - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* value); - void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + // int32 col_max = 6 [json_name = "colMax"]; + void clear_col_max() ; + ::int32_t col_max() const; + void set_col_max(::int32_t value); private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + ::int32_t _internal_col_max() const; + void _internal_set_col_max(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.MergeStmt) + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePathScan) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 5, + 3, 6, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -45979,37 +48042,38 @@ class MergeStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_when_clauses_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* source_relation_; - ::pg_query::Node* join_condition_; - ::pg_query::WithClause* with_clause_; + ::pg_query::Node* plan_; + ::pg_query::JsonTablePath* path_; + ::pg_query::Node* child_; + bool error_on_error_; + ::int32_t col_min_; + ::int32_t col_max_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class MergeWhenClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeWhenClause) */ { +class JsonTablePathSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePathSpec) */ { public: - inline MergeWhenClause() : MergeWhenClause(nullptr) {} - ~MergeWhenClause() override; + inline JsonTablePathSpec() : JsonTablePathSpec(nullptr) {} + ~JsonTablePathSpec() override; template - explicit PROTOBUF_CONSTEXPR MergeWhenClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonTablePathSpec(::google::protobuf::internal::ConstantInitialized); - inline MergeWhenClause(const MergeWhenClause& from) - : MergeWhenClause(nullptr, from) {} - MergeWhenClause(MergeWhenClause&& from) noexcept - : MergeWhenClause() { + inline JsonTablePathSpec(const JsonTablePathSpec& from) + : JsonTablePathSpec(nullptr, from) {} + JsonTablePathSpec(JsonTablePathSpec&& from) noexcept + : JsonTablePathSpec() { *this = ::std::move(from); } - inline MergeWhenClause& operator=(const MergeWhenClause& from) { + inline JsonTablePathSpec& operator=(const JsonTablePathSpec& from) { CopyFrom(from); return *this; } - inline MergeWhenClause& operator=(MergeWhenClause&& from) noexcept { + inline JsonTablePathSpec& operator=(JsonTablePathSpec&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -46041,20 +48105,20 @@ class MergeWhenClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeWhenClause& default_instance() { + static const JsonTablePathSpec& default_instance() { return *internal_default_instance(); } - static inline const MergeWhenClause* internal_default_instance() { - return reinterpret_cast( - &_MergeWhenClause_default_instance_); + static inline const JsonTablePathSpec* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePathSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 115; + 129; - friend void swap(MergeWhenClause& a, MergeWhenClause& b) { + friend void swap(JsonTablePathSpec& a, JsonTablePathSpec& b) { a.Swap(&b); } - inline void Swap(MergeWhenClause* other) { + inline void Swap(JsonTablePathSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -46067,7 +48131,7 @@ class MergeWhenClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeWhenClause* other) { + void UnsafeArenaSwap(JsonTablePathSpec* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -46075,14 +48139,14 @@ class MergeWhenClause final : // implements Message ---------------------------------------------- - MergeWhenClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTablePathSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const MergeWhenClause& from); + void CopyFrom(const JsonTablePathSpec& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const MergeWhenClause& from) { - MergeWhenClause::MergeImpl(*this, from); + void MergeFrom( const JsonTablePathSpec& from) { + JsonTablePathSpec::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -46100,16 +48164,16 @@ class MergeWhenClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(MergeWhenClause* other); + void InternalSwap(JsonTablePathSpec* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.MergeWhenClause"; + return "pg_query.JsonTablePathSpec"; } protected: - explicit MergeWhenClause(::google::protobuf::Arena* arena); - MergeWhenClause(::google::protobuf::Arena* arena, const MergeWhenClause& from); + explicit JsonTablePathSpec(::google::protobuf::Arena* arena); + JsonTablePathSpec(::google::protobuf::Arena* arena, const JsonTablePathSpec& from); public: static const ClassData _class_data_; @@ -46122,102 +48186,70 @@ class MergeWhenClause final : // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 5, - kValuesFieldNumber = 6, - kConditionFieldNumber = 4, - kMatchedFieldNumber = 1, - kCommandTypeFieldNumber = 2, - kOverrideFieldNumber = 3, + kNameFieldNumber = 2, + kStringFieldNumber = 1, + kNameLocationFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - - public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // repeated .pg_query.Node values = 6 [json_name = "values"]; - int values_size() const; - private: - int _internal_values_size() const; - - public: - void clear_values() ; - ::pg_query::Node* mutable_values(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_values(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values(); - public: - const ::pg_query::Node& values(int index) const; - ::pg_query::Node* add_values(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - values() const; - // .pg_query.Node condition = 4 [json_name = "condition"]; - bool has_condition() const; - void clear_condition() ; - const ::pg_query::Node& condition() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_condition(); - ::pg_query::Node* mutable_condition(); - void set_allocated_condition(::pg_query::Node* value); - void unsafe_arena_set_allocated_condition(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_condition(); + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const ::pg_query::Node& _internal_condition() const; - ::pg_query::Node* _internal_mutable_condition(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // bool matched = 1 [json_name = "matched"]; - void clear_matched() ; - bool matched() const; - void set_matched(bool value); + // .pg_query.Node string = 1 [json_name = "string"]; + bool has_string() const; + void clear_string() ; + const ::pg_query::Node& string() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_string(); + ::pg_query::Node* mutable_string(); + void set_allocated_string(::pg_query::Node* value); + void unsafe_arena_set_allocated_string(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_string(); private: - bool _internal_matched() const; - void _internal_set_matched(bool value); + const ::pg_query::Node& _internal_string() const; + ::pg_query::Node* _internal_mutable_string(); public: - // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; - void clear_command_type() ; - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); + // int32 name_location = 3 [json_name = "name_location"]; + void clear_name_location() ; + ::int32_t name_location() const; + void set_name_location(::int32_t value); private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); + ::int32_t _internal_name_location() const; + void _internal_set_name_location(::int32_t value); public: - // .pg_query.OverridingKind override = 3 [json_name = "override"]; - void clear_override() ; - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.MergeWhenClause) + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePathSpec) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 3, - 0, 2> + 2, 4, 1, + 39, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -46235,38 +48267,36 @@ class MergeWhenClause final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_; - ::pg_query::Node* condition_; - bool matched_; - int command_type_; - int override_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* string_; + ::int32_t name_location_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class MinMaxExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MinMaxExpr) */ { +class JsonTableSiblingJoin final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTableSiblingJoin) */ { public: - inline MinMaxExpr() : MinMaxExpr(nullptr) {} - ~MinMaxExpr() override; + inline JsonTableSiblingJoin() : JsonTableSiblingJoin(nullptr) {} + ~JsonTableSiblingJoin() override; template - explicit PROTOBUF_CONSTEXPR MinMaxExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonTableSiblingJoin(::google::protobuf::internal::ConstantInitialized); - inline MinMaxExpr(const MinMaxExpr& from) - : MinMaxExpr(nullptr, from) {} - MinMaxExpr(MinMaxExpr&& from) noexcept - : MinMaxExpr() { + inline JsonTableSiblingJoin(const JsonTableSiblingJoin& from) + : JsonTableSiblingJoin(nullptr, from) {} + JsonTableSiblingJoin(JsonTableSiblingJoin&& from) noexcept + : JsonTableSiblingJoin() { *this = ::std::move(from); } - inline MinMaxExpr& operator=(const MinMaxExpr& from) { + inline JsonTableSiblingJoin& operator=(const JsonTableSiblingJoin& from) { CopyFrom(from); return *this; } - inline MinMaxExpr& operator=(MinMaxExpr&& from) noexcept { + inline JsonTableSiblingJoin& operator=(JsonTableSiblingJoin&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -46298,20 +48328,20 @@ class MinMaxExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MinMaxExpr& default_instance() { + static const JsonTableSiblingJoin& default_instance() { return *internal_default_instance(); } - static inline const MinMaxExpr* internal_default_instance() { - return reinterpret_cast( - &_MinMaxExpr_default_instance_); + static inline const JsonTableSiblingJoin* internal_default_instance() { + return reinterpret_cast( + &_JsonTableSiblingJoin_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 60; - friend void swap(MinMaxExpr& a, MinMaxExpr& b) { + friend void swap(JsonTableSiblingJoin& a, JsonTableSiblingJoin& b) { a.Swap(&b); } - inline void Swap(MinMaxExpr* other) { + inline void Swap(JsonTableSiblingJoin* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -46324,7 +48354,7 @@ class MinMaxExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MinMaxExpr* other) { + void UnsafeArenaSwap(JsonTableSiblingJoin* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -46332,14 +48362,14 @@ class MinMaxExpr final : // implements Message ---------------------------------------------- - MinMaxExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTableSiblingJoin* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const MinMaxExpr& from); + void CopyFrom(const JsonTableSiblingJoin& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const MinMaxExpr& from) { - MinMaxExpr::MergeImpl(*this, from); + void MergeFrom( const JsonTableSiblingJoin& from) { + JsonTableSiblingJoin::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -46357,16 +48387,16 @@ class MinMaxExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(MinMaxExpr* other); + void InternalSwap(JsonTableSiblingJoin* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.MinMaxExpr"; + return "pg_query.JsonTableSiblingJoin"; } protected: - explicit MinMaxExpr(::google::protobuf::Arena* arena); - MinMaxExpr(::google::protobuf::Arena* arena, const MinMaxExpr& from); + explicit JsonTableSiblingJoin(::google::protobuf::Arena* arena); + JsonTableSiblingJoin(::google::protobuf::Arena* arena, const JsonTableSiblingJoin& from); public: static const ClassData _class_data_; @@ -46379,104 +48409,62 @@ class MinMaxExpr final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 6, - kXprFieldNumber = 1, - kMinmaxtypeFieldNumber = 2, - kMinmaxcollidFieldNumber = 3, - kInputcollidFieldNumber = 4, - kOpFieldNumber = 5, - kLocationFieldNumber = 7, + kPlanFieldNumber = 1, + kLplanFieldNumber = 2, + kRplanFieldNumber = 3, }; - // repeated .pg_query.Node args = 6 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - - public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // uint32 minmaxtype = 2 [json_name = "minmaxtype"]; - void clear_minmaxtype() ; - ::uint32_t minmaxtype() const; - void set_minmaxtype(::uint32_t value); - - private: - ::uint32_t _internal_minmaxtype() const; - void _internal_set_minmaxtype(::uint32_t value); - - public: - // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; - void clear_minmaxcollid() ; - ::uint32_t minmaxcollid() const; - void set_minmaxcollid(::uint32_t value); + // .pg_query.Node plan = 1 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); private: - ::uint32_t _internal_minmaxcollid() const; - void _internal_set_minmaxcollid(::uint32_t value); - - public: - // uint32 inputcollid = 4 [json_name = "inputcollid"]; - void clear_inputcollid() ; - ::uint32_t inputcollid() const; - void set_inputcollid(::uint32_t value); - - private: - ::uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(::uint32_t value); + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); public: - // .pg_query.MinMaxOp op = 5 [json_name = "op"]; - void clear_op() ; - ::pg_query::MinMaxOp op() const; - void set_op(::pg_query::MinMaxOp value); + // .pg_query.Node lplan = 2 [json_name = "lplan"]; + bool has_lplan() const; + void clear_lplan() ; + const ::pg_query::Node& lplan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_lplan(); + ::pg_query::Node* mutable_lplan(); + void set_allocated_lplan(::pg_query::Node* value); + void unsafe_arena_set_allocated_lplan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_lplan(); private: - ::pg_query::MinMaxOp _internal_op() const; - void _internal_set_op(::pg_query::MinMaxOp value); + const ::pg_query::Node& _internal_lplan() const; + ::pg_query::Node* _internal_mutable_lplan(); public: - // int32 location = 7 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.Node rplan = 3 [json_name = "rplan"]; + bool has_rplan() const; + void clear_rplan() ; + const ::pg_query::Node& rplan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rplan(); + ::pg_query::Node* mutable_rplan(); + void set_allocated_rplan(::pg_query::Node* value); + void unsafe_arena_set_allocated_rplan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rplan(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::Node& _internal_rplan() const; + ::pg_query::Node* _internal_mutable_rplan(); public: - // @@protoc_insertion_point(class_scope:pg_query.MinMaxExpr) + // @@protoc_insertion_point(class_scope:pg_query.JsonTableSiblingJoin) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 2, + 2, 3, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -46495,39 +48483,35 @@ class MinMaxExpr final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::uint32_t minmaxtype_; - ::uint32_t minmaxcollid_; - ::uint32_t inputcollid_; - int op_; - ::int32_t location_; + ::pg_query::Node* plan_; + ::pg_query::Node* lplan_; + ::pg_query::Node* rplan_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class MultiAssignRef final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MultiAssignRef) */ { +class JsonValueExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonValueExpr) */ { public: - inline MultiAssignRef() : MultiAssignRef(nullptr) {} - ~MultiAssignRef() override; + inline JsonValueExpr() : JsonValueExpr(nullptr) {} + ~JsonValueExpr() override; template - explicit PROTOBUF_CONSTEXPR MultiAssignRef(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR JsonValueExpr(::google::protobuf::internal::ConstantInitialized); - inline MultiAssignRef(const MultiAssignRef& from) - : MultiAssignRef(nullptr, from) {} - MultiAssignRef(MultiAssignRef&& from) noexcept - : MultiAssignRef() { + inline JsonValueExpr(const JsonValueExpr& from) + : JsonValueExpr(nullptr, from) {} + JsonValueExpr(JsonValueExpr&& from) noexcept + : JsonValueExpr() { *this = ::std::move(from); } - inline MultiAssignRef& operator=(const MultiAssignRef& from) { + inline JsonValueExpr& operator=(const JsonValueExpr& from) { CopyFrom(from); return *this; } - inline MultiAssignRef& operator=(MultiAssignRef&& from) noexcept { + inline JsonValueExpr& operator=(JsonValueExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -46559,20 +48543,20 @@ class MultiAssignRef final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MultiAssignRef& default_instance() { + static const JsonValueExpr& default_instance() { return *internal_default_instance(); } - static inline const MultiAssignRef* internal_default_instance() { - return reinterpret_cast( - &_MultiAssignRef_default_instance_); + static inline const JsonValueExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonValueExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 81; + 53; - friend void swap(MultiAssignRef& a, MultiAssignRef& b) { + friend void swap(JsonValueExpr& a, JsonValueExpr& b) { a.Swap(&b); } - inline void Swap(MultiAssignRef* other) { + inline void Swap(JsonValueExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -46585,7 +48569,7 @@ class MultiAssignRef final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MultiAssignRef* other) { + void UnsafeArenaSwap(JsonValueExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -46593,14 +48577,14 @@ class MultiAssignRef final : // implements Message ---------------------------------------------- - MultiAssignRef* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const MultiAssignRef& from); + void CopyFrom(const JsonValueExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const MultiAssignRef& from) { - MultiAssignRef::MergeImpl(*this, from); + void MergeFrom( const JsonValueExpr& from) { + JsonValueExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -46618,16 +48602,16 @@ class MultiAssignRef final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(MultiAssignRef* other); + void InternalSwap(JsonValueExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.MultiAssignRef"; + return "pg_query.JsonValueExpr"; } protected: - explicit MultiAssignRef(::google::protobuf::Arena* arena); - MultiAssignRef(::google::protobuf::Arena* arena, const MultiAssignRef& from); + explicit JsonValueExpr(::google::protobuf::Arena* arena); + JsonValueExpr(::google::protobuf::Arena* arena, const JsonValueExpr& from); public: static const ClassData _class_data_; @@ -46640,52 +48624,62 @@ class MultiAssignRef final : // accessors ------------------------------------------------------- enum : int { - kSourceFieldNumber = 1, - kColnoFieldNumber = 2, - kNcolumnsFieldNumber = 3, + kRawExprFieldNumber = 1, + kFormattedExprFieldNumber = 2, + kFormatFieldNumber = 3, }; - // .pg_query.Node source = 1 [json_name = "source"]; - bool has_source() const; - void clear_source() ; - const ::pg_query::Node& source() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_source(); - ::pg_query::Node* mutable_source(); - void set_allocated_source(::pg_query::Node* value); - void unsafe_arena_set_allocated_source(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_source(); + // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; + bool has_raw_expr() const; + void clear_raw_expr() ; + const ::pg_query::Node& raw_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_raw_expr(); + ::pg_query::Node* mutable_raw_expr(); + void set_allocated_raw_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_raw_expr(); private: - const ::pg_query::Node& _internal_source() const; - ::pg_query::Node* _internal_mutable_source(); + const ::pg_query::Node& _internal_raw_expr() const; + ::pg_query::Node* _internal_mutable_raw_expr(); public: - // int32 colno = 2 [json_name = "colno"]; - void clear_colno() ; - ::int32_t colno() const; - void set_colno(::int32_t value); + // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; + bool has_formatted_expr() const; + void clear_formatted_expr() ; + const ::pg_query::Node& formatted_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_formatted_expr(); + ::pg_query::Node* mutable_formatted_expr(); + void set_allocated_formatted_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_formatted_expr(); private: - ::int32_t _internal_colno() const; - void _internal_set_colno(::int32_t value); + const ::pg_query::Node& _internal_formatted_expr() const; + ::pg_query::Node* _internal_mutable_formatted_expr(); public: - // int32 ncolumns = 3 [json_name = "ncolumns"]; - void clear_ncolumns() ; - ::int32_t ncolumns() const; - void set_ncolumns(::int32_t value); + // .pg_query.JsonFormat format = 3 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); private: - ::int32_t _internal_ncolumns() const; - void _internal_set_ncolumns(::int32_t value); + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); public: - // @@protoc_insertion_point(class_scope:pg_query.MultiAssignRef) + // @@protoc_insertion_point(class_scope:pg_query.JsonValueExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 2, 3, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -46704,35 +48698,35 @@ class MultiAssignRef final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* source_; - ::int32_t colno_; - ::int32_t ncolumns_; + ::pg_query::Node* raw_expr_; + ::pg_query::Node* formatted_expr_; + ::pg_query::JsonFormat* format_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class NamedArgExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NamedArgExpr) */ { +class List final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.List) */ { public: - inline NamedArgExpr() : NamedArgExpr(nullptr) {} - ~NamedArgExpr() override; + inline List() : List(nullptr) {} + ~List() override; template - explicit PROTOBUF_CONSTEXPR NamedArgExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR List(::google::protobuf::internal::ConstantInitialized); - inline NamedArgExpr(const NamedArgExpr& from) - : NamedArgExpr(nullptr, from) {} - NamedArgExpr(NamedArgExpr&& from) noexcept - : NamedArgExpr() { + inline List(const List& from) + : List(nullptr, from) {} + List(List&& from) noexcept + : List() { *this = ::std::move(from); } - inline NamedArgExpr& operator=(const NamedArgExpr& from) { + inline List& operator=(const List& from) { CopyFrom(from); return *this; } - inline NamedArgExpr& operator=(NamedArgExpr&& from) noexcept { + inline List& operator=(List&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -46764,20 +48758,20 @@ class NamedArgExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NamedArgExpr& default_instance() { + static const List& default_instance() { return *internal_default_instance(); } - static inline const NamedArgExpr* internal_default_instance() { - return reinterpret_cast( - &_NamedArgExpr_default_instance_); + static inline const List* internal_default_instance() { + return reinterpret_cast( + &_List_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 8; - friend void swap(NamedArgExpr& a, NamedArgExpr& b) { + friend void swap(List& a, List& b) { a.Swap(&b); } - inline void Swap(NamedArgExpr* other) { + inline void Swap(List* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -46790,7 +48784,7 @@ class NamedArgExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NamedArgExpr* other) { + void UnsafeArenaSwap(List* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -46798,14 +48792,14 @@ class NamedArgExpr final : // implements Message ---------------------------------------------- - NamedArgExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + List* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const NamedArgExpr& from); + void CopyFrom(const List& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const NamedArgExpr& from) { - NamedArgExpr::MergeImpl(*this, from); + void MergeFrom( const List& from) { + List::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -46823,16 +48817,16 @@ class NamedArgExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(NamedArgExpr* other); + void InternalSwap(List* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.NamedArgExpr"; + return "pg_query.List"; } protected: - explicit NamedArgExpr(::google::protobuf::Arena* arena); - NamedArgExpr(::google::protobuf::Arena* arena, const NamedArgExpr& from); + explicit List(::google::protobuf::Arena* arena); + List(::google::protobuf::Arena* arena, const List& from); public: static const ClassData _class_data_; @@ -46845,86 +48839,34 @@ class NamedArgExpr final : // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 3, - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kArgnumberFieldNumber = 4, - kLocationFieldNumber = 5, + kItemsFieldNumber = 1, }; - // string name = 3 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); - + // repeated .pg_query.Node items = 1; + int items_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + int _internal_items_size() const; public: - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - void clear_arg() ; - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* value); - void unsafe_arena_set_allocated_arg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_arg(); - - private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - - public: - // int32 argnumber = 4 [json_name = "argnumber"]; - void clear_argnumber() ; - ::int32_t argnumber() const; - void set_argnumber(::int32_t value); - - private: - ::int32_t _internal_argnumber() const; - void _internal_set_argnumber(::int32_t value); - - public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - - private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); - - public: - // @@protoc_insertion_point(class_scope:pg_query.NamedArgExpr) + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // @@protoc_insertion_point(class_scope:pg_query.List) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, - 34, 2> + 0, 1, 1, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -46940,39 +48882,34 @@ class NamedArgExpr final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - ::int32_t argnumber_; - ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class NextValueExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NextValueExpr) */ { +class LockStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockStmt) */ { public: - inline NextValueExpr() : NextValueExpr(nullptr) {} - ~NextValueExpr() override; + inline LockStmt() : LockStmt(nullptr) {} + ~LockStmt() override; template - explicit PROTOBUF_CONSTEXPR NextValueExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR LockStmt(::google::protobuf::internal::ConstantInitialized); - inline NextValueExpr(const NextValueExpr& from) - : NextValueExpr(nullptr, from) {} - NextValueExpr(NextValueExpr&& from) noexcept - : NextValueExpr() { + inline LockStmt(const LockStmt& from) + : LockStmt(nullptr, from) {} + LockStmt(LockStmt&& from) noexcept + : LockStmt() { *this = ::std::move(from); } - inline NextValueExpr& operator=(const NextValueExpr& from) { + inline LockStmt& operator=(const LockStmt& from) { CopyFrom(from); return *this; } - inline NextValueExpr& operator=(NextValueExpr&& from) noexcept { + inline LockStmt& operator=(LockStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -47004,20 +48941,20 @@ class NextValueExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NextValueExpr& default_instance() { + static const LockStmt& default_instance() { return *internal_default_instance(); } - static inline const NextValueExpr* internal_default_instance() { - return reinterpret_cast( - &_NextValueExpr_default_instance_); + static inline const LockStmt* internal_default_instance() { + return reinterpret_cast( + &_LockStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 60; + 251; - friend void swap(NextValueExpr& a, NextValueExpr& b) { + friend void swap(LockStmt& a, LockStmt& b) { a.Swap(&b); } - inline void Swap(NextValueExpr* other) { + inline void Swap(LockStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -47030,7 +48967,7 @@ class NextValueExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NextValueExpr* other) { + void UnsafeArenaSwap(LockStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -47038,14 +48975,14 @@ class NextValueExpr final : // implements Message ---------------------------------------------- - NextValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + LockStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const NextValueExpr& from); + void CopyFrom(const LockStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const NextValueExpr& from) { - NextValueExpr::MergeImpl(*this, from); + void MergeFrom( const LockStmt& from) { + LockStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -47063,16 +49000,16 @@ class NextValueExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(NextValueExpr* other); + void InternalSwap(LockStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.NextValueExpr"; + return "pg_query.LockStmt"; } protected: - explicit NextValueExpr(::google::protobuf::Arena* arena); - NextValueExpr(::google::protobuf::Arena* arena, const NextValueExpr& from); + explicit LockStmt(::google::protobuf::Arena* arena); + LockStmt(::google::protobuf::Arena* arena, const LockStmt& from); public: static const ClassData _class_data_; @@ -47085,46 +49022,49 @@ class NextValueExpr final : // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kSeqidFieldNumber = 2, - kTypeIdFieldNumber = 3, + kRelationsFieldNumber = 1, + kModeFieldNumber = 2, + kNowaitFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - + // repeated .pg_query.Node relations = 1 [json_name = "relations"]; + int relations_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + int _internal_relations_size() const; public: - // uint32 seqid = 2 [json_name = "seqid"]; - void clear_seqid() ; - ::uint32_t seqid() const; - void set_seqid(::uint32_t value); + void clear_relations() ; + ::pg_query::Node* mutable_relations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_relations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); + public: + const ::pg_query::Node& relations(int index) const; + ::pg_query::Node* add_relations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + relations() const; + // int32 mode = 2 [json_name = "mode"]; + void clear_mode() ; + ::int32_t mode() const; + void set_mode(::int32_t value); private: - ::uint32_t _internal_seqid() const; - void _internal_set_seqid(::uint32_t value); + ::int32_t _internal_mode() const; + void _internal_set_mode(::int32_t value); public: - // uint32 type_id = 3 [json_name = "typeId"]; - void clear_type_id() ; - ::uint32_t type_id() const; - void set_type_id(::uint32_t value); + // bool nowait = 3 [json_name = "nowait"]; + void clear_nowait() ; + bool nowait() const; + void set_nowait(bool value); private: - ::uint32_t _internal_type_id() const; - void _internal_set_type_id(::uint32_t value); + bool _internal_nowait() const; + void _internal_set_nowait(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.NextValueExpr) + // @@protoc_insertion_point(class_scope:pg_query.LockStmt) private: class _Internal; @@ -47147,37 +49087,36 @@ class NextValueExpr final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; + ::int32_t mode_; + bool nowait_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - ::uint32_t seqid_; - ::uint32_t type_id_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class Node final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Node) */ { +class LockingClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockingClause) */ { public: - inline Node() : Node(nullptr) {} - ~Node() override; + inline LockingClause() : LockingClause(nullptr) {} + ~LockingClause() override; template - explicit PROTOBUF_CONSTEXPR Node(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR LockingClause(::google::protobuf::internal::ConstantInitialized); - inline Node(const Node& from) - : Node(nullptr, from) {} - Node(Node&& from) noexcept - : Node() { + inline LockingClause(const LockingClause& from) + : LockingClause(nullptr, from) {} + LockingClause(LockingClause&& from) noexcept + : LockingClause() { *this = ::std::move(from); } - inline Node& operator=(const Node& from) { + inline LockingClause& operator=(const LockingClause& from) { CopyFrom(from); return *this; } - inline Node& operator=(Node&& from) noexcept { + inline LockingClause& operator=(LockingClause&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -47209,276 +49148,20 @@ class Node final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Node& default_instance() { + static const LockingClause& default_instance() { return *internal_default_instance(); } - enum NodeCase { - kAlias = 1, - kRangeVar = 2, - kTableFunc = 3, - kIntoClause = 4, - kVar = 5, - kParam = 6, - kAggref = 7, - kGroupingFunc = 8, - kWindowFunc = 9, - kSubscriptingRef = 10, - kFuncExpr = 11, - kNamedArgExpr = 12, - kOpExpr = 13, - kDistinctExpr = 14, - kNullIfExpr = 15, - kScalarArrayOpExpr = 16, - kBoolExpr = 17, - kSubLink = 18, - kSubPlan = 19, - kAlternativeSubPlan = 20, - kFieldSelect = 21, - kFieldStore = 22, - kRelabelType = 23, - kCoerceViaIo = 24, - kArrayCoerceExpr = 25, - kConvertRowtypeExpr = 26, - kCollateExpr = 27, - kCaseExpr = 28, - kCaseWhen = 29, - kCaseTestExpr = 30, - kArrayExpr = 31, - kRowExpr = 32, - kRowCompareExpr = 33, - kCoalesceExpr = 34, - kMinMaxExpr = 35, - kSqlvalueFunction = 36, - kXmlExpr = 37, - kJsonFormat = 38, - kJsonReturning = 39, - kJsonValueExpr = 40, - kJsonConstructorExpr = 41, - kJsonIsPredicate = 42, - kNullTest = 43, - kBooleanTest = 44, - kCoerceToDomain = 45, - kCoerceToDomainValue = 46, - kSetToDefault = 47, - kCurrentOfExpr = 48, - kNextValueExpr = 49, - kInferenceElem = 50, - kTargetEntry = 51, - kRangeTblRef = 52, - kJoinExpr = 53, - kFromExpr = 54, - kOnConflictExpr = 55, - kQuery = 56, - kTypeName = 57, - kColumnRef = 58, - kParamRef = 59, - kAExpr = 60, - kTypeCast = 61, - kCollateClause = 62, - kRoleSpec = 63, - kFuncCall = 64, - kAStar = 65, - kAIndices = 66, - kAIndirection = 67, - kAArrayExpr = 68, - kResTarget = 69, - kMultiAssignRef = 70, - kSortBy = 71, - kWindowDef = 72, - kRangeSubselect = 73, - kRangeFunction = 74, - kRangeTableFunc = 75, - kRangeTableFuncCol = 76, - kRangeTableSample = 77, - kColumnDef = 78, - kTableLikeClause = 79, - kIndexElem = 80, - kDefElem = 81, - kLockingClause = 82, - kXmlSerialize = 83, - kPartitionElem = 84, - kPartitionSpec = 85, - kPartitionBoundSpec = 86, - kPartitionRangeDatum = 87, - kPartitionCmd = 88, - kRangeTblEntry = 89, - kRtepermissionInfo = 90, - kRangeTblFunction = 91, - kTableSampleClause = 92, - kWithCheckOption = 93, - kSortGroupClause = 94, - kGroupingSet = 95, - kWindowClause = 96, - kRowMarkClause = 97, - kWithClause = 98, - kInferClause = 99, - kOnConflictClause = 100, - kCtesearchClause = 101, - kCtecycleClause = 102, - kCommonTableExpr = 103, - kMergeWhenClause = 104, - kMergeAction = 105, - kTriggerTransition = 106, - kJsonOutput = 107, - kJsonKeyValue = 108, - kJsonObjectConstructor = 109, - kJsonArrayConstructor = 110, - kJsonArrayQueryConstructor = 111, - kJsonAggConstructor = 112, - kJsonObjectAgg = 113, - kJsonArrayAgg = 114, - kRawStmt = 115, - kInsertStmt = 116, - kDeleteStmt = 117, - kUpdateStmt = 118, - kMergeStmt = 119, - kSelectStmt = 120, - kSetOperationStmt = 121, - kReturnStmt = 122, - kPlassignStmt = 123, - kCreateSchemaStmt = 124, - kAlterTableStmt = 125, - kReplicaIdentityStmt = 126, - kAlterTableCmd = 127, - kAlterCollationStmt = 128, - kAlterDomainStmt = 129, - kGrantStmt = 130, - kObjectWithArgs = 131, - kAccessPriv = 132, - kGrantRoleStmt = 133, - kAlterDefaultPrivilegesStmt = 134, - kCopyStmt = 135, - kVariableSetStmt = 136, - kVariableShowStmt = 137, - kCreateStmt = 138, - kConstraint = 139, - kCreateTableSpaceStmt = 140, - kDropTableSpaceStmt = 141, - kAlterTableSpaceOptionsStmt = 142, - kAlterTableMoveAllStmt = 143, - kCreateExtensionStmt = 144, - kAlterExtensionStmt = 145, - kAlterExtensionContentsStmt = 146, - kCreateFdwStmt = 147, - kAlterFdwStmt = 148, - kCreateForeignServerStmt = 149, - kAlterForeignServerStmt = 150, - kCreateForeignTableStmt = 151, - kCreateUserMappingStmt = 152, - kAlterUserMappingStmt = 153, - kDropUserMappingStmt = 154, - kImportForeignSchemaStmt = 155, - kCreatePolicyStmt = 156, - kAlterPolicyStmt = 157, - kCreateAmStmt = 158, - kCreateTrigStmt = 159, - kCreateEventTrigStmt = 160, - kAlterEventTrigStmt = 161, - kCreatePlangStmt = 162, - kCreateRoleStmt = 163, - kAlterRoleStmt = 164, - kAlterRoleSetStmt = 165, - kDropRoleStmt = 166, - kCreateSeqStmt = 167, - kAlterSeqStmt = 168, - kDefineStmt = 169, - kCreateDomainStmt = 170, - kCreateOpClassStmt = 171, - kCreateOpClassItem = 172, - kCreateOpFamilyStmt = 173, - kAlterOpFamilyStmt = 174, - kDropStmt = 175, - kTruncateStmt = 176, - kCommentStmt = 177, - kSecLabelStmt = 178, - kDeclareCursorStmt = 179, - kClosePortalStmt = 180, - kFetchStmt = 181, - kIndexStmt = 182, - kCreateStatsStmt = 183, - kStatsElem = 184, - kAlterStatsStmt = 185, - kCreateFunctionStmt = 186, - kFunctionParameter = 187, - kAlterFunctionStmt = 188, - kDoStmt = 189, - kInlineCodeBlock = 190, - kCallStmt = 191, - kCallContext = 192, - kRenameStmt = 193, - kAlterObjectDependsStmt = 194, - kAlterObjectSchemaStmt = 195, - kAlterOwnerStmt = 196, - kAlterOperatorStmt = 197, - kAlterTypeStmt = 198, - kRuleStmt = 199, - kNotifyStmt = 200, - kListenStmt = 201, - kUnlistenStmt = 202, - kTransactionStmt = 203, - kCompositeTypeStmt = 204, - kCreateEnumStmt = 205, - kCreateRangeStmt = 206, - kAlterEnumStmt = 207, - kViewStmt = 208, - kLoadStmt = 209, - kCreatedbStmt = 210, - kAlterDatabaseStmt = 211, - kAlterDatabaseRefreshCollStmt = 212, - kAlterDatabaseSetStmt = 213, - kDropdbStmt = 214, - kAlterSystemStmt = 215, - kClusterStmt = 216, - kVacuumStmt = 217, - kVacuumRelation = 218, - kExplainStmt = 219, - kCreateTableAsStmt = 220, - kRefreshMatViewStmt = 221, - kCheckPointStmt = 222, - kDiscardStmt = 223, - kLockStmt = 224, - kConstraintsSetStmt = 225, - kReindexStmt = 226, - kCreateConversionStmt = 227, - kCreateCastStmt = 228, - kCreateTransformStmt = 229, - kPrepareStmt = 230, - kExecuteStmt = 231, - kDeallocateStmt = 232, - kDropOwnedStmt = 233, - kReassignOwnedStmt = 234, - kAlterTsdictionaryStmt = 235, - kAlterTsconfigurationStmt = 236, - kPublicationTable = 237, - kPublicationObjSpec = 238, - kCreatePublicationStmt = 239, - kAlterPublicationStmt = 240, - kCreateSubscriptionStmt = 241, - kAlterSubscriptionStmt = 242, - kDropSubscriptionStmt = 243, - kInteger = 244, - kFloat = 245, - kBoolean = 246, - kString = 247, - kBitString = 248, - kList = 249, - kIntList = 250, - kOidList = 251, - kAConst = 252, - NODE_NOT_SET = 0, - }; - - static inline const Node* internal_default_instance() { - return reinterpret_cast( - &_Node_default_instance_); + static inline const LockingClause* internal_default_instance() { + return reinterpret_cast( + &_LockingClause_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 101; - friend void swap(Node& a, Node& b) { + friend void swap(LockingClause& a, LockingClause& b) { a.Swap(&b); } - inline void Swap(Node* other) { + inline void Swap(LockingClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -47491,7 +49174,7 @@ class Node final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Node* other) { + void UnsafeArenaSwap(LockingClause* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -47499,14 +49182,14 @@ class Node final : // implements Message ---------------------------------------------- - Node* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + LockingClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Node& from); + void CopyFrom(const LockingClause& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Node& from) { - Node::MergeImpl(*this, from); + void MergeFrom( const LockingClause& from) { + LockingClause::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -47524,16 +49207,16 @@ class Node final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Node* other); + void InternalSwap(LockingClause* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.Node"; + return "pg_query.LockingClause"; } protected: - explicit Node(::google::protobuf::Arena* arena); - Node(::google::protobuf::Arena* arena, const Node& from); + explicit LockingClause(::google::protobuf::Arena* arena); + LockingClause(::google::protobuf::Arena* arena, const LockingClause& from); public: static const ClassData _class_data_; @@ -47546,7792 +49229,8041 @@ class Node final : // accessors ------------------------------------------------------- enum : int { - kAliasFieldNumber = 1, - kRangeVarFieldNumber = 2, - kTableFuncFieldNumber = 3, - kIntoClauseFieldNumber = 4, - kVarFieldNumber = 5, - kParamFieldNumber = 6, - kAggrefFieldNumber = 7, - kGroupingFuncFieldNumber = 8, - kWindowFuncFieldNumber = 9, - kSubscriptingRefFieldNumber = 10, - kFuncExprFieldNumber = 11, - kNamedArgExprFieldNumber = 12, - kOpExprFieldNumber = 13, - kDistinctExprFieldNumber = 14, - kNullIfExprFieldNumber = 15, - kScalarArrayOpExprFieldNumber = 16, - kBoolExprFieldNumber = 17, - kSubLinkFieldNumber = 18, - kSubPlanFieldNumber = 19, - kAlternativeSubPlanFieldNumber = 20, - kFieldSelectFieldNumber = 21, - kFieldStoreFieldNumber = 22, - kRelabelTypeFieldNumber = 23, - kCoerceViaIoFieldNumber = 24, - kArrayCoerceExprFieldNumber = 25, - kConvertRowtypeExprFieldNumber = 26, - kCollateExprFieldNumber = 27, - kCaseExprFieldNumber = 28, - kCaseWhenFieldNumber = 29, - kCaseTestExprFieldNumber = 30, - kArrayExprFieldNumber = 31, - kRowExprFieldNumber = 32, - kRowCompareExprFieldNumber = 33, - kCoalesceExprFieldNumber = 34, - kMinMaxExprFieldNumber = 35, - kSqlvalueFunctionFieldNumber = 36, - kXmlExprFieldNumber = 37, - kJsonFormatFieldNumber = 38, - kJsonReturningFieldNumber = 39, - kJsonValueExprFieldNumber = 40, - kJsonConstructorExprFieldNumber = 41, - kJsonIsPredicateFieldNumber = 42, - kNullTestFieldNumber = 43, - kBooleanTestFieldNumber = 44, - kCoerceToDomainFieldNumber = 45, - kCoerceToDomainValueFieldNumber = 46, - kSetToDefaultFieldNumber = 47, - kCurrentOfExprFieldNumber = 48, - kNextValueExprFieldNumber = 49, - kInferenceElemFieldNumber = 50, - kTargetEntryFieldNumber = 51, - kRangeTblRefFieldNumber = 52, - kJoinExprFieldNumber = 53, - kFromExprFieldNumber = 54, - kOnConflictExprFieldNumber = 55, - kQueryFieldNumber = 56, - kTypeNameFieldNumber = 57, - kColumnRefFieldNumber = 58, - kParamRefFieldNumber = 59, - kAExprFieldNumber = 60, - kTypeCastFieldNumber = 61, - kCollateClauseFieldNumber = 62, - kRoleSpecFieldNumber = 63, - kFuncCallFieldNumber = 64, - kAStarFieldNumber = 65, - kAIndicesFieldNumber = 66, - kAIndirectionFieldNumber = 67, - kAArrayExprFieldNumber = 68, - kResTargetFieldNumber = 69, - kMultiAssignRefFieldNumber = 70, - kSortByFieldNumber = 71, - kWindowDefFieldNumber = 72, - kRangeSubselectFieldNumber = 73, - kRangeFunctionFieldNumber = 74, - kRangeTableFuncFieldNumber = 75, - kRangeTableFuncColFieldNumber = 76, - kRangeTableSampleFieldNumber = 77, - kColumnDefFieldNumber = 78, - kTableLikeClauseFieldNumber = 79, - kIndexElemFieldNumber = 80, - kDefElemFieldNumber = 81, - kLockingClauseFieldNumber = 82, - kXmlSerializeFieldNumber = 83, - kPartitionElemFieldNumber = 84, - kPartitionSpecFieldNumber = 85, - kPartitionBoundSpecFieldNumber = 86, - kPartitionRangeDatumFieldNumber = 87, - kPartitionCmdFieldNumber = 88, - kRangeTblEntryFieldNumber = 89, - kRtepermissionInfoFieldNumber = 90, - kRangeTblFunctionFieldNumber = 91, - kTableSampleClauseFieldNumber = 92, - kWithCheckOptionFieldNumber = 93, - kSortGroupClauseFieldNumber = 94, - kGroupingSetFieldNumber = 95, - kWindowClauseFieldNumber = 96, - kRowMarkClauseFieldNumber = 97, - kWithClauseFieldNumber = 98, - kInferClauseFieldNumber = 99, - kOnConflictClauseFieldNumber = 100, - kCtesearchClauseFieldNumber = 101, - kCtecycleClauseFieldNumber = 102, - kCommonTableExprFieldNumber = 103, - kMergeWhenClauseFieldNumber = 104, - kMergeActionFieldNumber = 105, - kTriggerTransitionFieldNumber = 106, - kJsonOutputFieldNumber = 107, - kJsonKeyValueFieldNumber = 108, - kJsonObjectConstructorFieldNumber = 109, - kJsonArrayConstructorFieldNumber = 110, - kJsonArrayQueryConstructorFieldNumber = 111, - kJsonAggConstructorFieldNumber = 112, - kJsonObjectAggFieldNumber = 113, - kJsonArrayAggFieldNumber = 114, - kRawStmtFieldNumber = 115, - kInsertStmtFieldNumber = 116, - kDeleteStmtFieldNumber = 117, - kUpdateStmtFieldNumber = 118, - kMergeStmtFieldNumber = 119, - kSelectStmtFieldNumber = 120, - kSetOperationStmtFieldNumber = 121, - kReturnStmtFieldNumber = 122, - kPlassignStmtFieldNumber = 123, - kCreateSchemaStmtFieldNumber = 124, - kAlterTableStmtFieldNumber = 125, - kReplicaIdentityStmtFieldNumber = 126, - kAlterTableCmdFieldNumber = 127, - kAlterCollationStmtFieldNumber = 128, - kAlterDomainStmtFieldNumber = 129, - kGrantStmtFieldNumber = 130, - kObjectWithArgsFieldNumber = 131, - kAccessPrivFieldNumber = 132, - kGrantRoleStmtFieldNumber = 133, - kAlterDefaultPrivilegesStmtFieldNumber = 134, - kCopyStmtFieldNumber = 135, - kVariableSetStmtFieldNumber = 136, - kVariableShowStmtFieldNumber = 137, - kCreateStmtFieldNumber = 138, - kConstraintFieldNumber = 139, - kCreateTableSpaceStmtFieldNumber = 140, - kDropTableSpaceStmtFieldNumber = 141, - kAlterTableSpaceOptionsStmtFieldNumber = 142, - kAlterTableMoveAllStmtFieldNumber = 143, - kCreateExtensionStmtFieldNumber = 144, - kAlterExtensionStmtFieldNumber = 145, - kAlterExtensionContentsStmtFieldNumber = 146, - kCreateFdwStmtFieldNumber = 147, - kAlterFdwStmtFieldNumber = 148, - kCreateForeignServerStmtFieldNumber = 149, - kAlterForeignServerStmtFieldNumber = 150, - kCreateForeignTableStmtFieldNumber = 151, - kCreateUserMappingStmtFieldNumber = 152, - kAlterUserMappingStmtFieldNumber = 153, - kDropUserMappingStmtFieldNumber = 154, - kImportForeignSchemaStmtFieldNumber = 155, - kCreatePolicyStmtFieldNumber = 156, - kAlterPolicyStmtFieldNumber = 157, - kCreateAmStmtFieldNumber = 158, - kCreateTrigStmtFieldNumber = 159, - kCreateEventTrigStmtFieldNumber = 160, - kAlterEventTrigStmtFieldNumber = 161, - kCreatePlangStmtFieldNumber = 162, - kCreateRoleStmtFieldNumber = 163, - kAlterRoleStmtFieldNumber = 164, - kAlterRoleSetStmtFieldNumber = 165, - kDropRoleStmtFieldNumber = 166, - kCreateSeqStmtFieldNumber = 167, - kAlterSeqStmtFieldNumber = 168, - kDefineStmtFieldNumber = 169, - kCreateDomainStmtFieldNumber = 170, - kCreateOpClassStmtFieldNumber = 171, - kCreateOpClassItemFieldNumber = 172, - kCreateOpFamilyStmtFieldNumber = 173, - kAlterOpFamilyStmtFieldNumber = 174, - kDropStmtFieldNumber = 175, - kTruncateStmtFieldNumber = 176, - kCommentStmtFieldNumber = 177, - kSecLabelStmtFieldNumber = 178, - kDeclareCursorStmtFieldNumber = 179, - kClosePortalStmtFieldNumber = 180, - kFetchStmtFieldNumber = 181, - kIndexStmtFieldNumber = 182, - kCreateStatsStmtFieldNumber = 183, - kStatsElemFieldNumber = 184, - kAlterStatsStmtFieldNumber = 185, - kCreateFunctionStmtFieldNumber = 186, - kFunctionParameterFieldNumber = 187, - kAlterFunctionStmtFieldNumber = 188, - kDoStmtFieldNumber = 189, - kInlineCodeBlockFieldNumber = 190, - kCallStmtFieldNumber = 191, - kCallContextFieldNumber = 192, - kRenameStmtFieldNumber = 193, - kAlterObjectDependsStmtFieldNumber = 194, - kAlterObjectSchemaStmtFieldNumber = 195, - kAlterOwnerStmtFieldNumber = 196, - kAlterOperatorStmtFieldNumber = 197, - kAlterTypeStmtFieldNumber = 198, - kRuleStmtFieldNumber = 199, - kNotifyStmtFieldNumber = 200, - kListenStmtFieldNumber = 201, - kUnlistenStmtFieldNumber = 202, - kTransactionStmtFieldNumber = 203, - kCompositeTypeStmtFieldNumber = 204, - kCreateEnumStmtFieldNumber = 205, - kCreateRangeStmtFieldNumber = 206, - kAlterEnumStmtFieldNumber = 207, - kViewStmtFieldNumber = 208, - kLoadStmtFieldNumber = 209, - kCreatedbStmtFieldNumber = 210, - kAlterDatabaseStmtFieldNumber = 211, - kAlterDatabaseRefreshCollStmtFieldNumber = 212, - kAlterDatabaseSetStmtFieldNumber = 213, - kDropdbStmtFieldNumber = 214, - kAlterSystemStmtFieldNumber = 215, - kClusterStmtFieldNumber = 216, - kVacuumStmtFieldNumber = 217, - kVacuumRelationFieldNumber = 218, - kExplainStmtFieldNumber = 219, - kCreateTableAsStmtFieldNumber = 220, - kRefreshMatViewStmtFieldNumber = 221, - kCheckPointStmtFieldNumber = 222, - kDiscardStmtFieldNumber = 223, - kLockStmtFieldNumber = 224, - kConstraintsSetStmtFieldNumber = 225, - kReindexStmtFieldNumber = 226, - kCreateConversionStmtFieldNumber = 227, - kCreateCastStmtFieldNumber = 228, - kCreateTransformStmtFieldNumber = 229, - kPrepareStmtFieldNumber = 230, - kExecuteStmtFieldNumber = 231, - kDeallocateStmtFieldNumber = 232, - kDropOwnedStmtFieldNumber = 233, - kReassignOwnedStmtFieldNumber = 234, - kAlterTsdictionaryStmtFieldNumber = 235, - kAlterTsconfigurationStmtFieldNumber = 236, - kPublicationTableFieldNumber = 237, - kPublicationObjSpecFieldNumber = 238, - kCreatePublicationStmtFieldNumber = 239, - kAlterPublicationStmtFieldNumber = 240, - kCreateSubscriptionStmtFieldNumber = 241, - kAlterSubscriptionStmtFieldNumber = 242, - kDropSubscriptionStmtFieldNumber = 243, - kIntegerFieldNumber = 244, - kFloatFieldNumber = 245, - kBooleanFieldNumber = 246, - kStringFieldNumber = 247, - kBitStringFieldNumber = 248, - kListFieldNumber = 249, - kIntListFieldNumber = 250, - kOidListFieldNumber = 251, - kAConstFieldNumber = 252, + kLockedRelsFieldNumber = 1, + kStrengthFieldNumber = 2, + kWaitPolicyFieldNumber = 3, }; - // .pg_query.Alias alias = 1 [json_name = "Alias"]; - bool has_alias() const; - private: - bool _internal_has_alias() const; - - public: - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); - + // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; + int locked_rels_size() const; private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + int _internal_locked_rels_size() const; public: - // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; - bool has_range_var() const; + void clear_locked_rels() ; + ::pg_query::Node* mutable_locked_rels(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_locked_rels(); private: - bool _internal_has_range_var() const; - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locked_rels() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locked_rels(); public: - void clear_range_var() ; - const ::pg_query::RangeVar& range_var() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_range_var(); - ::pg_query::RangeVar* mutable_range_var(); - void set_allocated_range_var(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_range_var(); + const ::pg_query::Node& locked_rels(int index) const; + ::pg_query::Node* add_locked_rels(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + locked_rels() const; + // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; + void clear_strength() ; + ::pg_query::LockClauseStrength strength() const; + void set_strength(::pg_query::LockClauseStrength value); private: - const ::pg_query::RangeVar& _internal_range_var() const; - ::pg_query::RangeVar* _internal_mutable_range_var(); + ::pg_query::LockClauseStrength _internal_strength() const; + void _internal_set_strength(::pg_query::LockClauseStrength value); public: - // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; - bool has_table_func() const; + // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; + void clear_wait_policy() ; + ::pg_query::LockWaitPolicy wait_policy() const; + void set_wait_policy(::pg_query::LockWaitPolicy value); + private: - bool _internal_has_table_func() const; + ::pg_query::LockWaitPolicy _internal_wait_policy() const; + void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); public: - void clear_table_func() ; - const ::pg_query::TableFunc& table_func() const; - PROTOBUF_NODISCARD ::pg_query::TableFunc* release_table_func(); - ::pg_query::TableFunc* mutable_table_func(); - void set_allocated_table_func(::pg_query::TableFunc* value); - void unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value); - ::pg_query::TableFunc* unsafe_arena_release_table_func(); + // @@protoc_insertion_point(class_scope:pg_query.LockingClause) + private: + class _Internal; - private: - const ::pg_query::TableFunc& _internal_table_func() const; - ::pg_query::TableFunc* _internal_mutable_table_func(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - // .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; - bool has_into_clause() const; - private: - bool _internal_has_into_clause() const; + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locked_rels_; + int strength_; + int wait_policy_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - public: - void clear_into_clause() ; - const ::pg_query::IntoClause& into_clause() const; - PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); - ::pg_query::IntoClause* mutable_into_clause(); - void set_allocated_into_clause(::pg_query::IntoClause* value); - void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); - ::pg_query::IntoClause* unsafe_arena_release_into_clause(); +class MergeAction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeAction) */ { + public: + inline MergeAction() : MergeAction(nullptr) {} + ~MergeAction() override; + template + explicit PROTOBUF_CONSTEXPR MergeAction(::google::protobuf::internal::ConstantInitialized); - private: - const ::pg_query::IntoClause& _internal_into_clause() const; - ::pg_query::IntoClause* _internal_mutable_into_clause(); + inline MergeAction(const MergeAction& from) + : MergeAction(nullptr, from) {} + MergeAction(MergeAction&& from) noexcept + : MergeAction() { + *this = ::std::move(from); + } - public: - // .pg_query.Var var = 5 [json_name = "Var"]; - bool has_var() const; - private: - bool _internal_has_var() const; + inline MergeAction& operator=(const MergeAction& from) { + CopyFrom(from); + return *this; + } + inline MergeAction& operator=(MergeAction&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - public: - void clear_var() ; - const ::pg_query::Var& var() const; - PROTOBUF_NODISCARD ::pg_query::Var* release_var(); - ::pg_query::Var* mutable_var(); - void set_allocated_var(::pg_query::Var* value); - void unsafe_arena_set_allocated_var(::pg_query::Var* value); - ::pg_query::Var* unsafe_arena_release_var(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - private: - const ::pg_query::Var& _internal_var() const; - ::pg_query::Var* _internal_mutable_var(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeAction& default_instance() { + return *internal_default_instance(); + } + static inline const MergeAction* internal_default_instance() { + return reinterpret_cast( + &_MergeAction_default_instance_); + } + static constexpr int kIndexInFileMessages = + 63; - public: - // .pg_query.Param param = 6 [json_name = "Param"]; - bool has_param() const; - private: - bool _internal_has_param() const; + friend void swap(MergeAction& a, MergeAction& b) { + a.Swap(&b); + } + inline void Swap(MergeAction* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeAction* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - public: - void clear_param() ; - const ::pg_query::Param& param() const; - PROTOBUF_NODISCARD ::pg_query::Param* release_param(); - ::pg_query::Param* mutable_param(); - void set_allocated_param(::pg_query::Param* value); - void unsafe_arena_set_allocated_param(::pg_query::Param* value); - ::pg_query::Param* unsafe_arena_release_param(); + // implements Message ---------------------------------------------- + MergeAction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeAction& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeAction& from) { + MergeAction::MergeImpl(*this, from); + } private: - const ::pg_query::Param& _internal_param() const; - ::pg_query::Param* _internal_mutable_param(); - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - // .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; - bool has_aggref() const; - private: - bool _internal_has_aggref() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - public: - void clear_aggref() ; - const ::pg_query::Aggref& aggref() const; - PROTOBUF_NODISCARD ::pg_query::Aggref* release_aggref(); - ::pg_query::Aggref* mutable_aggref(); - void set_allocated_aggref(::pg_query::Aggref* value); - void unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value); - ::pg_query::Aggref* unsafe_arena_release_aggref(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - const ::pg_query::Aggref& _internal_aggref() const; - ::pg_query::Aggref* _internal_mutable_aggref(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeAction* other); - public: - // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; - bool has_grouping_func() const; private: - bool _internal_has_grouping_func() const; - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeAction"; + } + protected: + explicit MergeAction(::google::protobuf::Arena* arena); + MergeAction(::google::protobuf::Arena* arena, const MergeAction& from); public: - void clear_grouping_func() ; - const ::pg_query::GroupingFunc& grouping_func() const; - PROTOBUF_NODISCARD ::pg_query::GroupingFunc* release_grouping_func(); - ::pg_query::GroupingFunc* mutable_grouping_func(); - void set_allocated_grouping_func(::pg_query::GroupingFunc* value); - void unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value); - ::pg_query::GroupingFunc* unsafe_arena_release_grouping_func(); - private: - const ::pg_query::GroupingFunc& _internal_grouping_func() const; - ::pg_query::GroupingFunc* _internal_mutable_grouping_func(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - public: - // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; - bool has_window_func() const; - private: - bool _internal_has_window_func() const; + ::google::protobuf::Metadata GetMetadata() const final; - public: - void clear_window_func() ; - const ::pg_query::WindowFunc& window_func() const; - PROTOBUF_NODISCARD ::pg_query::WindowFunc* release_window_func(); - ::pg_query::WindowFunc* mutable_window_func(); - void set_allocated_window_func(::pg_query::WindowFunc* value); - void unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value); - ::pg_query::WindowFunc* unsafe_arena_release_window_func(); + // nested types ---------------------------------------------------- + // accessors ------------------------------------------------------- + + enum : int { + kTargetListFieldNumber = 5, + kUpdateColnosFieldNumber = 6, + kQualFieldNumber = 4, + kMatchKindFieldNumber = 1, + kCommandTypeFieldNumber = 2, + kOverrideFieldNumber = 3, + }; + // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; + int target_list_size() const; private: - const ::pg_query::WindowFunc& _internal_window_func() const; - ::pg_query::WindowFunc* _internal_mutable_window_func(); + int _internal_target_list_size() const; public: - // .pg_query.SubscriptingRef subscripting_ref = 10 [json_name = "SubscriptingRef"]; - bool has_subscripting_ref() const; + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - bool _internal_has_subscripting_ref() const; - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - void clear_subscripting_ref() ; - const ::pg_query::SubscriptingRef& subscripting_ref() const; - PROTOBUF_NODISCARD ::pg_query::SubscriptingRef* release_subscripting_ref(); - ::pg_query::SubscriptingRef* mutable_subscripting_ref(); - void set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); - void unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); - ::pg_query::SubscriptingRef* unsafe_arena_release_subscripting_ref(); - + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; + int update_colnos_size() const; private: - const ::pg_query::SubscriptingRef& _internal_subscripting_ref() const; - ::pg_query::SubscriptingRef* _internal_mutable_subscripting_ref(); + int _internal_update_colnos_size() const; public: - // .pg_query.FuncExpr func_expr = 11 [json_name = "FuncExpr"]; - bool has_func_expr() const; + void clear_update_colnos() ; + ::pg_query::Node* mutable_update_colnos(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_update_colnos(); private: - bool _internal_has_func_expr() const; - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_update_colnos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_update_colnos(); public: - void clear_func_expr() ; - const ::pg_query::FuncExpr& func_expr() const; - PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_func_expr(); - ::pg_query::FuncExpr* mutable_func_expr(); - void set_allocated_func_expr(::pg_query::FuncExpr* value); - void unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value); - ::pg_query::FuncExpr* unsafe_arena_release_func_expr(); + const ::pg_query::Node& update_colnos(int index) const; + ::pg_query::Node* add_update_colnos(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + update_colnos() const; + // .pg_query.Node qual = 4 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); private: - const ::pg_query::FuncExpr& _internal_func_expr() const; - ::pg_query::FuncExpr* _internal_mutable_func_expr(); + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); public: - // .pg_query.NamedArgExpr named_arg_expr = 12 [json_name = "NamedArgExpr"]; - bool has_named_arg_expr() const; + // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; + void clear_match_kind() ; + ::pg_query::MergeMatchKind match_kind() const; + void set_match_kind(::pg_query::MergeMatchKind value); + private: - bool _internal_has_named_arg_expr() const; + ::pg_query::MergeMatchKind _internal_match_kind() const; + void _internal_set_match_kind(::pg_query::MergeMatchKind value); public: - void clear_named_arg_expr() ; - const ::pg_query::NamedArgExpr& named_arg_expr() const; - PROTOBUF_NODISCARD ::pg_query::NamedArgExpr* release_named_arg_expr(); - ::pg_query::NamedArgExpr* mutable_named_arg_expr(); - void set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); - void unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); - ::pg_query::NamedArgExpr* unsafe_arena_release_named_arg_expr(); + // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); private: - const ::pg_query::NamedArgExpr& _internal_named_arg_expr() const; - ::pg_query::NamedArgExpr* _internal_mutable_named_arg_expr(); + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); public: - // .pg_query.OpExpr op_expr = 13 [json_name = "OpExpr"]; - bool has_op_expr() const; + // .pg_query.OverridingKind override = 3 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); + private: - bool _internal_has_op_expr() const; + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); public: - void clear_op_expr() ; - const ::pg_query::OpExpr& op_expr() const; - PROTOBUF_NODISCARD ::pg_query::OpExpr* release_op_expr(); - ::pg_query::OpExpr* mutable_op_expr(); - void set_allocated_op_expr(::pg_query::OpExpr* value); - void unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value); - ::pg_query::OpExpr* unsafe_arena_release_op_expr(); + // @@protoc_insertion_point(class_scope:pg_query.MergeAction) + private: + class _Internal; - private: - const ::pg_query::OpExpr& _internal_op_expr() const; - ::pg_query::OpExpr* _internal_mutable_op_expr(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - // .pg_query.DistinctExpr distinct_expr = 14 [json_name = "DistinctExpr"]; - bool has_distinct_expr() const; - private: - bool _internal_has_distinct_expr() const; + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > update_colnos_; + ::pg_query::Node* qual_; + int match_kind_; + int command_type_; + int override_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - public: - void clear_distinct_expr() ; - const ::pg_query::DistinctExpr& distinct_expr() const; - PROTOBUF_NODISCARD ::pg_query::DistinctExpr* release_distinct_expr(); - ::pg_query::DistinctExpr* mutable_distinct_expr(); - void set_allocated_distinct_expr(::pg_query::DistinctExpr* value); - void unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value); - ::pg_query::DistinctExpr* unsafe_arena_release_distinct_expr(); +class MergeStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeStmt) */ { + public: + inline MergeStmt() : MergeStmt(nullptr) {} + ~MergeStmt() override; + template + explicit PROTOBUF_CONSTEXPR MergeStmt(::google::protobuf::internal::ConstantInitialized); - private: - const ::pg_query::DistinctExpr& _internal_distinct_expr() const; - ::pg_query::DistinctExpr* _internal_mutable_distinct_expr(); + inline MergeStmt(const MergeStmt& from) + : MergeStmt(nullptr, from) {} + MergeStmt(MergeStmt&& from) noexcept + : MergeStmt() { + *this = ::std::move(from); + } - public: - // .pg_query.NullIfExpr null_if_expr = 15 [json_name = "NullIfExpr"]; - bool has_null_if_expr() const; - private: - bool _internal_has_null_if_expr() const; + inline MergeStmt& operator=(const MergeStmt& from) { + CopyFrom(from); + return *this; + } + inline MergeStmt& operator=(MergeStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - public: - void clear_null_if_expr() ; - const ::pg_query::NullIfExpr& null_if_expr() const; - PROTOBUF_NODISCARD ::pg_query::NullIfExpr* release_null_if_expr(); - ::pg_query::NullIfExpr* mutable_null_if_expr(); - void set_allocated_null_if_expr(::pg_query::NullIfExpr* value); - void unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value); - ::pg_query::NullIfExpr* unsafe_arena_release_null_if_expr(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - private: - const ::pg_query::NullIfExpr& _internal_null_if_expr() const; - ::pg_query::NullIfExpr* _internal_mutable_null_if_expr(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeStmt& default_instance() { + return *internal_default_instance(); + } + static inline const MergeStmt* internal_default_instance() { + return reinterpret_cast( + &_MergeStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 146; - public: - // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 16 [json_name = "ScalarArrayOpExpr"]; - bool has_scalar_array_op_expr() const; - private: - bool _internal_has_scalar_array_op_expr() const; + friend void swap(MergeStmt& a, MergeStmt& b) { + a.Swap(&b); + } + inline void Swap(MergeStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - public: - void clear_scalar_array_op_expr() ; - const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr() const; - PROTOBUF_NODISCARD ::pg_query::ScalarArrayOpExpr* release_scalar_array_op_expr(); - ::pg_query::ScalarArrayOpExpr* mutable_scalar_array_op_expr(); - void set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); - void unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); - ::pg_query::ScalarArrayOpExpr* unsafe_arena_release_scalar_array_op_expr(); + // implements Message ---------------------------------------------- + MergeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeStmt& from) { + MergeStmt::MergeImpl(*this, from); + } private: - const ::pg_query::ScalarArrayOpExpr& _internal_scalar_array_op_expr() const; - ::pg_query::ScalarArrayOpExpr* _internal_mutable_scalar_array_op_expr(); - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - // .pg_query.BoolExpr bool_expr = 17 [json_name = "BoolExpr"]; - bool has_bool_expr() const; - private: - bool _internal_has_bool_expr() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - public: - void clear_bool_expr() ; - const ::pg_query::BoolExpr& bool_expr() const; - PROTOBUF_NODISCARD ::pg_query::BoolExpr* release_bool_expr(); - ::pg_query::BoolExpr* mutable_bool_expr(); - void set_allocated_bool_expr(::pg_query::BoolExpr* value); - void unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value); - ::pg_query::BoolExpr* unsafe_arena_release_bool_expr(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - const ::pg_query::BoolExpr& _internal_bool_expr() const; - ::pg_query::BoolExpr* _internal_mutable_bool_expr(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeStmt* other); - public: - // .pg_query.SubLink sub_link = 18 [json_name = "SubLink"]; - bool has_sub_link() const; private: - bool _internal_has_sub_link() const; - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeStmt"; + } + protected: + explicit MergeStmt(::google::protobuf::Arena* arena); + MergeStmt(::google::protobuf::Arena* arena, const MergeStmt& from); public: - void clear_sub_link() ; - const ::pg_query::SubLink& sub_link() const; - PROTOBUF_NODISCARD ::pg_query::SubLink* release_sub_link(); - ::pg_query::SubLink* mutable_sub_link(); - void set_allocated_sub_link(::pg_query::SubLink* value); - void unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value); - ::pg_query::SubLink* unsafe_arena_release_sub_link(); - private: - const ::pg_query::SubLink& _internal_sub_link() const; - ::pg_query::SubLink* _internal_mutable_sub_link(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - public: - // .pg_query.SubPlan sub_plan = 19 [json_name = "SubPlan"]; - bool has_sub_plan() const; - private: - bool _internal_has_sub_plan() const; + ::google::protobuf::Metadata GetMetadata() const final; - public: - void clear_sub_plan() ; - const ::pg_query::SubPlan& sub_plan() const; - PROTOBUF_NODISCARD ::pg_query::SubPlan* release_sub_plan(); - ::pg_query::SubPlan* mutable_sub_plan(); - void set_allocated_sub_plan(::pg_query::SubPlan* value); - void unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value); - ::pg_query::SubPlan* unsafe_arena_release_sub_plan(); + // nested types ---------------------------------------------------- - private: - const ::pg_query::SubPlan& _internal_sub_plan() const; - ::pg_query::SubPlan* _internal_mutable_sub_plan(); + // accessors ------------------------------------------------------- - public: - // .pg_query.AlternativeSubPlan alternative_sub_plan = 20 [json_name = "AlternativeSubPlan"]; - bool has_alternative_sub_plan() const; + enum : int { + kMergeWhenClausesFieldNumber = 4, + kReturningListFieldNumber = 5, + kRelationFieldNumber = 1, + kSourceRelationFieldNumber = 2, + kJoinConditionFieldNumber = 3, + kWithClauseFieldNumber = 6, + }; + // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; + int merge_when_clauses_size() const; private: - bool _internal_has_alternative_sub_plan() const; + int _internal_merge_when_clauses_size() const; public: - void clear_alternative_sub_plan() ; - const ::pg_query::AlternativeSubPlan& alternative_sub_plan() const; - PROTOBUF_NODISCARD ::pg_query::AlternativeSubPlan* release_alternative_sub_plan(); - ::pg_query::AlternativeSubPlan* mutable_alternative_sub_plan(); - void set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); - void unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); - ::pg_query::AlternativeSubPlan* unsafe_arena_release_alternative_sub_plan(); - + void clear_merge_when_clauses() ; + ::pg_query::Node* mutable_merge_when_clauses(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_merge_when_clauses(); private: - const ::pg_query::AlternativeSubPlan& _internal_alternative_sub_plan() const; - ::pg_query::AlternativeSubPlan* _internal_mutable_alternative_sub_plan(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_when_clauses() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_when_clauses(); public: - // .pg_query.FieldSelect field_select = 21 [json_name = "FieldSelect"]; - bool has_field_select() const; + const ::pg_query::Node& merge_when_clauses(int index) const; + ::pg_query::Node* add_merge_when_clauses(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + merge_when_clauses() const; + // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; + int returning_list_size() const; private: - bool _internal_has_field_select() const; + int _internal_returning_list_size() const; public: - void clear_field_select() ; - const ::pg_query::FieldSelect& field_select() const; - PROTOBUF_NODISCARD ::pg_query::FieldSelect* release_field_select(); - ::pg_query::FieldSelect* mutable_field_select(); - void set_allocated_field_select(::pg_query::FieldSelect* value); - void unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value); - ::pg_query::FieldSelect* unsafe_arena_release_field_select(); - + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); private: - const ::pg_query::FieldSelect& _internal_field_select() const; - ::pg_query::FieldSelect* _internal_mutable_field_select(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); public: - // .pg_query.FieldStore field_store = 22 [json_name = "FieldStore"]; - bool has_field_store() const; + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + private: - bool _internal_has_field_store() const; + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - void clear_field_store() ; - const ::pg_query::FieldStore& field_store() const; - PROTOBUF_NODISCARD ::pg_query::FieldStore* release_field_store(); - ::pg_query::FieldStore* mutable_field_store(); - void set_allocated_field_store(::pg_query::FieldStore* value); - void unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value); - ::pg_query::FieldStore* unsafe_arena_release_field_store(); + // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; + bool has_source_relation() const; + void clear_source_relation() ; + const ::pg_query::Node& source_relation() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_source_relation(); + ::pg_query::Node* mutable_source_relation(); + void set_allocated_source_relation(::pg_query::Node* value); + void unsafe_arena_set_allocated_source_relation(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_source_relation(); private: - const ::pg_query::FieldStore& _internal_field_store() const; - ::pg_query::FieldStore* _internal_mutable_field_store(); + const ::pg_query::Node& _internal_source_relation() const; + ::pg_query::Node* _internal_mutable_source_relation(); public: - // .pg_query.RelabelType relabel_type = 23 [json_name = "RelabelType"]; - bool has_relabel_type() const; + // .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; + bool has_join_condition() const; + void clear_join_condition() ; + const ::pg_query::Node& join_condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_join_condition(); + ::pg_query::Node* mutable_join_condition(); + void set_allocated_join_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_join_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_join_condition(); + private: - bool _internal_has_relabel_type() const; + const ::pg_query::Node& _internal_join_condition() const; + ::pg_query::Node* _internal_mutable_join_condition(); public: - void clear_relabel_type() ; - const ::pg_query::RelabelType& relabel_type() const; - PROTOBUF_NODISCARD ::pg_query::RelabelType* release_relabel_type(); - ::pg_query::RelabelType* mutable_relabel_type(); - void set_allocated_relabel_type(::pg_query::RelabelType* value); - void unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value); - ::pg_query::RelabelType* unsafe_arena_release_relabel_type(); + // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); private: - const ::pg_query::RelabelType& _internal_relabel_type() const; - ::pg_query::RelabelType* _internal_mutable_relabel_type(); + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); public: - // .pg_query.CoerceViaIO coerce_via_io = 24 [json_name = "CoerceViaIO"]; - bool has_coerce_via_io() const; - private: - bool _internal_has_coerce_via_io() const; + // @@protoc_insertion_point(class_scope:pg_query.MergeStmt) + private: + class _Internal; - public: - void clear_coerce_via_io() ; - const ::pg_query::CoerceViaIO& coerce_via_io() const; - PROTOBUF_NODISCARD ::pg_query::CoerceViaIO* release_coerce_via_io(); - ::pg_query::CoerceViaIO* mutable_coerce_via_io(); - void set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); - void unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); - ::pg_query::CoerceViaIO* unsafe_arena_release_coerce_via_io(); - - private: - const ::pg_query::CoerceViaIO& _internal_coerce_via_io() const; - ::pg_query::CoerceViaIO* _internal_mutable_coerce_via_io(); - - public: - // .pg_query.ArrayCoerceExpr array_coerce_expr = 25 [json_name = "ArrayCoerceExpr"]; - bool has_array_coerce_expr() const; - private: - bool _internal_has_array_coerce_expr() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - void clear_array_coerce_expr() ; - const ::pg_query::ArrayCoerceExpr& array_coerce_expr() const; - PROTOBUF_NODISCARD ::pg_query::ArrayCoerceExpr* release_array_coerce_expr(); - ::pg_query::ArrayCoerceExpr* mutable_array_coerce_expr(); - void set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); - void unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); - ::pg_query::ArrayCoerceExpr* unsafe_arena_release_array_coerce_expr(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_when_clauses_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* source_relation_; + ::pg_query::Node* join_condition_; + ::pg_query::WithClause* with_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - private: - const ::pg_query::ArrayCoerceExpr& _internal_array_coerce_expr() const; - ::pg_query::ArrayCoerceExpr* _internal_mutable_array_coerce_expr(); +class MergeSupportFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeSupportFunc) */ { + public: + inline MergeSupportFunc() : MergeSupportFunc(nullptr) {} + ~MergeSupportFunc() override; + template + explicit PROTOBUF_CONSTEXPR MergeSupportFunc(::google::protobuf::internal::ConstantInitialized); - public: - // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 26 [json_name = "ConvertRowtypeExpr"]; - bool has_convert_rowtype_expr() const; - private: - bool _internal_has_convert_rowtype_expr() const; + inline MergeSupportFunc(const MergeSupportFunc& from) + : MergeSupportFunc(nullptr, from) {} + MergeSupportFunc(MergeSupportFunc&& from) noexcept + : MergeSupportFunc() { + *this = ::std::move(from); + } - public: - void clear_convert_rowtype_expr() ; - const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr() const; - PROTOBUF_NODISCARD ::pg_query::ConvertRowtypeExpr* release_convert_rowtype_expr(); - ::pg_query::ConvertRowtypeExpr* mutable_convert_rowtype_expr(); - void set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); - void unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); - ::pg_query::ConvertRowtypeExpr* unsafe_arena_release_convert_rowtype_expr(); + inline MergeSupportFunc& operator=(const MergeSupportFunc& from) { + CopyFrom(from); + return *this; + } + inline MergeSupportFunc& operator=(MergeSupportFunc&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - private: - const ::pg_query::ConvertRowtypeExpr& _internal_convert_rowtype_expr() const; - ::pg_query::ConvertRowtypeExpr* _internal_mutable_convert_rowtype_expr(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - public: - // .pg_query.CollateExpr collate_expr = 27 [json_name = "CollateExpr"]; - bool has_collate_expr() const; - private: - bool _internal_has_collate_expr() const; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeSupportFunc& default_instance() { + return *internal_default_instance(); + } + static inline const MergeSupportFunc* internal_default_instance() { + return reinterpret_cast( + &_MergeSupportFunc_default_instance_); + } + static constexpr int kIndexInFileMessages = + 22; - public: - void clear_collate_expr() ; - const ::pg_query::CollateExpr& collate_expr() const; - PROTOBUF_NODISCARD ::pg_query::CollateExpr* release_collate_expr(); - ::pg_query::CollateExpr* mutable_collate_expr(); - void set_allocated_collate_expr(::pg_query::CollateExpr* value); - void unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value); - ::pg_query::CollateExpr* unsafe_arena_release_collate_expr(); + friend void swap(MergeSupportFunc& a, MergeSupportFunc& b) { + a.Swap(&b); + } + inline void Swap(MergeSupportFunc* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeSupportFunc* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - private: - const ::pg_query::CollateExpr& _internal_collate_expr() const; - ::pg_query::CollateExpr* _internal_mutable_collate_expr(); + // implements Message ---------------------------------------------- - public: - // .pg_query.CaseExpr case_expr = 28 [json_name = "CaseExpr"]; - bool has_case_expr() const; + MergeSupportFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeSupportFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeSupportFunc& from) { + MergeSupportFunc::MergeImpl(*this, from); + } private: - bool _internal_has_case_expr() const; - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_case_expr() ; - const ::pg_query::CaseExpr& case_expr() const; - PROTOBUF_NODISCARD ::pg_query::CaseExpr* release_case_expr(); - ::pg_query::CaseExpr* mutable_case_expr(); - void set_allocated_case_expr(::pg_query::CaseExpr* value); - void unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value); - ::pg_query::CaseExpr* unsafe_arena_release_case_expr(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - private: - const ::pg_query::CaseExpr& _internal_case_expr() const; - ::pg_query::CaseExpr* _internal_mutable_case_expr(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - public: - // .pg_query.CaseWhen case_when = 29 [json_name = "CaseWhen"]; - bool has_case_when() const; private: - bool _internal_has_case_when() const; - - public: - void clear_case_when() ; - const ::pg_query::CaseWhen& case_when() const; - PROTOBUF_NODISCARD ::pg_query::CaseWhen* release_case_when(); - ::pg_query::CaseWhen* mutable_case_when(); - void set_allocated_case_when(::pg_query::CaseWhen* value); - void unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value); - ::pg_query::CaseWhen* unsafe_arena_release_case_when(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeSupportFunc* other); private: - const ::pg_query::CaseWhen& _internal_case_when() const; - ::pg_query::CaseWhen* _internal_mutable_case_when(); - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeSupportFunc"; + } + protected: + explicit MergeSupportFunc(::google::protobuf::Arena* arena); + MergeSupportFunc(::google::protobuf::Arena* arena, const MergeSupportFunc& from); public: - // .pg_query.CaseTestExpr case_test_expr = 30 [json_name = "CaseTestExpr"]; - bool has_case_test_expr() const; - private: - bool _internal_has_case_test_expr() const; - public: - void clear_case_test_expr() ; - const ::pg_query::CaseTestExpr& case_test_expr() const; - PROTOBUF_NODISCARD ::pg_query::CaseTestExpr* release_case_test_expr(); - ::pg_query::CaseTestExpr* mutable_case_test_expr(); - void set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); - void unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); - ::pg_query::CaseTestExpr* unsafe_arena_release_case_test_expr(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - private: - const ::pg_query::CaseTestExpr& _internal_case_test_expr() const; - ::pg_query::CaseTestExpr* _internal_mutable_case_test_expr(); + ::google::protobuf::Metadata GetMetadata() const final; - public: - // .pg_query.ArrayExpr array_expr = 31 [json_name = "ArrayExpr"]; - bool has_array_expr() const; - private: - bool _internal_has_array_expr() const; + // nested types ---------------------------------------------------- - public: - void clear_array_expr() ; - const ::pg_query::ArrayExpr& array_expr() const; - PROTOBUF_NODISCARD ::pg_query::ArrayExpr* release_array_expr(); - ::pg_query::ArrayExpr* mutable_array_expr(); - void set_allocated_array_expr(::pg_query::ArrayExpr* value); - void unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value); - ::pg_query::ArrayExpr* unsafe_arena_release_array_expr(); + // accessors ------------------------------------------------------- - private: - const ::pg_query::ArrayExpr& _internal_array_expr() const; - ::pg_query::ArrayExpr* _internal_mutable_array_expr(); + enum : int { + kXprFieldNumber = 1, + kMsftypeFieldNumber = 2, + kMsfcollidFieldNumber = 3, + kLocationFieldNumber = 4, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - public: - // .pg_query.RowExpr row_expr = 32 [json_name = "RowExpr"]; - bool has_row_expr() const; private: - bool _internal_has_row_expr() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_row_expr() ; - const ::pg_query::RowExpr& row_expr() const; - PROTOBUF_NODISCARD ::pg_query::RowExpr* release_row_expr(); - ::pg_query::RowExpr* mutable_row_expr(); - void set_allocated_row_expr(::pg_query::RowExpr* value); - void unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value); - ::pg_query::RowExpr* unsafe_arena_release_row_expr(); + // uint32 msftype = 2 [json_name = "msftype"]; + void clear_msftype() ; + ::uint32_t msftype() const; + void set_msftype(::uint32_t value); private: - const ::pg_query::RowExpr& _internal_row_expr() const; - ::pg_query::RowExpr* _internal_mutable_row_expr(); - - public: - // .pg_query.RowCompareExpr row_compare_expr = 33 [json_name = "RowCompareExpr"]; - bool has_row_compare_expr() const; - private: - bool _internal_has_row_compare_expr() const; + ::uint32_t _internal_msftype() const; + void _internal_set_msftype(::uint32_t value); public: - void clear_row_compare_expr() ; - const ::pg_query::RowCompareExpr& row_compare_expr() const; - PROTOBUF_NODISCARD ::pg_query::RowCompareExpr* release_row_compare_expr(); - ::pg_query::RowCompareExpr* mutable_row_compare_expr(); - void set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); - void unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); - ::pg_query::RowCompareExpr* unsafe_arena_release_row_compare_expr(); - - private: - const ::pg_query::RowCompareExpr& _internal_row_compare_expr() const; - ::pg_query::RowCompareExpr* _internal_mutable_row_compare_expr(); + // uint32 msfcollid = 3 [json_name = "msfcollid"]; + void clear_msfcollid() ; + ::uint32_t msfcollid() const; + void set_msfcollid(::uint32_t value); - public: - // .pg_query.CoalesceExpr coalesce_expr = 34 [json_name = "CoalesceExpr"]; - bool has_coalesce_expr() const; private: - bool _internal_has_coalesce_expr() const; + ::uint32_t _internal_msfcollid() const; + void _internal_set_msfcollid(::uint32_t value); public: - void clear_coalesce_expr() ; - const ::pg_query::CoalesceExpr& coalesce_expr() const; - PROTOBUF_NODISCARD ::pg_query::CoalesceExpr* release_coalesce_expr(); - ::pg_query::CoalesceExpr* mutable_coalesce_expr(); - void set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); - void unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); - ::pg_query::CoalesceExpr* unsafe_arena_release_coalesce_expr(); - - private: - const ::pg_query::CoalesceExpr& _internal_coalesce_expr() const; - ::pg_query::CoalesceExpr* _internal_mutable_coalesce_expr(); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - public: - // .pg_query.MinMaxExpr min_max_expr = 35 [json_name = "MinMaxExpr"]; - bool has_min_max_expr() const; private: - bool _internal_has_min_max_expr() const; + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - void clear_min_max_expr() ; - const ::pg_query::MinMaxExpr& min_max_expr() const; - PROTOBUF_NODISCARD ::pg_query::MinMaxExpr* release_min_max_expr(); - ::pg_query::MinMaxExpr* mutable_min_max_expr(); - void set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); - void unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); - ::pg_query::MinMaxExpr* unsafe_arena_release_min_max_expr(); - - private: - const ::pg_query::MinMaxExpr& _internal_min_max_expr() const; - ::pg_query::MinMaxExpr* _internal_mutable_min_max_expr(); + // @@protoc_insertion_point(class_scope:pg_query.MergeSupportFunc) + private: + class _Internal; - public: - // .pg_query.SQLValueFunction sqlvalue_function = 36 [json_name = "SQLValueFunction"]; - bool has_sqlvalue_function() const; - private: - bool _internal_has_sqlvalue_function() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - void clear_sqlvalue_function() ; - const ::pg_query::SQLValueFunction& sqlvalue_function() const; - PROTOBUF_NODISCARD ::pg_query::SQLValueFunction* release_sqlvalue_function(); - ::pg_query::SQLValueFunction* mutable_sqlvalue_function(); - void set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); - void unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); - ::pg_query::SQLValueFunction* unsafe_arena_release_sqlvalue_function(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t msftype_; + ::uint32_t msfcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - private: - const ::pg_query::SQLValueFunction& _internal_sqlvalue_function() const; - ::pg_query::SQLValueFunction* _internal_mutable_sqlvalue_function(); +class MergeWhenClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeWhenClause) */ { + public: + inline MergeWhenClause() : MergeWhenClause(nullptr) {} + ~MergeWhenClause() override; + template + explicit PROTOBUF_CONSTEXPR MergeWhenClause(::google::protobuf::internal::ConstantInitialized); - public: - // .pg_query.XmlExpr xml_expr = 37 [json_name = "XmlExpr"]; - bool has_xml_expr() const; - private: - bool _internal_has_xml_expr() const; + inline MergeWhenClause(const MergeWhenClause& from) + : MergeWhenClause(nullptr, from) {} + MergeWhenClause(MergeWhenClause&& from) noexcept + : MergeWhenClause() { + *this = ::std::move(from); + } - public: - void clear_xml_expr() ; - const ::pg_query::XmlExpr& xml_expr() const; - PROTOBUF_NODISCARD ::pg_query::XmlExpr* release_xml_expr(); - ::pg_query::XmlExpr* mutable_xml_expr(); - void set_allocated_xml_expr(::pg_query::XmlExpr* value); - void unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value); - ::pg_query::XmlExpr* unsafe_arena_release_xml_expr(); + inline MergeWhenClause& operator=(const MergeWhenClause& from) { + CopyFrom(from); + return *this; + } + inline MergeWhenClause& operator=(MergeWhenClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - private: - const ::pg_query::XmlExpr& _internal_xml_expr() const; - ::pg_query::XmlExpr* _internal_mutable_xml_expr(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - public: - // .pg_query.JsonFormat json_format = 38 [json_name = "JsonFormat"]; - bool has_json_format() const; - private: - bool _internal_has_json_format() const; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeWhenClause& default_instance() { + return *internal_default_instance(); + } + static inline const MergeWhenClause* internal_default_instance() { + return reinterpret_cast( + &_MergeWhenClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 124; - public: - void clear_json_format() ; - const ::pg_query::JsonFormat& json_format() const; - PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_json_format(); - ::pg_query::JsonFormat* mutable_json_format(); - void set_allocated_json_format(::pg_query::JsonFormat* value); - void unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value); - ::pg_query::JsonFormat* unsafe_arena_release_json_format(); + friend void swap(MergeWhenClause& a, MergeWhenClause& b) { + a.Swap(&b); + } + inline void Swap(MergeWhenClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeWhenClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - private: - const ::pg_query::JsonFormat& _internal_json_format() const; - ::pg_query::JsonFormat* _internal_mutable_json_format(); + // implements Message ---------------------------------------------- - public: - // .pg_query.JsonReturning json_returning = 39 [json_name = "JsonReturning"]; - bool has_json_returning() const; + MergeWhenClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeWhenClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeWhenClause& from) { + MergeWhenClause::MergeImpl(*this, from); + } private: - bool _internal_has_json_returning() const; - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_json_returning() ; - const ::pg_query::JsonReturning& json_returning() const; - PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_json_returning(); - ::pg_query::JsonReturning* mutable_json_returning(); - void set_allocated_json_returning(::pg_query::JsonReturning* value); - void unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value); - ::pg_query::JsonReturning* unsafe_arena_release_json_returning(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - private: - const ::pg_query::JsonReturning& _internal_json_returning() const; - ::pg_query::JsonReturning* _internal_mutable_json_returning(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - public: - // .pg_query.JsonValueExpr json_value_expr = 40 [json_name = "JsonValueExpr"]; - bool has_json_value_expr() const; private: - bool _internal_has_json_value_expr() const; - - public: - void clear_json_value_expr() ; - const ::pg_query::JsonValueExpr& json_value_expr() const; - PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_json_value_expr(); - ::pg_query::JsonValueExpr* mutable_json_value_expr(); - void set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); - void unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); - ::pg_query::JsonValueExpr* unsafe_arena_release_json_value_expr(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeWhenClause* other); private: - const ::pg_query::JsonValueExpr& _internal_json_value_expr() const; - ::pg_query::JsonValueExpr* _internal_mutable_json_value_expr(); - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeWhenClause"; + } + protected: + explicit MergeWhenClause(::google::protobuf::Arena* arena); + MergeWhenClause(::google::protobuf::Arena* arena, const MergeWhenClause& from); public: - // .pg_query.JsonConstructorExpr json_constructor_expr = 41 [json_name = "JsonConstructorExpr"]; - bool has_json_constructor_expr() const; - private: - bool _internal_has_json_constructor_expr() const; - public: - void clear_json_constructor_expr() ; - const ::pg_query::JsonConstructorExpr& json_constructor_expr() const; - PROTOBUF_NODISCARD ::pg_query::JsonConstructorExpr* release_json_constructor_expr(); - ::pg_query::JsonConstructorExpr* mutable_json_constructor_expr(); - void set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); - void unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); - ::pg_query::JsonConstructorExpr* unsafe_arena_release_json_constructor_expr(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - private: - const ::pg_query::JsonConstructorExpr& _internal_json_constructor_expr() const; - ::pg_query::JsonConstructorExpr* _internal_mutable_json_constructor_expr(); + ::google::protobuf::Metadata GetMetadata() const final; - public: - // .pg_query.JsonIsPredicate json_is_predicate = 42 [json_name = "JsonIsPredicate"]; - bool has_json_is_predicate() const; - private: - bool _internal_has_json_is_predicate() const; + // nested types ---------------------------------------------------- - public: - void clear_json_is_predicate() ; - const ::pg_query::JsonIsPredicate& json_is_predicate() const; - PROTOBUF_NODISCARD ::pg_query::JsonIsPredicate* release_json_is_predicate(); - ::pg_query::JsonIsPredicate* mutable_json_is_predicate(); - void set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); - void unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); - ::pg_query::JsonIsPredicate* unsafe_arena_release_json_is_predicate(); + // accessors ------------------------------------------------------- + enum : int { + kTargetListFieldNumber = 5, + kValuesFieldNumber = 6, + kConditionFieldNumber = 4, + kMatchKindFieldNumber = 1, + kCommandTypeFieldNumber = 2, + kOverrideFieldNumber = 3, + }; + // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; + int target_list_size() const; private: - const ::pg_query::JsonIsPredicate& _internal_json_is_predicate() const; - ::pg_query::JsonIsPredicate* _internal_mutable_json_is_predicate(); + int _internal_target_list_size() const; public: - // .pg_query.NullTest null_test = 43 [json_name = "NullTest"]; - bool has_null_test() const; + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - bool _internal_has_null_test() const; - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - void clear_null_test() ; - const ::pg_query::NullTest& null_test() const; - PROTOBUF_NODISCARD ::pg_query::NullTest* release_null_test(); - ::pg_query::NullTest* mutable_null_test(); - void set_allocated_null_test(::pg_query::NullTest* value); - void unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value); - ::pg_query::NullTest* unsafe_arena_release_null_test(); - + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node values = 6 [json_name = "values"]; + int values_size() const; private: - const ::pg_query::NullTest& _internal_null_test() const; - ::pg_query::NullTest* _internal_mutable_null_test(); + int _internal_values_size() const; public: - // .pg_query.BooleanTest boolean_test = 44 [json_name = "BooleanTest"]; - bool has_boolean_test() const; + void clear_values() ; + ::pg_query::Node* mutable_values(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_values(); private: - bool _internal_has_boolean_test() const; - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values(); public: - void clear_boolean_test() ; - const ::pg_query::BooleanTest& boolean_test() const; - PROTOBUF_NODISCARD ::pg_query::BooleanTest* release_boolean_test(); - ::pg_query::BooleanTest* mutable_boolean_test(); - void set_allocated_boolean_test(::pg_query::BooleanTest* value); - void unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value); - ::pg_query::BooleanTest* unsafe_arena_release_boolean_test(); - - private: - const ::pg_query::BooleanTest& _internal_boolean_test() const; - ::pg_query::BooleanTest* _internal_mutable_boolean_test(); + const ::pg_query::Node& values(int index) const; + ::pg_query::Node* add_values(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + values() const; + // .pg_query.Node condition = 4 [json_name = "condition"]; + bool has_condition() const; + void clear_condition() ; + const ::pg_query::Node& condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_condition(); + ::pg_query::Node* mutable_condition(); + void set_allocated_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_condition(); - public: - // .pg_query.CoerceToDomain coerce_to_domain = 45 [json_name = "CoerceToDomain"]; - bool has_coerce_to_domain() const; private: - bool _internal_has_coerce_to_domain() const; + const ::pg_query::Node& _internal_condition() const; + ::pg_query::Node* _internal_mutable_condition(); public: - void clear_coerce_to_domain() ; - const ::pg_query::CoerceToDomain& coerce_to_domain() const; - PROTOBUF_NODISCARD ::pg_query::CoerceToDomain* release_coerce_to_domain(); - ::pg_query::CoerceToDomain* mutable_coerce_to_domain(); - void set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); - void unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); - ::pg_query::CoerceToDomain* unsafe_arena_release_coerce_to_domain(); - - private: - const ::pg_query::CoerceToDomain& _internal_coerce_to_domain() const; - ::pg_query::CoerceToDomain* _internal_mutable_coerce_to_domain(); + // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; + void clear_match_kind() ; + ::pg_query::MergeMatchKind match_kind() const; + void set_match_kind(::pg_query::MergeMatchKind value); - public: - // .pg_query.CoerceToDomainValue coerce_to_domain_value = 46 [json_name = "CoerceToDomainValue"]; - bool has_coerce_to_domain_value() const; private: - bool _internal_has_coerce_to_domain_value() const; + ::pg_query::MergeMatchKind _internal_match_kind() const; + void _internal_set_match_kind(::pg_query::MergeMatchKind value); public: - void clear_coerce_to_domain_value() ; - const ::pg_query::CoerceToDomainValue& coerce_to_domain_value() const; - PROTOBUF_NODISCARD ::pg_query::CoerceToDomainValue* release_coerce_to_domain_value(); - ::pg_query::CoerceToDomainValue* mutable_coerce_to_domain_value(); - void set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); - void unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); - ::pg_query::CoerceToDomainValue* unsafe_arena_release_coerce_to_domain_value(); - - private: - const ::pg_query::CoerceToDomainValue& _internal_coerce_to_domain_value() const; - ::pg_query::CoerceToDomainValue* _internal_mutable_coerce_to_domain_value(); + // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); - public: - // .pg_query.SetToDefault set_to_default = 47 [json_name = "SetToDefault"]; - bool has_set_to_default() const; private: - bool _internal_has_set_to_default() const; + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); public: - void clear_set_to_default() ; - const ::pg_query::SetToDefault& set_to_default() const; - PROTOBUF_NODISCARD ::pg_query::SetToDefault* release_set_to_default(); - ::pg_query::SetToDefault* mutable_set_to_default(); - void set_allocated_set_to_default(::pg_query::SetToDefault* value); - void unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value); - ::pg_query::SetToDefault* unsafe_arena_release_set_to_default(); - - private: - const ::pg_query::SetToDefault& _internal_set_to_default() const; - ::pg_query::SetToDefault* _internal_mutable_set_to_default(); + // .pg_query.OverridingKind override = 3 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); - public: - // .pg_query.CurrentOfExpr current_of_expr = 48 [json_name = "CurrentOfExpr"]; - bool has_current_of_expr() const; private: - bool _internal_has_current_of_expr() const; + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); public: - void clear_current_of_expr() ; - const ::pg_query::CurrentOfExpr& current_of_expr() const; - PROTOBUF_NODISCARD ::pg_query::CurrentOfExpr* release_current_of_expr(); - ::pg_query::CurrentOfExpr* mutable_current_of_expr(); - void set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); - void unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); - ::pg_query::CurrentOfExpr* unsafe_arena_release_current_of_expr(); + // @@protoc_insertion_point(class_scope:pg_query.MergeWhenClause) + private: + class _Internal; - private: - const ::pg_query::CurrentOfExpr& _internal_current_of_expr() const; - ::pg_query::CurrentOfExpr* _internal_mutable_current_of_expr(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - // .pg_query.NextValueExpr next_value_expr = 49 [json_name = "NextValueExpr"]; - bool has_next_value_expr() const; - private: - bool _internal_has_next_value_expr() const; + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_; + ::pg_query::Node* condition_; + int match_kind_; + int command_type_; + int override_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - public: - void clear_next_value_expr() ; - const ::pg_query::NextValueExpr& next_value_expr() const; - PROTOBUF_NODISCARD ::pg_query::NextValueExpr* release_next_value_expr(); - ::pg_query::NextValueExpr* mutable_next_value_expr(); - void set_allocated_next_value_expr(::pg_query::NextValueExpr* value); - void unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value); - ::pg_query::NextValueExpr* unsafe_arena_release_next_value_expr(); +class MinMaxExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MinMaxExpr) */ { + public: + inline MinMaxExpr() : MinMaxExpr(nullptr) {} + ~MinMaxExpr() override; + template + explicit PROTOBUF_CONSTEXPR MinMaxExpr(::google::protobuf::internal::ConstantInitialized); - private: - const ::pg_query::NextValueExpr& _internal_next_value_expr() const; - ::pg_query::NextValueExpr* _internal_mutable_next_value_expr(); + inline MinMaxExpr(const MinMaxExpr& from) + : MinMaxExpr(nullptr, from) {} + MinMaxExpr(MinMaxExpr&& from) noexcept + : MinMaxExpr() { + *this = ::std::move(from); + } - public: - // .pg_query.InferenceElem inference_elem = 50 [json_name = "InferenceElem"]; - bool has_inference_elem() const; - private: - bool _internal_has_inference_elem() const; + inline MinMaxExpr& operator=(const MinMaxExpr& from) { + CopyFrom(from); + return *this; + } + inline MinMaxExpr& operator=(MinMaxExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - public: - void clear_inference_elem() ; - const ::pg_query::InferenceElem& inference_elem() const; - PROTOBUF_NODISCARD ::pg_query::InferenceElem* release_inference_elem(); - ::pg_query::InferenceElem* mutable_inference_elem(); - void set_allocated_inference_elem(::pg_query::InferenceElem* value); - void unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value); - ::pg_query::InferenceElem* unsafe_arena_release_inference_elem(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - private: - const ::pg_query::InferenceElem& _internal_inference_elem() const; - ::pg_query::InferenceElem* _internal_mutable_inference_elem(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MinMaxExpr& default_instance() { + return *internal_default_instance(); + } + static inline const MinMaxExpr* internal_default_instance() { + return reinterpret_cast( + &_MinMaxExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 48; - public: - // .pg_query.TargetEntry target_entry = 51 [json_name = "TargetEntry"]; - bool has_target_entry() const; - private: - bool _internal_has_target_entry() const; + friend void swap(MinMaxExpr& a, MinMaxExpr& b) { + a.Swap(&b); + } + inline void Swap(MinMaxExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MinMaxExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - public: - void clear_target_entry() ; - const ::pg_query::TargetEntry& target_entry() const; - PROTOBUF_NODISCARD ::pg_query::TargetEntry* release_target_entry(); - ::pg_query::TargetEntry* mutable_target_entry(); - void set_allocated_target_entry(::pg_query::TargetEntry* value); - void unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value); - ::pg_query::TargetEntry* unsafe_arena_release_target_entry(); + // implements Message ---------------------------------------------- + MinMaxExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MinMaxExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MinMaxExpr& from) { + MinMaxExpr::MergeImpl(*this, from); + } private: - const ::pg_query::TargetEntry& _internal_target_entry() const; - ::pg_query::TargetEntry* _internal_mutable_target_entry(); - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - // .pg_query.RangeTblRef range_tbl_ref = 52 [json_name = "RangeTblRef"]; - bool has_range_tbl_ref() const; - private: - bool _internal_has_range_tbl_ref() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - public: - void clear_range_tbl_ref() ; - const ::pg_query::RangeTblRef& range_tbl_ref() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblRef* release_range_tbl_ref(); - ::pg_query::RangeTblRef* mutable_range_tbl_ref(); - void set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); - void unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); - ::pg_query::RangeTblRef* unsafe_arena_release_range_tbl_ref(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - const ::pg_query::RangeTblRef& _internal_range_tbl_ref() const; - ::pg_query::RangeTblRef* _internal_mutable_range_tbl_ref(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MinMaxExpr* other); - public: - // .pg_query.JoinExpr join_expr = 53 [json_name = "JoinExpr"]; - bool has_join_expr() const; private: - bool _internal_has_join_expr() const; - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MinMaxExpr"; + } + protected: + explicit MinMaxExpr(::google::protobuf::Arena* arena); + MinMaxExpr(::google::protobuf::Arena* arena, const MinMaxExpr& from); public: - void clear_join_expr() ; - const ::pg_query::JoinExpr& join_expr() const; - PROTOBUF_NODISCARD ::pg_query::JoinExpr* release_join_expr(); - ::pg_query::JoinExpr* mutable_join_expr(); - void set_allocated_join_expr(::pg_query::JoinExpr* value); - void unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value); - ::pg_query::JoinExpr* unsafe_arena_release_join_expr(); - private: - const ::pg_query::JoinExpr& _internal_join_expr() const; - ::pg_query::JoinExpr* _internal_mutable_join_expr(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - public: - // .pg_query.FromExpr from_expr = 54 [json_name = "FromExpr"]; - bool has_from_expr() const; - private: - bool _internal_has_from_expr() const; + ::google::protobuf::Metadata GetMetadata() const final; - public: - void clear_from_expr() ; - const ::pg_query::FromExpr& from_expr() const; - PROTOBUF_NODISCARD ::pg_query::FromExpr* release_from_expr(); - ::pg_query::FromExpr* mutable_from_expr(); - void set_allocated_from_expr(::pg_query::FromExpr* value); - void unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value); - ::pg_query::FromExpr* unsafe_arena_release_from_expr(); + // nested types ---------------------------------------------------- - private: - const ::pg_query::FromExpr& _internal_from_expr() const; - ::pg_query::FromExpr* _internal_mutable_from_expr(); + // accessors ------------------------------------------------------- - public: - // .pg_query.OnConflictExpr on_conflict_expr = 55 [json_name = "OnConflictExpr"]; - bool has_on_conflict_expr() const; + enum : int { + kArgsFieldNumber = 6, + kXprFieldNumber = 1, + kMinmaxtypeFieldNumber = 2, + kMinmaxcollidFieldNumber = 3, + kInputcollidFieldNumber = 4, + kOpFieldNumber = 5, + kLocationFieldNumber = 7, + }; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; private: - bool _internal_has_on_conflict_expr() const; + int _internal_args_size() const; public: - void clear_on_conflict_expr() ; - const ::pg_query::OnConflictExpr& on_conflict_expr() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict_expr(); - ::pg_query::OnConflictExpr* mutable_on_conflict_expr(); - void set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); - void unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); - ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict_expr(); - + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::OnConflictExpr& _internal_on_conflict_expr() const; - ::pg_query::OnConflictExpr* _internal_mutable_on_conflict_expr(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - // .pg_query.Query query = 56 [json_name = "Query"]; - bool has_query() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - bool _internal_has_query() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_query() ; - const ::pg_query::Query& query() const; - PROTOBUF_NODISCARD ::pg_query::Query* release_query(); - ::pg_query::Query* mutable_query(); - void set_allocated_query(::pg_query::Query* value); - void unsafe_arena_set_allocated_query(::pg_query::Query* value); - ::pg_query::Query* unsafe_arena_release_query(); + // uint32 minmaxtype = 2 [json_name = "minmaxtype"]; + void clear_minmaxtype() ; + ::uint32_t minmaxtype() const; + void set_minmaxtype(::uint32_t value); private: - const ::pg_query::Query& _internal_query() const; - ::pg_query::Query* _internal_mutable_query(); + ::uint32_t _internal_minmaxtype() const; + void _internal_set_minmaxtype(::uint32_t value); public: - // .pg_query.TypeName type_name = 57 [json_name = "TypeName"]; - bool has_type_name() const; + // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; + void clear_minmaxcollid() ; + ::uint32_t minmaxcollid() const; + void set_minmaxcollid(::uint32_t value); + private: - bool _internal_has_type_name() const; + ::uint32_t _internal_minmaxcollid() const; + void _internal_set_minmaxcollid(::uint32_t value); public: - void clear_type_name() ; - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* value); - void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + // uint32 inputcollid = 4 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); public: - // .pg_query.ColumnRef column_ref = 58 [json_name = "ColumnRef"]; - bool has_column_ref() const; + // .pg_query.MinMaxOp op = 5 [json_name = "op"]; + void clear_op() ; + ::pg_query::MinMaxOp op() const; + void set_op(::pg_query::MinMaxOp value); + private: - bool _internal_has_column_ref() const; + ::pg_query::MinMaxOp _internal_op() const; + void _internal_set_op(::pg_query::MinMaxOp value); public: - void clear_column_ref() ; - const ::pg_query::ColumnRef& column_ref() const; - PROTOBUF_NODISCARD ::pg_query::ColumnRef* release_column_ref(); - ::pg_query::ColumnRef* mutable_column_ref(); - void set_allocated_column_ref(::pg_query::ColumnRef* value); - void unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value); - ::pg_query::ColumnRef* unsafe_arena_release_column_ref(); + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - const ::pg_query::ColumnRef& _internal_column_ref() const; - ::pg_query::ColumnRef* _internal_mutable_column_ref(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // .pg_query.ParamRef param_ref = 59 [json_name = "ParamRef"]; - bool has_param_ref() const; - private: - bool _internal_has_param_ref() const; - - public: - void clear_param_ref() ; - const ::pg_query::ParamRef& param_ref() const; - PROTOBUF_NODISCARD ::pg_query::ParamRef* release_param_ref(); - ::pg_query::ParamRef* mutable_param_ref(); - void set_allocated_param_ref(::pg_query::ParamRef* value); - void unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value); - ::pg_query::ParamRef* unsafe_arena_release_param_ref(); - - private: - const ::pg_query::ParamRef& _internal_param_ref() const; - ::pg_query::ParamRef* _internal_mutable_param_ref(); + // @@protoc_insertion_point(class_scope:pg_query.MinMaxExpr) + private: + class _Internal; - public: - // .pg_query.A_Expr a_expr = 60 [json_name = "A_Expr"]; - bool has_a_expr() const; - private: - bool _internal_has_a_expr() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - void clear_a_expr() ; - const ::pg_query::A_Expr& a_expr() const; - PROTOBUF_NODISCARD ::pg_query::A_Expr* release_a_expr(); - ::pg_query::A_Expr* mutable_a_expr(); - void set_allocated_a_expr(::pg_query::A_Expr* value); - void unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value); - ::pg_query::A_Expr* unsafe_arena_release_a_expr(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t minmaxtype_; + ::uint32_t minmaxcollid_; + ::uint32_t inputcollid_; + int op_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - private: - const ::pg_query::A_Expr& _internal_a_expr() const; - ::pg_query::A_Expr* _internal_mutable_a_expr(); +class MultiAssignRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MultiAssignRef) */ { + public: + inline MultiAssignRef() : MultiAssignRef(nullptr) {} + ~MultiAssignRef() override; + template + explicit PROTOBUF_CONSTEXPR MultiAssignRef(::google::protobuf::internal::ConstantInitialized); - public: - // .pg_query.TypeCast type_cast = 61 [json_name = "TypeCast"]; - bool has_type_cast() const; - private: - bool _internal_has_type_cast() const; + inline MultiAssignRef(const MultiAssignRef& from) + : MultiAssignRef(nullptr, from) {} + MultiAssignRef(MultiAssignRef&& from) noexcept + : MultiAssignRef() { + *this = ::std::move(from); + } - public: - void clear_type_cast() ; - const ::pg_query::TypeCast& type_cast() const; - PROTOBUF_NODISCARD ::pg_query::TypeCast* release_type_cast(); - ::pg_query::TypeCast* mutable_type_cast(); - void set_allocated_type_cast(::pg_query::TypeCast* value); - void unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value); - ::pg_query::TypeCast* unsafe_arena_release_type_cast(); + inline MultiAssignRef& operator=(const MultiAssignRef& from) { + CopyFrom(from); + return *this; + } + inline MultiAssignRef& operator=(MultiAssignRef&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - private: - const ::pg_query::TypeCast& _internal_type_cast() const; - ::pg_query::TypeCast* _internal_mutable_type_cast(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - public: - // .pg_query.CollateClause collate_clause = 62 [json_name = "CollateClause"]; - bool has_collate_clause() const; - private: - bool _internal_has_collate_clause() const; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MultiAssignRef& default_instance() { + return *internal_default_instance(); + } + static inline const MultiAssignRef* internal_default_instance() { + return reinterpret_cast( + &_MultiAssignRef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 89; - public: - void clear_collate_clause() ; - const ::pg_query::CollateClause& collate_clause() const; - PROTOBUF_NODISCARD ::pg_query::CollateClause* release_collate_clause(); - ::pg_query::CollateClause* mutable_collate_clause(); - void set_allocated_collate_clause(::pg_query::CollateClause* value); - void unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value); - ::pg_query::CollateClause* unsafe_arena_release_collate_clause(); + friend void swap(MultiAssignRef& a, MultiAssignRef& b) { + a.Swap(&b); + } + inline void Swap(MultiAssignRef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MultiAssignRef* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - private: - const ::pg_query::CollateClause& _internal_collate_clause() const; - ::pg_query::CollateClause* _internal_mutable_collate_clause(); + // implements Message ---------------------------------------------- - public: - // .pg_query.RoleSpec role_spec = 63 [json_name = "RoleSpec"]; - bool has_role_spec() const; + MultiAssignRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MultiAssignRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MultiAssignRef& from) { + MultiAssignRef::MergeImpl(*this, from); + } private: - bool _internal_has_role_spec() const; - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_role_spec() ; - const ::pg_query::RoleSpec& role_spec() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role_spec(); - ::pg_query::RoleSpec* mutable_role_spec(); - void set_allocated_role_spec(::pg_query::RoleSpec* value); - void unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value); - ::pg_query::RoleSpec* unsafe_arena_release_role_spec(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - private: - const ::pg_query::RoleSpec& _internal_role_spec() const; - ::pg_query::RoleSpec* _internal_mutable_role_spec(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - public: - // .pg_query.FuncCall func_call = 64 [json_name = "FuncCall"]; - bool has_func_call() const; private: - bool _internal_has_func_call() const; - - public: - void clear_func_call() ; - const ::pg_query::FuncCall& func_call() const; - PROTOBUF_NODISCARD ::pg_query::FuncCall* release_func_call(); - ::pg_query::FuncCall* mutable_func_call(); - void set_allocated_func_call(::pg_query::FuncCall* value); - void unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value); - ::pg_query::FuncCall* unsafe_arena_release_func_call(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MultiAssignRef* other); private: - const ::pg_query::FuncCall& _internal_func_call() const; - ::pg_query::FuncCall* _internal_mutable_func_call(); - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MultiAssignRef"; + } + protected: + explicit MultiAssignRef(::google::protobuf::Arena* arena); + MultiAssignRef(::google::protobuf::Arena* arena, const MultiAssignRef& from); public: - // .pg_query.A_Star a_star = 65 [json_name = "A_Star"]; - bool has_a_star() const; - private: - bool _internal_has_a_star() const; - public: - void clear_a_star() ; - const ::pg_query::A_Star& a_star() const; - PROTOBUF_NODISCARD ::pg_query::A_Star* release_a_star(); - ::pg_query::A_Star* mutable_a_star(); - void set_allocated_a_star(::pg_query::A_Star* value); - void unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value); - ::pg_query::A_Star* unsafe_arena_release_a_star(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - private: - const ::pg_query::A_Star& _internal_a_star() const; - ::pg_query::A_Star* _internal_mutable_a_star(); + ::google::protobuf::Metadata GetMetadata() const final; - public: - // .pg_query.A_Indices a_indices = 66 [json_name = "A_Indices"]; - bool has_a_indices() const; - private: - bool _internal_has_a_indices() const; + // nested types ---------------------------------------------------- - public: - void clear_a_indices() ; - const ::pg_query::A_Indices& a_indices() const; - PROTOBUF_NODISCARD ::pg_query::A_Indices* release_a_indices(); - ::pg_query::A_Indices* mutable_a_indices(); - void set_allocated_a_indices(::pg_query::A_Indices* value); - void unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value); - ::pg_query::A_Indices* unsafe_arena_release_a_indices(); + // accessors ------------------------------------------------------- - private: - const ::pg_query::A_Indices& _internal_a_indices() const; - ::pg_query::A_Indices* _internal_mutable_a_indices(); + enum : int { + kSourceFieldNumber = 1, + kColnoFieldNumber = 2, + kNcolumnsFieldNumber = 3, + }; + // .pg_query.Node source = 1 [json_name = "source"]; + bool has_source() const; + void clear_source() ; + const ::pg_query::Node& source() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_source(); + ::pg_query::Node* mutable_source(); + void set_allocated_source(::pg_query::Node* value); + void unsafe_arena_set_allocated_source(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_source(); - public: - // .pg_query.A_Indirection a_indirection = 67 [json_name = "A_Indirection"]; - bool has_a_indirection() const; private: - bool _internal_has_a_indirection() const; + const ::pg_query::Node& _internal_source() const; + ::pg_query::Node* _internal_mutable_source(); public: - void clear_a_indirection() ; - const ::pg_query::A_Indirection& a_indirection() const; - PROTOBUF_NODISCARD ::pg_query::A_Indirection* release_a_indirection(); - ::pg_query::A_Indirection* mutable_a_indirection(); - void set_allocated_a_indirection(::pg_query::A_Indirection* value); - void unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value); - ::pg_query::A_Indirection* unsafe_arena_release_a_indirection(); - - private: - const ::pg_query::A_Indirection& _internal_a_indirection() const; - ::pg_query::A_Indirection* _internal_mutable_a_indirection(); + // int32 colno = 2 [json_name = "colno"]; + void clear_colno() ; + ::int32_t colno() const; + void set_colno(::int32_t value); - public: - // .pg_query.A_ArrayExpr a_array_expr = 68 [json_name = "A_ArrayExpr"]; - bool has_a_array_expr() const; private: - bool _internal_has_a_array_expr() const; + ::int32_t _internal_colno() const; + void _internal_set_colno(::int32_t value); public: - void clear_a_array_expr() ; - const ::pg_query::A_ArrayExpr& a_array_expr() const; - PROTOBUF_NODISCARD ::pg_query::A_ArrayExpr* release_a_array_expr(); - ::pg_query::A_ArrayExpr* mutable_a_array_expr(); - void set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); - void unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); - ::pg_query::A_ArrayExpr* unsafe_arena_release_a_array_expr(); - - private: - const ::pg_query::A_ArrayExpr& _internal_a_array_expr() const; - ::pg_query::A_ArrayExpr* _internal_mutable_a_array_expr(); + // int32 ncolumns = 3 [json_name = "ncolumns"]; + void clear_ncolumns() ; + ::int32_t ncolumns() const; + void set_ncolumns(::int32_t value); - public: - // .pg_query.ResTarget res_target = 69 [json_name = "ResTarget"]; - bool has_res_target() const; private: - bool _internal_has_res_target() const; + ::int32_t _internal_ncolumns() const; + void _internal_set_ncolumns(::int32_t value); public: - void clear_res_target() ; - const ::pg_query::ResTarget& res_target() const; - PROTOBUF_NODISCARD ::pg_query::ResTarget* release_res_target(); - ::pg_query::ResTarget* mutable_res_target(); - void set_allocated_res_target(::pg_query::ResTarget* value); - void unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value); - ::pg_query::ResTarget* unsafe_arena_release_res_target(); - - private: - const ::pg_query::ResTarget& _internal_res_target() const; - ::pg_query::ResTarget* _internal_mutable_res_target(); + // @@protoc_insertion_point(class_scope:pg_query.MultiAssignRef) + private: + class _Internal; - public: - // .pg_query.MultiAssignRef multi_assign_ref = 70 [json_name = "MultiAssignRef"]; - bool has_multi_assign_ref() const; - private: - bool _internal_has_multi_assign_ref() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - void clear_multi_assign_ref() ; - const ::pg_query::MultiAssignRef& multi_assign_ref() const; - PROTOBUF_NODISCARD ::pg_query::MultiAssignRef* release_multi_assign_ref(); - ::pg_query::MultiAssignRef* mutable_multi_assign_ref(); - void set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); - void unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); - ::pg_query::MultiAssignRef* unsafe_arena_release_multi_assign_ref(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* source_; + ::int32_t colno_; + ::int32_t ncolumns_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - private: - const ::pg_query::MultiAssignRef& _internal_multi_assign_ref() const; - ::pg_query::MultiAssignRef* _internal_mutable_multi_assign_ref(); +class NamedArgExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NamedArgExpr) */ { + public: + inline NamedArgExpr() : NamedArgExpr(nullptr) {} + ~NamedArgExpr() override; + template + explicit PROTOBUF_CONSTEXPR NamedArgExpr(::google::protobuf::internal::ConstantInitialized); - public: - // .pg_query.SortBy sort_by = 71 [json_name = "SortBy"]; - bool has_sort_by() const; - private: - bool _internal_has_sort_by() const; + inline NamedArgExpr(const NamedArgExpr& from) + : NamedArgExpr(nullptr, from) {} + NamedArgExpr(NamedArgExpr&& from) noexcept + : NamedArgExpr() { + *this = ::std::move(from); + } - public: - void clear_sort_by() ; - const ::pg_query::SortBy& sort_by() const; - PROTOBUF_NODISCARD ::pg_query::SortBy* release_sort_by(); - ::pg_query::SortBy* mutable_sort_by(); - void set_allocated_sort_by(::pg_query::SortBy* value); - void unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value); - ::pg_query::SortBy* unsafe_arena_release_sort_by(); + inline NamedArgExpr& operator=(const NamedArgExpr& from) { + CopyFrom(from); + return *this; + } + inline NamedArgExpr& operator=(NamedArgExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - private: - const ::pg_query::SortBy& _internal_sort_by() const; - ::pg_query::SortBy* _internal_mutable_sort_by(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - public: - // .pg_query.WindowDef window_def = 72 [json_name = "WindowDef"]; - bool has_window_def() const; - private: - bool _internal_has_window_def() const; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const NamedArgExpr& default_instance() { + return *internal_default_instance(); + } + static inline const NamedArgExpr* internal_default_instance() { + return reinterpret_cast( + &_NamedArgExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 25; - public: - void clear_window_def() ; - const ::pg_query::WindowDef& window_def() const; - PROTOBUF_NODISCARD ::pg_query::WindowDef* release_window_def(); - ::pg_query::WindowDef* mutable_window_def(); - void set_allocated_window_def(::pg_query::WindowDef* value); - void unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value); - ::pg_query::WindowDef* unsafe_arena_release_window_def(); + friend void swap(NamedArgExpr& a, NamedArgExpr& b) { + a.Swap(&b); + } + inline void Swap(NamedArgExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(NamedArgExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - private: - const ::pg_query::WindowDef& _internal_window_def() const; - ::pg_query::WindowDef* _internal_mutable_window_def(); + // implements Message ---------------------------------------------- - public: - // .pg_query.RangeSubselect range_subselect = 73 [json_name = "RangeSubselect"]; - bool has_range_subselect() const; + NamedArgExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NamedArgExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NamedArgExpr& from) { + NamedArgExpr::MergeImpl(*this, from); + } private: - bool _internal_has_range_subselect() const; - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_range_subselect() ; - const ::pg_query::RangeSubselect& range_subselect() const; - PROTOBUF_NODISCARD ::pg_query::RangeSubselect* release_range_subselect(); - ::pg_query::RangeSubselect* mutable_range_subselect(); - void set_allocated_range_subselect(::pg_query::RangeSubselect* value); - void unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value); - ::pg_query::RangeSubselect* unsafe_arena_release_range_subselect(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - private: - const ::pg_query::RangeSubselect& _internal_range_subselect() const; - ::pg_query::RangeSubselect* _internal_mutable_range_subselect(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - public: - // .pg_query.RangeFunction range_function = 74 [json_name = "RangeFunction"]; - bool has_range_function() const; private: - bool _internal_has_range_function() const; - - public: - void clear_range_function() ; - const ::pg_query::RangeFunction& range_function() const; - PROTOBUF_NODISCARD ::pg_query::RangeFunction* release_range_function(); - ::pg_query::RangeFunction* mutable_range_function(); - void set_allocated_range_function(::pg_query::RangeFunction* value); - void unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value); - ::pg_query::RangeFunction* unsafe_arena_release_range_function(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(NamedArgExpr* other); private: - const ::pg_query::RangeFunction& _internal_range_function() const; - ::pg_query::RangeFunction* _internal_mutable_range_function(); - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NamedArgExpr"; + } + protected: + explicit NamedArgExpr(::google::protobuf::Arena* arena); + NamedArgExpr(::google::protobuf::Arena* arena, const NamedArgExpr& from); public: - // .pg_query.RangeTableFunc range_table_func = 75 [json_name = "RangeTableFunc"]; - bool has_range_table_func() const; - private: - bool _internal_has_range_table_func() const; - public: - void clear_range_table_func() ; - const ::pg_query::RangeTableFunc& range_table_func() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableFunc* release_range_table_func(); - ::pg_query::RangeTableFunc* mutable_range_table_func(); - void set_allocated_range_table_func(::pg_query::RangeTableFunc* value); - void unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value); - ::pg_query::RangeTableFunc* unsafe_arena_release_range_table_func(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - private: - const ::pg_query::RangeTableFunc& _internal_range_table_func() const; - ::pg_query::RangeTableFunc* _internal_mutable_range_table_func(); + ::google::protobuf::Metadata GetMetadata() const final; - public: - // .pg_query.RangeTableFuncCol range_table_func_col = 76 [json_name = "RangeTableFuncCol"]; - bool has_range_table_func_col() const; - private: - bool _internal_has_range_table_func_col() const; + // nested types ---------------------------------------------------- - public: - void clear_range_table_func_col() ; - const ::pg_query::RangeTableFuncCol& range_table_func_col() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableFuncCol* release_range_table_func_col(); - ::pg_query::RangeTableFuncCol* mutable_range_table_func_col(); - void set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); - void unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); - ::pg_query::RangeTableFuncCol* unsafe_arena_release_range_table_func_col(); + // accessors ------------------------------------------------------- - private: - const ::pg_query::RangeTableFuncCol& _internal_range_table_func_col() const; - ::pg_query::RangeTableFuncCol* _internal_mutable_range_table_func_col(); + enum : int { + kNameFieldNumber = 3, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kArgnumberFieldNumber = 4, + kLocationFieldNumber = 5, + }; + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - public: - // .pg_query.RangeTableSample range_table_sample = 77 [json_name = "RangeTableSample"]; - bool has_range_table_sample() const; private: - bool _internal_has_range_table_sample() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - void clear_range_table_sample() ; - const ::pg_query::RangeTableSample& range_table_sample() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableSample* release_range_table_sample(); - ::pg_query::RangeTableSample* mutable_range_table_sample(); - void set_allocated_range_table_sample(::pg_query::RangeTableSample* value); - void unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value); - ::pg_query::RangeTableSample* unsafe_arena_release_range_table_sample(); - - private: - const ::pg_query::RangeTableSample& _internal_range_table_sample() const; - ::pg_query::RangeTableSample* _internal_mutable_range_table_sample(); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - public: - // .pg_query.ColumnDef column_def = 78 [json_name = "ColumnDef"]; - bool has_column_def() const; private: - bool _internal_has_column_def() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_column_def() ; - const ::pg_query::ColumnDef& column_def() const; - PROTOBUF_NODISCARD ::pg_query::ColumnDef* release_column_def(); - ::pg_query::ColumnDef* mutable_column_def(); - void set_allocated_column_def(::pg_query::ColumnDef* value); - void unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value); - ::pg_query::ColumnDef* unsafe_arena_release_column_def(); - - private: - const ::pg_query::ColumnDef& _internal_column_def() const; - ::pg_query::ColumnDef* _internal_mutable_column_def(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - public: - // .pg_query.TableLikeClause table_like_clause = 79 [json_name = "TableLikeClause"]; - bool has_table_like_clause() const; private: - bool _internal_has_table_like_clause() const; + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); public: - void clear_table_like_clause() ; - const ::pg_query::TableLikeClause& table_like_clause() const; - PROTOBUF_NODISCARD ::pg_query::TableLikeClause* release_table_like_clause(); - ::pg_query::TableLikeClause* mutable_table_like_clause(); - void set_allocated_table_like_clause(::pg_query::TableLikeClause* value); - void unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value); - ::pg_query::TableLikeClause* unsafe_arena_release_table_like_clause(); - - private: - const ::pg_query::TableLikeClause& _internal_table_like_clause() const; - ::pg_query::TableLikeClause* _internal_mutable_table_like_clause(); + // int32 argnumber = 4 [json_name = "argnumber"]; + void clear_argnumber() ; + ::int32_t argnumber() const; + void set_argnumber(::int32_t value); - public: - // .pg_query.IndexElem index_elem = 80 [json_name = "IndexElem"]; - bool has_index_elem() const; private: - bool _internal_has_index_elem() const; + ::int32_t _internal_argnumber() const; + void _internal_set_argnumber(::int32_t value); public: - void clear_index_elem() ; - const ::pg_query::IndexElem& index_elem() const; - PROTOBUF_NODISCARD ::pg_query::IndexElem* release_index_elem(); - ::pg_query::IndexElem* mutable_index_elem(); - void set_allocated_index_elem(::pg_query::IndexElem* value); - void unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value); - ::pg_query::IndexElem* unsafe_arena_release_index_elem(); - - private: - const ::pg_query::IndexElem& _internal_index_elem() const; - ::pg_query::IndexElem* _internal_mutable_index_elem(); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - public: - // .pg_query.DefElem def_elem = 81 [json_name = "DefElem"]; - bool has_def_elem() const; private: - bool _internal_has_def_elem() const; + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - void clear_def_elem() ; - const ::pg_query::DefElem& def_elem() const; - PROTOBUF_NODISCARD ::pg_query::DefElem* release_def_elem(); - ::pg_query::DefElem* mutable_def_elem(); - void set_allocated_def_elem(::pg_query::DefElem* value); - void unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value); - ::pg_query::DefElem* unsafe_arena_release_def_elem(); - - private: - const ::pg_query::DefElem& _internal_def_elem() const; - ::pg_query::DefElem* _internal_mutable_def_elem(); + // @@protoc_insertion_point(class_scope:pg_query.NamedArgExpr) + private: + class _Internal; - public: - // .pg_query.LockingClause locking_clause = 82 [json_name = "LockingClause"]; - bool has_locking_clause() const; - private: - bool _internal_has_locking_clause() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - public: - void clear_locking_clause() ; - const ::pg_query::LockingClause& locking_clause() const; - PROTOBUF_NODISCARD ::pg_query::LockingClause* release_locking_clause(); - ::pg_query::LockingClause* mutable_locking_clause(); - void set_allocated_locking_clause(::pg_query::LockingClause* value); - void unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value); - ::pg_query::LockingClause* unsafe_arena_release_locking_clause(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::int32_t argnumber_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - private: - const ::pg_query::LockingClause& _internal_locking_clause() const; - ::pg_query::LockingClause* _internal_mutable_locking_clause(); +class NextValueExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NextValueExpr) */ { + public: + inline NextValueExpr() : NextValueExpr(nullptr) {} + ~NextValueExpr() override; + template + explicit PROTOBUF_CONSTEXPR NextValueExpr(::google::protobuf::internal::ConstantInitialized); - public: - // .pg_query.XmlSerialize xml_serialize = 83 [json_name = "XmlSerialize"]; - bool has_xml_serialize() const; - private: - bool _internal_has_xml_serialize() const; + inline NextValueExpr(const NextValueExpr& from) + : NextValueExpr(nullptr, from) {} + NextValueExpr(NextValueExpr&& from) noexcept + : NextValueExpr() { + *this = ::std::move(from); + } - public: - void clear_xml_serialize() ; - const ::pg_query::XmlSerialize& xml_serialize() const; - PROTOBUF_NODISCARD ::pg_query::XmlSerialize* release_xml_serialize(); - ::pg_query::XmlSerialize* mutable_xml_serialize(); - void set_allocated_xml_serialize(::pg_query::XmlSerialize* value); - void unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value); - ::pg_query::XmlSerialize* unsafe_arena_release_xml_serialize(); + inline NextValueExpr& operator=(const NextValueExpr& from) { + CopyFrom(from); + return *this; + } + inline NextValueExpr& operator=(NextValueExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - private: - const ::pg_query::XmlSerialize& _internal_xml_serialize() const; - ::pg_query::XmlSerialize* _internal_mutable_xml_serialize(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - public: - // .pg_query.PartitionElem partition_elem = 84 [json_name = "PartitionElem"]; - bool has_partition_elem() const; - private: - bool _internal_has_partition_elem() const; + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const NextValueExpr& default_instance() { + return *internal_default_instance(); + } + static inline const NextValueExpr* internal_default_instance() { + return reinterpret_cast( + &_NextValueExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 68; - public: - void clear_partition_elem() ; - const ::pg_query::PartitionElem& partition_elem() const; - PROTOBUF_NODISCARD ::pg_query::PartitionElem* release_partition_elem(); - ::pg_query::PartitionElem* mutable_partition_elem(); - void set_allocated_partition_elem(::pg_query::PartitionElem* value); - void unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value); - ::pg_query::PartitionElem* unsafe_arena_release_partition_elem(); + friend void swap(NextValueExpr& a, NextValueExpr& b) { + a.Swap(&b); + } + inline void Swap(NextValueExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(NextValueExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - private: - const ::pg_query::PartitionElem& _internal_partition_elem() const; - ::pg_query::PartitionElem* _internal_mutable_partition_elem(); + // implements Message ---------------------------------------------- - public: - // .pg_query.PartitionSpec partition_spec = 85 [json_name = "PartitionSpec"]; - bool has_partition_spec() const; + NextValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NextValueExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NextValueExpr& from) { + NextValueExpr::MergeImpl(*this, from); + } private: - bool _internal_has_partition_spec() const; - + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_partition_spec() ; - const ::pg_query::PartitionSpec& partition_spec() const; - PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partition_spec(); - ::pg_query::PartitionSpec* mutable_partition_spec(); - void set_allocated_partition_spec(::pg_query::PartitionSpec* value); - void unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value); - ::pg_query::PartitionSpec* unsafe_arena_release_partition_spec(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - private: - const ::pg_query::PartitionSpec& _internal_partition_spec() const; - ::pg_query::PartitionSpec* _internal_mutable_partition_spec(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - public: - // .pg_query.PartitionBoundSpec partition_bound_spec = 86 [json_name = "PartitionBoundSpec"]; - bool has_partition_bound_spec() const; private: - bool _internal_has_partition_bound_spec() const; - - public: - void clear_partition_bound_spec() ; - const ::pg_query::PartitionBoundSpec& partition_bound_spec() const; - PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partition_bound_spec(); - ::pg_query::PartitionBoundSpec* mutable_partition_bound_spec(); - void set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); - void unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); - ::pg_query::PartitionBoundSpec* unsafe_arena_release_partition_bound_spec(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(NextValueExpr* other); private: - const ::pg_query::PartitionBoundSpec& _internal_partition_bound_spec() const; - ::pg_query::PartitionBoundSpec* _internal_mutable_partition_bound_spec(); - + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NextValueExpr"; + } + protected: + explicit NextValueExpr(::google::protobuf::Arena* arena); + NextValueExpr(::google::protobuf::Arena* arena, const NextValueExpr& from); public: - // .pg_query.PartitionRangeDatum partition_range_datum = 87 [json_name = "PartitionRangeDatum"]; - bool has_partition_range_datum() const; - private: - bool _internal_has_partition_range_datum() const; - public: - void clear_partition_range_datum() ; - const ::pg_query::PartitionRangeDatum& partition_range_datum() const; - PROTOBUF_NODISCARD ::pg_query::PartitionRangeDatum* release_partition_range_datum(); - ::pg_query::PartitionRangeDatum* mutable_partition_range_datum(); - void set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); - void unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); - ::pg_query::PartitionRangeDatum* unsafe_arena_release_partition_range_datum(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - private: - const ::pg_query::PartitionRangeDatum& _internal_partition_range_datum() const; - ::pg_query::PartitionRangeDatum* _internal_mutable_partition_range_datum(); + ::google::protobuf::Metadata GetMetadata() const final; - public: - // .pg_query.PartitionCmd partition_cmd = 88 [json_name = "PartitionCmd"]; - bool has_partition_cmd() const; - private: - bool _internal_has_partition_cmd() const; + // nested types ---------------------------------------------------- - public: - void clear_partition_cmd() ; - const ::pg_query::PartitionCmd& partition_cmd() const; - PROTOBUF_NODISCARD ::pg_query::PartitionCmd* release_partition_cmd(); - ::pg_query::PartitionCmd* mutable_partition_cmd(); - void set_allocated_partition_cmd(::pg_query::PartitionCmd* value); - void unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value); - ::pg_query::PartitionCmd* unsafe_arena_release_partition_cmd(); + // accessors ------------------------------------------------------- - private: - const ::pg_query::PartitionCmd& _internal_partition_cmd() const; - ::pg_query::PartitionCmd* _internal_mutable_partition_cmd(); + enum : int { + kXprFieldNumber = 1, + kSeqidFieldNumber = 2, + kTypeIdFieldNumber = 3, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - public: - // .pg_query.RangeTblEntry range_tbl_entry = 89 [json_name = "RangeTblEntry"]; - bool has_range_tbl_entry() const; private: - bool _internal_has_range_tbl_entry() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_range_tbl_entry() ; - const ::pg_query::RangeTblEntry& range_tbl_entry() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblEntry* release_range_tbl_entry(); - ::pg_query::RangeTblEntry* mutable_range_tbl_entry(); - void set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); - void unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); - ::pg_query::RangeTblEntry* unsafe_arena_release_range_tbl_entry(); - - private: - const ::pg_query::RangeTblEntry& _internal_range_tbl_entry() const; - ::pg_query::RangeTblEntry* _internal_mutable_range_tbl_entry(); + // uint32 seqid = 2 [json_name = "seqid"]; + void clear_seqid() ; + ::uint32_t seqid() const; + void set_seqid(::uint32_t value); - public: - // .pg_query.RTEPermissionInfo rtepermission_info = 90 [json_name = "RTEPermissionInfo"]; - bool has_rtepermission_info() const; private: - bool _internal_has_rtepermission_info() const; + ::uint32_t _internal_seqid() const; + void _internal_set_seqid(::uint32_t value); public: - void clear_rtepermission_info() ; - const ::pg_query::RTEPermissionInfo& rtepermission_info() const; - PROTOBUF_NODISCARD ::pg_query::RTEPermissionInfo* release_rtepermission_info(); - ::pg_query::RTEPermissionInfo* mutable_rtepermission_info(); - void set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); - void unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); - ::pg_query::RTEPermissionInfo* unsafe_arena_release_rtepermission_info(); - - private: - const ::pg_query::RTEPermissionInfo& _internal_rtepermission_info() const; - ::pg_query::RTEPermissionInfo* _internal_mutable_rtepermission_info(); + // uint32 type_id = 3 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); - public: - // .pg_query.RangeTblFunction range_tbl_function = 91 [json_name = "RangeTblFunction"]; - bool has_range_tbl_function() const; private: - bool _internal_has_range_tbl_function() const; + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); public: - void clear_range_tbl_function() ; - const ::pg_query::RangeTblFunction& range_tbl_function() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblFunction* release_range_tbl_function(); - ::pg_query::RangeTblFunction* mutable_range_tbl_function(); - void set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); - void unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); - ::pg_query::RangeTblFunction* unsafe_arena_release_range_tbl_function(); - - private: - const ::pg_query::RangeTblFunction& _internal_range_tbl_function() const; - ::pg_query::RangeTblFunction* _internal_mutable_range_tbl_function(); + // @@protoc_insertion_point(class_scope:pg_query.NextValueExpr) + private: + class _Internal; - public: - // .pg_query.TableSampleClause table_sample_clause = 92 [json_name = "TableSampleClause"]; - bool has_table_sample_clause() const; - private: - bool _internal_has_table_sample_clause() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t seqid_; + ::uint32_t type_id_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class Node final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Node) */ { + public: + inline Node() : Node(nullptr) {} + ~Node() override; + template + explicit PROTOBUF_CONSTEXPR Node(::google::protobuf::internal::ConstantInitialized); + + inline Node(const Node& from) + : Node(nullptr, from) {} + Node(Node&& from) noexcept + : Node() { + *this = ::std::move(from); + } + + inline Node& operator=(const Node& from) { + CopyFrom(from); + return *this; + } + inline Node& operator=(Node&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Node& default_instance() { + return *internal_default_instance(); + } + enum NodeCase { + kAlias = 1, + kRangeVar = 2, + kTableFunc = 3, + kIntoClause = 4, + kVar = 5, + kParam = 6, + kAggref = 7, + kGroupingFunc = 8, + kWindowFunc = 9, + kWindowFuncRunCondition = 10, + kMergeSupportFunc = 11, + kSubscriptingRef = 12, + kFuncExpr = 13, + kNamedArgExpr = 14, + kOpExpr = 15, + kDistinctExpr = 16, + kNullIfExpr = 17, + kScalarArrayOpExpr = 18, + kBoolExpr = 19, + kSubLink = 20, + kSubPlan = 21, + kAlternativeSubPlan = 22, + kFieldSelect = 23, + kFieldStore = 24, + kRelabelType = 25, + kCoerceViaIo = 26, + kArrayCoerceExpr = 27, + kConvertRowtypeExpr = 28, + kCollateExpr = 29, + kCaseExpr = 30, + kCaseWhen = 31, + kCaseTestExpr = 32, + kArrayExpr = 33, + kRowExpr = 34, + kRowCompareExpr = 35, + kCoalesceExpr = 36, + kMinMaxExpr = 37, + kSqlvalueFunction = 38, + kXmlExpr = 39, + kJsonFormat = 40, + kJsonReturning = 41, + kJsonValueExpr = 42, + kJsonConstructorExpr = 43, + kJsonIsPredicate = 44, + kJsonBehavior = 45, + kJsonExpr = 46, + kJsonTablePath = 47, + kJsonTablePathScan = 48, + kJsonTableSiblingJoin = 49, + kNullTest = 50, + kBooleanTest = 51, + kMergeAction = 52, + kCoerceToDomain = 53, + kCoerceToDomainValue = 54, + kSetToDefault = 55, + kCurrentOfExpr = 56, + kNextValueExpr = 57, + kInferenceElem = 58, + kTargetEntry = 59, + kRangeTblRef = 60, + kJoinExpr = 61, + kFromExpr = 62, + kOnConflictExpr = 63, + kQuery = 64, + kTypeName = 65, + kColumnRef = 66, + kParamRef = 67, + kAExpr = 68, + kTypeCast = 69, + kCollateClause = 70, + kRoleSpec = 71, + kFuncCall = 72, + kAStar = 73, + kAIndices = 74, + kAIndirection = 75, + kAArrayExpr = 76, + kResTarget = 77, + kMultiAssignRef = 78, + kSortBy = 79, + kWindowDef = 80, + kRangeSubselect = 81, + kRangeFunction = 82, + kRangeTableFunc = 83, + kRangeTableFuncCol = 84, + kRangeTableSample = 85, + kColumnDef = 86, + kTableLikeClause = 87, + kIndexElem = 88, + kDefElem = 89, + kLockingClause = 90, + kXmlSerialize = 91, + kPartitionElem = 92, + kPartitionSpec = 93, + kPartitionBoundSpec = 94, + kPartitionRangeDatum = 95, + kSinglePartitionSpec = 96, + kPartitionCmd = 97, + kRangeTblEntry = 98, + kRtepermissionInfo = 99, + kRangeTblFunction = 100, + kTableSampleClause = 101, + kWithCheckOption = 102, + kSortGroupClause = 103, + kGroupingSet = 104, + kWindowClause = 105, + kRowMarkClause = 106, + kWithClause = 107, + kInferClause = 108, + kOnConflictClause = 109, + kCtesearchClause = 110, + kCtecycleClause = 111, + kCommonTableExpr = 112, + kMergeWhenClause = 113, + kTriggerTransition = 114, + kJsonOutput = 115, + kJsonArgument = 116, + kJsonFuncExpr = 117, + kJsonTablePathSpec = 118, + kJsonTable = 119, + kJsonTableColumn = 120, + kJsonKeyValue = 121, + kJsonParseExpr = 122, + kJsonScalarExpr = 123, + kJsonSerializeExpr = 124, + kJsonObjectConstructor = 125, + kJsonArrayConstructor = 126, + kJsonArrayQueryConstructor = 127, + kJsonAggConstructor = 128, + kJsonObjectAgg = 129, + kJsonArrayAgg = 130, + kRawStmt = 131, + kInsertStmt = 132, + kDeleteStmt = 133, + kUpdateStmt = 134, + kMergeStmt = 135, + kSelectStmt = 136, + kSetOperationStmt = 137, + kReturnStmt = 138, + kPlassignStmt = 139, + kCreateSchemaStmt = 140, + kAlterTableStmt = 141, + kReplicaIdentityStmt = 142, + kAlterTableCmd = 143, + kAlterCollationStmt = 144, + kAlterDomainStmt = 145, + kGrantStmt = 146, + kObjectWithArgs = 147, + kAccessPriv = 148, + kGrantRoleStmt = 149, + kAlterDefaultPrivilegesStmt = 150, + kCopyStmt = 151, + kVariableSetStmt = 152, + kVariableShowStmt = 153, + kCreateStmt = 154, + kConstraint = 155, + kCreateTableSpaceStmt = 156, + kDropTableSpaceStmt = 157, + kAlterTableSpaceOptionsStmt = 158, + kAlterTableMoveAllStmt = 159, + kCreateExtensionStmt = 160, + kAlterExtensionStmt = 161, + kAlterExtensionContentsStmt = 162, + kCreateFdwStmt = 163, + kAlterFdwStmt = 164, + kCreateForeignServerStmt = 165, + kAlterForeignServerStmt = 166, + kCreateForeignTableStmt = 167, + kCreateUserMappingStmt = 168, + kAlterUserMappingStmt = 169, + kDropUserMappingStmt = 170, + kImportForeignSchemaStmt = 171, + kCreatePolicyStmt = 172, + kAlterPolicyStmt = 173, + kCreateAmStmt = 174, + kCreateTrigStmt = 175, + kCreateEventTrigStmt = 176, + kAlterEventTrigStmt = 177, + kCreatePlangStmt = 178, + kCreateRoleStmt = 179, + kAlterRoleStmt = 180, + kAlterRoleSetStmt = 181, + kDropRoleStmt = 182, + kCreateSeqStmt = 183, + kAlterSeqStmt = 184, + kDefineStmt = 185, + kCreateDomainStmt = 186, + kCreateOpClassStmt = 187, + kCreateOpClassItem = 188, + kCreateOpFamilyStmt = 189, + kAlterOpFamilyStmt = 190, + kDropStmt = 191, + kTruncateStmt = 192, + kCommentStmt = 193, + kSecLabelStmt = 194, + kDeclareCursorStmt = 195, + kClosePortalStmt = 196, + kFetchStmt = 197, + kIndexStmt = 198, + kCreateStatsStmt = 199, + kStatsElem = 200, + kAlterStatsStmt = 201, + kCreateFunctionStmt = 202, + kFunctionParameter = 203, + kAlterFunctionStmt = 204, + kDoStmt = 205, + kInlineCodeBlock = 206, + kCallStmt = 207, + kCallContext = 208, + kRenameStmt = 209, + kAlterObjectDependsStmt = 210, + kAlterObjectSchemaStmt = 211, + kAlterOwnerStmt = 212, + kAlterOperatorStmt = 213, + kAlterTypeStmt = 214, + kRuleStmt = 215, + kNotifyStmt = 216, + kListenStmt = 217, + kUnlistenStmt = 218, + kTransactionStmt = 219, + kCompositeTypeStmt = 220, + kCreateEnumStmt = 221, + kCreateRangeStmt = 222, + kAlterEnumStmt = 223, + kViewStmt = 224, + kLoadStmt = 225, + kCreatedbStmt = 226, + kAlterDatabaseStmt = 227, + kAlterDatabaseRefreshCollStmt = 228, + kAlterDatabaseSetStmt = 229, + kDropdbStmt = 230, + kAlterSystemStmt = 231, + kClusterStmt = 232, + kVacuumStmt = 233, + kVacuumRelation = 234, + kExplainStmt = 235, + kCreateTableAsStmt = 236, + kRefreshMatViewStmt = 237, + kCheckPointStmt = 238, + kDiscardStmt = 239, + kLockStmt = 240, + kConstraintsSetStmt = 241, + kReindexStmt = 242, + kCreateConversionStmt = 243, + kCreateCastStmt = 244, + kCreateTransformStmt = 245, + kPrepareStmt = 246, + kExecuteStmt = 247, + kDeallocateStmt = 248, + kDropOwnedStmt = 249, + kReassignOwnedStmt = 250, + kAlterTsdictionaryStmt = 251, + kAlterTsconfigurationStmt = 252, + kPublicationTable = 253, + kPublicationObjSpec = 254, + kCreatePublicationStmt = 255, + kAlterPublicationStmt = 256, + kCreateSubscriptionStmt = 257, + kAlterSubscriptionStmt = 258, + kDropSubscriptionStmt = 259, + kInteger = 260, + kFloat = 261, + kBoolean = 262, + kString = 263, + kBitString = 264, + kList = 265, + kIntList = 266, + kOidList = 267, + kAConst = 268, + NODE_NOT_SET = 0, + }; + + static inline const Node* internal_default_instance() { + return reinterpret_cast( + &_Node_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(Node& a, Node& b) { + a.Swap(&b); + } + inline void Swap(Node* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Node* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + // implements Message ---------------------------------------------- + + Node* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Node& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Node& from) { + Node::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_table_sample_clause() ; - const ::pg_query::TableSampleClause& table_sample_clause() const; - PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_table_sample_clause(); - ::pg_query::TableSampleClause* mutable_table_sample_clause(); - void set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); - void unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); - ::pg_query::TableSampleClause* unsafe_arena_release_table_sample_clause(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - const ::pg_query::TableSampleClause& _internal_table_sample_clause() const; - ::pg_query::TableSampleClause* _internal_mutable_table_sample_clause(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Node* other); + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Node"; + } + protected: + explicit Node(::google::protobuf::Arena* arena); + Node(::google::protobuf::Arena* arena, const Node& from); public: - // .pg_query.WithCheckOption with_check_option = 93 [json_name = "WithCheckOption"]; - bool has_with_check_option() const; + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAliasFieldNumber = 1, + kRangeVarFieldNumber = 2, + kTableFuncFieldNumber = 3, + kIntoClauseFieldNumber = 4, + kVarFieldNumber = 5, + kParamFieldNumber = 6, + kAggrefFieldNumber = 7, + kGroupingFuncFieldNumber = 8, + kWindowFuncFieldNumber = 9, + kWindowFuncRunConditionFieldNumber = 10, + kMergeSupportFuncFieldNumber = 11, + kSubscriptingRefFieldNumber = 12, + kFuncExprFieldNumber = 13, + kNamedArgExprFieldNumber = 14, + kOpExprFieldNumber = 15, + kDistinctExprFieldNumber = 16, + kNullIfExprFieldNumber = 17, + kScalarArrayOpExprFieldNumber = 18, + kBoolExprFieldNumber = 19, + kSubLinkFieldNumber = 20, + kSubPlanFieldNumber = 21, + kAlternativeSubPlanFieldNumber = 22, + kFieldSelectFieldNumber = 23, + kFieldStoreFieldNumber = 24, + kRelabelTypeFieldNumber = 25, + kCoerceViaIoFieldNumber = 26, + kArrayCoerceExprFieldNumber = 27, + kConvertRowtypeExprFieldNumber = 28, + kCollateExprFieldNumber = 29, + kCaseExprFieldNumber = 30, + kCaseWhenFieldNumber = 31, + kCaseTestExprFieldNumber = 32, + kArrayExprFieldNumber = 33, + kRowExprFieldNumber = 34, + kRowCompareExprFieldNumber = 35, + kCoalesceExprFieldNumber = 36, + kMinMaxExprFieldNumber = 37, + kSqlvalueFunctionFieldNumber = 38, + kXmlExprFieldNumber = 39, + kJsonFormatFieldNumber = 40, + kJsonReturningFieldNumber = 41, + kJsonValueExprFieldNumber = 42, + kJsonConstructorExprFieldNumber = 43, + kJsonIsPredicateFieldNumber = 44, + kJsonBehaviorFieldNumber = 45, + kJsonExprFieldNumber = 46, + kJsonTablePathFieldNumber = 47, + kJsonTablePathScanFieldNumber = 48, + kJsonTableSiblingJoinFieldNumber = 49, + kNullTestFieldNumber = 50, + kBooleanTestFieldNumber = 51, + kMergeActionFieldNumber = 52, + kCoerceToDomainFieldNumber = 53, + kCoerceToDomainValueFieldNumber = 54, + kSetToDefaultFieldNumber = 55, + kCurrentOfExprFieldNumber = 56, + kNextValueExprFieldNumber = 57, + kInferenceElemFieldNumber = 58, + kTargetEntryFieldNumber = 59, + kRangeTblRefFieldNumber = 60, + kJoinExprFieldNumber = 61, + kFromExprFieldNumber = 62, + kOnConflictExprFieldNumber = 63, + kQueryFieldNumber = 64, + kTypeNameFieldNumber = 65, + kColumnRefFieldNumber = 66, + kParamRefFieldNumber = 67, + kAExprFieldNumber = 68, + kTypeCastFieldNumber = 69, + kCollateClauseFieldNumber = 70, + kRoleSpecFieldNumber = 71, + kFuncCallFieldNumber = 72, + kAStarFieldNumber = 73, + kAIndicesFieldNumber = 74, + kAIndirectionFieldNumber = 75, + kAArrayExprFieldNumber = 76, + kResTargetFieldNumber = 77, + kMultiAssignRefFieldNumber = 78, + kSortByFieldNumber = 79, + kWindowDefFieldNumber = 80, + kRangeSubselectFieldNumber = 81, + kRangeFunctionFieldNumber = 82, + kRangeTableFuncFieldNumber = 83, + kRangeTableFuncColFieldNumber = 84, + kRangeTableSampleFieldNumber = 85, + kColumnDefFieldNumber = 86, + kTableLikeClauseFieldNumber = 87, + kIndexElemFieldNumber = 88, + kDefElemFieldNumber = 89, + kLockingClauseFieldNumber = 90, + kXmlSerializeFieldNumber = 91, + kPartitionElemFieldNumber = 92, + kPartitionSpecFieldNumber = 93, + kPartitionBoundSpecFieldNumber = 94, + kPartitionRangeDatumFieldNumber = 95, + kSinglePartitionSpecFieldNumber = 96, + kPartitionCmdFieldNumber = 97, + kRangeTblEntryFieldNumber = 98, + kRtepermissionInfoFieldNumber = 99, + kRangeTblFunctionFieldNumber = 100, + kTableSampleClauseFieldNumber = 101, + kWithCheckOptionFieldNumber = 102, + kSortGroupClauseFieldNumber = 103, + kGroupingSetFieldNumber = 104, + kWindowClauseFieldNumber = 105, + kRowMarkClauseFieldNumber = 106, + kWithClauseFieldNumber = 107, + kInferClauseFieldNumber = 108, + kOnConflictClauseFieldNumber = 109, + kCtesearchClauseFieldNumber = 110, + kCtecycleClauseFieldNumber = 111, + kCommonTableExprFieldNumber = 112, + kMergeWhenClauseFieldNumber = 113, + kTriggerTransitionFieldNumber = 114, + kJsonOutputFieldNumber = 115, + kJsonArgumentFieldNumber = 116, + kJsonFuncExprFieldNumber = 117, + kJsonTablePathSpecFieldNumber = 118, + kJsonTableFieldNumber = 119, + kJsonTableColumnFieldNumber = 120, + kJsonKeyValueFieldNumber = 121, + kJsonParseExprFieldNumber = 122, + kJsonScalarExprFieldNumber = 123, + kJsonSerializeExprFieldNumber = 124, + kJsonObjectConstructorFieldNumber = 125, + kJsonArrayConstructorFieldNumber = 126, + kJsonArrayQueryConstructorFieldNumber = 127, + kJsonAggConstructorFieldNumber = 128, + kJsonObjectAggFieldNumber = 129, + kJsonArrayAggFieldNumber = 130, + kRawStmtFieldNumber = 131, + kInsertStmtFieldNumber = 132, + kDeleteStmtFieldNumber = 133, + kUpdateStmtFieldNumber = 134, + kMergeStmtFieldNumber = 135, + kSelectStmtFieldNumber = 136, + kSetOperationStmtFieldNumber = 137, + kReturnStmtFieldNumber = 138, + kPlassignStmtFieldNumber = 139, + kCreateSchemaStmtFieldNumber = 140, + kAlterTableStmtFieldNumber = 141, + kReplicaIdentityStmtFieldNumber = 142, + kAlterTableCmdFieldNumber = 143, + kAlterCollationStmtFieldNumber = 144, + kAlterDomainStmtFieldNumber = 145, + kGrantStmtFieldNumber = 146, + kObjectWithArgsFieldNumber = 147, + kAccessPrivFieldNumber = 148, + kGrantRoleStmtFieldNumber = 149, + kAlterDefaultPrivilegesStmtFieldNumber = 150, + kCopyStmtFieldNumber = 151, + kVariableSetStmtFieldNumber = 152, + kVariableShowStmtFieldNumber = 153, + kCreateStmtFieldNumber = 154, + kConstraintFieldNumber = 155, + kCreateTableSpaceStmtFieldNumber = 156, + kDropTableSpaceStmtFieldNumber = 157, + kAlterTableSpaceOptionsStmtFieldNumber = 158, + kAlterTableMoveAllStmtFieldNumber = 159, + kCreateExtensionStmtFieldNumber = 160, + kAlterExtensionStmtFieldNumber = 161, + kAlterExtensionContentsStmtFieldNumber = 162, + kCreateFdwStmtFieldNumber = 163, + kAlterFdwStmtFieldNumber = 164, + kCreateForeignServerStmtFieldNumber = 165, + kAlterForeignServerStmtFieldNumber = 166, + kCreateForeignTableStmtFieldNumber = 167, + kCreateUserMappingStmtFieldNumber = 168, + kAlterUserMappingStmtFieldNumber = 169, + kDropUserMappingStmtFieldNumber = 170, + kImportForeignSchemaStmtFieldNumber = 171, + kCreatePolicyStmtFieldNumber = 172, + kAlterPolicyStmtFieldNumber = 173, + kCreateAmStmtFieldNumber = 174, + kCreateTrigStmtFieldNumber = 175, + kCreateEventTrigStmtFieldNumber = 176, + kAlterEventTrigStmtFieldNumber = 177, + kCreatePlangStmtFieldNumber = 178, + kCreateRoleStmtFieldNumber = 179, + kAlterRoleStmtFieldNumber = 180, + kAlterRoleSetStmtFieldNumber = 181, + kDropRoleStmtFieldNumber = 182, + kCreateSeqStmtFieldNumber = 183, + kAlterSeqStmtFieldNumber = 184, + kDefineStmtFieldNumber = 185, + kCreateDomainStmtFieldNumber = 186, + kCreateOpClassStmtFieldNumber = 187, + kCreateOpClassItemFieldNumber = 188, + kCreateOpFamilyStmtFieldNumber = 189, + kAlterOpFamilyStmtFieldNumber = 190, + kDropStmtFieldNumber = 191, + kTruncateStmtFieldNumber = 192, + kCommentStmtFieldNumber = 193, + kSecLabelStmtFieldNumber = 194, + kDeclareCursorStmtFieldNumber = 195, + kClosePortalStmtFieldNumber = 196, + kFetchStmtFieldNumber = 197, + kIndexStmtFieldNumber = 198, + kCreateStatsStmtFieldNumber = 199, + kStatsElemFieldNumber = 200, + kAlterStatsStmtFieldNumber = 201, + kCreateFunctionStmtFieldNumber = 202, + kFunctionParameterFieldNumber = 203, + kAlterFunctionStmtFieldNumber = 204, + kDoStmtFieldNumber = 205, + kInlineCodeBlockFieldNumber = 206, + kCallStmtFieldNumber = 207, + kCallContextFieldNumber = 208, + kRenameStmtFieldNumber = 209, + kAlterObjectDependsStmtFieldNumber = 210, + kAlterObjectSchemaStmtFieldNumber = 211, + kAlterOwnerStmtFieldNumber = 212, + kAlterOperatorStmtFieldNumber = 213, + kAlterTypeStmtFieldNumber = 214, + kRuleStmtFieldNumber = 215, + kNotifyStmtFieldNumber = 216, + kListenStmtFieldNumber = 217, + kUnlistenStmtFieldNumber = 218, + kTransactionStmtFieldNumber = 219, + kCompositeTypeStmtFieldNumber = 220, + kCreateEnumStmtFieldNumber = 221, + kCreateRangeStmtFieldNumber = 222, + kAlterEnumStmtFieldNumber = 223, + kViewStmtFieldNumber = 224, + kLoadStmtFieldNumber = 225, + kCreatedbStmtFieldNumber = 226, + kAlterDatabaseStmtFieldNumber = 227, + kAlterDatabaseRefreshCollStmtFieldNumber = 228, + kAlterDatabaseSetStmtFieldNumber = 229, + kDropdbStmtFieldNumber = 230, + kAlterSystemStmtFieldNumber = 231, + kClusterStmtFieldNumber = 232, + kVacuumStmtFieldNumber = 233, + kVacuumRelationFieldNumber = 234, + kExplainStmtFieldNumber = 235, + kCreateTableAsStmtFieldNumber = 236, + kRefreshMatViewStmtFieldNumber = 237, + kCheckPointStmtFieldNumber = 238, + kDiscardStmtFieldNumber = 239, + kLockStmtFieldNumber = 240, + kConstraintsSetStmtFieldNumber = 241, + kReindexStmtFieldNumber = 242, + kCreateConversionStmtFieldNumber = 243, + kCreateCastStmtFieldNumber = 244, + kCreateTransformStmtFieldNumber = 245, + kPrepareStmtFieldNumber = 246, + kExecuteStmtFieldNumber = 247, + kDeallocateStmtFieldNumber = 248, + kDropOwnedStmtFieldNumber = 249, + kReassignOwnedStmtFieldNumber = 250, + kAlterTsdictionaryStmtFieldNumber = 251, + kAlterTsconfigurationStmtFieldNumber = 252, + kPublicationTableFieldNumber = 253, + kPublicationObjSpecFieldNumber = 254, + kCreatePublicationStmtFieldNumber = 255, + kAlterPublicationStmtFieldNumber = 256, + kCreateSubscriptionStmtFieldNumber = 257, + kAlterSubscriptionStmtFieldNumber = 258, + kDropSubscriptionStmtFieldNumber = 259, + kIntegerFieldNumber = 260, + kFloatFieldNumber = 261, + kBooleanFieldNumber = 262, + kStringFieldNumber = 263, + kBitStringFieldNumber = 264, + kListFieldNumber = 265, + kIntListFieldNumber = 266, + kOidListFieldNumber = 267, + kAConstFieldNumber = 268, + }; + // .pg_query.Alias alias = 1 [json_name = "Alias"]; + bool has_alias() const; private: - bool _internal_has_with_check_option() const; + bool _internal_has_alias() const; public: - void clear_with_check_option() ; - const ::pg_query::WithCheckOption& with_check_option() const; - PROTOBUF_NODISCARD ::pg_query::WithCheckOption* release_with_check_option(); - ::pg_query::WithCheckOption* mutable_with_check_option(); - void set_allocated_with_check_option(::pg_query::WithCheckOption* value); - void unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value); - ::pg_query::WithCheckOption* unsafe_arena_release_with_check_option(); + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); private: - const ::pg_query::WithCheckOption& _internal_with_check_option() const; - ::pg_query::WithCheckOption* _internal_mutable_with_check_option(); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); public: - // .pg_query.SortGroupClause sort_group_clause = 94 [json_name = "SortGroupClause"]; - bool has_sort_group_clause() const; + // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; + bool has_range_var() const; private: - bool _internal_has_sort_group_clause() const; + bool _internal_has_range_var() const; public: - void clear_sort_group_clause() ; - const ::pg_query::SortGroupClause& sort_group_clause() const; - PROTOBUF_NODISCARD ::pg_query::SortGroupClause* release_sort_group_clause(); - ::pg_query::SortGroupClause* mutable_sort_group_clause(); - void set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); - void unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); - ::pg_query::SortGroupClause* unsafe_arena_release_sort_group_clause(); + void clear_range_var() ; + const ::pg_query::RangeVar& range_var() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_range_var(); + ::pg_query::RangeVar* mutable_range_var(); + void set_allocated_range_var(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_range_var(); private: - const ::pg_query::SortGroupClause& _internal_sort_group_clause() const; - ::pg_query::SortGroupClause* _internal_mutable_sort_group_clause(); + const ::pg_query::RangeVar& _internal_range_var() const; + ::pg_query::RangeVar* _internal_mutable_range_var(); public: - // .pg_query.GroupingSet grouping_set = 95 [json_name = "GroupingSet"]; - bool has_grouping_set() const; + // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; + bool has_table_func() const; private: - bool _internal_has_grouping_set() const; + bool _internal_has_table_func() const; public: - void clear_grouping_set() ; - const ::pg_query::GroupingSet& grouping_set() const; - PROTOBUF_NODISCARD ::pg_query::GroupingSet* release_grouping_set(); - ::pg_query::GroupingSet* mutable_grouping_set(); - void set_allocated_grouping_set(::pg_query::GroupingSet* value); - void unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value); - ::pg_query::GroupingSet* unsafe_arena_release_grouping_set(); + void clear_table_func() ; + const ::pg_query::TableFunc& table_func() const; + PROTOBUF_NODISCARD ::pg_query::TableFunc* release_table_func(); + ::pg_query::TableFunc* mutable_table_func(); + void set_allocated_table_func(::pg_query::TableFunc* value); + void unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value); + ::pg_query::TableFunc* unsafe_arena_release_table_func(); private: - const ::pg_query::GroupingSet& _internal_grouping_set() const; - ::pg_query::GroupingSet* _internal_mutable_grouping_set(); + const ::pg_query::TableFunc& _internal_table_func() const; + ::pg_query::TableFunc* _internal_mutable_table_func(); public: - // .pg_query.WindowClause window_clause = 96 [json_name = "WindowClause"]; - bool has_window_clause() const; + // .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; + bool has_into_clause() const; private: - bool _internal_has_window_clause() const; + bool _internal_has_into_clause() const; public: - void clear_window_clause() ; - const ::pg_query::WindowClause& window_clause() const; - PROTOBUF_NODISCARD ::pg_query::WindowClause* release_window_clause(); - ::pg_query::WindowClause* mutable_window_clause(); - void set_allocated_window_clause(::pg_query::WindowClause* value); - void unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value); - ::pg_query::WindowClause* unsafe_arena_release_window_clause(); + void clear_into_clause() ; + const ::pg_query::IntoClause& into_clause() const; + PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); + ::pg_query::IntoClause* mutable_into_clause(); + void set_allocated_into_clause(::pg_query::IntoClause* value); + void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); + ::pg_query::IntoClause* unsafe_arena_release_into_clause(); private: - const ::pg_query::WindowClause& _internal_window_clause() const; - ::pg_query::WindowClause* _internal_mutable_window_clause(); + const ::pg_query::IntoClause& _internal_into_clause() const; + ::pg_query::IntoClause* _internal_mutable_into_clause(); public: - // .pg_query.RowMarkClause row_mark_clause = 97 [json_name = "RowMarkClause"]; - bool has_row_mark_clause() const; + // .pg_query.Var var = 5 [json_name = "Var"]; + bool has_var() const; private: - bool _internal_has_row_mark_clause() const; + bool _internal_has_var() const; public: - void clear_row_mark_clause() ; - const ::pg_query::RowMarkClause& row_mark_clause() const; - PROTOBUF_NODISCARD ::pg_query::RowMarkClause* release_row_mark_clause(); - ::pg_query::RowMarkClause* mutable_row_mark_clause(); - void set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); - void unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); - ::pg_query::RowMarkClause* unsafe_arena_release_row_mark_clause(); + void clear_var() ; + const ::pg_query::Var& var() const; + PROTOBUF_NODISCARD ::pg_query::Var* release_var(); + ::pg_query::Var* mutable_var(); + void set_allocated_var(::pg_query::Var* value); + void unsafe_arena_set_allocated_var(::pg_query::Var* value); + ::pg_query::Var* unsafe_arena_release_var(); private: - const ::pg_query::RowMarkClause& _internal_row_mark_clause() const; - ::pg_query::RowMarkClause* _internal_mutable_row_mark_clause(); + const ::pg_query::Var& _internal_var() const; + ::pg_query::Var* _internal_mutable_var(); public: - // .pg_query.WithClause with_clause = 98 [json_name = "WithClause"]; - bool has_with_clause() const; + // .pg_query.Param param = 6 [json_name = "Param"]; + bool has_param() const; private: - bool _internal_has_with_clause() const; + bool _internal_has_param() const; public: - void clear_with_clause() ; - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* value); - void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + void clear_param() ; + const ::pg_query::Param& param() const; + PROTOBUF_NODISCARD ::pg_query::Param* release_param(); + ::pg_query::Param* mutable_param(); + void set_allocated_param(::pg_query::Param* value); + void unsafe_arena_set_allocated_param(::pg_query::Param* value); + ::pg_query::Param* unsafe_arena_release_param(); private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + const ::pg_query::Param& _internal_param() const; + ::pg_query::Param* _internal_mutable_param(); public: - // .pg_query.InferClause infer_clause = 99 [json_name = "InferClause"]; - bool has_infer_clause() const; + // .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; + bool has_aggref() const; private: - bool _internal_has_infer_clause() const; + bool _internal_has_aggref() const; public: - void clear_infer_clause() ; - const ::pg_query::InferClause& infer_clause() const; - PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer_clause(); - ::pg_query::InferClause* mutable_infer_clause(); - void set_allocated_infer_clause(::pg_query::InferClause* value); - void unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value); - ::pg_query::InferClause* unsafe_arena_release_infer_clause(); + void clear_aggref() ; + const ::pg_query::Aggref& aggref() const; + PROTOBUF_NODISCARD ::pg_query::Aggref* release_aggref(); + ::pg_query::Aggref* mutable_aggref(); + void set_allocated_aggref(::pg_query::Aggref* value); + void unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value); + ::pg_query::Aggref* unsafe_arena_release_aggref(); private: - const ::pg_query::InferClause& _internal_infer_clause() const; - ::pg_query::InferClause* _internal_mutable_infer_clause(); + const ::pg_query::Aggref& _internal_aggref() const; + ::pg_query::Aggref* _internal_mutable_aggref(); public: - // .pg_query.OnConflictClause on_conflict_clause = 100 [json_name = "OnConflictClause"]; - bool has_on_conflict_clause() const; + // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; + bool has_grouping_func() const; private: - bool _internal_has_on_conflict_clause() const; + bool _internal_has_grouping_func() const; public: - void clear_on_conflict_clause() ; - const ::pg_query::OnConflictClause& on_conflict_clause() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); - ::pg_query::OnConflictClause* mutable_on_conflict_clause(); - void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); - void unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); - ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); + void clear_grouping_func() ; + const ::pg_query::GroupingFunc& grouping_func() const; + PROTOBUF_NODISCARD ::pg_query::GroupingFunc* release_grouping_func(); + ::pg_query::GroupingFunc* mutable_grouping_func(); + void set_allocated_grouping_func(::pg_query::GroupingFunc* value); + void unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value); + ::pg_query::GroupingFunc* unsafe_arena_release_grouping_func(); private: - const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; - ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); + const ::pg_query::GroupingFunc& _internal_grouping_func() const; + ::pg_query::GroupingFunc* _internal_mutable_grouping_func(); public: - // .pg_query.CTESearchClause ctesearch_clause = 101 [json_name = "CTESearchClause"]; - bool has_ctesearch_clause() const; + // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; + bool has_window_func() const; private: - bool _internal_has_ctesearch_clause() const; + bool _internal_has_window_func() const; public: - void clear_ctesearch_clause() ; - const ::pg_query::CTESearchClause& ctesearch_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_ctesearch_clause(); - ::pg_query::CTESearchClause* mutable_ctesearch_clause(); - void set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); - void unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); - ::pg_query::CTESearchClause* unsafe_arena_release_ctesearch_clause(); + void clear_window_func() ; + const ::pg_query::WindowFunc& window_func() const; + PROTOBUF_NODISCARD ::pg_query::WindowFunc* release_window_func(); + ::pg_query::WindowFunc* mutable_window_func(); + void set_allocated_window_func(::pg_query::WindowFunc* value); + void unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value); + ::pg_query::WindowFunc* unsafe_arena_release_window_func(); private: - const ::pg_query::CTESearchClause& _internal_ctesearch_clause() const; - ::pg_query::CTESearchClause* _internal_mutable_ctesearch_clause(); + const ::pg_query::WindowFunc& _internal_window_func() const; + ::pg_query::WindowFunc* _internal_mutable_window_func(); public: - // .pg_query.CTECycleClause ctecycle_clause = 102 [json_name = "CTECycleClause"]; - bool has_ctecycle_clause() const; + // .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"]; + bool has_window_func_run_condition() const; private: - bool _internal_has_ctecycle_clause() const; + bool _internal_has_window_func_run_condition() const; public: - void clear_ctecycle_clause() ; - const ::pg_query::CTECycleClause& ctecycle_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_ctecycle_clause(); - ::pg_query::CTECycleClause* mutable_ctecycle_clause(); - void set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); - void unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); - ::pg_query::CTECycleClause* unsafe_arena_release_ctecycle_clause(); + void clear_window_func_run_condition() ; + const ::pg_query::WindowFuncRunCondition& window_func_run_condition() const; + PROTOBUF_NODISCARD ::pg_query::WindowFuncRunCondition* release_window_func_run_condition(); + ::pg_query::WindowFuncRunCondition* mutable_window_func_run_condition(); + void set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value); + void unsafe_arena_set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value); + ::pg_query::WindowFuncRunCondition* unsafe_arena_release_window_func_run_condition(); private: - const ::pg_query::CTECycleClause& _internal_ctecycle_clause() const; - ::pg_query::CTECycleClause* _internal_mutable_ctecycle_clause(); + const ::pg_query::WindowFuncRunCondition& _internal_window_func_run_condition() const; + ::pg_query::WindowFuncRunCondition* _internal_mutable_window_func_run_condition(); public: - // .pg_query.CommonTableExpr common_table_expr = 103 [json_name = "CommonTableExpr"]; - bool has_common_table_expr() const; + // .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"]; + bool has_merge_support_func() const; private: - bool _internal_has_common_table_expr() const; + bool _internal_has_merge_support_func() const; public: - void clear_common_table_expr() ; - const ::pg_query::CommonTableExpr& common_table_expr() const; - PROTOBUF_NODISCARD ::pg_query::CommonTableExpr* release_common_table_expr(); - ::pg_query::CommonTableExpr* mutable_common_table_expr(); - void set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); - void unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); - ::pg_query::CommonTableExpr* unsafe_arena_release_common_table_expr(); + void clear_merge_support_func() ; + const ::pg_query::MergeSupportFunc& merge_support_func() const; + PROTOBUF_NODISCARD ::pg_query::MergeSupportFunc* release_merge_support_func(); + ::pg_query::MergeSupportFunc* mutable_merge_support_func(); + void set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value); + void unsafe_arena_set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value); + ::pg_query::MergeSupportFunc* unsafe_arena_release_merge_support_func(); private: - const ::pg_query::CommonTableExpr& _internal_common_table_expr() const; - ::pg_query::CommonTableExpr* _internal_mutable_common_table_expr(); + const ::pg_query::MergeSupportFunc& _internal_merge_support_func() const; + ::pg_query::MergeSupportFunc* _internal_mutable_merge_support_func(); public: - // .pg_query.MergeWhenClause merge_when_clause = 104 [json_name = "MergeWhenClause"]; - bool has_merge_when_clause() const; + // .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"]; + bool has_subscripting_ref() const; private: - bool _internal_has_merge_when_clause() const; + bool _internal_has_subscripting_ref() const; public: - void clear_merge_when_clause() ; - const ::pg_query::MergeWhenClause& merge_when_clause() const; - PROTOBUF_NODISCARD ::pg_query::MergeWhenClause* release_merge_when_clause(); - ::pg_query::MergeWhenClause* mutable_merge_when_clause(); - void set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); - void unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); - ::pg_query::MergeWhenClause* unsafe_arena_release_merge_when_clause(); + void clear_subscripting_ref() ; + const ::pg_query::SubscriptingRef& subscripting_ref() const; + PROTOBUF_NODISCARD ::pg_query::SubscriptingRef* release_subscripting_ref(); + ::pg_query::SubscriptingRef* mutable_subscripting_ref(); + void set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); + void unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); + ::pg_query::SubscriptingRef* unsafe_arena_release_subscripting_ref(); private: - const ::pg_query::MergeWhenClause& _internal_merge_when_clause() const; - ::pg_query::MergeWhenClause* _internal_mutable_merge_when_clause(); + const ::pg_query::SubscriptingRef& _internal_subscripting_ref() const; + ::pg_query::SubscriptingRef* _internal_mutable_subscripting_ref(); public: - // .pg_query.MergeAction merge_action = 105 [json_name = "MergeAction"]; - bool has_merge_action() const; + // .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"]; + bool has_func_expr() const; private: - bool _internal_has_merge_action() const; + bool _internal_has_func_expr() const; public: - void clear_merge_action() ; - const ::pg_query::MergeAction& merge_action() const; - PROTOBUF_NODISCARD ::pg_query::MergeAction* release_merge_action(); - ::pg_query::MergeAction* mutable_merge_action(); - void set_allocated_merge_action(::pg_query::MergeAction* value); - void unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value); - ::pg_query::MergeAction* unsafe_arena_release_merge_action(); + void clear_func_expr() ; + const ::pg_query::FuncExpr& func_expr() const; + PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_func_expr(); + ::pg_query::FuncExpr* mutable_func_expr(); + void set_allocated_func_expr(::pg_query::FuncExpr* value); + void unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value); + ::pg_query::FuncExpr* unsafe_arena_release_func_expr(); private: - const ::pg_query::MergeAction& _internal_merge_action() const; - ::pg_query::MergeAction* _internal_mutable_merge_action(); + const ::pg_query::FuncExpr& _internal_func_expr() const; + ::pg_query::FuncExpr* _internal_mutable_func_expr(); public: - // .pg_query.TriggerTransition trigger_transition = 106 [json_name = "TriggerTransition"]; - bool has_trigger_transition() const; + // .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"]; + bool has_named_arg_expr() const; private: - bool _internal_has_trigger_transition() const; + bool _internal_has_named_arg_expr() const; public: - void clear_trigger_transition() ; - const ::pg_query::TriggerTransition& trigger_transition() const; - PROTOBUF_NODISCARD ::pg_query::TriggerTransition* release_trigger_transition(); - ::pg_query::TriggerTransition* mutable_trigger_transition(); - void set_allocated_trigger_transition(::pg_query::TriggerTransition* value); - void unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value); - ::pg_query::TriggerTransition* unsafe_arena_release_trigger_transition(); + void clear_named_arg_expr() ; + const ::pg_query::NamedArgExpr& named_arg_expr() const; + PROTOBUF_NODISCARD ::pg_query::NamedArgExpr* release_named_arg_expr(); + ::pg_query::NamedArgExpr* mutable_named_arg_expr(); + void set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); + void unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); + ::pg_query::NamedArgExpr* unsafe_arena_release_named_arg_expr(); private: - const ::pg_query::TriggerTransition& _internal_trigger_transition() const; - ::pg_query::TriggerTransition* _internal_mutable_trigger_transition(); + const ::pg_query::NamedArgExpr& _internal_named_arg_expr() const; + ::pg_query::NamedArgExpr* _internal_mutable_named_arg_expr(); public: - // .pg_query.JsonOutput json_output = 107 [json_name = "JsonOutput"]; - bool has_json_output() const; + // .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"]; + bool has_op_expr() const; private: - bool _internal_has_json_output() const; + bool _internal_has_op_expr() const; public: - void clear_json_output() ; - const ::pg_query::JsonOutput& json_output() const; - PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_json_output(); - ::pg_query::JsonOutput* mutable_json_output(); - void set_allocated_json_output(::pg_query::JsonOutput* value); - void unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value); - ::pg_query::JsonOutput* unsafe_arena_release_json_output(); + void clear_op_expr() ; + const ::pg_query::OpExpr& op_expr() const; + PROTOBUF_NODISCARD ::pg_query::OpExpr* release_op_expr(); + ::pg_query::OpExpr* mutable_op_expr(); + void set_allocated_op_expr(::pg_query::OpExpr* value); + void unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value); + ::pg_query::OpExpr* unsafe_arena_release_op_expr(); private: - const ::pg_query::JsonOutput& _internal_json_output() const; - ::pg_query::JsonOutput* _internal_mutable_json_output(); + const ::pg_query::OpExpr& _internal_op_expr() const; + ::pg_query::OpExpr* _internal_mutable_op_expr(); public: - // .pg_query.JsonKeyValue json_key_value = 108 [json_name = "JsonKeyValue"]; - bool has_json_key_value() const; + // .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"]; + bool has_distinct_expr() const; private: - bool _internal_has_json_key_value() const; + bool _internal_has_distinct_expr() const; public: - void clear_json_key_value() ; - const ::pg_query::JsonKeyValue& json_key_value() const; - PROTOBUF_NODISCARD ::pg_query::JsonKeyValue* release_json_key_value(); - ::pg_query::JsonKeyValue* mutable_json_key_value(); - void set_allocated_json_key_value(::pg_query::JsonKeyValue* value); - void unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value); - ::pg_query::JsonKeyValue* unsafe_arena_release_json_key_value(); + void clear_distinct_expr() ; + const ::pg_query::DistinctExpr& distinct_expr() const; + PROTOBUF_NODISCARD ::pg_query::DistinctExpr* release_distinct_expr(); + ::pg_query::DistinctExpr* mutable_distinct_expr(); + void set_allocated_distinct_expr(::pg_query::DistinctExpr* value); + void unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value); + ::pg_query::DistinctExpr* unsafe_arena_release_distinct_expr(); private: - const ::pg_query::JsonKeyValue& _internal_json_key_value() const; - ::pg_query::JsonKeyValue* _internal_mutable_json_key_value(); + const ::pg_query::DistinctExpr& _internal_distinct_expr() const; + ::pg_query::DistinctExpr* _internal_mutable_distinct_expr(); public: - // .pg_query.JsonObjectConstructor json_object_constructor = 109 [json_name = "JsonObjectConstructor"]; - bool has_json_object_constructor() const; + // .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"]; + bool has_null_if_expr() const; private: - bool _internal_has_json_object_constructor() const; + bool _internal_has_null_if_expr() const; public: - void clear_json_object_constructor() ; - const ::pg_query::JsonObjectConstructor& json_object_constructor() const; - PROTOBUF_NODISCARD ::pg_query::JsonObjectConstructor* release_json_object_constructor(); - ::pg_query::JsonObjectConstructor* mutable_json_object_constructor(); - void set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); - void unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); - ::pg_query::JsonObjectConstructor* unsafe_arena_release_json_object_constructor(); + void clear_null_if_expr() ; + const ::pg_query::NullIfExpr& null_if_expr() const; + PROTOBUF_NODISCARD ::pg_query::NullIfExpr* release_null_if_expr(); + ::pg_query::NullIfExpr* mutable_null_if_expr(); + void set_allocated_null_if_expr(::pg_query::NullIfExpr* value); + void unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value); + ::pg_query::NullIfExpr* unsafe_arena_release_null_if_expr(); private: - const ::pg_query::JsonObjectConstructor& _internal_json_object_constructor() const; - ::pg_query::JsonObjectConstructor* _internal_mutable_json_object_constructor(); + const ::pg_query::NullIfExpr& _internal_null_if_expr() const; + ::pg_query::NullIfExpr* _internal_mutable_null_if_expr(); public: - // .pg_query.JsonArrayConstructor json_array_constructor = 110 [json_name = "JsonArrayConstructor"]; - bool has_json_array_constructor() const; + // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"]; + bool has_scalar_array_op_expr() const; private: - bool _internal_has_json_array_constructor() const; + bool _internal_has_scalar_array_op_expr() const; public: - void clear_json_array_constructor() ; - const ::pg_query::JsonArrayConstructor& json_array_constructor() const; - PROTOBUF_NODISCARD ::pg_query::JsonArrayConstructor* release_json_array_constructor(); - ::pg_query::JsonArrayConstructor* mutable_json_array_constructor(); - void set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); - void unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); - ::pg_query::JsonArrayConstructor* unsafe_arena_release_json_array_constructor(); + void clear_scalar_array_op_expr() ; + const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr() const; + PROTOBUF_NODISCARD ::pg_query::ScalarArrayOpExpr* release_scalar_array_op_expr(); + ::pg_query::ScalarArrayOpExpr* mutable_scalar_array_op_expr(); + void set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); + void unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); + ::pg_query::ScalarArrayOpExpr* unsafe_arena_release_scalar_array_op_expr(); private: - const ::pg_query::JsonArrayConstructor& _internal_json_array_constructor() const; - ::pg_query::JsonArrayConstructor* _internal_mutable_json_array_constructor(); + const ::pg_query::ScalarArrayOpExpr& _internal_scalar_array_op_expr() const; + ::pg_query::ScalarArrayOpExpr* _internal_mutable_scalar_array_op_expr(); public: - // .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 111 [json_name = "JsonArrayQueryConstructor"]; - bool has_json_array_query_constructor() const; + // .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"]; + bool has_bool_expr() const; private: - bool _internal_has_json_array_query_constructor() const; + bool _internal_has_bool_expr() const; public: - void clear_json_array_query_constructor() ; - const ::pg_query::JsonArrayQueryConstructor& json_array_query_constructor() const; - PROTOBUF_NODISCARD ::pg_query::JsonArrayQueryConstructor* release_json_array_query_constructor(); - ::pg_query::JsonArrayQueryConstructor* mutable_json_array_query_constructor(); - void set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); - void unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); - ::pg_query::JsonArrayQueryConstructor* unsafe_arena_release_json_array_query_constructor(); + void clear_bool_expr() ; + const ::pg_query::BoolExpr& bool_expr() const; + PROTOBUF_NODISCARD ::pg_query::BoolExpr* release_bool_expr(); + ::pg_query::BoolExpr* mutable_bool_expr(); + void set_allocated_bool_expr(::pg_query::BoolExpr* value); + void unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value); + ::pg_query::BoolExpr* unsafe_arena_release_bool_expr(); private: - const ::pg_query::JsonArrayQueryConstructor& _internal_json_array_query_constructor() const; - ::pg_query::JsonArrayQueryConstructor* _internal_mutable_json_array_query_constructor(); + const ::pg_query::BoolExpr& _internal_bool_expr() const; + ::pg_query::BoolExpr* _internal_mutable_bool_expr(); public: - // .pg_query.JsonAggConstructor json_agg_constructor = 112 [json_name = "JsonAggConstructor"]; - bool has_json_agg_constructor() const; + // .pg_query.SubLink sub_link = 20 [json_name = "SubLink"]; + bool has_sub_link() const; private: - bool _internal_has_json_agg_constructor() const; + bool _internal_has_sub_link() const; public: - void clear_json_agg_constructor() ; - const ::pg_query::JsonAggConstructor& json_agg_constructor() const; - PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_json_agg_constructor(); - ::pg_query::JsonAggConstructor* mutable_json_agg_constructor(); - void set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); - void unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); - ::pg_query::JsonAggConstructor* unsafe_arena_release_json_agg_constructor(); + void clear_sub_link() ; + const ::pg_query::SubLink& sub_link() const; + PROTOBUF_NODISCARD ::pg_query::SubLink* release_sub_link(); + ::pg_query::SubLink* mutable_sub_link(); + void set_allocated_sub_link(::pg_query::SubLink* value); + void unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value); + ::pg_query::SubLink* unsafe_arena_release_sub_link(); private: - const ::pg_query::JsonAggConstructor& _internal_json_agg_constructor() const; - ::pg_query::JsonAggConstructor* _internal_mutable_json_agg_constructor(); + const ::pg_query::SubLink& _internal_sub_link() const; + ::pg_query::SubLink* _internal_mutable_sub_link(); public: - // .pg_query.JsonObjectAgg json_object_agg = 113 [json_name = "JsonObjectAgg"]; - bool has_json_object_agg() const; + // .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"]; + bool has_sub_plan() const; private: - bool _internal_has_json_object_agg() const; + bool _internal_has_sub_plan() const; public: - void clear_json_object_agg() ; - const ::pg_query::JsonObjectAgg& json_object_agg() const; - PROTOBUF_NODISCARD ::pg_query::JsonObjectAgg* release_json_object_agg(); - ::pg_query::JsonObjectAgg* mutable_json_object_agg(); - void set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); - void unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); - ::pg_query::JsonObjectAgg* unsafe_arena_release_json_object_agg(); + void clear_sub_plan() ; + const ::pg_query::SubPlan& sub_plan() const; + PROTOBUF_NODISCARD ::pg_query::SubPlan* release_sub_plan(); + ::pg_query::SubPlan* mutable_sub_plan(); + void set_allocated_sub_plan(::pg_query::SubPlan* value); + void unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value); + ::pg_query::SubPlan* unsafe_arena_release_sub_plan(); private: - const ::pg_query::JsonObjectAgg& _internal_json_object_agg() const; - ::pg_query::JsonObjectAgg* _internal_mutable_json_object_agg(); + const ::pg_query::SubPlan& _internal_sub_plan() const; + ::pg_query::SubPlan* _internal_mutable_sub_plan(); public: - // .pg_query.JsonArrayAgg json_array_agg = 114 [json_name = "JsonArrayAgg"]; - bool has_json_array_agg() const; + // .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"]; + bool has_alternative_sub_plan() const; private: - bool _internal_has_json_array_agg() const; + bool _internal_has_alternative_sub_plan() const; public: - void clear_json_array_agg() ; - const ::pg_query::JsonArrayAgg& json_array_agg() const; - PROTOBUF_NODISCARD ::pg_query::JsonArrayAgg* release_json_array_agg(); - ::pg_query::JsonArrayAgg* mutable_json_array_agg(); - void set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); - void unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); - ::pg_query::JsonArrayAgg* unsafe_arena_release_json_array_agg(); + void clear_alternative_sub_plan() ; + const ::pg_query::AlternativeSubPlan& alternative_sub_plan() const; + PROTOBUF_NODISCARD ::pg_query::AlternativeSubPlan* release_alternative_sub_plan(); + ::pg_query::AlternativeSubPlan* mutable_alternative_sub_plan(); + void set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); + void unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); + ::pg_query::AlternativeSubPlan* unsafe_arena_release_alternative_sub_plan(); private: - const ::pg_query::JsonArrayAgg& _internal_json_array_agg() const; - ::pg_query::JsonArrayAgg* _internal_mutable_json_array_agg(); + const ::pg_query::AlternativeSubPlan& _internal_alternative_sub_plan() const; + ::pg_query::AlternativeSubPlan* _internal_mutable_alternative_sub_plan(); public: - // .pg_query.RawStmt raw_stmt = 115 [json_name = "RawStmt"]; - bool has_raw_stmt() const; + // .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"]; + bool has_field_select() const; private: - bool _internal_has_raw_stmt() const; + bool _internal_has_field_select() const; public: - void clear_raw_stmt() ; - const ::pg_query::RawStmt& raw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RawStmt* release_raw_stmt(); - ::pg_query::RawStmt* mutable_raw_stmt(); - void set_allocated_raw_stmt(::pg_query::RawStmt* value); - void unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value); - ::pg_query::RawStmt* unsafe_arena_release_raw_stmt(); + void clear_field_select() ; + const ::pg_query::FieldSelect& field_select() const; + PROTOBUF_NODISCARD ::pg_query::FieldSelect* release_field_select(); + ::pg_query::FieldSelect* mutable_field_select(); + void set_allocated_field_select(::pg_query::FieldSelect* value); + void unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value); + ::pg_query::FieldSelect* unsafe_arena_release_field_select(); private: - const ::pg_query::RawStmt& _internal_raw_stmt() const; - ::pg_query::RawStmt* _internal_mutable_raw_stmt(); + const ::pg_query::FieldSelect& _internal_field_select() const; + ::pg_query::FieldSelect* _internal_mutable_field_select(); public: - // .pg_query.InsertStmt insert_stmt = 116 [json_name = "InsertStmt"]; - bool has_insert_stmt() const; + // .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"]; + bool has_field_store() const; private: - bool _internal_has_insert_stmt() const; + bool _internal_has_field_store() const; public: - void clear_insert_stmt() ; - const ::pg_query::InsertStmt& insert_stmt() const; - PROTOBUF_NODISCARD ::pg_query::InsertStmt* release_insert_stmt(); - ::pg_query::InsertStmt* mutable_insert_stmt(); - void set_allocated_insert_stmt(::pg_query::InsertStmt* value); - void unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value); - ::pg_query::InsertStmt* unsafe_arena_release_insert_stmt(); + void clear_field_store() ; + const ::pg_query::FieldStore& field_store() const; + PROTOBUF_NODISCARD ::pg_query::FieldStore* release_field_store(); + ::pg_query::FieldStore* mutable_field_store(); + void set_allocated_field_store(::pg_query::FieldStore* value); + void unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value); + ::pg_query::FieldStore* unsafe_arena_release_field_store(); private: - const ::pg_query::InsertStmt& _internal_insert_stmt() const; - ::pg_query::InsertStmt* _internal_mutable_insert_stmt(); + const ::pg_query::FieldStore& _internal_field_store() const; + ::pg_query::FieldStore* _internal_mutable_field_store(); public: - // .pg_query.DeleteStmt delete_stmt = 117 [json_name = "DeleteStmt"]; - bool has_delete_stmt() const; + // .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"]; + bool has_relabel_type() const; private: - bool _internal_has_delete_stmt() const; + bool _internal_has_relabel_type() const; public: - void clear_delete_stmt() ; - const ::pg_query::DeleteStmt& delete_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeleteStmt* release_delete_stmt(); - ::pg_query::DeleteStmt* mutable_delete_stmt(); - void set_allocated_delete_stmt(::pg_query::DeleteStmt* value); - void unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value); - ::pg_query::DeleteStmt* unsafe_arena_release_delete_stmt(); + void clear_relabel_type() ; + const ::pg_query::RelabelType& relabel_type() const; + PROTOBUF_NODISCARD ::pg_query::RelabelType* release_relabel_type(); + ::pg_query::RelabelType* mutable_relabel_type(); + void set_allocated_relabel_type(::pg_query::RelabelType* value); + void unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value); + ::pg_query::RelabelType* unsafe_arena_release_relabel_type(); private: - const ::pg_query::DeleteStmt& _internal_delete_stmt() const; - ::pg_query::DeleteStmt* _internal_mutable_delete_stmt(); + const ::pg_query::RelabelType& _internal_relabel_type() const; + ::pg_query::RelabelType* _internal_mutable_relabel_type(); public: - // .pg_query.UpdateStmt update_stmt = 118 [json_name = "UpdateStmt"]; - bool has_update_stmt() const; + // .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"]; + bool has_coerce_via_io() const; private: - bool _internal_has_update_stmt() const; + bool _internal_has_coerce_via_io() const; public: - void clear_update_stmt() ; - const ::pg_query::UpdateStmt& update_stmt() const; - PROTOBUF_NODISCARD ::pg_query::UpdateStmt* release_update_stmt(); - ::pg_query::UpdateStmt* mutable_update_stmt(); - void set_allocated_update_stmt(::pg_query::UpdateStmt* value); - void unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value); - ::pg_query::UpdateStmt* unsafe_arena_release_update_stmt(); + void clear_coerce_via_io() ; + const ::pg_query::CoerceViaIO& coerce_via_io() const; + PROTOBUF_NODISCARD ::pg_query::CoerceViaIO* release_coerce_via_io(); + ::pg_query::CoerceViaIO* mutable_coerce_via_io(); + void set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); + void unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); + ::pg_query::CoerceViaIO* unsafe_arena_release_coerce_via_io(); private: - const ::pg_query::UpdateStmt& _internal_update_stmt() const; - ::pg_query::UpdateStmt* _internal_mutable_update_stmt(); + const ::pg_query::CoerceViaIO& _internal_coerce_via_io() const; + ::pg_query::CoerceViaIO* _internal_mutable_coerce_via_io(); public: - // .pg_query.MergeStmt merge_stmt = 119 [json_name = "MergeStmt"]; - bool has_merge_stmt() const; + // .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"]; + bool has_array_coerce_expr() const; private: - bool _internal_has_merge_stmt() const; + bool _internal_has_array_coerce_expr() const; public: - void clear_merge_stmt() ; - const ::pg_query::MergeStmt& merge_stmt() const; - PROTOBUF_NODISCARD ::pg_query::MergeStmt* release_merge_stmt(); - ::pg_query::MergeStmt* mutable_merge_stmt(); - void set_allocated_merge_stmt(::pg_query::MergeStmt* value); - void unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value); - ::pg_query::MergeStmt* unsafe_arena_release_merge_stmt(); + void clear_array_coerce_expr() ; + const ::pg_query::ArrayCoerceExpr& array_coerce_expr() const; + PROTOBUF_NODISCARD ::pg_query::ArrayCoerceExpr* release_array_coerce_expr(); + ::pg_query::ArrayCoerceExpr* mutable_array_coerce_expr(); + void set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); + void unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); + ::pg_query::ArrayCoerceExpr* unsafe_arena_release_array_coerce_expr(); private: - const ::pg_query::MergeStmt& _internal_merge_stmt() const; - ::pg_query::MergeStmt* _internal_mutable_merge_stmt(); + const ::pg_query::ArrayCoerceExpr& _internal_array_coerce_expr() const; + ::pg_query::ArrayCoerceExpr* _internal_mutable_array_coerce_expr(); public: - // .pg_query.SelectStmt select_stmt = 120 [json_name = "SelectStmt"]; - bool has_select_stmt() const; + // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"]; + bool has_convert_rowtype_expr() const; private: - bool _internal_has_select_stmt() const; + bool _internal_has_convert_rowtype_expr() const; public: - void clear_select_stmt() ; - const ::pg_query::SelectStmt& select_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_select_stmt(); - ::pg_query::SelectStmt* mutable_select_stmt(); - void set_allocated_select_stmt(::pg_query::SelectStmt* value); - void unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value); - ::pg_query::SelectStmt* unsafe_arena_release_select_stmt(); + void clear_convert_rowtype_expr() ; + const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr() const; + PROTOBUF_NODISCARD ::pg_query::ConvertRowtypeExpr* release_convert_rowtype_expr(); + ::pg_query::ConvertRowtypeExpr* mutable_convert_rowtype_expr(); + void set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); + void unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); + ::pg_query::ConvertRowtypeExpr* unsafe_arena_release_convert_rowtype_expr(); private: - const ::pg_query::SelectStmt& _internal_select_stmt() const; - ::pg_query::SelectStmt* _internal_mutable_select_stmt(); + const ::pg_query::ConvertRowtypeExpr& _internal_convert_rowtype_expr() const; + ::pg_query::ConvertRowtypeExpr* _internal_mutable_convert_rowtype_expr(); public: - // .pg_query.SetOperationStmt set_operation_stmt = 121 [json_name = "SetOperationStmt"]; - bool has_set_operation_stmt() const; + // .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"]; + bool has_collate_expr() const; private: - bool _internal_has_set_operation_stmt() const; + bool _internal_has_collate_expr() const; public: - void clear_set_operation_stmt() ; - const ::pg_query::SetOperationStmt& set_operation_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SetOperationStmt* release_set_operation_stmt(); - ::pg_query::SetOperationStmt* mutable_set_operation_stmt(); - void set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); - void unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); - ::pg_query::SetOperationStmt* unsafe_arena_release_set_operation_stmt(); + void clear_collate_expr() ; + const ::pg_query::CollateExpr& collate_expr() const; + PROTOBUF_NODISCARD ::pg_query::CollateExpr* release_collate_expr(); + ::pg_query::CollateExpr* mutable_collate_expr(); + void set_allocated_collate_expr(::pg_query::CollateExpr* value); + void unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value); + ::pg_query::CollateExpr* unsafe_arena_release_collate_expr(); private: - const ::pg_query::SetOperationStmt& _internal_set_operation_stmt() const; - ::pg_query::SetOperationStmt* _internal_mutable_set_operation_stmt(); + const ::pg_query::CollateExpr& _internal_collate_expr() const; + ::pg_query::CollateExpr* _internal_mutable_collate_expr(); public: - // .pg_query.ReturnStmt return_stmt = 122 [json_name = "ReturnStmt"]; - bool has_return_stmt() const; + // .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"]; + bool has_case_expr() const; private: - bool _internal_has_return_stmt() const; + bool _internal_has_case_expr() const; public: - void clear_return_stmt() ; - const ::pg_query::ReturnStmt& return_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReturnStmt* release_return_stmt(); - ::pg_query::ReturnStmt* mutable_return_stmt(); - void set_allocated_return_stmt(::pg_query::ReturnStmt* value); - void unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value); - ::pg_query::ReturnStmt* unsafe_arena_release_return_stmt(); + void clear_case_expr() ; + const ::pg_query::CaseExpr& case_expr() const; + PROTOBUF_NODISCARD ::pg_query::CaseExpr* release_case_expr(); + ::pg_query::CaseExpr* mutable_case_expr(); + void set_allocated_case_expr(::pg_query::CaseExpr* value); + void unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value); + ::pg_query::CaseExpr* unsafe_arena_release_case_expr(); private: - const ::pg_query::ReturnStmt& _internal_return_stmt() const; - ::pg_query::ReturnStmt* _internal_mutable_return_stmt(); + const ::pg_query::CaseExpr& _internal_case_expr() const; + ::pg_query::CaseExpr* _internal_mutable_case_expr(); public: - // .pg_query.PLAssignStmt plassign_stmt = 123 [json_name = "PLAssignStmt"]; - bool has_plassign_stmt() const; + // .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"]; + bool has_case_when() const; private: - bool _internal_has_plassign_stmt() const; + bool _internal_has_case_when() const; public: - void clear_plassign_stmt() ; - const ::pg_query::PLAssignStmt& plassign_stmt() const; - PROTOBUF_NODISCARD ::pg_query::PLAssignStmt* release_plassign_stmt(); - ::pg_query::PLAssignStmt* mutable_plassign_stmt(); - void set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); - void unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); - ::pg_query::PLAssignStmt* unsafe_arena_release_plassign_stmt(); + void clear_case_when() ; + const ::pg_query::CaseWhen& case_when() const; + PROTOBUF_NODISCARD ::pg_query::CaseWhen* release_case_when(); + ::pg_query::CaseWhen* mutable_case_when(); + void set_allocated_case_when(::pg_query::CaseWhen* value); + void unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value); + ::pg_query::CaseWhen* unsafe_arena_release_case_when(); private: - const ::pg_query::PLAssignStmt& _internal_plassign_stmt() const; - ::pg_query::PLAssignStmt* _internal_mutable_plassign_stmt(); + const ::pg_query::CaseWhen& _internal_case_when() const; + ::pg_query::CaseWhen* _internal_mutable_case_when(); public: - // .pg_query.CreateSchemaStmt create_schema_stmt = 124 [json_name = "CreateSchemaStmt"]; - bool has_create_schema_stmt() const; + // .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"]; + bool has_case_test_expr() const; private: - bool _internal_has_create_schema_stmt() const; + bool _internal_has_case_test_expr() const; public: - void clear_create_schema_stmt() ; - const ::pg_query::CreateSchemaStmt& create_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSchemaStmt* release_create_schema_stmt(); - ::pg_query::CreateSchemaStmt* mutable_create_schema_stmt(); - void set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); - void unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); - ::pg_query::CreateSchemaStmt* unsafe_arena_release_create_schema_stmt(); + void clear_case_test_expr() ; + const ::pg_query::CaseTestExpr& case_test_expr() const; + PROTOBUF_NODISCARD ::pg_query::CaseTestExpr* release_case_test_expr(); + ::pg_query::CaseTestExpr* mutable_case_test_expr(); + void set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); + void unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); + ::pg_query::CaseTestExpr* unsafe_arena_release_case_test_expr(); private: - const ::pg_query::CreateSchemaStmt& _internal_create_schema_stmt() const; - ::pg_query::CreateSchemaStmt* _internal_mutable_create_schema_stmt(); + const ::pg_query::CaseTestExpr& _internal_case_test_expr() const; + ::pg_query::CaseTestExpr* _internal_mutable_case_test_expr(); public: - // .pg_query.AlterTableStmt alter_table_stmt = 125 [json_name = "AlterTableStmt"]; - bool has_alter_table_stmt() const; + // .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"]; + bool has_array_expr() const; private: - bool _internal_has_alter_table_stmt() const; + bool _internal_has_array_expr() const; public: - void clear_alter_table_stmt() ; - const ::pg_query::AlterTableStmt& alter_table_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableStmt* release_alter_table_stmt(); - ::pg_query::AlterTableStmt* mutable_alter_table_stmt(); - void set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); - void unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); - ::pg_query::AlterTableStmt* unsafe_arena_release_alter_table_stmt(); + void clear_array_expr() ; + const ::pg_query::ArrayExpr& array_expr() const; + PROTOBUF_NODISCARD ::pg_query::ArrayExpr* release_array_expr(); + ::pg_query::ArrayExpr* mutable_array_expr(); + void set_allocated_array_expr(::pg_query::ArrayExpr* value); + void unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value); + ::pg_query::ArrayExpr* unsafe_arena_release_array_expr(); private: - const ::pg_query::AlterTableStmt& _internal_alter_table_stmt() const; - ::pg_query::AlterTableStmt* _internal_mutable_alter_table_stmt(); + const ::pg_query::ArrayExpr& _internal_array_expr() const; + ::pg_query::ArrayExpr* _internal_mutable_array_expr(); public: - // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 126 [json_name = "ReplicaIdentityStmt"]; - bool has_replica_identity_stmt() const; + // .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"]; + bool has_row_expr() const; private: - bool _internal_has_replica_identity_stmt() const; + bool _internal_has_row_expr() const; public: - void clear_replica_identity_stmt() ; - const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReplicaIdentityStmt* release_replica_identity_stmt(); - ::pg_query::ReplicaIdentityStmt* mutable_replica_identity_stmt(); - void set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); - void unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); - ::pg_query::ReplicaIdentityStmt* unsafe_arena_release_replica_identity_stmt(); + void clear_row_expr() ; + const ::pg_query::RowExpr& row_expr() const; + PROTOBUF_NODISCARD ::pg_query::RowExpr* release_row_expr(); + ::pg_query::RowExpr* mutable_row_expr(); + void set_allocated_row_expr(::pg_query::RowExpr* value); + void unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value); + ::pg_query::RowExpr* unsafe_arena_release_row_expr(); private: - const ::pg_query::ReplicaIdentityStmt& _internal_replica_identity_stmt() const; - ::pg_query::ReplicaIdentityStmt* _internal_mutable_replica_identity_stmt(); + const ::pg_query::RowExpr& _internal_row_expr() const; + ::pg_query::RowExpr* _internal_mutable_row_expr(); public: - // .pg_query.AlterTableCmd alter_table_cmd = 127 [json_name = "AlterTableCmd"]; - bool has_alter_table_cmd() const; + // .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"]; + bool has_row_compare_expr() const; private: - bool _internal_has_alter_table_cmd() const; + bool _internal_has_row_compare_expr() const; public: - void clear_alter_table_cmd() ; - const ::pg_query::AlterTableCmd& alter_table_cmd() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableCmd* release_alter_table_cmd(); - ::pg_query::AlterTableCmd* mutable_alter_table_cmd(); - void set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); - void unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); - ::pg_query::AlterTableCmd* unsafe_arena_release_alter_table_cmd(); + void clear_row_compare_expr() ; + const ::pg_query::RowCompareExpr& row_compare_expr() const; + PROTOBUF_NODISCARD ::pg_query::RowCompareExpr* release_row_compare_expr(); + ::pg_query::RowCompareExpr* mutable_row_compare_expr(); + void set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); + void unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); + ::pg_query::RowCompareExpr* unsafe_arena_release_row_compare_expr(); private: - const ::pg_query::AlterTableCmd& _internal_alter_table_cmd() const; - ::pg_query::AlterTableCmd* _internal_mutable_alter_table_cmd(); + const ::pg_query::RowCompareExpr& _internal_row_compare_expr() const; + ::pg_query::RowCompareExpr* _internal_mutable_row_compare_expr(); public: - // .pg_query.AlterCollationStmt alter_collation_stmt = 128 [json_name = "AlterCollationStmt"]; - bool has_alter_collation_stmt() const; + // .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"]; + bool has_coalesce_expr() const; private: - bool _internal_has_alter_collation_stmt() const; + bool _internal_has_coalesce_expr() const; public: - void clear_alter_collation_stmt() ; - const ::pg_query::AlterCollationStmt& alter_collation_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterCollationStmt* release_alter_collation_stmt(); - ::pg_query::AlterCollationStmt* mutable_alter_collation_stmt(); - void set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); - void unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); - ::pg_query::AlterCollationStmt* unsafe_arena_release_alter_collation_stmt(); + void clear_coalesce_expr() ; + const ::pg_query::CoalesceExpr& coalesce_expr() const; + PROTOBUF_NODISCARD ::pg_query::CoalesceExpr* release_coalesce_expr(); + ::pg_query::CoalesceExpr* mutable_coalesce_expr(); + void set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); + void unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); + ::pg_query::CoalesceExpr* unsafe_arena_release_coalesce_expr(); private: - const ::pg_query::AlterCollationStmt& _internal_alter_collation_stmt() const; - ::pg_query::AlterCollationStmt* _internal_mutable_alter_collation_stmt(); + const ::pg_query::CoalesceExpr& _internal_coalesce_expr() const; + ::pg_query::CoalesceExpr* _internal_mutable_coalesce_expr(); public: - // .pg_query.AlterDomainStmt alter_domain_stmt = 129 [json_name = "AlterDomainStmt"]; - bool has_alter_domain_stmt() const; + // .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"]; + bool has_min_max_expr() const; private: - bool _internal_has_alter_domain_stmt() const; + bool _internal_has_min_max_expr() const; public: - void clear_alter_domain_stmt() ; - const ::pg_query::AlterDomainStmt& alter_domain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDomainStmt* release_alter_domain_stmt(); - ::pg_query::AlterDomainStmt* mutable_alter_domain_stmt(); - void set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); - void unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); - ::pg_query::AlterDomainStmt* unsafe_arena_release_alter_domain_stmt(); + void clear_min_max_expr() ; + const ::pg_query::MinMaxExpr& min_max_expr() const; + PROTOBUF_NODISCARD ::pg_query::MinMaxExpr* release_min_max_expr(); + ::pg_query::MinMaxExpr* mutable_min_max_expr(); + void set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); + void unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); + ::pg_query::MinMaxExpr* unsafe_arena_release_min_max_expr(); private: - const ::pg_query::AlterDomainStmt& _internal_alter_domain_stmt() const; - ::pg_query::AlterDomainStmt* _internal_mutable_alter_domain_stmt(); + const ::pg_query::MinMaxExpr& _internal_min_max_expr() const; + ::pg_query::MinMaxExpr* _internal_mutable_min_max_expr(); public: - // .pg_query.GrantStmt grant_stmt = 130 [json_name = "GrantStmt"]; - bool has_grant_stmt() const; + // .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"]; + bool has_sqlvalue_function() const; private: - bool _internal_has_grant_stmt() const; + bool _internal_has_sqlvalue_function() const; public: - void clear_grant_stmt() ; - const ::pg_query::GrantStmt& grant_stmt() const; - PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_grant_stmt(); - ::pg_query::GrantStmt* mutable_grant_stmt(); - void set_allocated_grant_stmt(::pg_query::GrantStmt* value); - void unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value); - ::pg_query::GrantStmt* unsafe_arena_release_grant_stmt(); + void clear_sqlvalue_function() ; + const ::pg_query::SQLValueFunction& sqlvalue_function() const; + PROTOBUF_NODISCARD ::pg_query::SQLValueFunction* release_sqlvalue_function(); + ::pg_query::SQLValueFunction* mutable_sqlvalue_function(); + void set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); + void unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); + ::pg_query::SQLValueFunction* unsafe_arena_release_sqlvalue_function(); private: - const ::pg_query::GrantStmt& _internal_grant_stmt() const; - ::pg_query::GrantStmt* _internal_mutable_grant_stmt(); + const ::pg_query::SQLValueFunction& _internal_sqlvalue_function() const; + ::pg_query::SQLValueFunction* _internal_mutable_sqlvalue_function(); public: - // .pg_query.ObjectWithArgs object_with_args = 131 [json_name = "ObjectWithArgs"]; - bool has_object_with_args() const; + // .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"]; + bool has_xml_expr() const; private: - bool _internal_has_object_with_args() const; + bool _internal_has_xml_expr() const; public: - void clear_object_with_args() ; - const ::pg_query::ObjectWithArgs& object_with_args() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_object_with_args(); - ::pg_query::ObjectWithArgs* mutable_object_with_args(); - void set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); - void unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); - ::pg_query::ObjectWithArgs* unsafe_arena_release_object_with_args(); + void clear_xml_expr() ; + const ::pg_query::XmlExpr& xml_expr() const; + PROTOBUF_NODISCARD ::pg_query::XmlExpr* release_xml_expr(); + ::pg_query::XmlExpr* mutable_xml_expr(); + void set_allocated_xml_expr(::pg_query::XmlExpr* value); + void unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value); + ::pg_query::XmlExpr* unsafe_arena_release_xml_expr(); private: - const ::pg_query::ObjectWithArgs& _internal_object_with_args() const; - ::pg_query::ObjectWithArgs* _internal_mutable_object_with_args(); + const ::pg_query::XmlExpr& _internal_xml_expr() const; + ::pg_query::XmlExpr* _internal_mutable_xml_expr(); public: - // .pg_query.AccessPriv access_priv = 132 [json_name = "AccessPriv"]; - bool has_access_priv() const; + // .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"]; + bool has_json_format() const; private: - bool _internal_has_access_priv() const; + bool _internal_has_json_format() const; public: - void clear_access_priv() ; - const ::pg_query::AccessPriv& access_priv() const; - PROTOBUF_NODISCARD ::pg_query::AccessPriv* release_access_priv(); - ::pg_query::AccessPriv* mutable_access_priv(); - void set_allocated_access_priv(::pg_query::AccessPriv* value); - void unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value); - ::pg_query::AccessPriv* unsafe_arena_release_access_priv(); + void clear_json_format() ; + const ::pg_query::JsonFormat& json_format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_json_format(); + ::pg_query::JsonFormat* mutable_json_format(); + void set_allocated_json_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_json_format(); private: - const ::pg_query::AccessPriv& _internal_access_priv() const; - ::pg_query::AccessPriv* _internal_mutable_access_priv(); + const ::pg_query::JsonFormat& _internal_json_format() const; + ::pg_query::JsonFormat* _internal_mutable_json_format(); public: - // .pg_query.GrantRoleStmt grant_role_stmt = 133 [json_name = "GrantRoleStmt"]; - bool has_grant_role_stmt() const; + // .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"]; + bool has_json_returning() const; private: - bool _internal_has_grant_role_stmt() const; + bool _internal_has_json_returning() const; public: - void clear_grant_role_stmt() ; - const ::pg_query::GrantRoleStmt& grant_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::GrantRoleStmt* release_grant_role_stmt(); - ::pg_query::GrantRoleStmt* mutable_grant_role_stmt(); - void set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); - void unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); - ::pg_query::GrantRoleStmt* unsafe_arena_release_grant_role_stmt(); + void clear_json_returning() ; + const ::pg_query::JsonReturning& json_returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_json_returning(); + ::pg_query::JsonReturning* mutable_json_returning(); + void set_allocated_json_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_json_returning(); private: - const ::pg_query::GrantRoleStmt& _internal_grant_role_stmt() const; - ::pg_query::GrantRoleStmt* _internal_mutable_grant_role_stmt(); + const ::pg_query::JsonReturning& _internal_json_returning() const; + ::pg_query::JsonReturning* _internal_mutable_json_returning(); public: - // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 134 [json_name = "AlterDefaultPrivilegesStmt"]; - bool has_alter_default_privileges_stmt() const; + // .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"]; + bool has_json_value_expr() const; private: - bool _internal_has_alter_default_privileges_stmt() const; + bool _internal_has_json_value_expr() const; public: - void clear_alter_default_privileges_stmt() ; - const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDefaultPrivilegesStmt* release_alter_default_privileges_stmt(); - ::pg_query::AlterDefaultPrivilegesStmt* mutable_alter_default_privileges_stmt(); - void set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); - void unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); - ::pg_query::AlterDefaultPrivilegesStmt* unsafe_arena_release_alter_default_privileges_stmt(); + void clear_json_value_expr() ; + const ::pg_query::JsonValueExpr& json_value_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_json_value_expr(); + ::pg_query::JsonValueExpr* mutable_json_value_expr(); + void set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_json_value_expr(); private: - const ::pg_query::AlterDefaultPrivilegesStmt& _internal_alter_default_privileges_stmt() const; - ::pg_query::AlterDefaultPrivilegesStmt* _internal_mutable_alter_default_privileges_stmt(); + const ::pg_query::JsonValueExpr& _internal_json_value_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_json_value_expr(); public: - // .pg_query.CopyStmt copy_stmt = 135 [json_name = "CopyStmt"]; - bool has_copy_stmt() const; + // .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"]; + bool has_json_constructor_expr() const; private: - bool _internal_has_copy_stmt() const; + bool _internal_has_json_constructor_expr() const; public: - void clear_copy_stmt() ; - const ::pg_query::CopyStmt& copy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CopyStmt* release_copy_stmt(); - ::pg_query::CopyStmt* mutable_copy_stmt(); - void set_allocated_copy_stmt(::pg_query::CopyStmt* value); - void unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value); - ::pg_query::CopyStmt* unsafe_arena_release_copy_stmt(); + void clear_json_constructor_expr() ; + const ::pg_query::JsonConstructorExpr& json_constructor_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonConstructorExpr* release_json_constructor_expr(); + ::pg_query::JsonConstructorExpr* mutable_json_constructor_expr(); + void set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); + void unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); + ::pg_query::JsonConstructorExpr* unsafe_arena_release_json_constructor_expr(); private: - const ::pg_query::CopyStmt& _internal_copy_stmt() const; - ::pg_query::CopyStmt* _internal_mutable_copy_stmt(); + const ::pg_query::JsonConstructorExpr& _internal_json_constructor_expr() const; + ::pg_query::JsonConstructorExpr* _internal_mutable_json_constructor_expr(); public: - // .pg_query.VariableSetStmt variable_set_stmt = 136 [json_name = "VariableSetStmt"]; - bool has_variable_set_stmt() const; + // .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"]; + bool has_json_is_predicate() const; private: - bool _internal_has_variable_set_stmt() const; + bool _internal_has_json_is_predicate() const; public: - void clear_variable_set_stmt() ; - const ::pg_query::VariableSetStmt& variable_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_variable_set_stmt(); - ::pg_query::VariableSetStmt* mutable_variable_set_stmt(); - void set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); - void unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); - ::pg_query::VariableSetStmt* unsafe_arena_release_variable_set_stmt(); + void clear_json_is_predicate() ; + const ::pg_query::JsonIsPredicate& json_is_predicate() const; + PROTOBUF_NODISCARD ::pg_query::JsonIsPredicate* release_json_is_predicate(); + ::pg_query::JsonIsPredicate* mutable_json_is_predicate(); + void set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); + void unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); + ::pg_query::JsonIsPredicate* unsafe_arena_release_json_is_predicate(); private: - const ::pg_query::VariableSetStmt& _internal_variable_set_stmt() const; - ::pg_query::VariableSetStmt* _internal_mutable_variable_set_stmt(); + const ::pg_query::JsonIsPredicate& _internal_json_is_predicate() const; + ::pg_query::JsonIsPredicate* _internal_mutable_json_is_predicate(); public: - // .pg_query.VariableShowStmt variable_show_stmt = 137 [json_name = "VariableShowStmt"]; - bool has_variable_show_stmt() const; + // .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"]; + bool has_json_behavior() const; private: - bool _internal_has_variable_show_stmt() const; + bool _internal_has_json_behavior() const; public: - void clear_variable_show_stmt() ; - const ::pg_query::VariableShowStmt& variable_show_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableShowStmt* release_variable_show_stmt(); - ::pg_query::VariableShowStmt* mutable_variable_show_stmt(); - void set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); - void unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); - ::pg_query::VariableShowStmt* unsafe_arena_release_variable_show_stmt(); + void clear_json_behavior() ; + const ::pg_query::JsonBehavior& json_behavior() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_json_behavior(); + ::pg_query::JsonBehavior* mutable_json_behavior(); + void set_allocated_json_behavior(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_json_behavior(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_json_behavior(); private: - const ::pg_query::VariableShowStmt& _internal_variable_show_stmt() const; - ::pg_query::VariableShowStmt* _internal_mutable_variable_show_stmt(); + const ::pg_query::JsonBehavior& _internal_json_behavior() const; + ::pg_query::JsonBehavior* _internal_mutable_json_behavior(); public: - // .pg_query.CreateStmt create_stmt = 138 [json_name = "CreateStmt"]; - bool has_create_stmt() const; + // .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"]; + bool has_json_expr() const; private: - bool _internal_has_create_stmt() const; + bool _internal_has_json_expr() const; public: - void clear_create_stmt() ; - const ::pg_query::CreateStmt& create_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_create_stmt(); - ::pg_query::CreateStmt* mutable_create_stmt(); - void set_allocated_create_stmt(::pg_query::CreateStmt* value); - void unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value); - ::pg_query::CreateStmt* unsafe_arena_release_create_stmt(); + void clear_json_expr() ; + const ::pg_query::JsonExpr& json_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonExpr* release_json_expr(); + ::pg_query::JsonExpr* mutable_json_expr(); + void set_allocated_json_expr(::pg_query::JsonExpr* value); + void unsafe_arena_set_allocated_json_expr(::pg_query::JsonExpr* value); + ::pg_query::JsonExpr* unsafe_arena_release_json_expr(); private: - const ::pg_query::CreateStmt& _internal_create_stmt() const; - ::pg_query::CreateStmt* _internal_mutable_create_stmt(); + const ::pg_query::JsonExpr& _internal_json_expr() const; + ::pg_query::JsonExpr* _internal_mutable_json_expr(); public: - // .pg_query.Constraint constraint = 139 [json_name = "Constraint"]; - bool has_constraint() const; + // .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"]; + bool has_json_table_path() const; private: - bool _internal_has_constraint() const; + bool _internal_has_json_table_path() const; public: - void clear_constraint() ; - const ::pg_query::Constraint& constraint() const; - PROTOBUF_NODISCARD ::pg_query::Constraint* release_constraint(); - ::pg_query::Constraint* mutable_constraint(); - void set_allocated_constraint(::pg_query::Constraint* value); - void unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value); - ::pg_query::Constraint* unsafe_arena_release_constraint(); + void clear_json_table_path() ; + const ::pg_query::JsonTablePath& json_table_path() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePath* release_json_table_path(); + ::pg_query::JsonTablePath* mutable_json_table_path(); + void set_allocated_json_table_path(::pg_query::JsonTablePath* value); + void unsafe_arena_set_allocated_json_table_path(::pg_query::JsonTablePath* value); + ::pg_query::JsonTablePath* unsafe_arena_release_json_table_path(); private: - const ::pg_query::Constraint& _internal_constraint() const; - ::pg_query::Constraint* _internal_mutable_constraint(); + const ::pg_query::JsonTablePath& _internal_json_table_path() const; + ::pg_query::JsonTablePath* _internal_mutable_json_table_path(); public: - // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 140 [json_name = "CreateTableSpaceStmt"]; - bool has_create_table_space_stmt() const; + // .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"]; + bool has_json_table_path_scan() const; private: - bool _internal_has_create_table_space_stmt() const; + bool _internal_has_json_table_path_scan() const; public: - void clear_create_table_space_stmt() ; - const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTableSpaceStmt* release_create_table_space_stmt(); - ::pg_query::CreateTableSpaceStmt* mutable_create_table_space_stmt(); - void set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); - void unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); - ::pg_query::CreateTableSpaceStmt* unsafe_arena_release_create_table_space_stmt(); + void clear_json_table_path_scan() ; + const ::pg_query::JsonTablePathScan& json_table_path_scan() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathScan* release_json_table_path_scan(); + ::pg_query::JsonTablePathScan* mutable_json_table_path_scan(); + void set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value); + void unsafe_arena_set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value); + ::pg_query::JsonTablePathScan* unsafe_arena_release_json_table_path_scan(); private: - const ::pg_query::CreateTableSpaceStmt& _internal_create_table_space_stmt() const; - ::pg_query::CreateTableSpaceStmt* _internal_mutable_create_table_space_stmt(); + const ::pg_query::JsonTablePathScan& _internal_json_table_path_scan() const; + ::pg_query::JsonTablePathScan* _internal_mutable_json_table_path_scan(); public: - // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 141 [json_name = "DropTableSpaceStmt"]; - bool has_drop_table_space_stmt() const; + // .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"]; + bool has_json_table_sibling_join() const; private: - bool _internal_has_drop_table_space_stmt() const; + bool _internal_has_json_table_sibling_join() const; public: - void clear_drop_table_space_stmt() ; - const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropTableSpaceStmt* release_drop_table_space_stmt(); - ::pg_query::DropTableSpaceStmt* mutable_drop_table_space_stmt(); - void set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); - void unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); - ::pg_query::DropTableSpaceStmt* unsafe_arena_release_drop_table_space_stmt(); + void clear_json_table_sibling_join() ; + const ::pg_query::JsonTableSiblingJoin& json_table_sibling_join() const; + PROTOBUF_NODISCARD ::pg_query::JsonTableSiblingJoin* release_json_table_sibling_join(); + ::pg_query::JsonTableSiblingJoin* mutable_json_table_sibling_join(); + void set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value); + void unsafe_arena_set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value); + ::pg_query::JsonTableSiblingJoin* unsafe_arena_release_json_table_sibling_join(); private: - const ::pg_query::DropTableSpaceStmt& _internal_drop_table_space_stmt() const; - ::pg_query::DropTableSpaceStmt* _internal_mutable_drop_table_space_stmt(); + const ::pg_query::JsonTableSiblingJoin& _internal_json_table_sibling_join() const; + ::pg_query::JsonTableSiblingJoin* _internal_mutable_json_table_sibling_join(); public: - // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 142 [json_name = "AlterTableSpaceOptionsStmt"]; - bool has_alter_table_space_options_stmt() const; + // .pg_query.NullTest null_test = 50 [json_name = "NullTest"]; + bool has_null_test() const; private: - bool _internal_has_alter_table_space_options_stmt() const; + bool _internal_has_null_test() const; public: - void clear_alter_table_space_options_stmt() ; - const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableSpaceOptionsStmt* release_alter_table_space_options_stmt(); - ::pg_query::AlterTableSpaceOptionsStmt* mutable_alter_table_space_options_stmt(); - void set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); - void unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); - ::pg_query::AlterTableSpaceOptionsStmt* unsafe_arena_release_alter_table_space_options_stmt(); + void clear_null_test() ; + const ::pg_query::NullTest& null_test() const; + PROTOBUF_NODISCARD ::pg_query::NullTest* release_null_test(); + ::pg_query::NullTest* mutable_null_test(); + void set_allocated_null_test(::pg_query::NullTest* value); + void unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value); + ::pg_query::NullTest* unsafe_arena_release_null_test(); private: - const ::pg_query::AlterTableSpaceOptionsStmt& _internal_alter_table_space_options_stmt() const; - ::pg_query::AlterTableSpaceOptionsStmt* _internal_mutable_alter_table_space_options_stmt(); + const ::pg_query::NullTest& _internal_null_test() const; + ::pg_query::NullTest* _internal_mutable_null_test(); public: - // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 143 [json_name = "AlterTableMoveAllStmt"]; - bool has_alter_table_move_all_stmt() const; + // .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"]; + bool has_boolean_test() const; private: - bool _internal_has_alter_table_move_all_stmt() const; + bool _internal_has_boolean_test() const; public: - void clear_alter_table_move_all_stmt() ; - const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableMoveAllStmt* release_alter_table_move_all_stmt(); - ::pg_query::AlterTableMoveAllStmt* mutable_alter_table_move_all_stmt(); - void set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); - void unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); - ::pg_query::AlterTableMoveAllStmt* unsafe_arena_release_alter_table_move_all_stmt(); + void clear_boolean_test() ; + const ::pg_query::BooleanTest& boolean_test() const; + PROTOBUF_NODISCARD ::pg_query::BooleanTest* release_boolean_test(); + ::pg_query::BooleanTest* mutable_boolean_test(); + void set_allocated_boolean_test(::pg_query::BooleanTest* value); + void unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value); + ::pg_query::BooleanTest* unsafe_arena_release_boolean_test(); private: - const ::pg_query::AlterTableMoveAllStmt& _internal_alter_table_move_all_stmt() const; - ::pg_query::AlterTableMoveAllStmt* _internal_mutable_alter_table_move_all_stmt(); + const ::pg_query::BooleanTest& _internal_boolean_test() const; + ::pg_query::BooleanTest* _internal_mutable_boolean_test(); public: - // .pg_query.CreateExtensionStmt create_extension_stmt = 144 [json_name = "CreateExtensionStmt"]; - bool has_create_extension_stmt() const; + // .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"]; + bool has_merge_action() const; private: - bool _internal_has_create_extension_stmt() const; + bool _internal_has_merge_action() const; public: - void clear_create_extension_stmt() ; - const ::pg_query::CreateExtensionStmt& create_extension_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateExtensionStmt* release_create_extension_stmt(); - ::pg_query::CreateExtensionStmt* mutable_create_extension_stmt(); - void set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); - void unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); - ::pg_query::CreateExtensionStmt* unsafe_arena_release_create_extension_stmt(); + void clear_merge_action() ; + const ::pg_query::MergeAction& merge_action() const; + PROTOBUF_NODISCARD ::pg_query::MergeAction* release_merge_action(); + ::pg_query::MergeAction* mutable_merge_action(); + void set_allocated_merge_action(::pg_query::MergeAction* value); + void unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value); + ::pg_query::MergeAction* unsafe_arena_release_merge_action(); private: - const ::pg_query::CreateExtensionStmt& _internal_create_extension_stmt() const; - ::pg_query::CreateExtensionStmt* _internal_mutable_create_extension_stmt(); + const ::pg_query::MergeAction& _internal_merge_action() const; + ::pg_query::MergeAction* _internal_mutable_merge_action(); public: - // .pg_query.AlterExtensionStmt alter_extension_stmt = 145 [json_name = "AlterExtensionStmt"]; - bool has_alter_extension_stmt() const; + // .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"]; + bool has_coerce_to_domain() const; private: - bool _internal_has_alter_extension_stmt() const; + bool _internal_has_coerce_to_domain() const; public: - void clear_alter_extension_stmt() ; - const ::pg_query::AlterExtensionStmt& alter_extension_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterExtensionStmt* release_alter_extension_stmt(); - ::pg_query::AlterExtensionStmt* mutable_alter_extension_stmt(); - void set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); - void unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); - ::pg_query::AlterExtensionStmt* unsafe_arena_release_alter_extension_stmt(); + void clear_coerce_to_domain() ; + const ::pg_query::CoerceToDomain& coerce_to_domain() const; + PROTOBUF_NODISCARD ::pg_query::CoerceToDomain* release_coerce_to_domain(); + ::pg_query::CoerceToDomain* mutable_coerce_to_domain(); + void set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); + void unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); + ::pg_query::CoerceToDomain* unsafe_arena_release_coerce_to_domain(); private: - const ::pg_query::AlterExtensionStmt& _internal_alter_extension_stmt() const; - ::pg_query::AlterExtensionStmt* _internal_mutable_alter_extension_stmt(); + const ::pg_query::CoerceToDomain& _internal_coerce_to_domain() const; + ::pg_query::CoerceToDomain* _internal_mutable_coerce_to_domain(); public: - // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 146 [json_name = "AlterExtensionContentsStmt"]; - bool has_alter_extension_contents_stmt() const; + // .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"]; + bool has_coerce_to_domain_value() const; private: - bool _internal_has_alter_extension_contents_stmt() const; + bool _internal_has_coerce_to_domain_value() const; public: - void clear_alter_extension_contents_stmt() ; - const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterExtensionContentsStmt* release_alter_extension_contents_stmt(); - ::pg_query::AlterExtensionContentsStmt* mutable_alter_extension_contents_stmt(); - void set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); - void unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); - ::pg_query::AlterExtensionContentsStmt* unsafe_arena_release_alter_extension_contents_stmt(); + void clear_coerce_to_domain_value() ; + const ::pg_query::CoerceToDomainValue& coerce_to_domain_value() const; + PROTOBUF_NODISCARD ::pg_query::CoerceToDomainValue* release_coerce_to_domain_value(); + ::pg_query::CoerceToDomainValue* mutable_coerce_to_domain_value(); + void set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); + void unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); + ::pg_query::CoerceToDomainValue* unsafe_arena_release_coerce_to_domain_value(); private: - const ::pg_query::AlterExtensionContentsStmt& _internal_alter_extension_contents_stmt() const; - ::pg_query::AlterExtensionContentsStmt* _internal_mutable_alter_extension_contents_stmt(); + const ::pg_query::CoerceToDomainValue& _internal_coerce_to_domain_value() const; + ::pg_query::CoerceToDomainValue* _internal_mutable_coerce_to_domain_value(); public: - // .pg_query.CreateFdwStmt create_fdw_stmt = 147 [json_name = "CreateFdwStmt"]; - bool has_create_fdw_stmt() const; + // .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"]; + bool has_set_to_default() const; private: - bool _internal_has_create_fdw_stmt() const; + bool _internal_has_set_to_default() const; public: - void clear_create_fdw_stmt() ; - const ::pg_query::CreateFdwStmt& create_fdw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateFdwStmt* release_create_fdw_stmt(); - ::pg_query::CreateFdwStmt* mutable_create_fdw_stmt(); - void set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); - void unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); - ::pg_query::CreateFdwStmt* unsafe_arena_release_create_fdw_stmt(); + void clear_set_to_default() ; + const ::pg_query::SetToDefault& set_to_default() const; + PROTOBUF_NODISCARD ::pg_query::SetToDefault* release_set_to_default(); + ::pg_query::SetToDefault* mutable_set_to_default(); + void set_allocated_set_to_default(::pg_query::SetToDefault* value); + void unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value); + ::pg_query::SetToDefault* unsafe_arena_release_set_to_default(); private: - const ::pg_query::CreateFdwStmt& _internal_create_fdw_stmt() const; - ::pg_query::CreateFdwStmt* _internal_mutable_create_fdw_stmt(); + const ::pg_query::SetToDefault& _internal_set_to_default() const; + ::pg_query::SetToDefault* _internal_mutable_set_to_default(); public: - // .pg_query.AlterFdwStmt alter_fdw_stmt = 148 [json_name = "AlterFdwStmt"]; - bool has_alter_fdw_stmt() const; + // .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"]; + bool has_current_of_expr() const; private: - bool _internal_has_alter_fdw_stmt() const; + bool _internal_has_current_of_expr() const; public: - void clear_alter_fdw_stmt() ; - const ::pg_query::AlterFdwStmt& alter_fdw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterFdwStmt* release_alter_fdw_stmt(); - ::pg_query::AlterFdwStmt* mutable_alter_fdw_stmt(); - void set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); - void unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); - ::pg_query::AlterFdwStmt* unsafe_arena_release_alter_fdw_stmt(); + void clear_current_of_expr() ; + const ::pg_query::CurrentOfExpr& current_of_expr() const; + PROTOBUF_NODISCARD ::pg_query::CurrentOfExpr* release_current_of_expr(); + ::pg_query::CurrentOfExpr* mutable_current_of_expr(); + void set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); + void unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); + ::pg_query::CurrentOfExpr* unsafe_arena_release_current_of_expr(); private: - const ::pg_query::AlterFdwStmt& _internal_alter_fdw_stmt() const; - ::pg_query::AlterFdwStmt* _internal_mutable_alter_fdw_stmt(); + const ::pg_query::CurrentOfExpr& _internal_current_of_expr() const; + ::pg_query::CurrentOfExpr* _internal_mutable_current_of_expr(); public: - // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 149 [json_name = "CreateForeignServerStmt"]; - bool has_create_foreign_server_stmt() const; + // .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"]; + bool has_next_value_expr() const; private: - bool _internal_has_create_foreign_server_stmt() const; + bool _internal_has_next_value_expr() const; public: - void clear_create_foreign_server_stmt() ; - const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateForeignServerStmt* release_create_foreign_server_stmt(); - ::pg_query::CreateForeignServerStmt* mutable_create_foreign_server_stmt(); - void set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); - void unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); - ::pg_query::CreateForeignServerStmt* unsafe_arena_release_create_foreign_server_stmt(); + void clear_next_value_expr() ; + const ::pg_query::NextValueExpr& next_value_expr() const; + PROTOBUF_NODISCARD ::pg_query::NextValueExpr* release_next_value_expr(); + ::pg_query::NextValueExpr* mutable_next_value_expr(); + void set_allocated_next_value_expr(::pg_query::NextValueExpr* value); + void unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value); + ::pg_query::NextValueExpr* unsafe_arena_release_next_value_expr(); private: - const ::pg_query::CreateForeignServerStmt& _internal_create_foreign_server_stmt() const; - ::pg_query::CreateForeignServerStmt* _internal_mutable_create_foreign_server_stmt(); + const ::pg_query::NextValueExpr& _internal_next_value_expr() const; + ::pg_query::NextValueExpr* _internal_mutable_next_value_expr(); public: - // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 150 [json_name = "AlterForeignServerStmt"]; - bool has_alter_foreign_server_stmt() const; + // .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"]; + bool has_inference_elem() const; private: - bool _internal_has_alter_foreign_server_stmt() const; + bool _internal_has_inference_elem() const; public: - void clear_alter_foreign_server_stmt() ; - const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterForeignServerStmt* release_alter_foreign_server_stmt(); - ::pg_query::AlterForeignServerStmt* mutable_alter_foreign_server_stmt(); - void set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); - void unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); - ::pg_query::AlterForeignServerStmt* unsafe_arena_release_alter_foreign_server_stmt(); + void clear_inference_elem() ; + const ::pg_query::InferenceElem& inference_elem() const; + PROTOBUF_NODISCARD ::pg_query::InferenceElem* release_inference_elem(); + ::pg_query::InferenceElem* mutable_inference_elem(); + void set_allocated_inference_elem(::pg_query::InferenceElem* value); + void unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value); + ::pg_query::InferenceElem* unsafe_arena_release_inference_elem(); private: - const ::pg_query::AlterForeignServerStmt& _internal_alter_foreign_server_stmt() const; - ::pg_query::AlterForeignServerStmt* _internal_mutable_alter_foreign_server_stmt(); + const ::pg_query::InferenceElem& _internal_inference_elem() const; + ::pg_query::InferenceElem* _internal_mutable_inference_elem(); public: - // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 151 [json_name = "CreateForeignTableStmt"]; - bool has_create_foreign_table_stmt() const; + // .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"]; + bool has_target_entry() const; private: - bool _internal_has_create_foreign_table_stmt() const; + bool _internal_has_target_entry() const; public: - void clear_create_foreign_table_stmt() ; - const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateForeignTableStmt* release_create_foreign_table_stmt(); - ::pg_query::CreateForeignTableStmt* mutable_create_foreign_table_stmt(); - void set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); - void unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); - ::pg_query::CreateForeignTableStmt* unsafe_arena_release_create_foreign_table_stmt(); + void clear_target_entry() ; + const ::pg_query::TargetEntry& target_entry() const; + PROTOBUF_NODISCARD ::pg_query::TargetEntry* release_target_entry(); + ::pg_query::TargetEntry* mutable_target_entry(); + void set_allocated_target_entry(::pg_query::TargetEntry* value); + void unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value); + ::pg_query::TargetEntry* unsafe_arena_release_target_entry(); private: - const ::pg_query::CreateForeignTableStmt& _internal_create_foreign_table_stmt() const; - ::pg_query::CreateForeignTableStmt* _internal_mutable_create_foreign_table_stmt(); + const ::pg_query::TargetEntry& _internal_target_entry() const; + ::pg_query::TargetEntry* _internal_mutable_target_entry(); public: - // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 152 [json_name = "CreateUserMappingStmt"]; - bool has_create_user_mapping_stmt() const; + // .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"]; + bool has_range_tbl_ref() const; private: - bool _internal_has_create_user_mapping_stmt() const; + bool _internal_has_range_tbl_ref() const; public: - void clear_create_user_mapping_stmt() ; - const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateUserMappingStmt* release_create_user_mapping_stmt(); - ::pg_query::CreateUserMappingStmt* mutable_create_user_mapping_stmt(); - void set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); - void unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); - ::pg_query::CreateUserMappingStmt* unsafe_arena_release_create_user_mapping_stmt(); + void clear_range_tbl_ref() ; + const ::pg_query::RangeTblRef& range_tbl_ref() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblRef* release_range_tbl_ref(); + ::pg_query::RangeTblRef* mutable_range_tbl_ref(); + void set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); + void unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); + ::pg_query::RangeTblRef* unsafe_arena_release_range_tbl_ref(); private: - const ::pg_query::CreateUserMappingStmt& _internal_create_user_mapping_stmt() const; - ::pg_query::CreateUserMappingStmt* _internal_mutable_create_user_mapping_stmt(); + const ::pg_query::RangeTblRef& _internal_range_tbl_ref() const; + ::pg_query::RangeTblRef* _internal_mutable_range_tbl_ref(); public: - // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 153 [json_name = "AlterUserMappingStmt"]; - bool has_alter_user_mapping_stmt() const; + // .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"]; + bool has_join_expr() const; private: - bool _internal_has_alter_user_mapping_stmt() const; + bool _internal_has_join_expr() const; public: - void clear_alter_user_mapping_stmt() ; - const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterUserMappingStmt* release_alter_user_mapping_stmt(); - ::pg_query::AlterUserMappingStmt* mutable_alter_user_mapping_stmt(); - void set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); - void unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); - ::pg_query::AlterUserMappingStmt* unsafe_arena_release_alter_user_mapping_stmt(); + void clear_join_expr() ; + const ::pg_query::JoinExpr& join_expr() const; + PROTOBUF_NODISCARD ::pg_query::JoinExpr* release_join_expr(); + ::pg_query::JoinExpr* mutable_join_expr(); + void set_allocated_join_expr(::pg_query::JoinExpr* value); + void unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value); + ::pg_query::JoinExpr* unsafe_arena_release_join_expr(); private: - const ::pg_query::AlterUserMappingStmt& _internal_alter_user_mapping_stmt() const; - ::pg_query::AlterUserMappingStmt* _internal_mutable_alter_user_mapping_stmt(); + const ::pg_query::JoinExpr& _internal_join_expr() const; + ::pg_query::JoinExpr* _internal_mutable_join_expr(); public: - // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 154 [json_name = "DropUserMappingStmt"]; - bool has_drop_user_mapping_stmt() const; + // .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"]; + bool has_from_expr() const; private: - bool _internal_has_drop_user_mapping_stmt() const; + bool _internal_has_from_expr() const; public: - void clear_drop_user_mapping_stmt() ; - const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropUserMappingStmt* release_drop_user_mapping_stmt(); - ::pg_query::DropUserMappingStmt* mutable_drop_user_mapping_stmt(); - void set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); - void unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); - ::pg_query::DropUserMappingStmt* unsafe_arena_release_drop_user_mapping_stmt(); + void clear_from_expr() ; + const ::pg_query::FromExpr& from_expr() const; + PROTOBUF_NODISCARD ::pg_query::FromExpr* release_from_expr(); + ::pg_query::FromExpr* mutable_from_expr(); + void set_allocated_from_expr(::pg_query::FromExpr* value); + void unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value); + ::pg_query::FromExpr* unsafe_arena_release_from_expr(); private: - const ::pg_query::DropUserMappingStmt& _internal_drop_user_mapping_stmt() const; - ::pg_query::DropUserMappingStmt* _internal_mutable_drop_user_mapping_stmt(); + const ::pg_query::FromExpr& _internal_from_expr() const; + ::pg_query::FromExpr* _internal_mutable_from_expr(); public: - // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 155 [json_name = "ImportForeignSchemaStmt"]; - bool has_import_foreign_schema_stmt() const; + // .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"]; + bool has_on_conflict_expr() const; private: - bool _internal_has_import_foreign_schema_stmt() const; + bool _internal_has_on_conflict_expr() const; public: - void clear_import_foreign_schema_stmt() ; - const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ImportForeignSchemaStmt* release_import_foreign_schema_stmt(); - ::pg_query::ImportForeignSchemaStmt* mutable_import_foreign_schema_stmt(); - void set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); - void unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); - ::pg_query::ImportForeignSchemaStmt* unsafe_arena_release_import_foreign_schema_stmt(); + void clear_on_conflict_expr() ; + const ::pg_query::OnConflictExpr& on_conflict_expr() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict_expr(); + ::pg_query::OnConflictExpr* mutable_on_conflict_expr(); + void set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); + void unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); + ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict_expr(); private: - const ::pg_query::ImportForeignSchemaStmt& _internal_import_foreign_schema_stmt() const; - ::pg_query::ImportForeignSchemaStmt* _internal_mutable_import_foreign_schema_stmt(); + const ::pg_query::OnConflictExpr& _internal_on_conflict_expr() const; + ::pg_query::OnConflictExpr* _internal_mutable_on_conflict_expr(); public: - // .pg_query.CreatePolicyStmt create_policy_stmt = 156 [json_name = "CreatePolicyStmt"]; - bool has_create_policy_stmt() const; + // .pg_query.Query query = 64 [json_name = "Query"]; + bool has_query() const; private: - bool _internal_has_create_policy_stmt() const; + bool _internal_has_query() const; public: - void clear_create_policy_stmt() ; - const ::pg_query::CreatePolicyStmt& create_policy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePolicyStmt* release_create_policy_stmt(); - ::pg_query::CreatePolicyStmt* mutable_create_policy_stmt(); - void set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); - void unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); - ::pg_query::CreatePolicyStmt* unsafe_arena_release_create_policy_stmt(); + void clear_query() ; + const ::pg_query::Query& query() const; + PROTOBUF_NODISCARD ::pg_query::Query* release_query(); + ::pg_query::Query* mutable_query(); + void set_allocated_query(::pg_query::Query* value); + void unsafe_arena_set_allocated_query(::pg_query::Query* value); + ::pg_query::Query* unsafe_arena_release_query(); private: - const ::pg_query::CreatePolicyStmt& _internal_create_policy_stmt() const; - ::pg_query::CreatePolicyStmt* _internal_mutable_create_policy_stmt(); + const ::pg_query::Query& _internal_query() const; + ::pg_query::Query* _internal_mutable_query(); public: - // .pg_query.AlterPolicyStmt alter_policy_stmt = 157 [json_name = "AlterPolicyStmt"]; - bool has_alter_policy_stmt() const; + // .pg_query.TypeName type_name = 65 [json_name = "TypeName"]; + bool has_type_name() const; private: - bool _internal_has_alter_policy_stmt() const; + bool _internal_has_type_name() const; public: - void clear_alter_policy_stmt() ; - const ::pg_query::AlterPolicyStmt& alter_policy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterPolicyStmt* release_alter_policy_stmt(); - ::pg_query::AlterPolicyStmt* mutable_alter_policy_stmt(); - void set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); - void unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); - ::pg_query::AlterPolicyStmt* unsafe_arena_release_alter_policy_stmt(); + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); private: - const ::pg_query::AlterPolicyStmt& _internal_alter_policy_stmt() const; - ::pg_query::AlterPolicyStmt* _internal_mutable_alter_policy_stmt(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); public: - // .pg_query.CreateAmStmt create_am_stmt = 158 [json_name = "CreateAmStmt"]; - bool has_create_am_stmt() const; + // .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"]; + bool has_column_ref() const; private: - bool _internal_has_create_am_stmt() const; + bool _internal_has_column_ref() const; public: - void clear_create_am_stmt() ; - const ::pg_query::CreateAmStmt& create_am_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateAmStmt* release_create_am_stmt(); - ::pg_query::CreateAmStmt* mutable_create_am_stmt(); - void set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); - void unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); - ::pg_query::CreateAmStmt* unsafe_arena_release_create_am_stmt(); + void clear_column_ref() ; + const ::pg_query::ColumnRef& column_ref() const; + PROTOBUF_NODISCARD ::pg_query::ColumnRef* release_column_ref(); + ::pg_query::ColumnRef* mutable_column_ref(); + void set_allocated_column_ref(::pg_query::ColumnRef* value); + void unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value); + ::pg_query::ColumnRef* unsafe_arena_release_column_ref(); private: - const ::pg_query::CreateAmStmt& _internal_create_am_stmt() const; - ::pg_query::CreateAmStmt* _internal_mutable_create_am_stmt(); + const ::pg_query::ColumnRef& _internal_column_ref() const; + ::pg_query::ColumnRef* _internal_mutable_column_ref(); public: - // .pg_query.CreateTrigStmt create_trig_stmt = 159 [json_name = "CreateTrigStmt"]; - bool has_create_trig_stmt() const; + // .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"]; + bool has_param_ref() const; private: - bool _internal_has_create_trig_stmt() const; + bool _internal_has_param_ref() const; public: - void clear_create_trig_stmt() ; - const ::pg_query::CreateTrigStmt& create_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTrigStmt* release_create_trig_stmt(); - ::pg_query::CreateTrigStmt* mutable_create_trig_stmt(); - void set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); - void unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); - ::pg_query::CreateTrigStmt* unsafe_arena_release_create_trig_stmt(); + void clear_param_ref() ; + const ::pg_query::ParamRef& param_ref() const; + PROTOBUF_NODISCARD ::pg_query::ParamRef* release_param_ref(); + ::pg_query::ParamRef* mutable_param_ref(); + void set_allocated_param_ref(::pg_query::ParamRef* value); + void unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value); + ::pg_query::ParamRef* unsafe_arena_release_param_ref(); private: - const ::pg_query::CreateTrigStmt& _internal_create_trig_stmt() const; - ::pg_query::CreateTrigStmt* _internal_mutable_create_trig_stmt(); + const ::pg_query::ParamRef& _internal_param_ref() const; + ::pg_query::ParamRef* _internal_mutable_param_ref(); public: - // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 160 [json_name = "CreateEventTrigStmt"]; - bool has_create_event_trig_stmt() const; + // .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"]; + bool has_a_expr() const; private: - bool _internal_has_create_event_trig_stmt() const; + bool _internal_has_a_expr() const; public: - void clear_create_event_trig_stmt() ; - const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateEventTrigStmt* release_create_event_trig_stmt(); - ::pg_query::CreateEventTrigStmt* mutable_create_event_trig_stmt(); - void set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); - void unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); - ::pg_query::CreateEventTrigStmt* unsafe_arena_release_create_event_trig_stmt(); + void clear_a_expr() ; + const ::pg_query::A_Expr& a_expr() const; + PROTOBUF_NODISCARD ::pg_query::A_Expr* release_a_expr(); + ::pg_query::A_Expr* mutable_a_expr(); + void set_allocated_a_expr(::pg_query::A_Expr* value); + void unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value); + ::pg_query::A_Expr* unsafe_arena_release_a_expr(); private: - const ::pg_query::CreateEventTrigStmt& _internal_create_event_trig_stmt() const; - ::pg_query::CreateEventTrigStmt* _internal_mutable_create_event_trig_stmt(); + const ::pg_query::A_Expr& _internal_a_expr() const; + ::pg_query::A_Expr* _internal_mutable_a_expr(); public: - // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 161 [json_name = "AlterEventTrigStmt"]; - bool has_alter_event_trig_stmt() const; + // .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"]; + bool has_type_cast() const; private: - bool _internal_has_alter_event_trig_stmt() const; + bool _internal_has_type_cast() const; public: - void clear_alter_event_trig_stmt() ; - const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterEventTrigStmt* release_alter_event_trig_stmt(); - ::pg_query::AlterEventTrigStmt* mutable_alter_event_trig_stmt(); - void set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); - void unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); - ::pg_query::AlterEventTrigStmt* unsafe_arena_release_alter_event_trig_stmt(); + void clear_type_cast() ; + const ::pg_query::TypeCast& type_cast() const; + PROTOBUF_NODISCARD ::pg_query::TypeCast* release_type_cast(); + ::pg_query::TypeCast* mutable_type_cast(); + void set_allocated_type_cast(::pg_query::TypeCast* value); + void unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value); + ::pg_query::TypeCast* unsafe_arena_release_type_cast(); private: - const ::pg_query::AlterEventTrigStmt& _internal_alter_event_trig_stmt() const; - ::pg_query::AlterEventTrigStmt* _internal_mutable_alter_event_trig_stmt(); + const ::pg_query::TypeCast& _internal_type_cast() const; + ::pg_query::TypeCast* _internal_mutable_type_cast(); public: - // .pg_query.CreatePLangStmt create_plang_stmt = 162 [json_name = "CreatePLangStmt"]; - bool has_create_plang_stmt() const; + // .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"]; + bool has_collate_clause() const; private: - bool _internal_has_create_plang_stmt() const; + bool _internal_has_collate_clause() const; public: - void clear_create_plang_stmt() ; - const ::pg_query::CreatePLangStmt& create_plang_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePLangStmt* release_create_plang_stmt(); - ::pg_query::CreatePLangStmt* mutable_create_plang_stmt(); - void set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); - void unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); - ::pg_query::CreatePLangStmt* unsafe_arena_release_create_plang_stmt(); + void clear_collate_clause() ; + const ::pg_query::CollateClause& collate_clause() const; + PROTOBUF_NODISCARD ::pg_query::CollateClause* release_collate_clause(); + ::pg_query::CollateClause* mutable_collate_clause(); + void set_allocated_collate_clause(::pg_query::CollateClause* value); + void unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value); + ::pg_query::CollateClause* unsafe_arena_release_collate_clause(); private: - const ::pg_query::CreatePLangStmt& _internal_create_plang_stmt() const; - ::pg_query::CreatePLangStmt* _internal_mutable_create_plang_stmt(); + const ::pg_query::CollateClause& _internal_collate_clause() const; + ::pg_query::CollateClause* _internal_mutable_collate_clause(); public: - // .pg_query.CreateRoleStmt create_role_stmt = 163 [json_name = "CreateRoleStmt"]; - bool has_create_role_stmt() const; + // .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"]; + bool has_role_spec() const; private: - bool _internal_has_create_role_stmt() const; + bool _internal_has_role_spec() const; public: - void clear_create_role_stmt() ; - const ::pg_query::CreateRoleStmt& create_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateRoleStmt* release_create_role_stmt(); - ::pg_query::CreateRoleStmt* mutable_create_role_stmt(); - void set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); - void unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); - ::pg_query::CreateRoleStmt* unsafe_arena_release_create_role_stmt(); + void clear_role_spec() ; + const ::pg_query::RoleSpec& role_spec() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role_spec(); + ::pg_query::RoleSpec* mutable_role_spec(); + void set_allocated_role_spec(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_role_spec(); private: - const ::pg_query::CreateRoleStmt& _internal_create_role_stmt() const; - ::pg_query::CreateRoleStmt* _internal_mutable_create_role_stmt(); + const ::pg_query::RoleSpec& _internal_role_spec() const; + ::pg_query::RoleSpec* _internal_mutable_role_spec(); public: - // .pg_query.AlterRoleStmt alter_role_stmt = 164 [json_name = "AlterRoleStmt"]; - bool has_alter_role_stmt() const; + // .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"]; + bool has_func_call() const; private: - bool _internal_has_alter_role_stmt() const; + bool _internal_has_func_call() const; public: - void clear_alter_role_stmt() ; - const ::pg_query::AlterRoleStmt& alter_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterRoleStmt* release_alter_role_stmt(); - ::pg_query::AlterRoleStmt* mutable_alter_role_stmt(); - void set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); - void unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); - ::pg_query::AlterRoleStmt* unsafe_arena_release_alter_role_stmt(); + void clear_func_call() ; + const ::pg_query::FuncCall& func_call() const; + PROTOBUF_NODISCARD ::pg_query::FuncCall* release_func_call(); + ::pg_query::FuncCall* mutable_func_call(); + void set_allocated_func_call(::pg_query::FuncCall* value); + void unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value); + ::pg_query::FuncCall* unsafe_arena_release_func_call(); private: - const ::pg_query::AlterRoleStmt& _internal_alter_role_stmt() const; - ::pg_query::AlterRoleStmt* _internal_mutable_alter_role_stmt(); + const ::pg_query::FuncCall& _internal_func_call() const; + ::pg_query::FuncCall* _internal_mutable_func_call(); public: - // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 165 [json_name = "AlterRoleSetStmt"]; - bool has_alter_role_set_stmt() const; + // .pg_query.A_Star a_star = 73 [json_name = "A_Star"]; + bool has_a_star() const; private: - bool _internal_has_alter_role_set_stmt() const; + bool _internal_has_a_star() const; public: - void clear_alter_role_set_stmt() ; - const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterRoleSetStmt* release_alter_role_set_stmt(); - ::pg_query::AlterRoleSetStmt* mutable_alter_role_set_stmt(); - void set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); - void unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); - ::pg_query::AlterRoleSetStmt* unsafe_arena_release_alter_role_set_stmt(); + void clear_a_star() ; + const ::pg_query::A_Star& a_star() const; + PROTOBUF_NODISCARD ::pg_query::A_Star* release_a_star(); + ::pg_query::A_Star* mutable_a_star(); + void set_allocated_a_star(::pg_query::A_Star* value); + void unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value); + ::pg_query::A_Star* unsafe_arena_release_a_star(); private: - const ::pg_query::AlterRoleSetStmt& _internal_alter_role_set_stmt() const; - ::pg_query::AlterRoleSetStmt* _internal_mutable_alter_role_set_stmt(); + const ::pg_query::A_Star& _internal_a_star() const; + ::pg_query::A_Star* _internal_mutable_a_star(); public: - // .pg_query.DropRoleStmt drop_role_stmt = 166 [json_name = "DropRoleStmt"]; - bool has_drop_role_stmt() const; + // .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"]; + bool has_a_indices() const; private: - bool _internal_has_drop_role_stmt() const; + bool _internal_has_a_indices() const; public: - void clear_drop_role_stmt() ; - const ::pg_query::DropRoleStmt& drop_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropRoleStmt* release_drop_role_stmt(); - ::pg_query::DropRoleStmt* mutable_drop_role_stmt(); - void set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); - void unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); - ::pg_query::DropRoleStmt* unsafe_arena_release_drop_role_stmt(); + void clear_a_indices() ; + const ::pg_query::A_Indices& a_indices() const; + PROTOBUF_NODISCARD ::pg_query::A_Indices* release_a_indices(); + ::pg_query::A_Indices* mutable_a_indices(); + void set_allocated_a_indices(::pg_query::A_Indices* value); + void unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value); + ::pg_query::A_Indices* unsafe_arena_release_a_indices(); private: - const ::pg_query::DropRoleStmt& _internal_drop_role_stmt() const; - ::pg_query::DropRoleStmt* _internal_mutable_drop_role_stmt(); + const ::pg_query::A_Indices& _internal_a_indices() const; + ::pg_query::A_Indices* _internal_mutable_a_indices(); public: - // .pg_query.CreateSeqStmt create_seq_stmt = 167 [json_name = "CreateSeqStmt"]; - bool has_create_seq_stmt() const; + // .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"]; + bool has_a_indirection() const; private: - bool _internal_has_create_seq_stmt() const; + bool _internal_has_a_indirection() const; public: - void clear_create_seq_stmt() ; - const ::pg_query::CreateSeqStmt& create_seq_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSeqStmt* release_create_seq_stmt(); - ::pg_query::CreateSeqStmt* mutable_create_seq_stmt(); - void set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); - void unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); - ::pg_query::CreateSeqStmt* unsafe_arena_release_create_seq_stmt(); + void clear_a_indirection() ; + const ::pg_query::A_Indirection& a_indirection() const; + PROTOBUF_NODISCARD ::pg_query::A_Indirection* release_a_indirection(); + ::pg_query::A_Indirection* mutable_a_indirection(); + void set_allocated_a_indirection(::pg_query::A_Indirection* value); + void unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value); + ::pg_query::A_Indirection* unsafe_arena_release_a_indirection(); private: - const ::pg_query::CreateSeqStmt& _internal_create_seq_stmt() const; - ::pg_query::CreateSeqStmt* _internal_mutable_create_seq_stmt(); + const ::pg_query::A_Indirection& _internal_a_indirection() const; + ::pg_query::A_Indirection* _internal_mutable_a_indirection(); public: - // .pg_query.AlterSeqStmt alter_seq_stmt = 168 [json_name = "AlterSeqStmt"]; - bool has_alter_seq_stmt() const; + // .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"]; + bool has_a_array_expr() const; private: - bool _internal_has_alter_seq_stmt() const; + bool _internal_has_a_array_expr() const; public: - void clear_alter_seq_stmt() ; - const ::pg_query::AlterSeqStmt& alter_seq_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSeqStmt* release_alter_seq_stmt(); - ::pg_query::AlterSeqStmt* mutable_alter_seq_stmt(); - void set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); - void unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); - ::pg_query::AlterSeqStmt* unsafe_arena_release_alter_seq_stmt(); + void clear_a_array_expr() ; + const ::pg_query::A_ArrayExpr& a_array_expr() const; + PROTOBUF_NODISCARD ::pg_query::A_ArrayExpr* release_a_array_expr(); + ::pg_query::A_ArrayExpr* mutable_a_array_expr(); + void set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); + void unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); + ::pg_query::A_ArrayExpr* unsafe_arena_release_a_array_expr(); private: - const ::pg_query::AlterSeqStmt& _internal_alter_seq_stmt() const; - ::pg_query::AlterSeqStmt* _internal_mutable_alter_seq_stmt(); + const ::pg_query::A_ArrayExpr& _internal_a_array_expr() const; + ::pg_query::A_ArrayExpr* _internal_mutable_a_array_expr(); public: - // .pg_query.DefineStmt define_stmt = 169 [json_name = "DefineStmt"]; - bool has_define_stmt() const; + // .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"]; + bool has_res_target() const; private: - bool _internal_has_define_stmt() const; + bool _internal_has_res_target() const; public: - void clear_define_stmt() ; - const ::pg_query::DefineStmt& define_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DefineStmt* release_define_stmt(); - ::pg_query::DefineStmt* mutable_define_stmt(); - void set_allocated_define_stmt(::pg_query::DefineStmt* value); - void unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value); - ::pg_query::DefineStmt* unsafe_arena_release_define_stmt(); + void clear_res_target() ; + const ::pg_query::ResTarget& res_target() const; + PROTOBUF_NODISCARD ::pg_query::ResTarget* release_res_target(); + ::pg_query::ResTarget* mutable_res_target(); + void set_allocated_res_target(::pg_query::ResTarget* value); + void unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value); + ::pg_query::ResTarget* unsafe_arena_release_res_target(); private: - const ::pg_query::DefineStmt& _internal_define_stmt() const; - ::pg_query::DefineStmt* _internal_mutable_define_stmt(); + const ::pg_query::ResTarget& _internal_res_target() const; + ::pg_query::ResTarget* _internal_mutable_res_target(); public: - // .pg_query.CreateDomainStmt create_domain_stmt = 170 [json_name = "CreateDomainStmt"]; - bool has_create_domain_stmt() const; + // .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"]; + bool has_multi_assign_ref() const; private: - bool _internal_has_create_domain_stmt() const; + bool _internal_has_multi_assign_ref() const; public: - void clear_create_domain_stmt() ; - const ::pg_query::CreateDomainStmt& create_domain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateDomainStmt* release_create_domain_stmt(); - ::pg_query::CreateDomainStmt* mutable_create_domain_stmt(); - void set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); - void unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); - ::pg_query::CreateDomainStmt* unsafe_arena_release_create_domain_stmt(); + void clear_multi_assign_ref() ; + const ::pg_query::MultiAssignRef& multi_assign_ref() const; + PROTOBUF_NODISCARD ::pg_query::MultiAssignRef* release_multi_assign_ref(); + ::pg_query::MultiAssignRef* mutable_multi_assign_ref(); + void set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); + void unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); + ::pg_query::MultiAssignRef* unsafe_arena_release_multi_assign_ref(); private: - const ::pg_query::CreateDomainStmt& _internal_create_domain_stmt() const; - ::pg_query::CreateDomainStmt* _internal_mutable_create_domain_stmt(); + const ::pg_query::MultiAssignRef& _internal_multi_assign_ref() const; + ::pg_query::MultiAssignRef* _internal_mutable_multi_assign_ref(); public: - // .pg_query.CreateOpClassStmt create_op_class_stmt = 171 [json_name = "CreateOpClassStmt"]; - bool has_create_op_class_stmt() const; + // .pg_query.SortBy sort_by = 79 [json_name = "SortBy"]; + bool has_sort_by() const; private: - bool _internal_has_create_op_class_stmt() const; + bool _internal_has_sort_by() const; public: - void clear_create_op_class_stmt() ; - const ::pg_query::CreateOpClassStmt& create_op_class_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpClassStmt* release_create_op_class_stmt(); - ::pg_query::CreateOpClassStmt* mutable_create_op_class_stmt(); - void set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); - void unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); - ::pg_query::CreateOpClassStmt* unsafe_arena_release_create_op_class_stmt(); + void clear_sort_by() ; + const ::pg_query::SortBy& sort_by() const; + PROTOBUF_NODISCARD ::pg_query::SortBy* release_sort_by(); + ::pg_query::SortBy* mutable_sort_by(); + void set_allocated_sort_by(::pg_query::SortBy* value); + void unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value); + ::pg_query::SortBy* unsafe_arena_release_sort_by(); private: - const ::pg_query::CreateOpClassStmt& _internal_create_op_class_stmt() const; - ::pg_query::CreateOpClassStmt* _internal_mutable_create_op_class_stmt(); + const ::pg_query::SortBy& _internal_sort_by() const; + ::pg_query::SortBy* _internal_mutable_sort_by(); public: - // .pg_query.CreateOpClassItem create_op_class_item = 172 [json_name = "CreateOpClassItem"]; - bool has_create_op_class_item() const; + // .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"]; + bool has_window_def() const; private: - bool _internal_has_create_op_class_item() const; + bool _internal_has_window_def() const; public: - void clear_create_op_class_item() ; - const ::pg_query::CreateOpClassItem& create_op_class_item() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpClassItem* release_create_op_class_item(); - ::pg_query::CreateOpClassItem* mutable_create_op_class_item(); - void set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); - void unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); - ::pg_query::CreateOpClassItem* unsafe_arena_release_create_op_class_item(); + void clear_window_def() ; + const ::pg_query::WindowDef& window_def() const; + PROTOBUF_NODISCARD ::pg_query::WindowDef* release_window_def(); + ::pg_query::WindowDef* mutable_window_def(); + void set_allocated_window_def(::pg_query::WindowDef* value); + void unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value); + ::pg_query::WindowDef* unsafe_arena_release_window_def(); private: - const ::pg_query::CreateOpClassItem& _internal_create_op_class_item() const; - ::pg_query::CreateOpClassItem* _internal_mutable_create_op_class_item(); + const ::pg_query::WindowDef& _internal_window_def() const; + ::pg_query::WindowDef* _internal_mutable_window_def(); public: - // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 173 [json_name = "CreateOpFamilyStmt"]; - bool has_create_op_family_stmt() const; + // .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"]; + bool has_range_subselect() const; private: - bool _internal_has_create_op_family_stmt() const; + bool _internal_has_range_subselect() const; public: - void clear_create_op_family_stmt() ; - const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpFamilyStmt* release_create_op_family_stmt(); - ::pg_query::CreateOpFamilyStmt* mutable_create_op_family_stmt(); - void set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); - void unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); - ::pg_query::CreateOpFamilyStmt* unsafe_arena_release_create_op_family_stmt(); + void clear_range_subselect() ; + const ::pg_query::RangeSubselect& range_subselect() const; + PROTOBUF_NODISCARD ::pg_query::RangeSubselect* release_range_subselect(); + ::pg_query::RangeSubselect* mutable_range_subselect(); + void set_allocated_range_subselect(::pg_query::RangeSubselect* value); + void unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value); + ::pg_query::RangeSubselect* unsafe_arena_release_range_subselect(); private: - const ::pg_query::CreateOpFamilyStmt& _internal_create_op_family_stmt() const; - ::pg_query::CreateOpFamilyStmt* _internal_mutable_create_op_family_stmt(); + const ::pg_query::RangeSubselect& _internal_range_subselect() const; + ::pg_query::RangeSubselect* _internal_mutable_range_subselect(); public: - // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 174 [json_name = "AlterOpFamilyStmt"]; - bool has_alter_op_family_stmt() const; + // .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"]; + bool has_range_function() const; private: - bool _internal_has_alter_op_family_stmt() const; + bool _internal_has_range_function() const; public: - void clear_alter_op_family_stmt() ; - const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOpFamilyStmt* release_alter_op_family_stmt(); - ::pg_query::AlterOpFamilyStmt* mutable_alter_op_family_stmt(); - void set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); - void unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); - ::pg_query::AlterOpFamilyStmt* unsafe_arena_release_alter_op_family_stmt(); + void clear_range_function() ; + const ::pg_query::RangeFunction& range_function() const; + PROTOBUF_NODISCARD ::pg_query::RangeFunction* release_range_function(); + ::pg_query::RangeFunction* mutable_range_function(); + void set_allocated_range_function(::pg_query::RangeFunction* value); + void unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value); + ::pg_query::RangeFunction* unsafe_arena_release_range_function(); private: - const ::pg_query::AlterOpFamilyStmt& _internal_alter_op_family_stmt() const; - ::pg_query::AlterOpFamilyStmt* _internal_mutable_alter_op_family_stmt(); + const ::pg_query::RangeFunction& _internal_range_function() const; + ::pg_query::RangeFunction* _internal_mutable_range_function(); public: - // .pg_query.DropStmt drop_stmt = 175 [json_name = "DropStmt"]; - bool has_drop_stmt() const; + // .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"]; + bool has_range_table_func() const; private: - bool _internal_has_drop_stmt() const; + bool _internal_has_range_table_func() const; public: - void clear_drop_stmt() ; - const ::pg_query::DropStmt& drop_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropStmt* release_drop_stmt(); - ::pg_query::DropStmt* mutable_drop_stmt(); - void set_allocated_drop_stmt(::pg_query::DropStmt* value); - void unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value); - ::pg_query::DropStmt* unsafe_arena_release_drop_stmt(); + void clear_range_table_func() ; + const ::pg_query::RangeTableFunc& range_table_func() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableFunc* release_range_table_func(); + ::pg_query::RangeTableFunc* mutable_range_table_func(); + void set_allocated_range_table_func(::pg_query::RangeTableFunc* value); + void unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value); + ::pg_query::RangeTableFunc* unsafe_arena_release_range_table_func(); private: - const ::pg_query::DropStmt& _internal_drop_stmt() const; - ::pg_query::DropStmt* _internal_mutable_drop_stmt(); + const ::pg_query::RangeTableFunc& _internal_range_table_func() const; + ::pg_query::RangeTableFunc* _internal_mutable_range_table_func(); public: - // .pg_query.TruncateStmt truncate_stmt = 176 [json_name = "TruncateStmt"]; - bool has_truncate_stmt() const; + // .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"]; + bool has_range_table_func_col() const; private: - bool _internal_has_truncate_stmt() const; + bool _internal_has_range_table_func_col() const; public: - void clear_truncate_stmt() ; - const ::pg_query::TruncateStmt& truncate_stmt() const; - PROTOBUF_NODISCARD ::pg_query::TruncateStmt* release_truncate_stmt(); - ::pg_query::TruncateStmt* mutable_truncate_stmt(); - void set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); - void unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); - ::pg_query::TruncateStmt* unsafe_arena_release_truncate_stmt(); + void clear_range_table_func_col() ; + const ::pg_query::RangeTableFuncCol& range_table_func_col() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableFuncCol* release_range_table_func_col(); + ::pg_query::RangeTableFuncCol* mutable_range_table_func_col(); + void set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); + void unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); + ::pg_query::RangeTableFuncCol* unsafe_arena_release_range_table_func_col(); private: - const ::pg_query::TruncateStmt& _internal_truncate_stmt() const; - ::pg_query::TruncateStmt* _internal_mutable_truncate_stmt(); + const ::pg_query::RangeTableFuncCol& _internal_range_table_func_col() const; + ::pg_query::RangeTableFuncCol* _internal_mutable_range_table_func_col(); public: - // .pg_query.CommentStmt comment_stmt = 177 [json_name = "CommentStmt"]; - bool has_comment_stmt() const; + // .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"]; + bool has_range_table_sample() const; private: - bool _internal_has_comment_stmt() const; + bool _internal_has_range_table_sample() const; public: - void clear_comment_stmt() ; - const ::pg_query::CommentStmt& comment_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CommentStmt* release_comment_stmt(); - ::pg_query::CommentStmt* mutable_comment_stmt(); - void set_allocated_comment_stmt(::pg_query::CommentStmt* value); - void unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value); - ::pg_query::CommentStmt* unsafe_arena_release_comment_stmt(); + void clear_range_table_sample() ; + const ::pg_query::RangeTableSample& range_table_sample() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableSample* release_range_table_sample(); + ::pg_query::RangeTableSample* mutable_range_table_sample(); + void set_allocated_range_table_sample(::pg_query::RangeTableSample* value); + void unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value); + ::pg_query::RangeTableSample* unsafe_arena_release_range_table_sample(); private: - const ::pg_query::CommentStmt& _internal_comment_stmt() const; - ::pg_query::CommentStmt* _internal_mutable_comment_stmt(); + const ::pg_query::RangeTableSample& _internal_range_table_sample() const; + ::pg_query::RangeTableSample* _internal_mutable_range_table_sample(); public: - // .pg_query.SecLabelStmt sec_label_stmt = 178 [json_name = "SecLabelStmt"]; - bool has_sec_label_stmt() const; + // .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"]; + bool has_column_def() const; private: - bool _internal_has_sec_label_stmt() const; + bool _internal_has_column_def() const; public: - void clear_sec_label_stmt() ; - const ::pg_query::SecLabelStmt& sec_label_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SecLabelStmt* release_sec_label_stmt(); - ::pg_query::SecLabelStmt* mutable_sec_label_stmt(); - void set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); - void unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); - ::pg_query::SecLabelStmt* unsafe_arena_release_sec_label_stmt(); + void clear_column_def() ; + const ::pg_query::ColumnDef& column_def() const; + PROTOBUF_NODISCARD ::pg_query::ColumnDef* release_column_def(); + ::pg_query::ColumnDef* mutable_column_def(); + void set_allocated_column_def(::pg_query::ColumnDef* value); + void unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value); + ::pg_query::ColumnDef* unsafe_arena_release_column_def(); private: - const ::pg_query::SecLabelStmt& _internal_sec_label_stmt() const; - ::pg_query::SecLabelStmt* _internal_mutable_sec_label_stmt(); + const ::pg_query::ColumnDef& _internal_column_def() const; + ::pg_query::ColumnDef* _internal_mutable_column_def(); public: - // .pg_query.DeclareCursorStmt declare_cursor_stmt = 179 [json_name = "DeclareCursorStmt"]; - bool has_declare_cursor_stmt() const; + // .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"]; + bool has_table_like_clause() const; private: - bool _internal_has_declare_cursor_stmt() const; + bool _internal_has_table_like_clause() const; public: - void clear_declare_cursor_stmt() ; - const ::pg_query::DeclareCursorStmt& declare_cursor_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeclareCursorStmt* release_declare_cursor_stmt(); - ::pg_query::DeclareCursorStmt* mutable_declare_cursor_stmt(); - void set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); - void unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); - ::pg_query::DeclareCursorStmt* unsafe_arena_release_declare_cursor_stmt(); + void clear_table_like_clause() ; + const ::pg_query::TableLikeClause& table_like_clause() const; + PROTOBUF_NODISCARD ::pg_query::TableLikeClause* release_table_like_clause(); + ::pg_query::TableLikeClause* mutable_table_like_clause(); + void set_allocated_table_like_clause(::pg_query::TableLikeClause* value); + void unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value); + ::pg_query::TableLikeClause* unsafe_arena_release_table_like_clause(); private: - const ::pg_query::DeclareCursorStmt& _internal_declare_cursor_stmt() const; - ::pg_query::DeclareCursorStmt* _internal_mutable_declare_cursor_stmt(); + const ::pg_query::TableLikeClause& _internal_table_like_clause() const; + ::pg_query::TableLikeClause* _internal_mutable_table_like_clause(); public: - // .pg_query.ClosePortalStmt close_portal_stmt = 180 [json_name = "ClosePortalStmt"]; - bool has_close_portal_stmt() const; + // .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"]; + bool has_index_elem() const; private: - bool _internal_has_close_portal_stmt() const; + bool _internal_has_index_elem() const; public: - void clear_close_portal_stmt() ; - const ::pg_query::ClosePortalStmt& close_portal_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ClosePortalStmt* release_close_portal_stmt(); - ::pg_query::ClosePortalStmt* mutable_close_portal_stmt(); - void set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); - void unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); - ::pg_query::ClosePortalStmt* unsafe_arena_release_close_portal_stmt(); + void clear_index_elem() ; + const ::pg_query::IndexElem& index_elem() const; + PROTOBUF_NODISCARD ::pg_query::IndexElem* release_index_elem(); + ::pg_query::IndexElem* mutable_index_elem(); + void set_allocated_index_elem(::pg_query::IndexElem* value); + void unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value); + ::pg_query::IndexElem* unsafe_arena_release_index_elem(); private: - const ::pg_query::ClosePortalStmt& _internal_close_portal_stmt() const; - ::pg_query::ClosePortalStmt* _internal_mutable_close_portal_stmt(); + const ::pg_query::IndexElem& _internal_index_elem() const; + ::pg_query::IndexElem* _internal_mutable_index_elem(); public: - // .pg_query.FetchStmt fetch_stmt = 181 [json_name = "FetchStmt"]; - bool has_fetch_stmt() const; + // .pg_query.DefElem def_elem = 89 [json_name = "DefElem"]; + bool has_def_elem() const; private: - bool _internal_has_fetch_stmt() const; + bool _internal_has_def_elem() const; public: - void clear_fetch_stmt() ; - const ::pg_query::FetchStmt& fetch_stmt() const; - PROTOBUF_NODISCARD ::pg_query::FetchStmt* release_fetch_stmt(); - ::pg_query::FetchStmt* mutable_fetch_stmt(); - void set_allocated_fetch_stmt(::pg_query::FetchStmt* value); - void unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value); - ::pg_query::FetchStmt* unsafe_arena_release_fetch_stmt(); + void clear_def_elem() ; + const ::pg_query::DefElem& def_elem() const; + PROTOBUF_NODISCARD ::pg_query::DefElem* release_def_elem(); + ::pg_query::DefElem* mutable_def_elem(); + void set_allocated_def_elem(::pg_query::DefElem* value); + void unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value); + ::pg_query::DefElem* unsafe_arena_release_def_elem(); private: - const ::pg_query::FetchStmt& _internal_fetch_stmt() const; - ::pg_query::FetchStmt* _internal_mutable_fetch_stmt(); + const ::pg_query::DefElem& _internal_def_elem() const; + ::pg_query::DefElem* _internal_mutable_def_elem(); public: - // .pg_query.IndexStmt index_stmt = 182 [json_name = "IndexStmt"]; - bool has_index_stmt() const; + // .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"]; + bool has_locking_clause() const; private: - bool _internal_has_index_stmt() const; + bool _internal_has_locking_clause() const; public: - void clear_index_stmt() ; - const ::pg_query::IndexStmt& index_stmt() const; - PROTOBUF_NODISCARD ::pg_query::IndexStmt* release_index_stmt(); - ::pg_query::IndexStmt* mutable_index_stmt(); - void set_allocated_index_stmt(::pg_query::IndexStmt* value); - void unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value); - ::pg_query::IndexStmt* unsafe_arena_release_index_stmt(); + void clear_locking_clause() ; + const ::pg_query::LockingClause& locking_clause() const; + PROTOBUF_NODISCARD ::pg_query::LockingClause* release_locking_clause(); + ::pg_query::LockingClause* mutable_locking_clause(); + void set_allocated_locking_clause(::pg_query::LockingClause* value); + void unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value); + ::pg_query::LockingClause* unsafe_arena_release_locking_clause(); private: - const ::pg_query::IndexStmt& _internal_index_stmt() const; - ::pg_query::IndexStmt* _internal_mutable_index_stmt(); + const ::pg_query::LockingClause& _internal_locking_clause() const; + ::pg_query::LockingClause* _internal_mutable_locking_clause(); public: - // .pg_query.CreateStatsStmt create_stats_stmt = 183 [json_name = "CreateStatsStmt"]; - bool has_create_stats_stmt() const; + // .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"]; + bool has_xml_serialize() const; private: - bool _internal_has_create_stats_stmt() const; + bool _internal_has_xml_serialize() const; public: - void clear_create_stats_stmt() ; - const ::pg_query::CreateStatsStmt& create_stats_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateStatsStmt* release_create_stats_stmt(); - ::pg_query::CreateStatsStmt* mutable_create_stats_stmt(); - void set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); - void unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); - ::pg_query::CreateStatsStmt* unsafe_arena_release_create_stats_stmt(); + void clear_xml_serialize() ; + const ::pg_query::XmlSerialize& xml_serialize() const; + PROTOBUF_NODISCARD ::pg_query::XmlSerialize* release_xml_serialize(); + ::pg_query::XmlSerialize* mutable_xml_serialize(); + void set_allocated_xml_serialize(::pg_query::XmlSerialize* value); + void unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value); + ::pg_query::XmlSerialize* unsafe_arena_release_xml_serialize(); private: - const ::pg_query::CreateStatsStmt& _internal_create_stats_stmt() const; - ::pg_query::CreateStatsStmt* _internal_mutable_create_stats_stmt(); + const ::pg_query::XmlSerialize& _internal_xml_serialize() const; + ::pg_query::XmlSerialize* _internal_mutable_xml_serialize(); public: - // .pg_query.StatsElem stats_elem = 184 [json_name = "StatsElem"]; - bool has_stats_elem() const; + // .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"]; + bool has_partition_elem() const; private: - bool _internal_has_stats_elem() const; + bool _internal_has_partition_elem() const; public: - void clear_stats_elem() ; - const ::pg_query::StatsElem& stats_elem() const; - PROTOBUF_NODISCARD ::pg_query::StatsElem* release_stats_elem(); - ::pg_query::StatsElem* mutable_stats_elem(); - void set_allocated_stats_elem(::pg_query::StatsElem* value); - void unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value); - ::pg_query::StatsElem* unsafe_arena_release_stats_elem(); + void clear_partition_elem() ; + const ::pg_query::PartitionElem& partition_elem() const; + PROTOBUF_NODISCARD ::pg_query::PartitionElem* release_partition_elem(); + ::pg_query::PartitionElem* mutable_partition_elem(); + void set_allocated_partition_elem(::pg_query::PartitionElem* value); + void unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value); + ::pg_query::PartitionElem* unsafe_arena_release_partition_elem(); private: - const ::pg_query::StatsElem& _internal_stats_elem() const; - ::pg_query::StatsElem* _internal_mutable_stats_elem(); + const ::pg_query::PartitionElem& _internal_partition_elem() const; + ::pg_query::PartitionElem* _internal_mutable_partition_elem(); public: - // .pg_query.AlterStatsStmt alter_stats_stmt = 185 [json_name = "AlterStatsStmt"]; - bool has_alter_stats_stmt() const; + // .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"]; + bool has_partition_spec() const; private: - bool _internal_has_alter_stats_stmt() const; + bool _internal_has_partition_spec() const; public: - void clear_alter_stats_stmt() ; - const ::pg_query::AlterStatsStmt& alter_stats_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterStatsStmt* release_alter_stats_stmt(); - ::pg_query::AlterStatsStmt* mutable_alter_stats_stmt(); - void set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); - void unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); - ::pg_query::AlterStatsStmt* unsafe_arena_release_alter_stats_stmt(); + void clear_partition_spec() ; + const ::pg_query::PartitionSpec& partition_spec() const; + PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partition_spec(); + ::pg_query::PartitionSpec* mutable_partition_spec(); + void set_allocated_partition_spec(::pg_query::PartitionSpec* value); + void unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value); + ::pg_query::PartitionSpec* unsafe_arena_release_partition_spec(); private: - const ::pg_query::AlterStatsStmt& _internal_alter_stats_stmt() const; - ::pg_query::AlterStatsStmt* _internal_mutable_alter_stats_stmt(); + const ::pg_query::PartitionSpec& _internal_partition_spec() const; + ::pg_query::PartitionSpec* _internal_mutable_partition_spec(); public: - // .pg_query.CreateFunctionStmt create_function_stmt = 186 [json_name = "CreateFunctionStmt"]; - bool has_create_function_stmt() const; + // .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"]; + bool has_partition_bound_spec() const; private: - bool _internal_has_create_function_stmt() const; + bool _internal_has_partition_bound_spec() const; public: - void clear_create_function_stmt() ; - const ::pg_query::CreateFunctionStmt& create_function_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateFunctionStmt* release_create_function_stmt(); - ::pg_query::CreateFunctionStmt* mutable_create_function_stmt(); - void set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); - void unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); - ::pg_query::CreateFunctionStmt* unsafe_arena_release_create_function_stmt(); + void clear_partition_bound_spec() ; + const ::pg_query::PartitionBoundSpec& partition_bound_spec() const; + PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partition_bound_spec(); + ::pg_query::PartitionBoundSpec* mutable_partition_bound_spec(); + void set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); + void unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); + ::pg_query::PartitionBoundSpec* unsafe_arena_release_partition_bound_spec(); private: - const ::pg_query::CreateFunctionStmt& _internal_create_function_stmt() const; - ::pg_query::CreateFunctionStmt* _internal_mutable_create_function_stmt(); + const ::pg_query::PartitionBoundSpec& _internal_partition_bound_spec() const; + ::pg_query::PartitionBoundSpec* _internal_mutable_partition_bound_spec(); public: - // .pg_query.FunctionParameter function_parameter = 187 [json_name = "FunctionParameter"]; - bool has_function_parameter() const; + // .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"]; + bool has_partition_range_datum() const; private: - bool _internal_has_function_parameter() const; + bool _internal_has_partition_range_datum() const; public: - void clear_function_parameter() ; - const ::pg_query::FunctionParameter& function_parameter() const; - PROTOBUF_NODISCARD ::pg_query::FunctionParameter* release_function_parameter(); - ::pg_query::FunctionParameter* mutable_function_parameter(); - void set_allocated_function_parameter(::pg_query::FunctionParameter* value); - void unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value); - ::pg_query::FunctionParameter* unsafe_arena_release_function_parameter(); + void clear_partition_range_datum() ; + const ::pg_query::PartitionRangeDatum& partition_range_datum() const; + PROTOBUF_NODISCARD ::pg_query::PartitionRangeDatum* release_partition_range_datum(); + ::pg_query::PartitionRangeDatum* mutable_partition_range_datum(); + void set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); + void unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); + ::pg_query::PartitionRangeDatum* unsafe_arena_release_partition_range_datum(); private: - const ::pg_query::FunctionParameter& _internal_function_parameter() const; - ::pg_query::FunctionParameter* _internal_mutable_function_parameter(); + const ::pg_query::PartitionRangeDatum& _internal_partition_range_datum() const; + ::pg_query::PartitionRangeDatum* _internal_mutable_partition_range_datum(); public: - // .pg_query.AlterFunctionStmt alter_function_stmt = 188 [json_name = "AlterFunctionStmt"]; - bool has_alter_function_stmt() const; + // .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"]; + bool has_single_partition_spec() const; private: - bool _internal_has_alter_function_stmt() const; + bool _internal_has_single_partition_spec() const; public: - void clear_alter_function_stmt() ; - const ::pg_query::AlterFunctionStmt& alter_function_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterFunctionStmt* release_alter_function_stmt(); - ::pg_query::AlterFunctionStmt* mutable_alter_function_stmt(); - void set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); - void unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); - ::pg_query::AlterFunctionStmt* unsafe_arena_release_alter_function_stmt(); + void clear_single_partition_spec() ; + const ::pg_query::SinglePartitionSpec& single_partition_spec() const; + PROTOBUF_NODISCARD ::pg_query::SinglePartitionSpec* release_single_partition_spec(); + ::pg_query::SinglePartitionSpec* mutable_single_partition_spec(); + void set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value); + void unsafe_arena_set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value); + ::pg_query::SinglePartitionSpec* unsafe_arena_release_single_partition_spec(); private: - const ::pg_query::AlterFunctionStmt& _internal_alter_function_stmt() const; - ::pg_query::AlterFunctionStmt* _internal_mutable_alter_function_stmt(); + const ::pg_query::SinglePartitionSpec& _internal_single_partition_spec() const; + ::pg_query::SinglePartitionSpec* _internal_mutable_single_partition_spec(); public: - // .pg_query.DoStmt do_stmt = 189 [json_name = "DoStmt"]; - bool has_do_stmt() const; + // .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"]; + bool has_partition_cmd() const; private: - bool _internal_has_do_stmt() const; + bool _internal_has_partition_cmd() const; public: - void clear_do_stmt() ; - const ::pg_query::DoStmt& do_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DoStmt* release_do_stmt(); - ::pg_query::DoStmt* mutable_do_stmt(); - void set_allocated_do_stmt(::pg_query::DoStmt* value); - void unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value); - ::pg_query::DoStmt* unsafe_arena_release_do_stmt(); + void clear_partition_cmd() ; + const ::pg_query::PartitionCmd& partition_cmd() const; + PROTOBUF_NODISCARD ::pg_query::PartitionCmd* release_partition_cmd(); + ::pg_query::PartitionCmd* mutable_partition_cmd(); + void set_allocated_partition_cmd(::pg_query::PartitionCmd* value); + void unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value); + ::pg_query::PartitionCmd* unsafe_arena_release_partition_cmd(); private: - const ::pg_query::DoStmt& _internal_do_stmt() const; - ::pg_query::DoStmt* _internal_mutable_do_stmt(); + const ::pg_query::PartitionCmd& _internal_partition_cmd() const; + ::pg_query::PartitionCmd* _internal_mutable_partition_cmd(); public: - // .pg_query.InlineCodeBlock inline_code_block = 190 [json_name = "InlineCodeBlock"]; - bool has_inline_code_block() const; + // .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"]; + bool has_range_tbl_entry() const; private: - bool _internal_has_inline_code_block() const; + bool _internal_has_range_tbl_entry() const; public: - void clear_inline_code_block() ; - const ::pg_query::InlineCodeBlock& inline_code_block() const; - PROTOBUF_NODISCARD ::pg_query::InlineCodeBlock* release_inline_code_block(); - ::pg_query::InlineCodeBlock* mutable_inline_code_block(); - void set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); - void unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); - ::pg_query::InlineCodeBlock* unsafe_arena_release_inline_code_block(); + void clear_range_tbl_entry() ; + const ::pg_query::RangeTblEntry& range_tbl_entry() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblEntry* release_range_tbl_entry(); + ::pg_query::RangeTblEntry* mutable_range_tbl_entry(); + void set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); + void unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); + ::pg_query::RangeTblEntry* unsafe_arena_release_range_tbl_entry(); private: - const ::pg_query::InlineCodeBlock& _internal_inline_code_block() const; - ::pg_query::InlineCodeBlock* _internal_mutable_inline_code_block(); + const ::pg_query::RangeTblEntry& _internal_range_tbl_entry() const; + ::pg_query::RangeTblEntry* _internal_mutable_range_tbl_entry(); public: - // .pg_query.CallStmt call_stmt = 191 [json_name = "CallStmt"]; - bool has_call_stmt() const; + // .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"]; + bool has_rtepermission_info() const; private: - bool _internal_has_call_stmt() const; + bool _internal_has_rtepermission_info() const; public: - void clear_call_stmt() ; - const ::pg_query::CallStmt& call_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CallStmt* release_call_stmt(); - ::pg_query::CallStmt* mutable_call_stmt(); - void set_allocated_call_stmt(::pg_query::CallStmt* value); - void unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value); - ::pg_query::CallStmt* unsafe_arena_release_call_stmt(); + void clear_rtepermission_info() ; + const ::pg_query::RTEPermissionInfo& rtepermission_info() const; + PROTOBUF_NODISCARD ::pg_query::RTEPermissionInfo* release_rtepermission_info(); + ::pg_query::RTEPermissionInfo* mutable_rtepermission_info(); + void set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); + void unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); + ::pg_query::RTEPermissionInfo* unsafe_arena_release_rtepermission_info(); private: - const ::pg_query::CallStmt& _internal_call_stmt() const; - ::pg_query::CallStmt* _internal_mutable_call_stmt(); + const ::pg_query::RTEPermissionInfo& _internal_rtepermission_info() const; + ::pg_query::RTEPermissionInfo* _internal_mutable_rtepermission_info(); public: - // .pg_query.CallContext call_context = 192 [json_name = "CallContext"]; - bool has_call_context() const; + // .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"]; + bool has_range_tbl_function() const; private: - bool _internal_has_call_context() const; + bool _internal_has_range_tbl_function() const; public: - void clear_call_context() ; - const ::pg_query::CallContext& call_context() const; - PROTOBUF_NODISCARD ::pg_query::CallContext* release_call_context(); - ::pg_query::CallContext* mutable_call_context(); - void set_allocated_call_context(::pg_query::CallContext* value); - void unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value); - ::pg_query::CallContext* unsafe_arena_release_call_context(); + void clear_range_tbl_function() ; + const ::pg_query::RangeTblFunction& range_tbl_function() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblFunction* release_range_tbl_function(); + ::pg_query::RangeTblFunction* mutable_range_tbl_function(); + void set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); + void unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); + ::pg_query::RangeTblFunction* unsafe_arena_release_range_tbl_function(); private: - const ::pg_query::CallContext& _internal_call_context() const; - ::pg_query::CallContext* _internal_mutable_call_context(); + const ::pg_query::RangeTblFunction& _internal_range_tbl_function() const; + ::pg_query::RangeTblFunction* _internal_mutable_range_tbl_function(); public: - // .pg_query.RenameStmt rename_stmt = 193 [json_name = "RenameStmt"]; - bool has_rename_stmt() const; + // .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"]; + bool has_table_sample_clause() const; private: - bool _internal_has_rename_stmt() const; + bool _internal_has_table_sample_clause() const; public: - void clear_rename_stmt() ; - const ::pg_query::RenameStmt& rename_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RenameStmt* release_rename_stmt(); - ::pg_query::RenameStmt* mutable_rename_stmt(); - void set_allocated_rename_stmt(::pg_query::RenameStmt* value); - void unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value); - ::pg_query::RenameStmt* unsafe_arena_release_rename_stmt(); + void clear_table_sample_clause() ; + const ::pg_query::TableSampleClause& table_sample_clause() const; + PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_table_sample_clause(); + ::pg_query::TableSampleClause* mutable_table_sample_clause(); + void set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); + void unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); + ::pg_query::TableSampleClause* unsafe_arena_release_table_sample_clause(); private: - const ::pg_query::RenameStmt& _internal_rename_stmt() const; - ::pg_query::RenameStmt* _internal_mutable_rename_stmt(); + const ::pg_query::TableSampleClause& _internal_table_sample_clause() const; + ::pg_query::TableSampleClause* _internal_mutable_table_sample_clause(); public: - // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 194 [json_name = "AlterObjectDependsStmt"]; - bool has_alter_object_depends_stmt() const; + // .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"]; + bool has_with_check_option() const; private: - bool _internal_has_alter_object_depends_stmt() const; + bool _internal_has_with_check_option() const; public: - void clear_alter_object_depends_stmt() ; - const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterObjectDependsStmt* release_alter_object_depends_stmt(); - ::pg_query::AlterObjectDependsStmt* mutable_alter_object_depends_stmt(); - void set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); - void unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); - ::pg_query::AlterObjectDependsStmt* unsafe_arena_release_alter_object_depends_stmt(); + void clear_with_check_option() ; + const ::pg_query::WithCheckOption& with_check_option() const; + PROTOBUF_NODISCARD ::pg_query::WithCheckOption* release_with_check_option(); + ::pg_query::WithCheckOption* mutable_with_check_option(); + void set_allocated_with_check_option(::pg_query::WithCheckOption* value); + void unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value); + ::pg_query::WithCheckOption* unsafe_arena_release_with_check_option(); private: - const ::pg_query::AlterObjectDependsStmt& _internal_alter_object_depends_stmt() const; - ::pg_query::AlterObjectDependsStmt* _internal_mutable_alter_object_depends_stmt(); + const ::pg_query::WithCheckOption& _internal_with_check_option() const; + ::pg_query::WithCheckOption* _internal_mutable_with_check_option(); public: - // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 195 [json_name = "AlterObjectSchemaStmt"]; - bool has_alter_object_schema_stmt() const; + // .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"]; + bool has_sort_group_clause() const; private: - bool _internal_has_alter_object_schema_stmt() const; + bool _internal_has_sort_group_clause() const; public: - void clear_alter_object_schema_stmt() ; - const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterObjectSchemaStmt* release_alter_object_schema_stmt(); - ::pg_query::AlterObjectSchemaStmt* mutable_alter_object_schema_stmt(); - void set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); - void unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); - ::pg_query::AlterObjectSchemaStmt* unsafe_arena_release_alter_object_schema_stmt(); + void clear_sort_group_clause() ; + const ::pg_query::SortGroupClause& sort_group_clause() const; + PROTOBUF_NODISCARD ::pg_query::SortGroupClause* release_sort_group_clause(); + ::pg_query::SortGroupClause* mutable_sort_group_clause(); + void set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); + void unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); + ::pg_query::SortGroupClause* unsafe_arena_release_sort_group_clause(); private: - const ::pg_query::AlterObjectSchemaStmt& _internal_alter_object_schema_stmt() const; - ::pg_query::AlterObjectSchemaStmt* _internal_mutable_alter_object_schema_stmt(); + const ::pg_query::SortGroupClause& _internal_sort_group_clause() const; + ::pg_query::SortGroupClause* _internal_mutable_sort_group_clause(); public: - // .pg_query.AlterOwnerStmt alter_owner_stmt = 196 [json_name = "AlterOwnerStmt"]; - bool has_alter_owner_stmt() const; + // .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"]; + bool has_grouping_set() const; private: - bool _internal_has_alter_owner_stmt() const; + bool _internal_has_grouping_set() const; public: - void clear_alter_owner_stmt() ; - const ::pg_query::AlterOwnerStmt& alter_owner_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOwnerStmt* release_alter_owner_stmt(); - ::pg_query::AlterOwnerStmt* mutable_alter_owner_stmt(); - void set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); - void unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); - ::pg_query::AlterOwnerStmt* unsafe_arena_release_alter_owner_stmt(); + void clear_grouping_set() ; + const ::pg_query::GroupingSet& grouping_set() const; + PROTOBUF_NODISCARD ::pg_query::GroupingSet* release_grouping_set(); + ::pg_query::GroupingSet* mutable_grouping_set(); + void set_allocated_grouping_set(::pg_query::GroupingSet* value); + void unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value); + ::pg_query::GroupingSet* unsafe_arena_release_grouping_set(); private: - const ::pg_query::AlterOwnerStmt& _internal_alter_owner_stmt() const; - ::pg_query::AlterOwnerStmt* _internal_mutable_alter_owner_stmt(); + const ::pg_query::GroupingSet& _internal_grouping_set() const; + ::pg_query::GroupingSet* _internal_mutable_grouping_set(); public: - // .pg_query.AlterOperatorStmt alter_operator_stmt = 197 [json_name = "AlterOperatorStmt"]; - bool has_alter_operator_stmt() const; + // .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"]; + bool has_window_clause() const; private: - bool _internal_has_alter_operator_stmt() const; + bool _internal_has_window_clause() const; public: - void clear_alter_operator_stmt() ; - const ::pg_query::AlterOperatorStmt& alter_operator_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOperatorStmt* release_alter_operator_stmt(); - ::pg_query::AlterOperatorStmt* mutable_alter_operator_stmt(); - void set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); - void unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); - ::pg_query::AlterOperatorStmt* unsafe_arena_release_alter_operator_stmt(); + void clear_window_clause() ; + const ::pg_query::WindowClause& window_clause() const; + PROTOBUF_NODISCARD ::pg_query::WindowClause* release_window_clause(); + ::pg_query::WindowClause* mutable_window_clause(); + void set_allocated_window_clause(::pg_query::WindowClause* value); + void unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value); + ::pg_query::WindowClause* unsafe_arena_release_window_clause(); private: - const ::pg_query::AlterOperatorStmt& _internal_alter_operator_stmt() const; - ::pg_query::AlterOperatorStmt* _internal_mutable_alter_operator_stmt(); + const ::pg_query::WindowClause& _internal_window_clause() const; + ::pg_query::WindowClause* _internal_mutable_window_clause(); public: - // .pg_query.AlterTypeStmt alter_type_stmt = 198 [json_name = "AlterTypeStmt"]; - bool has_alter_type_stmt() const; + // .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"]; + bool has_row_mark_clause() const; private: - bool _internal_has_alter_type_stmt() const; + bool _internal_has_row_mark_clause() const; public: - void clear_alter_type_stmt() ; - const ::pg_query::AlterTypeStmt& alter_type_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTypeStmt* release_alter_type_stmt(); - ::pg_query::AlterTypeStmt* mutable_alter_type_stmt(); - void set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); - void unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); - ::pg_query::AlterTypeStmt* unsafe_arena_release_alter_type_stmt(); + void clear_row_mark_clause() ; + const ::pg_query::RowMarkClause& row_mark_clause() const; + PROTOBUF_NODISCARD ::pg_query::RowMarkClause* release_row_mark_clause(); + ::pg_query::RowMarkClause* mutable_row_mark_clause(); + void set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); + void unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); + ::pg_query::RowMarkClause* unsafe_arena_release_row_mark_clause(); private: - const ::pg_query::AlterTypeStmt& _internal_alter_type_stmt() const; - ::pg_query::AlterTypeStmt* _internal_mutable_alter_type_stmt(); + const ::pg_query::RowMarkClause& _internal_row_mark_clause() const; + ::pg_query::RowMarkClause* _internal_mutable_row_mark_clause(); public: - // .pg_query.RuleStmt rule_stmt = 199 [json_name = "RuleStmt"]; - bool has_rule_stmt() const; + // .pg_query.WithClause with_clause = 107 [json_name = "WithClause"]; + bool has_with_clause() const; private: - bool _internal_has_rule_stmt() const; + bool _internal_has_with_clause() const; public: - void clear_rule_stmt() ; - const ::pg_query::RuleStmt& rule_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RuleStmt* release_rule_stmt(); - ::pg_query::RuleStmt* mutable_rule_stmt(); - void set_allocated_rule_stmt(::pg_query::RuleStmt* value); - void unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value); - ::pg_query::RuleStmt* unsafe_arena_release_rule_stmt(); + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); private: - const ::pg_query::RuleStmt& _internal_rule_stmt() const; - ::pg_query::RuleStmt* _internal_mutable_rule_stmt(); + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); public: - // .pg_query.NotifyStmt notify_stmt = 200 [json_name = "NotifyStmt"]; - bool has_notify_stmt() const; + // .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"]; + bool has_infer_clause() const; private: - bool _internal_has_notify_stmt() const; + bool _internal_has_infer_clause() const; public: - void clear_notify_stmt() ; - const ::pg_query::NotifyStmt& notify_stmt() const; - PROTOBUF_NODISCARD ::pg_query::NotifyStmt* release_notify_stmt(); - ::pg_query::NotifyStmt* mutable_notify_stmt(); - void set_allocated_notify_stmt(::pg_query::NotifyStmt* value); - void unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value); - ::pg_query::NotifyStmt* unsafe_arena_release_notify_stmt(); + void clear_infer_clause() ; + const ::pg_query::InferClause& infer_clause() const; + PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer_clause(); + ::pg_query::InferClause* mutable_infer_clause(); + void set_allocated_infer_clause(::pg_query::InferClause* value); + void unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value); + ::pg_query::InferClause* unsafe_arena_release_infer_clause(); private: - const ::pg_query::NotifyStmt& _internal_notify_stmt() const; - ::pg_query::NotifyStmt* _internal_mutable_notify_stmt(); + const ::pg_query::InferClause& _internal_infer_clause() const; + ::pg_query::InferClause* _internal_mutable_infer_clause(); public: - // .pg_query.ListenStmt listen_stmt = 201 [json_name = "ListenStmt"]; - bool has_listen_stmt() const; + // .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"]; + bool has_on_conflict_clause() const; private: - bool _internal_has_listen_stmt() const; + bool _internal_has_on_conflict_clause() const; public: - void clear_listen_stmt() ; - const ::pg_query::ListenStmt& listen_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ListenStmt* release_listen_stmt(); - ::pg_query::ListenStmt* mutable_listen_stmt(); - void set_allocated_listen_stmt(::pg_query::ListenStmt* value); - void unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value); - ::pg_query::ListenStmt* unsafe_arena_release_listen_stmt(); + void clear_on_conflict_clause() ; + const ::pg_query::OnConflictClause& on_conflict_clause() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); + ::pg_query::OnConflictClause* mutable_on_conflict_clause(); + void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + void unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); private: - const ::pg_query::ListenStmt& _internal_listen_stmt() const; - ::pg_query::ListenStmt* _internal_mutable_listen_stmt(); + const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; + ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); public: - // .pg_query.UnlistenStmt unlisten_stmt = 202 [json_name = "UnlistenStmt"]; - bool has_unlisten_stmt() const; + // .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"]; + bool has_ctesearch_clause() const; private: - bool _internal_has_unlisten_stmt() const; + bool _internal_has_ctesearch_clause() const; public: - void clear_unlisten_stmt() ; - const ::pg_query::UnlistenStmt& unlisten_stmt() const; - PROTOBUF_NODISCARD ::pg_query::UnlistenStmt* release_unlisten_stmt(); - ::pg_query::UnlistenStmt* mutable_unlisten_stmt(); - void set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); - void unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); - ::pg_query::UnlistenStmt* unsafe_arena_release_unlisten_stmt(); + void clear_ctesearch_clause() ; + const ::pg_query::CTESearchClause& ctesearch_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_ctesearch_clause(); + ::pg_query::CTESearchClause* mutable_ctesearch_clause(); + void set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); + void unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); + ::pg_query::CTESearchClause* unsafe_arena_release_ctesearch_clause(); private: - const ::pg_query::UnlistenStmt& _internal_unlisten_stmt() const; - ::pg_query::UnlistenStmt* _internal_mutable_unlisten_stmt(); + const ::pg_query::CTESearchClause& _internal_ctesearch_clause() const; + ::pg_query::CTESearchClause* _internal_mutable_ctesearch_clause(); public: - // .pg_query.TransactionStmt transaction_stmt = 203 [json_name = "TransactionStmt"]; - bool has_transaction_stmt() const; + // .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"]; + bool has_ctecycle_clause() const; private: - bool _internal_has_transaction_stmt() const; + bool _internal_has_ctecycle_clause() const; public: - void clear_transaction_stmt() ; - const ::pg_query::TransactionStmt& transaction_stmt() const; - PROTOBUF_NODISCARD ::pg_query::TransactionStmt* release_transaction_stmt(); - ::pg_query::TransactionStmt* mutable_transaction_stmt(); - void set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); - void unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); - ::pg_query::TransactionStmt* unsafe_arena_release_transaction_stmt(); + void clear_ctecycle_clause() ; + const ::pg_query::CTECycleClause& ctecycle_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_ctecycle_clause(); + ::pg_query::CTECycleClause* mutable_ctecycle_clause(); + void set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); + void unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); + ::pg_query::CTECycleClause* unsafe_arena_release_ctecycle_clause(); private: - const ::pg_query::TransactionStmt& _internal_transaction_stmt() const; - ::pg_query::TransactionStmt* _internal_mutable_transaction_stmt(); + const ::pg_query::CTECycleClause& _internal_ctecycle_clause() const; + ::pg_query::CTECycleClause* _internal_mutable_ctecycle_clause(); public: - // .pg_query.CompositeTypeStmt composite_type_stmt = 204 [json_name = "CompositeTypeStmt"]; - bool has_composite_type_stmt() const; + // .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"]; + bool has_common_table_expr() const; private: - bool _internal_has_composite_type_stmt() const; + bool _internal_has_common_table_expr() const; public: - void clear_composite_type_stmt() ; - const ::pg_query::CompositeTypeStmt& composite_type_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CompositeTypeStmt* release_composite_type_stmt(); - ::pg_query::CompositeTypeStmt* mutable_composite_type_stmt(); - void set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); - void unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); - ::pg_query::CompositeTypeStmt* unsafe_arena_release_composite_type_stmt(); + void clear_common_table_expr() ; + const ::pg_query::CommonTableExpr& common_table_expr() const; + PROTOBUF_NODISCARD ::pg_query::CommonTableExpr* release_common_table_expr(); + ::pg_query::CommonTableExpr* mutable_common_table_expr(); + void set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); + void unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); + ::pg_query::CommonTableExpr* unsafe_arena_release_common_table_expr(); private: - const ::pg_query::CompositeTypeStmt& _internal_composite_type_stmt() const; - ::pg_query::CompositeTypeStmt* _internal_mutable_composite_type_stmt(); + const ::pg_query::CommonTableExpr& _internal_common_table_expr() const; + ::pg_query::CommonTableExpr* _internal_mutable_common_table_expr(); public: - // .pg_query.CreateEnumStmt create_enum_stmt = 205 [json_name = "CreateEnumStmt"]; - bool has_create_enum_stmt() const; + // .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"]; + bool has_merge_when_clause() const; private: - bool _internal_has_create_enum_stmt() const; + bool _internal_has_merge_when_clause() const; public: - void clear_create_enum_stmt() ; - const ::pg_query::CreateEnumStmt& create_enum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateEnumStmt* release_create_enum_stmt(); - ::pg_query::CreateEnumStmt* mutable_create_enum_stmt(); - void set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); - void unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); - ::pg_query::CreateEnumStmt* unsafe_arena_release_create_enum_stmt(); + void clear_merge_when_clause() ; + const ::pg_query::MergeWhenClause& merge_when_clause() const; + PROTOBUF_NODISCARD ::pg_query::MergeWhenClause* release_merge_when_clause(); + ::pg_query::MergeWhenClause* mutable_merge_when_clause(); + void set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); + void unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); + ::pg_query::MergeWhenClause* unsafe_arena_release_merge_when_clause(); private: - const ::pg_query::CreateEnumStmt& _internal_create_enum_stmt() const; - ::pg_query::CreateEnumStmt* _internal_mutable_create_enum_stmt(); + const ::pg_query::MergeWhenClause& _internal_merge_when_clause() const; + ::pg_query::MergeWhenClause* _internal_mutable_merge_when_clause(); public: - // .pg_query.CreateRangeStmt create_range_stmt = 206 [json_name = "CreateRangeStmt"]; - bool has_create_range_stmt() const; + // .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"]; + bool has_trigger_transition() const; private: - bool _internal_has_create_range_stmt() const; + bool _internal_has_trigger_transition() const; public: - void clear_create_range_stmt() ; - const ::pg_query::CreateRangeStmt& create_range_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateRangeStmt* release_create_range_stmt(); - ::pg_query::CreateRangeStmt* mutable_create_range_stmt(); - void set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); - void unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); - ::pg_query::CreateRangeStmt* unsafe_arena_release_create_range_stmt(); + void clear_trigger_transition() ; + const ::pg_query::TriggerTransition& trigger_transition() const; + PROTOBUF_NODISCARD ::pg_query::TriggerTransition* release_trigger_transition(); + ::pg_query::TriggerTransition* mutable_trigger_transition(); + void set_allocated_trigger_transition(::pg_query::TriggerTransition* value); + void unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value); + ::pg_query::TriggerTransition* unsafe_arena_release_trigger_transition(); private: - const ::pg_query::CreateRangeStmt& _internal_create_range_stmt() const; - ::pg_query::CreateRangeStmt* _internal_mutable_create_range_stmt(); + const ::pg_query::TriggerTransition& _internal_trigger_transition() const; + ::pg_query::TriggerTransition* _internal_mutable_trigger_transition(); public: - // .pg_query.AlterEnumStmt alter_enum_stmt = 207 [json_name = "AlterEnumStmt"]; - bool has_alter_enum_stmt() const; + // .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"]; + bool has_json_output() const; private: - bool _internal_has_alter_enum_stmt() const; + bool _internal_has_json_output() const; public: - void clear_alter_enum_stmt() ; - const ::pg_query::AlterEnumStmt& alter_enum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterEnumStmt* release_alter_enum_stmt(); - ::pg_query::AlterEnumStmt* mutable_alter_enum_stmt(); - void set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); - void unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); - ::pg_query::AlterEnumStmt* unsafe_arena_release_alter_enum_stmt(); + void clear_json_output() ; + const ::pg_query::JsonOutput& json_output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_json_output(); + ::pg_query::JsonOutput* mutable_json_output(); + void set_allocated_json_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_json_output(); private: - const ::pg_query::AlterEnumStmt& _internal_alter_enum_stmt() const; - ::pg_query::AlterEnumStmt* _internal_mutable_alter_enum_stmt(); + const ::pg_query::JsonOutput& _internal_json_output() const; + ::pg_query::JsonOutput* _internal_mutable_json_output(); public: - // .pg_query.ViewStmt view_stmt = 208 [json_name = "ViewStmt"]; - bool has_view_stmt() const; + // .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"]; + bool has_json_argument() const; private: - bool _internal_has_view_stmt() const; + bool _internal_has_json_argument() const; public: - void clear_view_stmt() ; - const ::pg_query::ViewStmt& view_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ViewStmt* release_view_stmt(); - ::pg_query::ViewStmt* mutable_view_stmt(); - void set_allocated_view_stmt(::pg_query::ViewStmt* value); - void unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value); - ::pg_query::ViewStmt* unsafe_arena_release_view_stmt(); + void clear_json_argument() ; + const ::pg_query::JsonArgument& json_argument() const; + PROTOBUF_NODISCARD ::pg_query::JsonArgument* release_json_argument(); + ::pg_query::JsonArgument* mutable_json_argument(); + void set_allocated_json_argument(::pg_query::JsonArgument* value); + void unsafe_arena_set_allocated_json_argument(::pg_query::JsonArgument* value); + ::pg_query::JsonArgument* unsafe_arena_release_json_argument(); private: - const ::pg_query::ViewStmt& _internal_view_stmt() const; - ::pg_query::ViewStmt* _internal_mutable_view_stmt(); + const ::pg_query::JsonArgument& _internal_json_argument() const; + ::pg_query::JsonArgument* _internal_mutable_json_argument(); public: - // .pg_query.LoadStmt load_stmt = 209 [json_name = "LoadStmt"]; - bool has_load_stmt() const; + // .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"]; + bool has_json_func_expr() const; private: - bool _internal_has_load_stmt() const; + bool _internal_has_json_func_expr() const; public: - void clear_load_stmt() ; - const ::pg_query::LoadStmt& load_stmt() const; - PROTOBUF_NODISCARD ::pg_query::LoadStmt* release_load_stmt(); - ::pg_query::LoadStmt* mutable_load_stmt(); - void set_allocated_load_stmt(::pg_query::LoadStmt* value); - void unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value); - ::pg_query::LoadStmt* unsafe_arena_release_load_stmt(); + void clear_json_func_expr() ; + const ::pg_query::JsonFuncExpr& json_func_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonFuncExpr* release_json_func_expr(); + ::pg_query::JsonFuncExpr* mutable_json_func_expr(); + void set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value); + void unsafe_arena_set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value); + ::pg_query::JsonFuncExpr* unsafe_arena_release_json_func_expr(); private: - const ::pg_query::LoadStmt& _internal_load_stmt() const; - ::pg_query::LoadStmt* _internal_mutable_load_stmt(); + const ::pg_query::JsonFuncExpr& _internal_json_func_expr() const; + ::pg_query::JsonFuncExpr* _internal_mutable_json_func_expr(); public: - // .pg_query.CreatedbStmt createdb_stmt = 210 [json_name = "CreatedbStmt"]; - bool has_createdb_stmt() const; + // .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"]; + bool has_json_table_path_spec() const; private: - bool _internal_has_createdb_stmt() const; + bool _internal_has_json_table_path_spec() const; public: - void clear_createdb_stmt() ; - const ::pg_query::CreatedbStmt& createdb_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatedbStmt* release_createdb_stmt(); - ::pg_query::CreatedbStmt* mutable_createdb_stmt(); - void set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); - void unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); - ::pg_query::CreatedbStmt* unsafe_arena_release_createdb_stmt(); + void clear_json_table_path_spec() ; + const ::pg_query::JsonTablePathSpec& json_table_path_spec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_json_table_path_spec(); + ::pg_query::JsonTablePathSpec* mutable_json_table_path_spec(); + void set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_json_table_path_spec(); private: - const ::pg_query::CreatedbStmt& _internal_createdb_stmt() const; - ::pg_query::CreatedbStmt* _internal_mutable_createdb_stmt(); + const ::pg_query::JsonTablePathSpec& _internal_json_table_path_spec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_json_table_path_spec(); public: - // .pg_query.AlterDatabaseStmt alter_database_stmt = 211 [json_name = "AlterDatabaseStmt"]; - bool has_alter_database_stmt() const; + // .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"]; + bool has_json_table() const; private: - bool _internal_has_alter_database_stmt() const; + bool _internal_has_json_table() const; public: - void clear_alter_database_stmt() ; - const ::pg_query::AlterDatabaseStmt& alter_database_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseStmt* release_alter_database_stmt(); - ::pg_query::AlterDatabaseStmt* mutable_alter_database_stmt(); - void set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); - void unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); - ::pg_query::AlterDatabaseStmt* unsafe_arena_release_alter_database_stmt(); + void clear_json_table() ; + const ::pg_query::JsonTable& json_table() const; + PROTOBUF_NODISCARD ::pg_query::JsonTable* release_json_table(); + ::pg_query::JsonTable* mutable_json_table(); + void set_allocated_json_table(::pg_query::JsonTable* value); + void unsafe_arena_set_allocated_json_table(::pg_query::JsonTable* value); + ::pg_query::JsonTable* unsafe_arena_release_json_table(); private: - const ::pg_query::AlterDatabaseStmt& _internal_alter_database_stmt() const; - ::pg_query::AlterDatabaseStmt* _internal_mutable_alter_database_stmt(); + const ::pg_query::JsonTable& _internal_json_table() const; + ::pg_query::JsonTable* _internal_mutable_json_table(); public: - // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 212 [json_name = "AlterDatabaseRefreshCollStmt"]; - bool has_alter_database_refresh_coll_stmt() const; + // .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"]; + bool has_json_table_column() const; private: - bool _internal_has_alter_database_refresh_coll_stmt() const; + bool _internal_has_json_table_column() const; public: - void clear_alter_database_refresh_coll_stmt() ; - const ::pg_query::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseRefreshCollStmt* release_alter_database_refresh_coll_stmt(); - ::pg_query::AlterDatabaseRefreshCollStmt* mutable_alter_database_refresh_coll_stmt(); - void set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); - void unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); - ::pg_query::AlterDatabaseRefreshCollStmt* unsafe_arena_release_alter_database_refresh_coll_stmt(); + void clear_json_table_column() ; + const ::pg_query::JsonTableColumn& json_table_column() const; + PROTOBUF_NODISCARD ::pg_query::JsonTableColumn* release_json_table_column(); + ::pg_query::JsonTableColumn* mutable_json_table_column(); + void set_allocated_json_table_column(::pg_query::JsonTableColumn* value); + void unsafe_arena_set_allocated_json_table_column(::pg_query::JsonTableColumn* value); + ::pg_query::JsonTableColumn* unsafe_arena_release_json_table_column(); private: - const ::pg_query::AlterDatabaseRefreshCollStmt& _internal_alter_database_refresh_coll_stmt() const; - ::pg_query::AlterDatabaseRefreshCollStmt* _internal_mutable_alter_database_refresh_coll_stmt(); + const ::pg_query::JsonTableColumn& _internal_json_table_column() const; + ::pg_query::JsonTableColumn* _internal_mutable_json_table_column(); public: - // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 213 [json_name = "AlterDatabaseSetStmt"]; - bool has_alter_database_set_stmt() const; + // .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"]; + bool has_json_key_value() const; private: - bool _internal_has_alter_database_set_stmt() const; + bool _internal_has_json_key_value() const; public: - void clear_alter_database_set_stmt() ; - const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseSetStmt* release_alter_database_set_stmt(); - ::pg_query::AlterDatabaseSetStmt* mutable_alter_database_set_stmt(); - void set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); - void unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); - ::pg_query::AlterDatabaseSetStmt* unsafe_arena_release_alter_database_set_stmt(); + void clear_json_key_value() ; + const ::pg_query::JsonKeyValue& json_key_value() const; + PROTOBUF_NODISCARD ::pg_query::JsonKeyValue* release_json_key_value(); + ::pg_query::JsonKeyValue* mutable_json_key_value(); + void set_allocated_json_key_value(::pg_query::JsonKeyValue* value); + void unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value); + ::pg_query::JsonKeyValue* unsafe_arena_release_json_key_value(); private: - const ::pg_query::AlterDatabaseSetStmt& _internal_alter_database_set_stmt() const; - ::pg_query::AlterDatabaseSetStmt* _internal_mutable_alter_database_set_stmt(); + const ::pg_query::JsonKeyValue& _internal_json_key_value() const; + ::pg_query::JsonKeyValue* _internal_mutable_json_key_value(); public: - // .pg_query.DropdbStmt dropdb_stmt = 214 [json_name = "DropdbStmt"]; - bool has_dropdb_stmt() const; + // .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"]; + bool has_json_parse_expr() const; private: - bool _internal_has_dropdb_stmt() const; + bool _internal_has_json_parse_expr() const; public: - void clear_dropdb_stmt() ; - const ::pg_query::DropdbStmt& dropdb_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropdbStmt* release_dropdb_stmt(); - ::pg_query::DropdbStmt* mutable_dropdb_stmt(); - void set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); - void unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); - ::pg_query::DropdbStmt* unsafe_arena_release_dropdb_stmt(); + void clear_json_parse_expr() ; + const ::pg_query::JsonParseExpr& json_parse_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonParseExpr* release_json_parse_expr(); + ::pg_query::JsonParseExpr* mutable_json_parse_expr(); + void set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value); + void unsafe_arena_set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value); + ::pg_query::JsonParseExpr* unsafe_arena_release_json_parse_expr(); private: - const ::pg_query::DropdbStmt& _internal_dropdb_stmt() const; - ::pg_query::DropdbStmt* _internal_mutable_dropdb_stmt(); + const ::pg_query::JsonParseExpr& _internal_json_parse_expr() const; + ::pg_query::JsonParseExpr* _internal_mutable_json_parse_expr(); public: - // .pg_query.AlterSystemStmt alter_system_stmt = 215 [json_name = "AlterSystemStmt"]; - bool has_alter_system_stmt() const; + // .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"]; + bool has_json_scalar_expr() const; private: - bool _internal_has_alter_system_stmt() const; + bool _internal_has_json_scalar_expr() const; public: - void clear_alter_system_stmt() ; - const ::pg_query::AlterSystemStmt& alter_system_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSystemStmt* release_alter_system_stmt(); - ::pg_query::AlterSystemStmt* mutable_alter_system_stmt(); - void set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); - void unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); - ::pg_query::AlterSystemStmt* unsafe_arena_release_alter_system_stmt(); + void clear_json_scalar_expr() ; + const ::pg_query::JsonScalarExpr& json_scalar_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonScalarExpr* release_json_scalar_expr(); + ::pg_query::JsonScalarExpr* mutable_json_scalar_expr(); + void set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value); + void unsafe_arena_set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value); + ::pg_query::JsonScalarExpr* unsafe_arena_release_json_scalar_expr(); private: - const ::pg_query::AlterSystemStmt& _internal_alter_system_stmt() const; - ::pg_query::AlterSystemStmt* _internal_mutable_alter_system_stmt(); + const ::pg_query::JsonScalarExpr& _internal_json_scalar_expr() const; + ::pg_query::JsonScalarExpr* _internal_mutable_json_scalar_expr(); public: - // .pg_query.ClusterStmt cluster_stmt = 216 [json_name = "ClusterStmt"]; - bool has_cluster_stmt() const; + // .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"]; + bool has_json_serialize_expr() const; private: - bool _internal_has_cluster_stmt() const; + bool _internal_has_json_serialize_expr() const; public: - void clear_cluster_stmt() ; - const ::pg_query::ClusterStmt& cluster_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ClusterStmt* release_cluster_stmt(); - ::pg_query::ClusterStmt* mutable_cluster_stmt(); - void set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); - void unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); - ::pg_query::ClusterStmt* unsafe_arena_release_cluster_stmt(); + void clear_json_serialize_expr() ; + const ::pg_query::JsonSerializeExpr& json_serialize_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonSerializeExpr* release_json_serialize_expr(); + ::pg_query::JsonSerializeExpr* mutable_json_serialize_expr(); + void set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value); + void unsafe_arena_set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value); + ::pg_query::JsonSerializeExpr* unsafe_arena_release_json_serialize_expr(); private: - const ::pg_query::ClusterStmt& _internal_cluster_stmt() const; - ::pg_query::ClusterStmt* _internal_mutable_cluster_stmt(); + const ::pg_query::JsonSerializeExpr& _internal_json_serialize_expr() const; + ::pg_query::JsonSerializeExpr* _internal_mutable_json_serialize_expr(); public: - // .pg_query.VacuumStmt vacuum_stmt = 217 [json_name = "VacuumStmt"]; - bool has_vacuum_stmt() const; + // .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"]; + bool has_json_object_constructor() const; private: - bool _internal_has_vacuum_stmt() const; + bool _internal_has_json_object_constructor() const; public: - void clear_vacuum_stmt() ; - const ::pg_query::VacuumStmt& vacuum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VacuumStmt* release_vacuum_stmt(); - ::pg_query::VacuumStmt* mutable_vacuum_stmt(); - void set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); - void unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); - ::pg_query::VacuumStmt* unsafe_arena_release_vacuum_stmt(); + void clear_json_object_constructor() ; + const ::pg_query::JsonObjectConstructor& json_object_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonObjectConstructor* release_json_object_constructor(); + ::pg_query::JsonObjectConstructor* mutable_json_object_constructor(); + void set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); + void unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); + ::pg_query::JsonObjectConstructor* unsafe_arena_release_json_object_constructor(); private: - const ::pg_query::VacuumStmt& _internal_vacuum_stmt() const; - ::pg_query::VacuumStmt* _internal_mutable_vacuum_stmt(); + const ::pg_query::JsonObjectConstructor& _internal_json_object_constructor() const; + ::pg_query::JsonObjectConstructor* _internal_mutable_json_object_constructor(); public: - // .pg_query.VacuumRelation vacuum_relation = 218 [json_name = "VacuumRelation"]; - bool has_vacuum_relation() const; + // .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"]; + bool has_json_array_constructor() const; private: - bool _internal_has_vacuum_relation() const; + bool _internal_has_json_array_constructor() const; public: - void clear_vacuum_relation() ; - const ::pg_query::VacuumRelation& vacuum_relation() const; - PROTOBUF_NODISCARD ::pg_query::VacuumRelation* release_vacuum_relation(); - ::pg_query::VacuumRelation* mutable_vacuum_relation(); - void set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); - void unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); - ::pg_query::VacuumRelation* unsafe_arena_release_vacuum_relation(); + void clear_json_array_constructor() ; + const ::pg_query::JsonArrayConstructor& json_array_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayConstructor* release_json_array_constructor(); + ::pg_query::JsonArrayConstructor* mutable_json_array_constructor(); + void set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); + void unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); + ::pg_query::JsonArrayConstructor* unsafe_arena_release_json_array_constructor(); private: - const ::pg_query::VacuumRelation& _internal_vacuum_relation() const; - ::pg_query::VacuumRelation* _internal_mutable_vacuum_relation(); + const ::pg_query::JsonArrayConstructor& _internal_json_array_constructor() const; + ::pg_query::JsonArrayConstructor* _internal_mutable_json_array_constructor(); public: - // .pg_query.ExplainStmt explain_stmt = 219 [json_name = "ExplainStmt"]; - bool has_explain_stmt() const; + // .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"]; + bool has_json_array_query_constructor() const; private: - bool _internal_has_explain_stmt() const; + bool _internal_has_json_array_query_constructor() const; public: - void clear_explain_stmt() ; - const ::pg_query::ExplainStmt& explain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ExplainStmt* release_explain_stmt(); - ::pg_query::ExplainStmt* mutable_explain_stmt(); - void set_allocated_explain_stmt(::pg_query::ExplainStmt* value); - void unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value); - ::pg_query::ExplainStmt* unsafe_arena_release_explain_stmt(); + void clear_json_array_query_constructor() ; + const ::pg_query::JsonArrayQueryConstructor& json_array_query_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayQueryConstructor* release_json_array_query_constructor(); + ::pg_query::JsonArrayQueryConstructor* mutable_json_array_query_constructor(); + void set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); + void unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); + ::pg_query::JsonArrayQueryConstructor* unsafe_arena_release_json_array_query_constructor(); private: - const ::pg_query::ExplainStmt& _internal_explain_stmt() const; - ::pg_query::ExplainStmt* _internal_mutable_explain_stmt(); + const ::pg_query::JsonArrayQueryConstructor& _internal_json_array_query_constructor() const; + ::pg_query::JsonArrayQueryConstructor* _internal_mutable_json_array_query_constructor(); public: - // .pg_query.CreateTableAsStmt create_table_as_stmt = 220 [json_name = "CreateTableAsStmt"]; - bool has_create_table_as_stmt() const; + // .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"]; + bool has_json_agg_constructor() const; private: - bool _internal_has_create_table_as_stmt() const; + bool _internal_has_json_agg_constructor() const; public: - void clear_create_table_as_stmt() ; - const ::pg_query::CreateTableAsStmt& create_table_as_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTableAsStmt* release_create_table_as_stmt(); - ::pg_query::CreateTableAsStmt* mutable_create_table_as_stmt(); - void set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); - void unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); - ::pg_query::CreateTableAsStmt* unsafe_arena_release_create_table_as_stmt(); + void clear_json_agg_constructor() ; + const ::pg_query::JsonAggConstructor& json_agg_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_json_agg_constructor(); + ::pg_query::JsonAggConstructor* mutable_json_agg_constructor(); + void set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); + void unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); + ::pg_query::JsonAggConstructor* unsafe_arena_release_json_agg_constructor(); private: - const ::pg_query::CreateTableAsStmt& _internal_create_table_as_stmt() const; - ::pg_query::CreateTableAsStmt* _internal_mutable_create_table_as_stmt(); + const ::pg_query::JsonAggConstructor& _internal_json_agg_constructor() const; + ::pg_query::JsonAggConstructor* _internal_mutable_json_agg_constructor(); public: - // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 221 [json_name = "RefreshMatViewStmt"]; - bool has_refresh_mat_view_stmt() const; + // .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"]; + bool has_json_object_agg() const; private: - bool _internal_has_refresh_mat_view_stmt() const; + bool _internal_has_json_object_agg() const; public: - void clear_refresh_mat_view_stmt() ; - const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RefreshMatViewStmt* release_refresh_mat_view_stmt(); - ::pg_query::RefreshMatViewStmt* mutable_refresh_mat_view_stmt(); - void set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); - void unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); - ::pg_query::RefreshMatViewStmt* unsafe_arena_release_refresh_mat_view_stmt(); + void clear_json_object_agg() ; + const ::pg_query::JsonObjectAgg& json_object_agg() const; + PROTOBUF_NODISCARD ::pg_query::JsonObjectAgg* release_json_object_agg(); + ::pg_query::JsonObjectAgg* mutable_json_object_agg(); + void set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); + void unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); + ::pg_query::JsonObjectAgg* unsafe_arena_release_json_object_agg(); private: - const ::pg_query::RefreshMatViewStmt& _internal_refresh_mat_view_stmt() const; - ::pg_query::RefreshMatViewStmt* _internal_mutable_refresh_mat_view_stmt(); + const ::pg_query::JsonObjectAgg& _internal_json_object_agg() const; + ::pg_query::JsonObjectAgg* _internal_mutable_json_object_agg(); public: - // .pg_query.CheckPointStmt check_point_stmt = 222 [json_name = "CheckPointStmt"]; - bool has_check_point_stmt() const; + // .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"]; + bool has_json_array_agg() const; private: - bool _internal_has_check_point_stmt() const; + bool _internal_has_json_array_agg() const; public: - void clear_check_point_stmt() ; - const ::pg_query::CheckPointStmt& check_point_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CheckPointStmt* release_check_point_stmt(); - ::pg_query::CheckPointStmt* mutable_check_point_stmt(); - void set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); - void unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); - ::pg_query::CheckPointStmt* unsafe_arena_release_check_point_stmt(); + void clear_json_array_agg() ; + const ::pg_query::JsonArrayAgg& json_array_agg() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayAgg* release_json_array_agg(); + ::pg_query::JsonArrayAgg* mutable_json_array_agg(); + void set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); + void unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); + ::pg_query::JsonArrayAgg* unsafe_arena_release_json_array_agg(); private: - const ::pg_query::CheckPointStmt& _internal_check_point_stmt() const; - ::pg_query::CheckPointStmt* _internal_mutable_check_point_stmt(); + const ::pg_query::JsonArrayAgg& _internal_json_array_agg() const; + ::pg_query::JsonArrayAgg* _internal_mutable_json_array_agg(); public: - // .pg_query.DiscardStmt discard_stmt = 223 [json_name = "DiscardStmt"]; - bool has_discard_stmt() const; + // .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"]; + bool has_raw_stmt() const; private: - bool _internal_has_discard_stmt() const; + bool _internal_has_raw_stmt() const; public: - void clear_discard_stmt() ; - const ::pg_query::DiscardStmt& discard_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DiscardStmt* release_discard_stmt(); - ::pg_query::DiscardStmt* mutable_discard_stmt(); - void set_allocated_discard_stmt(::pg_query::DiscardStmt* value); - void unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value); - ::pg_query::DiscardStmt* unsafe_arena_release_discard_stmt(); + void clear_raw_stmt() ; + const ::pg_query::RawStmt& raw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RawStmt* release_raw_stmt(); + ::pg_query::RawStmt* mutable_raw_stmt(); + void set_allocated_raw_stmt(::pg_query::RawStmt* value); + void unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value); + ::pg_query::RawStmt* unsafe_arena_release_raw_stmt(); private: - const ::pg_query::DiscardStmt& _internal_discard_stmt() const; - ::pg_query::DiscardStmt* _internal_mutable_discard_stmt(); + const ::pg_query::RawStmt& _internal_raw_stmt() const; + ::pg_query::RawStmt* _internal_mutable_raw_stmt(); public: - // .pg_query.LockStmt lock_stmt = 224 [json_name = "LockStmt"]; - bool has_lock_stmt() const; + // .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"]; + bool has_insert_stmt() const; private: - bool _internal_has_lock_stmt() const; + bool _internal_has_insert_stmt() const; public: - void clear_lock_stmt() ; - const ::pg_query::LockStmt& lock_stmt() const; - PROTOBUF_NODISCARD ::pg_query::LockStmt* release_lock_stmt(); - ::pg_query::LockStmt* mutable_lock_stmt(); - void set_allocated_lock_stmt(::pg_query::LockStmt* value); - void unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value); - ::pg_query::LockStmt* unsafe_arena_release_lock_stmt(); + void clear_insert_stmt() ; + const ::pg_query::InsertStmt& insert_stmt() const; + PROTOBUF_NODISCARD ::pg_query::InsertStmt* release_insert_stmt(); + ::pg_query::InsertStmt* mutable_insert_stmt(); + void set_allocated_insert_stmt(::pg_query::InsertStmt* value); + void unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value); + ::pg_query::InsertStmt* unsafe_arena_release_insert_stmt(); private: - const ::pg_query::LockStmt& _internal_lock_stmt() const; - ::pg_query::LockStmt* _internal_mutable_lock_stmt(); + const ::pg_query::InsertStmt& _internal_insert_stmt() const; + ::pg_query::InsertStmt* _internal_mutable_insert_stmt(); public: - // .pg_query.ConstraintsSetStmt constraints_set_stmt = 225 [json_name = "ConstraintsSetStmt"]; - bool has_constraints_set_stmt() const; + // .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"]; + bool has_delete_stmt() const; private: - bool _internal_has_constraints_set_stmt() const; + bool _internal_has_delete_stmt() const; public: - void clear_constraints_set_stmt() ; - const ::pg_query::ConstraintsSetStmt& constraints_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ConstraintsSetStmt* release_constraints_set_stmt(); - ::pg_query::ConstraintsSetStmt* mutable_constraints_set_stmt(); - void set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); - void unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); - ::pg_query::ConstraintsSetStmt* unsafe_arena_release_constraints_set_stmt(); + void clear_delete_stmt() ; + const ::pg_query::DeleteStmt& delete_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeleteStmt* release_delete_stmt(); + ::pg_query::DeleteStmt* mutable_delete_stmt(); + void set_allocated_delete_stmt(::pg_query::DeleteStmt* value); + void unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value); + ::pg_query::DeleteStmt* unsafe_arena_release_delete_stmt(); private: - const ::pg_query::ConstraintsSetStmt& _internal_constraints_set_stmt() const; - ::pg_query::ConstraintsSetStmt* _internal_mutable_constraints_set_stmt(); + const ::pg_query::DeleteStmt& _internal_delete_stmt() const; + ::pg_query::DeleteStmt* _internal_mutable_delete_stmt(); public: - // .pg_query.ReindexStmt reindex_stmt = 226 [json_name = "ReindexStmt"]; - bool has_reindex_stmt() const; + // .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"]; + bool has_update_stmt() const; private: - bool _internal_has_reindex_stmt() const; + bool _internal_has_update_stmt() const; public: - void clear_reindex_stmt() ; - const ::pg_query::ReindexStmt& reindex_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReindexStmt* release_reindex_stmt(); - ::pg_query::ReindexStmt* mutable_reindex_stmt(); - void set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); - void unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); - ::pg_query::ReindexStmt* unsafe_arena_release_reindex_stmt(); + void clear_update_stmt() ; + const ::pg_query::UpdateStmt& update_stmt() const; + PROTOBUF_NODISCARD ::pg_query::UpdateStmt* release_update_stmt(); + ::pg_query::UpdateStmt* mutable_update_stmt(); + void set_allocated_update_stmt(::pg_query::UpdateStmt* value); + void unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value); + ::pg_query::UpdateStmt* unsafe_arena_release_update_stmt(); private: - const ::pg_query::ReindexStmt& _internal_reindex_stmt() const; - ::pg_query::ReindexStmt* _internal_mutable_reindex_stmt(); + const ::pg_query::UpdateStmt& _internal_update_stmt() const; + ::pg_query::UpdateStmt* _internal_mutable_update_stmt(); public: - // .pg_query.CreateConversionStmt create_conversion_stmt = 227 [json_name = "CreateConversionStmt"]; - bool has_create_conversion_stmt() const; + // .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"]; + bool has_merge_stmt() const; private: - bool _internal_has_create_conversion_stmt() const; + bool _internal_has_merge_stmt() const; public: - void clear_create_conversion_stmt() ; - const ::pg_query::CreateConversionStmt& create_conversion_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateConversionStmt* release_create_conversion_stmt(); - ::pg_query::CreateConversionStmt* mutable_create_conversion_stmt(); - void set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); - void unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); - ::pg_query::CreateConversionStmt* unsafe_arena_release_create_conversion_stmt(); + void clear_merge_stmt() ; + const ::pg_query::MergeStmt& merge_stmt() const; + PROTOBUF_NODISCARD ::pg_query::MergeStmt* release_merge_stmt(); + ::pg_query::MergeStmt* mutable_merge_stmt(); + void set_allocated_merge_stmt(::pg_query::MergeStmt* value); + void unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value); + ::pg_query::MergeStmt* unsafe_arena_release_merge_stmt(); private: - const ::pg_query::CreateConversionStmt& _internal_create_conversion_stmt() const; - ::pg_query::CreateConversionStmt* _internal_mutable_create_conversion_stmt(); + const ::pg_query::MergeStmt& _internal_merge_stmt() const; + ::pg_query::MergeStmt* _internal_mutable_merge_stmt(); public: - // .pg_query.CreateCastStmt create_cast_stmt = 228 [json_name = "CreateCastStmt"]; - bool has_create_cast_stmt() const; + // .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"]; + bool has_select_stmt() const; private: - bool _internal_has_create_cast_stmt() const; + bool _internal_has_select_stmt() const; public: - void clear_create_cast_stmt() ; - const ::pg_query::CreateCastStmt& create_cast_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateCastStmt* release_create_cast_stmt(); - ::pg_query::CreateCastStmt* mutable_create_cast_stmt(); - void set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); - void unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); - ::pg_query::CreateCastStmt* unsafe_arena_release_create_cast_stmt(); + void clear_select_stmt() ; + const ::pg_query::SelectStmt& select_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_select_stmt(); + ::pg_query::SelectStmt* mutable_select_stmt(); + void set_allocated_select_stmt(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_select_stmt(); private: - const ::pg_query::CreateCastStmt& _internal_create_cast_stmt() const; - ::pg_query::CreateCastStmt* _internal_mutable_create_cast_stmt(); + const ::pg_query::SelectStmt& _internal_select_stmt() const; + ::pg_query::SelectStmt* _internal_mutable_select_stmt(); public: - // .pg_query.CreateTransformStmt create_transform_stmt = 229 [json_name = "CreateTransformStmt"]; - bool has_create_transform_stmt() const; + // .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"]; + bool has_set_operation_stmt() const; private: - bool _internal_has_create_transform_stmt() const; + bool _internal_has_set_operation_stmt() const; public: - void clear_create_transform_stmt() ; - const ::pg_query::CreateTransformStmt& create_transform_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTransformStmt* release_create_transform_stmt(); - ::pg_query::CreateTransformStmt* mutable_create_transform_stmt(); - void set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); - void unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); - ::pg_query::CreateTransformStmt* unsafe_arena_release_create_transform_stmt(); + void clear_set_operation_stmt() ; + const ::pg_query::SetOperationStmt& set_operation_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SetOperationStmt* release_set_operation_stmt(); + ::pg_query::SetOperationStmt* mutable_set_operation_stmt(); + void set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); + void unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); + ::pg_query::SetOperationStmt* unsafe_arena_release_set_operation_stmt(); private: - const ::pg_query::CreateTransformStmt& _internal_create_transform_stmt() const; - ::pg_query::CreateTransformStmt* _internal_mutable_create_transform_stmt(); + const ::pg_query::SetOperationStmt& _internal_set_operation_stmt() const; + ::pg_query::SetOperationStmt* _internal_mutable_set_operation_stmt(); public: - // .pg_query.PrepareStmt prepare_stmt = 230 [json_name = "PrepareStmt"]; - bool has_prepare_stmt() const; + // .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"]; + bool has_return_stmt() const; private: - bool _internal_has_prepare_stmt() const; + bool _internal_has_return_stmt() const; public: - void clear_prepare_stmt() ; - const ::pg_query::PrepareStmt& prepare_stmt() const; - PROTOBUF_NODISCARD ::pg_query::PrepareStmt* release_prepare_stmt(); - ::pg_query::PrepareStmt* mutable_prepare_stmt(); - void set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); - void unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); - ::pg_query::PrepareStmt* unsafe_arena_release_prepare_stmt(); + void clear_return_stmt() ; + const ::pg_query::ReturnStmt& return_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReturnStmt* release_return_stmt(); + ::pg_query::ReturnStmt* mutable_return_stmt(); + void set_allocated_return_stmt(::pg_query::ReturnStmt* value); + void unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value); + ::pg_query::ReturnStmt* unsafe_arena_release_return_stmt(); private: - const ::pg_query::PrepareStmt& _internal_prepare_stmt() const; - ::pg_query::PrepareStmt* _internal_mutable_prepare_stmt(); + const ::pg_query::ReturnStmt& _internal_return_stmt() const; + ::pg_query::ReturnStmt* _internal_mutable_return_stmt(); public: - // .pg_query.ExecuteStmt execute_stmt = 231 [json_name = "ExecuteStmt"]; - bool has_execute_stmt() const; + // .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"]; + bool has_plassign_stmt() const; private: - bool _internal_has_execute_stmt() const; + bool _internal_has_plassign_stmt() const; public: - void clear_execute_stmt() ; - const ::pg_query::ExecuteStmt& execute_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ExecuteStmt* release_execute_stmt(); - ::pg_query::ExecuteStmt* mutable_execute_stmt(); - void set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); - void unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); - ::pg_query::ExecuteStmt* unsafe_arena_release_execute_stmt(); - + void clear_plassign_stmt() ; + const ::pg_query::PLAssignStmt& plassign_stmt() const; + PROTOBUF_NODISCARD ::pg_query::PLAssignStmt* release_plassign_stmt(); + ::pg_query::PLAssignStmt* mutable_plassign_stmt(); + void set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); + void unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); + ::pg_query::PLAssignStmt* unsafe_arena_release_plassign_stmt(); + private: - const ::pg_query::ExecuteStmt& _internal_execute_stmt() const; - ::pg_query::ExecuteStmt* _internal_mutable_execute_stmt(); + const ::pg_query::PLAssignStmt& _internal_plassign_stmt() const; + ::pg_query::PLAssignStmt* _internal_mutable_plassign_stmt(); public: - // .pg_query.DeallocateStmt deallocate_stmt = 232 [json_name = "DeallocateStmt"]; - bool has_deallocate_stmt() const; + // .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"]; + bool has_create_schema_stmt() const; private: - bool _internal_has_deallocate_stmt() const; + bool _internal_has_create_schema_stmt() const; public: - void clear_deallocate_stmt() ; - const ::pg_query::DeallocateStmt& deallocate_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeallocateStmt* release_deallocate_stmt(); - ::pg_query::DeallocateStmt* mutable_deallocate_stmt(); - void set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); - void unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); - ::pg_query::DeallocateStmt* unsafe_arena_release_deallocate_stmt(); + void clear_create_schema_stmt() ; + const ::pg_query::CreateSchemaStmt& create_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSchemaStmt* release_create_schema_stmt(); + ::pg_query::CreateSchemaStmt* mutable_create_schema_stmt(); + void set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); + void unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); + ::pg_query::CreateSchemaStmt* unsafe_arena_release_create_schema_stmt(); private: - const ::pg_query::DeallocateStmt& _internal_deallocate_stmt() const; - ::pg_query::DeallocateStmt* _internal_mutable_deallocate_stmt(); + const ::pg_query::CreateSchemaStmt& _internal_create_schema_stmt() const; + ::pg_query::CreateSchemaStmt* _internal_mutable_create_schema_stmt(); public: - // .pg_query.DropOwnedStmt drop_owned_stmt = 233 [json_name = "DropOwnedStmt"]; - bool has_drop_owned_stmt() const; + // .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"]; + bool has_alter_table_stmt() const; private: - bool _internal_has_drop_owned_stmt() const; + bool _internal_has_alter_table_stmt() const; public: - void clear_drop_owned_stmt() ; - const ::pg_query::DropOwnedStmt& drop_owned_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropOwnedStmt* release_drop_owned_stmt(); - ::pg_query::DropOwnedStmt* mutable_drop_owned_stmt(); - void set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); - void unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); - ::pg_query::DropOwnedStmt* unsafe_arena_release_drop_owned_stmt(); + void clear_alter_table_stmt() ; + const ::pg_query::AlterTableStmt& alter_table_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableStmt* release_alter_table_stmt(); + ::pg_query::AlterTableStmt* mutable_alter_table_stmt(); + void set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); + void unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); + ::pg_query::AlterTableStmt* unsafe_arena_release_alter_table_stmt(); private: - const ::pg_query::DropOwnedStmt& _internal_drop_owned_stmt() const; - ::pg_query::DropOwnedStmt* _internal_mutable_drop_owned_stmt(); + const ::pg_query::AlterTableStmt& _internal_alter_table_stmt() const; + ::pg_query::AlterTableStmt* _internal_mutable_alter_table_stmt(); public: - // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 234 [json_name = "ReassignOwnedStmt"]; - bool has_reassign_owned_stmt() const; + // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"]; + bool has_replica_identity_stmt() const; private: - bool _internal_has_reassign_owned_stmt() const; + bool _internal_has_replica_identity_stmt() const; public: - void clear_reassign_owned_stmt() ; - const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReassignOwnedStmt* release_reassign_owned_stmt(); - ::pg_query::ReassignOwnedStmt* mutable_reassign_owned_stmt(); - void set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); - void unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); - ::pg_query::ReassignOwnedStmt* unsafe_arena_release_reassign_owned_stmt(); + void clear_replica_identity_stmt() ; + const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReplicaIdentityStmt* release_replica_identity_stmt(); + ::pg_query::ReplicaIdentityStmt* mutable_replica_identity_stmt(); + void set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); + void unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); + ::pg_query::ReplicaIdentityStmt* unsafe_arena_release_replica_identity_stmt(); private: - const ::pg_query::ReassignOwnedStmt& _internal_reassign_owned_stmt() const; - ::pg_query::ReassignOwnedStmt* _internal_mutable_reassign_owned_stmt(); + const ::pg_query::ReplicaIdentityStmt& _internal_replica_identity_stmt() const; + ::pg_query::ReplicaIdentityStmt* _internal_mutable_replica_identity_stmt(); public: - // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 235 [json_name = "AlterTSDictionaryStmt"]; - bool has_alter_tsdictionary_stmt() const; + // .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"]; + bool has_alter_table_cmd() const; private: - bool _internal_has_alter_tsdictionary_stmt() const; + bool _internal_has_alter_table_cmd() const; public: - void clear_alter_tsdictionary_stmt() ; - const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTSDictionaryStmt* release_alter_tsdictionary_stmt(); - ::pg_query::AlterTSDictionaryStmt* mutable_alter_tsdictionary_stmt(); - void set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); - void unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); - ::pg_query::AlterTSDictionaryStmt* unsafe_arena_release_alter_tsdictionary_stmt(); + void clear_alter_table_cmd() ; + const ::pg_query::AlterTableCmd& alter_table_cmd() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableCmd* release_alter_table_cmd(); + ::pg_query::AlterTableCmd* mutable_alter_table_cmd(); + void set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); + void unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); + ::pg_query::AlterTableCmd* unsafe_arena_release_alter_table_cmd(); private: - const ::pg_query::AlterTSDictionaryStmt& _internal_alter_tsdictionary_stmt() const; - ::pg_query::AlterTSDictionaryStmt* _internal_mutable_alter_tsdictionary_stmt(); + const ::pg_query::AlterTableCmd& _internal_alter_table_cmd() const; + ::pg_query::AlterTableCmd* _internal_mutable_alter_table_cmd(); public: - // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 236 [json_name = "AlterTSConfigurationStmt"]; - bool has_alter_tsconfiguration_stmt() const; + // .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"]; + bool has_alter_collation_stmt() const; private: - bool _internal_has_alter_tsconfiguration_stmt() const; + bool _internal_has_alter_collation_stmt() const; public: - void clear_alter_tsconfiguration_stmt() ; - const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTSConfigurationStmt* release_alter_tsconfiguration_stmt(); - ::pg_query::AlterTSConfigurationStmt* mutable_alter_tsconfiguration_stmt(); - void set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); - void unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); - ::pg_query::AlterTSConfigurationStmt* unsafe_arena_release_alter_tsconfiguration_stmt(); + void clear_alter_collation_stmt() ; + const ::pg_query::AlterCollationStmt& alter_collation_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterCollationStmt* release_alter_collation_stmt(); + ::pg_query::AlterCollationStmt* mutable_alter_collation_stmt(); + void set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); + void unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); + ::pg_query::AlterCollationStmt* unsafe_arena_release_alter_collation_stmt(); private: - const ::pg_query::AlterTSConfigurationStmt& _internal_alter_tsconfiguration_stmt() const; - ::pg_query::AlterTSConfigurationStmt* _internal_mutable_alter_tsconfiguration_stmt(); + const ::pg_query::AlterCollationStmt& _internal_alter_collation_stmt() const; + ::pg_query::AlterCollationStmt* _internal_mutable_alter_collation_stmt(); public: - // .pg_query.PublicationTable publication_table = 237 [json_name = "PublicationTable"]; - bool has_publication_table() const; + // .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"]; + bool has_alter_domain_stmt() const; private: - bool _internal_has_publication_table() const; + bool _internal_has_alter_domain_stmt() const; public: - void clear_publication_table() ; - const ::pg_query::PublicationTable& publication_table() const; - PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_publication_table(); - ::pg_query::PublicationTable* mutable_publication_table(); - void set_allocated_publication_table(::pg_query::PublicationTable* value); - void unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value); - ::pg_query::PublicationTable* unsafe_arena_release_publication_table(); + void clear_alter_domain_stmt() ; + const ::pg_query::AlterDomainStmt& alter_domain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDomainStmt* release_alter_domain_stmt(); + ::pg_query::AlterDomainStmt* mutable_alter_domain_stmt(); + void set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); + void unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); + ::pg_query::AlterDomainStmt* unsafe_arena_release_alter_domain_stmt(); private: - const ::pg_query::PublicationTable& _internal_publication_table() const; - ::pg_query::PublicationTable* _internal_mutable_publication_table(); + const ::pg_query::AlterDomainStmt& _internal_alter_domain_stmt() const; + ::pg_query::AlterDomainStmt* _internal_mutable_alter_domain_stmt(); public: - // .pg_query.PublicationObjSpec publication_obj_spec = 238 [json_name = "PublicationObjSpec"]; - bool has_publication_obj_spec() const; + // .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"]; + bool has_grant_stmt() const; private: - bool _internal_has_publication_obj_spec() const; + bool _internal_has_grant_stmt() const; public: - void clear_publication_obj_spec() ; - const ::pg_query::PublicationObjSpec& publication_obj_spec() const; - PROTOBUF_NODISCARD ::pg_query::PublicationObjSpec* release_publication_obj_spec(); - ::pg_query::PublicationObjSpec* mutable_publication_obj_spec(); - void set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); - void unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); - ::pg_query::PublicationObjSpec* unsafe_arena_release_publication_obj_spec(); + void clear_grant_stmt() ; + const ::pg_query::GrantStmt& grant_stmt() const; + PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_grant_stmt(); + ::pg_query::GrantStmt* mutable_grant_stmt(); + void set_allocated_grant_stmt(::pg_query::GrantStmt* value); + void unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value); + ::pg_query::GrantStmt* unsafe_arena_release_grant_stmt(); private: - const ::pg_query::PublicationObjSpec& _internal_publication_obj_spec() const; - ::pg_query::PublicationObjSpec* _internal_mutable_publication_obj_spec(); + const ::pg_query::GrantStmt& _internal_grant_stmt() const; + ::pg_query::GrantStmt* _internal_mutable_grant_stmt(); public: - // .pg_query.CreatePublicationStmt create_publication_stmt = 239 [json_name = "CreatePublicationStmt"]; - bool has_create_publication_stmt() const; + // .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"]; + bool has_object_with_args() const; private: - bool _internal_has_create_publication_stmt() const; + bool _internal_has_object_with_args() const; public: - void clear_create_publication_stmt() ; - const ::pg_query::CreatePublicationStmt& create_publication_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePublicationStmt* release_create_publication_stmt(); - ::pg_query::CreatePublicationStmt* mutable_create_publication_stmt(); - void set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); - void unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); - ::pg_query::CreatePublicationStmt* unsafe_arena_release_create_publication_stmt(); + void clear_object_with_args() ; + const ::pg_query::ObjectWithArgs& object_with_args() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_object_with_args(); + ::pg_query::ObjectWithArgs* mutable_object_with_args(); + void set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_object_with_args(); private: - const ::pg_query::CreatePublicationStmt& _internal_create_publication_stmt() const; - ::pg_query::CreatePublicationStmt* _internal_mutable_create_publication_stmt(); + const ::pg_query::ObjectWithArgs& _internal_object_with_args() const; + ::pg_query::ObjectWithArgs* _internal_mutable_object_with_args(); public: - // .pg_query.AlterPublicationStmt alter_publication_stmt = 240 [json_name = "AlterPublicationStmt"]; - bool has_alter_publication_stmt() const; + // .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"]; + bool has_access_priv() const; private: - bool _internal_has_alter_publication_stmt() const; + bool _internal_has_access_priv() const; public: - void clear_alter_publication_stmt() ; - const ::pg_query::AlterPublicationStmt& alter_publication_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterPublicationStmt* release_alter_publication_stmt(); - ::pg_query::AlterPublicationStmt* mutable_alter_publication_stmt(); - void set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); - void unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); - ::pg_query::AlterPublicationStmt* unsafe_arena_release_alter_publication_stmt(); + void clear_access_priv() ; + const ::pg_query::AccessPriv& access_priv() const; + PROTOBUF_NODISCARD ::pg_query::AccessPriv* release_access_priv(); + ::pg_query::AccessPriv* mutable_access_priv(); + void set_allocated_access_priv(::pg_query::AccessPriv* value); + void unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value); + ::pg_query::AccessPriv* unsafe_arena_release_access_priv(); private: - const ::pg_query::AlterPublicationStmt& _internal_alter_publication_stmt() const; - ::pg_query::AlterPublicationStmt* _internal_mutable_alter_publication_stmt(); + const ::pg_query::AccessPriv& _internal_access_priv() const; + ::pg_query::AccessPriv* _internal_mutable_access_priv(); public: - // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 241 [json_name = "CreateSubscriptionStmt"]; - bool has_create_subscription_stmt() const; + // .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"]; + bool has_grant_role_stmt() const; private: - bool _internal_has_create_subscription_stmt() const; + bool _internal_has_grant_role_stmt() const; public: - void clear_create_subscription_stmt() ; - const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSubscriptionStmt* release_create_subscription_stmt(); - ::pg_query::CreateSubscriptionStmt* mutable_create_subscription_stmt(); - void set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); - void unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); - ::pg_query::CreateSubscriptionStmt* unsafe_arena_release_create_subscription_stmt(); + void clear_grant_role_stmt() ; + const ::pg_query::GrantRoleStmt& grant_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::GrantRoleStmt* release_grant_role_stmt(); + ::pg_query::GrantRoleStmt* mutable_grant_role_stmt(); + void set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); + void unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); + ::pg_query::GrantRoleStmt* unsafe_arena_release_grant_role_stmt(); private: - const ::pg_query::CreateSubscriptionStmt& _internal_create_subscription_stmt() const; - ::pg_query::CreateSubscriptionStmt* _internal_mutable_create_subscription_stmt(); + const ::pg_query::GrantRoleStmt& _internal_grant_role_stmt() const; + ::pg_query::GrantRoleStmt* _internal_mutable_grant_role_stmt(); public: - // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 242 [json_name = "AlterSubscriptionStmt"]; - bool has_alter_subscription_stmt() const; + // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"]; + bool has_alter_default_privileges_stmt() const; private: - bool _internal_has_alter_subscription_stmt() const; + bool _internal_has_alter_default_privileges_stmt() const; public: - void clear_alter_subscription_stmt() ; - const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSubscriptionStmt* release_alter_subscription_stmt(); - ::pg_query::AlterSubscriptionStmt* mutable_alter_subscription_stmt(); - void set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); - void unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); - ::pg_query::AlterSubscriptionStmt* unsafe_arena_release_alter_subscription_stmt(); + void clear_alter_default_privileges_stmt() ; + const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDefaultPrivilegesStmt* release_alter_default_privileges_stmt(); + ::pg_query::AlterDefaultPrivilegesStmt* mutable_alter_default_privileges_stmt(); + void set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); + void unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); + ::pg_query::AlterDefaultPrivilegesStmt* unsafe_arena_release_alter_default_privileges_stmt(); private: - const ::pg_query::AlterSubscriptionStmt& _internal_alter_subscription_stmt() const; - ::pg_query::AlterSubscriptionStmt* _internal_mutable_alter_subscription_stmt(); + const ::pg_query::AlterDefaultPrivilegesStmt& _internal_alter_default_privileges_stmt() const; + ::pg_query::AlterDefaultPrivilegesStmt* _internal_mutable_alter_default_privileges_stmt(); public: - // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 243 [json_name = "DropSubscriptionStmt"]; - bool has_drop_subscription_stmt() const; + // .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"]; + bool has_copy_stmt() const; private: - bool _internal_has_drop_subscription_stmt() const; + bool _internal_has_copy_stmt() const; public: - void clear_drop_subscription_stmt() ; - const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropSubscriptionStmt* release_drop_subscription_stmt(); - ::pg_query::DropSubscriptionStmt* mutable_drop_subscription_stmt(); - void set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); - void unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); - ::pg_query::DropSubscriptionStmt* unsafe_arena_release_drop_subscription_stmt(); + void clear_copy_stmt() ; + const ::pg_query::CopyStmt& copy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CopyStmt* release_copy_stmt(); + ::pg_query::CopyStmt* mutable_copy_stmt(); + void set_allocated_copy_stmt(::pg_query::CopyStmt* value); + void unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value); + ::pg_query::CopyStmt* unsafe_arena_release_copy_stmt(); private: - const ::pg_query::DropSubscriptionStmt& _internal_drop_subscription_stmt() const; - ::pg_query::DropSubscriptionStmt* _internal_mutable_drop_subscription_stmt(); + const ::pg_query::CopyStmt& _internal_copy_stmt() const; + ::pg_query::CopyStmt* _internal_mutable_copy_stmt(); public: - // .pg_query.Integer integer = 244 [json_name = "Integer"]; - bool has_integer() const; + // .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"]; + bool has_variable_set_stmt() const; private: - bool _internal_has_integer() const; + bool _internal_has_variable_set_stmt() const; public: - void clear_integer() ; - const ::pg_query::Integer& integer() const; - PROTOBUF_NODISCARD ::pg_query::Integer* release_integer(); - ::pg_query::Integer* mutable_integer(); - void set_allocated_integer(::pg_query::Integer* value); - void unsafe_arena_set_allocated_integer(::pg_query::Integer* value); - ::pg_query::Integer* unsafe_arena_release_integer(); + void clear_variable_set_stmt() ; + const ::pg_query::VariableSetStmt& variable_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_variable_set_stmt(); + ::pg_query::VariableSetStmt* mutable_variable_set_stmt(); + void set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); + void unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); + ::pg_query::VariableSetStmt* unsafe_arena_release_variable_set_stmt(); private: - const ::pg_query::Integer& _internal_integer() const; - ::pg_query::Integer* _internal_mutable_integer(); + const ::pg_query::VariableSetStmt& _internal_variable_set_stmt() const; + ::pg_query::VariableSetStmt* _internal_mutable_variable_set_stmt(); public: - // .pg_query.Float float = 245 [json_name = "Float"]; - bool has_float_() const; + // .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"]; + bool has_variable_show_stmt() const; private: - bool _internal_has_float_() const; + bool _internal_has_variable_show_stmt() const; public: - void clear_float_() ; - const ::pg_query::Float& float_() const; - PROTOBUF_NODISCARD ::pg_query::Float* release_float_(); - ::pg_query::Float* mutable_float_(); - void set_allocated_float_(::pg_query::Float* value); - void unsafe_arena_set_allocated_float_(::pg_query::Float* value); - ::pg_query::Float* unsafe_arena_release_float_(); + void clear_variable_show_stmt() ; + const ::pg_query::VariableShowStmt& variable_show_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableShowStmt* release_variable_show_stmt(); + ::pg_query::VariableShowStmt* mutable_variable_show_stmt(); + void set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); + void unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); + ::pg_query::VariableShowStmt* unsafe_arena_release_variable_show_stmt(); private: - const ::pg_query::Float& _internal_float_() const; - ::pg_query::Float* _internal_mutable_float_(); + const ::pg_query::VariableShowStmt& _internal_variable_show_stmt() const; + ::pg_query::VariableShowStmt* _internal_mutable_variable_show_stmt(); public: - // .pg_query.Boolean boolean = 246 [json_name = "Boolean"]; - bool has_boolean() const; + // .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"]; + bool has_create_stmt() const; private: - bool _internal_has_boolean() const; + bool _internal_has_create_stmt() const; public: - void clear_boolean() ; - const ::pg_query::Boolean& boolean() const; - PROTOBUF_NODISCARD ::pg_query::Boolean* release_boolean(); - ::pg_query::Boolean* mutable_boolean(); - void set_allocated_boolean(::pg_query::Boolean* value); - void unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value); - ::pg_query::Boolean* unsafe_arena_release_boolean(); + void clear_create_stmt() ; + const ::pg_query::CreateStmt& create_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_create_stmt(); + ::pg_query::CreateStmt* mutable_create_stmt(); + void set_allocated_create_stmt(::pg_query::CreateStmt* value); + void unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value); + ::pg_query::CreateStmt* unsafe_arena_release_create_stmt(); private: - const ::pg_query::Boolean& _internal_boolean() const; - ::pg_query::Boolean* _internal_mutable_boolean(); + const ::pg_query::CreateStmt& _internal_create_stmt() const; + ::pg_query::CreateStmt* _internal_mutable_create_stmt(); public: - // .pg_query.String string = 247 [json_name = "String"]; - bool has_string() const; + // .pg_query.Constraint constraint = 155 [json_name = "Constraint"]; + bool has_constraint() const; private: - bool _internal_has_string() const; + bool _internal_has_constraint() const; public: - void clear_string() ; - const ::pg_query::String& string() const; - PROTOBUF_NODISCARD ::pg_query::String* release_string(); - ::pg_query::String* mutable_string(); - void set_allocated_string(::pg_query::String* value); - void unsafe_arena_set_allocated_string(::pg_query::String* value); - ::pg_query::String* unsafe_arena_release_string(); + void clear_constraint() ; + const ::pg_query::Constraint& constraint() const; + PROTOBUF_NODISCARD ::pg_query::Constraint* release_constraint(); + ::pg_query::Constraint* mutable_constraint(); + void set_allocated_constraint(::pg_query::Constraint* value); + void unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value); + ::pg_query::Constraint* unsafe_arena_release_constraint(); private: - const ::pg_query::String& _internal_string() const; - ::pg_query::String* _internal_mutable_string(); + const ::pg_query::Constraint& _internal_constraint() const; + ::pg_query::Constraint* _internal_mutable_constraint(); public: - // .pg_query.BitString bit_string = 248 [json_name = "BitString"]; - bool has_bit_string() const; + // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"]; + bool has_create_table_space_stmt() const; private: - bool _internal_has_bit_string() const; + bool _internal_has_create_table_space_stmt() const; public: - void clear_bit_string() ; - const ::pg_query::BitString& bit_string() const; - PROTOBUF_NODISCARD ::pg_query::BitString* release_bit_string(); - ::pg_query::BitString* mutable_bit_string(); - void set_allocated_bit_string(::pg_query::BitString* value); - void unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value); - ::pg_query::BitString* unsafe_arena_release_bit_string(); + void clear_create_table_space_stmt() ; + const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTableSpaceStmt* release_create_table_space_stmt(); + ::pg_query::CreateTableSpaceStmt* mutable_create_table_space_stmt(); + void set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); + void unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); + ::pg_query::CreateTableSpaceStmt* unsafe_arena_release_create_table_space_stmt(); private: - const ::pg_query::BitString& _internal_bit_string() const; - ::pg_query::BitString* _internal_mutable_bit_string(); + const ::pg_query::CreateTableSpaceStmt& _internal_create_table_space_stmt() const; + ::pg_query::CreateTableSpaceStmt* _internal_mutable_create_table_space_stmt(); public: - // .pg_query.List list = 249 [json_name = "List"]; - bool has_list() const; + // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"]; + bool has_drop_table_space_stmt() const; private: - bool _internal_has_list() const; + bool _internal_has_drop_table_space_stmt() const; public: - void clear_list() ; - const ::pg_query::List& list() const; - PROTOBUF_NODISCARD ::pg_query::List* release_list(); - ::pg_query::List* mutable_list(); - void set_allocated_list(::pg_query::List* value); - void unsafe_arena_set_allocated_list(::pg_query::List* value); - ::pg_query::List* unsafe_arena_release_list(); + void clear_drop_table_space_stmt() ; + const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropTableSpaceStmt* release_drop_table_space_stmt(); + ::pg_query::DropTableSpaceStmt* mutable_drop_table_space_stmt(); + void set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); + void unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); + ::pg_query::DropTableSpaceStmt* unsafe_arena_release_drop_table_space_stmt(); private: - const ::pg_query::List& _internal_list() const; - ::pg_query::List* _internal_mutable_list(); + const ::pg_query::DropTableSpaceStmt& _internal_drop_table_space_stmt() const; + ::pg_query::DropTableSpaceStmt* _internal_mutable_drop_table_space_stmt(); public: - // .pg_query.IntList int_list = 250 [json_name = "IntList"]; - bool has_int_list() const; + // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"]; + bool has_alter_table_space_options_stmt() const; private: - bool _internal_has_int_list() const; + bool _internal_has_alter_table_space_options_stmt() const; public: - void clear_int_list() ; - const ::pg_query::IntList& int_list() const; - PROTOBUF_NODISCARD ::pg_query::IntList* release_int_list(); - ::pg_query::IntList* mutable_int_list(); - void set_allocated_int_list(::pg_query::IntList* value); - void unsafe_arena_set_allocated_int_list(::pg_query::IntList* value); - ::pg_query::IntList* unsafe_arena_release_int_list(); + void clear_alter_table_space_options_stmt() ; + const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableSpaceOptionsStmt* release_alter_table_space_options_stmt(); + ::pg_query::AlterTableSpaceOptionsStmt* mutable_alter_table_space_options_stmt(); + void set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); + void unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); + ::pg_query::AlterTableSpaceOptionsStmt* unsafe_arena_release_alter_table_space_options_stmt(); private: - const ::pg_query::IntList& _internal_int_list() const; - ::pg_query::IntList* _internal_mutable_int_list(); + const ::pg_query::AlterTableSpaceOptionsStmt& _internal_alter_table_space_options_stmt() const; + ::pg_query::AlterTableSpaceOptionsStmt* _internal_mutable_alter_table_space_options_stmt(); public: - // .pg_query.OidList oid_list = 251 [json_name = "OidList"]; - bool has_oid_list() const; + // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"]; + bool has_alter_table_move_all_stmt() const; private: - bool _internal_has_oid_list() const; + bool _internal_has_alter_table_move_all_stmt() const; public: - void clear_oid_list() ; - const ::pg_query::OidList& oid_list() const; - PROTOBUF_NODISCARD ::pg_query::OidList* release_oid_list(); - ::pg_query::OidList* mutable_oid_list(); - void set_allocated_oid_list(::pg_query::OidList* value); - void unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value); - ::pg_query::OidList* unsafe_arena_release_oid_list(); + void clear_alter_table_move_all_stmt() ; + const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableMoveAllStmt* release_alter_table_move_all_stmt(); + ::pg_query::AlterTableMoveAllStmt* mutable_alter_table_move_all_stmt(); + void set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); + void unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); + ::pg_query::AlterTableMoveAllStmt* unsafe_arena_release_alter_table_move_all_stmt(); private: - const ::pg_query::OidList& _internal_oid_list() const; - ::pg_query::OidList* _internal_mutable_oid_list(); + const ::pg_query::AlterTableMoveAllStmt& _internal_alter_table_move_all_stmt() const; + ::pg_query::AlterTableMoveAllStmt* _internal_mutable_alter_table_move_all_stmt(); public: - // .pg_query.A_Const a_const = 252 [json_name = "A_Const"]; - bool has_a_const() const; + // .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"]; + bool has_create_extension_stmt() const; private: - bool _internal_has_a_const() const; + bool _internal_has_create_extension_stmt() const; public: - void clear_a_const() ; - const ::pg_query::A_Const& a_const() const; - PROTOBUF_NODISCARD ::pg_query::A_Const* release_a_const(); - ::pg_query::A_Const* mutable_a_const(); - void set_allocated_a_const(::pg_query::A_Const* value); - void unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value); - ::pg_query::A_Const* unsafe_arena_release_a_const(); + void clear_create_extension_stmt() ; + const ::pg_query::CreateExtensionStmt& create_extension_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateExtensionStmt* release_create_extension_stmt(); + ::pg_query::CreateExtensionStmt* mutable_create_extension_stmt(); + void set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); + void unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); + ::pg_query::CreateExtensionStmt* unsafe_arena_release_create_extension_stmt(); private: - const ::pg_query::A_Const& _internal_a_const() const; - ::pg_query::A_Const* _internal_mutable_a_const(); + const ::pg_query::CreateExtensionStmt& _internal_create_extension_stmt() const; + ::pg_query::CreateExtensionStmt* _internal_mutable_create_extension_stmt(); public: - void clear_node(); - NodeCase node_case() const; - // @@protoc_insertion_point(class_scope:pg_query.Node) - private: - class _Internal; - void set_has_alias(); - void set_has_range_var(); - void set_has_table_func(); - void set_has_into_clause(); - void set_has_var(); - void set_has_param(); - void set_has_aggref(); - void set_has_grouping_func(); - void set_has_window_func(); - void set_has_subscripting_ref(); - void set_has_func_expr(); - void set_has_named_arg_expr(); - void set_has_op_expr(); - void set_has_distinct_expr(); - void set_has_null_if_expr(); - void set_has_scalar_array_op_expr(); - void set_has_bool_expr(); - void set_has_sub_link(); - void set_has_sub_plan(); - void set_has_alternative_sub_plan(); - void set_has_field_select(); - void set_has_field_store(); - void set_has_relabel_type(); - void set_has_coerce_via_io(); - void set_has_array_coerce_expr(); - void set_has_convert_rowtype_expr(); - void set_has_collate_expr(); - void set_has_case_expr(); - void set_has_case_when(); - void set_has_case_test_expr(); - void set_has_array_expr(); - void set_has_row_expr(); - void set_has_row_compare_expr(); - void set_has_coalesce_expr(); - void set_has_min_max_expr(); - void set_has_sqlvalue_function(); - void set_has_xml_expr(); - void set_has_json_format(); - void set_has_json_returning(); - void set_has_json_value_expr(); - void set_has_json_constructor_expr(); - void set_has_json_is_predicate(); - void set_has_null_test(); - void set_has_boolean_test(); - void set_has_coerce_to_domain(); - void set_has_coerce_to_domain_value(); - void set_has_set_to_default(); - void set_has_current_of_expr(); - void set_has_next_value_expr(); - void set_has_inference_elem(); - void set_has_target_entry(); - void set_has_range_tbl_ref(); - void set_has_join_expr(); - void set_has_from_expr(); - void set_has_on_conflict_expr(); - void set_has_query(); - void set_has_type_name(); - void set_has_column_ref(); - void set_has_param_ref(); - void set_has_a_expr(); - void set_has_type_cast(); - void set_has_collate_clause(); - void set_has_role_spec(); - void set_has_func_call(); - void set_has_a_star(); - void set_has_a_indices(); - void set_has_a_indirection(); - void set_has_a_array_expr(); - void set_has_res_target(); - void set_has_multi_assign_ref(); - void set_has_sort_by(); - void set_has_window_def(); - void set_has_range_subselect(); - void set_has_range_function(); - void set_has_range_table_func(); - void set_has_range_table_func_col(); - void set_has_range_table_sample(); - void set_has_column_def(); - void set_has_table_like_clause(); - void set_has_index_elem(); - void set_has_def_elem(); - void set_has_locking_clause(); - void set_has_xml_serialize(); - void set_has_partition_elem(); - void set_has_partition_spec(); - void set_has_partition_bound_spec(); - void set_has_partition_range_datum(); - void set_has_partition_cmd(); - void set_has_range_tbl_entry(); - void set_has_rtepermission_info(); - void set_has_range_tbl_function(); - void set_has_table_sample_clause(); - void set_has_with_check_option(); - void set_has_sort_group_clause(); - void set_has_grouping_set(); - void set_has_window_clause(); - void set_has_row_mark_clause(); - void set_has_with_clause(); - void set_has_infer_clause(); - void set_has_on_conflict_clause(); - void set_has_ctesearch_clause(); - void set_has_ctecycle_clause(); - void set_has_common_table_expr(); - void set_has_merge_when_clause(); - void set_has_merge_action(); - void set_has_trigger_transition(); - void set_has_json_output(); - void set_has_json_key_value(); - void set_has_json_object_constructor(); - void set_has_json_array_constructor(); - void set_has_json_array_query_constructor(); - void set_has_json_agg_constructor(); - void set_has_json_object_agg(); - void set_has_json_array_agg(); - void set_has_raw_stmt(); - void set_has_insert_stmt(); - void set_has_delete_stmt(); - void set_has_update_stmt(); - void set_has_merge_stmt(); - void set_has_select_stmt(); - void set_has_set_operation_stmt(); - void set_has_return_stmt(); - void set_has_plassign_stmt(); - void set_has_create_schema_stmt(); - void set_has_alter_table_stmt(); - void set_has_replica_identity_stmt(); - void set_has_alter_table_cmd(); - void set_has_alter_collation_stmt(); - void set_has_alter_domain_stmt(); - void set_has_grant_stmt(); - void set_has_object_with_args(); - void set_has_access_priv(); - void set_has_grant_role_stmt(); - void set_has_alter_default_privileges_stmt(); - void set_has_copy_stmt(); - void set_has_variable_set_stmt(); - void set_has_variable_show_stmt(); - void set_has_create_stmt(); - void set_has_constraint(); - void set_has_create_table_space_stmt(); - void set_has_drop_table_space_stmt(); - void set_has_alter_table_space_options_stmt(); - void set_has_alter_table_move_all_stmt(); - void set_has_create_extension_stmt(); - void set_has_alter_extension_stmt(); - void set_has_alter_extension_contents_stmt(); - void set_has_create_fdw_stmt(); - void set_has_alter_fdw_stmt(); - void set_has_create_foreign_server_stmt(); - void set_has_alter_foreign_server_stmt(); - void set_has_create_foreign_table_stmt(); - void set_has_create_user_mapping_stmt(); - void set_has_alter_user_mapping_stmt(); - void set_has_drop_user_mapping_stmt(); - void set_has_import_foreign_schema_stmt(); - void set_has_create_policy_stmt(); - void set_has_alter_policy_stmt(); - void set_has_create_am_stmt(); - void set_has_create_trig_stmt(); - void set_has_create_event_trig_stmt(); - void set_has_alter_event_trig_stmt(); - void set_has_create_plang_stmt(); - void set_has_create_role_stmt(); - void set_has_alter_role_stmt(); - void set_has_alter_role_set_stmt(); - void set_has_drop_role_stmt(); - void set_has_create_seq_stmt(); - void set_has_alter_seq_stmt(); - void set_has_define_stmt(); - void set_has_create_domain_stmt(); - void set_has_create_op_class_stmt(); - void set_has_create_op_class_item(); - void set_has_create_op_family_stmt(); - void set_has_alter_op_family_stmt(); - void set_has_drop_stmt(); - void set_has_truncate_stmt(); - void set_has_comment_stmt(); - void set_has_sec_label_stmt(); - void set_has_declare_cursor_stmt(); - void set_has_close_portal_stmt(); - void set_has_fetch_stmt(); - void set_has_index_stmt(); - void set_has_create_stats_stmt(); - void set_has_stats_elem(); - void set_has_alter_stats_stmt(); - void set_has_create_function_stmt(); - void set_has_function_parameter(); - void set_has_alter_function_stmt(); - void set_has_do_stmt(); - void set_has_inline_code_block(); - void set_has_call_stmt(); - void set_has_call_context(); - void set_has_rename_stmt(); - void set_has_alter_object_depends_stmt(); - void set_has_alter_object_schema_stmt(); - void set_has_alter_owner_stmt(); - void set_has_alter_operator_stmt(); - void set_has_alter_type_stmt(); - void set_has_rule_stmt(); - void set_has_notify_stmt(); - void set_has_listen_stmt(); - void set_has_unlisten_stmt(); - void set_has_transaction_stmt(); - void set_has_composite_type_stmt(); - void set_has_create_enum_stmt(); - void set_has_create_range_stmt(); - void set_has_alter_enum_stmt(); - void set_has_view_stmt(); - void set_has_load_stmt(); - void set_has_createdb_stmt(); - void set_has_alter_database_stmt(); - void set_has_alter_database_refresh_coll_stmt(); - void set_has_alter_database_set_stmt(); - void set_has_dropdb_stmt(); - void set_has_alter_system_stmt(); - void set_has_cluster_stmt(); - void set_has_vacuum_stmt(); - void set_has_vacuum_relation(); - void set_has_explain_stmt(); - void set_has_create_table_as_stmt(); - void set_has_refresh_mat_view_stmt(); - void set_has_check_point_stmt(); - void set_has_discard_stmt(); - void set_has_lock_stmt(); - void set_has_constraints_set_stmt(); - void set_has_reindex_stmt(); - void set_has_create_conversion_stmt(); - void set_has_create_cast_stmt(); - void set_has_create_transform_stmt(); - void set_has_prepare_stmt(); - void set_has_execute_stmt(); - void set_has_deallocate_stmt(); - void set_has_drop_owned_stmt(); - void set_has_reassign_owned_stmt(); - void set_has_alter_tsdictionary_stmt(); - void set_has_alter_tsconfiguration_stmt(); - void set_has_publication_table(); - void set_has_publication_obj_spec(); - void set_has_create_publication_stmt(); - void set_has_alter_publication_stmt(); - void set_has_create_subscription_stmt(); - void set_has_alter_subscription_stmt(); - void set_has_drop_subscription_stmt(); - void set_has_integer(); - void set_has_float_(); - void set_has_boolean(); - void set_has_string(); - void set_has_bit_string(); - void set_has_list(); - void set_has_int_list(); - void set_has_oid_list(); - void set_has_a_const(); - - inline bool has_node() const; - inline void clear_has_node(); + // .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"]; + bool has_alter_extension_stmt() const; + private: + bool _internal_has_alter_extension_stmt() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 252, 252, - 0, 33> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + public: + void clear_alter_extension_stmt() ; + const ::pg_query::AlterExtensionStmt& alter_extension_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterExtensionStmt* release_alter_extension_stmt(); + ::pg_query::AlterExtensionStmt* mutable_alter_extension_stmt(); + void set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); + void unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); + ::pg_query::AlterExtensionStmt* unsafe_arena_release_alter_extension_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - union NodeUnion { - constexpr NodeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::pg_query::Alias* alias_; - ::pg_query::RangeVar* range_var_; - ::pg_query::TableFunc* table_func_; - ::pg_query::IntoClause* into_clause_; - ::pg_query::Var* var_; - ::pg_query::Param* param_; - ::pg_query::Aggref* aggref_; - ::pg_query::GroupingFunc* grouping_func_; - ::pg_query::WindowFunc* window_func_; - ::pg_query::SubscriptingRef* subscripting_ref_; - ::pg_query::FuncExpr* func_expr_; - ::pg_query::NamedArgExpr* named_arg_expr_; - ::pg_query::OpExpr* op_expr_; - ::pg_query::DistinctExpr* distinct_expr_; - ::pg_query::NullIfExpr* null_if_expr_; - ::pg_query::ScalarArrayOpExpr* scalar_array_op_expr_; - ::pg_query::BoolExpr* bool_expr_; - ::pg_query::SubLink* sub_link_; - ::pg_query::SubPlan* sub_plan_; - ::pg_query::AlternativeSubPlan* alternative_sub_plan_; - ::pg_query::FieldSelect* field_select_; - ::pg_query::FieldStore* field_store_; - ::pg_query::RelabelType* relabel_type_; - ::pg_query::CoerceViaIO* coerce_via_io_; - ::pg_query::ArrayCoerceExpr* array_coerce_expr_; - ::pg_query::ConvertRowtypeExpr* convert_rowtype_expr_; - ::pg_query::CollateExpr* collate_expr_; - ::pg_query::CaseExpr* case_expr_; - ::pg_query::CaseWhen* case_when_; - ::pg_query::CaseTestExpr* case_test_expr_; - ::pg_query::ArrayExpr* array_expr_; - ::pg_query::RowExpr* row_expr_; - ::pg_query::RowCompareExpr* row_compare_expr_; - ::pg_query::CoalesceExpr* coalesce_expr_; - ::pg_query::MinMaxExpr* min_max_expr_; - ::pg_query::SQLValueFunction* sqlvalue_function_; - ::pg_query::XmlExpr* xml_expr_; - ::pg_query::JsonFormat* json_format_; - ::pg_query::JsonReturning* json_returning_; - ::pg_query::JsonValueExpr* json_value_expr_; - ::pg_query::JsonConstructorExpr* json_constructor_expr_; - ::pg_query::JsonIsPredicate* json_is_predicate_; - ::pg_query::NullTest* null_test_; - ::pg_query::BooleanTest* boolean_test_; - ::pg_query::CoerceToDomain* coerce_to_domain_; - ::pg_query::CoerceToDomainValue* coerce_to_domain_value_; - ::pg_query::SetToDefault* set_to_default_; - ::pg_query::CurrentOfExpr* current_of_expr_; - ::pg_query::NextValueExpr* next_value_expr_; - ::pg_query::InferenceElem* inference_elem_; - ::pg_query::TargetEntry* target_entry_; - ::pg_query::RangeTblRef* range_tbl_ref_; - ::pg_query::JoinExpr* join_expr_; - ::pg_query::FromExpr* from_expr_; - ::pg_query::OnConflictExpr* on_conflict_expr_; - ::pg_query::Query* query_; - ::pg_query::TypeName* type_name_; - ::pg_query::ColumnRef* column_ref_; - ::pg_query::ParamRef* param_ref_; - ::pg_query::A_Expr* a_expr_; - ::pg_query::TypeCast* type_cast_; - ::pg_query::CollateClause* collate_clause_; - ::pg_query::RoleSpec* role_spec_; - ::pg_query::FuncCall* func_call_; - ::pg_query::A_Star* a_star_; - ::pg_query::A_Indices* a_indices_; - ::pg_query::A_Indirection* a_indirection_; - ::pg_query::A_ArrayExpr* a_array_expr_; - ::pg_query::ResTarget* res_target_; - ::pg_query::MultiAssignRef* multi_assign_ref_; - ::pg_query::SortBy* sort_by_; - ::pg_query::WindowDef* window_def_; - ::pg_query::RangeSubselect* range_subselect_; - ::pg_query::RangeFunction* range_function_; - ::pg_query::RangeTableFunc* range_table_func_; - ::pg_query::RangeTableFuncCol* range_table_func_col_; - ::pg_query::RangeTableSample* range_table_sample_; - ::pg_query::ColumnDef* column_def_; - ::pg_query::TableLikeClause* table_like_clause_; - ::pg_query::IndexElem* index_elem_; - ::pg_query::DefElem* def_elem_; - ::pg_query::LockingClause* locking_clause_; - ::pg_query::XmlSerialize* xml_serialize_; - ::pg_query::PartitionElem* partition_elem_; - ::pg_query::PartitionSpec* partition_spec_; - ::pg_query::PartitionBoundSpec* partition_bound_spec_; - ::pg_query::PartitionRangeDatum* partition_range_datum_; - ::pg_query::PartitionCmd* partition_cmd_; - ::pg_query::RangeTblEntry* range_tbl_entry_; - ::pg_query::RTEPermissionInfo* rtepermission_info_; - ::pg_query::RangeTblFunction* range_tbl_function_; - ::pg_query::TableSampleClause* table_sample_clause_; - ::pg_query::WithCheckOption* with_check_option_; - ::pg_query::SortGroupClause* sort_group_clause_; - ::pg_query::GroupingSet* grouping_set_; - ::pg_query::WindowClause* window_clause_; - ::pg_query::RowMarkClause* row_mark_clause_; - ::pg_query::WithClause* with_clause_; - ::pg_query::InferClause* infer_clause_; - ::pg_query::OnConflictClause* on_conflict_clause_; - ::pg_query::CTESearchClause* ctesearch_clause_; - ::pg_query::CTECycleClause* ctecycle_clause_; - ::pg_query::CommonTableExpr* common_table_expr_; - ::pg_query::MergeWhenClause* merge_when_clause_; - ::pg_query::MergeAction* merge_action_; - ::pg_query::TriggerTransition* trigger_transition_; - ::pg_query::JsonOutput* json_output_; - ::pg_query::JsonKeyValue* json_key_value_; - ::pg_query::JsonObjectConstructor* json_object_constructor_; - ::pg_query::JsonArrayConstructor* json_array_constructor_; - ::pg_query::JsonArrayQueryConstructor* json_array_query_constructor_; - ::pg_query::JsonAggConstructor* json_agg_constructor_; - ::pg_query::JsonObjectAgg* json_object_agg_; - ::pg_query::JsonArrayAgg* json_array_agg_; - ::pg_query::RawStmt* raw_stmt_; - ::pg_query::InsertStmt* insert_stmt_; - ::pg_query::DeleteStmt* delete_stmt_; - ::pg_query::UpdateStmt* update_stmt_; - ::pg_query::MergeStmt* merge_stmt_; - ::pg_query::SelectStmt* select_stmt_; - ::pg_query::SetOperationStmt* set_operation_stmt_; - ::pg_query::ReturnStmt* return_stmt_; - ::pg_query::PLAssignStmt* plassign_stmt_; - ::pg_query::CreateSchemaStmt* create_schema_stmt_; - ::pg_query::AlterTableStmt* alter_table_stmt_; - ::pg_query::ReplicaIdentityStmt* replica_identity_stmt_; - ::pg_query::AlterTableCmd* alter_table_cmd_; - ::pg_query::AlterCollationStmt* alter_collation_stmt_; - ::pg_query::AlterDomainStmt* alter_domain_stmt_; - ::pg_query::GrantStmt* grant_stmt_; - ::pg_query::ObjectWithArgs* object_with_args_; - ::pg_query::AccessPriv* access_priv_; - ::pg_query::GrantRoleStmt* grant_role_stmt_; - ::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt_; - ::pg_query::CopyStmt* copy_stmt_; - ::pg_query::VariableSetStmt* variable_set_stmt_; - ::pg_query::VariableShowStmt* variable_show_stmt_; - ::pg_query::CreateStmt* create_stmt_; - ::pg_query::Constraint* constraint_; - ::pg_query::CreateTableSpaceStmt* create_table_space_stmt_; - ::pg_query::DropTableSpaceStmt* drop_table_space_stmt_; - ::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt_; - ::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt_; - ::pg_query::CreateExtensionStmt* create_extension_stmt_; - ::pg_query::AlterExtensionStmt* alter_extension_stmt_; - ::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt_; - ::pg_query::CreateFdwStmt* create_fdw_stmt_; - ::pg_query::AlterFdwStmt* alter_fdw_stmt_; - ::pg_query::CreateForeignServerStmt* create_foreign_server_stmt_; - ::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt_; - ::pg_query::CreateForeignTableStmt* create_foreign_table_stmt_; - ::pg_query::CreateUserMappingStmt* create_user_mapping_stmt_; - ::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt_; - ::pg_query::DropUserMappingStmt* drop_user_mapping_stmt_; - ::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt_; - ::pg_query::CreatePolicyStmt* create_policy_stmt_; - ::pg_query::AlterPolicyStmt* alter_policy_stmt_; - ::pg_query::CreateAmStmt* create_am_stmt_; - ::pg_query::CreateTrigStmt* create_trig_stmt_; - ::pg_query::CreateEventTrigStmt* create_event_trig_stmt_; - ::pg_query::AlterEventTrigStmt* alter_event_trig_stmt_; - ::pg_query::CreatePLangStmt* create_plang_stmt_; - ::pg_query::CreateRoleStmt* create_role_stmt_; - ::pg_query::AlterRoleStmt* alter_role_stmt_; - ::pg_query::AlterRoleSetStmt* alter_role_set_stmt_; - ::pg_query::DropRoleStmt* drop_role_stmt_; - ::pg_query::CreateSeqStmt* create_seq_stmt_; - ::pg_query::AlterSeqStmt* alter_seq_stmt_; - ::pg_query::DefineStmt* define_stmt_; - ::pg_query::CreateDomainStmt* create_domain_stmt_; - ::pg_query::CreateOpClassStmt* create_op_class_stmt_; - ::pg_query::CreateOpClassItem* create_op_class_item_; - ::pg_query::CreateOpFamilyStmt* create_op_family_stmt_; - ::pg_query::AlterOpFamilyStmt* alter_op_family_stmt_; - ::pg_query::DropStmt* drop_stmt_; - ::pg_query::TruncateStmt* truncate_stmt_; - ::pg_query::CommentStmt* comment_stmt_; - ::pg_query::SecLabelStmt* sec_label_stmt_; - ::pg_query::DeclareCursorStmt* declare_cursor_stmt_; - ::pg_query::ClosePortalStmt* close_portal_stmt_; - ::pg_query::FetchStmt* fetch_stmt_; - ::pg_query::IndexStmt* index_stmt_; - ::pg_query::CreateStatsStmt* create_stats_stmt_; - ::pg_query::StatsElem* stats_elem_; - ::pg_query::AlterStatsStmt* alter_stats_stmt_; - ::pg_query::CreateFunctionStmt* create_function_stmt_; - ::pg_query::FunctionParameter* function_parameter_; - ::pg_query::AlterFunctionStmt* alter_function_stmt_; - ::pg_query::DoStmt* do_stmt_; - ::pg_query::InlineCodeBlock* inline_code_block_; - ::pg_query::CallStmt* call_stmt_; - ::pg_query::CallContext* call_context_; - ::pg_query::RenameStmt* rename_stmt_; - ::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt_; - ::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt_; - ::pg_query::AlterOwnerStmt* alter_owner_stmt_; - ::pg_query::AlterOperatorStmt* alter_operator_stmt_; - ::pg_query::AlterTypeStmt* alter_type_stmt_; - ::pg_query::RuleStmt* rule_stmt_; - ::pg_query::NotifyStmt* notify_stmt_; - ::pg_query::ListenStmt* listen_stmt_; - ::pg_query::UnlistenStmt* unlisten_stmt_; - ::pg_query::TransactionStmt* transaction_stmt_; - ::pg_query::CompositeTypeStmt* composite_type_stmt_; - ::pg_query::CreateEnumStmt* create_enum_stmt_; - ::pg_query::CreateRangeStmt* create_range_stmt_; - ::pg_query::AlterEnumStmt* alter_enum_stmt_; - ::pg_query::ViewStmt* view_stmt_; - ::pg_query::LoadStmt* load_stmt_; - ::pg_query::CreatedbStmt* createdb_stmt_; - ::pg_query::AlterDatabaseStmt* alter_database_stmt_; - ::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt_; - ::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt_; - ::pg_query::DropdbStmt* dropdb_stmt_; - ::pg_query::AlterSystemStmt* alter_system_stmt_; - ::pg_query::ClusterStmt* cluster_stmt_; - ::pg_query::VacuumStmt* vacuum_stmt_; - ::pg_query::VacuumRelation* vacuum_relation_; - ::pg_query::ExplainStmt* explain_stmt_; - ::pg_query::CreateTableAsStmt* create_table_as_stmt_; - ::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt_; - ::pg_query::CheckPointStmt* check_point_stmt_; - ::pg_query::DiscardStmt* discard_stmt_; - ::pg_query::LockStmt* lock_stmt_; - ::pg_query::ConstraintsSetStmt* constraints_set_stmt_; - ::pg_query::ReindexStmt* reindex_stmt_; - ::pg_query::CreateConversionStmt* create_conversion_stmt_; - ::pg_query::CreateCastStmt* create_cast_stmt_; - ::pg_query::CreateTransformStmt* create_transform_stmt_; - ::pg_query::PrepareStmt* prepare_stmt_; - ::pg_query::ExecuteStmt* execute_stmt_; - ::pg_query::DeallocateStmt* deallocate_stmt_; - ::pg_query::DropOwnedStmt* drop_owned_stmt_; - ::pg_query::ReassignOwnedStmt* reassign_owned_stmt_; - ::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt_; - ::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt_; - ::pg_query::PublicationTable* publication_table_; - ::pg_query::PublicationObjSpec* publication_obj_spec_; - ::pg_query::CreatePublicationStmt* create_publication_stmt_; - ::pg_query::AlterPublicationStmt* alter_publication_stmt_; - ::pg_query::CreateSubscriptionStmt* create_subscription_stmt_; - ::pg_query::AlterSubscriptionStmt* alter_subscription_stmt_; - ::pg_query::DropSubscriptionStmt* drop_subscription_stmt_; - ::pg_query::Integer* integer_; - ::pg_query::Float* float__; - ::pg_query::Boolean* boolean_; - ::pg_query::String* string_; - ::pg_query::BitString* bit_string_; - ::pg_query::List* list_; - ::pg_query::IntList* int_list_; - ::pg_query::OidList* oid_list_; - ::pg_query::A_Const* a_const_; - } node_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::uint32_t _oneof_case_[1]; + private: + const ::pg_query::AlterExtensionStmt& _internal_alter_extension_stmt() const; + ::pg_query::AlterExtensionStmt* _internal_mutable_alter_extension_stmt(); - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"]; + bool has_alter_extension_contents_stmt() const; + private: + bool _internal_has_alter_extension_contents_stmt() const; -class NullIfExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullIfExpr) */ { - public: - inline NullIfExpr() : NullIfExpr(nullptr) {} - ~NullIfExpr() override; - template - explicit PROTOBUF_CONSTEXPR NullIfExpr(::google::protobuf::internal::ConstantInitialized); + public: + void clear_alter_extension_contents_stmt() ; + const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterExtensionContentsStmt* release_alter_extension_contents_stmt(); + ::pg_query::AlterExtensionContentsStmt* mutable_alter_extension_contents_stmt(); + void set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); + void unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); + ::pg_query::AlterExtensionContentsStmt* unsafe_arena_release_alter_extension_contents_stmt(); - inline NullIfExpr(const NullIfExpr& from) - : NullIfExpr(nullptr, from) {} - NullIfExpr(NullIfExpr&& from) noexcept - : NullIfExpr() { - *this = ::std::move(from); - } + private: + const ::pg_query::AlterExtensionContentsStmt& _internal_alter_extension_contents_stmt() const; + ::pg_query::AlterExtensionContentsStmt* _internal_mutable_alter_extension_contents_stmt(); - inline NullIfExpr& operator=(const NullIfExpr& from) { - CopyFrom(from); - return *this; - } - inline NullIfExpr& operator=(NullIfExpr&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + // .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"]; + bool has_create_fdw_stmt() const; + private: + bool _internal_has_create_fdw_stmt() const; - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + void clear_create_fdw_stmt() ; + const ::pg_query::CreateFdwStmt& create_fdw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateFdwStmt* release_create_fdw_stmt(); + ::pg_query::CreateFdwStmt* mutable_create_fdw_stmt(); + void set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); + void unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); + ::pg_query::CreateFdwStmt* unsafe_arena_release_create_fdw_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const NullIfExpr& default_instance() { - return *internal_default_instance(); - } - static inline const NullIfExpr* internal_default_instance() { - return reinterpret_cast( - &_NullIfExpr_default_instance_); - } - static constexpr int kIndexInFileMessages = - 26; + private: + const ::pg_query::CreateFdwStmt& _internal_create_fdw_stmt() const; + ::pg_query::CreateFdwStmt* _internal_mutable_create_fdw_stmt(); - friend void swap(NullIfExpr& a, NullIfExpr& b) { - a.Swap(&b); - } - inline void Swap(NullIfExpr* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(NullIfExpr* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + // .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"]; + bool has_alter_fdw_stmt() const; + private: + bool _internal_has_alter_fdw_stmt() const; - // implements Message ---------------------------------------------- + public: + void clear_alter_fdw_stmt() ; + const ::pg_query::AlterFdwStmt& alter_fdw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterFdwStmt* release_alter_fdw_stmt(); + ::pg_query::AlterFdwStmt* mutable_alter_fdw_stmt(); + void set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); + void unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); + ::pg_query::AlterFdwStmt* unsafe_arena_release_alter_fdw_stmt(); - NullIfExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const NullIfExpr& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const NullIfExpr& from) { - NullIfExpr::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::AlterFdwStmt& _internal_alter_fdw_stmt() const; + ::pg_query::AlterFdwStmt* _internal_mutable_alter_fdw_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"]; + bool has_create_foreign_server_stmt() const; + private: + bool _internal_has_create_foreign_server_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_create_foreign_server_stmt() ; + const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateForeignServerStmt* release_create_foreign_server_stmt(); + ::pg_query::CreateForeignServerStmt* mutable_create_foreign_server_stmt(); + void set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); + void unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); + ::pg_query::CreateForeignServerStmt* unsafe_arena_release_create_foreign_server_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(NullIfExpr* other); + const ::pg_query::CreateForeignServerStmt& _internal_create_foreign_server_stmt() const; + ::pg_query::CreateForeignServerStmt* _internal_mutable_create_foreign_server_stmt(); - private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.NullIfExpr"; - } - protected: - explicit NullIfExpr(::google::protobuf::Arena* arena); - NullIfExpr(::google::protobuf::Arena* arena, const NullIfExpr& from); public: + // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"]; + bool has_alter_foreign_server_stmt() const; + private: + bool _internal_has_alter_foreign_server_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_alter_foreign_server_stmt() ; + const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterForeignServerStmt* release_alter_foreign_server_stmt(); + ::pg_query::AlterForeignServerStmt* mutable_alter_foreign_server_stmt(); + void set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); + void unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); + ::pg_query::AlterForeignServerStmt* unsafe_arena_release_alter_foreign_server_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::AlterForeignServerStmt& _internal_alter_foreign_server_stmt() const; + ::pg_query::AlterForeignServerStmt* _internal_mutable_alter_foreign_server_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"]; + bool has_create_foreign_table_stmt() const; + private: + bool _internal_has_create_foreign_table_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_create_foreign_table_stmt() ; + const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateForeignTableStmt* release_create_foreign_table_stmt(); + ::pg_query::CreateForeignTableStmt* mutable_create_foreign_table_stmt(); + void set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); + void unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); + ::pg_query::CreateForeignTableStmt* unsafe_arena_release_create_foreign_table_stmt(); - enum : int { - kArgsFieldNumber = 7, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpresulttypeFieldNumber = 3, - kOpretsetFieldNumber = 4, - kOpcollidFieldNumber = 5, - kInputcollidFieldNumber = 6, - kLocationFieldNumber = 8, - }; - // repeated .pg_query.Node args = 7 [json_name = "args"]; - int args_size() const; private: - int _internal_args_size() const; + const ::pg_query::CreateForeignTableStmt& _internal_create_foreign_table_stmt() const; + ::pg_query::CreateForeignTableStmt* _internal_mutable_create_foreign_table_stmt(); public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"]; + bool has_create_user_mapping_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + bool _internal_has_create_user_mapping_stmt() const; + public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + void clear_create_user_mapping_stmt() ; + const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateUserMappingStmt* release_create_user_mapping_stmt(); + ::pg_query::CreateUserMappingStmt* mutable_create_user_mapping_stmt(); + void set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); + void unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); + ::pg_query::CreateUserMappingStmt* unsafe_arena_release_create_user_mapping_stmt(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::pg_query::CreateUserMappingStmt& _internal_create_user_mapping_stmt() const; + ::pg_query::CreateUserMappingStmt* _internal_mutable_create_user_mapping_stmt(); public: - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno() ; - ::uint32_t opno() const; - void set_opno(::uint32_t value); - + // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"]; + bool has_alter_user_mapping_stmt() const; private: - ::uint32_t _internal_opno() const; - void _internal_set_opno(::uint32_t value); + bool _internal_has_alter_user_mapping_stmt() const; public: - // uint32 opresulttype = 3 [json_name = "opresulttype"]; - void clear_opresulttype() ; - ::uint32_t opresulttype() const; - void set_opresulttype(::uint32_t value); + void clear_alter_user_mapping_stmt() ; + const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterUserMappingStmt* release_alter_user_mapping_stmt(); + ::pg_query::AlterUserMappingStmt* mutable_alter_user_mapping_stmt(); + void set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); + void unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); + ::pg_query::AlterUserMappingStmt* unsafe_arena_release_alter_user_mapping_stmt(); private: - ::uint32_t _internal_opresulttype() const; - void _internal_set_opresulttype(::uint32_t value); + const ::pg_query::AlterUserMappingStmt& _internal_alter_user_mapping_stmt() const; + ::pg_query::AlterUserMappingStmt* _internal_mutable_alter_user_mapping_stmt(); public: - // bool opretset = 4 [json_name = "opretset"]; - void clear_opretset() ; - bool opretset() const; - void set_opretset(bool value); - + // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"]; + bool has_drop_user_mapping_stmt() const; private: - bool _internal_opretset() const; - void _internal_set_opretset(bool value); + bool _internal_has_drop_user_mapping_stmt() const; public: - // uint32 opcollid = 5 [json_name = "opcollid"]; - void clear_opcollid() ; - ::uint32_t opcollid() const; - void set_opcollid(::uint32_t value); + void clear_drop_user_mapping_stmt() ; + const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropUserMappingStmt* release_drop_user_mapping_stmt(); + ::pg_query::DropUserMappingStmt* mutable_drop_user_mapping_stmt(); + void set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); + void unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); + ::pg_query::DropUserMappingStmt* unsafe_arena_release_drop_user_mapping_stmt(); private: - ::uint32_t _internal_opcollid() const; - void _internal_set_opcollid(::uint32_t value); + const ::pg_query::DropUserMappingStmt& _internal_drop_user_mapping_stmt() const; + ::pg_query::DropUserMappingStmt* _internal_mutable_drop_user_mapping_stmt(); public: - // uint32 inputcollid = 6 [json_name = "inputcollid"]; - void clear_inputcollid() ; - ::uint32_t inputcollid() const; - void set_inputcollid(::uint32_t value); - + // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"]; + bool has_import_foreign_schema_stmt() const; private: - ::uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(::uint32_t value); + bool _internal_has_import_foreign_schema_stmt() const; public: - // int32 location = 8 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + void clear_import_foreign_schema_stmt() ; + const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ImportForeignSchemaStmt* release_import_foreign_schema_stmt(); + ::pg_query::ImportForeignSchemaStmt* mutable_import_foreign_schema_stmt(); + void set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); + void unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); + ::pg_query::ImportForeignSchemaStmt* unsafe_arena_release_import_foreign_schema_stmt(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::ImportForeignSchemaStmt& _internal_import_foreign_schema_stmt() const; + ::pg_query::ImportForeignSchemaStmt* _internal_mutable_import_foreign_schema_stmt(); public: - // @@protoc_insertion_point(class_scope:pg_query.NullIfExpr) - private: - class _Internal; - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 8, 2, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + // .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"]; + bool has_create_policy_stmt() const; + private: + bool _internal_has_create_policy_stmt() const; - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::uint32_t opno_; - ::uint32_t opresulttype_; - bool opretset_; - ::uint32_t opcollid_; - ::uint32_t inputcollid_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + void clear_create_policy_stmt() ; + const ::pg_query::CreatePolicyStmt& create_policy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePolicyStmt* release_create_policy_stmt(); + ::pg_query::CreatePolicyStmt* mutable_create_policy_stmt(); + void set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); + void unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); + ::pg_query::CreatePolicyStmt* unsafe_arena_release_create_policy_stmt(); -class NullTest final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullTest) */ { - public: - inline NullTest() : NullTest(nullptr) {} - ~NullTest() override; - template - explicit PROTOBUF_CONSTEXPR NullTest(::google::protobuf::internal::ConstantInitialized); + private: + const ::pg_query::CreatePolicyStmt& _internal_create_policy_stmt() const; + ::pg_query::CreatePolicyStmt* _internal_mutable_create_policy_stmt(); - inline NullTest(const NullTest& from) - : NullTest(nullptr, from) {} - NullTest(NullTest&& from) noexcept - : NullTest() { - *this = ::std::move(from); - } + public: + // .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"]; + bool has_alter_policy_stmt() const; + private: + bool _internal_has_alter_policy_stmt() const; - inline NullTest& operator=(const NullTest& from) { - CopyFrom(from); - return *this; - } - inline NullTest& operator=(NullTest&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + void clear_alter_policy_stmt() ; + const ::pg_query::AlterPolicyStmt& alter_policy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterPolicyStmt* release_alter_policy_stmt(); + ::pg_query::AlterPolicyStmt* mutable_alter_policy_stmt(); + void set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); + void unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); + ::pg_query::AlterPolicyStmt* unsafe_arena_release_alter_policy_stmt(); - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + private: + const ::pg_query::AlterPolicyStmt& _internal_alter_policy_stmt() const; + ::pg_query::AlterPolicyStmt* _internal_mutable_alter_policy_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const NullTest& default_instance() { - return *internal_default_instance(); - } - static inline const NullTest* internal_default_instance() { - return reinterpret_cast( - &_NullTest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 54; + public: + // .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"]; + bool has_create_am_stmt() const; + private: + bool _internal_has_create_am_stmt() const; - friend void swap(NullTest& a, NullTest& b) { - a.Swap(&b); - } - inline void Swap(NullTest* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(NullTest* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + void clear_create_am_stmt() ; + const ::pg_query::CreateAmStmt& create_am_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateAmStmt* release_create_am_stmt(); + ::pg_query::CreateAmStmt* mutable_create_am_stmt(); + void set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); + void unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); + ::pg_query::CreateAmStmt* unsafe_arena_release_create_am_stmt(); - // implements Message ---------------------------------------------- + private: + const ::pg_query::CreateAmStmt& _internal_create_am_stmt() const; + ::pg_query::CreateAmStmt* _internal_mutable_create_am_stmt(); - NullTest* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const NullTest& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const NullTest& from) { - NullTest::MergeImpl(*this, from); - } + public: + // .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"]; + bool has_create_trig_stmt() const; private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + bool _internal_has_create_trig_stmt() const; + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + void clear_create_trig_stmt() ; + const ::pg_query::CreateTrigStmt& create_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTrigStmt* release_create_trig_stmt(); + ::pg_query::CreateTrigStmt* mutable_create_trig_stmt(); + void set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); + void unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); + ::pg_query::CreateTrigStmt* unsafe_arena_release_create_trig_stmt(); - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: + const ::pg_query::CreateTrigStmt& _internal_create_trig_stmt() const; + ::pg_query::CreateTrigStmt* _internal_mutable_create_trig_stmt(); + public: + // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"]; + bool has_create_event_trig_stmt() const; private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(NullTest* other); + bool _internal_has_create_event_trig_stmt() const; + + public: + void clear_create_event_trig_stmt() ; + const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateEventTrigStmt* release_create_event_trig_stmt(); + ::pg_query::CreateEventTrigStmt* mutable_create_event_trig_stmt(); + void set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); + void unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); + ::pg_query::CreateEventTrigStmt* unsafe_arena_release_create_event_trig_stmt(); private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.NullTest"; - } - protected: - explicit NullTest(::google::protobuf::Arena* arena); - NullTest(::google::protobuf::Arena* arena, const NullTest& from); + const ::pg_query::CreateEventTrigStmt& _internal_create_event_trig_stmt() const; + ::pg_query::CreateEventTrigStmt* _internal_mutable_create_event_trig_stmt(); + public: + // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"]; + bool has_alter_event_trig_stmt() const; + private: + bool _internal_has_alter_event_trig_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_alter_event_trig_stmt() ; + const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterEventTrigStmt* release_alter_event_trig_stmt(); + ::pg_query::AlterEventTrigStmt* mutable_alter_event_trig_stmt(); + void set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); + void unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); + ::pg_query::AlterEventTrigStmt* unsafe_arena_release_alter_event_trig_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::AlterEventTrigStmt& _internal_alter_event_trig_stmt() const; + ::pg_query::AlterEventTrigStmt* _internal_mutable_alter_event_trig_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"]; + bool has_create_plang_stmt() const; + private: + bool _internal_has_create_plang_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_create_plang_stmt() ; + const ::pg_query::CreatePLangStmt& create_plang_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePLangStmt* release_create_plang_stmt(); + ::pg_query::CreatePLangStmt* mutable_create_plang_stmt(); + void set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); + void unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); + ::pg_query::CreatePLangStmt* unsafe_arena_release_create_plang_stmt(); - enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kNulltesttypeFieldNumber = 3, - kArgisrowFieldNumber = 4, - kLocationFieldNumber = 5, - }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + private: + const ::pg_query::CreatePLangStmt& _internal_create_plang_stmt() const; + ::pg_query::CreatePLangStmt* _internal_mutable_create_plang_stmt(); + public: + // .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"]; + bool has_create_role_stmt() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + bool _internal_has_create_role_stmt() const; public: - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - void clear_arg() ; - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* value); - void unsafe_arena_set_allocated_arg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_arg(); + void clear_create_role_stmt() ; + const ::pg_query::CreateRoleStmt& create_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateRoleStmt* release_create_role_stmt(); + ::pg_query::CreateRoleStmt* mutable_create_role_stmt(); + void set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); + void unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); + ::pg_query::CreateRoleStmt* unsafe_arena_release_create_role_stmt(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::pg_query::CreateRoleStmt& _internal_create_role_stmt() const; + ::pg_query::CreateRoleStmt* _internal_mutable_create_role_stmt(); public: - // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; - void clear_nulltesttype() ; - ::pg_query::NullTestType nulltesttype() const; - void set_nulltesttype(::pg_query::NullTestType value); - + // .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"]; + bool has_alter_role_stmt() const; private: - ::pg_query::NullTestType _internal_nulltesttype() const; - void _internal_set_nulltesttype(::pg_query::NullTestType value); + bool _internal_has_alter_role_stmt() const; public: - // bool argisrow = 4 [json_name = "argisrow"]; - void clear_argisrow() ; - bool argisrow() const; - void set_argisrow(bool value); + void clear_alter_role_stmt() ; + const ::pg_query::AlterRoleStmt& alter_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterRoleStmt* release_alter_role_stmt(); + ::pg_query::AlterRoleStmt* mutable_alter_role_stmt(); + void set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); + void unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); + ::pg_query::AlterRoleStmt* unsafe_arena_release_alter_role_stmt(); private: - bool _internal_argisrow() const; - void _internal_set_argisrow(bool value); + const ::pg_query::AlterRoleStmt& _internal_alter_role_stmt() const; + ::pg_query::AlterRoleStmt* _internal_mutable_alter_role_stmt(); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - + // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"]; + bool has_alter_role_set_stmt() const; private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_has_alter_role_set_stmt() const; public: - // @@protoc_insertion_point(class_scope:pg_query.NullTest) - private: - class _Internal; + void clear_alter_role_set_stmt() ; + const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterRoleSetStmt* release_alter_role_set_stmt(); + ::pg_query::AlterRoleSetStmt* mutable_alter_role_set_stmt(); + void set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); + void unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); + ::pg_query::AlterRoleSetStmt* unsafe_arena_release_alter_role_set_stmt(); - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + private: + const ::pg_query::AlterRoleSetStmt& _internal_alter_role_set_stmt() const; + ::pg_query::AlterRoleSetStmt* _internal_mutable_alter_role_set_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - int nulltesttype_; - bool argisrow_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + // .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"]; + bool has_drop_role_stmt() const; + private: + bool _internal_has_drop_role_stmt() const; -class ObjectWithArgs final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ObjectWithArgs) */ { - public: - inline ObjectWithArgs() : ObjectWithArgs(nullptr) {} - ~ObjectWithArgs() override; - template - explicit PROTOBUF_CONSTEXPR ObjectWithArgs(::google::protobuf::internal::ConstantInitialized); + public: + void clear_drop_role_stmt() ; + const ::pg_query::DropRoleStmt& drop_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropRoleStmt* release_drop_role_stmt(); + ::pg_query::DropRoleStmt* mutable_drop_role_stmt(); + void set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); + void unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); + ::pg_query::DropRoleStmt* unsafe_arena_release_drop_role_stmt(); - inline ObjectWithArgs(const ObjectWithArgs& from) - : ObjectWithArgs(nullptr, from) {} - ObjectWithArgs(ObjectWithArgs&& from) noexcept - : ObjectWithArgs() { - *this = ::std::move(from); - } + private: + const ::pg_query::DropRoleStmt& _internal_drop_role_stmt() const; + ::pg_query::DropRoleStmt* _internal_mutable_drop_role_stmt(); - inline ObjectWithArgs& operator=(const ObjectWithArgs& from) { - CopyFrom(from); - return *this; - } - inline ObjectWithArgs& operator=(ObjectWithArgs&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + // .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"]; + bool has_create_seq_stmt() const; + private: + bool _internal_has_create_seq_stmt() const; - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + void clear_create_seq_stmt() ; + const ::pg_query::CreateSeqStmt& create_seq_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSeqStmt* release_create_seq_stmt(); + ::pg_query::CreateSeqStmt* mutable_create_seq_stmt(); + void set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); + void unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); + ::pg_query::CreateSeqStmt* unsafe_arena_release_create_seq_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ObjectWithArgs& default_instance() { - return *internal_default_instance(); - } - static inline const ObjectWithArgs* internal_default_instance() { - return reinterpret_cast( - &_ObjectWithArgs_default_instance_); - } - static constexpr int kIndexInFileMessages = - 142; + private: + const ::pg_query::CreateSeqStmt& _internal_create_seq_stmt() const; + ::pg_query::CreateSeqStmt* _internal_mutable_create_seq_stmt(); - friend void swap(ObjectWithArgs& a, ObjectWithArgs& b) { - a.Swap(&b); - } - inline void Swap(ObjectWithArgs* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ObjectWithArgs* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + // .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"]; + bool has_alter_seq_stmt() const; + private: + bool _internal_has_alter_seq_stmt() const; - // implements Message ---------------------------------------------- + public: + void clear_alter_seq_stmt() ; + const ::pg_query::AlterSeqStmt& alter_seq_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSeqStmt* release_alter_seq_stmt(); + ::pg_query::AlterSeqStmt* mutable_alter_seq_stmt(); + void set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); + void unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); + ::pg_query::AlterSeqStmt* unsafe_arena_release_alter_seq_stmt(); - ObjectWithArgs* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ObjectWithArgs& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ObjectWithArgs& from) { - ObjectWithArgs::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::AlterSeqStmt& _internal_alter_seq_stmt() const; + ::pg_query::AlterSeqStmt* _internal_mutable_alter_seq_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"]; + bool has_define_stmt() const; + private: + bool _internal_has_define_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_define_stmt() ; + const ::pg_query::DefineStmt& define_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DefineStmt* release_define_stmt(); + ::pg_query::DefineStmt* mutable_define_stmt(); + void set_allocated_define_stmt(::pg_query::DefineStmt* value); + void unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value); + ::pg_query::DefineStmt* unsafe_arena_release_define_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(ObjectWithArgs* other); + const ::pg_query::DefineStmt& _internal_define_stmt() const; + ::pg_query::DefineStmt* _internal_mutable_define_stmt(); - private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.ObjectWithArgs"; - } - protected: - explicit ObjectWithArgs(::google::protobuf::Arena* arena); - ObjectWithArgs(::google::protobuf::Arena* arena, const ObjectWithArgs& from); public: + // .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"]; + bool has_create_domain_stmt() const; + private: + bool _internal_has_create_domain_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_create_domain_stmt() ; + const ::pg_query::CreateDomainStmt& create_domain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateDomainStmt* release_create_domain_stmt(); + ::pg_query::CreateDomainStmt* mutable_create_domain_stmt(); + void set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); + void unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); + ::pg_query::CreateDomainStmt* unsafe_arena_release_create_domain_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::CreateDomainStmt& _internal_create_domain_stmt() const; + ::pg_query::CreateDomainStmt* _internal_mutable_create_domain_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"]; + bool has_create_op_class_stmt() const; + private: + bool _internal_has_create_op_class_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_create_op_class_stmt() ; + const ::pg_query::CreateOpClassStmt& create_op_class_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpClassStmt* release_create_op_class_stmt(); + ::pg_query::CreateOpClassStmt* mutable_create_op_class_stmt(); + void set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); + void unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); + ::pg_query::CreateOpClassStmt* unsafe_arena_release_create_op_class_stmt(); - enum : int { - kObjnameFieldNumber = 1, - kObjargsFieldNumber = 2, - kObjfuncargsFieldNumber = 3, - kArgsUnspecifiedFieldNumber = 4, - }; - // repeated .pg_query.Node objname = 1 [json_name = "objname"]; - int objname_size() const; private: - int _internal_objname_size() const; + const ::pg_query::CreateOpClassStmt& _internal_create_op_class_stmt() const; + ::pg_query::CreateOpClassStmt* _internal_mutable_create_op_class_stmt(); public: - void clear_objname() ; - ::pg_query::Node* mutable_objname(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_objname(); + // .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"]; + bool has_create_op_class_item() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objname() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objname(); + bool _internal_has_create_op_class_item() const; + public: - const ::pg_query::Node& objname(int index) const; - ::pg_query::Node* add_objname(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - objname() const; - // repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; - int objargs_size() const; + void clear_create_op_class_item() ; + const ::pg_query::CreateOpClassItem& create_op_class_item() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpClassItem* release_create_op_class_item(); + ::pg_query::CreateOpClassItem* mutable_create_op_class_item(); + void set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); + void unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); + ::pg_query::CreateOpClassItem* unsafe_arena_release_create_op_class_item(); + private: - int _internal_objargs_size() const; + const ::pg_query::CreateOpClassItem& _internal_create_op_class_item() const; + ::pg_query::CreateOpClassItem* _internal_mutable_create_op_class_item(); public: - void clear_objargs() ; - ::pg_query::Node* mutable_objargs(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_objargs(); + // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"]; + bool has_create_op_family_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objargs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objargs(); + bool _internal_has_create_op_family_stmt() const; + public: - const ::pg_query::Node& objargs(int index) const; - ::pg_query::Node* add_objargs(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - objargs() const; - // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; - int objfuncargs_size() const; + void clear_create_op_family_stmt() ; + const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpFamilyStmt* release_create_op_family_stmt(); + ::pg_query::CreateOpFamilyStmt* mutable_create_op_family_stmt(); + void set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); + void unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); + ::pg_query::CreateOpFamilyStmt* unsafe_arena_release_create_op_family_stmt(); + private: - int _internal_objfuncargs_size() const; + const ::pg_query::CreateOpFamilyStmt& _internal_create_op_family_stmt() const; + ::pg_query::CreateOpFamilyStmt* _internal_mutable_create_op_family_stmt(); public: - void clear_objfuncargs() ; - ::pg_query::Node* mutable_objfuncargs(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_objfuncargs(); + // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"]; + bool has_alter_op_family_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objfuncargs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objfuncargs(); + bool _internal_has_alter_op_family_stmt() const; + public: - const ::pg_query::Node& objfuncargs(int index) const; - ::pg_query::Node* add_objfuncargs(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - objfuncargs() const; - // bool args_unspecified = 4 [json_name = "args_unspecified"]; - void clear_args_unspecified() ; - bool args_unspecified() const; - void set_args_unspecified(bool value); + void clear_alter_op_family_stmt() ; + const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOpFamilyStmt* release_alter_op_family_stmt(); + ::pg_query::AlterOpFamilyStmt* mutable_alter_op_family_stmt(); + void set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); + void unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); + ::pg_query::AlterOpFamilyStmt* unsafe_arena_release_alter_op_family_stmt(); private: - bool _internal_args_unspecified() const; - void _internal_set_args_unspecified(bool value); + const ::pg_query::AlterOpFamilyStmt& _internal_alter_op_family_stmt() const; + ::pg_query::AlterOpFamilyStmt* _internal_mutable_alter_op_family_stmt(); public: - // @@protoc_insertion_point(class_scope:pg_query.ObjectWithArgs) - private: - class _Internal; + // .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"]; + bool has_drop_stmt() const; + private: + bool _internal_has_drop_stmt() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 2, 4, 3, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + public: + void clear_drop_stmt() ; + const ::pg_query::DropStmt& drop_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropStmt* release_drop_stmt(); + ::pg_query::DropStmt* mutable_drop_stmt(); + void set_allocated_drop_stmt(::pg_query::DropStmt* value); + void unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value); + ::pg_query::DropStmt* unsafe_arena_release_drop_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objname_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objargs_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objfuncargs_; - bool args_unspecified_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + private: + const ::pg_query::DropStmt& _internal_drop_stmt() const; + ::pg_query::DropStmt* _internal_mutable_drop_stmt(); -class OidList final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OidList) */ { - public: - inline OidList() : OidList(nullptr) {} - ~OidList() override; - template - explicit PROTOBUF_CONSTEXPR OidList(::google::protobuf::internal::ConstantInitialized); - - inline OidList(const OidList& from) - : OidList(nullptr, from) {} - OidList(OidList&& from) noexcept - : OidList() { - *this = ::std::move(from); - } + public: + // .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"]; + bool has_truncate_stmt() const; + private: + bool _internal_has_truncate_stmt() const; - inline OidList& operator=(const OidList& from) { - CopyFrom(from); - return *this; - } - inline OidList& operator=(OidList&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + void clear_truncate_stmt() ; + const ::pg_query::TruncateStmt& truncate_stmt() const; + PROTOBUF_NODISCARD ::pg_query::TruncateStmt* release_truncate_stmt(); + ::pg_query::TruncateStmt* mutable_truncate_stmt(); + void set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); + void unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); + ::pg_query::TruncateStmt* unsafe_arena_release_truncate_stmt(); - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + private: + const ::pg_query::TruncateStmt& _internal_truncate_stmt() const; + ::pg_query::TruncateStmt* _internal_mutable_truncate_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const OidList& default_instance() { - return *internal_default_instance(); - } - static inline const OidList* internal_default_instance() { - return reinterpret_cast( - &_OidList_default_instance_); - } - static constexpr int kIndexInFileMessages = - 9; + public: + // .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"]; + bool has_comment_stmt() const; + private: + bool _internal_has_comment_stmt() const; - friend void swap(OidList& a, OidList& b) { - a.Swap(&b); - } - inline void Swap(OidList* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(OidList* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + void clear_comment_stmt() ; + const ::pg_query::CommentStmt& comment_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CommentStmt* release_comment_stmt(); + ::pg_query::CommentStmt* mutable_comment_stmt(); + void set_allocated_comment_stmt(::pg_query::CommentStmt* value); + void unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value); + ::pg_query::CommentStmt* unsafe_arena_release_comment_stmt(); - // implements Message ---------------------------------------------- + private: + const ::pg_query::CommentStmt& _internal_comment_stmt() const; + ::pg_query::CommentStmt* _internal_mutable_comment_stmt(); - OidList* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const OidList& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const OidList& from) { - OidList::MergeImpl(*this, from); - } + public: + // .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"]; + bool has_sec_label_stmt() const; private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + bool _internal_has_sec_label_stmt() const; + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + void clear_sec_label_stmt() ; + const ::pg_query::SecLabelStmt& sec_label_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SecLabelStmt* release_sec_label_stmt(); + ::pg_query::SecLabelStmt* mutable_sec_label_stmt(); + void set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); + void unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); + ::pg_query::SecLabelStmt* unsafe_arena_release_sec_label_stmt(); - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: + const ::pg_query::SecLabelStmt& _internal_sec_label_stmt() const; + ::pg_query::SecLabelStmt* _internal_mutable_sec_label_stmt(); + public: + // .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"]; + bool has_declare_cursor_stmt() const; private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(OidList* other); + bool _internal_has_declare_cursor_stmt() const; + + public: + void clear_declare_cursor_stmt() ; + const ::pg_query::DeclareCursorStmt& declare_cursor_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeclareCursorStmt* release_declare_cursor_stmt(); + ::pg_query::DeclareCursorStmt* mutable_declare_cursor_stmt(); + void set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); + void unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); + ::pg_query::DeclareCursorStmt* unsafe_arena_release_declare_cursor_stmt(); private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.OidList"; - } - protected: - explicit OidList(::google::protobuf::Arena* arena); - OidList(::google::protobuf::Arena* arena, const OidList& from); + const ::pg_query::DeclareCursorStmt& _internal_declare_cursor_stmt() const; + ::pg_query::DeclareCursorStmt* _internal_mutable_declare_cursor_stmt(); + public: + // .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"]; + bool has_close_portal_stmt() const; + private: + bool _internal_has_close_portal_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_close_portal_stmt() ; + const ::pg_query::ClosePortalStmt& close_portal_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ClosePortalStmt* release_close_portal_stmt(); + ::pg_query::ClosePortalStmt* mutable_close_portal_stmt(); + void set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); + void unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); + ::pg_query::ClosePortalStmt* unsafe_arena_release_close_portal_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::ClosePortalStmt& _internal_close_portal_stmt() const; + ::pg_query::ClosePortalStmt* _internal_mutable_close_portal_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"]; + bool has_fetch_stmt() const; + private: + bool _internal_has_fetch_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_fetch_stmt() ; + const ::pg_query::FetchStmt& fetch_stmt() const; + PROTOBUF_NODISCARD ::pg_query::FetchStmt* release_fetch_stmt(); + ::pg_query::FetchStmt* mutable_fetch_stmt(); + void set_allocated_fetch_stmt(::pg_query::FetchStmt* value); + void unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value); + ::pg_query::FetchStmt* unsafe_arena_release_fetch_stmt(); - enum : int { - kItemsFieldNumber = 1, - }; - // repeated .pg_query.Node items = 1; - int items_size() const; private: - int _internal_items_size() const; + const ::pg_query::FetchStmt& _internal_fetch_stmt() const; + ::pg_query::FetchStmt* _internal_mutable_fetch_stmt(); public: - void clear_items() ; - ::pg_query::Node* mutable_items(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + // .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"]; + bool has_index_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); + bool _internal_has_index_stmt() const; + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - items() const; - // @@protoc_insertion_point(class_scope:pg_query.OidList) - private: - class _Internal; + void clear_index_stmt() ; + const ::pg_query::IndexStmt& index_stmt() const; + PROTOBUF_NODISCARD ::pg_query::IndexStmt* release_index_stmt(); + ::pg_query::IndexStmt* mutable_index_stmt(); + void set_allocated_index_stmt(::pg_query::IndexStmt* value); + void unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value); + ::pg_query::IndexStmt* unsafe_arena_release_index_stmt(); - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 1, 1, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + private: + const ::pg_query::IndexStmt& _internal_index_stmt() const; + ::pg_query::IndexStmt* _internal_mutable_index_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + // .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"]; + bool has_create_stats_stmt() const; + private: + bool _internal_has_create_stats_stmt() const; -class OnConflictClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictClause) */ { - public: - inline OnConflictClause() : OnConflictClause(nullptr) {} - ~OnConflictClause() override; - template - explicit PROTOBUF_CONSTEXPR OnConflictClause(::google::protobuf::internal::ConstantInitialized); + public: + void clear_create_stats_stmt() ; + const ::pg_query::CreateStatsStmt& create_stats_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateStatsStmt* release_create_stats_stmt(); + ::pg_query::CreateStatsStmt* mutable_create_stats_stmt(); + void set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); + void unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); + ::pg_query::CreateStatsStmt* unsafe_arena_release_create_stats_stmt(); - inline OnConflictClause(const OnConflictClause& from) - : OnConflictClause(nullptr, from) {} - OnConflictClause(OnConflictClause&& from) noexcept - : OnConflictClause() { - *this = ::std::move(from); - } + private: + const ::pg_query::CreateStatsStmt& _internal_create_stats_stmt() const; + ::pg_query::CreateStatsStmt* _internal_mutable_create_stats_stmt(); - inline OnConflictClause& operator=(const OnConflictClause& from) { - CopyFrom(from); - return *this; - } - inline OnConflictClause& operator=(OnConflictClause&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + // .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"]; + bool has_stats_elem() const; + private: + bool _internal_has_stats_elem() const; - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + void clear_stats_elem() ; + const ::pg_query::StatsElem& stats_elem() const; + PROTOBUF_NODISCARD ::pg_query::StatsElem* release_stats_elem(); + ::pg_query::StatsElem* mutable_stats_elem(); + void set_allocated_stats_elem(::pg_query::StatsElem* value); + void unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value); + ::pg_query::StatsElem* unsafe_arena_release_stats_elem(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const OnConflictClause& default_instance() { - return *internal_default_instance(); - } - static inline const OnConflictClause* internal_default_instance() { - return reinterpret_cast( - &_OnConflictClause_default_instance_); - } - static constexpr int kIndexInFileMessages = - 111; + private: + const ::pg_query::StatsElem& _internal_stats_elem() const; + ::pg_query::StatsElem* _internal_mutable_stats_elem(); - friend void swap(OnConflictClause& a, OnConflictClause& b) { - a.Swap(&b); - } - inline void Swap(OnConflictClause* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(OnConflictClause* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + // .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"]; + bool has_alter_stats_stmt() const; + private: + bool _internal_has_alter_stats_stmt() const; - // implements Message ---------------------------------------------- + public: + void clear_alter_stats_stmt() ; + const ::pg_query::AlterStatsStmt& alter_stats_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterStatsStmt* release_alter_stats_stmt(); + ::pg_query::AlterStatsStmt* mutable_alter_stats_stmt(); + void set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); + void unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); + ::pg_query::AlterStatsStmt* unsafe_arena_release_alter_stats_stmt(); - OnConflictClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const OnConflictClause& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const OnConflictClause& from) { - OnConflictClause::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::AlterStatsStmt& _internal_alter_stats_stmt() const; + ::pg_query::AlterStatsStmt* _internal_mutable_alter_stats_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"]; + bool has_create_function_stmt() const; + private: + bool _internal_has_create_function_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_create_function_stmt() ; + const ::pg_query::CreateFunctionStmt& create_function_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateFunctionStmt* release_create_function_stmt(); + ::pg_query::CreateFunctionStmt* mutable_create_function_stmt(); + void set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); + void unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); + ::pg_query::CreateFunctionStmt* unsafe_arena_release_create_function_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(OnConflictClause* other); + const ::pg_query::CreateFunctionStmt& _internal_create_function_stmt() const; + ::pg_query::CreateFunctionStmt* _internal_mutable_create_function_stmt(); + public: + // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"]; + bool has_function_parameter() const; private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.OnConflictClause"; - } - protected: - explicit OnConflictClause(::google::protobuf::Arena* arena); - OnConflictClause(::google::protobuf::Arena* arena, const OnConflictClause& from); + bool _internal_has_function_parameter() const; + public: + void clear_function_parameter() ; + const ::pg_query::FunctionParameter& function_parameter() const; + PROTOBUF_NODISCARD ::pg_query::FunctionParameter* release_function_parameter(); + ::pg_query::FunctionParameter* mutable_function_parameter(); + void set_allocated_function_parameter(::pg_query::FunctionParameter* value); + void unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value); + ::pg_query::FunctionParameter* unsafe_arena_release_function_parameter(); - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + private: + const ::pg_query::FunctionParameter& _internal_function_parameter() const; + ::pg_query::FunctionParameter* _internal_mutable_function_parameter(); - ::google::protobuf::Metadata GetMetadata() const final; + public: + // .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"]; + bool has_alter_function_stmt() const; + private: + bool _internal_has_alter_function_stmt() const; - // nested types ---------------------------------------------------- + public: + void clear_alter_function_stmt() ; + const ::pg_query::AlterFunctionStmt& alter_function_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterFunctionStmt* release_alter_function_stmt(); + ::pg_query::AlterFunctionStmt* mutable_alter_function_stmt(); + void set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); + void unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); + ::pg_query::AlterFunctionStmt* unsafe_arena_release_alter_function_stmt(); - // accessors ------------------------------------------------------- + private: + const ::pg_query::AlterFunctionStmt& _internal_alter_function_stmt() const; + ::pg_query::AlterFunctionStmt* _internal_mutable_alter_function_stmt(); - enum : int { - kTargetListFieldNumber = 3, - kInferFieldNumber = 2, - kWhereClauseFieldNumber = 4, - kActionFieldNumber = 1, - kLocationFieldNumber = 5, - }; - // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; - int target_list_size() const; + public: + // .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"]; + bool has_do_stmt() const; private: - int _internal_target_list_size() const; + bool _internal_has_do_stmt() const; public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + void clear_do_stmt() ; + const ::pg_query::DoStmt& do_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DoStmt* release_do_stmt(); + ::pg_query::DoStmt* mutable_do_stmt(); + void set_allocated_do_stmt(::pg_query::DoStmt* value); + void unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value); + ::pg_query::DoStmt* unsafe_arena_release_do_stmt(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + const ::pg_query::DoStmt& _internal_do_stmt() const; + ::pg_query::DoStmt* _internal_mutable_do_stmt(); + public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // .pg_query.InferClause infer = 2 [json_name = "infer"]; - bool has_infer() const; - void clear_infer() ; - const ::pg_query::InferClause& infer() const; - PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer(); - ::pg_query::InferClause* mutable_infer(); - void set_allocated_infer(::pg_query::InferClause* value); - void unsafe_arena_set_allocated_infer(::pg_query::InferClause* value); - ::pg_query::InferClause* unsafe_arena_release_infer(); + // .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"]; + bool has_inline_code_block() const; + private: + bool _internal_has_inline_code_block() const; + + public: + void clear_inline_code_block() ; + const ::pg_query::InlineCodeBlock& inline_code_block() const; + PROTOBUF_NODISCARD ::pg_query::InlineCodeBlock* release_inline_code_block(); + ::pg_query::InlineCodeBlock* mutable_inline_code_block(); + void set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); + void unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); + ::pg_query::InlineCodeBlock* unsafe_arena_release_inline_code_block(); private: - const ::pg_query::InferClause& _internal_infer() const; - ::pg_query::InferClause* _internal_mutable_infer(); + const ::pg_query::InlineCodeBlock& _internal_inline_code_block() const; + ::pg_query::InlineCodeBlock* _internal_mutable_inline_code_block(); public: - // .pg_query.Node where_clause = 4 [json_name = "whereClause"]; - bool has_where_clause() const; - void clear_where_clause() ; - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_where_clause(); + // .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"]; + bool has_call_stmt() const; + private: + bool _internal_has_call_stmt() const; + + public: + void clear_call_stmt() ; + const ::pg_query::CallStmt& call_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CallStmt* release_call_stmt(); + ::pg_query::CallStmt* mutable_call_stmt(); + void set_allocated_call_stmt(::pg_query::CallStmt* value); + void unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value); + ::pg_query::CallStmt* unsafe_arena_release_call_stmt(); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const ::pg_query::CallStmt& _internal_call_stmt() const; + ::pg_query::CallStmt* _internal_mutable_call_stmt(); public: - // .pg_query.OnConflictAction action = 1 [json_name = "action"]; - void clear_action() ; - ::pg_query::OnConflictAction action() const; - void set_action(::pg_query::OnConflictAction value); + // .pg_query.CallContext call_context = 208 [json_name = "CallContext"]; + bool has_call_context() const; + private: + bool _internal_has_call_context() const; + + public: + void clear_call_context() ; + const ::pg_query::CallContext& call_context() const; + PROTOBUF_NODISCARD ::pg_query::CallContext* release_call_context(); + ::pg_query::CallContext* mutable_call_context(); + void set_allocated_call_context(::pg_query::CallContext* value); + void unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value); + ::pg_query::CallContext* unsafe_arena_release_call_context(); private: - ::pg_query::OnConflictAction _internal_action() const; - void _internal_set_action(::pg_query::OnConflictAction value); + const ::pg_query::CallContext& _internal_call_context() const; + ::pg_query::CallContext* _internal_mutable_call_context(); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"]; + bool has_rename_stmt() const; + private: + bool _internal_has_rename_stmt() const; + + public: + void clear_rename_stmt() ; + const ::pg_query::RenameStmt& rename_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RenameStmt* release_rename_stmt(); + ::pg_query::RenameStmt* mutable_rename_stmt(); + void set_allocated_rename_stmt(::pg_query::RenameStmt* value); + void unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value); + ::pg_query::RenameStmt* unsafe_arena_release_rename_stmt(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::RenameStmt& _internal_rename_stmt() const; + ::pg_query::RenameStmt* _internal_mutable_rename_stmt(); public: - // @@protoc_insertion_point(class_scope:pg_query.OnConflictClause) - private: - class _Internal; + // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"]; + bool has_alter_object_depends_stmt() const; + private: + bool _internal_has_alter_object_depends_stmt() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 5, 3, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + public: + void clear_alter_object_depends_stmt() ; + const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterObjectDependsStmt* release_alter_object_depends_stmt(); + ::pg_query::AlterObjectDependsStmt* mutable_alter_object_depends_stmt(); + void set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); + void unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); + ::pg_query::AlterObjectDependsStmt* unsafe_arena_release_alter_object_depends_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::pg_query::InferClause* infer_; - ::pg_query::Node* where_clause_; - int action_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + private: + const ::pg_query::AlterObjectDependsStmt& _internal_alter_object_depends_stmt() const; + ::pg_query::AlterObjectDependsStmt* _internal_mutable_alter_object_depends_stmt(); -class OnConflictExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictExpr) */ { - public: - inline OnConflictExpr() : OnConflictExpr(nullptr) {} - ~OnConflictExpr() override; - template - explicit PROTOBUF_CONSTEXPR OnConflictExpr(::google::protobuf::internal::ConstantInitialized); + public: + // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"]; + bool has_alter_object_schema_stmt() const; + private: + bool _internal_has_alter_object_schema_stmt() const; - inline OnConflictExpr(const OnConflictExpr& from) - : OnConflictExpr(nullptr, from) {} - OnConflictExpr(OnConflictExpr&& from) noexcept - : OnConflictExpr() { - *this = ::std::move(from); - } + public: + void clear_alter_object_schema_stmt() ; + const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterObjectSchemaStmt* release_alter_object_schema_stmt(); + ::pg_query::AlterObjectSchemaStmt* mutable_alter_object_schema_stmt(); + void set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); + void unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); + ::pg_query::AlterObjectSchemaStmt* unsafe_arena_release_alter_object_schema_stmt(); - inline OnConflictExpr& operator=(const OnConflictExpr& from) { - CopyFrom(from); - return *this; - } - inline OnConflictExpr& operator=(OnConflictExpr&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + private: + const ::pg_query::AlterObjectSchemaStmt& _internal_alter_object_schema_stmt() const; + ::pg_query::AlterObjectSchemaStmt* _internal_mutable_alter_object_schema_stmt(); - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + // .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"]; + bool has_alter_owner_stmt() const; + private: + bool _internal_has_alter_owner_stmt() const; - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const OnConflictExpr& default_instance() { - return *internal_default_instance(); - } - static inline const OnConflictExpr* internal_default_instance() { - return reinterpret_cast( - &_OnConflictExpr_default_instance_); - } - static constexpr int kIndexInFileMessages = - 66; + public: + void clear_alter_owner_stmt() ; + const ::pg_query::AlterOwnerStmt& alter_owner_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOwnerStmt* release_alter_owner_stmt(); + ::pg_query::AlterOwnerStmt* mutable_alter_owner_stmt(); + void set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); + void unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); + ::pg_query::AlterOwnerStmt* unsafe_arena_release_alter_owner_stmt(); - friend void swap(OnConflictExpr& a, OnConflictExpr& b) { - a.Swap(&b); - } - inline void Swap(OnConflictExpr* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(OnConflictExpr* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + private: + const ::pg_query::AlterOwnerStmt& _internal_alter_owner_stmt() const; + ::pg_query::AlterOwnerStmt* _internal_mutable_alter_owner_stmt(); - // implements Message ---------------------------------------------- + public: + // .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"]; + bool has_alter_operator_stmt() const; + private: + bool _internal_has_alter_operator_stmt() const; + + public: + void clear_alter_operator_stmt() ; + const ::pg_query::AlterOperatorStmt& alter_operator_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOperatorStmt* release_alter_operator_stmt(); + ::pg_query::AlterOperatorStmt* mutable_alter_operator_stmt(); + void set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); + void unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); + ::pg_query::AlterOperatorStmt* unsafe_arena_release_alter_operator_stmt(); - OnConflictExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const OnConflictExpr& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const OnConflictExpr& from) { - OnConflictExpr::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::AlterOperatorStmt& _internal_alter_operator_stmt() const; + ::pg_query::AlterOperatorStmt* _internal_mutable_alter_operator_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"]; + bool has_alter_type_stmt() const; + private: + bool _internal_has_alter_type_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_alter_type_stmt() ; + const ::pg_query::AlterTypeStmt& alter_type_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTypeStmt* release_alter_type_stmt(); + ::pg_query::AlterTypeStmt* mutable_alter_type_stmt(); + void set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); + void unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); + ::pg_query::AlterTypeStmt* unsafe_arena_release_alter_type_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(OnConflictExpr* other); + const ::pg_query::AlterTypeStmt& _internal_alter_type_stmt() const; + ::pg_query::AlterTypeStmt* _internal_mutable_alter_type_stmt(); + public: + // .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"]; + bool has_rule_stmt() const; private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.OnConflictExpr"; - } - protected: - explicit OnConflictExpr(::google::protobuf::Arena* arena); - OnConflictExpr(::google::protobuf::Arena* arena, const OnConflictExpr& from); + bool _internal_has_rule_stmt() const; + public: + void clear_rule_stmt() ; + const ::pg_query::RuleStmt& rule_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RuleStmt* release_rule_stmt(); + ::pg_query::RuleStmt* mutable_rule_stmt(); + void set_allocated_rule_stmt(::pg_query::RuleStmt* value); + void unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value); + ::pg_query::RuleStmt* unsafe_arena_release_rule_stmt(); - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + private: + const ::pg_query::RuleStmt& _internal_rule_stmt() const; + ::pg_query::RuleStmt* _internal_mutable_rule_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + public: + // .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"]; + bool has_notify_stmt() const; + private: + bool _internal_has_notify_stmt() const; - // nested types ---------------------------------------------------- + public: + void clear_notify_stmt() ; + const ::pg_query::NotifyStmt& notify_stmt() const; + PROTOBUF_NODISCARD ::pg_query::NotifyStmt* release_notify_stmt(); + ::pg_query::NotifyStmt* mutable_notify_stmt(); + void set_allocated_notify_stmt(::pg_query::NotifyStmt* value); + void unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value); + ::pg_query::NotifyStmt* unsafe_arena_release_notify_stmt(); - // accessors ------------------------------------------------------- + private: + const ::pg_query::NotifyStmt& _internal_notify_stmt() const; + ::pg_query::NotifyStmt* _internal_mutable_notify_stmt(); - enum : int { - kArbiterElemsFieldNumber = 2, - kOnConflictSetFieldNumber = 5, - kExclRelTlistFieldNumber = 8, - kArbiterWhereFieldNumber = 3, - kOnConflictWhereFieldNumber = 6, - kActionFieldNumber = 1, - kConstraintFieldNumber = 4, - kExclRelIndexFieldNumber = 7, - }; - // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; - int arbiter_elems_size() const; + public: + // .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"]; + bool has_listen_stmt() const; private: - int _internal_arbiter_elems_size() const; + bool _internal_has_listen_stmt() const; public: - void clear_arbiter_elems() ; - ::pg_query::Node* mutable_arbiter_elems(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_arbiter_elems(); + void clear_listen_stmt() ; + const ::pg_query::ListenStmt& listen_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ListenStmt* release_listen_stmt(); + ::pg_query::ListenStmt* mutable_listen_stmt(); + void set_allocated_listen_stmt(::pg_query::ListenStmt* value); + void unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value); + ::pg_query::ListenStmt* unsafe_arena_release_listen_stmt(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arbiter_elems() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arbiter_elems(); + const ::pg_query::ListenStmt& _internal_listen_stmt() const; + ::pg_query::ListenStmt* _internal_mutable_listen_stmt(); + public: - const ::pg_query::Node& arbiter_elems(int index) const; - ::pg_query::Node* add_arbiter_elems(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - arbiter_elems() const; - // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; - int on_conflict_set_size() const; + // .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"]; + bool has_unlisten_stmt() const; private: - int _internal_on_conflict_set_size() const; + bool _internal_has_unlisten_stmt() const; public: - void clear_on_conflict_set() ; - ::pg_query::Node* mutable_on_conflict_set(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_on_conflict_set(); + void clear_unlisten_stmt() ; + const ::pg_query::UnlistenStmt& unlisten_stmt() const; + PROTOBUF_NODISCARD ::pg_query::UnlistenStmt* release_unlisten_stmt(); + ::pg_query::UnlistenStmt* mutable_unlisten_stmt(); + void set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); + void unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); + ::pg_query::UnlistenStmt* unsafe_arena_release_unlisten_stmt(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_on_conflict_set() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_on_conflict_set(); + const ::pg_query::UnlistenStmt& _internal_unlisten_stmt() const; + ::pg_query::UnlistenStmt* _internal_mutable_unlisten_stmt(); + public: - const ::pg_query::Node& on_conflict_set(int index) const; - ::pg_query::Node* add_on_conflict_set(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - on_conflict_set() const; - // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; - int excl_rel_tlist_size() const; + // .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"]; + bool has_transaction_stmt() const; private: - int _internal_excl_rel_tlist_size() const; + bool _internal_has_transaction_stmt() const; public: - void clear_excl_rel_tlist() ; - ::pg_query::Node* mutable_excl_rel_tlist(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_excl_rel_tlist(); + void clear_transaction_stmt() ; + const ::pg_query::TransactionStmt& transaction_stmt() const; + PROTOBUF_NODISCARD ::pg_query::TransactionStmt* release_transaction_stmt(); + ::pg_query::TransactionStmt* mutable_transaction_stmt(); + void set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); + void unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); + ::pg_query::TransactionStmt* unsafe_arena_release_transaction_stmt(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_excl_rel_tlist() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_excl_rel_tlist(); + const ::pg_query::TransactionStmt& _internal_transaction_stmt() const; + ::pg_query::TransactionStmt* _internal_mutable_transaction_stmt(); + public: - const ::pg_query::Node& excl_rel_tlist(int index) const; - ::pg_query::Node* add_excl_rel_tlist(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - excl_rel_tlist() const; - // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; - bool has_arbiter_where() const; - void clear_arbiter_where() ; - const ::pg_query::Node& arbiter_where() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arbiter_where(); - ::pg_query::Node* mutable_arbiter_where(); - void set_allocated_arbiter_where(::pg_query::Node* value); - void unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_arbiter_where(); + // .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"]; + bool has_composite_type_stmt() const; + private: + bool _internal_has_composite_type_stmt() const; + + public: + void clear_composite_type_stmt() ; + const ::pg_query::CompositeTypeStmt& composite_type_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CompositeTypeStmt* release_composite_type_stmt(); + ::pg_query::CompositeTypeStmt* mutable_composite_type_stmt(); + void set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); + void unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); + ::pg_query::CompositeTypeStmt* unsafe_arena_release_composite_type_stmt(); private: - const ::pg_query::Node& _internal_arbiter_where() const; - ::pg_query::Node* _internal_mutable_arbiter_where(); + const ::pg_query::CompositeTypeStmt& _internal_composite_type_stmt() const; + ::pg_query::CompositeTypeStmt* _internal_mutable_composite_type_stmt(); public: - // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; - bool has_on_conflict_where() const; - void clear_on_conflict_where() ; - const ::pg_query::Node& on_conflict_where() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_on_conflict_where(); - ::pg_query::Node* mutable_on_conflict_where(); - void set_allocated_on_conflict_where(::pg_query::Node* value); - void unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_on_conflict_where(); + // .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"]; + bool has_create_enum_stmt() const; + private: + bool _internal_has_create_enum_stmt() const; + + public: + void clear_create_enum_stmt() ; + const ::pg_query::CreateEnumStmt& create_enum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateEnumStmt* release_create_enum_stmt(); + ::pg_query::CreateEnumStmt* mutable_create_enum_stmt(); + void set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); + void unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); + ::pg_query::CreateEnumStmt* unsafe_arena_release_create_enum_stmt(); private: - const ::pg_query::Node& _internal_on_conflict_where() const; - ::pg_query::Node* _internal_mutable_on_conflict_where(); + const ::pg_query::CreateEnumStmt& _internal_create_enum_stmt() const; + ::pg_query::CreateEnumStmt* _internal_mutable_create_enum_stmt(); public: - // .pg_query.OnConflictAction action = 1 [json_name = "action"]; - void clear_action() ; - ::pg_query::OnConflictAction action() const; - void set_action(::pg_query::OnConflictAction value); + // .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"]; + bool has_create_range_stmt() const; + private: + bool _internal_has_create_range_stmt() const; + + public: + void clear_create_range_stmt() ; + const ::pg_query::CreateRangeStmt& create_range_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateRangeStmt* release_create_range_stmt(); + ::pg_query::CreateRangeStmt* mutable_create_range_stmt(); + void set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); + void unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); + ::pg_query::CreateRangeStmt* unsafe_arena_release_create_range_stmt(); private: - ::pg_query::OnConflictAction _internal_action() const; - void _internal_set_action(::pg_query::OnConflictAction value); + const ::pg_query::CreateRangeStmt& _internal_create_range_stmt() const; + ::pg_query::CreateRangeStmt* _internal_mutable_create_range_stmt(); public: - // uint32 constraint = 4 [json_name = "constraint"]; - void clear_constraint() ; - ::uint32_t constraint() const; - void set_constraint(::uint32_t value); + // .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"]; + bool has_alter_enum_stmt() const; + private: + bool _internal_has_alter_enum_stmt() const; + + public: + void clear_alter_enum_stmt() ; + const ::pg_query::AlterEnumStmt& alter_enum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterEnumStmt* release_alter_enum_stmt(); + ::pg_query::AlterEnumStmt* mutable_alter_enum_stmt(); + void set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); + void unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); + ::pg_query::AlterEnumStmt* unsafe_arena_release_alter_enum_stmt(); private: - ::uint32_t _internal_constraint() const; - void _internal_set_constraint(::uint32_t value); + const ::pg_query::AlterEnumStmt& _internal_alter_enum_stmt() const; + ::pg_query::AlterEnumStmt* _internal_mutable_alter_enum_stmt(); public: - // int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; - void clear_excl_rel_index() ; - ::int32_t excl_rel_index() const; - void set_excl_rel_index(::int32_t value); + // .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"]; + bool has_view_stmt() const; + private: + bool _internal_has_view_stmt() const; + + public: + void clear_view_stmt() ; + const ::pg_query::ViewStmt& view_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ViewStmt* release_view_stmt(); + ::pg_query::ViewStmt* mutable_view_stmt(); + void set_allocated_view_stmt(::pg_query::ViewStmt* value); + void unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value); + ::pg_query::ViewStmt* unsafe_arena_release_view_stmt(); private: - ::int32_t _internal_excl_rel_index() const; - void _internal_set_excl_rel_index(::int32_t value); + const ::pg_query::ViewStmt& _internal_view_stmt() const; + ::pg_query::ViewStmt* _internal_mutable_view_stmt(); public: - // @@protoc_insertion_point(class_scope:pg_query.OnConflictExpr) - private: - class _Internal; + // .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"]; + bool has_load_stmt() const; + private: + bool _internal_has_load_stmt() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 8, 5, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { - - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arbiter_elems_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > on_conflict_set_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > excl_rel_tlist_; - ::pg_query::Node* arbiter_where_; - ::pg_query::Node* on_conflict_where_; - int action_; - ::uint32_t constraint_; - ::int32_t excl_rel_index_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- - -class OpExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OpExpr) */ { - public: - inline OpExpr() : OpExpr(nullptr) {} - ~OpExpr() override; - template - explicit PROTOBUF_CONSTEXPR OpExpr(::google::protobuf::internal::ConstantInitialized); + public: + void clear_load_stmt() ; + const ::pg_query::LoadStmt& load_stmt() const; + PROTOBUF_NODISCARD ::pg_query::LoadStmt* release_load_stmt(); + ::pg_query::LoadStmt* mutable_load_stmt(); + void set_allocated_load_stmt(::pg_query::LoadStmt* value); + void unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value); + ::pg_query::LoadStmt* unsafe_arena_release_load_stmt(); - inline OpExpr(const OpExpr& from) - : OpExpr(nullptr, from) {} - OpExpr(OpExpr&& from) noexcept - : OpExpr() { - *this = ::std::move(from); - } + private: + const ::pg_query::LoadStmt& _internal_load_stmt() const; + ::pg_query::LoadStmt* _internal_mutable_load_stmt(); - inline OpExpr& operator=(const OpExpr& from) { - CopyFrom(from); - return *this; - } - inline OpExpr& operator=(OpExpr&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + // .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"]; + bool has_createdb_stmt() const; + private: + bool _internal_has_createdb_stmt() const; - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + void clear_createdb_stmt() ; + const ::pg_query::CreatedbStmt& createdb_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatedbStmt* release_createdb_stmt(); + ::pg_query::CreatedbStmt* mutable_createdb_stmt(); + void set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); + void unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); + ::pg_query::CreatedbStmt* unsafe_arena_release_createdb_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const OpExpr& default_instance() { - return *internal_default_instance(); - } - static inline const OpExpr* internal_default_instance() { - return reinterpret_cast( - &_OpExpr_default_instance_); - } - static constexpr int kIndexInFileMessages = - 24; + private: + const ::pg_query::CreatedbStmt& _internal_createdb_stmt() const; + ::pg_query::CreatedbStmt* _internal_mutable_createdb_stmt(); - friend void swap(OpExpr& a, OpExpr& b) { - a.Swap(&b); - } - inline void Swap(OpExpr* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(OpExpr* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + // .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"]; + bool has_alter_database_stmt() const; + private: + bool _internal_has_alter_database_stmt() const; - // implements Message ---------------------------------------------- + public: + void clear_alter_database_stmt() ; + const ::pg_query::AlterDatabaseStmt& alter_database_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseStmt* release_alter_database_stmt(); + ::pg_query::AlterDatabaseStmt* mutable_alter_database_stmt(); + void set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); + void unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); + ::pg_query::AlterDatabaseStmt* unsafe_arena_release_alter_database_stmt(); - OpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const OpExpr& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const OpExpr& from) { - OpExpr::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::AlterDatabaseStmt& _internal_alter_database_stmt() const; + ::pg_query::AlterDatabaseStmt* _internal_mutable_alter_database_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"]; + bool has_alter_database_refresh_coll_stmt() const; + private: + bool _internal_has_alter_database_refresh_coll_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_alter_database_refresh_coll_stmt() ; + const ::pg_query::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseRefreshCollStmt* release_alter_database_refresh_coll_stmt(); + ::pg_query::AlterDatabaseRefreshCollStmt* mutable_alter_database_refresh_coll_stmt(); + void set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); + void unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); + ::pg_query::AlterDatabaseRefreshCollStmt* unsafe_arena_release_alter_database_refresh_coll_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(OpExpr* other); + const ::pg_query::AlterDatabaseRefreshCollStmt& _internal_alter_database_refresh_coll_stmt() const; + ::pg_query::AlterDatabaseRefreshCollStmt* _internal_mutable_alter_database_refresh_coll_stmt(); - private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.OpExpr"; - } - protected: - explicit OpExpr(::google::protobuf::Arena* arena); - OpExpr(::google::protobuf::Arena* arena, const OpExpr& from); public: + // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"]; + bool has_alter_database_set_stmt() const; + private: + bool _internal_has_alter_database_set_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_alter_database_set_stmt() ; + const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseSetStmt* release_alter_database_set_stmt(); + ::pg_query::AlterDatabaseSetStmt* mutable_alter_database_set_stmt(); + void set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); + void unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); + ::pg_query::AlterDatabaseSetStmt* unsafe_arena_release_alter_database_set_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::AlterDatabaseSetStmt& _internal_alter_database_set_stmt() const; + ::pg_query::AlterDatabaseSetStmt* _internal_mutable_alter_database_set_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"]; + bool has_dropdb_stmt() const; + private: + bool _internal_has_dropdb_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_dropdb_stmt() ; + const ::pg_query::DropdbStmt& dropdb_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropdbStmt* release_dropdb_stmt(); + ::pg_query::DropdbStmt* mutable_dropdb_stmt(); + void set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); + void unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); + ::pg_query::DropdbStmt* unsafe_arena_release_dropdb_stmt(); - enum : int { - kArgsFieldNumber = 7, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpresulttypeFieldNumber = 3, - kOpretsetFieldNumber = 4, - kOpcollidFieldNumber = 5, - kInputcollidFieldNumber = 6, - kLocationFieldNumber = 8, - }; - // repeated .pg_query.Node args = 7 [json_name = "args"]; - int args_size() const; private: - int _internal_args_size() const; + const ::pg_query::DropdbStmt& _internal_dropdb_stmt() const; + ::pg_query::DropdbStmt* _internal_mutable_dropdb_stmt(); public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"]; + bool has_alter_system_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + bool _internal_has_alter_system_stmt() const; + public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + void clear_alter_system_stmt() ; + const ::pg_query::AlterSystemStmt& alter_system_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSystemStmt* release_alter_system_stmt(); + ::pg_query::AlterSystemStmt* mutable_alter_system_stmt(); + void set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); + void unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); + ::pg_query::AlterSystemStmt* unsafe_arena_release_alter_system_stmt(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::pg_query::AlterSystemStmt& _internal_alter_system_stmt() const; + ::pg_query::AlterSystemStmt* _internal_mutable_alter_system_stmt(); public: - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno() ; - ::uint32_t opno() const; - void set_opno(::uint32_t value); - + // .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"]; + bool has_cluster_stmt() const; private: - ::uint32_t _internal_opno() const; - void _internal_set_opno(::uint32_t value); + bool _internal_has_cluster_stmt() const; public: - // uint32 opresulttype = 3 [json_name = "opresulttype"]; - void clear_opresulttype() ; - ::uint32_t opresulttype() const; - void set_opresulttype(::uint32_t value); + void clear_cluster_stmt() ; + const ::pg_query::ClusterStmt& cluster_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ClusterStmt* release_cluster_stmt(); + ::pg_query::ClusterStmt* mutable_cluster_stmt(); + void set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); + void unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); + ::pg_query::ClusterStmt* unsafe_arena_release_cluster_stmt(); private: - ::uint32_t _internal_opresulttype() const; - void _internal_set_opresulttype(::uint32_t value); + const ::pg_query::ClusterStmt& _internal_cluster_stmt() const; + ::pg_query::ClusterStmt* _internal_mutable_cluster_stmt(); public: - // bool opretset = 4 [json_name = "opretset"]; - void clear_opretset() ; - bool opretset() const; - void set_opretset(bool value); - + // .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"]; + bool has_vacuum_stmt() const; private: - bool _internal_opretset() const; - void _internal_set_opretset(bool value); + bool _internal_has_vacuum_stmt() const; public: - // uint32 opcollid = 5 [json_name = "opcollid"]; - void clear_opcollid() ; - ::uint32_t opcollid() const; - void set_opcollid(::uint32_t value); + void clear_vacuum_stmt() ; + const ::pg_query::VacuumStmt& vacuum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VacuumStmt* release_vacuum_stmt(); + ::pg_query::VacuumStmt* mutable_vacuum_stmt(); + void set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); + void unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); + ::pg_query::VacuumStmt* unsafe_arena_release_vacuum_stmt(); private: - ::uint32_t _internal_opcollid() const; - void _internal_set_opcollid(::uint32_t value); + const ::pg_query::VacuumStmt& _internal_vacuum_stmt() const; + ::pg_query::VacuumStmt* _internal_mutable_vacuum_stmt(); public: - // uint32 inputcollid = 6 [json_name = "inputcollid"]; - void clear_inputcollid() ; - ::uint32_t inputcollid() const; - void set_inputcollid(::uint32_t value); - + // .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"]; + bool has_vacuum_relation() const; private: - ::uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(::uint32_t value); + bool _internal_has_vacuum_relation() const; public: - // int32 location = 8 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + void clear_vacuum_relation() ; + const ::pg_query::VacuumRelation& vacuum_relation() const; + PROTOBUF_NODISCARD ::pg_query::VacuumRelation* release_vacuum_relation(); + ::pg_query::VacuumRelation* mutable_vacuum_relation(); + void set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); + void unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); + ::pg_query::VacuumRelation* unsafe_arena_release_vacuum_relation(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::VacuumRelation& _internal_vacuum_relation() const; + ::pg_query::VacuumRelation* _internal_mutable_vacuum_relation(); public: - // @@protoc_insertion_point(class_scope:pg_query.OpExpr) - private: - class _Internal; - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 8, 2, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + // .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"]; + bool has_explain_stmt() const; + private: + bool _internal_has_explain_stmt() const; - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::uint32_t opno_; - ::uint32_t opresulttype_; - bool opretset_; - ::uint32_t opcollid_; - ::uint32_t inputcollid_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + void clear_explain_stmt() ; + const ::pg_query::ExplainStmt& explain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ExplainStmt* release_explain_stmt(); + ::pg_query::ExplainStmt* mutable_explain_stmt(); + void set_allocated_explain_stmt(::pg_query::ExplainStmt* value); + void unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value); + ::pg_query::ExplainStmt* unsafe_arena_release_explain_stmt(); -class PLAssignStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PLAssignStmt) */ { - public: - inline PLAssignStmt() : PLAssignStmt(nullptr) {} - ~PLAssignStmt() override; - template - explicit PROTOBUF_CONSTEXPR PLAssignStmt(::google::protobuf::internal::ConstantInitialized); + private: + const ::pg_query::ExplainStmt& _internal_explain_stmt() const; + ::pg_query::ExplainStmt* _internal_mutable_explain_stmt(); - inline PLAssignStmt(const PLAssignStmt& from) - : PLAssignStmt(nullptr, from) {} - PLAssignStmt(PLAssignStmt&& from) noexcept - : PLAssignStmt() { - *this = ::std::move(from); - } + public: + // .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"]; + bool has_create_table_as_stmt() const; + private: + bool _internal_has_create_table_as_stmt() const; - inline PLAssignStmt& operator=(const PLAssignStmt& from) { - CopyFrom(from); - return *this; - } - inline PLAssignStmt& operator=(PLAssignStmt&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + void clear_create_table_as_stmt() ; + const ::pg_query::CreateTableAsStmt& create_table_as_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTableAsStmt* release_create_table_as_stmt(); + ::pg_query::CreateTableAsStmt* mutable_create_table_as_stmt(); + void set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); + void unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); + ::pg_query::CreateTableAsStmt* unsafe_arena_release_create_table_as_stmt(); - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + private: + const ::pg_query::CreateTableAsStmt& _internal_create_table_as_stmt() const; + ::pg_query::CreateTableAsStmt* _internal_mutable_create_table_as_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const PLAssignStmt& default_instance() { - return *internal_default_instance(); - } - static inline const PLAssignStmt* internal_default_instance() { - return reinterpret_cast( - &_PLAssignStmt_default_instance_); - } - static constexpr int kIndexInFileMessages = - 134; + public: + // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"]; + bool has_refresh_mat_view_stmt() const; + private: + bool _internal_has_refresh_mat_view_stmt() const; - friend void swap(PLAssignStmt& a, PLAssignStmt& b) { - a.Swap(&b); - } - inline void Swap(PLAssignStmt* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(PLAssignStmt* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + void clear_refresh_mat_view_stmt() ; + const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RefreshMatViewStmt* release_refresh_mat_view_stmt(); + ::pg_query::RefreshMatViewStmt* mutable_refresh_mat_view_stmt(); + void set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); + void unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); + ::pg_query::RefreshMatViewStmt* unsafe_arena_release_refresh_mat_view_stmt(); - // implements Message ---------------------------------------------- + private: + const ::pg_query::RefreshMatViewStmt& _internal_refresh_mat_view_stmt() const; + ::pg_query::RefreshMatViewStmt* _internal_mutable_refresh_mat_view_stmt(); - PLAssignStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PLAssignStmt& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PLAssignStmt& from) { - PLAssignStmt::MergeImpl(*this, from); - } + public: + // .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"]; + bool has_check_point_stmt() const; private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + bool _internal_has_check_point_stmt() const; + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + void clear_check_point_stmt() ; + const ::pg_query::CheckPointStmt& check_point_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CheckPointStmt* release_check_point_stmt(); + ::pg_query::CheckPointStmt* mutable_check_point_stmt(); + void set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); + void unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); + ::pg_query::CheckPointStmt* unsafe_arena_release_check_point_stmt(); - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: + const ::pg_query::CheckPointStmt& _internal_check_point_stmt() const; + ::pg_query::CheckPointStmt* _internal_mutable_check_point_stmt(); + public: + // .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"]; + bool has_discard_stmt() const; private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(PLAssignStmt* other); + bool _internal_has_discard_stmt() const; + + public: + void clear_discard_stmt() ; + const ::pg_query::DiscardStmt& discard_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DiscardStmt* release_discard_stmt(); + ::pg_query::DiscardStmt* mutable_discard_stmt(); + void set_allocated_discard_stmt(::pg_query::DiscardStmt* value); + void unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value); + ::pg_query::DiscardStmt* unsafe_arena_release_discard_stmt(); private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.PLAssignStmt"; - } - protected: - explicit PLAssignStmt(::google::protobuf::Arena* arena); - PLAssignStmt(::google::protobuf::Arena* arena, const PLAssignStmt& from); + const ::pg_query::DiscardStmt& _internal_discard_stmt() const; + ::pg_query::DiscardStmt* _internal_mutable_discard_stmt(); + public: + // .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"]; + bool has_lock_stmt() const; + private: + bool _internal_has_lock_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_lock_stmt() ; + const ::pg_query::LockStmt& lock_stmt() const; + PROTOBUF_NODISCARD ::pg_query::LockStmt* release_lock_stmt(); + ::pg_query::LockStmt* mutable_lock_stmt(); + void set_allocated_lock_stmt(::pg_query::LockStmt* value); + void unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value); + ::pg_query::LockStmt* unsafe_arena_release_lock_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::LockStmt& _internal_lock_stmt() const; + ::pg_query::LockStmt* _internal_mutable_lock_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"]; + bool has_constraints_set_stmt() const; + private: + bool _internal_has_constraints_set_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_constraints_set_stmt() ; + const ::pg_query::ConstraintsSetStmt& constraints_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ConstraintsSetStmt* release_constraints_set_stmt(); + ::pg_query::ConstraintsSetStmt* mutable_constraints_set_stmt(); + void set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); + void unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); + ::pg_query::ConstraintsSetStmt* unsafe_arena_release_constraints_set_stmt(); - enum : int { - kIndirectionFieldNumber = 2, - kNameFieldNumber = 1, - kValFieldNumber = 4, - kNnamesFieldNumber = 3, - kLocationFieldNumber = 5, - }; - // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; - int indirection_size() const; private: - int _internal_indirection_size() const; + const ::pg_query::ConstraintsSetStmt& _internal_constraints_set_stmt() const; + ::pg_query::ConstraintsSetStmt* _internal_mutable_constraints_set_stmt(); public: - void clear_indirection() ; - ::pg_query::Node* mutable_indirection(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_indirection(); + // .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"]; + bool has_reindex_stmt() const; private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); + bool _internal_has_reindex_stmt() const; + public: - const ::pg_query::Node& indirection(int index) const; - ::pg_query::Node* add_indirection(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - indirection() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + void clear_reindex_stmt() ; + const ::pg_query::ReindexStmt& reindex_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReindexStmt* release_reindex_stmt(); + ::pg_query::ReindexStmt* mutable_reindex_stmt(); + void set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); + void unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); + ::pg_query::ReindexStmt* unsafe_arena_release_reindex_stmt(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + const ::pg_query::ReindexStmt& _internal_reindex_stmt() const; + ::pg_query::ReindexStmt* _internal_mutable_reindex_stmt(); public: - // .pg_query.SelectStmt val = 4 [json_name = "val"]; - bool has_val() const; - void clear_val() ; - const ::pg_query::SelectStmt& val() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_val(); - ::pg_query::SelectStmt* mutable_val(); - void set_allocated_val(::pg_query::SelectStmt* value); - void unsafe_arena_set_allocated_val(::pg_query::SelectStmt* value); - ::pg_query::SelectStmt* unsafe_arena_release_val(); - + // .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"]; + bool has_create_conversion_stmt() const; private: - const ::pg_query::SelectStmt& _internal_val() const; - ::pg_query::SelectStmt* _internal_mutable_val(); + bool _internal_has_create_conversion_stmt() const; public: - // int32 nnames = 3 [json_name = "nnames"]; - void clear_nnames() ; - ::int32_t nnames() const; - void set_nnames(::int32_t value); + void clear_create_conversion_stmt() ; + const ::pg_query::CreateConversionStmt& create_conversion_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateConversionStmt* release_create_conversion_stmt(); + ::pg_query::CreateConversionStmt* mutable_create_conversion_stmt(); + void set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); + void unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); + ::pg_query::CreateConversionStmt* unsafe_arena_release_create_conversion_stmt(); private: - ::int32_t _internal_nnames() const; - void _internal_set_nnames(::int32_t value); + const ::pg_query::CreateConversionStmt& _internal_create_conversion_stmt() const; + ::pg_query::CreateConversionStmt* _internal_mutable_create_conversion_stmt(); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - + // .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"]; + bool has_create_cast_stmt() const; private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_has_create_cast_stmt() const; public: - // @@protoc_insertion_point(class_scope:pg_query.PLAssignStmt) - private: - class _Internal; + void clear_create_cast_stmt() ; + const ::pg_query::CreateCastStmt& create_cast_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateCastStmt* release_create_cast_stmt(); + ::pg_query::CreateCastStmt* mutable_create_cast_stmt(); + void set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); + void unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); + ::pg_query::CreateCastStmt* unsafe_arena_release_create_cast_stmt(); - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, - 34, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + private: + const ::pg_query::CreateCastStmt& _internal_create_cast_stmt() const; + ::pg_query::CreateCastStmt* _internal_mutable_create_cast_stmt(); - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::SelectStmt* val_; - ::int32_t nnames_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + // .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"]; + bool has_create_transform_stmt() const; + private: + bool _internal_has_create_transform_stmt() const; -class Param final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Param) */ { - public: - inline Param() : Param(nullptr) {} - ~Param() override; - template - explicit PROTOBUF_CONSTEXPR Param(::google::protobuf::internal::ConstantInitialized); + public: + void clear_create_transform_stmt() ; + const ::pg_query::CreateTransformStmt& create_transform_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTransformStmt* release_create_transform_stmt(); + ::pg_query::CreateTransformStmt* mutable_create_transform_stmt(); + void set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); + void unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); + ::pg_query::CreateTransformStmt* unsafe_arena_release_create_transform_stmt(); - inline Param(const Param& from) - : Param(nullptr, from) {} - Param(Param&& from) noexcept - : Param() { - *this = ::std::move(from); - } + private: + const ::pg_query::CreateTransformStmt& _internal_create_transform_stmt() const; + ::pg_query::CreateTransformStmt* _internal_mutable_create_transform_stmt(); - inline Param& operator=(const Param& from) { - CopyFrom(from); - return *this; - } - inline Param& operator=(Param&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + public: + // .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"]; + bool has_prepare_stmt() const; + private: + bool _internal_has_prepare_stmt() const; - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } + public: + void clear_prepare_stmt() ; + const ::pg_query::PrepareStmt& prepare_stmt() const; + PROTOBUF_NODISCARD ::pg_query::PrepareStmt* release_prepare_stmt(); + ::pg_query::PrepareStmt* mutable_prepare_stmt(); + void set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); + void unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); + ::pg_query::PrepareStmt* unsafe_arena_release_prepare_stmt(); - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Param& default_instance() { - return *internal_default_instance(); - } - static inline const Param* internal_default_instance() { - return reinterpret_cast( - &_Param_default_instance_); - } - static constexpr int kIndexInFileMessages = - 17; + private: + const ::pg_query::PrepareStmt& _internal_prepare_stmt() const; + ::pg_query::PrepareStmt* _internal_mutable_prepare_stmt(); - friend void swap(Param& a, Param& b) { - a.Swap(&b); - } - inline void Swap(Param* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Param* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } + public: + // .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"]; + bool has_execute_stmt() const; + private: + bool _internal_has_execute_stmt() const; - // implements Message ---------------------------------------------- + public: + void clear_execute_stmt() ; + const ::pg_query::ExecuteStmt& execute_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ExecuteStmt* release_execute_stmt(); + ::pg_query::ExecuteStmt* mutable_execute_stmt(); + void set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); + void unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); + ::pg_query::ExecuteStmt* unsafe_arena_release_execute_stmt(); - Param* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Param& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Param& from) { - Param::MergeImpl(*this, from); - } private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::pg_query::ExecuteStmt& _internal_execute_stmt() const; + ::pg_query::ExecuteStmt* _internal_mutable_execute_stmt(); + public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + // .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"]; + bool has_deallocate_stmt() const; + private: + bool _internal_has_deallocate_stmt() const; - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } + public: + void clear_deallocate_stmt() ; + const ::pg_query::DeallocateStmt& deallocate_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeallocateStmt* release_deallocate_stmt(); + ::pg_query::DeallocateStmt* mutable_deallocate_stmt(); + void set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); + void unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); + ::pg_query::DeallocateStmt* unsafe_arena_release_deallocate_stmt(); private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(Param* other); + const ::pg_query::DeallocateStmt& _internal_deallocate_stmt() const; + ::pg_query::DeallocateStmt* _internal_mutable_deallocate_stmt(); - private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.Param"; - } - protected: - explicit Param(::google::protobuf::Arena* arena); - Param(::google::protobuf::Arena* arena, const Param& from); public: + // .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"]; + bool has_drop_owned_stmt() const; + private: + bool _internal_has_drop_owned_stmt() const; - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; + public: + void clear_drop_owned_stmt() ; + const ::pg_query::DropOwnedStmt& drop_owned_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropOwnedStmt* release_drop_owned_stmt(); + ::pg_query::DropOwnedStmt* mutable_drop_owned_stmt(); + void set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); + void unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); + ::pg_query::DropOwnedStmt* unsafe_arena_release_drop_owned_stmt(); - ::google::protobuf::Metadata GetMetadata() const final; + private: + const ::pg_query::DropOwnedStmt& _internal_drop_owned_stmt() const; + ::pg_query::DropOwnedStmt* _internal_mutable_drop_owned_stmt(); - // nested types ---------------------------------------------------- + public: + // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"]; + bool has_reassign_owned_stmt() const; + private: + bool _internal_has_reassign_owned_stmt() const; - // accessors ------------------------------------------------------- + public: + void clear_reassign_owned_stmt() ; + const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReassignOwnedStmt* release_reassign_owned_stmt(); + ::pg_query::ReassignOwnedStmt* mutable_reassign_owned_stmt(); + void set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); + void unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); + ::pg_query::ReassignOwnedStmt* unsafe_arena_release_reassign_owned_stmt(); - enum : int { - kXprFieldNumber = 1, - kParamkindFieldNumber = 2, - kParamidFieldNumber = 3, - kParamtypeFieldNumber = 4, - kParamtypmodFieldNumber = 5, - kParamcollidFieldNumber = 6, - kLocationFieldNumber = 7, - }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + private: + const ::pg_query::ReassignOwnedStmt& _internal_reassign_owned_stmt() const; + ::pg_query::ReassignOwnedStmt* _internal_mutable_reassign_owned_stmt(); + public: + // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"]; + bool has_alter_tsdictionary_stmt() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + bool _internal_has_alter_tsdictionary_stmt() const; public: - // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; - void clear_paramkind() ; - ::pg_query::ParamKind paramkind() const; - void set_paramkind(::pg_query::ParamKind value); + void clear_alter_tsdictionary_stmt() ; + const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTSDictionaryStmt* release_alter_tsdictionary_stmt(); + ::pg_query::AlterTSDictionaryStmt* mutable_alter_tsdictionary_stmt(); + void set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); + void unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); + ::pg_query::AlterTSDictionaryStmt* unsafe_arena_release_alter_tsdictionary_stmt(); private: - ::pg_query::ParamKind _internal_paramkind() const; - void _internal_set_paramkind(::pg_query::ParamKind value); + const ::pg_query::AlterTSDictionaryStmt& _internal_alter_tsdictionary_stmt() const; + ::pg_query::AlterTSDictionaryStmt* _internal_mutable_alter_tsdictionary_stmt(); public: - // int32 paramid = 3 [json_name = "paramid"]; - void clear_paramid() ; - ::int32_t paramid() const; - void set_paramid(::int32_t value); - + // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"]; + bool has_alter_tsconfiguration_stmt() const; private: - ::int32_t _internal_paramid() const; - void _internal_set_paramid(::int32_t value); + bool _internal_has_alter_tsconfiguration_stmt() const; public: - // uint32 paramtype = 4 [json_name = "paramtype"]; - void clear_paramtype() ; - ::uint32_t paramtype() const; - void set_paramtype(::uint32_t value); + void clear_alter_tsconfiguration_stmt() ; + const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTSConfigurationStmt* release_alter_tsconfiguration_stmt(); + ::pg_query::AlterTSConfigurationStmt* mutable_alter_tsconfiguration_stmt(); + void set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); + void unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); + ::pg_query::AlterTSConfigurationStmt* unsafe_arena_release_alter_tsconfiguration_stmt(); private: - ::uint32_t _internal_paramtype() const; - void _internal_set_paramtype(::uint32_t value); + const ::pg_query::AlterTSConfigurationStmt& _internal_alter_tsconfiguration_stmt() const; + ::pg_query::AlterTSConfigurationStmt* _internal_mutable_alter_tsconfiguration_stmt(); public: - // int32 paramtypmod = 5 [json_name = "paramtypmod"]; - void clear_paramtypmod() ; - ::int32_t paramtypmod() const; - void set_paramtypmod(::int32_t value); - + // .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"]; + bool has_publication_table() const; private: - ::int32_t _internal_paramtypmod() const; - void _internal_set_paramtypmod(::int32_t value); + bool _internal_has_publication_table() const; public: - // uint32 paramcollid = 6 [json_name = "paramcollid"]; - void clear_paramcollid() ; - ::uint32_t paramcollid() const; - void set_paramcollid(::uint32_t value); + void clear_publication_table() ; + const ::pg_query::PublicationTable& publication_table() const; + PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_publication_table(); + ::pg_query::PublicationTable* mutable_publication_table(); + void set_allocated_publication_table(::pg_query::PublicationTable* value); + void unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value); + ::pg_query::PublicationTable* unsafe_arena_release_publication_table(); private: - ::uint32_t _internal_paramcollid() const; - void _internal_set_paramcollid(::uint32_t value); + const ::pg_query::PublicationTable& _internal_publication_table() const; + ::pg_query::PublicationTable* _internal_mutable_publication_table(); public: - // int32 location = 7 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - + // .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"]; + bool has_publication_obj_spec() const; private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_has_publication_obj_spec() const; public: - // @@protoc_insertion_point(class_scope:pg_query.Param) - private: - class _Internal; + void clear_publication_obj_spec() ; + const ::pg_query::PublicationObjSpec& publication_obj_spec() const; + PROTOBUF_NODISCARD ::pg_query::PublicationObjSpec* release_publication_obj_spec(); + ::pg_query::PublicationObjSpec* mutable_publication_obj_spec(); + void set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); + void unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); + ::pg_query::PublicationObjSpec* unsafe_arena_release_publication_obj_spec(); + + private: + const ::pg_query::PublicationObjSpec& _internal_publication_obj_spec() const; + ::pg_query::PublicationObjSpec* _internal_mutable_publication_obj_spec(); + + public: + // .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"]; + bool has_create_publication_stmt() const; + private: + bool _internal_has_create_publication_stmt() const; + + public: + void clear_create_publication_stmt() ; + const ::pg_query::CreatePublicationStmt& create_publication_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePublicationStmt* release_create_publication_stmt(); + ::pg_query::CreatePublicationStmt* mutable_create_publication_stmt(); + void set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); + void unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); + ::pg_query::CreatePublicationStmt* unsafe_arena_release_create_publication_stmt(); + + private: + const ::pg_query::CreatePublicationStmt& _internal_create_publication_stmt() const; + ::pg_query::CreatePublicationStmt* _internal_mutable_create_publication_stmt(); + + public: + // .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"]; + bool has_alter_publication_stmt() const; + private: + bool _internal_has_alter_publication_stmt() const; + + public: + void clear_alter_publication_stmt() ; + const ::pg_query::AlterPublicationStmt& alter_publication_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterPublicationStmt* release_alter_publication_stmt(); + ::pg_query::AlterPublicationStmt* mutable_alter_publication_stmt(); + void set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); + void unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); + ::pg_query::AlterPublicationStmt* unsafe_arena_release_alter_publication_stmt(); + + private: + const ::pg_query::AlterPublicationStmt& _internal_alter_publication_stmt() const; + ::pg_query::AlterPublicationStmt* _internal_mutable_alter_publication_stmt(); + + public: + // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"]; + bool has_create_subscription_stmt() const; + private: + bool _internal_has_create_subscription_stmt() const; + + public: + void clear_create_subscription_stmt() ; + const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSubscriptionStmt* release_create_subscription_stmt(); + ::pg_query::CreateSubscriptionStmt* mutable_create_subscription_stmt(); + void set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); + void unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); + ::pg_query::CreateSubscriptionStmt* unsafe_arena_release_create_subscription_stmt(); + + private: + const ::pg_query::CreateSubscriptionStmt& _internal_create_subscription_stmt() const; + ::pg_query::CreateSubscriptionStmt* _internal_mutable_create_subscription_stmt(); + + public: + // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"]; + bool has_alter_subscription_stmt() const; + private: + bool _internal_has_alter_subscription_stmt() const; + + public: + void clear_alter_subscription_stmt() ; + const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSubscriptionStmt* release_alter_subscription_stmt(); + ::pg_query::AlterSubscriptionStmt* mutable_alter_subscription_stmt(); + void set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); + void unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); + ::pg_query::AlterSubscriptionStmt* unsafe_arena_release_alter_subscription_stmt(); + + private: + const ::pg_query::AlterSubscriptionStmt& _internal_alter_subscription_stmt() const; + ::pg_query::AlterSubscriptionStmt* _internal_mutable_alter_subscription_stmt(); + + public: + // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"]; + bool has_drop_subscription_stmt() const; + private: + bool _internal_has_drop_subscription_stmt() const; + + public: + void clear_drop_subscription_stmt() ; + const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropSubscriptionStmt* release_drop_subscription_stmt(); + ::pg_query::DropSubscriptionStmt* mutable_drop_subscription_stmt(); + void set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); + void unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); + ::pg_query::DropSubscriptionStmt* unsafe_arena_release_drop_subscription_stmt(); + + private: + const ::pg_query::DropSubscriptionStmt& _internal_drop_subscription_stmt() const; + ::pg_query::DropSubscriptionStmt* _internal_mutable_drop_subscription_stmt(); + + public: + // .pg_query.Integer integer = 260 [json_name = "Integer"]; + bool has_integer() const; + private: + bool _internal_has_integer() const; + + public: + void clear_integer() ; + const ::pg_query::Integer& integer() const; + PROTOBUF_NODISCARD ::pg_query::Integer* release_integer(); + ::pg_query::Integer* mutable_integer(); + void set_allocated_integer(::pg_query::Integer* value); + void unsafe_arena_set_allocated_integer(::pg_query::Integer* value); + ::pg_query::Integer* unsafe_arena_release_integer(); + + private: + const ::pg_query::Integer& _internal_integer() const; + ::pg_query::Integer* _internal_mutable_integer(); + + public: + // .pg_query.Float float = 261 [json_name = "Float"]; + bool has_float_() const; + private: + bool _internal_has_float_() const; + + public: + void clear_float_() ; + const ::pg_query::Float& float_() const; + PROTOBUF_NODISCARD ::pg_query::Float* release_float_(); + ::pg_query::Float* mutable_float_(); + void set_allocated_float_(::pg_query::Float* value); + void unsafe_arena_set_allocated_float_(::pg_query::Float* value); + ::pg_query::Float* unsafe_arena_release_float_(); + + private: + const ::pg_query::Float& _internal_float_() const; + ::pg_query::Float* _internal_mutable_float_(); + + public: + // .pg_query.Boolean boolean = 262 [json_name = "Boolean"]; + bool has_boolean() const; + private: + bool _internal_has_boolean() const; + + public: + void clear_boolean() ; + const ::pg_query::Boolean& boolean() const; + PROTOBUF_NODISCARD ::pg_query::Boolean* release_boolean(); + ::pg_query::Boolean* mutable_boolean(); + void set_allocated_boolean(::pg_query::Boolean* value); + void unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value); + ::pg_query::Boolean* unsafe_arena_release_boolean(); + + private: + const ::pg_query::Boolean& _internal_boolean() const; + ::pg_query::Boolean* _internal_mutable_boolean(); + + public: + // .pg_query.String string = 263 [json_name = "String"]; + bool has_string() const; + private: + bool _internal_has_string() const; + + public: + void clear_string() ; + const ::pg_query::String& string() const; + PROTOBUF_NODISCARD ::pg_query::String* release_string(); + ::pg_query::String* mutable_string(); + void set_allocated_string(::pg_query::String* value); + void unsafe_arena_set_allocated_string(::pg_query::String* value); + ::pg_query::String* unsafe_arena_release_string(); + + private: + const ::pg_query::String& _internal_string() const; + ::pg_query::String* _internal_mutable_string(); + + public: + // .pg_query.BitString bit_string = 264 [json_name = "BitString"]; + bool has_bit_string() const; + private: + bool _internal_has_bit_string() const; + + public: + void clear_bit_string() ; + const ::pg_query::BitString& bit_string() const; + PROTOBUF_NODISCARD ::pg_query::BitString* release_bit_string(); + ::pg_query::BitString* mutable_bit_string(); + void set_allocated_bit_string(::pg_query::BitString* value); + void unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value); + ::pg_query::BitString* unsafe_arena_release_bit_string(); + + private: + const ::pg_query::BitString& _internal_bit_string() const; + ::pg_query::BitString* _internal_mutable_bit_string(); + + public: + // .pg_query.List list = 265 [json_name = "List"]; + bool has_list() const; + private: + bool _internal_has_list() const; + + public: + void clear_list() ; + const ::pg_query::List& list() const; + PROTOBUF_NODISCARD ::pg_query::List* release_list(); + ::pg_query::List* mutable_list(); + void set_allocated_list(::pg_query::List* value); + void unsafe_arena_set_allocated_list(::pg_query::List* value); + ::pg_query::List* unsafe_arena_release_list(); + + private: + const ::pg_query::List& _internal_list() const; + ::pg_query::List* _internal_mutable_list(); + + public: + // .pg_query.IntList int_list = 266 [json_name = "IntList"]; + bool has_int_list() const; + private: + bool _internal_has_int_list() const; + + public: + void clear_int_list() ; + const ::pg_query::IntList& int_list() const; + PROTOBUF_NODISCARD ::pg_query::IntList* release_int_list(); + ::pg_query::IntList* mutable_int_list(); + void set_allocated_int_list(::pg_query::IntList* value); + void unsafe_arena_set_allocated_int_list(::pg_query::IntList* value); + ::pg_query::IntList* unsafe_arena_release_int_list(); + + private: + const ::pg_query::IntList& _internal_int_list() const; + ::pg_query::IntList* _internal_mutable_int_list(); + + public: + // .pg_query.OidList oid_list = 267 [json_name = "OidList"]; + bool has_oid_list() const; + private: + bool _internal_has_oid_list() const; + + public: + void clear_oid_list() ; + const ::pg_query::OidList& oid_list() const; + PROTOBUF_NODISCARD ::pg_query::OidList* release_oid_list(); + ::pg_query::OidList* mutable_oid_list(); + void set_allocated_oid_list(::pg_query::OidList* value); + void unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value); + ::pg_query::OidList* unsafe_arena_release_oid_list(); + + private: + const ::pg_query::OidList& _internal_oid_list() const; + ::pg_query::OidList* _internal_mutable_oid_list(); + + public: + // .pg_query.A_Const a_const = 268 [json_name = "A_Const"]; + bool has_a_const() const; + private: + bool _internal_has_a_const() const; + + public: + void clear_a_const() ; + const ::pg_query::A_Const& a_const() const; + PROTOBUF_NODISCARD ::pg_query::A_Const* release_a_const(); + ::pg_query::A_Const* mutable_a_const(); + void set_allocated_a_const(::pg_query::A_Const* value); + void unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value); + ::pg_query::A_Const* unsafe_arena_release_a_const(); + + private: + const ::pg_query::A_Const& _internal_a_const() const; + ::pg_query::A_Const* _internal_mutable_a_const(); + + public: + void clear_node(); + NodeCase node_case() const; + // @@protoc_insertion_point(class_scope:pg_query.Node) + private: + class _Internal; + void set_has_alias(); + void set_has_range_var(); + void set_has_table_func(); + void set_has_into_clause(); + void set_has_var(); + void set_has_param(); + void set_has_aggref(); + void set_has_grouping_func(); + void set_has_window_func(); + void set_has_window_func_run_condition(); + void set_has_merge_support_func(); + void set_has_subscripting_ref(); + void set_has_func_expr(); + void set_has_named_arg_expr(); + void set_has_op_expr(); + void set_has_distinct_expr(); + void set_has_null_if_expr(); + void set_has_scalar_array_op_expr(); + void set_has_bool_expr(); + void set_has_sub_link(); + void set_has_sub_plan(); + void set_has_alternative_sub_plan(); + void set_has_field_select(); + void set_has_field_store(); + void set_has_relabel_type(); + void set_has_coerce_via_io(); + void set_has_array_coerce_expr(); + void set_has_convert_rowtype_expr(); + void set_has_collate_expr(); + void set_has_case_expr(); + void set_has_case_when(); + void set_has_case_test_expr(); + void set_has_array_expr(); + void set_has_row_expr(); + void set_has_row_compare_expr(); + void set_has_coalesce_expr(); + void set_has_min_max_expr(); + void set_has_sqlvalue_function(); + void set_has_xml_expr(); + void set_has_json_format(); + void set_has_json_returning(); + void set_has_json_value_expr(); + void set_has_json_constructor_expr(); + void set_has_json_is_predicate(); + void set_has_json_behavior(); + void set_has_json_expr(); + void set_has_json_table_path(); + void set_has_json_table_path_scan(); + void set_has_json_table_sibling_join(); + void set_has_null_test(); + void set_has_boolean_test(); + void set_has_merge_action(); + void set_has_coerce_to_domain(); + void set_has_coerce_to_domain_value(); + void set_has_set_to_default(); + void set_has_current_of_expr(); + void set_has_next_value_expr(); + void set_has_inference_elem(); + void set_has_target_entry(); + void set_has_range_tbl_ref(); + void set_has_join_expr(); + void set_has_from_expr(); + void set_has_on_conflict_expr(); + void set_has_query(); + void set_has_type_name(); + void set_has_column_ref(); + void set_has_param_ref(); + void set_has_a_expr(); + void set_has_type_cast(); + void set_has_collate_clause(); + void set_has_role_spec(); + void set_has_func_call(); + void set_has_a_star(); + void set_has_a_indices(); + void set_has_a_indirection(); + void set_has_a_array_expr(); + void set_has_res_target(); + void set_has_multi_assign_ref(); + void set_has_sort_by(); + void set_has_window_def(); + void set_has_range_subselect(); + void set_has_range_function(); + void set_has_range_table_func(); + void set_has_range_table_func_col(); + void set_has_range_table_sample(); + void set_has_column_def(); + void set_has_table_like_clause(); + void set_has_index_elem(); + void set_has_def_elem(); + void set_has_locking_clause(); + void set_has_xml_serialize(); + void set_has_partition_elem(); + void set_has_partition_spec(); + void set_has_partition_bound_spec(); + void set_has_partition_range_datum(); + void set_has_single_partition_spec(); + void set_has_partition_cmd(); + void set_has_range_tbl_entry(); + void set_has_rtepermission_info(); + void set_has_range_tbl_function(); + void set_has_table_sample_clause(); + void set_has_with_check_option(); + void set_has_sort_group_clause(); + void set_has_grouping_set(); + void set_has_window_clause(); + void set_has_row_mark_clause(); + void set_has_with_clause(); + void set_has_infer_clause(); + void set_has_on_conflict_clause(); + void set_has_ctesearch_clause(); + void set_has_ctecycle_clause(); + void set_has_common_table_expr(); + void set_has_merge_when_clause(); + void set_has_trigger_transition(); + void set_has_json_output(); + void set_has_json_argument(); + void set_has_json_func_expr(); + void set_has_json_table_path_spec(); + void set_has_json_table(); + void set_has_json_table_column(); + void set_has_json_key_value(); + void set_has_json_parse_expr(); + void set_has_json_scalar_expr(); + void set_has_json_serialize_expr(); + void set_has_json_object_constructor(); + void set_has_json_array_constructor(); + void set_has_json_array_query_constructor(); + void set_has_json_agg_constructor(); + void set_has_json_object_agg(); + void set_has_json_array_agg(); + void set_has_raw_stmt(); + void set_has_insert_stmt(); + void set_has_delete_stmt(); + void set_has_update_stmt(); + void set_has_merge_stmt(); + void set_has_select_stmt(); + void set_has_set_operation_stmt(); + void set_has_return_stmt(); + void set_has_plassign_stmt(); + void set_has_create_schema_stmt(); + void set_has_alter_table_stmt(); + void set_has_replica_identity_stmt(); + void set_has_alter_table_cmd(); + void set_has_alter_collation_stmt(); + void set_has_alter_domain_stmt(); + void set_has_grant_stmt(); + void set_has_object_with_args(); + void set_has_access_priv(); + void set_has_grant_role_stmt(); + void set_has_alter_default_privileges_stmt(); + void set_has_copy_stmt(); + void set_has_variable_set_stmt(); + void set_has_variable_show_stmt(); + void set_has_create_stmt(); + void set_has_constraint(); + void set_has_create_table_space_stmt(); + void set_has_drop_table_space_stmt(); + void set_has_alter_table_space_options_stmt(); + void set_has_alter_table_move_all_stmt(); + void set_has_create_extension_stmt(); + void set_has_alter_extension_stmt(); + void set_has_alter_extension_contents_stmt(); + void set_has_create_fdw_stmt(); + void set_has_alter_fdw_stmt(); + void set_has_create_foreign_server_stmt(); + void set_has_alter_foreign_server_stmt(); + void set_has_create_foreign_table_stmt(); + void set_has_create_user_mapping_stmt(); + void set_has_alter_user_mapping_stmt(); + void set_has_drop_user_mapping_stmt(); + void set_has_import_foreign_schema_stmt(); + void set_has_create_policy_stmt(); + void set_has_alter_policy_stmt(); + void set_has_create_am_stmt(); + void set_has_create_trig_stmt(); + void set_has_create_event_trig_stmt(); + void set_has_alter_event_trig_stmt(); + void set_has_create_plang_stmt(); + void set_has_create_role_stmt(); + void set_has_alter_role_stmt(); + void set_has_alter_role_set_stmt(); + void set_has_drop_role_stmt(); + void set_has_create_seq_stmt(); + void set_has_alter_seq_stmt(); + void set_has_define_stmt(); + void set_has_create_domain_stmt(); + void set_has_create_op_class_stmt(); + void set_has_create_op_class_item(); + void set_has_create_op_family_stmt(); + void set_has_alter_op_family_stmt(); + void set_has_drop_stmt(); + void set_has_truncate_stmt(); + void set_has_comment_stmt(); + void set_has_sec_label_stmt(); + void set_has_declare_cursor_stmt(); + void set_has_close_portal_stmt(); + void set_has_fetch_stmt(); + void set_has_index_stmt(); + void set_has_create_stats_stmt(); + void set_has_stats_elem(); + void set_has_alter_stats_stmt(); + void set_has_create_function_stmt(); + void set_has_function_parameter(); + void set_has_alter_function_stmt(); + void set_has_do_stmt(); + void set_has_inline_code_block(); + void set_has_call_stmt(); + void set_has_call_context(); + void set_has_rename_stmt(); + void set_has_alter_object_depends_stmt(); + void set_has_alter_object_schema_stmt(); + void set_has_alter_owner_stmt(); + void set_has_alter_operator_stmt(); + void set_has_alter_type_stmt(); + void set_has_rule_stmt(); + void set_has_notify_stmt(); + void set_has_listen_stmt(); + void set_has_unlisten_stmt(); + void set_has_transaction_stmt(); + void set_has_composite_type_stmt(); + void set_has_create_enum_stmt(); + void set_has_create_range_stmt(); + void set_has_alter_enum_stmt(); + void set_has_view_stmt(); + void set_has_load_stmt(); + void set_has_createdb_stmt(); + void set_has_alter_database_stmt(); + void set_has_alter_database_refresh_coll_stmt(); + void set_has_alter_database_set_stmt(); + void set_has_dropdb_stmt(); + void set_has_alter_system_stmt(); + void set_has_cluster_stmt(); + void set_has_vacuum_stmt(); + void set_has_vacuum_relation(); + void set_has_explain_stmt(); + void set_has_create_table_as_stmt(); + void set_has_refresh_mat_view_stmt(); + void set_has_check_point_stmt(); + void set_has_discard_stmt(); + void set_has_lock_stmt(); + void set_has_constraints_set_stmt(); + void set_has_reindex_stmt(); + void set_has_create_conversion_stmt(); + void set_has_create_cast_stmt(); + void set_has_create_transform_stmt(); + void set_has_prepare_stmt(); + void set_has_execute_stmt(); + void set_has_deallocate_stmt(); + void set_has_drop_owned_stmt(); + void set_has_reassign_owned_stmt(); + void set_has_alter_tsdictionary_stmt(); + void set_has_alter_tsconfiguration_stmt(); + void set_has_publication_table(); + void set_has_publication_obj_spec(); + void set_has_create_publication_stmt(); + void set_has_alter_publication_stmt(); + void set_has_create_subscription_stmt(); + void set_has_alter_subscription_stmt(); + void set_has_drop_subscription_stmt(); + void set_has_integer(); + void set_has_float_(); + void set_has_boolean(); + void set_has_string(); + void set_has_bit_string(); + void set_has_list(); + void set_has_int_list(); + void set_has_oid_list(); + void set_has_a_const(); + + inline bool has_node() const; + inline void clear_has_node(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 1, - 0, 2> + 0, 268, 268, + 0, 35> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -55347,41 +57279,307 @@ class Param final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + union NodeUnion { + constexpr NodeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::pg_query::Alias* alias_; + ::pg_query::RangeVar* range_var_; + ::pg_query::TableFunc* table_func_; + ::pg_query::IntoClause* into_clause_; + ::pg_query::Var* var_; + ::pg_query::Param* param_; + ::pg_query::Aggref* aggref_; + ::pg_query::GroupingFunc* grouping_func_; + ::pg_query::WindowFunc* window_func_; + ::pg_query::WindowFuncRunCondition* window_func_run_condition_; + ::pg_query::MergeSupportFunc* merge_support_func_; + ::pg_query::SubscriptingRef* subscripting_ref_; + ::pg_query::FuncExpr* func_expr_; + ::pg_query::NamedArgExpr* named_arg_expr_; + ::pg_query::OpExpr* op_expr_; + ::pg_query::DistinctExpr* distinct_expr_; + ::pg_query::NullIfExpr* null_if_expr_; + ::pg_query::ScalarArrayOpExpr* scalar_array_op_expr_; + ::pg_query::BoolExpr* bool_expr_; + ::pg_query::SubLink* sub_link_; + ::pg_query::SubPlan* sub_plan_; + ::pg_query::AlternativeSubPlan* alternative_sub_plan_; + ::pg_query::FieldSelect* field_select_; + ::pg_query::FieldStore* field_store_; + ::pg_query::RelabelType* relabel_type_; + ::pg_query::CoerceViaIO* coerce_via_io_; + ::pg_query::ArrayCoerceExpr* array_coerce_expr_; + ::pg_query::ConvertRowtypeExpr* convert_rowtype_expr_; + ::pg_query::CollateExpr* collate_expr_; + ::pg_query::CaseExpr* case_expr_; + ::pg_query::CaseWhen* case_when_; + ::pg_query::CaseTestExpr* case_test_expr_; + ::pg_query::ArrayExpr* array_expr_; + ::pg_query::RowExpr* row_expr_; + ::pg_query::RowCompareExpr* row_compare_expr_; + ::pg_query::CoalesceExpr* coalesce_expr_; + ::pg_query::MinMaxExpr* min_max_expr_; + ::pg_query::SQLValueFunction* sqlvalue_function_; + ::pg_query::XmlExpr* xml_expr_; + ::pg_query::JsonFormat* json_format_; + ::pg_query::JsonReturning* json_returning_; + ::pg_query::JsonValueExpr* json_value_expr_; + ::pg_query::JsonConstructorExpr* json_constructor_expr_; + ::pg_query::JsonIsPredicate* json_is_predicate_; + ::pg_query::JsonBehavior* json_behavior_; + ::pg_query::JsonExpr* json_expr_; + ::pg_query::JsonTablePath* json_table_path_; + ::pg_query::JsonTablePathScan* json_table_path_scan_; + ::pg_query::JsonTableSiblingJoin* json_table_sibling_join_; + ::pg_query::NullTest* null_test_; + ::pg_query::BooleanTest* boolean_test_; + ::pg_query::MergeAction* merge_action_; + ::pg_query::CoerceToDomain* coerce_to_domain_; + ::pg_query::CoerceToDomainValue* coerce_to_domain_value_; + ::pg_query::SetToDefault* set_to_default_; + ::pg_query::CurrentOfExpr* current_of_expr_; + ::pg_query::NextValueExpr* next_value_expr_; + ::pg_query::InferenceElem* inference_elem_; + ::pg_query::TargetEntry* target_entry_; + ::pg_query::RangeTblRef* range_tbl_ref_; + ::pg_query::JoinExpr* join_expr_; + ::pg_query::FromExpr* from_expr_; + ::pg_query::OnConflictExpr* on_conflict_expr_; + ::pg_query::Query* query_; + ::pg_query::TypeName* type_name_; + ::pg_query::ColumnRef* column_ref_; + ::pg_query::ParamRef* param_ref_; + ::pg_query::A_Expr* a_expr_; + ::pg_query::TypeCast* type_cast_; + ::pg_query::CollateClause* collate_clause_; + ::pg_query::RoleSpec* role_spec_; + ::pg_query::FuncCall* func_call_; + ::pg_query::A_Star* a_star_; + ::pg_query::A_Indices* a_indices_; + ::pg_query::A_Indirection* a_indirection_; + ::pg_query::A_ArrayExpr* a_array_expr_; + ::pg_query::ResTarget* res_target_; + ::pg_query::MultiAssignRef* multi_assign_ref_; + ::pg_query::SortBy* sort_by_; + ::pg_query::WindowDef* window_def_; + ::pg_query::RangeSubselect* range_subselect_; + ::pg_query::RangeFunction* range_function_; + ::pg_query::RangeTableFunc* range_table_func_; + ::pg_query::RangeTableFuncCol* range_table_func_col_; + ::pg_query::RangeTableSample* range_table_sample_; + ::pg_query::ColumnDef* column_def_; + ::pg_query::TableLikeClause* table_like_clause_; + ::pg_query::IndexElem* index_elem_; + ::pg_query::DefElem* def_elem_; + ::pg_query::LockingClause* locking_clause_; + ::pg_query::XmlSerialize* xml_serialize_; + ::pg_query::PartitionElem* partition_elem_; + ::pg_query::PartitionSpec* partition_spec_; + ::pg_query::PartitionBoundSpec* partition_bound_spec_; + ::pg_query::PartitionRangeDatum* partition_range_datum_; + ::pg_query::SinglePartitionSpec* single_partition_spec_; + ::pg_query::PartitionCmd* partition_cmd_; + ::pg_query::RangeTblEntry* range_tbl_entry_; + ::pg_query::RTEPermissionInfo* rtepermission_info_; + ::pg_query::RangeTblFunction* range_tbl_function_; + ::pg_query::TableSampleClause* table_sample_clause_; + ::pg_query::WithCheckOption* with_check_option_; + ::pg_query::SortGroupClause* sort_group_clause_; + ::pg_query::GroupingSet* grouping_set_; + ::pg_query::WindowClause* window_clause_; + ::pg_query::RowMarkClause* row_mark_clause_; + ::pg_query::WithClause* with_clause_; + ::pg_query::InferClause* infer_clause_; + ::pg_query::OnConflictClause* on_conflict_clause_; + ::pg_query::CTESearchClause* ctesearch_clause_; + ::pg_query::CTECycleClause* ctecycle_clause_; + ::pg_query::CommonTableExpr* common_table_expr_; + ::pg_query::MergeWhenClause* merge_when_clause_; + ::pg_query::TriggerTransition* trigger_transition_; + ::pg_query::JsonOutput* json_output_; + ::pg_query::JsonArgument* json_argument_; + ::pg_query::JsonFuncExpr* json_func_expr_; + ::pg_query::JsonTablePathSpec* json_table_path_spec_; + ::pg_query::JsonTable* json_table_; + ::pg_query::JsonTableColumn* json_table_column_; + ::pg_query::JsonKeyValue* json_key_value_; + ::pg_query::JsonParseExpr* json_parse_expr_; + ::pg_query::JsonScalarExpr* json_scalar_expr_; + ::pg_query::JsonSerializeExpr* json_serialize_expr_; + ::pg_query::JsonObjectConstructor* json_object_constructor_; + ::pg_query::JsonArrayConstructor* json_array_constructor_; + ::pg_query::JsonArrayQueryConstructor* json_array_query_constructor_; + ::pg_query::JsonAggConstructor* json_agg_constructor_; + ::pg_query::JsonObjectAgg* json_object_agg_; + ::pg_query::JsonArrayAgg* json_array_agg_; + ::pg_query::RawStmt* raw_stmt_; + ::pg_query::InsertStmt* insert_stmt_; + ::pg_query::DeleteStmt* delete_stmt_; + ::pg_query::UpdateStmt* update_stmt_; + ::pg_query::MergeStmt* merge_stmt_; + ::pg_query::SelectStmt* select_stmt_; + ::pg_query::SetOperationStmt* set_operation_stmt_; + ::pg_query::ReturnStmt* return_stmt_; + ::pg_query::PLAssignStmt* plassign_stmt_; + ::pg_query::CreateSchemaStmt* create_schema_stmt_; + ::pg_query::AlterTableStmt* alter_table_stmt_; + ::pg_query::ReplicaIdentityStmt* replica_identity_stmt_; + ::pg_query::AlterTableCmd* alter_table_cmd_; + ::pg_query::AlterCollationStmt* alter_collation_stmt_; + ::pg_query::AlterDomainStmt* alter_domain_stmt_; + ::pg_query::GrantStmt* grant_stmt_; + ::pg_query::ObjectWithArgs* object_with_args_; + ::pg_query::AccessPriv* access_priv_; + ::pg_query::GrantRoleStmt* grant_role_stmt_; + ::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt_; + ::pg_query::CopyStmt* copy_stmt_; + ::pg_query::VariableSetStmt* variable_set_stmt_; + ::pg_query::VariableShowStmt* variable_show_stmt_; + ::pg_query::CreateStmt* create_stmt_; + ::pg_query::Constraint* constraint_; + ::pg_query::CreateTableSpaceStmt* create_table_space_stmt_; + ::pg_query::DropTableSpaceStmt* drop_table_space_stmt_; + ::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt_; + ::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt_; + ::pg_query::CreateExtensionStmt* create_extension_stmt_; + ::pg_query::AlterExtensionStmt* alter_extension_stmt_; + ::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt_; + ::pg_query::CreateFdwStmt* create_fdw_stmt_; + ::pg_query::AlterFdwStmt* alter_fdw_stmt_; + ::pg_query::CreateForeignServerStmt* create_foreign_server_stmt_; + ::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt_; + ::pg_query::CreateForeignTableStmt* create_foreign_table_stmt_; + ::pg_query::CreateUserMappingStmt* create_user_mapping_stmt_; + ::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt_; + ::pg_query::DropUserMappingStmt* drop_user_mapping_stmt_; + ::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt_; + ::pg_query::CreatePolicyStmt* create_policy_stmt_; + ::pg_query::AlterPolicyStmt* alter_policy_stmt_; + ::pg_query::CreateAmStmt* create_am_stmt_; + ::pg_query::CreateTrigStmt* create_trig_stmt_; + ::pg_query::CreateEventTrigStmt* create_event_trig_stmt_; + ::pg_query::AlterEventTrigStmt* alter_event_trig_stmt_; + ::pg_query::CreatePLangStmt* create_plang_stmt_; + ::pg_query::CreateRoleStmt* create_role_stmt_; + ::pg_query::AlterRoleStmt* alter_role_stmt_; + ::pg_query::AlterRoleSetStmt* alter_role_set_stmt_; + ::pg_query::DropRoleStmt* drop_role_stmt_; + ::pg_query::CreateSeqStmt* create_seq_stmt_; + ::pg_query::AlterSeqStmt* alter_seq_stmt_; + ::pg_query::DefineStmt* define_stmt_; + ::pg_query::CreateDomainStmt* create_domain_stmt_; + ::pg_query::CreateOpClassStmt* create_op_class_stmt_; + ::pg_query::CreateOpClassItem* create_op_class_item_; + ::pg_query::CreateOpFamilyStmt* create_op_family_stmt_; + ::pg_query::AlterOpFamilyStmt* alter_op_family_stmt_; + ::pg_query::DropStmt* drop_stmt_; + ::pg_query::TruncateStmt* truncate_stmt_; + ::pg_query::CommentStmt* comment_stmt_; + ::pg_query::SecLabelStmt* sec_label_stmt_; + ::pg_query::DeclareCursorStmt* declare_cursor_stmt_; + ::pg_query::ClosePortalStmt* close_portal_stmt_; + ::pg_query::FetchStmt* fetch_stmt_; + ::pg_query::IndexStmt* index_stmt_; + ::pg_query::CreateStatsStmt* create_stats_stmt_; + ::pg_query::StatsElem* stats_elem_; + ::pg_query::AlterStatsStmt* alter_stats_stmt_; + ::pg_query::CreateFunctionStmt* create_function_stmt_; + ::pg_query::FunctionParameter* function_parameter_; + ::pg_query::AlterFunctionStmt* alter_function_stmt_; + ::pg_query::DoStmt* do_stmt_; + ::pg_query::InlineCodeBlock* inline_code_block_; + ::pg_query::CallStmt* call_stmt_; + ::pg_query::CallContext* call_context_; + ::pg_query::RenameStmt* rename_stmt_; + ::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt_; + ::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt_; + ::pg_query::AlterOwnerStmt* alter_owner_stmt_; + ::pg_query::AlterOperatorStmt* alter_operator_stmt_; + ::pg_query::AlterTypeStmt* alter_type_stmt_; + ::pg_query::RuleStmt* rule_stmt_; + ::pg_query::NotifyStmt* notify_stmt_; + ::pg_query::ListenStmt* listen_stmt_; + ::pg_query::UnlistenStmt* unlisten_stmt_; + ::pg_query::TransactionStmt* transaction_stmt_; + ::pg_query::CompositeTypeStmt* composite_type_stmt_; + ::pg_query::CreateEnumStmt* create_enum_stmt_; + ::pg_query::CreateRangeStmt* create_range_stmt_; + ::pg_query::AlterEnumStmt* alter_enum_stmt_; + ::pg_query::ViewStmt* view_stmt_; + ::pg_query::LoadStmt* load_stmt_; + ::pg_query::CreatedbStmt* createdb_stmt_; + ::pg_query::AlterDatabaseStmt* alter_database_stmt_; + ::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt_; + ::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt_; + ::pg_query::DropdbStmt* dropdb_stmt_; + ::pg_query::AlterSystemStmt* alter_system_stmt_; + ::pg_query::ClusterStmt* cluster_stmt_; + ::pg_query::VacuumStmt* vacuum_stmt_; + ::pg_query::VacuumRelation* vacuum_relation_; + ::pg_query::ExplainStmt* explain_stmt_; + ::pg_query::CreateTableAsStmt* create_table_as_stmt_; + ::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt_; + ::pg_query::CheckPointStmt* check_point_stmt_; + ::pg_query::DiscardStmt* discard_stmt_; + ::pg_query::LockStmt* lock_stmt_; + ::pg_query::ConstraintsSetStmt* constraints_set_stmt_; + ::pg_query::ReindexStmt* reindex_stmt_; + ::pg_query::CreateConversionStmt* create_conversion_stmt_; + ::pg_query::CreateCastStmt* create_cast_stmt_; + ::pg_query::CreateTransformStmt* create_transform_stmt_; + ::pg_query::PrepareStmt* prepare_stmt_; + ::pg_query::ExecuteStmt* execute_stmt_; + ::pg_query::DeallocateStmt* deallocate_stmt_; + ::pg_query::DropOwnedStmt* drop_owned_stmt_; + ::pg_query::ReassignOwnedStmt* reassign_owned_stmt_; + ::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt_; + ::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt_; + ::pg_query::PublicationTable* publication_table_; + ::pg_query::PublicationObjSpec* publication_obj_spec_; + ::pg_query::CreatePublicationStmt* create_publication_stmt_; + ::pg_query::AlterPublicationStmt* alter_publication_stmt_; + ::pg_query::CreateSubscriptionStmt* create_subscription_stmt_; + ::pg_query::AlterSubscriptionStmt* alter_subscription_stmt_; + ::pg_query::DropSubscriptionStmt* drop_subscription_stmt_; + ::pg_query::Integer* integer_; + ::pg_query::Float* float__; + ::pg_query::Boolean* boolean_; + ::pg_query::String* string_; + ::pg_query::BitString* bit_string_; + ::pg_query::List* list_; + ::pg_query::IntList* int_list_; + ::pg_query::OidList* oid_list_; + ::pg_query::A_Const* a_const_; + } node_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - int paramkind_; - ::int32_t paramid_; - ::uint32_t paramtype_; - ::int32_t paramtypmod_; - ::uint32_t paramcollid_; - ::int32_t location_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PartitionBoundSpec final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionBoundSpec) */ { +class NullIfExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullIfExpr) */ { public: - inline PartitionBoundSpec() : PartitionBoundSpec(nullptr) {} - ~PartitionBoundSpec() override; + inline NullIfExpr() : NullIfExpr(nullptr) {} + ~NullIfExpr() override; template - explicit PROTOBUF_CONSTEXPR PartitionBoundSpec(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR NullIfExpr(::google::protobuf::internal::ConstantInitialized); - inline PartitionBoundSpec(const PartitionBoundSpec& from) - : PartitionBoundSpec(nullptr, from) {} - PartitionBoundSpec(PartitionBoundSpec&& from) noexcept - : PartitionBoundSpec() { + inline NullIfExpr(const NullIfExpr& from) + : NullIfExpr(nullptr, from) {} + NullIfExpr(NullIfExpr&& from) noexcept + : NullIfExpr() { *this = ::std::move(from); } - inline PartitionBoundSpec& operator=(const PartitionBoundSpec& from) { + inline NullIfExpr& operator=(const NullIfExpr& from) { CopyFrom(from); return *this; } - inline PartitionBoundSpec& operator=(PartitionBoundSpec&& from) noexcept { + inline NullIfExpr& operator=(NullIfExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -55413,20 +57611,20 @@ class PartitionBoundSpec final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionBoundSpec& default_instance() { + static const NullIfExpr& default_instance() { return *internal_default_instance(); } - static inline const PartitionBoundSpec* internal_default_instance() { - return reinterpret_cast( - &_PartitionBoundSpec_default_instance_); + static inline const NullIfExpr* internal_default_instance() { + return reinterpret_cast( + &_NullIfExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 28; - friend void swap(PartitionBoundSpec& a, PartitionBoundSpec& b) { + friend void swap(NullIfExpr& a, NullIfExpr& b) { a.Swap(&b); } - inline void Swap(PartitionBoundSpec* other) { + inline void Swap(NullIfExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -55439,7 +57637,7 @@ class PartitionBoundSpec final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionBoundSpec* other) { + void UnsafeArenaSwap(NullIfExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -55447,14 +57645,14 @@ class PartitionBoundSpec final : // implements Message ---------------------------------------------- - PartitionBoundSpec* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + NullIfExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PartitionBoundSpec& from); + void CopyFrom(const NullIfExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PartitionBoundSpec& from) { - PartitionBoundSpec::MergeImpl(*this, from); + void MergeFrom( const NullIfExpr& from) { + NullIfExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -55472,16 +57670,16 @@ class PartitionBoundSpec final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PartitionBoundSpec* other); + void InternalSwap(NullIfExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PartitionBoundSpec"; + return "pg_query.NullIfExpr"; } protected: - explicit PartitionBoundSpec(::google::protobuf::Arena* arena); - PartitionBoundSpec(::google::protobuf::Arena* arena, const PartitionBoundSpec& from); + explicit NullIfExpr(::google::protobuf::Arena* arena); + NullIfExpr(::google::protobuf::Arena* arena, const NullIfExpr& from); public: static const ClassData _class_data_; @@ -55494,113 +57692,96 @@ class PartitionBoundSpec final : // accessors ------------------------------------------------------- enum : int { - kListdatumsFieldNumber = 5, - kLowerdatumsFieldNumber = 6, - kUpperdatumsFieldNumber = 7, - kStrategyFieldNumber = 1, - kIsDefaultFieldNumber = 2, - kModulusFieldNumber = 3, - kRemainderFieldNumber = 4, + kArgsFieldNumber = 7, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kOpresulttypeFieldNumber = 3, + kOpretsetFieldNumber = 4, + kOpcollidFieldNumber = 5, + kInputcollidFieldNumber = 6, kLocationFieldNumber = 8, }; - // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; - int listdatums_size() const; + // repeated .pg_query.Node args = 7 [json_name = "args"]; + int args_size() const; private: - int _internal_listdatums_size() const; + int _internal_args_size() const; public: - void clear_listdatums() ; - ::pg_query::Node* mutable_listdatums(int index); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_listdatums(); + mutable_args(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_listdatums() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_listdatums(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& listdatums(int index) const; - ::pg_query::Node* add_listdatums(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - listdatums() const; - // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; - int lowerdatums_size() const; - private: - int _internal_lowerdatums_size() const; + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - public: - void clear_lowerdatums() ; - ::pg_query::Node* mutable_lowerdatums(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_lowerdatums(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_lowerdatums() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_lowerdatums(); - public: - const ::pg_query::Node& lowerdatums(int index) const; - ::pg_query::Node* add_lowerdatums(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - lowerdatums() const; - // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; - int upperdatums_size() const; - private: - int _internal_upperdatums_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_upperdatums() ; - ::pg_query::Node* mutable_upperdatums(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_upperdatums(); + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_upperdatums() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_upperdatums(); + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + public: - const ::pg_query::Node& upperdatums(int index) const; - ::pg_query::Node* add_upperdatums(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - upperdatums() const; - // string strategy = 1 [json_name = "strategy"]; - void clear_strategy() ; - const std::string& strategy() const; - template - void set_strategy(Arg_&& arg, Args_... args); - std::string* mutable_strategy(); - PROTOBUF_NODISCARD std::string* release_strategy(); - void set_allocated_strategy(std::string* value); + // uint32 opresulttype = 3 [json_name = "opresulttype"]; + void clear_opresulttype() ; + ::uint32_t opresulttype() const; + void set_opresulttype(::uint32_t value); private: - const std::string& _internal_strategy() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy( - const std::string& value); - std::string* _internal_mutable_strategy(); + ::uint32_t _internal_opresulttype() const; + void _internal_set_opresulttype(::uint32_t value); public: - // bool is_default = 2 [json_name = "is_default"]; - void clear_is_default() ; - bool is_default() const; - void set_is_default(bool value); + // bool opretset = 4 [json_name = "opretset"]; + void clear_opretset() ; + bool opretset() const; + void set_opretset(bool value); private: - bool _internal_is_default() const; - void _internal_set_is_default(bool value); + bool _internal_opretset() const; + void _internal_set_opretset(bool value); public: - // int32 modulus = 3 [json_name = "modulus"]; - void clear_modulus() ; - ::int32_t modulus() const; - void set_modulus(::int32_t value); + // uint32 opcollid = 5 [json_name = "opcollid"]; + void clear_opcollid() ; + ::uint32_t opcollid() const; + void set_opcollid(::uint32_t value); private: - ::int32_t _internal_modulus() const; - void _internal_set_modulus(::int32_t value); + ::uint32_t _internal_opcollid() const; + void _internal_set_opcollid(::uint32_t value); public: - // int32 remainder = 4 [json_name = "remainder"]; - void clear_remainder() ; - ::int32_t remainder() const; - void set_remainder(::int32_t value); + // uint32 inputcollid = 6 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); private: - ::int32_t _internal_remainder() const; - void _internal_set_remainder(::int32_t value); + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); public: // int32 location = 8 [json_name = "location"]; @@ -55613,14 +57794,14 @@ class PartitionBoundSpec final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.PartitionBoundSpec) + // @@protoc_insertion_point(class_scope:pg_query.NullIfExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 3, - 52, 2> + 3, 8, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -55636,41 +57817,42 @@ class PartitionBoundSpec final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > listdatums_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > lowerdatums_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > upperdatums_; - ::google::protobuf::internal::ArenaStringPtr strategy_; - bool is_default_; - ::int32_t modulus_; - ::int32_t remainder_; - ::int32_t location_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + ::uint32_t opresulttype_; + bool opretset_; + ::uint32_t opcollid_; + ::uint32_t inputcollid_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PartitionCmd final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionCmd) */ { +class NullTest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullTest) */ { public: - inline PartitionCmd() : PartitionCmd(nullptr) {} - ~PartitionCmd() override; + inline NullTest() : NullTest(nullptr) {} + ~NullTest() override; template - explicit PROTOBUF_CONSTEXPR PartitionCmd(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR NullTest(::google::protobuf::internal::ConstantInitialized); - inline PartitionCmd(const PartitionCmd& from) - : PartitionCmd(nullptr, from) {} - PartitionCmd(PartitionCmd&& from) noexcept - : PartitionCmd() { + inline NullTest(const NullTest& from) + : NullTest(nullptr, from) {} + NullTest(NullTest&& from) noexcept + : NullTest() { *this = ::std::move(from); } - inline PartitionCmd& operator=(const PartitionCmd& from) { + inline NullTest& operator=(const NullTest& from) { CopyFrom(from); return *this; } - inline PartitionCmd& operator=(PartitionCmd&& from) noexcept { + inline NullTest& operator=(NullTest&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -55702,20 +57884,20 @@ class PartitionCmd final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionCmd& default_instance() { + static const NullTest& default_instance() { return *internal_default_instance(); } - static inline const PartitionCmd* internal_default_instance() { - return reinterpret_cast( - &_PartitionCmd_default_instance_); + static inline const NullTest* internal_default_instance() { + return reinterpret_cast( + &_NullTest_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 61; - friend void swap(PartitionCmd& a, PartitionCmd& b) { + friend void swap(NullTest& a, NullTest& b) { a.Swap(&b); } - inline void Swap(PartitionCmd* other) { + inline void Swap(NullTest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -55728,7 +57910,7 @@ class PartitionCmd final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionCmd* other) { + void UnsafeArenaSwap(NullTest* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -55736,14 +57918,14 @@ class PartitionCmd final : // implements Message ---------------------------------------------- - PartitionCmd* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + NullTest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PartitionCmd& from); + void CopyFrom(const NullTest& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PartitionCmd& from) { - PartitionCmd::MergeImpl(*this, from); + void MergeFrom( const NullTest& from) { + NullTest::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -55761,16 +57943,16 @@ class PartitionCmd final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PartitionCmd* other); + void InternalSwap(NullTest* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PartitionCmd"; + return "pg_query.NullTest"; } protected: - explicit PartitionCmd(::google::protobuf::Arena* arena); - PartitionCmd(::google::protobuf::Arena* arena, const PartitionCmd& from); + explicit NullTest(::google::protobuf::Arena* arena); + NullTest(::google::protobuf::Arena* arena, const NullTest& from); public: static const ClassData _class_data_; @@ -55783,57 +57965,79 @@ class PartitionCmd final : // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kBoundFieldNumber = 2, - kConcurrentFieldNumber = 3, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kNulltesttypeFieldNumber = 3, + kArgisrowFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.RangeVar name = 1 [json_name = "name"]; - bool has_name() const; - void clear_name() ; - const ::pg_query::RangeVar& name() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_name(); - ::pg_query::RangeVar* mutable_name(); - void set_allocated_name(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_name(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_name(); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - const ::pg_query::RangeVar& _internal_name() const; - ::pg_query::RangeVar* _internal_mutable_name(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; - bool has_bound() const; - void clear_bound() ; - const ::pg_query::PartitionBoundSpec& bound() const; - PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_bound(); - ::pg_query::PartitionBoundSpec* mutable_bound(); - void set_allocated_bound(::pg_query::PartitionBoundSpec* value); - void unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value); - ::pg_query::PartitionBoundSpec* unsafe_arena_release_bound(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); private: - const ::pg_query::PartitionBoundSpec& _internal_bound() const; - ::pg_query::PartitionBoundSpec* _internal_mutable_bound(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); public: - // bool concurrent = 3 [json_name = "concurrent"]; - void clear_concurrent() ; - bool concurrent() const; - void set_concurrent(bool value); + // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; + void clear_nulltesttype() ; + ::pg_query::NullTestType nulltesttype() const; + void set_nulltesttype(::pg_query::NullTestType value); private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); + ::pg_query::NullTestType _internal_nulltesttype() const; + void _internal_set_nulltesttype(::pg_query::NullTestType value); public: - // @@protoc_insertion_point(class_scope:pg_query.PartitionCmd) + // bool argisrow = 4 [json_name = "argisrow"]; + void clear_argisrow() ; + bool argisrow() const; + void set_argisrow(bool value); + + private: + bool _internal_argisrow() const; + void _internal_set_argisrow(bool value); + + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.NullTest) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, + 3, 5, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -55852,35 +58056,37 @@ class PartitionCmd final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::RangeVar* name_; - ::pg_query::PartitionBoundSpec* bound_; - bool concurrent_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + int nulltesttype_; + bool argisrow_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PartitionElem final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionElem) */ { +class ObjectWithArgs final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ObjectWithArgs) */ { public: - inline PartitionElem() : PartitionElem(nullptr) {} - ~PartitionElem() override; + inline ObjectWithArgs() : ObjectWithArgs(nullptr) {} + ~ObjectWithArgs() override; template - explicit PROTOBUF_CONSTEXPR PartitionElem(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ObjectWithArgs(::google::protobuf::internal::ConstantInitialized); - inline PartitionElem(const PartitionElem& from) - : PartitionElem(nullptr, from) {} - PartitionElem(PartitionElem&& from) noexcept - : PartitionElem() { + inline ObjectWithArgs(const ObjectWithArgs& from) + : ObjectWithArgs(nullptr, from) {} + ObjectWithArgs(ObjectWithArgs&& from) noexcept + : ObjectWithArgs() { *this = ::std::move(from); } - inline PartitionElem& operator=(const PartitionElem& from) { + inline ObjectWithArgs& operator=(const ObjectWithArgs& from) { CopyFrom(from); return *this; } - inline PartitionElem& operator=(PartitionElem&& from) noexcept { + inline ObjectWithArgs& operator=(ObjectWithArgs&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -55912,20 +58118,20 @@ class PartitionElem final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionElem& default_instance() { + static const ObjectWithArgs& default_instance() { return *internal_default_instance(); } - static inline const PartitionElem* internal_default_instance() { - return reinterpret_cast( - &_PartitionElem_default_instance_); + static inline const ObjectWithArgs* internal_default_instance() { + return reinterpret_cast( + &_ObjectWithArgs_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 158; - friend void swap(PartitionElem& a, PartitionElem& b) { + friend void swap(ObjectWithArgs& a, ObjectWithArgs& b) { a.Swap(&b); } - inline void Swap(PartitionElem* other) { + inline void Swap(ObjectWithArgs* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -55938,7 +58144,7 @@ class PartitionElem final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionElem* other) { + void UnsafeArenaSwap(ObjectWithArgs* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -55946,14 +58152,14 @@ class PartitionElem final : // implements Message ---------------------------------------------- - PartitionElem* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ObjectWithArgs* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PartitionElem& from); + void CopyFrom(const ObjectWithArgs& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PartitionElem& from) { - PartitionElem::MergeImpl(*this, from); + void MergeFrom( const ObjectWithArgs& from) { + ObjectWithArgs::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -55971,16 +58177,16 @@ class PartitionElem final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PartitionElem* other); + void InternalSwap(ObjectWithArgs* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PartitionElem"; + return "pg_query.ObjectWithArgs"; } protected: - explicit PartitionElem(::google::protobuf::Arena* arena); - PartitionElem(::google::protobuf::Arena* arena, const PartitionElem& from); + explicit ObjectWithArgs(::google::protobuf::Arena* arena); + ObjectWithArgs(::google::protobuf::Arena* arena, const ObjectWithArgs& from); public: static const ClassData _class_data_; @@ -55993,97 +58199,83 @@ class PartitionElem final : // accessors ------------------------------------------------------- enum : int { - kCollationFieldNumber = 3, - kOpclassFieldNumber = 4, - kNameFieldNumber = 1, - kExprFieldNumber = 2, - kLocationFieldNumber = 5, + kObjnameFieldNumber = 1, + kObjargsFieldNumber = 2, + kObjfuncargsFieldNumber = 3, + kArgsUnspecifiedFieldNumber = 4, }; - // repeated .pg_query.Node collation = 3 [json_name = "collation"]; - int collation_size() const; + // repeated .pg_query.Node objname = 1 [json_name = "objname"]; + int objname_size() const; private: - int _internal_collation_size() const; + int _internal_objname_size() const; public: - void clear_collation() ; - ::pg_query::Node* mutable_collation(int index); + void clear_objname() ; + ::pg_query::Node* mutable_objname(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_collation(); + mutable_objname(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collation() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objname(); public: - const ::pg_query::Node& collation(int index) const; - ::pg_query::Node* add_collation(); + const ::pg_query::Node& objname(int index) const; + ::pg_query::Node* add_objname(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - collation() const; - // repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; - int opclass_size() const; + objname() const; + // repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; + int objargs_size() const; private: - int _internal_opclass_size() const; + int _internal_objargs_size() const; public: - void clear_opclass() ; - ::pg_query::Node* mutable_opclass(int index); + void clear_objargs() ; + ::pg_query::Node* mutable_objargs(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_opclass(); + mutable_objargs(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclass() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclass(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objargs(); public: - const ::pg_query::Node& opclass(int index) const; - ::pg_query::Node* add_opclass(); + const ::pg_query::Node& objargs(int index) const; + ::pg_query::Node* add_objargs(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - opclass() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); - + objargs() const; + // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; + int objfuncargs_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + int _internal_objfuncargs_size() const; public: - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - void clear_expr() ; - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_expr(); - + void clear_objfuncargs() ; + ::pg_query::Node* mutable_objfuncargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objfuncargs(); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objfuncargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objfuncargs(); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + const ::pg_query::Node& objfuncargs(int index) const; + ::pg_query::Node* add_objfuncargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objfuncargs() const; + // bool args_unspecified = 4 [json_name = "args_unspecified"]; + void clear_args_unspecified() ; + bool args_unspecified() const; + void set_args_unspecified(bool value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_args_unspecified() const; + void _internal_set_args_unspecified(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.PartitionElem) + // @@protoc_insertion_point(class_scope:pg_query.ObjectWithArgs) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 3, - 35, 2> + 2, 4, 3, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -56099,39 +58291,37 @@ class PartitionElem final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objargs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objfuncargs_; + bool args_unspecified_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collation_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclass_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* expr_; - ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PartitionRangeDatum final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionRangeDatum) */ { +class OidList final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OidList) */ { public: - inline PartitionRangeDatum() : PartitionRangeDatum(nullptr) {} - ~PartitionRangeDatum() override; + inline OidList() : OidList(nullptr) {} + ~OidList() override; template - explicit PROTOBUF_CONSTEXPR PartitionRangeDatum(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR OidList(::google::protobuf::internal::ConstantInitialized); - inline PartitionRangeDatum(const PartitionRangeDatum& from) - : PartitionRangeDatum(nullptr, from) {} - PartitionRangeDatum(PartitionRangeDatum&& from) noexcept - : PartitionRangeDatum() { + inline OidList(const OidList& from) + : OidList(nullptr, from) {} + OidList(OidList&& from) noexcept + : OidList() { *this = ::std::move(from); } - inline PartitionRangeDatum& operator=(const PartitionRangeDatum& from) { + inline OidList& operator=(const OidList& from) { CopyFrom(from); return *this; } - inline PartitionRangeDatum& operator=(PartitionRangeDatum&& from) noexcept { + inline OidList& operator=(OidList&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -56163,20 +58353,20 @@ class PartitionRangeDatum final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionRangeDatum& default_instance() { + static const OidList& default_instance() { return *internal_default_instance(); } - static inline const PartitionRangeDatum* internal_default_instance() { - return reinterpret_cast( - &_PartitionRangeDatum_default_instance_); + static inline const OidList* internal_default_instance() { + return reinterpret_cast( + &_OidList_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 9; - friend void swap(PartitionRangeDatum& a, PartitionRangeDatum& b) { + friend void swap(OidList& a, OidList& b) { a.Swap(&b); } - inline void Swap(PartitionRangeDatum* other) { + inline void Swap(OidList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -56189,7 +58379,7 @@ class PartitionRangeDatum final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionRangeDatum* other) { + void UnsafeArenaSwap(OidList* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -56197,14 +58387,14 @@ class PartitionRangeDatum final : // implements Message ---------------------------------------------- - PartitionRangeDatum* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OidList* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PartitionRangeDatum& from); + void CopyFrom(const OidList& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PartitionRangeDatum& from) { - PartitionRangeDatum::MergeImpl(*this, from); + void MergeFrom( const OidList& from) { + OidList::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -56222,16 +58412,16 @@ class PartitionRangeDatum final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PartitionRangeDatum* other); + void InternalSwap(OidList* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PartitionRangeDatum"; + return "pg_query.OidList"; } protected: - explicit PartitionRangeDatum(::google::protobuf::Arena* arena); - PartitionRangeDatum(::google::protobuf::Arena* arena, const PartitionRangeDatum& from); + explicit OidList(::google::protobuf::Arena* arena); + OidList(::google::protobuf::Arena* arena, const OidList& from); public: static const ClassData _class_data_; @@ -56244,52 +58434,33 @@ class PartitionRangeDatum final : // accessors ------------------------------------------------------- enum : int { - kValueFieldNumber = 2, - kKindFieldNumber = 1, - kLocationFieldNumber = 3, + kItemsFieldNumber = 1, }; - // .pg_query.Node value = 2 [json_name = "value"]; - bool has_value() const; - void clear_value() ; - const ::pg_query::Node& value() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_value(); - ::pg_query::Node* mutable_value(); - void set_allocated_value(::pg_query::Node* value); - void unsafe_arena_set_allocated_value(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_value(); - - private: - const ::pg_query::Node& _internal_value() const; - ::pg_query::Node* _internal_mutable_value(); - - public: - // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; - void clear_kind() ; - ::pg_query::PartitionRangeDatumKind kind() const; - void set_kind(::pg_query::PartitionRangeDatumKind value); - + // repeated .pg_query.Node items = 1; + int items_size() const; private: - ::pg_query::PartitionRangeDatumKind _internal_kind() const; - void _internal_set_kind(::pg_query::PartitionRangeDatumKind value); + int _internal_items_size() const; public: - // int32 location = 3 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: - // @@protoc_insertion_point(class_scope:pg_query.PartitionRangeDatum) + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // @@protoc_insertion_point(class_scope:pg_query.OidList) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 0, 1, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -56306,37 +58477,34 @@ class PartitionRangeDatum final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* value_; - int kind_; - ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PartitionSpec final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionSpec) */ { +class OnConflictClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictClause) */ { public: - inline PartitionSpec() : PartitionSpec(nullptr) {} - ~PartitionSpec() override; + inline OnConflictClause() : OnConflictClause(nullptr) {} + ~OnConflictClause() override; template - explicit PROTOBUF_CONSTEXPR PartitionSpec(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR OnConflictClause(::google::protobuf::internal::ConstantInitialized); - inline PartitionSpec(const PartitionSpec& from) - : PartitionSpec(nullptr, from) {} - PartitionSpec(PartitionSpec&& from) noexcept - : PartitionSpec() { + inline OnConflictClause(const OnConflictClause& from) + : OnConflictClause(nullptr, from) {} + OnConflictClause(OnConflictClause&& from) noexcept + : OnConflictClause() { *this = ::std::move(from); } - inline PartitionSpec& operator=(const PartitionSpec& from) { + inline OnConflictClause& operator=(const OnConflictClause& from) { CopyFrom(from); return *this; } - inline PartitionSpec& operator=(PartitionSpec&& from) noexcept { + inline OnConflictClause& operator=(OnConflictClause&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -56368,20 +58536,20 @@ class PartitionSpec final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionSpec& default_instance() { + static const OnConflictClause& default_instance() { return *internal_default_instance(); } - static inline const PartitionSpec* internal_default_instance() { - return reinterpret_cast( - &_PartitionSpec_default_instance_); + static inline const OnConflictClause* internal_default_instance() { + return reinterpret_cast( + &_OnConflictClause_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 120; - friend void swap(PartitionSpec& a, PartitionSpec& b) { + friend void swap(OnConflictClause& a, OnConflictClause& b) { a.Swap(&b); } - inline void Swap(PartitionSpec* other) { + inline void Swap(OnConflictClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -56394,7 +58562,7 @@ class PartitionSpec final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionSpec* other) { + void UnsafeArenaSwap(OnConflictClause* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -56402,14 +58570,14 @@ class PartitionSpec final : // implements Message ---------------------------------------------- - PartitionSpec* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OnConflictClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PartitionSpec& from); + void CopyFrom(const OnConflictClause& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PartitionSpec& from) { - PartitionSpec::MergeImpl(*this, from); + void MergeFrom( const OnConflictClause& from) { + OnConflictClause::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -56427,16 +58595,16 @@ class PartitionSpec final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PartitionSpec* other); + void InternalSwap(OnConflictClause* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PartitionSpec"; + return "pg_query.OnConflictClause"; } protected: - explicit PartitionSpec(::google::protobuf::Arena* arena); - PartitionSpec(::google::protobuf::Arena* arena, const PartitionSpec& from); + explicit OnConflictClause(::google::protobuf::Arena* arena); + OnConflictClause(::google::protobuf::Arena* arena, const OnConflictClause& from); public: static const ClassData _class_data_; @@ -56449,39 +58617,71 @@ class PartitionSpec final : // accessors ------------------------------------------------------- enum : int { - kPartParamsFieldNumber = 2, - kStrategyFieldNumber = 1, - kLocationFieldNumber = 3, + kTargetListFieldNumber = 3, + kInferFieldNumber = 2, + kWhereClauseFieldNumber = 4, + kActionFieldNumber = 1, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; - int part_params_size() const; + // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; + int target_list_size() const; private: - int _internal_part_params_size() const; + int _internal_target_list_size() const; public: - void clear_part_params() ; - ::pg_query::Node* mutable_part_params(int index); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_part_params(); + mutable_target_list(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_part_params() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_part_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - const ::pg_query::Node& part_params(int index) const; - ::pg_query::Node* add_part_params(); + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - part_params() const; - // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; - void clear_strategy() ; - ::pg_query::PartitionStrategy strategy() const; - void set_strategy(::pg_query::PartitionStrategy value); + target_list() const; + // .pg_query.InferClause infer = 2 [json_name = "infer"]; + bool has_infer() const; + void clear_infer() ; + const ::pg_query::InferClause& infer() const; + PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer(); + ::pg_query::InferClause* mutable_infer(); + void set_allocated_infer(::pg_query::InferClause* value); + void unsafe_arena_set_allocated_infer(::pg_query::InferClause* value); + ::pg_query::InferClause* unsafe_arena_release_infer(); private: - ::pg_query::PartitionStrategy _internal_strategy() const; - void _internal_set_strategy(::pg_query::PartitionStrategy value); + const ::pg_query::InferClause& _internal_infer() const; + ::pg_query::InferClause* _internal_mutable_infer(); public: - // int32 location = 3 [json_name = "location"]; + // .pg_query.Node where_clause = 4 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + + private: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + + public: + // .pg_query.OnConflictAction action = 1 [json_name = "action"]; + void clear_action() ; + ::pg_query::OnConflictAction action() const; + void set_action(::pg_query::OnConflictAction value); + + private: + ::pg_query::OnConflictAction _internal_action() const; + void _internal_set_action(::pg_query::OnConflictAction value); + + public: + // int32 location = 5 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -56491,13 +58691,13 @@ class PartitionSpec final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.PartitionSpec) + // @@protoc_insertion_point(class_scope:pg_query.OnConflictClause) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 3, 5, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -56514,36 +58714,39 @@ class PartitionSpec final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > part_params_; - int strategy_; - ::int32_t location_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::pg_query::InferClause* infer_; + ::pg_query::Node* where_clause_; + int action_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PrepareStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PrepareStmt) */ { +class OnConflictExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictExpr) */ { public: - inline PrepareStmt() : PrepareStmt(nullptr) {} - ~PrepareStmt() override; + inline OnConflictExpr() : OnConflictExpr(nullptr) {} + ~OnConflictExpr() override; template - explicit PROTOBUF_CONSTEXPR PrepareStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR OnConflictExpr(::google::protobuf::internal::ConstantInitialized); - inline PrepareStmt(const PrepareStmt& from) - : PrepareStmt(nullptr, from) {} - PrepareStmt(PrepareStmt&& from) noexcept - : PrepareStmt() { + inline OnConflictExpr(const OnConflictExpr& from) + : OnConflictExpr(nullptr, from) {} + OnConflictExpr(OnConflictExpr&& from) noexcept + : OnConflictExpr() { *this = ::std::move(from); } - inline PrepareStmt& operator=(const PrepareStmt& from) { + inline OnConflictExpr& operator=(const OnConflictExpr& from) { CopyFrom(from); return *this; } - inline PrepareStmt& operator=(PrepareStmt&& from) noexcept { + inline OnConflictExpr& operator=(OnConflictExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -56575,20 +58778,20 @@ class PrepareStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PrepareStmt& default_instance() { + static const OnConflictExpr& default_instance() { return *internal_default_instance(); } - static inline const PrepareStmt* internal_default_instance() { - return reinterpret_cast( - &_PrepareStmt_default_instance_); + static inline const OnConflictExpr* internal_default_instance() { + return reinterpret_cast( + &_OnConflictExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 241; + 74; - friend void swap(PrepareStmt& a, PrepareStmt& b) { + friend void swap(OnConflictExpr& a, OnConflictExpr& b) { a.Swap(&b); } - inline void Swap(PrepareStmt* other) { + inline void Swap(OnConflictExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -56601,7 +58804,7 @@ class PrepareStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PrepareStmt* other) { + void UnsafeArenaSwap(OnConflictExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -56609,14 +58812,14 @@ class PrepareStmt final : // implements Message ---------------------------------------------- - PrepareStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OnConflictExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PrepareStmt& from); + void CopyFrom(const OnConflictExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PrepareStmt& from) { - PrepareStmt::MergeImpl(*this, from); + void MergeFrom( const OnConflictExpr& from) { + OnConflictExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -56634,16 +58837,16 @@ class PrepareStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PrepareStmt* other); + void InternalSwap(OnConflictExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PrepareStmt"; + return "pg_query.OnConflictExpr"; } protected: - explicit PrepareStmt(::google::protobuf::Arena* arena); - PrepareStmt(::google::protobuf::Arena* arena, const PrepareStmt& from); + explicit OnConflictExpr(::google::protobuf::Arena* arena); + OnConflictExpr(::google::protobuf::Arena* arena, const OnConflictExpr& from); public: static const ClassData _class_data_; @@ -56656,67 +58859,137 @@ class PrepareStmt final : // accessors ------------------------------------------------------- enum : int { - kArgtypesFieldNumber = 2, - kNameFieldNumber = 1, - kQueryFieldNumber = 3, + kArbiterElemsFieldNumber = 2, + kOnConflictSetFieldNumber = 5, + kExclRelTlistFieldNumber = 8, + kArbiterWhereFieldNumber = 3, + kOnConflictWhereFieldNumber = 6, + kActionFieldNumber = 1, + kConstraintFieldNumber = 4, + kExclRelIndexFieldNumber = 7, }; - // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; - int argtypes_size() const; + // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; + int arbiter_elems_size() const; private: - int _internal_argtypes_size() const; + int _internal_arbiter_elems_size() const; public: - void clear_argtypes() ; - ::pg_query::Node* mutable_argtypes(int index); + void clear_arbiter_elems() ; + ::pg_query::Node* mutable_arbiter_elems(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_argtypes(); + mutable_arbiter_elems(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_argtypes() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_argtypes(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arbiter_elems() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arbiter_elems(); public: - const ::pg_query::Node& argtypes(int index) const; - ::pg_query::Node* add_argtypes(); + const ::pg_query::Node& arbiter_elems(int index) const; + ::pg_query::Node* add_arbiter_elems(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - argtypes() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + arbiter_elems() const; + // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; + int on_conflict_set_size() const; + private: + int _internal_on_conflict_set_size() const; + public: + void clear_on_conflict_set() ; + ::pg_query::Node* mutable_on_conflict_set(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_on_conflict_set(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_on_conflict_set() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_on_conflict_set(); + public: + const ::pg_query::Node& on_conflict_set(int index) const; + ::pg_query::Node* add_on_conflict_set(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + on_conflict_set() const; + // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; + int excl_rel_tlist_size() const; + private: + int _internal_excl_rel_tlist_size() const; public: - // .pg_query.Node query = 3 [json_name = "query"]; - bool has_query() const; - void clear_query() ; - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* value); - void unsafe_arena_set_allocated_query(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_query(); + void clear_excl_rel_tlist() ; + ::pg_query::Node* mutable_excl_rel_tlist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_excl_rel_tlist(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_excl_rel_tlist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_excl_rel_tlist(); + public: + const ::pg_query::Node& excl_rel_tlist(int index) const; + ::pg_query::Node* add_excl_rel_tlist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + excl_rel_tlist() const; + // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; + bool has_arbiter_where() const; + void clear_arbiter_where() ; + const ::pg_query::Node& arbiter_where() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arbiter_where(); + ::pg_query::Node* mutable_arbiter_where(); + void set_allocated_arbiter_where(::pg_query::Node* value); + void unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arbiter_where(); private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); + const ::pg_query::Node& _internal_arbiter_where() const; + ::pg_query::Node* _internal_mutable_arbiter_where(); public: - // @@protoc_insertion_point(class_scope:pg_query.PrepareStmt) + // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; + bool has_on_conflict_where() const; + void clear_on_conflict_where() ; + const ::pg_query::Node& on_conflict_where() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_on_conflict_where(); + ::pg_query::Node* mutable_on_conflict_where(); + void set_allocated_on_conflict_where(::pg_query::Node* value); + void unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_on_conflict_where(); + + private: + const ::pg_query::Node& _internal_on_conflict_where() const; + ::pg_query::Node* _internal_mutable_on_conflict_where(); + + public: + // .pg_query.OnConflictAction action = 1 [json_name = "action"]; + void clear_action() ; + ::pg_query::OnConflictAction action() const; + void set_action(::pg_query::OnConflictAction value); + + private: + ::pg_query::OnConflictAction _internal_action() const; + void _internal_set_action(::pg_query::OnConflictAction value); + + public: + // uint32 constraint = 4 [json_name = "constraint"]; + void clear_constraint() ; + ::uint32_t constraint() const; + void set_constraint(::uint32_t value); + + private: + ::uint32_t _internal_constraint() const; + void _internal_set_constraint(::uint32_t value); + + public: + // int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; + void clear_excl_rel_index() ; + ::int32_t excl_rel_index() const; + void set_excl_rel_index(::int32_t value); + + private: + ::int32_t _internal_excl_rel_index() const; + void _internal_set_excl_rel_index(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.OnConflictExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, - 33, 2> + 3, 8, 5, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -56734,35 +59007,40 @@ class PrepareStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > argtypes_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* query_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arbiter_elems_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > on_conflict_set_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > excl_rel_tlist_; + ::pg_query::Node* arbiter_where_; + ::pg_query::Node* on_conflict_where_; + int action_; + ::uint32_t constraint_; + ::int32_t excl_rel_index_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PublicationObjSpec final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationObjSpec) */ { +class OpExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OpExpr) */ { public: - inline PublicationObjSpec() : PublicationObjSpec(nullptr) {} - ~PublicationObjSpec() override; + inline OpExpr() : OpExpr(nullptr) {} + ~OpExpr() override; template - explicit PROTOBUF_CONSTEXPR PublicationObjSpec(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR OpExpr(::google::protobuf::internal::ConstantInitialized); - inline PublicationObjSpec(const PublicationObjSpec& from) - : PublicationObjSpec(nullptr, from) {} - PublicationObjSpec(PublicationObjSpec&& from) noexcept - : PublicationObjSpec() { + inline OpExpr(const OpExpr& from) + : OpExpr(nullptr, from) {} + OpExpr(OpExpr&& from) noexcept + : OpExpr() { *this = ::std::move(from); } - inline PublicationObjSpec& operator=(const PublicationObjSpec& from) { + inline OpExpr& operator=(const OpExpr& from) { CopyFrom(from); return *this; } - inline PublicationObjSpec& operator=(PublicationObjSpec&& from) noexcept { + inline OpExpr& operator=(OpExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -56794,20 +59072,20 @@ class PublicationObjSpec final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PublicationObjSpec& default_instance() { + static const OpExpr& default_instance() { return *internal_default_instance(); } - static inline const PublicationObjSpec* internal_default_instance() { - return reinterpret_cast( - &_PublicationObjSpec_default_instance_); + static inline const OpExpr* internal_default_instance() { + return reinterpret_cast( + &_OpExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 249; + 26; - friend void swap(PublicationObjSpec& a, PublicationObjSpec& b) { + friend void swap(OpExpr& a, OpExpr& b) { a.Swap(&b); } - inline void Swap(PublicationObjSpec* other) { + inline void Swap(OpExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -56820,7 +59098,7 @@ class PublicationObjSpec final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PublicationObjSpec* other) { + void UnsafeArenaSwap(OpExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -56828,14 +59106,14 @@ class PublicationObjSpec final : // implements Message ---------------------------------------------- - PublicationObjSpec* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PublicationObjSpec& from); + void CopyFrom(const OpExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PublicationObjSpec& from) { - PublicationObjSpec::MergeImpl(*this, from); + void MergeFrom( const OpExpr& from) { + OpExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -56853,16 +59131,16 @@ class PublicationObjSpec final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PublicationObjSpec* other); + void InternalSwap(OpExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PublicationObjSpec"; + return "pg_query.OpExpr"; } protected: - explicit PublicationObjSpec(::google::protobuf::Arena* arena); - PublicationObjSpec(::google::protobuf::Arena* arena, const PublicationObjSpec& from); + explicit OpExpr(::google::protobuf::Arena* arena); + OpExpr(::google::protobuf::Arena* arena, const OpExpr& from); public: static const ClassData _class_data_; @@ -56875,53 +59153,99 @@ class PublicationObjSpec final : // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 2, - kPubtableFieldNumber = 3, - kPubobjtypeFieldNumber = 1, - kLocationFieldNumber = 4, + kArgsFieldNumber = 7, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kOpresulttypeFieldNumber = 3, + kOpretsetFieldNumber = 4, + kOpcollidFieldNumber = 5, + kInputcollidFieldNumber = 6, + kLocationFieldNumber = 8, }; - // string name = 2 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + // repeated .pg_query.Node args = 7 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; - bool has_pubtable() const; - void clear_pubtable() ; - const ::pg_query::PublicationTable& pubtable() const; - PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_pubtable(); - ::pg_query::PublicationTable* mutable_pubtable(); - void set_allocated_pubtable(::pg_query::PublicationTable* value); - void unsafe_arena_set_allocated_pubtable(::pg_query::PublicationTable* value); - ::pg_query::PublicationTable* unsafe_arena_release_pubtable(); + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); private: - const ::pg_query::PublicationTable& _internal_pubtable() const; - ::pg_query::PublicationTable* _internal_mutable_pubtable(); + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); public: - // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; - void clear_pubobjtype() ; - ::pg_query::PublicationObjSpecType pubobjtype() const; - void set_pubobjtype(::pg_query::PublicationObjSpecType value); + // uint32 opresulttype = 3 [json_name = "opresulttype"]; + void clear_opresulttype() ; + ::uint32_t opresulttype() const; + void set_opresulttype(::uint32_t value); private: - ::pg_query::PublicationObjSpecType _internal_pubobjtype() const; - void _internal_set_pubobjtype(::pg_query::PublicationObjSpecType value); + ::uint32_t _internal_opresulttype() const; + void _internal_set_opresulttype(::uint32_t value); public: - // int32 location = 4 [json_name = "location"]; + // bool opretset = 4 [json_name = "opretset"]; + void clear_opretset() ; + bool opretset() const; + void set_opretset(bool value); + + private: + bool _internal_opretset() const; + void _internal_set_opretset(bool value); + + public: + // uint32 opcollid = 5 [json_name = "opcollid"]; + void clear_opcollid() ; + ::uint32_t opcollid() const; + void set_opcollid(::uint32_t value); + + private: + ::uint32_t _internal_opcollid() const; + void _internal_set_opcollid(::uint32_t value); + + public: + // uint32 inputcollid = 6 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // int32 location = 8 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -56931,14 +59255,14 @@ class PublicationObjSpec final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.PublicationObjSpec) + // @@protoc_insertion_point(class_scope:pg_query.OpExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 1, - 40, 2> + 3, 8, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -56956,9 +59280,13 @@ class PublicationObjSpec final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::PublicationTable* pubtable_; - int pubobjtype_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + ::uint32_t opresulttype_; + bool opretset_; + ::uint32_t opcollid_; + ::uint32_t inputcollid_; ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -56966,26 +59294,26 @@ class PublicationObjSpec final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class PublicationTable final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationTable) */ { +class PLAssignStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PLAssignStmt) */ { public: - inline PublicationTable() : PublicationTable(nullptr) {} - ~PublicationTable() override; + inline PLAssignStmt() : PLAssignStmt(nullptr) {} + ~PLAssignStmt() override; template - explicit PROTOBUF_CONSTEXPR PublicationTable(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PLAssignStmt(::google::protobuf::internal::ConstantInitialized); - inline PublicationTable(const PublicationTable& from) - : PublicationTable(nullptr, from) {} - PublicationTable(PublicationTable&& from) noexcept - : PublicationTable() { + inline PLAssignStmt(const PLAssignStmt& from) + : PLAssignStmt(nullptr, from) {} + PLAssignStmt(PLAssignStmt&& from) noexcept + : PLAssignStmt() { *this = ::std::move(from); } - inline PublicationTable& operator=(const PublicationTable& from) { + inline PLAssignStmt& operator=(const PLAssignStmt& from) { CopyFrom(from); return *this; } - inline PublicationTable& operator=(PublicationTable&& from) noexcept { + inline PLAssignStmt& operator=(PLAssignStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -57017,20 +59345,20 @@ class PublicationTable final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PublicationTable& default_instance() { + static const PLAssignStmt& default_instance() { return *internal_default_instance(); } - static inline const PublicationTable* internal_default_instance() { - return reinterpret_cast( - &_PublicationTable_default_instance_); + static inline const PLAssignStmt* internal_default_instance() { + return reinterpret_cast( + &_PLAssignStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 248; + 150; - friend void swap(PublicationTable& a, PublicationTable& b) { + friend void swap(PLAssignStmt& a, PLAssignStmt& b) { a.Swap(&b); } - inline void Swap(PublicationTable* other) { + inline void Swap(PLAssignStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -57043,7 +59371,7 @@ class PublicationTable final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PublicationTable* other) { + void UnsafeArenaSwap(PLAssignStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -57051,14 +59379,14 @@ class PublicationTable final : // implements Message ---------------------------------------------- - PublicationTable* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PLAssignStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const PublicationTable& from); + void CopyFrom(const PLAssignStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const PublicationTable& from) { - PublicationTable::MergeImpl(*this, from); + void MergeFrom( const PLAssignStmt& from) { + PLAssignStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -57076,16 +59404,16 @@ class PublicationTable final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(PublicationTable* other); + void InternalSwap(PLAssignStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.PublicationTable"; + return "pg_query.PLAssignStmt"; } protected: - explicit PublicationTable(::google::protobuf::Arena* arena); - PublicationTable(::google::protobuf::Arena* arena, const PublicationTable& from); + explicit PLAssignStmt(::google::protobuf::Arena* arena); + PLAssignStmt(::google::protobuf::Arena* arena, const PLAssignStmt& from); public: static const ClassData _class_data_; @@ -57098,66 +59426,89 @@ class PublicationTable final : // accessors ------------------------------------------------------- enum : int { - kColumnsFieldNumber = 3, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 2, + kIndirectionFieldNumber = 2, + kNameFieldNumber = 1, + kValFieldNumber = 4, + kNnamesFieldNumber = 3, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node columns = 3 [json_name = "columns"]; - int columns_size() const; + // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; + int indirection_size() const; private: - int _internal_columns_size() const; + int _internal_indirection_size() const; public: - void clear_columns() ; - ::pg_query::Node* mutable_columns(int index); + void clear_indirection() ; + ::pg_query::Node* mutable_indirection(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_columns(); + mutable_indirection(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); public: - const ::pg_query::Node& columns(int index) const; - ::pg_query::Node* add_columns(); + const ::pg_query::Node& indirection(int index) const; + ::pg_query::Node* add_indirection(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - columns() const; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + indirection() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; - bool has_where_clause() const; - void clear_where_clause() ; - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_where_clause(); + // .pg_query.SelectStmt val = 4 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::SelectStmt& val() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_val(); + ::pg_query::SelectStmt* mutable_val(); + void set_allocated_val(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_val(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_val(); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const ::pg_query::SelectStmt& _internal_val() const; + ::pg_query::SelectStmt* _internal_mutable_val(); public: - // @@protoc_insertion_point(class_scope:pg_query.PublicationTable) + // int32 nnames = 3 [json_name = "nnames"]; + void clear_nnames() ; + ::int32_t nnames() const; + void set_nnames(::int32_t value); + + private: + ::int32_t _internal_nnames() const; + void _internal_set_nnames(::int32_t value); + + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.PLAssignStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 3, - 0, 2> + 3, 5, 2, + 34, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -57175,35 +59526,37 @@ class PublicationTable final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::SelectStmt* val_; + ::int32_t nnames_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class Query final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Query) */ { +class Param final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Param) */ { public: - inline Query() : Query(nullptr) {} - ~Query() override; + inline Param() : Param(nullptr) {} + ~Param() override; template - explicit PROTOBUF_CONSTEXPR Query(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Param(::google::protobuf::internal::ConstantInitialized); - inline Query(const Query& from) - : Query(nullptr, from) {} - Query(Query&& from) noexcept - : Query() { + inline Param(const Param& from) + : Param(nullptr, from) {} + Param(Param&& from) noexcept + : Param() { *this = ::std::move(from); } - inline Query& operator=(const Query& from) { + inline Param& operator=(const Param& from) { CopyFrom(from); return *this; } - inline Query& operator=(Query&& from) noexcept { + inline Param& operator=(Param&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -57235,20 +59588,20 @@ class Query final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Query& default_instance() { + static const Param& default_instance() { return *internal_default_instance(); } - static inline const Query* internal_default_instance() { - return reinterpret_cast( - &_Query_default_instance_); + static inline const Param* internal_default_instance() { + return reinterpret_cast( + &_Param_default_instance_); } static constexpr int kIndexInFileMessages = - 67; + 17; - friend void swap(Query& a, Query& b) { + friend void swap(Param& a, Param& b) { a.Swap(&b); } - inline void Swap(Query* other) { + inline void Swap(Param* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -57261,7 +59614,7 @@ class Query final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Query* other) { + void UnsafeArenaSwap(Param* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -57269,14 +59622,14 @@ class Query final : // implements Message ---------------------------------------------- - Query* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Param* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Query& from); + void CopyFrom(const Param& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Query& from) { - Query::MergeImpl(*this, from); + void MergeFrom( const Param& from) { + Param::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -57294,16 +59647,16 @@ class Query final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Query* other); + void InternalSwap(Param* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.Query"; + return "pg_query.Param"; } protected: - explicit Query(::google::protobuf::Arena* arena); - Query(::google::protobuf::Arena* arena, const Query& from); + explicit Param(::google::protobuf::Arena* arena); + Param(::google::protobuf::Arena* arena, const Param& from); public: static const ClassData _class_data_; @@ -57316,613 +59669,97 @@ class Query final : // accessors ------------------------------------------------------- enum : int { - kCteListFieldNumber = 16, - kRtableFieldNumber = 17, - kRteperminfosFieldNumber = 18, - kMergeActionListFieldNumber = 20, - kTargetListFieldNumber = 22, - kReturningListFieldNumber = 25, - kGroupClauseFieldNumber = 26, - kGroupingSetsFieldNumber = 28, - kWindowClauseFieldNumber = 30, - kDistinctClauseFieldNumber = 31, - kSortClauseFieldNumber = 32, - kRowMarksFieldNumber = 36, - kConstraintDepsFieldNumber = 38, - kWithCheckOptionsFieldNumber = 39, - kUtilityStmtFieldNumber = 4, - kJointreeFieldNumber = 19, - kOnConflictFieldNumber = 24, - kHavingQualFieldNumber = 29, - kLimitOffsetFieldNumber = 33, - kLimitCountFieldNumber = 34, - kSetOperationsFieldNumber = 37, - kCommandTypeFieldNumber = 1, - kQuerySourceFieldNumber = 2, - kResultRelationFieldNumber = 5, - kCanSetTagFieldNumber = 3, - kHasAggsFieldNumber = 6, - kHasWindowFuncsFieldNumber = 7, - kHasTargetSrfsFieldNumber = 8, - kHasSubLinksFieldNumber = 9, - kHasDistinctOnFieldNumber = 10, - kHasRecursiveFieldNumber = 11, - kHasModifyingCteFieldNumber = 12, - kHasForUpdateFieldNumber = 13, - kHasRowSecurityFieldNumber = 14, - kIsReturnFieldNumber = 15, - kMergeUseOuterJoinFieldNumber = 21, - kOverrideFieldNumber = 23, - kGroupDistinctFieldNumber = 27, - kLimitOptionFieldNumber = 35, - kStmtLocationFieldNumber = 40, - kStmtLenFieldNumber = 41, + kXprFieldNumber = 1, + kParamkindFieldNumber = 2, + kParamidFieldNumber = 3, + kParamtypeFieldNumber = 4, + kParamtypmodFieldNumber = 5, + kParamcollidFieldNumber = 6, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; - int cte_list_size() const; - private: - int _internal_cte_list_size() const; - - public: - void clear_cte_list() ; - ::pg_query::Node* mutable_cte_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_cte_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cte_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cte_list(); - public: - const ::pg_query::Node& cte_list(int index) const; - ::pg_query::Node* add_cte_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - cte_list() const; - // repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; - int rtable_size() const; - private: - int _internal_rtable_size() const; - - public: - void clear_rtable() ; - ::pg_query::Node* mutable_rtable(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_rtable(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rtable() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rtable(); - public: - const ::pg_query::Node& rtable(int index) const; - ::pg_query::Node* add_rtable(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - rtable() const; - // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; - int rteperminfos_size() const; - private: - int _internal_rteperminfos_size() const; - - public: - void clear_rteperminfos() ; - ::pg_query::Node* mutable_rteperminfos(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_rteperminfos(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rteperminfos() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rteperminfos(); - public: - const ::pg_query::Node& rteperminfos(int index) const; - ::pg_query::Node* add_rteperminfos(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - rteperminfos() const; - // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; - int merge_action_list_size() const; - private: - int _internal_merge_action_list_size() const; - - public: - void clear_merge_action_list() ; - ::pg_query::Node* mutable_merge_action_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_merge_action_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_action_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_action_list(); - public: - const ::pg_query::Node& merge_action_list(int index) const; - ::pg_query::Node* add_merge_action_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - merge_action_list() const; - // repeated .pg_query.Node target_list = 22 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - - public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // repeated .pg_query.Node returning_list = 25 [json_name = "returningList"]; - int returning_list_size() const; - private: - int _internal_returning_list_size() const; - - public: - void clear_returning_list() ; - ::pg_query::Node* mutable_returning_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); - public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; - // repeated .pg_query.Node group_clause = 26 [json_name = "groupClause"]; - int group_clause_size() const; - private: - int _internal_group_clause_size() const; - - public: - void clear_group_clause() ; - ::pg_query::Node* mutable_group_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); - public: - const ::pg_query::Node& group_clause(int index) const; - ::pg_query::Node* add_group_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - group_clause() const; - // repeated .pg_query.Node grouping_sets = 28 [json_name = "groupingSets"]; - int grouping_sets_size() const; - private: - int _internal_grouping_sets_size() const; - - public: - void clear_grouping_sets() ; - ::pg_query::Node* mutable_grouping_sets(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_grouping_sets(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_grouping_sets() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_grouping_sets(); - public: - const ::pg_query::Node& grouping_sets(int index) const; - ::pg_query::Node* add_grouping_sets(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - grouping_sets() const; - // repeated .pg_query.Node window_clause = 30 [json_name = "windowClause"]; - int window_clause_size() const; - private: - int _internal_window_clause_size() const; - - public: - void clear_window_clause() ; - ::pg_query::Node* mutable_window_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_window_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); - public: - const ::pg_query::Node& window_clause(int index) const; - ::pg_query::Node* add_window_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - window_clause() const; - // repeated .pg_query.Node distinct_clause = 31 [json_name = "distinctClause"]; - int distinct_clause_size() const; - private: - int _internal_distinct_clause_size() const; - - public: - void clear_distinct_clause() ; - ::pg_query::Node* mutable_distinct_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_distinct_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); - public: - const ::pg_query::Node& distinct_clause(int index) const; - ::pg_query::Node* add_distinct_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - distinct_clause() const; - // repeated .pg_query.Node sort_clause = 32 [json_name = "sortClause"]; - int sort_clause_size() const; - private: - int _internal_sort_clause_size() const; - - public: - void clear_sort_clause() ; - ::pg_query::Node* mutable_sort_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_sort_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); - public: - const ::pg_query::Node& sort_clause(int index) const; - ::pg_query::Node* add_sort_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - sort_clause() const; - // repeated .pg_query.Node row_marks = 36 [json_name = "rowMarks"]; - int row_marks_size() const; - private: - int _internal_row_marks_size() const; - - public: - void clear_row_marks() ; - ::pg_query::Node* mutable_row_marks(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_row_marks(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_row_marks() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_row_marks(); - public: - const ::pg_query::Node& row_marks(int index) const; - ::pg_query::Node* add_row_marks(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - row_marks() const; - // repeated .pg_query.Node constraint_deps = 38 [json_name = "constraintDeps"]; - int constraint_deps_size() const; - private: - int _internal_constraint_deps_size() const; - - public: - void clear_constraint_deps() ; - ::pg_query::Node* mutable_constraint_deps(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_constraint_deps(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraint_deps() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraint_deps(); - public: - const ::pg_query::Node& constraint_deps(int index) const; - ::pg_query::Node* add_constraint_deps(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - constraint_deps() const; - // repeated .pg_query.Node with_check_options = 39 [json_name = "withCheckOptions"]; - int with_check_options_size() const; - private: - int _internal_with_check_options_size() const; - - public: - void clear_with_check_options() ; - ::pg_query::Node* mutable_with_check_options(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_with_check_options(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_with_check_options() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_with_check_options(); - public: - const ::pg_query::Node& with_check_options(int index) const; - ::pg_query::Node* add_with_check_options(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - with_check_options() const; - // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; - bool has_utility_stmt() const; - void clear_utility_stmt() ; - const ::pg_query::Node& utility_stmt() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_utility_stmt(); - ::pg_query::Node* mutable_utility_stmt(); - void set_allocated_utility_stmt(::pg_query::Node* value); - void unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_utility_stmt(); - - private: - const ::pg_query::Node& _internal_utility_stmt() const; - ::pg_query::Node* _internal_mutable_utility_stmt(); - - public: - // .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; - bool has_jointree() const; - void clear_jointree() ; - const ::pg_query::FromExpr& jointree() const; - PROTOBUF_NODISCARD ::pg_query::FromExpr* release_jointree(); - ::pg_query::FromExpr* mutable_jointree(); - void set_allocated_jointree(::pg_query::FromExpr* value); - void unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value); - ::pg_query::FromExpr* unsafe_arena_release_jointree(); - - private: - const ::pg_query::FromExpr& _internal_jointree() const; - ::pg_query::FromExpr* _internal_mutable_jointree(); - - public: - // .pg_query.OnConflictExpr on_conflict = 24 [json_name = "onConflict"]; - bool has_on_conflict() const; - void clear_on_conflict() ; - const ::pg_query::OnConflictExpr& on_conflict() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict(); - ::pg_query::OnConflictExpr* mutable_on_conflict(); - void set_allocated_on_conflict(::pg_query::OnConflictExpr* value); - void unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value); - ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict(); - - private: - const ::pg_query::OnConflictExpr& _internal_on_conflict() const; - ::pg_query::OnConflictExpr* _internal_mutable_on_conflict(); - - public: - // .pg_query.Node having_qual = 29 [json_name = "havingQual"]; - bool has_having_qual() const; - void clear_having_qual() ; - const ::pg_query::Node& having_qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_having_qual(); - ::pg_query::Node* mutable_having_qual(); - void set_allocated_having_qual(::pg_query::Node* value); - void unsafe_arena_set_allocated_having_qual(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_having_qual(); - - private: - const ::pg_query::Node& _internal_having_qual() const; - ::pg_query::Node* _internal_mutable_having_qual(); - - public: - // .pg_query.Node limit_offset = 33 [json_name = "limitOffset"]; - bool has_limit_offset() const; - void clear_limit_offset() ; - const ::pg_query::Node& limit_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); - ::pg_query::Node* mutable_limit_offset(); - void set_allocated_limit_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_limit_offset(); - - private: - const ::pg_query::Node& _internal_limit_offset() const; - ::pg_query::Node* _internal_mutable_limit_offset(); - - public: - // .pg_query.Node limit_count = 34 [json_name = "limitCount"]; - bool has_limit_count() const; - void clear_limit_count() ; - const ::pg_query::Node& limit_count() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); - ::pg_query::Node* mutable_limit_count(); - void set_allocated_limit_count(::pg_query::Node* value); - void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_limit_count(); - - private: - const ::pg_query::Node& _internal_limit_count() const; - ::pg_query::Node* _internal_mutable_limit_count(); - - public: - // .pg_query.Node set_operations = 37 [json_name = "setOperations"]; - bool has_set_operations() const; - void clear_set_operations() ; - const ::pg_query::Node& set_operations() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_set_operations(); - ::pg_query::Node* mutable_set_operations(); - void set_allocated_set_operations(::pg_query::Node* value); - void unsafe_arena_set_allocated_set_operations(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_set_operations(); - - private: - const ::pg_query::Node& _internal_set_operations() const; - ::pg_query::Node* _internal_mutable_set_operations(); - - public: - // .pg_query.CmdType command_type = 1 [json_name = "commandType"]; - void clear_command_type() ; - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); - - private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); - - public: - // .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; - void clear_query_source() ; - ::pg_query::QuerySource query_source() const; - void set_query_source(::pg_query::QuerySource value); - - private: - ::pg_query::QuerySource _internal_query_source() const; - void _internal_set_query_source(::pg_query::QuerySource value); - - public: - // int32 result_relation = 5 [json_name = "resultRelation"]; - void clear_result_relation() ; - ::int32_t result_relation() const; - void set_result_relation(::int32_t value); - - private: - ::int32_t _internal_result_relation() const; - void _internal_set_result_relation(::int32_t value); - - public: - // bool can_set_tag = 3 [json_name = "canSetTag"]; - void clear_can_set_tag() ; - bool can_set_tag() const; - void set_can_set_tag(bool value); - - private: - bool _internal_can_set_tag() const; - void _internal_set_can_set_tag(bool value); - - public: - // bool has_aggs = 6 [json_name = "hasAggs"]; - void clear_has_aggs() ; - bool has_aggs() const; - void set_has_aggs(bool value); - - private: - bool _internal_has_aggs() const; - void _internal_set_has_aggs(bool value); - - public: - // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; - void clear_has_window_funcs() ; - bool has_window_funcs() const; - void set_has_window_funcs(bool value); - - private: - bool _internal_has_window_funcs() const; - void _internal_set_has_window_funcs(bool value); - - public: - // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; - void clear_has_target_srfs() ; - bool has_target_srfs() const; - void set_has_target_srfs(bool value); - - private: - bool _internal_has_target_srfs() const; - void _internal_set_has_target_srfs(bool value); - - public: - // bool has_sub_links = 9 [json_name = "hasSubLinks"]; - void clear_has_sub_links() ; - bool has_sub_links() const; - void set_has_sub_links(bool value); - - private: - bool _internal_has_sub_links() const; - void _internal_set_has_sub_links(bool value); - - public: - // bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; - void clear_has_distinct_on() ; - bool has_distinct_on() const; - void set_has_distinct_on(bool value); - - private: - bool _internal_has_distinct_on() const; - void _internal_set_has_distinct_on(bool value); - - public: - // bool has_recursive = 11 [json_name = "hasRecursive"]; - void clear_has_recursive() ; - bool has_recursive() const; - void set_has_recursive(bool value); - - private: - bool _internal_has_recursive() const; - void _internal_set_has_recursive(bool value); - - public: - // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; - void clear_has_modifying_cte() ; - bool has_modifying_cte() const; - void set_has_modifying_cte(bool value); - - private: - bool _internal_has_modifying_cte() const; - void _internal_set_has_modifying_cte(bool value); - - public: - // bool has_for_update = 13 [json_name = "hasForUpdate"]; - void clear_has_for_update() ; - bool has_for_update() const; - void set_has_for_update(bool value); - - private: - bool _internal_has_for_update() const; - void _internal_set_has_for_update(bool value); - - public: - // bool has_row_security = 14 [json_name = "hasRowSecurity"]; - void clear_has_row_security() ; - bool has_row_security() const; - void set_has_row_security(bool value); - - private: - bool _internal_has_row_security() const; - void _internal_set_has_row_security(bool value); - - public: - // bool is_return = 15 [json_name = "isReturn"]; - void clear_is_return() ; - bool is_return() const; - void set_is_return(bool value); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - bool _internal_is_return() const; - void _internal_set_is_return(bool value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // bool merge_use_outer_join = 21 [json_name = "mergeUseOuterJoin"]; - void clear_merge_use_outer_join() ; - bool merge_use_outer_join() const; - void set_merge_use_outer_join(bool value); + // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; + void clear_paramkind() ; + ::pg_query::ParamKind paramkind() const; + void set_paramkind(::pg_query::ParamKind value); private: - bool _internal_merge_use_outer_join() const; - void _internal_set_merge_use_outer_join(bool value); + ::pg_query::ParamKind _internal_paramkind() const; + void _internal_set_paramkind(::pg_query::ParamKind value); public: - // .pg_query.OverridingKind override = 23 [json_name = "override"]; - void clear_override() ; - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); + // int32 paramid = 3 [json_name = "paramid"]; + void clear_paramid() ; + ::int32_t paramid() const; + void set_paramid(::int32_t value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); + ::int32_t _internal_paramid() const; + void _internal_set_paramid(::int32_t value); public: - // bool group_distinct = 27 [json_name = "groupDistinct"]; - void clear_group_distinct() ; - bool group_distinct() const; - void set_group_distinct(bool value); + // uint32 paramtype = 4 [json_name = "paramtype"]; + void clear_paramtype() ; + ::uint32_t paramtype() const; + void set_paramtype(::uint32_t value); private: - bool _internal_group_distinct() const; - void _internal_set_group_distinct(bool value); + ::uint32_t _internal_paramtype() const; + void _internal_set_paramtype(::uint32_t value); public: - // .pg_query.LimitOption limit_option = 35 [json_name = "limitOption"]; - void clear_limit_option() ; - ::pg_query::LimitOption limit_option() const; - void set_limit_option(::pg_query::LimitOption value); + // int32 paramtypmod = 5 [json_name = "paramtypmod"]; + void clear_paramtypmod() ; + ::int32_t paramtypmod() const; + void set_paramtypmod(::int32_t value); private: - ::pg_query::LimitOption _internal_limit_option() const; - void _internal_set_limit_option(::pg_query::LimitOption value); + ::int32_t _internal_paramtypmod() const; + void _internal_set_paramtypmod(::int32_t value); public: - // int32 stmt_location = 40 [json_name = "stmt_location"]; - void clear_stmt_location() ; - ::int32_t stmt_location() const; - void set_stmt_location(::int32_t value); + // uint32 paramcollid = 6 [json_name = "paramcollid"]; + void clear_paramcollid() ; + ::uint32_t paramcollid() const; + void set_paramcollid(::uint32_t value); private: - ::int32_t _internal_stmt_location() const; - void _internal_set_stmt_location(::int32_t value); + ::uint32_t _internal_paramcollid() const; + void _internal_set_paramcollid(::uint32_t value); public: - // int32 stmt_len = 41 [json_name = "stmt_len"]; - void clear_stmt_len() ; - ::int32_t stmt_len() const; - void set_stmt_len(::int32_t value); + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - ::int32_t _internal_stmt_len() const; - void _internal_set_stmt_len(::int32_t value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.Query) + // @@protoc_insertion_point(class_scope:pg_query.Param) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 5, 41, 21, - 0, 7> + 3, 7, 1, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -57940,73 +59777,39 @@ class Query final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cte_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rtable_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rteperminfos_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_action_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > grouping_sets_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > row_marks_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraint_deps_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > with_check_options_; - ::pg_query::Node* utility_stmt_; - ::pg_query::FromExpr* jointree_; - ::pg_query::OnConflictExpr* on_conflict_; - ::pg_query::Node* having_qual_; - ::pg_query::Node* limit_offset_; - ::pg_query::Node* limit_count_; - ::pg_query::Node* set_operations_; - int command_type_; - int query_source_; - ::int32_t result_relation_; - bool can_set_tag_; - bool has_aggs_; - bool has_window_funcs_; - bool has_target_srfs_; - bool has_sub_links_; - bool has_distinct_on_; - bool has_recursive_; - bool has_modifying_cte_; - bool has_for_update_; - bool has_row_security_; - bool is_return_; - bool merge_use_outer_join_; - int override_; - bool group_distinct_; - int limit_option_; - ::int32_t stmt_location_; - ::int32_t stmt_len_; + ::pg_query::Node* xpr_; + int paramkind_; + ::int32_t paramid_; + ::uint32_t paramtype_; + ::int32_t paramtypmod_; + ::uint32_t paramcollid_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeFunction final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeFunction) */ { +class PartitionBoundSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionBoundSpec) */ { public: - inline RangeFunction() : RangeFunction(nullptr) {} - ~RangeFunction() override; + inline PartitionBoundSpec() : PartitionBoundSpec(nullptr) {} + ~PartitionBoundSpec() override; template - explicit PROTOBUF_CONSTEXPR RangeFunction(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PartitionBoundSpec(::google::protobuf::internal::ConstantInitialized); - inline RangeFunction(const RangeFunction& from) - : RangeFunction(nullptr, from) {} - RangeFunction(RangeFunction&& from) noexcept - : RangeFunction() { + inline PartitionBoundSpec(const PartitionBoundSpec& from) + : PartitionBoundSpec(nullptr, from) {} + PartitionBoundSpec(PartitionBoundSpec&& from) noexcept + : PartitionBoundSpec() { *this = ::std::move(from); } - inline RangeFunction& operator=(const RangeFunction& from) { + inline PartitionBoundSpec& operator=(const PartitionBoundSpec& from) { CopyFrom(from); return *this; } - inline RangeFunction& operator=(RangeFunction&& from) noexcept { + inline PartitionBoundSpec& operator=(PartitionBoundSpec&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -58038,20 +59841,20 @@ class RangeFunction final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeFunction& default_instance() { + static const PartitionBoundSpec& default_instance() { return *internal_default_instance(); } - static inline const RangeFunction* internal_default_instance() { - return reinterpret_cast( - &_RangeFunction_default_instance_); + static inline const PartitionBoundSpec* internal_default_instance() { + return reinterpret_cast( + &_PartitionBoundSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 85; + 105; - friend void swap(RangeFunction& a, RangeFunction& b) { + friend void swap(PartitionBoundSpec& a, PartitionBoundSpec& b) { a.Swap(&b); } - inline void Swap(RangeFunction* other) { + inline void Swap(PartitionBoundSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -58064,7 +59867,7 @@ class RangeFunction final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeFunction* other) { + void UnsafeArenaSwap(PartitionBoundSpec* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -58072,14 +59875,14 @@ class RangeFunction final : // implements Message ---------------------------------------------- - RangeFunction* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionBoundSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeFunction& from); + void CopyFrom(const PartitionBoundSpec& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeFunction& from) { - RangeFunction::MergeImpl(*this, from); + void MergeFrom( const PartitionBoundSpec& from) { + PartitionBoundSpec::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -58097,16 +59900,16 @@ class RangeFunction final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeFunction* other); + void InternalSwap(PartitionBoundSpec* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeFunction"; + return "pg_query.PartitionBoundSpec"; } protected: - explicit RangeFunction(::google::protobuf::Arena* arena); - RangeFunction(::google::protobuf::Arena* arena, const RangeFunction& from); + explicit PartitionBoundSpec(::google::protobuf::Arena* arena); + PartitionBoundSpec(::google::protobuf::Arena* arena, const PartitionBoundSpec& from); public: static const ClassData _class_data_; @@ -58119,102 +59922,133 @@ class RangeFunction final : // accessors ------------------------------------------------------- enum : int { - kFunctionsFieldNumber = 4, - kColdeflistFieldNumber = 6, - kAliasFieldNumber = 5, - kLateralFieldNumber = 1, - kOrdinalityFieldNumber = 2, - kIsRowsfromFieldNumber = 3, + kListdatumsFieldNumber = 5, + kLowerdatumsFieldNumber = 6, + kUpperdatumsFieldNumber = 7, + kStrategyFieldNumber = 1, + kIsDefaultFieldNumber = 2, + kModulusFieldNumber = 3, + kRemainderFieldNumber = 4, + kLocationFieldNumber = 8, }; - // repeated .pg_query.Node functions = 4 [json_name = "functions"]; - int functions_size() const; + // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; + int listdatums_size() const; private: - int _internal_functions_size() const; + int _internal_listdatums_size() const; public: - void clear_functions() ; - ::pg_query::Node* mutable_functions(int index); + void clear_listdatums() ; + ::pg_query::Node* mutable_listdatums(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_functions(); + mutable_listdatums(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_listdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_listdatums(); public: - const ::pg_query::Node& functions(int index) const; - ::pg_query::Node* add_functions(); + const ::pg_query::Node& listdatums(int index) const; + ::pg_query::Node* add_listdatums(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - functions() const; - // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; - int coldeflist_size() const; + listdatums() const; + // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; + int lowerdatums_size() const; private: - int _internal_coldeflist_size() const; + int _internal_lowerdatums_size() const; public: - void clear_coldeflist() ; - ::pg_query::Node* mutable_coldeflist(int index); + void clear_lowerdatums() ; + ::pg_query::Node* mutable_lowerdatums(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coldeflist(); + mutable_lowerdatums(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldeflist() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldeflist(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_lowerdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_lowerdatums(); public: - const ::pg_query::Node& coldeflist(int index) const; - ::pg_query::Node* add_coldeflist(); + const ::pg_query::Node& lowerdatums(int index) const; + ::pg_query::Node* add_lowerdatums(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coldeflist() const; - // .pg_query.Alias alias = 5 [json_name = "alias"]; - bool has_alias() const; - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); + lowerdatums() const; + // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; + int upperdatums_size() const; + private: + int _internal_upperdatums_size() const; + public: + void clear_upperdatums() ; + ::pg_query::Node* mutable_upperdatums(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_upperdatums(); private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_upperdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_upperdatums(); + public: + const ::pg_query::Node& upperdatums(int index) const; + ::pg_query::Node* add_upperdatums(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + upperdatums() const; + // string strategy = 1 [json_name = "strategy"]; + void clear_strategy() ; + const std::string& strategy() const; + template + void set_strategy(Arg_&& arg, Args_... args); + std::string* mutable_strategy(); + PROTOBUF_NODISCARD std::string* release_strategy(); + void set_allocated_strategy(std::string* value); + + private: + const std::string& _internal_strategy() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy( + const std::string& value); + std::string* _internal_mutable_strategy(); public: - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral() ; - bool lateral() const; - void set_lateral(bool value); + // bool is_default = 2 [json_name = "is_default"]; + void clear_is_default() ; + bool is_default() const; + void set_is_default(bool value); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); + bool _internal_is_default() const; + void _internal_set_is_default(bool value); public: - // bool ordinality = 2 [json_name = "ordinality"]; - void clear_ordinality() ; - bool ordinality() const; - void set_ordinality(bool value); + // int32 modulus = 3 [json_name = "modulus"]; + void clear_modulus() ; + ::int32_t modulus() const; + void set_modulus(::int32_t value); private: - bool _internal_ordinality() const; - void _internal_set_ordinality(bool value); + ::int32_t _internal_modulus() const; + void _internal_set_modulus(::int32_t value); public: - // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; - void clear_is_rowsfrom() ; - bool is_rowsfrom() const; - void set_is_rowsfrom(bool value); + // int32 remainder = 4 [json_name = "remainder"]; + void clear_remainder() ; + ::int32_t remainder() const; + void set_remainder(::int32_t value); private: - bool _internal_is_rowsfrom() const; - void _internal_set_is_rowsfrom(bool value); + ::int32_t _internal_remainder() const; + void _internal_set_remainder(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeFunction) + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.PartitionBoundSpec) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 3, - 0, 2> + 3, 8, 3, + 52, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -58230,40 +60064,41 @@ class RangeFunction final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > listdatums_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > lowerdatums_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > upperdatums_; + ::google::protobuf::internal::ArenaStringPtr strategy_; + bool is_default_; + ::int32_t modulus_; + ::int32_t remainder_; + ::int32_t location_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldeflist_; - ::pg_query::Alias* alias_; - bool lateral_; - bool ordinality_; - bool is_rowsfrom_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeSubselect final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeSubselect) */ { +class PartitionCmd final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionCmd) */ { public: - inline RangeSubselect() : RangeSubselect(nullptr) {} - ~RangeSubselect() override; + inline PartitionCmd() : PartitionCmd(nullptr) {} + ~PartitionCmd() override; template - explicit PROTOBUF_CONSTEXPR RangeSubselect(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PartitionCmd(::google::protobuf::internal::ConstantInitialized); - inline RangeSubselect(const RangeSubselect& from) - : RangeSubselect(nullptr, from) {} - RangeSubselect(RangeSubselect&& from) noexcept - : RangeSubselect() { + inline PartitionCmd(const PartitionCmd& from) + : PartitionCmd(nullptr, from) {} + PartitionCmd(PartitionCmd&& from) noexcept + : PartitionCmd() { *this = ::std::move(from); } - inline RangeSubselect& operator=(const RangeSubselect& from) { + inline PartitionCmd& operator=(const PartitionCmd& from) { CopyFrom(from); return *this; } - inline RangeSubselect& operator=(RangeSubselect&& from) noexcept { + inline PartitionCmd& operator=(PartitionCmd&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -58295,20 +60130,20 @@ class RangeSubselect final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeSubselect& default_instance() { + static const PartitionCmd& default_instance() { return *internal_default_instance(); } - static inline const RangeSubselect* internal_default_instance() { - return reinterpret_cast( - &_RangeSubselect_default_instance_); + static inline const PartitionCmd* internal_default_instance() { + return reinterpret_cast( + &_PartitionCmd_default_instance_); } static constexpr int kIndexInFileMessages = - 84; + 108; - friend void swap(RangeSubselect& a, RangeSubselect& b) { + friend void swap(PartitionCmd& a, PartitionCmd& b) { a.Swap(&b); } - inline void Swap(RangeSubselect* other) { + inline void Swap(PartitionCmd* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -58321,7 +60156,7 @@ class RangeSubselect final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeSubselect* other) { + void UnsafeArenaSwap(PartitionCmd* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -58329,14 +60164,14 @@ class RangeSubselect final : // implements Message ---------------------------------------------- - RangeSubselect* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionCmd* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeSubselect& from); + void CopyFrom(const PartitionCmd& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeSubselect& from) { - RangeSubselect::MergeImpl(*this, from); + void MergeFrom( const PartitionCmd& from) { + PartitionCmd::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -58354,16 +60189,16 @@ class RangeSubselect final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeSubselect* other); + void InternalSwap(PartitionCmd* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeSubselect"; + return "pg_query.PartitionCmd"; } protected: - explicit RangeSubselect(::google::protobuf::Arena* arena); - RangeSubselect(::google::protobuf::Arena* arena, const RangeSubselect& from); + explicit PartitionCmd(::google::protobuf::Arena* arena); + PartitionCmd(::google::protobuf::Arena* arena, const PartitionCmd& from); public: static const ClassData _class_data_; @@ -58376,51 +60211,51 @@ class RangeSubselect final : // accessors ------------------------------------------------------- enum : int { - kSubqueryFieldNumber = 2, - kAliasFieldNumber = 3, - kLateralFieldNumber = 1, + kNameFieldNumber = 1, + kBoundFieldNumber = 2, + kConcurrentFieldNumber = 3, }; - // .pg_query.Node subquery = 2 [json_name = "subquery"]; - bool has_subquery() const; - void clear_subquery() ; - const ::pg_query::Node& subquery() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_subquery(); - ::pg_query::Node* mutable_subquery(); - void set_allocated_subquery(::pg_query::Node* value); - void unsafe_arena_set_allocated_subquery(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_subquery(); + // .pg_query.RangeVar name = 1 [json_name = "name"]; + bool has_name() const; + void clear_name() ; + const ::pg_query::RangeVar& name() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_name(); + ::pg_query::RangeVar* mutable_name(); + void set_allocated_name(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_name(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_name(); private: - const ::pg_query::Node& _internal_subquery() const; - ::pg_query::Node* _internal_mutable_subquery(); + const ::pg_query::RangeVar& _internal_name() const; + ::pg_query::RangeVar* _internal_mutable_name(); public: - // .pg_query.Alias alias = 3 [json_name = "alias"]; - bool has_alias() const; - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); + // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; + bool has_bound() const; + void clear_bound() ; + const ::pg_query::PartitionBoundSpec& bound() const; + PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_bound(); + ::pg_query::PartitionBoundSpec* mutable_bound(); + void set_allocated_bound(::pg_query::PartitionBoundSpec* value); + void unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value); + ::pg_query::PartitionBoundSpec* unsafe_arena_release_bound(); private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + const ::pg_query::PartitionBoundSpec& _internal_bound() const; + ::pg_query::PartitionBoundSpec* _internal_mutable_bound(); public: - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral() ; - bool lateral() const; - void set_lateral(bool value); + // bool concurrent = 3 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeSubselect) + // @@protoc_insertion_point(class_scope:pg_query.PartitionCmd) private: class _Internal; @@ -58445,35 +60280,35 @@ class RangeSubselect final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* subquery_; - ::pg_query::Alias* alias_; - bool lateral_; + ::pg_query::RangeVar* name_; + ::pg_query::PartitionBoundSpec* bound_; + bool concurrent_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeTableFunc final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFunc) */ { +class PartitionElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionElem) */ { public: - inline RangeTableFunc() : RangeTableFunc(nullptr) {} - ~RangeTableFunc() override; + inline PartitionElem() : PartitionElem(nullptr) {} + ~PartitionElem() override; template - explicit PROTOBUF_CONSTEXPR RangeTableFunc(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PartitionElem(::google::protobuf::internal::ConstantInitialized); - inline RangeTableFunc(const RangeTableFunc& from) - : RangeTableFunc(nullptr, from) {} - RangeTableFunc(RangeTableFunc&& from) noexcept - : RangeTableFunc() { + inline PartitionElem(const PartitionElem& from) + : PartitionElem(nullptr, from) {} + PartitionElem(PartitionElem&& from) noexcept + : PartitionElem() { *this = ::std::move(from); } - inline RangeTableFunc& operator=(const RangeTableFunc& from) { + inline PartitionElem& operator=(const PartitionElem& from) { CopyFrom(from); return *this; } - inline RangeTableFunc& operator=(RangeTableFunc&& from) noexcept { + inline PartitionElem& operator=(PartitionElem&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -58505,20 +60340,20 @@ class RangeTableFunc final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableFunc& default_instance() { + static const PartitionElem& default_instance() { return *internal_default_instance(); } - static inline const RangeTableFunc* internal_default_instance() { - return reinterpret_cast( - &_RangeTableFunc_default_instance_); + static inline const PartitionElem* internal_default_instance() { + return reinterpret_cast( + &_PartitionElem_default_instance_); } static constexpr int kIndexInFileMessages = - 86; + 103; - friend void swap(RangeTableFunc& a, RangeTableFunc& b) { + friend void swap(PartitionElem& a, PartitionElem& b) { a.Swap(&b); } - inline void Swap(RangeTableFunc* other) { + inline void Swap(PartitionElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -58531,7 +60366,7 @@ class RangeTableFunc final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableFunc* other) { + void UnsafeArenaSwap(PartitionElem* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -58539,14 +60374,14 @@ class RangeTableFunc final : // implements Message ---------------------------------------------- - RangeTableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeTableFunc& from); + void CopyFrom(const PartitionElem& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeTableFunc& from) { - RangeTableFunc::MergeImpl(*this, from); + void MergeFrom( const PartitionElem& from) { + PartitionElem::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -58564,16 +60399,16 @@ class RangeTableFunc final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeTableFunc* other); + void InternalSwap(PartitionElem* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeTableFunc"; + return "pg_query.PartitionElem"; } protected: - explicit RangeTableFunc(::google::protobuf::Arena* arena); - RangeTableFunc(::google::protobuf::Arena* arena, const RangeTableFunc& from); + explicit PartitionElem(::google::protobuf::Arena* arena); + PartitionElem(::google::protobuf::Arena* arena, const PartitionElem& from); public: static const ClassData _class_data_; @@ -58586,106 +60421,80 @@ class RangeTableFunc final : // accessors ------------------------------------------------------- enum : int { - kNamespacesFieldNumber = 4, - kColumnsFieldNumber = 5, - kDocexprFieldNumber = 2, - kRowexprFieldNumber = 3, - kAliasFieldNumber = 6, - kLateralFieldNumber = 1, - kLocationFieldNumber = 7, + kCollationFieldNumber = 3, + kOpclassFieldNumber = 4, + kNameFieldNumber = 1, + kExprFieldNumber = 2, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; - int namespaces_size() const; + // repeated .pg_query.Node collation = 3 [json_name = "collation"]; + int collation_size() const; private: - int _internal_namespaces_size() const; + int _internal_collation_size() const; public: - void clear_namespaces() ; - ::pg_query::Node* mutable_namespaces(int index); + void clear_collation() ; + ::pg_query::Node* mutable_collation(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_namespaces(); + mutable_collation(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_namespaces() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_namespaces(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collation() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collation(); public: - const ::pg_query::Node& namespaces(int index) const; - ::pg_query::Node* add_namespaces(); + const ::pg_query::Node& collation(int index) const; + ::pg_query::Node* add_collation(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - namespaces() const; - // repeated .pg_query.Node columns = 5 [json_name = "columns"]; - int columns_size() const; + collation() const; + // repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; + int opclass_size() const; private: - int _internal_columns_size() const; + int _internal_opclass_size() const; public: - void clear_columns() ; - ::pg_query::Node* mutable_columns(int index); + void clear_opclass() ; + ::pg_query::Node* mutable_opclass(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_columns(); + mutable_opclass(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclass() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclass(); public: - const ::pg_query::Node& columns(int index) const; - ::pg_query::Node* add_columns(); + const ::pg_query::Node& opclass(int index) const; + ::pg_query::Node* add_opclass(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - columns() const; - // .pg_query.Node docexpr = 2 [json_name = "docexpr"]; - bool has_docexpr() const; - void clear_docexpr() ; - const ::pg_query::Node& docexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); - ::pg_query::Node* mutable_docexpr(); - void set_allocated_docexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_docexpr(); - - private: - const ::pg_query::Node& _internal_docexpr() const; - ::pg_query::Node* _internal_mutable_docexpr(); - - public: - // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; - bool has_rowexpr() const; - void clear_rowexpr() ; - const ::pg_query::Node& rowexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); - ::pg_query::Node* mutable_rowexpr(); - void set_allocated_rowexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_rowexpr(); - - private: - const ::pg_query::Node& _internal_rowexpr() const; - ::pg_query::Node* _internal_mutable_rowexpr(); - - public: - // .pg_query.Alias alias = 6 [json_name = "alias"]; - bool has_alias() const; - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); + opclass() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral() ; - bool lateral() const; - void set_lateral(bool value); + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); public: - // int32 location = 7 [json_name = "location"]; + // int32 location = 5 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -58695,14 +60504,14 @@ class RangeTableFunc final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeTableFunc) + // @@protoc_insertion_point(class_scope:pg_query.PartitionElem) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 5, - 0, 2> + 3, 5, 3, + 35, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -58720,12 +60529,10 @@ class RangeTableFunc final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > namespaces_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; - ::pg_query::Node* docexpr_; - ::pg_query::Node* rowexpr_; - ::pg_query::Alias* alias_; - bool lateral_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collation_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclass_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* expr_; ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -58733,26 +60540,26 @@ class RangeTableFunc final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeTableFuncCol final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFuncCol) */ { +class PartitionRangeDatum final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionRangeDatum) */ { public: - inline RangeTableFuncCol() : RangeTableFuncCol(nullptr) {} - ~RangeTableFuncCol() override; + inline PartitionRangeDatum() : PartitionRangeDatum(nullptr) {} + ~PartitionRangeDatum() override; template - explicit PROTOBUF_CONSTEXPR RangeTableFuncCol(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PartitionRangeDatum(::google::protobuf::internal::ConstantInitialized); - inline RangeTableFuncCol(const RangeTableFuncCol& from) - : RangeTableFuncCol(nullptr, from) {} - RangeTableFuncCol(RangeTableFuncCol&& from) noexcept - : RangeTableFuncCol() { + inline PartitionRangeDatum(const PartitionRangeDatum& from) + : PartitionRangeDatum(nullptr, from) {} + PartitionRangeDatum(PartitionRangeDatum&& from) noexcept + : PartitionRangeDatum() { *this = ::std::move(from); } - inline RangeTableFuncCol& operator=(const RangeTableFuncCol& from) { + inline PartitionRangeDatum& operator=(const PartitionRangeDatum& from) { CopyFrom(from); return *this; } - inline RangeTableFuncCol& operator=(RangeTableFuncCol&& from) noexcept { + inline PartitionRangeDatum& operator=(PartitionRangeDatum&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -58784,20 +60591,20 @@ class RangeTableFuncCol final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableFuncCol& default_instance() { + static const PartitionRangeDatum& default_instance() { return *internal_default_instance(); } - static inline const RangeTableFuncCol* internal_default_instance() { - return reinterpret_cast( - &_RangeTableFuncCol_default_instance_); + static inline const PartitionRangeDatum* internal_default_instance() { + return reinterpret_cast( + &_PartitionRangeDatum_default_instance_); } static constexpr int kIndexInFileMessages = - 87; + 106; - friend void swap(RangeTableFuncCol& a, RangeTableFuncCol& b) { + friend void swap(PartitionRangeDatum& a, PartitionRangeDatum& b) { a.Swap(&b); } - inline void Swap(RangeTableFuncCol* other) { + inline void Swap(PartitionRangeDatum* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -58810,7 +60617,7 @@ class RangeTableFuncCol final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableFuncCol* other) { + void UnsafeArenaSwap(PartitionRangeDatum* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -58818,14 +60625,14 @@ class RangeTableFuncCol final : // implements Message ---------------------------------------------- - RangeTableFuncCol* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionRangeDatum* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeTableFuncCol& from); + void CopyFrom(const PartitionRangeDatum& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeTableFuncCol& from) { - RangeTableFuncCol::MergeImpl(*this, from); + void MergeFrom( const PartitionRangeDatum& from) { + PartitionRangeDatum::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -58843,16 +60650,16 @@ class RangeTableFuncCol final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeTableFuncCol* other); + void InternalSwap(PartitionRangeDatum* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeTableFuncCol"; + return "pg_query.PartitionRangeDatum"; } protected: - explicit RangeTableFuncCol(::google::protobuf::Arena* arena); - RangeTableFuncCol(::google::protobuf::Arena* arena, const RangeTableFuncCol& from); + explicit PartitionRangeDatum(::google::protobuf::Arena* arena); + PartitionRangeDatum(::google::protobuf::Arena* arena, const PartitionRangeDatum& from); public: static const ClassData _class_data_; @@ -58865,96 +60672,36 @@ class RangeTableFuncCol final : // accessors ------------------------------------------------------- enum : int { - kColnameFieldNumber = 1, - kTypeNameFieldNumber = 2, - kColexprFieldNumber = 5, - kColdefexprFieldNumber = 6, - kForOrdinalityFieldNumber = 3, - kIsNotNullFieldNumber = 4, - kLocationFieldNumber = 7, + kValueFieldNumber = 2, + kKindFieldNumber = 1, + kLocationFieldNumber = 3, }; - // string colname = 1 [json_name = "colname"]; - void clear_colname() ; - const std::string& colname() const; - template - void set_colname(Arg_&& arg, Args_... args); - std::string* mutable_colname(); - PROTOBUF_NODISCARD std::string* release_colname(); - void set_allocated_colname(std::string* value); - - private: - const std::string& _internal_colname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname( - const std::string& value); - std::string* _internal_mutable_colname(); - - public: - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; - void clear_type_name() ; - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* value); - void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); - ::pg_query::TypeName* unsafe_arena_release_type_name(); - - private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); - - public: - // .pg_query.Node colexpr = 5 [json_name = "colexpr"]; - bool has_colexpr() const; - void clear_colexpr() ; - const ::pg_query::Node& colexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_colexpr(); - ::pg_query::Node* mutable_colexpr(); - void set_allocated_colexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_colexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_colexpr(); - - private: - const ::pg_query::Node& _internal_colexpr() const; - ::pg_query::Node* _internal_mutable_colexpr(); - - public: - // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; - bool has_coldefexpr() const; - void clear_coldefexpr() ; - const ::pg_query::Node& coldefexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_coldefexpr(); - ::pg_query::Node* mutable_coldefexpr(); - void set_allocated_coldefexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_coldefexpr(); - - private: - const ::pg_query::Node& _internal_coldefexpr() const; - ::pg_query::Node* _internal_mutable_coldefexpr(); - - public: - // bool for_ordinality = 3 [json_name = "for_ordinality"]; - void clear_for_ordinality() ; - bool for_ordinality() const; - void set_for_ordinality(bool value); + // .pg_query.Node value = 2 [json_name = "value"]; + bool has_value() const; + void clear_value() ; + const ::pg_query::Node& value() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_value(); + ::pg_query::Node* mutable_value(); + void set_allocated_value(::pg_query::Node* value); + void unsafe_arena_set_allocated_value(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_value(); private: - bool _internal_for_ordinality() const; - void _internal_set_for_ordinality(bool value); + const ::pg_query::Node& _internal_value() const; + ::pg_query::Node* _internal_mutable_value(); public: - // bool is_not_null = 4 [json_name = "is_not_null"]; - void clear_is_not_null() ; - bool is_not_null() const; - void set_is_not_null(bool value); + // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::PartitionRangeDatumKind kind() const; + void set_kind(::pg_query::PartitionRangeDatumKind value); private: - bool _internal_is_not_null() const; - void _internal_set_is_not_null(bool value); + ::pg_query::PartitionRangeDatumKind _internal_kind() const; + void _internal_set_kind(::pg_query::PartitionRangeDatumKind value); public: - // int32 location = 7 [json_name = "location"]; + // int32 location = 3 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -58964,14 +60711,14 @@ class RangeTableFuncCol final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeTableFuncCol) + // @@protoc_insertion_point(class_scope:pg_query.PartitionRangeDatum) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 3, - 42, 2> + 2, 3, 1, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -58989,12 +60736,8 @@ class RangeTableFuncCol final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr colname_; - ::pg_query::TypeName* type_name_; - ::pg_query::Node* colexpr_; - ::pg_query::Node* coldefexpr_; - bool for_ordinality_; - bool is_not_null_; + ::pg_query::Node* value_; + int kind_; ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -59002,26 +60745,26 @@ class RangeTableFuncCol final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeTableSample final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableSample) */ { +class PartitionSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionSpec) */ { public: - inline RangeTableSample() : RangeTableSample(nullptr) {} - ~RangeTableSample() override; + inline PartitionSpec() : PartitionSpec(nullptr) {} + ~PartitionSpec() override; template - explicit PROTOBUF_CONSTEXPR RangeTableSample(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PartitionSpec(::google::protobuf::internal::ConstantInitialized); - inline RangeTableSample(const RangeTableSample& from) - : RangeTableSample(nullptr, from) {} - RangeTableSample(RangeTableSample&& from) noexcept - : RangeTableSample() { + inline PartitionSpec(const PartitionSpec& from) + : PartitionSpec(nullptr, from) {} + PartitionSpec(PartitionSpec&& from) noexcept + : PartitionSpec() { *this = ::std::move(from); } - inline RangeTableSample& operator=(const RangeTableSample& from) { + inline PartitionSpec& operator=(const PartitionSpec& from) { CopyFrom(from); return *this; } - inline RangeTableSample& operator=(RangeTableSample&& from) noexcept { + inline PartitionSpec& operator=(PartitionSpec&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -59053,20 +60796,20 @@ class RangeTableSample final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableSample& default_instance() { + static const PartitionSpec& default_instance() { return *internal_default_instance(); } - static inline const RangeTableSample* internal_default_instance() { - return reinterpret_cast( - &_RangeTableSample_default_instance_); + static inline const PartitionSpec* internal_default_instance() { + return reinterpret_cast( + &_PartitionSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 88; + 104; - friend void swap(RangeTableSample& a, RangeTableSample& b) { + friend void swap(PartitionSpec& a, PartitionSpec& b) { a.Swap(&b); } - inline void Swap(RangeTableSample* other) { + inline void Swap(PartitionSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -59079,7 +60822,7 @@ class RangeTableSample final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableSample* other) { + void UnsafeArenaSwap(PartitionSpec* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -59087,14 +60830,14 @@ class RangeTableSample final : // implements Message ---------------------------------------------- - RangeTableSample* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeTableSample& from); + void CopyFrom(const PartitionSpec& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeTableSample& from) { - RangeTableSample::MergeImpl(*this, from); + void MergeFrom( const PartitionSpec& from) { + PartitionSpec::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -59112,16 +60855,16 @@ class RangeTableSample final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeTableSample* other); + void InternalSwap(PartitionSpec* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeTableSample"; + return "pg_query.PartitionSpec"; } protected: - explicit RangeTableSample(::google::protobuf::Arena* arena); - RangeTableSample(::google::protobuf::Arena* arena, const RangeTableSample& from); + explicit PartitionSpec(::google::protobuf::Arena* arena); + PartitionSpec(::google::protobuf::Arena* arena, const PartitionSpec& from); public: static const ClassData _class_data_; @@ -59134,79 +60877,39 @@ class RangeTableSample final : // accessors ------------------------------------------------------- enum : int { - kMethodFieldNumber = 2, - kArgsFieldNumber = 3, - kRelationFieldNumber = 1, - kRepeatableFieldNumber = 4, - kLocationFieldNumber = 5, + kPartParamsFieldNumber = 2, + kStrategyFieldNumber = 1, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node method = 2 [json_name = "method"]; - int method_size() const; - private: - int _internal_method_size() const; - - public: - void clear_method() ; - ::pg_query::Node* mutable_method(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_method(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_method() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_method(); - public: - const ::pg_query::Node& method(int index) const; - ::pg_query::Node* add_method(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - method() const; - // repeated .pg_query.Node args = 3 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; + int part_params_size() const; private: - int _internal_args_size() const; + int _internal_part_params_size() const; public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); + void clear_part_params() ; + ::pg_query::Node* mutable_part_params(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + mutable_part_params(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_part_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_part_params(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); + const ::pg_query::Node& part_params(int index) const; + ::pg_query::Node* add_part_params(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::Node& relation() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_relation(); - ::pg_query::Node* mutable_relation(); - void set_allocated_relation(::pg_query::Node* value); - void unsafe_arena_set_allocated_relation(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_relation(); - - private: - const ::pg_query::Node& _internal_relation() const; - ::pg_query::Node* _internal_mutable_relation(); - - public: - // .pg_query.Node repeatable = 4 [json_name = "repeatable"]; - bool has_repeatable() const; - void clear_repeatable() ; - const ::pg_query::Node& repeatable() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); - ::pg_query::Node* mutable_repeatable(); - void set_allocated_repeatable(::pg_query::Node* value); - void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_repeatable(); + part_params() const; + // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; + void clear_strategy() ; + ::pg_query::PartitionStrategy strategy() const; + void set_strategy(::pg_query::PartitionStrategy value); private: - const ::pg_query::Node& _internal_repeatable() const; - ::pg_query::Node* _internal_mutable_repeatable(); + ::pg_query::PartitionStrategy _internal_strategy() const; + void _internal_set_strategy(::pg_query::PartitionStrategy value); public: - // int32 location = 5 [json_name = "location"]; + // int32 location = 3 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -59216,13 +60919,13 @@ class RangeTableSample final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeTableSample) + // @@protoc_insertion_point(class_scope:pg_query.PartitionSpec) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 4, + 2, 3, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -59239,39 +60942,36 @@ class RangeTableSample final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > method_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* relation_; - ::pg_query::Node* repeatable_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > part_params_; + int strategy_; ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeTblEntry final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblEntry) */ { +class PrepareStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PrepareStmt) */ { public: - inline RangeTblEntry() : RangeTblEntry(nullptr) {} - ~RangeTblEntry() override; + inline PrepareStmt() : PrepareStmt(nullptr) {} + ~PrepareStmt() override; template - explicit PROTOBUF_CONSTEXPR RangeTblEntry(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PrepareStmt(::google::protobuf::internal::ConstantInitialized); - inline RangeTblEntry(const RangeTblEntry& from) - : RangeTblEntry(nullptr, from) {} - RangeTblEntry(RangeTblEntry&& from) noexcept - : RangeTblEntry() { + inline PrepareStmt(const PrepareStmt& from) + : PrepareStmt(nullptr, from) {} + PrepareStmt(PrepareStmt&& from) noexcept + : PrepareStmt() { *this = ::std::move(from); } - inline RangeTblEntry& operator=(const RangeTblEntry& from) { + inline PrepareStmt& operator=(const PrepareStmt& from) { CopyFrom(from); return *this; } - inline RangeTblEntry& operator=(RangeTblEntry&& from) noexcept { + inline PrepareStmt& operator=(PrepareStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -59303,20 +61003,20 @@ class RangeTblEntry final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTblEntry& default_instance() { + static const PrepareStmt& default_instance() { return *internal_default_instance(); } - static inline const RangeTblEntry* internal_default_instance() { - return reinterpret_cast( - &_RangeTblEntry_default_instance_); + static inline const PrepareStmt* internal_default_instance() { + return reinterpret_cast( + &_PrepareStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 257; - friend void swap(RangeTblEntry& a, RangeTblEntry& b) { + friend void swap(PrepareStmt& a, PrepareStmt& b) { a.Swap(&b); } - inline void Swap(RangeTblEntry* other) { + inline void Swap(PrepareStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -59329,7 +61029,7 @@ class RangeTblEntry final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTblEntry* other) { + void UnsafeArenaSwap(PrepareStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -59337,14 +61037,14 @@ class RangeTblEntry final : // implements Message ---------------------------------------------- - RangeTblEntry* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PrepareStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeTblEntry& from); + void CopyFrom(const PrepareStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeTblEntry& from) { - RangeTblEntry::MergeImpl(*this, from); + void MergeFrom( const PrepareStmt& from) { + PrepareStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -59362,16 +61062,16 @@ class RangeTblEntry final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeTblEntry* other); + void InternalSwap(PrepareStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeTblEntry"; + return "pg_query.PrepareStmt"; } protected: - explicit RangeTblEntry(::google::protobuf::Arena* arena); - RangeTblEntry(::google::protobuf::Arena* arena, const RangeTblEntry& from); + explicit PrepareStmt(::google::protobuf::Arena* arena); + PrepareStmt(::google::protobuf::Arena* arena, const PrepareStmt& from); public: static const ClassData _class_data_; @@ -59384,487 +61084,289 @@ class RangeTblEntry final : // accessors ------------------------------------------------------- enum : int { - kJoinaliasvarsFieldNumber = 11, - kJoinleftcolsFieldNumber = 12, - kJoinrightcolsFieldNumber = 13, - kFunctionsFieldNumber = 15, - kValuesListsFieldNumber = 18, - kColtypesFieldNumber = 22, - kColtypmodsFieldNumber = 23, - kColcollationsFieldNumber = 24, - kSecurityQualsFieldNumber = 32, - kRelkindFieldNumber = 3, - kCtenameFieldNumber = 19, - kEnrnameFieldNumber = 25, - kTablesampleFieldNumber = 5, - kSubqueryFieldNumber = 7, - kJoinUsingAliasFieldNumber = 14, - kTablefuncFieldNumber = 17, - kAliasFieldNumber = 27, - kErefFieldNumber = 28, - kRtekindFieldNumber = 1, - kRelidFieldNumber = 2, - kRellockmodeFieldNumber = 4, - kPerminfoindexFieldNumber = 6, - kJointypeFieldNumber = 9, - kJoinmergedcolsFieldNumber = 10, - kSecurityBarrierFieldNumber = 8, - kFuncordinalityFieldNumber = 16, - kSelfReferenceFieldNumber = 21, - kLateralFieldNumber = 29, - kCtelevelsupFieldNumber = 20, - kEnrtuplesFieldNumber = 26, - kInhFieldNumber = 30, - kInFromClFieldNumber = 31, + kArgtypesFieldNumber = 2, + kNameFieldNumber = 1, + kQueryFieldNumber = 3, }; - // repeated .pg_query.Node joinaliasvars = 11 [json_name = "joinaliasvars"]; - int joinaliasvars_size() const; + // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; + int argtypes_size() const; private: - int _internal_joinaliasvars_size() const; + int _internal_argtypes_size() const; public: - void clear_joinaliasvars() ; - ::pg_query::Node* mutable_joinaliasvars(int index); + void clear_argtypes() ; + ::pg_query::Node* mutable_argtypes(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_joinaliasvars(); + mutable_argtypes(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinaliasvars() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinaliasvars(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_argtypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_argtypes(); public: - const ::pg_query::Node& joinaliasvars(int index) const; - ::pg_query::Node* add_joinaliasvars(); + const ::pg_query::Node& argtypes(int index) const; + ::pg_query::Node* add_argtypes(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - joinaliasvars() const; - // repeated .pg_query.Node joinleftcols = 12 [json_name = "joinleftcols"]; - int joinleftcols_size() const; - private: - int _internal_joinleftcols_size() const; + argtypes() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - public: - void clear_joinleftcols() ; - ::pg_query::Node* mutable_joinleftcols(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_joinleftcols(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinleftcols() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinleftcols(); - public: - const ::pg_query::Node& joinleftcols(int index) const; - ::pg_query::Node* add_joinleftcols(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - joinleftcols() const; - // repeated .pg_query.Node joinrightcols = 13 [json_name = "joinrightcols"]; - int joinrightcols_size() const; - private: - int _internal_joinrightcols_size() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - void clear_joinrightcols() ; - ::pg_query::Node* mutable_joinrightcols(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_joinrightcols(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinrightcols() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinrightcols(); - public: - const ::pg_query::Node& joinrightcols(int index) const; - ::pg_query::Node* add_joinrightcols(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - joinrightcols() const; - // repeated .pg_query.Node functions = 15 [json_name = "functions"]; - int functions_size() const; + // .pg_query.Node query = 3 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); + private: - int _internal_functions_size() const; + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); public: - void clear_functions() ; - ::pg_query::Node* mutable_functions(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_functions(); + // @@protoc_insertion_point(class_scope:pg_query.PrepareStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 33, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > argtypes_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* query_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class PublicationObjSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationObjSpec) */ { + public: + inline PublicationObjSpec() : PublicationObjSpec(nullptr) {} + ~PublicationObjSpec() override; + template + explicit PROTOBUF_CONSTEXPR PublicationObjSpec(::google::protobuf::internal::ConstantInitialized); + + inline PublicationObjSpec(const PublicationObjSpec& from) + : PublicationObjSpec(nullptr, from) {} + PublicationObjSpec(PublicationObjSpec&& from) noexcept + : PublicationObjSpec() { + *this = ::std::move(from); + } + + inline PublicationObjSpec& operator=(const PublicationObjSpec& from) { + CopyFrom(from); + return *this; + } + inline PublicationObjSpec& operator=(PublicationObjSpec&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PublicationObjSpec& default_instance() { + return *internal_default_instance(); + } + static inline const PublicationObjSpec* internal_default_instance() { + return reinterpret_cast( + &_PublicationObjSpec_default_instance_); + } + static constexpr int kIndexInFileMessages = + 265; + + friend void swap(PublicationObjSpec& a, PublicationObjSpec& b) { + a.Swap(&b); + } + inline void Swap(PublicationObjSpec* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PublicationObjSpec* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PublicationObjSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PublicationObjSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PublicationObjSpec& from) { + PublicationObjSpec::MergeImpl(*this, from); + } private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - const ::pg_query::Node& functions(int index) const; - ::pg_query::Node* add_functions(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - functions() const; - // repeated .pg_query.Node values_lists = 18 [json_name = "values_lists"]; - int values_lists_size() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - int _internal_values_lists_size() const; + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(PublicationObjSpec* other); - public: - void clear_values_lists() ; - ::pg_query::Node* mutable_values_lists(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_values_lists(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PublicationObjSpec"; + } + protected: + explicit PublicationObjSpec(::google::protobuf::Arena* arena); + PublicationObjSpec(::google::protobuf::Arena* arena, const PublicationObjSpec& from); public: - const ::pg_query::Node& values_lists(int index) const; - ::pg_query::Node* add_values_lists(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - values_lists() const; - // repeated .pg_query.Node coltypes = 22 [json_name = "coltypes"]; - int coltypes_size() const; + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 2, + kPubtableFieldNumber = 3, + kPubobjtypeFieldNumber = 1, + kLocationFieldNumber = 4, + }; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - int _internal_coltypes_size() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - void clear_coltypes() ; - ::pg_query::Node* mutable_coltypes(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypes(); + // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; + bool has_pubtable() const; + void clear_pubtable() ; + const ::pg_query::PublicationTable& pubtable() const; + PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_pubtable(); + ::pg_query::PublicationTable* mutable_pubtable(); + void set_allocated_pubtable(::pg_query::PublicationTable* value); + void unsafe_arena_set_allocated_pubtable(::pg_query::PublicationTable* value); + ::pg_query::PublicationTable* unsafe_arena_release_pubtable(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); + const ::pg_query::PublicationTable& _internal_pubtable() const; + ::pg_query::PublicationTable* _internal_mutable_pubtable(); + public: - const ::pg_query::Node& coltypes(int index) const; - ::pg_query::Node* add_coltypes(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coltypes() const; - // repeated .pg_query.Node coltypmods = 23 [json_name = "coltypmods"]; - int coltypmods_size() const; + // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; + void clear_pubobjtype() ; + ::pg_query::PublicationObjSpecType pubobjtype() const; + void set_pubobjtype(::pg_query::PublicationObjSpecType value); + private: - int _internal_coltypmods_size() const; + ::pg_query::PublicationObjSpecType _internal_pubobjtype() const; + void _internal_set_pubobjtype(::pg_query::PublicationObjSpecType value); public: - void clear_coltypmods() ; - ::pg_query::Node* mutable_coltypmods(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypmods(); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: - const ::pg_query::Node& coltypmods(int index) const; - ::pg_query::Node* add_coltypmods(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coltypmods() const; - // repeated .pg_query.Node colcollations = 24 [json_name = "colcollations"]; - int colcollations_size() const; - private: - int _internal_colcollations_size() const; - - public: - void clear_colcollations() ; - ::pg_query::Node* mutable_colcollations(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_colcollations(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); - public: - const ::pg_query::Node& colcollations(int index) const; - ::pg_query::Node* add_colcollations(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - colcollations() const; - // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; - int security_quals_size() const; - private: - int _internal_security_quals_size() const; - - public: - void clear_security_quals() ; - ::pg_query::Node* mutable_security_quals(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_security_quals(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_security_quals() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_security_quals(); - public: - const ::pg_query::Node& security_quals(int index) const; - ::pg_query::Node* add_security_quals(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - security_quals() const; - // string relkind = 3 [json_name = "relkind"]; - void clear_relkind() ; - const std::string& relkind() const; - template - void set_relkind(Arg_&& arg, Args_... args); - std::string* mutable_relkind(); - PROTOBUF_NODISCARD std::string* release_relkind(); - void set_allocated_relkind(std::string* value); - - private: - const std::string& _internal_relkind() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relkind( - const std::string& value); - std::string* _internal_mutable_relkind(); - - public: - // string ctename = 19 [json_name = "ctename"]; - void clear_ctename() ; - const std::string& ctename() const; - template - void set_ctename(Arg_&& arg, Args_... args); - std::string* mutable_ctename(); - PROTOBUF_NODISCARD std::string* release_ctename(); - void set_allocated_ctename(std::string* value); - - private: - const std::string& _internal_ctename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename( - const std::string& value); - std::string* _internal_mutable_ctename(); - - public: - // string enrname = 25 [json_name = "enrname"]; - void clear_enrname() ; - const std::string& enrname() const; - template - void set_enrname(Arg_&& arg, Args_... args); - std::string* mutable_enrname(); - PROTOBUF_NODISCARD std::string* release_enrname(); - void set_allocated_enrname(std::string* value); - - private: - const std::string& _internal_enrname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_enrname( - const std::string& value); - std::string* _internal_mutable_enrname(); - - public: - // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"]; - bool has_tablesample() const; - void clear_tablesample() ; - const ::pg_query::TableSampleClause& tablesample() const; - PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_tablesample(); - ::pg_query::TableSampleClause* mutable_tablesample(); - void set_allocated_tablesample(::pg_query::TableSampleClause* value); - void unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value); - ::pg_query::TableSampleClause* unsafe_arena_release_tablesample(); - - private: - const ::pg_query::TableSampleClause& _internal_tablesample() const; - ::pg_query::TableSampleClause* _internal_mutable_tablesample(); - - public: - // .pg_query.Query subquery = 7 [json_name = "subquery"]; - bool has_subquery() const; - void clear_subquery() ; - const ::pg_query::Query& subquery() const; - PROTOBUF_NODISCARD ::pg_query::Query* release_subquery(); - ::pg_query::Query* mutable_subquery(); - void set_allocated_subquery(::pg_query::Query* value); - void unsafe_arena_set_allocated_subquery(::pg_query::Query* value); - ::pg_query::Query* unsafe_arena_release_subquery(); - - private: - const ::pg_query::Query& _internal_subquery() const; - ::pg_query::Query* _internal_mutable_subquery(); - - public: - // .pg_query.Alias join_using_alias = 14 [json_name = "join_using_alias"]; - bool has_join_using_alias() const; - void clear_join_using_alias() ; - const ::pg_query::Alias& join_using_alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); - ::pg_query::Alias* mutable_join_using_alias(); - void set_allocated_join_using_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_join_using_alias(); - - private: - const ::pg_query::Alias& _internal_join_using_alias() const; - ::pg_query::Alias* _internal_mutable_join_using_alias(); - - public: - // .pg_query.TableFunc tablefunc = 17 [json_name = "tablefunc"]; - bool has_tablefunc() const; - void clear_tablefunc() ; - const ::pg_query::TableFunc& tablefunc() const; - PROTOBUF_NODISCARD ::pg_query::TableFunc* release_tablefunc(); - ::pg_query::TableFunc* mutable_tablefunc(); - void set_allocated_tablefunc(::pg_query::TableFunc* value); - void unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value); - ::pg_query::TableFunc* unsafe_arena_release_tablefunc(); - - private: - const ::pg_query::TableFunc& _internal_tablefunc() const; - ::pg_query::TableFunc* _internal_mutable_tablefunc(); - - public: - // .pg_query.Alias alias = 27 [json_name = "alias"]; - bool has_alias() const; - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); - - private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); - - public: - // .pg_query.Alias eref = 28 [json_name = "eref"]; - bool has_eref() const; - void clear_eref() ; - const ::pg_query::Alias& eref() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_eref(); - ::pg_query::Alias* mutable_eref(); - void set_allocated_eref(::pg_query::Alias* value); - void unsafe_arena_set_allocated_eref(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_eref(); - - private: - const ::pg_query::Alias& _internal_eref() const; - ::pg_query::Alias* _internal_mutable_eref(); - - public: - // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"]; - void clear_rtekind() ; - ::pg_query::RTEKind rtekind() const; - void set_rtekind(::pg_query::RTEKind value); - - private: - ::pg_query::RTEKind _internal_rtekind() const; - void _internal_set_rtekind(::pg_query::RTEKind value); - - public: - // uint32 relid = 2 [json_name = "relid"]; - void clear_relid() ; - ::uint32_t relid() const; - void set_relid(::uint32_t value); - - private: - ::uint32_t _internal_relid() const; - void _internal_set_relid(::uint32_t value); - - public: - // int32 rellockmode = 4 [json_name = "rellockmode"]; - void clear_rellockmode() ; - ::int32_t rellockmode() const; - void set_rellockmode(::int32_t value); - - private: - ::int32_t _internal_rellockmode() const; - void _internal_set_rellockmode(::int32_t value); - - public: - // uint32 perminfoindex = 6 [json_name = "perminfoindex"]; - void clear_perminfoindex() ; - ::uint32_t perminfoindex() const; - void set_perminfoindex(::uint32_t value); - - private: - ::uint32_t _internal_perminfoindex() const; - void _internal_set_perminfoindex(::uint32_t value); - - public: - // .pg_query.JoinType jointype = 9 [json_name = "jointype"]; - void clear_jointype() ; - ::pg_query::JoinType jointype() const; - void set_jointype(::pg_query::JoinType value); - - private: - ::pg_query::JoinType _internal_jointype() const; - void _internal_set_jointype(::pg_query::JoinType value); - - public: - // int32 joinmergedcols = 10 [json_name = "joinmergedcols"]; - void clear_joinmergedcols() ; - ::int32_t joinmergedcols() const; - void set_joinmergedcols(::int32_t value); - - private: - ::int32_t _internal_joinmergedcols() const; - void _internal_set_joinmergedcols(::int32_t value); - - public: - // bool security_barrier = 8 [json_name = "security_barrier"]; - void clear_security_barrier() ; - bool security_barrier() const; - void set_security_barrier(bool value); - - private: - bool _internal_security_barrier() const; - void _internal_set_security_barrier(bool value); - - public: - // bool funcordinality = 16 [json_name = "funcordinality"]; - void clear_funcordinality() ; - bool funcordinality() const; - void set_funcordinality(bool value); - - private: - bool _internal_funcordinality() const; - void _internal_set_funcordinality(bool value); - - public: - // bool self_reference = 21 [json_name = "self_reference"]; - void clear_self_reference() ; - bool self_reference() const; - void set_self_reference(bool value); - - private: - bool _internal_self_reference() const; - void _internal_set_self_reference(bool value); - - public: - // bool lateral = 29 [json_name = "lateral"]; - void clear_lateral() ; - bool lateral() const; - void set_lateral(bool value); - - private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); - - public: - // uint32 ctelevelsup = 20 [json_name = "ctelevelsup"]; - void clear_ctelevelsup() ; - ::uint32_t ctelevelsup() const; - void set_ctelevelsup(::uint32_t value); - - private: - ::uint32_t _internal_ctelevelsup() const; - void _internal_set_ctelevelsup(::uint32_t value); - - public: - // double enrtuples = 26 [json_name = "enrtuples"]; - void clear_enrtuples() ; - double enrtuples() const; - void set_enrtuples(double value); - - private: - double _internal_enrtuples() const; - void _internal_set_enrtuples(double value); - - public: - // bool inh = 30 [json_name = "inh"]; - void clear_inh() ; - bool inh() const; - void set_inh(bool value); - - private: - bool _internal_inh() const; - void _internal_set_inh(bool value); - - public: - // bool in_from_cl = 31 [json_name = "inFromCl"]; - void clear_in_from_cl() ; - bool in_from_cl() const; - void set_in_from_cl(bool value); - - private: - bool _internal_in_from_cl() const; - void _internal_set_in_from_cl(bool value); - - public: - // @@protoc_insertion_point(class_scope:pg_query.RangeTblEntry) + // @@protoc_insertion_point(class_scope:pg_query.PublicationObjSpec) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 5, 32, 15, - 84, 2> + 2, 4, 1, + 40, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -59882,64 +61384,36 @@ class RangeTblEntry final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinaliasvars_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinleftcols_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinrightcols_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > security_quals_; - ::google::protobuf::internal::ArenaStringPtr relkind_; - ::google::protobuf::internal::ArenaStringPtr ctename_; - ::google::protobuf::internal::ArenaStringPtr enrname_; - ::pg_query::TableSampleClause* tablesample_; - ::pg_query::Query* subquery_; - ::pg_query::Alias* join_using_alias_; - ::pg_query::TableFunc* tablefunc_; - ::pg_query::Alias* alias_; - ::pg_query::Alias* eref_; - int rtekind_; - ::uint32_t relid_; - ::int32_t rellockmode_; - ::uint32_t perminfoindex_; - int jointype_; - ::int32_t joinmergedcols_; - bool security_barrier_; - bool funcordinality_; - bool self_reference_; - bool lateral_; - ::uint32_t ctelevelsup_; - double enrtuples_; - bool inh_; - bool in_from_cl_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::PublicationTable* pubtable_; + int pubobjtype_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeTblFunction final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblFunction) */ { +class PublicationTable final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationTable) */ { public: - inline RangeTblFunction() : RangeTblFunction(nullptr) {} - ~RangeTblFunction() override; + inline PublicationTable() : PublicationTable(nullptr) {} + ~PublicationTable() override; template - explicit PROTOBUF_CONSTEXPR RangeTblFunction(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR PublicationTable(::google::protobuf::internal::ConstantInitialized); - inline RangeTblFunction(const RangeTblFunction& from) - : RangeTblFunction(nullptr, from) {} - RangeTblFunction(RangeTblFunction&& from) noexcept - : RangeTblFunction() { + inline PublicationTable(const PublicationTable& from) + : PublicationTable(nullptr, from) {} + PublicationTable(PublicationTable&& from) noexcept + : PublicationTable() { *this = ::std::move(from); } - inline RangeTblFunction& operator=(const RangeTblFunction& from) { + inline PublicationTable& operator=(const PublicationTable& from) { CopyFrom(from); return *this; } - inline RangeTblFunction& operator=(RangeTblFunction&& from) noexcept { + inline PublicationTable& operator=(PublicationTable&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -59971,20 +61445,20 @@ class RangeTblFunction final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTblFunction& default_instance() { + static const PublicationTable& default_instance() { return *internal_default_instance(); } - static inline const RangeTblFunction* internal_default_instance() { - return reinterpret_cast( - &_RangeTblFunction_default_instance_); + static inline const PublicationTable* internal_default_instance() { + return reinterpret_cast( + &_PublicationTable_default_instance_); } static constexpr int kIndexInFileMessages = - 102; + 264; - friend void swap(RangeTblFunction& a, RangeTblFunction& b) { + friend void swap(PublicationTable& a, PublicationTable& b) { a.Swap(&b); } - inline void Swap(RangeTblFunction* other) { + inline void Swap(PublicationTable* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -59997,7 +61471,7 @@ class RangeTblFunction final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTblFunction* other) { + void UnsafeArenaSwap(PublicationTable* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -60005,14 +61479,14 @@ class RangeTblFunction final : // implements Message ---------------------------------------------- - RangeTblFunction* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PublicationTable* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeTblFunction& from); + void CopyFrom(const PublicationTable& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeTblFunction& from) { - RangeTblFunction::MergeImpl(*this, from); + void MergeFrom( const PublicationTable& from) { + PublicationTable::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -60030,16 +61504,16 @@ class RangeTblFunction final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeTblFunction* other); + void InternalSwap(PublicationTable* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeTblFunction"; + return "pg_query.PublicationTable"; } protected: - explicit RangeTblFunction(::google::protobuf::Arena* arena); - RangeTblFunction(::google::protobuf::Arena* arena, const RangeTblFunction& from); + explicit PublicationTable(::google::protobuf::Arena* arena); + PublicationTable(::google::protobuf::Arena* arena, const PublicationTable& from); public: static const ClassData _class_data_; @@ -60052,136 +61526,65 @@ class RangeTblFunction final : // accessors ------------------------------------------------------- enum : int { - kFunccolnamesFieldNumber = 3, - kFunccoltypesFieldNumber = 4, - kFunccoltypmodsFieldNumber = 5, - kFunccolcollationsFieldNumber = 6, - kFuncparamsFieldNumber = 7, - kFuncexprFieldNumber = 1, - kFunccolcountFieldNumber = 2, + kColumnsFieldNumber = 3, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 2, }; - // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; - int funccolnames_size() const; - private: - int _internal_funccolnames_size() const; - - public: - void clear_funccolnames() ; - ::pg_query::Node* mutable_funccolnames(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_funccolnames(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolnames() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolnames(); - public: - const ::pg_query::Node& funccolnames(int index) const; - ::pg_query::Node* add_funccolnames(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - funccolnames() const; - // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; - int funccoltypes_size() const; - private: - int _internal_funccoltypes_size() const; - - public: - void clear_funccoltypes() ; - ::pg_query::Node* mutable_funccoltypes(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_funccoltypes(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypes() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypes(); - public: - const ::pg_query::Node& funccoltypes(int index) const; - ::pg_query::Node* add_funccoltypes(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - funccoltypes() const; - // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; - int funccoltypmods_size() const; - private: - int _internal_funccoltypmods_size() const; - - public: - void clear_funccoltypmods() ; - ::pg_query::Node* mutable_funccoltypmods(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_funccoltypmods(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypmods() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypmods(); - public: - const ::pg_query::Node& funccoltypmods(int index) const; - ::pg_query::Node* add_funccoltypmods(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - funccoltypmods() const; - // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; - int funccolcollations_size() const; + // repeated .pg_query.Node columns = 3 [json_name = "columns"]; + int columns_size() const; private: - int _internal_funccolcollations_size() const; + int _internal_columns_size() const; public: - void clear_funccolcollations() ; - ::pg_query::Node* mutable_funccolcollations(int index); + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_funccolcollations(); + mutable_columns(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolcollations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolcollations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - const ::pg_query::Node& funccolcollations(int index) const; - ::pg_query::Node* add_funccolcollations(); + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - funccolcollations() const; - // repeated uint64 funcparams = 7 [json_name = "funcparams"]; - int funcparams_size() const; - private: - int _internal_funcparams_size() const; - - public: - void clear_funcparams() ; - ::uint64_t funcparams(int index) const; - void set_funcparams(int index, ::uint64_t value); - void add_funcparams(::uint64_t value); - const ::google::protobuf::RepeatedField<::uint64_t>& funcparams() const; - ::google::protobuf::RepeatedField<::uint64_t>* mutable_funcparams(); - - private: - const ::google::protobuf::RepeatedField<::uint64_t>& _internal_funcparams() const; - ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_funcparams(); - - public: - // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; - bool has_funcexpr() const; - void clear_funcexpr() ; - const ::pg_query::Node& funcexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_funcexpr(); - ::pg_query::Node* mutable_funcexpr(); - void set_allocated_funcexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_funcexpr(); + columns() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - const ::pg_query::Node& _internal_funcexpr() const; - ::pg_query::Node* _internal_mutable_funcexpr(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // int32 funccolcount = 2 [json_name = "funccolcount"]; - void clear_funccolcount() ; - ::int32_t funccolcount() const; - void set_funccolcount(::int32_t value); + // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); private: - ::int32_t _internal_funccolcount() const; - void _internal_set_funccolcount(::int32_t value); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); public: - // @@protoc_insertion_point(class_scope:pg_query.RangeTblFunction) + // @@protoc_insertion_point(class_scope:pg_query.PublicationTable) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 5, + 2, 3, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -60200,40 +61603,35 @@ class RangeTblFunction final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolnames_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypes_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypmods_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolcollations_; - ::google::protobuf::RepeatedField<::uint64_t> funcparams_; - mutable ::google::protobuf::internal::CachedSize _funcparams_cached_byte_size_; - ::pg_query::Node* funcexpr_; - ::int32_t funccolcount_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RangeVar final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeVar) */ { +class Query final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Query) */ { public: - inline RangeVar() : RangeVar(nullptr) {} - ~RangeVar() override; + inline Query() : Query(nullptr) {} + ~Query() override; template - explicit PROTOBUF_CONSTEXPR RangeVar(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Query(::google::protobuf::internal::ConstantInitialized); - inline RangeVar(const RangeVar& from) - : RangeVar(nullptr, from) {} - RangeVar(RangeVar&& from) noexcept - : RangeVar() { + inline Query(const Query& from) + : Query(nullptr, from) {} + Query(Query&& from) noexcept + : Query() { *this = ::std::move(from); } - inline RangeVar& operator=(const RangeVar& from) { + inline Query& operator=(const Query& from) { CopyFrom(from); return *this; } - inline RangeVar& operator=(RangeVar&& from) noexcept { + inline Query& operator=(Query&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -60265,20 +61663,20 @@ class RangeVar final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeVar& default_instance() { + static const Query& default_instance() { return *internal_default_instance(); } - static inline const RangeVar* internal_default_instance() { - return reinterpret_cast( - &_RangeVar_default_instance_); + static inline const Query* internal_default_instance() { + return reinterpret_cast( + &_Query_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 75; - friend void swap(RangeVar& a, RangeVar& b) { + friend void swap(Query& a, Query& b) { a.Swap(&b); } - inline void Swap(RangeVar* other) { + inline void Swap(Query* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -60291,7 +61689,7 @@ class RangeVar final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeVar* other) { + void UnsafeArenaSwap(Query* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -60299,14 +61697,14 @@ class RangeVar final : // implements Message ---------------------------------------------- - RangeVar* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Query* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RangeVar& from); + void CopyFrom(const Query& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RangeVar& from) { - RangeVar::MergeImpl(*this, from); + void MergeFrom( const Query& from) { + Query::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -60324,16 +61722,16 @@ class RangeVar final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RangeVar* other); + void InternalSwap(Query* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RangeVar"; + return "pg_query.Query"; } protected: - explicit RangeVar(::google::protobuf::Arena* arena); - RangeVar(::google::protobuf::Arena* arena, const RangeVar& from); + explicit Query(::google::protobuf::Arena* arena); + Query(::google::protobuf::Arena* arena, const Query& from); public: static const ClassData _class_data_; @@ -60346,330 +61744,629 @@ class RangeVar final : // accessors ------------------------------------------------------- enum : int { - kCatalognameFieldNumber = 1, - kSchemanameFieldNumber = 2, - kRelnameFieldNumber = 3, - kRelpersistenceFieldNumber = 5, - kAliasFieldNumber = 6, - kInhFieldNumber = 4, - kLocationFieldNumber = 7, + kCteListFieldNumber = 16, + kRtableFieldNumber = 17, + kRteperminfosFieldNumber = 18, + kMergeActionListFieldNumber = 20, + kTargetListFieldNumber = 23, + kReturningListFieldNumber = 26, + kGroupClauseFieldNumber = 27, + kGroupingSetsFieldNumber = 29, + kWindowClauseFieldNumber = 31, + kDistinctClauseFieldNumber = 32, + kSortClauseFieldNumber = 33, + kRowMarksFieldNumber = 37, + kConstraintDepsFieldNumber = 39, + kWithCheckOptionsFieldNumber = 40, + kUtilityStmtFieldNumber = 4, + kJointreeFieldNumber = 19, + kMergeJoinConditionFieldNumber = 22, + kOnConflictFieldNumber = 25, + kHavingQualFieldNumber = 30, + kLimitOffsetFieldNumber = 34, + kLimitCountFieldNumber = 35, + kSetOperationsFieldNumber = 38, + kCommandTypeFieldNumber = 1, + kQuerySourceFieldNumber = 2, + kResultRelationFieldNumber = 5, + kCanSetTagFieldNumber = 3, + kHasAggsFieldNumber = 6, + kHasWindowFuncsFieldNumber = 7, + kHasTargetSrfsFieldNumber = 8, + kHasSubLinksFieldNumber = 9, + kHasDistinctOnFieldNumber = 10, + kHasRecursiveFieldNumber = 11, + kHasModifyingCteFieldNumber = 12, + kHasForUpdateFieldNumber = 13, + kHasRowSecurityFieldNumber = 14, + kIsReturnFieldNumber = 15, + kGroupDistinctFieldNumber = 28, + kMergeTargetRelationFieldNumber = 21, + kOverrideFieldNumber = 24, + kLimitOptionFieldNumber = 36, + kStmtLocationFieldNumber = 41, + kStmtLenFieldNumber = 42, }; - // string catalogname = 1 [json_name = "catalogname"]; - void clear_catalogname() ; - const std::string& catalogname() const; - template - void set_catalogname(Arg_&& arg, Args_... args); - std::string* mutable_catalogname(); - PROTOBUF_NODISCARD std::string* release_catalogname(); - void set_allocated_catalogname(std::string* value); - + // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; + int cte_list_size() const; private: - const std::string& _internal_catalogname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_catalogname( - const std::string& value); - std::string* _internal_mutable_catalogname(); + int _internal_cte_list_size() const; public: - // string schemaname = 2 [json_name = "schemaname"]; - void clear_schemaname() ; - const std::string& schemaname() const; - template - void set_schemaname(Arg_&& arg, Args_... args); - std::string* mutable_schemaname(); - PROTOBUF_NODISCARD std::string* release_schemaname(); - void set_allocated_schemaname(std::string* value); - + void clear_cte_list() ; + ::pg_query::Node* mutable_cte_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cte_list(); private: - const std::string& _internal_schemaname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname( - const std::string& value); - std::string* _internal_mutable_schemaname(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cte_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cte_list(); public: - // string relname = 3 [json_name = "relname"]; - void clear_relname() ; - const std::string& relname() const; - template - void set_relname(Arg_&& arg, Args_... args); - std::string* mutable_relname(); - PROTOBUF_NODISCARD std::string* release_relname(); - void set_allocated_relname(std::string* value); - + const ::pg_query::Node& cte_list(int index) const; + ::pg_query::Node* add_cte_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cte_list() const; + // repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; + int rtable_size() const; private: - const std::string& _internal_relname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( - const std::string& value); - std::string* _internal_mutable_relname(); + int _internal_rtable_size() const; public: - // string relpersistence = 5 [json_name = "relpersistence"]; - void clear_relpersistence() ; - const std::string& relpersistence() const; - template - void set_relpersistence(Arg_&& arg, Args_... args); - std::string* mutable_relpersistence(); - PROTOBUF_NODISCARD std::string* release_relpersistence(); - void set_allocated_relpersistence(std::string* value); - + void clear_rtable() ; + ::pg_query::Node* mutable_rtable(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rtable(); private: - const std::string& _internal_relpersistence() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relpersistence( - const std::string& value); - std::string* _internal_mutable_relpersistence(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rtable() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rtable(); public: - // .pg_query.Alias alias = 6 [json_name = "alias"]; - bool has_alias() const; - void clear_alias() ; - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* value); - void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); - ::pg_query::Alias* unsafe_arena_release_alias(); - + const ::pg_query::Node& rtable(int index) const; + ::pg_query::Node* add_rtable(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rtable() const; + // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; + int rteperminfos_size() const; private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + int _internal_rteperminfos_size() const; public: - // bool inh = 4 [json_name = "inh"]; - void clear_inh() ; - bool inh() const; - void set_inh(bool value); - + void clear_rteperminfos() ; + ::pg_query::Node* mutable_rteperminfos(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rteperminfos(); private: - bool _internal_inh() const; - void _internal_set_inh(bool value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rteperminfos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rteperminfos(); public: - // int32 location = 7 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); - + const ::pg_query::Node& rteperminfos(int index) const; + ::pg_query::Node* add_rteperminfos(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rteperminfos() const; + // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; + int merge_action_list_size() const; private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + int _internal_merge_action_list_size() const; public: - // @@protoc_insertion_point(class_scope:pg_query.RangeVar) - private: - class _Internal; - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 3, 7, 1, - 68, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { - - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr catalogname_; - ::google::protobuf::internal::ArenaStringPtr schemaname_; - ::google::protobuf::internal::ArenaStringPtr relname_; - ::google::protobuf::internal::ArenaStringPtr relpersistence_; - ::pg_query::Alias* alias_; - bool inh_; - ::int32_t location_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- - -class RawStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RawStmt) */ { - public: - inline RawStmt() : RawStmt(nullptr) {} - ~RawStmt() override; - template - explicit PROTOBUF_CONSTEXPR RawStmt(::google::protobuf::internal::ConstantInitialized); - - inline RawStmt(const RawStmt& from) - : RawStmt(nullptr, from) {} - RawStmt(RawStmt&& from) noexcept - : RawStmt() { - *this = ::std::move(from); - } - - inline RawStmt& operator=(const RawStmt& from) { - CopyFrom(from); - return *this; - } - inline RawStmt& operator=(RawStmt&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } - - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const RawStmt& default_instance() { - return *internal_default_instance(); - } - static inline const RawStmt* internal_default_instance() { - return reinterpret_cast( - &_RawStmt_default_instance_); - } - static constexpr int kIndexInFileMessages = - 126; - - friend void swap(RawStmt& a, RawStmt& b) { - a.Swap(&b); - } - inline void Swap(RawStmt* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(RawStmt* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - RawStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RawStmt& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RawStmt& from) { - RawStmt::MergeImpl(*this, from); - } + void clear_merge_action_list() ; + ::pg_query::Node* mutable_merge_action_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_merge_action_list(); private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_action_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_action_list(); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } - + const ::pg_query::Node& merge_action_list(int index) const; + ::pg_query::Node* add_merge_action_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + merge_action_list() const; + // repeated .pg_query.Node target_list = 23 [json_name = "targetList"]; + int target_list_size() const; private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(RawStmt* other); + int _internal_target_list_size() const; + public: + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.RawStmt"; - } - protected: - explicit RawStmt(::google::protobuf::Arena* arena); - RawStmt(::google::protobuf::Arena* arena, const RawStmt& from); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; - - ::google::protobuf::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kStmtFieldNumber = 1, - kStmtLocationFieldNumber = 2, - kStmtLenFieldNumber = 3, - }; - // .pg_query.Node stmt = 1 [json_name = "stmt"]; - bool has_stmt() const; - void clear_stmt() ; - const ::pg_query::Node& stmt() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_stmt(); - ::pg_query::Node* mutable_stmt(); - void set_allocated_stmt(::pg_query::Node* value); - void unsafe_arena_set_allocated_stmt(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_stmt(); - + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"]; + int returning_list_size() const; private: - const ::pg_query::Node& _internal_stmt() const; - ::pg_query::Node* _internal_mutable_stmt(); + int _internal_returning_list_size() const; public: - // int32 stmt_location = 2 [json_name = "stmt_location"]; - void clear_stmt_location() ; - ::int32_t stmt_location() const; - void set_stmt_location(::int32_t value); - + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); private: - ::int32_t _internal_stmt_location() const; - void _internal_set_stmt_location(::int32_t value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); public: - // int32 stmt_len = 3 [json_name = "stmt_len"]; - void clear_stmt_len() ; - ::int32_t stmt_len() const; - void set_stmt_len(::int32_t value); + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"]; + int group_clause_size() const; + private: + int _internal_group_clause_size() const; + public: + void clear_group_clause() ; + ::pg_query::Node* mutable_group_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_group_clause(); private: - ::int32_t _internal_stmt_len() const; - void _internal_set_stmt_len(::int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); + public: + const ::pg_query::Node& group_clause(int index) const; + ::pg_query::Node* add_group_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + group_clause() const; + // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"]; + int grouping_sets_size() const; + private: + int _internal_grouping_sets_size() const; public: - // @@protoc_insertion_point(class_scope:pg_query.RawStmt) - private: - class _Internal; + void clear_grouping_sets() ; + ::pg_query::Node* mutable_grouping_sets(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_grouping_sets(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_grouping_sets() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_grouping_sets(); + public: + const ::pg_query::Node& grouping_sets(int index) const; + ::pg_query::Node* add_grouping_sets(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + grouping_sets() const; + // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"]; + int window_clause_size() const; + private: + int _internal_window_clause_size() const; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, - 0, 2> + public: + void clear_window_clause() ; + ::pg_query::Node* mutable_window_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_window_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); + public: + const ::pg_query::Node& window_clause(int index) const; + ::pg_query::Node* add_window_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + window_clause() const; + // repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"]; + int distinct_clause_size() const; + private: + int _internal_distinct_clause_size() const; + + public: + void clear_distinct_clause() ; + ::pg_query::Node* mutable_distinct_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_distinct_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); + public: + const ::pg_query::Node& distinct_clause(int index) const; + ::pg_query::Node* add_distinct_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + distinct_clause() const; + // repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"]; + int sort_clause_size() const; + private: + int _internal_sort_clause_size() const; + + public: + void clear_sort_clause() ; + ::pg_query::Node* mutable_sort_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_sort_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); + public: + const ::pg_query::Node& sort_clause(int index) const; + ::pg_query::Node* add_sort_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + sort_clause() const; + // repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"]; + int row_marks_size() const; + private: + int _internal_row_marks_size() const; + + public: + void clear_row_marks() ; + ::pg_query::Node* mutable_row_marks(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_row_marks(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_row_marks() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_row_marks(); + public: + const ::pg_query::Node& row_marks(int index) const; + ::pg_query::Node* add_row_marks(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + row_marks() const; + // repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"]; + int constraint_deps_size() const; + private: + int _internal_constraint_deps_size() const; + + public: + void clear_constraint_deps() ; + ::pg_query::Node* mutable_constraint_deps(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraint_deps(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraint_deps() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraint_deps(); + public: + const ::pg_query::Node& constraint_deps(int index) const; + ::pg_query::Node* add_constraint_deps(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraint_deps() const; + // repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"]; + int with_check_options_size() const; + private: + int _internal_with_check_options_size() const; + + public: + void clear_with_check_options() ; + ::pg_query::Node* mutable_with_check_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_with_check_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_with_check_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_with_check_options(); + public: + const ::pg_query::Node& with_check_options(int index) const; + ::pg_query::Node* add_with_check_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + with_check_options() const; + // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; + bool has_utility_stmt() const; + void clear_utility_stmt() ; + const ::pg_query::Node& utility_stmt() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_utility_stmt(); + ::pg_query::Node* mutable_utility_stmt(); + void set_allocated_utility_stmt(::pg_query::Node* value); + void unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_utility_stmt(); + + private: + const ::pg_query::Node& _internal_utility_stmt() const; + ::pg_query::Node* _internal_mutable_utility_stmt(); + + public: + // .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; + bool has_jointree() const; + void clear_jointree() ; + const ::pg_query::FromExpr& jointree() const; + PROTOBUF_NODISCARD ::pg_query::FromExpr* release_jointree(); + ::pg_query::FromExpr* mutable_jointree(); + void set_allocated_jointree(::pg_query::FromExpr* value); + void unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value); + ::pg_query::FromExpr* unsafe_arena_release_jointree(); + + private: + const ::pg_query::FromExpr& _internal_jointree() const; + ::pg_query::FromExpr* _internal_mutable_jointree(); + + public: + // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"]; + bool has_merge_join_condition() const; + void clear_merge_join_condition() ; + const ::pg_query::Node& merge_join_condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_merge_join_condition(); + ::pg_query::Node* mutable_merge_join_condition(); + void set_allocated_merge_join_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_merge_join_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_merge_join_condition(); + + private: + const ::pg_query::Node& _internal_merge_join_condition() const; + ::pg_query::Node* _internal_mutable_merge_join_condition(); + + public: + // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"]; + bool has_on_conflict() const; + void clear_on_conflict() ; + const ::pg_query::OnConflictExpr& on_conflict() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict(); + ::pg_query::OnConflictExpr* mutable_on_conflict(); + void set_allocated_on_conflict(::pg_query::OnConflictExpr* value); + void unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value); + ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict(); + + private: + const ::pg_query::OnConflictExpr& _internal_on_conflict() const; + ::pg_query::OnConflictExpr* _internal_mutable_on_conflict(); + + public: + // .pg_query.Node having_qual = 30 [json_name = "havingQual"]; + bool has_having_qual() const; + void clear_having_qual() ; + const ::pg_query::Node& having_qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_having_qual(); + ::pg_query::Node* mutable_having_qual(); + void set_allocated_having_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_having_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_having_qual(); + + private: + const ::pg_query::Node& _internal_having_qual() const; + ::pg_query::Node* _internal_mutable_having_qual(); + + public: + // .pg_query.Node limit_offset = 34 [json_name = "limitOffset"]; + bool has_limit_offset() const; + void clear_limit_offset() ; + const ::pg_query::Node& limit_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); + ::pg_query::Node* mutable_limit_offset(); + void set_allocated_limit_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_offset(); + + private: + const ::pg_query::Node& _internal_limit_offset() const; + ::pg_query::Node* _internal_mutable_limit_offset(); + + public: + // .pg_query.Node limit_count = 35 [json_name = "limitCount"]; + bool has_limit_count() const; + void clear_limit_count() ; + const ::pg_query::Node& limit_count() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); + ::pg_query::Node* mutable_limit_count(); + void set_allocated_limit_count(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_count(); + + private: + const ::pg_query::Node& _internal_limit_count() const; + ::pg_query::Node* _internal_mutable_limit_count(); + + public: + // .pg_query.Node set_operations = 38 [json_name = "setOperations"]; + bool has_set_operations() const; + void clear_set_operations() ; + const ::pg_query::Node& set_operations() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_set_operations(); + ::pg_query::Node* mutable_set_operations(); + void set_allocated_set_operations(::pg_query::Node* value); + void unsafe_arena_set_allocated_set_operations(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_set_operations(); + + private: + const ::pg_query::Node& _internal_set_operations() const; + ::pg_query::Node* _internal_mutable_set_operations(); + + public: + // .pg_query.CmdType command_type = 1 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); + + private: + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); + + public: + // .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; + void clear_query_source() ; + ::pg_query::QuerySource query_source() const; + void set_query_source(::pg_query::QuerySource value); + + private: + ::pg_query::QuerySource _internal_query_source() const; + void _internal_set_query_source(::pg_query::QuerySource value); + + public: + // int32 result_relation = 5 [json_name = "resultRelation"]; + void clear_result_relation() ; + ::int32_t result_relation() const; + void set_result_relation(::int32_t value); + + private: + ::int32_t _internal_result_relation() const; + void _internal_set_result_relation(::int32_t value); + + public: + // bool can_set_tag = 3 [json_name = "canSetTag"]; + void clear_can_set_tag() ; + bool can_set_tag() const; + void set_can_set_tag(bool value); + + private: + bool _internal_can_set_tag() const; + void _internal_set_can_set_tag(bool value); + + public: + // bool has_aggs = 6 [json_name = "hasAggs"]; + void clear_has_aggs() ; + bool has_aggs() const; + void set_has_aggs(bool value); + + private: + bool _internal_has_aggs() const; + void _internal_set_has_aggs(bool value); + + public: + // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; + void clear_has_window_funcs() ; + bool has_window_funcs() const; + void set_has_window_funcs(bool value); + + private: + bool _internal_has_window_funcs() const; + void _internal_set_has_window_funcs(bool value); + + public: + // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; + void clear_has_target_srfs() ; + bool has_target_srfs() const; + void set_has_target_srfs(bool value); + + private: + bool _internal_has_target_srfs() const; + void _internal_set_has_target_srfs(bool value); + + public: + // bool has_sub_links = 9 [json_name = "hasSubLinks"]; + void clear_has_sub_links() ; + bool has_sub_links() const; + void set_has_sub_links(bool value); + + private: + bool _internal_has_sub_links() const; + void _internal_set_has_sub_links(bool value); + + public: + // bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; + void clear_has_distinct_on() ; + bool has_distinct_on() const; + void set_has_distinct_on(bool value); + + private: + bool _internal_has_distinct_on() const; + void _internal_set_has_distinct_on(bool value); + + public: + // bool has_recursive = 11 [json_name = "hasRecursive"]; + void clear_has_recursive() ; + bool has_recursive() const; + void set_has_recursive(bool value); + + private: + bool _internal_has_recursive() const; + void _internal_set_has_recursive(bool value); + + public: + // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; + void clear_has_modifying_cte() ; + bool has_modifying_cte() const; + void set_has_modifying_cte(bool value); + + private: + bool _internal_has_modifying_cte() const; + void _internal_set_has_modifying_cte(bool value); + + public: + // bool has_for_update = 13 [json_name = "hasForUpdate"]; + void clear_has_for_update() ; + bool has_for_update() const; + void set_has_for_update(bool value); + + private: + bool _internal_has_for_update() const; + void _internal_set_has_for_update(bool value); + + public: + // bool has_row_security = 14 [json_name = "hasRowSecurity"]; + void clear_has_row_security() ; + bool has_row_security() const; + void set_has_row_security(bool value); + + private: + bool _internal_has_row_security() const; + void _internal_set_has_row_security(bool value); + + public: + // bool is_return = 15 [json_name = "isReturn"]; + void clear_is_return() ; + bool is_return() const; + void set_is_return(bool value); + + private: + bool _internal_is_return() const; + void _internal_set_is_return(bool value); + + public: + // bool group_distinct = 28 [json_name = "groupDistinct"]; + void clear_group_distinct() ; + bool group_distinct() const; + void set_group_distinct(bool value); + + private: + bool _internal_group_distinct() const; + void _internal_set_group_distinct(bool value); + + public: + // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"]; + void clear_merge_target_relation() ; + ::int32_t merge_target_relation() const; + void set_merge_target_relation(::int32_t value); + + private: + ::int32_t _internal_merge_target_relation() const; + void _internal_set_merge_target_relation(::int32_t value); + + public: + // .pg_query.OverridingKind override = 24 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); + + private: + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); + + public: + // .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"]; + void clear_limit_option() ; + ::pg_query::LimitOption limit_option() const; + void set_limit_option(::pg_query::LimitOption value); + + private: + ::pg_query::LimitOption _internal_limit_option() const; + void _internal_set_limit_option(::pg_query::LimitOption value); + + public: + // int32 stmt_location = 41 [json_name = "stmt_location"]; + void clear_stmt_location() ; + ::int32_t stmt_location() const; + void set_stmt_location(::int32_t value); + + private: + ::int32_t _internal_stmt_location() const; + void _internal_set_stmt_location(::int32_t value); + + public: + // int32 stmt_len = 42 [json_name = "stmt_len"]; + void clear_stmt_len() ; + ::int32_t stmt_len() const; + void set_stmt_len(::int32_t value); + + private: + ::int32_t _internal_stmt_len() const; + void _internal_set_stmt_len(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.Query) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 42, 22, + 0, 7> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -60687,7 +62384,46 @@ class RawStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* stmt_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cte_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rtable_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rteperminfos_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_action_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > grouping_sets_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > row_marks_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraint_deps_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > with_check_options_; + ::pg_query::Node* utility_stmt_; + ::pg_query::FromExpr* jointree_; + ::pg_query::Node* merge_join_condition_; + ::pg_query::OnConflictExpr* on_conflict_; + ::pg_query::Node* having_qual_; + ::pg_query::Node* limit_offset_; + ::pg_query::Node* limit_count_; + ::pg_query::Node* set_operations_; + int command_type_; + int query_source_; + ::int32_t result_relation_; + bool can_set_tag_; + bool has_aggs_; + bool has_window_funcs_; + bool has_target_srfs_; + bool has_sub_links_; + bool has_distinct_on_; + bool has_recursive_; + bool has_modifying_cte_; + bool has_for_update_; + bool has_row_security_; + bool is_return_; + bool group_distinct_; + ::int32_t merge_target_relation_; + int override_; + int limit_option_; ::int32_t stmt_location_; ::int32_t stmt_len_; PROTOBUF_TSAN_DECLARE_MEMBER @@ -60696,26 +62432,26 @@ class RawStmt final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ReassignOwnedStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReassignOwnedStmt) */ { +class RangeFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeFunction) */ { public: - inline ReassignOwnedStmt() : ReassignOwnedStmt(nullptr) {} - ~ReassignOwnedStmt() override; + inline RangeFunction() : RangeFunction(nullptr) {} + ~RangeFunction() override; template - explicit PROTOBUF_CONSTEXPR ReassignOwnedStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeFunction(::google::protobuf::internal::ConstantInitialized); - inline ReassignOwnedStmt(const ReassignOwnedStmt& from) - : ReassignOwnedStmt(nullptr, from) {} - ReassignOwnedStmt(ReassignOwnedStmt&& from) noexcept - : ReassignOwnedStmt() { + inline RangeFunction(const RangeFunction& from) + : RangeFunction(nullptr, from) {} + RangeFunction(RangeFunction&& from) noexcept + : RangeFunction() { *this = ::std::move(from); } - inline ReassignOwnedStmt& operator=(const ReassignOwnedStmt& from) { + inline RangeFunction& operator=(const RangeFunction& from) { CopyFrom(from); return *this; } - inline ReassignOwnedStmt& operator=(ReassignOwnedStmt&& from) noexcept { + inline RangeFunction& operator=(RangeFunction&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -60747,20 +62483,20 @@ class ReassignOwnedStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReassignOwnedStmt& default_instance() { + static const RangeFunction& default_instance() { return *internal_default_instance(); } - static inline const ReassignOwnedStmt* internal_default_instance() { - return reinterpret_cast( - &_ReassignOwnedStmt_default_instance_); + static inline const RangeFunction* internal_default_instance() { + return reinterpret_cast( + &_RangeFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 245; + 93; - friend void swap(ReassignOwnedStmt& a, ReassignOwnedStmt& b) { + friend void swap(RangeFunction& a, RangeFunction& b) { a.Swap(&b); } - inline void Swap(ReassignOwnedStmt* other) { + inline void Swap(RangeFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -60773,7 +62509,7 @@ class ReassignOwnedStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReassignOwnedStmt* other) { + void UnsafeArenaSwap(RangeFunction* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -60781,14 +62517,14 @@ class ReassignOwnedStmt final : // implements Message ---------------------------------------------- - ReassignOwnedStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ReassignOwnedStmt& from); + void CopyFrom(const RangeFunction& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ReassignOwnedStmt& from) { - ReassignOwnedStmt::MergeImpl(*this, from); + void MergeFrom( const RangeFunction& from) { + RangeFunction::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -60806,16 +62542,16 @@ class ReassignOwnedStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ReassignOwnedStmt* other); + void InternalSwap(RangeFunction* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ReassignOwnedStmt"; + return "pg_query.RangeFunction"; } protected: - explicit ReassignOwnedStmt(::google::protobuf::Arena* arena); - ReassignOwnedStmt(::google::protobuf::Arena* arena, const ReassignOwnedStmt& from); + explicit RangeFunction(::google::protobuf::Arena* arena); + RangeFunction(::google::protobuf::Arena* arena, const RangeFunction& from); public: static const ClassData _class_data_; @@ -60828,49 +62564,101 @@ class ReassignOwnedStmt final : // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 1, - kNewroleFieldNumber = 2, + kFunctionsFieldNumber = 4, + kColdeflistFieldNumber = 6, + kAliasFieldNumber = 5, + kLateralFieldNumber = 1, + kOrdinalityFieldNumber = 2, + kIsRowsfromFieldNumber = 3, }; - // repeated .pg_query.Node roles = 1 [json_name = "roles"]; - int roles_size() const; + // repeated .pg_query.Node functions = 4 [json_name = "functions"]; + int functions_size() const; private: - int _internal_roles_size() const; + int _internal_functions_size() const; public: - void clear_roles() ; - ::pg_query::Node* mutable_roles(int index); + void clear_functions() ; + ::pg_query::Node* mutable_functions(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + mutable_functions(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); + const ::pg_query::Node& functions(int index) const; + ::pg_query::Node* add_functions(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - roles() const; - // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; - bool has_newrole() const; - void clear_newrole() ; - const ::pg_query::RoleSpec& newrole() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newrole(); - ::pg_query::RoleSpec* mutable_newrole(); - void set_allocated_newrole(::pg_query::RoleSpec* value); - void unsafe_arena_set_allocated_newrole(::pg_query::RoleSpec* value); - ::pg_query::RoleSpec* unsafe_arena_release_newrole(); + functions() const; + // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; + int coldeflist_size() const; + private: + int _internal_coldeflist_size() const; + public: + void clear_coldeflist() ; + ::pg_query::Node* mutable_coldeflist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coldeflist(); private: - const ::pg_query::RoleSpec& _internal_newrole() const; - ::pg_query::RoleSpec* _internal_mutable_newrole(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldeflist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldeflist(); + public: + const ::pg_query::Node& coldeflist(int index) const; + ::pg_query::Node* add_coldeflist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coldeflist() const; + // .pg_query.Alias alias = 5 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); public: - // @@protoc_insertion_point(class_scope:pg_query.ReassignOwnedStmt) + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); + + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // bool ordinality = 2 [json_name = "ordinality"]; + void clear_ordinality() ; + bool ordinality() const; + void set_ordinality(bool value); + + private: + bool _internal_ordinality() const; + void _internal_set_ordinality(bool value); + + public: + // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; + void clear_is_rowsfrom() ; + bool is_rowsfrom() const; + void set_is_rowsfrom(bool value); + + private: + bool _internal_is_rowsfrom() const; + void _internal_set_is_rowsfrom(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeFunction) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 1, 2, 2, + 3, 6, 3, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -60889,34 +62677,38 @@ class ReassignOwnedStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; - ::pg_query::RoleSpec* newrole_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldeflist_; + ::pg_query::Alias* alias_; + bool lateral_; + bool ordinality_; + bool is_rowsfrom_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RefreshMatViewStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RefreshMatViewStmt) */ { +class RangeSubselect final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeSubselect) */ { public: - inline RefreshMatViewStmt() : RefreshMatViewStmt(nullptr) {} - ~RefreshMatViewStmt() override; + inline RangeSubselect() : RangeSubselect(nullptr) {} + ~RangeSubselect() override; template - explicit PROTOBUF_CONSTEXPR RefreshMatViewStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeSubselect(::google::protobuf::internal::ConstantInitialized); - inline RefreshMatViewStmt(const RefreshMatViewStmt& from) - : RefreshMatViewStmt(nullptr, from) {} - RefreshMatViewStmt(RefreshMatViewStmt&& from) noexcept - : RefreshMatViewStmt() { + inline RangeSubselect(const RangeSubselect& from) + : RangeSubselect(nullptr, from) {} + RangeSubselect(RangeSubselect&& from) noexcept + : RangeSubselect() { *this = ::std::move(from); } - inline RefreshMatViewStmt& operator=(const RefreshMatViewStmt& from) { + inline RangeSubselect& operator=(const RangeSubselect& from) { CopyFrom(from); return *this; } - inline RefreshMatViewStmt& operator=(RefreshMatViewStmt&& from) noexcept { + inline RangeSubselect& operator=(RangeSubselect&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -60948,20 +62740,20 @@ class RefreshMatViewStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RefreshMatViewStmt& default_instance() { + static const RangeSubselect& default_instance() { return *internal_default_instance(); } - static inline const RefreshMatViewStmt* internal_default_instance() { - return reinterpret_cast( - &_RefreshMatViewStmt_default_instance_); + static inline const RangeSubselect* internal_default_instance() { + return reinterpret_cast( + &_RangeSubselect_default_instance_); } static constexpr int kIndexInFileMessages = - 232; + 92; - friend void swap(RefreshMatViewStmt& a, RefreshMatViewStmt& b) { + friend void swap(RangeSubselect& a, RangeSubselect& b) { a.Swap(&b); } - inline void Swap(RefreshMatViewStmt* other) { + inline void Swap(RangeSubselect* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -60974,7 +62766,7 @@ class RefreshMatViewStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RefreshMatViewStmt* other) { + void UnsafeArenaSwap(RangeSubselect* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -60982,14 +62774,14 @@ class RefreshMatViewStmt final : // implements Message ---------------------------------------------- - RefreshMatViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeSubselect* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RefreshMatViewStmt& from); + void CopyFrom(const RangeSubselect& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RefreshMatViewStmt& from) { - RefreshMatViewStmt::MergeImpl(*this, from); + void MergeFrom( const RangeSubselect& from) { + RangeSubselect::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -61007,16 +62799,16 @@ class RefreshMatViewStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RefreshMatViewStmt* other); + void InternalSwap(RangeSubselect* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RefreshMatViewStmt"; + return "pg_query.RangeSubselect"; } protected: - explicit RefreshMatViewStmt(::google::protobuf::Arena* arena); - RefreshMatViewStmt(::google::protobuf::Arena* arena, const RefreshMatViewStmt& from); + explicit RangeSubselect(::google::protobuf::Arena* arena); + RangeSubselect(::google::protobuf::Arena* arena, const RangeSubselect& from); public: static const ClassData _class_data_; @@ -61029,52 +62821,57 @@ class RefreshMatViewStmt final : // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 3, - kConcurrentFieldNumber = 1, - kSkipDataFieldNumber = 2, + kSubqueryFieldNumber = 2, + kAliasFieldNumber = 3, + kLateralFieldNumber = 1, }; - // .pg_query.RangeVar relation = 3 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.Node subquery = 2 [json_name = "subquery"]; + bool has_subquery() const; + void clear_subquery() ; + const ::pg_query::Node& subquery() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_subquery(); + ::pg_query::Node* mutable_subquery(); + void set_allocated_subquery(::pg_query::Node* value); + void unsafe_arena_set_allocated_subquery(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_subquery(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::pg_query::Node& _internal_subquery() const; + ::pg_query::Node* _internal_mutable_subquery(); public: - // bool concurrent = 1 [json_name = "concurrent"]; - void clear_concurrent() ; - bool concurrent() const; - void set_concurrent(bool value); + // .pg_query.Alias alias = 3 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); public: - // bool skip_data = 2 [json_name = "skipData"]; - void clear_skip_data() ; - bool skip_data() const; - void set_skip_data(bool value); + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); private: - bool _internal_skip_data() const; - void _internal_set_skip_data(bool value); + bool _internal_lateral() const; + void _internal_set_lateral(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.RefreshMatViewStmt) + // @@protoc_insertion_point(class_scope:pg_query.RangeSubselect) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -61093,35 +62890,35 @@ class RefreshMatViewStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::RangeVar* relation_; - bool concurrent_; - bool skip_data_; + ::pg_query::Node* subquery_; + ::pg_query::Alias* alias_; + bool lateral_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ReindexStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReindexStmt) */ { +class RangeTableFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFunc) */ { public: - inline ReindexStmt() : ReindexStmt(nullptr) {} - ~ReindexStmt() override; + inline RangeTableFunc() : RangeTableFunc(nullptr) {} + ~RangeTableFunc() override; template - explicit PROTOBUF_CONSTEXPR ReindexStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeTableFunc(::google::protobuf::internal::ConstantInitialized); - inline ReindexStmt(const ReindexStmt& from) - : ReindexStmt(nullptr, from) {} - ReindexStmt(ReindexStmt&& from) noexcept - : ReindexStmt() { + inline RangeTableFunc(const RangeTableFunc& from) + : RangeTableFunc(nullptr, from) {} + RangeTableFunc(RangeTableFunc&& from) noexcept + : RangeTableFunc() { *this = ::std::move(from); } - inline ReindexStmt& operator=(const ReindexStmt& from) { + inline RangeTableFunc& operator=(const RangeTableFunc& from) { CopyFrom(from); return *this; } - inline ReindexStmt& operator=(ReindexStmt&& from) noexcept { + inline RangeTableFunc& operator=(RangeTableFunc&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -61153,20 +62950,20 @@ class ReindexStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReindexStmt& default_instance() { + static const RangeTableFunc& default_instance() { return *internal_default_instance(); } - static inline const ReindexStmt* internal_default_instance() { - return reinterpret_cast( - &_ReindexStmt_default_instance_); + static inline const RangeTableFunc* internal_default_instance() { + return reinterpret_cast( + &_RangeTableFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 237; + 94; - friend void swap(ReindexStmt& a, ReindexStmt& b) { + friend void swap(RangeTableFunc& a, RangeTableFunc& b) { a.Swap(&b); } - inline void Swap(ReindexStmt* other) { + inline void Swap(RangeTableFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -61179,7 +62976,7 @@ class ReindexStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReindexStmt* other) { + void UnsafeArenaSwap(RangeTableFunc* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -61187,14 +62984,14 @@ class ReindexStmt final : // implements Message ---------------------------------------------- - ReindexStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ReindexStmt& from); + void CopyFrom(const RangeTableFunc& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ReindexStmt& from) { - ReindexStmt::MergeImpl(*this, from); + void MergeFrom( const RangeTableFunc& from) { + RangeTableFunc::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -61212,16 +63009,16 @@ class ReindexStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ReindexStmt* other); + void InternalSwap(RangeTableFunc* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ReindexStmt"; + return "pg_query.RangeTableFunc"; } protected: - explicit ReindexStmt(::google::protobuf::Arena* arena); - ReindexStmt(::google::protobuf::Arena* arena, const ReindexStmt& from); + explicit RangeTableFunc(::google::protobuf::Arena* arena); + RangeTableFunc(::google::protobuf::Arena* arena, const RangeTableFunc& from); public: static const ClassData _class_data_; @@ -61234,78 +63031,123 @@ class ReindexStmt final : // accessors ------------------------------------------------------- enum : int { - kParamsFieldNumber = 4, - kNameFieldNumber = 3, - kRelationFieldNumber = 2, - kKindFieldNumber = 1, + kNamespacesFieldNumber = 4, + kColumnsFieldNumber = 5, + kDocexprFieldNumber = 2, + kRowexprFieldNumber = 3, + kAliasFieldNumber = 6, + kLateralFieldNumber = 1, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node params = 4 [json_name = "params"]; - int params_size() const; + // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; + int namespaces_size() const; private: - int _internal_params_size() const; + int _internal_namespaces_size() const; public: - void clear_params() ; - ::pg_query::Node* mutable_params(int index); + void clear_namespaces() ; + ::pg_query::Node* mutable_namespaces(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_params(); + mutable_namespaces(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_namespaces() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_namespaces(); public: - const ::pg_query::Node& params(int index) const; - ::pg_query::Node* add_params(); + const ::pg_query::Node& namespaces(int index) const; + ::pg_query::Node* add_namespaces(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - params() const; - // string name = 3 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + namespaces() const; + // repeated .pg_query.Node columns = 5 [json_name = "columns"]; + int columns_size() const; + private: + int _internal_columns_size() const; + + public: + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); + public: + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // .pg_query.Node docexpr = 2 [json_name = "docexpr"]; + bool has_docexpr() const; + void clear_docexpr() ; + const ::pg_query::Node& docexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); + ::pg_query::Node* mutable_docexpr(); + void set_allocated_docexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_docexpr(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + const ::pg_query::Node& _internal_docexpr() const; + ::pg_query::Node* _internal_mutable_docexpr(); public: - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; + bool has_rowexpr() const; + void clear_rowexpr() ; + const ::pg_query::Node& rowexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); + ::pg_query::Node* mutable_rowexpr(); + void set_allocated_rowexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rowexpr(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::pg_query::Node& _internal_rowexpr() const; + ::pg_query::Node* _internal_mutable_rowexpr(); public: - // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; - void clear_kind() ; - ::pg_query::ReindexObjectType kind() const; - void set_kind(::pg_query::ReindexObjectType value); + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); private: - ::pg_query::ReindexObjectType _internal_kind() const; - void _internal_set_kind(::pg_query::ReindexObjectType value); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); public: - // @@protoc_insertion_point(class_scope:pg_query.ReindexStmt) + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); + + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTableFunc) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 2, - 33, 2> + 3, 7, 5, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -61323,36 +63165,39 @@ class ReindexStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::RangeVar* relation_; - int kind_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > namespaces_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::Node* docexpr_; + ::pg_query::Node* rowexpr_; + ::pg_query::Alias* alias_; + bool lateral_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RelabelType final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RelabelType) */ { +class RangeTableFuncCol final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFuncCol) */ { public: - inline RelabelType() : RelabelType(nullptr) {} - ~RelabelType() override; + inline RangeTableFuncCol() : RangeTableFuncCol(nullptr) {} + ~RangeTableFuncCol() override; template - explicit PROTOBUF_CONSTEXPR RelabelType(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeTableFuncCol(::google::protobuf::internal::ConstantInitialized); - inline RelabelType(const RelabelType& from) - : RelabelType(nullptr, from) {} - RelabelType(RelabelType&& from) noexcept - : RelabelType() { + inline RangeTableFuncCol(const RangeTableFuncCol& from) + : RangeTableFuncCol(nullptr, from) {} + RangeTableFuncCol(RangeTableFuncCol&& from) noexcept + : RangeTableFuncCol() { *this = ::std::move(from); } - inline RelabelType& operator=(const RelabelType& from) { + inline RangeTableFuncCol& operator=(const RangeTableFuncCol& from) { CopyFrom(from); return *this; } - inline RelabelType& operator=(RelabelType&& from) noexcept { + inline RangeTableFuncCol& operator=(RangeTableFuncCol&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -61384,20 +63229,20 @@ class RelabelType final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RelabelType& default_instance() { + static const RangeTableFuncCol& default_instance() { return *internal_default_instance(); } - static inline const RelabelType* internal_default_instance() { - return reinterpret_cast( - &_RelabelType_default_instance_); + static inline const RangeTableFuncCol* internal_default_instance() { + return reinterpret_cast( + &_RangeTableFuncCol_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 95; - friend void swap(RelabelType& a, RelabelType& b) { + friend void swap(RangeTableFuncCol& a, RangeTableFuncCol& b) { a.Swap(&b); } - inline void Swap(RelabelType* other) { + inline void Swap(RangeTableFuncCol* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -61410,7 +63255,7 @@ class RelabelType final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RelabelType* other) { + void UnsafeArenaSwap(RangeTableFuncCol* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -61418,14 +63263,14 @@ class RelabelType final : // implements Message ---------------------------------------------- - RelabelType* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTableFuncCol* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RelabelType& from); + void CopyFrom(const RangeTableFuncCol& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RelabelType& from) { - RelabelType::MergeImpl(*this, from); + void MergeFrom( const RangeTableFuncCol& from) { + RangeTableFuncCol::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -61443,16 +63288,16 @@ class RelabelType final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RelabelType* other); + void InternalSwap(RangeTableFuncCol* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RelabelType"; + return "pg_query.RangeTableFuncCol"; } protected: - explicit RelabelType(::google::protobuf::Arena* arena); - RelabelType(::google::protobuf::Arena* arena, const RelabelType& from); + explicit RangeTableFuncCol(::google::protobuf::Arena* arena); + RangeTableFuncCol(::google::protobuf::Arena* arena, const RangeTableFuncCol& from); public: static const ClassData _class_data_; @@ -61465,82 +63310,93 @@ class RelabelType final : // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 3, - kResulttypmodFieldNumber = 4, - kResultcollidFieldNumber = 5, - kRelabelformatFieldNumber = 6, + kColnameFieldNumber = 1, + kTypeNameFieldNumber = 2, + kColexprFieldNumber = 5, + kColdefexprFieldNumber = 6, + kForOrdinalityFieldNumber = 3, + kIsNotNullFieldNumber = 4, kLocationFieldNumber = 7, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + // string colname = 1 [json_name = "colname"]; + void clear_colname() ; + const std::string& colname() const; + template + void set_colname(Arg_&& arg, Args_... args); + std::string* mutable_colname(); + PROTOBUF_NODISCARD std::string* release_colname(); + void set_allocated_colname(std::string* value); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - void clear_arg() ; - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* value); - void unsafe_arena_set_allocated_arg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_arg(); + const std::string& _internal_colname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname( + const std::string& value); + std::string* _internal_mutable_colname(); + + public: + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); public: - // uint32 resulttype = 3 [json_name = "resulttype"]; - void clear_resulttype() ; - ::uint32_t resulttype() const; - void set_resulttype(::uint32_t value); + // .pg_query.Node colexpr = 5 [json_name = "colexpr"]; + bool has_colexpr() const; + void clear_colexpr() ; + const ::pg_query::Node& colexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_colexpr(); + ::pg_query::Node* mutable_colexpr(); + void set_allocated_colexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_colexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_colexpr(); private: - ::uint32_t _internal_resulttype() const; - void _internal_set_resulttype(::uint32_t value); + const ::pg_query::Node& _internal_colexpr() const; + ::pg_query::Node* _internal_mutable_colexpr(); public: - // int32 resulttypmod = 4 [json_name = "resulttypmod"]; - void clear_resulttypmod() ; - ::int32_t resulttypmod() const; - void set_resulttypmod(::int32_t value); + // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; + bool has_coldefexpr() const; + void clear_coldefexpr() ; + const ::pg_query::Node& coldefexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_coldefexpr(); + ::pg_query::Node* mutable_coldefexpr(); + void set_allocated_coldefexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_coldefexpr(); private: - ::int32_t _internal_resulttypmod() const; - void _internal_set_resulttypmod(::int32_t value); + const ::pg_query::Node& _internal_coldefexpr() const; + ::pg_query::Node* _internal_mutable_coldefexpr(); public: - // uint32 resultcollid = 5 [json_name = "resultcollid"]; - void clear_resultcollid() ; - ::uint32_t resultcollid() const; - void set_resultcollid(::uint32_t value); + // bool for_ordinality = 3 [json_name = "for_ordinality"]; + void clear_for_ordinality() ; + bool for_ordinality() const; + void set_for_ordinality(bool value); private: - ::uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(::uint32_t value); + bool _internal_for_ordinality() const; + void _internal_set_for_ordinality(bool value); public: - // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; - void clear_relabelformat() ; - ::pg_query::CoercionForm relabelformat() const; - void set_relabelformat(::pg_query::CoercionForm value); + // bool is_not_null = 4 [json_name = "is_not_null"]; + void clear_is_not_null() ; + bool is_not_null() const; + void set_is_not_null(bool value); private: - ::pg_query::CoercionForm _internal_relabelformat() const; - void _internal_set_relabelformat(::pg_query::CoercionForm value); + bool _internal_is_not_null() const; + void _internal_set_is_not_null(bool value); public: // int32 location = 7 [json_name = "location"]; @@ -61553,14 +63409,14 @@ class RelabelType final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RelabelType) + // @@protoc_insertion_point(class_scope:pg_query.RangeTableFuncCol) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 2, - 0, 2> + 3, 7, 3, + 42, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -61578,12 +63434,12 @@ class RelabelType final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - ::uint32_t resulttype_; - ::int32_t resulttypmod_; - ::uint32_t resultcollid_; - int relabelformat_; + ::google::protobuf::internal::ArenaStringPtr colname_; + ::pg_query::TypeName* type_name_; + ::pg_query::Node* colexpr_; + ::pg_query::Node* coldefexpr_; + bool for_ordinality_; + bool is_not_null_; ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -61591,26 +63447,26 @@ class RelabelType final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RenameStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RenameStmt) */ { +class RangeTableSample final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableSample) */ { public: - inline RenameStmt() : RenameStmt(nullptr) {} - ~RenameStmt() override; + inline RangeTableSample() : RangeTableSample(nullptr) {} + ~RangeTableSample() override; template - explicit PROTOBUF_CONSTEXPR RenameStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeTableSample(::google::protobuf::internal::ConstantInitialized); - inline RenameStmt(const RenameStmt& from) - : RenameStmt(nullptr, from) {} - RenameStmt(RenameStmt&& from) noexcept - : RenameStmt() { + inline RangeTableSample(const RangeTableSample& from) + : RangeTableSample(nullptr, from) {} + RangeTableSample(RangeTableSample&& from) noexcept + : RangeTableSample() { *this = ::std::move(from); } - inline RenameStmt& operator=(const RenameStmt& from) { + inline RangeTableSample& operator=(const RangeTableSample& from) { CopyFrom(from); return *this; } - inline RenameStmt& operator=(RenameStmt&& from) noexcept { + inline RangeTableSample& operator=(RangeTableSample&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -61642,20 +63498,20 @@ class RenameStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RenameStmt& default_instance() { + static const RangeTableSample& default_instance() { return *internal_default_instance(); } - static inline const RenameStmt* internal_default_instance() { - return reinterpret_cast( - &_RenameStmt_default_instance_); + static inline const RangeTableSample* internal_default_instance() { + return reinterpret_cast( + &_RangeTableSample_default_instance_); } static constexpr int kIndexInFileMessages = - 204; + 96; - friend void swap(RenameStmt& a, RenameStmt& b) { + friend void swap(RangeTableSample& a, RangeTableSample& b) { a.Swap(&b); } - inline void Swap(RenameStmt* other) { + inline void Swap(RangeTableSample* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -61668,7 +63524,7 @@ class RenameStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RenameStmt* other) { + void UnsafeArenaSwap(RangeTableSample* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -61676,14 +63532,14 @@ class RenameStmt final : // implements Message ---------------------------------------------- - RenameStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTableSample* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RenameStmt& from); + void CopyFrom(const RangeTableSample& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RenameStmt& from) { - RenameStmt::MergeImpl(*this, from); + void MergeFrom( const RangeTableSample& from) { + RangeTableSample::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -61701,16 +63557,16 @@ class RenameStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RenameStmt* other); + void InternalSwap(RangeTableSample* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RenameStmt"; + return "pg_query.RangeTableSample"; } protected: - explicit RenameStmt(::google::protobuf::Arena* arena); - RenameStmt(::google::protobuf::Arena* arena, const RenameStmt& from); + explicit RangeTableSample(::google::protobuf::Arena* arena); + RangeTableSample(::google::protobuf::Arena* arena, const RangeTableSample& from); public: static const ClassData _class_data_; @@ -61723,125 +63579,96 @@ class RenameStmt final : // accessors ------------------------------------------------------- enum : int { - kSubnameFieldNumber = 5, - kNewnameFieldNumber = 6, - kRelationFieldNumber = 3, - kObjectFieldNumber = 4, - kRenameTypeFieldNumber = 1, - kRelationTypeFieldNumber = 2, - kBehaviorFieldNumber = 7, - kMissingOkFieldNumber = 8, + kMethodFieldNumber = 2, + kArgsFieldNumber = 3, + kRelationFieldNumber = 1, + kRepeatableFieldNumber = 4, + kLocationFieldNumber = 5, }; - // string subname = 5 [json_name = "subname"]; - void clear_subname() ; - const std::string& subname() const; - template - void set_subname(Arg_&& arg, Args_... args); - std::string* mutable_subname(); - PROTOBUF_NODISCARD std::string* release_subname(); - void set_allocated_subname(std::string* value); - - private: - const std::string& _internal_subname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( - const std::string& value); - std::string* _internal_mutable_subname(); - - public: - // string newname = 6 [json_name = "newname"]; - void clear_newname() ; - const std::string& newname() const; - template - void set_newname(Arg_&& arg, Args_... args); - std::string* mutable_newname(); - PROTOBUF_NODISCARD std::string* release_newname(); - void set_allocated_newname(std::string* value); - + // repeated .pg_query.Node method = 2 [json_name = "method"]; + int method_size() const; private: - const std::string& _internal_newname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_newname( - const std::string& value); - std::string* _internal_mutable_newname(); + int _internal_method_size() const; public: - // .pg_query.RangeVar relation = 3 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - + void clear_method() ; + ::pg_query::Node* mutable_method(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_method(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_method() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_method(); public: - // .pg_query.Node object = 4 [json_name = "object"]; - bool has_object() const; - void clear_object() ; - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* value); - void unsafe_arena_set_allocated_object(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_object(); - + const ::pg_query::Node& method(int index) const; + ::pg_query::Node* add_method(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + method() const; + // repeated .pg_query.Node args = 3 [json_name = "args"]; + int args_size() const; private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + int _internal_args_size() const; public: - // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; - void clear_rename_type() ; - ::pg_query::ObjectType rename_type() const; - void set_rename_type(::pg_query::ObjectType value); - + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - ::pg_query::ObjectType _internal_rename_type() const; - void _internal_set_rename_type(::pg_query::ObjectType value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; - void clear_relation_type() ; - ::pg_query::ObjectType relation_type() const; - void set_relation_type(::pg_query::ObjectType value); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::Node& relation() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_relation(); + ::pg_query::Node* mutable_relation(); + void set_allocated_relation(::pg_query::Node* value); + void unsafe_arena_set_allocated_relation(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_relation(); private: - ::pg_query::ObjectType _internal_relation_type() const; - void _internal_set_relation_type(::pg_query::ObjectType value); + const ::pg_query::Node& _internal_relation() const; + ::pg_query::Node* _internal_mutable_relation(); public: - // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; - void clear_behavior() ; - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); + // .pg_query.Node repeatable = 4 [json_name = "repeatable"]; + bool has_repeatable() const; + void clear_repeatable() ; + const ::pg_query::Node& repeatable() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); + ::pg_query::Node* mutable_repeatable(); + void set_allocated_repeatable(::pg_query::Node* value); + void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_repeatable(); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + const ::pg_query::Node& _internal_repeatable() const; + ::pg_query::Node* _internal_mutable_repeatable(); public: - // bool missing_ok = 8 [json_name = "missing_ok"]; - void clear_missing_ok() ; - bool missing_ok() const; - void set_missing_ok(bool value); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RenameStmt) + // @@protoc_insertion_point(class_scope:pg_query.RangeTableSample) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 2, - 50, 2> + 3, 5, 4, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -61859,40 +63686,37 @@ class RenameStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr subname_; - ::google::protobuf::internal::ArenaStringPtr newname_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* object_; - int rename_type_; - int relation_type_; - int behavior_; - bool missing_ok_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > method_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* relation_; + ::pg_query::Node* repeatable_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ResTarget final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ResTarget) */ { +class RangeTblEntry final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblEntry) */ { public: - inline ResTarget() : ResTarget(nullptr) {} - ~ResTarget() override; + inline RangeTblEntry() : RangeTblEntry(nullptr) {} + ~RangeTblEntry() override; template - explicit PROTOBUF_CONSTEXPR ResTarget(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeTblEntry(::google::protobuf::internal::ConstantInitialized); - inline ResTarget(const ResTarget& from) - : ResTarget(nullptr, from) {} - ResTarget(ResTarget&& from) noexcept - : ResTarget() { + inline RangeTblEntry(const RangeTblEntry& from) + : RangeTblEntry(nullptr, from) {} + RangeTblEntry(RangeTblEntry&& from) noexcept + : RangeTblEntry() { *this = ::std::move(from); } - inline ResTarget& operator=(const ResTarget& from) { + inline RangeTblEntry& operator=(const RangeTblEntry& from) { CopyFrom(from); return *this; } - inline ResTarget& operator=(ResTarget&& from) noexcept { + inline RangeTblEntry& operator=(RangeTblEntry&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -61924,20 +63748,20 @@ class ResTarget final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ResTarget& default_instance() { + static const RangeTblEntry& default_instance() { return *internal_default_instance(); } - static inline const ResTarget* internal_default_instance() { - return reinterpret_cast( - &_ResTarget_default_instance_); + static inline const RangeTblEntry* internal_default_instance() { + return reinterpret_cast( + &_RangeTblEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 80; + 109; - friend void swap(ResTarget& a, ResTarget& b) { + friend void swap(RangeTblEntry& a, RangeTblEntry& b) { a.Swap(&b); } - inline void Swap(ResTarget* other) { + inline void Swap(RangeTblEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -61950,7 +63774,7 @@ class ResTarget final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ResTarget* other) { + void UnsafeArenaSwap(RangeTblEntry* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -61958,14 +63782,14 @@ class ResTarget final : // implements Message ---------------------------------------------- - ResTarget* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTblEntry* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ResTarget& from); + void CopyFrom(const RangeTblEntry& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ResTarget& from) { - ResTarget::MergeImpl(*this, from); + void MergeFrom( const RangeTblEntry& from) { + RangeTblEntry::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -61983,16 +63807,16 @@ class ResTarget final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ResTarget* other); + void InternalSwap(RangeTblEntry* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ResTarget"; + return "pg_query.RangeTblEntry"; } protected: - explicit ResTarget(::google::protobuf::Arena* arena); - ResTarget(::google::protobuf::Arena* arena, const ResTarget& from); + explicit RangeTblEntry(::google::protobuf::Arena* arena); + RangeTblEntry(::google::protobuf::Arena* arena, const RangeTblEntry& from); public: static const ClassData _class_data_; @@ -62005,78 +63829,487 @@ class ResTarget final : // accessors ------------------------------------------------------- enum : int { - kIndirectionFieldNumber = 2, - kNameFieldNumber = 1, - kValFieldNumber = 3, - kLocationFieldNumber = 4, + kJoinaliasvarsFieldNumber = 14, + kJoinleftcolsFieldNumber = 15, + kJoinrightcolsFieldNumber = 16, + kFunctionsFieldNumber = 18, + kValuesListsFieldNumber = 21, + kColtypesFieldNumber = 25, + kColtypmodsFieldNumber = 26, + kColcollationsFieldNumber = 27, + kSecurityQualsFieldNumber = 32, + kRelkindFieldNumber = 6, + kCtenameFieldNumber = 22, + kEnrnameFieldNumber = 28, + kAliasFieldNumber = 1, + kErefFieldNumber = 2, + kTablesampleFieldNumber = 9, + kSubqueryFieldNumber = 10, + kJoinUsingAliasFieldNumber = 17, + kTablefuncFieldNumber = 20, + kRtekindFieldNumber = 3, + kRelidFieldNumber = 4, + kRellockmodeFieldNumber = 7, + kPerminfoindexFieldNumber = 8, + kJointypeFieldNumber = 12, + kJoinmergedcolsFieldNumber = 13, + kInhFieldNumber = 5, + kSecurityBarrierFieldNumber = 11, + kFuncordinalityFieldNumber = 19, + kSelfReferenceFieldNumber = 24, + kCtelevelsupFieldNumber = 23, + kEnrtuplesFieldNumber = 29, + kLateralFieldNumber = 30, + kInFromClFieldNumber = 31, }; - // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; - int indirection_size() const; + // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"]; + int joinaliasvars_size() const; private: - int _internal_indirection_size() const; + int _internal_joinaliasvars_size() const; public: - void clear_indirection() ; - ::pg_query::Node* mutable_indirection(int index); + void clear_joinaliasvars() ; + ::pg_query::Node* mutable_joinaliasvars(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_indirection(); + mutable_joinaliasvars(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinaliasvars() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinaliasvars(); public: - const ::pg_query::Node& indirection(int index) const; - ::pg_query::Node* add_indirection(); + const ::pg_query::Node& joinaliasvars(int index) const; + ::pg_query::Node* add_joinaliasvars(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - indirection() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; + joinaliasvars() const; + // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"]; + int joinleftcols_size() const; + private: + int _internal_joinleftcols_size() const; + + public: + void clear_joinleftcols() ; + ::pg_query::Node* mutable_joinleftcols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_joinleftcols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinleftcols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinleftcols(); + public: + const ::pg_query::Node& joinleftcols(int index) const; + ::pg_query::Node* add_joinleftcols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + joinleftcols() const; + // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"]; + int joinrightcols_size() const; + private: + int _internal_joinrightcols_size() const; + + public: + void clear_joinrightcols() ; + ::pg_query::Node* mutable_joinrightcols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_joinrightcols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinrightcols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinrightcols(); + public: + const ::pg_query::Node& joinrightcols(int index) const; + ::pg_query::Node* add_joinrightcols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + joinrightcols() const; + // repeated .pg_query.Node functions = 18 [json_name = "functions"]; + int functions_size() const; + private: + int _internal_functions_size() const; + + public: + void clear_functions() ; + ::pg_query::Node* mutable_functions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_functions(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); + public: + const ::pg_query::Node& functions(int index) const; + ::pg_query::Node* add_functions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + functions() const; + // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"]; + int values_lists_size() const; + private: + int _internal_values_lists_size() const; + + public: + void clear_values_lists() ; + ::pg_query::Node* mutable_values_lists(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_values_lists(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); + public: + const ::pg_query::Node& values_lists(int index) const; + ::pg_query::Node* add_values_lists(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + values_lists() const; + // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"]; + int coltypes_size() const; + private: + int _internal_coltypes_size() const; + + public: + void clear_coltypes() ; + ::pg_query::Node* mutable_coltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypes(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); + public: + const ::pg_query::Node& coltypes(int index) const; + ::pg_query::Node* add_coltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypes() const; + // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"]; + int coltypmods_size() const; + private: + int _internal_coltypmods_size() const; + + public: + void clear_coltypmods() ; + ::pg_query::Node* mutable_coltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypmods(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); + public: + const ::pg_query::Node& coltypmods(int index) const; + ::pg_query::Node* add_coltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypmods() const; + // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"]; + int colcollations_size() const; + private: + int _internal_colcollations_size() const; + + public: + void clear_colcollations() ; + ::pg_query::Node* mutable_colcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colcollations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); + public: + const ::pg_query::Node& colcollations(int index) const; + ::pg_query::Node* add_colcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colcollations() const; + // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; + int security_quals_size() const; + private: + int _internal_security_quals_size() const; + + public: + void clear_security_quals() ; + ::pg_query::Node* mutable_security_quals(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_security_quals(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_security_quals() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_security_quals(); + public: + const ::pg_query::Node& security_quals(int index) const; + ::pg_query::Node* add_security_quals(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + security_quals() const; + // string relkind = 6 [json_name = "relkind"]; + void clear_relkind() ; + const std::string& relkind() const; template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + void set_relkind(Arg_&& arg, Args_... args); + std::string* mutable_relkind(); + PROTOBUF_NODISCARD std::string* release_relkind(); + void set_allocated_relkind(std::string* value); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& _internal_relkind() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relkind( const std::string& value); - std::string* _internal_mutable_name(); + std::string* _internal_mutable_relkind(); public: - // .pg_query.Node val = 3 [json_name = "val"]; - bool has_val() const; - void clear_val() ; - const ::pg_query::Node& val() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_val(); - ::pg_query::Node* mutable_val(); - void set_allocated_val(::pg_query::Node* value); - void unsafe_arena_set_allocated_val(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_val(); + // string ctename = 22 [json_name = "ctename"]; + void clear_ctename() ; + const std::string& ctename() const; + template + void set_ctename(Arg_&& arg, Args_... args); + std::string* mutable_ctename(); + PROTOBUF_NODISCARD std::string* release_ctename(); + void set_allocated_ctename(std::string* value); private: - const ::pg_query::Node& _internal_val() const; - ::pg_query::Node* _internal_mutable_val(); + const std::string& _internal_ctename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename( + const std::string& value); + std::string* _internal_mutable_ctename(); public: - // int32 location = 4 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // string enrname = 28 [json_name = "enrname"]; + void clear_enrname() ; + const std::string& enrname() const; + template + void set_enrname(Arg_&& arg, Args_... args); + std::string* mutable_enrname(); + PROTOBUF_NODISCARD std::string* release_enrname(); + void set_allocated_enrname(std::string* value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const std::string& _internal_enrname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_enrname( + const std::string& value); + std::string* _internal_mutable_enrname(); public: - // @@protoc_insertion_point(class_scope:pg_query.ResTarget) + // .pg_query.Alias alias = 1 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + + public: + // .pg_query.Alias eref = 2 [json_name = "eref"]; + bool has_eref() const; + void clear_eref() ; + const ::pg_query::Alias& eref() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_eref(); + ::pg_query::Alias* mutable_eref(); + void set_allocated_eref(::pg_query::Alias* value); + void unsafe_arena_set_allocated_eref(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_eref(); + + private: + const ::pg_query::Alias& _internal_eref() const; + ::pg_query::Alias* _internal_mutable_eref(); + + public: + // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"]; + bool has_tablesample() const; + void clear_tablesample() ; + const ::pg_query::TableSampleClause& tablesample() const; + PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_tablesample(); + ::pg_query::TableSampleClause* mutable_tablesample(); + void set_allocated_tablesample(::pg_query::TableSampleClause* value); + void unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value); + ::pg_query::TableSampleClause* unsafe_arena_release_tablesample(); + + private: + const ::pg_query::TableSampleClause& _internal_tablesample() const; + ::pg_query::TableSampleClause* _internal_mutable_tablesample(); + + public: + // .pg_query.Query subquery = 10 [json_name = "subquery"]; + bool has_subquery() const; + void clear_subquery() ; + const ::pg_query::Query& subquery() const; + PROTOBUF_NODISCARD ::pg_query::Query* release_subquery(); + ::pg_query::Query* mutable_subquery(); + void set_allocated_subquery(::pg_query::Query* value); + void unsafe_arena_set_allocated_subquery(::pg_query::Query* value); + ::pg_query::Query* unsafe_arena_release_subquery(); + + private: + const ::pg_query::Query& _internal_subquery() const; + ::pg_query::Query* _internal_mutable_subquery(); + + public: + // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"]; + bool has_join_using_alias() const; + void clear_join_using_alias() ; + const ::pg_query::Alias& join_using_alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); + ::pg_query::Alias* mutable_join_using_alias(); + void set_allocated_join_using_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_join_using_alias(); + + private: + const ::pg_query::Alias& _internal_join_using_alias() const; + ::pg_query::Alias* _internal_mutable_join_using_alias(); + + public: + // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"]; + bool has_tablefunc() const; + void clear_tablefunc() ; + const ::pg_query::TableFunc& tablefunc() const; + PROTOBUF_NODISCARD ::pg_query::TableFunc* release_tablefunc(); + ::pg_query::TableFunc* mutable_tablefunc(); + void set_allocated_tablefunc(::pg_query::TableFunc* value); + void unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value); + ::pg_query::TableFunc* unsafe_arena_release_tablefunc(); + + private: + const ::pg_query::TableFunc& _internal_tablefunc() const; + ::pg_query::TableFunc* _internal_mutable_tablefunc(); + + public: + // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"]; + void clear_rtekind() ; + ::pg_query::RTEKind rtekind() const; + void set_rtekind(::pg_query::RTEKind value); + + private: + ::pg_query::RTEKind _internal_rtekind() const; + void _internal_set_rtekind(::pg_query::RTEKind value); + + public: + // uint32 relid = 4 [json_name = "relid"]; + void clear_relid() ; + ::uint32_t relid() const; + void set_relid(::uint32_t value); + + private: + ::uint32_t _internal_relid() const; + void _internal_set_relid(::uint32_t value); + + public: + // int32 rellockmode = 7 [json_name = "rellockmode"]; + void clear_rellockmode() ; + ::int32_t rellockmode() const; + void set_rellockmode(::int32_t value); + + private: + ::int32_t _internal_rellockmode() const; + void _internal_set_rellockmode(::int32_t value); + + public: + // uint32 perminfoindex = 8 [json_name = "perminfoindex"]; + void clear_perminfoindex() ; + ::uint32_t perminfoindex() const; + void set_perminfoindex(::uint32_t value); + + private: + ::uint32_t _internal_perminfoindex() const; + void _internal_set_perminfoindex(::uint32_t value); + + public: + // .pg_query.JoinType jointype = 12 [json_name = "jointype"]; + void clear_jointype() ; + ::pg_query::JoinType jointype() const; + void set_jointype(::pg_query::JoinType value); + + private: + ::pg_query::JoinType _internal_jointype() const; + void _internal_set_jointype(::pg_query::JoinType value); + + public: + // int32 joinmergedcols = 13 [json_name = "joinmergedcols"]; + void clear_joinmergedcols() ; + ::int32_t joinmergedcols() const; + void set_joinmergedcols(::int32_t value); + + private: + ::int32_t _internal_joinmergedcols() const; + void _internal_set_joinmergedcols(::int32_t value); + + public: + // bool inh = 5 [json_name = "inh"]; + void clear_inh() ; + bool inh() const; + void set_inh(bool value); + + private: + bool _internal_inh() const; + void _internal_set_inh(bool value); + + public: + // bool security_barrier = 11 [json_name = "security_barrier"]; + void clear_security_barrier() ; + bool security_barrier() const; + void set_security_barrier(bool value); + + private: + bool _internal_security_barrier() const; + void _internal_set_security_barrier(bool value); + + public: + // bool funcordinality = 19 [json_name = "funcordinality"]; + void clear_funcordinality() ; + bool funcordinality() const; + void set_funcordinality(bool value); + + private: + bool _internal_funcordinality() const; + void _internal_set_funcordinality(bool value); + + public: + // bool self_reference = 24 [json_name = "self_reference"]; + void clear_self_reference() ; + bool self_reference() const; + void set_self_reference(bool value); + + private: + bool _internal_self_reference() const; + void _internal_set_self_reference(bool value); + + public: + // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"]; + void clear_ctelevelsup() ; + ::uint32_t ctelevelsup() const; + void set_ctelevelsup(::uint32_t value); + + private: + ::uint32_t _internal_ctelevelsup() const; + void _internal_set_ctelevelsup(::uint32_t value); + + public: + // double enrtuples = 29 [json_name = "enrtuples"]; + void clear_enrtuples() ; + double enrtuples() const; + void set_enrtuples(double value); + + private: + double _internal_enrtuples() const; + void _internal_set_enrtuples(double value); + + public: + // bool lateral = 30 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); + + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // bool in_from_cl = 31 [json_name = "inFromCl"]; + void clear_in_from_cl() ; + bool in_from_cl() const; + void set_in_from_cl(bool value); + + private: + bool _internal_in_from_cl() const; + void _internal_set_in_from_cl(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTblEntry) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 2, - 31, 2> + 5, 32, 15, + 84, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -62094,36 +64327,64 @@ class ResTarget final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* val_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinaliasvars_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinleftcols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinrightcols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > security_quals_; + ::google::protobuf::internal::ArenaStringPtr relkind_; + ::google::protobuf::internal::ArenaStringPtr ctename_; + ::google::protobuf::internal::ArenaStringPtr enrname_; + ::pg_query::Alias* alias_; + ::pg_query::Alias* eref_; + ::pg_query::TableSampleClause* tablesample_; + ::pg_query::Query* subquery_; + ::pg_query::Alias* join_using_alias_; + ::pg_query::TableFunc* tablefunc_; + int rtekind_; + ::uint32_t relid_; + ::int32_t rellockmode_; + ::uint32_t perminfoindex_; + int jointype_; + ::int32_t joinmergedcols_; + bool inh_; + bool security_barrier_; + bool funcordinality_; + bool self_reference_; + ::uint32_t ctelevelsup_; + double enrtuples_; + bool lateral_; + bool in_from_cl_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ReturnStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReturnStmt) */ { +class RangeTblFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblFunction) */ { public: - inline ReturnStmt() : ReturnStmt(nullptr) {} - ~ReturnStmt() override; + inline RangeTblFunction() : RangeTblFunction(nullptr) {} + ~RangeTblFunction() override; template - explicit PROTOBUF_CONSTEXPR ReturnStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RangeTblFunction(::google::protobuf::internal::ConstantInitialized); - inline ReturnStmt(const ReturnStmt& from) - : ReturnStmt(nullptr, from) {} - ReturnStmt(ReturnStmt&& from) noexcept - : ReturnStmt() { + inline RangeTblFunction(const RangeTblFunction& from) + : RangeTblFunction(nullptr, from) {} + RangeTblFunction(RangeTblFunction&& from) noexcept + : RangeTblFunction() { *this = ::std::move(from); } - inline ReturnStmt& operator=(const ReturnStmt& from) { + inline RangeTblFunction& operator=(const RangeTblFunction& from) { CopyFrom(from); return *this; } - inline ReturnStmt& operator=(ReturnStmt&& from) noexcept { + inline RangeTblFunction& operator=(RangeTblFunction&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -62155,20 +64416,20 @@ class ReturnStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReturnStmt& default_instance() { + static const RangeTblFunction& default_instance() { return *internal_default_instance(); } - static inline const ReturnStmt* internal_default_instance() { - return reinterpret_cast( - &_ReturnStmt_default_instance_); + static inline const RangeTblFunction* internal_default_instance() { + return reinterpret_cast( + &_RangeTblFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 133; + 111; - friend void swap(ReturnStmt& a, ReturnStmt& b) { + friend void swap(RangeTblFunction& a, RangeTblFunction& b) { a.Swap(&b); } - inline void Swap(ReturnStmt* other) { + inline void Swap(RangeTblFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -62181,7 +64442,7 @@ class ReturnStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReturnStmt* other) { + void UnsafeArenaSwap(RangeTblFunction* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -62189,14 +64450,14 @@ class ReturnStmt final : // implements Message ---------------------------------------------- - ReturnStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTblFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ReturnStmt& from); + void CopyFrom(const RangeTblFunction& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ReturnStmt& from) { - ReturnStmt::MergeImpl(*this, from); + void MergeFrom( const RangeTblFunction& from) { + RangeTblFunction::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -62214,16 +64475,16 @@ class ReturnStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ReturnStmt* other); + void InternalSwap(RangeTblFunction* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ReturnStmt"; + return "pg_query.RangeTblFunction"; } protected: - explicit ReturnStmt(::google::protobuf::Arena* arena); - ReturnStmt(::google::protobuf::Arena* arena, const ReturnStmt& from); + explicit RangeTblFunction(::google::protobuf::Arena* arena); + RangeTblFunction(::google::protobuf::Arena* arena, const RangeTblFunction& from); public: static const ClassData _class_data_; @@ -62236,75 +64497,188 @@ class ReturnStmt final : // accessors ------------------------------------------------------- enum : int { - kReturnvalFieldNumber = 1, + kFunccolnamesFieldNumber = 3, + kFunccoltypesFieldNumber = 4, + kFunccoltypmodsFieldNumber = 5, + kFunccolcollationsFieldNumber = 6, + kFuncparamsFieldNumber = 7, + kFuncexprFieldNumber = 1, + kFunccolcountFieldNumber = 2, }; - // .pg_query.Node returnval = 1 [json_name = "returnval"]; - bool has_returnval() const; - void clear_returnval() ; - const ::pg_query::Node& returnval() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_returnval(); - ::pg_query::Node* mutable_returnval(); - void set_allocated_returnval(::pg_query::Node* value); - void unsafe_arena_set_allocated_returnval(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_returnval(); - + // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; + int funccolnames_size() const; private: - const ::pg_query::Node& _internal_returnval() const; - ::pg_query::Node* _internal_mutable_returnval(); + int _internal_funccolnames_size() const; public: - // @@protoc_insertion_point(class_scope:pg_query.ReturnStmt) - private: - class _Internal; - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 1, 1, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { + void clear_funccolnames() ; + ::pg_query::Node* mutable_funccolnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccolnames(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolnames(); + public: + const ::pg_query::Node& funccolnames(int index) const; + ::pg_query::Node* add_funccolnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccolnames() const; + // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; + int funccoltypes_size() const; + private: + int _internal_funccoltypes_size() const; - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* returnval_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -};// ------------------------------------------------------------------- + public: + void clear_funccoltypes() ; + ::pg_query::Node* mutable_funccoltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccoltypes(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypes(); + public: + const ::pg_query::Node& funccoltypes(int index) const; + ::pg_query::Node* add_funccoltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccoltypes() const; + // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; + int funccoltypmods_size() const; + private: + int _internal_funccoltypmods_size() const; -class RowCompareExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowCompareExpr) */ { - public: - inline RowCompareExpr() : RowCompareExpr(nullptr) {} - ~RowCompareExpr() override; - template - explicit PROTOBUF_CONSTEXPR RowCompareExpr(::google::protobuf::internal::ConstantInitialized); + public: + void clear_funccoltypmods() ; + ::pg_query::Node* mutable_funccoltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccoltypmods(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypmods(); + public: + const ::pg_query::Node& funccoltypmods(int index) const; + ::pg_query::Node* add_funccoltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccoltypmods() const; + // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; + int funccolcollations_size() const; + private: + int _internal_funccolcollations_size() const; - inline RowCompareExpr(const RowCompareExpr& from) - : RowCompareExpr(nullptr, from) {} - RowCompareExpr(RowCompareExpr&& from) noexcept - : RowCompareExpr() { + public: + void clear_funccolcollations() ; + ::pg_query::Node* mutable_funccolcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccolcollations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolcollations(); + public: + const ::pg_query::Node& funccolcollations(int index) const; + ::pg_query::Node* add_funccolcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccolcollations() const; + // repeated uint64 funcparams = 7 [json_name = "funcparams"]; + int funcparams_size() const; + private: + int _internal_funcparams_size() const; + + public: + void clear_funcparams() ; + ::uint64_t funcparams(int index) const; + void set_funcparams(int index, ::uint64_t value); + void add_funcparams(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& funcparams() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_funcparams(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_funcparams() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_funcparams(); + + public: + // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; + bool has_funcexpr() const; + void clear_funcexpr() ; + const ::pg_query::Node& funcexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_funcexpr(); + ::pg_query::Node* mutable_funcexpr(); + void set_allocated_funcexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_funcexpr(); + + private: + const ::pg_query::Node& _internal_funcexpr() const; + ::pg_query::Node* _internal_mutable_funcexpr(); + + public: + // int32 funccolcount = 2 [json_name = "funccolcount"]; + void clear_funccolcount() ; + ::int32_t funccolcount() const; + void set_funccolcount(::int32_t value); + + private: + ::int32_t _internal_funccolcount() const; + void _internal_set_funccolcount(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTblFunction) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolcollations_; + ::google::protobuf::RepeatedField<::uint64_t> funcparams_; + mutable ::google::protobuf::internal::CachedSize _funcparams_cached_byte_size_; + ::pg_query::Node* funcexpr_; + ::int32_t funccolcount_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class RangeVar final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeVar) */ { + public: + inline RangeVar() : RangeVar(nullptr) {} + ~RangeVar() override; + template + explicit PROTOBUF_CONSTEXPR RangeVar(::google::protobuf::internal::ConstantInitialized); + + inline RangeVar(const RangeVar& from) + : RangeVar(nullptr, from) {} + RangeVar(RangeVar&& from) noexcept + : RangeVar() { *this = ::std::move(from); } - inline RowCompareExpr& operator=(const RowCompareExpr& from) { + inline RangeVar& operator=(const RangeVar& from) { CopyFrom(from); return *this; } - inline RowCompareExpr& operator=(RowCompareExpr&& from) noexcept { + inline RangeVar& operator=(RangeVar&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -62336,20 +64710,20 @@ class RowCompareExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RowCompareExpr& default_instance() { + static const RangeVar& default_instance() { return *internal_default_instance(); } - static inline const RowCompareExpr* internal_default_instance() { - return reinterpret_cast( - &_RowCompareExpr_default_instance_); + static inline const RangeVar* internal_default_instance() { + return reinterpret_cast( + &_RangeVar_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 13; - friend void swap(RowCompareExpr& a, RowCompareExpr& b) { + friend void swap(RangeVar& a, RangeVar& b) { a.Swap(&b); } - inline void Swap(RowCompareExpr* other) { + inline void Swap(RangeVar* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -62362,7 +64736,7 @@ class RowCompareExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RowCompareExpr* other) { + void UnsafeArenaSwap(RangeVar* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -62370,14 +64744,14 @@ class RowCompareExpr final : // implements Message ---------------------------------------------- - RowCompareExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeVar* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RowCompareExpr& from); + void CopyFrom(const RangeVar& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RowCompareExpr& from) { - RowCompareExpr::MergeImpl(*this, from); + void MergeFrom( const RangeVar& from) { + RangeVar::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -62395,16 +64769,16 @@ class RowCompareExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RowCompareExpr* other); + void InternalSwap(RangeVar* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RowCompareExpr"; + return "pg_query.RangeVar"; } protected: - explicit RowCompareExpr(::google::protobuf::Arena* arena); - RowCompareExpr(::google::protobuf::Arena* arena, const RowCompareExpr& from); + explicit RangeVar(::google::protobuf::Arena* arena); + RangeVar(::google::protobuf::Arena* arena, const RangeVar& from); public: static const ClassData _class_data_; @@ -62417,137 +64791,121 @@ class RowCompareExpr final : // accessors ------------------------------------------------------- enum : int { - kOpnosFieldNumber = 3, - kOpfamiliesFieldNumber = 4, - kInputcollidsFieldNumber = 5, - kLargsFieldNumber = 6, - kRargsFieldNumber = 7, - kXprFieldNumber = 1, - kRctypeFieldNumber = 2, + kCatalognameFieldNumber = 1, + kSchemanameFieldNumber = 2, + kRelnameFieldNumber = 3, + kRelpersistenceFieldNumber = 5, + kAliasFieldNumber = 6, + kInhFieldNumber = 4, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; - int opnos_size() const; - private: - int _internal_opnos_size() const; + // string catalogname = 1 [json_name = "catalogname"]; + void clear_catalogname() ; + const std::string& catalogname() const; + template + void set_catalogname(Arg_&& arg, Args_... args); + std::string* mutable_catalogname(); + PROTOBUF_NODISCARD std::string* release_catalogname(); + void set_allocated_catalogname(std::string* value); - public: - void clear_opnos() ; - ::pg_query::Node* mutable_opnos(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_opnos(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opnos() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opnos(); - public: - const ::pg_query::Node& opnos(int index) const; - ::pg_query::Node* add_opnos(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - opnos() const; - // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; - int opfamilies_size() const; private: - int _internal_opfamilies_size() const; + const std::string& _internal_catalogname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_catalogname( + const std::string& value); + std::string* _internal_mutable_catalogname(); public: - void clear_opfamilies() ; - ::pg_query::Node* mutable_opfamilies(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_opfamilies(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilies() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilies(); - public: - const ::pg_query::Node& opfamilies(int index) const; - ::pg_query::Node* add_opfamilies(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - opfamilies() const; - // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; - int inputcollids_size() const; - private: - int _internal_inputcollids_size() const; + // string schemaname = 2 [json_name = "schemaname"]; + void clear_schemaname() ; + const std::string& schemaname() const; + template + void set_schemaname(Arg_&& arg, Args_... args); + std::string* mutable_schemaname(); + PROTOBUF_NODISCARD std::string* release_schemaname(); + void set_allocated_schemaname(std::string* value); - public: - void clear_inputcollids() ; - ::pg_query::Node* mutable_inputcollids(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_inputcollids(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_inputcollids() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_inputcollids(); - public: - const ::pg_query::Node& inputcollids(int index) const; - ::pg_query::Node* add_inputcollids(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - inputcollids() const; - // repeated .pg_query.Node largs = 6 [json_name = "largs"]; - int largs_size() const; - private: - int _internal_largs_size() const; + const std::string& _internal_schemaname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname( + const std::string& value); + std::string* _internal_mutable_schemaname(); public: - void clear_largs() ; - ::pg_query::Node* mutable_largs(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_largs(); + // string relname = 3 [json_name = "relname"]; + void clear_relname() ; + const std::string& relname() const; + template + void set_relname(Arg_&& arg, Args_... args); + std::string* mutable_relname(); + PROTOBUF_NODISCARD std::string* release_relname(); + void set_allocated_relname(std::string* value); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_largs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_largs(); + const std::string& _internal_relname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( + const std::string& value); + std::string* _internal_mutable_relname(); + public: - const ::pg_query::Node& largs(int index) const; - ::pg_query::Node* add_largs(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - largs() const; - // repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; - int rargs_size() const; + // string relpersistence = 5 [json_name = "relpersistence"]; + void clear_relpersistence() ; + const std::string& relpersistence() const; + template + void set_relpersistence(Arg_&& arg, Args_... args); + std::string* mutable_relpersistence(); + PROTOBUF_NODISCARD std::string* release_relpersistence(); + void set_allocated_relpersistence(std::string* value); + private: - int _internal_rargs_size() const; + const std::string& _internal_relpersistence() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relpersistence( + const std::string& value); + std::string* _internal_mutable_relpersistence(); public: - void clear_rargs() ; - ::pg_query::Node* mutable_rargs(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_rargs(); + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rargs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rargs(); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + public: - const ::pg_query::Node& rargs(int index) const; - ::pg_query::Node* add_rargs(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - rargs() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + // bool inh = 4 [json_name = "inh"]; + void clear_inh() ; + bool inh() const; + void set_inh(bool value); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + bool _internal_inh() const; + void _internal_set_inh(bool value); public: - // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; - void clear_rctype() ; - ::pg_query::RowCompareType rctype() const; - void set_rctype(::pg_query::RowCompareType value); + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - ::pg_query::RowCompareType _internal_rctype() const; - void _internal_set_rctype(::pg_query::RowCompareType value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RowCompareExpr) + // @@protoc_insertion_point(class_scope:pg_query.RangeVar) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 6, - 0, 2> + 3, 7, 1, + 68, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -62565,39 +64923,39 @@ class RowCompareExpr final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opnos_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilies_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > inputcollids_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > largs_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rargs_; - ::pg_query::Node* xpr_; - int rctype_; + ::google::protobuf::internal::ArenaStringPtr catalogname_; + ::google::protobuf::internal::ArenaStringPtr schemaname_; + ::google::protobuf::internal::ArenaStringPtr relname_; + ::google::protobuf::internal::ArenaStringPtr relpersistence_; + ::pg_query::Alias* alias_; + bool inh_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RowExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowExpr) */ { +class RawStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RawStmt) */ { public: - inline RowExpr() : RowExpr(nullptr) {} - ~RowExpr() override; + inline RawStmt() : RawStmt(nullptr) {} + ~RawStmt() override; template - explicit PROTOBUF_CONSTEXPR RowExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RawStmt(::google::protobuf::internal::ConstantInitialized); - inline RowExpr(const RowExpr& from) - : RowExpr(nullptr, from) {} - RowExpr(RowExpr&& from) noexcept - : RowExpr() { + inline RawStmt(const RawStmt& from) + : RawStmt(nullptr, from) {} + RawStmt(RawStmt&& from) noexcept + : RawStmt() { *this = ::std::move(from); } - inline RowExpr& operator=(const RowExpr& from) { + inline RawStmt& operator=(const RawStmt& from) { CopyFrom(from); return *this; } - inline RowExpr& operator=(RowExpr&& from) noexcept { + inline RawStmt& operator=(RawStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -62629,20 +64987,20 @@ class RowExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RowExpr& default_instance() { + static const RawStmt& default_instance() { return *internal_default_instance(); } - static inline const RowExpr* internal_default_instance() { - return reinterpret_cast( - &_RowExpr_default_instance_); + static inline const RawStmt* internal_default_instance() { + return reinterpret_cast( + &_RawStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 142; - friend void swap(RowExpr& a, RowExpr& b) { + friend void swap(RawStmt& a, RawStmt& b) { a.Swap(&b); } - inline void Swap(RowExpr* other) { + inline void Swap(RawStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -62655,7 +65013,7 @@ class RowExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RowExpr* other) { + void UnsafeArenaSwap(RawStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -62663,14 +65021,14 @@ class RowExpr final : // implements Message ---------------------------------------------- - RowExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RawStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RowExpr& from); + void CopyFrom(const RawStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RowExpr& from) { - RowExpr::MergeImpl(*this, from); + void MergeFrom( const RawStmt& from) { + RawStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -62688,16 +65046,16 @@ class RowExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RowExpr* other); + void InternalSwap(RawStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RowExpr"; + return "pg_query.RawStmt"; } protected: - explicit RowExpr(::google::protobuf::Arena* arena); - RowExpr(::google::protobuf::Arena* arena, const RowExpr& from); + explicit RawStmt(::google::protobuf::Arena* arena); + RawStmt(::google::protobuf::Arena* arena, const RawStmt& from); public: static const ClassData _class_data_; @@ -62710,101 +65068,52 @@ class RowExpr final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 2, - kColnamesFieldNumber = 5, - kXprFieldNumber = 1, - kRowTypeidFieldNumber = 3, - kRowFormatFieldNumber = 4, - kLocationFieldNumber = 6, + kStmtFieldNumber = 1, + kStmtLocationFieldNumber = 2, + kStmtLenFieldNumber = 3, }; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - - public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; - int colnames_size() const; - private: - int _internal_colnames_size() const; - - public: - void clear_colnames() ; - ::pg_query::Node* mutable_colnames(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_colnames(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); - public: - const ::pg_query::Node& colnames(int index) const; - ::pg_query::Node* add_colnames(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - colnames() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // uint32 row_typeid = 3 [json_name = "row_typeid"]; - void clear_row_typeid() ; - ::uint32_t row_typeid() const; - void set_row_typeid(::uint32_t value); + // .pg_query.Node stmt = 1 [json_name = "stmt"]; + bool has_stmt() const; + void clear_stmt() ; + const ::pg_query::Node& stmt() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_stmt(); + ::pg_query::Node* mutable_stmt(); + void set_allocated_stmt(::pg_query::Node* value); + void unsafe_arena_set_allocated_stmt(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_stmt(); private: - ::uint32_t _internal_row_typeid() const; - void _internal_set_row_typeid(::uint32_t value); + const ::pg_query::Node& _internal_stmt() const; + ::pg_query::Node* _internal_mutable_stmt(); public: - // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; - void clear_row_format() ; - ::pg_query::CoercionForm row_format() const; - void set_row_format(::pg_query::CoercionForm value); + // int32 stmt_location = 2 [json_name = "stmt_location"]; + void clear_stmt_location() ; + ::int32_t stmt_location() const; + void set_stmt_location(::int32_t value); private: - ::pg_query::CoercionForm _internal_row_format() const; - void _internal_set_row_format(::pg_query::CoercionForm value); + ::int32_t _internal_stmt_location() const; + void _internal_set_stmt_location(::int32_t value); public: - // int32 location = 6 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // int32 stmt_len = 3 [json_name = "stmt_len"]; + void clear_stmt_len() ; + ::int32_t stmt_len() const; + void set_stmt_len(::int32_t value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + ::int32_t _internal_stmt_len() const; + void _internal_set_stmt_len(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.RowExpr) + // @@protoc_insertion_point(class_scope:pg_query.RawStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 3, + 2, 3, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -62823,38 +65132,35 @@ class RowExpr final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; - ::pg_query::Node* xpr_; - ::uint32_t row_typeid_; - int row_format_; - ::int32_t location_; + ::pg_query::Node* stmt_; + ::int32_t stmt_location_; + ::int32_t stmt_len_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class RuleStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RuleStmt) */ { +class ReassignOwnedStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReassignOwnedStmt) */ { public: - inline RuleStmt() : RuleStmt(nullptr) {} - ~RuleStmt() override; + inline ReassignOwnedStmt() : ReassignOwnedStmt(nullptr) {} + ~ReassignOwnedStmt() override; template - explicit PROTOBUF_CONSTEXPR RuleStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ReassignOwnedStmt(::google::protobuf::internal::ConstantInitialized); - inline RuleStmt(const RuleStmt& from) - : RuleStmt(nullptr, from) {} - RuleStmt(RuleStmt&& from) noexcept - : RuleStmt() { + inline ReassignOwnedStmt(const ReassignOwnedStmt& from) + : ReassignOwnedStmt(nullptr, from) {} + ReassignOwnedStmt(ReassignOwnedStmt&& from) noexcept + : ReassignOwnedStmt() { *this = ::std::move(from); } - inline RuleStmt& operator=(const RuleStmt& from) { + inline ReassignOwnedStmt& operator=(const ReassignOwnedStmt& from) { CopyFrom(from); return *this; } - inline RuleStmt& operator=(RuleStmt&& from) noexcept { + inline ReassignOwnedStmt& operator=(ReassignOwnedStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -62886,20 +65192,20 @@ class RuleStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RuleStmt& default_instance() { + static const ReassignOwnedStmt& default_instance() { return *internal_default_instance(); } - static inline const RuleStmt* internal_default_instance() { - return reinterpret_cast( - &_RuleStmt_default_instance_); + static inline const ReassignOwnedStmt* internal_default_instance() { + return reinterpret_cast( + &_ReassignOwnedStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 210; + 261; - friend void swap(RuleStmt& a, RuleStmt& b) { + friend void swap(ReassignOwnedStmt& a, ReassignOwnedStmt& b) { a.Swap(&b); } - inline void Swap(RuleStmt* other) { + inline void Swap(ReassignOwnedStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -62912,7 +65218,7 @@ class RuleStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RuleStmt* other) { + void UnsafeArenaSwap(ReassignOwnedStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -62920,14 +65226,14 @@ class RuleStmt final : // implements Message ---------------------------------------------- - RuleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReassignOwnedStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RuleStmt& from); + void CopyFrom(const ReassignOwnedStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const RuleStmt& from) { - RuleStmt::MergeImpl(*this, from); + void MergeFrom( const ReassignOwnedStmt& from) { + ReassignOwnedStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -62945,16 +65251,16 @@ class RuleStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(RuleStmt* other); + void InternalSwap(ReassignOwnedStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.RuleStmt"; + return "pg_query.ReassignOwnedStmt"; } protected: - explicit RuleStmt(::google::protobuf::Arena* arena); - RuleStmt(::google::protobuf::Arena* arena, const RuleStmt& from); + explicit ReassignOwnedStmt(::google::protobuf::Arena* arena); + ReassignOwnedStmt(::google::protobuf::Arena* arena, const ReassignOwnedStmt& from); public: static const ClassData _class_data_; @@ -62967,116 +65273,50 @@ class RuleStmt final : // accessors ------------------------------------------------------- enum : int { - kActionsFieldNumber = 6, - kRulenameFieldNumber = 2, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 3, - kEventFieldNumber = 4, - kInsteadFieldNumber = 5, - kReplaceFieldNumber = 7, + kRolesFieldNumber = 1, + kNewroleFieldNumber = 2, }; - // repeated .pg_query.Node actions = 6 [json_name = "actions"]; - int actions_size() const; + // repeated .pg_query.Node roles = 1 [json_name = "roles"]; + int roles_size() const; private: - int _internal_actions_size() const; + int _internal_roles_size() const; public: - void clear_actions() ; - ::pg_query::Node* mutable_actions(int index); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_actions(); + mutable_roles(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_actions() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_actions(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - const ::pg_query::Node& actions(int index) const; - ::pg_query::Node* add_actions(); + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - actions() const; - // string rulename = 2 [json_name = "rulename"]; - void clear_rulename() ; - const std::string& rulename() const; - template - void set_rulename(Arg_&& arg, Args_... args); - std::string* mutable_rulename(); - PROTOBUF_NODISCARD std::string* release_rulename(); - void set_allocated_rulename(std::string* value); - - private: - const std::string& _internal_rulename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_rulename( - const std::string& value); - std::string* _internal_mutable_rulename(); - - public: - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - - public: - // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; - bool has_where_clause() const; - void clear_where_clause() ; - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_where_clause(); - - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - - public: - // .pg_query.CmdType event = 4 [json_name = "event"]; - void clear_event() ; - ::pg_query::CmdType event() const; - void set_event(::pg_query::CmdType value); - - private: - ::pg_query::CmdType _internal_event() const; - void _internal_set_event(::pg_query::CmdType value); - - public: - // bool instead = 5 [json_name = "instead"]; - void clear_instead() ; - bool instead() const; - void set_instead(bool value); - - private: - bool _internal_instead() const; - void _internal_set_instead(bool value); - - public: - // bool replace = 7 [json_name = "replace"]; - void clear_replace() ; - bool replace() const; - void set_replace(bool value); + roles() const; + // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; + bool has_newrole() const; + void clear_newrole() ; + const ::pg_query::RoleSpec& newrole() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newrole(); + ::pg_query::RoleSpec* mutable_newrole(); + void set_allocated_newrole(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_newrole(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_newrole(); private: - bool _internal_replace() const; - void _internal_set_replace(bool value); + const ::pg_query::RoleSpec& _internal_newrole() const; + ::pg_query::RoleSpec* _internal_mutable_newrole(); public: - // @@protoc_insertion_point(class_scope:pg_query.RuleStmt) + // @@protoc_insertion_point(class_scope:pg_query.ReassignOwnedStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 3, - 34, 2> + 1, 2, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -63094,39 +65334,34 @@ class RuleStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > actions_; - ::google::protobuf::internal::ArenaStringPtr rulename_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - int event_; - bool instead_; - bool replace_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + ::pg_query::RoleSpec* newrole_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SQLValueFunction final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SQLValueFunction) */ { +class RefreshMatViewStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RefreshMatViewStmt) */ { public: - inline SQLValueFunction() : SQLValueFunction(nullptr) {} - ~SQLValueFunction() override; + inline RefreshMatViewStmt() : RefreshMatViewStmt(nullptr) {} + ~RefreshMatViewStmt() override; template - explicit PROTOBUF_CONSTEXPR SQLValueFunction(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RefreshMatViewStmt(::google::protobuf::internal::ConstantInitialized); - inline SQLValueFunction(const SQLValueFunction& from) - : SQLValueFunction(nullptr, from) {} - SQLValueFunction(SQLValueFunction&& from) noexcept - : SQLValueFunction() { + inline RefreshMatViewStmt(const RefreshMatViewStmt& from) + : RefreshMatViewStmt(nullptr, from) {} + RefreshMatViewStmt(RefreshMatViewStmt&& from) noexcept + : RefreshMatViewStmt() { *this = ::std::move(from); } - inline SQLValueFunction& operator=(const SQLValueFunction& from) { + inline RefreshMatViewStmt& operator=(const RefreshMatViewStmt& from) { CopyFrom(from); return *this; } - inline SQLValueFunction& operator=(SQLValueFunction&& from) noexcept { + inline RefreshMatViewStmt& operator=(RefreshMatViewStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -63158,20 +65393,20 @@ class SQLValueFunction final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SQLValueFunction& default_instance() { + static const RefreshMatViewStmt& default_instance() { return *internal_default_instance(); } - static inline const SQLValueFunction* internal_default_instance() { - return reinterpret_cast( - &_SQLValueFunction_default_instance_); + static inline const RefreshMatViewStmt* internal_default_instance() { + return reinterpret_cast( + &_RefreshMatViewStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 248; - friend void swap(SQLValueFunction& a, SQLValueFunction& b) { + friend void swap(RefreshMatViewStmt& a, RefreshMatViewStmt& b) { a.Swap(&b); } - inline void Swap(SQLValueFunction* other) { + inline void Swap(RefreshMatViewStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -63184,7 +65419,7 @@ class SQLValueFunction final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SQLValueFunction* other) { + void UnsafeArenaSwap(RefreshMatViewStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -63192,14 +65427,14 @@ class SQLValueFunction final : // implements Message ---------------------------------------------- - SQLValueFunction* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RefreshMatViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SQLValueFunction& from); + void CopyFrom(const RefreshMatViewStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SQLValueFunction& from) { - SQLValueFunction::MergeImpl(*this, from); + void MergeFrom( const RefreshMatViewStmt& from) { + RefreshMatViewStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -63217,16 +65452,16 @@ class SQLValueFunction final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SQLValueFunction* other); + void InternalSwap(RefreshMatViewStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SQLValueFunction"; + return "pg_query.RefreshMatViewStmt"; } protected: - explicit SQLValueFunction(::google::protobuf::Arena* arena); - SQLValueFunction(::google::protobuf::Arena* arena, const SQLValueFunction& from); + explicit RefreshMatViewStmt(::google::protobuf::Arena* arena); + RefreshMatViewStmt(::google::protobuf::Arena* arena, const RefreshMatViewStmt& from); public: static const ClassData _class_data_; @@ -63239,74 +65474,52 @@ class SQLValueFunction final : // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kOpFieldNumber = 2, - kTypeFieldNumber = 3, - kTypmodFieldNumber = 4, - kLocationFieldNumber = 5, + kRelationFieldNumber = 3, + kConcurrentFieldNumber = 1, + kSkipDataFieldNumber = 2, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; - void clear_op() ; - ::pg_query::SQLValueFunctionOp op() const; - void set_op(::pg_query::SQLValueFunctionOp value); - - private: - ::pg_query::SQLValueFunctionOp _internal_op() const; - void _internal_set_op(::pg_query::SQLValueFunctionOp value); - - public: - // uint32 type = 3 [json_name = "type"]; - void clear_type() ; - ::uint32_t type() const; - void set_type(::uint32_t value); + // .pg_query.RangeVar relation = 3 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - ::uint32_t _internal_type() const; - void _internal_set_type(::uint32_t value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // int32 typmod = 4 [json_name = "typmod"]; - void clear_typmod() ; - ::int32_t typmod() const; - void set_typmod(::int32_t value); + // bool concurrent = 1 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); private: - ::int32_t _internal_typmod() const; - void _internal_set_typmod(::int32_t value); + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // bool skip_data = 2 [json_name = "skipData"]; + void clear_skip_data() ; + bool skip_data() const; + void set_skip_data(bool value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_skip_data() const; + void _internal_set_skip_data(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.SQLValueFunction) + // @@protoc_insertion_point(class_scope:pg_query.RefreshMatViewStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 1, + 2, 3, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -63325,37 +65538,35 @@ class SQLValueFunction final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - int op_; - ::uint32_t type_; - ::int32_t typmod_; - ::int32_t location_; + ::pg_query::RangeVar* relation_; + bool concurrent_; + bool skip_data_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ScalarArrayOpExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScalarArrayOpExpr) */ { +class ReindexStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReindexStmt) */ { public: - inline ScalarArrayOpExpr() : ScalarArrayOpExpr(nullptr) {} - ~ScalarArrayOpExpr() override; + inline ReindexStmt() : ReindexStmt(nullptr) {} + ~ReindexStmt() override; template - explicit PROTOBUF_CONSTEXPR ScalarArrayOpExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ReindexStmt(::google::protobuf::internal::ConstantInitialized); - inline ScalarArrayOpExpr(const ScalarArrayOpExpr& from) - : ScalarArrayOpExpr(nullptr, from) {} - ScalarArrayOpExpr(ScalarArrayOpExpr&& from) noexcept - : ScalarArrayOpExpr() { + inline ReindexStmt(const ReindexStmt& from) + : ReindexStmt(nullptr, from) {} + ReindexStmt(ReindexStmt&& from) noexcept + : ReindexStmt() { *this = ::std::move(from); } - inline ScalarArrayOpExpr& operator=(const ScalarArrayOpExpr& from) { + inline ReindexStmt& operator=(const ReindexStmt& from) { CopyFrom(from); return *this; } - inline ScalarArrayOpExpr& operator=(ScalarArrayOpExpr&& from) noexcept { + inline ReindexStmt& operator=(ReindexStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -63387,20 +65598,20 @@ class ScalarArrayOpExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ScalarArrayOpExpr& default_instance() { + static const ReindexStmt& default_instance() { return *internal_default_instance(); } - static inline const ScalarArrayOpExpr* internal_default_instance() { - return reinterpret_cast( - &_ScalarArrayOpExpr_default_instance_); + static inline const ReindexStmt* internal_default_instance() { + return reinterpret_cast( + &_ReindexStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 253; - friend void swap(ScalarArrayOpExpr& a, ScalarArrayOpExpr& b) { + friend void swap(ReindexStmt& a, ReindexStmt& b) { a.Swap(&b); } - inline void Swap(ScalarArrayOpExpr* other) { + inline void Swap(ReindexStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -63413,7 +65624,7 @@ class ScalarArrayOpExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ScalarArrayOpExpr* other) { + void UnsafeArenaSwap(ReindexStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -63421,14 +65632,14 @@ class ScalarArrayOpExpr final : // implements Message ---------------------------------------------- - ScalarArrayOpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReindexStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ScalarArrayOpExpr& from); + void CopyFrom(const ReindexStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ScalarArrayOpExpr& from) { - ScalarArrayOpExpr::MergeImpl(*this, from); + void MergeFrom( const ReindexStmt& from) { + ReindexStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -63446,16 +65657,16 @@ class ScalarArrayOpExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ScalarArrayOpExpr* other); + void InternalSwap(ReindexStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ScalarArrayOpExpr"; + return "pg_query.ReindexStmt"; } protected: - explicit ScalarArrayOpExpr(::google::protobuf::Arena* arena); - ScalarArrayOpExpr(::google::protobuf::Arena* arena, const ScalarArrayOpExpr& from); + explicit ReindexStmt(::google::protobuf::Arena* arena); + ReindexStmt(::google::protobuf::Arena* arena, const ReindexStmt& from); public: static const ClassData _class_data_; @@ -63468,94 +65679,78 @@ class ScalarArrayOpExpr final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 5, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kUseOrFieldNumber = 3, - kInputcollidFieldNumber = 4, - kLocationFieldNumber = 6, + kParamsFieldNumber = 4, + kNameFieldNumber = 3, + kRelationFieldNumber = 2, + kKindFieldNumber = 1, }; - // repeated .pg_query.Node args = 5 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node params = 4 [json_name = "params"]; + int params_size() const; private: - int _internal_args_size() const; + int _internal_params_size() const; public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); + void clear_params() ; + ::pg_query::Node* mutable_params(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + mutable_params(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); + const ::pg_query::Node& params(int index) const; + ::pg_query::Node* add_params(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno() ; - ::uint32_t opno() const; - void set_opno(::uint32_t value); - - private: - ::uint32_t _internal_opno() const; - void _internal_set_opno(::uint32_t value); - - public: - // bool use_or = 3 [json_name = "useOr"]; - void clear_use_or() ; - bool use_or() const; - void set_use_or(bool value); + params() const; + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - bool _internal_use_or() const; - void _internal_set_use_or(bool value); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // uint32 inputcollid = 4 [json_name = "inputcollid"]; - void clear_inputcollid() ; - ::uint32_t inputcollid() const; - void set_inputcollid(::uint32_t value); + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - ::uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(::uint32_t value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // int32 location = 6 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::ReindexObjectType kind() const; + void set_kind(::pg_query::ReindexObjectType value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + ::pg_query::ReindexObjectType _internal_kind() const; + void _internal_set_kind(::pg_query::ReindexObjectType value); public: - // @@protoc_insertion_point(class_scope:pg_query.ScalarArrayOpExpr) + // @@protoc_insertion_point(class_scope:pg_query.ReindexStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 2, - 0, 2> + 2, 4, 2, + 33, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -63573,38 +65768,36 @@ class ScalarArrayOpExpr final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::uint32_t opno_; - bool use_or_; - ::uint32_t inputcollid_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::RangeVar* relation_; + int kind_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SecLabelStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SecLabelStmt) */ { +class RelabelType final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RelabelType) */ { public: - inline SecLabelStmt() : SecLabelStmt(nullptr) {} - ~SecLabelStmt() override; + inline RelabelType() : RelabelType(nullptr) {} + ~RelabelType() override; template - explicit PROTOBUF_CONSTEXPR SecLabelStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RelabelType(::google::protobuf::internal::ConstantInitialized); - inline SecLabelStmt(const SecLabelStmt& from) - : SecLabelStmt(nullptr, from) {} - SecLabelStmt(SecLabelStmt&& from) noexcept - : SecLabelStmt() { + inline RelabelType(const RelabelType& from) + : RelabelType(nullptr, from) {} + RelabelType(RelabelType&& from) noexcept + : RelabelType() { *this = ::std::move(from); } - inline SecLabelStmt& operator=(const SecLabelStmt& from) { + inline RelabelType& operator=(const RelabelType& from) { CopyFrom(from); return *this; } - inline SecLabelStmt& operator=(SecLabelStmt&& from) noexcept { + inline RelabelType& operator=(RelabelType&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -63636,20 +65829,20 @@ class SecLabelStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SecLabelStmt& default_instance() { + static const RelabelType& default_instance() { return *internal_default_instance(); } - static inline const SecLabelStmt* internal_default_instance() { - return reinterpret_cast( - &_SecLabelStmt_default_instance_); + static inline const RelabelType* internal_default_instance() { + return reinterpret_cast( + &_RelabelType_default_instance_); } static constexpr int kIndexInFileMessages = - 189; + 36; - friend void swap(SecLabelStmt& a, SecLabelStmt& b) { + friend void swap(RelabelType& a, RelabelType& b) { a.Swap(&b); } - inline void Swap(SecLabelStmt* other) { + inline void Swap(RelabelType* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -63662,7 +65855,7 @@ class SecLabelStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SecLabelStmt* other) { + void UnsafeArenaSwap(RelabelType* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -63670,14 +65863,14 @@ class SecLabelStmt final : // implements Message ---------------------------------------------- - SecLabelStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RelabelType* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SecLabelStmt& from); + void CopyFrom(const RelabelType& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SecLabelStmt& from) { - SecLabelStmt::MergeImpl(*this, from); + void MergeFrom( const RelabelType& from) { + RelabelType::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -63695,16 +65888,16 @@ class SecLabelStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SecLabelStmt* other); + void InternalSwap(RelabelType* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SecLabelStmt"; + return "pg_query.RelabelType"; } protected: - explicit SecLabelStmt(::google::protobuf::Arena* arena); - SecLabelStmt(::google::protobuf::Arena* arena, const SecLabelStmt& from); + explicit RelabelType(::google::protobuf::Arena* arena); + RelabelType(::google::protobuf::Arena* arena, const RelabelType& from); public: static const ClassData _class_data_; @@ -63717,76 +65910,102 @@ class SecLabelStmt final : // accessors ------------------------------------------------------- enum : int { - kProviderFieldNumber = 3, - kLabelFieldNumber = 4, - kObjectFieldNumber = 2, - kObjtypeFieldNumber = 1, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 3, + kResulttypmodFieldNumber = 4, + kResultcollidFieldNumber = 5, + kRelabelformatFieldNumber = 6, + kLocationFieldNumber = 7, }; - // string provider = 3 [json_name = "provider"]; - void clear_provider() ; - const std::string& provider() const; - template - void set_provider(Arg_&& arg, Args_... args); - std::string* mutable_provider(); - PROTOBUF_NODISCARD std::string* release_provider(); - void set_allocated_provider(std::string* value); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - const std::string& _internal_provider() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider( - const std::string& value); - std::string* _internal_mutable_provider(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // string label = 4 [json_name = "label"]; - void clear_label() ; - const std::string& label() const; - template - void set_label(Arg_&& arg, Args_... args); - std::string* mutable_label(); - PROTOBUF_NODISCARD std::string* release_label(); - void set_allocated_label(std::string* value); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); private: - const std::string& _internal_label() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_label( - const std::string& value); - std::string* _internal_mutable_label(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); public: - // .pg_query.Node object = 2 [json_name = "object"]; - bool has_object() const; - void clear_object() ; - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* value); - void unsafe_arena_set_allocated_object(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_object(); + // uint32 resulttype = 3 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); public: - // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; - void clear_objtype() ; - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); + // int32 resulttypmod = 4 [json_name = "resulttypmod"]; + void clear_resulttypmod() ; + ::int32_t resulttypmod() const; + void set_resulttypmod(::int32_t value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + ::int32_t _internal_resulttypmod() const; + void _internal_set_resulttypmod(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.SecLabelStmt) + // uint32 resultcollid = 5 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); + + private: + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); + + public: + // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; + void clear_relabelformat() ; + ::pg_query::CoercionForm relabelformat() const; + void set_relabelformat(::pg_query::CoercionForm value); + + private: + ::pg_query::CoercionForm _internal_relabelformat() const; + void _internal_set_relabelformat(::pg_query::CoercionForm value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RelabelType) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 1, - 43, 2> + 3, 7, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -63804,36 +66023,39 @@ class SecLabelStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr provider_; - ::google::protobuf::internal::ArenaStringPtr label_; - ::pg_query::Node* object_; - int objtype_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + ::int32_t resulttypmod_; + ::uint32_t resultcollid_; + int relabelformat_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SelectStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SelectStmt) */ { +class RenameStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RenameStmt) */ { public: - inline SelectStmt() : SelectStmt(nullptr) {} - ~SelectStmt() override; + inline RenameStmt() : RenameStmt(nullptr) {} + ~RenameStmt() override; template - explicit PROTOBUF_CONSTEXPR SelectStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RenameStmt(::google::protobuf::internal::ConstantInitialized); - inline SelectStmt(const SelectStmt& from) - : SelectStmt(nullptr, from) {} - SelectStmt(SelectStmt&& from) noexcept - : SelectStmt() { + inline RenameStmt(const RenameStmt& from) + : RenameStmt(nullptr, from) {} + RenameStmt(RenameStmt&& from) noexcept + : RenameStmt() { *this = ::std::move(from); } - inline SelectStmt& operator=(const SelectStmt& from) { + inline RenameStmt& operator=(const RenameStmt& from) { CopyFrom(from); return *this; } - inline SelectStmt& operator=(SelectStmt&& from) noexcept { + inline RenameStmt& operator=(RenameStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -63865,20 +66087,20 @@ class SelectStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SelectStmt& default_instance() { + static const RenameStmt& default_instance() { return *internal_default_instance(); } - static inline const SelectStmt* internal_default_instance() { - return reinterpret_cast( - &_SelectStmt_default_instance_); + static inline const RenameStmt* internal_default_instance() { + return reinterpret_cast( + &_RenameStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 131; + 220; - friend void swap(SelectStmt& a, SelectStmt& b) { + friend void swap(RenameStmt& a, RenameStmt& b) { a.Swap(&b); } - inline void Swap(SelectStmt* other) { + inline void Swap(RenameStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -63891,7 +66113,7 @@ class SelectStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SelectStmt* other) { + void UnsafeArenaSwap(RenameStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -63899,14 +66121,14 @@ class SelectStmt final : // implements Message ---------------------------------------------- - SelectStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RenameStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SelectStmt& from); + void CopyFrom(const RenameStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SelectStmt& from) { - SelectStmt::MergeImpl(*this, from); + void MergeFrom( const RenameStmt& from) { + RenameStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -63924,16 +66146,16 @@ class SelectStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SelectStmt* other); + void InternalSwap(RenameStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SelectStmt"; + return "pg_query.RenameStmt"; } protected: - explicit SelectStmt(::google::protobuf::Arena* arena); - SelectStmt(::google::protobuf::Arena* arena, const SelectStmt& from); + explicit RenameStmt(::google::protobuf::Arena* arena); + RenameStmt(::google::protobuf::Arena* arena, const RenameStmt& from); public: static const ClassData _class_data_; @@ -63946,339 +66168,125 @@ class SelectStmt final : // accessors ------------------------------------------------------- enum : int { - kDistinctClauseFieldNumber = 1, - kTargetListFieldNumber = 3, - kFromClauseFieldNumber = 4, - kGroupClauseFieldNumber = 6, - kWindowClauseFieldNumber = 9, - kValuesListsFieldNumber = 10, - kSortClauseFieldNumber = 11, - kLockingClauseFieldNumber = 15, - kIntoClauseFieldNumber = 2, - kWhereClauseFieldNumber = 5, - kHavingClauseFieldNumber = 8, - kLimitOffsetFieldNumber = 12, - kLimitCountFieldNumber = 13, - kWithClauseFieldNumber = 16, - kLargFieldNumber = 19, - kRargFieldNumber = 20, - kGroupDistinctFieldNumber = 7, - kAllFieldNumber = 18, - kLimitOptionFieldNumber = 14, - kOpFieldNumber = 17, + kSubnameFieldNumber = 5, + kNewnameFieldNumber = 6, + kRelationFieldNumber = 3, + kObjectFieldNumber = 4, + kRenameTypeFieldNumber = 1, + kRelationTypeFieldNumber = 2, + kBehaviorFieldNumber = 7, + kMissingOkFieldNumber = 8, }; - // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; - int distinct_clause_size() const; - private: - int _internal_distinct_clause_size() const; - - public: - void clear_distinct_clause() ; - ::pg_query::Node* mutable_distinct_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_distinct_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); - public: - const ::pg_query::Node& distinct_clause(int index) const; - ::pg_query::Node* add_distinct_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - distinct_clause() const; - // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - - public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; - int from_clause_size() const; - private: - int _internal_from_clause_size() const; - - public: - void clear_from_clause() ; - ::pg_query::Node* mutable_from_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_from_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); - public: - const ::pg_query::Node& from_clause(int index) const; - ::pg_query::Node* add_from_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - from_clause() const; - // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; - int group_clause_size() const; - private: - int _internal_group_clause_size() const; - - public: - void clear_group_clause() ; - ::pg_query::Node* mutable_group_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); - public: - const ::pg_query::Node& group_clause(int index) const; - ::pg_query::Node* add_group_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - group_clause() const; - // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; - int window_clause_size() const; - private: - int _internal_window_clause_size() const; - - public: - void clear_window_clause() ; - ::pg_query::Node* mutable_window_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_window_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); - public: - const ::pg_query::Node& window_clause(int index) const; - ::pg_query::Node* add_window_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - window_clause() const; - // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; - int values_lists_size() const; - private: - int _internal_values_lists_size() const; - - public: - void clear_values_lists() ; - ::pg_query::Node* mutable_values_lists(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_values_lists(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); - public: - const ::pg_query::Node& values_lists(int index) const; - ::pg_query::Node* add_values_lists(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - values_lists() const; - // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; - int sort_clause_size() const; - private: - int _internal_sort_clause_size() const; - - public: - void clear_sort_clause() ; - ::pg_query::Node* mutable_sort_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_sort_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); - public: - const ::pg_query::Node& sort_clause(int index) const; - ::pg_query::Node* add_sort_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - sort_clause() const; - // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; - int locking_clause_size() const; - private: - int _internal_locking_clause_size() const; - - public: - void clear_locking_clause() ; - ::pg_query::Node* mutable_locking_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_locking_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locking_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locking_clause(); - public: - const ::pg_query::Node& locking_clause(int index) const; - ::pg_query::Node* add_locking_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - locking_clause() const; - // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; - bool has_into_clause() const; - void clear_into_clause() ; - const ::pg_query::IntoClause& into_clause() const; - PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); - ::pg_query::IntoClause* mutable_into_clause(); - void set_allocated_into_clause(::pg_query::IntoClause* value); - void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); - ::pg_query::IntoClause* unsafe_arena_release_into_clause(); - - private: - const ::pg_query::IntoClause& _internal_into_clause() const; - ::pg_query::IntoClause* _internal_mutable_into_clause(); - - public: - // .pg_query.Node where_clause = 5 [json_name = "whereClause"]; - bool has_where_clause() const; - void clear_where_clause() ; - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_where_clause(); - - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - - public: - // .pg_query.Node having_clause = 8 [json_name = "havingClause"]; - bool has_having_clause() const; - void clear_having_clause() ; - const ::pg_query::Node& having_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_having_clause(); - ::pg_query::Node* mutable_having_clause(); - void set_allocated_having_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_having_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_having_clause(); - - private: - const ::pg_query::Node& _internal_having_clause() const; - ::pg_query::Node* _internal_mutable_having_clause(); - - public: - // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; - bool has_limit_offset() const; - void clear_limit_offset() ; - const ::pg_query::Node& limit_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); - ::pg_query::Node* mutable_limit_offset(); - void set_allocated_limit_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_limit_offset(); - - private: - const ::pg_query::Node& _internal_limit_offset() const; - ::pg_query::Node* _internal_mutable_limit_offset(); - - public: - // .pg_query.Node limit_count = 13 [json_name = "limitCount"]; - bool has_limit_count() const; - void clear_limit_count() ; - const ::pg_query::Node& limit_count() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); - ::pg_query::Node* mutable_limit_count(); - void set_allocated_limit_count(::pg_query::Node* value); - void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_limit_count(); + // string subname = 5 [json_name = "subname"]; + void clear_subname() ; + const std::string& subname() const; + template + void set_subname(Arg_&& arg, Args_... args); + std::string* mutable_subname(); + PROTOBUF_NODISCARD std::string* release_subname(); + void set_allocated_subname(std::string* value); private: - const ::pg_query::Node& _internal_limit_count() const; - ::pg_query::Node* _internal_mutable_limit_count(); + const std::string& _internal_subname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( + const std::string& value); + std::string* _internal_mutable_subname(); public: - // .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; - bool has_with_clause() const; - void clear_with_clause() ; - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* value); - void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + // string newname = 6 [json_name = "newname"]; + void clear_newname() ; + const std::string& newname() const; + template + void set_newname(Arg_&& arg, Args_... args); + std::string* mutable_newname(); + PROTOBUF_NODISCARD std::string* release_newname(); + void set_allocated_newname(std::string* value); private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + const std::string& _internal_newname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_newname( + const std::string& value); + std::string* _internal_mutable_newname(); public: - // .pg_query.SelectStmt larg = 19 [json_name = "larg"]; - bool has_larg() const; - void clear_larg() ; - const ::pg_query::SelectStmt& larg() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_larg(); - ::pg_query::SelectStmt* mutable_larg(); - void set_allocated_larg(::pg_query::SelectStmt* value); - void unsafe_arena_set_allocated_larg(::pg_query::SelectStmt* value); - ::pg_query::SelectStmt* unsafe_arena_release_larg(); + // .pg_query.RangeVar relation = 3 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - const ::pg_query::SelectStmt& _internal_larg() const; - ::pg_query::SelectStmt* _internal_mutable_larg(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; - bool has_rarg() const; - void clear_rarg() ; - const ::pg_query::SelectStmt& rarg() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_rarg(); - ::pg_query::SelectStmt* mutable_rarg(); - void set_allocated_rarg(::pg_query::SelectStmt* value); - void unsafe_arena_set_allocated_rarg(::pg_query::SelectStmt* value); - ::pg_query::SelectStmt* unsafe_arena_release_rarg(); + // .pg_query.Node object = 4 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); private: - const ::pg_query::SelectStmt& _internal_rarg() const; - ::pg_query::SelectStmt* _internal_mutable_rarg(); + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); public: - // bool group_distinct = 7 [json_name = "groupDistinct"]; - void clear_group_distinct() ; - bool group_distinct() const; - void set_group_distinct(bool value); + // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; + void clear_rename_type() ; + ::pg_query::ObjectType rename_type() const; + void set_rename_type(::pg_query::ObjectType value); private: - bool _internal_group_distinct() const; - void _internal_set_group_distinct(bool value); + ::pg_query::ObjectType _internal_rename_type() const; + void _internal_set_rename_type(::pg_query::ObjectType value); public: - // bool all = 18 [json_name = "all"]; - void clear_all() ; - bool all() const; - void set_all(bool value); + // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; + void clear_relation_type() ; + ::pg_query::ObjectType relation_type() const; + void set_relation_type(::pg_query::ObjectType value); private: - bool _internal_all() const; - void _internal_set_all(bool value); + ::pg_query::ObjectType _internal_relation_type() const; + void _internal_set_relation_type(::pg_query::ObjectType value); public: - // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; - void clear_limit_option() ; - ::pg_query::LimitOption limit_option() const; - void set_limit_option(::pg_query::LimitOption value); + // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::LimitOption _internal_limit_option() const; - void _internal_set_limit_option(::pg_query::LimitOption value); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); public: - // .pg_query.SetOperation op = 17 [json_name = "op"]; - void clear_op() ; - ::pg_query::SetOperation op() const; - void set_op(::pg_query::SetOperation value); + // bool missing_ok = 8 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); private: - ::pg_query::SetOperation _internal_op() const; - void _internal_set_op(::pg_query::SetOperation value); + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.SelectStmt) + // @@protoc_insertion_point(class_scope:pg_query.RenameStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 5, 20, 16, - 0, 2> + 3, 8, 2, + 50, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -64296,52 +66304,40 @@ class SelectStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locking_clause_; - ::pg_query::IntoClause* into_clause_; - ::pg_query::Node* where_clause_; - ::pg_query::Node* having_clause_; - ::pg_query::Node* limit_offset_; - ::pg_query::Node* limit_count_; - ::pg_query::WithClause* with_clause_; - ::pg_query::SelectStmt* larg_; - ::pg_query::SelectStmt* rarg_; - bool group_distinct_; - bool all_; - int limit_option_; - int op_; + ::google::protobuf::internal::ArenaStringPtr subname_; + ::google::protobuf::internal::ArenaStringPtr newname_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* object_; + int rename_type_; + int relation_type_; + int behavior_; + bool missing_ok_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SetOperationStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetOperationStmt) */ { +class ResTarget final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ResTarget) */ { public: - inline SetOperationStmt() : SetOperationStmt(nullptr) {} - ~SetOperationStmt() override; + inline ResTarget() : ResTarget(nullptr) {} + ~ResTarget() override; template - explicit PROTOBUF_CONSTEXPR SetOperationStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ResTarget(::google::protobuf::internal::ConstantInitialized); - inline SetOperationStmt(const SetOperationStmt& from) - : SetOperationStmt(nullptr, from) {} - SetOperationStmt(SetOperationStmt&& from) noexcept - : SetOperationStmt() { + inline ResTarget(const ResTarget& from) + : ResTarget(nullptr, from) {} + ResTarget(ResTarget&& from) noexcept + : ResTarget() { *this = ::std::move(from); } - inline SetOperationStmt& operator=(const SetOperationStmt& from) { + inline ResTarget& operator=(const ResTarget& from) { CopyFrom(from); return *this; } - inline SetOperationStmt& operator=(SetOperationStmt&& from) noexcept { + inline ResTarget& operator=(ResTarget&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -64373,20 +66369,20 @@ class SetOperationStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SetOperationStmt& default_instance() { + static const ResTarget& default_instance() { return *internal_default_instance(); } - static inline const SetOperationStmt* internal_default_instance() { - return reinterpret_cast( - &_SetOperationStmt_default_instance_); + static inline const ResTarget* internal_default_instance() { + return reinterpret_cast( + &_ResTarget_default_instance_); } static constexpr int kIndexInFileMessages = - 132; + 88; - friend void swap(SetOperationStmt& a, SetOperationStmt& b) { + friend void swap(ResTarget& a, ResTarget& b) { a.Swap(&b); } - inline void Swap(SetOperationStmt* other) { + inline void Swap(ResTarget* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -64399,7 +66395,7 @@ class SetOperationStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SetOperationStmt* other) { + void UnsafeArenaSwap(ResTarget* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -64407,14 +66403,14 @@ class SetOperationStmt final : // implements Message ---------------------------------------------- - SetOperationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ResTarget* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SetOperationStmt& from); + void CopyFrom(const ResTarget& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SetOperationStmt& from) { - SetOperationStmt::MergeImpl(*this, from); + void MergeFrom( const ResTarget& from) { + ResTarget::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -64432,16 +66428,16 @@ class SetOperationStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SetOperationStmt* other); + void InternalSwap(ResTarget* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SetOperationStmt"; + return "pg_query.ResTarget"; } protected: - explicit SetOperationStmt(::google::protobuf::Arena* arena); - SetOperationStmt(::google::protobuf::Arena* arena, const SetOperationStmt& from); + explicit ResTarget(::google::protobuf::Arena* arena); + ResTarget(::google::protobuf::Arena* arena, const ResTarget& from); public: static const ClassData _class_data_; @@ -64454,145 +66450,78 @@ class SetOperationStmt final : // accessors ------------------------------------------------------- enum : int { - kColTypesFieldNumber = 5, - kColTypmodsFieldNumber = 6, - kColCollationsFieldNumber = 7, - kGroupClausesFieldNumber = 8, - kLargFieldNumber = 3, - kRargFieldNumber = 4, - kOpFieldNumber = 1, - kAllFieldNumber = 2, + kIndirectionFieldNumber = 2, + kNameFieldNumber = 1, + kValFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; - int col_types_size() const; - private: - int _internal_col_types_size() const; - - public: - void clear_col_types() ; - ::pg_query::Node* mutable_col_types(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_col_types(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_types() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_types(); - public: - const ::pg_query::Node& col_types(int index) const; - ::pg_query::Node* add_col_types(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - col_types() const; - // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; - int col_typmods_size() const; - private: - int _internal_col_typmods_size() const; - - public: - void clear_col_typmods() ; - ::pg_query::Node* mutable_col_typmods(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_col_typmods(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_typmods() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_typmods(); - public: - const ::pg_query::Node& col_typmods(int index) const; - ::pg_query::Node* add_col_typmods(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - col_typmods() const; - // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; - int col_collations_size() const; - private: - int _internal_col_collations_size() const; - - public: - void clear_col_collations() ; - ::pg_query::Node* mutable_col_collations(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_col_collations(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_collations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_collations(); - public: - const ::pg_query::Node& col_collations(int index) const; - ::pg_query::Node* add_col_collations(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - col_collations() const; - // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; - int group_clauses_size() const; + // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; + int indirection_size() const; private: - int _internal_group_clauses_size() const; + int _internal_indirection_size() const; public: - void clear_group_clauses() ; - ::pg_query::Node* mutable_group_clauses(int index); + void clear_indirection() ; + ::pg_query::Node* mutable_indirection(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clauses(); + mutable_indirection(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clauses() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clauses(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); public: - const ::pg_query::Node& group_clauses(int index) const; - ::pg_query::Node* add_group_clauses(); + const ::pg_query::Node& indirection(int index) const; + ::pg_query::Node* add_indirection(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - group_clauses() const; - // .pg_query.Node larg = 3 [json_name = "larg"]; - bool has_larg() const; - void clear_larg() ; - const ::pg_query::Node& larg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); - ::pg_query::Node* mutable_larg(); - void set_allocated_larg(::pg_query::Node* value); - void unsafe_arena_set_allocated_larg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_larg(); - - private: - const ::pg_query::Node& _internal_larg() const; - ::pg_query::Node* _internal_mutable_larg(); - - public: - // .pg_query.Node rarg = 4 [json_name = "rarg"]; - bool has_rarg() const; - void clear_rarg() ; - const ::pg_query::Node& rarg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); - ::pg_query::Node* mutable_rarg(); - void set_allocated_rarg(::pg_query::Node* value); - void unsafe_arena_set_allocated_rarg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_rarg(); + indirection() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const ::pg_query::Node& _internal_rarg() const; - ::pg_query::Node* _internal_mutable_rarg(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); public: - // .pg_query.SetOperation op = 1 [json_name = "op"]; - void clear_op() ; - ::pg_query::SetOperation op() const; - void set_op(::pg_query::SetOperation value); + // .pg_query.Node val = 3 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::Node& val() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_val(); + ::pg_query::Node* mutable_val(); + void set_allocated_val(::pg_query::Node* value); + void unsafe_arena_set_allocated_val(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_val(); private: - ::pg_query::SetOperation _internal_op() const; - void _internal_set_op(::pg_query::SetOperation value); + const ::pg_query::Node& _internal_val() const; + ::pg_query::Node* _internal_mutable_val(); public: - // bool all = 2 [json_name = "all"]; - void clear_all() ; - bool all() const; - void set_all(bool value); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - bool _internal_all() const; - void _internal_set_all(bool value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.SetOperationStmt) + // @@protoc_insertion_point(class_scope:pg_query.ResTarget) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 6, - 0, 2> + 2, 4, 2, + 31, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -64610,40 +66539,36 @@ class SetOperationStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_types_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_typmods_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_collations_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clauses_; - ::pg_query::Node* larg_; - ::pg_query::Node* rarg_; - int op_; - bool all_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* val_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SetToDefault final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetToDefault) */ { +class ReturnStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReturnStmt) */ { public: - inline SetToDefault() : SetToDefault(nullptr) {} - ~SetToDefault() override; + inline ReturnStmt() : ReturnStmt(nullptr) {} + ~ReturnStmt() override; template - explicit PROTOBUF_CONSTEXPR SetToDefault(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ReturnStmt(::google::protobuf::internal::ConstantInitialized); - inline SetToDefault(const SetToDefault& from) - : SetToDefault(nullptr, from) {} - SetToDefault(SetToDefault&& from) noexcept - : SetToDefault() { + inline ReturnStmt(const ReturnStmt& from) + : ReturnStmt(nullptr, from) {} + ReturnStmt(ReturnStmt&& from) noexcept + : ReturnStmt() { *this = ::std::move(from); } - inline SetToDefault& operator=(const SetToDefault& from) { + inline ReturnStmt& operator=(const ReturnStmt& from) { CopyFrom(from); return *this; } - inline SetToDefault& operator=(SetToDefault&& from) noexcept { + inline ReturnStmt& operator=(ReturnStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -64675,20 +66600,20 @@ class SetToDefault final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SetToDefault& default_instance() { + static const ReturnStmt& default_instance() { return *internal_default_instance(); } - static inline const SetToDefault* internal_default_instance() { - return reinterpret_cast( - &_SetToDefault_default_instance_); + static inline const ReturnStmt* internal_default_instance() { + return reinterpret_cast( + &_ReturnStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 58; + 149; - friend void swap(SetToDefault& a, SetToDefault& b) { + friend void swap(ReturnStmt& a, ReturnStmt& b) { a.Swap(&b); } - inline void Swap(SetToDefault* other) { + inline void Swap(ReturnStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -64701,7 +66626,7 @@ class SetToDefault final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SetToDefault* other) { + void UnsafeArenaSwap(ReturnStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -64709,14 +66634,14 @@ class SetToDefault final : // implements Message ---------------------------------------------- - SetToDefault* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReturnStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SetToDefault& from); + void CopyFrom(const ReturnStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SetToDefault& from) { - SetToDefault::MergeImpl(*this, from); + void MergeFrom( const ReturnStmt& from) { + ReturnStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -64734,16 +66659,16 @@ class SetToDefault final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SetToDefault* other); + void InternalSwap(ReturnStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SetToDefault"; + return "pg_query.ReturnStmt"; } protected: - explicit SetToDefault(::google::protobuf::Arena* arena); - SetToDefault(::google::protobuf::Arena* arena, const SetToDefault& from); + explicit ReturnStmt(::google::protobuf::Arena* arena); + ReturnStmt(::google::protobuf::Arena* arena, const ReturnStmt& from); public: static const ClassData _class_data_; @@ -64756,74 +66681,30 @@ class SetToDefault final : // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kTypeIdFieldNumber = 2, - kTypeModFieldNumber = 3, - kCollationFieldNumber = 4, - kLocationFieldNumber = 5, + kReturnvalFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // uint32 type_id = 2 [json_name = "typeId"]; - void clear_type_id() ; - ::uint32_t type_id() const; - void set_type_id(::uint32_t value); - - private: - ::uint32_t _internal_type_id() const; - void _internal_set_type_id(::uint32_t value); - - public: - // int32 type_mod = 3 [json_name = "typeMod"]; - void clear_type_mod() ; - ::int32_t type_mod() const; - void set_type_mod(::int32_t value); - - private: - ::int32_t _internal_type_mod() const; - void _internal_set_type_mod(::int32_t value); - - public: - // uint32 collation = 4 [json_name = "collation"]; - void clear_collation() ; - ::uint32_t collation() const; - void set_collation(::uint32_t value); - - private: - ::uint32_t _internal_collation() const; - void _internal_set_collation(::uint32_t value); - - public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.Node returnval = 1 [json_name = "returnval"]; + bool has_returnval() const; + void clear_returnval() ; + const ::pg_query::Node& returnval() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_returnval(); + ::pg_query::Node* mutable_returnval(); + void set_allocated_returnval(::pg_query::Node* value); + void unsafe_arena_set_allocated_returnval(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_returnval(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::Node& _internal_returnval() const; + ::pg_query::Node* _internal_mutable_returnval(); public: - // @@protoc_insertion_point(class_scope:pg_query.SetToDefault) + // @@protoc_insertion_point(class_scope:pg_query.ReturnStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 1, + 0, 1, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -64842,37 +66723,33 @@ class SetToDefault final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* xpr_; - ::uint32_t type_id_; - ::int32_t type_mod_; - ::uint32_t collation_; - ::int32_t location_; + ::pg_query::Node* returnval_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SortBy final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SortBy) */ { +class RowCompareExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowCompareExpr) */ { public: - inline SortBy() : SortBy(nullptr) {} - ~SortBy() override; + inline RowCompareExpr() : RowCompareExpr(nullptr) {} + ~RowCompareExpr() override; template - explicit PROTOBUF_CONSTEXPR SortBy(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RowCompareExpr(::google::protobuf::internal::ConstantInitialized); - inline SortBy(const SortBy& from) - : SortBy(nullptr, from) {} - SortBy(SortBy&& from) noexcept - : SortBy() { + inline RowCompareExpr(const RowCompareExpr& from) + : RowCompareExpr(nullptr, from) {} + RowCompareExpr(RowCompareExpr&& from) noexcept + : RowCompareExpr() { *this = ::std::move(from); } - inline SortBy& operator=(const SortBy& from) { + inline RowCompareExpr& operator=(const RowCompareExpr& from) { CopyFrom(from); return *this; } - inline SortBy& operator=(SortBy&& from) noexcept { + inline RowCompareExpr& operator=(RowCompareExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -64904,20 +66781,20 @@ class SortBy final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SortBy& default_instance() { + static const RowCompareExpr& default_instance() { return *internal_default_instance(); } - static inline const SortBy* internal_default_instance() { - return reinterpret_cast( - &_SortBy_default_instance_); + static inline const RowCompareExpr* internal_default_instance() { + return reinterpret_cast( + &_RowCompareExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 82; + 46; - friend void swap(SortBy& a, SortBy& b) { + friend void swap(RowCompareExpr& a, RowCompareExpr& b) { a.Swap(&b); } - inline void Swap(SortBy* other) { + inline void Swap(RowCompareExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -64930,7 +66807,7 @@ class SortBy final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SortBy* other) { + void UnsafeArenaSwap(RowCompareExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -64938,14 +66815,14 @@ class SortBy final : // implements Message ---------------------------------------------- - SortBy* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RowCompareExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SortBy& from); + void CopyFrom(const RowCompareExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SortBy& from) { - SortBy::MergeImpl(*this, from); + void MergeFrom( const RowCompareExpr& from) { + RowCompareExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -64963,16 +66840,16 @@ class SortBy final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SortBy* other); + void InternalSwap(RowCompareExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SortBy"; + return "pg_query.RowCompareExpr"; } protected: - explicit SortBy(::google::protobuf::Arena* arena); - SortBy(::google::protobuf::Arena* arena, const SortBy& from); + explicit RowCompareExpr(::google::protobuf::Arena* arena); + RowCompareExpr(::google::protobuf::Arena* arena, const RowCompareExpr& from); public: static const ClassData _class_data_; @@ -64985,82 +66862,136 @@ class SortBy final : // accessors ------------------------------------------------------- enum : int { - kUseOpFieldNumber = 4, - kNodeFieldNumber = 1, - kSortbyDirFieldNumber = 2, - kSortbyNullsFieldNumber = 3, - kLocationFieldNumber = 5, + kOpnosFieldNumber = 3, + kOpfamiliesFieldNumber = 4, + kInputcollidsFieldNumber = 5, + kLargsFieldNumber = 6, + kRargsFieldNumber = 7, + kXprFieldNumber = 1, + kRctypeFieldNumber = 2, }; - // repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; - int use_op_size() const; + // repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; + int opnos_size() const; private: - int _internal_use_op_size() const; + int _internal_opnos_size() const; public: - void clear_use_op() ; - ::pg_query::Node* mutable_use_op(int index); + void clear_opnos() ; + ::pg_query::Node* mutable_opnos(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_use_op(); + mutable_opnos(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_use_op() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_use_op(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opnos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opnos(); public: - const ::pg_query::Node& use_op(int index) const; - ::pg_query::Node* add_use_op(); + const ::pg_query::Node& opnos(int index) const; + ::pg_query::Node* add_opnos(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - use_op() const; - // .pg_query.Node node = 1 [json_name = "node"]; - bool has_node() const; - void clear_node() ; - const ::pg_query::Node& node() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_node(); - ::pg_query::Node* mutable_node(); - void set_allocated_node(::pg_query::Node* value); - void unsafe_arena_set_allocated_node(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_node(); + opnos() const; + // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; + int opfamilies_size() const; + private: + int _internal_opfamilies_size() const; + public: + void clear_opfamilies() ; + ::pg_query::Node* mutable_opfamilies(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opfamilies(); private: - const ::pg_query::Node& _internal_node() const; - ::pg_query::Node* _internal_mutable_node(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilies() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilies(); + public: + const ::pg_query::Node& opfamilies(int index) const; + ::pg_query::Node* add_opfamilies(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opfamilies() const; + // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; + int inputcollids_size() const; + private: + int _internal_inputcollids_size() const; public: - // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; - void clear_sortby_dir() ; - ::pg_query::SortByDir sortby_dir() const; - void set_sortby_dir(::pg_query::SortByDir value); + void clear_inputcollids() ; + ::pg_query::Node* mutable_inputcollids(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_inputcollids(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_inputcollids() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_inputcollids(); + public: + const ::pg_query::Node& inputcollids(int index) const; + ::pg_query::Node* add_inputcollids(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + inputcollids() const; + // repeated .pg_query.Node largs = 6 [json_name = "largs"]; + int largs_size() const; + private: + int _internal_largs_size() const; + public: + void clear_largs() ; + ::pg_query::Node* mutable_largs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_largs(); private: - ::pg_query::SortByDir _internal_sortby_dir() const; - void _internal_set_sortby_dir(::pg_query::SortByDir value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_largs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_largs(); + public: + const ::pg_query::Node& largs(int index) const; + ::pg_query::Node* add_largs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + largs() const; + // repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; + int rargs_size() const; + private: + int _internal_rargs_size() const; public: - // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; - void clear_sortby_nulls() ; - ::pg_query::SortByNulls sortby_nulls() const; - void set_sortby_nulls(::pg_query::SortByNulls value); + void clear_rargs() ; + ::pg_query::Node* mutable_rargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rargs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rargs(); + public: + const ::pg_query::Node& rargs(int index) const; + ::pg_query::Node* add_rargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rargs() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - ::pg_query::SortByNulls _internal_sortby_nulls() const; - void _internal_set_sortby_nulls(::pg_query::SortByNulls value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; + void clear_rctype() ; + ::pg_query::RowCompareType rctype() const; + void set_rctype(::pg_query::RowCompareType value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + ::pg_query::RowCompareType _internal_rctype() const; + void _internal_set_rctype(::pg_query::RowCompareType value); public: - // @@protoc_insertion_point(class_scope:pg_query.SortBy) + // @@protoc_insertion_point(class_scope:pg_query.RowCompareExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, + 3, 7, 6, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -65079,37 +67010,39 @@ class SortBy final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > use_op_; - ::pg_query::Node* node_; - int sortby_dir_; - int sortby_nulls_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opnos_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilies_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > inputcollids_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > largs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rargs_; + ::pg_query::Node* xpr_; + int rctype_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class StatsElem final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.StatsElem) */ { +class RowExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowExpr) */ { public: - inline StatsElem() : StatsElem(nullptr) {} - ~StatsElem() override; + inline RowExpr() : RowExpr(nullptr) {} + ~RowExpr() override; template - explicit PROTOBUF_CONSTEXPR StatsElem(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RowExpr(::google::protobuf::internal::ConstantInitialized); - inline StatsElem(const StatsElem& from) - : StatsElem(nullptr, from) {} - StatsElem(StatsElem&& from) noexcept - : StatsElem() { + inline RowExpr(const RowExpr& from) + : RowExpr(nullptr, from) {} + RowExpr(RowExpr&& from) noexcept + : RowExpr() { *this = ::std::move(from); } - inline StatsElem& operator=(const StatsElem& from) { + inline RowExpr& operator=(const RowExpr& from) { CopyFrom(from); return *this; } - inline StatsElem& operator=(StatsElem&& from) noexcept { + inline RowExpr& operator=(RowExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -65141,20 +67074,20 @@ class StatsElem final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const StatsElem& default_instance() { + static const RowExpr& default_instance() { return *internal_default_instance(); } - static inline const StatsElem* internal_default_instance() { - return reinterpret_cast( - &_StatsElem_default_instance_); + static inline const RowExpr* internal_default_instance() { + return reinterpret_cast( + &_RowExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 195; + 45; - friend void swap(StatsElem& a, StatsElem& b) { + friend void swap(RowExpr& a, RowExpr& b) { a.Swap(&b); } - inline void Swap(StatsElem* other) { + inline void Swap(RowExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -65167,7 +67100,7 @@ class StatsElem final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(StatsElem* other) { + void UnsafeArenaSwap(RowExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -65175,14 +67108,14 @@ class StatsElem final : // implements Message ---------------------------------------------- - StatsElem* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RowExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const StatsElem& from); + void CopyFrom(const RowExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const StatsElem& from) { - StatsElem::MergeImpl(*this, from); + void MergeFrom( const RowExpr& from) { + RowExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -65200,16 +67133,16 @@ class StatsElem final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(StatsElem* other); + void InternalSwap(RowExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.StatsElem"; + return "pg_query.RowExpr"; } protected: - explicit StatsElem(::google::protobuf::Arena* arena); - StatsElem(::google::protobuf::Arena* arena, const StatsElem& from); + explicit RowExpr(::google::protobuf::Arena* arena); + RowExpr(::google::protobuf::Arena* arena, const RowExpr& from); public: static const ClassData _class_data_; @@ -65222,48 +67155,102 @@ class StatsElem final : // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kExprFieldNumber = 2, + kArgsFieldNumber = 2, + kColnamesFieldNumber = 5, + kXprFieldNumber = 1, + kRowTypeidFieldNumber = 3, + kRowFormatFieldNumber = 4, + kLocationFieldNumber = 6, }; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; + int colnames_size() const; + private: + int _internal_colnames_size() const; public: - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - void clear_expr() ; - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_expr(); + void clear_colnames() ; + ::pg_query::Node* mutable_colnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colnames(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); + public: + const ::pg_query::Node& colnames(int index) const; + ::pg_query::Node* add_colnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colnames() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // @@protoc_insertion_point(class_scope:pg_query.StatsElem) + // uint32 row_typeid = 3 [json_name = "row_typeid"]; + void clear_row_typeid() ; + ::uint32_t row_typeid() const; + void set_row_typeid(::uint32_t value); + + private: + ::uint32_t _internal_row_typeid() const; + void _internal_set_row_typeid(::uint32_t value); + + public: + // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; + void clear_row_format() ; + ::pg_query::CoercionForm row_format() const; + void set_row_format(::pg_query::CoercionForm value); + + private: + ::pg_query::CoercionForm _internal_row_format() const; + void _internal_set_row_format(::pg_query::CoercionForm value); + + public: + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RowExpr) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 1, 2, 1, - 31, 2> + 3, 6, 3, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -65281,34 +67268,38 @@ class StatsElem final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* expr_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; + ::pg_query::Node* xpr_; + ::uint32_t row_typeid_; + int row_format_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SubLink final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubLink) */ { +class RuleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RuleStmt) */ { public: - inline SubLink() : SubLink(nullptr) {} - ~SubLink() override; + inline RuleStmt() : RuleStmt(nullptr) {} + ~RuleStmt() override; template - explicit PROTOBUF_CONSTEXPR SubLink(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR RuleStmt(::google::protobuf::internal::ConstantInitialized); - inline SubLink(const SubLink& from) - : SubLink(nullptr, from) {} - SubLink(SubLink&& from) noexcept - : SubLink() { + inline RuleStmt(const RuleStmt& from) + : RuleStmt(nullptr, from) {} + RuleStmt(RuleStmt&& from) noexcept + : RuleStmt() { *this = ::std::move(from); } - inline SubLink& operator=(const SubLink& from) { + inline RuleStmt& operator=(const RuleStmt& from) { CopyFrom(from); return *this; } - inline SubLink& operator=(SubLink&& from) noexcept { + inline RuleStmt& operator=(RuleStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -65340,20 +67331,20 @@ class SubLink final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubLink& default_instance() { + static const RuleStmt& default_instance() { return *internal_default_instance(); } - static inline const SubLink* internal_default_instance() { - return reinterpret_cast( - &_SubLink_default_instance_); + static inline const RuleStmt* internal_default_instance() { + return reinterpret_cast( + &_RuleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 29; + 226; - friend void swap(SubLink& a, SubLink& b) { + friend void swap(RuleStmt& a, RuleStmt& b) { a.Swap(&b); } - inline void Swap(SubLink* other) { + inline void Swap(RuleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -65366,7 +67357,7 @@ class SubLink final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubLink* other) { + void UnsafeArenaSwap(RuleStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -65374,14 +67365,14 @@ class SubLink final : // implements Message ---------------------------------------------- - SubLink* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RuleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SubLink& from); + void CopyFrom(const RuleStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SubLink& from) { - SubLink::MergeImpl(*this, from); + void MergeFrom( const RuleStmt& from) { + RuleStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -65399,16 +67390,16 @@ class SubLink final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SubLink* other); + void InternalSwap(RuleStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SubLink"; + return "pg_query.RuleStmt"; } protected: - explicit SubLink(::google::protobuf::Arena* arena); - SubLink(::google::protobuf::Arena* arena, const SubLink& from); + explicit RuleStmt(::google::protobuf::Arena* arena); + RuleStmt(::google::protobuf::Arena* arena, const RuleStmt& from); public: static const ClassData _class_data_; @@ -65421,115 +67412,116 @@ class SubLink final : // accessors ------------------------------------------------------- enum : int { - kOperNameFieldNumber = 5, - kXprFieldNumber = 1, - kTestexprFieldNumber = 4, - kSubselectFieldNumber = 6, - kSubLinkTypeFieldNumber = 2, - kSubLinkIdFieldNumber = 3, - kLocationFieldNumber = 7, + kActionsFieldNumber = 6, + kRulenameFieldNumber = 2, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 3, + kEventFieldNumber = 4, + kInsteadFieldNumber = 5, + kReplaceFieldNumber = 7, }; - // repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; - int oper_name_size() const; + // repeated .pg_query.Node actions = 6 [json_name = "actions"]; + int actions_size() const; private: - int _internal_oper_name_size() const; + int _internal_actions_size() const; public: - void clear_oper_name() ; - ::pg_query::Node* mutable_oper_name(int index); + void clear_actions() ; + ::pg_query::Node* mutable_actions(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_oper_name(); + mutable_actions(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_oper_name() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_oper_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_actions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_actions(); public: - const ::pg_query::Node& oper_name(int index) const; - ::pg_query::Node* add_oper_name(); + const ::pg_query::Node& actions(int index) const; + ::pg_query::Node* add_actions(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - oper_name() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); + actions() const; + // string rulename = 2 [json_name = "rulename"]; + void clear_rulename() ; + const std::string& rulename() const; + template + void set_rulename(Arg_&& arg, Args_... args); + std::string* mutable_rulename(); + PROTOBUF_NODISCARD std::string* release_rulename(); + void set_allocated_rulename(std::string* value); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const std::string& _internal_rulename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_rulename( + const std::string& value); + std::string* _internal_mutable_rulename(); public: - // .pg_query.Node testexpr = 4 [json_name = "testexpr"]; - bool has_testexpr() const; - void clear_testexpr() ; - const ::pg_query::Node& testexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); - ::pg_query::Node* mutable_testexpr(); - void set_allocated_testexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_testexpr(); + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - const ::pg_query::Node& _internal_testexpr() const; - ::pg_query::Node* _internal_mutable_testexpr(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // .pg_query.Node subselect = 6 [json_name = "subselect"]; - bool has_subselect() const; - void clear_subselect() ; - const ::pg_query::Node& subselect() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_subselect(); - ::pg_query::Node* mutable_subselect(); - void set_allocated_subselect(::pg_query::Node* value); - void unsafe_arena_set_allocated_subselect(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_subselect(); + // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); private: - const ::pg_query::Node& _internal_subselect() const; - ::pg_query::Node* _internal_mutable_subselect(); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); public: - // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; - void clear_sub_link_type() ; - ::pg_query::SubLinkType sub_link_type() const; - void set_sub_link_type(::pg_query::SubLinkType value); + // .pg_query.CmdType event = 4 [json_name = "event"]; + void clear_event() ; + ::pg_query::CmdType event() const; + void set_event(::pg_query::CmdType value); private: - ::pg_query::SubLinkType _internal_sub_link_type() const; - void _internal_set_sub_link_type(::pg_query::SubLinkType value); + ::pg_query::CmdType _internal_event() const; + void _internal_set_event(::pg_query::CmdType value); public: - // int32 sub_link_id = 3 [json_name = "subLinkId"]; - void clear_sub_link_id() ; - ::int32_t sub_link_id() const; - void set_sub_link_id(::int32_t value); + // bool instead = 5 [json_name = "instead"]; + void clear_instead() ; + bool instead() const; + void set_instead(bool value); private: - ::int32_t _internal_sub_link_id() const; - void _internal_set_sub_link_id(::int32_t value); + bool _internal_instead() const; + void _internal_set_instead(bool value); public: - // int32 location = 7 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // bool replace = 7 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_replace() const; + void _internal_set_replace(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.SubLink) + // @@protoc_insertion_point(class_scope:pg_query.RuleStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 7, 4, - 0, 2> + 3, 7, 3, + 34, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -65547,39 +67539,39 @@ class SubLink final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > oper_name_; - ::pg_query::Node* xpr_; - ::pg_query::Node* testexpr_; - ::pg_query::Node* subselect_; - int sub_link_type_; - ::int32_t sub_link_id_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > actions_; + ::google::protobuf::internal::ArenaStringPtr rulename_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + int event_; + bool instead_; + bool replace_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SubPlan final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubPlan) */ { +class SQLValueFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SQLValueFunction) */ { public: - inline SubPlan() : SubPlan(nullptr) {} - ~SubPlan() override; + inline SQLValueFunction() : SQLValueFunction(nullptr) {} + ~SQLValueFunction() override; template - explicit PROTOBUF_CONSTEXPR SubPlan(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SQLValueFunction(::google::protobuf::internal::ConstantInitialized); - inline SubPlan(const SubPlan& from) - : SubPlan(nullptr, from) {} - SubPlan(SubPlan&& from) noexcept - : SubPlan() { + inline SQLValueFunction(const SQLValueFunction& from) + : SQLValueFunction(nullptr, from) {} + SQLValueFunction(SQLValueFunction&& from) noexcept + : SQLValueFunction() { *this = ::std::move(from); } - inline SubPlan& operator=(const SubPlan& from) { + inline SQLValueFunction& operator=(const SQLValueFunction& from) { CopyFrom(from); return *this; } - inline SubPlan& operator=(SubPlan&& from) noexcept { + inline SQLValueFunction& operator=(SQLValueFunction&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -65611,20 +67603,20 @@ class SubPlan final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubPlan& default_instance() { + static const SQLValueFunction& default_instance() { return *internal_default_instance(); } - static inline const SubPlan* internal_default_instance() { - return reinterpret_cast( - &_SubPlan_default_instance_); + static inline const SQLValueFunction* internal_default_instance() { + return reinterpret_cast( + &_SQLValueFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 30; + 49; - friend void swap(SubPlan& a, SubPlan& b) { + friend void swap(SQLValueFunction& a, SQLValueFunction& b) { a.Swap(&b); } - inline void Swap(SubPlan* other) { + inline void Swap(SQLValueFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -65637,7 +67629,7 @@ class SubPlan final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubPlan* other) { + void UnsafeArenaSwap(SQLValueFunction* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -65645,14 +67637,14 @@ class SubPlan final : // implements Message ---------------------------------------------- - SubPlan* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SQLValueFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SubPlan& from); + void CopyFrom(const SQLValueFunction& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SubPlan& from) { - SubPlan::MergeImpl(*this, from); + void MergeFrom( const SQLValueFunction& from) { + SQLValueFunction::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -65670,16 +67662,16 @@ class SubPlan final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SubPlan* other); + void InternalSwap(SQLValueFunction* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SubPlan"; + return "pg_query.SQLValueFunction"; } protected: - explicit SubPlan(::google::protobuf::Arena* arena); - SubPlan(::google::protobuf::Arena* arena, const SubPlan& from); + explicit SQLValueFunction(::google::protobuf::Arena* arena); + SQLValueFunction(::google::protobuf::Arena* arena, const SQLValueFunction& from); public: static const ClassData _class_data_; @@ -65692,112 +67684,12 @@ class SubPlan final : // accessors ------------------------------------------------------- enum : int { - kParamIdsFieldNumber = 4, - kSetParamFieldNumber = 13, - kParParamFieldNumber = 14, - kArgsFieldNumber = 15, - kPlanNameFieldNumber = 6, kXprFieldNumber = 1, - kTestexprFieldNumber = 3, - kSubLinkTypeFieldNumber = 2, - kPlanIdFieldNumber = 5, - kFirstColTypeFieldNumber = 7, - kFirstColTypmodFieldNumber = 8, - kFirstColCollationFieldNumber = 9, - kUseHashTableFieldNumber = 10, - kUnknownEqFalseFieldNumber = 11, - kParallelSafeFieldNumber = 12, - kStartupCostFieldNumber = 16, - kPerCallCostFieldNumber = 17, + kOpFieldNumber = 2, + kTypeFieldNumber = 3, + kTypmodFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; - int param_ids_size() const; - private: - int _internal_param_ids_size() const; - - public: - void clear_param_ids() ; - ::pg_query::Node* mutable_param_ids(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_param_ids(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_param_ids() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_param_ids(); - public: - const ::pg_query::Node& param_ids(int index) const; - ::pg_query::Node* add_param_ids(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - param_ids() const; - // repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; - int set_param_size() const; - private: - int _internal_set_param_size() const; - - public: - void clear_set_param() ; - ::pg_query::Node* mutable_set_param(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_set_param(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_set_param() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_set_param(); - public: - const ::pg_query::Node& set_param(int index) const; - ::pg_query::Node* add_set_param(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - set_param() const; - // repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; - int par_param_size() const; - private: - int _internal_par_param_size() const; - - public: - void clear_par_param() ; - ::pg_query::Node* mutable_par_param(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_par_param(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_par_param() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_par_param(); - public: - const ::pg_query::Node& par_param(int index) const; - ::pg_query::Node* add_par_param(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - par_param() const; - // repeated .pg_query.Node args = 15 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - - public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // string plan_name = 6 [json_name = "plan_name"]; - void clear_plan_name() ; - const std::string& plan_name() const; - template - void set_plan_name(Arg_&& arg, Args_... args); - std::string* mutable_plan_name(); - PROTOBUF_NODISCARD std::string* release_plan_name(); - void set_allocated_plan_name(std::string* value); - - private: - const std::string& _internal_plan_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_plan_name( - const std::string& value); - std::string* _internal_mutable_plan_name(); - - public: // .pg_query.Node xpr = 1 [json_name = "xpr"]; bool has_xpr() const; void clear_xpr() ; @@ -65813,129 +67705,54 @@ class SubPlan final : ::pg_query::Node* _internal_mutable_xpr(); public: - // .pg_query.Node testexpr = 3 [json_name = "testexpr"]; - bool has_testexpr() const; - void clear_testexpr() ; - const ::pg_query::Node& testexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); - ::pg_query::Node* mutable_testexpr(); - void set_allocated_testexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_testexpr(); - - private: - const ::pg_query::Node& _internal_testexpr() const; - ::pg_query::Node* _internal_mutable_testexpr(); - - public: - // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; - void clear_sub_link_type() ; - ::pg_query::SubLinkType sub_link_type() const; - void set_sub_link_type(::pg_query::SubLinkType value); - - private: - ::pg_query::SubLinkType _internal_sub_link_type() const; - void _internal_set_sub_link_type(::pg_query::SubLinkType value); - - public: - // int32 plan_id = 5 [json_name = "plan_id"]; - void clear_plan_id() ; - ::int32_t plan_id() const; - void set_plan_id(::int32_t value); - - private: - ::int32_t _internal_plan_id() const; - void _internal_set_plan_id(::int32_t value); - - public: - // uint32 first_col_type = 7 [json_name = "firstColType"]; - void clear_first_col_type() ; - ::uint32_t first_col_type() const; - void set_first_col_type(::uint32_t value); - - private: - ::uint32_t _internal_first_col_type() const; - void _internal_set_first_col_type(::uint32_t value); - - public: - // int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; - void clear_first_col_typmod() ; - ::int32_t first_col_typmod() const; - void set_first_col_typmod(::int32_t value); - - private: - ::int32_t _internal_first_col_typmod() const; - void _internal_set_first_col_typmod(::int32_t value); - - public: - // uint32 first_col_collation = 9 [json_name = "firstColCollation"]; - void clear_first_col_collation() ; - ::uint32_t first_col_collation() const; - void set_first_col_collation(::uint32_t value); - - private: - ::uint32_t _internal_first_col_collation() const; - void _internal_set_first_col_collation(::uint32_t value); - - public: - // bool use_hash_table = 10 [json_name = "useHashTable"]; - void clear_use_hash_table() ; - bool use_hash_table() const; - void set_use_hash_table(bool value); - - private: - bool _internal_use_hash_table() const; - void _internal_set_use_hash_table(bool value); - - public: - // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; - void clear_unknown_eq_false() ; - bool unknown_eq_false() const; - void set_unknown_eq_false(bool value); + // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::SQLValueFunctionOp op() const; + void set_op(::pg_query::SQLValueFunctionOp value); private: - bool _internal_unknown_eq_false() const; - void _internal_set_unknown_eq_false(bool value); + ::pg_query::SQLValueFunctionOp _internal_op() const; + void _internal_set_op(::pg_query::SQLValueFunctionOp value); public: - // bool parallel_safe = 12 [json_name = "parallel_safe"]; - void clear_parallel_safe() ; - bool parallel_safe() const; - void set_parallel_safe(bool value); + // uint32 type = 3 [json_name = "type"]; + void clear_type() ; + ::uint32_t type() const; + void set_type(::uint32_t value); private: - bool _internal_parallel_safe() const; - void _internal_set_parallel_safe(bool value); + ::uint32_t _internal_type() const; + void _internal_set_type(::uint32_t value); public: - // double startup_cost = 16 [json_name = "startup_cost"]; - void clear_startup_cost() ; - double startup_cost() const; - void set_startup_cost(double value); + // int32 typmod = 4 [json_name = "typmod"]; + void clear_typmod() ; + ::int32_t typmod() const; + void set_typmod(::int32_t value); private: - double _internal_startup_cost() const; - void _internal_set_startup_cost(double value); + ::int32_t _internal_typmod() const; + void _internal_set_typmod(::int32_t value); public: - // double per_call_cost = 17 [json_name = "per_call_cost"]; - void clear_per_call_cost() ; - double per_call_cost() const; - void set_per_call_cost(double value); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - double _internal_per_call_cost() const; - void _internal_set_per_call_cost(double value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.SubPlan) + // @@protoc_insertion_point(class_scope:pg_query.SQLValueFunction) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 5, 17, 6, - 50, 2> + 3, 5, 1, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -65953,49 +67770,37 @@ class SubPlan final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > param_ids_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > set_param_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > par_param_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::google::protobuf::internal::ArenaStringPtr plan_name_; ::pg_query::Node* xpr_; - ::pg_query::Node* testexpr_; - int sub_link_type_; - ::int32_t plan_id_; - ::uint32_t first_col_type_; - ::int32_t first_col_typmod_; - ::uint32_t first_col_collation_; - bool use_hash_table_; - bool unknown_eq_false_; - bool parallel_safe_; - double startup_cost_; - double per_call_cost_; + int op_; + ::uint32_t type_; + ::int32_t typmod_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class SubscriptingRef final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubscriptingRef) */ { +class ScalarArrayOpExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScalarArrayOpExpr) */ { public: - inline SubscriptingRef() : SubscriptingRef(nullptr) {} - ~SubscriptingRef() override; + inline ScalarArrayOpExpr() : ScalarArrayOpExpr(nullptr) {} + ~ScalarArrayOpExpr() override; template - explicit PROTOBUF_CONSTEXPR SubscriptingRef(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ScalarArrayOpExpr(::google::protobuf::internal::ConstantInitialized); - inline SubscriptingRef(const SubscriptingRef& from) - : SubscriptingRef(nullptr, from) {} - SubscriptingRef(SubscriptingRef&& from) noexcept - : SubscriptingRef() { + inline ScalarArrayOpExpr(const ScalarArrayOpExpr& from) + : ScalarArrayOpExpr(nullptr, from) {} + ScalarArrayOpExpr(ScalarArrayOpExpr&& from) noexcept + : ScalarArrayOpExpr() { *this = ::std::move(from); } - inline SubscriptingRef& operator=(const SubscriptingRef& from) { + inline ScalarArrayOpExpr& operator=(const ScalarArrayOpExpr& from) { CopyFrom(from); return *this; } - inline SubscriptingRef& operator=(SubscriptingRef&& from) noexcept { + inline ScalarArrayOpExpr& operator=(ScalarArrayOpExpr&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -66027,20 +67832,20 @@ class SubscriptingRef final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubscriptingRef& default_instance() { + static const ScalarArrayOpExpr& default_instance() { return *internal_default_instance(); } - static inline const SubscriptingRef* internal_default_instance() { - return reinterpret_cast( - &_SubscriptingRef_default_instance_); + static inline const ScalarArrayOpExpr* internal_default_instance() { + return reinterpret_cast( + &_ScalarArrayOpExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 29; - friend void swap(SubscriptingRef& a, SubscriptingRef& b) { + friend void swap(ScalarArrayOpExpr& a, ScalarArrayOpExpr& b) { a.Swap(&b); } - inline void Swap(SubscriptingRef* other) { + inline void Swap(ScalarArrayOpExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -66053,7 +67858,7 @@ class SubscriptingRef final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubscriptingRef* other) { + void UnsafeArenaSwap(ScalarArrayOpExpr* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -66061,14 +67866,14 @@ class SubscriptingRef final : // implements Message ---------------------------------------------- - SubscriptingRef* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ScalarArrayOpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const SubscriptingRef& from); + void CopyFrom(const ScalarArrayOpExpr& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const SubscriptingRef& from) { - SubscriptingRef::MergeImpl(*this, from); + void MergeFrom( const ScalarArrayOpExpr& from) { + ScalarArrayOpExpr::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -66086,16 +67891,16 @@ class SubscriptingRef final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(SubscriptingRef* other); + void InternalSwap(ScalarArrayOpExpr* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.SubscriptingRef"; + return "pg_query.ScalarArrayOpExpr"; } protected: - explicit SubscriptingRef(::google::protobuf::Arena* arena); - SubscriptingRef(::google::protobuf::Arena* arena, const SubscriptingRef& from); + explicit ScalarArrayOpExpr(::google::protobuf::Arena* arena); + ScalarArrayOpExpr(::google::protobuf::Arena* arena, const ScalarArrayOpExpr& from); public: static const ClassData _class_data_; @@ -66108,53 +67913,31 @@ class SubscriptingRef final : // accessors ------------------------------------------------------- enum : int { - kRefupperindexprFieldNumber = 7, - kReflowerindexprFieldNumber = 8, + kArgsFieldNumber = 5, kXprFieldNumber = 1, - kRefexprFieldNumber = 9, - kRefassgnexprFieldNumber = 10, - kRefcontainertypeFieldNumber = 2, - kRefelemtypeFieldNumber = 3, - kRefrestypeFieldNumber = 4, - kReftypmodFieldNumber = 5, - kRefcollidFieldNumber = 6, + kOpnoFieldNumber = 2, + kUseOrFieldNumber = 3, + kInputcollidFieldNumber = 4, + kLocationFieldNumber = 6, }; - // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; - int refupperindexpr_size() const; - private: - int _internal_refupperindexpr_size() const; - - public: - void clear_refupperindexpr() ; - ::pg_query::Node* mutable_refupperindexpr(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_refupperindexpr(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_refupperindexpr() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_refupperindexpr(); - public: - const ::pg_query::Node& refupperindexpr(int index) const; - ::pg_query::Node* add_refupperindexpr(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - refupperindexpr() const; - // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; - int reflowerindexpr_size() const; + // repeated .pg_query.Node args = 5 [json_name = "args"]; + int args_size() const; private: - int _internal_reflowerindexpr_size() const; + int _internal_args_size() const; public: - void clear_reflowerindexpr() ; - ::pg_query::Node* mutable_reflowerindexpr(int index); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_reflowerindexpr(); + mutable_args(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_reflowerindexpr() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_reflowerindexpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& reflowerindexpr(int index) const; - ::pg_query::Node* add_reflowerindexpr(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - reflowerindexpr() const; + args() const; // .pg_query.Node xpr = 1 [json_name = "xpr"]; bool has_xpr() const; void clear_xpr() ; @@ -66170,94 +67953,285 @@ class SubscriptingRef final : ::pg_query::Node* _internal_mutable_xpr(); public: - // .pg_query.Node refexpr = 9 [json_name = "refexpr"]; - bool has_refexpr() const; - void clear_refexpr() ; - const ::pg_query::Node& refexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_refexpr(); - ::pg_query::Node* mutable_refexpr(); - void set_allocated_refexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_refexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_refexpr(); + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); private: - const ::pg_query::Node& _internal_refexpr() const; - ::pg_query::Node* _internal_mutable_refexpr(); + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); public: - // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; - bool has_refassgnexpr() const; - void clear_refassgnexpr() ; - const ::pg_query::Node& refassgnexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_refassgnexpr(); - ::pg_query::Node* mutable_refassgnexpr(); - void set_allocated_refassgnexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_refassgnexpr(); + // bool use_or = 3 [json_name = "useOr"]; + void clear_use_or() ; + bool use_or() const; + void set_use_or(bool value); private: - const ::pg_query::Node& _internal_refassgnexpr() const; - ::pg_query::Node* _internal_mutable_refassgnexpr(); + bool _internal_use_or() const; + void _internal_set_use_or(bool value); public: - // uint32 refcontainertype = 2 [json_name = "refcontainertype"]; - void clear_refcontainertype() ; - ::uint32_t refcontainertype() const; - void set_refcontainertype(::uint32_t value); + // uint32 inputcollid = 4 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); private: - ::uint32_t _internal_refcontainertype() const; - void _internal_set_refcontainertype(::uint32_t value); + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); public: - // uint32 refelemtype = 3 [json_name = "refelemtype"]; - void clear_refelemtype() ; - ::uint32_t refelemtype() const; - void set_refelemtype(::uint32_t value); + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - ::uint32_t _internal_refelemtype() const; - void _internal_set_refelemtype(::uint32_t value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // uint32 refrestype = 4 [json_name = "refrestype"]; - void clear_refrestype() ; - ::uint32_t refrestype() const; - void set_refrestype(::uint32_t value); + // @@protoc_insertion_point(class_scope:pg_query.ScalarArrayOpExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + bool use_or_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class SecLabelStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SecLabelStmt) */ { + public: + inline SecLabelStmt() : SecLabelStmt(nullptr) {} + ~SecLabelStmt() override; + template + explicit PROTOBUF_CONSTEXPR SecLabelStmt(::google::protobuf::internal::ConstantInitialized); + + inline SecLabelStmt(const SecLabelStmt& from) + : SecLabelStmt(nullptr, from) {} + SecLabelStmt(SecLabelStmt&& from) noexcept + : SecLabelStmt() { + *this = ::std::move(from); + } + + inline SecLabelStmt& operator=(const SecLabelStmt& from) { + CopyFrom(from); + return *this; + } + inline SecLabelStmt& operator=(SecLabelStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SecLabelStmt& default_instance() { + return *internal_default_instance(); + } + static inline const SecLabelStmt* internal_default_instance() { + return reinterpret_cast( + &_SecLabelStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 205; + + friend void swap(SecLabelStmt& a, SecLabelStmt& b) { + a.Swap(&b); + } + inline void Swap(SecLabelStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SecLabelStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + // implements Message ---------------------------------------------- + + SecLabelStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SecLabelStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SecLabelStmt& from) { + SecLabelStmt::MergeImpl(*this, from); + } private: - ::uint32_t _internal_refrestype() const; - void _internal_set_refrestype(::uint32_t value); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(SecLabelStmt* other); + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SecLabelStmt"; + } + protected: + explicit SecLabelStmt(::google::protobuf::Arena* arena); + SecLabelStmt(::google::protobuf::Arena* arena, const SecLabelStmt& from); public: - // int32 reftypmod = 5 [json_name = "reftypmod"]; - void clear_reftypmod() ; - ::int32_t reftypmod() const; - void set_reftypmod(::int32_t value); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kProviderFieldNumber = 3, + kLabelFieldNumber = 4, + kObjectFieldNumber = 2, + kObjtypeFieldNumber = 1, + }; + // string provider = 3 [json_name = "provider"]; + void clear_provider() ; + const std::string& provider() const; + template + void set_provider(Arg_&& arg, Args_... args); + std::string* mutable_provider(); + PROTOBUF_NODISCARD std::string* release_provider(); + void set_allocated_provider(std::string* value); private: - ::int32_t _internal_reftypmod() const; - void _internal_set_reftypmod(::int32_t value); + const std::string& _internal_provider() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider( + const std::string& value); + std::string* _internal_mutable_provider(); public: - // uint32 refcollid = 6 [json_name = "refcollid"]; - void clear_refcollid() ; - ::uint32_t refcollid() const; - void set_refcollid(::uint32_t value); + // string label = 4 [json_name = "label"]; + void clear_label() ; + const std::string& label() const; + template + void set_label(Arg_&& arg, Args_... args); + std::string* mutable_label(); + PROTOBUF_NODISCARD std::string* release_label(); + void set_allocated_label(std::string* value); private: - ::uint32_t _internal_refcollid() const; - void _internal_set_refcollid(::uint32_t value); + const std::string& _internal_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label( + const std::string& value); + std::string* _internal_mutable_label(); public: - // @@protoc_insertion_point(class_scope:pg_query.SubscriptingRef) + // .pg_query.Node object = 2 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); + + private: + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); + + public: + // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); + + private: + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SecLabelStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 10, 5, - 0, 2> + 2, 4, 1, + 43, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -66275,42 +68249,36 @@ class SubscriptingRef final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > refupperindexpr_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > reflowerindexpr_; - ::pg_query::Node* xpr_; - ::pg_query::Node* refexpr_; - ::pg_query::Node* refassgnexpr_; - ::uint32_t refcontainertype_; - ::uint32_t refelemtype_; - ::uint32_t refrestype_; - ::int32_t reftypmod_; - ::uint32_t refcollid_; + ::google::protobuf::internal::ArenaStringPtr provider_; + ::google::protobuf::internal::ArenaStringPtr label_; + ::pg_query::Node* object_; + int objtype_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TableFunc final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableFunc) */ { +class SelectStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SelectStmt) */ { public: - inline TableFunc() : TableFunc(nullptr) {} - ~TableFunc() override; + inline SelectStmt() : SelectStmt(nullptr) {} + ~SelectStmt() override; template - explicit PROTOBUF_CONSTEXPR TableFunc(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SelectStmt(::google::protobuf::internal::ConstantInitialized); - inline TableFunc(const TableFunc& from) - : TableFunc(nullptr, from) {} - TableFunc(TableFunc&& from) noexcept - : TableFunc() { + inline SelectStmt(const SelectStmt& from) + : SelectStmt(nullptr, from) {} + SelectStmt(SelectStmt&& from) noexcept + : SelectStmt() { *this = ::std::move(from); } - inline TableFunc& operator=(const TableFunc& from) { + inline SelectStmt& operator=(const SelectStmt& from) { CopyFrom(from); return *this; } - inline TableFunc& operator=(TableFunc&& from) noexcept { + inline SelectStmt& operator=(SelectStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -66342,20 +68310,20 @@ class TableFunc final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableFunc& default_instance() { + static const SelectStmt& default_instance() { return *internal_default_instance(); } - static inline const TableFunc* internal_default_instance() { - return reinterpret_cast( - &_TableFunc_default_instance_); + static inline const SelectStmt* internal_default_instance() { + return reinterpret_cast( + &_SelectStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 147; - friend void swap(TableFunc& a, TableFunc& b) { + friend void swap(SelectStmt& a, SelectStmt& b) { a.Swap(&b); } - inline void Swap(TableFunc* other) { + inline void Swap(SelectStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -66368,7 +68336,7 @@ class TableFunc final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableFunc* other) { + void UnsafeArenaSwap(SelectStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -66376,14 +68344,14 @@ class TableFunc final : // implements Message ---------------------------------------------- - TableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SelectStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TableFunc& from); + void CopyFrom(const SelectStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TableFunc& from) { - TableFunc::MergeImpl(*this, from); + void MergeFrom( const SelectStmt& from) { + SelectStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -66401,16 +68369,16 @@ class TableFunc final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TableFunc* other); + void InternalSwap(SelectStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TableFunc"; + return "pg_query.SelectStmt"; } protected: - explicit TableFunc(::google::protobuf::Arena* arena); - TableFunc(::google::protobuf::Arena* arena, const TableFunc& from); + explicit SelectStmt(::google::protobuf::Arena* arena); + SelectStmt(::google::protobuf::Arena* arena, const SelectStmt& from); public: static const ClassData _class_data_; @@ -66423,239 +68391,338 @@ class TableFunc final : // accessors ------------------------------------------------------- enum : int { - kNsUrisFieldNumber = 1, - kNsNamesFieldNumber = 2, - kColnamesFieldNumber = 5, - kColtypesFieldNumber = 6, - kColtypmodsFieldNumber = 7, - kColcollationsFieldNumber = 8, - kColexprsFieldNumber = 9, - kColdefexprsFieldNumber = 10, - kNotnullsFieldNumber = 11, - kDocexprFieldNumber = 3, - kRowexprFieldNumber = 4, - kOrdinalitycolFieldNumber = 12, - kLocationFieldNumber = 13, - }; - // repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"]; - int ns_uris_size() const; + kDistinctClauseFieldNumber = 1, + kTargetListFieldNumber = 3, + kFromClauseFieldNumber = 4, + kGroupClauseFieldNumber = 6, + kWindowClauseFieldNumber = 9, + kValuesListsFieldNumber = 10, + kSortClauseFieldNumber = 11, + kLockingClauseFieldNumber = 15, + kIntoClauseFieldNumber = 2, + kWhereClauseFieldNumber = 5, + kHavingClauseFieldNumber = 8, + kLimitOffsetFieldNumber = 12, + kLimitCountFieldNumber = 13, + kWithClauseFieldNumber = 16, + kLargFieldNumber = 19, + kRargFieldNumber = 20, + kGroupDistinctFieldNumber = 7, + kAllFieldNumber = 18, + kLimitOptionFieldNumber = 14, + kOpFieldNumber = 17, + }; + // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; + int distinct_clause_size() const; private: - int _internal_ns_uris_size() const; + int _internal_distinct_clause_size() const; public: - void clear_ns_uris() ; - ::pg_query::Node* mutable_ns_uris(int index); + void clear_distinct_clause() ; + ::pg_query::Node* mutable_distinct_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_ns_uris(); + mutable_distinct_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_uris() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_uris(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); public: - const ::pg_query::Node& ns_uris(int index) const; - ::pg_query::Node* add_ns_uris(); + const ::pg_query::Node& distinct_clause(int index) const; + ::pg_query::Node* add_distinct_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - ns_uris() const; - // repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"]; - int ns_names_size() const; + distinct_clause() const; + // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; + int target_list_size() const; private: - int _internal_ns_names_size() const; + int _internal_target_list_size() const; public: - void clear_ns_names() ; - ::pg_query::Node* mutable_ns_names(int index); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_ns_names(); + mutable_target_list(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_names() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_names(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - const ::pg_query::Node& ns_names(int index) const; - ::pg_query::Node* add_ns_names(); + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - ns_names() const; - // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; - int colnames_size() const; + target_list() const; + // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; + int from_clause_size() const; private: - int _internal_colnames_size() const; + int _internal_from_clause_size() const; public: - void clear_colnames() ; - ::pg_query::Node* mutable_colnames(int index); + void clear_from_clause() ; + ::pg_query::Node* mutable_from_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_colnames(); + mutable_from_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); public: - const ::pg_query::Node& colnames(int index) const; - ::pg_query::Node* add_colnames(); + const ::pg_query::Node& from_clause(int index) const; + ::pg_query::Node* add_from_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - colnames() const; - // repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"]; - int coltypes_size() const; + from_clause() const; + // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; + int group_clause_size() const; private: - int _internal_coltypes_size() const; + int _internal_group_clause_size() const; public: - void clear_coltypes() ; - ::pg_query::Node* mutable_coltypes(int index); + void clear_group_clause() ; + ::pg_query::Node* mutable_group_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypes(); + mutable_group_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); public: - const ::pg_query::Node& coltypes(int index) const; - ::pg_query::Node* add_coltypes(); + const ::pg_query::Node& group_clause(int index) const; + ::pg_query::Node* add_group_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coltypes() const; - // repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"]; - int coltypmods_size() const; + group_clause() const; + // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; + int window_clause_size() const; private: - int _internal_coltypmods_size() const; + int _internal_window_clause_size() const; public: - void clear_coltypmods() ; - ::pg_query::Node* mutable_coltypmods(int index); + void clear_window_clause() ; + ::pg_query::Node* mutable_window_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypmods(); + mutable_window_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); public: - const ::pg_query::Node& coltypmods(int index) const; - ::pg_query::Node* add_coltypmods(); + const ::pg_query::Node& window_clause(int index) const; + ::pg_query::Node* add_window_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coltypmods() const; - // repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"]; - int colcollations_size() const; + window_clause() const; + // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; + int values_lists_size() const; private: - int _internal_colcollations_size() const; + int _internal_values_lists_size() const; public: - void clear_colcollations() ; - ::pg_query::Node* mutable_colcollations(int index); + void clear_values_lists() ; + ::pg_query::Node* mutable_values_lists(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_colcollations(); + mutable_values_lists(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); public: - const ::pg_query::Node& colcollations(int index) const; - ::pg_query::Node* add_colcollations(); + const ::pg_query::Node& values_lists(int index) const; + ::pg_query::Node* add_values_lists(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - colcollations() const; - // repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"]; - int colexprs_size() const; + values_lists() const; + // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; + int sort_clause_size() const; private: - int _internal_colexprs_size() const; + int _internal_sort_clause_size() const; public: - void clear_colexprs() ; - ::pg_query::Node* mutable_colexprs(int index); + void clear_sort_clause() ; + ::pg_query::Node* mutable_sort_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_colexprs(); + mutable_sort_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colexprs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colexprs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); public: - const ::pg_query::Node& colexprs(int index) const; - ::pg_query::Node* add_colexprs(); + const ::pg_query::Node& sort_clause(int index) const; + ::pg_query::Node* add_sort_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - colexprs() const; - // repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"]; - int coldefexprs_size() const; + sort_clause() const; + // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; + int locking_clause_size() const; private: - int _internal_coldefexprs_size() const; + int _internal_locking_clause_size() const; public: - void clear_coldefexprs() ; - ::pg_query::Node* mutable_coldefexprs(int index); + void clear_locking_clause() ; + ::pg_query::Node* mutable_locking_clause(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_coldefexprs(); + mutable_locking_clause(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldefexprs() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldefexprs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locking_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locking_clause(); public: - const ::pg_query::Node& coldefexprs(int index) const; - ::pg_query::Node* add_coldefexprs(); + const ::pg_query::Node& locking_clause(int index) const; + ::pg_query::Node* add_locking_clause(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - coldefexprs() const; - // repeated uint64 notnulls = 11 [json_name = "notnulls"]; - int notnulls_size() const; + locking_clause() const; + // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; + bool has_into_clause() const; + void clear_into_clause() ; + const ::pg_query::IntoClause& into_clause() const; + PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); + ::pg_query::IntoClause* mutable_into_clause(); + void set_allocated_into_clause(::pg_query::IntoClause* value); + void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); + ::pg_query::IntoClause* unsafe_arena_release_into_clause(); + private: - int _internal_notnulls_size() const; + const ::pg_query::IntoClause& _internal_into_clause() const; + ::pg_query::IntoClause* _internal_mutable_into_clause(); public: - void clear_notnulls() ; - ::uint64_t notnulls(int index) const; - void set_notnulls(int index, ::uint64_t value); - void add_notnulls(::uint64_t value); - const ::google::protobuf::RepeatedField<::uint64_t>& notnulls() const; - ::google::protobuf::RepeatedField<::uint64_t>* mutable_notnulls(); + // .pg_query.Node where_clause = 5 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); private: - const ::google::protobuf::RepeatedField<::uint64_t>& _internal_notnulls() const; - ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_notnulls(); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); public: - // .pg_query.Node docexpr = 3 [json_name = "docexpr"]; - bool has_docexpr() const; - void clear_docexpr() ; - const ::pg_query::Node& docexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); - ::pg_query::Node* mutable_docexpr(); - void set_allocated_docexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_docexpr(); + // .pg_query.Node having_clause = 8 [json_name = "havingClause"]; + bool has_having_clause() const; + void clear_having_clause() ; + const ::pg_query::Node& having_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_having_clause(); + ::pg_query::Node* mutable_having_clause(); + void set_allocated_having_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_having_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_having_clause(); private: - const ::pg_query::Node& _internal_docexpr() const; - ::pg_query::Node* _internal_mutable_docexpr(); + const ::pg_query::Node& _internal_having_clause() const; + ::pg_query::Node* _internal_mutable_having_clause(); public: - // .pg_query.Node rowexpr = 4 [json_name = "rowexpr"]; - bool has_rowexpr() const; - void clear_rowexpr() ; - const ::pg_query::Node& rowexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); - ::pg_query::Node* mutable_rowexpr(); - void set_allocated_rowexpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_rowexpr(); + // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; + bool has_limit_offset() const; + void clear_limit_offset() ; + const ::pg_query::Node& limit_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); + ::pg_query::Node* mutable_limit_offset(); + void set_allocated_limit_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_offset(); private: - const ::pg_query::Node& _internal_rowexpr() const; - ::pg_query::Node* _internal_mutable_rowexpr(); + const ::pg_query::Node& _internal_limit_offset() const; + ::pg_query::Node* _internal_mutable_limit_offset(); public: - // int32 ordinalitycol = 12 [json_name = "ordinalitycol"]; - void clear_ordinalitycol() ; - ::int32_t ordinalitycol() const; - void set_ordinalitycol(::int32_t value); + // .pg_query.Node limit_count = 13 [json_name = "limitCount"]; + bool has_limit_count() const; + void clear_limit_count() ; + const ::pg_query::Node& limit_count() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); + ::pg_query::Node* mutable_limit_count(); + void set_allocated_limit_count(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_count(); private: - ::int32_t _internal_ordinalitycol() const; - void _internal_set_ordinalitycol(::int32_t value); + const ::pg_query::Node& _internal_limit_count() const; + ::pg_query::Node* _internal_mutable_limit_count(); public: - // int32 location = 13 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); public: - // @@protoc_insertion_point(class_scope:pg_query.TableFunc) + // .pg_query.SelectStmt larg = 19 [json_name = "larg"]; + bool has_larg() const; + void clear_larg() ; + const ::pg_query::SelectStmt& larg() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_larg(); + ::pg_query::SelectStmt* mutable_larg(); + void set_allocated_larg(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_larg(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_larg(); + + private: + const ::pg_query::SelectStmt& _internal_larg() const; + ::pg_query::SelectStmt* _internal_mutable_larg(); + + public: + // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; + bool has_rarg() const; + void clear_rarg() ; + const ::pg_query::SelectStmt& rarg() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_rarg(); + ::pg_query::SelectStmt* mutable_rarg(); + void set_allocated_rarg(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_rarg(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_rarg(); + + private: + const ::pg_query::SelectStmt& _internal_rarg() const; + ::pg_query::SelectStmt* _internal_mutable_rarg(); + + public: + // bool group_distinct = 7 [json_name = "groupDistinct"]; + void clear_group_distinct() ; + bool group_distinct() const; + void set_group_distinct(bool value); + + private: + bool _internal_group_distinct() const; + void _internal_set_group_distinct(bool value); + + public: + // bool all = 18 [json_name = "all"]; + void clear_all() ; + bool all() const; + void set_all(bool value); + + private: + bool _internal_all() const; + void _internal_set_all(bool value); + + public: + // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; + void clear_limit_option() ; + ::pg_query::LimitOption limit_option() const; + void set_limit_option(::pg_query::LimitOption value); + + private: + ::pg_query::LimitOption _internal_limit_option() const; + void _internal_set_limit_option(::pg_query::LimitOption value); + + public: + // .pg_query.SetOperation op = 17 [json_name = "op"]; + void clear_op() ; + ::pg_query::SetOperation op() const; + void set_op(::pg_query::SetOperation value); + + private: + ::pg_query::SetOperation _internal_op() const; + void _internal_set_op(::pg_query::SetOperation value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SelectStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 13, 10, + 5, 20, 16, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -66674,46 +68741,52 @@ class TableFunc final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_uris_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_names_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colexprs_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldefexprs_; - ::google::protobuf::RepeatedField<::uint64_t> notnulls_; - mutable ::google::protobuf::internal::CachedSize _notnulls_cached_byte_size_; - ::pg_query::Node* docexpr_; - ::pg_query::Node* rowexpr_; - ::int32_t ordinalitycol_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locking_clause_; + ::pg_query::IntoClause* into_clause_; + ::pg_query::Node* where_clause_; + ::pg_query::Node* having_clause_; + ::pg_query::Node* limit_offset_; + ::pg_query::Node* limit_count_; + ::pg_query::WithClause* with_clause_; + ::pg_query::SelectStmt* larg_; + ::pg_query::SelectStmt* rarg_; + bool group_distinct_; + bool all_; + int limit_option_; + int op_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TableLikeClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableLikeClause) */ { +class SetOperationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetOperationStmt) */ { public: - inline TableLikeClause() : TableLikeClause(nullptr) {} - ~TableLikeClause() override; + inline SetOperationStmt() : SetOperationStmt(nullptr) {} + ~SetOperationStmt() override; template - explicit PROTOBUF_CONSTEXPR TableLikeClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SetOperationStmt(::google::protobuf::internal::ConstantInitialized); - inline TableLikeClause(const TableLikeClause& from) - : TableLikeClause(nullptr, from) {} - TableLikeClause(TableLikeClause&& from) noexcept - : TableLikeClause() { + inline SetOperationStmt(const SetOperationStmt& from) + : SetOperationStmt(nullptr, from) {} + SetOperationStmt(SetOperationStmt&& from) noexcept + : SetOperationStmt() { *this = ::std::move(from); } - inline TableLikeClause& operator=(const TableLikeClause& from) { + inline SetOperationStmt& operator=(const SetOperationStmt& from) { CopyFrom(from); return *this; } - inline TableLikeClause& operator=(TableLikeClause&& from) noexcept { + inline SetOperationStmt& operator=(SetOperationStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -66745,20 +68818,20 @@ class TableLikeClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableLikeClause& default_instance() { + static const SetOperationStmt& default_instance() { return *internal_default_instance(); } - static inline const TableLikeClause* internal_default_instance() { - return reinterpret_cast( - &_TableLikeClause_default_instance_); + static inline const SetOperationStmt* internal_default_instance() { + return reinterpret_cast( + &_SetOperationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 90; + 148; - friend void swap(TableLikeClause& a, TableLikeClause& b) { + friend void swap(SetOperationStmt& a, SetOperationStmt& b) { a.Swap(&b); } - inline void Swap(TableLikeClause* other) { + inline void Swap(SetOperationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -66771,7 +68844,7 @@ class TableLikeClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableLikeClause* other) { + void UnsafeArenaSwap(SetOperationStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -66779,14 +68852,14 @@ class TableLikeClause final : // implements Message ---------------------------------------------- - TableLikeClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SetOperationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TableLikeClause& from); + void CopyFrom(const SetOperationStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TableLikeClause& from) { - TableLikeClause::MergeImpl(*this, from); + void MergeFrom( const SetOperationStmt& from) { + SetOperationStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -66804,16 +68877,16 @@ class TableLikeClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TableLikeClause* other); + void InternalSwap(SetOperationStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TableLikeClause"; + return "pg_query.SetOperationStmt"; } protected: - explicit TableLikeClause(::google::protobuf::Arena* arena); - TableLikeClause(::google::protobuf::Arena* arena, const TableLikeClause& from); + explicit SetOperationStmt(::google::protobuf::Arena* arena); + SetOperationStmt(::google::protobuf::Arena* arena, const SetOperationStmt& from); public: static const ClassData _class_data_; @@ -66826,52 +68899,144 @@ class TableLikeClause final : // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 1, - kOptionsFieldNumber = 2, - kRelationOidFieldNumber = 3, + kColTypesFieldNumber = 5, + kColTypmodsFieldNumber = 6, + kColCollationsFieldNumber = 7, + kGroupClausesFieldNumber = 8, + kLargFieldNumber = 3, + kRargFieldNumber = 4, + kOpFieldNumber = 1, + kAllFieldNumber = 2, }; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; + int col_types_size() const; + private: + int _internal_col_types_size() const; + public: + void clear_col_types() ; + ::pg_query::Node* mutable_col_types(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_types(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_types() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_types(); + public: + const ::pg_query::Node& col_types(int index) const; + ::pg_query::Node* add_col_types(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_types() const; + // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; + int col_typmods_size() const; + private: + int _internal_col_typmods_size() const; public: - // uint32 options = 2 [json_name = "options"]; - void clear_options() ; - ::uint32_t options() const; - void set_options(::uint32_t value); + void clear_col_typmods() ; + ::pg_query::Node* mutable_col_typmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_typmods(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_typmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_typmods(); + public: + const ::pg_query::Node& col_typmods(int index) const; + ::pg_query::Node* add_col_typmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_typmods() const; + // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; + int col_collations_size() const; + private: + int _internal_col_collations_size() const; + public: + void clear_col_collations() ; + ::pg_query::Node* mutable_col_collations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_collations(); private: - ::uint32_t _internal_options() const; - void _internal_set_options(::uint32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_collations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_collations(); + public: + const ::pg_query::Node& col_collations(int index) const; + ::pg_query::Node* add_col_collations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_collations() const; + // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; + int group_clauses_size() const; + private: + int _internal_group_clauses_size() const; public: - // uint32 relation_oid = 3 [json_name = "relationOid"]; - void clear_relation_oid() ; - ::uint32_t relation_oid() const; - void set_relation_oid(::uint32_t value); + void clear_group_clauses() ; + ::pg_query::Node* mutable_group_clauses(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_group_clauses(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clauses() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clauses(); + public: + const ::pg_query::Node& group_clauses(int index) const; + ::pg_query::Node* add_group_clauses(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + group_clauses() const; + // .pg_query.Node larg = 3 [json_name = "larg"]; + bool has_larg() const; + void clear_larg() ; + const ::pg_query::Node& larg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); + ::pg_query::Node* mutable_larg(); + void set_allocated_larg(::pg_query::Node* value); + void unsafe_arena_set_allocated_larg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_larg(); private: - ::uint32_t _internal_relation_oid() const; - void _internal_set_relation_oid(::uint32_t value); + const ::pg_query::Node& _internal_larg() const; + ::pg_query::Node* _internal_mutable_larg(); public: - // @@protoc_insertion_point(class_scope:pg_query.TableLikeClause) + // .pg_query.Node rarg = 4 [json_name = "rarg"]; + bool has_rarg() const; + void clear_rarg() ; + const ::pg_query::Node& rarg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); + ::pg_query::Node* mutable_rarg(); + void set_allocated_rarg(::pg_query::Node* value); + void unsafe_arena_set_allocated_rarg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rarg(); + + private: + const ::pg_query::Node& _internal_rarg() const; + ::pg_query::Node* _internal_mutable_rarg(); + + public: + // .pg_query.SetOperation op = 1 [json_name = "op"]; + void clear_op() ; + ::pg_query::SetOperation op() const; + void set_op(::pg_query::SetOperation value); + + private: + ::pg_query::SetOperation _internal_op() const; + void _internal_set_op(::pg_query::SetOperation value); + + public: + // bool all = 2 [json_name = "all"]; + void clear_all() ; + bool all() const; + void set_all(bool value); + + private: + bool _internal_all() const; + void _internal_set_all(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SetOperationStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 3, 8, 6, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -66890,35 +69055,40 @@ class TableLikeClause final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::RangeVar* relation_; - ::uint32_t options_; - ::uint32_t relation_oid_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_types_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_typmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_collations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clauses_; + ::pg_query::Node* larg_; + ::pg_query::Node* rarg_; + int op_; + bool all_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TableSampleClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableSampleClause) */ { +class SetToDefault final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetToDefault) */ { public: - inline TableSampleClause() : TableSampleClause(nullptr) {} - ~TableSampleClause() override; + inline SetToDefault() : SetToDefault(nullptr) {} + ~SetToDefault() override; template - explicit PROTOBUF_CONSTEXPR TableSampleClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SetToDefault(::google::protobuf::internal::ConstantInitialized); - inline TableSampleClause(const TableSampleClause& from) - : TableSampleClause(nullptr, from) {} - TableSampleClause(TableSampleClause&& from) noexcept - : TableSampleClause() { + inline SetToDefault(const SetToDefault& from) + : SetToDefault(nullptr, from) {} + SetToDefault(SetToDefault&& from) noexcept + : SetToDefault() { *this = ::std::move(from); } - inline TableSampleClause& operator=(const TableSampleClause& from) { + inline SetToDefault& operator=(const SetToDefault& from) { CopyFrom(from); return *this; } - inline TableSampleClause& operator=(TableSampleClause&& from) noexcept { + inline SetToDefault& operator=(SetToDefault&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -66950,20 +69120,20 @@ class TableSampleClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableSampleClause& default_instance() { + static const SetToDefault& default_instance() { return *internal_default_instance(); } - static inline const TableSampleClause* internal_default_instance() { - return reinterpret_cast( - &_TableSampleClause_default_instance_); + static inline const SetToDefault* internal_default_instance() { + return reinterpret_cast( + &_SetToDefault_default_instance_); } static constexpr int kIndexInFileMessages = - 103; + 66; - friend void swap(TableSampleClause& a, TableSampleClause& b) { + friend void swap(SetToDefault& a, SetToDefault& b) { a.Swap(&b); } - inline void Swap(TableSampleClause* other) { + inline void Swap(SetToDefault* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -66976,7 +69146,7 @@ class TableSampleClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableSampleClause* other) { + void UnsafeArenaSwap(SetToDefault* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -66984,14 +69154,14 @@ class TableSampleClause final : // implements Message ---------------------------------------------- - TableSampleClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SetToDefault* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TableSampleClause& from); + void CopyFrom(const SetToDefault& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TableSampleClause& from) { - TableSampleClause::MergeImpl(*this, from); + void MergeFrom( const SetToDefault& from) { + SetToDefault::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -67009,16 +69179,16 @@ class TableSampleClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TableSampleClause* other); + void InternalSwap(SetToDefault* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TableSampleClause"; + return "pg_query.SetToDefault"; } protected: - explicit TableSampleClause(::google::protobuf::Arena* arena); - TableSampleClause(::google::protobuf::Arena* arena, const TableSampleClause& from); + explicit SetToDefault(::google::protobuf::Arena* arena); + SetToDefault(::google::protobuf::Arena* arena, const SetToDefault& from); public: static const ClassData _class_data_; @@ -67031,60 +69201,74 @@ class TableSampleClause final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 2, - kRepeatableFieldNumber = 3, - kTsmhandlerFieldNumber = 1, + kXprFieldNumber = 1, + kTypeIdFieldNumber = 2, + kTypeModFieldNumber = 3, + kCollationFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - int _internal_args_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // uint32 type_id = 2 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); + public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node repeatable = 3 [json_name = "repeatable"]; - bool has_repeatable() const; - void clear_repeatable() ; - const ::pg_query::Node& repeatable() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); - ::pg_query::Node* mutable_repeatable(); - void set_allocated_repeatable(::pg_query::Node* value); - void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_repeatable(); + // int32 type_mod = 3 [json_name = "typeMod"]; + void clear_type_mod() ; + ::int32_t type_mod() const; + void set_type_mod(::int32_t value); private: - const ::pg_query::Node& _internal_repeatable() const; - ::pg_query::Node* _internal_mutable_repeatable(); + ::int32_t _internal_type_mod() const; + void _internal_set_type_mod(::int32_t value); public: - // uint32 tsmhandler = 1 [json_name = "tsmhandler"]; - void clear_tsmhandler() ; - ::uint32_t tsmhandler() const; - void set_tsmhandler(::uint32_t value); + // uint32 collation = 4 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); private: - ::uint32_t _internal_tsmhandler() const; - void _internal_set_tsmhandler(::uint32_t value); + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.TableSampleClause) + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SetToDefault) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, + 3, 5, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -67103,35 +69287,37 @@ class TableSampleClause final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* repeatable_; - ::uint32_t tsmhandler_; + ::pg_query::Node* xpr_; + ::uint32_t type_id_; + ::int32_t type_mod_; + ::uint32_t collation_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TargetEntry final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TargetEntry) */ { +class SortBy final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SortBy) */ { public: - inline TargetEntry() : TargetEntry(nullptr) {} - ~TargetEntry() override; + inline SortBy() : SortBy(nullptr) {} + ~SortBy() override; template - explicit PROTOBUF_CONSTEXPR TargetEntry(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SortBy(::google::protobuf::internal::ConstantInitialized); - inline TargetEntry(const TargetEntry& from) - : TargetEntry(nullptr, from) {} - TargetEntry(TargetEntry&& from) noexcept - : TargetEntry() { + inline SortBy(const SortBy& from) + : SortBy(nullptr, from) {} + SortBy(SortBy&& from) noexcept + : SortBy() { *this = ::std::move(from); } - inline TargetEntry& operator=(const TargetEntry& from) { + inline SortBy& operator=(const SortBy& from) { CopyFrom(from); return *this; } - inline TargetEntry& operator=(TargetEntry&& from) noexcept { + inline SortBy& operator=(SortBy&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -67163,20 +69349,20 @@ class TargetEntry final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TargetEntry& default_instance() { + static const SortBy& default_instance() { return *internal_default_instance(); } - static inline const TargetEntry* internal_default_instance() { - return reinterpret_cast( - &_TargetEntry_default_instance_); + static inline const SortBy* internal_default_instance() { + return reinterpret_cast( + &_SortBy_default_instance_); } static constexpr int kIndexInFileMessages = - 62; + 90; - friend void swap(TargetEntry& a, TargetEntry& b) { + friend void swap(SortBy& a, SortBy& b) { a.Swap(&b); } - inline void Swap(TargetEntry* other) { + inline void Swap(SortBy* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -67189,7 +69375,7 @@ class TargetEntry final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TargetEntry* other) { + void UnsafeArenaSwap(SortBy* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -67197,14 +69383,14 @@ class TargetEntry final : // implements Message ---------------------------------------------- - TargetEntry* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SortBy* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TargetEntry& from); + void CopyFrom(const SortBy& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TargetEntry& from) { - TargetEntry::MergeImpl(*this, from); + void MergeFrom( const SortBy& from) { + SortBy::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -67222,16 +69408,16 @@ class TargetEntry final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TargetEntry* other); + void InternalSwap(SortBy* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TargetEntry"; + return "pg_query.SortBy"; } protected: - explicit TargetEntry(::google::protobuf::Arena* arena); - TargetEntry(::google::protobuf::Arena* arena, const TargetEntry& from); + explicit SortBy(::google::protobuf::Arena* arena); + SortBy(::google::protobuf::Arena* arena, const SortBy& from); public: static const ClassData _class_data_; @@ -67244,119 +69430,83 @@ class TargetEntry final : // accessors ------------------------------------------------------- enum : int { - kResnameFieldNumber = 4, - kXprFieldNumber = 1, - kExprFieldNumber = 2, - kResnoFieldNumber = 3, - kRessortgrouprefFieldNumber = 5, - kResorigtblFieldNumber = 6, - kResorigcolFieldNumber = 7, - kResjunkFieldNumber = 8, + kUseOpFieldNumber = 4, + kNodeFieldNumber = 1, + kSortbyDirFieldNumber = 2, + kSortbyNullsFieldNumber = 3, + kLocationFieldNumber = 5, }; - // string resname = 4 [json_name = "resname"]; - void clear_resname() ; - const std::string& resname() const; - template - void set_resname(Arg_&& arg, Args_... args); - std::string* mutable_resname(); - PROTOBUF_NODISCARD std::string* release_resname(); - void set_allocated_resname(std::string* value); - - private: - const std::string& _internal_resname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_resname( - const std::string& value); - std::string* _internal_mutable_resname(); - - public: - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - void clear_expr() ; - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_expr(); - + // repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; + int use_op_size() const; private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + int _internal_use_op_size() const; public: - // int32 resno = 3 [json_name = "resno"]; - void clear_resno() ; - ::int32_t resno() const; - void set_resno(::int32_t value); - + void clear_use_op() ; + ::pg_query::Node* mutable_use_op(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_use_op(); private: - ::int32_t _internal_resno() const; - void _internal_set_resno(::int32_t value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_use_op() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_use_op(); public: - // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; - void clear_ressortgroupref() ; - ::uint32_t ressortgroupref() const; - void set_ressortgroupref(::uint32_t value); + const ::pg_query::Node& use_op(int index) const; + ::pg_query::Node* add_use_op(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + use_op() const; + // .pg_query.Node node = 1 [json_name = "node"]; + bool has_node() const; + void clear_node() ; + const ::pg_query::Node& node() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_node(); + ::pg_query::Node* mutable_node(); + void set_allocated_node(::pg_query::Node* value); + void unsafe_arena_set_allocated_node(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_node(); private: - ::uint32_t _internal_ressortgroupref() const; - void _internal_set_ressortgroupref(::uint32_t value); + const ::pg_query::Node& _internal_node() const; + ::pg_query::Node* _internal_mutable_node(); public: - // uint32 resorigtbl = 6 [json_name = "resorigtbl"]; - void clear_resorigtbl() ; - ::uint32_t resorigtbl() const; - void set_resorigtbl(::uint32_t value); + // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; + void clear_sortby_dir() ; + ::pg_query::SortByDir sortby_dir() const; + void set_sortby_dir(::pg_query::SortByDir value); private: - ::uint32_t _internal_resorigtbl() const; - void _internal_set_resorigtbl(::uint32_t value); + ::pg_query::SortByDir _internal_sortby_dir() const; + void _internal_set_sortby_dir(::pg_query::SortByDir value); public: - // int32 resorigcol = 7 [json_name = "resorigcol"]; - void clear_resorigcol() ; - ::int32_t resorigcol() const; - void set_resorigcol(::int32_t value); + // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; + void clear_sortby_nulls() ; + ::pg_query::SortByNulls sortby_nulls() const; + void set_sortby_nulls(::pg_query::SortByNulls value); private: - ::int32_t _internal_resorigcol() const; - void _internal_set_resorigcol(::int32_t value); + ::pg_query::SortByNulls _internal_sortby_nulls() const; + void _internal_set_sortby_nulls(::pg_query::SortByNulls value); public: - // bool resjunk = 8 [json_name = "resjunk"]; - void clear_resjunk() ; - bool resjunk() const; - void set_resjunk(bool value); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - bool _internal_resjunk() const; - void _internal_set_resjunk(bool value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.TargetEntry) + // @@protoc_insertion_point(class_scope:pg_query.SortBy) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 2, - 44, 2> + 3, 5, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -67374,40 +69524,37 @@ class TargetEntry final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr resname_; - ::pg_query::Node* xpr_; - ::pg_query::Node* expr_; - ::int32_t resno_; - ::uint32_t ressortgroupref_; - ::uint32_t resorigtbl_; - ::int32_t resorigcol_; - bool resjunk_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > use_op_; + ::pg_query::Node* node_; + int sortby_dir_; + int sortby_nulls_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TransactionStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TransactionStmt) */ { +class StatsElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.StatsElem) */ { public: - inline TransactionStmt() : TransactionStmt(nullptr) {} - ~TransactionStmt() override; + inline StatsElem() : StatsElem(nullptr) {} + ~StatsElem() override; template - explicit PROTOBUF_CONSTEXPR TransactionStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR StatsElem(::google::protobuf::internal::ConstantInitialized); - inline TransactionStmt(const TransactionStmt& from) - : TransactionStmt(nullptr, from) {} - TransactionStmt(TransactionStmt&& from) noexcept - : TransactionStmt() { + inline StatsElem(const StatsElem& from) + : StatsElem(nullptr, from) {} + StatsElem(StatsElem&& from) noexcept + : StatsElem() { *this = ::std::move(from); } - inline TransactionStmt& operator=(const TransactionStmt& from) { + inline StatsElem& operator=(const StatsElem& from) { CopyFrom(from); return *this; } - inline TransactionStmt& operator=(TransactionStmt&& from) noexcept { + inline StatsElem& operator=(StatsElem&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -67439,20 +69586,20 @@ class TransactionStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TransactionStmt& default_instance() { + static const StatsElem& default_instance() { return *internal_default_instance(); } - static inline const TransactionStmt* internal_default_instance() { - return reinterpret_cast( - &_TransactionStmt_default_instance_); + static inline const StatsElem* internal_default_instance() { + return reinterpret_cast( + &_StatsElem_default_instance_); } static constexpr int kIndexInFileMessages = - 214; + 211; - friend void swap(TransactionStmt& a, TransactionStmt& b) { + friend void swap(StatsElem& a, StatsElem& b) { a.Swap(&b); } - inline void Swap(TransactionStmt* other) { + inline void Swap(StatsElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -67465,7 +69612,7 @@ class TransactionStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TransactionStmt* other) { + void UnsafeArenaSwap(StatsElem* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -67473,14 +69620,14 @@ class TransactionStmt final : // implements Message ---------------------------------------------- - TransactionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + StatsElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TransactionStmt& from); + void CopyFrom(const StatsElem& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TransactionStmt& from) { - TransactionStmt::MergeImpl(*this, from); + void MergeFrom( const StatsElem& from) { + StatsElem::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -67498,16 +69645,16 @@ class TransactionStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TransactionStmt* other); + void InternalSwap(StatsElem* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TransactionStmt"; + return "pg_query.StatsElem"; } protected: - explicit TransactionStmt(::google::protobuf::Arena* arena); - TransactionStmt(::google::protobuf::Arena* arena, const TransactionStmt& from); + explicit StatsElem(::google::protobuf::Arena* arena); + StatsElem(::google::protobuf::Arena* arena, const StatsElem& from); public: static const ClassData _class_data_; @@ -67520,90 +69667,48 @@ class TransactionStmt final : // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kSavepointNameFieldNumber = 3, - kGidFieldNumber = 4, - kKindFieldNumber = 1, - kChainFieldNumber = 5, + kNameFieldNumber = 1, + kExprFieldNumber = 2, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - - public: - void clear_options() ; - ::pg_query::Node* mutable_options(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - options() const; - // string savepoint_name = 3 [json_name = "savepoint_name"]; - void clear_savepoint_name() ; - const std::string& savepoint_name() const; - template - void set_savepoint_name(Arg_&& arg, Args_... args); - std::string* mutable_savepoint_name(); - PROTOBUF_NODISCARD std::string* release_savepoint_name(); - void set_allocated_savepoint_name(std::string* value); - - private: - const std::string& _internal_savepoint_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_savepoint_name( - const std::string& value); - std::string* _internal_mutable_savepoint_name(); - - public: - // string gid = 4 [json_name = "gid"]; - void clear_gid() ; - const std::string& gid() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; template - void set_gid(Arg_&& arg, Args_... args); - std::string* mutable_gid(); - PROTOBUF_NODISCARD std::string* release_gid(); - void set_allocated_gid(std::string* value); + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const std::string& _internal_gid() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_gid( + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( const std::string& value); - std::string* _internal_mutable_gid(); - - public: - // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; - void clear_kind() ; - ::pg_query::TransactionStmtKind kind() const; - void set_kind(::pg_query::TransactionStmtKind value); - - private: - ::pg_query::TransactionStmtKind _internal_kind() const; - void _internal_set_kind(::pg_query::TransactionStmtKind value); + std::string* _internal_mutable_name(); public: - // bool chain = 5 [json_name = "chain"]; - void clear_chain() ; - bool chain() const; - void set_chain(bool value); + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); private: - bool _internal_chain() const; - void _internal_set_chain(bool value); + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); public: - // @@protoc_insertion_point(class_scope:pg_query.TransactionStmt) + // @@protoc_insertion_point(class_scope:pg_query.StatsElem) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 1, - 50, 2> + 1, 2, 1, + 31, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -67619,38 +69724,36 @@ class TransactionStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; - ::google::protobuf::internal::ArenaStringPtr savepoint_name_; - ::google::protobuf::internal::ArenaStringPtr gid_; - int kind_; - bool chain_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* expr_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TruncateStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TruncateStmt) */ { +class SubLink final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubLink) */ { public: - inline TruncateStmt() : TruncateStmt(nullptr) {} - ~TruncateStmt() override; + inline SubLink() : SubLink(nullptr) {} + ~SubLink() override; template - explicit PROTOBUF_CONSTEXPR TruncateStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SubLink(::google::protobuf::internal::ConstantInitialized); - inline TruncateStmt(const TruncateStmt& from) - : TruncateStmt(nullptr, from) {} - TruncateStmt(TruncateStmt&& from) noexcept - : TruncateStmt() { + inline SubLink(const SubLink& from) + : SubLink(nullptr, from) {} + SubLink(SubLink&& from) noexcept + : SubLink() { *this = ::std::move(from); } - inline TruncateStmt& operator=(const TruncateStmt& from) { + inline SubLink& operator=(const SubLink& from) { CopyFrom(from); return *this; } - inline TruncateStmt& operator=(TruncateStmt&& from) noexcept { + inline SubLink& operator=(SubLink&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -67682,20 +69785,20 @@ class TruncateStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TruncateStmt& default_instance() { + static const SubLink& default_instance() { return *internal_default_instance(); } - static inline const TruncateStmt* internal_default_instance() { - return reinterpret_cast( - &_TruncateStmt_default_instance_); + static inline const SubLink* internal_default_instance() { + return reinterpret_cast( + &_SubLink_default_instance_); } static constexpr int kIndexInFileMessages = - 187; + 31; - friend void swap(TruncateStmt& a, TruncateStmt& b) { + friend void swap(SubLink& a, SubLink& b) { a.Swap(&b); } - inline void Swap(TruncateStmt* other) { + inline void Swap(SubLink* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -67708,7 +69811,7 @@ class TruncateStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TruncateStmt* other) { + void UnsafeArenaSwap(SubLink* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -67716,14 +69819,14 @@ class TruncateStmt final : // implements Message ---------------------------------------------- - TruncateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubLink* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TruncateStmt& from); + void CopyFrom(const SubLink& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TruncateStmt& from) { - TruncateStmt::MergeImpl(*this, from); + void MergeFrom( const SubLink& from) { + SubLink::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -67741,16 +69844,16 @@ class TruncateStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TruncateStmt* other); + void InternalSwap(SubLink* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TruncateStmt"; + return "pg_query.SubLink"; } protected: - explicit TruncateStmt(::google::protobuf::Arena* arena); - TruncateStmt(::google::protobuf::Arena* arena, const TruncateStmt& from); + explicit SubLink(::google::protobuf::Arena* arena); + SubLink(::google::protobuf::Arena* arena, const SubLink& from); public: static const ClassData _class_data_; @@ -67763,55 +69866,114 @@ class TruncateStmt final : // accessors ------------------------------------------------------- enum : int { - kRelationsFieldNumber = 1, - kRestartSeqsFieldNumber = 2, - kBehaviorFieldNumber = 3, + kOperNameFieldNumber = 5, + kXprFieldNumber = 1, + kTestexprFieldNumber = 4, + kSubselectFieldNumber = 6, + kSubLinkTypeFieldNumber = 2, + kSubLinkIdFieldNumber = 3, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node relations = 1 [json_name = "relations"]; - int relations_size() const; + // repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; + int oper_name_size() const; private: - int _internal_relations_size() const; + int _internal_oper_name_size() const; public: - void clear_relations() ; - ::pg_query::Node* mutable_relations(int index); + void clear_oper_name() ; + ::pg_query::Node* mutable_oper_name(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_relations(); + mutable_oper_name(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_oper_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_oper_name(); public: - const ::pg_query::Node& relations(int index) const; - ::pg_query::Node* add_relations(); + const ::pg_query::Node& oper_name(int index) const; + ::pg_query::Node* add_oper_name(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - relations() const; - // bool restart_seqs = 2 [json_name = "restart_seqs"]; - void clear_restart_seqs() ; - bool restart_seqs() const; - void set_restart_seqs(bool value); + oper_name() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - bool _internal_restart_seqs() const; - void _internal_set_restart_seqs(bool value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; - void clear_behavior() ; - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); + // .pg_query.Node testexpr = 4 [json_name = "testexpr"]; + bool has_testexpr() const; + void clear_testexpr() ; + const ::pg_query::Node& testexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); + ::pg_query::Node* mutable_testexpr(); + void set_allocated_testexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_testexpr(); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + const ::pg_query::Node& _internal_testexpr() const; + ::pg_query::Node* _internal_mutable_testexpr(); public: - // @@protoc_insertion_point(class_scope:pg_query.TruncateStmt) + // .pg_query.Node subselect = 6 [json_name = "subselect"]; + bool has_subselect() const; + void clear_subselect() ; + const ::pg_query::Node& subselect() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_subselect(); + ::pg_query::Node* mutable_subselect(); + void set_allocated_subselect(::pg_query::Node* value); + void unsafe_arena_set_allocated_subselect(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_subselect(); + + private: + const ::pg_query::Node& _internal_subselect() const; + ::pg_query::Node* _internal_mutable_subselect(); + + public: + // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; + void clear_sub_link_type() ; + ::pg_query::SubLinkType sub_link_type() const; + void set_sub_link_type(::pg_query::SubLinkType value); + + private: + ::pg_query::SubLinkType _internal_sub_link_type() const; + void _internal_set_sub_link_type(::pg_query::SubLinkType value); + + public: + // int32 sub_link_id = 3 [json_name = "subLinkId"]; + void clear_sub_link_id() ; + ::int32_t sub_link_id() const; + void set_sub_link_id(::int32_t value); + + private: + ::int32_t _internal_sub_link_id() const; + void _internal_set_sub_link_id(::int32_t value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SubLink) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 3, 7, 4, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -67828,36 +69990,41 @@ class TruncateStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; - bool restart_seqs_; - int behavior_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > oper_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* testexpr_; + ::pg_query::Node* subselect_; + int sub_link_type_; + ::int32_t sub_link_id_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TypeCast final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeCast) */ { +class SubPlan final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubPlan) */ { public: - inline TypeCast() : TypeCast(nullptr) {} - ~TypeCast() override; + inline SubPlan() : SubPlan(nullptr) {} + ~SubPlan() override; template - explicit PROTOBUF_CONSTEXPR TypeCast(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SubPlan(::google::protobuf::internal::ConstantInitialized); - inline TypeCast(const TypeCast& from) - : TypeCast(nullptr, from) {} - TypeCast(TypeCast&& from) noexcept - : TypeCast() { + inline SubPlan(const SubPlan& from) + : SubPlan(nullptr, from) {} + SubPlan(SubPlan&& from) noexcept + : SubPlan() { *this = ::std::move(from); } - inline TypeCast& operator=(const TypeCast& from) { + inline SubPlan& operator=(const SubPlan& from) { CopyFrom(from); return *this; } - inline TypeCast& operator=(TypeCast&& from) noexcept { + inline SubPlan& operator=(SubPlan&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -67889,20 +70056,20 @@ class TypeCast final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TypeCast& default_instance() { + static const SubPlan& default_instance() { return *internal_default_instance(); } - static inline const TypeCast* internal_default_instance() { - return reinterpret_cast( - &_TypeCast_default_instance_); + static inline const SubPlan* internal_default_instance() { + return reinterpret_cast( + &_SubPlan_default_instance_); } static constexpr int kIndexInFileMessages = - 72; + 32; - friend void swap(TypeCast& a, TypeCast& b) { + friend void swap(SubPlan& a, SubPlan& b) { a.Swap(&b); } - inline void Swap(TypeCast* other) { + inline void Swap(SubPlan* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -67915,7 +70082,7 @@ class TypeCast final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TypeCast* other) { + void UnsafeArenaSwap(SubPlan* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -67923,14 +70090,14 @@ class TypeCast final : // implements Message ---------------------------------------------- - TypeCast* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubPlan* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TypeCast& from); + void CopyFrom(const SubPlan& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TypeCast& from) { - TypeCast::MergeImpl(*this, from); + void MergeFrom( const SubPlan& from) { + SubPlan::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -67948,16 +70115,16 @@ class TypeCast final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TypeCast* other); + void InternalSwap(SubPlan* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TypeCast"; + return "pg_query.SubPlan"; } protected: - explicit TypeCast(::google::protobuf::Arena* arena); - TypeCast(::google::protobuf::Arena* arena, const TypeCast& from); + explicit SubPlan(::google::protobuf::Arena* arena); + SubPlan(::google::protobuf::Arena* arena, const SubPlan& from); public: static const ClassData _class_data_; @@ -67970,58 +70137,250 @@ class TypeCast final : // accessors ------------------------------------------------------- enum : int { - kArgFieldNumber = 1, - kTypeNameFieldNumber = 2, - kLocationFieldNumber = 3, + kParamIdsFieldNumber = 4, + kSetParamFieldNumber = 13, + kParParamFieldNumber = 14, + kArgsFieldNumber = 15, + kPlanNameFieldNumber = 6, + kXprFieldNumber = 1, + kTestexprFieldNumber = 3, + kSubLinkTypeFieldNumber = 2, + kPlanIdFieldNumber = 5, + kFirstColTypeFieldNumber = 7, + kFirstColTypmodFieldNumber = 8, + kFirstColCollationFieldNumber = 9, + kUseHashTableFieldNumber = 10, + kUnknownEqFalseFieldNumber = 11, + kParallelSafeFieldNumber = 12, + kStartupCostFieldNumber = 16, + kPerCallCostFieldNumber = 17, }; - // .pg_query.Node arg = 1 [json_name = "arg"]; - bool has_arg() const; - void clear_arg() ; - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* value); - void unsafe_arena_set_allocated_arg(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_arg(); + // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; + int param_ids_size() const; + private: + int _internal_param_ids_size() const; + public: + void clear_param_ids() ; + ::pg_query::Node* mutable_param_ids(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_param_ids(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_param_ids() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_param_ids(); + public: + const ::pg_query::Node& param_ids(int index) const; + ::pg_query::Node* add_param_ids(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + param_ids() const; + // repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; + int set_param_size() const; + private: + int _internal_set_param_size() const; public: - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; - void clear_type_name() ; - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* value); - void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + void clear_set_param() ; + ::pg_query::Node* mutable_set_param(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_set_param(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_set_param() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_set_param(); + public: + const ::pg_query::Node& set_param(int index) const; + ::pg_query::Node* add_set_param(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + set_param() const; + // repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; + int par_param_size() const; + private: + int _internal_par_param_size() const; + public: + void clear_par_param() ; + ::pg_query::Node* mutable_par_param(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_par_param(); private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_par_param() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_par_param(); + public: + const ::pg_query::Node& par_param(int index) const; + ::pg_query::Node* add_par_param(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + par_param() const; + // repeated .pg_query.Node args = 15 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; public: - // int32 location = 3 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // string plan_name = 6 [json_name = "plan_name"]; + void clear_plan_name() ; + const std::string& plan_name() const; + template + void set_plan_name(Arg_&& arg, Args_... args); + std::string* mutable_plan_name(); + PROTOBUF_NODISCARD std::string* release_plan_name(); + void set_allocated_plan_name(std::string* value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const std::string& _internal_plan_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_plan_name( + const std::string& value); + std::string* _internal_mutable_plan_name(); public: - // @@protoc_insertion_point(class_scope:pg_query.TypeCast) + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node testexpr = 3 [json_name = "testexpr"]; + bool has_testexpr() const; + void clear_testexpr() ; + const ::pg_query::Node& testexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); + ::pg_query::Node* mutable_testexpr(); + void set_allocated_testexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_testexpr(); + + private: + const ::pg_query::Node& _internal_testexpr() const; + ::pg_query::Node* _internal_mutable_testexpr(); + + public: + // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; + void clear_sub_link_type() ; + ::pg_query::SubLinkType sub_link_type() const; + void set_sub_link_type(::pg_query::SubLinkType value); + + private: + ::pg_query::SubLinkType _internal_sub_link_type() const; + void _internal_set_sub_link_type(::pg_query::SubLinkType value); + + public: + // int32 plan_id = 5 [json_name = "plan_id"]; + void clear_plan_id() ; + ::int32_t plan_id() const; + void set_plan_id(::int32_t value); + + private: + ::int32_t _internal_plan_id() const; + void _internal_set_plan_id(::int32_t value); + + public: + // uint32 first_col_type = 7 [json_name = "firstColType"]; + void clear_first_col_type() ; + ::uint32_t first_col_type() const; + void set_first_col_type(::uint32_t value); + + private: + ::uint32_t _internal_first_col_type() const; + void _internal_set_first_col_type(::uint32_t value); + + public: + // int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; + void clear_first_col_typmod() ; + ::int32_t first_col_typmod() const; + void set_first_col_typmod(::int32_t value); + + private: + ::int32_t _internal_first_col_typmod() const; + void _internal_set_first_col_typmod(::int32_t value); + + public: + // uint32 first_col_collation = 9 [json_name = "firstColCollation"]; + void clear_first_col_collation() ; + ::uint32_t first_col_collation() const; + void set_first_col_collation(::uint32_t value); + + private: + ::uint32_t _internal_first_col_collation() const; + void _internal_set_first_col_collation(::uint32_t value); + + public: + // bool use_hash_table = 10 [json_name = "useHashTable"]; + void clear_use_hash_table() ; + bool use_hash_table() const; + void set_use_hash_table(bool value); + + private: + bool _internal_use_hash_table() const; + void _internal_set_use_hash_table(bool value); + + public: + // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; + void clear_unknown_eq_false() ; + bool unknown_eq_false() const; + void set_unknown_eq_false(bool value); + + private: + bool _internal_unknown_eq_false() const; + void _internal_set_unknown_eq_false(bool value); + + public: + // bool parallel_safe = 12 [json_name = "parallel_safe"]; + void clear_parallel_safe() ; + bool parallel_safe() const; + void set_parallel_safe(bool value); + + private: + bool _internal_parallel_safe() const; + void _internal_set_parallel_safe(bool value); + + public: + // double startup_cost = 16 [json_name = "startup_cost"]; + void clear_startup_cost() ; + double startup_cost() const; + void set_startup_cost(double value); + + private: + double _internal_startup_cost() const; + void _internal_set_startup_cost(double value); + + public: + // double per_call_cost = 17 [json_name = "per_call_cost"]; + void clear_per_call_cost() ; + double per_call_cost() const; + void set_per_call_cost(double value); + + private: + double _internal_per_call_cost() const; + void _internal_set_per_call_cost(double value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SubPlan) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, - 0, 2> + 5, 17, 6, + 50, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -68039,35 +70398,49 @@ class TypeCast final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* arg_; - ::pg_query::TypeName* type_name_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > param_ids_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > set_param_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > par_param_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::internal::ArenaStringPtr plan_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* testexpr_; + int sub_link_type_; + ::int32_t plan_id_; + ::uint32_t first_col_type_; + ::int32_t first_col_typmod_; + ::uint32_t first_col_collation_; + bool use_hash_table_; + bool unknown_eq_false_; + bool parallel_safe_; + double startup_cost_; + double per_call_cost_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class TypeName final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeName) */ { +class SubscriptingRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubscriptingRef) */ { public: - inline TypeName() : TypeName(nullptr) {} - ~TypeName() override; + inline SubscriptingRef() : SubscriptingRef(nullptr) {} + ~SubscriptingRef() override; template - explicit PROTOBUF_CONSTEXPR TypeName(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR SubscriptingRef(::google::protobuf::internal::ConstantInitialized); - inline TypeName(const TypeName& from) - : TypeName(nullptr, from) {} - TypeName(TypeName&& from) noexcept - : TypeName() { + inline SubscriptingRef(const SubscriptingRef& from) + : SubscriptingRef(nullptr, from) {} + SubscriptingRef(SubscriptingRef&& from) noexcept + : SubscriptingRef() { *this = ::std::move(from); } - inline TypeName& operator=(const TypeName& from) { + inline SubscriptingRef& operator=(const SubscriptingRef& from) { CopyFrom(from); return *this; } - inline TypeName& operator=(TypeName&& from) noexcept { + inline SubscriptingRef& operator=(SubscriptingRef&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -68099,20 +70472,20 @@ class TypeName final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TypeName& default_instance() { + static const SubscriptingRef& default_instance() { return *internal_default_instance(); } - static inline const TypeName* internal_default_instance() { - return reinterpret_cast( - &_TypeName_default_instance_); + static inline const SubscriptingRef* internal_default_instance() { + return reinterpret_cast( + &_SubscriptingRef_default_instance_); } static constexpr int kIndexInFileMessages = - 68; + 23; - friend void swap(TypeName& a, TypeName& b) { + friend void swap(SubscriptingRef& a, SubscriptingRef& b) { a.Swap(&b); } - inline void Swap(TypeName* other) { + inline void Swap(SubscriptingRef* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -68125,7 +70498,7 @@ class TypeName final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TypeName* other) { + void UnsafeArenaSwap(SubscriptingRef* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -68133,14 +70506,14 @@ class TypeName final : // implements Message ---------------------------------------------- - TypeName* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubscriptingRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const TypeName& from); + void CopyFrom(const SubscriptingRef& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const TypeName& from) { - TypeName::MergeImpl(*this, from); + void MergeFrom( const SubscriptingRef& from) { + SubscriptingRef::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -68158,16 +70531,16 @@ class TypeName final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(TypeName* other); + void InternalSwap(SubscriptingRef* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.TypeName"; + return "pg_query.SubscriptingRef"; } protected: - explicit TypeName(::google::protobuf::Arena* arena); - TypeName(::google::protobuf::Arena* arena, const TypeName& from); + explicit SubscriptingRef(::google::protobuf::Arena* arena); + SubscriptingRef(::google::protobuf::Arena* arena, const SubscriptingRef& from); public: static const ClassData _class_data_; @@ -68180,126 +70553,155 @@ class TypeName final : // accessors ------------------------------------------------------- enum : int { - kNamesFieldNumber = 1, - kTypmodsFieldNumber = 5, - kArrayBoundsFieldNumber = 7, - kTypeOidFieldNumber = 2, - kSetofFieldNumber = 3, - kPctTypeFieldNumber = 4, - kTypemodFieldNumber = 6, - kLocationFieldNumber = 8, + kRefupperindexprFieldNumber = 7, + kReflowerindexprFieldNumber = 8, + kXprFieldNumber = 1, + kRefexprFieldNumber = 9, + kRefassgnexprFieldNumber = 10, + kRefcontainertypeFieldNumber = 2, + kRefelemtypeFieldNumber = 3, + kRefrestypeFieldNumber = 4, + kReftypmodFieldNumber = 5, + kRefcollidFieldNumber = 6, }; - // repeated .pg_query.Node names = 1 [json_name = "names"]; - int names_size() const; + // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; + int refupperindexpr_size() const; private: - int _internal_names_size() const; + int _internal_refupperindexpr_size() const; public: - void clear_names() ; - ::pg_query::Node* mutable_names(int index); + void clear_refupperindexpr() ; + ::pg_query::Node* mutable_refupperindexpr(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_names(); + mutable_refupperindexpr(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_names() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_names(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_refupperindexpr() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_refupperindexpr(); public: - const ::pg_query::Node& names(int index) const; - ::pg_query::Node* add_names(); + const ::pg_query::Node& refupperindexpr(int index) const; + ::pg_query::Node* add_refupperindexpr(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - names() const; - // repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; - int typmods_size() const; + refupperindexpr() const; + // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; + int reflowerindexpr_size() const; private: - int _internal_typmods_size() const; + int _internal_reflowerindexpr_size() const; public: - void clear_typmods() ; - ::pg_query::Node* mutable_typmods(int index); + void clear_reflowerindexpr() ; + ::pg_query::Node* mutable_reflowerindexpr(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_typmods(); + mutable_reflowerindexpr(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_typmods() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_typmods(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_reflowerindexpr() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_reflowerindexpr(); public: - const ::pg_query::Node& typmods(int index) const; - ::pg_query::Node* add_typmods(); + const ::pg_query::Node& reflowerindexpr(int index) const; + ::pg_query::Node* add_reflowerindexpr(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - typmods() const; - // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; - int array_bounds_size() const; + reflowerindexpr() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - int _internal_array_bounds_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - void clear_array_bounds() ; - ::pg_query::Node* mutable_array_bounds(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_array_bounds(); + // .pg_query.Node refexpr = 9 [json_name = "refexpr"]; + bool has_refexpr() const; + void clear_refexpr() ; + const ::pg_query::Node& refexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_refexpr(); + ::pg_query::Node* mutable_refexpr(); + void set_allocated_refexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_refexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_refexpr(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_array_bounds() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_array_bounds(); + const ::pg_query::Node& _internal_refexpr() const; + ::pg_query::Node* _internal_mutable_refexpr(); + public: - const ::pg_query::Node& array_bounds(int index) const; - ::pg_query::Node* add_array_bounds(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - array_bounds() const; - // uint32 type_oid = 2 [json_name = "typeOid"]; - void clear_type_oid() ; - ::uint32_t type_oid() const; - void set_type_oid(::uint32_t value); + // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; + bool has_refassgnexpr() const; + void clear_refassgnexpr() ; + const ::pg_query::Node& refassgnexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_refassgnexpr(); + ::pg_query::Node* mutable_refassgnexpr(); + void set_allocated_refassgnexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_refassgnexpr(); private: - ::uint32_t _internal_type_oid() const; - void _internal_set_type_oid(::uint32_t value); + const ::pg_query::Node& _internal_refassgnexpr() const; + ::pg_query::Node* _internal_mutable_refassgnexpr(); public: - // bool setof = 3 [json_name = "setof"]; - void clear_setof() ; - bool setof() const; - void set_setof(bool value); + // uint32 refcontainertype = 2 [json_name = "refcontainertype"]; + void clear_refcontainertype() ; + ::uint32_t refcontainertype() const; + void set_refcontainertype(::uint32_t value); private: - bool _internal_setof() const; - void _internal_set_setof(bool value); + ::uint32_t _internal_refcontainertype() const; + void _internal_set_refcontainertype(::uint32_t value); public: - // bool pct_type = 4 [json_name = "pct_type"]; - void clear_pct_type() ; - bool pct_type() const; - void set_pct_type(bool value); + // uint32 refelemtype = 3 [json_name = "refelemtype"]; + void clear_refelemtype() ; + ::uint32_t refelemtype() const; + void set_refelemtype(::uint32_t value); private: - bool _internal_pct_type() const; - void _internal_set_pct_type(bool value); + ::uint32_t _internal_refelemtype() const; + void _internal_set_refelemtype(::uint32_t value); public: - // int32 typemod = 6 [json_name = "typemod"]; - void clear_typemod() ; - ::int32_t typemod() const; - void set_typemod(::int32_t value); + // uint32 refrestype = 4 [json_name = "refrestype"]; + void clear_refrestype() ; + ::uint32_t refrestype() const; + void set_refrestype(::uint32_t value); private: - ::int32_t _internal_typemod() const; - void _internal_set_typemod(::int32_t value); + ::uint32_t _internal_refrestype() const; + void _internal_set_refrestype(::uint32_t value); public: - // int32 location = 8 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // int32 reftypmod = 5 [json_name = "reftypmod"]; + void clear_reftypmod() ; + ::int32_t reftypmod() const; + void set_reftypmod(::int32_t value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + ::int32_t _internal_reftypmod() const; + void _internal_set_reftypmod(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.TypeName) + // uint32 refcollid = 6 [json_name = "refcollid"]; + void clear_refcollid() ; + ::uint32_t refcollid() const; + void set_refcollid(::uint32_t value); + + private: + ::uint32_t _internal_refcollid() const; + void _internal_set_refcollid(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SubscriptingRef) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 3, + 4, 10, 5, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -68316,41 +70718,44 @@ class TypeName final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > names_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > typmods_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > array_bounds_; - ::uint32_t type_oid_; - bool setof_; - bool pct_type_; - ::int32_t typemod_; - ::int32_t location_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > refupperindexpr_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > reflowerindexpr_; + ::pg_query::Node* xpr_; + ::pg_query::Node* refexpr_; + ::pg_query::Node* refassgnexpr_; + ::uint32_t refcontainertype_; + ::uint32_t refelemtype_; + ::uint32_t refrestype_; + ::int32_t reftypmod_; + ::uint32_t refcollid_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class UpdateStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.UpdateStmt) */ { +class TableFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableFunc) */ { public: - inline UpdateStmt() : UpdateStmt(nullptr) {} - ~UpdateStmt() override; + inline TableFunc() : TableFunc(nullptr) {} + ~TableFunc() override; template - explicit PROTOBUF_CONSTEXPR UpdateStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TableFunc(::google::protobuf::internal::ConstantInitialized); - inline UpdateStmt(const UpdateStmt& from) - : UpdateStmt(nullptr, from) {} - UpdateStmt(UpdateStmt&& from) noexcept - : UpdateStmt() { + inline TableFunc(const TableFunc& from) + : TableFunc(nullptr, from) {} + TableFunc(TableFunc&& from) noexcept + : TableFunc() { *this = ::std::move(from); } - inline UpdateStmt& operator=(const UpdateStmt& from) { + inline TableFunc& operator=(const TableFunc& from) { CopyFrom(from); return *this; } - inline UpdateStmt& operator=(UpdateStmt&& from) noexcept { + inline TableFunc& operator=(TableFunc&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -68382,20 +70787,20 @@ class UpdateStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const UpdateStmt& default_instance() { + static const TableFunc& default_instance() { return *internal_default_instance(); } - static inline const UpdateStmt* internal_default_instance() { - return reinterpret_cast( - &_UpdateStmt_default_instance_); + static inline const TableFunc* internal_default_instance() { + return reinterpret_cast( + &_TableFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 129; + 14; - friend void swap(UpdateStmt& a, UpdateStmt& b) { + friend void swap(TableFunc& a, TableFunc& b) { a.Swap(&b); } - inline void Swap(UpdateStmt* other) { + inline void Swap(TableFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -68408,7 +70813,7 @@ class UpdateStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(UpdateStmt* other) { + void UnsafeArenaSwap(TableFunc* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -68416,14 +70821,14 @@ class UpdateStmt final : // implements Message ---------------------------------------------- - UpdateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const UpdateStmt& from); + void CopyFrom(const TableFunc& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const UpdateStmt& from) { - UpdateStmt::MergeImpl(*this, from); + void MergeFrom( const TableFunc& from) { + TableFunc::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -68441,16 +70846,16 @@ class UpdateStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(UpdateStmt* other); + void InternalSwap(TableFunc* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.UpdateStmt"; + return "pg_query.TableFunc"; } protected: - explicit UpdateStmt(::google::protobuf::Arena* arena); - UpdateStmt(::google::protobuf::Arena* arena, const UpdateStmt& from); + explicit TableFunc(::google::protobuf::Arena* arena); + TableFunc(::google::protobuf::Arena* arena, const TableFunc& from); public: static const ClassData _class_data_; @@ -68463,119 +70868,304 @@ class UpdateStmt final : // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 2, - kFromClauseFieldNumber = 4, - kReturningListFieldNumber = 5, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 3, - kWithClauseFieldNumber = 6, - }; - // repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; - int target_list_size() const; + kNsUrisFieldNumber = 2, + kNsNamesFieldNumber = 3, + kColnamesFieldNumber = 6, + kColtypesFieldNumber = 7, + kColtypmodsFieldNumber = 8, + kColcollationsFieldNumber = 9, + kColexprsFieldNumber = 10, + kColdefexprsFieldNumber = 11, + kColvalexprsFieldNumber = 12, + kPassingvalexprsFieldNumber = 13, + kNotnullsFieldNumber = 14, + kDocexprFieldNumber = 4, + kRowexprFieldNumber = 5, + kPlanFieldNumber = 15, + kFunctypeFieldNumber = 1, + kOrdinalitycolFieldNumber = 16, + kLocationFieldNumber = 17, + }; + // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"]; + int ns_uris_size() const; private: - int _internal_target_list_size() const; + int _internal_ns_uris_size() const; public: - void clear_target_list() ; - ::pg_query::Node* mutable_target_list(int index); + void clear_ns_uris() ; + ::pg_query::Node* mutable_ns_uris(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + mutable_ns_uris(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_uris() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_uris(); public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); + const ::pg_query::Node& ns_uris(int index) const; + ::pg_query::Node* add_ns_uris(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; - int from_clause_size() const; + ns_uris() const; + // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"]; + int ns_names_size() const; private: - int _internal_from_clause_size() const; + int _internal_ns_names_size() const; public: - void clear_from_clause() ; - ::pg_query::Node* mutable_from_clause(int index); + void clear_ns_names() ; + ::pg_query::Node* mutable_ns_names(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_from_clause(); + mutable_ns_names(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_names(); public: - const ::pg_query::Node& from_clause(int index) const; - ::pg_query::Node* add_from_clause(); + const ::pg_query::Node& ns_names(int index) const; + ::pg_query::Node* add_ns_names(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - from_clause() const; - // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; - int returning_list_size() const; + ns_names() const; + // repeated .pg_query.Node colnames = 6 [json_name = "colnames"]; + int colnames_size() const; private: - int _internal_returning_list_size() const; + int _internal_colnames_size() const; public: - void clear_returning_list() ; - ::pg_query::Node* mutable_returning_list(int index); + void clear_colnames() ; + ::pg_query::Node* mutable_colnames(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); + mutable_colnames(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); + const ::pg_query::Node& colnames(int index) const; + ::pg_query::Node* add_colnames(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - void clear_relation() ; - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + colnames() const; + // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"]; + int coltypes_size() const; + private: + int _internal_coltypes_size() const; + public: + void clear_coltypes() ; + ::pg_query::Node* mutable_coltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypes(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); + public: + const ::pg_query::Node& coltypes(int index) const; + ::pg_query::Node* add_coltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypes() const; + // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"]; + int coltypmods_size() const; + private: + int _internal_coltypmods_size() const; public: - // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; - bool has_where_clause() const; - void clear_where_clause() ; - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* value); - void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_where_clause(); + void clear_coltypmods() ; + ::pg_query::Node* mutable_coltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypmods(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); + public: + const ::pg_query::Node& coltypmods(int index) const; + ::pg_query::Node* add_coltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypmods() const; + // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"]; + int colcollations_size() const; + private: + int _internal_colcollations_size() const; + public: + void clear_colcollations() ; + ::pg_query::Node* mutable_colcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colcollations(); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); + public: + const ::pg_query::Node& colcollations(int index) const; + ::pg_query::Node* add_colcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colcollations() const; + // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"]; + int colexprs_size() const; + private: + int _internal_colexprs_size() const; public: - // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; - bool has_with_clause() const; - void clear_with_clause() ; - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* value); - void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + void clear_colexprs() ; + ::pg_query::Node* mutable_colexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colexprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colexprs(); + public: + const ::pg_query::Node& colexprs(int index) const; + ::pg_query::Node* add_colexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colexprs() const; + // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"]; + int coldefexprs_size() const; + private: + int _internal_coldefexprs_size() const; + public: + void clear_coldefexprs() ; + ::pg_query::Node* mutable_coldefexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coldefexprs(); private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldefexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldefexprs(); + public: + const ::pg_query::Node& coldefexprs(int index) const; + ::pg_query::Node* add_coldefexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coldefexprs() const; + // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"]; + int colvalexprs_size() const; + private: + int _internal_colvalexprs_size() const; public: - // @@protoc_insertion_point(class_scope:pg_query.UpdateStmt) + void clear_colvalexprs() ; + ::pg_query::Node* mutable_colvalexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colvalexprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colvalexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colvalexprs(); + public: + const ::pg_query::Node& colvalexprs(int index) const; + ::pg_query::Node* add_colvalexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colvalexprs() const; + // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"]; + int passingvalexprs_size() const; + private: + int _internal_passingvalexprs_size() const; + + public: + void clear_passingvalexprs() ; + ::pg_query::Node* mutable_passingvalexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passingvalexprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passingvalexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passingvalexprs(); + public: + const ::pg_query::Node& passingvalexprs(int index) const; + ::pg_query::Node* add_passingvalexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passingvalexprs() const; + // repeated uint64 notnulls = 14 [json_name = "notnulls"]; + int notnulls_size() const; + private: + int _internal_notnulls_size() const; + + public: + void clear_notnulls() ; + ::uint64_t notnulls(int index) const; + void set_notnulls(int index, ::uint64_t value); + void add_notnulls(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& notnulls() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_notnulls(); + + private: + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_notnulls() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_notnulls(); + + public: + // .pg_query.Node docexpr = 4 [json_name = "docexpr"]; + bool has_docexpr() const; + void clear_docexpr() ; + const ::pg_query::Node& docexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); + ::pg_query::Node* mutable_docexpr(); + void set_allocated_docexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_docexpr(); + + private: + const ::pg_query::Node& _internal_docexpr() const; + ::pg_query::Node* _internal_mutable_docexpr(); + + public: + // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"]; + bool has_rowexpr() const; + void clear_rowexpr() ; + const ::pg_query::Node& rowexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); + ::pg_query::Node* mutable_rowexpr(); + void set_allocated_rowexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rowexpr(); + + private: + const ::pg_query::Node& _internal_rowexpr() const; + ::pg_query::Node* _internal_mutable_rowexpr(); + + public: + // .pg_query.Node plan = 15 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); + + private: + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); + + public: + // .pg_query.TableFuncType functype = 1 [json_name = "functype"]; + void clear_functype() ; + ::pg_query::TableFuncType functype() const; + void set_functype(::pg_query::TableFuncType value); + + private: + ::pg_query::TableFuncType _internal_functype() const; + void _internal_set_functype(::pg_query::TableFuncType value); + + public: + // int32 ordinalitycol = 16 [json_name = "ordinalitycol"]; + void clear_ordinalitycol() ; + ::int32_t ordinalitycol() const; + void set_ordinalitycol(::int32_t value); + + private: + ::int32_t _internal_ordinalitycol() const; + void _internal_set_ordinalitycol(::int32_t value); + + public: + // int32 location = 17 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TableFunc) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 6, + 5, 17, 13, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -68594,38 +71184,50 @@ class UpdateStmt final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - ::pg_query::WithClause* with_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_uris_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldefexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colvalexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passingvalexprs_; + ::google::protobuf::RepeatedField<::uint64_t> notnulls_; + mutable ::google::protobuf::internal::CachedSize _notnulls_cached_byte_size_; + ::pg_query::Node* docexpr_; + ::pg_query::Node* rowexpr_; + ::pg_query::Node* plan_; + int functype_; + ::int32_t ordinalitycol_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class VacuumRelation final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumRelation) */ { +class TableLikeClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableLikeClause) */ { public: - inline VacuumRelation() : VacuumRelation(nullptr) {} - ~VacuumRelation() override; + inline TableLikeClause() : TableLikeClause(nullptr) {} + ~TableLikeClause() override; template - explicit PROTOBUF_CONSTEXPR VacuumRelation(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TableLikeClause(::google::protobuf::internal::ConstantInitialized); - inline VacuumRelation(const VacuumRelation& from) - : VacuumRelation(nullptr, from) {} - VacuumRelation(VacuumRelation&& from) noexcept - : VacuumRelation() { + inline TableLikeClause(const TableLikeClause& from) + : TableLikeClause(nullptr, from) {} + TableLikeClause(TableLikeClause&& from) noexcept + : TableLikeClause() { *this = ::std::move(from); } - inline VacuumRelation& operator=(const VacuumRelation& from) { + inline TableLikeClause& operator=(const TableLikeClause& from) { CopyFrom(from); return *this; } - inline VacuumRelation& operator=(VacuumRelation&& from) noexcept { + inline TableLikeClause& operator=(TableLikeClause&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -68657,20 +71259,20 @@ class VacuumRelation final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VacuumRelation& default_instance() { + static const TableLikeClause& default_instance() { return *internal_default_instance(); } - static inline const VacuumRelation* internal_default_instance() { - return reinterpret_cast( - &_VacuumRelation_default_instance_); + static inline const TableLikeClause* internal_default_instance() { + return reinterpret_cast( + &_TableLikeClause_default_instance_); } static constexpr int kIndexInFileMessages = - 229; + 98; - friend void swap(VacuumRelation& a, VacuumRelation& b) { + friend void swap(TableLikeClause& a, TableLikeClause& b) { a.Swap(&b); } - inline void Swap(VacuumRelation* other) { + inline void Swap(TableLikeClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -68683,7 +71285,7 @@ class VacuumRelation final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VacuumRelation* other) { + void UnsafeArenaSwap(TableLikeClause* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -68691,14 +71293,14 @@ class VacuumRelation final : // implements Message ---------------------------------------------- - VacuumRelation* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableLikeClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const VacuumRelation& from); + void CopyFrom(const TableLikeClause& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const VacuumRelation& from) { - VacuumRelation::MergeImpl(*this, from); + void MergeFrom( const TableLikeClause& from) { + TableLikeClause::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -68716,16 +71318,16 @@ class VacuumRelation final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(VacuumRelation* other); + void InternalSwap(TableLikeClause* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.VacuumRelation"; + return "pg_query.TableLikeClause"; } protected: - explicit VacuumRelation(::google::protobuf::Arena* arena); - VacuumRelation(::google::protobuf::Arena* arena, const VacuumRelation& from); + explicit TableLikeClause(::google::protobuf::Arena* arena); + TableLikeClause(::google::protobuf::Arena* arena, const TableLikeClause& from); public: static const ClassData _class_data_; @@ -68738,28 +71340,10 @@ class VacuumRelation final : // accessors ------------------------------------------------------- enum : int { - kVaColsFieldNumber = 3, kRelationFieldNumber = 1, - kOidFieldNumber = 2, + kOptionsFieldNumber = 2, + kRelationOidFieldNumber = 3, }; - // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; - int va_cols_size() const; - private: - int _internal_va_cols_size() const; - - public: - void clear_va_cols() ; - ::pg_query::Node* mutable_va_cols(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_va_cols(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_va_cols() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_va_cols(); - public: - const ::pg_query::Node& va_cols(int index) const; - ::pg_query::Node* add_va_cols(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - va_cols() const; // .pg_query.RangeVar relation = 1 [json_name = "relation"]; bool has_relation() const; void clear_relation() ; @@ -68775,23 +71359,33 @@ class VacuumRelation final : ::pg_query::RangeVar* _internal_mutable_relation(); public: - // uint32 oid = 2 [json_name = "oid"]; - void clear_oid() ; - ::uint32_t oid() const; - void set_oid(::uint32_t value); + // uint32 options = 2 [json_name = "options"]; + void clear_options() ; + ::uint32_t options() const; + void set_options(::uint32_t value); private: - ::uint32_t _internal_oid() const; - void _internal_set_oid(::uint32_t value); + ::uint32_t _internal_options() const; + void _internal_set_options(::uint32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.VacuumRelation) + // uint32 relation_oid = 3 [json_name = "relationOid"]; + void clear_relation_oid() ; + ::uint32_t relation_oid() const; + void set_relation_oid(::uint32_t value); + + private: + ::uint32_t _internal_relation_oid() const; + void _internal_set_relation_oid(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TableLikeClause) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 2, + 2, 3, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -68810,35 +71404,35 @@ class VacuumRelation final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > va_cols_; ::pg_query::RangeVar* relation_; - ::uint32_t oid_; + ::uint32_t options_; + ::uint32_t relation_oid_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class VacuumStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumStmt) */ { +class TableSampleClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableSampleClause) */ { public: - inline VacuumStmt() : VacuumStmt(nullptr) {} - ~VacuumStmt() override; + inline TableSampleClause() : TableSampleClause(nullptr) {} + ~TableSampleClause() override; template - explicit PROTOBUF_CONSTEXPR VacuumStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TableSampleClause(::google::protobuf::internal::ConstantInitialized); - inline VacuumStmt(const VacuumStmt& from) - : VacuumStmt(nullptr, from) {} - VacuumStmt(VacuumStmt&& from) noexcept - : VacuumStmt() { + inline TableSampleClause(const TableSampleClause& from) + : TableSampleClause(nullptr, from) {} + TableSampleClause(TableSampleClause&& from) noexcept + : TableSampleClause() { *this = ::std::move(from); } - inline VacuumStmt& operator=(const VacuumStmt& from) { + inline TableSampleClause& operator=(const TableSampleClause& from) { CopyFrom(from); return *this; } - inline VacuumStmt& operator=(VacuumStmt&& from) noexcept { + inline TableSampleClause& operator=(TableSampleClause&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -68870,20 +71464,20 @@ class VacuumStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VacuumStmt& default_instance() { + static const TableSampleClause& default_instance() { return *internal_default_instance(); } - static inline const VacuumStmt* internal_default_instance() { - return reinterpret_cast( - &_VacuumStmt_default_instance_); + static inline const TableSampleClause* internal_default_instance() { + return reinterpret_cast( + &_TableSampleClause_default_instance_); } static constexpr int kIndexInFileMessages = - 228; + 112; - friend void swap(VacuumStmt& a, VacuumStmt& b) { + friend void swap(TableSampleClause& a, TableSampleClause& b) { a.Swap(&b); } - inline void Swap(VacuumStmt* other) { + inline void Swap(TableSampleClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -68896,7 +71490,7 @@ class VacuumStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VacuumStmt* other) { + void UnsafeArenaSwap(TableSampleClause* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -68904,14 +71498,14 @@ class VacuumStmt final : // implements Message ---------------------------------------------- - VacuumStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableSampleClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const VacuumStmt& from); + void CopyFrom(const TableSampleClause& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const VacuumStmt& from) { - VacuumStmt::MergeImpl(*this, from); + void MergeFrom( const TableSampleClause& from) { + TableSampleClause::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -68929,16 +71523,16 @@ class VacuumStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(VacuumStmt* other); + void InternalSwap(TableSampleClause* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.VacuumStmt"; + return "pg_query.TableSampleClause"; } protected: - explicit VacuumStmt(::google::protobuf::Arena* arena); - VacuumStmt(::google::protobuf::Arena* arena, const VacuumStmt& from); + explicit TableSampleClause(::google::protobuf::Arena* arena); + TableSampleClause(::google::protobuf::Arena* arena, const TableSampleClause& from); public: static const ClassData _class_data_; @@ -68951,57 +71545,54 @@ class VacuumStmt final : // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 1, - kRelsFieldNumber = 2, - kIsVacuumcmdFieldNumber = 3, + kArgsFieldNumber = 2, + kRepeatableFieldNumber = 3, + kTsmhandlerFieldNumber = 1, }; - // repeated .pg_query.Node options = 1 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; private: - int _internal_options_size() const; + int _internal_args_size() const; public: - void clear_options() ; - ::pg_query::Node* mutable_options(int index); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + mutable_args(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - options() const; - // repeated .pg_query.Node rels = 2 [json_name = "rels"]; - int rels_size() const; - private: - int _internal_rels_size() const; + args() const; + // .pg_query.Node repeatable = 3 [json_name = "repeatable"]; + bool has_repeatable() const; + void clear_repeatable() ; + const ::pg_query::Node& repeatable() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); + ::pg_query::Node* mutable_repeatable(); + void set_allocated_repeatable(::pg_query::Node* value); + void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_repeatable(); - public: - void clear_rels() ; - ::pg_query::Node* mutable_rels(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_rels(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rels() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rels(); + const ::pg_query::Node& _internal_repeatable() const; + ::pg_query::Node* _internal_mutable_repeatable(); + public: - const ::pg_query::Node& rels(int index) const; - ::pg_query::Node* add_rels(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - rels() const; - // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; - void clear_is_vacuumcmd() ; - bool is_vacuumcmd() const; - void set_is_vacuumcmd(bool value); + // uint32 tsmhandler = 1 [json_name = "tsmhandler"]; + void clear_tsmhandler() ; + ::uint32_t tsmhandler() const; + void set_tsmhandler(::uint32_t value); private: - bool _internal_is_vacuumcmd() const; - void _internal_set_is_vacuumcmd(bool value); + ::uint32_t _internal_tsmhandler() const; + void _internal_set_tsmhandler(::uint32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.VacuumStmt) + // @@protoc_insertion_point(class_scope:pg_query.TableSampleClause) private: class _Internal; @@ -69024,36 +71615,37 @@ class VacuumStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rels_; - bool is_vacuumcmd_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* repeatable_; + ::uint32_t tsmhandler_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class Var final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Var) */ { +class TargetEntry final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TargetEntry) */ { public: - inline Var() : Var(nullptr) {} - ~Var() override; + inline TargetEntry() : TargetEntry(nullptr) {} + ~TargetEntry() override; template - explicit PROTOBUF_CONSTEXPR Var(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TargetEntry(::google::protobuf::internal::ConstantInitialized); - inline Var(const Var& from) - : Var(nullptr, from) {} - Var(Var&& from) noexcept - : Var() { + inline TargetEntry(const TargetEntry& from) + : TargetEntry(nullptr, from) {} + TargetEntry(TargetEntry&& from) noexcept + : TargetEntry() { *this = ::std::move(from); } - inline Var& operator=(const Var& from) { + inline TargetEntry& operator=(const TargetEntry& from) { CopyFrom(from); return *this; } - inline Var& operator=(Var&& from) noexcept { + inline TargetEntry& operator=(TargetEntry&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -69085,20 +71677,20 @@ class Var final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Var& default_instance() { + static const TargetEntry& default_instance() { return *internal_default_instance(); } - static inline const Var* internal_default_instance() { - return reinterpret_cast( - &_Var_default_instance_); + static inline const TargetEntry* internal_default_instance() { + return reinterpret_cast( + &_TargetEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 70; - friend void swap(Var& a, Var& b) { + friend void swap(TargetEntry& a, TargetEntry& b) { a.Swap(&b); } - inline void Swap(Var* other) { + inline void Swap(TargetEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -69111,7 +71703,7 @@ class Var final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Var* other) { + void UnsafeArenaSwap(TargetEntry* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -69119,14 +71711,14 @@ class Var final : // implements Message ---------------------------------------------- - Var* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TargetEntry* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const Var& from); + void CopyFrom(const TargetEntry& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const Var& from) { - Var::MergeImpl(*this, from); + void MergeFrom( const TargetEntry& from) { + TargetEntry::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -69144,16 +71736,16 @@ class Var final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(Var* other); + void InternalSwap(TargetEntry* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.Var"; + return "pg_query.TargetEntry"; } protected: - explicit Var(::google::protobuf::Arena* arena); - Var(::google::protobuf::Arena* arena, const Var& from); + explicit TargetEntry(::google::protobuf::Arena* arena); + TargetEntry(::google::protobuf::Arena* arena, const TargetEntry& from); public: static const ClassData _class_data_; @@ -69166,32 +71758,29 @@ class Var final : // accessors ------------------------------------------------------- enum : int { - kVarnullingrelsFieldNumber = 7, + kResnameFieldNumber = 4, kXprFieldNumber = 1, - kVarnoFieldNumber = 2, - kVarattnoFieldNumber = 3, - kVartypeFieldNumber = 4, - kVartypmodFieldNumber = 5, - kVarcollidFieldNumber = 6, - kVarlevelsupFieldNumber = 8, - kLocationFieldNumber = 9, + kExprFieldNumber = 2, + kResnoFieldNumber = 3, + kRessortgrouprefFieldNumber = 5, + kResorigtblFieldNumber = 6, + kResorigcolFieldNumber = 7, + kResjunkFieldNumber = 8, }; - // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; - int varnullingrels_size() const; - private: - int _internal_varnullingrels_size() const; - - public: - void clear_varnullingrels() ; - ::uint64_t varnullingrels(int index) const; - void set_varnullingrels(int index, ::uint64_t value); - void add_varnullingrels(::uint64_t value); - const ::google::protobuf::RepeatedField<::uint64_t>& varnullingrels() const; - ::google::protobuf::RepeatedField<::uint64_t>* mutable_varnullingrels(); + // string resname = 4 [json_name = "resname"]; + void clear_resname() ; + const std::string& resname() const; + template + void set_resname(Arg_&& arg, Args_... args); + std::string* mutable_resname(); + PROTOBUF_NODISCARD std::string* release_resname(); + void set_allocated_resname(std::string* value); private: - const ::google::protobuf::RepeatedField<::uint64_t>& _internal_varnullingrels() const; - ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_varnullingrels(); + const std::string& _internal_resname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_resname( + const std::string& value); + std::string* _internal_mutable_resname(); public: // .pg_query.Node xpr = 1 [json_name = "xpr"]; @@ -69209,84 +71798,79 @@ class Var final : ::pg_query::Node* _internal_mutable_xpr(); public: - // int32 varno = 2 [json_name = "varno"]; - void clear_varno() ; - ::int32_t varno() const; - void set_varno(::int32_t value); - - private: - ::int32_t _internal_varno() const; - void _internal_set_varno(::int32_t value); - - public: - // int32 varattno = 3 [json_name = "varattno"]; - void clear_varattno() ; - ::int32_t varattno() const; - void set_varattno(::int32_t value); + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); private: - ::int32_t _internal_varattno() const; - void _internal_set_varattno(::int32_t value); + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); public: - // uint32 vartype = 4 [json_name = "vartype"]; - void clear_vartype() ; - ::uint32_t vartype() const; - void set_vartype(::uint32_t value); + // int32 resno = 3 [json_name = "resno"]; + void clear_resno() ; + ::int32_t resno() const; + void set_resno(::int32_t value); private: - ::uint32_t _internal_vartype() const; - void _internal_set_vartype(::uint32_t value); + ::int32_t _internal_resno() const; + void _internal_set_resno(::int32_t value); public: - // int32 vartypmod = 5 [json_name = "vartypmod"]; - void clear_vartypmod() ; - ::int32_t vartypmod() const; - void set_vartypmod(::int32_t value); + // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; + void clear_ressortgroupref() ; + ::uint32_t ressortgroupref() const; + void set_ressortgroupref(::uint32_t value); private: - ::int32_t _internal_vartypmod() const; - void _internal_set_vartypmod(::int32_t value); + ::uint32_t _internal_ressortgroupref() const; + void _internal_set_ressortgroupref(::uint32_t value); public: - // uint32 varcollid = 6 [json_name = "varcollid"]; - void clear_varcollid() ; - ::uint32_t varcollid() const; - void set_varcollid(::uint32_t value); + // uint32 resorigtbl = 6 [json_name = "resorigtbl"]; + void clear_resorigtbl() ; + ::uint32_t resorigtbl() const; + void set_resorigtbl(::uint32_t value); private: - ::uint32_t _internal_varcollid() const; - void _internal_set_varcollid(::uint32_t value); + ::uint32_t _internal_resorigtbl() const; + void _internal_set_resorigtbl(::uint32_t value); public: - // uint32 varlevelsup = 8 [json_name = "varlevelsup"]; - void clear_varlevelsup() ; - ::uint32_t varlevelsup() const; - void set_varlevelsup(::uint32_t value); + // int32 resorigcol = 7 [json_name = "resorigcol"]; + void clear_resorigcol() ; + ::int32_t resorigcol() const; + void set_resorigcol(::int32_t value); private: - ::uint32_t _internal_varlevelsup() const; - void _internal_set_varlevelsup(::uint32_t value); + ::int32_t _internal_resorigcol() const; + void _internal_set_resorigcol(::int32_t value); public: - // int32 location = 9 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // bool resjunk = 8 [json_name = "resjunk"]; + void clear_resjunk() ; + bool resjunk() const; + void set_resjunk(bool value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_resjunk() const; + void _internal_set_resjunk(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.Var) + // @@protoc_insertion_point(class_scope:pg_query.TargetEntry) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 9, 1, - 0, 2> + 3, 8, 2, + 44, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -69304,42 +71888,40 @@ class Var final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedField<::uint64_t> varnullingrels_; - mutable ::google::protobuf::internal::CachedSize _varnullingrels_cached_byte_size_; + ::google::protobuf::internal::ArenaStringPtr resname_; ::pg_query::Node* xpr_; - ::int32_t varno_; - ::int32_t varattno_; - ::uint32_t vartype_; - ::int32_t vartypmod_; - ::uint32_t varcollid_; - ::uint32_t varlevelsup_; - ::int32_t location_; + ::pg_query::Node* expr_; + ::int32_t resno_; + ::uint32_t ressortgroupref_; + ::uint32_t resorigtbl_; + ::int32_t resorigcol_; + bool resjunk_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class VariableSetStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableSetStmt) */ { +class TransactionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TransactionStmt) */ { public: - inline VariableSetStmt() : VariableSetStmt(nullptr) {} - ~VariableSetStmt() override; + inline TransactionStmt() : TransactionStmt(nullptr) {} + ~TransactionStmt() override; template - explicit PROTOBUF_CONSTEXPR VariableSetStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TransactionStmt(::google::protobuf::internal::ConstantInitialized); - inline VariableSetStmt(const VariableSetStmt& from) - : VariableSetStmt(nullptr, from) {} - VariableSetStmt(VariableSetStmt&& from) noexcept - : VariableSetStmt() { + inline TransactionStmt(const TransactionStmt& from) + : TransactionStmt(nullptr, from) {} + TransactionStmt(TransactionStmt&& from) noexcept + : TransactionStmt() { *this = ::std::move(from); } - inline VariableSetStmt& operator=(const VariableSetStmt& from) { + inline TransactionStmt& operator=(const TransactionStmt& from) { CopyFrom(from); return *this; } - inline VariableSetStmt& operator=(VariableSetStmt&& from) noexcept { + inline TransactionStmt& operator=(TransactionStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -69371,20 +71953,20 @@ class VariableSetStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VariableSetStmt& default_instance() { + static const TransactionStmt& default_instance() { return *internal_default_instance(); } - static inline const VariableSetStmt* internal_default_instance() { - return reinterpret_cast( - &_VariableSetStmt_default_instance_); + static inline const TransactionStmt* internal_default_instance() { + return reinterpret_cast( + &_TransactionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 147; + 230; - friend void swap(VariableSetStmt& a, VariableSetStmt& b) { + friend void swap(TransactionStmt& a, TransactionStmt& b) { a.Swap(&b); } - inline void Swap(VariableSetStmt* other) { + inline void Swap(TransactionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -69397,7 +71979,7 @@ class VariableSetStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VariableSetStmt* other) { + void UnsafeArenaSwap(TransactionStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -69405,14 +71987,14 @@ class VariableSetStmt final : // implements Message ---------------------------------------------- - VariableSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TransactionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const VariableSetStmt& from); + void CopyFrom(const TransactionStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const VariableSetStmt& from) { - VariableSetStmt::MergeImpl(*this, from); + void MergeFrom( const TransactionStmt& from) { + TransactionStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -69430,16 +72012,16 @@ class VariableSetStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(VariableSetStmt* other); + void InternalSwap(TransactionStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.VariableSetStmt"; + return "pg_query.TransactionStmt"; } protected: - explicit VariableSetStmt(::google::protobuf::Arena* arena); - VariableSetStmt(::google::protobuf::Arena* arena, const VariableSetStmt& from); + explicit TransactionStmt(::google::protobuf::Arena* arena); + TransactionStmt(::google::protobuf::Arena* arena, const TransactionStmt& from); public: static const ClassData _class_data_; @@ -69452,73 +72034,101 @@ class VariableSetStmt final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 3, - kNameFieldNumber = 2, + kOptionsFieldNumber = 2, + kSavepointNameFieldNumber = 3, + kGidFieldNumber = 4, kKindFieldNumber = 1, - kIsLocalFieldNumber = 4, + kChainFieldNumber = 5, + kLocationFieldNumber = 6, }; - // repeated .pg_query.Node args = 3 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - int _internal_args_size() const; + int _internal_options_size() const; public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + mutable_options(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // string name = 2 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; + options() const; + // string savepoint_name = 3 [json_name = "savepoint_name"]; + void clear_savepoint_name() ; + const std::string& savepoint_name() const; template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); + void set_savepoint_name(Arg_&& arg, Args_... args); + std::string* mutable_savepoint_name(); + PROTOBUF_NODISCARD std::string* release_savepoint_name(); + void set_allocated_savepoint_name(std::string* value); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& _internal_savepoint_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_savepoint_name( const std::string& value); - std::string* _internal_mutable_name(); + std::string* _internal_mutable_savepoint_name(); public: - // .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; + // string gid = 4 [json_name = "gid"]; + void clear_gid() ; + const std::string& gid() const; + template + void set_gid(Arg_&& arg, Args_... args); + std::string* mutable_gid(); + PROTOBUF_NODISCARD std::string* release_gid(); + void set_allocated_gid(std::string* value); + + private: + const std::string& _internal_gid() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_gid( + const std::string& value); + std::string* _internal_mutable_gid(); + + public: + // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; void clear_kind() ; - ::pg_query::VariableSetKind kind() const; - void set_kind(::pg_query::VariableSetKind value); + ::pg_query::TransactionStmtKind kind() const; + void set_kind(::pg_query::TransactionStmtKind value); private: - ::pg_query::VariableSetKind _internal_kind() const; - void _internal_set_kind(::pg_query::VariableSetKind value); + ::pg_query::TransactionStmtKind _internal_kind() const; + void _internal_set_kind(::pg_query::TransactionStmtKind value); public: - // bool is_local = 4 [json_name = "is_local"]; - void clear_is_local() ; - bool is_local() const; - void set_is_local(bool value); + // bool chain = 5 [json_name = "chain"]; + void clear_chain() ; + bool chain() const; + void set_chain(bool value); private: - bool _internal_is_local() const; - void _internal_set_is_local(bool value); + bool _internal_chain() const; + void _internal_set_chain(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.VariableSetStmt) + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TransactionStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 4, 1, - 37, 2> + 3, 6, 1, + 50, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -69534,10 +72144,12 @@ class VariableSetStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr savepoint_name_; + ::google::protobuf::internal::ArenaStringPtr gid_; int kind_; - bool is_local_; + bool chain_; + ::int32_t location_; mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -69545,26 +72157,26 @@ class VariableSetStmt final : friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ViewStmt final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ViewStmt) */ { +class TruncateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TruncateStmt) */ { public: - inline ViewStmt() : ViewStmt(nullptr) {} - ~ViewStmt() override; + inline TruncateStmt() : TruncateStmt(nullptr) {} + ~TruncateStmt() override; template - explicit PROTOBUF_CONSTEXPR ViewStmt(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TruncateStmt(::google::protobuf::internal::ConstantInitialized); - inline ViewStmt(const ViewStmt& from) - : ViewStmt(nullptr, from) {} - ViewStmt(ViewStmt&& from) noexcept - : ViewStmt() { + inline TruncateStmt(const TruncateStmt& from) + : TruncateStmt(nullptr, from) {} + TruncateStmt(TruncateStmt&& from) noexcept + : TruncateStmt() { *this = ::std::move(from); } - inline ViewStmt& operator=(const ViewStmt& from) { + inline TruncateStmt& operator=(const TruncateStmt& from) { CopyFrom(from); return *this; } - inline ViewStmt& operator=(ViewStmt&& from) noexcept { + inline TruncateStmt& operator=(TruncateStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -69596,20 +72208,20 @@ class ViewStmt final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ViewStmt& default_instance() { + static const TruncateStmt& default_instance() { return *internal_default_instance(); } - static inline const ViewStmt* internal_default_instance() { - return reinterpret_cast( - &_ViewStmt_default_instance_); + static inline const TruncateStmt* internal_default_instance() { + return reinterpret_cast( + &_TruncateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 219; + 203; - friend void swap(ViewStmt& a, ViewStmt& b) { + friend void swap(TruncateStmt& a, TruncateStmt& b) { a.Swap(&b); } - inline void Swap(ViewStmt* other) { + inline void Swap(TruncateStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -69622,7 +72234,7 @@ class ViewStmt final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ViewStmt* other) { + void UnsafeArenaSwap(TruncateStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -69630,14 +72242,14 @@ class ViewStmt final : // implements Message ---------------------------------------------- - ViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TruncateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ViewStmt& from); + void CopyFrom(const TruncateStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ViewStmt& from) { - ViewStmt::MergeImpl(*this, from); + void MergeFrom( const TruncateStmt& from) { + TruncateStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -69655,16 +72267,16 @@ class ViewStmt final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(ViewStmt* other); + void InternalSwap(TruncateStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.ViewStmt"; + return "pg_query.TruncateStmt"; } protected: - explicit ViewStmt(::google::protobuf::Arena* arena); - ViewStmt(::google::protobuf::Arena* arena, const ViewStmt& from); + explicit TruncateStmt(::google::protobuf::Arena* arena); + TruncateStmt(::google::protobuf::Arena* arena, const TruncateStmt& from); public: static const ClassData _class_data_; @@ -69677,106 +72289,55 @@ class ViewStmt final : // accessors ------------------------------------------------------- enum : int { - kAliasesFieldNumber = 2, - kOptionsFieldNumber = 5, - kViewFieldNumber = 1, - kQueryFieldNumber = 3, - kReplaceFieldNumber = 4, - kWithCheckOptionFieldNumber = 6, + kRelationsFieldNumber = 1, + kRestartSeqsFieldNumber = 2, + kBehaviorFieldNumber = 3, }; - // repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; - int aliases_size() const; - private: - int _internal_aliases_size() const; - - public: - void clear_aliases() ; - ::pg_query::Node* mutable_aliases(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_aliases(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aliases() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aliases(); - public: - const ::pg_query::Node& aliases(int index) const; - ::pg_query::Node* add_aliases(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - aliases() const; - // repeated .pg_query.Node options = 5 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node relations = 1 [json_name = "relations"]; + int relations_size() const; private: - int _internal_options_size() const; + int _internal_relations_size() const; public: - void clear_options() ; - ::pg_query::Node* mutable_options(int index); + void clear_relations() ; + ::pg_query::Node* mutable_relations(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + mutable_relations(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); + const ::pg_query::Node& relations(int index) const; + ::pg_query::Node* add_relations(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - options() const; - // .pg_query.RangeVar view = 1 [json_name = "view"]; - bool has_view() const; - void clear_view() ; - const ::pg_query::RangeVar& view() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_view(); - ::pg_query::RangeVar* mutable_view(); - void set_allocated_view(::pg_query::RangeVar* value); - void unsafe_arena_set_allocated_view(::pg_query::RangeVar* value); - ::pg_query::RangeVar* unsafe_arena_release_view(); - - private: - const ::pg_query::RangeVar& _internal_view() const; - ::pg_query::RangeVar* _internal_mutable_view(); - - public: - // .pg_query.Node query = 3 [json_name = "query"]; - bool has_query() const; - void clear_query() ; - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* value); - void unsafe_arena_set_allocated_query(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_query(); - - private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); - - public: - // bool replace = 4 [json_name = "replace"]; - void clear_replace() ; - bool replace() const; - void set_replace(bool value); + relations() const; + // bool restart_seqs = 2 [json_name = "restart_seqs"]; + void clear_restart_seqs() ; + bool restart_seqs() const; + void set_restart_seqs(bool value); private: - bool _internal_replace() const; - void _internal_set_replace(bool value); + bool _internal_restart_seqs() const; + void _internal_set_restart_seqs(bool value); public: - // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; - void clear_with_check_option() ; - ::pg_query::ViewCheckOption with_check_option() const; - void set_with_check_option(::pg_query::ViewCheckOption value); + // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::ViewCheckOption _internal_with_check_option() const; - void _internal_set_with_check_option(::pg_query::ViewCheckOption value); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); public: - // @@protoc_insertion_point(class_scope:pg_query.ViewStmt) + // @@protoc_insertion_point(class_scope:pg_query.TruncateStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 4, + 2, 3, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -69793,40 +72354,36 @@ class ViewStmt final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; + bool restart_seqs_; + int behavior_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aliases_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::RangeVar* view_; - ::pg_query::Node* query_; - bool replace_; - int with_check_option_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class WindowClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowClause) */ { +class TypeCast final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeCast) */ { public: - inline WindowClause() : WindowClause(nullptr) {} - ~WindowClause() override; + inline TypeCast() : TypeCast(nullptr) {} + ~TypeCast() override; template - explicit PROTOBUF_CONSTEXPR WindowClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TypeCast(::google::protobuf::internal::ConstantInitialized); - inline WindowClause(const WindowClause& from) - : WindowClause(nullptr, from) {} - WindowClause(WindowClause&& from) noexcept - : WindowClause() { + inline TypeCast(const TypeCast& from) + : TypeCast(nullptr, from) {} + TypeCast(TypeCast&& from) noexcept + : TypeCast() { *this = ::std::move(from); } - inline WindowClause& operator=(const WindowClause& from) { + inline TypeCast& operator=(const TypeCast& from) { CopyFrom(from); return *this; } - inline WindowClause& operator=(WindowClause&& from) noexcept { + inline TypeCast& operator=(TypeCast&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -69858,20 +72415,20 @@ class WindowClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowClause& default_instance() { + static const TypeCast& default_instance() { return *internal_default_instance(); } - static inline const WindowClause* internal_default_instance() { - return reinterpret_cast( - &_WindowClause_default_instance_); + static inline const TypeCast* internal_default_instance() { + return reinterpret_cast( + &_TypeCast_default_instance_); } static constexpr int kIndexInFileMessages = - 107; + 80; - friend void swap(WindowClause& a, WindowClause& b) { + friend void swap(TypeCast& a, TypeCast& b) { a.Swap(&b); } - inline void Swap(WindowClause* other) { + inline void Swap(TypeCast* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -69884,7 +72441,7 @@ class WindowClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowClause* other) { + void UnsafeArenaSwap(TypeCast* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -69892,14 +72449,14 @@ class WindowClause final : // implements Message ---------------------------------------------- - WindowClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TypeCast* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WindowClause& from); + void CopyFrom(const TypeCast& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WindowClause& from) { - WindowClause::MergeImpl(*this, from); + void MergeFrom( const TypeCast& from) { + TypeCast::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -69917,16 +72474,16 @@ class WindowClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WindowClause* other); + void InternalSwap(TypeCast* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.WindowClause"; + return "pg_query.TypeCast"; } protected: - explicit WindowClause(::google::protobuf::Arena* arena); - WindowClause(::google::protobuf::Arena* arena, const WindowClause& from); + explicit TypeCast(::google::protobuf::Arena* arena); + TypeCast(::google::protobuf::Arena* arena, const TypeCast& from); public: static const ClassData _class_data_; @@ -69939,226 +72496,58 @@ class WindowClause final : // accessors ------------------------------------------------------- enum : int { - kPartitionClauseFieldNumber = 3, - kOrderClauseFieldNumber = 4, - kRunConditionFieldNumber = 8, - kNameFieldNumber = 1, - kRefnameFieldNumber = 2, - kStartOffsetFieldNumber = 6, - kEndOffsetFieldNumber = 7, - kFrameOptionsFieldNumber = 5, - kStartInRangeFuncFieldNumber = 9, - kEndInRangeFuncFieldNumber = 10, - kInRangeCollFieldNumber = 11, - kInRangeAscFieldNumber = 12, - kInRangeNullsFirstFieldNumber = 13, - kCopiedOrderFieldNumber = 15, - kWinrefFieldNumber = 14, + kArgFieldNumber = 1, + kTypeNameFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; - int partition_clause_size() const; - private: - int _internal_partition_clause_size() const; - - public: - void clear_partition_clause() ; - ::pg_query::Node* mutable_partition_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_partition_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); - public: - const ::pg_query::Node& partition_clause(int index) const; - ::pg_query::Node* add_partition_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - partition_clause() const; - // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; - int order_clause_size() const; - private: - int _internal_order_clause_size() const; - - public: - void clear_order_clause() ; - ::pg_query::Node* mutable_order_clause(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_order_clause(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); - public: - const ::pg_query::Node& order_clause(int index) const; - ::pg_query::Node* add_order_clause(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - order_clause() const; - // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; - int run_condition_size() const; - private: - int _internal_run_condition_size() const; - - public: - void clear_run_condition() ; - ::pg_query::Node* mutable_run_condition(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_run_condition(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_run_condition() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_run_condition(); - public: - const ::pg_query::Node& run_condition(int index) const; - ::pg_query::Node* add_run_condition(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - run_condition() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); - - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); - - public: - // string refname = 2 [json_name = "refname"]; - void clear_refname() ; - const std::string& refname() const; - template - void set_refname(Arg_&& arg, Args_... args); - std::string* mutable_refname(); - PROTOBUF_NODISCARD std::string* release_refname(); - void set_allocated_refname(std::string* value); - - private: - const std::string& _internal_refname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( - const std::string& value); - std::string* _internal_mutable_refname(); - - public: - // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; - bool has_start_offset() const; - void clear_start_offset() ; - const ::pg_query::Node& start_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); - ::pg_query::Node* mutable_start_offset(); - void set_allocated_start_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_start_offset(); - - private: - const ::pg_query::Node& _internal_start_offset() const; - ::pg_query::Node* _internal_mutable_start_offset(); - - public: - // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; - bool has_end_offset() const; - void clear_end_offset() ; - const ::pg_query::Node& end_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); - ::pg_query::Node* mutable_end_offset(); - void set_allocated_end_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_end_offset(); - - private: - const ::pg_query::Node& _internal_end_offset() const; - ::pg_query::Node* _internal_mutable_end_offset(); - - public: - // int32 frame_options = 5 [json_name = "frameOptions"]; - void clear_frame_options() ; - ::int32_t frame_options() const; - void set_frame_options(::int32_t value); - - private: - ::int32_t _internal_frame_options() const; - void _internal_set_frame_options(::int32_t value); - - public: - // uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"]; - void clear_start_in_range_func() ; - ::uint32_t start_in_range_func() const; - void set_start_in_range_func(::uint32_t value); - - private: - ::uint32_t _internal_start_in_range_func() const; - void _internal_set_start_in_range_func(::uint32_t value); - - public: - // uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"]; - void clear_end_in_range_func() ; - ::uint32_t end_in_range_func() const; - void set_end_in_range_func(::uint32_t value); - - private: - ::uint32_t _internal_end_in_range_func() const; - void _internal_set_end_in_range_func(::uint32_t value); - - public: - // uint32 in_range_coll = 11 [json_name = "inRangeColl"]; - void clear_in_range_coll() ; - ::uint32_t in_range_coll() const; - void set_in_range_coll(::uint32_t value); - - private: - ::uint32_t _internal_in_range_coll() const; - void _internal_set_in_range_coll(::uint32_t value); - - public: - // bool in_range_asc = 12 [json_name = "inRangeAsc"]; - void clear_in_range_asc() ; - bool in_range_asc() const; - void set_in_range_asc(bool value); - - private: - bool _internal_in_range_asc() const; - void _internal_set_in_range_asc(bool value); - - public: - // bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"]; - void clear_in_range_nulls_first() ; - bool in_range_nulls_first() const; - void set_in_range_nulls_first(bool value); + // .pg_query.Node arg = 1 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); private: - bool _internal_in_range_nulls_first() const; - void _internal_set_in_range_nulls_first(bool value); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); public: - // bool copied_order = 15 [json_name = "copiedOrder"]; - void clear_copied_order() ; - bool copied_order() const; - void set_copied_order(bool value); + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); private: - bool _internal_copied_order() const; - void _internal_set_copied_order(bool value); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); public: - // uint32 winref = 14 [json_name = "winref"]; - void clear_winref() ; - ::uint32_t winref() const; - void set_winref(::uint32_t value); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); private: - ::uint32_t _internal_winref() const; - void _internal_set_winref(::uint32_t value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.WindowClause) + // @@protoc_insertion_point(class_scope:pg_query.TypeCast) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 15, 5, - 49, 2> + 2, 3, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -70176,47 +72565,35 @@ class WindowClause final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > run_condition_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::internal::ArenaStringPtr refname_; - ::pg_query::Node* start_offset_; - ::pg_query::Node* end_offset_; - ::int32_t frame_options_; - ::uint32_t start_in_range_func_; - ::uint32_t end_in_range_func_; - ::uint32_t in_range_coll_; - bool in_range_asc_; - bool in_range_nulls_first_; - bool copied_order_; - ::uint32_t winref_; + ::pg_query::Node* arg_; + ::pg_query::TypeName* type_name_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class WindowDef final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowDef) */ { +class TypeName final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeName) */ { public: - inline WindowDef() : WindowDef(nullptr) {} - ~WindowDef() override; + inline TypeName() : TypeName(nullptr) {} + ~TypeName() override; template - explicit PROTOBUF_CONSTEXPR WindowDef(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR TypeName(::google::protobuf::internal::ConstantInitialized); - inline WindowDef(const WindowDef& from) - : WindowDef(nullptr, from) {} - WindowDef(WindowDef&& from) noexcept - : WindowDef() { + inline TypeName(const TypeName& from) + : TypeName(nullptr, from) {} + TypeName(TypeName&& from) noexcept + : TypeName() { *this = ::std::move(from); } - inline WindowDef& operator=(const WindowDef& from) { + inline TypeName& operator=(const TypeName& from) { CopyFrom(from); return *this; } - inline WindowDef& operator=(WindowDef&& from) noexcept { + inline TypeName& operator=(TypeName&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -70248,20 +72625,20 @@ class WindowDef final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowDef& default_instance() { + static const TypeName& default_instance() { return *internal_default_instance(); } - static inline const WindowDef* internal_default_instance() { - return reinterpret_cast( - &_WindowDef_default_instance_); + static inline const TypeName* internal_default_instance() { + return reinterpret_cast( + &_TypeName_default_instance_); } static constexpr int kIndexInFileMessages = - 83; + 76; - friend void swap(WindowDef& a, WindowDef& b) { + friend void swap(TypeName& a, TypeName& b) { a.Swap(&b); } - inline void Swap(WindowDef* other) { + inline void Swap(TypeName* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -70274,7 +72651,7 @@ class WindowDef final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowDef* other) { + void UnsafeArenaSwap(TypeName* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -70282,14 +72659,14 @@ class WindowDef final : // implements Message ---------------------------------------------- - WindowDef* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TypeName* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WindowDef& from); + void CopyFrom(const TypeName& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WindowDef& from) { - WindowDef::MergeImpl(*this, from); + void MergeFrom( const TypeName& from) { + TypeName::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -70307,16 +72684,16 @@ class WindowDef final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WindowDef* other); + void InternalSwap(TypeName* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.WindowDef"; + return "pg_query.TypeName"; } protected: - explicit WindowDef(::google::protobuf::Arena* arena); - WindowDef(::google::protobuf::Arena* arena, const WindowDef& from); + explicit TypeName(::google::protobuf::Arena* arena); + TypeName(::google::protobuf::Arena* arena, const TypeName& from); public: static const ClassData _class_data_; @@ -70329,121 +72706,107 @@ class WindowDef final : // accessors ------------------------------------------------------- enum : int { - kPartitionClauseFieldNumber = 3, - kOrderClauseFieldNumber = 4, - kNameFieldNumber = 1, - kRefnameFieldNumber = 2, - kStartOffsetFieldNumber = 6, - kEndOffsetFieldNumber = 7, - kFrameOptionsFieldNumber = 5, + kNamesFieldNumber = 1, + kTypmodsFieldNumber = 5, + kArrayBoundsFieldNumber = 7, + kTypeOidFieldNumber = 2, + kSetofFieldNumber = 3, + kPctTypeFieldNumber = 4, + kTypemodFieldNumber = 6, kLocationFieldNumber = 8, }; - // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; - int partition_clause_size() const; + // repeated .pg_query.Node names = 1 [json_name = "names"]; + int names_size() const; private: - int _internal_partition_clause_size() const; + int _internal_names_size() const; public: - void clear_partition_clause() ; - ::pg_query::Node* mutable_partition_clause(int index); + void clear_names() ; + ::pg_query::Node* mutable_names(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_partition_clause(); + mutable_names(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_names(); public: - const ::pg_query::Node& partition_clause(int index) const; - ::pg_query::Node* add_partition_clause(); + const ::pg_query::Node& names(int index) const; + ::pg_query::Node* add_names(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - partition_clause() const; - // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; - int order_clause_size() const; + names() const; + // repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; + int typmods_size() const; private: - int _internal_order_clause_size() const; + int _internal_typmods_size() const; public: - void clear_order_clause() ; - ::pg_query::Node* mutable_order_clause(int index); + void clear_typmods() ; + ::pg_query::Node* mutable_typmods(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_order_clause(); + mutable_typmods(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_typmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_typmods(); public: - const ::pg_query::Node& order_clause(int index) const; - ::pg_query::Node* add_order_clause(); + const ::pg_query::Node& typmods(int index) const; + ::pg_query::Node* add_typmods(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - order_clause() const; - // string name = 1 [json_name = "name"]; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); - + typmods() const; + // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; + int array_bounds_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + int _internal_array_bounds_size() const; public: - // string refname = 2 [json_name = "refname"]; - void clear_refname() ; - const std::string& refname() const; - template - void set_refname(Arg_&& arg, Args_... args); - std::string* mutable_refname(); - PROTOBUF_NODISCARD std::string* release_refname(); - void set_allocated_refname(std::string* value); + void clear_array_bounds() ; + ::pg_query::Node* mutable_array_bounds(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_array_bounds(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_array_bounds() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_array_bounds(); + public: + const ::pg_query::Node& array_bounds(int index) const; + ::pg_query::Node* add_array_bounds(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + array_bounds() const; + // uint32 type_oid = 2 [json_name = "typeOid"]; + void clear_type_oid() ; + ::uint32_t type_oid() const; + void set_type_oid(::uint32_t value); private: - const std::string& _internal_refname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( - const std::string& value); - std::string* _internal_mutable_refname(); + ::uint32_t _internal_type_oid() const; + void _internal_set_type_oid(::uint32_t value); public: - // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; - bool has_start_offset() const; - void clear_start_offset() ; - const ::pg_query::Node& start_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); - ::pg_query::Node* mutable_start_offset(); - void set_allocated_start_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_start_offset(); + // bool setof = 3 [json_name = "setof"]; + void clear_setof() ; + bool setof() const; + void set_setof(bool value); private: - const ::pg_query::Node& _internal_start_offset() const; - ::pg_query::Node* _internal_mutable_start_offset(); + bool _internal_setof() const; + void _internal_set_setof(bool value); public: - // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; - bool has_end_offset() const; - void clear_end_offset() ; - const ::pg_query::Node& end_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); - ::pg_query::Node* mutable_end_offset(); - void set_allocated_end_offset(::pg_query::Node* value); - void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_end_offset(); + // bool pct_type = 4 [json_name = "pct_type"]; + void clear_pct_type() ; + bool pct_type() const; + void set_pct_type(bool value); private: - const ::pg_query::Node& _internal_end_offset() const; - ::pg_query::Node* _internal_mutable_end_offset(); + bool _internal_pct_type() const; + void _internal_set_pct_type(bool value); public: - // int32 frame_options = 5 [json_name = "frameOptions"]; - void clear_frame_options() ; - ::int32_t frame_options() const; - void set_frame_options(::int32_t value); + // int32 typemod = 6 [json_name = "typemod"]; + void clear_typemod() ; + ::int32_t typemod() const; + void set_typemod(::int32_t value); private: - ::int32_t _internal_frame_options() const; - void _internal_set_frame_options(::int32_t value); + ::int32_t _internal_typemod() const; + void _internal_set_typemod(::int32_t value); public: // int32 location = 8 [json_name = "location"]; @@ -70456,14 +72819,14 @@ class WindowDef final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.WindowDef) + // @@protoc_insertion_point(class_scope:pg_query.TypeName) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 8, 4, - 46, 2> + 3, 8, 3, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -70479,42 +72842,41 @@ class WindowDef final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::google::protobuf::internal::ArenaStringPtr refname_; - ::pg_query::Node* start_offset_; - ::pg_query::Node* end_offset_; - ::int32_t frame_options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > typmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > array_bounds_; + ::uint32_t type_oid_; + bool setof_; + bool pct_type_; + ::int32_t typemod_; ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class WindowFunc final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFunc) */ { +class UpdateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.UpdateStmt) */ { public: - inline WindowFunc() : WindowFunc(nullptr) {} - ~WindowFunc() override; + inline UpdateStmt() : UpdateStmt(nullptr) {} + ~UpdateStmt() override; template - explicit PROTOBUF_CONSTEXPR WindowFunc(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR UpdateStmt(::google::protobuf::internal::ConstantInitialized); - inline WindowFunc(const WindowFunc& from) - : WindowFunc(nullptr, from) {} - WindowFunc(WindowFunc&& from) noexcept - : WindowFunc() { + inline UpdateStmt(const UpdateStmt& from) + : UpdateStmt(nullptr, from) {} + UpdateStmt(UpdateStmt&& from) noexcept + : UpdateStmt() { *this = ::std::move(from); } - inline WindowFunc& operator=(const WindowFunc& from) { + inline UpdateStmt& operator=(const UpdateStmt& from) { CopyFrom(from); return *this; } - inline WindowFunc& operator=(WindowFunc&& from) noexcept { + inline UpdateStmt& operator=(UpdateStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -70546,20 +72908,20 @@ class WindowFunc final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowFunc& default_instance() { + static const UpdateStmt& default_instance() { return *internal_default_instance(); } - static inline const WindowFunc* internal_default_instance() { - return reinterpret_cast( - &_WindowFunc_default_instance_); + static inline const UpdateStmt* internal_default_instance() { + return reinterpret_cast( + &_UpdateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 20; + 145; - friend void swap(WindowFunc& a, WindowFunc& b) { + friend void swap(UpdateStmt& a, UpdateStmt& b) { a.Swap(&b); } - inline void Swap(WindowFunc* other) { + inline void Swap(UpdateStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -70572,7 +72934,7 @@ class WindowFunc final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowFunc* other) { + void UnsafeArenaSwap(UpdateStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -70580,14 +72942,14 @@ class WindowFunc final : // implements Message ---------------------------------------------- - WindowFunc* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + UpdateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WindowFunc& from); + void CopyFrom(const UpdateStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WindowFunc& from) { - WindowFunc::MergeImpl(*this, from); + void MergeFrom( const UpdateStmt& from) { + UpdateStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -70605,16 +72967,16 @@ class WindowFunc final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WindowFunc* other); + void InternalSwap(UpdateStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.WindowFunc"; + return "pg_query.UpdateStmt"; } protected: - explicit WindowFunc(::google::protobuf::Arena* arena); - WindowFunc(::google::protobuf::Arena* arena, const WindowFunc& from); + explicit UpdateStmt(::google::protobuf::Arena* arena); + UpdateStmt(::google::protobuf::Arena* arena, const UpdateStmt& from); public: static const ClassData _class_data_; @@ -70627,153 +72989,335 @@ class WindowFunc final : // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 6, - kXprFieldNumber = 1, - kAggfilterFieldNumber = 7, - kWinfnoidFieldNumber = 2, - kWintypeFieldNumber = 3, - kWincollidFieldNumber = 4, - kInputcollidFieldNumber = 5, - kWinrefFieldNumber = 8, - kWinstarFieldNumber = 9, - kWinaggFieldNumber = 10, - kLocationFieldNumber = 11, + kTargetListFieldNumber = 2, + kFromClauseFieldNumber = 4, + kReturningListFieldNumber = 5, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 3, + kWithClauseFieldNumber = 6, }; - // repeated .pg_query.Node args = 6 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; + int target_list_size() const; private: - int _internal_args_size() const; + int _internal_target_list_size() const; public: - void clear_args() ; - ::pg_query::Node* mutable_args(int index); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + mutable_target_list(); private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - args() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - + target_list() const; + // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; + int from_clause_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + int _internal_from_clause_size() const; public: - // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; - bool has_aggfilter() const; - void clear_aggfilter() ; - const ::pg_query::Node& aggfilter() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_aggfilter(); - ::pg_query::Node* mutable_aggfilter(); - void set_allocated_aggfilter(::pg_query::Node* value); - void unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_aggfilter(); - + void clear_from_clause() ; + ::pg_query::Node* mutable_from_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_from_clause(); private: - const ::pg_query::Node& _internal_aggfilter() const; - ::pg_query::Node* _internal_mutable_aggfilter(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); public: - // uint32 winfnoid = 2 [json_name = "winfnoid"]; - void clear_winfnoid() ; - ::uint32_t winfnoid() const; - void set_winfnoid(::uint32_t value); - + const ::pg_query::Node& from_clause(int index) const; + ::pg_query::Node* add_from_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + from_clause() const; + // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; + int returning_list_size() const; private: - ::uint32_t _internal_winfnoid() const; - void _internal_set_winfnoid(::uint32_t value); + int _internal_returning_list_size() const; public: - // uint32 wintype = 3 [json_name = "wintype"]; - void clear_wintype() ; - ::uint32_t wintype() const; - void set_wintype(::uint32_t value); - + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); private: - ::uint32_t _internal_wintype() const; - void _internal_set_wintype(::uint32_t value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); public: - // uint32 wincollid = 4 [json_name = "wincollid"]; - void clear_wincollid() ; - ::uint32_t wincollid() const; - void set_wincollid(::uint32_t value); + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - ::uint32_t _internal_wincollid() const; - void _internal_set_wincollid(::uint32_t value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // uint32 inputcollid = 5 [json_name = "inputcollid"]; - void clear_inputcollid() ; - ::uint32_t inputcollid() const; - void set_inputcollid(::uint32_t value); - + // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + private: - ::uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(::uint32_t value); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); public: - // uint32 winref = 8 [json_name = "winref"]; - void clear_winref() ; - ::uint32_t winref() const; - void set_winref(::uint32_t value); + // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); private: - ::uint32_t _internal_winref() const; - void _internal_set_winref(::uint32_t value); + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); public: - // bool winstar = 9 [json_name = "winstar"]; - void clear_winstar() ; - bool winstar() const; - void set_winstar(bool value); + // @@protoc_insertion_point(class_scope:pg_query.UpdateStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + ::pg_query::WithClause* with_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class VacuumRelation final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumRelation) */ { + public: + inline VacuumRelation() : VacuumRelation(nullptr) {} + ~VacuumRelation() override; + template + explicit PROTOBUF_CONSTEXPR VacuumRelation(::google::protobuf::internal::ConstantInitialized); + + inline VacuumRelation(const VacuumRelation& from) + : VacuumRelation(nullptr, from) {} + VacuumRelation(VacuumRelation&& from) noexcept + : VacuumRelation() { + *this = ::std::move(from); + } + + inline VacuumRelation& operator=(const VacuumRelation& from) { + CopyFrom(from); + return *this; + } + inline VacuumRelation& operator=(VacuumRelation&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VacuumRelation& default_instance() { + return *internal_default_instance(); + } + static inline const VacuumRelation* internal_default_instance() { + return reinterpret_cast( + &_VacuumRelation_default_instance_); + } + static constexpr int kIndexInFileMessages = + 245; + + friend void swap(VacuumRelation& a, VacuumRelation& b) { + a.Swap(&b); + } + inline void Swap(VacuumRelation* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VacuumRelation* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VacuumRelation* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VacuumRelation& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const VacuumRelation& from) { + VacuumRelation::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - bool _internal_winstar() const; - void _internal_set_winstar(bool value); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(VacuumRelation* other); + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.VacuumRelation"; + } + protected: + explicit VacuumRelation(::google::protobuf::Arena* arena); + VacuumRelation(::google::protobuf::Arena* arena, const VacuumRelation& from); public: - // bool winagg = 10 [json_name = "winagg"]; - void clear_winagg() ; - bool winagg() const; - void set_winagg(bool value); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kVaColsFieldNumber = 3, + kRelationFieldNumber = 1, + kOidFieldNumber = 2, + }; + // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; + int va_cols_size() const; private: - bool _internal_winagg() const; - void _internal_set_winagg(bool value); + int _internal_va_cols_size() const; public: - // int32 location = 11 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + void clear_va_cols() ; + ::pg_query::Node* mutable_va_cols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_va_cols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_va_cols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_va_cols(); + public: + const ::pg_query::Node& va_cols(int index) const; + ::pg_query::Node* add_va_cols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + va_cols() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); public: - // @@protoc_insertion_point(class_scope:pg_query.WindowFunc) + // uint32 oid = 2 [json_name = "oid"]; + void clear_oid() ; + ::uint32_t oid() const; + void set_oid(::uint32_t value); + + private: + ::uint32_t _internal_oid() const; + void _internal_set_oid(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.VacuumRelation) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 11, 3, + 2, 3, 2, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -70792,43 +73336,35 @@ class WindowFunc final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::pg_query::Node* aggfilter_; - ::uint32_t winfnoid_; - ::uint32_t wintype_; - ::uint32_t wincollid_; - ::uint32_t inputcollid_; - ::uint32_t winref_; - bool winstar_; - bool winagg_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > va_cols_; + ::pg_query::RangeVar* relation_; + ::uint32_t oid_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class WithCheckOption final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithCheckOption) */ { +class VacuumStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumStmt) */ { public: - inline WithCheckOption() : WithCheckOption(nullptr) {} - ~WithCheckOption() override; + inline VacuumStmt() : VacuumStmt(nullptr) {} + ~VacuumStmt() override; template - explicit PROTOBUF_CONSTEXPR WithCheckOption(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR VacuumStmt(::google::protobuf::internal::ConstantInitialized); - inline WithCheckOption(const WithCheckOption& from) - : WithCheckOption(nullptr, from) {} - WithCheckOption(WithCheckOption&& from) noexcept - : WithCheckOption() { + inline VacuumStmt(const VacuumStmt& from) + : VacuumStmt(nullptr, from) {} + VacuumStmt(VacuumStmt&& from) noexcept + : VacuumStmt() { *this = ::std::move(from); } - inline WithCheckOption& operator=(const WithCheckOption& from) { + inline VacuumStmt& operator=(const VacuumStmt& from) { CopyFrom(from); return *this; } - inline WithCheckOption& operator=(WithCheckOption&& from) noexcept { + inline VacuumStmt& operator=(VacuumStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -70860,20 +73396,20 @@ class WithCheckOption final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WithCheckOption& default_instance() { + static const VacuumStmt& default_instance() { return *internal_default_instance(); } - static inline const WithCheckOption* internal_default_instance() { - return reinterpret_cast( - &_WithCheckOption_default_instance_); + static inline const VacuumStmt* internal_default_instance() { + return reinterpret_cast( + &_VacuumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 104; + 244; - friend void swap(WithCheckOption& a, WithCheckOption& b) { + friend void swap(VacuumStmt& a, VacuumStmt& b) { a.Swap(&b); } - inline void Swap(WithCheckOption* other) { + inline void Swap(VacuumStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -70886,7 +73422,7 @@ class WithCheckOption final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WithCheckOption* other) { + void UnsafeArenaSwap(VacuumStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -70894,14 +73430,14 @@ class WithCheckOption final : // implements Message ---------------------------------------------- - WithCheckOption* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VacuumStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WithCheckOption& from); + void CopyFrom(const VacuumStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WithCheckOption& from) { - WithCheckOption::MergeImpl(*this, from); + void MergeFrom( const VacuumStmt& from) { + VacuumStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -70919,16 +73455,16 @@ class WithCheckOption final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WithCheckOption* other); + void InternalSwap(VacuumStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.WithCheckOption"; + return "pg_query.VacuumStmt"; } protected: - explicit WithCheckOption(::google::protobuf::Arena* arena); - WithCheckOption(::google::protobuf::Arena* arena, const WithCheckOption& from); + explicit VacuumStmt(::google::protobuf::Arena* arena); + VacuumStmt(::google::protobuf::Arena* arena, const VacuumStmt& from); public: static const ClassData _class_data_; @@ -70941,87 +73477,64 @@ class WithCheckOption final : // accessors ------------------------------------------------------- enum : int { - kRelnameFieldNumber = 2, - kPolnameFieldNumber = 3, - kQualFieldNumber = 4, - kKindFieldNumber = 1, - kCascadedFieldNumber = 5, + kOptionsFieldNumber = 1, + kRelsFieldNumber = 2, + kIsVacuumcmdFieldNumber = 3, }; - // string relname = 2 [json_name = "relname"]; - void clear_relname() ; - const std::string& relname() const; - template - void set_relname(Arg_&& arg, Args_... args); - std::string* mutable_relname(); - PROTOBUF_NODISCARD std::string* release_relname(); - void set_allocated_relname(std::string* value); - + // repeated .pg_query.Node options = 1 [json_name = "options"]; + int options_size() const; private: - const std::string& _internal_relname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( - const std::string& value); - std::string* _internal_mutable_relname(); + int _internal_options_size() const; public: - // string polname = 3 [json_name = "polname"]; - void clear_polname() ; - const std::string& polname() const; - template - void set_polname(Arg_&& arg, Args_... args); - std::string* mutable_polname(); - PROTOBUF_NODISCARD std::string* release_polname(); - void set_allocated_polname(std::string* value); - + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const std::string& _internal_polname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_polname( - const std::string& value); - std::string* _internal_mutable_polname(); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - // .pg_query.Node qual = 4 [json_name = "qual"]; - bool has_qual() const; - void clear_qual() ; - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* value); - void unsafe_arena_set_allocated_qual(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_qual(); - + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node rels = 2 [json_name = "rels"]; + int rels_size() const; private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); + int _internal_rels_size() const; public: - // .pg_query.WCOKind kind = 1 [json_name = "kind"]; - void clear_kind() ; - ::pg_query::WCOKind kind() const; - void set_kind(::pg_query::WCOKind value); - + void clear_rels() ; + ::pg_query::Node* mutable_rels(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rels(); private: - ::pg_query::WCOKind _internal_kind() const; - void _internal_set_kind(::pg_query::WCOKind value); - + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rels() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rels(); public: - // bool cascaded = 5 [json_name = "cascaded"]; - void clear_cascaded() ; - bool cascaded() const; - void set_cascaded(bool value); + const ::pg_query::Node& rels(int index) const; + ::pg_query::Node* add_rels(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rels() const; + // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; + void clear_is_vacuumcmd() ; + bool is_vacuumcmd() const; + void set_is_vacuumcmd(bool value); private: - bool _internal_cascaded() const; - void _internal_set_cascaded(bool value); + bool _internal_is_vacuumcmd() const; + void _internal_set_is_vacuumcmd(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.WithCheckOption) + // @@protoc_insertion_point(class_scope:pg_query.VacuumStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 1, - 47, 2> + 2, 3, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; friend class ::google::protobuf::Arena; @@ -71037,39 +73550,36 @@ class WithCheckOption final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rels_; + bool is_vacuumcmd_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr relname_; - ::google::protobuf::internal::ArenaStringPtr polname_; - ::pg_query::Node* qual_; - int kind_; - bool cascaded_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class WithClause final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithClause) */ { +class Var final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Var) */ { public: - inline WithClause() : WithClause(nullptr) {} - ~WithClause() override; + inline Var() : Var(nullptr) {} + ~Var() override; template - explicit PROTOBUF_CONSTEXPR WithClause(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR Var(::google::protobuf::internal::ConstantInitialized); - inline WithClause(const WithClause& from) - : WithClause(nullptr, from) {} - WithClause(WithClause&& from) noexcept - : WithClause() { + inline Var(const Var& from) + : Var(nullptr, from) {} + Var(Var&& from) noexcept + : Var() { *this = ::std::move(from); } - inline WithClause& operator=(const WithClause& from) { + inline Var& operator=(const Var& from) { CopyFrom(from); return *this; } - inline WithClause& operator=(WithClause&& from) noexcept { + inline Var& operator=(Var&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -71101,20 +73611,20 @@ class WithClause final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WithClause& default_instance() { + static const Var& default_instance() { return *internal_default_instance(); } - static inline const WithClause* internal_default_instance() { - return reinterpret_cast( - &_WithClause_default_instance_); + static inline const Var* internal_default_instance() { + return reinterpret_cast( + &_Var_default_instance_); } static constexpr int kIndexInFileMessages = - 109; + 16; - friend void swap(WithClause& a, WithClause& b) { + friend void swap(Var& a, Var& b) { a.Swap(&b); } - inline void Swap(WithClause* other) { + inline void Swap(Var* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -71127,7 +73637,7 @@ class WithClause final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WithClause* other) { + void UnsafeArenaSwap(Var* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -71135,14 +73645,14 @@ class WithClause final : // implements Message ---------------------------------------------- - WithClause* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Var* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const WithClause& from); + void CopyFrom(const Var& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const WithClause& from) { - WithClause::MergeImpl(*this, from); + void MergeFrom( const Var& from) { + Var::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -71160,16 +73670,16 @@ class WithClause final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(WithClause* other); + void InternalSwap(Var* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.WithClause"; + return "pg_query.Var"; } protected: - explicit WithClause(::google::protobuf::Arena* arena); - WithClause(::google::protobuf::Arena* arena, const WithClause& from); + explicit Var(::google::protobuf::Arena* arena); + Var(::google::protobuf::Arena* arena, const Var& from); public: static const ClassData _class_data_; @@ -71182,39 +73692,110 @@ class WithClause final : // accessors ------------------------------------------------------- enum : int { - kCtesFieldNumber = 1, - kRecursiveFieldNumber = 2, - kLocationFieldNumber = 3, + kVarnullingrelsFieldNumber = 7, + kXprFieldNumber = 1, + kVarnoFieldNumber = 2, + kVarattnoFieldNumber = 3, + kVartypeFieldNumber = 4, + kVartypmodFieldNumber = 5, + kVarcollidFieldNumber = 6, + kVarlevelsupFieldNumber = 8, + kLocationFieldNumber = 9, }; - // repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; - int ctes_size() const; + // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; + int varnullingrels_size() const; private: - int _internal_ctes_size() const; + int _internal_varnullingrels_size() const; public: - void clear_ctes() ; - ::pg_query::Node* mutable_ctes(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_ctes(); + void clear_varnullingrels() ; + ::uint64_t varnullingrels(int index) const; + void set_varnullingrels(int index, ::uint64_t value); + void add_varnullingrels(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& varnullingrels() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_varnullingrels(); + private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctes() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctes(); + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_varnullingrels() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_varnullingrels(); + public: - const ::pg_query::Node& ctes(int index) const; - ::pg_query::Node* add_ctes(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - ctes() const; - // bool recursive = 2 [json_name = "recursive"]; - void clear_recursive() ; - bool recursive() const; - void set_recursive(bool value); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); private: - bool _internal_recursive() const; - void _internal_set_recursive(bool value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); public: - // int32 location = 3 [json_name = "location"]; + // int32 varno = 2 [json_name = "varno"]; + void clear_varno() ; + ::int32_t varno() const; + void set_varno(::int32_t value); + + private: + ::int32_t _internal_varno() const; + void _internal_set_varno(::int32_t value); + + public: + // int32 varattno = 3 [json_name = "varattno"]; + void clear_varattno() ; + ::int32_t varattno() const; + void set_varattno(::int32_t value); + + private: + ::int32_t _internal_varattno() const; + void _internal_set_varattno(::int32_t value); + + public: + // uint32 vartype = 4 [json_name = "vartype"]; + void clear_vartype() ; + ::uint32_t vartype() const; + void set_vartype(::uint32_t value); + + private: + ::uint32_t _internal_vartype() const; + void _internal_set_vartype(::uint32_t value); + + public: + // int32 vartypmod = 5 [json_name = "vartypmod"]; + void clear_vartypmod() ; + ::int32_t vartypmod() const; + void set_vartypmod(::int32_t value); + + private: + ::int32_t _internal_vartypmod() const; + void _internal_set_vartypmod(::int32_t value); + + public: + // uint32 varcollid = 6 [json_name = "varcollid"]; + void clear_varcollid() ; + ::uint32_t varcollid() const; + void set_varcollid(::uint32_t value); + + private: + ::uint32_t _internal_varcollid() const; + void _internal_set_varcollid(::uint32_t value); + + public: + // uint32 varlevelsup = 8 [json_name = "varlevelsup"]; + void clear_varlevelsup() ; + ::uint32_t varlevelsup() const; + void set_varlevelsup(::uint32_t value); + + private: + ::uint32_t _internal_varlevelsup() const; + void _internal_set_varlevelsup(::uint32_t value); + + public: + // int32 location = 9 [json_name = "location"]; void clear_location() ; ::int32_t location() const; void set_location(::int32_t value); @@ -71224,13 +73805,13 @@ class WithClause final : void _internal_set_location(::int32_t value); public: - // @@protoc_insertion_point(class_scope:pg_query.WithClause) + // @@protoc_insertion_point(class_scope:pg_query.Var) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 3, 1, + 4, 9, 1, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -71247,36 +73828,44 @@ class WithClause final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctes_; - bool recursive_; - ::int32_t location_; + ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint64_t> varnullingrels_; + mutable ::google::protobuf::internal::CachedSize _varnullingrels_cached_byte_size_; + ::pg_query::Node* xpr_; + ::int32_t varno_; + ::int32_t varattno_; + ::uint32_t vartype_; + ::int32_t vartypmod_; + ::uint32_t varcollid_; + ::uint32_t varlevelsup_; + ::int32_t location_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class XmlExpr final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlExpr) */ { +class VariableSetStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableSetStmt) */ { public: - inline XmlExpr() : XmlExpr(nullptr) {} - ~XmlExpr() override; + inline VariableSetStmt() : VariableSetStmt(nullptr) {} + ~VariableSetStmt() override; template - explicit PROTOBUF_CONSTEXPR XmlExpr(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR VariableSetStmt(::google::protobuf::internal::ConstantInitialized); - inline XmlExpr(const XmlExpr& from) - : XmlExpr(nullptr, from) {} - XmlExpr(XmlExpr&& from) noexcept - : XmlExpr() { + inline VariableSetStmt(const VariableSetStmt& from) + : VariableSetStmt(nullptr, from) {} + VariableSetStmt(VariableSetStmt&& from) noexcept + : VariableSetStmt() { *this = ::std::move(from); } - inline XmlExpr& operator=(const XmlExpr& from) { + inline VariableSetStmt& operator=(const VariableSetStmt& from) { CopyFrom(from); return *this; } - inline XmlExpr& operator=(XmlExpr&& from) noexcept { + inline VariableSetStmt& operator=(VariableSetStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -71308,20 +73897,20 @@ class XmlExpr final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const XmlExpr& default_instance() { + static const VariableSetStmt& default_instance() { return *internal_default_instance(); } - static inline const XmlExpr* internal_default_instance() { - return reinterpret_cast( - &_XmlExpr_default_instance_); + static inline const VariableSetStmt* internal_default_instance() { + return reinterpret_cast( + &_VariableSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 163; - friend void swap(XmlExpr& a, XmlExpr& b) { + friend void swap(VariableSetStmt& a, VariableSetStmt& b) { a.Swap(&b); } - inline void Swap(XmlExpr* other) { + inline void Swap(VariableSetStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -71334,7 +73923,7 @@ class XmlExpr final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(XmlExpr* other) { + void UnsafeArenaSwap(VariableSetStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -71342,14 +73931,14 @@ class XmlExpr final : // implements Message ---------------------------------------------- - XmlExpr* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VariableSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const XmlExpr& from); + void CopyFrom(const VariableSetStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const XmlExpr& from) { - XmlExpr::MergeImpl(*this, from); + void MergeFrom( const VariableSetStmt& from) { + VariableSetStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -71367,16 +73956,16 @@ class XmlExpr final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(XmlExpr* other); + void InternalSwap(VariableSetStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.XmlExpr"; + return "pg_query.VariableSetStmt"; } protected: - explicit XmlExpr(::google::protobuf::Arena* arena); - XmlExpr(::google::protobuf::Arena* arena, const XmlExpr& from); + explicit VariableSetStmt(::google::protobuf::Arena* arena); + VariableSetStmt(::google::protobuf::Arena* arena, const VariableSetStmt& from); public: static const ClassData _class_data_; @@ -71389,55 +73978,12 @@ class XmlExpr final : // accessors ------------------------------------------------------- enum : int { - kNamedArgsFieldNumber = 4, - kArgNamesFieldNumber = 5, - kArgsFieldNumber = 6, - kNameFieldNumber = 3, - kXprFieldNumber = 1, - kOpFieldNumber = 2, - kXmloptionFieldNumber = 7, - kIndentFieldNumber = 8, - kTypeFieldNumber = 9, - kTypmodFieldNumber = 10, - kLocationFieldNumber = 11, + kArgsFieldNumber = 3, + kNameFieldNumber = 2, + kKindFieldNumber = 1, + kIsLocalFieldNumber = 4, }; - // repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; - int named_args_size() const; - private: - int _internal_named_args_size() const; - - public: - void clear_named_args() ; - ::pg_query::Node* mutable_named_args(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_named_args(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_named_args() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_named_args(); - public: - const ::pg_query::Node& named_args(int index) const; - ::pg_query::Node* add_named_args(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - named_args() const; - // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; - int arg_names_size() const; - private: - int _internal_arg_names_size() const; - - public: - void clear_arg_names() ; - ::pg_query::Node* mutable_arg_names(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* - mutable_arg_names(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arg_names() const; - ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arg_names(); - public: - const ::pg_query::Node& arg_names(int index) const; - ::pg_query::Node* add_arg_names(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& - arg_names() const; - // repeated .pg_query.Node args = 6 [json_name = "args"]; + // repeated .pg_query.Node args = 3 [json_name = "args"]; int args_size() const; private: int _internal_args_size() const; @@ -71455,7 +74001,7 @@ class XmlExpr final : ::pg_query::Node* add_args(); const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& args() const; - // string name = 3 [json_name = "name"]; + // string name = 2 [json_name = "name"]; void clear_name() ; const std::string& name() const; template @@ -71471,88 +74017,33 @@ class XmlExpr final : std::string* _internal_mutable_name(); public: - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - void clear_xpr() ; - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* value); - void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_xpr(); - - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - - public: - // .pg_query.XmlExprOp op = 2 [json_name = "op"]; - void clear_op() ; - ::pg_query::XmlExprOp op() const; - void set_op(::pg_query::XmlExprOp value); - - private: - ::pg_query::XmlExprOp _internal_op() const; - void _internal_set_op(::pg_query::XmlExprOp value); - - public: - // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; - void clear_xmloption() ; - ::pg_query::XmlOptionType xmloption() const; - void set_xmloption(::pg_query::XmlOptionType value); - - private: - ::pg_query::XmlOptionType _internal_xmloption() const; - void _internal_set_xmloption(::pg_query::XmlOptionType value); - - public: - // bool indent = 8 [json_name = "indent"]; - void clear_indent() ; - bool indent() const; - void set_indent(bool value); - - private: - bool _internal_indent() const; - void _internal_set_indent(bool value); - - public: - // uint32 type = 9 [json_name = "type"]; - void clear_type() ; - ::uint32_t type() const; - void set_type(::uint32_t value); - - private: - ::uint32_t _internal_type() const; - void _internal_set_type(::uint32_t value); - - public: - // int32 typmod = 10 [json_name = "typmod"]; - void clear_typmod() ; - ::int32_t typmod() const; - void set_typmod(::int32_t value); + // .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::VariableSetKind kind() const; + void set_kind(::pg_query::VariableSetKind value); private: - ::int32_t _internal_typmod() const; - void _internal_set_typmod(::int32_t value); + ::pg_query::VariableSetKind _internal_kind() const; + void _internal_set_kind(::pg_query::VariableSetKind value); public: - // int32 location = 11 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // bool is_local = 4 [json_name = "is_local"]; + void clear_is_local() ; + bool is_local() const; + void set_is_local(bool value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + bool _internal_is_local() const; + void _internal_set_is_local(bool value); public: - // @@protoc_insertion_point(class_scope:pg_query.XmlExpr) + // @@protoc_insertion_point(class_scope:pg_query.VariableSetStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 11, 4, + 2, 4, 1, 37, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -71569,45 +74060,37 @@ class XmlExpr final : ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::internal::HasBits<1> _has_bits_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > named_args_; - ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arg_names_; ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; ::google::protobuf::internal::ArenaStringPtr name_; - ::pg_query::Node* xpr_; - int op_; - int xmloption_; - bool indent_; - ::uint32_t type_; - ::int32_t typmod_; - ::int32_t location_; + int kind_; + bool is_local_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class XmlSerialize final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlSerialize) */ { +class ViewStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ViewStmt) */ { public: - inline XmlSerialize() : XmlSerialize(nullptr) {} - ~XmlSerialize() override; + inline ViewStmt() : ViewStmt(nullptr) {} + ~ViewStmt() override; template - explicit PROTOBUF_CONSTEXPR XmlSerialize(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR ViewStmt(::google::protobuf::internal::ConstantInitialized); - inline XmlSerialize(const XmlSerialize& from) - : XmlSerialize(nullptr, from) {} - XmlSerialize(XmlSerialize&& from) noexcept - : XmlSerialize() { + inline ViewStmt(const ViewStmt& from) + : ViewStmt(nullptr, from) {} + ViewStmt(ViewStmt&& from) noexcept + : ViewStmt() { *this = ::std::move(from); } - inline XmlSerialize& operator=(const XmlSerialize& from) { + inline ViewStmt& operator=(const ViewStmt& from) { CopyFrom(from); return *this; } - inline XmlSerialize& operator=(XmlSerialize&& from) noexcept { + inline ViewStmt& operator=(ViewStmt&& from) noexcept { if (this == &from) return *this; if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE @@ -71639,20 +74122,20 @@ class XmlSerialize final : static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const XmlSerialize& default_instance() { + static const ViewStmt& default_instance() { return *internal_default_instance(); } - static inline const XmlSerialize* internal_default_instance() { - return reinterpret_cast( - &_XmlSerialize_default_instance_); + static inline const ViewStmt* internal_default_instance() { + return reinterpret_cast( + &_ViewStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 235; - friend void swap(XmlSerialize& a, XmlSerialize& b) { + friend void swap(ViewStmt& a, ViewStmt& b) { a.Swap(&b); } - inline void Swap(XmlSerialize* other) { + inline void Swap(ViewStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP if (GetArena() != nullptr && @@ -71665,7 +74148,7 @@ class XmlSerialize final : ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(XmlSerialize* other) { + void UnsafeArenaSwap(ViewStmt* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -71673,14 +74156,14 @@ class XmlSerialize final : // implements Message ---------------------------------------------- - XmlSerialize* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const XmlSerialize& from); + void CopyFrom(const ViewStmt& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const XmlSerialize& from) { - XmlSerialize::MergeImpl(*this, from); + void MergeFrom( const ViewStmt& from) { + ViewStmt::MergeImpl(*this, from); } private: static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); @@ -71698,16 +74181,16 @@ class XmlSerialize final : ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void InternalSwap(XmlSerialize* other); + void InternalSwap(ViewStmt* other); private: friend class ::google::protobuf::internal::AnyMetadata; static ::absl::string_view FullMessageName() { - return "pg_query.XmlSerialize"; + return "pg_query.ViewStmt"; } protected: - explicit XmlSerialize(::google::protobuf::Arena* arena); - XmlSerialize(::google::protobuf::Arena* arena, const XmlSerialize& from); + explicit ViewStmt(::google::protobuf::Arena* arena); + ViewStmt(::google::protobuf::Arena* arena, const ViewStmt& from); public: static const ClassData _class_data_; @@ -71720,79 +74203,106 @@ class XmlSerialize final : // accessors ------------------------------------------------------- enum : int { - kExprFieldNumber = 2, - kTypeNameFieldNumber = 3, - kXmloptionFieldNumber = 1, - kIndentFieldNumber = 4, - kLocationFieldNumber = 5, + kAliasesFieldNumber = 2, + kOptionsFieldNumber = 5, + kViewFieldNumber = 1, + kQueryFieldNumber = 3, + kReplaceFieldNumber = 4, + kWithCheckOptionFieldNumber = 6, }; - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - void clear_expr() ; - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* value); - void unsafe_arena_set_allocated_expr(::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_expr(); + // repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; + int aliases_size() const; + private: + int _internal_aliases_size() const; + public: + void clear_aliases() ; + ::pg_query::Node* mutable_aliases(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_aliases(); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aliases() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aliases(); + public: + const ::pg_query::Node& aliases(int index) const; + ::pg_query::Node* add_aliases(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + aliases() const; + // repeated .pg_query.Node options = 5 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; public: - // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; - bool has_type_name() const; - void clear_type_name() ; - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* value); - void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.RangeVar view = 1 [json_name = "view"]; + bool has_view() const; + void clear_view() ; + const ::pg_query::RangeVar& view() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_view(); + ::pg_query::RangeVar* mutable_view(); + void set_allocated_view(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_view(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_view(); private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + const ::pg_query::RangeVar& _internal_view() const; + ::pg_query::RangeVar* _internal_mutable_view(); public: - // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; - void clear_xmloption() ; - ::pg_query::XmlOptionType xmloption() const; - void set_xmloption(::pg_query::XmlOptionType value); + // .pg_query.Node query = 3 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); private: - ::pg_query::XmlOptionType _internal_xmloption() const; - void _internal_set_xmloption(::pg_query::XmlOptionType value); + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); public: - // bool indent = 4 [json_name = "indent"]; - void clear_indent() ; - bool indent() const; - void set_indent(bool value); + // bool replace = 4 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); private: - bool _internal_indent() const; - void _internal_set_indent(bool value); + bool _internal_replace() const; + void _internal_set_replace(bool value); public: - // int32 location = 5 [json_name = "location"]; - void clear_location() ; - ::int32_t location() const; - void set_location(::int32_t value); + // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; + void clear_with_check_option() ; + ::pg_query::ViewCheckOption with_check_option() const; + void set_with_check_option(::pg_query::ViewCheckOption value); private: - ::int32_t _internal_location() const; - void _internal_set_location(::int32_t value); + ::pg_query::ViewCheckOption _internal_with_check_option() const; + void _internal_set_with_check_option(::pg_query::ViewCheckOption value); public: - // @@protoc_insertion_point(class_scope:pg_query.XmlSerialize) + // @@protoc_insertion_point(class_scope:pg_query.ViewStmt) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 5, 2, + 3, 6, 4, 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -71811,20748 +74321,29546 @@ class XmlSerialize final : ::google::protobuf::Arena* arena, const Impl_& from); ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; - ::pg_query::Node* expr_; - ::pg_query::TypeName* type_name_; - int xmloption_; - bool indent_; - ::int32_t location_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aliases_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::RangeVar* view_; + ::pg_query::Node* query_; + bool replace_; + int with_check_option_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; };// ------------------------------------------------------------------- -class ParseResult final : - public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ParseResult) */ { +class WindowClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowClause) */ { public: - inline ParseResult() : ParseResult(nullptr) {} - ~ParseResult() override; + inline WindowClause() : WindowClause(nullptr) {} + ~WindowClause() override; template - explicit PROTOBUF_CONSTEXPR ParseResult(::google::protobuf::internal::ConstantInitialized); + explicit PROTOBUF_CONSTEXPR WindowClause(::google::protobuf::internal::ConstantInitialized); - inline ParseResult(const ParseResult& from) - : ParseResult(nullptr, from) {} - ParseResult(ParseResult&& from) noexcept - : ParseResult() { + inline WindowClause(const WindowClause& from) + : WindowClause(nullptr, from) {} + WindowClause(WindowClause&& from) noexcept + : WindowClause() { + *this = ::std::move(from); + } + + inline WindowClause& operator=(const WindowClause& from) { + CopyFrom(from); + return *this; + } + inline WindowClause& operator=(WindowClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WindowClause& default_instance() { + return *internal_default_instance(); + } + static inline const WindowClause* internal_default_instance() { + return reinterpret_cast( + &_WindowClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 116; + + friend void swap(WindowClause& a, WindowClause& b) { + a.Swap(&b); + } + inline void Swap(WindowClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WindowClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WindowClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowClause& from) { + WindowClause::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WindowClause* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowClause"; + } + protected: + explicit WindowClause(::google::protobuf::Arena* arena); + WindowClause(::google::protobuf::Arena* arena, const WindowClause& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPartitionClauseFieldNumber = 3, + kOrderClauseFieldNumber = 4, + kNameFieldNumber = 1, + kRefnameFieldNumber = 2, + kStartOffsetFieldNumber = 6, + kEndOffsetFieldNumber = 7, + kFrameOptionsFieldNumber = 5, + kStartInRangeFuncFieldNumber = 8, + kEndInRangeFuncFieldNumber = 9, + kInRangeCollFieldNumber = 10, + kInRangeAscFieldNumber = 11, + kInRangeNullsFirstFieldNumber = 12, + kCopiedOrderFieldNumber = 14, + kWinrefFieldNumber = 13, + }; + // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; + int partition_clause_size() const; + private: + int _internal_partition_clause_size() const; + + public: + void clear_partition_clause() ; + ::pg_query::Node* mutable_partition_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_partition_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); + public: + const ::pg_query::Node& partition_clause(int index) const; + ::pg_query::Node* add_partition_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + partition_clause() const; + // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; + int order_clause_size() const; + private: + int _internal_order_clause_size() const; + + public: + void clear_order_clause() ; + ::pg_query::Node* mutable_order_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_order_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); + public: + const ::pg_query::Node& order_clause(int index) const; + ::pg_query::Node* add_order_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + order_clause() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // string refname = 2 [json_name = "refname"]; + void clear_refname() ; + const std::string& refname() const; + template + void set_refname(Arg_&& arg, Args_... args); + std::string* mutable_refname(); + PROTOBUF_NODISCARD std::string* release_refname(); + void set_allocated_refname(std::string* value); + + private: + const std::string& _internal_refname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( + const std::string& value); + std::string* _internal_mutable_refname(); + + public: + // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; + bool has_start_offset() const; + void clear_start_offset() ; + const ::pg_query::Node& start_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); + ::pg_query::Node* mutable_start_offset(); + void set_allocated_start_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_start_offset(); + + private: + const ::pg_query::Node& _internal_start_offset() const; + ::pg_query::Node* _internal_mutable_start_offset(); + + public: + // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; + bool has_end_offset() const; + void clear_end_offset() ; + const ::pg_query::Node& end_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); + ::pg_query::Node* mutable_end_offset(); + void set_allocated_end_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_end_offset(); + + private: + const ::pg_query::Node& _internal_end_offset() const; + ::pg_query::Node* _internal_mutable_end_offset(); + + public: + // int32 frame_options = 5 [json_name = "frameOptions"]; + void clear_frame_options() ; + ::int32_t frame_options() const; + void set_frame_options(::int32_t value); + + private: + ::int32_t _internal_frame_options() const; + void _internal_set_frame_options(::int32_t value); + + public: + // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"]; + void clear_start_in_range_func() ; + ::uint32_t start_in_range_func() const; + void set_start_in_range_func(::uint32_t value); + + private: + ::uint32_t _internal_start_in_range_func() const; + void _internal_set_start_in_range_func(::uint32_t value); + + public: + // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"]; + void clear_end_in_range_func() ; + ::uint32_t end_in_range_func() const; + void set_end_in_range_func(::uint32_t value); + + private: + ::uint32_t _internal_end_in_range_func() const; + void _internal_set_end_in_range_func(::uint32_t value); + + public: + // uint32 in_range_coll = 10 [json_name = "inRangeColl"]; + void clear_in_range_coll() ; + ::uint32_t in_range_coll() const; + void set_in_range_coll(::uint32_t value); + + private: + ::uint32_t _internal_in_range_coll() const; + void _internal_set_in_range_coll(::uint32_t value); + + public: + // bool in_range_asc = 11 [json_name = "inRangeAsc"]; + void clear_in_range_asc() ; + bool in_range_asc() const; + void set_in_range_asc(bool value); + + private: + bool _internal_in_range_asc() const; + void _internal_set_in_range_asc(bool value); + + public: + // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"]; + void clear_in_range_nulls_first() ; + bool in_range_nulls_first() const; + void set_in_range_nulls_first(bool value); + + private: + bool _internal_in_range_nulls_first() const; + void _internal_set_in_range_nulls_first(bool value); + + public: + // bool copied_order = 14 [json_name = "copiedOrder"]; + void clear_copied_order() ; + bool copied_order() const; + void set_copied_order(bool value); + + private: + bool _internal_copied_order() const; + void _internal_set_copied_order(bool value); + + public: + // uint32 winref = 13 [json_name = "winref"]; + void clear_winref() ; + ::uint32_t winref() const; + void set_winref(::uint32_t value); + + private: + ::uint32_t _internal_winref() const; + void _internal_set_winref(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowClause) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 14, 4, + 49, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr refname_; + ::pg_query::Node* start_offset_; + ::pg_query::Node* end_offset_; + ::int32_t frame_options_; + ::uint32_t start_in_range_func_; + ::uint32_t end_in_range_func_; + ::uint32_t in_range_coll_; + bool in_range_asc_; + bool in_range_nulls_first_; + bool copied_order_; + ::uint32_t winref_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class WindowDef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowDef) */ { + public: + inline WindowDef() : WindowDef(nullptr) {} + ~WindowDef() override; + template + explicit PROTOBUF_CONSTEXPR WindowDef(::google::protobuf::internal::ConstantInitialized); + + inline WindowDef(const WindowDef& from) + : WindowDef(nullptr, from) {} + WindowDef(WindowDef&& from) noexcept + : WindowDef() { + *this = ::std::move(from); + } + + inline WindowDef& operator=(const WindowDef& from) { + CopyFrom(from); + return *this; + } + inline WindowDef& operator=(WindowDef&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WindowDef& default_instance() { + return *internal_default_instance(); + } + static inline const WindowDef* internal_default_instance() { + return reinterpret_cast( + &_WindowDef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 91; + + friend void swap(WindowDef& a, WindowDef& b) { + a.Swap(&b); + } + inline void Swap(WindowDef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WindowDef* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WindowDef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowDef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowDef& from) { + WindowDef::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WindowDef* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowDef"; + } + protected: + explicit WindowDef(::google::protobuf::Arena* arena); + WindowDef(::google::protobuf::Arena* arena, const WindowDef& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPartitionClauseFieldNumber = 3, + kOrderClauseFieldNumber = 4, + kNameFieldNumber = 1, + kRefnameFieldNumber = 2, + kStartOffsetFieldNumber = 6, + kEndOffsetFieldNumber = 7, + kFrameOptionsFieldNumber = 5, + kLocationFieldNumber = 8, + }; + // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; + int partition_clause_size() const; + private: + int _internal_partition_clause_size() const; + + public: + void clear_partition_clause() ; + ::pg_query::Node* mutable_partition_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_partition_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); + public: + const ::pg_query::Node& partition_clause(int index) const; + ::pg_query::Node* add_partition_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + partition_clause() const; + // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; + int order_clause_size() const; + private: + int _internal_order_clause_size() const; + + public: + void clear_order_clause() ; + ::pg_query::Node* mutable_order_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_order_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); + public: + const ::pg_query::Node& order_clause(int index) const; + ::pg_query::Node* add_order_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + order_clause() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // string refname = 2 [json_name = "refname"]; + void clear_refname() ; + const std::string& refname() const; + template + void set_refname(Arg_&& arg, Args_... args); + std::string* mutable_refname(); + PROTOBUF_NODISCARD std::string* release_refname(); + void set_allocated_refname(std::string* value); + + private: + const std::string& _internal_refname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( + const std::string& value); + std::string* _internal_mutable_refname(); + + public: + // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; + bool has_start_offset() const; + void clear_start_offset() ; + const ::pg_query::Node& start_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); + ::pg_query::Node* mutable_start_offset(); + void set_allocated_start_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_start_offset(); + + private: + const ::pg_query::Node& _internal_start_offset() const; + ::pg_query::Node* _internal_mutable_start_offset(); + + public: + // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; + bool has_end_offset() const; + void clear_end_offset() ; + const ::pg_query::Node& end_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); + ::pg_query::Node* mutable_end_offset(); + void set_allocated_end_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_end_offset(); + + private: + const ::pg_query::Node& _internal_end_offset() const; + ::pg_query::Node* _internal_mutable_end_offset(); + + public: + // int32 frame_options = 5 [json_name = "frameOptions"]; + void clear_frame_options() ; + ::int32_t frame_options() const; + void set_frame_options(::int32_t value); + + private: + ::int32_t _internal_frame_options() const; + void _internal_set_frame_options(::int32_t value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowDef) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 4, + 46, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr refname_; + ::pg_query::Node* start_offset_; + ::pg_query::Node* end_offset_; + ::int32_t frame_options_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class WindowFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFunc) */ { + public: + inline WindowFunc() : WindowFunc(nullptr) {} + ~WindowFunc() override; + template + explicit PROTOBUF_CONSTEXPR WindowFunc(::google::protobuf::internal::ConstantInitialized); + + inline WindowFunc(const WindowFunc& from) + : WindowFunc(nullptr, from) {} + WindowFunc(WindowFunc&& from) noexcept + : WindowFunc() { + *this = ::std::move(from); + } + + inline WindowFunc& operator=(const WindowFunc& from) { + CopyFrom(from); + return *this; + } + inline WindowFunc& operator=(WindowFunc&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WindowFunc& default_instance() { + return *internal_default_instance(); + } + static inline const WindowFunc* internal_default_instance() { + return reinterpret_cast( + &_WindowFunc_default_instance_); + } + static constexpr int kIndexInFileMessages = + 20; + + friend void swap(WindowFunc& a, WindowFunc& b) { + a.Swap(&b); + } + inline void Swap(WindowFunc* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WindowFunc* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WindowFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowFunc& from) { + WindowFunc::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WindowFunc* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowFunc"; + } + protected: + explicit WindowFunc(::google::protobuf::Arena* arena); + WindowFunc(::google::protobuf::Arena* arena, const WindowFunc& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArgsFieldNumber = 6, + kRunConditionFieldNumber = 8, + kXprFieldNumber = 1, + kAggfilterFieldNumber = 7, + kWinfnoidFieldNumber = 2, + kWintypeFieldNumber = 3, + kWincollidFieldNumber = 4, + kInputcollidFieldNumber = 5, + kWinrefFieldNumber = 9, + kWinstarFieldNumber = 10, + kWinaggFieldNumber = 11, + kLocationFieldNumber = 12, + }; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; + int run_condition_size() const; + private: + int _internal_run_condition_size() const; + + public: + void clear_run_condition() ; + ::pg_query::Node* mutable_run_condition(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_run_condition(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_run_condition() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_run_condition(); + public: + const ::pg_query::Node& run_condition(int index) const; + ::pg_query::Node* add_run_condition(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + run_condition() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; + bool has_aggfilter() const; + void clear_aggfilter() ; + const ::pg_query::Node& aggfilter() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_aggfilter(); + ::pg_query::Node* mutable_aggfilter(); + void set_allocated_aggfilter(::pg_query::Node* value); + void unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_aggfilter(); + + private: + const ::pg_query::Node& _internal_aggfilter() const; + ::pg_query::Node* _internal_mutable_aggfilter(); + + public: + // uint32 winfnoid = 2 [json_name = "winfnoid"]; + void clear_winfnoid() ; + ::uint32_t winfnoid() const; + void set_winfnoid(::uint32_t value); + + private: + ::uint32_t _internal_winfnoid() const; + void _internal_set_winfnoid(::uint32_t value); + + public: + // uint32 wintype = 3 [json_name = "wintype"]; + void clear_wintype() ; + ::uint32_t wintype() const; + void set_wintype(::uint32_t value); + + private: + ::uint32_t _internal_wintype() const; + void _internal_set_wintype(::uint32_t value); + + public: + // uint32 wincollid = 4 [json_name = "wincollid"]; + void clear_wincollid() ; + ::uint32_t wincollid() const; + void set_wincollid(::uint32_t value); + + private: + ::uint32_t _internal_wincollid() const; + void _internal_set_wincollid(::uint32_t value); + + public: + // uint32 inputcollid = 5 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // uint32 winref = 9 [json_name = "winref"]; + void clear_winref() ; + ::uint32_t winref() const; + void set_winref(::uint32_t value); + + private: + ::uint32_t _internal_winref() const; + void _internal_set_winref(::uint32_t value); + + public: + // bool winstar = 10 [json_name = "winstar"]; + void clear_winstar() ; + bool winstar() const; + void set_winstar(bool value); + + private: + bool _internal_winstar() const; + void _internal_set_winstar(bool value); + + public: + // bool winagg = 11 [json_name = "winagg"]; + void clear_winagg() ; + bool winagg() const; + void set_winagg(bool value); + + private: + bool _internal_winagg() const; + void _internal_set_winagg(bool value); + + public: + // int32 location = 12 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowFunc) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 12, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > run_condition_; + ::pg_query::Node* xpr_; + ::pg_query::Node* aggfilter_; + ::uint32_t winfnoid_; + ::uint32_t wintype_; + ::uint32_t wincollid_; + ::uint32_t inputcollid_; + ::uint32_t winref_; + bool winstar_; + bool winagg_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class WindowFuncRunCondition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFuncRunCondition) */ { + public: + inline WindowFuncRunCondition() : WindowFuncRunCondition(nullptr) {} + ~WindowFuncRunCondition() override; + template + explicit PROTOBUF_CONSTEXPR WindowFuncRunCondition(::google::protobuf::internal::ConstantInitialized); + + inline WindowFuncRunCondition(const WindowFuncRunCondition& from) + : WindowFuncRunCondition(nullptr, from) {} + WindowFuncRunCondition(WindowFuncRunCondition&& from) noexcept + : WindowFuncRunCondition() { *this = ::std::move(from); } - inline ParseResult& operator=(const ParseResult& from) { - CopyFrom(from); - return *this; + inline WindowFuncRunCondition& operator=(const WindowFuncRunCondition& from) { + CopyFrom(from); + return *this; + } + inline WindowFuncRunCondition& operator=(WindowFuncRunCondition&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WindowFuncRunCondition& default_instance() { + return *internal_default_instance(); + } + static inline const WindowFuncRunCondition* internal_default_instance() { + return reinterpret_cast( + &_WindowFuncRunCondition_default_instance_); + } + static constexpr int kIndexInFileMessages = + 21; + + friend void swap(WindowFuncRunCondition& a, WindowFuncRunCondition& b) { + a.Swap(&b); + } + inline void Swap(WindowFuncRunCondition* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WindowFuncRunCondition* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WindowFuncRunCondition* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowFuncRunCondition& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowFuncRunCondition& from) { + WindowFuncRunCondition::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WindowFuncRunCondition* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowFuncRunCondition"; + } + protected: + explicit WindowFuncRunCondition(::google::protobuf::Arena* arena); + WindowFuncRunCondition(::google::protobuf::Arena* arena, const WindowFuncRunCondition& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kXprFieldNumber = 1, + kArgFieldNumber = 5, + kOpnoFieldNumber = 2, + kInputcollidFieldNumber = 3, + kWfuncLeftFieldNumber = 4, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node arg = 5 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + + private: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + + public: + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); + + private: + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + + public: + // uint32 inputcollid = 3 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // bool wfunc_left = 4 [json_name = "wfunc_left"]; + void clear_wfunc_left() ; + bool wfunc_left() const; + void set_wfunc_left(bool value); + + private: + bool _internal_wfunc_left() const; + void _internal_set_wfunc_left(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowFuncRunCondition) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t opno_; + ::uint32_t inputcollid_; + bool wfunc_left_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class WithCheckOption final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithCheckOption) */ { + public: + inline WithCheckOption() : WithCheckOption(nullptr) {} + ~WithCheckOption() override; + template + explicit PROTOBUF_CONSTEXPR WithCheckOption(::google::protobuf::internal::ConstantInitialized); + + inline WithCheckOption(const WithCheckOption& from) + : WithCheckOption(nullptr, from) {} + WithCheckOption(WithCheckOption&& from) noexcept + : WithCheckOption() { + *this = ::std::move(from); + } + + inline WithCheckOption& operator=(const WithCheckOption& from) { + CopyFrom(from); + return *this; + } + inline WithCheckOption& operator=(WithCheckOption&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WithCheckOption& default_instance() { + return *internal_default_instance(); + } + static inline const WithCheckOption* internal_default_instance() { + return reinterpret_cast( + &_WithCheckOption_default_instance_); + } + static constexpr int kIndexInFileMessages = + 113; + + friend void swap(WithCheckOption& a, WithCheckOption& b) { + a.Swap(&b); + } + inline void Swap(WithCheckOption* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WithCheckOption* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WithCheckOption* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WithCheckOption& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WithCheckOption& from) { + WithCheckOption::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WithCheckOption* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WithCheckOption"; + } + protected: + explicit WithCheckOption(::google::protobuf::Arena* arena); + WithCheckOption(::google::protobuf::Arena* arena, const WithCheckOption& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRelnameFieldNumber = 2, + kPolnameFieldNumber = 3, + kQualFieldNumber = 4, + kKindFieldNumber = 1, + kCascadedFieldNumber = 5, + }; + // string relname = 2 [json_name = "relname"]; + void clear_relname() ; + const std::string& relname() const; + template + void set_relname(Arg_&& arg, Args_... args); + std::string* mutable_relname(); + PROTOBUF_NODISCARD std::string* release_relname(); + void set_allocated_relname(std::string* value); + + private: + const std::string& _internal_relname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( + const std::string& value); + std::string* _internal_mutable_relname(); + + public: + // string polname = 3 [json_name = "polname"]; + void clear_polname() ; + const std::string& polname() const; + template + void set_polname(Arg_&& arg, Args_... args); + std::string* mutable_polname(); + PROTOBUF_NODISCARD std::string* release_polname(); + void set_allocated_polname(std::string* value); + + private: + const std::string& _internal_polname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_polname( + const std::string& value); + std::string* _internal_mutable_polname(); + + public: + // .pg_query.Node qual = 4 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); + + private: + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); + + public: + // .pg_query.WCOKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::WCOKind kind() const; + void set_kind(::pg_query::WCOKind value); + + private: + ::pg_query::WCOKind _internal_kind() const; + void _internal_set_kind(::pg_query::WCOKind value); + + public: + // bool cascaded = 5 [json_name = "cascaded"]; + void clear_cascaded() ; + bool cascaded() const; + void set_cascaded(bool value); + + private: + bool _internal_cascaded() const; + void _internal_set_cascaded(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WithCheckOption) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 47, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr relname_; + ::google::protobuf::internal::ArenaStringPtr polname_; + ::pg_query::Node* qual_; + int kind_; + bool cascaded_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class WithClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithClause) */ { + public: + inline WithClause() : WithClause(nullptr) {} + ~WithClause() override; + template + explicit PROTOBUF_CONSTEXPR WithClause(::google::protobuf::internal::ConstantInitialized); + + inline WithClause(const WithClause& from) + : WithClause(nullptr, from) {} + WithClause(WithClause&& from) noexcept + : WithClause() { + *this = ::std::move(from); + } + + inline WithClause& operator=(const WithClause& from) { + CopyFrom(from); + return *this; + } + inline WithClause& operator=(WithClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const WithClause& default_instance() { + return *internal_default_instance(); + } + static inline const WithClause* internal_default_instance() { + return reinterpret_cast( + &_WithClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 118; + + friend void swap(WithClause& a, WithClause& b) { + a.Swap(&b); + } + inline void Swap(WithClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(WithClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + WithClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WithClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WithClause& from) { + WithClause::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(WithClause* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WithClause"; + } + protected: + explicit WithClause(::google::protobuf::Arena* arena); + WithClause(::google::protobuf::Arena* arena, const WithClause& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kCtesFieldNumber = 1, + kRecursiveFieldNumber = 2, + kLocationFieldNumber = 3, + }; + // repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; + int ctes_size() const; + private: + int _internal_ctes_size() const; + + public: + void clear_ctes() ; + ::pg_query::Node* mutable_ctes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctes(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctes(); + public: + const ::pg_query::Node& ctes(int index) const; + ::pg_query::Node* add_ctes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctes() const; + // bool recursive = 2 [json_name = "recursive"]; + void clear_recursive() ; + bool recursive() const; + void set_recursive(bool value); + + private: + bool _internal_recursive() const; + void _internal_set_recursive(bool value); + + public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WithClause) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctes_; + bool recursive_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class XmlExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlExpr) */ { + public: + inline XmlExpr() : XmlExpr(nullptr) {} + ~XmlExpr() override; + template + explicit PROTOBUF_CONSTEXPR XmlExpr(::google::protobuf::internal::ConstantInitialized); + + inline XmlExpr(const XmlExpr& from) + : XmlExpr(nullptr, from) {} + XmlExpr(XmlExpr&& from) noexcept + : XmlExpr() { + *this = ::std::move(from); + } + + inline XmlExpr& operator=(const XmlExpr& from) { + CopyFrom(from); + return *this; + } + inline XmlExpr& operator=(XmlExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const XmlExpr& default_instance() { + return *internal_default_instance(); + } + static inline const XmlExpr* internal_default_instance() { + return reinterpret_cast( + &_XmlExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 50; + + friend void swap(XmlExpr& a, XmlExpr& b) { + a.Swap(&b); + } + inline void Swap(XmlExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(XmlExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + XmlExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const XmlExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const XmlExpr& from) { + XmlExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(XmlExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.XmlExpr"; + } + protected: + explicit XmlExpr(::google::protobuf::Arena* arena); + XmlExpr(::google::protobuf::Arena* arena, const XmlExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNamedArgsFieldNumber = 4, + kArgNamesFieldNumber = 5, + kArgsFieldNumber = 6, + kNameFieldNumber = 3, + kXprFieldNumber = 1, + kOpFieldNumber = 2, + kXmloptionFieldNumber = 7, + kIndentFieldNumber = 8, + kTypeFieldNumber = 9, + kTypmodFieldNumber = 10, + kLocationFieldNumber = 11, + }; + // repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; + int named_args_size() const; + private: + int _internal_named_args_size() const; + + public: + void clear_named_args() ; + ::pg_query::Node* mutable_named_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_named_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_named_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_named_args(); + public: + const ::pg_query::Node& named_args(int index) const; + ::pg_query::Node* add_named_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + named_args() const; + // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; + int arg_names_size() const; + private: + int _internal_arg_names_size() const; + + public: + void clear_arg_names() ; + ::pg_query::Node* mutable_arg_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_arg_names(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arg_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arg_names(); + public: + const ::pg_query::Node& arg_names(int index) const; + ::pg_query::Node* add_arg_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + arg_names() const; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.XmlExprOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::XmlExprOp op() const; + void set_op(::pg_query::XmlExprOp value); + + private: + ::pg_query::XmlExprOp _internal_op() const; + void _internal_set_op(::pg_query::XmlExprOp value); + + public: + // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; + void clear_xmloption() ; + ::pg_query::XmlOptionType xmloption() const; + void set_xmloption(::pg_query::XmlOptionType value); + + private: + ::pg_query::XmlOptionType _internal_xmloption() const; + void _internal_set_xmloption(::pg_query::XmlOptionType value); + + public: + // bool indent = 8 [json_name = "indent"]; + void clear_indent() ; + bool indent() const; + void set_indent(bool value); + + private: + bool _internal_indent() const; + void _internal_set_indent(bool value); + + public: + // uint32 type = 9 [json_name = "type"]; + void clear_type() ; + ::uint32_t type() const; + void set_type(::uint32_t value); + + private: + ::uint32_t _internal_type() const; + void _internal_set_type(::uint32_t value); + + public: + // int32 typmod = 10 [json_name = "typmod"]; + void clear_typmod() ; + ::int32_t typmod() const; + void set_typmod(::int32_t value); + + private: + ::int32_t _internal_typmod() const; + void _internal_set_typmod(::int32_t value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.XmlExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 4, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > named_args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arg_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* xpr_; + int op_; + int xmloption_; + bool indent_; + ::uint32_t type_; + ::int32_t typmod_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class XmlSerialize final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlSerialize) */ { + public: + inline XmlSerialize() : XmlSerialize(nullptr) {} + ~XmlSerialize() override; + template + explicit PROTOBUF_CONSTEXPR XmlSerialize(::google::protobuf::internal::ConstantInitialized); + + inline XmlSerialize(const XmlSerialize& from) + : XmlSerialize(nullptr, from) {} + XmlSerialize(XmlSerialize&& from) noexcept + : XmlSerialize() { + *this = ::std::move(from); + } + + inline XmlSerialize& operator=(const XmlSerialize& from) { + CopyFrom(from); + return *this; + } + inline XmlSerialize& operator=(XmlSerialize&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const XmlSerialize& default_instance() { + return *internal_default_instance(); + } + static inline const XmlSerialize* internal_default_instance() { + return reinterpret_cast( + &_XmlSerialize_default_instance_); + } + static constexpr int kIndexInFileMessages = + 102; + + friend void swap(XmlSerialize& a, XmlSerialize& b) { + a.Swap(&b); + } + inline void Swap(XmlSerialize* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(XmlSerialize* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + XmlSerialize* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const XmlSerialize& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const XmlSerialize& from) { + XmlSerialize::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(XmlSerialize* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.XmlSerialize"; + } + protected: + explicit XmlSerialize(::google::protobuf::Arena* arena); + XmlSerialize(::google::protobuf::Arena* arena, const XmlSerialize& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExprFieldNumber = 2, + kTypeNameFieldNumber = 3, + kXmloptionFieldNumber = 1, + kIndentFieldNumber = 4, + kLocationFieldNumber = 5, + }; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + + private: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + + public: + // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + + private: + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + + public: + // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; + void clear_xmloption() ; + ::pg_query::XmlOptionType xmloption() const; + void set_xmloption(::pg_query::XmlOptionType value); + + private: + ::pg_query::XmlOptionType _internal_xmloption() const; + void _internal_set_xmloption(::pg_query::XmlOptionType value); + + public: + // bool indent = 4 [json_name = "indent"]; + void clear_indent() ; + bool indent() const; + void set_indent(bool value); + + private: + bool _internal_indent() const; + void _internal_set_indent(bool value); + + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.XmlSerialize) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + ::pg_query::TypeName* type_name_; + int xmloption_; + bool indent_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class ParseResult final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ParseResult) */ { + public: + inline ParseResult() : ParseResult(nullptr) {} + ~ParseResult() override; + template + explicit PROTOBUF_CONSTEXPR ParseResult(::google::protobuf::internal::ConstantInitialized); + + inline ParseResult(const ParseResult& from) + : ParseResult(nullptr, from) {} + ParseResult(ParseResult&& from) noexcept + : ParseResult() { + *this = ::std::move(from); + } + + inline ParseResult& operator=(const ParseResult& from) { + CopyFrom(from); + return *this; + } + inline ParseResult& operator=(ParseResult&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ParseResult& default_instance() { + return *internal_default_instance(); + } + static inline const ParseResult* internal_default_instance() { + return reinterpret_cast( + &_ParseResult_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(ParseResult& a, ParseResult& b) { + a.Swap(&b); + } + inline void Swap(ParseResult* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ParseResult* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ParseResult* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ParseResult& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ParseResult& from) { + ParseResult::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ParseResult* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ParseResult"; + } + protected: + explicit ParseResult(::google::protobuf::Arena* arena); + ParseResult(::google::protobuf::Arena* arena, const ParseResult& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kStmtsFieldNumber = 2, + kVersionFieldNumber = 1, + }; + // repeated .pg_query.RawStmt stmts = 2; + int stmts_size() const; + private: + int _internal_stmts_size() const; + + public: + void clear_stmts() ; + ::pg_query::RawStmt* mutable_stmts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >* + mutable_stmts(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& _internal_stmts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* _internal_mutable_stmts(); + public: + const ::pg_query::RawStmt& stmts(int index) const; + ::pg_query::RawStmt* add_stmts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >& + stmts() const; + // int32 version = 1; + void clear_version() ; + ::int32_t version() const; + void set_version(::int32_t value); + + private: + ::int32_t _internal_version() const; + void _internal_set_version(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ParseResult) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt > stmts_; + ::int32_t version_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +}; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ParseResult + +// int32 version = 1; +inline void ParseResult::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_ = 0; +} +inline ::int32_t ParseResult::version() const { + // @@protoc_insertion_point(field_get:pg_query.ParseResult.version) + return _internal_version(); +} +inline void ParseResult::set_version(::int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:pg_query.ParseResult.version) +} +inline ::int32_t ParseResult::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_; +} +inline void ParseResult::_internal_set_version(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_ = value; +} + +// repeated .pg_query.RawStmt stmts = 2; +inline int ParseResult::_internal_stmts_size() const { + return _internal_stmts().size(); +} +inline int ParseResult::stmts_size() const { + return _internal_stmts_size(); +} +inline void ParseResult::clear_stmts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmts_.Clear(); +} +inline ::pg_query::RawStmt* ParseResult::mutable_stmts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ParseResult.stmts) + return _internal_mutable_stmts()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* ParseResult::mutable_stmts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ParseResult.stmts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_stmts(); +} +inline const ::pg_query::RawStmt& ParseResult::stmts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ParseResult.stmts) + return _internal_stmts().Get(index); +} +inline ::pg_query::RawStmt* ParseResult::add_stmts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::RawStmt* _add = _internal_mutable_stmts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ParseResult.stmts) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& ParseResult::stmts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ParseResult.stmts) + return _internal_stmts(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& +ParseResult::_internal_stmts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmts_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* +ParseResult::_internal_mutable_stmts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.stmts_; +} + +// ------------------------------------------------------------------- + +// ScanResult + +// int32 version = 1; +inline void ScanResult::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_ = 0; +} +inline ::int32_t ScanResult::version() const { + // @@protoc_insertion_point(field_get:pg_query.ScanResult.version) + return _internal_version(); +} +inline void ScanResult::set_version(::int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:pg_query.ScanResult.version) +} +inline ::int32_t ScanResult::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_; +} +inline void ScanResult::_internal_set_version(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_ = value; +} + +// repeated .pg_query.ScanToken tokens = 2; +inline int ScanResult::_internal_tokens_size() const { + return _internal_tokens().size(); +} +inline int ScanResult::tokens_size() const { + return _internal_tokens_size(); +} +inline void ScanResult::clear_tokens() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tokens_.Clear(); +} +inline ::pg_query::ScanToken* ScanResult::mutable_tokens(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ScanResult.tokens) + return _internal_mutable_tokens()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* ScanResult::mutable_tokens() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ScanResult.tokens) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_tokens(); +} +inline const ::pg_query::ScanToken& ScanResult::tokens(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ScanResult.tokens) + return _internal_tokens().Get(index); +} +inline ::pg_query::ScanToken* ScanResult::add_tokens() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::ScanToken* _add = _internal_mutable_tokens()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ScanResult.tokens) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& ScanResult::tokens() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ScanResult.tokens) + return _internal_tokens(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& +ScanResult::_internal_tokens() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tokens_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* +ScanResult::_internal_mutable_tokens() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.tokens_; +} + +// ------------------------------------------------------------------- + +// Node + +// .pg_query.Alias alias = 1 [json_name = "Alias"]; +inline bool Node::has_alias() const { + return node_case() == kAlias; +} +inline bool Node::_internal_has_alias() const { + return node_case() == kAlias; +} +inline void Node::set_has_alias() { + _impl_._oneof_case_[0] = kAlias; +} +inline void Node::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlias) { + if (GetArena() == nullptr) { + delete _impl_.node_.alias_; + } + clear_has_node(); + } +} +inline ::pg_query::Alias* Node::release_alias() { + // @@protoc_insertion_point(field_release:pg_query.Node.alias) + if (node_case() == kAlias) { + clear_has_node(); + auto* temp = _impl_.node_.alias_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.alias_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Alias& Node::_internal_alias() const { + return node_case() == kAlias ? *_impl_.node_.alias_ : reinterpret_cast<::pg_query::Alias&>(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& Node::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alias) + return _internal_alias(); +} +inline ::pg_query::Alias* Node::unsafe_arena_release_alias() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alias) + if (node_case() == kAlias) { + clear_has_node(); + auto* temp = _impl_.node_.alias_; + _impl_.node_.alias_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alias(); + _impl_.node_.alias_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alias) +} +inline ::pg_query::Alias* Node::_internal_mutable_alias() { + if (node_case() != kAlias) { + clear_node(); + set_has_alias(); + _impl_.node_.alias_ = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + } + return _impl_.node_.alias_; +} +inline ::pg_query::Alias* Node::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alias) + return _msg; +} + +// .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; +inline bool Node::has_range_var() const { + return node_case() == kRangeVar; +} +inline bool Node::_internal_has_range_var() const { + return node_case() == kRangeVar; +} +inline void Node::set_has_range_var() { + _impl_._oneof_case_[0] = kRangeVar; +} +inline void Node::clear_range_var() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeVar) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_var_; + } + clear_has_node(); + } +} +inline ::pg_query::RangeVar* Node::release_range_var() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_var) + if (node_case() == kRangeVar) { + clear_has_node(); + auto* temp = _impl_.node_.range_var_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.range_var_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RangeVar& Node::_internal_range_var() const { + return node_case() == kRangeVar ? *_impl_.node_.range_var_ : reinterpret_cast<::pg_query::RangeVar&>(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& Node::range_var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_var) + return _internal_range_var(); +} +inline ::pg_query::RangeVar* Node::unsafe_arena_release_range_var() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_var) + if (node_case() == kRangeVar) { + clear_has_node(); + auto* temp = _impl_.node_.range_var_; + _impl_.node_.range_var_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_range_var(); + _impl_.node_.range_var_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_var) +} +inline ::pg_query::RangeVar* Node::_internal_mutable_range_var() { + if (node_case() != kRangeVar) { + clear_node(); + set_has_range_var(); + _impl_.node_.range_var_ = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + } + return _impl_.node_.range_var_; +} +inline ::pg_query::RangeVar* Node::mutable_range_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_range_var(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_var) + return _msg; +} + +// .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; +inline bool Node::has_table_func() const { + return node_case() == kTableFunc; +} +inline bool Node::_internal_has_table_func() const { + return node_case() == kTableFunc; +} +inline void Node::set_has_table_func() { + _impl_._oneof_case_[0] = kTableFunc; +} +inline void Node::clear_table_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTableFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.table_func_; + } + clear_has_node(); + } +} +inline ::pg_query::TableFunc* Node::release_table_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_func) + if (node_case() == kTableFunc) { + clear_has_node(); + auto* temp = _impl_.node_.table_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.table_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::TableFunc& Node::_internal_table_func() const { + return node_case() == kTableFunc ? *_impl_.node_.table_func_ : reinterpret_cast<::pg_query::TableFunc&>(::pg_query::_TableFunc_default_instance_); +} +inline const ::pg_query::TableFunc& Node::table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_func) + return _internal_table_func(); +} +inline ::pg_query::TableFunc* Node::unsafe_arena_release_table_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_func) + if (node_case() == kTableFunc) { + clear_has_node(); + auto* temp = _impl_.node_.table_func_; + _impl_.node_.table_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_table_func(); + _impl_.node_.table_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_func) +} +inline ::pg_query::TableFunc* Node::_internal_mutable_table_func() { + if (node_case() != kTableFunc) { + clear_node(); + set_has_table_func(); + _impl_.node_.table_func_ = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); + } + return _impl_.node_.table_func_; +} +inline ::pg_query::TableFunc* Node::mutable_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableFunc* _msg = _internal_mutable_table_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_func) + return _msg; +} + +// .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; +inline bool Node::has_into_clause() const { + return node_case() == kIntoClause; +} +inline bool Node::_internal_has_into_clause() const { + return node_case() == kIntoClause; +} +inline void Node::set_has_into_clause() { + _impl_._oneof_case_[0] = kIntoClause; +} +inline void Node::clear_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kIntoClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.into_clause_; + } + clear_has_node(); + } +} +inline ::pg_query::IntoClause* Node::release_into_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.into_clause) + if (node_case() == kIntoClause) { + clear_has_node(); + auto* temp = _impl_.node_.into_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.into_clause_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::IntoClause& Node::_internal_into_clause() const { + return node_case() == kIntoClause ? *_impl_.node_.into_clause_ : reinterpret_cast<::pg_query::IntoClause&>(::pg_query::_IntoClause_default_instance_); +} +inline const ::pg_query::IntoClause& Node::into_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.into_clause) + return _internal_into_clause(); +} +inline ::pg_query::IntoClause* Node::unsafe_arena_release_into_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.into_clause) + if (node_case() == kIntoClause) { + clear_has_node(); + auto* temp = _impl_.node_.into_clause_; + _impl_.node_.into_clause_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_into_clause(); + _impl_.node_.into_clause_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.into_clause) +} +inline ::pg_query::IntoClause* Node::_internal_mutable_into_clause() { + if (node_case() != kIntoClause) { + clear_node(); + set_has_into_clause(); + _impl_.node_.into_clause_ = CreateMaybeMessage<::pg_query::IntoClause>(GetArena()); + } + return _impl_.node_.into_clause_; +} +inline ::pg_query::IntoClause* Node::mutable_into_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.into_clause) + return _msg; +} + +// .pg_query.Var var = 5 [json_name = "Var"]; +inline bool Node::has_var() const { + return node_case() == kVar; +} +inline bool Node::_internal_has_var() const { + return node_case() == kVar; +} +inline void Node::set_has_var() { + _impl_._oneof_case_[0] = kVar; +} +inline void Node::clear_var() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVar) { + if (GetArena() == nullptr) { + delete _impl_.node_.var_; + } + clear_has_node(); + } +} +inline ::pg_query::Var* Node::release_var() { + // @@protoc_insertion_point(field_release:pg_query.Node.var) + if (node_case() == kVar) { + clear_has_node(); + auto* temp = _impl_.node_.var_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.var_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Var& Node::_internal_var() const { + return node_case() == kVar ? *_impl_.node_.var_ : reinterpret_cast<::pg_query::Var&>(::pg_query::_Var_default_instance_); +} +inline const ::pg_query::Var& Node::var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.var) + return _internal_var(); +} +inline ::pg_query::Var* Node::unsafe_arena_release_var() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.var) + if (node_case() == kVar) { + clear_has_node(); + auto* temp = _impl_.node_.var_; + _impl_.node_.var_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_var(::pg_query::Var* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_var(); + _impl_.node_.var_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.var) +} +inline ::pg_query::Var* Node::_internal_mutable_var() { + if (node_case() != kVar) { + clear_node(); + set_has_var(); + _impl_.node_.var_ = CreateMaybeMessage<::pg_query::Var>(GetArena()); + } + return _impl_.node_.var_; +} +inline ::pg_query::Var* Node::mutable_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Var* _msg = _internal_mutable_var(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.var) + return _msg; +} + +// .pg_query.Param param = 6 [json_name = "Param"]; +inline bool Node::has_param() const { + return node_case() == kParam; +} +inline bool Node::_internal_has_param() const { + return node_case() == kParam; +} +inline void Node::set_has_param() { + _impl_._oneof_case_[0] = kParam; +} +inline void Node::clear_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kParam) { + if (GetArena() == nullptr) { + delete _impl_.node_.param_; + } + clear_has_node(); + } +} +inline ::pg_query::Param* Node::release_param() { + // @@protoc_insertion_point(field_release:pg_query.Node.param) + if (node_case() == kParam) { + clear_has_node(); + auto* temp = _impl_.node_.param_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.param_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Param& Node::_internal_param() const { + return node_case() == kParam ? *_impl_.node_.param_ : reinterpret_cast<::pg_query::Param&>(::pg_query::_Param_default_instance_); +} +inline const ::pg_query::Param& Node::param() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.param) + return _internal_param(); +} +inline ::pg_query::Param* Node::unsafe_arena_release_param() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param) + if (node_case() == kParam) { + clear_has_node(); + auto* temp = _impl_.node_.param_; + _impl_.node_.param_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_param(::pg_query::Param* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_param(); + _impl_.node_.param_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param) +} +inline ::pg_query::Param* Node::_internal_mutable_param() { + if (node_case() != kParam) { + clear_node(); + set_has_param(); + _impl_.node_.param_ = CreateMaybeMessage<::pg_query::Param>(GetArena()); + } + return _impl_.node_.param_; +} +inline ::pg_query::Param* Node::mutable_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Param* _msg = _internal_mutable_param(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.param) + return _msg; +} + +// .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; +inline bool Node::has_aggref() const { + return node_case() == kAggref; +} +inline bool Node::_internal_has_aggref() const { + return node_case() == kAggref; +} +inline void Node::set_has_aggref() { + _impl_._oneof_case_[0] = kAggref; +} +inline void Node::clear_aggref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAggref) { + if (GetArena() == nullptr) { + delete _impl_.node_.aggref_; + } + clear_has_node(); + } +} +inline ::pg_query::Aggref* Node::release_aggref() { + // @@protoc_insertion_point(field_release:pg_query.Node.aggref) + if (node_case() == kAggref) { + clear_has_node(); + auto* temp = _impl_.node_.aggref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.aggref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Aggref& Node::_internal_aggref() const { + return node_case() == kAggref ? *_impl_.node_.aggref_ : reinterpret_cast<::pg_query::Aggref&>(::pg_query::_Aggref_default_instance_); +} +inline const ::pg_query::Aggref& Node::aggref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.aggref) + return _internal_aggref(); +} +inline ::pg_query::Aggref* Node::unsafe_arena_release_aggref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.aggref) + if (node_case() == kAggref) { + clear_has_node(); + auto* temp = _impl_.node_.aggref_; + _impl_.node_.aggref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_aggref(); + _impl_.node_.aggref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.aggref) +} +inline ::pg_query::Aggref* Node::_internal_mutable_aggref() { + if (node_case() != kAggref) { + clear_node(); + set_has_aggref(); + _impl_.node_.aggref_ = CreateMaybeMessage<::pg_query::Aggref>(GetArena()); + } + return _impl_.node_.aggref_; +} +inline ::pg_query::Aggref* Node::mutable_aggref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Aggref* _msg = _internal_mutable_aggref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.aggref) + return _msg; +} + +// .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; +inline bool Node::has_grouping_func() const { + return node_case() == kGroupingFunc; +} +inline bool Node::_internal_has_grouping_func() const { + return node_case() == kGroupingFunc; +} +inline void Node::set_has_grouping_func() { + _impl_._oneof_case_[0] = kGroupingFunc; +} +inline void Node::clear_grouping_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kGroupingFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.grouping_func_; + } + clear_has_node(); + } +} +inline ::pg_query::GroupingFunc* Node::release_grouping_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.grouping_func) + if (node_case() == kGroupingFunc) { + clear_has_node(); + auto* temp = _impl_.node_.grouping_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.grouping_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::GroupingFunc& Node::_internal_grouping_func() const { + return node_case() == kGroupingFunc ? *_impl_.node_.grouping_func_ : reinterpret_cast<::pg_query::GroupingFunc&>(::pg_query::_GroupingFunc_default_instance_); +} +inline const ::pg_query::GroupingFunc& Node::grouping_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grouping_func) + return _internal_grouping_func(); +} +inline ::pg_query::GroupingFunc* Node::unsafe_arena_release_grouping_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_func) + if (node_case() == kGroupingFunc) { + clear_has_node(); + auto* temp = _impl_.node_.grouping_func_; + _impl_.node_.grouping_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_grouping_func(); + _impl_.node_.grouping_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_func) +} +inline ::pg_query::GroupingFunc* Node::_internal_mutable_grouping_func() { + if (node_case() != kGroupingFunc) { + clear_node(); + set_has_grouping_func(); + _impl_.node_.grouping_func_ = CreateMaybeMessage<::pg_query::GroupingFunc>(GetArena()); + } + return _impl_.node_.grouping_func_; +} +inline ::pg_query::GroupingFunc* Node::mutable_grouping_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GroupingFunc* _msg = _internal_mutable_grouping_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_func) + return _msg; +} + +// .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; +inline bool Node::has_window_func() const { + return node_case() == kWindowFunc; +} +inline bool Node::_internal_has_window_func() const { + return node_case() == kWindowFunc; +} +inline void Node::set_has_window_func() { + _impl_._oneof_case_[0] = kWindowFunc; +} +inline void Node::clear_window_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_func_; + } + clear_has_node(); + } +} +inline ::pg_query::WindowFunc* Node::release_window_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_func) + if (node_case() == kWindowFunc) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.window_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::WindowFunc& Node::_internal_window_func() const { + return node_case() == kWindowFunc ? *_impl_.node_.window_func_ : reinterpret_cast<::pg_query::WindowFunc&>(::pg_query::_WindowFunc_default_instance_); +} +inline const ::pg_query::WindowFunc& Node::window_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_func) + return _internal_window_func(); +} +inline ::pg_query::WindowFunc* Node::unsafe_arena_release_window_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func) + if (node_case() == kWindowFunc) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_; + _impl_.node_.window_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_window_func(); + _impl_.node_.window_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func) +} +inline ::pg_query::WindowFunc* Node::_internal_mutable_window_func() { + if (node_case() != kWindowFunc) { + clear_node(); + set_has_window_func(); + _impl_.node_.window_func_ = CreateMaybeMessage<::pg_query::WindowFunc>(GetArena()); + } + return _impl_.node_.window_func_; +} +inline ::pg_query::WindowFunc* Node::mutable_window_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowFunc* _msg = _internal_mutable_window_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func) + return _msg; +} + +// .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"]; +inline bool Node::has_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition; +} +inline bool Node::_internal_has_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition; +} +inline void Node::set_has_window_func_run_condition() { + _impl_._oneof_case_[0] = kWindowFuncRunCondition; +} +inline void Node::clear_window_func_run_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowFuncRunCondition) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_func_run_condition_; + } + clear_has_node(); + } +} +inline ::pg_query::WindowFuncRunCondition* Node::release_window_func_run_condition() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_func_run_condition) + if (node_case() == kWindowFuncRunCondition) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_run_condition_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.window_func_run_condition_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::WindowFuncRunCondition& Node::_internal_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition ? *_impl_.node_.window_func_run_condition_ : reinterpret_cast<::pg_query::WindowFuncRunCondition&>(::pg_query::_WindowFuncRunCondition_default_instance_); +} +inline const ::pg_query::WindowFuncRunCondition& Node::window_func_run_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_func_run_condition) + return _internal_window_func_run_condition(); +} +inline ::pg_query::WindowFuncRunCondition* Node::unsafe_arena_release_window_func_run_condition() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func_run_condition) + if (node_case() == kWindowFuncRunCondition) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_run_condition_; + _impl_.node_.window_func_run_condition_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_window_func_run_condition(); + _impl_.node_.window_func_run_condition_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func_run_condition) +} +inline ::pg_query::WindowFuncRunCondition* Node::_internal_mutable_window_func_run_condition() { + if (node_case() != kWindowFuncRunCondition) { + clear_node(); + set_has_window_func_run_condition(); + _impl_.node_.window_func_run_condition_ = CreateMaybeMessage<::pg_query::WindowFuncRunCondition>(GetArena()); + } + return _impl_.node_.window_func_run_condition_; +} +inline ::pg_query::WindowFuncRunCondition* Node::mutable_window_func_run_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowFuncRunCondition* _msg = _internal_mutable_window_func_run_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func_run_condition) + return _msg; +} + +// .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"]; +inline bool Node::has_merge_support_func() const { + return node_case() == kMergeSupportFunc; +} +inline bool Node::_internal_has_merge_support_func() const { + return node_case() == kMergeSupportFunc; +} +inline void Node::set_has_merge_support_func() { + _impl_._oneof_case_[0] = kMergeSupportFunc; +} +inline void Node::clear_merge_support_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeSupportFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_support_func_; + } + clear_has_node(); + } +} +inline ::pg_query::MergeSupportFunc* Node::release_merge_support_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_support_func) + if (node_case() == kMergeSupportFunc) { + clear_has_node(); + auto* temp = _impl_.node_.merge_support_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.merge_support_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::MergeSupportFunc& Node::_internal_merge_support_func() const { + return node_case() == kMergeSupportFunc ? *_impl_.node_.merge_support_func_ : reinterpret_cast<::pg_query::MergeSupportFunc&>(::pg_query::_MergeSupportFunc_default_instance_); +} +inline const ::pg_query::MergeSupportFunc& Node::merge_support_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_support_func) + return _internal_merge_support_func(); +} +inline ::pg_query::MergeSupportFunc* Node::unsafe_arena_release_merge_support_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_support_func) + if (node_case() == kMergeSupportFunc) { + clear_has_node(); + auto* temp = _impl_.node_.merge_support_func_; + _impl_.node_.merge_support_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_merge_support_func(); + _impl_.node_.merge_support_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_support_func) +} +inline ::pg_query::MergeSupportFunc* Node::_internal_mutable_merge_support_func() { + if (node_case() != kMergeSupportFunc) { + clear_node(); + set_has_merge_support_func(); + _impl_.node_.merge_support_func_ = CreateMaybeMessage<::pg_query::MergeSupportFunc>(GetArena()); + } + return _impl_.node_.merge_support_func_; +} +inline ::pg_query::MergeSupportFunc* Node::mutable_merge_support_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeSupportFunc* _msg = _internal_mutable_merge_support_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_support_func) + return _msg; +} + +// .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"]; +inline bool Node::has_subscripting_ref() const { + return node_case() == kSubscriptingRef; +} +inline bool Node::_internal_has_subscripting_ref() const { + return node_case() == kSubscriptingRef; +} +inline void Node::set_has_subscripting_ref() { + _impl_._oneof_case_[0] = kSubscriptingRef; +} +inline void Node::clear_subscripting_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubscriptingRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.subscripting_ref_; + } + clear_has_node(); + } +} +inline ::pg_query::SubscriptingRef* Node::release_subscripting_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.subscripting_ref) + if (node_case() == kSubscriptingRef) { + clear_has_node(); + auto* temp = _impl_.node_.subscripting_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.subscripting_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::SubscriptingRef& Node::_internal_subscripting_ref() const { + return node_case() == kSubscriptingRef ? *_impl_.node_.subscripting_ref_ : reinterpret_cast<::pg_query::SubscriptingRef&>(::pg_query::_SubscriptingRef_default_instance_); +} +inline const ::pg_query::SubscriptingRef& Node::subscripting_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.subscripting_ref) + return _internal_subscripting_ref(); +} +inline ::pg_query::SubscriptingRef* Node::unsafe_arena_release_subscripting_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.subscripting_ref) + if (node_case() == kSubscriptingRef) { + clear_has_node(); + auto* temp = _impl_.node_.subscripting_ref_; + _impl_.node_.subscripting_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_subscripting_ref(); + _impl_.node_.subscripting_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.subscripting_ref) +} +inline ::pg_query::SubscriptingRef* Node::_internal_mutable_subscripting_ref() { + if (node_case() != kSubscriptingRef) { + clear_node(); + set_has_subscripting_ref(); + _impl_.node_.subscripting_ref_ = CreateMaybeMessage<::pg_query::SubscriptingRef>(GetArena()); + } + return _impl_.node_.subscripting_ref_; +} +inline ::pg_query::SubscriptingRef* Node::mutable_subscripting_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubscriptingRef* _msg = _internal_mutable_subscripting_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.subscripting_ref) + return _msg; +} + +// .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"]; +inline bool Node::has_func_expr() const { + return node_case() == kFuncExpr; +} +inline bool Node::_internal_has_func_expr() const { + return node_case() == kFuncExpr; +} +inline void Node::set_has_func_expr() { + _impl_._oneof_case_[0] = kFuncExpr; +} +inline void Node::clear_func_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFuncExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.func_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::FuncExpr* Node::release_func_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.func_expr) + if (node_case() == kFuncExpr) { + clear_has_node(); + auto* temp = _impl_.node_.func_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.func_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FuncExpr& Node::_internal_func_expr() const { + return node_case() == kFuncExpr ? *_impl_.node_.func_expr_ : reinterpret_cast<::pg_query::FuncExpr&>(::pg_query::_FuncExpr_default_instance_); +} +inline const ::pg_query::FuncExpr& Node::func_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.func_expr) + return _internal_func_expr(); +} +inline ::pg_query::FuncExpr* Node::unsafe_arena_release_func_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_expr) + if (node_case() == kFuncExpr) { + clear_has_node(); + auto* temp = _impl_.node_.func_expr_; + _impl_.node_.func_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_func_expr(); + _impl_.node_.func_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_expr) +} +inline ::pg_query::FuncExpr* Node::_internal_mutable_func_expr() { + if (node_case() != kFuncExpr) { + clear_node(); + set_has_func_expr(); + _impl_.node_.func_expr_ = CreateMaybeMessage<::pg_query::FuncExpr>(GetArena()); + } + return _impl_.node_.func_expr_; +} +inline ::pg_query::FuncExpr* Node::mutable_func_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncExpr* _msg = _internal_mutable_func_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.func_expr) + return _msg; +} + +// .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"]; +inline bool Node::has_named_arg_expr() const { + return node_case() == kNamedArgExpr; +} +inline bool Node::_internal_has_named_arg_expr() const { + return node_case() == kNamedArgExpr; +} +inline void Node::set_has_named_arg_expr() { + _impl_._oneof_case_[0] = kNamedArgExpr; +} +inline void Node::clear_named_arg_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNamedArgExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.named_arg_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::NamedArgExpr* Node::release_named_arg_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.named_arg_expr) + if (node_case() == kNamedArgExpr) { + clear_has_node(); + auto* temp = _impl_.node_.named_arg_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.named_arg_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::NamedArgExpr& Node::_internal_named_arg_expr() const { + return node_case() == kNamedArgExpr ? *_impl_.node_.named_arg_expr_ : reinterpret_cast<::pg_query::NamedArgExpr&>(::pg_query::_NamedArgExpr_default_instance_); +} +inline const ::pg_query::NamedArgExpr& Node::named_arg_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.named_arg_expr) + return _internal_named_arg_expr(); +} +inline ::pg_query::NamedArgExpr* Node::unsafe_arena_release_named_arg_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.named_arg_expr) + if (node_case() == kNamedArgExpr) { + clear_has_node(); + auto* temp = _impl_.node_.named_arg_expr_; + _impl_.node_.named_arg_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_named_arg_expr(); + _impl_.node_.named_arg_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.named_arg_expr) +} +inline ::pg_query::NamedArgExpr* Node::_internal_mutable_named_arg_expr() { + if (node_case() != kNamedArgExpr) { + clear_node(); + set_has_named_arg_expr(); + _impl_.node_.named_arg_expr_ = CreateMaybeMessage<::pg_query::NamedArgExpr>(GetArena()); + } + return _impl_.node_.named_arg_expr_; +} +inline ::pg_query::NamedArgExpr* Node::mutable_named_arg_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NamedArgExpr* _msg = _internal_mutable_named_arg_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.named_arg_expr) + return _msg; +} + +// .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"]; +inline bool Node::has_op_expr() const { + return node_case() == kOpExpr; +} +inline bool Node::_internal_has_op_expr() const { + return node_case() == kOpExpr; +} +inline void Node::set_has_op_expr() { + _impl_._oneof_case_[0] = kOpExpr; +} +inline void Node::clear_op_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOpExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.op_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::OpExpr* Node::release_op_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.op_expr) + if (node_case() == kOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.op_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::OpExpr& Node::_internal_op_expr() const { + return node_case() == kOpExpr ? *_impl_.node_.op_expr_ : reinterpret_cast<::pg_query::OpExpr&>(::pg_query::_OpExpr_default_instance_); +} +inline const ::pg_query::OpExpr& Node::op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.op_expr) + return _internal_op_expr(); +} +inline ::pg_query::OpExpr* Node::unsafe_arena_release_op_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.op_expr) + if (node_case() == kOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.op_expr_; + _impl_.node_.op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_op_expr(); + _impl_.node_.op_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.op_expr) +} +inline ::pg_query::OpExpr* Node::_internal_mutable_op_expr() { + if (node_case() != kOpExpr) { + clear_node(); + set_has_op_expr(); + _impl_.node_.op_expr_ = CreateMaybeMessage<::pg_query::OpExpr>(GetArena()); + } + return _impl_.node_.op_expr_; +} +inline ::pg_query::OpExpr* Node::mutable_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OpExpr* _msg = _internal_mutable_op_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.op_expr) + return _msg; +} + +// .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"]; +inline bool Node::has_distinct_expr() const { + return node_case() == kDistinctExpr; +} +inline bool Node::_internal_has_distinct_expr() const { + return node_case() == kDistinctExpr; +} +inline void Node::set_has_distinct_expr() { + _impl_._oneof_case_[0] = kDistinctExpr; +} +inline void Node::clear_distinct_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDistinctExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.distinct_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::DistinctExpr* Node::release_distinct_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.distinct_expr) + if (node_case() == kDistinctExpr) { + clear_has_node(); + auto* temp = _impl_.node_.distinct_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.distinct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::DistinctExpr& Node::_internal_distinct_expr() const { + return node_case() == kDistinctExpr ? *_impl_.node_.distinct_expr_ : reinterpret_cast<::pg_query::DistinctExpr&>(::pg_query::_DistinctExpr_default_instance_); +} +inline const ::pg_query::DistinctExpr& Node::distinct_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.distinct_expr) + return _internal_distinct_expr(); +} +inline ::pg_query::DistinctExpr* Node::unsafe_arena_release_distinct_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.distinct_expr) + if (node_case() == kDistinctExpr) { + clear_has_node(); + auto* temp = _impl_.node_.distinct_expr_; + _impl_.node_.distinct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_distinct_expr(); + _impl_.node_.distinct_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.distinct_expr) +} +inline ::pg_query::DistinctExpr* Node::_internal_mutable_distinct_expr() { + if (node_case() != kDistinctExpr) { + clear_node(); + set_has_distinct_expr(); + _impl_.node_.distinct_expr_ = CreateMaybeMessage<::pg_query::DistinctExpr>(GetArena()); + } + return _impl_.node_.distinct_expr_; +} +inline ::pg_query::DistinctExpr* Node::mutable_distinct_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DistinctExpr* _msg = _internal_mutable_distinct_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.distinct_expr) + return _msg; +} + +// .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"]; +inline bool Node::has_null_if_expr() const { + return node_case() == kNullIfExpr; +} +inline bool Node::_internal_has_null_if_expr() const { + return node_case() == kNullIfExpr; +} +inline void Node::set_has_null_if_expr() { + _impl_._oneof_case_[0] = kNullIfExpr; +} +inline void Node::clear_null_if_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNullIfExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.null_if_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::NullIfExpr* Node::release_null_if_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.null_if_expr) + if (node_case() == kNullIfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.null_if_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.null_if_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::NullIfExpr& Node::_internal_null_if_expr() const { + return node_case() == kNullIfExpr ? *_impl_.node_.null_if_expr_ : reinterpret_cast<::pg_query::NullIfExpr&>(::pg_query::_NullIfExpr_default_instance_); +} +inline const ::pg_query::NullIfExpr& Node::null_if_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.null_if_expr) + return _internal_null_if_expr(); +} +inline ::pg_query::NullIfExpr* Node::unsafe_arena_release_null_if_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_if_expr) + if (node_case() == kNullIfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.null_if_expr_; + _impl_.node_.null_if_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_null_if_expr(); + _impl_.node_.null_if_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_if_expr) +} +inline ::pg_query::NullIfExpr* Node::_internal_mutable_null_if_expr() { + if (node_case() != kNullIfExpr) { + clear_node(); + set_has_null_if_expr(); + _impl_.node_.null_if_expr_ = CreateMaybeMessage<::pg_query::NullIfExpr>(GetArena()); + } + return _impl_.node_.null_if_expr_; +} +inline ::pg_query::NullIfExpr* Node::mutable_null_if_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NullIfExpr* _msg = _internal_mutable_null_if_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.null_if_expr) + return _msg; +} + +// .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"]; +inline bool Node::has_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr; +} +inline bool Node::_internal_has_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr; +} +inline void Node::set_has_scalar_array_op_expr() { + _impl_._oneof_case_[0] = kScalarArrayOpExpr; +} +inline void Node::clear_scalar_array_op_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kScalarArrayOpExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.scalar_array_op_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::ScalarArrayOpExpr* Node::release_scalar_array_op_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.scalar_array_op_expr) + if (node_case() == kScalarArrayOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.scalar_array_op_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.scalar_array_op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ScalarArrayOpExpr& Node::_internal_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr ? *_impl_.node_.scalar_array_op_expr_ : reinterpret_cast<::pg_query::ScalarArrayOpExpr&>(::pg_query::_ScalarArrayOpExpr_default_instance_); +} +inline const ::pg_query::ScalarArrayOpExpr& Node::scalar_array_op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.scalar_array_op_expr) + return _internal_scalar_array_op_expr(); +} +inline ::pg_query::ScalarArrayOpExpr* Node::unsafe_arena_release_scalar_array_op_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.scalar_array_op_expr) + if (node_case() == kScalarArrayOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.scalar_array_op_expr_; + _impl_.node_.scalar_array_op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_scalar_array_op_expr(); + _impl_.node_.scalar_array_op_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.scalar_array_op_expr) +} +inline ::pg_query::ScalarArrayOpExpr* Node::_internal_mutable_scalar_array_op_expr() { + if (node_case() != kScalarArrayOpExpr) { + clear_node(); + set_has_scalar_array_op_expr(); + _impl_.node_.scalar_array_op_expr_ = CreateMaybeMessage<::pg_query::ScalarArrayOpExpr>(GetArena()); + } + return _impl_.node_.scalar_array_op_expr_; +} +inline ::pg_query::ScalarArrayOpExpr* Node::mutable_scalar_array_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ScalarArrayOpExpr* _msg = _internal_mutable_scalar_array_op_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.scalar_array_op_expr) + return _msg; +} + +// .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"]; +inline bool Node::has_bool_expr() const { + return node_case() == kBoolExpr; +} +inline bool Node::_internal_has_bool_expr() const { + return node_case() == kBoolExpr; +} +inline void Node::set_has_bool_expr() { + _impl_._oneof_case_[0] = kBoolExpr; +} +inline void Node::clear_bool_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBoolExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.bool_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::BoolExpr* Node::release_bool_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.bool_expr) + if (node_case() == kBoolExpr) { + clear_has_node(); + auto* temp = _impl_.node_.bool_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.bool_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::BoolExpr& Node::_internal_bool_expr() const { + return node_case() == kBoolExpr ? *_impl_.node_.bool_expr_ : reinterpret_cast<::pg_query::BoolExpr&>(::pg_query::_BoolExpr_default_instance_); +} +inline const ::pg_query::BoolExpr& Node::bool_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.bool_expr) + return _internal_bool_expr(); +} +inline ::pg_query::BoolExpr* Node::unsafe_arena_release_bool_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bool_expr) + if (node_case() == kBoolExpr) { + clear_has_node(); + auto* temp = _impl_.node_.bool_expr_; + _impl_.node_.bool_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_bool_expr(); + _impl_.node_.bool_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bool_expr) +} +inline ::pg_query::BoolExpr* Node::_internal_mutable_bool_expr() { + if (node_case() != kBoolExpr) { + clear_node(); + set_has_bool_expr(); + _impl_.node_.bool_expr_ = CreateMaybeMessage<::pg_query::BoolExpr>(GetArena()); + } + return _impl_.node_.bool_expr_; +} +inline ::pg_query::BoolExpr* Node::mutable_bool_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BoolExpr* _msg = _internal_mutable_bool_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.bool_expr) + return _msg; +} + +// .pg_query.SubLink sub_link = 20 [json_name = "SubLink"]; +inline bool Node::has_sub_link() const { + return node_case() == kSubLink; +} +inline bool Node::_internal_has_sub_link() const { + return node_case() == kSubLink; +} +inline void Node::set_has_sub_link() { + _impl_._oneof_case_[0] = kSubLink; +} +inline void Node::clear_sub_link() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubLink) { + if (GetArena() == nullptr) { + delete _impl_.node_.sub_link_; + } + clear_has_node(); + } +} +inline ::pg_query::SubLink* Node::release_sub_link() { + // @@protoc_insertion_point(field_release:pg_query.Node.sub_link) + if (node_case() == kSubLink) { + clear_has_node(); + auto* temp = _impl_.node_.sub_link_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.sub_link_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::SubLink& Node::_internal_sub_link() const { + return node_case() == kSubLink ? *_impl_.node_.sub_link_ : reinterpret_cast<::pg_query::SubLink&>(::pg_query::_SubLink_default_instance_); +} +inline const ::pg_query::SubLink& Node::sub_link() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sub_link) + return _internal_sub_link(); +} +inline ::pg_query::SubLink* Node::unsafe_arena_release_sub_link() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_link) + if (node_case() == kSubLink) { + clear_has_node(); + auto* temp = _impl_.node_.sub_link_; + _impl_.node_.sub_link_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sub_link(); + _impl_.node_.sub_link_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_link) +} +inline ::pg_query::SubLink* Node::_internal_mutable_sub_link() { + if (node_case() != kSubLink) { + clear_node(); + set_has_sub_link(); + _impl_.node_.sub_link_ = CreateMaybeMessage<::pg_query::SubLink>(GetArena()); + } + return _impl_.node_.sub_link_; +} +inline ::pg_query::SubLink* Node::mutable_sub_link() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubLink* _msg = _internal_mutable_sub_link(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_link) + return _msg; +} + +// .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"]; +inline bool Node::has_sub_plan() const { + return node_case() == kSubPlan; +} +inline bool Node::_internal_has_sub_plan() const { + return node_case() == kSubPlan; +} +inline void Node::set_has_sub_plan() { + _impl_._oneof_case_[0] = kSubPlan; +} +inline void Node::clear_sub_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubPlan) { + if (GetArena() == nullptr) { + delete _impl_.node_.sub_plan_; + } + clear_has_node(); + } +} +inline ::pg_query::SubPlan* Node::release_sub_plan() { + // @@protoc_insertion_point(field_release:pg_query.Node.sub_plan) + if (node_case() == kSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.sub_plan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.sub_plan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::SubPlan& Node::_internal_sub_plan() const { + return node_case() == kSubPlan ? *_impl_.node_.sub_plan_ : reinterpret_cast<::pg_query::SubPlan&>(::pg_query::_SubPlan_default_instance_); +} +inline const ::pg_query::SubPlan& Node::sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sub_plan) + return _internal_sub_plan(); +} +inline ::pg_query::SubPlan* Node::unsafe_arena_release_sub_plan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_plan) + if (node_case() == kSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.sub_plan_; + _impl_.node_.sub_plan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sub_plan(); + _impl_.node_.sub_plan_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_plan) +} +inline ::pg_query::SubPlan* Node::_internal_mutable_sub_plan() { + if (node_case() != kSubPlan) { + clear_node(); + set_has_sub_plan(); + _impl_.node_.sub_plan_ = CreateMaybeMessage<::pg_query::SubPlan>(GetArena()); + } + return _impl_.node_.sub_plan_; +} +inline ::pg_query::SubPlan* Node::mutable_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubPlan* _msg = _internal_mutable_sub_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_plan) + return _msg; +} + +// .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"]; +inline bool Node::has_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan; +} +inline bool Node::_internal_has_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan; +} +inline void Node::set_has_alternative_sub_plan() { + _impl_._oneof_case_[0] = kAlternativeSubPlan; +} +inline void Node::clear_alternative_sub_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlternativeSubPlan) { + if (GetArena() == nullptr) { + delete _impl_.node_.alternative_sub_plan_; + } + clear_has_node(); + } +} +inline ::pg_query::AlternativeSubPlan* Node::release_alternative_sub_plan() { + // @@protoc_insertion_point(field_release:pg_query.Node.alternative_sub_plan) + if (node_case() == kAlternativeSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.alternative_sub_plan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.alternative_sub_plan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::AlternativeSubPlan& Node::_internal_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan ? *_impl_.node_.alternative_sub_plan_ : reinterpret_cast<::pg_query::AlternativeSubPlan&>(::pg_query::_AlternativeSubPlan_default_instance_); +} +inline const ::pg_query::AlternativeSubPlan& Node::alternative_sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alternative_sub_plan) + return _internal_alternative_sub_plan(); +} +inline ::pg_query::AlternativeSubPlan* Node::unsafe_arena_release_alternative_sub_plan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alternative_sub_plan) + if (node_case() == kAlternativeSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.alternative_sub_plan_; + _impl_.node_.alternative_sub_plan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alternative_sub_plan(); + _impl_.node_.alternative_sub_plan_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alternative_sub_plan) +} +inline ::pg_query::AlternativeSubPlan* Node::_internal_mutable_alternative_sub_plan() { + if (node_case() != kAlternativeSubPlan) { + clear_node(); + set_has_alternative_sub_plan(); + _impl_.node_.alternative_sub_plan_ = CreateMaybeMessage<::pg_query::AlternativeSubPlan>(GetArena()); + } + return _impl_.node_.alternative_sub_plan_; +} +inline ::pg_query::AlternativeSubPlan* Node::mutable_alternative_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlternativeSubPlan* _msg = _internal_mutable_alternative_sub_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alternative_sub_plan) + return _msg; +} + +// .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"]; +inline bool Node::has_field_select() const { + return node_case() == kFieldSelect; +} +inline bool Node::_internal_has_field_select() const { + return node_case() == kFieldSelect; +} +inline void Node::set_has_field_select() { + _impl_._oneof_case_[0] = kFieldSelect; +} +inline void Node::clear_field_select() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFieldSelect) { + if (GetArena() == nullptr) { + delete _impl_.node_.field_select_; + } + clear_has_node(); + } +} +inline ::pg_query::FieldSelect* Node::release_field_select() { + // @@protoc_insertion_point(field_release:pg_query.Node.field_select) + if (node_case() == kFieldSelect) { + clear_has_node(); + auto* temp = _impl_.node_.field_select_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.field_select_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FieldSelect& Node::_internal_field_select() const { + return node_case() == kFieldSelect ? *_impl_.node_.field_select_ : reinterpret_cast<::pg_query::FieldSelect&>(::pg_query::_FieldSelect_default_instance_); +} +inline const ::pg_query::FieldSelect& Node::field_select() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.field_select) + return _internal_field_select(); +} +inline ::pg_query::FieldSelect* Node::unsafe_arena_release_field_select() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_select) + if (node_case() == kFieldSelect) { + clear_has_node(); + auto* temp = _impl_.node_.field_select_; + _impl_.node_.field_select_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_field_select(); + _impl_.node_.field_select_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_select) +} +inline ::pg_query::FieldSelect* Node::_internal_mutable_field_select() { + if (node_case() != kFieldSelect) { + clear_node(); + set_has_field_select(); + _impl_.node_.field_select_ = CreateMaybeMessage<::pg_query::FieldSelect>(GetArena()); + } + return _impl_.node_.field_select_; +} +inline ::pg_query::FieldSelect* Node::mutable_field_select() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FieldSelect* _msg = _internal_mutable_field_select(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.field_select) + return _msg; +} + +// .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"]; +inline bool Node::has_field_store() const { + return node_case() == kFieldStore; +} +inline bool Node::_internal_has_field_store() const { + return node_case() == kFieldStore; +} +inline void Node::set_has_field_store() { + _impl_._oneof_case_[0] = kFieldStore; +} +inline void Node::clear_field_store() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFieldStore) { + if (GetArena() == nullptr) { + delete _impl_.node_.field_store_; + } + clear_has_node(); + } +} +inline ::pg_query::FieldStore* Node::release_field_store() { + // @@protoc_insertion_point(field_release:pg_query.Node.field_store) + if (node_case() == kFieldStore) { + clear_has_node(); + auto* temp = _impl_.node_.field_store_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.field_store_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FieldStore& Node::_internal_field_store() const { + return node_case() == kFieldStore ? *_impl_.node_.field_store_ : reinterpret_cast<::pg_query::FieldStore&>(::pg_query::_FieldStore_default_instance_); +} +inline const ::pg_query::FieldStore& Node::field_store() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.field_store) + return _internal_field_store(); +} +inline ::pg_query::FieldStore* Node::unsafe_arena_release_field_store() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_store) + if (node_case() == kFieldStore) { + clear_has_node(); + auto* temp = _impl_.node_.field_store_; + _impl_.node_.field_store_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_field_store(); + _impl_.node_.field_store_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_store) +} +inline ::pg_query::FieldStore* Node::_internal_mutable_field_store() { + if (node_case() != kFieldStore) { + clear_node(); + set_has_field_store(); + _impl_.node_.field_store_ = CreateMaybeMessage<::pg_query::FieldStore>(GetArena()); + } + return _impl_.node_.field_store_; +} +inline ::pg_query::FieldStore* Node::mutable_field_store() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FieldStore* _msg = _internal_mutable_field_store(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.field_store) + return _msg; +} + +// .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"]; +inline bool Node::has_relabel_type() const { + return node_case() == kRelabelType; +} +inline bool Node::_internal_has_relabel_type() const { + return node_case() == kRelabelType; +} +inline void Node::set_has_relabel_type() { + _impl_._oneof_case_[0] = kRelabelType; +} +inline void Node::clear_relabel_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRelabelType) { + if (GetArena() == nullptr) { + delete _impl_.node_.relabel_type_; + } + clear_has_node(); + } +} +inline ::pg_query::RelabelType* Node::release_relabel_type() { + // @@protoc_insertion_point(field_release:pg_query.Node.relabel_type) + if (node_case() == kRelabelType) { + clear_has_node(); + auto* temp = _impl_.node_.relabel_type_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.relabel_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RelabelType& Node::_internal_relabel_type() const { + return node_case() == kRelabelType ? *_impl_.node_.relabel_type_ : reinterpret_cast<::pg_query::RelabelType&>(::pg_query::_RelabelType_default_instance_); +} +inline const ::pg_query::RelabelType& Node::relabel_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.relabel_type) + return _internal_relabel_type(); +} +inline ::pg_query::RelabelType* Node::unsafe_arena_release_relabel_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.relabel_type) + if (node_case() == kRelabelType) { + clear_has_node(); + auto* temp = _impl_.node_.relabel_type_; + _impl_.node_.relabel_type_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_relabel_type(); + _impl_.node_.relabel_type_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.relabel_type) +} +inline ::pg_query::RelabelType* Node::_internal_mutable_relabel_type() { + if (node_case() != kRelabelType) { + clear_node(); + set_has_relabel_type(); + _impl_.node_.relabel_type_ = CreateMaybeMessage<::pg_query::RelabelType>(GetArena()); + } + return _impl_.node_.relabel_type_; +} +inline ::pg_query::RelabelType* Node::mutable_relabel_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RelabelType* _msg = _internal_mutable_relabel_type(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.relabel_type) + return _msg; +} + +// .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"]; +inline bool Node::has_coerce_via_io() const { + return node_case() == kCoerceViaIo; +} +inline bool Node::_internal_has_coerce_via_io() const { + return node_case() == kCoerceViaIo; +} +inline void Node::set_has_coerce_via_io() { + _impl_._oneof_case_[0] = kCoerceViaIo; +} +inline void Node::clear_coerce_via_io() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceViaIo) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_via_io_; + } + clear_has_node(); + } +} +inline ::pg_query::CoerceViaIO* Node::release_coerce_via_io() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_via_io) + if (node_case() == kCoerceViaIo) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_via_io_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.coerce_via_io_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CoerceViaIO& Node::_internal_coerce_via_io() const { + return node_case() == kCoerceViaIo ? *_impl_.node_.coerce_via_io_ : reinterpret_cast<::pg_query::CoerceViaIO&>(::pg_query::_CoerceViaIO_default_instance_); +} +inline const ::pg_query::CoerceViaIO& Node::coerce_via_io() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_via_io) + return _internal_coerce_via_io(); +} +inline ::pg_query::CoerceViaIO* Node::unsafe_arena_release_coerce_via_io() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_via_io) + if (node_case() == kCoerceViaIo) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_via_io_; + _impl_.node_.coerce_via_io_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_coerce_via_io(); + _impl_.node_.coerce_via_io_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_via_io) +} +inline ::pg_query::CoerceViaIO* Node::_internal_mutable_coerce_via_io() { + if (node_case() != kCoerceViaIo) { + clear_node(); + set_has_coerce_via_io(); + _impl_.node_.coerce_via_io_ = CreateMaybeMessage<::pg_query::CoerceViaIO>(GetArena()); + } + return _impl_.node_.coerce_via_io_; +} +inline ::pg_query::CoerceViaIO* Node::mutable_coerce_via_io() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceViaIO* _msg = _internal_mutable_coerce_via_io(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_via_io) + return _msg; +} + +// .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"]; +inline bool Node::has_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr; +} +inline bool Node::_internal_has_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr; +} +inline void Node::set_has_array_coerce_expr() { + _impl_._oneof_case_[0] = kArrayCoerceExpr; +} +inline void Node::clear_array_coerce_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kArrayCoerceExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.array_coerce_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::ArrayCoerceExpr* Node::release_array_coerce_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.array_coerce_expr) + if (node_case() == kArrayCoerceExpr) { + clear_has_node(); + auto* temp = _impl_.node_.array_coerce_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.array_coerce_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ArrayCoerceExpr& Node::_internal_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr ? *_impl_.node_.array_coerce_expr_ : reinterpret_cast<::pg_query::ArrayCoerceExpr&>(::pg_query::_ArrayCoerceExpr_default_instance_); +} +inline const ::pg_query::ArrayCoerceExpr& Node::array_coerce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.array_coerce_expr) + return _internal_array_coerce_expr(); +} +inline ::pg_query::ArrayCoerceExpr* Node::unsafe_arena_release_array_coerce_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_coerce_expr) + if (node_case() == kArrayCoerceExpr) { + clear_has_node(); + auto* temp = _impl_.node_.array_coerce_expr_; + _impl_.node_.array_coerce_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_array_coerce_expr(); + _impl_.node_.array_coerce_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_coerce_expr) +} +inline ::pg_query::ArrayCoerceExpr* Node::_internal_mutable_array_coerce_expr() { + if (node_case() != kArrayCoerceExpr) { + clear_node(); + set_has_array_coerce_expr(); + _impl_.node_.array_coerce_expr_ = CreateMaybeMessage<::pg_query::ArrayCoerceExpr>(GetArena()); + } + return _impl_.node_.array_coerce_expr_; +} +inline ::pg_query::ArrayCoerceExpr* Node::mutable_array_coerce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ArrayCoerceExpr* _msg = _internal_mutable_array_coerce_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.array_coerce_expr) + return _msg; +} + +// .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"]; +inline bool Node::has_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr; +} +inline bool Node::_internal_has_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr; +} +inline void Node::set_has_convert_rowtype_expr() { + _impl_._oneof_case_[0] = kConvertRowtypeExpr; +} +inline void Node::clear_convert_rowtype_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kConvertRowtypeExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.convert_rowtype_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::ConvertRowtypeExpr* Node::release_convert_rowtype_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.convert_rowtype_expr) + if (node_case() == kConvertRowtypeExpr) { + clear_has_node(); + auto* temp = _impl_.node_.convert_rowtype_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.convert_rowtype_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ConvertRowtypeExpr& Node::_internal_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr ? *_impl_.node_.convert_rowtype_expr_ : reinterpret_cast<::pg_query::ConvertRowtypeExpr&>(::pg_query::_ConvertRowtypeExpr_default_instance_); +} +inline const ::pg_query::ConvertRowtypeExpr& Node::convert_rowtype_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.convert_rowtype_expr) + return _internal_convert_rowtype_expr(); +} +inline ::pg_query::ConvertRowtypeExpr* Node::unsafe_arena_release_convert_rowtype_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.convert_rowtype_expr) + if (node_case() == kConvertRowtypeExpr) { + clear_has_node(); + auto* temp = _impl_.node_.convert_rowtype_expr_; + _impl_.node_.convert_rowtype_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_convert_rowtype_expr(); + _impl_.node_.convert_rowtype_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.convert_rowtype_expr) +} +inline ::pg_query::ConvertRowtypeExpr* Node::_internal_mutable_convert_rowtype_expr() { + if (node_case() != kConvertRowtypeExpr) { + clear_node(); + set_has_convert_rowtype_expr(); + _impl_.node_.convert_rowtype_expr_ = CreateMaybeMessage<::pg_query::ConvertRowtypeExpr>(GetArena()); + } + return _impl_.node_.convert_rowtype_expr_; +} +inline ::pg_query::ConvertRowtypeExpr* Node::mutable_convert_rowtype_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ConvertRowtypeExpr* _msg = _internal_mutable_convert_rowtype_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.convert_rowtype_expr) + return _msg; +} + +// .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"]; +inline bool Node::has_collate_expr() const { + return node_case() == kCollateExpr; +} +inline bool Node::_internal_has_collate_expr() const { + return node_case() == kCollateExpr; +} +inline void Node::set_has_collate_expr() { + _impl_._oneof_case_[0] = kCollateExpr; +} +inline void Node::clear_collate_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCollateExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.collate_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::CollateExpr* Node::release_collate_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.collate_expr) + if (node_case() == kCollateExpr) { + clear_has_node(); + auto* temp = _impl_.node_.collate_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.collate_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CollateExpr& Node::_internal_collate_expr() const { + return node_case() == kCollateExpr ? *_impl_.node_.collate_expr_ : reinterpret_cast<::pg_query::CollateExpr&>(::pg_query::_CollateExpr_default_instance_); +} +inline const ::pg_query::CollateExpr& Node::collate_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.collate_expr) + return _internal_collate_expr(); +} +inline ::pg_query::CollateExpr* Node::unsafe_arena_release_collate_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_expr) + if (node_case() == kCollateExpr) { + clear_has_node(); + auto* temp = _impl_.node_.collate_expr_; + _impl_.node_.collate_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_collate_expr(); + _impl_.node_.collate_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_expr) +} +inline ::pg_query::CollateExpr* Node::_internal_mutable_collate_expr() { + if (node_case() != kCollateExpr) { + clear_node(); + set_has_collate_expr(); + _impl_.node_.collate_expr_ = CreateMaybeMessage<::pg_query::CollateExpr>(GetArena()); + } + return _impl_.node_.collate_expr_; +} +inline ::pg_query::CollateExpr* Node::mutable_collate_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateExpr* _msg = _internal_mutable_collate_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_expr) + return _msg; +} + +// .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"]; +inline bool Node::has_case_expr() const { + return node_case() == kCaseExpr; +} +inline bool Node::_internal_has_case_expr() const { + return node_case() == kCaseExpr; +} +inline void Node::set_has_case_expr() { + _impl_._oneof_case_[0] = kCaseExpr; +} +inline void Node::clear_case_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::CaseExpr* Node::release_case_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_expr) + if (node_case() == kCaseExpr) { + clear_has_node(); + auto* temp = _impl_.node_.case_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.case_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CaseExpr& Node::_internal_case_expr() const { + return node_case() == kCaseExpr ? *_impl_.node_.case_expr_ : reinterpret_cast<::pg_query::CaseExpr&>(::pg_query::_CaseExpr_default_instance_); +} +inline const ::pg_query::CaseExpr& Node::case_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_expr) + return _internal_case_expr(); +} +inline ::pg_query::CaseExpr* Node::unsafe_arena_release_case_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_expr) + if (node_case() == kCaseExpr) { + clear_has_node(); + auto* temp = _impl_.node_.case_expr_; + _impl_.node_.case_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_case_expr(); + _impl_.node_.case_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_expr) +} +inline ::pg_query::CaseExpr* Node::_internal_mutable_case_expr() { + if (node_case() != kCaseExpr) { + clear_node(); + set_has_case_expr(); + _impl_.node_.case_expr_ = CreateMaybeMessage<::pg_query::CaseExpr>(GetArena()); + } + return _impl_.node_.case_expr_; +} +inline ::pg_query::CaseExpr* Node::mutable_case_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseExpr* _msg = _internal_mutable_case_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_expr) + return _msg; +} + +// .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"]; +inline bool Node::has_case_when() const { + return node_case() == kCaseWhen; +} +inline bool Node::_internal_has_case_when() const { + return node_case() == kCaseWhen; +} +inline void Node::set_has_case_when() { + _impl_._oneof_case_[0] = kCaseWhen; +} +inline void Node::clear_case_when() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseWhen) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_when_; + } + clear_has_node(); + } +} +inline ::pg_query::CaseWhen* Node::release_case_when() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_when) + if (node_case() == kCaseWhen) { + clear_has_node(); + auto* temp = _impl_.node_.case_when_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.case_when_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CaseWhen& Node::_internal_case_when() const { + return node_case() == kCaseWhen ? *_impl_.node_.case_when_ : reinterpret_cast<::pg_query::CaseWhen&>(::pg_query::_CaseWhen_default_instance_); +} +inline const ::pg_query::CaseWhen& Node::case_when() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_when) + return _internal_case_when(); +} +inline ::pg_query::CaseWhen* Node::unsafe_arena_release_case_when() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_when) + if (node_case() == kCaseWhen) { + clear_has_node(); + auto* temp = _impl_.node_.case_when_; + _impl_.node_.case_when_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_case_when(); + _impl_.node_.case_when_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_when) +} +inline ::pg_query::CaseWhen* Node::_internal_mutable_case_when() { + if (node_case() != kCaseWhen) { + clear_node(); + set_has_case_when(); + _impl_.node_.case_when_ = CreateMaybeMessage<::pg_query::CaseWhen>(GetArena()); + } + return _impl_.node_.case_when_; +} +inline ::pg_query::CaseWhen* Node::mutable_case_when() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseWhen* _msg = _internal_mutable_case_when(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_when) + return _msg; +} + +// .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"]; +inline bool Node::has_case_test_expr() const { + return node_case() == kCaseTestExpr; +} +inline bool Node::_internal_has_case_test_expr() const { + return node_case() == kCaseTestExpr; +} +inline void Node::set_has_case_test_expr() { + _impl_._oneof_case_[0] = kCaseTestExpr; +} +inline void Node::clear_case_test_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseTestExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_test_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::CaseTestExpr* Node::release_case_test_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_test_expr) + if (node_case() == kCaseTestExpr) { + clear_has_node(); + auto* temp = _impl_.node_.case_test_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.case_test_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CaseTestExpr& Node::_internal_case_test_expr() const { + return node_case() == kCaseTestExpr ? *_impl_.node_.case_test_expr_ : reinterpret_cast<::pg_query::CaseTestExpr&>(::pg_query::_CaseTestExpr_default_instance_); +} +inline const ::pg_query::CaseTestExpr& Node::case_test_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_test_expr) + return _internal_case_test_expr(); +} +inline ::pg_query::CaseTestExpr* Node::unsafe_arena_release_case_test_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_test_expr) + if (node_case() == kCaseTestExpr) { + clear_has_node(); + auto* temp = _impl_.node_.case_test_expr_; + _impl_.node_.case_test_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_case_test_expr(); + _impl_.node_.case_test_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_test_expr) +} +inline ::pg_query::CaseTestExpr* Node::_internal_mutable_case_test_expr() { + if (node_case() != kCaseTestExpr) { + clear_node(); + set_has_case_test_expr(); + _impl_.node_.case_test_expr_ = CreateMaybeMessage<::pg_query::CaseTestExpr>(GetArena()); + } + return _impl_.node_.case_test_expr_; +} +inline ::pg_query::CaseTestExpr* Node::mutable_case_test_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseTestExpr* _msg = _internal_mutable_case_test_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_test_expr) + return _msg; +} + +// .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"]; +inline bool Node::has_array_expr() const { + return node_case() == kArrayExpr; +} +inline bool Node::_internal_has_array_expr() const { + return node_case() == kArrayExpr; +} +inline void Node::set_has_array_expr() { + _impl_._oneof_case_[0] = kArrayExpr; +} +inline void Node::clear_array_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kArrayExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.array_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::ArrayExpr* Node::release_array_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.array_expr) + if (node_case() == kArrayExpr) { + clear_has_node(); + auto* temp = _impl_.node_.array_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.array_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ArrayExpr& Node::_internal_array_expr() const { + return node_case() == kArrayExpr ? *_impl_.node_.array_expr_ : reinterpret_cast<::pg_query::ArrayExpr&>(::pg_query::_ArrayExpr_default_instance_); +} +inline const ::pg_query::ArrayExpr& Node::array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.array_expr) + return _internal_array_expr(); +} +inline ::pg_query::ArrayExpr* Node::unsafe_arena_release_array_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_expr) + if (node_case() == kArrayExpr) { + clear_has_node(); + auto* temp = _impl_.node_.array_expr_; + _impl_.node_.array_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_array_expr(); + _impl_.node_.array_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_expr) +} +inline ::pg_query::ArrayExpr* Node::_internal_mutable_array_expr() { + if (node_case() != kArrayExpr) { + clear_node(); + set_has_array_expr(); + _impl_.node_.array_expr_ = CreateMaybeMessage<::pg_query::ArrayExpr>(GetArena()); + } + return _impl_.node_.array_expr_; +} +inline ::pg_query::ArrayExpr* Node::mutable_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ArrayExpr* _msg = _internal_mutable_array_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.array_expr) + return _msg; +} + +// .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"]; +inline bool Node::has_row_expr() const { + return node_case() == kRowExpr; +} +inline bool Node::_internal_has_row_expr() const { + return node_case() == kRowExpr; +} +inline void Node::set_has_row_expr() { + _impl_._oneof_case_[0] = kRowExpr; +} +inline void Node::clear_row_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRowExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.row_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::RowExpr* Node::release_row_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_expr) + if (node_case() == kRowExpr) { + clear_has_node(); + auto* temp = _impl_.node_.row_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.row_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RowExpr& Node::_internal_row_expr() const { + return node_case() == kRowExpr ? *_impl_.node_.row_expr_ : reinterpret_cast<::pg_query::RowExpr&>(::pg_query::_RowExpr_default_instance_); +} +inline const ::pg_query::RowExpr& Node::row_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_expr) + return _internal_row_expr(); +} +inline ::pg_query::RowExpr* Node::unsafe_arena_release_row_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_expr) + if (node_case() == kRowExpr) { + clear_has_node(); + auto* temp = _impl_.node_.row_expr_; + _impl_.node_.row_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_row_expr(); + _impl_.node_.row_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_expr) +} +inline ::pg_query::RowExpr* Node::_internal_mutable_row_expr() { + if (node_case() != kRowExpr) { + clear_node(); + set_has_row_expr(); + _impl_.node_.row_expr_ = CreateMaybeMessage<::pg_query::RowExpr>(GetArena()); + } + return _impl_.node_.row_expr_; +} +inline ::pg_query::RowExpr* Node::mutable_row_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowExpr* _msg = _internal_mutable_row_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_expr) + return _msg; +} + +// .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"]; +inline bool Node::has_row_compare_expr() const { + return node_case() == kRowCompareExpr; +} +inline bool Node::_internal_has_row_compare_expr() const { + return node_case() == kRowCompareExpr; +} +inline void Node::set_has_row_compare_expr() { + _impl_._oneof_case_[0] = kRowCompareExpr; +} +inline void Node::clear_row_compare_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRowCompareExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.row_compare_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::RowCompareExpr* Node::release_row_compare_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_compare_expr) + if (node_case() == kRowCompareExpr) { + clear_has_node(); + auto* temp = _impl_.node_.row_compare_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.row_compare_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RowCompareExpr& Node::_internal_row_compare_expr() const { + return node_case() == kRowCompareExpr ? *_impl_.node_.row_compare_expr_ : reinterpret_cast<::pg_query::RowCompareExpr&>(::pg_query::_RowCompareExpr_default_instance_); +} +inline const ::pg_query::RowCompareExpr& Node::row_compare_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_compare_expr) + return _internal_row_compare_expr(); +} +inline ::pg_query::RowCompareExpr* Node::unsafe_arena_release_row_compare_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_compare_expr) + if (node_case() == kRowCompareExpr) { + clear_has_node(); + auto* temp = _impl_.node_.row_compare_expr_; + _impl_.node_.row_compare_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_row_compare_expr(); + _impl_.node_.row_compare_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_compare_expr) +} +inline ::pg_query::RowCompareExpr* Node::_internal_mutable_row_compare_expr() { + if (node_case() != kRowCompareExpr) { + clear_node(); + set_has_row_compare_expr(); + _impl_.node_.row_compare_expr_ = CreateMaybeMessage<::pg_query::RowCompareExpr>(GetArena()); + } + return _impl_.node_.row_compare_expr_; +} +inline ::pg_query::RowCompareExpr* Node::mutable_row_compare_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowCompareExpr* _msg = _internal_mutable_row_compare_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_compare_expr) + return _msg; +} + +// .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"]; +inline bool Node::has_coalesce_expr() const { + return node_case() == kCoalesceExpr; +} +inline bool Node::_internal_has_coalesce_expr() const { + return node_case() == kCoalesceExpr; +} +inline void Node::set_has_coalesce_expr() { + _impl_._oneof_case_[0] = kCoalesceExpr; +} +inline void Node::clear_coalesce_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoalesceExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.coalesce_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::CoalesceExpr* Node::release_coalesce_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.coalesce_expr) + if (node_case() == kCoalesceExpr) { + clear_has_node(); + auto* temp = _impl_.node_.coalesce_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.coalesce_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CoalesceExpr& Node::_internal_coalesce_expr() const { + return node_case() == kCoalesceExpr ? *_impl_.node_.coalesce_expr_ : reinterpret_cast<::pg_query::CoalesceExpr&>(::pg_query::_CoalesceExpr_default_instance_); +} +inline const ::pg_query::CoalesceExpr& Node::coalesce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coalesce_expr) + return _internal_coalesce_expr(); +} +inline ::pg_query::CoalesceExpr* Node::unsafe_arena_release_coalesce_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coalesce_expr) + if (node_case() == kCoalesceExpr) { + clear_has_node(); + auto* temp = _impl_.node_.coalesce_expr_; + _impl_.node_.coalesce_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_coalesce_expr(); + _impl_.node_.coalesce_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coalesce_expr) +} +inline ::pg_query::CoalesceExpr* Node::_internal_mutable_coalesce_expr() { + if (node_case() != kCoalesceExpr) { + clear_node(); + set_has_coalesce_expr(); + _impl_.node_.coalesce_expr_ = CreateMaybeMessage<::pg_query::CoalesceExpr>(GetArena()); + } + return _impl_.node_.coalesce_expr_; +} +inline ::pg_query::CoalesceExpr* Node::mutable_coalesce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoalesceExpr* _msg = _internal_mutable_coalesce_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coalesce_expr) + return _msg; +} + +// .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"]; +inline bool Node::has_min_max_expr() const { + return node_case() == kMinMaxExpr; +} +inline bool Node::_internal_has_min_max_expr() const { + return node_case() == kMinMaxExpr; +} +inline void Node::set_has_min_max_expr() { + _impl_._oneof_case_[0] = kMinMaxExpr; +} +inline void Node::clear_min_max_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMinMaxExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.min_max_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::MinMaxExpr* Node::release_min_max_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.min_max_expr) + if (node_case() == kMinMaxExpr) { + clear_has_node(); + auto* temp = _impl_.node_.min_max_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.min_max_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::MinMaxExpr& Node::_internal_min_max_expr() const { + return node_case() == kMinMaxExpr ? *_impl_.node_.min_max_expr_ : reinterpret_cast<::pg_query::MinMaxExpr&>(::pg_query::_MinMaxExpr_default_instance_); +} +inline const ::pg_query::MinMaxExpr& Node::min_max_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.min_max_expr) + return _internal_min_max_expr(); +} +inline ::pg_query::MinMaxExpr* Node::unsafe_arena_release_min_max_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.min_max_expr) + if (node_case() == kMinMaxExpr) { + clear_has_node(); + auto* temp = _impl_.node_.min_max_expr_; + _impl_.node_.min_max_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_min_max_expr(); + _impl_.node_.min_max_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.min_max_expr) +} +inline ::pg_query::MinMaxExpr* Node::_internal_mutable_min_max_expr() { + if (node_case() != kMinMaxExpr) { + clear_node(); + set_has_min_max_expr(); + _impl_.node_.min_max_expr_ = CreateMaybeMessage<::pg_query::MinMaxExpr>(GetArena()); + } + return _impl_.node_.min_max_expr_; +} +inline ::pg_query::MinMaxExpr* Node::mutable_min_max_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MinMaxExpr* _msg = _internal_mutable_min_max_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.min_max_expr) + return _msg; +} + +// .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"]; +inline bool Node::has_sqlvalue_function() const { + return node_case() == kSqlvalueFunction; +} +inline bool Node::_internal_has_sqlvalue_function() const { + return node_case() == kSqlvalueFunction; +} +inline void Node::set_has_sqlvalue_function() { + _impl_._oneof_case_[0] = kSqlvalueFunction; +} +inline void Node::clear_sqlvalue_function() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSqlvalueFunction) { + if (GetArena() == nullptr) { + delete _impl_.node_.sqlvalue_function_; + } + clear_has_node(); + } +} +inline ::pg_query::SQLValueFunction* Node::release_sqlvalue_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.sqlvalue_function) + if (node_case() == kSqlvalueFunction) { + clear_has_node(); + auto* temp = _impl_.node_.sqlvalue_function_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.sqlvalue_function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::SQLValueFunction& Node::_internal_sqlvalue_function() const { + return node_case() == kSqlvalueFunction ? *_impl_.node_.sqlvalue_function_ : reinterpret_cast<::pg_query::SQLValueFunction&>(::pg_query::_SQLValueFunction_default_instance_); +} +inline const ::pg_query::SQLValueFunction& Node::sqlvalue_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sqlvalue_function) + return _internal_sqlvalue_function(); +} +inline ::pg_query::SQLValueFunction* Node::unsafe_arena_release_sqlvalue_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sqlvalue_function) + if (node_case() == kSqlvalueFunction) { + clear_has_node(); + auto* temp = _impl_.node_.sqlvalue_function_; + _impl_.node_.sqlvalue_function_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sqlvalue_function(); + _impl_.node_.sqlvalue_function_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sqlvalue_function) +} +inline ::pg_query::SQLValueFunction* Node::_internal_mutable_sqlvalue_function() { + if (node_case() != kSqlvalueFunction) { + clear_node(); + set_has_sqlvalue_function(); + _impl_.node_.sqlvalue_function_ = CreateMaybeMessage<::pg_query::SQLValueFunction>(GetArena()); + } + return _impl_.node_.sqlvalue_function_; +} +inline ::pg_query::SQLValueFunction* Node::mutable_sqlvalue_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SQLValueFunction* _msg = _internal_mutable_sqlvalue_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sqlvalue_function) + return _msg; +} + +// .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"]; +inline bool Node::has_xml_expr() const { + return node_case() == kXmlExpr; +} +inline bool Node::_internal_has_xml_expr() const { + return node_case() == kXmlExpr; +} +inline void Node::set_has_xml_expr() { + _impl_._oneof_case_[0] = kXmlExpr; +} +inline void Node::clear_xml_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kXmlExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.xml_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::XmlExpr* Node::release_xml_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.xml_expr) + if (node_case() == kXmlExpr) { + clear_has_node(); + auto* temp = _impl_.node_.xml_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.xml_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::XmlExpr& Node::_internal_xml_expr() const { + return node_case() == kXmlExpr ? *_impl_.node_.xml_expr_ : reinterpret_cast<::pg_query::XmlExpr&>(::pg_query::_XmlExpr_default_instance_); +} +inline const ::pg_query::XmlExpr& Node::xml_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.xml_expr) + return _internal_xml_expr(); +} +inline ::pg_query::XmlExpr* Node::unsafe_arena_release_xml_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_expr) + if (node_case() == kXmlExpr) { + clear_has_node(); + auto* temp = _impl_.node_.xml_expr_; + _impl_.node_.xml_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_xml_expr(); + _impl_.node_.xml_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_expr) +} +inline ::pg_query::XmlExpr* Node::_internal_mutable_xml_expr() { + if (node_case() != kXmlExpr) { + clear_node(); + set_has_xml_expr(); + _impl_.node_.xml_expr_ = CreateMaybeMessage<::pg_query::XmlExpr>(GetArena()); + } + return _impl_.node_.xml_expr_; +} +inline ::pg_query::XmlExpr* Node::mutable_xml_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::XmlExpr* _msg = _internal_mutable_xml_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_expr) + return _msg; +} + +// .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"]; +inline bool Node::has_json_format() const { + return node_case() == kJsonFormat; +} +inline bool Node::_internal_has_json_format() const { + return node_case() == kJsonFormat; +} +inline void Node::set_has_json_format() { + _impl_._oneof_case_[0] = kJsonFormat; +} +inline void Node::clear_json_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonFormat) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_format_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonFormat* Node::release_json_format() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_format) + if (node_case() == kJsonFormat) { + clear_has_node(); + auto* temp = _impl_.node_.json_format_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_format_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonFormat& Node::_internal_json_format() const { + return node_case() == kJsonFormat ? *_impl_.node_.json_format_ : reinterpret_cast<::pg_query::JsonFormat&>(::pg_query::_JsonFormat_default_instance_); +} +inline const ::pg_query::JsonFormat& Node::json_format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_format) + return _internal_json_format(); +} +inline ::pg_query::JsonFormat* Node::unsafe_arena_release_json_format() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_format) + if (node_case() == kJsonFormat) { + clear_has_node(); + auto* temp = _impl_.node_.json_format_; + _impl_.node_.json_format_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_format(); + _impl_.node_.json_format_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_format) +} +inline ::pg_query::JsonFormat* Node::_internal_mutable_json_format() { + if (node_case() != kJsonFormat) { + clear_node(); + set_has_json_format(); + _impl_.node_.json_format_ = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + } + return _impl_.node_.json_format_; +} +inline ::pg_query::JsonFormat* Node::mutable_json_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_json_format(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_format) + return _msg; +} + +// .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"]; +inline bool Node::has_json_returning() const { + return node_case() == kJsonReturning; +} +inline bool Node::_internal_has_json_returning() const { + return node_case() == kJsonReturning; +} +inline void Node::set_has_json_returning() { + _impl_._oneof_case_[0] = kJsonReturning; +} +inline void Node::clear_json_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonReturning) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_returning_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonReturning* Node::release_json_returning() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_returning) + if (node_case() == kJsonReturning) { + clear_has_node(); + auto* temp = _impl_.node_.json_returning_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_returning_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonReturning& Node::_internal_json_returning() const { + return node_case() == kJsonReturning ? *_impl_.node_.json_returning_ : reinterpret_cast<::pg_query::JsonReturning&>(::pg_query::_JsonReturning_default_instance_); +} +inline const ::pg_query::JsonReturning& Node::json_returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_returning) + return _internal_json_returning(); +} +inline ::pg_query::JsonReturning* Node::unsafe_arena_release_json_returning() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_returning) + if (node_case() == kJsonReturning) { + clear_has_node(); + auto* temp = _impl_.node_.json_returning_; + _impl_.node_.json_returning_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_returning(); + _impl_.node_.json_returning_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_returning) +} +inline ::pg_query::JsonReturning* Node::_internal_mutable_json_returning() { + if (node_case() != kJsonReturning) { + clear_node(); + set_has_json_returning(); + _impl_.node_.json_returning_ = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + } + return _impl_.node_.json_returning_; +} +inline ::pg_query::JsonReturning* Node::mutable_json_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_json_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_returning) + return _msg; +} + +// .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"]; +inline bool Node::has_json_value_expr() const { + return node_case() == kJsonValueExpr; +} +inline bool Node::_internal_has_json_value_expr() const { + return node_case() == kJsonValueExpr; +} +inline void Node::set_has_json_value_expr() { + _impl_._oneof_case_[0] = kJsonValueExpr; +} +inline void Node::clear_json_value_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonValueExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_value_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonValueExpr* Node::release_json_value_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_value_expr) + if (node_case() == kJsonValueExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_value_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_value_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonValueExpr& Node::_internal_json_value_expr() const { + return node_case() == kJsonValueExpr ? *_impl_.node_.json_value_expr_ : reinterpret_cast<::pg_query::JsonValueExpr&>(::pg_query::_JsonValueExpr_default_instance_); +} +inline const ::pg_query::JsonValueExpr& Node::json_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_value_expr) + return _internal_json_value_expr(); +} +inline ::pg_query::JsonValueExpr* Node::unsafe_arena_release_json_value_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_value_expr) + if (node_case() == kJsonValueExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_value_expr_; + _impl_.node_.json_value_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_value_expr(); + _impl_.node_.json_value_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_value_expr) +} +inline ::pg_query::JsonValueExpr* Node::_internal_mutable_json_value_expr() { + if (node_case() != kJsonValueExpr) { + clear_node(); + set_has_json_value_expr(); + _impl_.node_.json_value_expr_ = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + } + return _impl_.node_.json_value_expr_; +} +inline ::pg_query::JsonValueExpr* Node::mutable_json_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_json_value_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_value_expr) + return _msg; +} + +// .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"]; +inline bool Node::has_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr; +} +inline bool Node::_internal_has_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr; +} +inline void Node::set_has_json_constructor_expr() { + _impl_._oneof_case_[0] = kJsonConstructorExpr; +} +inline void Node::clear_json_constructor_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonConstructorExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_constructor_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonConstructorExpr* Node::release_json_constructor_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_constructor_expr) + if (node_case() == kJsonConstructorExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_constructor_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_constructor_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonConstructorExpr& Node::_internal_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr ? *_impl_.node_.json_constructor_expr_ : reinterpret_cast<::pg_query::JsonConstructorExpr&>(::pg_query::_JsonConstructorExpr_default_instance_); +} +inline const ::pg_query::JsonConstructorExpr& Node::json_constructor_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_constructor_expr) + return _internal_json_constructor_expr(); +} +inline ::pg_query::JsonConstructorExpr* Node::unsafe_arena_release_json_constructor_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_constructor_expr) + if (node_case() == kJsonConstructorExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_constructor_expr_; + _impl_.node_.json_constructor_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_constructor_expr(); + _impl_.node_.json_constructor_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_constructor_expr) +} +inline ::pg_query::JsonConstructorExpr* Node::_internal_mutable_json_constructor_expr() { + if (node_case() != kJsonConstructorExpr) { + clear_node(); + set_has_json_constructor_expr(); + _impl_.node_.json_constructor_expr_ = CreateMaybeMessage<::pg_query::JsonConstructorExpr>(GetArena()); + } + return _impl_.node_.json_constructor_expr_; +} +inline ::pg_query::JsonConstructorExpr* Node::mutable_json_constructor_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonConstructorExpr* _msg = _internal_mutable_json_constructor_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_constructor_expr) + return _msg; +} + +// .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"]; +inline bool Node::has_json_is_predicate() const { + return node_case() == kJsonIsPredicate; +} +inline bool Node::_internal_has_json_is_predicate() const { + return node_case() == kJsonIsPredicate; +} +inline void Node::set_has_json_is_predicate() { + _impl_._oneof_case_[0] = kJsonIsPredicate; +} +inline void Node::clear_json_is_predicate() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonIsPredicate) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_is_predicate_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonIsPredicate* Node::release_json_is_predicate() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_is_predicate) + if (node_case() == kJsonIsPredicate) { + clear_has_node(); + auto* temp = _impl_.node_.json_is_predicate_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_is_predicate_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonIsPredicate& Node::_internal_json_is_predicate() const { + return node_case() == kJsonIsPredicate ? *_impl_.node_.json_is_predicate_ : reinterpret_cast<::pg_query::JsonIsPredicate&>(::pg_query::_JsonIsPredicate_default_instance_); +} +inline const ::pg_query::JsonIsPredicate& Node::json_is_predicate() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_is_predicate) + return _internal_json_is_predicate(); +} +inline ::pg_query::JsonIsPredicate* Node::unsafe_arena_release_json_is_predicate() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_is_predicate) + if (node_case() == kJsonIsPredicate) { + clear_has_node(); + auto* temp = _impl_.node_.json_is_predicate_; + _impl_.node_.json_is_predicate_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_is_predicate(); + _impl_.node_.json_is_predicate_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_is_predicate) +} +inline ::pg_query::JsonIsPredicate* Node::_internal_mutable_json_is_predicate() { + if (node_case() != kJsonIsPredicate) { + clear_node(); + set_has_json_is_predicate(); + _impl_.node_.json_is_predicate_ = CreateMaybeMessage<::pg_query::JsonIsPredicate>(GetArena()); + } + return _impl_.node_.json_is_predicate_; +} +inline ::pg_query::JsonIsPredicate* Node::mutable_json_is_predicate() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonIsPredicate* _msg = _internal_mutable_json_is_predicate(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_is_predicate) + return _msg; +} + +// .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"]; +inline bool Node::has_json_behavior() const { + return node_case() == kJsonBehavior; +} +inline bool Node::_internal_has_json_behavior() const { + return node_case() == kJsonBehavior; +} +inline void Node::set_has_json_behavior() { + _impl_._oneof_case_[0] = kJsonBehavior; +} +inline void Node::clear_json_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonBehavior) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_behavior_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonBehavior* Node::release_json_behavior() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_behavior) + if (node_case() == kJsonBehavior) { + clear_has_node(); + auto* temp = _impl_.node_.json_behavior_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_behavior_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonBehavior& Node::_internal_json_behavior() const { + return node_case() == kJsonBehavior ? *_impl_.node_.json_behavior_ : reinterpret_cast<::pg_query::JsonBehavior&>(::pg_query::_JsonBehavior_default_instance_); +} +inline const ::pg_query::JsonBehavior& Node::json_behavior() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_behavior) + return _internal_json_behavior(); +} +inline ::pg_query::JsonBehavior* Node::unsafe_arena_release_json_behavior() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_behavior) + if (node_case() == kJsonBehavior) { + clear_has_node(); + auto* temp = _impl_.node_.json_behavior_; + _impl_.node_.json_behavior_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_behavior(::pg_query::JsonBehavior* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_behavior(); + _impl_.node_.json_behavior_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_behavior) +} +inline ::pg_query::JsonBehavior* Node::_internal_mutable_json_behavior() { + if (node_case() != kJsonBehavior) { + clear_node(); + set_has_json_behavior(); + _impl_.node_.json_behavior_ = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + } + return _impl_.node_.json_behavior_; +} +inline ::pg_query::JsonBehavior* Node::mutable_json_behavior() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_json_behavior(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_behavior) + return _msg; +} + +// .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"]; +inline bool Node::has_json_expr() const { + return node_case() == kJsonExpr; +} +inline bool Node::_internal_has_json_expr() const { + return node_case() == kJsonExpr; +} +inline void Node::set_has_json_expr() { + _impl_._oneof_case_[0] = kJsonExpr; +} +inline void Node::clear_json_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonExpr* Node::release_json_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_expr) + if (node_case() == kJsonExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonExpr& Node::_internal_json_expr() const { + return node_case() == kJsonExpr ? *_impl_.node_.json_expr_ : reinterpret_cast<::pg_query::JsonExpr&>(::pg_query::_JsonExpr_default_instance_); +} +inline const ::pg_query::JsonExpr& Node::json_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_expr) + return _internal_json_expr(); +} +inline ::pg_query::JsonExpr* Node::unsafe_arena_release_json_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_expr) + if (node_case() == kJsonExpr) { + clear_has_node(); + auto* temp = _impl_.node_.json_expr_; + _impl_.node_.json_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_expr(::pg_query::JsonExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_expr(); + _impl_.node_.json_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_expr) +} +inline ::pg_query::JsonExpr* Node::_internal_mutable_json_expr() { + if (node_case() != kJsonExpr) { + clear_node(); + set_has_json_expr(); + _impl_.node_.json_expr_ = CreateMaybeMessage<::pg_query::JsonExpr>(GetArena()); + } + return _impl_.node_.json_expr_; +} +inline ::pg_query::JsonExpr* Node::mutable_json_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonExpr* _msg = _internal_mutable_json_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_expr) + return _msg; +} + +// .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"]; +inline bool Node::has_json_table_path() const { + return node_case() == kJsonTablePath; +} +inline bool Node::_internal_has_json_table_path() const { + return node_case() == kJsonTablePath; +} +inline void Node::set_has_json_table_path() { + _impl_._oneof_case_[0] = kJsonTablePath; +} +inline void Node::clear_json_table_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTablePath) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_path_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonTablePath* Node::release_json_table_path() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path) + if (node_case() == kJsonTablePath) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_path_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_table_path_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonTablePath& Node::_internal_json_table_path() const { + return node_case() == kJsonTablePath ? *_impl_.node_.json_table_path_ : reinterpret_cast<::pg_query::JsonTablePath&>(::pg_query::_JsonTablePath_default_instance_); +} +inline const ::pg_query::JsonTablePath& Node::json_table_path() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path) + return _internal_json_table_path(); +} +inline ::pg_query::JsonTablePath* Node::unsafe_arena_release_json_table_path() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path) + if (node_case() == kJsonTablePath) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_path_; + _impl_.node_.json_table_path_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_table_path(::pg_query::JsonTablePath* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_table_path(); + _impl_.node_.json_table_path_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path) +} +inline ::pg_query::JsonTablePath* Node::_internal_mutable_json_table_path() { + if (node_case() != kJsonTablePath) { + clear_node(); + set_has_json_table_path(); + _impl_.node_.json_table_path_ = CreateMaybeMessage<::pg_query::JsonTablePath>(GetArena()); + } + return _impl_.node_.json_table_path_; +} +inline ::pg_query::JsonTablePath* Node::mutable_json_table_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePath* _msg = _internal_mutable_json_table_path(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path) + return _msg; +} + +// .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"]; +inline bool Node::has_json_table_path_scan() const { + return node_case() == kJsonTablePathScan; +} +inline bool Node::_internal_has_json_table_path_scan() const { + return node_case() == kJsonTablePathScan; +} +inline void Node::set_has_json_table_path_scan() { + _impl_._oneof_case_[0] = kJsonTablePathScan; +} +inline void Node::clear_json_table_path_scan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTablePathScan) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_path_scan_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonTablePathScan* Node::release_json_table_path_scan() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path_scan) + if (node_case() == kJsonTablePathScan) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_path_scan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_table_path_scan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonTablePathScan& Node::_internal_json_table_path_scan() const { + return node_case() == kJsonTablePathScan ? *_impl_.node_.json_table_path_scan_ : reinterpret_cast<::pg_query::JsonTablePathScan&>(::pg_query::_JsonTablePathScan_default_instance_); +} +inline const ::pg_query::JsonTablePathScan& Node::json_table_path_scan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path_scan) + return _internal_json_table_path_scan(); +} +inline ::pg_query::JsonTablePathScan* Node::unsafe_arena_release_json_table_path_scan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path_scan) + if (node_case() == kJsonTablePathScan) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_path_scan_; + _impl_.node_.json_table_path_scan_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_table_path_scan(); + _impl_.node_.json_table_path_scan_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path_scan) +} +inline ::pg_query::JsonTablePathScan* Node::_internal_mutable_json_table_path_scan() { + if (node_case() != kJsonTablePathScan) { + clear_node(); + set_has_json_table_path_scan(); + _impl_.node_.json_table_path_scan_ = CreateMaybeMessage<::pg_query::JsonTablePathScan>(GetArena()); + } + return _impl_.node_.json_table_path_scan_; +} +inline ::pg_query::JsonTablePathScan* Node::mutable_json_table_path_scan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathScan* _msg = _internal_mutable_json_table_path_scan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path_scan) + return _msg; +} + +// .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"]; +inline bool Node::has_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin; +} +inline bool Node::_internal_has_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin; +} +inline void Node::set_has_json_table_sibling_join() { + _impl_._oneof_case_[0] = kJsonTableSiblingJoin; +} +inline void Node::clear_json_table_sibling_join() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTableSiblingJoin) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_sibling_join_; + } + clear_has_node(); + } +} +inline ::pg_query::JsonTableSiblingJoin* Node::release_json_table_sibling_join() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_sibling_join) + if (node_case() == kJsonTableSiblingJoin) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_sibling_join_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.json_table_sibling_join_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JsonTableSiblingJoin& Node::_internal_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin ? *_impl_.node_.json_table_sibling_join_ : reinterpret_cast<::pg_query::JsonTableSiblingJoin&>(::pg_query::_JsonTableSiblingJoin_default_instance_); +} +inline const ::pg_query::JsonTableSiblingJoin& Node::json_table_sibling_join() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_sibling_join) + return _internal_json_table_sibling_join(); +} +inline ::pg_query::JsonTableSiblingJoin* Node::unsafe_arena_release_json_table_sibling_join() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_sibling_join) + if (node_case() == kJsonTableSiblingJoin) { + clear_has_node(); + auto* temp = _impl_.node_.json_table_sibling_join_; + _impl_.node_.json_table_sibling_join_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_json_table_sibling_join(); + _impl_.node_.json_table_sibling_join_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_sibling_join) +} +inline ::pg_query::JsonTableSiblingJoin* Node::_internal_mutable_json_table_sibling_join() { + if (node_case() != kJsonTableSiblingJoin) { + clear_node(); + set_has_json_table_sibling_join(); + _impl_.node_.json_table_sibling_join_ = CreateMaybeMessage<::pg_query::JsonTableSiblingJoin>(GetArena()); + } + return _impl_.node_.json_table_sibling_join_; +} +inline ::pg_query::JsonTableSiblingJoin* Node::mutable_json_table_sibling_join() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTableSiblingJoin* _msg = _internal_mutable_json_table_sibling_join(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_sibling_join) + return _msg; +} + +// .pg_query.NullTest null_test = 50 [json_name = "NullTest"]; +inline bool Node::has_null_test() const { + return node_case() == kNullTest; +} +inline bool Node::_internal_has_null_test() const { + return node_case() == kNullTest; +} +inline void Node::set_has_null_test() { + _impl_._oneof_case_[0] = kNullTest; +} +inline void Node::clear_null_test() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNullTest) { + if (GetArena() == nullptr) { + delete _impl_.node_.null_test_; + } + clear_has_node(); + } +} +inline ::pg_query::NullTest* Node::release_null_test() { + // @@protoc_insertion_point(field_release:pg_query.Node.null_test) + if (node_case() == kNullTest) { + clear_has_node(); + auto* temp = _impl_.node_.null_test_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.null_test_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::NullTest& Node::_internal_null_test() const { + return node_case() == kNullTest ? *_impl_.node_.null_test_ : reinterpret_cast<::pg_query::NullTest&>(::pg_query::_NullTest_default_instance_); +} +inline const ::pg_query::NullTest& Node::null_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.null_test) + return _internal_null_test(); +} +inline ::pg_query::NullTest* Node::unsafe_arena_release_null_test() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_test) + if (node_case() == kNullTest) { + clear_has_node(); + auto* temp = _impl_.node_.null_test_; + _impl_.node_.null_test_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_null_test(); + _impl_.node_.null_test_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_test) +} +inline ::pg_query::NullTest* Node::_internal_mutable_null_test() { + if (node_case() != kNullTest) { + clear_node(); + set_has_null_test(); + _impl_.node_.null_test_ = CreateMaybeMessage<::pg_query::NullTest>(GetArena()); + } + return _impl_.node_.null_test_; +} +inline ::pg_query::NullTest* Node::mutable_null_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NullTest* _msg = _internal_mutable_null_test(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.null_test) + return _msg; +} + +// .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"]; +inline bool Node::has_boolean_test() const { + return node_case() == kBooleanTest; +} +inline bool Node::_internal_has_boolean_test() const { + return node_case() == kBooleanTest; +} +inline void Node::set_has_boolean_test() { + _impl_._oneof_case_[0] = kBooleanTest; +} +inline void Node::clear_boolean_test() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBooleanTest) { + if (GetArena() == nullptr) { + delete _impl_.node_.boolean_test_; + } + clear_has_node(); + } +} +inline ::pg_query::BooleanTest* Node::release_boolean_test() { + // @@protoc_insertion_point(field_release:pg_query.Node.boolean_test) + if (node_case() == kBooleanTest) { + clear_has_node(); + auto* temp = _impl_.node_.boolean_test_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.boolean_test_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::BooleanTest& Node::_internal_boolean_test() const { + return node_case() == kBooleanTest ? *_impl_.node_.boolean_test_ : reinterpret_cast<::pg_query::BooleanTest&>(::pg_query::_BooleanTest_default_instance_); +} +inline const ::pg_query::BooleanTest& Node::boolean_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.boolean_test) + return _internal_boolean_test(); +} +inline ::pg_query::BooleanTest* Node::unsafe_arena_release_boolean_test() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean_test) + if (node_case() == kBooleanTest) { + clear_has_node(); + auto* temp = _impl_.node_.boolean_test_; + _impl_.node_.boolean_test_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_boolean_test(); + _impl_.node_.boolean_test_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean_test) +} +inline ::pg_query::BooleanTest* Node::_internal_mutable_boolean_test() { + if (node_case() != kBooleanTest) { + clear_node(); + set_has_boolean_test(); + _impl_.node_.boolean_test_ = CreateMaybeMessage<::pg_query::BooleanTest>(GetArena()); + } + return _impl_.node_.boolean_test_; +} +inline ::pg_query::BooleanTest* Node::mutable_boolean_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BooleanTest* _msg = _internal_mutable_boolean_test(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean_test) + return _msg; +} + +// .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"]; +inline bool Node::has_merge_action() const { + return node_case() == kMergeAction; +} +inline bool Node::_internal_has_merge_action() const { + return node_case() == kMergeAction; +} +inline void Node::set_has_merge_action() { + _impl_._oneof_case_[0] = kMergeAction; +} +inline void Node::clear_merge_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeAction) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_action_; + } + clear_has_node(); + } +} +inline ::pg_query::MergeAction* Node::release_merge_action() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_action) + if (node_case() == kMergeAction) { + clear_has_node(); + auto* temp = _impl_.node_.merge_action_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.merge_action_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::MergeAction& Node::_internal_merge_action() const { + return node_case() == kMergeAction ? *_impl_.node_.merge_action_ : reinterpret_cast<::pg_query::MergeAction&>(::pg_query::_MergeAction_default_instance_); +} +inline const ::pg_query::MergeAction& Node::merge_action() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_action) + return _internal_merge_action(); +} +inline ::pg_query::MergeAction* Node::unsafe_arena_release_merge_action() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_action) + if (node_case() == kMergeAction) { + clear_has_node(); + auto* temp = _impl_.node_.merge_action_; + _impl_.node_.merge_action_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_merge_action(); + _impl_.node_.merge_action_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_action) +} +inline ::pg_query::MergeAction* Node::_internal_mutable_merge_action() { + if (node_case() != kMergeAction) { + clear_node(); + set_has_merge_action(); + _impl_.node_.merge_action_ = CreateMaybeMessage<::pg_query::MergeAction>(GetArena()); + } + return _impl_.node_.merge_action_; +} +inline ::pg_query::MergeAction* Node::mutable_merge_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeAction* _msg = _internal_mutable_merge_action(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_action) + return _msg; +} + +// .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"]; +inline bool Node::has_coerce_to_domain() const { + return node_case() == kCoerceToDomain; +} +inline bool Node::_internal_has_coerce_to_domain() const { + return node_case() == kCoerceToDomain; +} +inline void Node::set_has_coerce_to_domain() { + _impl_._oneof_case_[0] = kCoerceToDomain; +} +inline void Node::clear_coerce_to_domain() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceToDomain) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_to_domain_; + } + clear_has_node(); + } +} +inline ::pg_query::CoerceToDomain* Node::release_coerce_to_domain() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain) + if (node_case() == kCoerceToDomain) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_to_domain_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.coerce_to_domain_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CoerceToDomain& Node::_internal_coerce_to_domain() const { + return node_case() == kCoerceToDomain ? *_impl_.node_.coerce_to_domain_ : reinterpret_cast<::pg_query::CoerceToDomain&>(::pg_query::_CoerceToDomain_default_instance_); +} +inline const ::pg_query::CoerceToDomain& Node::coerce_to_domain() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain) + return _internal_coerce_to_domain(); +} +inline ::pg_query::CoerceToDomain* Node::unsafe_arena_release_coerce_to_domain() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain) + if (node_case() == kCoerceToDomain) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_to_domain_; + _impl_.node_.coerce_to_domain_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_coerce_to_domain(); + _impl_.node_.coerce_to_domain_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain) +} +inline ::pg_query::CoerceToDomain* Node::_internal_mutable_coerce_to_domain() { + if (node_case() != kCoerceToDomain) { + clear_node(); + set_has_coerce_to_domain(); + _impl_.node_.coerce_to_domain_ = CreateMaybeMessage<::pg_query::CoerceToDomain>(GetArena()); + } + return _impl_.node_.coerce_to_domain_; +} +inline ::pg_query::CoerceToDomain* Node::mutable_coerce_to_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceToDomain* _msg = _internal_mutable_coerce_to_domain(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain) + return _msg; +} + +// .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"]; +inline bool Node::has_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue; +} +inline bool Node::_internal_has_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue; +} +inline void Node::set_has_coerce_to_domain_value() { + _impl_._oneof_case_[0] = kCoerceToDomainValue; +} +inline void Node::clear_coerce_to_domain_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceToDomainValue) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_to_domain_value_; + } + clear_has_node(); + } +} +inline ::pg_query::CoerceToDomainValue* Node::release_coerce_to_domain_value() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain_value) + if (node_case() == kCoerceToDomainValue) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_to_domain_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.coerce_to_domain_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CoerceToDomainValue& Node::_internal_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue ? *_impl_.node_.coerce_to_domain_value_ : reinterpret_cast<::pg_query::CoerceToDomainValue&>(::pg_query::_CoerceToDomainValue_default_instance_); +} +inline const ::pg_query::CoerceToDomainValue& Node::coerce_to_domain_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain_value) + return _internal_coerce_to_domain_value(); +} +inline ::pg_query::CoerceToDomainValue* Node::unsafe_arena_release_coerce_to_domain_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain_value) + if (node_case() == kCoerceToDomainValue) { + clear_has_node(); + auto* temp = _impl_.node_.coerce_to_domain_value_; + _impl_.node_.coerce_to_domain_value_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_coerce_to_domain_value(); + _impl_.node_.coerce_to_domain_value_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain_value) +} +inline ::pg_query::CoerceToDomainValue* Node::_internal_mutable_coerce_to_domain_value() { + if (node_case() != kCoerceToDomainValue) { + clear_node(); + set_has_coerce_to_domain_value(); + _impl_.node_.coerce_to_domain_value_ = CreateMaybeMessage<::pg_query::CoerceToDomainValue>(GetArena()); + } + return _impl_.node_.coerce_to_domain_value_; +} +inline ::pg_query::CoerceToDomainValue* Node::mutable_coerce_to_domain_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceToDomainValue* _msg = _internal_mutable_coerce_to_domain_value(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain_value) + return _msg; +} + +// .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"]; +inline bool Node::has_set_to_default() const { + return node_case() == kSetToDefault; +} +inline bool Node::_internal_has_set_to_default() const { + return node_case() == kSetToDefault; +} +inline void Node::set_has_set_to_default() { + _impl_._oneof_case_[0] = kSetToDefault; +} +inline void Node::clear_set_to_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSetToDefault) { + if (GetArena() == nullptr) { + delete _impl_.node_.set_to_default_; + } + clear_has_node(); + } +} +inline ::pg_query::SetToDefault* Node::release_set_to_default() { + // @@protoc_insertion_point(field_release:pg_query.Node.set_to_default) + if (node_case() == kSetToDefault) { + clear_has_node(); + auto* temp = _impl_.node_.set_to_default_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.set_to_default_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::SetToDefault& Node::_internal_set_to_default() const { + return node_case() == kSetToDefault ? *_impl_.node_.set_to_default_ : reinterpret_cast<::pg_query::SetToDefault&>(::pg_query::_SetToDefault_default_instance_); +} +inline const ::pg_query::SetToDefault& Node::set_to_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.set_to_default) + return _internal_set_to_default(); +} +inline ::pg_query::SetToDefault* Node::unsafe_arena_release_set_to_default() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_to_default) + if (node_case() == kSetToDefault) { + clear_has_node(); + auto* temp = _impl_.node_.set_to_default_; + _impl_.node_.set_to_default_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_set_to_default(); + _impl_.node_.set_to_default_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_to_default) +} +inline ::pg_query::SetToDefault* Node::_internal_mutable_set_to_default() { + if (node_case() != kSetToDefault) { + clear_node(); + set_has_set_to_default(); + _impl_.node_.set_to_default_ = CreateMaybeMessage<::pg_query::SetToDefault>(GetArena()); + } + return _impl_.node_.set_to_default_; +} +inline ::pg_query::SetToDefault* Node::mutable_set_to_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SetToDefault* _msg = _internal_mutable_set_to_default(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.set_to_default) + return _msg; +} + +// .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"]; +inline bool Node::has_current_of_expr() const { + return node_case() == kCurrentOfExpr; +} +inline bool Node::_internal_has_current_of_expr() const { + return node_case() == kCurrentOfExpr; +} +inline void Node::set_has_current_of_expr() { + _impl_._oneof_case_[0] = kCurrentOfExpr; +} +inline void Node::clear_current_of_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCurrentOfExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.current_of_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::CurrentOfExpr* Node::release_current_of_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.current_of_expr) + if (node_case() == kCurrentOfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.current_of_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.current_of_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CurrentOfExpr& Node::_internal_current_of_expr() const { + return node_case() == kCurrentOfExpr ? *_impl_.node_.current_of_expr_ : reinterpret_cast<::pg_query::CurrentOfExpr&>(::pg_query::_CurrentOfExpr_default_instance_); +} +inline const ::pg_query::CurrentOfExpr& Node::current_of_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.current_of_expr) + return _internal_current_of_expr(); +} +inline ::pg_query::CurrentOfExpr* Node::unsafe_arena_release_current_of_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.current_of_expr) + if (node_case() == kCurrentOfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.current_of_expr_; + _impl_.node_.current_of_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_current_of_expr(); + _impl_.node_.current_of_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.current_of_expr) +} +inline ::pg_query::CurrentOfExpr* Node::_internal_mutable_current_of_expr() { + if (node_case() != kCurrentOfExpr) { + clear_node(); + set_has_current_of_expr(); + _impl_.node_.current_of_expr_ = CreateMaybeMessage<::pg_query::CurrentOfExpr>(GetArena()); + } + return _impl_.node_.current_of_expr_; +} +inline ::pg_query::CurrentOfExpr* Node::mutable_current_of_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CurrentOfExpr* _msg = _internal_mutable_current_of_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.current_of_expr) + return _msg; +} + +// .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"]; +inline bool Node::has_next_value_expr() const { + return node_case() == kNextValueExpr; +} +inline bool Node::_internal_has_next_value_expr() const { + return node_case() == kNextValueExpr; +} +inline void Node::set_has_next_value_expr() { + _impl_._oneof_case_[0] = kNextValueExpr; +} +inline void Node::clear_next_value_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNextValueExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.next_value_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::NextValueExpr* Node::release_next_value_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.next_value_expr) + if (node_case() == kNextValueExpr) { + clear_has_node(); + auto* temp = _impl_.node_.next_value_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.next_value_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::NextValueExpr& Node::_internal_next_value_expr() const { + return node_case() == kNextValueExpr ? *_impl_.node_.next_value_expr_ : reinterpret_cast<::pg_query::NextValueExpr&>(::pg_query::_NextValueExpr_default_instance_); +} +inline const ::pg_query::NextValueExpr& Node::next_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.next_value_expr) + return _internal_next_value_expr(); +} +inline ::pg_query::NextValueExpr* Node::unsafe_arena_release_next_value_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.next_value_expr) + if (node_case() == kNextValueExpr) { + clear_has_node(); + auto* temp = _impl_.node_.next_value_expr_; + _impl_.node_.next_value_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_next_value_expr(); + _impl_.node_.next_value_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.next_value_expr) +} +inline ::pg_query::NextValueExpr* Node::_internal_mutable_next_value_expr() { + if (node_case() != kNextValueExpr) { + clear_node(); + set_has_next_value_expr(); + _impl_.node_.next_value_expr_ = CreateMaybeMessage<::pg_query::NextValueExpr>(GetArena()); + } + return _impl_.node_.next_value_expr_; +} +inline ::pg_query::NextValueExpr* Node::mutable_next_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NextValueExpr* _msg = _internal_mutable_next_value_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.next_value_expr) + return _msg; +} + +// .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"]; +inline bool Node::has_inference_elem() const { + return node_case() == kInferenceElem; +} +inline bool Node::_internal_has_inference_elem() const { + return node_case() == kInferenceElem; +} +inline void Node::set_has_inference_elem() { + _impl_._oneof_case_[0] = kInferenceElem; +} +inline void Node::clear_inference_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInferenceElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.inference_elem_; + } + clear_has_node(); + } +} +inline ::pg_query::InferenceElem* Node::release_inference_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.inference_elem) + if (node_case() == kInferenceElem) { + clear_has_node(); + auto* temp = _impl_.node_.inference_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.inference_elem_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::InferenceElem& Node::_internal_inference_elem() const { + return node_case() == kInferenceElem ? *_impl_.node_.inference_elem_ : reinterpret_cast<::pg_query::InferenceElem&>(::pg_query::_InferenceElem_default_instance_); +} +inline const ::pg_query::InferenceElem& Node::inference_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.inference_elem) + return _internal_inference_elem(); +} +inline ::pg_query::InferenceElem* Node::unsafe_arena_release_inference_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inference_elem) + if (node_case() == kInferenceElem) { + clear_has_node(); + auto* temp = _impl_.node_.inference_elem_; + _impl_.node_.inference_elem_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_inference_elem(); + _impl_.node_.inference_elem_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inference_elem) +} +inline ::pg_query::InferenceElem* Node::_internal_mutable_inference_elem() { + if (node_case() != kInferenceElem) { + clear_node(); + set_has_inference_elem(); + _impl_.node_.inference_elem_ = CreateMaybeMessage<::pg_query::InferenceElem>(GetArena()); + } + return _impl_.node_.inference_elem_; +} +inline ::pg_query::InferenceElem* Node::mutable_inference_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferenceElem* _msg = _internal_mutable_inference_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.inference_elem) + return _msg; +} + +// .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"]; +inline bool Node::has_target_entry() const { + return node_case() == kTargetEntry; +} +inline bool Node::_internal_has_target_entry() const { + return node_case() == kTargetEntry; +} +inline void Node::set_has_target_entry() { + _impl_._oneof_case_[0] = kTargetEntry; +} +inline void Node::clear_target_entry() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTargetEntry) { + if (GetArena() == nullptr) { + delete _impl_.node_.target_entry_; + } + clear_has_node(); + } +} +inline ::pg_query::TargetEntry* Node::release_target_entry() { + // @@protoc_insertion_point(field_release:pg_query.Node.target_entry) + if (node_case() == kTargetEntry) { + clear_has_node(); + auto* temp = _impl_.node_.target_entry_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.target_entry_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::TargetEntry& Node::_internal_target_entry() const { + return node_case() == kTargetEntry ? *_impl_.node_.target_entry_ : reinterpret_cast<::pg_query::TargetEntry&>(::pg_query::_TargetEntry_default_instance_); +} +inline const ::pg_query::TargetEntry& Node::target_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.target_entry) + return _internal_target_entry(); +} +inline ::pg_query::TargetEntry* Node::unsafe_arena_release_target_entry() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.target_entry) + if (node_case() == kTargetEntry) { + clear_has_node(); + auto* temp = _impl_.node_.target_entry_; + _impl_.node_.target_entry_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_target_entry(); + _impl_.node_.target_entry_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.target_entry) +} +inline ::pg_query::TargetEntry* Node::_internal_mutable_target_entry() { + if (node_case() != kTargetEntry) { + clear_node(); + set_has_target_entry(); + _impl_.node_.target_entry_ = CreateMaybeMessage<::pg_query::TargetEntry>(GetArena()); + } + return _impl_.node_.target_entry_; +} +inline ::pg_query::TargetEntry* Node::mutable_target_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TargetEntry* _msg = _internal_mutable_target_entry(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.target_entry) + return _msg; +} + +// .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"]; +inline bool Node::has_range_tbl_ref() const { + return node_case() == kRangeTblRef; +} +inline bool Node::_internal_has_range_tbl_ref() const { + return node_case() == kRangeTblRef; +} +inline void Node::set_has_range_tbl_ref() { + _impl_._oneof_case_[0] = kRangeTblRef; +} +inline void Node::clear_range_tbl_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTblRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_tbl_ref_; + } + clear_has_node(); + } +} +inline ::pg_query::RangeTblRef* Node::release_range_tbl_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_ref) + if (node_case() == kRangeTblRef) { + clear_has_node(); + auto* temp = _impl_.node_.range_tbl_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.range_tbl_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RangeTblRef& Node::_internal_range_tbl_ref() const { + return node_case() == kRangeTblRef ? *_impl_.node_.range_tbl_ref_ : reinterpret_cast<::pg_query::RangeTblRef&>(::pg_query::_RangeTblRef_default_instance_); +} +inline const ::pg_query::RangeTblRef& Node::range_tbl_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_ref) + return _internal_range_tbl_ref(); +} +inline ::pg_query::RangeTblRef* Node::unsafe_arena_release_range_tbl_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_ref) + if (node_case() == kRangeTblRef) { + clear_has_node(); + auto* temp = _impl_.node_.range_tbl_ref_; + _impl_.node_.range_tbl_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_range_tbl_ref(); + _impl_.node_.range_tbl_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_ref) +} +inline ::pg_query::RangeTblRef* Node::_internal_mutable_range_tbl_ref() { + if (node_case() != kRangeTblRef) { + clear_node(); + set_has_range_tbl_ref(); + _impl_.node_.range_tbl_ref_ = CreateMaybeMessage<::pg_query::RangeTblRef>(GetArena()); + } + return _impl_.node_.range_tbl_ref_; +} +inline ::pg_query::RangeTblRef* Node::mutable_range_tbl_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblRef* _msg = _internal_mutable_range_tbl_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_ref) + return _msg; +} + +// .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"]; +inline bool Node::has_join_expr() const { + return node_case() == kJoinExpr; +} +inline bool Node::_internal_has_join_expr() const { + return node_case() == kJoinExpr; +} +inline void Node::set_has_join_expr() { + _impl_._oneof_case_[0] = kJoinExpr; +} +inline void Node::clear_join_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJoinExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.join_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::JoinExpr* Node::release_join_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.join_expr) + if (node_case() == kJoinExpr) { + clear_has_node(); + auto* temp = _impl_.node_.join_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.join_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::JoinExpr& Node::_internal_join_expr() const { + return node_case() == kJoinExpr ? *_impl_.node_.join_expr_ : reinterpret_cast<::pg_query::JoinExpr&>(::pg_query::_JoinExpr_default_instance_); +} +inline const ::pg_query::JoinExpr& Node::join_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.join_expr) + return _internal_join_expr(); +} +inline ::pg_query::JoinExpr* Node::unsafe_arena_release_join_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.join_expr) + if (node_case() == kJoinExpr) { + clear_has_node(); + auto* temp = _impl_.node_.join_expr_; + _impl_.node_.join_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_join_expr(); + _impl_.node_.join_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.join_expr) +} +inline ::pg_query::JoinExpr* Node::_internal_mutable_join_expr() { + if (node_case() != kJoinExpr) { + clear_node(); + set_has_join_expr(); + _impl_.node_.join_expr_ = CreateMaybeMessage<::pg_query::JoinExpr>(GetArena()); + } + return _impl_.node_.join_expr_; +} +inline ::pg_query::JoinExpr* Node::mutable_join_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JoinExpr* _msg = _internal_mutable_join_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.join_expr) + return _msg; +} + +// .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"]; +inline bool Node::has_from_expr() const { + return node_case() == kFromExpr; +} +inline bool Node::_internal_has_from_expr() const { + return node_case() == kFromExpr; +} +inline void Node::set_has_from_expr() { + _impl_._oneof_case_[0] = kFromExpr; +} +inline void Node::clear_from_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFromExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.from_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::FromExpr* Node::release_from_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.from_expr) + if (node_case() == kFromExpr) { + clear_has_node(); + auto* temp = _impl_.node_.from_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.from_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FromExpr& Node::_internal_from_expr() const { + return node_case() == kFromExpr ? *_impl_.node_.from_expr_ : reinterpret_cast<::pg_query::FromExpr&>(::pg_query::_FromExpr_default_instance_); +} +inline const ::pg_query::FromExpr& Node::from_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.from_expr) + return _internal_from_expr(); +} +inline ::pg_query::FromExpr* Node::unsafe_arena_release_from_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.from_expr) + if (node_case() == kFromExpr) { + clear_has_node(); + auto* temp = _impl_.node_.from_expr_; + _impl_.node_.from_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_from_expr(); + _impl_.node_.from_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.from_expr) +} +inline ::pg_query::FromExpr* Node::_internal_mutable_from_expr() { + if (node_case() != kFromExpr) { + clear_node(); + set_has_from_expr(); + _impl_.node_.from_expr_ = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); + } + return _impl_.node_.from_expr_; +} +inline ::pg_query::FromExpr* Node::mutable_from_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FromExpr* _msg = _internal_mutable_from_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.from_expr) + return _msg; +} + +// .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"]; +inline bool Node::has_on_conflict_expr() const { + return node_case() == kOnConflictExpr; +} +inline bool Node::_internal_has_on_conflict_expr() const { + return node_case() == kOnConflictExpr; +} +inline void Node::set_has_on_conflict_expr() { + _impl_._oneof_case_[0] = kOnConflictExpr; +} +inline void Node::clear_on_conflict_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOnConflictExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.on_conflict_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::OnConflictExpr* Node::release_on_conflict_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_expr) + if (node_case() == kOnConflictExpr) { + clear_has_node(); + auto* temp = _impl_.node_.on_conflict_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.on_conflict_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::OnConflictExpr& Node::_internal_on_conflict_expr() const { + return node_case() == kOnConflictExpr ? *_impl_.node_.on_conflict_expr_ : reinterpret_cast<::pg_query::OnConflictExpr&>(::pg_query::_OnConflictExpr_default_instance_); +} +inline const ::pg_query::OnConflictExpr& Node::on_conflict_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_expr) + return _internal_on_conflict_expr(); +} +inline ::pg_query::OnConflictExpr* Node::unsafe_arena_release_on_conflict_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_expr) + if (node_case() == kOnConflictExpr) { + clear_has_node(); + auto* temp = _impl_.node_.on_conflict_expr_; + _impl_.node_.on_conflict_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_on_conflict_expr(); + _impl_.node_.on_conflict_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_expr) +} +inline ::pg_query::OnConflictExpr* Node::_internal_mutable_on_conflict_expr() { + if (node_case() != kOnConflictExpr) { + clear_node(); + set_has_on_conflict_expr(); + _impl_.node_.on_conflict_expr_ = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); + } + return _impl_.node_.on_conflict_expr_; +} +inline ::pg_query::OnConflictExpr* Node::mutable_on_conflict_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_expr) + return _msg; +} + +// .pg_query.Query query = 64 [json_name = "Query"]; +inline bool Node::has_query() const { + return node_case() == kQuery; +} +inline bool Node::_internal_has_query() const { + return node_case() == kQuery; +} +inline void Node::set_has_query() { + _impl_._oneof_case_[0] = kQuery; +} +inline void Node::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kQuery) { + if (GetArena() == nullptr) { + delete _impl_.node_.query_; + } + clear_has_node(); + } +} +inline ::pg_query::Query* Node::release_query() { + // @@protoc_insertion_point(field_release:pg_query.Node.query) + if (node_case() == kQuery) { + clear_has_node(); + auto* temp = _impl_.node_.query_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Query& Node::_internal_query() const { + return node_case() == kQuery ? *_impl_.node_.query_ : reinterpret_cast<::pg_query::Query&>(::pg_query::_Query_default_instance_); +} +inline const ::pg_query::Query& Node::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.query) + return _internal_query(); +} +inline ::pg_query::Query* Node::unsafe_arena_release_query() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.query) + if (node_case() == kQuery) { + clear_has_node(); + auto* temp = _impl_.node_.query_; + _impl_.node_.query_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_query(::pg_query::Query* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_query(); + _impl_.node_.query_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.query) +} +inline ::pg_query::Query* Node::_internal_mutable_query() { + if (node_case() != kQuery) { + clear_node(); + set_has_query(); + _impl_.node_.query_ = CreateMaybeMessage<::pg_query::Query>(GetArena()); + } + return _impl_.node_.query_; +} +inline ::pg_query::Query* Node::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Query* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.query) + return _msg; +} + +// .pg_query.TypeName type_name = 65 [json_name = "TypeName"]; +inline bool Node::has_type_name() const { + return node_case() == kTypeName; +} +inline bool Node::_internal_has_type_name() const { + return node_case() == kTypeName; +} +inline void Node::set_has_type_name() { + _impl_._oneof_case_[0] = kTypeName; +} +inline void Node::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTypeName) { + if (GetArena() == nullptr) { + delete _impl_.node_.type_name_; + } + clear_has_node(); + } +} +inline ::pg_query::TypeName* Node::release_type_name() { + // @@protoc_insertion_point(field_release:pg_query.Node.type_name) + if (node_case() == kTypeName) { + clear_has_node(); + auto* temp = _impl_.node_.type_name_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.type_name_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::TypeName& Node::_internal_type_name() const { + return node_case() == kTypeName ? *_impl_.node_.type_name_ : reinterpret_cast<::pg_query::TypeName&>(::pg_query::_TypeName_default_instance_); +} +inline const ::pg_query::TypeName& Node::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.type_name) + return _internal_type_name(); +} +inline ::pg_query::TypeName* Node::unsafe_arena_release_type_name() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_name) + if (node_case() == kTypeName) { + clear_has_node(); + auto* temp = _impl_.node_.type_name_; + _impl_.node_.type_name_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_type_name(); + _impl_.node_.type_name_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_name) +} +inline ::pg_query::TypeName* Node::_internal_mutable_type_name() { + if (node_case() != kTypeName) { + clear_node(); + set_has_type_name(); + _impl_.node_.type_name_ = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + } + return _impl_.node_.type_name_; +} +inline ::pg_query::TypeName* Node::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.type_name) + return _msg; +} + +// .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"]; +inline bool Node::has_column_ref() const { + return node_case() == kColumnRef; +} +inline bool Node::_internal_has_column_ref() const { + return node_case() == kColumnRef; +} +inline void Node::set_has_column_ref() { + _impl_._oneof_case_[0] = kColumnRef; +} +inline void Node::clear_column_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kColumnRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.column_ref_; + } + clear_has_node(); + } +} +inline ::pg_query::ColumnRef* Node::release_column_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.column_ref) + if (node_case() == kColumnRef) { + clear_has_node(); + auto* temp = _impl_.node_.column_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.column_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ColumnRef& Node::_internal_column_ref() const { + return node_case() == kColumnRef ? *_impl_.node_.column_ref_ : reinterpret_cast<::pg_query::ColumnRef&>(::pg_query::_ColumnRef_default_instance_); +} +inline const ::pg_query::ColumnRef& Node::column_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.column_ref) + return _internal_column_ref(); +} +inline ::pg_query::ColumnRef* Node::unsafe_arena_release_column_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_ref) + if (node_case() == kColumnRef) { + clear_has_node(); + auto* temp = _impl_.node_.column_ref_; + _impl_.node_.column_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_column_ref(); + _impl_.node_.column_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_ref) +} +inline ::pg_query::ColumnRef* Node::_internal_mutable_column_ref() { + if (node_case() != kColumnRef) { + clear_node(); + set_has_column_ref(); + _impl_.node_.column_ref_ = CreateMaybeMessage<::pg_query::ColumnRef>(GetArena()); + } + return _impl_.node_.column_ref_; +} +inline ::pg_query::ColumnRef* Node::mutable_column_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ColumnRef* _msg = _internal_mutable_column_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.column_ref) + return _msg; +} + +// .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"]; +inline bool Node::has_param_ref() const { + return node_case() == kParamRef; +} +inline bool Node::_internal_has_param_ref() const { + return node_case() == kParamRef; +} +inline void Node::set_has_param_ref() { + _impl_._oneof_case_[0] = kParamRef; +} +inline void Node::clear_param_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kParamRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.param_ref_; + } + clear_has_node(); + } +} +inline ::pg_query::ParamRef* Node::release_param_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.param_ref) + if (node_case() == kParamRef) { + clear_has_node(); + auto* temp = _impl_.node_.param_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.param_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::ParamRef& Node::_internal_param_ref() const { + return node_case() == kParamRef ? *_impl_.node_.param_ref_ : reinterpret_cast<::pg_query::ParamRef&>(::pg_query::_ParamRef_default_instance_); +} +inline const ::pg_query::ParamRef& Node::param_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.param_ref) + return _internal_param_ref(); +} +inline ::pg_query::ParamRef* Node::unsafe_arena_release_param_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param_ref) + if (node_case() == kParamRef) { + clear_has_node(); + auto* temp = _impl_.node_.param_ref_; + _impl_.node_.param_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_param_ref(); + _impl_.node_.param_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param_ref) +} +inline ::pg_query::ParamRef* Node::_internal_mutable_param_ref() { + if (node_case() != kParamRef) { + clear_node(); + set_has_param_ref(); + _impl_.node_.param_ref_ = CreateMaybeMessage<::pg_query::ParamRef>(GetArena()); + } + return _impl_.node_.param_ref_; +} +inline ::pg_query::ParamRef* Node::mutable_param_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ParamRef* _msg = _internal_mutable_param_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.param_ref) + return _msg; +} + +// .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"]; +inline bool Node::has_a_expr() const { + return node_case() == kAExpr; +} +inline bool Node::_internal_has_a_expr() const { + return node_case() == kAExpr; +} +inline void Node::set_has_a_expr() { + _impl_._oneof_case_[0] = kAExpr; +} +inline void Node::clear_a_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_expr_; + } + clear_has_node(); + } +} +inline ::pg_query::A_Expr* Node::release_a_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_expr) + if (node_case() == kAExpr) { + clear_has_node(); + auto* temp = _impl_.node_.a_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.a_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::A_Expr& Node::_internal_a_expr() const { + return node_case() == kAExpr ? *_impl_.node_.a_expr_ : reinterpret_cast<::pg_query::A_Expr&>(::pg_query::_A_Expr_default_instance_); +} +inline const ::pg_query::A_Expr& Node::a_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_expr) + return _internal_a_expr(); +} +inline ::pg_query::A_Expr* Node::unsafe_arena_release_a_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_expr) + if (node_case() == kAExpr) { + clear_has_node(); + auto* temp = _impl_.node_.a_expr_; + _impl_.node_.a_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_a_expr(); + _impl_.node_.a_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_expr) +} +inline ::pg_query::A_Expr* Node::_internal_mutable_a_expr() { + if (node_case() != kAExpr) { + clear_node(); + set_has_a_expr(); + _impl_.node_.a_expr_ = CreateMaybeMessage<::pg_query::A_Expr>(GetArena()); + } + return _impl_.node_.a_expr_; +} +inline ::pg_query::A_Expr* Node::mutable_a_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Expr* _msg = _internal_mutable_a_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_expr) + return _msg; +} + +// .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"]; +inline bool Node::has_type_cast() const { + return node_case() == kTypeCast; +} +inline bool Node::_internal_has_type_cast() const { + return node_case() == kTypeCast; +} +inline void Node::set_has_type_cast() { + _impl_._oneof_case_[0] = kTypeCast; +} +inline void Node::clear_type_cast() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTypeCast) { + if (GetArena() == nullptr) { + delete _impl_.node_.type_cast_; + } + clear_has_node(); + } +} +inline ::pg_query::TypeCast* Node::release_type_cast() { + // @@protoc_insertion_point(field_release:pg_query.Node.type_cast) + if (node_case() == kTypeCast) { + clear_has_node(); + auto* temp = _impl_.node_.type_cast_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.type_cast_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::TypeCast& Node::_internal_type_cast() const { + return node_case() == kTypeCast ? *_impl_.node_.type_cast_ : reinterpret_cast<::pg_query::TypeCast&>(::pg_query::_TypeCast_default_instance_); +} +inline const ::pg_query::TypeCast& Node::type_cast() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.type_cast) + return _internal_type_cast(); +} +inline ::pg_query::TypeCast* Node::unsafe_arena_release_type_cast() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_cast) + if (node_case() == kTypeCast) { + clear_has_node(); + auto* temp = _impl_.node_.type_cast_; + _impl_.node_.type_cast_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_type_cast(); + _impl_.node_.type_cast_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_cast) +} +inline ::pg_query::TypeCast* Node::_internal_mutable_type_cast() { + if (node_case() != kTypeCast) { + clear_node(); + set_has_type_cast(); + _impl_.node_.type_cast_ = CreateMaybeMessage<::pg_query::TypeCast>(GetArena()); + } + return _impl_.node_.type_cast_; +} +inline ::pg_query::TypeCast* Node::mutable_type_cast() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeCast* _msg = _internal_mutable_type_cast(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.type_cast) + return _msg; +} + +// .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"]; +inline bool Node::has_collate_clause() const { + return node_case() == kCollateClause; +} +inline bool Node::_internal_has_collate_clause() const { + return node_case() == kCollateClause; +} +inline void Node::set_has_collate_clause() { + _impl_._oneof_case_[0] = kCollateClause; +} +inline void Node::clear_collate_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCollateClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.collate_clause_; + } + clear_has_node(); + } +} +inline ::pg_query::CollateClause* Node::release_collate_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.collate_clause) + if (node_case() == kCollateClause) { + clear_has_node(); + auto* temp = _impl_.node_.collate_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.collate_clause_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CollateClause& Node::_internal_collate_clause() const { + return node_case() == kCollateClause ? *_impl_.node_.collate_clause_ : reinterpret_cast<::pg_query::CollateClause&>(::pg_query::_CollateClause_default_instance_); +} +inline const ::pg_query::CollateClause& Node::collate_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.collate_clause) + return _internal_collate_clause(); +} +inline ::pg_query::CollateClause* Node::unsafe_arena_release_collate_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_clause) + if (node_case() == kCollateClause) { + clear_has_node(); + auto* temp = _impl_.node_.collate_clause_; + _impl_.node_.collate_clause_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_collate_clause(); + _impl_.node_.collate_clause_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_clause) +} +inline ::pg_query::CollateClause* Node::_internal_mutable_collate_clause() { + if (node_case() != kCollateClause) { + clear_node(); + set_has_collate_clause(); + _impl_.node_.collate_clause_ = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); + } + return _impl_.node_.collate_clause_; +} +inline ::pg_query::CollateClause* Node::mutable_collate_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateClause* _msg = _internal_mutable_collate_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_clause) + return _msg; +} + +// .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"]; +inline bool Node::has_role_spec() const { + return node_case() == kRoleSpec; +} +inline bool Node::_internal_has_role_spec() const { + return node_case() == kRoleSpec; +} +inline void Node::set_has_role_spec() { + _impl_._oneof_case_[0] = kRoleSpec; +} +inline void Node::clear_role_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRoleSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.role_spec_; + } + clear_has_node(); + } +} +inline ::pg_query::RoleSpec* Node::release_role_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.role_spec) + if (node_case() == kRoleSpec) { + clear_has_node(); + auto* temp = _impl_.node_.role_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.role_spec_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RoleSpec& Node::_internal_role_spec() const { + return node_case() == kRoleSpec ? *_impl_.node_.role_spec_ : reinterpret_cast<::pg_query::RoleSpec&>(::pg_query::_RoleSpec_default_instance_); +} +inline const ::pg_query::RoleSpec& Node::role_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.role_spec) + return _internal_role_spec(); +} +inline ::pg_query::RoleSpec* Node::unsafe_arena_release_role_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.role_spec) + if (node_case() == kRoleSpec) { + clear_has_node(); + auto* temp = _impl_.node_.role_spec_; + _impl_.node_.role_spec_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_role_spec(); + _impl_.node_.role_spec_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.role_spec) +} +inline ::pg_query::RoleSpec* Node::_internal_mutable_role_spec() { + if (node_case() != kRoleSpec) { + clear_node(); + set_has_role_spec(); + _impl_.node_.role_spec_ = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + } + return _impl_.node_.role_spec_; +} +inline ::pg_query::RoleSpec* Node::mutable_role_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_role_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.role_spec) + return _msg; +} + +// .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"]; +inline bool Node::has_func_call() const { + return node_case() == kFuncCall; +} +inline bool Node::_internal_has_func_call() const { + return node_case() == kFuncCall; +} +inline void Node::set_has_func_call() { + _impl_._oneof_case_[0] = kFuncCall; +} +inline void Node::clear_func_call() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFuncCall) { + if (GetArena() == nullptr) { + delete _impl_.node_.func_call_; + } + clear_has_node(); + } +} +inline ::pg_query::FuncCall* Node::release_func_call() { + // @@protoc_insertion_point(field_release:pg_query.Node.func_call) + if (node_case() == kFuncCall) { + clear_has_node(); + auto* temp = _impl_.node_.func_call_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.func_call_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FuncCall& Node::_internal_func_call() const { + return node_case() == kFuncCall ? *_impl_.node_.func_call_ : reinterpret_cast<::pg_query::FuncCall&>(::pg_query::_FuncCall_default_instance_); +} +inline const ::pg_query::FuncCall& Node::func_call() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.func_call) + return _internal_func_call(); +} +inline ::pg_query::FuncCall* Node::unsafe_arena_release_func_call() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_call) + if (node_case() == kFuncCall) { + clear_has_node(); + auto* temp = _impl_.node_.func_call_; + _impl_.node_.func_call_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_func_call(); + _impl_.node_.func_call_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_call) +} +inline ::pg_query::FuncCall* Node::_internal_mutable_func_call() { + if (node_case() != kFuncCall) { + clear_node(); + set_has_func_call(); + _impl_.node_.func_call_ = CreateMaybeMessage<::pg_query::FuncCall>(GetArena()); + } + return _impl_.node_.func_call_; +} +inline ::pg_query::FuncCall* Node::mutable_func_call() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncCall* _msg = _internal_mutable_func_call(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.func_call) + return _msg; +} + +// .pg_query.A_Star a_star = 73 [json_name = "A_Star"]; +inline bool Node::has_a_star() const { + return node_case() == kAStar; +} +inline bool Node::_internal_has_a_star() const { + return node_case() == kAStar; +} +inline void Node::set_has_a_star() { + _impl_._oneof_case_[0] = kAStar; +} +inline void Node::clear_a_star() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAStar) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_star_; + } + clear_has_node(); + } +} +inline ::pg_query::A_Star* Node::release_a_star() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_star) + if (node_case() == kAStar) { + clear_has_node(); + auto* temp = _impl_.node_.a_star_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.a_star_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::A_Star& Node::_internal_a_star() const { + return node_case() == kAStar ? *_impl_.node_.a_star_ : reinterpret_cast<::pg_query::A_Star&>(::pg_query::_A_Star_default_instance_); +} +inline const ::pg_query::A_Star& Node::a_star() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_star) + return _internal_a_star(); +} +inline ::pg_query::A_Star* Node::unsafe_arena_release_a_star() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_star) + if (node_case() == kAStar) { + clear_has_node(); + auto* temp = _impl_.node_.a_star_; + _impl_.node_.a_star_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_a_star(); + _impl_.node_.a_star_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_star) +} +inline ::pg_query::A_Star* Node::_internal_mutable_a_star() { + if (node_case() != kAStar) { + clear_node(); + set_has_a_star(); + _impl_.node_.a_star_ = CreateMaybeMessage<::pg_query::A_Star>(GetArena()); + } + return _impl_.node_.a_star_; +} +inline ::pg_query::A_Star* Node::mutable_a_star() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Star* _msg = _internal_mutable_a_star(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_star) + return _msg; +} + +// .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"]; +inline bool Node::has_a_indices() const { + return node_case() == kAIndices; +} +inline bool Node::_internal_has_a_indices() const { + return node_case() == kAIndices; +} +inline void Node::set_has_a_indices() { + _impl_._oneof_case_[0] = kAIndices; +} +inline void Node::clear_a_indices() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAIndices) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_indices_; + } + clear_has_node(); + } +} +inline ::pg_query::A_Indices* Node::release_a_indices() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_indices) + if (node_case() == kAIndices) { + clear_has_node(); + auto* temp = _impl_.node_.a_indices_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.a_indices_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::A_Indices& Node::_internal_a_indices() const { + return node_case() == kAIndices ? *_impl_.node_.a_indices_ : reinterpret_cast<::pg_query::A_Indices&>(::pg_query::_A_Indices_default_instance_); +} +inline const ::pg_query::A_Indices& Node::a_indices() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_indices) + return _internal_a_indices(); +} +inline ::pg_query::A_Indices* Node::unsafe_arena_release_a_indices() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indices) + if (node_case() == kAIndices) { + clear_has_node(); + auto* temp = _impl_.node_.a_indices_; + _impl_.node_.a_indices_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_a_indices(); + _impl_.node_.a_indices_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indices) +} +inline ::pg_query::A_Indices* Node::_internal_mutable_a_indices() { + if (node_case() != kAIndices) { + clear_node(); + set_has_a_indices(); + _impl_.node_.a_indices_ = CreateMaybeMessage<::pg_query::A_Indices>(GetArena()); + } + return _impl_.node_.a_indices_; +} +inline ::pg_query::A_Indices* Node::mutable_a_indices() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Indices* _msg = _internal_mutable_a_indices(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indices) + return _msg; +} + +// .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"]; +inline bool Node::has_a_indirection() const { + return node_case() == kAIndirection; +} +inline bool Node::_internal_has_a_indirection() const { + return node_case() == kAIndirection; +} +inline void Node::set_has_a_indirection() { + _impl_._oneof_case_[0] = kAIndirection; +} +inline void Node::clear_a_indirection() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAIndirection) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_indirection_; + } + clear_has_node(); } - inline ParseResult& operator=(ParseResult&& from) noexcept { - if (this == &from) return *this; - if (GetArena() == from.GetArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); +} +inline ::pg_query::A_Indirection* Node::release_a_indirection() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_indirection) + if (node_case() == kAIndirection) { + clear_has_node(); + auto* temp = _impl_.node_.a_indirection_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - return *this; + _impl_.node_.a_indirection_ = nullptr; + return temp; + } else { + return nullptr; } - - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); +} +inline const ::pg_query::A_Indirection& Node::_internal_a_indirection() const { + return node_case() == kAIndirection ? *_impl_.node_.a_indirection_ : reinterpret_cast<::pg_query::A_Indirection&>(::pg_query::_A_Indirection_default_instance_); +} +inline const ::pg_query::A_Indirection& Node::a_indirection() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_indirection) + return _internal_a_indirection(); +} +inline ::pg_query::A_Indirection* Node::unsafe_arena_release_a_indirection() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indirection) + if (node_case() == kAIndirection) { + clear_has_node(); + auto* temp = _impl_.node_.a_indirection_; + _impl_.node_.a_indirection_ = nullptr; + return temp; + } else { + return nullptr; } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); +} +inline void Node::unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_a_indirection(); + _impl_.node_.a_indirection_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indirection) +} +inline ::pg_query::A_Indirection* Node::_internal_mutable_a_indirection() { + if (node_case() != kAIndirection) { + clear_node(); + set_has_a_indirection(); + _impl_.node_.a_indirection_ = CreateMaybeMessage<::pg_query::A_Indirection>(GetArena()); } + return _impl_.node_.a_indirection_; +} +inline ::pg_query::A_Indirection* Node::mutable_a_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Indirection* _msg = _internal_mutable_a_indirection(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indirection) + return _msg; +} - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"]; +inline bool Node::has_a_array_expr() const { + return node_case() == kAArrayExpr; +} +inline bool Node::_internal_has_a_array_expr() const { + return node_case() == kAArrayExpr; +} +inline void Node::set_has_a_array_expr() { + _impl_._oneof_case_[0] = kAArrayExpr; +} +inline void Node::clear_a_array_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAArrayExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_array_expr_; + } + clear_has_node(); } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::A_ArrayExpr* Node::release_a_array_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_array_expr) + if (node_case() == kAArrayExpr) { + clear_has_node(); + auto* temp = _impl_.node_.a_array_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.a_array_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::A_ArrayExpr& Node::_internal_a_array_expr() const { + return node_case() == kAArrayExpr ? *_impl_.node_.a_array_expr_ : reinterpret_cast<::pg_query::A_ArrayExpr&>(::pg_query::_A_ArrayExpr_default_instance_); +} +inline const ::pg_query::A_ArrayExpr& Node::a_array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_array_expr) + return _internal_a_array_expr(); +} +inline ::pg_query::A_ArrayExpr* Node::unsafe_arena_release_a_array_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_array_expr) + if (node_case() == kAArrayExpr) { + clear_has_node(); + auto* temp = _impl_.node_.a_array_expr_; + _impl_.node_.a_array_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const ParseResult& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_a_array_expr(); + _impl_.node_.a_array_expr_ = value; } - static inline const ParseResult* internal_default_instance() { - return reinterpret_cast( - &_ParseResult_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_array_expr) +} +inline ::pg_query::A_ArrayExpr* Node::_internal_mutable_a_array_expr() { + if (node_case() != kAArrayExpr) { + clear_node(); + set_has_a_array_expr(); + _impl_.node_.a_array_expr_ = CreateMaybeMessage<::pg_query::A_ArrayExpr>(GetArena()); } - static constexpr int kIndexInFileMessages = - 0; + return _impl_.node_.a_array_expr_; +} +inline ::pg_query::A_ArrayExpr* Node::mutable_a_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_ArrayExpr* _msg = _internal_mutable_a_array_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_array_expr) + return _msg; +} - friend void swap(ParseResult& a, ParseResult& b) { - a.Swap(&b); - } - inline void Swap(ParseResult* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() != nullptr && - GetArena() == other->GetArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetArena() == other->GetArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); +// .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"]; +inline bool Node::has_res_target() const { + return node_case() == kResTarget; +} +inline bool Node::_internal_has_res_target() const { + return node_case() == kResTarget; +} +inline void Node::set_has_res_target() { + _impl_._oneof_case_[0] = kResTarget; +} +inline void Node::clear_res_target() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kResTarget) { + if (GetArena() == nullptr) { + delete _impl_.node_.res_target_; } + clear_has_node(); } - void UnsafeArenaSwap(ParseResult* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); +} +inline ::pg_query::ResTarget* Node::release_res_target() { + // @@protoc_insertion_point(field_release:pg_query.Node.res_target) + if (node_case() == kResTarget) { + clear_has_node(); + auto* temp = _impl_.node_.res_target_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.res_target_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - ParseResult* New(::google::protobuf::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline const ::pg_query::ResTarget& Node::_internal_res_target() const { + return node_case() == kResTarget ? *_impl_.node_.res_target_ : reinterpret_cast<::pg_query::ResTarget&>(::pg_query::_ResTarget_default_instance_); +} +inline const ::pg_query::ResTarget& Node::res_target() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.res_target) + return _internal_res_target(); +} +inline ::pg_query::ResTarget* Node::unsafe_arena_release_res_target() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.res_target) + if (node_case() == kResTarget) { + clear_has_node(); + auto* temp = _impl_.node_.res_target_; + _impl_.node_.res_target_ = nullptr; + return temp; + } else { + return nullptr; } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const ParseResult& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom( const ParseResult& from) { - ParseResult::MergeImpl(*this, from); +} +inline void Node::unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_res_target(); + _impl_.node_.res_target_ = value; } - private: - static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - ::size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const { return _impl_._cached_size_.Get(); } - - private: - ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; - void SharedCtor(::google::protobuf::Arena* arena); - void SharedDtor(); - void InternalSwap(ParseResult* other); - - private: - friend class ::google::protobuf::internal::AnyMetadata; - static ::absl::string_view FullMessageName() { - return "pg_query.ParseResult"; + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.res_target) +} +inline ::pg_query::ResTarget* Node::_internal_mutable_res_target() { + if (node_case() != kResTarget) { + clear_node(); + set_has_res_target(); + _impl_.node_.res_target_ = CreateMaybeMessage<::pg_query::ResTarget>(GetArena()); } - protected: - explicit ParseResult(::google::protobuf::Arena* arena); - ParseResult(::google::protobuf::Arena* arena, const ParseResult& from); - public: - - static const ClassData _class_data_; - const ::google::protobuf::Message::ClassData*GetClassData() const final; - - ::google::protobuf::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kStmtsFieldNumber = 2, - kVersionFieldNumber = 1, - }; - // repeated .pg_query.RawStmt stmts = 2; - int stmts_size() const; - private: - int _internal_stmts_size() const; - - public: - void clear_stmts() ; - ::pg_query::RawStmt* mutable_stmts(int index); - ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >* - mutable_stmts(); - private: - const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& _internal_stmts() const; - ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* _internal_mutable_stmts(); - public: - const ::pg_query::RawStmt& stmts(int index) const; - ::pg_query::RawStmt* add_stmts(); - const ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >& - stmts() const; - // int32 version = 1; - void clear_version() ; - ::int32_t version() const; - void set_version(::int32_t value); - - private: - ::int32_t _internal_version() const; - void _internal_set_version(::int32_t value); - - public: - // @@protoc_insertion_point(class_scope:pg_query.ParseResult) - private: - class _Internal; - - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 1, 2, 1, - 0, 2> - _table_; - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { - - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from); - ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt > stmts_; - ::int32_t version_; - mutable ::google::protobuf::internal::CachedSize _cached_size_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; - -// =================================================================== - - - - -// =================================================================== - - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ParseResult + return _impl_.node_.res_target_; +} +inline ::pg_query::ResTarget* Node::mutable_res_target() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ResTarget* _msg = _internal_mutable_res_target(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.res_target) + return _msg; +} -// int32 version = 1; -inline void ParseResult::clear_version() { +// .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"]; +inline bool Node::has_multi_assign_ref() const { + return node_case() == kMultiAssignRef; +} +inline bool Node::_internal_has_multi_assign_ref() const { + return node_case() == kMultiAssignRef; +} +inline void Node::set_has_multi_assign_ref() { + _impl_._oneof_case_[0] = kMultiAssignRef; +} +inline void Node::clear_multi_assign_ref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.version_ = 0; + if (node_case() == kMultiAssignRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.multi_assign_ref_; + } + clear_has_node(); + } } -inline ::int32_t ParseResult::version() const { - // @@protoc_insertion_point(field_get:pg_query.ParseResult.version) - return _internal_version(); +inline ::pg_query::MultiAssignRef* Node::release_multi_assign_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.multi_assign_ref) + if (node_case() == kMultiAssignRef) { + clear_has_node(); + auto* temp = _impl_.node_.multi_assign_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.multi_assign_ref_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void ParseResult::set_version(::int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:pg_query.ParseResult.version) +inline const ::pg_query::MultiAssignRef& Node::_internal_multi_assign_ref() const { + return node_case() == kMultiAssignRef ? *_impl_.node_.multi_assign_ref_ : reinterpret_cast<::pg_query::MultiAssignRef&>(::pg_query::_MultiAssignRef_default_instance_); } -inline ::int32_t ParseResult::_internal_version() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.version_; +inline const ::pg_query::MultiAssignRef& Node::multi_assign_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.multi_assign_ref) + return _internal_multi_assign_ref(); } -inline void ParseResult::_internal_set_version(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.version_ = value; +inline ::pg_query::MultiAssignRef* Node::unsafe_arena_release_multi_assign_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.multi_assign_ref) + if (node_case() == kMultiAssignRef) { + clear_has_node(); + auto* temp = _impl_.node_.multi_assign_ref_; + _impl_.node_.multi_assign_ref_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_multi_assign_ref(); + _impl_.node_.multi_assign_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.multi_assign_ref) +} +inline ::pg_query::MultiAssignRef* Node::_internal_mutable_multi_assign_ref() { + if (node_case() != kMultiAssignRef) { + clear_node(); + set_has_multi_assign_ref(); + _impl_.node_.multi_assign_ref_ = CreateMaybeMessage<::pg_query::MultiAssignRef>(GetArena()); + } + return _impl_.node_.multi_assign_ref_; +} +inline ::pg_query::MultiAssignRef* Node::mutable_multi_assign_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MultiAssignRef* _msg = _internal_mutable_multi_assign_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.multi_assign_ref) + return _msg; } -// repeated .pg_query.RawStmt stmts = 2; -inline int ParseResult::_internal_stmts_size() const { - return _internal_stmts().size(); +// .pg_query.SortBy sort_by = 79 [json_name = "SortBy"]; +inline bool Node::has_sort_by() const { + return node_case() == kSortBy; } -inline int ParseResult::stmts_size() const { - return _internal_stmts_size(); +inline bool Node::_internal_has_sort_by() const { + return node_case() == kSortBy; } -inline void ParseResult::clear_stmts() { +inline void Node::set_has_sort_by() { + _impl_._oneof_case_[0] = kSortBy; +} +inline void Node::clear_sort_by() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.stmts_.Clear(); + if (node_case() == kSortBy) { + if (GetArena() == nullptr) { + delete _impl_.node_.sort_by_; + } + clear_has_node(); + } } -inline ::pg_query::RawStmt* ParseResult::mutable_stmts(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ParseResult.stmts) - return _internal_mutable_stmts()->Mutable(index); +inline ::pg_query::SortBy* Node::release_sort_by() { + // @@protoc_insertion_point(field_release:pg_query.Node.sort_by) + if (node_case() == kSortBy) { + clear_has_node(); + auto* temp = _impl_.node_.sort_by_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.sort_by_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* ParseResult::mutable_stmts() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ParseResult.stmts) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_stmts(); +inline const ::pg_query::SortBy& Node::_internal_sort_by() const { + return node_case() == kSortBy ? *_impl_.node_.sort_by_ : reinterpret_cast<::pg_query::SortBy&>(::pg_query::_SortBy_default_instance_); } -inline const ::pg_query::RawStmt& ParseResult::stmts(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ParseResult.stmts) - return _internal_stmts().Get(index); +inline const ::pg_query::SortBy& Node::sort_by() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sort_by) + return _internal_sort_by(); } -inline ::pg_query::RawStmt* ParseResult::add_stmts() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::RawStmt* _add = _internal_mutable_stmts()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ParseResult.stmts) - return _add; +inline ::pg_query::SortBy* Node::unsafe_arena_release_sort_by() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_by) + if (node_case() == kSortBy) { + clear_has_node(); + auto* temp = _impl_.node_.sort_by_; + _impl_.node_.sort_by_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& ParseResult::stmts() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ParseResult.stmts) - return _internal_stmts(); +inline void Node::unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sort_by(); + _impl_.node_.sort_by_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_by) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& -ParseResult::_internal_stmts() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.stmts_; +inline ::pg_query::SortBy* Node::_internal_mutable_sort_by() { + if (node_case() != kSortBy) { + clear_node(); + set_has_sort_by(); + _impl_.node_.sort_by_ = CreateMaybeMessage<::pg_query::SortBy>(GetArena()); + } + return _impl_.node_.sort_by_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* -ParseResult::_internal_mutable_stmts() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.stmts_; +inline ::pg_query::SortBy* Node::mutable_sort_by() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SortBy* _msg = _internal_mutable_sort_by(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_by) + return _msg; } -// ------------------------------------------------------------------- - -// ScanResult - -// int32 version = 1; -inline void ScanResult::clear_version() { +// .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"]; +inline bool Node::has_window_def() const { + return node_case() == kWindowDef; +} +inline bool Node::_internal_has_window_def() const { + return node_case() == kWindowDef; +} +inline void Node::set_has_window_def() { + _impl_._oneof_case_[0] = kWindowDef; +} +inline void Node::clear_window_def() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.version_ = 0; + if (node_case() == kWindowDef) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_def_; + } + clear_has_node(); + } } -inline ::int32_t ScanResult::version() const { - // @@protoc_insertion_point(field_get:pg_query.ScanResult.version) - return _internal_version(); +inline ::pg_query::WindowDef* Node::release_window_def() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_def) + if (node_case() == kWindowDef) { + clear_has_node(); + auto* temp = _impl_.node_.window_def_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.window_def_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void ScanResult::set_version(::int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:pg_query.ScanResult.version) +inline const ::pg_query::WindowDef& Node::_internal_window_def() const { + return node_case() == kWindowDef ? *_impl_.node_.window_def_ : reinterpret_cast<::pg_query::WindowDef&>(::pg_query::_WindowDef_default_instance_); } -inline ::int32_t ScanResult::_internal_version() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.version_; +inline const ::pg_query::WindowDef& Node::window_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_def) + return _internal_window_def(); } -inline void ScanResult::_internal_set_version(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.version_ = value; +inline ::pg_query::WindowDef* Node::unsafe_arena_release_window_def() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_def) + if (node_case() == kWindowDef) { + clear_has_node(); + auto* temp = _impl_.node_.window_def_; + _impl_.node_.window_def_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_window_def(); + _impl_.node_.window_def_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_def) +} +inline ::pg_query::WindowDef* Node::_internal_mutable_window_def() { + if (node_case() != kWindowDef) { + clear_node(); + set_has_window_def(); + _impl_.node_.window_def_ = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); + } + return _impl_.node_.window_def_; +} +inline ::pg_query::WindowDef* Node::mutable_window_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowDef* _msg = _internal_mutable_window_def(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_def) + return _msg; } -// repeated .pg_query.ScanToken tokens = 2; -inline int ScanResult::_internal_tokens_size() const { - return _internal_tokens().size(); +// .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"]; +inline bool Node::has_range_subselect() const { + return node_case() == kRangeSubselect; } -inline int ScanResult::tokens_size() const { - return _internal_tokens_size(); +inline bool Node::_internal_has_range_subselect() const { + return node_case() == kRangeSubselect; } -inline void ScanResult::clear_tokens() { +inline void Node::set_has_range_subselect() { + _impl_._oneof_case_[0] = kRangeSubselect; +} +inline void Node::clear_range_subselect() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.tokens_.Clear(); + if (node_case() == kRangeSubselect) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_subselect_; + } + clear_has_node(); + } } -inline ::pg_query::ScanToken* ScanResult::mutable_tokens(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ScanResult.tokens) - return _internal_mutable_tokens()->Mutable(index); +inline ::pg_query::RangeSubselect* Node::release_range_subselect() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_subselect) + if (node_case() == kRangeSubselect) { + clear_has_node(); + auto* temp = _impl_.node_.range_subselect_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.range_subselect_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* ScanResult::mutable_tokens() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ScanResult.tokens) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_tokens(); +inline const ::pg_query::RangeSubselect& Node::_internal_range_subselect() const { + return node_case() == kRangeSubselect ? *_impl_.node_.range_subselect_ : reinterpret_cast<::pg_query::RangeSubselect&>(::pg_query::_RangeSubselect_default_instance_); } -inline const ::pg_query::ScanToken& ScanResult::tokens(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ScanResult.tokens) - return _internal_tokens().Get(index); +inline const ::pg_query::RangeSubselect& Node::range_subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_subselect) + return _internal_range_subselect(); } -inline ::pg_query::ScanToken* ScanResult::add_tokens() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::ScanToken* _add = _internal_mutable_tokens()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ScanResult.tokens) - return _add; +inline ::pg_query::RangeSubselect* Node::unsafe_arena_release_range_subselect() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_subselect) + if (node_case() == kRangeSubselect) { + clear_has_node(); + auto* temp = _impl_.node_.range_subselect_; + _impl_.node_.range_subselect_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& ScanResult::tokens() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ScanResult.tokens) - return _internal_tokens(); +inline void Node::unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_range_subselect(); + _impl_.node_.range_subselect_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_subselect) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& -ScanResult::_internal_tokens() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.tokens_; +inline ::pg_query::RangeSubselect* Node::_internal_mutable_range_subselect() { + if (node_case() != kRangeSubselect) { + clear_node(); + set_has_range_subselect(); + _impl_.node_.range_subselect_ = CreateMaybeMessage<::pg_query::RangeSubselect>(GetArena()); + } + return _impl_.node_.range_subselect_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* -ScanResult::_internal_mutable_tokens() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.tokens_; +inline ::pg_query::RangeSubselect* Node::mutable_range_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeSubselect* _msg = _internal_mutable_range_subselect(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_subselect) + return _msg; } -// ------------------------------------------------------------------- - -// Node - -// .pg_query.Alias alias = 1 [json_name = "Alias"]; -inline bool Node::has_alias() const { - return node_case() == kAlias; +// .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"]; +inline bool Node::has_range_function() const { + return node_case() == kRangeFunction; } -inline bool Node::_internal_has_alias() const { - return node_case() == kAlias; +inline bool Node::_internal_has_range_function() const { + return node_case() == kRangeFunction; } -inline void Node::set_has_alias() { - _impl_._oneof_case_[0] = kAlias; +inline void Node::set_has_range_function() { + _impl_._oneof_case_[0] = kRangeFunction; } -inline void Node::clear_alias() { +inline void Node::clear_range_function() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlias) { + if (node_case() == kRangeFunction) { if (GetArena() == nullptr) { - delete _impl_.node_.alias_; + delete _impl_.node_.range_function_; } clear_has_node(); } } -inline ::pg_query::Alias* Node::release_alias() { - // @@protoc_insertion_point(field_release:pg_query.Node.alias) - if (node_case() == kAlias) { +inline ::pg_query::RangeFunction* Node::release_range_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_function) + if (node_case() == kRangeFunction) { clear_has_node(); - auto* temp = _impl_.node_.alias_; + auto* temp = _impl_.node_.range_function_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alias_ = nullptr; + _impl_.node_.range_function_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Alias& Node::_internal_alias() const { - return node_case() == kAlias ? *_impl_.node_.alias_ : reinterpret_cast<::pg_query::Alias&>(::pg_query::_Alias_default_instance_); +inline const ::pg_query::RangeFunction& Node::_internal_range_function() const { + return node_case() == kRangeFunction ? *_impl_.node_.range_function_ : reinterpret_cast<::pg_query::RangeFunction&>(::pg_query::_RangeFunction_default_instance_); } -inline const ::pg_query::Alias& Node::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alias) - return _internal_alias(); +inline const ::pg_query::RangeFunction& Node::range_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_function) + return _internal_range_function(); } -inline ::pg_query::Alias* Node::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alias) - if (node_case() == kAlias) { +inline ::pg_query::RangeFunction* Node::unsafe_arena_release_range_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_function) + if (node_case() == kRangeFunction) { clear_has_node(); - auto* temp = _impl_.node_.alias_; - _impl_.node_.alias_ = nullptr; + auto* temp = _impl_.node_.range_function_; + _impl_.node_.range_function_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void Node::unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alias(); - _impl_.node_.alias_ = value; + set_has_range_function(); + _impl_.node_.range_function_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_function) } -inline ::pg_query::Alias* Node::_internal_mutable_alias() { - if (node_case() != kAlias) { +inline ::pg_query::RangeFunction* Node::_internal_mutable_range_function() { + if (node_case() != kRangeFunction) { clear_node(); - set_has_alias(); - _impl_.node_.alias_ = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + set_has_range_function(); + _impl_.node_.range_function_ = CreateMaybeMessage<::pg_query::RangeFunction>(GetArena()); } - return _impl_.node_.alias_; + return _impl_.node_.range_function_; } -inline ::pg_query::Alias* Node::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alias) +inline ::pg_query::RangeFunction* Node::mutable_range_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeFunction* _msg = _internal_mutable_range_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_function) return _msg; } -// .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; -inline bool Node::has_range_var() const { - return node_case() == kRangeVar; +// .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"]; +inline bool Node::has_range_table_func() const { + return node_case() == kRangeTableFunc; } -inline bool Node::_internal_has_range_var() const { - return node_case() == kRangeVar; +inline bool Node::_internal_has_range_table_func() const { + return node_case() == kRangeTableFunc; } -inline void Node::set_has_range_var() { - _impl_._oneof_case_[0] = kRangeVar; +inline void Node::set_has_range_table_func() { + _impl_._oneof_case_[0] = kRangeTableFunc; } -inline void Node::clear_range_var() { +inline void Node::clear_range_table_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeVar) { + if (node_case() == kRangeTableFunc) { if (GetArena() == nullptr) { - delete _impl_.node_.range_var_; + delete _impl_.node_.range_table_func_; } clear_has_node(); } } -inline ::pg_query::RangeVar* Node::release_range_var() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_var) - if (node_case() == kRangeVar) { +inline ::pg_query::RangeTableFunc* Node::release_range_table_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func) + if (node_case() == kRangeTableFunc) { clear_has_node(); - auto* temp = _impl_.node_.range_var_; + auto* temp = _impl_.node_.range_table_func_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_var_ = nullptr; + _impl_.node_.range_table_func_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeVar& Node::_internal_range_var() const { - return node_case() == kRangeVar ? *_impl_.node_.range_var_ : reinterpret_cast<::pg_query::RangeVar&>(::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::RangeTableFunc& Node::_internal_range_table_func() const { + return node_case() == kRangeTableFunc ? *_impl_.node_.range_table_func_ : reinterpret_cast<::pg_query::RangeTableFunc&>(::pg_query::_RangeTableFunc_default_instance_); } -inline const ::pg_query::RangeVar& Node::range_var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_var) - return _internal_range_var(); +inline const ::pg_query::RangeTableFunc& Node::range_table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func) + return _internal_range_table_func(); } -inline ::pg_query::RangeVar* Node::unsafe_arena_release_range_var() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_var) - if (node_case() == kRangeVar) { +inline ::pg_query::RangeTableFunc* Node::unsafe_arena_release_range_table_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func) + if (node_case() == kRangeTableFunc) { clear_has_node(); - auto* temp = _impl_.node_.range_var_; - _impl_.node_.range_var_ = nullptr; + auto* temp = _impl_.node_.range_table_func_; + _impl_.node_.range_table_func_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value) { +inline void Node::unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_var(); - _impl_.node_.range_var_ = value; + set_has_range_table_func(); + _impl_.node_.range_table_func_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_var) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func) } -inline ::pg_query::RangeVar* Node::_internal_mutable_range_var() { - if (node_case() != kRangeVar) { +inline ::pg_query::RangeTableFunc* Node::_internal_mutable_range_table_func() { + if (node_case() != kRangeTableFunc) { clear_node(); - set_has_range_var(); - _impl_.node_.range_var_ = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + set_has_range_table_func(); + _impl_.node_.range_table_func_ = CreateMaybeMessage<::pg_query::RangeTableFunc>(GetArena()); } - return _impl_.node_.range_var_; + return _impl_.node_.range_table_func_; } -inline ::pg_query::RangeVar* Node::mutable_range_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeVar* _msg = _internal_mutable_range_var(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_var) +inline ::pg_query::RangeTableFunc* Node::mutable_range_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableFunc* _msg = _internal_mutable_range_table_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func) return _msg; } -// .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; -inline bool Node::has_table_func() const { - return node_case() == kTableFunc; +// .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"]; +inline bool Node::has_range_table_func_col() const { + return node_case() == kRangeTableFuncCol; } -inline bool Node::_internal_has_table_func() const { - return node_case() == kTableFunc; +inline bool Node::_internal_has_range_table_func_col() const { + return node_case() == kRangeTableFuncCol; } -inline void Node::set_has_table_func() { - _impl_._oneof_case_[0] = kTableFunc; +inline void Node::set_has_range_table_func_col() { + _impl_._oneof_case_[0] = kRangeTableFuncCol; } -inline void Node::clear_table_func() { +inline void Node::clear_range_table_func_col() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTableFunc) { + if (node_case() == kRangeTableFuncCol) { if (GetArena() == nullptr) { - delete _impl_.node_.table_func_; + delete _impl_.node_.range_table_func_col_; } clear_has_node(); } } -inline ::pg_query::TableFunc* Node::release_table_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_func) - if (node_case() == kTableFunc) { +inline ::pg_query::RangeTableFuncCol* Node::release_range_table_func_col() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func_col) + if (node_case() == kRangeTableFuncCol) { clear_has_node(); - auto* temp = _impl_.node_.table_func_; + auto* temp = _impl_.node_.range_table_func_col_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_func_ = nullptr; + _impl_.node_.range_table_func_col_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableFunc& Node::_internal_table_func() const { - return node_case() == kTableFunc ? *_impl_.node_.table_func_ : reinterpret_cast<::pg_query::TableFunc&>(::pg_query::_TableFunc_default_instance_); +inline const ::pg_query::RangeTableFuncCol& Node::_internal_range_table_func_col() const { + return node_case() == kRangeTableFuncCol ? *_impl_.node_.range_table_func_col_ : reinterpret_cast<::pg_query::RangeTableFuncCol&>(::pg_query::_RangeTableFuncCol_default_instance_); } -inline const ::pg_query::TableFunc& Node::table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.table_func) - return _internal_table_func(); +inline const ::pg_query::RangeTableFuncCol& Node::range_table_func_col() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func_col) + return _internal_range_table_func_col(); } -inline ::pg_query::TableFunc* Node::unsafe_arena_release_table_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_func) - if (node_case() == kTableFunc) { +inline ::pg_query::RangeTableFuncCol* Node::unsafe_arena_release_range_table_func_col() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func_col) + if (node_case() == kRangeTableFuncCol) { clear_has_node(); - auto* temp = _impl_.node_.table_func_; - _impl_.node_.table_func_ = nullptr; + auto* temp = _impl_.node_.range_table_func_col_; + _impl_.node_.range_table_func_col_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value) { +inline void Node::unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_table_func(); - _impl_.node_.table_func_ = value; + set_has_range_table_func_col(); + _impl_.node_.range_table_func_col_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func_col) } -inline ::pg_query::TableFunc* Node::_internal_mutable_table_func() { - if (node_case() != kTableFunc) { +inline ::pg_query::RangeTableFuncCol* Node::_internal_mutable_range_table_func_col() { + if (node_case() != kRangeTableFuncCol) { clear_node(); - set_has_table_func(); - _impl_.node_.table_func_ = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); + set_has_range_table_func_col(); + _impl_.node_.range_table_func_col_ = CreateMaybeMessage<::pg_query::RangeTableFuncCol>(GetArena()); } - return _impl_.node_.table_func_; + return _impl_.node_.range_table_func_col_; } -inline ::pg_query::TableFunc* Node::mutable_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TableFunc* _msg = _internal_mutable_table_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_func) +inline ::pg_query::RangeTableFuncCol* Node::mutable_range_table_func_col() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableFuncCol* _msg = _internal_mutable_range_table_func_col(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func_col) return _msg; } -// .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; -inline bool Node::has_into_clause() const { - return node_case() == kIntoClause; +// .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"]; +inline bool Node::has_range_table_sample() const { + return node_case() == kRangeTableSample; } -inline bool Node::_internal_has_into_clause() const { - return node_case() == kIntoClause; +inline bool Node::_internal_has_range_table_sample() const { + return node_case() == kRangeTableSample; } -inline void Node::set_has_into_clause() { - _impl_._oneof_case_[0] = kIntoClause; +inline void Node::set_has_range_table_sample() { + _impl_._oneof_case_[0] = kRangeTableSample; } -inline void Node::clear_into_clause() { +inline void Node::clear_range_table_sample() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kIntoClause) { + if (node_case() == kRangeTableSample) { if (GetArena() == nullptr) { - delete _impl_.node_.into_clause_; + delete _impl_.node_.range_table_sample_; } clear_has_node(); } } -inline ::pg_query::IntoClause* Node::release_into_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.into_clause) - if (node_case() == kIntoClause) { +inline ::pg_query::RangeTableSample* Node::release_range_table_sample() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_sample) + if (node_case() == kRangeTableSample) { clear_has_node(); - auto* temp = _impl_.node_.into_clause_; + auto* temp = _impl_.node_.range_table_sample_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.into_clause_ = nullptr; + _impl_.node_.range_table_sample_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IntoClause& Node::_internal_into_clause() const { - return node_case() == kIntoClause ? *_impl_.node_.into_clause_ : reinterpret_cast<::pg_query::IntoClause&>(::pg_query::_IntoClause_default_instance_); +inline const ::pg_query::RangeTableSample& Node::_internal_range_table_sample() const { + return node_case() == kRangeTableSample ? *_impl_.node_.range_table_sample_ : reinterpret_cast<::pg_query::RangeTableSample&>(::pg_query::_RangeTableSample_default_instance_); } -inline const ::pg_query::IntoClause& Node::into_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.into_clause) - return _internal_into_clause(); +inline const ::pg_query::RangeTableSample& Node::range_table_sample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_sample) + return _internal_range_table_sample(); } -inline ::pg_query::IntoClause* Node::unsafe_arena_release_into_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.into_clause) - if (node_case() == kIntoClause) { +inline ::pg_query::RangeTableSample* Node::unsafe_arena_release_range_table_sample() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_sample) + if (node_case() == kRangeTableSample) { clear_has_node(); - auto* temp = _impl_.node_.into_clause_; - _impl_.node_.into_clause_ = nullptr; + auto* temp = _impl_.node_.range_table_sample_; + _impl_.node_.range_table_sample_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value) { +inline void Node::unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_into_clause(); - _impl_.node_.into_clause_ = value; + set_has_range_table_sample(); + _impl_.node_.range_table_sample_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.into_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_sample) } -inline ::pg_query::IntoClause* Node::_internal_mutable_into_clause() { - if (node_case() != kIntoClause) { +inline ::pg_query::RangeTableSample* Node::_internal_mutable_range_table_sample() { + if (node_case() != kRangeTableSample) { clear_node(); - set_has_into_clause(); - _impl_.node_.into_clause_ = CreateMaybeMessage<::pg_query::IntoClause>(GetArena()); + set_has_range_table_sample(); + _impl_.node_.range_table_sample_ = CreateMaybeMessage<::pg_query::RangeTableSample>(GetArena()); } - return _impl_.node_.into_clause_; + return _impl_.node_.range_table_sample_; } -inline ::pg_query::IntoClause* Node::mutable_into_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.into_clause) +inline ::pg_query::RangeTableSample* Node::mutable_range_table_sample() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableSample* _msg = _internal_mutable_range_table_sample(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_sample) return _msg; } -// .pg_query.Var var = 5 [json_name = "Var"]; -inline bool Node::has_var() const { - return node_case() == kVar; +// .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"]; +inline bool Node::has_column_def() const { + return node_case() == kColumnDef; } -inline bool Node::_internal_has_var() const { - return node_case() == kVar; +inline bool Node::_internal_has_column_def() const { + return node_case() == kColumnDef; } -inline void Node::set_has_var() { - _impl_._oneof_case_[0] = kVar; +inline void Node::set_has_column_def() { + _impl_._oneof_case_[0] = kColumnDef; } -inline void Node::clear_var() { +inline void Node::clear_column_def() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kVar) { + if (node_case() == kColumnDef) { if (GetArena() == nullptr) { - delete _impl_.node_.var_; + delete _impl_.node_.column_def_; } clear_has_node(); } } -inline ::pg_query::Var* Node::release_var() { - // @@protoc_insertion_point(field_release:pg_query.Node.var) - if (node_case() == kVar) { +inline ::pg_query::ColumnDef* Node::release_column_def() { + // @@protoc_insertion_point(field_release:pg_query.Node.column_def) + if (node_case() == kColumnDef) { clear_has_node(); - auto* temp = _impl_.node_.var_; + auto* temp = _impl_.node_.column_def_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.var_ = nullptr; + _impl_.node_.column_def_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Var& Node::_internal_var() const { - return node_case() == kVar ? *_impl_.node_.var_ : reinterpret_cast<::pg_query::Var&>(::pg_query::_Var_default_instance_); +inline const ::pg_query::ColumnDef& Node::_internal_column_def() const { + return node_case() == kColumnDef ? *_impl_.node_.column_def_ : reinterpret_cast<::pg_query::ColumnDef&>(::pg_query::_ColumnDef_default_instance_); } -inline const ::pg_query::Var& Node::var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.var) - return _internal_var(); +inline const ::pg_query::ColumnDef& Node::column_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.column_def) + return _internal_column_def(); } -inline ::pg_query::Var* Node::unsafe_arena_release_var() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.var) - if (node_case() == kVar) { +inline ::pg_query::ColumnDef* Node::unsafe_arena_release_column_def() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_def) + if (node_case() == kColumnDef) { clear_has_node(); - auto* temp = _impl_.node_.var_; - _impl_.node_.var_ = nullptr; + auto* temp = _impl_.node_.column_def_; + _impl_.node_.column_def_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_var(::pg_query::Var* value) { +inline void Node::unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_var(); - _impl_.node_.var_ = value; + set_has_column_def(); + _impl_.node_.column_def_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.var) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_def) } -inline ::pg_query::Var* Node::_internal_mutable_var() { - if (node_case() != kVar) { +inline ::pg_query::ColumnDef* Node::_internal_mutable_column_def() { + if (node_case() != kColumnDef) { clear_node(); - set_has_var(); - _impl_.node_.var_ = CreateMaybeMessage<::pg_query::Var>(GetArena()); + set_has_column_def(); + _impl_.node_.column_def_ = CreateMaybeMessage<::pg_query::ColumnDef>(GetArena()); } - return _impl_.node_.var_; + return _impl_.node_.column_def_; } -inline ::pg_query::Var* Node::mutable_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Var* _msg = _internal_mutable_var(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.var) +inline ::pg_query::ColumnDef* Node::mutable_column_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ColumnDef* _msg = _internal_mutable_column_def(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.column_def) return _msg; } -// .pg_query.Param param = 6 [json_name = "Param"]; -inline bool Node::has_param() const { - return node_case() == kParam; +// .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"]; +inline bool Node::has_table_like_clause() const { + return node_case() == kTableLikeClause; } -inline bool Node::_internal_has_param() const { - return node_case() == kParam; +inline bool Node::_internal_has_table_like_clause() const { + return node_case() == kTableLikeClause; } -inline void Node::set_has_param() { - _impl_._oneof_case_[0] = kParam; +inline void Node::set_has_table_like_clause() { + _impl_._oneof_case_[0] = kTableLikeClause; } -inline void Node::clear_param() { +inline void Node::clear_table_like_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kParam) { + if (node_case() == kTableLikeClause) { if (GetArena() == nullptr) { - delete _impl_.node_.param_; + delete _impl_.node_.table_like_clause_; } clear_has_node(); } } -inline ::pg_query::Param* Node::release_param() { - // @@protoc_insertion_point(field_release:pg_query.Node.param) - if (node_case() == kParam) { +inline ::pg_query::TableLikeClause* Node::release_table_like_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_like_clause) + if (node_case() == kTableLikeClause) { clear_has_node(); - auto* temp = _impl_.node_.param_; + auto* temp = _impl_.node_.table_like_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.param_ = nullptr; + _impl_.node_.table_like_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Param& Node::_internal_param() const { - return node_case() == kParam ? *_impl_.node_.param_ : reinterpret_cast<::pg_query::Param&>(::pg_query::_Param_default_instance_); +inline const ::pg_query::TableLikeClause& Node::_internal_table_like_clause() const { + return node_case() == kTableLikeClause ? *_impl_.node_.table_like_clause_ : reinterpret_cast<::pg_query::TableLikeClause&>(::pg_query::_TableLikeClause_default_instance_); } -inline const ::pg_query::Param& Node::param() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.param) - return _internal_param(); +inline const ::pg_query::TableLikeClause& Node::table_like_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_like_clause) + return _internal_table_like_clause(); } -inline ::pg_query::Param* Node::unsafe_arena_release_param() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param) - if (node_case() == kParam) { +inline ::pg_query::TableLikeClause* Node::unsafe_arena_release_table_like_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_like_clause) + if (node_case() == kTableLikeClause) { clear_has_node(); - auto* temp = _impl_.node_.param_; - _impl_.node_.param_ = nullptr; + auto* temp = _impl_.node_.table_like_clause_; + _impl_.node_.table_like_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_param(::pg_query::Param* value) { +inline void Node::unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_param(); - _impl_.node_.param_ = value; + set_has_table_like_clause(); + _impl_.node_.table_like_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_like_clause) } -inline ::pg_query::Param* Node::_internal_mutable_param() { - if (node_case() != kParam) { +inline ::pg_query::TableLikeClause* Node::_internal_mutable_table_like_clause() { + if (node_case() != kTableLikeClause) { clear_node(); - set_has_param(); - _impl_.node_.param_ = CreateMaybeMessage<::pg_query::Param>(GetArena()); + set_has_table_like_clause(); + _impl_.node_.table_like_clause_ = CreateMaybeMessage<::pg_query::TableLikeClause>(GetArena()); } - return _impl_.node_.param_; + return _impl_.node_.table_like_clause_; } -inline ::pg_query::Param* Node::mutable_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Param* _msg = _internal_mutable_param(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.param) +inline ::pg_query::TableLikeClause* Node::mutable_table_like_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableLikeClause* _msg = _internal_mutable_table_like_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_like_clause) return _msg; } -// .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; -inline bool Node::has_aggref() const { - return node_case() == kAggref; +// .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"]; +inline bool Node::has_index_elem() const { + return node_case() == kIndexElem; } -inline bool Node::_internal_has_aggref() const { - return node_case() == kAggref; +inline bool Node::_internal_has_index_elem() const { + return node_case() == kIndexElem; } -inline void Node::set_has_aggref() { - _impl_._oneof_case_[0] = kAggref; +inline void Node::set_has_index_elem() { + _impl_._oneof_case_[0] = kIndexElem; } -inline void Node::clear_aggref() { +inline void Node::clear_index_elem() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAggref) { + if (node_case() == kIndexElem) { if (GetArena() == nullptr) { - delete _impl_.node_.aggref_; + delete _impl_.node_.index_elem_; } clear_has_node(); } } -inline ::pg_query::Aggref* Node::release_aggref() { - // @@protoc_insertion_point(field_release:pg_query.Node.aggref) - if (node_case() == kAggref) { +inline ::pg_query::IndexElem* Node::release_index_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.index_elem) + if (node_case() == kIndexElem) { clear_has_node(); - auto* temp = _impl_.node_.aggref_; + auto* temp = _impl_.node_.index_elem_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.aggref_ = nullptr; + _impl_.node_.index_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Aggref& Node::_internal_aggref() const { - return node_case() == kAggref ? *_impl_.node_.aggref_ : reinterpret_cast<::pg_query::Aggref&>(::pg_query::_Aggref_default_instance_); +inline const ::pg_query::IndexElem& Node::_internal_index_elem() const { + return node_case() == kIndexElem ? *_impl_.node_.index_elem_ : reinterpret_cast<::pg_query::IndexElem&>(::pg_query::_IndexElem_default_instance_); } -inline const ::pg_query::Aggref& Node::aggref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.aggref) - return _internal_aggref(); +inline const ::pg_query::IndexElem& Node::index_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.index_elem) + return _internal_index_elem(); } -inline ::pg_query::Aggref* Node::unsafe_arena_release_aggref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.aggref) - if (node_case() == kAggref) { +inline ::pg_query::IndexElem* Node::unsafe_arena_release_index_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_elem) + if (node_case() == kIndexElem) { clear_has_node(); - auto* temp = _impl_.node_.aggref_; - _impl_.node_.aggref_ = nullptr; + auto* temp = _impl_.node_.index_elem_; + _impl_.node_.index_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value) { +inline void Node::unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_aggref(); - _impl_.node_.aggref_ = value; + set_has_index_elem(); + _impl_.node_.index_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.aggref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_elem) } -inline ::pg_query::Aggref* Node::_internal_mutable_aggref() { - if (node_case() != kAggref) { +inline ::pg_query::IndexElem* Node::_internal_mutable_index_elem() { + if (node_case() != kIndexElem) { clear_node(); - set_has_aggref(); - _impl_.node_.aggref_ = CreateMaybeMessage<::pg_query::Aggref>(GetArena()); + set_has_index_elem(); + _impl_.node_.index_elem_ = CreateMaybeMessage<::pg_query::IndexElem>(GetArena()); } - return _impl_.node_.aggref_; + return _impl_.node_.index_elem_; } -inline ::pg_query::Aggref* Node::mutable_aggref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Aggref* _msg = _internal_mutable_aggref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.aggref) +inline ::pg_query::IndexElem* Node::mutable_index_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IndexElem* _msg = _internal_mutable_index_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.index_elem) return _msg; } -// .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; -inline bool Node::has_grouping_func() const { - return node_case() == kGroupingFunc; +// .pg_query.DefElem def_elem = 89 [json_name = "DefElem"]; +inline bool Node::has_def_elem() const { + return node_case() == kDefElem; } -inline bool Node::_internal_has_grouping_func() const { - return node_case() == kGroupingFunc; +inline bool Node::_internal_has_def_elem() const { + return node_case() == kDefElem; } -inline void Node::set_has_grouping_func() { - _impl_._oneof_case_[0] = kGroupingFunc; +inline void Node::set_has_def_elem() { + _impl_._oneof_case_[0] = kDefElem; } -inline void Node::clear_grouping_func() { +inline void Node::clear_def_elem() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kGroupingFunc) { + if (node_case() == kDefElem) { if (GetArena() == nullptr) { - delete _impl_.node_.grouping_func_; + delete _impl_.node_.def_elem_; } clear_has_node(); } } -inline ::pg_query::GroupingFunc* Node::release_grouping_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.grouping_func) - if (node_case() == kGroupingFunc) { +inline ::pg_query::DefElem* Node::release_def_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.def_elem) + if (node_case() == kDefElem) { clear_has_node(); - auto* temp = _impl_.node_.grouping_func_; + auto* temp = _impl_.node_.def_elem_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grouping_func_ = nullptr; + _impl_.node_.def_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GroupingFunc& Node::_internal_grouping_func() const { - return node_case() == kGroupingFunc ? *_impl_.node_.grouping_func_ : reinterpret_cast<::pg_query::GroupingFunc&>(::pg_query::_GroupingFunc_default_instance_); +inline const ::pg_query::DefElem& Node::_internal_def_elem() const { + return node_case() == kDefElem ? *_impl_.node_.def_elem_ : reinterpret_cast<::pg_query::DefElem&>(::pg_query::_DefElem_default_instance_); } -inline const ::pg_query::GroupingFunc& Node::grouping_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.grouping_func) - return _internal_grouping_func(); +inline const ::pg_query::DefElem& Node::def_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.def_elem) + return _internal_def_elem(); } -inline ::pg_query::GroupingFunc* Node::unsafe_arena_release_grouping_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_func) - if (node_case() == kGroupingFunc) { +inline ::pg_query::DefElem* Node::unsafe_arena_release_def_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.def_elem) + if (node_case() == kDefElem) { clear_has_node(); - auto* temp = _impl_.node_.grouping_func_; - _impl_.node_.grouping_func_ = nullptr; + auto* temp = _impl_.node_.def_elem_; + _impl_.node_.def_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value) { +inline void Node::unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_grouping_func(); - _impl_.node_.grouping_func_ = value; + set_has_def_elem(); + _impl_.node_.def_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.def_elem) } -inline ::pg_query::GroupingFunc* Node::_internal_mutable_grouping_func() { - if (node_case() != kGroupingFunc) { +inline ::pg_query::DefElem* Node::_internal_mutable_def_elem() { + if (node_case() != kDefElem) { clear_node(); - set_has_grouping_func(); - _impl_.node_.grouping_func_ = CreateMaybeMessage<::pg_query::GroupingFunc>(GetArena()); + set_has_def_elem(); + _impl_.node_.def_elem_ = CreateMaybeMessage<::pg_query::DefElem>(GetArena()); } - return _impl_.node_.grouping_func_; + return _impl_.node_.def_elem_; } -inline ::pg_query::GroupingFunc* Node::mutable_grouping_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::GroupingFunc* _msg = _internal_mutable_grouping_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_func) +inline ::pg_query::DefElem* Node::mutable_def_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DefElem* _msg = _internal_mutable_def_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.def_elem) return _msg; } -// .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; -inline bool Node::has_window_func() const { - return node_case() == kWindowFunc; +// .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"]; +inline bool Node::has_locking_clause() const { + return node_case() == kLockingClause; } -inline bool Node::_internal_has_window_func() const { - return node_case() == kWindowFunc; +inline bool Node::_internal_has_locking_clause() const { + return node_case() == kLockingClause; } -inline void Node::set_has_window_func() { - _impl_._oneof_case_[0] = kWindowFunc; +inline void Node::set_has_locking_clause() { + _impl_._oneof_case_[0] = kLockingClause; } -inline void Node::clear_window_func() { +inline void Node::clear_locking_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kWindowFunc) { + if (node_case() == kLockingClause) { if (GetArena() == nullptr) { - delete _impl_.node_.window_func_; + delete _impl_.node_.locking_clause_; } clear_has_node(); } } -inline ::pg_query::WindowFunc* Node::release_window_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_func) - if (node_case() == kWindowFunc) { +inline ::pg_query::LockingClause* Node::release_locking_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.locking_clause) + if (node_case() == kLockingClause) { clear_has_node(); - auto* temp = _impl_.node_.window_func_; + auto* temp = _impl_.node_.locking_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_func_ = nullptr; + _impl_.node_.locking_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowFunc& Node::_internal_window_func() const { - return node_case() == kWindowFunc ? *_impl_.node_.window_func_ : reinterpret_cast<::pg_query::WindowFunc&>(::pg_query::_WindowFunc_default_instance_); +inline const ::pg_query::LockingClause& Node::_internal_locking_clause() const { + return node_case() == kLockingClause ? *_impl_.node_.locking_clause_ : reinterpret_cast<::pg_query::LockingClause&>(::pg_query::_LockingClause_default_instance_); } -inline const ::pg_query::WindowFunc& Node::window_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.window_func) - return _internal_window_func(); +inline const ::pg_query::LockingClause& Node::locking_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.locking_clause) + return _internal_locking_clause(); } -inline ::pg_query::WindowFunc* Node::unsafe_arena_release_window_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func) - if (node_case() == kWindowFunc) { +inline ::pg_query::LockingClause* Node::unsafe_arena_release_locking_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.locking_clause) + if (node_case() == kLockingClause) { clear_has_node(); - auto* temp = _impl_.node_.window_func_; - _impl_.node_.window_func_ = nullptr; + auto* temp = _impl_.node_.locking_clause_; + _impl_.node_.locking_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value) { +inline void Node::unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_window_func(); - _impl_.node_.window_func_ = value; + set_has_locking_clause(); + _impl_.node_.locking_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.locking_clause) } -inline ::pg_query::WindowFunc* Node::_internal_mutable_window_func() { - if (node_case() != kWindowFunc) { +inline ::pg_query::LockingClause* Node::_internal_mutable_locking_clause() { + if (node_case() != kLockingClause) { clear_node(); - set_has_window_func(); - _impl_.node_.window_func_ = CreateMaybeMessage<::pg_query::WindowFunc>(GetArena()); + set_has_locking_clause(); + _impl_.node_.locking_clause_ = CreateMaybeMessage<::pg_query::LockingClause>(GetArena()); } - return _impl_.node_.window_func_; + return _impl_.node_.locking_clause_; } -inline ::pg_query::WindowFunc* Node::mutable_window_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WindowFunc* _msg = _internal_mutable_window_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func) +inline ::pg_query::LockingClause* Node::mutable_locking_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LockingClause* _msg = _internal_mutable_locking_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.locking_clause) return _msg; } -// .pg_query.SubscriptingRef subscripting_ref = 10 [json_name = "SubscriptingRef"]; -inline bool Node::has_subscripting_ref() const { - return node_case() == kSubscriptingRef; +// .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"]; +inline bool Node::has_xml_serialize() const { + return node_case() == kXmlSerialize; } -inline bool Node::_internal_has_subscripting_ref() const { - return node_case() == kSubscriptingRef; +inline bool Node::_internal_has_xml_serialize() const { + return node_case() == kXmlSerialize; } -inline void Node::set_has_subscripting_ref() { - _impl_._oneof_case_[0] = kSubscriptingRef; +inline void Node::set_has_xml_serialize() { + _impl_._oneof_case_[0] = kXmlSerialize; } -inline void Node::clear_subscripting_ref() { +inline void Node::clear_xml_serialize() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSubscriptingRef) { + if (node_case() == kXmlSerialize) { if (GetArena() == nullptr) { - delete _impl_.node_.subscripting_ref_; + delete _impl_.node_.xml_serialize_; } clear_has_node(); } } -inline ::pg_query::SubscriptingRef* Node::release_subscripting_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.subscripting_ref) - if (node_case() == kSubscriptingRef) { +inline ::pg_query::XmlSerialize* Node::release_xml_serialize() { + // @@protoc_insertion_point(field_release:pg_query.Node.xml_serialize) + if (node_case() == kXmlSerialize) { clear_has_node(); - auto* temp = _impl_.node_.subscripting_ref_; + auto* temp = _impl_.node_.xml_serialize_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.subscripting_ref_ = nullptr; + _impl_.node_.xml_serialize_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubscriptingRef& Node::_internal_subscripting_ref() const { - return node_case() == kSubscriptingRef ? *_impl_.node_.subscripting_ref_ : reinterpret_cast<::pg_query::SubscriptingRef&>(::pg_query::_SubscriptingRef_default_instance_); +inline const ::pg_query::XmlSerialize& Node::_internal_xml_serialize() const { + return node_case() == kXmlSerialize ? *_impl_.node_.xml_serialize_ : reinterpret_cast<::pg_query::XmlSerialize&>(::pg_query::_XmlSerialize_default_instance_); } -inline const ::pg_query::SubscriptingRef& Node::subscripting_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.subscripting_ref) - return _internal_subscripting_ref(); +inline const ::pg_query::XmlSerialize& Node::xml_serialize() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.xml_serialize) + return _internal_xml_serialize(); } -inline ::pg_query::SubscriptingRef* Node::unsafe_arena_release_subscripting_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.subscripting_ref) - if (node_case() == kSubscriptingRef) { +inline ::pg_query::XmlSerialize* Node::unsafe_arena_release_xml_serialize() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_serialize) + if (node_case() == kXmlSerialize) { clear_has_node(); - auto* temp = _impl_.node_.subscripting_ref_; - _impl_.node_.subscripting_ref_ = nullptr; + auto* temp = _impl_.node_.xml_serialize_; + _impl_.node_.xml_serialize_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value) { +inline void Node::unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_subscripting_ref(); - _impl_.node_.subscripting_ref_ = value; + set_has_xml_serialize(); + _impl_.node_.xml_serialize_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.subscripting_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_serialize) } -inline ::pg_query::SubscriptingRef* Node::_internal_mutable_subscripting_ref() { - if (node_case() != kSubscriptingRef) { +inline ::pg_query::XmlSerialize* Node::_internal_mutable_xml_serialize() { + if (node_case() != kXmlSerialize) { clear_node(); - set_has_subscripting_ref(); - _impl_.node_.subscripting_ref_ = CreateMaybeMessage<::pg_query::SubscriptingRef>(GetArena()); + set_has_xml_serialize(); + _impl_.node_.xml_serialize_ = CreateMaybeMessage<::pg_query::XmlSerialize>(GetArena()); } - return _impl_.node_.subscripting_ref_; + return _impl_.node_.xml_serialize_; } -inline ::pg_query::SubscriptingRef* Node::mutable_subscripting_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SubscriptingRef* _msg = _internal_mutable_subscripting_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.subscripting_ref) +inline ::pg_query::XmlSerialize* Node::mutable_xml_serialize() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::XmlSerialize* _msg = _internal_mutable_xml_serialize(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_serialize) return _msg; } -// .pg_query.FuncExpr func_expr = 11 [json_name = "FuncExpr"]; -inline bool Node::has_func_expr() const { - return node_case() == kFuncExpr; +// .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"]; +inline bool Node::has_partition_elem() const { + return node_case() == kPartitionElem; } -inline bool Node::_internal_has_func_expr() const { - return node_case() == kFuncExpr; +inline bool Node::_internal_has_partition_elem() const { + return node_case() == kPartitionElem; } -inline void Node::set_has_func_expr() { - _impl_._oneof_case_[0] = kFuncExpr; +inline void Node::set_has_partition_elem() { + _impl_._oneof_case_[0] = kPartitionElem; } -inline void Node::clear_func_expr() { +inline void Node::clear_partition_elem() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFuncExpr) { + if (node_case() == kPartitionElem) { if (GetArena() == nullptr) { - delete _impl_.node_.func_expr_; + delete _impl_.node_.partition_elem_; } clear_has_node(); } } -inline ::pg_query::FuncExpr* Node::release_func_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.func_expr) - if (node_case() == kFuncExpr) { +inline ::pg_query::PartitionElem* Node::release_partition_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_elem) + if (node_case() == kPartitionElem) { clear_has_node(); - auto* temp = _impl_.node_.func_expr_; + auto* temp = _impl_.node_.partition_elem_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.func_expr_ = nullptr; + _impl_.node_.partition_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FuncExpr& Node::_internal_func_expr() const { - return node_case() == kFuncExpr ? *_impl_.node_.func_expr_ : reinterpret_cast<::pg_query::FuncExpr&>(::pg_query::_FuncExpr_default_instance_); +inline const ::pg_query::PartitionElem& Node::_internal_partition_elem() const { + return node_case() == kPartitionElem ? *_impl_.node_.partition_elem_ : reinterpret_cast<::pg_query::PartitionElem&>(::pg_query::_PartitionElem_default_instance_); } -inline const ::pg_query::FuncExpr& Node::func_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.func_expr) - return _internal_func_expr(); +inline const ::pg_query::PartitionElem& Node::partition_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_elem) + return _internal_partition_elem(); } -inline ::pg_query::FuncExpr* Node::unsafe_arena_release_func_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_expr) - if (node_case() == kFuncExpr) { +inline ::pg_query::PartitionElem* Node::unsafe_arena_release_partition_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_elem) + if (node_case() == kPartitionElem) { clear_has_node(); - auto* temp = _impl_.node_.func_expr_; - _impl_.node_.func_expr_ = nullptr; + auto* temp = _impl_.node_.partition_elem_; + _impl_.node_.partition_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value) { +inline void Node::unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_func_expr(); - _impl_.node_.func_expr_ = value; + set_has_partition_elem(); + _impl_.node_.partition_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_elem) } -inline ::pg_query::FuncExpr* Node::_internal_mutable_func_expr() { - if (node_case() != kFuncExpr) { +inline ::pg_query::PartitionElem* Node::_internal_mutable_partition_elem() { + if (node_case() != kPartitionElem) { clear_node(); - set_has_func_expr(); - _impl_.node_.func_expr_ = CreateMaybeMessage<::pg_query::FuncExpr>(GetArena()); + set_has_partition_elem(); + _impl_.node_.partition_elem_ = CreateMaybeMessage<::pg_query::PartitionElem>(GetArena()); } - return _impl_.node_.func_expr_; + return _impl_.node_.partition_elem_; } -inline ::pg_query::FuncExpr* Node::mutable_func_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FuncExpr* _msg = _internal_mutable_func_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.func_expr) +inline ::pg_query::PartitionElem* Node::mutable_partition_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionElem* _msg = _internal_mutable_partition_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_elem) return _msg; } -// .pg_query.NamedArgExpr named_arg_expr = 12 [json_name = "NamedArgExpr"]; -inline bool Node::has_named_arg_expr() const { - return node_case() == kNamedArgExpr; +// .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"]; +inline bool Node::has_partition_spec() const { + return node_case() == kPartitionSpec; } -inline bool Node::_internal_has_named_arg_expr() const { - return node_case() == kNamedArgExpr; +inline bool Node::_internal_has_partition_spec() const { + return node_case() == kPartitionSpec; } -inline void Node::set_has_named_arg_expr() { - _impl_._oneof_case_[0] = kNamedArgExpr; +inline void Node::set_has_partition_spec() { + _impl_._oneof_case_[0] = kPartitionSpec; } -inline void Node::clear_named_arg_expr() { +inline void Node::clear_partition_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kNamedArgExpr) { + if (node_case() == kPartitionSpec) { if (GetArena() == nullptr) { - delete _impl_.node_.named_arg_expr_; + delete _impl_.node_.partition_spec_; } clear_has_node(); } } -inline ::pg_query::NamedArgExpr* Node::release_named_arg_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.named_arg_expr) - if (node_case() == kNamedArgExpr) { +inline ::pg_query::PartitionSpec* Node::release_partition_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_spec) + if (node_case() == kPartitionSpec) { clear_has_node(); - auto* temp = _impl_.node_.named_arg_expr_; + auto* temp = _impl_.node_.partition_spec_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.named_arg_expr_ = nullptr; + _impl_.node_.partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NamedArgExpr& Node::_internal_named_arg_expr() const { - return node_case() == kNamedArgExpr ? *_impl_.node_.named_arg_expr_ : reinterpret_cast<::pg_query::NamedArgExpr&>(::pg_query::_NamedArgExpr_default_instance_); +inline const ::pg_query::PartitionSpec& Node::_internal_partition_spec() const { + return node_case() == kPartitionSpec ? *_impl_.node_.partition_spec_ : reinterpret_cast<::pg_query::PartitionSpec&>(::pg_query::_PartitionSpec_default_instance_); } -inline const ::pg_query::NamedArgExpr& Node::named_arg_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.named_arg_expr) - return _internal_named_arg_expr(); +inline const ::pg_query::PartitionSpec& Node::partition_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_spec) + return _internal_partition_spec(); } -inline ::pg_query::NamedArgExpr* Node::unsafe_arena_release_named_arg_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.named_arg_expr) - if (node_case() == kNamedArgExpr) { +inline ::pg_query::PartitionSpec* Node::unsafe_arena_release_partition_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_spec) + if (node_case() == kPartitionSpec) { clear_has_node(); - auto* temp = _impl_.node_.named_arg_expr_; - _impl_.node_.named_arg_expr_ = nullptr; + auto* temp = _impl_.node_.partition_spec_; + _impl_.node_.partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value) { +inline void Node::unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_named_arg_expr(); - _impl_.node_.named_arg_expr_ = value; + set_has_partition_spec(); + _impl_.node_.partition_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.named_arg_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_spec) } -inline ::pg_query::NamedArgExpr* Node::_internal_mutable_named_arg_expr() { - if (node_case() != kNamedArgExpr) { +inline ::pg_query::PartitionSpec* Node::_internal_mutable_partition_spec() { + if (node_case() != kPartitionSpec) { clear_node(); - set_has_named_arg_expr(); - _impl_.node_.named_arg_expr_ = CreateMaybeMessage<::pg_query::NamedArgExpr>(GetArena()); + set_has_partition_spec(); + _impl_.node_.partition_spec_ = CreateMaybeMessage<::pg_query::PartitionSpec>(GetArena()); } - return _impl_.node_.named_arg_expr_; + return _impl_.node_.partition_spec_; } -inline ::pg_query::NamedArgExpr* Node::mutable_named_arg_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::NamedArgExpr* _msg = _internal_mutable_named_arg_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.named_arg_expr) +inline ::pg_query::PartitionSpec* Node::mutable_partition_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionSpec* _msg = _internal_mutable_partition_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_spec) return _msg; } -// .pg_query.OpExpr op_expr = 13 [json_name = "OpExpr"]; -inline bool Node::has_op_expr() const { - return node_case() == kOpExpr; +// .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"]; +inline bool Node::has_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec; } -inline bool Node::_internal_has_op_expr() const { - return node_case() == kOpExpr; +inline bool Node::_internal_has_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec; } -inline void Node::set_has_op_expr() { - _impl_._oneof_case_[0] = kOpExpr; +inline void Node::set_has_partition_bound_spec() { + _impl_._oneof_case_[0] = kPartitionBoundSpec; } -inline void Node::clear_op_expr() { +inline void Node::clear_partition_bound_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kOpExpr) { + if (node_case() == kPartitionBoundSpec) { if (GetArena() == nullptr) { - delete _impl_.node_.op_expr_; + delete _impl_.node_.partition_bound_spec_; } clear_has_node(); } } -inline ::pg_query::OpExpr* Node::release_op_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.op_expr) - if (node_case() == kOpExpr) { +inline ::pg_query::PartitionBoundSpec* Node::release_partition_bound_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_bound_spec) + if (node_case() == kPartitionBoundSpec) { clear_has_node(); - auto* temp = _impl_.node_.op_expr_; + auto* temp = _impl_.node_.partition_bound_spec_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.op_expr_ = nullptr; + _impl_.node_.partition_bound_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OpExpr& Node::_internal_op_expr() const { - return node_case() == kOpExpr ? *_impl_.node_.op_expr_ : reinterpret_cast<::pg_query::OpExpr&>(::pg_query::_OpExpr_default_instance_); +inline const ::pg_query::PartitionBoundSpec& Node::_internal_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec ? *_impl_.node_.partition_bound_spec_ : reinterpret_cast<::pg_query::PartitionBoundSpec&>(::pg_query::_PartitionBoundSpec_default_instance_); } -inline const ::pg_query::OpExpr& Node::op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.op_expr) - return _internal_op_expr(); +inline const ::pg_query::PartitionBoundSpec& Node::partition_bound_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_bound_spec) + return _internal_partition_bound_spec(); } -inline ::pg_query::OpExpr* Node::unsafe_arena_release_op_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.op_expr) - if (node_case() == kOpExpr) { +inline ::pg_query::PartitionBoundSpec* Node::unsafe_arena_release_partition_bound_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_bound_spec) + if (node_case() == kPartitionBoundSpec) { clear_has_node(); - auto* temp = _impl_.node_.op_expr_; - _impl_.node_.op_expr_ = nullptr; + auto* temp = _impl_.node_.partition_bound_spec_; + _impl_.node_.partition_bound_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value) { +inline void Node::unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_op_expr(); - _impl_.node_.op_expr_ = value; + set_has_partition_bound_spec(); + _impl_.node_.partition_bound_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.op_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_bound_spec) } -inline ::pg_query::OpExpr* Node::_internal_mutable_op_expr() { - if (node_case() != kOpExpr) { +inline ::pg_query::PartitionBoundSpec* Node::_internal_mutable_partition_bound_spec() { + if (node_case() != kPartitionBoundSpec) { clear_node(); - set_has_op_expr(); - _impl_.node_.op_expr_ = CreateMaybeMessage<::pg_query::OpExpr>(GetArena()); + set_has_partition_bound_spec(); + _impl_.node_.partition_bound_spec_ = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); } - return _impl_.node_.op_expr_; + return _impl_.node_.partition_bound_spec_; } -inline ::pg_query::OpExpr* Node::mutable_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::OpExpr* _msg = _internal_mutable_op_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.op_expr) +inline ::pg_query::PartitionBoundSpec* Node::mutable_partition_bound_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partition_bound_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_bound_spec) return _msg; } -// .pg_query.DistinctExpr distinct_expr = 14 [json_name = "DistinctExpr"]; -inline bool Node::has_distinct_expr() const { - return node_case() == kDistinctExpr; +// .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"]; +inline bool Node::has_partition_range_datum() const { + return node_case() == kPartitionRangeDatum; } -inline bool Node::_internal_has_distinct_expr() const { - return node_case() == kDistinctExpr; +inline bool Node::_internal_has_partition_range_datum() const { + return node_case() == kPartitionRangeDatum; } -inline void Node::set_has_distinct_expr() { - _impl_._oneof_case_[0] = kDistinctExpr; +inline void Node::set_has_partition_range_datum() { + _impl_._oneof_case_[0] = kPartitionRangeDatum; } -inline void Node::clear_distinct_expr() { +inline void Node::clear_partition_range_datum() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDistinctExpr) { + if (node_case() == kPartitionRangeDatum) { if (GetArena() == nullptr) { - delete _impl_.node_.distinct_expr_; + delete _impl_.node_.partition_range_datum_; } clear_has_node(); } } -inline ::pg_query::DistinctExpr* Node::release_distinct_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.distinct_expr) - if (node_case() == kDistinctExpr) { +inline ::pg_query::PartitionRangeDatum* Node::release_partition_range_datum() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_range_datum) + if (node_case() == kPartitionRangeDatum) { clear_has_node(); - auto* temp = _impl_.node_.distinct_expr_; + auto* temp = _impl_.node_.partition_range_datum_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.distinct_expr_ = nullptr; + _impl_.node_.partition_range_datum_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DistinctExpr& Node::_internal_distinct_expr() const { - return node_case() == kDistinctExpr ? *_impl_.node_.distinct_expr_ : reinterpret_cast<::pg_query::DistinctExpr&>(::pg_query::_DistinctExpr_default_instance_); +inline const ::pg_query::PartitionRangeDatum& Node::_internal_partition_range_datum() const { + return node_case() == kPartitionRangeDatum ? *_impl_.node_.partition_range_datum_ : reinterpret_cast<::pg_query::PartitionRangeDatum&>(::pg_query::_PartitionRangeDatum_default_instance_); } -inline const ::pg_query::DistinctExpr& Node::distinct_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.distinct_expr) - return _internal_distinct_expr(); +inline const ::pg_query::PartitionRangeDatum& Node::partition_range_datum() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_range_datum) + return _internal_partition_range_datum(); } -inline ::pg_query::DistinctExpr* Node::unsafe_arena_release_distinct_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.distinct_expr) - if (node_case() == kDistinctExpr) { +inline ::pg_query::PartitionRangeDatum* Node::unsafe_arena_release_partition_range_datum() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_range_datum) + if (node_case() == kPartitionRangeDatum) { clear_has_node(); - auto* temp = _impl_.node_.distinct_expr_; - _impl_.node_.distinct_expr_ = nullptr; + auto* temp = _impl_.node_.partition_range_datum_; + _impl_.node_.partition_range_datum_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value) { +inline void Node::unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_distinct_expr(); - _impl_.node_.distinct_expr_ = value; + set_has_partition_range_datum(); + _impl_.node_.partition_range_datum_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.distinct_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_range_datum) } -inline ::pg_query::DistinctExpr* Node::_internal_mutable_distinct_expr() { - if (node_case() != kDistinctExpr) { +inline ::pg_query::PartitionRangeDatum* Node::_internal_mutable_partition_range_datum() { + if (node_case() != kPartitionRangeDatum) { clear_node(); - set_has_distinct_expr(); - _impl_.node_.distinct_expr_ = CreateMaybeMessage<::pg_query::DistinctExpr>(GetArena()); + set_has_partition_range_datum(); + _impl_.node_.partition_range_datum_ = CreateMaybeMessage<::pg_query::PartitionRangeDatum>(GetArena()); } - return _impl_.node_.distinct_expr_; + return _impl_.node_.partition_range_datum_; } -inline ::pg_query::DistinctExpr* Node::mutable_distinct_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DistinctExpr* _msg = _internal_mutable_distinct_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.distinct_expr) +inline ::pg_query::PartitionRangeDatum* Node::mutable_partition_range_datum() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionRangeDatum* _msg = _internal_mutable_partition_range_datum(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_range_datum) return _msg; } -// .pg_query.NullIfExpr null_if_expr = 15 [json_name = "NullIfExpr"]; -inline bool Node::has_null_if_expr() const { - return node_case() == kNullIfExpr; +// .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"]; +inline bool Node::has_single_partition_spec() const { + return node_case() == kSinglePartitionSpec; } -inline bool Node::_internal_has_null_if_expr() const { - return node_case() == kNullIfExpr; +inline bool Node::_internal_has_single_partition_spec() const { + return node_case() == kSinglePartitionSpec; } -inline void Node::set_has_null_if_expr() { - _impl_._oneof_case_[0] = kNullIfExpr; +inline void Node::set_has_single_partition_spec() { + _impl_._oneof_case_[0] = kSinglePartitionSpec; } -inline void Node::clear_null_if_expr() { +inline void Node::clear_single_partition_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kNullIfExpr) { + if (node_case() == kSinglePartitionSpec) { if (GetArena() == nullptr) { - delete _impl_.node_.null_if_expr_; + delete _impl_.node_.single_partition_spec_; } clear_has_node(); } } -inline ::pg_query::NullIfExpr* Node::release_null_if_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.null_if_expr) - if (node_case() == kNullIfExpr) { +inline ::pg_query::SinglePartitionSpec* Node::release_single_partition_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.single_partition_spec) + if (node_case() == kSinglePartitionSpec) { clear_has_node(); - auto* temp = _impl_.node_.null_if_expr_; + auto* temp = _impl_.node_.single_partition_spec_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.null_if_expr_ = nullptr; + _impl_.node_.single_partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NullIfExpr& Node::_internal_null_if_expr() const { - return node_case() == kNullIfExpr ? *_impl_.node_.null_if_expr_ : reinterpret_cast<::pg_query::NullIfExpr&>(::pg_query::_NullIfExpr_default_instance_); +inline const ::pg_query::SinglePartitionSpec& Node::_internal_single_partition_spec() const { + return node_case() == kSinglePartitionSpec ? *_impl_.node_.single_partition_spec_ : reinterpret_cast<::pg_query::SinglePartitionSpec&>(::pg_query::_SinglePartitionSpec_default_instance_); } -inline const ::pg_query::NullIfExpr& Node::null_if_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.null_if_expr) - return _internal_null_if_expr(); +inline const ::pg_query::SinglePartitionSpec& Node::single_partition_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.single_partition_spec) + return _internal_single_partition_spec(); } -inline ::pg_query::NullIfExpr* Node::unsafe_arena_release_null_if_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_if_expr) - if (node_case() == kNullIfExpr) { +inline ::pg_query::SinglePartitionSpec* Node::unsafe_arena_release_single_partition_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.single_partition_spec) + if (node_case() == kSinglePartitionSpec) { clear_has_node(); - auto* temp = _impl_.node_.null_if_expr_; - _impl_.node_.null_if_expr_ = nullptr; + auto* temp = _impl_.node_.single_partition_spec_; + _impl_.node_.single_partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value) { +inline void Node::unsafe_arena_set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_null_if_expr(); - _impl_.node_.null_if_expr_ = value; + set_has_single_partition_spec(); + _impl_.node_.single_partition_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_if_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.single_partition_spec) } -inline ::pg_query::NullIfExpr* Node::_internal_mutable_null_if_expr() { - if (node_case() != kNullIfExpr) { +inline ::pg_query::SinglePartitionSpec* Node::_internal_mutable_single_partition_spec() { + if (node_case() != kSinglePartitionSpec) { clear_node(); - set_has_null_if_expr(); - _impl_.node_.null_if_expr_ = CreateMaybeMessage<::pg_query::NullIfExpr>(GetArena()); + set_has_single_partition_spec(); + _impl_.node_.single_partition_spec_ = CreateMaybeMessage<::pg_query::SinglePartitionSpec>(GetArena()); } - return _impl_.node_.null_if_expr_; + return _impl_.node_.single_partition_spec_; } -inline ::pg_query::NullIfExpr* Node::mutable_null_if_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::NullIfExpr* _msg = _internal_mutable_null_if_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.null_if_expr) +inline ::pg_query::SinglePartitionSpec* Node::mutable_single_partition_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SinglePartitionSpec* _msg = _internal_mutable_single_partition_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.single_partition_spec) return _msg; } -// .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 16 [json_name = "ScalarArrayOpExpr"]; -inline bool Node::has_scalar_array_op_expr() const { - return node_case() == kScalarArrayOpExpr; +// .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"]; +inline bool Node::has_partition_cmd() const { + return node_case() == kPartitionCmd; } -inline bool Node::_internal_has_scalar_array_op_expr() const { - return node_case() == kScalarArrayOpExpr; +inline bool Node::_internal_has_partition_cmd() const { + return node_case() == kPartitionCmd; } -inline void Node::set_has_scalar_array_op_expr() { - _impl_._oneof_case_[0] = kScalarArrayOpExpr; +inline void Node::set_has_partition_cmd() { + _impl_._oneof_case_[0] = kPartitionCmd; } -inline void Node::clear_scalar_array_op_expr() { +inline void Node::clear_partition_cmd() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kScalarArrayOpExpr) { + if (node_case() == kPartitionCmd) { if (GetArena() == nullptr) { - delete _impl_.node_.scalar_array_op_expr_; + delete _impl_.node_.partition_cmd_; } clear_has_node(); } } -inline ::pg_query::ScalarArrayOpExpr* Node::release_scalar_array_op_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.scalar_array_op_expr) - if (node_case() == kScalarArrayOpExpr) { +inline ::pg_query::PartitionCmd* Node::release_partition_cmd() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_cmd) + if (node_case() == kPartitionCmd) { clear_has_node(); - auto* temp = _impl_.node_.scalar_array_op_expr_; + auto* temp = _impl_.node_.partition_cmd_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.scalar_array_op_expr_ = nullptr; + _impl_.node_.partition_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ScalarArrayOpExpr& Node::_internal_scalar_array_op_expr() const { - return node_case() == kScalarArrayOpExpr ? *_impl_.node_.scalar_array_op_expr_ : reinterpret_cast<::pg_query::ScalarArrayOpExpr&>(::pg_query::_ScalarArrayOpExpr_default_instance_); +inline const ::pg_query::PartitionCmd& Node::_internal_partition_cmd() const { + return node_case() == kPartitionCmd ? *_impl_.node_.partition_cmd_ : reinterpret_cast<::pg_query::PartitionCmd&>(::pg_query::_PartitionCmd_default_instance_); } -inline const ::pg_query::ScalarArrayOpExpr& Node::scalar_array_op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.scalar_array_op_expr) - return _internal_scalar_array_op_expr(); +inline const ::pg_query::PartitionCmd& Node::partition_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_cmd) + return _internal_partition_cmd(); } -inline ::pg_query::ScalarArrayOpExpr* Node::unsafe_arena_release_scalar_array_op_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.scalar_array_op_expr) - if (node_case() == kScalarArrayOpExpr) { +inline ::pg_query::PartitionCmd* Node::unsafe_arena_release_partition_cmd() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_cmd) + if (node_case() == kPartitionCmd) { clear_has_node(); - auto* temp = _impl_.node_.scalar_array_op_expr_; - _impl_.node_.scalar_array_op_expr_ = nullptr; + auto* temp = _impl_.node_.partition_cmd_; + _impl_.node_.partition_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value) { +inline void Node::unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_scalar_array_op_expr(); - _impl_.node_.scalar_array_op_expr_ = value; + set_has_partition_cmd(); + _impl_.node_.partition_cmd_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.scalar_array_op_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_cmd) } -inline ::pg_query::ScalarArrayOpExpr* Node::_internal_mutable_scalar_array_op_expr() { - if (node_case() != kScalarArrayOpExpr) { +inline ::pg_query::PartitionCmd* Node::_internal_mutable_partition_cmd() { + if (node_case() != kPartitionCmd) { clear_node(); - set_has_scalar_array_op_expr(); - _impl_.node_.scalar_array_op_expr_ = CreateMaybeMessage<::pg_query::ScalarArrayOpExpr>(GetArena()); + set_has_partition_cmd(); + _impl_.node_.partition_cmd_ = CreateMaybeMessage<::pg_query::PartitionCmd>(GetArena()); } - return _impl_.node_.scalar_array_op_expr_; + return _impl_.node_.partition_cmd_; } -inline ::pg_query::ScalarArrayOpExpr* Node::mutable_scalar_array_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ScalarArrayOpExpr* _msg = _internal_mutable_scalar_array_op_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.scalar_array_op_expr) +inline ::pg_query::PartitionCmd* Node::mutable_partition_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionCmd* _msg = _internal_mutable_partition_cmd(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_cmd) return _msg; } -// .pg_query.BoolExpr bool_expr = 17 [json_name = "BoolExpr"]; -inline bool Node::has_bool_expr() const { - return node_case() == kBoolExpr; +// .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"]; +inline bool Node::has_range_tbl_entry() const { + return node_case() == kRangeTblEntry; } -inline bool Node::_internal_has_bool_expr() const { - return node_case() == kBoolExpr; +inline bool Node::_internal_has_range_tbl_entry() const { + return node_case() == kRangeTblEntry; } -inline void Node::set_has_bool_expr() { - _impl_._oneof_case_[0] = kBoolExpr; +inline void Node::set_has_range_tbl_entry() { + _impl_._oneof_case_[0] = kRangeTblEntry; } -inline void Node::clear_bool_expr() { +inline void Node::clear_range_tbl_entry() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kBoolExpr) { + if (node_case() == kRangeTblEntry) { if (GetArena() == nullptr) { - delete _impl_.node_.bool_expr_; + delete _impl_.node_.range_tbl_entry_; } clear_has_node(); } } -inline ::pg_query::BoolExpr* Node::release_bool_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.bool_expr) - if (node_case() == kBoolExpr) { +inline ::pg_query::RangeTblEntry* Node::release_range_tbl_entry() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_entry) + if (node_case() == kRangeTblEntry) { clear_has_node(); - auto* temp = _impl_.node_.bool_expr_; + auto* temp = _impl_.node_.range_tbl_entry_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.bool_expr_ = nullptr; + _impl_.node_.range_tbl_entry_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::BoolExpr& Node::_internal_bool_expr() const { - return node_case() == kBoolExpr ? *_impl_.node_.bool_expr_ : reinterpret_cast<::pg_query::BoolExpr&>(::pg_query::_BoolExpr_default_instance_); +inline const ::pg_query::RangeTblEntry& Node::_internal_range_tbl_entry() const { + return node_case() == kRangeTblEntry ? *_impl_.node_.range_tbl_entry_ : reinterpret_cast<::pg_query::RangeTblEntry&>(::pg_query::_RangeTblEntry_default_instance_); } -inline const ::pg_query::BoolExpr& Node::bool_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.bool_expr) - return _internal_bool_expr(); +inline const ::pg_query::RangeTblEntry& Node::range_tbl_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_entry) + return _internal_range_tbl_entry(); } -inline ::pg_query::BoolExpr* Node::unsafe_arena_release_bool_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bool_expr) - if (node_case() == kBoolExpr) { +inline ::pg_query::RangeTblEntry* Node::unsafe_arena_release_range_tbl_entry() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_entry) + if (node_case() == kRangeTblEntry) { clear_has_node(); - auto* temp = _impl_.node_.bool_expr_; - _impl_.node_.bool_expr_ = nullptr; + auto* temp = _impl_.node_.range_tbl_entry_; + _impl_.node_.range_tbl_entry_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value) { +inline void Node::unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_bool_expr(); - _impl_.node_.bool_expr_ = value; + set_has_range_tbl_entry(); + _impl_.node_.range_tbl_entry_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bool_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_entry) } -inline ::pg_query::BoolExpr* Node::_internal_mutable_bool_expr() { - if (node_case() != kBoolExpr) { +inline ::pg_query::RangeTblEntry* Node::_internal_mutable_range_tbl_entry() { + if (node_case() != kRangeTblEntry) { clear_node(); - set_has_bool_expr(); - _impl_.node_.bool_expr_ = CreateMaybeMessage<::pg_query::BoolExpr>(GetArena()); + set_has_range_tbl_entry(); + _impl_.node_.range_tbl_entry_ = CreateMaybeMessage<::pg_query::RangeTblEntry>(GetArena()); } - return _impl_.node_.bool_expr_; + return _impl_.node_.range_tbl_entry_; } -inline ::pg_query::BoolExpr* Node::mutable_bool_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::BoolExpr* _msg = _internal_mutable_bool_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.bool_expr) +inline ::pg_query::RangeTblEntry* Node::mutable_range_tbl_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblEntry* _msg = _internal_mutable_range_tbl_entry(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_entry) return _msg; } -// .pg_query.SubLink sub_link = 18 [json_name = "SubLink"]; -inline bool Node::has_sub_link() const { - return node_case() == kSubLink; +// .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"]; +inline bool Node::has_rtepermission_info() const { + return node_case() == kRtepermissionInfo; } -inline bool Node::_internal_has_sub_link() const { - return node_case() == kSubLink; +inline bool Node::_internal_has_rtepermission_info() const { + return node_case() == kRtepermissionInfo; } -inline void Node::set_has_sub_link() { - _impl_._oneof_case_[0] = kSubLink; +inline void Node::set_has_rtepermission_info() { + _impl_._oneof_case_[0] = kRtepermissionInfo; } -inline void Node::clear_sub_link() { +inline void Node::clear_rtepermission_info() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSubLink) { + if (node_case() == kRtepermissionInfo) { if (GetArena() == nullptr) { - delete _impl_.node_.sub_link_; + delete _impl_.node_.rtepermission_info_; } clear_has_node(); } } -inline ::pg_query::SubLink* Node::release_sub_link() { - // @@protoc_insertion_point(field_release:pg_query.Node.sub_link) - if (node_case() == kSubLink) { +inline ::pg_query::RTEPermissionInfo* Node::release_rtepermission_info() { + // @@protoc_insertion_point(field_release:pg_query.Node.rtepermission_info) + if (node_case() == kRtepermissionInfo) { clear_has_node(); - auto* temp = _impl_.node_.sub_link_; + auto* temp = _impl_.node_.rtepermission_info_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sub_link_ = nullptr; + _impl_.node_.rtepermission_info_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubLink& Node::_internal_sub_link() const { - return node_case() == kSubLink ? *_impl_.node_.sub_link_ : reinterpret_cast<::pg_query::SubLink&>(::pg_query::_SubLink_default_instance_); +inline const ::pg_query::RTEPermissionInfo& Node::_internal_rtepermission_info() const { + return node_case() == kRtepermissionInfo ? *_impl_.node_.rtepermission_info_ : reinterpret_cast<::pg_query::RTEPermissionInfo&>(::pg_query::_RTEPermissionInfo_default_instance_); } -inline const ::pg_query::SubLink& Node::sub_link() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sub_link) - return _internal_sub_link(); +inline const ::pg_query::RTEPermissionInfo& Node::rtepermission_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rtepermission_info) + return _internal_rtepermission_info(); } -inline ::pg_query::SubLink* Node::unsafe_arena_release_sub_link() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_link) - if (node_case() == kSubLink) { +inline ::pg_query::RTEPermissionInfo* Node::unsafe_arena_release_rtepermission_info() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rtepermission_info) + if (node_case() == kRtepermissionInfo) { clear_has_node(); - auto* temp = _impl_.node_.sub_link_; - _impl_.node_.sub_link_ = nullptr; + auto* temp = _impl_.node_.rtepermission_info_; + _impl_.node_.rtepermission_info_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value) { +inline void Node::unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sub_link(); - _impl_.node_.sub_link_ = value; + set_has_rtepermission_info(); + _impl_.node_.rtepermission_info_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_link) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rtepermission_info) } -inline ::pg_query::SubLink* Node::_internal_mutable_sub_link() { - if (node_case() != kSubLink) { +inline ::pg_query::RTEPermissionInfo* Node::_internal_mutable_rtepermission_info() { + if (node_case() != kRtepermissionInfo) { clear_node(); - set_has_sub_link(); - _impl_.node_.sub_link_ = CreateMaybeMessage<::pg_query::SubLink>(GetArena()); + set_has_rtepermission_info(); + _impl_.node_.rtepermission_info_ = CreateMaybeMessage<::pg_query::RTEPermissionInfo>(GetArena()); } - return _impl_.node_.sub_link_; + return _impl_.node_.rtepermission_info_; } -inline ::pg_query::SubLink* Node::mutable_sub_link() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SubLink* _msg = _internal_mutable_sub_link(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_link) +inline ::pg_query::RTEPermissionInfo* Node::mutable_rtepermission_info() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RTEPermissionInfo* _msg = _internal_mutable_rtepermission_info(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rtepermission_info) return _msg; } -// .pg_query.SubPlan sub_plan = 19 [json_name = "SubPlan"]; -inline bool Node::has_sub_plan() const { - return node_case() == kSubPlan; -} -inline bool Node::_internal_has_sub_plan() const { - return node_case() == kSubPlan; +// .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"]; +inline bool Node::has_range_tbl_function() const { + return node_case() == kRangeTblFunction; } -inline void Node::set_has_sub_plan() { - _impl_._oneof_case_[0] = kSubPlan; +inline bool Node::_internal_has_range_tbl_function() const { + return node_case() == kRangeTblFunction; } -inline void Node::clear_sub_plan() { +inline void Node::set_has_range_tbl_function() { + _impl_._oneof_case_[0] = kRangeTblFunction; +} +inline void Node::clear_range_tbl_function() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSubPlan) { + if (node_case() == kRangeTblFunction) { if (GetArena() == nullptr) { - delete _impl_.node_.sub_plan_; + delete _impl_.node_.range_tbl_function_; } clear_has_node(); } } -inline ::pg_query::SubPlan* Node::release_sub_plan() { - // @@protoc_insertion_point(field_release:pg_query.Node.sub_plan) - if (node_case() == kSubPlan) { +inline ::pg_query::RangeTblFunction* Node::release_range_tbl_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_function) + if (node_case() == kRangeTblFunction) { clear_has_node(); - auto* temp = _impl_.node_.sub_plan_; + auto* temp = _impl_.node_.range_tbl_function_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sub_plan_ = nullptr; + _impl_.node_.range_tbl_function_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubPlan& Node::_internal_sub_plan() const { - return node_case() == kSubPlan ? *_impl_.node_.sub_plan_ : reinterpret_cast<::pg_query::SubPlan&>(::pg_query::_SubPlan_default_instance_); +inline const ::pg_query::RangeTblFunction& Node::_internal_range_tbl_function() const { + return node_case() == kRangeTblFunction ? *_impl_.node_.range_tbl_function_ : reinterpret_cast<::pg_query::RangeTblFunction&>(::pg_query::_RangeTblFunction_default_instance_); } -inline const ::pg_query::SubPlan& Node::sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sub_plan) - return _internal_sub_plan(); +inline const ::pg_query::RangeTblFunction& Node::range_tbl_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_function) + return _internal_range_tbl_function(); } -inline ::pg_query::SubPlan* Node::unsafe_arena_release_sub_plan() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_plan) - if (node_case() == kSubPlan) { +inline ::pg_query::RangeTblFunction* Node::unsafe_arena_release_range_tbl_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_function) + if (node_case() == kRangeTblFunction) { clear_has_node(); - auto* temp = _impl_.node_.sub_plan_; - _impl_.node_.sub_plan_ = nullptr; + auto* temp = _impl_.node_.range_tbl_function_; + _impl_.node_.range_tbl_function_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value) { +inline void Node::unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sub_plan(); - _impl_.node_.sub_plan_ = value; + set_has_range_tbl_function(); + _impl_.node_.range_tbl_function_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_plan) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_function) } -inline ::pg_query::SubPlan* Node::_internal_mutable_sub_plan() { - if (node_case() != kSubPlan) { +inline ::pg_query::RangeTblFunction* Node::_internal_mutable_range_tbl_function() { + if (node_case() != kRangeTblFunction) { clear_node(); - set_has_sub_plan(); - _impl_.node_.sub_plan_ = CreateMaybeMessage<::pg_query::SubPlan>(GetArena()); + set_has_range_tbl_function(); + _impl_.node_.range_tbl_function_ = CreateMaybeMessage<::pg_query::RangeTblFunction>(GetArena()); } - return _impl_.node_.sub_plan_; + return _impl_.node_.range_tbl_function_; } -inline ::pg_query::SubPlan* Node::mutable_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SubPlan* _msg = _internal_mutable_sub_plan(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_plan) +inline ::pg_query::RangeTblFunction* Node::mutable_range_tbl_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblFunction* _msg = _internal_mutable_range_tbl_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_function) return _msg; } -// .pg_query.AlternativeSubPlan alternative_sub_plan = 20 [json_name = "AlternativeSubPlan"]; -inline bool Node::has_alternative_sub_plan() const { - return node_case() == kAlternativeSubPlan; +// .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"]; +inline bool Node::has_table_sample_clause() const { + return node_case() == kTableSampleClause; } -inline bool Node::_internal_has_alternative_sub_plan() const { - return node_case() == kAlternativeSubPlan; +inline bool Node::_internal_has_table_sample_clause() const { + return node_case() == kTableSampleClause; } -inline void Node::set_has_alternative_sub_plan() { - _impl_._oneof_case_[0] = kAlternativeSubPlan; +inline void Node::set_has_table_sample_clause() { + _impl_._oneof_case_[0] = kTableSampleClause; } -inline void Node::clear_alternative_sub_plan() { +inline void Node::clear_table_sample_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlternativeSubPlan) { + if (node_case() == kTableSampleClause) { if (GetArena() == nullptr) { - delete _impl_.node_.alternative_sub_plan_; + delete _impl_.node_.table_sample_clause_; } clear_has_node(); } } -inline ::pg_query::AlternativeSubPlan* Node::release_alternative_sub_plan() { - // @@protoc_insertion_point(field_release:pg_query.Node.alternative_sub_plan) - if (node_case() == kAlternativeSubPlan) { +inline ::pg_query::TableSampleClause* Node::release_table_sample_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_sample_clause) + if (node_case() == kTableSampleClause) { clear_has_node(); - auto* temp = _impl_.node_.alternative_sub_plan_; + auto* temp = _impl_.node_.table_sample_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alternative_sub_plan_ = nullptr; + _impl_.node_.table_sample_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlternativeSubPlan& Node::_internal_alternative_sub_plan() const { - return node_case() == kAlternativeSubPlan ? *_impl_.node_.alternative_sub_plan_ : reinterpret_cast<::pg_query::AlternativeSubPlan&>(::pg_query::_AlternativeSubPlan_default_instance_); +inline const ::pg_query::TableSampleClause& Node::_internal_table_sample_clause() const { + return node_case() == kTableSampleClause ? *_impl_.node_.table_sample_clause_ : reinterpret_cast<::pg_query::TableSampleClause&>(::pg_query::_TableSampleClause_default_instance_); } -inline const ::pg_query::AlternativeSubPlan& Node::alternative_sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alternative_sub_plan) - return _internal_alternative_sub_plan(); +inline const ::pg_query::TableSampleClause& Node::table_sample_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_sample_clause) + return _internal_table_sample_clause(); } -inline ::pg_query::AlternativeSubPlan* Node::unsafe_arena_release_alternative_sub_plan() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alternative_sub_plan) - if (node_case() == kAlternativeSubPlan) { +inline ::pg_query::TableSampleClause* Node::unsafe_arena_release_table_sample_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_sample_clause) + if (node_case() == kTableSampleClause) { clear_has_node(); - auto* temp = _impl_.node_.alternative_sub_plan_; - _impl_.node_.alternative_sub_plan_ = nullptr; + auto* temp = _impl_.node_.table_sample_clause_; + _impl_.node_.table_sample_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value) { +inline void Node::unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alternative_sub_plan(); - _impl_.node_.alternative_sub_plan_ = value; + set_has_table_sample_clause(); + _impl_.node_.table_sample_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alternative_sub_plan) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_sample_clause) } -inline ::pg_query::AlternativeSubPlan* Node::_internal_mutable_alternative_sub_plan() { - if (node_case() != kAlternativeSubPlan) { +inline ::pg_query::TableSampleClause* Node::_internal_mutable_table_sample_clause() { + if (node_case() != kTableSampleClause) { clear_node(); - set_has_alternative_sub_plan(); - _impl_.node_.alternative_sub_plan_ = CreateMaybeMessage<::pg_query::AlternativeSubPlan>(GetArena()); + set_has_table_sample_clause(); + _impl_.node_.table_sample_clause_ = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); } - return _impl_.node_.alternative_sub_plan_; + return _impl_.node_.table_sample_clause_; } -inline ::pg_query::AlternativeSubPlan* Node::mutable_alternative_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlternativeSubPlan* _msg = _internal_mutable_alternative_sub_plan(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alternative_sub_plan) +inline ::pg_query::TableSampleClause* Node::mutable_table_sample_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableSampleClause* _msg = _internal_mutable_table_sample_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_sample_clause) return _msg; } -// .pg_query.FieldSelect field_select = 21 [json_name = "FieldSelect"]; -inline bool Node::has_field_select() const { - return node_case() == kFieldSelect; +// .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"]; +inline bool Node::has_with_check_option() const { + return node_case() == kWithCheckOption; } -inline bool Node::_internal_has_field_select() const { - return node_case() == kFieldSelect; +inline bool Node::_internal_has_with_check_option() const { + return node_case() == kWithCheckOption; } -inline void Node::set_has_field_select() { - _impl_._oneof_case_[0] = kFieldSelect; +inline void Node::set_has_with_check_option() { + _impl_._oneof_case_[0] = kWithCheckOption; } -inline void Node::clear_field_select() { +inline void Node::clear_with_check_option() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFieldSelect) { + if (node_case() == kWithCheckOption) { if (GetArena() == nullptr) { - delete _impl_.node_.field_select_; + delete _impl_.node_.with_check_option_; } clear_has_node(); } } -inline ::pg_query::FieldSelect* Node::release_field_select() { - // @@protoc_insertion_point(field_release:pg_query.Node.field_select) - if (node_case() == kFieldSelect) { +inline ::pg_query::WithCheckOption* Node::release_with_check_option() { + // @@protoc_insertion_point(field_release:pg_query.Node.with_check_option) + if (node_case() == kWithCheckOption) { clear_has_node(); - auto* temp = _impl_.node_.field_select_; + auto* temp = _impl_.node_.with_check_option_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.field_select_ = nullptr; + _impl_.node_.with_check_option_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FieldSelect& Node::_internal_field_select() const { - return node_case() == kFieldSelect ? *_impl_.node_.field_select_ : reinterpret_cast<::pg_query::FieldSelect&>(::pg_query::_FieldSelect_default_instance_); +inline const ::pg_query::WithCheckOption& Node::_internal_with_check_option() const { + return node_case() == kWithCheckOption ? *_impl_.node_.with_check_option_ : reinterpret_cast<::pg_query::WithCheckOption&>(::pg_query::_WithCheckOption_default_instance_); } -inline const ::pg_query::FieldSelect& Node::field_select() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.field_select) - return _internal_field_select(); +inline const ::pg_query::WithCheckOption& Node::with_check_option() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.with_check_option) + return _internal_with_check_option(); } -inline ::pg_query::FieldSelect* Node::unsafe_arena_release_field_select() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_select) - if (node_case() == kFieldSelect) { +inline ::pg_query::WithCheckOption* Node::unsafe_arena_release_with_check_option() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_check_option) + if (node_case() == kWithCheckOption) { clear_has_node(); - auto* temp = _impl_.node_.field_select_; - _impl_.node_.field_select_ = nullptr; + auto* temp = _impl_.node_.with_check_option_; + _impl_.node_.with_check_option_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value) { +inline void Node::unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_field_select(); - _impl_.node_.field_select_ = value; + set_has_with_check_option(); + _impl_.node_.with_check_option_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_select) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_check_option) } -inline ::pg_query::FieldSelect* Node::_internal_mutable_field_select() { - if (node_case() != kFieldSelect) { +inline ::pg_query::WithCheckOption* Node::_internal_mutable_with_check_option() { + if (node_case() != kWithCheckOption) { clear_node(); - set_has_field_select(); - _impl_.node_.field_select_ = CreateMaybeMessage<::pg_query::FieldSelect>(GetArena()); + set_has_with_check_option(); + _impl_.node_.with_check_option_ = CreateMaybeMessage<::pg_query::WithCheckOption>(GetArena()); } - return _impl_.node_.field_select_; + return _impl_.node_.with_check_option_; } -inline ::pg_query::FieldSelect* Node::mutable_field_select() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FieldSelect* _msg = _internal_mutable_field_select(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.field_select) +inline ::pg_query::WithCheckOption* Node::mutable_with_check_option() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithCheckOption* _msg = _internal_mutable_with_check_option(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.with_check_option) return _msg; } -// .pg_query.FieldStore field_store = 22 [json_name = "FieldStore"]; -inline bool Node::has_field_store() const { - return node_case() == kFieldStore; +// .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"]; +inline bool Node::has_sort_group_clause() const { + return node_case() == kSortGroupClause; } -inline bool Node::_internal_has_field_store() const { - return node_case() == kFieldStore; +inline bool Node::_internal_has_sort_group_clause() const { + return node_case() == kSortGroupClause; } -inline void Node::set_has_field_store() { - _impl_._oneof_case_[0] = kFieldStore; +inline void Node::set_has_sort_group_clause() { + _impl_._oneof_case_[0] = kSortGroupClause; } -inline void Node::clear_field_store() { +inline void Node::clear_sort_group_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFieldStore) { + if (node_case() == kSortGroupClause) { if (GetArena() == nullptr) { - delete _impl_.node_.field_store_; + delete _impl_.node_.sort_group_clause_; } clear_has_node(); } } -inline ::pg_query::FieldStore* Node::release_field_store() { - // @@protoc_insertion_point(field_release:pg_query.Node.field_store) - if (node_case() == kFieldStore) { +inline ::pg_query::SortGroupClause* Node::release_sort_group_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.sort_group_clause) + if (node_case() == kSortGroupClause) { clear_has_node(); - auto* temp = _impl_.node_.field_store_; + auto* temp = _impl_.node_.sort_group_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.field_store_ = nullptr; + _impl_.node_.sort_group_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FieldStore& Node::_internal_field_store() const { - return node_case() == kFieldStore ? *_impl_.node_.field_store_ : reinterpret_cast<::pg_query::FieldStore&>(::pg_query::_FieldStore_default_instance_); +inline const ::pg_query::SortGroupClause& Node::_internal_sort_group_clause() const { + return node_case() == kSortGroupClause ? *_impl_.node_.sort_group_clause_ : reinterpret_cast<::pg_query::SortGroupClause&>(::pg_query::_SortGroupClause_default_instance_); } -inline const ::pg_query::FieldStore& Node::field_store() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.field_store) - return _internal_field_store(); +inline const ::pg_query::SortGroupClause& Node::sort_group_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sort_group_clause) + return _internal_sort_group_clause(); } -inline ::pg_query::FieldStore* Node::unsafe_arena_release_field_store() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_store) - if (node_case() == kFieldStore) { +inline ::pg_query::SortGroupClause* Node::unsafe_arena_release_sort_group_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_group_clause) + if (node_case() == kSortGroupClause) { clear_has_node(); - auto* temp = _impl_.node_.field_store_; - _impl_.node_.field_store_ = nullptr; + auto* temp = _impl_.node_.sort_group_clause_; + _impl_.node_.sort_group_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value) { +inline void Node::unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_field_store(); - _impl_.node_.field_store_ = value; + set_has_sort_group_clause(); + _impl_.node_.sort_group_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_store) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_group_clause) } -inline ::pg_query::FieldStore* Node::_internal_mutable_field_store() { - if (node_case() != kFieldStore) { +inline ::pg_query::SortGroupClause* Node::_internal_mutable_sort_group_clause() { + if (node_case() != kSortGroupClause) { clear_node(); - set_has_field_store(); - _impl_.node_.field_store_ = CreateMaybeMessage<::pg_query::FieldStore>(GetArena()); + set_has_sort_group_clause(); + _impl_.node_.sort_group_clause_ = CreateMaybeMessage<::pg_query::SortGroupClause>(GetArena()); } - return _impl_.node_.field_store_; + return _impl_.node_.sort_group_clause_; } -inline ::pg_query::FieldStore* Node::mutable_field_store() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FieldStore* _msg = _internal_mutable_field_store(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.field_store) +inline ::pg_query::SortGroupClause* Node::mutable_sort_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SortGroupClause* _msg = _internal_mutable_sort_group_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_group_clause) return _msg; } -// .pg_query.RelabelType relabel_type = 23 [json_name = "RelabelType"]; -inline bool Node::has_relabel_type() const { - return node_case() == kRelabelType; +// .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"]; +inline bool Node::has_grouping_set() const { + return node_case() == kGroupingSet; } -inline bool Node::_internal_has_relabel_type() const { - return node_case() == kRelabelType; +inline bool Node::_internal_has_grouping_set() const { + return node_case() == kGroupingSet; } -inline void Node::set_has_relabel_type() { - _impl_._oneof_case_[0] = kRelabelType; +inline void Node::set_has_grouping_set() { + _impl_._oneof_case_[0] = kGroupingSet; } -inline void Node::clear_relabel_type() { +inline void Node::clear_grouping_set() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRelabelType) { + if (node_case() == kGroupingSet) { if (GetArena() == nullptr) { - delete _impl_.node_.relabel_type_; + delete _impl_.node_.grouping_set_; } clear_has_node(); } } -inline ::pg_query::RelabelType* Node::release_relabel_type() { - // @@protoc_insertion_point(field_release:pg_query.Node.relabel_type) - if (node_case() == kRelabelType) { +inline ::pg_query::GroupingSet* Node::release_grouping_set() { + // @@protoc_insertion_point(field_release:pg_query.Node.grouping_set) + if (node_case() == kGroupingSet) { clear_has_node(); - auto* temp = _impl_.node_.relabel_type_; + auto* temp = _impl_.node_.grouping_set_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.relabel_type_ = nullptr; + _impl_.node_.grouping_set_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RelabelType& Node::_internal_relabel_type() const { - return node_case() == kRelabelType ? *_impl_.node_.relabel_type_ : reinterpret_cast<::pg_query::RelabelType&>(::pg_query::_RelabelType_default_instance_); +inline const ::pg_query::GroupingSet& Node::_internal_grouping_set() const { + return node_case() == kGroupingSet ? *_impl_.node_.grouping_set_ : reinterpret_cast<::pg_query::GroupingSet&>(::pg_query::_GroupingSet_default_instance_); } -inline const ::pg_query::RelabelType& Node::relabel_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.relabel_type) - return _internal_relabel_type(); +inline const ::pg_query::GroupingSet& Node::grouping_set() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grouping_set) + return _internal_grouping_set(); } -inline ::pg_query::RelabelType* Node::unsafe_arena_release_relabel_type() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.relabel_type) - if (node_case() == kRelabelType) { +inline ::pg_query::GroupingSet* Node::unsafe_arena_release_grouping_set() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_set) + if (node_case() == kGroupingSet) { clear_has_node(); - auto* temp = _impl_.node_.relabel_type_; - _impl_.node_.relabel_type_ = nullptr; + auto* temp = _impl_.node_.grouping_set_; + _impl_.node_.grouping_set_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value) { +inline void Node::unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_relabel_type(); - _impl_.node_.relabel_type_ = value; + set_has_grouping_set(); + _impl_.node_.grouping_set_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.relabel_type) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_set) } -inline ::pg_query::RelabelType* Node::_internal_mutable_relabel_type() { - if (node_case() != kRelabelType) { +inline ::pg_query::GroupingSet* Node::_internal_mutable_grouping_set() { + if (node_case() != kGroupingSet) { clear_node(); - set_has_relabel_type(); - _impl_.node_.relabel_type_ = CreateMaybeMessage<::pg_query::RelabelType>(GetArena()); + set_has_grouping_set(); + _impl_.node_.grouping_set_ = CreateMaybeMessage<::pg_query::GroupingSet>(GetArena()); } - return _impl_.node_.relabel_type_; + return _impl_.node_.grouping_set_; } -inline ::pg_query::RelabelType* Node::mutable_relabel_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RelabelType* _msg = _internal_mutable_relabel_type(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.relabel_type) +inline ::pg_query::GroupingSet* Node::mutable_grouping_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GroupingSet* _msg = _internal_mutable_grouping_set(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_set) return _msg; } -// .pg_query.CoerceViaIO coerce_via_io = 24 [json_name = "CoerceViaIO"]; -inline bool Node::has_coerce_via_io() const { - return node_case() == kCoerceViaIo; +// .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"]; +inline bool Node::has_window_clause() const { + return node_case() == kWindowClause; } -inline bool Node::_internal_has_coerce_via_io() const { - return node_case() == kCoerceViaIo; +inline bool Node::_internal_has_window_clause() const { + return node_case() == kWindowClause; } -inline void Node::set_has_coerce_via_io() { - _impl_._oneof_case_[0] = kCoerceViaIo; +inline void Node::set_has_window_clause() { + _impl_._oneof_case_[0] = kWindowClause; } -inline void Node::clear_coerce_via_io() { +inline void Node::clear_window_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCoerceViaIo) { + if (node_case() == kWindowClause) { if (GetArena() == nullptr) { - delete _impl_.node_.coerce_via_io_; + delete _impl_.node_.window_clause_; } clear_has_node(); } } -inline ::pg_query::CoerceViaIO* Node::release_coerce_via_io() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_via_io) - if (node_case() == kCoerceViaIo) { +inline ::pg_query::WindowClause* Node::release_window_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_clause) + if (node_case() == kWindowClause) { clear_has_node(); - auto* temp = _impl_.node_.coerce_via_io_; + auto* temp = _impl_.node_.window_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_via_io_ = nullptr; + _impl_.node_.window_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceViaIO& Node::_internal_coerce_via_io() const { - return node_case() == kCoerceViaIo ? *_impl_.node_.coerce_via_io_ : reinterpret_cast<::pg_query::CoerceViaIO&>(::pg_query::_CoerceViaIO_default_instance_); +inline const ::pg_query::WindowClause& Node::_internal_window_clause() const { + return node_case() == kWindowClause ? *_impl_.node_.window_clause_ : reinterpret_cast<::pg_query::WindowClause&>(::pg_query::_WindowClause_default_instance_); } -inline const ::pg_query::CoerceViaIO& Node::coerce_via_io() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_via_io) - return _internal_coerce_via_io(); +inline const ::pg_query::WindowClause& Node::window_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_clause) + return _internal_window_clause(); } -inline ::pg_query::CoerceViaIO* Node::unsafe_arena_release_coerce_via_io() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_via_io) - if (node_case() == kCoerceViaIo) { +inline ::pg_query::WindowClause* Node::unsafe_arena_release_window_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_clause) + if (node_case() == kWindowClause) { clear_has_node(); - auto* temp = _impl_.node_.coerce_via_io_; - _impl_.node_.coerce_via_io_ = nullptr; + auto* temp = _impl_.node_.window_clause_; + _impl_.node_.window_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value) { +inline void Node::unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_coerce_via_io(); - _impl_.node_.coerce_via_io_ = value; + set_has_window_clause(); + _impl_.node_.window_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_via_io) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_clause) } -inline ::pg_query::CoerceViaIO* Node::_internal_mutable_coerce_via_io() { - if (node_case() != kCoerceViaIo) { +inline ::pg_query::WindowClause* Node::_internal_mutable_window_clause() { + if (node_case() != kWindowClause) { clear_node(); - set_has_coerce_via_io(); - _impl_.node_.coerce_via_io_ = CreateMaybeMessage<::pg_query::CoerceViaIO>(GetArena()); + set_has_window_clause(); + _impl_.node_.window_clause_ = CreateMaybeMessage<::pg_query::WindowClause>(GetArena()); } - return _impl_.node_.coerce_via_io_; + return _impl_.node_.window_clause_; } -inline ::pg_query::CoerceViaIO* Node::mutable_coerce_via_io() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CoerceViaIO* _msg = _internal_mutable_coerce_via_io(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_via_io) +inline ::pg_query::WindowClause* Node::mutable_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowClause* _msg = _internal_mutable_window_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_clause) return _msg; } -// .pg_query.ArrayCoerceExpr array_coerce_expr = 25 [json_name = "ArrayCoerceExpr"]; -inline bool Node::has_array_coerce_expr() const { - return node_case() == kArrayCoerceExpr; +// .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"]; +inline bool Node::has_row_mark_clause() const { + return node_case() == kRowMarkClause; } -inline bool Node::_internal_has_array_coerce_expr() const { - return node_case() == kArrayCoerceExpr; +inline bool Node::_internal_has_row_mark_clause() const { + return node_case() == kRowMarkClause; } -inline void Node::set_has_array_coerce_expr() { - _impl_._oneof_case_[0] = kArrayCoerceExpr; +inline void Node::set_has_row_mark_clause() { + _impl_._oneof_case_[0] = kRowMarkClause; } -inline void Node::clear_array_coerce_expr() { +inline void Node::clear_row_mark_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kArrayCoerceExpr) { + if (node_case() == kRowMarkClause) { if (GetArena() == nullptr) { - delete _impl_.node_.array_coerce_expr_; + delete _impl_.node_.row_mark_clause_; } clear_has_node(); } } -inline ::pg_query::ArrayCoerceExpr* Node::release_array_coerce_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.array_coerce_expr) - if (node_case() == kArrayCoerceExpr) { +inline ::pg_query::RowMarkClause* Node::release_row_mark_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_mark_clause) + if (node_case() == kRowMarkClause) { clear_has_node(); - auto* temp = _impl_.node_.array_coerce_expr_; + auto* temp = _impl_.node_.row_mark_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.array_coerce_expr_ = nullptr; + _impl_.node_.row_mark_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ArrayCoerceExpr& Node::_internal_array_coerce_expr() const { - return node_case() == kArrayCoerceExpr ? *_impl_.node_.array_coerce_expr_ : reinterpret_cast<::pg_query::ArrayCoerceExpr&>(::pg_query::_ArrayCoerceExpr_default_instance_); +inline const ::pg_query::RowMarkClause& Node::_internal_row_mark_clause() const { + return node_case() == kRowMarkClause ? *_impl_.node_.row_mark_clause_ : reinterpret_cast<::pg_query::RowMarkClause&>(::pg_query::_RowMarkClause_default_instance_); } -inline const ::pg_query::ArrayCoerceExpr& Node::array_coerce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.array_coerce_expr) - return _internal_array_coerce_expr(); +inline const ::pg_query::RowMarkClause& Node::row_mark_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_mark_clause) + return _internal_row_mark_clause(); } -inline ::pg_query::ArrayCoerceExpr* Node::unsafe_arena_release_array_coerce_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_coerce_expr) - if (node_case() == kArrayCoerceExpr) { +inline ::pg_query::RowMarkClause* Node::unsafe_arena_release_row_mark_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_mark_clause) + if (node_case() == kRowMarkClause) { clear_has_node(); - auto* temp = _impl_.node_.array_coerce_expr_; - _impl_.node_.array_coerce_expr_ = nullptr; + auto* temp = _impl_.node_.row_mark_clause_; + _impl_.node_.row_mark_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value) { +inline void Node::unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_array_coerce_expr(); - _impl_.node_.array_coerce_expr_ = value; + set_has_row_mark_clause(); + _impl_.node_.row_mark_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_coerce_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_mark_clause) } -inline ::pg_query::ArrayCoerceExpr* Node::_internal_mutable_array_coerce_expr() { - if (node_case() != kArrayCoerceExpr) { +inline ::pg_query::RowMarkClause* Node::_internal_mutable_row_mark_clause() { + if (node_case() != kRowMarkClause) { clear_node(); - set_has_array_coerce_expr(); - _impl_.node_.array_coerce_expr_ = CreateMaybeMessage<::pg_query::ArrayCoerceExpr>(GetArena()); + set_has_row_mark_clause(); + _impl_.node_.row_mark_clause_ = CreateMaybeMessage<::pg_query::RowMarkClause>(GetArena()); } - return _impl_.node_.array_coerce_expr_; + return _impl_.node_.row_mark_clause_; } -inline ::pg_query::ArrayCoerceExpr* Node::mutable_array_coerce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ArrayCoerceExpr* _msg = _internal_mutable_array_coerce_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.array_coerce_expr) +inline ::pg_query::RowMarkClause* Node::mutable_row_mark_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowMarkClause* _msg = _internal_mutable_row_mark_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_mark_clause) return _msg; } -// .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 26 [json_name = "ConvertRowtypeExpr"]; -inline bool Node::has_convert_rowtype_expr() const { - return node_case() == kConvertRowtypeExpr; +// .pg_query.WithClause with_clause = 107 [json_name = "WithClause"]; +inline bool Node::has_with_clause() const { + return node_case() == kWithClause; } -inline bool Node::_internal_has_convert_rowtype_expr() const { - return node_case() == kConvertRowtypeExpr; +inline bool Node::_internal_has_with_clause() const { + return node_case() == kWithClause; } -inline void Node::set_has_convert_rowtype_expr() { - _impl_._oneof_case_[0] = kConvertRowtypeExpr; +inline void Node::set_has_with_clause() { + _impl_._oneof_case_[0] = kWithClause; } -inline void Node::clear_convert_rowtype_expr() { +inline void Node::clear_with_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kConvertRowtypeExpr) { + if (node_case() == kWithClause) { if (GetArena() == nullptr) { - delete _impl_.node_.convert_rowtype_expr_; + delete _impl_.node_.with_clause_; } clear_has_node(); } } -inline ::pg_query::ConvertRowtypeExpr* Node::release_convert_rowtype_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.convert_rowtype_expr) - if (node_case() == kConvertRowtypeExpr) { +inline ::pg_query::WithClause* Node::release_with_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.with_clause) + if (node_case() == kWithClause) { clear_has_node(); - auto* temp = _impl_.node_.convert_rowtype_expr_; + auto* temp = _impl_.node_.with_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.convert_rowtype_expr_ = nullptr; + _impl_.node_.with_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ConvertRowtypeExpr& Node::_internal_convert_rowtype_expr() const { - return node_case() == kConvertRowtypeExpr ? *_impl_.node_.convert_rowtype_expr_ : reinterpret_cast<::pg_query::ConvertRowtypeExpr&>(::pg_query::_ConvertRowtypeExpr_default_instance_); +inline const ::pg_query::WithClause& Node::_internal_with_clause() const { + return node_case() == kWithClause ? *_impl_.node_.with_clause_ : reinterpret_cast<::pg_query::WithClause&>(::pg_query::_WithClause_default_instance_); } -inline const ::pg_query::ConvertRowtypeExpr& Node::convert_rowtype_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.convert_rowtype_expr) - return _internal_convert_rowtype_expr(); +inline const ::pg_query::WithClause& Node::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.with_clause) + return _internal_with_clause(); } -inline ::pg_query::ConvertRowtypeExpr* Node::unsafe_arena_release_convert_rowtype_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.convert_rowtype_expr) - if (node_case() == kConvertRowtypeExpr) { +inline ::pg_query::WithClause* Node::unsafe_arena_release_with_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_clause) + if (node_case() == kWithClause) { clear_has_node(); - auto* temp = _impl_.node_.convert_rowtype_expr_; - _impl_.node_.convert_rowtype_expr_ = nullptr; + auto* temp = _impl_.node_.with_clause_; + _impl_.node_.with_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value) { +inline void Node::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_convert_rowtype_expr(); - _impl_.node_.convert_rowtype_expr_ = value; + set_has_with_clause(); + _impl_.node_.with_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.convert_rowtype_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_clause) } -inline ::pg_query::ConvertRowtypeExpr* Node::_internal_mutable_convert_rowtype_expr() { - if (node_case() != kConvertRowtypeExpr) { +inline ::pg_query::WithClause* Node::_internal_mutable_with_clause() { + if (node_case() != kWithClause) { clear_node(); - set_has_convert_rowtype_expr(); - _impl_.node_.convert_rowtype_expr_ = CreateMaybeMessage<::pg_query::ConvertRowtypeExpr>(GetArena()); + set_has_with_clause(); + _impl_.node_.with_clause_ = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); } - return _impl_.node_.convert_rowtype_expr_; + return _impl_.node_.with_clause_; } -inline ::pg_query::ConvertRowtypeExpr* Node::mutable_convert_rowtype_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ConvertRowtypeExpr* _msg = _internal_mutable_convert_rowtype_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.convert_rowtype_expr) +inline ::pg_query::WithClause* Node::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.with_clause) return _msg; } -// .pg_query.CollateExpr collate_expr = 27 [json_name = "CollateExpr"]; -inline bool Node::has_collate_expr() const { - return node_case() == kCollateExpr; +// .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"]; +inline bool Node::has_infer_clause() const { + return node_case() == kInferClause; } -inline bool Node::_internal_has_collate_expr() const { - return node_case() == kCollateExpr; +inline bool Node::_internal_has_infer_clause() const { + return node_case() == kInferClause; } -inline void Node::set_has_collate_expr() { - _impl_._oneof_case_[0] = kCollateExpr; +inline void Node::set_has_infer_clause() { + _impl_._oneof_case_[0] = kInferClause; } -inline void Node::clear_collate_expr() { +inline void Node::clear_infer_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCollateExpr) { + if (node_case() == kInferClause) { if (GetArena() == nullptr) { - delete _impl_.node_.collate_expr_; + delete _impl_.node_.infer_clause_; } clear_has_node(); } } -inline ::pg_query::CollateExpr* Node::release_collate_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.collate_expr) - if (node_case() == kCollateExpr) { +inline ::pg_query::InferClause* Node::release_infer_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.infer_clause) + if (node_case() == kInferClause) { clear_has_node(); - auto* temp = _impl_.node_.collate_expr_; + auto* temp = _impl_.node_.infer_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.collate_expr_ = nullptr; + _impl_.node_.infer_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CollateExpr& Node::_internal_collate_expr() const { - return node_case() == kCollateExpr ? *_impl_.node_.collate_expr_ : reinterpret_cast<::pg_query::CollateExpr&>(::pg_query::_CollateExpr_default_instance_); +inline const ::pg_query::InferClause& Node::_internal_infer_clause() const { + return node_case() == kInferClause ? *_impl_.node_.infer_clause_ : reinterpret_cast<::pg_query::InferClause&>(::pg_query::_InferClause_default_instance_); } -inline const ::pg_query::CollateExpr& Node::collate_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.collate_expr) - return _internal_collate_expr(); +inline const ::pg_query::InferClause& Node::infer_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.infer_clause) + return _internal_infer_clause(); } -inline ::pg_query::CollateExpr* Node::unsafe_arena_release_collate_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_expr) - if (node_case() == kCollateExpr) { +inline ::pg_query::InferClause* Node::unsafe_arena_release_infer_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.infer_clause) + if (node_case() == kInferClause) { clear_has_node(); - auto* temp = _impl_.node_.collate_expr_; - _impl_.node_.collate_expr_ = nullptr; + auto* temp = _impl_.node_.infer_clause_; + _impl_.node_.infer_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value) { +inline void Node::unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_collate_expr(); - _impl_.node_.collate_expr_ = value; + set_has_infer_clause(); + _impl_.node_.infer_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.infer_clause) } -inline ::pg_query::CollateExpr* Node::_internal_mutable_collate_expr() { - if (node_case() != kCollateExpr) { +inline ::pg_query::InferClause* Node::_internal_mutable_infer_clause() { + if (node_case() != kInferClause) { clear_node(); - set_has_collate_expr(); - _impl_.node_.collate_expr_ = CreateMaybeMessage<::pg_query::CollateExpr>(GetArena()); + set_has_infer_clause(); + _impl_.node_.infer_clause_ = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); } - return _impl_.node_.collate_expr_; + return _impl_.node_.infer_clause_; } -inline ::pg_query::CollateExpr* Node::mutable_collate_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CollateExpr* _msg = _internal_mutable_collate_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_expr) +inline ::pg_query::InferClause* Node::mutable_infer_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferClause* _msg = _internal_mutable_infer_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.infer_clause) return _msg; } -// .pg_query.CaseExpr case_expr = 28 [json_name = "CaseExpr"]; -inline bool Node::has_case_expr() const { - return node_case() == kCaseExpr; +// .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"]; +inline bool Node::has_on_conflict_clause() const { + return node_case() == kOnConflictClause; } -inline bool Node::_internal_has_case_expr() const { - return node_case() == kCaseExpr; +inline bool Node::_internal_has_on_conflict_clause() const { + return node_case() == kOnConflictClause; } -inline void Node::set_has_case_expr() { - _impl_._oneof_case_[0] = kCaseExpr; +inline void Node::set_has_on_conflict_clause() { + _impl_._oneof_case_[0] = kOnConflictClause; } -inline void Node::clear_case_expr() { +inline void Node::clear_on_conflict_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCaseExpr) { + if (node_case() == kOnConflictClause) { if (GetArena() == nullptr) { - delete _impl_.node_.case_expr_; + delete _impl_.node_.on_conflict_clause_; } clear_has_node(); } } -inline ::pg_query::CaseExpr* Node::release_case_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_expr) - if (node_case() == kCaseExpr) { +inline ::pg_query::OnConflictClause* Node::release_on_conflict_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_clause) + if (node_case() == kOnConflictClause) { clear_has_node(); - auto* temp = _impl_.node_.case_expr_; + auto* temp = _impl_.node_.on_conflict_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_expr_ = nullptr; + _impl_.node_.on_conflict_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseExpr& Node::_internal_case_expr() const { - return node_case() == kCaseExpr ? *_impl_.node_.case_expr_ : reinterpret_cast<::pg_query::CaseExpr&>(::pg_query::_CaseExpr_default_instance_); +inline const ::pg_query::OnConflictClause& Node::_internal_on_conflict_clause() const { + return node_case() == kOnConflictClause ? *_impl_.node_.on_conflict_clause_ : reinterpret_cast<::pg_query::OnConflictClause&>(::pg_query::_OnConflictClause_default_instance_); } -inline const ::pg_query::CaseExpr& Node::case_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.case_expr) - return _internal_case_expr(); +inline const ::pg_query::OnConflictClause& Node::on_conflict_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_clause) + return _internal_on_conflict_clause(); } -inline ::pg_query::CaseExpr* Node::unsafe_arena_release_case_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_expr) - if (node_case() == kCaseExpr) { +inline ::pg_query::OnConflictClause* Node::unsafe_arena_release_on_conflict_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_clause) + if (node_case() == kOnConflictClause) { clear_has_node(); - auto* temp = _impl_.node_.case_expr_; - _impl_.node_.case_expr_ = nullptr; + auto* temp = _impl_.node_.on_conflict_clause_; + _impl_.node_.on_conflict_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value) { +inline void Node::unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_case_expr(); - _impl_.node_.case_expr_ = value; + set_has_on_conflict_clause(); + _impl_.node_.on_conflict_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_clause) } -inline ::pg_query::CaseExpr* Node::_internal_mutable_case_expr() { - if (node_case() != kCaseExpr) { +inline ::pg_query::OnConflictClause* Node::_internal_mutable_on_conflict_clause() { + if (node_case() != kOnConflictClause) { clear_node(); - set_has_case_expr(); - _impl_.node_.case_expr_ = CreateMaybeMessage<::pg_query::CaseExpr>(GetArena()); + set_has_on_conflict_clause(); + _impl_.node_.on_conflict_clause_ = CreateMaybeMessage<::pg_query::OnConflictClause>(GetArena()); } - return _impl_.node_.case_expr_; + return _impl_.node_.on_conflict_clause_; } -inline ::pg_query::CaseExpr* Node::mutable_case_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CaseExpr* _msg = _internal_mutable_case_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_expr) +inline ::pg_query::OnConflictClause* Node::mutable_on_conflict_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_clause) return _msg; } -// .pg_query.CaseWhen case_when = 29 [json_name = "CaseWhen"]; -inline bool Node::has_case_when() const { - return node_case() == kCaseWhen; +// .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"]; +inline bool Node::has_ctesearch_clause() const { + return node_case() == kCtesearchClause; } -inline bool Node::_internal_has_case_when() const { - return node_case() == kCaseWhen; +inline bool Node::_internal_has_ctesearch_clause() const { + return node_case() == kCtesearchClause; } -inline void Node::set_has_case_when() { - _impl_._oneof_case_[0] = kCaseWhen; +inline void Node::set_has_ctesearch_clause() { + _impl_._oneof_case_[0] = kCtesearchClause; } -inline void Node::clear_case_when() { +inline void Node::clear_ctesearch_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCaseWhen) { + if (node_case() == kCtesearchClause) { if (GetArena() == nullptr) { - delete _impl_.node_.case_when_; + delete _impl_.node_.ctesearch_clause_; } clear_has_node(); } } -inline ::pg_query::CaseWhen* Node::release_case_when() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_when) - if (node_case() == kCaseWhen) { +inline ::pg_query::CTESearchClause* Node::release_ctesearch_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.ctesearch_clause) + if (node_case() == kCtesearchClause) { clear_has_node(); - auto* temp = _impl_.node_.case_when_; + auto* temp = _impl_.node_.ctesearch_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_when_ = nullptr; + _impl_.node_.ctesearch_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseWhen& Node::_internal_case_when() const { - return node_case() == kCaseWhen ? *_impl_.node_.case_when_ : reinterpret_cast<::pg_query::CaseWhen&>(::pg_query::_CaseWhen_default_instance_); +inline const ::pg_query::CTESearchClause& Node::_internal_ctesearch_clause() const { + return node_case() == kCtesearchClause ? *_impl_.node_.ctesearch_clause_ : reinterpret_cast<::pg_query::CTESearchClause&>(::pg_query::_CTESearchClause_default_instance_); } -inline const ::pg_query::CaseWhen& Node::case_when() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.case_when) - return _internal_case_when(); +inline const ::pg_query::CTESearchClause& Node::ctesearch_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.ctesearch_clause) + return _internal_ctesearch_clause(); } -inline ::pg_query::CaseWhen* Node::unsafe_arena_release_case_when() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_when) - if (node_case() == kCaseWhen) { +inline ::pg_query::CTESearchClause* Node::unsafe_arena_release_ctesearch_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctesearch_clause) + if (node_case() == kCtesearchClause) { clear_has_node(); - auto* temp = _impl_.node_.case_when_; - _impl_.node_.case_when_ = nullptr; + auto* temp = _impl_.node_.ctesearch_clause_; + _impl_.node_.ctesearch_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value) { +inline void Node::unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_case_when(); - _impl_.node_.case_when_ = value; + set_has_ctesearch_clause(); + _impl_.node_.ctesearch_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_when) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctesearch_clause) } -inline ::pg_query::CaseWhen* Node::_internal_mutable_case_when() { - if (node_case() != kCaseWhen) { +inline ::pg_query::CTESearchClause* Node::_internal_mutable_ctesearch_clause() { + if (node_case() != kCtesearchClause) { clear_node(); - set_has_case_when(); - _impl_.node_.case_when_ = CreateMaybeMessage<::pg_query::CaseWhen>(GetArena()); + set_has_ctesearch_clause(); + _impl_.node_.ctesearch_clause_ = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); } - return _impl_.node_.case_when_; + return _impl_.node_.ctesearch_clause_; } -inline ::pg_query::CaseWhen* Node::mutable_case_when() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CaseWhen* _msg = _internal_mutable_case_when(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_when) +inline ::pg_query::CTESearchClause* Node::mutable_ctesearch_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTESearchClause* _msg = _internal_mutable_ctesearch_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.ctesearch_clause) return _msg; } -// .pg_query.CaseTestExpr case_test_expr = 30 [json_name = "CaseTestExpr"]; -inline bool Node::has_case_test_expr() const { - return node_case() == kCaseTestExpr; +// .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"]; +inline bool Node::has_ctecycle_clause() const { + return node_case() == kCtecycleClause; } -inline bool Node::_internal_has_case_test_expr() const { - return node_case() == kCaseTestExpr; +inline bool Node::_internal_has_ctecycle_clause() const { + return node_case() == kCtecycleClause; } -inline void Node::set_has_case_test_expr() { - _impl_._oneof_case_[0] = kCaseTestExpr; +inline void Node::set_has_ctecycle_clause() { + _impl_._oneof_case_[0] = kCtecycleClause; } -inline void Node::clear_case_test_expr() { +inline void Node::clear_ctecycle_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCaseTestExpr) { + if (node_case() == kCtecycleClause) { if (GetArena() == nullptr) { - delete _impl_.node_.case_test_expr_; + delete _impl_.node_.ctecycle_clause_; } clear_has_node(); } } -inline ::pg_query::CaseTestExpr* Node::release_case_test_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_test_expr) - if (node_case() == kCaseTestExpr) { +inline ::pg_query::CTECycleClause* Node::release_ctecycle_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.ctecycle_clause) + if (node_case() == kCtecycleClause) { clear_has_node(); - auto* temp = _impl_.node_.case_test_expr_; + auto* temp = _impl_.node_.ctecycle_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_test_expr_ = nullptr; + _impl_.node_.ctecycle_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseTestExpr& Node::_internal_case_test_expr() const { - return node_case() == kCaseTestExpr ? *_impl_.node_.case_test_expr_ : reinterpret_cast<::pg_query::CaseTestExpr&>(::pg_query::_CaseTestExpr_default_instance_); +inline const ::pg_query::CTECycleClause& Node::_internal_ctecycle_clause() const { + return node_case() == kCtecycleClause ? *_impl_.node_.ctecycle_clause_ : reinterpret_cast<::pg_query::CTECycleClause&>(::pg_query::_CTECycleClause_default_instance_); } -inline const ::pg_query::CaseTestExpr& Node::case_test_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.case_test_expr) - return _internal_case_test_expr(); +inline const ::pg_query::CTECycleClause& Node::ctecycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.ctecycle_clause) + return _internal_ctecycle_clause(); } -inline ::pg_query::CaseTestExpr* Node::unsafe_arena_release_case_test_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_test_expr) - if (node_case() == kCaseTestExpr) { +inline ::pg_query::CTECycleClause* Node::unsafe_arena_release_ctecycle_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctecycle_clause) + if (node_case() == kCtecycleClause) { clear_has_node(); - auto* temp = _impl_.node_.case_test_expr_; - _impl_.node_.case_test_expr_ = nullptr; + auto* temp = _impl_.node_.ctecycle_clause_; + _impl_.node_.ctecycle_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value) { +inline void Node::unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_case_test_expr(); - _impl_.node_.case_test_expr_ = value; + set_has_ctecycle_clause(); + _impl_.node_.ctecycle_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_test_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctecycle_clause) } -inline ::pg_query::CaseTestExpr* Node::_internal_mutable_case_test_expr() { - if (node_case() != kCaseTestExpr) { +inline ::pg_query::CTECycleClause* Node::_internal_mutable_ctecycle_clause() { + if (node_case() != kCtecycleClause) { clear_node(); - set_has_case_test_expr(); - _impl_.node_.case_test_expr_ = CreateMaybeMessage<::pg_query::CaseTestExpr>(GetArena()); + set_has_ctecycle_clause(); + _impl_.node_.ctecycle_clause_ = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); } - return _impl_.node_.case_test_expr_; + return _impl_.node_.ctecycle_clause_; } -inline ::pg_query::CaseTestExpr* Node::mutable_case_test_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CaseTestExpr* _msg = _internal_mutable_case_test_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_test_expr) +inline ::pg_query::CTECycleClause* Node::mutable_ctecycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTECycleClause* _msg = _internal_mutable_ctecycle_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.ctecycle_clause) return _msg; } -// .pg_query.ArrayExpr array_expr = 31 [json_name = "ArrayExpr"]; -inline bool Node::has_array_expr() const { - return node_case() == kArrayExpr; +// .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"]; +inline bool Node::has_common_table_expr() const { + return node_case() == kCommonTableExpr; } -inline bool Node::_internal_has_array_expr() const { - return node_case() == kArrayExpr; +inline bool Node::_internal_has_common_table_expr() const { + return node_case() == kCommonTableExpr; } -inline void Node::set_has_array_expr() { - _impl_._oneof_case_[0] = kArrayExpr; +inline void Node::set_has_common_table_expr() { + _impl_._oneof_case_[0] = kCommonTableExpr; } -inline void Node::clear_array_expr() { +inline void Node::clear_common_table_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kArrayExpr) { + if (node_case() == kCommonTableExpr) { if (GetArena() == nullptr) { - delete _impl_.node_.array_expr_; + delete _impl_.node_.common_table_expr_; } clear_has_node(); } } -inline ::pg_query::ArrayExpr* Node::release_array_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.array_expr) - if (node_case() == kArrayExpr) { +inline ::pg_query::CommonTableExpr* Node::release_common_table_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.common_table_expr) + if (node_case() == kCommonTableExpr) { clear_has_node(); - auto* temp = _impl_.node_.array_expr_; + auto* temp = _impl_.node_.common_table_expr_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.array_expr_ = nullptr; + _impl_.node_.common_table_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ArrayExpr& Node::_internal_array_expr() const { - return node_case() == kArrayExpr ? *_impl_.node_.array_expr_ : reinterpret_cast<::pg_query::ArrayExpr&>(::pg_query::_ArrayExpr_default_instance_); +inline const ::pg_query::CommonTableExpr& Node::_internal_common_table_expr() const { + return node_case() == kCommonTableExpr ? *_impl_.node_.common_table_expr_ : reinterpret_cast<::pg_query::CommonTableExpr&>(::pg_query::_CommonTableExpr_default_instance_); } -inline const ::pg_query::ArrayExpr& Node::array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.array_expr) - return _internal_array_expr(); +inline const ::pg_query::CommonTableExpr& Node::common_table_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.common_table_expr) + return _internal_common_table_expr(); } -inline ::pg_query::ArrayExpr* Node::unsafe_arena_release_array_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_expr) - if (node_case() == kArrayExpr) { +inline ::pg_query::CommonTableExpr* Node::unsafe_arena_release_common_table_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.common_table_expr) + if (node_case() == kCommonTableExpr) { clear_has_node(); - auto* temp = _impl_.node_.array_expr_; - _impl_.node_.array_expr_ = nullptr; + auto* temp = _impl_.node_.common_table_expr_; + _impl_.node_.common_table_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value) { +inline void Node::unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_array_expr(); - _impl_.node_.array_expr_ = value; + set_has_common_table_expr(); + _impl_.node_.common_table_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.common_table_expr) } -inline ::pg_query::ArrayExpr* Node::_internal_mutable_array_expr() { - if (node_case() != kArrayExpr) { +inline ::pg_query::CommonTableExpr* Node::_internal_mutable_common_table_expr() { + if (node_case() != kCommonTableExpr) { clear_node(); - set_has_array_expr(); - _impl_.node_.array_expr_ = CreateMaybeMessage<::pg_query::ArrayExpr>(GetArena()); + set_has_common_table_expr(); + _impl_.node_.common_table_expr_ = CreateMaybeMessage<::pg_query::CommonTableExpr>(GetArena()); } - return _impl_.node_.array_expr_; + return _impl_.node_.common_table_expr_; } -inline ::pg_query::ArrayExpr* Node::mutable_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ArrayExpr* _msg = _internal_mutable_array_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.array_expr) +inline ::pg_query::CommonTableExpr* Node::mutable_common_table_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CommonTableExpr* _msg = _internal_mutable_common_table_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.common_table_expr) return _msg; } -// .pg_query.RowExpr row_expr = 32 [json_name = "RowExpr"]; -inline bool Node::has_row_expr() const { - return node_case() == kRowExpr; +// .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"]; +inline bool Node::has_merge_when_clause() const { + return node_case() == kMergeWhenClause; } -inline bool Node::_internal_has_row_expr() const { - return node_case() == kRowExpr; +inline bool Node::_internal_has_merge_when_clause() const { + return node_case() == kMergeWhenClause; } -inline void Node::set_has_row_expr() { - _impl_._oneof_case_[0] = kRowExpr; +inline void Node::set_has_merge_when_clause() { + _impl_._oneof_case_[0] = kMergeWhenClause; } -inline void Node::clear_row_expr() { +inline void Node::clear_merge_when_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRowExpr) { + if (node_case() == kMergeWhenClause) { if (GetArena() == nullptr) { - delete _impl_.node_.row_expr_; + delete _impl_.node_.merge_when_clause_; } clear_has_node(); } } -inline ::pg_query::RowExpr* Node::release_row_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_expr) - if (node_case() == kRowExpr) { +inline ::pg_query::MergeWhenClause* Node::release_merge_when_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_when_clause) + if (node_case() == kMergeWhenClause) { clear_has_node(); - auto* temp = _impl_.node_.row_expr_; + auto* temp = _impl_.node_.merge_when_clause_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_expr_ = nullptr; + _impl_.node_.merge_when_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowExpr& Node::_internal_row_expr() const { - return node_case() == kRowExpr ? *_impl_.node_.row_expr_ : reinterpret_cast<::pg_query::RowExpr&>(::pg_query::_RowExpr_default_instance_); +inline const ::pg_query::MergeWhenClause& Node::_internal_merge_when_clause() const { + return node_case() == kMergeWhenClause ? *_impl_.node_.merge_when_clause_ : reinterpret_cast<::pg_query::MergeWhenClause&>(::pg_query::_MergeWhenClause_default_instance_); } -inline const ::pg_query::RowExpr& Node::row_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.row_expr) - return _internal_row_expr(); +inline const ::pg_query::MergeWhenClause& Node::merge_when_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_when_clause) + return _internal_merge_when_clause(); } -inline ::pg_query::RowExpr* Node::unsafe_arena_release_row_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_expr) - if (node_case() == kRowExpr) { +inline ::pg_query::MergeWhenClause* Node::unsafe_arena_release_merge_when_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_when_clause) + if (node_case() == kMergeWhenClause) { clear_has_node(); - auto* temp = _impl_.node_.row_expr_; - _impl_.node_.row_expr_ = nullptr; + auto* temp = _impl_.node_.merge_when_clause_; + _impl_.node_.merge_when_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value) { +inline void Node::unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_row_expr(); - _impl_.node_.row_expr_ = value; + set_has_merge_when_clause(); + _impl_.node_.merge_when_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_when_clause) } -inline ::pg_query::RowExpr* Node::_internal_mutable_row_expr() { - if (node_case() != kRowExpr) { +inline ::pg_query::MergeWhenClause* Node::_internal_mutable_merge_when_clause() { + if (node_case() != kMergeWhenClause) { clear_node(); - set_has_row_expr(); - _impl_.node_.row_expr_ = CreateMaybeMessage<::pg_query::RowExpr>(GetArena()); + set_has_merge_when_clause(); + _impl_.node_.merge_when_clause_ = CreateMaybeMessage<::pg_query::MergeWhenClause>(GetArena()); } - return _impl_.node_.row_expr_; + return _impl_.node_.merge_when_clause_; } -inline ::pg_query::RowExpr* Node::mutable_row_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RowExpr* _msg = _internal_mutable_row_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_expr) +inline ::pg_query::MergeWhenClause* Node::mutable_merge_when_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeWhenClause* _msg = _internal_mutable_merge_when_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_when_clause) return _msg; } -// .pg_query.RowCompareExpr row_compare_expr = 33 [json_name = "RowCompareExpr"]; -inline bool Node::has_row_compare_expr() const { - return node_case() == kRowCompareExpr; +// .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"]; +inline bool Node::has_trigger_transition() const { + return node_case() == kTriggerTransition; } -inline bool Node::_internal_has_row_compare_expr() const { - return node_case() == kRowCompareExpr; +inline bool Node::_internal_has_trigger_transition() const { + return node_case() == kTriggerTransition; } -inline void Node::set_has_row_compare_expr() { - _impl_._oneof_case_[0] = kRowCompareExpr; +inline void Node::set_has_trigger_transition() { + _impl_._oneof_case_[0] = kTriggerTransition; } -inline void Node::clear_row_compare_expr() { +inline void Node::clear_trigger_transition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRowCompareExpr) { + if (node_case() == kTriggerTransition) { if (GetArena() == nullptr) { - delete _impl_.node_.row_compare_expr_; + delete _impl_.node_.trigger_transition_; } clear_has_node(); } } -inline ::pg_query::RowCompareExpr* Node::release_row_compare_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_compare_expr) - if (node_case() == kRowCompareExpr) { +inline ::pg_query::TriggerTransition* Node::release_trigger_transition() { + // @@protoc_insertion_point(field_release:pg_query.Node.trigger_transition) + if (node_case() == kTriggerTransition) { clear_has_node(); - auto* temp = _impl_.node_.row_compare_expr_; + auto* temp = _impl_.node_.trigger_transition_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_compare_expr_ = nullptr; + _impl_.node_.trigger_transition_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowCompareExpr& Node::_internal_row_compare_expr() const { - return node_case() == kRowCompareExpr ? *_impl_.node_.row_compare_expr_ : reinterpret_cast<::pg_query::RowCompareExpr&>(::pg_query::_RowCompareExpr_default_instance_); +inline const ::pg_query::TriggerTransition& Node::_internal_trigger_transition() const { + return node_case() == kTriggerTransition ? *_impl_.node_.trigger_transition_ : reinterpret_cast<::pg_query::TriggerTransition&>(::pg_query::_TriggerTransition_default_instance_); } -inline const ::pg_query::RowCompareExpr& Node::row_compare_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.row_compare_expr) - return _internal_row_compare_expr(); +inline const ::pg_query::TriggerTransition& Node::trigger_transition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.trigger_transition) + return _internal_trigger_transition(); } -inline ::pg_query::RowCompareExpr* Node::unsafe_arena_release_row_compare_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_compare_expr) - if (node_case() == kRowCompareExpr) { +inline ::pg_query::TriggerTransition* Node::unsafe_arena_release_trigger_transition() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.trigger_transition) + if (node_case() == kTriggerTransition) { clear_has_node(); - auto* temp = _impl_.node_.row_compare_expr_; - _impl_.node_.row_compare_expr_ = nullptr; + auto* temp = _impl_.node_.trigger_transition_; + _impl_.node_.trigger_transition_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value) { +inline void Node::unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_row_compare_expr(); - _impl_.node_.row_compare_expr_ = value; + set_has_trigger_transition(); + _impl_.node_.trigger_transition_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_compare_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.trigger_transition) } -inline ::pg_query::RowCompareExpr* Node::_internal_mutable_row_compare_expr() { - if (node_case() != kRowCompareExpr) { +inline ::pg_query::TriggerTransition* Node::_internal_mutable_trigger_transition() { + if (node_case() != kTriggerTransition) { clear_node(); - set_has_row_compare_expr(); - _impl_.node_.row_compare_expr_ = CreateMaybeMessage<::pg_query::RowCompareExpr>(GetArena()); + set_has_trigger_transition(); + _impl_.node_.trigger_transition_ = CreateMaybeMessage<::pg_query::TriggerTransition>(GetArena()); } - return _impl_.node_.row_compare_expr_; + return _impl_.node_.trigger_transition_; } -inline ::pg_query::RowCompareExpr* Node::mutable_row_compare_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RowCompareExpr* _msg = _internal_mutable_row_compare_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_compare_expr) +inline ::pg_query::TriggerTransition* Node::mutable_trigger_transition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TriggerTransition* _msg = _internal_mutable_trigger_transition(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.trigger_transition) return _msg; } -// .pg_query.CoalesceExpr coalesce_expr = 34 [json_name = "CoalesceExpr"]; -inline bool Node::has_coalesce_expr() const { - return node_case() == kCoalesceExpr; +// .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"]; +inline bool Node::has_json_output() const { + return node_case() == kJsonOutput; } -inline bool Node::_internal_has_coalesce_expr() const { - return node_case() == kCoalesceExpr; +inline bool Node::_internal_has_json_output() const { + return node_case() == kJsonOutput; } -inline void Node::set_has_coalesce_expr() { - _impl_._oneof_case_[0] = kCoalesceExpr; +inline void Node::set_has_json_output() { + _impl_._oneof_case_[0] = kJsonOutput; } -inline void Node::clear_coalesce_expr() { +inline void Node::clear_json_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCoalesceExpr) { + if (node_case() == kJsonOutput) { if (GetArena() == nullptr) { - delete _impl_.node_.coalesce_expr_; + delete _impl_.node_.json_output_; } clear_has_node(); } } -inline ::pg_query::CoalesceExpr* Node::release_coalesce_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.coalesce_expr) - if (node_case() == kCoalesceExpr) { +inline ::pg_query::JsonOutput* Node::release_json_output() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_output) + if (node_case() == kJsonOutput) { clear_has_node(); - auto* temp = _impl_.node_.coalesce_expr_; + auto* temp = _impl_.node_.json_output_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coalesce_expr_ = nullptr; + _impl_.node_.json_output_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoalesceExpr& Node::_internal_coalesce_expr() const { - return node_case() == kCoalesceExpr ? *_impl_.node_.coalesce_expr_ : reinterpret_cast<::pg_query::CoalesceExpr&>(::pg_query::_CoalesceExpr_default_instance_); +inline const ::pg_query::JsonOutput& Node::_internal_json_output() const { + return node_case() == kJsonOutput ? *_impl_.node_.json_output_ : reinterpret_cast<::pg_query::JsonOutput&>(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::CoalesceExpr& Node::coalesce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.coalesce_expr) - return _internal_coalesce_expr(); +inline const ::pg_query::JsonOutput& Node::json_output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_output) + return _internal_json_output(); } -inline ::pg_query::CoalesceExpr* Node::unsafe_arena_release_coalesce_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coalesce_expr) - if (node_case() == kCoalesceExpr) { +inline ::pg_query::JsonOutput* Node::unsafe_arena_release_json_output() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_output) + if (node_case() == kJsonOutput) { clear_has_node(); - auto* temp = _impl_.node_.coalesce_expr_; - _impl_.node_.coalesce_expr_ = nullptr; + auto* temp = _impl_.node_.json_output_; + _impl_.node_.json_output_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_coalesce_expr(); - _impl_.node_.coalesce_expr_ = value; + set_has_json_output(); + _impl_.node_.json_output_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coalesce_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_output) } -inline ::pg_query::CoalesceExpr* Node::_internal_mutable_coalesce_expr() { - if (node_case() != kCoalesceExpr) { +inline ::pg_query::JsonOutput* Node::_internal_mutable_json_output() { + if (node_case() != kJsonOutput) { clear_node(); - set_has_coalesce_expr(); - _impl_.node_.coalesce_expr_ = CreateMaybeMessage<::pg_query::CoalesceExpr>(GetArena()); + set_has_json_output(); + _impl_.node_.json_output_ = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); } - return _impl_.node_.coalesce_expr_; + return _impl_.node_.json_output_; } -inline ::pg_query::CoalesceExpr* Node::mutable_coalesce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CoalesceExpr* _msg = _internal_mutable_coalesce_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coalesce_expr) +inline ::pg_query::JsonOutput* Node::mutable_json_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_json_output(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_output) return _msg; } -// .pg_query.MinMaxExpr min_max_expr = 35 [json_name = "MinMaxExpr"]; -inline bool Node::has_min_max_expr() const { - return node_case() == kMinMaxExpr; +// .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"]; +inline bool Node::has_json_argument() const { + return node_case() == kJsonArgument; } -inline bool Node::_internal_has_min_max_expr() const { - return node_case() == kMinMaxExpr; +inline bool Node::_internal_has_json_argument() const { + return node_case() == kJsonArgument; } -inline void Node::set_has_min_max_expr() { - _impl_._oneof_case_[0] = kMinMaxExpr; +inline void Node::set_has_json_argument() { + _impl_._oneof_case_[0] = kJsonArgument; } -inline void Node::clear_min_max_expr() { +inline void Node::clear_json_argument() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kMinMaxExpr) { + if (node_case() == kJsonArgument) { if (GetArena() == nullptr) { - delete _impl_.node_.min_max_expr_; + delete _impl_.node_.json_argument_; } clear_has_node(); } } -inline ::pg_query::MinMaxExpr* Node::release_min_max_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.min_max_expr) - if (node_case() == kMinMaxExpr) { +inline ::pg_query::JsonArgument* Node::release_json_argument() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_argument) + if (node_case() == kJsonArgument) { clear_has_node(); - auto* temp = _impl_.node_.min_max_expr_; + auto* temp = _impl_.node_.json_argument_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.min_max_expr_ = nullptr; + _impl_.node_.json_argument_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MinMaxExpr& Node::_internal_min_max_expr() const { - return node_case() == kMinMaxExpr ? *_impl_.node_.min_max_expr_ : reinterpret_cast<::pg_query::MinMaxExpr&>(::pg_query::_MinMaxExpr_default_instance_); +inline const ::pg_query::JsonArgument& Node::_internal_json_argument() const { + return node_case() == kJsonArgument ? *_impl_.node_.json_argument_ : reinterpret_cast<::pg_query::JsonArgument&>(::pg_query::_JsonArgument_default_instance_); } -inline const ::pg_query::MinMaxExpr& Node::min_max_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.min_max_expr) - return _internal_min_max_expr(); +inline const ::pg_query::JsonArgument& Node::json_argument() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_argument) + return _internal_json_argument(); } -inline ::pg_query::MinMaxExpr* Node::unsafe_arena_release_min_max_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.min_max_expr) - if (node_case() == kMinMaxExpr) { +inline ::pg_query::JsonArgument* Node::unsafe_arena_release_json_argument() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_argument) + if (node_case() == kJsonArgument) { clear_has_node(); - auto* temp = _impl_.node_.min_max_expr_; - _impl_.node_.min_max_expr_ = nullptr; + auto* temp = _impl_.node_.json_argument_; + _impl_.node_.json_argument_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_argument(::pg_query::JsonArgument* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_min_max_expr(); - _impl_.node_.min_max_expr_ = value; + set_has_json_argument(); + _impl_.node_.json_argument_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.min_max_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_argument) } -inline ::pg_query::MinMaxExpr* Node::_internal_mutable_min_max_expr() { - if (node_case() != kMinMaxExpr) { +inline ::pg_query::JsonArgument* Node::_internal_mutable_json_argument() { + if (node_case() != kJsonArgument) { clear_node(); - set_has_min_max_expr(); - _impl_.node_.min_max_expr_ = CreateMaybeMessage<::pg_query::MinMaxExpr>(GetArena()); + set_has_json_argument(); + _impl_.node_.json_argument_ = CreateMaybeMessage<::pg_query::JsonArgument>(GetArena()); } - return _impl_.node_.min_max_expr_; + return _impl_.node_.json_argument_; } -inline ::pg_query::MinMaxExpr* Node::mutable_min_max_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::MinMaxExpr* _msg = _internal_mutable_min_max_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.min_max_expr) +inline ::pg_query::JsonArgument* Node::mutable_json_argument() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArgument* _msg = _internal_mutable_json_argument(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_argument) return _msg; } -// .pg_query.SQLValueFunction sqlvalue_function = 36 [json_name = "SQLValueFunction"]; -inline bool Node::has_sqlvalue_function() const { - return node_case() == kSqlvalueFunction; +// .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"]; +inline bool Node::has_json_func_expr() const { + return node_case() == kJsonFuncExpr; } -inline bool Node::_internal_has_sqlvalue_function() const { - return node_case() == kSqlvalueFunction; +inline bool Node::_internal_has_json_func_expr() const { + return node_case() == kJsonFuncExpr; } -inline void Node::set_has_sqlvalue_function() { - _impl_._oneof_case_[0] = kSqlvalueFunction; +inline void Node::set_has_json_func_expr() { + _impl_._oneof_case_[0] = kJsonFuncExpr; } -inline void Node::clear_sqlvalue_function() { +inline void Node::clear_json_func_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSqlvalueFunction) { + if (node_case() == kJsonFuncExpr) { if (GetArena() == nullptr) { - delete _impl_.node_.sqlvalue_function_; + delete _impl_.node_.json_func_expr_; } clear_has_node(); } } -inline ::pg_query::SQLValueFunction* Node::release_sqlvalue_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.sqlvalue_function) - if (node_case() == kSqlvalueFunction) { +inline ::pg_query::JsonFuncExpr* Node::release_json_func_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_func_expr) + if (node_case() == kJsonFuncExpr) { clear_has_node(); - auto* temp = _impl_.node_.sqlvalue_function_; + auto* temp = _impl_.node_.json_func_expr_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sqlvalue_function_ = nullptr; + _impl_.node_.json_func_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SQLValueFunction& Node::_internal_sqlvalue_function() const { - return node_case() == kSqlvalueFunction ? *_impl_.node_.sqlvalue_function_ : reinterpret_cast<::pg_query::SQLValueFunction&>(::pg_query::_SQLValueFunction_default_instance_); +inline const ::pg_query::JsonFuncExpr& Node::_internal_json_func_expr() const { + return node_case() == kJsonFuncExpr ? *_impl_.node_.json_func_expr_ : reinterpret_cast<::pg_query::JsonFuncExpr&>(::pg_query::_JsonFuncExpr_default_instance_); } -inline const ::pg_query::SQLValueFunction& Node::sqlvalue_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sqlvalue_function) - return _internal_sqlvalue_function(); +inline const ::pg_query::JsonFuncExpr& Node::json_func_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_func_expr) + return _internal_json_func_expr(); } -inline ::pg_query::SQLValueFunction* Node::unsafe_arena_release_sqlvalue_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sqlvalue_function) - if (node_case() == kSqlvalueFunction) { +inline ::pg_query::JsonFuncExpr* Node::unsafe_arena_release_json_func_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_func_expr) + if (node_case() == kJsonFuncExpr) { clear_has_node(); - auto* temp = _impl_.node_.sqlvalue_function_; - _impl_.node_.sqlvalue_function_ = nullptr; + auto* temp = _impl_.node_.json_func_expr_; + _impl_.node_.json_func_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value) { +inline void Node::unsafe_arena_set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sqlvalue_function(); - _impl_.node_.sqlvalue_function_ = value; + set_has_json_func_expr(); + _impl_.node_.json_func_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sqlvalue_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_func_expr) } -inline ::pg_query::SQLValueFunction* Node::_internal_mutable_sqlvalue_function() { - if (node_case() != kSqlvalueFunction) { +inline ::pg_query::JsonFuncExpr* Node::_internal_mutable_json_func_expr() { + if (node_case() != kJsonFuncExpr) { clear_node(); - set_has_sqlvalue_function(); - _impl_.node_.sqlvalue_function_ = CreateMaybeMessage<::pg_query::SQLValueFunction>(GetArena()); + set_has_json_func_expr(); + _impl_.node_.json_func_expr_ = CreateMaybeMessage<::pg_query::JsonFuncExpr>(GetArena()); } - return _impl_.node_.sqlvalue_function_; + return _impl_.node_.json_func_expr_; } -inline ::pg_query::SQLValueFunction* Node::mutable_sqlvalue_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SQLValueFunction* _msg = _internal_mutable_sqlvalue_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sqlvalue_function) +inline ::pg_query::JsonFuncExpr* Node::mutable_json_func_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFuncExpr* _msg = _internal_mutable_json_func_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_func_expr) return _msg; } -// .pg_query.XmlExpr xml_expr = 37 [json_name = "XmlExpr"]; -inline bool Node::has_xml_expr() const { - return node_case() == kXmlExpr; +// .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"]; +inline bool Node::has_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec; } -inline bool Node::_internal_has_xml_expr() const { - return node_case() == kXmlExpr; +inline bool Node::_internal_has_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec; } -inline void Node::set_has_xml_expr() { - _impl_._oneof_case_[0] = kXmlExpr; +inline void Node::set_has_json_table_path_spec() { + _impl_._oneof_case_[0] = kJsonTablePathSpec; } -inline void Node::clear_xml_expr() { +inline void Node::clear_json_table_path_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kXmlExpr) { + if (node_case() == kJsonTablePathSpec) { if (GetArena() == nullptr) { - delete _impl_.node_.xml_expr_; + delete _impl_.node_.json_table_path_spec_; } clear_has_node(); } } -inline ::pg_query::XmlExpr* Node::release_xml_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.xml_expr) - if (node_case() == kXmlExpr) { +inline ::pg_query::JsonTablePathSpec* Node::release_json_table_path_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path_spec) + if (node_case() == kJsonTablePathSpec) { clear_has_node(); - auto* temp = _impl_.node_.xml_expr_; + auto* temp = _impl_.node_.json_table_path_spec_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.xml_expr_ = nullptr; + _impl_.node_.json_table_path_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::XmlExpr& Node::_internal_xml_expr() const { - return node_case() == kXmlExpr ? *_impl_.node_.xml_expr_ : reinterpret_cast<::pg_query::XmlExpr&>(::pg_query::_XmlExpr_default_instance_); +inline const ::pg_query::JsonTablePathSpec& Node::_internal_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec ? *_impl_.node_.json_table_path_spec_ : reinterpret_cast<::pg_query::JsonTablePathSpec&>(::pg_query::_JsonTablePathSpec_default_instance_); } -inline const ::pg_query::XmlExpr& Node::xml_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.xml_expr) - return _internal_xml_expr(); +inline const ::pg_query::JsonTablePathSpec& Node::json_table_path_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path_spec) + return _internal_json_table_path_spec(); } -inline ::pg_query::XmlExpr* Node::unsafe_arena_release_xml_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_expr) - if (node_case() == kXmlExpr) { +inline ::pg_query::JsonTablePathSpec* Node::unsafe_arena_release_json_table_path_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path_spec) + if (node_case() == kJsonTablePathSpec) { clear_has_node(); - auto* temp = _impl_.node_.xml_expr_; - _impl_.node_.xml_expr_ = nullptr; + auto* temp = _impl_.node_.json_table_path_spec_; + _impl_.node_.json_table_path_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_xml_expr(); - _impl_.node_.xml_expr_ = value; + set_has_json_table_path_spec(); + _impl_.node_.json_table_path_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path_spec) } -inline ::pg_query::XmlExpr* Node::_internal_mutable_xml_expr() { - if (node_case() != kXmlExpr) { +inline ::pg_query::JsonTablePathSpec* Node::_internal_mutable_json_table_path_spec() { + if (node_case() != kJsonTablePathSpec) { clear_node(); - set_has_xml_expr(); - _impl_.node_.xml_expr_ = CreateMaybeMessage<::pg_query::XmlExpr>(GetArena()); + set_has_json_table_path_spec(); + _impl_.node_.json_table_path_spec_ = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); } - return _impl_.node_.xml_expr_; + return _impl_.node_.json_table_path_spec_; } -inline ::pg_query::XmlExpr* Node::mutable_xml_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::XmlExpr* _msg = _internal_mutable_xml_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_expr) +inline ::pg_query::JsonTablePathSpec* Node::mutable_json_table_path_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_json_table_path_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path_spec) return _msg; } -// .pg_query.JsonFormat json_format = 38 [json_name = "JsonFormat"]; -inline bool Node::has_json_format() const { - return node_case() == kJsonFormat; +// .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"]; +inline bool Node::has_json_table() const { + return node_case() == kJsonTable; } -inline bool Node::_internal_has_json_format() const { - return node_case() == kJsonFormat; +inline bool Node::_internal_has_json_table() const { + return node_case() == kJsonTable; } -inline void Node::set_has_json_format() { - _impl_._oneof_case_[0] = kJsonFormat; +inline void Node::set_has_json_table() { + _impl_._oneof_case_[0] = kJsonTable; } -inline void Node::clear_json_format() { +inline void Node::clear_json_table() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonFormat) { + if (node_case() == kJsonTable) { if (GetArena() == nullptr) { - delete _impl_.node_.json_format_; + delete _impl_.node_.json_table_; } clear_has_node(); } } -inline ::pg_query::JsonFormat* Node::release_json_format() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_format) - if (node_case() == kJsonFormat) { +inline ::pg_query::JsonTable* Node::release_json_table() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table) + if (node_case() == kJsonTable) { clear_has_node(); - auto* temp = _impl_.node_.json_format_; + auto* temp = _impl_.node_.json_table_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_format_ = nullptr; + _impl_.node_.json_table_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonFormat& Node::_internal_json_format() const { - return node_case() == kJsonFormat ? *_impl_.node_.json_format_ : reinterpret_cast<::pg_query::JsonFormat&>(::pg_query::_JsonFormat_default_instance_); +inline const ::pg_query::JsonTable& Node::_internal_json_table() const { + return node_case() == kJsonTable ? *_impl_.node_.json_table_ : reinterpret_cast<::pg_query::JsonTable&>(::pg_query::_JsonTable_default_instance_); } -inline const ::pg_query::JsonFormat& Node::json_format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_format) - return _internal_json_format(); +inline const ::pg_query::JsonTable& Node::json_table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table) + return _internal_json_table(); } -inline ::pg_query::JsonFormat* Node::unsafe_arena_release_json_format() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_format) - if (node_case() == kJsonFormat) { +inline ::pg_query::JsonTable* Node::unsafe_arena_release_json_table() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table) + if (node_case() == kJsonTable) { clear_has_node(); - auto* temp = _impl_.node_.json_format_; - _impl_.node_.json_format_ = nullptr; + auto* temp = _impl_.node_.json_table_; + _impl_.node_.json_table_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value) { +inline void Node::unsafe_arena_set_allocated_json_table(::pg_query::JsonTable* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_format(); - _impl_.node_.json_format_ = value; + set_has_json_table(); + _impl_.node_.json_table_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_format) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table) } -inline ::pg_query::JsonFormat* Node::_internal_mutable_json_format() { - if (node_case() != kJsonFormat) { +inline ::pg_query::JsonTable* Node::_internal_mutable_json_table() { + if (node_case() != kJsonTable) { clear_node(); - set_has_json_format(); - _impl_.node_.json_format_ = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + set_has_json_table(); + _impl_.node_.json_table_ = CreateMaybeMessage<::pg_query::JsonTable>(GetArena()); } - return _impl_.node_.json_format_; + return _impl_.node_.json_table_; } -inline ::pg_query::JsonFormat* Node::mutable_json_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonFormat* _msg = _internal_mutable_json_format(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_format) +inline ::pg_query::JsonTable* Node::mutable_json_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTable* _msg = _internal_mutable_json_table(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table) return _msg; } -// .pg_query.JsonReturning json_returning = 39 [json_name = "JsonReturning"]; -inline bool Node::has_json_returning() const { - return node_case() == kJsonReturning; +// .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"]; +inline bool Node::has_json_table_column() const { + return node_case() == kJsonTableColumn; } -inline bool Node::_internal_has_json_returning() const { - return node_case() == kJsonReturning; +inline bool Node::_internal_has_json_table_column() const { + return node_case() == kJsonTableColumn; } -inline void Node::set_has_json_returning() { - _impl_._oneof_case_[0] = kJsonReturning; +inline void Node::set_has_json_table_column() { + _impl_._oneof_case_[0] = kJsonTableColumn; } -inline void Node::clear_json_returning() { +inline void Node::clear_json_table_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonReturning) { + if (node_case() == kJsonTableColumn) { if (GetArena() == nullptr) { - delete _impl_.node_.json_returning_; + delete _impl_.node_.json_table_column_; } clear_has_node(); } } -inline ::pg_query::JsonReturning* Node::release_json_returning() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_returning) - if (node_case() == kJsonReturning) { +inline ::pg_query::JsonTableColumn* Node::release_json_table_column() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_column) + if (node_case() == kJsonTableColumn) { clear_has_node(); - auto* temp = _impl_.node_.json_returning_; + auto* temp = _impl_.node_.json_table_column_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_returning_ = nullptr; + _impl_.node_.json_table_column_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonReturning& Node::_internal_json_returning() const { - return node_case() == kJsonReturning ? *_impl_.node_.json_returning_ : reinterpret_cast<::pg_query::JsonReturning&>(::pg_query::_JsonReturning_default_instance_); +inline const ::pg_query::JsonTableColumn& Node::_internal_json_table_column() const { + return node_case() == kJsonTableColumn ? *_impl_.node_.json_table_column_ : reinterpret_cast<::pg_query::JsonTableColumn&>(::pg_query::_JsonTableColumn_default_instance_); } -inline const ::pg_query::JsonReturning& Node::json_returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_returning) - return _internal_json_returning(); +inline const ::pg_query::JsonTableColumn& Node::json_table_column() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_column) + return _internal_json_table_column(); } -inline ::pg_query::JsonReturning* Node::unsafe_arena_release_json_returning() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_returning) - if (node_case() == kJsonReturning) { +inline ::pg_query::JsonTableColumn* Node::unsafe_arena_release_json_table_column() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_column) + if (node_case() == kJsonTableColumn) { clear_has_node(); - auto* temp = _impl_.node_.json_returning_; - _impl_.node_.json_returning_ = nullptr; + auto* temp = _impl_.node_.json_table_column_; + _impl_.node_.json_table_column_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value) { +inline void Node::unsafe_arena_set_allocated_json_table_column(::pg_query::JsonTableColumn* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_returning(); - _impl_.node_.json_returning_ = value; + set_has_json_table_column(); + _impl_.node_.json_table_column_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_returning) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_column) } -inline ::pg_query::JsonReturning* Node::_internal_mutable_json_returning() { - if (node_case() != kJsonReturning) { +inline ::pg_query::JsonTableColumn* Node::_internal_mutable_json_table_column() { + if (node_case() != kJsonTableColumn) { clear_node(); - set_has_json_returning(); - _impl_.node_.json_returning_ = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + set_has_json_table_column(); + _impl_.node_.json_table_column_ = CreateMaybeMessage<::pg_query::JsonTableColumn>(GetArena()); } - return _impl_.node_.json_returning_; + return _impl_.node_.json_table_column_; } -inline ::pg_query::JsonReturning* Node::mutable_json_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonReturning* _msg = _internal_mutable_json_returning(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_returning) +inline ::pg_query::JsonTableColumn* Node::mutable_json_table_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTableColumn* _msg = _internal_mutable_json_table_column(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_column) return _msg; } -// .pg_query.JsonValueExpr json_value_expr = 40 [json_name = "JsonValueExpr"]; -inline bool Node::has_json_value_expr() const { - return node_case() == kJsonValueExpr; +// .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"]; +inline bool Node::has_json_key_value() const { + return node_case() == kJsonKeyValue; } -inline bool Node::_internal_has_json_value_expr() const { - return node_case() == kJsonValueExpr; +inline bool Node::_internal_has_json_key_value() const { + return node_case() == kJsonKeyValue; } -inline void Node::set_has_json_value_expr() { - _impl_._oneof_case_[0] = kJsonValueExpr; +inline void Node::set_has_json_key_value() { + _impl_._oneof_case_[0] = kJsonKeyValue; } -inline void Node::clear_json_value_expr() { +inline void Node::clear_json_key_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonValueExpr) { + if (node_case() == kJsonKeyValue) { if (GetArena() == nullptr) { - delete _impl_.node_.json_value_expr_; + delete _impl_.node_.json_key_value_; } clear_has_node(); } } -inline ::pg_query::JsonValueExpr* Node::release_json_value_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_value_expr) - if (node_case() == kJsonValueExpr) { +inline ::pg_query::JsonKeyValue* Node::release_json_key_value() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_key_value) + if (node_case() == kJsonKeyValue) { clear_has_node(); - auto* temp = _impl_.node_.json_value_expr_; + auto* temp = _impl_.node_.json_key_value_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_value_expr_ = nullptr; + _impl_.node_.json_key_value_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonValueExpr& Node::_internal_json_value_expr() const { - return node_case() == kJsonValueExpr ? *_impl_.node_.json_value_expr_ : reinterpret_cast<::pg_query::JsonValueExpr&>(::pg_query::_JsonValueExpr_default_instance_); +inline const ::pg_query::JsonKeyValue& Node::_internal_json_key_value() const { + return node_case() == kJsonKeyValue ? *_impl_.node_.json_key_value_ : reinterpret_cast<::pg_query::JsonKeyValue&>(::pg_query::_JsonKeyValue_default_instance_); } -inline const ::pg_query::JsonValueExpr& Node::json_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_value_expr) - return _internal_json_value_expr(); +inline const ::pg_query::JsonKeyValue& Node::json_key_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_key_value) + return _internal_json_key_value(); } -inline ::pg_query::JsonValueExpr* Node::unsafe_arena_release_json_value_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_value_expr) - if (node_case() == kJsonValueExpr) { +inline ::pg_query::JsonKeyValue* Node::unsafe_arena_release_json_key_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_key_value) + if (node_case() == kJsonKeyValue) { clear_has_node(); - auto* temp = _impl_.node_.json_value_expr_; - _impl_.node_.json_value_expr_ = nullptr; + auto* temp = _impl_.node_.json_key_value_; + _impl_.node_.json_key_value_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_value_expr(); - _impl_.node_.json_value_expr_ = value; + set_has_json_key_value(); + _impl_.node_.json_key_value_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_value_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_key_value) } -inline ::pg_query::JsonValueExpr* Node::_internal_mutable_json_value_expr() { - if (node_case() != kJsonValueExpr) { +inline ::pg_query::JsonKeyValue* Node::_internal_mutable_json_key_value() { + if (node_case() != kJsonKeyValue) { clear_node(); - set_has_json_value_expr(); - _impl_.node_.json_value_expr_ = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + set_has_json_key_value(); + _impl_.node_.json_key_value_ = CreateMaybeMessage<::pg_query::JsonKeyValue>(GetArena()); } - return _impl_.node_.json_value_expr_; + return _impl_.node_.json_key_value_; } -inline ::pg_query::JsonValueExpr* Node::mutable_json_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonValueExpr* _msg = _internal_mutable_json_value_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_value_expr) +inline ::pg_query::JsonKeyValue* Node::mutable_json_key_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonKeyValue* _msg = _internal_mutable_json_key_value(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_key_value) return _msg; } -// .pg_query.JsonConstructorExpr json_constructor_expr = 41 [json_name = "JsonConstructorExpr"]; -inline bool Node::has_json_constructor_expr() const { - return node_case() == kJsonConstructorExpr; +// .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"]; +inline bool Node::has_json_parse_expr() const { + return node_case() == kJsonParseExpr; } -inline bool Node::_internal_has_json_constructor_expr() const { - return node_case() == kJsonConstructorExpr; +inline bool Node::_internal_has_json_parse_expr() const { + return node_case() == kJsonParseExpr; } -inline void Node::set_has_json_constructor_expr() { - _impl_._oneof_case_[0] = kJsonConstructorExpr; +inline void Node::set_has_json_parse_expr() { + _impl_._oneof_case_[0] = kJsonParseExpr; } -inline void Node::clear_json_constructor_expr() { +inline void Node::clear_json_parse_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonConstructorExpr) { + if (node_case() == kJsonParseExpr) { if (GetArena() == nullptr) { - delete _impl_.node_.json_constructor_expr_; + delete _impl_.node_.json_parse_expr_; } clear_has_node(); } } -inline ::pg_query::JsonConstructorExpr* Node::release_json_constructor_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_constructor_expr) - if (node_case() == kJsonConstructorExpr) { +inline ::pg_query::JsonParseExpr* Node::release_json_parse_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_parse_expr) + if (node_case() == kJsonParseExpr) { clear_has_node(); - auto* temp = _impl_.node_.json_constructor_expr_; + auto* temp = _impl_.node_.json_parse_expr_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_constructor_expr_ = nullptr; + _impl_.node_.json_parse_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonConstructorExpr& Node::_internal_json_constructor_expr() const { - return node_case() == kJsonConstructorExpr ? *_impl_.node_.json_constructor_expr_ : reinterpret_cast<::pg_query::JsonConstructorExpr&>(::pg_query::_JsonConstructorExpr_default_instance_); +inline const ::pg_query::JsonParseExpr& Node::_internal_json_parse_expr() const { + return node_case() == kJsonParseExpr ? *_impl_.node_.json_parse_expr_ : reinterpret_cast<::pg_query::JsonParseExpr&>(::pg_query::_JsonParseExpr_default_instance_); } -inline const ::pg_query::JsonConstructorExpr& Node::json_constructor_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_constructor_expr) - return _internal_json_constructor_expr(); +inline const ::pg_query::JsonParseExpr& Node::json_parse_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_parse_expr) + return _internal_json_parse_expr(); } -inline ::pg_query::JsonConstructorExpr* Node::unsafe_arena_release_json_constructor_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_constructor_expr) - if (node_case() == kJsonConstructorExpr) { +inline ::pg_query::JsonParseExpr* Node::unsafe_arena_release_json_parse_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_parse_expr) + if (node_case() == kJsonParseExpr) { clear_has_node(); - auto* temp = _impl_.node_.json_constructor_expr_; - _impl_.node_.json_constructor_expr_ = nullptr; + auto* temp = _impl_.node_.json_parse_expr_; + _impl_.node_.json_parse_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_constructor_expr(); - _impl_.node_.json_constructor_expr_ = value; + set_has_json_parse_expr(); + _impl_.node_.json_parse_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_constructor_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_parse_expr) } -inline ::pg_query::JsonConstructorExpr* Node::_internal_mutable_json_constructor_expr() { - if (node_case() != kJsonConstructorExpr) { +inline ::pg_query::JsonParseExpr* Node::_internal_mutable_json_parse_expr() { + if (node_case() != kJsonParseExpr) { clear_node(); - set_has_json_constructor_expr(); - _impl_.node_.json_constructor_expr_ = CreateMaybeMessage<::pg_query::JsonConstructorExpr>(GetArena()); + set_has_json_parse_expr(); + _impl_.node_.json_parse_expr_ = CreateMaybeMessage<::pg_query::JsonParseExpr>(GetArena()); } - return _impl_.node_.json_constructor_expr_; + return _impl_.node_.json_parse_expr_; } -inline ::pg_query::JsonConstructorExpr* Node::mutable_json_constructor_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonConstructorExpr* _msg = _internal_mutable_json_constructor_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_constructor_expr) +inline ::pg_query::JsonParseExpr* Node::mutable_json_parse_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonParseExpr* _msg = _internal_mutable_json_parse_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_parse_expr) return _msg; } -// .pg_query.JsonIsPredicate json_is_predicate = 42 [json_name = "JsonIsPredicate"]; -inline bool Node::has_json_is_predicate() const { - return node_case() == kJsonIsPredicate; +// .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"]; +inline bool Node::has_json_scalar_expr() const { + return node_case() == kJsonScalarExpr; } -inline bool Node::_internal_has_json_is_predicate() const { - return node_case() == kJsonIsPredicate; +inline bool Node::_internal_has_json_scalar_expr() const { + return node_case() == kJsonScalarExpr; } -inline void Node::set_has_json_is_predicate() { - _impl_._oneof_case_[0] = kJsonIsPredicate; +inline void Node::set_has_json_scalar_expr() { + _impl_._oneof_case_[0] = kJsonScalarExpr; } -inline void Node::clear_json_is_predicate() { +inline void Node::clear_json_scalar_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonIsPredicate) { + if (node_case() == kJsonScalarExpr) { if (GetArena() == nullptr) { - delete _impl_.node_.json_is_predicate_; + delete _impl_.node_.json_scalar_expr_; } clear_has_node(); } } -inline ::pg_query::JsonIsPredicate* Node::release_json_is_predicate() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_is_predicate) - if (node_case() == kJsonIsPredicate) { +inline ::pg_query::JsonScalarExpr* Node::release_json_scalar_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_scalar_expr) + if (node_case() == kJsonScalarExpr) { clear_has_node(); - auto* temp = _impl_.node_.json_is_predicate_; + auto* temp = _impl_.node_.json_scalar_expr_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_is_predicate_ = nullptr; + _impl_.node_.json_scalar_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonIsPredicate& Node::_internal_json_is_predicate() const { - return node_case() == kJsonIsPredicate ? *_impl_.node_.json_is_predicate_ : reinterpret_cast<::pg_query::JsonIsPredicate&>(::pg_query::_JsonIsPredicate_default_instance_); +inline const ::pg_query::JsonScalarExpr& Node::_internal_json_scalar_expr() const { + return node_case() == kJsonScalarExpr ? *_impl_.node_.json_scalar_expr_ : reinterpret_cast<::pg_query::JsonScalarExpr&>(::pg_query::_JsonScalarExpr_default_instance_); } -inline const ::pg_query::JsonIsPredicate& Node::json_is_predicate() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_is_predicate) - return _internal_json_is_predicate(); +inline const ::pg_query::JsonScalarExpr& Node::json_scalar_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_scalar_expr) + return _internal_json_scalar_expr(); } -inline ::pg_query::JsonIsPredicate* Node::unsafe_arena_release_json_is_predicate() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_is_predicate) - if (node_case() == kJsonIsPredicate) { +inline ::pg_query::JsonScalarExpr* Node::unsafe_arena_release_json_scalar_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_scalar_expr) + if (node_case() == kJsonScalarExpr) { clear_has_node(); - auto* temp = _impl_.node_.json_is_predicate_; - _impl_.node_.json_is_predicate_ = nullptr; + auto* temp = _impl_.node_.json_scalar_expr_; + _impl_.node_.json_scalar_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value) { +inline void Node::unsafe_arena_set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_is_predicate(); - _impl_.node_.json_is_predicate_ = value; + set_has_json_scalar_expr(); + _impl_.node_.json_scalar_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_is_predicate) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_scalar_expr) } -inline ::pg_query::JsonIsPredicate* Node::_internal_mutable_json_is_predicate() { - if (node_case() != kJsonIsPredicate) { +inline ::pg_query::JsonScalarExpr* Node::_internal_mutable_json_scalar_expr() { + if (node_case() != kJsonScalarExpr) { clear_node(); - set_has_json_is_predicate(); - _impl_.node_.json_is_predicate_ = CreateMaybeMessage<::pg_query::JsonIsPredicate>(GetArena()); + set_has_json_scalar_expr(); + _impl_.node_.json_scalar_expr_ = CreateMaybeMessage<::pg_query::JsonScalarExpr>(GetArena()); } - return _impl_.node_.json_is_predicate_; + return _impl_.node_.json_scalar_expr_; } -inline ::pg_query::JsonIsPredicate* Node::mutable_json_is_predicate() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonIsPredicate* _msg = _internal_mutable_json_is_predicate(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_is_predicate) +inline ::pg_query::JsonScalarExpr* Node::mutable_json_scalar_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonScalarExpr* _msg = _internal_mutable_json_scalar_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_scalar_expr) return _msg; } -// .pg_query.NullTest null_test = 43 [json_name = "NullTest"]; -inline bool Node::has_null_test() const { - return node_case() == kNullTest; +// .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"]; +inline bool Node::has_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr; } -inline bool Node::_internal_has_null_test() const { - return node_case() == kNullTest; +inline bool Node::_internal_has_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr; } -inline void Node::set_has_null_test() { - _impl_._oneof_case_[0] = kNullTest; +inline void Node::set_has_json_serialize_expr() { + _impl_._oneof_case_[0] = kJsonSerializeExpr; } -inline void Node::clear_null_test() { +inline void Node::clear_json_serialize_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kNullTest) { + if (node_case() == kJsonSerializeExpr) { if (GetArena() == nullptr) { - delete _impl_.node_.null_test_; + delete _impl_.node_.json_serialize_expr_; } clear_has_node(); } } -inline ::pg_query::NullTest* Node::release_null_test() { - // @@protoc_insertion_point(field_release:pg_query.Node.null_test) - if (node_case() == kNullTest) { +inline ::pg_query::JsonSerializeExpr* Node::release_json_serialize_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_serialize_expr) + if (node_case() == kJsonSerializeExpr) { clear_has_node(); - auto* temp = _impl_.node_.null_test_; + auto* temp = _impl_.node_.json_serialize_expr_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.null_test_ = nullptr; + _impl_.node_.json_serialize_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NullTest& Node::_internal_null_test() const { - return node_case() == kNullTest ? *_impl_.node_.null_test_ : reinterpret_cast<::pg_query::NullTest&>(::pg_query::_NullTest_default_instance_); +inline const ::pg_query::JsonSerializeExpr& Node::_internal_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr ? *_impl_.node_.json_serialize_expr_ : reinterpret_cast<::pg_query::JsonSerializeExpr&>(::pg_query::_JsonSerializeExpr_default_instance_); } -inline const ::pg_query::NullTest& Node::null_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.null_test) - return _internal_null_test(); +inline const ::pg_query::JsonSerializeExpr& Node::json_serialize_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_serialize_expr) + return _internal_json_serialize_expr(); } -inline ::pg_query::NullTest* Node::unsafe_arena_release_null_test() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_test) - if (node_case() == kNullTest) { +inline ::pg_query::JsonSerializeExpr* Node::unsafe_arena_release_json_serialize_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_serialize_expr) + if (node_case() == kJsonSerializeExpr) { clear_has_node(); - auto* temp = _impl_.node_.null_test_; - _impl_.node_.null_test_ = nullptr; + auto* temp = _impl_.node_.json_serialize_expr_; + _impl_.node_.json_serialize_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value) { +inline void Node::unsafe_arena_set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_null_test(); - _impl_.node_.null_test_ = value; + set_has_json_serialize_expr(); + _impl_.node_.json_serialize_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_test) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_serialize_expr) } -inline ::pg_query::NullTest* Node::_internal_mutable_null_test() { - if (node_case() != kNullTest) { +inline ::pg_query::JsonSerializeExpr* Node::_internal_mutable_json_serialize_expr() { + if (node_case() != kJsonSerializeExpr) { clear_node(); - set_has_null_test(); - _impl_.node_.null_test_ = CreateMaybeMessage<::pg_query::NullTest>(GetArena()); + set_has_json_serialize_expr(); + _impl_.node_.json_serialize_expr_ = CreateMaybeMessage<::pg_query::JsonSerializeExpr>(GetArena()); } - return _impl_.node_.null_test_; + return _impl_.node_.json_serialize_expr_; } -inline ::pg_query::NullTest* Node::mutable_null_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::NullTest* _msg = _internal_mutable_null_test(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.null_test) +inline ::pg_query::JsonSerializeExpr* Node::mutable_json_serialize_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonSerializeExpr* _msg = _internal_mutable_json_serialize_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_serialize_expr) return _msg; } -// .pg_query.BooleanTest boolean_test = 44 [json_name = "BooleanTest"]; -inline bool Node::has_boolean_test() const { - return node_case() == kBooleanTest; +// .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"]; +inline bool Node::has_json_object_constructor() const { + return node_case() == kJsonObjectConstructor; } -inline bool Node::_internal_has_boolean_test() const { - return node_case() == kBooleanTest; +inline bool Node::_internal_has_json_object_constructor() const { + return node_case() == kJsonObjectConstructor; } -inline void Node::set_has_boolean_test() { - _impl_._oneof_case_[0] = kBooleanTest; +inline void Node::set_has_json_object_constructor() { + _impl_._oneof_case_[0] = kJsonObjectConstructor; } -inline void Node::clear_boolean_test() { +inline void Node::clear_json_object_constructor() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kBooleanTest) { + if (node_case() == kJsonObjectConstructor) { if (GetArena() == nullptr) { - delete _impl_.node_.boolean_test_; + delete _impl_.node_.json_object_constructor_; } clear_has_node(); } } -inline ::pg_query::BooleanTest* Node::release_boolean_test() { - // @@protoc_insertion_point(field_release:pg_query.Node.boolean_test) - if (node_case() == kBooleanTest) { +inline ::pg_query::JsonObjectConstructor* Node::release_json_object_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_object_constructor) + if (node_case() == kJsonObjectConstructor) { clear_has_node(); - auto* temp = _impl_.node_.boolean_test_; + auto* temp = _impl_.node_.json_object_constructor_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.boolean_test_ = nullptr; + _impl_.node_.json_object_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::BooleanTest& Node::_internal_boolean_test() const { - return node_case() == kBooleanTest ? *_impl_.node_.boolean_test_ : reinterpret_cast<::pg_query::BooleanTest&>(::pg_query::_BooleanTest_default_instance_); +inline const ::pg_query::JsonObjectConstructor& Node::_internal_json_object_constructor() const { + return node_case() == kJsonObjectConstructor ? *_impl_.node_.json_object_constructor_ : reinterpret_cast<::pg_query::JsonObjectConstructor&>(::pg_query::_JsonObjectConstructor_default_instance_); } -inline const ::pg_query::BooleanTest& Node::boolean_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.boolean_test) - return _internal_boolean_test(); +inline const ::pg_query::JsonObjectConstructor& Node::json_object_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_object_constructor) + return _internal_json_object_constructor(); } -inline ::pg_query::BooleanTest* Node::unsafe_arena_release_boolean_test() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean_test) - if (node_case() == kBooleanTest) { +inline ::pg_query::JsonObjectConstructor* Node::unsafe_arena_release_json_object_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_constructor) + if (node_case() == kJsonObjectConstructor) { clear_has_node(); - auto* temp = _impl_.node_.boolean_test_; - _impl_.node_.boolean_test_ = nullptr; + auto* temp = _impl_.node_.json_object_constructor_; + _impl_.node_.json_object_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value) { +inline void Node::unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_boolean_test(); - _impl_.node_.boolean_test_ = value; + set_has_json_object_constructor(); + _impl_.node_.json_object_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean_test) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_constructor) } -inline ::pg_query::BooleanTest* Node::_internal_mutable_boolean_test() { - if (node_case() != kBooleanTest) { +inline ::pg_query::JsonObjectConstructor* Node::_internal_mutable_json_object_constructor() { + if (node_case() != kJsonObjectConstructor) { clear_node(); - set_has_boolean_test(); - _impl_.node_.boolean_test_ = CreateMaybeMessage<::pg_query::BooleanTest>(GetArena()); + set_has_json_object_constructor(); + _impl_.node_.json_object_constructor_ = CreateMaybeMessage<::pg_query::JsonObjectConstructor>(GetArena()); } - return _impl_.node_.boolean_test_; + return _impl_.node_.json_object_constructor_; } -inline ::pg_query::BooleanTest* Node::mutable_boolean_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::BooleanTest* _msg = _internal_mutable_boolean_test(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean_test) +inline ::pg_query::JsonObjectConstructor* Node::mutable_json_object_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonObjectConstructor* _msg = _internal_mutable_json_object_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_constructor) return _msg; } -// .pg_query.CoerceToDomain coerce_to_domain = 45 [json_name = "CoerceToDomain"]; -inline bool Node::has_coerce_to_domain() const { - return node_case() == kCoerceToDomain; +// .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"]; +inline bool Node::has_json_array_constructor() const { + return node_case() == kJsonArrayConstructor; } -inline bool Node::_internal_has_coerce_to_domain() const { - return node_case() == kCoerceToDomain; +inline bool Node::_internal_has_json_array_constructor() const { + return node_case() == kJsonArrayConstructor; } -inline void Node::set_has_coerce_to_domain() { - _impl_._oneof_case_[0] = kCoerceToDomain; +inline void Node::set_has_json_array_constructor() { + _impl_._oneof_case_[0] = kJsonArrayConstructor; } -inline void Node::clear_coerce_to_domain() { +inline void Node::clear_json_array_constructor() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCoerceToDomain) { + if (node_case() == kJsonArrayConstructor) { if (GetArena() == nullptr) { - delete _impl_.node_.coerce_to_domain_; + delete _impl_.node_.json_array_constructor_; } clear_has_node(); } } -inline ::pg_query::CoerceToDomain* Node::release_coerce_to_domain() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain) - if (node_case() == kCoerceToDomain) { +inline ::pg_query::JsonArrayConstructor* Node::release_json_array_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_constructor) + if (node_case() == kJsonArrayConstructor) { clear_has_node(); - auto* temp = _impl_.node_.coerce_to_domain_; + auto* temp = _impl_.node_.json_array_constructor_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_to_domain_ = nullptr; + _impl_.node_.json_array_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceToDomain& Node::_internal_coerce_to_domain() const { - return node_case() == kCoerceToDomain ? *_impl_.node_.coerce_to_domain_ : reinterpret_cast<::pg_query::CoerceToDomain&>(::pg_query::_CoerceToDomain_default_instance_); +inline const ::pg_query::JsonArrayConstructor& Node::_internal_json_array_constructor() const { + return node_case() == kJsonArrayConstructor ? *_impl_.node_.json_array_constructor_ : reinterpret_cast<::pg_query::JsonArrayConstructor&>(::pg_query::_JsonArrayConstructor_default_instance_); } -inline const ::pg_query::CoerceToDomain& Node::coerce_to_domain() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain) - return _internal_coerce_to_domain(); +inline const ::pg_query::JsonArrayConstructor& Node::json_array_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_constructor) + return _internal_json_array_constructor(); } -inline ::pg_query::CoerceToDomain* Node::unsafe_arena_release_coerce_to_domain() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain) - if (node_case() == kCoerceToDomain) { +inline ::pg_query::JsonArrayConstructor* Node::unsafe_arena_release_json_array_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_constructor) + if (node_case() == kJsonArrayConstructor) { clear_has_node(); - auto* temp = _impl_.node_.coerce_to_domain_; - _impl_.node_.coerce_to_domain_ = nullptr; + auto* temp = _impl_.node_.json_array_constructor_; + _impl_.node_.json_array_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value) { +inline void Node::unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_coerce_to_domain(); - _impl_.node_.coerce_to_domain_ = value; + set_has_json_array_constructor(); + _impl_.node_.json_array_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_constructor) } -inline ::pg_query::CoerceToDomain* Node::_internal_mutable_coerce_to_domain() { - if (node_case() != kCoerceToDomain) { +inline ::pg_query::JsonArrayConstructor* Node::_internal_mutable_json_array_constructor() { + if (node_case() != kJsonArrayConstructor) { clear_node(); - set_has_coerce_to_domain(); - _impl_.node_.coerce_to_domain_ = CreateMaybeMessage<::pg_query::CoerceToDomain>(GetArena()); + set_has_json_array_constructor(); + _impl_.node_.json_array_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayConstructor>(GetArena()); } - return _impl_.node_.coerce_to_domain_; + return _impl_.node_.json_array_constructor_; } -inline ::pg_query::CoerceToDomain* Node::mutable_coerce_to_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CoerceToDomain* _msg = _internal_mutable_coerce_to_domain(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain) +inline ::pg_query::JsonArrayConstructor* Node::mutable_json_array_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayConstructor* _msg = _internal_mutable_json_array_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_constructor) return _msg; } -// .pg_query.CoerceToDomainValue coerce_to_domain_value = 46 [json_name = "CoerceToDomainValue"]; -inline bool Node::has_coerce_to_domain_value() const { - return node_case() == kCoerceToDomainValue; +// .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"]; +inline bool Node::has_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor; } -inline bool Node::_internal_has_coerce_to_domain_value() const { - return node_case() == kCoerceToDomainValue; +inline bool Node::_internal_has_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor; } -inline void Node::set_has_coerce_to_domain_value() { - _impl_._oneof_case_[0] = kCoerceToDomainValue; +inline void Node::set_has_json_array_query_constructor() { + _impl_._oneof_case_[0] = kJsonArrayQueryConstructor; } -inline void Node::clear_coerce_to_domain_value() { +inline void Node::clear_json_array_query_constructor() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCoerceToDomainValue) { + if (node_case() == kJsonArrayQueryConstructor) { if (GetArena() == nullptr) { - delete _impl_.node_.coerce_to_domain_value_; + delete _impl_.node_.json_array_query_constructor_; } clear_has_node(); } } -inline ::pg_query::CoerceToDomainValue* Node::release_coerce_to_domain_value() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain_value) - if (node_case() == kCoerceToDomainValue) { +inline ::pg_query::JsonArrayQueryConstructor* Node::release_json_array_query_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_query_constructor) + if (node_case() == kJsonArrayQueryConstructor) { clear_has_node(); - auto* temp = _impl_.node_.coerce_to_domain_value_; + auto* temp = _impl_.node_.json_array_query_constructor_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_to_domain_value_ = nullptr; + _impl_.node_.json_array_query_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceToDomainValue& Node::_internal_coerce_to_domain_value() const { - return node_case() == kCoerceToDomainValue ? *_impl_.node_.coerce_to_domain_value_ : reinterpret_cast<::pg_query::CoerceToDomainValue&>(::pg_query::_CoerceToDomainValue_default_instance_); +inline const ::pg_query::JsonArrayQueryConstructor& Node::_internal_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor ? *_impl_.node_.json_array_query_constructor_ : reinterpret_cast<::pg_query::JsonArrayQueryConstructor&>(::pg_query::_JsonArrayQueryConstructor_default_instance_); } -inline const ::pg_query::CoerceToDomainValue& Node::coerce_to_domain_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain_value) - return _internal_coerce_to_domain_value(); +inline const ::pg_query::JsonArrayQueryConstructor& Node::json_array_query_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_query_constructor) + return _internal_json_array_query_constructor(); } -inline ::pg_query::CoerceToDomainValue* Node::unsafe_arena_release_coerce_to_domain_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain_value) - if (node_case() == kCoerceToDomainValue) { +inline ::pg_query::JsonArrayQueryConstructor* Node::unsafe_arena_release_json_array_query_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_query_constructor) + if (node_case() == kJsonArrayQueryConstructor) { clear_has_node(); - auto* temp = _impl_.node_.coerce_to_domain_value_; - _impl_.node_.coerce_to_domain_value_ = nullptr; + auto* temp = _impl_.node_.json_array_query_constructor_; + _impl_.node_.json_array_query_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value) { +inline void Node::unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_coerce_to_domain_value(); - _impl_.node_.coerce_to_domain_value_ = value; + set_has_json_array_query_constructor(); + _impl_.node_.json_array_query_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_query_constructor) } -inline ::pg_query::CoerceToDomainValue* Node::_internal_mutable_coerce_to_domain_value() { - if (node_case() != kCoerceToDomainValue) { +inline ::pg_query::JsonArrayQueryConstructor* Node::_internal_mutable_json_array_query_constructor() { + if (node_case() != kJsonArrayQueryConstructor) { clear_node(); - set_has_coerce_to_domain_value(); - _impl_.node_.coerce_to_domain_value_ = CreateMaybeMessage<::pg_query::CoerceToDomainValue>(GetArena()); + set_has_json_array_query_constructor(); + _impl_.node_.json_array_query_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayQueryConstructor>(GetArena()); } - return _impl_.node_.coerce_to_domain_value_; + return _impl_.node_.json_array_query_constructor_; } -inline ::pg_query::CoerceToDomainValue* Node::mutable_coerce_to_domain_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CoerceToDomainValue* _msg = _internal_mutable_coerce_to_domain_value(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain_value) +inline ::pg_query::JsonArrayQueryConstructor* Node::mutable_json_array_query_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayQueryConstructor* _msg = _internal_mutable_json_array_query_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_query_constructor) return _msg; } -// .pg_query.SetToDefault set_to_default = 47 [json_name = "SetToDefault"]; -inline bool Node::has_set_to_default() const { - return node_case() == kSetToDefault; +// .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"]; +inline bool Node::has_json_agg_constructor() const { + return node_case() == kJsonAggConstructor; } -inline bool Node::_internal_has_set_to_default() const { - return node_case() == kSetToDefault; +inline bool Node::_internal_has_json_agg_constructor() const { + return node_case() == kJsonAggConstructor; } -inline void Node::set_has_set_to_default() { - _impl_._oneof_case_[0] = kSetToDefault; +inline void Node::set_has_json_agg_constructor() { + _impl_._oneof_case_[0] = kJsonAggConstructor; } -inline void Node::clear_set_to_default() { +inline void Node::clear_json_agg_constructor() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSetToDefault) { + if (node_case() == kJsonAggConstructor) { if (GetArena() == nullptr) { - delete _impl_.node_.set_to_default_; + delete _impl_.node_.json_agg_constructor_; } clear_has_node(); } } -inline ::pg_query::SetToDefault* Node::release_set_to_default() { - // @@protoc_insertion_point(field_release:pg_query.Node.set_to_default) - if (node_case() == kSetToDefault) { +inline ::pg_query::JsonAggConstructor* Node::release_json_agg_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_agg_constructor) + if (node_case() == kJsonAggConstructor) { clear_has_node(); - auto* temp = _impl_.node_.set_to_default_; + auto* temp = _impl_.node_.json_agg_constructor_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.set_to_default_ = nullptr; + _impl_.node_.json_agg_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SetToDefault& Node::_internal_set_to_default() const { - return node_case() == kSetToDefault ? *_impl_.node_.set_to_default_ : reinterpret_cast<::pg_query::SetToDefault&>(::pg_query::_SetToDefault_default_instance_); +inline const ::pg_query::JsonAggConstructor& Node::_internal_json_agg_constructor() const { + return node_case() == kJsonAggConstructor ? *_impl_.node_.json_agg_constructor_ : reinterpret_cast<::pg_query::JsonAggConstructor&>(::pg_query::_JsonAggConstructor_default_instance_); } -inline const ::pg_query::SetToDefault& Node::set_to_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.set_to_default) - return _internal_set_to_default(); +inline const ::pg_query::JsonAggConstructor& Node::json_agg_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_agg_constructor) + return _internal_json_agg_constructor(); } -inline ::pg_query::SetToDefault* Node::unsafe_arena_release_set_to_default() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_to_default) - if (node_case() == kSetToDefault) { +inline ::pg_query::JsonAggConstructor* Node::unsafe_arena_release_json_agg_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_agg_constructor) + if (node_case() == kJsonAggConstructor) { clear_has_node(); - auto* temp = _impl_.node_.set_to_default_; - _impl_.node_.set_to_default_ = nullptr; + auto* temp = _impl_.node_.json_agg_constructor_; + _impl_.node_.json_agg_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value) { +inline void Node::unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_set_to_default(); - _impl_.node_.set_to_default_ = value; + set_has_json_agg_constructor(); + _impl_.node_.json_agg_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_to_default) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_agg_constructor) } -inline ::pg_query::SetToDefault* Node::_internal_mutable_set_to_default() { - if (node_case() != kSetToDefault) { +inline ::pg_query::JsonAggConstructor* Node::_internal_mutable_json_agg_constructor() { + if (node_case() != kJsonAggConstructor) { clear_node(); - set_has_set_to_default(); - _impl_.node_.set_to_default_ = CreateMaybeMessage<::pg_query::SetToDefault>(GetArena()); + set_has_json_agg_constructor(); + _impl_.node_.json_agg_constructor_ = CreateMaybeMessage<::pg_query::JsonAggConstructor>(GetArena()); } - return _impl_.node_.set_to_default_; + return _impl_.node_.json_agg_constructor_; } -inline ::pg_query::SetToDefault* Node::mutable_set_to_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SetToDefault* _msg = _internal_mutable_set_to_default(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.set_to_default) +inline ::pg_query::JsonAggConstructor* Node::mutable_json_agg_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonAggConstructor* _msg = _internal_mutable_json_agg_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_agg_constructor) return _msg; } -// .pg_query.CurrentOfExpr current_of_expr = 48 [json_name = "CurrentOfExpr"]; -inline bool Node::has_current_of_expr() const { - return node_case() == kCurrentOfExpr; +// .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"]; +inline bool Node::has_json_object_agg() const { + return node_case() == kJsonObjectAgg; } -inline bool Node::_internal_has_current_of_expr() const { - return node_case() == kCurrentOfExpr; +inline bool Node::_internal_has_json_object_agg() const { + return node_case() == kJsonObjectAgg; } -inline void Node::set_has_current_of_expr() { - _impl_._oneof_case_[0] = kCurrentOfExpr; +inline void Node::set_has_json_object_agg() { + _impl_._oneof_case_[0] = kJsonObjectAgg; } -inline void Node::clear_current_of_expr() { +inline void Node::clear_json_object_agg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCurrentOfExpr) { + if (node_case() == kJsonObjectAgg) { if (GetArena() == nullptr) { - delete _impl_.node_.current_of_expr_; + delete _impl_.node_.json_object_agg_; } clear_has_node(); } } -inline ::pg_query::CurrentOfExpr* Node::release_current_of_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.current_of_expr) - if (node_case() == kCurrentOfExpr) { +inline ::pg_query::JsonObjectAgg* Node::release_json_object_agg() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_object_agg) + if (node_case() == kJsonObjectAgg) { clear_has_node(); - auto* temp = _impl_.node_.current_of_expr_; + auto* temp = _impl_.node_.json_object_agg_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.current_of_expr_ = nullptr; + _impl_.node_.json_object_agg_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CurrentOfExpr& Node::_internal_current_of_expr() const { - return node_case() == kCurrentOfExpr ? *_impl_.node_.current_of_expr_ : reinterpret_cast<::pg_query::CurrentOfExpr&>(::pg_query::_CurrentOfExpr_default_instance_); +inline const ::pg_query::JsonObjectAgg& Node::_internal_json_object_agg() const { + return node_case() == kJsonObjectAgg ? *_impl_.node_.json_object_agg_ : reinterpret_cast<::pg_query::JsonObjectAgg&>(::pg_query::_JsonObjectAgg_default_instance_); } -inline const ::pg_query::CurrentOfExpr& Node::current_of_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.current_of_expr) - return _internal_current_of_expr(); +inline const ::pg_query::JsonObjectAgg& Node::json_object_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_object_agg) + return _internal_json_object_agg(); } -inline ::pg_query::CurrentOfExpr* Node::unsafe_arena_release_current_of_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.current_of_expr) - if (node_case() == kCurrentOfExpr) { +inline ::pg_query::JsonObjectAgg* Node::unsafe_arena_release_json_object_agg() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_agg) + if (node_case() == kJsonObjectAgg) { clear_has_node(); - auto* temp = _impl_.node_.current_of_expr_; - _impl_.node_.current_of_expr_ = nullptr; + auto* temp = _impl_.node_.json_object_agg_; + _impl_.node_.json_object_agg_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_current_of_expr(); - _impl_.node_.current_of_expr_ = value; + set_has_json_object_agg(); + _impl_.node_.json_object_agg_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.current_of_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_agg) } -inline ::pg_query::CurrentOfExpr* Node::_internal_mutable_current_of_expr() { - if (node_case() != kCurrentOfExpr) { +inline ::pg_query::JsonObjectAgg* Node::_internal_mutable_json_object_agg() { + if (node_case() != kJsonObjectAgg) { clear_node(); - set_has_current_of_expr(); - _impl_.node_.current_of_expr_ = CreateMaybeMessage<::pg_query::CurrentOfExpr>(GetArena()); + set_has_json_object_agg(); + _impl_.node_.json_object_agg_ = CreateMaybeMessage<::pg_query::JsonObjectAgg>(GetArena()); } - return _impl_.node_.current_of_expr_; + return _impl_.node_.json_object_agg_; } -inline ::pg_query::CurrentOfExpr* Node::mutable_current_of_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CurrentOfExpr* _msg = _internal_mutable_current_of_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.current_of_expr) +inline ::pg_query::JsonObjectAgg* Node::mutable_json_object_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonObjectAgg* _msg = _internal_mutable_json_object_agg(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_agg) return _msg; } -// .pg_query.NextValueExpr next_value_expr = 49 [json_name = "NextValueExpr"]; -inline bool Node::has_next_value_expr() const { - return node_case() == kNextValueExpr; +// .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"]; +inline bool Node::has_json_array_agg() const { + return node_case() == kJsonArrayAgg; } -inline bool Node::_internal_has_next_value_expr() const { - return node_case() == kNextValueExpr; +inline bool Node::_internal_has_json_array_agg() const { + return node_case() == kJsonArrayAgg; } -inline void Node::set_has_next_value_expr() { - _impl_._oneof_case_[0] = kNextValueExpr; +inline void Node::set_has_json_array_agg() { + _impl_._oneof_case_[0] = kJsonArrayAgg; } -inline void Node::clear_next_value_expr() { +inline void Node::clear_json_array_agg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kNextValueExpr) { + if (node_case() == kJsonArrayAgg) { if (GetArena() == nullptr) { - delete _impl_.node_.next_value_expr_; + delete _impl_.node_.json_array_agg_; } clear_has_node(); } } -inline ::pg_query::NextValueExpr* Node::release_next_value_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.next_value_expr) - if (node_case() == kNextValueExpr) { +inline ::pg_query::JsonArrayAgg* Node::release_json_array_agg() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_agg) + if (node_case() == kJsonArrayAgg) { clear_has_node(); - auto* temp = _impl_.node_.next_value_expr_; + auto* temp = _impl_.node_.json_array_agg_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.next_value_expr_ = nullptr; + _impl_.node_.json_array_agg_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NextValueExpr& Node::_internal_next_value_expr() const { - return node_case() == kNextValueExpr ? *_impl_.node_.next_value_expr_ : reinterpret_cast<::pg_query::NextValueExpr&>(::pg_query::_NextValueExpr_default_instance_); +inline const ::pg_query::JsonArrayAgg& Node::_internal_json_array_agg() const { + return node_case() == kJsonArrayAgg ? *_impl_.node_.json_array_agg_ : reinterpret_cast<::pg_query::JsonArrayAgg&>(::pg_query::_JsonArrayAgg_default_instance_); } -inline const ::pg_query::NextValueExpr& Node::next_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.next_value_expr) - return _internal_next_value_expr(); +inline const ::pg_query::JsonArrayAgg& Node::json_array_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_agg) + return _internal_json_array_agg(); } -inline ::pg_query::NextValueExpr* Node::unsafe_arena_release_next_value_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.next_value_expr) - if (node_case() == kNextValueExpr) { +inline ::pg_query::JsonArrayAgg* Node::unsafe_arena_release_json_array_agg() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_agg) + if (node_case() == kJsonArrayAgg) { clear_has_node(); - auto* temp = _impl_.node_.next_value_expr_; - _impl_.node_.next_value_expr_ = nullptr; + auto* temp = _impl_.node_.json_array_agg_; + _impl_.node_.json_array_agg_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value) { +inline void Node::unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_next_value_expr(); - _impl_.node_.next_value_expr_ = value; + set_has_json_array_agg(); + _impl_.node_.json_array_agg_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.next_value_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_agg) } -inline ::pg_query::NextValueExpr* Node::_internal_mutable_next_value_expr() { - if (node_case() != kNextValueExpr) { +inline ::pg_query::JsonArrayAgg* Node::_internal_mutable_json_array_agg() { + if (node_case() != kJsonArrayAgg) { clear_node(); - set_has_next_value_expr(); - _impl_.node_.next_value_expr_ = CreateMaybeMessage<::pg_query::NextValueExpr>(GetArena()); + set_has_json_array_agg(); + _impl_.node_.json_array_agg_ = CreateMaybeMessage<::pg_query::JsonArrayAgg>(GetArena()); } - return _impl_.node_.next_value_expr_; + return _impl_.node_.json_array_agg_; } -inline ::pg_query::NextValueExpr* Node::mutable_next_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::NextValueExpr* _msg = _internal_mutable_next_value_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.next_value_expr) +inline ::pg_query::JsonArrayAgg* Node::mutable_json_array_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayAgg* _msg = _internal_mutable_json_array_agg(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_agg) return _msg; } -// .pg_query.InferenceElem inference_elem = 50 [json_name = "InferenceElem"]; -inline bool Node::has_inference_elem() const { - return node_case() == kInferenceElem; +// .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"]; +inline bool Node::has_raw_stmt() const { + return node_case() == kRawStmt; } -inline bool Node::_internal_has_inference_elem() const { - return node_case() == kInferenceElem; +inline bool Node::_internal_has_raw_stmt() const { + return node_case() == kRawStmt; } -inline void Node::set_has_inference_elem() { - _impl_._oneof_case_[0] = kInferenceElem; +inline void Node::set_has_raw_stmt() { + _impl_._oneof_case_[0] = kRawStmt; } -inline void Node::clear_inference_elem() { +inline void Node::clear_raw_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kInferenceElem) { + if (node_case() == kRawStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.inference_elem_; + delete _impl_.node_.raw_stmt_; } clear_has_node(); } } -inline ::pg_query::InferenceElem* Node::release_inference_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.inference_elem) - if (node_case() == kInferenceElem) { +inline ::pg_query::RawStmt* Node::release_raw_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.raw_stmt) + if (node_case() == kRawStmt) { clear_has_node(); - auto* temp = _impl_.node_.inference_elem_; + auto* temp = _impl_.node_.raw_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.inference_elem_ = nullptr; + _impl_.node_.raw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InferenceElem& Node::_internal_inference_elem() const { - return node_case() == kInferenceElem ? *_impl_.node_.inference_elem_ : reinterpret_cast<::pg_query::InferenceElem&>(::pg_query::_InferenceElem_default_instance_); +inline const ::pg_query::RawStmt& Node::_internal_raw_stmt() const { + return node_case() == kRawStmt ? *_impl_.node_.raw_stmt_ : reinterpret_cast<::pg_query::RawStmt&>(::pg_query::_RawStmt_default_instance_); } -inline const ::pg_query::InferenceElem& Node::inference_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.inference_elem) - return _internal_inference_elem(); +inline const ::pg_query::RawStmt& Node::raw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.raw_stmt) + return _internal_raw_stmt(); } -inline ::pg_query::InferenceElem* Node::unsafe_arena_release_inference_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inference_elem) - if (node_case() == kInferenceElem) { +inline ::pg_query::RawStmt* Node::unsafe_arena_release_raw_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.raw_stmt) + if (node_case() == kRawStmt) { clear_has_node(); - auto* temp = _impl_.node_.inference_elem_; - _impl_.node_.inference_elem_ = nullptr; + auto* temp = _impl_.node_.raw_stmt_; + _impl_.node_.raw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value) { +inline void Node::unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_inference_elem(); - _impl_.node_.inference_elem_ = value; + set_has_raw_stmt(); + _impl_.node_.raw_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inference_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.raw_stmt) } -inline ::pg_query::InferenceElem* Node::_internal_mutable_inference_elem() { - if (node_case() != kInferenceElem) { +inline ::pg_query::RawStmt* Node::_internal_mutable_raw_stmt() { + if (node_case() != kRawStmt) { clear_node(); - set_has_inference_elem(); - _impl_.node_.inference_elem_ = CreateMaybeMessage<::pg_query::InferenceElem>(GetArena()); + set_has_raw_stmt(); + _impl_.node_.raw_stmt_ = CreateMaybeMessage<::pg_query::RawStmt>(GetArena()); } - return _impl_.node_.inference_elem_; + return _impl_.node_.raw_stmt_; } -inline ::pg_query::InferenceElem* Node::mutable_inference_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::InferenceElem* _msg = _internal_mutable_inference_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.inference_elem) +inline ::pg_query::RawStmt* Node::mutable_raw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RawStmt* _msg = _internal_mutable_raw_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.raw_stmt) return _msg; } -// .pg_query.TargetEntry target_entry = 51 [json_name = "TargetEntry"]; -inline bool Node::has_target_entry() const { - return node_case() == kTargetEntry; +// .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"]; +inline bool Node::has_insert_stmt() const { + return node_case() == kInsertStmt; } -inline bool Node::_internal_has_target_entry() const { - return node_case() == kTargetEntry; +inline bool Node::_internal_has_insert_stmt() const { + return node_case() == kInsertStmt; } -inline void Node::set_has_target_entry() { - _impl_._oneof_case_[0] = kTargetEntry; +inline void Node::set_has_insert_stmt() { + _impl_._oneof_case_[0] = kInsertStmt; } -inline void Node::clear_target_entry() { +inline void Node::clear_insert_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTargetEntry) { + if (node_case() == kInsertStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.target_entry_; + delete _impl_.node_.insert_stmt_; } clear_has_node(); } } -inline ::pg_query::TargetEntry* Node::release_target_entry() { - // @@protoc_insertion_point(field_release:pg_query.Node.target_entry) - if (node_case() == kTargetEntry) { +inline ::pg_query::InsertStmt* Node::release_insert_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.insert_stmt) + if (node_case() == kInsertStmt) { clear_has_node(); - auto* temp = _impl_.node_.target_entry_; + auto* temp = _impl_.node_.insert_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.target_entry_ = nullptr; + _impl_.node_.insert_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TargetEntry& Node::_internal_target_entry() const { - return node_case() == kTargetEntry ? *_impl_.node_.target_entry_ : reinterpret_cast<::pg_query::TargetEntry&>(::pg_query::_TargetEntry_default_instance_); -} -inline const ::pg_query::TargetEntry& Node::target_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.target_entry) - return _internal_target_entry(); +inline const ::pg_query::InsertStmt& Node::_internal_insert_stmt() const { + return node_case() == kInsertStmt ? *_impl_.node_.insert_stmt_ : reinterpret_cast<::pg_query::InsertStmt&>(::pg_query::_InsertStmt_default_instance_); } -inline ::pg_query::TargetEntry* Node::unsafe_arena_release_target_entry() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.target_entry) - if (node_case() == kTargetEntry) { +inline const ::pg_query::InsertStmt& Node::insert_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.insert_stmt) + return _internal_insert_stmt(); +} +inline ::pg_query::InsertStmt* Node::unsafe_arena_release_insert_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.insert_stmt) + if (node_case() == kInsertStmt) { clear_has_node(); - auto* temp = _impl_.node_.target_entry_; - _impl_.node_.target_entry_ = nullptr; + auto* temp = _impl_.node_.insert_stmt_; + _impl_.node_.insert_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value) { +inline void Node::unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_target_entry(); - _impl_.node_.target_entry_ = value; + set_has_insert_stmt(); + _impl_.node_.insert_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.target_entry) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.insert_stmt) } -inline ::pg_query::TargetEntry* Node::_internal_mutable_target_entry() { - if (node_case() != kTargetEntry) { +inline ::pg_query::InsertStmt* Node::_internal_mutable_insert_stmt() { + if (node_case() != kInsertStmt) { clear_node(); - set_has_target_entry(); - _impl_.node_.target_entry_ = CreateMaybeMessage<::pg_query::TargetEntry>(GetArena()); + set_has_insert_stmt(); + _impl_.node_.insert_stmt_ = CreateMaybeMessage<::pg_query::InsertStmt>(GetArena()); } - return _impl_.node_.target_entry_; + return _impl_.node_.insert_stmt_; } -inline ::pg_query::TargetEntry* Node::mutable_target_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TargetEntry* _msg = _internal_mutable_target_entry(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.target_entry) +inline ::pg_query::InsertStmt* Node::mutable_insert_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InsertStmt* _msg = _internal_mutable_insert_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.insert_stmt) return _msg; } -// .pg_query.RangeTblRef range_tbl_ref = 52 [json_name = "RangeTblRef"]; -inline bool Node::has_range_tbl_ref() const { - return node_case() == kRangeTblRef; +// .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"]; +inline bool Node::has_delete_stmt() const { + return node_case() == kDeleteStmt; } -inline bool Node::_internal_has_range_tbl_ref() const { - return node_case() == kRangeTblRef; +inline bool Node::_internal_has_delete_stmt() const { + return node_case() == kDeleteStmt; } -inline void Node::set_has_range_tbl_ref() { - _impl_._oneof_case_[0] = kRangeTblRef; +inline void Node::set_has_delete_stmt() { + _impl_._oneof_case_[0] = kDeleteStmt; } -inline void Node::clear_range_tbl_ref() { +inline void Node::clear_delete_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTblRef) { + if (node_case() == kDeleteStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_tbl_ref_; + delete _impl_.node_.delete_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTblRef* Node::release_range_tbl_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_ref) - if (node_case() == kRangeTblRef) { +inline ::pg_query::DeleteStmt* Node::release_delete_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.delete_stmt) + if (node_case() == kDeleteStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_ref_; + auto* temp = _impl_.node_.delete_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_ref_ = nullptr; + _impl_.node_.delete_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblRef& Node::_internal_range_tbl_ref() const { - return node_case() == kRangeTblRef ? *_impl_.node_.range_tbl_ref_ : reinterpret_cast<::pg_query::RangeTblRef&>(::pg_query::_RangeTblRef_default_instance_); +inline const ::pg_query::DeleteStmt& Node::_internal_delete_stmt() const { + return node_case() == kDeleteStmt ? *_impl_.node_.delete_stmt_ : reinterpret_cast<::pg_query::DeleteStmt&>(::pg_query::_DeleteStmt_default_instance_); } -inline const ::pg_query::RangeTblRef& Node::range_tbl_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_ref) - return _internal_range_tbl_ref(); +inline const ::pg_query::DeleteStmt& Node::delete_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.delete_stmt) + return _internal_delete_stmt(); } -inline ::pg_query::RangeTblRef* Node::unsafe_arena_release_range_tbl_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_ref) - if (node_case() == kRangeTblRef) { +inline ::pg_query::DeleteStmt* Node::unsafe_arena_release_delete_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.delete_stmt) + if (node_case() == kDeleteStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_ref_; - _impl_.node_.range_tbl_ref_ = nullptr; + auto* temp = _impl_.node_.delete_stmt_; + _impl_.node_.delete_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value) { +inline void Node::unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_tbl_ref(); - _impl_.node_.range_tbl_ref_ = value; + set_has_delete_stmt(); + _impl_.node_.delete_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.delete_stmt) } -inline ::pg_query::RangeTblRef* Node::_internal_mutable_range_tbl_ref() { - if (node_case() != kRangeTblRef) { +inline ::pg_query::DeleteStmt* Node::_internal_mutable_delete_stmt() { + if (node_case() != kDeleteStmt) { clear_node(); - set_has_range_tbl_ref(); - _impl_.node_.range_tbl_ref_ = CreateMaybeMessage<::pg_query::RangeTblRef>(GetArena()); + set_has_delete_stmt(); + _impl_.node_.delete_stmt_ = CreateMaybeMessage<::pg_query::DeleteStmt>(GetArena()); } - return _impl_.node_.range_tbl_ref_; + return _impl_.node_.delete_stmt_; } -inline ::pg_query::RangeTblRef* Node::mutable_range_tbl_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTblRef* _msg = _internal_mutable_range_tbl_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_ref) +inline ::pg_query::DeleteStmt* Node::mutable_delete_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeleteStmt* _msg = _internal_mutable_delete_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.delete_stmt) return _msg; } -// .pg_query.JoinExpr join_expr = 53 [json_name = "JoinExpr"]; -inline bool Node::has_join_expr() const { - return node_case() == kJoinExpr; +// .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"]; +inline bool Node::has_update_stmt() const { + return node_case() == kUpdateStmt; } -inline bool Node::_internal_has_join_expr() const { - return node_case() == kJoinExpr; +inline bool Node::_internal_has_update_stmt() const { + return node_case() == kUpdateStmt; } -inline void Node::set_has_join_expr() { - _impl_._oneof_case_[0] = kJoinExpr; +inline void Node::set_has_update_stmt() { + _impl_._oneof_case_[0] = kUpdateStmt; } -inline void Node::clear_join_expr() { +inline void Node::clear_update_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJoinExpr) { + if (node_case() == kUpdateStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.join_expr_; + delete _impl_.node_.update_stmt_; } clear_has_node(); } } -inline ::pg_query::JoinExpr* Node::release_join_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.join_expr) - if (node_case() == kJoinExpr) { +inline ::pg_query::UpdateStmt* Node::release_update_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.update_stmt) + if (node_case() == kUpdateStmt) { clear_has_node(); - auto* temp = _impl_.node_.join_expr_; + auto* temp = _impl_.node_.update_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.join_expr_ = nullptr; + _impl_.node_.update_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JoinExpr& Node::_internal_join_expr() const { - return node_case() == kJoinExpr ? *_impl_.node_.join_expr_ : reinterpret_cast<::pg_query::JoinExpr&>(::pg_query::_JoinExpr_default_instance_); +inline const ::pg_query::UpdateStmt& Node::_internal_update_stmt() const { + return node_case() == kUpdateStmt ? *_impl_.node_.update_stmt_ : reinterpret_cast<::pg_query::UpdateStmt&>(::pg_query::_UpdateStmt_default_instance_); } -inline const ::pg_query::JoinExpr& Node::join_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.join_expr) - return _internal_join_expr(); +inline const ::pg_query::UpdateStmt& Node::update_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.update_stmt) + return _internal_update_stmt(); } -inline ::pg_query::JoinExpr* Node::unsafe_arena_release_join_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.join_expr) - if (node_case() == kJoinExpr) { +inline ::pg_query::UpdateStmt* Node::unsafe_arena_release_update_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.update_stmt) + if (node_case() == kUpdateStmt) { clear_has_node(); - auto* temp = _impl_.node_.join_expr_; - _impl_.node_.join_expr_ = nullptr; + auto* temp = _impl_.node_.update_stmt_; + _impl_.node_.update_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value) { +inline void Node::unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_join_expr(); - _impl_.node_.join_expr_ = value; + set_has_update_stmt(); + _impl_.node_.update_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.join_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.update_stmt) } -inline ::pg_query::JoinExpr* Node::_internal_mutable_join_expr() { - if (node_case() != kJoinExpr) { +inline ::pg_query::UpdateStmt* Node::_internal_mutable_update_stmt() { + if (node_case() != kUpdateStmt) { clear_node(); - set_has_join_expr(); - _impl_.node_.join_expr_ = CreateMaybeMessage<::pg_query::JoinExpr>(GetArena()); + set_has_update_stmt(); + _impl_.node_.update_stmt_ = CreateMaybeMessage<::pg_query::UpdateStmt>(GetArena()); } - return _impl_.node_.join_expr_; + return _impl_.node_.update_stmt_; } -inline ::pg_query::JoinExpr* Node::mutable_join_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JoinExpr* _msg = _internal_mutable_join_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.join_expr) +inline ::pg_query::UpdateStmt* Node::mutable_update_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::UpdateStmt* _msg = _internal_mutable_update_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.update_stmt) return _msg; } -// .pg_query.FromExpr from_expr = 54 [json_name = "FromExpr"]; -inline bool Node::has_from_expr() const { - return node_case() == kFromExpr; +// .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"]; +inline bool Node::has_merge_stmt() const { + return node_case() == kMergeStmt; } -inline bool Node::_internal_has_from_expr() const { - return node_case() == kFromExpr; +inline bool Node::_internal_has_merge_stmt() const { + return node_case() == kMergeStmt; } -inline void Node::set_has_from_expr() { - _impl_._oneof_case_[0] = kFromExpr; +inline void Node::set_has_merge_stmt() { + _impl_._oneof_case_[0] = kMergeStmt; } -inline void Node::clear_from_expr() { +inline void Node::clear_merge_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFromExpr) { + if (node_case() == kMergeStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.from_expr_; + delete _impl_.node_.merge_stmt_; } clear_has_node(); } } -inline ::pg_query::FromExpr* Node::release_from_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.from_expr) - if (node_case() == kFromExpr) { +inline ::pg_query::MergeStmt* Node::release_merge_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_stmt) + if (node_case() == kMergeStmt) { clear_has_node(); - auto* temp = _impl_.node_.from_expr_; + auto* temp = _impl_.node_.merge_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.from_expr_ = nullptr; + _impl_.node_.merge_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FromExpr& Node::_internal_from_expr() const { - return node_case() == kFromExpr ? *_impl_.node_.from_expr_ : reinterpret_cast<::pg_query::FromExpr&>(::pg_query::_FromExpr_default_instance_); +inline const ::pg_query::MergeStmt& Node::_internal_merge_stmt() const { + return node_case() == kMergeStmt ? *_impl_.node_.merge_stmt_ : reinterpret_cast<::pg_query::MergeStmt&>(::pg_query::_MergeStmt_default_instance_); } -inline const ::pg_query::FromExpr& Node::from_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.from_expr) - return _internal_from_expr(); +inline const ::pg_query::MergeStmt& Node::merge_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_stmt) + return _internal_merge_stmt(); } -inline ::pg_query::FromExpr* Node::unsafe_arena_release_from_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.from_expr) - if (node_case() == kFromExpr) { +inline ::pg_query::MergeStmt* Node::unsafe_arena_release_merge_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_stmt) + if (node_case() == kMergeStmt) { clear_has_node(); - auto* temp = _impl_.node_.from_expr_; - _impl_.node_.from_expr_ = nullptr; + auto* temp = _impl_.node_.merge_stmt_; + _impl_.node_.merge_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value) { +inline void Node::unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_from_expr(); - _impl_.node_.from_expr_ = value; + set_has_merge_stmt(); + _impl_.node_.merge_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.from_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_stmt) } -inline ::pg_query::FromExpr* Node::_internal_mutable_from_expr() { - if (node_case() != kFromExpr) { +inline ::pg_query::MergeStmt* Node::_internal_mutable_merge_stmt() { + if (node_case() != kMergeStmt) { clear_node(); - set_has_from_expr(); - _impl_.node_.from_expr_ = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); + set_has_merge_stmt(); + _impl_.node_.merge_stmt_ = CreateMaybeMessage<::pg_query::MergeStmt>(GetArena()); } - return _impl_.node_.from_expr_; + return _impl_.node_.merge_stmt_; } -inline ::pg_query::FromExpr* Node::mutable_from_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FromExpr* _msg = _internal_mutable_from_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.from_expr) +inline ::pg_query::MergeStmt* Node::mutable_merge_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeStmt* _msg = _internal_mutable_merge_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_stmt) return _msg; } -// .pg_query.OnConflictExpr on_conflict_expr = 55 [json_name = "OnConflictExpr"]; -inline bool Node::has_on_conflict_expr() const { - return node_case() == kOnConflictExpr; +// .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"]; +inline bool Node::has_select_stmt() const { + return node_case() == kSelectStmt; } -inline bool Node::_internal_has_on_conflict_expr() const { - return node_case() == kOnConflictExpr; +inline bool Node::_internal_has_select_stmt() const { + return node_case() == kSelectStmt; } -inline void Node::set_has_on_conflict_expr() { - _impl_._oneof_case_[0] = kOnConflictExpr; +inline void Node::set_has_select_stmt() { + _impl_._oneof_case_[0] = kSelectStmt; } -inline void Node::clear_on_conflict_expr() { +inline void Node::clear_select_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kOnConflictExpr) { + if (node_case() == kSelectStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.on_conflict_expr_; + delete _impl_.node_.select_stmt_; } clear_has_node(); } } -inline ::pg_query::OnConflictExpr* Node::release_on_conflict_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_expr) - if (node_case() == kOnConflictExpr) { +inline ::pg_query::SelectStmt* Node::release_select_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.select_stmt) + if (node_case() == kSelectStmt) { clear_has_node(); - auto* temp = _impl_.node_.on_conflict_expr_; + auto* temp = _impl_.node_.select_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.on_conflict_expr_ = nullptr; + _impl_.node_.select_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OnConflictExpr& Node::_internal_on_conflict_expr() const { - return node_case() == kOnConflictExpr ? *_impl_.node_.on_conflict_expr_ : reinterpret_cast<::pg_query::OnConflictExpr&>(::pg_query::_OnConflictExpr_default_instance_); +inline const ::pg_query::SelectStmt& Node::_internal_select_stmt() const { + return node_case() == kSelectStmt ? *_impl_.node_.select_stmt_ : reinterpret_cast<::pg_query::SelectStmt&>(::pg_query::_SelectStmt_default_instance_); } -inline const ::pg_query::OnConflictExpr& Node::on_conflict_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_expr) - return _internal_on_conflict_expr(); +inline const ::pg_query::SelectStmt& Node::select_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.select_stmt) + return _internal_select_stmt(); } -inline ::pg_query::OnConflictExpr* Node::unsafe_arena_release_on_conflict_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_expr) - if (node_case() == kOnConflictExpr) { +inline ::pg_query::SelectStmt* Node::unsafe_arena_release_select_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.select_stmt) + if (node_case() == kSelectStmt) { clear_has_node(); - auto* temp = _impl_.node_.on_conflict_expr_; - _impl_.node_.on_conflict_expr_ = nullptr; + auto* temp = _impl_.node_.select_stmt_; + _impl_.node_.select_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value) { +inline void Node::unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_on_conflict_expr(); - _impl_.node_.on_conflict_expr_ = value; + set_has_select_stmt(); + _impl_.node_.select_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.select_stmt) } -inline ::pg_query::OnConflictExpr* Node::_internal_mutable_on_conflict_expr() { - if (node_case() != kOnConflictExpr) { +inline ::pg_query::SelectStmt* Node::_internal_mutable_select_stmt() { + if (node_case() != kSelectStmt) { clear_node(); - set_has_on_conflict_expr(); - _impl_.node_.on_conflict_expr_ = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); + set_has_select_stmt(); + _impl_.node_.select_stmt_ = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); } - return _impl_.node_.on_conflict_expr_; + return _impl_.node_.select_stmt_; } -inline ::pg_query::OnConflictExpr* Node::mutable_on_conflict_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_expr) +inline ::pg_query::SelectStmt* Node::mutable_select_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SelectStmt* _msg = _internal_mutable_select_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.select_stmt) return _msg; } -// .pg_query.Query query = 56 [json_name = "Query"]; -inline bool Node::has_query() const { - return node_case() == kQuery; +// .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"]; +inline bool Node::has_set_operation_stmt() const { + return node_case() == kSetOperationStmt; } -inline bool Node::_internal_has_query() const { - return node_case() == kQuery; +inline bool Node::_internal_has_set_operation_stmt() const { + return node_case() == kSetOperationStmt; } -inline void Node::set_has_query() { - _impl_._oneof_case_[0] = kQuery; +inline void Node::set_has_set_operation_stmt() { + _impl_._oneof_case_[0] = kSetOperationStmt; } -inline void Node::clear_query() { +inline void Node::clear_set_operation_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kQuery) { + if (node_case() == kSetOperationStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.query_; + delete _impl_.node_.set_operation_stmt_; } clear_has_node(); } } -inline ::pg_query::Query* Node::release_query() { - // @@protoc_insertion_point(field_release:pg_query.Node.query) - if (node_case() == kQuery) { +inline ::pg_query::SetOperationStmt* Node::release_set_operation_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.set_operation_stmt) + if (node_case() == kSetOperationStmt) { clear_has_node(); - auto* temp = _impl_.node_.query_; + auto* temp = _impl_.node_.set_operation_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.query_ = nullptr; + _impl_.node_.set_operation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Query& Node::_internal_query() const { - return node_case() == kQuery ? *_impl_.node_.query_ : reinterpret_cast<::pg_query::Query&>(::pg_query::_Query_default_instance_); +inline const ::pg_query::SetOperationStmt& Node::_internal_set_operation_stmt() const { + return node_case() == kSetOperationStmt ? *_impl_.node_.set_operation_stmt_ : reinterpret_cast<::pg_query::SetOperationStmt&>(::pg_query::_SetOperationStmt_default_instance_); } -inline const ::pg_query::Query& Node::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.query) - return _internal_query(); +inline const ::pg_query::SetOperationStmt& Node::set_operation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.set_operation_stmt) + return _internal_set_operation_stmt(); } -inline ::pg_query::Query* Node::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.query) - if (node_case() == kQuery) { +inline ::pg_query::SetOperationStmt* Node::unsafe_arena_release_set_operation_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_operation_stmt) + if (node_case() == kSetOperationStmt) { clear_has_node(); - auto* temp = _impl_.node_.query_; - _impl_.node_.query_ = nullptr; + auto* temp = _impl_.node_.set_operation_stmt_; + _impl_.node_.set_operation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_query(::pg_query::Query* value) { +inline void Node::unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_query(); - _impl_.node_.query_ = value; + set_has_set_operation_stmt(); + _impl_.node_.set_operation_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_operation_stmt) } -inline ::pg_query::Query* Node::_internal_mutable_query() { - if (node_case() != kQuery) { +inline ::pg_query::SetOperationStmt* Node::_internal_mutable_set_operation_stmt() { + if (node_case() != kSetOperationStmt) { clear_node(); - set_has_query(); - _impl_.node_.query_ = CreateMaybeMessage<::pg_query::Query>(GetArena()); + set_has_set_operation_stmt(); + _impl_.node_.set_operation_stmt_ = CreateMaybeMessage<::pg_query::SetOperationStmt>(GetArena()); } - return _impl_.node_.query_; + return _impl_.node_.set_operation_stmt_; } -inline ::pg_query::Query* Node::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Query* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.query) +inline ::pg_query::SetOperationStmt* Node::mutable_set_operation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SetOperationStmt* _msg = _internal_mutable_set_operation_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.set_operation_stmt) return _msg; } -// .pg_query.TypeName type_name = 57 [json_name = "TypeName"]; -inline bool Node::has_type_name() const { - return node_case() == kTypeName; +// .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"]; +inline bool Node::has_return_stmt() const { + return node_case() == kReturnStmt; } -inline bool Node::_internal_has_type_name() const { - return node_case() == kTypeName; +inline bool Node::_internal_has_return_stmt() const { + return node_case() == kReturnStmt; } -inline void Node::set_has_type_name() { - _impl_._oneof_case_[0] = kTypeName; +inline void Node::set_has_return_stmt() { + _impl_._oneof_case_[0] = kReturnStmt; } -inline void Node::clear_type_name() { +inline void Node::clear_return_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTypeName) { + if (node_case() == kReturnStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.type_name_; + delete _impl_.node_.return_stmt_; } clear_has_node(); } } -inline ::pg_query::TypeName* Node::release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.Node.type_name) - if (node_case() == kTypeName) { +inline ::pg_query::ReturnStmt* Node::release_return_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.return_stmt) + if (node_case() == kReturnStmt) { clear_has_node(); - auto* temp = _impl_.node_.type_name_; + auto* temp = _impl_.node_.return_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.type_name_ = nullptr; + _impl_.node_.return_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TypeName& Node::_internal_type_name() const { - return node_case() == kTypeName ? *_impl_.node_.type_name_ : reinterpret_cast<::pg_query::TypeName&>(::pg_query::_TypeName_default_instance_); +inline const ::pg_query::ReturnStmt& Node::_internal_return_stmt() const { + return node_case() == kReturnStmt ? *_impl_.node_.return_stmt_ : reinterpret_cast<::pg_query::ReturnStmt&>(::pg_query::_ReturnStmt_default_instance_); } -inline const ::pg_query::TypeName& Node::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.type_name) - return _internal_type_name(); +inline const ::pg_query::ReturnStmt& Node::return_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.return_stmt) + return _internal_return_stmt(); } -inline ::pg_query::TypeName* Node::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_name) - if (node_case() == kTypeName) { +inline ::pg_query::ReturnStmt* Node::unsafe_arena_release_return_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.return_stmt) + if (node_case() == kReturnStmt) { clear_has_node(); - auto* temp = _impl_.node_.type_name_; - _impl_.node_.type_name_ = nullptr; + auto* temp = _impl_.node_.return_stmt_; + _impl_.node_.return_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { +inline void Node::unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_type_name(); - _impl_.node_.type_name_ = value; + set_has_return_stmt(); + _impl_.node_.return_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.return_stmt) } -inline ::pg_query::TypeName* Node::_internal_mutable_type_name() { - if (node_case() != kTypeName) { +inline ::pg_query::ReturnStmt* Node::_internal_mutable_return_stmt() { + if (node_case() != kReturnStmt) { clear_node(); - set_has_type_name(); - _impl_.node_.type_name_ = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + set_has_return_stmt(); + _impl_.node_.return_stmt_ = CreateMaybeMessage<::pg_query::ReturnStmt>(GetArena()); } - return _impl_.node_.type_name_; + return _impl_.node_.return_stmt_; } -inline ::pg_query::TypeName* Node::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.type_name) +inline ::pg_query::ReturnStmt* Node::mutable_return_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReturnStmt* _msg = _internal_mutable_return_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.return_stmt) return _msg; } -// .pg_query.ColumnRef column_ref = 58 [json_name = "ColumnRef"]; -inline bool Node::has_column_ref() const { - return node_case() == kColumnRef; +// .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"]; +inline bool Node::has_plassign_stmt() const { + return node_case() == kPlassignStmt; } -inline bool Node::_internal_has_column_ref() const { - return node_case() == kColumnRef; +inline bool Node::_internal_has_plassign_stmt() const { + return node_case() == kPlassignStmt; } -inline void Node::set_has_column_ref() { - _impl_._oneof_case_[0] = kColumnRef; +inline void Node::set_has_plassign_stmt() { + _impl_._oneof_case_[0] = kPlassignStmt; } -inline void Node::clear_column_ref() { +inline void Node::clear_plassign_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kColumnRef) { + if (node_case() == kPlassignStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.column_ref_; + delete _impl_.node_.plassign_stmt_; } clear_has_node(); } } -inline ::pg_query::ColumnRef* Node::release_column_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.column_ref) - if (node_case() == kColumnRef) { +inline ::pg_query::PLAssignStmt* Node::release_plassign_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.plassign_stmt) + if (node_case() == kPlassignStmt) { clear_has_node(); - auto* temp = _impl_.node_.column_ref_; + auto* temp = _impl_.node_.plassign_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.column_ref_ = nullptr; + _impl_.node_.plassign_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ColumnRef& Node::_internal_column_ref() const { - return node_case() == kColumnRef ? *_impl_.node_.column_ref_ : reinterpret_cast<::pg_query::ColumnRef&>(::pg_query::_ColumnRef_default_instance_); +inline const ::pg_query::PLAssignStmt& Node::_internal_plassign_stmt() const { + return node_case() == kPlassignStmt ? *_impl_.node_.plassign_stmt_ : reinterpret_cast<::pg_query::PLAssignStmt&>(::pg_query::_PLAssignStmt_default_instance_); } -inline const ::pg_query::ColumnRef& Node::column_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.column_ref) - return _internal_column_ref(); +inline const ::pg_query::PLAssignStmt& Node::plassign_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.plassign_stmt) + return _internal_plassign_stmt(); } -inline ::pg_query::ColumnRef* Node::unsafe_arena_release_column_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_ref) - if (node_case() == kColumnRef) { +inline ::pg_query::PLAssignStmt* Node::unsafe_arena_release_plassign_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.plassign_stmt) + if (node_case() == kPlassignStmt) { clear_has_node(); - auto* temp = _impl_.node_.column_ref_; - _impl_.node_.column_ref_ = nullptr; + auto* temp = _impl_.node_.plassign_stmt_; + _impl_.node_.plassign_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value) { +inline void Node::unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_column_ref(); - _impl_.node_.column_ref_ = value; + set_has_plassign_stmt(); + _impl_.node_.plassign_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.plassign_stmt) } -inline ::pg_query::ColumnRef* Node::_internal_mutable_column_ref() { - if (node_case() != kColumnRef) { +inline ::pg_query::PLAssignStmt* Node::_internal_mutable_plassign_stmt() { + if (node_case() != kPlassignStmt) { clear_node(); - set_has_column_ref(); - _impl_.node_.column_ref_ = CreateMaybeMessage<::pg_query::ColumnRef>(GetArena()); + set_has_plassign_stmt(); + _impl_.node_.plassign_stmt_ = CreateMaybeMessage<::pg_query::PLAssignStmt>(GetArena()); } - return _impl_.node_.column_ref_; + return _impl_.node_.plassign_stmt_; } -inline ::pg_query::ColumnRef* Node::mutable_column_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ColumnRef* _msg = _internal_mutable_column_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.column_ref) +inline ::pg_query::PLAssignStmt* Node::mutable_plassign_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PLAssignStmt* _msg = _internal_mutable_plassign_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.plassign_stmt) return _msg; } -// .pg_query.ParamRef param_ref = 59 [json_name = "ParamRef"]; -inline bool Node::has_param_ref() const { - return node_case() == kParamRef; +// .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"]; +inline bool Node::has_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt; } -inline bool Node::_internal_has_param_ref() const { - return node_case() == kParamRef; +inline bool Node::_internal_has_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt; } -inline void Node::set_has_param_ref() { - _impl_._oneof_case_[0] = kParamRef; +inline void Node::set_has_create_schema_stmt() { + _impl_._oneof_case_[0] = kCreateSchemaStmt; } -inline void Node::clear_param_ref() { +inline void Node::clear_create_schema_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kParamRef) { + if (node_case() == kCreateSchemaStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.param_ref_; + delete _impl_.node_.create_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::ParamRef* Node::release_param_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.param_ref) - if (node_case() == kParamRef) { +inline ::pg_query::CreateSchemaStmt* Node::release_create_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_schema_stmt) + if (node_case() == kCreateSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.param_ref_; + auto* temp = _impl_.node_.create_schema_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.param_ref_ = nullptr; + _impl_.node_.create_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ParamRef& Node::_internal_param_ref() const { - return node_case() == kParamRef ? *_impl_.node_.param_ref_ : reinterpret_cast<::pg_query::ParamRef&>(::pg_query::_ParamRef_default_instance_); +inline const ::pg_query::CreateSchemaStmt& Node::_internal_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt ? *_impl_.node_.create_schema_stmt_ : reinterpret_cast<::pg_query::CreateSchemaStmt&>(::pg_query::_CreateSchemaStmt_default_instance_); } -inline const ::pg_query::ParamRef& Node::param_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.param_ref) - return _internal_param_ref(); +inline const ::pg_query::CreateSchemaStmt& Node::create_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_schema_stmt) + return _internal_create_schema_stmt(); } -inline ::pg_query::ParamRef* Node::unsafe_arena_release_param_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param_ref) - if (node_case() == kParamRef) { +inline ::pg_query::CreateSchemaStmt* Node::unsafe_arena_release_create_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_schema_stmt) + if (node_case() == kCreateSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.param_ref_; - _impl_.node_.param_ref_ = nullptr; + auto* temp = _impl_.node_.create_schema_stmt_; + _impl_.node_.create_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value) { +inline void Node::unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_param_ref(); - _impl_.node_.param_ref_ = value; + set_has_create_schema_stmt(); + _impl_.node_.create_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_schema_stmt) } -inline ::pg_query::ParamRef* Node::_internal_mutable_param_ref() { - if (node_case() != kParamRef) { +inline ::pg_query::CreateSchemaStmt* Node::_internal_mutable_create_schema_stmt() { + if (node_case() != kCreateSchemaStmt) { clear_node(); - set_has_param_ref(); - _impl_.node_.param_ref_ = CreateMaybeMessage<::pg_query::ParamRef>(GetArena()); + set_has_create_schema_stmt(); + _impl_.node_.create_schema_stmt_ = CreateMaybeMessage<::pg_query::CreateSchemaStmt>(GetArena()); } - return _impl_.node_.param_ref_; + return _impl_.node_.create_schema_stmt_; } -inline ::pg_query::ParamRef* Node::mutable_param_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ParamRef* _msg = _internal_mutable_param_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.param_ref) +inline ::pg_query::CreateSchemaStmt* Node::mutable_create_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSchemaStmt* _msg = _internal_mutable_create_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_schema_stmt) return _msg; } -// .pg_query.A_Expr a_expr = 60 [json_name = "A_Expr"]; -inline bool Node::has_a_expr() const { - return node_case() == kAExpr; +// .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"]; +inline bool Node::has_alter_table_stmt() const { + return node_case() == kAlterTableStmt; } -inline bool Node::_internal_has_a_expr() const { - return node_case() == kAExpr; +inline bool Node::_internal_has_alter_table_stmt() const { + return node_case() == kAlterTableStmt; } -inline void Node::set_has_a_expr() { - _impl_._oneof_case_[0] = kAExpr; +inline void Node::set_has_alter_table_stmt() { + _impl_._oneof_case_[0] = kAlterTableStmt; } -inline void Node::clear_a_expr() { +inline void Node::clear_alter_table_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAExpr) { + if (node_case() == kAlterTableStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.a_expr_; + delete _impl_.node_.alter_table_stmt_; } clear_has_node(); } } -inline ::pg_query::A_Expr* Node::release_a_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_expr) - if (node_case() == kAExpr) { +inline ::pg_query::AlterTableStmt* Node::release_alter_table_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_stmt) + if (node_case() == kAlterTableStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_expr_; + auto* temp = _impl_.node_.alter_table_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_expr_ = nullptr; + _impl_.node_.alter_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Expr& Node::_internal_a_expr() const { - return node_case() == kAExpr ? *_impl_.node_.a_expr_ : reinterpret_cast<::pg_query::A_Expr&>(::pg_query::_A_Expr_default_instance_); +inline const ::pg_query::AlterTableStmt& Node::_internal_alter_table_stmt() const { + return node_case() == kAlterTableStmt ? *_impl_.node_.alter_table_stmt_ : reinterpret_cast<::pg_query::AlterTableStmt&>(::pg_query::_AlterTableStmt_default_instance_); } -inline const ::pg_query::A_Expr& Node::a_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_expr) - return _internal_a_expr(); +inline const ::pg_query::AlterTableStmt& Node::alter_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_stmt) + return _internal_alter_table_stmt(); } -inline ::pg_query::A_Expr* Node::unsafe_arena_release_a_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_expr) - if (node_case() == kAExpr) { +inline ::pg_query::AlterTableStmt* Node::unsafe_arena_release_alter_table_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_stmt) + if (node_case() == kAlterTableStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_expr_; - _impl_.node_.a_expr_ = nullptr; + auto* temp = _impl_.node_.alter_table_stmt_; + _impl_.node_.alter_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value) { +inline void Node::unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_a_expr(); - _impl_.node_.a_expr_ = value; + set_has_alter_table_stmt(); + _impl_.node_.alter_table_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_stmt) } -inline ::pg_query::A_Expr* Node::_internal_mutable_a_expr() { - if (node_case() != kAExpr) { +inline ::pg_query::AlterTableStmt* Node::_internal_mutable_alter_table_stmt() { + if (node_case() != kAlterTableStmt) { clear_node(); - set_has_a_expr(); - _impl_.node_.a_expr_ = CreateMaybeMessage<::pg_query::A_Expr>(GetArena()); + set_has_alter_table_stmt(); + _impl_.node_.alter_table_stmt_ = CreateMaybeMessage<::pg_query::AlterTableStmt>(GetArena()); } - return _impl_.node_.a_expr_; + return _impl_.node_.alter_table_stmt_; } -inline ::pg_query::A_Expr* Node::mutable_a_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_Expr* _msg = _internal_mutable_a_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_expr) +inline ::pg_query::AlterTableStmt* Node::mutable_alter_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableStmt* _msg = _internal_mutable_alter_table_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_stmt) return _msg; } -// .pg_query.TypeCast type_cast = 61 [json_name = "TypeCast"]; -inline bool Node::has_type_cast() const { - return node_case() == kTypeCast; +// .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"]; +inline bool Node::has_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt; } -inline bool Node::_internal_has_type_cast() const { - return node_case() == kTypeCast; +inline bool Node::_internal_has_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt; } -inline void Node::set_has_type_cast() { - _impl_._oneof_case_[0] = kTypeCast; +inline void Node::set_has_replica_identity_stmt() { + _impl_._oneof_case_[0] = kReplicaIdentityStmt; } -inline void Node::clear_type_cast() { +inline void Node::clear_replica_identity_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTypeCast) { + if (node_case() == kReplicaIdentityStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.type_cast_; + delete _impl_.node_.replica_identity_stmt_; } clear_has_node(); } } -inline ::pg_query::TypeCast* Node::release_type_cast() { - // @@protoc_insertion_point(field_release:pg_query.Node.type_cast) - if (node_case() == kTypeCast) { +inline ::pg_query::ReplicaIdentityStmt* Node::release_replica_identity_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.replica_identity_stmt) + if (node_case() == kReplicaIdentityStmt) { clear_has_node(); - auto* temp = _impl_.node_.type_cast_; + auto* temp = _impl_.node_.replica_identity_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.type_cast_ = nullptr; + _impl_.node_.replica_identity_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TypeCast& Node::_internal_type_cast() const { - return node_case() == kTypeCast ? *_impl_.node_.type_cast_ : reinterpret_cast<::pg_query::TypeCast&>(::pg_query::_TypeCast_default_instance_); +inline const ::pg_query::ReplicaIdentityStmt& Node::_internal_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt ? *_impl_.node_.replica_identity_stmt_ : reinterpret_cast<::pg_query::ReplicaIdentityStmt&>(::pg_query::_ReplicaIdentityStmt_default_instance_); } -inline const ::pg_query::TypeCast& Node::type_cast() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.type_cast) - return _internal_type_cast(); +inline const ::pg_query::ReplicaIdentityStmt& Node::replica_identity_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.replica_identity_stmt) + return _internal_replica_identity_stmt(); } -inline ::pg_query::TypeCast* Node::unsafe_arena_release_type_cast() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_cast) - if (node_case() == kTypeCast) { +inline ::pg_query::ReplicaIdentityStmt* Node::unsafe_arena_release_replica_identity_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.replica_identity_stmt) + if (node_case() == kReplicaIdentityStmt) { clear_has_node(); - auto* temp = _impl_.node_.type_cast_; - _impl_.node_.type_cast_ = nullptr; + auto* temp = _impl_.node_.replica_identity_stmt_; + _impl_.node_.replica_identity_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value) { +inline void Node::unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_type_cast(); - _impl_.node_.type_cast_ = value; + set_has_replica_identity_stmt(); + _impl_.node_.replica_identity_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_cast) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.replica_identity_stmt) } -inline ::pg_query::TypeCast* Node::_internal_mutable_type_cast() { - if (node_case() != kTypeCast) { +inline ::pg_query::ReplicaIdentityStmt* Node::_internal_mutable_replica_identity_stmt() { + if (node_case() != kReplicaIdentityStmt) { clear_node(); - set_has_type_cast(); - _impl_.node_.type_cast_ = CreateMaybeMessage<::pg_query::TypeCast>(GetArena()); + set_has_replica_identity_stmt(); + _impl_.node_.replica_identity_stmt_ = CreateMaybeMessage<::pg_query::ReplicaIdentityStmt>(GetArena()); } - return _impl_.node_.type_cast_; + return _impl_.node_.replica_identity_stmt_; } -inline ::pg_query::TypeCast* Node::mutable_type_cast() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeCast* _msg = _internal_mutable_type_cast(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.type_cast) +inline ::pg_query::ReplicaIdentityStmt* Node::mutable_replica_identity_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReplicaIdentityStmt* _msg = _internal_mutable_replica_identity_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.replica_identity_stmt) return _msg; } -// .pg_query.CollateClause collate_clause = 62 [json_name = "CollateClause"]; -inline bool Node::has_collate_clause() const { - return node_case() == kCollateClause; +// .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"]; +inline bool Node::has_alter_table_cmd() const { + return node_case() == kAlterTableCmd; } -inline bool Node::_internal_has_collate_clause() const { - return node_case() == kCollateClause; +inline bool Node::_internal_has_alter_table_cmd() const { + return node_case() == kAlterTableCmd; } -inline void Node::set_has_collate_clause() { - _impl_._oneof_case_[0] = kCollateClause; +inline void Node::set_has_alter_table_cmd() { + _impl_._oneof_case_[0] = kAlterTableCmd; } -inline void Node::clear_collate_clause() { +inline void Node::clear_alter_table_cmd() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCollateClause) { + if (node_case() == kAlterTableCmd) { if (GetArena() == nullptr) { - delete _impl_.node_.collate_clause_; + delete _impl_.node_.alter_table_cmd_; } clear_has_node(); } } -inline ::pg_query::CollateClause* Node::release_collate_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.collate_clause) - if (node_case() == kCollateClause) { +inline ::pg_query::AlterTableCmd* Node::release_alter_table_cmd() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_cmd) + if (node_case() == kAlterTableCmd) { clear_has_node(); - auto* temp = _impl_.node_.collate_clause_; + auto* temp = _impl_.node_.alter_table_cmd_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.collate_clause_ = nullptr; + _impl_.node_.alter_table_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CollateClause& Node::_internal_collate_clause() const { - return node_case() == kCollateClause ? *_impl_.node_.collate_clause_ : reinterpret_cast<::pg_query::CollateClause&>(::pg_query::_CollateClause_default_instance_); +inline const ::pg_query::AlterTableCmd& Node::_internal_alter_table_cmd() const { + return node_case() == kAlterTableCmd ? *_impl_.node_.alter_table_cmd_ : reinterpret_cast<::pg_query::AlterTableCmd&>(::pg_query::_AlterTableCmd_default_instance_); } -inline const ::pg_query::CollateClause& Node::collate_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.collate_clause) - return _internal_collate_clause(); +inline const ::pg_query::AlterTableCmd& Node::alter_table_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_cmd) + return _internal_alter_table_cmd(); } -inline ::pg_query::CollateClause* Node::unsafe_arena_release_collate_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_clause) - if (node_case() == kCollateClause) { +inline ::pg_query::AlterTableCmd* Node::unsafe_arena_release_alter_table_cmd() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_cmd) + if (node_case() == kAlterTableCmd) { clear_has_node(); - auto* temp = _impl_.node_.collate_clause_; - _impl_.node_.collate_clause_ = nullptr; + auto* temp = _impl_.node_.alter_table_cmd_; + _impl_.node_.alter_table_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value) { +inline void Node::unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_collate_clause(); - _impl_.node_.collate_clause_ = value; + set_has_alter_table_cmd(); + _impl_.node_.alter_table_cmd_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_cmd) } -inline ::pg_query::CollateClause* Node::_internal_mutable_collate_clause() { - if (node_case() != kCollateClause) { +inline ::pg_query::AlterTableCmd* Node::_internal_mutable_alter_table_cmd() { + if (node_case() != kAlterTableCmd) { clear_node(); - set_has_collate_clause(); - _impl_.node_.collate_clause_ = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); + set_has_alter_table_cmd(); + _impl_.node_.alter_table_cmd_ = CreateMaybeMessage<::pg_query::AlterTableCmd>(GetArena()); } - return _impl_.node_.collate_clause_; + return _impl_.node_.alter_table_cmd_; } -inline ::pg_query::CollateClause* Node::mutable_collate_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CollateClause* _msg = _internal_mutable_collate_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_clause) +inline ::pg_query::AlterTableCmd* Node::mutable_alter_table_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableCmd* _msg = _internal_mutable_alter_table_cmd(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_cmd) return _msg; } -// .pg_query.RoleSpec role_spec = 63 [json_name = "RoleSpec"]; -inline bool Node::has_role_spec() const { - return node_case() == kRoleSpec; +// .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"]; +inline bool Node::has_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt; } -inline bool Node::_internal_has_role_spec() const { - return node_case() == kRoleSpec; +inline bool Node::_internal_has_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt; } -inline void Node::set_has_role_spec() { - _impl_._oneof_case_[0] = kRoleSpec; +inline void Node::set_has_alter_collation_stmt() { + _impl_._oneof_case_[0] = kAlterCollationStmt; } -inline void Node::clear_role_spec() { +inline void Node::clear_alter_collation_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRoleSpec) { + if (node_case() == kAlterCollationStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.role_spec_; + delete _impl_.node_.alter_collation_stmt_; } clear_has_node(); } } -inline ::pg_query::RoleSpec* Node::release_role_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.role_spec) - if (node_case() == kRoleSpec) { +inline ::pg_query::AlterCollationStmt* Node::release_alter_collation_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_collation_stmt) + if (node_case() == kAlterCollationStmt) { clear_has_node(); - auto* temp = _impl_.node_.role_spec_; + auto* temp = _impl_.node_.alter_collation_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.role_spec_ = nullptr; + _impl_.node_.alter_collation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RoleSpec& Node::_internal_role_spec() const { - return node_case() == kRoleSpec ? *_impl_.node_.role_spec_ : reinterpret_cast<::pg_query::RoleSpec&>(::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::AlterCollationStmt& Node::_internal_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt ? *_impl_.node_.alter_collation_stmt_ : reinterpret_cast<::pg_query::AlterCollationStmt&>(::pg_query::_AlterCollationStmt_default_instance_); } -inline const ::pg_query::RoleSpec& Node::role_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.role_spec) - return _internal_role_spec(); +inline const ::pg_query::AlterCollationStmt& Node::alter_collation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_collation_stmt) + return _internal_alter_collation_stmt(); } -inline ::pg_query::RoleSpec* Node::unsafe_arena_release_role_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.role_spec) - if (node_case() == kRoleSpec) { +inline ::pg_query::AlterCollationStmt* Node::unsafe_arena_release_alter_collation_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_collation_stmt) + if (node_case() == kAlterCollationStmt) { clear_has_node(); - auto* temp = _impl_.node_.role_spec_; - _impl_.node_.role_spec_ = nullptr; + auto* temp = _impl_.node_.alter_collation_stmt_; + _impl_.node_.alter_collation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value) { +inline void Node::unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_role_spec(); - _impl_.node_.role_spec_ = value; + set_has_alter_collation_stmt(); + _impl_.node_.alter_collation_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.role_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_collation_stmt) } -inline ::pg_query::RoleSpec* Node::_internal_mutable_role_spec() { - if (node_case() != kRoleSpec) { +inline ::pg_query::AlterCollationStmt* Node::_internal_mutable_alter_collation_stmt() { + if (node_case() != kAlterCollationStmt) { clear_node(); - set_has_role_spec(); - _impl_.node_.role_spec_ = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + set_has_alter_collation_stmt(); + _impl_.node_.alter_collation_stmt_ = CreateMaybeMessage<::pg_query::AlterCollationStmt>(GetArena()); } - return _impl_.node_.role_spec_; + return _impl_.node_.alter_collation_stmt_; } -inline ::pg_query::RoleSpec* Node::mutable_role_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RoleSpec* _msg = _internal_mutable_role_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.role_spec) +inline ::pg_query::AlterCollationStmt* Node::mutable_alter_collation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterCollationStmt* _msg = _internal_mutable_alter_collation_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_collation_stmt) return _msg; } -// .pg_query.FuncCall func_call = 64 [json_name = "FuncCall"]; -inline bool Node::has_func_call() const { - return node_case() == kFuncCall; +// .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"]; +inline bool Node::has_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt; } -inline bool Node::_internal_has_func_call() const { - return node_case() == kFuncCall; +inline bool Node::_internal_has_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt; } -inline void Node::set_has_func_call() { - _impl_._oneof_case_[0] = kFuncCall; +inline void Node::set_has_alter_domain_stmt() { + _impl_._oneof_case_[0] = kAlterDomainStmt; } -inline void Node::clear_func_call() { +inline void Node::clear_alter_domain_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFuncCall) { + if (node_case() == kAlterDomainStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.func_call_; + delete _impl_.node_.alter_domain_stmt_; } clear_has_node(); } } -inline ::pg_query::FuncCall* Node::release_func_call() { - // @@protoc_insertion_point(field_release:pg_query.Node.func_call) - if (node_case() == kFuncCall) { +inline ::pg_query::AlterDomainStmt* Node::release_alter_domain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_domain_stmt) + if (node_case() == kAlterDomainStmt) { clear_has_node(); - auto* temp = _impl_.node_.func_call_; + auto* temp = _impl_.node_.alter_domain_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.func_call_ = nullptr; + _impl_.node_.alter_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FuncCall& Node::_internal_func_call() const { - return node_case() == kFuncCall ? *_impl_.node_.func_call_ : reinterpret_cast<::pg_query::FuncCall&>(::pg_query::_FuncCall_default_instance_); +inline const ::pg_query::AlterDomainStmt& Node::_internal_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt ? *_impl_.node_.alter_domain_stmt_ : reinterpret_cast<::pg_query::AlterDomainStmt&>(::pg_query::_AlterDomainStmt_default_instance_); } -inline const ::pg_query::FuncCall& Node::func_call() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.func_call) - return _internal_func_call(); +inline const ::pg_query::AlterDomainStmt& Node::alter_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_domain_stmt) + return _internal_alter_domain_stmt(); } -inline ::pg_query::FuncCall* Node::unsafe_arena_release_func_call() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_call) - if (node_case() == kFuncCall) { +inline ::pg_query::AlterDomainStmt* Node::unsafe_arena_release_alter_domain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_domain_stmt) + if (node_case() == kAlterDomainStmt) { clear_has_node(); - auto* temp = _impl_.node_.func_call_; - _impl_.node_.func_call_ = nullptr; + auto* temp = _impl_.node_.alter_domain_stmt_; + _impl_.node_.alter_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value) { +inline void Node::unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_func_call(); - _impl_.node_.func_call_ = value; + set_has_alter_domain_stmt(); + _impl_.node_.alter_domain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_call) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_domain_stmt) } -inline ::pg_query::FuncCall* Node::_internal_mutable_func_call() { - if (node_case() != kFuncCall) { +inline ::pg_query::AlterDomainStmt* Node::_internal_mutable_alter_domain_stmt() { + if (node_case() != kAlterDomainStmt) { clear_node(); - set_has_func_call(); - _impl_.node_.func_call_ = CreateMaybeMessage<::pg_query::FuncCall>(GetArena()); + set_has_alter_domain_stmt(); + _impl_.node_.alter_domain_stmt_ = CreateMaybeMessage<::pg_query::AlterDomainStmt>(GetArena()); } - return _impl_.node_.func_call_; + return _impl_.node_.alter_domain_stmt_; } -inline ::pg_query::FuncCall* Node::mutable_func_call() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FuncCall* _msg = _internal_mutable_func_call(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.func_call) +inline ::pg_query::AlterDomainStmt* Node::mutable_alter_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDomainStmt* _msg = _internal_mutable_alter_domain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_domain_stmt) return _msg; } -// .pg_query.A_Star a_star = 65 [json_name = "A_Star"]; -inline bool Node::has_a_star() const { - return node_case() == kAStar; +// .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"]; +inline bool Node::has_grant_stmt() const { + return node_case() == kGrantStmt; } -inline bool Node::_internal_has_a_star() const { - return node_case() == kAStar; +inline bool Node::_internal_has_grant_stmt() const { + return node_case() == kGrantStmt; } -inline void Node::set_has_a_star() { - _impl_._oneof_case_[0] = kAStar; +inline void Node::set_has_grant_stmt() { + _impl_._oneof_case_[0] = kGrantStmt; } -inline void Node::clear_a_star() { +inline void Node::clear_grant_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAStar) { + if (node_case() == kGrantStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.a_star_; + delete _impl_.node_.grant_stmt_; } clear_has_node(); } } -inline ::pg_query::A_Star* Node::release_a_star() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_star) - if (node_case() == kAStar) { +inline ::pg_query::GrantStmt* Node::release_grant_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.grant_stmt) + if (node_case() == kGrantStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_star_; + auto* temp = _impl_.node_.grant_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_star_ = nullptr; + _impl_.node_.grant_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Star& Node::_internal_a_star() const { - return node_case() == kAStar ? *_impl_.node_.a_star_ : reinterpret_cast<::pg_query::A_Star&>(::pg_query::_A_Star_default_instance_); +inline const ::pg_query::GrantStmt& Node::_internal_grant_stmt() const { + return node_case() == kGrantStmt ? *_impl_.node_.grant_stmt_ : reinterpret_cast<::pg_query::GrantStmt&>(::pg_query::_GrantStmt_default_instance_); } -inline const ::pg_query::A_Star& Node::a_star() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_star) - return _internal_a_star(); +inline const ::pg_query::GrantStmt& Node::grant_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grant_stmt) + return _internal_grant_stmt(); } -inline ::pg_query::A_Star* Node::unsafe_arena_release_a_star() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_star) - if (node_case() == kAStar) { +inline ::pg_query::GrantStmt* Node::unsafe_arena_release_grant_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_stmt) + if (node_case() == kGrantStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_star_; - _impl_.node_.a_star_ = nullptr; + auto* temp = _impl_.node_.grant_stmt_; + _impl_.node_.grant_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value) { +inline void Node::unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_a_star(); - _impl_.node_.a_star_ = value; + set_has_grant_stmt(); + _impl_.node_.grant_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_star) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_stmt) } -inline ::pg_query::A_Star* Node::_internal_mutable_a_star() { - if (node_case() != kAStar) { +inline ::pg_query::GrantStmt* Node::_internal_mutable_grant_stmt() { + if (node_case() != kGrantStmt) { clear_node(); - set_has_a_star(); - _impl_.node_.a_star_ = CreateMaybeMessage<::pg_query::A_Star>(GetArena()); + set_has_grant_stmt(); + _impl_.node_.grant_stmt_ = CreateMaybeMessage<::pg_query::GrantStmt>(GetArena()); } - return _impl_.node_.a_star_; + return _impl_.node_.grant_stmt_; } -inline ::pg_query::A_Star* Node::mutable_a_star() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_Star* _msg = _internal_mutable_a_star(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_star) +inline ::pg_query::GrantStmt* Node::mutable_grant_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GrantStmt* _msg = _internal_mutable_grant_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_stmt) return _msg; } -// .pg_query.A_Indices a_indices = 66 [json_name = "A_Indices"]; -inline bool Node::has_a_indices() const { - return node_case() == kAIndices; +// .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"]; +inline bool Node::has_object_with_args() const { + return node_case() == kObjectWithArgs; } -inline bool Node::_internal_has_a_indices() const { - return node_case() == kAIndices; +inline bool Node::_internal_has_object_with_args() const { + return node_case() == kObjectWithArgs; } -inline void Node::set_has_a_indices() { - _impl_._oneof_case_[0] = kAIndices; +inline void Node::set_has_object_with_args() { + _impl_._oneof_case_[0] = kObjectWithArgs; } -inline void Node::clear_a_indices() { +inline void Node::clear_object_with_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAIndices) { + if (node_case() == kObjectWithArgs) { if (GetArena() == nullptr) { - delete _impl_.node_.a_indices_; + delete _impl_.node_.object_with_args_; } clear_has_node(); } } -inline ::pg_query::A_Indices* Node::release_a_indices() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_indices) - if (node_case() == kAIndices) { +inline ::pg_query::ObjectWithArgs* Node::release_object_with_args() { + // @@protoc_insertion_point(field_release:pg_query.Node.object_with_args) + if (node_case() == kObjectWithArgs) { clear_has_node(); - auto* temp = _impl_.node_.a_indices_; + auto* temp = _impl_.node_.object_with_args_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_indices_ = nullptr; + _impl_.node_.object_with_args_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Indices& Node::_internal_a_indices() const { - return node_case() == kAIndices ? *_impl_.node_.a_indices_ : reinterpret_cast<::pg_query::A_Indices&>(::pg_query::_A_Indices_default_instance_); +inline const ::pg_query::ObjectWithArgs& Node::_internal_object_with_args() const { + return node_case() == kObjectWithArgs ? *_impl_.node_.object_with_args_ : reinterpret_cast<::pg_query::ObjectWithArgs&>(::pg_query::_ObjectWithArgs_default_instance_); } -inline const ::pg_query::A_Indices& Node::a_indices() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_indices) - return _internal_a_indices(); +inline const ::pg_query::ObjectWithArgs& Node::object_with_args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.object_with_args) + return _internal_object_with_args(); } -inline ::pg_query::A_Indices* Node::unsafe_arena_release_a_indices() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indices) - if (node_case() == kAIndices) { +inline ::pg_query::ObjectWithArgs* Node::unsafe_arena_release_object_with_args() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.object_with_args) + if (node_case() == kObjectWithArgs) { clear_has_node(); - auto* temp = _impl_.node_.a_indices_; - _impl_.node_.a_indices_ = nullptr; + auto* temp = _impl_.node_.object_with_args_; + _impl_.node_.object_with_args_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value) { +inline void Node::unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_a_indices(); - _impl_.node_.a_indices_ = value; + set_has_object_with_args(); + _impl_.node_.object_with_args_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indices) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.object_with_args) } -inline ::pg_query::A_Indices* Node::_internal_mutable_a_indices() { - if (node_case() != kAIndices) { +inline ::pg_query::ObjectWithArgs* Node::_internal_mutable_object_with_args() { + if (node_case() != kObjectWithArgs) { clear_node(); - set_has_a_indices(); - _impl_.node_.a_indices_ = CreateMaybeMessage<::pg_query::A_Indices>(GetArena()); + set_has_object_with_args(); + _impl_.node_.object_with_args_ = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); } - return _impl_.node_.a_indices_; + return _impl_.node_.object_with_args_; } -inline ::pg_query::A_Indices* Node::mutable_a_indices() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_Indices* _msg = _internal_mutable_a_indices(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indices) +inline ::pg_query::ObjectWithArgs* Node::mutable_object_with_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_object_with_args(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.object_with_args) return _msg; } -// .pg_query.A_Indirection a_indirection = 67 [json_name = "A_Indirection"]; -inline bool Node::has_a_indirection() const { - return node_case() == kAIndirection; +// .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"]; +inline bool Node::has_access_priv() const { + return node_case() == kAccessPriv; } -inline bool Node::_internal_has_a_indirection() const { - return node_case() == kAIndirection; +inline bool Node::_internal_has_access_priv() const { + return node_case() == kAccessPriv; } -inline void Node::set_has_a_indirection() { - _impl_._oneof_case_[0] = kAIndirection; +inline void Node::set_has_access_priv() { + _impl_._oneof_case_[0] = kAccessPriv; } -inline void Node::clear_a_indirection() { +inline void Node::clear_access_priv() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAIndirection) { + if (node_case() == kAccessPriv) { if (GetArena() == nullptr) { - delete _impl_.node_.a_indirection_; + delete _impl_.node_.access_priv_; } clear_has_node(); } } -inline ::pg_query::A_Indirection* Node::release_a_indirection() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_indirection) - if (node_case() == kAIndirection) { +inline ::pg_query::AccessPriv* Node::release_access_priv() { + // @@protoc_insertion_point(field_release:pg_query.Node.access_priv) + if (node_case() == kAccessPriv) { clear_has_node(); - auto* temp = _impl_.node_.a_indirection_; + auto* temp = _impl_.node_.access_priv_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_indirection_ = nullptr; + _impl_.node_.access_priv_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Indirection& Node::_internal_a_indirection() const { - return node_case() == kAIndirection ? *_impl_.node_.a_indirection_ : reinterpret_cast<::pg_query::A_Indirection&>(::pg_query::_A_Indirection_default_instance_); +inline const ::pg_query::AccessPriv& Node::_internal_access_priv() const { + return node_case() == kAccessPriv ? *_impl_.node_.access_priv_ : reinterpret_cast<::pg_query::AccessPriv&>(::pg_query::_AccessPriv_default_instance_); } -inline const ::pg_query::A_Indirection& Node::a_indirection() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_indirection) - return _internal_a_indirection(); +inline const ::pg_query::AccessPriv& Node::access_priv() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.access_priv) + return _internal_access_priv(); } -inline ::pg_query::A_Indirection* Node::unsafe_arena_release_a_indirection() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indirection) - if (node_case() == kAIndirection) { +inline ::pg_query::AccessPriv* Node::unsafe_arena_release_access_priv() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.access_priv) + if (node_case() == kAccessPriv) { clear_has_node(); - auto* temp = _impl_.node_.a_indirection_; - _impl_.node_.a_indirection_ = nullptr; + auto* temp = _impl_.node_.access_priv_; + _impl_.node_.access_priv_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value) { +inline void Node::unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_a_indirection(); - _impl_.node_.a_indirection_ = value; + set_has_access_priv(); + _impl_.node_.access_priv_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indirection) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.access_priv) } -inline ::pg_query::A_Indirection* Node::_internal_mutable_a_indirection() { - if (node_case() != kAIndirection) { +inline ::pg_query::AccessPriv* Node::_internal_mutable_access_priv() { + if (node_case() != kAccessPriv) { clear_node(); - set_has_a_indirection(); - _impl_.node_.a_indirection_ = CreateMaybeMessage<::pg_query::A_Indirection>(GetArena()); + set_has_access_priv(); + _impl_.node_.access_priv_ = CreateMaybeMessage<::pg_query::AccessPriv>(GetArena()); } - return _impl_.node_.a_indirection_; + return _impl_.node_.access_priv_; } -inline ::pg_query::A_Indirection* Node::mutable_a_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_Indirection* _msg = _internal_mutable_a_indirection(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indirection) +inline ::pg_query::AccessPriv* Node::mutable_access_priv() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AccessPriv* _msg = _internal_mutable_access_priv(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.access_priv) return _msg; } -// .pg_query.A_ArrayExpr a_array_expr = 68 [json_name = "A_ArrayExpr"]; -inline bool Node::has_a_array_expr() const { - return node_case() == kAArrayExpr; +// .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"]; +inline bool Node::has_grant_role_stmt() const { + return node_case() == kGrantRoleStmt; } -inline bool Node::_internal_has_a_array_expr() const { - return node_case() == kAArrayExpr; +inline bool Node::_internal_has_grant_role_stmt() const { + return node_case() == kGrantRoleStmt; } -inline void Node::set_has_a_array_expr() { - _impl_._oneof_case_[0] = kAArrayExpr; +inline void Node::set_has_grant_role_stmt() { + _impl_._oneof_case_[0] = kGrantRoleStmt; } -inline void Node::clear_a_array_expr() { +inline void Node::clear_grant_role_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAArrayExpr) { + if (node_case() == kGrantRoleStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.a_array_expr_; + delete _impl_.node_.grant_role_stmt_; } clear_has_node(); } } -inline ::pg_query::A_ArrayExpr* Node::release_a_array_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_array_expr) - if (node_case() == kAArrayExpr) { +inline ::pg_query::GrantRoleStmt* Node::release_grant_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.grant_role_stmt) + if (node_case() == kGrantRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_array_expr_; + auto* temp = _impl_.node_.grant_role_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_array_expr_ = nullptr; + _impl_.node_.grant_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_ArrayExpr& Node::_internal_a_array_expr() const { - return node_case() == kAArrayExpr ? *_impl_.node_.a_array_expr_ : reinterpret_cast<::pg_query::A_ArrayExpr&>(::pg_query::_A_ArrayExpr_default_instance_); +inline const ::pg_query::GrantRoleStmt& Node::_internal_grant_role_stmt() const { + return node_case() == kGrantRoleStmt ? *_impl_.node_.grant_role_stmt_ : reinterpret_cast<::pg_query::GrantRoleStmt&>(::pg_query::_GrantRoleStmt_default_instance_); } -inline const ::pg_query::A_ArrayExpr& Node::a_array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_array_expr) - return _internal_a_array_expr(); +inline const ::pg_query::GrantRoleStmt& Node::grant_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grant_role_stmt) + return _internal_grant_role_stmt(); } -inline ::pg_query::A_ArrayExpr* Node::unsafe_arena_release_a_array_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_array_expr) - if (node_case() == kAArrayExpr) { +inline ::pg_query::GrantRoleStmt* Node::unsafe_arena_release_grant_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_role_stmt) + if (node_case() == kGrantRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.a_array_expr_; - _impl_.node_.a_array_expr_ = nullptr; + auto* temp = _impl_.node_.grant_role_stmt_; + _impl_.node_.grant_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value) { +inline void Node::unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_a_array_expr(); - _impl_.node_.a_array_expr_ = value; + set_has_grant_role_stmt(); + _impl_.node_.grant_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_array_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_role_stmt) } -inline ::pg_query::A_ArrayExpr* Node::_internal_mutable_a_array_expr() { - if (node_case() != kAArrayExpr) { +inline ::pg_query::GrantRoleStmt* Node::_internal_mutable_grant_role_stmt() { + if (node_case() != kGrantRoleStmt) { clear_node(); - set_has_a_array_expr(); - _impl_.node_.a_array_expr_ = CreateMaybeMessage<::pg_query::A_ArrayExpr>(GetArena()); + set_has_grant_role_stmt(); + _impl_.node_.grant_role_stmt_ = CreateMaybeMessage<::pg_query::GrantRoleStmt>(GetArena()); } - return _impl_.node_.a_array_expr_; + return _impl_.node_.grant_role_stmt_; } -inline ::pg_query::A_ArrayExpr* Node::mutable_a_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_ArrayExpr* _msg = _internal_mutable_a_array_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_array_expr) +inline ::pg_query::GrantRoleStmt* Node::mutable_grant_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GrantRoleStmt* _msg = _internal_mutable_grant_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_role_stmt) return _msg; } -// .pg_query.ResTarget res_target = 69 [json_name = "ResTarget"]; -inline bool Node::has_res_target() const { - return node_case() == kResTarget; +// .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"]; +inline bool Node::has_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt; } -inline bool Node::_internal_has_res_target() const { - return node_case() == kResTarget; +inline bool Node::_internal_has_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt; } -inline void Node::set_has_res_target() { - _impl_._oneof_case_[0] = kResTarget; +inline void Node::set_has_alter_default_privileges_stmt() { + _impl_._oneof_case_[0] = kAlterDefaultPrivilegesStmt; } -inline void Node::clear_res_target() { +inline void Node::clear_alter_default_privileges_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kResTarget) { + if (node_case() == kAlterDefaultPrivilegesStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.res_target_; + delete _impl_.node_.alter_default_privileges_stmt_; } clear_has_node(); } } -inline ::pg_query::ResTarget* Node::release_res_target() { - // @@protoc_insertion_point(field_release:pg_query.Node.res_target) - if (node_case() == kResTarget) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::release_alter_default_privileges_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_default_privileges_stmt) + if (node_case() == kAlterDefaultPrivilegesStmt) { clear_has_node(); - auto* temp = _impl_.node_.res_target_; + auto* temp = _impl_.node_.alter_default_privileges_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.res_target_ = nullptr; + _impl_.node_.alter_default_privileges_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ResTarget& Node::_internal_res_target() const { - return node_case() == kResTarget ? *_impl_.node_.res_target_ : reinterpret_cast<::pg_query::ResTarget&>(::pg_query::_ResTarget_default_instance_); +inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::_internal_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt ? *_impl_.node_.alter_default_privileges_stmt_ : reinterpret_cast<::pg_query::AlterDefaultPrivilegesStmt&>(::pg_query::_AlterDefaultPrivilegesStmt_default_instance_); } -inline const ::pg_query::ResTarget& Node::res_target() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.res_target) - return _internal_res_target(); +inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::alter_default_privileges_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_default_privileges_stmt) + return _internal_alter_default_privileges_stmt(); } -inline ::pg_query::ResTarget* Node::unsafe_arena_release_res_target() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.res_target) - if (node_case() == kResTarget) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::unsafe_arena_release_alter_default_privileges_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_default_privileges_stmt) + if (node_case() == kAlterDefaultPrivilegesStmt) { clear_has_node(); - auto* temp = _impl_.node_.res_target_; - _impl_.node_.res_target_ = nullptr; + auto* temp = _impl_.node_.alter_default_privileges_stmt_; + _impl_.node_.alter_default_privileges_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value) { +inline void Node::unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_res_target(); - _impl_.node_.res_target_ = value; + set_has_alter_default_privileges_stmt(); + _impl_.node_.alter_default_privileges_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.res_target) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_default_privileges_stmt) } -inline ::pg_query::ResTarget* Node::_internal_mutable_res_target() { - if (node_case() != kResTarget) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::_internal_mutable_alter_default_privileges_stmt() { + if (node_case() != kAlterDefaultPrivilegesStmt) { clear_node(); - set_has_res_target(); - _impl_.node_.res_target_ = CreateMaybeMessage<::pg_query::ResTarget>(GetArena()); + set_has_alter_default_privileges_stmt(); + _impl_.node_.alter_default_privileges_stmt_ = CreateMaybeMessage<::pg_query::AlterDefaultPrivilegesStmt>(GetArena()); } - return _impl_.node_.res_target_; + return _impl_.node_.alter_default_privileges_stmt_; } -inline ::pg_query::ResTarget* Node::mutable_res_target() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ResTarget* _msg = _internal_mutable_res_target(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.res_target) +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::mutable_alter_default_privileges_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDefaultPrivilegesStmt* _msg = _internal_mutable_alter_default_privileges_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_default_privileges_stmt) return _msg; } -// .pg_query.MultiAssignRef multi_assign_ref = 70 [json_name = "MultiAssignRef"]; -inline bool Node::has_multi_assign_ref() const { - return node_case() == kMultiAssignRef; +// .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"]; +inline bool Node::has_copy_stmt() const { + return node_case() == kCopyStmt; } -inline bool Node::_internal_has_multi_assign_ref() const { - return node_case() == kMultiAssignRef; +inline bool Node::_internal_has_copy_stmt() const { + return node_case() == kCopyStmt; } -inline void Node::set_has_multi_assign_ref() { - _impl_._oneof_case_[0] = kMultiAssignRef; +inline void Node::set_has_copy_stmt() { + _impl_._oneof_case_[0] = kCopyStmt; } -inline void Node::clear_multi_assign_ref() { +inline void Node::clear_copy_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kMultiAssignRef) { + if (node_case() == kCopyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.multi_assign_ref_; + delete _impl_.node_.copy_stmt_; } clear_has_node(); } } -inline ::pg_query::MultiAssignRef* Node::release_multi_assign_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.multi_assign_ref) - if (node_case() == kMultiAssignRef) { +inline ::pg_query::CopyStmt* Node::release_copy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.copy_stmt) + if (node_case() == kCopyStmt) { clear_has_node(); - auto* temp = _impl_.node_.multi_assign_ref_; + auto* temp = _impl_.node_.copy_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.multi_assign_ref_ = nullptr; + _impl_.node_.copy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MultiAssignRef& Node::_internal_multi_assign_ref() const { - return node_case() == kMultiAssignRef ? *_impl_.node_.multi_assign_ref_ : reinterpret_cast<::pg_query::MultiAssignRef&>(::pg_query::_MultiAssignRef_default_instance_); +inline const ::pg_query::CopyStmt& Node::_internal_copy_stmt() const { + return node_case() == kCopyStmt ? *_impl_.node_.copy_stmt_ : reinterpret_cast<::pg_query::CopyStmt&>(::pg_query::_CopyStmt_default_instance_); } -inline const ::pg_query::MultiAssignRef& Node::multi_assign_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.multi_assign_ref) - return _internal_multi_assign_ref(); +inline const ::pg_query::CopyStmt& Node::copy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.copy_stmt) + return _internal_copy_stmt(); } -inline ::pg_query::MultiAssignRef* Node::unsafe_arena_release_multi_assign_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.multi_assign_ref) - if (node_case() == kMultiAssignRef) { +inline ::pg_query::CopyStmt* Node::unsafe_arena_release_copy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.copy_stmt) + if (node_case() == kCopyStmt) { clear_has_node(); - auto* temp = _impl_.node_.multi_assign_ref_; - _impl_.node_.multi_assign_ref_ = nullptr; + auto* temp = _impl_.node_.copy_stmt_; + _impl_.node_.copy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value) { +inline void Node::unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_multi_assign_ref(); - _impl_.node_.multi_assign_ref_ = value; + set_has_copy_stmt(); + _impl_.node_.copy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.multi_assign_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.copy_stmt) } -inline ::pg_query::MultiAssignRef* Node::_internal_mutable_multi_assign_ref() { - if (node_case() != kMultiAssignRef) { +inline ::pg_query::CopyStmt* Node::_internal_mutable_copy_stmt() { + if (node_case() != kCopyStmt) { clear_node(); - set_has_multi_assign_ref(); - _impl_.node_.multi_assign_ref_ = CreateMaybeMessage<::pg_query::MultiAssignRef>(GetArena()); + set_has_copy_stmt(); + _impl_.node_.copy_stmt_ = CreateMaybeMessage<::pg_query::CopyStmt>(GetArena()); } - return _impl_.node_.multi_assign_ref_; + return _impl_.node_.copy_stmt_; } -inline ::pg_query::MultiAssignRef* Node::mutable_multi_assign_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::MultiAssignRef* _msg = _internal_mutable_multi_assign_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.multi_assign_ref) +inline ::pg_query::CopyStmt* Node::mutable_copy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CopyStmt* _msg = _internal_mutable_copy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.copy_stmt) return _msg; } -// .pg_query.SortBy sort_by = 71 [json_name = "SortBy"]; -inline bool Node::has_sort_by() const { - return node_case() == kSortBy; +// .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"]; +inline bool Node::has_variable_set_stmt() const { + return node_case() == kVariableSetStmt; } -inline bool Node::_internal_has_sort_by() const { - return node_case() == kSortBy; +inline bool Node::_internal_has_variable_set_stmt() const { + return node_case() == kVariableSetStmt; } -inline void Node::set_has_sort_by() { - _impl_._oneof_case_[0] = kSortBy; +inline void Node::set_has_variable_set_stmt() { + _impl_._oneof_case_[0] = kVariableSetStmt; } -inline void Node::clear_sort_by() { +inline void Node::clear_variable_set_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSortBy) { + if (node_case() == kVariableSetStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.sort_by_; + delete _impl_.node_.variable_set_stmt_; } clear_has_node(); } } -inline ::pg_query::SortBy* Node::release_sort_by() { - // @@protoc_insertion_point(field_release:pg_query.Node.sort_by) - if (node_case() == kSortBy) { +inline ::pg_query::VariableSetStmt* Node::release_variable_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.variable_set_stmt) + if (node_case() == kVariableSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.sort_by_; + auto* temp = _impl_.node_.variable_set_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sort_by_ = nullptr; + _impl_.node_.variable_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SortBy& Node::_internal_sort_by() const { - return node_case() == kSortBy ? *_impl_.node_.sort_by_ : reinterpret_cast<::pg_query::SortBy&>(::pg_query::_SortBy_default_instance_); +inline const ::pg_query::VariableSetStmt& Node::_internal_variable_set_stmt() const { + return node_case() == kVariableSetStmt ? *_impl_.node_.variable_set_stmt_ : reinterpret_cast<::pg_query::VariableSetStmt&>(::pg_query::_VariableSetStmt_default_instance_); } -inline const ::pg_query::SortBy& Node::sort_by() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sort_by) - return _internal_sort_by(); +inline const ::pg_query::VariableSetStmt& Node::variable_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.variable_set_stmt) + return _internal_variable_set_stmt(); } -inline ::pg_query::SortBy* Node::unsafe_arena_release_sort_by() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_by) - if (node_case() == kSortBy) { +inline ::pg_query::VariableSetStmt* Node::unsafe_arena_release_variable_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_set_stmt) + if (node_case() == kVariableSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.sort_by_; - _impl_.node_.sort_by_ = nullptr; + auto* temp = _impl_.node_.variable_set_stmt_; + _impl_.node_.variable_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value) { +inline void Node::unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sort_by(); - _impl_.node_.sort_by_ = value; + set_has_variable_set_stmt(); + _impl_.node_.variable_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_by) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_set_stmt) } -inline ::pg_query::SortBy* Node::_internal_mutable_sort_by() { - if (node_case() != kSortBy) { +inline ::pg_query::VariableSetStmt* Node::_internal_mutable_variable_set_stmt() { + if (node_case() != kVariableSetStmt) { clear_node(); - set_has_sort_by(); - _impl_.node_.sort_by_ = CreateMaybeMessage<::pg_query::SortBy>(GetArena()); + set_has_variable_set_stmt(); + _impl_.node_.variable_set_stmt_ = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); } - return _impl_.node_.sort_by_; + return _impl_.node_.variable_set_stmt_; } -inline ::pg_query::SortBy* Node::mutable_sort_by() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SortBy* _msg = _internal_mutable_sort_by(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_by) +inline ::pg_query::VariableSetStmt* Node::mutable_variable_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableSetStmt* _msg = _internal_mutable_variable_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_set_stmt) return _msg; } -// .pg_query.WindowDef window_def = 72 [json_name = "WindowDef"]; -inline bool Node::has_window_def() const { - return node_case() == kWindowDef; +// .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"]; +inline bool Node::has_variable_show_stmt() const { + return node_case() == kVariableShowStmt; } -inline bool Node::_internal_has_window_def() const { - return node_case() == kWindowDef; +inline bool Node::_internal_has_variable_show_stmt() const { + return node_case() == kVariableShowStmt; } -inline void Node::set_has_window_def() { - _impl_._oneof_case_[0] = kWindowDef; +inline void Node::set_has_variable_show_stmt() { + _impl_._oneof_case_[0] = kVariableShowStmt; } -inline void Node::clear_window_def() { +inline void Node::clear_variable_show_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kWindowDef) { + if (node_case() == kVariableShowStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.window_def_; + delete _impl_.node_.variable_show_stmt_; } clear_has_node(); } } -inline ::pg_query::WindowDef* Node::release_window_def() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_def) - if (node_case() == kWindowDef) { +inline ::pg_query::VariableShowStmt* Node::release_variable_show_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.variable_show_stmt) + if (node_case() == kVariableShowStmt) { clear_has_node(); - auto* temp = _impl_.node_.window_def_; + auto* temp = _impl_.node_.variable_show_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_def_ = nullptr; + _impl_.node_.variable_show_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowDef& Node::_internal_window_def() const { - return node_case() == kWindowDef ? *_impl_.node_.window_def_ : reinterpret_cast<::pg_query::WindowDef&>(::pg_query::_WindowDef_default_instance_); +inline const ::pg_query::VariableShowStmt& Node::_internal_variable_show_stmt() const { + return node_case() == kVariableShowStmt ? *_impl_.node_.variable_show_stmt_ : reinterpret_cast<::pg_query::VariableShowStmt&>(::pg_query::_VariableShowStmt_default_instance_); } -inline const ::pg_query::WindowDef& Node::window_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.window_def) - return _internal_window_def(); +inline const ::pg_query::VariableShowStmt& Node::variable_show_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.variable_show_stmt) + return _internal_variable_show_stmt(); } -inline ::pg_query::WindowDef* Node::unsafe_arena_release_window_def() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_def) - if (node_case() == kWindowDef) { +inline ::pg_query::VariableShowStmt* Node::unsafe_arena_release_variable_show_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_show_stmt) + if (node_case() == kVariableShowStmt) { clear_has_node(); - auto* temp = _impl_.node_.window_def_; - _impl_.node_.window_def_ = nullptr; + auto* temp = _impl_.node_.variable_show_stmt_; + _impl_.node_.variable_show_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value) { +inline void Node::unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_window_def(); - _impl_.node_.window_def_ = value; + set_has_variable_show_stmt(); + _impl_.node_.variable_show_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_def) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_show_stmt) } -inline ::pg_query::WindowDef* Node::_internal_mutable_window_def() { - if (node_case() != kWindowDef) { +inline ::pg_query::VariableShowStmt* Node::_internal_mutable_variable_show_stmt() { + if (node_case() != kVariableShowStmt) { clear_node(); - set_has_window_def(); - _impl_.node_.window_def_ = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); + set_has_variable_show_stmt(); + _impl_.node_.variable_show_stmt_ = CreateMaybeMessage<::pg_query::VariableShowStmt>(GetArena()); } - return _impl_.node_.window_def_; + return _impl_.node_.variable_show_stmt_; } -inline ::pg_query::WindowDef* Node::mutable_window_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WindowDef* _msg = _internal_mutable_window_def(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_def) +inline ::pg_query::VariableShowStmt* Node::mutable_variable_show_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableShowStmt* _msg = _internal_mutable_variable_show_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_show_stmt) return _msg; } -// .pg_query.RangeSubselect range_subselect = 73 [json_name = "RangeSubselect"]; -inline bool Node::has_range_subselect() const { - return node_case() == kRangeSubselect; +// .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"]; +inline bool Node::has_create_stmt() const { + return node_case() == kCreateStmt; } -inline bool Node::_internal_has_range_subselect() const { - return node_case() == kRangeSubselect; +inline bool Node::_internal_has_create_stmt() const { + return node_case() == kCreateStmt; } -inline void Node::set_has_range_subselect() { - _impl_._oneof_case_[0] = kRangeSubselect; +inline void Node::set_has_create_stmt() { + _impl_._oneof_case_[0] = kCreateStmt; } -inline void Node::clear_range_subselect() { +inline void Node::clear_create_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeSubselect) { + if (node_case() == kCreateStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_subselect_; + delete _impl_.node_.create_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeSubselect* Node::release_range_subselect() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_subselect) - if (node_case() == kRangeSubselect) { +inline ::pg_query::CreateStmt* Node::release_create_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_stmt) + if (node_case() == kCreateStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_subselect_; + auto* temp = _impl_.node_.create_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_subselect_ = nullptr; + _impl_.node_.create_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeSubselect& Node::_internal_range_subselect() const { - return node_case() == kRangeSubselect ? *_impl_.node_.range_subselect_ : reinterpret_cast<::pg_query::RangeSubselect&>(::pg_query::_RangeSubselect_default_instance_); +inline const ::pg_query::CreateStmt& Node::_internal_create_stmt() const { + return node_case() == kCreateStmt ? *_impl_.node_.create_stmt_ : reinterpret_cast<::pg_query::CreateStmt&>(::pg_query::_CreateStmt_default_instance_); } -inline const ::pg_query::RangeSubselect& Node::range_subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_subselect) - return _internal_range_subselect(); +inline const ::pg_query::CreateStmt& Node::create_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_stmt) + return _internal_create_stmt(); } -inline ::pg_query::RangeSubselect* Node::unsafe_arena_release_range_subselect() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_subselect) - if (node_case() == kRangeSubselect) { +inline ::pg_query::CreateStmt* Node::unsafe_arena_release_create_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stmt) + if (node_case() == kCreateStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_subselect_; - _impl_.node_.range_subselect_ = nullptr; + auto* temp = _impl_.node_.create_stmt_; + _impl_.node_.create_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value) { +inline void Node::unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_subselect(); - _impl_.node_.range_subselect_ = value; + set_has_create_stmt(); + _impl_.node_.create_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_subselect) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stmt) } -inline ::pg_query::RangeSubselect* Node::_internal_mutable_range_subselect() { - if (node_case() != kRangeSubselect) { +inline ::pg_query::CreateStmt* Node::_internal_mutable_create_stmt() { + if (node_case() != kCreateStmt) { clear_node(); - set_has_range_subselect(); - _impl_.node_.range_subselect_ = CreateMaybeMessage<::pg_query::RangeSubselect>(GetArena()); + set_has_create_stmt(); + _impl_.node_.create_stmt_ = CreateMaybeMessage<::pg_query::CreateStmt>(GetArena()); } - return _impl_.node_.range_subselect_; + return _impl_.node_.create_stmt_; } -inline ::pg_query::RangeSubselect* Node::mutable_range_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeSubselect* _msg = _internal_mutable_range_subselect(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_subselect) +inline ::pg_query::CreateStmt* Node::mutable_create_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateStmt* _msg = _internal_mutable_create_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stmt) return _msg; } -// .pg_query.RangeFunction range_function = 74 [json_name = "RangeFunction"]; -inline bool Node::has_range_function() const { - return node_case() == kRangeFunction; +// .pg_query.Constraint constraint = 155 [json_name = "Constraint"]; +inline bool Node::has_constraint() const { + return node_case() == kConstraint; } -inline bool Node::_internal_has_range_function() const { - return node_case() == kRangeFunction; +inline bool Node::_internal_has_constraint() const { + return node_case() == kConstraint; } -inline void Node::set_has_range_function() { - _impl_._oneof_case_[0] = kRangeFunction; +inline void Node::set_has_constraint() { + _impl_._oneof_case_[0] = kConstraint; } -inline void Node::clear_range_function() { +inline void Node::clear_constraint() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeFunction) { + if (node_case() == kConstraint) { if (GetArena() == nullptr) { - delete _impl_.node_.range_function_; + delete _impl_.node_.constraint_; } clear_has_node(); } } -inline ::pg_query::RangeFunction* Node::release_range_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_function) - if (node_case() == kRangeFunction) { +inline ::pg_query::Constraint* Node::release_constraint() { + // @@protoc_insertion_point(field_release:pg_query.Node.constraint) + if (node_case() == kConstraint) { clear_has_node(); - auto* temp = _impl_.node_.range_function_; + auto* temp = _impl_.node_.constraint_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_function_ = nullptr; + _impl_.node_.constraint_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeFunction& Node::_internal_range_function() const { - return node_case() == kRangeFunction ? *_impl_.node_.range_function_ : reinterpret_cast<::pg_query::RangeFunction&>(::pg_query::_RangeFunction_default_instance_); +inline const ::pg_query::Constraint& Node::_internal_constraint() const { + return node_case() == kConstraint ? *_impl_.node_.constraint_ : reinterpret_cast<::pg_query::Constraint&>(::pg_query::_Constraint_default_instance_); } -inline const ::pg_query::RangeFunction& Node::range_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_function) - return _internal_range_function(); +inline const ::pg_query::Constraint& Node::constraint() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.constraint) + return _internal_constraint(); } -inline ::pg_query::RangeFunction* Node::unsafe_arena_release_range_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_function) - if (node_case() == kRangeFunction) { +inline ::pg_query::Constraint* Node::unsafe_arena_release_constraint() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraint) + if (node_case() == kConstraint) { clear_has_node(); - auto* temp = _impl_.node_.range_function_; - _impl_.node_.range_function_ = nullptr; + auto* temp = _impl_.node_.constraint_; + _impl_.node_.constraint_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value) { +inline void Node::unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_function(); - _impl_.node_.range_function_ = value; + set_has_constraint(); + _impl_.node_.constraint_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraint) } -inline ::pg_query::RangeFunction* Node::_internal_mutable_range_function() { - if (node_case() != kRangeFunction) { +inline ::pg_query::Constraint* Node::_internal_mutable_constraint() { + if (node_case() != kConstraint) { clear_node(); - set_has_range_function(); - _impl_.node_.range_function_ = CreateMaybeMessage<::pg_query::RangeFunction>(GetArena()); + set_has_constraint(); + _impl_.node_.constraint_ = CreateMaybeMessage<::pg_query::Constraint>(GetArena()); } - return _impl_.node_.range_function_; + return _impl_.node_.constraint_; } -inline ::pg_query::RangeFunction* Node::mutable_range_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeFunction* _msg = _internal_mutable_range_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_function) +inline ::pg_query::Constraint* Node::mutable_constraint() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Constraint* _msg = _internal_mutable_constraint(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.constraint) return _msg; } -// .pg_query.RangeTableFunc range_table_func = 75 [json_name = "RangeTableFunc"]; -inline bool Node::has_range_table_func() const { - return node_case() == kRangeTableFunc; +// .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"]; +inline bool Node::has_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt; } -inline bool Node::_internal_has_range_table_func() const { - return node_case() == kRangeTableFunc; +inline bool Node::_internal_has_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt; } -inline void Node::set_has_range_table_func() { - _impl_._oneof_case_[0] = kRangeTableFunc; +inline void Node::set_has_create_table_space_stmt() { + _impl_._oneof_case_[0] = kCreateTableSpaceStmt; } -inline void Node::clear_range_table_func() { +inline void Node::clear_create_table_space_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTableFunc) { + if (node_case() == kCreateTableSpaceStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_table_func_; + delete _impl_.node_.create_table_space_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableFunc* Node::release_range_table_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func) - if (node_case() == kRangeTableFunc) { +inline ::pg_query::CreateTableSpaceStmt* Node::release_create_table_space_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_table_space_stmt) + if (node_case() == kCreateTableSpaceStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_func_; + auto* temp = _impl_.node_.create_table_space_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_func_ = nullptr; + _impl_.node_.create_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableFunc& Node::_internal_range_table_func() const { - return node_case() == kRangeTableFunc ? *_impl_.node_.range_table_func_ : reinterpret_cast<::pg_query::RangeTableFunc&>(::pg_query::_RangeTableFunc_default_instance_); +inline const ::pg_query::CreateTableSpaceStmt& Node::_internal_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt ? *_impl_.node_.create_table_space_stmt_ : reinterpret_cast<::pg_query::CreateTableSpaceStmt&>(::pg_query::_CreateTableSpaceStmt_default_instance_); } -inline const ::pg_query::RangeTableFunc& Node::range_table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func) - return _internal_range_table_func(); +inline const ::pg_query::CreateTableSpaceStmt& Node::create_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_table_space_stmt) + return _internal_create_table_space_stmt(); } -inline ::pg_query::RangeTableFunc* Node::unsafe_arena_release_range_table_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func) - if (node_case() == kRangeTableFunc) { +inline ::pg_query::CreateTableSpaceStmt* Node::unsafe_arena_release_create_table_space_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_space_stmt) + if (node_case() == kCreateTableSpaceStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_func_; - _impl_.node_.range_table_func_ = nullptr; + auto* temp = _impl_.node_.create_table_space_stmt_; + _impl_.node_.create_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value) { +inline void Node::unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_table_func(); - _impl_.node_.range_table_func_ = value; + set_has_create_table_space_stmt(); + _impl_.node_.create_table_space_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_space_stmt) } -inline ::pg_query::RangeTableFunc* Node::_internal_mutable_range_table_func() { - if (node_case() != kRangeTableFunc) { +inline ::pg_query::CreateTableSpaceStmt* Node::_internal_mutable_create_table_space_stmt() { + if (node_case() != kCreateTableSpaceStmt) { clear_node(); - set_has_range_table_func(); - _impl_.node_.range_table_func_ = CreateMaybeMessage<::pg_query::RangeTableFunc>(GetArena()); + set_has_create_table_space_stmt(); + _impl_.node_.create_table_space_stmt_ = CreateMaybeMessage<::pg_query::CreateTableSpaceStmt>(GetArena()); } - return _impl_.node_.range_table_func_; + return _impl_.node_.create_table_space_stmt_; } -inline ::pg_query::RangeTableFunc* Node::mutable_range_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTableFunc* _msg = _internal_mutable_range_table_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func) +inline ::pg_query::CreateTableSpaceStmt* Node::mutable_create_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTableSpaceStmt* _msg = _internal_mutable_create_table_space_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_space_stmt) return _msg; } -// .pg_query.RangeTableFuncCol range_table_func_col = 76 [json_name = "RangeTableFuncCol"]; -inline bool Node::has_range_table_func_col() const { - return node_case() == kRangeTableFuncCol; +// .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"]; +inline bool Node::has_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt; } -inline bool Node::_internal_has_range_table_func_col() const { - return node_case() == kRangeTableFuncCol; +inline bool Node::_internal_has_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt; } -inline void Node::set_has_range_table_func_col() { - _impl_._oneof_case_[0] = kRangeTableFuncCol; +inline void Node::set_has_drop_table_space_stmt() { + _impl_._oneof_case_[0] = kDropTableSpaceStmt; } -inline void Node::clear_range_table_func_col() { +inline void Node::clear_drop_table_space_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTableFuncCol) { + if (node_case() == kDropTableSpaceStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_table_func_col_; + delete _impl_.node_.drop_table_space_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableFuncCol* Node::release_range_table_func_col() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func_col) - if (node_case() == kRangeTableFuncCol) { +inline ::pg_query::DropTableSpaceStmt* Node::release_drop_table_space_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_table_space_stmt) + if (node_case() == kDropTableSpaceStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_func_col_; + auto* temp = _impl_.node_.drop_table_space_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_func_col_ = nullptr; + _impl_.node_.drop_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableFuncCol& Node::_internal_range_table_func_col() const { - return node_case() == kRangeTableFuncCol ? *_impl_.node_.range_table_func_col_ : reinterpret_cast<::pg_query::RangeTableFuncCol&>(::pg_query::_RangeTableFuncCol_default_instance_); +inline const ::pg_query::DropTableSpaceStmt& Node::_internal_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt ? *_impl_.node_.drop_table_space_stmt_ : reinterpret_cast<::pg_query::DropTableSpaceStmt&>(::pg_query::_DropTableSpaceStmt_default_instance_); } -inline const ::pg_query::RangeTableFuncCol& Node::range_table_func_col() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func_col) - return _internal_range_table_func_col(); +inline const ::pg_query::DropTableSpaceStmt& Node::drop_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_table_space_stmt) + return _internal_drop_table_space_stmt(); } -inline ::pg_query::RangeTableFuncCol* Node::unsafe_arena_release_range_table_func_col() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func_col) - if (node_case() == kRangeTableFuncCol) { +inline ::pg_query::DropTableSpaceStmt* Node::unsafe_arena_release_drop_table_space_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_table_space_stmt) + if (node_case() == kDropTableSpaceStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_func_col_; - _impl_.node_.range_table_func_col_ = nullptr; + auto* temp = _impl_.node_.drop_table_space_stmt_; + _impl_.node_.drop_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value) { +inline void Node::unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_table_func_col(); - _impl_.node_.range_table_func_col_ = value; + set_has_drop_table_space_stmt(); + _impl_.node_.drop_table_space_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func_col) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_table_space_stmt) } -inline ::pg_query::RangeTableFuncCol* Node::_internal_mutable_range_table_func_col() { - if (node_case() != kRangeTableFuncCol) { +inline ::pg_query::DropTableSpaceStmt* Node::_internal_mutable_drop_table_space_stmt() { + if (node_case() != kDropTableSpaceStmt) { clear_node(); - set_has_range_table_func_col(); - _impl_.node_.range_table_func_col_ = CreateMaybeMessage<::pg_query::RangeTableFuncCol>(GetArena()); + set_has_drop_table_space_stmt(); + _impl_.node_.drop_table_space_stmt_ = CreateMaybeMessage<::pg_query::DropTableSpaceStmt>(GetArena()); } - return _impl_.node_.range_table_func_col_; + return _impl_.node_.drop_table_space_stmt_; } -inline ::pg_query::RangeTableFuncCol* Node::mutable_range_table_func_col() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTableFuncCol* _msg = _internal_mutable_range_table_func_col(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func_col) +inline ::pg_query::DropTableSpaceStmt* Node::mutable_drop_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropTableSpaceStmt* _msg = _internal_mutable_drop_table_space_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_table_space_stmt) return _msg; } -// .pg_query.RangeTableSample range_table_sample = 77 [json_name = "RangeTableSample"]; -inline bool Node::has_range_table_sample() const { - return node_case() == kRangeTableSample; +// .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"]; +inline bool Node::has_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt; } -inline bool Node::_internal_has_range_table_sample() const { - return node_case() == kRangeTableSample; +inline bool Node::_internal_has_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt; } -inline void Node::set_has_range_table_sample() { - _impl_._oneof_case_[0] = kRangeTableSample; +inline void Node::set_has_alter_table_space_options_stmt() { + _impl_._oneof_case_[0] = kAlterTableSpaceOptionsStmt; } -inline void Node::clear_range_table_sample() { +inline void Node::clear_alter_table_space_options_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTableSample) { + if (node_case() == kAlterTableSpaceOptionsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_table_sample_; + delete _impl_.node_.alter_table_space_options_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableSample* Node::release_range_table_sample() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_sample) - if (node_case() == kRangeTableSample) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::release_alter_table_space_options_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_space_options_stmt) + if (node_case() == kAlterTableSpaceOptionsStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_sample_; + auto* temp = _impl_.node_.alter_table_space_options_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_sample_ = nullptr; + _impl_.node_.alter_table_space_options_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableSample& Node::_internal_range_table_sample() const { - return node_case() == kRangeTableSample ? *_impl_.node_.range_table_sample_ : reinterpret_cast<::pg_query::RangeTableSample&>(::pg_query::_RangeTableSample_default_instance_); +inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::_internal_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt ? *_impl_.node_.alter_table_space_options_stmt_ : reinterpret_cast<::pg_query::AlterTableSpaceOptionsStmt&>(::pg_query::_AlterTableSpaceOptionsStmt_default_instance_); } -inline const ::pg_query::RangeTableSample& Node::range_table_sample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_sample) - return _internal_range_table_sample(); +inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::alter_table_space_options_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_space_options_stmt) + return _internal_alter_table_space_options_stmt(); } -inline ::pg_query::RangeTableSample* Node::unsafe_arena_release_range_table_sample() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_sample) - if (node_case() == kRangeTableSample) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::unsafe_arena_release_alter_table_space_options_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_space_options_stmt) + if (node_case() == kAlterTableSpaceOptionsStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_table_sample_; - _impl_.node_.range_table_sample_ = nullptr; + auto* temp = _impl_.node_.alter_table_space_options_stmt_; + _impl_.node_.alter_table_space_options_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value) { +inline void Node::unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_table_sample(); - _impl_.node_.range_table_sample_ = value; + set_has_alter_table_space_options_stmt(); + _impl_.node_.alter_table_space_options_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_sample) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_space_options_stmt) } -inline ::pg_query::RangeTableSample* Node::_internal_mutable_range_table_sample() { - if (node_case() != kRangeTableSample) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::_internal_mutable_alter_table_space_options_stmt() { + if (node_case() != kAlterTableSpaceOptionsStmt) { clear_node(); - set_has_range_table_sample(); - _impl_.node_.range_table_sample_ = CreateMaybeMessage<::pg_query::RangeTableSample>(GetArena()); + set_has_alter_table_space_options_stmt(); + _impl_.node_.alter_table_space_options_stmt_ = CreateMaybeMessage<::pg_query::AlterTableSpaceOptionsStmt>(GetArena()); } - return _impl_.node_.range_table_sample_; + return _impl_.node_.alter_table_space_options_stmt_; } -inline ::pg_query::RangeTableSample* Node::mutable_range_table_sample() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTableSample* _msg = _internal_mutable_range_table_sample(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_sample) +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::mutable_alter_table_space_options_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableSpaceOptionsStmt* _msg = _internal_mutable_alter_table_space_options_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_space_options_stmt) return _msg; } -// .pg_query.ColumnDef column_def = 78 [json_name = "ColumnDef"]; -inline bool Node::has_column_def() const { - return node_case() == kColumnDef; +// .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"]; +inline bool Node::has_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt; } -inline bool Node::_internal_has_column_def() const { - return node_case() == kColumnDef; +inline bool Node::_internal_has_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt; } -inline void Node::set_has_column_def() { - _impl_._oneof_case_[0] = kColumnDef; +inline void Node::set_has_alter_table_move_all_stmt() { + _impl_._oneof_case_[0] = kAlterTableMoveAllStmt; } -inline void Node::clear_column_def() { +inline void Node::clear_alter_table_move_all_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kColumnDef) { + if (node_case() == kAlterTableMoveAllStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.column_def_; + delete _impl_.node_.alter_table_move_all_stmt_; } clear_has_node(); } } -inline ::pg_query::ColumnDef* Node::release_column_def() { - // @@protoc_insertion_point(field_release:pg_query.Node.column_def) - if (node_case() == kColumnDef) { +inline ::pg_query::AlterTableMoveAllStmt* Node::release_alter_table_move_all_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_move_all_stmt) + if (node_case() == kAlterTableMoveAllStmt) { clear_has_node(); - auto* temp = _impl_.node_.column_def_; + auto* temp = _impl_.node_.alter_table_move_all_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.column_def_ = nullptr; + _impl_.node_.alter_table_move_all_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ColumnDef& Node::_internal_column_def() const { - return node_case() == kColumnDef ? *_impl_.node_.column_def_ : reinterpret_cast<::pg_query::ColumnDef&>(::pg_query::_ColumnDef_default_instance_); +inline const ::pg_query::AlterTableMoveAllStmt& Node::_internal_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt ? *_impl_.node_.alter_table_move_all_stmt_ : reinterpret_cast<::pg_query::AlterTableMoveAllStmt&>(::pg_query::_AlterTableMoveAllStmt_default_instance_); } -inline const ::pg_query::ColumnDef& Node::column_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.column_def) - return _internal_column_def(); +inline const ::pg_query::AlterTableMoveAllStmt& Node::alter_table_move_all_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_move_all_stmt) + return _internal_alter_table_move_all_stmt(); } -inline ::pg_query::ColumnDef* Node::unsafe_arena_release_column_def() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_def) - if (node_case() == kColumnDef) { +inline ::pg_query::AlterTableMoveAllStmt* Node::unsafe_arena_release_alter_table_move_all_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_move_all_stmt) + if (node_case() == kAlterTableMoveAllStmt) { clear_has_node(); - auto* temp = _impl_.node_.column_def_; - _impl_.node_.column_def_ = nullptr; + auto* temp = _impl_.node_.alter_table_move_all_stmt_; + _impl_.node_.alter_table_move_all_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value) { +inline void Node::unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_column_def(); - _impl_.node_.column_def_ = value; + set_has_alter_table_move_all_stmt(); + _impl_.node_.alter_table_move_all_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_def) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_move_all_stmt) } -inline ::pg_query::ColumnDef* Node::_internal_mutable_column_def() { - if (node_case() != kColumnDef) { +inline ::pg_query::AlterTableMoveAllStmt* Node::_internal_mutable_alter_table_move_all_stmt() { + if (node_case() != kAlterTableMoveAllStmt) { clear_node(); - set_has_column_def(); - _impl_.node_.column_def_ = CreateMaybeMessage<::pg_query::ColumnDef>(GetArena()); + set_has_alter_table_move_all_stmt(); + _impl_.node_.alter_table_move_all_stmt_ = CreateMaybeMessage<::pg_query::AlterTableMoveAllStmt>(GetArena()); } - return _impl_.node_.column_def_; + return _impl_.node_.alter_table_move_all_stmt_; } -inline ::pg_query::ColumnDef* Node::mutable_column_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ColumnDef* _msg = _internal_mutable_column_def(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.column_def) +inline ::pg_query::AlterTableMoveAllStmt* Node::mutable_alter_table_move_all_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableMoveAllStmt* _msg = _internal_mutable_alter_table_move_all_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_move_all_stmt) return _msg; } -// .pg_query.TableLikeClause table_like_clause = 79 [json_name = "TableLikeClause"]; -inline bool Node::has_table_like_clause() const { - return node_case() == kTableLikeClause; +// .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"]; +inline bool Node::has_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt; } -inline bool Node::_internal_has_table_like_clause() const { - return node_case() == kTableLikeClause; +inline bool Node::_internal_has_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt; } -inline void Node::set_has_table_like_clause() { - _impl_._oneof_case_[0] = kTableLikeClause; +inline void Node::set_has_create_extension_stmt() { + _impl_._oneof_case_[0] = kCreateExtensionStmt; } -inline void Node::clear_table_like_clause() { +inline void Node::clear_create_extension_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTableLikeClause) { + if (node_case() == kCreateExtensionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.table_like_clause_; + delete _impl_.node_.create_extension_stmt_; } clear_has_node(); } } -inline ::pg_query::TableLikeClause* Node::release_table_like_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_like_clause) - if (node_case() == kTableLikeClause) { +inline ::pg_query::CreateExtensionStmt* Node::release_create_extension_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_extension_stmt) + if (node_case() == kCreateExtensionStmt) { clear_has_node(); - auto* temp = _impl_.node_.table_like_clause_; + auto* temp = _impl_.node_.create_extension_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_like_clause_ = nullptr; + _impl_.node_.create_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableLikeClause& Node::_internal_table_like_clause() const { - return node_case() == kTableLikeClause ? *_impl_.node_.table_like_clause_ : reinterpret_cast<::pg_query::TableLikeClause&>(::pg_query::_TableLikeClause_default_instance_); +inline const ::pg_query::CreateExtensionStmt& Node::_internal_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt ? *_impl_.node_.create_extension_stmt_ : reinterpret_cast<::pg_query::CreateExtensionStmt&>(::pg_query::_CreateExtensionStmt_default_instance_); } -inline const ::pg_query::TableLikeClause& Node::table_like_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.table_like_clause) - return _internal_table_like_clause(); +inline const ::pg_query::CreateExtensionStmt& Node::create_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_extension_stmt) + return _internal_create_extension_stmt(); } -inline ::pg_query::TableLikeClause* Node::unsafe_arena_release_table_like_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_like_clause) - if (node_case() == kTableLikeClause) { +inline ::pg_query::CreateExtensionStmt* Node::unsafe_arena_release_create_extension_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_extension_stmt) + if (node_case() == kCreateExtensionStmt) { clear_has_node(); - auto* temp = _impl_.node_.table_like_clause_; - _impl_.node_.table_like_clause_ = nullptr; + auto* temp = _impl_.node_.create_extension_stmt_; + _impl_.node_.create_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value) { +inline void Node::unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_table_like_clause(); - _impl_.node_.table_like_clause_ = value; + set_has_create_extension_stmt(); + _impl_.node_.create_extension_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_like_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_extension_stmt) } -inline ::pg_query::TableLikeClause* Node::_internal_mutable_table_like_clause() { - if (node_case() != kTableLikeClause) { +inline ::pg_query::CreateExtensionStmt* Node::_internal_mutable_create_extension_stmt() { + if (node_case() != kCreateExtensionStmt) { clear_node(); - set_has_table_like_clause(); - _impl_.node_.table_like_clause_ = CreateMaybeMessage<::pg_query::TableLikeClause>(GetArena()); + set_has_create_extension_stmt(); + _impl_.node_.create_extension_stmt_ = CreateMaybeMessage<::pg_query::CreateExtensionStmt>(GetArena()); } - return _impl_.node_.table_like_clause_; + return _impl_.node_.create_extension_stmt_; } -inline ::pg_query::TableLikeClause* Node::mutable_table_like_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TableLikeClause* _msg = _internal_mutable_table_like_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_like_clause) +inline ::pg_query::CreateExtensionStmt* Node::mutable_create_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateExtensionStmt* _msg = _internal_mutable_create_extension_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_extension_stmt) return _msg; } -// .pg_query.IndexElem index_elem = 80 [json_name = "IndexElem"]; -inline bool Node::has_index_elem() const { - return node_case() == kIndexElem; +// .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"]; +inline bool Node::has_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt; } -inline bool Node::_internal_has_index_elem() const { - return node_case() == kIndexElem; +inline bool Node::_internal_has_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt; } -inline void Node::set_has_index_elem() { - _impl_._oneof_case_[0] = kIndexElem; +inline void Node::set_has_alter_extension_stmt() { + _impl_._oneof_case_[0] = kAlterExtensionStmt; } -inline void Node::clear_index_elem() { +inline void Node::clear_alter_extension_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kIndexElem) { + if (node_case() == kAlterExtensionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.index_elem_; + delete _impl_.node_.alter_extension_stmt_; } clear_has_node(); } } -inline ::pg_query::IndexElem* Node::release_index_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.index_elem) - if (node_case() == kIndexElem) { +inline ::pg_query::AlterExtensionStmt* Node::release_alter_extension_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_stmt) + if (node_case() == kAlterExtensionStmt) { clear_has_node(); - auto* temp = _impl_.node_.index_elem_; + auto* temp = _impl_.node_.alter_extension_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.index_elem_ = nullptr; + _impl_.node_.alter_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IndexElem& Node::_internal_index_elem() const { - return node_case() == kIndexElem ? *_impl_.node_.index_elem_ : reinterpret_cast<::pg_query::IndexElem&>(::pg_query::_IndexElem_default_instance_); +inline const ::pg_query::AlterExtensionStmt& Node::_internal_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt ? *_impl_.node_.alter_extension_stmt_ : reinterpret_cast<::pg_query::AlterExtensionStmt&>(::pg_query::_AlterExtensionStmt_default_instance_); } -inline const ::pg_query::IndexElem& Node::index_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.index_elem) - return _internal_index_elem(); +inline const ::pg_query::AlterExtensionStmt& Node::alter_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_stmt) + return _internal_alter_extension_stmt(); } -inline ::pg_query::IndexElem* Node::unsafe_arena_release_index_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_elem) - if (node_case() == kIndexElem) { +inline ::pg_query::AlterExtensionStmt* Node::unsafe_arena_release_alter_extension_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_stmt) + if (node_case() == kAlterExtensionStmt) { clear_has_node(); - auto* temp = _impl_.node_.index_elem_; - _impl_.node_.index_elem_ = nullptr; + auto* temp = _impl_.node_.alter_extension_stmt_; + _impl_.node_.alter_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value) { +inline void Node::unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_index_elem(); - _impl_.node_.index_elem_ = value; + set_has_alter_extension_stmt(); + _impl_.node_.alter_extension_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_stmt) } -inline ::pg_query::IndexElem* Node::_internal_mutable_index_elem() { - if (node_case() != kIndexElem) { +inline ::pg_query::AlterExtensionStmt* Node::_internal_mutable_alter_extension_stmt() { + if (node_case() != kAlterExtensionStmt) { clear_node(); - set_has_index_elem(); - _impl_.node_.index_elem_ = CreateMaybeMessage<::pg_query::IndexElem>(GetArena()); + set_has_alter_extension_stmt(); + _impl_.node_.alter_extension_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionStmt>(GetArena()); } - return _impl_.node_.index_elem_; + return _impl_.node_.alter_extension_stmt_; } -inline ::pg_query::IndexElem* Node::mutable_index_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::IndexElem* _msg = _internal_mutable_index_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.index_elem) +inline ::pg_query::AlterExtensionStmt* Node::mutable_alter_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterExtensionStmt* _msg = _internal_mutable_alter_extension_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_stmt) return _msg; } -// .pg_query.DefElem def_elem = 81 [json_name = "DefElem"]; -inline bool Node::has_def_elem() const { - return node_case() == kDefElem; +// .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"]; +inline bool Node::has_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt; } -inline bool Node::_internal_has_def_elem() const { - return node_case() == kDefElem; +inline bool Node::_internal_has_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt; } -inline void Node::set_has_def_elem() { - _impl_._oneof_case_[0] = kDefElem; +inline void Node::set_has_alter_extension_contents_stmt() { + _impl_._oneof_case_[0] = kAlterExtensionContentsStmt; } -inline void Node::clear_def_elem() { +inline void Node::clear_alter_extension_contents_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDefElem) { + if (node_case() == kAlterExtensionContentsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.def_elem_; + delete _impl_.node_.alter_extension_contents_stmt_; } clear_has_node(); } } -inline ::pg_query::DefElem* Node::release_def_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.def_elem) - if (node_case() == kDefElem) { +inline ::pg_query::AlterExtensionContentsStmt* Node::release_alter_extension_contents_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_contents_stmt) + if (node_case() == kAlterExtensionContentsStmt) { clear_has_node(); - auto* temp = _impl_.node_.def_elem_; + auto* temp = _impl_.node_.alter_extension_contents_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.def_elem_ = nullptr; + _impl_.node_.alter_extension_contents_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DefElem& Node::_internal_def_elem() const { - return node_case() == kDefElem ? *_impl_.node_.def_elem_ : reinterpret_cast<::pg_query::DefElem&>(::pg_query::_DefElem_default_instance_); +inline const ::pg_query::AlterExtensionContentsStmt& Node::_internal_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt ? *_impl_.node_.alter_extension_contents_stmt_ : reinterpret_cast<::pg_query::AlterExtensionContentsStmt&>(::pg_query::_AlterExtensionContentsStmt_default_instance_); } -inline const ::pg_query::DefElem& Node::def_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.def_elem) - return _internal_def_elem(); +inline const ::pg_query::AlterExtensionContentsStmt& Node::alter_extension_contents_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_contents_stmt) + return _internal_alter_extension_contents_stmt(); } -inline ::pg_query::DefElem* Node::unsafe_arena_release_def_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.def_elem) - if (node_case() == kDefElem) { +inline ::pg_query::AlterExtensionContentsStmt* Node::unsafe_arena_release_alter_extension_contents_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_contents_stmt) + if (node_case() == kAlterExtensionContentsStmt) { clear_has_node(); - auto* temp = _impl_.node_.def_elem_; - _impl_.node_.def_elem_ = nullptr; + auto* temp = _impl_.node_.alter_extension_contents_stmt_; + _impl_.node_.alter_extension_contents_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value) { +inline void Node::unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_def_elem(); - _impl_.node_.def_elem_ = value; + set_has_alter_extension_contents_stmt(); + _impl_.node_.alter_extension_contents_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.def_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_contents_stmt) } -inline ::pg_query::DefElem* Node::_internal_mutable_def_elem() { - if (node_case() != kDefElem) { +inline ::pg_query::AlterExtensionContentsStmt* Node::_internal_mutable_alter_extension_contents_stmt() { + if (node_case() != kAlterExtensionContentsStmt) { clear_node(); - set_has_def_elem(); - _impl_.node_.def_elem_ = CreateMaybeMessage<::pg_query::DefElem>(GetArena()); + set_has_alter_extension_contents_stmt(); + _impl_.node_.alter_extension_contents_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionContentsStmt>(GetArena()); } - return _impl_.node_.def_elem_; + return _impl_.node_.alter_extension_contents_stmt_; } -inline ::pg_query::DefElem* Node::mutable_def_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DefElem* _msg = _internal_mutable_def_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.def_elem) +inline ::pg_query::AlterExtensionContentsStmt* Node::mutable_alter_extension_contents_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterExtensionContentsStmt* _msg = _internal_mutable_alter_extension_contents_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_contents_stmt) return _msg; } -// .pg_query.LockingClause locking_clause = 82 [json_name = "LockingClause"]; -inline bool Node::has_locking_clause() const { - return node_case() == kLockingClause; +// .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"]; +inline bool Node::has_create_fdw_stmt() const { + return node_case() == kCreateFdwStmt; } -inline bool Node::_internal_has_locking_clause() const { - return node_case() == kLockingClause; +inline bool Node::_internal_has_create_fdw_stmt() const { + return node_case() == kCreateFdwStmt; } -inline void Node::set_has_locking_clause() { - _impl_._oneof_case_[0] = kLockingClause; +inline void Node::set_has_create_fdw_stmt() { + _impl_._oneof_case_[0] = kCreateFdwStmt; } -inline void Node::clear_locking_clause() { +inline void Node::clear_create_fdw_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kLockingClause) { + if (node_case() == kCreateFdwStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.locking_clause_; + delete _impl_.node_.create_fdw_stmt_; } clear_has_node(); } } -inline ::pg_query::LockingClause* Node::release_locking_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.locking_clause) - if (node_case() == kLockingClause) { +inline ::pg_query::CreateFdwStmt* Node::release_create_fdw_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_fdw_stmt) + if (node_case() == kCreateFdwStmt) { clear_has_node(); - auto* temp = _impl_.node_.locking_clause_; + auto* temp = _impl_.node_.create_fdw_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.locking_clause_ = nullptr; + _impl_.node_.create_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::LockingClause& Node::_internal_locking_clause() const { - return node_case() == kLockingClause ? *_impl_.node_.locking_clause_ : reinterpret_cast<::pg_query::LockingClause&>(::pg_query::_LockingClause_default_instance_); +inline const ::pg_query::CreateFdwStmt& Node::_internal_create_fdw_stmt() const { + return node_case() == kCreateFdwStmt ? *_impl_.node_.create_fdw_stmt_ : reinterpret_cast<::pg_query::CreateFdwStmt&>(::pg_query::_CreateFdwStmt_default_instance_); } -inline const ::pg_query::LockingClause& Node::locking_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.locking_clause) - return _internal_locking_clause(); +inline const ::pg_query::CreateFdwStmt& Node::create_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_fdw_stmt) + return _internal_create_fdw_stmt(); } -inline ::pg_query::LockingClause* Node::unsafe_arena_release_locking_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.locking_clause) - if (node_case() == kLockingClause) { +inline ::pg_query::CreateFdwStmt* Node::unsafe_arena_release_create_fdw_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_fdw_stmt) + if (node_case() == kCreateFdwStmt) { clear_has_node(); - auto* temp = _impl_.node_.locking_clause_; - _impl_.node_.locking_clause_ = nullptr; + auto* temp = _impl_.node_.create_fdw_stmt_; + _impl_.node_.create_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value) { +inline void Node::unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_locking_clause(); - _impl_.node_.locking_clause_ = value; + set_has_create_fdw_stmt(); + _impl_.node_.create_fdw_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.locking_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_fdw_stmt) } -inline ::pg_query::LockingClause* Node::_internal_mutable_locking_clause() { - if (node_case() != kLockingClause) { +inline ::pg_query::CreateFdwStmt* Node::_internal_mutable_create_fdw_stmt() { + if (node_case() != kCreateFdwStmt) { clear_node(); - set_has_locking_clause(); - _impl_.node_.locking_clause_ = CreateMaybeMessage<::pg_query::LockingClause>(GetArena()); + set_has_create_fdw_stmt(); + _impl_.node_.create_fdw_stmt_ = CreateMaybeMessage<::pg_query::CreateFdwStmt>(GetArena()); } - return _impl_.node_.locking_clause_; + return _impl_.node_.create_fdw_stmt_; } -inline ::pg_query::LockingClause* Node::mutable_locking_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::LockingClause* _msg = _internal_mutable_locking_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.locking_clause) +inline ::pg_query::CreateFdwStmt* Node::mutable_create_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateFdwStmt* _msg = _internal_mutable_create_fdw_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_fdw_stmt) return _msg; } -// .pg_query.XmlSerialize xml_serialize = 83 [json_name = "XmlSerialize"]; -inline bool Node::has_xml_serialize() const { - return node_case() == kXmlSerialize; +// .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"]; +inline bool Node::has_alter_fdw_stmt() const { + return node_case() == kAlterFdwStmt; } -inline bool Node::_internal_has_xml_serialize() const { - return node_case() == kXmlSerialize; +inline bool Node::_internal_has_alter_fdw_stmt() const { + return node_case() == kAlterFdwStmt; } -inline void Node::set_has_xml_serialize() { - _impl_._oneof_case_[0] = kXmlSerialize; +inline void Node::set_has_alter_fdw_stmt() { + _impl_._oneof_case_[0] = kAlterFdwStmt; } -inline void Node::clear_xml_serialize() { +inline void Node::clear_alter_fdw_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kXmlSerialize) { + if (node_case() == kAlterFdwStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.xml_serialize_; + delete _impl_.node_.alter_fdw_stmt_; } clear_has_node(); } } -inline ::pg_query::XmlSerialize* Node::release_xml_serialize() { - // @@protoc_insertion_point(field_release:pg_query.Node.xml_serialize) - if (node_case() == kXmlSerialize) { +inline ::pg_query::AlterFdwStmt* Node::release_alter_fdw_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_fdw_stmt) + if (node_case() == kAlterFdwStmt) { clear_has_node(); - auto* temp = _impl_.node_.xml_serialize_; + auto* temp = _impl_.node_.alter_fdw_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.xml_serialize_ = nullptr; + _impl_.node_.alter_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::XmlSerialize& Node::_internal_xml_serialize() const { - return node_case() == kXmlSerialize ? *_impl_.node_.xml_serialize_ : reinterpret_cast<::pg_query::XmlSerialize&>(::pg_query::_XmlSerialize_default_instance_); +inline const ::pg_query::AlterFdwStmt& Node::_internal_alter_fdw_stmt() const { + return node_case() == kAlterFdwStmt ? *_impl_.node_.alter_fdw_stmt_ : reinterpret_cast<::pg_query::AlterFdwStmt&>(::pg_query::_AlterFdwStmt_default_instance_); } -inline const ::pg_query::XmlSerialize& Node::xml_serialize() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.xml_serialize) - return _internal_xml_serialize(); +inline const ::pg_query::AlterFdwStmt& Node::alter_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_fdw_stmt) + return _internal_alter_fdw_stmt(); } -inline ::pg_query::XmlSerialize* Node::unsafe_arena_release_xml_serialize() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_serialize) - if (node_case() == kXmlSerialize) { +inline ::pg_query::AlterFdwStmt* Node::unsafe_arena_release_alter_fdw_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_fdw_stmt) + if (node_case() == kAlterFdwStmt) { clear_has_node(); - auto* temp = _impl_.node_.xml_serialize_; - _impl_.node_.xml_serialize_ = nullptr; + auto* temp = _impl_.node_.alter_fdw_stmt_; + _impl_.node_.alter_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value) { +inline void Node::unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_xml_serialize(); - _impl_.node_.xml_serialize_ = value; + set_has_alter_fdw_stmt(); + _impl_.node_.alter_fdw_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_serialize) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_fdw_stmt) } -inline ::pg_query::XmlSerialize* Node::_internal_mutable_xml_serialize() { - if (node_case() != kXmlSerialize) { +inline ::pg_query::AlterFdwStmt* Node::_internal_mutable_alter_fdw_stmt() { + if (node_case() != kAlterFdwStmt) { clear_node(); - set_has_xml_serialize(); - _impl_.node_.xml_serialize_ = CreateMaybeMessage<::pg_query::XmlSerialize>(GetArena()); + set_has_alter_fdw_stmt(); + _impl_.node_.alter_fdw_stmt_ = CreateMaybeMessage<::pg_query::AlterFdwStmt>(GetArena()); } - return _impl_.node_.xml_serialize_; + return _impl_.node_.alter_fdw_stmt_; } -inline ::pg_query::XmlSerialize* Node::mutable_xml_serialize() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::XmlSerialize* _msg = _internal_mutable_xml_serialize(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_serialize) +inline ::pg_query::AlterFdwStmt* Node::mutable_alter_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterFdwStmt* _msg = _internal_mutable_alter_fdw_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_fdw_stmt) return _msg; } -// .pg_query.PartitionElem partition_elem = 84 [json_name = "PartitionElem"]; -inline bool Node::has_partition_elem() const { - return node_case() == kPartitionElem; +// .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"]; +inline bool Node::has_create_foreign_server_stmt() const { + return node_case() == kCreateForeignServerStmt; } -inline bool Node::_internal_has_partition_elem() const { - return node_case() == kPartitionElem; +inline bool Node::_internal_has_create_foreign_server_stmt() const { + return node_case() == kCreateForeignServerStmt; } -inline void Node::set_has_partition_elem() { - _impl_._oneof_case_[0] = kPartitionElem; +inline void Node::set_has_create_foreign_server_stmt() { + _impl_._oneof_case_[0] = kCreateForeignServerStmt; } -inline void Node::clear_partition_elem() { +inline void Node::clear_create_foreign_server_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPartitionElem) { + if (node_case() == kCreateForeignServerStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.partition_elem_; + delete _impl_.node_.create_foreign_server_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionElem* Node::release_partition_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_elem) - if (node_case() == kPartitionElem) { +inline ::pg_query::CreateForeignServerStmt* Node::release_create_foreign_server_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_server_stmt) + if (node_case() == kCreateForeignServerStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_elem_; + auto* temp = _impl_.node_.create_foreign_server_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_elem_ = nullptr; + _impl_.node_.create_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionElem& Node::_internal_partition_elem() const { - return node_case() == kPartitionElem ? *_impl_.node_.partition_elem_ : reinterpret_cast<::pg_query::PartitionElem&>(::pg_query::_PartitionElem_default_instance_); +inline const ::pg_query::CreateForeignServerStmt& Node::_internal_create_foreign_server_stmt() const { + return node_case() == kCreateForeignServerStmt ? *_impl_.node_.create_foreign_server_stmt_ : reinterpret_cast<::pg_query::CreateForeignServerStmt&>(::pg_query::_CreateForeignServerStmt_default_instance_); } -inline const ::pg_query::PartitionElem& Node::partition_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_elem) - return _internal_partition_elem(); +inline const ::pg_query::CreateForeignServerStmt& Node::create_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_server_stmt) + return _internal_create_foreign_server_stmt(); } -inline ::pg_query::PartitionElem* Node::unsafe_arena_release_partition_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_elem) - if (node_case() == kPartitionElem) { +inline ::pg_query::CreateForeignServerStmt* Node::unsafe_arena_release_create_foreign_server_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_server_stmt) + if (node_case() == kCreateForeignServerStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_elem_; - _impl_.node_.partition_elem_ = nullptr; + auto* temp = _impl_.node_.create_foreign_server_stmt_; + _impl_.node_.create_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value) { +inline void Node::unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_partition_elem(); - _impl_.node_.partition_elem_ = value; + set_has_create_foreign_server_stmt(); + _impl_.node_.create_foreign_server_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_server_stmt) } -inline ::pg_query::PartitionElem* Node::_internal_mutable_partition_elem() { - if (node_case() != kPartitionElem) { +inline ::pg_query::CreateForeignServerStmt* Node::_internal_mutable_create_foreign_server_stmt() { + if (node_case() != kCreateForeignServerStmt) { clear_node(); - set_has_partition_elem(); - _impl_.node_.partition_elem_ = CreateMaybeMessage<::pg_query::PartitionElem>(GetArena()); + set_has_create_foreign_server_stmt(); + _impl_.node_.create_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignServerStmt>(GetArena()); } - return _impl_.node_.partition_elem_; + return _impl_.node_.create_foreign_server_stmt_; } -inline ::pg_query::PartitionElem* Node::mutable_partition_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionElem* _msg = _internal_mutable_partition_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_elem) +inline ::pg_query::CreateForeignServerStmt* Node::mutable_create_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateForeignServerStmt* _msg = _internal_mutable_create_foreign_server_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_server_stmt) return _msg; } -// .pg_query.PartitionSpec partition_spec = 85 [json_name = "PartitionSpec"]; -inline bool Node::has_partition_spec() const { - return node_case() == kPartitionSpec; +// .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"]; +inline bool Node::has_alter_foreign_server_stmt() const { + return node_case() == kAlterForeignServerStmt; } -inline bool Node::_internal_has_partition_spec() const { - return node_case() == kPartitionSpec; +inline bool Node::_internal_has_alter_foreign_server_stmt() const { + return node_case() == kAlterForeignServerStmt; } -inline void Node::set_has_partition_spec() { - _impl_._oneof_case_[0] = kPartitionSpec; +inline void Node::set_has_alter_foreign_server_stmt() { + _impl_._oneof_case_[0] = kAlterForeignServerStmt; } -inline void Node::clear_partition_spec() { +inline void Node::clear_alter_foreign_server_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPartitionSpec) { + if (node_case() == kAlterForeignServerStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.partition_spec_; + delete _impl_.node_.alter_foreign_server_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionSpec* Node::release_partition_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_spec) - if (node_case() == kPartitionSpec) { +inline ::pg_query::AlterForeignServerStmt* Node::release_alter_foreign_server_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_foreign_server_stmt) + if (node_case() == kAlterForeignServerStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_spec_; + auto* temp = _impl_.node_.alter_foreign_server_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_spec_ = nullptr; + _impl_.node_.alter_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionSpec& Node::_internal_partition_spec() const { - return node_case() == kPartitionSpec ? *_impl_.node_.partition_spec_ : reinterpret_cast<::pg_query::PartitionSpec&>(::pg_query::_PartitionSpec_default_instance_); +inline const ::pg_query::AlterForeignServerStmt& Node::_internal_alter_foreign_server_stmt() const { + return node_case() == kAlterForeignServerStmt ? *_impl_.node_.alter_foreign_server_stmt_ : reinterpret_cast<::pg_query::AlterForeignServerStmt&>(::pg_query::_AlterForeignServerStmt_default_instance_); } -inline const ::pg_query::PartitionSpec& Node::partition_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_spec) - return _internal_partition_spec(); +inline const ::pg_query::AlterForeignServerStmt& Node::alter_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_foreign_server_stmt) + return _internal_alter_foreign_server_stmt(); } -inline ::pg_query::PartitionSpec* Node::unsafe_arena_release_partition_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_spec) - if (node_case() == kPartitionSpec) { +inline ::pg_query::AlterForeignServerStmt* Node::unsafe_arena_release_alter_foreign_server_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_foreign_server_stmt) + if (node_case() == kAlterForeignServerStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_spec_; - _impl_.node_.partition_spec_ = nullptr; + auto* temp = _impl_.node_.alter_foreign_server_stmt_; + _impl_.node_.alter_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value) { +inline void Node::unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_partition_spec(); - _impl_.node_.partition_spec_ = value; + set_has_alter_foreign_server_stmt(); + _impl_.node_.alter_foreign_server_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_foreign_server_stmt) } -inline ::pg_query::PartitionSpec* Node::_internal_mutable_partition_spec() { - if (node_case() != kPartitionSpec) { +inline ::pg_query::AlterForeignServerStmt* Node::_internal_mutable_alter_foreign_server_stmt() { + if (node_case() != kAlterForeignServerStmt) { clear_node(); - set_has_partition_spec(); - _impl_.node_.partition_spec_ = CreateMaybeMessage<::pg_query::PartitionSpec>(GetArena()); + set_has_alter_foreign_server_stmt(); + _impl_.node_.alter_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::AlterForeignServerStmt>(GetArena()); } - return _impl_.node_.partition_spec_; + return _impl_.node_.alter_foreign_server_stmt_; } -inline ::pg_query::PartitionSpec* Node::mutable_partition_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionSpec* _msg = _internal_mutable_partition_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_spec) +inline ::pg_query::AlterForeignServerStmt* Node::mutable_alter_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterForeignServerStmt* _msg = _internal_mutable_alter_foreign_server_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_foreign_server_stmt) return _msg; } -// .pg_query.PartitionBoundSpec partition_bound_spec = 86 [json_name = "PartitionBoundSpec"]; -inline bool Node::has_partition_bound_spec() const { - return node_case() == kPartitionBoundSpec; +// .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"]; +inline bool Node::has_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt; } -inline bool Node::_internal_has_partition_bound_spec() const { - return node_case() == kPartitionBoundSpec; +inline bool Node::_internal_has_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt; } -inline void Node::set_has_partition_bound_spec() { - _impl_._oneof_case_[0] = kPartitionBoundSpec; +inline void Node::set_has_create_foreign_table_stmt() { + _impl_._oneof_case_[0] = kCreateForeignTableStmt; } -inline void Node::clear_partition_bound_spec() { +inline void Node::clear_create_foreign_table_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPartitionBoundSpec) { + if (node_case() == kCreateForeignTableStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.partition_bound_spec_; + delete _impl_.node_.create_foreign_table_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionBoundSpec* Node::release_partition_bound_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_bound_spec) - if (node_case() == kPartitionBoundSpec) { +inline ::pg_query::CreateForeignTableStmt* Node::release_create_foreign_table_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_table_stmt) + if (node_case() == kCreateForeignTableStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_bound_spec_; + auto* temp = _impl_.node_.create_foreign_table_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_bound_spec_ = nullptr; + _impl_.node_.create_foreign_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionBoundSpec& Node::_internal_partition_bound_spec() const { - return node_case() == kPartitionBoundSpec ? *_impl_.node_.partition_bound_spec_ : reinterpret_cast<::pg_query::PartitionBoundSpec&>(::pg_query::_PartitionBoundSpec_default_instance_); +inline const ::pg_query::CreateForeignTableStmt& Node::_internal_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt ? *_impl_.node_.create_foreign_table_stmt_ : reinterpret_cast<::pg_query::CreateForeignTableStmt&>(::pg_query::_CreateForeignTableStmt_default_instance_); } -inline const ::pg_query::PartitionBoundSpec& Node::partition_bound_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_bound_spec) - return _internal_partition_bound_spec(); +inline const ::pg_query::CreateForeignTableStmt& Node::create_foreign_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_table_stmt) + return _internal_create_foreign_table_stmt(); } -inline ::pg_query::PartitionBoundSpec* Node::unsafe_arena_release_partition_bound_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_bound_spec) - if (node_case() == kPartitionBoundSpec) { +inline ::pg_query::CreateForeignTableStmt* Node::unsafe_arena_release_create_foreign_table_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_table_stmt) + if (node_case() == kCreateForeignTableStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_bound_spec_; - _impl_.node_.partition_bound_spec_ = nullptr; + auto* temp = _impl_.node_.create_foreign_table_stmt_; + _impl_.node_.create_foreign_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value) { +inline void Node::unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_partition_bound_spec(); - _impl_.node_.partition_bound_spec_ = value; + set_has_create_foreign_table_stmt(); + _impl_.node_.create_foreign_table_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_bound_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_table_stmt) } -inline ::pg_query::PartitionBoundSpec* Node::_internal_mutable_partition_bound_spec() { - if (node_case() != kPartitionBoundSpec) { +inline ::pg_query::CreateForeignTableStmt* Node::_internal_mutable_create_foreign_table_stmt() { + if (node_case() != kCreateForeignTableStmt) { clear_node(); - set_has_partition_bound_spec(); - _impl_.node_.partition_bound_spec_ = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); + set_has_create_foreign_table_stmt(); + _impl_.node_.create_foreign_table_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignTableStmt>(GetArena()); } - return _impl_.node_.partition_bound_spec_; + return _impl_.node_.create_foreign_table_stmt_; } -inline ::pg_query::PartitionBoundSpec* Node::mutable_partition_bound_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partition_bound_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_bound_spec) +inline ::pg_query::CreateForeignTableStmt* Node::mutable_create_foreign_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateForeignTableStmt* _msg = _internal_mutable_create_foreign_table_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_table_stmt) return _msg; } -// .pg_query.PartitionRangeDatum partition_range_datum = 87 [json_name = "PartitionRangeDatum"]; -inline bool Node::has_partition_range_datum() const { - return node_case() == kPartitionRangeDatum; +// .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"]; +inline bool Node::has_create_user_mapping_stmt() const { + return node_case() == kCreateUserMappingStmt; } -inline bool Node::_internal_has_partition_range_datum() const { - return node_case() == kPartitionRangeDatum; +inline bool Node::_internal_has_create_user_mapping_stmt() const { + return node_case() == kCreateUserMappingStmt; } -inline void Node::set_has_partition_range_datum() { - _impl_._oneof_case_[0] = kPartitionRangeDatum; +inline void Node::set_has_create_user_mapping_stmt() { + _impl_._oneof_case_[0] = kCreateUserMappingStmt; } -inline void Node::clear_partition_range_datum() { +inline void Node::clear_create_user_mapping_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPartitionRangeDatum) { + if (node_case() == kCreateUserMappingStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.partition_range_datum_; + delete _impl_.node_.create_user_mapping_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionRangeDatum* Node::release_partition_range_datum() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_range_datum) - if (node_case() == kPartitionRangeDatum) { +inline ::pg_query::CreateUserMappingStmt* Node::release_create_user_mapping_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_user_mapping_stmt) + if (node_case() == kCreateUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_range_datum_; + auto* temp = _impl_.node_.create_user_mapping_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_range_datum_ = nullptr; + _impl_.node_.create_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionRangeDatum& Node::_internal_partition_range_datum() const { - return node_case() == kPartitionRangeDatum ? *_impl_.node_.partition_range_datum_ : reinterpret_cast<::pg_query::PartitionRangeDatum&>(::pg_query::_PartitionRangeDatum_default_instance_); +inline const ::pg_query::CreateUserMappingStmt& Node::_internal_create_user_mapping_stmt() const { + return node_case() == kCreateUserMappingStmt ? *_impl_.node_.create_user_mapping_stmt_ : reinterpret_cast<::pg_query::CreateUserMappingStmt&>(::pg_query::_CreateUserMappingStmt_default_instance_); } -inline const ::pg_query::PartitionRangeDatum& Node::partition_range_datum() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_range_datum) - return _internal_partition_range_datum(); +inline const ::pg_query::CreateUserMappingStmt& Node::create_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_user_mapping_stmt) + return _internal_create_user_mapping_stmt(); } -inline ::pg_query::PartitionRangeDatum* Node::unsafe_arena_release_partition_range_datum() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_range_datum) - if (node_case() == kPartitionRangeDatum) { +inline ::pg_query::CreateUserMappingStmt* Node::unsafe_arena_release_create_user_mapping_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_user_mapping_stmt) + if (node_case() == kCreateUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_range_datum_; - _impl_.node_.partition_range_datum_ = nullptr; + auto* temp = _impl_.node_.create_user_mapping_stmt_; + _impl_.node_.create_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value) { +inline void Node::unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_partition_range_datum(); - _impl_.node_.partition_range_datum_ = value; + set_has_create_user_mapping_stmt(); + _impl_.node_.create_user_mapping_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_range_datum) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_user_mapping_stmt) } -inline ::pg_query::PartitionRangeDatum* Node::_internal_mutable_partition_range_datum() { - if (node_case() != kPartitionRangeDatum) { +inline ::pg_query::CreateUserMappingStmt* Node::_internal_mutable_create_user_mapping_stmt() { + if (node_case() != kCreateUserMappingStmt) { clear_node(); - set_has_partition_range_datum(); - _impl_.node_.partition_range_datum_ = CreateMaybeMessage<::pg_query::PartitionRangeDatum>(GetArena()); + set_has_create_user_mapping_stmt(); + _impl_.node_.create_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::CreateUserMappingStmt>(GetArena()); } - return _impl_.node_.partition_range_datum_; + return _impl_.node_.create_user_mapping_stmt_; } -inline ::pg_query::PartitionRangeDatum* Node::mutable_partition_range_datum() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionRangeDatum* _msg = _internal_mutable_partition_range_datum(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_range_datum) +inline ::pg_query::CreateUserMappingStmt* Node::mutable_create_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateUserMappingStmt* _msg = _internal_mutable_create_user_mapping_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_user_mapping_stmt) return _msg; } -// .pg_query.PartitionCmd partition_cmd = 88 [json_name = "PartitionCmd"]; -inline bool Node::has_partition_cmd() const { - return node_case() == kPartitionCmd; +// .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"]; +inline bool Node::has_alter_user_mapping_stmt() const { + return node_case() == kAlterUserMappingStmt; } -inline bool Node::_internal_has_partition_cmd() const { - return node_case() == kPartitionCmd; +inline bool Node::_internal_has_alter_user_mapping_stmt() const { + return node_case() == kAlterUserMappingStmt; } -inline void Node::set_has_partition_cmd() { - _impl_._oneof_case_[0] = kPartitionCmd; +inline void Node::set_has_alter_user_mapping_stmt() { + _impl_._oneof_case_[0] = kAlterUserMappingStmt; } -inline void Node::clear_partition_cmd() { +inline void Node::clear_alter_user_mapping_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPartitionCmd) { + if (node_case() == kAlterUserMappingStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.partition_cmd_; + delete _impl_.node_.alter_user_mapping_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionCmd* Node::release_partition_cmd() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_cmd) - if (node_case() == kPartitionCmd) { +inline ::pg_query::AlterUserMappingStmt* Node::release_alter_user_mapping_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_user_mapping_stmt) + if (node_case() == kAlterUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_cmd_; + auto* temp = _impl_.node_.alter_user_mapping_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_cmd_ = nullptr; + _impl_.node_.alter_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionCmd& Node::_internal_partition_cmd() const { - return node_case() == kPartitionCmd ? *_impl_.node_.partition_cmd_ : reinterpret_cast<::pg_query::PartitionCmd&>(::pg_query::_PartitionCmd_default_instance_); +inline const ::pg_query::AlterUserMappingStmt& Node::_internal_alter_user_mapping_stmt() const { + return node_case() == kAlterUserMappingStmt ? *_impl_.node_.alter_user_mapping_stmt_ : reinterpret_cast<::pg_query::AlterUserMappingStmt&>(::pg_query::_AlterUserMappingStmt_default_instance_); } -inline const ::pg_query::PartitionCmd& Node::partition_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_cmd) - return _internal_partition_cmd(); +inline const ::pg_query::AlterUserMappingStmt& Node::alter_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_user_mapping_stmt) + return _internal_alter_user_mapping_stmt(); } -inline ::pg_query::PartitionCmd* Node::unsafe_arena_release_partition_cmd() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_cmd) - if (node_case() == kPartitionCmd) { +inline ::pg_query::AlterUserMappingStmt* Node::unsafe_arena_release_alter_user_mapping_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_user_mapping_stmt) + if (node_case() == kAlterUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.partition_cmd_; - _impl_.node_.partition_cmd_ = nullptr; + auto* temp = _impl_.node_.alter_user_mapping_stmt_; + _impl_.node_.alter_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value) { +inline void Node::unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_partition_cmd(); - _impl_.node_.partition_cmd_ = value; + set_has_alter_user_mapping_stmt(); + _impl_.node_.alter_user_mapping_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_cmd) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_user_mapping_stmt) } -inline ::pg_query::PartitionCmd* Node::_internal_mutable_partition_cmd() { - if (node_case() != kPartitionCmd) { +inline ::pg_query::AlterUserMappingStmt* Node::_internal_mutable_alter_user_mapping_stmt() { + if (node_case() != kAlterUserMappingStmt) { clear_node(); - set_has_partition_cmd(); - _impl_.node_.partition_cmd_ = CreateMaybeMessage<::pg_query::PartitionCmd>(GetArena()); + set_has_alter_user_mapping_stmt(); + _impl_.node_.alter_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::AlterUserMappingStmt>(GetArena()); } - return _impl_.node_.partition_cmd_; + return _impl_.node_.alter_user_mapping_stmt_; } -inline ::pg_query::PartitionCmd* Node::mutable_partition_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionCmd* _msg = _internal_mutable_partition_cmd(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_cmd) +inline ::pg_query::AlterUserMappingStmt* Node::mutable_alter_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterUserMappingStmt* _msg = _internal_mutable_alter_user_mapping_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_user_mapping_stmt) return _msg; } -// .pg_query.RangeTblEntry range_tbl_entry = 89 [json_name = "RangeTblEntry"]; -inline bool Node::has_range_tbl_entry() const { - return node_case() == kRangeTblEntry; +// .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"]; +inline bool Node::has_drop_user_mapping_stmt() const { + return node_case() == kDropUserMappingStmt; } -inline bool Node::_internal_has_range_tbl_entry() const { - return node_case() == kRangeTblEntry; +inline bool Node::_internal_has_drop_user_mapping_stmt() const { + return node_case() == kDropUserMappingStmt; } -inline void Node::set_has_range_tbl_entry() { - _impl_._oneof_case_[0] = kRangeTblEntry; +inline void Node::set_has_drop_user_mapping_stmt() { + _impl_._oneof_case_[0] = kDropUserMappingStmt; } -inline void Node::clear_range_tbl_entry() { +inline void Node::clear_drop_user_mapping_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTblEntry) { + if (node_case() == kDropUserMappingStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_tbl_entry_; + delete _impl_.node_.drop_user_mapping_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTblEntry* Node::release_range_tbl_entry() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_entry) - if (node_case() == kRangeTblEntry) { +inline ::pg_query::DropUserMappingStmt* Node::release_drop_user_mapping_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_user_mapping_stmt) + if (node_case() == kDropUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_entry_; + auto* temp = _impl_.node_.drop_user_mapping_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_entry_ = nullptr; + _impl_.node_.drop_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblEntry& Node::_internal_range_tbl_entry() const { - return node_case() == kRangeTblEntry ? *_impl_.node_.range_tbl_entry_ : reinterpret_cast<::pg_query::RangeTblEntry&>(::pg_query::_RangeTblEntry_default_instance_); +inline const ::pg_query::DropUserMappingStmt& Node::_internal_drop_user_mapping_stmt() const { + return node_case() == kDropUserMappingStmt ? *_impl_.node_.drop_user_mapping_stmt_ : reinterpret_cast<::pg_query::DropUserMappingStmt&>(::pg_query::_DropUserMappingStmt_default_instance_); } -inline const ::pg_query::RangeTblEntry& Node::range_tbl_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_entry) - return _internal_range_tbl_entry(); +inline const ::pg_query::DropUserMappingStmt& Node::drop_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_user_mapping_stmt) + return _internal_drop_user_mapping_stmt(); } -inline ::pg_query::RangeTblEntry* Node::unsafe_arena_release_range_tbl_entry() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_entry) - if (node_case() == kRangeTblEntry) { +inline ::pg_query::DropUserMappingStmt* Node::unsafe_arena_release_drop_user_mapping_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_user_mapping_stmt) + if (node_case() == kDropUserMappingStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_entry_; - _impl_.node_.range_tbl_entry_ = nullptr; + auto* temp = _impl_.node_.drop_user_mapping_stmt_; + _impl_.node_.drop_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value) { +inline void Node::unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_tbl_entry(); - _impl_.node_.range_tbl_entry_ = value; + set_has_drop_user_mapping_stmt(); + _impl_.node_.drop_user_mapping_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_entry) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_user_mapping_stmt) } -inline ::pg_query::RangeTblEntry* Node::_internal_mutable_range_tbl_entry() { - if (node_case() != kRangeTblEntry) { +inline ::pg_query::DropUserMappingStmt* Node::_internal_mutable_drop_user_mapping_stmt() { + if (node_case() != kDropUserMappingStmt) { clear_node(); - set_has_range_tbl_entry(); - _impl_.node_.range_tbl_entry_ = CreateMaybeMessage<::pg_query::RangeTblEntry>(GetArena()); + set_has_drop_user_mapping_stmt(); + _impl_.node_.drop_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::DropUserMappingStmt>(GetArena()); } - return _impl_.node_.range_tbl_entry_; + return _impl_.node_.drop_user_mapping_stmt_; } -inline ::pg_query::RangeTblEntry* Node::mutable_range_tbl_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTblEntry* _msg = _internal_mutable_range_tbl_entry(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_entry) +inline ::pg_query::DropUserMappingStmt* Node::mutable_drop_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropUserMappingStmt* _msg = _internal_mutable_drop_user_mapping_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_user_mapping_stmt) return _msg; } -// .pg_query.RTEPermissionInfo rtepermission_info = 90 [json_name = "RTEPermissionInfo"]; -inline bool Node::has_rtepermission_info() const { - return node_case() == kRtepermissionInfo; +// .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"]; +inline bool Node::has_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt; } -inline bool Node::_internal_has_rtepermission_info() const { - return node_case() == kRtepermissionInfo; +inline bool Node::_internal_has_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt; } -inline void Node::set_has_rtepermission_info() { - _impl_._oneof_case_[0] = kRtepermissionInfo; +inline void Node::set_has_import_foreign_schema_stmt() { + _impl_._oneof_case_[0] = kImportForeignSchemaStmt; } -inline void Node::clear_rtepermission_info() { +inline void Node::clear_import_foreign_schema_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRtepermissionInfo) { + if (node_case() == kImportForeignSchemaStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.rtepermission_info_; + delete _impl_.node_.import_foreign_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::RTEPermissionInfo* Node::release_rtepermission_info() { - // @@protoc_insertion_point(field_release:pg_query.Node.rtepermission_info) - if (node_case() == kRtepermissionInfo) { +inline ::pg_query::ImportForeignSchemaStmt* Node::release_import_foreign_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.import_foreign_schema_stmt) + if (node_case() == kImportForeignSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.rtepermission_info_; + auto* temp = _impl_.node_.import_foreign_schema_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.rtepermission_info_ = nullptr; + _impl_.node_.import_foreign_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RTEPermissionInfo& Node::_internal_rtepermission_info() const { - return node_case() == kRtepermissionInfo ? *_impl_.node_.rtepermission_info_ : reinterpret_cast<::pg_query::RTEPermissionInfo&>(::pg_query::_RTEPermissionInfo_default_instance_); +inline const ::pg_query::ImportForeignSchemaStmt& Node::_internal_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt ? *_impl_.node_.import_foreign_schema_stmt_ : reinterpret_cast<::pg_query::ImportForeignSchemaStmt&>(::pg_query::_ImportForeignSchemaStmt_default_instance_); } -inline const ::pg_query::RTEPermissionInfo& Node::rtepermission_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.rtepermission_info) - return _internal_rtepermission_info(); +inline const ::pg_query::ImportForeignSchemaStmt& Node::import_foreign_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.import_foreign_schema_stmt) + return _internal_import_foreign_schema_stmt(); } -inline ::pg_query::RTEPermissionInfo* Node::unsafe_arena_release_rtepermission_info() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rtepermission_info) - if (node_case() == kRtepermissionInfo) { +inline ::pg_query::ImportForeignSchemaStmt* Node::unsafe_arena_release_import_foreign_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.import_foreign_schema_stmt) + if (node_case() == kImportForeignSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.rtepermission_info_; - _impl_.node_.rtepermission_info_ = nullptr; + auto* temp = _impl_.node_.import_foreign_schema_stmt_; + _impl_.node_.import_foreign_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value) { +inline void Node::unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_rtepermission_info(); - _impl_.node_.rtepermission_info_ = value; + set_has_import_foreign_schema_stmt(); + _impl_.node_.import_foreign_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rtepermission_info) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.import_foreign_schema_stmt) } -inline ::pg_query::RTEPermissionInfo* Node::_internal_mutable_rtepermission_info() { - if (node_case() != kRtepermissionInfo) { +inline ::pg_query::ImportForeignSchemaStmt* Node::_internal_mutable_import_foreign_schema_stmt() { + if (node_case() != kImportForeignSchemaStmt) { clear_node(); - set_has_rtepermission_info(); - _impl_.node_.rtepermission_info_ = CreateMaybeMessage<::pg_query::RTEPermissionInfo>(GetArena()); + set_has_import_foreign_schema_stmt(); + _impl_.node_.import_foreign_schema_stmt_ = CreateMaybeMessage<::pg_query::ImportForeignSchemaStmt>(GetArena()); } - return _impl_.node_.rtepermission_info_; + return _impl_.node_.import_foreign_schema_stmt_; } -inline ::pg_query::RTEPermissionInfo* Node::mutable_rtepermission_info() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RTEPermissionInfo* _msg = _internal_mutable_rtepermission_info(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.rtepermission_info) +inline ::pg_query::ImportForeignSchemaStmt* Node::mutable_import_foreign_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ImportForeignSchemaStmt* _msg = _internal_mutable_import_foreign_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.import_foreign_schema_stmt) return _msg; } -// .pg_query.RangeTblFunction range_tbl_function = 91 [json_name = "RangeTblFunction"]; -inline bool Node::has_range_tbl_function() const { - return node_case() == kRangeTblFunction; +// .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"]; +inline bool Node::has_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt; } -inline bool Node::_internal_has_range_tbl_function() const { - return node_case() == kRangeTblFunction; +inline bool Node::_internal_has_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt; } -inline void Node::set_has_range_tbl_function() { - _impl_._oneof_case_[0] = kRangeTblFunction; +inline void Node::set_has_create_policy_stmt() { + _impl_._oneof_case_[0] = kCreatePolicyStmt; } -inline void Node::clear_range_tbl_function() { +inline void Node::clear_create_policy_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRangeTblFunction) { + if (node_case() == kCreatePolicyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.range_tbl_function_; + delete _impl_.node_.create_policy_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTblFunction* Node::release_range_tbl_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_function) - if (node_case() == kRangeTblFunction) { +inline ::pg_query::CreatePolicyStmt* Node::release_create_policy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_policy_stmt) + if (node_case() == kCreatePolicyStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_function_; + auto* temp = _impl_.node_.create_policy_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_function_ = nullptr; + _impl_.node_.create_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblFunction& Node::_internal_range_tbl_function() const { - return node_case() == kRangeTblFunction ? *_impl_.node_.range_tbl_function_ : reinterpret_cast<::pg_query::RangeTblFunction&>(::pg_query::_RangeTblFunction_default_instance_); +inline const ::pg_query::CreatePolicyStmt& Node::_internal_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt ? *_impl_.node_.create_policy_stmt_ : reinterpret_cast<::pg_query::CreatePolicyStmt&>(::pg_query::_CreatePolicyStmt_default_instance_); } -inline const ::pg_query::RangeTblFunction& Node::range_tbl_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_function) - return _internal_range_tbl_function(); +inline const ::pg_query::CreatePolicyStmt& Node::create_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_policy_stmt) + return _internal_create_policy_stmt(); } -inline ::pg_query::RangeTblFunction* Node::unsafe_arena_release_range_tbl_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_function) - if (node_case() == kRangeTblFunction) { +inline ::pg_query::CreatePolicyStmt* Node::unsafe_arena_release_create_policy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_policy_stmt) + if (node_case() == kCreatePolicyStmt) { clear_has_node(); - auto* temp = _impl_.node_.range_tbl_function_; - _impl_.node_.range_tbl_function_ = nullptr; + auto* temp = _impl_.node_.create_policy_stmt_; + _impl_.node_.create_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value) { +inline void Node::unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_range_tbl_function(); - _impl_.node_.range_tbl_function_ = value; + set_has_create_policy_stmt(); + _impl_.node_.create_policy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_policy_stmt) } -inline ::pg_query::RangeTblFunction* Node::_internal_mutable_range_tbl_function() { - if (node_case() != kRangeTblFunction) { +inline ::pg_query::CreatePolicyStmt* Node::_internal_mutable_create_policy_stmt() { + if (node_case() != kCreatePolicyStmt) { clear_node(); - set_has_range_tbl_function(); - _impl_.node_.range_tbl_function_ = CreateMaybeMessage<::pg_query::RangeTblFunction>(GetArena()); + set_has_create_policy_stmt(); + _impl_.node_.create_policy_stmt_ = CreateMaybeMessage<::pg_query::CreatePolicyStmt>(GetArena()); } - return _impl_.node_.range_tbl_function_; + return _impl_.node_.create_policy_stmt_; } -inline ::pg_query::RangeTblFunction* Node::mutable_range_tbl_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeTblFunction* _msg = _internal_mutable_range_tbl_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_function) +inline ::pg_query::CreatePolicyStmt* Node::mutable_create_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePolicyStmt* _msg = _internal_mutable_create_policy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_policy_stmt) return _msg; } -// .pg_query.TableSampleClause table_sample_clause = 92 [json_name = "TableSampleClause"]; -inline bool Node::has_table_sample_clause() const { - return node_case() == kTableSampleClause; +// .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"]; +inline bool Node::has_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt; } -inline bool Node::_internal_has_table_sample_clause() const { - return node_case() == kTableSampleClause; +inline bool Node::_internal_has_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt; } -inline void Node::set_has_table_sample_clause() { - _impl_._oneof_case_[0] = kTableSampleClause; +inline void Node::set_has_alter_policy_stmt() { + _impl_._oneof_case_[0] = kAlterPolicyStmt; } -inline void Node::clear_table_sample_clause() { +inline void Node::clear_alter_policy_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTableSampleClause) { + if (node_case() == kAlterPolicyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.table_sample_clause_; + delete _impl_.node_.alter_policy_stmt_; } clear_has_node(); } } -inline ::pg_query::TableSampleClause* Node::release_table_sample_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_sample_clause) - if (node_case() == kTableSampleClause) { +inline ::pg_query::AlterPolicyStmt* Node::release_alter_policy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_policy_stmt) + if (node_case() == kAlterPolicyStmt) { clear_has_node(); - auto* temp = _impl_.node_.table_sample_clause_; + auto* temp = _impl_.node_.alter_policy_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_sample_clause_ = nullptr; + _impl_.node_.alter_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableSampleClause& Node::_internal_table_sample_clause() const { - return node_case() == kTableSampleClause ? *_impl_.node_.table_sample_clause_ : reinterpret_cast<::pg_query::TableSampleClause&>(::pg_query::_TableSampleClause_default_instance_); +inline const ::pg_query::AlterPolicyStmt& Node::_internal_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt ? *_impl_.node_.alter_policy_stmt_ : reinterpret_cast<::pg_query::AlterPolicyStmt&>(::pg_query::_AlterPolicyStmt_default_instance_); } -inline const ::pg_query::TableSampleClause& Node::table_sample_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.table_sample_clause) - return _internal_table_sample_clause(); +inline const ::pg_query::AlterPolicyStmt& Node::alter_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_policy_stmt) + return _internal_alter_policy_stmt(); } -inline ::pg_query::TableSampleClause* Node::unsafe_arena_release_table_sample_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_sample_clause) - if (node_case() == kTableSampleClause) { +inline ::pg_query::AlterPolicyStmt* Node::unsafe_arena_release_alter_policy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_policy_stmt) + if (node_case() == kAlterPolicyStmt) { clear_has_node(); - auto* temp = _impl_.node_.table_sample_clause_; - _impl_.node_.table_sample_clause_ = nullptr; + auto* temp = _impl_.node_.alter_policy_stmt_; + _impl_.node_.alter_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value) { +inline void Node::unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_table_sample_clause(); - _impl_.node_.table_sample_clause_ = value; + set_has_alter_policy_stmt(); + _impl_.node_.alter_policy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_sample_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_policy_stmt) } -inline ::pg_query::TableSampleClause* Node::_internal_mutable_table_sample_clause() { - if (node_case() != kTableSampleClause) { +inline ::pg_query::AlterPolicyStmt* Node::_internal_mutable_alter_policy_stmt() { + if (node_case() != kAlterPolicyStmt) { clear_node(); - set_has_table_sample_clause(); - _impl_.node_.table_sample_clause_ = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); + set_has_alter_policy_stmt(); + _impl_.node_.alter_policy_stmt_ = CreateMaybeMessage<::pg_query::AlterPolicyStmt>(GetArena()); } - return _impl_.node_.table_sample_clause_; + return _impl_.node_.alter_policy_stmt_; } -inline ::pg_query::TableSampleClause* Node::mutable_table_sample_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TableSampleClause* _msg = _internal_mutable_table_sample_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_sample_clause) +inline ::pg_query::AlterPolicyStmt* Node::mutable_alter_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterPolicyStmt* _msg = _internal_mutable_alter_policy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_policy_stmt) return _msg; } -// .pg_query.WithCheckOption with_check_option = 93 [json_name = "WithCheckOption"]; -inline bool Node::has_with_check_option() const { - return node_case() == kWithCheckOption; +// .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"]; +inline bool Node::has_create_am_stmt() const { + return node_case() == kCreateAmStmt; } -inline bool Node::_internal_has_with_check_option() const { - return node_case() == kWithCheckOption; +inline bool Node::_internal_has_create_am_stmt() const { + return node_case() == kCreateAmStmt; } -inline void Node::set_has_with_check_option() { - _impl_._oneof_case_[0] = kWithCheckOption; +inline void Node::set_has_create_am_stmt() { + _impl_._oneof_case_[0] = kCreateAmStmt; } -inline void Node::clear_with_check_option() { +inline void Node::clear_create_am_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kWithCheckOption) { + if (node_case() == kCreateAmStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.with_check_option_; + delete _impl_.node_.create_am_stmt_; } clear_has_node(); } } -inline ::pg_query::WithCheckOption* Node::release_with_check_option() { - // @@protoc_insertion_point(field_release:pg_query.Node.with_check_option) - if (node_case() == kWithCheckOption) { +inline ::pg_query::CreateAmStmt* Node::release_create_am_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_am_stmt) + if (node_case() == kCreateAmStmt) { clear_has_node(); - auto* temp = _impl_.node_.with_check_option_; + auto* temp = _impl_.node_.create_am_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.with_check_option_ = nullptr; + _impl_.node_.create_am_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WithCheckOption& Node::_internal_with_check_option() const { - return node_case() == kWithCheckOption ? *_impl_.node_.with_check_option_ : reinterpret_cast<::pg_query::WithCheckOption&>(::pg_query::_WithCheckOption_default_instance_); +inline const ::pg_query::CreateAmStmt& Node::_internal_create_am_stmt() const { + return node_case() == kCreateAmStmt ? *_impl_.node_.create_am_stmt_ : reinterpret_cast<::pg_query::CreateAmStmt&>(::pg_query::_CreateAmStmt_default_instance_); } -inline const ::pg_query::WithCheckOption& Node::with_check_option() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.with_check_option) - return _internal_with_check_option(); +inline const ::pg_query::CreateAmStmt& Node::create_am_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_am_stmt) + return _internal_create_am_stmt(); } -inline ::pg_query::WithCheckOption* Node::unsafe_arena_release_with_check_option() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_check_option) - if (node_case() == kWithCheckOption) { +inline ::pg_query::CreateAmStmt* Node::unsafe_arena_release_create_am_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_am_stmt) + if (node_case() == kCreateAmStmt) { clear_has_node(); - auto* temp = _impl_.node_.with_check_option_; - _impl_.node_.with_check_option_ = nullptr; + auto* temp = _impl_.node_.create_am_stmt_; + _impl_.node_.create_am_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value) { +inline void Node::unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_with_check_option(); - _impl_.node_.with_check_option_ = value; + set_has_create_am_stmt(); + _impl_.node_.create_am_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_check_option) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_am_stmt) } -inline ::pg_query::WithCheckOption* Node::_internal_mutable_with_check_option() { - if (node_case() != kWithCheckOption) { +inline ::pg_query::CreateAmStmt* Node::_internal_mutable_create_am_stmt() { + if (node_case() != kCreateAmStmt) { clear_node(); - set_has_with_check_option(); - _impl_.node_.with_check_option_ = CreateMaybeMessage<::pg_query::WithCheckOption>(GetArena()); + set_has_create_am_stmt(); + _impl_.node_.create_am_stmt_ = CreateMaybeMessage<::pg_query::CreateAmStmt>(GetArena()); } - return _impl_.node_.with_check_option_; + return _impl_.node_.create_am_stmt_; } -inline ::pg_query::WithCheckOption* Node::mutable_with_check_option() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WithCheckOption* _msg = _internal_mutable_with_check_option(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.with_check_option) +inline ::pg_query::CreateAmStmt* Node::mutable_create_am_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateAmStmt* _msg = _internal_mutable_create_am_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_am_stmt) return _msg; } -// .pg_query.SortGroupClause sort_group_clause = 94 [json_name = "SortGroupClause"]; -inline bool Node::has_sort_group_clause() const { - return node_case() == kSortGroupClause; +// .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"]; +inline bool Node::has_create_trig_stmt() const { + return node_case() == kCreateTrigStmt; } -inline bool Node::_internal_has_sort_group_clause() const { - return node_case() == kSortGroupClause; +inline bool Node::_internal_has_create_trig_stmt() const { + return node_case() == kCreateTrigStmt; } -inline void Node::set_has_sort_group_clause() { - _impl_._oneof_case_[0] = kSortGroupClause; +inline void Node::set_has_create_trig_stmt() { + _impl_._oneof_case_[0] = kCreateTrigStmt; } -inline void Node::clear_sort_group_clause() { +inline void Node::clear_create_trig_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSortGroupClause) { + if (node_case() == kCreateTrigStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.sort_group_clause_; + delete _impl_.node_.create_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::SortGroupClause* Node::release_sort_group_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.sort_group_clause) - if (node_case() == kSortGroupClause) { +inline ::pg_query::CreateTrigStmt* Node::release_create_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_trig_stmt) + if (node_case() == kCreateTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.sort_group_clause_; + auto* temp = _impl_.node_.create_trig_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sort_group_clause_ = nullptr; + _impl_.node_.create_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SortGroupClause& Node::_internal_sort_group_clause() const { - return node_case() == kSortGroupClause ? *_impl_.node_.sort_group_clause_ : reinterpret_cast<::pg_query::SortGroupClause&>(::pg_query::_SortGroupClause_default_instance_); +inline const ::pg_query::CreateTrigStmt& Node::_internal_create_trig_stmt() const { + return node_case() == kCreateTrigStmt ? *_impl_.node_.create_trig_stmt_ : reinterpret_cast<::pg_query::CreateTrigStmt&>(::pg_query::_CreateTrigStmt_default_instance_); } -inline const ::pg_query::SortGroupClause& Node::sort_group_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sort_group_clause) - return _internal_sort_group_clause(); +inline const ::pg_query::CreateTrigStmt& Node::create_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_trig_stmt) + return _internal_create_trig_stmt(); } -inline ::pg_query::SortGroupClause* Node::unsafe_arena_release_sort_group_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_group_clause) - if (node_case() == kSortGroupClause) { +inline ::pg_query::CreateTrigStmt* Node::unsafe_arena_release_create_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_trig_stmt) + if (node_case() == kCreateTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.sort_group_clause_; - _impl_.node_.sort_group_clause_ = nullptr; + auto* temp = _impl_.node_.create_trig_stmt_; + _impl_.node_.create_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value) { +inline void Node::unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sort_group_clause(); - _impl_.node_.sort_group_clause_ = value; + set_has_create_trig_stmt(); + _impl_.node_.create_trig_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_group_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_trig_stmt) } -inline ::pg_query::SortGroupClause* Node::_internal_mutable_sort_group_clause() { - if (node_case() != kSortGroupClause) { +inline ::pg_query::CreateTrigStmt* Node::_internal_mutable_create_trig_stmt() { + if (node_case() != kCreateTrigStmt) { clear_node(); - set_has_sort_group_clause(); - _impl_.node_.sort_group_clause_ = CreateMaybeMessage<::pg_query::SortGroupClause>(GetArena()); + set_has_create_trig_stmt(); + _impl_.node_.create_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateTrigStmt>(GetArena()); } - return _impl_.node_.sort_group_clause_; + return _impl_.node_.create_trig_stmt_; } -inline ::pg_query::SortGroupClause* Node::mutable_sort_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SortGroupClause* _msg = _internal_mutable_sort_group_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_group_clause) +inline ::pg_query::CreateTrigStmt* Node::mutable_create_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTrigStmt* _msg = _internal_mutable_create_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_trig_stmt) return _msg; } -// .pg_query.GroupingSet grouping_set = 95 [json_name = "GroupingSet"]; -inline bool Node::has_grouping_set() const { - return node_case() == kGroupingSet; +// .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"]; +inline bool Node::has_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt; } -inline bool Node::_internal_has_grouping_set() const { - return node_case() == kGroupingSet; +inline bool Node::_internal_has_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt; } -inline void Node::set_has_grouping_set() { - _impl_._oneof_case_[0] = kGroupingSet; +inline void Node::set_has_create_event_trig_stmt() { + _impl_._oneof_case_[0] = kCreateEventTrigStmt; } -inline void Node::clear_grouping_set() { +inline void Node::clear_create_event_trig_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kGroupingSet) { + if (node_case() == kCreateEventTrigStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.grouping_set_; + delete _impl_.node_.create_event_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::GroupingSet* Node::release_grouping_set() { - // @@protoc_insertion_point(field_release:pg_query.Node.grouping_set) - if (node_case() == kGroupingSet) { +inline ::pg_query::CreateEventTrigStmt* Node::release_create_event_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_event_trig_stmt) + if (node_case() == kCreateEventTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.grouping_set_; + auto* temp = _impl_.node_.create_event_trig_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grouping_set_ = nullptr; + _impl_.node_.create_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GroupingSet& Node::_internal_grouping_set() const { - return node_case() == kGroupingSet ? *_impl_.node_.grouping_set_ : reinterpret_cast<::pg_query::GroupingSet&>(::pg_query::_GroupingSet_default_instance_); +inline const ::pg_query::CreateEventTrigStmt& Node::_internal_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt ? *_impl_.node_.create_event_trig_stmt_ : reinterpret_cast<::pg_query::CreateEventTrigStmt&>(::pg_query::_CreateEventTrigStmt_default_instance_); } -inline const ::pg_query::GroupingSet& Node::grouping_set() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.grouping_set) - return _internal_grouping_set(); +inline const ::pg_query::CreateEventTrigStmt& Node::create_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_event_trig_stmt) + return _internal_create_event_trig_stmt(); } -inline ::pg_query::GroupingSet* Node::unsafe_arena_release_grouping_set() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_set) - if (node_case() == kGroupingSet) { +inline ::pg_query::CreateEventTrigStmt* Node::unsafe_arena_release_create_event_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_event_trig_stmt) + if (node_case() == kCreateEventTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.grouping_set_; - _impl_.node_.grouping_set_ = nullptr; + auto* temp = _impl_.node_.create_event_trig_stmt_; + _impl_.node_.create_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value) { +inline void Node::unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_grouping_set(); - _impl_.node_.grouping_set_ = value; + set_has_create_event_trig_stmt(); + _impl_.node_.create_event_trig_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_set) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_event_trig_stmt) } -inline ::pg_query::GroupingSet* Node::_internal_mutable_grouping_set() { - if (node_case() != kGroupingSet) { +inline ::pg_query::CreateEventTrigStmt* Node::_internal_mutable_create_event_trig_stmt() { + if (node_case() != kCreateEventTrigStmt) { clear_node(); - set_has_grouping_set(); - _impl_.node_.grouping_set_ = CreateMaybeMessage<::pg_query::GroupingSet>(GetArena()); + set_has_create_event_trig_stmt(); + _impl_.node_.create_event_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateEventTrigStmt>(GetArena()); } - return _impl_.node_.grouping_set_; + return _impl_.node_.create_event_trig_stmt_; } -inline ::pg_query::GroupingSet* Node::mutable_grouping_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::GroupingSet* _msg = _internal_mutable_grouping_set(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_set) +inline ::pg_query::CreateEventTrigStmt* Node::mutable_create_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateEventTrigStmt* _msg = _internal_mutable_create_event_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_event_trig_stmt) return _msg; } -// .pg_query.WindowClause window_clause = 96 [json_name = "WindowClause"]; -inline bool Node::has_window_clause() const { - return node_case() == kWindowClause; +// .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"]; +inline bool Node::has_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt; } -inline bool Node::_internal_has_window_clause() const { - return node_case() == kWindowClause; +inline bool Node::_internal_has_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt; } -inline void Node::set_has_window_clause() { - _impl_._oneof_case_[0] = kWindowClause; +inline void Node::set_has_alter_event_trig_stmt() { + _impl_._oneof_case_[0] = kAlterEventTrigStmt; } -inline void Node::clear_window_clause() { +inline void Node::clear_alter_event_trig_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kWindowClause) { + if (node_case() == kAlterEventTrigStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.window_clause_; + delete _impl_.node_.alter_event_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::WindowClause* Node::release_window_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_clause) - if (node_case() == kWindowClause) { +inline ::pg_query::AlterEventTrigStmt* Node::release_alter_event_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_event_trig_stmt) + if (node_case() == kAlterEventTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.window_clause_; + auto* temp = _impl_.node_.alter_event_trig_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_clause_ = nullptr; + _impl_.node_.alter_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowClause& Node::_internal_window_clause() const { - return node_case() == kWindowClause ? *_impl_.node_.window_clause_ : reinterpret_cast<::pg_query::WindowClause&>(::pg_query::_WindowClause_default_instance_); +inline const ::pg_query::AlterEventTrigStmt& Node::_internal_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt ? *_impl_.node_.alter_event_trig_stmt_ : reinterpret_cast<::pg_query::AlterEventTrigStmt&>(::pg_query::_AlterEventTrigStmt_default_instance_); } -inline const ::pg_query::WindowClause& Node::window_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.window_clause) - return _internal_window_clause(); +inline const ::pg_query::AlterEventTrigStmt& Node::alter_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_event_trig_stmt) + return _internal_alter_event_trig_stmt(); } -inline ::pg_query::WindowClause* Node::unsafe_arena_release_window_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_clause) - if (node_case() == kWindowClause) { +inline ::pg_query::AlterEventTrigStmt* Node::unsafe_arena_release_alter_event_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_event_trig_stmt) + if (node_case() == kAlterEventTrigStmt) { clear_has_node(); - auto* temp = _impl_.node_.window_clause_; - _impl_.node_.window_clause_ = nullptr; + auto* temp = _impl_.node_.alter_event_trig_stmt_; + _impl_.node_.alter_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value) { +inline void Node::unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_window_clause(); - _impl_.node_.window_clause_ = value; + set_has_alter_event_trig_stmt(); + _impl_.node_.alter_event_trig_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_event_trig_stmt) } -inline ::pg_query::WindowClause* Node::_internal_mutable_window_clause() { - if (node_case() != kWindowClause) { +inline ::pg_query::AlterEventTrigStmt* Node::_internal_mutable_alter_event_trig_stmt() { + if (node_case() != kAlterEventTrigStmt) { clear_node(); - set_has_window_clause(); - _impl_.node_.window_clause_ = CreateMaybeMessage<::pg_query::WindowClause>(GetArena()); + set_has_alter_event_trig_stmt(); + _impl_.node_.alter_event_trig_stmt_ = CreateMaybeMessage<::pg_query::AlterEventTrigStmt>(GetArena()); } - return _impl_.node_.window_clause_; + return _impl_.node_.alter_event_trig_stmt_; } -inline ::pg_query::WindowClause* Node::mutable_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WindowClause* _msg = _internal_mutable_window_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_clause) +inline ::pg_query::AlterEventTrigStmt* Node::mutable_alter_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterEventTrigStmt* _msg = _internal_mutable_alter_event_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_event_trig_stmt) return _msg; } -// .pg_query.RowMarkClause row_mark_clause = 97 [json_name = "RowMarkClause"]; -inline bool Node::has_row_mark_clause() const { - return node_case() == kRowMarkClause; +// .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"]; +inline bool Node::has_create_plang_stmt() const { + return node_case() == kCreatePlangStmt; } -inline bool Node::_internal_has_row_mark_clause() const { - return node_case() == kRowMarkClause; +inline bool Node::_internal_has_create_plang_stmt() const { + return node_case() == kCreatePlangStmt; } -inline void Node::set_has_row_mark_clause() { - _impl_._oneof_case_[0] = kRowMarkClause; +inline void Node::set_has_create_plang_stmt() { + _impl_._oneof_case_[0] = kCreatePlangStmt; } -inline void Node::clear_row_mark_clause() { +inline void Node::clear_create_plang_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRowMarkClause) { + if (node_case() == kCreatePlangStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.row_mark_clause_; + delete _impl_.node_.create_plang_stmt_; } clear_has_node(); } } -inline ::pg_query::RowMarkClause* Node::release_row_mark_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_mark_clause) - if (node_case() == kRowMarkClause) { +inline ::pg_query::CreatePLangStmt* Node::release_create_plang_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_plang_stmt) + if (node_case() == kCreatePlangStmt) { clear_has_node(); - auto* temp = _impl_.node_.row_mark_clause_; + auto* temp = _impl_.node_.create_plang_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_mark_clause_ = nullptr; + _impl_.node_.create_plang_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowMarkClause& Node::_internal_row_mark_clause() const { - return node_case() == kRowMarkClause ? *_impl_.node_.row_mark_clause_ : reinterpret_cast<::pg_query::RowMarkClause&>(::pg_query::_RowMarkClause_default_instance_); +inline const ::pg_query::CreatePLangStmt& Node::_internal_create_plang_stmt() const { + return node_case() == kCreatePlangStmt ? *_impl_.node_.create_plang_stmt_ : reinterpret_cast<::pg_query::CreatePLangStmt&>(::pg_query::_CreatePLangStmt_default_instance_); } -inline const ::pg_query::RowMarkClause& Node::row_mark_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.row_mark_clause) - return _internal_row_mark_clause(); +inline const ::pg_query::CreatePLangStmt& Node::create_plang_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_plang_stmt) + return _internal_create_plang_stmt(); } -inline ::pg_query::RowMarkClause* Node::unsafe_arena_release_row_mark_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_mark_clause) - if (node_case() == kRowMarkClause) { +inline ::pg_query::CreatePLangStmt* Node::unsafe_arena_release_create_plang_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_plang_stmt) + if (node_case() == kCreatePlangStmt) { clear_has_node(); - auto* temp = _impl_.node_.row_mark_clause_; - _impl_.node_.row_mark_clause_ = nullptr; + auto* temp = _impl_.node_.create_plang_stmt_; + _impl_.node_.create_plang_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value) { +inline void Node::unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_row_mark_clause(); - _impl_.node_.row_mark_clause_ = value; + set_has_create_plang_stmt(); + _impl_.node_.create_plang_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_mark_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_plang_stmt) } -inline ::pg_query::RowMarkClause* Node::_internal_mutable_row_mark_clause() { - if (node_case() != kRowMarkClause) { +inline ::pg_query::CreatePLangStmt* Node::_internal_mutable_create_plang_stmt() { + if (node_case() != kCreatePlangStmt) { clear_node(); - set_has_row_mark_clause(); - _impl_.node_.row_mark_clause_ = CreateMaybeMessage<::pg_query::RowMarkClause>(GetArena()); + set_has_create_plang_stmt(); + _impl_.node_.create_plang_stmt_ = CreateMaybeMessage<::pg_query::CreatePLangStmt>(GetArena()); } - return _impl_.node_.row_mark_clause_; + return _impl_.node_.create_plang_stmt_; } -inline ::pg_query::RowMarkClause* Node::mutable_row_mark_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RowMarkClause* _msg = _internal_mutable_row_mark_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_mark_clause) +inline ::pg_query::CreatePLangStmt* Node::mutable_create_plang_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePLangStmt* _msg = _internal_mutable_create_plang_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_plang_stmt) return _msg; } -// .pg_query.WithClause with_clause = 98 [json_name = "WithClause"]; -inline bool Node::has_with_clause() const { - return node_case() == kWithClause; +// .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"]; +inline bool Node::has_create_role_stmt() const { + return node_case() == kCreateRoleStmt; } -inline bool Node::_internal_has_with_clause() const { - return node_case() == kWithClause; +inline bool Node::_internal_has_create_role_stmt() const { + return node_case() == kCreateRoleStmt; } -inline void Node::set_has_with_clause() { - _impl_._oneof_case_[0] = kWithClause; +inline void Node::set_has_create_role_stmt() { + _impl_._oneof_case_[0] = kCreateRoleStmt; } -inline void Node::clear_with_clause() { +inline void Node::clear_create_role_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kWithClause) { + if (node_case() == kCreateRoleStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.with_clause_; + delete _impl_.node_.create_role_stmt_; } clear_has_node(); } } -inline ::pg_query::WithClause* Node::release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.with_clause) - if (node_case() == kWithClause) { +inline ::pg_query::CreateRoleStmt* Node::release_create_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_role_stmt) + if (node_case() == kCreateRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.with_clause_; + auto* temp = _impl_.node_.create_role_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.with_clause_ = nullptr; + _impl_.node_.create_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WithClause& Node::_internal_with_clause() const { - return node_case() == kWithClause ? *_impl_.node_.with_clause_ : reinterpret_cast<::pg_query::WithClause&>(::pg_query::_WithClause_default_instance_); +inline const ::pg_query::CreateRoleStmt& Node::_internal_create_role_stmt() const { + return node_case() == kCreateRoleStmt ? *_impl_.node_.create_role_stmt_ : reinterpret_cast<::pg_query::CreateRoleStmt&>(::pg_query::_CreateRoleStmt_default_instance_); } -inline const ::pg_query::WithClause& Node::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.with_clause) - return _internal_with_clause(); +inline const ::pg_query::CreateRoleStmt& Node::create_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_role_stmt) + return _internal_create_role_stmt(); } -inline ::pg_query::WithClause* Node::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_clause) - if (node_case() == kWithClause) { +inline ::pg_query::CreateRoleStmt* Node::unsafe_arena_release_create_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_role_stmt) + if (node_case() == kCreateRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.with_clause_; - _impl_.node_.with_clause_ = nullptr; + auto* temp = _impl_.node_.create_role_stmt_; + _impl_.node_.create_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { +inline void Node::unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_with_clause(); - _impl_.node_.with_clause_ = value; + set_has_create_role_stmt(); + _impl_.node_.create_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_role_stmt) } -inline ::pg_query::WithClause* Node::_internal_mutable_with_clause() { - if (node_case() != kWithClause) { +inline ::pg_query::CreateRoleStmt* Node::_internal_mutable_create_role_stmt() { + if (node_case() != kCreateRoleStmt) { clear_node(); - set_has_with_clause(); - _impl_.node_.with_clause_ = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + set_has_create_role_stmt(); + _impl_.node_.create_role_stmt_ = CreateMaybeMessage<::pg_query::CreateRoleStmt>(GetArena()); } - return _impl_.node_.with_clause_; + return _impl_.node_.create_role_stmt_; } -inline ::pg_query::WithClause* Node::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.with_clause) +inline ::pg_query::CreateRoleStmt* Node::mutable_create_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateRoleStmt* _msg = _internal_mutable_create_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_role_stmt) return _msg; } -// .pg_query.InferClause infer_clause = 99 [json_name = "InferClause"]; -inline bool Node::has_infer_clause() const { - return node_case() == kInferClause; +// .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"]; +inline bool Node::has_alter_role_stmt() const { + return node_case() == kAlterRoleStmt; } -inline bool Node::_internal_has_infer_clause() const { - return node_case() == kInferClause; +inline bool Node::_internal_has_alter_role_stmt() const { + return node_case() == kAlterRoleStmt; } -inline void Node::set_has_infer_clause() { - _impl_._oneof_case_[0] = kInferClause; +inline void Node::set_has_alter_role_stmt() { + _impl_._oneof_case_[0] = kAlterRoleStmt; } -inline void Node::clear_infer_clause() { +inline void Node::clear_alter_role_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kInferClause) { + if (node_case() == kAlterRoleStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.infer_clause_; + delete _impl_.node_.alter_role_stmt_; } clear_has_node(); } } -inline ::pg_query::InferClause* Node::release_infer_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.infer_clause) - if (node_case() == kInferClause) { +inline ::pg_query::AlterRoleStmt* Node::release_alter_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_stmt) + if (node_case() == kAlterRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.infer_clause_; + auto* temp = _impl_.node_.alter_role_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.infer_clause_ = nullptr; + _impl_.node_.alter_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InferClause& Node::_internal_infer_clause() const { - return node_case() == kInferClause ? *_impl_.node_.infer_clause_ : reinterpret_cast<::pg_query::InferClause&>(::pg_query::_InferClause_default_instance_); +inline const ::pg_query::AlterRoleStmt& Node::_internal_alter_role_stmt() const { + return node_case() == kAlterRoleStmt ? *_impl_.node_.alter_role_stmt_ : reinterpret_cast<::pg_query::AlterRoleStmt&>(::pg_query::_AlterRoleStmt_default_instance_); } -inline const ::pg_query::InferClause& Node::infer_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.infer_clause) - return _internal_infer_clause(); +inline const ::pg_query::AlterRoleStmt& Node::alter_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_stmt) + return _internal_alter_role_stmt(); } -inline ::pg_query::InferClause* Node::unsafe_arena_release_infer_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.infer_clause) - if (node_case() == kInferClause) { +inline ::pg_query::AlterRoleStmt* Node::unsafe_arena_release_alter_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_stmt) + if (node_case() == kAlterRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.infer_clause_; - _impl_.node_.infer_clause_ = nullptr; + auto* temp = _impl_.node_.alter_role_stmt_; + _impl_.node_.alter_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value) { +inline void Node::unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_infer_clause(); - _impl_.node_.infer_clause_ = value; + set_has_alter_role_stmt(); + _impl_.node_.alter_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.infer_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_stmt) } -inline ::pg_query::InferClause* Node::_internal_mutable_infer_clause() { - if (node_case() != kInferClause) { +inline ::pg_query::AlterRoleStmt* Node::_internal_mutable_alter_role_stmt() { + if (node_case() != kAlterRoleStmt) { clear_node(); - set_has_infer_clause(); - _impl_.node_.infer_clause_ = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); + set_has_alter_role_stmt(); + _impl_.node_.alter_role_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleStmt>(GetArena()); } - return _impl_.node_.infer_clause_; + return _impl_.node_.alter_role_stmt_; } -inline ::pg_query::InferClause* Node::mutable_infer_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::InferClause* _msg = _internal_mutable_infer_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.infer_clause) +inline ::pg_query::AlterRoleStmt* Node::mutable_alter_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterRoleStmt* _msg = _internal_mutable_alter_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_stmt) return _msg; } -// .pg_query.OnConflictClause on_conflict_clause = 100 [json_name = "OnConflictClause"]; -inline bool Node::has_on_conflict_clause() const { - return node_case() == kOnConflictClause; +// .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"]; +inline bool Node::has_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt; } -inline bool Node::_internal_has_on_conflict_clause() const { - return node_case() == kOnConflictClause; +inline bool Node::_internal_has_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt; } -inline void Node::set_has_on_conflict_clause() { - _impl_._oneof_case_[0] = kOnConflictClause; +inline void Node::set_has_alter_role_set_stmt() { + _impl_._oneof_case_[0] = kAlterRoleSetStmt; } -inline void Node::clear_on_conflict_clause() { +inline void Node::clear_alter_role_set_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kOnConflictClause) { + if (node_case() == kAlterRoleSetStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.on_conflict_clause_; + delete _impl_.node_.alter_role_set_stmt_; } clear_has_node(); } } -inline ::pg_query::OnConflictClause* Node::release_on_conflict_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_clause) - if (node_case() == kOnConflictClause) { +inline ::pg_query::AlterRoleSetStmt* Node::release_alter_role_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_set_stmt) + if (node_case() == kAlterRoleSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.on_conflict_clause_; + auto* temp = _impl_.node_.alter_role_set_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.on_conflict_clause_ = nullptr; + _impl_.node_.alter_role_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OnConflictClause& Node::_internal_on_conflict_clause() const { - return node_case() == kOnConflictClause ? *_impl_.node_.on_conflict_clause_ : reinterpret_cast<::pg_query::OnConflictClause&>(::pg_query::_OnConflictClause_default_instance_); +inline const ::pg_query::AlterRoleSetStmt& Node::_internal_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt ? *_impl_.node_.alter_role_set_stmt_ : reinterpret_cast<::pg_query::AlterRoleSetStmt&>(::pg_query::_AlterRoleSetStmt_default_instance_); } -inline const ::pg_query::OnConflictClause& Node::on_conflict_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_clause) - return _internal_on_conflict_clause(); +inline const ::pg_query::AlterRoleSetStmt& Node::alter_role_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_set_stmt) + return _internal_alter_role_set_stmt(); } -inline ::pg_query::OnConflictClause* Node::unsafe_arena_release_on_conflict_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_clause) - if (node_case() == kOnConflictClause) { +inline ::pg_query::AlterRoleSetStmt* Node::unsafe_arena_release_alter_role_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_set_stmt) + if (node_case() == kAlterRoleSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.on_conflict_clause_; - _impl_.node_.on_conflict_clause_ = nullptr; + auto* temp = _impl_.node_.alter_role_set_stmt_; + _impl_.node_.alter_role_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value) { +inline void Node::unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_on_conflict_clause(); - _impl_.node_.on_conflict_clause_ = value; + set_has_alter_role_set_stmt(); + _impl_.node_.alter_role_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_set_stmt) } -inline ::pg_query::OnConflictClause* Node::_internal_mutable_on_conflict_clause() { - if (node_case() != kOnConflictClause) { +inline ::pg_query::AlterRoleSetStmt* Node::_internal_mutable_alter_role_set_stmt() { + if (node_case() != kAlterRoleSetStmt) { clear_node(); - set_has_on_conflict_clause(); - _impl_.node_.on_conflict_clause_ = CreateMaybeMessage<::pg_query::OnConflictClause>(GetArena()); + set_has_alter_role_set_stmt(); + _impl_.node_.alter_role_set_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleSetStmt>(GetArena()); } - return _impl_.node_.on_conflict_clause_; + return _impl_.node_.alter_role_set_stmt_; } -inline ::pg_query::OnConflictClause* Node::mutable_on_conflict_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_clause) +inline ::pg_query::AlterRoleSetStmt* Node::mutable_alter_role_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterRoleSetStmt* _msg = _internal_mutable_alter_role_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_set_stmt) return _msg; } -// .pg_query.CTESearchClause ctesearch_clause = 101 [json_name = "CTESearchClause"]; -inline bool Node::has_ctesearch_clause() const { - return node_case() == kCtesearchClause; +// .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"]; +inline bool Node::has_drop_role_stmt() const { + return node_case() == kDropRoleStmt; } -inline bool Node::_internal_has_ctesearch_clause() const { - return node_case() == kCtesearchClause; +inline bool Node::_internal_has_drop_role_stmt() const { + return node_case() == kDropRoleStmt; } -inline void Node::set_has_ctesearch_clause() { - _impl_._oneof_case_[0] = kCtesearchClause; +inline void Node::set_has_drop_role_stmt() { + _impl_._oneof_case_[0] = kDropRoleStmt; } -inline void Node::clear_ctesearch_clause() { +inline void Node::clear_drop_role_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCtesearchClause) { + if (node_case() == kDropRoleStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.ctesearch_clause_; + delete _impl_.node_.drop_role_stmt_; } clear_has_node(); } } -inline ::pg_query::CTESearchClause* Node::release_ctesearch_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.ctesearch_clause) - if (node_case() == kCtesearchClause) { +inline ::pg_query::DropRoleStmt* Node::release_drop_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_role_stmt) + if (node_case() == kDropRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.ctesearch_clause_; + auto* temp = _impl_.node_.drop_role_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.ctesearch_clause_ = nullptr; + _impl_.node_.drop_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CTESearchClause& Node::_internal_ctesearch_clause() const { - return node_case() == kCtesearchClause ? *_impl_.node_.ctesearch_clause_ : reinterpret_cast<::pg_query::CTESearchClause&>(::pg_query::_CTESearchClause_default_instance_); +inline const ::pg_query::DropRoleStmt& Node::_internal_drop_role_stmt() const { + return node_case() == kDropRoleStmt ? *_impl_.node_.drop_role_stmt_ : reinterpret_cast<::pg_query::DropRoleStmt&>(::pg_query::_DropRoleStmt_default_instance_); } -inline const ::pg_query::CTESearchClause& Node::ctesearch_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.ctesearch_clause) - return _internal_ctesearch_clause(); +inline const ::pg_query::DropRoleStmt& Node::drop_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_role_stmt) + return _internal_drop_role_stmt(); } -inline ::pg_query::CTESearchClause* Node::unsafe_arena_release_ctesearch_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctesearch_clause) - if (node_case() == kCtesearchClause) { +inline ::pg_query::DropRoleStmt* Node::unsafe_arena_release_drop_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_role_stmt) + if (node_case() == kDropRoleStmt) { clear_has_node(); - auto* temp = _impl_.node_.ctesearch_clause_; - _impl_.node_.ctesearch_clause_ = nullptr; + auto* temp = _impl_.node_.drop_role_stmt_; + _impl_.node_.drop_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value) { +inline void Node::unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_ctesearch_clause(); - _impl_.node_.ctesearch_clause_ = value; + set_has_drop_role_stmt(); + _impl_.node_.drop_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctesearch_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_role_stmt) } -inline ::pg_query::CTESearchClause* Node::_internal_mutable_ctesearch_clause() { - if (node_case() != kCtesearchClause) { +inline ::pg_query::DropRoleStmt* Node::_internal_mutable_drop_role_stmt() { + if (node_case() != kDropRoleStmt) { clear_node(); - set_has_ctesearch_clause(); - _impl_.node_.ctesearch_clause_ = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); + set_has_drop_role_stmt(); + _impl_.node_.drop_role_stmt_ = CreateMaybeMessage<::pg_query::DropRoleStmt>(GetArena()); } - return _impl_.node_.ctesearch_clause_; + return _impl_.node_.drop_role_stmt_; } -inline ::pg_query::CTESearchClause* Node::mutable_ctesearch_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CTESearchClause* _msg = _internal_mutable_ctesearch_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.ctesearch_clause) +inline ::pg_query::DropRoleStmt* Node::mutable_drop_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropRoleStmt* _msg = _internal_mutable_drop_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_role_stmt) return _msg; } -// .pg_query.CTECycleClause ctecycle_clause = 102 [json_name = "CTECycleClause"]; -inline bool Node::has_ctecycle_clause() const { - return node_case() == kCtecycleClause; +// .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"]; +inline bool Node::has_create_seq_stmt() const { + return node_case() == kCreateSeqStmt; } -inline bool Node::_internal_has_ctecycle_clause() const { - return node_case() == kCtecycleClause; +inline bool Node::_internal_has_create_seq_stmt() const { + return node_case() == kCreateSeqStmt; } -inline void Node::set_has_ctecycle_clause() { - _impl_._oneof_case_[0] = kCtecycleClause; +inline void Node::set_has_create_seq_stmt() { + _impl_._oneof_case_[0] = kCreateSeqStmt; } -inline void Node::clear_ctecycle_clause() { +inline void Node::clear_create_seq_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCtecycleClause) { + if (node_case() == kCreateSeqStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.ctecycle_clause_; + delete _impl_.node_.create_seq_stmt_; } clear_has_node(); } } -inline ::pg_query::CTECycleClause* Node::release_ctecycle_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.ctecycle_clause) - if (node_case() == kCtecycleClause) { +inline ::pg_query::CreateSeqStmt* Node::release_create_seq_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_seq_stmt) + if (node_case() == kCreateSeqStmt) { clear_has_node(); - auto* temp = _impl_.node_.ctecycle_clause_; + auto* temp = _impl_.node_.create_seq_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.ctecycle_clause_ = nullptr; + _impl_.node_.create_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CTECycleClause& Node::_internal_ctecycle_clause() const { - return node_case() == kCtecycleClause ? *_impl_.node_.ctecycle_clause_ : reinterpret_cast<::pg_query::CTECycleClause&>(::pg_query::_CTECycleClause_default_instance_); +inline const ::pg_query::CreateSeqStmt& Node::_internal_create_seq_stmt() const { + return node_case() == kCreateSeqStmt ? *_impl_.node_.create_seq_stmt_ : reinterpret_cast<::pg_query::CreateSeqStmt&>(::pg_query::_CreateSeqStmt_default_instance_); } -inline const ::pg_query::CTECycleClause& Node::ctecycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.ctecycle_clause) - return _internal_ctecycle_clause(); +inline const ::pg_query::CreateSeqStmt& Node::create_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_seq_stmt) + return _internal_create_seq_stmt(); } -inline ::pg_query::CTECycleClause* Node::unsafe_arena_release_ctecycle_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctecycle_clause) - if (node_case() == kCtecycleClause) { +inline ::pg_query::CreateSeqStmt* Node::unsafe_arena_release_create_seq_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_seq_stmt) + if (node_case() == kCreateSeqStmt) { clear_has_node(); - auto* temp = _impl_.node_.ctecycle_clause_; - _impl_.node_.ctecycle_clause_ = nullptr; + auto* temp = _impl_.node_.create_seq_stmt_; + _impl_.node_.create_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value) { +inline void Node::unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_ctecycle_clause(); - _impl_.node_.ctecycle_clause_ = value; + set_has_create_seq_stmt(); + _impl_.node_.create_seq_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctecycle_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_seq_stmt) } -inline ::pg_query::CTECycleClause* Node::_internal_mutable_ctecycle_clause() { - if (node_case() != kCtecycleClause) { +inline ::pg_query::CreateSeqStmt* Node::_internal_mutable_create_seq_stmt() { + if (node_case() != kCreateSeqStmt) { clear_node(); - set_has_ctecycle_clause(); - _impl_.node_.ctecycle_clause_ = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); + set_has_create_seq_stmt(); + _impl_.node_.create_seq_stmt_ = CreateMaybeMessage<::pg_query::CreateSeqStmt>(GetArena()); } - return _impl_.node_.ctecycle_clause_; + return _impl_.node_.create_seq_stmt_; } -inline ::pg_query::CTECycleClause* Node::mutable_ctecycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CTECycleClause* _msg = _internal_mutable_ctecycle_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.ctecycle_clause) +inline ::pg_query::CreateSeqStmt* Node::mutable_create_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSeqStmt* _msg = _internal_mutable_create_seq_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_seq_stmt) return _msg; } -// .pg_query.CommonTableExpr common_table_expr = 103 [json_name = "CommonTableExpr"]; -inline bool Node::has_common_table_expr() const { - return node_case() == kCommonTableExpr; +// .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"]; +inline bool Node::has_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt; } -inline bool Node::_internal_has_common_table_expr() const { - return node_case() == kCommonTableExpr; +inline bool Node::_internal_has_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt; } -inline void Node::set_has_common_table_expr() { - _impl_._oneof_case_[0] = kCommonTableExpr; +inline void Node::set_has_alter_seq_stmt() { + _impl_._oneof_case_[0] = kAlterSeqStmt; } -inline void Node::clear_common_table_expr() { +inline void Node::clear_alter_seq_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCommonTableExpr) { + if (node_case() == kAlterSeqStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.common_table_expr_; + delete _impl_.node_.alter_seq_stmt_; } clear_has_node(); } } -inline ::pg_query::CommonTableExpr* Node::release_common_table_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.common_table_expr) - if (node_case() == kCommonTableExpr) { +inline ::pg_query::AlterSeqStmt* Node::release_alter_seq_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_seq_stmt) + if (node_case() == kAlterSeqStmt) { clear_has_node(); - auto* temp = _impl_.node_.common_table_expr_; + auto* temp = _impl_.node_.alter_seq_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.common_table_expr_ = nullptr; + _impl_.node_.alter_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CommonTableExpr& Node::_internal_common_table_expr() const { - return node_case() == kCommonTableExpr ? *_impl_.node_.common_table_expr_ : reinterpret_cast<::pg_query::CommonTableExpr&>(::pg_query::_CommonTableExpr_default_instance_); +inline const ::pg_query::AlterSeqStmt& Node::_internal_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt ? *_impl_.node_.alter_seq_stmt_ : reinterpret_cast<::pg_query::AlterSeqStmt&>(::pg_query::_AlterSeqStmt_default_instance_); } -inline const ::pg_query::CommonTableExpr& Node::common_table_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.common_table_expr) - return _internal_common_table_expr(); +inline const ::pg_query::AlterSeqStmt& Node::alter_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_seq_stmt) + return _internal_alter_seq_stmt(); } -inline ::pg_query::CommonTableExpr* Node::unsafe_arena_release_common_table_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.common_table_expr) - if (node_case() == kCommonTableExpr) { +inline ::pg_query::AlterSeqStmt* Node::unsafe_arena_release_alter_seq_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_seq_stmt) + if (node_case() == kAlterSeqStmt) { clear_has_node(); - auto* temp = _impl_.node_.common_table_expr_; - _impl_.node_.common_table_expr_ = nullptr; + auto* temp = _impl_.node_.alter_seq_stmt_; + _impl_.node_.alter_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value) { +inline void Node::unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_common_table_expr(); - _impl_.node_.common_table_expr_ = value; + set_has_alter_seq_stmt(); + _impl_.node_.alter_seq_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.common_table_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_seq_stmt) } -inline ::pg_query::CommonTableExpr* Node::_internal_mutable_common_table_expr() { - if (node_case() != kCommonTableExpr) { +inline ::pg_query::AlterSeqStmt* Node::_internal_mutable_alter_seq_stmt() { + if (node_case() != kAlterSeqStmt) { clear_node(); - set_has_common_table_expr(); - _impl_.node_.common_table_expr_ = CreateMaybeMessage<::pg_query::CommonTableExpr>(GetArena()); + set_has_alter_seq_stmt(); + _impl_.node_.alter_seq_stmt_ = CreateMaybeMessage<::pg_query::AlterSeqStmt>(GetArena()); } - return _impl_.node_.common_table_expr_; + return _impl_.node_.alter_seq_stmt_; } -inline ::pg_query::CommonTableExpr* Node::mutable_common_table_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CommonTableExpr* _msg = _internal_mutable_common_table_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.common_table_expr) +inline ::pg_query::AlterSeqStmt* Node::mutable_alter_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSeqStmt* _msg = _internal_mutable_alter_seq_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_seq_stmt) return _msg; } -// .pg_query.MergeWhenClause merge_when_clause = 104 [json_name = "MergeWhenClause"]; -inline bool Node::has_merge_when_clause() const { - return node_case() == kMergeWhenClause; +// .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"]; +inline bool Node::has_define_stmt() const { + return node_case() == kDefineStmt; } -inline bool Node::_internal_has_merge_when_clause() const { - return node_case() == kMergeWhenClause; +inline bool Node::_internal_has_define_stmt() const { + return node_case() == kDefineStmt; } -inline void Node::set_has_merge_when_clause() { - _impl_._oneof_case_[0] = kMergeWhenClause; +inline void Node::set_has_define_stmt() { + _impl_._oneof_case_[0] = kDefineStmt; } -inline void Node::clear_merge_when_clause() { +inline void Node::clear_define_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kMergeWhenClause) { + if (node_case() == kDefineStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.merge_when_clause_; + delete _impl_.node_.define_stmt_; } clear_has_node(); } } -inline ::pg_query::MergeWhenClause* Node::release_merge_when_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_when_clause) - if (node_case() == kMergeWhenClause) { +inline ::pg_query::DefineStmt* Node::release_define_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.define_stmt) + if (node_case() == kDefineStmt) { clear_has_node(); - auto* temp = _impl_.node_.merge_when_clause_; + auto* temp = _impl_.node_.define_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_when_clause_ = nullptr; + _impl_.node_.define_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeWhenClause& Node::_internal_merge_when_clause() const { - return node_case() == kMergeWhenClause ? *_impl_.node_.merge_when_clause_ : reinterpret_cast<::pg_query::MergeWhenClause&>(::pg_query::_MergeWhenClause_default_instance_); +inline const ::pg_query::DefineStmt& Node::_internal_define_stmt() const { + return node_case() == kDefineStmt ? *_impl_.node_.define_stmt_ : reinterpret_cast<::pg_query::DefineStmt&>(::pg_query::_DefineStmt_default_instance_); } -inline const ::pg_query::MergeWhenClause& Node::merge_when_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_when_clause) - return _internal_merge_when_clause(); +inline const ::pg_query::DefineStmt& Node::define_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.define_stmt) + return _internal_define_stmt(); } -inline ::pg_query::MergeWhenClause* Node::unsafe_arena_release_merge_when_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_when_clause) - if (node_case() == kMergeWhenClause) { +inline ::pg_query::DefineStmt* Node::unsafe_arena_release_define_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.define_stmt) + if (node_case() == kDefineStmt) { clear_has_node(); - auto* temp = _impl_.node_.merge_when_clause_; - _impl_.node_.merge_when_clause_ = nullptr; + auto* temp = _impl_.node_.define_stmt_; + _impl_.node_.define_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value) { +inline void Node::unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_merge_when_clause(); - _impl_.node_.merge_when_clause_ = value; + set_has_define_stmt(); + _impl_.node_.define_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_when_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.define_stmt) } -inline ::pg_query::MergeWhenClause* Node::_internal_mutable_merge_when_clause() { - if (node_case() != kMergeWhenClause) { +inline ::pg_query::DefineStmt* Node::_internal_mutable_define_stmt() { + if (node_case() != kDefineStmt) { clear_node(); - set_has_merge_when_clause(); - _impl_.node_.merge_when_clause_ = CreateMaybeMessage<::pg_query::MergeWhenClause>(GetArena()); + set_has_define_stmt(); + _impl_.node_.define_stmt_ = CreateMaybeMessage<::pg_query::DefineStmt>(GetArena()); } - return _impl_.node_.merge_when_clause_; + return _impl_.node_.define_stmt_; } -inline ::pg_query::MergeWhenClause* Node::mutable_merge_when_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::MergeWhenClause* _msg = _internal_mutable_merge_when_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_when_clause) +inline ::pg_query::DefineStmt* Node::mutable_define_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DefineStmt* _msg = _internal_mutable_define_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.define_stmt) return _msg; } -// .pg_query.MergeAction merge_action = 105 [json_name = "MergeAction"]; -inline bool Node::has_merge_action() const { - return node_case() == kMergeAction; +// .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"]; +inline bool Node::has_create_domain_stmt() const { + return node_case() == kCreateDomainStmt; } -inline bool Node::_internal_has_merge_action() const { - return node_case() == kMergeAction; +inline bool Node::_internal_has_create_domain_stmt() const { + return node_case() == kCreateDomainStmt; } -inline void Node::set_has_merge_action() { - _impl_._oneof_case_[0] = kMergeAction; +inline void Node::set_has_create_domain_stmt() { + _impl_._oneof_case_[0] = kCreateDomainStmt; } -inline void Node::clear_merge_action() { +inline void Node::clear_create_domain_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kMergeAction) { + if (node_case() == kCreateDomainStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.merge_action_; + delete _impl_.node_.create_domain_stmt_; } clear_has_node(); } } -inline ::pg_query::MergeAction* Node::release_merge_action() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_action) - if (node_case() == kMergeAction) { +inline ::pg_query::CreateDomainStmt* Node::release_create_domain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_domain_stmt) + if (node_case() == kCreateDomainStmt) { clear_has_node(); - auto* temp = _impl_.node_.merge_action_; + auto* temp = _impl_.node_.create_domain_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_action_ = nullptr; + _impl_.node_.create_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeAction& Node::_internal_merge_action() const { - return node_case() == kMergeAction ? *_impl_.node_.merge_action_ : reinterpret_cast<::pg_query::MergeAction&>(::pg_query::_MergeAction_default_instance_); +inline const ::pg_query::CreateDomainStmt& Node::_internal_create_domain_stmt() const { + return node_case() == kCreateDomainStmt ? *_impl_.node_.create_domain_stmt_ : reinterpret_cast<::pg_query::CreateDomainStmt&>(::pg_query::_CreateDomainStmt_default_instance_); } -inline const ::pg_query::MergeAction& Node::merge_action() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_action) - return _internal_merge_action(); +inline const ::pg_query::CreateDomainStmt& Node::create_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_domain_stmt) + return _internal_create_domain_stmt(); } -inline ::pg_query::MergeAction* Node::unsafe_arena_release_merge_action() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_action) - if (node_case() == kMergeAction) { +inline ::pg_query::CreateDomainStmt* Node::unsafe_arena_release_create_domain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_domain_stmt) + if (node_case() == kCreateDomainStmt) { clear_has_node(); - auto* temp = _impl_.node_.merge_action_; - _impl_.node_.merge_action_ = nullptr; + auto* temp = _impl_.node_.create_domain_stmt_; + _impl_.node_.create_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value) { +inline void Node::unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_merge_action(); - _impl_.node_.merge_action_ = value; + set_has_create_domain_stmt(); + _impl_.node_.create_domain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_action) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_domain_stmt) } -inline ::pg_query::MergeAction* Node::_internal_mutable_merge_action() { - if (node_case() != kMergeAction) { +inline ::pg_query::CreateDomainStmt* Node::_internal_mutable_create_domain_stmt() { + if (node_case() != kCreateDomainStmt) { clear_node(); - set_has_merge_action(); - _impl_.node_.merge_action_ = CreateMaybeMessage<::pg_query::MergeAction>(GetArena()); + set_has_create_domain_stmt(); + _impl_.node_.create_domain_stmt_ = CreateMaybeMessage<::pg_query::CreateDomainStmt>(GetArena()); } - return _impl_.node_.merge_action_; + return _impl_.node_.create_domain_stmt_; } -inline ::pg_query::MergeAction* Node::mutable_merge_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::MergeAction* _msg = _internal_mutable_merge_action(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_action) +inline ::pg_query::CreateDomainStmt* Node::mutable_create_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateDomainStmt* _msg = _internal_mutable_create_domain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_domain_stmt) return _msg; } -// .pg_query.TriggerTransition trigger_transition = 106 [json_name = "TriggerTransition"]; -inline bool Node::has_trigger_transition() const { - return node_case() == kTriggerTransition; +// .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"]; +inline bool Node::has_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt; } -inline bool Node::_internal_has_trigger_transition() const { - return node_case() == kTriggerTransition; +inline bool Node::_internal_has_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt; } -inline void Node::set_has_trigger_transition() { - _impl_._oneof_case_[0] = kTriggerTransition; +inline void Node::set_has_create_op_class_stmt() { + _impl_._oneof_case_[0] = kCreateOpClassStmt; } -inline void Node::clear_trigger_transition() { +inline void Node::clear_create_op_class_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTriggerTransition) { + if (node_case() == kCreateOpClassStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.trigger_transition_; + delete _impl_.node_.create_op_class_stmt_; } clear_has_node(); } } -inline ::pg_query::TriggerTransition* Node::release_trigger_transition() { - // @@protoc_insertion_point(field_release:pg_query.Node.trigger_transition) - if (node_case() == kTriggerTransition) { +inline ::pg_query::CreateOpClassStmt* Node::release_create_op_class_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_stmt) + if (node_case() == kCreateOpClassStmt) { clear_has_node(); - auto* temp = _impl_.node_.trigger_transition_; + auto* temp = _impl_.node_.create_op_class_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.trigger_transition_ = nullptr; + _impl_.node_.create_op_class_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TriggerTransition& Node::_internal_trigger_transition() const { - return node_case() == kTriggerTransition ? *_impl_.node_.trigger_transition_ : reinterpret_cast<::pg_query::TriggerTransition&>(::pg_query::_TriggerTransition_default_instance_); +inline const ::pg_query::CreateOpClassStmt& Node::_internal_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt ? *_impl_.node_.create_op_class_stmt_ : reinterpret_cast<::pg_query::CreateOpClassStmt&>(::pg_query::_CreateOpClassStmt_default_instance_); } -inline const ::pg_query::TriggerTransition& Node::trigger_transition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.trigger_transition) - return _internal_trigger_transition(); +inline const ::pg_query::CreateOpClassStmt& Node::create_op_class_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_stmt) + return _internal_create_op_class_stmt(); } -inline ::pg_query::TriggerTransition* Node::unsafe_arena_release_trigger_transition() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.trigger_transition) - if (node_case() == kTriggerTransition) { +inline ::pg_query::CreateOpClassStmt* Node::unsafe_arena_release_create_op_class_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_stmt) + if (node_case() == kCreateOpClassStmt) { clear_has_node(); - auto* temp = _impl_.node_.trigger_transition_; - _impl_.node_.trigger_transition_ = nullptr; + auto* temp = _impl_.node_.create_op_class_stmt_; + _impl_.node_.create_op_class_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value) { +inline void Node::unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_trigger_transition(); - _impl_.node_.trigger_transition_ = value; + set_has_create_op_class_stmt(); + _impl_.node_.create_op_class_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.trigger_transition) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_stmt) } -inline ::pg_query::TriggerTransition* Node::_internal_mutable_trigger_transition() { - if (node_case() != kTriggerTransition) { +inline ::pg_query::CreateOpClassStmt* Node::_internal_mutable_create_op_class_stmt() { + if (node_case() != kCreateOpClassStmt) { clear_node(); - set_has_trigger_transition(); - _impl_.node_.trigger_transition_ = CreateMaybeMessage<::pg_query::TriggerTransition>(GetArena()); + set_has_create_op_class_stmt(); + _impl_.node_.create_op_class_stmt_ = CreateMaybeMessage<::pg_query::CreateOpClassStmt>(GetArena()); } - return _impl_.node_.trigger_transition_; + return _impl_.node_.create_op_class_stmt_; } -inline ::pg_query::TriggerTransition* Node::mutable_trigger_transition() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TriggerTransition* _msg = _internal_mutable_trigger_transition(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.trigger_transition) +inline ::pg_query::CreateOpClassStmt* Node::mutable_create_op_class_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpClassStmt* _msg = _internal_mutable_create_op_class_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_stmt) return _msg; } -// .pg_query.JsonOutput json_output = 107 [json_name = "JsonOutput"]; -inline bool Node::has_json_output() const { - return node_case() == kJsonOutput; +// .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"]; +inline bool Node::has_create_op_class_item() const { + return node_case() == kCreateOpClassItem; } -inline bool Node::_internal_has_json_output() const { - return node_case() == kJsonOutput; +inline bool Node::_internal_has_create_op_class_item() const { + return node_case() == kCreateOpClassItem; } -inline void Node::set_has_json_output() { - _impl_._oneof_case_[0] = kJsonOutput; +inline void Node::set_has_create_op_class_item() { + _impl_._oneof_case_[0] = kCreateOpClassItem; } -inline void Node::clear_json_output() { +inline void Node::clear_create_op_class_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonOutput) { + if (node_case() == kCreateOpClassItem) { if (GetArena() == nullptr) { - delete _impl_.node_.json_output_; + delete _impl_.node_.create_op_class_item_; } clear_has_node(); } } -inline ::pg_query::JsonOutput* Node::release_json_output() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_output) - if (node_case() == kJsonOutput) { +inline ::pg_query::CreateOpClassItem* Node::release_create_op_class_item() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_item) + if (node_case() == kCreateOpClassItem) { clear_has_node(); - auto* temp = _impl_.node_.json_output_; + auto* temp = _impl_.node_.create_op_class_item_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_output_ = nullptr; + _impl_.node_.create_op_class_item_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonOutput& Node::_internal_json_output() const { - return node_case() == kJsonOutput ? *_impl_.node_.json_output_ : reinterpret_cast<::pg_query::JsonOutput&>(::pg_query::_JsonOutput_default_instance_); +inline const ::pg_query::CreateOpClassItem& Node::_internal_create_op_class_item() const { + return node_case() == kCreateOpClassItem ? *_impl_.node_.create_op_class_item_ : reinterpret_cast<::pg_query::CreateOpClassItem&>(::pg_query::_CreateOpClassItem_default_instance_); } -inline const ::pg_query::JsonOutput& Node::json_output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_output) - return _internal_json_output(); +inline const ::pg_query::CreateOpClassItem& Node::create_op_class_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_item) + return _internal_create_op_class_item(); } -inline ::pg_query::JsonOutput* Node::unsafe_arena_release_json_output() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_output) - if (node_case() == kJsonOutput) { +inline ::pg_query::CreateOpClassItem* Node::unsafe_arena_release_create_op_class_item() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_item) + if (node_case() == kCreateOpClassItem) { clear_has_node(); - auto* temp = _impl_.node_.json_output_; - _impl_.node_.json_output_ = nullptr; + auto* temp = _impl_.node_.create_op_class_item_; + _impl_.node_.create_op_class_item_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value) { +inline void Node::unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_output(); - _impl_.node_.json_output_ = value; + set_has_create_op_class_item(); + _impl_.node_.create_op_class_item_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_output) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_item) } -inline ::pg_query::JsonOutput* Node::_internal_mutable_json_output() { - if (node_case() != kJsonOutput) { +inline ::pg_query::CreateOpClassItem* Node::_internal_mutable_create_op_class_item() { + if (node_case() != kCreateOpClassItem) { clear_node(); - set_has_json_output(); - _impl_.node_.json_output_ = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + set_has_create_op_class_item(); + _impl_.node_.create_op_class_item_ = CreateMaybeMessage<::pg_query::CreateOpClassItem>(GetArena()); } - return _impl_.node_.json_output_; + return _impl_.node_.create_op_class_item_; } -inline ::pg_query::JsonOutput* Node::mutable_json_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonOutput* _msg = _internal_mutable_json_output(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_output) +inline ::pg_query::CreateOpClassItem* Node::mutable_create_op_class_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpClassItem* _msg = _internal_mutable_create_op_class_item(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_item) return _msg; } -// .pg_query.JsonKeyValue json_key_value = 108 [json_name = "JsonKeyValue"]; -inline bool Node::has_json_key_value() const { - return node_case() == kJsonKeyValue; +// .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"]; +inline bool Node::has_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt; } -inline bool Node::_internal_has_json_key_value() const { - return node_case() == kJsonKeyValue; +inline bool Node::_internal_has_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt; } -inline void Node::set_has_json_key_value() { - _impl_._oneof_case_[0] = kJsonKeyValue; +inline void Node::set_has_create_op_family_stmt() { + _impl_._oneof_case_[0] = kCreateOpFamilyStmt; } -inline void Node::clear_json_key_value() { +inline void Node::clear_create_op_family_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonKeyValue) { + if (node_case() == kCreateOpFamilyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_key_value_; + delete _impl_.node_.create_op_family_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonKeyValue* Node::release_json_key_value() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_key_value) - if (node_case() == kJsonKeyValue) { +inline ::pg_query::CreateOpFamilyStmt* Node::release_create_op_family_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_family_stmt) + if (node_case() == kCreateOpFamilyStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_key_value_; + auto* temp = _impl_.node_.create_op_family_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_key_value_ = nullptr; + _impl_.node_.create_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonKeyValue& Node::_internal_json_key_value() const { - return node_case() == kJsonKeyValue ? *_impl_.node_.json_key_value_ : reinterpret_cast<::pg_query::JsonKeyValue&>(::pg_query::_JsonKeyValue_default_instance_); +inline const ::pg_query::CreateOpFamilyStmt& Node::_internal_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt ? *_impl_.node_.create_op_family_stmt_ : reinterpret_cast<::pg_query::CreateOpFamilyStmt&>(::pg_query::_CreateOpFamilyStmt_default_instance_); } -inline const ::pg_query::JsonKeyValue& Node::json_key_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_key_value) - return _internal_json_key_value(); +inline const ::pg_query::CreateOpFamilyStmt& Node::create_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_family_stmt) + return _internal_create_op_family_stmt(); } -inline ::pg_query::JsonKeyValue* Node::unsafe_arena_release_json_key_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_key_value) - if (node_case() == kJsonKeyValue) { +inline ::pg_query::CreateOpFamilyStmt* Node::unsafe_arena_release_create_op_family_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_family_stmt) + if (node_case() == kCreateOpFamilyStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_key_value_; - _impl_.node_.json_key_value_ = nullptr; + auto* temp = _impl_.node_.create_op_family_stmt_; + _impl_.node_.create_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value) { +inline void Node::unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_key_value(); - _impl_.node_.json_key_value_ = value; + set_has_create_op_family_stmt(); + _impl_.node_.create_op_family_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_key_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_family_stmt) } -inline ::pg_query::JsonKeyValue* Node::_internal_mutable_json_key_value() { - if (node_case() != kJsonKeyValue) { +inline ::pg_query::CreateOpFamilyStmt* Node::_internal_mutable_create_op_family_stmt() { + if (node_case() != kCreateOpFamilyStmt) { clear_node(); - set_has_json_key_value(); - _impl_.node_.json_key_value_ = CreateMaybeMessage<::pg_query::JsonKeyValue>(GetArena()); + set_has_create_op_family_stmt(); + _impl_.node_.create_op_family_stmt_ = CreateMaybeMessage<::pg_query::CreateOpFamilyStmt>(GetArena()); } - return _impl_.node_.json_key_value_; + return _impl_.node_.create_op_family_stmt_; } -inline ::pg_query::JsonKeyValue* Node::mutable_json_key_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonKeyValue* _msg = _internal_mutable_json_key_value(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_key_value) +inline ::pg_query::CreateOpFamilyStmt* Node::mutable_create_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpFamilyStmt* _msg = _internal_mutable_create_op_family_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_family_stmt) return _msg; } -// .pg_query.JsonObjectConstructor json_object_constructor = 109 [json_name = "JsonObjectConstructor"]; -inline bool Node::has_json_object_constructor() const { - return node_case() == kJsonObjectConstructor; +// .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"]; +inline bool Node::has_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt; } -inline bool Node::_internal_has_json_object_constructor() const { - return node_case() == kJsonObjectConstructor; +inline bool Node::_internal_has_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt; } -inline void Node::set_has_json_object_constructor() { - _impl_._oneof_case_[0] = kJsonObjectConstructor; +inline void Node::set_has_alter_op_family_stmt() { + _impl_._oneof_case_[0] = kAlterOpFamilyStmt; } -inline void Node::clear_json_object_constructor() { +inline void Node::clear_alter_op_family_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonObjectConstructor) { + if (node_case() == kAlterOpFamilyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_object_constructor_; + delete _impl_.node_.alter_op_family_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonObjectConstructor* Node::release_json_object_constructor() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_object_constructor) - if (node_case() == kJsonObjectConstructor) { +inline ::pg_query::AlterOpFamilyStmt* Node::release_alter_op_family_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_op_family_stmt) + if (node_case() == kAlterOpFamilyStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_object_constructor_; + auto* temp = _impl_.node_.alter_op_family_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_object_constructor_ = nullptr; + _impl_.node_.alter_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonObjectConstructor& Node::_internal_json_object_constructor() const { - return node_case() == kJsonObjectConstructor ? *_impl_.node_.json_object_constructor_ : reinterpret_cast<::pg_query::JsonObjectConstructor&>(::pg_query::_JsonObjectConstructor_default_instance_); +inline const ::pg_query::AlterOpFamilyStmt& Node::_internal_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt ? *_impl_.node_.alter_op_family_stmt_ : reinterpret_cast<::pg_query::AlterOpFamilyStmt&>(::pg_query::_AlterOpFamilyStmt_default_instance_); } -inline const ::pg_query::JsonObjectConstructor& Node::json_object_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_object_constructor) - return _internal_json_object_constructor(); +inline const ::pg_query::AlterOpFamilyStmt& Node::alter_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_op_family_stmt) + return _internal_alter_op_family_stmt(); } -inline ::pg_query::JsonObjectConstructor* Node::unsafe_arena_release_json_object_constructor() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_constructor) - if (node_case() == kJsonObjectConstructor) { +inline ::pg_query::AlterOpFamilyStmt* Node::unsafe_arena_release_alter_op_family_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_op_family_stmt) + if (node_case() == kAlterOpFamilyStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_object_constructor_; - _impl_.node_.json_object_constructor_ = nullptr; + auto* temp = _impl_.node_.alter_op_family_stmt_; + _impl_.node_.alter_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value) { +inline void Node::unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_object_constructor(); - _impl_.node_.json_object_constructor_ = value; + set_has_alter_op_family_stmt(); + _impl_.node_.alter_op_family_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_constructor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_op_family_stmt) } -inline ::pg_query::JsonObjectConstructor* Node::_internal_mutable_json_object_constructor() { - if (node_case() != kJsonObjectConstructor) { +inline ::pg_query::AlterOpFamilyStmt* Node::_internal_mutable_alter_op_family_stmt() { + if (node_case() != kAlterOpFamilyStmt) { clear_node(); - set_has_json_object_constructor(); - _impl_.node_.json_object_constructor_ = CreateMaybeMessage<::pg_query::JsonObjectConstructor>(GetArena()); + set_has_alter_op_family_stmt(); + _impl_.node_.alter_op_family_stmt_ = CreateMaybeMessage<::pg_query::AlterOpFamilyStmt>(GetArena()); } - return _impl_.node_.json_object_constructor_; + return _impl_.node_.alter_op_family_stmt_; } -inline ::pg_query::JsonObjectConstructor* Node::mutable_json_object_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonObjectConstructor* _msg = _internal_mutable_json_object_constructor(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_constructor) +inline ::pg_query::AlterOpFamilyStmt* Node::mutable_alter_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOpFamilyStmt* _msg = _internal_mutable_alter_op_family_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_op_family_stmt) return _msg; } -// .pg_query.JsonArrayConstructor json_array_constructor = 110 [json_name = "JsonArrayConstructor"]; -inline bool Node::has_json_array_constructor() const { - return node_case() == kJsonArrayConstructor; +// .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"]; +inline bool Node::has_drop_stmt() const { + return node_case() == kDropStmt; } -inline bool Node::_internal_has_json_array_constructor() const { - return node_case() == kJsonArrayConstructor; +inline bool Node::_internal_has_drop_stmt() const { + return node_case() == kDropStmt; } -inline void Node::set_has_json_array_constructor() { - _impl_._oneof_case_[0] = kJsonArrayConstructor; +inline void Node::set_has_drop_stmt() { + _impl_._oneof_case_[0] = kDropStmt; } -inline void Node::clear_json_array_constructor() { +inline void Node::clear_drop_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonArrayConstructor) { + if (node_case() == kDropStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_array_constructor_; + delete _impl_.node_.drop_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonArrayConstructor* Node::release_json_array_constructor() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_array_constructor) - if (node_case() == kJsonArrayConstructor) { +inline ::pg_query::DropStmt* Node::release_drop_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_stmt) + if (node_case() == kDropStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_constructor_; + auto* temp = _impl_.node_.drop_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_array_constructor_ = nullptr; + _impl_.node_.drop_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonArrayConstructor& Node::_internal_json_array_constructor() const { - return node_case() == kJsonArrayConstructor ? *_impl_.node_.json_array_constructor_ : reinterpret_cast<::pg_query::JsonArrayConstructor&>(::pg_query::_JsonArrayConstructor_default_instance_); +inline const ::pg_query::DropStmt& Node::_internal_drop_stmt() const { + return node_case() == kDropStmt ? *_impl_.node_.drop_stmt_ : reinterpret_cast<::pg_query::DropStmt&>(::pg_query::_DropStmt_default_instance_); } -inline const ::pg_query::JsonArrayConstructor& Node::json_array_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_array_constructor) - return _internal_json_array_constructor(); +inline const ::pg_query::DropStmt& Node::drop_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_stmt) + return _internal_drop_stmt(); } -inline ::pg_query::JsonArrayConstructor* Node::unsafe_arena_release_json_array_constructor() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_constructor) - if (node_case() == kJsonArrayConstructor) { +inline ::pg_query::DropStmt* Node::unsafe_arena_release_drop_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_stmt) + if (node_case() == kDropStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_constructor_; - _impl_.node_.json_array_constructor_ = nullptr; + auto* temp = _impl_.node_.drop_stmt_; + _impl_.node_.drop_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value) { +inline void Node::unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_array_constructor(); - _impl_.node_.json_array_constructor_ = value; + set_has_drop_stmt(); + _impl_.node_.drop_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_constructor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_stmt) } -inline ::pg_query::JsonArrayConstructor* Node::_internal_mutable_json_array_constructor() { - if (node_case() != kJsonArrayConstructor) { +inline ::pg_query::DropStmt* Node::_internal_mutable_drop_stmt() { + if (node_case() != kDropStmt) { clear_node(); - set_has_json_array_constructor(); - _impl_.node_.json_array_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayConstructor>(GetArena()); + set_has_drop_stmt(); + _impl_.node_.drop_stmt_ = CreateMaybeMessage<::pg_query::DropStmt>(GetArena()); } - return _impl_.node_.json_array_constructor_; + return _impl_.node_.drop_stmt_; } -inline ::pg_query::JsonArrayConstructor* Node::mutable_json_array_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonArrayConstructor* _msg = _internal_mutable_json_array_constructor(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_constructor) +inline ::pg_query::DropStmt* Node::mutable_drop_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropStmt* _msg = _internal_mutable_drop_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_stmt) return _msg; } -// .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 111 [json_name = "JsonArrayQueryConstructor"]; -inline bool Node::has_json_array_query_constructor() const { - return node_case() == kJsonArrayQueryConstructor; +// .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"]; +inline bool Node::has_truncate_stmt() const { + return node_case() == kTruncateStmt; } -inline bool Node::_internal_has_json_array_query_constructor() const { - return node_case() == kJsonArrayQueryConstructor; +inline bool Node::_internal_has_truncate_stmt() const { + return node_case() == kTruncateStmt; } -inline void Node::set_has_json_array_query_constructor() { - _impl_._oneof_case_[0] = kJsonArrayQueryConstructor; +inline void Node::set_has_truncate_stmt() { + _impl_._oneof_case_[0] = kTruncateStmt; } -inline void Node::clear_json_array_query_constructor() { +inline void Node::clear_truncate_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonArrayQueryConstructor) { + if (node_case() == kTruncateStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_array_query_constructor_; + delete _impl_.node_.truncate_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonArrayQueryConstructor* Node::release_json_array_query_constructor() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_array_query_constructor) - if (node_case() == kJsonArrayQueryConstructor) { +inline ::pg_query::TruncateStmt* Node::release_truncate_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.truncate_stmt) + if (node_case() == kTruncateStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_query_constructor_; + auto* temp = _impl_.node_.truncate_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_array_query_constructor_ = nullptr; + _impl_.node_.truncate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonArrayQueryConstructor& Node::_internal_json_array_query_constructor() const { - return node_case() == kJsonArrayQueryConstructor ? *_impl_.node_.json_array_query_constructor_ : reinterpret_cast<::pg_query::JsonArrayQueryConstructor&>(::pg_query::_JsonArrayQueryConstructor_default_instance_); +inline const ::pg_query::TruncateStmt& Node::_internal_truncate_stmt() const { + return node_case() == kTruncateStmt ? *_impl_.node_.truncate_stmt_ : reinterpret_cast<::pg_query::TruncateStmt&>(::pg_query::_TruncateStmt_default_instance_); } -inline const ::pg_query::JsonArrayQueryConstructor& Node::json_array_query_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_array_query_constructor) - return _internal_json_array_query_constructor(); +inline const ::pg_query::TruncateStmt& Node::truncate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.truncate_stmt) + return _internal_truncate_stmt(); } -inline ::pg_query::JsonArrayQueryConstructor* Node::unsafe_arena_release_json_array_query_constructor() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_query_constructor) - if (node_case() == kJsonArrayQueryConstructor) { +inline ::pg_query::TruncateStmt* Node::unsafe_arena_release_truncate_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.truncate_stmt) + if (node_case() == kTruncateStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_query_constructor_; - _impl_.node_.json_array_query_constructor_ = nullptr; + auto* temp = _impl_.node_.truncate_stmt_; + _impl_.node_.truncate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value) { +inline void Node::unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_array_query_constructor(); - _impl_.node_.json_array_query_constructor_ = value; + set_has_truncate_stmt(); + _impl_.node_.truncate_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_query_constructor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.truncate_stmt) } -inline ::pg_query::JsonArrayQueryConstructor* Node::_internal_mutable_json_array_query_constructor() { - if (node_case() != kJsonArrayQueryConstructor) { +inline ::pg_query::TruncateStmt* Node::_internal_mutable_truncate_stmt() { + if (node_case() != kTruncateStmt) { clear_node(); - set_has_json_array_query_constructor(); - _impl_.node_.json_array_query_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayQueryConstructor>(GetArena()); + set_has_truncate_stmt(); + _impl_.node_.truncate_stmt_ = CreateMaybeMessage<::pg_query::TruncateStmt>(GetArena()); } - return _impl_.node_.json_array_query_constructor_; + return _impl_.node_.truncate_stmt_; } -inline ::pg_query::JsonArrayQueryConstructor* Node::mutable_json_array_query_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonArrayQueryConstructor* _msg = _internal_mutable_json_array_query_constructor(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_query_constructor) +inline ::pg_query::TruncateStmt* Node::mutable_truncate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TruncateStmt* _msg = _internal_mutable_truncate_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.truncate_stmt) return _msg; } -// .pg_query.JsonAggConstructor json_agg_constructor = 112 [json_name = "JsonAggConstructor"]; -inline bool Node::has_json_agg_constructor() const { - return node_case() == kJsonAggConstructor; +// .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"]; +inline bool Node::has_comment_stmt() const { + return node_case() == kCommentStmt; } -inline bool Node::_internal_has_json_agg_constructor() const { - return node_case() == kJsonAggConstructor; +inline bool Node::_internal_has_comment_stmt() const { + return node_case() == kCommentStmt; } -inline void Node::set_has_json_agg_constructor() { - _impl_._oneof_case_[0] = kJsonAggConstructor; +inline void Node::set_has_comment_stmt() { + _impl_._oneof_case_[0] = kCommentStmt; } -inline void Node::clear_json_agg_constructor() { +inline void Node::clear_comment_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonAggConstructor) { + if (node_case() == kCommentStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_agg_constructor_; + delete _impl_.node_.comment_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonAggConstructor* Node::release_json_agg_constructor() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_agg_constructor) - if (node_case() == kJsonAggConstructor) { +inline ::pg_query::CommentStmt* Node::release_comment_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.comment_stmt) + if (node_case() == kCommentStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_agg_constructor_; + auto* temp = _impl_.node_.comment_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_agg_constructor_ = nullptr; + _impl_.node_.comment_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonAggConstructor& Node::_internal_json_agg_constructor() const { - return node_case() == kJsonAggConstructor ? *_impl_.node_.json_agg_constructor_ : reinterpret_cast<::pg_query::JsonAggConstructor&>(::pg_query::_JsonAggConstructor_default_instance_); +inline const ::pg_query::CommentStmt& Node::_internal_comment_stmt() const { + return node_case() == kCommentStmt ? *_impl_.node_.comment_stmt_ : reinterpret_cast<::pg_query::CommentStmt&>(::pg_query::_CommentStmt_default_instance_); } -inline const ::pg_query::JsonAggConstructor& Node::json_agg_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_agg_constructor) - return _internal_json_agg_constructor(); +inline const ::pg_query::CommentStmt& Node::comment_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.comment_stmt) + return _internal_comment_stmt(); } -inline ::pg_query::JsonAggConstructor* Node::unsafe_arena_release_json_agg_constructor() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_agg_constructor) - if (node_case() == kJsonAggConstructor) { +inline ::pg_query::CommentStmt* Node::unsafe_arena_release_comment_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.comment_stmt) + if (node_case() == kCommentStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_agg_constructor_; - _impl_.node_.json_agg_constructor_ = nullptr; + auto* temp = _impl_.node_.comment_stmt_; + _impl_.node_.comment_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value) { +inline void Node::unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_agg_constructor(); - _impl_.node_.json_agg_constructor_ = value; + set_has_comment_stmt(); + _impl_.node_.comment_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_agg_constructor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.comment_stmt) } -inline ::pg_query::JsonAggConstructor* Node::_internal_mutable_json_agg_constructor() { - if (node_case() != kJsonAggConstructor) { +inline ::pg_query::CommentStmt* Node::_internal_mutable_comment_stmt() { + if (node_case() != kCommentStmt) { clear_node(); - set_has_json_agg_constructor(); - _impl_.node_.json_agg_constructor_ = CreateMaybeMessage<::pg_query::JsonAggConstructor>(GetArena()); + set_has_comment_stmt(); + _impl_.node_.comment_stmt_ = CreateMaybeMessage<::pg_query::CommentStmt>(GetArena()); } - return _impl_.node_.json_agg_constructor_; + return _impl_.node_.comment_stmt_; } -inline ::pg_query::JsonAggConstructor* Node::mutable_json_agg_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonAggConstructor* _msg = _internal_mutable_json_agg_constructor(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_agg_constructor) +inline ::pg_query::CommentStmt* Node::mutable_comment_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CommentStmt* _msg = _internal_mutable_comment_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.comment_stmt) return _msg; } -// .pg_query.JsonObjectAgg json_object_agg = 113 [json_name = "JsonObjectAgg"]; -inline bool Node::has_json_object_agg() const { - return node_case() == kJsonObjectAgg; +// .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"]; +inline bool Node::has_sec_label_stmt() const { + return node_case() == kSecLabelStmt; } -inline bool Node::_internal_has_json_object_agg() const { - return node_case() == kJsonObjectAgg; +inline bool Node::_internal_has_sec_label_stmt() const { + return node_case() == kSecLabelStmt; } -inline void Node::set_has_json_object_agg() { - _impl_._oneof_case_[0] = kJsonObjectAgg; +inline void Node::set_has_sec_label_stmt() { + _impl_._oneof_case_[0] = kSecLabelStmt; } -inline void Node::clear_json_object_agg() { +inline void Node::clear_sec_label_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonObjectAgg) { + if (node_case() == kSecLabelStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_object_agg_; + delete _impl_.node_.sec_label_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonObjectAgg* Node::release_json_object_agg() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_object_agg) - if (node_case() == kJsonObjectAgg) { +inline ::pg_query::SecLabelStmt* Node::release_sec_label_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.sec_label_stmt) + if (node_case() == kSecLabelStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_object_agg_; + auto* temp = _impl_.node_.sec_label_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_object_agg_ = nullptr; + _impl_.node_.sec_label_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonObjectAgg& Node::_internal_json_object_agg() const { - return node_case() == kJsonObjectAgg ? *_impl_.node_.json_object_agg_ : reinterpret_cast<::pg_query::JsonObjectAgg&>(::pg_query::_JsonObjectAgg_default_instance_); +inline const ::pg_query::SecLabelStmt& Node::_internal_sec_label_stmt() const { + return node_case() == kSecLabelStmt ? *_impl_.node_.sec_label_stmt_ : reinterpret_cast<::pg_query::SecLabelStmt&>(::pg_query::_SecLabelStmt_default_instance_); } -inline const ::pg_query::JsonObjectAgg& Node::json_object_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_object_agg) - return _internal_json_object_agg(); +inline const ::pg_query::SecLabelStmt& Node::sec_label_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sec_label_stmt) + return _internal_sec_label_stmt(); } -inline ::pg_query::JsonObjectAgg* Node::unsafe_arena_release_json_object_agg() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_agg) - if (node_case() == kJsonObjectAgg) { +inline ::pg_query::SecLabelStmt* Node::unsafe_arena_release_sec_label_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sec_label_stmt) + if (node_case() == kSecLabelStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_object_agg_; - _impl_.node_.json_object_agg_ = nullptr; + auto* temp = _impl_.node_.sec_label_stmt_; + _impl_.node_.sec_label_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value) { +inline void Node::unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_object_agg(); - _impl_.node_.json_object_agg_ = value; + set_has_sec_label_stmt(); + _impl_.node_.sec_label_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_agg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sec_label_stmt) } -inline ::pg_query::JsonObjectAgg* Node::_internal_mutable_json_object_agg() { - if (node_case() != kJsonObjectAgg) { +inline ::pg_query::SecLabelStmt* Node::_internal_mutable_sec_label_stmt() { + if (node_case() != kSecLabelStmt) { clear_node(); - set_has_json_object_agg(); - _impl_.node_.json_object_agg_ = CreateMaybeMessage<::pg_query::JsonObjectAgg>(GetArena()); + set_has_sec_label_stmt(); + _impl_.node_.sec_label_stmt_ = CreateMaybeMessage<::pg_query::SecLabelStmt>(GetArena()); } - return _impl_.node_.json_object_agg_; + return _impl_.node_.sec_label_stmt_; } -inline ::pg_query::JsonObjectAgg* Node::mutable_json_object_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonObjectAgg* _msg = _internal_mutable_json_object_agg(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_agg) +inline ::pg_query::SecLabelStmt* Node::mutable_sec_label_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SecLabelStmt* _msg = _internal_mutable_sec_label_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sec_label_stmt) return _msg; } -// .pg_query.JsonArrayAgg json_array_agg = 114 [json_name = "JsonArrayAgg"]; -inline bool Node::has_json_array_agg() const { - return node_case() == kJsonArrayAgg; +// .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"]; +inline bool Node::has_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt; } -inline bool Node::_internal_has_json_array_agg() const { - return node_case() == kJsonArrayAgg; +inline bool Node::_internal_has_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt; } -inline void Node::set_has_json_array_agg() { - _impl_._oneof_case_[0] = kJsonArrayAgg; +inline void Node::set_has_declare_cursor_stmt() { + _impl_._oneof_case_[0] = kDeclareCursorStmt; } -inline void Node::clear_json_array_agg() { +inline void Node::clear_declare_cursor_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kJsonArrayAgg) { + if (node_case() == kDeclareCursorStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.json_array_agg_; + delete _impl_.node_.declare_cursor_stmt_; } clear_has_node(); } } -inline ::pg_query::JsonArrayAgg* Node::release_json_array_agg() { - // @@protoc_insertion_point(field_release:pg_query.Node.json_array_agg) - if (node_case() == kJsonArrayAgg) { +inline ::pg_query::DeclareCursorStmt* Node::release_declare_cursor_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.declare_cursor_stmt) + if (node_case() == kDeclareCursorStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_agg_; + auto* temp = _impl_.node_.declare_cursor_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.json_array_agg_ = nullptr; + _impl_.node_.declare_cursor_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JsonArrayAgg& Node::_internal_json_array_agg() const { - return node_case() == kJsonArrayAgg ? *_impl_.node_.json_array_agg_ : reinterpret_cast<::pg_query::JsonArrayAgg&>(::pg_query::_JsonArrayAgg_default_instance_); +inline const ::pg_query::DeclareCursorStmt& Node::_internal_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt ? *_impl_.node_.declare_cursor_stmt_ : reinterpret_cast<::pg_query::DeclareCursorStmt&>(::pg_query::_DeclareCursorStmt_default_instance_); } -inline const ::pg_query::JsonArrayAgg& Node::json_array_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.json_array_agg) - return _internal_json_array_agg(); +inline const ::pg_query::DeclareCursorStmt& Node::declare_cursor_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.declare_cursor_stmt) + return _internal_declare_cursor_stmt(); } -inline ::pg_query::JsonArrayAgg* Node::unsafe_arena_release_json_array_agg() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_agg) - if (node_case() == kJsonArrayAgg) { +inline ::pg_query::DeclareCursorStmt* Node::unsafe_arena_release_declare_cursor_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.declare_cursor_stmt) + if (node_case() == kDeclareCursorStmt) { clear_has_node(); - auto* temp = _impl_.node_.json_array_agg_; - _impl_.node_.json_array_agg_ = nullptr; + auto* temp = _impl_.node_.declare_cursor_stmt_; + _impl_.node_.declare_cursor_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value) { +inline void Node::unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_json_array_agg(); - _impl_.node_.json_array_agg_ = value; + set_has_declare_cursor_stmt(); + _impl_.node_.declare_cursor_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_agg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.declare_cursor_stmt) } -inline ::pg_query::JsonArrayAgg* Node::_internal_mutable_json_array_agg() { - if (node_case() != kJsonArrayAgg) { +inline ::pg_query::DeclareCursorStmt* Node::_internal_mutable_declare_cursor_stmt() { + if (node_case() != kDeclareCursorStmt) { clear_node(); - set_has_json_array_agg(); - _impl_.node_.json_array_agg_ = CreateMaybeMessage<::pg_query::JsonArrayAgg>(GetArena()); + set_has_declare_cursor_stmt(); + _impl_.node_.declare_cursor_stmt_ = CreateMaybeMessage<::pg_query::DeclareCursorStmt>(GetArena()); } - return _impl_.node_.json_array_agg_; + return _impl_.node_.declare_cursor_stmt_; } -inline ::pg_query::JsonArrayAgg* Node::mutable_json_array_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonArrayAgg* _msg = _internal_mutable_json_array_agg(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_agg) +inline ::pg_query::DeclareCursorStmt* Node::mutable_declare_cursor_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeclareCursorStmt* _msg = _internal_mutable_declare_cursor_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.declare_cursor_stmt) return _msg; } -// .pg_query.RawStmt raw_stmt = 115 [json_name = "RawStmt"]; -inline bool Node::has_raw_stmt() const { - return node_case() == kRawStmt; +// .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"]; +inline bool Node::has_close_portal_stmt() const { + return node_case() == kClosePortalStmt; } -inline bool Node::_internal_has_raw_stmt() const { - return node_case() == kRawStmt; +inline bool Node::_internal_has_close_portal_stmt() const { + return node_case() == kClosePortalStmt; } -inline void Node::set_has_raw_stmt() { - _impl_._oneof_case_[0] = kRawStmt; +inline void Node::set_has_close_portal_stmt() { + _impl_._oneof_case_[0] = kClosePortalStmt; } -inline void Node::clear_raw_stmt() { +inline void Node::clear_close_portal_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRawStmt) { + if (node_case() == kClosePortalStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.raw_stmt_; + delete _impl_.node_.close_portal_stmt_; } clear_has_node(); } } -inline ::pg_query::RawStmt* Node::release_raw_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.raw_stmt) - if (node_case() == kRawStmt) { +inline ::pg_query::ClosePortalStmt* Node::release_close_portal_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.close_portal_stmt) + if (node_case() == kClosePortalStmt) { clear_has_node(); - auto* temp = _impl_.node_.raw_stmt_; + auto* temp = _impl_.node_.close_portal_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.raw_stmt_ = nullptr; + _impl_.node_.close_portal_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RawStmt& Node::_internal_raw_stmt() const { - return node_case() == kRawStmt ? *_impl_.node_.raw_stmt_ : reinterpret_cast<::pg_query::RawStmt&>(::pg_query::_RawStmt_default_instance_); +inline const ::pg_query::ClosePortalStmt& Node::_internal_close_portal_stmt() const { + return node_case() == kClosePortalStmt ? *_impl_.node_.close_portal_stmt_ : reinterpret_cast<::pg_query::ClosePortalStmt&>(::pg_query::_ClosePortalStmt_default_instance_); } -inline const ::pg_query::RawStmt& Node::raw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.raw_stmt) - return _internal_raw_stmt(); +inline const ::pg_query::ClosePortalStmt& Node::close_portal_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.close_portal_stmt) + return _internal_close_portal_stmt(); } -inline ::pg_query::RawStmt* Node::unsafe_arena_release_raw_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.raw_stmt) - if (node_case() == kRawStmt) { +inline ::pg_query::ClosePortalStmt* Node::unsafe_arena_release_close_portal_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.close_portal_stmt) + if (node_case() == kClosePortalStmt) { clear_has_node(); - auto* temp = _impl_.node_.raw_stmt_; - _impl_.node_.raw_stmt_ = nullptr; + auto* temp = _impl_.node_.close_portal_stmt_; + _impl_.node_.close_portal_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value) { +inline void Node::unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_raw_stmt(); - _impl_.node_.raw_stmt_ = value; + set_has_close_portal_stmt(); + _impl_.node_.close_portal_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.raw_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.close_portal_stmt) } -inline ::pg_query::RawStmt* Node::_internal_mutable_raw_stmt() { - if (node_case() != kRawStmt) { +inline ::pg_query::ClosePortalStmt* Node::_internal_mutable_close_portal_stmt() { + if (node_case() != kClosePortalStmt) { clear_node(); - set_has_raw_stmt(); - _impl_.node_.raw_stmt_ = CreateMaybeMessage<::pg_query::RawStmt>(GetArena()); + set_has_close_portal_stmt(); + _impl_.node_.close_portal_stmt_ = CreateMaybeMessage<::pg_query::ClosePortalStmt>(GetArena()); } - return _impl_.node_.raw_stmt_; + return _impl_.node_.close_portal_stmt_; } -inline ::pg_query::RawStmt* Node::mutable_raw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RawStmt* _msg = _internal_mutable_raw_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.raw_stmt) +inline ::pg_query::ClosePortalStmt* Node::mutable_close_portal_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ClosePortalStmt* _msg = _internal_mutable_close_portal_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.close_portal_stmt) return _msg; } -// .pg_query.InsertStmt insert_stmt = 116 [json_name = "InsertStmt"]; -inline bool Node::has_insert_stmt() const { - return node_case() == kInsertStmt; +// .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"]; +inline bool Node::has_fetch_stmt() const { + return node_case() == kFetchStmt; } -inline bool Node::_internal_has_insert_stmt() const { - return node_case() == kInsertStmt; +inline bool Node::_internal_has_fetch_stmt() const { + return node_case() == kFetchStmt; } -inline void Node::set_has_insert_stmt() { - _impl_._oneof_case_[0] = kInsertStmt; +inline void Node::set_has_fetch_stmt() { + _impl_._oneof_case_[0] = kFetchStmt; } -inline void Node::clear_insert_stmt() { +inline void Node::clear_fetch_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kInsertStmt) { + if (node_case() == kFetchStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.insert_stmt_; + delete _impl_.node_.fetch_stmt_; } clear_has_node(); } } -inline ::pg_query::InsertStmt* Node::release_insert_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.insert_stmt) - if (node_case() == kInsertStmt) { +inline ::pg_query::FetchStmt* Node::release_fetch_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.fetch_stmt) + if (node_case() == kFetchStmt) { clear_has_node(); - auto* temp = _impl_.node_.insert_stmt_; + auto* temp = _impl_.node_.fetch_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.insert_stmt_ = nullptr; + _impl_.node_.fetch_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InsertStmt& Node::_internal_insert_stmt() const { - return node_case() == kInsertStmt ? *_impl_.node_.insert_stmt_ : reinterpret_cast<::pg_query::InsertStmt&>(::pg_query::_InsertStmt_default_instance_); +inline const ::pg_query::FetchStmt& Node::_internal_fetch_stmt() const { + return node_case() == kFetchStmt ? *_impl_.node_.fetch_stmt_ : reinterpret_cast<::pg_query::FetchStmt&>(::pg_query::_FetchStmt_default_instance_); } -inline const ::pg_query::InsertStmt& Node::insert_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.insert_stmt) - return _internal_insert_stmt(); +inline const ::pg_query::FetchStmt& Node::fetch_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.fetch_stmt) + return _internal_fetch_stmt(); } -inline ::pg_query::InsertStmt* Node::unsafe_arena_release_insert_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.insert_stmt) - if (node_case() == kInsertStmt) { +inline ::pg_query::FetchStmt* Node::unsafe_arena_release_fetch_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.fetch_stmt) + if (node_case() == kFetchStmt) { clear_has_node(); - auto* temp = _impl_.node_.insert_stmt_; - _impl_.node_.insert_stmt_ = nullptr; + auto* temp = _impl_.node_.fetch_stmt_; + _impl_.node_.fetch_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value) { +inline void Node::unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_insert_stmt(); - _impl_.node_.insert_stmt_ = value; + set_has_fetch_stmt(); + _impl_.node_.fetch_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.insert_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.fetch_stmt) } -inline ::pg_query::InsertStmt* Node::_internal_mutable_insert_stmt() { - if (node_case() != kInsertStmt) { +inline ::pg_query::FetchStmt* Node::_internal_mutable_fetch_stmt() { + if (node_case() != kFetchStmt) { clear_node(); - set_has_insert_stmt(); - _impl_.node_.insert_stmt_ = CreateMaybeMessage<::pg_query::InsertStmt>(GetArena()); + set_has_fetch_stmt(); + _impl_.node_.fetch_stmt_ = CreateMaybeMessage<::pg_query::FetchStmt>(GetArena()); } - return _impl_.node_.insert_stmt_; + return _impl_.node_.fetch_stmt_; } -inline ::pg_query::InsertStmt* Node::mutable_insert_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::InsertStmt* _msg = _internal_mutable_insert_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.insert_stmt) +inline ::pg_query::FetchStmt* Node::mutable_fetch_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FetchStmt* _msg = _internal_mutable_fetch_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.fetch_stmt) return _msg; } -// .pg_query.DeleteStmt delete_stmt = 117 [json_name = "DeleteStmt"]; -inline bool Node::has_delete_stmt() const { - return node_case() == kDeleteStmt; +// .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"]; +inline bool Node::has_index_stmt() const { + return node_case() == kIndexStmt; } -inline bool Node::_internal_has_delete_stmt() const { - return node_case() == kDeleteStmt; +inline bool Node::_internal_has_index_stmt() const { + return node_case() == kIndexStmt; } -inline void Node::set_has_delete_stmt() { - _impl_._oneof_case_[0] = kDeleteStmt; +inline void Node::set_has_index_stmt() { + _impl_._oneof_case_[0] = kIndexStmt; } -inline void Node::clear_delete_stmt() { +inline void Node::clear_index_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDeleteStmt) { + if (node_case() == kIndexStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.delete_stmt_; + delete _impl_.node_.index_stmt_; } clear_has_node(); } } -inline ::pg_query::DeleteStmt* Node::release_delete_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.delete_stmt) - if (node_case() == kDeleteStmt) { +inline ::pg_query::IndexStmt* Node::release_index_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.index_stmt) + if (node_case() == kIndexStmt) { clear_has_node(); - auto* temp = _impl_.node_.delete_stmt_; + auto* temp = _impl_.node_.index_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.delete_stmt_ = nullptr; + _impl_.node_.index_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DeleteStmt& Node::_internal_delete_stmt() const { - return node_case() == kDeleteStmt ? *_impl_.node_.delete_stmt_ : reinterpret_cast<::pg_query::DeleteStmt&>(::pg_query::_DeleteStmt_default_instance_); +inline const ::pg_query::IndexStmt& Node::_internal_index_stmt() const { + return node_case() == kIndexStmt ? *_impl_.node_.index_stmt_ : reinterpret_cast<::pg_query::IndexStmt&>(::pg_query::_IndexStmt_default_instance_); } -inline const ::pg_query::DeleteStmt& Node::delete_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.delete_stmt) - return _internal_delete_stmt(); +inline const ::pg_query::IndexStmt& Node::index_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.index_stmt) + return _internal_index_stmt(); } -inline ::pg_query::DeleteStmt* Node::unsafe_arena_release_delete_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.delete_stmt) - if (node_case() == kDeleteStmt) { +inline ::pg_query::IndexStmt* Node::unsafe_arena_release_index_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_stmt) + if (node_case() == kIndexStmt) { clear_has_node(); - auto* temp = _impl_.node_.delete_stmt_; - _impl_.node_.delete_stmt_ = nullptr; + auto* temp = _impl_.node_.index_stmt_; + _impl_.node_.index_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value) { +inline void Node::unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_delete_stmt(); - _impl_.node_.delete_stmt_ = value; + set_has_index_stmt(); + _impl_.node_.index_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.delete_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_stmt) } -inline ::pg_query::DeleteStmt* Node::_internal_mutable_delete_stmt() { - if (node_case() != kDeleteStmt) { +inline ::pg_query::IndexStmt* Node::_internal_mutable_index_stmt() { + if (node_case() != kIndexStmt) { clear_node(); - set_has_delete_stmt(); - _impl_.node_.delete_stmt_ = CreateMaybeMessage<::pg_query::DeleteStmt>(GetArena()); + set_has_index_stmt(); + _impl_.node_.index_stmt_ = CreateMaybeMessage<::pg_query::IndexStmt>(GetArena()); } - return _impl_.node_.delete_stmt_; + return _impl_.node_.index_stmt_; } -inline ::pg_query::DeleteStmt* Node::mutable_delete_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DeleteStmt* _msg = _internal_mutable_delete_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.delete_stmt) +inline ::pg_query::IndexStmt* Node::mutable_index_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IndexStmt* _msg = _internal_mutable_index_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.index_stmt) return _msg; } -// .pg_query.UpdateStmt update_stmt = 118 [json_name = "UpdateStmt"]; -inline bool Node::has_update_stmt() const { - return node_case() == kUpdateStmt; +// .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"]; +inline bool Node::has_create_stats_stmt() const { + return node_case() == kCreateStatsStmt; } -inline bool Node::_internal_has_update_stmt() const { - return node_case() == kUpdateStmt; +inline bool Node::_internal_has_create_stats_stmt() const { + return node_case() == kCreateStatsStmt; } -inline void Node::set_has_update_stmt() { - _impl_._oneof_case_[0] = kUpdateStmt; +inline void Node::set_has_create_stats_stmt() { + _impl_._oneof_case_[0] = kCreateStatsStmt; } -inline void Node::clear_update_stmt() { +inline void Node::clear_create_stats_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kUpdateStmt) { + if (node_case() == kCreateStatsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.update_stmt_; + delete _impl_.node_.create_stats_stmt_; } clear_has_node(); } } -inline ::pg_query::UpdateStmt* Node::release_update_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.update_stmt) - if (node_case() == kUpdateStmt) { +inline ::pg_query::CreateStatsStmt* Node::release_create_stats_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_stats_stmt) + if (node_case() == kCreateStatsStmt) { clear_has_node(); - auto* temp = _impl_.node_.update_stmt_; + auto* temp = _impl_.node_.create_stats_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.update_stmt_ = nullptr; + _impl_.node_.create_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::UpdateStmt& Node::_internal_update_stmt() const { - return node_case() == kUpdateStmt ? *_impl_.node_.update_stmt_ : reinterpret_cast<::pg_query::UpdateStmt&>(::pg_query::_UpdateStmt_default_instance_); +inline const ::pg_query::CreateStatsStmt& Node::_internal_create_stats_stmt() const { + return node_case() == kCreateStatsStmt ? *_impl_.node_.create_stats_stmt_ : reinterpret_cast<::pg_query::CreateStatsStmt&>(::pg_query::_CreateStatsStmt_default_instance_); } -inline const ::pg_query::UpdateStmt& Node::update_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.update_stmt) - return _internal_update_stmt(); +inline const ::pg_query::CreateStatsStmt& Node::create_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_stats_stmt) + return _internal_create_stats_stmt(); } -inline ::pg_query::UpdateStmt* Node::unsafe_arena_release_update_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.update_stmt) - if (node_case() == kUpdateStmt) { +inline ::pg_query::CreateStatsStmt* Node::unsafe_arena_release_create_stats_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stats_stmt) + if (node_case() == kCreateStatsStmt) { clear_has_node(); - auto* temp = _impl_.node_.update_stmt_; - _impl_.node_.update_stmt_ = nullptr; + auto* temp = _impl_.node_.create_stats_stmt_; + _impl_.node_.create_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_update_stmt(); - _impl_.node_.update_stmt_ = value; + set_has_create_stats_stmt(); + _impl_.node_.create_stats_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.update_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stats_stmt) } -inline ::pg_query::UpdateStmt* Node::_internal_mutable_update_stmt() { - if (node_case() != kUpdateStmt) { +inline ::pg_query::CreateStatsStmt* Node::_internal_mutable_create_stats_stmt() { + if (node_case() != kCreateStatsStmt) { clear_node(); - set_has_update_stmt(); - _impl_.node_.update_stmt_ = CreateMaybeMessage<::pg_query::UpdateStmt>(GetArena()); + set_has_create_stats_stmt(); + _impl_.node_.create_stats_stmt_ = CreateMaybeMessage<::pg_query::CreateStatsStmt>(GetArena()); } - return _impl_.node_.update_stmt_; + return _impl_.node_.create_stats_stmt_; } -inline ::pg_query::UpdateStmt* Node::mutable_update_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::UpdateStmt* _msg = _internal_mutable_update_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.update_stmt) +inline ::pg_query::CreateStatsStmt* Node::mutable_create_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateStatsStmt* _msg = _internal_mutable_create_stats_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stats_stmt) return _msg; } -// .pg_query.MergeStmt merge_stmt = 119 [json_name = "MergeStmt"]; -inline bool Node::has_merge_stmt() const { - return node_case() == kMergeStmt; +// .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"]; +inline bool Node::has_stats_elem() const { + return node_case() == kStatsElem; } -inline bool Node::_internal_has_merge_stmt() const { - return node_case() == kMergeStmt; +inline bool Node::_internal_has_stats_elem() const { + return node_case() == kStatsElem; } -inline void Node::set_has_merge_stmt() { - _impl_._oneof_case_[0] = kMergeStmt; +inline void Node::set_has_stats_elem() { + _impl_._oneof_case_[0] = kStatsElem; } -inline void Node::clear_merge_stmt() { +inline void Node::clear_stats_elem() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kMergeStmt) { + if (node_case() == kStatsElem) { if (GetArena() == nullptr) { - delete _impl_.node_.merge_stmt_; + delete _impl_.node_.stats_elem_; } clear_has_node(); } } -inline ::pg_query::MergeStmt* Node::release_merge_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_stmt) - if (node_case() == kMergeStmt) { +inline ::pg_query::StatsElem* Node::release_stats_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.stats_elem) + if (node_case() == kStatsElem) { clear_has_node(); - auto* temp = _impl_.node_.merge_stmt_; + auto* temp = _impl_.node_.stats_elem_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_stmt_ = nullptr; + _impl_.node_.stats_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeStmt& Node::_internal_merge_stmt() const { - return node_case() == kMergeStmt ? *_impl_.node_.merge_stmt_ : reinterpret_cast<::pg_query::MergeStmt&>(::pg_query::_MergeStmt_default_instance_); +inline const ::pg_query::StatsElem& Node::_internal_stats_elem() const { + return node_case() == kStatsElem ? *_impl_.node_.stats_elem_ : reinterpret_cast<::pg_query::StatsElem&>(::pg_query::_StatsElem_default_instance_); } -inline const ::pg_query::MergeStmt& Node::merge_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_stmt) - return _internal_merge_stmt(); +inline const ::pg_query::StatsElem& Node::stats_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.stats_elem) + return _internal_stats_elem(); } -inline ::pg_query::MergeStmt* Node::unsafe_arena_release_merge_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_stmt) - if (node_case() == kMergeStmt) { +inline ::pg_query::StatsElem* Node::unsafe_arena_release_stats_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.stats_elem) + if (node_case() == kStatsElem) { clear_has_node(); - auto* temp = _impl_.node_.merge_stmt_; - _impl_.node_.merge_stmt_ = nullptr; + auto* temp = _impl_.node_.stats_elem_; + _impl_.node_.stats_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value) { +inline void Node::unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_merge_stmt(); - _impl_.node_.merge_stmt_ = value; + set_has_stats_elem(); + _impl_.node_.stats_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.stats_elem) } -inline ::pg_query::MergeStmt* Node::_internal_mutable_merge_stmt() { - if (node_case() != kMergeStmt) { +inline ::pg_query::StatsElem* Node::_internal_mutable_stats_elem() { + if (node_case() != kStatsElem) { clear_node(); - set_has_merge_stmt(); - _impl_.node_.merge_stmt_ = CreateMaybeMessage<::pg_query::MergeStmt>(GetArena()); + set_has_stats_elem(); + _impl_.node_.stats_elem_ = CreateMaybeMessage<::pg_query::StatsElem>(GetArena()); } - return _impl_.node_.merge_stmt_; + return _impl_.node_.stats_elem_; } -inline ::pg_query::MergeStmt* Node::mutable_merge_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::MergeStmt* _msg = _internal_mutable_merge_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_stmt) +inline ::pg_query::StatsElem* Node::mutable_stats_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::StatsElem* _msg = _internal_mutable_stats_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.stats_elem) return _msg; } -// .pg_query.SelectStmt select_stmt = 120 [json_name = "SelectStmt"]; -inline bool Node::has_select_stmt() const { - return node_case() == kSelectStmt; +// .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"]; +inline bool Node::has_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt; } -inline bool Node::_internal_has_select_stmt() const { - return node_case() == kSelectStmt; +inline bool Node::_internal_has_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt; } -inline void Node::set_has_select_stmt() { - _impl_._oneof_case_[0] = kSelectStmt; +inline void Node::set_has_alter_stats_stmt() { + _impl_._oneof_case_[0] = kAlterStatsStmt; } -inline void Node::clear_select_stmt() { +inline void Node::clear_alter_stats_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSelectStmt) { + if (node_case() == kAlterStatsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.select_stmt_; + delete _impl_.node_.alter_stats_stmt_; } clear_has_node(); } } -inline ::pg_query::SelectStmt* Node::release_select_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.select_stmt) - if (node_case() == kSelectStmt) { +inline ::pg_query::AlterStatsStmt* Node::release_alter_stats_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_stats_stmt) + if (node_case() == kAlterStatsStmt) { clear_has_node(); - auto* temp = _impl_.node_.select_stmt_; + auto* temp = _impl_.node_.alter_stats_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.select_stmt_ = nullptr; + _impl_.node_.alter_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SelectStmt& Node::_internal_select_stmt() const { - return node_case() == kSelectStmt ? *_impl_.node_.select_stmt_ : reinterpret_cast<::pg_query::SelectStmt&>(::pg_query::_SelectStmt_default_instance_); +inline const ::pg_query::AlterStatsStmt& Node::_internal_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt ? *_impl_.node_.alter_stats_stmt_ : reinterpret_cast<::pg_query::AlterStatsStmt&>(::pg_query::_AlterStatsStmt_default_instance_); } -inline const ::pg_query::SelectStmt& Node::select_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.select_stmt) - return _internal_select_stmt(); +inline const ::pg_query::AlterStatsStmt& Node::alter_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_stats_stmt) + return _internal_alter_stats_stmt(); } -inline ::pg_query::SelectStmt* Node::unsafe_arena_release_select_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.select_stmt) - if (node_case() == kSelectStmt) { +inline ::pg_query::AlterStatsStmt* Node::unsafe_arena_release_alter_stats_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_stats_stmt) + if (node_case() == kAlterStatsStmt) { clear_has_node(); - auto* temp = _impl_.node_.select_stmt_; - _impl_.node_.select_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_stats_stmt_; + _impl_.node_.alter_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_select_stmt(); - _impl_.node_.select_stmt_ = value; + set_has_alter_stats_stmt(); + _impl_.node_.alter_stats_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.select_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_stats_stmt) } -inline ::pg_query::SelectStmt* Node::_internal_mutable_select_stmt() { - if (node_case() != kSelectStmt) { +inline ::pg_query::AlterStatsStmt* Node::_internal_mutable_alter_stats_stmt() { + if (node_case() != kAlterStatsStmt) { clear_node(); - set_has_select_stmt(); - _impl_.node_.select_stmt_ = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); + set_has_alter_stats_stmt(); + _impl_.node_.alter_stats_stmt_ = CreateMaybeMessage<::pg_query::AlterStatsStmt>(GetArena()); } - return _impl_.node_.select_stmt_; + return _impl_.node_.alter_stats_stmt_; } -inline ::pg_query::SelectStmt* Node::mutable_select_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SelectStmt* _msg = _internal_mutable_select_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.select_stmt) +inline ::pg_query::AlterStatsStmt* Node::mutable_alter_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterStatsStmt* _msg = _internal_mutable_alter_stats_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_stats_stmt) return _msg; } -// .pg_query.SetOperationStmt set_operation_stmt = 121 [json_name = "SetOperationStmt"]; -inline bool Node::has_set_operation_stmt() const { - return node_case() == kSetOperationStmt; +// .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"]; +inline bool Node::has_create_function_stmt() const { + return node_case() == kCreateFunctionStmt; } -inline bool Node::_internal_has_set_operation_stmt() const { - return node_case() == kSetOperationStmt; +inline bool Node::_internal_has_create_function_stmt() const { + return node_case() == kCreateFunctionStmt; } -inline void Node::set_has_set_operation_stmt() { - _impl_._oneof_case_[0] = kSetOperationStmt; +inline void Node::set_has_create_function_stmt() { + _impl_._oneof_case_[0] = kCreateFunctionStmt; } -inline void Node::clear_set_operation_stmt() { +inline void Node::clear_create_function_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSetOperationStmt) { + if (node_case() == kCreateFunctionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.set_operation_stmt_; + delete _impl_.node_.create_function_stmt_; } clear_has_node(); } } -inline ::pg_query::SetOperationStmt* Node::release_set_operation_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.set_operation_stmt) - if (node_case() == kSetOperationStmt) { +inline ::pg_query::CreateFunctionStmt* Node::release_create_function_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_function_stmt) + if (node_case() == kCreateFunctionStmt) { clear_has_node(); - auto* temp = _impl_.node_.set_operation_stmt_; + auto* temp = _impl_.node_.create_function_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.set_operation_stmt_ = nullptr; + _impl_.node_.create_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SetOperationStmt& Node::_internal_set_operation_stmt() const { - return node_case() == kSetOperationStmt ? *_impl_.node_.set_operation_stmt_ : reinterpret_cast<::pg_query::SetOperationStmt&>(::pg_query::_SetOperationStmt_default_instance_); +inline const ::pg_query::CreateFunctionStmt& Node::_internal_create_function_stmt() const { + return node_case() == kCreateFunctionStmt ? *_impl_.node_.create_function_stmt_ : reinterpret_cast<::pg_query::CreateFunctionStmt&>(::pg_query::_CreateFunctionStmt_default_instance_); } -inline const ::pg_query::SetOperationStmt& Node::set_operation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.set_operation_stmt) - return _internal_set_operation_stmt(); +inline const ::pg_query::CreateFunctionStmt& Node::create_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_function_stmt) + return _internal_create_function_stmt(); } -inline ::pg_query::SetOperationStmt* Node::unsafe_arena_release_set_operation_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_operation_stmt) - if (node_case() == kSetOperationStmt) { +inline ::pg_query::CreateFunctionStmt* Node::unsafe_arena_release_create_function_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_function_stmt) + if (node_case() == kCreateFunctionStmt) { clear_has_node(); - auto* temp = _impl_.node_.set_operation_stmt_; - _impl_.node_.set_operation_stmt_ = nullptr; + auto* temp = _impl_.node_.create_function_stmt_; + _impl_.node_.create_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_set_operation_stmt(); - _impl_.node_.set_operation_stmt_ = value; + set_has_create_function_stmt(); + _impl_.node_.create_function_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_operation_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_function_stmt) } -inline ::pg_query::SetOperationStmt* Node::_internal_mutable_set_operation_stmt() { - if (node_case() != kSetOperationStmt) { +inline ::pg_query::CreateFunctionStmt* Node::_internal_mutable_create_function_stmt() { + if (node_case() != kCreateFunctionStmt) { clear_node(); - set_has_set_operation_stmt(); - _impl_.node_.set_operation_stmt_ = CreateMaybeMessage<::pg_query::SetOperationStmt>(GetArena()); + set_has_create_function_stmt(); + _impl_.node_.create_function_stmt_ = CreateMaybeMessage<::pg_query::CreateFunctionStmt>(GetArena()); } - return _impl_.node_.set_operation_stmt_; + return _impl_.node_.create_function_stmt_; } -inline ::pg_query::SetOperationStmt* Node::mutable_set_operation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SetOperationStmt* _msg = _internal_mutable_set_operation_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.set_operation_stmt) +inline ::pg_query::CreateFunctionStmt* Node::mutable_create_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateFunctionStmt* _msg = _internal_mutable_create_function_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_function_stmt) return _msg; } -// .pg_query.ReturnStmt return_stmt = 122 [json_name = "ReturnStmt"]; -inline bool Node::has_return_stmt() const { - return node_case() == kReturnStmt; +// .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"]; +inline bool Node::has_function_parameter() const { + return node_case() == kFunctionParameter; } -inline bool Node::_internal_has_return_stmt() const { - return node_case() == kReturnStmt; +inline bool Node::_internal_has_function_parameter() const { + return node_case() == kFunctionParameter; } -inline void Node::set_has_return_stmt() { - _impl_._oneof_case_[0] = kReturnStmt; +inline void Node::set_has_function_parameter() { + _impl_._oneof_case_[0] = kFunctionParameter; } -inline void Node::clear_return_stmt() { +inline void Node::clear_function_parameter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kReturnStmt) { + if (node_case() == kFunctionParameter) { if (GetArena() == nullptr) { - delete _impl_.node_.return_stmt_; + delete _impl_.node_.function_parameter_; } clear_has_node(); } } -inline ::pg_query::ReturnStmt* Node::release_return_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.return_stmt) - if (node_case() == kReturnStmt) { +inline ::pg_query::FunctionParameter* Node::release_function_parameter() { + // @@protoc_insertion_point(field_release:pg_query.Node.function_parameter) + if (node_case() == kFunctionParameter) { clear_has_node(); - auto* temp = _impl_.node_.return_stmt_; + auto* temp = _impl_.node_.function_parameter_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.return_stmt_ = nullptr; + _impl_.node_.function_parameter_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReturnStmt& Node::_internal_return_stmt() const { - return node_case() == kReturnStmt ? *_impl_.node_.return_stmt_ : reinterpret_cast<::pg_query::ReturnStmt&>(::pg_query::_ReturnStmt_default_instance_); +inline const ::pg_query::FunctionParameter& Node::_internal_function_parameter() const { + return node_case() == kFunctionParameter ? *_impl_.node_.function_parameter_ : reinterpret_cast<::pg_query::FunctionParameter&>(::pg_query::_FunctionParameter_default_instance_); } -inline const ::pg_query::ReturnStmt& Node::return_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.return_stmt) - return _internal_return_stmt(); +inline const ::pg_query::FunctionParameter& Node::function_parameter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.function_parameter) + return _internal_function_parameter(); } -inline ::pg_query::ReturnStmt* Node::unsafe_arena_release_return_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.return_stmt) - if (node_case() == kReturnStmt) { +inline ::pg_query::FunctionParameter* Node::unsafe_arena_release_function_parameter() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.function_parameter) + if (node_case() == kFunctionParameter) { clear_has_node(); - auto* temp = _impl_.node_.return_stmt_; - _impl_.node_.return_stmt_ = nullptr; + auto* temp = _impl_.node_.function_parameter_; + _impl_.node_.function_parameter_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value) { +inline void Node::unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_return_stmt(); - _impl_.node_.return_stmt_ = value; + set_has_function_parameter(); + _impl_.node_.function_parameter_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.return_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.function_parameter) } -inline ::pg_query::ReturnStmt* Node::_internal_mutable_return_stmt() { - if (node_case() != kReturnStmt) { +inline ::pg_query::FunctionParameter* Node::_internal_mutable_function_parameter() { + if (node_case() != kFunctionParameter) { clear_node(); - set_has_return_stmt(); - _impl_.node_.return_stmt_ = CreateMaybeMessage<::pg_query::ReturnStmt>(GetArena()); + set_has_function_parameter(); + _impl_.node_.function_parameter_ = CreateMaybeMessage<::pg_query::FunctionParameter>(GetArena()); } - return _impl_.node_.return_stmt_; + return _impl_.node_.function_parameter_; } -inline ::pg_query::ReturnStmt* Node::mutable_return_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ReturnStmt* _msg = _internal_mutable_return_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.return_stmt) +inline ::pg_query::FunctionParameter* Node::mutable_function_parameter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FunctionParameter* _msg = _internal_mutable_function_parameter(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.function_parameter) return _msg; } -// .pg_query.PLAssignStmt plassign_stmt = 123 [json_name = "PLAssignStmt"]; -inline bool Node::has_plassign_stmt() const { - return node_case() == kPlassignStmt; +// .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"]; +inline bool Node::has_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt; } -inline bool Node::_internal_has_plassign_stmt() const { - return node_case() == kPlassignStmt; +inline bool Node::_internal_has_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt; } -inline void Node::set_has_plassign_stmt() { - _impl_._oneof_case_[0] = kPlassignStmt; +inline void Node::set_has_alter_function_stmt() { + _impl_._oneof_case_[0] = kAlterFunctionStmt; } -inline void Node::clear_plassign_stmt() { +inline void Node::clear_alter_function_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPlassignStmt) { + if (node_case() == kAlterFunctionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.plassign_stmt_; + delete _impl_.node_.alter_function_stmt_; } clear_has_node(); } } -inline ::pg_query::PLAssignStmt* Node::release_plassign_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.plassign_stmt) - if (node_case() == kPlassignStmt) { +inline ::pg_query::AlterFunctionStmt* Node::release_alter_function_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_function_stmt) + if (node_case() == kAlterFunctionStmt) { clear_has_node(); - auto* temp = _impl_.node_.plassign_stmt_; + auto* temp = _impl_.node_.alter_function_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.plassign_stmt_ = nullptr; + _impl_.node_.alter_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PLAssignStmt& Node::_internal_plassign_stmt() const { - return node_case() == kPlassignStmt ? *_impl_.node_.plassign_stmt_ : reinterpret_cast<::pg_query::PLAssignStmt&>(::pg_query::_PLAssignStmt_default_instance_); +inline const ::pg_query::AlterFunctionStmt& Node::_internal_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt ? *_impl_.node_.alter_function_stmt_ : reinterpret_cast<::pg_query::AlterFunctionStmt&>(::pg_query::_AlterFunctionStmt_default_instance_); } -inline const ::pg_query::PLAssignStmt& Node::plassign_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.plassign_stmt) - return _internal_plassign_stmt(); +inline const ::pg_query::AlterFunctionStmt& Node::alter_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_function_stmt) + return _internal_alter_function_stmt(); } -inline ::pg_query::PLAssignStmt* Node::unsafe_arena_release_plassign_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.plassign_stmt) - if (node_case() == kPlassignStmt) { +inline ::pg_query::AlterFunctionStmt* Node::unsafe_arena_release_alter_function_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_function_stmt) + if (node_case() == kAlterFunctionStmt) { clear_has_node(); - auto* temp = _impl_.node_.plassign_stmt_; - _impl_.node_.plassign_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_function_stmt_; + _impl_.node_.alter_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_plassign_stmt(); - _impl_.node_.plassign_stmt_ = value; + set_has_alter_function_stmt(); + _impl_.node_.alter_function_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.plassign_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_function_stmt) } -inline ::pg_query::PLAssignStmt* Node::_internal_mutable_plassign_stmt() { - if (node_case() != kPlassignStmt) { +inline ::pg_query::AlterFunctionStmt* Node::_internal_mutable_alter_function_stmt() { + if (node_case() != kAlterFunctionStmt) { clear_node(); - set_has_plassign_stmt(); - _impl_.node_.plassign_stmt_ = CreateMaybeMessage<::pg_query::PLAssignStmt>(GetArena()); + set_has_alter_function_stmt(); + _impl_.node_.alter_function_stmt_ = CreateMaybeMessage<::pg_query::AlterFunctionStmt>(GetArena()); } - return _impl_.node_.plassign_stmt_; + return _impl_.node_.alter_function_stmt_; } -inline ::pg_query::PLAssignStmt* Node::mutable_plassign_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PLAssignStmt* _msg = _internal_mutable_plassign_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.plassign_stmt) +inline ::pg_query::AlterFunctionStmt* Node::mutable_alter_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterFunctionStmt* _msg = _internal_mutable_alter_function_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_function_stmt) return _msg; } -// .pg_query.CreateSchemaStmt create_schema_stmt = 124 [json_name = "CreateSchemaStmt"]; -inline bool Node::has_create_schema_stmt() const { - return node_case() == kCreateSchemaStmt; +// .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"]; +inline bool Node::has_do_stmt() const { + return node_case() == kDoStmt; } -inline bool Node::_internal_has_create_schema_stmt() const { - return node_case() == kCreateSchemaStmt; +inline bool Node::_internal_has_do_stmt() const { + return node_case() == kDoStmt; } -inline void Node::set_has_create_schema_stmt() { - _impl_._oneof_case_[0] = kCreateSchemaStmt; +inline void Node::set_has_do_stmt() { + _impl_._oneof_case_[0] = kDoStmt; } -inline void Node::clear_create_schema_stmt() { +inline void Node::clear_do_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateSchemaStmt) { + if (node_case() == kDoStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_schema_stmt_; + delete _impl_.node_.do_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateSchemaStmt* Node::release_create_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_schema_stmt) - if (node_case() == kCreateSchemaStmt) { +inline ::pg_query::DoStmt* Node::release_do_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.do_stmt) + if (node_case() == kDoStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_schema_stmt_; + auto* temp = _impl_.node_.do_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_schema_stmt_ = nullptr; + _impl_.node_.do_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateSchemaStmt& Node::_internal_create_schema_stmt() const { - return node_case() == kCreateSchemaStmt ? *_impl_.node_.create_schema_stmt_ : reinterpret_cast<::pg_query::CreateSchemaStmt&>(::pg_query::_CreateSchemaStmt_default_instance_); +inline const ::pg_query::DoStmt& Node::_internal_do_stmt() const { + return node_case() == kDoStmt ? *_impl_.node_.do_stmt_ : reinterpret_cast<::pg_query::DoStmt&>(::pg_query::_DoStmt_default_instance_); } -inline const ::pg_query::CreateSchemaStmt& Node::create_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_schema_stmt) - return _internal_create_schema_stmt(); +inline const ::pg_query::DoStmt& Node::do_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.do_stmt) + return _internal_do_stmt(); } -inline ::pg_query::CreateSchemaStmt* Node::unsafe_arena_release_create_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_schema_stmt) - if (node_case() == kCreateSchemaStmt) { +inline ::pg_query::DoStmt* Node::unsafe_arena_release_do_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.do_stmt) + if (node_case() == kDoStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_schema_stmt_; - _impl_.node_.create_schema_stmt_ = nullptr; + auto* temp = _impl_.node_.do_stmt_; + _impl_.node_.do_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value) { +inline void Node::unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_schema_stmt(); - _impl_.node_.create_schema_stmt_ = value; + set_has_do_stmt(); + _impl_.node_.do_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_schema_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.do_stmt) } -inline ::pg_query::CreateSchemaStmt* Node::_internal_mutable_create_schema_stmt() { - if (node_case() != kCreateSchemaStmt) { +inline ::pg_query::DoStmt* Node::_internal_mutable_do_stmt() { + if (node_case() != kDoStmt) { clear_node(); - set_has_create_schema_stmt(); - _impl_.node_.create_schema_stmt_ = CreateMaybeMessage<::pg_query::CreateSchemaStmt>(GetArena()); + set_has_do_stmt(); + _impl_.node_.do_stmt_ = CreateMaybeMessage<::pg_query::DoStmt>(GetArena()); } - return _impl_.node_.create_schema_stmt_; + return _impl_.node_.do_stmt_; } -inline ::pg_query::CreateSchemaStmt* Node::mutable_create_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateSchemaStmt* _msg = _internal_mutable_create_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_schema_stmt) +inline ::pg_query::DoStmt* Node::mutable_do_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DoStmt* _msg = _internal_mutable_do_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.do_stmt) return _msg; } -// .pg_query.AlterTableStmt alter_table_stmt = 125 [json_name = "AlterTableStmt"]; -inline bool Node::has_alter_table_stmt() const { - return node_case() == kAlterTableStmt; +// .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"]; +inline bool Node::has_inline_code_block() const { + return node_case() == kInlineCodeBlock; } -inline bool Node::_internal_has_alter_table_stmt() const { - return node_case() == kAlterTableStmt; +inline bool Node::_internal_has_inline_code_block() const { + return node_case() == kInlineCodeBlock; } -inline void Node::set_has_alter_table_stmt() { - _impl_._oneof_case_[0] = kAlterTableStmt; +inline void Node::set_has_inline_code_block() { + _impl_._oneof_case_[0] = kInlineCodeBlock; } -inline void Node::clear_alter_table_stmt() { +inline void Node::clear_inline_code_block() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTableStmt) { + if (node_case() == kInlineCodeBlock) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_table_stmt_; + delete _impl_.node_.inline_code_block_; } clear_has_node(); } } -inline ::pg_query::AlterTableStmt* Node::release_alter_table_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_stmt) - if (node_case() == kAlterTableStmt) { +inline ::pg_query::InlineCodeBlock* Node::release_inline_code_block() { + // @@protoc_insertion_point(field_release:pg_query.Node.inline_code_block) + if (node_case() == kInlineCodeBlock) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_stmt_; + auto* temp = _impl_.node_.inline_code_block_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_stmt_ = nullptr; + _impl_.node_.inline_code_block_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableStmt& Node::_internal_alter_table_stmt() const { - return node_case() == kAlterTableStmt ? *_impl_.node_.alter_table_stmt_ : reinterpret_cast<::pg_query::AlterTableStmt&>(::pg_query::_AlterTableStmt_default_instance_); +inline const ::pg_query::InlineCodeBlock& Node::_internal_inline_code_block() const { + return node_case() == kInlineCodeBlock ? *_impl_.node_.inline_code_block_ : reinterpret_cast<::pg_query::InlineCodeBlock&>(::pg_query::_InlineCodeBlock_default_instance_); } -inline const ::pg_query::AlterTableStmt& Node::alter_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_stmt) - return _internal_alter_table_stmt(); +inline const ::pg_query::InlineCodeBlock& Node::inline_code_block() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.inline_code_block) + return _internal_inline_code_block(); } -inline ::pg_query::AlterTableStmt* Node::unsafe_arena_release_alter_table_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_stmt) - if (node_case() == kAlterTableStmt) { +inline ::pg_query::InlineCodeBlock* Node::unsafe_arena_release_inline_code_block() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inline_code_block) + if (node_case() == kInlineCodeBlock) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_stmt_; - _impl_.node_.alter_table_stmt_ = nullptr; + auto* temp = _impl_.node_.inline_code_block_; + _impl_.node_.inline_code_block_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value) { +inline void Node::unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_table_stmt(); - _impl_.node_.alter_table_stmt_ = value; + set_has_inline_code_block(); + _impl_.node_.inline_code_block_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inline_code_block) } -inline ::pg_query::AlterTableStmt* Node::_internal_mutable_alter_table_stmt() { - if (node_case() != kAlterTableStmt) { +inline ::pg_query::InlineCodeBlock* Node::_internal_mutable_inline_code_block() { + if (node_case() != kInlineCodeBlock) { clear_node(); - set_has_alter_table_stmt(); - _impl_.node_.alter_table_stmt_ = CreateMaybeMessage<::pg_query::AlterTableStmt>(GetArena()); + set_has_inline_code_block(); + _impl_.node_.inline_code_block_ = CreateMaybeMessage<::pg_query::InlineCodeBlock>(GetArena()); } - return _impl_.node_.alter_table_stmt_; + return _impl_.node_.inline_code_block_; } -inline ::pg_query::AlterTableStmt* Node::mutable_alter_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTableStmt* _msg = _internal_mutable_alter_table_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_stmt) +inline ::pg_query::InlineCodeBlock* Node::mutable_inline_code_block() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InlineCodeBlock* _msg = _internal_mutable_inline_code_block(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.inline_code_block) return _msg; } -// .pg_query.ReplicaIdentityStmt replica_identity_stmt = 126 [json_name = "ReplicaIdentityStmt"]; -inline bool Node::has_replica_identity_stmt() const { - return node_case() == kReplicaIdentityStmt; +// .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"]; +inline bool Node::has_call_stmt() const { + return node_case() == kCallStmt; } -inline bool Node::_internal_has_replica_identity_stmt() const { - return node_case() == kReplicaIdentityStmt; +inline bool Node::_internal_has_call_stmt() const { + return node_case() == kCallStmt; } -inline void Node::set_has_replica_identity_stmt() { - _impl_._oneof_case_[0] = kReplicaIdentityStmt; +inline void Node::set_has_call_stmt() { + _impl_._oneof_case_[0] = kCallStmt; } -inline void Node::clear_replica_identity_stmt() { +inline void Node::clear_call_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kReplicaIdentityStmt) { + if (node_case() == kCallStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.replica_identity_stmt_; + delete _impl_.node_.call_stmt_; } clear_has_node(); } } -inline ::pg_query::ReplicaIdentityStmt* Node::release_replica_identity_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.replica_identity_stmt) - if (node_case() == kReplicaIdentityStmt) { +inline ::pg_query::CallStmt* Node::release_call_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.call_stmt) + if (node_case() == kCallStmt) { clear_has_node(); - auto* temp = _impl_.node_.replica_identity_stmt_; + auto* temp = _impl_.node_.call_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.replica_identity_stmt_ = nullptr; + _impl_.node_.call_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReplicaIdentityStmt& Node::_internal_replica_identity_stmt() const { - return node_case() == kReplicaIdentityStmt ? *_impl_.node_.replica_identity_stmt_ : reinterpret_cast<::pg_query::ReplicaIdentityStmt&>(::pg_query::_ReplicaIdentityStmt_default_instance_); +inline const ::pg_query::CallStmt& Node::_internal_call_stmt() const { + return node_case() == kCallStmt ? *_impl_.node_.call_stmt_ : reinterpret_cast<::pg_query::CallStmt&>(::pg_query::_CallStmt_default_instance_); } -inline const ::pg_query::ReplicaIdentityStmt& Node::replica_identity_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.replica_identity_stmt) - return _internal_replica_identity_stmt(); +inline const ::pg_query::CallStmt& Node::call_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.call_stmt) + return _internal_call_stmt(); } -inline ::pg_query::ReplicaIdentityStmt* Node::unsafe_arena_release_replica_identity_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.replica_identity_stmt) - if (node_case() == kReplicaIdentityStmt) { +inline ::pg_query::CallStmt* Node::unsafe_arena_release_call_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_stmt) + if (node_case() == kCallStmt) { clear_has_node(); - auto* temp = _impl_.node_.replica_identity_stmt_; - _impl_.node_.replica_identity_stmt_ = nullptr; + auto* temp = _impl_.node_.call_stmt_; + _impl_.node_.call_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value) { +inline void Node::unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_replica_identity_stmt(); - _impl_.node_.replica_identity_stmt_ = value; + set_has_call_stmt(); + _impl_.node_.call_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.replica_identity_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_stmt) } -inline ::pg_query::ReplicaIdentityStmt* Node::_internal_mutable_replica_identity_stmt() { - if (node_case() != kReplicaIdentityStmt) { +inline ::pg_query::CallStmt* Node::_internal_mutable_call_stmt() { + if (node_case() != kCallStmt) { clear_node(); - set_has_replica_identity_stmt(); - _impl_.node_.replica_identity_stmt_ = CreateMaybeMessage<::pg_query::ReplicaIdentityStmt>(GetArena()); + set_has_call_stmt(); + _impl_.node_.call_stmt_ = CreateMaybeMessage<::pg_query::CallStmt>(GetArena()); } - return _impl_.node_.replica_identity_stmt_; + return _impl_.node_.call_stmt_; } -inline ::pg_query::ReplicaIdentityStmt* Node::mutable_replica_identity_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ReplicaIdentityStmt* _msg = _internal_mutable_replica_identity_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.replica_identity_stmt) +inline ::pg_query::CallStmt* Node::mutable_call_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CallStmt* _msg = _internal_mutable_call_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.call_stmt) return _msg; } -// .pg_query.AlterTableCmd alter_table_cmd = 127 [json_name = "AlterTableCmd"]; -inline bool Node::has_alter_table_cmd() const { - return node_case() == kAlterTableCmd; +// .pg_query.CallContext call_context = 208 [json_name = "CallContext"]; +inline bool Node::has_call_context() const { + return node_case() == kCallContext; } -inline bool Node::_internal_has_alter_table_cmd() const { - return node_case() == kAlterTableCmd; +inline bool Node::_internal_has_call_context() const { + return node_case() == kCallContext; } -inline void Node::set_has_alter_table_cmd() { - _impl_._oneof_case_[0] = kAlterTableCmd; +inline void Node::set_has_call_context() { + _impl_._oneof_case_[0] = kCallContext; } -inline void Node::clear_alter_table_cmd() { +inline void Node::clear_call_context() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTableCmd) { + if (node_case() == kCallContext) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_table_cmd_; + delete _impl_.node_.call_context_; } clear_has_node(); } } -inline ::pg_query::AlterTableCmd* Node::release_alter_table_cmd() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_cmd) - if (node_case() == kAlterTableCmd) { +inline ::pg_query::CallContext* Node::release_call_context() { + // @@protoc_insertion_point(field_release:pg_query.Node.call_context) + if (node_case() == kCallContext) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_cmd_; + auto* temp = _impl_.node_.call_context_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_cmd_ = nullptr; + _impl_.node_.call_context_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableCmd& Node::_internal_alter_table_cmd() const { - return node_case() == kAlterTableCmd ? *_impl_.node_.alter_table_cmd_ : reinterpret_cast<::pg_query::AlterTableCmd&>(::pg_query::_AlterTableCmd_default_instance_); +inline const ::pg_query::CallContext& Node::_internal_call_context() const { + return node_case() == kCallContext ? *_impl_.node_.call_context_ : reinterpret_cast<::pg_query::CallContext&>(::pg_query::_CallContext_default_instance_); } -inline const ::pg_query::AlterTableCmd& Node::alter_table_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_cmd) - return _internal_alter_table_cmd(); +inline const ::pg_query::CallContext& Node::call_context() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.call_context) + return _internal_call_context(); } -inline ::pg_query::AlterTableCmd* Node::unsafe_arena_release_alter_table_cmd() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_cmd) - if (node_case() == kAlterTableCmd) { +inline ::pg_query::CallContext* Node::unsafe_arena_release_call_context() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_context) + if (node_case() == kCallContext) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_cmd_; - _impl_.node_.alter_table_cmd_ = nullptr; + auto* temp = _impl_.node_.call_context_; + _impl_.node_.call_context_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value) { +inline void Node::unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_table_cmd(); - _impl_.node_.alter_table_cmd_ = value; + set_has_call_context(); + _impl_.node_.call_context_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_cmd) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_context) } -inline ::pg_query::AlterTableCmd* Node::_internal_mutable_alter_table_cmd() { - if (node_case() != kAlterTableCmd) { +inline ::pg_query::CallContext* Node::_internal_mutable_call_context() { + if (node_case() != kCallContext) { clear_node(); - set_has_alter_table_cmd(); - _impl_.node_.alter_table_cmd_ = CreateMaybeMessage<::pg_query::AlterTableCmd>(GetArena()); + set_has_call_context(); + _impl_.node_.call_context_ = CreateMaybeMessage<::pg_query::CallContext>(GetArena()); } - return _impl_.node_.alter_table_cmd_; + return _impl_.node_.call_context_; } -inline ::pg_query::AlterTableCmd* Node::mutable_alter_table_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTableCmd* _msg = _internal_mutable_alter_table_cmd(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_cmd) +inline ::pg_query::CallContext* Node::mutable_call_context() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CallContext* _msg = _internal_mutable_call_context(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.call_context) return _msg; } -// .pg_query.AlterCollationStmt alter_collation_stmt = 128 [json_name = "AlterCollationStmt"]; -inline bool Node::has_alter_collation_stmt() const { - return node_case() == kAlterCollationStmt; +// .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"]; +inline bool Node::has_rename_stmt() const { + return node_case() == kRenameStmt; } -inline bool Node::_internal_has_alter_collation_stmt() const { - return node_case() == kAlterCollationStmt; +inline bool Node::_internal_has_rename_stmt() const { + return node_case() == kRenameStmt; } -inline void Node::set_has_alter_collation_stmt() { - _impl_._oneof_case_[0] = kAlterCollationStmt; +inline void Node::set_has_rename_stmt() { + _impl_._oneof_case_[0] = kRenameStmt; } -inline void Node::clear_alter_collation_stmt() { +inline void Node::clear_rename_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterCollationStmt) { + if (node_case() == kRenameStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_collation_stmt_; + delete _impl_.node_.rename_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterCollationStmt* Node::release_alter_collation_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_collation_stmt) - if (node_case() == kAlterCollationStmt) { +inline ::pg_query::RenameStmt* Node::release_rename_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.rename_stmt) + if (node_case() == kRenameStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_collation_stmt_; + auto* temp = _impl_.node_.rename_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_collation_stmt_ = nullptr; + _impl_.node_.rename_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterCollationStmt& Node::_internal_alter_collation_stmt() const { - return node_case() == kAlterCollationStmt ? *_impl_.node_.alter_collation_stmt_ : reinterpret_cast<::pg_query::AlterCollationStmt&>(::pg_query::_AlterCollationStmt_default_instance_); +inline const ::pg_query::RenameStmt& Node::_internal_rename_stmt() const { + return node_case() == kRenameStmt ? *_impl_.node_.rename_stmt_ : reinterpret_cast<::pg_query::RenameStmt&>(::pg_query::_RenameStmt_default_instance_); } -inline const ::pg_query::AlterCollationStmt& Node::alter_collation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_collation_stmt) - return _internal_alter_collation_stmt(); +inline const ::pg_query::RenameStmt& Node::rename_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rename_stmt) + return _internal_rename_stmt(); } -inline ::pg_query::AlterCollationStmt* Node::unsafe_arena_release_alter_collation_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_collation_stmt) - if (node_case() == kAlterCollationStmt) { +inline ::pg_query::RenameStmt* Node::unsafe_arena_release_rename_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rename_stmt) + if (node_case() == kRenameStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_collation_stmt_; - _impl_.node_.alter_collation_stmt_ = nullptr; + auto* temp = _impl_.node_.rename_stmt_; + _impl_.node_.rename_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value) { +inline void Node::unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_collation_stmt(); - _impl_.node_.alter_collation_stmt_ = value; + set_has_rename_stmt(); + _impl_.node_.rename_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_collation_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rename_stmt) } -inline ::pg_query::AlterCollationStmt* Node::_internal_mutable_alter_collation_stmt() { - if (node_case() != kAlterCollationStmt) { +inline ::pg_query::RenameStmt* Node::_internal_mutable_rename_stmt() { + if (node_case() != kRenameStmt) { clear_node(); - set_has_alter_collation_stmt(); - _impl_.node_.alter_collation_stmt_ = CreateMaybeMessage<::pg_query::AlterCollationStmt>(GetArena()); + set_has_rename_stmt(); + _impl_.node_.rename_stmt_ = CreateMaybeMessage<::pg_query::RenameStmt>(GetArena()); } - return _impl_.node_.alter_collation_stmt_; + return _impl_.node_.rename_stmt_; } -inline ::pg_query::AlterCollationStmt* Node::mutable_alter_collation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterCollationStmt* _msg = _internal_mutable_alter_collation_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_collation_stmt) +inline ::pg_query::RenameStmt* Node::mutable_rename_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RenameStmt* _msg = _internal_mutable_rename_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rename_stmt) return _msg; } -// .pg_query.AlterDomainStmt alter_domain_stmt = 129 [json_name = "AlterDomainStmt"]; -inline bool Node::has_alter_domain_stmt() const { - return node_case() == kAlterDomainStmt; +// .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"]; +inline bool Node::has_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt; } -inline bool Node::_internal_has_alter_domain_stmt() const { - return node_case() == kAlterDomainStmt; +inline bool Node::_internal_has_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt; } -inline void Node::set_has_alter_domain_stmt() { - _impl_._oneof_case_[0] = kAlterDomainStmt; +inline void Node::set_has_alter_object_depends_stmt() { + _impl_._oneof_case_[0] = kAlterObjectDependsStmt; } -inline void Node::clear_alter_domain_stmt() { +inline void Node::clear_alter_object_depends_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterDomainStmt) { + if (node_case() == kAlterObjectDependsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_domain_stmt_; + delete _impl_.node_.alter_object_depends_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterDomainStmt* Node::release_alter_domain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_domain_stmt) - if (node_case() == kAlterDomainStmt) { +inline ::pg_query::AlterObjectDependsStmt* Node::release_alter_object_depends_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_depends_stmt) + if (node_case() == kAlterObjectDependsStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_domain_stmt_; + auto* temp = _impl_.node_.alter_object_depends_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_domain_stmt_ = nullptr; + _impl_.node_.alter_object_depends_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDomainStmt& Node::_internal_alter_domain_stmt() const { - return node_case() == kAlterDomainStmt ? *_impl_.node_.alter_domain_stmt_ : reinterpret_cast<::pg_query::AlterDomainStmt&>(::pg_query::_AlterDomainStmt_default_instance_); +inline const ::pg_query::AlterObjectDependsStmt& Node::_internal_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt ? *_impl_.node_.alter_object_depends_stmt_ : reinterpret_cast<::pg_query::AlterObjectDependsStmt&>(::pg_query::_AlterObjectDependsStmt_default_instance_); } -inline const ::pg_query::AlterDomainStmt& Node::alter_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_domain_stmt) - return _internal_alter_domain_stmt(); +inline const ::pg_query::AlterObjectDependsStmt& Node::alter_object_depends_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_depends_stmt) + return _internal_alter_object_depends_stmt(); } -inline ::pg_query::AlterDomainStmt* Node::unsafe_arena_release_alter_domain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_domain_stmt) - if (node_case() == kAlterDomainStmt) { +inline ::pg_query::AlterObjectDependsStmt* Node::unsafe_arena_release_alter_object_depends_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_depends_stmt) + if (node_case() == kAlterObjectDependsStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_domain_stmt_; - _impl_.node_.alter_domain_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_object_depends_stmt_; + _impl_.node_.alter_object_depends_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_domain_stmt(); - _impl_.node_.alter_domain_stmt_ = value; + set_has_alter_object_depends_stmt(); + _impl_.node_.alter_object_depends_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_domain_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_depends_stmt) } -inline ::pg_query::AlterDomainStmt* Node::_internal_mutable_alter_domain_stmt() { - if (node_case() != kAlterDomainStmt) { +inline ::pg_query::AlterObjectDependsStmt* Node::_internal_mutable_alter_object_depends_stmt() { + if (node_case() != kAlterObjectDependsStmt) { clear_node(); - set_has_alter_domain_stmt(); - _impl_.node_.alter_domain_stmt_ = CreateMaybeMessage<::pg_query::AlterDomainStmt>(GetArena()); + set_has_alter_object_depends_stmt(); + _impl_.node_.alter_object_depends_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectDependsStmt>(GetArena()); } - return _impl_.node_.alter_domain_stmt_; + return _impl_.node_.alter_object_depends_stmt_; } -inline ::pg_query::AlterDomainStmt* Node::mutable_alter_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterDomainStmt* _msg = _internal_mutable_alter_domain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_domain_stmt) +inline ::pg_query::AlterObjectDependsStmt* Node::mutable_alter_object_depends_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterObjectDependsStmt* _msg = _internal_mutable_alter_object_depends_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_depends_stmt) return _msg; } -// .pg_query.GrantStmt grant_stmt = 130 [json_name = "GrantStmt"]; -inline bool Node::has_grant_stmt() const { - return node_case() == kGrantStmt; +// .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"]; +inline bool Node::has_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt; } -inline bool Node::_internal_has_grant_stmt() const { - return node_case() == kGrantStmt; +inline bool Node::_internal_has_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt; } -inline void Node::set_has_grant_stmt() { - _impl_._oneof_case_[0] = kGrantStmt; +inline void Node::set_has_alter_object_schema_stmt() { + _impl_._oneof_case_[0] = kAlterObjectSchemaStmt; } -inline void Node::clear_grant_stmt() { +inline void Node::clear_alter_object_schema_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kGrantStmt) { + if (node_case() == kAlterObjectSchemaStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.grant_stmt_; + delete _impl_.node_.alter_object_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::GrantStmt* Node::release_grant_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.grant_stmt) - if (node_case() == kGrantStmt) { +inline ::pg_query::AlterObjectSchemaStmt* Node::release_alter_object_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_schema_stmt) + if (node_case() == kAlterObjectSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.grant_stmt_; + auto* temp = _impl_.node_.alter_object_schema_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grant_stmt_ = nullptr; + _impl_.node_.alter_object_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GrantStmt& Node::_internal_grant_stmt() const { - return node_case() == kGrantStmt ? *_impl_.node_.grant_stmt_ : reinterpret_cast<::pg_query::GrantStmt&>(::pg_query::_GrantStmt_default_instance_); +inline const ::pg_query::AlterObjectSchemaStmt& Node::_internal_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt ? *_impl_.node_.alter_object_schema_stmt_ : reinterpret_cast<::pg_query::AlterObjectSchemaStmt&>(::pg_query::_AlterObjectSchemaStmt_default_instance_); } -inline const ::pg_query::GrantStmt& Node::grant_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.grant_stmt) - return _internal_grant_stmt(); +inline const ::pg_query::AlterObjectSchemaStmt& Node::alter_object_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_schema_stmt) + return _internal_alter_object_schema_stmt(); } -inline ::pg_query::GrantStmt* Node::unsafe_arena_release_grant_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_stmt) - if (node_case() == kGrantStmt) { +inline ::pg_query::AlterObjectSchemaStmt* Node::unsafe_arena_release_alter_object_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_schema_stmt) + if (node_case() == kAlterObjectSchemaStmt) { clear_has_node(); - auto* temp = _impl_.node_.grant_stmt_; - _impl_.node_.grant_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_object_schema_stmt_; + _impl_.node_.alter_object_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_grant_stmt(); - _impl_.node_.grant_stmt_ = value; + set_has_alter_object_schema_stmt(); + _impl_.node_.alter_object_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_schema_stmt) } -inline ::pg_query::GrantStmt* Node::_internal_mutable_grant_stmt() { - if (node_case() != kGrantStmt) { +inline ::pg_query::AlterObjectSchemaStmt* Node::_internal_mutable_alter_object_schema_stmt() { + if (node_case() != kAlterObjectSchemaStmt) { clear_node(); - set_has_grant_stmt(); - _impl_.node_.grant_stmt_ = CreateMaybeMessage<::pg_query::GrantStmt>(GetArena()); + set_has_alter_object_schema_stmt(); + _impl_.node_.alter_object_schema_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectSchemaStmt>(GetArena()); } - return _impl_.node_.grant_stmt_; + return _impl_.node_.alter_object_schema_stmt_; } -inline ::pg_query::GrantStmt* Node::mutable_grant_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::GrantStmt* _msg = _internal_mutable_grant_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_stmt) +inline ::pg_query::AlterObjectSchemaStmt* Node::mutable_alter_object_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterObjectSchemaStmt* _msg = _internal_mutable_alter_object_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_schema_stmt) return _msg; } -// .pg_query.ObjectWithArgs object_with_args = 131 [json_name = "ObjectWithArgs"]; -inline bool Node::has_object_with_args() const { - return node_case() == kObjectWithArgs; +// .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"]; +inline bool Node::has_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt; } -inline bool Node::_internal_has_object_with_args() const { - return node_case() == kObjectWithArgs; +inline bool Node::_internal_has_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt; } -inline void Node::set_has_object_with_args() { - _impl_._oneof_case_[0] = kObjectWithArgs; +inline void Node::set_has_alter_owner_stmt() { + _impl_._oneof_case_[0] = kAlterOwnerStmt; } -inline void Node::clear_object_with_args() { +inline void Node::clear_alter_owner_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kObjectWithArgs) { + if (node_case() == kAlterOwnerStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.object_with_args_; + delete _impl_.node_.alter_owner_stmt_; } clear_has_node(); } } -inline ::pg_query::ObjectWithArgs* Node::release_object_with_args() { - // @@protoc_insertion_point(field_release:pg_query.Node.object_with_args) - if (node_case() == kObjectWithArgs) { +inline ::pg_query::AlterOwnerStmt* Node::release_alter_owner_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_owner_stmt) + if (node_case() == kAlterOwnerStmt) { clear_has_node(); - auto* temp = _impl_.node_.object_with_args_; + auto* temp = _impl_.node_.alter_owner_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.object_with_args_ = nullptr; + _impl_.node_.alter_owner_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ObjectWithArgs& Node::_internal_object_with_args() const { - return node_case() == kObjectWithArgs ? *_impl_.node_.object_with_args_ : reinterpret_cast<::pg_query::ObjectWithArgs&>(::pg_query::_ObjectWithArgs_default_instance_); +inline const ::pg_query::AlterOwnerStmt& Node::_internal_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt ? *_impl_.node_.alter_owner_stmt_ : reinterpret_cast<::pg_query::AlterOwnerStmt&>(::pg_query::_AlterOwnerStmt_default_instance_); } -inline const ::pg_query::ObjectWithArgs& Node::object_with_args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.object_with_args) - return _internal_object_with_args(); +inline const ::pg_query::AlterOwnerStmt& Node::alter_owner_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_owner_stmt) + return _internal_alter_owner_stmt(); } -inline ::pg_query::ObjectWithArgs* Node::unsafe_arena_release_object_with_args() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.object_with_args) - if (node_case() == kObjectWithArgs) { +inline ::pg_query::AlterOwnerStmt* Node::unsafe_arena_release_alter_owner_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_owner_stmt) + if (node_case() == kAlterOwnerStmt) { clear_has_node(); - auto* temp = _impl_.node_.object_with_args_; - _impl_.node_.object_with_args_ = nullptr; + auto* temp = _impl_.node_.alter_owner_stmt_; + _impl_.node_.alter_owner_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value) { +inline void Node::unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_object_with_args(); - _impl_.node_.object_with_args_ = value; + set_has_alter_owner_stmt(); + _impl_.node_.alter_owner_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.object_with_args) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_owner_stmt) } -inline ::pg_query::ObjectWithArgs* Node::_internal_mutable_object_with_args() { - if (node_case() != kObjectWithArgs) { +inline ::pg_query::AlterOwnerStmt* Node::_internal_mutable_alter_owner_stmt() { + if (node_case() != kAlterOwnerStmt) { clear_node(); - set_has_object_with_args(); - _impl_.node_.object_with_args_ = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + set_has_alter_owner_stmt(); + _impl_.node_.alter_owner_stmt_ = CreateMaybeMessage<::pg_query::AlterOwnerStmt>(GetArena()); } - return _impl_.node_.object_with_args_; + return _impl_.node_.alter_owner_stmt_; } -inline ::pg_query::ObjectWithArgs* Node::mutable_object_with_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_object_with_args(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.object_with_args) +inline ::pg_query::AlterOwnerStmt* Node::mutable_alter_owner_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOwnerStmt* _msg = _internal_mutable_alter_owner_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_owner_stmt) return _msg; } -// .pg_query.AccessPriv access_priv = 132 [json_name = "AccessPriv"]; -inline bool Node::has_access_priv() const { - return node_case() == kAccessPriv; +// .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"]; +inline bool Node::has_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt; } -inline bool Node::_internal_has_access_priv() const { - return node_case() == kAccessPriv; +inline bool Node::_internal_has_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt; } -inline void Node::set_has_access_priv() { - _impl_._oneof_case_[0] = kAccessPriv; +inline void Node::set_has_alter_operator_stmt() { + _impl_._oneof_case_[0] = kAlterOperatorStmt; } -inline void Node::clear_access_priv() { +inline void Node::clear_alter_operator_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAccessPriv) { + if (node_case() == kAlterOperatorStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.access_priv_; + delete _impl_.node_.alter_operator_stmt_; } clear_has_node(); } } -inline ::pg_query::AccessPriv* Node::release_access_priv() { - // @@protoc_insertion_point(field_release:pg_query.Node.access_priv) - if (node_case() == kAccessPriv) { +inline ::pg_query::AlterOperatorStmt* Node::release_alter_operator_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_operator_stmt) + if (node_case() == kAlterOperatorStmt) { clear_has_node(); - auto* temp = _impl_.node_.access_priv_; + auto* temp = _impl_.node_.alter_operator_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.access_priv_ = nullptr; + _impl_.node_.alter_operator_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AccessPriv& Node::_internal_access_priv() const { - return node_case() == kAccessPriv ? *_impl_.node_.access_priv_ : reinterpret_cast<::pg_query::AccessPriv&>(::pg_query::_AccessPriv_default_instance_); +inline const ::pg_query::AlterOperatorStmt& Node::_internal_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt ? *_impl_.node_.alter_operator_stmt_ : reinterpret_cast<::pg_query::AlterOperatorStmt&>(::pg_query::_AlterOperatorStmt_default_instance_); } -inline const ::pg_query::AccessPriv& Node::access_priv() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.access_priv) - return _internal_access_priv(); +inline const ::pg_query::AlterOperatorStmt& Node::alter_operator_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_operator_stmt) + return _internal_alter_operator_stmt(); } -inline ::pg_query::AccessPriv* Node::unsafe_arena_release_access_priv() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.access_priv) - if (node_case() == kAccessPriv) { +inline ::pg_query::AlterOperatorStmt* Node::unsafe_arena_release_alter_operator_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_operator_stmt) + if (node_case() == kAlterOperatorStmt) { clear_has_node(); - auto* temp = _impl_.node_.access_priv_; - _impl_.node_.access_priv_ = nullptr; + auto* temp = _impl_.node_.alter_operator_stmt_; + _impl_.node_.alter_operator_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value) { +inline void Node::unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_access_priv(); - _impl_.node_.access_priv_ = value; + set_has_alter_operator_stmt(); + _impl_.node_.alter_operator_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.access_priv) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_operator_stmt) } -inline ::pg_query::AccessPriv* Node::_internal_mutable_access_priv() { - if (node_case() != kAccessPriv) { +inline ::pg_query::AlterOperatorStmt* Node::_internal_mutable_alter_operator_stmt() { + if (node_case() != kAlterOperatorStmt) { clear_node(); - set_has_access_priv(); - _impl_.node_.access_priv_ = CreateMaybeMessage<::pg_query::AccessPriv>(GetArena()); + set_has_alter_operator_stmt(); + _impl_.node_.alter_operator_stmt_ = CreateMaybeMessage<::pg_query::AlterOperatorStmt>(GetArena()); } - return _impl_.node_.access_priv_; + return _impl_.node_.alter_operator_stmt_; } -inline ::pg_query::AccessPriv* Node::mutable_access_priv() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AccessPriv* _msg = _internal_mutable_access_priv(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.access_priv) +inline ::pg_query::AlterOperatorStmt* Node::mutable_alter_operator_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOperatorStmt* _msg = _internal_mutable_alter_operator_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_operator_stmt) return _msg; } -// .pg_query.GrantRoleStmt grant_role_stmt = 133 [json_name = "GrantRoleStmt"]; -inline bool Node::has_grant_role_stmt() const { - return node_case() == kGrantRoleStmt; +// .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"]; +inline bool Node::has_alter_type_stmt() const { + return node_case() == kAlterTypeStmt; } -inline bool Node::_internal_has_grant_role_stmt() const { - return node_case() == kGrantRoleStmt; +inline bool Node::_internal_has_alter_type_stmt() const { + return node_case() == kAlterTypeStmt; } -inline void Node::set_has_grant_role_stmt() { - _impl_._oneof_case_[0] = kGrantRoleStmt; +inline void Node::set_has_alter_type_stmt() { + _impl_._oneof_case_[0] = kAlterTypeStmt; } -inline void Node::clear_grant_role_stmt() { +inline void Node::clear_alter_type_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kGrantRoleStmt) { + if (node_case() == kAlterTypeStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.grant_role_stmt_; + delete _impl_.node_.alter_type_stmt_; } clear_has_node(); } } -inline ::pg_query::GrantRoleStmt* Node::release_grant_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.grant_role_stmt) - if (node_case() == kGrantRoleStmt) { +inline ::pg_query::AlterTypeStmt* Node::release_alter_type_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_type_stmt) + if (node_case() == kAlterTypeStmt) { clear_has_node(); - auto* temp = _impl_.node_.grant_role_stmt_; + auto* temp = _impl_.node_.alter_type_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grant_role_stmt_ = nullptr; + _impl_.node_.alter_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GrantRoleStmt& Node::_internal_grant_role_stmt() const { - return node_case() == kGrantRoleStmt ? *_impl_.node_.grant_role_stmt_ : reinterpret_cast<::pg_query::GrantRoleStmt&>(::pg_query::_GrantRoleStmt_default_instance_); +inline const ::pg_query::AlterTypeStmt& Node::_internal_alter_type_stmt() const { + return node_case() == kAlterTypeStmt ? *_impl_.node_.alter_type_stmt_ : reinterpret_cast<::pg_query::AlterTypeStmt&>(::pg_query::_AlterTypeStmt_default_instance_); } -inline const ::pg_query::GrantRoleStmt& Node::grant_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.grant_role_stmt) - return _internal_grant_role_stmt(); +inline const ::pg_query::AlterTypeStmt& Node::alter_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_type_stmt) + return _internal_alter_type_stmt(); } -inline ::pg_query::GrantRoleStmt* Node::unsafe_arena_release_grant_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_role_stmt) - if (node_case() == kGrantRoleStmt) { +inline ::pg_query::AlterTypeStmt* Node::unsafe_arena_release_alter_type_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_type_stmt) + if (node_case() == kAlterTypeStmt) { clear_has_node(); - auto* temp = _impl_.node_.grant_role_stmt_; - _impl_.node_.grant_role_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_type_stmt_; + _impl_.node_.alter_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_grant_role_stmt(); - _impl_.node_.grant_role_stmt_ = value; + set_has_alter_type_stmt(); + _impl_.node_.alter_type_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_type_stmt) } -inline ::pg_query::GrantRoleStmt* Node::_internal_mutable_grant_role_stmt() { - if (node_case() != kGrantRoleStmt) { +inline ::pg_query::AlterTypeStmt* Node::_internal_mutable_alter_type_stmt() { + if (node_case() != kAlterTypeStmt) { clear_node(); - set_has_grant_role_stmt(); - _impl_.node_.grant_role_stmt_ = CreateMaybeMessage<::pg_query::GrantRoleStmt>(GetArena()); + set_has_alter_type_stmt(); + _impl_.node_.alter_type_stmt_ = CreateMaybeMessage<::pg_query::AlterTypeStmt>(GetArena()); } - return _impl_.node_.grant_role_stmt_; + return _impl_.node_.alter_type_stmt_; } -inline ::pg_query::GrantRoleStmt* Node::mutable_grant_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::GrantRoleStmt* _msg = _internal_mutable_grant_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_role_stmt) +inline ::pg_query::AlterTypeStmt* Node::mutable_alter_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTypeStmt* _msg = _internal_mutable_alter_type_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_type_stmt) return _msg; } -// .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 134 [json_name = "AlterDefaultPrivilegesStmt"]; -inline bool Node::has_alter_default_privileges_stmt() const { - return node_case() == kAlterDefaultPrivilegesStmt; +// .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"]; +inline bool Node::has_rule_stmt() const { + return node_case() == kRuleStmt; } -inline bool Node::_internal_has_alter_default_privileges_stmt() const { - return node_case() == kAlterDefaultPrivilegesStmt; +inline bool Node::_internal_has_rule_stmt() const { + return node_case() == kRuleStmt; } -inline void Node::set_has_alter_default_privileges_stmt() { - _impl_._oneof_case_[0] = kAlterDefaultPrivilegesStmt; +inline void Node::set_has_rule_stmt() { + _impl_._oneof_case_[0] = kRuleStmt; } -inline void Node::clear_alter_default_privileges_stmt() { +inline void Node::clear_rule_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterDefaultPrivilegesStmt) { + if (node_case() == kRuleStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_default_privileges_stmt_; + delete _impl_.node_.rule_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::release_alter_default_privileges_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_default_privileges_stmt) - if (node_case() == kAlterDefaultPrivilegesStmt) { +inline ::pg_query::RuleStmt* Node::release_rule_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.rule_stmt) + if (node_case() == kRuleStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_default_privileges_stmt_; + auto* temp = _impl_.node_.rule_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_default_privileges_stmt_ = nullptr; + _impl_.node_.rule_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::_internal_alter_default_privileges_stmt() const { - return node_case() == kAlterDefaultPrivilegesStmt ? *_impl_.node_.alter_default_privileges_stmt_ : reinterpret_cast<::pg_query::AlterDefaultPrivilegesStmt&>(::pg_query::_AlterDefaultPrivilegesStmt_default_instance_); +inline const ::pg_query::RuleStmt& Node::_internal_rule_stmt() const { + return node_case() == kRuleStmt ? *_impl_.node_.rule_stmt_ : reinterpret_cast<::pg_query::RuleStmt&>(::pg_query::_RuleStmt_default_instance_); } -inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::alter_default_privileges_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_default_privileges_stmt) - return _internal_alter_default_privileges_stmt(); +inline const ::pg_query::RuleStmt& Node::rule_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rule_stmt) + return _internal_rule_stmt(); } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::unsafe_arena_release_alter_default_privileges_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_default_privileges_stmt) - if (node_case() == kAlterDefaultPrivilegesStmt) { +inline ::pg_query::RuleStmt* Node::unsafe_arena_release_rule_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rule_stmt) + if (node_case() == kRuleStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_default_privileges_stmt_; - _impl_.node_.alter_default_privileges_stmt_ = nullptr; + auto* temp = _impl_.node_.rule_stmt_; + _impl_.node_.rule_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value) { +inline void Node::unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_default_privileges_stmt(); - _impl_.node_.alter_default_privileges_stmt_ = value; + set_has_rule_stmt(); + _impl_.node_.rule_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_default_privileges_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rule_stmt) } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::_internal_mutable_alter_default_privileges_stmt() { - if (node_case() != kAlterDefaultPrivilegesStmt) { +inline ::pg_query::RuleStmt* Node::_internal_mutable_rule_stmt() { + if (node_case() != kRuleStmt) { clear_node(); - set_has_alter_default_privileges_stmt(); - _impl_.node_.alter_default_privileges_stmt_ = CreateMaybeMessage<::pg_query::AlterDefaultPrivilegesStmt>(GetArena()); + set_has_rule_stmt(); + _impl_.node_.rule_stmt_ = CreateMaybeMessage<::pg_query::RuleStmt>(GetArena()); } - return _impl_.node_.alter_default_privileges_stmt_; + return _impl_.node_.rule_stmt_; } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::mutable_alter_default_privileges_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterDefaultPrivilegesStmt* _msg = _internal_mutable_alter_default_privileges_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_default_privileges_stmt) +inline ::pg_query::RuleStmt* Node::mutable_rule_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RuleStmt* _msg = _internal_mutable_rule_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rule_stmt) return _msg; } -// .pg_query.CopyStmt copy_stmt = 135 [json_name = "CopyStmt"]; -inline bool Node::has_copy_stmt() const { - return node_case() == kCopyStmt; +// .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"]; +inline bool Node::has_notify_stmt() const { + return node_case() == kNotifyStmt; } -inline bool Node::_internal_has_copy_stmt() const { - return node_case() == kCopyStmt; +inline bool Node::_internal_has_notify_stmt() const { + return node_case() == kNotifyStmt; } -inline void Node::set_has_copy_stmt() { - _impl_._oneof_case_[0] = kCopyStmt; +inline void Node::set_has_notify_stmt() { + _impl_._oneof_case_[0] = kNotifyStmt; } -inline void Node::clear_copy_stmt() { +inline void Node::clear_notify_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCopyStmt) { + if (node_case() == kNotifyStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.copy_stmt_; + delete _impl_.node_.notify_stmt_; } clear_has_node(); } } -inline ::pg_query::CopyStmt* Node::release_copy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.copy_stmt) - if (node_case() == kCopyStmt) { +inline ::pg_query::NotifyStmt* Node::release_notify_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.notify_stmt) + if (node_case() == kNotifyStmt) { clear_has_node(); - auto* temp = _impl_.node_.copy_stmt_; + auto* temp = _impl_.node_.notify_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.copy_stmt_ = nullptr; + _impl_.node_.notify_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CopyStmt& Node::_internal_copy_stmt() const { - return node_case() == kCopyStmt ? *_impl_.node_.copy_stmt_ : reinterpret_cast<::pg_query::CopyStmt&>(::pg_query::_CopyStmt_default_instance_); +inline const ::pg_query::NotifyStmt& Node::_internal_notify_stmt() const { + return node_case() == kNotifyStmt ? *_impl_.node_.notify_stmt_ : reinterpret_cast<::pg_query::NotifyStmt&>(::pg_query::_NotifyStmt_default_instance_); } -inline const ::pg_query::CopyStmt& Node::copy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.copy_stmt) - return _internal_copy_stmt(); +inline const ::pg_query::NotifyStmt& Node::notify_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.notify_stmt) + return _internal_notify_stmt(); } -inline ::pg_query::CopyStmt* Node::unsafe_arena_release_copy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.copy_stmt) - if (node_case() == kCopyStmt) { +inline ::pg_query::NotifyStmt* Node::unsafe_arena_release_notify_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.notify_stmt) + if (node_case() == kNotifyStmt) { clear_has_node(); - auto* temp = _impl_.node_.copy_stmt_; - _impl_.node_.copy_stmt_ = nullptr; + auto* temp = _impl_.node_.notify_stmt_; + _impl_.node_.notify_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value) { +inline void Node::unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_copy_stmt(); - _impl_.node_.copy_stmt_ = value; + set_has_notify_stmt(); + _impl_.node_.notify_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.copy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.notify_stmt) } -inline ::pg_query::CopyStmt* Node::_internal_mutable_copy_stmt() { - if (node_case() != kCopyStmt) { +inline ::pg_query::NotifyStmt* Node::_internal_mutable_notify_stmt() { + if (node_case() != kNotifyStmt) { clear_node(); - set_has_copy_stmt(); - _impl_.node_.copy_stmt_ = CreateMaybeMessage<::pg_query::CopyStmt>(GetArena()); + set_has_notify_stmt(); + _impl_.node_.notify_stmt_ = CreateMaybeMessage<::pg_query::NotifyStmt>(GetArena()); } - return _impl_.node_.copy_stmt_; + return _impl_.node_.notify_stmt_; } -inline ::pg_query::CopyStmt* Node::mutable_copy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CopyStmt* _msg = _internal_mutable_copy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.copy_stmt) +inline ::pg_query::NotifyStmt* Node::mutable_notify_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NotifyStmt* _msg = _internal_mutable_notify_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.notify_stmt) return _msg; } -// .pg_query.VariableSetStmt variable_set_stmt = 136 [json_name = "VariableSetStmt"]; -inline bool Node::has_variable_set_stmt() const { - return node_case() == kVariableSetStmt; +// .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"]; +inline bool Node::has_listen_stmt() const { + return node_case() == kListenStmt; } -inline bool Node::_internal_has_variable_set_stmt() const { - return node_case() == kVariableSetStmt; +inline bool Node::_internal_has_listen_stmt() const { + return node_case() == kListenStmt; } -inline void Node::set_has_variable_set_stmt() { - _impl_._oneof_case_[0] = kVariableSetStmt; +inline void Node::set_has_listen_stmt() { + _impl_._oneof_case_[0] = kListenStmt; } -inline void Node::clear_variable_set_stmt() { +inline void Node::clear_listen_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kVariableSetStmt) { + if (node_case() == kListenStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.variable_set_stmt_; + delete _impl_.node_.listen_stmt_; } clear_has_node(); } } -inline ::pg_query::VariableSetStmt* Node::release_variable_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.variable_set_stmt) - if (node_case() == kVariableSetStmt) { +inline ::pg_query::ListenStmt* Node::release_listen_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.listen_stmt) + if (node_case() == kListenStmt) { clear_has_node(); - auto* temp = _impl_.node_.variable_set_stmt_; + auto* temp = _impl_.node_.listen_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.variable_set_stmt_ = nullptr; + _impl_.node_.listen_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VariableSetStmt& Node::_internal_variable_set_stmt() const { - return node_case() == kVariableSetStmt ? *_impl_.node_.variable_set_stmt_ : reinterpret_cast<::pg_query::VariableSetStmt&>(::pg_query::_VariableSetStmt_default_instance_); +inline const ::pg_query::ListenStmt& Node::_internal_listen_stmt() const { + return node_case() == kListenStmt ? *_impl_.node_.listen_stmt_ : reinterpret_cast<::pg_query::ListenStmt&>(::pg_query::_ListenStmt_default_instance_); } -inline const ::pg_query::VariableSetStmt& Node::variable_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.variable_set_stmt) - return _internal_variable_set_stmt(); +inline const ::pg_query::ListenStmt& Node::listen_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.listen_stmt) + return _internal_listen_stmt(); } -inline ::pg_query::VariableSetStmt* Node::unsafe_arena_release_variable_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_set_stmt) - if (node_case() == kVariableSetStmt) { +inline ::pg_query::ListenStmt* Node::unsafe_arena_release_listen_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.listen_stmt) + if (node_case() == kListenStmt) { clear_has_node(); - auto* temp = _impl_.node_.variable_set_stmt_; - _impl_.node_.variable_set_stmt_ = nullptr; + auto* temp = _impl_.node_.listen_stmt_; + _impl_.node_.listen_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value) { +inline void Node::unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_variable_set_stmt(); - _impl_.node_.variable_set_stmt_ = value; + set_has_listen_stmt(); + _impl_.node_.listen_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.listen_stmt) } -inline ::pg_query::VariableSetStmt* Node::_internal_mutable_variable_set_stmt() { - if (node_case() != kVariableSetStmt) { +inline ::pg_query::ListenStmt* Node::_internal_mutable_listen_stmt() { + if (node_case() != kListenStmt) { clear_node(); - set_has_variable_set_stmt(); - _impl_.node_.variable_set_stmt_ = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); + set_has_listen_stmt(); + _impl_.node_.listen_stmt_ = CreateMaybeMessage<::pg_query::ListenStmt>(GetArena()); } - return _impl_.node_.variable_set_stmt_; + return _impl_.node_.listen_stmt_; } -inline ::pg_query::VariableSetStmt* Node::mutable_variable_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::VariableSetStmt* _msg = _internal_mutable_variable_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_set_stmt) +inline ::pg_query::ListenStmt* Node::mutable_listen_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ListenStmt* _msg = _internal_mutable_listen_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.listen_stmt) return _msg; } -// .pg_query.VariableShowStmt variable_show_stmt = 137 [json_name = "VariableShowStmt"]; -inline bool Node::has_variable_show_stmt() const { - return node_case() == kVariableShowStmt; +// .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"]; +inline bool Node::has_unlisten_stmt() const { + return node_case() == kUnlistenStmt; } -inline bool Node::_internal_has_variable_show_stmt() const { - return node_case() == kVariableShowStmt; +inline bool Node::_internal_has_unlisten_stmt() const { + return node_case() == kUnlistenStmt; } -inline void Node::set_has_variable_show_stmt() { - _impl_._oneof_case_[0] = kVariableShowStmt; +inline void Node::set_has_unlisten_stmt() { + _impl_._oneof_case_[0] = kUnlistenStmt; } -inline void Node::clear_variable_show_stmt() { +inline void Node::clear_unlisten_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kVariableShowStmt) { + if (node_case() == kUnlistenStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.variable_show_stmt_; + delete _impl_.node_.unlisten_stmt_; } clear_has_node(); } } -inline ::pg_query::VariableShowStmt* Node::release_variable_show_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.variable_show_stmt) - if (node_case() == kVariableShowStmt) { +inline ::pg_query::UnlistenStmt* Node::release_unlisten_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.unlisten_stmt) + if (node_case() == kUnlistenStmt) { clear_has_node(); - auto* temp = _impl_.node_.variable_show_stmt_; + auto* temp = _impl_.node_.unlisten_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.variable_show_stmt_ = nullptr; + _impl_.node_.unlisten_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VariableShowStmt& Node::_internal_variable_show_stmt() const { - return node_case() == kVariableShowStmt ? *_impl_.node_.variable_show_stmt_ : reinterpret_cast<::pg_query::VariableShowStmt&>(::pg_query::_VariableShowStmt_default_instance_); +inline const ::pg_query::UnlistenStmt& Node::_internal_unlisten_stmt() const { + return node_case() == kUnlistenStmt ? *_impl_.node_.unlisten_stmt_ : reinterpret_cast<::pg_query::UnlistenStmt&>(::pg_query::_UnlistenStmt_default_instance_); } -inline const ::pg_query::VariableShowStmt& Node::variable_show_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.variable_show_stmt) - return _internal_variable_show_stmt(); +inline const ::pg_query::UnlistenStmt& Node::unlisten_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.unlisten_stmt) + return _internal_unlisten_stmt(); } -inline ::pg_query::VariableShowStmt* Node::unsafe_arena_release_variable_show_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_show_stmt) - if (node_case() == kVariableShowStmt) { +inline ::pg_query::UnlistenStmt* Node::unsafe_arena_release_unlisten_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.unlisten_stmt) + if (node_case() == kUnlistenStmt) { clear_has_node(); - auto* temp = _impl_.node_.variable_show_stmt_; - _impl_.node_.variable_show_stmt_ = nullptr; + auto* temp = _impl_.node_.unlisten_stmt_; + _impl_.node_.unlisten_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value) { +inline void Node::unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_variable_show_stmt(); - _impl_.node_.variable_show_stmt_ = value; + set_has_unlisten_stmt(); + _impl_.node_.unlisten_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_show_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.unlisten_stmt) } -inline ::pg_query::VariableShowStmt* Node::_internal_mutable_variable_show_stmt() { - if (node_case() != kVariableShowStmt) { +inline ::pg_query::UnlistenStmt* Node::_internal_mutable_unlisten_stmt() { + if (node_case() != kUnlistenStmt) { clear_node(); - set_has_variable_show_stmt(); - _impl_.node_.variable_show_stmt_ = CreateMaybeMessage<::pg_query::VariableShowStmt>(GetArena()); + set_has_unlisten_stmt(); + _impl_.node_.unlisten_stmt_ = CreateMaybeMessage<::pg_query::UnlistenStmt>(GetArena()); } - return _impl_.node_.variable_show_stmt_; + return _impl_.node_.unlisten_stmt_; } -inline ::pg_query::VariableShowStmt* Node::mutable_variable_show_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::VariableShowStmt* _msg = _internal_mutable_variable_show_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_show_stmt) +inline ::pg_query::UnlistenStmt* Node::mutable_unlisten_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::UnlistenStmt* _msg = _internal_mutable_unlisten_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.unlisten_stmt) return _msg; } -// .pg_query.CreateStmt create_stmt = 138 [json_name = "CreateStmt"]; -inline bool Node::has_create_stmt() const { - return node_case() == kCreateStmt; +// .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"]; +inline bool Node::has_transaction_stmt() const { + return node_case() == kTransactionStmt; } -inline bool Node::_internal_has_create_stmt() const { - return node_case() == kCreateStmt; +inline bool Node::_internal_has_transaction_stmt() const { + return node_case() == kTransactionStmt; } -inline void Node::set_has_create_stmt() { - _impl_._oneof_case_[0] = kCreateStmt; +inline void Node::set_has_transaction_stmt() { + _impl_._oneof_case_[0] = kTransactionStmt; } -inline void Node::clear_create_stmt() { +inline void Node::clear_transaction_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateStmt) { + if (node_case() == kTransactionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_stmt_; + delete _impl_.node_.transaction_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateStmt* Node::release_create_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_stmt) - if (node_case() == kCreateStmt) { +inline ::pg_query::TransactionStmt* Node::release_transaction_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.transaction_stmt) + if (node_case() == kTransactionStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_stmt_; + auto* temp = _impl_.node_.transaction_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_stmt_ = nullptr; + _impl_.node_.transaction_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateStmt& Node::_internal_create_stmt() const { - return node_case() == kCreateStmt ? *_impl_.node_.create_stmt_ : reinterpret_cast<::pg_query::CreateStmt&>(::pg_query::_CreateStmt_default_instance_); +inline const ::pg_query::TransactionStmt& Node::_internal_transaction_stmt() const { + return node_case() == kTransactionStmt ? *_impl_.node_.transaction_stmt_ : reinterpret_cast<::pg_query::TransactionStmt&>(::pg_query::_TransactionStmt_default_instance_); } -inline const ::pg_query::CreateStmt& Node::create_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_stmt) - return _internal_create_stmt(); +inline const ::pg_query::TransactionStmt& Node::transaction_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.transaction_stmt) + return _internal_transaction_stmt(); } -inline ::pg_query::CreateStmt* Node::unsafe_arena_release_create_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stmt) - if (node_case() == kCreateStmt) { +inline ::pg_query::TransactionStmt* Node::unsafe_arena_release_transaction_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.transaction_stmt) + if (node_case() == kTransactionStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_stmt_; - _impl_.node_.create_stmt_ = nullptr; + auto* temp = _impl_.node_.transaction_stmt_; + _impl_.node_.transaction_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value) { +inline void Node::unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_stmt(); - _impl_.node_.create_stmt_ = value; + set_has_transaction_stmt(); + _impl_.node_.transaction_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.transaction_stmt) } -inline ::pg_query::CreateStmt* Node::_internal_mutable_create_stmt() { - if (node_case() != kCreateStmt) { +inline ::pg_query::TransactionStmt* Node::_internal_mutable_transaction_stmt() { + if (node_case() != kTransactionStmt) { clear_node(); - set_has_create_stmt(); - _impl_.node_.create_stmt_ = CreateMaybeMessage<::pg_query::CreateStmt>(GetArena()); + set_has_transaction_stmt(); + _impl_.node_.transaction_stmt_ = CreateMaybeMessage<::pg_query::TransactionStmt>(GetArena()); } - return _impl_.node_.create_stmt_; + return _impl_.node_.transaction_stmt_; } -inline ::pg_query::CreateStmt* Node::mutable_create_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateStmt* _msg = _internal_mutable_create_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stmt) +inline ::pg_query::TransactionStmt* Node::mutable_transaction_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TransactionStmt* _msg = _internal_mutable_transaction_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.transaction_stmt) return _msg; } -// .pg_query.Constraint constraint = 139 [json_name = "Constraint"]; -inline bool Node::has_constraint() const { - return node_case() == kConstraint; +// .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"]; +inline bool Node::has_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt; } -inline bool Node::_internal_has_constraint() const { - return node_case() == kConstraint; +inline bool Node::_internal_has_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt; } -inline void Node::set_has_constraint() { - _impl_._oneof_case_[0] = kConstraint; +inline void Node::set_has_composite_type_stmt() { + _impl_._oneof_case_[0] = kCompositeTypeStmt; } -inline void Node::clear_constraint() { +inline void Node::clear_composite_type_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kConstraint) { + if (node_case() == kCompositeTypeStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.constraint_; + delete _impl_.node_.composite_type_stmt_; } clear_has_node(); } } -inline ::pg_query::Constraint* Node::release_constraint() { - // @@protoc_insertion_point(field_release:pg_query.Node.constraint) - if (node_case() == kConstraint) { +inline ::pg_query::CompositeTypeStmt* Node::release_composite_type_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.composite_type_stmt) + if (node_case() == kCompositeTypeStmt) { clear_has_node(); - auto* temp = _impl_.node_.constraint_; + auto* temp = _impl_.node_.composite_type_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.constraint_ = nullptr; + _impl_.node_.composite_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Constraint& Node::_internal_constraint() const { - return node_case() == kConstraint ? *_impl_.node_.constraint_ : reinterpret_cast<::pg_query::Constraint&>(::pg_query::_Constraint_default_instance_); +inline const ::pg_query::CompositeTypeStmt& Node::_internal_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt ? *_impl_.node_.composite_type_stmt_ : reinterpret_cast<::pg_query::CompositeTypeStmt&>(::pg_query::_CompositeTypeStmt_default_instance_); } -inline const ::pg_query::Constraint& Node::constraint() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.constraint) - return _internal_constraint(); +inline const ::pg_query::CompositeTypeStmt& Node::composite_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.composite_type_stmt) + return _internal_composite_type_stmt(); } -inline ::pg_query::Constraint* Node::unsafe_arena_release_constraint() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraint) - if (node_case() == kConstraint) { +inline ::pg_query::CompositeTypeStmt* Node::unsafe_arena_release_composite_type_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.composite_type_stmt) + if (node_case() == kCompositeTypeStmt) { clear_has_node(); - auto* temp = _impl_.node_.constraint_; - _impl_.node_.constraint_ = nullptr; + auto* temp = _impl_.node_.composite_type_stmt_; + _impl_.node_.composite_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value) { +inline void Node::unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_constraint(); - _impl_.node_.constraint_ = value; + set_has_composite_type_stmt(); + _impl_.node_.composite_type_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraint) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.composite_type_stmt) } -inline ::pg_query::Constraint* Node::_internal_mutable_constraint() { - if (node_case() != kConstraint) { +inline ::pg_query::CompositeTypeStmt* Node::_internal_mutable_composite_type_stmt() { + if (node_case() != kCompositeTypeStmt) { clear_node(); - set_has_constraint(); - _impl_.node_.constraint_ = CreateMaybeMessage<::pg_query::Constraint>(GetArena()); + set_has_composite_type_stmt(); + _impl_.node_.composite_type_stmt_ = CreateMaybeMessage<::pg_query::CompositeTypeStmt>(GetArena()); } - return _impl_.node_.constraint_; + return _impl_.node_.composite_type_stmt_; } -inline ::pg_query::Constraint* Node::mutable_constraint() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Constraint* _msg = _internal_mutable_constraint(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.constraint) +inline ::pg_query::CompositeTypeStmt* Node::mutable_composite_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CompositeTypeStmt* _msg = _internal_mutable_composite_type_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.composite_type_stmt) return _msg; } -// .pg_query.CreateTableSpaceStmt create_table_space_stmt = 140 [json_name = "CreateTableSpaceStmt"]; -inline bool Node::has_create_table_space_stmt() const { - return node_case() == kCreateTableSpaceStmt; +// .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"]; +inline bool Node::has_create_enum_stmt() const { + return node_case() == kCreateEnumStmt; } -inline bool Node::_internal_has_create_table_space_stmt() const { - return node_case() == kCreateTableSpaceStmt; +inline bool Node::_internal_has_create_enum_stmt() const { + return node_case() == kCreateEnumStmt; } -inline void Node::set_has_create_table_space_stmt() { - _impl_._oneof_case_[0] = kCreateTableSpaceStmt; +inline void Node::set_has_create_enum_stmt() { + _impl_._oneof_case_[0] = kCreateEnumStmt; } -inline void Node::clear_create_table_space_stmt() { +inline void Node::clear_create_enum_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateTableSpaceStmt) { + if (node_case() == kCreateEnumStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_table_space_stmt_; + delete _impl_.node_.create_enum_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateTableSpaceStmt* Node::release_create_table_space_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_table_space_stmt) - if (node_case() == kCreateTableSpaceStmt) { +inline ::pg_query::CreateEnumStmt* Node::release_create_enum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_enum_stmt) + if (node_case() == kCreateEnumStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_table_space_stmt_; + auto* temp = _impl_.node_.create_enum_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_table_space_stmt_ = nullptr; + _impl_.node_.create_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTableSpaceStmt& Node::_internal_create_table_space_stmt() const { - return node_case() == kCreateTableSpaceStmt ? *_impl_.node_.create_table_space_stmt_ : reinterpret_cast<::pg_query::CreateTableSpaceStmt&>(::pg_query::_CreateTableSpaceStmt_default_instance_); +inline const ::pg_query::CreateEnumStmt& Node::_internal_create_enum_stmt() const { + return node_case() == kCreateEnumStmt ? *_impl_.node_.create_enum_stmt_ : reinterpret_cast<::pg_query::CreateEnumStmt&>(::pg_query::_CreateEnumStmt_default_instance_); } -inline const ::pg_query::CreateTableSpaceStmt& Node::create_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_table_space_stmt) - return _internal_create_table_space_stmt(); +inline const ::pg_query::CreateEnumStmt& Node::create_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_enum_stmt) + return _internal_create_enum_stmt(); } -inline ::pg_query::CreateTableSpaceStmt* Node::unsafe_arena_release_create_table_space_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_space_stmt) - if (node_case() == kCreateTableSpaceStmt) { +inline ::pg_query::CreateEnumStmt* Node::unsafe_arena_release_create_enum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_enum_stmt) + if (node_case() == kCreateEnumStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_table_space_stmt_; - _impl_.node_.create_table_space_stmt_ = nullptr; + auto* temp = _impl_.node_.create_enum_stmt_; + _impl_.node_.create_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_table_space_stmt(); - _impl_.node_.create_table_space_stmt_ = value; + set_has_create_enum_stmt(); + _impl_.node_.create_enum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_space_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_enum_stmt) } -inline ::pg_query::CreateTableSpaceStmt* Node::_internal_mutable_create_table_space_stmt() { - if (node_case() != kCreateTableSpaceStmt) { +inline ::pg_query::CreateEnumStmt* Node::_internal_mutable_create_enum_stmt() { + if (node_case() != kCreateEnumStmt) { clear_node(); - set_has_create_table_space_stmt(); - _impl_.node_.create_table_space_stmt_ = CreateMaybeMessage<::pg_query::CreateTableSpaceStmt>(GetArena()); + set_has_create_enum_stmt(); + _impl_.node_.create_enum_stmt_ = CreateMaybeMessage<::pg_query::CreateEnumStmt>(GetArena()); } - return _impl_.node_.create_table_space_stmt_; + return _impl_.node_.create_enum_stmt_; } -inline ::pg_query::CreateTableSpaceStmt* Node::mutable_create_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateTableSpaceStmt* _msg = _internal_mutable_create_table_space_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_space_stmt) +inline ::pg_query::CreateEnumStmt* Node::mutable_create_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateEnumStmt* _msg = _internal_mutable_create_enum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_enum_stmt) return _msg; } -// .pg_query.DropTableSpaceStmt drop_table_space_stmt = 141 [json_name = "DropTableSpaceStmt"]; -inline bool Node::has_drop_table_space_stmt() const { - return node_case() == kDropTableSpaceStmt; +// .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"]; +inline bool Node::has_create_range_stmt() const { + return node_case() == kCreateRangeStmt; } -inline bool Node::_internal_has_drop_table_space_stmt() const { - return node_case() == kDropTableSpaceStmt; +inline bool Node::_internal_has_create_range_stmt() const { + return node_case() == kCreateRangeStmt; } -inline void Node::set_has_drop_table_space_stmt() { - _impl_._oneof_case_[0] = kDropTableSpaceStmt; +inline void Node::set_has_create_range_stmt() { + _impl_._oneof_case_[0] = kCreateRangeStmt; } -inline void Node::clear_drop_table_space_stmt() { +inline void Node::clear_create_range_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropTableSpaceStmt) { + if (node_case() == kCreateRangeStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.drop_table_space_stmt_; + delete _impl_.node_.create_range_stmt_; } clear_has_node(); } } -inline ::pg_query::DropTableSpaceStmt* Node::release_drop_table_space_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_table_space_stmt) - if (node_case() == kDropTableSpaceStmt) { +inline ::pg_query::CreateRangeStmt* Node::release_create_range_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_range_stmt) + if (node_case() == kCreateRangeStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_table_space_stmt_; + auto* temp = _impl_.node_.create_range_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_table_space_stmt_ = nullptr; + _impl_.node_.create_range_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropTableSpaceStmt& Node::_internal_drop_table_space_stmt() const { - return node_case() == kDropTableSpaceStmt ? *_impl_.node_.drop_table_space_stmt_ : reinterpret_cast<::pg_query::DropTableSpaceStmt&>(::pg_query::_DropTableSpaceStmt_default_instance_); +inline const ::pg_query::CreateRangeStmt& Node::_internal_create_range_stmt() const { + return node_case() == kCreateRangeStmt ? *_impl_.node_.create_range_stmt_ : reinterpret_cast<::pg_query::CreateRangeStmt&>(::pg_query::_CreateRangeStmt_default_instance_); } -inline const ::pg_query::DropTableSpaceStmt& Node::drop_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_table_space_stmt) - return _internal_drop_table_space_stmt(); +inline const ::pg_query::CreateRangeStmt& Node::create_range_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_range_stmt) + return _internal_create_range_stmt(); } -inline ::pg_query::DropTableSpaceStmt* Node::unsafe_arena_release_drop_table_space_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_table_space_stmt) - if (node_case() == kDropTableSpaceStmt) { +inline ::pg_query::CreateRangeStmt* Node::unsafe_arena_release_create_range_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_range_stmt) + if (node_case() == kCreateRangeStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_table_space_stmt_; - _impl_.node_.drop_table_space_stmt_ = nullptr; + auto* temp = _impl_.node_.create_range_stmt_; + _impl_.node_.create_range_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_drop_table_space_stmt(); - _impl_.node_.drop_table_space_stmt_ = value; + set_has_create_range_stmt(); + _impl_.node_.create_range_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_table_space_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_range_stmt) } -inline ::pg_query::DropTableSpaceStmt* Node::_internal_mutable_drop_table_space_stmt() { - if (node_case() != kDropTableSpaceStmt) { +inline ::pg_query::CreateRangeStmt* Node::_internal_mutable_create_range_stmt() { + if (node_case() != kCreateRangeStmt) { clear_node(); - set_has_drop_table_space_stmt(); - _impl_.node_.drop_table_space_stmt_ = CreateMaybeMessage<::pg_query::DropTableSpaceStmt>(GetArena()); + set_has_create_range_stmt(); + _impl_.node_.create_range_stmt_ = CreateMaybeMessage<::pg_query::CreateRangeStmt>(GetArena()); } - return _impl_.node_.drop_table_space_stmt_; + return _impl_.node_.create_range_stmt_; } -inline ::pg_query::DropTableSpaceStmt* Node::mutable_drop_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropTableSpaceStmt* _msg = _internal_mutable_drop_table_space_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_table_space_stmt) +inline ::pg_query::CreateRangeStmt* Node::mutable_create_range_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateRangeStmt* _msg = _internal_mutable_create_range_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_range_stmt) return _msg; } -// .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 142 [json_name = "AlterTableSpaceOptionsStmt"]; -inline bool Node::has_alter_table_space_options_stmt() const { - return node_case() == kAlterTableSpaceOptionsStmt; +// .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"]; +inline bool Node::has_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt; } -inline bool Node::_internal_has_alter_table_space_options_stmt() const { - return node_case() == kAlterTableSpaceOptionsStmt; +inline bool Node::_internal_has_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt; } -inline void Node::set_has_alter_table_space_options_stmt() { - _impl_._oneof_case_[0] = kAlterTableSpaceOptionsStmt; +inline void Node::set_has_alter_enum_stmt() { + _impl_._oneof_case_[0] = kAlterEnumStmt; } -inline void Node::clear_alter_table_space_options_stmt() { +inline void Node::clear_alter_enum_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTableSpaceOptionsStmt) { + if (node_case() == kAlterEnumStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_table_space_options_stmt_; + delete _impl_.node_.alter_enum_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::release_alter_table_space_options_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_space_options_stmt) - if (node_case() == kAlterTableSpaceOptionsStmt) { +inline ::pg_query::AlterEnumStmt* Node::release_alter_enum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_enum_stmt) + if (node_case() == kAlterEnumStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_space_options_stmt_; + auto* temp = _impl_.node_.alter_enum_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_space_options_stmt_ = nullptr; + _impl_.node_.alter_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::_internal_alter_table_space_options_stmt() const { - return node_case() == kAlterTableSpaceOptionsStmt ? *_impl_.node_.alter_table_space_options_stmt_ : reinterpret_cast<::pg_query::AlterTableSpaceOptionsStmt&>(::pg_query::_AlterTableSpaceOptionsStmt_default_instance_); +inline const ::pg_query::AlterEnumStmt& Node::_internal_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt ? *_impl_.node_.alter_enum_stmt_ : reinterpret_cast<::pg_query::AlterEnumStmt&>(::pg_query::_AlterEnumStmt_default_instance_); } -inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::alter_table_space_options_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_space_options_stmt) - return _internal_alter_table_space_options_stmt(); +inline const ::pg_query::AlterEnumStmt& Node::alter_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_enum_stmt) + return _internal_alter_enum_stmt(); } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::unsafe_arena_release_alter_table_space_options_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_space_options_stmt) - if (node_case() == kAlterTableSpaceOptionsStmt) { +inline ::pg_query::AlterEnumStmt* Node::unsafe_arena_release_alter_enum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_enum_stmt) + if (node_case() == kAlterEnumStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_space_options_stmt_; - _impl_.node_.alter_table_space_options_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_enum_stmt_; + _impl_.node_.alter_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_table_space_options_stmt(); - _impl_.node_.alter_table_space_options_stmt_ = value; + set_has_alter_enum_stmt(); + _impl_.node_.alter_enum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_space_options_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_enum_stmt) } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::_internal_mutable_alter_table_space_options_stmt() { - if (node_case() != kAlterTableSpaceOptionsStmt) { +inline ::pg_query::AlterEnumStmt* Node::_internal_mutable_alter_enum_stmt() { + if (node_case() != kAlterEnumStmt) { clear_node(); - set_has_alter_table_space_options_stmt(); - _impl_.node_.alter_table_space_options_stmt_ = CreateMaybeMessage<::pg_query::AlterTableSpaceOptionsStmt>(GetArena()); + set_has_alter_enum_stmt(); + _impl_.node_.alter_enum_stmt_ = CreateMaybeMessage<::pg_query::AlterEnumStmt>(GetArena()); } - return _impl_.node_.alter_table_space_options_stmt_; + return _impl_.node_.alter_enum_stmt_; } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::mutable_alter_table_space_options_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTableSpaceOptionsStmt* _msg = _internal_mutable_alter_table_space_options_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_space_options_stmt) +inline ::pg_query::AlterEnumStmt* Node::mutable_alter_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterEnumStmt* _msg = _internal_mutable_alter_enum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_enum_stmt) return _msg; } -// .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 143 [json_name = "AlterTableMoveAllStmt"]; -inline bool Node::has_alter_table_move_all_stmt() const { - return node_case() == kAlterTableMoveAllStmt; +// .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"]; +inline bool Node::has_view_stmt() const { + return node_case() == kViewStmt; } -inline bool Node::_internal_has_alter_table_move_all_stmt() const { - return node_case() == kAlterTableMoveAllStmt; +inline bool Node::_internal_has_view_stmt() const { + return node_case() == kViewStmt; } -inline void Node::set_has_alter_table_move_all_stmt() { - _impl_._oneof_case_[0] = kAlterTableMoveAllStmt; +inline void Node::set_has_view_stmt() { + _impl_._oneof_case_[0] = kViewStmt; } -inline void Node::clear_alter_table_move_all_stmt() { +inline void Node::clear_view_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTableMoveAllStmt) { + if (node_case() == kViewStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_table_move_all_stmt_; + delete _impl_.node_.view_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTableMoveAllStmt* Node::release_alter_table_move_all_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_move_all_stmt) - if (node_case() == kAlterTableMoveAllStmt) { +inline ::pg_query::ViewStmt* Node::release_view_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.view_stmt) + if (node_case() == kViewStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_move_all_stmt_; + auto* temp = _impl_.node_.view_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_move_all_stmt_ = nullptr; + _impl_.node_.view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableMoveAllStmt& Node::_internal_alter_table_move_all_stmt() const { - return node_case() == kAlterTableMoveAllStmt ? *_impl_.node_.alter_table_move_all_stmt_ : reinterpret_cast<::pg_query::AlterTableMoveAllStmt&>(::pg_query::_AlterTableMoveAllStmt_default_instance_); +inline const ::pg_query::ViewStmt& Node::_internal_view_stmt() const { + return node_case() == kViewStmt ? *_impl_.node_.view_stmt_ : reinterpret_cast<::pg_query::ViewStmt&>(::pg_query::_ViewStmt_default_instance_); } -inline const ::pg_query::AlterTableMoveAllStmt& Node::alter_table_move_all_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_move_all_stmt) - return _internal_alter_table_move_all_stmt(); +inline const ::pg_query::ViewStmt& Node::view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.view_stmt) + return _internal_view_stmt(); } -inline ::pg_query::AlterTableMoveAllStmt* Node::unsafe_arena_release_alter_table_move_all_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_move_all_stmt) - if (node_case() == kAlterTableMoveAllStmt) { +inline ::pg_query::ViewStmt* Node::unsafe_arena_release_view_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.view_stmt) + if (node_case() == kViewStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_table_move_all_stmt_; - _impl_.node_.alter_table_move_all_stmt_ = nullptr; + auto* temp = _impl_.node_.view_stmt_; + _impl_.node_.view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value) { +inline void Node::unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_table_move_all_stmt(); - _impl_.node_.alter_table_move_all_stmt_ = value; + set_has_view_stmt(); + _impl_.node_.view_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_move_all_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.view_stmt) } -inline ::pg_query::AlterTableMoveAllStmt* Node::_internal_mutable_alter_table_move_all_stmt() { - if (node_case() != kAlterTableMoveAllStmt) { +inline ::pg_query::ViewStmt* Node::_internal_mutable_view_stmt() { + if (node_case() != kViewStmt) { clear_node(); - set_has_alter_table_move_all_stmt(); - _impl_.node_.alter_table_move_all_stmt_ = CreateMaybeMessage<::pg_query::AlterTableMoveAllStmt>(GetArena()); + set_has_view_stmt(); + _impl_.node_.view_stmt_ = CreateMaybeMessage<::pg_query::ViewStmt>(GetArena()); } - return _impl_.node_.alter_table_move_all_stmt_; + return _impl_.node_.view_stmt_; } -inline ::pg_query::AlterTableMoveAllStmt* Node::mutable_alter_table_move_all_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTableMoveAllStmt* _msg = _internal_mutable_alter_table_move_all_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_move_all_stmt) +inline ::pg_query::ViewStmt* Node::mutable_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ViewStmt* _msg = _internal_mutable_view_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.view_stmt) return _msg; } -// .pg_query.CreateExtensionStmt create_extension_stmt = 144 [json_name = "CreateExtensionStmt"]; -inline bool Node::has_create_extension_stmt() const { - return node_case() == kCreateExtensionStmt; +// .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"]; +inline bool Node::has_load_stmt() const { + return node_case() == kLoadStmt; } -inline bool Node::_internal_has_create_extension_stmt() const { - return node_case() == kCreateExtensionStmt; +inline bool Node::_internal_has_load_stmt() const { + return node_case() == kLoadStmt; } -inline void Node::set_has_create_extension_stmt() { - _impl_._oneof_case_[0] = kCreateExtensionStmt; +inline void Node::set_has_load_stmt() { + _impl_._oneof_case_[0] = kLoadStmt; } -inline void Node::clear_create_extension_stmt() { +inline void Node::clear_load_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateExtensionStmt) { + if (node_case() == kLoadStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_extension_stmt_; + delete _impl_.node_.load_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateExtensionStmt* Node::release_create_extension_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_extension_stmt) - if (node_case() == kCreateExtensionStmt) { +inline ::pg_query::LoadStmt* Node::release_load_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.load_stmt) + if (node_case() == kLoadStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_extension_stmt_; + auto* temp = _impl_.node_.load_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_extension_stmt_ = nullptr; + _impl_.node_.load_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateExtensionStmt& Node::_internal_create_extension_stmt() const { - return node_case() == kCreateExtensionStmt ? *_impl_.node_.create_extension_stmt_ : reinterpret_cast<::pg_query::CreateExtensionStmt&>(::pg_query::_CreateExtensionStmt_default_instance_); +inline const ::pg_query::LoadStmt& Node::_internal_load_stmt() const { + return node_case() == kLoadStmt ? *_impl_.node_.load_stmt_ : reinterpret_cast<::pg_query::LoadStmt&>(::pg_query::_LoadStmt_default_instance_); } -inline const ::pg_query::CreateExtensionStmt& Node::create_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_extension_stmt) - return _internal_create_extension_stmt(); +inline const ::pg_query::LoadStmt& Node::load_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.load_stmt) + return _internal_load_stmt(); } -inline ::pg_query::CreateExtensionStmt* Node::unsafe_arena_release_create_extension_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_extension_stmt) - if (node_case() == kCreateExtensionStmt) { +inline ::pg_query::LoadStmt* Node::unsafe_arena_release_load_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.load_stmt) + if (node_case() == kLoadStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_extension_stmt_; - _impl_.node_.create_extension_stmt_ = nullptr; + auto* temp = _impl_.node_.load_stmt_; + _impl_.node_.load_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value) { +inline void Node::unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_extension_stmt(); - _impl_.node_.create_extension_stmt_ = value; + set_has_load_stmt(); + _impl_.node_.load_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_extension_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.load_stmt) } -inline ::pg_query::CreateExtensionStmt* Node::_internal_mutable_create_extension_stmt() { - if (node_case() != kCreateExtensionStmt) { +inline ::pg_query::LoadStmt* Node::_internal_mutable_load_stmt() { + if (node_case() != kLoadStmt) { clear_node(); - set_has_create_extension_stmt(); - _impl_.node_.create_extension_stmt_ = CreateMaybeMessage<::pg_query::CreateExtensionStmt>(GetArena()); + set_has_load_stmt(); + _impl_.node_.load_stmt_ = CreateMaybeMessage<::pg_query::LoadStmt>(GetArena()); } - return _impl_.node_.create_extension_stmt_; + return _impl_.node_.load_stmt_; } -inline ::pg_query::CreateExtensionStmt* Node::mutable_create_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateExtensionStmt* _msg = _internal_mutable_create_extension_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_extension_stmt) +inline ::pg_query::LoadStmt* Node::mutable_load_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LoadStmt* _msg = _internal_mutable_load_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.load_stmt) return _msg; } -// .pg_query.AlterExtensionStmt alter_extension_stmt = 145 [json_name = "AlterExtensionStmt"]; -inline bool Node::has_alter_extension_stmt() const { - return node_case() == kAlterExtensionStmt; +// .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"]; +inline bool Node::has_createdb_stmt() const { + return node_case() == kCreatedbStmt; } -inline bool Node::_internal_has_alter_extension_stmt() const { - return node_case() == kAlterExtensionStmt; +inline bool Node::_internal_has_createdb_stmt() const { + return node_case() == kCreatedbStmt; } -inline void Node::set_has_alter_extension_stmt() { - _impl_._oneof_case_[0] = kAlterExtensionStmt; +inline void Node::set_has_createdb_stmt() { + _impl_._oneof_case_[0] = kCreatedbStmt; } -inline void Node::clear_alter_extension_stmt() { +inline void Node::clear_createdb_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterExtensionStmt) { + if (node_case() == kCreatedbStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_extension_stmt_; + delete _impl_.node_.createdb_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterExtensionStmt* Node::release_alter_extension_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_stmt) - if (node_case() == kAlterExtensionStmt) { +inline ::pg_query::CreatedbStmt* Node::release_createdb_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.createdb_stmt) + if (node_case() == kCreatedbStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_extension_stmt_; + auto* temp = _impl_.node_.createdb_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_extension_stmt_ = nullptr; + _impl_.node_.createdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterExtensionStmt& Node::_internal_alter_extension_stmt() const { - return node_case() == kAlterExtensionStmt ? *_impl_.node_.alter_extension_stmt_ : reinterpret_cast<::pg_query::AlterExtensionStmt&>(::pg_query::_AlterExtensionStmt_default_instance_); +inline const ::pg_query::CreatedbStmt& Node::_internal_createdb_stmt() const { + return node_case() == kCreatedbStmt ? *_impl_.node_.createdb_stmt_ : reinterpret_cast<::pg_query::CreatedbStmt&>(::pg_query::_CreatedbStmt_default_instance_); } -inline const ::pg_query::AlterExtensionStmt& Node::alter_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_stmt) - return _internal_alter_extension_stmt(); +inline const ::pg_query::CreatedbStmt& Node::createdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.createdb_stmt) + return _internal_createdb_stmt(); } -inline ::pg_query::AlterExtensionStmt* Node::unsafe_arena_release_alter_extension_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_stmt) - if (node_case() == kAlterExtensionStmt) { +inline ::pg_query::CreatedbStmt* Node::unsafe_arena_release_createdb_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.createdb_stmt) + if (node_case() == kCreatedbStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_extension_stmt_; - _impl_.node_.alter_extension_stmt_ = nullptr; + auto* temp = _impl_.node_.createdb_stmt_; + _impl_.node_.createdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value) { +inline void Node::unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_extension_stmt(); - _impl_.node_.alter_extension_stmt_ = value; + set_has_createdb_stmt(); + _impl_.node_.createdb_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.createdb_stmt) } -inline ::pg_query::AlterExtensionStmt* Node::_internal_mutable_alter_extension_stmt() { - if (node_case() != kAlterExtensionStmt) { +inline ::pg_query::CreatedbStmt* Node::_internal_mutable_createdb_stmt() { + if (node_case() != kCreatedbStmt) { clear_node(); - set_has_alter_extension_stmt(); - _impl_.node_.alter_extension_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionStmt>(GetArena()); + set_has_createdb_stmt(); + _impl_.node_.createdb_stmt_ = CreateMaybeMessage<::pg_query::CreatedbStmt>(GetArena()); } - return _impl_.node_.alter_extension_stmt_; + return _impl_.node_.createdb_stmt_; } -inline ::pg_query::AlterExtensionStmt* Node::mutable_alter_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterExtensionStmt* _msg = _internal_mutable_alter_extension_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_stmt) +inline ::pg_query::CreatedbStmt* Node::mutable_createdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatedbStmt* _msg = _internal_mutable_createdb_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.createdb_stmt) return _msg; } -// .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 146 [json_name = "AlterExtensionContentsStmt"]; -inline bool Node::has_alter_extension_contents_stmt() const { - return node_case() == kAlterExtensionContentsStmt; +// .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"]; +inline bool Node::has_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt; } -inline bool Node::_internal_has_alter_extension_contents_stmt() const { - return node_case() == kAlterExtensionContentsStmt; +inline bool Node::_internal_has_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt; } -inline void Node::set_has_alter_extension_contents_stmt() { - _impl_._oneof_case_[0] = kAlterExtensionContentsStmt; +inline void Node::set_has_alter_database_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseStmt; } -inline void Node::clear_alter_extension_contents_stmt() { +inline void Node::clear_alter_database_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterExtensionContentsStmt) { + if (node_case() == kAlterDatabaseStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_extension_contents_stmt_; + delete _impl_.node_.alter_database_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterExtensionContentsStmt* Node::release_alter_extension_contents_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_contents_stmt) - if (node_case() == kAlterExtensionContentsStmt) { +inline ::pg_query::AlterDatabaseStmt* Node::release_alter_database_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_stmt) + if (node_case() == kAlterDatabaseStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_extension_contents_stmt_; + auto* temp = _impl_.node_.alter_database_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_extension_contents_stmt_ = nullptr; + _impl_.node_.alter_database_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterExtensionContentsStmt& Node::_internal_alter_extension_contents_stmt() const { - return node_case() == kAlterExtensionContentsStmt ? *_impl_.node_.alter_extension_contents_stmt_ : reinterpret_cast<::pg_query::AlterExtensionContentsStmt&>(::pg_query::_AlterExtensionContentsStmt_default_instance_); +inline const ::pg_query::AlterDatabaseStmt& Node::_internal_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt ? *_impl_.node_.alter_database_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseStmt&>(::pg_query::_AlterDatabaseStmt_default_instance_); } -inline const ::pg_query::AlterExtensionContentsStmt& Node::alter_extension_contents_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_contents_stmt) - return _internal_alter_extension_contents_stmt(); +inline const ::pg_query::AlterDatabaseStmt& Node::alter_database_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_stmt) + return _internal_alter_database_stmt(); } -inline ::pg_query::AlterExtensionContentsStmt* Node::unsafe_arena_release_alter_extension_contents_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_contents_stmt) - if (node_case() == kAlterExtensionContentsStmt) { +inline ::pg_query::AlterDatabaseStmt* Node::unsafe_arena_release_alter_database_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_stmt) + if (node_case() == kAlterDatabaseStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_extension_contents_stmt_; - _impl_.node_.alter_extension_contents_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_database_stmt_; + _impl_.node_.alter_database_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_extension_contents_stmt(); - _impl_.node_.alter_extension_contents_stmt_ = value; + set_has_alter_database_stmt(); + _impl_.node_.alter_database_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_contents_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_stmt) } -inline ::pg_query::AlterExtensionContentsStmt* Node::_internal_mutable_alter_extension_contents_stmt() { - if (node_case() != kAlterExtensionContentsStmt) { +inline ::pg_query::AlterDatabaseStmt* Node::_internal_mutable_alter_database_stmt() { + if (node_case() != kAlterDatabaseStmt) { clear_node(); - set_has_alter_extension_contents_stmt(); - _impl_.node_.alter_extension_contents_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionContentsStmt>(GetArena()); + set_has_alter_database_stmt(); + _impl_.node_.alter_database_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseStmt>(GetArena()); } - return _impl_.node_.alter_extension_contents_stmt_; + return _impl_.node_.alter_database_stmt_; } -inline ::pg_query::AlterExtensionContentsStmt* Node::mutable_alter_extension_contents_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterExtensionContentsStmt* _msg = _internal_mutable_alter_extension_contents_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_contents_stmt) +inline ::pg_query::AlterDatabaseStmt* Node::mutable_alter_database_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseStmt* _msg = _internal_mutable_alter_database_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_stmt) return _msg; } -// .pg_query.CreateFdwStmt create_fdw_stmt = 147 [json_name = "CreateFdwStmt"]; -inline bool Node::has_create_fdw_stmt() const { - return node_case() == kCreateFdwStmt; +// .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"]; +inline bool Node::has_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt; } -inline bool Node::_internal_has_create_fdw_stmt() const { - return node_case() == kCreateFdwStmt; +inline bool Node::_internal_has_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt; } -inline void Node::set_has_create_fdw_stmt() { - _impl_._oneof_case_[0] = kCreateFdwStmt; +inline void Node::set_has_alter_database_refresh_coll_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseRefreshCollStmt; } -inline void Node::clear_create_fdw_stmt() { +inline void Node::clear_alter_database_refresh_coll_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateFdwStmt) { + if (node_case() == kAlterDatabaseRefreshCollStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_fdw_stmt_; + delete _impl_.node_.alter_database_refresh_coll_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateFdwStmt* Node::release_create_fdw_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_fdw_stmt) - if (node_case() == kCreateFdwStmt) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::release_alter_database_refresh_coll_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_refresh_coll_stmt) + if (node_case() == kAlterDatabaseRefreshCollStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_fdw_stmt_; + auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_fdw_stmt_ = nullptr; + _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateFdwStmt& Node::_internal_create_fdw_stmt() const { - return node_case() == kCreateFdwStmt ? *_impl_.node_.create_fdw_stmt_ : reinterpret_cast<::pg_query::CreateFdwStmt&>(::pg_query::_CreateFdwStmt_default_instance_); +inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::_internal_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt ? *_impl_.node_.alter_database_refresh_coll_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseRefreshCollStmt&>(::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_); } -inline const ::pg_query::CreateFdwStmt& Node::create_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_fdw_stmt) - return _internal_create_fdw_stmt(); +inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::alter_database_refresh_coll_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_refresh_coll_stmt) + return _internal_alter_database_refresh_coll_stmt(); } -inline ::pg_query::CreateFdwStmt* Node::unsafe_arena_release_create_fdw_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_fdw_stmt) - if (node_case() == kCreateFdwStmt) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::unsafe_arena_release_alter_database_refresh_coll_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_refresh_coll_stmt) + if (node_case() == kAlterDatabaseRefreshCollStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_fdw_stmt_; - _impl_.node_.create_fdw_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; + _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_fdw_stmt(); - _impl_.node_.create_fdw_stmt_ = value; + set_has_alter_database_refresh_coll_stmt(); + _impl_.node_.alter_database_refresh_coll_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_fdw_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt) } -inline ::pg_query::CreateFdwStmt* Node::_internal_mutable_create_fdw_stmt() { - if (node_case() != kCreateFdwStmt) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::_internal_mutable_alter_database_refresh_coll_stmt() { + if (node_case() != kAlterDatabaseRefreshCollStmt) { clear_node(); - set_has_create_fdw_stmt(); - _impl_.node_.create_fdw_stmt_ = CreateMaybeMessage<::pg_query::CreateFdwStmt>(GetArena()); + set_has_alter_database_refresh_coll_stmt(); + _impl_.node_.alter_database_refresh_coll_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseRefreshCollStmt>(GetArena()); } - return _impl_.node_.create_fdw_stmt_; + return _impl_.node_.alter_database_refresh_coll_stmt_; } -inline ::pg_query::CreateFdwStmt* Node::mutable_create_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateFdwStmt* _msg = _internal_mutable_create_fdw_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_fdw_stmt) +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::mutable_alter_database_refresh_coll_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseRefreshCollStmt* _msg = _internal_mutable_alter_database_refresh_coll_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_refresh_coll_stmt) return _msg; } -// .pg_query.AlterFdwStmt alter_fdw_stmt = 148 [json_name = "AlterFdwStmt"]; -inline bool Node::has_alter_fdw_stmt() const { - return node_case() == kAlterFdwStmt; +// .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"]; +inline bool Node::has_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt; } -inline bool Node::_internal_has_alter_fdw_stmt() const { - return node_case() == kAlterFdwStmt; +inline bool Node::_internal_has_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt; } -inline void Node::set_has_alter_fdw_stmt() { - _impl_._oneof_case_[0] = kAlterFdwStmt; +inline void Node::set_has_alter_database_set_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseSetStmt; } -inline void Node::clear_alter_fdw_stmt() { +inline void Node::clear_alter_database_set_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterFdwStmt) { + if (node_case() == kAlterDatabaseSetStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_fdw_stmt_; + delete _impl_.node_.alter_database_set_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterFdwStmt* Node::release_alter_fdw_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_fdw_stmt) - if (node_case() == kAlterFdwStmt) { +inline ::pg_query::AlterDatabaseSetStmt* Node::release_alter_database_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_set_stmt) + if (node_case() == kAlterDatabaseSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_fdw_stmt_; + auto* temp = _impl_.node_.alter_database_set_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_fdw_stmt_ = nullptr; + _impl_.node_.alter_database_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterFdwStmt& Node::_internal_alter_fdw_stmt() const { - return node_case() == kAlterFdwStmt ? *_impl_.node_.alter_fdw_stmt_ : reinterpret_cast<::pg_query::AlterFdwStmt&>(::pg_query::_AlterFdwStmt_default_instance_); +inline const ::pg_query::AlterDatabaseSetStmt& Node::_internal_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt ? *_impl_.node_.alter_database_set_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseSetStmt&>(::pg_query::_AlterDatabaseSetStmt_default_instance_); } -inline const ::pg_query::AlterFdwStmt& Node::alter_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_fdw_stmt) - return _internal_alter_fdw_stmt(); +inline const ::pg_query::AlterDatabaseSetStmt& Node::alter_database_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_set_stmt) + return _internal_alter_database_set_stmt(); } -inline ::pg_query::AlterFdwStmt* Node::unsafe_arena_release_alter_fdw_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_fdw_stmt) - if (node_case() == kAlterFdwStmt) { +inline ::pg_query::AlterDatabaseSetStmt* Node::unsafe_arena_release_alter_database_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_set_stmt) + if (node_case() == kAlterDatabaseSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_fdw_stmt_; - _impl_.node_.alter_fdw_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_database_set_stmt_; + _impl_.node_.alter_database_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_fdw_stmt(); - _impl_.node_.alter_fdw_stmt_ = value; + set_has_alter_database_set_stmt(); + _impl_.node_.alter_database_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_fdw_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_set_stmt) } -inline ::pg_query::AlterFdwStmt* Node::_internal_mutable_alter_fdw_stmt() { - if (node_case() != kAlterFdwStmt) { +inline ::pg_query::AlterDatabaseSetStmt* Node::_internal_mutable_alter_database_set_stmt() { + if (node_case() != kAlterDatabaseSetStmt) { clear_node(); - set_has_alter_fdw_stmt(); - _impl_.node_.alter_fdw_stmt_ = CreateMaybeMessage<::pg_query::AlterFdwStmt>(GetArena()); + set_has_alter_database_set_stmt(); + _impl_.node_.alter_database_set_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseSetStmt>(GetArena()); } - return _impl_.node_.alter_fdw_stmt_; + return _impl_.node_.alter_database_set_stmt_; } -inline ::pg_query::AlterFdwStmt* Node::mutable_alter_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterFdwStmt* _msg = _internal_mutable_alter_fdw_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_fdw_stmt) +inline ::pg_query::AlterDatabaseSetStmt* Node::mutable_alter_database_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseSetStmt* _msg = _internal_mutable_alter_database_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_set_stmt) return _msg; } -// .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 149 [json_name = "CreateForeignServerStmt"]; -inline bool Node::has_create_foreign_server_stmt() const { - return node_case() == kCreateForeignServerStmt; +// .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"]; +inline bool Node::has_dropdb_stmt() const { + return node_case() == kDropdbStmt; } -inline bool Node::_internal_has_create_foreign_server_stmt() const { - return node_case() == kCreateForeignServerStmt; +inline bool Node::_internal_has_dropdb_stmt() const { + return node_case() == kDropdbStmt; } -inline void Node::set_has_create_foreign_server_stmt() { - _impl_._oneof_case_[0] = kCreateForeignServerStmt; +inline void Node::set_has_dropdb_stmt() { + _impl_._oneof_case_[0] = kDropdbStmt; } -inline void Node::clear_create_foreign_server_stmt() { +inline void Node::clear_dropdb_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateForeignServerStmt) { + if (node_case() == kDropdbStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_foreign_server_stmt_; + delete _impl_.node_.dropdb_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateForeignServerStmt* Node::release_create_foreign_server_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_server_stmt) - if (node_case() == kCreateForeignServerStmt) { +inline ::pg_query::DropdbStmt* Node::release_dropdb_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.dropdb_stmt) + if (node_case() == kDropdbStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_foreign_server_stmt_; + auto* temp = _impl_.node_.dropdb_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_foreign_server_stmt_ = nullptr; + _impl_.node_.dropdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateForeignServerStmt& Node::_internal_create_foreign_server_stmt() const { - return node_case() == kCreateForeignServerStmt ? *_impl_.node_.create_foreign_server_stmt_ : reinterpret_cast<::pg_query::CreateForeignServerStmt&>(::pg_query::_CreateForeignServerStmt_default_instance_); +inline const ::pg_query::DropdbStmt& Node::_internal_dropdb_stmt() const { + return node_case() == kDropdbStmt ? *_impl_.node_.dropdb_stmt_ : reinterpret_cast<::pg_query::DropdbStmt&>(::pg_query::_DropdbStmt_default_instance_); } -inline const ::pg_query::CreateForeignServerStmt& Node::create_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_server_stmt) - return _internal_create_foreign_server_stmt(); +inline const ::pg_query::DropdbStmt& Node::dropdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.dropdb_stmt) + return _internal_dropdb_stmt(); } -inline ::pg_query::CreateForeignServerStmt* Node::unsafe_arena_release_create_foreign_server_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_server_stmt) - if (node_case() == kCreateForeignServerStmt) { +inline ::pg_query::DropdbStmt* Node::unsafe_arena_release_dropdb_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.dropdb_stmt) + if (node_case() == kDropdbStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_foreign_server_stmt_; - _impl_.node_.create_foreign_server_stmt_ = nullptr; + auto* temp = _impl_.node_.dropdb_stmt_; + _impl_.node_.dropdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value) { +inline void Node::unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_foreign_server_stmt(); - _impl_.node_.create_foreign_server_stmt_ = value; + set_has_dropdb_stmt(); + _impl_.node_.dropdb_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_server_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.dropdb_stmt) } -inline ::pg_query::CreateForeignServerStmt* Node::_internal_mutable_create_foreign_server_stmt() { - if (node_case() != kCreateForeignServerStmt) { +inline ::pg_query::DropdbStmt* Node::_internal_mutable_dropdb_stmt() { + if (node_case() != kDropdbStmt) { clear_node(); - set_has_create_foreign_server_stmt(); - _impl_.node_.create_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignServerStmt>(GetArena()); + set_has_dropdb_stmt(); + _impl_.node_.dropdb_stmt_ = CreateMaybeMessage<::pg_query::DropdbStmt>(GetArena()); } - return _impl_.node_.create_foreign_server_stmt_; + return _impl_.node_.dropdb_stmt_; } -inline ::pg_query::CreateForeignServerStmt* Node::mutable_create_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateForeignServerStmt* _msg = _internal_mutable_create_foreign_server_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_server_stmt) +inline ::pg_query::DropdbStmt* Node::mutable_dropdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropdbStmt* _msg = _internal_mutable_dropdb_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.dropdb_stmt) return _msg; } -// .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 150 [json_name = "AlterForeignServerStmt"]; -inline bool Node::has_alter_foreign_server_stmt() const { - return node_case() == kAlterForeignServerStmt; +// .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"]; +inline bool Node::has_alter_system_stmt() const { + return node_case() == kAlterSystemStmt; } -inline bool Node::_internal_has_alter_foreign_server_stmt() const { - return node_case() == kAlterForeignServerStmt; +inline bool Node::_internal_has_alter_system_stmt() const { + return node_case() == kAlterSystemStmt; } -inline void Node::set_has_alter_foreign_server_stmt() { - _impl_._oneof_case_[0] = kAlterForeignServerStmt; +inline void Node::set_has_alter_system_stmt() { + _impl_._oneof_case_[0] = kAlterSystemStmt; } -inline void Node::clear_alter_foreign_server_stmt() { +inline void Node::clear_alter_system_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterForeignServerStmt) { + if (node_case() == kAlterSystemStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_foreign_server_stmt_; + delete _impl_.node_.alter_system_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterForeignServerStmt* Node::release_alter_foreign_server_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_foreign_server_stmt) - if (node_case() == kAlterForeignServerStmt) { +inline ::pg_query::AlterSystemStmt* Node::release_alter_system_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_system_stmt) + if (node_case() == kAlterSystemStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_foreign_server_stmt_; + auto* temp = _impl_.node_.alter_system_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_foreign_server_stmt_ = nullptr; + _impl_.node_.alter_system_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterForeignServerStmt& Node::_internal_alter_foreign_server_stmt() const { - return node_case() == kAlterForeignServerStmt ? *_impl_.node_.alter_foreign_server_stmt_ : reinterpret_cast<::pg_query::AlterForeignServerStmt&>(::pg_query::_AlterForeignServerStmt_default_instance_); +inline const ::pg_query::AlterSystemStmt& Node::_internal_alter_system_stmt() const { + return node_case() == kAlterSystemStmt ? *_impl_.node_.alter_system_stmt_ : reinterpret_cast<::pg_query::AlterSystemStmt&>(::pg_query::_AlterSystemStmt_default_instance_); } -inline const ::pg_query::AlterForeignServerStmt& Node::alter_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_foreign_server_stmt) - return _internal_alter_foreign_server_stmt(); +inline const ::pg_query::AlterSystemStmt& Node::alter_system_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_system_stmt) + return _internal_alter_system_stmt(); } -inline ::pg_query::AlterForeignServerStmt* Node::unsafe_arena_release_alter_foreign_server_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_foreign_server_stmt) - if (node_case() == kAlterForeignServerStmt) { +inline ::pg_query::AlterSystemStmt* Node::unsafe_arena_release_alter_system_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_system_stmt) + if (node_case() == kAlterSystemStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_foreign_server_stmt_; - _impl_.node_.alter_foreign_server_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_system_stmt_; + _impl_.node_.alter_system_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_foreign_server_stmt(); - _impl_.node_.alter_foreign_server_stmt_ = value; + set_has_alter_system_stmt(); + _impl_.node_.alter_system_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_foreign_server_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_system_stmt) } -inline ::pg_query::AlterForeignServerStmt* Node::_internal_mutable_alter_foreign_server_stmt() { - if (node_case() != kAlterForeignServerStmt) { +inline ::pg_query::AlterSystemStmt* Node::_internal_mutable_alter_system_stmt() { + if (node_case() != kAlterSystemStmt) { clear_node(); - set_has_alter_foreign_server_stmt(); - _impl_.node_.alter_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::AlterForeignServerStmt>(GetArena()); + set_has_alter_system_stmt(); + _impl_.node_.alter_system_stmt_ = CreateMaybeMessage<::pg_query::AlterSystemStmt>(GetArena()); } - return _impl_.node_.alter_foreign_server_stmt_; + return _impl_.node_.alter_system_stmt_; } -inline ::pg_query::AlterForeignServerStmt* Node::mutable_alter_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterForeignServerStmt* _msg = _internal_mutable_alter_foreign_server_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_foreign_server_stmt) +inline ::pg_query::AlterSystemStmt* Node::mutable_alter_system_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSystemStmt* _msg = _internal_mutable_alter_system_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_system_stmt) return _msg; } -// .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 151 [json_name = "CreateForeignTableStmt"]; -inline bool Node::has_create_foreign_table_stmt() const { - return node_case() == kCreateForeignTableStmt; +// .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"]; +inline bool Node::has_cluster_stmt() const { + return node_case() == kClusterStmt; } -inline bool Node::_internal_has_create_foreign_table_stmt() const { - return node_case() == kCreateForeignTableStmt; +inline bool Node::_internal_has_cluster_stmt() const { + return node_case() == kClusterStmt; } -inline void Node::set_has_create_foreign_table_stmt() { - _impl_._oneof_case_[0] = kCreateForeignTableStmt; +inline void Node::set_has_cluster_stmt() { + _impl_._oneof_case_[0] = kClusterStmt; } -inline void Node::clear_create_foreign_table_stmt() { +inline void Node::clear_cluster_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateForeignTableStmt) { + if (node_case() == kClusterStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_foreign_table_stmt_; + delete _impl_.node_.cluster_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateForeignTableStmt* Node::release_create_foreign_table_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_table_stmt) - if (node_case() == kCreateForeignTableStmt) { +inline ::pg_query::ClusterStmt* Node::release_cluster_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.cluster_stmt) + if (node_case() == kClusterStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_foreign_table_stmt_; + auto* temp = _impl_.node_.cluster_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_foreign_table_stmt_ = nullptr; + _impl_.node_.cluster_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateForeignTableStmt& Node::_internal_create_foreign_table_stmt() const { - return node_case() == kCreateForeignTableStmt ? *_impl_.node_.create_foreign_table_stmt_ : reinterpret_cast<::pg_query::CreateForeignTableStmt&>(::pg_query::_CreateForeignTableStmt_default_instance_); +inline const ::pg_query::ClusterStmt& Node::_internal_cluster_stmt() const { + return node_case() == kClusterStmt ? *_impl_.node_.cluster_stmt_ : reinterpret_cast<::pg_query::ClusterStmt&>(::pg_query::_ClusterStmt_default_instance_); } -inline const ::pg_query::CreateForeignTableStmt& Node::create_foreign_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_table_stmt) - return _internal_create_foreign_table_stmt(); +inline const ::pg_query::ClusterStmt& Node::cluster_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.cluster_stmt) + return _internal_cluster_stmt(); } -inline ::pg_query::CreateForeignTableStmt* Node::unsafe_arena_release_create_foreign_table_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_table_stmt) - if (node_case() == kCreateForeignTableStmt) { +inline ::pg_query::ClusterStmt* Node::unsafe_arena_release_cluster_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.cluster_stmt) + if (node_case() == kClusterStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_foreign_table_stmt_; - _impl_.node_.create_foreign_table_stmt_ = nullptr; + auto* temp = _impl_.node_.cluster_stmt_; + _impl_.node_.cluster_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value) { +inline void Node::unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_foreign_table_stmt(); - _impl_.node_.create_foreign_table_stmt_ = value; + set_has_cluster_stmt(); + _impl_.node_.cluster_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_table_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.cluster_stmt) } -inline ::pg_query::CreateForeignTableStmt* Node::_internal_mutable_create_foreign_table_stmt() { - if (node_case() != kCreateForeignTableStmt) { +inline ::pg_query::ClusterStmt* Node::_internal_mutable_cluster_stmt() { + if (node_case() != kClusterStmt) { clear_node(); - set_has_create_foreign_table_stmt(); - _impl_.node_.create_foreign_table_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignTableStmt>(GetArena()); + set_has_cluster_stmt(); + _impl_.node_.cluster_stmt_ = CreateMaybeMessage<::pg_query::ClusterStmt>(GetArena()); } - return _impl_.node_.create_foreign_table_stmt_; + return _impl_.node_.cluster_stmt_; } -inline ::pg_query::CreateForeignTableStmt* Node::mutable_create_foreign_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateForeignTableStmt* _msg = _internal_mutable_create_foreign_table_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_table_stmt) +inline ::pg_query::ClusterStmt* Node::mutable_cluster_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ClusterStmt* _msg = _internal_mutable_cluster_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.cluster_stmt) return _msg; } -// .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 152 [json_name = "CreateUserMappingStmt"]; -inline bool Node::has_create_user_mapping_stmt() const { - return node_case() == kCreateUserMappingStmt; +// .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"]; +inline bool Node::has_vacuum_stmt() const { + return node_case() == kVacuumStmt; } -inline bool Node::_internal_has_create_user_mapping_stmt() const { - return node_case() == kCreateUserMappingStmt; +inline bool Node::_internal_has_vacuum_stmt() const { + return node_case() == kVacuumStmt; } -inline void Node::set_has_create_user_mapping_stmt() { - _impl_._oneof_case_[0] = kCreateUserMappingStmt; +inline void Node::set_has_vacuum_stmt() { + _impl_._oneof_case_[0] = kVacuumStmt; } -inline void Node::clear_create_user_mapping_stmt() { +inline void Node::clear_vacuum_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateUserMappingStmt) { + if (node_case() == kVacuumStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_user_mapping_stmt_; + delete _impl_.node_.vacuum_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateUserMappingStmt* Node::release_create_user_mapping_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_user_mapping_stmt) - if (node_case() == kCreateUserMappingStmt) { +inline ::pg_query::VacuumStmt* Node::release_vacuum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_stmt) + if (node_case() == kVacuumStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_user_mapping_stmt_; + auto* temp = _impl_.node_.vacuum_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_user_mapping_stmt_ = nullptr; + _impl_.node_.vacuum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateUserMappingStmt& Node::_internal_create_user_mapping_stmt() const { - return node_case() == kCreateUserMappingStmt ? *_impl_.node_.create_user_mapping_stmt_ : reinterpret_cast<::pg_query::CreateUserMappingStmt&>(::pg_query::_CreateUserMappingStmt_default_instance_); +inline const ::pg_query::VacuumStmt& Node::_internal_vacuum_stmt() const { + return node_case() == kVacuumStmt ? *_impl_.node_.vacuum_stmt_ : reinterpret_cast<::pg_query::VacuumStmt&>(::pg_query::_VacuumStmt_default_instance_); } -inline const ::pg_query::CreateUserMappingStmt& Node::create_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_user_mapping_stmt) - return _internal_create_user_mapping_stmt(); +inline const ::pg_query::VacuumStmt& Node::vacuum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_stmt) + return _internal_vacuum_stmt(); } -inline ::pg_query::CreateUserMappingStmt* Node::unsafe_arena_release_create_user_mapping_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_user_mapping_stmt) - if (node_case() == kCreateUserMappingStmt) { +inline ::pg_query::VacuumStmt* Node::unsafe_arena_release_vacuum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_stmt) + if (node_case() == kVacuumStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_user_mapping_stmt_; - _impl_.node_.create_user_mapping_stmt_ = nullptr; + auto* temp = _impl_.node_.vacuum_stmt_; + _impl_.node_.vacuum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value) { +inline void Node::unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_user_mapping_stmt(); - _impl_.node_.create_user_mapping_stmt_ = value; + set_has_vacuum_stmt(); + _impl_.node_.vacuum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_user_mapping_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_stmt) } -inline ::pg_query::CreateUserMappingStmt* Node::_internal_mutable_create_user_mapping_stmt() { - if (node_case() != kCreateUserMappingStmt) { +inline ::pg_query::VacuumStmt* Node::_internal_mutable_vacuum_stmt() { + if (node_case() != kVacuumStmt) { clear_node(); - set_has_create_user_mapping_stmt(); - _impl_.node_.create_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::CreateUserMappingStmt>(GetArena()); + set_has_vacuum_stmt(); + _impl_.node_.vacuum_stmt_ = CreateMaybeMessage<::pg_query::VacuumStmt>(GetArena()); } - return _impl_.node_.create_user_mapping_stmt_; + return _impl_.node_.vacuum_stmt_; } -inline ::pg_query::CreateUserMappingStmt* Node::mutable_create_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateUserMappingStmt* _msg = _internal_mutable_create_user_mapping_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_user_mapping_stmt) +inline ::pg_query::VacuumStmt* Node::mutable_vacuum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VacuumStmt* _msg = _internal_mutable_vacuum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_stmt) return _msg; } -// .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 153 [json_name = "AlterUserMappingStmt"]; -inline bool Node::has_alter_user_mapping_stmt() const { - return node_case() == kAlterUserMappingStmt; +// .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"]; +inline bool Node::has_vacuum_relation() const { + return node_case() == kVacuumRelation; } -inline bool Node::_internal_has_alter_user_mapping_stmt() const { - return node_case() == kAlterUserMappingStmt; +inline bool Node::_internal_has_vacuum_relation() const { + return node_case() == kVacuumRelation; } -inline void Node::set_has_alter_user_mapping_stmt() { - _impl_._oneof_case_[0] = kAlterUserMappingStmt; +inline void Node::set_has_vacuum_relation() { + _impl_._oneof_case_[0] = kVacuumRelation; } -inline void Node::clear_alter_user_mapping_stmt() { +inline void Node::clear_vacuum_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterUserMappingStmt) { + if (node_case() == kVacuumRelation) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_user_mapping_stmt_; + delete _impl_.node_.vacuum_relation_; } clear_has_node(); } } -inline ::pg_query::AlterUserMappingStmt* Node::release_alter_user_mapping_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_user_mapping_stmt) - if (node_case() == kAlterUserMappingStmt) { +inline ::pg_query::VacuumRelation* Node::release_vacuum_relation() { + // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_relation) + if (node_case() == kVacuumRelation) { clear_has_node(); - auto* temp = _impl_.node_.alter_user_mapping_stmt_; + auto* temp = _impl_.node_.vacuum_relation_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_user_mapping_stmt_ = nullptr; + _impl_.node_.vacuum_relation_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterUserMappingStmt& Node::_internal_alter_user_mapping_stmt() const { - return node_case() == kAlterUserMappingStmt ? *_impl_.node_.alter_user_mapping_stmt_ : reinterpret_cast<::pg_query::AlterUserMappingStmt&>(::pg_query::_AlterUserMappingStmt_default_instance_); +inline const ::pg_query::VacuumRelation& Node::_internal_vacuum_relation() const { + return node_case() == kVacuumRelation ? *_impl_.node_.vacuum_relation_ : reinterpret_cast<::pg_query::VacuumRelation&>(::pg_query::_VacuumRelation_default_instance_); } -inline const ::pg_query::AlterUserMappingStmt& Node::alter_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_user_mapping_stmt) - return _internal_alter_user_mapping_stmt(); +inline const ::pg_query::VacuumRelation& Node::vacuum_relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_relation) + return _internal_vacuum_relation(); } -inline ::pg_query::AlterUserMappingStmt* Node::unsafe_arena_release_alter_user_mapping_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_user_mapping_stmt) - if (node_case() == kAlterUserMappingStmt) { +inline ::pg_query::VacuumRelation* Node::unsafe_arena_release_vacuum_relation() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_relation) + if (node_case() == kVacuumRelation) { clear_has_node(); - auto* temp = _impl_.node_.alter_user_mapping_stmt_; - _impl_.node_.alter_user_mapping_stmt_ = nullptr; + auto* temp = _impl_.node_.vacuum_relation_; + _impl_.node_.vacuum_relation_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value) { +inline void Node::unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_user_mapping_stmt(); - _impl_.node_.alter_user_mapping_stmt_ = value; + set_has_vacuum_relation(); + _impl_.node_.vacuum_relation_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_user_mapping_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_relation) } -inline ::pg_query::AlterUserMappingStmt* Node::_internal_mutable_alter_user_mapping_stmt() { - if (node_case() != kAlterUserMappingStmt) { +inline ::pg_query::VacuumRelation* Node::_internal_mutable_vacuum_relation() { + if (node_case() != kVacuumRelation) { clear_node(); - set_has_alter_user_mapping_stmt(); - _impl_.node_.alter_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::AlterUserMappingStmt>(GetArena()); + set_has_vacuum_relation(); + _impl_.node_.vacuum_relation_ = CreateMaybeMessage<::pg_query::VacuumRelation>(GetArena()); } - return _impl_.node_.alter_user_mapping_stmt_; + return _impl_.node_.vacuum_relation_; } -inline ::pg_query::AlterUserMappingStmt* Node::mutable_alter_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterUserMappingStmt* _msg = _internal_mutable_alter_user_mapping_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_user_mapping_stmt) +inline ::pg_query::VacuumRelation* Node::mutable_vacuum_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VacuumRelation* _msg = _internal_mutable_vacuum_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_relation) return _msg; } -// .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 154 [json_name = "DropUserMappingStmt"]; -inline bool Node::has_drop_user_mapping_stmt() const { - return node_case() == kDropUserMappingStmt; +// .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"]; +inline bool Node::has_explain_stmt() const { + return node_case() == kExplainStmt; } -inline bool Node::_internal_has_drop_user_mapping_stmt() const { - return node_case() == kDropUserMappingStmt; +inline bool Node::_internal_has_explain_stmt() const { + return node_case() == kExplainStmt; } -inline void Node::set_has_drop_user_mapping_stmt() { - _impl_._oneof_case_[0] = kDropUserMappingStmt; +inline void Node::set_has_explain_stmt() { + _impl_._oneof_case_[0] = kExplainStmt; } -inline void Node::clear_drop_user_mapping_stmt() { +inline void Node::clear_explain_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropUserMappingStmt) { + if (node_case() == kExplainStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.drop_user_mapping_stmt_; + delete _impl_.node_.explain_stmt_; } clear_has_node(); } } -inline ::pg_query::DropUserMappingStmt* Node::release_drop_user_mapping_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_user_mapping_stmt) - if (node_case() == kDropUserMappingStmt) { +inline ::pg_query::ExplainStmt* Node::release_explain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.explain_stmt) + if (node_case() == kExplainStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_user_mapping_stmt_; + auto* temp = _impl_.node_.explain_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_user_mapping_stmt_ = nullptr; + _impl_.node_.explain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropUserMappingStmt& Node::_internal_drop_user_mapping_stmt() const { - return node_case() == kDropUserMappingStmt ? *_impl_.node_.drop_user_mapping_stmt_ : reinterpret_cast<::pg_query::DropUserMappingStmt&>(::pg_query::_DropUserMappingStmt_default_instance_); +inline const ::pg_query::ExplainStmt& Node::_internal_explain_stmt() const { + return node_case() == kExplainStmt ? *_impl_.node_.explain_stmt_ : reinterpret_cast<::pg_query::ExplainStmt&>(::pg_query::_ExplainStmt_default_instance_); } -inline const ::pg_query::DropUserMappingStmt& Node::drop_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_user_mapping_stmt) - return _internal_drop_user_mapping_stmt(); +inline const ::pg_query::ExplainStmt& Node::explain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.explain_stmt) + return _internal_explain_stmt(); } -inline ::pg_query::DropUserMappingStmt* Node::unsafe_arena_release_drop_user_mapping_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_user_mapping_stmt) - if (node_case() == kDropUserMappingStmt) { +inline ::pg_query::ExplainStmt* Node::unsafe_arena_release_explain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.explain_stmt) + if (node_case() == kExplainStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_user_mapping_stmt_; - _impl_.node_.drop_user_mapping_stmt_ = nullptr; + auto* temp = _impl_.node_.explain_stmt_; + _impl_.node_.explain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value) { +inline void Node::unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_drop_user_mapping_stmt(); - _impl_.node_.drop_user_mapping_stmt_ = value; + set_has_explain_stmt(); + _impl_.node_.explain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_user_mapping_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.explain_stmt) } -inline ::pg_query::DropUserMappingStmt* Node::_internal_mutable_drop_user_mapping_stmt() { - if (node_case() != kDropUserMappingStmt) { +inline ::pg_query::ExplainStmt* Node::_internal_mutable_explain_stmt() { + if (node_case() != kExplainStmt) { clear_node(); - set_has_drop_user_mapping_stmt(); - _impl_.node_.drop_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::DropUserMappingStmt>(GetArena()); + set_has_explain_stmt(); + _impl_.node_.explain_stmt_ = CreateMaybeMessage<::pg_query::ExplainStmt>(GetArena()); } - return _impl_.node_.drop_user_mapping_stmt_; + return _impl_.node_.explain_stmt_; } -inline ::pg_query::DropUserMappingStmt* Node::mutable_drop_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropUserMappingStmt* _msg = _internal_mutable_drop_user_mapping_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_user_mapping_stmt) +inline ::pg_query::ExplainStmt* Node::mutable_explain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ExplainStmt* _msg = _internal_mutable_explain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.explain_stmt) return _msg; } -// .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 155 [json_name = "ImportForeignSchemaStmt"]; -inline bool Node::has_import_foreign_schema_stmt() const { - return node_case() == kImportForeignSchemaStmt; +// .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"]; +inline bool Node::has_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt; } -inline bool Node::_internal_has_import_foreign_schema_stmt() const { - return node_case() == kImportForeignSchemaStmt; +inline bool Node::_internal_has_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt; } -inline void Node::set_has_import_foreign_schema_stmt() { - _impl_._oneof_case_[0] = kImportForeignSchemaStmt; +inline void Node::set_has_create_table_as_stmt() { + _impl_._oneof_case_[0] = kCreateTableAsStmt; } -inline void Node::clear_import_foreign_schema_stmt() { +inline void Node::clear_create_table_as_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kImportForeignSchemaStmt) { + if (node_case() == kCreateTableAsStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.import_foreign_schema_stmt_; + delete _impl_.node_.create_table_as_stmt_; } clear_has_node(); } } -inline ::pg_query::ImportForeignSchemaStmt* Node::release_import_foreign_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.import_foreign_schema_stmt) - if (node_case() == kImportForeignSchemaStmt) { +inline ::pg_query::CreateTableAsStmt* Node::release_create_table_as_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_table_as_stmt) + if (node_case() == kCreateTableAsStmt) { clear_has_node(); - auto* temp = _impl_.node_.import_foreign_schema_stmt_; + auto* temp = _impl_.node_.create_table_as_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.import_foreign_schema_stmt_ = nullptr; + _impl_.node_.create_table_as_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ImportForeignSchemaStmt& Node::_internal_import_foreign_schema_stmt() const { - return node_case() == kImportForeignSchemaStmt ? *_impl_.node_.import_foreign_schema_stmt_ : reinterpret_cast<::pg_query::ImportForeignSchemaStmt&>(::pg_query::_ImportForeignSchemaStmt_default_instance_); +inline const ::pg_query::CreateTableAsStmt& Node::_internal_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt ? *_impl_.node_.create_table_as_stmt_ : reinterpret_cast<::pg_query::CreateTableAsStmt&>(::pg_query::_CreateTableAsStmt_default_instance_); } -inline const ::pg_query::ImportForeignSchemaStmt& Node::import_foreign_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.import_foreign_schema_stmt) - return _internal_import_foreign_schema_stmt(); +inline const ::pg_query::CreateTableAsStmt& Node::create_table_as_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_table_as_stmt) + return _internal_create_table_as_stmt(); } -inline ::pg_query::ImportForeignSchemaStmt* Node::unsafe_arena_release_import_foreign_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.import_foreign_schema_stmt) - if (node_case() == kImportForeignSchemaStmt) { +inline ::pg_query::CreateTableAsStmt* Node::unsafe_arena_release_create_table_as_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_as_stmt) + if (node_case() == kCreateTableAsStmt) { clear_has_node(); - auto* temp = _impl_.node_.import_foreign_schema_stmt_; - _impl_.node_.import_foreign_schema_stmt_ = nullptr; + auto* temp = _impl_.node_.create_table_as_stmt_; + _impl_.node_.create_table_as_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_import_foreign_schema_stmt(); - _impl_.node_.import_foreign_schema_stmt_ = value; + set_has_create_table_as_stmt(); + _impl_.node_.create_table_as_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.import_foreign_schema_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_as_stmt) } -inline ::pg_query::ImportForeignSchemaStmt* Node::_internal_mutable_import_foreign_schema_stmt() { - if (node_case() != kImportForeignSchemaStmt) { +inline ::pg_query::CreateTableAsStmt* Node::_internal_mutable_create_table_as_stmt() { + if (node_case() != kCreateTableAsStmt) { clear_node(); - set_has_import_foreign_schema_stmt(); - _impl_.node_.import_foreign_schema_stmt_ = CreateMaybeMessage<::pg_query::ImportForeignSchemaStmt>(GetArena()); + set_has_create_table_as_stmt(); + _impl_.node_.create_table_as_stmt_ = CreateMaybeMessage<::pg_query::CreateTableAsStmt>(GetArena()); } - return _impl_.node_.import_foreign_schema_stmt_; + return _impl_.node_.create_table_as_stmt_; } -inline ::pg_query::ImportForeignSchemaStmt* Node::mutable_import_foreign_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ImportForeignSchemaStmt* _msg = _internal_mutable_import_foreign_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.import_foreign_schema_stmt) +inline ::pg_query::CreateTableAsStmt* Node::mutable_create_table_as_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTableAsStmt* _msg = _internal_mutable_create_table_as_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_as_stmt) return _msg; } -// .pg_query.CreatePolicyStmt create_policy_stmt = 156 [json_name = "CreatePolicyStmt"]; -inline bool Node::has_create_policy_stmt() const { - return node_case() == kCreatePolicyStmt; +// .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"]; +inline bool Node::has_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt; } -inline bool Node::_internal_has_create_policy_stmt() const { - return node_case() == kCreatePolicyStmt; +inline bool Node::_internal_has_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt; } -inline void Node::set_has_create_policy_stmt() { - _impl_._oneof_case_[0] = kCreatePolicyStmt; +inline void Node::set_has_refresh_mat_view_stmt() { + _impl_._oneof_case_[0] = kRefreshMatViewStmt; } -inline void Node::clear_create_policy_stmt() { +inline void Node::clear_refresh_mat_view_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreatePolicyStmt) { + if (node_case() == kRefreshMatViewStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_policy_stmt_; + delete _impl_.node_.refresh_mat_view_stmt_; } clear_has_node(); } } -inline ::pg_query::CreatePolicyStmt* Node::release_create_policy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_policy_stmt) - if (node_case() == kCreatePolicyStmt) { +inline ::pg_query::RefreshMatViewStmt* Node::release_refresh_mat_view_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.refresh_mat_view_stmt) + if (node_case() == kRefreshMatViewStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_policy_stmt_; + auto* temp = _impl_.node_.refresh_mat_view_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_policy_stmt_ = nullptr; + _impl_.node_.refresh_mat_view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatePolicyStmt& Node::_internal_create_policy_stmt() const { - return node_case() == kCreatePolicyStmt ? *_impl_.node_.create_policy_stmt_ : reinterpret_cast<::pg_query::CreatePolicyStmt&>(::pg_query::_CreatePolicyStmt_default_instance_); +inline const ::pg_query::RefreshMatViewStmt& Node::_internal_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt ? *_impl_.node_.refresh_mat_view_stmt_ : reinterpret_cast<::pg_query::RefreshMatViewStmt&>(::pg_query::_RefreshMatViewStmt_default_instance_); } -inline const ::pg_query::CreatePolicyStmt& Node::create_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_policy_stmt) - return _internal_create_policy_stmt(); +inline const ::pg_query::RefreshMatViewStmt& Node::refresh_mat_view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.refresh_mat_view_stmt) + return _internal_refresh_mat_view_stmt(); } -inline ::pg_query::CreatePolicyStmt* Node::unsafe_arena_release_create_policy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_policy_stmt) - if (node_case() == kCreatePolicyStmt) { +inline ::pg_query::RefreshMatViewStmt* Node::unsafe_arena_release_refresh_mat_view_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.refresh_mat_view_stmt) + if (node_case() == kRefreshMatViewStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_policy_stmt_; - _impl_.node_.create_policy_stmt_ = nullptr; + auto* temp = _impl_.node_.refresh_mat_view_stmt_; + _impl_.node_.refresh_mat_view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value) { +inline void Node::unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_policy_stmt(); - _impl_.node_.create_policy_stmt_ = value; + set_has_refresh_mat_view_stmt(); + _impl_.node_.refresh_mat_view_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_policy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.refresh_mat_view_stmt) } -inline ::pg_query::CreatePolicyStmt* Node::_internal_mutable_create_policy_stmt() { - if (node_case() != kCreatePolicyStmt) { +inline ::pg_query::RefreshMatViewStmt* Node::_internal_mutable_refresh_mat_view_stmt() { + if (node_case() != kRefreshMatViewStmt) { clear_node(); - set_has_create_policy_stmt(); - _impl_.node_.create_policy_stmt_ = CreateMaybeMessage<::pg_query::CreatePolicyStmt>(GetArena()); + set_has_refresh_mat_view_stmt(); + _impl_.node_.refresh_mat_view_stmt_ = CreateMaybeMessage<::pg_query::RefreshMatViewStmt>(GetArena()); } - return _impl_.node_.create_policy_stmt_; + return _impl_.node_.refresh_mat_view_stmt_; } -inline ::pg_query::CreatePolicyStmt* Node::mutable_create_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreatePolicyStmt* _msg = _internal_mutable_create_policy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_policy_stmt) +inline ::pg_query::RefreshMatViewStmt* Node::mutable_refresh_mat_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RefreshMatViewStmt* _msg = _internal_mutable_refresh_mat_view_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.refresh_mat_view_stmt) return _msg; } -// .pg_query.AlterPolicyStmt alter_policy_stmt = 157 [json_name = "AlterPolicyStmt"]; -inline bool Node::has_alter_policy_stmt() const { - return node_case() == kAlterPolicyStmt; +// .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"]; +inline bool Node::has_check_point_stmt() const { + return node_case() == kCheckPointStmt; } -inline bool Node::_internal_has_alter_policy_stmt() const { - return node_case() == kAlterPolicyStmt; +inline bool Node::_internal_has_check_point_stmt() const { + return node_case() == kCheckPointStmt; } -inline void Node::set_has_alter_policy_stmt() { - _impl_._oneof_case_[0] = kAlterPolicyStmt; +inline void Node::set_has_check_point_stmt() { + _impl_._oneof_case_[0] = kCheckPointStmt; } -inline void Node::clear_alter_policy_stmt() { +inline void Node::clear_check_point_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterPolicyStmt) { + if (node_case() == kCheckPointStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_policy_stmt_; + delete _impl_.node_.check_point_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterPolicyStmt* Node::release_alter_policy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_policy_stmt) - if (node_case() == kAlterPolicyStmt) { +inline ::pg_query::CheckPointStmt* Node::release_check_point_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.check_point_stmt) + if (node_case() == kCheckPointStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_policy_stmt_; + auto* temp = _impl_.node_.check_point_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_policy_stmt_ = nullptr; + _impl_.node_.check_point_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterPolicyStmt& Node::_internal_alter_policy_stmt() const { - return node_case() == kAlterPolicyStmt ? *_impl_.node_.alter_policy_stmt_ : reinterpret_cast<::pg_query::AlterPolicyStmt&>(::pg_query::_AlterPolicyStmt_default_instance_); +inline const ::pg_query::CheckPointStmt& Node::_internal_check_point_stmt() const { + return node_case() == kCheckPointStmt ? *_impl_.node_.check_point_stmt_ : reinterpret_cast<::pg_query::CheckPointStmt&>(::pg_query::_CheckPointStmt_default_instance_); } -inline const ::pg_query::AlterPolicyStmt& Node::alter_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_policy_stmt) - return _internal_alter_policy_stmt(); +inline const ::pg_query::CheckPointStmt& Node::check_point_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.check_point_stmt) + return _internal_check_point_stmt(); } -inline ::pg_query::AlterPolicyStmt* Node::unsafe_arena_release_alter_policy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_policy_stmt) - if (node_case() == kAlterPolicyStmt) { +inline ::pg_query::CheckPointStmt* Node::unsafe_arena_release_check_point_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.check_point_stmt) + if (node_case() == kCheckPointStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_policy_stmt_; - _impl_.node_.alter_policy_stmt_ = nullptr; + auto* temp = _impl_.node_.check_point_stmt_; + _impl_.node_.check_point_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value) { +inline void Node::unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_policy_stmt(); - _impl_.node_.alter_policy_stmt_ = value; + set_has_check_point_stmt(); + _impl_.node_.check_point_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_policy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.check_point_stmt) } -inline ::pg_query::AlterPolicyStmt* Node::_internal_mutable_alter_policy_stmt() { - if (node_case() != kAlterPolicyStmt) { +inline ::pg_query::CheckPointStmt* Node::_internal_mutable_check_point_stmt() { + if (node_case() != kCheckPointStmt) { clear_node(); - set_has_alter_policy_stmt(); - _impl_.node_.alter_policy_stmt_ = CreateMaybeMessage<::pg_query::AlterPolicyStmt>(GetArena()); + set_has_check_point_stmt(); + _impl_.node_.check_point_stmt_ = CreateMaybeMessage<::pg_query::CheckPointStmt>(GetArena()); } - return _impl_.node_.alter_policy_stmt_; + return _impl_.node_.check_point_stmt_; } -inline ::pg_query::AlterPolicyStmt* Node::mutable_alter_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterPolicyStmt* _msg = _internal_mutable_alter_policy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_policy_stmt) +inline ::pg_query::CheckPointStmt* Node::mutable_check_point_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CheckPointStmt* _msg = _internal_mutable_check_point_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.check_point_stmt) return _msg; } -// .pg_query.CreateAmStmt create_am_stmt = 158 [json_name = "CreateAmStmt"]; -inline bool Node::has_create_am_stmt() const { - return node_case() == kCreateAmStmt; +// .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"]; +inline bool Node::has_discard_stmt() const { + return node_case() == kDiscardStmt; } -inline bool Node::_internal_has_create_am_stmt() const { - return node_case() == kCreateAmStmt; +inline bool Node::_internal_has_discard_stmt() const { + return node_case() == kDiscardStmt; } -inline void Node::set_has_create_am_stmt() { - _impl_._oneof_case_[0] = kCreateAmStmt; +inline void Node::set_has_discard_stmt() { + _impl_._oneof_case_[0] = kDiscardStmt; } -inline void Node::clear_create_am_stmt() { +inline void Node::clear_discard_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateAmStmt) { + if (node_case() == kDiscardStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_am_stmt_; + delete _impl_.node_.discard_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateAmStmt* Node::release_create_am_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_am_stmt) - if (node_case() == kCreateAmStmt) { +inline ::pg_query::DiscardStmt* Node::release_discard_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.discard_stmt) + if (node_case() == kDiscardStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_am_stmt_; + auto* temp = _impl_.node_.discard_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_am_stmt_ = nullptr; + _impl_.node_.discard_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateAmStmt& Node::_internal_create_am_stmt() const { - return node_case() == kCreateAmStmt ? *_impl_.node_.create_am_stmt_ : reinterpret_cast<::pg_query::CreateAmStmt&>(::pg_query::_CreateAmStmt_default_instance_); +inline const ::pg_query::DiscardStmt& Node::_internal_discard_stmt() const { + return node_case() == kDiscardStmt ? *_impl_.node_.discard_stmt_ : reinterpret_cast<::pg_query::DiscardStmt&>(::pg_query::_DiscardStmt_default_instance_); } -inline const ::pg_query::CreateAmStmt& Node::create_am_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_am_stmt) - return _internal_create_am_stmt(); +inline const ::pg_query::DiscardStmt& Node::discard_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.discard_stmt) + return _internal_discard_stmt(); } -inline ::pg_query::CreateAmStmt* Node::unsafe_arena_release_create_am_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_am_stmt) - if (node_case() == kCreateAmStmt) { +inline ::pg_query::DiscardStmt* Node::unsafe_arena_release_discard_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.discard_stmt) + if (node_case() == kDiscardStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_am_stmt_; - _impl_.node_.create_am_stmt_ = nullptr; + auto* temp = _impl_.node_.discard_stmt_; + _impl_.node_.discard_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value) { +inline void Node::unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_am_stmt(); - _impl_.node_.create_am_stmt_ = value; + set_has_discard_stmt(); + _impl_.node_.discard_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_am_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.discard_stmt) } -inline ::pg_query::CreateAmStmt* Node::_internal_mutable_create_am_stmt() { - if (node_case() != kCreateAmStmt) { +inline ::pg_query::DiscardStmt* Node::_internal_mutable_discard_stmt() { + if (node_case() != kDiscardStmt) { clear_node(); - set_has_create_am_stmt(); - _impl_.node_.create_am_stmt_ = CreateMaybeMessage<::pg_query::CreateAmStmt>(GetArena()); + set_has_discard_stmt(); + _impl_.node_.discard_stmt_ = CreateMaybeMessage<::pg_query::DiscardStmt>(GetArena()); } - return _impl_.node_.create_am_stmt_; + return _impl_.node_.discard_stmt_; } -inline ::pg_query::CreateAmStmt* Node::mutable_create_am_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateAmStmt* _msg = _internal_mutable_create_am_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_am_stmt) +inline ::pg_query::DiscardStmt* Node::mutable_discard_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DiscardStmt* _msg = _internal_mutable_discard_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.discard_stmt) return _msg; } -// .pg_query.CreateTrigStmt create_trig_stmt = 159 [json_name = "CreateTrigStmt"]; -inline bool Node::has_create_trig_stmt() const { - return node_case() == kCreateTrigStmt; +// .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"]; +inline bool Node::has_lock_stmt() const { + return node_case() == kLockStmt; } -inline bool Node::_internal_has_create_trig_stmt() const { - return node_case() == kCreateTrigStmt; +inline bool Node::_internal_has_lock_stmt() const { + return node_case() == kLockStmt; } -inline void Node::set_has_create_trig_stmt() { - _impl_._oneof_case_[0] = kCreateTrigStmt; +inline void Node::set_has_lock_stmt() { + _impl_._oneof_case_[0] = kLockStmt; } -inline void Node::clear_create_trig_stmt() { +inline void Node::clear_lock_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateTrigStmt) { + if (node_case() == kLockStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_trig_stmt_; + delete _impl_.node_.lock_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateTrigStmt* Node::release_create_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_trig_stmt) - if (node_case() == kCreateTrigStmt) { +inline ::pg_query::LockStmt* Node::release_lock_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.lock_stmt) + if (node_case() == kLockStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_trig_stmt_; + auto* temp = _impl_.node_.lock_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_trig_stmt_ = nullptr; + _impl_.node_.lock_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTrigStmt& Node::_internal_create_trig_stmt() const { - return node_case() == kCreateTrigStmt ? *_impl_.node_.create_trig_stmt_ : reinterpret_cast<::pg_query::CreateTrigStmt&>(::pg_query::_CreateTrigStmt_default_instance_); +inline const ::pg_query::LockStmt& Node::_internal_lock_stmt() const { + return node_case() == kLockStmt ? *_impl_.node_.lock_stmt_ : reinterpret_cast<::pg_query::LockStmt&>(::pg_query::_LockStmt_default_instance_); } -inline const ::pg_query::CreateTrigStmt& Node::create_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_trig_stmt) - return _internal_create_trig_stmt(); +inline const ::pg_query::LockStmt& Node::lock_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.lock_stmt) + return _internal_lock_stmt(); } -inline ::pg_query::CreateTrigStmt* Node::unsafe_arena_release_create_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_trig_stmt) - if (node_case() == kCreateTrigStmt) { +inline ::pg_query::LockStmt* Node::unsafe_arena_release_lock_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.lock_stmt) + if (node_case() == kLockStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_trig_stmt_; - _impl_.node_.create_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.lock_stmt_; + _impl_.node_.lock_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value) { +inline void Node::unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_trig_stmt(); - _impl_.node_.create_trig_stmt_ = value; + set_has_lock_stmt(); + _impl_.node_.lock_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.lock_stmt) } -inline ::pg_query::CreateTrigStmt* Node::_internal_mutable_create_trig_stmt() { - if (node_case() != kCreateTrigStmt) { +inline ::pg_query::LockStmt* Node::_internal_mutable_lock_stmt() { + if (node_case() != kLockStmt) { clear_node(); - set_has_create_trig_stmt(); - _impl_.node_.create_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateTrigStmt>(GetArena()); + set_has_lock_stmt(); + _impl_.node_.lock_stmt_ = CreateMaybeMessage<::pg_query::LockStmt>(GetArena()); } - return _impl_.node_.create_trig_stmt_; + return _impl_.node_.lock_stmt_; } -inline ::pg_query::CreateTrigStmt* Node::mutable_create_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateTrigStmt* _msg = _internal_mutable_create_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_trig_stmt) +inline ::pg_query::LockStmt* Node::mutable_lock_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LockStmt* _msg = _internal_mutable_lock_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.lock_stmt) return _msg; } -// .pg_query.CreateEventTrigStmt create_event_trig_stmt = 160 [json_name = "CreateEventTrigStmt"]; -inline bool Node::has_create_event_trig_stmt() const { - return node_case() == kCreateEventTrigStmt; +// .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"]; +inline bool Node::has_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt; } -inline bool Node::_internal_has_create_event_trig_stmt() const { - return node_case() == kCreateEventTrigStmt; +inline bool Node::_internal_has_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt; } -inline void Node::set_has_create_event_trig_stmt() { - _impl_._oneof_case_[0] = kCreateEventTrigStmt; +inline void Node::set_has_constraints_set_stmt() { + _impl_._oneof_case_[0] = kConstraintsSetStmt; } -inline void Node::clear_create_event_trig_stmt() { +inline void Node::clear_constraints_set_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateEventTrigStmt) { + if (node_case() == kConstraintsSetStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_event_trig_stmt_; + delete _impl_.node_.constraints_set_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateEventTrigStmt* Node::release_create_event_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_event_trig_stmt) - if (node_case() == kCreateEventTrigStmt) { +inline ::pg_query::ConstraintsSetStmt* Node::release_constraints_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.constraints_set_stmt) + if (node_case() == kConstraintsSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_event_trig_stmt_; + auto* temp = _impl_.node_.constraints_set_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_event_trig_stmt_ = nullptr; + _impl_.node_.constraints_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateEventTrigStmt& Node::_internal_create_event_trig_stmt() const { - return node_case() == kCreateEventTrigStmt ? *_impl_.node_.create_event_trig_stmt_ : reinterpret_cast<::pg_query::CreateEventTrigStmt&>(::pg_query::_CreateEventTrigStmt_default_instance_); +inline const ::pg_query::ConstraintsSetStmt& Node::_internal_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt ? *_impl_.node_.constraints_set_stmt_ : reinterpret_cast<::pg_query::ConstraintsSetStmt&>(::pg_query::_ConstraintsSetStmt_default_instance_); } -inline const ::pg_query::CreateEventTrigStmt& Node::create_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_event_trig_stmt) - return _internal_create_event_trig_stmt(); +inline const ::pg_query::ConstraintsSetStmt& Node::constraints_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.constraints_set_stmt) + return _internal_constraints_set_stmt(); } -inline ::pg_query::CreateEventTrigStmt* Node::unsafe_arena_release_create_event_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_event_trig_stmt) - if (node_case() == kCreateEventTrigStmt) { +inline ::pg_query::ConstraintsSetStmt* Node::unsafe_arena_release_constraints_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraints_set_stmt) + if (node_case() == kConstraintsSetStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_event_trig_stmt_; - _impl_.node_.create_event_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.constraints_set_stmt_; + _impl_.node_.constraints_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value) { +inline void Node::unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_event_trig_stmt(); - _impl_.node_.create_event_trig_stmt_ = value; + set_has_constraints_set_stmt(); + _impl_.node_.constraints_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_event_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraints_set_stmt) } -inline ::pg_query::CreateEventTrigStmt* Node::_internal_mutable_create_event_trig_stmt() { - if (node_case() != kCreateEventTrigStmt) { +inline ::pg_query::ConstraintsSetStmt* Node::_internal_mutable_constraints_set_stmt() { + if (node_case() != kConstraintsSetStmt) { clear_node(); - set_has_create_event_trig_stmt(); - _impl_.node_.create_event_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateEventTrigStmt>(GetArena()); + set_has_constraints_set_stmt(); + _impl_.node_.constraints_set_stmt_ = CreateMaybeMessage<::pg_query::ConstraintsSetStmt>(GetArena()); } - return _impl_.node_.create_event_trig_stmt_; + return _impl_.node_.constraints_set_stmt_; } -inline ::pg_query::CreateEventTrigStmt* Node::mutable_create_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateEventTrigStmt* _msg = _internal_mutable_create_event_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_event_trig_stmt) +inline ::pg_query::ConstraintsSetStmt* Node::mutable_constraints_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ConstraintsSetStmt* _msg = _internal_mutable_constraints_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.constraints_set_stmt) return _msg; } -// .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 161 [json_name = "AlterEventTrigStmt"]; -inline bool Node::has_alter_event_trig_stmt() const { - return node_case() == kAlterEventTrigStmt; +// .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"]; +inline bool Node::has_reindex_stmt() const { + return node_case() == kReindexStmt; } -inline bool Node::_internal_has_alter_event_trig_stmt() const { - return node_case() == kAlterEventTrigStmt; +inline bool Node::_internal_has_reindex_stmt() const { + return node_case() == kReindexStmt; } -inline void Node::set_has_alter_event_trig_stmt() { - _impl_._oneof_case_[0] = kAlterEventTrigStmt; +inline void Node::set_has_reindex_stmt() { + _impl_._oneof_case_[0] = kReindexStmt; } -inline void Node::clear_alter_event_trig_stmt() { +inline void Node::clear_reindex_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterEventTrigStmt) { + if (node_case() == kReindexStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_event_trig_stmt_; + delete _impl_.node_.reindex_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterEventTrigStmt* Node::release_alter_event_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_event_trig_stmt) - if (node_case() == kAlterEventTrigStmt) { +inline ::pg_query::ReindexStmt* Node::release_reindex_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.reindex_stmt) + if (node_case() == kReindexStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_event_trig_stmt_; + auto* temp = _impl_.node_.reindex_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_event_trig_stmt_ = nullptr; + _impl_.node_.reindex_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterEventTrigStmt& Node::_internal_alter_event_trig_stmt() const { - return node_case() == kAlterEventTrigStmt ? *_impl_.node_.alter_event_trig_stmt_ : reinterpret_cast<::pg_query::AlterEventTrigStmt&>(::pg_query::_AlterEventTrigStmt_default_instance_); +inline const ::pg_query::ReindexStmt& Node::_internal_reindex_stmt() const { + return node_case() == kReindexStmt ? *_impl_.node_.reindex_stmt_ : reinterpret_cast<::pg_query::ReindexStmt&>(::pg_query::_ReindexStmt_default_instance_); } -inline const ::pg_query::AlterEventTrigStmt& Node::alter_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_event_trig_stmt) - return _internal_alter_event_trig_stmt(); +inline const ::pg_query::ReindexStmt& Node::reindex_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.reindex_stmt) + return _internal_reindex_stmt(); } -inline ::pg_query::AlterEventTrigStmt* Node::unsafe_arena_release_alter_event_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_event_trig_stmt) - if (node_case() == kAlterEventTrigStmt) { +inline ::pg_query::ReindexStmt* Node::unsafe_arena_release_reindex_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reindex_stmt) + if (node_case() == kReindexStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_event_trig_stmt_; - _impl_.node_.alter_event_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.reindex_stmt_; + _impl_.node_.reindex_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value) { +inline void Node::unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_event_trig_stmt(); - _impl_.node_.alter_event_trig_stmt_ = value; + set_has_reindex_stmt(); + _impl_.node_.reindex_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_event_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reindex_stmt) } -inline ::pg_query::AlterEventTrigStmt* Node::_internal_mutable_alter_event_trig_stmt() { - if (node_case() != kAlterEventTrigStmt) { +inline ::pg_query::ReindexStmt* Node::_internal_mutable_reindex_stmt() { + if (node_case() != kReindexStmt) { clear_node(); - set_has_alter_event_trig_stmt(); - _impl_.node_.alter_event_trig_stmt_ = CreateMaybeMessage<::pg_query::AlterEventTrigStmt>(GetArena()); + set_has_reindex_stmt(); + _impl_.node_.reindex_stmt_ = CreateMaybeMessage<::pg_query::ReindexStmt>(GetArena()); } - return _impl_.node_.alter_event_trig_stmt_; + return _impl_.node_.reindex_stmt_; } -inline ::pg_query::AlterEventTrigStmt* Node::mutable_alter_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterEventTrigStmt* _msg = _internal_mutable_alter_event_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_event_trig_stmt) +inline ::pg_query::ReindexStmt* Node::mutable_reindex_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReindexStmt* _msg = _internal_mutable_reindex_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.reindex_stmt) return _msg; } -// .pg_query.CreatePLangStmt create_plang_stmt = 162 [json_name = "CreatePLangStmt"]; -inline bool Node::has_create_plang_stmt() const { - return node_case() == kCreatePlangStmt; +// .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"]; +inline bool Node::has_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt; } -inline bool Node::_internal_has_create_plang_stmt() const { - return node_case() == kCreatePlangStmt; +inline bool Node::_internal_has_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt; } -inline void Node::set_has_create_plang_stmt() { - _impl_._oneof_case_[0] = kCreatePlangStmt; +inline void Node::set_has_create_conversion_stmt() { + _impl_._oneof_case_[0] = kCreateConversionStmt; } -inline void Node::clear_create_plang_stmt() { +inline void Node::clear_create_conversion_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreatePlangStmt) { + if (node_case() == kCreateConversionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_plang_stmt_; + delete _impl_.node_.create_conversion_stmt_; } clear_has_node(); } } -inline ::pg_query::CreatePLangStmt* Node::release_create_plang_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_plang_stmt) - if (node_case() == kCreatePlangStmt) { +inline ::pg_query::CreateConversionStmt* Node::release_create_conversion_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_conversion_stmt) + if (node_case() == kCreateConversionStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_plang_stmt_; + auto* temp = _impl_.node_.create_conversion_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_plang_stmt_ = nullptr; + _impl_.node_.create_conversion_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatePLangStmt& Node::_internal_create_plang_stmt() const { - return node_case() == kCreatePlangStmt ? *_impl_.node_.create_plang_stmt_ : reinterpret_cast<::pg_query::CreatePLangStmt&>(::pg_query::_CreatePLangStmt_default_instance_); +inline const ::pg_query::CreateConversionStmt& Node::_internal_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt ? *_impl_.node_.create_conversion_stmt_ : reinterpret_cast<::pg_query::CreateConversionStmt&>(::pg_query::_CreateConversionStmt_default_instance_); } -inline const ::pg_query::CreatePLangStmt& Node::create_plang_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_plang_stmt) - return _internal_create_plang_stmt(); +inline const ::pg_query::CreateConversionStmt& Node::create_conversion_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_conversion_stmt) + return _internal_create_conversion_stmt(); } -inline ::pg_query::CreatePLangStmt* Node::unsafe_arena_release_create_plang_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_plang_stmt) - if (node_case() == kCreatePlangStmt) { +inline ::pg_query::CreateConversionStmt* Node::unsafe_arena_release_create_conversion_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_conversion_stmt) + if (node_case() == kCreateConversionStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_plang_stmt_; - _impl_.node_.create_plang_stmt_ = nullptr; + auto* temp = _impl_.node_.create_conversion_stmt_; + _impl_.node_.create_conversion_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_plang_stmt(); - _impl_.node_.create_plang_stmt_ = value; + set_has_create_conversion_stmt(); + _impl_.node_.create_conversion_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_plang_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_conversion_stmt) } -inline ::pg_query::CreatePLangStmt* Node::_internal_mutable_create_plang_stmt() { - if (node_case() != kCreatePlangStmt) { +inline ::pg_query::CreateConversionStmt* Node::_internal_mutable_create_conversion_stmt() { + if (node_case() != kCreateConversionStmt) { clear_node(); - set_has_create_plang_stmt(); - _impl_.node_.create_plang_stmt_ = CreateMaybeMessage<::pg_query::CreatePLangStmt>(GetArena()); + set_has_create_conversion_stmt(); + _impl_.node_.create_conversion_stmt_ = CreateMaybeMessage<::pg_query::CreateConversionStmt>(GetArena()); } - return _impl_.node_.create_plang_stmt_; + return _impl_.node_.create_conversion_stmt_; } -inline ::pg_query::CreatePLangStmt* Node::mutable_create_plang_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreatePLangStmt* _msg = _internal_mutable_create_plang_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_plang_stmt) +inline ::pg_query::CreateConversionStmt* Node::mutable_create_conversion_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateConversionStmt* _msg = _internal_mutable_create_conversion_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_conversion_stmt) return _msg; } -// .pg_query.CreateRoleStmt create_role_stmt = 163 [json_name = "CreateRoleStmt"]; -inline bool Node::has_create_role_stmt() const { - return node_case() == kCreateRoleStmt; +// .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"]; +inline bool Node::has_create_cast_stmt() const { + return node_case() == kCreateCastStmt; } -inline bool Node::_internal_has_create_role_stmt() const { - return node_case() == kCreateRoleStmt; +inline bool Node::_internal_has_create_cast_stmt() const { + return node_case() == kCreateCastStmt; } -inline void Node::set_has_create_role_stmt() { - _impl_._oneof_case_[0] = kCreateRoleStmt; +inline void Node::set_has_create_cast_stmt() { + _impl_._oneof_case_[0] = kCreateCastStmt; } -inline void Node::clear_create_role_stmt() { +inline void Node::clear_create_cast_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateRoleStmt) { + if (node_case() == kCreateCastStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_role_stmt_; + delete _impl_.node_.create_cast_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateRoleStmt* Node::release_create_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_role_stmt) - if (node_case() == kCreateRoleStmt) { +inline ::pg_query::CreateCastStmt* Node::release_create_cast_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_cast_stmt) + if (node_case() == kCreateCastStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_role_stmt_; + auto* temp = _impl_.node_.create_cast_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_role_stmt_ = nullptr; + _impl_.node_.create_cast_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateRoleStmt& Node::_internal_create_role_stmt() const { - return node_case() == kCreateRoleStmt ? *_impl_.node_.create_role_stmt_ : reinterpret_cast<::pg_query::CreateRoleStmt&>(::pg_query::_CreateRoleStmt_default_instance_); +inline const ::pg_query::CreateCastStmt& Node::_internal_create_cast_stmt() const { + return node_case() == kCreateCastStmt ? *_impl_.node_.create_cast_stmt_ : reinterpret_cast<::pg_query::CreateCastStmt&>(::pg_query::_CreateCastStmt_default_instance_); } -inline const ::pg_query::CreateRoleStmt& Node::create_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_role_stmt) - return _internal_create_role_stmt(); +inline const ::pg_query::CreateCastStmt& Node::create_cast_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_cast_stmt) + return _internal_create_cast_stmt(); } -inline ::pg_query::CreateRoleStmt* Node::unsafe_arena_release_create_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_role_stmt) - if (node_case() == kCreateRoleStmt) { +inline ::pg_query::CreateCastStmt* Node::unsafe_arena_release_create_cast_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_cast_stmt) + if (node_case() == kCreateCastStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_role_stmt_; - _impl_.node_.create_role_stmt_ = nullptr; + auto* temp = _impl_.node_.create_cast_stmt_; + _impl_.node_.create_cast_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_role_stmt(); - _impl_.node_.create_role_stmt_ = value; + set_has_create_cast_stmt(); + _impl_.node_.create_cast_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_cast_stmt) } -inline ::pg_query::CreateRoleStmt* Node::_internal_mutable_create_role_stmt() { - if (node_case() != kCreateRoleStmt) { +inline ::pg_query::CreateCastStmt* Node::_internal_mutable_create_cast_stmt() { + if (node_case() != kCreateCastStmt) { clear_node(); - set_has_create_role_stmt(); - _impl_.node_.create_role_stmt_ = CreateMaybeMessage<::pg_query::CreateRoleStmt>(GetArena()); + set_has_create_cast_stmt(); + _impl_.node_.create_cast_stmt_ = CreateMaybeMessage<::pg_query::CreateCastStmt>(GetArena()); } - return _impl_.node_.create_role_stmt_; + return _impl_.node_.create_cast_stmt_; } -inline ::pg_query::CreateRoleStmt* Node::mutable_create_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateRoleStmt* _msg = _internal_mutable_create_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_role_stmt) +inline ::pg_query::CreateCastStmt* Node::mutable_create_cast_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateCastStmt* _msg = _internal_mutable_create_cast_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_cast_stmt) return _msg; } -// .pg_query.AlterRoleStmt alter_role_stmt = 164 [json_name = "AlterRoleStmt"]; -inline bool Node::has_alter_role_stmt() const { - return node_case() == kAlterRoleStmt; +// .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"]; +inline bool Node::has_create_transform_stmt() const { + return node_case() == kCreateTransformStmt; } -inline bool Node::_internal_has_alter_role_stmt() const { - return node_case() == kAlterRoleStmt; +inline bool Node::_internal_has_create_transform_stmt() const { + return node_case() == kCreateTransformStmt; } -inline void Node::set_has_alter_role_stmt() { - _impl_._oneof_case_[0] = kAlterRoleStmt; +inline void Node::set_has_create_transform_stmt() { + _impl_._oneof_case_[0] = kCreateTransformStmt; } -inline void Node::clear_alter_role_stmt() { +inline void Node::clear_create_transform_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterRoleStmt) { + if (node_case() == kCreateTransformStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_role_stmt_; + delete _impl_.node_.create_transform_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterRoleStmt* Node::release_alter_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_stmt) - if (node_case() == kAlterRoleStmt) { +inline ::pg_query::CreateTransformStmt* Node::release_create_transform_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_transform_stmt) + if (node_case() == kCreateTransformStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_role_stmt_; + auto* temp = _impl_.node_.create_transform_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_role_stmt_ = nullptr; + _impl_.node_.create_transform_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterRoleStmt& Node::_internal_alter_role_stmt() const { - return node_case() == kAlterRoleStmt ? *_impl_.node_.alter_role_stmt_ : reinterpret_cast<::pg_query::AlterRoleStmt&>(::pg_query::_AlterRoleStmt_default_instance_); +inline const ::pg_query::CreateTransformStmt& Node::_internal_create_transform_stmt() const { + return node_case() == kCreateTransformStmt ? *_impl_.node_.create_transform_stmt_ : reinterpret_cast<::pg_query::CreateTransformStmt&>(::pg_query::_CreateTransformStmt_default_instance_); } -inline const ::pg_query::AlterRoleStmt& Node::alter_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_stmt) - return _internal_alter_role_stmt(); +inline const ::pg_query::CreateTransformStmt& Node::create_transform_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_transform_stmt) + return _internal_create_transform_stmt(); } -inline ::pg_query::AlterRoleStmt* Node::unsafe_arena_release_alter_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_stmt) - if (node_case() == kAlterRoleStmt) { +inline ::pg_query::CreateTransformStmt* Node::unsafe_arena_release_create_transform_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_transform_stmt) + if (node_case() == kCreateTransformStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_role_stmt_; - _impl_.node_.alter_role_stmt_ = nullptr; + auto* temp = _impl_.node_.create_transform_stmt_; + _impl_.node_.create_transform_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_role_stmt(); - _impl_.node_.alter_role_stmt_ = value; + set_has_create_transform_stmt(); + _impl_.node_.create_transform_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_transform_stmt) } -inline ::pg_query::AlterRoleStmt* Node::_internal_mutable_alter_role_stmt() { - if (node_case() != kAlterRoleStmt) { +inline ::pg_query::CreateTransformStmt* Node::_internal_mutable_create_transform_stmt() { + if (node_case() != kCreateTransformStmt) { clear_node(); - set_has_alter_role_stmt(); - _impl_.node_.alter_role_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleStmt>(GetArena()); + set_has_create_transform_stmt(); + _impl_.node_.create_transform_stmt_ = CreateMaybeMessage<::pg_query::CreateTransformStmt>(GetArena()); } - return _impl_.node_.alter_role_stmt_; + return _impl_.node_.create_transform_stmt_; } -inline ::pg_query::AlterRoleStmt* Node::mutable_alter_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterRoleStmt* _msg = _internal_mutable_alter_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_stmt) +inline ::pg_query::CreateTransformStmt* Node::mutable_create_transform_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTransformStmt* _msg = _internal_mutable_create_transform_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_transform_stmt) return _msg; } -// .pg_query.AlterRoleSetStmt alter_role_set_stmt = 165 [json_name = "AlterRoleSetStmt"]; -inline bool Node::has_alter_role_set_stmt() const { - return node_case() == kAlterRoleSetStmt; +// .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"]; +inline bool Node::has_prepare_stmt() const { + return node_case() == kPrepareStmt; } -inline bool Node::_internal_has_alter_role_set_stmt() const { - return node_case() == kAlterRoleSetStmt; +inline bool Node::_internal_has_prepare_stmt() const { + return node_case() == kPrepareStmt; } -inline void Node::set_has_alter_role_set_stmt() { - _impl_._oneof_case_[0] = kAlterRoleSetStmt; +inline void Node::set_has_prepare_stmt() { + _impl_._oneof_case_[0] = kPrepareStmt; } -inline void Node::clear_alter_role_set_stmt() { +inline void Node::clear_prepare_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterRoleSetStmt) { + if (node_case() == kPrepareStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_role_set_stmt_; + delete _impl_.node_.prepare_stmt_; } clear_has_node(); - } -} -inline ::pg_query::AlterRoleSetStmt* Node::release_alter_role_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_set_stmt) - if (node_case() == kAlterRoleSetStmt) { + } +} +inline ::pg_query::PrepareStmt* Node::release_prepare_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.prepare_stmt) + if (node_case() == kPrepareStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_role_set_stmt_; + auto* temp = _impl_.node_.prepare_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_role_set_stmt_ = nullptr; + _impl_.node_.prepare_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterRoleSetStmt& Node::_internal_alter_role_set_stmt() const { - return node_case() == kAlterRoleSetStmt ? *_impl_.node_.alter_role_set_stmt_ : reinterpret_cast<::pg_query::AlterRoleSetStmt&>(::pg_query::_AlterRoleSetStmt_default_instance_); +inline const ::pg_query::PrepareStmt& Node::_internal_prepare_stmt() const { + return node_case() == kPrepareStmt ? *_impl_.node_.prepare_stmt_ : reinterpret_cast<::pg_query::PrepareStmt&>(::pg_query::_PrepareStmt_default_instance_); } -inline const ::pg_query::AlterRoleSetStmt& Node::alter_role_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_set_stmt) - return _internal_alter_role_set_stmt(); +inline const ::pg_query::PrepareStmt& Node::prepare_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.prepare_stmt) + return _internal_prepare_stmt(); } -inline ::pg_query::AlterRoleSetStmt* Node::unsafe_arena_release_alter_role_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_set_stmt) - if (node_case() == kAlterRoleSetStmt) { +inline ::pg_query::PrepareStmt* Node::unsafe_arena_release_prepare_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.prepare_stmt) + if (node_case() == kPrepareStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_role_set_stmt_; - _impl_.node_.alter_role_set_stmt_ = nullptr; + auto* temp = _impl_.node_.prepare_stmt_; + _impl_.node_.prepare_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value) { +inline void Node::unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_role_set_stmt(); - _impl_.node_.alter_role_set_stmt_ = value; + set_has_prepare_stmt(); + _impl_.node_.prepare_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.prepare_stmt) } -inline ::pg_query::AlterRoleSetStmt* Node::_internal_mutable_alter_role_set_stmt() { - if (node_case() != kAlterRoleSetStmt) { +inline ::pg_query::PrepareStmt* Node::_internal_mutable_prepare_stmt() { + if (node_case() != kPrepareStmt) { clear_node(); - set_has_alter_role_set_stmt(); - _impl_.node_.alter_role_set_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleSetStmt>(GetArena()); + set_has_prepare_stmt(); + _impl_.node_.prepare_stmt_ = CreateMaybeMessage<::pg_query::PrepareStmt>(GetArena()); } - return _impl_.node_.alter_role_set_stmt_; + return _impl_.node_.prepare_stmt_; } -inline ::pg_query::AlterRoleSetStmt* Node::mutable_alter_role_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterRoleSetStmt* _msg = _internal_mutable_alter_role_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_set_stmt) +inline ::pg_query::PrepareStmt* Node::mutable_prepare_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PrepareStmt* _msg = _internal_mutable_prepare_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.prepare_stmt) return _msg; } -// .pg_query.DropRoleStmt drop_role_stmt = 166 [json_name = "DropRoleStmt"]; -inline bool Node::has_drop_role_stmt() const { - return node_case() == kDropRoleStmt; +// .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"]; +inline bool Node::has_execute_stmt() const { + return node_case() == kExecuteStmt; } -inline bool Node::_internal_has_drop_role_stmt() const { - return node_case() == kDropRoleStmt; +inline bool Node::_internal_has_execute_stmt() const { + return node_case() == kExecuteStmt; } -inline void Node::set_has_drop_role_stmt() { - _impl_._oneof_case_[0] = kDropRoleStmt; +inline void Node::set_has_execute_stmt() { + _impl_._oneof_case_[0] = kExecuteStmt; } -inline void Node::clear_drop_role_stmt() { +inline void Node::clear_execute_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropRoleStmt) { + if (node_case() == kExecuteStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.drop_role_stmt_; + delete _impl_.node_.execute_stmt_; } clear_has_node(); } } -inline ::pg_query::DropRoleStmt* Node::release_drop_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_role_stmt) - if (node_case() == kDropRoleStmt) { +inline ::pg_query::ExecuteStmt* Node::release_execute_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.execute_stmt) + if (node_case() == kExecuteStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_role_stmt_; + auto* temp = _impl_.node_.execute_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_role_stmt_ = nullptr; + _impl_.node_.execute_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropRoleStmt& Node::_internal_drop_role_stmt() const { - return node_case() == kDropRoleStmt ? *_impl_.node_.drop_role_stmt_ : reinterpret_cast<::pg_query::DropRoleStmt&>(::pg_query::_DropRoleStmt_default_instance_); +inline const ::pg_query::ExecuteStmt& Node::_internal_execute_stmt() const { + return node_case() == kExecuteStmt ? *_impl_.node_.execute_stmt_ : reinterpret_cast<::pg_query::ExecuteStmt&>(::pg_query::_ExecuteStmt_default_instance_); } -inline const ::pg_query::DropRoleStmt& Node::drop_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_role_stmt) - return _internal_drop_role_stmt(); +inline const ::pg_query::ExecuteStmt& Node::execute_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.execute_stmt) + return _internal_execute_stmt(); } -inline ::pg_query::DropRoleStmt* Node::unsafe_arena_release_drop_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_role_stmt) - if (node_case() == kDropRoleStmt) { +inline ::pg_query::ExecuteStmt* Node::unsafe_arena_release_execute_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.execute_stmt) + if (node_case() == kExecuteStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_role_stmt_; - _impl_.node_.drop_role_stmt_ = nullptr; + auto* temp = _impl_.node_.execute_stmt_; + _impl_.node_.execute_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value) { +inline void Node::unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_drop_role_stmt(); - _impl_.node_.drop_role_stmt_ = value; + set_has_execute_stmt(); + _impl_.node_.execute_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.execute_stmt) } -inline ::pg_query::DropRoleStmt* Node::_internal_mutable_drop_role_stmt() { - if (node_case() != kDropRoleStmt) { +inline ::pg_query::ExecuteStmt* Node::_internal_mutable_execute_stmt() { + if (node_case() != kExecuteStmt) { clear_node(); - set_has_drop_role_stmt(); - _impl_.node_.drop_role_stmt_ = CreateMaybeMessage<::pg_query::DropRoleStmt>(GetArena()); + set_has_execute_stmt(); + _impl_.node_.execute_stmt_ = CreateMaybeMessage<::pg_query::ExecuteStmt>(GetArena()); } - return _impl_.node_.drop_role_stmt_; + return _impl_.node_.execute_stmt_; } -inline ::pg_query::DropRoleStmt* Node::mutable_drop_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropRoleStmt* _msg = _internal_mutable_drop_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_role_stmt) +inline ::pg_query::ExecuteStmt* Node::mutable_execute_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ExecuteStmt* _msg = _internal_mutable_execute_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.execute_stmt) return _msg; } -// .pg_query.CreateSeqStmt create_seq_stmt = 167 [json_name = "CreateSeqStmt"]; -inline bool Node::has_create_seq_stmt() const { - return node_case() == kCreateSeqStmt; +// .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"]; +inline bool Node::has_deallocate_stmt() const { + return node_case() == kDeallocateStmt; } -inline bool Node::_internal_has_create_seq_stmt() const { - return node_case() == kCreateSeqStmt; +inline bool Node::_internal_has_deallocate_stmt() const { + return node_case() == kDeallocateStmt; } -inline void Node::set_has_create_seq_stmt() { - _impl_._oneof_case_[0] = kCreateSeqStmt; +inline void Node::set_has_deallocate_stmt() { + _impl_._oneof_case_[0] = kDeallocateStmt; } -inline void Node::clear_create_seq_stmt() { +inline void Node::clear_deallocate_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateSeqStmt) { + if (node_case() == kDeallocateStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_seq_stmt_; + delete _impl_.node_.deallocate_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateSeqStmt* Node::release_create_seq_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_seq_stmt) - if (node_case() == kCreateSeqStmt) { +inline ::pg_query::DeallocateStmt* Node::release_deallocate_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.deallocate_stmt) + if (node_case() == kDeallocateStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_seq_stmt_; + auto* temp = _impl_.node_.deallocate_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_seq_stmt_ = nullptr; + _impl_.node_.deallocate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateSeqStmt& Node::_internal_create_seq_stmt() const { - return node_case() == kCreateSeqStmt ? *_impl_.node_.create_seq_stmt_ : reinterpret_cast<::pg_query::CreateSeqStmt&>(::pg_query::_CreateSeqStmt_default_instance_); +inline const ::pg_query::DeallocateStmt& Node::_internal_deallocate_stmt() const { + return node_case() == kDeallocateStmt ? *_impl_.node_.deallocate_stmt_ : reinterpret_cast<::pg_query::DeallocateStmt&>(::pg_query::_DeallocateStmt_default_instance_); } -inline const ::pg_query::CreateSeqStmt& Node::create_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_seq_stmt) - return _internal_create_seq_stmt(); +inline const ::pg_query::DeallocateStmt& Node::deallocate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.deallocate_stmt) + return _internal_deallocate_stmt(); } -inline ::pg_query::CreateSeqStmt* Node::unsafe_arena_release_create_seq_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_seq_stmt) - if (node_case() == kCreateSeqStmt) { +inline ::pg_query::DeallocateStmt* Node::unsafe_arena_release_deallocate_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.deallocate_stmt) + if (node_case() == kDeallocateStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_seq_stmt_; - _impl_.node_.create_seq_stmt_ = nullptr; + auto* temp = _impl_.node_.deallocate_stmt_; + _impl_.node_.deallocate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value) { +inline void Node::unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_seq_stmt(); - _impl_.node_.create_seq_stmt_ = value; + set_has_deallocate_stmt(); + _impl_.node_.deallocate_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_seq_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.deallocate_stmt) } -inline ::pg_query::CreateSeqStmt* Node::_internal_mutable_create_seq_stmt() { - if (node_case() != kCreateSeqStmt) { +inline ::pg_query::DeallocateStmt* Node::_internal_mutable_deallocate_stmt() { + if (node_case() != kDeallocateStmt) { clear_node(); - set_has_create_seq_stmt(); - _impl_.node_.create_seq_stmt_ = CreateMaybeMessage<::pg_query::CreateSeqStmt>(GetArena()); + set_has_deallocate_stmt(); + _impl_.node_.deallocate_stmt_ = CreateMaybeMessage<::pg_query::DeallocateStmt>(GetArena()); } - return _impl_.node_.create_seq_stmt_; + return _impl_.node_.deallocate_stmt_; } -inline ::pg_query::CreateSeqStmt* Node::mutable_create_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateSeqStmt* _msg = _internal_mutable_create_seq_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_seq_stmt) +inline ::pg_query::DeallocateStmt* Node::mutable_deallocate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeallocateStmt* _msg = _internal_mutable_deallocate_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.deallocate_stmt) return _msg; } -// .pg_query.AlterSeqStmt alter_seq_stmt = 168 [json_name = "AlterSeqStmt"]; -inline bool Node::has_alter_seq_stmt() const { - return node_case() == kAlterSeqStmt; +// .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"]; +inline bool Node::has_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt; } -inline bool Node::_internal_has_alter_seq_stmt() const { - return node_case() == kAlterSeqStmt; +inline bool Node::_internal_has_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt; } -inline void Node::set_has_alter_seq_stmt() { - _impl_._oneof_case_[0] = kAlterSeqStmt; +inline void Node::set_has_drop_owned_stmt() { + _impl_._oneof_case_[0] = kDropOwnedStmt; } -inline void Node::clear_alter_seq_stmt() { +inline void Node::clear_drop_owned_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterSeqStmt) { + if (node_case() == kDropOwnedStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_seq_stmt_; + delete _impl_.node_.drop_owned_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterSeqStmt* Node::release_alter_seq_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_seq_stmt) - if (node_case() == kAlterSeqStmt) { +inline ::pg_query::DropOwnedStmt* Node::release_drop_owned_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_owned_stmt) + if (node_case() == kDropOwnedStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_seq_stmt_; + auto* temp = _impl_.node_.drop_owned_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_seq_stmt_ = nullptr; + _impl_.node_.drop_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterSeqStmt& Node::_internal_alter_seq_stmt() const { - return node_case() == kAlterSeqStmt ? *_impl_.node_.alter_seq_stmt_ : reinterpret_cast<::pg_query::AlterSeqStmt&>(::pg_query::_AlterSeqStmt_default_instance_); +inline const ::pg_query::DropOwnedStmt& Node::_internal_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt ? *_impl_.node_.drop_owned_stmt_ : reinterpret_cast<::pg_query::DropOwnedStmt&>(::pg_query::_DropOwnedStmt_default_instance_); } -inline const ::pg_query::AlterSeqStmt& Node::alter_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_seq_stmt) - return _internal_alter_seq_stmt(); +inline const ::pg_query::DropOwnedStmt& Node::drop_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_owned_stmt) + return _internal_drop_owned_stmt(); } -inline ::pg_query::AlterSeqStmt* Node::unsafe_arena_release_alter_seq_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_seq_stmt) - if (node_case() == kAlterSeqStmt) { +inline ::pg_query::DropOwnedStmt* Node::unsafe_arena_release_drop_owned_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_owned_stmt) + if (node_case() == kDropOwnedStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_seq_stmt_; - _impl_.node_.alter_seq_stmt_ = nullptr; + auto* temp = _impl_.node_.drop_owned_stmt_; + _impl_.node_.drop_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value) { +inline void Node::unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_seq_stmt(); - _impl_.node_.alter_seq_stmt_ = value; + set_has_drop_owned_stmt(); + _impl_.node_.drop_owned_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_seq_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_owned_stmt) } -inline ::pg_query::AlterSeqStmt* Node::_internal_mutable_alter_seq_stmt() { - if (node_case() != kAlterSeqStmt) { +inline ::pg_query::DropOwnedStmt* Node::_internal_mutable_drop_owned_stmt() { + if (node_case() != kDropOwnedStmt) { clear_node(); - set_has_alter_seq_stmt(); - _impl_.node_.alter_seq_stmt_ = CreateMaybeMessage<::pg_query::AlterSeqStmt>(GetArena()); + set_has_drop_owned_stmt(); + _impl_.node_.drop_owned_stmt_ = CreateMaybeMessage<::pg_query::DropOwnedStmt>(GetArena()); } - return _impl_.node_.alter_seq_stmt_; + return _impl_.node_.drop_owned_stmt_; } -inline ::pg_query::AlterSeqStmt* Node::mutable_alter_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterSeqStmt* _msg = _internal_mutable_alter_seq_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_seq_stmt) +inline ::pg_query::DropOwnedStmt* Node::mutable_drop_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropOwnedStmt* _msg = _internal_mutable_drop_owned_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_owned_stmt) return _msg; } -// .pg_query.DefineStmt define_stmt = 169 [json_name = "DefineStmt"]; -inline bool Node::has_define_stmt() const { - return node_case() == kDefineStmt; +// .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"]; +inline bool Node::has_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt; } -inline bool Node::_internal_has_define_stmt() const { - return node_case() == kDefineStmt; +inline bool Node::_internal_has_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt; } -inline void Node::set_has_define_stmt() { - _impl_._oneof_case_[0] = kDefineStmt; +inline void Node::set_has_reassign_owned_stmt() { + _impl_._oneof_case_[0] = kReassignOwnedStmt; } -inline void Node::clear_define_stmt() { +inline void Node::clear_reassign_owned_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDefineStmt) { + if (node_case() == kReassignOwnedStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.define_stmt_; + delete _impl_.node_.reassign_owned_stmt_; } clear_has_node(); } } -inline ::pg_query::DefineStmt* Node::release_define_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.define_stmt) - if (node_case() == kDefineStmt) { +inline ::pg_query::ReassignOwnedStmt* Node::release_reassign_owned_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.reassign_owned_stmt) + if (node_case() == kReassignOwnedStmt) { clear_has_node(); - auto* temp = _impl_.node_.define_stmt_; + auto* temp = _impl_.node_.reassign_owned_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.define_stmt_ = nullptr; + _impl_.node_.reassign_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DefineStmt& Node::_internal_define_stmt() const { - return node_case() == kDefineStmt ? *_impl_.node_.define_stmt_ : reinterpret_cast<::pg_query::DefineStmt&>(::pg_query::_DefineStmt_default_instance_); +inline const ::pg_query::ReassignOwnedStmt& Node::_internal_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt ? *_impl_.node_.reassign_owned_stmt_ : reinterpret_cast<::pg_query::ReassignOwnedStmt&>(::pg_query::_ReassignOwnedStmt_default_instance_); } -inline const ::pg_query::DefineStmt& Node::define_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.define_stmt) - return _internal_define_stmt(); +inline const ::pg_query::ReassignOwnedStmt& Node::reassign_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.reassign_owned_stmt) + return _internal_reassign_owned_stmt(); } -inline ::pg_query::DefineStmt* Node::unsafe_arena_release_define_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.define_stmt) - if (node_case() == kDefineStmt) { +inline ::pg_query::ReassignOwnedStmt* Node::unsafe_arena_release_reassign_owned_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reassign_owned_stmt) + if (node_case() == kReassignOwnedStmt) { clear_has_node(); - auto* temp = _impl_.node_.define_stmt_; - _impl_.node_.define_stmt_ = nullptr; + auto* temp = _impl_.node_.reassign_owned_stmt_; + _impl_.node_.reassign_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value) { +inline void Node::unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_define_stmt(); - _impl_.node_.define_stmt_ = value; + set_has_reassign_owned_stmt(); + _impl_.node_.reassign_owned_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.define_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reassign_owned_stmt) } -inline ::pg_query::DefineStmt* Node::_internal_mutable_define_stmt() { - if (node_case() != kDefineStmt) { +inline ::pg_query::ReassignOwnedStmt* Node::_internal_mutable_reassign_owned_stmt() { + if (node_case() != kReassignOwnedStmt) { clear_node(); - set_has_define_stmt(); - _impl_.node_.define_stmt_ = CreateMaybeMessage<::pg_query::DefineStmt>(GetArena()); + set_has_reassign_owned_stmt(); + _impl_.node_.reassign_owned_stmt_ = CreateMaybeMessage<::pg_query::ReassignOwnedStmt>(GetArena()); } - return _impl_.node_.define_stmt_; + return _impl_.node_.reassign_owned_stmt_; } -inline ::pg_query::DefineStmt* Node::mutable_define_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DefineStmt* _msg = _internal_mutable_define_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.define_stmt) +inline ::pg_query::ReassignOwnedStmt* Node::mutable_reassign_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReassignOwnedStmt* _msg = _internal_mutable_reassign_owned_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.reassign_owned_stmt) return _msg; } -// .pg_query.CreateDomainStmt create_domain_stmt = 170 [json_name = "CreateDomainStmt"]; -inline bool Node::has_create_domain_stmt() const { - return node_case() == kCreateDomainStmt; +// .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"]; +inline bool Node::has_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt; } -inline bool Node::_internal_has_create_domain_stmt() const { - return node_case() == kCreateDomainStmt; +inline bool Node::_internal_has_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt; } -inline void Node::set_has_create_domain_stmt() { - _impl_._oneof_case_[0] = kCreateDomainStmt; +inline void Node::set_has_alter_tsdictionary_stmt() { + _impl_._oneof_case_[0] = kAlterTsdictionaryStmt; } -inline void Node::clear_create_domain_stmt() { +inline void Node::clear_alter_tsdictionary_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateDomainStmt) { + if (node_case() == kAlterTsdictionaryStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_domain_stmt_; + delete _impl_.node_.alter_tsdictionary_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateDomainStmt* Node::release_create_domain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_domain_stmt) - if (node_case() == kCreateDomainStmt) { +inline ::pg_query::AlterTSDictionaryStmt* Node::release_alter_tsdictionary_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsdictionary_stmt) + if (node_case() == kAlterTsdictionaryStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_domain_stmt_; + auto* temp = _impl_.node_.alter_tsdictionary_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_domain_stmt_ = nullptr; + _impl_.node_.alter_tsdictionary_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateDomainStmt& Node::_internal_create_domain_stmt() const { - return node_case() == kCreateDomainStmt ? *_impl_.node_.create_domain_stmt_ : reinterpret_cast<::pg_query::CreateDomainStmt&>(::pg_query::_CreateDomainStmt_default_instance_); +inline const ::pg_query::AlterTSDictionaryStmt& Node::_internal_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt ? *_impl_.node_.alter_tsdictionary_stmt_ : reinterpret_cast<::pg_query::AlterTSDictionaryStmt&>(::pg_query::_AlterTSDictionaryStmt_default_instance_); } -inline const ::pg_query::CreateDomainStmt& Node::create_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_domain_stmt) - return _internal_create_domain_stmt(); +inline const ::pg_query::AlterTSDictionaryStmt& Node::alter_tsdictionary_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsdictionary_stmt) + return _internal_alter_tsdictionary_stmt(); } -inline ::pg_query::CreateDomainStmt* Node::unsafe_arena_release_create_domain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_domain_stmt) - if (node_case() == kCreateDomainStmt) { +inline ::pg_query::AlterTSDictionaryStmt* Node::unsafe_arena_release_alter_tsdictionary_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsdictionary_stmt) + if (node_case() == kAlterTsdictionaryStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_domain_stmt_; - _impl_.node_.create_domain_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_tsdictionary_stmt_; + _impl_.node_.alter_tsdictionary_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_domain_stmt(); - _impl_.node_.create_domain_stmt_ = value; + set_has_alter_tsdictionary_stmt(); + _impl_.node_.alter_tsdictionary_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_domain_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsdictionary_stmt) } -inline ::pg_query::CreateDomainStmt* Node::_internal_mutable_create_domain_stmt() { - if (node_case() != kCreateDomainStmt) { +inline ::pg_query::AlterTSDictionaryStmt* Node::_internal_mutable_alter_tsdictionary_stmt() { + if (node_case() != kAlterTsdictionaryStmt) { clear_node(); - set_has_create_domain_stmt(); - _impl_.node_.create_domain_stmt_ = CreateMaybeMessage<::pg_query::CreateDomainStmt>(GetArena()); + set_has_alter_tsdictionary_stmt(); + _impl_.node_.alter_tsdictionary_stmt_ = CreateMaybeMessage<::pg_query::AlterTSDictionaryStmt>(GetArena()); } - return _impl_.node_.create_domain_stmt_; + return _impl_.node_.alter_tsdictionary_stmt_; } -inline ::pg_query::CreateDomainStmt* Node::mutable_create_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateDomainStmt* _msg = _internal_mutable_create_domain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_domain_stmt) +inline ::pg_query::AlterTSDictionaryStmt* Node::mutable_alter_tsdictionary_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTSDictionaryStmt* _msg = _internal_mutable_alter_tsdictionary_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsdictionary_stmt) return _msg; } -// .pg_query.CreateOpClassStmt create_op_class_stmt = 171 [json_name = "CreateOpClassStmt"]; -inline bool Node::has_create_op_class_stmt() const { - return node_case() == kCreateOpClassStmt; +// .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"]; +inline bool Node::has_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt; } -inline bool Node::_internal_has_create_op_class_stmt() const { - return node_case() == kCreateOpClassStmt; +inline bool Node::_internal_has_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt; } -inline void Node::set_has_create_op_class_stmt() { - _impl_._oneof_case_[0] = kCreateOpClassStmt; +inline void Node::set_has_alter_tsconfiguration_stmt() { + _impl_._oneof_case_[0] = kAlterTsconfigurationStmt; } -inline void Node::clear_create_op_class_stmt() { +inline void Node::clear_alter_tsconfiguration_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateOpClassStmt) { + if (node_case() == kAlterTsconfigurationStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.create_op_class_stmt_; + delete _impl_.node_.alter_tsconfiguration_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateOpClassStmt* Node::release_create_op_class_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_stmt) - if (node_case() == kCreateOpClassStmt) { +inline ::pg_query::AlterTSConfigurationStmt* Node::release_alter_tsconfiguration_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsconfiguration_stmt) + if (node_case() == kAlterTsconfigurationStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_op_class_stmt_; + auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_class_stmt_ = nullptr; + _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpClassStmt& Node::_internal_create_op_class_stmt() const { - return node_case() == kCreateOpClassStmt ? *_impl_.node_.create_op_class_stmt_ : reinterpret_cast<::pg_query::CreateOpClassStmt&>(::pg_query::_CreateOpClassStmt_default_instance_); +inline const ::pg_query::AlterTSConfigurationStmt& Node::_internal_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt ? *_impl_.node_.alter_tsconfiguration_stmt_ : reinterpret_cast<::pg_query::AlterTSConfigurationStmt&>(::pg_query::_AlterTSConfigurationStmt_default_instance_); } -inline const ::pg_query::CreateOpClassStmt& Node::create_op_class_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_stmt) - return _internal_create_op_class_stmt(); +inline const ::pg_query::AlterTSConfigurationStmt& Node::alter_tsconfiguration_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsconfiguration_stmt) + return _internal_alter_tsconfiguration_stmt(); } -inline ::pg_query::CreateOpClassStmt* Node::unsafe_arena_release_create_op_class_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_stmt) - if (node_case() == kCreateOpClassStmt) { +inline ::pg_query::AlterTSConfigurationStmt* Node::unsafe_arena_release_alter_tsconfiguration_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsconfiguration_stmt) + if (node_case() == kAlterTsconfigurationStmt) { clear_has_node(); - auto* temp = _impl_.node_.create_op_class_stmt_; - _impl_.node_.create_op_class_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; + _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_op_class_stmt(); - _impl_.node_.create_op_class_stmt_ = value; + set_has_alter_tsconfiguration_stmt(); + _impl_.node_.alter_tsconfiguration_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsconfiguration_stmt) } -inline ::pg_query::CreateOpClassStmt* Node::_internal_mutable_create_op_class_stmt() { - if (node_case() != kCreateOpClassStmt) { +inline ::pg_query::AlterTSConfigurationStmt* Node::_internal_mutable_alter_tsconfiguration_stmt() { + if (node_case() != kAlterTsconfigurationStmt) { clear_node(); - set_has_create_op_class_stmt(); - _impl_.node_.create_op_class_stmt_ = CreateMaybeMessage<::pg_query::CreateOpClassStmt>(GetArena()); + set_has_alter_tsconfiguration_stmt(); + _impl_.node_.alter_tsconfiguration_stmt_ = CreateMaybeMessage<::pg_query::AlterTSConfigurationStmt>(GetArena()); } - return _impl_.node_.create_op_class_stmt_; + return _impl_.node_.alter_tsconfiguration_stmt_; } -inline ::pg_query::CreateOpClassStmt* Node::mutable_create_op_class_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateOpClassStmt* _msg = _internal_mutable_create_op_class_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_stmt) +inline ::pg_query::AlterTSConfigurationStmt* Node::mutable_alter_tsconfiguration_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTSConfigurationStmt* _msg = _internal_mutable_alter_tsconfiguration_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsconfiguration_stmt) return _msg; } -// .pg_query.CreateOpClassItem create_op_class_item = 172 [json_name = "CreateOpClassItem"]; -inline bool Node::has_create_op_class_item() const { - return node_case() == kCreateOpClassItem; +// .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"]; +inline bool Node::has_publication_table() const { + return node_case() == kPublicationTable; } -inline bool Node::_internal_has_create_op_class_item() const { - return node_case() == kCreateOpClassItem; +inline bool Node::_internal_has_publication_table() const { + return node_case() == kPublicationTable; } -inline void Node::set_has_create_op_class_item() { - _impl_._oneof_case_[0] = kCreateOpClassItem; +inline void Node::set_has_publication_table() { + _impl_._oneof_case_[0] = kPublicationTable; } -inline void Node::clear_create_op_class_item() { +inline void Node::clear_publication_table() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateOpClassItem) { + if (node_case() == kPublicationTable) { if (GetArena() == nullptr) { - delete _impl_.node_.create_op_class_item_; + delete _impl_.node_.publication_table_; } clear_has_node(); } } -inline ::pg_query::CreateOpClassItem* Node::release_create_op_class_item() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_item) - if (node_case() == kCreateOpClassItem) { +inline ::pg_query::PublicationTable* Node::release_publication_table() { + // @@protoc_insertion_point(field_release:pg_query.Node.publication_table) + if (node_case() == kPublicationTable) { clear_has_node(); - auto* temp = _impl_.node_.create_op_class_item_; + auto* temp = _impl_.node_.publication_table_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_class_item_ = nullptr; + _impl_.node_.publication_table_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpClassItem& Node::_internal_create_op_class_item() const { - return node_case() == kCreateOpClassItem ? *_impl_.node_.create_op_class_item_ : reinterpret_cast<::pg_query::CreateOpClassItem&>(::pg_query::_CreateOpClassItem_default_instance_); +inline const ::pg_query::PublicationTable& Node::_internal_publication_table() const { + return node_case() == kPublicationTable ? *_impl_.node_.publication_table_ : reinterpret_cast<::pg_query::PublicationTable&>(::pg_query::_PublicationTable_default_instance_); } -inline const ::pg_query::CreateOpClassItem& Node::create_op_class_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_item) - return _internal_create_op_class_item(); +inline const ::pg_query::PublicationTable& Node::publication_table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.publication_table) + return _internal_publication_table(); } -inline ::pg_query::CreateOpClassItem* Node::unsafe_arena_release_create_op_class_item() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_item) - if (node_case() == kCreateOpClassItem) { +inline ::pg_query::PublicationTable* Node::unsafe_arena_release_publication_table() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_table) + if (node_case() == kPublicationTable) { clear_has_node(); - auto* temp = _impl_.node_.create_op_class_item_; - _impl_.node_.create_op_class_item_ = nullptr; + auto* temp = _impl_.node_.publication_table_; + _impl_.node_.publication_table_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value) { +inline void Node::unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_op_class_item(); - _impl_.node_.create_op_class_item_ = value; + set_has_publication_table(); + _impl_.node_.publication_table_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_item) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_table) } -inline ::pg_query::CreateOpClassItem* Node::_internal_mutable_create_op_class_item() { - if (node_case() != kCreateOpClassItem) { +inline ::pg_query::PublicationTable* Node::_internal_mutable_publication_table() { + if (node_case() != kPublicationTable) { clear_node(); - set_has_create_op_class_item(); - _impl_.node_.create_op_class_item_ = CreateMaybeMessage<::pg_query::CreateOpClassItem>(GetArena()); + set_has_publication_table(); + _impl_.node_.publication_table_ = CreateMaybeMessage<::pg_query::PublicationTable>(GetArena()); } - return _impl_.node_.create_op_class_item_; + return _impl_.node_.publication_table_; } -inline ::pg_query::CreateOpClassItem* Node::mutable_create_op_class_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateOpClassItem* _msg = _internal_mutable_create_op_class_item(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_item) +inline ::pg_query::PublicationTable* Node::mutable_publication_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PublicationTable* _msg = _internal_mutable_publication_table(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_table) return _msg; } -// .pg_query.CreateOpFamilyStmt create_op_family_stmt = 173 [json_name = "CreateOpFamilyStmt"]; -inline bool Node::has_create_op_family_stmt() const { - return node_case() == kCreateOpFamilyStmt; +// .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"]; +inline bool Node::has_publication_obj_spec() const { + return node_case() == kPublicationObjSpec; } -inline bool Node::_internal_has_create_op_family_stmt() const { - return node_case() == kCreateOpFamilyStmt; +inline bool Node::_internal_has_publication_obj_spec() const { + return node_case() == kPublicationObjSpec; } -inline void Node::set_has_create_op_family_stmt() { - _impl_._oneof_case_[0] = kCreateOpFamilyStmt; +inline void Node::set_has_publication_obj_spec() { + _impl_._oneof_case_[0] = kPublicationObjSpec; } -inline void Node::clear_create_op_family_stmt() { +inline void Node::clear_publication_obj_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateOpFamilyStmt) { + if (node_case() == kPublicationObjSpec) { if (GetArena() == nullptr) { - delete _impl_.node_.create_op_family_stmt_; + delete _impl_.node_.publication_obj_spec_; } clear_has_node(); } } -inline ::pg_query::CreateOpFamilyStmt* Node::release_create_op_family_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_family_stmt) - if (node_case() == kCreateOpFamilyStmt) { +inline ::pg_query::PublicationObjSpec* Node::release_publication_obj_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.publication_obj_spec) + if (node_case() == kPublicationObjSpec) { clear_has_node(); - auto* temp = _impl_.node_.create_op_family_stmt_; + auto* temp = _impl_.node_.publication_obj_spec_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_family_stmt_ = nullptr; + _impl_.node_.publication_obj_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpFamilyStmt& Node::_internal_create_op_family_stmt() const { - return node_case() == kCreateOpFamilyStmt ? *_impl_.node_.create_op_family_stmt_ : reinterpret_cast<::pg_query::CreateOpFamilyStmt&>(::pg_query::_CreateOpFamilyStmt_default_instance_); +inline const ::pg_query::PublicationObjSpec& Node::_internal_publication_obj_spec() const { + return node_case() == kPublicationObjSpec ? *_impl_.node_.publication_obj_spec_ : reinterpret_cast<::pg_query::PublicationObjSpec&>(::pg_query::_PublicationObjSpec_default_instance_); } -inline const ::pg_query::CreateOpFamilyStmt& Node::create_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_family_stmt) - return _internal_create_op_family_stmt(); +inline const ::pg_query::PublicationObjSpec& Node::publication_obj_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.publication_obj_spec) + return _internal_publication_obj_spec(); } -inline ::pg_query::CreateOpFamilyStmt* Node::unsafe_arena_release_create_op_family_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_family_stmt) - if (node_case() == kCreateOpFamilyStmt) { +inline ::pg_query::PublicationObjSpec* Node::unsafe_arena_release_publication_obj_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_obj_spec) + if (node_case() == kPublicationObjSpec) { clear_has_node(); - auto* temp = _impl_.node_.create_op_family_stmt_; - _impl_.node_.create_op_family_stmt_ = nullptr; + auto* temp = _impl_.node_.publication_obj_spec_; + _impl_.node_.publication_obj_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value) { +inline void Node::unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_op_family_stmt(); - _impl_.node_.create_op_family_stmt_ = value; + set_has_publication_obj_spec(); + _impl_.node_.publication_obj_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_family_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_obj_spec) } -inline ::pg_query::CreateOpFamilyStmt* Node::_internal_mutable_create_op_family_stmt() { - if (node_case() != kCreateOpFamilyStmt) { +inline ::pg_query::PublicationObjSpec* Node::_internal_mutable_publication_obj_spec() { + if (node_case() != kPublicationObjSpec) { clear_node(); - set_has_create_op_family_stmt(); - _impl_.node_.create_op_family_stmt_ = CreateMaybeMessage<::pg_query::CreateOpFamilyStmt>(GetArena()); + set_has_publication_obj_spec(); + _impl_.node_.publication_obj_spec_ = CreateMaybeMessage<::pg_query::PublicationObjSpec>(GetArena()); } - return _impl_.node_.create_op_family_stmt_; + return _impl_.node_.publication_obj_spec_; } -inline ::pg_query::CreateOpFamilyStmt* Node::mutable_create_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateOpFamilyStmt* _msg = _internal_mutable_create_op_family_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_family_stmt) +inline ::pg_query::PublicationObjSpec* Node::mutable_publication_obj_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PublicationObjSpec* _msg = _internal_mutable_publication_obj_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_obj_spec) return _msg; } -// .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 174 [json_name = "AlterOpFamilyStmt"]; -inline bool Node::has_alter_op_family_stmt() const { - return node_case() == kAlterOpFamilyStmt; +// .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"]; +inline bool Node::has_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt; } -inline bool Node::_internal_has_alter_op_family_stmt() const { - return node_case() == kAlterOpFamilyStmt; +inline bool Node::_internal_has_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt; } -inline void Node::set_has_alter_op_family_stmt() { - _impl_._oneof_case_[0] = kAlterOpFamilyStmt; +inline void Node::set_has_create_publication_stmt() { + _impl_._oneof_case_[0] = kCreatePublicationStmt; } -inline void Node::clear_alter_op_family_stmt() { +inline void Node::clear_create_publication_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterOpFamilyStmt) { + if (node_case() == kCreatePublicationStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_op_family_stmt_; + delete _impl_.node_.create_publication_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterOpFamilyStmt* Node::release_alter_op_family_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_op_family_stmt) - if (node_case() == kAlterOpFamilyStmt) { +inline ::pg_query::CreatePublicationStmt* Node::release_create_publication_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_publication_stmt) + if (node_case() == kCreatePublicationStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_op_family_stmt_; + auto* temp = _impl_.node_.create_publication_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_op_family_stmt_ = nullptr; + _impl_.node_.create_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterOpFamilyStmt& Node::_internal_alter_op_family_stmt() const { - return node_case() == kAlterOpFamilyStmt ? *_impl_.node_.alter_op_family_stmt_ : reinterpret_cast<::pg_query::AlterOpFamilyStmt&>(::pg_query::_AlterOpFamilyStmt_default_instance_); +inline const ::pg_query::CreatePublicationStmt& Node::_internal_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt ? *_impl_.node_.create_publication_stmt_ : reinterpret_cast<::pg_query::CreatePublicationStmt&>(::pg_query::_CreatePublicationStmt_default_instance_); } -inline const ::pg_query::AlterOpFamilyStmt& Node::alter_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_op_family_stmt) - return _internal_alter_op_family_stmt(); +inline const ::pg_query::CreatePublicationStmt& Node::create_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_publication_stmt) + return _internal_create_publication_stmt(); } -inline ::pg_query::AlterOpFamilyStmt* Node::unsafe_arena_release_alter_op_family_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_op_family_stmt) - if (node_case() == kAlterOpFamilyStmt) { +inline ::pg_query::CreatePublicationStmt* Node::unsafe_arena_release_create_publication_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_publication_stmt) + if (node_case() == kCreatePublicationStmt) { clear_has_node(); - auto* temp = _impl_.node_.alter_op_family_stmt_; - _impl_.node_.alter_op_family_stmt_ = nullptr; + auto* temp = _impl_.node_.create_publication_stmt_; + _impl_.node_.create_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_op_family_stmt(); - _impl_.node_.alter_op_family_stmt_ = value; + set_has_create_publication_stmt(); + _impl_.node_.create_publication_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_op_family_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_publication_stmt) } -inline ::pg_query::AlterOpFamilyStmt* Node::_internal_mutable_alter_op_family_stmt() { - if (node_case() != kAlterOpFamilyStmt) { +inline ::pg_query::CreatePublicationStmt* Node::_internal_mutable_create_publication_stmt() { + if (node_case() != kCreatePublicationStmt) { clear_node(); - set_has_alter_op_family_stmt(); - _impl_.node_.alter_op_family_stmt_ = CreateMaybeMessage<::pg_query::AlterOpFamilyStmt>(GetArena()); + set_has_create_publication_stmt(); + _impl_.node_.create_publication_stmt_ = CreateMaybeMessage<::pg_query::CreatePublicationStmt>(GetArena()); } - return _impl_.node_.alter_op_family_stmt_; + return _impl_.node_.create_publication_stmt_; } -inline ::pg_query::AlterOpFamilyStmt* Node::mutable_alter_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterOpFamilyStmt* _msg = _internal_mutable_alter_op_family_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_op_family_stmt) +inline ::pg_query::CreatePublicationStmt* Node::mutable_create_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePublicationStmt* _msg = _internal_mutable_create_publication_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_publication_stmt) return _msg; } -// .pg_query.DropStmt drop_stmt = 175 [json_name = "DropStmt"]; -inline bool Node::has_drop_stmt() const { - return node_case() == kDropStmt; +// .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"]; +inline bool Node::has_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt; } -inline bool Node::_internal_has_drop_stmt() const { - return node_case() == kDropStmt; +inline bool Node::_internal_has_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt; } -inline void Node::set_has_drop_stmt() { - _impl_._oneof_case_[0] = kDropStmt; +inline void Node::set_has_alter_publication_stmt() { + _impl_._oneof_case_[0] = kAlterPublicationStmt; } -inline void Node::clear_drop_stmt() { +inline void Node::clear_alter_publication_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropStmt) { + if (node_case() == kAlterPublicationStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.drop_stmt_; + delete _impl_.node_.alter_publication_stmt_; } clear_has_node(); } } -inline ::pg_query::DropStmt* Node::release_drop_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_stmt) - if (node_case() == kDropStmt) { +inline ::pg_query::AlterPublicationStmt* Node::release_alter_publication_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_publication_stmt) + if (node_case() == kAlterPublicationStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_stmt_; + auto* temp = _impl_.node_.alter_publication_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_stmt_ = nullptr; + _impl_.node_.alter_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropStmt& Node::_internal_drop_stmt() const { - return node_case() == kDropStmt ? *_impl_.node_.drop_stmt_ : reinterpret_cast<::pg_query::DropStmt&>(::pg_query::_DropStmt_default_instance_); +inline const ::pg_query::AlterPublicationStmt& Node::_internal_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt ? *_impl_.node_.alter_publication_stmt_ : reinterpret_cast<::pg_query::AlterPublicationStmt&>(::pg_query::_AlterPublicationStmt_default_instance_); } -inline const ::pg_query::DropStmt& Node::drop_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_stmt) - return _internal_drop_stmt(); +inline const ::pg_query::AlterPublicationStmt& Node::alter_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_publication_stmt) + return _internal_alter_publication_stmt(); } -inline ::pg_query::DropStmt* Node::unsafe_arena_release_drop_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_stmt) - if (node_case() == kDropStmt) { +inline ::pg_query::AlterPublicationStmt* Node::unsafe_arena_release_alter_publication_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_publication_stmt) + if (node_case() == kAlterPublicationStmt) { clear_has_node(); - auto* temp = _impl_.node_.drop_stmt_; - _impl_.node_.drop_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_publication_stmt_; + _impl_.node_.alter_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_drop_stmt(); - _impl_.node_.drop_stmt_ = value; + set_has_alter_publication_stmt(); + _impl_.node_.alter_publication_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_publication_stmt) } -inline ::pg_query::DropStmt* Node::_internal_mutable_drop_stmt() { - if (node_case() != kDropStmt) { +inline ::pg_query::AlterPublicationStmt* Node::_internal_mutable_alter_publication_stmt() { + if (node_case() != kAlterPublicationStmt) { clear_node(); - set_has_drop_stmt(); - _impl_.node_.drop_stmt_ = CreateMaybeMessage<::pg_query::DropStmt>(GetArena()); + set_has_alter_publication_stmt(); + _impl_.node_.alter_publication_stmt_ = CreateMaybeMessage<::pg_query::AlterPublicationStmt>(GetArena()); } - return _impl_.node_.drop_stmt_; + return _impl_.node_.alter_publication_stmt_; } -inline ::pg_query::DropStmt* Node::mutable_drop_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropStmt* _msg = _internal_mutable_drop_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_stmt) +inline ::pg_query::AlterPublicationStmt* Node::mutable_alter_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterPublicationStmt* _msg = _internal_mutable_alter_publication_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_publication_stmt) return _msg; } -// .pg_query.TruncateStmt truncate_stmt = 176 [json_name = "TruncateStmt"]; -inline bool Node::has_truncate_stmt() const { - return node_case() == kTruncateStmt; +// .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"]; +inline bool Node::has_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt; } -inline bool Node::_internal_has_truncate_stmt() const { - return node_case() == kTruncateStmt; +inline bool Node::_internal_has_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt; } -inline void Node::set_has_truncate_stmt() { - _impl_._oneof_case_[0] = kTruncateStmt; +inline void Node::set_has_create_subscription_stmt() { + _impl_._oneof_case_[0] = kCreateSubscriptionStmt; } -inline void Node::clear_truncate_stmt() { +inline void Node::clear_create_subscription_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTruncateStmt) { + if (node_case() == kCreateSubscriptionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.truncate_stmt_; + delete _impl_.node_.create_subscription_stmt_; } clear_has_node(); } } -inline ::pg_query::TruncateStmt* Node::release_truncate_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.truncate_stmt) - if (node_case() == kTruncateStmt) { +inline ::pg_query::CreateSubscriptionStmt* Node::release_create_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_subscription_stmt) + if (node_case() == kCreateSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.truncate_stmt_; + auto* temp = _impl_.node_.create_subscription_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.truncate_stmt_ = nullptr; + _impl_.node_.create_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TruncateStmt& Node::_internal_truncate_stmt() const { - return node_case() == kTruncateStmt ? *_impl_.node_.truncate_stmt_ : reinterpret_cast<::pg_query::TruncateStmt&>(::pg_query::_TruncateStmt_default_instance_); +inline const ::pg_query::CreateSubscriptionStmt& Node::_internal_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt ? *_impl_.node_.create_subscription_stmt_ : reinterpret_cast<::pg_query::CreateSubscriptionStmt&>(::pg_query::_CreateSubscriptionStmt_default_instance_); } -inline const ::pg_query::TruncateStmt& Node::truncate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.truncate_stmt) - return _internal_truncate_stmt(); +inline const ::pg_query::CreateSubscriptionStmt& Node::create_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_subscription_stmt) + return _internal_create_subscription_stmt(); } -inline ::pg_query::TruncateStmt* Node::unsafe_arena_release_truncate_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.truncate_stmt) - if (node_case() == kTruncateStmt) { +inline ::pg_query::CreateSubscriptionStmt* Node::unsafe_arena_release_create_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_subscription_stmt) + if (node_case() == kCreateSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.truncate_stmt_; - _impl_.node_.truncate_stmt_ = nullptr; + auto* temp = _impl_.node_.create_subscription_stmt_; + _impl_.node_.create_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value) { +inline void Node::unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_truncate_stmt(); - _impl_.node_.truncate_stmt_ = value; + set_has_create_subscription_stmt(); + _impl_.node_.create_subscription_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.truncate_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_subscription_stmt) } -inline ::pg_query::TruncateStmt* Node::_internal_mutable_truncate_stmt() { - if (node_case() != kTruncateStmt) { +inline ::pg_query::CreateSubscriptionStmt* Node::_internal_mutable_create_subscription_stmt() { + if (node_case() != kCreateSubscriptionStmt) { clear_node(); - set_has_truncate_stmt(); - _impl_.node_.truncate_stmt_ = CreateMaybeMessage<::pg_query::TruncateStmt>(GetArena()); + set_has_create_subscription_stmt(); + _impl_.node_.create_subscription_stmt_ = CreateMaybeMessage<::pg_query::CreateSubscriptionStmt>(GetArena()); } - return _impl_.node_.truncate_stmt_; + return _impl_.node_.create_subscription_stmt_; } -inline ::pg_query::TruncateStmt* Node::mutable_truncate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TruncateStmt* _msg = _internal_mutable_truncate_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.truncate_stmt) +inline ::pg_query::CreateSubscriptionStmt* Node::mutable_create_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSubscriptionStmt* _msg = _internal_mutable_create_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_subscription_stmt) return _msg; } -// .pg_query.CommentStmt comment_stmt = 177 [json_name = "CommentStmt"]; -inline bool Node::has_comment_stmt() const { - return node_case() == kCommentStmt; +// .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"]; +inline bool Node::has_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt; } -inline bool Node::_internal_has_comment_stmt() const { - return node_case() == kCommentStmt; +inline bool Node::_internal_has_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt; } -inline void Node::set_has_comment_stmt() { - _impl_._oneof_case_[0] = kCommentStmt; +inline void Node::set_has_alter_subscription_stmt() { + _impl_._oneof_case_[0] = kAlterSubscriptionStmt; } -inline void Node::clear_comment_stmt() { +inline void Node::clear_alter_subscription_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCommentStmt) { + if (node_case() == kAlterSubscriptionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.comment_stmt_; + delete _impl_.node_.alter_subscription_stmt_; } clear_has_node(); } } -inline ::pg_query::CommentStmt* Node::release_comment_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.comment_stmt) - if (node_case() == kCommentStmt) { +inline ::pg_query::AlterSubscriptionStmt* Node::release_alter_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_subscription_stmt) + if (node_case() == kAlterSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.comment_stmt_; + auto* temp = _impl_.node_.alter_subscription_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.comment_stmt_ = nullptr; + _impl_.node_.alter_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CommentStmt& Node::_internal_comment_stmt() const { - return node_case() == kCommentStmt ? *_impl_.node_.comment_stmt_ : reinterpret_cast<::pg_query::CommentStmt&>(::pg_query::_CommentStmt_default_instance_); +inline const ::pg_query::AlterSubscriptionStmt& Node::_internal_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt ? *_impl_.node_.alter_subscription_stmt_ : reinterpret_cast<::pg_query::AlterSubscriptionStmt&>(::pg_query::_AlterSubscriptionStmt_default_instance_); } -inline const ::pg_query::CommentStmt& Node::comment_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.comment_stmt) - return _internal_comment_stmt(); +inline const ::pg_query::AlterSubscriptionStmt& Node::alter_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_subscription_stmt) + return _internal_alter_subscription_stmt(); } -inline ::pg_query::CommentStmt* Node::unsafe_arena_release_comment_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.comment_stmt) - if (node_case() == kCommentStmt) { +inline ::pg_query::AlterSubscriptionStmt* Node::unsafe_arena_release_alter_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_subscription_stmt) + if (node_case() == kAlterSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.comment_stmt_; - _impl_.node_.comment_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_subscription_stmt_; + _impl_.node_.alter_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value) { +inline void Node::unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_comment_stmt(); - _impl_.node_.comment_stmt_ = value; + set_has_alter_subscription_stmt(); + _impl_.node_.alter_subscription_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.comment_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_subscription_stmt) } -inline ::pg_query::CommentStmt* Node::_internal_mutable_comment_stmt() { - if (node_case() != kCommentStmt) { +inline ::pg_query::AlterSubscriptionStmt* Node::_internal_mutable_alter_subscription_stmt() { + if (node_case() != kAlterSubscriptionStmt) { clear_node(); - set_has_comment_stmt(); - _impl_.node_.comment_stmt_ = CreateMaybeMessage<::pg_query::CommentStmt>(GetArena()); + set_has_alter_subscription_stmt(); + _impl_.node_.alter_subscription_stmt_ = CreateMaybeMessage<::pg_query::AlterSubscriptionStmt>(GetArena()); } - return _impl_.node_.comment_stmt_; + return _impl_.node_.alter_subscription_stmt_; } -inline ::pg_query::CommentStmt* Node::mutable_comment_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CommentStmt* _msg = _internal_mutable_comment_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.comment_stmt) +inline ::pg_query::AlterSubscriptionStmt* Node::mutable_alter_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSubscriptionStmt* _msg = _internal_mutable_alter_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_subscription_stmt) return _msg; } -// .pg_query.SecLabelStmt sec_label_stmt = 178 [json_name = "SecLabelStmt"]; -inline bool Node::has_sec_label_stmt() const { - return node_case() == kSecLabelStmt; +// .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"]; +inline bool Node::has_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt; } -inline bool Node::_internal_has_sec_label_stmt() const { - return node_case() == kSecLabelStmt; +inline bool Node::_internal_has_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt; } -inline void Node::set_has_sec_label_stmt() { - _impl_._oneof_case_[0] = kSecLabelStmt; +inline void Node::set_has_drop_subscription_stmt() { + _impl_._oneof_case_[0] = kDropSubscriptionStmt; } -inline void Node::clear_sec_label_stmt() { +inline void Node::clear_drop_subscription_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kSecLabelStmt) { + if (node_case() == kDropSubscriptionStmt) { if (GetArena() == nullptr) { - delete _impl_.node_.sec_label_stmt_; + delete _impl_.node_.drop_subscription_stmt_; } clear_has_node(); } } -inline ::pg_query::SecLabelStmt* Node::release_sec_label_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.sec_label_stmt) - if (node_case() == kSecLabelStmt) { +inline ::pg_query::DropSubscriptionStmt* Node::release_drop_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_subscription_stmt) + if (node_case() == kDropSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.sec_label_stmt_; + auto* temp = _impl_.node_.drop_subscription_stmt_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sec_label_stmt_ = nullptr; + _impl_.node_.drop_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SecLabelStmt& Node::_internal_sec_label_stmt() const { - return node_case() == kSecLabelStmt ? *_impl_.node_.sec_label_stmt_ : reinterpret_cast<::pg_query::SecLabelStmt&>(::pg_query::_SecLabelStmt_default_instance_); +inline const ::pg_query::DropSubscriptionStmt& Node::_internal_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt ? *_impl_.node_.drop_subscription_stmt_ : reinterpret_cast<::pg_query::DropSubscriptionStmt&>(::pg_query::_DropSubscriptionStmt_default_instance_); } -inline const ::pg_query::SecLabelStmt& Node::sec_label_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.sec_label_stmt) - return _internal_sec_label_stmt(); +inline const ::pg_query::DropSubscriptionStmt& Node::drop_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_subscription_stmt) + return _internal_drop_subscription_stmt(); } -inline ::pg_query::SecLabelStmt* Node::unsafe_arena_release_sec_label_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sec_label_stmt) - if (node_case() == kSecLabelStmt) { +inline ::pg_query::DropSubscriptionStmt* Node::unsafe_arena_release_drop_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_subscription_stmt) + if (node_case() == kDropSubscriptionStmt) { clear_has_node(); - auto* temp = _impl_.node_.sec_label_stmt_; - _impl_.node_.sec_label_stmt_ = nullptr; + auto* temp = _impl_.node_.drop_subscription_stmt_; + _impl_.node_.drop_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value) { +inline void Node::unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_sec_label_stmt(); - _impl_.node_.sec_label_stmt_ = value; + set_has_drop_subscription_stmt(); + _impl_.node_.drop_subscription_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sec_label_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_subscription_stmt) } -inline ::pg_query::SecLabelStmt* Node::_internal_mutable_sec_label_stmt() { - if (node_case() != kSecLabelStmt) { +inline ::pg_query::DropSubscriptionStmt* Node::_internal_mutable_drop_subscription_stmt() { + if (node_case() != kDropSubscriptionStmt) { clear_node(); - set_has_sec_label_stmt(); - _impl_.node_.sec_label_stmt_ = CreateMaybeMessage<::pg_query::SecLabelStmt>(GetArena()); + set_has_drop_subscription_stmt(); + _impl_.node_.drop_subscription_stmt_ = CreateMaybeMessage<::pg_query::DropSubscriptionStmt>(GetArena()); } - return _impl_.node_.sec_label_stmt_; + return _impl_.node_.drop_subscription_stmt_; } -inline ::pg_query::SecLabelStmt* Node::mutable_sec_label_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::SecLabelStmt* _msg = _internal_mutable_sec_label_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sec_label_stmt) +inline ::pg_query::DropSubscriptionStmt* Node::mutable_drop_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropSubscriptionStmt* _msg = _internal_mutable_drop_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_subscription_stmt) return _msg; } -// .pg_query.DeclareCursorStmt declare_cursor_stmt = 179 [json_name = "DeclareCursorStmt"]; -inline bool Node::has_declare_cursor_stmt() const { - return node_case() == kDeclareCursorStmt; +// .pg_query.Integer integer = 260 [json_name = "Integer"]; +inline bool Node::has_integer() const { + return node_case() == kInteger; } -inline bool Node::_internal_has_declare_cursor_stmt() const { - return node_case() == kDeclareCursorStmt; +inline bool Node::_internal_has_integer() const { + return node_case() == kInteger; } -inline void Node::set_has_declare_cursor_stmt() { - _impl_._oneof_case_[0] = kDeclareCursorStmt; +inline void Node::set_has_integer() { + _impl_._oneof_case_[0] = kInteger; } -inline void Node::clear_declare_cursor_stmt() { +inline void Node::clear_integer() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDeclareCursorStmt) { + if (node_case() == kInteger) { if (GetArena() == nullptr) { - delete _impl_.node_.declare_cursor_stmt_; + delete _impl_.node_.integer_; } clear_has_node(); } } -inline ::pg_query::DeclareCursorStmt* Node::release_declare_cursor_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.declare_cursor_stmt) - if (node_case() == kDeclareCursorStmt) { +inline ::pg_query::Integer* Node::release_integer() { + // @@protoc_insertion_point(field_release:pg_query.Node.integer) + if (node_case() == kInteger) { clear_has_node(); - auto* temp = _impl_.node_.declare_cursor_stmt_; + auto* temp = _impl_.node_.integer_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.declare_cursor_stmt_ = nullptr; + _impl_.node_.integer_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DeclareCursorStmt& Node::_internal_declare_cursor_stmt() const { - return node_case() == kDeclareCursorStmt ? *_impl_.node_.declare_cursor_stmt_ : reinterpret_cast<::pg_query::DeclareCursorStmt&>(::pg_query::_DeclareCursorStmt_default_instance_); -} -inline const ::pg_query::DeclareCursorStmt& Node::declare_cursor_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.declare_cursor_stmt) - return _internal_declare_cursor_stmt(); +inline const ::pg_query::Integer& Node::_internal_integer() const { + return node_case() == kInteger ? *_impl_.node_.integer_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); } -inline ::pg_query::DeclareCursorStmt* Node::unsafe_arena_release_declare_cursor_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.declare_cursor_stmt) - if (node_case() == kDeclareCursorStmt) { +inline const ::pg_query::Integer& Node::integer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.integer) + return _internal_integer(); +} +inline ::pg_query::Integer* Node::unsafe_arena_release_integer() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.integer) + if (node_case() == kInteger) { clear_has_node(); - auto* temp = _impl_.node_.declare_cursor_stmt_; - _impl_.node_.declare_cursor_stmt_ = nullptr; + auto* temp = _impl_.node_.integer_; + _impl_.node_.integer_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value) { +inline void Node::unsafe_arena_set_allocated_integer(::pg_query::Integer* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_declare_cursor_stmt(); - _impl_.node_.declare_cursor_stmt_ = value; + set_has_integer(); + _impl_.node_.integer_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.declare_cursor_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.integer) } -inline ::pg_query::DeclareCursorStmt* Node::_internal_mutable_declare_cursor_stmt() { - if (node_case() != kDeclareCursorStmt) { +inline ::pg_query::Integer* Node::_internal_mutable_integer() { + if (node_case() != kInteger) { clear_node(); - set_has_declare_cursor_stmt(); - _impl_.node_.declare_cursor_stmt_ = CreateMaybeMessage<::pg_query::DeclareCursorStmt>(GetArena()); + set_has_integer(); + _impl_.node_.integer_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); } - return _impl_.node_.declare_cursor_stmt_; + return _impl_.node_.integer_; } -inline ::pg_query::DeclareCursorStmt* Node::mutable_declare_cursor_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DeclareCursorStmt* _msg = _internal_mutable_declare_cursor_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.declare_cursor_stmt) +inline ::pg_query::Integer* Node::mutable_integer() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Integer* _msg = _internal_mutable_integer(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.integer) return _msg; } -// .pg_query.ClosePortalStmt close_portal_stmt = 180 [json_name = "ClosePortalStmt"]; -inline bool Node::has_close_portal_stmt() const { - return node_case() == kClosePortalStmt; +// .pg_query.Float float = 261 [json_name = "Float"]; +inline bool Node::has_float_() const { + return node_case() == kFloat; } -inline bool Node::_internal_has_close_portal_stmt() const { - return node_case() == kClosePortalStmt; +inline bool Node::_internal_has_float_() const { + return node_case() == kFloat; } -inline void Node::set_has_close_portal_stmt() { - _impl_._oneof_case_[0] = kClosePortalStmt; +inline void Node::set_has_float_() { + _impl_._oneof_case_[0] = kFloat; } -inline void Node::clear_close_portal_stmt() { +inline void Node::clear_float_() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kClosePortalStmt) { + if (node_case() == kFloat) { if (GetArena() == nullptr) { - delete _impl_.node_.close_portal_stmt_; + delete _impl_.node_.float__; } clear_has_node(); } } -inline ::pg_query::ClosePortalStmt* Node::release_close_portal_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.close_portal_stmt) - if (node_case() == kClosePortalStmt) { +inline ::pg_query::Float* Node::release_float_() { + // @@protoc_insertion_point(field_release:pg_query.Node.float) + if (node_case() == kFloat) { clear_has_node(); - auto* temp = _impl_.node_.close_portal_stmt_; + auto* temp = _impl_.node_.float__; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.close_portal_stmt_ = nullptr; + _impl_.node_.float__ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ClosePortalStmt& Node::_internal_close_portal_stmt() const { - return node_case() == kClosePortalStmt ? *_impl_.node_.close_portal_stmt_ : reinterpret_cast<::pg_query::ClosePortalStmt&>(::pg_query::_ClosePortalStmt_default_instance_); +inline const ::pg_query::Float& Node::_internal_float_() const { + return node_case() == kFloat ? *_impl_.node_.float__ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); } -inline const ::pg_query::ClosePortalStmt& Node::close_portal_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.close_portal_stmt) - return _internal_close_portal_stmt(); +inline const ::pg_query::Float& Node::float_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.float) + return _internal_float_(); } -inline ::pg_query::ClosePortalStmt* Node::unsafe_arena_release_close_portal_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.close_portal_stmt) - if (node_case() == kClosePortalStmt) { +inline ::pg_query::Float* Node::unsafe_arena_release_float_() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.float) + if (node_case() == kFloat) { clear_has_node(); - auto* temp = _impl_.node_.close_portal_stmt_; - _impl_.node_.close_portal_stmt_ = nullptr; + auto* temp = _impl_.node_.float__; + _impl_.node_.float__ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value) { +inline void Node::unsafe_arena_set_allocated_float_(::pg_query::Float* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_close_portal_stmt(); - _impl_.node_.close_portal_stmt_ = value; + set_has_float_(); + _impl_.node_.float__ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.close_portal_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.float) } -inline ::pg_query::ClosePortalStmt* Node::_internal_mutable_close_portal_stmt() { - if (node_case() != kClosePortalStmt) { +inline ::pg_query::Float* Node::_internal_mutable_float_() { + if (node_case() != kFloat) { clear_node(); - set_has_close_portal_stmt(); - _impl_.node_.close_portal_stmt_ = CreateMaybeMessage<::pg_query::ClosePortalStmt>(GetArena()); + set_has_float_(); + _impl_.node_.float__ = CreateMaybeMessage<::pg_query::Float>(GetArena()); } - return _impl_.node_.close_portal_stmt_; + return _impl_.node_.float__; } -inline ::pg_query::ClosePortalStmt* Node::mutable_close_portal_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ClosePortalStmt* _msg = _internal_mutable_close_portal_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.close_portal_stmt) +inline ::pg_query::Float* Node::mutable_float_() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Float* _msg = _internal_mutable_float_(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.float) return _msg; } -// .pg_query.FetchStmt fetch_stmt = 181 [json_name = "FetchStmt"]; -inline bool Node::has_fetch_stmt() const { - return node_case() == kFetchStmt; +// .pg_query.Boolean boolean = 262 [json_name = "Boolean"]; +inline bool Node::has_boolean() const { + return node_case() == kBoolean; } -inline bool Node::_internal_has_fetch_stmt() const { - return node_case() == kFetchStmt; +inline bool Node::_internal_has_boolean() const { + return node_case() == kBoolean; } -inline void Node::set_has_fetch_stmt() { - _impl_._oneof_case_[0] = kFetchStmt; +inline void Node::set_has_boolean() { + _impl_._oneof_case_[0] = kBoolean; } -inline void Node::clear_fetch_stmt() { +inline void Node::clear_boolean() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFetchStmt) { + if (node_case() == kBoolean) { if (GetArena() == nullptr) { - delete _impl_.node_.fetch_stmt_; + delete _impl_.node_.boolean_; } clear_has_node(); } } -inline ::pg_query::FetchStmt* Node::release_fetch_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.fetch_stmt) - if (node_case() == kFetchStmt) { +inline ::pg_query::Boolean* Node::release_boolean() { + // @@protoc_insertion_point(field_release:pg_query.Node.boolean) + if (node_case() == kBoolean) { clear_has_node(); - auto* temp = _impl_.node_.fetch_stmt_; + auto* temp = _impl_.node_.boolean_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.fetch_stmt_ = nullptr; + _impl_.node_.boolean_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FetchStmt& Node::_internal_fetch_stmt() const { - return node_case() == kFetchStmt ? *_impl_.node_.fetch_stmt_ : reinterpret_cast<::pg_query::FetchStmt&>(::pg_query::_FetchStmt_default_instance_); +inline const ::pg_query::Boolean& Node::_internal_boolean() const { + return node_case() == kBoolean ? *_impl_.node_.boolean_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); } -inline const ::pg_query::FetchStmt& Node::fetch_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.fetch_stmt) - return _internal_fetch_stmt(); +inline const ::pg_query::Boolean& Node::boolean() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.boolean) + return _internal_boolean(); } -inline ::pg_query::FetchStmt* Node::unsafe_arena_release_fetch_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.fetch_stmt) - if (node_case() == kFetchStmt) { +inline ::pg_query::Boolean* Node::unsafe_arena_release_boolean() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean) + if (node_case() == kBoolean) { clear_has_node(); - auto* temp = _impl_.node_.fetch_stmt_; - _impl_.node_.fetch_stmt_ = nullptr; + auto* temp = _impl_.node_.boolean_; + _impl_.node_.boolean_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value) { +inline void Node::unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_fetch_stmt(); - _impl_.node_.fetch_stmt_ = value; + set_has_boolean(); + _impl_.node_.boolean_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.fetch_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean) } -inline ::pg_query::FetchStmt* Node::_internal_mutable_fetch_stmt() { - if (node_case() != kFetchStmt) { +inline ::pg_query::Boolean* Node::_internal_mutable_boolean() { + if (node_case() != kBoolean) { clear_node(); - set_has_fetch_stmt(); - _impl_.node_.fetch_stmt_ = CreateMaybeMessage<::pg_query::FetchStmt>(GetArena()); + set_has_boolean(); + _impl_.node_.boolean_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); } - return _impl_.node_.fetch_stmt_; + return _impl_.node_.boolean_; } -inline ::pg_query::FetchStmt* Node::mutable_fetch_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FetchStmt* _msg = _internal_mutable_fetch_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.fetch_stmt) +inline ::pg_query::Boolean* Node::mutable_boolean() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Boolean* _msg = _internal_mutable_boolean(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean) return _msg; } -// .pg_query.IndexStmt index_stmt = 182 [json_name = "IndexStmt"]; -inline bool Node::has_index_stmt() const { - return node_case() == kIndexStmt; +// .pg_query.String string = 263 [json_name = "String"]; +inline bool Node::has_string() const { + return node_case() == kString; } -inline bool Node::_internal_has_index_stmt() const { - return node_case() == kIndexStmt; +inline bool Node::_internal_has_string() const { + return node_case() == kString; } -inline void Node::set_has_index_stmt() { - _impl_._oneof_case_[0] = kIndexStmt; +inline void Node::set_has_string() { + _impl_._oneof_case_[0] = kString; } -inline void Node::clear_index_stmt() { +inline void Node::clear_string() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kIndexStmt) { + if (node_case() == kString) { if (GetArena() == nullptr) { - delete _impl_.node_.index_stmt_; + delete _impl_.node_.string_; } clear_has_node(); } } -inline ::pg_query::IndexStmt* Node::release_index_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.index_stmt) - if (node_case() == kIndexStmt) { +inline ::pg_query::String* Node::release_string() { + // @@protoc_insertion_point(field_release:pg_query.Node.string) + if (node_case() == kString) { clear_has_node(); - auto* temp = _impl_.node_.index_stmt_; + auto* temp = _impl_.node_.string_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.index_stmt_ = nullptr; + _impl_.node_.string_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IndexStmt& Node::_internal_index_stmt() const { - return node_case() == kIndexStmt ? *_impl_.node_.index_stmt_ : reinterpret_cast<::pg_query::IndexStmt&>(::pg_query::_IndexStmt_default_instance_); +inline const ::pg_query::String& Node::_internal_string() const { + return node_case() == kString ? *_impl_.node_.string_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); } -inline const ::pg_query::IndexStmt& Node::index_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.index_stmt) - return _internal_index_stmt(); +inline const ::pg_query::String& Node::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.string) + return _internal_string(); } -inline ::pg_query::IndexStmt* Node::unsafe_arena_release_index_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_stmt) - if (node_case() == kIndexStmt) { +inline ::pg_query::String* Node::unsafe_arena_release_string() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.string) + if (node_case() == kString) { clear_has_node(); - auto* temp = _impl_.node_.index_stmt_; - _impl_.node_.index_stmt_ = nullptr; + auto* temp = _impl_.node_.string_; + _impl_.node_.string_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value) { +inline void Node::unsafe_arena_set_allocated_string(::pg_query::String* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_index_stmt(); - _impl_.node_.index_stmt_ = value; + set_has_string(); + _impl_.node_.string_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.string) } -inline ::pg_query::IndexStmt* Node::_internal_mutable_index_stmt() { - if (node_case() != kIndexStmt) { +inline ::pg_query::String* Node::_internal_mutable_string() { + if (node_case() != kString) { clear_node(); - set_has_index_stmt(); - _impl_.node_.index_stmt_ = CreateMaybeMessage<::pg_query::IndexStmt>(GetArena()); + set_has_string(); + _impl_.node_.string_ = CreateMaybeMessage<::pg_query::String>(GetArena()); } - return _impl_.node_.index_stmt_; + return _impl_.node_.string_; } -inline ::pg_query::IndexStmt* Node::mutable_index_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::IndexStmt* _msg = _internal_mutable_index_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.index_stmt) +inline ::pg_query::String* Node::mutable_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::String* _msg = _internal_mutable_string(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.string) return _msg; } -// .pg_query.CreateStatsStmt create_stats_stmt = 183 [json_name = "CreateStatsStmt"]; -inline bool Node::has_create_stats_stmt() const { - return node_case() == kCreateStatsStmt; +// .pg_query.BitString bit_string = 264 [json_name = "BitString"]; +inline bool Node::has_bit_string() const { + return node_case() == kBitString; } -inline bool Node::_internal_has_create_stats_stmt() const { - return node_case() == kCreateStatsStmt; +inline bool Node::_internal_has_bit_string() const { + return node_case() == kBitString; } -inline void Node::set_has_create_stats_stmt() { - _impl_._oneof_case_[0] = kCreateStatsStmt; +inline void Node::set_has_bit_string() { + _impl_._oneof_case_[0] = kBitString; } -inline void Node::clear_create_stats_stmt() { +inline void Node::clear_bit_string() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateStatsStmt) { + if (node_case() == kBitString) { if (GetArena() == nullptr) { - delete _impl_.node_.create_stats_stmt_; + delete _impl_.node_.bit_string_; } clear_has_node(); } } -inline ::pg_query::CreateStatsStmt* Node::release_create_stats_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_stats_stmt) - if (node_case() == kCreateStatsStmt) { +inline ::pg_query::BitString* Node::release_bit_string() { + // @@protoc_insertion_point(field_release:pg_query.Node.bit_string) + if (node_case() == kBitString) { clear_has_node(); - auto* temp = _impl_.node_.create_stats_stmt_; + auto* temp = _impl_.node_.bit_string_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_stats_stmt_ = nullptr; + _impl_.node_.bit_string_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateStatsStmt& Node::_internal_create_stats_stmt() const { - return node_case() == kCreateStatsStmt ? *_impl_.node_.create_stats_stmt_ : reinterpret_cast<::pg_query::CreateStatsStmt&>(::pg_query::_CreateStatsStmt_default_instance_); +inline const ::pg_query::BitString& Node::_internal_bit_string() const { + return node_case() == kBitString ? *_impl_.node_.bit_string_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); } -inline const ::pg_query::CreateStatsStmt& Node::create_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_stats_stmt) - return _internal_create_stats_stmt(); +inline const ::pg_query::BitString& Node::bit_string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.bit_string) + return _internal_bit_string(); } -inline ::pg_query::CreateStatsStmt* Node::unsafe_arena_release_create_stats_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stats_stmt) - if (node_case() == kCreateStatsStmt) { +inline ::pg_query::BitString* Node::unsafe_arena_release_bit_string() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bit_string) + if (node_case() == kBitString) { clear_has_node(); - auto* temp = _impl_.node_.create_stats_stmt_; - _impl_.node_.create_stats_stmt_ = nullptr; + auto* temp = _impl_.node_.bit_string_; + _impl_.node_.bit_string_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value) { +inline void Node::unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_stats_stmt(); - _impl_.node_.create_stats_stmt_ = value; + set_has_bit_string(); + _impl_.node_.bit_string_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stats_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bit_string) } -inline ::pg_query::CreateStatsStmt* Node::_internal_mutable_create_stats_stmt() { - if (node_case() != kCreateStatsStmt) { +inline ::pg_query::BitString* Node::_internal_mutable_bit_string() { + if (node_case() != kBitString) { clear_node(); - set_has_create_stats_stmt(); - _impl_.node_.create_stats_stmt_ = CreateMaybeMessage<::pg_query::CreateStatsStmt>(GetArena()); + set_has_bit_string(); + _impl_.node_.bit_string_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); } - return _impl_.node_.create_stats_stmt_; + return _impl_.node_.bit_string_; } -inline ::pg_query::CreateStatsStmt* Node::mutable_create_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateStatsStmt* _msg = _internal_mutable_create_stats_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stats_stmt) +inline ::pg_query::BitString* Node::mutable_bit_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BitString* _msg = _internal_mutable_bit_string(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.bit_string) return _msg; } -// .pg_query.StatsElem stats_elem = 184 [json_name = "StatsElem"]; -inline bool Node::has_stats_elem() const { - return node_case() == kStatsElem; +// .pg_query.List list = 265 [json_name = "List"]; +inline bool Node::has_list() const { + return node_case() == kList; } -inline bool Node::_internal_has_stats_elem() const { - return node_case() == kStatsElem; +inline bool Node::_internal_has_list() const { + return node_case() == kList; } -inline void Node::set_has_stats_elem() { - _impl_._oneof_case_[0] = kStatsElem; +inline void Node::set_has_list() { + _impl_._oneof_case_[0] = kList; } -inline void Node::clear_stats_elem() { +inline void Node::clear_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kStatsElem) { + if (node_case() == kList) { if (GetArena() == nullptr) { - delete _impl_.node_.stats_elem_; + delete _impl_.node_.list_; } clear_has_node(); } } -inline ::pg_query::StatsElem* Node::release_stats_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.stats_elem) - if (node_case() == kStatsElem) { +inline ::pg_query::List* Node::release_list() { + // @@protoc_insertion_point(field_release:pg_query.Node.list) + if (node_case() == kList) { clear_has_node(); - auto* temp = _impl_.node_.stats_elem_; + auto* temp = _impl_.node_.list_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.stats_elem_ = nullptr; + _impl_.node_.list_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::StatsElem& Node::_internal_stats_elem() const { - return node_case() == kStatsElem ? *_impl_.node_.stats_elem_ : reinterpret_cast<::pg_query::StatsElem&>(::pg_query::_StatsElem_default_instance_); +inline const ::pg_query::List& Node::_internal_list() const { + return node_case() == kList ? *_impl_.node_.list_ : reinterpret_cast<::pg_query::List&>(::pg_query::_List_default_instance_); } -inline const ::pg_query::StatsElem& Node::stats_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.stats_elem) - return _internal_stats_elem(); +inline const ::pg_query::List& Node::list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.list) + return _internal_list(); } -inline ::pg_query::StatsElem* Node::unsafe_arena_release_stats_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.stats_elem) - if (node_case() == kStatsElem) { +inline ::pg_query::List* Node::unsafe_arena_release_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.list) + if (node_case() == kList) { clear_has_node(); - auto* temp = _impl_.node_.stats_elem_; - _impl_.node_.stats_elem_ = nullptr; + auto* temp = _impl_.node_.list_; + _impl_.node_.list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value) { +inline void Node::unsafe_arena_set_allocated_list(::pg_query::List* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_stats_elem(); - _impl_.node_.stats_elem_ = value; + set_has_list(); + _impl_.node_.list_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.stats_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.list) } -inline ::pg_query::StatsElem* Node::_internal_mutable_stats_elem() { - if (node_case() != kStatsElem) { +inline ::pg_query::List* Node::_internal_mutable_list() { + if (node_case() != kList) { clear_node(); - set_has_stats_elem(); - _impl_.node_.stats_elem_ = CreateMaybeMessage<::pg_query::StatsElem>(GetArena()); + set_has_list(); + _impl_.node_.list_ = CreateMaybeMessage<::pg_query::List>(GetArena()); } - return _impl_.node_.stats_elem_; + return _impl_.node_.list_; } -inline ::pg_query::StatsElem* Node::mutable_stats_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::StatsElem* _msg = _internal_mutable_stats_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.stats_elem) +inline ::pg_query::List* Node::mutable_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::List* _msg = _internal_mutable_list(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.list) return _msg; } -// .pg_query.AlterStatsStmt alter_stats_stmt = 185 [json_name = "AlterStatsStmt"]; -inline bool Node::has_alter_stats_stmt() const { - return node_case() == kAlterStatsStmt; +// .pg_query.IntList int_list = 266 [json_name = "IntList"]; +inline bool Node::has_int_list() const { + return node_case() == kIntList; } -inline bool Node::_internal_has_alter_stats_stmt() const { - return node_case() == kAlterStatsStmt; +inline bool Node::_internal_has_int_list() const { + return node_case() == kIntList; } -inline void Node::set_has_alter_stats_stmt() { - _impl_._oneof_case_[0] = kAlterStatsStmt; +inline void Node::set_has_int_list() { + _impl_._oneof_case_[0] = kIntList; } -inline void Node::clear_alter_stats_stmt() { +inline void Node::clear_int_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterStatsStmt) { + if (node_case() == kIntList) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_stats_stmt_; + delete _impl_.node_.int_list_; } clear_has_node(); } } -inline ::pg_query::AlterStatsStmt* Node::release_alter_stats_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_stats_stmt) - if (node_case() == kAlterStatsStmt) { +inline ::pg_query::IntList* Node::release_int_list() { + // @@protoc_insertion_point(field_release:pg_query.Node.int_list) + if (node_case() == kIntList) { clear_has_node(); - auto* temp = _impl_.node_.alter_stats_stmt_; + auto* temp = _impl_.node_.int_list_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_stats_stmt_ = nullptr; + _impl_.node_.int_list_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterStatsStmt& Node::_internal_alter_stats_stmt() const { - return node_case() == kAlterStatsStmt ? *_impl_.node_.alter_stats_stmt_ : reinterpret_cast<::pg_query::AlterStatsStmt&>(::pg_query::_AlterStatsStmt_default_instance_); +inline const ::pg_query::IntList& Node::_internal_int_list() const { + return node_case() == kIntList ? *_impl_.node_.int_list_ : reinterpret_cast<::pg_query::IntList&>(::pg_query::_IntList_default_instance_); } -inline const ::pg_query::AlterStatsStmt& Node::alter_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_stats_stmt) - return _internal_alter_stats_stmt(); +inline const ::pg_query::IntList& Node::int_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.int_list) + return _internal_int_list(); } -inline ::pg_query::AlterStatsStmt* Node::unsafe_arena_release_alter_stats_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_stats_stmt) - if (node_case() == kAlterStatsStmt) { +inline ::pg_query::IntList* Node::unsafe_arena_release_int_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.int_list) + if (node_case() == kIntList) { clear_has_node(); - auto* temp = _impl_.node_.alter_stats_stmt_; - _impl_.node_.alter_stats_stmt_ = nullptr; + auto* temp = _impl_.node_.int_list_; + _impl_.node_.int_list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value) { +inline void Node::unsafe_arena_set_allocated_int_list(::pg_query::IntList* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_alter_stats_stmt(); - _impl_.node_.alter_stats_stmt_ = value; + set_has_int_list(); + _impl_.node_.int_list_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_stats_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.int_list) } -inline ::pg_query::AlterStatsStmt* Node::_internal_mutable_alter_stats_stmt() { - if (node_case() != kAlterStatsStmt) { +inline ::pg_query::IntList* Node::_internal_mutable_int_list() { + if (node_case() != kIntList) { clear_node(); - set_has_alter_stats_stmt(); - _impl_.node_.alter_stats_stmt_ = CreateMaybeMessage<::pg_query::AlterStatsStmt>(GetArena()); + set_has_int_list(); + _impl_.node_.int_list_ = CreateMaybeMessage<::pg_query::IntList>(GetArena()); } - return _impl_.node_.alter_stats_stmt_; + return _impl_.node_.int_list_; } -inline ::pg_query::AlterStatsStmt* Node::mutable_alter_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterStatsStmt* _msg = _internal_mutable_alter_stats_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_stats_stmt) +inline ::pg_query::IntList* Node::mutable_int_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IntList* _msg = _internal_mutable_int_list(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.int_list) return _msg; } -// .pg_query.CreateFunctionStmt create_function_stmt = 186 [json_name = "CreateFunctionStmt"]; -inline bool Node::has_create_function_stmt() const { - return node_case() == kCreateFunctionStmt; +// .pg_query.OidList oid_list = 267 [json_name = "OidList"]; +inline bool Node::has_oid_list() const { + return node_case() == kOidList; } -inline bool Node::_internal_has_create_function_stmt() const { - return node_case() == kCreateFunctionStmt; +inline bool Node::_internal_has_oid_list() const { + return node_case() == kOidList; } -inline void Node::set_has_create_function_stmt() { - _impl_._oneof_case_[0] = kCreateFunctionStmt; +inline void Node::set_has_oid_list() { + _impl_._oneof_case_[0] = kOidList; } -inline void Node::clear_create_function_stmt() { +inline void Node::clear_oid_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateFunctionStmt) { + if (node_case() == kOidList) { if (GetArena() == nullptr) { - delete _impl_.node_.create_function_stmt_; + delete _impl_.node_.oid_list_; } clear_has_node(); } } -inline ::pg_query::CreateFunctionStmt* Node::release_create_function_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_function_stmt) - if (node_case() == kCreateFunctionStmt) { +inline ::pg_query::OidList* Node::release_oid_list() { + // @@protoc_insertion_point(field_release:pg_query.Node.oid_list) + if (node_case() == kOidList) { clear_has_node(); - auto* temp = _impl_.node_.create_function_stmt_; + auto* temp = _impl_.node_.oid_list_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_function_stmt_ = nullptr; + _impl_.node_.oid_list_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateFunctionStmt& Node::_internal_create_function_stmt() const { - return node_case() == kCreateFunctionStmt ? *_impl_.node_.create_function_stmt_ : reinterpret_cast<::pg_query::CreateFunctionStmt&>(::pg_query::_CreateFunctionStmt_default_instance_); +inline const ::pg_query::OidList& Node::_internal_oid_list() const { + return node_case() == kOidList ? *_impl_.node_.oid_list_ : reinterpret_cast<::pg_query::OidList&>(::pg_query::_OidList_default_instance_); } -inline const ::pg_query::CreateFunctionStmt& Node::create_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_function_stmt) - return _internal_create_function_stmt(); +inline const ::pg_query::OidList& Node::oid_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.oid_list) + return _internal_oid_list(); } -inline ::pg_query::CreateFunctionStmt* Node::unsafe_arena_release_create_function_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_function_stmt) - if (node_case() == kCreateFunctionStmt) { +inline ::pg_query::OidList* Node::unsafe_arena_release_oid_list() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.oid_list) + if (node_case() == kOidList) { clear_has_node(); - auto* temp = _impl_.node_.create_function_stmt_; - _impl_.node_.create_function_stmt_ = nullptr; + auto* temp = _impl_.node_.oid_list_; + _impl_.node_.oid_list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value) { +inline void Node::unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_create_function_stmt(); - _impl_.node_.create_function_stmt_ = value; + set_has_oid_list(); + _impl_.node_.oid_list_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_function_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.oid_list) } -inline ::pg_query::CreateFunctionStmt* Node::_internal_mutable_create_function_stmt() { - if (node_case() != kCreateFunctionStmt) { +inline ::pg_query::OidList* Node::_internal_mutable_oid_list() { + if (node_case() != kOidList) { clear_node(); - set_has_create_function_stmt(); - _impl_.node_.create_function_stmt_ = CreateMaybeMessage<::pg_query::CreateFunctionStmt>(GetArena()); + set_has_oid_list(); + _impl_.node_.oid_list_ = CreateMaybeMessage<::pg_query::OidList>(GetArena()); } - return _impl_.node_.create_function_stmt_; + return _impl_.node_.oid_list_; } -inline ::pg_query::CreateFunctionStmt* Node::mutable_create_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateFunctionStmt* _msg = _internal_mutable_create_function_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_function_stmt) +inline ::pg_query::OidList* Node::mutable_oid_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OidList* _msg = _internal_mutable_oid_list(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.oid_list) return _msg; } -// .pg_query.FunctionParameter function_parameter = 187 [json_name = "FunctionParameter"]; -inline bool Node::has_function_parameter() const { - return node_case() == kFunctionParameter; +// .pg_query.A_Const a_const = 268 [json_name = "A_Const"]; +inline bool Node::has_a_const() const { + return node_case() == kAConst; } -inline bool Node::_internal_has_function_parameter() const { - return node_case() == kFunctionParameter; +inline bool Node::_internal_has_a_const() const { + return node_case() == kAConst; } -inline void Node::set_has_function_parameter() { - _impl_._oneof_case_[0] = kFunctionParameter; +inline void Node::set_has_a_const() { + _impl_._oneof_case_[0] = kAConst; } -inline void Node::clear_function_parameter() { +inline void Node::clear_a_const() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFunctionParameter) { + if (node_case() == kAConst) { if (GetArena() == nullptr) { - delete _impl_.node_.function_parameter_; + delete _impl_.node_.a_const_; } clear_has_node(); } } -inline ::pg_query::FunctionParameter* Node::release_function_parameter() { - // @@protoc_insertion_point(field_release:pg_query.Node.function_parameter) - if (node_case() == kFunctionParameter) { +inline ::pg_query::A_Const* Node::release_a_const() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_const) + if (node_case() == kAConst) { clear_has_node(); - auto* temp = _impl_.node_.function_parameter_; + auto* temp = _impl_.node_.a_const_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.function_parameter_ = nullptr; + _impl_.node_.a_const_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FunctionParameter& Node::_internal_function_parameter() const { - return node_case() == kFunctionParameter ? *_impl_.node_.function_parameter_ : reinterpret_cast<::pg_query::FunctionParameter&>(::pg_query::_FunctionParameter_default_instance_); +inline const ::pg_query::A_Const& Node::_internal_a_const() const { + return node_case() == kAConst ? *_impl_.node_.a_const_ : reinterpret_cast<::pg_query::A_Const&>(::pg_query::_A_Const_default_instance_); } -inline const ::pg_query::FunctionParameter& Node::function_parameter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.function_parameter) - return _internal_function_parameter(); +inline const ::pg_query::A_Const& Node::a_const() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_const) + return _internal_a_const(); } -inline ::pg_query::FunctionParameter* Node::unsafe_arena_release_function_parameter() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.function_parameter) - if (node_case() == kFunctionParameter) { +inline ::pg_query::A_Const* Node::unsafe_arena_release_a_const() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_const) + if (node_case() == kAConst) { clear_has_node(); - auto* temp = _impl_.node_.function_parameter_; - _impl_.node_.function_parameter_ = nullptr; + auto* temp = _impl_.node_.a_const_; + _impl_.node_.a_const_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value) { +inline void Node::unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. clear_node(); if (value) { - set_has_function_parameter(); - _impl_.node_.function_parameter_ = value; + set_has_a_const(); + _impl_.node_.a_const_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.function_parameter) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_const) } -inline ::pg_query::FunctionParameter* Node::_internal_mutable_function_parameter() { - if (node_case() != kFunctionParameter) { +inline ::pg_query::A_Const* Node::_internal_mutable_a_const() { + if (node_case() != kAConst) { clear_node(); - set_has_function_parameter(); - _impl_.node_.function_parameter_ = CreateMaybeMessage<::pg_query::FunctionParameter>(GetArena()); + set_has_a_const(); + _impl_.node_.a_const_ = CreateMaybeMessage<::pg_query::A_Const>(GetArena()); } - return _impl_.node_.function_parameter_; + return _impl_.node_.a_const_; } -inline ::pg_query::FunctionParameter* Node::mutable_function_parameter() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FunctionParameter* _msg = _internal_mutable_function_parameter(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.function_parameter) +inline ::pg_query::A_Const* Node::mutable_a_const() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Const* _msg = _internal_mutable_a_const(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_const) return _msg; } -// .pg_query.AlterFunctionStmt alter_function_stmt = 188 [json_name = "AlterFunctionStmt"]; -inline bool Node::has_alter_function_stmt() const { - return node_case() == kAlterFunctionStmt; +inline bool Node::has_node() const { + return node_case() != NODE_NOT_SET; } -inline bool Node::_internal_has_alter_function_stmt() const { - return node_case() == kAlterFunctionStmt; +inline void Node::clear_has_node() { + _impl_._oneof_case_[0] = NODE_NOT_SET; } -inline void Node::set_has_alter_function_stmt() { - _impl_._oneof_case_[0] = kAlterFunctionStmt; +inline Node::NodeCase Node::node_case() const { + return Node::NodeCase(_impl_._oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// Integer + +// int32 ival = 1; +inline void Integer::clear_ival() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ival_ = 0; +} +inline ::int32_t Integer::ival() const { + // @@protoc_insertion_point(field_get:pg_query.Integer.ival) + return _internal_ival(); +} +inline void Integer::set_ival(::int32_t value) { + _internal_set_ival(value); + // @@protoc_insertion_point(field_set:pg_query.Integer.ival) +} +inline ::int32_t Integer::_internal_ival() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ival_; +} +inline void Integer::_internal_set_ival(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ival_ = value; +} + +// ------------------------------------------------------------------- + +// Float + +// string fval = 1; +inline void Float::clear_fval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fval_.ClearToEmpty(); +} +inline const std::string& Float::fval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Float.fval) + return _internal_fval(); +} +template +inline PROTOBUF_ALWAYS_INLINE void Float::set_fval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fval_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Float.fval) +} +inline std::string* Float::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fval(); + // @@protoc_insertion_point(field_mutable:pg_query.Float.fval) + return _s; +} +inline const std::string& Float::_internal_fval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fval_.Get(); +} +inline void Float::_internal_set_fval(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fval_.Set(value, GetArena()); +} +inline std::string* Float::_internal_mutable_fval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fval_.Mutable( GetArena()); +} +inline std::string* Float::release_fval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Float.fval) + return _impl_.fval_.Release(); +} +inline void Float::set_allocated_fval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fval_.IsDefault()) { + _impl_.fval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Float.fval) +} + +// ------------------------------------------------------------------- + +// Boolean + +// bool boolval = 1; +inline void Boolean::clear_boolval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.boolval_ = false; +} +inline bool Boolean::boolval() const { + // @@protoc_insertion_point(field_get:pg_query.Boolean.boolval) + return _internal_boolval(); +} +inline void Boolean::set_boolval(bool value) { + _internal_set_boolval(value); + // @@protoc_insertion_point(field_set:pg_query.Boolean.boolval) +} +inline bool Boolean::_internal_boolval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.boolval_; +} +inline void Boolean::_internal_set_boolval(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.boolval_ = value; +} + +// ------------------------------------------------------------------- + +// String + +// string sval = 1; +inline void String::clear_sval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sval_.ClearToEmpty(); +} +inline const std::string& String::sval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.String.sval) + return _internal_sval(); +} +template +inline PROTOBUF_ALWAYS_INLINE void String::set_sval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sval_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.String.sval) +} +inline std::string* String::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_sval(); + // @@protoc_insertion_point(field_mutable:pg_query.String.sval) + return _s; +} +inline const std::string& String::_internal_sval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sval_.Get(); +} +inline void String::_internal_set_sval(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sval_.Set(value, GetArena()); +} +inline std::string* String::_internal_mutable_sval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.sval_.Mutable( GetArena()); +} +inline std::string* String::release_sval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.String.sval) + return _impl_.sval_.Release(); +} +inline void String::set_allocated_sval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.sval_.IsDefault()) { + _impl_.sval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.String.sval) +} + +// ------------------------------------------------------------------- + +// BitString + +// string bsval = 1; +inline void BitString::clear_bsval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.bsval_.ClearToEmpty(); +} +inline const std::string& BitString::bsval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BitString.bsval) + return _internal_bsval(); +} +template +inline PROTOBUF_ALWAYS_INLINE void BitString::set_bsval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.bsval_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.BitString.bsval) +} +inline std::string* BitString::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_bsval(); + // @@protoc_insertion_point(field_mutable:pg_query.BitString.bsval) + return _s; +} +inline const std::string& BitString::_internal_bsval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.bsval_.Get(); +} +inline void BitString::_internal_set_bsval(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.bsval_.Set(value, GetArena()); +} +inline std::string* BitString::_internal_mutable_bsval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.bsval_.Mutable( GetArena()); +} +inline std::string* BitString::release_bsval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.BitString.bsval) + return _impl_.bsval_.Release(); +} +inline void BitString::set_allocated_bsval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.bsval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.bsval_.IsDefault()) { + _impl_.bsval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.BitString.bsval) +} + +// ------------------------------------------------------------------- + +// List + +// repeated .pg_query.Node items = 1; +inline int List::_internal_items_size() const { + return _internal_items().size(); +} +inline int List::items_size() const { + return _internal_items_size(); +} +inline void List::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.items_.Clear(); +} +inline ::pg_query::Node* List::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.List.items) + return _internal_mutable_items()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* List::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.List.items) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); +} +inline const ::pg_query::Node& List::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.List.items) + return _internal_items().Get(index); +} +inline ::pg_query::Node* List::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); + // @@protoc_insertion_point(field_add:pg_query.List.items) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& List::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.List.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +List::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.items_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +List::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} + +// ------------------------------------------------------------------- + +// OidList + +// repeated .pg_query.Node items = 1; +inline int OidList::_internal_items_size() const { + return _internal_items().size(); +} +inline int OidList::items_size() const { + return _internal_items_size(); +} +inline void OidList::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.items_.Clear(); +} +inline ::pg_query::Node* OidList::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OidList.items) + return _internal_mutable_items()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OidList::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OidList.items) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); +} +inline const ::pg_query::Node& OidList::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OidList.items) + return _internal_items().Get(index); +} +inline ::pg_query::Node* OidList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OidList.items) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OidList::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OidList.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OidList::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.items_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OidList::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} + +// ------------------------------------------------------------------- + +// IntList + +// repeated .pg_query.Node items = 1; +inline int IntList::_internal_items_size() const { + return _internal_items().size(); +} +inline int IntList::items_size() const { + return _internal_items_size(); +} +inline void IntList::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.items_.Clear(); +} +inline ::pg_query::Node* IntList::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IntList.items) + return _internal_mutable_items()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntList::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IntList.items) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); +} +inline const ::pg_query::Node& IntList::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntList.items) + return _internal_items().Get(index); +} +inline ::pg_query::Node* IntList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IntList.items) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntList::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IntList.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntList::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.items_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntList::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} + +// ------------------------------------------------------------------- + +// A_Const + +// .pg_query.Integer ival = 1; +inline bool A_Const::has_ival() const { + return val_case() == kIval; +} +inline bool A_Const::_internal_has_ival() const { + return val_case() == kIval; +} +inline void A_Const::set_has_ival() { + _impl_._oneof_case_[0] = kIval; } -inline void Node::clear_alter_function_stmt() { +inline void A_Const::clear_ival() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterFunctionStmt) { + if (val_case() == kIval) { if (GetArena() == nullptr) { - delete _impl_.node_.alter_function_stmt_; + delete _impl_.val_.ival_; } - clear_has_node(); + clear_has_val(); } } -inline ::pg_query::AlterFunctionStmt* Node::release_alter_function_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_function_stmt) - if (node_case() == kAlterFunctionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_function_stmt_; +inline ::pg_query::Integer* A_Const::release_ival() { + // @@protoc_insertion_point(field_release:pg_query.A_Const.ival) + if (val_case() == kIval) { + clear_has_val(); + auto* temp = _impl_.val_.ival_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_function_stmt_ = nullptr; + _impl_.val_.ival_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterFunctionStmt& Node::_internal_alter_function_stmt() const { - return node_case() == kAlterFunctionStmt ? *_impl_.node_.alter_function_stmt_ : reinterpret_cast<::pg_query::AlterFunctionStmt&>(::pg_query::_AlterFunctionStmt_default_instance_); +inline const ::pg_query::Integer& A_Const::_internal_ival() const { + return val_case() == kIval ? *_impl_.val_.ival_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); } -inline const ::pg_query::AlterFunctionStmt& Node::alter_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_function_stmt) - return _internal_alter_function_stmt(); +inline const ::pg_query::Integer& A_Const::ival() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Const.ival) + return _internal_ival(); } -inline ::pg_query::AlterFunctionStmt* Node::unsafe_arena_release_alter_function_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_function_stmt) - if (node_case() == kAlterFunctionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_function_stmt_; - _impl_.node_.alter_function_stmt_ = nullptr; +inline ::pg_query::Integer* A_Const::unsafe_arena_release_ival() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.ival) + if (val_case() == kIval) { + clear_has_val(); + auto* temp = _impl_.val_.ival_; + _impl_.val_.ival_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value) { +inline void A_Const::unsafe_arena_set_allocated_ival(::pg_query::Integer* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_node(); + clear_val(); if (value) { - set_has_alter_function_stmt(); - _impl_.node_.alter_function_stmt_ = value; + set_has_ival(); + _impl_.val_.ival_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_function_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.ival) } -inline ::pg_query::AlterFunctionStmt* Node::_internal_mutable_alter_function_stmt() { - if (node_case() != kAlterFunctionStmt) { - clear_node(); - set_has_alter_function_stmt(); - _impl_.node_.alter_function_stmt_ = CreateMaybeMessage<::pg_query::AlterFunctionStmt>(GetArena()); +inline ::pg_query::Integer* A_Const::_internal_mutable_ival() { + if (val_case() != kIval) { + clear_val(); + set_has_ival(); + _impl_.val_.ival_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); } - return _impl_.node_.alter_function_stmt_; + return _impl_.val_.ival_; } -inline ::pg_query::AlterFunctionStmt* Node::mutable_alter_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterFunctionStmt* _msg = _internal_mutable_alter_function_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_function_stmt) +inline ::pg_query::Integer* A_Const::mutable_ival() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Integer* _msg = _internal_mutable_ival(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Const.ival) return _msg; } -// .pg_query.DoStmt do_stmt = 189 [json_name = "DoStmt"]; -inline bool Node::has_do_stmt() const { - return node_case() == kDoStmt; +// .pg_query.Float fval = 2; +inline bool A_Const::has_fval() const { + return val_case() == kFval; } -inline bool Node::_internal_has_do_stmt() const { - return node_case() == kDoStmt; +inline bool A_Const::_internal_has_fval() const { + return val_case() == kFval; } -inline void Node::set_has_do_stmt() { - _impl_._oneof_case_[0] = kDoStmt; +inline void A_Const::set_has_fval() { + _impl_._oneof_case_[0] = kFval; } -inline void Node::clear_do_stmt() { +inline void A_Const::clear_fval() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDoStmt) { + if (val_case() == kFval) { if (GetArena() == nullptr) { - delete _impl_.node_.do_stmt_; + delete _impl_.val_.fval_; } - clear_has_node(); + clear_has_val(); } } -inline ::pg_query::DoStmt* Node::release_do_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.do_stmt) - if (node_case() == kDoStmt) { - clear_has_node(); - auto* temp = _impl_.node_.do_stmt_; +inline ::pg_query::Float* A_Const::release_fval() { + // @@protoc_insertion_point(field_release:pg_query.A_Const.fval) + if (val_case() == kFval) { + clear_has_val(); + auto* temp = _impl_.val_.fval_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.do_stmt_ = nullptr; + _impl_.val_.fval_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DoStmt& Node::_internal_do_stmt() const { - return node_case() == kDoStmt ? *_impl_.node_.do_stmt_ : reinterpret_cast<::pg_query::DoStmt&>(::pg_query::_DoStmt_default_instance_); +inline const ::pg_query::Float& A_Const::_internal_fval() const { + return val_case() == kFval ? *_impl_.val_.fval_ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); } -inline const ::pg_query::DoStmt& Node::do_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.do_stmt) - return _internal_do_stmt(); +inline const ::pg_query::Float& A_Const::fval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Const.fval) + return _internal_fval(); } -inline ::pg_query::DoStmt* Node::unsafe_arena_release_do_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.do_stmt) - if (node_case() == kDoStmt) { - clear_has_node(); - auto* temp = _impl_.node_.do_stmt_; - _impl_.node_.do_stmt_ = nullptr; +inline ::pg_query::Float* A_Const::unsafe_arena_release_fval() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.fval) + if (val_case() == kFval) { + clear_has_val(); + auto* temp = _impl_.val_.fval_; + _impl_.val_.fval_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value) { +inline void A_Const::unsafe_arena_set_allocated_fval(::pg_query::Float* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_node(); + clear_val(); if (value) { - set_has_do_stmt(); - _impl_.node_.do_stmt_ = value; + set_has_fval(); + _impl_.val_.fval_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.do_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.fval) } -inline ::pg_query::DoStmt* Node::_internal_mutable_do_stmt() { - if (node_case() != kDoStmt) { - clear_node(); - set_has_do_stmt(); - _impl_.node_.do_stmt_ = CreateMaybeMessage<::pg_query::DoStmt>(GetArena()); +inline ::pg_query::Float* A_Const::_internal_mutable_fval() { + if (val_case() != kFval) { + clear_val(); + set_has_fval(); + _impl_.val_.fval_ = CreateMaybeMessage<::pg_query::Float>(GetArena()); } - return _impl_.node_.do_stmt_; + return _impl_.val_.fval_; } -inline ::pg_query::DoStmt* Node::mutable_do_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DoStmt* _msg = _internal_mutable_do_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.do_stmt) +inline ::pg_query::Float* A_Const::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Float* _msg = _internal_mutable_fval(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Const.fval) return _msg; } -// .pg_query.InlineCodeBlock inline_code_block = 190 [json_name = "InlineCodeBlock"]; -inline bool Node::has_inline_code_block() const { - return node_case() == kInlineCodeBlock; +// .pg_query.Boolean boolval = 3; +inline bool A_Const::has_boolval() const { + return val_case() == kBoolval; } -inline bool Node::_internal_has_inline_code_block() const { - return node_case() == kInlineCodeBlock; +inline bool A_Const::_internal_has_boolval() const { + return val_case() == kBoolval; } -inline void Node::set_has_inline_code_block() { - _impl_._oneof_case_[0] = kInlineCodeBlock; +inline void A_Const::set_has_boolval() { + _impl_._oneof_case_[0] = kBoolval; } -inline void Node::clear_inline_code_block() { +inline void A_Const::clear_boolval() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kInlineCodeBlock) { + if (val_case() == kBoolval) { if (GetArena() == nullptr) { - delete _impl_.node_.inline_code_block_; + delete _impl_.val_.boolval_; } - clear_has_node(); + clear_has_val(); } } -inline ::pg_query::InlineCodeBlock* Node::release_inline_code_block() { - // @@protoc_insertion_point(field_release:pg_query.Node.inline_code_block) - if (node_case() == kInlineCodeBlock) { - clear_has_node(); - auto* temp = _impl_.node_.inline_code_block_; +inline ::pg_query::Boolean* A_Const::release_boolval() { + // @@protoc_insertion_point(field_release:pg_query.A_Const.boolval) + if (val_case() == kBoolval) { + clear_has_val(); + auto* temp = _impl_.val_.boolval_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.inline_code_block_ = nullptr; + _impl_.val_.boolval_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InlineCodeBlock& Node::_internal_inline_code_block() const { - return node_case() == kInlineCodeBlock ? *_impl_.node_.inline_code_block_ : reinterpret_cast<::pg_query::InlineCodeBlock&>(::pg_query::_InlineCodeBlock_default_instance_); +inline const ::pg_query::Boolean& A_Const::_internal_boolval() const { + return val_case() == kBoolval ? *_impl_.val_.boolval_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); } -inline const ::pg_query::InlineCodeBlock& Node::inline_code_block() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.inline_code_block) - return _internal_inline_code_block(); +inline const ::pg_query::Boolean& A_Const::boolval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Const.boolval) + return _internal_boolval(); } -inline ::pg_query::InlineCodeBlock* Node::unsafe_arena_release_inline_code_block() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inline_code_block) - if (node_case() == kInlineCodeBlock) { - clear_has_node(); - auto* temp = _impl_.node_.inline_code_block_; - _impl_.node_.inline_code_block_ = nullptr; +inline ::pg_query::Boolean* A_Const::unsafe_arena_release_boolval() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.boolval) + if (val_case() == kBoolval) { + clear_has_val(); + auto* temp = _impl_.val_.boolval_; + _impl_.val_.boolval_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value) { +inline void A_Const::unsafe_arena_set_allocated_boolval(::pg_query::Boolean* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_node(); + clear_val(); if (value) { - set_has_inline_code_block(); - _impl_.node_.inline_code_block_ = value; + set_has_boolval(); + _impl_.val_.boolval_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inline_code_block) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.boolval) } -inline ::pg_query::InlineCodeBlock* Node::_internal_mutable_inline_code_block() { - if (node_case() != kInlineCodeBlock) { - clear_node(); - set_has_inline_code_block(); - _impl_.node_.inline_code_block_ = CreateMaybeMessage<::pg_query::InlineCodeBlock>(GetArena()); +inline ::pg_query::Boolean* A_Const::_internal_mutable_boolval() { + if (val_case() != kBoolval) { + clear_val(); + set_has_boolval(); + _impl_.val_.boolval_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); } - return _impl_.node_.inline_code_block_; + return _impl_.val_.boolval_; } -inline ::pg_query::InlineCodeBlock* Node::mutable_inline_code_block() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::InlineCodeBlock* _msg = _internal_mutable_inline_code_block(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.inline_code_block) +inline ::pg_query::Boolean* A_Const::mutable_boolval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Boolean* _msg = _internal_mutable_boolval(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Const.boolval) return _msg; } -// .pg_query.CallStmt call_stmt = 191 [json_name = "CallStmt"]; -inline bool Node::has_call_stmt() const { - return node_case() == kCallStmt; +// .pg_query.String sval = 4; +inline bool A_Const::has_sval() const { + return val_case() == kSval; } -inline bool Node::_internal_has_call_stmt() const { - return node_case() == kCallStmt; +inline bool A_Const::_internal_has_sval() const { + return val_case() == kSval; } -inline void Node::set_has_call_stmt() { - _impl_._oneof_case_[0] = kCallStmt; +inline void A_Const::set_has_sval() { + _impl_._oneof_case_[0] = kSval; } -inline void Node::clear_call_stmt() { +inline void A_Const::clear_sval() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCallStmt) { + if (val_case() == kSval) { if (GetArena() == nullptr) { - delete _impl_.node_.call_stmt_; + delete _impl_.val_.sval_; } - clear_has_node(); + clear_has_val(); } } -inline ::pg_query::CallStmt* Node::release_call_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.call_stmt) - if (node_case() == kCallStmt) { - clear_has_node(); - auto* temp = _impl_.node_.call_stmt_; +inline ::pg_query::String* A_Const::release_sval() { + // @@protoc_insertion_point(field_release:pg_query.A_Const.sval) + if (val_case() == kSval) { + clear_has_val(); + auto* temp = _impl_.val_.sval_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.call_stmt_ = nullptr; + _impl_.val_.sval_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CallStmt& Node::_internal_call_stmt() const { - return node_case() == kCallStmt ? *_impl_.node_.call_stmt_ : reinterpret_cast<::pg_query::CallStmt&>(::pg_query::_CallStmt_default_instance_); +inline const ::pg_query::String& A_Const::_internal_sval() const { + return val_case() == kSval ? *_impl_.val_.sval_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); } -inline const ::pg_query::CallStmt& Node::call_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.call_stmt) - return _internal_call_stmt(); +inline const ::pg_query::String& A_Const::sval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Const.sval) + return _internal_sval(); } -inline ::pg_query::CallStmt* Node::unsafe_arena_release_call_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_stmt) - if (node_case() == kCallStmt) { - clear_has_node(); - auto* temp = _impl_.node_.call_stmt_; - _impl_.node_.call_stmt_ = nullptr; +inline ::pg_query::String* A_Const::unsafe_arena_release_sval() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.sval) + if (val_case() == kSval) { + clear_has_val(); + auto* temp = _impl_.val_.sval_; + _impl_.val_.sval_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value) { +inline void A_Const::unsafe_arena_set_allocated_sval(::pg_query::String* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_node(); + clear_val(); if (value) { - set_has_call_stmt(); - _impl_.node_.call_stmt_ = value; + set_has_sval(); + _impl_.val_.sval_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.sval) } -inline ::pg_query::CallStmt* Node::_internal_mutable_call_stmt() { - if (node_case() != kCallStmt) { - clear_node(); - set_has_call_stmt(); - _impl_.node_.call_stmt_ = CreateMaybeMessage<::pg_query::CallStmt>(GetArena()); +inline ::pg_query::String* A_Const::_internal_mutable_sval() { + if (val_case() != kSval) { + clear_val(); + set_has_sval(); + _impl_.val_.sval_ = CreateMaybeMessage<::pg_query::String>(GetArena()); } - return _impl_.node_.call_stmt_; + return _impl_.val_.sval_; } -inline ::pg_query::CallStmt* Node::mutable_call_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CallStmt* _msg = _internal_mutable_call_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.call_stmt) +inline ::pg_query::String* A_Const::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::String* _msg = _internal_mutable_sval(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Const.sval) return _msg; } -// .pg_query.CallContext call_context = 192 [json_name = "CallContext"]; -inline bool Node::has_call_context() const { - return node_case() == kCallContext; +// .pg_query.BitString bsval = 5; +inline bool A_Const::has_bsval() const { + return val_case() == kBsval; } -inline bool Node::_internal_has_call_context() const { - return node_case() == kCallContext; +inline bool A_Const::_internal_has_bsval() const { + return val_case() == kBsval; } -inline void Node::set_has_call_context() { - _impl_._oneof_case_[0] = kCallContext; +inline void A_Const::set_has_bsval() { + _impl_._oneof_case_[0] = kBsval; } -inline void Node::clear_call_context() { +inline void A_Const::clear_bsval() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCallContext) { + if (val_case() == kBsval) { if (GetArena() == nullptr) { - delete _impl_.node_.call_context_; + delete _impl_.val_.bsval_; } - clear_has_node(); + clear_has_val(); } } -inline ::pg_query::CallContext* Node::release_call_context() { - // @@protoc_insertion_point(field_release:pg_query.Node.call_context) - if (node_case() == kCallContext) { - clear_has_node(); - auto* temp = _impl_.node_.call_context_; +inline ::pg_query::BitString* A_Const::release_bsval() { + // @@protoc_insertion_point(field_release:pg_query.A_Const.bsval) + if (val_case() == kBsval) { + clear_has_val(); + auto* temp = _impl_.val_.bsval_; if (GetArena() != nullptr) { temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.call_context_ = nullptr; + _impl_.val_.bsval_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CallContext& Node::_internal_call_context() const { - return node_case() == kCallContext ? *_impl_.node_.call_context_ : reinterpret_cast<::pg_query::CallContext&>(::pg_query::_CallContext_default_instance_); +inline const ::pg_query::BitString& A_Const::_internal_bsval() const { + return val_case() == kBsval ? *_impl_.val_.bsval_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); } -inline const ::pg_query::CallContext& Node::call_context() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.call_context) - return _internal_call_context(); +inline const ::pg_query::BitString& A_Const::bsval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Const.bsval) + return _internal_bsval(); } -inline ::pg_query::CallContext* Node::unsafe_arena_release_call_context() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_context) - if (node_case() == kCallContext) { - clear_has_node(); - auto* temp = _impl_.node_.call_context_; - _impl_.node_.call_context_ = nullptr; +inline ::pg_query::BitString* A_Const::unsafe_arena_release_bsval() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.bsval) + if (val_case() == kBsval) { + clear_has_val(); + auto* temp = _impl_.val_.bsval_; + _impl_.val_.bsval_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value) { +inline void A_Const::unsafe_arena_set_allocated_bsval(::pg_query::BitString* value) { // We rely on the oneof clear method to free the earlier contents // of this oneof. We can directly use the pointer we're given to // set the new value. - clear_node(); + clear_val(); if (value) { - set_has_call_context(); - _impl_.node_.call_context_ = value; + set_has_bsval(); + _impl_.val_.bsval_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_context) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.bsval) } -inline ::pg_query::CallContext* Node::_internal_mutable_call_context() { - if (node_case() != kCallContext) { - clear_node(); - set_has_call_context(); - _impl_.node_.call_context_ = CreateMaybeMessage<::pg_query::CallContext>(GetArena()); +inline ::pg_query::BitString* A_Const::_internal_mutable_bsval() { + if (val_case() != kBsval) { + clear_val(); + set_has_bsval(); + _impl_.val_.bsval_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); } - return _impl_.node_.call_context_; + return _impl_.val_.bsval_; } -inline ::pg_query::CallContext* Node::mutable_call_context() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CallContext* _msg = _internal_mutable_call_context(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.call_context) +inline ::pg_query::BitString* A_Const::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BitString* _msg = _internal_mutable_bsval(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Const.bsval) return _msg; } -// .pg_query.RenameStmt rename_stmt = 193 [json_name = "RenameStmt"]; -inline bool Node::has_rename_stmt() const { - return node_case() == kRenameStmt; +// bool isnull = 10; +inline void A_Const::clear_isnull() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.isnull_ = false; } -inline bool Node::_internal_has_rename_stmt() const { - return node_case() == kRenameStmt; +inline bool A_Const::isnull() const { + // @@protoc_insertion_point(field_get:pg_query.A_Const.isnull) + return _internal_isnull(); } -inline void Node::set_has_rename_stmt() { - _impl_._oneof_case_[0] = kRenameStmt; +inline void A_Const::set_isnull(bool value) { + _internal_set_isnull(value); + // @@protoc_insertion_point(field_set:pg_query.A_Const.isnull) } -inline void Node::clear_rename_stmt() { +inline bool A_Const::_internal_isnull() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isnull_; +} +inline void A_Const::_internal_set_isnull(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRenameStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.rename_stmt_; - } - clear_has_node(); - } + ; + _impl_.isnull_ = value; } -inline ::pg_query::RenameStmt* Node::release_rename_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.rename_stmt) - if (node_case() == kRenameStmt) { - clear_has_node(); - auto* temp = _impl_.node_.rename_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.rename_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// int32 location = 11; +inline void A_Const::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::RenameStmt& Node::_internal_rename_stmt() const { - return node_case() == kRenameStmt ? *_impl_.node_.rename_stmt_ : reinterpret_cast<::pg_query::RenameStmt&>(::pg_query::_RenameStmt_default_instance_); +inline ::int32_t A_Const::location() const { + // @@protoc_insertion_point(field_get:pg_query.A_Const.location) + return _internal_location(); } -inline const ::pg_query::RenameStmt& Node::rename_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.rename_stmt) - return _internal_rename_stmt(); +inline void A_Const::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.A_Const.location) } -inline ::pg_query::RenameStmt* Node::unsafe_arena_release_rename_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rename_stmt) - if (node_case() == kRenameStmt) { - clear_has_node(); - auto* temp = _impl_.node_.rename_stmt_; - _impl_.node_.rename_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t A_Const::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void Node::unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_rename_stmt(); - _impl_.node_.rename_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rename_stmt) +inline void A_Const::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline ::pg_query::RenameStmt* Node::_internal_mutable_rename_stmt() { - if (node_case() != kRenameStmt) { - clear_node(); - set_has_rename_stmt(); - _impl_.node_.rename_stmt_ = CreateMaybeMessage<::pg_query::RenameStmt>(GetArena()); - } - return _impl_.node_.rename_stmt_; + +inline bool A_Const::has_val() const { + return val_case() != VAL_NOT_SET; } -inline ::pg_query::RenameStmt* Node::mutable_rename_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RenameStmt* _msg = _internal_mutable_rename_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.rename_stmt) - return _msg; +inline void A_Const::clear_has_val() { + _impl_._oneof_case_[0] = VAL_NOT_SET; +} +inline A_Const::ValCase A_Const::val_case() const { + return A_Const::ValCase(_impl_._oneof_case_[0]); } +// ------------------------------------------------------------------- -// .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 194 [json_name = "AlterObjectDependsStmt"]; -inline bool Node::has_alter_object_depends_stmt() const { - return node_case() == kAlterObjectDependsStmt; +// Alias + +// string aliasname = 1 [json_name = "aliasname"]; +inline void Alias::clear_aliasname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aliasname_.ClearToEmpty(); } -inline bool Node::_internal_has_alter_object_depends_stmt() const { - return node_case() == kAlterObjectDependsStmt; +inline const std::string& Alias::aliasname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Alias.aliasname) + return _internal_aliasname(); } -inline void Node::set_has_alter_object_depends_stmt() { - _impl_._oneof_case_[0] = kAlterObjectDependsStmt; +template +inline PROTOBUF_ALWAYS_INLINE void Alias::set_aliasname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aliasname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Alias.aliasname) } -inline void Node::clear_alter_object_depends_stmt() { +inline std::string* Alias::mutable_aliasname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_aliasname(); + // @@protoc_insertion_point(field_mutable:pg_query.Alias.aliasname) + return _s; +} +inline const std::string& Alias::_internal_aliasname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aliasname_.Get(); +} +inline void Alias::_internal_set_aliasname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterObjectDependsStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_object_depends_stmt_; - } - clear_has_node(); - } + ; + _impl_.aliasname_.Set(value, GetArena()); } -inline ::pg_query::AlterObjectDependsStmt* Node::release_alter_object_depends_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_depends_stmt) - if (node_case() == kAlterObjectDependsStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_object_depends_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_object_depends_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline std::string* Alias::_internal_mutable_aliasname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.aliasname_.Mutable( GetArena()); } -inline const ::pg_query::AlterObjectDependsStmt& Node::_internal_alter_object_depends_stmt() const { - return node_case() == kAlterObjectDependsStmt ? *_impl_.node_.alter_object_depends_stmt_ : reinterpret_cast<::pg_query::AlterObjectDependsStmt&>(::pg_query::_AlterObjectDependsStmt_default_instance_); +inline std::string* Alias::release_aliasname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Alias.aliasname) + return _impl_.aliasname_.Release(); } -inline const ::pg_query::AlterObjectDependsStmt& Node::alter_object_depends_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_depends_stmt) - return _internal_alter_object_depends_stmt(); +inline void Alias::set_allocated_aliasname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aliasname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.aliasname_.IsDefault()) { + _impl_.aliasname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Alias.aliasname) } -inline ::pg_query::AlterObjectDependsStmt* Node::unsafe_arena_release_alter_object_depends_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_depends_stmt) - if (node_case() == kAlterObjectDependsStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_object_depends_stmt_; - _impl_.node_.alter_object_depends_stmt_ = nullptr; - return temp; + +// repeated .pg_query.Node colnames = 2 [json_name = "colnames"]; +inline int Alias::_internal_colnames_size() const { + return _internal_colnames().size(); +} +inline int Alias::colnames_size() const { + return _internal_colnames_size(); +} +inline void Alias::clear_colnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colnames_.Clear(); +} +inline ::pg_query::Node* Alias::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Alias.colnames) + return _internal_mutable_colnames()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Alias::mutable_colnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Alias.colnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colnames(); +} +inline const ::pg_query::Node& Alias::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Alias.colnames) + return _internal_colnames().Get(index); +} +inline ::pg_query::Node* Alias::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Alias.colnames) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Alias::colnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Alias.colnames) + return _internal_colnames(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Alias::_internal_colnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colnames_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Alias::_internal_mutable_colnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colnames_; +} + +// ------------------------------------------------------------------- + +// RangeVar + +// string catalogname = 1 [json_name = "catalogname"]; +inline void RangeVar::clear_catalogname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.catalogname_.ClearToEmpty(); +} +inline const std::string& RangeVar::catalogname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.catalogname) + return _internal_catalogname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_catalogname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.catalogname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.catalogname) +} +inline std::string* RangeVar::mutable_catalogname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_catalogname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.catalogname) + return _s; +} +inline const std::string& RangeVar::_internal_catalogname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.catalogname_.Get(); +} +inline void RangeVar::_internal_set_catalogname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.catalogname_.Set(value, GetArena()); +} +inline std::string* RangeVar::_internal_mutable_catalogname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.catalogname_.Mutable( GetArena()); +} +inline std::string* RangeVar::release_catalogname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeVar.catalogname) + return _impl_.catalogname_.Release(); +} +inline void RangeVar::set_allocated_catalogname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.catalogname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.catalogname_.IsDefault()) { + _impl_.catalogname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.catalogname) +} + +// string schemaname = 2 [json_name = "schemaname"]; +inline void RangeVar::clear_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schemaname_.ClearToEmpty(); +} +inline const std::string& RangeVar::schemaname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.schemaname) + return _internal_schemaname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_schemaname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.schemaname) +} +inline std::string* RangeVar::mutable_schemaname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_schemaname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.schemaname) + return _s; +} +inline const std::string& RangeVar::_internal_schemaname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.schemaname_.Get(); +} +inline void RangeVar::_internal_set_schemaname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(value, GetArena()); +} +inline std::string* RangeVar::_internal_mutable_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.schemaname_.Mutable( GetArena()); +} +inline std::string* RangeVar::release_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeVar.schemaname) + return _impl_.schemaname_.Release(); +} +inline void RangeVar::set_allocated_schemaname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schemaname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.schemaname_.IsDefault()) { + _impl_.schemaname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.schemaname) +} + +// string relname = 3 [json_name = "relname"]; +inline void RangeVar::clear_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.ClearToEmpty(); +} +inline const std::string& RangeVar::relname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.relname) + return _internal_relname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.relname) +} +inline std::string* RangeVar::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relname) + return _s; +} +inline const std::string& RangeVar::_internal_relname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relname_.Get(); +} +inline void RangeVar::_internal_set_relname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(value, GetArena()); +} +inline std::string* RangeVar::_internal_mutable_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relname_.Mutable( GetArena()); +} +inline std::string* RangeVar::release_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeVar.relname) + return _impl_.relname_.Release(); +} +inline void RangeVar::set_allocated_relname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relname_.IsDefault()) { + _impl_.relname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relname) +} + +// bool inh = 4 [json_name = "inh"]; +inline void RangeVar::clear_inh() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inh_ = false; +} +inline bool RangeVar::inh() const { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.inh) + return _internal_inh(); +} +inline void RangeVar::set_inh(bool value) { + _internal_set_inh(value); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.inh) +} +inline bool RangeVar::_internal_inh() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_; +} +inline void RangeVar::_internal_set_inh(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inh_ = value; +} + +// string relpersistence = 5 [json_name = "relpersistence"]; +inline void RangeVar::clear_relpersistence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relpersistence_.ClearToEmpty(); +} +inline const std::string& RangeVar::relpersistence() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.relpersistence) + return _internal_relpersistence(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relpersistence(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relpersistence_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.relpersistence) +} +inline std::string* RangeVar::mutable_relpersistence() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relpersistence(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relpersistence) + return _s; +} +inline const std::string& RangeVar::_internal_relpersistence() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relpersistence_.Get(); +} +inline void RangeVar::_internal_set_relpersistence(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relpersistence_.Set(value, GetArena()); +} +inline std::string* RangeVar::_internal_mutable_relpersistence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relpersistence_.Mutable( GetArena()); +} +inline std::string* RangeVar::release_relpersistence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeVar.relpersistence) + return _impl_.relpersistence_.Release(); +} +inline void RangeVar::set_allocated_relpersistence(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relpersistence_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relpersistence_.IsDefault()) { + _impl_.relpersistence_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relpersistence) +} + +// .pg_query.Alias alias = 6 [json_name = "alias"]; +inline bool RangeVar::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; +} +inline void RangeVar::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Alias& RangeVar::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& RangeVar::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.alias) + return _internal_alias(); +} +inline void RangeVar::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeVar.alias) } -inline void Node::unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_object_depends_stmt(); - _impl_.node_.alter_object_depends_stmt_ = value; +inline ::pg_query::Alias* RangeVar::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_depends_stmt) -} -inline ::pg_query::AlterObjectDependsStmt* Node::_internal_mutable_alter_object_depends_stmt() { - if (node_case() != kAlterObjectDependsStmt) { - clear_node(); - set_has_alter_object_depends_stmt(); - _impl_.node_.alter_object_depends_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectDependsStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.alter_object_depends_stmt_; -} -inline ::pg_query::AlterObjectDependsStmt* Node::mutable_alter_object_depends_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterObjectDependsStmt* _msg = _internal_mutable_alter_object_depends_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_depends_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Alias* RangeVar::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeVar.alias) -// .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 195 [json_name = "AlterObjectSchemaStmt"]; -inline bool Node::has_alter_object_schema_stmt() const { - return node_case() == kAlterObjectSchemaStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline bool Node::_internal_has_alter_object_schema_stmt() const { - return node_case() == kAlterObjectSchemaStmt; +inline ::pg_query::Alias* RangeVar::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline void Node::set_has_alter_object_schema_stmt() { - _impl_._oneof_case_[0] = kAlterObjectSchemaStmt; +inline ::pg_query::Alias* RangeVar::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.alias) + return _msg; } -inline void Node::clear_alter_object_schema_stmt() { +inline void RangeVar::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterObjectSchemaStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_object_schema_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } -} -inline ::pg_query::AlterObjectSchemaStmt* Node::release_alter_object_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_schema_stmt) - if (node_case() == kAlterObjectSchemaStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_object_schema_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.alter_object_schema_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.alias) +} + +// int32 location = 7 [json_name = "location"]; +inline void RangeVar::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t RangeVar::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeVar.location) + return _internal_location(); +} +inline void RangeVar::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeVar.location) +} +inline ::int32_t RangeVar::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::pg_query::AlterObjectSchemaStmt& Node::_internal_alter_object_schema_stmt() const { - return node_case() == kAlterObjectSchemaStmt ? *_impl_.node_.alter_object_schema_stmt_ : reinterpret_cast<::pg_query::AlterObjectSchemaStmt&>(::pg_query::_AlterObjectSchemaStmt_default_instance_); +inline void RangeVar::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::AlterObjectSchemaStmt& Node::alter_object_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_schema_stmt) - return _internal_alter_object_schema_stmt(); + +// ------------------------------------------------------------------- + +// TableFunc + +// .pg_query.TableFuncType functype = 1 [json_name = "functype"]; +inline void TableFunc::clear_functype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.functype_ = 0; } -inline ::pg_query::AlterObjectSchemaStmt* Node::unsafe_arena_release_alter_object_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_schema_stmt) - if (node_case() == kAlterObjectSchemaStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_object_schema_stmt_; - _impl_.node_.alter_object_schema_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::TableFuncType TableFunc::functype() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.functype) + return _internal_functype(); } -inline void Node::unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_object_schema_stmt(); - _impl_.node_.alter_object_schema_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_schema_stmt) +inline void TableFunc::set_functype(::pg_query::TableFuncType value) { + _internal_set_functype(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.functype) } -inline ::pg_query::AlterObjectSchemaStmt* Node::_internal_mutable_alter_object_schema_stmt() { - if (node_case() != kAlterObjectSchemaStmt) { - clear_node(); - set_has_alter_object_schema_stmt(); - _impl_.node_.alter_object_schema_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectSchemaStmt>(GetArena()); - } - return _impl_.node_.alter_object_schema_stmt_; +inline ::pg_query::TableFuncType TableFunc::_internal_functype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::TableFuncType>(_impl_.functype_); } -inline ::pg_query::AlterObjectSchemaStmt* Node::mutable_alter_object_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterObjectSchemaStmt* _msg = _internal_mutable_alter_object_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_schema_stmt) - return _msg; +inline void TableFunc::_internal_set_functype(::pg_query::TableFuncType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.functype_ = value; } -// .pg_query.AlterOwnerStmt alter_owner_stmt = 196 [json_name = "AlterOwnerStmt"]; -inline bool Node::has_alter_owner_stmt() const { - return node_case() == kAlterOwnerStmt; -} -inline bool Node::_internal_has_alter_owner_stmt() const { - return node_case() == kAlterOwnerStmt; +// repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"]; +inline int TableFunc::_internal_ns_uris_size() const { + return _internal_ns_uris().size(); } -inline void Node::set_has_alter_owner_stmt() { - _impl_._oneof_case_[0] = kAlterOwnerStmt; +inline int TableFunc::ns_uris_size() const { + return _internal_ns_uris_size(); } -inline void Node::clear_alter_owner_stmt() { +inline void TableFunc::clear_ns_uris() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterOwnerStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_owner_stmt_; - } - clear_has_node(); - } + _impl_.ns_uris_.Clear(); } -inline ::pg_query::AlterOwnerStmt* Node::release_alter_owner_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_owner_stmt) - if (node_case() == kAlterOwnerStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_owner_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_owner_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_ns_uris(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_uris) + return _internal_mutable_ns_uris()->Mutable(index); } -inline const ::pg_query::AlterOwnerStmt& Node::_internal_alter_owner_stmt() const { - return node_case() == kAlterOwnerStmt ? *_impl_.node_.alter_owner_stmt_ : reinterpret_cast<::pg_query::AlterOwnerStmt&>(::pg_query::_AlterOwnerStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_uris() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_uris) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ns_uris(); } -inline const ::pg_query::AlterOwnerStmt& Node::alter_owner_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_owner_stmt) - return _internal_alter_owner_stmt(); +inline const ::pg_query::Node& TableFunc::ns_uris(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_uris) + return _internal_ns_uris().Get(index); } -inline ::pg_query::AlterOwnerStmt* Node::unsafe_arena_release_alter_owner_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_owner_stmt) - if (node_case() == kAlterOwnerStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_owner_stmt_; - _impl_.node_.alter_owner_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_ns_uris() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ns_uris()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_uris) + return _add; } -inline void Node::unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_owner_stmt(); - _impl_.node_.alter_owner_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_owner_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_uris() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_uris) + return _internal_ns_uris(); } -inline ::pg_query::AlterOwnerStmt* Node::_internal_mutable_alter_owner_stmt() { - if (node_case() != kAlterOwnerStmt) { - clear_node(); - set_has_alter_owner_stmt(); - _impl_.node_.alter_owner_stmt_ = CreateMaybeMessage<::pg_query::AlterOwnerStmt>(GetArena()); - } - return _impl_.node_.alter_owner_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_ns_uris() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ns_uris_; } -inline ::pg_query::AlterOwnerStmt* Node::mutable_alter_owner_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterOwnerStmt* _msg = _internal_mutable_alter_owner_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_owner_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_ns_uris() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ns_uris_; } -// .pg_query.AlterOperatorStmt alter_operator_stmt = 197 [json_name = "AlterOperatorStmt"]; -inline bool Node::has_alter_operator_stmt() const { - return node_case() == kAlterOperatorStmt; -} -inline bool Node::_internal_has_alter_operator_stmt() const { - return node_case() == kAlterOperatorStmt; +// repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"]; +inline int TableFunc::_internal_ns_names_size() const { + return _internal_ns_names().size(); } -inline void Node::set_has_alter_operator_stmt() { - _impl_._oneof_case_[0] = kAlterOperatorStmt; +inline int TableFunc::ns_names_size() const { + return _internal_ns_names_size(); } -inline void Node::clear_alter_operator_stmt() { +inline void TableFunc::clear_ns_names() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterOperatorStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_operator_stmt_; - } - clear_has_node(); - } + _impl_.ns_names_.Clear(); } -inline ::pg_query::AlterOperatorStmt* Node::release_alter_operator_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_operator_stmt) - if (node_case() == kAlterOperatorStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_operator_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_operator_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_ns_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_names) + return _internal_mutable_ns_names()->Mutable(index); } -inline const ::pg_query::AlterOperatorStmt& Node::_internal_alter_operator_stmt() const { - return node_case() == kAlterOperatorStmt ? *_impl_.node_.alter_operator_stmt_ : reinterpret_cast<::pg_query::AlterOperatorStmt&>(::pg_query::_AlterOperatorStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ns_names(); } -inline const ::pg_query::AlterOperatorStmt& Node::alter_operator_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_operator_stmt) - return _internal_alter_operator_stmt(); +inline const ::pg_query::Node& TableFunc::ns_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_names) + return _internal_ns_names().Get(index); } -inline ::pg_query::AlterOperatorStmt* Node::unsafe_arena_release_alter_operator_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_operator_stmt) - if (node_case() == kAlterOperatorStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_operator_stmt_; - _impl_.node_.alter_operator_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_ns_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ns_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_names) + return _add; } -inline void Node::unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_operator_stmt(); - _impl_.node_.alter_operator_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_operator_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_names) + return _internal_ns_names(); } -inline ::pg_query::AlterOperatorStmt* Node::_internal_mutable_alter_operator_stmt() { - if (node_case() != kAlterOperatorStmt) { - clear_node(); - set_has_alter_operator_stmt(); - _impl_.node_.alter_operator_stmt_ = CreateMaybeMessage<::pg_query::AlterOperatorStmt>(GetArena()); - } - return _impl_.node_.alter_operator_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_ns_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ns_names_; } -inline ::pg_query::AlterOperatorStmt* Node::mutable_alter_operator_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterOperatorStmt* _msg = _internal_mutable_alter_operator_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_operator_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_ns_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ns_names_; } -// .pg_query.AlterTypeStmt alter_type_stmt = 198 [json_name = "AlterTypeStmt"]; -inline bool Node::has_alter_type_stmt() const { - return node_case() == kAlterTypeStmt; -} -inline bool Node::_internal_has_alter_type_stmt() const { - return node_case() == kAlterTypeStmt; -} -inline void Node::set_has_alter_type_stmt() { - _impl_._oneof_case_[0] = kAlterTypeStmt; +// .pg_query.Node docexpr = 4 [json_name = "docexpr"]; +inline bool TableFunc::has_docexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); + return value; } -inline void Node::clear_alter_type_stmt() { +inline void TableFunc::clear_docexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTypeStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_type_stmt_; - } - clear_has_node(); - } -} -inline ::pg_query::AlterTypeStmt* Node::release_alter_type_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_type_stmt) - if (node_case() == kAlterTypeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_type_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_type_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::AlterTypeStmt& Node::_internal_alter_type_stmt() const { - return node_case() == kAlterTypeStmt ? *_impl_.node_.alter_type_stmt_ : reinterpret_cast<::pg_query::AlterTypeStmt&>(::pg_query::_AlterTypeStmt_default_instance_); +inline const ::pg_query::Node& TableFunc::_internal_docexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.docexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::AlterTypeStmt& Node::alter_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_type_stmt) - return _internal_alter_type_stmt(); +inline const ::pg_query::Node& TableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.docexpr) + return _internal_docexpr(); } -inline ::pg_query::AlterTypeStmt* Node::unsafe_arena_release_alter_type_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_type_stmt) - if (node_case() == kAlterTypeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_type_stmt_; - _impl_.node_.alter_type_stmt_ = nullptr; - return temp; +inline void TableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); + } + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.docexpr) } -inline void Node::unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_type_stmt(); - _impl_.node_.alter_type_stmt_ = value; +inline ::pg_query::Node* TableFunc::release_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_type_stmt) -} -inline ::pg_query::AlterTypeStmt* Node::_internal_mutable_alter_type_stmt() { - if (node_case() != kAlterTypeStmt) { - clear_node(); - set_has_alter_type_stmt(); - _impl_.node_.alter_type_stmt_ = CreateMaybeMessage<::pg_query::AlterTypeStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.alter_type_stmt_; -} -inline ::pg_query::AlterTypeStmt* Node::mutable_alter_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTypeStmt* _msg = _internal_mutable_alter_type_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_type_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* TableFunc::unsafe_arena_release_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableFunc.docexpr) -// .pg_query.RuleStmt rule_stmt = 199 [json_name = "RuleStmt"]; -inline bool Node::has_rule_stmt() const { - return node_case() == kRuleStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_rule_stmt() const { - return node_case() == kRuleStmt; +inline ::pg_query::Node* TableFunc::_internal_mutable_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.docexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.docexpr_; } -inline void Node::set_has_rule_stmt() { - _impl_._oneof_case_[0] = kRuleStmt; +inline ::pg_query::Node* TableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_docexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.docexpr) + return _msg; } -inline void Node::clear_rule_stmt() { +inline void TableFunc::set_allocated_docexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRuleStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.rule_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); } -} -inline ::pg_query::RuleStmt* Node::release_rule_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.rule_stmt) - if (node_case() == kRuleStmt) { - clear_has_node(); - auto* temp = _impl_.node_.rule_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.rule_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.docexpr) } -inline const ::pg_query::RuleStmt& Node::_internal_rule_stmt() const { - return node_case() == kRuleStmt ? *_impl_.node_.rule_stmt_ : reinterpret_cast<::pg_query::RuleStmt&>(::pg_query::_RuleStmt_default_instance_); + +// .pg_query.Node rowexpr = 5 [json_name = "rowexpr"]; +inline bool TableFunc::has_rowexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); + return value; } -inline const ::pg_query::RuleStmt& Node::rule_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.rule_stmt) - return _internal_rule_stmt(); +inline void TableFunc::clear_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::RuleStmt* Node::unsafe_arena_release_rule_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rule_stmt) - if (node_case() == kRuleStmt) { - clear_has_node(); - auto* temp = _impl_.node_.rule_stmt_; - _impl_.node_.rule_stmt_ = nullptr; - return temp; +inline const ::pg_query::Node& TableFunc::_internal_rowexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rowexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& TableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.rowexpr) + return _internal_rowexpr(); +} +inline void TableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); + } + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.rowexpr) } -inline void Node::unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_rule_stmt(); - _impl_.node_.rule_stmt_ = value; +inline ::pg_query::Node* TableFunc::release_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rule_stmt) -} -inline ::pg_query::RuleStmt* Node::_internal_mutable_rule_stmt() { - if (node_case() != kRuleStmt) { - clear_node(); - set_has_rule_stmt(); - _impl_.node_.rule_stmt_ = CreateMaybeMessage<::pg_query::RuleStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.rule_stmt_; -} -inline ::pg_query::RuleStmt* Node::mutable_rule_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RuleStmt* _msg = _internal_mutable_rule_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.rule_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* TableFunc::unsafe_arena_release_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableFunc.rowexpr) -// .pg_query.NotifyStmt notify_stmt = 200 [json_name = "NotifyStmt"]; -inline bool Node::has_notify_stmt() const { - return node_case() == kNotifyStmt; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_notify_stmt() const { - return node_case() == kNotifyStmt; +inline ::pg_query::Node* TableFunc::_internal_mutable_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rowexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.rowexpr_; } -inline void Node::set_has_notify_stmt() { - _impl_._oneof_case_[0] = kNotifyStmt; +inline ::pg_query::Node* TableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rowexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.rowexpr) + return _msg; } -inline void Node::clear_notify_stmt() { +inline void TableFunc::set_allocated_rowexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kNotifyStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.notify_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); } -} -inline ::pg_query::NotifyStmt* Node::release_notify_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.notify_stmt) - if (node_case() == kNotifyStmt) { - clear_has_node(); - auto* temp = _impl_.node_.notify_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.notify_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.rowexpr) } -inline const ::pg_query::NotifyStmt& Node::_internal_notify_stmt() const { - return node_case() == kNotifyStmt ? *_impl_.node_.notify_stmt_ : reinterpret_cast<::pg_query::NotifyStmt&>(::pg_query::_NotifyStmt_default_instance_); + +// repeated .pg_query.Node colnames = 6 [json_name = "colnames"]; +inline int TableFunc::_internal_colnames_size() const { + return _internal_colnames().size(); } -inline const ::pg_query::NotifyStmt& Node::notify_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.notify_stmt) - return _internal_notify_stmt(); +inline int TableFunc::colnames_size() const { + return _internal_colnames_size(); } -inline ::pg_query::NotifyStmt* Node::unsafe_arena_release_notify_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.notify_stmt) - if (node_case() == kNotifyStmt) { - clear_has_node(); - auto* temp = _impl_.node_.notify_stmt_; - _impl_.node_.notify_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void TableFunc::clear_colnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colnames_.Clear(); } -inline void Node::unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_notify_stmt(); - _impl_.node_.notify_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.notify_stmt) +inline ::pg_query::Node* TableFunc::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colnames) + return _internal_mutable_colnames()->Mutable(index); } -inline ::pg_query::NotifyStmt* Node::_internal_mutable_notify_stmt() { - if (node_case() != kNotifyStmt) { - clear_node(); - set_has_notify_stmt(); - _impl_.node_.notify_stmt_ = CreateMaybeMessage<::pg_query::NotifyStmt>(GetArena()); - } - return _impl_.node_.notify_stmt_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colnames(); } -inline ::pg_query::NotifyStmt* Node::mutable_notify_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::NotifyStmt* _msg = _internal_mutable_notify_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.notify_stmt) - return _msg; +inline const ::pg_query::Node& TableFunc::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colnames) + return _internal_colnames().Get(index); } - -// .pg_query.ListenStmt listen_stmt = 201 [json_name = "ListenStmt"]; -inline bool Node::has_listen_stmt() const { - return node_case() == kListenStmt; +inline ::pg_query::Node* TableFunc::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colnames) + return _add; } -inline bool Node::_internal_has_listen_stmt() const { - return node_case() == kListenStmt; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colnames) + return _internal_colnames(); } -inline void Node::set_has_listen_stmt() { - _impl_._oneof_case_[0] = kListenStmt; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colnames_; } -inline void Node::clear_listen_stmt() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colnames_; +} + +// repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"]; +inline int TableFunc::_internal_coltypes_size() const { + return _internal_coltypes().size(); +} +inline int TableFunc::coltypes_size() const { + return _internal_coltypes_size(); +} +inline void TableFunc::clear_coltypes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kListenStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.listen_stmt_; - } - clear_has_node(); - } + _impl_.coltypes_.Clear(); } -inline ::pg_query::ListenStmt* Node::release_listen_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.listen_stmt) - if (node_case() == kListenStmt) { - clear_has_node(); - auto* temp = _impl_.node_.listen_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.listen_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_coltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypes) + return _internal_mutable_coltypes()->Mutable(index); } -inline const ::pg_query::ListenStmt& Node::_internal_listen_stmt() const { - return node_case() == kListenStmt ? *_impl_.node_.listen_stmt_ : reinterpret_cast<::pg_query::ListenStmt&>(::pg_query::_ListenStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypes(); } -inline const ::pg_query::ListenStmt& Node::listen_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.listen_stmt) - return _internal_listen_stmt(); +inline const ::pg_query::Node& TableFunc::coltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypes) + return _internal_coltypes().Get(index); } -inline ::pg_query::ListenStmt* Node::unsafe_arena_release_listen_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.listen_stmt) - if (node_case() == kListenStmt) { - clear_has_node(); - auto* temp = _impl_.node_.listen_stmt_; - _impl_.node_.listen_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypes) + return _add; } -inline void Node::unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_listen_stmt(); - _impl_.node_.listen_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.listen_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypes) + return _internal_coltypes(); } -inline ::pg_query::ListenStmt* Node::_internal_mutable_listen_stmt() { - if (node_case() != kListenStmt) { - clear_node(); - set_has_listen_stmt(); - _impl_.node_.listen_stmt_ = CreateMaybeMessage<::pg_query::ListenStmt>(GetArena()); - } - return _impl_.node_.listen_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coltypes_; } -inline ::pg_query::ListenStmt* Node::mutable_listen_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ListenStmt* _msg = _internal_mutable_listen_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.listen_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypes_; } -// .pg_query.UnlistenStmt unlisten_stmt = 202 [json_name = "UnlistenStmt"]; -inline bool Node::has_unlisten_stmt() const { - return node_case() == kUnlistenStmt; -} -inline bool Node::_internal_has_unlisten_stmt() const { - return node_case() == kUnlistenStmt; +// repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"]; +inline int TableFunc::_internal_coltypmods_size() const { + return _internal_coltypmods().size(); } -inline void Node::set_has_unlisten_stmt() { - _impl_._oneof_case_[0] = kUnlistenStmt; +inline int TableFunc::coltypmods_size() const { + return _internal_coltypmods_size(); } -inline void Node::clear_unlisten_stmt() { +inline void TableFunc::clear_coltypmods() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kUnlistenStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.unlisten_stmt_; - } - clear_has_node(); - } + _impl_.coltypmods_.Clear(); } -inline ::pg_query::UnlistenStmt* Node::release_unlisten_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.unlisten_stmt) - if (node_case() == kUnlistenStmt) { - clear_has_node(); - auto* temp = _impl_.node_.unlisten_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.unlisten_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_coltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypmods) + return _internal_mutable_coltypmods()->Mutable(index); } -inline const ::pg_query::UnlistenStmt& Node::_internal_unlisten_stmt() const { - return node_case() == kUnlistenStmt ? *_impl_.node_.unlisten_stmt_ : reinterpret_cast<::pg_query::UnlistenStmt&>(::pg_query::_UnlistenStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypmods(); } -inline const ::pg_query::UnlistenStmt& Node::unlisten_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.unlisten_stmt) - return _internal_unlisten_stmt(); +inline const ::pg_query::Node& TableFunc::coltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypmods) + return _internal_coltypmods().Get(index); } -inline ::pg_query::UnlistenStmt* Node::unsafe_arena_release_unlisten_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.unlisten_stmt) - if (node_case() == kUnlistenStmt) { - clear_has_node(); - auto* temp = _impl_.node_.unlisten_stmt_; - _impl_.node_.unlisten_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypmods) + return _add; } -inline void Node::unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_unlisten_stmt(); - _impl_.node_.unlisten_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.unlisten_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypmods) + return _internal_coltypmods(); } -inline ::pg_query::UnlistenStmt* Node::_internal_mutable_unlisten_stmt() { - if (node_case() != kUnlistenStmt) { - clear_node(); - set_has_unlisten_stmt(); - _impl_.node_.unlisten_stmt_ = CreateMaybeMessage<::pg_query::UnlistenStmt>(GetArena()); - } - return _impl_.node_.unlisten_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coltypmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coltypmods_; } -inline ::pg_query::UnlistenStmt* Node::mutable_unlisten_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::UnlistenStmt* _msg = _internal_mutable_unlisten_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.unlisten_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypmods_; } -// .pg_query.TransactionStmt transaction_stmt = 203 [json_name = "TransactionStmt"]; -inline bool Node::has_transaction_stmt() const { - return node_case() == kTransactionStmt; -} -inline bool Node::_internal_has_transaction_stmt() const { - return node_case() == kTransactionStmt; +// repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"]; +inline int TableFunc::_internal_colcollations_size() const { + return _internal_colcollations().size(); } -inline void Node::set_has_transaction_stmt() { - _impl_._oneof_case_[0] = kTransactionStmt; +inline int TableFunc::colcollations_size() const { + return _internal_colcollations_size(); } -inline void Node::clear_transaction_stmt() { +inline void TableFunc::clear_colcollations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kTransactionStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.transaction_stmt_; - } - clear_has_node(); - } + _impl_.colcollations_.Clear(); } -inline ::pg_query::TransactionStmt* Node::release_transaction_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.transaction_stmt) - if (node_case() == kTransactionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.transaction_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.transaction_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_colcollations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colcollations) + return _internal_mutable_colcollations()->Mutable(index); } -inline const ::pg_query::TransactionStmt& Node::_internal_transaction_stmt() const { - return node_case() == kTransactionStmt ? *_impl_.node_.transaction_stmt_ : reinterpret_cast<::pg_query::TransactionStmt&>(::pg_query::_TransactionStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colcollations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colcollations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colcollations(); } -inline const ::pg_query::TransactionStmt& Node::transaction_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.transaction_stmt) - return _internal_transaction_stmt(); +inline const ::pg_query::Node& TableFunc::colcollations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colcollations) + return _internal_colcollations().Get(index); } -inline ::pg_query::TransactionStmt* Node::unsafe_arena_release_transaction_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.transaction_stmt) - if (node_case() == kTransactionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.transaction_stmt_; - _impl_.node_.transaction_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colcollations) + return _add; } -inline void Node::unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_transaction_stmt(); - _impl_.node_.transaction_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.transaction_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colcollations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colcollations) + return _internal_colcollations(); } -inline ::pg_query::TransactionStmt* Node::_internal_mutable_transaction_stmt() { - if (node_case() != kTransactionStmt) { - clear_node(); - set_has_transaction_stmt(); - _impl_.node_.transaction_stmt_ = CreateMaybeMessage<::pg_query::TransactionStmt>(GetArena()); - } - return _impl_.node_.transaction_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colcollations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colcollations_; } -inline ::pg_query::TransactionStmt* Node::mutable_transaction_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TransactionStmt* _msg = _internal_mutable_transaction_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.transaction_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colcollations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colcollations_; } -// .pg_query.CompositeTypeStmt composite_type_stmt = 204 [json_name = "CompositeTypeStmt"]; -inline bool Node::has_composite_type_stmt() const { - return node_case() == kCompositeTypeStmt; -} -inline bool Node::_internal_has_composite_type_stmt() const { - return node_case() == kCompositeTypeStmt; +// repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"]; +inline int TableFunc::_internal_colexprs_size() const { + return _internal_colexprs().size(); } -inline void Node::set_has_composite_type_stmt() { - _impl_._oneof_case_[0] = kCompositeTypeStmt; +inline int TableFunc::colexprs_size() const { + return _internal_colexprs_size(); } -inline void Node::clear_composite_type_stmt() { +inline void TableFunc::clear_colexprs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCompositeTypeStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.composite_type_stmt_; - } - clear_has_node(); - } + _impl_.colexprs_.Clear(); } -inline ::pg_query::CompositeTypeStmt* Node::release_composite_type_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.composite_type_stmt) - if (node_case() == kCompositeTypeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.composite_type_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.composite_type_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_colexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colexprs) + return _internal_mutable_colexprs()->Mutable(index); } -inline const ::pg_query::CompositeTypeStmt& Node::_internal_composite_type_stmt() const { - return node_case() == kCompositeTypeStmt ? *_impl_.node_.composite_type_stmt_ : reinterpret_cast<::pg_query::CompositeTypeStmt&>(::pg_query::_CompositeTypeStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colexprs(); } -inline const ::pg_query::CompositeTypeStmt& Node::composite_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.composite_type_stmt) - return _internal_composite_type_stmt(); +inline const ::pg_query::Node& TableFunc::colexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colexprs) + return _internal_colexprs().Get(index); } -inline ::pg_query::CompositeTypeStmt* Node::unsafe_arena_release_composite_type_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.composite_type_stmt) - if (node_case() == kCompositeTypeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.composite_type_stmt_; - _impl_.node_.composite_type_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_colexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colexprs) + return _add; } -inline void Node::unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_composite_type_stmt(); - _impl_.node_.composite_type_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.composite_type_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colexprs) + return _internal_colexprs(); } -inline ::pg_query::CompositeTypeStmt* Node::_internal_mutable_composite_type_stmt() { - if (node_case() != kCompositeTypeStmt) { - clear_node(); - set_has_composite_type_stmt(); - _impl_.node_.composite_type_stmt_ = CreateMaybeMessage<::pg_query::CompositeTypeStmt>(GetArena()); - } - return _impl_.node_.composite_type_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colexprs_; } -inline ::pg_query::CompositeTypeStmt* Node::mutable_composite_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CompositeTypeStmt* _msg = _internal_mutable_composite_type_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.composite_type_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colexprs_; } -// .pg_query.CreateEnumStmt create_enum_stmt = 205 [json_name = "CreateEnumStmt"]; -inline bool Node::has_create_enum_stmt() const { - return node_case() == kCreateEnumStmt; -} -inline bool Node::_internal_has_create_enum_stmt() const { - return node_case() == kCreateEnumStmt; -} -inline void Node::set_has_create_enum_stmt() { - _impl_._oneof_case_[0] = kCreateEnumStmt; +// repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"]; +inline int TableFunc::_internal_coldefexprs_size() const { + return _internal_coldefexprs().size(); } -inline void Node::clear_create_enum_stmt() { +inline int TableFunc::coldefexprs_size() const { + return _internal_coldefexprs_size(); +} +inline void TableFunc::clear_coldefexprs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateEnumStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_enum_stmt_; - } - clear_has_node(); - } + _impl_.coldefexprs_.Clear(); } -inline ::pg_query::CreateEnumStmt* Node::release_create_enum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_enum_stmt) - if (node_case() == kCreateEnumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_enum_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_enum_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_coldefexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coldefexprs) + return _internal_mutable_coldefexprs()->Mutable(index); } -inline const ::pg_query::CreateEnumStmt& Node::_internal_create_enum_stmt() const { - return node_case() == kCreateEnumStmt ? *_impl_.node_.create_enum_stmt_ : reinterpret_cast<::pg_query::CreateEnumStmt&>(::pg_query::_CreateEnumStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coldefexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coldefexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coldefexprs(); } -inline const ::pg_query::CreateEnumStmt& Node::create_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_enum_stmt) - return _internal_create_enum_stmt(); +inline const ::pg_query::Node& TableFunc::coldefexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.coldefexprs) + return _internal_coldefexprs().Get(index); } -inline ::pg_query::CreateEnumStmt* Node::unsafe_arena_release_create_enum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_enum_stmt) - if (node_case() == kCreateEnumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_enum_stmt_; - _impl_.node_.create_enum_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_coldefexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coldefexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.coldefexprs) + return _add; } -inline void Node::unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_enum_stmt(); - _impl_.node_.create_enum_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_enum_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coldefexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.coldefexprs) + return _internal_coldefexprs(); } -inline ::pg_query::CreateEnumStmt* Node::_internal_mutable_create_enum_stmt() { - if (node_case() != kCreateEnumStmt) { - clear_node(); - set_has_create_enum_stmt(); - _impl_.node_.create_enum_stmt_ = CreateMaybeMessage<::pg_query::CreateEnumStmt>(GetArena()); - } - return _impl_.node_.create_enum_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coldefexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coldefexprs_; } -inline ::pg_query::CreateEnumStmt* Node::mutable_create_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateEnumStmt* _msg = _internal_mutable_create_enum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_enum_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coldefexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coldefexprs_; } -// .pg_query.CreateRangeStmt create_range_stmt = 206 [json_name = "CreateRangeStmt"]; -inline bool Node::has_create_range_stmt() const { - return node_case() == kCreateRangeStmt; -} -inline bool Node::_internal_has_create_range_stmt() const { - return node_case() == kCreateRangeStmt; +// repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"]; +inline int TableFunc::_internal_colvalexprs_size() const { + return _internal_colvalexprs().size(); } -inline void Node::set_has_create_range_stmt() { - _impl_._oneof_case_[0] = kCreateRangeStmt; +inline int TableFunc::colvalexprs_size() const { + return _internal_colvalexprs_size(); } -inline void Node::clear_create_range_stmt() { +inline void TableFunc::clear_colvalexprs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateRangeStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_range_stmt_; - } - clear_has_node(); - } + _impl_.colvalexprs_.Clear(); } -inline ::pg_query::CreateRangeStmt* Node::release_create_range_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_range_stmt) - if (node_case() == kCreateRangeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_range_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_range_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_colvalexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colvalexprs) + return _internal_mutable_colvalexprs()->Mutable(index); } -inline const ::pg_query::CreateRangeStmt& Node::_internal_create_range_stmt() const { - return node_case() == kCreateRangeStmt ? *_impl_.node_.create_range_stmt_ : reinterpret_cast<::pg_query::CreateRangeStmt&>(::pg_query::_CreateRangeStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colvalexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colvalexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colvalexprs(); } -inline const ::pg_query::CreateRangeStmt& Node::create_range_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_range_stmt) - return _internal_create_range_stmt(); +inline const ::pg_query::Node& TableFunc::colvalexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colvalexprs) + return _internal_colvalexprs().Get(index); } -inline ::pg_query::CreateRangeStmt* Node::unsafe_arena_release_create_range_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_range_stmt) - if (node_case() == kCreateRangeStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_range_stmt_; - _impl_.node_.create_range_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_colvalexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colvalexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colvalexprs) + return _add; } -inline void Node::unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_range_stmt(); - _impl_.node_.create_range_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_range_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colvalexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colvalexprs) + return _internal_colvalexprs(); } -inline ::pg_query::CreateRangeStmt* Node::_internal_mutable_create_range_stmt() { - if (node_case() != kCreateRangeStmt) { - clear_node(); - set_has_create_range_stmt(); - _impl_.node_.create_range_stmt_ = CreateMaybeMessage<::pg_query::CreateRangeStmt>(GetArena()); - } - return _impl_.node_.create_range_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colvalexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colvalexprs_; } -inline ::pg_query::CreateRangeStmt* Node::mutable_create_range_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateRangeStmt* _msg = _internal_mutable_create_range_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_range_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colvalexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colvalexprs_; } -// .pg_query.AlterEnumStmt alter_enum_stmt = 207 [json_name = "AlterEnumStmt"]; -inline bool Node::has_alter_enum_stmt() const { - return node_case() == kAlterEnumStmt; -} -inline bool Node::_internal_has_alter_enum_stmt() const { - return node_case() == kAlterEnumStmt; +// repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"]; +inline int TableFunc::_internal_passingvalexprs_size() const { + return _internal_passingvalexprs().size(); } -inline void Node::set_has_alter_enum_stmt() { - _impl_._oneof_case_[0] = kAlterEnumStmt; +inline int TableFunc::passingvalexprs_size() const { + return _internal_passingvalexprs_size(); } -inline void Node::clear_alter_enum_stmt() { +inline void TableFunc::clear_passingvalexprs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterEnumStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_enum_stmt_; - } - clear_has_node(); - } + _impl_.passingvalexprs_.Clear(); } -inline ::pg_query::AlterEnumStmt* Node::release_alter_enum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_enum_stmt) - if (node_case() == kAlterEnumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_enum_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_enum_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::mutable_passingvalexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.passingvalexprs) + return _internal_mutable_passingvalexprs()->Mutable(index); } -inline const ::pg_query::AlterEnumStmt& Node::_internal_alter_enum_stmt() const { - return node_case() == kAlterEnumStmt ? *_impl_.node_.alter_enum_stmt_ : reinterpret_cast<::pg_query::AlterEnumStmt&>(::pg_query::_AlterEnumStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_passingvalexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.passingvalexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passingvalexprs(); } -inline const ::pg_query::AlterEnumStmt& Node::alter_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_enum_stmt) - return _internal_alter_enum_stmt(); +inline const ::pg_query::Node& TableFunc::passingvalexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.passingvalexprs) + return _internal_passingvalexprs().Get(index); } -inline ::pg_query::AlterEnumStmt* Node::unsafe_arena_release_alter_enum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_enum_stmt) - if (node_case() == kAlterEnumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_enum_stmt_; - _impl_.node_.alter_enum_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* TableFunc::add_passingvalexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passingvalexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.passingvalexprs) + return _add; } -inline void Node::unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_enum_stmt(); - _impl_.node_.alter_enum_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_enum_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::passingvalexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.passingvalexprs) + return _internal_passingvalexprs(); } -inline ::pg_query::AlterEnumStmt* Node::_internal_mutable_alter_enum_stmt() { - if (node_case() != kAlterEnumStmt) { - clear_node(); - set_has_alter_enum_stmt(); - _impl_.node_.alter_enum_stmt_ = CreateMaybeMessage<::pg_query::AlterEnumStmt>(GetArena()); - } - return _impl_.node_.alter_enum_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_passingvalexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passingvalexprs_; } -inline ::pg_query::AlterEnumStmt* Node::mutable_alter_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterEnumStmt* _msg = _internal_mutable_alter_enum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_enum_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_passingvalexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passingvalexprs_; } -// .pg_query.ViewStmt view_stmt = 208 [json_name = "ViewStmt"]; -inline bool Node::has_view_stmt() const { - return node_case() == kViewStmt; -} -inline bool Node::_internal_has_view_stmt() const { - return node_case() == kViewStmt; +// repeated uint64 notnulls = 14 [json_name = "notnulls"]; +inline int TableFunc::_internal_notnulls_size() const { + return _internal_notnulls().size(); } -inline void Node::set_has_view_stmt() { - _impl_._oneof_case_[0] = kViewStmt; +inline int TableFunc::notnulls_size() const { + return _internal_notnulls_size(); } -inline void Node::clear_view_stmt() { +inline void TableFunc::clear_notnulls() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kViewStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.view_stmt_; - } - clear_has_node(); - } + _impl_.notnulls_.Clear(); } -inline ::pg_query::ViewStmt* Node::release_view_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.view_stmt) - if (node_case() == kViewStmt) { - clear_has_node(); - auto* temp = _impl_.node_.view_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.view_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint64_t TableFunc::notnulls(int index) const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.notnulls) + return _internal_notnulls().Get(index); } -inline const ::pg_query::ViewStmt& Node::_internal_view_stmt() const { - return node_case() == kViewStmt ? *_impl_.node_.view_stmt_ : reinterpret_cast<::pg_query::ViewStmt&>(::pg_query::_ViewStmt_default_instance_); +inline void TableFunc::set_notnulls(int index, ::uint64_t value) { + _internal_mutable_notnulls()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.notnulls) } -inline const ::pg_query::ViewStmt& Node::view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.view_stmt) - return _internal_view_stmt(); +inline void TableFunc::add_notnulls(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_notnulls()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.notnulls) } -inline ::pg_query::ViewStmt* Node::unsafe_arena_release_view_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.view_stmt) - if (node_case() == kViewStmt) { - clear_has_node(); - auto* temp = _impl_.node_.view_stmt_; - _impl_.node_.view_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::notnulls() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.notnulls) + return _internal_notnulls(); } -inline void Node::unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_view_stmt(); - _impl_.node_.view_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.view_stmt) +inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::mutable_notnulls() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.notnulls) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_notnulls(); } -inline ::pg_query::ViewStmt* Node::_internal_mutable_view_stmt() { - if (node_case() != kViewStmt) { - clear_node(); - set_has_view_stmt(); - _impl_.node_.view_stmt_ = CreateMaybeMessage<::pg_query::ViewStmt>(GetArena()); - } - return _impl_.node_.view_stmt_; +inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::_internal_notnulls() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.notnulls_; } -inline ::pg_query::ViewStmt* Node::mutable_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ViewStmt* _msg = _internal_mutable_view_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.view_stmt) - return _msg; +inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::_internal_mutable_notnulls() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.notnulls_; } -// .pg_query.LoadStmt load_stmt = 209 [json_name = "LoadStmt"]; -inline bool Node::has_load_stmt() const { - return node_case() == kLoadStmt; -} -inline bool Node::_internal_has_load_stmt() const { - return node_case() == kLoadStmt; -} -inline void Node::set_has_load_stmt() { - _impl_._oneof_case_[0] = kLoadStmt; +// .pg_query.Node plan = 15 [json_name = "plan"]; +inline bool TableFunc::has_plan() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); + return value; } -inline void Node::clear_load_stmt() { +inline void TableFunc::clear_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kLoadStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.load_stmt_; - } - clear_has_node(); - } -} -inline ::pg_query::LoadStmt* Node::release_load_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.load_stmt) - if (node_case() == kLoadStmt) { - clear_has_node(); - auto* temp = _impl_.node_.load_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.load_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::LoadStmt& Node::_internal_load_stmt() const { - return node_case() == kLoadStmt ? *_impl_.node_.load_stmt_ : reinterpret_cast<::pg_query::LoadStmt&>(::pg_query::_LoadStmt_default_instance_); +inline const ::pg_query::Node& TableFunc::_internal_plan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.plan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::LoadStmt& Node::load_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.load_stmt) - return _internal_load_stmt(); +inline const ::pg_query::Node& TableFunc::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.plan) + return _internal_plan(); } -inline ::pg_query::LoadStmt* Node::unsafe_arena_release_load_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.load_stmt) - if (node_case() == kLoadStmt) { - clear_has_node(); - auto* temp = _impl_.node_.load_stmt_; - _impl_.node_.load_stmt_ = nullptr; - return temp; +inline void TableFunc::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); + } + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.plan) } -inline void Node::unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_load_stmt(); - _impl_.node_.load_stmt_ = value; +inline ::pg_query::Node* TableFunc::release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.load_stmt) -} -inline ::pg_query::LoadStmt* Node::_internal_mutable_load_stmt() { - if (node_case() != kLoadStmt) { - clear_node(); - set_has_load_stmt(); - _impl_.node_.load_stmt_ = CreateMaybeMessage<::pg_query::LoadStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.load_stmt_; -} -inline ::pg_query::LoadStmt* Node::mutable_load_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::LoadStmt* _msg = _internal_mutable_load_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.load_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* TableFunc::unsafe_arena_release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableFunc.plan) -// .pg_query.CreatedbStmt createdb_stmt = 210 [json_name = "CreatedbStmt"]; -inline bool Node::has_createdb_stmt() const { - return node_case() == kCreatedbStmt; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; + return temp; } -inline bool Node::_internal_has_createdb_stmt() const { - return node_case() == kCreatedbStmt; +inline ::pg_query::Node* TableFunc::_internal_mutable_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.plan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.plan_; } -inline void Node::set_has_createdb_stmt() { - _impl_._oneof_case_[0] = kCreatedbStmt; +inline ::pg_query::Node* TableFunc::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.plan) + return _msg; } -inline void Node::clear_createdb_stmt() { +inline void TableFunc::set_allocated_plan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreatedbStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.createdb_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); } -} -inline ::pg_query::CreatedbStmt* Node::release_createdb_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.createdb_stmt) - if (node_case() == kCreatedbStmt) { - clear_has_node(); - auto* temp = _impl_.node_.createdb_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.createdb_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000004u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; } + + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.plan) } -inline const ::pg_query::CreatedbStmt& Node::_internal_createdb_stmt() const { - return node_case() == kCreatedbStmt ? *_impl_.node_.createdb_stmt_ : reinterpret_cast<::pg_query::CreatedbStmt&>(::pg_query::_CreatedbStmt_default_instance_); -} -inline const ::pg_query::CreatedbStmt& Node::createdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.createdb_stmt) - return _internal_createdb_stmt(); + +// int32 ordinalitycol = 16 [json_name = "ordinalitycol"]; +inline void TableFunc::clear_ordinalitycol() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ordinalitycol_ = 0; } -inline ::pg_query::CreatedbStmt* Node::unsafe_arena_release_createdb_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.createdb_stmt) - if (node_case() == kCreatedbStmt) { - clear_has_node(); - auto* temp = _impl_.node_.createdb_stmt_; - _impl_.node_.createdb_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t TableFunc::ordinalitycol() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.ordinalitycol) + return _internal_ordinalitycol(); } -inline void Node::unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_createdb_stmt(); - _impl_.node_.createdb_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.createdb_stmt) +inline void TableFunc::set_ordinalitycol(::int32_t value) { + _internal_set_ordinalitycol(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.ordinalitycol) } -inline ::pg_query::CreatedbStmt* Node::_internal_mutable_createdb_stmt() { - if (node_case() != kCreatedbStmt) { - clear_node(); - set_has_createdb_stmt(); - _impl_.node_.createdb_stmt_ = CreateMaybeMessage<::pg_query::CreatedbStmt>(GetArena()); - } - return _impl_.node_.createdb_stmt_; +inline ::int32_t TableFunc::_internal_ordinalitycol() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ordinalitycol_; } -inline ::pg_query::CreatedbStmt* Node::mutable_createdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreatedbStmt* _msg = _internal_mutable_createdb_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.createdb_stmt) - return _msg; +inline void TableFunc::_internal_set_ordinalitycol(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ordinalitycol_ = value; } -// .pg_query.AlterDatabaseStmt alter_database_stmt = 211 [json_name = "AlterDatabaseStmt"]; -inline bool Node::has_alter_database_stmt() const { - return node_case() == kAlterDatabaseStmt; +// int32 location = 17 [json_name = "location"]; +inline void TableFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool Node::_internal_has_alter_database_stmt() const { - return node_case() == kAlterDatabaseStmt; +inline ::int32_t TableFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.location) + return _internal_location(); } -inline void Node::set_has_alter_database_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseStmt; +inline void TableFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.location) } -inline void Node::clear_alter_database_stmt() { +inline ::int32_t TableFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void TableFunc::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterDatabaseStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_database_stmt_; - } - clear_has_node(); - } + ; + _impl_.location_ = value; } -inline ::pg_query::AlterDatabaseStmt* Node::release_alter_database_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_stmt) - if (node_case() == kAlterDatabaseStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_database_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// ------------------------------------------------------------------- + +// IntoClause + +// .pg_query.RangeVar rel = 1 [json_name = "rel"]; +inline bool IntoClause::has_rel() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rel_ != nullptr); + return value; } -inline const ::pg_query::AlterDatabaseStmt& Node::_internal_alter_database_stmt() const { - return node_case() == kAlterDatabaseStmt ? *_impl_.node_.alter_database_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseStmt&>(::pg_query::_AlterDatabaseStmt_default_instance_); +inline void IntoClause::clear_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rel_ != nullptr) _impl_.rel_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::AlterDatabaseStmt& Node::alter_database_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_stmt) - return _internal_alter_database_stmt(); +inline const ::pg_query::RangeVar& IntoClause::_internal_rel() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.rel_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::pg_query::AlterDatabaseStmt* Node::unsafe_arena_release_alter_database_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_stmt) - if (node_case() == kAlterDatabaseStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_stmt_; - _impl_.node_.alter_database_stmt_ = nullptr; - return temp; +inline const ::pg_query::RangeVar& IntoClause::rel() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.rel) + return _internal_rel(); +} +inline void IntoClause::unsafe_arena_set_allocated_rel(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rel_); + } + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.rel) } -inline void Node::unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_database_stmt(); - _impl_.node_.alter_database_stmt_ = value; +inline ::pg_query::RangeVar* IntoClause::release_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.rel_; + _impl_.rel_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_stmt) -} -inline ::pg_query::AlterDatabaseStmt* Node::_internal_mutable_alter_database_stmt() { - if (node_case() != kAlterDatabaseStmt) { - clear_node(); - set_has_alter_database_stmt(); - _impl_.node_.alter_database_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.alter_database_stmt_; -} -inline ::pg_query::AlterDatabaseStmt* Node::mutable_alter_database_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterDatabaseStmt* _msg = _internal_mutable_alter_database_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::RangeVar* IntoClause::unsafe_arena_release_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.rel) -// .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 212 [json_name = "AlterDatabaseRefreshCollStmt"]; -inline bool Node::has_alter_database_refresh_coll_stmt() const { - return node_case() == kAlterDatabaseRefreshCollStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.rel_; + _impl_.rel_ = nullptr; + return temp; } -inline bool Node::_internal_has_alter_database_refresh_coll_stmt() const { - return node_case() == kAlterDatabaseRefreshCollStmt; +inline ::pg_query::RangeVar* IntoClause::_internal_mutable_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.rel_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.rel_; } -inline void Node::set_has_alter_database_refresh_coll_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseRefreshCollStmt; +inline ::pg_query::RangeVar* IntoClause::mutable_rel() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_rel(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.rel) + return _msg; } -inline void Node::clear_alter_database_refresh_coll_stmt() { +inline void IntoClause::set_allocated_rel(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterDatabaseRefreshCollStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_database_refresh_coll_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.rel_); } -} -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::release_alter_database_refresh_coll_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_refresh_coll_stmt) - if (node_case() == kAlterDatabaseRefreshCollStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.rel) } -inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::_internal_alter_database_refresh_coll_stmt() const { - return node_case() == kAlterDatabaseRefreshCollStmt ? *_impl_.node_.alter_database_refresh_coll_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseRefreshCollStmt&>(::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_); + +// repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; +inline int IntoClause::_internal_col_names_size() const { + return _internal_col_names().size(); } -inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::alter_database_refresh_coll_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_refresh_coll_stmt) - return _internal_alter_database_refresh_coll_stmt(); +inline int IntoClause::col_names_size() const { + return _internal_col_names_size(); } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::unsafe_arena_release_alter_database_refresh_coll_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_refresh_coll_stmt) - if (node_case() == kAlterDatabaseRefreshCollStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; - _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void IntoClause::clear_col_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_names_.Clear(); } -inline void Node::unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_database_refresh_coll_stmt(); - _impl_.node_.alter_database_refresh_coll_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt) +inline ::pg_query::Node* IntoClause::mutable_col_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.col_names) + return _internal_mutable_col_names()->Mutable(index); } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::_internal_mutable_alter_database_refresh_coll_stmt() { - if (node_case() != kAlterDatabaseRefreshCollStmt) { - clear_node(); - set_has_alter_database_refresh_coll_stmt(); - _impl_.node_.alter_database_refresh_coll_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseRefreshCollStmt>(GetArena()); - } - return _impl_.node_.alter_database_refresh_coll_stmt_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_col_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.col_names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_col_names(); } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::mutable_alter_database_refresh_coll_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterDatabaseRefreshCollStmt* _msg = _internal_mutable_alter_database_refresh_coll_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_refresh_coll_stmt) - return _msg; +inline const ::pg_query::Node& IntoClause::col_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.col_names) + return _internal_col_names().Get(index); } - -// .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 213 [json_name = "AlterDatabaseSetStmt"]; -inline bool Node::has_alter_database_set_stmt() const { - return node_case() == kAlterDatabaseSetStmt; +inline ::pg_query::Node* IntoClause::add_col_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_col_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IntoClause.col_names) + return _add; } -inline bool Node::_internal_has_alter_database_set_stmt() const { - return node_case() == kAlterDatabaseSetStmt; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::col_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IntoClause.col_names) + return _internal_col_names(); } -inline void Node::set_has_alter_database_set_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseSetStmt; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntoClause::_internal_col_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_names_; } -inline void Node::clear_alter_database_set_stmt() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntoClause::_internal_mutable_col_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.col_names_; +} + +// string access_method = 3 [json_name = "accessMethod"]; +inline void IntoClause::clear_access_method() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterDatabaseSetStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_database_set_stmt_; - } - clear_has_node(); - } + _impl_.access_method_.ClearToEmpty(); } -inline ::pg_query::AlterDatabaseSetStmt* Node::release_alter_database_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_set_stmt) - if (node_case() == kAlterDatabaseSetStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_set_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_database_set_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const std::string& IntoClause::access_method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.access_method) + return _internal_access_method(); } -inline const ::pg_query::AlterDatabaseSetStmt& Node::_internal_alter_database_set_stmt() const { - return node_case() == kAlterDatabaseSetStmt ? *_impl_.node_.alter_database_set_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseSetStmt&>(::pg_query::_AlterDatabaseSetStmt_default_instance_); +template +inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_access_method(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.access_method) } -inline const ::pg_query::AlterDatabaseSetStmt& Node::alter_database_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_set_stmt) - return _internal_alter_database_set_stmt(); +inline std::string* IntoClause::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_access_method(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.access_method) + return _s; } -inline ::pg_query::AlterDatabaseSetStmt* Node::unsafe_arena_release_alter_database_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_set_stmt) - if (node_case() == kAlterDatabaseSetStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_database_set_stmt_; - _impl_.node_.alter_database_set_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const std::string& IntoClause::_internal_access_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.access_method_.Get(); } -inline void Node::unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_database_set_stmt(); - _impl_.node_.alter_database_set_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_set_stmt) +inline void IntoClause::_internal_set_access_method(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(value, GetArena()); } -inline ::pg_query::AlterDatabaseSetStmt* Node::_internal_mutable_alter_database_set_stmt() { - if (node_case() != kAlterDatabaseSetStmt) { - clear_node(); - set_has_alter_database_set_stmt(); - _impl_.node_.alter_database_set_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseSetStmt>(GetArena()); - } - return _impl_.node_.alter_database_set_stmt_; +inline std::string* IntoClause::_internal_mutable_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.access_method_.Mutable( GetArena()); } -inline ::pg_query::AlterDatabaseSetStmt* Node::mutable_alter_database_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterDatabaseSetStmt* _msg = _internal_mutable_alter_database_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_set_stmt) - return _msg; +inline std::string* IntoClause::release_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.access_method) + return _impl_.access_method_.Release(); } - -// .pg_query.DropdbStmt dropdb_stmt = 214 [json_name = "DropdbStmt"]; -inline bool Node::has_dropdb_stmt() const { - return node_case() == kDropdbStmt; +inline void IntoClause::set_allocated_access_method(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.access_method_.IsDefault()) { + _impl_.access_method_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.access_method) } -inline bool Node::_internal_has_dropdb_stmt() const { - return node_case() == kDropdbStmt; + +// repeated .pg_query.Node options = 4 [json_name = "options"]; +inline int IntoClause::_internal_options_size() const { + return _internal_options().size(); } -inline void Node::set_has_dropdb_stmt() { - _impl_._oneof_case_[0] = kDropdbStmt; +inline int IntoClause::options_size() const { + return _internal_options_size(); } -inline void Node::clear_dropdb_stmt() { +inline void IntoClause::clear_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropdbStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.dropdb_stmt_; - } - clear_has_node(); - } + _impl_.options_.Clear(); } -inline ::pg_query::DropdbStmt* Node::release_dropdb_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.dropdb_stmt) - if (node_case() == kDropdbStmt) { - clear_has_node(); - auto* temp = _impl_.node_.dropdb_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.dropdb_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* IntoClause::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::DropdbStmt& Node::_internal_dropdb_stmt() const { - return node_case() == kDropdbStmt ? *_impl_.node_.dropdb_stmt_ : reinterpret_cast<::pg_query::DropdbStmt&>(::pg_query::_DropdbStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline const ::pg_query::DropdbStmt& Node::dropdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.dropdb_stmt) - return _internal_dropdb_stmt(); +inline const ::pg_query::Node& IntoClause::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.options) + return _internal_options().Get(index); } -inline ::pg_query::DropdbStmt* Node::unsafe_arena_release_dropdb_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.dropdb_stmt) - if (node_case() == kDropdbStmt) { - clear_has_node(); - auto* temp = _impl_.node_.dropdb_stmt_; - _impl_.node_.dropdb_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* IntoClause::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IntoClause.options) + return _add; } -inline void Node::unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_dropdb_stmt(); - _impl_.node_.dropdb_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.dropdb_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IntoClause.options) + return _internal_options(); } -inline ::pg_query::DropdbStmt* Node::_internal_mutable_dropdb_stmt() { - if (node_case() != kDropdbStmt) { - clear_node(); - set_has_dropdb_stmt(); - _impl_.node_.dropdb_stmt_ = CreateMaybeMessage<::pg_query::DropdbStmt>(GetArena()); - } - return _impl_.node_.dropdb_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntoClause::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline ::pg_query::DropdbStmt* Node::mutable_dropdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropdbStmt* _msg = _internal_mutable_dropdb_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.dropdb_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntoClause::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// .pg_query.AlterSystemStmt alter_system_stmt = 215 [json_name = "AlterSystemStmt"]; -inline bool Node::has_alter_system_stmt() const { - return node_case() == kAlterSystemStmt; -} -inline bool Node::_internal_has_alter_system_stmt() const { - return node_case() == kAlterSystemStmt; +// .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; +inline void IntoClause::clear_on_commit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.on_commit_ = 0; } -inline void Node::set_has_alter_system_stmt() { - _impl_._oneof_case_[0] = kAlterSystemStmt; +inline ::pg_query::OnCommitAction IntoClause::on_commit() const { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.on_commit) + return _internal_on_commit(); } -inline void Node::clear_alter_system_stmt() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterSystemStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_system_stmt_; - } - clear_has_node(); - } +inline void IntoClause::set_on_commit(::pg_query::OnCommitAction value) { + _internal_set_on_commit(value); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.on_commit) } -inline ::pg_query::AlterSystemStmt* Node::release_alter_system_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_system_stmt) - if (node_case() == kAlterSystemStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_system_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_system_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::OnCommitAction IntoClause::_internal_on_commit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OnCommitAction>(_impl_.on_commit_); } -inline const ::pg_query::AlterSystemStmt& Node::_internal_alter_system_stmt() const { - return node_case() == kAlterSystemStmt ? *_impl_.node_.alter_system_stmt_ : reinterpret_cast<::pg_query::AlterSystemStmt&>(::pg_query::_AlterSystemStmt_default_instance_); +inline void IntoClause::_internal_set_on_commit(::pg_query::OnCommitAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.on_commit_ = value; } -inline const ::pg_query::AlterSystemStmt& Node::alter_system_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_system_stmt) - return _internal_alter_system_stmt(); + +// string table_space_name = 6 [json_name = "tableSpaceName"]; +inline void IntoClause::clear_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_space_name_.ClearToEmpty(); } -inline ::pg_query::AlterSystemStmt* Node::unsafe_arena_release_alter_system_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_system_stmt) - if (node_case() == kAlterSystemStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_system_stmt_; - _impl_.node_.alter_system_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const std::string& IntoClause::table_space_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.table_space_name) + return _internal_table_space_name(); } -inline void Node::unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_system_stmt(); - _impl_.node_.alter_system_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_system_stmt) +template +inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_table_space_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.table_space_name) } -inline ::pg_query::AlterSystemStmt* Node::_internal_mutable_alter_system_stmt() { - if (node_case() != kAlterSystemStmt) { - clear_node(); - set_has_alter_system_stmt(); - _impl_.node_.alter_system_stmt_ = CreateMaybeMessage<::pg_query::AlterSystemStmt>(GetArena()); - } - return _impl_.node_.alter_system_stmt_; +inline std::string* IntoClause::mutable_table_space_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_table_space_name(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.table_space_name) + return _s; } -inline ::pg_query::AlterSystemStmt* Node::mutable_alter_system_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterSystemStmt* _msg = _internal_mutable_alter_system_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_system_stmt) - return _msg; +inline const std::string& IntoClause::_internal_table_space_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.table_space_name_.Get(); } - -// .pg_query.ClusterStmt cluster_stmt = 216 [json_name = "ClusterStmt"]; -inline bool Node::has_cluster_stmt() const { - return node_case() == kClusterStmt; +inline void IntoClause::_internal_set_table_space_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_name_.Set(value, GetArena()); } -inline bool Node::_internal_has_cluster_stmt() const { - return node_case() == kClusterStmt; +inline std::string* IntoClause::_internal_mutable_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.table_space_name_.Mutable( GetArena()); } -inline void Node::set_has_cluster_stmt() { - _impl_._oneof_case_[0] = kClusterStmt; +inline std::string* IntoClause::release_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.table_space_name) + return _impl_.table_space_name_.Release(); } -inline void Node::clear_cluster_stmt() { +inline void IntoClause::set_allocated_table_space_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kClusterStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.cluster_stmt_; - } - clear_has_node(); - } + _impl_.table_space_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.table_space_name_.IsDefault()) { + _impl_.table_space_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.table_space_name) } -inline ::pg_query::ClusterStmt* Node::release_cluster_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.cluster_stmt) - if (node_case() == kClusterStmt) { - clear_has_node(); - auto* temp = _impl_.node_.cluster_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.cluster_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// .pg_query.Node view_query = 7 [json_name = "viewQuery"]; +inline bool IntoClause::has_view_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.view_query_ != nullptr); + return value; } -inline const ::pg_query::ClusterStmt& Node::_internal_cluster_stmt() const { - return node_case() == kClusterStmt ? *_impl_.node_.cluster_stmt_ : reinterpret_cast<::pg_query::ClusterStmt&>(::pg_query::_ClusterStmt_default_instance_); +inline void IntoClause::clear_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.view_query_ != nullptr) _impl_.view_query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::ClusterStmt& Node::cluster_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.cluster_stmt) - return _internal_cluster_stmt(); +inline const ::pg_query::Node& IntoClause::_internal_view_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.view_query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::ClusterStmt* Node::unsafe_arena_release_cluster_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.cluster_stmt) - if (node_case() == kClusterStmt) { - clear_has_node(); - auto* temp = _impl_.node_.cluster_stmt_; - _impl_.node_.cluster_stmt_ = nullptr; - return temp; +inline const ::pg_query::Node& IntoClause::view_query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.view_query) + return _internal_view_query(); +} +inline void IntoClause::unsafe_arena_set_allocated_view_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.view_query_); + } + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.view_query) } -inline void Node::unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_cluster_stmt(); - _impl_.node_.cluster_stmt_ = value; +inline ::pg_query::Node* IntoClause::release_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.view_query_; + _impl_.view_query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.cluster_stmt) -} -inline ::pg_query::ClusterStmt* Node::_internal_mutable_cluster_stmt() { - if (node_case() != kClusterStmt) { - clear_node(); - set_has_cluster_stmt(); - _impl_.node_.cluster_stmt_ = CreateMaybeMessage<::pg_query::ClusterStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.cluster_stmt_; -} -inline ::pg_query::ClusterStmt* Node::mutable_cluster_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ClusterStmt* _msg = _internal_mutable_cluster_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.cluster_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* IntoClause::unsafe_arena_release_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.view_query) -// .pg_query.VacuumStmt vacuum_stmt = 217 [json_name = "VacuumStmt"]; -inline bool Node::has_vacuum_stmt() const { - return node_case() == kVacuumStmt; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.view_query_; + _impl_.view_query_ = nullptr; + return temp; } -inline bool Node::_internal_has_vacuum_stmt() const { - return node_case() == kVacuumStmt; +inline ::pg_query::Node* IntoClause::_internal_mutable_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.view_query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.view_query_; } -inline void Node::set_has_vacuum_stmt() { - _impl_._oneof_case_[0] = kVacuumStmt; +inline ::pg_query::Node* IntoClause::mutable_view_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_view_query(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.view_query) + return _msg; } -inline void Node::clear_vacuum_stmt() { +inline void IntoClause::set_allocated_view_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kVacuumStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.vacuum_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.view_query_); } -} -inline ::pg_query::VacuumStmt* Node::release_vacuum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_stmt) - if (node_case() == kVacuumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.vacuum_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.vacuum_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.view_query) } -inline const ::pg_query::VacuumStmt& Node::_internal_vacuum_stmt() const { - return node_case() == kVacuumStmt ? *_impl_.node_.vacuum_stmt_ : reinterpret_cast<::pg_query::VacuumStmt&>(::pg_query::_VacuumStmt_default_instance_); -} -inline const ::pg_query::VacuumStmt& Node::vacuum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_stmt) - return _internal_vacuum_stmt(); + +// bool skip_data = 8 [json_name = "skipData"]; +inline void IntoClause::clear_skip_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.skip_data_ = false; } -inline ::pg_query::VacuumStmt* Node::unsafe_arena_release_vacuum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_stmt) - if (node_case() == kVacuumStmt) { - clear_has_node(); - auto* temp = _impl_.node_.vacuum_stmt_; - _impl_.node_.vacuum_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline bool IntoClause::skip_data() const { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.skip_data) + return _internal_skip_data(); } -inline void Node::unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_vacuum_stmt(); - _impl_.node_.vacuum_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_stmt) +inline void IntoClause::set_skip_data(bool value) { + _internal_set_skip_data(value); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.skip_data) } -inline ::pg_query::VacuumStmt* Node::_internal_mutable_vacuum_stmt() { - if (node_case() != kVacuumStmt) { - clear_node(); - set_has_vacuum_stmt(); - _impl_.node_.vacuum_stmt_ = CreateMaybeMessage<::pg_query::VacuumStmt>(GetArena()); - } - return _impl_.node_.vacuum_stmt_; +inline bool IntoClause::_internal_skip_data() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.skip_data_; } -inline ::pg_query::VacuumStmt* Node::mutable_vacuum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::VacuumStmt* _msg = _internal_mutable_vacuum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_stmt) - return _msg; +inline void IntoClause::_internal_set_skip_data(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.skip_data_ = value; } -// .pg_query.VacuumRelation vacuum_relation = 218 [json_name = "VacuumRelation"]; -inline bool Node::has_vacuum_relation() const { - return node_case() == kVacuumRelation; -} -inline bool Node::_internal_has_vacuum_relation() const { - return node_case() == kVacuumRelation; -} -inline void Node::set_has_vacuum_relation() { - _impl_._oneof_case_[0] = kVacuumRelation; +// ------------------------------------------------------------------- + +// Var + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool Var::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void Node::clear_vacuum_relation() { +inline void Var::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kVacuumRelation) { - if (GetArena() == nullptr) { - delete _impl_.node_.vacuum_relation_; - } - clear_has_node(); - } -} -inline ::pg_query::VacuumRelation* Node::release_vacuum_relation() { - // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_relation) - if (node_case() == kVacuumRelation) { - clear_has_node(); - auto* temp = _impl_.node_.vacuum_relation_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.vacuum_relation_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::VacuumRelation& Node::_internal_vacuum_relation() const { - return node_case() == kVacuumRelation ? *_impl_.node_.vacuum_relation_ : reinterpret_cast<::pg_query::VacuumRelation&>(::pg_query::_VacuumRelation_default_instance_); +inline const ::pg_query::Node& Var::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::VacuumRelation& Node::vacuum_relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_relation) - return _internal_vacuum_relation(); +inline const ::pg_query::Node& Var::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Var.xpr) + return _internal_xpr(); } -inline ::pg_query::VacuumRelation* Node::unsafe_arena_release_vacuum_relation() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_relation) - if (node_case() == kVacuumRelation) { - clear_has_node(); - auto* temp = _impl_.node_.vacuum_relation_; - _impl_.node_.vacuum_relation_ = nullptr; - return temp; +inline void Var::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Var.xpr) } -inline void Node::unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_vacuum_relation(); - _impl_.node_.vacuum_relation_ = value; +inline ::pg_query::Node* Var::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_relation) -} -inline ::pg_query::VacuumRelation* Node::_internal_mutable_vacuum_relation() { - if (node_case() != kVacuumRelation) { - clear_node(); - set_has_vacuum_relation(); - _impl_.node_.vacuum_relation_ = CreateMaybeMessage<::pg_query::VacuumRelation>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.vacuum_relation_; -} -inline ::pg_query::VacuumRelation* Node::mutable_vacuum_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::VacuumRelation* _msg = _internal_mutable_vacuum_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_relation) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* Var::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Var.xpr) -// .pg_query.ExplainStmt explain_stmt = 219 [json_name = "ExplainStmt"]; -inline bool Node::has_explain_stmt() const { - return node_case() == kExplainStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_explain_stmt() const { - return node_case() == kExplainStmt; +inline ::pg_query::Node* Var::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_explain_stmt() { - _impl_._oneof_case_[0] = kExplainStmt; +inline ::pg_query::Node* Var::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.Var.xpr) + return _msg; } -inline void Node::clear_explain_stmt() { +inline void Var::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kExplainStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.explain_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::ExplainStmt* Node::release_explain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.explain_stmt) - if (node_case() == kExplainStmt) { - clear_has_node(); - auto* temp = _impl_.node_.explain_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.explain_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Var.xpr) } -inline const ::pg_query::ExplainStmt& Node::_internal_explain_stmt() const { - return node_case() == kExplainStmt ? *_impl_.node_.explain_stmt_ : reinterpret_cast<::pg_query::ExplainStmt&>(::pg_query::_ExplainStmt_default_instance_); -} -inline const ::pg_query::ExplainStmt& Node::explain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.explain_stmt) - return _internal_explain_stmt(); + +// int32 varno = 2 [json_name = "varno"]; +inline void Var::clear_varno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varno_ = 0; } -inline ::pg_query::ExplainStmt* Node::unsafe_arena_release_explain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.explain_stmt) - if (node_case() == kExplainStmt) { - clear_has_node(); - auto* temp = _impl_.node_.explain_stmt_; - _impl_.node_.explain_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t Var::varno() const { + // @@protoc_insertion_point(field_get:pg_query.Var.varno) + return _internal_varno(); } -inline void Node::unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_explain_stmt(); - _impl_.node_.explain_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.explain_stmt) +inline void Var::set_varno(::int32_t value) { + _internal_set_varno(value); + // @@protoc_insertion_point(field_set:pg_query.Var.varno) } -inline ::pg_query::ExplainStmt* Node::_internal_mutable_explain_stmt() { - if (node_case() != kExplainStmt) { - clear_node(); - set_has_explain_stmt(); - _impl_.node_.explain_stmt_ = CreateMaybeMessage<::pg_query::ExplainStmt>(GetArena()); - } - return _impl_.node_.explain_stmt_; +inline ::int32_t Var::_internal_varno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varno_; } -inline ::pg_query::ExplainStmt* Node::mutable_explain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ExplainStmt* _msg = _internal_mutable_explain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.explain_stmt) - return _msg; +inline void Var::_internal_set_varno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varno_ = value; } -// .pg_query.CreateTableAsStmt create_table_as_stmt = 220 [json_name = "CreateTableAsStmt"]; -inline bool Node::has_create_table_as_stmt() const { - return node_case() == kCreateTableAsStmt; +// int32 varattno = 3 [json_name = "varattno"]; +inline void Var::clear_varattno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varattno_ = 0; } -inline bool Node::_internal_has_create_table_as_stmt() const { - return node_case() == kCreateTableAsStmt; +inline ::int32_t Var::varattno() const { + // @@protoc_insertion_point(field_get:pg_query.Var.varattno) + return _internal_varattno(); } -inline void Node::set_has_create_table_as_stmt() { - _impl_._oneof_case_[0] = kCreateTableAsStmt; +inline void Var::set_varattno(::int32_t value) { + _internal_set_varattno(value); + // @@protoc_insertion_point(field_set:pg_query.Var.varattno) } -inline void Node::clear_create_table_as_stmt() { +inline ::int32_t Var::_internal_varattno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varattno_; +} +inline void Var::_internal_set_varattno(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateTableAsStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_table_as_stmt_; - } - clear_has_node(); - } + ; + _impl_.varattno_ = value; } -inline ::pg_query::CreateTableAsStmt* Node::release_create_table_as_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_table_as_stmt) - if (node_case() == kCreateTableAsStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_table_as_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_table_as_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// uint32 vartype = 4 [json_name = "vartype"]; +inline void Var::clear_vartype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.vartype_ = 0u; } -inline const ::pg_query::CreateTableAsStmt& Node::_internal_create_table_as_stmt() const { - return node_case() == kCreateTableAsStmt ? *_impl_.node_.create_table_as_stmt_ : reinterpret_cast<::pg_query::CreateTableAsStmt&>(::pg_query::_CreateTableAsStmt_default_instance_); +inline ::uint32_t Var::vartype() const { + // @@protoc_insertion_point(field_get:pg_query.Var.vartype) + return _internal_vartype(); } -inline const ::pg_query::CreateTableAsStmt& Node::create_table_as_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_table_as_stmt) - return _internal_create_table_as_stmt(); +inline void Var::set_vartype(::uint32_t value) { + _internal_set_vartype(value); + // @@protoc_insertion_point(field_set:pg_query.Var.vartype) } -inline ::pg_query::CreateTableAsStmt* Node::unsafe_arena_release_create_table_as_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_as_stmt) - if (node_case() == kCreateTableAsStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_table_as_stmt_; - _impl_.node_.create_table_as_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t Var::_internal_vartype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.vartype_; } -inline void Node::unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_table_as_stmt(); - _impl_.node_.create_table_as_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_as_stmt) +inline void Var::_internal_set_vartype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.vartype_ = value; } -inline ::pg_query::CreateTableAsStmt* Node::_internal_mutable_create_table_as_stmt() { - if (node_case() != kCreateTableAsStmt) { - clear_node(); - set_has_create_table_as_stmt(); - _impl_.node_.create_table_as_stmt_ = CreateMaybeMessage<::pg_query::CreateTableAsStmt>(GetArena()); - } - return _impl_.node_.create_table_as_stmt_; + +// int32 vartypmod = 5 [json_name = "vartypmod"]; +inline void Var::clear_vartypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.vartypmod_ = 0; } -inline ::pg_query::CreateTableAsStmt* Node::mutable_create_table_as_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateTableAsStmt* _msg = _internal_mutable_create_table_as_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_as_stmt) - return _msg; +inline ::int32_t Var::vartypmod() const { + // @@protoc_insertion_point(field_get:pg_query.Var.vartypmod) + return _internal_vartypmod(); } - -// .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 221 [json_name = "RefreshMatViewStmt"]; -inline bool Node::has_refresh_mat_view_stmt() const { - return node_case() == kRefreshMatViewStmt; +inline void Var::set_vartypmod(::int32_t value) { + _internal_set_vartypmod(value); + // @@protoc_insertion_point(field_set:pg_query.Var.vartypmod) } -inline bool Node::_internal_has_refresh_mat_view_stmt() const { - return node_case() == kRefreshMatViewStmt; +inline ::int32_t Var::_internal_vartypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.vartypmod_; } -inline void Node::set_has_refresh_mat_view_stmt() { - _impl_._oneof_case_[0] = kRefreshMatViewStmt; +inline void Var::_internal_set_vartypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.vartypmod_ = value; } -inline void Node::clear_refresh_mat_view_stmt() { + +// uint32 varcollid = 6 [json_name = "varcollid"]; +inline void Var::clear_varcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kRefreshMatViewStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.refresh_mat_view_stmt_; - } - clear_has_node(); - } + _impl_.varcollid_ = 0u; } -inline ::pg_query::RefreshMatViewStmt* Node::release_refresh_mat_view_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.refresh_mat_view_stmt) - if (node_case() == kRefreshMatViewStmt) { - clear_has_node(); - auto* temp = _impl_.node_.refresh_mat_view_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.refresh_mat_view_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t Var::varcollid() const { + // @@protoc_insertion_point(field_get:pg_query.Var.varcollid) + return _internal_varcollid(); } -inline const ::pg_query::RefreshMatViewStmt& Node::_internal_refresh_mat_view_stmt() const { - return node_case() == kRefreshMatViewStmt ? *_impl_.node_.refresh_mat_view_stmt_ : reinterpret_cast<::pg_query::RefreshMatViewStmt&>(::pg_query::_RefreshMatViewStmt_default_instance_); +inline void Var::set_varcollid(::uint32_t value) { + _internal_set_varcollid(value); + // @@protoc_insertion_point(field_set:pg_query.Var.varcollid) } -inline const ::pg_query::RefreshMatViewStmt& Node::refresh_mat_view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.refresh_mat_view_stmt) - return _internal_refresh_mat_view_stmt(); +inline ::uint32_t Var::_internal_varcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varcollid_; } -inline ::pg_query::RefreshMatViewStmt* Node::unsafe_arena_release_refresh_mat_view_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.refresh_mat_view_stmt) - if (node_case() == kRefreshMatViewStmt) { - clear_has_node(); - auto* temp = _impl_.node_.refresh_mat_view_stmt_; - _impl_.node_.refresh_mat_view_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void Var::_internal_set_varcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varcollid_ = value; } -inline void Node::unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_refresh_mat_view_stmt(); - _impl_.node_.refresh_mat_view_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.refresh_mat_view_stmt) + +// repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; +inline int Var::_internal_varnullingrels_size() const { + return _internal_varnullingrels().size(); } -inline ::pg_query::RefreshMatViewStmt* Node::_internal_mutable_refresh_mat_view_stmt() { - if (node_case() != kRefreshMatViewStmt) { - clear_node(); - set_has_refresh_mat_view_stmt(); - _impl_.node_.refresh_mat_view_stmt_ = CreateMaybeMessage<::pg_query::RefreshMatViewStmt>(GetArena()); - } - return _impl_.node_.refresh_mat_view_stmt_; +inline int Var::varnullingrels_size() const { + return _internal_varnullingrels_size(); } -inline ::pg_query::RefreshMatViewStmt* Node::mutable_refresh_mat_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RefreshMatViewStmt* _msg = _internal_mutable_refresh_mat_view_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.refresh_mat_view_stmt) - return _msg; +inline void Var::clear_varnullingrels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varnullingrels_.Clear(); } - -// .pg_query.CheckPointStmt check_point_stmt = 222 [json_name = "CheckPointStmt"]; -inline bool Node::has_check_point_stmt() const { - return node_case() == kCheckPointStmt; +inline ::uint64_t Var::varnullingrels(int index) const { + // @@protoc_insertion_point(field_get:pg_query.Var.varnullingrels) + return _internal_varnullingrels().Get(index); } -inline bool Node::_internal_has_check_point_stmt() const { - return node_case() == kCheckPointStmt; +inline void Var::set_varnullingrels(int index, ::uint64_t value) { + _internal_mutable_varnullingrels()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.Var.varnullingrels) } -inline void Node::set_has_check_point_stmt() { - _impl_._oneof_case_[0] = kCheckPointStmt; +inline void Var::add_varnullingrels(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_varnullingrels()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.Var.varnullingrels) } -inline void Node::clear_check_point_stmt() { +inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::varnullingrels() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Var.varnullingrels) + return _internal_varnullingrels(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* Var::mutable_varnullingrels() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Var.varnullingrels) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCheckPointStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.check_point_stmt_; - } - clear_has_node(); - } + return _internal_mutable_varnullingrels(); } -inline ::pg_query::CheckPointStmt* Node::release_check_point_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.check_point_stmt) - if (node_case() == kCheckPointStmt) { - clear_has_node(); - auto* temp = _impl_.node_.check_point_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.check_point_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::_internal_varnullingrels() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varnullingrels_; } -inline const ::pg_query::CheckPointStmt& Node::_internal_check_point_stmt() const { - return node_case() == kCheckPointStmt ? *_impl_.node_.check_point_stmt_ : reinterpret_cast<::pg_query::CheckPointStmt&>(::pg_query::_CheckPointStmt_default_instance_); +inline ::google::protobuf::RepeatedField<::uint64_t>* Var::_internal_mutable_varnullingrels() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.varnullingrels_; } -inline const ::pg_query::CheckPointStmt& Node::check_point_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.check_point_stmt) - return _internal_check_point_stmt(); + +// uint32 varlevelsup = 8 [json_name = "varlevelsup"]; +inline void Var::clear_varlevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varlevelsup_ = 0u; } -inline ::pg_query::CheckPointStmt* Node::unsafe_arena_release_check_point_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.check_point_stmt) - if (node_case() == kCheckPointStmt) { - clear_has_node(); - auto* temp = _impl_.node_.check_point_stmt_; - _impl_.node_.check_point_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t Var::varlevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.Var.varlevelsup) + return _internal_varlevelsup(); } -inline void Node::unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_check_point_stmt(); - _impl_.node_.check_point_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.check_point_stmt) +inline void Var::set_varlevelsup(::uint32_t value) { + _internal_set_varlevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.Var.varlevelsup) } -inline ::pg_query::CheckPointStmt* Node::_internal_mutable_check_point_stmt() { - if (node_case() != kCheckPointStmt) { - clear_node(); - set_has_check_point_stmt(); - _impl_.node_.check_point_stmt_ = CreateMaybeMessage<::pg_query::CheckPointStmt>(GetArena()); - } - return _impl_.node_.check_point_stmt_; +inline ::uint32_t Var::_internal_varlevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varlevelsup_; } -inline ::pg_query::CheckPointStmt* Node::mutable_check_point_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CheckPointStmt* _msg = _internal_mutable_check_point_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.check_point_stmt) - return _msg; +inline void Var::_internal_set_varlevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varlevelsup_ = value; } -// .pg_query.DiscardStmt discard_stmt = 223 [json_name = "DiscardStmt"]; -inline bool Node::has_discard_stmt() const { - return node_case() == kDiscardStmt; +// int32 location = 9 [json_name = "location"]; +inline void Var::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool Node::_internal_has_discard_stmt() const { - return node_case() == kDiscardStmt; +inline ::int32_t Var::location() const { + // @@protoc_insertion_point(field_get:pg_query.Var.location) + return _internal_location(); } -inline void Node::set_has_discard_stmt() { - _impl_._oneof_case_[0] = kDiscardStmt; +inline void Var::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.Var.location) } -inline void Node::clear_discard_stmt() { +inline ::int32_t Var::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void Var::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDiscardStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.discard_stmt_; - } - clear_has_node(); - } + ; + _impl_.location_ = value; } -inline ::pg_query::DiscardStmt* Node::release_discard_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.discard_stmt) - if (node_case() == kDiscardStmt) { - clear_has_node(); - auto* temp = _impl_.node_.discard_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.discard_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// ------------------------------------------------------------------- + +// Param + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool Param::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::pg_query::DiscardStmt& Node::_internal_discard_stmt() const { - return node_case() == kDiscardStmt ? *_impl_.node_.discard_stmt_ : reinterpret_cast<::pg_query::DiscardStmt&>(::pg_query::_DiscardStmt_default_instance_); +inline void Param::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::DiscardStmt& Node::discard_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.discard_stmt) - return _internal_discard_stmt(); +inline const ::pg_query::Node& Param::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::DiscardStmt* Node::unsafe_arena_release_discard_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.discard_stmt) - if (node_case() == kDiscardStmt) { - clear_has_node(); - auto* temp = _impl_.node_.discard_stmt_; - _impl_.node_.discard_stmt_ = nullptr; - return temp; +inline const ::pg_query::Node& Param::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Param.xpr) + return _internal_xpr(); +} +inline void Param::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Param.xpr) } -inline void Node::unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_discard_stmt(); - _impl_.node_.discard_stmt_ = value; +inline ::pg_query::Node* Param::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.discard_stmt) -} -inline ::pg_query::DiscardStmt* Node::_internal_mutable_discard_stmt() { - if (node_case() != kDiscardStmt) { - clear_node(); - set_has_discard_stmt(); - _impl_.node_.discard_stmt_ = CreateMaybeMessage<::pg_query::DiscardStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.discard_stmt_; -} -inline ::pg_query::DiscardStmt* Node::mutable_discard_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DiscardStmt* _msg = _internal_mutable_discard_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.discard_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* Param::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Param.xpr) -// .pg_query.LockStmt lock_stmt = 224 [json_name = "LockStmt"]; -inline bool Node::has_lock_stmt() const { - return node_case() == kLockStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_lock_stmt() const { - return node_case() == kLockStmt; +inline ::pg_query::Node* Param::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_lock_stmt() { - _impl_._oneof_case_[0] = kLockStmt; +inline ::pg_query::Node* Param::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.Param.xpr) + return _msg; } -inline void Node::clear_lock_stmt() { +inline void Param::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kLockStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.lock_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::LockStmt* Node::release_lock_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.lock_stmt) - if (node_case() == kLockStmt) { - clear_has_node(); - auto* temp = _impl_.node_.lock_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.lock_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Param.xpr) +} + +// .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; +inline void Param::clear_paramkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.paramkind_ = 0; +} +inline ::pg_query::ParamKind Param::paramkind() const { + // @@protoc_insertion_point(field_get:pg_query.Param.paramkind) + return _internal_paramkind(); +} +inline void Param::set_paramkind(::pg_query::ParamKind value) { + _internal_set_paramkind(value); + // @@protoc_insertion_point(field_set:pg_query.Param.paramkind) +} +inline ::pg_query::ParamKind Param::_internal_paramkind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ParamKind>(_impl_.paramkind_); } -inline const ::pg_query::LockStmt& Node::_internal_lock_stmt() const { - return node_case() == kLockStmt ? *_impl_.node_.lock_stmt_ : reinterpret_cast<::pg_query::LockStmt&>(::pg_query::_LockStmt_default_instance_); +inline void Param::_internal_set_paramkind(::pg_query::ParamKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramkind_ = value; } -inline const ::pg_query::LockStmt& Node::lock_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.lock_stmt) - return _internal_lock_stmt(); + +// int32 paramid = 3 [json_name = "paramid"]; +inline void Param::clear_paramid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.paramid_ = 0; } -inline ::pg_query::LockStmt* Node::unsafe_arena_release_lock_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.lock_stmt) - if (node_case() == kLockStmt) { - clear_has_node(); - auto* temp = _impl_.node_.lock_stmt_; - _impl_.node_.lock_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t Param::paramid() const { + // @@protoc_insertion_point(field_get:pg_query.Param.paramid) + return _internal_paramid(); } -inline void Node::unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_lock_stmt(); - _impl_.node_.lock_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.lock_stmt) +inline void Param::set_paramid(::int32_t value) { + _internal_set_paramid(value); + // @@protoc_insertion_point(field_set:pg_query.Param.paramid) } -inline ::pg_query::LockStmt* Node::_internal_mutable_lock_stmt() { - if (node_case() != kLockStmt) { - clear_node(); - set_has_lock_stmt(); - _impl_.node_.lock_stmt_ = CreateMaybeMessage<::pg_query::LockStmt>(GetArena()); - } - return _impl_.node_.lock_stmt_; +inline ::int32_t Param::_internal_paramid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramid_; } -inline ::pg_query::LockStmt* Node::mutable_lock_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::LockStmt* _msg = _internal_mutable_lock_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.lock_stmt) - return _msg; +inline void Param::_internal_set_paramid(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramid_ = value; } -// .pg_query.ConstraintsSetStmt constraints_set_stmt = 225 [json_name = "ConstraintsSetStmt"]; -inline bool Node::has_constraints_set_stmt() const { - return node_case() == kConstraintsSetStmt; +// uint32 paramtype = 4 [json_name = "paramtype"]; +inline void Param::clear_paramtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.paramtype_ = 0u; } -inline bool Node::_internal_has_constraints_set_stmt() const { - return node_case() == kConstraintsSetStmt; +inline ::uint32_t Param::paramtype() const { + // @@protoc_insertion_point(field_get:pg_query.Param.paramtype) + return _internal_paramtype(); } -inline void Node::set_has_constraints_set_stmt() { - _impl_._oneof_case_[0] = kConstraintsSetStmt; +inline void Param::set_paramtype(::uint32_t value) { + _internal_set_paramtype(value); + // @@protoc_insertion_point(field_set:pg_query.Param.paramtype) } -inline void Node::clear_constraints_set_stmt() { +inline ::uint32_t Param::_internal_paramtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramtype_; +} +inline void Param::_internal_set_paramtype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kConstraintsSetStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.constraints_set_stmt_; - } - clear_has_node(); - } + ; + _impl_.paramtype_ = value; } -inline ::pg_query::ConstraintsSetStmt* Node::release_constraints_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.constraints_set_stmt) - if (node_case() == kConstraintsSetStmt) { - clear_has_node(); - auto* temp = _impl_.node_.constraints_set_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.constraints_set_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// int32 paramtypmod = 5 [json_name = "paramtypmod"]; +inline void Param::clear_paramtypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.paramtypmod_ = 0; } -inline const ::pg_query::ConstraintsSetStmt& Node::_internal_constraints_set_stmt() const { - return node_case() == kConstraintsSetStmt ? *_impl_.node_.constraints_set_stmt_ : reinterpret_cast<::pg_query::ConstraintsSetStmt&>(::pg_query::_ConstraintsSetStmt_default_instance_); +inline ::int32_t Param::paramtypmod() const { + // @@protoc_insertion_point(field_get:pg_query.Param.paramtypmod) + return _internal_paramtypmod(); } -inline const ::pg_query::ConstraintsSetStmt& Node::constraints_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.constraints_set_stmt) - return _internal_constraints_set_stmt(); +inline void Param::set_paramtypmod(::int32_t value) { + _internal_set_paramtypmod(value); + // @@protoc_insertion_point(field_set:pg_query.Param.paramtypmod) } -inline ::pg_query::ConstraintsSetStmt* Node::unsafe_arena_release_constraints_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraints_set_stmt) - if (node_case() == kConstraintsSetStmt) { - clear_has_node(); - auto* temp = _impl_.node_.constraints_set_stmt_; - _impl_.node_.constraints_set_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t Param::_internal_paramtypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramtypmod_; } -inline void Node::unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_constraints_set_stmt(); - _impl_.node_.constraints_set_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraints_set_stmt) +inline void Param::_internal_set_paramtypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramtypmod_ = value; } -inline ::pg_query::ConstraintsSetStmt* Node::_internal_mutable_constraints_set_stmt() { - if (node_case() != kConstraintsSetStmt) { - clear_node(); - set_has_constraints_set_stmt(); - _impl_.node_.constraints_set_stmt_ = CreateMaybeMessage<::pg_query::ConstraintsSetStmt>(GetArena()); - } - return _impl_.node_.constraints_set_stmt_; + +// uint32 paramcollid = 6 [json_name = "paramcollid"]; +inline void Param::clear_paramcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.paramcollid_ = 0u; } -inline ::pg_query::ConstraintsSetStmt* Node::mutable_constraints_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ConstraintsSetStmt* _msg = _internal_mutable_constraints_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.constraints_set_stmt) - return _msg; +inline ::uint32_t Param::paramcollid() const { + // @@protoc_insertion_point(field_get:pg_query.Param.paramcollid) + return _internal_paramcollid(); +} +inline void Param::set_paramcollid(::uint32_t value) { + _internal_set_paramcollid(value); + // @@protoc_insertion_point(field_set:pg_query.Param.paramcollid) +} +inline ::uint32_t Param::_internal_paramcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramcollid_; +} +inline void Param::_internal_set_paramcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramcollid_ = value; } -// .pg_query.ReindexStmt reindex_stmt = 226 [json_name = "ReindexStmt"]; -inline bool Node::has_reindex_stmt() const { - return node_case() == kReindexStmt; +// int32 location = 7 [json_name = "location"]; +inline void Param::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool Node::_internal_has_reindex_stmt() const { - return node_case() == kReindexStmt; +inline ::int32_t Param::location() const { + // @@protoc_insertion_point(field_get:pg_query.Param.location) + return _internal_location(); } -inline void Node::set_has_reindex_stmt() { - _impl_._oneof_case_[0] = kReindexStmt; +inline void Param::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.Param.location) } -inline void Node::clear_reindex_stmt() { +inline ::int32_t Param::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void Param::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kReindexStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.reindex_stmt_; - } - clear_has_node(); - } + ; + _impl_.location_ = value; } -inline ::pg_query::ReindexStmt* Node::release_reindex_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.reindex_stmt) - if (node_case() == kReindexStmt) { - clear_has_node(); - auto* temp = _impl_.node_.reindex_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.reindex_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// ------------------------------------------------------------------- + +// Aggref + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool Aggref::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::pg_query::ReindexStmt& Node::_internal_reindex_stmt() const { - return node_case() == kReindexStmt ? *_impl_.node_.reindex_stmt_ : reinterpret_cast<::pg_query::ReindexStmt&>(::pg_query::_ReindexStmt_default_instance_); +inline void Aggref::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::ReindexStmt& Node::reindex_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.reindex_stmt) - return _internal_reindex_stmt(); +inline const ::pg_query::Node& Aggref::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::ReindexStmt* Node::unsafe_arena_release_reindex_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reindex_stmt) - if (node_case() == kReindexStmt) { - clear_has_node(); - auto* temp = _impl_.node_.reindex_stmt_; - _impl_.node_.reindex_stmt_ = nullptr; - return temp; +inline const ::pg_query::Node& Aggref::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.xpr) + return _internal_xpr(); +} +inline void Aggref::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.xpr) } -inline void Node::unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_reindex_stmt(); - _impl_.node_.reindex_stmt_ = value; +inline ::pg_query::Node* Aggref::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reindex_stmt) -} -inline ::pg_query::ReindexStmt* Node::_internal_mutable_reindex_stmt() { - if (node_case() != kReindexStmt) { - clear_node(); - set_has_reindex_stmt(); - _impl_.node_.reindex_stmt_ = CreateMaybeMessage<::pg_query::ReindexStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.reindex_stmt_; -} -inline ::pg_query::ReindexStmt* Node::mutable_reindex_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ReindexStmt* _msg = _internal_mutable_reindex_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.reindex_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* Aggref::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Aggref.xpr) -// .pg_query.CreateConversionStmt create_conversion_stmt = 227 [json_name = "CreateConversionStmt"]; -inline bool Node::has_create_conversion_stmt() const { - return node_case() == kCreateConversionStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_create_conversion_stmt() const { - return node_case() == kCreateConversionStmt; +inline ::pg_query::Node* Aggref::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_create_conversion_stmt() { - _impl_._oneof_case_[0] = kCreateConversionStmt; +inline ::pg_query::Node* Aggref::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.xpr) + return _msg; } -inline void Node::clear_create_conversion_stmt() { +inline void Aggref::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateConversionStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_conversion_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::CreateConversionStmt* Node::release_create_conversion_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_conversion_stmt) - if (node_case() == kCreateConversionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_conversion_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.create_conversion_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.xpr) } -inline const ::pg_query::CreateConversionStmt& Node::_internal_create_conversion_stmt() const { - return node_case() == kCreateConversionStmt ? *_impl_.node_.create_conversion_stmt_ : reinterpret_cast<::pg_query::CreateConversionStmt&>(::pg_query::_CreateConversionStmt_default_instance_); -} -inline const ::pg_query::CreateConversionStmt& Node::create_conversion_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_conversion_stmt) - return _internal_create_conversion_stmt(); + +// uint32 aggfnoid = 2 [json_name = "aggfnoid"]; +inline void Aggref::clear_aggfnoid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggfnoid_ = 0u; } -inline ::pg_query::CreateConversionStmt* Node::unsafe_arena_release_create_conversion_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_conversion_stmt) - if (node_case() == kCreateConversionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_conversion_stmt_; - _impl_.node_.create_conversion_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t Aggref::aggfnoid() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfnoid) + return _internal_aggfnoid(); } -inline void Node::unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_conversion_stmt(); - _impl_.node_.create_conversion_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_conversion_stmt) +inline void Aggref::set_aggfnoid(::uint32_t value) { + _internal_set_aggfnoid(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggfnoid) } -inline ::pg_query::CreateConversionStmt* Node::_internal_mutable_create_conversion_stmt() { - if (node_case() != kCreateConversionStmt) { - clear_node(); - set_has_create_conversion_stmt(); - _impl_.node_.create_conversion_stmt_ = CreateMaybeMessage<::pg_query::CreateConversionStmt>(GetArena()); - } - return _impl_.node_.create_conversion_stmt_; +inline ::uint32_t Aggref::_internal_aggfnoid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggfnoid_; } -inline ::pg_query::CreateConversionStmt* Node::mutable_create_conversion_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateConversionStmt* _msg = _internal_mutable_create_conversion_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_conversion_stmt) - return _msg; +inline void Aggref::_internal_set_aggfnoid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggfnoid_ = value; } -// .pg_query.CreateCastStmt create_cast_stmt = 228 [json_name = "CreateCastStmt"]; -inline bool Node::has_create_cast_stmt() const { - return node_case() == kCreateCastStmt; +// uint32 aggtype = 3 [json_name = "aggtype"]; +inline void Aggref::clear_aggtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggtype_ = 0u; } -inline bool Node::_internal_has_create_cast_stmt() const { - return node_case() == kCreateCastStmt; +inline ::uint32_t Aggref::aggtype() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtype) + return _internal_aggtype(); } -inline void Node::set_has_create_cast_stmt() { - _impl_._oneof_case_[0] = kCreateCastStmt; +inline void Aggref::set_aggtype(::uint32_t value) { + _internal_set_aggtype(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtype) } -inline void Node::clear_create_cast_stmt() { +inline ::uint32_t Aggref::_internal_aggtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggtype_; +} +inline void Aggref::_internal_set_aggtype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateCastStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_cast_stmt_; - } - clear_has_node(); - } + ; + _impl_.aggtype_ = value; } -inline ::pg_query::CreateCastStmt* Node::release_create_cast_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_cast_stmt) - if (node_case() == kCreateCastStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_cast_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_cast_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// uint32 aggcollid = 4 [json_name = "aggcollid"]; +inline void Aggref::clear_aggcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggcollid_ = 0u; } -inline const ::pg_query::CreateCastStmt& Node::_internal_create_cast_stmt() const { - return node_case() == kCreateCastStmt ? *_impl_.node_.create_cast_stmt_ : reinterpret_cast<::pg_query::CreateCastStmt&>(::pg_query::_CreateCastStmt_default_instance_); +inline ::uint32_t Aggref::aggcollid() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggcollid) + return _internal_aggcollid(); } -inline const ::pg_query::CreateCastStmt& Node::create_cast_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_cast_stmt) - return _internal_create_cast_stmt(); +inline void Aggref::set_aggcollid(::uint32_t value) { + _internal_set_aggcollid(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggcollid) } -inline ::pg_query::CreateCastStmt* Node::unsafe_arena_release_create_cast_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_cast_stmt) - if (node_case() == kCreateCastStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_cast_stmt_; - _impl_.node_.create_cast_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t Aggref::_internal_aggcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggcollid_; } -inline void Node::unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_cast_stmt(); - _impl_.node_.create_cast_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_cast_stmt) +inline void Aggref::_internal_set_aggcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggcollid_ = value; } -inline ::pg_query::CreateCastStmt* Node::_internal_mutable_create_cast_stmt() { - if (node_case() != kCreateCastStmt) { - clear_node(); - set_has_create_cast_stmt(); - _impl_.node_.create_cast_stmt_ = CreateMaybeMessage<::pg_query::CreateCastStmt>(GetArena()); - } - return _impl_.node_.create_cast_stmt_; + +// uint32 inputcollid = 5 [json_name = "inputcollid"]; +inline void Aggref::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; } -inline ::pg_query::CreateCastStmt* Node::mutable_create_cast_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateCastStmt* _msg = _internal_mutable_create_cast_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_cast_stmt) - return _msg; +inline ::uint32_t Aggref::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.inputcollid) + return _internal_inputcollid(); } - -// .pg_query.CreateTransformStmt create_transform_stmt = 229 [json_name = "CreateTransformStmt"]; -inline bool Node::has_create_transform_stmt() const { - return node_case() == kCreateTransformStmt; +inline void Aggref::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.inputcollid) } -inline bool Node::_internal_has_create_transform_stmt() const { - return node_case() == kCreateTransformStmt; +inline ::uint32_t Aggref::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; } -inline void Node::set_has_create_transform_stmt() { - _impl_._oneof_case_[0] = kCreateTransformStmt; +inline void Aggref::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -inline void Node::clear_create_transform_stmt() { + +// repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"]; +inline int Aggref::_internal_aggargtypes_size() const { + return _internal_aggargtypes().size(); +} +inline int Aggref::aggargtypes_size() const { + return _internal_aggargtypes_size(); +} +inline void Aggref::clear_aggargtypes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateTransformStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_transform_stmt_; - } - clear_has_node(); - } + _impl_.aggargtypes_.Clear(); } -inline ::pg_query::CreateTransformStmt* Node::release_create_transform_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_transform_stmt) - if (node_case() == kCreateTransformStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_transform_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_transform_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::mutable_aggargtypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggargtypes) + return _internal_mutable_aggargtypes()->Mutable(index); } -inline const ::pg_query::CreateTransformStmt& Node::_internal_create_transform_stmt() const { - return node_case() == kCreateTransformStmt ? *_impl_.node_.create_transform_stmt_ : reinterpret_cast<::pg_query::CreateTransformStmt&>(::pg_query::_CreateTransformStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggargtypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggargtypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggargtypes(); } -inline const ::pg_query::CreateTransformStmt& Node::create_transform_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_transform_stmt) - return _internal_create_transform_stmt(); +inline const ::pg_query::Node& Aggref::aggargtypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggargtypes) + return _internal_aggargtypes().Get(index); } -inline ::pg_query::CreateTransformStmt* Node::unsafe_arena_release_create_transform_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_transform_stmt) - if (node_case() == kCreateTransformStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_transform_stmt_; - _impl_.node_.create_transform_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::add_aggargtypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggargtypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Aggref.aggargtypes) + return _add; } -inline void Node::unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_transform_stmt(); - _impl_.node_.create_transform_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_transform_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggargtypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Aggref.aggargtypes) + return _internal_aggargtypes(); } -inline ::pg_query::CreateTransformStmt* Node::_internal_mutable_create_transform_stmt() { - if (node_case() != kCreateTransformStmt) { - clear_node(); - set_has_create_transform_stmt(); - _impl_.node_.create_transform_stmt_ = CreateMaybeMessage<::pg_query::CreateTransformStmt>(GetArena()); - } - return _impl_.node_.create_transform_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggargtypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggargtypes_; } -inline ::pg_query::CreateTransformStmt* Node::mutable_create_transform_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateTransformStmt* _msg = _internal_mutable_create_transform_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_transform_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggargtypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggargtypes_; } -// .pg_query.PrepareStmt prepare_stmt = 230 [json_name = "PrepareStmt"]; -inline bool Node::has_prepare_stmt() const { - return node_case() == kPrepareStmt; -} -inline bool Node::_internal_has_prepare_stmt() const { - return node_case() == kPrepareStmt; +// repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"]; +inline int Aggref::_internal_aggdirectargs_size() const { + return _internal_aggdirectargs().size(); } -inline void Node::set_has_prepare_stmt() { - _impl_._oneof_case_[0] = kPrepareStmt; +inline int Aggref::aggdirectargs_size() const { + return _internal_aggdirectargs_size(); } -inline void Node::clear_prepare_stmt() { +inline void Aggref::clear_aggdirectargs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPrepareStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.prepare_stmt_; - } - clear_has_node(); - } + _impl_.aggdirectargs_.Clear(); } -inline ::pg_query::PrepareStmt* Node::release_prepare_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.prepare_stmt) - if (node_case() == kPrepareStmt) { - clear_has_node(); - auto* temp = _impl_.node_.prepare_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.prepare_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::mutable_aggdirectargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdirectargs) + return _internal_mutable_aggdirectargs()->Mutable(index); } -inline const ::pg_query::PrepareStmt& Node::_internal_prepare_stmt() const { - return node_case() == kPrepareStmt ? *_impl_.node_.prepare_stmt_ : reinterpret_cast<::pg_query::PrepareStmt&>(::pg_query::_PrepareStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdirectargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdirectargs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggdirectargs(); } -inline const ::pg_query::PrepareStmt& Node::prepare_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.prepare_stmt) - return _internal_prepare_stmt(); +inline const ::pg_query::Node& Aggref::aggdirectargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdirectargs) + return _internal_aggdirectargs().Get(index); } -inline ::pg_query::PrepareStmt* Node::unsafe_arena_release_prepare_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.prepare_stmt) - if (node_case() == kPrepareStmt) { - clear_has_node(); - auto* temp = _impl_.node_.prepare_stmt_; - _impl_.node_.prepare_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::add_aggdirectargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggdirectargs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdirectargs) + return _add; } -inline void Node::unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_prepare_stmt(); - _impl_.node_.prepare_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.prepare_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdirectargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdirectargs) + return _internal_aggdirectargs(); } -inline ::pg_query::PrepareStmt* Node::_internal_mutable_prepare_stmt() { - if (node_case() != kPrepareStmt) { - clear_node(); - set_has_prepare_stmt(); - _impl_.node_.prepare_stmt_ = CreateMaybeMessage<::pg_query::PrepareStmt>(GetArena()); - } - return _impl_.node_.prepare_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggdirectargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggdirectargs_; } -inline ::pg_query::PrepareStmt* Node::mutable_prepare_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PrepareStmt* _msg = _internal_mutable_prepare_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.prepare_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggdirectargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggdirectargs_; } -// .pg_query.ExecuteStmt execute_stmt = 231 [json_name = "ExecuteStmt"]; -inline bool Node::has_execute_stmt() const { - return node_case() == kExecuteStmt; -} -inline bool Node::_internal_has_execute_stmt() const { - return node_case() == kExecuteStmt; +// repeated .pg_query.Node args = 8 [json_name = "args"]; +inline int Aggref::_internal_args_size() const { + return _internal_args().size(); } -inline void Node::set_has_execute_stmt() { - _impl_._oneof_case_[0] = kExecuteStmt; +inline int Aggref::args_size() const { + return _internal_args_size(); } -inline void Node::clear_execute_stmt() { +inline void Aggref::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kExecuteStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.execute_stmt_; - } - clear_has_node(); - } + _impl_.args_.Clear(); } -inline ::pg_query::ExecuteStmt* Node::release_execute_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.execute_stmt) - if (node_case() == kExecuteStmt) { - clear_has_node(); - auto* temp = _impl_.node_.execute_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.execute_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.args) + return _internal_mutable_args()->Mutable(index); } -inline const ::pg_query::ExecuteStmt& Node::_internal_execute_stmt() const { - return node_case() == kExecuteStmt ? *_impl_.node_.execute_stmt_ : reinterpret_cast<::pg_query::ExecuteStmt&>(::pg_query::_ExecuteStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::ExecuteStmt& Node::execute_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.execute_stmt) - return _internal_execute_stmt(); +inline const ::pg_query::Node& Aggref::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.args) + return _internal_args().Get(index); } -inline ::pg_query::ExecuteStmt* Node::unsafe_arena_release_execute_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.execute_stmt) - if (node_case() == kExecuteStmt) { - clear_has_node(); - auto* temp = _impl_.node_.execute_stmt_; - _impl_.node_.execute_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Aggref.args) + return _add; } -inline void Node::unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_execute_stmt(); - _impl_.node_.execute_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.execute_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Aggref.args) + return _internal_args(); } -inline ::pg_query::ExecuteStmt* Node::_internal_mutable_execute_stmt() { - if (node_case() != kExecuteStmt) { - clear_node(); - set_has_execute_stmt(); - _impl_.node_.execute_stmt_ = CreateMaybeMessage<::pg_query::ExecuteStmt>(GetArena()); - } - return _impl_.node_.execute_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline ::pg_query::ExecuteStmt* Node::mutable_execute_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ExecuteStmt* _msg = _internal_mutable_execute_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.execute_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.DeallocateStmt deallocate_stmt = 232 [json_name = "DeallocateStmt"]; -inline bool Node::has_deallocate_stmt() const { - return node_case() == kDeallocateStmt; -} -inline bool Node::_internal_has_deallocate_stmt() const { - return node_case() == kDeallocateStmt; +// repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"]; +inline int Aggref::_internal_aggorder_size() const { + return _internal_aggorder().size(); } -inline void Node::set_has_deallocate_stmt() { - _impl_._oneof_case_[0] = kDeallocateStmt; +inline int Aggref::aggorder_size() const { + return _internal_aggorder_size(); } -inline void Node::clear_deallocate_stmt() { +inline void Aggref::clear_aggorder() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDeallocateStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.deallocate_stmt_; - } - clear_has_node(); - } + _impl_.aggorder_.Clear(); } -inline ::pg_query::DeallocateStmt* Node::release_deallocate_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.deallocate_stmt) - if (node_case() == kDeallocateStmt) { - clear_has_node(); - auto* temp = _impl_.node_.deallocate_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.deallocate_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::mutable_aggorder(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggorder) + return _internal_mutable_aggorder()->Mutable(index); } -inline const ::pg_query::DeallocateStmt& Node::_internal_deallocate_stmt() const { - return node_case() == kDeallocateStmt ? *_impl_.node_.deallocate_stmt_ : reinterpret_cast<::pg_query::DeallocateStmt&>(::pg_query::_DeallocateStmt_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggorder() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggorder) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggorder(); } -inline const ::pg_query::DeallocateStmt& Node::deallocate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.deallocate_stmt) - return _internal_deallocate_stmt(); +inline const ::pg_query::Node& Aggref::aggorder(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggorder) + return _internal_aggorder().Get(index); } -inline ::pg_query::DeallocateStmt* Node::unsafe_arena_release_deallocate_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.deallocate_stmt) - if (node_case() == kDeallocateStmt) { - clear_has_node(); - auto* temp = _impl_.node_.deallocate_stmt_; - _impl_.node_.deallocate_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* Aggref::add_aggorder() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggorder()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Aggref.aggorder) + return _add; } -inline void Node::unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_deallocate_stmt(); - _impl_.node_.deallocate_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.deallocate_stmt) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggorder() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Aggref.aggorder) + return _internal_aggorder(); } -inline ::pg_query::DeallocateStmt* Node::_internal_mutable_deallocate_stmt() { - if (node_case() != kDeallocateStmt) { - clear_node(); - set_has_deallocate_stmt(); - _impl_.node_.deallocate_stmt_ = CreateMaybeMessage<::pg_query::DeallocateStmt>(GetArena()); - } - return _impl_.node_.deallocate_stmt_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggorder() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggorder_; } -inline ::pg_query::DeallocateStmt* Node::mutable_deallocate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DeallocateStmt* _msg = _internal_mutable_deallocate_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.deallocate_stmt) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggorder() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggorder_; } -// .pg_query.DropOwnedStmt drop_owned_stmt = 233 [json_name = "DropOwnedStmt"]; -inline bool Node::has_drop_owned_stmt() const { - return node_case() == kDropOwnedStmt; -} -inline bool Node::_internal_has_drop_owned_stmt() const { - return node_case() == kDropOwnedStmt; +// repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"]; +inline int Aggref::_internal_aggdistinct_size() const { + return _internal_aggdistinct().size(); } -inline void Node::set_has_drop_owned_stmt() { - _impl_._oneof_case_[0] = kDropOwnedStmt; +inline int Aggref::aggdistinct_size() const { + return _internal_aggdistinct_size(); } -inline void Node::clear_drop_owned_stmt() { +inline void Aggref::clear_aggdistinct() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropOwnedStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.drop_owned_stmt_; - } - clear_has_node(); - } -} -inline ::pg_query::DropOwnedStmt* Node::release_drop_owned_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_owned_stmt) - if (node_case() == kDropOwnedStmt) { - clear_has_node(); - auto* temp = _impl_.node_.drop_owned_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.drop_owned_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::pg_query::DropOwnedStmt& Node::_internal_drop_owned_stmt() const { - return node_case() == kDropOwnedStmt ? *_impl_.node_.drop_owned_stmt_ : reinterpret_cast<::pg_query::DropOwnedStmt&>(::pg_query::_DropOwnedStmt_default_instance_); + _impl_.aggdistinct_.Clear(); } -inline const ::pg_query::DropOwnedStmt& Node::drop_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_owned_stmt) - return _internal_drop_owned_stmt(); +inline ::pg_query::Node* Aggref::mutable_aggdistinct(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdistinct) + return _internal_mutable_aggdistinct()->Mutable(index); } -inline ::pg_query::DropOwnedStmt* Node::unsafe_arena_release_drop_owned_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_owned_stmt) - if (node_case() == kDropOwnedStmt) { - clear_has_node(); - auto* temp = _impl_.node_.drop_owned_stmt_; - _impl_.node_.drop_owned_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdistinct() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdistinct) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggdistinct(); } -inline void Node::unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_drop_owned_stmt(); - _impl_.node_.drop_owned_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_owned_stmt) +inline const ::pg_query::Node& Aggref::aggdistinct(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdistinct) + return _internal_aggdistinct().Get(index); } -inline ::pg_query::DropOwnedStmt* Node::_internal_mutable_drop_owned_stmt() { - if (node_case() != kDropOwnedStmt) { - clear_node(); - set_has_drop_owned_stmt(); - _impl_.node_.drop_owned_stmt_ = CreateMaybeMessage<::pg_query::DropOwnedStmt>(GetArena()); - } - return _impl_.node_.drop_owned_stmt_; +inline ::pg_query::Node* Aggref::add_aggdistinct() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggdistinct()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdistinct) + return _add; } -inline ::pg_query::DropOwnedStmt* Node::mutable_drop_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropOwnedStmt* _msg = _internal_mutable_drop_owned_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_owned_stmt) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdistinct() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdistinct) + return _internal_aggdistinct(); } - -// .pg_query.ReassignOwnedStmt reassign_owned_stmt = 234 [json_name = "ReassignOwnedStmt"]; -inline bool Node::has_reassign_owned_stmt() const { - return node_case() == kReassignOwnedStmt; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggdistinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggdistinct_; } -inline bool Node::_internal_has_reassign_owned_stmt() const { - return node_case() == kReassignOwnedStmt; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggdistinct() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggdistinct_; } -inline void Node::set_has_reassign_owned_stmt() { - _impl_._oneof_case_[0] = kReassignOwnedStmt; + +// .pg_query.Node aggfilter = 11 [json_name = "aggfilter"]; +inline bool Aggref::has_aggfilter() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + return value; } -inline void Node::clear_reassign_owned_stmt() { +inline void Aggref::clear_aggfilter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kReassignOwnedStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.reassign_owned_stmt_; - } - clear_has_node(); - } -} -inline ::pg_query::ReassignOwnedStmt* Node::release_reassign_owned_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.reassign_owned_stmt) - if (node_case() == kReassignOwnedStmt) { - clear_has_node(); - auto* temp = _impl_.node_.reassign_owned_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.reassign_owned_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::ReassignOwnedStmt& Node::_internal_reassign_owned_stmt() const { - return node_case() == kReassignOwnedStmt ? *_impl_.node_.reassign_owned_stmt_ : reinterpret_cast<::pg_query::ReassignOwnedStmt&>(::pg_query::_ReassignOwnedStmt_default_instance_); +inline const ::pg_query::Node& Aggref::_internal_aggfilter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.aggfilter_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::ReassignOwnedStmt& Node::reassign_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.reassign_owned_stmt) - return _internal_reassign_owned_stmt(); +inline const ::pg_query::Node& Aggref::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfilter) + return _internal_aggfilter(); } -inline ::pg_query::ReassignOwnedStmt* Node::unsafe_arena_release_reassign_owned_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reassign_owned_stmt) - if (node_case() == kReassignOwnedStmt) { - clear_has_node(); - auto* temp = _impl_.node_.reassign_owned_stmt_; - _impl_.node_.reassign_owned_stmt_ = nullptr; - return temp; +inline void Aggref::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); + } + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.aggfilter) } -inline void Node::unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_reassign_owned_stmt(); - _impl_.node_.reassign_owned_stmt_ = value; +inline ::pg_query::Node* Aggref::release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.aggfilter_; + _impl_.aggfilter_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reassign_owned_stmt) -} -inline ::pg_query::ReassignOwnedStmt* Node::_internal_mutable_reassign_owned_stmt() { - if (node_case() != kReassignOwnedStmt) { - clear_node(); - set_has_reassign_owned_stmt(); - _impl_.node_.reassign_owned_stmt_ = CreateMaybeMessage<::pg_query::ReassignOwnedStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.reassign_owned_stmt_; -} -inline ::pg_query::ReassignOwnedStmt* Node::mutable_reassign_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::ReassignOwnedStmt* _msg = _internal_mutable_reassign_owned_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.reassign_owned_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* Aggref::unsafe_arena_release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Aggref.aggfilter) -// .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 235 [json_name = "AlterTSDictionaryStmt"]; -inline bool Node::has_alter_tsdictionary_stmt() const { - return node_case() == kAlterTsdictionaryStmt; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.aggfilter_; + _impl_.aggfilter_ = nullptr; + return temp; } -inline bool Node::_internal_has_alter_tsdictionary_stmt() const { - return node_case() == kAlterTsdictionaryStmt; +inline ::pg_query::Node* Aggref::_internal_mutable_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.aggfilter_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.aggfilter_; } -inline void Node::set_has_alter_tsdictionary_stmt() { - _impl_._oneof_case_[0] = kAlterTsdictionaryStmt; +inline ::pg_query::Node* Aggref::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_aggfilter(); + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggfilter) + return _msg; } -inline void Node::clear_alter_tsdictionary_stmt() { +inline void Aggref::set_allocated_aggfilter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTsdictionaryStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_tsdictionary_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); } -} -inline ::pg_query::AlterTSDictionaryStmt* Node::release_alter_tsdictionary_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsdictionary_stmt) - if (node_case() == kAlterTsdictionaryStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_tsdictionary_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.alter_tsdictionary_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggfilter) } -inline const ::pg_query::AlterTSDictionaryStmt& Node::_internal_alter_tsdictionary_stmt() const { - return node_case() == kAlterTsdictionaryStmt ? *_impl_.node_.alter_tsdictionary_stmt_ : reinterpret_cast<::pg_query::AlterTSDictionaryStmt&>(::pg_query::_AlterTSDictionaryStmt_default_instance_); -} -inline const ::pg_query::AlterTSDictionaryStmt& Node::alter_tsdictionary_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsdictionary_stmt) - return _internal_alter_tsdictionary_stmt(); + +// bool aggstar = 12 [json_name = "aggstar"]; +inline void Aggref::clear_aggstar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggstar_ = false; } -inline ::pg_query::AlterTSDictionaryStmt* Node::unsafe_arena_release_alter_tsdictionary_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsdictionary_stmt) - if (node_case() == kAlterTsdictionaryStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_tsdictionary_stmt_; - _impl_.node_.alter_tsdictionary_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline bool Aggref::aggstar() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggstar) + return _internal_aggstar(); } -inline void Node::unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_tsdictionary_stmt(); - _impl_.node_.alter_tsdictionary_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsdictionary_stmt) +inline void Aggref::set_aggstar(bool value) { + _internal_set_aggstar(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggstar) } -inline ::pg_query::AlterTSDictionaryStmt* Node::_internal_mutable_alter_tsdictionary_stmt() { - if (node_case() != kAlterTsdictionaryStmt) { - clear_node(); - set_has_alter_tsdictionary_stmt(); - _impl_.node_.alter_tsdictionary_stmt_ = CreateMaybeMessage<::pg_query::AlterTSDictionaryStmt>(GetArena()); - } - return _impl_.node_.alter_tsdictionary_stmt_; +inline bool Aggref::_internal_aggstar() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggstar_; } -inline ::pg_query::AlterTSDictionaryStmt* Node::mutable_alter_tsdictionary_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTSDictionaryStmt* _msg = _internal_mutable_alter_tsdictionary_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsdictionary_stmt) - return _msg; +inline void Aggref::_internal_set_aggstar(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggstar_ = value; } -// .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 236 [json_name = "AlterTSConfigurationStmt"]; -inline bool Node::has_alter_tsconfiguration_stmt() const { - return node_case() == kAlterTsconfigurationStmt; +// bool aggvariadic = 13 [json_name = "aggvariadic"]; +inline void Aggref::clear_aggvariadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggvariadic_ = false; } -inline bool Node::_internal_has_alter_tsconfiguration_stmt() const { - return node_case() == kAlterTsconfigurationStmt; +inline bool Aggref::aggvariadic() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggvariadic) + return _internal_aggvariadic(); } -inline void Node::set_has_alter_tsconfiguration_stmt() { - _impl_._oneof_case_[0] = kAlterTsconfigurationStmt; +inline void Aggref::set_aggvariadic(bool value) { + _internal_set_aggvariadic(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggvariadic) } -inline void Node::clear_alter_tsconfiguration_stmt() { +inline bool Aggref::_internal_aggvariadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggvariadic_; +} +inline void Aggref::_internal_set_aggvariadic(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterTsconfigurationStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_tsconfiguration_stmt_; - } - clear_has_node(); - } + ; + _impl_.aggvariadic_ = value; } -inline ::pg_query::AlterTSConfigurationStmt* Node::release_alter_tsconfiguration_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsconfiguration_stmt) - if (node_case() == kAlterTsconfigurationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// string aggkind = 14 [json_name = "aggkind"]; +inline void Aggref::clear_aggkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggkind_.ClearToEmpty(); } -inline const ::pg_query::AlterTSConfigurationStmt& Node::_internal_alter_tsconfiguration_stmt() const { - return node_case() == kAlterTsconfigurationStmt ? *_impl_.node_.alter_tsconfiguration_stmt_ : reinterpret_cast<::pg_query::AlterTSConfigurationStmt&>(::pg_query::_AlterTSConfigurationStmt_default_instance_); +inline const std::string& Aggref::aggkind() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggkind) + return _internal_aggkind(); } -inline const ::pg_query::AlterTSConfigurationStmt& Node::alter_tsconfiguration_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsconfiguration_stmt) - return _internal_alter_tsconfiguration_stmt(); +template +inline PROTOBUF_ALWAYS_INLINE void Aggref::set_aggkind(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggkind_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggkind) } -inline ::pg_query::AlterTSConfigurationStmt* Node::unsafe_arena_release_alter_tsconfiguration_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsconfiguration_stmt) - if (node_case() == kAlterTsconfigurationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; - _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline std::string* Aggref::mutable_aggkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_aggkind(); + // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggkind) + return _s; } -inline void Node::unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_tsconfiguration_stmt(); - _impl_.node_.alter_tsconfiguration_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsconfiguration_stmt) +inline const std::string& Aggref::_internal_aggkind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggkind_.Get(); } -inline ::pg_query::AlterTSConfigurationStmt* Node::_internal_mutable_alter_tsconfiguration_stmt() { - if (node_case() != kAlterTsconfigurationStmt) { - clear_node(); - set_has_alter_tsconfiguration_stmt(); - _impl_.node_.alter_tsconfiguration_stmt_ = CreateMaybeMessage<::pg_query::AlterTSConfigurationStmt>(GetArena()); - } - return _impl_.node_.alter_tsconfiguration_stmt_; +inline void Aggref::_internal_set_aggkind(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggkind_.Set(value, GetArena()); } -inline ::pg_query::AlterTSConfigurationStmt* Node::mutable_alter_tsconfiguration_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterTSConfigurationStmt* _msg = _internal_mutable_alter_tsconfiguration_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsconfiguration_stmt) - return _msg; +inline std::string* Aggref::_internal_mutable_aggkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.aggkind_.Mutable( GetArena()); +} +inline std::string* Aggref::release_aggkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Aggref.aggkind) + return _impl_.aggkind_.Release(); +} +inline void Aggref::set_allocated_aggkind(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggkind_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.aggkind_.IsDefault()) { + _impl_.aggkind_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggkind) } -// .pg_query.PublicationTable publication_table = 237 [json_name = "PublicationTable"]; -inline bool Node::has_publication_table() const { - return node_case() == kPublicationTable; +// uint32 agglevelsup = 15 [json_name = "agglevelsup"]; +inline void Aggref::clear_agglevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agglevelsup_ = 0u; } -inline bool Node::_internal_has_publication_table() const { - return node_case() == kPublicationTable; +inline ::uint32_t Aggref::agglevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.agglevelsup) + return _internal_agglevelsup(); } -inline void Node::set_has_publication_table() { - _impl_._oneof_case_[0] = kPublicationTable; +inline void Aggref::set_agglevelsup(::uint32_t value) { + _internal_set_agglevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.agglevelsup) } -inline void Node::clear_publication_table() { +inline ::uint32_t Aggref::_internal_agglevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agglevelsup_; +} +inline void Aggref::_internal_set_agglevelsup(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPublicationTable) { - if (GetArena() == nullptr) { - delete _impl_.node_.publication_table_; - } - clear_has_node(); - } + ; + _impl_.agglevelsup_ = value; } -inline ::pg_query::PublicationTable* Node::release_publication_table() { - // @@protoc_insertion_point(field_release:pg_query.Node.publication_table) - if (node_case() == kPublicationTable) { - clear_has_node(); - auto* temp = _impl_.node_.publication_table_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.publication_table_ = nullptr; - return temp; - } else { - return nullptr; - } + +// .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"]; +inline void Aggref::clear_aggsplit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggsplit_ = 0; } -inline const ::pg_query::PublicationTable& Node::_internal_publication_table() const { - return node_case() == kPublicationTable ? *_impl_.node_.publication_table_ : reinterpret_cast<::pg_query::PublicationTable&>(::pg_query::_PublicationTable_default_instance_); +inline ::pg_query::AggSplit Aggref::aggsplit() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggsplit) + return _internal_aggsplit(); } -inline const ::pg_query::PublicationTable& Node::publication_table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.publication_table) - return _internal_publication_table(); +inline void Aggref::set_aggsplit(::pg_query::AggSplit value) { + _internal_set_aggsplit(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggsplit) } -inline ::pg_query::PublicationTable* Node::unsafe_arena_release_publication_table() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_table) - if (node_case() == kPublicationTable) { - clear_has_node(); - auto* temp = _impl_.node_.publication_table_; - _impl_.node_.publication_table_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::AggSplit Aggref::_internal_aggsplit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AggSplit>(_impl_.aggsplit_); } -inline void Node::unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_publication_table(); - _impl_.node_.publication_table_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_table) +inline void Aggref::_internal_set_aggsplit(::pg_query::AggSplit value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggsplit_ = value; } -inline ::pg_query::PublicationTable* Node::_internal_mutable_publication_table() { - if (node_case() != kPublicationTable) { - clear_node(); - set_has_publication_table(); - _impl_.node_.publication_table_ = CreateMaybeMessage<::pg_query::PublicationTable>(GetArena()); - } - return _impl_.node_.publication_table_; + +// int32 aggno = 17 [json_name = "aggno"]; +inline void Aggref::clear_aggno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggno_ = 0; } -inline ::pg_query::PublicationTable* Node::mutable_publication_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PublicationTable* _msg = _internal_mutable_publication_table(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_table) - return _msg; +inline ::int32_t Aggref::aggno() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggno) + return _internal_aggno(); } - -// .pg_query.PublicationObjSpec publication_obj_spec = 238 [json_name = "PublicationObjSpec"]; -inline bool Node::has_publication_obj_spec() const { - return node_case() == kPublicationObjSpec; +inline void Aggref::set_aggno(::int32_t value) { + _internal_set_aggno(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggno) } -inline bool Node::_internal_has_publication_obj_spec() const { - return node_case() == kPublicationObjSpec; +inline ::int32_t Aggref::_internal_aggno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggno_; } -inline void Node::set_has_publication_obj_spec() { - _impl_._oneof_case_[0] = kPublicationObjSpec; +inline void Aggref::_internal_set_aggno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggno_ = value; } -inline void Node::clear_publication_obj_spec() { + +// int32 aggtransno = 18 [json_name = "aggtransno"]; +inline void Aggref::clear_aggtransno() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kPublicationObjSpec) { - if (GetArena() == nullptr) { - delete _impl_.node_.publication_obj_spec_; - } - clear_has_node(); - } + _impl_.aggtransno_ = 0; } -inline ::pg_query::PublicationObjSpec* Node::release_publication_obj_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.publication_obj_spec) - if (node_case() == kPublicationObjSpec) { - clear_has_node(); - auto* temp = _impl_.node_.publication_obj_spec_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.publication_obj_spec_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::int32_t Aggref::aggtransno() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtransno) + return _internal_aggtransno(); } -inline const ::pg_query::PublicationObjSpec& Node::_internal_publication_obj_spec() const { - return node_case() == kPublicationObjSpec ? *_impl_.node_.publication_obj_spec_ : reinterpret_cast<::pg_query::PublicationObjSpec&>(::pg_query::_PublicationObjSpec_default_instance_); +inline void Aggref::set_aggtransno(::int32_t value) { + _internal_set_aggtransno(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtransno) } -inline const ::pg_query::PublicationObjSpec& Node::publication_obj_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.publication_obj_spec) - return _internal_publication_obj_spec(); +inline ::int32_t Aggref::_internal_aggtransno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggtransno_; } -inline ::pg_query::PublicationObjSpec* Node::unsafe_arena_release_publication_obj_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_obj_spec) - if (node_case() == kPublicationObjSpec) { - clear_has_node(); - auto* temp = _impl_.node_.publication_obj_spec_; - _impl_.node_.publication_obj_spec_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void Aggref::_internal_set_aggtransno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggtransno_ = value; } -inline void Node::unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_publication_obj_spec(); - _impl_.node_.publication_obj_spec_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_obj_spec) + +// int32 location = 19 [json_name = "location"]; +inline void Aggref::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::PublicationObjSpec* Node::_internal_mutable_publication_obj_spec() { - if (node_case() != kPublicationObjSpec) { - clear_node(); - set_has_publication_obj_spec(); - _impl_.node_.publication_obj_spec_ = CreateMaybeMessage<::pg_query::PublicationObjSpec>(GetArena()); - } - return _impl_.node_.publication_obj_spec_; +inline ::int32_t Aggref::location() const { + // @@protoc_insertion_point(field_get:pg_query.Aggref.location) + return _internal_location(); } -inline ::pg_query::PublicationObjSpec* Node::mutable_publication_obj_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PublicationObjSpec* _msg = _internal_mutable_publication_obj_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_obj_spec) - return _msg; +inline void Aggref::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.Aggref.location) } - -// .pg_query.CreatePublicationStmt create_publication_stmt = 239 [json_name = "CreatePublicationStmt"]; -inline bool Node::has_create_publication_stmt() const { - return node_case() == kCreatePublicationStmt; +inline ::int32_t Aggref::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline bool Node::_internal_has_create_publication_stmt() const { - return node_case() == kCreatePublicationStmt; +inline void Aggref::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline void Node::set_has_create_publication_stmt() { - _impl_._oneof_case_[0] = kCreatePublicationStmt; + +// ------------------------------------------------------------------- + +// GroupingFunc + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool GroupingFunc::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void Node::clear_create_publication_stmt() { +inline void GroupingFunc::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreatePublicationStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_publication_stmt_; - } - clear_has_node(); - } -} -inline ::pg_query::CreatePublicationStmt* Node::release_create_publication_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_publication_stmt) - if (node_case() == kCreatePublicationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_publication_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_publication_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::CreatePublicationStmt& Node::_internal_create_publication_stmt() const { - return node_case() == kCreatePublicationStmt ? *_impl_.node_.create_publication_stmt_ : reinterpret_cast<::pg_query::CreatePublicationStmt&>(::pg_query::_CreatePublicationStmt_default_instance_); +inline const ::pg_query::Node& GroupingFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::CreatePublicationStmt& Node::create_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_publication_stmt) - return _internal_create_publication_stmt(); +inline const ::pg_query::Node& GroupingFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.xpr) + return _internal_xpr(); } -inline ::pg_query::CreatePublicationStmt* Node::unsafe_arena_release_create_publication_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_publication_stmt) - if (node_case() == kCreatePublicationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_publication_stmt_; - _impl_.node_.create_publication_stmt_ = nullptr; - return temp; +inline void GroupingFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GroupingFunc.xpr) } -inline void Node::unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_publication_stmt(); - _impl_.node_.create_publication_stmt_ = value; +inline ::pg_query::Node* GroupingFunc::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_publication_stmt) -} -inline ::pg_query::CreatePublicationStmt* Node::_internal_mutable_create_publication_stmt() { - if (node_case() != kCreatePublicationStmt) { - clear_node(); - set_has_create_publication_stmt(); - _impl_.node_.create_publication_stmt_ = CreateMaybeMessage<::pg_query::CreatePublicationStmt>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.create_publication_stmt_; -} -inline ::pg_query::CreatePublicationStmt* Node::mutable_create_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreatePublicationStmt* _msg = _internal_mutable_create_publication_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_publication_stmt) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* GroupingFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.GroupingFunc.xpr) -// .pg_query.AlterPublicationStmt alter_publication_stmt = 240 [json_name = "AlterPublicationStmt"]; -inline bool Node::has_alter_publication_stmt() const { - return node_case() == kAlterPublicationStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_alter_publication_stmt() const { - return node_case() == kAlterPublicationStmt; +inline ::pg_query::Node* GroupingFunc::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_alter_publication_stmt() { - _impl_._oneof_case_[0] = kAlterPublicationStmt; +inline ::pg_query::Node* GroupingFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.xpr) + return _msg; } -inline void Node::clear_alter_publication_stmt() { +inline void GroupingFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterPublicationStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_publication_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::AlterPublicationStmt* Node::release_alter_publication_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_publication_stmt) - if (node_case() == kAlterPublicationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_publication_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.alter_publication_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.GroupingFunc.xpr) } -inline const ::pg_query::AlterPublicationStmt& Node::_internal_alter_publication_stmt() const { - return node_case() == kAlterPublicationStmt ? *_impl_.node_.alter_publication_stmt_ : reinterpret_cast<::pg_query::AlterPublicationStmt&>(::pg_query::_AlterPublicationStmt_default_instance_); + +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int GroupingFunc::_internal_args_size() const { + return _internal_args().size(); } -inline const ::pg_query::AlterPublicationStmt& Node::alter_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_publication_stmt) - return _internal_alter_publication_stmt(); +inline int GroupingFunc::args_size() const { + return _internal_args_size(); } -inline ::pg_query::AlterPublicationStmt* Node::unsafe_arena_release_alter_publication_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_publication_stmt) - if (node_case() == kAlterPublicationStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_publication_stmt_; - _impl_.node_.alter_publication_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void GroupingFunc::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline void Node::unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_publication_stmt(); - _impl_.node_.alter_publication_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_publication_stmt) +inline ::pg_query::Node* GroupingFunc::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.args) + return _internal_mutable_args()->Mutable(index); } -inline ::pg_query::AlterPublicationStmt* Node::_internal_mutable_alter_publication_stmt() { - if (node_case() != kAlterPublicationStmt) { - clear_node(); - set_has_alter_publication_stmt(); - _impl_.node_.alter_publication_stmt_ = CreateMaybeMessage<::pg_query::AlterPublicationStmt>(GetArena()); - } - return _impl_.node_.alter_publication_stmt_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline ::pg_query::AlterPublicationStmt* Node::mutable_alter_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterPublicationStmt* _msg = _internal_mutable_alter_publication_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_publication_stmt) - return _msg; +inline const ::pg_query::Node& GroupingFunc::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* GroupingFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GroupingFunc::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GroupingFunc::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.CreateSubscriptionStmt create_subscription_stmt = 241 [json_name = "CreateSubscriptionStmt"]; -inline bool Node::has_create_subscription_stmt() const { - return node_case() == kCreateSubscriptionStmt; +// repeated .pg_query.Node refs = 3 [json_name = "refs"]; +inline int GroupingFunc::_internal_refs_size() const { + return _internal_refs().size(); } -inline bool Node::_internal_has_create_subscription_stmt() const { - return node_case() == kCreateSubscriptionStmt; +inline int GroupingFunc::refs_size() const { + return _internal_refs_size(); } -inline void Node::set_has_create_subscription_stmt() { - _impl_._oneof_case_[0] = kCreateSubscriptionStmt; +inline void GroupingFunc::clear_refs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refs_.Clear(); } -inline void Node::clear_create_subscription_stmt() { +inline ::pg_query::Node* GroupingFunc::mutable_refs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.refs) + return _internal_mutable_refs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_refs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.refs) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kCreateSubscriptionStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.create_subscription_stmt_; - } - clear_has_node(); - } + return _internal_mutable_refs(); } -inline ::pg_query::CreateSubscriptionStmt* Node::release_create_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_subscription_stmt) - if (node_case() == kCreateSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_subscription_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.create_subscription_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::pg_query::Node& GroupingFunc::refs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.refs) + return _internal_refs().Get(index); } -inline const ::pg_query::CreateSubscriptionStmt& Node::_internal_create_subscription_stmt() const { - return node_case() == kCreateSubscriptionStmt ? *_impl_.node_.create_subscription_stmt_ : reinterpret_cast<::pg_query::CreateSubscriptionStmt&>(::pg_query::_CreateSubscriptionStmt_default_instance_); +inline ::pg_query::Node* GroupingFunc::add_refs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_refs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.refs) + return _add; } -inline const ::pg_query::CreateSubscriptionStmt& Node::create_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.create_subscription_stmt) - return _internal_create_subscription_stmt(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::refs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.refs) + return _internal_refs(); } -inline ::pg_query::CreateSubscriptionStmt* Node::unsafe_arena_release_create_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_subscription_stmt) - if (node_case() == kCreateSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.create_subscription_stmt_; - _impl_.node_.create_subscription_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GroupingFunc::_internal_refs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refs_; } -inline void Node::unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_create_subscription_stmt(); - _impl_.node_.create_subscription_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_subscription_stmt) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GroupingFunc::_internal_mutable_refs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.refs_; } -inline ::pg_query::CreateSubscriptionStmt* Node::_internal_mutable_create_subscription_stmt() { - if (node_case() != kCreateSubscriptionStmt) { - clear_node(); - set_has_create_subscription_stmt(); - _impl_.node_.create_subscription_stmt_ = CreateMaybeMessage<::pg_query::CreateSubscriptionStmt>(GetArena()); - } - return _impl_.node_.create_subscription_stmt_; + +// uint32 agglevelsup = 4 [json_name = "agglevelsup"]; +inline void GroupingFunc::clear_agglevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agglevelsup_ = 0u; } -inline ::pg_query::CreateSubscriptionStmt* Node::mutable_create_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CreateSubscriptionStmt* _msg = _internal_mutable_create_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_subscription_stmt) - return _msg; +inline ::uint32_t GroupingFunc::agglevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.agglevelsup) + return _internal_agglevelsup(); +} +inline void GroupingFunc::set_agglevelsup(::uint32_t value) { + _internal_set_agglevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.agglevelsup) +} +inline ::uint32_t GroupingFunc::_internal_agglevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agglevelsup_; +} +inline void GroupingFunc::_internal_set_agglevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agglevelsup_ = value; } -// .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 242 [json_name = "AlterSubscriptionStmt"]; -inline bool Node::has_alter_subscription_stmt() const { - return node_case() == kAlterSubscriptionStmt; +// int32 location = 5 [json_name = "location"]; +inline void GroupingFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool Node::_internal_has_alter_subscription_stmt() const { - return node_case() == kAlterSubscriptionStmt; +inline ::int32_t GroupingFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.location) + return _internal_location(); } -inline void Node::set_has_alter_subscription_stmt() { - _impl_._oneof_case_[0] = kAlterSubscriptionStmt; +inline void GroupingFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.location) } -inline void Node::clear_alter_subscription_stmt() { +inline ::int32_t GroupingFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void GroupingFunc::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAlterSubscriptionStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.alter_subscription_stmt_; - } - clear_has_node(); - } + ; + _impl_.location_ = value; } -inline ::pg_query::AlterSubscriptionStmt* Node::release_alter_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_subscription_stmt) - if (node_case() == kAlterSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_subscription_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.alter_subscription_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } + +// ------------------------------------------------------------------- + +// WindowFunc + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool WindowFunc::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::pg_query::AlterSubscriptionStmt& Node::_internal_alter_subscription_stmt() const { - return node_case() == kAlterSubscriptionStmt ? *_impl_.node_.alter_subscription_stmt_ : reinterpret_cast<::pg_query::AlterSubscriptionStmt&>(::pg_query::_AlterSubscriptionStmt_default_instance_); +inline void WindowFunc::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::AlterSubscriptionStmt& Node::alter_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_subscription_stmt) - return _internal_alter_subscription_stmt(); +inline const ::pg_query::Node& WindowFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::AlterSubscriptionStmt* Node::unsafe_arena_release_alter_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_subscription_stmt) - if (node_case() == kAlterSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.alter_subscription_stmt_; - _impl_.node_.alter_subscription_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline const ::pg_query::Node& WindowFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.xpr) + return _internal_xpr(); } -inline void Node::unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_alter_subscription_stmt(); - _impl_.node_.alter_subscription_stmt_ = value; +inline void WindowFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_subscription_stmt) -} -inline ::pg_query::AlterSubscriptionStmt* Node::_internal_mutable_alter_subscription_stmt() { - if (node_case() != kAlterSubscriptionStmt) { - clear_node(); - set_has_alter_subscription_stmt(); - _impl_.node_.alter_subscription_stmt_ = CreateMaybeMessage<::pg_query::AlterSubscriptionStmt>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } - return _impl_.node_.alter_subscription_stmt_; + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.xpr) } -inline ::pg_query::AlterSubscriptionStmt* Node::mutable_alter_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::AlterSubscriptionStmt* _msg = _internal_mutable_alter_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_subscription_stmt) - return _msg; +inline ::pg_query::Node* WindowFunc::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* WindowFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFunc.xpr) -// .pg_query.DropSubscriptionStmt drop_subscription_stmt = 243 [json_name = "DropSubscriptionStmt"]; -inline bool Node::has_drop_subscription_stmt() const { - return node_case() == kDropSubscriptionStmt; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_drop_subscription_stmt() const { - return node_case() == kDropSubscriptionStmt; +inline ::pg_query::Node* WindowFunc::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_drop_subscription_stmt() { - _impl_._oneof_case_[0] = kDropSubscriptionStmt; +inline ::pg_query::Node* WindowFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.xpr) + return _msg; } -inline void Node::clear_drop_subscription_stmt() { +inline void WindowFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kDropSubscriptionStmt) { - if (GetArena() == nullptr) { - delete _impl_.node_.drop_subscription_stmt_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::DropSubscriptionStmt* Node::release_drop_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_subscription_stmt) - if (node_case() == kDropSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.drop_subscription_stmt_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.drop_subscription_stmt_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.xpr) } -inline const ::pg_query::DropSubscriptionStmt& Node::_internal_drop_subscription_stmt() const { - return node_case() == kDropSubscriptionStmt ? *_impl_.node_.drop_subscription_stmt_ : reinterpret_cast<::pg_query::DropSubscriptionStmt&>(::pg_query::_DropSubscriptionStmt_default_instance_); -} -inline const ::pg_query::DropSubscriptionStmt& Node::drop_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_subscription_stmt) - return _internal_drop_subscription_stmt(); + +// uint32 winfnoid = 2 [json_name = "winfnoid"]; +inline void WindowFunc::clear_winfnoid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winfnoid_ = 0u; } -inline ::pg_query::DropSubscriptionStmt* Node::unsafe_arena_release_drop_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_subscription_stmt) - if (node_case() == kDropSubscriptionStmt) { - clear_has_node(); - auto* temp = _impl_.node_.drop_subscription_stmt_; - _impl_.node_.drop_subscription_stmt_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t WindowFunc::winfnoid() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winfnoid) + return _internal_winfnoid(); } -inline void Node::unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_drop_subscription_stmt(); - _impl_.node_.drop_subscription_stmt_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_subscription_stmt) +inline void WindowFunc::set_winfnoid(::uint32_t value) { + _internal_set_winfnoid(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winfnoid) } -inline ::pg_query::DropSubscriptionStmt* Node::_internal_mutable_drop_subscription_stmt() { - if (node_case() != kDropSubscriptionStmt) { - clear_node(); - set_has_drop_subscription_stmt(); - _impl_.node_.drop_subscription_stmt_ = CreateMaybeMessage<::pg_query::DropSubscriptionStmt>(GetArena()); - } - return _impl_.node_.drop_subscription_stmt_; +inline ::uint32_t WindowFunc::_internal_winfnoid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winfnoid_; } -inline ::pg_query::DropSubscriptionStmt* Node::mutable_drop_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::DropSubscriptionStmt* _msg = _internal_mutable_drop_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_subscription_stmt) - return _msg; +inline void WindowFunc::_internal_set_winfnoid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winfnoid_ = value; } -// .pg_query.Integer integer = 244 [json_name = "Integer"]; -inline bool Node::has_integer() const { - return node_case() == kInteger; +// uint32 wintype = 3 [json_name = "wintype"]; +inline void WindowFunc::clear_wintype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wintype_ = 0u; } -inline bool Node::_internal_has_integer() const { - return node_case() == kInteger; +inline ::uint32_t WindowFunc::wintype() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wintype) + return _internal_wintype(); } -inline void Node::set_has_integer() { - _impl_._oneof_case_[0] = kInteger; +inline void WindowFunc::set_wintype(::uint32_t value) { + _internal_set_wintype(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wintype) } -inline void Node::clear_integer() { +inline ::uint32_t WindowFunc::_internal_wintype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wintype_; +} +inline void WindowFunc::_internal_set_wintype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kInteger) { - if (GetArena() == nullptr) { - delete _impl_.node_.integer_; - } - clear_has_node(); - } + ; + _impl_.wintype_ = value; } -inline ::pg_query::Integer* Node::release_integer() { - // @@protoc_insertion_point(field_release:pg_query.Node.integer) - if (node_case() == kInteger) { - clear_has_node(); - auto* temp = _impl_.node_.integer_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.integer_ = nullptr; - return temp; - } else { - return nullptr; - } + +// uint32 wincollid = 4 [json_name = "wincollid"]; +inline void WindowFunc::clear_wincollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wincollid_ = 0u; } -inline const ::pg_query::Integer& Node::_internal_integer() const { - return node_case() == kInteger ? *_impl_.node_.integer_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); +inline ::uint32_t WindowFunc::wincollid() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wincollid) + return _internal_wincollid(); } -inline const ::pg_query::Integer& Node::integer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.integer) - return _internal_integer(); +inline void WindowFunc::set_wincollid(::uint32_t value) { + _internal_set_wincollid(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wincollid) } -inline ::pg_query::Integer* Node::unsafe_arena_release_integer() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.integer) - if (node_case() == kInteger) { - clear_has_node(); - auto* temp = _impl_.node_.integer_; - _impl_.node_.integer_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t WindowFunc::_internal_wincollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wincollid_; } -inline void Node::unsafe_arena_set_allocated_integer(::pg_query::Integer* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_integer(); - _impl_.node_.integer_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.integer) +inline void WindowFunc::_internal_set_wincollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wincollid_ = value; } -inline ::pg_query::Integer* Node::_internal_mutable_integer() { - if (node_case() != kInteger) { - clear_node(); - set_has_integer(); - _impl_.node_.integer_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); - } - return _impl_.node_.integer_; + +// uint32 inputcollid = 5 [json_name = "inputcollid"]; +inline void WindowFunc::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; } -inline ::pg_query::Integer* Node::mutable_integer() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Integer* _msg = _internal_mutable_integer(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.integer) - return _msg; +inline ::uint32_t WindowFunc::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.inputcollid) + return _internal_inputcollid(); } - -// .pg_query.Float float = 245 [json_name = "Float"]; -inline bool Node::has_float_() const { - return node_case() == kFloat; +inline void WindowFunc::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.inputcollid) } -inline bool Node::_internal_has_float_() const { - return node_case() == kFloat; +inline ::uint32_t WindowFunc::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; } -inline void Node::set_has_float_() { - _impl_._oneof_case_[0] = kFloat; +inline void WindowFunc::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -inline void Node::clear_float_() { + +// repeated .pg_query.Node args = 6 [json_name = "args"]; +inline int WindowFunc::_internal_args_size() const { + return _internal_args().size(); +} +inline int WindowFunc::args_size() const { + return _internal_args_size(); +} +inline void WindowFunc::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kFloat) { - if (GetArena() == nullptr) { - delete _impl_.node_.float__; - } - clear_has_node(); - } + _impl_.args_.Clear(); } -inline ::pg_query::Float* Node::release_float_() { - // @@protoc_insertion_point(field_release:pg_query.Node.float) - if (node_case() == kFloat) { - clear_has_node(); - auto* temp = _impl_.node_.float__; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.float__ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* WindowFunc::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.args) + return _internal_mutable_args()->Mutable(index); } -inline const ::pg_query::Float& Node::_internal_float_() const { - return node_case() == kFloat ? *_impl_.node_.float__ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowFunc::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowFunc.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Float& Node::float_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.float) - return _internal_float_(); +inline const ::pg_query::Node& WindowFunc::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.args) + return _internal_args().Get(index); } -inline ::pg_query::Float* Node::unsafe_arena_release_float_() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.float) - if (node_case() == kFloat) { - clear_has_node(); - auto* temp = _impl_.node_.float__; - _impl_.node_.float__ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* WindowFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowFunc.args) + return _add; } -inline void Node::unsafe_arena_set_allocated_float_(::pg_query::Float* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_float_(); - _impl_.node_.float__ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.float) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowFunc::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowFunc.args) + return _internal_args(); } -inline ::pg_query::Float* Node::_internal_mutable_float_() { - if (node_case() != kFloat) { - clear_node(); - set_has_float_(); - _impl_.node_.float__ = CreateMaybeMessage<::pg_query::Float>(GetArena()); - } - return _impl_.node_.float__; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowFunc::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline ::pg_query::Float* Node::mutable_float_() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Float* _msg = _internal_mutable_float_(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.float) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowFunc::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.Boolean boolean = 246 [json_name = "Boolean"]; -inline bool Node::has_boolean() const { - return node_case() == kBoolean; +// .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; +inline bool WindowFunc::has_aggfilter() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + return value; } -inline bool Node::_internal_has_boolean() const { - return node_case() == kBoolean; +inline void WindowFunc::clear_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline void Node::set_has_boolean() { - _impl_._oneof_case_[0] = kBoolean; +inline const ::pg_query::Node& WindowFunc::_internal_aggfilter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.aggfilter_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void Node::clear_boolean() { +inline const ::pg_query::Node& WindowFunc::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.aggfilter) + return _internal_aggfilter(); +} +inline void WindowFunc::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kBoolean) { - if (GetArena() == nullptr) { - delete _impl_.node_.boolean_; - } - clear_has_node(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); } -} -inline ::pg_query::Boolean* Node::release_boolean() { - // @@protoc_insertion_point(field_release:pg_query.Node.boolean) - if (node_case() == kBoolean) { - clear_has_node(); - auto* temp = _impl_.node_.boolean_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.boolean_ = nullptr; - return temp; + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.aggfilter) } -inline const ::pg_query::Boolean& Node::_internal_boolean() const { - return node_case() == kBoolean ? *_impl_.node_.boolean_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); -} -inline const ::pg_query::Boolean& Node::boolean() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.boolean) - return _internal_boolean(); -} -inline ::pg_query::Boolean* Node::unsafe_arena_release_boolean() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean) - if (node_case() == kBoolean) { - clear_has_node(); - auto* temp = _impl_.node_.boolean_; - _impl_.node_.boolean_ = nullptr; - return temp; - } else { - return nullptr; +inline ::pg_query::Node* WindowFunc::release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.aggfilter_; + _impl_.aggfilter_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } -} -inline void Node::unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_boolean(); - _impl_.node_.boolean_ = value; +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Boolean* Node::_internal_mutable_boolean() { - if (node_case() != kBoolean) { - clear_node(); - set_has_boolean(); - _impl_.node_.boolean_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); +inline ::pg_query::Node* WindowFunc::unsafe_arena_release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFunc.aggfilter) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.aggfilter_; + _impl_.aggfilter_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowFunc::_internal_mutable_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.aggfilter_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.node_.boolean_; + return _impl_.aggfilter_; } -inline ::pg_query::Boolean* Node::mutable_boolean() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Boolean* _msg = _internal_mutable_boolean(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean) +inline ::pg_query::Node* WindowFunc::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_aggfilter(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.aggfilter) return _msg; } +inline void WindowFunc::set_allocated_aggfilter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); + } -// .pg_query.String string = 247 [json_name = "String"]; -inline bool Node::has_string() const { - return node_case() == kString; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.aggfilter) } -inline bool Node::_internal_has_string() const { - return node_case() == kString; + +// repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; +inline int WindowFunc::_internal_run_condition_size() const { + return _internal_run_condition().size(); } -inline void Node::set_has_string() { - _impl_._oneof_case_[0] = kString; +inline int WindowFunc::run_condition_size() const { + return _internal_run_condition_size(); } -inline void Node::clear_string() { +inline void WindowFunc::clear_run_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kString) { - if (GetArena() == nullptr) { - delete _impl_.node_.string_; - } - clear_has_node(); - } + _impl_.run_condition_.Clear(); } -inline ::pg_query::String* Node::release_string() { - // @@protoc_insertion_point(field_release:pg_query.Node.string) - if (node_case() == kString) { - clear_has_node(); - auto* temp = _impl_.node_.string_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.string_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* WindowFunc::mutable_run_condition(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.run_condition) + return _internal_mutable_run_condition()->Mutable(index); } -inline const ::pg_query::String& Node::_internal_string() const { - return node_case() == kString ? *_impl_.node_.string_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowFunc::mutable_run_condition() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowFunc.run_condition) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_run_condition(); } -inline const ::pg_query::String& Node::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.string) - return _internal_string(); +inline const ::pg_query::Node& WindowFunc::run_condition(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.run_condition) + return _internal_run_condition().Get(index); } -inline ::pg_query::String* Node::unsafe_arena_release_string() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.string) - if (node_case() == kString) { - clear_has_node(); - auto* temp = _impl_.node_.string_; - _impl_.node_.string_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::pg_query::Node* WindowFunc::add_run_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_run_condition()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowFunc.run_condition) + return _add; } -inline void Node::unsafe_arena_set_allocated_string(::pg_query::String* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_string(); - _impl_.node_.string_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.string) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowFunc::run_condition() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowFunc.run_condition) + return _internal_run_condition(); } -inline ::pg_query::String* Node::_internal_mutable_string() { - if (node_case() != kString) { - clear_node(); - set_has_string(); - _impl_.node_.string_ = CreateMaybeMessage<::pg_query::String>(GetArena()); - } - return _impl_.node_.string_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowFunc::_internal_run_condition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.run_condition_; } -inline ::pg_query::String* Node::mutable_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::String* _msg = _internal_mutable_string(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.string) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowFunc::_internal_mutable_run_condition() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.run_condition_; } -// .pg_query.BitString bit_string = 248 [json_name = "BitString"]; -inline bool Node::has_bit_string() const { - return node_case() == kBitString; +// uint32 winref = 9 [json_name = "winref"]; +inline void WindowFunc::clear_winref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winref_ = 0u; } -inline bool Node::_internal_has_bit_string() const { - return node_case() == kBitString; +inline ::uint32_t WindowFunc::winref() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winref) + return _internal_winref(); } -inline void Node::set_has_bit_string() { - _impl_._oneof_case_[0] = kBitString; +inline void WindowFunc::set_winref(::uint32_t value) { + _internal_set_winref(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winref) } -inline void Node::clear_bit_string() { +inline ::uint32_t WindowFunc::_internal_winref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winref_; +} +inline void WindowFunc::_internal_set_winref(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kBitString) { - if (GetArena() == nullptr) { - delete _impl_.node_.bit_string_; - } - clear_has_node(); - } + ; + _impl_.winref_ = value; } -inline ::pg_query::BitString* Node::release_bit_string() { - // @@protoc_insertion_point(field_release:pg_query.Node.bit_string) - if (node_case() == kBitString) { - clear_has_node(); - auto* temp = _impl_.node_.bit_string_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.bit_string_ = nullptr; - return temp; - } else { - return nullptr; - } + +// bool winstar = 10 [json_name = "winstar"]; +inline void WindowFunc::clear_winstar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winstar_ = false; } -inline const ::pg_query::BitString& Node::_internal_bit_string() const { - return node_case() == kBitString ? *_impl_.node_.bit_string_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); +inline bool WindowFunc::winstar() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winstar) + return _internal_winstar(); } -inline const ::pg_query::BitString& Node::bit_string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.bit_string) - return _internal_bit_string(); +inline void WindowFunc::set_winstar(bool value) { + _internal_set_winstar(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winstar) } -inline ::pg_query::BitString* Node::unsafe_arena_release_bit_string() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bit_string) - if (node_case() == kBitString) { - clear_has_node(); - auto* temp = _impl_.node_.bit_string_; - _impl_.node_.bit_string_ = nullptr; - return temp; - } else { - return nullptr; - } +inline bool WindowFunc::_internal_winstar() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winstar_; } -inline void Node::unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_bit_string(); - _impl_.node_.bit_string_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bit_string) +inline void WindowFunc::_internal_set_winstar(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winstar_ = value; } -inline ::pg_query::BitString* Node::_internal_mutable_bit_string() { - if (node_case() != kBitString) { - clear_node(); - set_has_bit_string(); - _impl_.node_.bit_string_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); - } - return _impl_.node_.bit_string_; + +// bool winagg = 11 [json_name = "winagg"]; +inline void WindowFunc::clear_winagg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winagg_ = false; } -inline ::pg_query::BitString* Node::mutable_bit_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::BitString* _msg = _internal_mutable_bit_string(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.bit_string) - return _msg; +inline bool WindowFunc::winagg() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winagg) + return _internal_winagg(); +} +inline void WindowFunc::set_winagg(bool value) { + _internal_set_winagg(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winagg) +} +inline bool WindowFunc::_internal_winagg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winagg_; +} +inline void WindowFunc::_internal_set_winagg(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winagg_ = value; } -// .pg_query.List list = 249 [json_name = "List"]; -inline bool Node::has_list() const { - return node_case() == kList; +// int32 location = 12 [json_name = "location"]; +inline void WindowFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool Node::_internal_has_list() const { - return node_case() == kList; +inline ::int32_t WindowFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.location) + return _internal_location(); } -inline void Node::set_has_list() { - _impl_._oneof_case_[0] = kList; +inline void WindowFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.location) } -inline void Node::clear_list() { +inline ::int32_t WindowFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void WindowFunc::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kList) { - if (GetArena() == nullptr) { - delete _impl_.node_.list_; - } - clear_has_node(); - } + ; + _impl_.location_ = value; } -inline ::pg_query::List* Node::release_list() { - // @@protoc_insertion_point(field_release:pg_query.Node.list) - if (node_case() == kList) { - clear_has_node(); - auto* temp = _impl_.node_.list_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.list_ = nullptr; - return temp; - } else { - return nullptr; - } + +// ------------------------------------------------------------------- + +// WindowFuncRunCondition + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool WindowFuncRunCondition::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::pg_query::List& Node::_internal_list() const { - return node_case() == kList ? *_impl_.node_.list_ : reinterpret_cast<::pg_query::List&>(::pg_query::_List_default_instance_); +inline void WindowFuncRunCondition::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::List& Node::list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.list) - return _internal_list(); +inline const ::pg_query::Node& WindowFuncRunCondition::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::List* Node::unsafe_arena_release_list() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.list) - if (node_case() == kList) { - clear_has_node(); - auto* temp = _impl_.node_.list_; - _impl_.node_.list_ = nullptr; - return temp; +inline const ::pg_query::Node& WindowFuncRunCondition::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.xpr) + return _internal_xpr(); +} +inline void WindowFuncRunCondition::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFuncRunCondition.xpr) } -inline void Node::unsafe_arena_set_allocated_list(::pg_query::List* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_list(); - _impl_.node_.list_ = value; +inline ::pg_query::Node* WindowFuncRunCondition::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.list) -} -inline ::pg_query::List* Node::_internal_mutable_list() { - if (node_case() != kList) { - clear_node(); - set_has_list(); - _impl_.node_.list_ = CreateMaybeMessage<::pg_query::List>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.list_; -} -inline ::pg_query::List* Node::mutable_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::List* _msg = _internal_mutable_list(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.list) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* WindowFuncRunCondition::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFuncRunCondition.xpr) -// .pg_query.IntList int_list = 250 [json_name = "IntList"]; -inline bool Node::has_int_list() const { - return node_case() == kIntList; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool Node::_internal_has_int_list() const { - return node_case() == kIntList; +inline ::pg_query::Node* WindowFuncRunCondition::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void Node::set_has_int_list() { - _impl_._oneof_case_[0] = kIntList; +inline ::pg_query::Node* WindowFuncRunCondition::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFuncRunCondition.xpr) + return _msg; } -inline void Node::clear_int_list() { +inline void WindowFuncRunCondition::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kIntList) { - if (GetArena() == nullptr) { - delete _impl_.node_.int_list_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::IntList* Node::release_int_list() { - // @@protoc_insertion_point(field_release:pg_query.Node.int_list) - if (node_case() == kIntList) { - clear_has_node(); - auto* temp = _impl_.node_.int_list_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.int_list_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFuncRunCondition.xpr) } -inline const ::pg_query::IntList& Node::_internal_int_list() const { - return node_case() == kIntList ? *_impl_.node_.int_list_ : reinterpret_cast<::pg_query::IntList&>(::pg_query::_IntList_default_instance_); + +// uint32 opno = 2 [json_name = "opno"]; +inline void WindowFuncRunCondition::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opno_ = 0u; } -inline const ::pg_query::IntList& Node::int_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.int_list) - return _internal_int_list(); +inline ::uint32_t WindowFuncRunCondition::opno() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.opno) + return _internal_opno(); } -inline ::pg_query::IntList* Node::unsafe_arena_release_int_list() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.int_list) - if (node_case() == kIntList) { - clear_has_node(); - auto* temp = _impl_.node_.int_list_; - _impl_.node_.int_list_ = nullptr; - return temp; - } else { - return nullptr; - } +inline void WindowFuncRunCondition::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.opno) } -inline void Node::unsafe_arena_set_allocated_int_list(::pg_query::IntList* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_int_list(); - _impl_.node_.int_list_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.int_list) +inline ::uint32_t WindowFuncRunCondition::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline ::pg_query::IntList* Node::_internal_mutable_int_list() { - if (node_case() != kIntList) { - clear_node(); - set_has_int_list(); - _impl_.node_.int_list_ = CreateMaybeMessage<::pg_query::IntList>(GetArena()); - } - return _impl_.node_.int_list_; +inline void WindowFuncRunCondition::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; } -inline ::pg_query::IntList* Node::mutable_int_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::IntList* _msg = _internal_mutable_int_list(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.int_list) - return _msg; + +// uint32 inputcollid = 3 [json_name = "inputcollid"]; +inline void WindowFuncRunCondition::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t WindowFuncRunCondition::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.inputcollid) + return _internal_inputcollid(); +} +inline void WindowFuncRunCondition::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.inputcollid) +} +inline ::uint32_t WindowFuncRunCondition::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void WindowFuncRunCondition::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -// .pg_query.OidList oid_list = 251 [json_name = "OidList"]; -inline bool Node::has_oid_list() const { - return node_case() == kOidList; +// bool wfunc_left = 4 [json_name = "wfunc_left"]; +inline void WindowFuncRunCondition::clear_wfunc_left() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wfunc_left_ = false; } -inline bool Node::_internal_has_oid_list() const { - return node_case() == kOidList; +inline bool WindowFuncRunCondition::wfunc_left() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.wfunc_left) + return _internal_wfunc_left(); } -inline void Node::set_has_oid_list() { - _impl_._oneof_case_[0] = kOidList; +inline void WindowFuncRunCondition::set_wfunc_left(bool value) { + _internal_set_wfunc_left(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.wfunc_left) } -inline void Node::clear_oid_list() { +inline bool WindowFuncRunCondition::_internal_wfunc_left() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wfunc_left_; +} +inline void WindowFuncRunCondition::_internal_set_wfunc_left(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kOidList) { - if (GetArena() == nullptr) { - delete _impl_.node_.oid_list_; - } - clear_has_node(); - } + ; + _impl_.wfunc_left_ = value; } -inline ::pg_query::OidList* Node::release_oid_list() { - // @@protoc_insertion_point(field_release:pg_query.Node.oid_list) - if (node_case() == kOidList) { - clear_has_node(); - auto* temp = _impl_.node_.oid_list_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.node_.oid_list_ = nullptr; - return temp; - } else { - return nullptr; - } + +// .pg_query.Node arg = 5 [json_name = "arg"]; +inline bool WindowFuncRunCondition::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline const ::pg_query::OidList& Node::_internal_oid_list() const { - return node_case() == kOidList ? *_impl_.node_.oid_list_ : reinterpret_cast<::pg_query::OidList&>(::pg_query::_OidList_default_instance_); +inline void WindowFuncRunCondition::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::OidList& Node::oid_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.oid_list) - return _internal_oid_list(); +inline const ::pg_query::Node& WindowFuncRunCondition::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::OidList* Node::unsafe_arena_release_oid_list() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.oid_list) - if (node_case() == kOidList) { - clear_has_node(); - auto* temp = _impl_.node_.oid_list_; - _impl_.node_.oid_list_ = nullptr; - return temp; +inline const ::pg_query::Node& WindowFuncRunCondition::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.arg) + return _internal_arg(); +} +inline void WindowFuncRunCondition::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFuncRunCondition.arg) } -inline void Node::unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_oid_list(); - _impl_.node_.oid_list_ = value; +inline ::pg_query::Node* WindowFuncRunCondition::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.oid_list) +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::OidList* Node::_internal_mutable_oid_list() { - if (node_case() != kOidList) { - clear_node(); - set_has_oid_list(); - _impl_.node_.oid_list_ = CreateMaybeMessage<::pg_query::OidList>(GetArena()); +inline ::pg_query::Node* WindowFuncRunCondition::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFuncRunCondition.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowFuncRunCondition::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.node_.oid_list_; + return _impl_.arg_; } -inline ::pg_query::OidList* Node::mutable_oid_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::OidList* _msg = _internal_mutable_oid_list(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.oid_list) +inline ::pg_query::Node* WindowFuncRunCondition::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFuncRunCondition.arg) return _msg; } - -// .pg_query.A_Const a_const = 252 [json_name = "A_Const"]; -inline bool Node::has_a_const() const { - return node_case() == kAConst; -} -inline bool Node::_internal_has_a_const() const { - return node_case() == kAConst; -} -inline void Node::set_has_a_const() { - _impl_._oneof_case_[0] = kAConst; -} -inline void Node::clear_a_const() { +inline void WindowFuncRunCondition::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (node_case() == kAConst) { - if (GetArena() == nullptr) { - delete _impl_.node_.a_const_; - } - clear_has_node(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } -} -inline ::pg_query::A_Const* Node::release_a_const() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_const) - if (node_case() == kAConst) { - clear_has_node(); - auto* temp = _impl_.node_.a_const_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.node_.a_const_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFuncRunCondition.arg) } -inline const ::pg_query::A_Const& Node::_internal_a_const() const { - return node_case() == kAConst ? *_impl_.node_.a_const_ : reinterpret_cast<::pg_query::A_Const&>(::pg_query::_A_Const_default_instance_); + +// ------------------------------------------------------------------- + +// MergeSupportFunc + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool MergeSupportFunc::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::pg_query::A_Const& Node::a_const() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Node.a_const) - return _internal_a_const(); +inline void MergeSupportFunc::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::A_Const* Node::unsafe_arena_release_a_const() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_const) - if (node_case() == kAConst) { - clear_has_node(); - auto* temp = _impl_.node_.a_const_; - _impl_.node_.a_const_ = nullptr; - return temp; +inline const ::pg_query::Node& MergeSupportFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& MergeSupportFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.xpr) + return _internal_xpr(); +} +inline void MergeSupportFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeSupportFunc.xpr) } -inline void Node::unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_node(); - if (value) { - set_has_a_const(); - _impl_.node_.a_const_ = value; +inline ::pg_query::Node* MergeSupportFunc::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_const) -} -inline ::pg_query::A_Const* Node::_internal_mutable_a_const() { - if (node_case() != kAConst) { - clear_node(); - set_has_a_const(); - _impl_.node_.a_const_ = CreateMaybeMessage<::pg_query::A_Const>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.node_.a_const_; -} -inline ::pg_query::A_Const* Node::mutable_a_const() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::A_Const* _msg = _internal_mutable_a_const(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_const) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* MergeSupportFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeSupportFunc.xpr) -inline bool Node::has_node() const { - return node_case() != NODE_NOT_SET; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline void Node::clear_has_node() { - _impl_._oneof_case_[0] = NODE_NOT_SET; +inline ::pg_query::Node* MergeSupportFunc::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline Node::NodeCase Node::node_case() const { - return Node::NodeCase(_impl_._oneof_case_[0]); +inline ::pg_query::Node* MergeSupportFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeSupportFunc.xpr) + return _msg; } -// ------------------------------------------------------------------- +inline void MergeSupportFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } -// Integer + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// int32 ival = 1; -inline void Integer::clear_ival() { + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeSupportFunc.xpr) +} + +// uint32 msftype = 2 [json_name = "msftype"]; +inline void MergeSupportFunc::clear_msftype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ival_ = 0; + _impl_.msftype_ = 0u; } -inline ::int32_t Integer::ival() const { - // @@protoc_insertion_point(field_get:pg_query.Integer.ival) - return _internal_ival(); +inline ::uint32_t MergeSupportFunc::msftype() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.msftype) + return _internal_msftype(); } -inline void Integer::set_ival(::int32_t value) { - _internal_set_ival(value); - // @@protoc_insertion_point(field_set:pg_query.Integer.ival) +inline void MergeSupportFunc::set_msftype(::uint32_t value) { + _internal_set_msftype(value); + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.msftype) } -inline ::int32_t Integer::_internal_ival() const { +inline ::uint32_t MergeSupportFunc::_internal_msftype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ival_; + return _impl_.msftype_; } -inline void Integer::_internal_set_ival(::int32_t value) { +inline void MergeSupportFunc::_internal_set_msftype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ival_ = value; + _impl_.msftype_ = value; } -// ------------------------------------------------------------------- - -// Float - -// string fval = 1; -inline void Float::clear_fval() { +// uint32 msfcollid = 3 [json_name = "msfcollid"]; +inline void MergeSupportFunc::clear_msfcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fval_.ClearToEmpty(); -} -inline const std::string& Float::fval() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Float.fval) - return _internal_fval(); + _impl_.msfcollid_ = 0u; } -template -inline PROTOBUF_ALWAYS_INLINE void Float::set_fval(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.fval_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.Float.fval) +inline ::uint32_t MergeSupportFunc::msfcollid() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.msfcollid) + return _internal_msfcollid(); } -inline std::string* Float::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_fval(); - // @@protoc_insertion_point(field_mutable:pg_query.Float.fval) - return _s; +inline void MergeSupportFunc::set_msfcollid(::uint32_t value) { + _internal_set_msfcollid(value); + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.msfcollid) } -inline const std::string& Float::_internal_fval() const { +inline ::uint32_t MergeSupportFunc::_internal_msfcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fval_.Get(); -} -inline void Float::_internal_set_fval(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.fval_.Set(value, GetArena()); + return _impl_.msfcollid_; } -inline std::string* Float::_internal_mutable_fval() { +inline void MergeSupportFunc::_internal_set_msfcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.fval_.Mutable( GetArena()); -} -inline std::string* Float::release_fval() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Float.fval) - return _impl_.fval_.Release(); + _impl_.msfcollid_ = value; } -inline void Float::set_allocated_fval(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fval_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fval_.IsDefault()) { - _impl_.fval_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Float.fval) -} - -// ------------------------------------------------------------------- -// Boolean - -// bool boolval = 1; -inline void Boolean::clear_boolval() { +// int32 location = 4 [json_name = "location"]; +inline void MergeSupportFunc::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.boolval_ = false; + _impl_.location_ = 0; } -inline bool Boolean::boolval() const { - // @@protoc_insertion_point(field_get:pg_query.Boolean.boolval) - return _internal_boolval(); +inline ::int32_t MergeSupportFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.location) + return _internal_location(); } -inline void Boolean::set_boolval(bool value) { - _internal_set_boolval(value); - // @@protoc_insertion_point(field_set:pg_query.Boolean.boolval) +inline void MergeSupportFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.location) } -inline bool Boolean::_internal_boolval() const { +inline ::int32_t MergeSupportFunc::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.boolval_; + return _impl_.location_; } -inline void Boolean::_internal_set_boolval(bool value) { +inline void MergeSupportFunc::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.boolval_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// String +// SubscriptingRef -// string sval = 1; -inline void String::clear_sval() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sval_.ClearToEmpty(); -} -inline const std::string& String::sval() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.String.sval) - return _internal_sval(); +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool SubscriptingRef::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void String::set_sval(Arg_&& arg, - Args_... args) { +inline void SubscriptingRef::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sval_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.String.sval) -} -inline std::string* String::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_sval(); - // @@protoc_insertion_point(field_mutable:pg_query.String.sval) - return _s; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const std::string& String::_internal_sval() const { +inline const ::pg_query::Node& SubscriptingRef::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.sval_.Get(); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void String::_internal_set_sval(const std::string& value) { +inline const ::pg_query::Node& SubscriptingRef::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.xpr) + return _internal_xpr(); +} +inline void SubscriptingRef::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sval_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.xpr) } -inline std::string* String::_internal_mutable_sval() { +inline ::pg_query::Node* SubscriptingRef::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.sval_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* String::release_sval() { +inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.String.sval) - return _impl_.sval_.Release(); + // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline void String::set_allocated_sval(std::string* value) { +inline ::pg_query::Node* SubscriptingRef::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sval_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.sval_.IsDefault()) { - _impl_.sval_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.String.sval) + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; +} +inline ::pg_query::Node* SubscriptingRef::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.xpr) + return _msg; } +inline void SubscriptingRef::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// BitString + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.xpr) +} -// string bsval = 1; -inline void BitString::clear_bsval() { +// uint32 refcontainertype = 2 [json_name = "refcontainertype"]; +inline void SubscriptingRef::clear_refcontainertype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.bsval_.ClearToEmpty(); + _impl_.refcontainertype_ = 0u; } -inline const std::string& BitString::bsval() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.BitString.bsval) - return _internal_bsval(); +inline ::uint32_t SubscriptingRef::refcontainertype() const { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcontainertype) + return _internal_refcontainertype(); } -template -inline PROTOBUF_ALWAYS_INLINE void BitString::set_bsval(Arg_&& arg, - Args_... args) { +inline void SubscriptingRef::set_refcontainertype(::uint32_t value) { + _internal_set_refcontainertype(value); + // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcontainertype) +} +inline ::uint32_t SubscriptingRef::_internal_refcontainertype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refcontainertype_; +} +inline void SubscriptingRef::_internal_set_refcontainertype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.bsval_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.BitString.bsval) + _impl_.refcontainertype_ = value; } -inline std::string* BitString::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_bsval(); - // @@protoc_insertion_point(field_mutable:pg_query.BitString.bsval) - return _s; + +// uint32 refelemtype = 3 [json_name = "refelemtype"]; +inline void SubscriptingRef::clear_refelemtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refelemtype_ = 0u; } -inline const std::string& BitString::_internal_bsval() const { +inline ::uint32_t SubscriptingRef::refelemtype() const { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refelemtype) + return _internal_refelemtype(); +} +inline void SubscriptingRef::set_refelemtype(::uint32_t value) { + _internal_set_refelemtype(value); + // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refelemtype) +} +inline ::uint32_t SubscriptingRef::_internal_refelemtype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.bsval_.Get(); + return _impl_.refelemtype_; } -inline void BitString::_internal_set_bsval(const std::string& value) { +inline void SubscriptingRef::_internal_set_refelemtype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.bsval_.Set(value, GetArena()); + _impl_.refelemtype_ = value; } -inline std::string* BitString::_internal_mutable_bsval() { + +// uint32 refrestype = 4 [json_name = "refrestype"]; +inline void SubscriptingRef::clear_refrestype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.bsval_.Mutable( GetArena()); + _impl_.refrestype_ = 0u; } -inline std::string* BitString::release_bsval() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.BitString.bsval) - return _impl_.bsval_.Release(); +inline ::uint32_t SubscriptingRef::refrestype() const { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refrestype) + return _internal_refrestype(); } -inline void BitString::set_allocated_bsval(std::string* value) { +inline void SubscriptingRef::set_refrestype(::uint32_t value) { + _internal_set_refrestype(value); + // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refrestype) +} +inline ::uint32_t SubscriptingRef::_internal_refrestype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refrestype_; +} +inline void SubscriptingRef::_internal_set_refrestype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.bsval_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.bsval_.IsDefault()) { - _impl_.bsval_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.BitString.bsval) + ; + _impl_.refrestype_ = value; } -// ------------------------------------------------------------------- - -// List - -// repeated .pg_query.Node items = 1; -inline int List::_internal_items_size() const { - return _internal_items().size(); +// int32 reftypmod = 5 [json_name = "reftypmod"]; +inline void SubscriptingRef::clear_reftypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.reftypmod_ = 0; } -inline int List::items_size() const { - return _internal_items_size(); +inline ::int32_t SubscriptingRef::reftypmod() const { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reftypmod) + return _internal_reftypmod(); } -inline void List::clear_items() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.items_.Clear(); +inline void SubscriptingRef::set_reftypmod(::int32_t value) { + _internal_set_reftypmod(value); + // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.reftypmod) } -inline ::pg_query::Node* List::mutable_items(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.List.items) - return _internal_mutable_items()->Mutable(index); +inline ::int32_t SubscriptingRef::_internal_reftypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.reftypmod_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* List::mutable_items() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.List.items) +inline void SubscriptingRef::_internal_set_reftypmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_items(); -} -inline const ::pg_query::Node& List::items(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.List.items) - return _internal_items().Get(index); + ; + _impl_.reftypmod_ = value; } -inline ::pg_query::Node* List::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// uint32 refcollid = 6 [json_name = "refcollid"]; +inline void SubscriptingRef::clear_refcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_items()->Add(); - // @@protoc_insertion_point(field_add:pg_query.List.items) - return _add; + _impl_.refcollid_ = 0u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& List::items() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.List.items) - return _internal_items(); +inline ::uint32_t SubscriptingRef::refcollid() const { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcollid) + return _internal_refcollid(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -List::_internal_items() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.items_; +inline void SubscriptingRef::set_refcollid(::uint32_t value) { + _internal_set_refcollid(value); + // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcollid) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -List::_internal_mutable_items() { +inline ::uint32_t SubscriptingRef::_internal_refcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.items_; + return _impl_.refcollid_; +} +inline void SubscriptingRef::_internal_set_refcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refcollid_ = value; } -// ------------------------------------------------------------------- - -// OidList - -// repeated .pg_query.Node items = 1; -inline int OidList::_internal_items_size() const { - return _internal_items().size(); +// repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; +inline int SubscriptingRef::_internal_refupperindexpr_size() const { + return _internal_refupperindexpr().size(); } -inline int OidList::items_size() const { - return _internal_items_size(); +inline int SubscriptingRef::refupperindexpr_size() const { + return _internal_refupperindexpr_size(); } -inline void OidList::clear_items() { +inline void SubscriptingRef::clear_refupperindexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.items_.Clear(); + _impl_.refupperindexpr_.Clear(); } -inline ::pg_query::Node* OidList::mutable_items(int index) +inline ::pg_query::Node* SubscriptingRef::mutable_refupperindexpr(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OidList.items) - return _internal_mutable_items()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refupperindexpr) + return _internal_mutable_refupperindexpr()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OidList::mutable_items() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_refupperindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OidList.items) + // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.refupperindexpr) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_items(); + return _internal_mutable_refupperindexpr(); } -inline const ::pg_query::Node& OidList::items(int index) const +inline const ::pg_query::Node& SubscriptingRef::refupperindexpr(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OidList.items) - return _internal_items().Get(index); + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refupperindexpr) + return _internal_refupperindexpr().Get(index); } -inline ::pg_query::Node* OidList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* SubscriptingRef::add_refupperindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_items()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OidList.items) + ::pg_query::Node* _add = _internal_mutable_refupperindexpr()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.refupperindexpr) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OidList::items() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::refupperindexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OidList.items) - return _internal_items(); + // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.refupperindexpr) + return _internal_refupperindexpr(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OidList::_internal_items() const { +SubscriptingRef::_internal_refupperindexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.items_; + return _impl_.refupperindexpr_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OidList::_internal_mutable_items() { +SubscriptingRef::_internal_mutable_refupperindexpr() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.items_; + return &_impl_.refupperindexpr_; } -// ------------------------------------------------------------------- - -// IntList - -// repeated .pg_query.Node items = 1; -inline int IntList::_internal_items_size() const { - return _internal_items().size(); +// repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; +inline int SubscriptingRef::_internal_reflowerindexpr_size() const { + return _internal_reflowerindexpr().size(); } -inline int IntList::items_size() const { - return _internal_items_size(); +inline int SubscriptingRef::reflowerindexpr_size() const { + return _internal_reflowerindexpr_size(); } -inline void IntList::clear_items() { +inline void SubscriptingRef::clear_reflowerindexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.items_.Clear(); + _impl_.reflowerindexpr_.Clear(); } -inline ::pg_query::Node* IntList::mutable_items(int index) +inline ::pg_query::Node* SubscriptingRef::mutable_reflowerindexpr(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IntList.items) - return _internal_mutable_items()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.reflowerindexpr) + return _internal_mutable_reflowerindexpr()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntList::mutable_items() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_reflowerindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IntList.items) + // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.reflowerindexpr) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_items(); + return _internal_mutable_reflowerindexpr(); } -inline const ::pg_query::Node& IntList::items(int index) const +inline const ::pg_query::Node& SubscriptingRef::reflowerindexpr(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntList.items) - return _internal_items().Get(index); + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reflowerindexpr) + return _internal_reflowerindexpr().Get(index); } -inline ::pg_query::Node* IntList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* SubscriptingRef::add_reflowerindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_items()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IntList.items) + ::pg_query::Node* _add = _internal_mutable_reflowerindexpr()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.reflowerindexpr) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntList::items() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::reflowerindexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IntList.items) - return _internal_items(); + // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.reflowerindexpr) + return _internal_reflowerindexpr(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IntList::_internal_items() const { +SubscriptingRef::_internal_reflowerindexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.items_; + return _impl_.reflowerindexpr_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IntList::_internal_mutable_items() { +SubscriptingRef::_internal_mutable_reflowerindexpr() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.items_; + return &_impl_.reflowerindexpr_; } -// ------------------------------------------------------------------- - -// A_Const - -// .pg_query.Integer ival = 1; -inline bool A_Const::has_ival() const { - return val_case() == kIval; -} -inline bool A_Const::_internal_has_ival() const { - return val_case() == kIval; -} -inline void A_Const::set_has_ival() { - _impl_._oneof_case_[0] = kIval; +// .pg_query.Node refexpr = 9 [json_name = "refexpr"]; +inline bool SubscriptingRef::has_refexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.refexpr_ != nullptr); + return value; } -inline void A_Const::clear_ival() { +inline void SubscriptingRef::clear_refexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (val_case() == kIval) { - if (GetArena() == nullptr) { - delete _impl_.val_.ival_; - } - clear_has_val(); - } -} -inline ::pg_query::Integer* A_Const::release_ival() { - // @@protoc_insertion_point(field_release:pg_query.A_Const.ival) - if (val_case() == kIval) { - clear_has_val(); - auto* temp = _impl_.val_.ival_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.val_.ival_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.refexpr_ != nullptr) _impl_.refexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Integer& A_Const::_internal_ival() const { - return val_case() == kIval ? *_impl_.val_.ival_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); +inline const ::pg_query::Node& SubscriptingRef::_internal_refexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.refexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Integer& A_Const::ival() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Const.ival) - return _internal_ival(); +inline const ::pg_query::Node& SubscriptingRef::refexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refexpr) + return _internal_refexpr(); } -inline ::pg_query::Integer* A_Const::unsafe_arena_release_ival() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.ival) - if (val_case() == kIval) { - clear_has_val(); - auto* temp = _impl_.val_.ival_; - _impl_.val_.ival_ = nullptr; - return temp; +inline void SubscriptingRef::unsafe_arena_set_allocated_refexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refexpr_); + } + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refexpr) } -inline void A_Const::unsafe_arena_set_allocated_ival(::pg_query::Integer* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_val(); - if (value) { - set_has_ival(); - _impl_.val_.ival_ = value; +inline ::pg_query::Node* SubscriptingRef::release_refexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.refexpr_; + _impl_.refexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.ival) -} -inline ::pg_query::Integer* A_Const::_internal_mutable_ival() { - if (val_case() != kIval) { - clear_val(); - set_has_ival(); - _impl_.val_.ival_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.val_.ival_; -} -inline ::pg_query::Integer* A_Const::mutable_ival() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Integer* _msg = _internal_mutable_ival(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Const.ival) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refexpr) -// .pg_query.Float fval = 2; -inline bool A_Const::has_fval() const { - return val_case() == kFval; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.refexpr_; + _impl_.refexpr_ = nullptr; + return temp; } -inline bool A_Const::_internal_has_fval() const { - return val_case() == kFval; +inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.refexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.refexpr_; } -inline void A_Const::set_has_fval() { - _impl_._oneof_case_[0] = kFval; +inline ::pg_query::Node* SubscriptingRef::mutable_refexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_refexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refexpr) + return _msg; } -inline void A_Const::clear_fval() { +inline void SubscriptingRef::set_allocated_refexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (val_case() == kFval) { - if (GetArena() == nullptr) { - delete _impl_.val_.fval_; - } - clear_has_val(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.refexpr_); } -} -inline ::pg_query::Float* A_Const::release_fval() { - // @@protoc_insertion_point(field_release:pg_query.A_Const.fval) - if (val_case() == kFval) { - clear_has_val(); - auto* temp = _impl_.val_.fval_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.val_.fval_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::pg_query::Float& A_Const::_internal_fval() const { - return val_case() == kFval ? *_impl_.val_.fval_ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); -} -inline const ::pg_query::Float& A_Const::fval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Const.fval) - return _internal_fval(); -} -inline ::pg_query::Float* A_Const::unsafe_arena_release_fval() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.fval) - if (val_case() == kFval) { - clear_has_val(); - auto* temp = _impl_.val_.fval_; - _impl_.val_.fval_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000002u; } else { - return nullptr; - } -} -inline void A_Const::unsafe_arena_set_allocated_fval(::pg_query::Float* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_val(); - if (value) { - set_has_fval(); - _impl_.val_.fval_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.fval) -} -inline ::pg_query::Float* A_Const::_internal_mutable_fval() { - if (val_case() != kFval) { - clear_val(); - set_has_fval(); - _impl_.val_.fval_ = CreateMaybeMessage<::pg_query::Float>(GetArena()); + _impl_._has_bits_[0] &= ~0x00000002u; } - return _impl_.val_.fval_; -} -inline ::pg_query::Float* A_Const::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Float* _msg = _internal_mutable_fval(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Const.fval) - return _msg; -} -// .pg_query.Boolean boolval = 3; -inline bool A_Const::has_boolval() const { - return val_case() == kBoolval; -} -inline bool A_Const::_internal_has_boolval() const { - return val_case() == kBoolval; + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refexpr) } -inline void A_Const::set_has_boolval() { - _impl_._oneof_case_[0] = kBoolval; + +// .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; +inline bool SubscriptingRef::has_refassgnexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.refassgnexpr_ != nullptr); + return value; } -inline void A_Const::clear_boolval() { +inline void SubscriptingRef::clear_refassgnexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (val_case() == kBoolval) { - if (GetArena() == nullptr) { - delete _impl_.val_.boolval_; - } - clear_has_val(); - } -} -inline ::pg_query::Boolean* A_Const::release_boolval() { - // @@protoc_insertion_point(field_release:pg_query.A_Const.boolval) - if (val_case() == kBoolval) { - clear_has_val(); - auto* temp = _impl_.val_.boolval_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); - } - _impl_.val_.boolval_ = nullptr; - return temp; - } else { - return nullptr; - } + if (_impl_.refassgnexpr_ != nullptr) _impl_.refassgnexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Boolean& A_Const::_internal_boolval() const { - return val_case() == kBoolval ? *_impl_.val_.boolval_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); +inline const ::pg_query::Node& SubscriptingRef::_internal_refassgnexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.refassgnexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Boolean& A_Const::boolval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Const.boolval) - return _internal_boolval(); +inline const ::pg_query::Node& SubscriptingRef::refassgnexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refassgnexpr) + return _internal_refassgnexpr(); } -inline ::pg_query::Boolean* A_Const::unsafe_arena_release_boolval() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.boolval) - if (val_case() == kBoolval) { - clear_has_val(); - auto* temp = _impl_.val_.boolval_; - _impl_.val_.boolval_ = nullptr; - return temp; +inline void SubscriptingRef::unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refassgnexpr_); + } + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refassgnexpr) } -inline void A_Const::unsafe_arena_set_allocated_boolval(::pg_query::Boolean* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_val(); - if (value) { - set_has_boolval(); - _impl_.val_.boolval_ = value; +inline ::pg_query::Node* SubscriptingRef::release_refassgnexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.refassgnexpr_; + _impl_.refassgnexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.boolval) -} -inline ::pg_query::Boolean* A_Const::_internal_mutable_boolval() { - if (val_case() != kBoolval) { - clear_val(); - set_has_boolval(); - _impl_.val_.boolval_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.val_.boolval_; -} -inline ::pg_query::Boolean* A_Const::mutable_boolval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Boolean* _msg = _internal_mutable_boolval(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Const.boolval) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refassgnexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refassgnexpr) -// .pg_query.String sval = 4; -inline bool A_Const::has_sval() const { - return val_case() == kSval; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.refassgnexpr_; + _impl_.refassgnexpr_ = nullptr; + return temp; } -inline bool A_Const::_internal_has_sval() const { - return val_case() == kSval; +inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refassgnexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.refassgnexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.refassgnexpr_; } -inline void A_Const::set_has_sval() { - _impl_._oneof_case_[0] = kSval; +inline ::pg_query::Node* SubscriptingRef::mutable_refassgnexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_refassgnexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refassgnexpr) + return _msg; } -inline void A_Const::clear_sval() { +inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (val_case() == kSval) { - if (GetArena() == nullptr) { - delete _impl_.val_.sval_; - } - clear_has_val(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.refassgnexpr_); } -} -inline ::pg_query::String* A_Const::release_sval() { - // @@protoc_insertion_point(field_release:pg_query.A_Const.sval) - if (val_case() == kSval) { - clear_has_val(); - auto* temp = _impl_.val_.sval_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.val_.sval_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000004u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; } + + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refassgnexpr) } -inline const ::pg_query::String& A_Const::_internal_sval() const { - return val_case() == kSval ? *_impl_.val_.sval_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); + +// ------------------------------------------------------------------- + +// FuncExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool FuncExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void FuncExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& FuncExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::String& A_Const::sval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Const.sval) - return _internal_sval(); +inline const ::pg_query::Node& FuncExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.xpr) + return _internal_xpr(); } -inline ::pg_query::String* A_Const::unsafe_arena_release_sval() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.sval) - if (val_case() == kSval) { - clear_has_val(); - auto* temp = _impl_.val_.sval_; - _impl_.val_.sval_ = nullptr; - return temp; +inline void FuncExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncExpr.xpr) } -inline void A_Const::unsafe_arena_set_allocated_sval(::pg_query::String* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_val(); - if (value) { - set_has_sval(); - _impl_.val_.sval_ = value; +inline ::pg_query::Node* FuncExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.sval) -} -inline ::pg_query::String* A_Const::_internal_mutable_sval() { - if (val_case() != kSval) { - clear_val(); - set_has_sval(); - _impl_.val_.sval_ = CreateMaybeMessage<::pg_query::String>(GetArena()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } - return _impl_.val_.sval_; -} -inline ::pg_query::String* A_Const::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::String* _msg = _internal_mutable_sval(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Const.sval) - return _msg; +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* FuncExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FuncExpr.xpr) -// .pg_query.BitString bsval = 5; -inline bool A_Const::has_bsval() const { - return val_case() == kBsval; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline bool A_Const::_internal_has_bsval() const { - return val_case() == kBsval; +inline ::pg_query::Node* FuncExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void A_Const::set_has_bsval() { - _impl_._oneof_case_[0] = kBsval; +inline ::pg_query::Node* FuncExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.xpr) + return _msg; } -inline void A_Const::clear_bsval() { +inline void FuncExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (val_case() == kBsval) { - if (GetArena() == nullptr) { - delete _impl_.val_.bsval_; - } - clear_has_val(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } -} -inline ::pg_query::BitString* A_Const::release_bsval() { - // @@protoc_insertion_point(field_release:pg_query.A_Const.bsval) - if (val_case() == kBsval) { - clear_has_val(); - auto* temp = _impl_.val_.bsval_; - if (GetArena() != nullptr) { - temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_.val_.bsval_ = nullptr; - return temp; + _impl_._has_bits_[0] |= 0x00000001u; } else { - return nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FuncExpr.xpr) } -inline const ::pg_query::BitString& A_Const::_internal_bsval() const { - return val_case() == kBsval ? *_impl_.val_.bsval_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); -} -inline const ::pg_query::BitString& A_Const::bsval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Const.bsval) - return _internal_bsval(); + +// uint32 funcid = 2 [json_name = "funcid"]; +inline void FuncExpr::clear_funcid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcid_ = 0u; } -inline ::pg_query::BitString* A_Const::unsafe_arena_release_bsval() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.bsval) - if (val_case() == kBsval) { - clear_has_val(); - auto* temp = _impl_.val_.bsval_; - _impl_.val_.bsval_ = nullptr; - return temp; - } else { - return nullptr; - } +inline ::uint32_t FuncExpr::funcid() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcid) + return _internal_funcid(); } -inline void A_Const::unsafe_arena_set_allocated_bsval(::pg_query::BitString* value) { - // We rely on the oneof clear method to free the earlier contents - // of this oneof. We can directly use the pointer we're given to - // set the new value. - clear_val(); - if (value) { - set_has_bsval(); - _impl_.val_.bsval_ = value; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.bsval) +inline void FuncExpr::set_funcid(::uint32_t value) { + _internal_set_funcid(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcid) } -inline ::pg_query::BitString* A_Const::_internal_mutable_bsval() { - if (val_case() != kBsval) { - clear_val(); - set_has_bsval(); - _impl_.val_.bsval_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); - } - return _impl_.val_.bsval_; +inline ::uint32_t FuncExpr::_internal_funcid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcid_; } -inline ::pg_query::BitString* A_Const::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::BitString* _msg = _internal_mutable_bsval(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Const.bsval) - return _msg; +inline void FuncExpr::_internal_set_funcid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcid_ = value; } -// bool isnull = 10; -inline void A_Const::clear_isnull() { +// uint32 funcresulttype = 3 [json_name = "funcresulttype"]; +inline void FuncExpr::clear_funcresulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.isnull_ = false; + _impl_.funcresulttype_ = 0u; } -inline bool A_Const::isnull() const { - // @@protoc_insertion_point(field_get:pg_query.A_Const.isnull) - return _internal_isnull(); +inline ::uint32_t FuncExpr::funcresulttype() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcresulttype) + return _internal_funcresulttype(); } -inline void A_Const::set_isnull(bool value) { - _internal_set_isnull(value); - // @@protoc_insertion_point(field_set:pg_query.A_Const.isnull) +inline void FuncExpr::set_funcresulttype(::uint32_t value) { + _internal_set_funcresulttype(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcresulttype) } -inline bool A_Const::_internal_isnull() const { +inline ::uint32_t FuncExpr::_internal_funcresulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.isnull_; + return _impl_.funcresulttype_; } -inline void A_Const::_internal_set_isnull(bool value) { +inline void FuncExpr::_internal_set_funcresulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.isnull_ = value; + _impl_.funcresulttype_ = value; } -// int32 location = 11; -inline void A_Const::clear_location() { +// bool funcretset = 4 [json_name = "funcretset"]; +inline void FuncExpr::clear_funcretset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.funcretset_ = false; } -inline ::int32_t A_Const::location() const { - // @@protoc_insertion_point(field_get:pg_query.A_Const.location) - return _internal_location(); +inline bool FuncExpr::funcretset() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcretset) + return _internal_funcretset(); } -inline void A_Const::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.A_Const.location) +inline void FuncExpr::set_funcretset(bool value) { + _internal_set_funcretset(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcretset) } -inline ::int32_t A_Const::_internal_location() const { +inline bool FuncExpr::_internal_funcretset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.funcretset_; } -inline void A_Const::_internal_set_location(::int32_t value) { +inline void FuncExpr::_internal_set_funcretset(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.funcretset_ = value; } -inline bool A_Const::has_val() const { - return val_case() != VAL_NOT_SET; +// bool funcvariadic = 5 [json_name = "funcvariadic"]; +inline void FuncExpr::clear_funcvariadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcvariadic_ = false; } -inline void A_Const::clear_has_val() { - _impl_._oneof_case_[0] = VAL_NOT_SET; +inline bool FuncExpr::funcvariadic() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcvariadic) + return _internal_funcvariadic(); } -inline A_Const::ValCase A_Const::val_case() const { - return A_Const::ValCase(_impl_._oneof_case_[0]); +inline void FuncExpr::set_funcvariadic(bool value) { + _internal_set_funcvariadic(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcvariadic) +} +inline bool FuncExpr::_internal_funcvariadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcvariadic_; +} +inline void FuncExpr::_internal_set_funcvariadic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcvariadic_ = value; } -// ------------------------------------------------------------------- - -// Alias -// string aliasname = 1 [json_name = "aliasname"]; -inline void Alias::clear_aliasname() { +// .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"]; +inline void FuncExpr::clear_funcformat() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aliasname_.ClearToEmpty(); + _impl_.funcformat_ = 0; } -inline const std::string& Alias::aliasname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Alias.aliasname) - return _internal_aliasname(); +inline ::pg_query::CoercionForm FuncExpr::funcformat() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcformat) + return _internal_funcformat(); } -template -inline PROTOBUF_ALWAYS_INLINE void Alias::set_aliasname(Arg_&& arg, - Args_... args) { +inline void FuncExpr::set_funcformat(::pg_query::CoercionForm value) { + _internal_set_funcformat(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcformat) +} +inline ::pg_query::CoercionForm FuncExpr::_internal_funcformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); +} +inline void FuncExpr::_internal_set_funcformat(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.aliasname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.Alias.aliasname) + _impl_.funcformat_ = value; } -inline std::string* Alias::mutable_aliasname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_aliasname(); - // @@protoc_insertion_point(field_mutable:pg_query.Alias.aliasname) - return _s; + +// uint32 funccollid = 7 [json_name = "funccollid"]; +inline void FuncExpr::clear_funccollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccollid_ = 0u; } -inline const std::string& Alias::_internal_aliasname() const { +inline ::uint32_t FuncExpr::funccollid() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funccollid) + return _internal_funccollid(); +} +inline void FuncExpr::set_funccollid(::uint32_t value) { + _internal_set_funccollid(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funccollid) +} +inline ::uint32_t FuncExpr::_internal_funccollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aliasname_.Get(); + return _impl_.funccollid_; } -inline void Alias::_internal_set_aliasname(const std::string& value) { +inline void FuncExpr::_internal_set_funccollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.aliasname_.Set(value, GetArena()); + _impl_.funccollid_ = value; } -inline std::string* Alias::_internal_mutable_aliasname() { + +// uint32 inputcollid = 8 [json_name = "inputcollid"]; +inline void FuncExpr::clear_inputcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.aliasname_.Mutable( GetArena()); + _impl_.inputcollid_ = 0u; } -inline std::string* Alias::release_aliasname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Alias.aliasname) - return _impl_.aliasname_.Release(); +inline ::uint32_t FuncExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.inputcollid) + return _internal_inputcollid(); } -inline void Alias::set_allocated_aliasname(std::string* value) { +inline void FuncExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.inputcollid) +} +inline ::uint32_t FuncExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void FuncExpr::_internal_set_inputcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aliasname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.aliasname_.IsDefault()) { - _impl_.aliasname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Alias.aliasname) + ; + _impl_.inputcollid_ = value; } -// repeated .pg_query.Node colnames = 2 [json_name = "colnames"]; -inline int Alias::_internal_colnames_size() const { - return _internal_colnames().size(); +// repeated .pg_query.Node args = 9 [json_name = "args"]; +inline int FuncExpr::_internal_args_size() const { + return _internal_args().size(); } -inline int Alias::colnames_size() const { - return _internal_colnames_size(); +inline int FuncExpr::args_size() const { + return _internal_args_size(); } -inline void Alias::clear_colnames() { +inline void FuncExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colnames_.Clear(); + _impl_.args_.Clear(); } -inline ::pg_query::Node* Alias::mutable_colnames(int index) +inline ::pg_query::Node* FuncExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Alias.colnames) - return _internal_mutable_colnames()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Alias::mutable_colnames() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Alias.colnames) + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colnames(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& Alias::colnames(int index) const +inline const ::pg_query::Node& FuncExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Alias.colnames) - return _internal_colnames().Get(index); + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* Alias::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FuncExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Alias.colnames) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Alias::colnames() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Alias.colnames) - return _internal_colnames(); + // @@protoc_insertion_point(field_list:pg_query.FuncExpr.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Alias::_internal_colnames() const { +FuncExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colnames_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Alias::_internal_mutable_colnames() { +FuncExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colnames_; + return &_impl_.args_; +} + +// int32 location = 10 [json_name = "location"]; +inline void FuncExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t FuncExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.FuncExpr.location) + return _internal_location(); +} +inline void FuncExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.FuncExpr.location) +} +inline ::int32_t FuncExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void FuncExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// RangeVar +// NamedArgExpr -// string catalogname = 1 [json_name = "catalogname"]; -inline void RangeVar::clear_catalogname() { +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool NamedArgExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void NamedArgExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.catalogname_.ClearToEmpty(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const std::string& RangeVar::catalogname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.catalogname) - return _internal_catalogname(); +inline const ::pg_query::Node& NamedArgExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -template -inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_catalogname(Arg_&& arg, - Args_... args) { +inline const ::pg_query::Node& NamedArgExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.xpr) + return _internal_xpr(); +} +inline void NamedArgExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.catalogname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.catalogname) + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.xpr) } -inline std::string* RangeVar::mutable_catalogname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_catalogname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.catalogname) - return _s; +inline ::pg_query::Node* NamedArgExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const std::string& RangeVar::_internal_catalogname() const { +inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; +} +inline ::pg_query::Node* NamedArgExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; +} +inline ::pg_query::Node* NamedArgExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.xpr) + return _msg; +} +inline void NamedArgExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.xpr) +} + +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool NamedArgExpr::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; +} +inline void NamedArgExpr::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& NamedArgExpr::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.catalogname_.Get(); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RangeVar::_internal_set_catalogname(const std::string& value) { +inline const ::pg_query::Node& NamedArgExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.arg) + return _internal_arg(); +} +inline void NamedArgExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.catalogname_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.arg) } -inline std::string* RangeVar::_internal_mutable_catalogname() { +inline ::pg_query::Node* NamedArgExpr::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.catalogname_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* RangeVar::release_catalogname() { +inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeVar.catalogname) - return _impl_.catalogname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline void RangeVar::set_allocated_catalogname(std::string* value) { +inline ::pg_query::Node* NamedArgExpr::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.catalogname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.catalogname_.IsDefault()) { - _impl_.catalogname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.catalogname) + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; +} +inline ::pg_query::Node* NamedArgExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.arg) + return _msg; } +inline void NamedArgExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } -// string schemaname = 2 [json_name = "schemaname"]; -inline void RangeVar::clear_schemaname() { + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.arg) +} + +// string name = 3 [json_name = "name"]; +inline void NamedArgExpr::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.schemaname_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& RangeVar::schemaname() const +inline const std::string& NamedArgExpr::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.schemaname) - return _internal_schemaname(); + // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_schemaname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void NamedArgExpr::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.schemaname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.schemaname) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.name) } -inline std::string* RangeVar::mutable_schemaname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_schemaname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.schemaname) +inline std::string* NamedArgExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.name) return _s; } -inline const std::string& RangeVar::_internal_schemaname() const { +inline const std::string& NamedArgExpr::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.schemaname_.Get(); + return _impl_.name_.Get(); } -inline void RangeVar::_internal_set_schemaname(const std::string& value) { +inline void NamedArgExpr::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.schemaname_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* RangeVar::_internal_mutable_schemaname() { +inline std::string* NamedArgExpr::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.schemaname_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* RangeVar::release_schemaname() { +inline std::string* NamedArgExpr::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeVar.schemaname) - return _impl_.schemaname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.name) + return _impl_.name_.Release(); } -inline void RangeVar::set_allocated_schemaname(std::string* value) { +inline void NamedArgExpr::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.schemaname_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.schemaname_.IsDefault()) { - _impl_.schemaname_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.schemaname) + // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.name) } -// string relname = 3 [json_name = "relname"]; -inline void RangeVar::clear_relname() { +// int32 argnumber = 4 [json_name = "argnumber"]; +inline void NamedArgExpr::clear_argnumber() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relname_.ClearToEmpty(); + _impl_.argnumber_ = 0; } -inline const std::string& RangeVar::relname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.relname) - return _internal_relname(); +inline ::int32_t NamedArgExpr::argnumber() const { + // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.argnumber) + return _internal_argnumber(); } -template -inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relname(Arg_&& arg, - Args_... args) { +inline void NamedArgExpr::set_argnumber(::int32_t value) { + _internal_set_argnumber(value); + // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.argnumber) +} +inline ::int32_t NamedArgExpr::_internal_argnumber() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.argnumber_; +} +inline void NamedArgExpr::_internal_set_argnumber(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.relname) + _impl_.argnumber_ = value; } -inline std::string* RangeVar::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_relname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relname) - return _s; + +// int32 location = 5 [json_name = "location"]; +inline void NamedArgExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const std::string& RangeVar::_internal_relname() const { +inline ::int32_t NamedArgExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.location) + return _internal_location(); +} +inline void NamedArgExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.location) +} +inline ::int32_t NamedArgExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relname_.Get(); + return _impl_.location_; } -inline void RangeVar::_internal_set_relname(const std::string& value) { +inline void NamedArgExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relname_.Set(value, GetArena()); + _impl_.location_ = value; } -inline std::string* RangeVar::_internal_mutable_relname() { + +// ------------------------------------------------------------------- + +// OpExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool OpExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void OpExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.relname_.Mutable( GetArena()); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* RangeVar::release_relname() { +inline const ::pg_query::Node& OpExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& OpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.xpr) + return _internal_xpr(); +} +inline void OpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeVar.relname) - return _impl_.relname_.Release(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OpExpr.xpr) } -inline void RangeVar::set_allocated_relname(std::string* value) { +inline ::pg_query::Node* OpExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relname_.IsDefault()) { - _impl_.relname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relname) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* OpExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.OpExpr.xpr) -// bool inh = 4 [json_name = "inh"]; -inline void RangeVar::clear_inh() { + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; +} +inline ::pg_query::Node* OpExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inh_ = false; + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline bool RangeVar::inh() const { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.inh) - return _internal_inh(); +inline ::pg_query::Node* OpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.xpr) + return _msg; } -inline void RangeVar::set_inh(bool value) { - _internal_set_inh(value); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.inh) +inline void OpExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OpExpr.xpr) } -inline bool RangeVar::_internal_inh() const { + +// uint32 opno = 2 [json_name = "opno"]; +inline void OpExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opno_ = 0u; +} +inline ::uint32_t OpExpr::opno() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.opno) + return _internal_opno(); +} +inline void OpExpr::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.opno) +} +inline ::uint32_t OpExpr::_internal_opno() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inh_; + return _impl_.opno_; } -inline void RangeVar::_internal_set_inh(bool value) { +inline void OpExpr::_internal_set_opno(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inh_ = value; + _impl_.opno_ = value; } -// string relpersistence = 5 [json_name = "relpersistence"]; -inline void RangeVar::clear_relpersistence() { +// uint32 opresulttype = 3 [json_name = "opresulttype"]; +inline void OpExpr::clear_opresulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relpersistence_.ClearToEmpty(); + _impl_.opresulttype_ = 0u; } -inline const std::string& RangeVar::relpersistence() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.relpersistence) - return _internal_relpersistence(); +inline ::uint32_t OpExpr::opresulttype() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.opresulttype) + return _internal_opresulttype(); } -template -inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relpersistence(Arg_&& arg, - Args_... args) { +inline void OpExpr::set_opresulttype(::uint32_t value) { + _internal_set_opresulttype(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.opresulttype) +} +inline ::uint32_t OpExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; +} +inline void OpExpr::_internal_set_opresulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relpersistence_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.relpersistence) + _impl_.opresulttype_ = value; } -inline std::string* RangeVar::mutable_relpersistence() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_relpersistence(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relpersistence) - return _s; + +// bool opretset = 4 [json_name = "opretset"]; +inline void OpExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opretset_ = false; } -inline const std::string& RangeVar::_internal_relpersistence() const { +inline bool OpExpr::opretset() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.opretset) + return _internal_opretset(); +} +inline void OpExpr::set_opretset(bool value) { + _internal_set_opretset(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.opretset) +} +inline bool OpExpr::_internal_opretset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relpersistence_.Get(); + return _impl_.opretset_; } -inline void RangeVar::_internal_set_relpersistence(const std::string& value) { +inline void OpExpr::_internal_set_opretset(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relpersistence_.Set(value, GetArena()); + _impl_.opretset_ = value; } -inline std::string* RangeVar::_internal_mutable_relpersistence() { + +// uint32 opcollid = 5 [json_name = "opcollid"]; +inline void OpExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opcollid_ = 0u; +} +inline ::uint32_t OpExpr::opcollid() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.opcollid) + return _internal_opcollid(); +} +inline void OpExpr::set_opcollid(::uint32_t value) { + _internal_set_opcollid(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.opcollid) +} +inline ::uint32_t OpExpr::_internal_opcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opcollid_; +} +inline void OpExpr::_internal_set_opcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.relpersistence_.Mutable( GetArena()); + _impl_.opcollid_ = value; +} + +// uint32 inputcollid = 6 [json_name = "inputcollid"]; +inline void OpExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t OpExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.inputcollid) + return _internal_inputcollid(); +} +inline void OpExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.inputcollid) +} +inline ::uint32_t OpExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void OpExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} + +// repeated .pg_query.Node args = 7 [json_name = "args"]; +inline int OpExpr::_internal_args_size() const { + return _internal_args().size(); +} +inline int OpExpr::args_size() const { + return _internal_args_size(); +} +inline void OpExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* OpExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OpExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OpExpr.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::pg_query::Node& OpExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* OpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OpExpr.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OpExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OpExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OpExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OpExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// int32 location = 8 [json_name = "location"]; +inline void OpExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t OpExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.OpExpr.location) + return _internal_location(); } -inline std::string* RangeVar::release_relpersistence() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeVar.relpersistence) - return _impl_.relpersistence_.Release(); +inline void OpExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.OpExpr.location) } -inline void RangeVar::set_allocated_relpersistence(std::string* value) { +inline ::int32_t OpExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void OpExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relpersistence_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relpersistence_.IsDefault()) { - _impl_.relpersistence_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relpersistence) + ; + _impl_.location_ = value; } -// .pg_query.Alias alias = 6 [json_name = "alias"]; -inline bool RangeVar::has_alias() const { +// ------------------------------------------------------------------- + +// DistinctExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool DistinctExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void RangeVar::clear_alias() { +inline void DistinctExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeVar::_internal_alias() const { +inline const ::pg_query::Node& DistinctExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeVar::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.alias) - return _internal_alias(); +inline const ::pg_query::Node& DistinctExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.xpr) + return _internal_xpr(); } -inline void RangeVar::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void DistinctExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeVar.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DistinctExpr.xpr) } -inline ::pg_query::Alias* RangeVar::release_alias() { +inline ::pg_query::Node* DistinctExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -92566,38 +103874,38 @@ inline ::pg_query::Alias* RangeVar::release_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeVar::unsafe_arena_release_alias() { +inline ::pg_query::Node* DistinctExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeVar.alias) + // @@protoc_insertion_point(field_release:pg_query.DistinctExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeVar::_internal_mutable_alias() { +inline ::pg_query::Node* DistinctExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.alias_; + return _impl_.xpr_; } -inline ::pg_query::Alias* RangeVar::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.alias) +inline ::pg_query::Node* DistinctExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.xpr) return _msg; } -inline void RangeVar::set_allocated_alias(::pg_query::Alias* value) { +inline void DistinctExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -92606,174 +103914,240 @@ inline void RangeVar::set_allocated_alias(::pg_query::Alias* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.alias) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DistinctExpr.xpr) } -// int32 location = 7 [json_name = "location"]; -inline void RangeVar::clear_location() { +// uint32 opno = 2 [json_name = "opno"]; +inline void DistinctExpr::clear_opno() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.opno_ = 0u; } -inline ::int32_t RangeVar::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeVar.location) - return _internal_location(); +inline ::uint32_t DistinctExpr::opno() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opno) + return _internal_opno(); } -inline void RangeVar::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeVar.location) +inline void DistinctExpr::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opno) } -inline ::int32_t RangeVar::_internal_location() const { +inline ::uint32_t DistinctExpr::_internal_opno() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.opno_; } -inline void RangeVar::_internal_set_location(::int32_t value) { +inline void DistinctExpr::_internal_set_opno(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.opno_ = value; } -// ------------------------------------------------------------------- - -// TableFunc - -// repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"]; -inline int TableFunc::_internal_ns_uris_size() const { - return _internal_ns_uris().size(); +// uint32 opresulttype = 3 [json_name = "opresulttype"]; +inline void DistinctExpr::clear_opresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opresulttype_ = 0u; } -inline int TableFunc::ns_uris_size() const { - return _internal_ns_uris_size(); +inline ::uint32_t DistinctExpr::opresulttype() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opresulttype) + return _internal_opresulttype(); } -inline void TableFunc::clear_ns_uris() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ns_uris_.Clear(); +inline void DistinctExpr::set_opresulttype(::uint32_t value) { + _internal_set_opresulttype(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opresulttype) } -inline ::pg_query::Node* TableFunc::mutable_ns_uris(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_uris) - return _internal_mutable_ns_uris()->Mutable(index); +inline ::uint32_t DistinctExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_uris() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_uris) +inline void DistinctExpr::_internal_set_opresulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ns_uris(); + ; + _impl_.opresulttype_ = value; } -inline const ::pg_query::Node& TableFunc::ns_uris(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_uris) - return _internal_ns_uris().Get(index); + +// bool opretset = 4 [json_name = "opretset"]; +inline void DistinctExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opretset_ = false; } -inline ::pg_query::Node* TableFunc::add_ns_uris() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline bool DistinctExpr::opretset() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opretset) + return _internal_opretset(); +} +inline void DistinctExpr::set_opretset(bool value) { + _internal_set_opretset(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opretset) +} +inline bool DistinctExpr::_internal_opretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opretset_; +} +inline void DistinctExpr::_internal_set_opretset(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ns_uris()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_uris) - return _add; + ; + _impl_.opretset_ = value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_uris() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_uris) - return _internal_ns_uris(); + +// uint32 opcollid = 5 [json_name = "opcollid"]; +inline void DistinctExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opcollid_ = 0u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_ns_uris() const { +inline ::uint32_t DistinctExpr::opcollid() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opcollid) + return _internal_opcollid(); +} +inline void DistinctExpr::set_opcollid(::uint32_t value) { + _internal_set_opcollid(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opcollid) +} +inline ::uint32_t DistinctExpr::_internal_opcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ns_uris_; + return _impl_.opcollid_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_ns_uris() { +inline void DistinctExpr::_internal_set_opcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opcollid_ = value; +} + +// uint32 inputcollid = 6 [json_name = "inputcollid"]; +inline void DistinctExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t DistinctExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.inputcollid) + return _internal_inputcollid(); +} +inline void DistinctExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.inputcollid) +} +inline ::uint32_t DistinctExpr::_internal_inputcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ns_uris_; + return _impl_.inputcollid_; +} +inline void DistinctExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -// repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"]; -inline int TableFunc::_internal_ns_names_size() const { - return _internal_ns_names().size(); +// repeated .pg_query.Node args = 7 [json_name = "args"]; +inline int DistinctExpr::_internal_args_size() const { + return _internal_args().size(); } -inline int TableFunc::ns_names_size() const { - return _internal_ns_names_size(); +inline int DistinctExpr::args_size() const { + return _internal_args_size(); } -inline void TableFunc::clear_ns_names() { +inline void DistinctExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ns_names_.Clear(); + _impl_.args_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_ns_names(int index) +inline ::pg_query::Node* DistinctExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_names) - return _internal_mutable_ns_names()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_names() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DistinctExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_names) + // @@protoc_insertion_point(field_mutable_list:pg_query.DistinctExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ns_names(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& TableFunc::ns_names(int index) const +inline const ::pg_query::Node& DistinctExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_names) - return _internal_ns_names().Get(index); + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* TableFunc::add_ns_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* DistinctExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ns_names()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_names) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DistinctExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_names() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DistinctExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_names) - return _internal_ns_names(); + // @@protoc_insertion_point(field_list:pg_query.DistinctExpr.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_ns_names() const { +DistinctExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ns_names_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_ns_names() { +DistinctExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ns_names_; + return &_impl_.args_; } -// .pg_query.Node docexpr = 3 [json_name = "docexpr"]; -inline bool TableFunc::has_docexpr() const { +// int32 location = 8 [json_name = "location"]; +inline void DistinctExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t DistinctExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.location) + return _internal_location(); +} +inline void DistinctExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.location) +} +inline ::int32_t DistinctExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DistinctExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// NullIfExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool NullIfExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void TableFunc::clear_docexpr() { +inline void NullIfExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& TableFunc::_internal_docexpr() const { +inline const ::pg_query::Node& NullIfExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.docexpr_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.docexpr) - return _internal_docexpr(); +inline const ::pg_query::Node& NullIfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.xpr) + return _internal_xpr(); } -inline void TableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { +inline void NullIfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.docexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullIfExpr.xpr) } -inline ::pg_query::Node* TableFunc::release_docexpr() { +inline ::pg_query::Node* NullIfExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -92787,34 +104161,34 @@ inline ::pg_query::Node* TableFunc::release_docexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* TableFunc::unsafe_arena_release_docexpr() { +inline ::pg_query::Node* NullIfExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TableFunc.docexpr) + // @@protoc_insertion_point(field_release:pg_query.NullIfExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* TableFunc::_internal_mutable_docexpr() { +inline ::pg_query::Node* NullIfExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.docexpr_ == nullptr) { + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.docexpr_; + return _impl_.xpr_; } -inline ::pg_query::Node* TableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_docexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.docexpr) +inline ::pg_query::Node* NullIfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.xpr) return _msg; } -inline void TableFunc::set_allocated_docexpr(::pg_query::Node* value) { +inline void NullIfExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -92827,49 +104201,240 @@ inline void TableFunc::set_allocated_docexpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.docexpr) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NullIfExpr.xpr) } -// .pg_query.Node rowexpr = 4 [json_name = "rowexpr"]; -inline bool TableFunc::has_rowexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); +// uint32 opno = 2 [json_name = "opno"]; +inline void NullIfExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opno_ = 0u; +} +inline ::uint32_t NullIfExpr::opno() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opno) + return _internal_opno(); +} +inline void NullIfExpr::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opno) +} +inline ::uint32_t NullIfExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; +} +inline void NullIfExpr::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; +} + +// uint32 opresulttype = 3 [json_name = "opresulttype"]; +inline void NullIfExpr::clear_opresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opresulttype_ = 0u; +} +inline ::uint32_t NullIfExpr::opresulttype() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opresulttype) + return _internal_opresulttype(); +} +inline void NullIfExpr::set_opresulttype(::uint32_t value) { + _internal_set_opresulttype(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opresulttype) +} +inline ::uint32_t NullIfExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; +} +inline void NullIfExpr::_internal_set_opresulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opresulttype_ = value; +} + +// bool opretset = 4 [json_name = "opretset"]; +inline void NullIfExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opretset_ = false; +} +inline bool NullIfExpr::opretset() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opretset) + return _internal_opretset(); +} +inline void NullIfExpr::set_opretset(bool value) { + _internal_set_opretset(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opretset) +} +inline bool NullIfExpr::_internal_opretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opretset_; +} +inline void NullIfExpr::_internal_set_opretset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opretset_ = value; +} + +// uint32 opcollid = 5 [json_name = "opcollid"]; +inline void NullIfExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opcollid_ = 0u; +} +inline ::uint32_t NullIfExpr::opcollid() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opcollid) + return _internal_opcollid(); +} +inline void NullIfExpr::set_opcollid(::uint32_t value) { + _internal_set_opcollid(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opcollid) +} +inline ::uint32_t NullIfExpr::_internal_opcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opcollid_; +} +inline void NullIfExpr::_internal_set_opcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opcollid_ = value; +} + +// uint32 inputcollid = 6 [json_name = "inputcollid"]; +inline void NullIfExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t NullIfExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.inputcollid) + return _internal_inputcollid(); +} +inline void NullIfExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.inputcollid) +} +inline ::uint32_t NullIfExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void NullIfExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} + +// repeated .pg_query.Node args = 7 [json_name = "args"]; +inline int NullIfExpr::_internal_args_size() const { + return _internal_args().size(); +} +inline int NullIfExpr::args_size() const { + return _internal_args_size(); +} +inline void NullIfExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* NullIfExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* NullIfExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.NullIfExpr.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::pg_query::Node& NullIfExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* NullIfExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.NullIfExpr.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& NullIfExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.NullIfExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +NullIfExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +NullIfExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// int32 location = 8 [json_name = "location"]; +inline void NullIfExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t NullIfExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.location) + return _internal_location(); +} +inline void NullIfExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.location) +} +inline ::int32_t NullIfExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void NullIfExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// ScalarArrayOpExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool ScalarArrayOpExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void TableFunc::clear_rowexpr() { +inline void ScalarArrayOpExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& TableFunc::_internal_rowexpr() const { +inline const ::pg_query::Node& ScalarArrayOpExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.rowexpr_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.rowexpr) - return _internal_rowexpr(); +inline const ::pg_query::Node& ScalarArrayOpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.xpr) + return _internal_xpr(); } -inline void TableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { +inline void ScalarArrayOpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.rowexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ScalarArrayOpExpr.xpr) } -inline ::pg_query::Node* TableFunc::release_rowexpr() { +inline ::pg_query::Node* ScalarArrayOpExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -92883,34 +104448,34 @@ inline ::pg_query::Node* TableFunc::release_rowexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* TableFunc::unsafe_arena_release_rowexpr() { +inline ::pg_query::Node* ScalarArrayOpExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TableFunc.rowexpr) + // @@protoc_insertion_point(field_release:pg_query.ScalarArrayOpExpr.xpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* TableFunc::_internal_mutable_rowexpr() { +inline ::pg_query::Node* ScalarArrayOpExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.rowexpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rowexpr_; + return _impl_.xpr_; } -inline ::pg_query::Node* TableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_rowexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.rowexpr) +inline ::pg_query::Node* ScalarArrayOpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.xpr) return _msg; } -inline void TableFunc::set_allocated_rowexpr(::pg_query::Node* value) { +inline void ScalarArrayOpExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -92918,395 +104483,346 @@ inline void TableFunc::set_allocated_rowexpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.rowexpr) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ScalarArrayOpExpr.xpr) } -// repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; -inline int TableFunc::_internal_colnames_size() const { - return _internal_colnames().size(); +// uint32 opno = 2 [json_name = "opno"]; +inline void ScalarArrayOpExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opno_ = 0u; } -inline int TableFunc::colnames_size() const { - return _internal_colnames_size(); +inline ::uint32_t ScalarArrayOpExpr::opno() const { + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.opno) + return _internal_opno(); } -inline void TableFunc::clear_colnames() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colnames_.Clear(); +inline void ScalarArrayOpExpr::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.opno) } -inline ::pg_query::Node* TableFunc::mutable_colnames(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colnames) - return _internal_mutable_colnames()->Mutable(index); +inline ::uint32_t ScalarArrayOpExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colnames() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colnames) +inline void ScalarArrayOpExpr::_internal_set_opno(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colnames(); -} -inline const ::pg_query::Node& TableFunc::colnames(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.colnames) - return _internal_colnames().Get(index); + ; + _impl_.opno_ = value; } -inline ::pg_query::Node* TableFunc::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// bool use_or = 3 [json_name = "useOr"]; +inline void ScalarArrayOpExpr::clear_use_or() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.colnames) - return _add; + _impl_.use_or_ = false; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colnames() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.colnames) - return _internal_colnames(); +inline bool ScalarArrayOpExpr::use_or() const { + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.use_or) + return _internal_use_or(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_colnames() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colnames_; +inline void ScalarArrayOpExpr::set_use_or(bool value) { + _internal_set_use_or(value); + // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.use_or) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_colnames() { +inline bool ScalarArrayOpExpr::_internal_use_or() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colnames_; -} - -// repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"]; -inline int TableFunc::_internal_coltypes_size() const { - return _internal_coltypes().size(); -} -inline int TableFunc::coltypes_size() const { - return _internal_coltypes_size(); + return _impl_.use_or_; } -inline void TableFunc::clear_coltypes() { +inline void ScalarArrayOpExpr::_internal_set_use_or(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coltypes_.Clear(); -} -inline ::pg_query::Node* TableFunc::mutable_coltypes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypes) - return _internal_mutable_coltypes()->Mutable(index); + ; + _impl_.use_or_ = value; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypes) + +// uint32 inputcollid = 4 [json_name = "inputcollid"]; +inline void ScalarArrayOpExpr::clear_inputcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coltypes(); -} -inline const ::pg_query::Node& TableFunc::coltypes(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypes) - return _internal_coltypes().Get(index); + _impl_.inputcollid_ = 0u; } -inline ::pg_query::Node* TableFunc::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypes) - return _add; +inline ::uint32_t ScalarArrayOpExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.inputcollid) + return _internal_inputcollid(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypes) - return _internal_coltypes(); +inline void ScalarArrayOpExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.inputcollid) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_coltypes() const { +inline ::uint32_t ScalarArrayOpExpr::_internal_inputcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coltypes_; + return _impl_.inputcollid_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_coltypes() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coltypes_; +inline void ScalarArrayOpExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -// repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"]; -inline int TableFunc::_internal_coltypmods_size() const { - return _internal_coltypmods().size(); +// repeated .pg_query.Node args = 5 [json_name = "args"]; +inline int ScalarArrayOpExpr::_internal_args_size() const { + return _internal_args().size(); } -inline int TableFunc::coltypmods_size() const { - return _internal_coltypmods_size(); +inline int ScalarArrayOpExpr::args_size() const { + return _internal_args_size(); } -inline void TableFunc::clear_coltypmods() { +inline void ScalarArrayOpExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coltypmods_.Clear(); + _impl_.args_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_coltypmods(int index) +inline ::pg_query::Node* ScalarArrayOpExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypmods) - return _internal_mutable_coltypmods()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypmods() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ScalarArrayOpExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypmods) + // @@protoc_insertion_point(field_mutable_list:pg_query.ScalarArrayOpExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coltypmods(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& TableFunc::coltypmods(int index) const +inline const ::pg_query::Node& ScalarArrayOpExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypmods) - return _internal_coltypmods().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* TableFunc::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ScalarArrayOpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypmods) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ScalarArrayOpExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypmods() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ScalarArrayOpExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypmods) - return _internal_coltypmods(); + // @@protoc_insertion_point(field_list:pg_query.ScalarArrayOpExpr.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_coltypmods() const { +ScalarArrayOpExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coltypmods_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_coltypmods() { +ScalarArrayOpExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coltypmods_; + return &_impl_.args_; } -// repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"]; -inline int TableFunc::_internal_colcollations_size() const { - return _internal_colcollations().size(); -} -inline int TableFunc::colcollations_size() const { - return _internal_colcollations_size(); -} -inline void TableFunc::clear_colcollations() { +// int32 location = 6 [json_name = "location"]; +inline void ScalarArrayOpExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colcollations_.Clear(); + _impl_.location_ = 0; } -inline ::pg_query::Node* TableFunc::mutable_colcollations(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colcollations) - return _internal_mutable_colcollations()->Mutable(index); +inline ::int32_t ScalarArrayOpExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.location) + return _internal_location(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colcollations() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colcollations) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colcollations(); +inline void ScalarArrayOpExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.location) } -inline const ::pg_query::Node& TableFunc::colcollations(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.colcollations) - return _internal_colcollations().Get(index); +inline ::int32_t ScalarArrayOpExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::pg_query::Node* TableFunc::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void ScalarArrayOpExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.colcollations) - return _add; + ; + _impl_.location_ = value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colcollations() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.colcollations) - return _internal_colcollations(); + +// ------------------------------------------------------------------- + +// BoolExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool BoolExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_colcollations() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colcollations_; +inline void BoolExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_colcollations() { +inline const ::pg_query::Node& BoolExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colcollations_; -} - -// repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"]; -inline int TableFunc::_internal_colexprs_size() const { - return _internal_colexprs().size(); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline int TableFunc::colexprs_size() const { - return _internal_colexprs_size(); +inline const ::pg_query::Node& BoolExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BoolExpr.xpr) + return _internal_xpr(); } -inline void TableFunc::clear_colexprs() { +inline void BoolExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colexprs_.Clear(); -} -inline ::pg_query::Node* TableFunc::mutable_colexprs(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colexprs) - return _internal_mutable_colexprs()->Mutable(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BoolExpr.xpr) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colexprs() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colexprs) +inline ::pg_query::Node* BoolExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colexprs(); -} -inline const ::pg_query::Node& TableFunc::colexprs(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.colexprs) - return _internal_colexprs().Get(index); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* TableFunc::add_colexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* BoolExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colexprs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.colexprs) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colexprs() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.colexprs) - return _internal_colexprs(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_colexprs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colexprs_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_colexprs() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colexprs_; -} + // @@protoc_insertion_point(field_release:pg_query.BoolExpr.xpr) -// repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"]; -inline int TableFunc::_internal_coldefexprs_size() const { - return _internal_coldefexprs().size(); -} -inline int TableFunc::coldefexprs_size() const { - return _internal_coldefexprs_size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline void TableFunc::clear_coldefexprs() { +inline ::pg_query::Node* BoolExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coldefexprs_.Clear(); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline ::pg_query::Node* TableFunc::mutable_coldefexprs(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coldefexprs) - return _internal_mutable_coldefexprs()->Mutable(index); +inline ::pg_query::Node* BoolExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.xpr) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coldefexprs() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coldefexprs) +inline void BoolExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coldefexprs(); -} -inline const ::pg_query::Node& TableFunc::coldefexprs(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.coldefexprs) - return _internal_coldefexprs().Get(index); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.BoolExpr.xpr) } -inline ::pg_query::Node* TableFunc::add_coldefexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// .pg_query.BoolExprType boolop = 2 [json_name = "boolop"]; +inline void BoolExpr::clear_boolop() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coldefexprs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.coldefexprs) - return _add; + _impl_.boolop_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coldefexprs() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.coldefexprs) - return _internal_coldefexprs(); +inline ::pg_query::BoolExprType BoolExpr::boolop() const { + // @@protoc_insertion_point(field_get:pg_query.BoolExpr.boolop) + return _internal_boolop(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableFunc::_internal_coldefexprs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coldefexprs_; +inline void BoolExpr::set_boolop(::pg_query::BoolExprType value) { + _internal_set_boolop(value); + // @@protoc_insertion_point(field_set:pg_query.BoolExpr.boolop) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableFunc::_internal_mutable_coldefexprs() { +inline ::pg_query::BoolExprType BoolExpr::_internal_boolop() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coldefexprs_; -} - -// repeated uint64 notnulls = 11 [json_name = "notnulls"]; -inline int TableFunc::_internal_notnulls_size() const { - return _internal_notnulls().size(); -} -inline int TableFunc::notnulls_size() const { - return _internal_notnulls_size(); + return static_cast<::pg_query::BoolExprType>(_impl_.boolop_); } -inline void TableFunc::clear_notnulls() { +inline void BoolExpr::_internal_set_boolop(::pg_query::BoolExprType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.notnulls_.Clear(); + ; + _impl_.boolop_ = value; } -inline ::uint64_t TableFunc::notnulls(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.notnulls) - return _internal_notnulls().Get(index); + +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int BoolExpr::_internal_args_size() const { + return _internal_args().size(); } -inline void TableFunc::set_notnulls(int index, ::uint64_t value) { - _internal_mutable_notnulls()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.notnulls) +inline int BoolExpr::args_size() const { + return _internal_args_size(); } -inline void TableFunc::add_notnulls(::uint64_t value) { +inline void BoolExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_notnulls()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.notnulls) + _impl_.args_.Clear(); } -inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::notnulls() const +inline ::pg_query::Node* BoolExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.notnulls) - return _internal_notnulls(); + // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::mutable_notnulls() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* BoolExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.notnulls) + // @@protoc_insertion_point(field_mutable_list:pg_query.BoolExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_notnulls(); -} -inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::_internal_notnulls() - const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.notnulls_; + return _internal_mutable_args(); } -inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::_internal_mutable_notnulls() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.notnulls_; +inline const ::pg_query::Node& BoolExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BoolExpr.args) + return _internal_args().Get(index); } - -// int32 ordinalitycol = 12 [json_name = "ordinalitycol"]; -inline void TableFunc::clear_ordinalitycol() { +inline ::pg_query::Node* BoolExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ordinalitycol_ = 0; -} -inline ::int32_t TableFunc::ordinalitycol() const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.ordinalitycol) - return _internal_ordinalitycol(); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.BoolExpr.args) + return _add; } -inline void TableFunc::set_ordinalitycol(::int32_t value) { - _internal_set_ordinalitycol(value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.ordinalitycol) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& BoolExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.BoolExpr.args) + return _internal_args(); } -inline ::int32_t TableFunc::_internal_ordinalitycol() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +BoolExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ordinalitycol_; + return _impl_.args_; } -inline void TableFunc::_internal_set_ordinalitycol(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.ordinalitycol_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +BoolExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// int32 location = 13 [json_name = "location"]; -inline void TableFunc::clear_location() { +// int32 location = 4 [json_name = "location"]; +inline void BoolExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t TableFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.location) +inline ::int32_t BoolExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.BoolExpr.location) return _internal_location(); } -inline void TableFunc::set_location(::int32_t value) { +inline void BoolExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.location) + // @@protoc_insertion_point(field_set:pg_query.BoolExpr.location) } -inline ::int32_t TableFunc::_internal_location() const { +inline ::int32_t BoolExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void TableFunc::_internal_set_location(::int32_t value) { +inline void BoolExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -93314,47 +104830,47 @@ inline void TableFunc::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// IntoClause +// SubLink -// .pg_query.RangeVar rel = 1 [json_name = "rel"]; -inline bool IntoClause::has_rel() const { +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool SubLink::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.rel_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void IntoClause::clear_rel() { +inline void SubLink::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.rel_ != nullptr) _impl_.rel_->Clear(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& IntoClause::_internal_rel() const { +inline const ::pg_query::Node& SubLink::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::RangeVar* p = _impl_.rel_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& IntoClause::rel() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.rel) - return _internal_rel(); +inline const ::pg_query::Node& SubLink::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubLink.xpr) + return _internal_xpr(); } -inline void IntoClause::unsafe_arena_set_allocated_rel(::pg_query::RangeVar* value) { +inline void SubLink::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rel_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.rel) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.xpr) } -inline ::pg_query::RangeVar* IntoClause::release_rel() { +inline ::pg_query::Node* SubLink::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* released = _impl_.rel_; - _impl_.rel_ = nullptr; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -93368,38 +104884,38 @@ inline ::pg_query::RangeVar* IntoClause::release_rel() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::RangeVar* IntoClause::unsafe_arena_release_rel() { +inline ::pg_query::Node* SubLink::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IntoClause.rel) + // @@protoc_insertion_point(field_release:pg_query.SubLink.xpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* temp = _impl_.rel_; - _impl_.rel_ = nullptr; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::RangeVar* IntoClause::_internal_mutable_rel() { +inline ::pg_query::Node* SubLink::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.rel_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); - _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(p); + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rel_; + return _impl_.xpr_; } -inline ::pg_query::RangeVar* IntoClause::mutable_rel() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeVar* _msg = _internal_mutable_rel(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.rel) +inline ::pg_query::Node* SubLink::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubLink.xpr) return _msg; } -inline void IntoClause::set_allocated_rel(::pg_query::RangeVar* value) { +inline void SubLink::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.rel_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -93408,276 +104924,240 @@ inline void IntoClause::set_allocated_rel(::pg_query::RangeVar* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.rel) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.xpr) } -// repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; -inline int IntoClause::_internal_col_names_size() const { - return _internal_col_names().size(); +// .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; +inline void SubLink::clear_sub_link_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sub_link_type_ = 0; } -inline int IntoClause::col_names_size() const { - return _internal_col_names_size(); +inline ::pg_query::SubLinkType SubLink::sub_link_type() const { + // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_type) + return _internal_sub_link_type(); } -inline void IntoClause::clear_col_names() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.col_names_.Clear(); +inline void SubLink::set_sub_link_type(::pg_query::SubLinkType value) { + _internal_set_sub_link_type(value); + // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_type) } -inline ::pg_query::Node* IntoClause::mutable_col_names(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.col_names) - return _internal_mutable_col_names()->Mutable(index); +inline ::pg_query::SubLinkType SubLink::_internal_sub_link_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_col_names() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.col_names) +inline void SubLink::_internal_set_sub_link_type(::pg_query::SubLinkType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_col_names(); -} -inline const ::pg_query::Node& IntoClause::col_names(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.col_names) - return _internal_col_names().Get(index); + ; + _impl_.sub_link_type_ = value; } -inline ::pg_query::Node* IntoClause::add_col_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// int32 sub_link_id = 3 [json_name = "subLinkId"]; +inline void SubLink::clear_sub_link_id() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_col_names()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IntoClause.col_names) - return _add; + _impl_.sub_link_id_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::col_names() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IntoClause.col_names) - return _internal_col_names(); +inline ::int32_t SubLink::sub_link_id() const { + // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_id) + return _internal_sub_link_id(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IntoClause::_internal_col_names() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.col_names_; +inline void SubLink::set_sub_link_id(::int32_t value) { + _internal_set_sub_link_id(value); + // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_id) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IntoClause::_internal_mutable_col_names() { +inline ::int32_t SubLink::_internal_sub_link_id() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.col_names_; + return _impl_.sub_link_id_; } - -// string access_method = 3 [json_name = "accessMethod"]; -inline void IntoClause::clear_access_method() { +inline void SubLink::_internal_set_sub_link_id(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.access_method_.ClearToEmpty(); + ; + _impl_.sub_link_id_ = value; } -inline const std::string& IntoClause::access_method() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.access_method) - return _internal_access_method(); + +// .pg_query.Node testexpr = 4 [json_name = "testexpr"]; +inline bool SubLink::has_testexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_access_method(Arg_&& arg, - Args_... args) { +inline void SubLink::clear_testexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.access_method) -} -inline std::string* IntoClause::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_access_method(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.access_method) - return _s; + if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const std::string& IntoClause::_internal_access_method() const { +inline const ::pg_query::Node& SubLink::_internal_testexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.access_method_.Get(); + const ::pg_query::Node* p = _impl_.testexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void IntoClause::_internal_set_access_method(const std::string& value) { +inline const ::pg_query::Node& SubLink::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubLink.testexpr) + return _internal_testexpr(); +} +inline void SubLink::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.access_method_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); + } + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.testexpr) } -inline std::string* IntoClause::_internal_mutable_access_method() { +inline ::pg_query::Node* SubLink::release_testexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.access_method_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.testexpr_; + _impl_.testexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* IntoClause::release_access_method() { +inline ::pg_query::Node* SubLink::unsafe_arena_release_testexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IntoClause.access_method) - return _impl_.access_method_.Release(); + // @@protoc_insertion_point(field_release:pg_query.SubLink.testexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.testexpr_; + _impl_.testexpr_ = nullptr; + return temp; } -inline void IntoClause::set_allocated_access_method(std::string* value) { +inline ::pg_query::Node* SubLink::_internal_mutable_testexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.access_method_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.access_method_.IsDefault()) { - _impl_.access_method_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.access_method) + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.testexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.testexpr_; +} +inline ::pg_query::Node* SubLink::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_testexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubLink.testexpr) + return _msg; } +inline void SubLink::set_allocated_testexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); + } -// repeated .pg_query.Node options = 4 [json_name = "options"]; -inline int IntoClause::_internal_options_size() const { - return _internal_options().size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.testexpr) } -inline int IntoClause::options_size() const { - return _internal_options_size(); + +// repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; +inline int SubLink::_internal_oper_name_size() const { + return _internal_oper_name().size(); } -inline void IntoClause::clear_options() { +inline int SubLink::oper_name_size() const { + return _internal_oper_name_size(); +} +inline void SubLink::clear_oper_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.options_.Clear(); + _impl_.oper_name_.Clear(); } -inline ::pg_query::Node* IntoClause::mutable_options(int index) +inline ::pg_query::Node* SubLink::mutable_oper_name(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.options) - return _internal_mutable_options()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.SubLink.oper_name) + return _internal_mutable_oper_name()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_options() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubLink::mutable_oper_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.options) + // @@protoc_insertion_point(field_mutable_list:pg_query.SubLink.oper_name) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_options(); + return _internal_mutable_oper_name(); } -inline const ::pg_query::Node& IntoClause::options(int index) const +inline const ::pg_query::Node& SubLink::oper_name(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.options) - return _internal_options().Get(index); + // @@protoc_insertion_point(field_get:pg_query.SubLink.oper_name) + return _internal_oper_name().Get(index); } -inline ::pg_query::Node* IntoClause::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* SubLink::add_oper_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_options()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IntoClause.options) + ::pg_query::Node* _add = _internal_mutable_oper_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubLink.oper_name) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::options() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubLink::oper_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IntoClause.options) - return _internal_options(); + // @@protoc_insertion_point(field_list:pg_query.SubLink.oper_name) + return _internal_oper_name(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IntoClause::_internal_options() const { +SubLink::_internal_oper_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.options_; + return _impl_.oper_name_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IntoClause::_internal_mutable_options() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.options_; -} - -// .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; -inline void IntoClause::clear_on_commit() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.on_commit_ = 0; -} -inline ::pg_query::OnCommitAction IntoClause::on_commit() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.on_commit) - return _internal_on_commit(); -} -inline void IntoClause::set_on_commit(::pg_query::OnCommitAction value) { - _internal_set_on_commit(value); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.on_commit) -} -inline ::pg_query::OnCommitAction IntoClause::_internal_on_commit() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OnCommitAction>(_impl_.on_commit_); -} -inline void IntoClause::_internal_set_on_commit(::pg_query::OnCommitAction value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.on_commit_ = value; -} - -// string table_space_name = 6 [json_name = "tableSpaceName"]; -inline void IntoClause::clear_table_space_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.table_space_name_.ClearToEmpty(); -} -inline const std::string& IntoClause::table_space_name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.table_space_name) - return _internal_table_space_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_table_space_name(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.table_space_name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.table_space_name) -} -inline std::string* IntoClause::mutable_table_space_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_table_space_name(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.table_space_name) - return _s; -} -inline const std::string& IntoClause::_internal_table_space_name() const { +SubLink::_internal_mutable_oper_name() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.table_space_name_.Get(); -} -inline void IntoClause::_internal_set_table_space_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.table_space_name_.Set(value, GetArena()); -} -inline std::string* IntoClause::_internal_mutable_table_space_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.table_space_name_.Mutable( GetArena()); -} -inline std::string* IntoClause::release_table_space_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IntoClause.table_space_name) - return _impl_.table_space_name_.Release(); -} -inline void IntoClause::set_allocated_table_space_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.table_space_name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.table_space_name_.IsDefault()) { - _impl_.table_space_name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.table_space_name) + return &_impl_.oper_name_; } -// .pg_query.Node view_query = 7 [json_name = "viewQuery"]; -inline bool IntoClause::has_view_query() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.view_query_ != nullptr); +// .pg_query.Node subselect = 6 [json_name = "subselect"]; +inline bool SubLink::has_subselect() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.subselect_ != nullptr); return value; } -inline void IntoClause::clear_view_query() { +inline void SubLink::clear_subselect() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.view_query_ != nullptr) _impl_.view_query_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.subselect_ != nullptr) _impl_.subselect_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& IntoClause::_internal_view_query() const { +inline const ::pg_query::Node& SubLink::_internal_subselect() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.view_query_; + const ::pg_query::Node* p = _impl_.subselect_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& IntoClause::view_query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.view_query) - return _internal_view_query(); +inline const ::pg_query::Node& SubLink::subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubLink.subselect) + return _internal_subselect(); } -inline void IntoClause::unsafe_arena_set_allocated_view_query(::pg_query::Node* value) { +inline void SubLink::unsafe_arena_set_allocated_subselect(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.view_query_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subselect_); } - _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.view_query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.subselect) } -inline ::pg_query::Node* IntoClause::release_view_query() { +inline ::pg_query::Node* SubLink::release_subselect() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.view_query_; - _impl_.view_query_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.subselect_; + _impl_.subselect_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -93691,34 +105171,34 @@ inline ::pg_query::Node* IntoClause::release_view_query() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* IntoClause::unsafe_arena_release_view_query() { +inline ::pg_query::Node* SubLink::unsafe_arena_release_subselect() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IntoClause.view_query) + // @@protoc_insertion_point(field_release:pg_query.SubLink.subselect) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.view_query_; - _impl_.view_query_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.subselect_; + _impl_.subselect_ = nullptr; return temp; } -inline ::pg_query::Node* IntoClause::_internal_mutable_view_query() { +inline ::pg_query::Node* SubLink::_internal_mutable_subselect() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.view_query_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.subselect_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.view_query_; + return _impl_.subselect_; } -inline ::pg_query::Node* IntoClause::mutable_view_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_view_query(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.view_query) +inline ::pg_query::Node* SubLink::mutable_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_subselect(); + // @@protoc_insertion_point(field_mutable:pg_query.SubLink.subselect) return _msg; } -inline void IntoClause::set_allocated_view_query(::pg_query::Node* value) { +inline void SubLink::set_allocated_subselect(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.view_query_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.subselect_); } if (value != nullptr) { @@ -93726,63 +105206,63 @@ inline void IntoClause::set_allocated_view_query(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.view_query) + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.subselect) } -// bool skip_data = 8 [json_name = "skipData"]; -inline void IntoClause::clear_skip_data() { +// int32 location = 7 [json_name = "location"]; +inline void SubLink::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.skip_data_ = false; + _impl_.location_ = 0; } -inline bool IntoClause::skip_data() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.skip_data) - return _internal_skip_data(); +inline ::int32_t SubLink::location() const { + // @@protoc_insertion_point(field_get:pg_query.SubLink.location) + return _internal_location(); } -inline void IntoClause::set_skip_data(bool value) { - _internal_set_skip_data(value); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.skip_data) +inline void SubLink::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.SubLink.location) } -inline bool IntoClause::_internal_skip_data() const { +inline ::int32_t SubLink::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.skip_data_; + return _impl_.location_; } -inline void IntoClause::_internal_set_skip_data(bool value) { +inline void SubLink::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.skip_data_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// Var +// SubPlan // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Var::has_xpr() const { +inline bool SubPlan::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void Var::clear_xpr() { +inline void SubPlan::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Var::_internal_xpr() const { +inline const ::pg_query::Node& SubPlan::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Var::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Var.xpr) +inline const ::pg_query::Node& SubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.xpr) return _internal_xpr(); } -inline void Var::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void SubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -93793,9 +105273,9 @@ inline void Var::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Var.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.xpr) } -inline ::pg_query::Node* Var::release_xpr() { +inline ::pg_query::Node* SubPlan::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -93814,16 +105294,16 @@ inline ::pg_query::Node* Var::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Var::unsafe_arena_release_xpr() { +inline ::pg_query::Node* SubPlan::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Var.xpr) + // @@protoc_insertion_point(field_release:pg_query.SubPlan.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* Var::_internal_mutable_xpr() { +inline ::pg_query::Node* SubPlan::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -93832,12 +105312,12 @@ inline ::pg_query::Node* Var::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* Var::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* SubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.Var.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.xpr) return _msg; } -inline void Var::set_allocated_xpr(::pg_query::Node* value) { +inline void SubPlan::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -93855,240 +105335,609 @@ inline void Var::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Var.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.xpr) } -// int32 varno = 2 [json_name = "varno"]; -inline void Var::clear_varno() { +// .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; +inline void SubPlan::clear_sub_link_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.varno_ = 0; + _impl_.sub_link_type_ = 0; } -inline ::int32_t Var::varno() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varno) - return _internal_varno(); +inline ::pg_query::SubLinkType SubPlan::sub_link_type() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.sub_link_type) + return _internal_sub_link_type(); } -inline void Var::set_varno(::int32_t value) { - _internal_set_varno(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varno) +inline void SubPlan::set_sub_link_type(::pg_query::SubLinkType value) { + _internal_set_sub_link_type(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.sub_link_type) } -inline ::int32_t Var::_internal_varno() const { +inline ::pg_query::SubLinkType SubPlan::_internal_sub_link_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.varno_; + return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); } -inline void Var::_internal_set_varno(::int32_t value) { +inline void SubPlan::_internal_set_sub_link_type(::pg_query::SubLinkType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.varno_ = value; + _impl_.sub_link_type_ = value; } -// int32 varattno = 3 [json_name = "varattno"]; -inline void Var::clear_varattno() { +// .pg_query.Node testexpr = 3 [json_name = "testexpr"]; +inline bool SubPlan::has_testexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); + return value; +} +inline void SubPlan::clear_testexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.varattno_ = 0; + if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::int32_t Var::varattno() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varattno) - return _internal_varattno(); +inline const ::pg_query::Node& SubPlan::_internal_testexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.testexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& SubPlan::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.testexpr) + return _internal_testexpr(); +} +inline void SubPlan::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); + } + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.testexpr) +} +inline ::pg_query::Node* SubPlan::release_testexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.testexpr_; + _impl_.testexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* SubPlan::unsafe_arena_release_testexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SubPlan.testexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.testexpr_; + _impl_.testexpr_ = nullptr; + return temp; +} +inline ::pg_query::Node* SubPlan::_internal_mutable_testexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.testexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.testexpr_; +} +inline ::pg_query::Node* SubPlan::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_testexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.testexpr) + return _msg; +} +inline void SubPlan::set_allocated_testexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.testexpr) +} + +// repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; +inline int SubPlan::_internal_param_ids_size() const { + return _internal_param_ids().size(); +} +inline int SubPlan::param_ids_size() const { + return _internal_param_ids_size(); +} +inline void SubPlan::clear_param_ids() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.param_ids_.Clear(); +} +inline ::pg_query::Node* SubPlan::mutable_param_ids(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.param_ids) + return _internal_mutable_param_ids()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_param_ids() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.param_ids) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_param_ids(); +} +inline const ::pg_query::Node& SubPlan::param_ids(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.param_ids) + return _internal_param_ids().Get(index); +} +inline ::pg_query::Node* SubPlan::add_param_ids() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_param_ids()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubPlan.param_ids) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::param_ids() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SubPlan.param_ids) + return _internal_param_ids(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_param_ids() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.param_ids_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_param_ids() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.param_ids_; +} + +// int32 plan_id = 5 [json_name = "plan_id"]; +inline void SubPlan::clear_plan_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plan_id_ = 0; +} +inline ::int32_t SubPlan::plan_id() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_id) + return _internal_plan_id(); +} +inline void SubPlan::set_plan_id(::int32_t value) { + _internal_set_plan_id(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_id) +} +inline ::int32_t SubPlan::_internal_plan_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plan_id_; +} +inline void SubPlan::_internal_set_plan_id(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_id_ = value; +} + +// string plan_name = 6 [json_name = "plan_name"]; +inline void SubPlan::clear_plan_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plan_name_.ClearToEmpty(); +} +inline const std::string& SubPlan::plan_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_name) + return _internal_plan_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SubPlan::set_plan_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_name) +} +inline std::string* SubPlan::mutable_plan_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_plan_name(); + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.plan_name) + return _s; +} +inline const std::string& SubPlan::_internal_plan_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plan_name_.Get(); +} +inline void SubPlan::_internal_set_plan_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_name_.Set(value, GetArena()); +} +inline std::string* SubPlan::_internal_mutable_plan_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.plan_name_.Mutable( GetArena()); +} +inline std::string* SubPlan::release_plan_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SubPlan.plan_name) + return _impl_.plan_name_.Release(); +} +inline void SubPlan::set_allocated_plan_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plan_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.plan_name_.IsDefault()) { + _impl_.plan_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.plan_name) +} + +// uint32 first_col_type = 7 [json_name = "firstColType"]; +inline void SubPlan::clear_first_col_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.first_col_type_ = 0u; +} +inline ::uint32_t SubPlan::first_col_type() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_type) + return _internal_first_col_type(); +} +inline void SubPlan::set_first_col_type(::uint32_t value) { + _internal_set_first_col_type(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_type) +} +inline ::uint32_t SubPlan::_internal_first_col_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_type_; +} +inline void SubPlan::_internal_set_first_col_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_type_ = value; +} + +// int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; +inline void SubPlan::clear_first_col_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.first_col_typmod_ = 0; +} +inline ::int32_t SubPlan::first_col_typmod() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_typmod) + return _internal_first_col_typmod(); +} +inline void SubPlan::set_first_col_typmod(::int32_t value) { + _internal_set_first_col_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_typmod) +} +inline ::int32_t SubPlan::_internal_first_col_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_typmod_; +} +inline void SubPlan::_internal_set_first_col_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_typmod_ = value; +} + +// uint32 first_col_collation = 9 [json_name = "firstColCollation"]; +inline void SubPlan::clear_first_col_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.first_col_collation_ = 0u; +} +inline ::uint32_t SubPlan::first_col_collation() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_collation) + return _internal_first_col_collation(); +} +inline void SubPlan::set_first_col_collation(::uint32_t value) { + _internal_set_first_col_collation(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_collation) +} +inline ::uint32_t SubPlan::_internal_first_col_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_collation_; +} +inline void SubPlan::_internal_set_first_col_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_collation_ = value; +} + +// bool use_hash_table = 10 [json_name = "useHashTable"]; +inline void SubPlan::clear_use_hash_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.use_hash_table_ = false; +} +inline bool SubPlan::use_hash_table() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.use_hash_table) + return _internal_use_hash_table(); +} +inline void SubPlan::set_use_hash_table(bool value) { + _internal_set_use_hash_table(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.use_hash_table) +} +inline bool SubPlan::_internal_use_hash_table() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_hash_table_; +} +inline void SubPlan::_internal_set_use_hash_table(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.use_hash_table_ = value; +} + +// bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; +inline void SubPlan::clear_unknown_eq_false() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unknown_eq_false_ = false; +} +inline bool SubPlan::unknown_eq_false() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.unknown_eq_false) + return _internal_unknown_eq_false(); +} +inline void SubPlan::set_unknown_eq_false(bool value) { + _internal_set_unknown_eq_false(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.unknown_eq_false) +} +inline bool SubPlan::_internal_unknown_eq_false() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unknown_eq_false_; +} +inline void SubPlan::_internal_set_unknown_eq_false(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unknown_eq_false_ = value; +} + +// bool parallel_safe = 12 [json_name = "parallel_safe"]; +inline void SubPlan::clear_parallel_safe() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.parallel_safe_ = false; +} +inline bool SubPlan::parallel_safe() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.parallel_safe) + return _internal_parallel_safe(); } -inline void Var::set_varattno(::int32_t value) { - _internal_set_varattno(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varattno) +inline void SubPlan::set_parallel_safe(bool value) { + _internal_set_parallel_safe(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.parallel_safe) } -inline ::int32_t Var::_internal_varattno() const { +inline bool SubPlan::_internal_parallel_safe() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.varattno_; + return _impl_.parallel_safe_; } -inline void Var::_internal_set_varattno(::int32_t value) { +inline void SubPlan::_internal_set_parallel_safe(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.varattno_ = value; + _impl_.parallel_safe_ = value; } -// uint32 vartype = 4 [json_name = "vartype"]; -inline void Var::clear_vartype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.vartype_ = 0u; +// repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; +inline int SubPlan::_internal_set_param_size() const { + return _internal_set_param().size(); } -inline ::uint32_t Var::vartype() const { - // @@protoc_insertion_point(field_get:pg_query.Var.vartype) - return _internal_vartype(); +inline int SubPlan::set_param_size() const { + return _internal_set_param_size(); } -inline void Var::set_vartype(::uint32_t value) { - _internal_set_vartype(value); - // @@protoc_insertion_point(field_set:pg_query.Var.vartype) +inline void SubPlan::clear_set_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.set_param_.Clear(); } -inline ::uint32_t Var::_internal_vartype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.vartype_; +inline ::pg_query::Node* SubPlan::mutable_set_param(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.set_param) + return _internal_mutable_set_param()->Mutable(index); } -inline void Var::_internal_set_vartype(::uint32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_set_param() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.set_param) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.vartype_ = value; + return _internal_mutable_set_param(); } - -// int32 vartypmod = 5 [json_name = "vartypmod"]; -inline void Var::clear_vartypmod() { +inline const ::pg_query::Node& SubPlan::set_param(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.set_param) + return _internal_set_param().Get(index); +} +inline ::pg_query::Node* SubPlan::add_set_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.vartypmod_ = 0; + ::pg_query::Node* _add = _internal_mutable_set_param()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubPlan.set_param) + return _add; } -inline ::int32_t Var::vartypmod() const { - // @@protoc_insertion_point(field_get:pg_query.Var.vartypmod) - return _internal_vartypmod(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::set_param() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SubPlan.set_param) + return _internal_set_param(); } -inline void Var::set_vartypmod(::int32_t value) { - _internal_set_vartypmod(value); - // @@protoc_insertion_point(field_set:pg_query.Var.vartypmod) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_set_param() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.set_param_; } -inline ::int32_t Var::_internal_vartypmod() const { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_set_param() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.vartypmod_; + return &_impl_.set_param_; } -inline void Var::_internal_set_vartypmod(::int32_t value) { + +// repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; +inline int SubPlan::_internal_par_param_size() const { + return _internal_par_param().size(); +} +inline int SubPlan::par_param_size() const { + return _internal_par_param_size(); +} +inline void SubPlan::clear_par_param() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.vartypmod_ = value; + _impl_.par_param_.Clear(); } - -// uint32 varcollid = 6 [json_name = "varcollid"]; -inline void Var::clear_varcollid() { +inline ::pg_query::Node* SubPlan::mutable_par_param(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.par_param) + return _internal_mutable_par_param()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_par_param() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.par_param) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.varcollid_ = 0u; + return _internal_mutable_par_param(); } -inline ::uint32_t Var::varcollid() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varcollid) - return _internal_varcollid(); +inline const ::pg_query::Node& SubPlan::par_param(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.par_param) + return _internal_par_param().Get(index); } -inline void Var::set_varcollid(::uint32_t value) { - _internal_set_varcollid(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varcollid) +inline ::pg_query::Node* SubPlan::add_par_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_par_param()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubPlan.par_param) + return _add; } -inline ::uint32_t Var::_internal_varcollid() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::par_param() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SubPlan.par_param) + return _internal_par_param(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_par_param() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.varcollid_; + return _impl_.par_param_; } -inline void Var::_internal_set_varcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.varcollid_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_par_param() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.par_param_; } -// repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; -inline int Var::_internal_varnullingrels_size() const { - return _internal_varnullingrels().size(); +// repeated .pg_query.Node args = 15 [json_name = "args"]; +inline int SubPlan::_internal_args_size() const { + return _internal_args().size(); } -inline int Var::varnullingrels_size() const { - return _internal_varnullingrels_size(); +inline int SubPlan::args_size() const { + return _internal_args_size(); } -inline void Var::clear_varnullingrels() { +inline void SubPlan::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.varnullingrels_.Clear(); -} -inline ::uint64_t Var::varnullingrels(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Var.varnullingrels) - return _internal_varnullingrels().Get(index); + _impl_.args_.Clear(); } -inline void Var::set_varnullingrels(int index, ::uint64_t value) { - _internal_mutable_varnullingrels()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.Var.varnullingrels) +inline ::pg_query::Node* SubPlan::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.args) + return _internal_mutable_args()->Mutable(index); } -inline void Var::add_varnullingrels(::uint64_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_varnullingrels()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.Var.varnullingrels) + return _internal_mutable_args(); } -inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::varnullingrels() const +inline const ::pg_query::Node& SubPlan::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Var.varnullingrels) - return _internal_varnullingrels(); + // @@protoc_insertion_point(field_get:pg_query.SubPlan.args) + return _internal_args().Get(index); } -inline ::google::protobuf::RepeatedField<::uint64_t>* Var::mutable_varnullingrels() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Var.varnullingrels) +inline ::pg_query::Node* SubPlan::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_varnullingrels(); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SubPlan.args) + return _add; } -inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::_internal_varnullingrels() - const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SubPlan.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.varnullingrels_; + return _impl_.args_; } -inline ::google::protobuf::RepeatedField<::uint64_t>* Var::_internal_mutable_varnullingrels() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.varnullingrels_; + return &_impl_.args_; } -// uint32 varlevelsup = 8 [json_name = "varlevelsup"]; -inline void Var::clear_varlevelsup() { +// double startup_cost = 16 [json_name = "startup_cost"]; +inline void SubPlan::clear_startup_cost() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.varlevelsup_ = 0u; + _impl_.startup_cost_ = 0; } -inline ::uint32_t Var::varlevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varlevelsup) - return _internal_varlevelsup(); +inline double SubPlan::startup_cost() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.startup_cost) + return _internal_startup_cost(); } -inline void Var::set_varlevelsup(::uint32_t value) { - _internal_set_varlevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varlevelsup) +inline void SubPlan::set_startup_cost(double value) { + _internal_set_startup_cost(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.startup_cost) } -inline ::uint32_t Var::_internal_varlevelsup() const { +inline double SubPlan::_internal_startup_cost() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.varlevelsup_; + return _impl_.startup_cost_; } -inline void Var::_internal_set_varlevelsup(::uint32_t value) { +inline void SubPlan::_internal_set_startup_cost(double value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.varlevelsup_ = value; + _impl_.startup_cost_ = value; } -// int32 location = 9 [json_name = "location"]; -inline void Var::clear_location() { +// double per_call_cost = 17 [json_name = "per_call_cost"]; +inline void SubPlan::clear_per_call_cost() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.per_call_cost_ = 0; } -inline ::int32_t Var::location() const { - // @@protoc_insertion_point(field_get:pg_query.Var.location) - return _internal_location(); +inline double SubPlan::per_call_cost() const { + // @@protoc_insertion_point(field_get:pg_query.SubPlan.per_call_cost) + return _internal_per_call_cost(); } -inline void Var::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.Var.location) +inline void SubPlan::set_per_call_cost(double value) { + _internal_set_per_call_cost(value); + // @@protoc_insertion_point(field_set:pg_query.SubPlan.per_call_cost) } -inline ::int32_t Var::_internal_location() const { +inline double SubPlan::_internal_per_call_cost() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.per_call_cost_; } -inline void Var::_internal_set_location(::int32_t value) { +inline void SubPlan::_internal_set_per_call_cost(double value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.per_call_cost_ = value; } // ------------------------------------------------------------------- -// Param +// AlternativeSubPlan // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Param::has_xpr() const { +inline bool AlternativeSubPlan::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void Param::clear_xpr() { +inline void AlternativeSubPlan::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Param::_internal_xpr() const { +inline const ::pg_query::Node& AlternativeSubPlan::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Param::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Param.xpr) +inline const ::pg_query::Node& AlternativeSubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.xpr) return _internal_xpr(); } -inline void Param::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void AlternativeSubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -94099,9 +105948,9 @@ inline void Param::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Param.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlternativeSubPlan.xpr) } -inline ::pg_query::Node* Param::release_xpr() { +inline ::pg_query::Node* AlternativeSubPlan::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -94120,16 +105969,16 @@ inline ::pg_query::Node* Param::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Param::unsafe_arena_release_xpr() { +inline ::pg_query::Node* AlternativeSubPlan::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Param.xpr) + // @@protoc_insertion_point(field_release:pg_query.AlternativeSubPlan.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* Param::_internal_mutable_xpr() { +inline ::pg_query::Node* AlternativeSubPlan::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -94138,12 +105987,12 @@ inline ::pg_query::Node* Param::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* Param::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* AlternativeSubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.Param.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.xpr) return _msg; } -inline void Param::set_allocated_xpr(::pg_query::Node* value) { +inline void AlternativeSubPlan::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -94161,172 +106010,83 @@ inline void Param::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Param.xpr) -} - -// .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; -inline void Param::clear_paramkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.paramkind_ = 0; -} -inline ::pg_query::ParamKind Param::paramkind() const { - // @@protoc_insertion_point(field_get:pg_query.Param.paramkind) - return _internal_paramkind(); -} -inline void Param::set_paramkind(::pg_query::ParamKind value) { - _internal_set_paramkind(value); - // @@protoc_insertion_point(field_set:pg_query.Param.paramkind) -} -inline ::pg_query::ParamKind Param::_internal_paramkind() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::ParamKind>(_impl_.paramkind_); -} -inline void Param::_internal_set_paramkind(::pg_query::ParamKind value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.paramkind_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.AlternativeSubPlan.xpr) } -// int32 paramid = 3 [json_name = "paramid"]; -inline void Param::clear_paramid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.paramid_ = 0; -} -inline ::int32_t Param::paramid() const { - // @@protoc_insertion_point(field_get:pg_query.Param.paramid) - return _internal_paramid(); -} -inline void Param::set_paramid(::int32_t value) { - _internal_set_paramid(value); - // @@protoc_insertion_point(field_set:pg_query.Param.paramid) -} -inline ::int32_t Param::_internal_paramid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.paramid_; +// repeated .pg_query.Node subplans = 2 [json_name = "subplans"]; +inline int AlternativeSubPlan::_internal_subplans_size() const { + return _internal_subplans().size(); } -inline void Param::_internal_set_paramid(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.paramid_ = value; +inline int AlternativeSubPlan::subplans_size() const { + return _internal_subplans_size(); } - -// uint32 paramtype = 4 [json_name = "paramtype"]; -inline void Param::clear_paramtype() { +inline void AlternativeSubPlan::clear_subplans() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.paramtype_ = 0u; -} -inline ::uint32_t Param::paramtype() const { - // @@protoc_insertion_point(field_get:pg_query.Param.paramtype) - return _internal_paramtype(); -} -inline void Param::set_paramtype(::uint32_t value) { - _internal_set_paramtype(value); - // @@protoc_insertion_point(field_set:pg_query.Param.paramtype) -} -inline ::uint32_t Param::_internal_paramtype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.paramtype_; + _impl_.subplans_.Clear(); } -inline void Param::_internal_set_paramtype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.paramtype_ = value; +inline ::pg_query::Node* AlternativeSubPlan::mutable_subplans(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.subplans) + return _internal_mutable_subplans()->Mutable(index); } - -// int32 paramtypmod = 5 [json_name = "paramtypmod"]; -inline void Param::clear_paramtypmod() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlternativeSubPlan::mutable_subplans() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlternativeSubPlan.subplans) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.paramtypmod_ = 0; -} -inline ::int32_t Param::paramtypmod() const { - // @@protoc_insertion_point(field_get:pg_query.Param.paramtypmod) - return _internal_paramtypmod(); -} -inline void Param::set_paramtypmod(::int32_t value) { - _internal_set_paramtypmod(value); - // @@protoc_insertion_point(field_set:pg_query.Param.paramtypmod) -} -inline ::int32_t Param::_internal_paramtypmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.paramtypmod_; + return _internal_mutable_subplans(); } -inline void Param::_internal_set_paramtypmod(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.paramtypmod_ = value; +inline const ::pg_query::Node& AlternativeSubPlan::subplans(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.subplans) + return _internal_subplans().Get(index); } - -// uint32 paramcollid = 6 [json_name = "paramcollid"]; -inline void Param::clear_paramcollid() { +inline ::pg_query::Node* AlternativeSubPlan::add_subplans() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.paramcollid_ = 0u; -} -inline ::uint32_t Param::paramcollid() const { - // @@protoc_insertion_point(field_get:pg_query.Param.paramcollid) - return _internal_paramcollid(); + ::pg_query::Node* _add = _internal_mutable_subplans()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlternativeSubPlan.subplans) + return _add; } -inline void Param::set_paramcollid(::uint32_t value) { - _internal_set_paramcollid(value); - // @@protoc_insertion_point(field_set:pg_query.Param.paramcollid) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlternativeSubPlan::subplans() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlternativeSubPlan.subplans) + return _internal_subplans(); } -inline ::uint32_t Param::_internal_paramcollid() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlternativeSubPlan::_internal_subplans() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.paramcollid_; -} -inline void Param::_internal_set_paramcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.paramcollid_ = value; -} - -// int32 location = 7 [json_name = "location"]; -inline void Param::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t Param::location() const { - // @@protoc_insertion_point(field_get:pg_query.Param.location) - return _internal_location(); -} -inline void Param::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.Param.location) + return _impl_.subplans_; } -inline ::int32_t Param::_internal_location() const { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlternativeSubPlan::_internal_mutable_subplans() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void Param::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + return &_impl_.subplans_; } // ------------------------------------------------------------------- -// Aggref +// FieldSelect // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Aggref::has_xpr() const { +inline bool FieldSelect::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void Aggref::clear_xpr() { +inline void FieldSelect::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Aggref::_internal_xpr() const { +inline const ::pg_query::Node& FieldSelect::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Aggref::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.xpr) +inline const ::pg_query::Node& FieldSelect::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.xpr) return _internal_xpr(); } -inline void Aggref::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void FieldSelect::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -94337,9 +106097,9 @@ inline void Aggref::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.xpr) } -inline ::pg_query::Node* Aggref::release_xpr() { +inline ::pg_query::Node* FieldSelect::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -94358,16 +106118,16 @@ inline ::pg_query::Node* Aggref::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Aggref::unsafe_arena_release_xpr() { +inline ::pg_query::Node* FieldSelect::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Aggref.xpr) + // @@protoc_insertion_point(field_release:pg_query.FieldSelect.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* Aggref::_internal_mutable_xpr() { +inline ::pg_query::Node* FieldSelect::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -94376,12 +106136,12 @@ inline ::pg_query::Node* Aggref::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* Aggref::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FieldSelect::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.xpr) return _msg; } -inline void Aggref::set_allocated_xpr(::pg_query::Node* value) { +inline void FieldSelect::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -94399,385 +106159,48 @@ inline void Aggref::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.xpr) -} - -// uint32 aggfnoid = 2 [json_name = "aggfnoid"]; -inline void Aggref::clear_aggfnoid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggfnoid_ = 0u; -} -inline ::uint32_t Aggref::aggfnoid() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfnoid) - return _internal_aggfnoid(); -} -inline void Aggref::set_aggfnoid(::uint32_t value) { - _internal_set_aggfnoid(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggfnoid) -} -inline ::uint32_t Aggref::_internal_aggfnoid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggfnoid_; -} -inline void Aggref::_internal_set_aggfnoid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggfnoid_ = value; -} - -// uint32 aggtype = 3 [json_name = "aggtype"]; -inline void Aggref::clear_aggtype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggtype_ = 0u; -} -inline ::uint32_t Aggref::aggtype() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtype) - return _internal_aggtype(); -} -inline void Aggref::set_aggtype(::uint32_t value) { - _internal_set_aggtype(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtype) -} -inline ::uint32_t Aggref::_internal_aggtype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggtype_; -} -inline void Aggref::_internal_set_aggtype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggtype_ = value; -} - -// uint32 aggcollid = 4 [json_name = "aggcollid"]; -inline void Aggref::clear_aggcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggcollid_ = 0u; -} -inline ::uint32_t Aggref::aggcollid() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggcollid) - return _internal_aggcollid(); -} -inline void Aggref::set_aggcollid(::uint32_t value) { - _internal_set_aggcollid(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggcollid) -} -inline ::uint32_t Aggref::_internal_aggcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggcollid_; -} -inline void Aggref::_internal_set_aggcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggcollid_ = value; -} - -// uint32 inputcollid = 5 [json_name = "inputcollid"]; -inline void Aggref::clear_inputcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; -} -inline ::uint32_t Aggref::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.inputcollid) - return _internal_inputcollid(); -} -inline void Aggref::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.inputcollid) -} -inline ::uint32_t Aggref::_internal_inputcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; -} -inline void Aggref::_internal_set_inputcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inputcollid_ = value; -} - -// repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"]; -inline int Aggref::_internal_aggargtypes_size() const { - return _internal_aggargtypes().size(); -} -inline int Aggref::aggargtypes_size() const { - return _internal_aggargtypes_size(); -} -inline void Aggref::clear_aggargtypes() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggargtypes_.Clear(); -} -inline ::pg_query::Node* Aggref::mutable_aggargtypes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggargtypes) - return _internal_mutable_aggargtypes()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggargtypes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggargtypes) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_aggargtypes(); -} -inline const ::pg_query::Node& Aggref::aggargtypes(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggargtypes) - return _internal_aggargtypes().Get(index); -} -inline ::pg_query::Node* Aggref::add_aggargtypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_aggargtypes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Aggref.aggargtypes) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggargtypes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Aggref.aggargtypes) - return _internal_aggargtypes(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Aggref::_internal_aggargtypes() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggargtypes_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Aggref::_internal_mutable_aggargtypes() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.aggargtypes_; -} - -// repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"]; -inline int Aggref::_internal_aggdirectargs_size() const { - return _internal_aggdirectargs().size(); -} -inline int Aggref::aggdirectargs_size() const { - return _internal_aggdirectargs_size(); -} -inline void Aggref::clear_aggdirectargs() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggdirectargs_.Clear(); -} -inline ::pg_query::Node* Aggref::mutable_aggdirectargs(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdirectargs) - return _internal_mutable_aggdirectargs()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdirectargs() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdirectargs) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_aggdirectargs(); -} -inline const ::pg_query::Node& Aggref::aggdirectargs(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdirectargs) - return _internal_aggdirectargs().Get(index); -} -inline ::pg_query::Node* Aggref::add_aggdirectargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_aggdirectargs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdirectargs) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdirectargs() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdirectargs) - return _internal_aggdirectargs(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Aggref::_internal_aggdirectargs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggdirectargs_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Aggref::_internal_mutable_aggdirectargs() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.aggdirectargs_; -} - -// repeated .pg_query.Node args = 8 [json_name = "args"]; -inline int Aggref::_internal_args_size() const { - return _internal_args().size(); -} -inline int Aggref::args_size() const { - return _internal_args_size(); -} -inline void Aggref::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* Aggref::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& Aggref::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* Aggref::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Aggref.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Aggref.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Aggref::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Aggref::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; -} - -// repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"]; -inline int Aggref::_internal_aggorder_size() const { - return _internal_aggorder().size(); -} -inline int Aggref::aggorder_size() const { - return _internal_aggorder_size(); -} -inline void Aggref::clear_aggorder() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggorder_.Clear(); -} -inline ::pg_query::Node* Aggref::mutable_aggorder(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggorder) - return _internal_mutable_aggorder()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggorder() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggorder) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_aggorder(); -} -inline const ::pg_query::Node& Aggref::aggorder(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggorder) - return _internal_aggorder().Get(index); -} -inline ::pg_query::Node* Aggref::add_aggorder() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_aggorder()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Aggref.aggorder) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggorder() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Aggref.aggorder) - return _internal_aggorder(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Aggref::_internal_aggorder() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggorder_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Aggref::_internal_mutable_aggorder() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.aggorder_; -} - -// repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"]; -inline int Aggref::_internal_aggdistinct_size() const { - return _internal_aggdistinct().size(); -} -inline int Aggref::aggdistinct_size() const { - return _internal_aggdistinct_size(); -} -inline void Aggref::clear_aggdistinct() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggdistinct_.Clear(); -} -inline ::pg_query::Node* Aggref::mutable_aggdistinct(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdistinct) - return _internal_mutable_aggdistinct()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdistinct() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdistinct) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_aggdistinct(); -} -inline const ::pg_query::Node& Aggref::aggdistinct(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdistinct) - return _internal_aggdistinct().Get(index); -} -inline ::pg_query::Node* Aggref::add_aggdistinct() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_aggdistinct()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdistinct) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdistinct() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdistinct) - return _internal_aggdistinct(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Aggref::_internal_aggdistinct() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggdistinct_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Aggref::_internal_mutable_aggdistinct() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.aggdistinct_; + // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.xpr) } -// .pg_query.Node aggfilter = 11 [json_name = "aggfilter"]; -inline bool Aggref::has_aggfilter() const { +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool FieldSelect::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void Aggref::clear_aggfilter() { +inline void FieldSelect::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& Aggref::_internal_aggfilter() const { +inline const ::pg_query::Node& FieldSelect::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.aggfilter_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Aggref::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfilter) - return _internal_aggfilter(); +inline const ::pg_query::Node& FieldSelect::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.arg) + return _internal_arg(); } -inline void Aggref::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { +inline void FieldSelect::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.aggfilter) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.arg) } -inline ::pg_query::Node* Aggref::release_aggfilter() { +inline ::pg_query::Node* FieldSelect::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.aggfilter_; - _impl_.aggfilter_ = nullptr; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -94791,34 +106214,34 @@ inline ::pg_query::Node* Aggref::release_aggfilter() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Aggref::unsafe_arena_release_aggfilter() { +inline ::pg_query::Node* FieldSelect::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Aggref.aggfilter) + // @@protoc_insertion_point(field_release:pg_query.FieldSelect.arg) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.aggfilter_; - _impl_.aggfilter_ = nullptr; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* Aggref::_internal_mutable_aggfilter() { +inline ::pg_query::Node* FieldSelect::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.aggfilter_ == nullptr) { + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.aggfilter_; + return _impl_.arg_; } -inline ::pg_query::Node* Aggref::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_aggfilter(); - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggfilter) +inline ::pg_query::Node* FieldSelect::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.arg) return _msg; } -inline void Aggref::set_allocated_aggfilter(::pg_query::Node* value) { +inline void FieldSelect::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { @@ -94831,249 +106254,127 @@ inline void Aggref::set_allocated_aggfilter(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggfilter) -} - -// bool aggstar = 12 [json_name = "aggstar"]; -inline void Aggref::clear_aggstar() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggstar_ = false; -} -inline bool Aggref::aggstar() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggstar) - return _internal_aggstar(); -} -inline void Aggref::set_aggstar(bool value) { - _internal_set_aggstar(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggstar) -} -inline bool Aggref::_internal_aggstar() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggstar_; -} -inline void Aggref::_internal_set_aggstar(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggstar_ = value; -} - -// bool aggvariadic = 13 [json_name = "aggvariadic"]; -inline void Aggref::clear_aggvariadic() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggvariadic_ = false; -} -inline bool Aggref::aggvariadic() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggvariadic) - return _internal_aggvariadic(); -} -inline void Aggref::set_aggvariadic(bool value) { - _internal_set_aggvariadic(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggvariadic) -} -inline bool Aggref::_internal_aggvariadic() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggvariadic_; -} -inline void Aggref::_internal_set_aggvariadic(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggvariadic_ = value; -} - -// string aggkind = 14 [json_name = "aggkind"]; -inline void Aggref::clear_aggkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggkind_.ClearToEmpty(); -} -inline const std::string& Aggref::aggkind() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggkind) - return _internal_aggkind(); -} -template -inline PROTOBUF_ALWAYS_INLINE void Aggref::set_aggkind(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggkind_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggkind) -} -inline std::string* Aggref::mutable_aggkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_aggkind(); - // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggkind) - return _s; -} -inline const std::string& Aggref::_internal_aggkind() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggkind_.Get(); -} -inline void Aggref::_internal_set_aggkind(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.aggkind_.Set(value, GetArena()); -} -inline std::string* Aggref::_internal_mutable_aggkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.aggkind_.Mutable( GetArena()); -} -inline std::string* Aggref::release_aggkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Aggref.aggkind) - return _impl_.aggkind_.Release(); -} -inline void Aggref::set_allocated_aggkind(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggkind_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.aggkind_.IsDefault()) { - _impl_.aggkind_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggkind) -} - -// uint32 agglevelsup = 15 [json_name = "agglevelsup"]; -inline void Aggref::clear_agglevelsup() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agglevelsup_ = 0u; -} -inline ::uint32_t Aggref::agglevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.agglevelsup) - return _internal_agglevelsup(); -} -inline void Aggref::set_agglevelsup(::uint32_t value) { - _internal_set_agglevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.agglevelsup) -} -inline ::uint32_t Aggref::_internal_agglevelsup() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agglevelsup_; -} -inline void Aggref::_internal_set_agglevelsup(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.agglevelsup_ = value; + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.arg) } -// .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"]; -inline void Aggref::clear_aggsplit() { +// int32 fieldnum = 3 [json_name = "fieldnum"]; +inline void FieldSelect::clear_fieldnum() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggsplit_ = 0; + _impl_.fieldnum_ = 0; } -inline ::pg_query::AggSplit Aggref::aggsplit() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggsplit) - return _internal_aggsplit(); +inline ::int32_t FieldSelect::fieldnum() const { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.fieldnum) + return _internal_fieldnum(); } -inline void Aggref::set_aggsplit(::pg_query::AggSplit value) { - _internal_set_aggsplit(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggsplit) +inline void FieldSelect::set_fieldnum(::int32_t value) { + _internal_set_fieldnum(value); + // @@protoc_insertion_point(field_set:pg_query.FieldSelect.fieldnum) } -inline ::pg_query::AggSplit Aggref::_internal_aggsplit() const { +inline ::int32_t FieldSelect::_internal_fieldnum() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::AggSplit>(_impl_.aggsplit_); + return _impl_.fieldnum_; } -inline void Aggref::_internal_set_aggsplit(::pg_query::AggSplit value) { +inline void FieldSelect::_internal_set_fieldnum(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.aggsplit_ = value; + _impl_.fieldnum_ = value; } -// int32 aggno = 17 [json_name = "aggno"]; -inline void Aggref::clear_aggno() { +// uint32 resulttype = 4 [json_name = "resulttype"]; +inline void FieldSelect::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggno_ = 0; + _impl_.resulttype_ = 0u; } -inline ::int32_t Aggref::aggno() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggno) - return _internal_aggno(); +inline ::uint32_t FieldSelect::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttype) + return _internal_resulttype(); } -inline void Aggref::set_aggno(::int32_t value) { - _internal_set_aggno(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggno) +inline void FieldSelect::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttype) } -inline ::int32_t Aggref::_internal_aggno() const { +inline ::uint32_t FieldSelect::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggno_; + return _impl_.resulttype_; } -inline void Aggref::_internal_set_aggno(::int32_t value) { +inline void FieldSelect::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.aggno_ = value; + _impl_.resulttype_ = value; } -// int32 aggtransno = 18 [json_name = "aggtransno"]; -inline void Aggref::clear_aggtransno() { +// int32 resulttypmod = 5 [json_name = "resulttypmod"]; +inline void FieldSelect::clear_resulttypmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aggtransno_ = 0; + _impl_.resulttypmod_ = 0; } -inline ::int32_t Aggref::aggtransno() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtransno) - return _internal_aggtransno(); +inline ::int32_t FieldSelect::resulttypmod() const { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttypmod) + return _internal_resulttypmod(); } -inline void Aggref::set_aggtransno(::int32_t value) { - _internal_set_aggtransno(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtransno) +inline void FieldSelect::set_resulttypmod(::int32_t value) { + _internal_set_resulttypmod(value); + // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttypmod) } -inline ::int32_t Aggref::_internal_aggtransno() const { +inline ::int32_t FieldSelect::_internal_resulttypmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aggtransno_; + return _impl_.resulttypmod_; } -inline void Aggref::_internal_set_aggtransno(::int32_t value) { +inline void FieldSelect::_internal_set_resulttypmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.aggtransno_ = value; + _impl_.resulttypmod_ = value; } -// int32 location = 19 [json_name = "location"]; -inline void Aggref::clear_location() { +// uint32 resultcollid = 6 [json_name = "resultcollid"]; +inline void FieldSelect::clear_resultcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.resultcollid_ = 0u; } -inline ::int32_t Aggref::location() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.location) - return _internal_location(); +inline ::uint32_t FieldSelect::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resultcollid) + return _internal_resultcollid(); } -inline void Aggref::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.location) +inline void FieldSelect::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resultcollid) } -inline ::int32_t Aggref::_internal_location() const { +inline ::uint32_t FieldSelect::_internal_resultcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.resultcollid_; } -inline void Aggref::_internal_set_location(::int32_t value) { +inline void FieldSelect::_internal_set_resultcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.resultcollid_ = value; } // ------------------------------------------------------------------- -// GroupingFunc +// FieldStore // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool GroupingFunc::has_xpr() const { +inline bool FieldStore::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void GroupingFunc::clear_xpr() { +inline void FieldStore::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& GroupingFunc::_internal_xpr() const { +inline const ::pg_query::Node& FieldStore::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& GroupingFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.xpr) +inline const ::pg_query::Node& FieldStore::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FieldStore.xpr) return _internal_xpr(); } -inline void GroupingFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void FieldStore::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -95084,9 +106385,9 @@ inline void GroupingFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GroupingFunc.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.xpr) } -inline ::pg_query::Node* GroupingFunc::release_xpr() { +inline ::pg_query::Node* FieldStore::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -95105,16 +106406,16 @@ inline ::pg_query::Node* GroupingFunc::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* GroupingFunc::unsafe_arena_release_xpr() { +inline ::pg_query::Node* FieldStore::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.GroupingFunc.xpr) + // @@protoc_insertion_point(field_release:pg_query.FieldStore.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* GroupingFunc::_internal_mutable_xpr() { +inline ::pg_query::Node* FieldStore::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -95123,12 +106424,12 @@ inline ::pg_query::Node* GroupingFunc::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* GroupingFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FieldStore::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.xpr) return _msg; } -inline void GroupingFunc::set_allocated_xpr(::pg_query::Node* value) { +inline void FieldStore::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -95146,178 +106447,251 @@ inline void GroupingFunc::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.GroupingFunc.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.xpr) } -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int GroupingFunc::_internal_args_size() const { - return _internal_args().size(); +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool FieldStore::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline int GroupingFunc::args_size() const { - return _internal_args_size(); +inline void FieldStore::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline void GroupingFunc::clear_args() { +inline const ::pg_query::Node& FieldStore::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& FieldStore::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FieldStore.arg) + return _internal_arg(); +} +inline void FieldStore::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.arg) } -inline ::pg_query::Node* GroupingFunc::mutable_args(int index) +inline ::pg_query::Node* FieldStore::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* FieldStore::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FieldStore.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; +} +inline ::pg_query::Node* FieldStore::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; +} +inline ::pg_query::Node* FieldStore::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.arg) + return _msg; +} +inline void FieldStore::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.arg) +} + +// repeated .pg_query.Node newvals = 3 [json_name = "newvals"]; +inline int FieldStore::_internal_newvals_size() const { + return _internal_newvals().size(); +} +inline int FieldStore::newvals_size() const { + return _internal_newvals_size(); +} +inline void FieldStore::clear_newvals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.newvals_.Clear(); +} +inline ::pg_query::Node* FieldStore::mutable_newvals(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.newvals) + return _internal_mutable_newvals()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_newvals() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.newvals) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + return _internal_mutable_newvals(); } -inline const ::pg_query::Node& GroupingFunc::args(int index) const +inline const ::pg_query::Node& FieldStore::newvals(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.FieldStore.newvals) + return _internal_newvals().Get(index); } -inline ::pg_query::Node* GroupingFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FieldStore::add_newvals() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.args) + ::pg_query::Node* _add = _internal_mutable_newvals()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FieldStore.newvals) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::newvals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.args) - return _internal_args(); + // @@protoc_insertion_point(field_list:pg_query.FieldStore.newvals) + return _internal_newvals(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -GroupingFunc::_internal_args() const { +FieldStore::_internal_newvals() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.newvals_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -GroupingFunc::_internal_mutable_args() { +FieldStore::_internal_mutable_newvals() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return &_impl_.newvals_; } -// repeated .pg_query.Node refs = 3 [json_name = "refs"]; -inline int GroupingFunc::_internal_refs_size() const { - return _internal_refs().size(); +// repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"]; +inline int FieldStore::_internal_fieldnums_size() const { + return _internal_fieldnums().size(); } -inline int GroupingFunc::refs_size() const { - return _internal_refs_size(); +inline int FieldStore::fieldnums_size() const { + return _internal_fieldnums_size(); } -inline void GroupingFunc::clear_refs() { +inline void FieldStore::clear_fieldnums() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refs_.Clear(); + _impl_.fieldnums_.Clear(); } -inline ::pg_query::Node* GroupingFunc::mutable_refs(int index) +inline ::pg_query::Node* FieldStore::mutable_fieldnums(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.refs) - return _internal_mutable_refs()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.fieldnums) + return _internal_mutable_fieldnums()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_refs() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_fieldnums() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.refs) + // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.fieldnums) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_refs(); + return _internal_mutable_fieldnums(); } -inline const ::pg_query::Node& GroupingFunc::refs(int index) const +inline const ::pg_query::Node& FieldStore::fieldnums(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.refs) - return _internal_refs().Get(index); + // @@protoc_insertion_point(field_get:pg_query.FieldStore.fieldnums) + return _internal_fieldnums().Get(index); } -inline ::pg_query::Node* GroupingFunc::add_refs() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FieldStore::add_fieldnums() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_refs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.refs) + ::pg_query::Node* _add = _internal_mutable_fieldnums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FieldStore.fieldnums) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::refs() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::fieldnums() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.refs) - return _internal_refs(); + // @@protoc_insertion_point(field_list:pg_query.FieldStore.fieldnums) + return _internal_fieldnums(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -GroupingFunc::_internal_refs() const { +FieldStore::_internal_fieldnums() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refs_; + return _impl_.fieldnums_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -GroupingFunc::_internal_mutable_refs() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.refs_; -} - -// uint32 agglevelsup = 4 [json_name = "agglevelsup"]; -inline void GroupingFunc::clear_agglevelsup() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agglevelsup_ = 0u; -} -inline ::uint32_t GroupingFunc::agglevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.agglevelsup) - return _internal_agglevelsup(); -} -inline void GroupingFunc::set_agglevelsup(::uint32_t value) { - _internal_set_agglevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.agglevelsup) -} -inline ::uint32_t GroupingFunc::_internal_agglevelsup() const { +FieldStore::_internal_mutable_fieldnums() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agglevelsup_; -} -inline void GroupingFunc::_internal_set_agglevelsup(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.agglevelsup_ = value; + return &_impl_.fieldnums_; } -// int32 location = 5 [json_name = "location"]; -inline void GroupingFunc::clear_location() { +// uint32 resulttype = 5 [json_name = "resulttype"]; +inline void FieldStore::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.resulttype_ = 0u; } -inline ::int32_t GroupingFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.location) - return _internal_location(); +inline ::uint32_t FieldStore::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.FieldStore.resulttype) + return _internal_resulttype(); } -inline void GroupingFunc::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.location) +inline void FieldStore::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.FieldStore.resulttype) } -inline ::int32_t GroupingFunc::_internal_location() const { +inline ::uint32_t FieldStore::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.resulttype_; } -inline void GroupingFunc::_internal_set_location(::int32_t value) { +inline void FieldStore::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.resulttype_ = value; } // ------------------------------------------------------------------- -// WindowFunc +// RelabelType // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool WindowFunc::has_xpr() const { +inline bool RelabelType::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void WindowFunc::clear_xpr() { +inline void RelabelType::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WindowFunc::_internal_xpr() const { +inline const ::pg_query::Node& RelabelType::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.xpr) +inline const ::pg_query::Node& RelabelType::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.xpr) return _internal_xpr(); } -inline void WindowFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void RelabelType::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -95328,9 +106702,9 @@ inline void WindowFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.xpr) } -inline ::pg_query::Node* WindowFunc::release_xpr() { +inline ::pg_query::Node* RelabelType::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -95349,16 +106723,16 @@ inline ::pg_query::Node* WindowFunc::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WindowFunc::unsafe_arena_release_xpr() { +inline ::pg_query::Node* RelabelType::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowFunc.xpr) + // @@protoc_insertion_point(field_release:pg_query.RelabelType.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* WindowFunc::_internal_mutable_xpr() { +inline ::pg_query::Node* RelabelType::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -95367,12 +106741,12 @@ inline ::pg_query::Node* WindowFunc::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* WindowFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RelabelType::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.xpr) return _msg; } -inline void WindowFunc::set_allocated_xpr(::pg_query::Node* value) { +inline void RelabelType::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -95390,189 +106764,48 @@ inline void WindowFunc::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.xpr) -} - -// uint32 winfnoid = 2 [json_name = "winfnoid"]; -inline void WindowFunc::clear_winfnoid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.winfnoid_ = 0u; -} -inline ::uint32_t WindowFunc::winfnoid() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winfnoid) - return _internal_winfnoid(); -} -inline void WindowFunc::set_winfnoid(::uint32_t value) { - _internal_set_winfnoid(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winfnoid) -} -inline ::uint32_t WindowFunc::_internal_winfnoid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.winfnoid_; -} -inline void WindowFunc::_internal_set_winfnoid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.winfnoid_ = value; -} - -// uint32 wintype = 3 [json_name = "wintype"]; -inline void WindowFunc::clear_wintype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.wintype_ = 0u; -} -inline ::uint32_t WindowFunc::wintype() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wintype) - return _internal_wintype(); -} -inline void WindowFunc::set_wintype(::uint32_t value) { - _internal_set_wintype(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wintype) -} -inline ::uint32_t WindowFunc::_internal_wintype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.wintype_; -} -inline void WindowFunc::_internal_set_wintype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.wintype_ = value; -} - -// uint32 wincollid = 4 [json_name = "wincollid"]; -inline void WindowFunc::clear_wincollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.wincollid_ = 0u; -} -inline ::uint32_t WindowFunc::wincollid() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wincollid) - return _internal_wincollid(); -} -inline void WindowFunc::set_wincollid(::uint32_t value) { - _internal_set_wincollid(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wincollid) -} -inline ::uint32_t WindowFunc::_internal_wincollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.wincollid_; -} -inline void WindowFunc::_internal_set_wincollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.wincollid_ = value; -} - -// uint32 inputcollid = 5 [json_name = "inputcollid"]; -inline void WindowFunc::clear_inputcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; -} -inline ::uint32_t WindowFunc::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.inputcollid) - return _internal_inputcollid(); -} -inline void WindowFunc::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.inputcollid) -} -inline ::uint32_t WindowFunc::_internal_inputcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; -} -inline void WindowFunc::_internal_set_inputcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inputcollid_ = value; -} - -// repeated .pg_query.Node args = 6 [json_name = "args"]; -inline int WindowFunc::_internal_args_size() const { - return _internal_args().size(); -} -inline int WindowFunc::args_size() const { - return _internal_args_size(); -} -inline void WindowFunc::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* WindowFunc::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowFunc::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowFunc.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& WindowFunc::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* WindowFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowFunc.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowFunc::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowFunc.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowFunc::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowFunc::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.xpr) } -// .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; -inline bool WindowFunc::has_aggfilter() const { +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool RelabelType::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void WindowFunc::clear_aggfilter() { +inline void RelabelType::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& WindowFunc::_internal_aggfilter() const { +inline const ::pg_query::Node& RelabelType::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.aggfilter_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowFunc::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.aggfilter) - return _internal_aggfilter(); +inline const ::pg_query::Node& RelabelType::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.arg) + return _internal_arg(); } -inline void WindowFunc::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { +inline void RelabelType::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.aggfilter) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.arg) } -inline ::pg_query::Node* WindowFunc::release_aggfilter() { +inline ::pg_query::Node* RelabelType::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.aggfilter_; - _impl_.aggfilter_ = nullptr; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -95586,34 +106819,34 @@ inline ::pg_query::Node* WindowFunc::release_aggfilter() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WindowFunc::unsafe_arena_release_aggfilter() { +inline ::pg_query::Node* RelabelType::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowFunc.aggfilter) + // @@protoc_insertion_point(field_release:pg_query.RelabelType.arg) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.aggfilter_; - _impl_.aggfilter_ = nullptr; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* WindowFunc::_internal_mutable_aggfilter() { +inline ::pg_query::Node* RelabelType::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.aggfilter_ == nullptr) { + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.aggfilter_; + return _impl_.arg_; } -inline ::pg_query::Node* WindowFunc::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_aggfilter(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.aggfilter) +inline ::pg_query::Node* RelabelType::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.arg) return _msg; } -inline void WindowFunc::set_allocated_aggfilter(::pg_query::Node* value) { +inline void RelabelType::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { @@ -95626,97 +106859,120 @@ inline void WindowFunc::set_allocated_aggfilter(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.aggfilter) + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.arg) } -// uint32 winref = 8 [json_name = "winref"]; -inline void WindowFunc::clear_winref() { +// uint32 resulttype = 3 [json_name = "resulttype"]; +inline void RelabelType::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.winref_ = 0u; + _impl_.resulttype_ = 0u; } -inline ::uint32_t WindowFunc::winref() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winref) - return _internal_winref(); +inline ::uint32_t RelabelType::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttype) + return _internal_resulttype(); } -inline void WindowFunc::set_winref(::uint32_t value) { - _internal_set_winref(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winref) +inline void RelabelType::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttype) } -inline ::uint32_t WindowFunc::_internal_winref() const { +inline ::uint32_t RelabelType::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.winref_; + return _impl_.resulttype_; } -inline void WindowFunc::_internal_set_winref(::uint32_t value) { +inline void RelabelType::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.winref_ = value; + _impl_.resulttype_ = value; } -// bool winstar = 9 [json_name = "winstar"]; -inline void WindowFunc::clear_winstar() { +// int32 resulttypmod = 4 [json_name = "resulttypmod"]; +inline void RelabelType::clear_resulttypmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.winstar_ = false; + _impl_.resulttypmod_ = 0; } -inline bool WindowFunc::winstar() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winstar) - return _internal_winstar(); +inline ::int32_t RelabelType::resulttypmod() const { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttypmod) + return _internal_resulttypmod(); } -inline void WindowFunc::set_winstar(bool value) { - _internal_set_winstar(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winstar) +inline void RelabelType::set_resulttypmod(::int32_t value) { + _internal_set_resulttypmod(value); + // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttypmod) } -inline bool WindowFunc::_internal_winstar() const { +inline ::int32_t RelabelType::_internal_resulttypmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.winstar_; + return _impl_.resulttypmod_; } -inline void WindowFunc::_internal_set_winstar(bool value) { +inline void RelabelType::_internal_set_resulttypmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.winstar_ = value; + _impl_.resulttypmod_ = value; } -// bool winagg = 10 [json_name = "winagg"]; -inline void WindowFunc::clear_winagg() { +// uint32 resultcollid = 5 [json_name = "resultcollid"]; +inline void RelabelType::clear_resultcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.winagg_ = false; + _impl_.resultcollid_ = 0u; } -inline bool WindowFunc::winagg() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winagg) - return _internal_winagg(); +inline ::uint32_t RelabelType::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.resultcollid) + return _internal_resultcollid(); } -inline void WindowFunc::set_winagg(bool value) { - _internal_set_winagg(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winagg) +inline void RelabelType::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.RelabelType.resultcollid) } -inline bool WindowFunc::_internal_winagg() const { +inline ::uint32_t RelabelType::_internal_resultcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.winagg_; + return _impl_.resultcollid_; } -inline void WindowFunc::_internal_set_winagg(bool value) { +inline void RelabelType::_internal_set_resultcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.winagg_ = value; + _impl_.resultcollid_ = value; } -// int32 location = 11 [json_name = "location"]; -inline void WindowFunc::clear_location() { +// .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; +inline void RelabelType::clear_relabelformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relabelformat_ = 0; +} +inline ::pg_query::CoercionForm RelabelType::relabelformat() const { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.relabelformat) + return _internal_relabelformat(); +} +inline void RelabelType::set_relabelformat(::pg_query::CoercionForm value) { + _internal_set_relabelformat(value); + // @@protoc_insertion_point(field_set:pg_query.RelabelType.relabelformat) +} +inline ::pg_query::CoercionForm RelabelType::_internal_relabelformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.relabelformat_); +} +inline void RelabelType::_internal_set_relabelformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relabelformat_ = value; +} + +// int32 location = 7 [json_name = "location"]; +inline void RelabelType::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t WindowFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.WindowFunc.location) +inline ::int32_t RelabelType::location() const { + // @@protoc_insertion_point(field_get:pg_query.RelabelType.location) return _internal_location(); } -inline void WindowFunc::set_location(::int32_t value) { +inline void RelabelType::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.location) + // @@protoc_insertion_point(field_set:pg_query.RelabelType.location) } -inline ::int32_t WindowFunc::_internal_location() const { +inline ::int32_t RelabelType::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void WindowFunc::_internal_set_location(::int32_t value) { +inline void RelabelType::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -95724,29 +106980,29 @@ inline void WindowFunc::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// SubscriptingRef +// CoerceViaIO // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubscriptingRef::has_xpr() const { +inline bool CoerceViaIO::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void SubscriptingRef::clear_xpr() { +inline void CoerceViaIO::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SubscriptingRef::_internal_xpr() const { +inline const ::pg_query::Node& CoerceViaIO::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.xpr) +inline const ::pg_query::Node& CoerceViaIO::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.xpr) return _internal_xpr(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CoerceViaIO::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -95757,9 +107013,9 @@ inline void SubscriptingRef::unsafe_arena_set_allocated_xpr(::pg_query::Node* va } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.xpr) } -inline ::pg_query::Node* SubscriptingRef::release_xpr() { +inline ::pg_query::Node* CoerceViaIO::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -95778,16 +107034,16 @@ inline ::pg_query::Node* SubscriptingRef::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.xpr) + // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* SubscriptingRef::_internal_mutable_xpr() { +inline ::pg_query::Node* CoerceViaIO::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -95796,12 +107052,12 @@ inline ::pg_query::Node* SubscriptingRef::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* SubscriptingRef::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoerceViaIO::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.xpr) return _msg; } -inline void SubscriptingRef::set_allocated_xpr(::pg_query::Node* value) { +inline void CoerceViaIO::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -95819,261 +107075,336 @@ inline void SubscriptingRef::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.xpr) } -// uint32 refcontainertype = 2 [json_name = "refcontainertype"]; -inline void SubscriptingRef::clear_refcontainertype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refcontainertype_ = 0u; -} -inline ::uint32_t SubscriptingRef::refcontainertype() const { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcontainertype) - return _internal_refcontainertype(); +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool CoerceViaIO::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void SubscriptingRef::set_refcontainertype(::uint32_t value) { - _internal_set_refcontainertype(value); - // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcontainertype) +inline void CoerceViaIO::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::uint32_t SubscriptingRef::_internal_refcontainertype() const { +inline const ::pg_query::Node& CoerceViaIO::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refcontainertype_; + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void SubscriptingRef::_internal_set_refcontainertype(::uint32_t value) { +inline const ::pg_query::Node& CoerceViaIO::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.arg) + return _internal_arg(); +} +inline void CoerceViaIO::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.refcontainertype_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.arg) } - -// uint32 refelemtype = 3 [json_name = "refelemtype"]; -inline void SubscriptingRef::clear_refelemtype() { +inline ::pg_query::Node* CoerceViaIO::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refelemtype_ = 0u; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t SubscriptingRef::refelemtype() const { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refelemtype) - return _internal_refelemtype(); +inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline void SubscriptingRef::set_refelemtype(::uint32_t value) { - _internal_set_refelemtype(value); - // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refelemtype) +inline ::pg_query::Node* CoerceViaIO::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline ::uint32_t SubscriptingRef::_internal_refelemtype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refelemtype_; +inline ::pg_query::Node* CoerceViaIO::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.arg) + return _msg; } -inline void SubscriptingRef::_internal_set_refelemtype(::uint32_t value) { +inline void CoerceViaIO::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.refelemtype_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.arg) } -// uint32 refrestype = 4 [json_name = "refrestype"]; -inline void SubscriptingRef::clear_refrestype() { +// uint32 resulttype = 3 [json_name = "resulttype"]; +inline void CoerceViaIO::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refrestype_ = 0u; + _impl_.resulttype_ = 0u; } -inline ::uint32_t SubscriptingRef::refrestype() const { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refrestype) - return _internal_refrestype(); +inline ::uint32_t CoerceViaIO::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resulttype) + return _internal_resulttype(); } -inline void SubscriptingRef::set_refrestype(::uint32_t value) { - _internal_set_refrestype(value); - // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refrestype) +inline void CoerceViaIO::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resulttype) } -inline ::uint32_t SubscriptingRef::_internal_refrestype() const { +inline ::uint32_t CoerceViaIO::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refrestype_; + return _impl_.resulttype_; } -inline void SubscriptingRef::_internal_set_refrestype(::uint32_t value) { +inline void CoerceViaIO::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refrestype_ = value; + _impl_.resulttype_ = value; } -// int32 reftypmod = 5 [json_name = "reftypmod"]; -inline void SubscriptingRef::clear_reftypmod() { +// uint32 resultcollid = 4 [json_name = "resultcollid"]; +inline void CoerceViaIO::clear_resultcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.reftypmod_ = 0; + _impl_.resultcollid_ = 0u; } -inline ::int32_t SubscriptingRef::reftypmod() const { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reftypmod) - return _internal_reftypmod(); +inline ::uint32_t CoerceViaIO::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resultcollid) + return _internal_resultcollid(); } -inline void SubscriptingRef::set_reftypmod(::int32_t value) { - _internal_set_reftypmod(value); - // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.reftypmod) +inline void CoerceViaIO::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resultcollid) } -inline ::int32_t SubscriptingRef::_internal_reftypmod() const { +inline ::uint32_t CoerceViaIO::_internal_resultcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.reftypmod_; + return _impl_.resultcollid_; } -inline void SubscriptingRef::_internal_set_reftypmod(::int32_t value) { +inline void CoerceViaIO::_internal_set_resultcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.reftypmod_ = value; + _impl_.resultcollid_ = value; } -// uint32 refcollid = 6 [json_name = "refcollid"]; -inline void SubscriptingRef::clear_refcollid() { +// .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"]; +inline void CoerceViaIO::clear_coerceformat() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refcollid_ = 0u; + _impl_.coerceformat_ = 0; } -inline ::uint32_t SubscriptingRef::refcollid() const { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcollid) - return _internal_refcollid(); +inline ::pg_query::CoercionForm CoerceViaIO::coerceformat() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.coerceformat) + return _internal_coerceformat(); } -inline void SubscriptingRef::set_refcollid(::uint32_t value) { - _internal_set_refcollid(value); - // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcollid) +inline void CoerceViaIO::set_coerceformat(::pg_query::CoercionForm value) { + _internal_set_coerceformat(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.coerceformat) } -inline ::uint32_t SubscriptingRef::_internal_refcollid() const { +inline ::pg_query::CoercionForm CoerceViaIO::_internal_coerceformat() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refcollid_; + return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); } -inline void SubscriptingRef::_internal_set_refcollid(::uint32_t value) { +inline void CoerceViaIO::_internal_set_coerceformat(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refcollid_ = value; + _impl_.coerceformat_ = value; } -// repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; -inline int SubscriptingRef::_internal_refupperindexpr_size() const { - return _internal_refupperindexpr().size(); -} -inline int SubscriptingRef::refupperindexpr_size() const { - return _internal_refupperindexpr_size(); -} -inline void SubscriptingRef::clear_refupperindexpr() { +// int32 location = 6 [json_name = "location"]; +inline void CoerceViaIO::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refupperindexpr_.Clear(); + _impl_.location_ = 0; } -inline ::pg_query::Node* SubscriptingRef::mutable_refupperindexpr(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refupperindexpr) - return _internal_mutable_refupperindexpr()->Mutable(index); +inline ::int32_t CoerceViaIO::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.location) + return _internal_location(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_refupperindexpr() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.refupperindexpr) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_refupperindexpr(); +inline void CoerceViaIO::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.location) } -inline const ::pg_query::Node& SubscriptingRef::refupperindexpr(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refupperindexpr) - return _internal_refupperindexpr().Get(index); +inline ::int32_t CoerceViaIO::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::pg_query::Node* SubscriptingRef::add_refupperindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void CoerceViaIO::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_refupperindexpr()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.refupperindexpr) - return _add; + ; + _impl_.location_ = value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::refupperindexpr() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.refupperindexpr) - return _internal_refupperindexpr(); + +// ------------------------------------------------------------------- + +// ArrayCoerceExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool ArrayCoerceExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubscriptingRef::_internal_refupperindexpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refupperindexpr_; +inline void ArrayCoerceExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubscriptingRef::_internal_mutable_refupperindexpr() { +inline const ::pg_query::Node& ArrayCoerceExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.refupperindexpr_; -} - -// repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; -inline int SubscriptingRef::_internal_reflowerindexpr_size() const { - return _internal_reflowerindexpr().size(); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline int SubscriptingRef::reflowerindexpr_size() const { - return _internal_reflowerindexpr_size(); +inline const ::pg_query::Node& ArrayCoerceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.xpr) + return _internal_xpr(); } -inline void SubscriptingRef::clear_reflowerindexpr() { +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.reflowerindexpr_.Clear(); -} -inline ::pg_query::Node* SubscriptingRef::mutable_reflowerindexpr(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.reflowerindexpr) - return _internal_mutable_reflowerindexpr()->Mutable(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.xpr) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_reflowerindexpr() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.reflowerindexpr) +inline ::pg_query::Node* ArrayCoerceExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_reflowerindexpr(); -} -inline const ::pg_query::Node& SubscriptingRef::reflowerindexpr(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reflowerindexpr) - return _internal_reflowerindexpr().Get(index); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* SubscriptingRef::add_reflowerindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_reflowerindexpr()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.reflowerindexpr) - return _add; + // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::reflowerindexpr() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.reflowerindexpr) - return _internal_reflowerindexpr(); +inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubscriptingRef::_internal_reflowerindexpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.reflowerindexpr_; +inline ::pg_query::Node* ArrayCoerceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.xpr) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubscriptingRef::_internal_mutable_reflowerindexpr() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.reflowerindexpr_; +inline void ArrayCoerceExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.xpr) } -// .pg_query.Node refexpr = 9 [json_name = "refexpr"]; -inline bool SubscriptingRef::has_refexpr() const { +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool ArrayCoerceExpr::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.refexpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void SubscriptingRef::clear_refexpr() { +inline void ArrayCoerceExpr::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.refexpr_ != nullptr) _impl_.refexpr_->Clear(); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& SubscriptingRef::_internal_refexpr() const { +inline const ::pg_query::Node& ArrayCoerceExpr::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.refexpr_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::refexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refexpr) - return _internal_refexpr(); +inline const ::pg_query::Node& ArrayCoerceExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.arg) + return _internal_arg(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_refexpr(::pg_query::Node* value) { +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.arg) } -inline ::pg_query::Node* SubscriptingRef::release_refexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.refexpr_; - _impl_.refexpr_ = nullptr; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -96087,34 +107418,34 @@ inline ::pg_query::Node* SubscriptingRef::release_refexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refexpr) + // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.arg) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.refexpr_; - _impl_.refexpr_ = nullptr; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.refexpr_ == nullptr) { + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.refexpr_; + return _impl_.arg_; } -inline ::pg_query::Node* SubscriptingRef::mutable_refexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_refexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refexpr) +inline ::pg_query::Node* ArrayCoerceExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.arg) return _msg; } -inline void SubscriptingRef::set_allocated_refexpr(::pg_query::Node* value) { +inline void ArrayCoerceExpr::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.refexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { @@ -96127,49 +107458,49 @@ inline void SubscriptingRef::set_allocated_refexpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refexpr) + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.arg) } -// .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; -inline bool SubscriptingRef::has_refassgnexpr() const { +// .pg_query.Node elemexpr = 3 [json_name = "elemexpr"]; +inline bool ArrayCoerceExpr::has_elemexpr() const { bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.refassgnexpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.elemexpr_ != nullptr); return value; } -inline void SubscriptingRef::clear_refassgnexpr() { +inline void ArrayCoerceExpr::clear_elemexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.refassgnexpr_ != nullptr) _impl_.refassgnexpr_->Clear(); + if (_impl_.elemexpr_ != nullptr) _impl_.elemexpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& SubscriptingRef::_internal_refassgnexpr() const { +inline const ::pg_query::Node& ArrayCoerceExpr::_internal_elemexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.refassgnexpr_; + const ::pg_query::Node* p = _impl_.elemexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::refassgnexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refassgnexpr) - return _internal_refassgnexpr(); +inline const ::pg_query::Node& ArrayCoerceExpr::elemexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.elemexpr) + return _internal_elemexpr(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value) { +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_elemexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refassgnexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elemexpr_); } - _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refassgnexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) } -inline ::pg_query::Node* SubscriptingRef::release_refassgnexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::release_elemexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.refassgnexpr_; - _impl_.refassgnexpr_ = nullptr; + ::pg_query::Node* released = _impl_.elemexpr_; + _impl_.elemexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -96183,34 +107514,34 @@ inline ::pg_query::Node* SubscriptingRef::release_refassgnexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refassgnexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_elemexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refassgnexpr) + // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.elemexpr) _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.refassgnexpr_; - _impl_.refassgnexpr_ = nullptr; + ::pg_query::Node* temp = _impl_.elemexpr_; + _impl_.elemexpr_ = nullptr; return temp; } -inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refassgnexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_elemexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.refassgnexpr_ == nullptr) { + if (_impl_.elemexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.refassgnexpr_; + return _impl_.elemexpr_; } -inline ::pg_query::Node* SubscriptingRef::mutable_refassgnexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_refassgnexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refassgnexpr) +inline ::pg_query::Node* ArrayCoerceExpr::mutable_elemexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_elemexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.elemexpr) return _msg; } -inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* value) { +inline void ArrayCoerceExpr::set_allocated_elemexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.refassgnexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.elemexpr_); } if (value != nullptr) { @@ -96223,35 +107554,150 @@ inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* value) _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refassgnexpr) + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) +} + +// uint32 resulttype = 4 [json_name = "resulttype"]; +inline void ArrayCoerceExpr::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resulttype_ = 0u; +} +inline ::uint32_t ArrayCoerceExpr::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttype) + return _internal_resulttype(); +} +inline void ArrayCoerceExpr::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttype) +} +inline ::uint32_t ArrayCoerceExpr::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void ArrayCoerceExpr::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} + +// int32 resulttypmod = 5 [json_name = "resulttypmod"]; +inline void ArrayCoerceExpr::clear_resulttypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resulttypmod_ = 0; +} +inline ::int32_t ArrayCoerceExpr::resulttypmod() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttypmod) + return _internal_resulttypmod(); +} +inline void ArrayCoerceExpr::set_resulttypmod(::int32_t value) { + _internal_set_resulttypmod(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttypmod) +} +inline ::int32_t ArrayCoerceExpr::_internal_resulttypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttypmod_; +} +inline void ArrayCoerceExpr::_internal_set_resulttypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttypmod_ = value; +} + +// uint32 resultcollid = 6 [json_name = "resultcollid"]; +inline void ArrayCoerceExpr::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resultcollid_ = 0u; +} +inline ::uint32_t ArrayCoerceExpr::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resultcollid) + return _internal_resultcollid(); +} +inline void ArrayCoerceExpr::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resultcollid) +} +inline ::uint32_t ArrayCoerceExpr::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; +} +inline void ArrayCoerceExpr::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; +} + +// .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"]; +inline void ArrayCoerceExpr::clear_coerceformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coerceformat_ = 0; +} +inline ::pg_query::CoercionForm ArrayCoerceExpr::coerceformat() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.coerceformat) + return _internal_coerceformat(); +} +inline void ArrayCoerceExpr::set_coerceformat(::pg_query::CoercionForm value) { + _internal_set_coerceformat(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.coerceformat) +} +inline ::pg_query::CoercionForm ArrayCoerceExpr::_internal_coerceformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); +} +inline void ArrayCoerceExpr::_internal_set_coerceformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coerceformat_ = value; +} + +// int32 location = 8 [json_name = "location"]; +inline void ArrayCoerceExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t ArrayCoerceExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.location) + return _internal_location(); +} +inline void ArrayCoerceExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.location) +} +inline ::int32_t ArrayCoerceExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ArrayCoerceExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// FuncExpr +// ConvertRowtypeExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FuncExpr::has_xpr() const { +inline bool ConvertRowtypeExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void FuncExpr::clear_xpr() { +inline void ConvertRowtypeExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FuncExpr::_internal_xpr() const { +inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FuncExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.xpr) +inline const ::pg_query::Node& ConvertRowtypeExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.xpr) return _internal_xpr(); } -inline void FuncExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -96262,9 +107708,9 @@ inline void FuncExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.xpr) } -inline ::pg_query::Node* FuncExpr::release_xpr() { +inline ::pg_query::Node* ConvertRowtypeExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -96283,16 +107729,16 @@ inline ::pg_query::Node* FuncExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* FuncExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FuncExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* FuncExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -96301,12 +107747,12 @@ inline ::pg_query::Node* FuncExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* FuncExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ConvertRowtypeExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.xpr) return _msg; } -inline void FuncExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void ConvertRowtypeExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -96324,237 +107770,169 @@ inline void FuncExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FuncExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.xpr) } -// uint32 funcid = 2 [json_name = "funcid"]; -inline void FuncExpr::clear_funcid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcid_ = 0u; -} -inline ::uint32_t FuncExpr::funcid() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcid) - return _internal_funcid(); -} -inline void FuncExpr::set_funcid(::uint32_t value) { - _internal_set_funcid(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcid) -} -inline ::uint32_t FuncExpr::_internal_funcid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcid_; -} -inline void FuncExpr::_internal_set_funcid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.funcid_ = value; +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool ConvertRowtypeExpr::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } - -// uint32 funcresulttype = 3 [json_name = "funcresulttype"]; -inline void FuncExpr::clear_funcresulttype() { +inline void ConvertRowtypeExpr::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcresulttype_ = 0u; -} -inline ::uint32_t FuncExpr::funcresulttype() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcresulttype) - return _internal_funcresulttype(); -} -inline void FuncExpr::set_funcresulttype(::uint32_t value) { - _internal_set_funcresulttype(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcresulttype) + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::uint32_t FuncExpr::_internal_funcresulttype() const { +inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcresulttype_; + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void FuncExpr::_internal_set_funcresulttype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.funcresulttype_ = value; +inline const ::pg_query::Node& ConvertRowtypeExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.arg) + return _internal_arg(); } - -// bool funcretset = 4 [json_name = "funcretset"]; -inline void FuncExpr::clear_funcretset() { +inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcretset_ = false; -} -inline bool FuncExpr::funcretset() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcretset) - return _internal_funcretset(); -} -inline void FuncExpr::set_funcretset(bool value) { - _internal_set_funcretset(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcretset) -} -inline bool FuncExpr::_internal_funcretset() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcretset_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.arg) } -inline void FuncExpr::_internal_set_funcretset(bool value) { +inline ::pg_query::Node* ConvertRowtypeExpr::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.funcretset_ = value; -} -// bool funcvariadic = 5 [json_name = "funcvariadic"]; -inline void FuncExpr::clear_funcvariadic() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcvariadic_ = false; -} -inline bool FuncExpr::funcvariadic() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcvariadic) - return _internal_funcvariadic(); -} -inline void FuncExpr::set_funcvariadic(bool value) { - _internal_set_funcvariadic(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcvariadic) -} -inline bool FuncExpr::_internal_funcvariadic() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcvariadic_; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void FuncExpr::_internal_set_funcvariadic(bool value) { +inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.funcvariadic_ = value; -} + // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.arg) -// .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"]; -inline void FuncExpr::clear_funcformat() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcformat_ = 0; -} -inline ::pg_query::CoercionForm FuncExpr::funcformat() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcformat) - return _internal_funcformat(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline void FuncExpr::set_funcformat(::pg_query::CoercionForm value) { - _internal_set_funcformat(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcformat) +inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline ::pg_query::CoercionForm FuncExpr::_internal_funcformat() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); +inline ::pg_query::Node* ConvertRowtypeExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.arg) + return _msg; } -inline void FuncExpr::_internal_set_funcformat(::pg_query::CoercionForm value) { +inline void ConvertRowtypeExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.funcformat_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.arg) } -// uint32 funccollid = 7 [json_name = "funccollid"]; -inline void FuncExpr::clear_funccollid() { +// uint32 resulttype = 3 [json_name = "resulttype"]; +inline void ConvertRowtypeExpr::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccollid_ = 0u; + _impl_.resulttype_ = 0u; } -inline ::uint32_t FuncExpr::funccollid() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funccollid) - return _internal_funccollid(); +inline ::uint32_t ConvertRowtypeExpr::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.resulttype) + return _internal_resulttype(); } -inline void FuncExpr::set_funccollid(::uint32_t value) { - _internal_set_funccollid(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funccollid) +inline void ConvertRowtypeExpr::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.resulttype) } -inline ::uint32_t FuncExpr::_internal_funccollid() const { +inline ::uint32_t ConvertRowtypeExpr::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccollid_; + return _impl_.resulttype_; } -inline void FuncExpr::_internal_set_funccollid(::uint32_t value) { +inline void ConvertRowtypeExpr::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.funccollid_ = value; + _impl_.resulttype_ = value; } -// uint32 inputcollid = 8 [json_name = "inputcollid"]; -inline void FuncExpr::clear_inputcollid() { +// .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"]; +inline void ConvertRowtypeExpr::clear_convertformat() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; + _impl_.convertformat_ = 0; } -inline ::uint32_t FuncExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.inputcollid) - return _internal_inputcollid(); +inline ::pg_query::CoercionForm ConvertRowtypeExpr::convertformat() const { + // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.convertformat) + return _internal_convertformat(); } -inline void FuncExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.inputcollid) +inline void ConvertRowtypeExpr::set_convertformat(::pg_query::CoercionForm value) { + _internal_set_convertformat(value); + // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.convertformat) } -inline ::uint32_t FuncExpr::_internal_inputcollid() const { +inline ::pg_query::CoercionForm ConvertRowtypeExpr::_internal_convertformat() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; + return static_cast<::pg_query::CoercionForm>(_impl_.convertformat_); } -inline void FuncExpr::_internal_set_inputcollid(::uint32_t value) { +inline void ConvertRowtypeExpr::_internal_set_convertformat(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inputcollid_ = value; -} - -// repeated .pg_query.Node args = 9 [json_name = "args"]; -inline int FuncExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int FuncExpr::args_size() const { - return _internal_args_size(); -} -inline void FuncExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* FuncExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncExpr.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& FuncExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* FuncExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FuncExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FuncExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FuncExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FuncExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + _impl_.convertformat_ = value; } -// int32 location = 10 [json_name = "location"]; -inline void FuncExpr::clear_location() { +// int32 location = 5 [json_name = "location"]; +inline void ConvertRowtypeExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t FuncExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.FuncExpr.location) +inline ::int32_t ConvertRowtypeExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.location) return _internal_location(); } -inline void FuncExpr::set_location(::int32_t value) { +inline void ConvertRowtypeExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.FuncExpr.location) + // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.location) } -inline ::int32_t FuncExpr::_internal_location() const { +inline ::int32_t ConvertRowtypeExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void FuncExpr::_internal_set_location(::int32_t value) { +inline void ConvertRowtypeExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -96562,29 +107940,29 @@ inline void FuncExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// NamedArgExpr +// CollateExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NamedArgExpr::has_xpr() const { +inline bool CollateExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void NamedArgExpr::clear_xpr() { +inline void CollateExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& NamedArgExpr::_internal_xpr() const { +inline const ::pg_query::Node& CollateExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NamedArgExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.xpr) +inline const ::pg_query::Node& CollateExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CollateExpr.xpr) return _internal_xpr(); } -inline void NamedArgExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CollateExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -96595,9 +107973,9 @@ inline void NamedArgExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.xpr) } -inline ::pg_query::Node* NamedArgExpr::release_xpr() { +inline ::pg_query::Node* CollateExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -96616,16 +107994,16 @@ inline ::pg_query::Node* NamedArgExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CollateExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CollateExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* NamedArgExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CollateExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -96634,12 +108012,12 @@ inline ::pg_query::Node* NamedArgExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* NamedArgExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CollateExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.xpr) return _msg; } -inline void NamedArgExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CollateExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -96657,30 +108035,30 @@ inline void NamedArgExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool NamedArgExpr::has_arg() const { +inline bool CollateExpr::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void NamedArgExpr::clear_arg() { +inline void CollateExpr::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& NamedArgExpr::_internal_arg() const { +inline const ::pg_query::Node& CollateExpr::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NamedArgExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.arg) +inline const ::pg_query::Node& CollateExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CollateExpr.arg) return _internal_arg(); } -inline void NamedArgExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void CollateExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); @@ -96691,9 +108069,9 @@ inline void NamedArgExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.arg) } -inline ::pg_query::Node* NamedArgExpr::release_arg() { +inline ::pg_query::Node* CollateExpr::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; @@ -96712,16 +108090,16 @@ inline ::pg_query::Node* NamedArgExpr::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_arg() { +inline ::pg_query::Node* CollateExpr::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.arg) + // @@protoc_insertion_point(field_release:pg_query.CollateExpr.arg) _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* NamedArgExpr::_internal_mutable_arg() { +inline ::pg_query::Node* CollateExpr::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { @@ -96730,12 +108108,12 @@ inline ::pg_query::Node* NamedArgExpr::_internal_mutable_arg() { } return _impl_.arg_; } -inline ::pg_query::Node* NamedArgExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CollateExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.arg) + // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.arg) return _msg; } -inline void NamedArgExpr::set_allocated_arg(::pg_query::Node* value) { +inline void CollateExpr::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -96753,103 +108131,50 @@ inline void NamedArgExpr::set_allocated_arg(::pg_query::Node* value) { } _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.arg) -} - -// string name = 3 [json_name = "name"]; -inline void NamedArgExpr::clear_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); -} -inline const std::string& NamedArgExpr::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE void NamedArgExpr::set_name(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.name) -} -inline std::string* NamedArgExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.name) - return _s; -} -inline const std::string& NamedArgExpr::_internal_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); -} -inline void NamedArgExpr::_internal_set_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); -} -inline std::string* NamedArgExpr::_internal_mutable_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); -} -inline std::string* NamedArgExpr::release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.name) - return _impl_.name_.Release(); -} -inline void NamedArgExpr::set_allocated_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.name) + // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.arg) } -// int32 argnumber = 4 [json_name = "argnumber"]; -inline void NamedArgExpr::clear_argnumber() { +// uint32 coll_oid = 3 [json_name = "collOid"]; +inline void CollateExpr::clear_coll_oid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.argnumber_ = 0; + _impl_.coll_oid_ = 0u; } -inline ::int32_t NamedArgExpr::argnumber() const { - // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.argnumber) - return _internal_argnumber(); +inline ::uint32_t CollateExpr::coll_oid() const { + // @@protoc_insertion_point(field_get:pg_query.CollateExpr.coll_oid) + return _internal_coll_oid(); } -inline void NamedArgExpr::set_argnumber(::int32_t value) { - _internal_set_argnumber(value); - // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.argnumber) +inline void CollateExpr::set_coll_oid(::uint32_t value) { + _internal_set_coll_oid(value); + // @@protoc_insertion_point(field_set:pg_query.CollateExpr.coll_oid) } -inline ::int32_t NamedArgExpr::_internal_argnumber() const { +inline ::uint32_t CollateExpr::_internal_coll_oid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.argnumber_; + return _impl_.coll_oid_; } -inline void NamedArgExpr::_internal_set_argnumber(::int32_t value) { +inline void CollateExpr::_internal_set_coll_oid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.argnumber_ = value; + _impl_.coll_oid_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void NamedArgExpr::clear_location() { +// int32 location = 4 [json_name = "location"]; +inline void CollateExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t NamedArgExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.location) +inline ::int32_t CollateExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.CollateExpr.location) return _internal_location(); } -inline void NamedArgExpr::set_location(::int32_t value) { +inline void CollateExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.location) + // @@protoc_insertion_point(field_set:pg_query.CollateExpr.location) } -inline ::int32_t NamedArgExpr::_internal_location() const { +inline ::int32_t CollateExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void NamedArgExpr::_internal_set_location(::int32_t value) { +inline void CollateExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -96857,29 +108182,29 @@ inline void NamedArgExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// OpExpr +// CaseExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool OpExpr::has_xpr() const { +inline bool CaseExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void OpExpr::clear_xpr() { +inline void CaseExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& OpExpr::_internal_xpr() const { +inline const ::pg_query::Node& CaseExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& OpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.xpr) +inline const ::pg_query::Node& CaseExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.xpr) return _internal_xpr(); } -inline void OpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CaseExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -96890,9 +108215,9 @@ inline void OpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OpExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.xpr) } -inline ::pg_query::Node* OpExpr::release_xpr() { +inline ::pg_query::Node* CaseExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -96911,16 +108236,16 @@ inline ::pg_query::Node* OpExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* OpExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CaseExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.OpExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CaseExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* OpExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CaseExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -96929,12 +108254,12 @@ inline ::pg_query::Node* OpExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* OpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CaseExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.xpr) return _msg; } -inline void OpExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CaseExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -96952,239 +108277,239 @@ inline void OpExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.OpExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.xpr) } -// uint32 opno = 2 [json_name = "opno"]; -inline void OpExpr::clear_opno() { +// uint32 casetype = 2 [json_name = "casetype"]; +inline void CaseExpr::clear_casetype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opno_ = 0u; + _impl_.casetype_ = 0u; } -inline ::uint32_t OpExpr::opno() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.opno) - return _internal_opno(); +inline ::uint32_t CaseExpr::casetype() const { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casetype) + return _internal_casetype(); } -inline void OpExpr::set_opno(::uint32_t value) { - _internal_set_opno(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.opno) +inline void CaseExpr::set_casetype(::uint32_t value) { + _internal_set_casetype(value); + // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casetype) } -inline ::uint32_t OpExpr::_internal_opno() const { +inline ::uint32_t CaseExpr::_internal_casetype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opno_; + return _impl_.casetype_; } -inline void OpExpr::_internal_set_opno(::uint32_t value) { +inline void CaseExpr::_internal_set_casetype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.opno_ = value; + _impl_.casetype_ = value; } -// uint32 opresulttype = 3 [json_name = "opresulttype"]; -inline void OpExpr::clear_opresulttype() { +// uint32 casecollid = 3 [json_name = "casecollid"]; +inline void CaseExpr::clear_casecollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opresulttype_ = 0u; + _impl_.casecollid_ = 0u; } -inline ::uint32_t OpExpr::opresulttype() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.opresulttype) - return _internal_opresulttype(); +inline ::uint32_t CaseExpr::casecollid() const { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casecollid) + return _internal_casecollid(); } -inline void OpExpr::set_opresulttype(::uint32_t value) { - _internal_set_opresulttype(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.opresulttype) +inline void CaseExpr::set_casecollid(::uint32_t value) { + _internal_set_casecollid(value); + // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casecollid) } -inline ::uint32_t OpExpr::_internal_opresulttype() const { +inline ::uint32_t CaseExpr::_internal_casecollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opresulttype_; + return _impl_.casecollid_; } -inline void OpExpr::_internal_set_opresulttype(::uint32_t value) { +inline void CaseExpr::_internal_set_casecollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.opresulttype_ = value; + _impl_.casecollid_ = value; } -// bool opretset = 4 [json_name = "opretset"]; -inline void OpExpr::clear_opretset() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opretset_ = false; -} -inline bool OpExpr::opretset() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.opretset) - return _internal_opretset(); +// .pg_query.Node arg = 4 [json_name = "arg"]; +inline bool CaseExpr::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void OpExpr::set_opretset(bool value) { - _internal_set_opretset(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.opretset) +inline void CaseExpr::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool OpExpr::_internal_opretset() const { +inline const ::pg_query::Node& CaseExpr::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opretset_; + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void OpExpr::_internal_set_opretset(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opretset_ = value; +inline const ::pg_query::Node& CaseExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.arg) + return _internal_arg(); } - -// uint32 opcollid = 5 [json_name = "opcollid"]; -inline void OpExpr::clear_opcollid() { +inline void CaseExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opcollid_ = 0u; -} -inline ::uint32_t OpExpr::opcollid() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.opcollid) - return _internal_opcollid(); -} -inline void OpExpr::set_opcollid(::uint32_t value) { - _internal_set_opcollid(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.opcollid) -} -inline ::uint32_t OpExpr::_internal_opcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opcollid_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.arg) } -inline void OpExpr::_internal_set_opcollid(::uint32_t value) { +inline ::pg_query::Node* CaseExpr::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opcollid_ = value; -} -// uint32 inputcollid = 6 [json_name = "inputcollid"]; -inline void OpExpr::clear_inputcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t OpExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.inputcollid) - return _internal_inputcollid(); +inline ::pg_query::Node* CaseExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CaseExpr.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline void OpExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.inputcollid) +inline ::pg_query::Node* CaseExpr::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline ::uint32_t OpExpr::_internal_inputcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; +inline ::pg_query::Node* CaseExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.arg) + return _msg; } -inline void OpExpr::_internal_set_inputcollid(::uint32_t value) { +inline void CaseExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inputcollid_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.arg) } -// repeated .pg_query.Node args = 7 [json_name = "args"]; -inline int OpExpr::_internal_args_size() const { +// repeated .pg_query.Node args = 5 [json_name = "args"]; +inline int CaseExpr::_internal_args_size() const { return _internal_args().size(); } -inline int OpExpr::args_size() const { +inline int CaseExpr::args_size() const { return _internal_args_size(); } -inline void OpExpr::clear_args() { +inline void CaseExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* OpExpr::mutable_args(int index) +inline ::pg_query::Node* CaseExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.args) + // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.args) return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OpExpr::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CaseExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OpExpr.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.CaseExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); return _internal_mutable_args(); } -inline const ::pg_query::Node& OpExpr::args(int index) const +inline const ::pg_query::Node& CaseExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.args) + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.args) return _internal_args().Get(index); } -inline ::pg_query::Node* OpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CaseExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OpExpr.args) + // @@protoc_insertion_point(field_add:pg_query.CaseExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OpExpr::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CaseExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OpExpr.args) + // @@protoc_insertion_point(field_list:pg_query.CaseExpr.args) return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OpExpr::_internal_args() const { +CaseExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OpExpr::_internal_mutable_args() { +CaseExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return &_impl_.args_; } -// int32 location = 8 [json_name = "location"]; -inline void OpExpr::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t OpExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.location) - return _internal_location(); -} -inline void OpExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.location) -} -inline ::int32_t OpExpr::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void OpExpr::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; -} - -// ------------------------------------------------------------------- - -// DistinctExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool DistinctExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.Node defresult = 6 [json_name = "defresult"]; +inline bool CaseExpr::has_defresult() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.defresult_ != nullptr); return value; } -inline void DistinctExpr::clear_xpr() { +inline void CaseExpr::clear_defresult() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.defresult_ != nullptr) _impl_.defresult_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& DistinctExpr::_internal_xpr() const { +inline const ::pg_query::Node& CaseExpr::_internal_defresult() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.defresult_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& DistinctExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& CaseExpr::defresult() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.defresult) + return _internal_defresult(); } -inline void DistinctExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CaseExpr::unsafe_arena_set_allocated_defresult(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.defresult_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DistinctExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.defresult) } -inline ::pg_query::Node* DistinctExpr::release_xpr() { +inline ::pg_query::Node* CaseExpr::release_defresult() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.defresult_; + _impl_.defresult_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -97198,34 +108523,34 @@ inline ::pg_query::Node* DistinctExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* DistinctExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CaseExpr::unsafe_arena_release_defresult() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.DistinctExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CaseExpr.defresult) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.defresult_; + _impl_.defresult_ = nullptr; return temp; } -inline ::pg_query::Node* DistinctExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CaseExpr::_internal_mutable_defresult() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.defresult_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.defresult_; } -inline ::pg_query::Node* DistinctExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.xpr) +inline ::pg_query::Node* CaseExpr::mutable_defresult() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_defresult(); + // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.defresult) return _msg; } -inline void DistinctExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CaseExpr::set_allocated_defresult(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.defresult_); } if (value != nullptr) { @@ -97233,197 +108558,33 @@ inline void DistinctExpr::set_allocated_xpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.DistinctExpr.xpr) -} - -// uint32 opno = 2 [json_name = "opno"]; -inline void DistinctExpr::clear_opno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opno_ = 0u; -} -inline ::uint32_t DistinctExpr::opno() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opno) - return _internal_opno(); -} -inline void DistinctExpr::set_opno(::uint32_t value) { - _internal_set_opno(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opno) -} -inline ::uint32_t DistinctExpr::_internal_opno() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opno_; -} -inline void DistinctExpr::_internal_set_opno(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opno_ = value; -} - -// uint32 opresulttype = 3 [json_name = "opresulttype"]; -inline void DistinctExpr::clear_opresulttype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opresulttype_ = 0u; -} -inline ::uint32_t DistinctExpr::opresulttype() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opresulttype) - return _internal_opresulttype(); -} -inline void DistinctExpr::set_opresulttype(::uint32_t value) { - _internal_set_opresulttype(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opresulttype) -} -inline ::uint32_t DistinctExpr::_internal_opresulttype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opresulttype_; -} -inline void DistinctExpr::_internal_set_opresulttype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opresulttype_ = value; -} - -// bool opretset = 4 [json_name = "opretset"]; -inline void DistinctExpr::clear_opretset() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opretset_ = false; -} -inline bool DistinctExpr::opretset() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opretset) - return _internal_opretset(); -} -inline void DistinctExpr::set_opretset(bool value) { - _internal_set_opretset(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opretset) -} -inline bool DistinctExpr::_internal_opretset() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opretset_; -} -inline void DistinctExpr::_internal_set_opretset(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opretset_ = value; -} - -// uint32 opcollid = 5 [json_name = "opcollid"]; -inline void DistinctExpr::clear_opcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opcollid_ = 0u; -} -inline ::uint32_t DistinctExpr::opcollid() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opcollid) - return _internal_opcollid(); -} -inline void DistinctExpr::set_opcollid(::uint32_t value) { - _internal_set_opcollid(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opcollid) -} -inline ::uint32_t DistinctExpr::_internal_opcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opcollid_; -} -inline void DistinctExpr::_internal_set_opcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opcollid_ = value; -} - -// uint32 inputcollid = 6 [json_name = "inputcollid"]; -inline void DistinctExpr::clear_inputcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; -} -inline ::uint32_t DistinctExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.inputcollid) - return _internal_inputcollid(); -} -inline void DistinctExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.inputcollid) -} -inline ::uint32_t DistinctExpr::_internal_inputcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; -} -inline void DistinctExpr::_internal_set_inputcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inputcollid_ = value; -} - -// repeated .pg_query.Node args = 7 [json_name = "args"]; -inline int DistinctExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int DistinctExpr::args_size() const { - return _internal_args_size(); -} -inline void DistinctExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* DistinctExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DistinctExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.DistinctExpr.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& DistinctExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* DistinctExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.DistinctExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DistinctExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.DistinctExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -DistinctExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -DistinctExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.defresult) } -// int32 location = 8 [json_name = "location"]; -inline void DistinctExpr::clear_location() { +// int32 location = 7 [json_name = "location"]; +inline void CaseExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t DistinctExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.location) +inline ::int32_t CaseExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.CaseExpr.location) return _internal_location(); } -inline void DistinctExpr::set_location(::int32_t value) { +inline void CaseExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.location) + // @@protoc_insertion_point(field_set:pg_query.CaseExpr.location) } -inline ::int32_t DistinctExpr::_internal_location() const { +inline ::int32_t CaseExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void DistinctExpr::_internal_set_location(::int32_t value) { +inline void CaseExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -97431,29 +108592,29 @@ inline void DistinctExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// NullIfExpr +// CaseWhen // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NullIfExpr::has_xpr() const { +inline bool CaseWhen::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void NullIfExpr::clear_xpr() { +inline void CaseWhen::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& NullIfExpr::_internal_xpr() const { +inline const ::pg_query::Node& CaseWhen::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NullIfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.xpr) +inline const ::pg_query::Node& CaseWhen::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseWhen.xpr) return _internal_xpr(); } -inline void NullIfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CaseWhen::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -97464,9 +108625,9 @@ inline void NullIfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullIfExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.xpr) } -inline ::pg_query::Node* NullIfExpr::release_xpr() { +inline ::pg_query::Node* CaseWhen::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -97485,16 +108646,16 @@ inline ::pg_query::Node* NullIfExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NullIfExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CaseWhen::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NullIfExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CaseWhen.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* NullIfExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CaseWhen::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -97503,12 +108664,12 @@ inline ::pg_query::Node* NullIfExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* NullIfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CaseWhen::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.xpr) return _msg; } -inline void NullIfExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CaseWhen::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -97526,191 +108687,219 @@ inline void NullIfExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NullIfExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.xpr) } -// uint32 opno = 2 [json_name = "opno"]; -inline void NullIfExpr::clear_opno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opno_ = 0u; -} -inline ::uint32_t NullIfExpr::opno() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opno) - return _internal_opno(); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool CaseWhen::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void NullIfExpr::set_opno(::uint32_t value) { - _internal_set_opno(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opno) +inline void CaseWhen::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::uint32_t NullIfExpr::_internal_opno() const { +inline const ::pg_query::Node& CaseWhen::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opno_; + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void NullIfExpr::_internal_set_opno(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opno_ = value; +inline const ::pg_query::Node& CaseWhen::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseWhen.expr) + return _internal_expr(); } - -// uint32 opresulttype = 3 [json_name = "opresulttype"]; -inline void NullIfExpr::clear_opresulttype() { +inline void CaseWhen::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opresulttype_ = 0u; -} -inline ::uint32_t NullIfExpr::opresulttype() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opresulttype) - return _internal_opresulttype(); -} -inline void NullIfExpr::set_opresulttype(::uint32_t value) { - _internal_set_opresulttype(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opresulttype) -} -inline ::uint32_t NullIfExpr::_internal_opresulttype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opresulttype_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.expr) } -inline void NullIfExpr::_internal_set_opresulttype(::uint32_t value) { +inline ::pg_query::Node* CaseWhen::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opresulttype_ = value; -} -// bool opretset = 4 [json_name = "opretset"]; -inline void NullIfExpr::clear_opretset() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opretset_ = false; -} -inline bool NullIfExpr::opretset() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opretset) - return _internal_opretset(); -} -inline void NullIfExpr::set_opretset(bool value) { - _internal_set_opretset(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opretset) -} -inline bool NullIfExpr::_internal_opretset() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opretset_; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void NullIfExpr::_internal_set_opretset(bool value) { +inline ::pg_query::Node* CaseWhen::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opretset_ = value; -} + // @@protoc_insertion_point(field_release:pg_query.CaseWhen.expr) -// uint32 opcollid = 5 [json_name = "opcollid"]; -inline void NullIfExpr::clear_opcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opcollid_ = 0u; -} -inline ::uint32_t NullIfExpr::opcollid() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opcollid) - return _internal_opcollid(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline void NullIfExpr::set_opcollid(::uint32_t value) { - _internal_set_opcollid(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opcollid) +inline ::pg_query::Node* CaseWhen::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.expr_; } -inline ::uint32_t NullIfExpr::_internal_opcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opcollid_; +inline ::pg_query::Node* CaseWhen::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.expr) + return _msg; } -inline void NullIfExpr::_internal_set_opcollid(::uint32_t value) { +inline void CaseWhen::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opcollid_ = value; -} + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + } -// uint32 inputcollid = 6 [json_name = "inputcollid"]; -inline void NullIfExpr::clear_inputcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.expr) } -inline ::uint32_t NullIfExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.inputcollid) - return _internal_inputcollid(); + +// .pg_query.Node result = 3 [json_name = "result"]; +inline bool CaseWhen::has_result() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.result_ != nullptr); + return value; } -inline void NullIfExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.inputcollid) +inline void CaseWhen::clear_result() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.result_ != nullptr) _impl_.result_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline ::uint32_t NullIfExpr::_internal_inputcollid() const { +inline const ::pg_query::Node& CaseWhen::_internal_result() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; + const ::pg_query::Node* p = _impl_.result_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void NullIfExpr::_internal_set_inputcollid(::uint32_t value) { +inline const ::pg_query::Node& CaseWhen::result() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseWhen.result) + return _internal_result(); +} +inline void CaseWhen::unsafe_arena_set_allocated_result(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inputcollid_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_); + } + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.result) } +inline ::pg_query::Node* CaseWhen::release_result() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node args = 7 [json_name = "args"]; -inline int NullIfExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int NullIfExpr::args_size() const { - return _internal_args_size(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.result_; + _impl_.result_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void NullIfExpr::clear_args() { +inline ::pg_query::Node* CaseWhen::unsafe_arena_release_result() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* NullIfExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_release:pg_query.CaseWhen.result) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.result_; + _impl_.result_ = nullptr; + return temp; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* NullIfExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.NullIfExpr.args) +inline ::pg_query::Node* CaseWhen::_internal_mutable_result() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.result_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.result_; } -inline const ::pg_query::Node& NullIfExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.args) - return _internal_args().Get(index); +inline ::pg_query::Node* CaseWhen::mutable_result() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_result(); + // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.result) + return _msg; } -inline ::pg_query::Node* NullIfExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void CaseWhen::set_allocated_result(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.NullIfExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& NullIfExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.NullIfExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -NullIfExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -NullIfExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.result_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.result) } -// int32 location = 8 [json_name = "location"]; -inline void NullIfExpr::clear_location() { +// int32 location = 4 [json_name = "location"]; +inline void CaseWhen::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t NullIfExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.location) +inline ::int32_t CaseWhen::location() const { + // @@protoc_insertion_point(field_get:pg_query.CaseWhen.location) return _internal_location(); } -inline void NullIfExpr::set_location(::int32_t value) { +inline void CaseWhen::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.location) + // @@protoc_insertion_point(field_set:pg_query.CaseWhen.location) } -inline ::int32_t NullIfExpr::_internal_location() const { +inline ::int32_t CaseWhen::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void NullIfExpr::_internal_set_location(::int32_t value) { +inline void CaseWhen::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -97718,29 +108907,29 @@ inline void NullIfExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// ScalarArrayOpExpr +// CaseTestExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ScalarArrayOpExpr::has_xpr() const { +inline bool CaseTestExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void ScalarArrayOpExpr::clear_xpr() { +inline void CaseTestExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& ScalarArrayOpExpr::_internal_xpr() const { +inline const ::pg_query::Node& CaseTestExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ScalarArrayOpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.xpr) +inline const ::pg_query::Node& CaseTestExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.xpr) return _internal_xpr(); } -inline void ScalarArrayOpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CaseTestExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -97751,9 +108940,9 @@ inline void ScalarArrayOpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ScalarArrayOpExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseTestExpr.xpr) } -inline ::pg_query::Node* ScalarArrayOpExpr::release_xpr() { +inline ::pg_query::Node* CaseTestExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -97772,16 +108961,16 @@ inline ::pg_query::Node* ScalarArrayOpExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ScalarArrayOpExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CaseTestExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ScalarArrayOpExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CaseTestExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* ScalarArrayOpExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CaseTestExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -97790,12 +108979,12 @@ inline ::pg_query::Node* ScalarArrayOpExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* ScalarArrayOpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CaseTestExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CaseTestExpr.xpr) return _msg; } -inline void ScalarArrayOpExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CaseTestExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -97813,175 +109002,103 @@ inline void ScalarArrayOpExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ScalarArrayOpExpr.xpr) -} - -// uint32 opno = 2 [json_name = "opno"]; -inline void ScalarArrayOpExpr::clear_opno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opno_ = 0u; -} -inline ::uint32_t ScalarArrayOpExpr::opno() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.opno) - return _internal_opno(); -} -inline void ScalarArrayOpExpr::set_opno(::uint32_t value) { - _internal_set_opno(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.opno) -} -inline ::uint32_t ScalarArrayOpExpr::_internal_opno() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opno_; -} -inline void ScalarArrayOpExpr::_internal_set_opno(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.opno_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.CaseTestExpr.xpr) } -// bool use_or = 3 [json_name = "useOr"]; -inline void ScalarArrayOpExpr::clear_use_or() { +// uint32 type_id = 2 [json_name = "typeId"]; +inline void CaseTestExpr::clear_type_id() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.use_or_ = false; + _impl_.type_id_ = 0u; } -inline bool ScalarArrayOpExpr::use_or() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.use_or) - return _internal_use_or(); +inline ::uint32_t CaseTestExpr::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_id) + return _internal_type_id(); } -inline void ScalarArrayOpExpr::set_use_or(bool value) { - _internal_set_use_or(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.use_or) +inline void CaseTestExpr::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_id) } -inline bool ScalarArrayOpExpr::_internal_use_or() const { +inline ::uint32_t CaseTestExpr::_internal_type_id() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.use_or_; + return _impl_.type_id_; } -inline void ScalarArrayOpExpr::_internal_set_use_or(bool value) { +inline void CaseTestExpr::_internal_set_type_id(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.use_or_ = value; + _impl_.type_id_ = value; } -// uint32 inputcollid = 4 [json_name = "inputcollid"]; -inline void ScalarArrayOpExpr::clear_inputcollid() { +// int32 type_mod = 3 [json_name = "typeMod"]; +inline void CaseTestExpr::clear_type_mod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; + _impl_.type_mod_ = 0; } -inline ::uint32_t ScalarArrayOpExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.inputcollid) - return _internal_inputcollid(); +inline ::int32_t CaseTestExpr::type_mod() const { + // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_mod) + return _internal_type_mod(); } -inline void ScalarArrayOpExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.inputcollid) +inline void CaseTestExpr::set_type_mod(::int32_t value) { + _internal_set_type_mod(value); + // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_mod) } -inline ::uint32_t ScalarArrayOpExpr::_internal_inputcollid() const { +inline ::int32_t CaseTestExpr::_internal_type_mod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; + return _impl_.type_mod_; } -inline void ScalarArrayOpExpr::_internal_set_inputcollid(::uint32_t value) { +inline void CaseTestExpr::_internal_set_type_mod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inputcollid_ = value; -} - -// repeated .pg_query.Node args = 5 [json_name = "args"]; -inline int ScalarArrayOpExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int ScalarArrayOpExpr::args_size() const { - return _internal_args_size(); -} -inline void ScalarArrayOpExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* ScalarArrayOpExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ScalarArrayOpExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ScalarArrayOpExpr.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& ScalarArrayOpExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* ScalarArrayOpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ScalarArrayOpExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ScalarArrayOpExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ScalarArrayOpExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ScalarArrayOpExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ScalarArrayOpExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + _impl_.type_mod_ = value; } -// int32 location = 6 [json_name = "location"]; -inline void ScalarArrayOpExpr::clear_location() { +// uint32 collation = 4 [json_name = "collation"]; +inline void CaseTestExpr::clear_collation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.collation_ = 0u; } -inline ::int32_t ScalarArrayOpExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.location) - return _internal_location(); +inline ::uint32_t CaseTestExpr::collation() const { + // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.collation) + return _internal_collation(); } -inline void ScalarArrayOpExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.location) +inline void CaseTestExpr::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.collation) } -inline ::int32_t ScalarArrayOpExpr::_internal_location() const { +inline ::uint32_t CaseTestExpr::_internal_collation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.collation_; } -inline void ScalarArrayOpExpr::_internal_set_location(::int32_t value) { +inline void CaseTestExpr::_internal_set_collation(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.collation_ = value; } // ------------------------------------------------------------------- -// BoolExpr +// ArrayExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool BoolExpr::has_xpr() const { +inline bool ArrayExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void BoolExpr::clear_xpr() { +inline void ArrayExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& BoolExpr::_internal_xpr() const { +inline const ::pg_query::Node& ArrayExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& BoolExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.BoolExpr.xpr) +inline const ::pg_query::Node& ArrayExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.xpr) return _internal_xpr(); } -inline void BoolExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void ArrayExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -97992,9 +109109,9 @@ inline void BoolExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BoolExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayExpr.xpr) } -inline ::pg_query::Node* BoolExpr::release_xpr() { +inline ::pg_query::Node* ArrayExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -98013,16 +109130,16 @@ inline ::pg_query::Node* BoolExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* BoolExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* ArrayExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.BoolExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.ArrayExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* BoolExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* ArrayExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -98031,12 +109148,12 @@ inline ::pg_query::Node* BoolExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* BoolExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ArrayExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.xpr) return _msg; } -inline void BoolExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void ArrayExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -98054,99 +109171,168 @@ inline void BoolExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.BoolExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayExpr.xpr) } -// .pg_query.BoolExprType boolop = 2 [json_name = "boolop"]; -inline void BoolExpr::clear_boolop() { +// uint32 array_typeid = 2 [json_name = "array_typeid"]; +inline void ArrayExpr::clear_array_typeid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.boolop_ = 0; + _impl_.array_typeid_ = 0u; } -inline ::pg_query::BoolExprType BoolExpr::boolop() const { - // @@protoc_insertion_point(field_get:pg_query.BoolExpr.boolop) - return _internal_boolop(); +inline ::uint32_t ArrayExpr::array_typeid() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_typeid) + return _internal_array_typeid(); } -inline void BoolExpr::set_boolop(::pg_query::BoolExprType value) { - _internal_set_boolop(value); - // @@protoc_insertion_point(field_set:pg_query.BoolExpr.boolop) +inline void ArrayExpr::set_array_typeid(::uint32_t value) { + _internal_set_array_typeid(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_typeid) } -inline ::pg_query::BoolExprType BoolExpr::_internal_boolop() const { +inline ::uint32_t ArrayExpr::_internal_array_typeid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::BoolExprType>(_impl_.boolop_); + return _impl_.array_typeid_; } -inline void BoolExpr::_internal_set_boolop(::pg_query::BoolExprType value) { +inline void ArrayExpr::_internal_set_array_typeid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.boolop_ = value; + _impl_.array_typeid_ = value; } -// repeated .pg_query.Node args = 3 [json_name = "args"]; -inline int BoolExpr::_internal_args_size() const { - return _internal_args().size(); +// uint32 array_collid = 3 [json_name = "array_collid"]; +inline void ArrayExpr::clear_array_collid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.array_collid_ = 0u; } -inline int BoolExpr::args_size() const { - return _internal_args_size(); +inline ::uint32_t ArrayExpr::array_collid() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_collid) + return _internal_array_collid(); } -inline void BoolExpr::clear_args() { +inline void ArrayExpr::set_array_collid(::uint32_t value) { + _internal_set_array_collid(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_collid) +} +inline ::uint32_t ArrayExpr::_internal_array_collid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.array_collid_; +} +inline void ArrayExpr::_internal_set_array_collid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + ; + _impl_.array_collid_ = value; } -inline ::pg_query::Node* BoolExpr::mutable_args(int index) + +// uint32 element_typeid = 4 [json_name = "element_typeid"]; +inline void ArrayExpr::clear_element_typeid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.element_typeid_ = 0u; +} +inline ::uint32_t ArrayExpr::element_typeid() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.element_typeid) + return _internal_element_typeid(); +} +inline void ArrayExpr::set_element_typeid(::uint32_t value) { + _internal_set_element_typeid(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.element_typeid) +} +inline ::uint32_t ArrayExpr::_internal_element_typeid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.element_typeid_; +} +inline void ArrayExpr::_internal_set_element_typeid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.element_typeid_ = value; +} + +// repeated .pg_query.Node elements = 5 [json_name = "elements"]; +inline int ArrayExpr::_internal_elements_size() const { + return _internal_elements().size(); +} +inline int ArrayExpr::elements_size() const { + return _internal_elements_size(); +} +inline void ArrayExpr::clear_elements() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.elements_.Clear(); +} +inline ::pg_query::Node* ArrayExpr::mutable_elements(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.elements) + return _internal_mutable_elements()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* BoolExpr::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ArrayExpr::mutable_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.BoolExpr.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.ArrayExpr.elements) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + return _internal_mutable_elements(); } -inline const ::pg_query::Node& BoolExpr::args(int index) const +inline const ::pg_query::Node& ArrayExpr::elements(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.BoolExpr.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.elements) + return _internal_elements().Get(index); } -inline ::pg_query::Node* BoolExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.BoolExpr.args) + ::pg_query::Node* _add = _internal_mutable_elements()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ArrayExpr.elements) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& BoolExpr::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ArrayExpr::elements() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.BoolExpr.args) - return _internal_args(); + // @@protoc_insertion_point(field_list:pg_query.ArrayExpr.elements) + return _internal_elements(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -BoolExpr::_internal_args() const { +ArrayExpr::_internal_elements() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.elements_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -BoolExpr::_internal_mutable_args() { +ArrayExpr::_internal_mutable_elements() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return &_impl_.elements_; } -// int32 location = 4 [json_name = "location"]; -inline void BoolExpr::clear_location() { +// bool multidims = 6 [json_name = "multidims"]; +inline void ArrayExpr::clear_multidims() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.multidims_ = false; +} +inline bool ArrayExpr::multidims() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.multidims) + return _internal_multidims(); +} +inline void ArrayExpr::set_multidims(bool value) { + _internal_set_multidims(value); + // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.multidims) +} +inline bool ArrayExpr::_internal_multidims() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.multidims_; +} +inline void ArrayExpr::_internal_set_multidims(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.multidims_ = value; +} + +// int32 location = 7 [json_name = "location"]; +inline void ArrayExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t BoolExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.BoolExpr.location) +inline ::int32_t ArrayExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.location) return _internal_location(); } -inline void BoolExpr::set_location(::int32_t value) { +inline void ArrayExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.BoolExpr.location) + // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.location) } -inline ::int32_t BoolExpr::_internal_location() const { +inline ::int32_t ArrayExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void BoolExpr::_internal_set_location(::int32_t value) { +inline void ArrayExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -98154,29 +109340,29 @@ inline void BoolExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// SubLink +// RowExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubLink::has_xpr() const { +inline bool RowExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void SubLink::clear_xpr() { +inline void RowExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SubLink::_internal_xpr() const { +inline const ::pg_query::Node& RowExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubLink::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubLink.xpr) +inline const ::pg_query::Node& RowExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RowExpr.xpr) return _internal_xpr(); } -inline void SubLink::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void RowExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -98187,9 +109373,9 @@ inline void SubLink::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowExpr.xpr) } -inline ::pg_query::Node* SubLink::release_xpr() { +inline ::pg_query::Node* RowExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -98208,16 +109394,16 @@ inline ::pg_query::Node* SubLink::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SubLink::unsafe_arena_release_xpr() { +inline ::pg_query::Node* RowExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubLink.xpr) + // @@protoc_insertion_point(field_release:pg_query.RowExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* SubLink::_internal_mutable_xpr() { +inline ::pg_query::Node* RowExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -98226,12 +109412,12 @@ inline ::pg_query::Node* SubLink::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* SubLink::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubLink.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.xpr) return _msg; } -inline void SubLink::set_allocated_xpr(::pg_query::Node* value) { +inline void RowExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -98249,314 +109435,171 @@ inline void SubLink::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.RowExpr.xpr) } -// .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; -inline void SubLink::clear_sub_link_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sub_link_type_ = 0; +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int RowExpr::_internal_args_size() const { + return _internal_args().size(); } -inline ::pg_query::SubLinkType SubLink::sub_link_type() const { - // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_type) - return _internal_sub_link_type(); +inline int RowExpr::args_size() const { + return _internal_args_size(); } -inline void SubLink::set_sub_link_type(::pg_query::SubLinkType value) { - _internal_set_sub_link_type(value); - // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_type) +inline void RowExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline ::pg_query::SubLinkType SubLink::_internal_sub_link_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); +inline ::pg_query::Node* RowExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline void SubLink::_internal_set_sub_link_type(::pg_query::SubLinkType value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sub_link_type_ = value; + return _internal_mutable_args(); } - -// int32 sub_link_id = 3 [json_name = "subLinkId"]; -inline void SubLink::clear_sub_link_id() { +inline const ::pg_query::Node& RowExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RowExpr.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* RowExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sub_link_id_ = 0; + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowExpr.args) + return _add; } -inline ::int32_t SubLink::sub_link_id() const { - // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_id) - return _internal_sub_link_id(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RowExpr.args) + return _internal_args(); } -inline void SubLink::set_sub_link_id(::int32_t value) { - _internal_set_sub_link_id(value); - // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_id) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline ::int32_t SubLink::_internal_sub_link_id() const { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.sub_link_id_; + return &_impl_.args_; } -inline void SubLink::_internal_set_sub_link_id(::int32_t value) { + +// uint32 row_typeid = 3 [json_name = "row_typeid"]; +inline void RowExpr::clear_row_typeid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sub_link_id_ = value; + _impl_.row_typeid_ = 0u; } - -// .pg_query.Node testexpr = 4 [json_name = "testexpr"]; -inline bool SubLink::has_testexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); - return value; +inline ::uint32_t RowExpr::row_typeid() const { + // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_typeid) + return _internal_row_typeid(); } -inline void SubLink::clear_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; +inline void RowExpr::set_row_typeid(::uint32_t value) { + _internal_set_row_typeid(value); + // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_typeid) } -inline const ::pg_query::Node& SubLink::_internal_testexpr() const { +inline ::uint32_t RowExpr::_internal_row_typeid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.testexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& SubLink::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubLink.testexpr) - return _internal_testexpr(); + return _impl_.row_typeid_; } -inline void SubLink::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { +inline void RowExpr::_internal_set_row_typeid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); - } - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.testexpr) + ; + _impl_.row_typeid_ = value; } -inline ::pg_query::Node* SubLink::release_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.testexpr_; - _impl_.testexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; -} -inline ::pg_query::Node* SubLink::unsafe_arena_release_testexpr() { +// .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; +inline void RowExpr::clear_row_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubLink.testexpr) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.testexpr_; - _impl_.testexpr_ = nullptr; - return temp; + _impl_.row_format_ = 0; } -inline ::pg_query::Node* SubLink::_internal_mutable_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.testexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.testexpr_; +inline ::pg_query::CoercionForm RowExpr::row_format() const { + // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_format) + return _internal_row_format(); } -inline ::pg_query::Node* SubLink::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_testexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubLink.testexpr) - return _msg; +inline void RowExpr::set_row_format(::pg_query::CoercionForm value) { + _internal_set_row_format(value); + // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_format) } -inline void SubLink::set_allocated_testexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::pg_query::CoercionForm RowExpr::_internal_row_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.row_format_); +} +inline void RowExpr::_internal_set_row_format(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.testexpr) + ; + _impl_.row_format_ = value; } -// repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; -inline int SubLink::_internal_oper_name_size() const { - return _internal_oper_name().size(); +// repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; +inline int RowExpr::_internal_colnames_size() const { + return _internal_colnames().size(); } -inline int SubLink::oper_name_size() const { - return _internal_oper_name_size(); +inline int RowExpr::colnames_size() const { + return _internal_colnames_size(); } -inline void SubLink::clear_oper_name() { +inline void RowExpr::clear_colnames() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.oper_name_.Clear(); + _impl_.colnames_.Clear(); } -inline ::pg_query::Node* SubLink::mutable_oper_name(int index) +inline ::pg_query::Node* RowExpr::mutable_colnames(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubLink.oper_name) - return _internal_mutable_oper_name()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.colnames) + return _internal_mutable_colnames()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubLink::mutable_oper_name() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubLink.oper_name) + // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.colnames) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_oper_name(); + return _internal_mutable_colnames(); } -inline const ::pg_query::Node& SubLink::oper_name(int index) const +inline const ::pg_query::Node& RowExpr::colnames(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubLink.oper_name) - return _internal_oper_name().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RowExpr.colnames) + return _internal_colnames().Get(index); } -inline ::pg_query::Node* SubLink::add_oper_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowExpr::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_oper_name()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubLink.oper_name) + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowExpr.colnames) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubLink::oper_name() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::colnames() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubLink.oper_name) - return _internal_oper_name(); + // @@protoc_insertion_point(field_list:pg_query.RowExpr.colnames) + return _internal_colnames(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubLink::_internal_oper_name() const { +RowExpr::_internal_colnames() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.oper_name_; + return _impl_.colnames_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubLink::_internal_mutable_oper_name() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.oper_name_; -} - -// .pg_query.Node subselect = 6 [json_name = "subselect"]; -inline bool SubLink::has_subselect() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.subselect_ != nullptr); - return value; -} -inline void SubLink::clear_subselect() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.subselect_ != nullptr) _impl_.subselect_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; -} -inline const ::pg_query::Node& SubLink::_internal_subselect() const { +RowExpr::_internal_mutable_colnames() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.subselect_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& SubLink::subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubLink.subselect) - return _internal_subselect(); -} -inline void SubLink::unsafe_arena_set_allocated_subselect(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subselect_); - } - _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.subselect) -} -inline ::pg_query::Node* SubLink::release_subselect() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.subselect_; - _impl_.subselect_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; -} -inline ::pg_query::Node* SubLink::unsafe_arena_release_subselect() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubLink.subselect) - - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.subselect_; - _impl_.subselect_ = nullptr; - return temp; -} -inline ::pg_query::Node* SubLink::_internal_mutable_subselect() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.subselect_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.subselect_; -} -inline ::pg_query::Node* SubLink::mutable_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_subselect(); - // @@protoc_insertion_point(field_mutable:pg_query.SubLink.subselect) - return _msg; -} -inline void SubLink::set_allocated_subselect(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.subselect_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - - _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.subselect) + return &_impl_.colnames_; } -// int32 location = 7 [json_name = "location"]; -inline void SubLink::clear_location() { +// int32 location = 6 [json_name = "location"]; +inline void RowExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t SubLink::location() const { - // @@protoc_insertion_point(field_get:pg_query.SubLink.location) +inline ::int32_t RowExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.RowExpr.location) return _internal_location(); } -inline void SubLink::set_location(::int32_t value) { +inline void RowExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SubLink.location) + // @@protoc_insertion_point(field_set:pg_query.RowExpr.location) } -inline ::int32_t SubLink::_internal_location() const { +inline ::int32_t RowExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void SubLink::_internal_set_location(::int32_t value) { +inline void RowExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -98564,29 +109607,29 @@ inline void SubLink::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// SubPlan +// RowCompareExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubPlan::has_xpr() const { +inline bool RowCompareExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void SubPlan::clear_xpr() { +inline void RowCompareExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SubPlan::_internal_xpr() const { +inline const ::pg_query::Node& RowCompareExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.xpr) +inline const ::pg_query::Node& RowCompareExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.xpr) return _internal_xpr(); } -inline void SubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void RowCompareExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -98597,9 +109640,9 @@ inline void SubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowCompareExpr.xpr) } -inline ::pg_query::Node* SubPlan::release_xpr() { +inline ::pg_query::Node* RowCompareExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -98618,16 +109661,16 @@ inline ::pg_query::Node* SubPlan::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SubPlan::unsafe_arena_release_xpr() { +inline ::pg_query::Node* RowCompareExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubPlan.xpr) + // @@protoc_insertion_point(field_release:pg_query.RowCompareExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* SubPlan::_internal_mutable_xpr() { +inline ::pg_query::Node* RowCompareExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -98636,12 +109679,12 @@ inline ::pg_query::Node* SubPlan::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* SubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowCompareExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.xpr) return _msg; } -inline void SubPlan::set_allocated_xpr(::pg_query::Node* value) { +inline void RowCompareExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -98659,609 +109702,302 @@ inline void SubPlan::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.RowCompareExpr.xpr) } -// .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; -inline void SubPlan::clear_sub_link_type() { +// .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; +inline void RowCompareExpr::clear_rctype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sub_link_type_ = 0; + _impl_.rctype_ = 0; } -inline ::pg_query::SubLinkType SubPlan::sub_link_type() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.sub_link_type) - return _internal_sub_link_type(); +inline ::pg_query::RowCompareType RowCompareExpr::rctype() const { + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rctype) + return _internal_rctype(); } -inline void SubPlan::set_sub_link_type(::pg_query::SubLinkType value) { - _internal_set_sub_link_type(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.sub_link_type) +inline void RowCompareExpr::set_rctype(::pg_query::RowCompareType value) { + _internal_set_rctype(value); + // @@protoc_insertion_point(field_set:pg_query.RowCompareExpr.rctype) } -inline ::pg_query::SubLinkType SubPlan::_internal_sub_link_type() const { +inline ::pg_query::RowCompareType RowCompareExpr::_internal_rctype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); + return static_cast<::pg_query::RowCompareType>(_impl_.rctype_); } -inline void SubPlan::_internal_set_sub_link_type(::pg_query::SubLinkType value) { +inline void RowCompareExpr::_internal_set_rctype(::pg_query::RowCompareType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.sub_link_type_ = value; -} - -// .pg_query.Node testexpr = 3 [json_name = "testexpr"]; -inline bool SubPlan::has_testexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); - return value; -} -inline void SubPlan::clear_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::pg_query::Node& SubPlan::_internal_testexpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.testexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& SubPlan::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.testexpr) - return _internal_testexpr(); -} -inline void SubPlan::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); - } - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.testexpr) -} -inline ::pg_query::Node* SubPlan::release_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.testexpr_; - _impl_.testexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; -} -inline ::pg_query::Node* SubPlan::unsafe_arena_release_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubPlan.testexpr) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.testexpr_; - _impl_.testexpr_ = nullptr; - return temp; -} -inline ::pg_query::Node* SubPlan::_internal_mutable_testexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.testexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.testexpr_; -} -inline ::pg_query::Node* SubPlan::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_testexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.testexpr) - return _msg; -} -inline void SubPlan::set_allocated_testexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.testexpr) + _impl_.rctype_ = value; } -// repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; -inline int SubPlan::_internal_param_ids_size() const { - return _internal_param_ids().size(); +// repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; +inline int RowCompareExpr::_internal_opnos_size() const { + return _internal_opnos().size(); } -inline int SubPlan::param_ids_size() const { - return _internal_param_ids_size(); +inline int RowCompareExpr::opnos_size() const { + return _internal_opnos_size(); } -inline void SubPlan::clear_param_ids() { +inline void RowCompareExpr::clear_opnos() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.param_ids_.Clear(); + _impl_.opnos_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_param_ids(int index) +inline ::pg_query::Node* RowCompareExpr::mutable_opnos(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.param_ids) - return _internal_mutable_param_ids()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opnos) + return _internal_mutable_opnos()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_param_ids() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.param_ids) + // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opnos) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_param_ids(); + return _internal_mutable_opnos(); } -inline const ::pg_query::Node& SubPlan::param_ids(int index) const +inline const ::pg_query::Node& RowCompareExpr::opnos(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.param_ids) - return _internal_param_ids().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opnos) + return _internal_opnos().Get(index); } -inline ::pg_query::Node* SubPlan::add_param_ids() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowCompareExpr::add_opnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_param_ids()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubPlan.param_ids) + ::pg_query::Node* _add = _internal_mutable_opnos()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opnos) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::param_ids() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opnos() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubPlan.param_ids) - return _internal_param_ids(); + // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opnos) + return _internal_opnos(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubPlan::_internal_param_ids() const { +RowCompareExpr::_internal_opnos() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.param_ids_; + return _impl_.opnos_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubPlan::_internal_mutable_param_ids() { +RowCompareExpr::_internal_mutable_opnos() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.param_ids_; + return &_impl_.opnos_; } -// int32 plan_id = 5 [json_name = "plan_id"]; -inline void SubPlan::clear_plan_id() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.plan_id_ = 0; -} -inline ::int32_t SubPlan::plan_id() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_id) - return _internal_plan_id(); -} -inline void SubPlan::set_plan_id(::int32_t value) { - _internal_set_plan_id(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_id) -} -inline ::int32_t SubPlan::_internal_plan_id() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.plan_id_; +// repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; +inline int RowCompareExpr::_internal_opfamilies_size() const { + return _internal_opfamilies().size(); } -inline void SubPlan::_internal_set_plan_id(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.plan_id_ = value; +inline int RowCompareExpr::opfamilies_size() const { + return _internal_opfamilies_size(); } - -// string plan_name = 6 [json_name = "plan_name"]; -inline void SubPlan::clear_plan_name() { +inline void RowCompareExpr::clear_opfamilies() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.plan_name_.ClearToEmpty(); + _impl_.opfamilies_.Clear(); } -inline const std::string& SubPlan::plan_name() const +inline ::pg_query::Node* RowCompareExpr::mutable_opfamilies(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_name) - return _internal_plan_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE void SubPlan::set_plan_name(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.plan_name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_name) -} -inline std::string* SubPlan::mutable_plan_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_plan_name(); - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.plan_name) - return _s; -} -inline const std::string& SubPlan::_internal_plan_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.plan_name_.Get(); -} -inline void SubPlan::_internal_set_plan_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.plan_name_.Set(value, GetArena()); -} -inline std::string* SubPlan::_internal_mutable_plan_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.plan_name_.Mutable( GetArena()); -} -inline std::string* SubPlan::release_plan_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SubPlan.plan_name) - return _impl_.plan_name_.Release(); -} -inline void SubPlan::set_allocated_plan_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.plan_name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.plan_name_.IsDefault()) { - _impl_.plan_name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.plan_name) -} - -// uint32 first_col_type = 7 [json_name = "firstColType"]; -inline void SubPlan::clear_first_col_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.first_col_type_ = 0u; -} -inline ::uint32_t SubPlan::first_col_type() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_type) - return _internal_first_col_type(); -} -inline void SubPlan::set_first_col_type(::uint32_t value) { - _internal_set_first_col_type(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_type) -} -inline ::uint32_t SubPlan::_internal_first_col_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.first_col_type_; -} -inline void SubPlan::_internal_set_first_col_type(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.first_col_type_ = value; -} - -// int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; -inline void SubPlan::clear_first_col_typmod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.first_col_typmod_ = 0; -} -inline ::int32_t SubPlan::first_col_typmod() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_typmod) - return _internal_first_col_typmod(); -} -inline void SubPlan::set_first_col_typmod(::int32_t value) { - _internal_set_first_col_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_typmod) -} -inline ::int32_t SubPlan::_internal_first_col_typmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.first_col_typmod_; -} -inline void SubPlan::_internal_set_first_col_typmod(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.first_col_typmod_ = value; -} - -// uint32 first_col_collation = 9 [json_name = "firstColCollation"]; -inline void SubPlan::clear_first_col_collation() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.first_col_collation_ = 0u; -} -inline ::uint32_t SubPlan::first_col_collation() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_collation) - return _internal_first_col_collation(); -} -inline void SubPlan::set_first_col_collation(::uint32_t value) { - _internal_set_first_col_collation(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_collation) -} -inline ::uint32_t SubPlan::_internal_first_col_collation() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.first_col_collation_; -} -inline void SubPlan::_internal_set_first_col_collation(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.first_col_collation_ = value; + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opfamilies) + return _internal_mutable_opfamilies()->Mutable(index); } - -// bool use_hash_table = 10 [json_name = "useHashTable"]; -inline void SubPlan::clear_use_hash_table() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opfamilies() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opfamilies) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.use_hash_table_ = false; -} -inline bool SubPlan::use_hash_table() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.use_hash_table) - return _internal_use_hash_table(); -} -inline void SubPlan::set_use_hash_table(bool value) { - _internal_set_use_hash_table(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.use_hash_table) -} -inline bool SubPlan::_internal_use_hash_table() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.use_hash_table_; + return _internal_mutable_opfamilies(); } -inline void SubPlan::_internal_set_use_hash_table(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.use_hash_table_ = value; +inline const ::pg_query::Node& RowCompareExpr::opfamilies(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opfamilies) + return _internal_opfamilies().Get(index); } - -// bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; -inline void SubPlan::clear_unknown_eq_false() { +inline ::pg_query::Node* RowCompareExpr::add_opfamilies() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.unknown_eq_false_ = false; -} -inline bool SubPlan::unknown_eq_false() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.unknown_eq_false) - return _internal_unknown_eq_false(); + ::pg_query::Node* _add = _internal_mutable_opfamilies()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opfamilies) + return _add; } -inline void SubPlan::set_unknown_eq_false(bool value) { - _internal_set_unknown_eq_false(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.unknown_eq_false) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opfamilies() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opfamilies) + return _internal_opfamilies(); } -inline bool SubPlan::_internal_unknown_eq_false() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_opfamilies() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.unknown_eq_false_; -} -inline void SubPlan::_internal_set_unknown_eq_false(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.unknown_eq_false_ = value; -} - -// bool parallel_safe = 12 [json_name = "parallel_safe"]; -inline void SubPlan::clear_parallel_safe() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.parallel_safe_ = false; -} -inline bool SubPlan::parallel_safe() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.parallel_safe) - return _internal_parallel_safe(); -} -inline void SubPlan::set_parallel_safe(bool value) { - _internal_set_parallel_safe(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.parallel_safe) + return _impl_.opfamilies_; } -inline bool SubPlan::_internal_parallel_safe() const { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_opfamilies() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.parallel_safe_; -} -inline void SubPlan::_internal_set_parallel_safe(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.parallel_safe_ = value; + return &_impl_.opfamilies_; } -// repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; -inline int SubPlan::_internal_set_param_size() const { - return _internal_set_param().size(); +// repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; +inline int RowCompareExpr::_internal_inputcollids_size() const { + return _internal_inputcollids().size(); } -inline int SubPlan::set_param_size() const { - return _internal_set_param_size(); +inline int RowCompareExpr::inputcollids_size() const { + return _internal_inputcollids_size(); } -inline void SubPlan::clear_set_param() { +inline void RowCompareExpr::clear_inputcollids() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.set_param_.Clear(); + _impl_.inputcollids_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_set_param(int index) +inline ::pg_query::Node* RowCompareExpr::mutable_inputcollids(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.set_param) - return _internal_mutable_set_param()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.inputcollids) + return _internal_mutable_inputcollids()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_set_param() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_inputcollids() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.set_param) + // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.inputcollids) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_set_param(); + return _internal_mutable_inputcollids(); } -inline const ::pg_query::Node& SubPlan::set_param(int index) const +inline const ::pg_query::Node& RowCompareExpr::inputcollids(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.set_param) - return _internal_set_param().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.inputcollids) + return _internal_inputcollids().Get(index); } -inline ::pg_query::Node* SubPlan::add_set_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowCompareExpr::add_inputcollids() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_set_param()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubPlan.set_param) + ::pg_query::Node* _add = _internal_mutable_inputcollids()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.inputcollids) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::set_param() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::inputcollids() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubPlan.set_param) - return _internal_set_param(); + // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.inputcollids) + return _internal_inputcollids(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubPlan::_internal_set_param() const { +RowCompareExpr::_internal_inputcollids() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.set_param_; + return _impl_.inputcollids_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubPlan::_internal_mutable_set_param() { +RowCompareExpr::_internal_mutable_inputcollids() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.set_param_; + return &_impl_.inputcollids_; } -// repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; -inline int SubPlan::_internal_par_param_size() const { - return _internal_par_param().size(); +// repeated .pg_query.Node largs = 6 [json_name = "largs"]; +inline int RowCompareExpr::_internal_largs_size() const { + return _internal_largs().size(); } -inline int SubPlan::par_param_size() const { - return _internal_par_param_size(); +inline int RowCompareExpr::largs_size() const { + return _internal_largs_size(); } -inline void SubPlan::clear_par_param() { +inline void RowCompareExpr::clear_largs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.par_param_.Clear(); + _impl_.largs_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_par_param(int index) +inline ::pg_query::Node* RowCompareExpr::mutable_largs(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.par_param) - return _internal_mutable_par_param()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.largs) + return _internal_mutable_largs()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_par_param() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_largs() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.par_param) + // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.largs) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_par_param(); + return _internal_mutable_largs(); } -inline const ::pg_query::Node& SubPlan::par_param(int index) const +inline const ::pg_query::Node& RowCompareExpr::largs(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.par_param) - return _internal_par_param().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.largs) + return _internal_largs().Get(index); } -inline ::pg_query::Node* SubPlan::add_par_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowCompareExpr::add_largs() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_par_param()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubPlan.par_param) + ::pg_query::Node* _add = _internal_mutable_largs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.largs) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::par_param() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::largs() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubPlan.par_param) - return _internal_par_param(); + // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.largs) + return _internal_largs(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubPlan::_internal_par_param() const { +RowCompareExpr::_internal_largs() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.par_param_; + return _impl_.largs_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubPlan::_internal_mutable_par_param() { +RowCompareExpr::_internal_mutable_largs() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.par_param_; + return &_impl_.largs_; } -// repeated .pg_query.Node args = 15 [json_name = "args"]; -inline int SubPlan::_internal_args_size() const { - return _internal_args().size(); +// repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; +inline int RowCompareExpr::_internal_rargs_size() const { + return _internal_rargs().size(); } -inline int SubPlan::args_size() const { - return _internal_args_size(); +inline int RowCompareExpr::rargs_size() const { + return _internal_rargs_size(); } -inline void SubPlan::clear_args() { +inline void RowCompareExpr::clear_rargs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + _impl_.rargs_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_args(int index) +inline ::pg_query::Node* RowCompareExpr::mutable_rargs(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.rargs) + return _internal_mutable_rargs()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_rargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.rargs) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + return _internal_mutable_rargs(); } -inline const ::pg_query::Node& SubPlan::args(int index) const +inline const ::pg_query::Node& RowCompareExpr::rargs(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rargs) + return _internal_rargs().Get(index); } -inline ::pg_query::Node* SubPlan::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RowCompareExpr::add_rargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SubPlan.args) + ::pg_query::Node* _add = _internal_mutable_rargs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.rargs) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::rargs() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SubPlan.args) - return _internal_args(); + // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.rargs) + return _internal_rargs(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SubPlan::_internal_args() const { +RowCompareExpr::_internal_rargs() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.rargs_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SubPlan::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; -} - -// double startup_cost = 16 [json_name = "startup_cost"]; -inline void SubPlan::clear_startup_cost() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.startup_cost_ = 0; -} -inline double SubPlan::startup_cost() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.startup_cost) - return _internal_startup_cost(); -} -inline void SubPlan::set_startup_cost(double value) { - _internal_set_startup_cost(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.startup_cost) -} -inline double SubPlan::_internal_startup_cost() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.startup_cost_; -} -inline void SubPlan::_internal_set_startup_cost(double value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.startup_cost_ = value; -} - -// double per_call_cost = 17 [json_name = "per_call_cost"]; -inline void SubPlan::clear_per_call_cost() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.per_call_cost_ = 0; -} -inline double SubPlan::per_call_cost() const { - // @@protoc_insertion_point(field_get:pg_query.SubPlan.per_call_cost) - return _internal_per_call_cost(); -} -inline void SubPlan::set_per_call_cost(double value) { - _internal_set_per_call_cost(value); - // @@protoc_insertion_point(field_set:pg_query.SubPlan.per_call_cost) -} -inline double SubPlan::_internal_per_call_cost() const { +RowCompareExpr::_internal_mutable_rargs() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.per_call_cost_; -} -inline void SubPlan::_internal_set_per_call_cost(double value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.per_call_cost_ = value; + return &_impl_.rargs_; } // ------------------------------------------------------------------- -// AlternativeSubPlan +// CoalesceExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool AlternativeSubPlan::has_xpr() const { +inline bool CoalesceExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void AlternativeSubPlan::clear_xpr() { +inline void CoalesceExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& AlternativeSubPlan::_internal_xpr() const { +inline const ::pg_query::Node& CoalesceExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& AlternativeSubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.xpr) +inline const ::pg_query::Node& CoalesceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.xpr) return _internal_xpr(); } -inline void AlternativeSubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CoalesceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -99272,9 +110008,9 @@ inline void AlternativeSubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlternativeSubPlan.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoalesceExpr.xpr) } -inline ::pg_query::Node* AlternativeSubPlan::release_xpr() { +inline ::pg_query::Node* CoalesceExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -99293,16 +110029,16 @@ inline ::pg_query::Node* AlternativeSubPlan::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* AlternativeSubPlan::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CoalesceExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.AlternativeSubPlan.xpr) + // @@protoc_insertion_point(field_release:pg_query.CoalesceExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* AlternativeSubPlan::_internal_mutable_xpr() { +inline ::pg_query::Node* CoalesceExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -99311,12 +110047,12 @@ inline ::pg_query::Node* AlternativeSubPlan::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* AlternativeSubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoalesceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.xpr) return _msg; } -inline void AlternativeSubPlan::set_allocated_xpr(::pg_query::Node* value) { +inline void CoalesceExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -99334,83 +110070,152 @@ inline void AlternativeSubPlan::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.AlternativeSubPlan.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.CoalesceExpr.xpr) } -// repeated .pg_query.Node subplans = 2 [json_name = "subplans"]; -inline int AlternativeSubPlan::_internal_subplans_size() const { - return _internal_subplans().size(); +// uint32 coalescetype = 2 [json_name = "coalescetype"]; +inline void CoalesceExpr::clear_coalescetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coalescetype_ = 0u; } -inline int AlternativeSubPlan::subplans_size() const { - return _internal_subplans_size(); +inline ::uint32_t CoalesceExpr::coalescetype() const { + // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescetype) + return _internal_coalescetype(); } -inline void AlternativeSubPlan::clear_subplans() { +inline void CoalesceExpr::set_coalescetype(::uint32_t value) { + _internal_set_coalescetype(value); + // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescetype) +} +inline ::uint32_t CoalesceExpr::_internal_coalescetype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coalescetype_; +} +inline void CoalesceExpr::_internal_set_coalescetype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.subplans_.Clear(); + ; + _impl_.coalescetype_ = value; } -inline ::pg_query::Node* AlternativeSubPlan::mutable_subplans(int index) + +// uint32 coalescecollid = 3 [json_name = "coalescecollid"]; +inline void CoalesceExpr::clear_coalescecollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coalescecollid_ = 0u; +} +inline ::uint32_t CoalesceExpr::coalescecollid() const { + // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescecollid) + return _internal_coalescecollid(); +} +inline void CoalesceExpr::set_coalescecollid(::uint32_t value) { + _internal_set_coalescecollid(value); + // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescecollid) +} +inline ::uint32_t CoalesceExpr::_internal_coalescecollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coalescecollid_; +} +inline void CoalesceExpr::_internal_set_coalescecollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coalescecollid_ = value; +} + +// repeated .pg_query.Node args = 4 [json_name = "args"]; +inline int CoalesceExpr::_internal_args_size() const { + return _internal_args().size(); +} +inline int CoalesceExpr::args_size() const { + return _internal_args_size(); +} +inline void CoalesceExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* CoalesceExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.subplans) - return _internal_mutable_subplans()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlternativeSubPlan::mutable_subplans() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CoalesceExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlternativeSubPlan.subplans) + // @@protoc_insertion_point(field_mutable_list:pg_query.CoalesceExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_subplans(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& AlternativeSubPlan::subplans(int index) const +inline const ::pg_query::Node& CoalesceExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.subplans) - return _internal_subplans().Get(index); + // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* AlternativeSubPlan::add_subplans() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoalesceExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_subplans()->Add(); - // @@protoc_insertion_point(field_add:pg_query.AlternativeSubPlan.subplans) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CoalesceExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlternativeSubPlan::subplans() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CoalesceExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.AlternativeSubPlan.subplans) - return _internal_subplans(); + // @@protoc_insertion_point(field_list:pg_query.CoalesceExpr.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -AlternativeSubPlan::_internal_subplans() const { +CoalesceExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.subplans_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -AlternativeSubPlan::_internal_mutable_subplans() { +CoalesceExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.subplans_; + return &_impl_.args_; +} + +// int32 location = 5 [json_name = "location"]; +inline void CoalesceExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t CoalesceExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.location) + return _internal_location(); +} +inline void CoalesceExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.location) +} +inline ::int32_t CoalesceExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CoalesceExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// FieldSelect +// MinMaxExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FieldSelect::has_xpr() const { +inline bool MinMaxExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void FieldSelect::clear_xpr() { +inline void MinMaxExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FieldSelect::_internal_xpr() const { +inline const ::pg_query::Node& MinMaxExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldSelect::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.xpr) +inline const ::pg_query::Node& MinMaxExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.xpr) return _internal_xpr(); } -inline void FieldSelect::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void MinMaxExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -99421,9 +110226,9 @@ inline void FieldSelect::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MinMaxExpr.xpr) } -inline ::pg_query::Node* FieldSelect::release_xpr() { +inline ::pg_query::Node* MinMaxExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -99442,16 +110247,16 @@ inline ::pg_query::Node* FieldSelect::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* FieldSelect::unsafe_arena_release_xpr() { +inline ::pg_query::Node* MinMaxExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FieldSelect.xpr) + // @@protoc_insertion_point(field_release:pg_query.MinMaxExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* FieldSelect::_internal_mutable_xpr() { +inline ::pg_query::Node* MinMaxExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -99460,12 +110265,12 @@ inline ::pg_query::Node* FieldSelect::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* FieldSelect::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* MinMaxExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.xpr) return _msg; } -inline void FieldSelect::set_allocated_xpr(::pg_query::Node* value) { +inline void MinMaxExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -99483,48 +110288,216 @@ inline void FieldSelect::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.MinMaxExpr.xpr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool FieldSelect::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// uint32 minmaxtype = 2 [json_name = "minmaxtype"]; +inline void MinMaxExpr::clear_minmaxtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.minmaxtype_ = 0u; +} +inline ::uint32_t MinMaxExpr::minmaxtype() const { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxtype) + return _internal_minmaxtype(); +} +inline void MinMaxExpr::set_minmaxtype(::uint32_t value) { + _internal_set_minmaxtype(value); + // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxtype) +} +inline ::uint32_t MinMaxExpr::_internal_minmaxtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.minmaxtype_; +} +inline void MinMaxExpr::_internal_set_minmaxtype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.minmaxtype_ = value; +} + +// uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; +inline void MinMaxExpr::clear_minmaxcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.minmaxcollid_ = 0u; +} +inline ::uint32_t MinMaxExpr::minmaxcollid() const { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxcollid) + return _internal_minmaxcollid(); +} +inline void MinMaxExpr::set_minmaxcollid(::uint32_t value) { + _internal_set_minmaxcollid(value); + // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxcollid) +} +inline ::uint32_t MinMaxExpr::_internal_minmaxcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.minmaxcollid_; +} +inline void MinMaxExpr::_internal_set_minmaxcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.minmaxcollid_ = value; +} + +// uint32 inputcollid = 4 [json_name = "inputcollid"]; +inline void MinMaxExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t MinMaxExpr::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.inputcollid) + return _internal_inputcollid(); +} +inline void MinMaxExpr::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.inputcollid) +} +inline ::uint32_t MinMaxExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void MinMaxExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} + +// .pg_query.MinMaxOp op = 5 [json_name = "op"]; +inline void MinMaxExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; +} +inline ::pg_query::MinMaxOp MinMaxExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.op) + return _internal_op(); +} +inline void MinMaxExpr::set_op(::pg_query::MinMaxOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.op) +} +inline ::pg_query::MinMaxOp MinMaxExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::MinMaxOp>(_impl_.op_); +} +inline void MinMaxExpr::_internal_set_op(::pg_query::MinMaxOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; +} + +// repeated .pg_query.Node args = 6 [json_name = "args"]; +inline int MinMaxExpr::_internal_args_size() const { + return _internal_args().size(); +} +inline int MinMaxExpr::args_size() const { + return _internal_args_size(); +} +inline void MinMaxExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* MinMaxExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MinMaxExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MinMaxExpr.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::pg_query::Node& MinMaxExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* MinMaxExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MinMaxExpr.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MinMaxExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MinMaxExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MinMaxExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MinMaxExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// int32 location = 7 [json_name = "location"]; +inline void MinMaxExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t MinMaxExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.location) + return _internal_location(); +} +inline void MinMaxExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.location) +} +inline ::int32_t MinMaxExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void MinMaxExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// SQLValueFunction + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool SQLValueFunction::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void FieldSelect::clear_arg() { +inline void SQLValueFunction::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FieldSelect::_internal_arg() const { +inline const ::pg_query::Node& SQLValueFunction::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldSelect::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.arg) - return _internal_arg(); +inline const ::pg_query::Node& SQLValueFunction::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.xpr) + return _internal_xpr(); } -inline void FieldSelect::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void SQLValueFunction::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SQLValueFunction.xpr) } -inline ::pg_query::Node* FieldSelect::release_arg() { +inline ::pg_query::Node* SQLValueFunction::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -99538,34 +110511,34 @@ inline ::pg_query::Node* FieldSelect::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* FieldSelect::unsafe_arena_release_arg() { +inline ::pg_query::Node* SQLValueFunction::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FieldSelect.arg) + // @@protoc_insertion_point(field_release:pg_query.SQLValueFunction.xpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* FieldSelect::_internal_mutable_arg() { +inline ::pg_query::Node* SQLValueFunction::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.xpr_; } -inline ::pg_query::Node* FieldSelect::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.arg) +inline ::pg_query::Node* SQLValueFunction::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SQLValueFunction.xpr) return _msg; } -inline void FieldSelect::set_allocated_arg(::pg_query::Node* value) { +inline void SQLValueFunction::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -99573,132 +110546,132 @@ inline void FieldSelect::set_allocated_arg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.arg) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SQLValueFunction.xpr) } -// int32 fieldnum = 3 [json_name = "fieldnum"]; -inline void FieldSelect::clear_fieldnum() { +// .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; +inline void SQLValueFunction::clear_op() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fieldnum_ = 0; + _impl_.op_ = 0; } -inline ::int32_t FieldSelect::fieldnum() const { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.fieldnum) - return _internal_fieldnum(); +inline ::pg_query::SQLValueFunctionOp SQLValueFunction::op() const { + // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.op) + return _internal_op(); } -inline void FieldSelect::set_fieldnum(::int32_t value) { - _internal_set_fieldnum(value); - // @@protoc_insertion_point(field_set:pg_query.FieldSelect.fieldnum) +inline void SQLValueFunction::set_op(::pg_query::SQLValueFunctionOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.op) } -inline ::int32_t FieldSelect::_internal_fieldnum() const { +inline ::pg_query::SQLValueFunctionOp SQLValueFunction::_internal_op() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fieldnum_; + return static_cast<::pg_query::SQLValueFunctionOp>(_impl_.op_); } -inline void FieldSelect::_internal_set_fieldnum(::int32_t value) { +inline void SQLValueFunction::_internal_set_op(::pg_query::SQLValueFunctionOp value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.fieldnum_ = value; + _impl_.op_ = value; } -// uint32 resulttype = 4 [json_name = "resulttype"]; -inline void FieldSelect::clear_resulttype() { +// uint32 type = 3 [json_name = "type"]; +inline void SQLValueFunction::clear_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; + _impl_.type_ = 0u; } -inline ::uint32_t FieldSelect::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttype) - return _internal_resulttype(); +inline ::uint32_t SQLValueFunction::type() const { + // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.type) + return _internal_type(); } -inline void FieldSelect::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttype) +inline void SQLValueFunction::set_type(::uint32_t value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.type) } -inline ::uint32_t FieldSelect::_internal_resulttype() const { +inline ::uint32_t SQLValueFunction::_internal_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; + return _impl_.type_; } -inline void FieldSelect::_internal_set_resulttype(::uint32_t value) { +inline void SQLValueFunction::_internal_set_type(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resulttype_ = value; + _impl_.type_ = value; } -// int32 resulttypmod = 5 [json_name = "resulttypmod"]; -inline void FieldSelect::clear_resulttypmod() { +// int32 typmod = 4 [json_name = "typmod"]; +inline void SQLValueFunction::clear_typmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttypmod_ = 0; + _impl_.typmod_ = 0; } -inline ::int32_t FieldSelect::resulttypmod() const { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttypmod) - return _internal_resulttypmod(); +inline ::int32_t SQLValueFunction::typmod() const { + // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.typmod) + return _internal_typmod(); } -inline void FieldSelect::set_resulttypmod(::int32_t value) { - _internal_set_resulttypmod(value); - // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttypmod) +inline void SQLValueFunction::set_typmod(::int32_t value) { + _internal_set_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.typmod) } -inline ::int32_t FieldSelect::_internal_resulttypmod() const { +inline ::int32_t SQLValueFunction::_internal_typmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttypmod_; + return _impl_.typmod_; } -inline void FieldSelect::_internal_set_resulttypmod(::int32_t value) { +inline void SQLValueFunction::_internal_set_typmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resulttypmod_ = value; + _impl_.typmod_ = value; } -// uint32 resultcollid = 6 [json_name = "resultcollid"]; -inline void FieldSelect::clear_resultcollid() { +// int32 location = 5 [json_name = "location"]; +inline void SQLValueFunction::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resultcollid_ = 0u; + _impl_.location_ = 0; } -inline ::uint32_t FieldSelect::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resultcollid) - return _internal_resultcollid(); +inline ::int32_t SQLValueFunction::location() const { + // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.location) + return _internal_location(); } -inline void FieldSelect::set_resultcollid(::uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resultcollid) +inline void SQLValueFunction::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.location) } -inline ::uint32_t FieldSelect::_internal_resultcollid() const { +inline ::int32_t SQLValueFunction::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resultcollid_; + return _impl_.location_; } -inline void FieldSelect::_internal_set_resultcollid(::uint32_t value) { +inline void SQLValueFunction::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resultcollid_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// FieldStore +// XmlExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FieldStore::has_xpr() const { +inline bool XmlExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void FieldStore::clear_xpr() { +inline void XmlExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FieldStore::_internal_xpr() const { +inline const ::pg_query::Node& XmlExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldStore::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldStore.xpr) +inline const ::pg_query::Node& XmlExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xpr) return _internal_xpr(); } -inline void FieldStore::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void XmlExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -99709,9 +110682,9 @@ inline void FieldStore::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlExpr.xpr) } -inline ::pg_query::Node* FieldStore::release_xpr() { +inline ::pg_query::Node* XmlExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -99730,16 +110703,16 @@ inline ::pg_query::Node* FieldStore::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* FieldStore::unsafe_arena_release_xpr() { +inline ::pg_query::Node* XmlExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FieldStore.xpr) + // @@protoc_insertion_point(field_release:pg_query.XmlExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* FieldStore::_internal_mutable_xpr() { +inline ::pg_query::Node* XmlExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -99748,12 +110721,12 @@ inline ::pg_query::Node* FieldStore::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* FieldStore::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* XmlExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.xpr) return _msg; } -inline void FieldStore::set_allocated_xpr(::pg_query::Node* value) { +inline void XmlExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -99771,269 +110744,463 @@ inline void FieldStore::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.xpr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool FieldStore::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); - return value; +// .pg_query.XmlExprOp op = 2 [json_name = "op"]; +inline void XmlExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline void FieldStore::clear_arg() { +inline ::pg_query::XmlExprOp XmlExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.op) + return _internal_op(); +} +inline void XmlExpr::set_op(::pg_query::XmlExprOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.op) +} +inline ::pg_query::XmlExprOp XmlExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::XmlExprOp>(_impl_.op_); +} +inline void XmlExpr::_internal_set_op(::pg_query::XmlExprOp value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + ; + _impl_.op_ = value; } -inline const ::pg_query::Node& FieldStore::_internal_arg() const { + +// string name = 3 [json_name = "name"]; +inline void XmlExpr::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& XmlExpr::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void XmlExpr::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.name) +} +inline std::string* XmlExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.name) + return _s; +} +inline const std::string& XmlExpr::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.name_.Get(); } -inline const ::pg_query::Node& FieldStore::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldStore.arg) - return _internal_arg(); +inline void XmlExpr::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline void FieldStore::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline std::string* XmlExpr::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.arg) + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* FieldStore::release_arg() { +inline std::string* XmlExpr::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + // @@protoc_insertion_point(field_release:pg_query.XmlExpr.name) + return _impl_.name_.Release(); } -inline ::pg_query::Node* FieldStore::unsafe_arena_release_arg() { +inline void XmlExpr::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FieldStore.arg) + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.name) +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; +// repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; +inline int XmlExpr::_internal_named_args_size() const { + return _internal_named_args().size(); } -inline ::pg_query::Node* FieldStore::_internal_mutable_arg() { +inline int XmlExpr::named_args_size() const { + return _internal_named_args_size(); +} +inline void XmlExpr::clear_named_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.arg_; + _impl_.named_args_.Clear(); } -inline ::pg_query::Node* FieldStore::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.arg) - return _msg; +inline ::pg_query::Node* XmlExpr::mutable_named_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.named_args) + return _internal_mutable_named_args()->Mutable(index); } -inline void FieldStore::set_allocated_arg(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_named_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.named_args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.arg) + return _internal_mutable_named_args(); +} +inline const ::pg_query::Node& XmlExpr::named_args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.named_args) + return _internal_named_args().Get(index); +} +inline ::pg_query::Node* XmlExpr::add_named_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_named_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.XmlExpr.named_args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::named_args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.XmlExpr.named_args) + return _internal_named_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +XmlExpr::_internal_named_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.named_args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +XmlExpr::_internal_mutable_named_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.named_args_; } -// repeated .pg_query.Node newvals = 3 [json_name = "newvals"]; -inline int FieldStore::_internal_newvals_size() const { - return _internal_newvals().size(); +// repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; +inline int XmlExpr::_internal_arg_names_size() const { + return _internal_arg_names().size(); } -inline int FieldStore::newvals_size() const { - return _internal_newvals_size(); +inline int XmlExpr::arg_names_size() const { + return _internal_arg_names_size(); } -inline void FieldStore::clear_newvals() { +inline void XmlExpr::clear_arg_names() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.newvals_.Clear(); + _impl_.arg_names_.Clear(); } -inline ::pg_query::Node* FieldStore::mutable_newvals(int index) +inline ::pg_query::Node* XmlExpr::mutable_arg_names(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.newvals) - return _internal_mutable_newvals()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.arg_names) + return _internal_mutable_arg_names()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_newvals() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_arg_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.newvals) + // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.arg_names) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_newvals(); + return _internal_mutable_arg_names(); } -inline const ::pg_query::Node& FieldStore::newvals(int index) const +inline const ::pg_query::Node& XmlExpr::arg_names(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldStore.newvals) - return _internal_newvals().Get(index); + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.arg_names) + return _internal_arg_names().Get(index); } -inline ::pg_query::Node* FieldStore::add_newvals() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* XmlExpr::add_arg_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_newvals()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FieldStore.newvals) + ::pg_query::Node* _add = _internal_mutable_arg_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.XmlExpr.arg_names) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::newvals() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::arg_names() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FieldStore.newvals) - return _internal_newvals(); + // @@protoc_insertion_point(field_list:pg_query.XmlExpr.arg_names) + return _internal_arg_names(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FieldStore::_internal_newvals() const { +XmlExpr::_internal_arg_names() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.newvals_; + return _impl_.arg_names_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FieldStore::_internal_mutable_newvals() { +XmlExpr::_internal_mutable_arg_names() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.newvals_; + return &_impl_.arg_names_; } -// repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"]; -inline int FieldStore::_internal_fieldnums_size() const { - return _internal_fieldnums().size(); +// repeated .pg_query.Node args = 6 [json_name = "args"]; +inline int XmlExpr::_internal_args_size() const { + return _internal_args().size(); } -inline int FieldStore::fieldnums_size() const { - return _internal_fieldnums_size(); +inline int XmlExpr::args_size() const { + return _internal_args_size(); } -inline void FieldStore::clear_fieldnums() { +inline void XmlExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fieldnums_.Clear(); + _impl_.args_.Clear(); } -inline ::pg_query::Node* FieldStore::mutable_fieldnums(int index) +inline ::pg_query::Node* XmlExpr::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.fieldnums) - return _internal_mutable_fieldnums()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_fieldnums() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.fieldnums) + // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_fieldnums(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& FieldStore::fieldnums(int index) const +inline const ::pg_query::Node& XmlExpr::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FieldStore.fieldnums) - return _internal_fieldnums().Get(index); + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* FieldStore::add_fieldnums() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* XmlExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_fieldnums()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FieldStore.fieldnums) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.XmlExpr.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::fieldnums() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FieldStore.fieldnums) - return _internal_fieldnums(); + // @@protoc_insertion_point(field_list:pg_query.XmlExpr.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FieldStore::_internal_fieldnums() const { +XmlExpr::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fieldnums_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FieldStore::_internal_mutable_fieldnums() { +XmlExpr::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.fieldnums_; + return &_impl_.args_; } -// uint32 resulttype = 5 [json_name = "resulttype"]; -inline void FieldStore::clear_resulttype() { +// .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; +inline void XmlExpr::clear_xmloption() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.xmloption_ = 0; +} +inline ::pg_query::XmlOptionType XmlExpr::xmloption() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xmloption) + return _internal_xmloption(); +} +inline void XmlExpr::set_xmloption(::pg_query::XmlOptionType value) { + _internal_set_xmloption(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.xmloption) +} +inline ::pg_query::XmlOptionType XmlExpr::_internal_xmloption() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); +} +inline void XmlExpr::_internal_set_xmloption(::pg_query::XmlOptionType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.xmloption_ = value; +} + +// bool indent = 8 [json_name = "indent"]; +inline void XmlExpr::clear_indent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indent_ = false; +} +inline bool XmlExpr::indent() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.indent) + return _internal_indent(); +} +inline void XmlExpr::set_indent(bool value) { + _internal_set_indent(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.indent) +} +inline bool XmlExpr::_internal_indent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indent_; +} +inline void XmlExpr::_internal_set_indent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indent_ = value; +} + +// uint32 type = 9 [json_name = "type"]; +inline void XmlExpr::clear_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_ = 0u; +} +inline ::uint32_t XmlExpr::type() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.type) + return _internal_type(); +} +inline void XmlExpr::set_type(::uint32_t value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.type) +} +inline ::uint32_t XmlExpr::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_; +} +inline void XmlExpr::_internal_set_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_ = value; +} + +// int32 typmod = 10 [json_name = "typmod"]; +inline void XmlExpr::clear_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typmod_ = 0; +} +inline ::int32_t XmlExpr::typmod() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.typmod) + return _internal_typmod(); +} +inline void XmlExpr::set_typmod(::int32_t value) { + _internal_set_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.typmod) +} +inline ::int32_t XmlExpr::_internal_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmod_; +} +inline void XmlExpr::_internal_set_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typmod_ = value; +} + +// int32 location = 11 [json_name = "location"]; +inline void XmlExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t XmlExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.location) + return _internal_location(); +} +inline void XmlExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.location) +} +inline ::int32_t XmlExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void XmlExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// JsonFormat + +// .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"]; +inline void JsonFormat::clear_format_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.format_type_ = 0; +} +inline ::pg_query::JsonFormatType JsonFormat::format_type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.format_type) + return _internal_format_type(); +} +inline void JsonFormat::set_format_type(::pg_query::JsonFormatType value) { + _internal_set_format_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.format_type) +} +inline ::pg_query::JsonFormatType JsonFormat::_internal_format_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonFormatType>(_impl_.format_type_); +} +inline void JsonFormat::_internal_set_format_type(::pg_query::JsonFormatType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.format_type_ = value; +} + +// .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"]; +inline void JsonFormat::clear_encoding() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.encoding_ = 0; +} +inline ::pg_query::JsonEncoding JsonFormat::encoding() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.encoding) + return _internal_encoding(); +} +inline void JsonFormat::set_encoding(::pg_query::JsonEncoding value) { + _internal_set_encoding(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.encoding) +} +inline ::pg_query::JsonEncoding JsonFormat::_internal_encoding() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonEncoding>(_impl_.encoding_); +} +inline void JsonFormat::_internal_set_encoding(::pg_query::JsonEncoding value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.encoding_ = value; +} + +// int32 location = 3 [json_name = "location"]; +inline void JsonFormat::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; + _impl_.location_ = 0; } -inline ::uint32_t FieldStore::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.FieldStore.resulttype) - return _internal_resulttype(); +inline ::int32_t JsonFormat::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.location) + return _internal_location(); } -inline void FieldStore::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.FieldStore.resulttype) +inline void JsonFormat::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.location) } -inline ::uint32_t FieldStore::_internal_resulttype() const { +inline ::int32_t JsonFormat::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; + return _impl_.location_; } -inline void FieldStore::_internal_set_resulttype(::uint32_t value) { +inline void JsonFormat::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resulttype_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// RelabelType +// JsonReturning -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RelabelType::has_xpr() const { +// .pg_query.JsonFormat format = 1 [json_name = "format"]; +inline bool JsonReturning::has_format() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); return value; } -inline void RelabelType::clear_xpr() { +inline void JsonReturning::clear_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RelabelType::_internal_xpr() const { +inline const ::pg_query::JsonFormat& JsonReturning::_internal_format() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::Node& RelabelType::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.xpr) - return _internal_xpr(); +inline const ::pg_query::JsonFormat& JsonReturning::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.format) + return _internal_format(); } -inline void RelabelType::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonReturning::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonReturning.format) } -inline ::pg_query::Node* RelabelType::release_xpr() { +inline ::pg_query::JsonFormat* JsonReturning::release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -100047,38 +111214,38 @@ inline ::pg_query::Node* RelabelType::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RelabelType::unsafe_arena_release_xpr() { +inline ::pg_query::JsonFormat* JsonReturning::unsafe_arena_release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RelabelType.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonReturning.format) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::Node* RelabelType::_internal_mutable_xpr() { +inline ::pg_query::JsonFormat* JsonReturning::_internal_mutable_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.xpr_; + return _impl_.format_; } -inline ::pg_query::Node* RelabelType::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.xpr) +inline ::pg_query::JsonFormat* JsonReturning::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonReturning.format) return _msg; } -inline void RelabelType::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonReturning::set_allocated_format(::pg_query::JsonFormat* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -100087,264 +111254,99 @@ inline void RelabelType::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.xpr) -} - -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool RelabelType::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); - return value; -} -inline void RelabelType::clear_arg() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::pg_query::Node& RelabelType::_internal_arg() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& RelabelType::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.arg) - return _internal_arg(); -} -inline void RelabelType::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.arg) -} -inline ::pg_query::Node* RelabelType::release_arg() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; -} -inline ::pg_query::Node* RelabelType::unsafe_arena_release_arg() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RelabelType.arg) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; -} -inline ::pg_query::Node* RelabelType::_internal_mutable_arg() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.arg_; -} -inline ::pg_query::Node* RelabelType::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.arg) - return _msg; -} -inline void RelabelType::set_allocated_arg(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.arg) -} - -// uint32 resulttype = 3 [json_name = "resulttype"]; -inline void RelabelType::clear_resulttype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; -} -inline ::uint32_t RelabelType::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttype) - return _internal_resulttype(); -} -inline void RelabelType::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttype) -} -inline ::uint32_t RelabelType::_internal_resulttype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; -} -inline void RelabelType::_internal_set_resulttype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttype_ = value; -} - -// int32 resulttypmod = 4 [json_name = "resulttypmod"]; -inline void RelabelType::clear_resulttypmod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttypmod_ = 0; -} -inline ::int32_t RelabelType::resulttypmod() const { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttypmod) - return _internal_resulttypmod(); -} -inline void RelabelType::set_resulttypmod(::int32_t value) { - _internal_set_resulttypmod(value); - // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttypmod) -} -inline ::int32_t RelabelType::_internal_resulttypmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttypmod_; -} -inline void RelabelType::_internal_set_resulttypmod(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttypmod_ = value; -} - -// uint32 resultcollid = 5 [json_name = "resultcollid"]; -inline void RelabelType::clear_resultcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resultcollid_ = 0u; -} -inline ::uint32_t RelabelType::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.resultcollid) - return _internal_resultcollid(); -} -inline void RelabelType::set_resultcollid(::uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.RelabelType.resultcollid) -} -inline ::uint32_t RelabelType::_internal_resultcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resultcollid_; -} -inline void RelabelType::_internal_set_resultcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resultcollid_ = value; + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonReturning.format) } -// .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; -inline void RelabelType::clear_relabelformat() { +// uint32 typid = 2 [json_name = "typid"]; +inline void JsonReturning::clear_typid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relabelformat_ = 0; + _impl_.typid_ = 0u; } -inline ::pg_query::CoercionForm RelabelType::relabelformat() const { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.relabelformat) - return _internal_relabelformat(); +inline ::uint32_t JsonReturning::typid() const { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typid) + return _internal_typid(); } -inline void RelabelType::set_relabelformat(::pg_query::CoercionForm value) { - _internal_set_relabelformat(value); - // @@protoc_insertion_point(field_set:pg_query.RelabelType.relabelformat) +inline void JsonReturning::set_typid(::uint32_t value) { + _internal_set_typid(value); + // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typid) } -inline ::pg_query::CoercionForm RelabelType::_internal_relabelformat() const { +inline ::uint32_t JsonReturning::_internal_typid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.relabelformat_); + return _impl_.typid_; } -inline void RelabelType::_internal_set_relabelformat(::pg_query::CoercionForm value) { +inline void JsonReturning::_internal_set_typid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relabelformat_ = value; + _impl_.typid_ = value; } -// int32 location = 7 [json_name = "location"]; -inline void RelabelType::clear_location() { +// int32 typmod = 3 [json_name = "typmod"]; +inline void JsonReturning::clear_typmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.typmod_ = 0; } -inline ::int32_t RelabelType::location() const { - // @@protoc_insertion_point(field_get:pg_query.RelabelType.location) - return _internal_location(); +inline ::int32_t JsonReturning::typmod() const { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typmod) + return _internal_typmod(); } -inline void RelabelType::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RelabelType.location) +inline void JsonReturning::set_typmod(::int32_t value) { + _internal_set_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typmod) } -inline ::int32_t RelabelType::_internal_location() const { +inline ::int32_t JsonReturning::_internal_typmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.typmod_; } -inline void RelabelType::_internal_set_location(::int32_t value) { +inline void JsonReturning::_internal_set_typmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.typmod_ = value; } // ------------------------------------------------------------------- -// CoerceViaIO +// JsonValueExpr -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceViaIO::has_xpr() const { +// .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; +inline bool JsonValueExpr::has_raw_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.raw_expr_ != nullptr); return value; } -inline void CoerceViaIO::clear_xpr() { +inline void JsonValueExpr::clear_raw_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.raw_expr_ != nullptr) _impl_.raw_expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CoerceViaIO::_internal_xpr() const { +inline const ::pg_query::Node& JsonValueExpr::_internal_raw_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.raw_expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceViaIO::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonValueExpr::raw_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.raw_expr) + return _internal_raw_expr(); } -inline void CoerceViaIO::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonValueExpr::unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_expr_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.raw_expr) } -inline ::pg_query::Node* CoerceViaIO::release_xpr() { +inline ::pg_query::Node* JsonValueExpr::release_raw_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -100358,34 +111360,34 @@ inline ::pg_query::Node* CoerceViaIO::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_raw_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.raw_expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceViaIO::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonValueExpr::_internal_mutable_raw_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.raw_expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.raw_expr_; } -inline ::pg_query::Node* CoerceViaIO::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.xpr) +inline ::pg_query::Node* JsonValueExpr::mutable_raw_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_raw_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.raw_expr) return _msg; } -inline void CoerceViaIO::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonValueExpr::set_allocated_raw_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_expr_); } if (value != nullptr) { @@ -100398,49 +111400,49 @@ inline void CoerceViaIO::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.xpr) + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.raw_expr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CoerceViaIO::has_arg() const { +// .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; +inline bool JsonValueExpr::has_formatted_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.formatted_expr_ != nullptr); return value; } -inline void CoerceViaIO::clear_arg() { +inline void JsonValueExpr::clear_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + if (_impl_.formatted_expr_ != nullptr) _impl_.formatted_expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CoerceViaIO::_internal_arg() const { +inline const ::pg_query::Node& JsonValueExpr::_internal_formatted_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.formatted_expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceViaIO::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.arg) - return _internal_arg(); +inline const ::pg_query::Node& JsonValueExpr::formatted_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.formatted_expr) + return _internal_formatted_expr(); } -inline void CoerceViaIO::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void JsonValueExpr::unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.formatted_expr_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.formatted_expr) } -inline ::pg_query::Node* CoerceViaIO::release_arg() { +inline ::pg_query::Node* JsonValueExpr::release_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* released = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -100454,34 +111456,34 @@ inline ::pg_query::Node* CoerceViaIO::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_arg() { +inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.arg) + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.formatted_expr) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* temp = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceViaIO::_internal_mutable_arg() { +inline ::pg_query::Node* JsonValueExpr::_internal_mutable_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { + if (_impl_.formatted_expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.formatted_expr_; } -inline ::pg_query::Node* CoerceViaIO::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.arg) +inline ::pg_query::Node* JsonValueExpr::mutable_formatted_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_formatted_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.formatted_expr) return _msg; } -inline void CoerceViaIO::set_allocated_arg(::pg_query::Node* value) { +inline void JsonValueExpr::set_allocated_formatted_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.formatted_expr_); } if (value != nullptr) { @@ -100494,127 +111496,131 @@ inline void CoerceViaIO::set_allocated_arg(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.arg) + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.formatted_expr) } -// uint32 resulttype = 3 [json_name = "resulttype"]; -inline void CoerceViaIO::clear_resulttype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; -} -inline ::uint32_t CoerceViaIO::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resulttype) - return _internal_resulttype(); +// .pg_query.JsonFormat format = 3 [json_name = "format"]; +inline bool JsonValueExpr::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; } -inline void CoerceViaIO::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resulttype) +inline void JsonValueExpr::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline ::uint32_t CoerceViaIO::_internal_resulttype() const { +inline const ::pg_query::JsonFormat& JsonValueExpr::_internal_format() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline void CoerceViaIO::_internal_set_resulttype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttype_ = value; +inline const ::pg_query::JsonFormat& JsonValueExpr::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.format) + return _internal_format(); } - -// uint32 resultcollid = 4 [json_name = "resultcollid"]; -inline void CoerceViaIO::clear_resultcollid() { +inline void JsonValueExpr::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resultcollid_ = 0u; -} -inline ::uint32_t CoerceViaIO::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resultcollid) - return _internal_resultcollid(); -} -inline void CoerceViaIO::set_resultcollid(::uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resultcollid) -} -inline ::uint32_t CoerceViaIO::_internal_resultcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resultcollid_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + } + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.format) } -inline void CoerceViaIO::_internal_set_resultcollid(::uint32_t value) { +inline ::pg_query::JsonFormat* JsonValueExpr::release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resultcollid_ = value; -} -// .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"]; -inline void CoerceViaIO::clear_coerceformat() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coerceformat_ = 0; -} -inline ::pg_query::CoercionForm CoerceViaIO::coerceformat() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.coerceformat) - return _internal_coerceformat(); -} -inline void CoerceViaIO::set_coerceformat(::pg_query::CoercionForm value) { - _internal_set_coerceformat(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.coerceformat) -} -inline ::pg_query::CoercionForm CoerceViaIO::_internal_coerceformat() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CoerceViaIO::_internal_set_coerceformat(::pg_query::CoercionForm value) { +inline ::pg_query::JsonFormat* JsonValueExpr::unsafe_arena_release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.coerceformat_ = value; -} + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.format) -// int32 location = 6 [json_name = "location"]; -inline void CoerceViaIO::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t CoerceViaIO::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.location) - return _internal_location(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; + return temp; } -inline void CoerceViaIO::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.location) +inline ::pg_query::JsonFormat* JsonValueExpr::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + } + return _impl_.format_; } -inline ::int32_t CoerceViaIO::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline ::pg_query::JsonFormat* JsonValueExpr::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.format) + return _msg; } -inline void CoerceViaIO::_internal_set_location(::int32_t value) { +inline void JsonValueExpr::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.format) } // ------------------------------------------------------------------- -// ArrayCoerceExpr +// JsonConstructorExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ArrayCoerceExpr::has_xpr() const { +inline bool JsonConstructorExpr::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void ArrayCoerceExpr::clear_xpr() { +inline void JsonConstructorExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& ArrayCoerceExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonConstructorExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayCoerceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.xpr) +inline const ::pg_query::Node& JsonConstructorExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.xpr) return _internal_xpr(); } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -100625,9 +111631,9 @@ inline void ArrayCoerceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* va } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.xpr) } -inline ::pg_query::Node* ArrayCoerceExpr::release_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -100646,16 +111652,16 @@ inline ::pg_query::Node* ArrayCoerceExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -100664,12 +111670,12 @@ inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* JsonConstructorExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.xpr) return _msg; } -inline void ArrayCoerceExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -100687,144 +111693,120 @@ inline void ArrayCoerceExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.xpr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool ArrayCoerceExpr::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); - return value; -} -inline void ArrayCoerceExpr::clear_arg() { +// .pg_query.JsonConstructorType type = 2 [json_name = "type"]; +inline void JsonConstructorExpr::clear_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_.type_ = 0; } -inline const ::pg_query::Node& ArrayCoerceExpr::_internal_arg() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline ::pg_query::JsonConstructorType JsonConstructorExpr::type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.type) + return _internal_type(); } -inline const ::pg_query::Node& ArrayCoerceExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.arg) - return _internal_arg(); +inline void JsonConstructorExpr::set_type(::pg_query::JsonConstructorType value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.type) } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.arg) +inline ::pg_query::JsonConstructorType JsonConstructorExpr::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonConstructorType>(_impl_.type_); } -inline ::pg_query::Node* ArrayCoerceExpr::release_arg() { +inline void JsonConstructorExpr::_internal_set_type(::pg_query::JsonConstructorType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_ = value; +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int JsonConstructorExpr::_internal_args_size() const { + return _internal_args().size(); } -inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_arg() { +inline int JsonConstructorExpr::args_size() const { + return _internal_args_size(); +} +inline void JsonConstructorExpr::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.arg) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; + _impl_.args_.Clear(); } -inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_arg() { +inline ::pg_query::Node* JsonConstructorExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonConstructorExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonConstructorExpr.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.arg_; + return _internal_mutable_args(); } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.arg) - return _msg; +inline const ::pg_query::Node& JsonConstructorExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.args) + return _internal_args().Get(index); } -inline void ArrayCoerceExpr::set_allocated_arg(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::pg_query::Node* JsonConstructorExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.arg) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonConstructorExpr.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonConstructorExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonConstructorExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonConstructorExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonConstructorExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.Node elemexpr = 3 [json_name = "elemexpr"]; -inline bool ArrayCoerceExpr::has_elemexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.elemexpr_ != nullptr); +// .pg_query.Node func = 4 [json_name = "func"]; +inline bool JsonConstructorExpr::has_func() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.func_ != nullptr); return value; } -inline void ArrayCoerceExpr::clear_elemexpr() { +inline void JsonConstructorExpr::clear_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.elemexpr_ != nullptr) _impl_.elemexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.func_ != nullptr) _impl_.func_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& ArrayCoerceExpr::_internal_elemexpr() const { +inline const ::pg_query::Node& JsonConstructorExpr::_internal_func() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.elemexpr_; + const ::pg_query::Node* p = _impl_.func_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayCoerceExpr::elemexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.elemexpr) - return _internal_elemexpr(); +inline const ::pg_query::Node& JsonConstructorExpr::func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.func) + return _internal_func(); } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_elemexpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::unsafe_arena_set_allocated_func(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elemexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.func_); } - _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.func) } -inline ::pg_query::Node* ArrayCoerceExpr::release_elemexpr() { +inline ::pg_query::Node* JsonConstructorExpr::release_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.elemexpr_; - _impl_.elemexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.func_; + _impl_.func_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -100838,34 +111820,34 @@ inline ::pg_query::Node* ArrayCoerceExpr::release_elemexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_elemexpr() { +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.elemexpr) + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.func) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.elemexpr_; - _impl_.elemexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.func_; + _impl_.func_ = nullptr; return temp; } -inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_elemexpr() { +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.elemexpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.func_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.elemexpr_; + return _impl_.func_; } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_elemexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_elemexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.elemexpr) +inline ::pg_query::Node* JsonConstructorExpr::mutable_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_func(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.func) return _msg; } -inline void ArrayCoerceExpr::set_allocated_elemexpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::set_allocated_func(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.elemexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.func_); } if (value != nullptr) { @@ -100873,173 +111855,54 @@ inline void ArrayCoerceExpr::set_allocated_elemexpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) -} - -// uint32 resulttype = 4 [json_name = "resulttype"]; -inline void ArrayCoerceExpr::clear_resulttype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; -} -inline ::uint32_t ArrayCoerceExpr::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttype) - return _internal_resulttype(); -} -inline void ArrayCoerceExpr::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttype) -} -inline ::uint32_t ArrayCoerceExpr::_internal_resulttype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; -} -inline void ArrayCoerceExpr::_internal_set_resulttype(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttype_ = value; -} - -// int32 resulttypmod = 5 [json_name = "resulttypmod"]; -inline void ArrayCoerceExpr::clear_resulttypmod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttypmod_ = 0; -} -inline ::int32_t ArrayCoerceExpr::resulttypmod() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttypmod) - return _internal_resulttypmod(); -} -inline void ArrayCoerceExpr::set_resulttypmod(::int32_t value) { - _internal_set_resulttypmod(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttypmod) -} -inline ::int32_t ArrayCoerceExpr::_internal_resulttypmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttypmod_; -} -inline void ArrayCoerceExpr::_internal_set_resulttypmod(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttypmod_ = value; -} - -// uint32 resultcollid = 6 [json_name = "resultcollid"]; -inline void ArrayCoerceExpr::clear_resultcollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resultcollid_ = 0u; -} -inline ::uint32_t ArrayCoerceExpr::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resultcollid) - return _internal_resultcollid(); -} -inline void ArrayCoerceExpr::set_resultcollid(::uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resultcollid) -} -inline ::uint32_t ArrayCoerceExpr::_internal_resultcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resultcollid_; -} -inline void ArrayCoerceExpr::_internal_set_resultcollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resultcollid_ = value; -} - -// .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"]; -inline void ArrayCoerceExpr::clear_coerceformat() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coerceformat_ = 0; -} -inline ::pg_query::CoercionForm ArrayCoerceExpr::coerceformat() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.coerceformat) - return _internal_coerceformat(); -} -inline void ArrayCoerceExpr::set_coerceformat(::pg_query::CoercionForm value) { - _internal_set_coerceformat(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.coerceformat) -} -inline ::pg_query::CoercionForm ArrayCoerceExpr::_internal_coerceformat() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); -} -inline void ArrayCoerceExpr::_internal_set_coerceformat(::pg_query::CoercionForm value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.coerceformat_ = value; -} - -// int32 location = 8 [json_name = "location"]; -inline void ArrayCoerceExpr::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t ArrayCoerceExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.location) - return _internal_location(); -} -inline void ArrayCoerceExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.location) -} -inline ::int32_t ArrayCoerceExpr::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void ArrayCoerceExpr::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.func) } -// ------------------------------------------------------------------- - -// ConvertRowtypeExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ConvertRowtypeExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.Node coercion = 5 [json_name = "coercion"]; +inline bool JsonConstructorExpr::has_coercion() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coercion_ != nullptr); return value; } -inline void ConvertRowtypeExpr::clear_xpr() { +inline void JsonConstructorExpr::clear_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.coercion_ != nullptr) _impl_.coercion_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonConstructorExpr::_internal_coercion() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.coercion_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ConvertRowtypeExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonConstructorExpr::coercion() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.coercion) + return _internal_coercion(); } -inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::unsafe_arena_set_allocated_coercion(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coercion_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.coercion) } -inline ::pg_query::Node* ConvertRowtypeExpr::release_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::release_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.coercion_; + _impl_.coercion_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101053,34 +111916,34 @@ inline ::pg_query::Node* ConvertRowtypeExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.coercion) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.coercion_; + _impl_.coercion_ = nullptr; return temp; } -inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.coercion_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.coercion_; } -inline ::pg_query::Node* ConvertRowtypeExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.xpr) +inline ::pg_query::Node* JsonConstructorExpr::mutable_coercion() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_coercion(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.coercion) return _msg; } -inline void ConvertRowtypeExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonConstructorExpr::set_allocated_coercion(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.coercion_); } if (value != nullptr) { @@ -101088,54 +111951,54 @@ inline void ConvertRowtypeExpr::set_allocated_xpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.xpr) + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.coercion) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool ConvertRowtypeExpr::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// .pg_query.JsonReturning returning = 6 [json_name = "returning"]; +inline bool JsonConstructorExpr::has_returning() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); return value; } -inline void ConvertRowtypeExpr::clear_arg() { +inline void JsonConstructorExpr::clear_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_arg() const { +inline const ::pg_query::JsonReturning& JsonConstructorExpr::_internal_returning() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); } -inline const ::pg_query::Node& ConvertRowtypeExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.arg) - return _internal_arg(); +inline const ::pg_query::JsonReturning& JsonConstructorExpr::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.returning) + return _internal_returning(); } -inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void JsonConstructorExpr::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.returning) } -inline ::pg_query::Node* ConvertRowtypeExpr::release_arg() { +inline ::pg_query::JsonReturning* JsonConstructorExpr::release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101149,114 +112012,114 @@ inline ::pg_query::Node* ConvertRowtypeExpr::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_arg() { +inline ::pg_query::JsonReturning* JsonConstructorExpr::unsafe_arena_release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.arg) + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.returning) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; return temp; } -inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_arg() { +inline ::pg_query::JsonReturning* JsonConstructorExpr::_internal_mutable_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); } - return _impl_.arg_; + return _impl_.returning_; } -inline ::pg_query::Node* ConvertRowtypeExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.arg) +inline ::pg_query::JsonReturning* JsonConstructorExpr::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.returning) return _msg; } -inline void ConvertRowtypeExpr::set_allocated_arg(::pg_query::Node* value) { +inline void JsonConstructorExpr::set_allocated_returning(::pg_query::JsonReturning* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.arg) + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.returning) } -// uint32 resulttype = 3 [json_name = "resulttype"]; -inline void ConvertRowtypeExpr::clear_resulttype() { +// bool absent_on_null = 7 [json_name = "absent_on_null"]; +inline void JsonConstructorExpr::clear_absent_on_null() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; + _impl_.absent_on_null_ = false; } -inline ::uint32_t ConvertRowtypeExpr::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.resulttype) - return _internal_resulttype(); +inline bool JsonConstructorExpr::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.absent_on_null) + return _internal_absent_on_null(); } -inline void ConvertRowtypeExpr::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.resulttype) +inline void JsonConstructorExpr::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.absent_on_null) } -inline ::uint32_t ConvertRowtypeExpr::_internal_resulttype() const { +inline bool JsonConstructorExpr::_internal_absent_on_null() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; + return _impl_.absent_on_null_; } -inline void ConvertRowtypeExpr::_internal_set_resulttype(::uint32_t value) { +inline void JsonConstructorExpr::_internal_set_absent_on_null(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resulttype_ = value; + _impl_.absent_on_null_ = value; } -// .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"]; -inline void ConvertRowtypeExpr::clear_convertformat() { +// bool unique = 8 [json_name = "unique"]; +inline void JsonConstructorExpr::clear_unique() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.convertformat_ = 0; + _impl_.unique_ = false; } -inline ::pg_query::CoercionForm ConvertRowtypeExpr::convertformat() const { - // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.convertformat) - return _internal_convertformat(); +inline bool JsonConstructorExpr::unique() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.unique) + return _internal_unique(); } -inline void ConvertRowtypeExpr::set_convertformat(::pg_query::CoercionForm value) { - _internal_set_convertformat(value); - // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.convertformat) +inline void JsonConstructorExpr::set_unique(bool value) { + _internal_set_unique(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.unique) } -inline ::pg_query::CoercionForm ConvertRowtypeExpr::_internal_convertformat() const { +inline bool JsonConstructorExpr::_internal_unique() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.convertformat_); + return _impl_.unique_; } -inline void ConvertRowtypeExpr::_internal_set_convertformat(::pg_query::CoercionForm value) { +inline void JsonConstructorExpr::_internal_set_unique(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.convertformat_ = value; + _impl_.unique_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void ConvertRowtypeExpr::clear_location() { +// int32 location = 9 [json_name = "location"]; +inline void JsonConstructorExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t ConvertRowtypeExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.location) +inline ::int32_t JsonConstructorExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.location) return _internal_location(); } -inline void ConvertRowtypeExpr::set_location(::int32_t value) { +inline void JsonConstructorExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.location) + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.location) } -inline ::int32_t ConvertRowtypeExpr::_internal_location() const { +inline ::int32_t JsonConstructorExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void ConvertRowtypeExpr::_internal_set_location(::int32_t value) { +inline void JsonConstructorExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -101264,47 +112127,47 @@ inline void ConvertRowtypeExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// CollateExpr +// JsonIsPredicate -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CollateExpr::has_xpr() const { +// .pg_query.Node expr = 1 [json_name = "expr"]; +inline bool JsonIsPredicate::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void CollateExpr::clear_xpr() { +inline void JsonIsPredicate::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CollateExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonIsPredicate::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CollateExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CollateExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonIsPredicate::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.expr) + return _internal_expr(); } -inline void CollateExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonIsPredicate::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.expr) } -inline ::pg_query::Node* CollateExpr::release_xpr() { +inline ::pg_query::Node* JsonIsPredicate::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101318,34 +112181,34 @@ inline ::pg_query::Node* CollateExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CollateExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonIsPredicate::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CollateExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* CollateExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonIsPredicate::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.expr_; } -inline ::pg_query::Node* CollateExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.xpr) +inline ::pg_query::Node* JsonIsPredicate::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.expr) return _msg; } -inline void CollateExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonIsPredicate::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { @@ -101358,49 +112221,49 @@ inline void CollateExpr::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.xpr) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.expr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CollateExpr::has_arg() const { +// .pg_query.JsonFormat format = 2 [json_name = "format"]; +inline bool JsonIsPredicate::has_format() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); return value; } -inline void CollateExpr::clear_arg() { +inline void JsonIsPredicate::clear_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CollateExpr::_internal_arg() const { +inline const ::pg_query::JsonFormat& JsonIsPredicate::_internal_format() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::Node& CollateExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CollateExpr.arg) - return _internal_arg(); +inline const ::pg_query::JsonFormat& JsonIsPredicate::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.format) + return _internal_format(); } -inline void CollateExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void JsonIsPredicate::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.format) } -inline ::pg_query::Node* CollateExpr::release_arg() { +inline ::pg_query::JsonFormat* JsonIsPredicate::release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101414,38 +112277,38 @@ inline ::pg_query::Node* CollateExpr::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CollateExpr::unsafe_arena_release_arg() { +inline ::pg_query::JsonFormat* JsonIsPredicate::unsafe_arena_release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CollateExpr.arg) + // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.format) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::Node* CollateExpr::_internal_mutable_arg() { +inline ::pg_query::JsonFormat* JsonIsPredicate::_internal_mutable_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.arg_; + return _impl_.format_; } -inline ::pg_query::Node* CollateExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.arg) +inline ::pg_query::JsonFormat* JsonIsPredicate::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.format) return _msg; } -inline void CollateExpr::set_allocated_arg(::pg_query::Node* value) { +inline void JsonIsPredicate::set_allocated_format(::pg_query::JsonFormat* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -101454,51 +112317,74 @@ inline void CollateExpr::set_allocated_arg(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.arg) + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.format) } -// uint32 coll_oid = 3 [json_name = "collOid"]; -inline void CollateExpr::clear_coll_oid() { +// .pg_query.JsonValueType item_type = 3 [json_name = "item_type"]; +inline void JsonIsPredicate::clear_item_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coll_oid_ = 0u; + _impl_.item_type_ = 0; } -inline ::uint32_t CollateExpr::coll_oid() const { - // @@protoc_insertion_point(field_get:pg_query.CollateExpr.coll_oid) - return _internal_coll_oid(); +inline ::pg_query::JsonValueType JsonIsPredicate::item_type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.item_type) + return _internal_item_type(); } -inline void CollateExpr::set_coll_oid(::uint32_t value) { - _internal_set_coll_oid(value); - // @@protoc_insertion_point(field_set:pg_query.CollateExpr.coll_oid) +inline void JsonIsPredicate::set_item_type(::pg_query::JsonValueType value) { + _internal_set_item_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.item_type) } -inline ::uint32_t CollateExpr::_internal_coll_oid() const { +inline ::pg_query::JsonValueType JsonIsPredicate::_internal_item_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coll_oid_; + return static_cast<::pg_query::JsonValueType>(_impl_.item_type_); } -inline void CollateExpr::_internal_set_coll_oid(::uint32_t value) { +inline void JsonIsPredicate::_internal_set_item_type(::pg_query::JsonValueType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.coll_oid_ = value; + _impl_.item_type_ = value; } -// int32 location = 4 [json_name = "location"]; -inline void CollateExpr::clear_location() { +// bool unique_keys = 4 [json_name = "unique_keys"]; +inline void JsonIsPredicate::clear_unique_keys() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_keys_ = false; +} +inline bool JsonIsPredicate::unique_keys() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.unique_keys) + return _internal_unique_keys(); +} +inline void JsonIsPredicate::set_unique_keys(bool value) { + _internal_set_unique_keys(value); + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.unique_keys) +} +inline bool JsonIsPredicate::_internal_unique_keys() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_keys_; +} +inline void JsonIsPredicate::_internal_set_unique_keys(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_keys_ = value; +} + +// int32 location = 5 [json_name = "location"]; +inline void JsonIsPredicate::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t CollateExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.CollateExpr.location) +inline ::int32_t JsonIsPredicate::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.location) return _internal_location(); } -inline void CollateExpr::set_location(::int32_t value) { +inline void JsonIsPredicate::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CollateExpr.location) + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.location) } -inline ::int32_t CollateExpr::_internal_location() const { +inline ::int32_t JsonIsPredicate::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void CollateExpr::_internal_set_location(::int32_t value) { +inline void JsonIsPredicate::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -101506,47 +112392,70 @@ inline void CollateExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// CaseExpr +// JsonBehavior -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseExpr::has_xpr() const { +// .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"]; +inline void JsonBehavior::clear_btype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.btype_ = 0; +} +inline ::pg_query::JsonBehaviorType JsonBehavior::btype() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.btype) + return _internal_btype(); +} +inline void JsonBehavior::set_btype(::pg_query::JsonBehaviorType value) { + _internal_set_btype(value); + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.btype) +} +inline ::pg_query::JsonBehaviorType JsonBehavior::_internal_btype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonBehaviorType>(_impl_.btype_); +} +inline void JsonBehavior::_internal_set_btype(::pg_query::JsonBehaviorType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.btype_ = value; +} + +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool JsonBehavior::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void CaseExpr::clear_xpr() { +inline void JsonBehavior::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CaseExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonBehavior::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonBehavior::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.expr) + return _internal_expr(); } -inline void CaseExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonBehavior::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonBehavior.expr) } -inline ::pg_query::Node* CaseExpr::release_xpr() { +inline ::pg_query::Node* JsonBehavior::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101560,34 +112469,34 @@ inline ::pg_query::Node* CaseExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonBehavior::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonBehavior.expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* CaseExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonBehavior::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.expr_; } -inline ::pg_query::Node* CaseExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.xpr) +inline ::pg_query::Node* JsonBehavior::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonBehavior.expr) return _msg; } -inline void CaseExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonBehavior::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { @@ -101600,95 +112509,99 @@ inline void CaseExpr::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.xpr) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonBehavior.expr) } -// uint32 casetype = 2 [json_name = "casetype"]; -inline void CaseExpr::clear_casetype() { +// bool coerce = 3 [json_name = "coerce"]; +inline void JsonBehavior::clear_coerce() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.casetype_ = 0u; + _impl_.coerce_ = false; } -inline ::uint32_t CaseExpr::casetype() const { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casetype) - return _internal_casetype(); +inline bool JsonBehavior::coerce() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.coerce) + return _internal_coerce(); } -inline void CaseExpr::set_casetype(::uint32_t value) { - _internal_set_casetype(value); - // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casetype) +inline void JsonBehavior::set_coerce(bool value) { + _internal_set_coerce(value); + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.coerce) } -inline ::uint32_t CaseExpr::_internal_casetype() const { +inline bool JsonBehavior::_internal_coerce() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.casetype_; + return _impl_.coerce_; } -inline void CaseExpr::_internal_set_casetype(::uint32_t value) { +inline void JsonBehavior::_internal_set_coerce(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.casetype_ = value; + _impl_.coerce_ = value; } -// uint32 casecollid = 3 [json_name = "casecollid"]; -inline void CaseExpr::clear_casecollid() { +// int32 location = 4 [json_name = "location"]; +inline void JsonBehavior::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.casecollid_ = 0u; + _impl_.location_ = 0; } -inline ::uint32_t CaseExpr::casecollid() const { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casecollid) - return _internal_casecollid(); +inline ::int32_t JsonBehavior::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.location) + return _internal_location(); } -inline void CaseExpr::set_casecollid(::uint32_t value) { - _internal_set_casecollid(value); - // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casecollid) +inline void JsonBehavior::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.location) } -inline ::uint32_t CaseExpr::_internal_casecollid() const { +inline ::int32_t JsonBehavior::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.casecollid_; + return _impl_.location_; } -inline void CaseExpr::_internal_set_casecollid(::uint32_t value) { +inline void JsonBehavior::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.casecollid_ = value; + _impl_.location_ = value; } -// .pg_query.Node arg = 4 [json_name = "arg"]; -inline bool CaseExpr::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// ------------------------------------------------------------------- + +// JsonExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool JsonExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void CaseExpr::clear_arg() { +inline void JsonExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CaseExpr::_internal_arg() const { +inline const ::pg_query::Node& JsonExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.arg) - return _internal_arg(); +inline const ::pg_query::Node& JsonExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.xpr) + return _internal_xpr(); } -inline void CaseExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.xpr) } -inline ::pg_query::Node* CaseExpr::release_arg() { +inline ::pg_query::Node* JsonExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101702,34 +112615,34 @@ inline ::pg_query::Node* CaseExpr::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseExpr::unsafe_arena_release_arg() { +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseExpr.arg) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.xpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* CaseExpr::_internal_mutable_arg() { +inline ::pg_query::Node* JsonExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.xpr_; } -inline ::pg_query::Node* CaseExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.arg) +inline ::pg_query::Node* JsonExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.xpr) return _msg; } -inline void CaseExpr::set_allocated_arg(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -101737,103 +112650,130 @@ inline void CaseExpr::set_allocated_arg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.arg) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.xpr) } -// repeated .pg_query.Node args = 5 [json_name = "args"]; -inline int CaseExpr::_internal_args_size() const { - return _internal_args().size(); +// .pg_query.JsonExprOp op = 2 [json_name = "op"]; +inline void JsonExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline int CaseExpr::args_size() const { - return _internal_args_size(); +inline ::pg_query::JsonExprOp JsonExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.op) + return _internal_op(); } -inline void CaseExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); +inline void JsonExpr::set_op(::pg_query::JsonExprOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.op) } -inline ::pg_query::Node* CaseExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.args) - return _internal_mutable_args()->Mutable(index); +inline ::pg_query::JsonExprOp JsonExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonExprOp>(_impl_.op_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CaseExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CaseExpr.args) +inline void JsonExpr::_internal_set_op(::pg_query::JsonExprOp value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + ; + _impl_.op_ = value; } -inline const ::pg_query::Node& CaseExpr::args(int index) const + +// string column_name = 3 [json_name = "column_name"]; +inline void JsonExpr::clear_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.ClearToEmpty(); +} +inline const std::string& JsonExpr::column_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.column_name) + return _internal_column_name(); } -inline ::pg_query::Node* CaseExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +template +inline PROTOBUF_ALWAYS_INLINE void JsonExpr::set_column_name(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CaseExpr.args) - return _add; + ; + _impl_.column_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.column_name) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CaseExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CaseExpr.args) - return _internal_args(); +inline std::string* JsonExpr::mutable_column_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_column_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.column_name) + return _s; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CaseExpr::_internal_args() const { +inline const std::string& JsonExpr::_internal_column_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.column_name_.Get(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CaseExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; +inline void JsonExpr::_internal_set_column_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.column_name_.Set(value, GetArena()); +} +inline std::string* JsonExpr::_internal_mutable_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.column_name_.Mutable( GetArena()); +} +inline std::string* JsonExpr::release_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.column_name) + return _impl_.column_name_.Release(); +} +inline void JsonExpr::set_allocated_column_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.column_name_.IsDefault()) { + _impl_.column_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.column_name) } -// .pg_query.Node defresult = 6 [json_name = "defresult"]; -inline bool CaseExpr::has_defresult() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.defresult_ != nullptr); +// .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"]; +inline bool JsonExpr::has_formatted_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.formatted_expr_ != nullptr); return value; } -inline void CaseExpr::clear_defresult() { +inline void JsonExpr::clear_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.defresult_ != nullptr) _impl_.defresult_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.formatted_expr_ != nullptr) _impl_.formatted_expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CaseExpr::_internal_defresult() const { +inline const ::pg_query::Node& JsonExpr::_internal_formatted_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.defresult_; + const ::pg_query::Node* p = _impl_.formatted_expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::defresult() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.defresult) - return _internal_defresult(); +inline const ::pg_query::Node& JsonExpr::formatted_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.formatted_expr) + return _internal_formatted_expr(); } -inline void CaseExpr::unsafe_arena_set_allocated_defresult(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.defresult_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.formatted_expr_); } - _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.defresult) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.formatted_expr) } -inline ::pg_query::Node* CaseExpr::release_defresult() { +inline ::pg_query::Node* JsonExpr::release_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.defresult_; - _impl_.defresult_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101847,34 +112787,34 @@ inline ::pg_query::Node* CaseExpr::release_defresult() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseExpr::unsafe_arena_release_defresult() { +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseExpr.defresult) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.formatted_expr) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.defresult_; - _impl_.defresult_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; return temp; } -inline ::pg_query::Node* CaseExpr::_internal_mutable_defresult() { +inline ::pg_query::Node* JsonExpr::_internal_mutable_formatted_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.defresult_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.formatted_expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.defresult_; + return _impl_.formatted_expr_; } -inline ::pg_query::Node* CaseExpr::mutable_defresult() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_defresult(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.defresult) +inline ::pg_query::Node* JsonExpr::mutable_formatted_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_formatted_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.formatted_expr) return _msg; } -inline void CaseExpr::set_allocated_defresult(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_formatted_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.defresult_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.formatted_expr_); } if (value != nullptr) { @@ -101882,81 +112822,54 @@ inline void CaseExpr::set_allocated_defresult(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.defresult) -} - -// int32 location = 7 [json_name = "location"]; -inline void CaseExpr::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t CaseExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.CaseExpr.location) - return _internal_location(); -} -inline void CaseExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CaseExpr.location) -} -inline ::int32_t CaseExpr::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void CaseExpr::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.formatted_expr) } -// ------------------------------------------------------------------- - -// CaseWhen - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseWhen::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.JsonFormat format = 5 [json_name = "format"]; +inline bool JsonExpr::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); return value; } -inline void CaseWhen::clear_xpr() { +inline void JsonExpr::clear_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& CaseWhen::_internal_xpr() const { +inline const ::pg_query::JsonFormat& JsonExpr::_internal_format() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::Node& CaseWhen::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseWhen.xpr) - return _internal_xpr(); +inline const ::pg_query::JsonFormat& JsonExpr::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.format) + return _internal_format(); } -inline void CaseWhen::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.format) } -inline ::pg_query::Node* CaseWhen::release_xpr() { +inline ::pg_query::JsonFormat* JsonExpr::release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -101970,89 +112883,89 @@ inline ::pg_query::Node* CaseWhen::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseWhen::unsafe_arena_release_xpr() { +inline ::pg_query::JsonFormat* JsonExpr::unsafe_arena_release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseWhen.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.format) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::Node* CaseWhen::_internal_mutable_xpr() { +inline ::pg_query::JsonFormat* JsonExpr::_internal_mutable_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.xpr_; + return _impl_.format_; } -inline ::pg_query::Node* CaseWhen::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.xpr) +inline ::pg_query::JsonFormat* JsonExpr::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.format) return _msg; } -inline void CaseWhen::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_format(::pg_query::JsonFormat* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.xpr) + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.format) } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool CaseWhen::has_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); +// .pg_query.Node path_spec = 6 [json_name = "path_spec"]; +inline bool JsonExpr::has_path_spec() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.path_spec_ != nullptr); return value; } -inline void CaseWhen::clear_expr() { +inline void JsonExpr::clear_path_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.path_spec_ != nullptr) _impl_.path_spec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& CaseWhen::_internal_expr() const { +inline const ::pg_query::Node& JsonExpr::_internal_path_spec() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; + const ::pg_query::Node* p = _impl_.path_spec_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseWhen::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseWhen.expr) - return _internal_expr(); +inline const ::pg_query::Node& JsonExpr::path_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.path_spec) + return _internal_path_spec(); } -inline void CaseWhen::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_path_spec(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.path_spec_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.path_spec) } -inline ::pg_query::Node* CaseWhen::release_expr() { +inline ::pg_query::Node* JsonExpr::release_path_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* released = _impl_.path_spec_; + _impl_.path_spec_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -102066,34 +112979,34 @@ inline ::pg_query::Node* CaseWhen::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseWhen::unsafe_arena_release_expr() { +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_path_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseWhen.expr) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.path_spec) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* temp = _impl_.path_spec_; + _impl_.path_spec_ = nullptr; return temp; } -inline ::pg_query::Node* CaseWhen::_internal_mutable_expr() { +inline ::pg_query::Node* JsonExpr::_internal_mutable_path_spec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.expr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.path_spec_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.expr_; + return _impl_.path_spec_; } -inline ::pg_query::Node* CaseWhen::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.expr) +inline ::pg_query::Node* JsonExpr::mutable_path_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_path_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.path_spec) return _msg; } -inline void CaseWhen::set_allocated_expr(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_path_spec(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.path_spec_); } if (value != nullptr) { @@ -102101,54 +113014,54 @@ inline void CaseWhen::set_allocated_expr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.expr) + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.path_spec) } -// .pg_query.Node result = 3 [json_name = "result"]; -inline bool CaseWhen::has_result() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.result_ != nullptr); +// .pg_query.JsonReturning returning = 7 [json_name = "returning"]; +inline bool JsonExpr::has_returning() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); return value; } -inline void CaseWhen::clear_result() { +inline void JsonExpr::clear_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.result_ != nullptr) _impl_.result_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& CaseWhen::_internal_result() const { +inline const ::pg_query::JsonReturning& JsonExpr::_internal_returning() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.result_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); } -inline const ::pg_query::Node& CaseWhen::result() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseWhen.result) - return _internal_result(); +inline const ::pg_query::JsonReturning& JsonExpr::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.returning) + return _internal_returning(); } -inline void CaseWhen::unsafe_arena_set_allocated_result(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); } - _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.result) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.returning) } -inline ::pg_query::Node* CaseWhen::release_result() { +inline ::pg_query::JsonReturning* JsonExpr::release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.result_; - _impl_.result_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -102162,285 +113075,283 @@ inline ::pg_query::Node* CaseWhen::release_result() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CaseWhen::unsafe_arena_release_result() { +inline ::pg_query::JsonReturning* JsonExpr::unsafe_arena_release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseWhen.result) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.returning) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.result_; - _impl_.result_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; return temp; } -inline ::pg_query::Node* CaseWhen::_internal_mutable_result() { +inline ::pg_query::JsonReturning* JsonExpr::_internal_mutable_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.result_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.result_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); } - return _impl_.result_; + return _impl_.returning_; } -inline ::pg_query::Node* CaseWhen::mutable_result() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_result(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.result) +inline ::pg_query::JsonReturning* JsonExpr::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.returning) return _msg; } -inline void CaseWhen::set_allocated_result(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_returning(::pg_query::JsonReturning* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.result_); + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.result) + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.returning) } -// int32 location = 4 [json_name = "location"]; -inline void CaseWhen::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; +// repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"]; +inline int JsonExpr::_internal_passing_names_size() const { + return _internal_passing_names().size(); } -inline ::int32_t CaseWhen::location() const { - // @@protoc_insertion_point(field_get:pg_query.CaseWhen.location) - return _internal_location(); +inline int JsonExpr::passing_names_size() const { + return _internal_passing_names_size(); } -inline void CaseWhen::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CaseWhen.location) +inline void JsonExpr::clear_passing_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_names_.Clear(); } -inline ::int32_t CaseWhen::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline ::pg_query::Node* JsonExpr::mutable_passing_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.passing_names) + return _internal_mutable_passing_names()->Mutable(index); } -inline void CaseWhen::_internal_set_location(::int32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonExpr::mutable_passing_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonExpr.passing_names) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + return _internal_mutable_passing_names(); } - -// ------------------------------------------------------------------- - -// CaseTestExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseTestExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); - return value; +inline const ::pg_query::Node& JsonExpr::passing_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.passing_names) + return _internal_passing_names().Get(index); } -inline void CaseTestExpr::clear_xpr() { +inline ::pg_query::Node* JsonExpr::add_passing_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* _add = _internal_mutable_passing_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonExpr.passing_names) + return _add; } -inline const ::pg_query::Node& CaseTestExpr::_internal_xpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonExpr::passing_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonExpr.passing_names) + return _internal_passing_names(); } -inline const ::pg_query::Node& CaseTestExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.xpr) - return _internal_xpr(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonExpr::_internal_passing_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_names_; } -inline void CaseTestExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); - } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseTestExpr.xpr) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonExpr::_internal_mutable_passing_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_names_; } -inline ::pg_query::Node* CaseTestExpr::release_xpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"]; +inline int JsonExpr::_internal_passing_values_size() const { + return _internal_passing_values().size(); } -inline ::pg_query::Node* CaseTestExpr::unsafe_arena_release_xpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CaseTestExpr.xpr) - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; - return temp; +inline int JsonExpr::passing_values_size() const { + return _internal_passing_values_size(); } -inline ::pg_query::Node* CaseTestExpr::_internal_mutable_xpr() { +inline void JsonExpr::clear_passing_values() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.xpr_; + _impl_.passing_values_.Clear(); } -inline ::pg_query::Node* CaseTestExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CaseTestExpr.xpr) - return _msg; -} -inline void CaseTestExpr::set_allocated_xpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CaseTestExpr.xpr) +inline ::pg_query::Node* JsonExpr::mutable_passing_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.passing_values) + return _internal_mutable_passing_values()->Mutable(index); } - -// uint32 type_id = 2 [json_name = "typeId"]; -inline void CaseTestExpr::clear_type_id() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonExpr::mutable_passing_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonExpr.passing_values) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_id_ = 0u; + return _internal_mutable_passing_values(); } -inline ::uint32_t CaseTestExpr::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_id) - return _internal_type_id(); +inline const ::pg_query::Node& JsonExpr::passing_values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.passing_values) + return _internal_passing_values().Get(index); } -inline void CaseTestExpr::set_type_id(::uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_id) +inline ::pg_query::Node* JsonExpr::add_passing_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing_values()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonExpr.passing_values) + return _add; } -inline ::uint32_t CaseTestExpr::_internal_type_id() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_id_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonExpr::passing_values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonExpr.passing_values) + return _internal_passing_values(); } -inline void CaseTestExpr::_internal_set_type_id(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_id_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonExpr::_internal_passing_values() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_values_; } - -// int32 type_mod = 3 [json_name = "typeMod"]; -inline void CaseTestExpr::clear_type_mod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_mod_ = 0; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonExpr::_internal_mutable_passing_values() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_values_; } -inline ::int32_t CaseTestExpr::type_mod() const { - // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_mod) - return _internal_type_mod(); + +// .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"]; +inline bool JsonExpr::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); + return value; } -inline void CaseTestExpr::set_type_mod(::int32_t value) { - _internal_set_type_mod(value); - // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_mod) +inline void JsonExpr::clear_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline ::int32_t CaseTestExpr::_internal_type_mod() const { +inline const ::pg_query::JsonBehavior& JsonExpr::_internal_on_empty() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_mod_; + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline void CaseTestExpr::_internal_set_type_mod(::int32_t value) { +inline const ::pg_query::JsonBehavior& JsonExpr::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.on_empty) + return _internal_on_empty(); +} +inline void JsonExpr::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_mod_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); + } + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.on_empty) } - -// uint32 collation = 4 [json_name = "collation"]; -inline void CaseTestExpr::clear_collation() { +inline ::pg_query::JsonBehavior* JsonExpr::release_on_empty() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collation_ = 0u; + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t CaseTestExpr::collation() const { - // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.collation) - return _internal_collation(); +inline ::pg_query::JsonBehavior* JsonExpr::unsafe_arena_release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.on_empty) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; + return temp; } -inline void CaseTestExpr::set_collation(::uint32_t value) { - _internal_set_collation(value); - // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.collation) +inline ::pg_query::JsonBehavior* JsonExpr::_internal_mutable_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_empty_; } -inline ::uint32_t CaseTestExpr::_internal_collation() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collation_; +inline ::pg_query::JsonBehavior* JsonExpr::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.on_empty) + return _msg; } -inline void CaseTestExpr::_internal_set_collation(::uint32_t value) { +inline void JsonExpr::set_allocated_on_empty(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.collation_ = value; -} + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } -// ArrayExpr + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.on_empty) +} -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ArrayExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"]; +inline bool JsonExpr::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); return value; } -inline void ArrayExpr::clear_xpr() { +inline void JsonExpr::clear_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000040u; } -inline const ::pg_query::Node& ArrayExpr::_internal_xpr() const { +inline const ::pg_query::JsonBehavior& JsonExpr::_internal_on_error() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::Node& ArrayExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::JsonBehavior& JsonExpr::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.on_error) + return _internal_on_error(); } -inline void ArrayExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonExpr::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000040u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000040u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.on_error) } -inline ::pg_query::Node* ArrayExpr::release_xpr() { +inline ::pg_query::JsonBehavior* JsonExpr::release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -102454,209 +113365,183 @@ inline ::pg_query::Node* ArrayExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ArrayExpr::unsafe_arena_release_xpr() { +inline ::pg_query::JsonBehavior* JsonExpr::unsafe_arena_release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ArrayExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.on_error) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; return temp; } -inline ::pg_query::Node* ArrayExpr::_internal_mutable_xpr() { +inline ::pg_query::JsonBehavior* JsonExpr::_internal_mutable_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000040u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.xpr_; + return _impl_.on_error_; } -inline ::pg_query::Node* ArrayExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.xpr) +inline ::pg_query::JsonBehavior* JsonExpr::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.on_error) return _msg; } -inline void ArrayExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonExpr::set_allocated_on_error(::pg_query::JsonBehavior* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000040u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000040u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayExpr.xpr) + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.on_error) } -// uint32 array_typeid = 2 [json_name = "array_typeid"]; -inline void ArrayExpr::clear_array_typeid() { +// bool use_io_coercion = 12 [json_name = "use_io_coercion"]; +inline void JsonExpr::clear_use_io_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.array_typeid_ = 0u; + _impl_.use_io_coercion_ = false; } -inline ::uint32_t ArrayExpr::array_typeid() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_typeid) - return _internal_array_typeid(); +inline bool JsonExpr::use_io_coercion() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.use_io_coercion) + return _internal_use_io_coercion(); } -inline void ArrayExpr::set_array_typeid(::uint32_t value) { - _internal_set_array_typeid(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_typeid) +inline void JsonExpr::set_use_io_coercion(bool value) { + _internal_set_use_io_coercion(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.use_io_coercion) } -inline ::uint32_t ArrayExpr::_internal_array_typeid() const { +inline bool JsonExpr::_internal_use_io_coercion() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.array_typeid_; + return _impl_.use_io_coercion_; } -inline void ArrayExpr::_internal_set_array_typeid(::uint32_t value) { +inline void JsonExpr::_internal_set_use_io_coercion(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.array_typeid_ = value; + _impl_.use_io_coercion_ = value; } -// uint32 array_collid = 3 [json_name = "array_collid"]; -inline void ArrayExpr::clear_array_collid() { +// bool use_json_coercion = 13 [json_name = "use_json_coercion"]; +inline void JsonExpr::clear_use_json_coercion() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.array_collid_ = 0u; + _impl_.use_json_coercion_ = false; } -inline ::uint32_t ArrayExpr::array_collid() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_collid) - return _internal_array_collid(); +inline bool JsonExpr::use_json_coercion() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.use_json_coercion) + return _internal_use_json_coercion(); } -inline void ArrayExpr::set_array_collid(::uint32_t value) { - _internal_set_array_collid(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_collid) +inline void JsonExpr::set_use_json_coercion(bool value) { + _internal_set_use_json_coercion(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.use_json_coercion) } -inline ::uint32_t ArrayExpr::_internal_array_collid() const { +inline bool JsonExpr::_internal_use_json_coercion() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.array_collid_; + return _impl_.use_json_coercion_; } -inline void ArrayExpr::_internal_set_array_collid(::uint32_t value) { +inline void JsonExpr::_internal_set_use_json_coercion(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.array_collid_ = value; + _impl_.use_json_coercion_ = value; } -// uint32 element_typeid = 4 [json_name = "element_typeid"]; -inline void ArrayExpr::clear_element_typeid() { +// .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"]; +inline void JsonExpr::clear_wrapper() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.element_typeid_ = 0u; + _impl_.wrapper_ = 0; } -inline ::uint32_t ArrayExpr::element_typeid() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.element_typeid) - return _internal_element_typeid(); +inline ::pg_query::JsonWrapper JsonExpr::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.wrapper) + return _internal_wrapper(); } -inline void ArrayExpr::set_element_typeid(::uint32_t value) { - _internal_set_element_typeid(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.element_typeid) +inline void JsonExpr::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.wrapper) } -inline ::uint32_t ArrayExpr::_internal_element_typeid() const { +inline ::pg_query::JsonWrapper JsonExpr::_internal_wrapper() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.element_typeid_; + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); } -inline void ArrayExpr::_internal_set_element_typeid(::uint32_t value) { +inline void JsonExpr::_internal_set_wrapper(::pg_query::JsonWrapper value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.element_typeid_ = value; + _impl_.wrapper_ = value; } -// repeated .pg_query.Node elements = 5 [json_name = "elements"]; -inline int ArrayExpr::_internal_elements_size() const { - return _internal_elements().size(); -} -inline int ArrayExpr::elements_size() const { - return _internal_elements_size(); -} -inline void ArrayExpr::clear_elements() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.elements_.Clear(); -} -inline ::pg_query::Node* ArrayExpr::mutable_elements(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.elements) - return _internal_mutable_elements()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ArrayExpr::mutable_elements() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ArrayExpr.elements) +// bool omit_quotes = 15 [json_name = "omit_quotes"]; +inline void JsonExpr::clear_omit_quotes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_elements(); -} -inline const ::pg_query::Node& ArrayExpr::elements(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.elements) - return _internal_elements().Get(index); + _impl_.omit_quotes_ = false; } -inline ::pg_query::Node* ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_elements()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ArrayExpr.elements) - return _add; +inline bool JsonExpr::omit_quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.omit_quotes) + return _internal_omit_quotes(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ArrayExpr::elements() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ArrayExpr.elements) - return _internal_elements(); +inline void JsonExpr::set_omit_quotes(bool value) { + _internal_set_omit_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.omit_quotes) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ArrayExpr::_internal_elements() const { +inline bool JsonExpr::_internal_omit_quotes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.elements_; + return _impl_.omit_quotes_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ArrayExpr::_internal_mutable_elements() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.elements_; +inline void JsonExpr::_internal_set_omit_quotes(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.omit_quotes_ = value; } -// bool multidims = 6 [json_name = "multidims"]; -inline void ArrayExpr::clear_multidims() { +// uint32 collation = 16 [json_name = "collation"]; +inline void JsonExpr::clear_collation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.multidims_ = false; + _impl_.collation_ = 0u; } -inline bool ArrayExpr::multidims() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.multidims) - return _internal_multidims(); +inline ::uint32_t JsonExpr::collation() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.collation) + return _internal_collation(); } -inline void ArrayExpr::set_multidims(bool value) { - _internal_set_multidims(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.multidims) +inline void JsonExpr::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.collation) } -inline bool ArrayExpr::_internal_multidims() const { +inline ::uint32_t JsonExpr::_internal_collation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.multidims_; + return _impl_.collation_; } -inline void ArrayExpr::_internal_set_multidims(bool value) { +inline void JsonExpr::_internal_set_collation(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.multidims_ = value; + _impl_.collation_ = value; } -// int32 location = 7 [json_name = "location"]; -inline void ArrayExpr::clear_location() { +// int32 location = 17 [json_name = "location"]; +inline void JsonExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t ArrayExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.location) +inline ::int32_t JsonExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.location) return _internal_location(); } -inline void ArrayExpr::set_location(::int32_t value) { +inline void JsonExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.location) + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.location) } -inline ::int32_t ArrayExpr::_internal_location() const { +inline ::int32_t JsonExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void ArrayExpr::_internal_set_location(::int32_t value) { +inline void JsonExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -102664,47 +113549,104 @@ inline void ArrayExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// RowExpr +// JsonTablePath -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RowExpr::has_xpr() const { +// string name = 1 [json_name = "name"]; +inline void JsonTablePath::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& JsonTablePath::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePath.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void JsonTablePath::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePath.name) +} +inline std::string* JsonTablePath::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePath.name) + return _s; +} +inline const std::string& JsonTablePath::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void JsonTablePath::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* JsonTablePath::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* JsonTablePath::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePath.name) + return _impl_.name_.Release(); +} +inline void JsonTablePath::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePath.name) +} + +// ------------------------------------------------------------------- + +// JsonTablePathScan + +// .pg_query.Node plan = 1 [json_name = "plan"]; +inline bool JsonTablePathScan::has_plan() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); return value; } -inline void RowExpr::clear_xpr() { +inline void JsonTablePathScan::clear_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RowExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonTablePathScan::_internal_plan() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.plan_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RowExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonTablePathScan::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.plan) + return _internal_plan(); } -inline void RowExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonTablePathScan::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.plan) } -inline ::pg_query::Node* RowExpr::release_xpr() { +inline ::pg_query::Node* JsonTablePathScan::release_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -102718,34 +113660,34 @@ inline ::pg_query::Node* RowExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RowExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonTablePathScan::unsafe_arena_release_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RowExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.plan) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; return temp; } -inline ::pg_query::Node* RowExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonTablePathScan::_internal_mutable_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.plan_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.plan_; } -inline ::pg_query::Node* RowExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.xpr) +inline ::pg_query::Node* JsonTablePathScan::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.plan) return _msg; } -inline void RowExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonTablePathScan::set_allocated_plan(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); } if (value != nullptr) { @@ -102758,220 +113700,314 @@ inline void RowExpr::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RowExpr.xpr) + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.plan) } -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int RowExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int RowExpr::args_size() const { - return _internal_args_size(); +// .pg_query.JsonTablePath path = 2 [json_name = "path"]; +inline bool JsonTablePathScan::has_path() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.path_ != nullptr); + return value; } -inline void RowExpr::clear_args() { +inline void JsonTablePathScan::clear_path() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + if (_impl_.path_ != nullptr) _impl_.path_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* RowExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.args) - return _internal_mutable_args()->Mutable(index); +inline const ::pg_query::JsonTablePath& JsonTablePathScan::_internal_path() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonTablePath* p = _impl_.path_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePath_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.args) +inline const ::pg_query::JsonTablePath& JsonTablePathScan::path() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.path) + return _internal_path(); +} +inline void JsonTablePathScan::unsafe_arena_set_allocated_path(::pg_query::JsonTablePath* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.path_); + } + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.path) } -inline const ::pg_query::Node& RowExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.args) - return _internal_args().Get(index); +inline ::pg_query::JsonTablePath* JsonTablePathScan::release_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePath* released = _impl_.path_; + _impl_.path_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* RowExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::JsonTablePath* JsonTablePathScan::unsafe_arena_release_path() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowExpr.args) - return _add; + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.path) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePath* temp = _impl_.path_; + _impl_.path_ = nullptr; + return temp; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowExpr.args) - return _internal_args(); +inline ::pg_query::JsonTablePath* JsonTablePathScan::_internal_mutable_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.path_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePath>(GetArena()); + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(p); + } + return _impl_.path_; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; +inline ::pg_query::JsonTablePath* JsonTablePathScan::mutable_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePath* _msg = _internal_mutable_path(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.path) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; +inline void JsonTablePathScan::set_allocated_path(::pg_query::JsonTablePath* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonTablePath*>(_impl_.path_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePath*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.path) } -// uint32 row_typeid = 3 [json_name = "row_typeid"]; -inline void RowExpr::clear_row_typeid() { +// bool error_on_error = 3 [json_name = "errorOnError"]; +inline void JsonTablePathScan::clear_error_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.row_typeid_ = 0u; + _impl_.error_on_error_ = false; } -inline ::uint32_t RowExpr::row_typeid() const { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_typeid) - return _internal_row_typeid(); +inline bool JsonTablePathScan::error_on_error() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.error_on_error) + return _internal_error_on_error(); } -inline void RowExpr::set_row_typeid(::uint32_t value) { - _internal_set_row_typeid(value); - // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_typeid) +inline void JsonTablePathScan::set_error_on_error(bool value) { + _internal_set_error_on_error(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.error_on_error) } -inline ::uint32_t RowExpr::_internal_row_typeid() const { +inline bool JsonTablePathScan::_internal_error_on_error() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.row_typeid_; + return _impl_.error_on_error_; } -inline void RowExpr::_internal_set_row_typeid(::uint32_t value) { +inline void JsonTablePathScan::_internal_set_error_on_error(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.row_typeid_ = value; + _impl_.error_on_error_ = value; } -// .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; -inline void RowExpr::clear_row_format() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.row_format_ = 0; -} -inline ::pg_query::CoercionForm RowExpr::row_format() const { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_format) - return _internal_row_format(); +// .pg_query.Node child = 4 [json_name = "child"]; +inline bool JsonTablePathScan::has_child() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.child_ != nullptr); + return value; } -inline void RowExpr::set_row_format(::pg_query::CoercionForm value) { - _internal_set_row_format(value); - // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_format) +inline void JsonTablePathScan::clear_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.child_ != nullptr) _impl_.child_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline ::pg_query::CoercionForm RowExpr::_internal_row_format() const { +inline const ::pg_query::Node& JsonTablePathScan::_internal_child() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.row_format_); + const ::pg_query::Node* p = _impl_.child_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RowExpr::_internal_set_row_format(::pg_query::CoercionForm value) { +inline const ::pg_query::Node& JsonTablePathScan::child() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.child) + return _internal_child(); +} +inline void JsonTablePathScan::unsafe_arena_set_allocated_child(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.row_format_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.child_); + } + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.child) } +inline ::pg_query::Node* JsonTablePathScan::release_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; -inline int RowExpr::_internal_colnames_size() const { - return _internal_colnames().size(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.child_; + _impl_.child_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int RowExpr::colnames_size() const { - return _internal_colnames_size(); +inline ::pg_query::Node* JsonTablePathScan::unsafe_arena_release_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.child) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.child_; + _impl_.child_ = nullptr; + return temp; } -inline void RowExpr::clear_colnames() { +inline ::pg_query::Node* JsonTablePathScan::_internal_mutable_child() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colnames_.Clear(); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.child_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.child_; } -inline ::pg_query::Node* RowExpr::mutable_colnames(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.colnames) - return _internal_mutable_colnames()->Mutable(index); +inline ::pg_query::Node* JsonTablePathScan::mutable_child() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_child(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.child) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_colnames() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.colnames) +inline void JsonTablePathScan::set_allocated_child(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colnames(); -} -inline const ::pg_query::Node& RowExpr::colnames(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.colnames) - return _internal_colnames().Get(index); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.child_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.child) } -inline ::pg_query::Node* RowExpr::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// int32 col_min = 5 [json_name = "colMin"]; +inline void JsonTablePathScan::clear_col_min() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowExpr.colnames) - return _add; + _impl_.col_min_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::colnames() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowExpr.colnames) - return _internal_colnames(); +inline ::int32_t JsonTablePathScan::col_min() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.col_min) + return _internal_col_min(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowExpr::_internal_colnames() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colnames_; +inline void JsonTablePathScan::set_col_min(::int32_t value) { + _internal_set_col_min(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.col_min) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowExpr::_internal_mutable_colnames() { +inline ::int32_t JsonTablePathScan::_internal_col_min() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colnames_; + return _impl_.col_min_; +} +inline void JsonTablePathScan::_internal_set_col_min(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.col_min_ = value; } -// int32 location = 6 [json_name = "location"]; -inline void RowExpr::clear_location() { +// int32 col_max = 6 [json_name = "colMax"]; +inline void JsonTablePathScan::clear_col_max() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.col_max_ = 0; } -inline ::int32_t RowExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.RowExpr.location) - return _internal_location(); +inline ::int32_t JsonTablePathScan::col_max() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.col_max) + return _internal_col_max(); } -inline void RowExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RowExpr.location) +inline void JsonTablePathScan::set_col_max(::int32_t value) { + _internal_set_col_max(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.col_max) } -inline ::int32_t RowExpr::_internal_location() const { +inline ::int32_t JsonTablePathScan::_internal_col_max() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.col_max_; } -inline void RowExpr::_internal_set_location(::int32_t value) { +inline void JsonTablePathScan::_internal_set_col_max(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.col_max_ = value; } // ------------------------------------------------------------------- -// RowCompareExpr +// JsonTableSiblingJoin -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RowCompareExpr::has_xpr() const { +// .pg_query.Node plan = 1 [json_name = "plan"]; +inline bool JsonTableSiblingJoin::has_plan() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); return value; } -inline void RowCompareExpr::clear_xpr() { +inline void JsonTableSiblingJoin::clear_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RowCompareExpr::_internal_xpr() const { +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_plan() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.plan_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RowCompareExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonTableSiblingJoin::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.plan) + return _internal_plan(); } -inline void RowCompareExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowCompareExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.plan) } -inline ::pg_query::Node* RowCompareExpr::release_xpr() { +inline ::pg_query::Node* JsonTableSiblingJoin::release_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -102985,34 +114021,34 @@ inline ::pg_query::Node* RowCompareExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RowCompareExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RowCompareExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.plan) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; return temp; } -inline ::pg_query::Node* RowCompareExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_plan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.plan_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.plan_; } -inline ::pg_query::Node* RowCompareExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.xpr) +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.plan) return _msg; } -inline void RowCompareExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void JsonTableSiblingJoin::set_allocated_plan(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); } if (value != nullptr) { @@ -103025,303 +114061,227 @@ inline void RowCompareExpr::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RowCompareExpr.xpr) -} - -// .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; -inline void RowCompareExpr::clear_rctype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rctype_ = 0; -} -inline ::pg_query::RowCompareType RowCompareExpr::rctype() const { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rctype) - return _internal_rctype(); -} -inline void RowCompareExpr::set_rctype(::pg_query::RowCompareType value) { - _internal_set_rctype(value); - // @@protoc_insertion_point(field_set:pg_query.RowCompareExpr.rctype) -} -inline ::pg_query::RowCompareType RowCompareExpr::_internal_rctype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::RowCompareType>(_impl_.rctype_); -} -inline void RowCompareExpr::_internal_set_rctype(::pg_query::RowCompareType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.rctype_ = value; + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.plan) } -// repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; -inline int RowCompareExpr::_internal_opnos_size() const { - return _internal_opnos().size(); -} -inline int RowCompareExpr::opnos_size() const { - return _internal_opnos_size(); -} -inline void RowCompareExpr::clear_opnos() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opnos_.Clear(); -} -inline ::pg_query::Node* RowCompareExpr::mutable_opnos(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opnos) - return _internal_mutable_opnos()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opnos() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opnos) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_opnos(); -} -inline const ::pg_query::Node& RowCompareExpr::opnos(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opnos) - return _internal_opnos().Get(index); +// .pg_query.Node lplan = 2 [json_name = "lplan"]; +inline bool JsonTableSiblingJoin::has_lplan() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.lplan_ != nullptr); + return value; } -inline ::pg_query::Node* RowCompareExpr::add_opnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void JsonTableSiblingJoin::clear_lplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_opnos()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opnos) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opnos() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opnos) - return _internal_opnos(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowCompareExpr::_internal_opnos() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opnos_; + if (_impl_.lplan_ != nullptr) _impl_.lplan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowCompareExpr::_internal_mutable_opnos() { +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_lplan() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.opnos_; -} - -// repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; -inline int RowCompareExpr::_internal_opfamilies_size() const { - return _internal_opfamilies().size(); + const ::pg_query::Node* p = _impl_.lplan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline int RowCompareExpr::opfamilies_size() const { - return _internal_opfamilies_size(); +inline const ::pg_query::Node& JsonTableSiblingJoin::lplan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.lplan) + return _internal_lplan(); } -inline void RowCompareExpr::clear_opfamilies() { +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_lplan(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opfamilies_.Clear(); -} -inline ::pg_query::Node* RowCompareExpr::mutable_opfamilies(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opfamilies) - return _internal_mutable_opfamilies()->Mutable(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lplan_); + } + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.lplan) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opfamilies() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opfamilies) +inline ::pg_query::Node* JsonTableSiblingJoin::release_lplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_opfamilies(); -} -inline const ::pg_query::Node& RowCompareExpr::opfamilies(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opfamilies) - return _internal_opfamilies().Get(index); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.lplan_; + _impl_.lplan_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* RowCompareExpr::add_opfamilies() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_lplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_opfamilies()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opfamilies) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opfamilies() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opfamilies) - return _internal_opfamilies(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowCompareExpr::_internal_opfamilies() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opfamilies_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowCompareExpr::_internal_mutable_opfamilies() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.opfamilies_; -} + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.lplan) -// repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; -inline int RowCompareExpr::_internal_inputcollids_size() const { - return _internal_inputcollids().size(); -} -inline int RowCompareExpr::inputcollids_size() const { - return _internal_inputcollids_size(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.lplan_; + _impl_.lplan_ = nullptr; + return temp; } -inline void RowCompareExpr::clear_inputcollids() { +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_lplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollids_.Clear(); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.lplan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.lplan_; } -inline ::pg_query::Node* RowCompareExpr::mutable_inputcollids(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.inputcollids) - return _internal_mutable_inputcollids()->Mutable(index); +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_lplan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lplan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.lplan) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_inputcollids() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.inputcollids) +inline void JsonTableSiblingJoin::set_allocated_lplan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_inputcollids(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.lplan_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.lplan) } -inline const ::pg_query::Node& RowCompareExpr::inputcollids(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.inputcollids) - return _internal_inputcollids().Get(index); + +// .pg_query.Node rplan = 3 [json_name = "rplan"]; +inline bool JsonTableSiblingJoin::has_rplan() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rplan_ != nullptr); + return value; } -inline ::pg_query::Node* RowCompareExpr::add_inputcollids() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void JsonTableSiblingJoin::clear_rplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_inputcollids()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.inputcollids) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::inputcollids() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.inputcollids) - return _internal_inputcollids(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowCompareExpr::_internal_inputcollids() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollids_; + if (_impl_.rplan_ != nullptr) _impl_.rplan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowCompareExpr::_internal_mutable_inputcollids() { +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_rplan() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.inputcollids_; -} - -// repeated .pg_query.Node largs = 6 [json_name = "largs"]; -inline int RowCompareExpr::_internal_largs_size() const { - return _internal_largs().size(); -} -inline int RowCompareExpr::largs_size() const { - return _internal_largs_size(); -} -inline void RowCompareExpr::clear_largs() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.largs_.Clear(); + const ::pg_query::Node* p = _impl_.rplan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* RowCompareExpr::mutable_largs(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.largs) - return _internal_mutable_largs()->Mutable(index); +inline const ::pg_query::Node& JsonTableSiblingJoin::rplan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.rplan) + return _internal_rplan(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_largs() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.largs) +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_rplan(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_largs(); -} -inline const ::pg_query::Node& RowCompareExpr::largs(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.largs) - return _internal_largs().Get(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rplan_); + } + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.rplan) } -inline ::pg_query::Node* RowCompareExpr::add_largs() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* JsonTableSiblingJoin::release_rplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_largs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.largs) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::largs() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.largs) - return _internal_largs(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowCompareExpr::_internal_largs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.largs_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowCompareExpr::_internal_mutable_largs() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.largs_; -} -// repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; -inline int RowCompareExpr::_internal_rargs_size() const { - return _internal_rargs().size(); -} -inline int RowCompareExpr::rargs_size() const { - return _internal_rargs_size(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.rplan_; + _impl_.rplan_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void RowCompareExpr::clear_rargs() { +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_rplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rargs_.Clear(); -} -inline ::pg_query::Node* RowCompareExpr::mutable_rargs(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.rargs) - return _internal_mutable_rargs()->Mutable(index); + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.rplan) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.rplan_; + _impl_.rplan_ = nullptr; + return temp; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_rargs() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.rargs) +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_rplan() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_rargs(); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.rplan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.rplan_; } -inline const ::pg_query::Node& RowCompareExpr::rargs(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rargs) - return _internal_rargs().Get(index); +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_rplan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rplan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.rplan) + return _msg; } -inline ::pg_query::Node* RowCompareExpr::add_rargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void JsonTableSiblingJoin::set_allocated_rplan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_rargs()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.rargs) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::rargs() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.rargs) - return _internal_rargs(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RowCompareExpr::_internal_rargs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rargs_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RowCompareExpr::_internal_mutable_rargs() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.rargs_; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.rplan_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.rplan) } // ------------------------------------------------------------------- -// CoalesceExpr +// NullTest // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoalesceExpr::has_xpr() const { +inline bool NullTest::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void CoalesceExpr::clear_xpr() { +inline void NullTest::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CoalesceExpr::_internal_xpr() const { +inline const ::pg_query::Node& NullTest::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoalesceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.xpr) +inline const ::pg_query::Node& NullTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullTest.xpr) return _internal_xpr(); } -inline void CoalesceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void NullTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -103332,9 +114292,9 @@ inline void CoalesceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoalesceExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.xpr) } -inline ::pg_query::Node* CoalesceExpr::release_xpr() { +inline ::pg_query::Node* NullTest::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -103353,16 +114313,16 @@ inline ::pg_query::Node* CoalesceExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoalesceExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* NullTest::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoalesceExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.NullTest.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* CoalesceExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* NullTest::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -103371,12 +114331,12 @@ inline ::pg_query::Node* CoalesceExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* CoalesceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* NullTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.NullTest.xpr) return _msg; } -inline void CoalesceExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void NullTest::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -103394,122 +114354,169 @@ inline void CoalesceExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoalesceExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.xpr) } -// uint32 coalescetype = 2 [json_name = "coalescetype"]; -inline void CoalesceExpr::clear_coalescetype() { +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool NullTest::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; +} +inline void NullTest::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coalescetype_ = 0u; + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::uint32_t CoalesceExpr::coalescetype() const { - // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescetype) - return _internal_coalescetype(); +inline const ::pg_query::Node& NullTest::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CoalesceExpr::set_coalescetype(::uint32_t value) { - _internal_set_coalescetype(value); - // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescetype) +inline const ::pg_query::Node& NullTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullTest.arg) + return _internal_arg(); } -inline ::uint32_t CoalesceExpr::_internal_coalescetype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coalescetype_; +inline void NullTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.arg) } -inline void CoalesceExpr::_internal_set_coalescetype(::uint32_t value) { +inline ::pg_query::Node* NullTest::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.coalescetype_ = value; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* NullTest::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NullTest.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; +} +inline ::pg_query::Node* NullTest::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; +} +inline ::pg_query::Node* NullTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.NullTest.arg) + return _msg; +} +inline void NullTest::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.arg) } -// uint32 coalescecollid = 3 [json_name = "coalescecollid"]; -inline void CoalesceExpr::clear_coalescecollid() { +// .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; +inline void NullTest::clear_nulltesttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coalescecollid_ = 0u; + _impl_.nulltesttype_ = 0; } -inline ::uint32_t CoalesceExpr::coalescecollid() const { - // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescecollid) - return _internal_coalescecollid(); +inline ::pg_query::NullTestType NullTest::nulltesttype() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.nulltesttype) + return _internal_nulltesttype(); } -inline void CoalesceExpr::set_coalescecollid(::uint32_t value) { - _internal_set_coalescecollid(value); - // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescecollid) +inline void NullTest::set_nulltesttype(::pg_query::NullTestType value) { + _internal_set_nulltesttype(value); + // @@protoc_insertion_point(field_set:pg_query.NullTest.nulltesttype) } -inline ::uint32_t CoalesceExpr::_internal_coalescecollid() const { +inline ::pg_query::NullTestType NullTest::_internal_nulltesttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coalescecollid_; + return static_cast<::pg_query::NullTestType>(_impl_.nulltesttype_); } -inline void CoalesceExpr::_internal_set_coalescecollid(::uint32_t value) { +inline void NullTest::_internal_set_nulltesttype(::pg_query::NullTestType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.coalescecollid_ = value; + _impl_.nulltesttype_ = value; } -// repeated .pg_query.Node args = 4 [json_name = "args"]; -inline int CoalesceExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int CoalesceExpr::args_size() const { - return _internal_args_size(); -} -inline void CoalesceExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* CoalesceExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CoalesceExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CoalesceExpr.args) +// bool argisrow = 4 [json_name = "argisrow"]; +inline void NullTest::clear_argisrow() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& CoalesceExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.args) - return _internal_args().Get(index); + _impl_.argisrow_ = false; } -inline ::pg_query::Node* CoalesceExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CoalesceExpr.args) - return _add; +inline bool NullTest::argisrow() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.argisrow) + return _internal_argisrow(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CoalesceExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CoalesceExpr.args) - return _internal_args(); +inline void NullTest::set_argisrow(bool value) { + _internal_set_argisrow(value); + // @@protoc_insertion_point(field_set:pg_query.NullTest.argisrow) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CoalesceExpr::_internal_args() const { +inline bool NullTest::_internal_argisrow() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.argisrow_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CoalesceExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; +inline void NullTest::_internal_set_argisrow(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.argisrow_ = value; } // int32 location = 5 [json_name = "location"]; -inline void CoalesceExpr::clear_location() { +inline void NullTest::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t CoalesceExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.location) +inline ::int32_t NullTest::location() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.location) return _internal_location(); } -inline void CoalesceExpr::set_location(::int32_t value) { +inline void NullTest::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.location) + // @@protoc_insertion_point(field_set:pg_query.NullTest.location) } -inline ::int32_t CoalesceExpr::_internal_location() const { +inline ::int32_t NullTest::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void CoalesceExpr::_internal_set_location(::int32_t value) { +inline void NullTest::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -103517,29 +114524,29 @@ inline void CoalesceExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// MinMaxExpr +// BooleanTest // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool MinMaxExpr::has_xpr() const { +inline bool BooleanTest::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void MinMaxExpr::clear_xpr() { +inline void BooleanTest::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& MinMaxExpr::_internal_xpr() const { +inline const ::pg_query::Node& BooleanTest::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& MinMaxExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.xpr) +inline const ::pg_query::Node& BooleanTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.xpr) return _internal_xpr(); } -inline void MinMaxExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void BooleanTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -103550,9 +114557,9 @@ inline void MinMaxExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MinMaxExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.xpr) } -inline ::pg_query::Node* MinMaxExpr::release_xpr() { +inline ::pg_query::Node* BooleanTest::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -103571,16 +114578,16 @@ inline ::pg_query::Node* MinMaxExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* MinMaxExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* BooleanTest::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.MinMaxExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.BooleanTest.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* MinMaxExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* BooleanTest::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -103589,12 +114596,12 @@ inline ::pg_query::Node* MinMaxExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* MinMaxExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* BooleanTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.xpr) return _msg; } -inline void MinMaxExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void BooleanTest::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -103612,216 +114619,263 @@ inline void MinMaxExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.MinMaxExpr.xpr) + // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.xpr) } -// uint32 minmaxtype = 2 [json_name = "minmaxtype"]; -inline void MinMaxExpr::clear_minmaxtype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.minmaxtype_ = 0u; -} -inline ::uint32_t MinMaxExpr::minmaxtype() const { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxtype) - return _internal_minmaxtype(); +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool BooleanTest::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void MinMaxExpr::set_minmaxtype(::uint32_t value) { - _internal_set_minmaxtype(value); - // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxtype) +inline void BooleanTest::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::uint32_t MinMaxExpr::_internal_minmaxtype() const { +inline const ::pg_query::Node& BooleanTest::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.minmaxtype_; + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void MinMaxExpr::_internal_set_minmaxtype(::uint32_t value) { +inline const ::pg_query::Node& BooleanTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.arg) + return _internal_arg(); +} +inline void BooleanTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.minmaxtype_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.arg) } - -// uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; -inline void MinMaxExpr::clear_minmaxcollid() { +inline ::pg_query::Node* BooleanTest::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.minmaxcollid_ = 0u; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t MinMaxExpr::minmaxcollid() const { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxcollid) - return _internal_minmaxcollid(); +inline ::pg_query::Node* BooleanTest::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.BooleanTest.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline void MinMaxExpr::set_minmaxcollid(::uint32_t value) { - _internal_set_minmaxcollid(value); - // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxcollid) +inline ::pg_query::Node* BooleanTest::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline ::uint32_t MinMaxExpr::_internal_minmaxcollid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.minmaxcollid_; +inline ::pg_query::Node* BooleanTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.arg) + return _msg; } -inline void MinMaxExpr::_internal_set_minmaxcollid(::uint32_t value) { +inline void BooleanTest::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.minmaxcollid_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.arg) } -// uint32 inputcollid = 4 [json_name = "inputcollid"]; -inline void MinMaxExpr::clear_inputcollid() { +// .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; +inline void BooleanTest::clear_booltesttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inputcollid_ = 0u; + _impl_.booltesttype_ = 0; } -inline ::uint32_t MinMaxExpr::inputcollid() const { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.inputcollid) - return _internal_inputcollid(); +inline ::pg_query::BoolTestType BooleanTest::booltesttype() const { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.booltesttype) + return _internal_booltesttype(); } -inline void MinMaxExpr::set_inputcollid(::uint32_t value) { - _internal_set_inputcollid(value); - // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.inputcollid) +inline void BooleanTest::set_booltesttype(::pg_query::BoolTestType value) { + _internal_set_booltesttype(value); + // @@protoc_insertion_point(field_set:pg_query.BooleanTest.booltesttype) } -inline ::uint32_t MinMaxExpr::_internal_inputcollid() const { +inline ::pg_query::BoolTestType BooleanTest::_internal_booltesttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inputcollid_; + return static_cast<::pg_query::BoolTestType>(_impl_.booltesttype_); } -inline void MinMaxExpr::_internal_set_inputcollid(::uint32_t value) { +inline void BooleanTest::_internal_set_booltesttype(::pg_query::BoolTestType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inputcollid_ = value; + _impl_.booltesttype_ = value; } -// .pg_query.MinMaxOp op = 5 [json_name = "op"]; -inline void MinMaxExpr::clear_op() { +// int32 location = 4 [json_name = "location"]; +inline void BooleanTest::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.op_ = 0; + _impl_.location_ = 0; } -inline ::pg_query::MinMaxOp MinMaxExpr::op() const { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.op) - return _internal_op(); +inline ::int32_t BooleanTest::location() const { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.location) + return _internal_location(); } -inline void MinMaxExpr::set_op(::pg_query::MinMaxOp value) { - _internal_set_op(value); - // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.op) +inline void BooleanTest::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.BooleanTest.location) } -inline ::pg_query::MinMaxOp MinMaxExpr::_internal_op() const { +inline ::int32_t BooleanTest::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::MinMaxOp>(_impl_.op_); + return _impl_.location_; } -inline void MinMaxExpr::_internal_set_op(::pg_query::MinMaxOp value) { +inline void BooleanTest::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.op_ = value; + _impl_.location_ = value; } -// repeated .pg_query.Node args = 6 [json_name = "args"]; -inline int MinMaxExpr::_internal_args_size() const { - return _internal_args().size(); +// ------------------------------------------------------------------- + +// MergeAction + +// .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; +inline void MergeAction::clear_match_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.match_kind_ = 0; } -inline int MinMaxExpr::args_size() const { - return _internal_args_size(); +inline ::pg_query::MergeMatchKind MergeAction::match_kind() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.match_kind) + return _internal_match_kind(); } -inline void MinMaxExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); +inline void MergeAction::set_match_kind(::pg_query::MergeMatchKind value) { + _internal_set_match_kind(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.match_kind) } -inline ::pg_query::Node* MinMaxExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.args) - return _internal_mutable_args()->Mutable(index); +inline ::pg_query::MergeMatchKind MergeAction::_internal_match_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::MergeMatchKind>(_impl_.match_kind_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MinMaxExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.MinMaxExpr.args) +inline void MergeAction::_internal_set_match_kind(::pg_query::MergeMatchKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& MinMaxExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.args) - return _internal_args().Get(index); + ; + _impl_.match_kind_ = value; } -inline ::pg_query::Node* MinMaxExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; +inline void MergeAction::clear_command_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.MinMaxExpr.args) - return _add; + _impl_.command_type_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MinMaxExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.MinMaxExpr.args) - return _internal_args(); +inline ::pg_query::CmdType MergeAction::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.command_type) + return _internal_command_type(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -MinMaxExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; +inline void MergeAction::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.command_type) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -MinMaxExpr::_internal_mutable_args() { +inline ::pg_query::CmdType MergeAction::_internal_command_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return static_cast<::pg_query::CmdType>(_impl_.command_type_); +} +inline void MergeAction::_internal_set_command_type(::pg_query::CmdType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.command_type_ = value; } -// int32 location = 7 [json_name = "location"]; -inline void MinMaxExpr::clear_location() { +// .pg_query.OverridingKind override = 3 [json_name = "override"]; +inline void MergeAction::clear_override() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.override_ = 0; } -inline ::int32_t MinMaxExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.location) - return _internal_location(); +inline ::pg_query::OverridingKind MergeAction::override() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.override) + return _internal_override(); } -inline void MinMaxExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.location) +inline void MergeAction::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.override) } -inline ::int32_t MinMaxExpr::_internal_location() const { +inline ::pg_query::OverridingKind MergeAction::_internal_override() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline void MinMaxExpr::_internal_set_location(::int32_t value) { +inline void MergeAction::_internal_set_override(::pg_query::OverridingKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.override_ = value; } -// ------------------------------------------------------------------- - -// SQLValueFunction - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SQLValueFunction::has_xpr() const { +// .pg_query.Node qual = 4 [json_name = "qual"]; +inline bool MergeAction::has_qual() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); return value; } -inline void SQLValueFunction::clear_xpr() { +inline void MergeAction::clear_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SQLValueFunction::_internal_xpr() const { +inline const ::pg_query::Node& MergeAction::_internal_qual() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.qual_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SQLValueFunction::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& MergeAction::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.qual) + return _internal_qual(); } -inline void SQLValueFunction::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void MergeAction::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SQLValueFunction.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeAction.qual) } -inline ::pg_query::Node* SQLValueFunction::release_xpr() { +inline ::pg_query::Node* MergeAction::release_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -103835,34 +114889,34 @@ inline ::pg_query::Node* SQLValueFunction::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SQLValueFunction::unsafe_arena_release_xpr() { +inline ::pg_query::Node* MergeAction::unsafe_arena_release_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SQLValueFunction.xpr) + // @@protoc_insertion_point(field_release:pg_query.MergeAction.qual) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; return temp; } -inline ::pg_query::Node* SQLValueFunction::_internal_mutable_xpr() { +inline ::pg_query::Node* MergeAction::_internal_mutable_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.qual_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.qual_; } -inline ::pg_query::Node* SQLValueFunction::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SQLValueFunction.xpr) +inline ::pg_query::Node* MergeAction::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.qual) return _msg; } -inline void SQLValueFunction::set_allocated_xpr(::pg_query::Node* value) { +inline void MergeAction::set_allocated_qual(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); } if (value != nullptr) { @@ -103875,127 +114929,133 @@ inline void SQLValueFunction::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SQLValueFunction.xpr) + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeAction.qual) } -// .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; -inline void SQLValueFunction::clear_op() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.op_ = 0; +// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; +inline int MergeAction::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline ::pg_query::SQLValueFunctionOp SQLValueFunction::op() const { - // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.op) - return _internal_op(); +inline int MergeAction::target_list_size() const { + return _internal_target_list_size(); } -inline void SQLValueFunction::set_op(::pg_query::SQLValueFunctionOp value) { - _internal_set_op(value); - // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.op) +inline void MergeAction::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline ::pg_query::SQLValueFunctionOp SQLValueFunction::_internal_op() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SQLValueFunctionOp>(_impl_.op_); +inline ::pg_query::Node* MergeAction::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline void SQLValueFunction::_internal_set_op(::pg_query::SQLValueFunctionOp value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.target_list) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.op_ = value; + return _internal_mutable_target_list(); } - -// uint32 type = 3 [json_name = "type"]; -inline void SQLValueFunction::clear_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_ = 0u; +inline const ::pg_query::Node& MergeAction::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.target_list) + return _internal_target_list().Get(index); } -inline ::uint32_t SQLValueFunction::type() const { - // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.type) - return _internal_type(); +inline ::pg_query::Node* MergeAction::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeAction.target_list) + return _add; } -inline void SQLValueFunction::set_type(::uint32_t value) { - _internal_set_type(value); - // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.type) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeAction.target_list) + return _internal_target_list(); } -inline ::uint32_t SQLValueFunction::_internal_type() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeAction::_internal_target_list() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_; + return _impl_.target_list_; } -inline void SQLValueFunction::_internal_set_type(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeAction::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// int32 typmod = 4 [json_name = "typmod"]; -inline void SQLValueFunction::clear_typmod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typmod_ = 0; +// repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; +inline int MergeAction::_internal_update_colnos_size() const { + return _internal_update_colnos().size(); } -inline ::int32_t SQLValueFunction::typmod() const { - // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.typmod) - return _internal_typmod(); +inline int MergeAction::update_colnos_size() const { + return _internal_update_colnos_size(); } -inline void SQLValueFunction::set_typmod(::int32_t value) { - _internal_set_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.typmod) +inline void MergeAction::clear_update_colnos() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.update_colnos_.Clear(); } -inline ::int32_t SQLValueFunction::_internal_typmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typmod_; +inline ::pg_query::Node* MergeAction::mutable_update_colnos(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.update_colnos) + return _internal_mutable_update_colnos()->Mutable(index); } -inline void SQLValueFunction::_internal_set_typmod(::int32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_update_colnos() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.update_colnos) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.typmod_ = value; + return _internal_mutable_update_colnos(); } - -// int32 location = 5 [json_name = "location"]; -inline void SQLValueFunction::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; +inline const ::pg_query::Node& MergeAction::update_colnos(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.update_colnos) + return _internal_update_colnos().Get(index); } -inline ::int32_t SQLValueFunction::location() const { - // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.location) - return _internal_location(); +inline ::pg_query::Node* MergeAction::add_update_colnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_update_colnos()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeAction.update_colnos) + return _add; } -inline void SQLValueFunction::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.location) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::update_colnos() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeAction.update_colnos) + return _internal_update_colnos(); } -inline ::int32_t SQLValueFunction::_internal_location() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeAction::_internal_update_colnos() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.update_colnos_; } -inline void SQLValueFunction::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeAction::_internal_mutable_update_colnos() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.update_colnos_; } // ------------------------------------------------------------------- -// XmlExpr +// CoerceToDomain // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool XmlExpr::has_xpr() const { +inline bool CoerceToDomain::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void XmlExpr::clear_xpr() { +inline void CoerceToDomain::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& XmlExpr::_internal_xpr() const { +inline const ::pg_query::Node& CoerceToDomain::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& XmlExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xpr) +inline const ::pg_query::Node& CoerceToDomain::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.xpr) return _internal_xpr(); } -inline void XmlExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void CoerceToDomain::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -104006,9 +115066,9 @@ inline void XmlExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.xpr) } -inline ::pg_query::Node* XmlExpr::release_xpr() { +inline ::pg_query::Node* CoerceToDomain::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -104027,16 +115087,16 @@ inline ::pg_query::Node* XmlExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* XmlExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.XmlExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* XmlExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* CoerceToDomain::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -104045,12 +115105,12 @@ inline ::pg_query::Node* XmlExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* XmlExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoerceToDomain::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.xpr) return _msg; } -inline void XmlExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void CoerceToDomain::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -104068,415 +115128,215 @@ inline void XmlExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.xpr) -} - -// .pg_query.XmlExprOp op = 2 [json_name = "op"]; -inline void XmlExpr::clear_op() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.op_ = 0; -} -inline ::pg_query::XmlExprOp XmlExpr::op() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.op) - return _internal_op(); -} -inline void XmlExpr::set_op(::pg_query::XmlExprOp value) { - _internal_set_op(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.op) -} -inline ::pg_query::XmlExprOp XmlExpr::_internal_op() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::XmlExprOp>(_impl_.op_); -} -inline void XmlExpr::_internal_set_op(::pg_query::XmlExprOp value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.op_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.xpr) } -// string name = 3 [json_name = "name"]; -inline void XmlExpr::clear_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); -} -inline const std::string& XmlExpr::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.name) - return _internal_name(); +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool CoerceToDomain::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void XmlExpr::set_name(Arg_&& arg, - Args_... args) { +inline void CoerceToDomain::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.name) -} -inline std::string* XmlExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.name) - return _s; + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const std::string& XmlExpr::_internal_name() const { +inline const ::pg_query::Node& CoerceToDomain::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); -} -inline void XmlExpr::_internal_set_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); -} -inline std::string* XmlExpr::_internal_mutable_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); -} -inline std::string* XmlExpr::release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.XmlExpr.name) - return _impl_.name_.Release(); -} -inline void XmlExpr::set_allocated_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.name) -} - -// repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; -inline int XmlExpr::_internal_named_args_size() const { - return _internal_named_args().size(); -} -inline int XmlExpr::named_args_size() const { - return _internal_named_args_size(); -} -inline void XmlExpr::clear_named_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.named_args_.Clear(); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* XmlExpr::mutable_named_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.named_args) - return _internal_mutable_named_args()->Mutable(index); +inline const ::pg_query::Node& CoerceToDomain::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.arg) + return _internal_arg(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_named_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.named_args) +inline void CoerceToDomain::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_named_args(); -} -inline const ::pg_query::Node& XmlExpr::named_args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.named_args) - return _internal_named_args().Get(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.arg) } -inline ::pg_query::Node* XmlExpr::add_named_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoerceToDomain::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_named_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.XmlExpr.named_args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::named_args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.XmlExpr.named_args) - return _internal_named_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -XmlExpr::_internal_named_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.named_args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -XmlExpr::_internal_mutable_named_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.named_args_; -} -// repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; -inline int XmlExpr::_internal_arg_names_size() const { - return _internal_arg_names().size(); -} -inline int XmlExpr::arg_names_size() const { - return _internal_arg_names_size(); -} -inline void XmlExpr::clear_arg_names() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.arg_names_.Clear(); -} -inline ::pg_query::Node* XmlExpr::mutable_arg_names(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.arg_names) - return _internal_mutable_arg_names()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_arg_names() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.arg_names) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_arg_names(); -} -inline const ::pg_query::Node& XmlExpr::arg_names(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.arg_names) - return _internal_arg_names().Get(index); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* XmlExpr::add_arg_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_arg_names()->Add(); - // @@protoc_insertion_point(field_add:pg_query.XmlExpr.arg_names) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::arg_names() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.XmlExpr.arg_names) - return _internal_arg_names(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -XmlExpr::_internal_arg_names() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.arg_names_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -XmlExpr::_internal_mutable_arg_names() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.arg_names_; -} + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.arg) -// repeated .pg_query.Node args = 6 [json_name = "args"]; -inline int XmlExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int XmlExpr::args_size() const { - return _internal_args_size(); -} -inline void XmlExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* XmlExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& XmlExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* XmlExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.XmlExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.XmlExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -XmlExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -XmlExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } - -// .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; -inline void XmlExpr::clear_xmloption() { +inline ::pg_query::Node* CoerceToDomain::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.xmloption_ = 0; -} -inline ::pg_query::XmlOptionType XmlExpr::xmloption() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xmloption) - return _internal_xmloption(); -} -inline void XmlExpr::set_xmloption(::pg_query::XmlOptionType value) { - _internal_set_xmloption(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.xmloption) + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline ::pg_query::XmlOptionType XmlExpr::_internal_xmloption() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); +inline ::pg_query::Node* CoerceToDomain::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.arg) + return _msg; } -inline void XmlExpr::_internal_set_xmloption(::pg_query::XmlOptionType value) { +inline void CoerceToDomain::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.xmloption_ = value; -} + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } -// bool indent = 8 [json_name = "indent"]; -inline void XmlExpr::clear_indent() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indent_ = false; -} -inline bool XmlExpr::indent() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.indent) - return _internal_indent(); -} -inline void XmlExpr::set_indent(bool value) { - _internal_set_indent(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.indent) -} -inline bool XmlExpr::_internal_indent() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.indent_; -} -inline void XmlExpr::_internal_set_indent(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.indent_ = value; -} + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// uint32 type = 9 [json_name = "type"]; -inline void XmlExpr::clear_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_ = 0u; -} -inline ::uint32_t XmlExpr::type() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.type) - return _internal_type(); -} -inline void XmlExpr::set_type(::uint32_t value) { - _internal_set_type(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.type) -} -inline ::uint32_t XmlExpr::_internal_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_; -} -inline void XmlExpr::_internal_set_type(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_ = value; + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.arg) } -// int32 typmod = 10 [json_name = "typmod"]; -inline void XmlExpr::clear_typmod() { +// uint32 resulttype = 3 [json_name = "resulttype"]; +inline void CoerceToDomain::clear_resulttype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typmod_ = 0; + _impl_.resulttype_ = 0u; } -inline ::int32_t XmlExpr::typmod() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.typmod) - return _internal_typmod(); +inline ::uint32_t CoerceToDomain::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttype) + return _internal_resulttype(); } -inline void XmlExpr::set_typmod(::int32_t value) { - _internal_set_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.typmod) +inline void CoerceToDomain::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttype) } -inline ::int32_t XmlExpr::_internal_typmod() const { +inline ::uint32_t CoerceToDomain::_internal_resulttype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typmod_; + return _impl_.resulttype_; } -inline void XmlExpr::_internal_set_typmod(::int32_t value) { +inline void CoerceToDomain::_internal_set_resulttype(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.typmod_ = value; + _impl_.resulttype_ = value; } -// int32 location = 11 [json_name = "location"]; -inline void XmlExpr::clear_location() { +// int32 resulttypmod = 4 [json_name = "resulttypmod"]; +inline void CoerceToDomain::clear_resulttypmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.resulttypmod_ = 0; } -inline ::int32_t XmlExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.XmlExpr.location) - return _internal_location(); +inline ::int32_t CoerceToDomain::resulttypmod() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttypmod) + return _internal_resulttypmod(); } -inline void XmlExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.location) +inline void CoerceToDomain::set_resulttypmod(::int32_t value) { + _internal_set_resulttypmod(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttypmod) } -inline ::int32_t XmlExpr::_internal_location() const { +inline ::int32_t CoerceToDomain::_internal_resulttypmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.resulttypmod_; } -inline void XmlExpr::_internal_set_location(::int32_t value) { +inline void CoerceToDomain::_internal_set_resulttypmod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.resulttypmod_ = value; } -// ------------------------------------------------------------------- - -// JsonFormat - -// .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"]; -inline void JsonFormat::clear_format_type() { +// uint32 resultcollid = 5 [json_name = "resultcollid"]; +inline void CoerceToDomain::clear_resultcollid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.format_type_ = 0; + _impl_.resultcollid_ = 0u; } -inline ::pg_query::JsonFormatType JsonFormat::format_type() const { - // @@protoc_insertion_point(field_get:pg_query.JsonFormat.format_type) - return _internal_format_type(); +inline ::uint32_t CoerceToDomain::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resultcollid) + return _internal_resultcollid(); } -inline void JsonFormat::set_format_type(::pg_query::JsonFormatType value) { - _internal_set_format_type(value); - // @@protoc_insertion_point(field_set:pg_query.JsonFormat.format_type) +inline void CoerceToDomain::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resultcollid) } -inline ::pg_query::JsonFormatType JsonFormat::_internal_format_type() const { +inline ::uint32_t CoerceToDomain::_internal_resultcollid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JsonFormatType>(_impl_.format_type_); + return _impl_.resultcollid_; } -inline void JsonFormat::_internal_set_format_type(::pg_query::JsonFormatType value) { +inline void CoerceToDomain::_internal_set_resultcollid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.format_type_ = value; + _impl_.resultcollid_ = value; } -// .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"]; -inline void JsonFormat::clear_encoding() { +// .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; +inline void CoerceToDomain::clear_coercionformat() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.encoding_ = 0; + _impl_.coercionformat_ = 0; } -inline ::pg_query::JsonEncoding JsonFormat::encoding() const { - // @@protoc_insertion_point(field_get:pg_query.JsonFormat.encoding) - return _internal_encoding(); +inline ::pg_query::CoercionForm CoerceToDomain::coercionformat() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.coercionformat) + return _internal_coercionformat(); } -inline void JsonFormat::set_encoding(::pg_query::JsonEncoding value) { - _internal_set_encoding(value); - // @@protoc_insertion_point(field_set:pg_query.JsonFormat.encoding) +inline void CoerceToDomain::set_coercionformat(::pg_query::CoercionForm value) { + _internal_set_coercionformat(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.coercionformat) } -inline ::pg_query::JsonEncoding JsonFormat::_internal_encoding() const { +inline ::pg_query::CoercionForm CoerceToDomain::_internal_coercionformat() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JsonEncoding>(_impl_.encoding_); + return static_cast<::pg_query::CoercionForm>(_impl_.coercionformat_); } -inline void JsonFormat::_internal_set_encoding(::pg_query::JsonEncoding value) { +inline void CoerceToDomain::_internal_set_coercionformat(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.encoding_ = value; + _impl_.coercionformat_ = value; } -// int32 location = 3 [json_name = "location"]; -inline void JsonFormat::clear_location() { +// int32 location = 7 [json_name = "location"]; +inline void CoerceToDomain::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t JsonFormat::location() const { - // @@protoc_insertion_point(field_get:pg_query.JsonFormat.location) +inline ::int32_t CoerceToDomain::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.location) return _internal_location(); } -inline void JsonFormat::set_location(::int32_t value) { +inline void CoerceToDomain::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.JsonFormat.location) + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.location) } -inline ::int32_t JsonFormat::_internal_location() const { +inline ::int32_t CoerceToDomain::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void JsonFormat::_internal_set_location(::int32_t value) { +inline void CoerceToDomain::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -104484,47 +115344,47 @@ inline void JsonFormat::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// JsonReturning +// CoerceToDomainValue -// .pg_query.JsonFormat format = 1 [json_name = "format"]; -inline bool JsonReturning::has_format() const { +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool CoerceToDomainValue::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonReturning::clear_format() { +inline void CoerceToDomainValue::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::JsonFormat& JsonReturning::_internal_format() const { +inline const ::pg_query::Node& CoerceToDomainValue::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonFormat* p = _impl_.format_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::JsonFormat& JsonReturning::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonReturning.format) - return _internal_format(); +inline const ::pg_query::Node& CoerceToDomainValue::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.xpr) + return _internal_xpr(); } -inline void JsonReturning::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { +inline void CoerceToDomainValue::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonReturning.format) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomainValue.xpr) } -inline ::pg_query::JsonFormat* JsonReturning::release_format() { +inline ::pg_query::Node* CoerceToDomainValue::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::JsonFormat* released = _impl_.format_; - _impl_.format_ = nullptr; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -104538,38 +115398,38 @@ inline ::pg_query::JsonFormat* JsonReturning::release_format() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonFormat* JsonReturning::unsafe_arena_release_format() { +inline ::pg_query::Node* CoerceToDomainValue::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonReturning.format) + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomainValue.xpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::JsonFormat* temp = _impl_.format_; - _impl_.format_ = nullptr; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::JsonFormat* JsonReturning::_internal_mutable_format() { +inline ::pg_query::Node* CoerceToDomainValue::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.format_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.format_; + return _impl_.xpr_; } -inline ::pg_query::JsonFormat* JsonReturning::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonFormat* _msg = _internal_mutable_format(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonReturning.format) +inline ::pg_query::Node* CoerceToDomainValue::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomainValue.xpr) return _msg; } -inline void JsonReturning::set_allocated_format(::pg_query::JsonFormat* value) { +inline void CoerceToDomainValue::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -104578,99 +115438,145 @@ inline void JsonReturning::set_allocated_format(::pg_query::JsonFormat* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonReturning.format) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomainValue.xpr) } -// uint32 typid = 2 [json_name = "typid"]; -inline void JsonReturning::clear_typid() { +// uint32 type_id = 2 [json_name = "typeId"]; +inline void CoerceToDomainValue::clear_type_id() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typid_ = 0u; + _impl_.type_id_ = 0u; } -inline ::uint32_t JsonReturning::typid() const { - // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typid) - return _internal_typid(); +inline ::uint32_t CoerceToDomainValue::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_id) + return _internal_type_id(); } -inline void JsonReturning::set_typid(::uint32_t value) { - _internal_set_typid(value); - // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typid) +inline void CoerceToDomainValue::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_id) } -inline ::uint32_t JsonReturning::_internal_typid() const { +inline ::uint32_t CoerceToDomainValue::_internal_type_id() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typid_; + return _impl_.type_id_; } -inline void JsonReturning::_internal_set_typid(::uint32_t value) { +inline void CoerceToDomainValue::_internal_set_type_id(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.typid_ = value; + _impl_.type_id_ = value; } -// int32 typmod = 3 [json_name = "typmod"]; -inline void JsonReturning::clear_typmod() { +// int32 type_mod = 3 [json_name = "typeMod"]; +inline void CoerceToDomainValue::clear_type_mod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typmod_ = 0; + _impl_.type_mod_ = 0; } -inline ::int32_t JsonReturning::typmod() const { - // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typmod) - return _internal_typmod(); +inline ::int32_t CoerceToDomainValue::type_mod() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_mod) + return _internal_type_mod(); } -inline void JsonReturning::set_typmod(::int32_t value) { - _internal_set_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typmod) +inline void CoerceToDomainValue::set_type_mod(::int32_t value) { + _internal_set_type_mod(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_mod) } -inline ::int32_t JsonReturning::_internal_typmod() const { +inline ::int32_t CoerceToDomainValue::_internal_type_mod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typmod_; + return _impl_.type_mod_; } -inline void JsonReturning::_internal_set_typmod(::int32_t value) { +inline void CoerceToDomainValue::_internal_set_type_mod(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.typmod_ = value; + _impl_.type_mod_ = value; +} + +// uint32 collation = 4 [json_name = "collation"]; +inline void CoerceToDomainValue::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_ = 0u; +} +inline ::uint32_t CoerceToDomainValue::collation() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.collation) + return _internal_collation(); +} +inline void CoerceToDomainValue::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.collation) +} +inline ::uint32_t CoerceToDomainValue::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; +} +inline void CoerceToDomainValue::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; +} + +// int32 location = 5 [json_name = "location"]; +inline void CoerceToDomainValue::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t CoerceToDomainValue::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.location) + return _internal_location(); +} +inline void CoerceToDomainValue::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.location) +} +inline ::int32_t CoerceToDomainValue::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CoerceToDomainValue::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// JsonValueExpr +// SetToDefault -// .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; -inline bool JsonValueExpr::has_raw_expr() const { +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool SetToDefault::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.raw_expr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonValueExpr::clear_raw_expr() { +inline void SetToDefault::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.raw_expr_ != nullptr) _impl_.raw_expr_->Clear(); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonValueExpr::_internal_raw_expr() const { +inline const ::pg_query::Node& SetToDefault::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.raw_expr_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonValueExpr::raw_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.raw_expr) - return _internal_raw_expr(); +inline const ::pg_query::Node& SetToDefault::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.xpr) + return _internal_xpr(); } -inline void JsonValueExpr::unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value) { +inline void SetToDefault::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.raw_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetToDefault.xpr) } -inline ::pg_query::Node* JsonValueExpr::release_raw_expr() { +inline ::pg_query::Node* SetToDefault::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.raw_expr_; - _impl_.raw_expr_ = nullptr; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -104684,34 +115590,34 @@ inline ::pg_query::Node* JsonValueExpr::release_raw_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_raw_expr() { +inline ::pg_query::Node* SetToDefault::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.raw_expr) + // @@protoc_insertion_point(field_release:pg_query.SetToDefault.xpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.raw_expr_; - _impl_.raw_expr_ = nullptr; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonValueExpr::_internal_mutable_raw_expr() { +inline ::pg_query::Node* SetToDefault::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.raw_expr_ == nullptr) { + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.raw_expr_; + return _impl_.xpr_; } -inline ::pg_query::Node* JsonValueExpr::mutable_raw_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_raw_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.raw_expr) +inline ::pg_query::Node* SetToDefault::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SetToDefault.xpr) return _msg; } -inline void JsonValueExpr::set_allocated_raw_expr(::pg_query::Node* value) { +inline void SetToDefault::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_expr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -104724,49 +115630,145 @@ inline void JsonValueExpr::set_allocated_raw_expr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.raw_expr) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SetToDefault.xpr) } -// .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; -inline bool JsonValueExpr::has_formatted_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.formatted_expr_ != nullptr); +// uint32 type_id = 2 [json_name = "typeId"]; +inline void SetToDefault::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_id_ = 0u; +} +inline ::uint32_t SetToDefault::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_id) + return _internal_type_id(); +} +inline void SetToDefault::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_id) +} +inline ::uint32_t SetToDefault::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; +} +inline void SetToDefault::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; +} + +// int32 type_mod = 3 [json_name = "typeMod"]; +inline void SetToDefault::clear_type_mod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_mod_ = 0; +} +inline ::int32_t SetToDefault::type_mod() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_mod) + return _internal_type_mod(); +} +inline void SetToDefault::set_type_mod(::int32_t value) { + _internal_set_type_mod(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_mod) +} +inline ::int32_t SetToDefault::_internal_type_mod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_mod_; +} +inline void SetToDefault::_internal_set_type_mod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_mod_ = value; +} + +// uint32 collation = 4 [json_name = "collation"]; +inline void SetToDefault::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_ = 0u; +} +inline ::uint32_t SetToDefault::collation() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.collation) + return _internal_collation(); +} +inline void SetToDefault::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.collation) +} +inline ::uint32_t SetToDefault::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; +} +inline void SetToDefault::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; +} + +// int32 location = 5 [json_name = "location"]; +inline void SetToDefault::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t SetToDefault::location() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.location) + return _internal_location(); +} +inline void SetToDefault::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.location) +} +inline ::int32_t SetToDefault::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void SetToDefault::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// CurrentOfExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool CurrentOfExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonValueExpr::clear_formatted_expr() { +inline void CurrentOfExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.formatted_expr_ != nullptr) _impl_.formatted_expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonValueExpr::_internal_formatted_expr() const { +inline const ::pg_query::Node& CurrentOfExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.formatted_expr_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonValueExpr::formatted_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.formatted_expr) - return _internal_formatted_expr(); +inline const ::pg_query::Node& CurrentOfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.xpr) + return _internal_xpr(); } -inline void JsonValueExpr::unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value) { +inline void CurrentOfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.formatted_expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.formatted_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CurrentOfExpr.xpr) } -inline ::pg_query::Node* JsonValueExpr::release_formatted_expr() { +inline ::pg_query::Node* CurrentOfExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.formatted_expr_; - _impl_.formatted_expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -104780,34 +115782,34 @@ inline ::pg_query::Node* JsonValueExpr::release_formatted_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_formatted_expr() { +inline ::pg_query::Node* CurrentOfExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.formatted_expr) + // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.xpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.formatted_expr_; - _impl_.formatted_expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonValueExpr::_internal_mutable_formatted_expr() { +inline ::pg_query::Node* CurrentOfExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.formatted_expr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.formatted_expr_; + return _impl_.xpr_; } -inline ::pg_query::Node* JsonValueExpr::mutable_formatted_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_formatted_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.formatted_expr) +inline ::pg_query::Node* CurrentOfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.xpr) return _msg; } -inline void JsonValueExpr::set_allocated_formatted_expr(::pg_query::Node* value) { +inline void CurrentOfExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.formatted_expr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -104815,54 +115817,157 @@ inline void JsonValueExpr::set_allocated_formatted_expr(::pg_query::Node* value) if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.formatted_expr) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.xpr) } -// .pg_query.JsonFormat format = 3 [json_name = "format"]; -inline bool JsonValueExpr::has_format() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); +// uint32 cvarno = 2 [json_name = "cvarno"]; +inline void CurrentOfExpr::clear_cvarno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cvarno_ = 0u; +} +inline ::uint32_t CurrentOfExpr::cvarno() const { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cvarno) + return _internal_cvarno(); +} +inline void CurrentOfExpr::set_cvarno(::uint32_t value) { + _internal_set_cvarno(value); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cvarno) +} +inline ::uint32_t CurrentOfExpr::_internal_cvarno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cvarno_; +} +inline void CurrentOfExpr::_internal_set_cvarno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cvarno_ = value; +} + +// string cursor_name = 3 [json_name = "cursor_name"]; +inline void CurrentOfExpr::clear_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_name_.ClearToEmpty(); +} +inline const std::string& CurrentOfExpr::cursor_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_name) + return _internal_cursor_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CurrentOfExpr::set_cursor_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_name) +} +inline std::string* CurrentOfExpr::mutable_cursor_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cursor_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.cursor_name) + return _s; +} +inline const std::string& CurrentOfExpr::_internal_cursor_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cursor_name_.Get(); +} +inline void CurrentOfExpr::_internal_set_cursor_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_name_.Set(value, GetArena()); +} +inline std::string* CurrentOfExpr::_internal_mutable_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cursor_name_.Mutable( GetArena()); +} +inline std::string* CurrentOfExpr::release_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.cursor_name) + return _impl_.cursor_name_.Release(); +} +inline void CurrentOfExpr::set_allocated_cursor_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cursor_name_.IsDefault()) { + _impl_.cursor_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.cursor_name) +} + +// int32 cursor_param = 4 [json_name = "cursor_param"]; +inline void CurrentOfExpr::clear_cursor_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_param_ = 0; +} +inline ::int32_t CurrentOfExpr::cursor_param() const { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_param) + return _internal_cursor_param(); +} +inline void CurrentOfExpr::set_cursor_param(::int32_t value) { + _internal_set_cursor_param(value); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_param) +} +inline ::int32_t CurrentOfExpr::_internal_cursor_param() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cursor_param_; +} +inline void CurrentOfExpr::_internal_set_cursor_param(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_param_ = value; +} + +// ------------------------------------------------------------------- + +// NextValueExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool NextValueExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonValueExpr::clear_format() { +inline void NextValueExpr::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.format_ != nullptr) _impl_.format_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::JsonFormat& JsonValueExpr::_internal_format() const { +inline const ::pg_query::Node& NextValueExpr::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonFormat* p = _impl_.format_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::JsonFormat& JsonValueExpr::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.format) - return _internal_format(); +inline const ::pg_query::Node& NextValueExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.xpr) + return _internal_xpr(); } -inline void JsonValueExpr::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { +inline void NextValueExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.format) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NextValueExpr.xpr) } -inline ::pg_query::JsonFormat* JsonValueExpr::release_format() { +inline ::pg_query::Node* NextValueExpr::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::JsonFormat* released = _impl_.format_; - _impl_.format_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -104876,75 +115981,121 @@ inline ::pg_query::JsonFormat* JsonValueExpr::release_format() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonFormat* JsonValueExpr::unsafe_arena_release_format() { +inline ::pg_query::Node* NextValueExpr::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.format) + // @@protoc_insertion_point(field_release:pg_query.NextValueExpr.xpr) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::JsonFormat* temp = _impl_.format_; - _impl_.format_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::JsonFormat* JsonValueExpr::_internal_mutable_format() { +inline ::pg_query::Node* NextValueExpr::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.format_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.format_; + return _impl_.xpr_; } -inline ::pg_query::JsonFormat* JsonValueExpr::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonFormat* _msg = _internal_mutable_format(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.format) +inline ::pg_query::Node* NextValueExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.NextValueExpr.xpr) return _msg; } -inline void JsonValueExpr::set_allocated_format(::pg_query::JsonFormat* value) { +inline void NextValueExpr::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.format) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NextValueExpr.xpr) +} + +// uint32 seqid = 2 [json_name = "seqid"]; +inline void NextValueExpr::clear_seqid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.seqid_ = 0u; +} +inline ::uint32_t NextValueExpr::seqid() const { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.seqid) + return _internal_seqid(); +} +inline void NextValueExpr::set_seqid(::uint32_t value) { + _internal_set_seqid(value); + // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.seqid) +} +inline ::uint32_t NextValueExpr::_internal_seqid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.seqid_; +} +inline void NextValueExpr::_internal_set_seqid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.seqid_ = value; +} + +// uint32 type_id = 3 [json_name = "typeId"]; +inline void NextValueExpr::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_id_ = 0u; +} +inline ::uint32_t NextValueExpr::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.type_id) + return _internal_type_id(); +} +inline void NextValueExpr::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.type_id) +} +inline ::uint32_t NextValueExpr::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; +} +inline void NextValueExpr::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; } // ------------------------------------------------------------------- -// JsonConstructorExpr +// InferenceElem // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool JsonConstructorExpr::has_xpr() const { +inline bool InferenceElem::has_xpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonConstructorExpr::clear_xpr() { +inline void InferenceElem::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonConstructorExpr::_internal_xpr() const { +inline const ::pg_query::Node& InferenceElem::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonConstructorExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.xpr) +inline const ::pg_query::Node& InferenceElem::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.xpr) return _internal_xpr(); } -inline void JsonConstructorExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void InferenceElem::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); @@ -104955,9 +116106,9 @@ inline void JsonConstructorExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.xpr) } -inline ::pg_query::Node* JsonConstructorExpr::release_xpr() { +inline ::pg_query::Node* InferenceElem::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; @@ -104976,16 +116127,16 @@ inline ::pg_query::Node* JsonConstructorExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* InferenceElem::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.InferenceElem.xpr) _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* InferenceElem::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { @@ -104994,12 +116145,12 @@ inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_xpr() { } return _impl_.xpr_; } -inline ::pg_query::Node* JsonConstructorExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* InferenceElem::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.xpr) return _msg; } -inline void JsonConstructorExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void InferenceElem::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -105017,120 +116168,48 @@ inline void JsonConstructorExpr::set_allocated_xpr(::pg_query::Node* value) { } _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.xpr) -} - -// .pg_query.JsonConstructorType type = 2 [json_name = "type"]; -inline void JsonConstructorExpr::clear_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_ = 0; -} -inline ::pg_query::JsonConstructorType JsonConstructorExpr::type() const { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.type) - return _internal_type(); -} -inline void JsonConstructorExpr::set_type(::pg_query::JsonConstructorType value) { - _internal_set_type(value); - // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.type) -} -inline ::pg_query::JsonConstructorType JsonConstructorExpr::_internal_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JsonConstructorType>(_impl_.type_); -} -inline void JsonConstructorExpr::_internal_set_type(::pg_query::JsonConstructorType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_ = value; -} - -// repeated .pg_query.Node args = 3 [json_name = "args"]; -inline int JsonConstructorExpr::_internal_args_size() const { - return _internal_args().size(); -} -inline int JsonConstructorExpr::args_size() const { - return _internal_args_size(); -} -inline void JsonConstructorExpr::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); -} -inline ::pg_query::Node* JsonConstructorExpr::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.args) - return _internal_mutable_args()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonConstructorExpr::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.JsonConstructorExpr.args) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& JsonConstructorExpr::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.args) - return _internal_args().Get(index); -} -inline ::pg_query::Node* JsonConstructorExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.JsonConstructorExpr.args) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonConstructorExpr::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.JsonConstructorExpr.args) - return _internal_args(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -JsonConstructorExpr::_internal_args() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -JsonConstructorExpr::_internal_mutable_args() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.xpr) } -// .pg_query.Node func = 4 [json_name = "func"]; -inline bool JsonConstructorExpr::has_func() const { +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool InferenceElem::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.func_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void JsonConstructorExpr::clear_func() { +inline void InferenceElem::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.func_ != nullptr) _impl_.func_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& JsonConstructorExpr::_internal_func() const { +inline const ::pg_query::Node& InferenceElem::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.func_; + const ::pg_query::Node* p = _impl_.expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonConstructorExpr::func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.func) - return _internal_func(); +inline const ::pg_query::Node& InferenceElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.expr) + return _internal_expr(); } -inline void JsonConstructorExpr::unsafe_arena_set_allocated_func(::pg_query::Node* value) { +inline void InferenceElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.func_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.expr) } -inline ::pg_query::Node* JsonConstructorExpr::release_func() { +inline ::pg_query::Node* InferenceElem::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.func_; - _impl_.func_ = nullptr; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105144,34 +116223,34 @@ inline ::pg_query::Node* JsonConstructorExpr::release_func() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_func() { +inline ::pg_query::Node* InferenceElem::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.func) + // @@protoc_insertion_point(field_release:pg_query.InferenceElem.expr) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.func_; - _impl_.func_ = nullptr; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_func() { +inline ::pg_query::Node* InferenceElem::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.func_ == nullptr) { + if (_impl_.expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.func_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.func_; + return _impl_.expr_; } -inline ::pg_query::Node* JsonConstructorExpr::mutable_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_func(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.func) +inline ::pg_query::Node* InferenceElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.expr) return _msg; } -inline void JsonConstructorExpr::set_allocated_func(::pg_query::Node* value) { +inline void InferenceElem::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.func_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { @@ -105184,49 +116263,99 @@ inline void JsonConstructorExpr::set_allocated_func(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.func) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.expr) } -// .pg_query.Node coercion = 5 [json_name = "coercion"]; -inline bool JsonConstructorExpr::has_coercion() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.coercion_ != nullptr); +// uint32 infercollid = 3 [json_name = "infercollid"]; +inline void InferenceElem::clear_infercollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.infercollid_ = 0u; +} +inline ::uint32_t InferenceElem::infercollid() const { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.infercollid) + return _internal_infercollid(); +} +inline void InferenceElem::set_infercollid(::uint32_t value) { + _internal_set_infercollid(value); + // @@protoc_insertion_point(field_set:pg_query.InferenceElem.infercollid) +} +inline ::uint32_t InferenceElem::_internal_infercollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.infercollid_; +} +inline void InferenceElem::_internal_set_infercollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.infercollid_ = value; +} + +// uint32 inferopclass = 4 [json_name = "inferopclass"]; +inline void InferenceElem::clear_inferopclass() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inferopclass_ = 0u; +} +inline ::uint32_t InferenceElem::inferopclass() const { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.inferopclass) + return _internal_inferopclass(); +} +inline void InferenceElem::set_inferopclass(::uint32_t value) { + _internal_set_inferopclass(value); + // @@protoc_insertion_point(field_set:pg_query.InferenceElem.inferopclass) +} +inline ::uint32_t InferenceElem::_internal_inferopclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inferopclass_; +} +inline void InferenceElem::_internal_set_inferopclass(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inferopclass_ = value; +} + +// ------------------------------------------------------------------- + +// TargetEntry + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool TargetEntry::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); return value; } -inline void JsonConstructorExpr::clear_coercion() { +inline void TargetEntry::clear_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.coercion_ != nullptr) _impl_.coercion_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonConstructorExpr::_internal_coercion() const { +inline const ::pg_query::Node& TargetEntry::_internal_xpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.coercion_; + const ::pg_query::Node* p = _impl_.xpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonConstructorExpr::coercion() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.coercion) - return _internal_coercion(); +inline const ::pg_query::Node& TargetEntry::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.xpr) + return _internal_xpr(); } -inline void JsonConstructorExpr::unsafe_arena_set_allocated_coercion(::pg_query::Node* value) { +inline void TargetEntry::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coercion_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.coercion) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.xpr) } -inline ::pg_query::Node* JsonConstructorExpr::release_coercion() { +inline ::pg_query::Node* TargetEntry::release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.coercion_; - _impl_.coercion_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105240,34 +116369,34 @@ inline ::pg_query::Node* JsonConstructorExpr::release_coercion() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_coercion() { +inline ::pg_query::Node* TargetEntry::unsafe_arena_release_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.coercion) + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.xpr) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.coercion_; - _impl_.coercion_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_coercion() { +inline ::pg_query::Node* TargetEntry::_internal_mutable_xpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.coercion_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.coercion_; + return _impl_.xpr_; } -inline ::pg_query::Node* JsonConstructorExpr::mutable_coercion() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_coercion(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.coercion) +inline ::pg_query::Node* TargetEntry::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.xpr) return _msg; } -inline void JsonConstructorExpr::set_allocated_coercion(::pg_query::Node* value) { +inline void TargetEntry::set_allocated_xpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.coercion_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } if (value != nullptr) { @@ -105275,54 +116404,54 @@ inline void JsonConstructorExpr::set_allocated_coercion(::pg_query::Node* value) if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.coercion) + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.xpr) } -// .pg_query.JsonReturning returning = 6 [json_name = "returning"]; -inline bool JsonConstructorExpr::has_returning() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool TargetEntry::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void JsonConstructorExpr::clear_returning() { +inline void TargetEntry::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::JsonReturning& JsonConstructorExpr::_internal_returning() const { +inline const ::pg_query::Node& TargetEntry::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonReturning* p = _impl_.returning_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::JsonReturning& JsonConstructorExpr::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.returning) - return _internal_returning(); +inline const ::pg_query::Node& TargetEntry::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.expr) + return _internal_expr(); } -inline void JsonConstructorExpr::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { +inline void TargetEntry::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.returning) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.expr) } -inline ::pg_query::JsonReturning* JsonConstructorExpr::release_returning() { +inline ::pg_query::Node* TargetEntry::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::JsonReturning* released = _impl_.returning_; - _impl_.returning_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105336,162 +116465,334 @@ inline ::pg_query::JsonReturning* JsonConstructorExpr::release_returning() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonReturning* JsonConstructorExpr::unsafe_arena_release_returning() { +inline ::pg_query::Node* TargetEntry::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.returning) + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.expr) - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::JsonReturning* temp = _impl_.returning_; - _impl_.returning_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::JsonReturning* JsonConstructorExpr::_internal_mutable_returning() { +inline ::pg_query::Node* TargetEntry::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.returning_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.returning_; + return _impl_.expr_; } -inline ::pg_query::JsonReturning* JsonConstructorExpr::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.returning) +inline ::pg_query::Node* TargetEntry::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.expr) return _msg; } -inline void JsonConstructorExpr::set_allocated_returning(::pg_query::JsonReturning* value) { +inline void TargetEntry::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.returning) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.expr) } -// bool absent_on_null = 7 [json_name = "absent_on_null"]; -inline void JsonConstructorExpr::clear_absent_on_null() { +// int32 resno = 3 [json_name = "resno"]; +inline void TargetEntry::clear_resno() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.absent_on_null_ = false; + _impl_.resno_ = 0; } -inline bool JsonConstructorExpr::absent_on_null() const { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.absent_on_null) - return _internal_absent_on_null(); +inline ::int32_t TargetEntry::resno() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resno) + return _internal_resno(); } -inline void JsonConstructorExpr::set_absent_on_null(bool value) { - _internal_set_absent_on_null(value); - // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.absent_on_null) +inline void TargetEntry::set_resno(::int32_t value) { + _internal_set_resno(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resno) } -inline bool JsonConstructorExpr::_internal_absent_on_null() const { +inline ::int32_t TargetEntry::_internal_resno() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.absent_on_null_; + return _impl_.resno_; } -inline void JsonConstructorExpr::_internal_set_absent_on_null(bool value) { +inline void TargetEntry::_internal_set_resno(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.absent_on_null_ = value; + _impl_.resno_ = value; } -// bool unique = 8 [json_name = "unique"]; -inline void JsonConstructorExpr::clear_unique() { +// string resname = 4 [json_name = "resname"]; +inline void TargetEntry::clear_resname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.unique_ = false; + _impl_.resname_.ClearToEmpty(); } -inline bool JsonConstructorExpr::unique() const { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.unique) - return _internal_unique(); +inline const std::string& TargetEntry::resname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resname) + return _internal_resname(); } -inline void JsonConstructorExpr::set_unique(bool value) { - _internal_set_unique(value); - // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.unique) +template +inline PROTOBUF_ALWAYS_INLINE void TargetEntry::set_resname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resname) } -inline bool JsonConstructorExpr::_internal_unique() const { +inline std::string* TargetEntry::mutable_resname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_resname(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.resname) + return _s; +} +inline const std::string& TargetEntry::_internal_resname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.unique_; + return _impl_.resname_.Get(); } -inline void JsonConstructorExpr::_internal_set_unique(bool value) { +inline void TargetEntry::_internal_set_resname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.unique_ = value; + _impl_.resname_.Set(value, GetArena()); +} +inline std::string* TargetEntry::_internal_mutable_resname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.resname_.Mutable( GetArena()); +} +inline std::string* TargetEntry::release_resname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.resname) + return _impl_.resname_.Release(); +} +inline void TargetEntry::set_allocated_resname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.resname_.IsDefault()) { + _impl_.resname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.resname) } -// int32 location = 9 [json_name = "location"]; -inline void JsonConstructorExpr::clear_location() { +// uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; +inline void TargetEntry::clear_ressortgroupref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.ressortgroupref_ = 0u; } -inline ::int32_t JsonConstructorExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.location) - return _internal_location(); +inline ::uint32_t TargetEntry::ressortgroupref() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.ressortgroupref) + return _internal_ressortgroupref(); } -inline void JsonConstructorExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.location) +inline void TargetEntry::set_ressortgroupref(::uint32_t value) { + _internal_set_ressortgroupref(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.ressortgroupref) } -inline ::int32_t JsonConstructorExpr::_internal_location() const { +inline ::uint32_t TargetEntry::_internal_ressortgroupref() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.ressortgroupref_; } -inline void JsonConstructorExpr::_internal_set_location(::int32_t value) { +inline void TargetEntry::_internal_set_ressortgroupref(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.ressortgroupref_ = value; +} + +// uint32 resorigtbl = 6 [json_name = "resorigtbl"]; +inline void TargetEntry::clear_resorigtbl() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resorigtbl_ = 0u; +} +inline ::uint32_t TargetEntry::resorigtbl() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigtbl) + return _internal_resorigtbl(); +} +inline void TargetEntry::set_resorigtbl(::uint32_t value) { + _internal_set_resorigtbl(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigtbl) +} +inline ::uint32_t TargetEntry::_internal_resorigtbl() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resorigtbl_; +} +inline void TargetEntry::_internal_set_resorigtbl(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resorigtbl_ = value; +} + +// int32 resorigcol = 7 [json_name = "resorigcol"]; +inline void TargetEntry::clear_resorigcol() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resorigcol_ = 0; +} +inline ::int32_t TargetEntry::resorigcol() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigcol) + return _internal_resorigcol(); +} +inline void TargetEntry::set_resorigcol(::int32_t value) { + _internal_set_resorigcol(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigcol) +} +inline ::int32_t TargetEntry::_internal_resorigcol() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resorigcol_; +} +inline void TargetEntry::_internal_set_resorigcol(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resorigcol_ = value; +} + +// bool resjunk = 8 [json_name = "resjunk"]; +inline void TargetEntry::clear_resjunk() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resjunk_ = false; +} +inline bool TargetEntry::resjunk() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resjunk) + return _internal_resjunk(); +} +inline void TargetEntry::set_resjunk(bool value) { + _internal_set_resjunk(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resjunk) +} +inline bool TargetEntry::_internal_resjunk() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resjunk_; +} +inline void TargetEntry::_internal_set_resjunk(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resjunk_ = value; } // ------------------------------------------------------------------- -// JsonIsPredicate +// RangeTblRef -// .pg_query.Node expr = 1 [json_name = "expr"]; -inline bool JsonIsPredicate::has_expr() const { +// int32 rtindex = 1 [json_name = "rtindex"]; +inline void RangeTblRef::clear_rtindex() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtindex_ = 0; +} +inline ::int32_t RangeTblRef::rtindex() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblRef.rtindex) + return _internal_rtindex(); +} +inline void RangeTblRef::set_rtindex(::int32_t value) { + _internal_set_rtindex(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblRef.rtindex) +} +inline ::int32_t RangeTblRef::_internal_rtindex() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtindex_; +} +inline void RangeTblRef::_internal_set_rtindex(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rtindex_ = value; +} + +// ------------------------------------------------------------------- + +// JoinExpr + +// .pg_query.JoinType jointype = 1 [json_name = "jointype"]; +inline void JoinExpr::clear_jointype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.jointype_ = 0; +} +inline ::pg_query::JoinType JoinExpr::jointype() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.jointype) + return _internal_jointype(); +} +inline void JoinExpr::set_jointype(::pg_query::JoinType value) { + _internal_set_jointype(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.jointype) +} +inline ::pg_query::JoinType JoinExpr::_internal_jointype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JoinType>(_impl_.jointype_); +} +inline void JoinExpr::_internal_set_jointype(::pg_query::JoinType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.jointype_ = value; +} + +// bool is_natural = 2 [json_name = "isNatural"]; +inline void JoinExpr::clear_is_natural() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_natural_ = false; +} +inline bool JoinExpr::is_natural() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.is_natural) + return _internal_is_natural(); +} +inline void JoinExpr::set_is_natural(bool value) { + _internal_set_is_natural(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.is_natural) +} +inline bool JoinExpr::_internal_is_natural() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_natural_; +} +inline void JoinExpr::_internal_set_is_natural(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_natural_ = value; +} + +// .pg_query.Node larg = 3 [json_name = "larg"]; +inline bool JoinExpr::has_larg() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.larg_ != nullptr); return value; } -inline void JsonIsPredicate::clear_expr() { +inline void JoinExpr::clear_larg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + if (_impl_.larg_ != nullptr) _impl_.larg_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonIsPredicate::_internal_expr() const { +inline const ::pg_query::Node& JoinExpr::_internal_larg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; + const ::pg_query::Node* p = _impl_.larg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JsonIsPredicate::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.expr) - return _internal_expr(); +inline const ::pg_query::Node& JoinExpr::larg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.larg) + return _internal_larg(); } -inline void JsonIsPredicate::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void JoinExpr::unsafe_arena_set_allocated_larg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.larg_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.larg) } -inline ::pg_query::Node* JsonIsPredicate::release_expr() { +inline ::pg_query::Node* JoinExpr::release_larg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + ::pg_query::Node* released = _impl_.larg_; + _impl_.larg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105505,34 +116806,34 @@ inline ::pg_query::Node* JsonIsPredicate::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonIsPredicate::unsafe_arena_release_expr() { +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_larg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.expr) + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.larg) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + ::pg_query::Node* temp = _impl_.larg_; + _impl_.larg_ = nullptr; return temp; } -inline ::pg_query::Node* JsonIsPredicate::_internal_mutable_expr() { +inline ::pg_query::Node* JoinExpr::_internal_mutable_larg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.expr_ == nullptr) { + if (_impl_.larg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.expr_; + return _impl_.larg_; } -inline ::pg_query::Node* JsonIsPredicate::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.expr) +inline ::pg_query::Node* JoinExpr::mutable_larg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_larg(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.larg) return _msg; } -inline void JsonIsPredicate::set_allocated_expr(::pg_query::Node* value) { +inline void JoinExpr::set_allocated_larg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.larg_); } if (value != nullptr) { @@ -105545,49 +116846,49 @@ inline void JsonIsPredicate::set_allocated_expr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.expr) + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.larg) } -// .pg_query.JsonFormat format = 2 [json_name = "format"]; -inline bool JsonIsPredicate::has_format() const { +// .pg_query.Node rarg = 4 [json_name = "rarg"]; +inline bool JoinExpr::has_rarg() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.rarg_ != nullptr); return value; } -inline void JsonIsPredicate::clear_format() { +inline void JoinExpr::clear_rarg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + if (_impl_.rarg_ != nullptr) _impl_.rarg_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::JsonFormat& JsonIsPredicate::_internal_format() const { +inline const ::pg_query::Node& JoinExpr::_internal_rarg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonFormat* p = _impl_.format_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); + const ::pg_query::Node* p = _impl_.rarg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::JsonFormat& JsonIsPredicate::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.format) - return _internal_format(); +inline const ::pg_query::Node& JoinExpr::rarg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rarg) + return _internal_rarg(); } -inline void JsonIsPredicate::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { +inline void JoinExpr::unsafe_arena_set_allocated_rarg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rarg_); } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.format) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.rarg) } -inline ::pg_query::JsonFormat* JsonIsPredicate::release_format() { +inline ::pg_query::Node* JoinExpr::release_rarg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonFormat* released = _impl_.format_; - _impl_.format_ = nullptr; + ::pg_query::Node* released = _impl_.rarg_; + _impl_.rarg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105601,38 +116902,38 @@ inline ::pg_query::JsonFormat* JsonIsPredicate::release_format() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonFormat* JsonIsPredicate::unsafe_arena_release_format() { +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_rarg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.format) + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.rarg) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonFormat* temp = _impl_.format_; - _impl_.format_ = nullptr; + ::pg_query::Node* temp = _impl_.rarg_; + _impl_.rarg_ = nullptr; return temp; } -inline ::pg_query::JsonFormat* JsonIsPredicate::_internal_mutable_format() { +inline ::pg_query::Node* JoinExpr::_internal_mutable_rarg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.format_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + if (_impl_.rarg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.format_; + return _impl_.rarg_; } -inline ::pg_query::JsonFormat* JsonIsPredicate::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonFormat* _msg = _internal_mutable_format(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.format) +inline ::pg_query::Node* JoinExpr::mutable_rarg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rarg(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.rarg) return _msg; } -inline void JsonIsPredicate::set_allocated_format(::pg_query::JsonFormat* value) { +inline void JoinExpr::set_allocated_rarg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.rarg_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -105641,122 +116942,98 @@ inline void JsonIsPredicate::set_allocated_format(::pg_query::JsonFormat* value) _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.format) + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.rarg) } -// .pg_query.JsonValueType item_type = 3 [json_name = "item_type"]; -inline void JsonIsPredicate::clear_item_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.item_type_ = 0; -} -inline ::pg_query::JsonValueType JsonIsPredicate::item_type() const { - // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.item_type) - return _internal_item_type(); -} -inline void JsonIsPredicate::set_item_type(::pg_query::JsonValueType value) { - _internal_set_item_type(value); - // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.item_type) -} -inline ::pg_query::JsonValueType JsonIsPredicate::_internal_item_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JsonValueType>(_impl_.item_type_); +// repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; +inline int JoinExpr::_internal_using_clause_size() const { + return _internal_using_clause().size(); } -inline void JsonIsPredicate::_internal_set_item_type(::pg_query::JsonValueType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.item_type_ = value; +inline int JoinExpr::using_clause_size() const { + return _internal_using_clause_size(); } - -// bool unique_keys = 4 [json_name = "unique_keys"]; -inline void JsonIsPredicate::clear_unique_keys() { +inline void JoinExpr::clear_using_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.unique_keys_ = false; -} -inline bool JsonIsPredicate::unique_keys() const { - // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.unique_keys) - return _internal_unique_keys(); -} -inline void JsonIsPredicate::set_unique_keys(bool value) { - _internal_set_unique_keys(value); - // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.unique_keys) + _impl_.using_clause_.Clear(); } -inline bool JsonIsPredicate::_internal_unique_keys() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.unique_keys_; +inline ::pg_query::Node* JoinExpr::mutable_using_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.using_clause) + return _internal_mutable_using_clause()->Mutable(index); } -inline void JsonIsPredicate::_internal_set_unique_keys(bool value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JoinExpr::mutable_using_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JoinExpr.using_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.unique_keys_ = value; + return _internal_mutable_using_clause(); } - -// int32 location = 5 [json_name = "location"]; -inline void JsonIsPredicate::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; +inline const ::pg_query::Node& JoinExpr::using_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.using_clause) + return _internal_using_clause().Get(index); } -inline ::int32_t JsonIsPredicate::location() const { - // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.location) - return _internal_location(); +inline ::pg_query::Node* JoinExpr::add_using_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_using_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JoinExpr.using_clause) + return _add; } -inline void JsonIsPredicate::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.location) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JoinExpr::using_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JoinExpr.using_clause) + return _internal_using_clause(); } -inline ::int32_t JsonIsPredicate::_internal_location() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JoinExpr::_internal_using_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.using_clause_; } -inline void JsonIsPredicate::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JoinExpr::_internal_mutable_using_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.using_clause_; } -// ------------------------------------------------------------------- - -// NullTest - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NullTest::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; +inline bool JoinExpr::has_join_using_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); return value; } -inline void NullTest::clear_xpr() { +inline void JoinExpr::clear_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& NullTest::_internal_xpr() const { +inline const ::pg_query::Alias& JoinExpr::_internal_join_using_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::Alias* p = _impl_.join_using_alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Node& NullTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NullTest.xpr) - return _internal_xpr(); +inline const ::pg_query::Alias& JoinExpr::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.join_using_alias) + return _internal_join_using_alias(); } -inline void NullTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JoinExpr::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.join_using_alias) } -inline ::pg_query::Node* NullTest::release_xpr() { +inline ::pg_query::Alias* JoinExpr::release_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* released = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105770,89 +117047,89 @@ inline ::pg_query::Node* NullTest::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NullTest::unsafe_arena_release_xpr() { +inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NullTest.xpr) + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.join_using_alias) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* temp = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; return temp; } -inline ::pg_query::Node* NullTest::_internal_mutable_xpr() { +inline ::pg_query::Alias* JoinExpr::_internal_mutable_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.join_using_alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.xpr_; + return _impl_.join_using_alias_; } -inline ::pg_query::Node* NullTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NullTest.xpr) +inline ::pg_query::Alias* JoinExpr::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.join_using_alias) return _msg; } -inline void NullTest::set_allocated_xpr(::pg_query::Node* value) { +inline void JoinExpr::set_allocated_join_using_alias(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.xpr) + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.join_using_alias) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool NullTest::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// .pg_query.Node quals = 7 [json_name = "quals"]; +inline bool JoinExpr::has_quals() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); return value; } -inline void NullTest::clear_arg() { +inline void JoinExpr::clear_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& NullTest::_internal_arg() const { +inline const ::pg_query::Node& JoinExpr::_internal_quals() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.quals_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NullTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NullTest.arg) - return _internal_arg(); +inline const ::pg_query::Node& JoinExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.quals) + return _internal_quals(); } -inline void NullTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void JoinExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.quals) } -inline ::pg_query::Node* NullTest::release_arg() { +inline ::pg_query::Node* JoinExpr::release_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* released = _impl_.quals_; + _impl_.quals_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -105866,34 +117143,34 @@ inline ::pg_query::Node* NullTest::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NullTest::unsafe_arena_release_arg() { +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NullTest.arg) + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.quals) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* temp = _impl_.quals_; + _impl_.quals_ = nullptr; return temp; } -inline ::pg_query::Node* NullTest::_internal_mutable_arg() { +inline ::pg_query::Node* JoinExpr::_internal_mutable_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.quals_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.quals_; } -inline ::pg_query::Node* NullTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.NullTest.arg) +inline ::pg_query::Node* JoinExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_quals(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.quals) return _msg; } -inline void NullTest::set_allocated_arg(::pg_query::Node* value) { +inline void JoinExpr::set_allocated_quals(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); } if (value != nullptr) { @@ -105901,127 +117178,54 @@ inline void NullTest::set_allocated_arg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.arg) -} - -// .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; -inline void NullTest::clear_nulltesttype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.nulltesttype_ = 0; -} -inline ::pg_query::NullTestType NullTest::nulltesttype() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.nulltesttype) - return _internal_nulltesttype(); -} -inline void NullTest::set_nulltesttype(::pg_query::NullTestType value) { - _internal_set_nulltesttype(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.nulltesttype) -} -inline ::pg_query::NullTestType NullTest::_internal_nulltesttype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::NullTestType>(_impl_.nulltesttype_); -} -inline void NullTest::_internal_set_nulltesttype(::pg_query::NullTestType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.nulltesttype_ = value; -} - -// bool argisrow = 4 [json_name = "argisrow"]; -inline void NullTest::clear_argisrow() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.argisrow_ = false; -} -inline bool NullTest::argisrow() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.argisrow) - return _internal_argisrow(); -} -inline void NullTest::set_argisrow(bool value) { - _internal_set_argisrow(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.argisrow) -} -inline bool NullTest::_internal_argisrow() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.argisrow_; -} -inline void NullTest::_internal_set_argisrow(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.argisrow_ = value; -} - -// int32 location = 5 [json_name = "location"]; -inline void NullTest::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t NullTest::location() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.location) - return _internal_location(); -} -inline void NullTest::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.location) -} -inline ::int32_t NullTest::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void NullTest::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.quals) } -// ------------------------------------------------------------------- - -// BooleanTest - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool BooleanTest::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.Alias alias = 8 [json_name = "alias"]; +inline bool JoinExpr::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); return value; } -inline void BooleanTest::clear_xpr() { +inline void JoinExpr::clear_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& BooleanTest::_internal_xpr() const { +inline const ::pg_query::Alias& JoinExpr::_internal_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Node& BooleanTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.xpr) - return _internal_xpr(); +inline const ::pg_query::Alias& JoinExpr::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.alias) + return _internal_alias(); } -inline void BooleanTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void JoinExpr::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.alias) } -inline ::pg_query::Node* BooleanTest::release_xpr() { +inline ::pg_query::Alias* JoinExpr::release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106035,89 +117239,165 @@ inline ::pg_query::Node* BooleanTest::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* BooleanTest::unsafe_arena_release_xpr() { +inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.BooleanTest.xpr) + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.alias) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; return temp; } -inline ::pg_query::Node* BooleanTest::_internal_mutable_xpr() { +inline ::pg_query::Alias* JoinExpr::_internal_mutable_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.xpr_; + return _impl_.alias_; } -inline ::pg_query::Node* BooleanTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.xpr) +inline ::pg_query::Alias* JoinExpr::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.alias) return _msg; } -inline void BooleanTest::set_allocated_xpr(::pg_query::Node* value) { +inline void JoinExpr::set_allocated_alias(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.xpr) + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.alias) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool BooleanTest::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// int32 rtindex = 9 [json_name = "rtindex"]; +inline void JoinExpr::clear_rtindex() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtindex_ = 0; +} +inline ::int32_t JoinExpr::rtindex() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rtindex) + return _internal_rtindex(); +} +inline void JoinExpr::set_rtindex(::int32_t value) { + _internal_set_rtindex(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.rtindex) +} +inline ::int32_t JoinExpr::_internal_rtindex() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtindex_; +} +inline void JoinExpr::_internal_set_rtindex(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rtindex_ = value; +} + +// ------------------------------------------------------------------- + +// FromExpr + +// repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; +inline int FromExpr::_internal_fromlist_size() const { + return _internal_fromlist().size(); +} +inline int FromExpr::fromlist_size() const { + return _internal_fromlist_size(); +} +inline void FromExpr::clear_fromlist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fromlist_.Clear(); +} +inline ::pg_query::Node* FromExpr::mutable_fromlist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.fromlist) + return _internal_mutable_fromlist()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FromExpr::mutable_fromlist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FromExpr.fromlist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fromlist(); +} +inline const ::pg_query::Node& FromExpr::fromlist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FromExpr.fromlist) + return _internal_fromlist().Get(index); +} +inline ::pg_query::Node* FromExpr::add_fromlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fromlist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FromExpr.fromlist) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FromExpr::fromlist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FromExpr.fromlist) + return _internal_fromlist(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FromExpr::_internal_fromlist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fromlist_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FromExpr::_internal_mutable_fromlist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fromlist_; +} + +// .pg_query.Node quals = 2 [json_name = "quals"]; +inline bool FromExpr::has_quals() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); return value; } -inline void BooleanTest::clear_arg() { +inline void FromExpr::clear_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& BooleanTest::_internal_arg() const { +inline const ::pg_query::Node& FromExpr::_internal_quals() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.quals_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& BooleanTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.arg) - return _internal_arg(); +inline const ::pg_query::Node& FromExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FromExpr.quals) + return _internal_quals(); } -inline void BooleanTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void FromExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FromExpr.quals) } -inline ::pg_query::Node* BooleanTest::release_arg() { +inline ::pg_query::Node* FromExpr::release_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.quals_; + _impl_.quals_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106131,34 +117411,34 @@ inline ::pg_query::Node* BooleanTest::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* BooleanTest::unsafe_arena_release_arg() { +inline ::pg_query::Node* FromExpr::unsafe_arena_release_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.BooleanTest.arg) + // @@protoc_insertion_point(field_release:pg_query.FromExpr.quals) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.quals_; + _impl_.quals_ = nullptr; return temp; } -inline ::pg_query::Node* BooleanTest::_internal_mutable_arg() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { +inline ::pg_query::Node* FromExpr::_internal_mutable_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.quals_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.quals_; } -inline ::pg_query::Node* BooleanTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.arg) +inline ::pg_query::Node* FromExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_quals(); + // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.quals) return _msg; } -inline void BooleanTest::set_allocated_arg(::pg_query::Node* value) { +inline void FromExpr::set_allocated_quals(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); } if (value != nullptr) { @@ -106166,104 +117446,130 @@ inline void BooleanTest::set_allocated_arg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.arg) + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FromExpr.quals) } -// .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; -inline void BooleanTest::clear_booltesttype() { +// ------------------------------------------------------------------- + +// OnConflictExpr + +// .pg_query.OnConflictAction action = 1 [json_name = "action"]; +inline void OnConflictExpr::clear_action() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.booltesttype_ = 0; + _impl_.action_ = 0; } -inline ::pg_query::BoolTestType BooleanTest::booltesttype() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.booltesttype) - return _internal_booltesttype(); +inline ::pg_query::OnConflictAction OnConflictExpr::action() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.action) + return _internal_action(); } -inline void BooleanTest::set_booltesttype(::pg_query::BoolTestType value) { - _internal_set_booltesttype(value); - // @@protoc_insertion_point(field_set:pg_query.BooleanTest.booltesttype) +inline void OnConflictExpr::set_action(::pg_query::OnConflictAction value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.action) } -inline ::pg_query::BoolTestType BooleanTest::_internal_booltesttype() const { +inline ::pg_query::OnConflictAction OnConflictExpr::_internal_action() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::BoolTestType>(_impl_.booltesttype_); + return static_cast<::pg_query::OnConflictAction>(_impl_.action_); } -inline void BooleanTest::_internal_set_booltesttype(::pg_query::BoolTestType value) { +inline void OnConflictExpr::_internal_set_action(::pg_query::OnConflictAction value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.booltesttype_ = value; + _impl_.action_ = value; } -// int32 location = 4 [json_name = "location"]; -inline void BooleanTest::clear_location() { +// repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; +inline int OnConflictExpr::_internal_arbiter_elems_size() const { + return _internal_arbiter_elems().size(); +} +inline int OnConflictExpr::arbiter_elems_size() const { + return _internal_arbiter_elems_size(); +} +inline void OnConflictExpr::clear_arbiter_elems() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.arbiter_elems_.Clear(); } -inline ::int32_t BooleanTest::location() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.location) - return _internal_location(); +inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_elems(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_elems) + return _internal_mutable_arbiter_elems()->Mutable(index); } -inline void BooleanTest::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.BooleanTest.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_arbiter_elems() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.arbiter_elems) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_arbiter_elems(); } -inline ::int32_t BooleanTest::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline const ::pg_query::Node& OnConflictExpr::arbiter_elems(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_elems) + return _internal_arbiter_elems().Get(index); } -inline void BooleanTest::_internal_set_location(::int32_t value) { +inline ::pg_query::Node* OnConflictExpr::add_arbiter_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + ::pg_query::Node* _add = _internal_mutable_arbiter_elems()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.arbiter_elems) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::arbiter_elems() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.arbiter_elems) + return _internal_arbiter_elems(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_arbiter_elems() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.arbiter_elems_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_arbiter_elems() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.arbiter_elems_; } -// ------------------------------------------------------------------- - -// CoerceToDomain - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceToDomain::has_xpr() const { +// .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; +inline bool OnConflictExpr::has_arbiter_where() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arbiter_where_ != nullptr); return value; } -inline void CoerceToDomain::clear_xpr() { +inline void OnConflictExpr::clear_arbiter_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.arbiter_where_ != nullptr) _impl_.arbiter_where_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CoerceToDomain::_internal_xpr() const { +inline const ::pg_query::Node& OnConflictExpr::_internal_arbiter_where() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.arbiter_where_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceToDomain::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& OnConflictExpr::arbiter_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_where) + return _internal_arbiter_where(); } -inline void CoerceToDomain::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void OnConflictExpr::unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arbiter_where_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.arbiter_where) } -inline ::pg_query::Node* CoerceToDomain::release_xpr() { +inline ::pg_query::Node* OnConflictExpr::release_arbiter_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.arbiter_where_; + _impl_.arbiter_where_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106277,34 +117583,34 @@ inline ::pg_query::Node* CoerceToDomain::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_xpr() { +inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_arbiter_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.xpr) + // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.arbiter_where) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.arbiter_where_; + _impl_.arbiter_where_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomain::_internal_mutable_xpr() { +inline ::pg_query::Node* OnConflictExpr::_internal_mutable_arbiter_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.arbiter_where_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.arbiter_where_; } -inline ::pg_query::Node* CoerceToDomain::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.xpr) +inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arbiter_where(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_where) return _msg; } -inline void CoerceToDomain::set_allocated_xpr(::pg_query::Node* value) { +inline void OnConflictExpr::set_allocated_arbiter_where(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arbiter_where_); } if (value != nullptr) { @@ -106317,49 +117623,121 @@ inline void CoerceToDomain::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.xpr) + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.arbiter_where) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CoerceToDomain::has_arg() const { +// uint32 constraint = 4 [json_name = "constraint"]; +inline void OnConflictExpr::clear_constraint() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraint_ = 0u; +} +inline ::uint32_t OnConflictExpr::constraint() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.constraint) + return _internal_constraint(); +} +inline void OnConflictExpr::set_constraint(::uint32_t value) { + _internal_set_constraint(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.constraint) +} +inline ::uint32_t OnConflictExpr::_internal_constraint() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraint_; +} +inline void OnConflictExpr::_internal_set_constraint(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.constraint_ = value; +} + +// repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; +inline int OnConflictExpr::_internal_on_conflict_set_size() const { + return _internal_on_conflict_set().size(); +} +inline int OnConflictExpr::on_conflict_set_size() const { + return _internal_on_conflict_set_size(); +} +inline void OnConflictExpr::clear_on_conflict_set() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.on_conflict_set_.Clear(); +} +inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_set(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_set) + return _internal_mutable_on_conflict_set()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_on_conflict_set() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.on_conflict_set) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_on_conflict_set(); +} +inline const ::pg_query::Node& OnConflictExpr::on_conflict_set(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_set) + return _internal_on_conflict_set().Get(index); +} +inline ::pg_query::Node* OnConflictExpr::add_on_conflict_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_on_conflict_set()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.on_conflict_set) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::on_conflict_set() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.on_conflict_set) + return _internal_on_conflict_set(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_on_conflict_set() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.on_conflict_set_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_on_conflict_set() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.on_conflict_set_; +} + +// .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; +inline bool OnConflictExpr::has_on_conflict_where() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.on_conflict_where_ != nullptr); return value; } -inline void CoerceToDomain::clear_arg() { +inline void OnConflictExpr::clear_on_conflict_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + if (_impl_.on_conflict_where_ != nullptr) _impl_.on_conflict_where_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CoerceToDomain::_internal_arg() const { +inline const ::pg_query::Node& OnConflictExpr::_internal_on_conflict_where() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.on_conflict_where_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceToDomain::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.arg) - return _internal_arg(); +inline const ::pg_query::Node& OnConflictExpr::on_conflict_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_where) + return _internal_on_conflict_where(); } -inline void CoerceToDomain::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void OnConflictExpr::unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_where_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.on_conflict_where) } -inline ::pg_query::Node* CoerceToDomain::release_arg() { +inline ::pg_query::Node* OnConflictExpr::release_on_conflict_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* released = _impl_.on_conflict_where_; + _impl_.on_conflict_where_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106373,34 +117751,34 @@ inline ::pg_query::Node* CoerceToDomain::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_arg() { +inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_on_conflict_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.arg) + // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.on_conflict_where) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* temp = _impl_.on_conflict_where_; + _impl_.on_conflict_where_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomain::_internal_mutable_arg() { +inline ::pg_query::Node* OnConflictExpr::_internal_mutable_on_conflict_where() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.arg_ == nullptr) { + if (_impl_.on_conflict_where_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.on_conflict_where_; } -inline ::pg_query::Node* CoerceToDomain::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.arg) +inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_on_conflict_where(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_where) return _msg; } -inline void CoerceToDomain::set_allocated_arg(::pg_query::Node* value) { +inline void OnConflictExpr::set_allocated_on_conflict_where(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.on_conflict_where_); } if (value != nullptr) { @@ -106413,168 +117791,194 @@ inline void CoerceToDomain::set_allocated_arg(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.arg) + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.on_conflict_where) } -// uint32 resulttype = 3 [json_name = "resulttype"]; -inline void CoerceToDomain::clear_resulttype() { +// int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; +inline void OnConflictExpr::clear_excl_rel_index() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttype_ = 0u; + _impl_.excl_rel_index_ = 0; } -inline ::uint32_t CoerceToDomain::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttype) - return _internal_resulttype(); +inline ::int32_t OnConflictExpr::excl_rel_index() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_index) + return _internal_excl_rel_index(); } -inline void CoerceToDomain::set_resulttype(::uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttype) +inline void OnConflictExpr::set_excl_rel_index(::int32_t value) { + _internal_set_excl_rel_index(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.excl_rel_index) } -inline ::uint32_t CoerceToDomain::_internal_resulttype() const { +inline ::int32_t OnConflictExpr::_internal_excl_rel_index() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttype_; + return _impl_.excl_rel_index_; } -inline void CoerceToDomain::_internal_set_resulttype(::uint32_t value) { +inline void OnConflictExpr::_internal_set_excl_rel_index(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resulttype_ = value; + _impl_.excl_rel_index_ = value; } -// int32 resulttypmod = 4 [json_name = "resulttypmod"]; -inline void CoerceToDomain::clear_resulttypmod() { +// repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; +inline int OnConflictExpr::_internal_excl_rel_tlist_size() const { + return _internal_excl_rel_tlist().size(); +} +inline int OnConflictExpr::excl_rel_tlist_size() const { + return _internal_excl_rel_tlist_size(); +} +inline void OnConflictExpr::clear_excl_rel_tlist() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resulttypmod_ = 0; + _impl_.excl_rel_tlist_.Clear(); } -inline ::int32_t CoerceToDomain::resulttypmod() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttypmod) - return _internal_resulttypmod(); +inline ::pg_query::Node* OnConflictExpr::mutable_excl_rel_tlist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_mutable_excl_rel_tlist()->Mutable(index); } -inline void CoerceToDomain::set_resulttypmod(::int32_t value) { - _internal_set_resulttypmod(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttypmod) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_excl_rel_tlist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.excl_rel_tlist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_excl_rel_tlist(); } -inline ::int32_t CoerceToDomain::_internal_resulttypmod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resulttypmod_; +inline const ::pg_query::Node& OnConflictExpr::excl_rel_tlist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_excl_rel_tlist().Get(index); } -inline void CoerceToDomain::_internal_set_resulttypmod(::int32_t value) { +inline ::pg_query::Node* OnConflictExpr::add_excl_rel_tlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resulttypmod_ = value; + ::pg_query::Node* _add = _internal_mutable_excl_rel_tlist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.excl_rel_tlist) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::excl_rel_tlist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_excl_rel_tlist(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_excl_rel_tlist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.excl_rel_tlist_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_excl_rel_tlist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.excl_rel_tlist_; } -// uint32 resultcollid = 5 [json_name = "resultcollid"]; -inline void CoerceToDomain::clear_resultcollid() { +// ------------------------------------------------------------------- + +// Query + +// .pg_query.CmdType command_type = 1 [json_name = "commandType"]; +inline void Query::clear_command_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resultcollid_ = 0u; + _impl_.command_type_ = 0; } -inline ::uint32_t CoerceToDomain::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resultcollid) - return _internal_resultcollid(); +inline ::pg_query::CmdType Query::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.Query.command_type) + return _internal_command_type(); } -inline void CoerceToDomain::set_resultcollid(::uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resultcollid) +inline void Query::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.Query.command_type) } -inline ::uint32_t CoerceToDomain::_internal_resultcollid() const { +inline ::pg_query::CmdType Query::_internal_command_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resultcollid_; + return static_cast<::pg_query::CmdType>(_impl_.command_type_); } -inline void CoerceToDomain::_internal_set_resultcollid(::uint32_t value) { +inline void Query::_internal_set_command_type(::pg_query::CmdType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.resultcollid_ = value; + _impl_.command_type_ = value; } -// .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; -inline void CoerceToDomain::clear_coercionformat() { +// .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; +inline void Query::clear_query_source() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coercionformat_ = 0; + _impl_.query_source_ = 0; } -inline ::pg_query::CoercionForm CoerceToDomain::coercionformat() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.coercionformat) - return _internal_coercionformat(); +inline ::pg_query::QuerySource Query::query_source() const { + // @@protoc_insertion_point(field_get:pg_query.Query.query_source) + return _internal_query_source(); } -inline void CoerceToDomain::set_coercionformat(::pg_query::CoercionForm value) { - _internal_set_coercionformat(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.coercionformat) +inline void Query::set_query_source(::pg_query::QuerySource value) { + _internal_set_query_source(value); + // @@protoc_insertion_point(field_set:pg_query.Query.query_source) } -inline ::pg_query::CoercionForm CoerceToDomain::_internal_coercionformat() const { +inline ::pg_query::QuerySource Query::_internal_query_source() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.coercionformat_); + return static_cast<::pg_query::QuerySource>(_impl_.query_source_); } -inline void CoerceToDomain::_internal_set_coercionformat(::pg_query::CoercionForm value) { +inline void Query::_internal_set_query_source(::pg_query::QuerySource value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.coercionformat_ = value; + _impl_.query_source_ = value; } -// int32 location = 7 [json_name = "location"]; -inline void CoerceToDomain::clear_location() { +// bool can_set_tag = 3 [json_name = "canSetTag"]; +inline void Query::clear_can_set_tag() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.can_set_tag_ = false; } -inline ::int32_t CoerceToDomain::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.location) - return _internal_location(); +inline bool Query::can_set_tag() const { + // @@protoc_insertion_point(field_get:pg_query.Query.can_set_tag) + return _internal_can_set_tag(); } -inline void CoerceToDomain::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.location) +inline void Query::set_can_set_tag(bool value) { + _internal_set_can_set_tag(value); + // @@protoc_insertion_point(field_set:pg_query.Query.can_set_tag) } -inline ::int32_t CoerceToDomain::_internal_location() const { +inline bool Query::_internal_can_set_tag() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.can_set_tag_; } -inline void CoerceToDomain::_internal_set_location(::int32_t value) { +inline void Query::_internal_set_can_set_tag(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.can_set_tag_ = value; } -// ------------------------------------------------------------------- - -// CoerceToDomainValue - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceToDomainValue::has_xpr() const { +// .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; +inline bool Query::has_utility_stmt() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.utility_stmt_ != nullptr); return value; } -inline void CoerceToDomainValue::clear_xpr() { +inline void Query::clear_utility_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + if (_impl_.utility_stmt_ != nullptr) _impl_.utility_stmt_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CoerceToDomainValue::_internal_xpr() const { +inline const ::pg_query::Node& Query::_internal_utility_stmt() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.utility_stmt_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceToDomainValue::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& Query::utility_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.utility_stmt) + return _internal_utility_stmt(); } -inline void CoerceToDomainValue::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.utility_stmt_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomainValue.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.utility_stmt) } -inline ::pg_query::Node* CoerceToDomainValue::release_xpr() { +inline ::pg_query::Node* Query::release_utility_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* released = _impl_.utility_stmt_; + _impl_.utility_stmt_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106588,34 +117992,34 @@ inline ::pg_query::Node* CoerceToDomainValue::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CoerceToDomainValue::unsafe_arena_release_xpr() { +inline ::pg_query::Node* Query::unsafe_arena_release_utility_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomainValue.xpr) + // @@protoc_insertion_point(field_release:pg_query.Query.utility_stmt) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + ::pg_query::Node* temp = _impl_.utility_stmt_; + _impl_.utility_stmt_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomainValue::_internal_mutable_xpr() { +inline ::pg_query::Node* Query::_internal_mutable_utility_stmt() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + if (_impl_.utility_stmt_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.utility_stmt_; } -inline ::pg_query::Node* CoerceToDomainValue::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomainValue.xpr) +inline ::pg_query::Node* Query::mutable_utility_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_utility_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.utility_stmt) return _msg; } -inline void CoerceToDomainValue::set_allocated_xpr(::pg_query::Node* value) { +inline void Query::set_allocated_utility_stmt(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.utility_stmt_); } if (value != nullptr) { @@ -106628,337 +118032,449 @@ inline void CoerceToDomainValue::set_allocated_xpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomainValue.xpr) + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.utility_stmt) } -// uint32 type_id = 2 [json_name = "typeId"]; -inline void CoerceToDomainValue::clear_type_id() { +// int32 result_relation = 5 [json_name = "resultRelation"]; +inline void Query::clear_result_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_id_ = 0u; + _impl_.result_relation_ = 0; } -inline ::uint32_t CoerceToDomainValue::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_id) - return _internal_type_id(); +inline ::int32_t Query::result_relation() const { + // @@protoc_insertion_point(field_get:pg_query.Query.result_relation) + return _internal_result_relation(); } -inline void CoerceToDomainValue::set_type_id(::uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_id) +inline void Query::set_result_relation(::int32_t value) { + _internal_set_result_relation(value); + // @@protoc_insertion_point(field_set:pg_query.Query.result_relation) } -inline ::uint32_t CoerceToDomainValue::_internal_type_id() const { +inline ::int32_t Query::_internal_result_relation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_id_; + return _impl_.result_relation_; } -inline void CoerceToDomainValue::_internal_set_type_id(::uint32_t value) { +inline void Query::_internal_set_result_relation(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.type_id_ = value; + _impl_.result_relation_ = value; } -// int32 type_mod = 3 [json_name = "typeMod"]; -inline void CoerceToDomainValue::clear_type_mod() { +// bool has_aggs = 6 [json_name = "hasAggs"]; +inline void Query::clear_has_aggs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_mod_ = 0; + _impl_.has_aggs_ = false; } -inline ::int32_t CoerceToDomainValue::type_mod() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_mod) - return _internal_type_mod(); +inline bool Query::has_aggs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_aggs) + return _internal_has_aggs(); } -inline void CoerceToDomainValue::set_type_mod(::int32_t value) { - _internal_set_type_mod(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_mod) +inline void Query::set_has_aggs(bool value) { + _internal_set_has_aggs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_aggs) } -inline ::int32_t CoerceToDomainValue::_internal_type_mod() const { +inline bool Query::_internal_has_aggs() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_mod_; + return _impl_.has_aggs_; } -inline void CoerceToDomainValue::_internal_set_type_mod(::int32_t value) { +inline void Query::_internal_set_has_aggs(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.type_mod_ = value; + _impl_.has_aggs_ = value; } -// uint32 collation = 4 [json_name = "collation"]; -inline void CoerceToDomainValue::clear_collation() { +// bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; +inline void Query::clear_has_window_funcs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collation_ = 0u; + _impl_.has_window_funcs_ = false; } -inline ::uint32_t CoerceToDomainValue::collation() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.collation) - return _internal_collation(); +inline bool Query::has_window_funcs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_window_funcs) + return _internal_has_window_funcs(); } -inline void CoerceToDomainValue::set_collation(::uint32_t value) { - _internal_set_collation(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.collation) +inline void Query::set_has_window_funcs(bool value) { + _internal_set_has_window_funcs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_window_funcs) } -inline ::uint32_t CoerceToDomainValue::_internal_collation() const { +inline bool Query::_internal_has_window_funcs() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collation_; + return _impl_.has_window_funcs_; } -inline void CoerceToDomainValue::_internal_set_collation(::uint32_t value) { +inline void Query::_internal_set_has_window_funcs(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.collation_ = value; + _impl_.has_window_funcs_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void CoerceToDomainValue::clear_location() { +// bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; +inline void Query::clear_has_target_srfs() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.has_target_srfs_ = false; } -inline ::int32_t CoerceToDomainValue::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.location) - return _internal_location(); +inline bool Query::has_target_srfs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_target_srfs) + return _internal_has_target_srfs(); } -inline void CoerceToDomainValue::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.location) +inline void Query::set_has_target_srfs(bool value) { + _internal_set_has_target_srfs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_target_srfs) } -inline ::int32_t CoerceToDomainValue::_internal_location() const { +inline bool Query::_internal_has_target_srfs() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.has_target_srfs_; } -inline void CoerceToDomainValue::_internal_set_location(::int32_t value) { +inline void Query::_internal_set_has_target_srfs(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.has_target_srfs_ = value; } -// ------------------------------------------------------------------- - -// SetToDefault - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SetToDefault::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); - return value; -} -inline void SetToDefault::clear_xpr() { +// bool has_sub_links = 9 [json_name = "hasSubLinks"]; +inline void Query::clear_has_sub_links() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_.has_sub_links_ = false; } -inline const ::pg_query::Node& SetToDefault::_internal_xpr() const { +inline bool Query::has_sub_links() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_sub_links) + return _internal_has_sub_links(); +} +inline void Query::set_has_sub_links(bool value) { + _internal_set_has_sub_links(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_sub_links) +} +inline bool Query::_internal_has_sub_links() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.has_sub_links_; } -inline const ::pg_query::Node& SetToDefault::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.xpr) - return _internal_xpr(); +inline void Query::_internal_set_has_sub_links(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_sub_links_ = value; } -inline void SetToDefault::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + +// bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; +inline void Query::clear_has_distinct_on() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); - } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetToDefault.xpr) + _impl_.has_distinct_on_ = false; } -inline ::pg_query::Node* SetToDefault::release_xpr() { +inline bool Query::has_distinct_on() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_distinct_on) + return _internal_has_distinct_on(); +} +inline void Query::set_has_distinct_on(bool value) { + _internal_set_has_distinct_on(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_distinct_on) +} +inline bool Query::_internal_has_distinct_on() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_distinct_on_; +} +inline void Query::_internal_set_has_distinct_on(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_distinct_on_ = value; +} - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// bool has_recursive = 11 [json_name = "hasRecursive"]; +inline void Query::clear_has_recursive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_recursive_ = false; } -inline ::pg_query::Node* SetToDefault::unsafe_arena_release_xpr() { +inline bool Query::has_recursive() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_recursive) + return _internal_has_recursive(); +} +inline void Query::set_has_recursive(bool value) { + _internal_set_has_recursive(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_recursive) +} +inline bool Query::_internal_has_recursive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_recursive_; +} +inline void Query::_internal_set_has_recursive(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SetToDefault.xpr) - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; - return temp; + ; + _impl_.has_recursive_ = value; } -inline ::pg_query::Node* SetToDefault::_internal_mutable_xpr() { + +// bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; +inline void Query::clear_has_modifying_cte() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.xpr_; + _impl_.has_modifying_cte_ = false; } -inline ::pg_query::Node* SetToDefault::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SetToDefault.xpr) - return _msg; +inline bool Query::has_modifying_cte() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_modifying_cte) + return _internal_has_modifying_cte(); } -inline void SetToDefault::set_allocated_xpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void Query::set_has_modifying_cte(bool value) { + _internal_set_has_modifying_cte(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_modifying_cte) +} +inline bool Query::_internal_has_modifying_cte() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_modifying_cte_; +} +inline void Query::_internal_set_has_modifying_cte(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SetToDefault.xpr) + ; + _impl_.has_modifying_cte_ = value; } -// uint32 type_id = 2 [json_name = "typeId"]; -inline void SetToDefault::clear_type_id() { +// bool has_for_update = 13 [json_name = "hasForUpdate"]; +inline void Query::clear_has_for_update() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_id_ = 0u; + _impl_.has_for_update_ = false; } -inline ::uint32_t SetToDefault::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_id) - return _internal_type_id(); +inline bool Query::has_for_update() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_for_update) + return _internal_has_for_update(); } -inline void SetToDefault::set_type_id(::uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_id) +inline void Query::set_has_for_update(bool value) { + _internal_set_has_for_update(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_for_update) } -inline ::uint32_t SetToDefault::_internal_type_id() const { +inline bool Query::_internal_has_for_update() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_id_; + return _impl_.has_for_update_; } -inline void SetToDefault::_internal_set_type_id(::uint32_t value) { +inline void Query::_internal_set_has_for_update(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.type_id_ = value; + _impl_.has_for_update_ = value; } -// int32 type_mod = 3 [json_name = "typeMod"]; -inline void SetToDefault::clear_type_mod() { +// bool has_row_security = 14 [json_name = "hasRowSecurity"]; +inline void Query::clear_has_row_security() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_mod_ = 0; + _impl_.has_row_security_ = false; } -inline ::int32_t SetToDefault::type_mod() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_mod) - return _internal_type_mod(); +inline bool Query::has_row_security() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_row_security) + return _internal_has_row_security(); } -inline void SetToDefault::set_type_mod(::int32_t value) { - _internal_set_type_mod(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_mod) +inline void Query::set_has_row_security(bool value) { + _internal_set_has_row_security(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_row_security) } -inline ::int32_t SetToDefault::_internal_type_mod() const { +inline bool Query::_internal_has_row_security() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_mod_; + return _impl_.has_row_security_; } -inline void SetToDefault::_internal_set_type_mod(::int32_t value) { +inline void Query::_internal_set_has_row_security(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.type_mod_ = value; + _impl_.has_row_security_ = value; } -// uint32 collation = 4 [json_name = "collation"]; -inline void SetToDefault::clear_collation() { +// bool is_return = 15 [json_name = "isReturn"]; +inline void Query::clear_is_return() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collation_ = 0u; + _impl_.is_return_ = false; } -inline ::uint32_t SetToDefault::collation() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.collation) - return _internal_collation(); +inline bool Query::is_return() const { + // @@protoc_insertion_point(field_get:pg_query.Query.is_return) + return _internal_is_return(); } -inline void SetToDefault::set_collation(::uint32_t value) { - _internal_set_collation(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.collation) +inline void Query::set_is_return(bool value) { + _internal_set_is_return(value); + // @@protoc_insertion_point(field_set:pg_query.Query.is_return) } -inline ::uint32_t SetToDefault::_internal_collation() const { +inline bool Query::_internal_is_return() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collation_; + return _impl_.is_return_; } -inline void SetToDefault::_internal_set_collation(::uint32_t value) { +inline void Query::_internal_set_is_return(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.collation_ = value; + _impl_.is_return_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void SetToDefault::clear_location() { +// repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; +inline int Query::_internal_cte_list_size() const { + return _internal_cte_list().size(); +} +inline int Query::cte_list_size() const { + return _internal_cte_list_size(); +} +inline void Query::clear_cte_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.cte_list_.Clear(); } -inline ::int32_t SetToDefault::location() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.location) - return _internal_location(); +inline ::pg_query::Node* Query::mutable_cte_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.cte_list) + return _internal_mutable_cte_list()->Mutable(index); } -inline void SetToDefault::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_cte_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.cte_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cte_list(); +} +inline const ::pg_query::Node& Query::cte_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.cte_list) + return _internal_cte_list().Get(index); +} +inline ::pg_query::Node* Query::add_cte_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cte_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.cte_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::cte_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.cte_list) + return _internal_cte_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_cte_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cte_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_cte_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cte_list_; +} + +// repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; +inline int Query::_internal_rtable_size() const { + return _internal_rtable().size(); +} +inline int Query::rtable_size() const { + return _internal_rtable_size(); +} +inline void Query::clear_rtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtable_.Clear(); +} +inline ::pg_query::Node* Query::mutable_rtable(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.rtable) + return _internal_mutable_rtable()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rtable() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rtable) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rtable(); +} +inline const ::pg_query::Node& Query::rtable(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.rtable) + return _internal_rtable().Get(index); +} +inline ::pg_query::Node* Query::add_rtable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rtable()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.rtable) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rtable() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.rtable) + return _internal_rtable(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_rtable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtable_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_rtable() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rtable_; +} + +// repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; +inline int Query::_internal_rteperminfos_size() const { + return _internal_rteperminfos().size(); +} +inline int Query::rteperminfos_size() const { + return _internal_rteperminfos_size(); +} +inline void Query::clear_rteperminfos() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rteperminfos_.Clear(); +} +inline ::pg_query::Node* Query::mutable_rteperminfos(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.rteperminfos) + return _internal_mutable_rteperminfos()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rteperminfos() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rteperminfos) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rteperminfos(); +} +inline const ::pg_query::Node& Query::rteperminfos(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.rteperminfos) + return _internal_rteperminfos().Get(index); +} +inline ::pg_query::Node* Query::add_rteperminfos() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rteperminfos()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.rteperminfos) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rteperminfos() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.rteperminfos) + return _internal_rteperminfos(); } -inline ::int32_t SetToDefault::_internal_location() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_rteperminfos() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.rteperminfos_; } -inline void SetToDefault::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_rteperminfos() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rteperminfos_; } -// ------------------------------------------------------------------- - -// CurrentOfExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CurrentOfExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; +inline bool Query::has_jointree() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.jointree_ != nullptr); return value; } -inline void CurrentOfExpr::clear_xpr() { +inline void Query::clear_jointree() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.jointree_ != nullptr) _impl_.jointree_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CurrentOfExpr::_internal_xpr() const { +inline const ::pg_query::FromExpr& Query::_internal_jointree() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::FromExpr* p = _impl_.jointree_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_FromExpr_default_instance_); } -inline const ::pg_query::Node& CurrentOfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::FromExpr& Query::jointree() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.jointree) + return _internal_jointree(); } -inline void CurrentOfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.jointree_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CurrentOfExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.jointree) } -inline ::pg_query::Node* CurrentOfExpr::release_xpr() { +inline ::pg_query::FromExpr* Query::release_jointree() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FromExpr* released = _impl_.jointree_; + _impl_.jointree_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -106972,192 +118488,161 @@ inline ::pg_query::Node* CurrentOfExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CurrentOfExpr::unsafe_arena_release_xpr() { +inline ::pg_query::FromExpr* Query::unsafe_arena_release_jointree() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.Query.jointree) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FromExpr* temp = _impl_.jointree_; + _impl_.jointree_ = nullptr; return temp; } -inline ::pg_query::Node* CurrentOfExpr::_internal_mutable_xpr() { +inline ::pg_query::FromExpr* Query::_internal_mutable_jointree() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.jointree_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(p); } - return _impl_.xpr_; + return _impl_.jointree_; } -inline ::pg_query::Node* CurrentOfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.xpr) +inline ::pg_query::FromExpr* Query::mutable_jointree() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FromExpr* _msg = _internal_mutable_jointree(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.jointree) return _msg; } -inline void CurrentOfExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void Query::set_allocated_jointree(::pg_query::FromExpr* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::FromExpr*>(_impl_.jointree_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::FromExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.xpr) + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.jointree) } -// uint32 cvarno = 2 [json_name = "cvarno"]; -inline void CurrentOfExpr::clear_cvarno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cvarno_ = 0u; -} -inline ::uint32_t CurrentOfExpr::cvarno() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cvarno) - return _internal_cvarno(); -} -inline void CurrentOfExpr::set_cvarno(::uint32_t value) { - _internal_set_cvarno(value); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cvarno) -} -inline ::uint32_t CurrentOfExpr::_internal_cvarno() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cvarno_; +// repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; +inline int Query::_internal_merge_action_list_size() const { + return _internal_merge_action_list().size(); } -inline void CurrentOfExpr::_internal_set_cvarno(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cvarno_ = value; +inline int Query::merge_action_list_size() const { + return _internal_merge_action_list_size(); } - -// string cursor_name = 3 [json_name = "cursor_name"]; -inline void CurrentOfExpr::clear_cursor_name() { +inline void Query::clear_merge_action_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cursor_name_.ClearToEmpty(); + _impl_.merge_action_list_.Clear(); } -inline const std::string& CurrentOfExpr::cursor_name() const +inline ::pg_query::Node* Query::mutable_merge_action_list(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_name) - return _internal_cursor_name(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_action_list) + return _internal_mutable_merge_action_list()->Mutable(index); } -template -inline PROTOBUF_ALWAYS_INLINE void CurrentOfExpr::set_cursor_name(Arg_&& arg, - Args_... args) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_merge_action_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.merge_action_list) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cursor_name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_name) -} -inline std::string* CurrentOfExpr::mutable_cursor_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_cursor_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.cursor_name) - return _s; + return _internal_mutable_merge_action_list(); } -inline const std::string& CurrentOfExpr::_internal_cursor_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cursor_name_.Get(); +inline const ::pg_query::Node& Query::merge_action_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_action_list) + return _internal_merge_action_list().Get(index); } -inline void CurrentOfExpr::_internal_set_cursor_name(const std::string& value) { +inline ::pg_query::Node* Query::add_merge_action_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cursor_name_.Set(value, GetArena()); + ::pg_query::Node* _add = _internal_mutable_merge_action_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.merge_action_list) + return _add; } -inline std::string* CurrentOfExpr::_internal_mutable_cursor_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.cursor_name_.Mutable( GetArena()); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::merge_action_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.merge_action_list) + return _internal_merge_action_list(); } -inline std::string* CurrentOfExpr::release_cursor_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.cursor_name) - return _impl_.cursor_name_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_merge_action_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.merge_action_list_; } -inline void CurrentOfExpr::set_allocated_cursor_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cursor_name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cursor_name_.IsDefault()) { - _impl_.cursor_name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.cursor_name) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_merge_action_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.merge_action_list_; } -// int32 cursor_param = 4 [json_name = "cursor_param"]; -inline void CurrentOfExpr::clear_cursor_param() { +// int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"]; +inline void Query::clear_merge_target_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cursor_param_ = 0; + _impl_.merge_target_relation_ = 0; } -inline ::int32_t CurrentOfExpr::cursor_param() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_param) - return _internal_cursor_param(); +inline ::int32_t Query::merge_target_relation() const { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_target_relation) + return _internal_merge_target_relation(); } -inline void CurrentOfExpr::set_cursor_param(::int32_t value) { - _internal_set_cursor_param(value); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_param) +inline void Query::set_merge_target_relation(::int32_t value) { + _internal_set_merge_target_relation(value); + // @@protoc_insertion_point(field_set:pg_query.Query.merge_target_relation) } -inline ::int32_t CurrentOfExpr::_internal_cursor_param() const { +inline ::int32_t Query::_internal_merge_target_relation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cursor_param_; + return _impl_.merge_target_relation_; } -inline void CurrentOfExpr::_internal_set_cursor_param(::int32_t value) { +inline void Query::_internal_set_merge_target_relation(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.cursor_param_ = value; + _impl_.merge_target_relation_ = value; } -// ------------------------------------------------------------------- - -// NextValueExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NextValueExpr::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"]; +inline bool Query::has_merge_join_condition() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.merge_join_condition_ != nullptr); return value; } -inline void NextValueExpr::clear_xpr() { +inline void Query::clear_merge_join_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.merge_join_condition_ != nullptr) _impl_.merge_join_condition_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& NextValueExpr::_internal_xpr() const { +inline const ::pg_query::Node& Query::_internal_merge_join_condition() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; + const ::pg_query::Node* p = _impl_.merge_join_condition_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NextValueExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& Query::merge_join_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_join_condition) + return _internal_merge_join_condition(); } -inline void NextValueExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_merge_join_condition(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.merge_join_condition_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NextValueExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.merge_join_condition) } -inline ::pg_query::Node* NextValueExpr::release_xpr() { +inline ::pg_query::Node* Query::release_merge_join_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.merge_join_condition_; + _impl_.merge_join_condition_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -107171,34 +118656,34 @@ inline ::pg_query::Node* NextValueExpr::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* NextValueExpr::unsafe_arena_release_xpr() { +inline ::pg_query::Node* Query::unsafe_arena_release_merge_join_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.NextValueExpr.xpr) + // @@protoc_insertion_point(field_release:pg_query.Query.merge_join_condition) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.merge_join_condition_; + _impl_.merge_join_condition_ = nullptr; return temp; } -inline ::pg_query::Node* NextValueExpr::_internal_mutable_xpr() { +inline ::pg_query::Node* Query::_internal_mutable_merge_join_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.merge_join_condition_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.merge_join_condition_; } -inline ::pg_query::Node* NextValueExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NextValueExpr.xpr) +inline ::pg_query::Node* Query::mutable_merge_join_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_merge_join_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_join_condition) return _msg; } -inline void NextValueExpr::set_allocated_xpr(::pg_query::Node* value) { +inline void Query::set_allocated_merge_join_condition(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.merge_join_condition_); } if (value != nullptr) { @@ -107206,104 +118691,126 @@ inline void NextValueExpr::set_allocated_xpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.NextValueExpr.xpr) + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.merge_join_condition) } -// uint32 seqid = 2 [json_name = "seqid"]; -inline void NextValueExpr::clear_seqid() { +// repeated .pg_query.Node target_list = 23 [json_name = "targetList"]; +inline int Query::_internal_target_list_size() const { + return _internal_target_list().size(); +} +inline int Query::target_list_size() const { + return _internal_target_list_size(); +} +inline void Query::clear_target_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.seqid_ = 0u; + _impl_.target_list_.Clear(); } -inline ::uint32_t NextValueExpr::seqid() const { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.seqid) - return _internal_seqid(); +inline ::pg_query::Node* Query::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline void NextValueExpr::set_seqid(::uint32_t value) { - _internal_set_seqid(value); - // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.seqid) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } -inline ::uint32_t NextValueExpr::_internal_seqid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.seqid_; +inline const ::pg_query::Node& Query::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.target_list) + return _internal_target_list().Get(index); } -inline void NextValueExpr::_internal_set_seqid(::uint32_t value) { +inline ::pg_query::Node* Query::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.seqid_ = value; + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.target_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.target_list) + return _internal_target_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// uint32 type_id = 3 [json_name = "typeId"]; -inline void NextValueExpr::clear_type_id() { +// .pg_query.OverridingKind override = 24 [json_name = "override"]; +inline void Query::clear_override() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_id_ = 0u; + _impl_.override_ = 0; } -inline ::uint32_t NextValueExpr::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.type_id) - return _internal_type_id(); +inline ::pg_query::OverridingKind Query::override() const { + // @@protoc_insertion_point(field_get:pg_query.Query.override) + return _internal_override(); } -inline void NextValueExpr::set_type_id(::uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.type_id) +inline void Query::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.Query.override) } -inline ::uint32_t NextValueExpr::_internal_type_id() const { +inline ::pg_query::OverridingKind Query::_internal_override() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_id_; + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline void NextValueExpr::_internal_set_type_id(::uint32_t value) { +inline void Query::_internal_set_override(::pg_query::OverridingKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.type_id_ = value; + _impl_.override_ = value; } -// ------------------------------------------------------------------- - -// InferenceElem - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool InferenceElem::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); +// .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"]; +inline bool Query::has_on_conflict() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_conflict_ != nullptr); return value; } -inline void InferenceElem::clear_xpr() { +inline void Query::clear_on_conflict() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.on_conflict_ != nullptr) _impl_.on_conflict_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& InferenceElem::_internal_xpr() const { +inline const ::pg_query::OnConflictExpr& Query::_internal_on_conflict() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::OnConflictExpr* p = _impl_.on_conflict_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_OnConflictExpr_default_instance_); } -inline const ::pg_query::Node& InferenceElem::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.xpr) - return _internal_xpr(); +inline const ::pg_query::OnConflictExpr& Query::on_conflict() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.on_conflict) + return _internal_on_conflict(); } -inline void InferenceElem::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_); } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.on_conflict) } -inline ::pg_query::Node* InferenceElem::release_xpr() { +inline ::pg_query::OnConflictExpr* Query::release_on_conflict() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::OnConflictExpr* released = _impl_.on_conflict_; + _impl_.on_conflict_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -107317,331 +118824,259 @@ inline ::pg_query::Node* InferenceElem::release_xpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* InferenceElem::unsafe_arena_release_xpr() { +inline ::pg_query::OnConflictExpr* Query::unsafe_arena_release_on_conflict() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.InferenceElem.xpr) + // @@protoc_insertion_point(field_release:pg_query.Query.on_conflict) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::OnConflictExpr* temp = _impl_.on_conflict_; + _impl_.on_conflict_ = nullptr; return temp; } -inline ::pg_query::Node* InferenceElem::_internal_mutable_xpr() { +inline ::pg_query::OnConflictExpr* Query::_internal_mutable_on_conflict() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_conflict_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(p); } - return _impl_.xpr_; + return _impl_.on_conflict_; } -inline ::pg_query::Node* InferenceElem::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.xpr) +inline ::pg_query::OnConflictExpr* Query::mutable_on_conflict() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.on_conflict) return _msg; } -inline void InferenceElem::set_allocated_xpr(::pg_query::Node* value) { +inline void Query::set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + delete reinterpret_cast<::pg_query::OnConflictExpr*>(_impl_.on_conflict_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::OnConflictExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.xpr) + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.on_conflict) } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool InferenceElem::has_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); - return value; +// repeated .pg_query.Node returning_list = 26 [json_name = "returningList"]; +inline int Query::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline void InferenceElem::clear_expr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; +inline int Query::returning_list_size() const { + return _internal_returning_list_size(); } -inline const ::pg_query::Node& InferenceElem::_internal_expr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline void Query::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); } -inline const ::pg_query::Node& InferenceElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.expr) - return _internal_expr(); +inline ::pg_query::Node* Query::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.returning_list) + return _internal_mutable_returning_list()->Mutable(index); } -inline void InferenceElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.returning_list) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); - } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.expr) + return _internal_mutable_returning_list(); } -inline ::pg_query::Node* InferenceElem::release_expr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +inline const ::pg_query::Node& Query::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.returning_list) + return _internal_returning_list().Get(index); } -inline ::pg_query::Node* InferenceElem::unsafe_arena_release_expr() { +inline ::pg_query::Node* Query::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.InferenceElem.expr) + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.returning_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.returning_list) + return _internal_returning_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; - return temp; +// repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"]; +inline int Query::_internal_group_clause_size() const { + return _internal_group_clause().size(); } -inline ::pg_query::Node* InferenceElem::_internal_mutable_expr() { +inline int Query::group_clause_size() const { + return _internal_group_clause_size(); +} +inline void Query::clear_group_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.expr_; + _impl_.group_clause_.Clear(); } -inline ::pg_query::Node* InferenceElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.expr) - return _msg; +inline ::pg_query::Node* Query::mutable_group_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.group_clause) + return _internal_mutable_group_clause()->Mutable(index); } -inline void InferenceElem::set_allocated_expr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_group_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.group_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.expr) + return _internal_mutable_group_clause(); } - -// uint32 infercollid = 3 [json_name = "infercollid"]; -inline void InferenceElem::clear_infercollid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.infercollid_ = 0u; +inline const ::pg_query::Node& Query::group_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.group_clause) + return _internal_group_clause().Get(index); } -inline ::uint32_t InferenceElem::infercollid() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.infercollid) - return _internal_infercollid(); +inline ::pg_query::Node* Query::add_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_group_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.group_clause) + return _add; } -inline void InferenceElem::set_infercollid(::uint32_t value) { - _internal_set_infercollid(value); - // @@protoc_insertion_point(field_set:pg_query.InferenceElem.infercollid) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::group_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.group_clause) + return _internal_group_clause(); } -inline ::uint32_t InferenceElem::_internal_infercollid() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_group_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.infercollid_; + return _impl_.group_clause_; } -inline void InferenceElem::_internal_set_infercollid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.infercollid_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_group_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.group_clause_; } -// uint32 inferopclass = 4 [json_name = "inferopclass"]; -inline void InferenceElem::clear_inferopclass() { +// bool group_distinct = 28 [json_name = "groupDistinct"]; +inline void Query::clear_group_distinct() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inferopclass_ = 0u; + _impl_.group_distinct_ = false; } -inline ::uint32_t InferenceElem::inferopclass() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.inferopclass) - return _internal_inferopclass(); +inline bool Query::group_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.Query.group_distinct) + return _internal_group_distinct(); } -inline void InferenceElem::set_inferopclass(::uint32_t value) { - _internal_set_inferopclass(value); - // @@protoc_insertion_point(field_set:pg_query.InferenceElem.inferopclass) +inline void Query::set_group_distinct(bool value) { + _internal_set_group_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.Query.group_distinct) } -inline ::uint32_t InferenceElem::_internal_inferopclass() const { +inline bool Query::_internal_group_distinct() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inferopclass_; + return _impl_.group_distinct_; } -inline void InferenceElem::_internal_set_inferopclass(::uint32_t value) { +inline void Query::_internal_set_group_distinct(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inferopclass_ = value; + _impl_.group_distinct_ = value; } -// ------------------------------------------------------------------- - -// TargetEntry - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool TargetEntry::has_xpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); - return value; +// repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"]; +inline int Query::_internal_grouping_sets_size() const { + return _internal_grouping_sets().size(); } -inline void TargetEntry::clear_xpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; +inline int Query::grouping_sets_size() const { + return _internal_grouping_sets_size(); } -inline const ::pg_query::Node& TargetEntry::_internal_xpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline void Query::clear_grouping_sets() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.grouping_sets_.Clear(); } -inline const ::pg_query::Node& TargetEntry::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.xpr) - return _internal_xpr(); +inline ::pg_query::Node* Query::mutable_grouping_sets(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.grouping_sets) + return _internal_mutable_grouping_sets()->Mutable(index); } -inline void TargetEntry::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_grouping_sets() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.grouping_sets) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); - } - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.xpr) + return _internal_mutable_grouping_sets(); } -inline ::pg_query::Node* TargetEntry::release_xpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.xpr_; - _impl_.xpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +inline const ::pg_query::Node& Query::grouping_sets(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.grouping_sets) + return _internal_grouping_sets().Get(index); } -inline ::pg_query::Node* TargetEntry::unsafe_arena_release_xpr() { +inline ::pg_query::Node* Query::add_grouping_sets() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.xpr) - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; - return temp; + ::pg_query::Node* _add = _internal_mutable_grouping_sets()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.grouping_sets) + return _add; } -inline ::pg_query::Node* TargetEntry::_internal_mutable_xpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.xpr_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::grouping_sets() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.grouping_sets) + return _internal_grouping_sets(); } -inline ::pg_query::Node* TargetEntry::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.xpr) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_grouping_sets() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.grouping_sets_; } -inline void TargetEntry::set_allocated_xpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.xpr) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_grouping_sets() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.grouping_sets_; } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool TargetEntry::has_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); +// .pg_query.Node having_qual = 30 [json_name = "havingQual"]; +inline bool Query::has_having_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.having_qual_ != nullptr); return value; } -inline void TargetEntry::clear_expr() { +inline void Query::clear_having_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.having_qual_ != nullptr) _impl_.having_qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& TargetEntry::_internal_expr() const { +inline const ::pg_query::Node& Query::_internal_having_qual() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; + const ::pg_query::Node* p = _impl_.having_qual_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TargetEntry::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.expr) - return _internal_expr(); +inline const ::pg_query::Node& Query::having_qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.having_qual) + return _internal_having_qual(); } -inline void TargetEntry::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_having_qual(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.having_qual_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.having_qual) } -inline ::pg_query::Node* TargetEntry::release_expr() { +inline ::pg_query::Node* Query::release_having_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* released = _impl_.having_qual_; + _impl_.having_qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -107655,34 +119090,34 @@ inline ::pg_query::Node* TargetEntry::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* TargetEntry::unsafe_arena_release_expr() { +inline ::pg_query::Node* Query::unsafe_arena_release_having_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.expr) + // @@protoc_insertion_point(field_release:pg_query.Query.having_qual) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* temp = _impl_.having_qual_; + _impl_.having_qual_ = nullptr; return temp; } -inline ::pg_query::Node* TargetEntry::_internal_mutable_expr() { +inline ::pg_query::Node* Query::_internal_mutable_having_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.expr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.having_qual_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.expr_; + return _impl_.having_qual_; } -inline ::pg_query::Node* TargetEntry::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.expr) +inline ::pg_query::Node* Query::mutable_having_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_having_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.having_qual) return _msg; } -inline void TargetEntry::set_allocated_expr(::pg_query::Node* value) { +inline void Query::set_allocated_having_qual(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.having_qual_); } if (value != nullptr) { @@ -107690,299 +119125,201 @@ inline void TargetEntry::set_allocated_expr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.expr) + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.having_qual) } -// int32 resno = 3 [json_name = "resno"]; -inline void TargetEntry::clear_resno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resno_ = 0; -} -inline ::int32_t TargetEntry::resno() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resno) - return _internal_resno(); -} -inline void TargetEntry::set_resno(::int32_t value) { - _internal_set_resno(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resno) -} -inline ::int32_t TargetEntry::_internal_resno() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resno_; +// repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"]; +inline int Query::_internal_window_clause_size() const { + return _internal_window_clause().size(); } -inline void TargetEntry::_internal_set_resno(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resno_ = value; +inline int Query::window_clause_size() const { + return _internal_window_clause_size(); } - -// string resname = 4 [json_name = "resname"]; -inline void TargetEntry::clear_resname() { +inline void Query::clear_window_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resname_.ClearToEmpty(); + _impl_.window_clause_.Clear(); } -inline const std::string& TargetEntry::resname() const +inline ::pg_query::Node* Query::mutable_window_clause(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resname) - return _internal_resname(); -} -template -inline PROTOBUF_ALWAYS_INLINE void TargetEntry::set_resname(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resname) -} -inline std::string* TargetEntry::mutable_resname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_resname(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.resname) - return _s; -} -inline const std::string& TargetEntry::_internal_resname() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resname_.Get(); -} -inline void TargetEntry::_internal_set_resname(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resname_.Set(value, GetArena()); -} -inline std::string* TargetEntry::_internal_mutable_resname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.resname_.Mutable( GetArena()); + // @@protoc_insertion_point(field_mutable:pg_query.Query.window_clause) + return _internal_mutable_window_clause()->Mutable(index); } -inline std::string* TargetEntry::release_resname() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_window_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.window_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.resname) - return _impl_.resname_.Release(); + return _internal_mutable_window_clause(); } -inline void TargetEntry::set_allocated_resname(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.resname_.IsDefault()) { - _impl_.resname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.resname) +inline const ::pg_query::Node& Query::window_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.window_clause) + return _internal_window_clause().Get(index); } - -// uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; -inline void TargetEntry::clear_ressortgroupref() { +inline ::pg_query::Node* Query::add_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ressortgroupref_ = 0u; -} -inline ::uint32_t TargetEntry::ressortgroupref() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.ressortgroupref) - return _internal_ressortgroupref(); + ::pg_query::Node* _add = _internal_mutable_window_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.window_clause) + return _add; } -inline void TargetEntry::set_ressortgroupref(::uint32_t value) { - _internal_set_ressortgroupref(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.ressortgroupref) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::window_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.window_clause) + return _internal_window_clause(); } -inline ::uint32_t TargetEntry::_internal_ressortgroupref() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_window_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ressortgroupref_; -} -inline void TargetEntry::_internal_set_ressortgroupref(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.ressortgroupref_ = value; -} - -// uint32 resorigtbl = 6 [json_name = "resorigtbl"]; -inline void TargetEntry::clear_resorigtbl() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resorigtbl_ = 0u; -} -inline ::uint32_t TargetEntry::resorigtbl() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigtbl) - return _internal_resorigtbl(); -} -inline void TargetEntry::set_resorigtbl(::uint32_t value) { - _internal_set_resorigtbl(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigtbl) + return _impl_.window_clause_; } -inline ::uint32_t TargetEntry::_internal_resorigtbl() const { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_window_clause() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resorigtbl_; -} -inline void TargetEntry::_internal_set_resorigtbl(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resorigtbl_ = value; + return &_impl_.window_clause_; } -// int32 resorigcol = 7 [json_name = "resorigcol"]; -inline void TargetEntry::clear_resorigcol() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resorigcol_ = 0; -} -inline ::int32_t TargetEntry::resorigcol() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigcol) - return _internal_resorigcol(); -} -inline void TargetEntry::set_resorigcol(::int32_t value) { - _internal_set_resorigcol(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigcol) -} -inline ::int32_t TargetEntry::_internal_resorigcol() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resorigcol_; +// repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"]; +inline int Query::_internal_distinct_clause_size() const { + return _internal_distinct_clause().size(); } -inline void TargetEntry::_internal_set_resorigcol(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resorigcol_ = value; +inline int Query::distinct_clause_size() const { + return _internal_distinct_clause_size(); } - -// bool resjunk = 8 [json_name = "resjunk"]; -inline void TargetEntry::clear_resjunk() { +inline void Query::clear_distinct_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.resjunk_ = false; -} -inline bool TargetEntry::resjunk() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resjunk) - return _internal_resjunk(); -} -inline void TargetEntry::set_resjunk(bool value) { - _internal_set_resjunk(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resjunk) + _impl_.distinct_clause_.Clear(); } -inline bool TargetEntry::_internal_resjunk() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.resjunk_; +inline ::pg_query::Node* Query::mutable_distinct_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.distinct_clause) + return _internal_mutable_distinct_clause()->Mutable(index); } -inline void TargetEntry::_internal_set_resjunk(bool value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_distinct_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.distinct_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.resjunk_ = value; + return _internal_mutable_distinct_clause(); } - -// ------------------------------------------------------------------- - -// RangeTblRef - -// int32 rtindex = 1 [json_name = "rtindex"]; -inline void RangeTblRef::clear_rtindex() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rtindex_ = 0; +inline const ::pg_query::Node& Query::distinct_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.distinct_clause) + return _internal_distinct_clause().Get(index); } -inline ::int32_t RangeTblRef::rtindex() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblRef.rtindex) - return _internal_rtindex(); +inline ::pg_query::Node* Query::add_distinct_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_distinct_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.distinct_clause) + return _add; } -inline void RangeTblRef::set_rtindex(::int32_t value) { - _internal_set_rtindex(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblRef.rtindex) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::distinct_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.distinct_clause) + return _internal_distinct_clause(); } -inline ::int32_t RangeTblRef::_internal_rtindex() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_distinct_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rtindex_; + return _impl_.distinct_clause_; } -inline void RangeTblRef::_internal_set_rtindex(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.rtindex_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_distinct_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.distinct_clause_; } -// ------------------------------------------------------------------- - -// JoinExpr - -// .pg_query.JoinType jointype = 1 [json_name = "jointype"]; -inline void JoinExpr::clear_jointype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.jointype_ = 0; +// repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"]; +inline int Query::_internal_sort_clause_size() const { + return _internal_sort_clause().size(); } -inline ::pg_query::JoinType JoinExpr::jointype() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.jointype) - return _internal_jointype(); +inline int Query::sort_clause_size() const { + return _internal_sort_clause_size(); } -inline void JoinExpr::set_jointype(::pg_query::JoinType value) { - _internal_set_jointype(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.jointype) +inline void Query::clear_sort_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sort_clause_.Clear(); } -inline ::pg_query::JoinType JoinExpr::_internal_jointype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JoinType>(_impl_.jointype_); +inline ::pg_query::Node* Query::mutable_sort_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.sort_clause) + return _internal_mutable_sort_clause()->Mutable(index); } -inline void JoinExpr::_internal_set_jointype(::pg_query::JoinType value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_sort_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.sort_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.jointype_ = value; + return _internal_mutable_sort_clause(); } - -// bool is_natural = 2 [json_name = "isNatural"]; -inline void JoinExpr::clear_is_natural() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_natural_ = false; +inline const ::pg_query::Node& Query::sort_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.sort_clause) + return _internal_sort_clause().Get(index); } -inline bool JoinExpr::is_natural() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.is_natural) - return _internal_is_natural(); +inline ::pg_query::Node* Query::add_sort_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_sort_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.sort_clause) + return _add; } -inline void JoinExpr::set_is_natural(bool value) { - _internal_set_is_natural(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.is_natural) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::sort_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.sort_clause) + return _internal_sort_clause(); } -inline bool JoinExpr::_internal_is_natural() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_sort_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_natural_; + return _impl_.sort_clause_; } -inline void JoinExpr::_internal_set_is_natural(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_natural_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_sort_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.sort_clause_; } -// .pg_query.Node larg = 3 [json_name = "larg"]; -inline bool JoinExpr::has_larg() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.larg_ != nullptr); +// .pg_query.Node limit_offset = 34 [json_name = "limitOffset"]; +inline bool Query::has_limit_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_offset_ != nullptr); return value; } -inline void JoinExpr::clear_larg() { +inline void Query::clear_limit_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.larg_ != nullptr) _impl_.larg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.limit_offset_ != nullptr) _impl_.limit_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline const ::pg_query::Node& JoinExpr::_internal_larg() const { +inline const ::pg_query::Node& Query::_internal_limit_offset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.larg_; + const ::pg_query::Node* p = _impl_.limit_offset_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JoinExpr::larg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.larg) - return _internal_larg(); +inline const ::pg_query::Node& Query::limit_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_offset) + return _internal_limit_offset(); } -inline void JoinExpr::unsafe_arena_set_allocated_larg(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.larg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_offset_); } - _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000020u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000020u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.larg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_offset) } -inline ::pg_query::Node* JoinExpr::release_larg() { +inline ::pg_query::Node* Query::release_limit_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.larg_; - _impl_.larg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::Node* released = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -107996,34 +119333,34 @@ inline ::pg_query::Node* JoinExpr::release_larg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_larg() { +inline ::pg_query::Node* Query::unsafe_arena_release_limit_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.larg) + // @@protoc_insertion_point(field_release:pg_query.Query.limit_offset) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.larg_; - _impl_.larg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::Node* temp = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; return temp; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_larg() { +inline ::pg_query::Node* Query::_internal_mutable_limit_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.larg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.limit_offset_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.larg_; + return _impl_.limit_offset_; } -inline ::pg_query::Node* JoinExpr::mutable_larg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_larg(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.larg) +inline ::pg_query::Node* Query::mutable_limit_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_offset) return _msg; } -inline void JoinExpr::set_allocated_larg(::pg_query::Node* value) { +inline void Query::set_allocated_limit_offset(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.larg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_offset_); } if (value != nullptr) { @@ -108031,54 +119368,54 @@ inline void JoinExpr::set_allocated_larg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000020u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000020u; } - _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.larg) + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_offset) } -// .pg_query.Node rarg = 4 [json_name = "rarg"]; -inline bool JoinExpr::has_rarg() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.rarg_ != nullptr); +// .pg_query.Node limit_count = 35 [json_name = "limitCount"]; +inline bool Query::has_limit_count() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_count_ != nullptr); return value; } -inline void JoinExpr::clear_rarg() { +inline void Query::clear_limit_count() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.rarg_ != nullptr) _impl_.rarg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.limit_count_ != nullptr) _impl_.limit_count_->Clear(); + _impl_._has_bits_[0] &= ~0x00000040u; } -inline const ::pg_query::Node& JoinExpr::_internal_rarg() const { +inline const ::pg_query::Node& Query::_internal_limit_count() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.rarg_; + const ::pg_query::Node* p = _impl_.limit_count_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JoinExpr::rarg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rarg) - return _internal_rarg(); +inline const ::pg_query::Node& Query::limit_count() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_count) + return _internal_limit_count(); } -inline void JoinExpr::unsafe_arena_set_allocated_rarg(::pg_query::Node* value) { +inline void Query::unsafe_arena_set_allocated_limit_count(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rarg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_count_); } - _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000040u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000040u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.rarg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_count) } -inline ::pg_query::Node* JoinExpr::release_rarg() { +inline ::pg_query::Node* Query::release_limit_count() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.rarg_; - _impl_.rarg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::Node* released = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -108092,34 +119429,34 @@ inline ::pg_query::Node* JoinExpr::release_rarg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_rarg() { +inline ::pg_query::Node* Query::unsafe_arena_release_limit_count() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.rarg) + // @@protoc_insertion_point(field_release:pg_query.Query.limit_count) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::Node* temp = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; return temp; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_rarg() { +inline ::pg_query::Node* Query::_internal_mutable_limit_count() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.rarg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000040u; + if (_impl_.limit_count_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rarg_; + return _impl_.limit_count_; } -inline ::pg_query::Node* JoinExpr::mutable_rarg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_rarg(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.rarg) +inline ::pg_query::Node* Query::mutable_limit_count() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_count(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_count) return _msg; } -inline void JoinExpr::set_allocated_rarg(::pg_query::Node* value) { +inline void Query::set_allocated_limit_count(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.rarg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_count_); } if (value != nullptr) { @@ -108127,103 +119464,126 @@ inline void JoinExpr::set_allocated_rarg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000040u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000040u; } - _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.rarg) + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_count) } -// repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; -inline int JoinExpr::_internal_using_clause_size() const { - return _internal_using_clause().size(); +// .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"]; +inline void Query::clear_limit_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.limit_option_ = 0; } -inline int JoinExpr::using_clause_size() const { - return _internal_using_clause_size(); +inline ::pg_query::LimitOption Query::limit_option() const { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_option) + return _internal_limit_option(); } -inline void JoinExpr::clear_using_clause() { +inline void Query::set_limit_option(::pg_query::LimitOption value) { + _internal_set_limit_option(value); + // @@protoc_insertion_point(field_set:pg_query.Query.limit_option) +} +inline ::pg_query::LimitOption Query::_internal_limit_option() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LimitOption>(_impl_.limit_option_); +} +inline void Query::_internal_set_limit_option(::pg_query::LimitOption value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.using_clause_.Clear(); + ; + _impl_.limit_option_ = value; } -inline ::pg_query::Node* JoinExpr::mutable_using_clause(int index) + +// repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"]; +inline int Query::_internal_row_marks_size() const { + return _internal_row_marks().size(); +} +inline int Query::row_marks_size() const { + return _internal_row_marks_size(); +} +inline void Query::clear_row_marks() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.row_marks_.Clear(); +} +inline ::pg_query::Node* Query::mutable_row_marks(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.using_clause) - return _internal_mutable_using_clause()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.Query.row_marks) + return _internal_mutable_row_marks()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JoinExpr::mutable_using_clause() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_row_marks() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.JoinExpr.using_clause) + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.row_marks) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_using_clause(); + return _internal_mutable_row_marks(); } -inline const ::pg_query::Node& JoinExpr::using_clause(int index) const +inline const ::pg_query::Node& Query::row_marks(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.using_clause) - return _internal_using_clause().Get(index); + // @@protoc_insertion_point(field_get:pg_query.Query.row_marks) + return _internal_row_marks().Get(index); } -inline ::pg_query::Node* JoinExpr::add_using_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* Query::add_row_marks() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_using_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.JoinExpr.using_clause) + ::pg_query::Node* _add = _internal_mutable_row_marks()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.row_marks) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JoinExpr::using_clause() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::row_marks() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.JoinExpr.using_clause) - return _internal_using_clause(); + // @@protoc_insertion_point(field_list:pg_query.Query.row_marks) + return _internal_row_marks(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -JoinExpr::_internal_using_clause() const { +Query::_internal_row_marks() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.using_clause_; + return _impl_.row_marks_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -JoinExpr::_internal_mutable_using_clause() { +Query::_internal_mutable_row_marks() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.using_clause_; + return &_impl_.row_marks_; } -// .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; -inline bool JoinExpr::has_join_using_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); +// .pg_query.Node set_operations = 38 [json_name = "setOperations"]; +inline bool Query::has_set_operations() const { + bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; + PROTOBUF_ASSUME(!value || _impl_.set_operations_ != nullptr); return value; } -inline void JoinExpr::clear_join_using_alias() { +inline void Query::clear_set_operations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.set_operations_ != nullptr) _impl_.set_operations_->Clear(); + _impl_._has_bits_[0] &= ~0x00000080u; } -inline const ::pg_query::Alias& JoinExpr::_internal_join_using_alias() const { +inline const ::pg_query::Node& Query::_internal_set_operations() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.join_using_alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.set_operations_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& JoinExpr::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.join_using_alias) - return _internal_join_using_alias(); +inline const ::pg_query::Node& Query::set_operations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.set_operations) + return _internal_set_operations(); } -inline void JoinExpr::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { +inline void Query::unsafe_arena_set_allocated_set_operations(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.set_operations_); } - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000080u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000080u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.join_using_alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.set_operations) } -inline ::pg_query::Alias* JoinExpr::release_join_using_alias() { +inline ::pg_query::Node* Query::release_set_operations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* released = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::Node* released = _impl_.set_operations_; + _impl_.set_operations_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -108237,529 +119597,701 @@ inline ::pg_query::Alias* JoinExpr::release_join_using_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_join_using_alias() { +inline ::pg_query::Node* Query::unsafe_arena_release_set_operations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.join_using_alias) + // @@protoc_insertion_point(field_release:pg_query.Query.set_operations) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::Node* temp = _impl_.set_operations_; + _impl_.set_operations_ = nullptr; return temp; } -inline ::pg_query::Alias* JoinExpr::_internal_mutable_join_using_alias() { +inline ::pg_query::Node* Query::_internal_mutable_set_operations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.join_using_alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000080u; + if (_impl_.set_operations_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.join_using_alias_; + return _impl_.set_operations_; } -inline ::pg_query::Alias* JoinExpr::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.join_using_alias) +inline ::pg_query::Node* Query::mutable_set_operations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_set_operations(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.set_operations) return _msg; } -inline void JoinExpr::set_allocated_join_using_alias(::pg_query::Alias* value) { +inline void Query::set_allocated_set_operations(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.set_operations_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000080u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000080u; } - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.join_using_alias) + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.set_operations) } -// .pg_query.Node quals = 7 [json_name = "quals"]; -inline bool JoinExpr::has_quals() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); - return value; +// repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"]; +inline int Query::_internal_constraint_deps_size() const { + return _internal_constraint_deps().size(); } -inline void JoinExpr::clear_quals() { +inline int Query::constraint_deps_size() const { + return _internal_constraint_deps_size(); +} +inline void Query::clear_constraint_deps() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_.constraint_deps_.Clear(); } -inline const ::pg_query::Node& JoinExpr::_internal_quals() const { +inline ::pg_query::Node* Query::mutable_constraint_deps(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.constraint_deps) + return _internal_mutable_constraint_deps()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_constraint_deps() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.constraint_deps) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraint_deps(); +} +inline const ::pg_query::Node& Query::constraint_deps(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.constraint_deps) + return _internal_constraint_deps().Get(index); +} +inline ::pg_query::Node* Query::add_constraint_deps() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraint_deps()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.constraint_deps) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::constraint_deps() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.constraint_deps) + return _internal_constraint_deps(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_constraint_deps() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.quals_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.constraint_deps_; } -inline const ::pg_query::Node& JoinExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.quals) - return _internal_quals(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_constraint_deps() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraint_deps_; } -inline void JoinExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { + +// repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"]; +inline int Query::_internal_with_check_options_size() const { + return _internal_with_check_options().size(); +} +inline int Query::with_check_options_size() const { + return _internal_with_check_options_size(); +} +inline void Query::clear_with_check_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); - } - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.quals) + _impl_.with_check_options_.Clear(); } -inline ::pg_query::Node* JoinExpr::release_quals() { +inline ::pg_query::Node* Query::mutable_with_check_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.with_check_options) + return _internal_mutable_with_check_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_with_check_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.with_check_options) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::Node* released = _impl_.quals_; - _impl_.quals_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + return _internal_mutable_with_check_options(); } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_quals() { +inline const ::pg_query::Node& Query::with_check_options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.with_check_options) + return _internal_with_check_options().Get(index); +} +inline ::pg_query::Node* Query::add_with_check_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.quals) + ::pg_query::Node* _add = _internal_mutable_with_check_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.with_check_options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::with_check_options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.with_check_options) + return _internal_with_check_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_with_check_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.with_check_options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_with_check_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.with_check_options_; +} - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; - return temp; +// int32 stmt_location = 41 [json_name = "stmt_location"]; +inline void Query::clear_stmt_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_location_ = 0; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_quals() { +inline ::int32_t Query::stmt_location() const { + // @@protoc_insertion_point(field_get:pg_query.Query.stmt_location) + return _internal_stmt_location(); +} +inline void Query::set_stmt_location(::int32_t value) { + _internal_set_stmt_location(value); + // @@protoc_insertion_point(field_set:pg_query.Query.stmt_location) +} +inline ::int32_t Query::_internal_stmt_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_location_; +} +inline void Query::_internal_set_stmt_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.quals_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.quals_; + ; + _impl_.stmt_location_ = value; } -inline ::pg_query::Node* JoinExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_quals(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.quals) - return _msg; + +// int32 stmt_len = 42 [json_name = "stmt_len"]; +inline void Query::clear_stmt_len() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_len_ = 0; } -inline void JoinExpr::set_allocated_quals(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::int32_t Query::stmt_len() const { + // @@protoc_insertion_point(field_get:pg_query.Query.stmt_len) + return _internal_stmt_len(); +} +inline void Query::set_stmt_len(::int32_t value) { + _internal_set_stmt_len(value); + // @@protoc_insertion_point(field_set:pg_query.Query.stmt_len) +} +inline ::int32_t Query::_internal_stmt_len() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_len_; +} +inline void Query::_internal_set_stmt_len(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); - } + ; + _impl_.stmt_len_ = value; +} - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } +// ------------------------------------------------------------------- - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.quals) -} +// TypeName -// .pg_query.Alias alias = 8 [json_name = "alias"]; -inline bool JoinExpr::has_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); - return value; +// repeated .pg_query.Node names = 1 [json_name = "names"]; +inline int TypeName::_internal_names_size() const { + return _internal_names().size(); } -inline void JoinExpr::clear_alias() { +inline int TypeName::names_size() const { + return _internal_names_size(); +} +inline void TypeName::clear_names() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_.names_.Clear(); } -inline const ::pg_query::Alias& JoinExpr::_internal_alias() const { +inline ::pg_query::Node* TypeName::mutable_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.names) + return _internal_mutable_names()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_names(); +} +inline const ::pg_query::Node& TypeName::names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.names) + return _internal_names().Get(index); +} +inline ::pg_query::Node* TypeName::add_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.names) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.names) + return _internal_names(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_names() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + return _impl_.names_; } -inline const ::pg_query::Alias& JoinExpr::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.alias) - return _internal_alias(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.names_; } -inline void JoinExpr::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + +// uint32 type_oid = 2 [json_name = "typeOid"]; +inline void TypeName::clear_type_oid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); - } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.alias) + _impl_.type_oid_ = 0u; } -inline ::pg_query::Alias* JoinExpr::release_alias() { +inline ::uint32_t TypeName::type_oid() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.type_oid) + return _internal_type_oid(); +} +inline void TypeName::set_type_oid(::uint32_t value) { + _internal_set_type_oid(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.type_oid) +} +inline ::uint32_t TypeName::_internal_type_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_oid_; +} +inline void TypeName::_internal_set_type_oid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_oid_ = value; +} - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// bool setof = 3 [json_name = "setof"]; +inline void TypeName::clear_setof() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.setof_ = false; } -inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_alias() { +inline bool TypeName::setof() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.setof) + return _internal_setof(); +} +inline void TypeName::set_setof(bool value) { + _internal_set_setof(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.setof) +} +inline bool TypeName::_internal_setof() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.setof_; +} +inline void TypeName::_internal_set_setof(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.alias) + ; + _impl_.setof_ = value; +} - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; - return temp; +// bool pct_type = 4 [json_name = "pct_type"]; +inline void TypeName::clear_pct_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pct_type_ = false; } -inline ::pg_query::Alias* JoinExpr::_internal_mutable_alias() { +inline bool TypeName::pct_type() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.pct_type) + return _internal_pct_type(); +} +inline void TypeName::set_pct_type(bool value) { + _internal_set_pct_type(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.pct_type) +} +inline bool TypeName::_internal_pct_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pct_type_; +} +inline void TypeName::_internal_set_pct_type(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000010u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); - } - return _impl_.alias_; + ; + _impl_.pct_type_ = value; } -inline ::pg_query::Alias* JoinExpr::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.alias) - return _msg; + +// repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; +inline int TypeName::_internal_typmods_size() const { + return _internal_typmods().size(); } -inline void JoinExpr::set_allocated_alias(::pg_query::Alias* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline int TypeName::typmods_size() const { + return _internal_typmods_size(); +} +inline void TypeName::clear_typmods() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); - } + _impl_.typmods_.Clear(); +} +inline ::pg_query::Node* TypeName::mutable_typmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.typmods) + return _internal_mutable_typmods()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_typmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.typmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_typmods(); +} +inline const ::pg_query::Node& TypeName::typmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.typmods) + return _internal_typmods().Get(index); +} +inline ::pg_query::Node* TypeName::add_typmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_typmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.typmods) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::typmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.typmods) + return _internal_typmods(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_typmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmods_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_typmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.typmods_; +} - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } +// int32 typemod = 6 [json_name = "typemod"]; +inline void TypeName::clear_typemod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typemod_ = 0; +} +inline ::int32_t TypeName::typemod() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.typemod) + return _internal_typemod(); +} +inline void TypeName::set_typemod(::int32_t value) { + _internal_set_typemod(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.typemod) +} +inline ::int32_t TypeName::_internal_typemod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typemod_; +} +inline void TypeName::_internal_set_typemod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typemod_ = value; +} - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.alias) +// repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; +inline int TypeName::_internal_array_bounds_size() const { + return _internal_array_bounds().size(); +} +inline int TypeName::array_bounds_size() const { + return _internal_array_bounds_size(); +} +inline void TypeName::clear_array_bounds() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.array_bounds_.Clear(); +} +inline ::pg_query::Node* TypeName::mutable_array_bounds(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.array_bounds) + return _internal_mutable_array_bounds()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_array_bounds() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.array_bounds) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_array_bounds(); +} +inline const ::pg_query::Node& TypeName::array_bounds(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.array_bounds) + return _internal_array_bounds().Get(index); +} +inline ::pg_query::Node* TypeName::add_array_bounds() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_array_bounds()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.array_bounds) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::array_bounds() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.array_bounds) + return _internal_array_bounds(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_array_bounds() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.array_bounds_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_array_bounds() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.array_bounds_; } -// int32 rtindex = 9 [json_name = "rtindex"]; -inline void JoinExpr::clear_rtindex() { +// int32 location = 8 [json_name = "location"]; +inline void TypeName::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rtindex_ = 0; + _impl_.location_ = 0; } -inline ::int32_t JoinExpr::rtindex() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rtindex) - return _internal_rtindex(); +inline ::int32_t TypeName::location() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.location) + return _internal_location(); } -inline void JoinExpr::set_rtindex(::int32_t value) { - _internal_set_rtindex(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.rtindex) +inline void TypeName::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.location) } -inline ::int32_t JoinExpr::_internal_rtindex() const { +inline ::int32_t TypeName::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rtindex_; + return _impl_.location_; } -inline void JoinExpr::_internal_set_rtindex(::int32_t value) { +inline void TypeName::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.rtindex_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// FromExpr +// ColumnRef -// repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; -inline int FromExpr::_internal_fromlist_size() const { - return _internal_fromlist().size(); +// repeated .pg_query.Node fields = 1 [json_name = "fields"]; +inline int ColumnRef::_internal_fields_size() const { + return _internal_fields().size(); } -inline int FromExpr::fromlist_size() const { - return _internal_fromlist_size(); +inline int ColumnRef::fields_size() const { + return _internal_fields_size(); } -inline void FromExpr::clear_fromlist() { +inline void ColumnRef::clear_fields() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fromlist_.Clear(); + _impl_.fields_.Clear(); } -inline ::pg_query::Node* FromExpr::mutable_fromlist(int index) +inline ::pg_query::Node* ColumnRef::mutable_fields(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.fromlist) - return _internal_mutable_fromlist()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnRef.fields) + return _internal_mutable_fields()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FromExpr::mutable_fromlist() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnRef::mutable_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FromExpr.fromlist) + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnRef.fields) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_fromlist(); + return _internal_mutable_fields(); } -inline const ::pg_query::Node& FromExpr::fromlist(int index) const +inline const ::pg_query::Node& ColumnRef::fields(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FromExpr.fromlist) - return _internal_fromlist().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ColumnRef.fields) + return _internal_fields().Get(index); } -inline ::pg_query::Node* FromExpr::add_fromlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ColumnRef::add_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_fromlist()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FromExpr.fromlist) + ::pg_query::Node* _add = _internal_mutable_fields()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnRef.fields) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FromExpr::fromlist() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnRef::fields() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FromExpr.fromlist) - return _internal_fromlist(); + // @@protoc_insertion_point(field_list:pg_query.ColumnRef.fields) + return _internal_fields(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FromExpr::_internal_fromlist() const { +ColumnRef::_internal_fields() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fromlist_; + return _impl_.fields_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ColumnRef::_internal_mutable_fields() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fields_; +} + +// int32 location = 2 [json_name = "location"]; +inline void ColumnRef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t ColumnRef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnRef.location) + return _internal_location(); +} +inline void ColumnRef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnRef.location) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FromExpr::_internal_mutable_fromlist() { +inline ::int32_t ColumnRef::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.fromlist_; + return _impl_.location_; } - -// .pg_query.Node quals = 2 [json_name = "quals"]; -inline bool FromExpr::has_quals() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); - return value; +inline void ColumnRef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline void FromExpr::clear_quals() { + +// ------------------------------------------------------------------- + +// ParamRef + +// int32 number = 1 [json_name = "number"]; +inline void ParamRef::clear_number() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_.number_ = 0; } -inline const ::pg_query::Node& FromExpr::_internal_quals() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.quals_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline ::int32_t ParamRef::number() const { + // @@protoc_insertion_point(field_get:pg_query.ParamRef.number) + return _internal_number(); } -inline const ::pg_query::Node& FromExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FromExpr.quals) - return _internal_quals(); +inline void ParamRef::set_number(::int32_t value) { + _internal_set_number(value); + // @@protoc_insertion_point(field_set:pg_query.ParamRef.number) } -inline void FromExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); - } - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FromExpr.quals) +inline ::int32_t ParamRef::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.number_; } -inline ::pg_query::Node* FromExpr::release_quals() { +inline void ParamRef::_internal_set_number(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.quals_; - _impl_.quals_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + ; + _impl_.number_ = value; } -inline ::pg_query::Node* FromExpr::unsafe_arena_release_quals() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FromExpr.quals) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; - return temp; -} -inline ::pg_query::Node* FromExpr::_internal_mutable_quals() { +// int32 location = 2 [json_name = "location"]; +inline void ParamRef::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.quals_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.quals_; + _impl_.location_ = 0; } -inline ::pg_query::Node* FromExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_quals(); - // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.quals) - return _msg; +inline ::int32_t ParamRef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ParamRef.location) + return _internal_location(); } -inline void FromExpr::set_allocated_quals(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void ParamRef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ParamRef.location) +} +inline ::int32_t ParamRef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ParamRef::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FromExpr.quals) + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// OnConflictExpr +// A_Expr -// .pg_query.OnConflictAction action = 1 [json_name = "action"]; -inline void OnConflictExpr::clear_action() { +// .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; +inline void A_Expr::clear_kind() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.action_ = 0; + _impl_.kind_ = 0; } -inline ::pg_query::OnConflictAction OnConflictExpr::action() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.action) - return _internal_action(); +inline ::pg_query::A_Expr_Kind A_Expr::kind() const { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.kind) + return _internal_kind(); } -inline void OnConflictExpr::set_action(::pg_query::OnConflictAction value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.action) +inline void A_Expr::set_kind(::pg_query::A_Expr_Kind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.A_Expr.kind) } -inline ::pg_query::OnConflictAction OnConflictExpr::_internal_action() const { +inline ::pg_query::A_Expr_Kind A_Expr::_internal_kind() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OnConflictAction>(_impl_.action_); + return static_cast<::pg_query::A_Expr_Kind>(_impl_.kind_); } -inline void OnConflictExpr::_internal_set_action(::pg_query::OnConflictAction value) { +inline void A_Expr::_internal_set_kind(::pg_query::A_Expr_Kind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.action_ = value; + _impl_.kind_ = value; } -// repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; -inline int OnConflictExpr::_internal_arbiter_elems_size() const { - return _internal_arbiter_elems().size(); +// repeated .pg_query.Node name = 2 [json_name = "name"]; +inline int A_Expr::_internal_name_size() const { + return _internal_name().size(); } -inline int OnConflictExpr::arbiter_elems_size() const { - return _internal_arbiter_elems_size(); +inline int A_Expr::name_size() const { + return _internal_name_size(); } -inline void OnConflictExpr::clear_arbiter_elems() { +inline void A_Expr::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.arbiter_elems_.Clear(); + _impl_.name_.Clear(); } -inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_elems(int index) +inline ::pg_query::Node* A_Expr::mutable_name(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_elems) - return _internal_mutable_arbiter_elems()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.name) + return _internal_mutable_name()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_arbiter_elems() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Expr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.arbiter_elems) + // @@protoc_insertion_point(field_mutable_list:pg_query.A_Expr.name) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_arbiter_elems(); + return _internal_mutable_name(); } -inline const ::pg_query::Node& OnConflictExpr::arbiter_elems(int index) const +inline const ::pg_query::Node& A_Expr::name(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_elems) - return _internal_arbiter_elems().Get(index); + // @@protoc_insertion_point(field_get:pg_query.A_Expr.name) + return _internal_name().Get(index); } -inline ::pg_query::Node* OnConflictExpr::add_arbiter_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* A_Expr::add_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_arbiter_elems()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.arbiter_elems) + ::pg_query::Node* _add = _internal_mutable_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_Expr.name) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::arbiter_elems() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Expr::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.arbiter_elems) - return _internal_arbiter_elems(); + // @@protoc_insertion_point(field_list:pg_query.A_Expr.name) + return _internal_name(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OnConflictExpr::_internal_arbiter_elems() const { +A_Expr::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.arbiter_elems_; + return _impl_.name_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OnConflictExpr::_internal_mutable_arbiter_elems() { +A_Expr::_internal_mutable_name() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.arbiter_elems_; + return &_impl_.name_; } -// .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; -inline bool OnConflictExpr::has_arbiter_where() const { +// .pg_query.Node lexpr = 3 [json_name = "lexpr"]; +inline bool A_Expr::has_lexpr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arbiter_where_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.lexpr_ != nullptr); return value; } -inline void OnConflictExpr::clear_arbiter_where() { +inline void A_Expr::clear_lexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arbiter_where_ != nullptr) _impl_.arbiter_where_->Clear(); + if (_impl_.lexpr_ != nullptr) _impl_.lexpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& OnConflictExpr::_internal_arbiter_where() const { +inline const ::pg_query::Node& A_Expr::_internal_lexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arbiter_where_; + const ::pg_query::Node* p = _impl_.lexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& OnConflictExpr::arbiter_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_where) - return _internal_arbiter_where(); +inline const ::pg_query::Node& A_Expr::lexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.lexpr) + return _internal_lexpr(); } -inline void OnConflictExpr::unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value) { +inline void A_Expr::unsafe_arena_set_allocated_lexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arbiter_where_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lexpr_); } - _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.arbiter_where) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.lexpr) } -inline ::pg_query::Node* OnConflictExpr::release_arbiter_where() { +inline ::pg_query::Node* A_Expr::release_lexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.arbiter_where_; - _impl_.arbiter_where_ = nullptr; + ::pg_query::Node* released = _impl_.lexpr_; + _impl_.lexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -108773,34 +120305,34 @@ inline ::pg_query::Node* OnConflictExpr::release_arbiter_where() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_arbiter_where() { +inline ::pg_query::Node* A_Expr::unsafe_arena_release_lexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.arbiter_where) + // @@protoc_insertion_point(field_release:pg_query.A_Expr.lexpr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.arbiter_where_; - _impl_.arbiter_where_ = nullptr; + ::pg_query::Node* temp = _impl_.lexpr_; + _impl_.lexpr_ = nullptr; return temp; } -inline ::pg_query::Node* OnConflictExpr::_internal_mutable_arbiter_where() { +inline ::pg_query::Node* A_Expr::_internal_mutable_lexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.arbiter_where_ == nullptr) { + if (_impl_.lexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arbiter_where_; + return _impl_.lexpr_; } -inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arbiter_where(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_where) +inline ::pg_query::Node* A_Expr::mutable_lexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.lexpr) return _msg; } -inline void OnConflictExpr::set_allocated_arbiter_where(::pg_query::Node* value) { +inline void A_Expr::set_allocated_lexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arbiter_where_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.lexpr_); } if (value != nullptr) { @@ -108813,121 +120345,49 @@ inline void OnConflictExpr::set_allocated_arbiter_where(::pg_query::Node* value) _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.arbiter_where) -} - -// uint32 constraint = 4 [json_name = "constraint"]; -inline void OnConflictExpr::clear_constraint() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.constraint_ = 0u; -} -inline ::uint32_t OnConflictExpr::constraint() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.constraint) - return _internal_constraint(); -} -inline void OnConflictExpr::set_constraint(::uint32_t value) { - _internal_set_constraint(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.constraint) -} -inline ::uint32_t OnConflictExpr::_internal_constraint() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.constraint_; -} -inline void OnConflictExpr::_internal_set_constraint(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.constraint_ = value; -} - -// repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; -inline int OnConflictExpr::_internal_on_conflict_set_size() const { - return _internal_on_conflict_set().size(); -} -inline int OnConflictExpr::on_conflict_set_size() const { - return _internal_on_conflict_set_size(); -} -inline void OnConflictExpr::clear_on_conflict_set() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.on_conflict_set_.Clear(); -} -inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_set(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_set) - return _internal_mutable_on_conflict_set()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_on_conflict_set() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.on_conflict_set) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_on_conflict_set(); -} -inline const ::pg_query::Node& OnConflictExpr::on_conflict_set(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_set) - return _internal_on_conflict_set().Get(index); -} -inline ::pg_query::Node* OnConflictExpr::add_on_conflict_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_on_conflict_set()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.on_conflict_set) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::on_conflict_set() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.on_conflict_set) - return _internal_on_conflict_set(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OnConflictExpr::_internal_on_conflict_set() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.on_conflict_set_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OnConflictExpr::_internal_mutable_on_conflict_set() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.on_conflict_set_; + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.lexpr) } -// .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; -inline bool OnConflictExpr::has_on_conflict_where() const { +// .pg_query.Node rexpr = 4 [json_name = "rexpr"]; +inline bool A_Expr::has_rexpr() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.on_conflict_where_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.rexpr_ != nullptr); return value; } -inline void OnConflictExpr::clear_on_conflict_where() { +inline void A_Expr::clear_rexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.on_conflict_where_ != nullptr) _impl_.on_conflict_where_->Clear(); + if (_impl_.rexpr_ != nullptr) _impl_.rexpr_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& OnConflictExpr::_internal_on_conflict_where() const { +inline const ::pg_query::Node& A_Expr::_internal_rexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.on_conflict_where_; + const ::pg_query::Node* p = _impl_.rexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& OnConflictExpr::on_conflict_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_where) - return _internal_on_conflict_where(); +inline const ::pg_query::Node& A_Expr::rexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.rexpr) + return _internal_rexpr(); } -inline void OnConflictExpr::unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value) { +inline void A_Expr::unsafe_arena_set_allocated_rexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_where_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rexpr_); } - _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.on_conflict_where) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.rexpr) } -inline ::pg_query::Node* OnConflictExpr::release_on_conflict_where() { +inline ::pg_query::Node* A_Expr::release_rexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.on_conflict_where_; - _impl_.on_conflict_where_ = nullptr; + ::pg_query::Node* released = _impl_.rexpr_; + _impl_.rexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -108941,34 +120401,34 @@ inline ::pg_query::Node* OnConflictExpr::release_on_conflict_where() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_on_conflict_where() { +inline ::pg_query::Node* A_Expr::unsafe_arena_release_rexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.on_conflict_where) + // @@protoc_insertion_point(field_release:pg_query.A_Expr.rexpr) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.on_conflict_where_; - _impl_.on_conflict_where_ = nullptr; + ::pg_query::Node* temp = _impl_.rexpr_; + _impl_.rexpr_ = nullptr; return temp; } -inline ::pg_query::Node* OnConflictExpr::_internal_mutable_on_conflict_where() { +inline ::pg_query::Node* A_Expr::_internal_mutable_rexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.on_conflict_where_ == nullptr) { + if (_impl_.rexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.on_conflict_where_; + return _impl_.rexpr_; } -inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_on_conflict_where(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_where) +inline ::pg_query::Node* A_Expr::mutable_rexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.rexpr) return _msg; } -inline void OnConflictExpr::set_allocated_on_conflict_where(::pg_query::Node* value) { +inline void A_Expr::set_allocated_rexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.on_conflict_where_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.rexpr_); } if (value != nullptr) { @@ -108981,194 +120441,76 @@ inline void OnConflictExpr::set_allocated_on_conflict_where(::pg_query::Node* va _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.on_conflict_where) + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.rexpr) } -// int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; -inline void OnConflictExpr::clear_excl_rel_index() { +// int32 location = 5 [json_name = "location"]; +inline void A_Expr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.excl_rel_index_ = 0; + _impl_.location_ = 0; } -inline ::int32_t OnConflictExpr::excl_rel_index() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_index) - return _internal_excl_rel_index(); +inline ::int32_t A_Expr::location() const { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.location) + return _internal_location(); } -inline void OnConflictExpr::set_excl_rel_index(::int32_t value) { - _internal_set_excl_rel_index(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.excl_rel_index) +inline void A_Expr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.A_Expr.location) } -inline ::int32_t OnConflictExpr::_internal_excl_rel_index() const { +inline ::int32_t A_Expr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.excl_rel_index_; + return _impl_.location_; } -inline void OnConflictExpr::_internal_set_excl_rel_index(::int32_t value) { +inline void A_Expr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.excl_rel_index_ = value; -} - -// repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; -inline int OnConflictExpr::_internal_excl_rel_tlist_size() const { - return _internal_excl_rel_tlist().size(); -} -inline int OnConflictExpr::excl_rel_tlist_size() const { - return _internal_excl_rel_tlist_size(); -} -inline void OnConflictExpr::clear_excl_rel_tlist() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.excl_rel_tlist_.Clear(); -} -inline ::pg_query::Node* OnConflictExpr::mutable_excl_rel_tlist(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.excl_rel_tlist) - return _internal_mutable_excl_rel_tlist()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_excl_rel_tlist() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.excl_rel_tlist) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_excl_rel_tlist(); -} -inline const ::pg_query::Node& OnConflictExpr::excl_rel_tlist(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_tlist) - return _internal_excl_rel_tlist().Get(index); -} -inline ::pg_query::Node* OnConflictExpr::add_excl_rel_tlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_excl_rel_tlist()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.excl_rel_tlist) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::excl_rel_tlist() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.excl_rel_tlist) - return _internal_excl_rel_tlist(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OnConflictExpr::_internal_excl_rel_tlist() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.excl_rel_tlist_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OnConflictExpr::_internal_mutable_excl_rel_tlist() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.excl_rel_tlist_; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// Query - -// .pg_query.CmdType command_type = 1 [json_name = "commandType"]; -inline void Query::clear_command_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.command_type_ = 0; -} -inline ::pg_query::CmdType Query::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.Query.command_type) - return _internal_command_type(); -} -inline void Query::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.Query.command_type) -} -inline ::pg_query::CmdType Query::_internal_command_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CmdType>(_impl_.command_type_); -} -inline void Query::_internal_set_command_type(::pg_query::CmdType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.command_type_ = value; -} - -// .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; -inline void Query::clear_query_source() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.query_source_ = 0; -} -inline ::pg_query::QuerySource Query::query_source() const { - // @@protoc_insertion_point(field_get:pg_query.Query.query_source) - return _internal_query_source(); -} -inline void Query::set_query_source(::pg_query::QuerySource value) { - _internal_set_query_source(value); - // @@protoc_insertion_point(field_set:pg_query.Query.query_source) -} -inline ::pg_query::QuerySource Query::_internal_query_source() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::QuerySource>(_impl_.query_source_); -} -inline void Query::_internal_set_query_source(::pg_query::QuerySource value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.query_source_ = value; -} - -// bool can_set_tag = 3 [json_name = "canSetTag"]; -inline void Query::clear_can_set_tag() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.can_set_tag_ = false; -} -inline bool Query::can_set_tag() const { - // @@protoc_insertion_point(field_get:pg_query.Query.can_set_tag) - return _internal_can_set_tag(); -} -inline void Query::set_can_set_tag(bool value) { - _internal_set_can_set_tag(value); - // @@protoc_insertion_point(field_set:pg_query.Query.can_set_tag) -} -inline bool Query::_internal_can_set_tag() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.can_set_tag_; -} -inline void Query::_internal_set_can_set_tag(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.can_set_tag_ = value; -} +// TypeCast -// .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; -inline bool Query::has_utility_stmt() const { +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool TypeCast::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.utility_stmt_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void Query::clear_utility_stmt() { +inline void TypeCast::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.utility_stmt_ != nullptr) _impl_.utility_stmt_->Clear(); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Query::_internal_utility_stmt() const { +inline const ::pg_query::Node& TypeCast::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.utility_stmt_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::utility_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.utility_stmt) - return _internal_utility_stmt(); +inline const ::pg_query::Node& TypeCast::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.arg) + return _internal_arg(); } -inline void Query::unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value) { +inline void TypeCast::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.utility_stmt_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.utility_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.arg) } -inline ::pg_query::Node* Query::release_utility_stmt() { +inline ::pg_query::Node* TypeCast::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.utility_stmt_; - _impl_.utility_stmt_ = nullptr; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -109182,489 +120524,89 @@ inline ::pg_query::Node* Query::release_utility_stmt() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_utility_stmt() { +inline ::pg_query::Node* TypeCast::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.utility_stmt) + // @@protoc_insertion_point(field_release:pg_query.TypeCast.arg) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.utility_stmt_; - _impl_.utility_stmt_ = nullptr; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_utility_stmt() { +inline ::pg_query::Node* TypeCast::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.utility_stmt_ == nullptr) { + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.utility_stmt_; + return _impl_.arg_; } -inline ::pg_query::Node* Query::mutable_utility_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_utility_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.utility_stmt) +inline ::pg_query::Node* TypeCast::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.arg) return _msg; } -inline void Query::set_allocated_utility_stmt(::pg_query::Node* value) { +inline void TypeCast::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.utility_stmt_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.utility_stmt) -} - -// int32 result_relation = 5 [json_name = "resultRelation"]; -inline void Query::clear_result_relation() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.result_relation_ = 0; -} -inline ::int32_t Query::result_relation() const { - // @@protoc_insertion_point(field_get:pg_query.Query.result_relation) - return _internal_result_relation(); -} -inline void Query::set_result_relation(::int32_t value) { - _internal_set_result_relation(value); - // @@protoc_insertion_point(field_set:pg_query.Query.result_relation) -} -inline ::int32_t Query::_internal_result_relation() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.result_relation_; -} -inline void Query::_internal_set_result_relation(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.result_relation_ = value; -} - -// bool has_aggs = 6 [json_name = "hasAggs"]; -inline void Query::clear_has_aggs() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_aggs_ = false; -} -inline bool Query::has_aggs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_aggs) - return _internal_has_aggs(); -} -inline void Query::set_has_aggs(bool value) { - _internal_set_has_aggs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_aggs) -} -inline bool Query::_internal_has_aggs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_aggs_; -} -inline void Query::_internal_set_has_aggs(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_aggs_ = value; -} - -// bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; -inline void Query::clear_has_window_funcs() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_window_funcs_ = false; -} -inline bool Query::has_window_funcs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_window_funcs) - return _internal_has_window_funcs(); -} -inline void Query::set_has_window_funcs(bool value) { - _internal_set_has_window_funcs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_window_funcs) -} -inline bool Query::_internal_has_window_funcs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_window_funcs_; -} -inline void Query::_internal_set_has_window_funcs(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_window_funcs_ = value; -} - -// bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; -inline void Query::clear_has_target_srfs() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_target_srfs_ = false; -} -inline bool Query::has_target_srfs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_target_srfs) - return _internal_has_target_srfs(); -} -inline void Query::set_has_target_srfs(bool value) { - _internal_set_has_target_srfs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_target_srfs) -} -inline bool Query::_internal_has_target_srfs() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_target_srfs_; -} -inline void Query::_internal_set_has_target_srfs(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_target_srfs_ = value; -} - -// bool has_sub_links = 9 [json_name = "hasSubLinks"]; -inline void Query::clear_has_sub_links() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_sub_links_ = false; -} -inline bool Query::has_sub_links() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_sub_links) - return _internal_has_sub_links(); -} -inline void Query::set_has_sub_links(bool value) { - _internal_set_has_sub_links(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_sub_links) -} -inline bool Query::_internal_has_sub_links() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_sub_links_; -} -inline void Query::_internal_set_has_sub_links(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_sub_links_ = value; -} - -// bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; -inline void Query::clear_has_distinct_on() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_distinct_on_ = false; -} -inline bool Query::has_distinct_on() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_distinct_on) - return _internal_has_distinct_on(); -} -inline void Query::set_has_distinct_on(bool value) { - _internal_set_has_distinct_on(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_distinct_on) -} -inline bool Query::_internal_has_distinct_on() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_distinct_on_; -} -inline void Query::_internal_set_has_distinct_on(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_distinct_on_ = value; -} - -// bool has_recursive = 11 [json_name = "hasRecursive"]; -inline void Query::clear_has_recursive() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_recursive_ = false; -} -inline bool Query::has_recursive() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_recursive) - return _internal_has_recursive(); -} -inline void Query::set_has_recursive(bool value) { - _internal_set_has_recursive(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_recursive) -} -inline bool Query::_internal_has_recursive() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_recursive_; -} -inline void Query::_internal_set_has_recursive(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_recursive_ = value; -} - -// bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; -inline void Query::clear_has_modifying_cte() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_modifying_cte_ = false; -} -inline bool Query::has_modifying_cte() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_modifying_cte) - return _internal_has_modifying_cte(); -} -inline void Query::set_has_modifying_cte(bool value) { - _internal_set_has_modifying_cte(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_modifying_cte) -} -inline bool Query::_internal_has_modifying_cte() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_modifying_cte_; -} -inline void Query::_internal_set_has_modifying_cte(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_modifying_cte_ = value; -} - -// bool has_for_update = 13 [json_name = "hasForUpdate"]; -inline void Query::clear_has_for_update() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_for_update_ = false; -} -inline bool Query::has_for_update() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_for_update) - return _internal_has_for_update(); -} -inline void Query::set_has_for_update(bool value) { - _internal_set_has_for_update(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_for_update) -} -inline bool Query::_internal_has_for_update() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_for_update_; -} -inline void Query::_internal_set_has_for_update(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_for_update_ = value; -} - -// bool has_row_security = 14 [json_name = "hasRowSecurity"]; -inline void Query::clear_has_row_security() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.has_row_security_ = false; -} -inline bool Query::has_row_security() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_row_security) - return _internal_has_row_security(); -} -inline void Query::set_has_row_security(bool value) { - _internal_set_has_row_security(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_row_security) -} -inline bool Query::_internal_has_row_security() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.has_row_security_; -} -inline void Query::_internal_set_has_row_security(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.has_row_security_ = value; -} - -// bool is_return = 15 [json_name = "isReturn"]; -inline void Query::clear_is_return() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_return_ = false; -} -inline bool Query::is_return() const { - // @@protoc_insertion_point(field_get:pg_query.Query.is_return) - return _internal_is_return(); -} -inline void Query::set_is_return(bool value) { - _internal_set_is_return(value); - // @@protoc_insertion_point(field_set:pg_query.Query.is_return) -} -inline bool Query::_internal_is_return() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_return_; -} -inline void Query::_internal_set_is_return(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_return_ = value; -} - -// repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; -inline int Query::_internal_cte_list_size() const { - return _internal_cte_list().size(); -} -inline int Query::cte_list_size() const { - return _internal_cte_list_size(); -} -inline void Query::clear_cte_list() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cte_list_.Clear(); -} -inline ::pg_query::Node* Query::mutable_cte_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.cte_list) - return _internal_mutable_cte_list()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_cte_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.cte_list) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_cte_list(); -} -inline const ::pg_query::Node& Query::cte_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.cte_list) - return _internal_cte_list().Get(index); -} -inline ::pg_query::Node* Query::add_cte_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_cte_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.cte_list) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::cte_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.cte_list) - return _internal_cte_list(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_cte_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cte_list_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_cte_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.cte_list_; -} - -// repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; -inline int Query::_internal_rtable_size() const { - return _internal_rtable().size(); -} -inline int Query::rtable_size() const { - return _internal_rtable_size(); -} -inline void Query::clear_rtable() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rtable_.Clear(); -} -inline ::pg_query::Node* Query::mutable_rtable(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.rtable) - return _internal_mutable_rtable()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rtable() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rtable) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_rtable(); -} -inline const ::pg_query::Node& Query::rtable(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.rtable) - return _internal_rtable().Get(index); -} -inline ::pg_query::Node* Query::add_rtable() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_rtable()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.rtable) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rtable() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.rtable) - return _internal_rtable(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_rtable() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rtable_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_rtable() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.rtable_; -} - -// repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; -inline int Query::_internal_rteperminfos_size() const { - return _internal_rteperminfos().size(); -} -inline int Query::rteperminfos_size() const { - return _internal_rteperminfos_size(); -} -inline void Query::clear_rteperminfos() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rteperminfos_.Clear(); -} -inline ::pg_query::Node* Query::mutable_rteperminfos(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.rteperminfos) - return _internal_mutable_rteperminfos()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rteperminfos() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rteperminfos) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_rteperminfos(); -} -inline const ::pg_query::Node& Query::rteperminfos(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.rteperminfos) - return _internal_rteperminfos().Get(index); -} -inline ::pg_query::Node* Query::add_rteperminfos() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_rteperminfos()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.rteperminfos) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rteperminfos() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.rteperminfos) - return _internal_rteperminfos(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_rteperminfos() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rteperminfos_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_rteperminfos() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.rteperminfos_; + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.arg) } -// .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; -inline bool Query::has_jointree() const { +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool TypeCast::has_type_name() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.jointree_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); return value; } -inline void Query::clear_jointree() { +inline void TypeCast::clear_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.jointree_ != nullptr) _impl_.jointree_->Clear(); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::FromExpr& Query::_internal_jointree() const { +inline const ::pg_query::TypeName& TypeCast::_internal_type_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::FromExpr* p = _impl_.jointree_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_FromExpr_default_instance_); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::FromExpr& Query::jointree() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.jointree) - return _internal_jointree(); +inline const ::pg_query::TypeName& TypeCast::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.type_name) + return _internal_type_name(); } -inline void Query::unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value) { +inline void TypeCast::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.jointree_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.jointree) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.type_name) } -inline ::pg_query::FromExpr* Query::release_jointree() { +inline ::pg_query::TypeName* TypeCast::release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::FromExpr* released = _impl_.jointree_; - _impl_.jointree_ = nullptr; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -109678,38 +120620,38 @@ inline ::pg_query::FromExpr* Query::release_jointree() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::FromExpr* Query::unsafe_arena_release_jointree() { +inline ::pg_query::TypeName* TypeCast::unsafe_arena_release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.jointree) + // @@protoc_insertion_point(field_release:pg_query.TypeCast.type_name) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::FromExpr* temp = _impl_.jointree_; - _impl_.jointree_ = nullptr; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::FromExpr* Query::_internal_mutable_jointree() { +inline ::pg_query::TypeName* TypeCast::_internal_mutable_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.jointree_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); - _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(p); + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.jointree_; + return _impl_.type_name_; } -inline ::pg_query::FromExpr* Query::mutable_jointree() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::FromExpr* _msg = _internal_mutable_jointree(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.jointree) +inline ::pg_query::TypeName* TypeCast::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.type_name) return _msg; } -inline void Query::set_allocated_jointree(::pg_query::FromExpr* value) { +inline void TypeCast::set_allocated_type_name(::pg_query::TypeName* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::FromExpr*>(_impl_.jointree_); + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::FromExpr*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -109718,193 +120660,76 @@ inline void Query::set_allocated_jointree(::pg_query::FromExpr* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.jointree) -} - -// repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; -inline int Query::_internal_merge_action_list_size() const { - return _internal_merge_action_list().size(); -} -inline int Query::merge_action_list_size() const { - return _internal_merge_action_list_size(); -} -inline void Query::clear_merge_action_list() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.merge_action_list_.Clear(); -} -inline ::pg_query::Node* Query::mutable_merge_action_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_action_list) - return _internal_mutable_merge_action_list()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_merge_action_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.merge_action_list) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_merge_action_list(); -} -inline const ::pg_query::Node& Query::merge_action_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.merge_action_list) - return _internal_merge_action_list().Get(index); -} -inline ::pg_query::Node* Query::add_merge_action_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_merge_action_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.merge_action_list) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::merge_action_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.merge_action_list) - return _internal_merge_action_list(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_merge_action_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.merge_action_list_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_merge_action_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.merge_action_list_; + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.type_name) } -// bool merge_use_outer_join = 21 [json_name = "mergeUseOuterJoin"]; -inline void Query::clear_merge_use_outer_join() { +// int32 location = 3 [json_name = "location"]; +inline void TypeCast::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.merge_use_outer_join_ = false; + _impl_.location_ = 0; } -inline bool Query::merge_use_outer_join() const { - // @@protoc_insertion_point(field_get:pg_query.Query.merge_use_outer_join) - return _internal_merge_use_outer_join(); +inline ::int32_t TypeCast::location() const { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.location) + return _internal_location(); } -inline void Query::set_merge_use_outer_join(bool value) { - _internal_set_merge_use_outer_join(value); - // @@protoc_insertion_point(field_set:pg_query.Query.merge_use_outer_join) +inline void TypeCast::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TypeCast.location) } -inline bool Query::_internal_merge_use_outer_join() const { +inline ::int32_t TypeCast::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.merge_use_outer_join_; + return _impl_.location_; } -inline void Query::_internal_set_merge_use_outer_join(bool value) { +inline void TypeCast::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.merge_use_outer_join_ = value; + _impl_.location_ = value; } -// repeated .pg_query.Node target_list = 22 [json_name = "targetList"]; -inline int Query::_internal_target_list_size() const { - return _internal_target_list().size(); -} -inline int Query::target_list_size() const { - return _internal_target_list_size(); -} -inline void Query::clear_target_list() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.target_list_.Clear(); -} -inline ::pg_query::Node* Query::mutable_target_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.target_list) - return _internal_mutable_target_list()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_target_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.target_list) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_target_list(); -} -inline const ::pg_query::Node& Query::target_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.target_list) - return _internal_target_list().Get(index); -} -inline ::pg_query::Node* Query::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.target_list) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::target_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.target_list) - return _internal_target_list(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_target_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.target_list_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_target_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.target_list_; -} +// ------------------------------------------------------------------- -// .pg_query.OverridingKind override = 23 [json_name = "override"]; -inline void Query::clear_override() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.override_ = 0; -} -inline ::pg_query::OverridingKind Query::override() const { - // @@protoc_insertion_point(field_get:pg_query.Query.override) - return _internal_override(); -} -inline void Query::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.Query.override) -} -inline ::pg_query::OverridingKind Query::_internal_override() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OverridingKind>(_impl_.override_); -} -inline void Query::_internal_set_override(::pg_query::OverridingKind value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.override_ = value; -} +// CollateClause -// .pg_query.OnConflictExpr on_conflict = 24 [json_name = "onConflict"]; -inline bool Query::has_on_conflict() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.on_conflict_ != nullptr); +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool CollateClause::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void Query::clear_on_conflict() { +inline void CollateClause::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.on_conflict_ != nullptr) _impl_.on_conflict_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::OnConflictExpr& Query::_internal_on_conflict() const { +inline const ::pg_query::Node& CollateClause::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::OnConflictExpr* p = _impl_.on_conflict_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_OnConflictExpr_default_instance_); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::OnConflictExpr& Query::on_conflict() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.on_conflict) - return _internal_on_conflict(); +inline const ::pg_query::Node& CollateClause::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CollateClause.arg) + return _internal_arg(); } -inline void Query::unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { +inline void CollateClause::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.on_conflict) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateClause.arg) } -inline ::pg_query::OnConflictExpr* Query::release_on_conflict() { +inline ::pg_query::Node* CollateClause::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::OnConflictExpr* released = _impl_.on_conflict_; - _impl_.on_conflict_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -109918,259 +120743,415 @@ inline ::pg_query::OnConflictExpr* Query::release_on_conflict() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::OnConflictExpr* Query::unsafe_arena_release_on_conflict() { +inline ::pg_query::Node* CollateClause::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.on_conflict) + // @@protoc_insertion_point(field_release:pg_query.CollateClause.arg) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::OnConflictExpr* temp = _impl_.on_conflict_; - _impl_.on_conflict_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::OnConflictExpr* Query::_internal_mutable_on_conflict() { +inline ::pg_query::Node* CollateClause::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.on_conflict_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); - _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.on_conflict_; + return _impl_.arg_; } -inline ::pg_query::OnConflictExpr* Query::mutable_on_conflict() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.on_conflict) +inline ::pg_query::Node* CollateClause::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.arg) return _msg; } -inline void Query::set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { +inline void CollateClause::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::OnConflictExpr*>(_impl_.on_conflict_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::OnConflictExpr*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.on_conflict) + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CollateClause.arg) } -// repeated .pg_query.Node returning_list = 25 [json_name = "returningList"]; -inline int Query::_internal_returning_list_size() const { - return _internal_returning_list().size(); +// repeated .pg_query.Node collname = 2 [json_name = "collname"]; +inline int CollateClause::_internal_collname_size() const { + return _internal_collname().size(); } -inline int Query::returning_list_size() const { - return _internal_returning_list_size(); +inline int CollateClause::collname_size() const { + return _internal_collname_size(); } -inline void Query::clear_returning_list() { +inline void CollateClause::clear_collname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.returning_list_.Clear(); + _impl_.collname_.Clear(); } -inline ::pg_query::Node* Query::mutable_returning_list(int index) +inline ::pg_query::Node* CollateClause::mutable_collname(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.returning_list) - return _internal_mutable_returning_list()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.collname) + return _internal_mutable_collname()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_returning_list() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CollateClause::mutable_collname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.returning_list) + // @@protoc_insertion_point(field_mutable_list:pg_query.CollateClause.collname) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_returning_list(); + return _internal_mutable_collname(); } -inline const ::pg_query::Node& Query::returning_list(int index) const +inline const ::pg_query::Node& CollateClause::collname(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.returning_list) - return _internal_returning_list().Get(index); + // @@protoc_insertion_point(field_get:pg_query.CollateClause.collname) + return _internal_collname().Get(index); } -inline ::pg_query::Node* Query::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CollateClause::add_collname() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.returning_list) + ::pg_query::Node* _add = _internal_mutable_collname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CollateClause.collname) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::returning_list() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CollateClause::collname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.returning_list) - return _internal_returning_list(); + // @@protoc_insertion_point(field_list:pg_query.CollateClause.collname) + return _internal_collname(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_returning_list() const { +CollateClause::_internal_collname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.returning_list_; + return _impl_.collname_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_returning_list() { +CollateClause::_internal_mutable_collname() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.returning_list_; + return &_impl_.collname_; } -// repeated .pg_query.Node group_clause = 26 [json_name = "groupClause"]; -inline int Query::_internal_group_clause_size() const { - return _internal_group_clause().size(); +// int32 location = 3 [json_name = "location"]; +inline void CollateClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int Query::group_clause_size() const { - return _internal_group_clause_size(); +inline ::int32_t CollateClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CollateClause.location) + return _internal_location(); } -inline void Query::clear_group_clause() { +inline void CollateClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CollateClause.location) +} +inline ::int32_t CollateClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CollateClause::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.group_clause_.Clear(); + ; + _impl_.location_ = value; } -inline ::pg_query::Node* Query::mutable_group_clause(int index) + +// ------------------------------------------------------------------- + +// RoleSpec + +// .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; +inline void RoleSpec::clear_roletype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roletype_ = 0; +} +inline ::pg_query::RoleSpecType RoleSpec::roletype() const { + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.roletype) + return _internal_roletype(); +} +inline void RoleSpec::set_roletype(::pg_query::RoleSpecType value) { + _internal_set_roletype(value); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.roletype) +} +inline ::pg_query::RoleSpecType RoleSpec::_internal_roletype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::RoleSpecType>(_impl_.roletype_); +} +inline void RoleSpec::_internal_set_roletype(::pg_query::RoleSpecType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.roletype_ = value; +} + +// string rolename = 2 [json_name = "rolename"]; +inline void RoleSpec::clear_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rolename_.ClearToEmpty(); +} +inline const std::string& RoleSpec::rolename() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.group_clause) - return _internal_mutable_group_clause()->Mutable(index); + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.rolename) + return _internal_rolename(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_group_clause() +template +inline PROTOBUF_ALWAYS_INLINE void RoleSpec::set_rolename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rolename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.rolename) +} +inline std::string* RoleSpec::mutable_rolename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_rolename(); + // @@protoc_insertion_point(field_mutable:pg_query.RoleSpec.rolename) + return _s; +} +inline const std::string& RoleSpec::_internal_rolename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rolename_.Get(); +} +inline void RoleSpec::_internal_set_rolename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rolename_.Set(value, GetArena()); +} +inline std::string* RoleSpec::_internal_mutable_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.rolename_.Mutable( GetArena()); +} +inline std::string* RoleSpec::release_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RoleSpec.rolename) + return _impl_.rolename_.Release(); +} +inline void RoleSpec::set_allocated_rolename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rolename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.rolename_.IsDefault()) { + _impl_.rolename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RoleSpec.rolename) +} + +// int32 location = 3 [json_name = "location"]; +inline void RoleSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t RoleSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.location) + return _internal_location(); +} +inline void RoleSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.location) +} +inline ::int32_t RoleSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RoleSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// FuncCall + +// repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; +inline int FuncCall::_internal_funcname_size() const { + return _internal_funcname().size(); +} +inline int FuncCall::funcname_size() const { + return _internal_funcname_size(); +} +inline void FuncCall::clear_funcname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcname_.Clear(); +} +inline ::pg_query::Node* FuncCall::mutable_funcname(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.group_clause) + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.funcname) + return _internal_mutable_funcname()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_funcname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.funcname) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_group_clause(); + return _internal_mutable_funcname(); } -inline const ::pg_query::Node& Query::group_clause(int index) const +inline const ::pg_query::Node& FuncCall::funcname(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.group_clause) - return _internal_group_clause().Get(index); + // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcname) + return _internal_funcname().Get(index); } -inline ::pg_query::Node* Query::add_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FuncCall::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_group_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.group_clause) + ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.funcname) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::group_clause() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::funcname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.group_clause) - return _internal_group_clause(); + // @@protoc_insertion_point(field_list:pg_query.FuncCall.funcname) + return _internal_funcname(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_group_clause() const { +FuncCall::_internal_funcname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.group_clause_; + return _impl_.funcname_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_group_clause() { +FuncCall::_internal_mutable_funcname() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.group_clause_; + return &_impl_.funcname_; } -// bool group_distinct = 27 [json_name = "groupDistinct"]; -inline void Query::clear_group_distinct() { +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int FuncCall::_internal_args_size() const { + return _internal_args().size(); +} +inline int FuncCall::args_size() const { + return _internal_args_size(); +} +inline void FuncCall::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.group_distinct_ = false; + _impl_.args_.Clear(); } -inline bool Query::group_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.Query.group_distinct) - return _internal_group_distinct(); +inline ::pg_query::Node* FuncCall::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.args) + return _internal_mutable_args()->Mutable(index); } -inline void Query::set_group_distinct(bool value) { - _internal_set_group_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.Query.group_distinct) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline bool Query::_internal_group_distinct() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.group_distinct_; +inline const ::pg_query::Node& FuncCall::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.args) + return _internal_args().Get(index); } -inline void Query::_internal_set_group_distinct(bool value) { +inline ::pg_query::Node* FuncCall::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.group_distinct_ = value; + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FuncCall.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FuncCall::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FuncCall::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// repeated .pg_query.Node grouping_sets = 28 [json_name = "groupingSets"]; -inline int Query::_internal_grouping_sets_size() const { - return _internal_grouping_sets().size(); +// repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; +inline int FuncCall::_internal_agg_order_size() const { + return _internal_agg_order().size(); } -inline int Query::grouping_sets_size() const { - return _internal_grouping_sets_size(); +inline int FuncCall::agg_order_size() const { + return _internal_agg_order_size(); } -inline void Query::clear_grouping_sets() { +inline void FuncCall::clear_agg_order() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.grouping_sets_.Clear(); + _impl_.agg_order_.Clear(); } -inline ::pg_query::Node* Query::mutable_grouping_sets(int index) +inline ::pg_query::Node* FuncCall::mutable_agg_order(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.grouping_sets) - return _internal_mutable_grouping_sets()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_order) + return _internal_mutable_agg_order()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_grouping_sets() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_agg_order() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.grouping_sets) + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.agg_order) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_grouping_sets(); + return _internal_mutable_agg_order(); } -inline const ::pg_query::Node& Query::grouping_sets(int index) const +inline const ::pg_query::Node& FuncCall::agg_order(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.grouping_sets) - return _internal_grouping_sets().Get(index); + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_order) + return _internal_agg_order().Get(index); } -inline ::pg_query::Node* Query::add_grouping_sets() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* FuncCall::add_agg_order() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_grouping_sets()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.grouping_sets) + ::pg_query::Node* _add = _internal_mutable_agg_order()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.agg_order) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::grouping_sets() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::agg_order() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.grouping_sets) - return _internal_grouping_sets(); + // @@protoc_insertion_point(field_list:pg_query.FuncCall.agg_order) + return _internal_agg_order(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_grouping_sets() const { +FuncCall::_internal_agg_order() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.grouping_sets_; + return _impl_.agg_order_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_grouping_sets() { +FuncCall::_internal_mutable_agg_order() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.grouping_sets_; + return &_impl_.agg_order_; } -// .pg_query.Node having_qual = 29 [json_name = "havingQual"]; -inline bool Query::has_having_qual() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.having_qual_ != nullptr); +// .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; +inline bool FuncCall::has_agg_filter() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.agg_filter_ != nullptr); return value; } -inline void Query::clear_having_qual() { +inline void FuncCall::clear_agg_filter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.having_qual_ != nullptr) _impl_.having_qual_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; + if (_impl_.agg_filter_ != nullptr) _impl_.agg_filter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Query::_internal_having_qual() const { +inline const ::pg_query::Node& FuncCall::_internal_agg_filter() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.having_qual_; + const ::pg_query::Node* p = _impl_.agg_filter_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::having_qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.having_qual) - return _internal_having_qual(); +inline const ::pg_query::Node& FuncCall::agg_filter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_filter) + return _internal_agg_filter(); } -inline void Query::unsafe_arena_set_allocated_having_qual(::pg_query::Node* value) { +inline void FuncCall::unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.having_qual_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.agg_filter_); } - _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.having_qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.agg_filter) } -inline ::pg_query::Node* Query::release_having_qual() { +inline ::pg_query::Node* FuncCall::release_agg_filter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::Node* released = _impl_.having_qual_; - _impl_.having_qual_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -110184,34 +121165,34 @@ inline ::pg_query::Node* Query::release_having_qual() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_having_qual() { +inline ::pg_query::Node* FuncCall::unsafe_arena_release_agg_filter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.having_qual) + // @@protoc_insertion_point(field_release:pg_query.FuncCall.agg_filter) - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::Node* temp = _impl_.having_qual_; - _impl_.having_qual_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_having_qual() { +inline ::pg_query::Node* FuncCall::_internal_mutable_agg_filter() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.having_qual_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.agg_filter_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.having_qual_; + return _impl_.agg_filter_; } -inline ::pg_query::Node* Query::mutable_having_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_having_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.having_qual) +inline ::pg_query::Node* FuncCall::mutable_agg_filter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_agg_filter(); + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_filter) return _msg; } -inline void Query::set_allocated_having_qual(::pg_query::Node* value) { +inline void FuncCall::set_allocated_agg_filter(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.having_qual_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.agg_filter_); } if (value != nullptr) { @@ -110219,201 +121200,319 @@ inline void Query::set_allocated_having_qual(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.having_qual) + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.agg_filter) } -// repeated .pg_query.Node window_clause = 30 [json_name = "windowClause"]; -inline int Query::_internal_window_clause_size() const { - return _internal_window_clause().size(); +// .pg_query.WindowDef over = 5 [json_name = "over"]; +inline bool FuncCall::has_over() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.over_ != nullptr); + return value; } -inline int Query::window_clause_size() const { - return _internal_window_clause_size(); +inline void FuncCall::clear_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.over_ != nullptr) _impl_.over_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline void Query::clear_window_clause() { +inline const ::pg_query::WindowDef& FuncCall::_internal_over() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WindowDef* p = _impl_.over_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WindowDef_default_instance_); +} +inline const ::pg_query::WindowDef& FuncCall::over() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.over) + return _internal_over(); +} +inline void FuncCall::unsafe_arena_set_allocated_over(::pg_query::WindowDef* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.window_clause_.Clear(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.over_); + } + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.over) } -inline ::pg_query::Node* Query::mutable_window_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.window_clause) - return _internal_mutable_window_clause()->Mutable(index); +inline ::pg_query::WindowDef* FuncCall::release_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::WindowDef* released = _impl_.over_; + _impl_.over_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_window_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.window_clause) +inline ::pg_query::WindowDef* FuncCall::unsafe_arena_release_over() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_window_clause(); + // @@protoc_insertion_point(field_release:pg_query.FuncCall.over) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::WindowDef* temp = _impl_.over_; + _impl_.over_ = nullptr; + return temp; } -inline const ::pg_query::Node& Query::window_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.window_clause) - return _internal_window_clause().Get(index); +inline ::pg_query::WindowDef* FuncCall::_internal_mutable_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.over_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(p); + } + return _impl_.over_; } -inline ::pg_query::Node* Query::add_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::WindowDef* FuncCall::mutable_over() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowDef* _msg = _internal_mutable_over(); + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.over) + return _msg; +} +inline void FuncCall::set_allocated_over(::pg_query::WindowDef* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_window_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.window_clause) - return _add; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WindowDef*>(_impl_.over_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WindowDef*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.over) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::window_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.window_clause) - return _internal_window_clause(); + +// bool agg_within_group = 6 [json_name = "agg_within_group"]; +inline void FuncCall::clear_agg_within_group() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_within_group_ = false; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_window_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.window_clause_; +inline bool FuncCall::agg_within_group() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_within_group) + return _internal_agg_within_group(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_window_clause() { +inline void FuncCall::set_agg_within_group(bool value) { + _internal_set_agg_within_group(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_within_group) +} +inline bool FuncCall::_internal_agg_within_group() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.window_clause_; + return _impl_.agg_within_group_; +} +inline void FuncCall::_internal_set_agg_within_group(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agg_within_group_ = value; } -// repeated .pg_query.Node distinct_clause = 31 [json_name = "distinctClause"]; -inline int Query::_internal_distinct_clause_size() const { - return _internal_distinct_clause().size(); +// bool agg_star = 7 [json_name = "agg_star"]; +inline void FuncCall::clear_agg_star() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_star_ = false; } -inline int Query::distinct_clause_size() const { - return _internal_distinct_clause_size(); +inline bool FuncCall::agg_star() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_star) + return _internal_agg_star(); } -inline void Query::clear_distinct_clause() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.distinct_clause_.Clear(); +inline void FuncCall::set_agg_star(bool value) { + _internal_set_agg_star(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_star) } -inline ::pg_query::Node* Query::mutable_distinct_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.distinct_clause) - return _internal_mutable_distinct_clause()->Mutable(index); +inline bool FuncCall::_internal_agg_star() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_star_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_distinct_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.distinct_clause) +inline void FuncCall::_internal_set_agg_star(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_distinct_clause(); -} -inline const ::pg_query::Node& Query::distinct_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.distinct_clause) - return _internal_distinct_clause().Get(index); + ; + _impl_.agg_star_ = value; } -inline ::pg_query::Node* Query::add_distinct_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// bool agg_distinct = 8 [json_name = "agg_distinct"]; +inline void FuncCall::clear_agg_distinct() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_distinct_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.distinct_clause) - return _add; + _impl_.agg_distinct_ = false; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::distinct_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.distinct_clause) - return _internal_distinct_clause(); +inline bool FuncCall::agg_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_distinct) + return _internal_agg_distinct(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_distinct_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.distinct_clause_; +inline void FuncCall::set_agg_distinct(bool value) { + _internal_set_agg_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_distinct) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_distinct_clause() { +inline bool FuncCall::_internal_agg_distinct() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.distinct_clause_; + return _impl_.agg_distinct_; +} +inline void FuncCall::_internal_set_agg_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agg_distinct_ = value; } -// repeated .pg_query.Node sort_clause = 32 [json_name = "sortClause"]; -inline int Query::_internal_sort_clause_size() const { - return _internal_sort_clause().size(); +// bool func_variadic = 9 [json_name = "func_variadic"]; +inline void FuncCall::clear_func_variadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.func_variadic_ = false; } -inline int Query::sort_clause_size() const { - return _internal_sort_clause_size(); +inline bool FuncCall::func_variadic() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.func_variadic) + return _internal_func_variadic(); } -inline void Query::clear_sort_clause() { +inline void FuncCall::set_func_variadic(bool value) { + _internal_set_func_variadic(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.func_variadic) +} +inline bool FuncCall::_internal_func_variadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.func_variadic_; +} +inline void FuncCall::_internal_set_func_variadic(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sort_clause_.Clear(); + ; + _impl_.func_variadic_ = value; } -inline ::pg_query::Node* Query::mutable_sort_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.sort_clause) - return _internal_mutable_sort_clause()->Mutable(index); + +// .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; +inline void FuncCall::clear_funcformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcformat_ = 0; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_sort_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.sort_clause) +inline ::pg_query::CoercionForm FuncCall::funcformat() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcformat) + return _internal_funcformat(); +} +inline void FuncCall::set_funcformat(::pg_query::CoercionForm value) { + _internal_set_funcformat(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.funcformat) +} +inline ::pg_query::CoercionForm FuncCall::_internal_funcformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); +} +inline void FuncCall::_internal_set_funcformat(::pg_query::CoercionForm value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_sort_clause(); + ; + _impl_.funcformat_ = value; } -inline const ::pg_query::Node& Query::sort_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.sort_clause) - return _internal_sort_clause().Get(index); + +// int32 location = 11 [json_name = "location"]; +inline void FuncCall::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::Node* Query::add_sort_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::int32_t FuncCall::location() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.location) + return _internal_location(); +} +inline void FuncCall::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.location) +} +inline ::int32_t FuncCall::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void FuncCall::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_sort_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.sort_clause) - return _add; + ; + _impl_.location_ = value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::sort_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.sort_clause) - return _internal_sort_clause(); + +// ------------------------------------------------------------------- + +// A_Star + +// ------------------------------------------------------------------- + +// A_Indices + +// bool is_slice = 1 [json_name = "is_slice"]; +inline void A_Indices::clear_is_slice() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_slice_ = false; +} +inline bool A_Indices::is_slice() const { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.is_slice) + return _internal_is_slice(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_sort_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.sort_clause_; +inline void A_Indices::set_is_slice(bool value) { + _internal_set_is_slice(value); + // @@protoc_insertion_point(field_set:pg_query.A_Indices.is_slice) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_sort_clause() { +inline bool A_Indices::_internal_is_slice() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.sort_clause_; + return _impl_.is_slice_; +} +inline void A_Indices::_internal_set_is_slice(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_slice_ = value; } -// .pg_query.Node limit_offset = 33 [json_name = "limitOffset"]; -inline bool Query::has_limit_offset() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - PROTOBUF_ASSUME(!value || _impl_.limit_offset_ != nullptr); +// .pg_query.Node lidx = 2 [json_name = "lidx"]; +inline bool A_Indices::has_lidx() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.lidx_ != nullptr); return value; } -inline void Query::clear_limit_offset() { +inline void A_Indices::clear_lidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.limit_offset_ != nullptr) _impl_.limit_offset_->Clear(); - _impl_._has_bits_[0] &= ~0x00000010u; + if (_impl_.lidx_ != nullptr) _impl_.lidx_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Query::_internal_limit_offset() const { +inline const ::pg_query::Node& A_Indices::_internal_lidx() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.limit_offset_; + const ::pg_query::Node* p = _impl_.lidx_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::limit_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_offset) - return _internal_limit_offset(); +inline const ::pg_query::Node& A_Indices::lidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.lidx) + return _internal_lidx(); } -inline void Query::unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value) { +inline void A_Indices::unsafe_arena_set_allocated_lidx(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_offset_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lidx_); } - _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000010u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.lidx) } -inline ::pg_query::Node* Query::release_limit_offset() { +inline ::pg_query::Node* A_Indices::release_lidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Node* released = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.lidx_; + _impl_.lidx_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -110427,34 +121526,34 @@ inline ::pg_query::Node* Query::release_limit_offset() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_limit_offset() { +inline ::pg_query::Node* A_Indices::unsafe_arena_release_lidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.limit_offset) + // @@protoc_insertion_point(field_release:pg_query.A_Indices.lidx) - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Node* temp = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.lidx_; + _impl_.lidx_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_limit_offset() { +inline ::pg_query::Node* A_Indices::_internal_mutable_lidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000010u; - if (_impl_.limit_offset_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.lidx_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.limit_offset_; + return _impl_.lidx_; } -inline ::pg_query::Node* Query::mutable_limit_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_limit_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_offset) +inline ::pg_query::Node* A_Indices::mutable_lidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lidx(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.lidx) return _msg; } -inline void Query::set_allocated_limit_offset(::pg_query::Node* value) { +inline void A_Indices::set_allocated_lidx(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_offset_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.lidx_); } if (value != nullptr) { @@ -110462,54 +121561,54 @@ inline void Query::set_allocated_limit_offset(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000010u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_offset) + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.lidx) } -// .pg_query.Node limit_count = 34 [json_name = "limitCount"]; -inline bool Query::has_limit_count() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - PROTOBUF_ASSUME(!value || _impl_.limit_count_ != nullptr); +// .pg_query.Node uidx = 3 [json_name = "uidx"]; +inline bool A_Indices::has_uidx() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.uidx_ != nullptr); return value; } -inline void Query::clear_limit_count() { +inline void A_Indices::clear_uidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.limit_count_ != nullptr) _impl_.limit_count_->Clear(); - _impl_._has_bits_[0] &= ~0x00000020u; + if (_impl_.uidx_ != nullptr) _impl_.uidx_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& Query::_internal_limit_count() const { +inline const ::pg_query::Node& A_Indices::_internal_uidx() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.limit_count_; + const ::pg_query::Node* p = _impl_.uidx_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::limit_count() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_count) - return _internal_limit_count(); +inline const ::pg_query::Node& A_Indices::uidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.uidx) + return _internal_uidx(); } -inline void Query::unsafe_arena_set_allocated_limit_count(::pg_query::Node* value) { +inline void A_Indices::unsafe_arena_set_allocated_uidx(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_count_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.uidx_); } - _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000020u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000020u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_count) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.uidx) } -inline ::pg_query::Node* Query::release_limit_count() { +inline ::pg_query::Node* A_Indices::release_uidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000020u; - ::pg_query::Node* released = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.uidx_; + _impl_.uidx_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -110523,34 +121622,34 @@ inline ::pg_query::Node* Query::release_limit_count() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_limit_count() { +inline ::pg_query::Node* A_Indices::unsafe_arena_release_uidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.limit_count) + // @@protoc_insertion_point(field_release:pg_query.A_Indices.uidx) - _impl_._has_bits_[0] &= ~0x00000020u; - ::pg_query::Node* temp = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.uidx_; + _impl_.uidx_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_limit_count() { +inline ::pg_query::Node* A_Indices::_internal_mutable_uidx() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000020u; - if (_impl_.limit_count_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.uidx_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.limit_count_; + return _impl_.uidx_; } -inline ::pg_query::Node* Query::mutable_limit_count() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_limit_count(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_count) +inline ::pg_query::Node* A_Indices::mutable_uidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_uidx(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.uidx) return _msg; } -inline void Query::set_allocated_limit_count(::pg_query::Node* value) { +inline void A_Indices::set_allocated_uidx(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_count_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.uidx_); } if (value != nullptr) { @@ -110558,126 +121657,58 @@ inline void Query::set_allocated_limit_count(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000020u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000020u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_count) + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.uidx) } -// .pg_query.LimitOption limit_option = 35 [json_name = "limitOption"]; -inline void Query::clear_limit_option() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.limit_option_ = 0; -} -inline ::pg_query::LimitOption Query::limit_option() const { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_option) - return _internal_limit_option(); -} -inline void Query::set_limit_option(::pg_query::LimitOption value) { - _internal_set_limit_option(value); - // @@protoc_insertion_point(field_set:pg_query.Query.limit_option) -} -inline ::pg_query::LimitOption Query::_internal_limit_option() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::LimitOption>(_impl_.limit_option_); -} -inline void Query::_internal_set_limit_option(::pg_query::LimitOption value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.limit_option_ = value; -} +// ------------------------------------------------------------------- -// repeated .pg_query.Node row_marks = 36 [json_name = "rowMarks"]; -inline int Query::_internal_row_marks_size() const { - return _internal_row_marks().size(); -} -inline int Query::row_marks_size() const { - return _internal_row_marks_size(); -} -inline void Query::clear_row_marks() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.row_marks_.Clear(); -} -inline ::pg_query::Node* Query::mutable_row_marks(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.row_marks) - return _internal_mutable_row_marks()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_row_marks() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.row_marks) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_row_marks(); -} -inline const ::pg_query::Node& Query::row_marks(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.row_marks) - return _internal_row_marks().Get(index); -} -inline ::pg_query::Node* Query::add_row_marks() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_row_marks()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.row_marks) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::row_marks() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.row_marks) - return _internal_row_marks(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_row_marks() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.row_marks_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_row_marks() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.row_marks_; -} +// A_Indirection -// .pg_query.Node set_operations = 37 [json_name = "setOperations"]; -inline bool Query::has_set_operations() const { - bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; - PROTOBUF_ASSUME(!value || _impl_.set_operations_ != nullptr); +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool A_Indirection::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void Query::clear_set_operations() { +inline void A_Indirection::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.set_operations_ != nullptr) _impl_.set_operations_->Clear(); - _impl_._has_bits_[0] &= ~0x00000040u; + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Query::_internal_set_operations() const { +inline const ::pg_query::Node& A_Indirection::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.set_operations_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::set_operations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.set_operations) - return _internal_set_operations(); +inline const ::pg_query::Node& A_Indirection::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indirection.arg) + return _internal_arg(); } -inline void Query::unsafe_arena_set_allocated_set_operations(::pg_query::Node* value) { +inline void A_Indirection::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.set_operations_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000040u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000040u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.set_operations) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indirection.arg) } -inline ::pg_query::Node* Query::release_set_operations() { +inline ::pg_query::Node* A_Indirection::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000040u; - ::pg_query::Node* released = _impl_.set_operations_; - _impl_.set_operations_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -110691,34 +121722,34 @@ inline ::pg_query::Node* Query::release_set_operations() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_set_operations() { +inline ::pg_query::Node* A_Indirection::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.Query.set_operations) + // @@protoc_insertion_point(field_release:pg_query.A_Indirection.arg) - _impl_._has_bits_[0] &= ~0x00000040u; - ::pg_query::Node* temp = _impl_.set_operations_; - _impl_.set_operations_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_set_operations() { +inline ::pg_query::Node* A_Indirection::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000040u; - if (_impl_.set_operations_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.set_operations_; + return _impl_.arg_; } -inline ::pg_query::Node* Query::mutable_set_operations() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_set_operations(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.set_operations) +inline ::pg_query::Node* A_Indirection::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.arg) return _msg; } -inline void Query::set_allocated_set_operations(::pg_query::Node* value) { +inline void A_Indirection::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.set_operations_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { @@ -110726,420 +121757,135 @@ inline void Query::set_allocated_set_operations(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000040u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000040u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.set_operations) -} - -// repeated .pg_query.Node constraint_deps = 38 [json_name = "constraintDeps"]; -inline int Query::_internal_constraint_deps_size() const { - return _internal_constraint_deps().size(); -} -inline int Query::constraint_deps_size() const { - return _internal_constraint_deps_size(); -} -inline void Query::clear_constraint_deps() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.constraint_deps_.Clear(); -} -inline ::pg_query::Node* Query::mutable_constraint_deps(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.constraint_deps) - return _internal_mutable_constraint_deps()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_constraint_deps() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.constraint_deps) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_constraint_deps(); -} -inline const ::pg_query::Node& Query::constraint_deps(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.constraint_deps) - return _internal_constraint_deps().Get(index); -} -inline ::pg_query::Node* Query::add_constraint_deps() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_constraint_deps()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.constraint_deps) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::constraint_deps() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.constraint_deps) - return _internal_constraint_deps(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_constraint_deps() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.constraint_deps_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_constraint_deps() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.constraint_deps_; + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indirection.arg) } -// repeated .pg_query.Node with_check_options = 39 [json_name = "withCheckOptions"]; -inline int Query::_internal_with_check_options_size() const { - return _internal_with_check_options().size(); +// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; +inline int A_Indirection::_internal_indirection_size() const { + return _internal_indirection().size(); } -inline int Query::with_check_options_size() const { - return _internal_with_check_options_size(); +inline int A_Indirection::indirection_size() const { + return _internal_indirection_size(); } -inline void Query::clear_with_check_options() { +inline void A_Indirection::clear_indirection() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.with_check_options_.Clear(); + _impl_.indirection_.Clear(); } -inline ::pg_query::Node* Query::mutable_with_check_options(int index) +inline ::pg_query::Node* A_Indirection::mutable_indirection(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.Query.with_check_options) - return _internal_mutable_with_check_options()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.indirection) + return _internal_mutable_indirection()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_with_check_options() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Indirection::mutable_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.with_check_options) + // @@protoc_insertion_point(field_mutable_list:pg_query.A_Indirection.indirection) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_with_check_options(); + return _internal_mutable_indirection(); } -inline const ::pg_query::Node& Query::with_check_options(int index) const +inline const ::pg_query::Node& A_Indirection::indirection(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.Query.with_check_options) - return _internal_with_check_options().Get(index); + // @@protoc_insertion_point(field_get:pg_query.A_Indirection.indirection) + return _internal_indirection().Get(index); } -inline ::pg_query::Node* Query::add_with_check_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* A_Indirection::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_with_check_options()->Add(); - // @@protoc_insertion_point(field_add:pg_query.Query.with_check_options) + ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_Indirection.indirection) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::with_check_options() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Indirection::indirection() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.Query.with_check_options) - return _internal_with_check_options(); + // @@protoc_insertion_point(field_list:pg_query.A_Indirection.indirection) + return _internal_indirection(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -Query::_internal_with_check_options() const { +A_Indirection::_internal_indirection() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.with_check_options_; + return _impl_.indirection_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -Query::_internal_mutable_with_check_options() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.with_check_options_; -} - -// int32 stmt_location = 40 [json_name = "stmt_location"]; -inline void Query::clear_stmt_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.stmt_location_ = 0; -} -inline ::int32_t Query::stmt_location() const { - // @@protoc_insertion_point(field_get:pg_query.Query.stmt_location) - return _internal_stmt_location(); -} -inline void Query::set_stmt_location(::int32_t value) { - _internal_set_stmt_location(value); - // @@protoc_insertion_point(field_set:pg_query.Query.stmt_location) -} -inline ::int32_t Query::_internal_stmt_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.stmt_location_; -} -inline void Query::_internal_set_stmt_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.stmt_location_ = value; -} - -// int32 stmt_len = 41 [json_name = "stmt_len"]; -inline void Query::clear_stmt_len() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.stmt_len_ = 0; -} -inline ::int32_t Query::stmt_len() const { - // @@protoc_insertion_point(field_get:pg_query.Query.stmt_len) - return _internal_stmt_len(); -} -inline void Query::set_stmt_len(::int32_t value) { - _internal_set_stmt_len(value); - // @@protoc_insertion_point(field_set:pg_query.Query.stmt_len) -} -inline ::int32_t Query::_internal_stmt_len() const { +A_Indirection::_internal_mutable_indirection() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.stmt_len_; -} -inline void Query::_internal_set_stmt_len(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.stmt_len_ = value; + return &_impl_.indirection_; } // ------------------------------------------------------------------- -// TypeName - -// repeated .pg_query.Node names = 1 [json_name = "names"]; -inline int TypeName::_internal_names_size() const { - return _internal_names().size(); -} -inline int TypeName::names_size() const { - return _internal_names_size(); -} -inline void TypeName::clear_names() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.names_.Clear(); -} -inline ::pg_query::Node* TypeName::mutable_names(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.names) - return _internal_mutable_names()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_names() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.names) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_names(); -} -inline const ::pg_query::Node& TypeName::names(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TypeName.names) - return _internal_names().Get(index); -} -inline ::pg_query::Node* TypeName::add_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_names()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.names) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::names() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TypeName.names) - return _internal_names(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TypeName::_internal_names() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.names_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TypeName::_internal_mutable_names() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.names_; -} - -// uint32 type_oid = 2 [json_name = "typeOid"]; -inline void TypeName::clear_type_oid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.type_oid_ = 0u; -} -inline ::uint32_t TypeName::type_oid() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.type_oid) - return _internal_type_oid(); -} -inline void TypeName::set_type_oid(::uint32_t value) { - _internal_set_type_oid(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.type_oid) -} -inline ::uint32_t TypeName::_internal_type_oid() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.type_oid_; -} -inline void TypeName::_internal_set_type_oid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.type_oid_ = value; -} - -// bool setof = 3 [json_name = "setof"]; -inline void TypeName::clear_setof() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.setof_ = false; -} -inline bool TypeName::setof() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.setof) - return _internal_setof(); -} -inline void TypeName::set_setof(bool value) { - _internal_set_setof(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.setof) -} -inline bool TypeName::_internal_setof() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.setof_; -} -inline void TypeName::_internal_set_setof(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.setof_ = value; -} - -// bool pct_type = 4 [json_name = "pct_type"]; -inline void TypeName::clear_pct_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.pct_type_ = false; -} -inline bool TypeName::pct_type() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.pct_type) - return _internal_pct_type(); -} -inline void TypeName::set_pct_type(bool value) { - _internal_set_pct_type(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.pct_type) -} -inline bool TypeName::_internal_pct_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.pct_type_; -} -inline void TypeName::_internal_set_pct_type(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.pct_type_ = value; -} - -// repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; -inline int TypeName::_internal_typmods_size() const { - return _internal_typmods().size(); -} -inline int TypeName::typmods_size() const { - return _internal_typmods_size(); -} -inline void TypeName::clear_typmods() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typmods_.Clear(); -} -inline ::pg_query::Node* TypeName::mutable_typmods(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.typmods) - return _internal_mutable_typmods()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_typmods() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.typmods) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_typmods(); -} -inline const ::pg_query::Node& TypeName::typmods(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TypeName.typmods) - return _internal_typmods().Get(index); -} -inline ::pg_query::Node* TypeName::add_typmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_typmods()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.typmods) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::typmods() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TypeName.typmods) - return _internal_typmods(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TypeName::_internal_typmods() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typmods_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TypeName::_internal_mutable_typmods() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.typmods_; -} - -// int32 typemod = 6 [json_name = "typemod"]; -inline void TypeName::clear_typemod() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.typemod_ = 0; -} -inline ::int32_t TypeName::typemod() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.typemod) - return _internal_typemod(); -} -inline void TypeName::set_typemod(::int32_t value) { - _internal_set_typemod(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.typemod) -} -inline ::int32_t TypeName::_internal_typemod() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.typemod_; -} -inline void TypeName::_internal_set_typemod(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.typemod_ = value; -} +// A_ArrayExpr -// repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; -inline int TypeName::_internal_array_bounds_size() const { - return _internal_array_bounds().size(); +// repeated .pg_query.Node elements = 1 [json_name = "elements"]; +inline int A_ArrayExpr::_internal_elements_size() const { + return _internal_elements().size(); } -inline int TypeName::array_bounds_size() const { - return _internal_array_bounds_size(); +inline int A_ArrayExpr::elements_size() const { + return _internal_elements_size(); } -inline void TypeName::clear_array_bounds() { +inline void A_ArrayExpr::clear_elements() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.array_bounds_.Clear(); + _impl_.elements_.Clear(); } -inline ::pg_query::Node* TypeName::mutable_array_bounds(int index) +inline ::pg_query::Node* A_ArrayExpr::mutable_elements(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.array_bounds) - return _internal_mutable_array_bounds()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.A_ArrayExpr.elements) + return _internal_mutable_elements()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_array_bounds() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_ArrayExpr::mutable_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.array_bounds) + // @@protoc_insertion_point(field_mutable_list:pg_query.A_ArrayExpr.elements) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_array_bounds(); + return _internal_mutable_elements(); } -inline const ::pg_query::Node& TypeName::array_bounds(int index) const +inline const ::pg_query::Node& A_ArrayExpr::elements(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TypeName.array_bounds) - return _internal_array_bounds().Get(index); + // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.elements) + return _internal_elements().Get(index); } -inline ::pg_query::Node* TypeName::add_array_bounds() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* A_ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_array_bounds()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.array_bounds) + ::pg_query::Node* _add = _internal_mutable_elements()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_ArrayExpr.elements) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::array_bounds() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_ArrayExpr::elements() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TypeName.array_bounds) - return _internal_array_bounds(); + // @@protoc_insertion_point(field_list:pg_query.A_ArrayExpr.elements) + return _internal_elements(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TypeName::_internal_array_bounds() const { +A_ArrayExpr::_internal_elements() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.array_bounds_; + return _impl_.elements_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TypeName::_internal_mutable_array_bounds() { +A_ArrayExpr::_internal_mutable_elements() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.array_bounds_; + return &_impl_.elements_; } -// int32 location = 8 [json_name = "location"]; -inline void TypeName::clear_location() { +// int32 location = 2 [json_name = "location"]; +inline void A_ArrayExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t TypeName::location() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.location) +inline ::int32_t A_ArrayExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.location) return _internal_location(); } -inline void TypeName::set_location(::int32_t value) { +inline void A_ArrayExpr::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.location) + // @@protoc_insertion_point(field_set:pg_query.A_ArrayExpr.location) } -inline ::int32_t TypeName::_internal_location() const { +inline ::int32_t A_ArrayExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void TypeName::_internal_set_location(::int32_t value) { +inline void A_ArrayExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -111147,341 +121893,149 @@ inline void TypeName::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// ColumnRef +// ResTarget -// repeated .pg_query.Node fields = 1 [json_name = "fields"]; -inline int ColumnRef::_internal_fields_size() const { - return _internal_fields().size(); -} -inline int ColumnRef::fields_size() const { - return _internal_fields_size(); -} -inline void ColumnRef::clear_fields() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fields_.Clear(); -} -inline ::pg_query::Node* ColumnRef::mutable_fields(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnRef.fields) - return _internal_mutable_fields()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnRef::mutable_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnRef.fields) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_fields(); -} -inline const ::pg_query::Node& ColumnRef::fields(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnRef.fields) - return _internal_fields().Get(index); -} -inline ::pg_query::Node* ColumnRef::add_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND { +// string name = 1 [json_name = "name"]; +inline void ResTarget::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_fields()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ColumnRef.fields) - return _add; + _impl_.name_.ClearToEmpty(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnRef::fields() const +inline const std::string& ResTarget::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ColumnRef.fields) - return _internal_fields(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ColumnRef::_internal_fields() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fields_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ColumnRef::_internal_mutable_fields() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.fields_; -} - -// int32 location = 2 [json_name = "location"]; -inline void ColumnRef::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t ColumnRef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnRef.location) - return _internal_location(); -} -inline void ColumnRef::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnRef.location) -} -inline ::int32_t ColumnRef::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + // @@protoc_insertion_point(field_get:pg_query.ResTarget.name) + return _internal_name(); } -inline void ColumnRef::_internal_set_location(::int32_t value) { +template +inline PROTOBUF_ALWAYS_INLINE void ResTarget::set_name(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; -} - -// ------------------------------------------------------------------- - -// ParamRef - -// int32 number = 1 [json_name = "number"]; -inline void ParamRef::clear_number() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.number_ = 0; -} -inline ::int32_t ParamRef::number() const { - // @@protoc_insertion_point(field_get:pg_query.ParamRef.number) - return _internal_number(); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ResTarget.name) } -inline void ParamRef::set_number(::int32_t value) { - _internal_set_number(value); - // @@protoc_insertion_point(field_set:pg_query.ParamRef.number) +inline std::string* ResTarget::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.name) + return _s; } -inline ::int32_t ParamRef::_internal_number() const { +inline const std::string& ResTarget::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.number_; + return _impl_.name_.Get(); } -inline void ParamRef::_internal_set_number(::int32_t value) { +inline void ResTarget::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.number_ = value; -} - -// int32 location = 2 [json_name = "location"]; -inline void ParamRef::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t ParamRef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ParamRef.location) - return _internal_location(); -} -inline void ParamRef::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ParamRef.location) -} -inline ::int32_t ParamRef::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + _impl_.name_.Set(value, GetArena()); } -inline void ParamRef::_internal_set_location(::int32_t value) { +inline std::string* ResTarget::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + return _impl_.name_.Mutable( GetArena()); } - -// ------------------------------------------------------------------- - -// A_Expr - -// .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; -inline void A_Expr::clear_kind() { +inline std::string* ResTarget::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.kind_ = 0; -} -inline ::pg_query::A_Expr_Kind A_Expr::kind() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.kind) - return _internal_kind(); -} -inline void A_Expr::set_kind(::pg_query::A_Expr_Kind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.A_Expr.kind) -} -inline ::pg_query::A_Expr_Kind A_Expr::_internal_kind() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::A_Expr_Kind>(_impl_.kind_); + // @@protoc_insertion_point(field_release:pg_query.ResTarget.name) + return _impl_.name_.Release(); } -inline void A_Expr::_internal_set_kind(::pg_query::A_Expr_Kind value) { +inline void ResTarget::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.kind_ = value; + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.name) } -// repeated .pg_query.Node name = 2 [json_name = "name"]; -inline int A_Expr::_internal_name_size() const { - return _internal_name().size(); +// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; +inline int ResTarget::_internal_indirection_size() const { + return _internal_indirection().size(); } -inline int A_Expr::name_size() const { - return _internal_name_size(); +inline int ResTarget::indirection_size() const { + return _internal_indirection_size(); } -inline void A_Expr::clear_name() { +inline void ResTarget::clear_indirection() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.Clear(); + _impl_.indirection_.Clear(); } -inline ::pg_query::Node* A_Expr::mutable_name(int index) +inline ::pg_query::Node* ResTarget::mutable_indirection(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.name) - return _internal_mutable_name()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.indirection) + return _internal_mutable_indirection()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Expr::mutable_name() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ResTarget::mutable_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_Expr.name) + // @@protoc_insertion_point(field_mutable_list:pg_query.ResTarget.indirection) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_name(); + return _internal_mutable_indirection(); } -inline const ::pg_query::Node& A_Expr::name(int index) const +inline const ::pg_query::Node& ResTarget::indirection(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.name) - return _internal_name().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ResTarget.indirection) + return _internal_indirection().Get(index); } -inline ::pg_query::Node* A_Expr::add_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ResTarget::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_name()->Add(); - // @@protoc_insertion_point(field_add:pg_query.A_Expr.name) + ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ResTarget.indirection) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Expr::name() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ResTarget::indirection() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.A_Expr.name) - return _internal_name(); + // @@protoc_insertion_point(field_list:pg_query.ResTarget.indirection) + return _internal_indirection(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -A_Expr::_internal_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -A_Expr::_internal_mutable_name() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.name_; -} - -// .pg_query.Node lexpr = 3 [json_name = "lexpr"]; -inline bool A_Expr::has_lexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.lexpr_ != nullptr); - return value; -} -inline void A_Expr::clear_lexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.lexpr_ != nullptr) _impl_.lexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::pg_query::Node& A_Expr::_internal_lexpr() const { +ResTarget::_internal_indirection() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.lexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& A_Expr::lexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.lexpr) - return _internal_lexpr(); -} -inline void A_Expr::unsafe_arena_set_allocated_lexpr(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lexpr_); - } - _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.lexpr) -} -inline ::pg_query::Node* A_Expr::release_lexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.lexpr_; - _impl_.lexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; -} -inline ::pg_query::Node* A_Expr::unsafe_arena_release_lexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.A_Expr.lexpr) - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.lexpr_; - _impl_.lexpr_ = nullptr; - return temp; -} -inline ::pg_query::Node* A_Expr::_internal_mutable_lexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.lexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.lexpr_; -} -inline ::pg_query::Node* A_Expr::mutable_lexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_lexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.lexpr) - return _msg; + return _impl_.indirection_; } -inline void A_Expr::set_allocated_lexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.lexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.lexpr) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ResTarget::_internal_mutable_indirection() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.indirection_; } -// .pg_query.Node rexpr = 4 [json_name = "rexpr"]; -inline bool A_Expr::has_rexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.rexpr_ != nullptr); +// .pg_query.Node val = 3 [json_name = "val"]; +inline bool ResTarget::has_val() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); return value; } -inline void A_Expr::clear_rexpr() { +inline void ResTarget::clear_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.rexpr_ != nullptr) _impl_.rexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.val_ != nullptr) _impl_.val_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& A_Expr::_internal_rexpr() const { +inline const ::pg_query::Node& ResTarget::_internal_val() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.rexpr_; + const ::pg_query::Node* p = _impl_.val_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& A_Expr::rexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.rexpr) - return _internal_rexpr(); +inline const ::pg_query::Node& ResTarget::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.val) + return _internal_val(); } -inline void A_Expr::unsafe_arena_set_allocated_rexpr(::pg_query::Node* value) { +inline void ResTarget::unsafe_arena_set_allocated_val(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); } - _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.rexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ResTarget.val) } -inline ::pg_query::Node* A_Expr::release_rexpr() { +inline ::pg_query::Node* ResTarget::release_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.rexpr_; - _impl_.rexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.val_; + _impl_.val_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -111495,34 +122049,34 @@ inline ::pg_query::Node* A_Expr::release_rexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* A_Expr::unsafe_arena_release_rexpr() { +inline ::pg_query::Node* ResTarget::unsafe_arena_release_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.A_Expr.rexpr) + // @@protoc_insertion_point(field_release:pg_query.ResTarget.val) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.rexpr_; - _impl_.rexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.val_; + _impl_.val_ = nullptr; return temp; } -inline ::pg_query::Node* A_Expr::_internal_mutable_rexpr() { +inline ::pg_query::Node* ResTarget::_internal_mutable_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.rexpr_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.val_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rexpr_; + return _impl_.val_; } -inline ::pg_query::Node* A_Expr::mutable_rexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_rexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.rexpr) +inline ::pg_query::Node* ResTarget::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_val(); + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.val) return _msg; } -inline void A_Expr::set_allocated_rexpr(::pg_query::Node* value) { +inline void ResTarget::set_allocated_val(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.rexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.val_); } if (value != nullptr) { @@ -111530,33 +122084,33 @@ inline void A_Expr::set_allocated_rexpr(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.rexpr) + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.val) } -// int32 location = 5 [json_name = "location"]; -inline void A_Expr::clear_location() { +// int32 location = 4 [json_name = "location"]; +inline void ResTarget::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t A_Expr::location() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.location) +inline ::int32_t ResTarget::location() const { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.location) return _internal_location(); } -inline void A_Expr::set_location(::int32_t value) { +inline void ResTarget::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.A_Expr.location) + // @@protoc_insertion_point(field_set:pg_query.ResTarget.location) } -inline ::int32_t A_Expr::_internal_location() const { +inline ::int32_t ResTarget::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void A_Expr::_internal_set_location(::int32_t value) { +inline void ResTarget::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -111564,47 +122118,47 @@ inline void A_Expr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// TypeCast +// MultiAssignRef -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool TypeCast::has_arg() const { +// .pg_query.Node source = 1 [json_name = "source"]; +inline bool MultiAssignRef::has_source() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.source_ != nullptr); return value; } -inline void TypeCast::clear_arg() { +inline void MultiAssignRef::clear_source() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + if (_impl_.source_ != nullptr) _impl_.source_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& TypeCast::_internal_arg() const { +inline const ::pg_query::Node& MultiAssignRef::_internal_source() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.source_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TypeCast::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.arg) - return _internal_arg(); +inline const ::pg_query::Node& MultiAssignRef::source() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.source) + return _internal_source(); } -inline void TypeCast::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void MultiAssignRef::unsafe_arena_set_allocated_source(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MultiAssignRef.source) } -inline ::pg_query::Node* TypeCast::release_arg() { +inline ::pg_query::Node* MultiAssignRef::release_source() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* released = _impl_.source_; + _impl_.source_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -111618,34 +122172,34 @@ inline ::pg_query::Node* TypeCast::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* TypeCast::unsafe_arena_release_arg() { +inline ::pg_query::Node* MultiAssignRef::unsafe_arena_release_source() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TypeCast.arg) + // @@protoc_insertion_point(field_release:pg_query.MultiAssignRef.source) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* temp = _impl_.source_; + _impl_.source_ = nullptr; return temp; } -inline ::pg_query::Node* TypeCast::_internal_mutable_arg() { +inline ::pg_query::Node* MultiAssignRef::_internal_mutable_source() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.arg_ == nullptr) { + if (_impl_.source_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.source_; } -inline ::pg_query::Node* TypeCast::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.arg) +inline ::pg_query::Node* MultiAssignRef::mutable_source() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_source(); + // @@protoc_insertion_point(field_mutable:pg_query.MultiAssignRef.source) return _msg; } -inline void TypeCast::set_allocated_arg(::pg_query::Node* value) { +inline void MultiAssignRef::set_allocated_source(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.source_); } if (value != nullptr) { @@ -111658,172 +122212,99 @@ inline void TypeCast::set_allocated_arg(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.arg) + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MultiAssignRef.source) } -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool TypeCast::has_type_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); - return value; -} -inline void TypeCast::clear_type_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::pg_query::TypeName& TypeCast::_internal_type_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); -} -inline const ::pg_query::TypeName& TypeCast::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.type_name) - return _internal_type_name(); -} -inline void TypeCast::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); - } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.type_name) -} -inline ::pg_query::TypeName* TypeCast::release_type_name() { +// int32 colno = 2 [json_name = "colno"]; +inline void MultiAssignRef::clear_colno() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::TypeName* released = _impl_.type_name_; - _impl_.type_name_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + _impl_.colno_ = 0; } -inline ::pg_query::TypeName* TypeCast::unsafe_arena_release_type_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TypeCast.type_name) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; - return temp; +inline ::int32_t MultiAssignRef::colno() const { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.colno) + return _internal_colno(); } -inline ::pg_query::TypeName* TypeCast::_internal_mutable_type_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); - } - return _impl_.type_name_; +inline void MultiAssignRef::set_colno(::int32_t value) { + _internal_set_colno(value); + // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.colno) } -inline ::pg_query::TypeName* TypeCast::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.type_name) - return _msg; +inline ::int32_t MultiAssignRef::_internal_colno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colno_; } -inline void TypeCast::set_allocated_type_name(::pg_query::TypeName* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void MultiAssignRef::_internal_set_colno(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.type_name) + ; + _impl_.colno_ = value; } -// int32 location = 3 [json_name = "location"]; -inline void TypeCast::clear_location() { +// int32 ncolumns = 3 [json_name = "ncolumns"]; +inline void MultiAssignRef::clear_ncolumns() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.ncolumns_ = 0; } -inline ::int32_t TypeCast::location() const { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.location) - return _internal_location(); +inline ::int32_t MultiAssignRef::ncolumns() const { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.ncolumns) + return _internal_ncolumns(); } -inline void TypeCast::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TypeCast.location) +inline void MultiAssignRef::set_ncolumns(::int32_t value) { + _internal_set_ncolumns(value); + // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.ncolumns) } -inline ::int32_t TypeCast::_internal_location() const { +inline ::int32_t MultiAssignRef::_internal_ncolumns() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.ncolumns_; } -inline void TypeCast::_internal_set_location(::int32_t value) { +inline void MultiAssignRef::_internal_set_ncolumns(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.ncolumns_ = value; } // ------------------------------------------------------------------- -// CollateClause +// SortBy -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool CollateClause::has_arg() const { +// .pg_query.Node node = 1 [json_name = "node"]; +inline bool SortBy::has_node() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.node_ != nullptr); return value; } -inline void CollateClause::clear_arg() { +inline void SortBy::clear_node() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + if (_impl_.node_ != nullptr) _impl_.node_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CollateClause::_internal_arg() const { +inline const ::pg_query::Node& SortBy::_internal_node() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.node_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CollateClause::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.arg) - return _internal_arg(); +inline const ::pg_query::Node& SortBy::node() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SortBy.node) + return _internal_node(); } -inline void CollateClause::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void SortBy::unsafe_arena_set_allocated_node(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateClause.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SortBy.node) } -inline ::pg_query::Node* CollateClause::release_arg() { +inline ::pg_query::Node* SortBy::release_node() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* released = _impl_.node_; + _impl_.node_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -111837,34 +122318,34 @@ inline ::pg_query::Node* CollateClause::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CollateClause::unsafe_arena_release_arg() { +inline ::pg_query::Node* SortBy::unsafe_arena_release_node() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CollateClause.arg) + // @@protoc_insertion_point(field_release:pg_query.SortBy.node) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + ::pg_query::Node* temp = _impl_.node_; + _impl_.node_ = nullptr; return temp; } -inline ::pg_query::Node* CollateClause::_internal_mutable_arg() { +inline ::pg_query::Node* SortBy::_internal_mutable_node() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.arg_ == nullptr) { + if (_impl_.node_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.node_; } -inline ::pg_query::Node* CollateClause::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.arg) +inline ::pg_query::Node* SortBy::mutable_node() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:pg_query.SortBy.node) return _msg; } -inline void CollateClause::set_allocated_arg(::pg_query::Node* value) { +inline void SortBy::set_allocated_node(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.node_); } if (value != nullptr) { @@ -111877,77 +122358,123 @@ inline void CollateClause::set_allocated_arg(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CollateClause.arg) + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SortBy.node) } -// repeated .pg_query.Node collname = 2 [json_name = "collname"]; -inline int CollateClause::_internal_collname_size() const { - return _internal_collname().size(); +// .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; +inline void SortBy::clear_sortby_dir() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortby_dir_ = 0; } -inline int CollateClause::collname_size() const { - return _internal_collname_size(); +inline ::pg_query::SortByDir SortBy::sortby_dir() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_dir) + return _internal_sortby_dir(); } -inline void CollateClause::clear_collname() { +inline void SortBy::set_sortby_dir(::pg_query::SortByDir value) { + _internal_set_sortby_dir(value); + // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_dir) +} +inline ::pg_query::SortByDir SortBy::_internal_sortby_dir() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByDir>(_impl_.sortby_dir_); +} +inline void SortBy::_internal_set_sortby_dir(::pg_query::SortByDir value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collname_.Clear(); + ; + _impl_.sortby_dir_ = value; } -inline ::pg_query::Node* CollateClause::mutable_collname(int index) + +// .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; +inline void SortBy::clear_sortby_nulls() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortby_nulls_ = 0; +} +inline ::pg_query::SortByNulls SortBy::sortby_nulls() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_nulls) + return _internal_sortby_nulls(); +} +inline void SortBy::set_sortby_nulls(::pg_query::SortByNulls value) { + _internal_set_sortby_nulls(value); + // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_nulls) +} +inline ::pg_query::SortByNulls SortBy::_internal_sortby_nulls() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByNulls>(_impl_.sortby_nulls_); +} +inline void SortBy::_internal_set_sortby_nulls(::pg_query::SortByNulls value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sortby_nulls_ = value; +} + +// repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; +inline int SortBy::_internal_use_op_size() const { + return _internal_use_op().size(); +} +inline int SortBy::use_op_size() const { + return _internal_use_op_size(); +} +inline void SortBy::clear_use_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.use_op_.Clear(); +} +inline ::pg_query::Node* SortBy::mutable_use_op(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.collname) - return _internal_mutable_collname()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.SortBy.use_op) + return _internal_mutable_use_op()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CollateClause::mutable_collname() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SortBy::mutable_use_op() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CollateClause.collname) + // @@protoc_insertion_point(field_mutable_list:pg_query.SortBy.use_op) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_collname(); + return _internal_mutable_use_op(); } -inline const ::pg_query::Node& CollateClause::collname(int index) const +inline const ::pg_query::Node& SortBy::use_op(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.collname) - return _internal_collname().Get(index); + // @@protoc_insertion_point(field_get:pg_query.SortBy.use_op) + return _internal_use_op().Get(index); } -inline ::pg_query::Node* CollateClause::add_collname() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* SortBy::add_use_op() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_collname()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CollateClause.collname) + ::pg_query::Node* _add = _internal_mutable_use_op()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SortBy.use_op) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CollateClause::collname() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SortBy::use_op() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CollateClause.collname) - return _internal_collname(); + // @@protoc_insertion_point(field_list:pg_query.SortBy.use_op) + return _internal_use_op(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CollateClause::_internal_collname() const { +SortBy::_internal_use_op() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collname_; + return _impl_.use_op_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CollateClause::_internal_mutable_collname() { +SortBy::_internal_mutable_use_op() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.collname_; + return &_impl_.use_op_; } -// int32 location = 3 [json_name = "location"]; -inline void CollateClause::clear_location() { +// int32 location = 5 [json_name = "location"]; +inline void SortBy::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t CollateClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.location) +inline ::int32_t SortBy::location() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.location) return _internal_location(); } -inline void CollateClause::set_location(::int32_t value) { +inline void SortBy::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CollateClause.location) + // @@protoc_insertion_point(field_set:pg_query.SortBy.location) } -inline ::int32_t CollateClause::_internal_location() const { +inline ::int32_t SortBy::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void CollateClause::_internal_set_location(::int32_t value) { +inline void SortBy::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -111955,297 +122482,516 @@ inline void CollateClause::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// RoleSpec - -// .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; -inline void RoleSpec::clear_roletype() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.roletype_ = 0; -} -inline ::pg_query::RoleSpecType RoleSpec::roletype() const { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.roletype) - return _internal_roletype(); -} -inline void RoleSpec::set_roletype(::pg_query::RoleSpecType value) { - _internal_set_roletype(value); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.roletype) -} -inline ::pg_query::RoleSpecType RoleSpec::_internal_roletype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::RoleSpecType>(_impl_.roletype_); -} -inline void RoleSpec::_internal_set_roletype(::pg_query::RoleSpecType value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.roletype_ = value; -} +// WindowDef -// string rolename = 2 [json_name = "rolename"]; -inline void RoleSpec::clear_rolename() { +// string name = 1 [json_name = "name"]; +inline void WindowDef::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rolename_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& RoleSpec::rolename() const +inline const std::string& WindowDef::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.rolename) - return _internal_rolename(); + // @@protoc_insertion_point(field_get:pg_query.WindowDef.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void RoleSpec::set_rolename(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.rolename_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.rolename) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.name) } -inline std::string* RoleSpec::mutable_rolename() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_rolename(); - // @@protoc_insertion_point(field_mutable:pg_query.RoleSpec.rolename) +inline std::string* WindowDef::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.name) return _s; } -inline const std::string& RoleSpec::_internal_rolename() const { +inline const std::string& WindowDef::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rolename_.Get(); + return _impl_.name_.Get(); } -inline void RoleSpec::_internal_set_rolename(const std::string& value) { +inline void WindowDef::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.rolename_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* RoleSpec::_internal_mutable_rolename() { +inline std::string* WindowDef::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.rolename_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* RoleSpec::release_rolename() { +inline std::string* WindowDef::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RoleSpec.rolename) - return _impl_.rolename_.Release(); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.name) + return _impl_.name_.Release(); } -inline void RoleSpec::set_allocated_rolename(std::string* value) { +inline void WindowDef::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rolename_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.rolename_.IsDefault()) { - _impl_.rolename_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RoleSpec.rolename) + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.name) } -// int32 location = 3 [json_name = "location"]; -inline void RoleSpec::clear_location() { +// string refname = 2 [json_name = "refname"]; +inline void WindowDef::clear_refname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.refname_.ClearToEmpty(); } -inline ::int32_t RoleSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.location) - return _internal_location(); +inline const std::string& WindowDef::refname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.refname) + return _internal_refname(); } -inline void RoleSpec::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.location) +template +inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_refname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.refname) } -inline ::int32_t RoleSpec::_internal_location() const { +inline std::string* WindowDef::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_refname(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.refname) + return _s; +} +inline const std::string& WindowDef::_internal_refname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.refname_.Get(); } -inline void RoleSpec::_internal_set_location(::int32_t value) { +inline void WindowDef::_internal_set_refname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.refname_.Set(value, GetArena()); +} +inline std::string* WindowDef::_internal_mutable_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.refname_.Mutable( GetArena()); +} +inline std::string* WindowDef::release_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.refname) + return _impl_.refname_.Release(); +} +inline void WindowDef::set_allocated_refname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.refname_.IsDefault()) { + _impl_.refname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.refname) } -// ------------------------------------------------------------------- - -// FuncCall - -// repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; -inline int FuncCall::_internal_funcname_size() const { - return _internal_funcname().size(); +// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; +inline int WindowDef::_internal_partition_clause_size() const { + return _internal_partition_clause().size(); } -inline int FuncCall::funcname_size() const { - return _internal_funcname_size(); +inline int WindowDef::partition_clause_size() const { + return _internal_partition_clause_size(); } -inline void FuncCall::clear_funcname() { +inline void WindowDef::clear_partition_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcname_.Clear(); + _impl_.partition_clause_.Clear(); } -inline ::pg_query::Node* FuncCall::mutable_funcname(int index) +inline ::pg_query::Node* WindowDef::mutable_partition_clause(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.funcname) - return _internal_mutable_funcname()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.partition_clause) + return _internal_mutable_partition_clause()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_funcname() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.funcname) + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.partition_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funcname(); + return _internal_mutable_partition_clause(); } -inline const ::pg_query::Node& FuncCall::funcname(int index) const +inline const ::pg_query::Node& WindowDef::partition_clause(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcname) - return _internal_funcname().Get(index); + // @@protoc_insertion_point(field_get:pg_query.WindowDef.partition_clause) + return _internal_partition_clause().Get(index); } -inline ::pg_query::Node* FuncCall::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* WindowDef::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.funcname) + ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowDef.partition_clause) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::funcname() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::partition_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.funcname) - return _internal_funcname(); + // @@protoc_insertion_point(field_list:pg_query.WindowDef.partition_clause) + return _internal_partition_clause(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FuncCall::_internal_funcname() const { +WindowDef::_internal_partition_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcname_; + return _impl_.partition_clause_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FuncCall::_internal_mutable_funcname() { +WindowDef::_internal_mutable_partition_clause() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funcname_; + return &_impl_.partition_clause_; } -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int FuncCall::_internal_args_size() const { - return _internal_args().size(); +// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; +inline int WindowDef::_internal_order_clause_size() const { + return _internal_order_clause().size(); } -inline int FuncCall::args_size() const { - return _internal_args_size(); +inline int WindowDef::order_clause_size() const { + return _internal_order_clause_size(); } -inline void FuncCall::clear_args() { +inline void WindowDef::clear_order_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + _impl_.order_clause_.Clear(); } -inline ::pg_query::Node* FuncCall::mutable_args(int index) +inline ::pg_query::Node* WindowDef::mutable_order_clause(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.order_clause) + return _internal_mutable_order_clause()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.order_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + return _internal_mutable_order_clause(); } -inline const ::pg_query::Node& FuncCall::args(int index) const +inline const ::pg_query::Node& WindowDef::order_clause(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.WindowDef.order_clause) + return _internal_order_clause().Get(index); } -inline ::pg_query::Node* FuncCall::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* WindowDef::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.args) + ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowDef.order_clause) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::order_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.args) - return _internal_args(); + // @@protoc_insertion_point(field_list:pg_query.WindowDef.order_clause) + return _internal_order_clause(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FuncCall::_internal_args() const { +WindowDef::_internal_order_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.order_clause_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FuncCall::_internal_mutable_args() { +WindowDef::_internal_mutable_order_clause() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return &_impl_.order_clause_; } -// repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; -inline int FuncCall::_internal_agg_order_size() const { - return _internal_agg_order().size(); +// int32 frame_options = 5 [json_name = "frameOptions"]; +inline void WindowDef::clear_frame_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.frame_options_ = 0; } -inline int FuncCall::agg_order_size() const { - return _internal_agg_order_size(); +inline ::int32_t WindowDef::frame_options() const { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.frame_options) + return _internal_frame_options(); } -inline void FuncCall::clear_agg_order() { +inline void WindowDef::set_frame_options(::int32_t value) { + _internal_set_frame_options(value); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.frame_options) +} +inline ::int32_t WindowDef::_internal_frame_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.frame_options_; +} +inline void WindowDef::_internal_set_frame_options(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agg_order_.Clear(); + ; + _impl_.frame_options_ = value; } -inline ::pg_query::Node* FuncCall::mutable_agg_order(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_order) - return _internal_mutable_agg_order()->Mutable(index); + +// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; +inline bool WindowDef::has_start_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); + return value; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_agg_order() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.agg_order) +inline void WindowDef::clear_start_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_agg_order(); + if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FuncCall::agg_order(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_order) - return _internal_agg_order().Get(index); +inline const ::pg_query::Node& WindowDef::_internal_start_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.start_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* FuncCall::add_agg_order() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline const ::pg_query::Node& WindowDef::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.start_offset) + return _internal_start_offset(); +} +inline void WindowDef::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_agg_order()->Add(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.agg_order) - return _add; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); + } + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.start_offset) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::agg_order() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.agg_order) - return _internal_agg_order(); +inline ::pg_query::Node* WindowDef::release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -FuncCall::_internal_agg_order() const { +inline ::pg_query::Node* WindowDef::unsafe_arena_release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.start_offset) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowDef::_internal_mutable_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.start_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.start_offset_; +} +inline ::pg_query::Node* WindowDef::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_start_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.start_offset) + return _msg; +} +inline void WindowDef::set_allocated_start_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.start_offset) +} + +// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; +inline bool WindowDef::has_end_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); + return value; +} +inline void WindowDef::clear_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& WindowDef::_internal_end_offset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agg_order_; + const ::pg_query::Node* p = _impl_.end_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -FuncCall::_internal_mutable_agg_order() { +inline const ::pg_query::Node& WindowDef::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.end_offset) + return _internal_end_offset(); +} +inline void WindowDef::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); + } + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.end_offset) +} +inline ::pg_query::Node* WindowDef::release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* WindowDef::unsafe_arena_release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.end_offset) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowDef::_internal_mutable_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.end_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.end_offset_; +} +inline ::pg_query::Node* WindowDef::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_end_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.end_offset) + return _msg; +} +inline void WindowDef::set_allocated_end_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.end_offset) +} + +// int32 location = 8 [json_name = "location"]; +inline void WindowDef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t WindowDef::location() const { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.location) + return _internal_location(); +} +inline void WindowDef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.location) +} +inline ::int32_t WindowDef::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.agg_order_; + return _impl_.location_; +} +inline void WindowDef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; -inline bool FuncCall::has_agg_filter() const { +// ------------------------------------------------------------------- + +// RangeSubselect + +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeSubselect::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; +} +inline bool RangeSubselect::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.lateral) + return _internal_lateral(); +} +inline void RangeSubselect::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeSubselect.lateral) +} +inline bool RangeSubselect::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; +} +inline void RangeSubselect::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; +} + +// .pg_query.Node subquery = 2 [json_name = "subquery"]; +inline bool RangeSubselect::has_subquery() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.agg_filter_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); return value; } -inline void FuncCall::clear_agg_filter() { +inline void RangeSubselect::clear_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.agg_filter_ != nullptr) _impl_.agg_filter_->Clear(); + if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& FuncCall::_internal_agg_filter() const { +inline const ::pg_query::Node& RangeSubselect::_internal_subquery() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.agg_filter_; + const ::pg_query::Node* p = _impl_.subquery_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FuncCall::agg_filter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_filter) - return _internal_agg_filter(); +inline const ::pg_query::Node& RangeSubselect::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.subquery) + return _internal_subquery(); } -inline void FuncCall::unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value) { +inline void RangeSubselect::unsafe_arena_set_allocated_subquery(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.agg_filter_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); } - _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.agg_filter) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.subquery) } -inline ::pg_query::Node* FuncCall::release_agg_filter() { +inline ::pg_query::Node* RangeSubselect::release_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.agg_filter_; - _impl_.agg_filter_ = nullptr; + ::pg_query::Node* released = _impl_.subquery_; + _impl_.subquery_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -112259,34 +123005,34 @@ inline ::pg_query::Node* FuncCall::release_agg_filter() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* FuncCall::unsafe_arena_release_agg_filter() { +inline ::pg_query::Node* RangeSubselect::unsafe_arena_release_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FuncCall.agg_filter) + // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.subquery) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.agg_filter_; - _impl_.agg_filter_ = nullptr; + ::pg_query::Node* temp = _impl_.subquery_; + _impl_.subquery_ = nullptr; return temp; } -inline ::pg_query::Node* FuncCall::_internal_mutable_agg_filter() { +inline ::pg_query::Node* RangeSubselect::_internal_mutable_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.agg_filter_ == nullptr) { + if (_impl_.subquery_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.agg_filter_; + return _impl_.subquery_; } -inline ::pg_query::Node* FuncCall::mutable_agg_filter() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_agg_filter(); - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_filter) +inline ::pg_query::Node* RangeSubselect::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_subquery(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.subquery) return _msg; } -inline void FuncCall::set_allocated_agg_filter(::pg_query::Node* value) { +inline void RangeSubselect::set_allocated_subquery(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.agg_filter_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.subquery_); } if (value != nullptr) { @@ -112299,49 +123045,49 @@ inline void FuncCall::set_allocated_agg_filter(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.agg_filter) + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.subquery) } -// .pg_query.WindowDef over = 5 [json_name = "over"]; -inline bool FuncCall::has_over() const { +// .pg_query.Alias alias = 3 [json_name = "alias"]; +inline bool RangeSubselect::has_alias() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.over_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); return value; } -inline void FuncCall::clear_over() { +inline void RangeSubselect::clear_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.over_ != nullptr) _impl_.over_->Clear(); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::WindowDef& FuncCall::_internal_over() const { +inline const ::pg_query::Alias& RangeSubselect::_internal_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::WindowDef* p = _impl_.over_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_WindowDef_default_instance_); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::WindowDef& FuncCall::over() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.over) - return _internal_over(); +inline const ::pg_query::Alias& RangeSubselect::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.alias) + return _internal_alias(); } -inline void FuncCall::unsafe_arena_set_allocated_over(::pg_query::WindowDef* value) { +inline void RangeSubselect::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.over_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.over) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.alias) } -inline ::pg_query::WindowDef* FuncCall::release_over() { +inline ::pg_query::Alias* RangeSubselect::release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::WindowDef* released = _impl_.over_; - _impl_.over_ = nullptr; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -112355,38 +123101,38 @@ inline ::pg_query::WindowDef* FuncCall::release_over() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::WindowDef* FuncCall::unsafe_arena_release_over() { +inline ::pg_query::Alias* RangeSubselect::unsafe_arena_release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.FuncCall.over) + // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.alias) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::WindowDef* temp = _impl_.over_; - _impl_.over_ = nullptr; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; return temp; } -inline ::pg_query::WindowDef* FuncCall::_internal_mutable_over() { +inline ::pg_query::Alias* RangeSubselect::_internal_mutable_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.over_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); - _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(p); + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.over_; + return _impl_.alias_; } -inline ::pg_query::WindowDef* FuncCall::mutable_over() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::WindowDef* _msg = _internal_mutable_over(); - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.over) +inline ::pg_query::Alias* RangeSubselect::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.alias) return _msg; } -inline void FuncCall::set_allocated_over(::pg_query::WindowDef* value) { +inline void RangeSubselect::set_allocated_alias(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::WindowDef*>(_impl_.over_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WindowDef*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -112395,218 +123141,171 @@ inline void FuncCall::set_allocated_over(::pg_query::WindowDef* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.over) + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.alias) } -// bool agg_within_group = 6 [json_name = "agg_within_group"]; -inline void FuncCall::clear_agg_within_group() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agg_within_group_ = false; -} -inline bool FuncCall::agg_within_group() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_within_group) - return _internal_agg_within_group(); -} -inline void FuncCall::set_agg_within_group(bool value) { - _internal_set_agg_within_group(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_within_group) -} -inline bool FuncCall::_internal_agg_within_group() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agg_within_group_; -} -inline void FuncCall::_internal_set_agg_within_group(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.agg_within_group_ = value; -} +// ------------------------------------------------------------------- -// bool agg_star = 7 [json_name = "agg_star"]; -inline void FuncCall::clear_agg_star() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agg_star_ = false; -} -inline bool FuncCall::agg_star() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_star) - return _internal_agg_star(); -} -inline void FuncCall::set_agg_star(bool value) { - _internal_set_agg_star(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_star) -} -inline bool FuncCall::_internal_agg_star() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agg_star_; -} -inline void FuncCall::_internal_set_agg_star(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.agg_star_ = value; -} +// RangeFunction -// bool agg_distinct = 8 [json_name = "agg_distinct"]; -inline void FuncCall::clear_agg_distinct() { +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeFunction::clear_lateral() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.agg_distinct_ = false; + _impl_.lateral_ = false; } -inline bool FuncCall::agg_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_distinct) - return _internal_agg_distinct(); +inline bool RangeFunction::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.lateral) + return _internal_lateral(); } -inline void FuncCall::set_agg_distinct(bool value) { - _internal_set_agg_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_distinct) +inline void RangeFunction::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.lateral) } -inline bool FuncCall::_internal_agg_distinct() const { +inline bool RangeFunction::_internal_lateral() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.agg_distinct_; + return _impl_.lateral_; } -inline void FuncCall::_internal_set_agg_distinct(bool value) { +inline void RangeFunction::_internal_set_lateral(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.agg_distinct_ = value; + _impl_.lateral_ = value; } -// bool func_variadic = 9 [json_name = "func_variadic"]; -inline void FuncCall::clear_func_variadic() { +// bool ordinality = 2 [json_name = "ordinality"]; +inline void RangeFunction::clear_ordinality() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.func_variadic_ = false; + _impl_.ordinality_ = false; } -inline bool FuncCall::func_variadic() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.func_variadic) - return _internal_func_variadic(); +inline bool RangeFunction::ordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.ordinality) + return _internal_ordinality(); } -inline void FuncCall::set_func_variadic(bool value) { - _internal_set_func_variadic(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.func_variadic) +inline void RangeFunction::set_ordinality(bool value) { + _internal_set_ordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.ordinality) } -inline bool FuncCall::_internal_func_variadic() const { +inline bool RangeFunction::_internal_ordinality() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.func_variadic_; + return _impl_.ordinality_; } -inline void FuncCall::_internal_set_func_variadic(bool value) { +inline void RangeFunction::_internal_set_ordinality(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.func_variadic_ = value; + _impl_.ordinality_ = value; } -// .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; -inline void FuncCall::clear_funcformat() { +// bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; +inline void RangeFunction::clear_is_rowsfrom() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcformat_ = 0; + _impl_.is_rowsfrom_ = false; } -inline ::pg_query::CoercionForm FuncCall::funcformat() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcformat) - return _internal_funcformat(); +inline bool RangeFunction::is_rowsfrom() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.is_rowsfrom) + return _internal_is_rowsfrom(); } -inline void FuncCall::set_funcformat(::pg_query::CoercionForm value) { - _internal_set_funcformat(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.funcformat) +inline void RangeFunction::set_is_rowsfrom(bool value) { + _internal_set_is_rowsfrom(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.is_rowsfrom) } -inline ::pg_query::CoercionForm FuncCall::_internal_funcformat() const { +inline bool RangeFunction::_internal_is_rowsfrom() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); + return _impl_.is_rowsfrom_; } -inline void FuncCall::_internal_set_funcformat(::pg_query::CoercionForm value) { +inline void RangeFunction::_internal_set_is_rowsfrom(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.funcformat_ = value; + _impl_.is_rowsfrom_ = value; } -// int32 location = 11 [json_name = "location"]; -inline void FuncCall::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; +// repeated .pg_query.Node functions = 4 [json_name = "functions"]; +inline int RangeFunction::_internal_functions_size() const { + return _internal_functions().size(); } -inline ::int32_t FuncCall::location() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.location) - return _internal_location(); +inline int RangeFunction::functions_size() const { + return _internal_functions_size(); } -inline void FuncCall::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.location) +inline void RangeFunction::clear_functions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.functions_.Clear(); } -inline ::int32_t FuncCall::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline ::pg_query::Node* RangeFunction::mutable_functions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.functions) + return _internal_mutable_functions()->Mutable(index); } -inline void FuncCall::_internal_set_location(::int32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_functions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.functions) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + return _internal_mutable_functions(); } - -// ------------------------------------------------------------------- - -// A_Star - -// ------------------------------------------------------------------- - -// A_Indices - -// bool is_slice = 1 [json_name = "is_slice"]; -inline void A_Indices::clear_is_slice() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_slice_ = false; +inline const ::pg_query::Node& RangeFunction::functions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.functions) + return _internal_functions().Get(index); } -inline bool A_Indices::is_slice() const { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.is_slice) - return _internal_is_slice(); +inline ::pg_query::Node* RangeFunction::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeFunction.functions) + return _add; } -inline void A_Indices::set_is_slice(bool value) { - _internal_set_is_slice(value); - // @@protoc_insertion_point(field_set:pg_query.A_Indices.is_slice) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::functions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeFunction.functions) + return _internal_functions(); } -inline bool A_Indices::_internal_is_slice() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeFunction::_internal_functions() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_slice_; + return _impl_.functions_; } -inline void A_Indices::_internal_set_is_slice(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_slice_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeFunction::_internal_mutable_functions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.functions_; } -// .pg_query.Node lidx = 2 [json_name = "lidx"]; -inline bool A_Indices::has_lidx() const { +// .pg_query.Alias alias = 5 [json_name = "alias"]; +inline bool RangeFunction::has_alias() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.lidx_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); return value; } -inline void A_Indices::clear_lidx() { +inline void RangeFunction::clear_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.lidx_ != nullptr) _impl_.lidx_->Clear(); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& A_Indices::_internal_lidx() const { +inline const ::pg_query::Alias& RangeFunction::_internal_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.lidx_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Node& A_Indices::lidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.lidx) - return _internal_lidx(); +inline const ::pg_query::Alias& RangeFunction::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.alias) + return _internal_alias(); } -inline void A_Indices::unsafe_arena_set_allocated_lidx(::pg_query::Node* value) { +inline void RangeFunction::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lidx_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.lidx) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeFunction.alias) } -inline ::pg_query::Node* A_Indices::release_lidx() { +inline ::pg_query::Alias* RangeFunction::release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.lidx_; - _impl_.lidx_ = nullptr; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -112620,38 +123319,38 @@ inline ::pg_query::Node* A_Indices::release_lidx() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* A_Indices::unsafe_arena_release_lidx() { +inline ::pg_query::Alias* RangeFunction::unsafe_arena_release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.A_Indices.lidx) + // @@protoc_insertion_point(field_release:pg_query.RangeFunction.alias) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.lidx_; - _impl_.lidx_ = nullptr; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; return temp; } -inline ::pg_query::Node* A_Indices::_internal_mutable_lidx() { +inline ::pg_query::Alias* RangeFunction::_internal_mutable_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.lidx_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.lidx_; + return _impl_.alias_; } -inline ::pg_query::Node* A_Indices::mutable_lidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_lidx(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.lidx) +inline ::pg_query::Alias* RangeFunction::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.alias) return _msg; } -inline void A_Indices::set_allocated_lidx(::pg_query::Node* value) { +inline void RangeFunction::set_allocated_alias(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.lidx_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -112660,49 +123359,125 @@ inline void A_Indices::set_allocated_lidx(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.lidx) + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeFunction.alias) } -// .pg_query.Node uidx = 3 [json_name = "uidx"]; -inline bool A_Indices::has_uidx() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.uidx_ != nullptr); +// repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; +inline int RangeFunction::_internal_coldeflist_size() const { + return _internal_coldeflist().size(); +} +inline int RangeFunction::coldeflist_size() const { + return _internal_coldeflist_size(); +} +inline void RangeFunction::clear_coldeflist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coldeflist_.Clear(); +} +inline ::pg_query::Node* RangeFunction::mutable_coldeflist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.coldeflist) + return _internal_mutable_coldeflist()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_coldeflist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.coldeflist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coldeflist(); +} +inline const ::pg_query::Node& RangeFunction::coldeflist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.coldeflist) + return _internal_coldeflist().Get(index); +} +inline ::pg_query::Node* RangeFunction::add_coldeflist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coldeflist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeFunction.coldeflist) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::coldeflist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeFunction.coldeflist) + return _internal_coldeflist(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeFunction::_internal_coldeflist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coldeflist_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeFunction::_internal_mutable_coldeflist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coldeflist_; +} + +// ------------------------------------------------------------------- + +// RangeTableFunc + +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeTableFunc::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; +} +inline bool RangeTableFunc::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.lateral) + return _internal_lateral(); +} +inline void RangeTableFunc::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.lateral) +} +inline bool RangeTableFunc::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; +} +inline void RangeTableFunc::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; +} + +// .pg_query.Node docexpr = 2 [json_name = "docexpr"]; +inline bool RangeTableFunc::has_docexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); return value; } -inline void A_Indices::clear_uidx() { +inline void RangeTableFunc::clear_docexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.uidx_ != nullptr) _impl_.uidx_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& A_Indices::_internal_uidx() const { +inline const ::pg_query::Node& RangeTableFunc::_internal_docexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.uidx_; + const ::pg_query::Node* p = _impl_.docexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& A_Indices::uidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.uidx) - return _internal_uidx(); +inline const ::pg_query::Node& RangeTableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.docexpr) + return _internal_docexpr(); } -inline void A_Indices::unsafe_arena_set_allocated_uidx(::pg_query::Node* value) { +inline void RangeTableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.uidx_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); } - _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.uidx) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.docexpr) } -inline ::pg_query::Node* A_Indices::release_uidx() { +inline ::pg_query::Node* RangeTableFunc::release_docexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.uidx_; - _impl_.uidx_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -112716,34 +123491,34 @@ inline ::pg_query::Node* A_Indices::release_uidx() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* A_Indices::unsafe_arena_release_uidx() { +inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_docexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.A_Indices.uidx) + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.docexpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.uidx_; - _impl_.uidx_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; return temp; } -inline ::pg_query::Node* A_Indices::_internal_mutable_uidx() { +inline ::pg_query::Node* RangeTableFunc::_internal_mutable_docexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.uidx_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.docexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.uidx_; + return _impl_.docexpr_; } -inline ::pg_query::Node* A_Indices::mutable_uidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_uidx(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.uidx) +inline ::pg_query::Node* RangeTableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_docexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.docexpr) return _msg; } -inline void A_Indices::set_allocated_uidx(::pg_query::Node* value) { +inline void RangeTableFunc::set_allocated_docexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.uidx_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); } if (value != nullptr) { @@ -112751,58 +123526,54 @@ inline void A_Indices::set_allocated_uidx(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.uidx) + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.docexpr) } -// ------------------------------------------------------------------- - -// A_Indirection - -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool A_Indirection::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; +inline bool RangeTableFunc::has_rowexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); return value; } -inline void A_Indirection::clear_arg() { +inline void RangeTableFunc::clear_rowexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& A_Indirection::_internal_arg() const { +inline const ::pg_query::Node& RangeTableFunc::_internal_rowexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; + const ::pg_query::Node* p = _impl_.rowexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& A_Indirection::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Indirection.arg) - return _internal_arg(); +inline const ::pg_query::Node& RangeTableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.rowexpr) + return _internal_rowexpr(); } -inline void A_Indirection::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void RangeTableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indirection.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.rowexpr) } -inline ::pg_query::Node* A_Indirection::release_arg() { +inline ::pg_query::Node* RangeTableFunc::release_rowexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -112816,34 +123587,34 @@ inline ::pg_query::Node* A_Indirection::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* A_Indirection::unsafe_arena_release_arg() { +inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_rowexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.A_Indirection.arg) + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.rowexpr) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; return temp; } -inline ::pg_query::Node* A_Indirection::_internal_mutable_arg() { +inline ::pg_query::Node* RangeTableFunc::_internal_mutable_rowexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.arg_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rowexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.rowexpr_; } -inline ::pg_query::Node* A_Indirection::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.arg) +inline ::pg_query::Node* RangeTableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rowexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.rowexpr) return _msg; } -inline void A_Indirection::set_allocated_arg(::pg_query::Node* value) { +inline void RangeTableFunc::set_allocated_rowexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); } if (value != nullptr) { @@ -112851,135 +123622,227 @@ inline void A_Indirection::set_allocated_arg(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indirection.arg) + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.rowexpr) } -// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; -inline int A_Indirection::_internal_indirection_size() const { - return _internal_indirection().size(); +// repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; +inline int RangeTableFunc::_internal_namespaces_size() const { + return _internal_namespaces().size(); } -inline int A_Indirection::indirection_size() const { - return _internal_indirection_size(); +inline int RangeTableFunc::namespaces_size() const { + return _internal_namespaces_size(); } -inline void A_Indirection::clear_indirection() { +inline void RangeTableFunc::clear_namespaces() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indirection_.Clear(); + _impl_.namespaces_.Clear(); } -inline ::pg_query::Node* A_Indirection::mutable_indirection(int index) +inline ::pg_query::Node* RangeTableFunc::mutable_namespaces(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.indirection) - return _internal_mutable_indirection()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.namespaces) + return _internal_mutable_namespaces()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Indirection::mutable_indirection() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_namespaces() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_Indirection.indirection) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.namespaces) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_indirection(); + return _internal_mutable_namespaces(); } -inline const ::pg_query::Node& A_Indirection::indirection(int index) const +inline const ::pg_query::Node& RangeTableFunc::namespaces(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_Indirection.indirection) - return _internal_indirection().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.namespaces) + return _internal_namespaces().Get(index); } -inline ::pg_query::Node* A_Indirection::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTableFunc::add_namespaces() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); - // @@protoc_insertion_point(field_add:pg_query.A_Indirection.indirection) + ::pg_query::Node* _add = _internal_mutable_namespaces()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.namespaces) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Indirection::indirection() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::namespaces() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.A_Indirection.indirection) - return _internal_indirection(); + // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.namespaces) + return _internal_namespaces(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -A_Indirection::_internal_indirection() const { +RangeTableFunc::_internal_namespaces() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.indirection_; + return _impl_.namespaces_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -A_Indirection::_internal_mutable_indirection() { +RangeTableFunc::_internal_mutable_namespaces() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.indirection_; + return &_impl_.namespaces_; } -// ------------------------------------------------------------------- - -// A_ArrayExpr - -// repeated .pg_query.Node elements = 1 [json_name = "elements"]; -inline int A_ArrayExpr::_internal_elements_size() const { - return _internal_elements().size(); +// repeated .pg_query.Node columns = 5 [json_name = "columns"]; +inline int RangeTableFunc::_internal_columns_size() const { + return _internal_columns().size(); } -inline int A_ArrayExpr::elements_size() const { - return _internal_elements_size(); +inline int RangeTableFunc::columns_size() const { + return _internal_columns_size(); } -inline void A_ArrayExpr::clear_elements() { +inline void RangeTableFunc::clear_columns() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.elements_.Clear(); + _impl_.columns_.Clear(); } -inline ::pg_query::Node* A_ArrayExpr::mutable_elements(int index) +inline ::pg_query::Node* RangeTableFunc::mutable_columns(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.A_ArrayExpr.elements) - return _internal_mutable_elements()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.columns) + return _internal_mutable_columns()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_ArrayExpr::mutable_elements() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_ArrayExpr.elements) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.columns) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_elements(); + return _internal_mutable_columns(); } -inline const ::pg_query::Node& A_ArrayExpr::elements(int index) const +inline const ::pg_query::Node& RangeTableFunc::columns(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.elements) - return _internal_elements().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.columns) + return _internal_columns().Get(index); } -inline ::pg_query::Node* A_ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTableFunc::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_elements()->Add(); - // @@protoc_insertion_point(field_add:pg_query.A_ArrayExpr.elements) + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.columns) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_ArrayExpr::elements() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::columns() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.A_ArrayExpr.elements) - return _internal_elements(); + // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.columns) + return _internal_columns(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -A_ArrayExpr::_internal_elements() const { +RangeTableFunc::_internal_columns() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.elements_; + return _impl_.columns_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -A_ArrayExpr::_internal_mutable_elements() { +RangeTableFunc::_internal_mutable_columns() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.elements_; + return &_impl_.columns_; } -// int32 location = 2 [json_name = "location"]; -inline void A_ArrayExpr::clear_location() { +// .pg_query.Alias alias = 6 [json_name = "alias"]; +inline bool RangeTableFunc::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; +} +inline void RangeTableFunc::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::Alias& RangeTableFunc::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& RangeTableFunc::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.alias) + return _internal_alias(); +} +inline void RangeTableFunc::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.alias) +} +inline ::pg_query::Alias* RangeTableFunc::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Alias* RangeTableFunc::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.alias) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; +} +inline ::pg_query::Alias* RangeTableFunc::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; +} +inline ::pg_query::Alias* RangeTableFunc::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.alias) + return _msg; +} +inline void RangeTableFunc::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.alias) +} + +// int32 location = 7 [json_name = "location"]; +inline void RangeTableFunc::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t A_ArrayExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.location) +inline ::int32_t RangeTableFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.location) return _internal_location(); } -inline void A_ArrayExpr::set_location(::int32_t value) { +inline void RangeTableFunc::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.A_ArrayExpr.location) + // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.location) } -inline ::int32_t A_ArrayExpr::_internal_location() const { +inline ::int32_t RangeTableFunc::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void A_ArrayExpr::_internal_set_location(::int32_t value) { +inline void RangeTableFunc::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -112987,149 +123850,242 @@ inline void A_ArrayExpr::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// ResTarget +// RangeTableFuncCol -// string name = 1 [json_name = "name"]; -inline void ResTarget::clear_name() { +// string colname = 1 [json_name = "colname"]; +inline void RangeTableFuncCol::clear_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); + _impl_.colname_.ClearToEmpty(); } -inline const std::string& ResTarget::name() const +inline const std::string& RangeTableFuncCol::colname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.name) - return _internal_name(); + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colname) + return _internal_colname(); } template -inline PROTOBUF_ALWAYS_INLINE void ResTarget::set_name(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void RangeTableFuncCol::set_colname(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ResTarget.name) + _impl_.colname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.colname) } -inline std::string* ResTarget::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.name) +inline std::string* RangeTableFuncCol::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_colname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colname) return _s; } -inline const std::string& ResTarget::_internal_name() const { +inline const std::string& RangeTableFuncCol::_internal_colname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); + return _impl_.colname_.Get(); } -inline void ResTarget::_internal_set_name(const std::string& value) { +inline void RangeTableFuncCol::_internal_set_colname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.name_.Set(value, GetArena()); + _impl_.colname_.Set(value, GetArena()); } -inline std::string* ResTarget::_internal_mutable_name() { +inline std::string* RangeTableFuncCol::_internal_mutable_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.name_.Mutable( GetArena()); + return _impl_.colname_.Mutable( GetArena()); } -inline std::string* ResTarget::release_name() { +inline std::string* RangeTableFuncCol::release_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ResTarget.name) - return _impl_.name_.Release(); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colname) + return _impl_.colname_.Release(); } -inline void ResTarget::set_allocated_name(std::string* value) { +inline void RangeTableFuncCol::set_allocated_colname(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); + _impl_.colname_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); + if (_impl_.colname_.IsDefault()) { + _impl_.colname_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.name) + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colname) } -// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; -inline int ResTarget::_internal_indirection_size() const { - return _internal_indirection().size(); +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool RangeTableFuncCol::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline int ResTarget::indirection_size() const { - return _internal_indirection_size(); +inline void RangeTableFuncCol::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::TypeName& RangeTableFuncCol::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); +} +inline const ::pg_query::TypeName& RangeTableFuncCol::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.type_name) + return _internal_type_name(); +} +inline void RangeTableFuncCol::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + } + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.type_name) +} +inline ::pg_query::TypeName* RangeTableFuncCol::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::TypeName* RangeTableFuncCol::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; + return temp; +} +inline ::pg_query::TypeName* RangeTableFuncCol::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.type_name_; +} +inline ::pg_query::TypeName* RangeTableFuncCol::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.type_name) + return _msg; +} +inline void RangeTableFuncCol::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.type_name) +} + +// bool for_ordinality = 3 [json_name = "for_ordinality"]; +inline void RangeTableFuncCol::clear_for_ordinality() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_ordinality_ = false; +} +inline bool RangeTableFuncCol::for_ordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.for_ordinality) + return _internal_for_ordinality(); } -inline void ResTarget::clear_indirection() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indirection_.Clear(); +inline void RangeTableFuncCol::set_for_ordinality(bool value) { + _internal_set_for_ordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.for_ordinality) } -inline ::pg_query::Node* ResTarget::mutable_indirection(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.indirection) - return _internal_mutable_indirection()->Mutable(index); +inline bool RangeTableFuncCol::_internal_for_ordinality() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_ordinality_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ResTarget::mutable_indirection() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ResTarget.indirection) +inline void RangeTableFuncCol::_internal_set_for_ordinality(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_indirection(); -} -inline const ::pg_query::Node& ResTarget::indirection(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.indirection) - return _internal_indirection().Get(index); + ; + _impl_.for_ordinality_ = value; } -inline ::pg_query::Node* ResTarget::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// bool is_not_null = 4 [json_name = "is_not_null"]; +inline void RangeTableFuncCol::clear_is_not_null() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ResTarget.indirection) - return _add; + _impl_.is_not_null_ = false; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ResTarget::indirection() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ResTarget.indirection) - return _internal_indirection(); +inline bool RangeTableFuncCol::is_not_null() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.is_not_null) + return _internal_is_not_null(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ResTarget::_internal_indirection() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.indirection_; +inline void RangeTableFuncCol::set_is_not_null(bool value) { + _internal_set_is_not_null(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.is_not_null) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ResTarget::_internal_mutable_indirection() { +inline bool RangeTableFuncCol::_internal_is_not_null() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.indirection_; + return _impl_.is_not_null_; +} +inline void RangeTableFuncCol::_internal_set_is_not_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_not_null_ = value; } -// .pg_query.Node val = 3 [json_name = "val"]; -inline bool ResTarget::has_val() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); +// .pg_query.Node colexpr = 5 [json_name = "colexpr"]; +inline bool RangeTableFuncCol::has_colexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.colexpr_ != nullptr); return value; } -inline void ResTarget::clear_val() { +inline void RangeTableFuncCol::clear_colexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.val_ != nullptr) _impl_.val_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.colexpr_ != nullptr) _impl_.colexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& ResTarget::_internal_val() const { +inline const ::pg_query::Node& RangeTableFuncCol::_internal_colexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.val_; + const ::pg_query::Node* p = _impl_.colexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ResTarget::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.val) - return _internal_val(); +inline const ::pg_query::Node& RangeTableFuncCol::colexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colexpr) + return _internal_colexpr(); } -inline void ResTarget::unsafe_arena_set_allocated_val(::pg_query::Node* value) { +inline void RangeTableFuncCol::unsafe_arena_set_allocated_colexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.colexpr_); } - _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ResTarget.val) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.colexpr) } -inline ::pg_query::Node* ResTarget::release_val() { +inline ::pg_query::Node* RangeTableFuncCol::release_colexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.val_; - _impl_.val_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.colexpr_; + _impl_.colexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -113143,34 +124099,34 @@ inline ::pg_query::Node* ResTarget::release_val() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ResTarget::unsafe_arena_release_val() { +inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_colexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ResTarget.val) + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colexpr) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.val_; - _impl_.val_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.colexpr_; + _impl_.colexpr_ = nullptr; return temp; } -inline ::pg_query::Node* ResTarget::_internal_mutable_val() { +inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_colexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.val_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.colexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.val_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.val_; + return _impl_.colexpr_; } -inline ::pg_query::Node* ResTarget::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_val(); - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.val) +inline ::pg_query::Node* RangeTableFuncCol::mutable_colexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_colexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colexpr) return _msg; } -inline void ResTarget::set_allocated_val(::pg_query::Node* value) { +inline void RangeTableFuncCol::set_allocated_colexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.val_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.colexpr_); } if (value != nullptr) { @@ -113178,81 +124134,54 @@ inline void ResTarget::set_allocated_val(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.val) -} - -// int32 location = 4 [json_name = "location"]; -inline void ResTarget::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t ResTarget::location() const { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.location) - return _internal_location(); -} -inline void ResTarget::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ResTarget.location) -} -inline ::int32_t ResTarget::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void ResTarget::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colexpr) } -// ------------------------------------------------------------------- - -// MultiAssignRef - -// .pg_query.Node source = 1 [json_name = "source"]; -inline bool MultiAssignRef::has_source() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.source_ != nullptr); +// .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; +inline bool RangeTableFuncCol::has_coldefexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coldefexpr_ != nullptr); return value; } -inline void MultiAssignRef::clear_source() { +inline void RangeTableFuncCol::clear_coldefexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.source_ != nullptr) _impl_.source_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.coldefexpr_ != nullptr) _impl_.coldefexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& MultiAssignRef::_internal_source() const { +inline const ::pg_query::Node& RangeTableFuncCol::_internal_coldefexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.source_; + const ::pg_query::Node* p = _impl_.coldefexpr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& MultiAssignRef::source() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.source) - return _internal_source(); +inline const ::pg_query::Node& RangeTableFuncCol::coldefexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.coldefexpr) + return _internal_coldefexpr(); } -inline void MultiAssignRef::unsafe_arena_set_allocated_source(::pg_query::Node* value) { +inline void RangeTableFuncCol::unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coldefexpr_); } - _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MultiAssignRef.source) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) } -inline ::pg_query::Node* MultiAssignRef::release_source() { +inline ::pg_query::Node* RangeTableFuncCol::release_coldefexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.source_; - _impl_.source_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.coldefexpr_; + _impl_.coldefexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -113266,34 +124195,34 @@ inline ::pg_query::Node* MultiAssignRef::release_source() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* MultiAssignRef::unsafe_arena_release_source() { +inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_coldefexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.MultiAssignRef.source) + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.coldefexpr) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.source_; - _impl_.source_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.coldefexpr_; + _impl_.coldefexpr_ = nullptr; return temp; } -inline ::pg_query::Node* MultiAssignRef::_internal_mutable_source() { +inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_coldefexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.source_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.coldefexpr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.source_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.source_; + return _impl_.coldefexpr_; } -inline ::pg_query::Node* MultiAssignRef::mutable_source() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_source(); - // @@protoc_insertion_point(field_mutable:pg_query.MultiAssignRef.source) +inline ::pg_query::Node* RangeTableFuncCol::mutable_coldefexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_coldefexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.coldefexpr) return _msg; } -inline void MultiAssignRef::set_allocated_source(::pg_query::Node* value) { +inline void RangeTableFuncCol::set_allocated_coldefexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.source_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.coldefexpr_); } if (value != nullptr) { @@ -113301,104 +124230,81 @@ inline void MultiAssignRef::set_allocated_source(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.MultiAssignRef.source) -} - -// int32 colno = 2 [json_name = "colno"]; -inline void MultiAssignRef::clear_colno() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colno_ = 0; -} -inline ::int32_t MultiAssignRef::colno() const { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.colno) - return _internal_colno(); -} -inline void MultiAssignRef::set_colno(::int32_t value) { - _internal_set_colno(value); - // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.colno) -} -inline ::int32_t MultiAssignRef::_internal_colno() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colno_; -} -inline void MultiAssignRef::_internal_set_colno(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.colno_ = value; + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) } -// int32 ncolumns = 3 [json_name = "ncolumns"]; -inline void MultiAssignRef::clear_ncolumns() { +// int32 location = 7 [json_name = "location"]; +inline void RangeTableFuncCol::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ncolumns_ = 0; + _impl_.location_ = 0; } -inline ::int32_t MultiAssignRef::ncolumns() const { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.ncolumns) - return _internal_ncolumns(); +inline ::int32_t RangeTableFuncCol::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.location) + return _internal_location(); } -inline void MultiAssignRef::set_ncolumns(::int32_t value) { - _internal_set_ncolumns(value); - // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.ncolumns) +inline void RangeTableFuncCol::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.location) } -inline ::int32_t MultiAssignRef::_internal_ncolumns() const { +inline ::int32_t RangeTableFuncCol::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ncolumns_; + return _impl_.location_; } -inline void MultiAssignRef::_internal_set_ncolumns(::int32_t value) { +inline void RangeTableFuncCol::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ncolumns_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// SortBy +// RangeTableSample -// .pg_query.Node node = 1 [json_name = "node"]; -inline bool SortBy::has_node() const { +// .pg_query.Node relation = 1 [json_name = "relation"]; +inline bool RangeTableSample::has_relation() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.node_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); return value; } -inline void SortBy::clear_node() { +inline void RangeTableSample::clear_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.node_ != nullptr) _impl_.node_->Clear(); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SortBy::_internal_node() const { +inline const ::pg_query::Node& RangeTableSample::_internal_relation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.node_; + const ::pg_query::Node* p = _impl_.relation_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SortBy::node() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SortBy.node) - return _internal_node(); +inline const ::pg_query::Node& RangeTableSample::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.relation) + return _internal_relation(); } -inline void SortBy::unsafe_arena_set_allocated_node(::pg_query::Node* value) { +inline void RangeTableSample::unsafe_arena_set_allocated_relation(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SortBy.node) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.relation) } -inline ::pg_query::Node* SortBy::release_node() { +inline ::pg_query::Node* RangeTableSample::release_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.node_; - _impl_.node_ = nullptr; + ::pg_query::Node* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -113412,34 +124318,34 @@ inline ::pg_query::Node* SortBy::release_node() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* SortBy::unsafe_arena_release_node() { +inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.SortBy.node) + // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.relation) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.node_; - _impl_.node_ = nullptr; + ::pg_query::Node* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Node* SortBy::_internal_mutable_node() { +inline ::pg_query::Node* RangeTableSample::_internal_mutable_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.node_ == nullptr) { + if (_impl_.relation_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.node_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.node_; + return _impl_.relation_; } -inline ::pg_query::Node* SortBy::mutable_node() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_node(); - // @@protoc_insertion_point(field_mutable:pg_query.SortBy.node) +inline ::pg_query::Node* RangeTableSample::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.relation) return _msg; } -inline void SortBy::set_allocated_node(::pg_query::Node* value) { +inline void RangeTableSample::set_allocated_relation(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.node_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.relation_); } if (value != nullptr) { @@ -113452,398 +124358,323 @@ inline void SortBy::set_allocated_node(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.SortBy.node) + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.relation) } -// .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; -inline void SortBy::clear_sortby_dir() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sortby_dir_ = 0; +// repeated .pg_query.Node method = 2 [json_name = "method"]; +inline int RangeTableSample::_internal_method_size() const { + return _internal_method().size(); } -inline ::pg_query::SortByDir SortBy::sortby_dir() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_dir) - return _internal_sortby_dir(); +inline int RangeTableSample::method_size() const { + return _internal_method_size(); } -inline void SortBy::set_sortby_dir(::pg_query::SortByDir value) { - _internal_set_sortby_dir(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_dir) +inline void RangeTableSample::clear_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.method_.Clear(); } -inline ::pg_query::SortByDir SortBy::_internal_sortby_dir() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SortByDir>(_impl_.sortby_dir_); +inline ::pg_query::Node* RangeTableSample::mutable_method(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.method) + return _internal_mutable_method()->Mutable(index); } -inline void SortBy::_internal_set_sortby_dir(::pg_query::SortByDir value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_method() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.method) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sortby_dir_ = value; + return _internal_mutable_method(); } - -// .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; -inline void SortBy::clear_sortby_nulls() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sortby_nulls_ = 0; +inline const ::pg_query::Node& RangeTableSample::method(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.method) + return _internal_method().Get(index); } -inline ::pg_query::SortByNulls SortBy::sortby_nulls() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_nulls) - return _internal_sortby_nulls(); +inline ::pg_query::Node* RangeTableSample::add_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_method()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.method) + return _add; } -inline void SortBy::set_sortby_nulls(::pg_query::SortByNulls value) { - _internal_set_sortby_nulls(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_nulls) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.method) + return _internal_method(); } -inline ::pg_query::SortByNulls SortBy::_internal_sortby_nulls() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTableSample::_internal_method() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SortByNulls>(_impl_.sortby_nulls_); + return _impl_.method_; } -inline void SortBy::_internal_set_sortby_nulls(::pg_query::SortByNulls value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.sortby_nulls_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTableSample::_internal_mutable_method() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.method_; } -// repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; -inline int SortBy::_internal_use_op_size() const { - return _internal_use_op().size(); +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int RangeTableSample::_internal_args_size() const { + return _internal_args().size(); } -inline int SortBy::use_op_size() const { - return _internal_use_op_size(); +inline int RangeTableSample::args_size() const { + return _internal_args_size(); } -inline void SortBy::clear_use_op() { +inline void RangeTableSample::clear_args() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.use_op_.Clear(); + _impl_.args_.Clear(); } -inline ::pg_query::Node* SortBy::mutable_use_op(int index) +inline ::pg_query::Node* RangeTableSample::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.SortBy.use_op) - return _internal_mutable_use_op()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.args) + return _internal_mutable_args()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SortBy::mutable_use_op() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.SortBy.use_op) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_use_op(); + return _internal_mutable_args(); } -inline const ::pg_query::Node& SortBy::use_op(int index) const +inline const ::pg_query::Node& RangeTableSample::args(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.SortBy.use_op) - return _internal_use_op().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* SortBy::add_use_op() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTableSample::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_use_op()->Add(); - // @@protoc_insertion_point(field_add:pg_query.SortBy.use_op) + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SortBy::use_op() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.SortBy.use_op) - return _internal_use_op(); + // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -SortBy::_internal_use_op() const { +RangeTableSample::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.use_op_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -SortBy::_internal_mutable_use_op() { +RangeTableSample::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.use_op_; + return &_impl_.args_; } -// int32 location = 5 [json_name = "location"]; -inline void SortBy::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t SortBy::location() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.location) - return _internal_location(); +// .pg_query.Node repeatable = 4 [json_name = "repeatable"]; +inline bool RangeTableSample::has_repeatable() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); + return value; } -inline void SortBy::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.location) +inline void RangeTableSample::clear_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::int32_t SortBy::_internal_location() const { +inline const ::pg_query::Node& RangeTableSample::_internal_repeatable() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + const ::pg_query::Node* p = _impl_.repeatable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void SortBy::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; +inline const ::pg_query::Node& RangeTableSample::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.repeatable) + return _internal_repeatable(); } - -// ------------------------------------------------------------------- - -// WindowDef - -// string name = 1 [json_name = "name"]; -inline void WindowDef::clear_name() { +inline void RangeTableSample::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); + } + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.repeatable) } -inline const std::string& WindowDef::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.name) - return _internal_name(); +inline ::pg_query::Node* RangeTableSample::release_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -template -inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_name(Arg_&& arg, - Args_... args) { +inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_repeatable() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.name) + // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.repeatable) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; + return temp; } -inline std::string* WindowDef::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.name) - return _s; +inline ::pg_query::Node* RangeTableSample::_internal_mutable_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.repeatable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.repeatable_; } -inline const std::string& WindowDef::_internal_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); +inline ::pg_query::Node* RangeTableSample::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_repeatable(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.repeatable) + return _msg; } -inline void WindowDef::_internal_set_name(const std::string& value) { +inline void RangeTableSample::set_allocated_repeatable(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.repeatable) } -inline std::string* WindowDef::_internal_mutable_name() { + +// int32 location = 5 [json_name = "location"]; +inline void RangeTableSample::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); + _impl_.location_ = 0; } -inline std::string* WindowDef::release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowDef.name) - return _impl_.name_.Release(); +inline ::int32_t RangeTableSample::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.location) + return _internal_location(); } -inline void WindowDef::set_allocated_name(std::string* value) { +inline void RangeTableSample::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableSample.location) +} +inline ::int32_t RangeTableSample::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RangeTableSample::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.name) + ; + _impl_.location_ = value; } -// string refname = 2 [json_name = "refname"]; -inline void WindowDef::clear_refname() { +// ------------------------------------------------------------------- + +// ColumnDef + +// string colname = 1 [json_name = "colname"]; +inline void ColumnDef::clear_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refname_.ClearToEmpty(); + _impl_.colname_.ClearToEmpty(); } -inline const std::string& WindowDef::refname() const +inline const std::string& ColumnDef::colname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.refname) - return _internal_refname(); + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.colname) + return _internal_colname(); } template -inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_refname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_colname(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.refname) + _impl_.colname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.colname) } -inline std::string* WindowDef::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_refname(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.refname) +inline std::string* ColumnDef::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_colname(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.colname) return _s; } -inline const std::string& WindowDef::_internal_refname() const { +inline const std::string& ColumnDef::_internal_colname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refname_.Get(); + return _impl_.colname_.Get(); } -inline void WindowDef::_internal_set_refname(const std::string& value) { +inline void ColumnDef::_internal_set_colname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refname_.Set(value, GetArena()); + _impl_.colname_.Set(value, GetArena()); } -inline std::string* WindowDef::_internal_mutable_refname() { +inline std::string* ColumnDef::_internal_mutable_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.refname_.Mutable( GetArena()); + return _impl_.colname_.Mutable( GetArena()); } -inline std::string* WindowDef::release_refname() { +inline std::string* ColumnDef::release_colname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowDef.refname) - return _impl_.refname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.colname) + return _impl_.colname_.Release(); } -inline void WindowDef::set_allocated_refname(std::string* value) { +inline void ColumnDef::set_allocated_colname(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refname_.SetAllocated(value, GetArena()); + _impl_.colname_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.refname_.IsDefault()) { - _impl_.refname_.Set("", GetArena()); + if (_impl_.colname_.IsDefault()) { + _impl_.colname_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.refname) -} - -// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; -inline int WindowDef::_internal_partition_clause_size() const { - return _internal_partition_clause().size(); -} -inline int WindowDef::partition_clause_size() const { - return _internal_partition_clause_size(); -} -inline void WindowDef::clear_partition_clause() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.partition_clause_.Clear(); -} -inline ::pg_query::Node* WindowDef::mutable_partition_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.partition_clause) - return _internal_mutable_partition_clause()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_partition_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.partition_clause) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_partition_clause(); -} -inline const ::pg_query::Node& WindowDef::partition_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.partition_clause) - return _internal_partition_clause().Get(index); -} -inline ::pg_query::Node* WindowDef::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowDef.partition_clause) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::partition_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowDef.partition_clause) - return _internal_partition_clause(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowDef::_internal_partition_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.partition_clause_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowDef::_internal_mutable_partition_clause() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.partition_clause_; -} - -// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; -inline int WindowDef::_internal_order_clause_size() const { - return _internal_order_clause().size(); -} -inline int WindowDef::order_clause_size() const { - return _internal_order_clause_size(); -} -inline void WindowDef::clear_order_clause() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.order_clause_.Clear(); -} -inline ::pg_query::Node* WindowDef::mutable_order_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.order_clause) - return _internal_mutable_order_clause()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_order_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.order_clause) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_order_clause(); -} -inline const ::pg_query::Node& WindowDef::order_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.order_clause) - return _internal_order_clause().Get(index); -} -inline ::pg_query::Node* WindowDef::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowDef.order_clause) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::order_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowDef.order_clause) - return _internal_order_clause(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowDef::_internal_order_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.order_clause_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowDef::_internal_mutable_order_clause() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.order_clause_; -} - -// int32 frame_options = 5 [json_name = "frameOptions"]; -inline void WindowDef::clear_frame_options() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.frame_options_ = 0; -} -inline ::int32_t WindowDef::frame_options() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.frame_options) - return _internal_frame_options(); -} -inline void WindowDef::set_frame_options(::int32_t value) { - _internal_set_frame_options(value); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.frame_options) -} -inline ::int32_t WindowDef::_internal_frame_options() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.frame_options_; -} -inline void WindowDef::_internal_set_frame_options(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.frame_options_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.colname) } -// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; -inline bool WindowDef::has_start_offset() const { +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool ColumnDef::has_type_name() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); return value; } -inline void WindowDef::clear_start_offset() { +inline void ColumnDef::clear_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WindowDef::_internal_start_offset() const { +inline const ::pg_query::TypeName& ColumnDef::_internal_type_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.start_offset_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::Node& WindowDef::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.start_offset) - return _internal_start_offset(); +inline const ::pg_query::TypeName& ColumnDef::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.type_name) + return _internal_type_name(); } -inline void WindowDef::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { +inline void ColumnDef::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.start_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.type_name) } -inline ::pg_query::Node* WindowDef::release_start_offset() { +inline ::pg_query::TypeName* ColumnDef::release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -113857,38 +124688,38 @@ inline ::pg_query::Node* WindowDef::release_start_offset() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WindowDef::unsafe_arena_release_start_offset() { +inline ::pg_query::TypeName* ColumnDef::unsafe_arena_release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowDef.start_offset) + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.type_name) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::Node* WindowDef::_internal_mutable_start_offset() { +inline ::pg_query::TypeName* ColumnDef::_internal_mutable_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.start_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.start_offset_; + return _impl_.type_name_; } -inline ::pg_query::Node* WindowDef::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_start_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.start_offset) +inline ::pg_query::TypeName* ColumnDef::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.type_name) return _msg; } -inline void WindowDef::set_allocated_start_offset(::pg_query::Node* value) { +inline void ColumnDef::set_allocated_type_name(::pg_query::TypeName* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -113897,195 +124728,300 @@ inline void WindowDef::set_allocated_start_offset(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.start_offset) + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.type_name) } -// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; -inline bool WindowDef::has_end_offset() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); - return value; +// string compression = 3 [json_name = "compression"]; +inline void ColumnDef::clear_compression() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.compression_.ClearToEmpty(); } -inline void WindowDef::clear_end_offset() { +inline const std::string& ColumnDef::compression() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.compression) + return _internal_compression(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_compression(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + ; + _impl_.compression_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.compression) } -inline const ::pg_query::Node& WindowDef::_internal_end_offset() const { +inline std::string* ColumnDef::mutable_compression() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_compression(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.compression) + return _s; +} +inline const std::string& ColumnDef::_internal_compression() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.end_offset_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.compression_.Get(); } -inline const ::pg_query::Node& WindowDef::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.end_offset) - return _internal_end_offset(); +inline void ColumnDef::_internal_set_compression(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.compression_.Set(value, GetArena()); } -inline void WindowDef::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { +inline std::string* ColumnDef::_internal_mutable_compression() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); - } - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.end_offset) + ; + return _impl_.compression_.Mutable( GetArena()); } -inline ::pg_query::Node* WindowDef::release_end_offset() { +inline std::string* ColumnDef::release_compression() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.compression) + return _impl_.compression_.Release(); +} +inline void ColumnDef::set_allocated_compression(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.compression_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.compression_.IsDefault()) { + _impl_.compression_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.compression) +} + +// int32 inhcount = 4 [json_name = "inhcount"]; +inline void ColumnDef::clear_inhcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inhcount_ = 0; +} +inline ::int32_t ColumnDef::inhcount() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.inhcount) + return _internal_inhcount(); +} +inline void ColumnDef::set_inhcount(::int32_t value) { + _internal_set_inhcount(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.inhcount) +} +inline ::int32_t ColumnDef::_internal_inhcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inhcount_; +} +inline void ColumnDef::_internal_set_inhcount(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inhcount_ = value; +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// bool is_local = 5 [json_name = "is_local"]; +inline void ColumnDef::clear_is_local() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_local_ = false; +} +inline bool ColumnDef::is_local() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_local) + return _internal_is_local(); +} +inline void ColumnDef::set_is_local(bool value) { + _internal_set_is_local(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_local) +} +inline bool ColumnDef::_internal_is_local() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_local_; +} +inline void ColumnDef::_internal_set_is_local(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_local_ = value; +} + +// bool is_not_null = 6 [json_name = "is_not_null"]; +inline void ColumnDef::clear_is_not_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_not_null_ = false; } -inline ::pg_query::Node* WindowDef::unsafe_arena_release_end_offset() { +inline bool ColumnDef::is_not_null() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_not_null) + return _internal_is_not_null(); +} +inline void ColumnDef::set_is_not_null(bool value) { + _internal_set_is_not_null(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_not_null) +} +inline bool ColumnDef::_internal_is_not_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_not_null_; +} +inline void ColumnDef::_internal_set_is_not_null(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowDef.end_offset) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; - return temp; + ; + _impl_.is_not_null_ = value; } -inline ::pg_query::Node* WindowDef::_internal_mutable_end_offset() { + +// bool is_from_type = 7 [json_name = "is_from_type"]; +inline void ColumnDef::clear_is_from_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.end_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.end_offset_; + _impl_.is_from_type_ = false; } -inline ::pg_query::Node* WindowDef::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_end_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.end_offset) - return _msg; +inline bool ColumnDef::is_from_type() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_from_type) + return _internal_is_from_type(); } -inline void WindowDef::set_allocated_end_offset(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void ColumnDef::set_is_from_type(bool value) { + _internal_set_is_from_type(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_from_type) +} +inline bool ColumnDef::_internal_is_from_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_from_type_; +} +inline void ColumnDef::_internal_set_is_from_type(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.end_offset) + ; + _impl_.is_from_type_ = value; } -// int32 location = 8 [json_name = "location"]; -inline void WindowDef::clear_location() { +// string storage = 8 [json_name = "storage"]; +inline void ColumnDef::clear_storage() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.storage_.ClearToEmpty(); } -inline ::int32_t WindowDef::location() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.location) - return _internal_location(); +inline const std::string& ColumnDef::storage() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage) + return _internal_storage(); } -inline void WindowDef::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.location) +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage) } -inline ::int32_t WindowDef::_internal_location() const { +inline std::string* ColumnDef::mutable_storage() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage) + return _s; +} +inline const std::string& ColumnDef::_internal_storage() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.storage_.Get(); } -inline void WindowDef::_internal_set_location(::int32_t value) { +inline void ColumnDef::_internal_set_storage(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.storage_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_storage() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.storage_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_storage() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage) + return _impl_.storage_.Release(); +} +inline void ColumnDef::set_allocated_storage(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.storage_.IsDefault()) { + _impl_.storage_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage) } -// ------------------------------------------------------------------- - -// RangeSubselect - -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeSubselect::clear_lateral() { +// string storage_name = 9 [json_name = "storage_name"]; +inline void ColumnDef::clear_storage_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.lateral_ = false; + _impl_.storage_name_.ClearToEmpty(); } -inline bool RangeSubselect::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.lateral) - return _internal_lateral(); +inline const std::string& ColumnDef::storage_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage_name) + return _internal_storage_name(); } -inline void RangeSubselect::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeSubselect.lateral) +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage_name) } -inline bool RangeSubselect::_internal_lateral() const { +inline std::string* ColumnDef::mutable_storage_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage_name) + return _s; +} +inline const std::string& ColumnDef::_internal_storage_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.lateral_; + return _impl_.storage_name_.Get(); } -inline void RangeSubselect::_internal_set_lateral(bool value) { +inline void ColumnDef::_internal_set_storage_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.lateral_ = value; + _impl_.storage_name_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_storage_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.storage_name_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_storage_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage_name) + return _impl_.storage_name_.Release(); +} +inline void ColumnDef::set_allocated_storage_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.storage_name_.IsDefault()) { + _impl_.storage_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage_name) } -// .pg_query.Node subquery = 2 [json_name = "subquery"]; -inline bool RangeSubselect::has_subquery() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); +// .pg_query.Node raw_default = 10 [json_name = "raw_default"]; +inline bool ColumnDef::has_raw_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.raw_default_ != nullptr); return value; } -inline void RangeSubselect::clear_subquery() { +inline void ColumnDef::clear_raw_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.raw_default_ != nullptr) _impl_.raw_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& RangeSubselect::_internal_subquery() const { +inline const ::pg_query::Node& ColumnDef::_internal_raw_default() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.subquery_; + const ::pg_query::Node* p = _impl_.raw_default_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RangeSubselect::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.subquery) - return _internal_subquery(); +inline const ::pg_query::Node& ColumnDef::raw_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.raw_default) + return _internal_raw_default(); } -inline void RangeSubselect::unsafe_arena_set_allocated_subquery(::pg_query::Node* value) { +inline void ColumnDef::unsafe_arena_set_allocated_raw_default(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_default_); } - _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.subquery) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.raw_default) } -inline ::pg_query::Node* RangeSubselect::release_subquery() { +inline ::pg_query::Node* ColumnDef::release_raw_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.subquery_; - _impl_.subquery_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.raw_default_; + _impl_.raw_default_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -114099,34 +125035,34 @@ inline ::pg_query::Node* RangeSubselect::release_subquery() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RangeSubselect::unsafe_arena_release_subquery() { +inline ::pg_query::Node* ColumnDef::unsafe_arena_release_raw_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.subquery) + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.raw_default) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.raw_default_; + _impl_.raw_default_ = nullptr; return temp; } -inline ::pg_query::Node* RangeSubselect::_internal_mutable_subquery() { +inline ::pg_query::Node* ColumnDef::_internal_mutable_raw_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.subquery_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.raw_default_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.subquery_; + return _impl_.raw_default_; } -inline ::pg_query::Node* RangeSubselect::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_subquery(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.subquery) +inline ::pg_query::Node* ColumnDef::mutable_raw_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_raw_default(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.raw_default) return _msg; } -inline void RangeSubselect::set_allocated_subquery(::pg_query::Node* value) { +inline void ColumnDef::set_allocated_raw_default(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.subquery_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_default_); } if (value != nullptr) { @@ -114134,54 +125070,54 @@ inline void RangeSubselect::set_allocated_subquery(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.subquery) + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.raw_default) } -// .pg_query.Alias alias = 3 [json_name = "alias"]; -inline bool RangeSubselect::has_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); +// .pg_query.Node cooked_default = 11 [json_name = "cooked_default"]; +inline bool ColumnDef::has_cooked_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cooked_default_ != nullptr); return value; } -inline void RangeSubselect::clear_alias() { +inline void ColumnDef::clear_cooked_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.cooked_default_ != nullptr) _impl_.cooked_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Alias& RangeSubselect::_internal_alias() const { +inline const ::pg_query::Node& ColumnDef::_internal_cooked_default() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.cooked_default_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeSubselect::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.alias) - return _internal_alias(); +inline const ::pg_query::Node& ColumnDef::cooked_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.cooked_default) + return _internal_cooked_default(); } -inline void RangeSubselect::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void ColumnDef::unsafe_arena_set_allocated_cooked_default(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cooked_default_); } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.cooked_default) } -inline ::pg_query::Alias* RangeSubselect::release_alias() { +inline ::pg_query::Node* ColumnDef::release_cooked_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.cooked_default_; + _impl_.cooked_default_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -114195,211 +125131,142 @@ inline ::pg_query::Alias* RangeSubselect::release_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeSubselect::unsafe_arena_release_alias() { +inline ::pg_query::Node* ColumnDef::unsafe_arena_release_cooked_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.alias) + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.cooked_default) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.cooked_default_; + _impl_.cooked_default_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeSubselect::_internal_mutable_alias() { +inline ::pg_query::Node* ColumnDef::_internal_mutable_cooked_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.cooked_default_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.alias_; + return _impl_.cooked_default_; } -inline ::pg_query::Alias* RangeSubselect::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.alias) +inline ::pg_query::Node* ColumnDef::mutable_cooked_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cooked_default(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.cooked_default) return _msg; } -inline void RangeSubselect::set_allocated_alias(::pg_query::Alias* value) { +inline void ColumnDef::set_allocated_cooked_default(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.cooked_default_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.alias) + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.cooked_default) } -// ------------------------------------------------------------------- - -// RangeFunction - -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeFunction::clear_lateral() { +// string identity = 12 [json_name = "identity"]; +inline void ColumnDef::clear_identity() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.lateral_ = false; -} -inline bool RangeFunction::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.lateral) - return _internal_lateral(); -} -inline void RangeFunction::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.lateral) + _impl_.identity_.ClearToEmpty(); } -inline bool RangeFunction::_internal_lateral() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.lateral_; +inline const std::string& ColumnDef::identity() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity) + return _internal_identity(); } -inline void RangeFunction::_internal_set_lateral(bool value) { +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_identity(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.lateral_ = value; -} - -// bool ordinality = 2 [json_name = "ordinality"]; -inline void RangeFunction::clear_ordinality() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ordinality_ = false; -} -inline bool RangeFunction::ordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.ordinality) - return _internal_ordinality(); + _impl_.identity_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.identity) } -inline void RangeFunction::set_ordinality(bool value) { - _internal_set_ordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.ordinality) +inline std::string* ColumnDef::mutable_identity() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_identity(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity) + return _s; } -inline bool RangeFunction::_internal_ordinality() const { +inline const std::string& ColumnDef::_internal_identity() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ordinality_; + return _impl_.identity_.Get(); } -inline void RangeFunction::_internal_set_ordinality(bool value) { +inline void ColumnDef::_internal_set_identity(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ordinality_ = value; -} - -// bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; -inline void RangeFunction::clear_is_rowsfrom() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_rowsfrom_ = false; -} -inline bool RangeFunction::is_rowsfrom() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.is_rowsfrom) - return _internal_is_rowsfrom(); -} -inline void RangeFunction::set_is_rowsfrom(bool value) { - _internal_set_is_rowsfrom(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.is_rowsfrom) -} -inline bool RangeFunction::_internal_is_rowsfrom() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_rowsfrom_; + _impl_.identity_.Set(value, GetArena()); } -inline void RangeFunction::_internal_set_is_rowsfrom(bool value) { +inline std::string* ColumnDef::_internal_mutable_identity() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.is_rowsfrom_ = value; -} - -// repeated .pg_query.Node functions = 4 [json_name = "functions"]; -inline int RangeFunction::_internal_functions_size() const { - return _internal_functions().size(); -} -inline int RangeFunction::functions_size() const { - return _internal_functions_size(); -} -inline void RangeFunction::clear_functions() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.functions_.Clear(); -} -inline ::pg_query::Node* RangeFunction::mutable_functions(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.functions) - return _internal_mutable_functions()->Mutable(index); + return _impl_.identity_.Mutable( GetArena()); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_functions() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.functions) +inline std::string* ColumnDef::release_identity() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_functions(); -} -inline const ::pg_query::Node& RangeFunction::functions(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.functions) - return _internal_functions().Get(index); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity) + return _impl_.identity_.Release(); } -inline ::pg_query::Node* RangeFunction::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void ColumnDef::set_allocated_identity(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_functions()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeFunction.functions) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::functions() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeFunction.functions) - return _internal_functions(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeFunction::_internal_functions() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.functions_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeFunction::_internal_mutable_functions() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.functions_; + _impl_.identity_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.identity_.IsDefault()) { + _impl_.identity_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity) } -// .pg_query.Alias alias = 5 [json_name = "alias"]; -inline bool RangeFunction::has_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); +// .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"]; +inline bool ColumnDef::has_identity_sequence() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.identity_sequence_ != nullptr); return value; } -inline void RangeFunction::clear_alias() { +inline void ColumnDef::clear_identity_sequence() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.identity_sequence_ != nullptr) _impl_.identity_sequence_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Alias& RangeFunction::_internal_alias() const { +inline const ::pg_query::RangeVar& ColumnDef::_internal_identity_sequence() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::RangeVar* p = _impl_.identity_sequence_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Alias& RangeFunction::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.alias) - return _internal_alias(); +inline const ::pg_query::RangeVar& ColumnDef::identity_sequence() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity_sequence) + return _internal_identity_sequence(); } -inline void RangeFunction::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void ColumnDef::unsafe_arena_set_allocated_identity_sequence(::pg_query::RangeVar* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.identity_sequence_); } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeFunction.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.identity_sequence) } -inline ::pg_query::Alias* RangeFunction::release_alias() { +inline ::pg_query::RangeVar* ColumnDef::release_identity_sequence() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::RangeVar* released = _impl_.identity_sequence_; + _impl_.identity_sequence_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -114413,165 +125280,142 @@ inline ::pg_query::Alias* RangeFunction::release_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeFunction::unsafe_arena_release_alias() { +inline ::pg_query::RangeVar* ColumnDef::unsafe_arena_release_identity_sequence() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeFunction.alias) + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity_sequence) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::RangeVar* temp = _impl_.identity_sequence_; + _impl_.identity_sequence_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeFunction::_internal_mutable_alias() { +inline ::pg_query::RangeVar* ColumnDef::_internal_mutable_identity_sequence() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.identity_sequence_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.alias_; + return _impl_.identity_sequence_; } -inline ::pg_query::Alias* RangeFunction::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.alias) +inline ::pg_query::RangeVar* ColumnDef::mutable_identity_sequence() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_identity_sequence(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity_sequence) return _msg; } -inline void RangeFunction::set_allocated_alias(::pg_query::Alias* value) { +inline void ColumnDef::set_allocated_identity_sequence(::pg_query::RangeVar* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.identity_sequence_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeFunction.alias) + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity_sequence) } -// repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; -inline int RangeFunction::_internal_coldeflist_size() const { - return _internal_coldeflist().size(); -} -inline int RangeFunction::coldeflist_size() const { - return _internal_coldeflist_size(); -} -inline void RangeFunction::clear_coldeflist() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coldeflist_.Clear(); -} -inline ::pg_query::Node* RangeFunction::mutable_coldeflist(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.coldeflist) - return _internal_mutable_coldeflist()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_coldeflist() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.coldeflist) +// string generated = 14 [json_name = "generated"]; +inline void ColumnDef::clear_generated() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coldeflist(); + _impl_.generated_.ClearToEmpty(); } -inline const ::pg_query::Node& RangeFunction::coldeflist(int index) const +inline const std::string& ColumnDef::generated() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.coldeflist) - return _internal_coldeflist().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.generated) + return _internal_generated(); } -inline ::pg_query::Node* RangeFunction::add_coldeflist() ABSL_ATTRIBUTE_LIFETIME_BOUND { +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_generated(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coldeflist()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeFunction.coldeflist) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::coldeflist() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeFunction.coldeflist) - return _internal_coldeflist(); + ; + _impl_.generated_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.generated) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeFunction::_internal_coldeflist() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coldeflist_; +inline std::string* ColumnDef::mutable_generated() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_generated(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.generated) + return _s; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeFunction::_internal_mutable_coldeflist() { +inline const std::string& ColumnDef::_internal_generated() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coldeflist_; + return _impl_.generated_.Get(); } - -// ------------------------------------------------------------------- - -// RangeTableFunc - -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeTableFunc::clear_lateral() { +inline void ColumnDef::_internal_set_generated(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.lateral_ = false; -} -inline bool RangeTableFunc::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.lateral) - return _internal_lateral(); + ; + _impl_.generated_.Set(value, GetArena()); } -inline void RangeTableFunc::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.lateral) +inline std::string* ColumnDef::_internal_mutable_generated() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.generated_.Mutable( GetArena()); } -inline bool RangeTableFunc::_internal_lateral() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.lateral_; +inline std::string* ColumnDef::release_generated() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.generated) + return _impl_.generated_.Release(); } -inline void RangeTableFunc::_internal_set_lateral(bool value) { +inline void ColumnDef::set_allocated_generated(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.lateral_ = value; + _impl_.generated_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.generated_.IsDefault()) { + _impl_.generated_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.generated) } -// .pg_query.Node docexpr = 2 [json_name = "docexpr"]; -inline bool RangeTableFunc::has_docexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); +// .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"]; +inline bool ColumnDef::has_coll_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coll_clause_ != nullptr); return value; } -inline void RangeTableFunc::clear_docexpr() { +inline void ColumnDef::clear_coll_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.coll_clause_ != nullptr) _impl_.coll_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& RangeTableFunc::_internal_docexpr() const { +inline const ::pg_query::CollateClause& ColumnDef::_internal_coll_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.docexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::CollateClause* p = _impl_.coll_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CollateClause_default_instance_); } -inline const ::pg_query::Node& RangeTableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.docexpr) - return _internal_docexpr(); +inline const ::pg_query::CollateClause& ColumnDef::coll_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_clause) + return _internal_coll_clause(); } -inline void RangeTableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { +inline void ColumnDef::unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coll_clause_); } - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.docexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.coll_clause) } -inline ::pg_query::Node* RangeTableFunc::release_docexpr() { +inline ::pg_query::CollateClause* ColumnDef::release_coll_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::CollateClause* released = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -114585,283 +125429,237 @@ inline ::pg_query::Node* RangeTableFunc::release_docexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_docexpr() { +inline ::pg_query::CollateClause* ColumnDef::unsafe_arena_release_coll_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.docexpr) + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.coll_clause) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::CollateClause* temp = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableFunc::_internal_mutable_docexpr() { +inline ::pg_query::CollateClause* ColumnDef::_internal_mutable_coll_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.docexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.coll_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(p); } - return _impl_.docexpr_; + return _impl_.coll_clause_; } -inline ::pg_query::Node* RangeTableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_docexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.docexpr) +inline ::pg_query::CollateClause* ColumnDef::mutable_coll_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.coll_clause) return _msg; } -inline void RangeTableFunc::set_allocated_docexpr(::pg_query::Node* value) { +inline void ColumnDef::set_allocated_coll_clause(::pg_query::CollateClause* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); + delete reinterpret_cast<::pg_query::CollateClause*>(_impl_.coll_clause_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CollateClause*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.docexpr) + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.coll_clause) } -// .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; -inline bool RangeTableFunc::has_rowexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); - return value; -} -inline void RangeTableFunc::clear_rowexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::pg_query::Node& RangeTableFunc::_internal_rowexpr() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.rowexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& RangeTableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.rowexpr) - return _internal_rowexpr(); -} -inline void RangeTableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); - } - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.rowexpr) -} -inline ::pg_query::Node* RangeTableFunc::release_rowexpr() { +// uint32 coll_oid = 16 [json_name = "collOid"]; +inline void ColumnDef::clear_coll_oid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + _impl_.coll_oid_ = 0u; } -inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_rowexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.rowexpr) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; - return temp; +inline ::uint32_t ColumnDef::coll_oid() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_oid) + return _internal_coll_oid(); } -inline ::pg_query::Node* RangeTableFunc::_internal_mutable_rowexpr() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.rowexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.rowexpr_; +inline void ColumnDef::set_coll_oid(::uint32_t value) { + _internal_set_coll_oid(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.coll_oid) } -inline ::pg_query::Node* RangeTableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_rowexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.rowexpr) - return _msg; +inline ::uint32_t ColumnDef::_internal_coll_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coll_oid_; } -inline void RangeTableFunc::set_allocated_rowexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void ColumnDef::_internal_set_coll_oid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.rowexpr) + ; + _impl_.coll_oid_ = value; } -// repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; -inline int RangeTableFunc::_internal_namespaces_size() const { - return _internal_namespaces().size(); +// repeated .pg_query.Node constraints = 17 [json_name = "constraints"]; +inline int ColumnDef::_internal_constraints_size() const { + return _internal_constraints().size(); } -inline int RangeTableFunc::namespaces_size() const { - return _internal_namespaces_size(); +inline int ColumnDef::constraints_size() const { + return _internal_constraints_size(); } -inline void RangeTableFunc::clear_namespaces() { +inline void ColumnDef::clear_constraints() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.namespaces_.Clear(); + _impl_.constraints_.Clear(); } -inline ::pg_query::Node* RangeTableFunc::mutable_namespaces(int index) +inline ::pg_query::Node* ColumnDef::mutable_constraints(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.namespaces) - return _internal_mutable_namespaces()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.constraints) + return _internal_mutable_constraints()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_namespaces() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.namespaces) + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.constraints) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_namespaces(); + return _internal_mutable_constraints(); } -inline const ::pg_query::Node& RangeTableFunc::namespaces(int index) const +inline const ::pg_query::Node& ColumnDef::constraints(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.namespaces) - return _internal_namespaces().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.constraints) + return _internal_constraints().Get(index); } -inline ::pg_query::Node* RangeTableFunc::add_namespaces() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ColumnDef::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_namespaces()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.namespaces) + ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnDef.constraints) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::namespaces() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::constraints() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.namespaces) - return _internal_namespaces(); + // @@protoc_insertion_point(field_list:pg_query.ColumnDef.constraints) + return _internal_constraints(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTableFunc::_internal_namespaces() const { +ColumnDef::_internal_constraints() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.namespaces_; + return _impl_.constraints_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTableFunc::_internal_mutable_namespaces() { +ColumnDef::_internal_mutable_constraints() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.namespaces_; + return &_impl_.constraints_; } -// repeated .pg_query.Node columns = 5 [json_name = "columns"]; -inline int RangeTableFunc::_internal_columns_size() const { - return _internal_columns().size(); +// repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"]; +inline int ColumnDef::_internal_fdwoptions_size() const { + return _internal_fdwoptions().size(); } -inline int RangeTableFunc::columns_size() const { - return _internal_columns_size(); +inline int ColumnDef::fdwoptions_size() const { + return _internal_fdwoptions_size(); } -inline void RangeTableFunc::clear_columns() { +inline void ColumnDef::clear_fdwoptions() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.columns_.Clear(); + _impl_.fdwoptions_.Clear(); } -inline ::pg_query::Node* RangeTableFunc::mutable_columns(int index) +inline ::pg_query::Node* ColumnDef::mutable_fdwoptions(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.columns) - return _internal_mutable_columns()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.fdwoptions) + return _internal_mutable_fdwoptions()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_columns() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_fdwoptions() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.columns) + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.fdwoptions) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_columns(); + return _internal_mutable_fdwoptions(); } -inline const ::pg_query::Node& RangeTableFunc::columns(int index) const +inline const ::pg_query::Node& ColumnDef::fdwoptions(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.columns) - return _internal_columns().Get(index); + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.fdwoptions) + return _internal_fdwoptions().Get(index); } -inline ::pg_query::Node* RangeTableFunc::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* ColumnDef::add_fdwoptions() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_columns()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.columns) + ::pg_query::Node* _add = _internal_mutable_fdwoptions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnDef.fdwoptions) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::columns() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::fdwoptions() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.columns) - return _internal_columns(); + // @@protoc_insertion_point(field_list:pg_query.ColumnDef.fdwoptions) + return _internal_fdwoptions(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTableFunc::_internal_columns() const { +ColumnDef::_internal_fdwoptions() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.columns_; + return _impl_.fdwoptions_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTableFunc::_internal_mutable_columns() { +ColumnDef::_internal_mutable_fdwoptions() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.columns_; + return &_impl_.fdwoptions_; } -// .pg_query.Alias alias = 6 [json_name = "alias"]; -inline bool RangeTableFunc::has_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); +// int32 location = 19 [json_name = "location"]; +inline void ColumnDef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t ColumnDef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.location) + return _internal_location(); +} +inline void ColumnDef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.location) +} +inline ::int32_t ColumnDef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ColumnDef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// TableLikeClause + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool TableLikeClause::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); return value; } -inline void RangeTableFunc::clear_alias() { +inline void TableLikeClause::clear_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeTableFunc::_internal_alias() const { +inline const ::pg_query::RangeVar& TableLikeClause::_internal_relation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Alias& RangeTableFunc::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.alias) - return _internal_alias(); +inline const ::pg_query::RangeVar& TableLikeClause::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation) + return _internal_relation(); } -inline void RangeTableFunc::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void TableLikeClause::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableLikeClause.relation) } -inline ::pg_query::Alias* RangeTableFunc::release_alias() { +inline ::pg_query::RangeVar* TableLikeClause::release_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -114875,169 +125673,192 @@ inline ::pg_query::Alias* RangeTableFunc::release_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeTableFunc::unsafe_arena_release_alias() { +inline ::pg_query::RangeVar* TableLikeClause::unsafe_arena_release_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.alias) + // @@protoc_insertion_point(field_release:pg_query.TableLikeClause.relation) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTableFunc::_internal_mutable_alias() { +inline ::pg_query::RangeVar* TableLikeClause::_internal_mutable_relation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.alias_; + return _impl_.relation_; } -inline ::pg_query::Alias* RangeTableFunc::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.alias) +inline ::pg_query::RangeVar* TableLikeClause::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.TableLikeClause.relation) return _msg; } -inline void RangeTableFunc::set_allocated_alias(::pg_query::Alias* value) { +inline void TableLikeClause::set_allocated_relation(::pg_query::RangeVar* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.alias) + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableLikeClause.relation) } -// int32 location = 7 [json_name = "location"]; -inline void RangeTableFunc::clear_location() { +// uint32 options = 2 [json_name = "options"]; +inline void TableLikeClause::clear_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.options_ = 0u; } -inline ::int32_t RangeTableFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.location) - return _internal_location(); +inline ::uint32_t TableLikeClause::options() const { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.options) + return _internal_options(); } -inline void RangeTableFunc::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.location) +inline void TableLikeClause::set_options(::uint32_t value) { + _internal_set_options(value); + // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.options) } -inline ::int32_t RangeTableFunc::_internal_location() const { +inline ::uint32_t TableLikeClause::_internal_options() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.options_; } -inline void RangeTableFunc::_internal_set_location(::int32_t value) { +inline void TableLikeClause::_internal_set_options(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.options_ = value; +} + +// uint32 relation_oid = 3 [json_name = "relationOid"]; +inline void TableLikeClause::clear_relation_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relation_oid_ = 0u; +} +inline ::uint32_t TableLikeClause::relation_oid() const { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation_oid) + return _internal_relation_oid(); +} +inline void TableLikeClause::set_relation_oid(::uint32_t value) { + _internal_set_relation_oid(value); + // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.relation_oid) +} +inline ::uint32_t TableLikeClause::_internal_relation_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relation_oid_; +} +inline void TableLikeClause::_internal_set_relation_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relation_oid_ = value; } // ------------------------------------------------------------------- -// RangeTableFuncCol +// IndexElem -// string colname = 1 [json_name = "colname"]; -inline void RangeTableFuncCol::clear_colname() { +// string name = 1 [json_name = "name"]; +inline void IndexElem::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colname_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& RangeTableFuncCol::colname() const +inline const std::string& IndexElem::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colname) - return _internal_colname(); + // @@protoc_insertion_point(field_get:pg_query.IndexElem.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void RangeTableFuncCol::set_colname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.colname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.colname) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.name) } -inline std::string* RangeTableFuncCol::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_colname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colname) +inline std::string* IndexElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.name) return _s; } -inline const std::string& RangeTableFuncCol::_internal_colname() const { +inline const std::string& IndexElem::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colname_.Get(); + return _impl_.name_.Get(); } -inline void RangeTableFuncCol::_internal_set_colname(const std::string& value) { +inline void IndexElem::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.colname_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* RangeTableFuncCol::_internal_mutable_colname() { +inline std::string* IndexElem::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.colname_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* RangeTableFuncCol::release_colname() { +inline std::string* IndexElem::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colname) - return _impl_.colname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.IndexElem.name) + return _impl_.name_.Release(); } -inline void RangeTableFuncCol::set_allocated_colname(std::string* value) { +inline void IndexElem::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colname_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.colname_.IsDefault()) { - _impl_.colname_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colname) + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.name) } -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool RangeTableFuncCol::has_type_name() const { +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool IndexElem::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void RangeTableFuncCol::clear_type_name() { +inline void IndexElem::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& RangeTableFuncCol::_internal_type_name() const { +inline const ::pg_query::Node& IndexElem::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TypeName& RangeTableFuncCol::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.type_name) - return _internal_type_name(); +inline const ::pg_query::Node& IndexElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.expr) + return _internal_expr(); } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { +inline void IndexElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexElem.expr) } -inline ::pg_query::TypeName* RangeTableFuncCol::release_type_name() { +inline ::pg_query::Node* IndexElem::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TypeName* released = _impl_.type_name_; - _impl_.type_name_ = nullptr; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -115051,38 +125872,38 @@ inline ::pg_query::TypeName* RangeTableFuncCol::release_type_name() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::TypeName* RangeTableFuncCol::unsafe_arena_release_type_name() { +inline ::pg_query::Node* IndexElem::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.type_name) + // @@protoc_insertion_point(field_release:pg_query.IndexElem.expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::TypeName* RangeTableFuncCol::_internal_mutable_type_name() { +inline ::pg_query::Node* IndexElem::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.type_name_; + return _impl_.expr_; } -inline ::pg_query::TypeName* RangeTableFuncCol::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.type_name) +inline ::pg_query::Node* IndexElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.expr) return _msg; } -inline void RangeTableFuncCol::set_allocated_type_name(::pg_query::TypeName* value) { +inline void IndexElem::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -115091,314 +125912,405 @@ inline void RangeTableFuncCol::set_allocated_type_name(::pg_query::TypeName* val _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.type_name) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.expr) } -// bool for_ordinality = 3 [json_name = "for_ordinality"]; -inline void RangeTableFuncCol::clear_for_ordinality() { +// string indexcolname = 3 [json_name = "indexcolname"]; +inline void IndexElem::clear_indexcolname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.for_ordinality_ = false; + _impl_.indexcolname_.ClearToEmpty(); } -inline bool RangeTableFuncCol::for_ordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.for_ordinality) - return _internal_for_ordinality(); +inline const std::string& IndexElem::indexcolname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.indexcolname) + return _internal_indexcolname(); } -inline void RangeTableFuncCol::set_for_ordinality(bool value) { - _internal_set_for_ordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.for_ordinality) +template +inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_indexcolname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexcolname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.indexcolname) } -inline bool RangeTableFuncCol::_internal_for_ordinality() const { +inline std::string* IndexElem::mutable_indexcolname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_indexcolname(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.indexcolname) + return _s; +} +inline const std::string& IndexElem::_internal_indexcolname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.for_ordinality_; + return _impl_.indexcolname_.Get(); } -inline void RangeTableFuncCol::_internal_set_for_ordinality(bool value) { +inline void IndexElem::_internal_set_indexcolname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.for_ordinality_ = value; + _impl_.indexcolname_.Set(value, GetArena()); } - -// bool is_not_null = 4 [json_name = "is_not_null"]; -inline void RangeTableFuncCol::clear_is_not_null() { +inline std::string* IndexElem::_internal_mutable_indexcolname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_not_null_ = false; + ; + return _impl_.indexcolname_.Mutable( GetArena()); } -inline bool RangeTableFuncCol::is_not_null() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.is_not_null) - return _internal_is_not_null(); +inline std::string* IndexElem::release_indexcolname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexElem.indexcolname) + return _impl_.indexcolname_.Release(); } -inline void RangeTableFuncCol::set_is_not_null(bool value) { - _internal_set_is_not_null(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.is_not_null) +inline void IndexElem::set_allocated_indexcolname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexcolname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.indexcolname_.IsDefault()) { + _impl_.indexcolname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.indexcolname) } -inline bool RangeTableFuncCol::_internal_is_not_null() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_not_null_; + +// repeated .pg_query.Node collation = 4 [json_name = "collation"]; +inline int IndexElem::_internal_collation_size() const { + return _internal_collation().size(); } -inline void RangeTableFuncCol::_internal_set_is_not_null(bool value) { +inline int IndexElem::collation_size() const { + return _internal_collation_size(); +} +inline void IndexElem::clear_collation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_not_null_ = value; + _impl_.collation_.Clear(); } - -// .pg_query.Node colexpr = 5 [json_name = "colexpr"]; -inline bool RangeTableFuncCol::has_colexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.colexpr_ != nullptr); - return value; +inline ::pg_query::Node* IndexElem::mutable_collation(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.collation) + return _internal_mutable_collation()->Mutable(index); } -inline void RangeTableFuncCol::clear_colexpr() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_collation() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.collation) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.colexpr_ != nullptr) _impl_.colexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + return _internal_mutable_collation(); } -inline const ::pg_query::Node& RangeTableFuncCol::_internal_colexpr() const { +inline const ::pg_query::Node& IndexElem::collation(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.collation) + return _internal_collation().Get(index); +} +inline ::pg_query::Node* IndexElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_collation()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.collation) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::collation() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.collation) + return _internal_collation(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_collation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.colexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.collation_; } -inline const ::pg_query::Node& RangeTableFuncCol::colexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colexpr) - return _internal_colexpr(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_collation() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collation_; } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_colexpr(::pg_query::Node* value) { + +// repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; +inline int IndexElem::_internal_opclass_size() const { + return _internal_opclass().size(); +} +inline int IndexElem::opclass_size() const { + return _internal_opclass_size(); +} +inline void IndexElem::clear_opclass() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.colexpr_); - } - _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.colexpr) + _impl_.opclass_.Clear(); } -inline ::pg_query::Node* RangeTableFuncCol::release_colexpr() { +inline ::pg_query::Node* IndexElem::mutable_opclass(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclass) + return _internal_mutable_opclass()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclass() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclass) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.colexpr_; - _impl_.colexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + return _internal_mutable_opclass(); } -inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_colexpr() { +inline const ::pg_query::Node& IndexElem::opclass(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclass) + return _internal_opclass().Get(index); +} +inline ::pg_query::Node* IndexElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colexpr) + ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclass) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclass() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclass) + return _internal_opclass(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_opclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclass_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_opclass() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclass_; +} - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.colexpr_; - _impl_.colexpr_ = nullptr; - return temp; +// repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; +inline int IndexElem::_internal_opclassopts_size() const { + return _internal_opclassopts().size(); } -inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_colexpr() { +inline int IndexElem::opclassopts_size() const { + return _internal_opclassopts_size(); +} +inline void IndexElem::clear_opclassopts() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.colexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.colexpr_; + _impl_.opclassopts_.Clear(); } -inline ::pg_query::Node* RangeTableFuncCol::mutable_colexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_colexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colexpr) - return _msg; +inline ::pg_query::Node* IndexElem::mutable_opclassopts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclassopts) + return _internal_mutable_opclassopts()->Mutable(index); } -inline void RangeTableFuncCol::set_allocated_colexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclassopts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclassopts) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.colexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - - _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colexpr) + return _internal_mutable_opclassopts(); } - -// .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; -inline bool RangeTableFuncCol::has_coldefexpr() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.coldefexpr_ != nullptr); - return value; +inline const ::pg_query::Node& IndexElem::opclassopts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclassopts) + return _internal_opclassopts().Get(index); } -inline void RangeTableFuncCol::clear_coldefexpr() { +inline ::pg_query::Node* IndexElem::add_opclassopts() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.coldefexpr_ != nullptr) _impl_.coldefexpr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* _add = _internal_mutable_opclassopts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclassopts) + return _add; } -inline const ::pg_query::Node& RangeTableFuncCol::_internal_coldefexpr() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclassopts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclassopts) + return _internal_opclassopts(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_opclassopts() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.coldefexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + return _impl_.opclassopts_; } -inline const ::pg_query::Node& RangeTableFuncCol::coldefexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.coldefexpr) - return _internal_coldefexpr(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_opclassopts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclassopts_; } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value) { + +// .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; +inline void IndexElem::clear_ordering() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coldefexpr_); - } - _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) + _impl_.ordering_ = 0; } -inline ::pg_query::Node* RangeTableFuncCol::release_coldefexpr() { +inline ::pg_query::SortByDir IndexElem::ordering() const { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.ordering) + return _internal_ordering(); +} +inline void IndexElem::set_ordering(::pg_query::SortByDir value) { + _internal_set_ordering(value); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.ordering) +} +inline ::pg_query::SortByDir IndexElem::_internal_ordering() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByDir>(_impl_.ordering_); +} +inline void IndexElem::_internal_set_ordering(::pg_query::SortByDir value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ordering_ = value; +} - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.coldefexpr_; - _impl_.coldefexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; +inline void IndexElem::clear_nulls_ordering() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_ordering_ = 0; } -inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_coldefexpr() { +inline ::pg_query::SortByNulls IndexElem::nulls_ordering() const { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.nulls_ordering) + return _internal_nulls_ordering(); +} +inline void IndexElem::set_nulls_ordering(::pg_query::SortByNulls value) { + _internal_set_nulls_ordering(value); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.nulls_ordering) +} +inline ::pg_query::SortByNulls IndexElem::_internal_nulls_ordering() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByNulls>(_impl_.nulls_ordering_); +} +inline void IndexElem::_internal_set_nulls_ordering(::pg_query::SortByNulls value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.coldefexpr) + ; + _impl_.nulls_ordering_ = value; +} - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.coldefexpr_; - _impl_.coldefexpr_ = nullptr; - return temp; +// ------------------------------------------------------------------- + +// DefElem + +// string defnamespace = 1 [json_name = "defnamespace"]; +inline void DefElem::clear_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnamespace_.ClearToEmpty(); } -inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_coldefexpr() { +inline const std::string& DefElem::defnamespace() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defnamespace) + return _internal_defnamespace(); +} +template +inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defnamespace(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.coldefexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.coldefexpr_; + ; + _impl_.defnamespace_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defnamespace) } -inline ::pg_query::Node* RangeTableFuncCol::mutable_coldefexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_coldefexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.coldefexpr) - return _msg; +inline std::string* DefElem::mutable_defnamespace() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_defnamespace(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defnamespace) + return _s; } -inline void RangeTableFuncCol::set_allocated_coldefexpr(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline const std::string& DefElem::_internal_defnamespace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defnamespace_.Get(); +} +inline void DefElem::_internal_set_defnamespace(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.coldefexpr_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - - _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) + ; + _impl_.defnamespace_.Set(value, GetArena()); +} +inline std::string* DefElem::_internal_mutable_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.defnamespace_.Mutable( GetArena()); +} +inline std::string* DefElem::release_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DefElem.defnamespace) + return _impl_.defnamespace_.Release(); +} +inline void DefElem::set_allocated_defnamespace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnamespace_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.defnamespace_.IsDefault()) { + _impl_.defnamespace_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defnamespace) } -// int32 location = 7 [json_name = "location"]; -inline void RangeTableFuncCol::clear_location() { +// string defname = 2 [json_name = "defname"]; +inline void DefElem::clear_defname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.defname_.ClearToEmpty(); } -inline ::int32_t RangeTableFuncCol::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.location) - return _internal_location(); +inline const std::string& DefElem::defname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defname) + return _internal_defname(); } -inline void RangeTableFuncCol::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.location) +template +inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defname) } -inline ::int32_t RangeTableFuncCol::_internal_location() const { +inline std::string* DefElem::mutable_defname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_defname(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defname) + return _s; +} +inline const std::string& DefElem::_internal_defname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.defname_.Get(); } -inline void RangeTableFuncCol::_internal_set_location(::int32_t value) { +inline void DefElem::_internal_set_defname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.defname_.Set(value, GetArena()); +} +inline std::string* DefElem::_internal_mutable_defname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.defname_.Mutable( GetArena()); +} +inline std::string* DefElem::release_defname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DefElem.defname) + return _impl_.defname_.Release(); +} +inline void DefElem::set_allocated_defname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.defname_.IsDefault()) { + _impl_.defname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defname) } -// ------------------------------------------------------------------- - -// RangeTableSample - -// .pg_query.Node relation = 1 [json_name = "relation"]; -inline bool RangeTableSample::has_relation() const { +// .pg_query.Node arg = 3 [json_name = "arg"]; +inline bool DefElem::has_arg() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); return value; } -inline void RangeTableSample::clear_relation() { +inline void DefElem::clear_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RangeTableSample::_internal_relation() const { +inline const ::pg_query::Node& DefElem::_internal_arg() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.relation_; + const ::pg_query::Node* p = _impl_.arg_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RangeTableSample::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.relation) - return _internal_relation(); +inline const ::pg_query::Node& DefElem::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.arg) + return _internal_arg(); } -inline void RangeTableSample::unsafe_arena_set_allocated_relation(::pg_query::Node* value) { +inline void DefElem::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DefElem.arg) } -inline ::pg_query::Node* RangeTableSample::release_relation() { +inline ::pg_query::Node* DefElem::release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.relation_; - _impl_.relation_ = nullptr; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -115412,34 +126324,34 @@ inline ::pg_query::Node* RangeTableSample::release_relation() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_relation() { +inline ::pg_query::Node* DefElem::unsafe_arena_release_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.relation) + // @@protoc_insertion_point(field_release:pg_query.DefElem.arg) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.relation_; - _impl_.relation_ = nullptr; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableSample::_internal_mutable_relation() { +inline ::pg_query::Node* DefElem::_internal_mutable_arg() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.relation_ == nullptr) { + if (_impl_.arg_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.arg_; } -inline ::pg_query::Node* RangeTableSample::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.relation) +inline ::pg_query::Node* DefElem::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.arg) return _msg; } -inline void RangeTableSample::set_allocated_relation(::pg_query::Node* value) { +inline void DefElem::set_allocated_arg(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.relation_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } if (value != nullptr) { @@ -115452,147 +126364,221 @@ inline void RangeTableSample::set_allocated_relation(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.relation) + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.arg) } -// repeated .pg_query.Node method = 2 [json_name = "method"]; -inline int RangeTableSample::_internal_method_size() const { - return _internal_method().size(); +// .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; +inline void DefElem::clear_defaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defaction_ = 0; } -inline int RangeTableSample::method_size() const { - return _internal_method_size(); +inline ::pg_query::DefElemAction DefElem::defaction() const { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defaction) + return _internal_defaction(); } -inline void RangeTableSample::clear_method() { +inline void DefElem::set_defaction(::pg_query::DefElemAction value) { + _internal_set_defaction(value); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defaction) +} +inline ::pg_query::DefElemAction DefElem::_internal_defaction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DefElemAction>(_impl_.defaction_); +} +inline void DefElem::_internal_set_defaction(::pg_query::DefElemAction value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.method_.Clear(); + ; + _impl_.defaction_ = value; } -inline ::pg_query::Node* RangeTableSample::mutable_method(int index) + +// int32 location = 5 [json_name = "location"]; +inline void DefElem::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t DefElem::location() const { + // @@protoc_insertion_point(field_get:pg_query.DefElem.location) + return _internal_location(); +} +inline void DefElem::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.DefElem.location) +} +inline ::int32_t DefElem::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DefElem::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// LockingClause + +// repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; +inline int LockingClause::_internal_locked_rels_size() const { + return _internal_locked_rels().size(); +} +inline int LockingClause::locked_rels_size() const { + return _internal_locked_rels_size(); +} +inline void LockingClause::clear_locked_rels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.locked_rels_.Clear(); +} +inline ::pg_query::Node* LockingClause::mutable_locked_rels(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.method) - return _internal_mutable_method()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.LockingClause.locked_rels) + return _internal_mutable_locked_rels()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_method() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* LockingClause::mutable_locked_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.method) + // @@protoc_insertion_point(field_mutable_list:pg_query.LockingClause.locked_rels) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_method(); + return _internal_mutable_locked_rels(); } -inline const ::pg_query::Node& RangeTableSample::method(int index) const +inline const ::pg_query::Node& LockingClause::locked_rels(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.method) - return _internal_method().Get(index); + // @@protoc_insertion_point(field_get:pg_query.LockingClause.locked_rels) + return _internal_locked_rels().Get(index); } -inline ::pg_query::Node* RangeTableSample::add_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* LockingClause::add_locked_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_method()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.method) + ::pg_query::Node* _add = _internal_mutable_locked_rels()->Add(); + // @@protoc_insertion_point(field_add:pg_query.LockingClause.locked_rels) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::method() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& LockingClause::locked_rels() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.method) - return _internal_method(); + // @@protoc_insertion_point(field_list:pg_query.LockingClause.locked_rels) + return _internal_locked_rels(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTableSample::_internal_method() const { +LockingClause::_internal_locked_rels() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.method_; + return _impl_.locked_rels_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTableSample::_internal_mutable_method() { +LockingClause::_internal_mutable_locked_rels() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.method_; + return &_impl_.locked_rels_; } -// repeated .pg_query.Node args = 3 [json_name = "args"]; -inline int RangeTableSample::_internal_args_size() const { - return _internal_args().size(); +// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; +inline void LockingClause::clear_strength() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strength_ = 0; } -inline int RangeTableSample::args_size() const { - return _internal_args_size(); +inline ::pg_query::LockClauseStrength LockingClause::strength() const { + // @@protoc_insertion_point(field_get:pg_query.LockingClause.strength) + return _internal_strength(); } -inline void RangeTableSample::clear_args() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); +inline void LockingClause::set_strength(::pg_query::LockClauseStrength value) { + _internal_set_strength(value); + // @@protoc_insertion_point(field_set:pg_query.LockingClause.strength) } -inline ::pg_query::Node* RangeTableSample::mutable_args(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.args) - return _internal_mutable_args()->Mutable(index); +inline ::pg_query::LockClauseStrength LockingClause::_internal_strength() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_args() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.args) +inline void LockingClause::_internal_set_strength(::pg_query::LockClauseStrength value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); -} -inline const ::pg_query::Node& RangeTableSample::args(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.args) - return _internal_args().Get(index); + ; + _impl_.strength_ = value; } -inline ::pg_query::Node* RangeTableSample::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; +inline void LockingClause::clear_wait_policy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.args) - return _add; + _impl_.wait_policy_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::args() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.args) - return _internal_args(); +inline ::pg_query::LockWaitPolicy LockingClause::wait_policy() const { + // @@protoc_insertion_point(field_get:pg_query.LockingClause.wait_policy) + return _internal_wait_policy(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTableSample::_internal_args() const { +inline void LockingClause::set_wait_policy(::pg_query::LockWaitPolicy value) { + _internal_set_wait_policy(value); + // @@protoc_insertion_point(field_set:pg_query.LockingClause.wait_policy) +} +inline ::pg_query::LockWaitPolicy LockingClause::_internal_wait_policy() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTableSample::_internal_mutable_args() { +inline void LockingClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wait_policy_ = value; +} + +// ------------------------------------------------------------------- + +// XmlSerialize + +// .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; +inline void XmlSerialize::clear_xmloption() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.xmloption_ = 0; +} +inline ::pg_query::XmlOptionType XmlSerialize::xmloption() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.xmloption) + return _internal_xmloption(); +} +inline void XmlSerialize::set_xmloption(::pg_query::XmlOptionType value) { + _internal_set_xmloption(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.xmloption) +} +inline ::pg_query::XmlOptionType XmlSerialize::_internal_xmloption() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); +} +inline void XmlSerialize::_internal_set_xmloption(::pg_query::XmlOptionType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.xmloption_ = value; } -// .pg_query.Node repeatable = 4 [json_name = "repeatable"]; -inline bool RangeTableSample::has_repeatable() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool XmlSerialize::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void RangeTableSample::clear_repeatable() { +inline void XmlSerialize::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RangeTableSample::_internal_repeatable() const { +inline const ::pg_query::Node& XmlSerialize::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.repeatable_; + const ::pg_query::Node* p = _impl_.expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RangeTableSample::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.repeatable) - return _internal_repeatable(); +inline const ::pg_query::Node& XmlSerialize::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.expr) + return _internal_expr(); } -inline void RangeTableSample::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { +inline void XmlSerialize::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.repeatable) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.expr) } -inline ::pg_query::Node* RangeTableSample::release_repeatable() { +inline ::pg_query::Node* XmlSerialize::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -115606,34 +126592,34 @@ inline ::pg_query::Node* RangeTableSample::release_repeatable() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_repeatable() { +inline ::pg_query::Node* XmlSerialize::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.repeatable) + // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.expr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableSample::_internal_mutable_repeatable() { +inline ::pg_query::Node* XmlSerialize::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.repeatable_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.repeatable_; + return _impl_.expr_; } -inline ::pg_query::Node* RangeTableSample::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_repeatable(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.repeatable) +inline ::pg_query::Node* XmlSerialize::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.expr) return _msg; } -inline void RangeTableSample::set_allocated_repeatable(::pg_query::Node* value) { +inline void XmlSerialize::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { @@ -115641,132 +126627,52 @@ inline void RangeTableSample::set_allocated_repeatable(::pg_query::Node* value) if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.repeatable) -} - -// int32 location = 5 [json_name = "location"]; -inline void RangeTableSample::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t RangeTableSample::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.location) - return _internal_location(); -} -inline void RangeTableSample::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableSample.location) -} -inline ::int32_t RangeTableSample::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void RangeTableSample::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; -} - -// ------------------------------------------------------------------- - -// ColumnDef - -// string colname = 1 [json_name = "colname"]; -inline void ColumnDef::clear_colname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colname_.ClearToEmpty(); -} -inline const std::string& ColumnDef::colname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.colname) - return _internal_colname(); -} -template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_colname(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.colname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.colname) -} -inline std::string* ColumnDef::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_colname(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.colname) - return _s; -} -inline const std::string& ColumnDef::_internal_colname() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colname_.Get(); -} -inline void ColumnDef::_internal_set_colname(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.colname_.Set(value, GetArena()); -} -inline std::string* ColumnDef::_internal_mutable_colname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.colname_.Mutable( GetArena()); -} -inline std::string* ColumnDef::release_colname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.colname) - return _impl_.colname_.Release(); -} -inline void ColumnDef::set_allocated_colname(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.colname_.IsDefault()) { - _impl_.colname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.colname) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.expr) } -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool ColumnDef::has_type_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; +// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; +inline bool XmlSerialize::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); return value; } -inline void ColumnDef::clear_type_name() { +inline void XmlSerialize::clear_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::TypeName& ColumnDef::_internal_type_name() const { +inline const ::pg_query::TypeName& XmlSerialize::_internal_type_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::TypeName* p = _impl_.type_name_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::TypeName& ColumnDef::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.type_name) +inline const ::pg_query::TypeName& XmlSerialize::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.type_name) return _internal_type_name(); } -inline void ColumnDef::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { +inline void XmlSerialize::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.type_name) } -inline ::pg_query::TypeName* ColumnDef::release_type_name() { +inline ::pg_query::TypeName* XmlSerialize::release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::TypeName* released = _impl_.type_name_; _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE @@ -115782,30 +126688,30 @@ inline ::pg_query::TypeName* ColumnDef::release_type_name() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::TypeName* ColumnDef::unsafe_arena_release_type_name() { +inline ::pg_query::TypeName* XmlSerialize::unsafe_arena_release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.type_name) + // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.type_name) - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::TypeName* temp = _impl_.type_name_; _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::TypeName* ColumnDef::_internal_mutable_type_name() { +inline ::pg_query::TypeName* XmlSerialize::_internal_mutable_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.type_name_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } return _impl_.type_name_; } -inline ::pg_query::TypeName* ColumnDef::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::TypeName* XmlSerialize::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.type_name) + // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.type_name) return _msg; } -inline void ColumnDef::set_allocated_type_name(::pg_query::TypeName* value) { +inline void XmlSerialize::set_allocated_type_name(::pg_query::TypeName* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { @@ -115817,305 +126723,157 @@ inline void ColumnDef::set_allocated_type_name(::pg_query::TypeName* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.type_name) -} - -// string compression = 3 [json_name = "compression"]; -inline void ColumnDef::clear_compression() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.compression_.ClearToEmpty(); -} -inline const std::string& ColumnDef::compression() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.compression) - return _internal_compression(); -} -template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_compression(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.compression_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.compression) -} -inline std::string* ColumnDef::mutable_compression() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_compression(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.compression) - return _s; -} -inline const std::string& ColumnDef::_internal_compression() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.compression_.Get(); -} -inline void ColumnDef::_internal_set_compression(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.compression_.Set(value, GetArena()); -} -inline std::string* ColumnDef::_internal_mutable_compression() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.compression_.Mutable( GetArena()); -} -inline std::string* ColumnDef::release_compression() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.compression) - return _impl_.compression_.Release(); -} -inline void ColumnDef::set_allocated_compression(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.compression_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.compression_.IsDefault()) { - _impl_.compression_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.compression) -} - -// int32 inhcount = 4 [json_name = "inhcount"]; -inline void ColumnDef::clear_inhcount() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inhcount_ = 0; -} -inline ::int32_t ColumnDef::inhcount() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.inhcount) - return _internal_inhcount(); -} -inline void ColumnDef::set_inhcount(::int32_t value) { - _internal_set_inhcount(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.inhcount) -} -inline ::int32_t ColumnDef::_internal_inhcount() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inhcount_; -} -inline void ColumnDef::_internal_set_inhcount(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.inhcount_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.type_name) } -// bool is_local = 5 [json_name = "is_local"]; -inline void ColumnDef::clear_is_local() { +// bool indent = 4 [json_name = "indent"]; +inline void XmlSerialize::clear_indent() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_local_ = false; + _impl_.indent_ = false; } -inline bool ColumnDef::is_local() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_local) - return _internal_is_local(); +inline bool XmlSerialize::indent() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.indent) + return _internal_indent(); } -inline void ColumnDef::set_is_local(bool value) { - _internal_set_is_local(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_local) +inline void XmlSerialize::set_indent(bool value) { + _internal_set_indent(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.indent) } -inline bool ColumnDef::_internal_is_local() const { +inline bool XmlSerialize::_internal_indent() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_local_; + return _impl_.indent_; } -inline void ColumnDef::_internal_set_is_local(bool value) { +inline void XmlSerialize::_internal_set_indent(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.is_local_ = value; + _impl_.indent_ = value; } -// bool is_not_null = 6 [json_name = "is_not_null"]; -inline void ColumnDef::clear_is_not_null() { +// int32 location = 5 [json_name = "location"]; +inline void XmlSerialize::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_not_null_ = false; + _impl_.location_ = 0; } -inline bool ColumnDef::is_not_null() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_not_null) - return _internal_is_not_null(); +inline ::int32_t XmlSerialize::location() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.location) + return _internal_location(); } -inline void ColumnDef::set_is_not_null(bool value) { - _internal_set_is_not_null(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_not_null) +inline void XmlSerialize::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.location) } -inline bool ColumnDef::_internal_is_not_null() const { +inline ::int32_t XmlSerialize::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_not_null_; + return _impl_.location_; } -inline void ColumnDef::_internal_set_is_not_null(bool value) { +inline void XmlSerialize::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.is_not_null_ = value; + _impl_.location_ = value; } -// bool is_from_type = 7 [json_name = "is_from_type"]; -inline void ColumnDef::clear_is_from_type() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_from_type_ = false; -} -inline bool ColumnDef::is_from_type() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_from_type) - return _internal_is_from_type(); -} -inline void ColumnDef::set_is_from_type(bool value) { - _internal_set_is_from_type(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_from_type) -} -inline bool ColumnDef::_internal_is_from_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_from_type_; -} -inline void ColumnDef::_internal_set_is_from_type(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_from_type_ = value; -} +// ------------------------------------------------------------------- -// string storage = 8 [json_name = "storage"]; -inline void ColumnDef::clear_storage() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.storage_.ClearToEmpty(); -} -inline const std::string& ColumnDef::storage() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage) - return _internal_storage(); -} -template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.storage_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage) -} -inline std::string* ColumnDef::mutable_storage() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_storage(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage) - return _s; -} -inline const std::string& ColumnDef::_internal_storage() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.storage_.Get(); -} -inline void ColumnDef::_internal_set_storage(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.storage_.Set(value, GetArena()); -} -inline std::string* ColumnDef::_internal_mutable_storage() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.storage_.Mutable( GetArena()); -} -inline std::string* ColumnDef::release_storage() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage) - return _impl_.storage_.Release(); -} -inline void ColumnDef::set_allocated_storage(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.storage_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.storage_.IsDefault()) { - _impl_.storage_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage) -} +// PartitionElem -// string storage_name = 9 [json_name = "storage_name"]; -inline void ColumnDef::clear_storage_name() { +// string name = 1 [json_name = "name"]; +inline void PartitionElem::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.storage_name_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& ColumnDef::storage_name() const +inline const std::string& PartitionElem::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage_name) - return _internal_storage_name(); + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage_name(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void PartitionElem::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.storage_name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage_name) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PartitionElem.name) } -inline std::string* ColumnDef::mutable_storage_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_storage_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage_name) +inline std::string* PartitionElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.name) return _s; } -inline const std::string& ColumnDef::_internal_storage_name() const { +inline const std::string& PartitionElem::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.storage_name_.Get(); + return _impl_.name_.Get(); } -inline void ColumnDef::_internal_set_storage_name(const std::string& value) { +inline void PartitionElem::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.storage_name_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* ColumnDef::_internal_mutable_storage_name() { +inline std::string* PartitionElem::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.storage_name_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* ColumnDef::release_storage_name() { +inline std::string* PartitionElem::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage_name) - return _impl_.storage_name_.Release(); + // @@protoc_insertion_point(field_release:pg_query.PartitionElem.name) + return _impl_.name_.Release(); } -inline void ColumnDef::set_allocated_storage_name(std::string* value) { +inline void PartitionElem::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.storage_name_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.storage_name_.IsDefault()) { - _impl_.storage_name_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage_name) + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.name) } -// .pg_query.Node raw_default = 10 [json_name = "raw_default"]; -inline bool ColumnDef::has_raw_default() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.raw_default_ != nullptr); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool PartitionElem::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void ColumnDef::clear_raw_default() { +inline void PartitionElem::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.raw_default_ != nullptr) _impl_.raw_default_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& ColumnDef::_internal_raw_default() const { +inline const ::pg_query::Node& PartitionElem::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.raw_default_; + const ::pg_query::Node* p = _impl_.expr_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ColumnDef::raw_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.raw_default) - return _internal_raw_default(); +inline const ::pg_query::Node& PartitionElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.expr) + return _internal_expr(); } -inline void ColumnDef::unsafe_arena_set_allocated_raw_default(::pg_query::Node* value) { +inline void PartitionElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_default_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.raw_default) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionElem.expr) } -inline ::pg_query::Node* ColumnDef::release_raw_default() { +inline ::pg_query::Node* PartitionElem::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.raw_default_; - _impl_.raw_default_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -116129,34 +126887,34 @@ inline ::pg_query::Node* ColumnDef::release_raw_default() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* ColumnDef::unsafe_arena_release_raw_default() { +inline ::pg_query::Node* PartitionElem::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.raw_default) + // @@protoc_insertion_point(field_release:pg_query.PartitionElem.expr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.raw_default_; - _impl_.raw_default_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* ColumnDef::_internal_mutable_raw_default() { +inline ::pg_query::Node* PartitionElem::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.raw_default_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.raw_default_; + return _impl_.expr_; } -inline ::pg_query::Node* ColumnDef::mutable_raw_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_raw_default(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.raw_default) +inline ::pg_query::Node* PartitionElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.expr) return _msg; } -inline void ColumnDef::set_allocated_raw_default(::pg_query::Node* value) { +inline void PartitionElem::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_default_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { @@ -116164,548 +126922,526 @@ inline void ColumnDef::set_allocated_raw_default(::pg_query::Node* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.raw_default) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.expr) } -// .pg_query.Node cooked_default = 11 [json_name = "cooked_default"]; -inline bool ColumnDef::has_cooked_default() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.cooked_default_ != nullptr); - return value; +// repeated .pg_query.Node collation = 3 [json_name = "collation"]; +inline int PartitionElem::_internal_collation_size() const { + return _internal_collation().size(); } -inline void ColumnDef::clear_cooked_default() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.cooked_default_ != nullptr) _impl_.cooked_default_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; +inline int PartitionElem::collation_size() const { + return _internal_collation_size(); } -inline const ::pg_query::Node& ColumnDef::_internal_cooked_default() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.cooked_default_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +inline void PartitionElem::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_.Clear(); } -inline const ::pg_query::Node& ColumnDef::cooked_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.cooked_default) - return _internal_cooked_default(); +inline ::pg_query::Node* PartitionElem::mutable_collation(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.collation) + return _internal_mutable_collation()->Mutable(index); } -inline void ColumnDef::unsafe_arena_set_allocated_cooked_default(::pg_query::Node* value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_collation() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.collation) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cooked_default_); - } - _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.cooked_default) + return _internal_mutable_collation(); } -inline ::pg_query::Node* ColumnDef::release_cooked_default() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* released = _impl_.cooked_default_; - _impl_.cooked_default_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +inline const ::pg_query::Node& PartitionElem::collation(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.collation) + return _internal_collation().Get(index); } -inline ::pg_query::Node* ColumnDef::unsafe_arena_release_cooked_default() { +inline ::pg_query::Node* PartitionElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.cooked_default) + ::pg_query::Node* _add = _internal_mutable_collation()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionElem.collation) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::collation() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionElem.collation) + return _internal_collation(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionElem::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionElem::_internal_mutable_collation() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collation_; +} - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Node* temp = _impl_.cooked_default_; - _impl_.cooked_default_ = nullptr; - return temp; +// repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; +inline int PartitionElem::_internal_opclass_size() const { + return _internal_opclass().size(); } -inline ::pg_query::Node* ColumnDef::_internal_mutable_cooked_default() { +inline int PartitionElem::opclass_size() const { + return _internal_opclass_size(); +} +inline void PartitionElem::clear_opclass() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.cooked_default_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.cooked_default_; + _impl_.opclass_.Clear(); } -inline ::pg_query::Node* ColumnDef::mutable_cooked_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_cooked_default(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.cooked_default) - return _msg; +inline ::pg_query::Node* PartitionElem::mutable_opclass(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.opclass) + return _internal_mutable_opclass()->Mutable(index); } -inline void ColumnDef::set_allocated_cooked_default(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_opclass() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.opclass) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.cooked_default_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000004u; - } else { - _impl_._has_bits_[0] &= ~0x00000004u; - } - - _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.cooked_default) + return _internal_mutable_opclass(); } - -// string identity = 12 [json_name = "identity"]; -inline void ColumnDef::clear_identity() { +inline const ::pg_query::Node& PartitionElem::opclass(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.opclass) + return _internal_opclass().Get(index); +} +inline ::pg_query::Node* PartitionElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.identity_.ClearToEmpty(); + ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionElem.opclass) + return _add; } -inline const std::string& ColumnDef::identity() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::opclass() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity) - return _internal_identity(); + // @@protoc_insertion_point(field_list:pg_query.PartitionElem.opclass) + return _internal_opclass(); } -template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_identity(Arg_&& arg, - Args_... args) { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionElem::_internal_opclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclass_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionElem::_internal_mutable_opclass() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclass_; +} + +// int32 location = 5 [json_name = "location"]; +inline void PartitionElem::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.identity_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.identity) + _impl_.location_ = 0; } -inline std::string* ColumnDef::mutable_identity() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_identity(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity) - return _s; +inline ::int32_t PartitionElem::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.location) + return _internal_location(); } -inline const std::string& ColumnDef::_internal_identity() const { +inline void PartitionElem::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionElem.location) +} +inline ::int32_t PartitionElem::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.identity_.Get(); + return _impl_.location_; } -inline void ColumnDef::_internal_set_identity(const std::string& value) { +inline void PartitionElem::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.identity_.Set(value, GetArena()); + _impl_.location_ = value; } -inline std::string* ColumnDef::_internal_mutable_identity() { + +// ------------------------------------------------------------------- + +// PartitionSpec + +// .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; +inline void PartitionSpec::clear_strategy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.identity_.Mutable( GetArena()); + _impl_.strategy_ = 0; } -inline std::string* ColumnDef::release_identity() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity) - return _impl_.identity_.Release(); +inline ::pg_query::PartitionStrategy PartitionSpec::strategy() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.strategy) + return _internal_strategy(); } -inline void ColumnDef::set_allocated_identity(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.identity_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.identity_.IsDefault()) { - _impl_.identity_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity) +inline void PartitionSpec::set_strategy(::pg_query::PartitionStrategy value) { + _internal_set_strategy(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.strategy) } - -// .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"]; -inline bool ColumnDef::has_identity_sequence() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.identity_sequence_ != nullptr); - return value; +inline ::pg_query::PartitionStrategy PartitionSpec::_internal_strategy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::PartitionStrategy>(_impl_.strategy_); } -inline void ColumnDef::clear_identity_sequence() { +inline void PartitionSpec::_internal_set_strategy(::pg_query::PartitionStrategy value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.identity_sequence_ != nullptr) _impl_.identity_sequence_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; + ; + _impl_.strategy_ = value; } -inline const ::pg_query::RangeVar& ColumnDef::_internal_identity_sequence() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::RangeVar* p = _impl_.identity_sequence_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); + +// repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; +inline int PartitionSpec::_internal_part_params_size() const { + return _internal_part_params().size(); } -inline const ::pg_query::RangeVar& ColumnDef::identity_sequence() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity_sequence) - return _internal_identity_sequence(); +inline int PartitionSpec::part_params_size() const { + return _internal_part_params_size(); } -inline void ColumnDef::unsafe_arena_set_allocated_identity_sequence(::pg_query::RangeVar* value) { +inline void PartitionSpec::clear_part_params() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.identity_sequence_); - } - _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.identity_sequence) + _impl_.part_params_.Clear(); } -inline ::pg_query::RangeVar* ColumnDef::release_identity_sequence() { +inline ::pg_query::Node* PartitionSpec::mutable_part_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionSpec.part_params) + return _internal_mutable_part_params()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionSpec::mutable_part_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionSpec.part_params) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::RangeVar* released = _impl_.identity_sequence_; - _impl_.identity_sequence_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + return _internal_mutable_part_params(); } -inline ::pg_query::RangeVar* ColumnDef::unsafe_arena_release_identity_sequence() { +inline const ::pg_query::Node& PartitionSpec::part_params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.part_params) + return _internal_part_params().Get(index); +} +inline ::pg_query::Node* PartitionSpec::add_part_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity_sequence) - - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::RangeVar* temp = _impl_.identity_sequence_; - _impl_.identity_sequence_ = nullptr; - return temp; + ::pg_query::Node* _add = _internal_mutable_part_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionSpec.part_params) + return _add; } -inline ::pg_query::RangeVar* ColumnDef::_internal_mutable_identity_sequence() { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionSpec::part_params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionSpec.part_params) + return _internal_part_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionSpec::_internal_part_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.part_params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionSpec::_internal_mutable_part_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.part_params_; +} + +// int32 location = 3 [json_name = "location"]; +inline void PartitionSpec::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.identity_sequence_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); - _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(p); - } - return _impl_.identity_sequence_; + _impl_.location_ = 0; } -inline ::pg_query::RangeVar* ColumnDef::mutable_identity_sequence() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeVar* _msg = _internal_mutable_identity_sequence(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity_sequence) - return _msg; +inline ::int32_t PartitionSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.location) + return _internal_location(); } -inline void ColumnDef::set_allocated_identity_sequence(::pg_query::RangeVar* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void PartitionSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.location) +} +inline ::int32_t PartitionSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void PartitionSpec::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.identity_sequence_); - } + ; + _impl_.location_ = value; +} - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000008u; - } else { - _impl_._has_bits_[0] &= ~0x00000008u; - } +// ------------------------------------------------------------------- - _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity_sequence) -} +// PartitionBoundSpec -// string generated = 14 [json_name = "generated"]; -inline void ColumnDef::clear_generated() { +// string strategy = 1 [json_name = "strategy"]; +inline void PartitionBoundSpec::clear_strategy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.generated_.ClearToEmpty(); + _impl_.strategy_.ClearToEmpty(); } -inline const std::string& ColumnDef::generated() const +inline const std::string& PartitionBoundSpec::strategy() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.generated) - return _internal_generated(); + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.strategy) + return _internal_strategy(); } template -inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_generated(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void PartitionBoundSpec::set_strategy(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.generated_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.generated) + _impl_.strategy_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.strategy) } -inline std::string* ColumnDef::mutable_generated() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_generated(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.generated) +inline std::string* PartitionBoundSpec::mutable_strategy() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_strategy(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.strategy) return _s; } -inline const std::string& ColumnDef::_internal_generated() const { +inline const std::string& PartitionBoundSpec::_internal_strategy() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.generated_.Get(); + return _impl_.strategy_.Get(); } -inline void ColumnDef::_internal_set_generated(const std::string& value) { +inline void PartitionBoundSpec::_internal_set_strategy(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.generated_.Set(value, GetArena()); + _impl_.strategy_.Set(value, GetArena()); } -inline std::string* ColumnDef::_internal_mutable_generated() { +inline std::string* PartitionBoundSpec::_internal_mutable_strategy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.generated_.Mutable( GetArena()); + return _impl_.strategy_.Mutable( GetArena()); } -inline std::string* ColumnDef::release_generated() { +inline std::string* PartitionBoundSpec::release_strategy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.generated) - return _impl_.generated_.Release(); + // @@protoc_insertion_point(field_release:pg_query.PartitionBoundSpec.strategy) + return _impl_.strategy_.Release(); } -inline void ColumnDef::set_allocated_generated(std::string* value) { +inline void PartitionBoundSpec::set_allocated_strategy(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.generated_.SetAllocated(value, GetArena()); + _impl_.strategy_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.generated_.IsDefault()) { - _impl_.generated_.Set("", GetArena()); + if (_impl_.strategy_.IsDefault()) { + _impl_.strategy_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.generated) + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionBoundSpec.strategy) } -// .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"]; -inline bool ColumnDef::has_coll_clause() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - PROTOBUF_ASSUME(!value || _impl_.coll_clause_ != nullptr); - return value; -} -inline void ColumnDef::clear_coll_clause() { +// bool is_default = 2 [json_name = "is_default"]; +inline void PartitionBoundSpec::clear_is_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.coll_clause_ != nullptr) _impl_.coll_clause_->Clear(); - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_.is_default_ = false; } -inline const ::pg_query::CollateClause& ColumnDef::_internal_coll_clause() const { +inline bool PartitionBoundSpec::is_default() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.is_default) + return _internal_is_default(); +} +inline void PartitionBoundSpec::set_is_default(bool value) { + _internal_set_is_default(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.is_default) +} +inline bool PartitionBoundSpec::_internal_is_default() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::CollateClause* p = _impl_.coll_clause_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_CollateClause_default_instance_); + return _impl_.is_default_; } -inline const ::pg_query::CollateClause& ColumnDef::coll_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_clause) - return _internal_coll_clause(); +inline void PartitionBoundSpec::_internal_set_is_default(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_default_ = value; } -inline void ColumnDef::unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value) { + +// int32 modulus = 3 [json_name = "modulus"]; +inline void PartitionBoundSpec::clear_modulus() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coll_clause_); - } - _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.coll_clause) + _impl_.modulus_ = 0; } -inline ::pg_query::CollateClause* ColumnDef::release_coll_clause() { +inline ::int32_t PartitionBoundSpec::modulus() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.modulus) + return _internal_modulus(); +} +inline void PartitionBoundSpec::set_modulus(::int32_t value) { + _internal_set_modulus(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.modulus) +} +inline ::int32_t PartitionBoundSpec::_internal_modulus() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.modulus_; +} +inline void PartitionBoundSpec::_internal_set_modulus(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.modulus_ = value; +} - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::CollateClause* released = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +// int32 remainder = 4 [json_name = "remainder"]; +inline void PartitionBoundSpec::clear_remainder() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remainder_ = 0; +} +inline ::int32_t PartitionBoundSpec::remainder() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.remainder) + return _internal_remainder(); } -inline ::pg_query::CollateClause* ColumnDef::unsafe_arena_release_coll_clause() { +inline void PartitionBoundSpec::set_remainder(::int32_t value) { + _internal_set_remainder(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.remainder) +} +inline ::int32_t PartitionBoundSpec::_internal_remainder() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.remainder_; +} +inline void PartitionBoundSpec::_internal_set_remainder(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.coll_clause) + ; + _impl_.remainder_ = value; +} - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::CollateClause* temp = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; - return temp; +// repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; +inline int PartitionBoundSpec::_internal_listdatums_size() const { + return _internal_listdatums().size(); } -inline ::pg_query::CollateClause* ColumnDef::_internal_mutable_coll_clause() { +inline int PartitionBoundSpec::listdatums_size() const { + return _internal_listdatums_size(); +} +inline void PartitionBoundSpec::clear_listdatums() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000010u; - if (_impl_.coll_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); - _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(p); - } - return _impl_.coll_clause_; + _impl_.listdatums_.Clear(); } -inline ::pg_query::CollateClause* ColumnDef::mutable_coll_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.coll_clause) - return _msg; +inline ::pg_query::Node* PartitionBoundSpec::mutable_listdatums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.listdatums) + return _internal_mutable_listdatums()->Mutable(index); } -inline void ColumnDef::set_allocated_coll_clause(::pg_query::CollateClause* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_listdatums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.listdatums) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::CollateClause*>(_impl_.coll_clause_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CollateClause*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000010u; - } else { - _impl_._has_bits_[0] &= ~0x00000010u; - } - - _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.coll_clause) + return _internal_mutable_listdatums(); } - -// uint32 coll_oid = 16 [json_name = "collOid"]; -inline void ColumnDef::clear_coll_oid() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coll_oid_ = 0u; +inline const ::pg_query::Node& PartitionBoundSpec::listdatums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.listdatums) + return _internal_listdatums().Get(index); } -inline ::uint32_t ColumnDef::coll_oid() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_oid) - return _internal_coll_oid(); +inline ::pg_query::Node* PartitionBoundSpec::add_listdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_listdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.listdatums) + return _add; } -inline void ColumnDef::set_coll_oid(::uint32_t value) { - _internal_set_coll_oid(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.coll_oid) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::listdatums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.listdatums) + return _internal_listdatums(); } -inline ::uint32_t ColumnDef::_internal_coll_oid() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionBoundSpec::_internal_listdatums() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coll_oid_; + return _impl_.listdatums_; } -inline void ColumnDef::_internal_set_coll_oid(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.coll_oid_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionBoundSpec::_internal_mutable_listdatums() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.listdatums_; } -// repeated .pg_query.Node constraints = 17 [json_name = "constraints"]; -inline int ColumnDef::_internal_constraints_size() const { - return _internal_constraints().size(); +// repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; +inline int PartitionBoundSpec::_internal_lowerdatums_size() const { + return _internal_lowerdatums().size(); } -inline int ColumnDef::constraints_size() const { - return _internal_constraints_size(); +inline int PartitionBoundSpec::lowerdatums_size() const { + return _internal_lowerdatums_size(); } -inline void ColumnDef::clear_constraints() { +inline void PartitionBoundSpec::clear_lowerdatums() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.constraints_.Clear(); + _impl_.lowerdatums_.Clear(); } -inline ::pg_query::Node* ColumnDef::mutable_constraints(int index) +inline ::pg_query::Node* PartitionBoundSpec::mutable_lowerdatums(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.constraints) - return _internal_mutable_constraints()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_mutable_lowerdatums()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_constraints() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_lowerdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.constraints) + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.lowerdatums) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_constraints(); + return _internal_mutable_lowerdatums(); } -inline const ::pg_query::Node& ColumnDef::constraints(int index) const +inline const ::pg_query::Node& PartitionBoundSpec::lowerdatums(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.constraints) - return _internal_constraints().Get(index); + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_lowerdatums().Get(index); } -inline ::pg_query::Node* ColumnDef::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* PartitionBoundSpec::add_lowerdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ColumnDef.constraints) + ::pg_query::Node* _add = _internal_mutable_lowerdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.lowerdatums) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::constraints() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::lowerdatums() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ColumnDef.constraints) - return _internal_constraints(); + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_lowerdatums(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ColumnDef::_internal_constraints() const { +PartitionBoundSpec::_internal_lowerdatums() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.constraints_; + return _impl_.lowerdatums_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ColumnDef::_internal_mutable_constraints() { +PartitionBoundSpec::_internal_mutable_lowerdatums() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.constraints_; + return &_impl_.lowerdatums_; } -// repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"]; -inline int ColumnDef::_internal_fdwoptions_size() const { - return _internal_fdwoptions().size(); +// repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; +inline int PartitionBoundSpec::_internal_upperdatums_size() const { + return _internal_upperdatums().size(); } -inline int ColumnDef::fdwoptions_size() const { - return _internal_fdwoptions_size(); +inline int PartitionBoundSpec::upperdatums_size() const { + return _internal_upperdatums_size(); } -inline void ColumnDef::clear_fdwoptions() { +inline void PartitionBoundSpec::clear_upperdatums() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.fdwoptions_.Clear(); + _impl_.upperdatums_.Clear(); } -inline ::pg_query::Node* ColumnDef::mutable_fdwoptions(int index) +inline ::pg_query::Node* PartitionBoundSpec::mutable_upperdatums(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.fdwoptions) - return _internal_mutable_fdwoptions()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.upperdatums) + return _internal_mutable_upperdatums()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_fdwoptions() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_upperdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.fdwoptions) + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.upperdatums) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_fdwoptions(); + return _internal_mutable_upperdatums(); } -inline const ::pg_query::Node& ColumnDef::fdwoptions(int index) const +inline const ::pg_query::Node& PartitionBoundSpec::upperdatums(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.fdwoptions) - return _internal_fdwoptions().Get(index); + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.upperdatums) + return _internal_upperdatums().Get(index); } -inline ::pg_query::Node* ColumnDef::add_fdwoptions() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* PartitionBoundSpec::add_upperdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_fdwoptions()->Add(); - // @@protoc_insertion_point(field_add:pg_query.ColumnDef.fdwoptions) + ::pg_query::Node* _add = _internal_mutable_upperdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.upperdatums) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::fdwoptions() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::upperdatums() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.ColumnDef.fdwoptions) - return _internal_fdwoptions(); + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.upperdatums) + return _internal_upperdatums(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -ColumnDef::_internal_fdwoptions() const { +PartitionBoundSpec::_internal_upperdatums() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.fdwoptions_; + return _impl_.upperdatums_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -ColumnDef::_internal_mutable_fdwoptions() { +PartitionBoundSpec::_internal_mutable_upperdatums() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.fdwoptions_; + return &_impl_.upperdatums_; } -// int32 location = 19 [json_name = "location"]; -inline void ColumnDef::clear_location() { +// int32 location = 8 [json_name = "location"]; +inline void PartitionBoundSpec::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline ::int32_t ColumnDef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.location) +inline ::int32_t PartitionBoundSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.location) return _internal_location(); } -inline void ColumnDef::set_location(::int32_t value) { +inline void PartitionBoundSpec::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.location) + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.location) } -inline ::int32_t ColumnDef::_internal_location() const { +inline ::int32_t PartitionBoundSpec::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.location_; } -inline void ColumnDef::_internal_set_location(::int32_t value) { +inline void PartitionBoundSpec::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; _impl_.location_ = value; @@ -116713,47 +127449,70 @@ inline void ColumnDef::_internal_set_location(::int32_t value) { // ------------------------------------------------------------------- -// TableLikeClause +// PartitionRangeDatum -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool TableLikeClause::has_relation() const { +// .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; +inline void PartitionRangeDatum::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; +} +inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::kind() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.kind) + return _internal_kind(); +} +inline void PartitionRangeDatum::set_kind(::pg_query::PartitionRangeDatumKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.kind) +} +inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::PartitionRangeDatumKind>(_impl_.kind_); +} +inline void PartitionRangeDatum::_internal_set_kind(::pg_query::PartitionRangeDatumKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} + +// .pg_query.Node value = 2 [json_name = "value"]; +inline bool PartitionRangeDatum::has_value() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); return value; } -inline void TableLikeClause::clear_relation() { +inline void PartitionRangeDatum::clear_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& TableLikeClause::_internal_relation() const { +inline const ::pg_query::Node& PartitionRangeDatum::_internal_value() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); + const ::pg_query::Node* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& TableLikeClause::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation) - return _internal_relation(); +inline const ::pg_query::Node& PartitionRangeDatum::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.value) + return _internal_value(); } -inline void TableLikeClause::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { +inline void PartitionRangeDatum::unsafe_arena_set_allocated_value(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); } - _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableLikeClause.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionRangeDatum.value) } -inline ::pg_query::RangeVar* TableLikeClause::release_relation() { +inline ::pg_query::Node* PartitionRangeDatum::release_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* released = _impl_.relation_; - _impl_.relation_ = nullptr; + ::pg_query::Node* released = _impl_.value_; + _impl_.value_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -116767,38 +127526,38 @@ inline ::pg_query::RangeVar* TableLikeClause::release_relation() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::RangeVar* TableLikeClause::unsafe_arena_release_relation() { +inline ::pg_query::Node* PartitionRangeDatum::unsafe_arena_release_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TableLikeClause.relation) + // @@protoc_insertion_point(field_release:pg_query.PartitionRangeDatum.value) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; + ::pg_query::Node* temp = _impl_.value_; + _impl_.value_ = nullptr; return temp; } -inline ::pg_query::RangeVar* TableLikeClause::_internal_mutable_relation() { +inline ::pg_query::Node* PartitionRangeDatum::_internal_mutable_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); - _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + if (_impl_.value_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.value_; } -inline ::pg_query::RangeVar* TableLikeClause::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.TableLikeClause.relation) +inline ::pg_query::Node* PartitionRangeDatum::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionRangeDatum.value) return _msg; } -inline void TableLikeClause::set_allocated_relation(::pg_query::RangeVar* value) { +inline void PartitionRangeDatum::set_allocated_value(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.value_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -116807,152 +127566,80 @@ inline void TableLikeClause::set_allocated_relation(::pg_query::RangeVar* value) _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TableLikeClause.relation) -} - -// uint32 options = 2 [json_name = "options"]; -inline void TableLikeClause::clear_options() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.options_ = 0u; -} -inline ::uint32_t TableLikeClause::options() const { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.options) - return _internal_options(); -} -inline void TableLikeClause::set_options(::uint32_t value) { - _internal_set_options(value); - // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.options) -} -inline ::uint32_t TableLikeClause::_internal_options() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.options_; -} -inline void TableLikeClause::_internal_set_options(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.options_ = value; + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionRangeDatum.value) } -// uint32 relation_oid = 3 [json_name = "relationOid"]; -inline void TableLikeClause::clear_relation_oid() { +// int32 location = 3 [json_name = "location"]; +inline void PartitionRangeDatum::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relation_oid_ = 0u; + _impl_.location_ = 0; } -inline ::uint32_t TableLikeClause::relation_oid() const { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation_oid) - return _internal_relation_oid(); +inline ::int32_t PartitionRangeDatum::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.location) + return _internal_location(); } -inline void TableLikeClause::set_relation_oid(::uint32_t value) { - _internal_set_relation_oid(value); - // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.relation_oid) +inline void PartitionRangeDatum::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.location) } -inline ::uint32_t TableLikeClause::_internal_relation_oid() const { +inline ::int32_t PartitionRangeDatum::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relation_oid_; + return _impl_.location_; } -inline void TableLikeClause::_internal_set_relation_oid(::uint32_t value) { +inline void PartitionRangeDatum::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relation_oid_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// IndexElem +// SinglePartitionSpec -// string name = 1 [json_name = "name"]; -inline void IndexElem::clear_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); -} -inline const std::string& IndexElem::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_name(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.name) -} -inline std::string* IndexElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.name) - return _s; -} -inline const std::string& IndexElem::_internal_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); -} -inline void IndexElem::_internal_set_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); -} -inline std::string* IndexElem::_internal_mutable_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); -} -inline std::string* IndexElem::release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IndexElem.name) - return _impl_.name_.Release(); -} -inline void IndexElem::set_allocated_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.name) -} +// ------------------------------------------------------------------- -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool IndexElem::has_expr() const { +// PartitionCmd + +// .pg_query.RangeVar name = 1 [json_name = "name"]; +inline bool PartitionCmd::has_name() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.name_ != nullptr); return value; } -inline void IndexElem::clear_expr() { +inline void PartitionCmd::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + if (_impl_.name_ != nullptr) _impl_.name_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& IndexElem::_internal_expr() const { +inline const ::pg_query::RangeVar& PartitionCmd::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::RangeVar* p = _impl_.name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& IndexElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.expr) - return _internal_expr(); +inline const ::pg_query::RangeVar& PartitionCmd::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.name) + return _internal_name(); } -inline void IndexElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void PartitionCmd::unsafe_arena_set_allocated_name(::pg_query::RangeVar* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.name_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.name) } -inline ::pg_query::Node* IndexElem::release_expr() { +inline ::pg_query::RangeVar* PartitionCmd::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + ::pg_query::RangeVar* released = _impl_.name_; + _impl_.name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -116966,38 +127653,38 @@ inline ::pg_query::Node* IndexElem::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* IndexElem::unsafe_arena_release_expr() { +inline ::pg_query::RangeVar* PartitionCmd::unsafe_arena_release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IndexElem.expr) + // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.name) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + ::pg_query::RangeVar* temp = _impl_.name_; + _impl_.name_ = nullptr; return temp; } -inline ::pg_query::Node* IndexElem::_internal_mutable_expr() { +inline ::pg_query::RangeVar* PartitionCmd::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.expr_; + return _impl_.name_; } -inline ::pg_query::Node* IndexElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.expr) +inline ::pg_query::RangeVar* PartitionCmd::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.name) return _msg; } -inline void IndexElem::set_allocated_expr(::pg_query::Node* value) { +inline void PartitionCmd::set_allocated_name(::pg_query::RangeVar* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.name_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -117006,405 +127693,268 @@ inline void IndexElem::set_allocated_expr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.expr) + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.name) } -// string indexcolname = 3 [json_name = "indexcolname"]; -inline void IndexElem::clear_indexcolname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indexcolname_.ClearToEmpty(); -} -inline const std::string& IndexElem::indexcolname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.indexcolname) - return _internal_indexcolname(); +// .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; +inline bool PartitionCmd::has_bound() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.bound_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_indexcolname(Arg_&& arg, - Args_... args) { +inline void PartitionCmd::clear_bound() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.indexcolname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.indexcolname) -} -inline std::string* IndexElem::mutable_indexcolname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_indexcolname(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.indexcolname) - return _s; + if (_impl_.bound_ != nullptr) _impl_.bound_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const std::string& IndexElem::_internal_indexcolname() const { +inline const ::pg_query::PartitionBoundSpec& PartitionCmd::_internal_bound() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.indexcolname_.Get(); -} -inline void IndexElem::_internal_set_indexcolname(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.indexcolname_.Set(value, GetArena()); + const ::pg_query::PartitionBoundSpec* p = _impl_.bound_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_PartitionBoundSpec_default_instance_); } -inline std::string* IndexElem::_internal_mutable_indexcolname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.indexcolname_.Mutable( GetArena()); +inline const ::pg_query::PartitionBoundSpec& PartitionCmd::bound() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.bound) + return _internal_bound(); } -inline std::string* IndexElem::release_indexcolname() { +inline void PartitionCmd::unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.IndexElem.indexcolname) - return _impl_.indexcolname_.Release(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.bound_); + } + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.bound) } -inline void IndexElem::set_allocated_indexcolname(std::string* value) { +inline ::pg_query::PartitionBoundSpec* PartitionCmd::release_bound() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indexcolname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.indexcolname_.IsDefault()) { - _impl_.indexcolname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.indexcolname) -} -// repeated .pg_query.Node collation = 4 [json_name = "collation"]; -inline int IndexElem::_internal_collation_size() const { - return _internal_collation().size(); -} -inline int IndexElem::collation_size() const { - return _internal_collation_size(); -} -inline void IndexElem::clear_collation() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collation_.Clear(); -} -inline ::pg_query::Node* IndexElem::mutable_collation(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.collation) - return _internal_mutable_collation()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_collation() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.collation) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_collation(); -} -inline const ::pg_query::Node& IndexElem::collation(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.collation) - return _internal_collation().Get(index); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* released = _impl_.bound_; + _impl_.bound_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* IndexElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::PartitionBoundSpec* PartitionCmd::unsafe_arena_release_bound() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_collation()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.collation) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::collation() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.collation) - return _internal_collation(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IndexElem::_internal_collation() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collation_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IndexElem::_internal_mutable_collation() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.collation_; -} + // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.bound) -// repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; -inline int IndexElem::_internal_opclass_size() const { - return _internal_opclass().size(); -} -inline int IndexElem::opclass_size() const { - return _internal_opclass_size(); -} -inline void IndexElem::clear_opclass() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opclass_.Clear(); -} -inline ::pg_query::Node* IndexElem::mutable_opclass(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclass) - return _internal_mutable_opclass()->Mutable(index); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* temp = _impl_.bound_; + _impl_.bound_ = nullptr; + return temp; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclass() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclass) +inline ::pg_query::PartitionBoundSpec* PartitionCmd::_internal_mutable_bound() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_opclass(); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.bound_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(p); + } + return _impl_.bound_; } -inline const ::pg_query::Node& IndexElem::opclass(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclass) - return _internal_opclass().Get(index); +inline ::pg_query::PartitionBoundSpec* PartitionCmd::mutable_bound() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_bound(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.bound) + return _msg; } -inline ::pg_query::Node* IndexElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void PartitionCmd::set_allocated_bound(::pg_query::PartitionBoundSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclass) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclass() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclass) - return _internal_opclass(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IndexElem::_internal_opclass() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opclass_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IndexElem::_internal_mutable_opclass() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.opclass_; -} + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::PartitionBoundSpec*>(_impl_.bound_); + } -// repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; -inline int IndexElem::_internal_opclassopts_size() const { - return _internal_opclassopts().size(); -} -inline int IndexElem::opclassopts_size() const { - return _internal_opclassopts_size(); -} -inline void IndexElem::clear_opclassopts() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opclassopts_.Clear(); -} -inline ::pg_query::Node* IndexElem::mutable_opclassopts(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclassopts) - return _internal_mutable_opclassopts()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclassopts() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclassopts) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_opclassopts(); -} -inline const ::pg_query::Node& IndexElem::opclassopts(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclassopts) - return _internal_opclassopts().Get(index); -} -inline ::pg_query::Node* IndexElem::add_opclassopts() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_opclassopts()->Add(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclassopts) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclassopts() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclassopts) - return _internal_opclassopts(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -IndexElem::_internal_opclassopts() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opclassopts_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -IndexElem::_internal_mutable_opclassopts() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.opclassopts_; -} + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; -inline void IndexElem::clear_ordering() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ordering_ = 0; -} -inline ::pg_query::SortByDir IndexElem::ordering() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.ordering) - return _internal_ordering(); -} -inline void IndexElem::set_ordering(::pg_query::SortByDir value) { - _internal_set_ordering(value); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.ordering) -} -inline ::pg_query::SortByDir IndexElem::_internal_ordering() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SortByDir>(_impl_.ordering_); -} -inline void IndexElem::_internal_set_ordering(::pg_query::SortByDir value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.ordering_ = value; + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.bound) } -// .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; -inline void IndexElem::clear_nulls_ordering() { +// bool concurrent = 3 [json_name = "concurrent"]; +inline void PartitionCmd::clear_concurrent() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.nulls_ordering_ = 0; + _impl_.concurrent_ = false; } -inline ::pg_query::SortByNulls IndexElem::nulls_ordering() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.nulls_ordering) - return _internal_nulls_ordering(); +inline bool PartitionCmd::concurrent() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.concurrent) + return _internal_concurrent(); } -inline void IndexElem::set_nulls_ordering(::pg_query::SortByNulls value) { - _internal_set_nulls_ordering(value); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.nulls_ordering) +inline void PartitionCmd::set_concurrent(bool value) { + _internal_set_concurrent(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionCmd.concurrent) } -inline ::pg_query::SortByNulls IndexElem::_internal_nulls_ordering() const { +inline bool PartitionCmd::_internal_concurrent() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::SortByNulls>(_impl_.nulls_ordering_); + return _impl_.concurrent_; } -inline void IndexElem::_internal_set_nulls_ordering(::pg_query::SortByNulls value) { +inline void PartitionCmd::_internal_set_concurrent(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.nulls_ordering_ = value; + _impl_.concurrent_ = value; } // ------------------------------------------------------------------- -// DefElem +// RangeTblEntry -// string defnamespace = 1 [json_name = "defnamespace"]; -inline void DefElem::clear_defnamespace() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.defnamespace_.ClearToEmpty(); -} -inline const std::string& DefElem::defnamespace() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defnamespace) - return _internal_defnamespace(); +// .pg_query.Alias alias = 1 [json_name = "alias"]; +inline bool RangeTblEntry::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defnamespace(Arg_&& arg, - Args_... args) { +inline void RangeTblEntry::clear_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.defnamespace_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defnamespace) -} -inline std::string* DefElem::mutable_defnamespace() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_defnamespace(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defnamespace) - return _s; + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const std::string& DefElem::_internal_defnamespace() const { +inline const ::pg_query::Alias& RangeTblEntry::_internal_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.defnamespace_.Get(); -} -inline void DefElem::_internal_set_defnamespace(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.defnamespace_.Set(value, GetArena()); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline std::string* DefElem::_internal_mutable_defnamespace() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.defnamespace_.Mutable( GetArena()); +inline const ::pg_query::Alias& RangeTblEntry::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.alias) + return _internal_alias(); } -inline std::string* DefElem::release_defnamespace() { +inline void RangeTblEntry::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.DefElem.defnamespace) - return _impl_.defnamespace_.Release(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.alias) } -inline void DefElem::set_allocated_defnamespace(std::string* value) { +inline ::pg_query::Alias* RangeTblEntry::release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.defnamespace_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.defnamespace_.IsDefault()) { - _impl_.defnamespace_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defnamespace) -} -// string defname = 2 [json_name = "defname"]; -inline void DefElem::clear_defname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.defname_.ClearToEmpty(); -} -inline const std::string& DefElem::defname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defname) - return _internal_defname(); -} -template -inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defname(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.defname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defname) -} -inline std::string* DefElem::mutable_defname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_defname(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defname) - return _s; -} -inline const std::string& DefElem::_internal_defname() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.defname_.Get(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void DefElem::_internal_set_defname(const std::string& value) { +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.defname_.Set(value, GetArena()); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.alias) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline std::string* DefElem::_internal_mutable_defname() { +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.defname_.Mutable( GetArena()); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline std::string* DefElem::release_defname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.DefElem.defname) - return _impl_.defname_.Release(); +inline ::pg_query::Alias* RangeTblEntry::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.alias) + return _msg; } -inline void DefElem::set_allocated_defname(std::string* value) { +inline void RangeTblEntry::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.defname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.defname_.IsDefault()) { - _impl_.defname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defname) + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.alias) } -// .pg_query.Node arg = 3 [json_name = "arg"]; -inline bool DefElem::has_arg() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); +// .pg_query.Alias eref = 2 [json_name = "eref"]; +inline bool RangeTblEntry::has_eref() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.eref_ != nullptr); return value; } -inline void DefElem::clear_arg() { +inline void RangeTblEntry::clear_eref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.eref_ != nullptr) _impl_.eref_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& DefElem::_internal_arg() const { +inline const ::pg_query::Alias& RangeTblEntry::_internal_eref() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::Alias* p = _impl_.eref_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Node& DefElem::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.DefElem.arg) - return _internal_arg(); +inline const ::pg_query::Alias& RangeTblEntry::eref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.eref) + return _internal_eref(); } -inline void DefElem::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { +inline void RangeTblEntry::unsafe_arena_set_allocated_eref(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eref_); } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DefElem.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.eref) } -inline ::pg_query::Node* DefElem::release_arg() { +inline ::pg_query::Alias* RangeTblEntry::release_eref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* released = _impl_.eref_; + _impl_.eref_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -117418,261 +127968,257 @@ inline ::pg_query::Node* DefElem::release_arg() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* DefElem::unsafe_arena_release_arg() { +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_eref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.DefElem.arg) + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.eref) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* temp = _impl_.eref_; + _impl_.eref_ = nullptr; return temp; } -inline ::pg_query::Node* DefElem::_internal_mutable_arg() { +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_eref() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.eref_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.arg_; + return _impl_.eref_; } -inline ::pg_query::Node* DefElem::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.arg) +inline ::pg_query::Alias* RangeTblEntry::mutable_eref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_eref(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.eref) return _msg; } -inline void DefElem::set_allocated_arg(::pg_query::Node* value) { +inline void RangeTblEntry::set_allocated_eref(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.eref_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.arg) + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.eref) } -// .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; -inline void DefElem::clear_defaction() { +// .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"]; +inline void RangeTblEntry::clear_rtekind() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.defaction_ = 0; + _impl_.rtekind_ = 0; } -inline ::pg_query::DefElemAction DefElem::defaction() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defaction) - return _internal_defaction(); +inline ::pg_query::RTEKind RangeTblEntry::rtekind() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rtekind) + return _internal_rtekind(); } -inline void DefElem::set_defaction(::pg_query::DefElemAction value) { - _internal_set_defaction(value); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defaction) +inline void RangeTblEntry::set_rtekind(::pg_query::RTEKind value) { + _internal_set_rtekind(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rtekind) } -inline ::pg_query::DefElemAction DefElem::_internal_defaction() const { +inline ::pg_query::RTEKind RangeTblEntry::_internal_rtekind() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::DefElemAction>(_impl_.defaction_); + return static_cast<::pg_query::RTEKind>(_impl_.rtekind_); } -inline void DefElem::_internal_set_defaction(::pg_query::DefElemAction value) { +inline void RangeTblEntry::_internal_set_rtekind(::pg_query::RTEKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.defaction_ = value; + _impl_.rtekind_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void DefElem::clear_location() { +// uint32 relid = 4 [json_name = "relid"]; +inline void RangeTblEntry::clear_relid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.relid_ = 0u; } -inline ::int32_t DefElem::location() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.location) - return _internal_location(); +inline ::uint32_t RangeTblEntry::relid() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relid) + return _internal_relid(); } -inline void DefElem::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.DefElem.location) +inline void RangeTblEntry::set_relid(::uint32_t value) { + _internal_set_relid(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relid) } -inline ::int32_t DefElem::_internal_location() const { +inline ::uint32_t RangeTblEntry::_internal_relid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.relid_; } -inline void DefElem::_internal_set_location(::int32_t value) { +inline void RangeTblEntry::_internal_set_relid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.relid_ = value; } -// ------------------------------------------------------------------- - -// LockingClause - -// repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; -inline int LockingClause::_internal_locked_rels_size() const { - return _internal_locked_rels().size(); +// bool inh = 5 [json_name = "inh"]; +inline void RangeTblEntry::clear_inh() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inh_ = false; } -inline int LockingClause::locked_rels_size() const { - return _internal_locked_rels_size(); +inline bool RangeTblEntry::inh() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.inh) + return _internal_inh(); } -inline void LockingClause::clear_locked_rels() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.locked_rels_.Clear(); +inline void RangeTblEntry::set_inh(bool value) { + _internal_set_inh(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.inh) } -inline ::pg_query::Node* LockingClause::mutable_locked_rels(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.LockingClause.locked_rels) - return _internal_mutable_locked_rels()->Mutable(index); +inline bool RangeTblEntry::_internal_inh() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* LockingClause::mutable_locked_rels() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.LockingClause.locked_rels) +inline void RangeTblEntry::_internal_set_inh(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_locked_rels(); -} -inline const ::pg_query::Node& LockingClause::locked_rels(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.locked_rels) - return _internal_locked_rels().Get(index); + ; + _impl_.inh_ = value; } -inline ::pg_query::Node* LockingClause::add_locked_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// string relkind = 6 [json_name = "relkind"]; +inline void RangeTblEntry::clear_relkind() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_locked_rels()->Add(); - // @@protoc_insertion_point(field_add:pg_query.LockingClause.locked_rels) - return _add; + _impl_.relkind_.ClearToEmpty(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& LockingClause::locked_rels() const +inline const std::string& RangeTblEntry::relkind() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.LockingClause.locked_rels) - return _internal_locked_rels(); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relkind) + return _internal_relkind(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -LockingClause::_internal_locked_rels() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.locked_rels_; +template +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_relkind(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relkind_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relkind) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -LockingClause::_internal_mutable_locked_rels() { +inline std::string* RangeTblEntry::mutable_relkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relkind(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.relkind) + return _s; +} +inline const std::string& RangeTblEntry::_internal_relkind() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.locked_rels_; + return _impl_.relkind_.Get(); } - -// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; -inline void LockingClause::clear_strength() { +inline void RangeTblEntry::_internal_set_relkind(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.strength_ = 0; -} -inline ::pg_query::LockClauseStrength LockingClause::strength() const { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.strength) - return _internal_strength(); + ; + _impl_.relkind_.Set(value, GetArena()); } -inline void LockingClause::set_strength(::pg_query::LockClauseStrength value) { - _internal_set_strength(value); - // @@protoc_insertion_point(field_set:pg_query.LockingClause.strength) +inline std::string* RangeTblEntry::_internal_mutable_relkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relkind_.Mutable( GetArena()); } -inline ::pg_query::LockClauseStrength LockingClause::_internal_strength() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); +inline std::string* RangeTblEntry::release_relkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.relkind) + return _impl_.relkind_.Release(); } -inline void LockingClause::_internal_set_strength(::pg_query::LockClauseStrength value) { +inline void RangeTblEntry::set_allocated_relkind(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.strength_ = value; + _impl_.relkind_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relkind_.IsDefault()) { + _impl_.relkind_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.relkind) } -// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; -inline void LockingClause::clear_wait_policy() { +// int32 rellockmode = 7 [json_name = "rellockmode"]; +inline void RangeTblEntry::clear_rellockmode() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.wait_policy_ = 0; + _impl_.rellockmode_ = 0; } -inline ::pg_query::LockWaitPolicy LockingClause::wait_policy() const { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.wait_policy) - return _internal_wait_policy(); +inline ::int32_t RangeTblEntry::rellockmode() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rellockmode) + return _internal_rellockmode(); } -inline void LockingClause::set_wait_policy(::pg_query::LockWaitPolicy value) { - _internal_set_wait_policy(value); - // @@protoc_insertion_point(field_set:pg_query.LockingClause.wait_policy) +inline void RangeTblEntry::set_rellockmode(::int32_t value) { + _internal_set_rellockmode(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rellockmode) } -inline ::pg_query::LockWaitPolicy LockingClause::_internal_wait_policy() const { +inline ::int32_t RangeTblEntry::_internal_rellockmode() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); + return _impl_.rellockmode_; } -inline void LockingClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { +inline void RangeTblEntry::_internal_set_rellockmode(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.wait_policy_ = value; + _impl_.rellockmode_ = value; } -// ------------------------------------------------------------------- - -// XmlSerialize - -// .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; -inline void XmlSerialize::clear_xmloption() { +// uint32 perminfoindex = 8 [json_name = "perminfoindex"]; +inline void RangeTblEntry::clear_perminfoindex() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.xmloption_ = 0; + _impl_.perminfoindex_ = 0u; } -inline ::pg_query::XmlOptionType XmlSerialize::xmloption() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.xmloption) - return _internal_xmloption(); +inline ::uint32_t RangeTblEntry::perminfoindex() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.perminfoindex) + return _internal_perminfoindex(); } -inline void XmlSerialize::set_xmloption(::pg_query::XmlOptionType value) { - _internal_set_xmloption(value); - // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.xmloption) +inline void RangeTblEntry::set_perminfoindex(::uint32_t value) { + _internal_set_perminfoindex(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.perminfoindex) } -inline ::pg_query::XmlOptionType XmlSerialize::_internal_xmloption() const { +inline ::uint32_t RangeTblEntry::_internal_perminfoindex() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); + return _impl_.perminfoindex_; } -inline void XmlSerialize::_internal_set_xmloption(::pg_query::XmlOptionType value) { +inline void RangeTblEntry::_internal_set_perminfoindex(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.xmloption_ = value; + _impl_.perminfoindex_ = value; } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool XmlSerialize::has_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); +// .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"]; +inline bool RangeTblEntry::has_tablesample() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.tablesample_ != nullptr); return value; } -inline void XmlSerialize::clear_expr() { +inline void RangeTblEntry::clear_tablesample() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.tablesample_ != nullptr) _impl_.tablesample_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& XmlSerialize::_internal_expr() const { +inline const ::pg_query::TableSampleClause& RangeTblEntry::_internal_tablesample() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::TableSampleClause* p = _impl_.tablesample_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableSampleClause_default_instance_); } -inline const ::pg_query::Node& XmlSerialize::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.expr) - return _internal_expr(); +inline const ::pg_query::TableSampleClause& RangeTblEntry::tablesample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablesample) + return _internal_tablesample(); } -inline void XmlSerialize::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void RangeTblEntry::unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablesample_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablesample) } -inline ::pg_query::Node* XmlSerialize::release_expr() { +inline ::pg_query::TableSampleClause* RangeTblEntry::release_tablesample() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::TableSampleClause* released = _impl_.tablesample_; + _impl_.tablesample_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -117686,89 +128232,89 @@ inline ::pg_query::Node* XmlSerialize::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* XmlSerialize::unsafe_arena_release_expr() { +inline ::pg_query::TableSampleClause* RangeTblEntry::unsafe_arena_release_tablesample() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.expr) + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablesample) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::TableSampleClause* temp = _impl_.tablesample_; + _impl_.tablesample_ = nullptr; return temp; } -inline ::pg_query::Node* XmlSerialize::_internal_mutable_expr() { +inline ::pg_query::TableSampleClause* RangeTblEntry::_internal_mutable_tablesample() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.tablesample_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(p); } - return _impl_.expr_; + return _impl_.tablesample_; } -inline ::pg_query::Node* XmlSerialize::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.expr) +inline ::pg_query::TableSampleClause* RangeTblEntry::mutable_tablesample() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableSampleClause* _msg = _internal_mutable_tablesample(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablesample) return _msg; } -inline void XmlSerialize::set_allocated_expr(::pg_query::Node* value) { +inline void RangeTblEntry::set_allocated_tablesample(::pg_query::TableSampleClause* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::TableSampleClause*>(_impl_.tablesample_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableSampleClause*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.expr) + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablesample) } -// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; -inline bool XmlSerialize::has_type_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); +// .pg_query.Query subquery = 10 [json_name = "subquery"]; +inline bool RangeTblEntry::has_subquery() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); return value; } -inline void XmlSerialize::clear_type_name() { +inline void RangeTblEntry::clear_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::TypeName& XmlSerialize::_internal_type_name() const { +inline const ::pg_query::Query& RangeTblEntry::_internal_subquery() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); + const ::pg_query::Query* p = _impl_.subquery_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Query_default_instance_); } -inline const ::pg_query::TypeName& XmlSerialize::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.type_name) - return _internal_type_name(); +inline const ::pg_query::Query& RangeTblEntry::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.subquery) + return _internal_subquery(); } -inline void XmlSerialize::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { +inline void RangeTblEntry::unsafe_arena_set_allocated_subquery(::pg_query::Query* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.subquery) } -inline ::pg_query::TypeName* XmlSerialize::release_type_name() { +inline ::pg_query::Query* RangeTblEntry::release_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::TypeName* released = _impl_.type_name_; - _impl_.type_name_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Query* released = _impl_.subquery_; + _impl_.subquery_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -117782,192 +128328,305 @@ inline ::pg_query::TypeName* XmlSerialize::release_type_name() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::TypeName* XmlSerialize::unsafe_arena_release_type_name() { +inline ::pg_query::Query* RangeTblEntry::unsafe_arena_release_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.type_name) + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.subquery) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Query* temp = _impl_.subquery_; + _impl_.subquery_ = nullptr; return temp; } -inline ::pg_query::TypeName* XmlSerialize::_internal_mutable_type_name() { +inline ::pg_query::Query* RangeTblEntry::_internal_mutable_subquery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.subquery_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Query>(GetArena()); + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(p); } - return _impl_.type_name_; + return _impl_.subquery_; } -inline ::pg_query::TypeName* XmlSerialize::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.type_name) +inline ::pg_query::Query* RangeTblEntry::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Query* _msg = _internal_mutable_subquery(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.subquery) return _msg; } -inline void XmlSerialize::set_allocated_type_name(::pg_query::TypeName* value) { +inline void RangeTblEntry::set_allocated_subquery(::pg_query::Query* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + delete reinterpret_cast<::pg_query::Query*>(_impl_.subquery_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Query*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.type_name) + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.subquery) } -// bool indent = 4 [json_name = "indent"]; -inline void XmlSerialize::clear_indent() { +// bool security_barrier = 11 [json_name = "security_barrier"]; +inline void RangeTblEntry::clear_security_barrier() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.indent_ = false; + _impl_.security_barrier_ = false; } -inline bool XmlSerialize::indent() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.indent) - return _internal_indent(); +inline bool RangeTblEntry::security_barrier() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_barrier) + return _internal_security_barrier(); } -inline void XmlSerialize::set_indent(bool value) { - _internal_set_indent(value); - // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.indent) +inline void RangeTblEntry::set_security_barrier(bool value) { + _internal_set_security_barrier(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.security_barrier) } -inline bool XmlSerialize::_internal_indent() const { +inline bool RangeTblEntry::_internal_security_barrier() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.indent_; + return _impl_.security_barrier_; } -inline void XmlSerialize::_internal_set_indent(bool value) { +inline void RangeTblEntry::_internal_set_security_barrier(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.indent_ = value; + _impl_.security_barrier_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void XmlSerialize::clear_location() { +// .pg_query.JoinType jointype = 12 [json_name = "jointype"]; +inline void RangeTblEntry::clear_jointype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.jointype_ = 0; } -inline ::int32_t XmlSerialize::location() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.location) - return _internal_location(); +inline ::pg_query::JoinType RangeTblEntry::jointype() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.jointype) + return _internal_jointype(); } -inline void XmlSerialize::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.location) +inline void RangeTblEntry::set_jointype(::pg_query::JoinType value) { + _internal_set_jointype(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.jointype) } -inline ::int32_t XmlSerialize::_internal_location() const { +inline ::pg_query::JoinType RangeTblEntry::_internal_jointype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return static_cast<::pg_query::JoinType>(_impl_.jointype_); } -inline void XmlSerialize::_internal_set_location(::int32_t value) { +inline void RangeTblEntry::_internal_set_jointype(::pg_query::JoinType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.jointype_ = value; } -// ------------------------------------------------------------------- - -// PartitionElem +// int32 joinmergedcols = 13 [json_name = "joinmergedcols"]; +inline void RangeTblEntry::clear_joinmergedcols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.joinmergedcols_ = 0; +} +inline ::int32_t RangeTblEntry::joinmergedcols() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinmergedcols) + return _internal_joinmergedcols(); +} +inline void RangeTblEntry::set_joinmergedcols(::int32_t value) { + _internal_set_joinmergedcols(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.joinmergedcols) +} +inline ::int32_t RangeTblEntry::_internal_joinmergedcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinmergedcols_; +} +inline void RangeTblEntry::_internal_set_joinmergedcols(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.joinmergedcols_ = value; +} -// string name = 1 [json_name = "name"]; -inline void PartitionElem::clear_name() { +// repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"]; +inline int RangeTblEntry::_internal_joinaliasvars_size() const { + return _internal_joinaliasvars().size(); +} +inline int RangeTblEntry::joinaliasvars_size() const { + return _internal_joinaliasvars_size(); +} +inline void RangeTblEntry::clear_joinaliasvars() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); + _impl_.joinaliasvars_.Clear(); } -inline const std::string& PartitionElem::name() const +inline ::pg_query::Node* RangeTblEntry::mutable_joinaliasvars(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.name) - return _internal_name(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinaliasvars) + return _internal_mutable_joinaliasvars()->Mutable(index); } -template -inline PROTOBUF_ALWAYS_INLINE void PartitionElem::set_name(Arg_&& arg, - Args_... args) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinaliasvars() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinaliasvars) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.PartitionElem.name) + return _internal_mutable_joinaliasvars(); } -inline std::string* PartitionElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.name) - return _s; +inline const ::pg_query::Node& RangeTblEntry::joinaliasvars(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinaliasvars) + return _internal_joinaliasvars().Get(index); } -inline const std::string& PartitionElem::_internal_name() const { +inline ::pg_query::Node* RangeTblEntry::add_joinaliasvars() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_joinaliasvars()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinaliasvars) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinaliasvars() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinaliasvars) + return _internal_joinaliasvars(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinaliasvars() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); + return _impl_.joinaliasvars_; } -inline void PartitionElem::_internal_set_name(const std::string& value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinaliasvars() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinaliasvars_; +} + +// repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"]; +inline int RangeTblEntry::_internal_joinleftcols_size() const { + return _internal_joinleftcols().size(); +} +inline int RangeTblEntry::joinleftcols_size() const { + return _internal_joinleftcols_size(); +} +inline void RangeTblEntry::clear_joinleftcols() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); + _impl_.joinleftcols_.Clear(); } -inline std::string* PartitionElem::_internal_mutable_name() { +inline ::pg_query::Node* RangeTblEntry::mutable_joinleftcols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinleftcols) + return _internal_mutable_joinleftcols()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinleftcols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinleftcols) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); + return _internal_mutable_joinleftcols(); } -inline std::string* PartitionElem::release_name() { +inline const ::pg_query::Node& RangeTblEntry::joinleftcols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinleftcols) + return _internal_joinleftcols().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_joinleftcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionElem.name) - return _impl_.name_.Release(); + ::pg_query::Node* _add = _internal_mutable_joinleftcols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinleftcols) + return _add; } -inline void PartitionElem::set_allocated_name(std::string* value) { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinleftcols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinleftcols) + return _internal_joinleftcols(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinleftcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinleftcols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinleftcols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinleftcols_; +} + +// repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"]; +inline int RangeTblEntry::_internal_joinrightcols_size() const { + return _internal_joinrightcols().size(); +} +inline int RangeTblEntry::joinrightcols_size() const { + return _internal_joinrightcols_size(); +} +inline void RangeTblEntry::clear_joinrightcols() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.name) + _impl_.joinrightcols_.Clear(); +} +inline ::pg_query::Node* RangeTblEntry::mutable_joinrightcols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinrightcols) + return _internal_mutable_joinrightcols()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinrightcols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinrightcols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_joinrightcols(); +} +inline const ::pg_query::Node& RangeTblEntry::joinrightcols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinrightcols) + return _internal_joinrightcols().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_joinrightcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_joinrightcols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinrightcols) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinrightcols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinrightcols) + return _internal_joinrightcols(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinrightcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinrightcols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinrightcols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinrightcols_; } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool PartitionElem::has_expr() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); +// .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"]; +inline bool RangeTblEntry::has_join_using_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); return value; } -inline void PartitionElem::clear_expr() { +inline void RangeTblEntry::clear_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& PartitionElem::_internal_expr() const { +inline const ::pg_query::Alias& RangeTblEntry::_internal_join_using_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::Alias* p = _impl_.join_using_alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Node& PartitionElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.expr) - return _internal_expr(); +inline const ::pg_query::Alias& RangeTblEntry::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.join_using_alias) + return _internal_join_using_alias(); } -inline void PartitionElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { +inline void RangeTblEntry::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.join_using_alias) } -inline ::pg_query::Node* PartitionElem::release_expr() { +inline ::pg_query::Alias* RangeTblEntry::release_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* released = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -117981,1215 +128640,958 @@ inline ::pg_query::Node* PartitionElem::release_expr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* PartitionElem::unsafe_arena_release_expr() { +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionElem.expr) + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.join_using_alias) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* temp = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; return temp; } -inline ::pg_query::Node* PartitionElem::_internal_mutable_expr() { +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_join_using_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.join_using_alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.expr_; + return _impl_.join_using_alias_; } -inline ::pg_query::Node* PartitionElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.expr) +inline ::pg_query::Alias* RangeTblEntry::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.join_using_alias) return _msg; } -inline void PartitionElem::set_allocated_expr(::pg_query::Node* value) { +inline void RangeTblEntry::set_allocated_join_using_alias(::pg_query::Alias* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000010u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.expr) + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.join_using_alias) } -// repeated .pg_query.Node collation = 3 [json_name = "collation"]; -inline int PartitionElem::_internal_collation_size() const { - return _internal_collation().size(); +// repeated .pg_query.Node functions = 18 [json_name = "functions"]; +inline int RangeTblEntry::_internal_functions_size() const { + return _internal_functions().size(); } -inline int PartitionElem::collation_size() const { - return _internal_collation_size(); +inline int RangeTblEntry::functions_size() const { + return _internal_functions_size(); } -inline void PartitionElem::clear_collation() { +inline void RangeTblEntry::clear_functions() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.collation_.Clear(); + _impl_.functions_.Clear(); } -inline ::pg_query::Node* PartitionElem::mutable_collation(int index) +inline ::pg_query::Node* RangeTblEntry::mutable_functions(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.collation) - return _internal_mutable_collation()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.functions) + return _internal_mutable_functions()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_collation() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.collation) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.functions) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_collation(); + return _internal_mutable_functions(); } -inline const ::pg_query::Node& PartitionElem::collation(int index) const +inline const ::pg_query::Node& RangeTblEntry::functions(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.collation) - return _internal_collation().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.functions) + return _internal_functions().Get(index); } -inline ::pg_query::Node* PartitionElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblEntry::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_collation()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionElem.collation) + ::pg_query::Node* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.functions) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::collation() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::functions() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionElem.collation) - return _internal_collation(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.functions) + return _internal_functions(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionElem::_internal_collation() const { +RangeTblEntry::_internal_functions() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.collation_; + return _impl_.functions_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionElem::_internal_mutable_collation() { +RangeTblEntry::_internal_mutable_functions() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.collation_; + return &_impl_.functions_; } -// repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; -inline int PartitionElem::_internal_opclass_size() const { - return _internal_opclass().size(); +// bool funcordinality = 19 [json_name = "funcordinality"]; +inline void RangeTblEntry::clear_funcordinality() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcordinality_ = false; } -inline int PartitionElem::opclass_size() const { - return _internal_opclass_size(); +inline bool RangeTblEntry::funcordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.funcordinality) + return _internal_funcordinality(); } -inline void PartitionElem::clear_opclass() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.opclass_.Clear(); +inline void RangeTblEntry::set_funcordinality(bool value) { + _internal_set_funcordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.funcordinality) } -inline ::pg_query::Node* PartitionElem::mutable_opclass(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.opclass) - return _internal_mutable_opclass()->Mutable(index); +inline bool RangeTblEntry::_internal_funcordinality() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcordinality_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_opclass() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.opclass) +inline void RangeTblEntry::_internal_set_funcordinality(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_opclass(); + ; + _impl_.funcordinality_ = value; } -inline const ::pg_query::Node& PartitionElem::opclass(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.opclass) - return _internal_opclass().Get(index); + +// .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"]; +inline bool RangeTblEntry::has_tablefunc() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.tablefunc_ != nullptr); + return value; } -inline ::pg_query::Node* PartitionElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void RangeTblEntry::clear_tablefunc() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionElem.opclass) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::opclass() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionElem.opclass) - return _internal_opclass(); + if (_impl_.tablefunc_ != nullptr) _impl_.tablefunc_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionElem::_internal_opclass() const { +inline const ::pg_query::TableFunc& RangeTblEntry::_internal_tablefunc() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.opclass_; + const ::pg_query::TableFunc* p = _impl_.tablefunc_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableFunc_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionElem::_internal_mutable_opclass() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.opclass_; +inline const ::pg_query::TableFunc& RangeTblEntry::tablefunc() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablefunc) + return _internal_tablefunc(); } - -// int32 location = 5 [json_name = "location"]; -inline void PartitionElem::clear_location() { +inline void RangeTblEntry::unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t PartitionElem::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.location) - return _internal_location(); -} -inline void PartitionElem::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionElem.location) -} -inline ::int32_t PartitionElem::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablefunc_); + } + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablefunc) } -inline void PartitionElem::_internal_set_location(::int32_t value) { +inline ::pg_query::TableFunc* RangeTblEntry::release_tablefunc() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; -} - -// ------------------------------------------------------------------- -// PartitionSpec - -// .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; -inline void PartitionSpec::clear_strategy() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.strategy_ = 0; + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::TableFunc* released = _impl_.tablefunc_; + _impl_.tablefunc_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::PartitionStrategy PartitionSpec::strategy() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.strategy) - return _internal_strategy(); +inline ::pg_query::TableFunc* RangeTblEntry::unsafe_arena_release_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablefunc) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::TableFunc* temp = _impl_.tablefunc_; + _impl_.tablefunc_ = nullptr; + return temp; } -inline void PartitionSpec::set_strategy(::pg_query::PartitionStrategy value) { - _internal_set_strategy(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.strategy) +inline ::pg_query::TableFunc* RangeTblEntry::_internal_mutable_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.tablefunc_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(p); + } + return _impl_.tablefunc_; } -inline ::pg_query::PartitionStrategy PartitionSpec::_internal_strategy() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::PartitionStrategy>(_impl_.strategy_); +inline ::pg_query::TableFunc* RangeTblEntry::mutable_tablefunc() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableFunc* _msg = _internal_mutable_tablefunc(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablefunc) + return _msg; } -inline void PartitionSpec::_internal_set_strategy(::pg_query::PartitionStrategy value) { +inline void RangeTblEntry::set_allocated_tablefunc(::pg_query::TableFunc* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.strategy_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TableFunc*>(_impl_.tablefunc_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableFunc*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablefunc) } -// repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; -inline int PartitionSpec::_internal_part_params_size() const { - return _internal_part_params().size(); +// repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"]; +inline int RangeTblEntry::_internal_values_lists_size() const { + return _internal_values_lists().size(); } -inline int PartitionSpec::part_params_size() const { - return _internal_part_params_size(); +inline int RangeTblEntry::values_lists_size() const { + return _internal_values_lists_size(); } -inline void PartitionSpec::clear_part_params() { +inline void RangeTblEntry::clear_values_lists() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.part_params_.Clear(); + _impl_.values_lists_.Clear(); } -inline ::pg_query::Node* PartitionSpec::mutable_part_params(int index) +inline ::pg_query::Node* RangeTblEntry::mutable_values_lists(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionSpec.part_params) - return _internal_mutable_part_params()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.values_lists) + return _internal_mutable_values_lists()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionSpec::mutable_part_params() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_values_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionSpec.part_params) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.values_lists) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_part_params(); + return _internal_mutable_values_lists(); } -inline const ::pg_query::Node& PartitionSpec::part_params(int index) const +inline const ::pg_query::Node& RangeTblEntry::values_lists(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.part_params) - return _internal_part_params().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.values_lists) + return _internal_values_lists().Get(index); } -inline ::pg_query::Node* PartitionSpec::add_part_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblEntry::add_values_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_part_params()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionSpec.part_params) + ::pg_query::Node* _add = _internal_mutable_values_lists()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.values_lists) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionSpec::part_params() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::values_lists() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionSpec.part_params) - return _internal_part_params(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.values_lists) + return _internal_values_lists(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionSpec::_internal_part_params() const { +RangeTblEntry::_internal_values_lists() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.part_params_; + return _impl_.values_lists_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionSpec::_internal_mutable_part_params() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.part_params_; -} - -// int32 location = 3 [json_name = "location"]; -inline void PartitionSpec::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t PartitionSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.location) - return _internal_location(); -} -inline void PartitionSpec::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.location) -} -inline ::int32_t PartitionSpec::_internal_location() const { +RangeTblEntry::_internal_mutable_values_lists() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; -} -inline void PartitionSpec::_internal_set_location(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + return &_impl_.values_lists_; } -// ------------------------------------------------------------------- - -// PartitionBoundSpec - -// string strategy = 1 [json_name = "strategy"]; -inline void PartitionBoundSpec::clear_strategy() { +// string ctename = 22 [json_name = "ctename"]; +inline void RangeTblEntry::clear_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.strategy_.ClearToEmpty(); + _impl_.ctename_.ClearToEmpty(); } -inline const std::string& PartitionBoundSpec::strategy() const +inline const std::string& RangeTblEntry::ctename() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.strategy) - return _internal_strategy(); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctename) + return _internal_ctename(); } template -inline PROTOBUF_ALWAYS_INLINE void PartitionBoundSpec::set_strategy(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_ctename(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.strategy_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.strategy) + _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctename) } -inline std::string* PartitionBoundSpec::mutable_strategy() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_strategy(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.strategy) +inline std::string* RangeTblEntry::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_ctename(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.ctename) return _s; } -inline const std::string& PartitionBoundSpec::_internal_strategy() const { +inline const std::string& RangeTblEntry::_internal_ctename() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.strategy_.Get(); + return _impl_.ctename_.Get(); } -inline void PartitionBoundSpec::_internal_set_strategy(const std::string& value) { +inline void RangeTblEntry::_internal_set_ctename(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.strategy_.Set(value, GetArena()); + _impl_.ctename_.Set(value, GetArena()); } -inline std::string* PartitionBoundSpec::_internal_mutable_strategy() { +inline std::string* RangeTblEntry::_internal_mutable_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.strategy_.Mutable( GetArena()); + return _impl_.ctename_.Mutable( GetArena()); } -inline std::string* PartitionBoundSpec::release_strategy() { +inline std::string* RangeTblEntry::release_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionBoundSpec.strategy) - return _impl_.strategy_.Release(); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.ctename) + return _impl_.ctename_.Release(); } -inline void PartitionBoundSpec::set_allocated_strategy(std::string* value) { +inline void RangeTblEntry::set_allocated_ctename(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.strategy_.SetAllocated(value, GetArena()); + _impl_.ctename_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.strategy_.IsDefault()) { - _impl_.strategy_.Set("", GetArena()); + if (_impl_.ctename_.IsDefault()) { + _impl_.ctename_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionBoundSpec.strategy) -} - -// bool is_default = 2 [json_name = "is_default"]; -inline void PartitionBoundSpec::clear_is_default() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_default_ = false; -} -inline bool PartitionBoundSpec::is_default() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.is_default) - return _internal_is_default(); -} -inline void PartitionBoundSpec::set_is_default(bool value) { - _internal_set_is_default(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.is_default) -} -inline bool PartitionBoundSpec::_internal_is_default() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_default_; -} -inline void PartitionBoundSpec::_internal_set_is_default(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.is_default_ = value; + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.ctename) } -// int32 modulus = 3 [json_name = "modulus"]; -inline void PartitionBoundSpec::clear_modulus() { +// uint32 ctelevelsup = 23 [json_name = "ctelevelsup"]; +inline void RangeTblEntry::clear_ctelevelsup() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.modulus_ = 0; + _impl_.ctelevelsup_ = 0u; } -inline ::int32_t PartitionBoundSpec::modulus() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.modulus) - return _internal_modulus(); +inline ::uint32_t RangeTblEntry::ctelevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctelevelsup) + return _internal_ctelevelsup(); } -inline void PartitionBoundSpec::set_modulus(::int32_t value) { - _internal_set_modulus(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.modulus) +inline void RangeTblEntry::set_ctelevelsup(::uint32_t value) { + _internal_set_ctelevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctelevelsup) } -inline ::int32_t PartitionBoundSpec::_internal_modulus() const { +inline ::uint32_t RangeTblEntry::_internal_ctelevelsup() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.modulus_; + return _impl_.ctelevelsup_; } -inline void PartitionBoundSpec::_internal_set_modulus(::int32_t value) { +inline void RangeTblEntry::_internal_set_ctelevelsup(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.modulus_ = value; + _impl_.ctelevelsup_ = value; } -// int32 remainder = 4 [json_name = "remainder"]; -inline void PartitionBoundSpec::clear_remainder() { +// bool self_reference = 24 [json_name = "self_reference"]; +inline void RangeTblEntry::clear_self_reference() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.remainder_ = 0; + _impl_.self_reference_ = false; } -inline ::int32_t PartitionBoundSpec::remainder() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.remainder) - return _internal_remainder(); +inline bool RangeTblEntry::self_reference() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.self_reference) + return _internal_self_reference(); } -inline void PartitionBoundSpec::set_remainder(::int32_t value) { - _internal_set_remainder(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.remainder) +inline void RangeTblEntry::set_self_reference(bool value) { + _internal_set_self_reference(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.self_reference) } -inline ::int32_t PartitionBoundSpec::_internal_remainder() const { +inline bool RangeTblEntry::_internal_self_reference() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.remainder_; + return _impl_.self_reference_; } -inline void PartitionBoundSpec::_internal_set_remainder(::int32_t value) { +inline void RangeTblEntry::_internal_set_self_reference(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.remainder_ = value; + _impl_.self_reference_ = value; } -// repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; -inline int PartitionBoundSpec::_internal_listdatums_size() const { - return _internal_listdatums().size(); +// repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"]; +inline int RangeTblEntry::_internal_coltypes_size() const { + return _internal_coltypes().size(); } -inline int PartitionBoundSpec::listdatums_size() const { - return _internal_listdatums_size(); +inline int RangeTblEntry::coltypes_size() const { + return _internal_coltypes_size(); } -inline void PartitionBoundSpec::clear_listdatums() { +inline void RangeTblEntry::clear_coltypes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.listdatums_.Clear(); + _impl_.coltypes_.Clear(); } -inline ::pg_query::Node* PartitionBoundSpec::mutable_listdatums(int index) +inline ::pg_query::Node* RangeTblEntry::mutable_coltypes(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.listdatums) - return _internal_mutable_listdatums()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypes) + return _internal_mutable_coltypes()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_listdatums() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.listdatums) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypes) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_listdatums(); + return _internal_mutable_coltypes(); } -inline const ::pg_query::Node& PartitionBoundSpec::listdatums(int index) const +inline const ::pg_query::Node& RangeTblEntry::coltypes(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.listdatums) - return _internal_listdatums().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypes) + return _internal_coltypes().Get(index); } -inline ::pg_query::Node* PartitionBoundSpec::add_listdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblEntry::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_listdatums()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.listdatums) + ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypes) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::listdatums() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypes() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.listdatums) - return _internal_listdatums(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypes) + return _internal_coltypes(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionBoundSpec::_internal_listdatums() const { +RangeTblEntry::_internal_coltypes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.listdatums_; + return _impl_.coltypes_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionBoundSpec::_internal_mutable_listdatums() { +RangeTblEntry::_internal_mutable_coltypes() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.listdatums_; + return &_impl_.coltypes_; } -// repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; -inline int PartitionBoundSpec::_internal_lowerdatums_size() const { - return _internal_lowerdatums().size(); +// repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"]; +inline int RangeTblEntry::_internal_coltypmods_size() const { + return _internal_coltypmods().size(); } -inline int PartitionBoundSpec::lowerdatums_size() const { - return _internal_lowerdatums_size(); +inline int RangeTblEntry::coltypmods_size() const { + return _internal_coltypmods_size(); } -inline void PartitionBoundSpec::clear_lowerdatums() { +inline void RangeTblEntry::clear_coltypmods() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.lowerdatums_.Clear(); + _impl_.coltypmods_.Clear(); } -inline ::pg_query::Node* PartitionBoundSpec::mutable_lowerdatums(int index) +inline ::pg_query::Node* RangeTblEntry::mutable_coltypmods(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.lowerdatums) - return _internal_mutable_lowerdatums()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypmods) + return _internal_mutable_coltypmods()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_lowerdatums() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.lowerdatums) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypmods) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_lowerdatums(); + return _internal_mutable_coltypmods(); } -inline const ::pg_query::Node& PartitionBoundSpec::lowerdatums(int index) const +inline const ::pg_query::Node& RangeTblEntry::coltypmods(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.lowerdatums) - return _internal_lowerdatums().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypmods) + return _internal_coltypmods().Get(index); } -inline ::pg_query::Node* PartitionBoundSpec::add_lowerdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblEntry::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_lowerdatums()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.lowerdatums) + ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypmods) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::lowerdatums() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypmods() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.lowerdatums) - return _internal_lowerdatums(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypmods) + return _internal_coltypmods(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionBoundSpec::_internal_lowerdatums() const { +RangeTblEntry::_internal_coltypmods() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.lowerdatums_; + return _impl_.coltypmods_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionBoundSpec::_internal_mutable_lowerdatums() { +RangeTblEntry::_internal_mutable_coltypmods() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.lowerdatums_; + return &_impl_.coltypmods_; } -// repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; -inline int PartitionBoundSpec::_internal_upperdatums_size() const { - return _internal_upperdatums().size(); +// repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"]; +inline int RangeTblEntry::_internal_colcollations_size() const { + return _internal_colcollations().size(); } -inline int PartitionBoundSpec::upperdatums_size() const { - return _internal_upperdatums_size(); +inline int RangeTblEntry::colcollations_size() const { + return _internal_colcollations_size(); } -inline void PartitionBoundSpec::clear_upperdatums() { +inline void RangeTblEntry::clear_colcollations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.upperdatums_.Clear(); + _impl_.colcollations_.Clear(); } -inline ::pg_query::Node* PartitionBoundSpec::mutable_upperdatums(int index) +inline ::pg_query::Node* RangeTblEntry::mutable_colcollations(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.upperdatums) - return _internal_mutable_upperdatums()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.colcollations) + return _internal_mutable_colcollations()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_upperdatums() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.upperdatums) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.colcollations) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_upperdatums(); + return _internal_mutable_colcollations(); } -inline const ::pg_query::Node& PartitionBoundSpec::upperdatums(int index) const +inline const ::pg_query::Node& RangeTblEntry::colcollations(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.upperdatums) - return _internal_upperdatums().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.colcollations) + return _internal_colcollations().Get(index); } -inline ::pg_query::Node* PartitionBoundSpec::add_upperdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblEntry::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_upperdatums()->Add(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.upperdatums) + ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.colcollations) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::upperdatums() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::colcollations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.upperdatums) - return _internal_upperdatums(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.colcollations) + return _internal_colcollations(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -PartitionBoundSpec::_internal_upperdatums() const { +RangeTblEntry::_internal_colcollations() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.upperdatums_; + return _impl_.colcollations_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -PartitionBoundSpec::_internal_mutable_upperdatums() { +RangeTblEntry::_internal_mutable_colcollations() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.upperdatums_; + return &_impl_.colcollations_; } -// int32 location = 8 [json_name = "location"]; -inline void PartitionBoundSpec::clear_location() { +// string enrname = 28 [json_name = "enrname"]; +inline void RangeTblEntry::clear_enrname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t PartitionBoundSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.location) - return _internal_location(); -} -inline void PartitionBoundSpec::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.location) + _impl_.enrname_.ClearToEmpty(); } -inline ::int32_t PartitionBoundSpec::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline const std::string& RangeTblEntry::enrname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrname) + return _internal_enrname(); } -inline void PartitionBoundSpec::_internal_set_location(::int32_t value) { +template +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_enrname(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; -} - -// ------------------------------------------------------------------- - -// PartitionRangeDatum - -// .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; -inline void PartitionRangeDatum::clear_kind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.kind_ = 0; -} -inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::kind() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.kind) - return _internal_kind(); + _impl_.enrname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrname) } -inline void PartitionRangeDatum::set_kind(::pg_query::PartitionRangeDatumKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.kind) +inline std::string* RangeTblEntry::mutable_enrname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_enrname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.enrname) + return _s; } -inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::_internal_kind() const { +inline const std::string& RangeTblEntry::_internal_enrname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::PartitionRangeDatumKind>(_impl_.kind_); + return _impl_.enrname_.Get(); } -inline void PartitionRangeDatum::_internal_set_kind(::pg_query::PartitionRangeDatumKind value) { +inline void RangeTblEntry::_internal_set_enrname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.kind_ = value; -} - -// .pg_query.Node value = 2 [json_name = "value"]; -inline bool PartitionRangeDatum::has_value() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); - return value; + _impl_.enrname_.Set(value, GetArena()); } -inline void PartitionRangeDatum::clear_value() { +inline std::string* RangeTblEntry::_internal_mutable_enrname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.value_ != nullptr) _impl_.value_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; -} -inline const ::pg_query::Node& PartitionRangeDatum::_internal_value() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.value_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& PartitionRangeDatum::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.value) - return _internal_value(); + ; + return _impl_.enrname_.Mutable( GetArena()); } -inline void PartitionRangeDatum::unsafe_arena_set_allocated_value(::pg_query::Node* value) { +inline std::string* RangeTblEntry::release_enrname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); - } - _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionRangeDatum.value) + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.enrname) + return _impl_.enrname_.Release(); } -inline ::pg_query::Node* PartitionRangeDatum::release_value() { +inline void RangeTblEntry::set_allocated_enrname(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.value_; - _impl_.value_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + _impl_.enrname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.enrname_.IsDefault()) { + _impl_.enrname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.enrname) } -inline ::pg_query::Node* PartitionRangeDatum::unsafe_arena_release_value() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionRangeDatum.value) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.value_; - _impl_.value_ = nullptr; - return temp; -} -inline ::pg_query::Node* PartitionRangeDatum::_internal_mutable_value() { +// double enrtuples = 29 [json_name = "enrtuples"]; +inline void RangeTblEntry::clear_enrtuples() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.value_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.value_ = reinterpret_cast<::pg_query::Node*>(p); - } - return _impl_.value_; + _impl_.enrtuples_ = 0; } -inline ::pg_query::Node* PartitionRangeDatum::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_value(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionRangeDatum.value) - return _msg; +inline double RangeTblEntry::enrtuples() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrtuples) + return _internal_enrtuples(); } -inline void PartitionRangeDatum::set_allocated_value(::pg_query::Node* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void RangeTblEntry::set_enrtuples(double value) { + _internal_set_enrtuples(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrtuples) +} +inline double RangeTblEntry::_internal_enrtuples() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.enrtuples_; +} +inline void RangeTblEntry::_internal_set_enrtuples(double value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.value_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionRangeDatum.value) + ; + _impl_.enrtuples_ = value; } -// int32 location = 3 [json_name = "location"]; -inline void PartitionRangeDatum::clear_location() { +// bool lateral = 30 [json_name = "lateral"]; +inline void RangeTblEntry::clear_lateral() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.lateral_ = false; } -inline ::int32_t PartitionRangeDatum::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.location) - return _internal_location(); +inline bool RangeTblEntry::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.lateral) + return _internal_lateral(); } -inline void PartitionRangeDatum::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.location) +inline void RangeTblEntry::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.lateral) } -inline ::int32_t PartitionRangeDatum::_internal_location() const { +inline bool RangeTblEntry::_internal_lateral() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.lateral_; } -inline void PartitionRangeDatum::_internal_set_location(::int32_t value) { +inline void RangeTblEntry::_internal_set_lateral(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.lateral_ = value; } -// ------------------------------------------------------------------- - -// PartitionCmd - -// .pg_query.RangeVar name = 1 [json_name = "name"]; -inline bool PartitionCmd::has_name() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.name_ != nullptr); - return value; -} -inline void PartitionCmd::clear_name() { +// bool in_from_cl = 31 [json_name = "inFromCl"]; +inline void RangeTblEntry::clear_in_from_cl() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.name_ != nullptr) _impl_.name_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_.in_from_cl_ = false; } -inline const ::pg_query::RangeVar& PartitionCmd::_internal_name() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::RangeVar* p = _impl_.name_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +inline bool RangeTblEntry::in_from_cl() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.in_from_cl) + return _internal_in_from_cl(); } -inline const ::pg_query::RangeVar& PartitionCmd::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.name) - return _internal_name(); +inline void RangeTblEntry::set_in_from_cl(bool value) { + _internal_set_in_from_cl(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.in_from_cl) } -inline void PartitionCmd::unsafe_arena_set_allocated_name(::pg_query::RangeVar* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.name_); - } - _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.name) +inline bool RangeTblEntry::_internal_in_from_cl() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_from_cl_; } -inline ::pg_query::RangeVar* PartitionCmd::release_name() { +inline void RangeTblEntry::_internal_set_in_from_cl(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* released = _impl_.name_; - _impl_.name_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + ; + _impl_.in_from_cl_ = value; } -inline ::pg_query::RangeVar* PartitionCmd::unsafe_arena_release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.name) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::RangeVar* temp = _impl_.name_; - _impl_.name_ = nullptr; - return temp; -} -inline ::pg_query::RangeVar* PartitionCmd::_internal_mutable_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); - _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(p); - } - return _impl_.name_; +// repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; +inline int RangeTblEntry::_internal_security_quals_size() const { + return _internal_security_quals().size(); } -inline ::pg_query::RangeVar* PartitionCmd::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::RangeVar* _msg = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.name) - return _msg; +inline int RangeTblEntry::security_quals_size() const { + return _internal_security_quals_size(); } -inline void PartitionCmd::set_allocated_name(::pg_query::RangeVar* value) { - ::google::protobuf::Arena* message_arena = GetArena(); +inline void RangeTblEntry::clear_security_quals() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.name_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.name) + _impl_.security_quals_.Clear(); } - -// .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; -inline bool PartitionCmd::has_bound() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.bound_ != nullptr); - return value; +inline ::pg_query::Node* RangeTblEntry::mutable_security_quals(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.security_quals) + return _internal_mutable_security_quals()->Mutable(index); } -inline void PartitionCmd::clear_bound() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_security_quals() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.security_quals) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.bound_ != nullptr) _impl_.bound_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; -} -inline const ::pg_query::PartitionBoundSpec& PartitionCmd::_internal_bound() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::PartitionBoundSpec* p = _impl_.bound_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_PartitionBoundSpec_default_instance_); -} -inline const ::pg_query::PartitionBoundSpec& PartitionCmd::bound() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.bound) - return _internal_bound(); + return _internal_mutable_security_quals(); } -inline void PartitionCmd::unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.bound_); - } - _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.bound) +inline const ::pg_query::Node& RangeTblEntry::security_quals(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_quals) + return _internal_security_quals().Get(index); } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::release_bound() { +inline ::pg_query::Node* RangeTblEntry::add_security_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::PartitionBoundSpec* released = _impl_.bound_; - _impl_.bound_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; + ::pg_query::Node* _add = _internal_mutable_security_quals()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.security_quals) + return _add; } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::unsafe_arena_release_bound() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.bound) - - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::PartitionBoundSpec* temp = _impl_.bound_; - _impl_.bound_ = nullptr; - return temp; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::security_quals() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.security_quals) + return _internal_security_quals(); } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::_internal_mutable_bound() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.bound_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); - _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(p); - } - return _impl_.bound_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_security_quals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.security_quals_; } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::mutable_bound() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_bound(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.bound) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_security_quals() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.security_quals_; } -inline void PartitionCmd::set_allocated_bound(::pg_query::PartitionBoundSpec* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::PartitionBoundSpec*>(_impl_.bound_); - } - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000002u; - } else { - _impl_._has_bits_[0] &= ~0x00000002u; - } +// ------------------------------------------------------------------- - _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.bound) -} +// RTEPermissionInfo -// bool concurrent = 3 [json_name = "concurrent"]; -inline void PartitionCmd::clear_concurrent() { +// uint32 relid = 1 [json_name = "relid"]; +inline void RTEPermissionInfo::clear_relid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.concurrent_ = false; + _impl_.relid_ = 0u; } -inline bool PartitionCmd::concurrent() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.concurrent) - return _internal_concurrent(); +inline ::uint32_t RTEPermissionInfo::relid() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.relid) + return _internal_relid(); } -inline void PartitionCmd::set_concurrent(bool value) { - _internal_set_concurrent(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionCmd.concurrent) +inline void RTEPermissionInfo::set_relid(::uint32_t value) { + _internal_set_relid(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.relid) } -inline bool PartitionCmd::_internal_concurrent() const { +inline ::uint32_t RTEPermissionInfo::_internal_relid() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.concurrent_; + return _impl_.relid_; } -inline void PartitionCmd::_internal_set_concurrent(bool value) { +inline void RTEPermissionInfo::_internal_set_relid(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.concurrent_ = value; + _impl_.relid_ = value; } -// ------------------------------------------------------------------- - -// RangeTblEntry - -// .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"]; -inline void RangeTblEntry::clear_rtekind() { +// bool inh = 2 [json_name = "inh"]; +inline void RTEPermissionInfo::clear_inh() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rtekind_ = 0; + _impl_.inh_ = false; } -inline ::pg_query::RTEKind RangeTblEntry::rtekind() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rtekind) - return _internal_rtekind(); +inline bool RTEPermissionInfo::inh() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inh) + return _internal_inh(); } -inline void RangeTblEntry::set_rtekind(::pg_query::RTEKind value) { - _internal_set_rtekind(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rtekind) +inline void RTEPermissionInfo::set_inh(bool value) { + _internal_set_inh(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inh) } -inline ::pg_query::RTEKind RangeTblEntry::_internal_rtekind() const { +inline bool RTEPermissionInfo::_internal_inh() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::RTEKind>(_impl_.rtekind_); + return _impl_.inh_; } -inline void RangeTblEntry::_internal_set_rtekind(::pg_query::RTEKind value) { +inline void RTEPermissionInfo::_internal_set_inh(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.rtekind_ = value; + _impl_.inh_ = value; } -// uint32 relid = 2 [json_name = "relid"]; -inline void RangeTblEntry::clear_relid() { +// uint64 required_perms = 3 [json_name = "requiredPerms"]; +inline void RTEPermissionInfo::clear_required_perms() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relid_ = 0u; + _impl_.required_perms_ = ::uint64_t{0u}; } -inline ::uint32_t RangeTblEntry::relid() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relid) - return _internal_relid(); +inline ::uint64_t RTEPermissionInfo::required_perms() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.required_perms) + return _internal_required_perms(); } -inline void RangeTblEntry::set_relid(::uint32_t value) { - _internal_set_relid(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relid) +inline void RTEPermissionInfo::set_required_perms(::uint64_t value) { + _internal_set_required_perms(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.required_perms) } -inline ::uint32_t RangeTblEntry::_internal_relid() const { +inline ::uint64_t RTEPermissionInfo::_internal_required_perms() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relid_; + return _impl_.required_perms_; } -inline void RangeTblEntry::_internal_set_relid(::uint32_t value) { +inline void RTEPermissionInfo::_internal_set_required_perms(::uint64_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relid_ = value; + _impl_.required_perms_ = value; } -// string relkind = 3 [json_name = "relkind"]; -inline void RangeTblEntry::clear_relkind() { +// uint32 check_as_user = 4 [json_name = "checkAsUser"]; +inline void RTEPermissionInfo::clear_check_as_user() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relkind_.ClearToEmpty(); -} -inline const std::string& RangeTblEntry::relkind() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relkind) - return _internal_relkind(); + _impl_.check_as_user_ = 0u; } -template -inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_relkind(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.relkind_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relkind) +inline ::uint32_t RTEPermissionInfo::check_as_user() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.check_as_user) + return _internal_check_as_user(); } -inline std::string* RangeTblEntry::mutable_relkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_relkind(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.relkind) - return _s; +inline void RTEPermissionInfo::set_check_as_user(::uint32_t value) { + _internal_set_check_as_user(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.check_as_user) } -inline const std::string& RangeTblEntry::_internal_relkind() const { +inline ::uint32_t RTEPermissionInfo::_internal_check_as_user() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relkind_.Get(); + return _impl_.check_as_user_; } -inline void RangeTblEntry::_internal_set_relkind(const std::string& value) { +inline void RTEPermissionInfo::_internal_set_check_as_user(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relkind_.Set(value, GetArena()); + _impl_.check_as_user_ = value; } -inline std::string* RangeTblEntry::_internal_mutable_relkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.relkind_.Mutable( GetArena()); + +// repeated uint64 selected_cols = 5 [json_name = "selectedCols"]; +inline int RTEPermissionInfo::_internal_selected_cols_size() const { + return _internal_selected_cols().size(); } -inline std::string* RangeTblEntry::release_relkind() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.relkind) - return _impl_.relkind_.Release(); +inline int RTEPermissionInfo::selected_cols_size() const { + return _internal_selected_cols_size(); } -inline void RangeTblEntry::set_allocated_relkind(std::string* value) { +inline void RTEPermissionInfo::clear_selected_cols() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relkind_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relkind_.IsDefault()) { - _impl_.relkind_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.relkind) + _impl_.selected_cols_.Clear(); } - -// int32 rellockmode = 4 [json_name = "rellockmode"]; -inline void RangeTblEntry::clear_rellockmode() { +inline ::uint64_t RTEPermissionInfo::selected_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.selected_cols) + return _internal_selected_cols().Get(index); +} +inline void RTEPermissionInfo::set_selected_cols(int index, ::uint64_t value) { + _internal_mutable_selected_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.selected_cols) +} +inline void RTEPermissionInfo::add_selected_cols(::uint64_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rellockmode_ = 0; + _internal_mutable_selected_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.selected_cols) } -inline ::int32_t RangeTblEntry::rellockmode() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rellockmode) - return _internal_rellockmode(); +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::selected_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.selected_cols) + return _internal_selected_cols(); } -inline void RangeTblEntry::set_rellockmode(::int32_t value) { - _internal_set_rellockmode(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rellockmode) +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_selected_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.selected_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_selected_cols(); } -inline ::int32_t RangeTblEntry::_internal_rellockmode() const { +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_selected_cols() + const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rellockmode_; + return _impl_.selected_cols_; } -inline void RangeTblEntry::_internal_set_rellockmode(::int32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.rellockmode_ = value; +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_selected_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.selected_cols_; } -// .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"]; -inline bool RangeTblEntry::has_tablesample() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.tablesample_ != nullptr); - return value; +// repeated uint64 inserted_cols = 6 [json_name = "insertedCols"]; +inline int RTEPermissionInfo::_internal_inserted_cols_size() const { + return _internal_inserted_cols().size(); } -inline void RangeTblEntry::clear_tablesample() { +inline int RTEPermissionInfo::inserted_cols_size() const { + return _internal_inserted_cols_size(); +} +inline void RTEPermissionInfo::clear_inserted_cols() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.tablesample_ != nullptr) _impl_.tablesample_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_.inserted_cols_.Clear(); } -inline const ::pg_query::TableSampleClause& RangeTblEntry::_internal_tablesample() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TableSampleClause* p = _impl_.tablesample_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableSampleClause_default_instance_); +inline ::uint64_t RTEPermissionInfo::inserted_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inserted_cols) + return _internal_inserted_cols().Get(index); } -inline const ::pg_query::TableSampleClause& RangeTblEntry::tablesample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablesample) - return _internal_tablesample(); +inline void RTEPermissionInfo::set_inserted_cols(int index, ::uint64_t value) { + _internal_mutable_inserted_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inserted_cols) } -inline void RangeTblEntry::unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value) { +inline void RTEPermissionInfo::add_inserted_cols(::uint64_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablesample_); - } - _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); - if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablesample) + _internal_mutable_inserted_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.inserted_cols) } -inline ::pg_query::TableSampleClause* RangeTblEntry::release_tablesample() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TableSampleClause* released = _impl_.tablesample_; - _impl_.tablesample_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - if (GetArena() == nullptr) { - delete old; - } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArena() != nullptr) { - released = ::google::protobuf::internal::DuplicateIfNonNull(released); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return released; +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::inserted_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.inserted_cols) + return _internal_inserted_cols(); } -inline ::pg_query::TableSampleClause* RangeTblEntry::unsafe_arena_release_tablesample() { +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_inserted_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.inserted_cols) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablesample) + return _internal_mutable_inserted_cols(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_inserted_cols() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inserted_cols_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_inserted_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.inserted_cols_; +} - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TableSampleClause* temp = _impl_.tablesample_; - _impl_.tablesample_ = nullptr; - return temp; +// repeated uint64 updated_cols = 7 [json_name = "updatedCols"]; +inline int RTEPermissionInfo::_internal_updated_cols_size() const { + return _internal_updated_cols().size(); } -inline ::pg_query::TableSampleClause* RangeTblEntry::_internal_mutable_tablesample() { +inline int RTEPermissionInfo::updated_cols_size() const { + return _internal_updated_cols_size(); +} +inline void RTEPermissionInfo::clear_updated_cols() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.tablesample_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); - _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(p); - } - return _impl_.tablesample_; + _impl_.updated_cols_.Clear(); } -inline ::pg_query::TableSampleClause* RangeTblEntry::mutable_tablesample() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TableSampleClause* _msg = _internal_mutable_tablesample(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablesample) - return _msg; +inline ::uint64_t RTEPermissionInfo::updated_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.updated_cols) + return _internal_updated_cols().Get(index); } -inline void RangeTblEntry::set_allocated_tablesample(::pg_query::TableSampleClause* value) { - ::google::protobuf::Arena* message_arena = GetArena(); - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TableSampleClause*>(_impl_.tablesample_); - } - - if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableSampleClause*>(value)->GetArena(); - if (message_arena != submessage_arena) { - value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); - } - _impl_._has_bits_[0] |= 0x00000001u; - } else { - _impl_._has_bits_[0] &= ~0x00000001u; - } - - _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablesample) +inline void RTEPermissionInfo::set_updated_cols(int index, ::uint64_t value) { + _internal_mutable_updated_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.updated_cols) } - -// uint32 perminfoindex = 6 [json_name = "perminfoindex"]; -inline void RangeTblEntry::clear_perminfoindex() { +inline void RTEPermissionInfo::add_updated_cols(::uint64_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.perminfoindex_ = 0u; + _internal_mutable_updated_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.updated_cols) } -inline ::uint32_t RangeTblEntry::perminfoindex() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.perminfoindex) - return _internal_perminfoindex(); +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::updated_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.updated_cols) + return _internal_updated_cols(); } -inline void RangeTblEntry::set_perminfoindex(::uint32_t value) { - _internal_set_perminfoindex(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.perminfoindex) +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_updated_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.updated_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_updated_cols(); } -inline ::uint32_t RangeTblEntry::_internal_perminfoindex() const { +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_updated_cols() + const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.perminfoindex_; + return _impl_.updated_cols_; } -inline void RangeTblEntry::_internal_set_perminfoindex(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.perminfoindex_ = value; +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_updated_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.updated_cols_; } -// .pg_query.Query subquery = 7 [json_name = "subquery"]; -inline bool RangeTblEntry::has_subquery() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); +// ------------------------------------------------------------------- + +// RangeTblFunction + +// .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; +inline bool RangeTblFunction::has_funcexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.funcexpr_ != nullptr); return value; } -inline void RangeTblEntry::clear_subquery() { +inline void RangeTblFunction::clear_funcexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.funcexpr_ != nullptr) _impl_.funcexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Query& RangeTblEntry::_internal_subquery() const { +inline const ::pg_query::Node& RangeTblFunction::_internal_funcexpr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Query* p = _impl_.subquery_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Query_default_instance_); + const ::pg_query::Node* p = _impl_.funcexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Query& RangeTblEntry::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.subquery) - return _internal_subquery(); +inline const ::pg_query::Node& RangeTblFunction::funcexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcexpr) + return _internal_funcexpr(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_subquery(::pg_query::Query* value) { +inline void RangeTblFunction::unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.funcexpr_); } - _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.subquery) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblFunction.funcexpr) } -inline ::pg_query::Query* RangeTblEntry::release_subquery() { +inline ::pg_query::Node* RangeTblFunction::release_funcexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Query* released = _impl_.subquery_; - _impl_.subquery_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -119203,305 +129605,429 @@ inline ::pg_query::Query* RangeTblEntry::release_subquery() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Query* RangeTblEntry::unsafe_arena_release_subquery() { +inline ::pg_query::Node* RangeTblFunction::unsafe_arena_release_funcexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.subquery) + // @@protoc_insertion_point(field_release:pg_query.RangeTblFunction.funcexpr) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Query* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; return temp; } -inline ::pg_query::Query* RangeTblEntry::_internal_mutable_subquery() { +inline ::pg_query::Node* RangeTblFunction::_internal_mutable_funcexpr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.subquery_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Query>(GetArena()); - _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.funcexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.subquery_; + return _impl_.funcexpr_; } -inline ::pg_query::Query* RangeTblEntry::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Query* _msg = _internal_mutable_subquery(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.subquery) +inline ::pg_query::Node* RangeTblFunction::mutable_funcexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_funcexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funcexpr) return _msg; } -inline void RangeTblEntry::set_allocated_subquery(::pg_query::Query* value) { +inline void RangeTblFunction::set_allocated_funcexpr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Query*>(_impl_.subquery_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.funcexpr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Query*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.subquery) + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblFunction.funcexpr) } -// bool security_barrier = 8 [json_name = "security_barrier"]; -inline void RangeTblEntry::clear_security_barrier() { +// int32 funccolcount = 2 [json_name = "funccolcount"]; +inline void RangeTblFunction::clear_funccolcount() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.security_barrier_ = false; + _impl_.funccolcount_ = 0; } -inline bool RangeTblEntry::security_barrier() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_barrier) - return _internal_security_barrier(); +inline ::int32_t RangeTblFunction::funccolcount() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcount) + return _internal_funccolcount(); } -inline void RangeTblEntry::set_security_barrier(bool value) { - _internal_set_security_barrier(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.security_barrier) +inline void RangeTblFunction::set_funccolcount(::int32_t value) { + _internal_set_funccolcount(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funccolcount) } -inline bool RangeTblEntry::_internal_security_barrier() const { +inline ::int32_t RangeTblFunction::_internal_funccolcount() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.security_barrier_; + return _impl_.funccolcount_; } -inline void RangeTblEntry::_internal_set_security_barrier(bool value) { +inline void RangeTblFunction::_internal_set_funccolcount(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.security_barrier_ = value; + _impl_.funccolcount_ = value; } -// .pg_query.JoinType jointype = 9 [json_name = "jointype"]; -inline void RangeTblEntry::clear_jointype() { +// repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; +inline int RangeTblFunction::_internal_funccolnames_size() const { + return _internal_funccolnames().size(); +} +inline int RangeTblFunction::funccolnames_size() const { + return _internal_funccolnames_size(); +} +inline void RangeTblFunction::clear_funccolnames() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.jointype_ = 0; + _impl_.funccolnames_.Clear(); } -inline ::pg_query::JoinType RangeTblEntry::jointype() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.jointype) - return _internal_jointype(); +inline ::pg_query::Node* RangeTblFunction::mutable_funccolnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolnames) + return _internal_mutable_funccolnames()->Mutable(index); } -inline void RangeTblEntry::set_jointype(::pg_query::JoinType value) { - _internal_set_jointype(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.jointype) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccolnames(); } -inline ::pg_query::JoinType RangeTblEntry::_internal_jointype() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::JoinType>(_impl_.jointype_); +inline const ::pg_query::Node& RangeTblFunction::funccolnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolnames) + return _internal_funccolnames().Get(index); } -inline void RangeTblEntry::_internal_set_jointype(::pg_query::JoinType value) { +inline ::pg_query::Node* RangeTblFunction::add_funccolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.jointype_ = value; + ::pg_query::Node* _add = _internal_mutable_funccolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolnames) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolnames) + return _internal_funccolnames(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccolnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccolnames_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccolnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccolnames_; } -// int32 joinmergedcols = 10 [json_name = "joinmergedcols"]; -inline void RangeTblEntry::clear_joinmergedcols() { +// repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; +inline int RangeTblFunction::_internal_funccoltypes_size() const { + return _internal_funccoltypes().size(); +} +inline int RangeTblFunction::funccoltypes_size() const { + return _internal_funccoltypes_size(); +} +inline void RangeTblFunction::clear_funccoltypes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.joinmergedcols_ = 0; + _impl_.funccoltypes_.Clear(); } -inline ::int32_t RangeTblEntry::joinmergedcols() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinmergedcols) - return _internal_joinmergedcols(); +inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypes) + return _internal_mutable_funccoltypes()->Mutable(index); } -inline void RangeTblEntry::set_joinmergedcols(::int32_t value) { - _internal_set_joinmergedcols(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.joinmergedcols) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccoltypes(); } -inline ::int32_t RangeTblEntry::_internal_joinmergedcols() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.joinmergedcols_; +inline const ::pg_query::Node& RangeTblFunction::funccoltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypes) + return _internal_funccoltypes().Get(index); } -inline void RangeTblEntry::_internal_set_joinmergedcols(::int32_t value) { +inline ::pg_query::Node* RangeTblFunction::add_funccoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.joinmergedcols_ = value; + ::pg_query::Node* _add = _internal_mutable_funccoltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypes) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypes) + return _internal_funccoltypes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccoltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccoltypes_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccoltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccoltypes_; } -// repeated .pg_query.Node joinaliasvars = 11 [json_name = "joinaliasvars"]; -inline int RangeTblEntry::_internal_joinaliasvars_size() const { - return _internal_joinaliasvars().size(); +// repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; +inline int RangeTblFunction::_internal_funccoltypmods_size() const { + return _internal_funccoltypmods().size(); } -inline int RangeTblEntry::joinaliasvars_size() const { - return _internal_joinaliasvars_size(); +inline int RangeTblFunction::funccoltypmods_size() const { + return _internal_funccoltypmods_size(); } -inline void RangeTblEntry::clear_joinaliasvars() { +inline void RangeTblFunction::clear_funccoltypmods() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.joinaliasvars_.Clear(); + _impl_.funccoltypmods_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::mutable_joinaliasvars(int index) +inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypmods(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinaliasvars) - return _internal_mutable_joinaliasvars()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypmods) + return _internal_mutable_funccoltypmods()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinaliasvars() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinaliasvars) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypmods) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_joinaliasvars(); + return _internal_mutable_funccoltypmods(); } -inline const ::pg_query::Node& RangeTblEntry::joinaliasvars(int index) const +inline const ::pg_query::Node& RangeTblFunction::funccoltypmods(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinaliasvars) - return _internal_joinaliasvars().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypmods) + return _internal_funccoltypmods().Get(index); } -inline ::pg_query::Node* RangeTblEntry::add_joinaliasvars() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblFunction::add_funccoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_joinaliasvars()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinaliasvars) + ::pg_query::Node* _add = _internal_mutable_funccoltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypmods) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinaliasvars() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypmods() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinaliasvars) - return _internal_joinaliasvars(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypmods) + return _internal_funccoltypmods(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_joinaliasvars() const { +RangeTblFunction::_internal_funccoltypmods() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.joinaliasvars_; + return _impl_.funccoltypmods_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_joinaliasvars() { +RangeTblFunction::_internal_mutable_funccoltypmods() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.joinaliasvars_; + return &_impl_.funccoltypmods_; } -// repeated .pg_query.Node joinleftcols = 12 [json_name = "joinleftcols"]; -inline int RangeTblEntry::_internal_joinleftcols_size() const { - return _internal_joinleftcols().size(); +// repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; +inline int RangeTblFunction::_internal_funccolcollations_size() const { + return _internal_funccolcollations().size(); } -inline int RangeTblEntry::joinleftcols_size() const { - return _internal_joinleftcols_size(); +inline int RangeTblFunction::funccolcollations_size() const { + return _internal_funccolcollations_size(); } -inline void RangeTblEntry::clear_joinleftcols() { +inline void RangeTblFunction::clear_funccolcollations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.joinleftcols_.Clear(); + _impl_.funccolcollations_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::mutable_joinleftcols(int index) +inline ::pg_query::Node* RangeTblFunction::mutable_funccolcollations(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinleftcols) - return _internal_mutable_joinleftcols()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolcollations) + return _internal_mutable_funccolcollations()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinleftcols() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinleftcols) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolcollations) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_joinleftcols(); + return _internal_mutable_funccolcollations(); } -inline const ::pg_query::Node& RangeTblEntry::joinleftcols(int index) const +inline const ::pg_query::Node& RangeTblFunction::funccolcollations(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinleftcols) - return _internal_joinleftcols().Get(index); + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcollations) + return _internal_funccolcollations().Get(index); } -inline ::pg_query::Node* RangeTblEntry::add_joinleftcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* RangeTblFunction::add_funccolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_joinleftcols()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinleftcols) + ::pg_query::Node* _add = _internal_mutable_funccolcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolcollations) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinleftcols() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolcollations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinleftcols) - return _internal_joinleftcols(); + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolcollations) + return _internal_funccolcollations(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_joinleftcols() const { +RangeTblFunction::_internal_funccolcollations() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.joinleftcols_; + return _impl_.funccolcollations_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_joinleftcols() { +RangeTblFunction::_internal_mutable_funccolcollations() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.joinleftcols_; + return &_impl_.funccolcollations_; } -// repeated .pg_query.Node joinrightcols = 13 [json_name = "joinrightcols"]; -inline int RangeTblEntry::_internal_joinrightcols_size() const { - return _internal_joinrightcols().size(); +// repeated uint64 funcparams = 7 [json_name = "funcparams"]; +inline int RangeTblFunction::_internal_funcparams_size() const { + return _internal_funcparams().size(); } -inline int RangeTblEntry::joinrightcols_size() const { - return _internal_joinrightcols_size(); +inline int RangeTblFunction::funcparams_size() const { + return _internal_funcparams_size(); } -inline void RangeTblEntry::clear_joinrightcols() { +inline void RangeTblFunction::clear_funcparams() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.joinrightcols_.Clear(); + _impl_.funcparams_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::mutable_joinrightcols(int index) +inline ::uint64_t RangeTblFunction::funcparams(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcparams) + return _internal_funcparams().Get(index); +} +inline void RangeTblFunction::set_funcparams(int index, ::uint64_t value) { + _internal_mutable_funcparams()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funcparams) +} +inline void RangeTblFunction::add_funcparams(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_funcparams()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funcparams) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::funcparams() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinrightcols) - return _internal_mutable_joinrightcols()->Mutable(index); + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funcparams) + return _internal_funcparams(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinrightcols() +inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::mutable_funcparams() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinrightcols) + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funcparams) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_joinrightcols(); + return _internal_mutable_funcparams(); } -inline const ::pg_query::Node& RangeTblEntry::joinrightcols(int index) const +inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::_internal_funcparams() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcparams_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::_internal_mutable_funcparams() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcparams_; +} + +// ------------------------------------------------------------------- + +// TableSampleClause + +// uint32 tsmhandler = 1 [json_name = "tsmhandler"]; +inline void TableSampleClause::clear_tsmhandler() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tsmhandler_ = 0u; +} +inline ::uint32_t TableSampleClause::tsmhandler() const { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.tsmhandler) + return _internal_tsmhandler(); +} +inline void TableSampleClause::set_tsmhandler(::uint32_t value) { + _internal_set_tsmhandler(value); + // @@protoc_insertion_point(field_set:pg_query.TableSampleClause.tsmhandler) +} +inline ::uint32_t TableSampleClause::_internal_tsmhandler() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tsmhandler_; +} +inline void TableSampleClause::_internal_set_tsmhandler(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tsmhandler_ = value; +} + +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int TableSampleClause::_internal_args_size() const { + return _internal_args().size(); +} +inline int TableSampleClause::args_size() const { + return _internal_args_size(); +} +inline void TableSampleClause::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* TableSampleClause::mutable_args(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinrightcols) - return _internal_joinrightcols().Get(index); + // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.args) + return _internal_mutable_args()->Mutable(index); } -inline ::pg_query::Node* RangeTblEntry::add_joinrightcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableSampleClause::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableSampleClause.args) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_joinrightcols()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinrightcols) + return _internal_mutable_args(); +} +inline const ::pg_query::Node& TableSampleClause::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* TableSampleClause::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableSampleClause.args) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinrightcols() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableSampleClause::args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinrightcols) - return _internal_joinrightcols(); + // @@protoc_insertion_point(field_list:pg_query.TableSampleClause.args) + return _internal_args(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_joinrightcols() const { +TableSampleClause::_internal_args() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.joinrightcols_; + return _impl_.args_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_joinrightcols() { +TableSampleClause::_internal_mutable_args() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.joinrightcols_; + return &_impl_.args_; } -// .pg_query.Alias join_using_alias = 14 [json_name = "join_using_alias"]; -inline bool RangeTblEntry::has_join_using_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); +// .pg_query.Node repeatable = 3 [json_name = "repeatable"]; +inline bool TableSampleClause::has_repeatable() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); return value; } -inline void RangeTblEntry::clear_join_using_alias() { +inline void TableSampleClause::clear_repeatable() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000004u; + if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeTblEntry::_internal_join_using_alias() const { +inline const ::pg_query::Node& TableSampleClause::_internal_repeatable() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.join_using_alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.repeatable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeTblEntry::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.join_using_alias) - return _internal_join_using_alias(); +inline const ::pg_query::Node& TableSampleClause::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.repeatable) + return _internal_repeatable(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { +inline void TableSampleClause::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); } - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.join_using_alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableSampleClause.repeatable) } -inline ::pg_query::Alias* RangeTblEntry::release_join_using_alias() { +inline ::pg_query::Node* TableSampleClause::release_repeatable() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* released = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -119515,161 +130041,222 @@ inline ::pg_query::Alias* RangeTblEntry::release_join_using_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_join_using_alias() { +inline ::pg_query::Node* TableSampleClause::unsafe_arena_release_repeatable() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.join_using_alias) + // @@protoc_insertion_point(field_release:pg_query.TableSampleClause.repeatable) - _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_join_using_alias() { +inline ::pg_query::Node* TableSampleClause::_internal_mutable_repeatable() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.join_using_alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.repeatable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.join_using_alias_; + return _impl_.repeatable_; } -inline ::pg_query::Alias* RangeTblEntry::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.join_using_alias) +inline ::pg_query::Node* TableSampleClause::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_repeatable(); + // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.repeatable) return _msg; } -inline void RangeTblEntry::set_allocated_join_using_alias(::pg_query::Alias* value) { +inline void TableSampleClause::set_allocated_repeatable(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.join_using_alias) + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableSampleClause.repeatable) } -// repeated .pg_query.Node functions = 15 [json_name = "functions"]; -inline int RangeTblEntry::_internal_functions_size() const { - return _internal_functions().size(); +// ------------------------------------------------------------------- + +// WithCheckOption + +// .pg_query.WCOKind kind = 1 [json_name = "kind"]; +inline void WithCheckOption::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline int RangeTblEntry::functions_size() const { - return _internal_functions_size(); +inline ::pg_query::WCOKind WithCheckOption::kind() const { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.kind) + return _internal_kind(); } -inline void RangeTblEntry::clear_functions() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.functions_.Clear(); +inline void WithCheckOption::set_kind(::pg_query::WCOKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.kind) } -inline ::pg_query::Node* RangeTblEntry::mutable_functions(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.functions) - return _internal_mutable_functions()->Mutable(index); +inline ::pg_query::WCOKind WithCheckOption::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::WCOKind>(_impl_.kind_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_functions() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.functions) +inline void WithCheckOption::_internal_set_kind(::pg_query::WCOKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_functions(); + ; + _impl_.kind_ = value; } -inline const ::pg_query::Node& RangeTblEntry::functions(int index) const + +// string relname = 2 [json_name = "relname"]; +inline void WithCheckOption::clear_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.ClearToEmpty(); +} +inline const std::string& WithCheckOption::relname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.functions) - return _internal_functions().Get(index); + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.relname) + return _internal_relname(); } -inline ::pg_query::Node* RangeTblEntry::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { +template +inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_relname(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_functions()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.functions) - return _add; + ; + _impl_.relname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.relname) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::functions() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.functions) - return _internal_functions(); +inline std::string* WithCheckOption::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relname(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.relname) + return _s; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_functions() const { +inline const std::string& WithCheckOption::_internal_relname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.functions_; + return _impl_.relname_.Get(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_functions() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.functions_; +inline void WithCheckOption::_internal_set_relname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(value, GetArena()); +} +inline std::string* WithCheckOption::_internal_mutable_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relname_.Mutable( GetArena()); +} +inline std::string* WithCheckOption::release_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.relname) + return _impl_.relname_.Release(); +} +inline void WithCheckOption::set_allocated_relname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relname_.IsDefault()) { + _impl_.relname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.relname) } -// bool funcordinality = 16 [json_name = "funcordinality"]; -inline void RangeTblEntry::clear_funcordinality() { +// string polname = 3 [json_name = "polname"]; +inline void WithCheckOption::clear_polname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcordinality_ = false; + _impl_.polname_.ClearToEmpty(); } -inline bool RangeTblEntry::funcordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.funcordinality) - return _internal_funcordinality(); +inline const std::string& WithCheckOption::polname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.polname) + return _internal_polname(); } -inline void RangeTblEntry::set_funcordinality(bool value) { - _internal_set_funcordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.funcordinality) +template +inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_polname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.polname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.polname) } -inline bool RangeTblEntry::_internal_funcordinality() const { +inline std::string* WithCheckOption::mutable_polname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_polname(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.polname) + return _s; +} +inline const std::string& WithCheckOption::_internal_polname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcordinality_; + return _impl_.polname_.Get(); } -inline void RangeTblEntry::_internal_set_funcordinality(bool value) { +inline void WithCheckOption::_internal_set_polname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.funcordinality_ = value; + _impl_.polname_.Set(value, GetArena()); +} +inline std::string* WithCheckOption::_internal_mutable_polname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.polname_.Mutable( GetArena()); +} +inline std::string* WithCheckOption::release_polname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.polname) + return _impl_.polname_.Release(); +} +inline void WithCheckOption::set_allocated_polname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.polname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.polname_.IsDefault()) { + _impl_.polname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.polname) } -// .pg_query.TableFunc tablefunc = 17 [json_name = "tablefunc"]; -inline bool RangeTblEntry::has_tablefunc() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || _impl_.tablefunc_ != nullptr); +// .pg_query.Node qual = 4 [json_name = "qual"]; +inline bool WithCheckOption::has_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); return value; } -inline void RangeTblEntry::clear_tablefunc() { +inline void WithCheckOption::clear_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.tablefunc_ != nullptr) _impl_.tablefunc_->Clear(); - _impl_._has_bits_[0] &= ~0x00000008u; + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TableFunc& RangeTblEntry::_internal_tablefunc() const { +inline const ::pg_query::Node& WithCheckOption::_internal_qual() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TableFunc* p = _impl_.tablefunc_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableFunc_default_instance_); + const ::pg_query::Node* p = _impl_.qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TableFunc& RangeTblEntry::tablefunc() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablefunc) - return _internal_tablefunc(); +inline const ::pg_query::Node& WithCheckOption::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.qual) + return _internal_qual(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value) { +inline void WithCheckOption::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablefunc_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablefunc) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WithCheckOption.qual) } -inline ::pg_query::TableFunc* RangeTblEntry::release_tablefunc() { +inline ::pg_query::Node* WithCheckOption::release_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::TableFunc* released = _impl_.tablefunc_; - _impl_.tablefunc_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -119683,460 +130270,561 @@ inline ::pg_query::TableFunc* RangeTblEntry::release_tablefunc() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::TableFunc* RangeTblEntry::unsafe_arena_release_tablefunc() { +inline ::pg_query::Node* WithCheckOption::unsafe_arena_release_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablefunc) + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.qual) - _impl_._has_bits_[0] &= ~0x00000008u; - ::pg_query::TableFunc* temp = _impl_.tablefunc_; - _impl_.tablefunc_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; return temp; } -inline ::pg_query::TableFunc* RangeTblEntry::_internal_mutable_tablefunc() { +inline ::pg_query::Node* WithCheckOption::_internal_mutable_qual() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000008u; - if (_impl_.tablefunc_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); - _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.tablefunc_; + return _impl_.qual_; } -inline ::pg_query::TableFunc* RangeTblEntry::mutable_tablefunc() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TableFunc* _msg = _internal_mutable_tablefunc(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablefunc) +inline ::pg_query::Node* WithCheckOption::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.qual) return _msg; } -inline void RangeTblEntry::set_allocated_tablefunc(::pg_query::TableFunc* value) { +inline void WithCheckOption::set_allocated_qual(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TableFunc*>(_impl_.tablefunc_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableFunc*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000008u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablefunc) + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.qual) } -// repeated .pg_query.Node values_lists = 18 [json_name = "values_lists"]; -inline int RangeTblEntry::_internal_values_lists_size() const { - return _internal_values_lists().size(); +// bool cascaded = 5 [json_name = "cascaded"]; +inline void WithCheckOption::clear_cascaded() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cascaded_ = false; } -inline int RangeTblEntry::values_lists_size() const { - return _internal_values_lists_size(); +inline bool WithCheckOption::cascaded() const { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.cascaded) + return _internal_cascaded(); } -inline void RangeTblEntry::clear_values_lists() { +inline void WithCheckOption::set_cascaded(bool value) { + _internal_set_cascaded(value); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.cascaded) +} +inline bool WithCheckOption::_internal_cascaded() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cascaded_; +} +inline void WithCheckOption::_internal_set_cascaded(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.values_lists_.Clear(); + ; + _impl_.cascaded_ = value; } -inline ::pg_query::Node* RangeTblEntry::mutable_values_lists(int index) + +// ------------------------------------------------------------------- + +// SortGroupClause + +// uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; +inline void SortGroupClause::clear_tle_sort_group_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tle_sort_group_ref_ = 0u; +} +inline ::uint32_t SortGroupClause::tle_sort_group_ref() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.tle_sort_group_ref) + return _internal_tle_sort_group_ref(); +} +inline void SortGroupClause::set_tle_sort_group_ref(::uint32_t value) { + _internal_set_tle_sort_group_ref(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.tle_sort_group_ref) +} +inline ::uint32_t SortGroupClause::_internal_tle_sort_group_ref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tle_sort_group_ref_; +} +inline void SortGroupClause::_internal_set_tle_sort_group_ref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tle_sort_group_ref_ = value; +} + +// uint32 eqop = 2 [json_name = "eqop"]; +inline void SortGroupClause::clear_eqop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.eqop_ = 0u; +} +inline ::uint32_t SortGroupClause::eqop() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.eqop) + return _internal_eqop(); +} +inline void SortGroupClause::set_eqop(::uint32_t value) { + _internal_set_eqop(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.eqop) +} +inline ::uint32_t SortGroupClause::_internal_eqop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.eqop_; +} +inline void SortGroupClause::_internal_set_eqop(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.eqop_ = value; +} + +// uint32 sortop = 3 [json_name = "sortop"]; +inline void SortGroupClause::clear_sortop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortop_ = 0u; +} +inline ::uint32_t SortGroupClause::sortop() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.sortop) + return _internal_sortop(); +} +inline void SortGroupClause::set_sortop(::uint32_t value) { + _internal_set_sortop(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.sortop) +} +inline ::uint32_t SortGroupClause::_internal_sortop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sortop_; +} +inline void SortGroupClause::_internal_set_sortop(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sortop_ = value; +} + +// bool nulls_first = 4 [json_name = "nulls_first"]; +inline void SortGroupClause::clear_nulls_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_first_ = false; +} +inline bool SortGroupClause::nulls_first() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.nulls_first) + return _internal_nulls_first(); +} +inline void SortGroupClause::set_nulls_first(bool value) { + _internal_set_nulls_first(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.nulls_first) +} +inline bool SortGroupClause::_internal_nulls_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nulls_first_; +} +inline void SortGroupClause::_internal_set_nulls_first(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulls_first_ = value; +} + +// bool hashable = 5 [json_name = "hashable"]; +inline void SortGroupClause::clear_hashable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.hashable_ = false; +} +inline bool SortGroupClause::hashable() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.hashable) + return _internal_hashable(); +} +inline void SortGroupClause::set_hashable(bool value) { + _internal_set_hashable(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.hashable) +} +inline bool SortGroupClause::_internal_hashable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.hashable_; +} +inline void SortGroupClause::_internal_set_hashable(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.hashable_ = value; +} + +// ------------------------------------------------------------------- + +// GroupingSet + +// .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; +inline void GroupingSet::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; +} +inline ::pg_query::GroupingSetKind GroupingSet::kind() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.kind) + return _internal_kind(); +} +inline void GroupingSet::set_kind(::pg_query::GroupingSetKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingSet.kind) +} +inline ::pg_query::GroupingSetKind GroupingSet::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::GroupingSetKind>(_impl_.kind_); +} +inline void GroupingSet::_internal_set_kind(::pg_query::GroupingSetKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} + +// repeated .pg_query.Node content = 2 [json_name = "content"]; +inline int GroupingSet::_internal_content_size() const { + return _internal_content().size(); +} +inline int GroupingSet::content_size() const { + return _internal_content_size(); +} +inline void GroupingSet::clear_content() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.content_.Clear(); +} +inline ::pg_query::Node* GroupingSet::mutable_content(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.values_lists) - return _internal_mutable_values_lists()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.GroupingSet.content) + return _internal_mutable_content()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_values_lists() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingSet::mutable_content() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.values_lists) + // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingSet.content) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_values_lists(); + return _internal_mutable_content(); } -inline const ::pg_query::Node& RangeTblEntry::values_lists(int index) const +inline const ::pg_query::Node& GroupingSet::content(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.values_lists) - return _internal_values_lists().Get(index); + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.content) + return _internal_content().Get(index); } -inline ::pg_query::Node* RangeTblEntry::add_values_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* GroupingSet::add_content() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_values_lists()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.values_lists) + ::pg_query::Node* _add = _internal_mutable_content()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GroupingSet.content) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::values_lists() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingSet::content() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.values_lists) - return _internal_values_lists(); + // @@protoc_insertion_point(field_list:pg_query.GroupingSet.content) + return _internal_content(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_values_lists() const { +GroupingSet::_internal_content() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.values_lists_; + return _impl_.content_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_values_lists() { +GroupingSet::_internal_mutable_content() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.content_; +} + +// int32 location = 3 [json_name = "location"]; +inline void GroupingSet::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t GroupingSet::location() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.location) + return _internal_location(); +} +inline void GroupingSet::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingSet.location) +} +inline ::int32_t GroupingSet::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.values_lists_; + return _impl_.location_; +} +inline void GroupingSet::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// string ctename = 19 [json_name = "ctename"]; -inline void RangeTblEntry::clear_ctename() { +// ------------------------------------------------------------------- + +// WindowClause + +// string name = 1 [json_name = "name"]; +inline void WindowClause::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctename_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& RangeTblEntry::ctename() const +inline const std::string& WindowClause::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctename) - return _internal_ctename(); + // @@protoc_insertion_point(field_get:pg_query.WindowClause.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_ctename(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctename) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.name) } -inline std::string* RangeTblEntry::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_ctename(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.ctename) +inline std::string* WindowClause::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.name) return _s; } -inline const std::string& RangeTblEntry::_internal_ctename() const { +inline const std::string& WindowClause::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctename_.Get(); + return _impl_.name_.Get(); } -inline void RangeTblEntry::_internal_set_ctename(const std::string& value) { +inline void WindowClause::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctename_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* RangeTblEntry::_internal_mutable_ctename() { +inline std::string* WindowClause::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.ctename_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* RangeTblEntry::release_ctename() { +inline std::string* WindowClause::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.ctename) - return _impl_.ctename_.Release(); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.name) + return _impl_.name_.Release(); } -inline void RangeTblEntry::set_allocated_ctename(std::string* value) { +inline void WindowClause::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctename_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.ctename_.IsDefault()) { - _impl_.ctename_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.ctename) + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.name) } -// uint32 ctelevelsup = 20 [json_name = "ctelevelsup"]; -inline void RangeTblEntry::clear_ctelevelsup() { +// string refname = 2 [json_name = "refname"]; +inline void WindowClause::clear_refname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctelevelsup_ = 0u; -} -inline ::uint32_t RangeTblEntry::ctelevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctelevelsup) - return _internal_ctelevelsup(); -} -inline void RangeTblEntry::set_ctelevelsup(::uint32_t value) { - _internal_set_ctelevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctelevelsup) + _impl_.refname_.ClearToEmpty(); } -inline ::uint32_t RangeTblEntry::_internal_ctelevelsup() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctelevelsup_; +inline const std::string& WindowClause::refname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.refname) + return _internal_refname(); } -inline void RangeTblEntry::_internal_set_ctelevelsup(::uint32_t value) { +template +inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_refname(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctelevelsup_ = value; -} - -// bool self_reference = 21 [json_name = "self_reference"]; -inline void RangeTblEntry::clear_self_reference() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.self_reference_ = false; -} -inline bool RangeTblEntry::self_reference() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.self_reference) - return _internal_self_reference(); + _impl_.refname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.refname) } -inline void RangeTblEntry::set_self_reference(bool value) { - _internal_set_self_reference(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.self_reference) +inline std::string* WindowClause::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_refname(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.refname) + return _s; } -inline bool RangeTblEntry::_internal_self_reference() const { +inline const std::string& WindowClause::_internal_refname() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.self_reference_; + return _impl_.refname_.Get(); } -inline void RangeTblEntry::_internal_set_self_reference(bool value) { +inline void WindowClause::_internal_set_refname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.self_reference_ = value; -} - -// repeated .pg_query.Node coltypes = 22 [json_name = "coltypes"]; -inline int RangeTblEntry::_internal_coltypes_size() const { - return _internal_coltypes().size(); -} -inline int RangeTblEntry::coltypes_size() const { - return _internal_coltypes_size(); + _impl_.refname_.Set(value, GetArena()); } -inline void RangeTblEntry::clear_coltypes() { +inline std::string* WindowClause::_internal_mutable_refname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coltypes_.Clear(); -} -inline ::pg_query::Node* RangeTblEntry::mutable_coltypes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypes) - return _internal_mutable_coltypes()->Mutable(index); + ; + return _impl_.refname_.Mutable( GetArena()); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypes) +inline std::string* WindowClause::release_refname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coltypes(); -} -inline const ::pg_query::Node& RangeTblEntry::coltypes(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypes) - return _internal_coltypes().Get(index); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.refname) + return _impl_.refname_.Release(); } -inline ::pg_query::Node* RangeTblEntry::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void WindowClause::set_allocated_refname(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypes) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypes) - return _internal_coltypes(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_coltypes() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coltypes_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_coltypes() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coltypes_; + _impl_.refname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.refname_.IsDefault()) { + _impl_.refname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.refname) } -// repeated .pg_query.Node coltypmods = 23 [json_name = "coltypmods"]; -inline int RangeTblEntry::_internal_coltypmods_size() const { - return _internal_coltypmods().size(); +// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; +inline int WindowClause::_internal_partition_clause_size() const { + return _internal_partition_clause().size(); } -inline int RangeTblEntry::coltypmods_size() const { - return _internal_coltypmods_size(); +inline int WindowClause::partition_clause_size() const { + return _internal_partition_clause_size(); } -inline void RangeTblEntry::clear_coltypmods() { +inline void WindowClause::clear_partition_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.coltypmods_.Clear(); + _impl_.partition_clause_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::mutable_coltypmods(int index) +inline ::pg_query::Node* WindowClause::mutable_partition_clause(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypmods) - return _internal_mutable_coltypmods()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.partition_clause) + return _internal_mutable_partition_clause()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypmods() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypmods) + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.partition_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_coltypmods(); + return _internal_mutable_partition_clause(); } -inline const ::pg_query::Node& RangeTblEntry::coltypmods(int index) const +inline const ::pg_query::Node& WindowClause::partition_clause(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypmods) - return _internal_coltypmods().Get(index); + // @@protoc_insertion_point(field_get:pg_query.WindowClause.partition_clause) + return _internal_partition_clause().Get(index); } -inline ::pg_query::Node* RangeTblEntry::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* WindowClause::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypmods) + ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowClause.partition_clause) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypmods() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::partition_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypmods) - return _internal_coltypmods(); + // @@protoc_insertion_point(field_list:pg_query.WindowClause.partition_clause) + return _internal_partition_clause(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_coltypmods() const { +WindowClause::_internal_partition_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.coltypmods_; + return _impl_.partition_clause_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_coltypmods() { +WindowClause::_internal_mutable_partition_clause() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.coltypmods_; + return &_impl_.partition_clause_; } -// repeated .pg_query.Node colcollations = 24 [json_name = "colcollations"]; -inline int RangeTblEntry::_internal_colcollations_size() const { - return _internal_colcollations().size(); +// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; +inline int WindowClause::_internal_order_clause_size() const { + return _internal_order_clause().size(); } -inline int RangeTblEntry::colcollations_size() const { - return _internal_colcollations_size(); +inline int WindowClause::order_clause_size() const { + return _internal_order_clause_size(); } -inline void RangeTblEntry::clear_colcollations() { +inline void WindowClause::clear_order_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.colcollations_.Clear(); + _impl_.order_clause_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::mutable_colcollations(int index) +inline ::pg_query::Node* WindowClause::mutable_order_clause(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.colcollations) - return _internal_mutable_colcollations()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.order_clause) + return _internal_mutable_order_clause()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_colcollations() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.colcollations) + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.order_clause) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_colcollations(); + return _internal_mutable_order_clause(); } -inline const ::pg_query::Node& RangeTblEntry::colcollations(int index) const +inline const ::pg_query::Node& WindowClause::order_clause(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.colcollations) - return _internal_colcollations().Get(index); + // @@protoc_insertion_point(field_get:pg_query.WindowClause.order_clause) + return _internal_order_clause().Get(index); } -inline ::pg_query::Node* RangeTblEntry::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* WindowClause::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.colcollations) + ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowClause.order_clause) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::colcollations() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::order_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.colcollations) - return _internal_colcollations(); + // @@protoc_insertion_point(field_list:pg_query.WindowClause.order_clause) + return _internal_order_clause(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_colcollations() const { +WindowClause::_internal_order_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.colcollations_; + return _impl_.order_clause_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_colcollations() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.colcollations_; -} - -// string enrname = 25 [json_name = "enrname"]; -inline void RangeTblEntry::clear_enrname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.enrname_.ClearToEmpty(); -} -inline const std::string& RangeTblEntry::enrname() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrname) - return _internal_enrname(); -} -template -inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_enrname(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.enrname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrname) -} -inline std::string* RangeTblEntry::mutable_enrname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_enrname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.enrname) - return _s; -} -inline const std::string& RangeTblEntry::_internal_enrname() const { +WindowClause::_internal_mutable_order_clause() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.enrname_.Get(); -} -inline void RangeTblEntry::_internal_set_enrname(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.enrname_.Set(value, GetArena()); -} -inline std::string* RangeTblEntry::_internal_mutable_enrname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.enrname_.Mutable( GetArena()); -} -inline std::string* RangeTblEntry::release_enrname() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.enrname) - return _impl_.enrname_.Release(); -} -inline void RangeTblEntry::set_allocated_enrname(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.enrname_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.enrname_.IsDefault()) { - _impl_.enrname_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.enrname) + return &_impl_.order_clause_; } -// double enrtuples = 26 [json_name = "enrtuples"]; -inline void RangeTblEntry::clear_enrtuples() { +// int32 frame_options = 5 [json_name = "frameOptions"]; +inline void WindowClause::clear_frame_options() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.enrtuples_ = 0; + _impl_.frame_options_ = 0; } -inline double RangeTblEntry::enrtuples() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrtuples) - return _internal_enrtuples(); +inline ::int32_t WindowClause::frame_options() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.frame_options) + return _internal_frame_options(); } -inline void RangeTblEntry::set_enrtuples(double value) { - _internal_set_enrtuples(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrtuples) +inline void WindowClause::set_frame_options(::int32_t value) { + _internal_set_frame_options(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.frame_options) } -inline double RangeTblEntry::_internal_enrtuples() const { +inline ::int32_t WindowClause::_internal_frame_options() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.enrtuples_; + return _impl_.frame_options_; } -inline void RangeTblEntry::_internal_set_enrtuples(double value) { +inline void WindowClause::_internal_set_frame_options(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.enrtuples_ = value; + _impl_.frame_options_ = value; } -// .pg_query.Alias alias = 27 [json_name = "alias"]; -inline bool RangeTblEntry::has_alias() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; - PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); +// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; +inline bool WindowClause::has_start_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); return value; } -inline void RangeTblEntry::clear_alias() { +inline void WindowClause::clear_start_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); - _impl_._has_bits_[0] &= ~0x00000010u; + if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeTblEntry::_internal_alias() const { +inline const ::pg_query::Node& WindowClause::_internal_start_offset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.start_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeTblEntry::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.alias) - return _internal_alias(); +inline const ::pg_query::Node& WindowClause::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_offset) + return _internal_start_offset(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { +inline void WindowClause::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000010u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.start_offset) } -inline ::pg_query::Alias* RangeTblEntry::release_alias() { +inline ::pg_query::Node* WindowClause::release_start_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Alias* released = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -120150,89 +130838,89 @@ inline ::pg_query::Alias* RangeTblEntry::release_alias() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_alias() { +inline ::pg_query::Node* WindowClause::unsafe_arena_release_start_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.alias) + // @@protoc_insertion_point(field_release:pg_query.WindowClause.start_offset) - _impl_._has_bits_[0] &= ~0x00000010u; - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_alias() { +inline ::pg_query::Node* WindowClause::_internal_mutable_start_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000010u; - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.start_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.alias_; + return _impl_.start_offset_; } -inline ::pg_query::Alias* RangeTblEntry::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.alias) +inline ::pg_query::Node* WindowClause::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_start_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.start_offset) return _msg; } -inline void RangeTblEntry::set_allocated_alias(::pg_query::Alias* value) { +inline void WindowClause::set_allocated_start_offset(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000010u; + _impl_._has_bits_[0] |= 0x00000001u; } else { - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.alias) + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.start_offset) } -// .pg_query.Alias eref = 28 [json_name = "eref"]; -inline bool RangeTblEntry::has_eref() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; - PROTOBUF_ASSUME(!value || _impl_.eref_ != nullptr); +// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; +inline bool WindowClause::has_end_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); return value; } -inline void RangeTblEntry::clear_eref() { +inline void WindowClause::clear_end_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.eref_ != nullptr) _impl_.eref_->Clear(); - _impl_._has_bits_[0] &= ~0x00000020u; + if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Alias& RangeTblEntry::_internal_eref() const { +inline const ::pg_query::Node& WindowClause::_internal_end_offset() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Alias* p = _impl_.eref_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); + const ::pg_query::Node* p = _impl_.end_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeTblEntry::eref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.eref) - return _internal_eref(); +inline const ::pg_query::Node& WindowClause::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_offset) + return _internal_end_offset(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_eref(::pg_query::Alias* value) { +inline void WindowClause::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eref_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); } - _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000020u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000020u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.eref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.end_offset) } -inline ::pg_query::Alias* RangeTblEntry::release_eref() { +inline ::pg_query::Node* WindowClause::release_end_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000020u; - ::pg_query::Alias* released = _impl_.eref_; - _impl_.eref_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -120246,442 +130934,498 @@ inline ::pg_query::Alias* RangeTblEntry::release_eref() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_eref() { +inline ::pg_query::Node* WindowClause::unsafe_arena_release_end_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.eref) + // @@protoc_insertion_point(field_release:pg_query.WindowClause.end_offset) - _impl_._has_bits_[0] &= ~0x00000020u; - ::pg_query::Alias* temp = _impl_.eref_; - _impl_.eref_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_eref() { +inline ::pg_query::Node* WindowClause::_internal_mutable_end_offset() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000020u; - if (_impl_.eref_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); - _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(p); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.end_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.eref_; + return _impl_.end_offset_; } -inline ::pg_query::Alias* RangeTblEntry::mutable_eref() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Alias* _msg = _internal_mutable_eref(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.eref) +inline ::pg_query::Node* WindowClause::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_end_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.end_offset) return _msg; } -inline void RangeTblEntry::set_allocated_eref(::pg_query::Alias* value) { +inline void WindowClause::set_allocated_end_offset(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Alias*>(_impl_.eref_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000020u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000020u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.eref) + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.end_offset) } -// bool lateral = 29 [json_name = "lateral"]; -inline void RangeTblEntry::clear_lateral() { +// uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"]; +inline void WindowClause::clear_start_in_range_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.lateral_ = false; + _impl_.start_in_range_func_ = 0u; } -inline bool RangeTblEntry::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.lateral) - return _internal_lateral(); +inline ::uint32_t WindowClause::start_in_range_func() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_in_range_func) + return _internal_start_in_range_func(); } -inline void RangeTblEntry::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.lateral) +inline void WindowClause::set_start_in_range_func(::uint32_t value) { + _internal_set_start_in_range_func(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.start_in_range_func) } -inline bool RangeTblEntry::_internal_lateral() const { +inline ::uint32_t WindowClause::_internal_start_in_range_func() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.lateral_; + return _impl_.start_in_range_func_; } -inline void RangeTblEntry::_internal_set_lateral(bool value) { +inline void WindowClause::_internal_set_start_in_range_func(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.lateral_ = value; + _impl_.start_in_range_func_ = value; } -// bool inh = 30 [json_name = "inh"]; -inline void RangeTblEntry::clear_inh() { +// uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"]; +inline void WindowClause::clear_end_in_range_func() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inh_ = false; + _impl_.end_in_range_func_ = 0u; } -inline bool RangeTblEntry::inh() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.inh) - return _internal_inh(); +inline ::uint32_t WindowClause::end_in_range_func() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_in_range_func) + return _internal_end_in_range_func(); } -inline void RangeTblEntry::set_inh(bool value) { - _internal_set_inh(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.inh) +inline void WindowClause::set_end_in_range_func(::uint32_t value) { + _internal_set_end_in_range_func(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.end_in_range_func) } -inline bool RangeTblEntry::_internal_inh() const { +inline ::uint32_t WindowClause::_internal_end_in_range_func() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inh_; + return _impl_.end_in_range_func_; } -inline void RangeTblEntry::_internal_set_inh(bool value) { +inline void WindowClause::_internal_set_end_in_range_func(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inh_ = value; + _impl_.end_in_range_func_ = value; } -// bool in_from_cl = 31 [json_name = "inFromCl"]; -inline void RangeTblEntry::clear_in_from_cl() { +// uint32 in_range_coll = 10 [json_name = "inRangeColl"]; +inline void WindowClause::clear_in_range_coll() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.in_from_cl_ = false; + _impl_.in_range_coll_ = 0u; } -inline bool RangeTblEntry::in_from_cl() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.in_from_cl) - return _internal_in_from_cl(); +inline ::uint32_t WindowClause::in_range_coll() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_coll) + return _internal_in_range_coll(); } -inline void RangeTblEntry::set_in_from_cl(bool value) { - _internal_set_in_from_cl(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.in_from_cl) +inline void WindowClause::set_in_range_coll(::uint32_t value) { + _internal_set_in_range_coll(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_coll) } -inline bool RangeTblEntry::_internal_in_from_cl() const { +inline ::uint32_t WindowClause::_internal_in_range_coll() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.in_from_cl_; + return _impl_.in_range_coll_; } -inline void RangeTblEntry::_internal_set_in_from_cl(bool value) { +inline void WindowClause::_internal_set_in_range_coll(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.in_from_cl_ = value; + _impl_.in_range_coll_ = value; } -// repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; -inline int RangeTblEntry::_internal_security_quals_size() const { - return _internal_security_quals().size(); +// bool in_range_asc = 11 [json_name = "inRangeAsc"]; +inline void WindowClause::clear_in_range_asc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_range_asc_ = false; } -inline int RangeTblEntry::security_quals_size() const { - return _internal_security_quals_size(); +inline bool WindowClause::in_range_asc() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_asc) + return _internal_in_range_asc(); } -inline void RangeTblEntry::clear_security_quals() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.security_quals_.Clear(); +inline void WindowClause::set_in_range_asc(bool value) { + _internal_set_in_range_asc(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_asc) } -inline ::pg_query::Node* RangeTblEntry::mutable_security_quals(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.security_quals) - return _internal_mutable_security_quals()->Mutable(index); +inline bool WindowClause::_internal_in_range_asc() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_range_asc_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_security_quals() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.security_quals) +inline void WindowClause::_internal_set_in_range_asc(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_security_quals(); + ; + _impl_.in_range_asc_ = value; } -inline const ::pg_query::Node& RangeTblEntry::security_quals(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_quals) - return _internal_security_quals().Get(index); + +// bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"]; +inline void WindowClause::clear_in_range_nulls_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_range_nulls_first_ = false; } -inline ::pg_query::Node* RangeTblEntry::add_security_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline bool WindowClause::in_range_nulls_first() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_nulls_first) + return _internal_in_range_nulls_first(); +} +inline void WindowClause::set_in_range_nulls_first(bool value) { + _internal_set_in_range_nulls_first(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_nulls_first) +} +inline bool WindowClause::_internal_in_range_nulls_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_range_nulls_first_; +} +inline void WindowClause::_internal_set_in_range_nulls_first(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_security_quals()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.security_quals) - return _add; + ; + _impl_.in_range_nulls_first_ = value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::security_quals() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.security_quals) - return _internal_security_quals(); + +// uint32 winref = 13 [json_name = "winref"]; +inline void WindowClause::clear_winref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winref_ = 0u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblEntry::_internal_security_quals() const { +inline ::uint32_t WindowClause::winref() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.winref) + return _internal_winref(); +} +inline void WindowClause::set_winref(::uint32_t value) { + _internal_set_winref(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.winref) +} +inline ::uint32_t WindowClause::_internal_winref() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.security_quals_; + return _impl_.winref_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblEntry::_internal_mutable_security_quals() { +inline void WindowClause::_internal_set_winref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winref_ = value; +} + +// bool copied_order = 14 [json_name = "copiedOrder"]; +inline void WindowClause::clear_copied_order() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.copied_order_ = false; +} +inline bool WindowClause::copied_order() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.copied_order) + return _internal_copied_order(); +} +inline void WindowClause::set_copied_order(bool value) { + _internal_set_copied_order(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.copied_order) +} +inline bool WindowClause::_internal_copied_order() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.security_quals_; + return _impl_.copied_order_; +} +inline void WindowClause::_internal_set_copied_order(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.copied_order_ = value; } // ------------------------------------------------------------------- -// RTEPermissionInfo +// RowMarkClause -// uint32 relid = 1 [json_name = "relid"]; -inline void RTEPermissionInfo::clear_relid() { +// uint32 rti = 1 [json_name = "rti"]; +inline void RowMarkClause::clear_rti() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relid_ = 0u; + _impl_.rti_ = 0u; } -inline ::uint32_t RTEPermissionInfo::relid() const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.relid) - return _internal_relid(); +inline ::uint32_t RowMarkClause::rti() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.rti) + return _internal_rti(); } -inline void RTEPermissionInfo::set_relid(::uint32_t value) { - _internal_set_relid(value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.relid) +inline void RowMarkClause::set_rti(::uint32_t value) { + _internal_set_rti(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.rti) } -inline ::uint32_t RTEPermissionInfo::_internal_relid() const { +inline ::uint32_t RowMarkClause::_internal_rti() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relid_; + return _impl_.rti_; } -inline void RTEPermissionInfo::_internal_set_relid(::uint32_t value) { +inline void RowMarkClause::_internal_set_rti(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relid_ = value; + _impl_.rti_ = value; } -// bool inh = 2 [json_name = "inh"]; -inline void RTEPermissionInfo::clear_inh() { +// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; +inline void RowMarkClause::clear_strength() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inh_ = false; + _impl_.strength_ = 0; } -inline bool RTEPermissionInfo::inh() const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inh) - return _internal_inh(); +inline ::pg_query::LockClauseStrength RowMarkClause::strength() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.strength) + return _internal_strength(); } -inline void RTEPermissionInfo::set_inh(bool value) { - _internal_set_inh(value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inh) +inline void RowMarkClause::set_strength(::pg_query::LockClauseStrength value) { + _internal_set_strength(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.strength) } -inline bool RTEPermissionInfo::_internal_inh() const { +inline ::pg_query::LockClauseStrength RowMarkClause::_internal_strength() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inh_; + return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); } -inline void RTEPermissionInfo::_internal_set_inh(bool value) { +inline void RowMarkClause::_internal_set_strength(::pg_query::LockClauseStrength value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.inh_ = value; + _impl_.strength_ = value; } -// int64 required_perms = 3 [json_name = "requiredPerms"]; -inline void RTEPermissionInfo::clear_required_perms() { +// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; +inline void RowMarkClause::clear_wait_policy() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.required_perms_ = ::int64_t{0}; + _impl_.wait_policy_ = 0; } -inline ::int64_t RTEPermissionInfo::required_perms() const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.required_perms) - return _internal_required_perms(); +inline ::pg_query::LockWaitPolicy RowMarkClause::wait_policy() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.wait_policy) + return _internal_wait_policy(); } -inline void RTEPermissionInfo::set_required_perms(::int64_t value) { - _internal_set_required_perms(value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.required_perms) +inline void RowMarkClause::set_wait_policy(::pg_query::LockWaitPolicy value) { + _internal_set_wait_policy(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.wait_policy) } -inline ::int64_t RTEPermissionInfo::_internal_required_perms() const { +inline ::pg_query::LockWaitPolicy RowMarkClause::_internal_wait_policy() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.required_perms_; + return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); } -inline void RTEPermissionInfo::_internal_set_required_perms(::int64_t value) { +inline void RowMarkClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.required_perms_ = value; + _impl_.wait_policy_ = value; } -// uint32 check_as_user = 4 [json_name = "checkAsUser"]; -inline void RTEPermissionInfo::clear_check_as_user() { +// bool pushed_down = 4 [json_name = "pushedDown"]; +inline void RowMarkClause::clear_pushed_down() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.check_as_user_ = 0u; + _impl_.pushed_down_ = false; } -inline ::uint32_t RTEPermissionInfo::check_as_user() const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.check_as_user) - return _internal_check_as_user(); +inline bool RowMarkClause::pushed_down() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.pushed_down) + return _internal_pushed_down(); } -inline void RTEPermissionInfo::set_check_as_user(::uint32_t value) { - _internal_set_check_as_user(value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.check_as_user) +inline void RowMarkClause::set_pushed_down(bool value) { + _internal_set_pushed_down(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.pushed_down) } -inline ::uint32_t RTEPermissionInfo::_internal_check_as_user() const { +inline bool RowMarkClause::_internal_pushed_down() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.check_as_user_; + return _impl_.pushed_down_; } -inline void RTEPermissionInfo::_internal_set_check_as_user(::uint32_t value) { +inline void RowMarkClause::_internal_set_pushed_down(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.check_as_user_ = value; + _impl_.pushed_down_ = value; } -// repeated uint64 selected_cols = 5 [json_name = "selectedCols"]; -inline int RTEPermissionInfo::_internal_selected_cols_size() const { - return _internal_selected_cols().size(); +// ------------------------------------------------------------------- + +// WithClause + +// repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; +inline int WithClause::_internal_ctes_size() const { + return _internal_ctes().size(); } -inline int RTEPermissionInfo::selected_cols_size() const { - return _internal_selected_cols_size(); +inline int WithClause::ctes_size() const { + return _internal_ctes_size(); } -inline void RTEPermissionInfo::clear_selected_cols() { +inline void WithClause::clear_ctes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.selected_cols_.Clear(); -} -inline ::uint64_t RTEPermissionInfo::selected_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.selected_cols) - return _internal_selected_cols().Get(index); + _impl_.ctes_.Clear(); } -inline void RTEPermissionInfo::set_selected_cols(int index, ::uint64_t value) { - _internal_mutable_selected_cols()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.selected_cols) +inline ::pg_query::Node* WithClause::mutable_ctes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WithClause.ctes) + return _internal_mutable_ctes()->Mutable(index); } -inline void RTEPermissionInfo::add_selected_cols(::uint64_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WithClause::mutable_ctes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WithClause.ctes) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_selected_cols()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.selected_cols) + return _internal_mutable_ctes(); } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::selected_cols() const +inline const ::pg_query::Node& WithClause::ctes(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.selected_cols) - return _internal_selected_cols(); + // @@protoc_insertion_point(field_get:pg_query.WithClause.ctes) + return _internal_ctes().Get(index); } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_selected_cols() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.selected_cols) +inline ::pg_query::Node* WithClause::add_ctes() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_selected_cols(); + ::pg_query::Node* _add = _internal_mutable_ctes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WithClause.ctes) + return _add; } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_selected_cols() - const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WithClause::ctes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WithClause.ctes) + return _internal_ctes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WithClause::_internal_ctes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.selected_cols_; + return _impl_.ctes_; } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_selected_cols() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WithClause::_internal_mutable_ctes() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.selected_cols_; + return &_impl_.ctes_; } -// repeated uint64 inserted_cols = 6 [json_name = "insertedCols"]; -inline int RTEPermissionInfo::_internal_inserted_cols_size() const { - return _internal_inserted_cols().size(); +// bool recursive = 2 [json_name = "recursive"]; +inline void WithClause::clear_recursive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.recursive_ = false; } -inline int RTEPermissionInfo::inserted_cols_size() const { - return _internal_inserted_cols_size(); +inline bool WithClause::recursive() const { + // @@protoc_insertion_point(field_get:pg_query.WithClause.recursive) + return _internal_recursive(); } -inline void RTEPermissionInfo::clear_inserted_cols() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.inserted_cols_.Clear(); +inline void WithClause::set_recursive(bool value) { + _internal_set_recursive(value); + // @@protoc_insertion_point(field_set:pg_query.WithClause.recursive) } -inline ::uint64_t RTEPermissionInfo::inserted_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inserted_cols) - return _internal_inserted_cols().Get(index); +inline bool WithClause::_internal_recursive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.recursive_; } -inline void RTEPermissionInfo::set_inserted_cols(int index, ::uint64_t value) { - _internal_mutable_inserted_cols()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inserted_cols) +inline void WithClause::_internal_set_recursive(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.recursive_ = value; } -inline void RTEPermissionInfo::add_inserted_cols(::uint64_t value) { + +// int32 location = 3 [json_name = "location"]; +inline void WithClause::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_inserted_cols()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.inserted_cols) + _impl_.location_ = 0; } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::inserted_cols() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.inserted_cols) - return _internal_inserted_cols(); +inline ::int32_t WithClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.WithClause.location) + return _internal_location(); } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_inserted_cols() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.inserted_cols) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_inserted_cols(); +inline void WithClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WithClause.location) } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_inserted_cols() - const { +inline ::int32_t WithClause::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.inserted_cols_; + return _impl_.location_; } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_inserted_cols() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.inserted_cols_; +inline void WithClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated uint64 updated_cols = 7 [json_name = "updatedCols"]; -inline int RTEPermissionInfo::_internal_updated_cols_size() const { - return _internal_updated_cols().size(); +// ------------------------------------------------------------------- + +// InferClause + +// repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; +inline int InferClause::_internal_index_elems_size() const { + return _internal_index_elems().size(); } -inline int RTEPermissionInfo::updated_cols_size() const { - return _internal_updated_cols_size(); +inline int InferClause::index_elems_size() const { + return _internal_index_elems_size(); } -inline void RTEPermissionInfo::clear_updated_cols() { +inline void InferClause::clear_index_elems() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.updated_cols_.Clear(); -} -inline ::uint64_t RTEPermissionInfo::updated_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.updated_cols) - return _internal_updated_cols().Get(index); + _impl_.index_elems_.Clear(); } -inline void RTEPermissionInfo::set_updated_cols(int index, ::uint64_t value) { - _internal_mutable_updated_cols()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.updated_cols) +inline ::pg_query::Node* InferClause::mutable_index_elems(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.index_elems) + return _internal_mutable_index_elems()->Mutable(index); } -inline void RTEPermissionInfo::add_updated_cols(::uint64_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* InferClause::mutable_index_elems() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.InferClause.index_elems) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_updated_cols()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.updated_cols) + return _internal_mutable_index_elems(); } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::updated_cols() const +inline const ::pg_query::Node& InferClause::index_elems(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.updated_cols) - return _internal_updated_cols(); + // @@protoc_insertion_point(field_get:pg_query.InferClause.index_elems) + return _internal_index_elems().Get(index); } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_updated_cols() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.updated_cols) +inline ::pg_query::Node* InferClause::add_index_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_updated_cols(); + ::pg_query::Node* _add = _internal_mutable_index_elems()->Add(); + // @@protoc_insertion_point(field_add:pg_query.InferClause.index_elems) + return _add; } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_updated_cols() - const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& InferClause::index_elems() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.InferClause.index_elems) + return _internal_index_elems(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +InferClause::_internal_index_elems() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.updated_cols_; + return _impl_.index_elems_; } -inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_updated_cols() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +InferClause::_internal_mutable_index_elems() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.updated_cols_; + return &_impl_.index_elems_; } -// ------------------------------------------------------------------- - -// RangeTblFunction - -// .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; -inline bool RangeTblFunction::has_funcexpr() const { +// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; +inline bool InferClause::has_where_clause() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.funcexpr_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); return value; } -inline void RangeTblFunction::clear_funcexpr() { +inline void InferClause::clear_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.funcexpr_ != nullptr) _impl_.funcexpr_->Clear(); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RangeTblFunction::_internal_funcexpr() const { +inline const ::pg_query::Node& InferClause::_internal_where_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.funcexpr_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& RangeTblFunction::funcexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcexpr) - return _internal_funcexpr(); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RangeTblFunction::unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value) { +inline const ::pg_query::Node& InferClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferClause.where_clause) + return _internal_where_clause(); +} +inline void InferClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.funcexpr_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblFunction.funcexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferClause.where_clause) } -inline ::pg_query::Node* RangeTblFunction::release_funcexpr() { +inline ::pg_query::Node* InferClause::release_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -120695,34 +131439,34 @@ inline ::pg_query::Node* RangeTblFunction::release_funcexpr() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* RangeTblFunction::unsafe_arena_release_funcexpr() { +inline ::pg_query::Node* InferClause::unsafe_arena_release_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.RangeTblFunction.funcexpr) + // @@protoc_insertion_point(field_release:pg_query.InferClause.where_clause) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTblFunction::_internal_mutable_funcexpr() { +inline ::pg_query::Node* InferClause::_internal_mutable_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.funcexpr_ == nullptr) { + if (_impl_.where_clause_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.funcexpr_; + return _impl_.where_clause_; } -inline ::pg_query::Node* RangeTblFunction::mutable_funcexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_funcexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funcexpr) +inline ::pg_query::Node* InferClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.where_clause) return _msg; } -inline void RangeTblFunction::set_allocated_funcexpr(::pg_query::Node* value) { +inline void InferClause::set_allocated_where_clause(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.funcexpr_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } if (value != nullptr) { @@ -120735,389 +131479,297 @@ inline void RangeTblFunction::set_allocated_funcexpr(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblFunction.funcexpr) + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.where_clause) } -// int32 funccolcount = 2 [json_name = "funccolcount"]; -inline void RangeTblFunction::clear_funccolcount() { +// string conname = 3 [json_name = "conname"]; +inline void InferClause::clear_conname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccolcount_ = 0; -} -inline ::int32_t RangeTblFunction::funccolcount() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcount) - return _internal_funccolcount(); -} -inline void RangeTblFunction::set_funccolcount(::int32_t value) { - _internal_set_funccolcount(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funccolcount) + _impl_.conname_.ClearToEmpty(); } -inline ::int32_t RangeTblFunction::_internal_funccolcount() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccolcount_; +inline const std::string& InferClause::conname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferClause.conname) + return _internal_conname(); } -inline void RangeTblFunction::_internal_set_funccolcount(::int32_t value) { +template +inline PROTOBUF_ALWAYS_INLINE void InferClause::set_conname(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.funccolcount_ = value; -} - -// repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; -inline int RangeTblFunction::_internal_funccolnames_size() const { - return _internal_funccolnames().size(); -} -inline int RangeTblFunction::funccolnames_size() const { - return _internal_funccolnames_size(); + _impl_.conname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.InferClause.conname) } -inline void RangeTblFunction::clear_funccolnames() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccolnames_.Clear(); +inline std::string* InferClause::mutable_conname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conname(); + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.conname) + return _s; } -inline ::pg_query::Node* RangeTblFunction::mutable_funccolnames(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolnames) - return _internal_mutable_funccolnames()->Mutable(index); +inline const std::string& InferClause::_internal_conname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conname_.Get(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolnames() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolnames) +inline void InferClause::_internal_set_conname(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funccolnames(); -} -inline const ::pg_query::Node& RangeTblFunction::funccolnames(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolnames) - return _internal_funccolnames().Get(index); + ; + _impl_.conname_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeTblFunction::add_funccolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline std::string* InferClause::_internal_mutable_conname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_funccolnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolnames) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolnames() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolnames) - return _internal_funccolnames(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblFunction::_internal_funccolnames() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccolnames_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblFunction::_internal_mutable_funccolnames() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funccolnames_; -} - -// repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; -inline int RangeTblFunction::_internal_funccoltypes_size() const { - return _internal_funccoltypes().size(); -} -inline int RangeTblFunction::funccoltypes_size() const { - return _internal_funccoltypes_size(); + ; + return _impl_.conname_.Mutable( GetArena()); } -inline void RangeTblFunction::clear_funccoltypes() { +inline std::string* InferClause::release_conname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccoltypes_.Clear(); -} -inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypes) - return _internal_mutable_funccoltypes()->Mutable(index); + // @@protoc_insertion_point(field_release:pg_query.InferClause.conname) + return _impl_.conname_.Release(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypes) +inline void InferClause::set_allocated_conname(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funccoltypes(); -} -inline const ::pg_query::Node& RangeTblFunction::funccoltypes(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypes) - return _internal_funccoltypes().Get(index); + _impl_.conname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conname_.IsDefault()) { + _impl_.conname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.conname) } -inline ::pg_query::Node* RangeTblFunction::add_funccoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// int32 location = 4 [json_name = "location"]; +inline void InferClause::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_funccoltypes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypes) - return _add; + _impl_.location_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypes) - return _internal_funccoltypes(); +inline ::int32_t InferClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.InferClause.location) + return _internal_location(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblFunction::_internal_funccoltypes() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccoltypes_; +inline void InferClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.InferClause.location) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblFunction::_internal_mutable_funccoltypes() { +inline ::int32_t InferClause::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funccoltypes_; -} - -// repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; -inline int RangeTblFunction::_internal_funccoltypmods_size() const { - return _internal_funccoltypmods().size(); -} -inline int RangeTblFunction::funccoltypmods_size() const { - return _internal_funccoltypmods_size(); + return _impl_.location_; } -inline void RangeTblFunction::clear_funccoltypmods() { +inline void InferClause::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccoltypmods_.Clear(); -} -inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypmods(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypmods) - return _internal_mutable_funccoltypmods()->Mutable(index); + ; + _impl_.location_ = value; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypmods() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypmods) + +// ------------------------------------------------------------------- + +// OnConflictClause + +// .pg_query.OnConflictAction action = 1 [json_name = "action"]; +inline void OnConflictClause::clear_action() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funccoltypmods(); -} -inline const ::pg_query::Node& RangeTblFunction::funccoltypmods(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypmods) - return _internal_funccoltypmods().Get(index); + _impl_.action_ = 0; } -inline ::pg_query::Node* RangeTblFunction::add_funccoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_funccoltypmods()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypmods) - return _add; +inline ::pg_query::OnConflictAction OnConflictClause::action() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.action) + return _internal_action(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypmods() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypmods) - return _internal_funccoltypmods(); +inline void OnConflictClause::set_action(::pg_query::OnConflictAction value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.action) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblFunction::_internal_funccoltypmods() const { +inline ::pg_query::OnConflictAction OnConflictClause::_internal_action() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccoltypmods_; + return static_cast<::pg_query::OnConflictAction>(_impl_.action_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblFunction::_internal_mutable_funccoltypmods() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funccoltypmods_; +inline void OnConflictClause::_internal_set_action(::pg_query::OnConflictAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; } -// repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; -inline int RangeTblFunction::_internal_funccolcollations_size() const { - return _internal_funccolcollations().size(); -} -inline int RangeTblFunction::funccolcollations_size() const { - return _internal_funccolcollations_size(); +// .pg_query.InferClause infer = 2 [json_name = "infer"]; +inline bool OnConflictClause::has_infer() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.infer_ != nullptr); + return value; } -inline void RangeTblFunction::clear_funccolcollations() { +inline void OnConflictClause::clear_infer() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funccolcollations_.Clear(); -} -inline ::pg_query::Node* RangeTblFunction::mutable_funccolcollations(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolcollations) - return _internal_mutable_funccolcollations()->Mutable(index); + if (_impl_.infer_ != nullptr) _impl_.infer_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolcollations() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolcollations) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funccolcollations(); +inline const ::pg_query::InferClause& OnConflictClause::_internal_infer() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::InferClause* p = _impl_.infer_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_InferClause_default_instance_); } -inline const ::pg_query::Node& RangeTblFunction::funccolcollations(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcollations) - return _internal_funccolcollations().Get(index); +inline const ::pg_query::InferClause& OnConflictClause::infer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.infer) + return _internal_infer(); } -inline ::pg_query::Node* RangeTblFunction::add_funccolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void OnConflictClause::unsafe_arena_set_allocated_infer(::pg_query::InferClause* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_funccolcollations()->Add(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolcollations) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolcollations() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolcollations) - return _internal_funccolcollations(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -RangeTblFunction::_internal_funccolcollations() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funccolcollations_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -RangeTblFunction::_internal_mutable_funccolcollations() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funccolcollations_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.infer_); + } + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.infer) } +inline ::pg_query::InferClause* OnConflictClause::release_infer() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated uint64 funcparams = 7 [json_name = "funcparams"]; -inline int RangeTblFunction::_internal_funcparams_size() const { - return _internal_funcparams().size(); -} -inline int RangeTblFunction::funcparams_size() const { - return _internal_funcparams_size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::InferClause* released = _impl_.infer_; + _impl_.infer_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void RangeTblFunction::clear_funcparams() { +inline ::pg_query::InferClause* OnConflictClause::unsafe_arena_release_infer() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.funcparams_.Clear(); -} -inline ::uint64_t RangeTblFunction::funcparams(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcparams) - return _internal_funcparams().Get(index); -} -inline void RangeTblFunction::set_funcparams(int index, ::uint64_t value) { - _internal_mutable_funcparams()->Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funcparams) + // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.infer) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::InferClause* temp = _impl_.infer_; + _impl_.infer_ = nullptr; + return temp; } -inline void RangeTblFunction::add_funcparams(::uint64_t value) { +inline ::pg_query::InferClause* OnConflictClause::_internal_mutable_infer() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _internal_mutable_funcparams()->Add(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funcparams) + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.infer_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(p); + } + return _impl_.infer_; } -inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::funcparams() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funcparams) - return _internal_funcparams(); +inline ::pg_query::InferClause* OnConflictClause::mutable_infer() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferClause* _msg = _internal_mutable_infer(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.infer) + return _msg; } -inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::mutable_funcparams() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funcparams) +inline void OnConflictClause::set_allocated_infer(::pg_query::InferClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_funcparams(); -} -inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::_internal_funcparams() - const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.funcparams_; -} -inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::_internal_mutable_funcparams() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.funcparams_; -} - -// ------------------------------------------------------------------- + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::InferClause*>(_impl_.infer_); + } -// TableSampleClause + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::InferClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// uint32 tsmhandler = 1 [json_name = "tsmhandler"]; -inline void TableSampleClause::clear_tsmhandler() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.tsmhandler_ = 0u; -} -inline ::uint32_t TableSampleClause::tsmhandler() const { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.tsmhandler) - return _internal_tsmhandler(); -} -inline void TableSampleClause::set_tsmhandler(::uint32_t value) { - _internal_set_tsmhandler(value); - // @@protoc_insertion_point(field_set:pg_query.TableSampleClause.tsmhandler) -} -inline ::uint32_t TableSampleClause::_internal_tsmhandler() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.tsmhandler_; -} -inline void TableSampleClause::_internal_set_tsmhandler(::uint32_t value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.tsmhandler_ = value; + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.infer) } -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int TableSampleClause::_internal_args_size() const { - return _internal_args().size(); +// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; +inline int OnConflictClause::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline int TableSampleClause::args_size() const { - return _internal_args_size(); +inline int OnConflictClause::target_list_size() const { + return _internal_target_list_size(); } -inline void TableSampleClause::clear_args() { +inline void OnConflictClause::clear_target_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.args_.Clear(); + _impl_.target_list_.Clear(); } -inline ::pg_query::Node* TableSampleClause::mutable_args(int index) +inline ::pg_query::Node* OnConflictClause::mutable_target_list(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.args) - return _internal_mutable_args()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableSampleClause::mutable_args() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictClause::mutable_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableSampleClause.args) + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictClause.target_list) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_args(); + return _internal_mutable_target_list(); } -inline const ::pg_query::Node& TableSampleClause::args(int index) const +inline const ::pg_query::Node& OnConflictClause::target_list(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.args) - return _internal_args().Get(index); + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.target_list) + return _internal_target_list().Get(index); } -inline ::pg_query::Node* TableSampleClause::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* OnConflictClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_args()->Add(); - // @@protoc_insertion_point(field_add:pg_query.TableSampleClause.args) + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictClause.target_list) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableSampleClause::args() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictClause::target_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.TableSampleClause.args) - return _internal_args(); + // @@protoc_insertion_point(field_list:pg_query.OnConflictClause.target_list) + return _internal_target_list(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -TableSampleClause::_internal_args() const { +OnConflictClause::_internal_target_list() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.args_; + return _impl_.target_list_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -TableSampleClause::_internal_mutable_args() { +OnConflictClause::_internal_mutable_target_list() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.args_; + return &_impl_.target_list_; } -// .pg_query.Node repeatable = 3 [json_name = "repeatable"]; -inline bool TableSampleClause::has_repeatable() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); +// .pg_query.Node where_clause = 4 [json_name = "whereClause"]; +inline bool OnConflictClause::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); return value; } -inline void TableSampleClause::clear_repeatable() { +inline void OnConflictClause::clear_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& TableSampleClause::_internal_repeatable() const { +inline const ::pg_query::Node& OnConflictClause::_internal_where_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.repeatable_; + const ::pg_query::Node* p = _impl_.where_clause_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TableSampleClause::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.repeatable) - return _internal_repeatable(); +inline const ::pg_query::Node& OnConflictClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.where_clause) + return _internal_where_clause(); } -inline void TableSampleClause::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { +inline void OnConflictClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableSampleClause.repeatable) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.where_clause) } -inline ::pg_query::Node* TableSampleClause::release_repeatable() { +inline ::pg_query::Node* OnConflictClause::release_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -121131,34 +131783,34 @@ inline ::pg_query::Node* TableSampleClause::release_repeatable() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* TableSampleClause::unsafe_arena_release_repeatable() { +inline ::pg_query::Node* OnConflictClause::unsafe_arena_release_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TableSampleClause.repeatable) + // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.where_clause) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::Node* TableSampleClause::_internal_mutable_repeatable() { +inline ::pg_query::Node* OnConflictClause::_internal_mutable_where_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.repeatable_ == nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.repeatable_; + return _impl_.where_clause_; } -inline ::pg_query::Node* TableSampleClause::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_repeatable(); - // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.repeatable) +inline ::pg_query::Node* OnConflictClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.where_clause) return _msg; } -inline void TableSampleClause::set_allocated_repeatable(::pg_query::Node* value) { +inline void OnConflictClause::set_allocated_where_clause(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } if (value != nullptr) { @@ -121166,187 +131818,335 @@ inline void TableSampleClause::set_allocated_repeatable(::pg_query::Node* value) if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.TableSampleClause.repeatable) + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.where_clause) +} + +// int32 location = 5 [json_name = "location"]; +inline void OnConflictClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t OnConflictClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.location) + return _internal_location(); +} +inline void OnConflictClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.location) +} +inline ::int32_t OnConflictClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void OnConflictClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// WithCheckOption +// CTESearchClause -// .pg_query.WCOKind kind = 1 [json_name = "kind"]; -inline void WithCheckOption::clear_kind() { +// repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; +inline int CTESearchClause::_internal_search_col_list_size() const { + return _internal_search_col_list().size(); +} +inline int CTESearchClause::search_col_list_size() const { + return _internal_search_col_list_size(); +} +inline void CTESearchClause::clear_search_col_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.kind_ = 0; + _impl_.search_col_list_.Clear(); } -inline ::pg_query::WCOKind WithCheckOption::kind() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.kind) - return _internal_kind(); +inline ::pg_query::Node* CTESearchClause::mutable_search_col_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_col_list) + return _internal_mutable_search_col_list()->Mutable(index); } -inline void WithCheckOption::set_kind(::pg_query::WCOKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.kind) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTESearchClause::mutable_search_col_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CTESearchClause.search_col_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_search_col_list(); } -inline ::pg_query::WCOKind WithCheckOption::_internal_kind() const { +inline const ::pg_query::Node& CTESearchClause::search_col_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_col_list) + return _internal_search_col_list().Get(index); +} +inline ::pg_query::Node* CTESearchClause::add_search_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_search_col_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CTESearchClause.search_col_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTESearchClause::search_col_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CTESearchClause.search_col_list) + return _internal_search_col_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CTESearchClause::_internal_search_col_list() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::WCOKind>(_impl_.kind_); + return _impl_.search_col_list_; } -inline void WithCheckOption::_internal_set_kind(::pg_query::WCOKind value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CTESearchClause::_internal_mutable_search_col_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.search_col_list_; +} + +// bool search_breadth_first = 2 [json_name = "search_breadth_first"]; +inline void CTESearchClause::clear_search_breadth_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.search_breadth_first_ = false; +} +inline bool CTESearchClause::search_breadth_first() const { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_breadth_first) + return _internal_search_breadth_first(); +} +inline void CTESearchClause::set_search_breadth_first(bool value) { + _internal_set_search_breadth_first(value); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_breadth_first) +} +inline bool CTESearchClause::_internal_search_breadth_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.search_breadth_first_; +} +inline void CTESearchClause::_internal_set_search_breadth_first(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.kind_ = value; + _impl_.search_breadth_first_ = value; } -// string relname = 2 [json_name = "relname"]; -inline void WithCheckOption::clear_relname() { +// string search_seq_column = 3 [json_name = "search_seq_column"]; +inline void CTESearchClause::clear_search_seq_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relname_.ClearToEmpty(); + _impl_.search_seq_column_.ClearToEmpty(); } -inline const std::string& WithCheckOption::relname() const +inline const std::string& CTESearchClause::search_seq_column() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.relname) - return _internal_relname(); + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_seq_column) + return _internal_search_seq_column(); } template -inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_relname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void CTESearchClause::set_search_seq_column(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.relname) + _impl_.search_seq_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_seq_column) } -inline std::string* WithCheckOption::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_relname(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.relname) +inline std::string* CTESearchClause::mutable_search_seq_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_search_seq_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_seq_column) return _s; } -inline const std::string& WithCheckOption::_internal_relname() const { +inline const std::string& CTESearchClause::_internal_search_seq_column() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.relname_.Get(); + return _impl_.search_seq_column_.Get(); } -inline void WithCheckOption::_internal_set_relname(const std::string& value) { +inline void CTESearchClause::_internal_set_search_seq_column(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.relname_.Set(value, GetArena()); + _impl_.search_seq_column_.Set(value, GetArena()); } -inline std::string* WithCheckOption::_internal_mutable_relname() { +inline std::string* CTESearchClause::_internal_mutable_search_seq_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.relname_.Mutable( GetArena()); + return _impl_.search_seq_column_.Mutable( GetArena()); } -inline std::string* WithCheckOption::release_relname() { +inline std::string* CTESearchClause::release_search_seq_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.relname) - return _impl_.relname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.CTESearchClause.search_seq_column) + return _impl_.search_seq_column_.Release(); } -inline void WithCheckOption::set_allocated_relname(std::string* value) { +inline void CTESearchClause::set_allocated_search_seq_column(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.relname_.SetAllocated(value, GetArena()); + _impl_.search_seq_column_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relname_.IsDefault()) { - _impl_.relname_.Set("", GetArena()); + if (_impl_.search_seq_column_.IsDefault()) { + _impl_.search_seq_column_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.relname) + // @@protoc_insertion_point(field_set_allocated:pg_query.CTESearchClause.search_seq_column) } -// string polname = 3 [json_name = "polname"]; -inline void WithCheckOption::clear_polname() { +// int32 location = 4 [json_name = "location"]; +inline void CTESearchClause::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.polname_.ClearToEmpty(); + _impl_.location_ = 0; } -inline const std::string& WithCheckOption::polname() const +inline ::int32_t CTESearchClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.location) + return _internal_location(); +} +inline void CTESearchClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.location) +} +inline ::int32_t CTESearchClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CTESearchClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// CTECycleClause + +// repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; +inline int CTECycleClause::_internal_cycle_col_list_size() const { + return _internal_cycle_col_list().size(); +} +inline int CTECycleClause::cycle_col_list_size() const { + return _internal_cycle_col_list_size(); +} +inline void CTECycleClause::clear_cycle_col_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_col_list_.Clear(); +} +inline ::pg_query::Node* CTECycleClause::mutable_cycle_col_list(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.polname) - return _internal_polname(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_col_list) + return _internal_mutable_cycle_col_list()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTECycleClause::mutable_cycle_col_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CTECycleClause.cycle_col_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cycle_col_list(); +} +inline const ::pg_query::Node& CTECycleClause::cycle_col_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_col_list) + return _internal_cycle_col_list().Get(index); +} +inline ::pg_query::Node* CTECycleClause::add_cycle_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cycle_col_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CTECycleClause.cycle_col_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTECycleClause::cycle_col_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CTECycleClause.cycle_col_list) + return _internal_cycle_col_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CTECycleClause::_internal_cycle_col_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_col_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CTECycleClause::_internal_mutable_cycle_col_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cycle_col_list_; +} + +// string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; +inline void CTECycleClause::clear_cycle_mark_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_column_.ClearToEmpty(); +} +inline const std::string& CTECycleClause::cycle_mark_column() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_column) + return _internal_cycle_mark_column(); } template -inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_polname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_mark_column(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.polname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.polname) + _impl_.cycle_mark_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_column) } -inline std::string* WithCheckOption::mutable_polname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_polname(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.polname) +inline std::string* CTECycleClause::mutable_cycle_mark_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cycle_mark_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_column) return _s; } -inline const std::string& WithCheckOption::_internal_polname() const { +inline const std::string& CTECycleClause::_internal_cycle_mark_column() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.polname_.Get(); + return _impl_.cycle_mark_column_.Get(); } -inline void WithCheckOption::_internal_set_polname(const std::string& value) { +inline void CTECycleClause::_internal_set_cycle_mark_column(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.polname_.Set(value, GetArena()); + _impl_.cycle_mark_column_.Set(value, GetArena()); } -inline std::string* WithCheckOption::_internal_mutable_polname() { +inline std::string* CTECycleClause::_internal_mutable_cycle_mark_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.polname_.Mutable( GetArena()); + return _impl_.cycle_mark_column_.Mutable( GetArena()); } -inline std::string* WithCheckOption::release_polname() { +inline std::string* CTECycleClause::release_cycle_mark_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.polname) - return _impl_.polname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_column) + return _impl_.cycle_mark_column_.Release(); } -inline void WithCheckOption::set_allocated_polname(std::string* value) { +inline void CTECycleClause::set_allocated_cycle_mark_column(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.polname_.SetAllocated(value, GetArena()); + _impl_.cycle_mark_column_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.polname_.IsDefault()) { - _impl_.polname_.Set("", GetArena()); + if (_impl_.cycle_mark_column_.IsDefault()) { + _impl_.cycle_mark_column_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.polname) + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_column) } -// .pg_query.Node qual = 4 [json_name = "qual"]; -inline bool WithCheckOption::has_qual() const { +// .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; +inline bool CTECycleClause::has_cycle_mark_value() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.cycle_mark_value_ != nullptr); return value; } -inline void WithCheckOption::clear_qual() { +inline void CTECycleClause::clear_cycle_mark_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + if (_impl_.cycle_mark_value_ != nullptr) _impl_.cycle_mark_value_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WithCheckOption::_internal_qual() const { +inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_value() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.qual_; + const ::pg_query::Node* p = _impl_.cycle_mark_value_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WithCheckOption::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.qual) - return _internal_qual(); +inline const ::pg_query::Node& CTECycleClause::cycle_mark_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_value) + return _internal_cycle_mark_value(); } -inline void WithCheckOption::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { +inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_value(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_value_); } - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WithCheckOption.qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_value) } -inline ::pg_query::Node* WithCheckOption::release_qual() { +inline ::pg_query::Node* CTECycleClause::release_cycle_mark_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.qual_; - _impl_.qual_ = nullptr; + ::pg_query::Node* released = _impl_.cycle_mark_value_; + _impl_.cycle_mark_value_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -121360,34 +132160,34 @@ inline ::pg_query::Node* WithCheckOption::release_qual() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WithCheckOption::unsafe_arena_release_qual() { +inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.qual) + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_value) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; + ::pg_query::Node* temp = _impl_.cycle_mark_value_; + _impl_.cycle_mark_value_ = nullptr; return temp; } -inline ::pg_query::Node* WithCheckOption::_internal_mutable_qual() { +inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.qual_ == nullptr) { + if (_impl_.cycle_mark_value_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.qual_; + return _impl_.cycle_mark_value_; } -inline ::pg_query::Node* WithCheckOption::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.qual) +inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cycle_mark_value(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_value) return _msg; } -inline void WithCheckOption::set_allocated_qual(::pg_query::Node* value) { +inline void CTECycleClause::set_allocated_cycle_mark_value(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_value_); } if (value != nullptr) { @@ -121400,521 +132200,442 @@ inline void WithCheckOption::set_allocated_qual(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.qual) + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_value) } -// bool cascaded = 5 [json_name = "cascaded"]; -inline void WithCheckOption::clear_cascaded() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cascaded_ = false; -} -inline bool WithCheckOption::cascaded() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.cascaded) - return _internal_cascaded(); +// .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; +inline bool CTECycleClause::has_cycle_mark_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cycle_mark_default_ != nullptr); + return value; } -inline void WithCheckOption::set_cascaded(bool value) { - _internal_set_cascaded(value); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.cascaded) +inline void CTECycleClause::clear_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.cycle_mark_default_ != nullptr) _impl_.cycle_mark_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool WithCheckOption::_internal_cascaded() const { +inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_default() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cascaded_; + const ::pg_query::Node* p = _impl_.cycle_mark_default_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void WithCheckOption::_internal_set_cascaded(bool value) { +inline const ::pg_query::Node& CTECycleClause::cycle_mark_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_default) + return _internal_cycle_mark_default(); +} +inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_default(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cascaded_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_default_); + } + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_default) } - -// ------------------------------------------------------------------- - -// SortGroupClause - -// uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; -inline void SortGroupClause::clear_tle_sort_group_ref() { +inline ::pg_query::Node* CTECycleClause::release_cycle_mark_default() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.tle_sort_group_ref_ = 0u; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.cycle_mark_default_; + _impl_.cycle_mark_default_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t SortGroupClause::tle_sort_group_ref() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.tle_sort_group_ref) - return _internal_tle_sort_group_ref(); +inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_default) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.cycle_mark_default_; + _impl_.cycle_mark_default_ = nullptr; + return temp; } -inline void SortGroupClause::set_tle_sort_group_ref(::uint32_t value) { - _internal_set_tle_sort_group_ref(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.tle_sort_group_ref) +inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.cycle_mark_default_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.cycle_mark_default_; } -inline ::uint32_t SortGroupClause::_internal_tle_sort_group_ref() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.tle_sort_group_ref_; +inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cycle_mark_default(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_default) + return _msg; } -inline void SortGroupClause::_internal_set_tle_sort_group_ref(::uint32_t value) { +inline void CTECycleClause::set_allocated_cycle_mark_default(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.tle_sort_group_ref_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_default_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_default) } -// uint32 eqop = 2 [json_name = "eqop"]; -inline void SortGroupClause::clear_eqop() { +// string cycle_path_column = 5 [json_name = "cycle_path_column"]; +inline void CTECycleClause::clear_cycle_path_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.eqop_ = 0u; -} -inline ::uint32_t SortGroupClause::eqop() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.eqop) - return _internal_eqop(); -} -inline void SortGroupClause::set_eqop(::uint32_t value) { - _internal_set_eqop(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.eqop) + _impl_.cycle_path_column_.ClearToEmpty(); } -inline ::uint32_t SortGroupClause::_internal_eqop() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.eqop_; +inline const std::string& CTECycleClause::cycle_path_column() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_path_column) + return _internal_cycle_path_column(); } -inline void SortGroupClause::_internal_set_eqop(::uint32_t value) { +template +inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_path_column(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.eqop_ = value; -} - -// uint32 sortop = 3 [json_name = "sortop"]; -inline void SortGroupClause::clear_sortop() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.sortop_ = 0u; -} -inline ::uint32_t SortGroupClause::sortop() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.sortop) - return _internal_sortop(); + _impl_.cycle_path_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_path_column) } -inline void SortGroupClause::set_sortop(::uint32_t value) { - _internal_set_sortop(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.sortop) +inline std::string* CTECycleClause::mutable_cycle_path_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cycle_path_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_path_column) + return _s; } -inline ::uint32_t SortGroupClause::_internal_sortop() const { +inline const std::string& CTECycleClause::_internal_cycle_path_column() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.sortop_; + return _impl_.cycle_path_column_.Get(); } -inline void SortGroupClause::_internal_set_sortop(::uint32_t value) { +inline void CTECycleClause::_internal_set_cycle_path_column(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.sortop_ = value; + _impl_.cycle_path_column_.Set(value, GetArena()); } - -// bool nulls_first = 4 [json_name = "nulls_first"]; -inline void SortGroupClause::clear_nulls_first() { +inline std::string* CTECycleClause::_internal_mutable_cycle_path_column() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.nulls_first_ = false; -} -inline bool SortGroupClause::nulls_first() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.nulls_first) - return _internal_nulls_first(); -} -inline void SortGroupClause::set_nulls_first(bool value) { - _internal_set_nulls_first(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.nulls_first) + ; + return _impl_.cycle_path_column_.Mutable( GetArena()); } -inline bool SortGroupClause::_internal_nulls_first() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.nulls_first_; +inline std::string* CTECycleClause::release_cycle_path_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_path_column) + return _impl_.cycle_path_column_.Release(); } -inline void SortGroupClause::_internal_set_nulls_first(bool value) { +inline void CTECycleClause::set_allocated_cycle_path_column(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.nulls_first_ = value; + _impl_.cycle_path_column_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cycle_path_column_.IsDefault()) { + _impl_.cycle_path_column_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_path_column) } -// bool hashable = 5 [json_name = "hashable"]; -inline void SortGroupClause::clear_hashable() { +// int32 location = 6 [json_name = "location"]; +inline void CTECycleClause::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.hashable_ = false; + _impl_.location_ = 0; } -inline bool SortGroupClause::hashable() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.hashable) - return _internal_hashable(); +inline ::int32_t CTECycleClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.location) + return _internal_location(); } -inline void SortGroupClause::set_hashable(bool value) { - _internal_set_hashable(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.hashable) +inline void CTECycleClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.location) } -inline bool SortGroupClause::_internal_hashable() const { +inline ::int32_t CTECycleClause::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.hashable_; + return _impl_.location_; } -inline void SortGroupClause::_internal_set_hashable(bool value) { +inline void CTECycleClause::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.hashable_ = value; + _impl_.location_ = value; } -// ------------------------------------------------------------------- - -// GroupingSet - -// .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; -inline void GroupingSet::clear_kind() { +// uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; +inline void CTECycleClause::clear_cycle_mark_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.kind_ = 0; + _impl_.cycle_mark_type_ = 0u; } -inline ::pg_query::GroupingSetKind GroupingSet::kind() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.kind) - return _internal_kind(); +inline ::uint32_t CTECycleClause::cycle_mark_type() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_type) + return _internal_cycle_mark_type(); } -inline void GroupingSet::set_kind(::pg_query::GroupingSetKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingSet.kind) +inline void CTECycleClause::set_cycle_mark_type(::uint32_t value) { + _internal_set_cycle_mark_type(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_type) } -inline ::pg_query::GroupingSetKind GroupingSet::_internal_kind() const { +inline ::uint32_t CTECycleClause::_internal_cycle_mark_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::GroupingSetKind>(_impl_.kind_); + return _impl_.cycle_mark_type_; } -inline void GroupingSet::_internal_set_kind(::pg_query::GroupingSetKind value) { +inline void CTECycleClause::_internal_set_cycle_mark_type(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.kind_ = value; + _impl_.cycle_mark_type_ = value; } -// repeated .pg_query.Node content = 2 [json_name = "content"]; -inline int GroupingSet::_internal_content_size() const { - return _internal_content().size(); -} -inline int GroupingSet::content_size() const { - return _internal_content_size(); -} -inline void GroupingSet::clear_content() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.content_.Clear(); -} -inline ::pg_query::Node* GroupingSet::mutable_content(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingSet.content) - return _internal_mutable_content()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingSet::mutable_content() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingSet.content) +// int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; +inline void CTECycleClause::clear_cycle_mark_typmod() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_content(); -} -inline const ::pg_query::Node& GroupingSet::content(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.content) - return _internal_content().Get(index); + _impl_.cycle_mark_typmod_ = 0; } -inline ::pg_query::Node* GroupingSet::add_content() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_content()->Add(); - // @@protoc_insertion_point(field_add:pg_query.GroupingSet.content) - return _add; +inline ::int32_t CTECycleClause::cycle_mark_typmod() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_typmod) + return _internal_cycle_mark_typmod(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingSet::content() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.GroupingSet.content) - return _internal_content(); +inline void CTECycleClause::set_cycle_mark_typmod(::int32_t value) { + _internal_set_cycle_mark_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_typmod) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -GroupingSet::_internal_content() const { +inline ::int32_t CTECycleClause::_internal_cycle_mark_typmod() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.content_; + return _impl_.cycle_mark_typmod_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -GroupingSet::_internal_mutable_content() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.content_; +inline void CTECycleClause::_internal_set_cycle_mark_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_typmod_ = value; } -// int32 location = 3 [json_name = "location"]; -inline void GroupingSet::clear_location() { +// uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; +inline void CTECycleClause::clear_cycle_mark_collation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.cycle_mark_collation_ = 0u; } -inline ::int32_t GroupingSet::location() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.location) - return _internal_location(); +inline ::uint32_t CTECycleClause::cycle_mark_collation() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_collation) + return _internal_cycle_mark_collation(); } -inline void GroupingSet::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingSet.location) +inline void CTECycleClause::set_cycle_mark_collation(::uint32_t value) { + _internal_set_cycle_mark_collation(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_collation) } -inline ::int32_t GroupingSet::_internal_location() const { +inline ::uint32_t CTECycleClause::_internal_cycle_mark_collation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.cycle_mark_collation_; } -inline void GroupingSet::_internal_set_location(::int32_t value) { +inline void CTECycleClause::_internal_set_cycle_mark_collation(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.cycle_mark_collation_ = value; } -// ------------------------------------------------------------------- - -// WindowClause - -// string name = 1 [json_name = "name"]; -inline void WindowClause::clear_name() { +// uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; +inline void CTECycleClause::clear_cycle_mark_neop() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); -} -inline const std::string& WindowClause::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.name) - return _internal_name(); + _impl_.cycle_mark_neop_ = 0u; } -template -inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_name(Arg_&& arg, - Args_... args) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.name) +inline ::uint32_t CTECycleClause::cycle_mark_neop() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_neop) + return _internal_cycle_mark_neop(); } -inline std::string* WindowClause::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.name) - return _s; +inline void CTECycleClause::set_cycle_mark_neop(::uint32_t value) { + _internal_set_cycle_mark_neop(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_neop) } -inline const std::string& WindowClause::_internal_name() const { +inline ::uint32_t CTECycleClause::_internal_cycle_mark_neop() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); -} -inline void WindowClause::_internal_set_name(const std::string& value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); + return _impl_.cycle_mark_neop_; } -inline std::string* WindowClause::_internal_mutable_name() { +inline void CTECycleClause::_internal_set_cycle_mark_neop(::uint32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.name_.Mutable( GetArena()); -} -inline std::string* WindowClause::release_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowClause.name) - return _impl_.name_.Release(); -} -inline void WindowClause::set_allocated_name(std::string* value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.name) + _impl_.cycle_mark_neop_ = value; } -// string refname = 2 [json_name = "refname"]; -inline void WindowClause::clear_refname() { +// ------------------------------------------------------------------- + +// CommonTableExpr + +// string ctename = 1 [json_name = "ctename"]; +inline void CommonTableExpr::clear_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refname_.ClearToEmpty(); + _impl_.ctename_.ClearToEmpty(); } -inline const std::string& WindowClause::refname() const +inline const std::string& CommonTableExpr::ctename() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.refname) - return _internal_refname(); + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctename) + return _internal_ctename(); } template -inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_refname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void CommonTableExpr::set_ctename(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.refname) + _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctename) } -inline std::string* WindowClause::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_refname(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.refname) +inline std::string* CommonTableExpr::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_ctename(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctename) return _s; } -inline const std::string& WindowClause::_internal_refname() const { +inline const std::string& CommonTableExpr::_internal_ctename() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.refname_.Get(); + return _impl_.ctename_.Get(); } -inline void WindowClause::_internal_set_refname(const std::string& value) { +inline void CommonTableExpr::_internal_set_ctename(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.refname_.Set(value, GetArena()); + _impl_.ctename_.Set(value, GetArena()); } -inline std::string* WindowClause::_internal_mutable_refname() { +inline std::string* CommonTableExpr::_internal_mutable_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.refname_.Mutable( GetArena()); + return _impl_.ctename_.Mutable( GetArena()); } -inline std::string* WindowClause::release_refname() { +inline std::string* CommonTableExpr::release_ctename() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowClause.refname) - return _impl_.refname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctename) + return _impl_.ctename_.Release(); } -inline void WindowClause::set_allocated_refname(std::string* value) { +inline void CommonTableExpr::set_allocated_ctename(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.refname_.SetAllocated(value, GetArena()); + _impl_.ctename_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.refname_.IsDefault()) { - _impl_.refname_.Set("", GetArena()); + if (_impl_.ctename_.IsDefault()) { + _impl_.ctename_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.refname) -} - -// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; -inline int WindowClause::_internal_partition_clause_size() const { - return _internal_partition_clause().size(); -} -inline int WindowClause::partition_clause_size() const { - return _internal_partition_clause_size(); -} -inline void WindowClause::clear_partition_clause() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.partition_clause_.Clear(); -} -inline ::pg_query::Node* WindowClause::mutable_partition_clause(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.partition_clause) - return _internal_mutable_partition_clause()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_partition_clause() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.partition_clause) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_partition_clause(); -} -inline const ::pg_query::Node& WindowClause::partition_clause(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.partition_clause) - return _internal_partition_clause().Get(index); -} -inline ::pg_query::Node* WindowClause::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.partition_clause) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::partition_clause() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.partition_clause) - return _internal_partition_clause(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowClause::_internal_partition_clause() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.partition_clause_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowClause::_internal_mutable_partition_clause() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.partition_clause_; + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctename) } -// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; -inline int WindowClause::_internal_order_clause_size() const { - return _internal_order_clause().size(); +// repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; +inline int CommonTableExpr::_internal_aliascolnames_size() const { + return _internal_aliascolnames().size(); } -inline int WindowClause::order_clause_size() const { - return _internal_order_clause_size(); +inline int CommonTableExpr::aliascolnames_size() const { + return _internal_aliascolnames_size(); } -inline void WindowClause::clear_order_clause() { +inline void CommonTableExpr::clear_aliascolnames() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.order_clause_.Clear(); + _impl_.aliascolnames_.Clear(); } -inline ::pg_query::Node* WindowClause::mutable_order_clause(int index) +inline ::pg_query::Node* CommonTableExpr::mutable_aliascolnames(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.order_clause) - return _internal_mutable_order_clause()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.aliascolnames) + return _internal_mutable_aliascolnames()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_order_clause() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_aliascolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.order_clause) + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.aliascolnames) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_order_clause(); + return _internal_mutable_aliascolnames(); } -inline const ::pg_query::Node& WindowClause::order_clause(int index) const +inline const ::pg_query::Node& CommonTableExpr::aliascolnames(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.order_clause) - return _internal_order_clause().Get(index); + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.aliascolnames) + return _internal_aliascolnames().Get(index); } -inline ::pg_query::Node* WindowClause::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CommonTableExpr::add_aliascolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.order_clause) + ::pg_query::Node* _add = _internal_mutable_aliascolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.aliascolnames) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::order_clause() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::aliascolnames() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.order_clause) - return _internal_order_clause(); + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.aliascolnames) + return _internal_aliascolnames(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowClause::_internal_order_clause() const { +CommonTableExpr::_internal_aliascolnames() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.order_clause_; + return _impl_.aliascolnames_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowClause::_internal_mutable_order_clause() { +CommonTableExpr::_internal_mutable_aliascolnames() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.order_clause_; + return &_impl_.aliascolnames_; } -// int32 frame_options = 5 [json_name = "frameOptions"]; -inline void WindowClause::clear_frame_options() { +// .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; +inline void CommonTableExpr::clear_ctematerialized() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.frame_options_ = 0; + _impl_.ctematerialized_ = 0; } -inline ::int32_t WindowClause::frame_options() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.frame_options) - return _internal_frame_options(); +inline ::pg_query::CTEMaterialize CommonTableExpr::ctematerialized() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctematerialized) + return _internal_ctematerialized(); } -inline void WindowClause::set_frame_options(::int32_t value) { - _internal_set_frame_options(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.frame_options) +inline void CommonTableExpr::set_ctematerialized(::pg_query::CTEMaterialize value) { + _internal_set_ctematerialized(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctematerialized) } -inline ::int32_t WindowClause::_internal_frame_options() const { +inline ::pg_query::CTEMaterialize CommonTableExpr::_internal_ctematerialized() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.frame_options_; + return static_cast<::pg_query::CTEMaterialize>(_impl_.ctematerialized_); } -inline void WindowClause::_internal_set_frame_options(::int32_t value) { +inline void CommonTableExpr::_internal_set_ctematerialized(::pg_query::CTEMaterialize value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.frame_options_ = value; + _impl_.ctematerialized_ = value; } -// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; -inline bool WindowClause::has_start_offset() const { +// .pg_query.Node ctequery = 4 [json_name = "ctequery"]; +inline bool CommonTableExpr::has_ctequery() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.ctequery_ != nullptr); return value; } -inline void WindowClause::clear_start_offset() { +inline void CommonTableExpr::clear_ctequery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + if (_impl_.ctequery_ != nullptr) _impl_.ctequery_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WindowClause::_internal_start_offset() const { +inline const ::pg_query::Node& CommonTableExpr::_internal_ctequery() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.start_offset_; + const ::pg_query::Node* p = _impl_.ctequery_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowClause::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_offset) - return _internal_start_offset(); +inline const ::pg_query::Node& CommonTableExpr::ctequery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctequery) + return _internal_ctequery(); } -inline void WindowClause::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { +inline void CommonTableExpr::unsafe_arena_set_allocated_ctequery(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ctequery_); } - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.start_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.ctequery) } -inline ::pg_query::Node* WindowClause::release_start_offset() { +inline ::pg_query::Node* CommonTableExpr::release_ctequery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; + ::pg_query::Node* released = _impl_.ctequery_; + _impl_.ctequery_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -121928,34 +132649,34 @@ inline ::pg_query::Node* WindowClause::release_start_offset() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WindowClause::unsafe_arena_release_start_offset() { +inline ::pg_query::Node* CommonTableExpr::unsafe_arena_release_ctequery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowClause.start_offset) + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctequery) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; + ::pg_query::Node* temp = _impl_.ctequery_; + _impl_.ctequery_ = nullptr; return temp; } -inline ::pg_query::Node* WindowClause::_internal_mutable_start_offset() { +inline ::pg_query::Node* CommonTableExpr::_internal_mutable_ctequery() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.start_offset_ == nullptr) { + if (_impl_.ctequery_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.start_offset_; + return _impl_.ctequery_; } -inline ::pg_query::Node* WindowClause::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_start_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.start_offset) +inline ::pg_query::Node* CommonTableExpr::mutable_ctequery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_ctequery(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctequery) return _msg; } -inline void WindowClause::set_allocated_start_offset(::pg_query::Node* value) { +inline void CommonTableExpr::set_allocated_ctequery(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.ctequery_); } if (value != nullptr) { @@ -121968,49 +132689,49 @@ inline void WindowClause::set_allocated_start_offset(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.start_offset) + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctequery) } -// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; -inline bool WindowClause::has_end_offset() const { +// .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; +inline bool CommonTableExpr::has_search_clause() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.search_clause_ != nullptr); return value; } -inline void WindowClause::clear_end_offset() { +inline void CommonTableExpr::clear_search_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); + if (_impl_.search_clause_ != nullptr) _impl_.search_clause_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& WindowClause::_internal_end_offset() const { +inline const ::pg_query::CTESearchClause& CommonTableExpr::_internal_search_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.end_offset_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::CTESearchClause* p = _impl_.search_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTESearchClause_default_instance_); } -inline const ::pg_query::Node& WindowClause::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_offset) - return _internal_end_offset(); +inline const ::pg_query::CTESearchClause& CommonTableExpr::search_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.search_clause) + return _internal_search_clause(); } -inline void WindowClause::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { +inline void CommonTableExpr::unsafe_arena_set_allocated_search_clause(::pg_query::CTESearchClause* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.search_clause_); } - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.end_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.search_clause) } -inline ::pg_query::Node* WindowClause::release_end_offset() { +inline ::pg_query::CTESearchClause* CommonTableExpr::release_search_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; + ::pg_query::CTESearchClause* released = _impl_.search_clause_; + _impl_.search_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -122024,38 +132745,38 @@ inline ::pg_query::Node* WindowClause::release_end_offset() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* WindowClause::unsafe_arena_release_end_offset() { +inline ::pg_query::CTESearchClause* CommonTableExpr::unsafe_arena_release_search_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.WindowClause.end_offset) + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.search_clause) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; + ::pg_query::CTESearchClause* temp = _impl_.search_clause_; + _impl_.search_clause_ = nullptr; return temp; } -inline ::pg_query::Node* WindowClause::_internal_mutable_end_offset() { +inline ::pg_query::CTESearchClause* CommonTableExpr::_internal_mutable_search_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.end_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.search_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(p); } - return _impl_.end_offset_; + return _impl_.search_clause_; } -inline ::pg_query::Node* WindowClause::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_end_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.end_offset) +inline ::pg_query::CTESearchClause* CommonTableExpr::mutable_search_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTESearchClause* _msg = _internal_mutable_search_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.search_clause) return _msg; } -inline void WindowClause::set_allocated_end_offset(::pg_query::Node* value) { +inline void CommonTableExpr::set_allocated_search_clause(::pg_query::CTESearchClause* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); + delete reinterpret_cast<::pg_query::CTESearchClause*>(_impl_.search_clause_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTESearchClause*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -122064,507 +132785,483 @@ inline void WindowClause::set_allocated_end_offset(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.end_offset) + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.search_clause) } -// repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; -inline int WindowClause::_internal_run_condition_size() const { - return _internal_run_condition().size(); -} -inline int WindowClause::run_condition_size() const { - return _internal_run_condition_size(); -} -inline void WindowClause::clear_run_condition() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.run_condition_.Clear(); -} -inline ::pg_query::Node* WindowClause::mutable_run_condition(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.run_condition) - return _internal_mutable_run_condition()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_run_condition() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.run_condition) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_run_condition(); -} -inline const ::pg_query::Node& WindowClause::run_condition(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.run_condition) - return _internal_run_condition().Get(index); +// .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; +inline bool CommonTableExpr::has_cycle_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cycle_clause_ != nullptr); + return value; } -inline ::pg_query::Node* WindowClause::add_run_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void CommonTableExpr::clear_cycle_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_run_condition()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.run_condition) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::run_condition() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.run_condition) - return _internal_run_condition(); + if (_impl_.cycle_clause_ != nullptr) _impl_.cycle_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WindowClause::_internal_run_condition() const { +inline const ::pg_query::CTECycleClause& CommonTableExpr::_internal_cycle_clause() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.run_condition_; + const ::pg_query::CTECycleClause* p = _impl_.cycle_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTECycleClause_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WindowClause::_internal_mutable_run_condition() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.run_condition_; +inline const ::pg_query::CTECycleClause& CommonTableExpr::cycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cycle_clause) + return _internal_cycle_clause(); } - -// uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"]; -inline void WindowClause::clear_start_in_range_func() { +inline void CommonTableExpr::unsafe_arena_set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.start_in_range_func_ = 0u; -} -inline ::uint32_t WindowClause::start_in_range_func() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_in_range_func) - return _internal_start_in_range_func(); -} -inline void WindowClause::set_start_in_range_func(::uint32_t value) { - _internal_set_start_in_range_func(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.start_in_range_func) -} -inline ::uint32_t WindowClause::_internal_start_in_range_func() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.start_in_range_func_; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_clause_); + } + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.cycle_clause) } -inline void WindowClause::_internal_set_start_in_range_func(::uint32_t value) { +inline ::pg_query::CTECycleClause* CommonTableExpr::release_cycle_clause() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.start_in_range_func_ = value; -} -// uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"]; -inline void WindowClause::clear_end_in_range_func() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.end_in_range_func_ = 0u; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::CTECycleClause* released = _impl_.cycle_clause_; + _impl_.cycle_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t WindowClause::end_in_range_func() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_in_range_func) - return _internal_end_in_range_func(); +inline ::pg_query::CTECycleClause* CommonTableExpr::unsafe_arena_release_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.cycle_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::CTECycleClause* temp = _impl_.cycle_clause_; + _impl_.cycle_clause_ = nullptr; + return temp; } -inline void WindowClause::set_end_in_range_func(::uint32_t value) { - _internal_set_end_in_range_func(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.end_in_range_func) +inline ::pg_query::CTECycleClause* CommonTableExpr::_internal_mutable_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.cycle_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(p); + } + return _impl_.cycle_clause_; } -inline ::uint32_t WindowClause::_internal_end_in_range_func() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.end_in_range_func_; +inline ::pg_query::CTECycleClause* CommonTableExpr::mutable_cycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTECycleClause* _msg = _internal_mutable_cycle_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.cycle_clause) + return _msg; } -inline void WindowClause::_internal_set_end_in_range_func(::uint32_t value) { +inline void CommonTableExpr::set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.end_in_range_func_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::CTECycleClause*>(_impl_.cycle_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTECycleClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.cycle_clause) } -// uint32 in_range_coll = 11 [json_name = "inRangeColl"]; -inline void WindowClause::clear_in_range_coll() { +// int32 location = 7 [json_name = "location"]; +inline void CommonTableExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.in_range_coll_ = 0u; + _impl_.location_ = 0; } -inline ::uint32_t WindowClause::in_range_coll() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_coll) - return _internal_in_range_coll(); +inline ::int32_t CommonTableExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.location) + return _internal_location(); } -inline void WindowClause::set_in_range_coll(::uint32_t value) { - _internal_set_in_range_coll(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_coll) +inline void CommonTableExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.location) } -inline ::uint32_t WindowClause::_internal_in_range_coll() const { +inline ::int32_t CommonTableExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.in_range_coll_; + return _impl_.location_; } -inline void WindowClause::_internal_set_in_range_coll(::uint32_t value) { +inline void CommonTableExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.in_range_coll_ = value; + _impl_.location_ = value; } -// bool in_range_asc = 12 [json_name = "inRangeAsc"]; -inline void WindowClause::clear_in_range_asc() { +// bool cterecursive = 8 [json_name = "cterecursive"]; +inline void CommonTableExpr::clear_cterecursive() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.in_range_asc_ = false; + _impl_.cterecursive_ = false; } -inline bool WindowClause::in_range_asc() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_asc) - return _internal_in_range_asc(); +inline bool CommonTableExpr::cterecursive() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterecursive) + return _internal_cterecursive(); } -inline void WindowClause::set_in_range_asc(bool value) { - _internal_set_in_range_asc(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_asc) +inline void CommonTableExpr::set_cterecursive(bool value) { + _internal_set_cterecursive(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterecursive) } -inline bool WindowClause::_internal_in_range_asc() const { +inline bool CommonTableExpr::_internal_cterecursive() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.in_range_asc_; + return _impl_.cterecursive_; } -inline void WindowClause::_internal_set_in_range_asc(bool value) { +inline void CommonTableExpr::_internal_set_cterecursive(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.in_range_asc_ = value; + _impl_.cterecursive_ = value; } -// bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"]; -inline void WindowClause::clear_in_range_nulls_first() { +// int32 cterefcount = 9 [json_name = "cterefcount"]; +inline void CommonTableExpr::clear_cterefcount() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.in_range_nulls_first_ = false; + _impl_.cterefcount_ = 0; } -inline bool WindowClause::in_range_nulls_first() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_nulls_first) - return _internal_in_range_nulls_first(); +inline ::int32_t CommonTableExpr::cterefcount() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterefcount) + return _internal_cterefcount(); } -inline void WindowClause::set_in_range_nulls_first(bool value) { - _internal_set_in_range_nulls_first(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_nulls_first) +inline void CommonTableExpr::set_cterefcount(::int32_t value) { + _internal_set_cterefcount(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterefcount) } -inline bool WindowClause::_internal_in_range_nulls_first() const { +inline ::int32_t CommonTableExpr::_internal_cterefcount() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.in_range_nulls_first_; + return _impl_.cterefcount_; } -inline void WindowClause::_internal_set_in_range_nulls_first(bool value) { +inline void CommonTableExpr::_internal_set_cterefcount(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.in_range_nulls_first_ = value; + _impl_.cterefcount_ = value; } -// uint32 winref = 14 [json_name = "winref"]; -inline void WindowClause::clear_winref() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.winref_ = 0u; +// repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; +inline int CommonTableExpr::_internal_ctecolnames_size() const { + return _internal_ctecolnames().size(); } -inline ::uint32_t WindowClause::winref() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.winref) - return _internal_winref(); +inline int CommonTableExpr::ctecolnames_size() const { + return _internal_ctecolnames_size(); } -inline void WindowClause::set_winref(::uint32_t value) { - _internal_set_winref(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.winref) +inline void CommonTableExpr::clear_ctecolnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecolnames_.Clear(); } -inline ::uint32_t WindowClause::_internal_winref() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.winref_; +inline ::pg_query::Node* CommonTableExpr::mutable_ctecolnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolnames) + return _internal_mutable_ctecolnames()->Mutable(index); } -inline void WindowClause::_internal_set_winref(::uint32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolnames) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.winref_ = value; + return _internal_mutable_ctecolnames(); } - -// bool copied_order = 15 [json_name = "copiedOrder"]; -inline void WindowClause::clear_copied_order() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.copied_order_ = false; +inline const ::pg_query::Node& CommonTableExpr::ctecolnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolnames) + return _internal_ctecolnames().Get(index); } -inline bool WindowClause::copied_order() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.copied_order) - return _internal_copied_order(); +inline ::pg_query::Node* CommonTableExpr::add_ctecolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolnames) + return _add; } -inline void WindowClause::set_copied_order(bool value) { - _internal_set_copied_order(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.copied_order) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolnames) + return _internal_ctecolnames(); } -inline bool WindowClause::_internal_copied_order() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecolnames() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.copied_order_; + return _impl_.ctecolnames_; } -inline void WindowClause::_internal_set_copied_order(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.copied_order_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecolnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecolnames_; } -// ------------------------------------------------------------------- - -// RowMarkClause - -// uint32 rti = 1 [json_name = "rti"]; -inline void RowMarkClause::clear_rti() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.rti_ = 0u; +// repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; +inline int CommonTableExpr::_internal_ctecoltypes_size() const { + return _internal_ctecoltypes().size(); } -inline ::uint32_t RowMarkClause::rti() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.rti) - return _internal_rti(); +inline int CommonTableExpr::ctecoltypes_size() const { + return _internal_ctecoltypes_size(); } -inline void RowMarkClause::set_rti(::uint32_t value) { - _internal_set_rti(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.rti) +inline void CommonTableExpr::clear_ctecoltypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecoltypes_.Clear(); } -inline ::uint32_t RowMarkClause::_internal_rti() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.rti_; +inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypes) + return _internal_mutable_ctecoltypes()->Mutable(index); } -inline void RowMarkClause::_internal_set_rti(::uint32_t value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypes) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.rti_ = value; + return _internal_mutable_ctecoltypes(); } - -// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; -inline void RowMarkClause::clear_strength() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.strength_ = 0; +inline const ::pg_query::Node& CommonTableExpr::ctecoltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypes) + return _internal_ctecoltypes().Get(index); } -inline ::pg_query::LockClauseStrength RowMarkClause::strength() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.strength) - return _internal_strength(); +inline ::pg_query::Node* CommonTableExpr::add_ctecoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecoltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypes) + return _add; } -inline void RowMarkClause::set_strength(::pg_query::LockClauseStrength value) { - _internal_set_strength(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.strength) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypes) + return _internal_ctecoltypes(); } -inline ::pg_query::LockClauseStrength RowMarkClause::_internal_strength() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecoltypes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); + return _impl_.ctecoltypes_; } -inline void RowMarkClause::_internal_set_strength(::pg_query::LockClauseStrength value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.strength_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecoltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecoltypes_; } -// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; -inline void RowMarkClause::clear_wait_policy() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.wait_policy_ = 0; +// repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; +inline int CommonTableExpr::_internal_ctecoltypmods_size() const { + return _internal_ctecoltypmods().size(); } -inline ::pg_query::LockWaitPolicy RowMarkClause::wait_policy() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.wait_policy) - return _internal_wait_policy(); +inline int CommonTableExpr::ctecoltypmods_size() const { + return _internal_ctecoltypmods_size(); } -inline void RowMarkClause::set_wait_policy(::pg_query::LockWaitPolicy value) { - _internal_set_wait_policy(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.wait_policy) +inline void CommonTableExpr::clear_ctecoltypmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecoltypmods_.Clear(); } -inline ::pg_query::LockWaitPolicy RowMarkClause::_internal_wait_policy() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); +inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_mutable_ctecoltypmods()->Mutable(index); } -inline void RowMarkClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypmods) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.wait_policy_ = value; + return _internal_mutable_ctecoltypmods(); } - -// bool pushed_down = 4 [json_name = "pushedDown"]; -inline void RowMarkClause::clear_pushed_down() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.pushed_down_ = false; +inline const ::pg_query::Node& CommonTableExpr::ctecoltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_ctecoltypmods().Get(index); } -inline bool RowMarkClause::pushed_down() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.pushed_down) - return _internal_pushed_down(); +inline ::pg_query::Node* CommonTableExpr::add_ctecoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecoltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypmods) + return _add; } -inline void RowMarkClause::set_pushed_down(bool value) { - _internal_set_pushed_down(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.pushed_down) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_ctecoltypmods(); } -inline bool RowMarkClause::_internal_pushed_down() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecoltypmods() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.pushed_down_; + return _impl_.ctecoltypmods_; } -inline void RowMarkClause::_internal_set_pushed_down(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.pushed_down_ = value; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecoltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecoltypmods_; } -// ------------------------------------------------------------------- - -// WithClause - -// repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; -inline int WithClause::_internal_ctes_size() const { - return _internal_ctes().size(); +// repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; +inline int CommonTableExpr::_internal_ctecolcollations_size() const { + return _internal_ctecolcollations().size(); } -inline int WithClause::ctes_size() const { - return _internal_ctes_size(); +inline int CommonTableExpr::ctecolcollations_size() const { + return _internal_ctecolcollations_size(); } -inline void WithClause::clear_ctes() { +inline void CommonTableExpr::clear_ctecolcollations() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctes_.Clear(); + _impl_.ctecolcollations_.Clear(); } -inline ::pg_query::Node* WithClause::mutable_ctes(int index) +inline ::pg_query::Node* CommonTableExpr::mutable_ctecolcollations(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.WithClause.ctes) - return _internal_mutable_ctes()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolcollations) + return _internal_mutable_ctecolcollations()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WithClause::mutable_ctes() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.WithClause.ctes) + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolcollations) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ctes(); + return _internal_mutable_ctecolcollations(); } -inline const ::pg_query::Node& WithClause::ctes(int index) const +inline const ::pg_query::Node& CommonTableExpr::ctecolcollations(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.WithClause.ctes) - return _internal_ctes().Get(index); + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolcollations) + return _internal_ctecolcollations().Get(index); } -inline ::pg_query::Node* WithClause::add_ctes() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* CommonTableExpr::add_ctecolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ctes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.WithClause.ctes) + ::pg_query::Node* _add = _internal_mutable_ctecolcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolcollations) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WithClause::ctes() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolcollations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.WithClause.ctes) - return _internal_ctes(); + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolcollations) + return _internal_ctecolcollations(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -WithClause::_internal_ctes() const { +CommonTableExpr::_internal_ctecolcollations() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctes_; + return _impl_.ctecolcollations_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -WithClause::_internal_mutable_ctes() { +CommonTableExpr::_internal_mutable_ctecolcollations() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ctes_; + return &_impl_.ctecolcollations_; } -// bool recursive = 2 [json_name = "recursive"]; -inline void WithClause::clear_recursive() { +// ------------------------------------------------------------------- + +// MergeWhenClause + +// .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; +inline void MergeWhenClause::clear_match_kind() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.recursive_ = false; + _impl_.match_kind_ = 0; } -inline bool WithClause::recursive() const { - // @@protoc_insertion_point(field_get:pg_query.WithClause.recursive) - return _internal_recursive(); +inline ::pg_query::MergeMatchKind MergeWhenClause::match_kind() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.match_kind) + return _internal_match_kind(); } -inline void WithClause::set_recursive(bool value) { - _internal_set_recursive(value); - // @@protoc_insertion_point(field_set:pg_query.WithClause.recursive) +inline void MergeWhenClause::set_match_kind(::pg_query::MergeMatchKind value) { + _internal_set_match_kind(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.match_kind) } -inline bool WithClause::_internal_recursive() const { +inline ::pg_query::MergeMatchKind MergeWhenClause::_internal_match_kind() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.recursive_; + return static_cast<::pg_query::MergeMatchKind>(_impl_.match_kind_); } -inline void WithClause::_internal_set_recursive(bool value) { +inline void MergeWhenClause::_internal_set_match_kind(::pg_query::MergeMatchKind value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.recursive_ = value; + _impl_.match_kind_ = value; } -// int32 location = 3 [json_name = "location"]; -inline void WithClause::clear_location() { +// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; +inline void MergeWhenClause::clear_command_type() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.command_type_ = 0; } -inline ::int32_t WithClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.WithClause.location) - return _internal_location(); +inline ::pg_query::CmdType MergeWhenClause::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.command_type) + return _internal_command_type(); } -inline void WithClause::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WithClause.location) +inline void MergeWhenClause::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.command_type) } -inline ::int32_t WithClause::_internal_location() const { +inline ::pg_query::CmdType MergeWhenClause::_internal_command_type() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return static_cast<::pg_query::CmdType>(_impl_.command_type_); } -inline void WithClause::_internal_set_location(::int32_t value) { +inline void MergeWhenClause::_internal_set_command_type(::pg_query::CmdType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.command_type_ = value; } -// ------------------------------------------------------------------- - -// InferClause - -// repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; -inline int InferClause::_internal_index_elems_size() const { - return _internal_index_elems().size(); -} -inline int InferClause::index_elems_size() const { - return _internal_index_elems_size(); -} -inline void InferClause::clear_index_elems() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.index_elems_.Clear(); -} -inline ::pg_query::Node* InferClause::mutable_index_elems(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.index_elems) - return _internal_mutable_index_elems()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* InferClause::mutable_index_elems() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.InferClause.index_elems) +// .pg_query.OverridingKind override = 3 [json_name = "override"]; +inline void MergeWhenClause::clear_override() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_index_elems(); -} -inline const ::pg_query::Node& InferClause::index_elems(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.InferClause.index_elems) - return _internal_index_elems().Get(index); + _impl_.override_ = 0; } -inline ::pg_query::Node* InferClause::add_index_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_index_elems()->Add(); - // @@protoc_insertion_point(field_add:pg_query.InferClause.index_elems) - return _add; +inline ::pg_query::OverridingKind MergeWhenClause::override() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.override) + return _internal_override(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& InferClause::index_elems() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.InferClause.index_elems) - return _internal_index_elems(); +inline void MergeWhenClause::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.override) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -InferClause::_internal_index_elems() const { +inline ::pg_query::OverridingKind MergeWhenClause::_internal_override() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.index_elems_; + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -InferClause::_internal_mutable_index_elems() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.index_elems_; +inline void MergeWhenClause::_internal_set_override(::pg_query::OverridingKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; } -// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; -inline bool InferClause::has_where_clause() const { +// .pg_query.Node condition = 4 [json_name = "condition"]; +inline bool MergeWhenClause::has_condition() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.condition_ != nullptr); return value; } -inline void InferClause::clear_where_clause() { +inline void MergeWhenClause::clear_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + if (_impl_.condition_ != nullptr) _impl_.condition_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& InferClause::_internal_where_clause() const { +inline const ::pg_query::Node& MergeWhenClause::_internal_condition() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.where_clause_; + const ::pg_query::Node* p = _impl_.condition_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& InferClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.InferClause.where_clause) - return _internal_where_clause(); +inline const ::pg_query::Node& MergeWhenClause::condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.condition) + return _internal_condition(); } -inline void InferClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { +inline void MergeWhenClause::unsafe_arena_set_allocated_condition(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.condition_); } - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferClause.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeWhenClause.condition) } -inline ::pg_query::Node* InferClause::release_where_clause() { +inline ::pg_query::Node* MergeWhenClause::release_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; + ::pg_query::Node* released = _impl_.condition_; + _impl_.condition_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -122578,34 +133275,34 @@ inline ::pg_query::Node* InferClause::release_where_clause() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* InferClause::unsafe_arena_release_where_clause() { +inline ::pg_query::Node* MergeWhenClause::unsafe_arena_release_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.InferClause.where_clause) + // @@protoc_insertion_point(field_release:pg_query.MergeWhenClause.condition) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; + ::pg_query::Node* temp = _impl_.condition_; + _impl_.condition_ = nullptr; return temp; } -inline ::pg_query::Node* InferClause::_internal_mutable_where_clause() { +inline ::pg_query::Node* MergeWhenClause::_internal_mutable_condition() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.where_clause_ == nullptr) { + if (_impl_.condition_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.where_clause_; + return _impl_.condition_; } -inline ::pg_query::Node* InferClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.where_clause) +inline ::pg_query::Node* MergeWhenClause::mutable_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.condition) return _msg; } -inline void InferClause::set_allocated_where_clause(::pg_query::Node* value) { +inline void MergeWhenClause::set_allocated_condition(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.condition_); } if (value != nullptr) { @@ -122618,152 +133315,254 @@ inline void InferClause::set_allocated_where_clause(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.where_clause) + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeWhenClause.condition) } -// string conname = 3 [json_name = "conname"]; -inline void InferClause::clear_conname() { +// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; +inline int MergeWhenClause::_internal_target_list_size() const { + return _internal_target_list().size(); +} +inline int MergeWhenClause::target_list_size() const { + return _internal_target_list_size(); +} +inline void MergeWhenClause::clear_target_list() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.conname_.ClearToEmpty(); + _impl_.target_list_.Clear(); } -inline const std::string& InferClause::conname() const +inline ::pg_query::Node* MergeWhenClause::mutable_target_list(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.InferClause.conname) - return _internal_conname(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.target_list) + return _internal_mutable_target_list()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); +} +inline const ::pg_query::Node& MergeWhenClause::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.target_list) + return _internal_target_list().Get(index); +} +inline ::pg_query::Node* MergeWhenClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.target_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.target_list) + return _internal_target_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeWhenClause::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeWhenClause::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; +} + +// repeated .pg_query.Node values = 6 [json_name = "values"]; +inline int MergeWhenClause::_internal_values_size() const { + return _internal_values().size(); +} +inline int MergeWhenClause::values_size() const { + return _internal_values_size(); +} +inline void MergeWhenClause::clear_values() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.values_.Clear(); +} +inline ::pg_query::Node* MergeWhenClause::mutable_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.values) + return _internal_mutable_values()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.values) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_values(); +} +inline const ::pg_query::Node& MergeWhenClause::values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.values) + return _internal_values().Get(index); +} +inline ::pg_query::Node* MergeWhenClause::add_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_values()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.values) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.values) + return _internal_values(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeWhenClause::_internal_values() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.values_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeWhenClause::_internal_mutable_values() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.values_; +} + +// ------------------------------------------------------------------- + +// TriggerTransition + +// string name = 1 [json_name = "name"]; +inline void TriggerTransition::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& TriggerTransition::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void InferClause::set_conname(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void TriggerTransition::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.conname_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.InferClause.conname) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.name) } -inline std::string* InferClause::mutable_conname() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_conname(); - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.conname) +inline std::string* TriggerTransition::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.TriggerTransition.name) return _s; } -inline const std::string& InferClause::_internal_conname() const { +inline const std::string& TriggerTransition::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.conname_.Get(); + return _impl_.name_.Get(); } -inline void InferClause::_internal_set_conname(const std::string& value) { +inline void TriggerTransition::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.conname_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* InferClause::_internal_mutable_conname() { +inline std::string* TriggerTransition::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.conname_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* InferClause::release_conname() { +inline std::string* TriggerTransition::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.InferClause.conname) - return _impl_.conname_.Release(); + // @@protoc_insertion_point(field_release:pg_query.TriggerTransition.name) + return _impl_.name_.Release(); } -inline void InferClause::set_allocated_conname(std::string* value) { +inline void TriggerTransition::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.conname_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conname_.IsDefault()) { - _impl_.conname_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.conname) + // @@protoc_insertion_point(field_set_allocated:pg_query.TriggerTransition.name) } -// int32 location = 4 [json_name = "location"]; -inline void InferClause::clear_location() { +// bool is_new = 2 [json_name = "isNew"]; +inline void TriggerTransition::clear_is_new() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.is_new_ = false; } -inline ::int32_t InferClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.InferClause.location) - return _internal_location(); +inline bool TriggerTransition::is_new() const { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_new) + return _internal_is_new(); } -inline void InferClause::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.InferClause.location) +inline void TriggerTransition::set_is_new(bool value) { + _internal_set_is_new(value); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_new) } -inline ::int32_t InferClause::_internal_location() const { +inline bool TriggerTransition::_internal_is_new() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.is_new_; } -inline void InferClause::_internal_set_location(::int32_t value) { +inline void TriggerTransition::_internal_set_is_new(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.is_new_ = value; } -// ------------------------------------------------------------------- - -// OnConflictClause - -// .pg_query.OnConflictAction action = 1 [json_name = "action"]; -inline void OnConflictClause::clear_action() { +// bool is_table = 3 [json_name = "isTable"]; +inline void TriggerTransition::clear_is_table() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.action_ = 0; + _impl_.is_table_ = false; } -inline ::pg_query::OnConflictAction OnConflictClause::action() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.action) - return _internal_action(); +inline bool TriggerTransition::is_table() const { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_table) + return _internal_is_table(); } -inline void OnConflictClause::set_action(::pg_query::OnConflictAction value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.action) +inline void TriggerTransition::set_is_table(bool value) { + _internal_set_is_table(value); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_table) } -inline ::pg_query::OnConflictAction OnConflictClause::_internal_action() const { +inline bool TriggerTransition::_internal_is_table() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OnConflictAction>(_impl_.action_); + return _impl_.is_table_; } -inline void OnConflictClause::_internal_set_action(::pg_query::OnConflictAction value) { +inline void TriggerTransition::_internal_set_is_table(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.action_ = value; + _impl_.is_table_ = value; } -// .pg_query.InferClause infer = 2 [json_name = "infer"]; -inline bool OnConflictClause::has_infer() const { +// ------------------------------------------------------------------- + +// JsonOutput + +// .pg_query.TypeName type_name = 1 [json_name = "typeName"]; +inline bool JsonOutput::has_type_name() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.infer_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); return value; } -inline void OnConflictClause::clear_infer() { +inline void JsonOutput::clear_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.infer_ != nullptr) _impl_.infer_->Clear(); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::InferClause& OnConflictClause::_internal_infer() const { +inline const ::pg_query::TypeName& JsonOutput::_internal_type_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::InferClause* p = _impl_.infer_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_InferClause_default_instance_); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::InferClause& OnConflictClause::infer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.infer) - return _internal_infer(); +inline const ::pg_query::TypeName& JsonOutput::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonOutput.type_name) + return _internal_type_name(); } -inline void OnConflictClause::unsafe_arena_set_allocated_infer(::pg_query::InferClause* value) { +inline void JsonOutput::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.infer_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.infer) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.type_name) } -inline ::pg_query::InferClause* OnConflictClause::release_infer() { +inline ::pg_query::TypeName* JsonOutput::release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::InferClause* released = _impl_.infer_; - _impl_.infer_ = nullptr; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -122777,38 +133576,38 @@ inline ::pg_query::InferClause* OnConflictClause::release_infer() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::InferClause* OnConflictClause::unsafe_arena_release_infer() { +inline ::pg_query::TypeName* JsonOutput::unsafe_arena_release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.infer) + // @@protoc_insertion_point(field_release:pg_query.JsonOutput.type_name) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::InferClause* temp = _impl_.infer_; - _impl_.infer_ = nullptr; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::InferClause* OnConflictClause::_internal_mutable_infer() { +inline ::pg_query::TypeName* JsonOutput::_internal_mutable_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.infer_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); - _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(p); + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.infer_; + return _impl_.type_name_; } -inline ::pg_query::InferClause* OnConflictClause::mutable_infer() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::InferClause* _msg = _internal_mutable_infer(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.infer) +inline ::pg_query::TypeName* JsonOutput::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.type_name) return _msg; } -inline void OnConflictClause::set_allocated_infer(::pg_query::InferClause* value) { +inline void JsonOutput::set_allocated_type_name(::pg_query::TypeName* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::InferClause*>(_impl_.infer_); + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::InferClause*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -122817,98 +133616,49 @@ inline void OnConflictClause::set_allocated_infer(::pg_query::InferClause* value _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.infer) -} - -// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; -inline int OnConflictClause::_internal_target_list_size() const { - return _internal_target_list().size(); -} -inline int OnConflictClause::target_list_size() const { - return _internal_target_list_size(); -} -inline void OnConflictClause::clear_target_list() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.target_list_.Clear(); -} -inline ::pg_query::Node* OnConflictClause::mutable_target_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.target_list) - return _internal_mutable_target_list()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictClause::mutable_target_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictClause.target_list) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_target_list(); -} -inline const ::pg_query::Node& OnConflictClause::target_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.target_list) - return _internal_target_list().Get(index); -} -inline ::pg_query::Node* OnConflictClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictClause.target_list) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictClause::target_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.OnConflictClause.target_list) - return _internal_target_list(); -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -OnConflictClause::_internal_target_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.target_list_; -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -OnConflictClause::_internal_mutable_target_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.target_list_; + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.type_name) } -// .pg_query.Node where_clause = 4 [json_name = "whereClause"]; -inline bool OnConflictClause::has_where_clause() const { +// .pg_query.JsonReturning returning = 2 [json_name = "returning"]; +inline bool JsonOutput::has_returning() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); return value; } -inline void OnConflictClause::clear_where_clause() { +inline void JsonOutput::clear_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& OnConflictClause::_internal_where_clause() const { +inline const ::pg_query::JsonReturning& JsonOutput::_internal_returning() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); } -inline const ::pg_query::Node& OnConflictClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.where_clause) - return _internal_where_clause(); +inline const ::pg_query::JsonReturning& JsonOutput::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonOutput.returning) + return _internal_returning(); } -inline void OnConflictClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { +inline void JsonOutput::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); } - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.returning) } -inline ::pg_query::Node* OnConflictClause::release_where_clause() { +inline ::pg_query::JsonReturning* JsonOutput::release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -122922,38 +133672,38 @@ inline ::pg_query::Node* OnConflictClause::release_where_clause() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* OnConflictClause::unsafe_arena_release_where_clause() { +inline ::pg_query::JsonReturning* JsonOutput::unsafe_arena_release_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.where_clause) + // @@protoc_insertion_point(field_release:pg_query.JsonOutput.returning) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; return temp; } -inline ::pg_query::Node* OnConflictClause::_internal_mutable_where_clause() { +inline ::pg_query::JsonReturning* JsonOutput::_internal_mutable_returning() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); } - return _impl_.where_clause_; + return _impl_.returning_; } -inline ::pg_query::Node* OnConflictClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.where_clause) +inline ::pg_query::JsonReturning* JsonOutput::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.returning) return _msg; } -inline void OnConflictClause::set_allocated_where_clause(::pg_query::Node* value) { +inline void JsonOutput::set_allocated_returning(::pg_query::JsonReturning* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -122962,330 +133712,523 @@ inline void OnConflictClause::set_allocated_where_clause(::pg_query::Node* value _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.where_clause) + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.returning) } -// int32 location = 5 [json_name = "location"]; -inline void OnConflictClause::clear_location() { +// ------------------------------------------------------------------- + +// JsonArgument + +// .pg_query.JsonValueExpr val = 1 [json_name = "val"]; +inline bool JsonArgument::has_val() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); + return value; +} +inline void JsonArgument::clear_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + if (_impl_.val_ != nullptr) _impl_.val_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::int32_t OnConflictClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.location) - return _internal_location(); +inline const ::pg_query::JsonValueExpr& JsonArgument::_internal_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.val_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline void OnConflictClause::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.location) +inline const ::pg_query::JsonValueExpr& JsonArgument::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArgument.val) + return _internal_val(); } -inline ::int32_t OnConflictClause::_internal_location() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; +inline void JsonArgument::unsafe_arena_set_allocated_val(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); + } + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArgument.val) } -inline void OnConflictClause::_internal_set_location(::int32_t value) { +inline ::pg_query::JsonValueExpr* JsonArgument::release_val() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.val_; + _impl_.val_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::JsonValueExpr* JsonArgument::unsafe_arena_release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArgument.val) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.val_; + _impl_.val_ = nullptr; + return temp; +} +inline ::pg_query::JsonValueExpr* JsonArgument::_internal_mutable_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.val_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.val_; +} +inline ::pg_query::JsonValueExpr* JsonArgument::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_val(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArgument.val) + return _msg; +} +inline void JsonArgument::set_allocated_val(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.val_); + } -// CTESearchClause + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; -inline int CTESearchClause::_internal_search_col_list_size() const { - return _internal_search_col_list().size(); -} -inline int CTESearchClause::search_col_list_size() const { - return _internal_search_col_list_size(); + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArgument.val) } -inline void CTESearchClause::clear_search_col_list() { + +// string name = 2 [json_name = "name"]; +inline void JsonArgument::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.search_col_list_.Clear(); + _impl_.name_.ClearToEmpty(); } -inline ::pg_query::Node* CTESearchClause::mutable_search_col_list(int index) +inline const std::string& JsonArgument::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_col_list) - return _internal_mutable_search_col_list()->Mutable(index); + // @@protoc_insertion_point(field_get:pg_query.JsonArgument.name) + return _internal_name(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTESearchClause::mutable_search_col_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CTESearchClause.search_col_list) +template +inline PROTOBUF_ALWAYS_INLINE void JsonArgument::set_name(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_search_col_list(); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonArgument.name) } -inline const ::pg_query::Node& CTESearchClause::search_col_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_col_list) - return _internal_search_col_list().Get(index); +inline std::string* JsonArgument::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArgument.name) + return _s; } -inline ::pg_query::Node* CTESearchClause::add_search_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline const std::string& JsonArgument::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void JsonArgument::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_search_col_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CTESearchClause.search_col_list) - return _add; + ; + _impl_.name_.Set(value, GetArena()); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTESearchClause::search_col_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CTESearchClause.search_col_list) - return _internal_search_col_list(); +inline std::string* JsonArgument::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CTESearchClause::_internal_search_col_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.search_col_list_; +inline std::string* JsonArgument::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArgument.name) + return _impl_.name_.Release(); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CTESearchClause::_internal_mutable_search_col_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.search_col_list_; +inline void JsonArgument::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArgument.name) } -// bool search_breadth_first = 2 [json_name = "search_breadth_first"]; -inline void CTESearchClause::clear_search_breadth_first() { +// ------------------------------------------------------------------- + +// JsonFuncExpr + +// .pg_query.JsonExprOp op = 1 [json_name = "op"]; +inline void JsonFuncExpr::clear_op() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.search_breadth_first_ = false; + _impl_.op_ = 0; } -inline bool CTESearchClause::search_breadth_first() const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_breadth_first) - return _internal_search_breadth_first(); +inline ::pg_query::JsonExprOp JsonFuncExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.op) + return _internal_op(); } -inline void CTESearchClause::set_search_breadth_first(bool value) { - _internal_set_search_breadth_first(value); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_breadth_first) +inline void JsonFuncExpr::set_op(::pg_query::JsonExprOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.op) } -inline bool CTESearchClause::_internal_search_breadth_first() const { +inline ::pg_query::JsonExprOp JsonFuncExpr::_internal_op() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.search_breadth_first_; + return static_cast<::pg_query::JsonExprOp>(_impl_.op_); } -inline void CTESearchClause::_internal_set_search_breadth_first(bool value) { +inline void JsonFuncExpr::_internal_set_op(::pg_query::JsonExprOp value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.search_breadth_first_ = value; + _impl_.op_ = value; } -// string search_seq_column = 3 [json_name = "search_seq_column"]; -inline void CTESearchClause::clear_search_seq_column() { +// string column_name = 2 [json_name = "column_name"]; +inline void JsonFuncExpr::clear_column_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.search_seq_column_.ClearToEmpty(); + _impl_.column_name_.ClearToEmpty(); } -inline const std::string& CTESearchClause::search_seq_column() const +inline const std::string& JsonFuncExpr::column_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_seq_column) - return _internal_search_seq_column(); + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.column_name) + return _internal_column_name(); } template -inline PROTOBUF_ALWAYS_INLINE void CTESearchClause::set_search_seq_column(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void JsonFuncExpr::set_column_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.search_seq_column_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_seq_column) + _impl_.column_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.column_name) } -inline std::string* CTESearchClause::mutable_search_seq_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_search_seq_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_seq_column) +inline std::string* JsonFuncExpr::mutable_column_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_column_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.column_name) return _s; } -inline const std::string& CTESearchClause::_internal_search_seq_column() const { +inline const std::string& JsonFuncExpr::_internal_column_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.search_seq_column_.Get(); + return _impl_.column_name_.Get(); } -inline void CTESearchClause::_internal_set_search_seq_column(const std::string& value) { +inline void JsonFuncExpr::_internal_set_column_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.search_seq_column_.Set(value, GetArena()); + _impl_.column_name_.Set(value, GetArena()); } -inline std::string* CTESearchClause::_internal_mutable_search_seq_column() { +inline std::string* JsonFuncExpr::_internal_mutable_column_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.search_seq_column_.Mutable( GetArena()); + return _impl_.column_name_.Mutable( GetArena()); } -inline std::string* CTESearchClause::release_search_seq_column() { +inline std::string* JsonFuncExpr::release_column_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CTESearchClause.search_seq_column) - return _impl_.search_seq_column_.Release(); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.column_name) + return _impl_.column_name_.Release(); } -inline void CTESearchClause::set_allocated_search_seq_column(std::string* value) { +inline void JsonFuncExpr::set_allocated_column_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.search_seq_column_.SetAllocated(value, GetArena()); + _impl_.column_name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.search_seq_column_.IsDefault()) { - _impl_.search_seq_column_.Set("", GetArena()); + if (_impl_.column_name_.IsDefault()) { + _impl_.column_name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTESearchClause.search_seq_column) + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.column_name) } -// int32 location = 4 [json_name = "location"]; -inline void CTESearchClause::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t CTESearchClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.location) - return _internal_location(); +// .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"]; +inline bool JsonFuncExpr::has_context_item() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.context_item_ != nullptr); + return value; } -inline void CTESearchClause::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.location) +inline void JsonFuncExpr::clear_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.context_item_ != nullptr) _impl_.context_item_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::int32_t CTESearchClause::_internal_location() const { +inline const ::pg_query::JsonValueExpr& JsonFuncExpr::_internal_context_item() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + const ::pg_query::JsonValueExpr* p = _impl_.context_item_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline void CTESearchClause::_internal_set_location(::int32_t value) { +inline const ::pg_query::JsonValueExpr& JsonFuncExpr::context_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.context_item) + return _internal_context_item(); +} +inline void JsonFuncExpr::unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.context_item_); + } + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.context_item) } +inline ::pg_query::JsonValueExpr* JsonFuncExpr::release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// CTECycleClause - -// repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; -inline int CTECycleClause::_internal_cycle_col_list_size() const { - return _internal_cycle_col_list().size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.context_item_; + _impl_.context_item_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int CTECycleClause::cycle_col_list_size() const { - return _internal_cycle_col_list_size(); +inline ::pg_query::JsonValueExpr* JsonFuncExpr::unsafe_arena_release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.context_item) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.context_item_; + _impl_.context_item_ = nullptr; + return temp; } -inline void CTECycleClause::clear_cycle_col_list() { +inline ::pg_query::JsonValueExpr* JsonFuncExpr::_internal_mutable_context_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_col_list_.Clear(); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.context_item_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.context_item_; } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_col_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_col_list) - return _internal_mutable_cycle_col_list()->Mutable(index); +inline ::pg_query::JsonValueExpr* JsonFuncExpr::mutable_context_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_context_item(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.context_item) + return _msg; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTECycleClause::mutable_cycle_col_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CTECycleClause.cycle_col_list) +inline void JsonFuncExpr::set_allocated_context_item(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_cycle_col_list(); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.context_item_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.context_item) } -inline const ::pg_query::Node& CTECycleClause::cycle_col_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_col_list) - return _internal_cycle_col_list().Get(index); + +// .pg_query.Node pathspec = 4 [json_name = "pathspec"]; +inline bool JsonFuncExpr::has_pathspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); + return value; } -inline ::pg_query::Node* CTECycleClause::add_cycle_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void JsonFuncExpr::clear_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_cycle_col_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CTECycleClause.cycle_col_list) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTECycleClause::cycle_col_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CTECycleClause.cycle_col_list) - return _internal_cycle_col_list(); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CTECycleClause::_internal_cycle_col_list() const { +inline const ::pg_query::Node& JsonFuncExpr::_internal_pathspec() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_col_list_; + const ::pg_query::Node* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CTECycleClause::_internal_mutable_cycle_col_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.cycle_col_list_; +inline const ::pg_query::Node& JsonFuncExpr::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.pathspec) + return _internal_pathspec(); } - -// string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; -inline void CTECycleClause::clear_cycle_mark_column() { +inline void JsonFuncExpr::unsafe_arena_set_allocated_pathspec(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_column_.ClearToEmpty(); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); + } + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.pathspec) } -inline const std::string& CTECycleClause::cycle_mark_column() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_column) - return _internal_cycle_mark_column(); +inline ::pg_query::Node* JsonFuncExpr::release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -template -inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_mark_column(Arg_&& arg, - Args_... args) { +inline ::pg_query::Node* JsonFuncExpr::unsafe_arena_release_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_mark_column_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_column) + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.pathspec) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; + return temp; } -inline std::string* CTECycleClause::mutable_cycle_mark_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_cycle_mark_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_column) - return _s; +inline ::pg_query::Node* JsonFuncExpr::_internal_mutable_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.pathspec_; } -inline const std::string& CTECycleClause::_internal_cycle_mark_column() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_mark_column_.Get(); +inline ::pg_query::Node* JsonFuncExpr::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.pathspec) + return _msg; } -inline void CTECycleClause::_internal_set_cycle_mark_column(const std::string& value) { +inline void JsonFuncExpr::set_allocated_pathspec(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_mark_column_.Set(value, GetArena()); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.pathspec_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.pathspec) } -inline std::string* CTECycleClause::_internal_mutable_cycle_mark_column() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.cycle_mark_column_.Mutable( GetArena()); + +// repeated .pg_query.Node passing = 5 [json_name = "passing"]; +inline int JsonFuncExpr::_internal_passing_size() const { + return _internal_passing().size(); } -inline std::string* CTECycleClause::release_cycle_mark_column() { +inline int JsonFuncExpr::passing_size() const { + return _internal_passing_size(); +} +inline void JsonFuncExpr::clear_passing() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_column) - return _impl_.cycle_mark_column_.Release(); + _impl_.passing_.Clear(); } -inline void CTECycleClause::set_allocated_cycle_mark_column(std::string* value) { +inline ::pg_query::Node* JsonFuncExpr::mutable_passing(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.passing) + return _internal_mutable_passing()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonFuncExpr::mutable_passing() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonFuncExpr.passing) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_column_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cycle_mark_column_.IsDefault()) { - _impl_.cycle_mark_column_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_column) + return _internal_mutable_passing(); +} +inline const ::pg_query::Node& JsonFuncExpr::passing(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.passing) + return _internal_passing().Get(index); +} +inline ::pg_query::Node* JsonFuncExpr::add_passing() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonFuncExpr.passing) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonFuncExpr::passing() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonFuncExpr.passing) + return _internal_passing(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonFuncExpr::_internal_passing() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonFuncExpr::_internal_mutable_passing() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_; } -// .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; -inline bool CTECycleClause::has_cycle_mark_value() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.cycle_mark_value_ != nullptr); +// .pg_query.JsonOutput output = 6 [json_name = "output"]; +inline bool JsonFuncExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); return value; } -inline void CTECycleClause::clear_cycle_mark_value() { +inline void JsonFuncExpr::clear_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.cycle_mark_value_ != nullptr) _impl_.cycle_mark_value_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_value() const { +inline const ::pg_query::JsonOutput& JsonFuncExpr::_internal_output() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.cycle_mark_value_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::Node& CTECycleClause::cycle_mark_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_value) - return _internal_cycle_mark_value(); +inline const ::pg_query::JsonOutput& JsonFuncExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.output) + return _internal_output(); } -inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_value(::pg_query::Node* value) { +inline void JsonFuncExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_value_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.output) } -inline ::pg_query::Node* CTECycleClause::release_cycle_mark_value() { +inline ::pg_query::JsonOutput* JsonFuncExpr::release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.cycle_mark_value_; - _impl_.cycle_mark_value_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -123299,89 +134242,89 @@ inline ::pg_query::Node* CTECycleClause::release_cycle_mark_value() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_value() { +inline ::pg_query::JsonOutput* JsonFuncExpr::unsafe_arena_release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_value) + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.output) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.cycle_mark_value_; - _impl_.cycle_mark_value_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_value() { +inline ::pg_query::JsonOutput* JsonFuncExpr::_internal_mutable_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.cycle_mark_value_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.cycle_mark_value_; + return _impl_.output_; } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_cycle_mark_value(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_value) +inline ::pg_query::JsonOutput* JsonFuncExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.output) return _msg; } -inline void CTECycleClause::set_allocated_cycle_mark_value(::pg_query::Node* value) { +inline void JsonFuncExpr::set_allocated_output(::pg_query::JsonOutput* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_value_); + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_value) + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.output) } -// .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; -inline bool CTECycleClause::has_cycle_mark_default() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.cycle_mark_default_ != nullptr); +// .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"]; +inline bool JsonFuncExpr::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); return value; } -inline void CTECycleClause::clear_cycle_mark_default() { +inline void JsonFuncExpr::clear_on_empty() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.cycle_mark_default_ != nullptr) _impl_.cycle_mark_default_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_default() const { +inline const ::pg_query::JsonBehavior& JsonFuncExpr::_internal_on_empty() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.cycle_mark_default_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::Node& CTECycleClause::cycle_mark_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_default) - return _internal_cycle_mark_default(); +inline const ::pg_query::JsonBehavior& JsonFuncExpr::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.on_empty) + return _internal_on_empty(); } -inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_default(::pg_query::Node* value) { +inline void JsonFuncExpr::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_default_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); } - _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_default) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.on_empty) } -inline ::pg_query::Node* CTECycleClause::release_cycle_mark_default() { +inline ::pg_query::JsonBehavior* JsonFuncExpr::release_on_empty() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* released = _impl_.cycle_mark_default_; - _impl_.cycle_mark_default_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -123395,386 +134338,457 @@ inline ::pg_query::Node* CTECycleClause::release_cycle_mark_default() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_default() { +inline ::pg_query::JsonBehavior* JsonFuncExpr::unsafe_arena_release_on_empty() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_default) + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.on_empty) - _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::Node* temp = _impl_.cycle_mark_default_; - _impl_.cycle_mark_default_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; return temp; } -inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_default() { +inline ::pg_query::JsonBehavior* JsonFuncExpr::_internal_mutable_on_empty() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.cycle_mark_default_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.cycle_mark_default_; + return _impl_.on_empty_; } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_cycle_mark_default(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_default) +inline ::pg_query::JsonBehavior* JsonFuncExpr::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.on_empty) return _msg; } -inline void CTECycleClause::set_allocated_cycle_mark_default(::pg_query::Node* value) { +inline void JsonFuncExpr::set_allocated_on_empty(::pg_query::JsonBehavior* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_default_); + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_default) + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.on_empty) } -// string cycle_path_column = 5 [json_name = "cycle_path_column"]; -inline void CTECycleClause::clear_cycle_path_column() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_path_column_.ClearToEmpty(); -} -inline const std::string& CTECycleClause::cycle_path_column() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_path_column) - return _internal_cycle_path_column(); +// .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"]; +inline bool JsonFuncExpr::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_path_column(Arg_&& arg, - Args_... args) { +inline void JsonFuncExpr::clear_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_path_column_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_path_column) -} -inline std::string* CTECycleClause::mutable_cycle_path_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_cycle_path_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_path_column) - return _s; + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const std::string& CTECycleClause::_internal_cycle_path_column() const { +inline const ::pg_query::JsonBehavior& JsonFuncExpr::_internal_on_error() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_path_column_.Get(); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline void CTECycleClause::_internal_set_cycle_path_column(const std::string& value) { +inline const ::pg_query::JsonBehavior& JsonFuncExpr::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.on_error) + return _internal_on_error(); +} +inline void JsonFuncExpr::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_path_column_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); + } + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.on_error) } -inline std::string* CTECycleClause::_internal_mutable_cycle_path_column() { +inline ::pg_query::JsonBehavior* JsonFuncExpr::release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.cycle_path_column_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* CTECycleClause::release_cycle_path_column() { +inline ::pg_query::JsonBehavior* JsonFuncExpr::unsafe_arena_release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_path_column) - return _impl_.cycle_path_column_.Release(); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.on_error) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; + return temp; } -inline void CTECycleClause::set_allocated_cycle_path_column(std::string* value) { +inline ::pg_query::JsonBehavior* JsonFuncExpr::_internal_mutable_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_path_column_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cycle_path_column_.IsDefault()) { - _impl_.cycle_path_column_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_path_column) + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_error_; +} +inline ::pg_query::JsonBehavior* JsonFuncExpr::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.on_error) + return _msg; +} +inline void JsonFuncExpr::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.on_error) } -// int32 location = 6 [json_name = "location"]; -inline void CTECycleClause::clear_location() { +// .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"]; +inline void JsonFuncExpr::clear_wrapper() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.wrapper_ = 0; } -inline ::int32_t CTECycleClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.location) - return _internal_location(); +inline ::pg_query::JsonWrapper JsonFuncExpr::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.wrapper) + return _internal_wrapper(); } -inline void CTECycleClause::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.location) +inline void JsonFuncExpr::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.wrapper) } -inline ::int32_t CTECycleClause::_internal_location() const { +inline ::pg_query::JsonWrapper JsonFuncExpr::_internal_wrapper() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); } -inline void CTECycleClause::_internal_set_location(::int32_t value) { +inline void JsonFuncExpr::_internal_set_wrapper(::pg_query::JsonWrapper value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.wrapper_ = value; } -// uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; -inline void CTECycleClause::clear_cycle_mark_type() { +// .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"]; +inline void JsonFuncExpr::clear_quotes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_type_ = 0u; + _impl_.quotes_ = 0; } -inline ::uint32_t CTECycleClause::cycle_mark_type() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_type) - return _internal_cycle_mark_type(); +inline ::pg_query::JsonQuotes JsonFuncExpr::quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.quotes) + return _internal_quotes(); } -inline void CTECycleClause::set_cycle_mark_type(::uint32_t value) { - _internal_set_cycle_mark_type(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_type) +inline void JsonFuncExpr::set_quotes(::pg_query::JsonQuotes value) { + _internal_set_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.quotes) } -inline ::uint32_t CTECycleClause::_internal_cycle_mark_type() const { +inline ::pg_query::JsonQuotes JsonFuncExpr::_internal_quotes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_mark_type_; + return static_cast<::pg_query::JsonQuotes>(_impl_.quotes_); } -inline void CTECycleClause::_internal_set_cycle_mark_type(::uint32_t value) { +inline void JsonFuncExpr::_internal_set_quotes(::pg_query::JsonQuotes value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.cycle_mark_type_ = value; + _impl_.quotes_ = value; } -// int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; -inline void CTECycleClause::clear_cycle_mark_typmod() { +// int32 location = 11 [json_name = "location"]; +inline void JsonFuncExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_typmod_ = 0; + _impl_.location_ = 0; } -inline ::int32_t CTECycleClause::cycle_mark_typmod() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_typmod) - return _internal_cycle_mark_typmod(); +inline ::int32_t JsonFuncExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.location) + return _internal_location(); } -inline void CTECycleClause::set_cycle_mark_typmod(::int32_t value) { - _internal_set_cycle_mark_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_typmod) +inline void JsonFuncExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.location) } -inline ::int32_t CTECycleClause::_internal_cycle_mark_typmod() const { +inline ::int32_t JsonFuncExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_mark_typmod_; + return _impl_.location_; } -inline void CTECycleClause::_internal_set_cycle_mark_typmod(::int32_t value) { +inline void JsonFuncExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.cycle_mark_typmod_ = value; + _impl_.location_ = value; } -// uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; -inline void CTECycleClause::clear_cycle_mark_collation() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_collation_ = 0u; -} -inline ::uint32_t CTECycleClause::cycle_mark_collation() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_collation) - return _internal_cycle_mark_collation(); +// ------------------------------------------------------------------- + +// JsonTablePathSpec + +// .pg_query.Node string = 1 [json_name = "string"]; +inline bool JsonTablePathSpec::has_string() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.string_ != nullptr); + return value; } -inline void CTECycleClause::set_cycle_mark_collation(::uint32_t value) { - _internal_set_cycle_mark_collation(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_collation) +inline void JsonTablePathSpec::clear_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.string_ != nullptr) _impl_.string_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::uint32_t CTECycleClause::_internal_cycle_mark_collation() const { +inline const ::pg_query::Node& JsonTablePathSpec::_internal_string() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_mark_collation_; + const ::pg_query::Node* p = _impl_.string_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CTECycleClause::_internal_set_cycle_mark_collation(::uint32_t value) { +inline const ::pg_query::Node& JsonTablePathSpec::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.string) + return _internal_string(); +} +inline void JsonTablePathSpec::unsafe_arena_set_allocated_string(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_mark_collation_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.string_); + } + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathSpec.string) } - -// uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; -inline void CTECycleClause::clear_cycle_mark_neop() { +inline ::pg_query::Node* JsonTablePathSpec::release_string() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cycle_mark_neop_ = 0u; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.string_; + _impl_.string_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::uint32_t CTECycleClause::cycle_mark_neop() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_neop) - return _internal_cycle_mark_neop(); +inline ::pg_query::Node* JsonTablePathSpec::unsafe_arena_release_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathSpec.string) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.string_; + _impl_.string_ = nullptr; + return temp; } -inline void CTECycleClause::set_cycle_mark_neop(::uint32_t value) { - _internal_set_cycle_mark_neop(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_neop) +inline ::pg_query::Node* JsonTablePathSpec::_internal_mutable_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.string_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.string_; } -inline ::uint32_t CTECycleClause::_internal_cycle_mark_neop() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cycle_mark_neop_; +inline ::pg_query::Node* JsonTablePathSpec::mutable_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_string(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathSpec.string) + return _msg; } -inline void CTECycleClause::_internal_set_cycle_mark_neop(::uint32_t value) { +inline void JsonTablePathSpec::set_allocated_string(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cycle_mark_neop_ = value; -} + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.string_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// CommonTableExpr + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathSpec.string) +} -// string ctename = 1 [json_name = "ctename"]; -inline void CommonTableExpr::clear_ctename() { +// string name = 2 [json_name = "name"]; +inline void JsonTablePathSpec::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctename_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); } -inline const std::string& CommonTableExpr::ctename() const +inline const std::string& JsonTablePathSpec::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctename) - return _internal_ctename(); + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.name) + return _internal_name(); } template -inline PROTOBUF_ALWAYS_INLINE void CommonTableExpr::set_ctename(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void JsonTablePathSpec::set_name(Arg_&& arg, Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctename) + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.name) } -inline std::string* CommonTableExpr::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_ctename(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctename) +inline std::string* JsonTablePathSpec::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathSpec.name) return _s; } -inline const std::string& CommonTableExpr::_internal_ctename() const { +inline const std::string& JsonTablePathSpec::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctename_.Get(); + return _impl_.name_.Get(); } -inline void CommonTableExpr::_internal_set_ctename(const std::string& value) { +inline void JsonTablePathSpec::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctename_.Set(value, GetArena()); + _impl_.name_.Set(value, GetArena()); } -inline std::string* CommonTableExpr::_internal_mutable_ctename() { +inline std::string* JsonTablePathSpec::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - return _impl_.ctename_.Mutable( GetArena()); + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CommonTableExpr::release_ctename() { +inline std::string* JsonTablePathSpec::release_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctename) - return _impl_.ctename_.Release(); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathSpec.name) + return _impl_.name_.Release(); } -inline void CommonTableExpr::set_allocated_ctename(std::string* value) { +inline void JsonTablePathSpec::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctename_.SetAllocated(value, GetArena()); + _impl_.name_.SetAllocated(value, GetArena()); #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.ctename_.IsDefault()) { - _impl_.ctename_.Set("", GetArena()); + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); } #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctename) + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathSpec.name) } -// repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; -inline int CommonTableExpr::_internal_aliascolnames_size() const { - return _internal_aliascolnames().size(); -} -inline int CommonTableExpr::aliascolnames_size() const { - return _internal_aliascolnames_size(); -} -inline void CommonTableExpr::clear_aliascolnames() { +// int32 name_location = 3 [json_name = "name_location"]; +inline void JsonTablePathSpec::clear_name_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.aliascolnames_.Clear(); -} -inline ::pg_query::Node* CommonTableExpr::mutable_aliascolnames(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.aliascolnames) - return _internal_mutable_aliascolnames()->Mutable(index); -} -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_aliascolnames() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.aliascolnames) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_aliascolnames(); -} -inline const ::pg_query::Node& CommonTableExpr::aliascolnames(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.aliascolnames) - return _internal_aliascolnames().Get(index); + _impl_.name_location_ = 0; } -inline ::pg_query::Node* CommonTableExpr::add_aliascolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_aliascolnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.aliascolnames) - return _add; +inline ::int32_t JsonTablePathSpec::name_location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.name_location) + return _internal_name_location(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::aliascolnames() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.aliascolnames) - return _internal_aliascolnames(); +inline void JsonTablePathSpec::set_name_location(::int32_t value) { + _internal_set_name_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.name_location) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CommonTableExpr::_internal_aliascolnames() const { +inline ::int32_t JsonTablePathSpec::_internal_name_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.aliascolnames_; + return _impl_.name_location_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CommonTableExpr::_internal_mutable_aliascolnames() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.aliascolnames_; +inline void JsonTablePathSpec::_internal_set_name_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_location_ = value; } -// .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; -inline void CommonTableExpr::clear_ctematerialized() { +// int32 location = 4 [json_name = "location"]; +inline void JsonTablePathSpec::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctematerialized_ = 0; + _impl_.location_ = 0; } -inline ::pg_query::CTEMaterialize CommonTableExpr::ctematerialized() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctematerialized) - return _internal_ctematerialized(); +inline ::int32_t JsonTablePathSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.location) + return _internal_location(); } -inline void CommonTableExpr::set_ctematerialized(::pg_query::CTEMaterialize value) { - _internal_set_ctematerialized(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctematerialized) +inline void JsonTablePathSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.location) } -inline ::pg_query::CTEMaterialize CommonTableExpr::_internal_ctematerialized() const { +inline ::int32_t JsonTablePathSpec::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CTEMaterialize>(_impl_.ctematerialized_); + return _impl_.location_; } -inline void CommonTableExpr::_internal_set_ctematerialized(::pg_query::CTEMaterialize value) { +inline void JsonTablePathSpec::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.ctematerialized_ = value; + _impl_.location_ = value; } -// .pg_query.Node ctequery = 4 [json_name = "ctequery"]; -inline bool CommonTableExpr::has_ctequery() const { +// ------------------------------------------------------------------- + +// JsonTable + +// .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"]; +inline bool JsonTable::has_context_item() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.ctequery_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.context_item_ != nullptr); return value; } -inline void CommonTableExpr::clear_ctequery() { +inline void JsonTable::clear_context_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.ctequery_ != nullptr) _impl_.ctequery_->Clear(); + if (_impl_.context_item_ != nullptr) _impl_.context_item_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctequery() const { +inline const ::pg_query::JsonValueExpr& JsonTable::_internal_context_item() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.ctequery_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonValueExpr* p = _impl_.context_item_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline const ::pg_query::Node& CommonTableExpr::ctequery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctequery) - return _internal_ctequery(); +inline const ::pg_query::JsonValueExpr& JsonTable::context_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.context_item) + return _internal_context_item(); } -inline void CommonTableExpr::unsafe_arena_set_allocated_ctequery(::pg_query::Node* value) { +inline void JsonTable::unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ctequery_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.context_item_); } - _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.ctequery) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.context_item) } -inline ::pg_query::Node* CommonTableExpr::release_ctequery() { +inline ::pg_query::JsonValueExpr* JsonTable::release_context_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.ctequery_; - _impl_.ctequery_ = nullptr; + ::pg_query::JsonValueExpr* released = _impl_.context_item_; + _impl_.context_item_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -123788,38 +134802,38 @@ inline ::pg_query::Node* CommonTableExpr::release_ctequery() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* CommonTableExpr::unsafe_arena_release_ctequery() { +inline ::pg_query::JsonValueExpr* JsonTable::unsafe_arena_release_context_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctequery) + // @@protoc_insertion_point(field_release:pg_query.JsonTable.context_item) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.ctequery_; - _impl_.ctequery_ = nullptr; + ::pg_query::JsonValueExpr* temp = _impl_.context_item_; + _impl_.context_item_ = nullptr; return temp; } -inline ::pg_query::Node* CommonTableExpr::_internal_mutable_ctequery() { +inline ::pg_query::JsonValueExpr* JsonTable::_internal_mutable_context_item() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.ctequery_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.context_item_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); } - return _impl_.ctequery_; + return _impl_.context_item_; } -inline ::pg_query::Node* CommonTableExpr::mutable_ctequery() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_ctequery(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctequery) +inline ::pg_query::JsonValueExpr* JsonTable::mutable_context_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_context_item(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.context_item) return _msg; } -inline void CommonTableExpr::set_allocated_ctequery(::pg_query::Node* value) { +inline void JsonTable::set_allocated_context_item(::pg_query::JsonValueExpr* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.ctequery_); + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.context_item_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -123828,49 +134842,49 @@ inline void CommonTableExpr::set_allocated_ctequery(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctequery) + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.context_item) } -// .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; -inline bool CommonTableExpr::has_search_clause() const { +// .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"]; +inline bool JsonTable::has_pathspec() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.search_clause_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); return value; } -inline void CommonTableExpr::clear_search_clause() { +inline void JsonTable::clear_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.search_clause_ != nullptr) _impl_.search_clause_->Clear(); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::CTESearchClause& CommonTableExpr::_internal_search_clause() const { +inline const ::pg_query::JsonTablePathSpec& JsonTable::_internal_pathspec() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::CTESearchClause* p = _impl_.search_clause_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTESearchClause_default_instance_); + const ::pg_query::JsonTablePathSpec* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePathSpec_default_instance_); } -inline const ::pg_query::CTESearchClause& CommonTableExpr::search_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.search_clause) - return _internal_search_clause(); +inline const ::pg_query::JsonTablePathSpec& JsonTable::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.pathspec) + return _internal_pathspec(); } -inline void CommonTableExpr::unsafe_arena_set_allocated_search_clause(::pg_query::CTESearchClause* value) { +inline void JsonTable::unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.search_clause_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); } - _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.search_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.pathspec) } -inline ::pg_query::CTESearchClause* CommonTableExpr::release_search_clause() { +inline ::pg_query::JsonTablePathSpec* JsonTable::release_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::CTESearchClause* released = _impl_.search_clause_; - _impl_.search_clause_ = nullptr; + ::pg_query::JsonTablePathSpec* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -123884,38 +134898,38 @@ inline ::pg_query::CTESearchClause* CommonTableExpr::release_search_clause() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::CTESearchClause* CommonTableExpr::unsafe_arena_release_search_clause() { +inline ::pg_query::JsonTablePathSpec* JsonTable::unsafe_arena_release_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.search_clause) + // @@protoc_insertion_point(field_release:pg_query.JsonTable.pathspec) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::CTESearchClause* temp = _impl_.search_clause_; - _impl_.search_clause_ = nullptr; + ::pg_query::JsonTablePathSpec* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; return temp; } -inline ::pg_query::CTESearchClause* CommonTableExpr::_internal_mutable_search_clause() { +inline ::pg_query::JsonTablePathSpec* JsonTable::_internal_mutable_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.search_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); - _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(p); + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(p); } - return _impl_.search_clause_; + return _impl_.pathspec_; } -inline ::pg_query::CTESearchClause* CommonTableExpr::mutable_search_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CTESearchClause* _msg = _internal_mutable_search_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.search_clause) +inline ::pg_query::JsonTablePathSpec* JsonTable::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.pathspec) return _msg; } -inline void CommonTableExpr::set_allocated_search_clause(::pg_query::CTESearchClause* value) { +inline void JsonTable::set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::CTESearchClause*>(_impl_.search_clause_); + delete reinterpret_cast<::pg_query::JsonTablePathSpec*>(_impl_.pathspec_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTESearchClause*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -123924,49 +134938,147 @@ inline void CommonTableExpr::set_allocated_search_clause(::pg_query::CTESearchCl _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.search_clause) + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.pathspec) } -// .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; -inline bool CommonTableExpr::has_cycle_clause() const { +// repeated .pg_query.Node passing = 3 [json_name = "passing"]; +inline int JsonTable::_internal_passing_size() const { + return _internal_passing().size(); +} +inline int JsonTable::passing_size() const { + return _internal_passing_size(); +} +inline void JsonTable::clear_passing() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_.Clear(); +} +inline ::pg_query::Node* JsonTable::mutable_passing(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.passing) + return _internal_mutable_passing()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTable::mutable_passing() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTable.passing) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passing(); +} +inline const ::pg_query::Node& JsonTable::passing(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.passing) + return _internal_passing().Get(index); +} +inline ::pg_query::Node* JsonTable::add_passing() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTable.passing) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTable::passing() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonTable.passing) + return _internal_passing(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonTable::_internal_passing() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonTable::_internal_mutable_passing() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_; +} + +// repeated .pg_query.Node columns = 4 [json_name = "columns"]; +inline int JsonTable::_internal_columns_size() const { + return _internal_columns().size(); +} +inline int JsonTable::columns_size() const { + return _internal_columns_size(); +} +inline void JsonTable::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); +} +inline ::pg_query::Node* JsonTable::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.columns) + return _internal_mutable_columns()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTable::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTable.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); +} +inline const ::pg_query::Node& JsonTable::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.columns) + return _internal_columns().Get(index); +} +inline ::pg_query::Node* JsonTable::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTable.columns) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTable::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonTable.columns) + return _internal_columns(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonTable::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonTable::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; +} + +// .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"]; +inline bool JsonTable::has_on_error() const { bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || _impl_.cycle_clause_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); return value; } -inline void CommonTableExpr::clear_cycle_clause() { +inline void JsonTable::clear_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.cycle_clause_ != nullptr) _impl_.cycle_clause_->Clear(); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::CTECycleClause& CommonTableExpr::_internal_cycle_clause() const { +inline const ::pg_query::JsonBehavior& JsonTable::_internal_on_error() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::CTECycleClause* p = _impl_.cycle_clause_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTECycleClause_default_instance_); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::CTECycleClause& CommonTableExpr::cycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cycle_clause) - return _internal_cycle_clause(); +inline const ::pg_query::JsonBehavior& JsonTable::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.on_error) + return _internal_on_error(); } -inline void CommonTableExpr::unsafe_arena_set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { +inline void JsonTable::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_clause_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); } - _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000004u; } else { _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.cycle_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.on_error) } -inline ::pg_query::CTECycleClause* CommonTableExpr::release_cycle_clause() { +inline ::pg_query::JsonBehavior* JsonTable::release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::CTECycleClause* released = _impl_.cycle_clause_; - _impl_.cycle_clause_ = nullptr; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -123980,38 +135092,38 @@ inline ::pg_query::CTECycleClause* CommonTableExpr::release_cycle_clause() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::CTECycleClause* CommonTableExpr::unsafe_arena_release_cycle_clause() { +inline ::pg_query::JsonBehavior* JsonTable::unsafe_arena_release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.cycle_clause) + // @@protoc_insertion_point(field_release:pg_query.JsonTable.on_error) _impl_._has_bits_[0] &= ~0x00000004u; - ::pg_query::CTECycleClause* temp = _impl_.cycle_clause_; - _impl_.cycle_clause_ = nullptr; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; return temp; } -inline ::pg_query::CTECycleClause* CommonTableExpr::_internal_mutable_cycle_clause() { +inline ::pg_query::JsonBehavior* JsonTable::_internal_mutable_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000004u; - if (_impl_.cycle_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); - _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(p); + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.cycle_clause_; + return _impl_.on_error_; } -inline ::pg_query::CTECycleClause* CommonTableExpr::mutable_cycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::CTECycleClause* _msg = _internal_mutable_cycle_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.cycle_clause) +inline ::pg_query::JsonBehavior* JsonTable::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.on_error) return _msg; } -inline void CommonTableExpr::set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { +inline void JsonTable::set_allocated_on_error(::pg_query::JsonBehavior* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::CTECycleClause*>(_impl_.cycle_clause_); + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTECycleClause*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -124020,387 +135132,463 @@ inline void CommonTableExpr::set_allocated_cycle_clause(::pg_query::CTECycleClau _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.cycle_clause) + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.on_error) } -// int32 location = 7 [json_name = "location"]; -inline void CommonTableExpr::clear_location() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; -} -inline ::int32_t CommonTableExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.location) - return _internal_location(); +// .pg_query.Alias alias = 6 [json_name = "alias"]; +inline bool JsonTable::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline void CommonTableExpr::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.location) +inline void JsonTable::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline ::int32_t CommonTableExpr::_internal_location() const { +inline const ::pg_query::Alias& JsonTable::_internal_alias() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void CommonTableExpr::_internal_set_location(::int32_t value) { +inline const ::pg_query::Alias& JsonTable::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.alias) + return _internal_alias(); +} +inline void JsonTable::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.location_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.alias) } - -// bool cterecursive = 8 [json_name = "cterecursive"]; -inline void CommonTableExpr::clear_cterecursive() { +inline ::pg_query::Alias* JsonTable::release_alias() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cterecursive_ = false; + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool CommonTableExpr::cterecursive() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterecursive) - return _internal_cterecursive(); +inline ::pg_query::Alias* JsonTable::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTable.alias) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline void CommonTableExpr::set_cterecursive(bool value) { - _internal_set_cterecursive(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterecursive) +inline ::pg_query::Alias* JsonTable::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline bool CommonTableExpr::_internal_cterecursive() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cterecursive_; +inline ::pg_query::Alias* JsonTable::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.alias) + return _msg; } -inline void CommonTableExpr::_internal_set_cterecursive(bool value) { +inline void JsonTable::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.cterecursive_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.alias) } -// int32 cterefcount = 9 [json_name = "cterefcount"]; -inline void CommonTableExpr::clear_cterefcount() { +// bool lateral = 7 [json_name = "lateral"]; +inline void JsonTable::clear_lateral() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.cterefcount_ = 0; + _impl_.lateral_ = false; } -inline ::int32_t CommonTableExpr::cterefcount() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterefcount) - return _internal_cterefcount(); +inline bool JsonTable::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.lateral) + return _internal_lateral(); } -inline void CommonTableExpr::set_cterefcount(::int32_t value) { - _internal_set_cterefcount(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterefcount) +inline void JsonTable::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTable.lateral) } -inline ::int32_t CommonTableExpr::_internal_cterefcount() const { +inline bool JsonTable::_internal_lateral() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.cterefcount_; + return _impl_.lateral_; } -inline void CommonTableExpr::_internal_set_cterefcount(::int32_t value) { +inline void JsonTable::_internal_set_lateral(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.cterefcount_ = value; + _impl_.lateral_ = value; } -// repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; -inline int CommonTableExpr::_internal_ctecolnames_size() const { - return _internal_ctecolnames().size(); +// int32 location = 8 [json_name = "location"]; +inline void JsonTable::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int CommonTableExpr::ctecolnames_size() const { - return _internal_ctecolnames_size(); +inline ::int32_t JsonTable::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.location) + return _internal_location(); } -inline void CommonTableExpr::clear_ctecolnames() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctecolnames_.Clear(); +inline void JsonTable::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTable.location) } -inline ::pg_query::Node* CommonTableExpr::mutable_ctecolnames(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolnames) - return _internal_mutable_ctecolnames()->Mutable(index); +inline ::int32_t JsonTable::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolnames() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolnames) +inline void JsonTable::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ctecolnames(); -} -inline const ::pg_query::Node& CommonTableExpr::ctecolnames(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolnames) - return _internal_ctecolnames().Get(index); + ; + _impl_.location_ = value; } -inline ::pg_query::Node* CommonTableExpr::add_ctecolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// ------------------------------------------------------------------- + +// JsonTableColumn + +// .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"]; +inline void JsonTableColumn::clear_coltype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ctecolnames()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolnames) - return _add; + _impl_.coltype_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolnames() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolnames) - return _internal_ctecolnames(); +inline ::pg_query::JsonTableColumnType JsonTableColumn::coltype() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.coltype) + return _internal_coltype(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CommonTableExpr::_internal_ctecolnames() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctecolnames_; +inline void JsonTableColumn::set_coltype(::pg_query::JsonTableColumnType value) { + _internal_set_coltype(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.coltype) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CommonTableExpr::_internal_mutable_ctecolnames() { +inline ::pg_query::JsonTableColumnType JsonTableColumn::_internal_coltype() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ctecolnames_; -} - -// repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; -inline int CommonTableExpr::_internal_ctecoltypes_size() const { - return _internal_ctecoltypes().size(); + return static_cast<::pg_query::JsonTableColumnType>(_impl_.coltype_); } -inline int CommonTableExpr::ctecoltypes_size() const { - return _internal_ctecoltypes_size(); -} -inline void CommonTableExpr::clear_ctecoltypes() { +inline void JsonTableColumn::_internal_set_coltype(::pg_query::JsonTableColumnType value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctecoltypes_.Clear(); -} -inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypes(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypes) - return _internal_mutable_ctecoltypes()->Mutable(index); + ; + _impl_.coltype_ = value; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypes() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypes) + +// string name = 2 [json_name = "name"]; +inline void JsonTableColumn::clear_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ctecoltypes(); + _impl_.name_.ClearToEmpty(); } -inline const ::pg_query::Node& CommonTableExpr::ctecoltypes(int index) const +inline const std::string& JsonTableColumn::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypes) - return _internal_ctecoltypes().Get(index); + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.name) + return _internal_name(); } -inline ::pg_query::Node* CommonTableExpr::add_ctecoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { +template +inline PROTOBUF_ALWAYS_INLINE void JsonTableColumn::set_name(Arg_&& arg, + Args_... args) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ctecoltypes()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypes) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypes() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypes) - return _internal_ctecoltypes(); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.name) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CommonTableExpr::_internal_ctecoltypes() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctecoltypes_; +inline std::string* JsonTableColumn::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.name) + return _s; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CommonTableExpr::_internal_mutable_ctecoltypes() { +inline const std::string& JsonTableColumn::_internal_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ctecoltypes_; -} - -// repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; -inline int CommonTableExpr::_internal_ctecoltypmods_size() const { - return _internal_ctecoltypmods().size(); -} -inline int CommonTableExpr::ctecoltypmods_size() const { - return _internal_ctecoltypmods_size(); + return _impl_.name_.Get(); } -inline void CommonTableExpr::clear_ctecoltypmods() { +inline void JsonTableColumn::_internal_set_name(const std::string& value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctecoltypmods_.Clear(); -} -inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypmods(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypmods) - return _internal_mutable_ctecoltypmods()->Mutable(index); + ; + _impl_.name_.Set(value, GetArena()); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypmods() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypmods) +inline std::string* JsonTableColumn::_internal_mutable_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ctecoltypmods(); + ; + return _impl_.name_.Mutable( GetArena()); } -inline const ::pg_query::Node& CommonTableExpr::ctecoltypmods(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypmods) - return _internal_ctecoltypmods().Get(index); +inline std::string* JsonTableColumn::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.name) + return _impl_.name_.Release(); } -inline ::pg_query::Node* CommonTableExpr::add_ctecoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline void JsonTableColumn::set_allocated_name(std::string* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ctecoltypmods()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypmods) - return _add; + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.name) } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypmods() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypmods) - return _internal_ctecoltypmods(); + +// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; +inline bool JsonTableColumn::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CommonTableExpr::_internal_ctecoltypmods() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctecoltypmods_; +inline void JsonTableColumn::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CommonTableExpr::_internal_mutable_ctecoltypmods() { +inline const ::pg_query::TypeName& JsonTableColumn::_internal_type_name() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ctecoltypmods_; -} - -// repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; -inline int CommonTableExpr::_internal_ctecolcollations_size() const { - return _internal_ctecolcollations().size(); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline int CommonTableExpr::ctecolcollations_size() const { - return _internal_ctecolcollations_size(); +inline const ::pg_query::TypeName& JsonTableColumn::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.type_name) + return _internal_type_name(); } -inline void CommonTableExpr::clear_ctecolcollations() { +inline void JsonTableColumn::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.ctecolcollations_.Clear(); -} -inline ::pg_query::Node* CommonTableExpr::mutable_ctecolcollations(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolcollations) - return _internal_mutable_ctecolcollations()->Mutable(index); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + } + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.type_name) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolcollations() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolcollations) +inline ::pg_query::TypeName* JsonTableColumn::release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_ctecolcollations(); -} -inline const ::pg_query::Node& CommonTableExpr::ctecolcollations(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolcollations) - return _internal_ctecolcollations().Get(index); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* CommonTableExpr::add_ctecolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::TypeName* JsonTableColumn::unsafe_arena_release_type_name() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_ctecolcollations()->Add(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolcollations) - return _add; -} -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolcollations() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolcollations) - return _internal_ctecolcollations(); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; + return temp; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -CommonTableExpr::_internal_ctecolcollations() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.ctecolcollations_; +inline ::pg_query::TypeName* JsonTableColumn::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.type_name_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -CommonTableExpr::_internal_mutable_ctecolcollations() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.ctecolcollations_; +inline ::pg_query::TypeName* JsonTableColumn::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.type_name) + return _msg; } +inline void JsonTableColumn::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + } -// ------------------------------------------------------------------- - -// MergeWhenClause + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// bool matched = 1 [json_name = "matched"]; -inline void MergeWhenClause::clear_matched() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.matched_ = false; + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.type_name) } -inline bool MergeWhenClause::matched() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.matched) - return _internal_matched(); + +// .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"]; +inline bool JsonTableColumn::has_pathspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); + return value; } -inline void MergeWhenClause::set_matched(bool value) { - _internal_set_matched(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.matched) +inline void JsonTableColumn::clear_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool MergeWhenClause::_internal_matched() const { +inline const ::pg_query::JsonTablePathSpec& JsonTableColumn::_internal_pathspec() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.matched_; + const ::pg_query::JsonTablePathSpec* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePathSpec_default_instance_); } -inline void MergeWhenClause::_internal_set_matched(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.matched_ = value; +inline const ::pg_query::JsonTablePathSpec& JsonTableColumn::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.pathspec) + return _internal_pathspec(); } - -// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; -inline void MergeWhenClause::clear_command_type() { +inline void JsonTableColumn::unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.command_type_ = 0; -} -inline ::pg_query::CmdType MergeWhenClause::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.command_type) - return _internal_command_type(); -} -inline void MergeWhenClause::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.command_type) -} -inline ::pg_query::CmdType MergeWhenClause::_internal_command_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CmdType>(_impl_.command_type_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); + } + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.pathspec) } -inline void MergeWhenClause::_internal_set_command_type(::pg_query::CmdType value) { +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::release_pathspec() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.command_type_ = value; -} -// .pg_query.OverridingKind override = 3 [json_name = "override"]; -inline void MergeWhenClause::clear_override() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.override_ = 0; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::OverridingKind MergeWhenClause::override() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.override) - return _internal_override(); +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::unsafe_arena_release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.pathspec) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; + return temp; } -inline void MergeWhenClause::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.override) +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::_internal_mutable_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(p); + } + return _impl_.pathspec_; } -inline ::pg_query::OverridingKind MergeWhenClause::_internal_override() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OverridingKind>(_impl_.override_); +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.pathspec) + return _msg; } -inline void MergeWhenClause::_internal_set_override(::pg_query::OverridingKind value) { +inline void JsonTableColumn::set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.override_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonTablePathSpec*>(_impl_.pathspec_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.pathspec) } -// .pg_query.Node condition = 4 [json_name = "condition"]; -inline bool MergeWhenClause::has_condition() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.condition_ != nullptr); +// .pg_query.JsonFormat format = 5 [json_name = "format"]; +inline bool JsonTableColumn::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); return value; } -inline void MergeWhenClause::clear_condition() { +inline void JsonTableColumn::clear_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.condition_ != nullptr) _impl_.condition_->Clear(); - _impl_._has_bits_[0] &= ~0x00000001u; + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& MergeWhenClause::_internal_condition() const { +inline const ::pg_query::JsonFormat& JsonTableColumn::_internal_format() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.condition_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::Node& MergeWhenClause::condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.condition) - return _internal_condition(); +inline const ::pg_query::JsonFormat& JsonTableColumn::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.format) + return _internal_format(); } -inline void MergeWhenClause::unsafe_arena_set_allocated_condition(::pg_query::Node* value) { +inline void JsonTableColumn::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.condition_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeWhenClause.condition) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.format) } -inline ::pg_query::Node* MergeWhenClause::release_condition() { +inline ::pg_query::JsonFormat* JsonTableColumn::release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.condition_; - _impl_.condition_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -124414,260 +135602,403 @@ inline ::pg_query::Node* MergeWhenClause::release_condition() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* MergeWhenClause::unsafe_arena_release_condition() { +inline ::pg_query::JsonFormat* JsonTableColumn::unsafe_arena_release_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.MergeWhenClause.condition) + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.format) - _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.condition_; - _impl_.condition_ = nullptr; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::Node* MergeWhenClause::_internal_mutable_condition() { +inline ::pg_query::JsonFormat* JsonTableColumn::_internal_mutable_format() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.condition_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.condition_; + return _impl_.format_; } -inline ::pg_query::Node* MergeWhenClause::mutable_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_condition(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.condition) +inline ::pg_query::JsonFormat* JsonTableColumn::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.format) return _msg; } -inline void MergeWhenClause::set_allocated_condition(::pg_query::Node* value) { +inline void JsonTableColumn::set_allocated_format(::pg_query::JsonFormat* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.condition_); + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeWhenClause.condition) + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.format) } -// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; -inline int MergeWhenClause::_internal_target_list_size() const { - return _internal_target_list().size(); +// .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"]; +inline void JsonTableColumn::clear_wrapper() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wrapper_ = 0; } -inline int MergeWhenClause::target_list_size() const { - return _internal_target_list_size(); +inline ::pg_query::JsonWrapper JsonTableColumn::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.wrapper) + return _internal_wrapper(); } -inline void MergeWhenClause::clear_target_list() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.target_list_.Clear(); +inline void JsonTableColumn::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.wrapper) } -inline ::pg_query::Node* MergeWhenClause::mutable_target_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.target_list) - return _internal_mutable_target_list()->Mutable(index); +inline ::pg_query::JsonWrapper JsonTableColumn::_internal_wrapper() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_target_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.target_list) +inline void JsonTableColumn::_internal_set_wrapper(::pg_query::JsonWrapper value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_target_list(); -} -inline const ::pg_query::Node& MergeWhenClause::target_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.target_list) - return _internal_target_list().Get(index); + ; + _impl_.wrapper_ = value; } -inline ::pg_query::Node* MergeWhenClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + +// .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"]; +inline void JsonTableColumn::clear_quotes() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.target_list) - return _add; + _impl_.quotes_ = 0; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::target_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.target_list) - return _internal_target_list(); +inline ::pg_query::JsonQuotes JsonTableColumn::quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.quotes) + return _internal_quotes(); } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -MergeWhenClause::_internal_target_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.target_list_; +inline void JsonTableColumn::set_quotes(::pg_query::JsonQuotes value) { + _internal_set_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.quotes) } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -MergeWhenClause::_internal_mutable_target_list() { +inline ::pg_query::JsonQuotes JsonTableColumn::_internal_quotes() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.target_list_; + return static_cast<::pg_query::JsonQuotes>(_impl_.quotes_); +} +inline void JsonTableColumn::_internal_set_quotes(::pg_query::JsonQuotes value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.quotes_ = value; } -// repeated .pg_query.Node values = 6 [json_name = "values"]; -inline int MergeWhenClause::_internal_values_size() const { - return _internal_values().size(); +// repeated .pg_query.Node columns = 8 [json_name = "columns"]; +inline int JsonTableColumn::_internal_columns_size() const { + return _internal_columns().size(); } -inline int MergeWhenClause::values_size() const { - return _internal_values_size(); +inline int JsonTableColumn::columns_size() const { + return _internal_columns_size(); } -inline void MergeWhenClause::clear_values() { +inline void JsonTableColumn::clear_columns() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.values_.Clear(); + _impl_.columns_.Clear(); } -inline ::pg_query::Node* MergeWhenClause::mutable_values(int index) +inline ::pg_query::Node* JsonTableColumn::mutable_columns(int index) ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.values) - return _internal_mutable_values()->Mutable(index); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.columns) + return _internal_mutable_columns()->Mutable(index); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_values() +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTableColumn::mutable_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.values) + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTableColumn.columns) PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_values(); + return _internal_mutable_columns(); } -inline const ::pg_query::Node& MergeWhenClause::values(int index) const +inline const ::pg_query::Node& JsonTableColumn::columns(int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.values) - return _internal_values().Get(index); + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.columns) + return _internal_columns().Get(index); } -inline ::pg_query::Node* MergeWhenClause::add_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::Node* JsonTableColumn::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_values()->Add(); - // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.values) + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTableColumn.columns) return _add; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::values() const +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTableColumn::columns() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.values) - return _internal_values(); + // @@protoc_insertion_point(field_list:pg_query.JsonTableColumn.columns) + return _internal_columns(); } inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -MergeWhenClause::_internal_values() const { +JsonTableColumn::_internal_columns() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.values_; + return _impl_.columns_; } inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -MergeWhenClause::_internal_mutable_values() { +JsonTableColumn::_internal_mutable_columns() { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.values_; + return &_impl_.columns_; } -// ------------------------------------------------------------------- +// .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"]; +inline bool JsonTableColumn::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); + return value; +} +inline void JsonTableColumn::clear_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::JsonBehavior& JsonTableColumn::_internal_on_empty() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); +} +inline const ::pg_query::JsonBehavior& JsonTableColumn::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.on_empty) + return _internal_on_empty(); +} +inline void JsonTableColumn::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); + } + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.on_empty) +} +inline ::pg_query::JsonBehavior* JsonTableColumn::release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// MergeAction + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::JsonBehavior* JsonTableColumn::unsafe_arena_release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.on_empty) -// bool matched = 1 [json_name = "matched"]; -inline void MergeAction::clear_matched() { + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; + return temp; +} +inline ::pg_query::JsonBehavior* JsonTableColumn::_internal_mutable_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_empty_; +} +inline ::pg_query::JsonBehavior* JsonTableColumn::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.on_empty) + return _msg; +} +inline void JsonTableColumn::set_allocated_on_empty(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.matched_ = false; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.on_empty) } -inline bool MergeAction::matched() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.matched) - return _internal_matched(); + +// .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"]; +inline bool JsonTableColumn::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; } -inline void MergeAction::set_matched(bool value) { - _internal_set_matched(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.matched) +inline void JsonTableColumn::clear_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline bool MergeAction::_internal_matched() const { +inline const ::pg_query::JsonBehavior& JsonTableColumn::_internal_on_error() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.matched_; + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline void MergeAction::_internal_set_matched(bool value) { +inline const ::pg_query::JsonBehavior& JsonTableColumn::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.on_error) + return _internal_on_error(); +} +inline void JsonTableColumn::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.matched_ = value; + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); + } + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.on_error) } - -// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; -inline void MergeAction::clear_command_type() { +inline ::pg_query::JsonBehavior* JsonTableColumn::release_on_error() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.command_type_ = 0; + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::CmdType MergeAction::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.command_type) - return _internal_command_type(); +inline ::pg_query::JsonBehavior* JsonTableColumn::unsafe_arena_release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.on_error) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; + return temp; } -inline void MergeAction::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.command_type) +inline ::pg_query::JsonBehavior* JsonTableColumn::_internal_mutable_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_error_; } -inline ::pg_query::CmdType MergeAction::_internal_command_type() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::CmdType>(_impl_.command_type_); +inline ::pg_query::JsonBehavior* JsonTableColumn::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.on_error) + return _msg; } -inline void MergeAction::_internal_set_command_type(::pg_query::CmdType value) { +inline void JsonTableColumn::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.command_type_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.on_error) } -// .pg_query.OverridingKind override = 3 [json_name = "override"]; -inline void MergeAction::clear_override() { +// int32 location = 11 [json_name = "location"]; +inline void JsonTableColumn::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.override_ = 0; + _impl_.location_ = 0; } -inline ::pg_query::OverridingKind MergeAction::override() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.override) - return _internal_override(); +inline ::int32_t JsonTableColumn::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.location) + return _internal_location(); } -inline void MergeAction::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.override) +inline void JsonTableColumn::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.location) } -inline ::pg_query::OverridingKind MergeAction::_internal_override() const { +inline ::int32_t JsonTableColumn::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return static_cast<::pg_query::OverridingKind>(_impl_.override_); + return _impl_.location_; } -inline void MergeAction::_internal_set_override(::pg_query::OverridingKind value) { +inline void JsonTableColumn::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.override_ = value; + _impl_.location_ = value; } -// .pg_query.Node qual = 4 [json_name = "qual"]; -inline bool MergeAction::has_qual() const { +// ------------------------------------------------------------------- + +// JsonKeyValue + +// .pg_query.Node key = 1 [json_name = "key"]; +inline bool JsonKeyValue::has_key() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.key_ != nullptr); return value; } -inline void MergeAction::clear_qual() { +inline void JsonKeyValue::clear_key() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + if (_impl_.key_ != nullptr) _impl_.key_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& MergeAction::_internal_qual() const { +inline const ::pg_query::Node& JsonKeyValue::_internal_key() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.qual_; + const ::pg_query::Node* p = _impl_.key_; return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& MergeAction::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.qual) - return _internal_qual(); +inline const ::pg_query::Node& JsonKeyValue::key() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.key) + return _internal_key(); } -inline void MergeAction::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { +inline void JsonKeyValue::unsafe_arena_set_allocated_key(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_); } - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeAction.qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.key) } -inline ::pg_query::Node* MergeAction::release_qual() { +inline ::pg_query::Node* JsonKeyValue::release_key() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.qual_; - _impl_.qual_ = nullptr; + ::pg_query::Node* released = _impl_.key_; + _impl_.key_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -124681,34 +136012,34 @@ inline ::pg_query::Node* MergeAction::release_qual() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* MergeAction::unsafe_arena_release_qual() { +inline ::pg_query::Node* JsonKeyValue::unsafe_arena_release_key() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.MergeAction.qual) + // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.key) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; + ::pg_query::Node* temp = _impl_.key_; + _impl_.key_ = nullptr; return temp; } -inline ::pg_query::Node* MergeAction::_internal_mutable_qual() { +inline ::pg_query::Node* JsonKeyValue::_internal_mutable_key() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.qual_ == nullptr) { + if (_impl_.key_ == nullptr) { auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.qual_; + return _impl_.key_; } -inline ::pg_query::Node* MergeAction::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.qual) +inline ::pg_query::Node* JsonKeyValue::mutable_key() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_key(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.key) return _msg; } -inline void MergeAction::set_allocated_qual(::pg_query::Node* value) { +inline void JsonKeyValue::set_allocated_key(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.key_); } if (value != nullptr) { @@ -124721,254 +136052,391 @@ inline void MergeAction::set_allocated_qual(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeAction.qual) + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.key) } -// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; -inline int MergeAction::_internal_target_list_size() const { - return _internal_target_list().size(); -} -inline int MergeAction::target_list_size() const { - return _internal_target_list_size(); +// .pg_query.JsonValueExpr value = 2 [json_name = "value"]; +inline bool JsonKeyValue::has_value() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; } -inline void MergeAction::clear_target_list() { +inline void JsonKeyValue::clear_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.target_list_.Clear(); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* MergeAction::mutable_target_list(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.target_list) - return _internal_mutable_target_list()->Mutable(index); +inline const ::pg_query::JsonValueExpr& JsonKeyValue::_internal_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_target_list() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.target_list) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_target_list(); +inline const ::pg_query::JsonValueExpr& JsonKeyValue::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.value) + return _internal_value(); } -inline const ::pg_query::Node& MergeAction::target_list(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.target_list) - return _internal_target_list().Get(index); +inline void JsonKeyValue::unsafe_arena_set_allocated_value(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.value) } -inline ::pg_query::Node* MergeAction::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::JsonValueExpr* JsonKeyValue::release_value() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); - // @@protoc_insertion_point(field_add:pg_query.MergeAction.target_list) - return _add; + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* released = _impl_.value_; + _impl_.value_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::target_list() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.MergeAction.target_list) - return _internal_target_list(); +inline ::pg_query::JsonValueExpr* JsonKeyValue::unsafe_arena_release_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.value) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -MergeAction::_internal_target_list() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.target_list_; +inline ::pg_query::JsonValueExpr* JsonKeyValue::_internal_mutable_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.value_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.value_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -MergeAction::_internal_mutable_target_list() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.target_list_; +inline ::pg_query::JsonValueExpr* JsonKeyValue::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.value) + return _msg; } +inline void JsonKeyValue::set_allocated_value(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.value_); + } -// repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; -inline int MergeAction::_internal_update_colnos_size() const { - return _internal_update_colnos().size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.value) } -inline int MergeAction::update_colnos_size() const { - return _internal_update_colnos_size(); + +// ------------------------------------------------------------------- + +// JsonParseExpr + +// .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; +inline bool JsonParseExpr::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void MergeAction::clear_update_colnos() { +inline void JsonParseExpr::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.update_colnos_.Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* MergeAction::mutable_update_colnos(int index) - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.update_colnos) - return _internal_mutable_update_colnos()->Mutable(index); +inline const ::pg_query::JsonValueExpr& JsonParseExpr::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_update_colnos() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.update_colnos) - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - return _internal_mutable_update_colnos(); +inline const ::pg_query::JsonValueExpr& JsonParseExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.expr) + return _internal_expr(); } -inline const ::pg_query::Node& MergeAction::update_colnos(int index) const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.update_colnos) - return _internal_update_colnos().Get(index); +inline void JsonParseExpr::unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonParseExpr.expr) } -inline ::pg_query::Node* MergeAction::add_update_colnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { +inline ::pg_query::JsonValueExpr* JsonParseExpr::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ::pg_query::Node* _add = _internal_mutable_update_colnos()->Add(); - // @@protoc_insertion_point(field_add:pg_query.MergeAction.update_colnos) - return _add; + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::update_colnos() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_list:pg_query.MergeAction.update_colnos) - return _internal_update_colnos(); +inline ::pg_query::JsonValueExpr* JsonParseExpr::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonParseExpr.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& -MergeAction::_internal_update_colnos() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.update_colnos_; +inline ::pg_query::JsonValueExpr* JsonParseExpr::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.expr_; } -inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* -MergeAction::_internal_mutable_update_colnos() { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return &_impl_.update_colnos_; +inline ::pg_query::JsonValueExpr* JsonParseExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonParseExpr.expr) + return _msg; } +inline void JsonParseExpr::set_allocated_expr(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.expr_); + } -// ------------------------------------------------------------------- - -// TriggerTransition + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// string name = 1 [json_name = "name"]; -inline void TriggerTransition::clear_name() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.ClearToEmpty(); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonParseExpr.expr) } -inline const std::string& TriggerTransition::name() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.name) - return _internal_name(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonParseExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -template -inline PROTOBUF_ALWAYS_INLINE void TriggerTransition::set_name(Arg_&& arg, - Args_... args) { +inline void JsonParseExpr::clear_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.name) -} -inline std::string* TriggerTransition::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.TriggerTransition.name) - return _s; + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const std::string& TriggerTransition::_internal_name() const { +inline const ::pg_query::JsonOutput& JsonParseExpr::_internal_output() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.name_.Get(); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline void TriggerTransition::_internal_set_name(const std::string& value) { +inline const ::pg_query::JsonOutput& JsonParseExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.output) + return _internal_output(); +} +inline void JsonParseExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.name_.Set(value, GetArena()); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); + } + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonParseExpr.output) } -inline std::string* TriggerTransition::_internal_mutable_name() { +inline ::pg_query::JsonOutput* JsonParseExpr::release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - return _impl_.name_.Mutable( GetArena()); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* TriggerTransition::release_name() { +inline ::pg_query::JsonOutput* JsonParseExpr::unsafe_arena_release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.TriggerTransition.name) - return _impl_.name_.Release(); + // @@protoc_insertion_point(field_release:pg_query.JsonParseExpr.output) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; + return temp; } -inline void TriggerTransition::set_allocated_name(std::string* value) { +inline ::pg_query::JsonOutput* JsonParseExpr::_internal_mutable_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.name_.SetAllocated(value, GetArena()); - #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArena()); - } - #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TriggerTransition.name) + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); + } + return _impl_.output_; +} +inline ::pg_query::JsonOutput* JsonParseExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonParseExpr.output) + return _msg; } +inline void JsonParseExpr::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); + } -// bool is_new = 2 [json_name = "isNew"]; -inline void TriggerTransition::clear_is_new() { + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonParseExpr.output) +} + +// bool unique_keys = 3 [json_name = "unique_keys"]; +inline void JsonParseExpr::clear_unique_keys() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_new_ = false; + _impl_.unique_keys_ = false; } -inline bool TriggerTransition::is_new() const { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_new) - return _internal_is_new(); +inline bool JsonParseExpr::unique_keys() const { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.unique_keys) + return _internal_unique_keys(); } -inline void TriggerTransition::set_is_new(bool value) { - _internal_set_is_new(value); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_new) +inline void JsonParseExpr::set_unique_keys(bool value) { + _internal_set_unique_keys(value); + // @@protoc_insertion_point(field_set:pg_query.JsonParseExpr.unique_keys) } -inline bool TriggerTransition::_internal_is_new() const { +inline bool JsonParseExpr::_internal_unique_keys() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_new_; + return _impl_.unique_keys_; } -inline void TriggerTransition::_internal_set_is_new(bool value) { +inline void JsonParseExpr::_internal_set_unique_keys(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.is_new_ = value; + _impl_.unique_keys_ = value; } -// bool is_table = 3 [json_name = "isTable"]; -inline void TriggerTransition::clear_is_table() { +// int32 location = 4 [json_name = "location"]; +inline void JsonParseExpr::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.is_table_ = false; + _impl_.location_ = 0; } -inline bool TriggerTransition::is_table() const { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_table) - return _internal_is_table(); +inline ::int32_t JsonParseExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.location) + return _internal_location(); } -inline void TriggerTransition::set_is_table(bool value) { - _internal_set_is_table(value); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_table) +inline void JsonParseExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonParseExpr.location) } -inline bool TriggerTransition::_internal_is_table() const { +inline ::int32_t JsonParseExpr::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.is_table_; + return _impl_.location_; } -inline void TriggerTransition::_internal_set_is_table(bool value) { +inline void JsonParseExpr::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.is_table_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// JsonOutput +// JsonScalarExpr -// .pg_query.TypeName type_name = 1 [json_name = "typeName"]; -inline bool JsonOutput::has_type_name() const { +// .pg_query.Node expr = 1 [json_name = "expr"]; +inline bool JsonScalarExpr::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void JsonOutput::clear_type_name() { +inline void JsonScalarExpr::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& JsonOutput::_internal_type_name() const { +inline const ::pg_query::Node& JsonScalarExpr::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TypeName& JsonOutput::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonOutput.type_name) - return _internal_type_name(); +inline const ::pg_query::Node& JsonScalarExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.expr) + return _internal_expr(); } -inline void JsonOutput::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { +inline void JsonScalarExpr::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonScalarExpr.expr) } -inline ::pg_query::TypeName* JsonOutput::release_type_name() { +inline ::pg_query::Node* JsonScalarExpr::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TypeName* released = _impl_.type_name_; - _impl_.type_name_ = nullptr; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -124982,38 +136450,38 @@ inline ::pg_query::TypeName* JsonOutput::release_type_name() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::TypeName* JsonOutput::unsafe_arena_release_type_name() { +inline ::pg_query::Node* JsonScalarExpr::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonOutput.type_name) + // @@protoc_insertion_point(field_release:pg_query.JsonScalarExpr.expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::TypeName* JsonOutput::_internal_mutable_type_name() { +inline ::pg_query::Node* JsonScalarExpr::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.type_name_; + return _impl_.expr_; } -inline ::pg_query::TypeName* JsonOutput::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.type_name) +inline ::pg_query::Node* JsonScalarExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonScalarExpr.expr) return _msg; } -inline void JsonOutput::set_allocated_type_name(::pg_query::TypeName* value) { +inline void JsonScalarExpr::set_allocated_expr(::pg_query::Node* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -125022,49 +136490,49 @@ inline void JsonOutput::set_allocated_type_name(::pg_query::TypeName* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.type_name) + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonScalarExpr.expr) } -// .pg_query.JsonReturning returning = 2 [json_name = "returning"]; -inline bool JsonOutput::has_returning() const { +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonScalarExpr::has_output() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); return value; } -inline void JsonOutput::clear_returning() { +inline void JsonScalarExpr::clear_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::JsonReturning& JsonOutput::_internal_returning() const { +inline const ::pg_query::JsonOutput& JsonScalarExpr::_internal_output() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonReturning* p = _impl_.returning_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::JsonReturning& JsonOutput::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonOutput.returning) - return _internal_returning(); +inline const ::pg_query::JsonOutput& JsonScalarExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.output) + return _internal_output(); } -inline void JsonOutput::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { +inline void JsonScalarExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.returning) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonScalarExpr.output) } -inline ::pg_query::JsonReturning* JsonOutput::release_returning() { +inline ::pg_query::JsonOutput* JsonScalarExpr::release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonReturning* released = _impl_.returning_; - _impl_.returning_ = nullptr; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -125078,38 +136546,38 @@ inline ::pg_query::JsonReturning* JsonOutput::release_returning() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonReturning* JsonOutput::unsafe_arena_release_returning() { +inline ::pg_query::JsonOutput* JsonScalarExpr::unsafe_arena_release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonOutput.returning) + // @@protoc_insertion_point(field_release:pg_query.JsonScalarExpr.output) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonReturning* temp = _impl_.returning_; - _impl_.returning_ = nullptr; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::JsonReturning* JsonOutput::_internal_mutable_returning() { +inline ::pg_query::JsonOutput* JsonScalarExpr::_internal_mutable_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.returning_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.returning_; + return _impl_.output_; } -inline ::pg_query::JsonReturning* JsonOutput::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.returning) +inline ::pg_query::JsonOutput* JsonScalarExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonScalarExpr.output) return _msg; } -inline void JsonOutput::set_allocated_returning(::pg_query::JsonReturning* value) { +inline void JsonScalarExpr::set_allocated_output(::pg_query::JsonOutput* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -125118,53 +136586,76 @@ inline void JsonOutput::set_allocated_returning(::pg_query::JsonReturning* value _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.returning) + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonScalarExpr.output) +} + +// int32 location = 3 [json_name = "location"]; +inline void JsonScalarExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t JsonScalarExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.location) + return _internal_location(); +} +inline void JsonScalarExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonScalarExpr.location) +} +inline ::int32_t JsonScalarExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonScalarExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// JsonKeyValue +// JsonSerializeExpr -// .pg_query.Node key = 1 [json_name = "key"]; -inline bool JsonKeyValue::has_key() const { +// .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; +inline bool JsonSerializeExpr::has_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || _impl_.key_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); return value; } -inline void JsonKeyValue::clear_key() { +inline void JsonSerializeExpr::clear_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.key_ != nullptr) _impl_.key_->Clear(); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JsonKeyValue::_internal_key() const { +inline const ::pg_query::JsonValueExpr& JsonSerializeExpr::_internal_expr() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::Node* p = _impl_.key_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); + const ::pg_query::JsonValueExpr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline const ::pg_query::Node& JsonKeyValue::key() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.key) - return _internal_key(); +inline const ::pg_query::JsonValueExpr& JsonSerializeExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.expr) + return _internal_expr(); } -inline void JsonKeyValue::unsafe_arena_set_allocated_key(::pg_query::Node* value) { +inline void JsonSerializeExpr::unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000001u; } else { _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.key) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonSerializeExpr.expr) } -inline ::pg_query::Node* JsonKeyValue::release_key() { +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* released = _impl_.key_; - _impl_.key_ = nullptr; + ::pg_query::JsonValueExpr* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -125178,38 +136669,38 @@ inline ::pg_query::Node* JsonKeyValue::release_key() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::Node* JsonKeyValue::unsafe_arena_release_key() { +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::unsafe_arena_release_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.key) + // @@protoc_insertion_point(field_release:pg_query.JsonSerializeExpr.expr) _impl_._has_bits_[0] &= ~0x00000001u; - ::pg_query::Node* temp = _impl_.key_; - _impl_.key_ = nullptr; + ::pg_query::JsonValueExpr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* JsonKeyValue::_internal_mutable_key() { +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::_internal_mutable_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000001u; - if (_impl_.key_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); - _impl_.key_ = reinterpret_cast<::pg_query::Node*>(p); + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); } - return _impl_.key_; + return _impl_.expr_; } -inline ::pg_query::Node* JsonKeyValue::mutable_key() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::Node* _msg = _internal_mutable_key(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.key) +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonSerializeExpr.expr) return _msg; } -inline void JsonKeyValue::set_allocated_key(::pg_query::Node* value) { +inline void JsonSerializeExpr::set_allocated_expr(::pg_query::JsonValueExpr* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::Node*>(_impl_.key_); + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.expr_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -125218,49 +136709,49 @@ inline void JsonKeyValue::set_allocated_key(::pg_query::Node* value) { _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.key) + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonSerializeExpr.expr) } -// .pg_query.JsonValueExpr value = 2 [json_name = "value"]; -inline bool JsonKeyValue::has_value() const { +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonSerializeExpr::has_output() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); return value; } -inline void JsonKeyValue::clear_value() { +inline void JsonSerializeExpr::clear_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::JsonValueExpr& JsonKeyValue::_internal_value() const { +inline const ::pg_query::JsonOutput& JsonSerializeExpr::_internal_output() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - const ::pg_query::JsonValueExpr* p = _impl_.value_; - return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::JsonValueExpr& JsonKeyValue::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.value) - return _internal_value(); +inline const ::pg_query::JsonOutput& JsonSerializeExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.output) + return _internal_output(); } -inline void JsonKeyValue::unsafe_arena_set_allocated_value(::pg_query::JsonValueExpr* value) { +inline void JsonSerializeExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (GetArena() == nullptr) { - delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); if (value != nullptr) { _impl_._has_bits_[0] |= 0x00000002u; } else { _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonSerializeExpr.output) } -inline ::pg_query::JsonValueExpr* JsonKeyValue::release_value() { +inline ::pg_query::JsonOutput* JsonSerializeExpr::release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonValueExpr* released = _impl_.value_; - _impl_.value_ = nullptr; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); released = ::google::protobuf::internal::DuplicateIfNonNull(released); @@ -125274,38 +136765,38 @@ inline ::pg_query::JsonValueExpr* JsonKeyValue::release_value() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return released; } -inline ::pg_query::JsonValueExpr* JsonKeyValue::unsafe_arena_release_value() { +inline ::pg_query::JsonOutput* JsonSerializeExpr::unsafe_arena_release_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.value) + // @@protoc_insertion_point(field_release:pg_query.JsonSerializeExpr.output) _impl_._has_bits_[0] &= ~0x00000002u; - ::pg_query::JsonValueExpr* temp = _impl_.value_; - _impl_.value_ = nullptr; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::JsonValueExpr* JsonKeyValue::_internal_mutable_value() { +inline ::pg_query::JsonOutput* JsonSerializeExpr::_internal_mutable_output() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_._has_bits_[0] |= 0x00000002u; - if (_impl_.value_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); - _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.value_; + return _impl_.output_; } -inline ::pg_query::JsonValueExpr* JsonKeyValue::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { - ::pg_query::JsonValueExpr* _msg = _internal_mutable_value(); - // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.value) +inline ::pg_query::JsonOutput* JsonSerializeExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonSerializeExpr.output) return _msg; } -inline void JsonKeyValue::set_allocated_value(::pg_query::JsonValueExpr* value) { +inline void JsonSerializeExpr::set_allocated_output(::pg_query::JsonOutput* value) { ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.value_); + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } if (value != nullptr) { - ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } @@ -125314,8 +136805,31 @@ inline void JsonKeyValue::set_allocated_value(::pg_query::JsonValueExpr* value) _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); - // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.value) + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonSerializeExpr.output) +} + +// int32 location = 3 [json_name = "location"]; +inline void JsonSerializeExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t JsonSerializeExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.location) + return _internal_location(); +} +inline void JsonSerializeExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonSerializeExpr.location) +} +inline ::int32_t JsonSerializeExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonSerializeExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- @@ -128719,7 +140233,56 @@ MergeStmt::_internal_mutable_merge_when_clauses() { return &_impl_.merge_when_clauses_; } -// .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; +// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; +inline int MergeStmt::_internal_returning_list_size() const { + return _internal_returning_list().size(); +} +inline int MergeStmt::returning_list_size() const { + return _internal_returning_list_size(); +} +inline void MergeStmt::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); +} +inline ::pg_query::Node* MergeStmt::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.returning_list) + return _internal_mutable_returning_list()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeStmt::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeStmt.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); +} +inline const ::pg_query::Node& MergeStmt::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.returning_list) + return _internal_returning_list().Get(index); +} +inline ::pg_query::Node* MergeStmt::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeStmt.returning_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeStmt::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeStmt.returning_list) + return _internal_returning_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeStmt::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeStmt::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; +} + +// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; inline bool MergeStmt::has_with_clause() const { bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); @@ -134749,30 +146312,53 @@ inline void Constraint::_internal_set_initdeferred(bool value) { _impl_.initdeferred_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void Constraint::clear_location() { +// bool skip_validation = 5 [json_name = "skip_validation"]; +inline void Constraint::clear_skip_validation() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.location_ = 0; + _impl_.skip_validation_ = false; } -inline ::int32_t Constraint::location() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.location) - return _internal_location(); +inline bool Constraint::skip_validation() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.skip_validation) + return _internal_skip_validation(); } -inline void Constraint::set_location(::int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.location) +inline void Constraint::set_skip_validation(bool value) { + _internal_set_skip_validation(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.skip_validation) } -inline ::int32_t Constraint::_internal_location() const { +inline bool Constraint::_internal_skip_validation() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.location_; + return _impl_.skip_validation_; } -inline void Constraint::_internal_set_location(::int32_t value) { +inline void Constraint::_internal_set_skip_validation(bool value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.location_ = value; + _impl_.skip_validation_ = value; } -// bool is_no_inherit = 6 [json_name = "is_no_inherit"]; +// bool initially_valid = 6 [json_name = "initially_valid"]; +inline void Constraint::clear_initially_valid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.initially_valid_ = false; +} +inline bool Constraint::initially_valid() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.initially_valid) + return _internal_initially_valid(); +} +inline void Constraint::set_initially_valid(bool value) { + _internal_set_initially_valid(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.initially_valid) +} +inline bool Constraint::_internal_initially_valid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.initially_valid_; +} +inline void Constraint::_internal_set_initially_valid(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.initially_valid_ = value; +} + +// bool is_no_inherit = 7 [json_name = "is_no_inherit"]; inline void Constraint::clear_is_no_inherit() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.is_no_inherit_ = false; @@ -134795,7 +146381,7 @@ inline void Constraint::_internal_set_is_no_inherit(bool value) { _impl_.is_no_inherit_ = value; } -// .pg_query.Node raw_expr = 7 [json_name = "raw_expr"]; +// .pg_query.Node raw_expr = 8 [json_name = "raw_expr"]; inline bool Constraint::has_raw_expr() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; PROTOBUF_ASSUME(!value || _impl_.raw_expr_ != nullptr); @@ -134891,7 +146477,7 @@ inline void Constraint::set_allocated_raw_expr(::pg_query::Node* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.raw_expr) } -// string cooked_expr = 8 [json_name = "cooked_expr"]; +// string cooked_expr = 9 [json_name = "cooked_expr"]; inline void Constraint::clear_cooked_expr() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.cooked_expr_.ClearToEmpty(); @@ -134944,7 +146530,7 @@ inline void Constraint::set_allocated_cooked_expr(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.cooked_expr) } -// string generated_when = 9 [json_name = "generated_when"]; +// string generated_when = 10 [json_name = "generated_when"]; inline void Constraint::clear_generated_when() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.generated_when_.ClearToEmpty(); @@ -134997,7 +146583,30 @@ inline void Constraint::set_allocated_generated_when(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.generated_when) } -// bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"]; +// int32 inhcount = 11 [json_name = "inhcount"]; +inline void Constraint::clear_inhcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inhcount_ = 0; +} +inline ::int32_t Constraint::inhcount() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.inhcount) + return _internal_inhcount(); +} +inline void Constraint::set_inhcount(::int32_t value) { + _internal_set_inhcount(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.inhcount) +} +inline ::int32_t Constraint::_internal_inhcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inhcount_; +} +inline void Constraint::_internal_set_inhcount(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inhcount_ = value; +} + +// bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"]; inline void Constraint::clear_nulls_not_distinct() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.nulls_not_distinct_ = false; @@ -135020,7 +146629,7 @@ inline void Constraint::_internal_set_nulls_not_distinct(bool value) { _impl_.nulls_not_distinct_ = value; } -// repeated .pg_query.Node keys = 11 [json_name = "keys"]; +// repeated .pg_query.Node keys = 13 [json_name = "keys"]; inline int Constraint::_internal_keys_size() const { return _internal_keys().size(); } @@ -135069,7 +146678,7 @@ Constraint::_internal_mutable_keys() { return &_impl_.keys_; } -// repeated .pg_query.Node including = 12 [json_name = "including"]; +// repeated .pg_query.Node including = 14 [json_name = "including"]; inline int Constraint::_internal_including_size() const { return _internal_including().size(); } @@ -135118,7 +146727,7 @@ Constraint::_internal_mutable_including() { return &_impl_.including_; } -// repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"]; +// repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"]; inline int Constraint::_internal_exclusions_size() const { return _internal_exclusions().size(); } @@ -135167,7 +146776,7 @@ Constraint::_internal_mutable_exclusions() { return &_impl_.exclusions_; } -// repeated .pg_query.Node options = 14 [json_name = "options"]; +// repeated .pg_query.Node options = 16 [json_name = "options"]; inline int Constraint::_internal_options_size() const { return _internal_options().size(); } @@ -135216,7 +146825,7 @@ Constraint::_internal_mutable_options() { return &_impl_.options_; } -// string indexname = 15 [json_name = "indexname"]; +// string indexname = 17 [json_name = "indexname"]; inline void Constraint::clear_indexname() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.indexname_.ClearToEmpty(); @@ -135269,7 +146878,7 @@ inline void Constraint::set_allocated_indexname(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexname) } -// string indexspace = 16 [json_name = "indexspace"]; +// string indexspace = 18 [json_name = "indexspace"]; inline void Constraint::clear_indexspace() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.indexspace_.ClearToEmpty(); @@ -135322,7 +146931,7 @@ inline void Constraint::set_allocated_indexspace(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexspace) } -// bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"]; +// bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"]; inline void Constraint::clear_reset_default_tblspc() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.reset_default_tblspc_ = false; @@ -135345,7 +146954,7 @@ inline void Constraint::_internal_set_reset_default_tblspc(bool value) { _impl_.reset_default_tblspc_ = value; } -// string access_method = 18 [json_name = "access_method"]; +// string access_method = 20 [json_name = "access_method"]; inline void Constraint::clear_access_method() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.access_method_.ClearToEmpty(); @@ -135398,7 +147007,7 @@ inline void Constraint::set_allocated_access_method(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.access_method) } -// .pg_query.Node where_clause = 19 [json_name = "where_clause"]; +// .pg_query.Node where_clause = 21 [json_name = "where_clause"]; inline bool Constraint::has_where_clause() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); @@ -135494,7 +147103,7 @@ inline void Constraint::set_allocated_where_clause(::pg_query::Node* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.where_clause) } -// .pg_query.RangeVar pktable = 20 [json_name = "pktable"]; +// .pg_query.RangeVar pktable = 22 [json_name = "pktable"]; inline bool Constraint::has_pktable() const { bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; PROTOBUF_ASSUME(!value || _impl_.pktable_ != nullptr); @@ -135590,7 +147199,7 @@ inline void Constraint::set_allocated_pktable(::pg_query::RangeVar* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.pktable) } -// repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"]; +// repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"]; inline int Constraint::_internal_fk_attrs_size() const { return _internal_fk_attrs().size(); } @@ -135639,7 +147248,7 @@ Constraint::_internal_mutable_fk_attrs() { return &_impl_.fk_attrs_; } -// repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"]; +// repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"]; inline int Constraint::_internal_pk_attrs_size() const { return _internal_pk_attrs().size(); } @@ -135688,7 +147297,7 @@ Constraint::_internal_mutable_pk_attrs() { return &_impl_.pk_attrs_; } -// string fk_matchtype = 23 [json_name = "fk_matchtype"]; +// string fk_matchtype = 25 [json_name = "fk_matchtype"]; inline void Constraint::clear_fk_matchtype() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fk_matchtype_.ClearToEmpty(); @@ -135741,7 +147350,7 @@ inline void Constraint::set_allocated_fk_matchtype(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_matchtype) } -// string fk_upd_action = 24 [json_name = "fk_upd_action"]; +// string fk_upd_action = 26 [json_name = "fk_upd_action"]; inline void Constraint::clear_fk_upd_action() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fk_upd_action_.ClearToEmpty(); @@ -135794,7 +147403,7 @@ inline void Constraint::set_allocated_fk_upd_action(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_upd_action) } -// string fk_del_action = 25 [json_name = "fk_del_action"]; +// string fk_del_action = 27 [json_name = "fk_del_action"]; inline void Constraint::clear_fk_del_action() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fk_del_action_.ClearToEmpty(); @@ -135847,7 +147456,7 @@ inline void Constraint::set_allocated_fk_del_action(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_del_action) } -// repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"]; +// repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"]; inline int Constraint::_internal_fk_del_set_cols_size() const { return _internal_fk_del_set_cols().size(); } @@ -135896,7 +147505,7 @@ Constraint::_internal_mutable_fk_del_set_cols() { return &_impl_.fk_del_set_cols_; } -// repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"]; +// repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"]; inline int Constraint::_internal_old_conpfeqop_size() const { return _internal_old_conpfeqop().size(); } @@ -135945,7 +147554,7 @@ Constraint::_internal_mutable_old_conpfeqop() { return &_impl_.old_conpfeqop_; } -// uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"]; +// uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"]; inline void Constraint::clear_old_pktable_oid() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.old_pktable_oid_ = 0u; @@ -135968,50 +147577,27 @@ inline void Constraint::_internal_set_old_pktable_oid(::uint32_t value) { _impl_.old_pktable_oid_ = value; } -// bool skip_validation = 29 [json_name = "skip_validation"]; -inline void Constraint::clear_skip_validation() { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.skip_validation_ = false; -} -inline bool Constraint::skip_validation() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.skip_validation) - return _internal_skip_validation(); -} -inline void Constraint::set_skip_validation(bool value) { - _internal_set_skip_validation(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.skip_validation) -} -inline bool Constraint::_internal_skip_validation() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.skip_validation_; -} -inline void Constraint::_internal_set_skip_validation(bool value) { - PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.skip_validation_ = value; -} - -// bool initially_valid = 30 [json_name = "initially_valid"]; -inline void Constraint::clear_initially_valid() { +// int32 location = 31 [json_name = "location"]; +inline void Constraint::clear_location() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.initially_valid_ = false; + _impl_.location_ = 0; } -inline bool Constraint::initially_valid() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.initially_valid) - return _internal_initially_valid(); +inline ::int32_t Constraint::location() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.location) + return _internal_location(); } -inline void Constraint::set_initially_valid(bool value) { - _internal_set_initially_valid(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.initially_valid) +inline void Constraint::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.location) } -inline bool Constraint::_internal_initially_valid() const { +inline ::int32_t Constraint::_internal_location() const { PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); - return _impl_.initially_valid_; + return _impl_.location_; } -inline void Constraint::_internal_set_initially_valid(bool value) { +inline void Constraint::_internal_set_location(::int32_t value) { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); ; - _impl_.initially_valid_ = value; + _impl_.location_ = value; } // ------------------------------------------------------------------- @@ -146241,27 +157827,100 @@ AlterStatsStmt::_internal_mutable_defnames() { return &_impl_.defnames_; } -// int32 stxstattarget = 2 [json_name = "stxstattarget"]; +// .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"]; +inline bool AlterStatsStmt::has_stxstattarget() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.stxstattarget_ != nullptr); + return value; +} inline void AlterStatsStmt::clear_stxstattarget() { PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - _impl_.stxstattarget_ = 0; + if (_impl_.stxstattarget_ != nullptr) _impl_.stxstattarget_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::int32_t AlterStatsStmt::stxstattarget() const { +inline const ::pg_query::Node& AlterStatsStmt::_internal_stxstattarget() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.stxstattarget_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& AlterStatsStmt::stxstattarget() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.stxstattarget) return _internal_stxstattarget(); } -inline void AlterStatsStmt::set_stxstattarget(::int32_t value) { - _internal_set_stxstattarget(value); - // @@protoc_insertion_point(field_set:pg_query.AlterStatsStmt.stxstattarget) +inline void AlterStatsStmt::unsafe_arena_set_allocated_stxstattarget(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stxstattarget_); + } + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterStatsStmt.stxstattarget) } -inline ::int32_t AlterStatsStmt::_internal_stxstattarget() const { - PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); +inline ::pg_query::Node* AlterStatsStmt::release_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.stxstattarget_; + _impl_.stxstattarget_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* AlterStatsStmt::unsafe_arena_release_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterStatsStmt.stxstattarget) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.stxstattarget_; + _impl_.stxstattarget_ = nullptr; + return temp; +} +inline ::pg_query::Node* AlterStatsStmt::_internal_mutable_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.stxstattarget_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(p); + } return _impl_.stxstattarget_; } -inline void AlterStatsStmt::_internal_set_stxstattarget(::int32_t value) { +inline ::pg_query::Node* AlterStatsStmt::mutable_stxstattarget() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_stxstattarget(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterStatsStmt.stxstattarget) + return _msg; +} +inline void AlterStatsStmt::set_allocated_stxstattarget(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); - ; - _impl_.stxstattarget_ = value; + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.stxstattarget_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterStatsStmt.stxstattarget) } // bool missing_ok = 3 [json_name = "missing_ok"]; @@ -149960,6 +161619,29 @@ inline void TransactionStmt::_internal_set_chain(bool value) { _impl_.chain_ = value; } +// int32 location = 6 [json_name = "location"]; +inline void TransactionStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t TransactionStmt::location() const { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.location) + return _internal_location(); +} +inline void TransactionStmt::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.location) +} +inline ::int32_t TransactionStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void TransactionStmt::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + // ------------------------------------------------------------------- // CompositeTypeStmt @@ -154411,6 +166093,52 @@ inline void DeallocateStmt::set_allocated_name(std::string* value) { // @@protoc_insertion_point(field_set_allocated:pg_query.DeallocateStmt.name) } +// bool isall = 2 [json_name = "isall"]; +inline void DeallocateStmt::clear_isall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.isall_ = false; +} +inline bool DeallocateStmt::isall() const { + // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.isall) + return _internal_isall(); +} +inline void DeallocateStmt::set_isall(bool value) { + _internal_set_isall(value); + // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.isall) +} +inline bool DeallocateStmt::_internal_isall() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isall_; +} +inline void DeallocateStmt::_internal_set_isall(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.isall_ = value; +} + +// int32 location = 3 [json_name = "location"]; +inline void DeallocateStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t DeallocateStmt::location() const { + // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.location) + return _internal_location(); +} +inline void DeallocateStmt::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.location) +} +inline ::int32_t DeallocateStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DeallocateStmt::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + // ------------------------------------------------------------------- // DropOwnedStmt @@ -156453,12 +168181,6 @@ inline void ScanToken::_internal_set_keyword_kind(::pg_query::KeywordKind value) namespace google { namespace protobuf { -template <> -struct is_proto_enum<::pg_query::OverridingKind> : std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OverridingKind>() { - return ::pg_query::OverridingKind_descriptor(); -} template <> struct is_proto_enum<::pg_query::QuerySource> : std::true_type {}; template <> @@ -156544,6 +168266,18 @@ inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CTEMaterialize>() { return ::pg_query::CTEMaterialize_descriptor(); } template <> +struct is_proto_enum<::pg_query::JsonQuotes> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonQuotes>() { + return ::pg_query::JsonQuotes_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonTableColumnType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonTableColumnType>() { + return ::pg_query::JsonTableColumnType_descriptor(); +} +template <> struct is_proto_enum<::pg_query::SetOperation> : std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SetOperation>() { @@ -156658,12 +168392,24 @@ inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AlterSubscriptionType return ::pg_query::AlterSubscriptionType_descriptor(); } template <> +struct is_proto_enum<::pg_query::OverridingKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OverridingKind>() { + return ::pg_query::OverridingKind_descriptor(); +} +template <> struct is_proto_enum<::pg_query::OnCommitAction> : std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OnCommitAction>() { return ::pg_query::OnCommitAction_descriptor(); } template <> +struct is_proto_enum<::pg_query::TableFuncType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::TableFuncType>() { + return ::pg_query::TableFuncType_descriptor(); +} +template <> struct is_proto_enum<::pg_query::ParamKind> : std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ParamKind>() { @@ -156748,6 +168494,24 @@ inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonValueType>() { return ::pg_query::JsonValueType_descriptor(); } template <> +struct is_proto_enum<::pg_query::JsonWrapper> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonWrapper>() { + return ::pg_query::JsonWrapper_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonBehaviorType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonBehaviorType>() { + return ::pg_query::JsonBehaviorType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonExprOp> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonExprOp>() { + return ::pg_query::JsonExprOp_descriptor(); +} +template <> struct is_proto_enum<::pg_query::NullTestType> : std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor<::pg_query::NullTestType>() { @@ -156760,6 +168524,12 @@ inline const EnumDescriptor* GetEnumDescriptor<::pg_query::BoolTestType>() { return ::pg_query::BoolTestType_descriptor(); } template <> +struct is_proto_enum<::pg_query::MergeMatchKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::MergeMatchKind>() { + return ::pg_query::MergeMatchKind_descriptor(); +} +template <> struct is_proto_enum<::pg_query::CmdType> : std::true_type {}; template <> inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CmdType>() { diff --git a/parser/pg_query.pb-c.c b/parser/pg_query.pb-c.c index 4fab2fcf..64470632 100644 --- a/parser/pg_query.pb-c.c +++ b/parser/pg_query.pb-c.c @@ -952,6 +952,96 @@ void pg_query__window_func__free_unpacked assert(message->base.descriptor == &pg_query__window_func__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__window_func_run_condition__init + (PgQuery__WindowFuncRunCondition *message) +{ + static const PgQuery__WindowFuncRunCondition init_value = PG_QUERY__WINDOW_FUNC_RUN_CONDITION__INIT; + *message = init_value; +} +size_t pg_query__window_func_run_condition__get_packed_size + (const PgQuery__WindowFuncRunCondition *message) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__window_func_run_condition__pack + (const PgQuery__WindowFuncRunCondition *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__window_func_run_condition__pack_to_buffer + (const PgQuery__WindowFuncRunCondition *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__WindowFuncRunCondition * + pg_query__window_func_run_condition__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__WindowFuncRunCondition *) + protobuf_c_message_unpack (&pg_query__window_func_run_condition__descriptor, + allocator, len, data); +} +void pg_query__window_func_run_condition__free_unpacked + (PgQuery__WindowFuncRunCondition *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__merge_support_func__init + (PgQuery__MergeSupportFunc *message) +{ + static const PgQuery__MergeSupportFunc init_value = PG_QUERY__MERGE_SUPPORT_FUNC__INIT; + *message = init_value; +} +size_t pg_query__merge_support_func__get_packed_size + (const PgQuery__MergeSupportFunc *message) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__merge_support_func__pack + (const PgQuery__MergeSupportFunc *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__merge_support_func__pack_to_buffer + (const PgQuery__MergeSupportFunc *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__MergeSupportFunc * + pg_query__merge_support_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__MergeSupportFunc *) + protobuf_c_message_unpack (&pg_query__merge_support_func__descriptor, + allocator, len, data); +} +void pg_query__merge_support_func__free_unpacked + (PgQuery__MergeSupportFunc *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__subscripting_ref__init (PgQuery__SubscriptingRef *message) { @@ -2437,6 +2527,231 @@ void pg_query__json_is_predicate__free_unpacked assert(message->base.descriptor == &pg_query__json_is_predicate__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__json_behavior__init + (PgQuery__JsonBehavior *message) +{ + static const PgQuery__JsonBehavior init_value = PG_QUERY__JSON_BEHAVIOR__INIT; + *message = init_value; +} +size_t pg_query__json_behavior__get_packed_size + (const PgQuery__JsonBehavior *message) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_behavior__pack + (const PgQuery__JsonBehavior *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_behavior__pack_to_buffer + (const PgQuery__JsonBehavior *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonBehavior * + pg_query__json_behavior__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonBehavior *) + protobuf_c_message_unpack (&pg_query__json_behavior__descriptor, + allocator, len, data); +} +void pg_query__json_behavior__free_unpacked + (PgQuery__JsonBehavior *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_expr__init + (PgQuery__JsonExpr *message) +{ + static const PgQuery__JsonExpr init_value = PG_QUERY__JSON_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_expr__get_packed_size + (const PgQuery__JsonExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_expr__pack + (const PgQuery__JsonExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_expr__pack_to_buffer + (const PgQuery__JsonExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonExpr * + pg_query__json_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonExpr *) + protobuf_c_message_unpack (&pg_query__json_expr__descriptor, + allocator, len, data); +} +void pg_query__json_expr__free_unpacked + (PgQuery__JsonExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_path__init + (PgQuery__JsonTablePath *message) +{ + static const PgQuery__JsonTablePath init_value = PG_QUERY__JSON_TABLE_PATH__INIT; + *message = init_value; +} +size_t pg_query__json_table_path__get_packed_size + (const PgQuery__JsonTablePath *message) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_path__pack + (const PgQuery__JsonTablePath *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_path__pack_to_buffer + (const PgQuery__JsonTablePath *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTablePath * + pg_query__json_table_path__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTablePath *) + protobuf_c_message_unpack (&pg_query__json_table_path__descriptor, + allocator, len, data); +} +void pg_query__json_table_path__free_unpacked + (PgQuery__JsonTablePath *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_path_scan__init + (PgQuery__JsonTablePathScan *message) +{ + static const PgQuery__JsonTablePathScan init_value = PG_QUERY__JSON_TABLE_PATH_SCAN__INIT; + *message = init_value; +} +size_t pg_query__json_table_path_scan__get_packed_size + (const PgQuery__JsonTablePathScan *message) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_path_scan__pack + (const PgQuery__JsonTablePathScan *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_path_scan__pack_to_buffer + (const PgQuery__JsonTablePathScan *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTablePathScan * + pg_query__json_table_path_scan__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTablePathScan *) + protobuf_c_message_unpack (&pg_query__json_table_path_scan__descriptor, + allocator, len, data); +} +void pg_query__json_table_path_scan__free_unpacked + (PgQuery__JsonTablePathScan *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_sibling_join__init + (PgQuery__JsonTableSiblingJoin *message) +{ + static const PgQuery__JsonTableSiblingJoin init_value = PG_QUERY__JSON_TABLE_SIBLING_JOIN__INIT; + *message = init_value; +} +size_t pg_query__json_table_sibling_join__get_packed_size + (const PgQuery__JsonTableSiblingJoin *message) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_sibling_join__pack + (const PgQuery__JsonTableSiblingJoin *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_sibling_join__pack_to_buffer + (const PgQuery__JsonTableSiblingJoin *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTableSiblingJoin * + pg_query__json_table_sibling_join__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTableSiblingJoin *) + protobuf_c_message_unpack (&pg_query__json_table_sibling_join__descriptor, + allocator, len, data); +} +void pg_query__json_table_sibling_join__free_unpacked + (PgQuery__JsonTableSiblingJoin *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__null_test__init (PgQuery__NullTest *message) { @@ -2527,6 +2842,51 @@ void pg_query__boolean_test__free_unpacked assert(message->base.descriptor == &pg_query__boolean_test__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__merge_action__init + (PgQuery__MergeAction *message) +{ + static const PgQuery__MergeAction init_value = PG_QUERY__MERGE_ACTION__INIT; + *message = init_value; +} +size_t pg_query__merge_action__get_packed_size + (const PgQuery__MergeAction *message) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__merge_action__pack + (const PgQuery__MergeAction *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__merge_action__pack_to_buffer + (const PgQuery__MergeAction *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__MergeAction * + pg_query__merge_action__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__MergeAction *) + protobuf_c_message_unpack (&pg_query__merge_action__descriptor, + allocator, len, data); +} +void pg_query__merge_action__free_unpacked + (PgQuery__MergeAction *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__coerce_to_domain__init (PgQuery__CoerceToDomain *message) { @@ -4462,6 +4822,51 @@ void pg_query__partition_range_datum__free_unpacked assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__single_partition_spec__init + (PgQuery__SinglePartitionSpec *message) +{ + static const PgQuery__SinglePartitionSpec init_value = PG_QUERY__SINGLE_PARTITION_SPEC__INIT; + *message = init_value; +} +size_t pg_query__single_partition_spec__get_packed_size + (const PgQuery__SinglePartitionSpec *message) +{ + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__single_partition_spec__pack + (const PgQuery__SinglePartitionSpec *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__single_partition_spec__pack_to_buffer + (const PgQuery__SinglePartitionSpec *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__SinglePartitionSpec * + pg_query__single_partition_spec__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__SinglePartitionSpec *) + protobuf_c_message_unpack (&pg_query__single_partition_spec__descriptor, + allocator, len, data); +} +void pg_query__single_partition_spec__free_unpacked + (PgQuery__SinglePartitionSpec *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__partition_cmd__init (PgQuery__PartitionCmd *message) { @@ -5227,51 +5632,6 @@ void pg_query__merge_when_clause__free_unpacked assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__merge_action__init - (PgQuery__MergeAction *message) -{ - static const PgQuery__MergeAction init_value = PG_QUERY__MERGE_ACTION__INIT; - *message = init_value; -} -size_t pg_query__merge_action__get_packed_size - (const PgQuery__MergeAction *message) -{ - assert(message->base.descriptor == &pg_query__merge_action__descriptor); - return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); -} -size_t pg_query__merge_action__pack - (const PgQuery__MergeAction *message, - uint8_t *out) -{ - assert(message->base.descriptor == &pg_query__merge_action__descriptor); - return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); -} -size_t pg_query__merge_action__pack_to_buffer - (const PgQuery__MergeAction *message, - ProtobufCBuffer *buffer) -{ - assert(message->base.descriptor == &pg_query__merge_action__descriptor); - return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); -} -PgQuery__MergeAction * - pg_query__merge_action__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data) -{ - return (PgQuery__MergeAction *) - protobuf_c_message_unpack (&pg_query__merge_action__descriptor, - allocator, len, data); -} -void pg_query__merge_action__free_unpacked - (PgQuery__MergeAction *message, - ProtobufCAllocator *allocator) -{ - if(!message) - return; - assert(message->base.descriptor == &pg_query__merge_action__descriptor); - protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); -} void pg_query__trigger_transition__init (PgQuery__TriggerTransition *message) { @@ -5362,6 +5722,231 @@ void pg_query__json_output__free_unpacked assert(message->base.descriptor == &pg_query__json_output__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__json_argument__init + (PgQuery__JsonArgument *message) +{ + static const PgQuery__JsonArgument init_value = PG_QUERY__JSON_ARGUMENT__INIT; + *message = init_value; +} +size_t pg_query__json_argument__get_packed_size + (const PgQuery__JsonArgument *message) +{ + assert(message->base.descriptor == &pg_query__json_argument__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_argument__pack + (const PgQuery__JsonArgument *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_argument__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_argument__pack_to_buffer + (const PgQuery__JsonArgument *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_argument__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonArgument * + pg_query__json_argument__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonArgument *) + protobuf_c_message_unpack (&pg_query__json_argument__descriptor, + allocator, len, data); +} +void pg_query__json_argument__free_unpacked + (PgQuery__JsonArgument *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_argument__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_func_expr__init + (PgQuery__JsonFuncExpr *message) +{ + static const PgQuery__JsonFuncExpr init_value = PG_QUERY__JSON_FUNC_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_func_expr__get_packed_size + (const PgQuery__JsonFuncExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_func_expr__pack + (const PgQuery__JsonFuncExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_func_expr__pack_to_buffer + (const PgQuery__JsonFuncExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonFuncExpr * + pg_query__json_func_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonFuncExpr *) + protobuf_c_message_unpack (&pg_query__json_func_expr__descriptor, + allocator, len, data); +} +void pg_query__json_func_expr__free_unpacked + (PgQuery__JsonFuncExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_path_spec__init + (PgQuery__JsonTablePathSpec *message) +{ + static const PgQuery__JsonTablePathSpec init_value = PG_QUERY__JSON_TABLE_PATH_SPEC__INIT; + *message = init_value; +} +size_t pg_query__json_table_path_spec__get_packed_size + (const PgQuery__JsonTablePathSpec *message) +{ + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_path_spec__pack + (const PgQuery__JsonTablePathSpec *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_path_spec__pack_to_buffer + (const PgQuery__JsonTablePathSpec *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTablePathSpec * + pg_query__json_table_path_spec__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTablePathSpec *) + protobuf_c_message_unpack (&pg_query__json_table_path_spec__descriptor, + allocator, len, data); +} +void pg_query__json_table_path_spec__free_unpacked + (PgQuery__JsonTablePathSpec *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table__init + (PgQuery__JsonTable *message) +{ + static const PgQuery__JsonTable init_value = PG_QUERY__JSON_TABLE__INIT; + *message = init_value; +} +size_t pg_query__json_table__get_packed_size + (const PgQuery__JsonTable *message) +{ + assert(message->base.descriptor == &pg_query__json_table__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table__pack + (const PgQuery__JsonTable *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table__pack_to_buffer + (const PgQuery__JsonTable *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTable * + pg_query__json_table__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTable *) + protobuf_c_message_unpack (&pg_query__json_table__descriptor, + allocator, len, data); +} +void pg_query__json_table__free_unpacked + (PgQuery__JsonTable *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_column__init + (PgQuery__JsonTableColumn *message) +{ + static const PgQuery__JsonTableColumn init_value = PG_QUERY__JSON_TABLE_COLUMN__INIT; + *message = init_value; +} +size_t pg_query__json_table_column__get_packed_size + (const PgQuery__JsonTableColumn *message) +{ + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_column__pack + (const PgQuery__JsonTableColumn *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_column__pack_to_buffer + (const PgQuery__JsonTableColumn *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTableColumn * + pg_query__json_table_column__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTableColumn *) + protobuf_c_message_unpack (&pg_query__json_table_column__descriptor, + allocator, len, data); +} +void pg_query__json_table_column__free_unpacked + (PgQuery__JsonTableColumn *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__json_key_value__init (PgQuery__JsonKeyValue *message) { @@ -5407,6 +5992,141 @@ void pg_query__json_key_value__free_unpacked assert(message->base.descriptor == &pg_query__json_key_value__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__json_parse_expr__init + (PgQuery__JsonParseExpr *message) +{ + static const PgQuery__JsonParseExpr init_value = PG_QUERY__JSON_PARSE_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_parse_expr__get_packed_size + (const PgQuery__JsonParseExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_parse_expr__pack + (const PgQuery__JsonParseExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_parse_expr__pack_to_buffer + (const PgQuery__JsonParseExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonParseExpr * + pg_query__json_parse_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonParseExpr *) + protobuf_c_message_unpack (&pg_query__json_parse_expr__descriptor, + allocator, len, data); +} +void pg_query__json_parse_expr__free_unpacked + (PgQuery__JsonParseExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_scalar_expr__init + (PgQuery__JsonScalarExpr *message) +{ + static const PgQuery__JsonScalarExpr init_value = PG_QUERY__JSON_SCALAR_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_scalar_expr__get_packed_size + (const PgQuery__JsonScalarExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_scalar_expr__pack + (const PgQuery__JsonScalarExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_scalar_expr__pack_to_buffer + (const PgQuery__JsonScalarExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonScalarExpr * + pg_query__json_scalar_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonScalarExpr *) + protobuf_c_message_unpack (&pg_query__json_scalar_expr__descriptor, + allocator, len, data); +} +void pg_query__json_scalar_expr__free_unpacked + (PgQuery__JsonScalarExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_serialize_expr__init + (PgQuery__JsonSerializeExpr *message) +{ + static const PgQuery__JsonSerializeExpr init_value = PG_QUERY__JSON_SERIALIZE_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_serialize_expr__get_packed_size + (const PgQuery__JsonSerializeExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_serialize_expr__pack + (const PgQuery__JsonSerializeExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_serialize_expr__pack_to_buffer + (const PgQuery__JsonSerializeExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonSerializeExpr * + pg_query__json_serialize_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonSerializeExpr *) + protobuf_c_message_unpack (&pg_query__json_serialize_expr__descriptor, + allocator, len, data); +} +void pg_query__json_serialize_expr__free_unpacked + (PgQuery__JsonSerializeExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__json_object_constructor__init (PgQuery__JsonObjectConstructor *message) { @@ -11629,7 +12349,7 @@ const ProtobufCMessageDescriptor pg_query__scan_result__descriptor = (ProtobufCMessageInit) pg_query__scan_result__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = +static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[268] = { { "alias", @@ -11740,11 +12460,35 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subscripting_ref", + "window_func_run_condition", 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, window_func_run_condition), + &pg_query__window_func_run_condition__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_support_func", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, merge_support_func), + &pg_query__merge_support_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "subscripting_ref", + 12, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, subscripting_ref), &pg_query__subscripting_ref__descriptor, NULL, @@ -11753,7 +12497,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "func_expr", - 11, + 13, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11765,7 +12509,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "named_arg_expr", - 12, + 14, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11777,7 +12521,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "op_expr", - 13, + 15, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11789,7 +12533,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "distinct_expr", - 14, + 16, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11801,7 +12545,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "null_if_expr", - 15, + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11813,7 +12557,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "scalar_array_op_expr", - 16, + 18, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11825,7 +12569,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "bool_expr", - 17, + 19, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11837,7 +12581,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sub_link", - 18, + 20, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11849,7 +12593,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sub_plan", - 19, + 21, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11861,7 +12605,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alternative_sub_plan", - 20, + 22, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11873,7 +12617,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "field_select", - 21, + 23, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11885,7 +12629,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "field_store", - 22, + 24, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11897,7 +12641,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "relabel_type", - 23, + 25, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11909,7 +12653,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "coerce_via_io", - 24, + 26, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11921,7 +12665,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "array_coerce_expr", - 25, + 27, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11933,7 +12677,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "convert_rowtype_expr", - 26, + 28, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11945,7 +12689,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "collate_expr", - 27, + 29, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11957,7 +12701,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "case_expr", - 28, + 30, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11969,7 +12713,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "case_when", - 29, + 31, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11981,7 +12725,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "case_test_expr", - 30, + 32, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -11993,7 +12737,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "array_expr", - 31, + 33, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12005,7 +12749,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "row_expr", - 32, + 34, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12017,7 +12761,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "row_compare_expr", - 33, + 35, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12029,7 +12773,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "coalesce_expr", - 34, + 36, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12041,7 +12785,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "min_max_expr", - 35, + 37, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12053,7 +12797,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sqlvalue_function", - 36, + 38, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12065,7 +12809,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "xml_expr", - 37, + 39, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12077,7 +12821,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_format", - 38, + 40, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12089,7 +12833,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_returning", - 39, + 41, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12101,7 +12845,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_value_expr", - 40, + 42, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12113,7 +12857,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_constructor_expr", - 41, + 43, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12125,7 +12869,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_is_predicate", - 42, + 44, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12135,9 +12879,69 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "json_behavior", + 45, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_behavior), + &pg_query__json_behavior__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_expr", + 46, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_expr), + &pg_query__json_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_path", + 47, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_path), + &pg_query__json_table_path__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_path_scan", + 48, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_path_scan), + &pg_query__json_table_path_scan__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_sibling_join", + 49, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_sibling_join), + &pg_query__json_table_sibling_join__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "null_test", - 43, + 50, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12149,7 +12953,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "boolean_test", - 44, + 51, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12159,9 +12963,21 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "merge_action", + 52, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, merge_action), + &pg_query__merge_action__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "coerce_to_domain", - 45, + 53, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12173,7 +12989,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "coerce_to_domain_value", - 46, + 54, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12185,7 +13001,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "set_to_default", - 47, + 55, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12197,7 +13013,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "current_of_expr", - 48, + 56, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12209,7 +13025,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "next_value_expr", - 49, + 57, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12221,7 +13037,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "inference_elem", - 50, + 58, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12233,7 +13049,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "target_entry", - 51, + 59, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12245,7 +13061,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_tbl_ref", - 52, + 60, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12257,7 +13073,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "join_expr", - 53, + 61, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12269,7 +13085,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "from_expr", - 54, + 62, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12281,7 +13097,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "on_conflict_expr", - 55, + 63, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12293,7 +13109,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "query", - 56, + 64, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12305,7 +13121,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "type_name", - 57, + 65, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12317,7 +13133,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "column_ref", - 58, + 66, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12329,7 +13145,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "param_ref", - 59, + 67, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12341,7 +13157,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_expr", - 60, + 68, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12353,7 +13169,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "type_cast", - 61, + 69, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12365,7 +13181,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "collate_clause", - 62, + 70, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12377,7 +13193,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "role_spec", - 63, + 71, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12389,7 +13205,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "func_call", - 64, + 72, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12401,7 +13217,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_star", - 65, + 73, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12413,7 +13229,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_indices", - 66, + 74, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12425,7 +13241,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_indirection", - 67, + 75, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12437,7 +13253,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_array_expr", - 68, + 76, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12449,7 +13265,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "res_target", - 69, + 77, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12461,7 +13277,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "multi_assign_ref", - 70, + 78, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12473,7 +13289,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sort_by", - 71, + 79, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12485,7 +13301,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "window_def", - 72, + 80, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12497,7 +13313,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_subselect", - 73, + 81, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12509,7 +13325,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_function", - 74, + 82, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12521,7 +13337,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_table_func", - 75, + 83, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12533,7 +13349,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_table_func_col", - 76, + 84, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12545,7 +13361,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_table_sample", - 77, + 85, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12557,7 +13373,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "column_def", - 78, + 86, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12569,7 +13385,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "table_like_clause", - 79, + 87, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12581,7 +13397,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "index_elem", - 80, + 88, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12593,7 +13409,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "def_elem", - 81, + 89, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12605,7 +13421,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "locking_clause", - 82, + 90, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12617,7 +13433,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "xml_serialize", - 83, + 91, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12629,7 +13445,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "partition_elem", - 84, + 92, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12641,7 +13457,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "partition_spec", - 85, + 93, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12653,7 +13469,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "partition_bound_spec", - 86, + 94, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12665,7 +13481,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "partition_range_datum", - 87, + 95, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12675,9 +13491,21 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "single_partition_spec", + 96, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, single_partition_spec), + &pg_query__single_partition_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "partition_cmd", - 88, + 97, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12689,7 +13517,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_tbl_entry", - 89, + 98, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12701,7 +13529,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "rtepermission_info", - 90, + 99, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12713,7 +13541,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "range_tbl_function", - 91, + 100, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12725,7 +13553,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "table_sample_clause", - 92, + 101, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12737,7 +13565,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "with_check_option", - 93, + 102, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12749,7 +13577,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sort_group_clause", - 94, + 103, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12761,7 +13589,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "grouping_set", - 95, + 104, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12773,7 +13601,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "window_clause", - 96, + 105, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12785,7 +13613,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "row_mark_clause", - 97, + 106, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12797,7 +13625,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "with_clause", - 98, + 107, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12809,7 +13637,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "infer_clause", - 99, + 108, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12821,7 +13649,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "on_conflict_clause", - 100, + 109, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12833,7 +13661,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "ctesearch_clause", - 101, + 110, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12845,7 +13673,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "ctecycle_clause", - 102, + 111, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12857,7 +13685,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "common_table_expr", - 103, + 112, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12869,7 +13697,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "merge_when_clause", - 104, + 113, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12879,21 +13707,9 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "merge_action", - 105, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, merge_action), - &pg_query__merge_action__descriptor, - NULL, - PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, { "trigger_transition", - 106, + 114, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12905,7 +13721,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_output", - 107, + 115, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12916,36 +13732,132 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "json_key_value", - 108, + "json_argument", + 116, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, json_key_value), - &pg_query__json_key_value__descriptor, + offsetof(PgQuery__Node, json_argument), + &pg_query__json_argument__descriptor, NULL, PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "json_object_constructor", - 109, + "json_func_expr", + 117, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, json_object_constructor), - &pg_query__json_object_constructor__descriptor, + offsetof(PgQuery__Node, json_func_expr), + &pg_query__json_func_expr__descriptor, NULL, PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "json_array_constructor", - 110, + "json_table_path_spec", + 118, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, json_array_constructor), + offsetof(PgQuery__Node, json_table_path_spec), + &pg_query__json_table_path_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table", + 119, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table), + &pg_query__json_table__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_column", + 120, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_column), + &pg_query__json_table_column__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_key_value", + 121, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_key_value), + &pg_query__json_key_value__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_parse_expr", + 122, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_parse_expr), + &pg_query__json_parse_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_scalar_expr", + 123, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_scalar_expr), + &pg_query__json_scalar_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_serialize_expr", + 124, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_serialize_expr), + &pg_query__json_serialize_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_object_constructor", + 125, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_object_constructor), + &pg_query__json_object_constructor__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_array_constructor", + 126, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_array_constructor), &pg_query__json_array_constructor__descriptor, NULL, PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ @@ -12953,7 +13865,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_array_query_constructor", - 111, + 127, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12965,7 +13877,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_agg_constructor", - 112, + 128, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12977,7 +13889,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_object_agg", - 113, + 129, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -12989,7 +13901,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "json_array_agg", - 114, + 130, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13001,7 +13913,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "raw_stmt", - 115, + 131, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13013,7 +13925,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "insert_stmt", - 116, + 132, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13025,7 +13937,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "delete_stmt", - 117, + 133, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13037,7 +13949,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "update_stmt", - 118, + 134, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13049,7 +13961,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "merge_stmt", - 119, + 135, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13061,7 +13973,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "select_stmt", - 120, + 136, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13073,7 +13985,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "set_operation_stmt", - 121, + 137, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13085,7 +13997,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "return_stmt", - 122, + 138, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13097,7 +14009,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "plassign_stmt", - 123, + 139, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13109,7 +14021,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_schema_stmt", - 124, + 140, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13121,7 +14033,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_table_stmt", - 125, + 141, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13133,7 +14045,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "replica_identity_stmt", - 126, + 142, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13145,7 +14057,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_table_cmd", - 127, + 143, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13157,7 +14069,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_collation_stmt", - 128, + 144, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13169,7 +14081,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_domain_stmt", - 129, + 145, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13181,7 +14093,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "grant_stmt", - 130, + 146, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13193,7 +14105,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "object_with_args", - 131, + 147, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13205,7 +14117,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "access_priv", - 132, + 148, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13217,7 +14129,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "grant_role_stmt", - 133, + 149, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13229,7 +14141,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_default_privileges_stmt", - 134, + 150, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13241,7 +14153,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "copy_stmt", - 135, + 151, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13253,7 +14165,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "variable_set_stmt", - 136, + 152, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13265,7 +14177,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "variable_show_stmt", - 137, + 153, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13277,7 +14189,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_stmt", - 138, + 154, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13289,7 +14201,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "constraint", - 139, + 155, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13301,7 +14213,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_table_space_stmt", - 140, + 156, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13313,7 +14225,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_table_space_stmt", - 141, + 157, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13325,7 +14237,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_table_space_options_stmt", - 142, + 158, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13337,7 +14249,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_table_move_all_stmt", - 143, + 159, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13349,7 +14261,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_extension_stmt", - 144, + 160, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13361,7 +14273,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_extension_stmt", - 145, + 161, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13373,7 +14285,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_extension_contents_stmt", - 146, + 162, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13385,7 +14297,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_fdw_stmt", - 147, + 163, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13397,7 +14309,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_fdw_stmt", - 148, + 164, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13409,7 +14321,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_foreign_server_stmt", - 149, + 165, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13421,7 +14333,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_foreign_server_stmt", - 150, + 166, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13433,7 +14345,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_foreign_table_stmt", - 151, + 167, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13445,7 +14357,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_user_mapping_stmt", - 152, + 168, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13457,7 +14369,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_user_mapping_stmt", - 153, + 169, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13469,7 +14381,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_user_mapping_stmt", - 154, + 170, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13481,7 +14393,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "import_foreign_schema_stmt", - 155, + 171, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13493,7 +14405,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_policy_stmt", - 156, + 172, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13505,7 +14417,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_policy_stmt", - 157, + 173, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13517,7 +14429,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_am_stmt", - 158, + 174, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13529,7 +14441,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_trig_stmt", - 159, + 175, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13541,7 +14453,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_event_trig_stmt", - 160, + 176, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13553,7 +14465,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_event_trig_stmt", - 161, + 177, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13565,7 +14477,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_plang_stmt", - 162, + 178, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13577,7 +14489,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_role_stmt", - 163, + 179, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13589,7 +14501,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_role_stmt", - 164, + 180, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13601,7 +14513,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_role_set_stmt", - 165, + 181, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13613,7 +14525,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_role_stmt", - 166, + 182, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13625,7 +14537,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_seq_stmt", - 167, + 183, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13637,7 +14549,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_seq_stmt", - 168, + 184, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13649,7 +14561,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "define_stmt", - 169, + 185, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13661,7 +14573,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_domain_stmt", - 170, + 186, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13673,7 +14585,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_op_class_stmt", - 171, + 187, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13685,7 +14597,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_op_class_item", - 172, + 188, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13697,7 +14609,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_op_family_stmt", - 173, + 189, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13709,7 +14621,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_op_family_stmt", - 174, + 190, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13721,7 +14633,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_stmt", - 175, + 191, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13733,7 +14645,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "truncate_stmt", - 176, + 192, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13745,7 +14657,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "comment_stmt", - 177, + 193, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13757,7 +14669,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "sec_label_stmt", - 178, + 194, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13769,7 +14681,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "declare_cursor_stmt", - 179, + 195, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13781,7 +14693,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "close_portal_stmt", - 180, + 196, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13793,7 +14705,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "fetch_stmt", - 181, + 197, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13805,7 +14717,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "index_stmt", - 182, + 198, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13817,7 +14729,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_stats_stmt", - 183, + 199, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13829,7 +14741,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "stats_elem", - 184, + 200, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13841,7 +14753,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_stats_stmt", - 185, + 201, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13853,7 +14765,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_function_stmt", - 186, + 202, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13865,7 +14777,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "function_parameter", - 187, + 203, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13877,7 +14789,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_function_stmt", - 188, + 204, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13889,7 +14801,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "do_stmt", - 189, + 205, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13901,7 +14813,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "inline_code_block", - 190, + 206, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13913,7 +14825,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "call_stmt", - 191, + 207, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13925,7 +14837,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "call_context", - 192, + 208, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13937,7 +14849,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "rename_stmt", - 193, + 209, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13949,7 +14861,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_object_depends_stmt", - 194, + 210, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13961,7 +14873,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_object_schema_stmt", - 195, + 211, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13973,7 +14885,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_owner_stmt", - 196, + 212, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13985,7 +14897,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_operator_stmt", - 197, + 213, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -13997,7 +14909,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_type_stmt", - 198, + 214, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14009,7 +14921,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "rule_stmt", - 199, + 215, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14021,7 +14933,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "notify_stmt", - 200, + 216, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14033,7 +14945,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "listen_stmt", - 201, + 217, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14045,7 +14957,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "unlisten_stmt", - 202, + 218, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14057,7 +14969,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "transaction_stmt", - 203, + 219, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14069,7 +14981,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "composite_type_stmt", - 204, + 220, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14081,7 +14993,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_enum_stmt", - 205, + 221, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14093,7 +15005,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_range_stmt", - 206, + 222, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14105,7 +15017,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_enum_stmt", - 207, + 223, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14117,7 +15029,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "view_stmt", - 208, + 224, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14129,7 +15041,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "load_stmt", - 209, + 225, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14141,7 +15053,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "createdb_stmt", - 210, + 226, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14153,7 +15065,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_database_stmt", - 211, + 227, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14165,7 +15077,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_database_refresh_coll_stmt", - 212, + 228, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14177,7 +15089,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_database_set_stmt", - 213, + 229, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14189,7 +15101,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "dropdb_stmt", - 214, + 230, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14201,7 +15113,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_system_stmt", - 215, + 231, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14213,7 +15125,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "cluster_stmt", - 216, + 232, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14225,7 +15137,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "vacuum_stmt", - 217, + 233, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14237,7 +15149,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "vacuum_relation", - 218, + 234, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14249,7 +15161,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "explain_stmt", - 219, + 235, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14261,7 +15173,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_table_as_stmt", - 220, + 236, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14273,7 +15185,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "refresh_mat_view_stmt", - 221, + 237, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14285,7 +15197,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "check_point_stmt", - 222, + 238, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14297,7 +15209,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "discard_stmt", - 223, + 239, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14309,7 +15221,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "lock_stmt", - 224, + 240, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14321,7 +15233,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "constraints_set_stmt", - 225, + 241, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14333,7 +15245,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "reindex_stmt", - 226, + 242, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14345,7 +15257,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_conversion_stmt", - 227, + 243, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14357,7 +15269,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_cast_stmt", - 228, + 244, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14369,7 +15281,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_transform_stmt", - 229, + 245, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14381,7 +15293,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "prepare_stmt", - 230, + 246, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14393,7 +15305,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "execute_stmt", - 231, + 247, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14405,7 +15317,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "deallocate_stmt", - 232, + 248, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14417,7 +15329,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_owned_stmt", - 233, + 249, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14429,7 +15341,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "reassign_owned_stmt", - 234, + 250, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14441,7 +15353,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_tsdictionary_stmt", - 235, + 251, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14453,7 +15365,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_tsconfiguration_stmt", - 236, + 252, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14465,7 +15377,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "publication_table", - 237, + 253, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14477,7 +15389,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "publication_obj_spec", - 238, + 254, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14489,7 +15401,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_publication_stmt", - 239, + 255, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14501,7 +15413,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_publication_stmt", - 240, + 256, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14513,7 +15425,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "create_subscription_stmt", - 241, + 257, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14525,7 +15437,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "alter_subscription_stmt", - 242, + 258, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14537,7 +15449,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "drop_subscription_stmt", - 243, + 259, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14549,7 +15461,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "integer", - 244, + 260, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14561,7 +15473,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "float", - 245, + 261, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14573,7 +15485,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "boolean", - 246, + 262, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14585,7 +15497,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "string", - 247, + 263, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14597,7 +15509,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "bit_string", - 248, + 264, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14609,7 +15521,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "list", - 249, + 265, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14621,7 +15533,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "int_list", - 250, + 266, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14633,7 +15545,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "oid_list", - 251, + 267, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14645,7 +15557,7 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, { "a_const", - 252, + 268, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), @@ -14657,263 +15569,279 @@ static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[252] = }, }; static const unsigned pg_query__node__field_indices_by_name[] = { - 67, /* field[67] = a_array_expr */ - 251, /* field[251] = a_const */ - 59, /* field[59] = a_expr */ - 65, /* field[65] = a_indices */ - 66, /* field[66] = a_indirection */ - 64, /* field[64] = a_star */ - 131, /* field[131] = access_priv */ + 75, /* field[75] = a_array_expr */ + 267, /* field[267] = a_const */ + 67, /* field[67] = a_expr */ + 73, /* field[73] = a_indices */ + 74, /* field[74] = a_indirection */ + 72, /* field[72] = a_star */ + 147, /* field[147] = access_priv */ 6, /* field[6] = aggref */ 0, /* field[0] = alias */ - 127, /* field[127] = alter_collation_stmt */ - 211, /* field[211] = alter_database_refresh_coll_stmt */ - 212, /* field[212] = alter_database_set_stmt */ - 210, /* field[210] = alter_database_stmt */ - 133, /* field[133] = alter_default_privileges_stmt */ - 128, /* field[128] = alter_domain_stmt */ - 206, /* field[206] = alter_enum_stmt */ - 160, /* field[160] = alter_event_trig_stmt */ - 145, /* field[145] = alter_extension_contents_stmt */ - 144, /* field[144] = alter_extension_stmt */ - 147, /* field[147] = alter_fdw_stmt */ - 149, /* field[149] = alter_foreign_server_stmt */ - 187, /* field[187] = alter_function_stmt */ - 193, /* field[193] = alter_object_depends_stmt */ - 194, /* field[194] = alter_object_schema_stmt */ - 173, /* field[173] = alter_op_family_stmt */ - 196, /* field[196] = alter_operator_stmt */ - 195, /* field[195] = alter_owner_stmt */ - 156, /* field[156] = alter_policy_stmt */ - 239, /* field[239] = alter_publication_stmt */ - 164, /* field[164] = alter_role_set_stmt */ - 163, /* field[163] = alter_role_stmt */ - 167, /* field[167] = alter_seq_stmt */ - 184, /* field[184] = alter_stats_stmt */ - 241, /* field[241] = alter_subscription_stmt */ - 214, /* field[214] = alter_system_stmt */ - 126, /* field[126] = alter_table_cmd */ - 142, /* field[142] = alter_table_move_all_stmt */ - 141, /* field[141] = alter_table_space_options_stmt */ - 124, /* field[124] = alter_table_stmt */ - 235, /* field[235] = alter_tsconfiguration_stmt */ - 234, /* field[234] = alter_tsdictionary_stmt */ - 197, /* field[197] = alter_type_stmt */ - 152, /* field[152] = alter_user_mapping_stmt */ - 19, /* field[19] = alternative_sub_plan */ - 24, /* field[24] = array_coerce_expr */ - 30, /* field[30] = array_expr */ - 247, /* field[247] = bit_string */ - 16, /* field[16] = bool_expr */ - 245, /* field[245] = boolean */ - 43, /* field[43] = boolean_test */ - 191, /* field[191] = call_context */ - 190, /* field[190] = call_stmt */ - 27, /* field[27] = case_expr */ - 29, /* field[29] = case_test_expr */ - 28, /* field[28] = case_when */ - 221, /* field[221] = check_point_stmt */ - 179, /* field[179] = close_portal_stmt */ - 215, /* field[215] = cluster_stmt */ - 33, /* field[33] = coalesce_expr */ - 44, /* field[44] = coerce_to_domain */ - 45, /* field[45] = coerce_to_domain_value */ - 23, /* field[23] = coerce_via_io */ - 61, /* field[61] = collate_clause */ - 26, /* field[26] = collate_expr */ - 77, /* field[77] = column_def */ - 57, /* field[57] = column_ref */ - 176, /* field[176] = comment_stmt */ - 102, /* field[102] = common_table_expr */ - 203, /* field[203] = composite_type_stmt */ - 138, /* field[138] = constraint */ - 224, /* field[224] = constraints_set_stmt */ - 25, /* field[25] = convert_rowtype_expr */ - 134, /* field[134] = copy_stmt */ - 157, /* field[157] = create_am_stmt */ - 227, /* field[227] = create_cast_stmt */ - 226, /* field[226] = create_conversion_stmt */ - 169, /* field[169] = create_domain_stmt */ - 204, /* field[204] = create_enum_stmt */ - 159, /* field[159] = create_event_trig_stmt */ - 143, /* field[143] = create_extension_stmt */ - 146, /* field[146] = create_fdw_stmt */ - 148, /* field[148] = create_foreign_server_stmt */ - 150, /* field[150] = create_foreign_table_stmt */ - 185, /* field[185] = create_function_stmt */ - 171, /* field[171] = create_op_class_item */ - 170, /* field[170] = create_op_class_stmt */ - 172, /* field[172] = create_op_family_stmt */ - 161, /* field[161] = create_plang_stmt */ - 155, /* field[155] = create_policy_stmt */ - 238, /* field[238] = create_publication_stmt */ - 205, /* field[205] = create_range_stmt */ - 162, /* field[162] = create_role_stmt */ - 123, /* field[123] = create_schema_stmt */ - 166, /* field[166] = create_seq_stmt */ - 182, /* field[182] = create_stats_stmt */ - 137, /* field[137] = create_stmt */ - 240, /* field[240] = create_subscription_stmt */ - 219, /* field[219] = create_table_as_stmt */ - 139, /* field[139] = create_table_space_stmt */ - 228, /* field[228] = create_transform_stmt */ - 158, /* field[158] = create_trig_stmt */ - 151, /* field[151] = create_user_mapping_stmt */ - 209, /* field[209] = createdb_stmt */ - 101, /* field[101] = ctecycle_clause */ - 100, /* field[100] = ctesearch_clause */ - 47, /* field[47] = current_of_expr */ - 231, /* field[231] = deallocate_stmt */ - 178, /* field[178] = declare_cursor_stmt */ - 80, /* field[80] = def_elem */ - 168, /* field[168] = define_stmt */ - 116, /* field[116] = delete_stmt */ - 222, /* field[222] = discard_stmt */ - 13, /* field[13] = distinct_expr */ - 188, /* field[188] = do_stmt */ - 232, /* field[232] = drop_owned_stmt */ - 165, /* field[165] = drop_role_stmt */ - 174, /* field[174] = drop_stmt */ - 242, /* field[242] = drop_subscription_stmt */ - 140, /* field[140] = drop_table_space_stmt */ - 153, /* field[153] = drop_user_mapping_stmt */ - 213, /* field[213] = dropdb_stmt */ - 230, /* field[230] = execute_stmt */ - 218, /* field[218] = explain_stmt */ - 180, /* field[180] = fetch_stmt */ - 20, /* field[20] = field_select */ - 21, /* field[21] = field_store */ - 244, /* field[244] = float */ - 53, /* field[53] = from_expr */ - 63, /* field[63] = func_call */ - 10, /* field[10] = func_expr */ - 186, /* field[186] = function_parameter */ - 132, /* field[132] = grant_role_stmt */ - 129, /* field[129] = grant_stmt */ + 143, /* field[143] = alter_collation_stmt */ + 227, /* field[227] = alter_database_refresh_coll_stmt */ + 228, /* field[228] = alter_database_set_stmt */ + 226, /* field[226] = alter_database_stmt */ + 149, /* field[149] = alter_default_privileges_stmt */ + 144, /* field[144] = alter_domain_stmt */ + 222, /* field[222] = alter_enum_stmt */ + 176, /* field[176] = alter_event_trig_stmt */ + 161, /* field[161] = alter_extension_contents_stmt */ + 160, /* field[160] = alter_extension_stmt */ + 163, /* field[163] = alter_fdw_stmt */ + 165, /* field[165] = alter_foreign_server_stmt */ + 203, /* field[203] = alter_function_stmt */ + 209, /* field[209] = alter_object_depends_stmt */ + 210, /* field[210] = alter_object_schema_stmt */ + 189, /* field[189] = alter_op_family_stmt */ + 212, /* field[212] = alter_operator_stmt */ + 211, /* field[211] = alter_owner_stmt */ + 172, /* field[172] = alter_policy_stmt */ + 255, /* field[255] = alter_publication_stmt */ + 180, /* field[180] = alter_role_set_stmt */ + 179, /* field[179] = alter_role_stmt */ + 183, /* field[183] = alter_seq_stmt */ + 200, /* field[200] = alter_stats_stmt */ + 257, /* field[257] = alter_subscription_stmt */ + 230, /* field[230] = alter_system_stmt */ + 142, /* field[142] = alter_table_cmd */ + 158, /* field[158] = alter_table_move_all_stmt */ + 157, /* field[157] = alter_table_space_options_stmt */ + 140, /* field[140] = alter_table_stmt */ + 251, /* field[251] = alter_tsconfiguration_stmt */ + 250, /* field[250] = alter_tsdictionary_stmt */ + 213, /* field[213] = alter_type_stmt */ + 168, /* field[168] = alter_user_mapping_stmt */ + 21, /* field[21] = alternative_sub_plan */ + 26, /* field[26] = array_coerce_expr */ + 32, /* field[32] = array_expr */ + 263, /* field[263] = bit_string */ + 18, /* field[18] = bool_expr */ + 261, /* field[261] = boolean */ + 50, /* field[50] = boolean_test */ + 207, /* field[207] = call_context */ + 206, /* field[206] = call_stmt */ + 29, /* field[29] = case_expr */ + 31, /* field[31] = case_test_expr */ + 30, /* field[30] = case_when */ + 237, /* field[237] = check_point_stmt */ + 195, /* field[195] = close_portal_stmt */ + 231, /* field[231] = cluster_stmt */ + 35, /* field[35] = coalesce_expr */ + 52, /* field[52] = coerce_to_domain */ + 53, /* field[53] = coerce_to_domain_value */ + 25, /* field[25] = coerce_via_io */ + 69, /* field[69] = collate_clause */ + 28, /* field[28] = collate_expr */ + 85, /* field[85] = column_def */ + 65, /* field[65] = column_ref */ + 192, /* field[192] = comment_stmt */ + 111, /* field[111] = common_table_expr */ + 219, /* field[219] = composite_type_stmt */ + 154, /* field[154] = constraint */ + 240, /* field[240] = constraints_set_stmt */ + 27, /* field[27] = convert_rowtype_expr */ + 150, /* field[150] = copy_stmt */ + 173, /* field[173] = create_am_stmt */ + 243, /* field[243] = create_cast_stmt */ + 242, /* field[242] = create_conversion_stmt */ + 185, /* field[185] = create_domain_stmt */ + 220, /* field[220] = create_enum_stmt */ + 175, /* field[175] = create_event_trig_stmt */ + 159, /* field[159] = create_extension_stmt */ + 162, /* field[162] = create_fdw_stmt */ + 164, /* field[164] = create_foreign_server_stmt */ + 166, /* field[166] = create_foreign_table_stmt */ + 201, /* field[201] = create_function_stmt */ + 187, /* field[187] = create_op_class_item */ + 186, /* field[186] = create_op_class_stmt */ + 188, /* field[188] = create_op_family_stmt */ + 177, /* field[177] = create_plang_stmt */ + 171, /* field[171] = create_policy_stmt */ + 254, /* field[254] = create_publication_stmt */ + 221, /* field[221] = create_range_stmt */ + 178, /* field[178] = create_role_stmt */ + 139, /* field[139] = create_schema_stmt */ + 182, /* field[182] = create_seq_stmt */ + 198, /* field[198] = create_stats_stmt */ + 153, /* field[153] = create_stmt */ + 256, /* field[256] = create_subscription_stmt */ + 235, /* field[235] = create_table_as_stmt */ + 155, /* field[155] = create_table_space_stmt */ + 244, /* field[244] = create_transform_stmt */ + 174, /* field[174] = create_trig_stmt */ + 167, /* field[167] = create_user_mapping_stmt */ + 225, /* field[225] = createdb_stmt */ + 110, /* field[110] = ctecycle_clause */ + 109, /* field[109] = ctesearch_clause */ + 55, /* field[55] = current_of_expr */ + 247, /* field[247] = deallocate_stmt */ + 194, /* field[194] = declare_cursor_stmt */ + 88, /* field[88] = def_elem */ + 184, /* field[184] = define_stmt */ + 132, /* field[132] = delete_stmt */ + 238, /* field[238] = discard_stmt */ + 15, /* field[15] = distinct_expr */ + 204, /* field[204] = do_stmt */ + 248, /* field[248] = drop_owned_stmt */ + 181, /* field[181] = drop_role_stmt */ + 190, /* field[190] = drop_stmt */ + 258, /* field[258] = drop_subscription_stmt */ + 156, /* field[156] = drop_table_space_stmt */ + 169, /* field[169] = drop_user_mapping_stmt */ + 229, /* field[229] = dropdb_stmt */ + 246, /* field[246] = execute_stmt */ + 234, /* field[234] = explain_stmt */ + 196, /* field[196] = fetch_stmt */ + 22, /* field[22] = field_select */ + 23, /* field[23] = field_store */ + 260, /* field[260] = float */ + 61, /* field[61] = from_expr */ + 71, /* field[71] = func_call */ + 12, /* field[12] = func_expr */ + 202, /* field[202] = function_parameter */ + 148, /* field[148] = grant_role_stmt */ + 145, /* field[145] = grant_stmt */ 7, /* field[7] = grouping_func */ - 94, /* field[94] = grouping_set */ - 154, /* field[154] = import_foreign_schema_stmt */ - 79, /* field[79] = index_elem */ - 181, /* field[181] = index_stmt */ - 98, /* field[98] = infer_clause */ - 49, /* field[49] = inference_elem */ - 189, /* field[189] = inline_code_block */ - 115, /* field[115] = insert_stmt */ - 249, /* field[249] = int_list */ - 243, /* field[243] = integer */ + 103, /* field[103] = grouping_set */ + 170, /* field[170] = import_foreign_schema_stmt */ + 87, /* field[87] = index_elem */ + 197, /* field[197] = index_stmt */ + 107, /* field[107] = infer_clause */ + 57, /* field[57] = inference_elem */ + 205, /* field[205] = inline_code_block */ + 131, /* field[131] = insert_stmt */ + 265, /* field[265] = int_list */ + 259, /* field[259] = integer */ 3, /* field[3] = into_clause */ - 52, /* field[52] = join_expr */ - 111, /* field[111] = json_agg_constructor */ - 113, /* field[113] = json_array_agg */ - 109, /* field[109] = json_array_constructor */ - 110, /* field[110] = json_array_query_constructor */ - 40, /* field[40] = json_constructor_expr */ - 37, /* field[37] = json_format */ - 41, /* field[41] = json_is_predicate */ - 107, /* field[107] = json_key_value */ - 112, /* field[112] = json_object_agg */ - 108, /* field[108] = json_object_constructor */ - 106, /* field[106] = json_output */ - 38, /* field[38] = json_returning */ - 39, /* field[39] = json_value_expr */ - 248, /* field[248] = list */ - 200, /* field[200] = listen_stmt */ - 208, /* field[208] = load_stmt */ - 223, /* field[223] = lock_stmt */ - 81, /* field[81] = locking_clause */ - 104, /* field[104] = merge_action */ - 118, /* field[118] = merge_stmt */ - 103, /* field[103] = merge_when_clause */ - 34, /* field[34] = min_max_expr */ - 69, /* field[69] = multi_assign_ref */ - 11, /* field[11] = named_arg_expr */ - 48, /* field[48] = next_value_expr */ - 199, /* field[199] = notify_stmt */ - 14, /* field[14] = null_if_expr */ - 42, /* field[42] = null_test */ - 130, /* field[130] = object_with_args */ - 250, /* field[250] = oid_list */ - 99, /* field[99] = on_conflict_clause */ - 54, /* field[54] = on_conflict_expr */ - 12, /* field[12] = op_expr */ + 60, /* field[60] = join_expr */ + 127, /* field[127] = json_agg_constructor */ + 115, /* field[115] = json_argument */ + 129, /* field[129] = json_array_agg */ + 125, /* field[125] = json_array_constructor */ + 126, /* field[126] = json_array_query_constructor */ + 44, /* field[44] = json_behavior */ + 42, /* field[42] = json_constructor_expr */ + 45, /* field[45] = json_expr */ + 39, /* field[39] = json_format */ + 116, /* field[116] = json_func_expr */ + 43, /* field[43] = json_is_predicate */ + 120, /* field[120] = json_key_value */ + 128, /* field[128] = json_object_agg */ + 124, /* field[124] = json_object_constructor */ + 114, /* field[114] = json_output */ + 121, /* field[121] = json_parse_expr */ + 40, /* field[40] = json_returning */ + 122, /* field[122] = json_scalar_expr */ + 123, /* field[123] = json_serialize_expr */ + 118, /* field[118] = json_table */ + 119, /* field[119] = json_table_column */ + 46, /* field[46] = json_table_path */ + 47, /* field[47] = json_table_path_scan */ + 117, /* field[117] = json_table_path_spec */ + 48, /* field[48] = json_table_sibling_join */ + 41, /* field[41] = json_value_expr */ + 264, /* field[264] = list */ + 216, /* field[216] = listen_stmt */ + 224, /* field[224] = load_stmt */ + 239, /* field[239] = lock_stmt */ + 89, /* field[89] = locking_clause */ + 51, /* field[51] = merge_action */ + 134, /* field[134] = merge_stmt */ + 10, /* field[10] = merge_support_func */ + 112, /* field[112] = merge_when_clause */ + 36, /* field[36] = min_max_expr */ + 77, /* field[77] = multi_assign_ref */ + 13, /* field[13] = named_arg_expr */ + 56, /* field[56] = next_value_expr */ + 215, /* field[215] = notify_stmt */ + 16, /* field[16] = null_if_expr */ + 49, /* field[49] = null_test */ + 146, /* field[146] = object_with_args */ + 266, /* field[266] = oid_list */ + 108, /* field[108] = on_conflict_clause */ + 62, /* field[62] = on_conflict_expr */ + 14, /* field[14] = op_expr */ 5, /* field[5] = param */ - 58, /* field[58] = param_ref */ - 85, /* field[85] = partition_bound_spec */ - 87, /* field[87] = partition_cmd */ - 83, /* field[83] = partition_elem */ - 86, /* field[86] = partition_range_datum */ - 84, /* field[84] = partition_spec */ - 122, /* field[122] = plassign_stmt */ - 229, /* field[229] = prepare_stmt */ - 237, /* field[237] = publication_obj_spec */ - 236, /* field[236] = publication_table */ - 55, /* field[55] = query */ - 73, /* field[73] = range_function */ - 72, /* field[72] = range_subselect */ - 74, /* field[74] = range_table_func */ - 75, /* field[75] = range_table_func_col */ - 76, /* field[76] = range_table_sample */ - 88, /* field[88] = range_tbl_entry */ - 90, /* field[90] = range_tbl_function */ - 51, /* field[51] = range_tbl_ref */ + 66, /* field[66] = param_ref */ + 93, /* field[93] = partition_bound_spec */ + 96, /* field[96] = partition_cmd */ + 91, /* field[91] = partition_elem */ + 94, /* field[94] = partition_range_datum */ + 92, /* field[92] = partition_spec */ + 138, /* field[138] = plassign_stmt */ + 245, /* field[245] = prepare_stmt */ + 253, /* field[253] = publication_obj_spec */ + 252, /* field[252] = publication_table */ + 63, /* field[63] = query */ + 81, /* field[81] = range_function */ + 80, /* field[80] = range_subselect */ + 82, /* field[82] = range_table_func */ + 83, /* field[83] = range_table_func_col */ + 84, /* field[84] = range_table_sample */ + 97, /* field[97] = range_tbl_entry */ + 99, /* field[99] = range_tbl_function */ + 59, /* field[59] = range_tbl_ref */ 1, /* field[1] = range_var */ - 114, /* field[114] = raw_stmt */ - 233, /* field[233] = reassign_owned_stmt */ - 220, /* field[220] = refresh_mat_view_stmt */ - 225, /* field[225] = reindex_stmt */ - 22, /* field[22] = relabel_type */ - 192, /* field[192] = rename_stmt */ - 125, /* field[125] = replica_identity_stmt */ - 68, /* field[68] = res_target */ - 121, /* field[121] = return_stmt */ - 62, /* field[62] = role_spec */ - 32, /* field[32] = row_compare_expr */ - 31, /* field[31] = row_expr */ - 96, /* field[96] = row_mark_clause */ - 89, /* field[89] = rtepermission_info */ - 198, /* field[198] = rule_stmt */ - 15, /* field[15] = scalar_array_op_expr */ - 177, /* field[177] = sec_label_stmt */ - 119, /* field[119] = select_stmt */ - 120, /* field[120] = set_operation_stmt */ - 46, /* field[46] = set_to_default */ - 70, /* field[70] = sort_by */ - 93, /* field[93] = sort_group_clause */ - 35, /* field[35] = sqlvalue_function */ - 183, /* field[183] = stats_elem */ - 246, /* field[246] = string */ - 17, /* field[17] = sub_link */ - 18, /* field[18] = sub_plan */ - 9, /* field[9] = subscripting_ref */ + 130, /* field[130] = raw_stmt */ + 249, /* field[249] = reassign_owned_stmt */ + 236, /* field[236] = refresh_mat_view_stmt */ + 241, /* field[241] = reindex_stmt */ + 24, /* field[24] = relabel_type */ + 208, /* field[208] = rename_stmt */ + 141, /* field[141] = replica_identity_stmt */ + 76, /* field[76] = res_target */ + 137, /* field[137] = return_stmt */ + 70, /* field[70] = role_spec */ + 34, /* field[34] = row_compare_expr */ + 33, /* field[33] = row_expr */ + 105, /* field[105] = row_mark_clause */ + 98, /* field[98] = rtepermission_info */ + 214, /* field[214] = rule_stmt */ + 17, /* field[17] = scalar_array_op_expr */ + 193, /* field[193] = sec_label_stmt */ + 135, /* field[135] = select_stmt */ + 136, /* field[136] = set_operation_stmt */ + 54, /* field[54] = set_to_default */ + 95, /* field[95] = single_partition_spec */ + 78, /* field[78] = sort_by */ + 102, /* field[102] = sort_group_clause */ + 37, /* field[37] = sqlvalue_function */ + 199, /* field[199] = stats_elem */ + 262, /* field[262] = string */ + 19, /* field[19] = sub_link */ + 20, /* field[20] = sub_plan */ + 11, /* field[11] = subscripting_ref */ 2, /* field[2] = table_func */ - 78, /* field[78] = table_like_clause */ - 91, /* field[91] = table_sample_clause */ - 50, /* field[50] = target_entry */ - 202, /* field[202] = transaction_stmt */ - 105, /* field[105] = trigger_transition */ - 175, /* field[175] = truncate_stmt */ - 60, /* field[60] = type_cast */ - 56, /* field[56] = type_name */ - 201, /* field[201] = unlisten_stmt */ - 117, /* field[117] = update_stmt */ - 217, /* field[217] = vacuum_relation */ - 216, /* field[216] = vacuum_stmt */ + 86, /* field[86] = table_like_clause */ + 100, /* field[100] = table_sample_clause */ + 58, /* field[58] = target_entry */ + 218, /* field[218] = transaction_stmt */ + 113, /* field[113] = trigger_transition */ + 191, /* field[191] = truncate_stmt */ + 68, /* field[68] = type_cast */ + 64, /* field[64] = type_name */ + 217, /* field[217] = unlisten_stmt */ + 133, /* field[133] = update_stmt */ + 233, /* field[233] = vacuum_relation */ + 232, /* field[232] = vacuum_stmt */ 4, /* field[4] = var */ - 135, /* field[135] = variable_set_stmt */ - 136, /* field[136] = variable_show_stmt */ - 207, /* field[207] = view_stmt */ - 95, /* field[95] = window_clause */ - 71, /* field[71] = window_def */ + 151, /* field[151] = variable_set_stmt */ + 152, /* field[152] = variable_show_stmt */ + 223, /* field[223] = view_stmt */ + 104, /* field[104] = window_clause */ + 79, /* field[79] = window_def */ 8, /* field[8] = window_func */ - 92, /* field[92] = with_check_option */ - 97, /* field[97] = with_clause */ - 36, /* field[36] = xml_expr */ - 82, /* field[82] = xml_serialize */ + 9, /* field[9] = window_func_run_condition */ + 101, /* field[101] = with_check_option */ + 106, /* field[106] = with_clause */ + 38, /* field[38] = xml_expr */ + 90, /* field[90] = xml_serialize */ }; static const ProtobufCIntRange pg_query__node__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 252 } + { 0, 268 } }; const ProtobufCMessageDescriptor pg_query__node__descriptor = { @@ -14923,7 +15851,7 @@ const ProtobufCMessageDescriptor pg_query__node__descriptor = "PgQuery__Node", "pg_query", sizeof(PgQuery__Node), - 252, + 268, pg_query__node__field_descriptors, pg_query__node__field_indices_by_name, 1, pg_query__node__number_ranges, @@ -15518,11 +16446,23 @@ const ProtobufCMessageDescriptor pg_query__range_var__descriptor = (ProtobufCMessageInit) pg_query__range_var__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13] = +static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[17] = { { - "ns_uris", + "functype", 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, functype), + &pg_query__table_func_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ns_uris", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_ns_uris), @@ -15534,7 +16474,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "ns_names", - 2, + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_ns_names), @@ -15546,7 +16486,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "docexpr", - 3, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -15558,7 +16498,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "rowexpr", - 4, + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -15570,7 +16510,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "colnames", - 5, + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_colnames), @@ -15582,7 +16522,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "coltypes", - 6, + 7, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_coltypes), @@ -15594,7 +16534,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "coltypmods", - 7, + 8, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_coltypmods), @@ -15606,7 +16546,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "colcollations", - 8, + 9, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_colcollations), @@ -15618,7 +16558,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "colexprs", - 9, + 10, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_colexprs), @@ -15630,7 +16570,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "coldefexprs", - 10, + 11, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__TableFunc, n_coldefexprs), @@ -15640,9 +16580,33 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "colvalexprs", + 12, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TableFunc, n_colvalexprs), + offsetof(PgQuery__TableFunc, colvalexprs), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "passingvalexprs", + 13, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TableFunc, n_passingvalexprs), + offsetof(PgQuery__TableFunc, passingvalexprs), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "notnulls", - 11, + 14, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_UINT64, offsetof(PgQuery__TableFunc, n_notnulls), @@ -15652,9 +16616,21 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "plan", + 15, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, plan), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "ordinalitycol", - 12, + 16, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ @@ -15666,7 +16642,7 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, { "location", - 13, + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ @@ -15678,24 +16654,28 @@ static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13 }, }; static const unsigned pg_query__table_func__field_indices_by_name[] = { - 7, /* field[7] = colcollations */ - 9, /* field[9] = coldefexprs */ - 8, /* field[8] = colexprs */ - 4, /* field[4] = colnames */ - 5, /* field[5] = coltypes */ - 6, /* field[6] = coltypmods */ - 2, /* field[2] = docexpr */ - 12, /* field[12] = location */ - 10, /* field[10] = notnulls */ - 1, /* field[1] = ns_names */ - 0, /* field[0] = ns_uris */ - 11, /* field[11] = ordinalitycol */ - 3, /* field[3] = rowexpr */ + 8, /* field[8] = colcollations */ + 10, /* field[10] = coldefexprs */ + 9, /* field[9] = colexprs */ + 5, /* field[5] = colnames */ + 6, /* field[6] = coltypes */ + 7, /* field[7] = coltypmods */ + 11, /* field[11] = colvalexprs */ + 3, /* field[3] = docexpr */ + 0, /* field[0] = functype */ + 16, /* field[16] = location */ + 13, /* field[13] = notnulls */ + 2, /* field[2] = ns_names */ + 1, /* field[1] = ns_uris */ + 15, /* field[15] = ordinalitycol */ + 12, /* field[12] = passingvalexprs */ + 14, /* field[14] = plan */ + 4, /* field[4] = rowexpr */ }; static const ProtobufCIntRange pg_query__table_func__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 13 } + { 0, 17 } }; const ProtobufCMessageDescriptor pg_query__table_func__descriptor = { @@ -15705,7 +16685,7 @@ const ProtobufCMessageDescriptor pg_query__table_func__descriptor = "PgQuery__TableFunc", "pg_query", sizeof(PgQuery__TableFunc), - 13, + 17, pg_query__table_func__field_descriptors, pg_query__table_func__field_indices_by_name, 1, pg_query__table_func__number_ranges, @@ -16461,7 +17441,7 @@ const ProtobufCMessageDescriptor pg_query__grouping_func__descriptor = (ProtobufCMessageInit) pg_query__grouping_func__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[11] = +static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[12] = { { "xpr", @@ -16548,8 +17528,20 @@ static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[1 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winref", + "run_condition", 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WindowFunc, n_run_condition), + offsetof(PgQuery__WindowFunc, run_condition), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "winref", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ @@ -16561,7 +17553,7 @@ static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[1 }, { "winstar", - 9, + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ @@ -16573,7 +17565,7 @@ static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[1 }, { "winagg", - 10, + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ @@ -16585,7 +17577,7 @@ static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[1 }, { "location", - 11, + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ @@ -16600,19 +17592,20 @@ static const unsigned pg_query__window_func__field_indices_by_name[] = { 6, /* field[6] = aggfilter */ 5, /* field[5] = args */ 4, /* field[4] = inputcollid */ - 10, /* field[10] = location */ - 9, /* field[9] = winagg */ + 11, /* field[11] = location */ + 7, /* field[7] = run_condition */ + 10, /* field[10] = winagg */ 3, /* field[3] = wincollid */ 1, /* field[1] = winfnoid */ - 7, /* field[7] = winref */ - 8, /* field[8] = winstar */ + 8, /* field[8] = winref */ + 9, /* field[9] = winstar */ 2, /* field[2] = wintype */ 0, /* field[0] = xpr */ }; static const ProtobufCIntRange pg_query__window_func__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 11 } + { 0, 12 } }; const ProtobufCMessageDescriptor pg_query__window_func__descriptor = { @@ -16622,13 +17615,180 @@ const ProtobufCMessageDescriptor pg_query__window_func__descriptor = "PgQuery__WindowFunc", "pg_query", sizeof(PgQuery__WindowFunc), - 11, + 12, pg_query__window_func__field_descriptors, pg_query__window_func__field_indices_by_name, 1, pg_query__window_func__number_ranges, (ProtobufCMessageInit) pg_query__window_func__init, NULL,NULL,NULL /* reserved[123] */ }; +static const ProtobufCFieldDescriptor pg_query__window_func_run_condition__field_descriptors[5] = +{ + { + "xpr", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, xpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "opno", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, opno), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inputcollid", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, inputcollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "wfunc_left", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, wfunc_left), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "arg", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, arg), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__window_func_run_condition__field_indices_by_name[] = { + 4, /* field[4] = arg */ + 2, /* field[2] = inputcollid */ + 1, /* field[1] = opno */ + 3, /* field[3] = wfunc_left */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__window_func_run_condition__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__window_func_run_condition__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.WindowFuncRunCondition", + "WindowFuncRunCondition", + "PgQuery__WindowFuncRunCondition", + "pg_query", + sizeof(PgQuery__WindowFuncRunCondition), + 5, + pg_query__window_func_run_condition__field_descriptors, + pg_query__window_func_run_condition__field_indices_by_name, + 1, pg_query__window_func_run_condition__number_ranges, + (ProtobufCMessageInit) pg_query__window_func_run_condition__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__merge_support_func__field_descriptors[4] = +{ + { + "xpr", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, xpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "msftype", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, msftype), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "msfcollid", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, msfcollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__merge_support_func__field_indices_by_name[] = { + 3, /* field[3] = location */ + 2, /* field[2] = msfcollid */ + 1, /* field[1] = msftype */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__merge_support_func__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__merge_support_func__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.MergeSupportFunc", + "MergeSupportFunc", + "PgQuery__MergeSupportFunc", + "pg_query", + sizeof(PgQuery__MergeSupportFunc), + 4, + pg_query__merge_support_func__field_descriptors, + pg_query__merge_support_func__field_indices_by_name, + 1, pg_query__merge_support_func__number_ranges, + (ProtobufCMessageInit) pg_query__merge_support_func__init, + NULL,NULL,NULL /* reserved[123] */ +}; static const ProtobufCFieldDescriptor pg_query__subscripting_ref__field_descriptors[10] = { { @@ -20210,51 +21370,39 @@ const ProtobufCMessageDescriptor pg_query__json_is_predicate__descriptor = (ProtobufCMessageInit) pg_query__json_is_predicate__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__null_test__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__json_behavior__field_descriptors[4] = { { - "xpr", + "btype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonBehavior, btype), + &pg_query__json_behavior_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "expr", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, arg), + offsetof(PgQuery__JsonBehavior, expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulltesttype", + "coerce", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, nulltesttype), - &pg_query__null_test_type__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "argisrow", - 4, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, argisrow), + offsetof(PgQuery__JsonBehavior, coerce), NULL, NULL, 0, /* flags */ @@ -20262,45 +21410,44 @@ static const ProtobufCFieldDescriptor pg_query__null_test__field_descriptors[5] }, { "location", - 5, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, location), + offsetof(PgQuery__JsonBehavior, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__null_test__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 3, /* field[3] = argisrow */ - 4, /* field[4] = location */ - 2, /* field[2] = nulltesttype */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_behavior__field_indices_by_name[] = { + 0, /* field[0] = btype */ + 2, /* field[2] = coerce */ + 1, /* field[1] = expr */ + 3, /* field[3] = location */ }; -static const ProtobufCIntRange pg_query__null_test__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_behavior__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__null_test__descriptor = +const ProtobufCMessageDescriptor pg_query__json_behavior__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NullTest", - "NullTest", - "PgQuery__NullTest", + "pg_query.JsonBehavior", + "JsonBehavior", + "PgQuery__JsonBehavior", "pg_query", - sizeof(PgQuery__NullTest), - 5, - pg_query__null_test__field_descriptors, - pg_query__null_test__field_indices_by_name, - 1, pg_query__null_test__number_ranges, - (ProtobufCMessageInit) pg_query__null_test__init, + sizeof(PgQuery__JsonBehavior), + 4, + pg_query__json_behavior__field_descriptors, + pg_query__json_behavior__field_indices_by_name, + 1, pg_query__json_behavior__number_ranges, + (ProtobufCMessageInit) pg_query__json_behavior__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__boolean_test__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_expr__field_descriptors[17] = { { "xpr", @@ -20308,224 +21455,175 @@ static const ProtobufCFieldDescriptor pg_query__boolean_test__field_descriptors[ PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, xpr), + offsetof(PgQuery__JsonExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "op", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, op), + &pg_query__json_expr_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "booltesttype", + "column_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, booltesttype), - &pg_query__bool_test_type__descriptor, + offsetof(PgQuery__JsonExpr, column_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "formatted_expr", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, location), - NULL, + offsetof(PgQuery__JsonExpr, formatted_expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__boolean_test__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 2, /* field[2] = booltesttype */ - 3, /* field[3] = location */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__boolean_test__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.BooleanTest", - "BooleanTest", - "PgQuery__BooleanTest", - "pg_query", - sizeof(PgQuery__BooleanTest), - 4, - pg_query__boolean_test__field_descriptors, - pg_query__boolean_test__field_indices_by_name, - 1, pg_query__boolean_test__number_ranges, - (ProtobufCMessageInit) pg_query__boolean_test__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__coerce_to_domain__field_descriptors[7] = -{ { - "xpr", - 1, + "format", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", - 2, + "path_spec", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, arg), + offsetof(PgQuery__JsonExpr, path_spec), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", - 3, + "returning", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resulttype), - NULL, + offsetof(PgQuery__JsonExpr, returning), + &pg_query__json_returning__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttypmod", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resulttypmod), + "passing_names", + 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonExpr, n_passing_names), + offsetof(PgQuery__JsonExpr, passing_names), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "passing_values", + 9, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonExpr, n_passing_values), + offsetof(PgQuery__JsonExpr, passing_values), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resultcollid", - 5, + "on_empty", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resultcollid), - NULL, + offsetof(PgQuery__JsonExpr, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coercionformat", - 6, + "on_error", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, coercionformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__JsonExpr, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 7, + "use_io_coercion", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, location), + offsetof(PgQuery__JsonExpr, use_io_coercion), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__coerce_to_domain__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 5, /* field[5] = coercionformat */ - 6, /* field[6] = location */ - 4, /* field[4] = resultcollid */ - 2, /* field[2] = resulttype */ - 3, /* field[3] = resulttypmod */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__coerce_to_domain__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 7 } -}; -const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoerceToDomain", - "CoerceToDomain", - "PgQuery__CoerceToDomain", - "pg_query", - sizeof(PgQuery__CoerceToDomain), - 7, - pg_query__coerce_to_domain__field_descriptors, - pg_query__coerce_to_domain__field_indices_by_name, - 1, pg_query__coerce_to_domain__number_ranges, - (ProtobufCMessageInit) pg_query__coerce_to_domain__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_descriptors[5] = -{ { - "xpr", - 1, + "use_json_coercion", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, use_json_coercion), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", - 2, + "wrapper", + 14, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, type_id), - NULL, + offsetof(PgQuery__JsonExpr, wrapper), + &pg_query__json_wrapper__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_mod", - 3, + "omit_quotes", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, type_mod), + offsetof(PgQuery__JsonExpr, omit_quotes), NULL, NULL, 0, /* flags */ @@ -20533,11 +21631,11 @@ static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_de }, { "collation", - 4, + 16, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, collation), + offsetof(PgQuery__JsonExpr, collation), NULL, NULL, 0, /* flags */ @@ -20545,212 +21643,262 @@ static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_de }, { "location", - 5, + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, location), + offsetof(PgQuery__JsonExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__coerce_to_domain_value__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 4, /* field[4] = location */ - 1, /* field[1] = type_id */ - 2, /* field[2] = type_mod */ +static const unsigned pg_query__json_expr__field_indices_by_name[] = { + 15, /* field[15] = collation */ + 2, /* field[2] = column_name */ + 4, /* field[4] = format */ + 3, /* field[3] = formatted_expr */ + 16, /* field[16] = location */ + 14, /* field[14] = omit_quotes */ + 9, /* field[9] = on_empty */ + 10, /* field[10] = on_error */ + 1, /* field[1] = op */ + 7, /* field[7] = passing_names */ + 8, /* field[8] = passing_values */ + 5, /* field[5] = path_spec */ + 6, /* field[6] = returning */ + 11, /* field[11] = use_io_coercion */ + 12, /* field[12] = use_json_coercion */ + 13, /* field[13] = wrapper */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__coerce_to_domain_value__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 17 } }; -const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor = +const ProtobufCMessageDescriptor pg_query__json_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoerceToDomainValue", - "CoerceToDomainValue", - "PgQuery__CoerceToDomainValue", + "pg_query.JsonExpr", + "JsonExpr", + "PgQuery__JsonExpr", "pg_query", - sizeof(PgQuery__CoerceToDomainValue), - 5, - pg_query__coerce_to_domain_value__field_descriptors, - pg_query__coerce_to_domain_value__field_indices_by_name, - 1, pg_query__coerce_to_domain_value__number_ranges, - (ProtobufCMessageInit) pg_query__coerce_to_domain_value__init, + sizeof(PgQuery__JsonExpr), + 17, + pg_query__json_expr__field_descriptors, + pg_query__json_expr__field_indices_by_name, + 1, pg_query__json_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__set_to_default__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__json_table_path__field_descriptors[1] = { { - "xpr", + "name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePath, name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__json_table_path__field_indices_by_name[] = { + 0, /* field[0] = name */ +}; +static const ProtobufCIntRange pg_query__json_table_path__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__json_table_path__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonTablePath", + "JsonTablePath", + "PgQuery__JsonTablePath", + "pg_query", + sizeof(PgQuery__JsonTablePath), + 1, + pg_query__json_table_path__field_descriptors, + pg_query__json_table_path__field_indices_by_name, + 1, pg_query__json_table_path__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_table_path_scan__field_descriptors[6] = +{ + { + "plan", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, xpr), + offsetof(PgQuery__JsonTablePathScan, plan), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", + "path", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, type_id), - NULL, + offsetof(PgQuery__JsonTablePathScan, path), + &pg_query__json_table_path__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_mod", + "error_on_error", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, type_mod), + offsetof(PgQuery__JsonTablePathScan, error_on_error), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collation", + "child", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, collation), - NULL, + offsetof(PgQuery__JsonTablePathScan, child), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "col_min", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, location), + offsetof(PgQuery__JsonTablePathScan, col_min), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "col_max", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePathScan, col_max), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__set_to_default__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 4, /* field[4] = location */ - 1, /* field[1] = type_id */ - 2, /* field[2] = type_mod */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_table_path_scan__field_indices_by_name[] = { + 3, /* field[3] = child */ + 5, /* field[5] = col_max */ + 4, /* field[4] = col_min */ + 2, /* field[2] = error_on_error */ + 1, /* field[1] = path */ + 0, /* field[0] = plan */ }; -static const ProtobufCIntRange pg_query__set_to_default__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_path_scan__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_path_scan__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SetToDefault", - "SetToDefault", - "PgQuery__SetToDefault", + "pg_query.JsonTablePathScan", + "JsonTablePathScan", + "PgQuery__JsonTablePathScan", "pg_query", - sizeof(PgQuery__SetToDefault), - 5, - pg_query__set_to_default__field_descriptors, - pg_query__set_to_default__field_indices_by_name, - 1, pg_query__set_to_default__number_ranges, - (ProtobufCMessageInit) pg_query__set_to_default__init, + sizeof(PgQuery__JsonTablePathScan), + 6, + pg_query__json_table_path_scan__field_descriptors, + pg_query__json_table_path_scan__field_indices_by_name, + 1, pg_query__json_table_path_scan__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path_scan__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__current_of_expr__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_table_sibling_join__field_descriptors[3] = { { - "xpr", + "plan", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, xpr), + offsetof(PgQuery__JsonTableSiblingJoin, plan), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cvarno", + "lplan", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cvarno), - NULL, + offsetof(PgQuery__JsonTableSiblingJoin, lplan), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cursor_name", + "rplan", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cursor_name), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cursor_param", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cursor_param), - NULL, + offsetof(PgQuery__JsonTableSiblingJoin, rplan), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__current_of_expr__field_indices_by_name[] = { - 2, /* field[2] = cursor_name */ - 3, /* field[3] = cursor_param */ - 1, /* field[1] = cvarno */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_table_sibling_join__field_indices_by_name[] = { + 1, /* field[1] = lplan */ + 0, /* field[0] = plan */ + 2, /* field[2] = rplan */ }; -static const ProtobufCIntRange pg_query__current_of_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_sibling_join__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__current_of_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_sibling_join__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CurrentOfExpr", - "CurrentOfExpr", - "PgQuery__CurrentOfExpr", + "pg_query.JsonTableSiblingJoin", + "JsonTableSiblingJoin", + "PgQuery__JsonTableSiblingJoin", "pg_query", - sizeof(PgQuery__CurrentOfExpr), - 4, - pg_query__current_of_expr__field_descriptors, - pg_query__current_of_expr__field_indices_by_name, - 1, pg_query__current_of_expr__number_ranges, - (ProtobufCMessageInit) pg_query__current_of_expr__init, + sizeof(PgQuery__JsonTableSiblingJoin), + 3, + pg_query__json_table_sibling_join__field_descriptors, + pg_query__json_table_sibling_join__field_indices_by_name, + 1, pg_query__json_table_sibling_join__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_sibling_join__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__next_value_expr__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__null_test__field_descriptors[5] = { { "xpr", @@ -20758,63 +21906,89 @@ static const ProtobufCFieldDescriptor pg_query__next_value_expr__field_descripto PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, xpr), + offsetof(PgQuery__NullTest, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "seqid", + "arg", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, seqid), - NULL, + offsetof(PgQuery__NullTest, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", + "nulltesttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, type_id), + offsetof(PgQuery__NullTest, nulltesttype), + &pg_query__null_test_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "argisrow", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullTest, argisrow), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullTest, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__next_value_expr__field_indices_by_name[] = { - 1, /* field[1] = seqid */ - 2, /* field[2] = type_id */ +static const unsigned pg_query__null_test__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 3, /* field[3] = argisrow */ + 4, /* field[4] = location */ + 2, /* field[2] = nulltesttype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__next_value_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__null_test__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__next_value_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__null_test__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NextValueExpr", - "NextValueExpr", - "PgQuery__NextValueExpr", + "pg_query.NullTest", + "NullTest", + "PgQuery__NullTest", "pg_query", - sizeof(PgQuery__NextValueExpr), - 3, - pg_query__next_value_expr__field_descriptors, - pg_query__next_value_expr__field_indices_by_name, - 1, pg_query__next_value_expr__number_ranges, - (ProtobufCMessageInit) pg_query__next_value_expr__init, + sizeof(PgQuery__NullTest), + 5, + pg_query__null_test__field_descriptors, + pg_query__null_test__field_indices_by_name, + 1, pg_query__null_test__number_ranges, + (ProtobufCMessageInit) pg_query__null_test__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__inference_elem__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__boolean_test__field_descriptors[4] = { { "xpr", @@ -20822,1324 +21996,1954 @@ static const ProtobufCFieldDescriptor pg_query__inference_elem__field_descriptor PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, xpr), + offsetof(PgQuery__BooleanTest, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "arg", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, expr), + offsetof(PgQuery__BooleanTest, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "infercollid", + "booltesttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, infercollid), - NULL, + offsetof(PgQuery__BooleanTest, booltesttype), + &pg_query__bool_test_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inferopclass", + "location", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, inferopclass), + offsetof(PgQuery__BooleanTest, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__inference_elem__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 2, /* field[2] = infercollid */ - 3, /* field[3] = inferopclass */ +static const unsigned pg_query__boolean_test__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 2, /* field[2] = booltesttype */ + 3, /* field[3] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__inference_elem__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__boolean_test__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__inference_elem__descriptor = +const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InferenceElem", - "InferenceElem", - "PgQuery__InferenceElem", + "pg_query.BooleanTest", + "BooleanTest", + "PgQuery__BooleanTest", "pg_query", - sizeof(PgQuery__InferenceElem), + sizeof(PgQuery__BooleanTest), 4, - pg_query__inference_elem__field_descriptors, - pg_query__inference_elem__field_indices_by_name, - 1, pg_query__inference_elem__number_ranges, - (ProtobufCMessageInit) pg_query__inference_elem__init, + pg_query__boolean_test__field_descriptors, + pg_query__boolean_test__field_indices_by_name, + 1, pg_query__boolean_test__number_ranges, + (ProtobufCMessageInit) pg_query__boolean_test__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__target_entry__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__merge_action__field_descriptors[6] = { { - "xpr", + "match_kind", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__MergeAction, match_kind), + &pg_query__merge_match_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "command_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, expr), - &pg_query__node__descriptor, + offsetof(PgQuery__MergeAction, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resno", + "override", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resno), - NULL, + offsetof(PgQuery__MergeAction, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resname", + "qual", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resname), + offsetof(PgQuery__MergeAction, qual), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ressortgroupref", + "target_list", 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeAction, n_target_list), + offsetof(PgQuery__MergeAction, target_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "update_colnos", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeAction, n_update_colnos), + offsetof(PgQuery__MergeAction, update_colnos), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__merge_action__field_indices_by_name[] = { + 1, /* field[1] = command_type */ + 0, /* field[0] = match_kind */ + 2, /* field[2] = override */ + 3, /* field[3] = qual */ + 4, /* field[4] = target_list */ + 5, /* field[5] = update_colnos */ +}; +static const ProtobufCIntRange pg_query__merge_action__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__merge_action__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.MergeAction", + "MergeAction", + "PgQuery__MergeAction", + "pg_query", + sizeof(PgQuery__MergeAction), + 6, + pg_query__merge_action__field_descriptors, + pg_query__merge_action__field_indices_by_name, + 1, pg_query__merge_action__number_ranges, + (ProtobufCMessageInit) pg_query__merge_action__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__coerce_to_domain__field_descriptors[7] = +{ + { + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, ressortgroupref), + offsetof(PgQuery__CoerceToDomain, xpr), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "arg", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomain, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resorigtbl", - 6, + "resulttype", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resorigtbl), + offsetof(PgQuery__CoerceToDomain, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resorigcol", - 7, + "resulttypmod", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resorigcol), + offsetof(PgQuery__CoerceToDomain, resulttypmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resjunk", - 8, + "resultcollid", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resjunk), + offsetof(PgQuery__CoerceToDomain, resultcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__target_entry__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 7, /* field[7] = resjunk */ - 3, /* field[3] = resname */ - 2, /* field[2] = resno */ - 6, /* field[6] = resorigcol */ - 5, /* field[5] = resorigtbl */ - 4, /* field[4] = ressortgroupref */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__target_entry__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__target_entry__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TargetEntry", - "TargetEntry", - "PgQuery__TargetEntry", - "pg_query", - sizeof(PgQuery__TargetEntry), - 8, - pg_query__target_entry__field_descriptors, - pg_query__target_entry__field_indices_by_name, - 1, pg_query__target_entry__number_ranges, - (ProtobufCMessageInit) pg_query__target_entry__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__range_tbl_ref__field_descriptors[1] = -{ { - "rtindex", - 1, + "coercionformat", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomain, coercionformat), + &pg_query__coercion_form__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblRef, rtindex), + offsetof(PgQuery__CoerceToDomain, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_tbl_ref__field_indices_by_name[] = { - 0, /* field[0] = rtindex */ +static const unsigned pg_query__coerce_to_domain__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 5, /* field[5] = coercionformat */ + 6, /* field[6] = location */ + 4, /* field[4] = resultcollid */ + 2, /* field[2] = resulttype */ + 3, /* field[3] = resulttypmod */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__range_tbl_ref__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__coerce_to_domain__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__range_tbl_ref__descriptor = +const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblRef", - "RangeTblRef", - "PgQuery__RangeTblRef", + "pg_query.CoerceToDomain", + "CoerceToDomain", + "PgQuery__CoerceToDomain", "pg_query", - sizeof(PgQuery__RangeTblRef), - 1, - pg_query__range_tbl_ref__field_descriptors, - pg_query__range_tbl_ref__field_indices_by_name, - 1, pg_query__range_tbl_ref__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_ref__init, + sizeof(PgQuery__CoerceToDomain), + 7, + pg_query__coerce_to_domain__field_descriptors, + pg_query__coerce_to_domain__field_indices_by_name, + 1, pg_query__coerce_to_domain__number_ranges, + (ProtobufCMessageInit) pg_query__coerce_to_domain__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__join_expr__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_descriptors[5] = { { - "jointype", + "xpr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, jointype), - &pg_query__join_type__descriptor, + offsetof(PgQuery__CoerceToDomainValue, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_natural", + "type_id", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, is_natural), + offsetof(PgQuery__CoerceToDomainValue, type_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "larg", + "type_mod", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, larg), - &pg_query__node__descriptor, + offsetof(PgQuery__CoerceToDomainValue, type_mod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rarg", + "collation", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, rarg), - &pg_query__node__descriptor, + offsetof(PgQuery__CoerceToDomainValue, collation), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "using_clause", + "location", 5, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomainValue, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__coerce_to_domain_value__field_indices_by_name[] = { + 3, /* field[3] = collation */ + 4, /* field[4] = location */ + 1, /* field[1] = type_id */ + 2, /* field[2] = type_mod */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__coerce_to_domain_value__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CoerceToDomainValue", + "CoerceToDomainValue", + "PgQuery__CoerceToDomainValue", + "pg_query", + sizeof(PgQuery__CoerceToDomainValue), + 5, + pg_query__coerce_to_domain_value__field_descriptors, + pg_query__coerce_to_domain_value__field_indices_by_name, + 1, pg_query__coerce_to_domain_value__number_ranges, + (ProtobufCMessageInit) pg_query__coerce_to_domain_value__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__set_to_default__field_descriptors[5] = +{ + { + "xpr", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__JoinExpr, n_using_clause), - offsetof(PgQuery__JoinExpr, using_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__SetToDefault, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_using_alias", - 6, + "type_id", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, join_using_alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__SetToDefault, type_id), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "quals", - 7, + "type_mod", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, quals), - &pg_query__node__descriptor, + offsetof(PgQuery__SetToDefault, type_mod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", - 8, + "collation", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__SetToDefault, collation), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rtindex", - 9, + "location", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, rtindex), + offsetof(PgQuery__SetToDefault, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__join_expr__field_indices_by_name[] = { - 7, /* field[7] = alias */ - 1, /* field[1] = is_natural */ - 5, /* field[5] = join_using_alias */ - 0, /* field[0] = jointype */ - 2, /* field[2] = larg */ - 6, /* field[6] = quals */ - 3, /* field[3] = rarg */ - 8, /* field[8] = rtindex */ - 4, /* field[4] = using_clause */ +static const unsigned pg_query__set_to_default__field_indices_by_name[] = { + 3, /* field[3] = collation */ + 4, /* field[4] = location */ + 1, /* field[1] = type_id */ + 2, /* field[2] = type_mod */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__join_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__set_to_default__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__join_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.JoinExpr", - "JoinExpr", - "PgQuery__JoinExpr", + "pg_query.SetToDefault", + "SetToDefault", + "PgQuery__SetToDefault", "pg_query", - sizeof(PgQuery__JoinExpr), - 9, - pg_query__join_expr__field_descriptors, - pg_query__join_expr__field_indices_by_name, - 1, pg_query__join_expr__number_ranges, - (ProtobufCMessageInit) pg_query__join_expr__init, + sizeof(PgQuery__SetToDefault), + 5, + pg_query__set_to_default__field_descriptors, + pg_query__set_to_default__field_indices_by_name, + 1, pg_query__set_to_default__number_ranges, + (ProtobufCMessageInit) pg_query__set_to_default__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__from_expr__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__current_of_expr__field_descriptors[4] = { { - "fromlist", + "xpr", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FromExpr, n_fromlist), - offsetof(PgQuery__FromExpr, fromlist), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "quals", - 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FromExpr, quals), + offsetof(PgQuery__CurrentOfExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__from_expr__field_indices_by_name[] = { - 0, /* field[0] = fromlist */ - 1, /* field[1] = quals */ -}; -static const ProtobufCIntRange pg_query__from_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__from_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FromExpr", - "FromExpr", - "PgQuery__FromExpr", - "pg_query", - sizeof(PgQuery__FromExpr), - 2, - pg_query__from_expr__field_descriptors, - pg_query__from_expr__field_indices_by_name, - 1, pg_query__from_expr__number_ranges, - (ProtobufCMessageInit) pg_query__from_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__on_conflict_expr__field_descriptors[8] = -{ { - "action", - 1, + "cvarno", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, action), - &pg_query__on_conflict_action__descriptor, + offsetof(PgQuery__CurrentOfExpr, cvarno), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "arbiter_elems", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_arbiter_elems), - offsetof(PgQuery__OnConflictExpr, arbiter_elems), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arbiter_where", + "cursor_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, arbiter_where), - &pg_query__node__descriptor, + offsetof(PgQuery__CurrentOfExpr, cursor_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraint", + "cursor_param", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, constraint), - NULL, + offsetof(PgQuery__CurrentOfExpr, cursor_param), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "on_conflict_set", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_on_conflict_set), - offsetof(PgQuery__OnConflictExpr, on_conflict_set), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__current_of_expr__field_indices_by_name[] = { + 2, /* field[2] = cursor_name */ + 3, /* field[3] = cursor_param */ + 1, /* field[1] = cvarno */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__current_of_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__current_of_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CurrentOfExpr", + "CurrentOfExpr", + "PgQuery__CurrentOfExpr", + "pg_query", + sizeof(PgQuery__CurrentOfExpr), + 4, + pg_query__current_of_expr__field_descriptors, + pg_query__current_of_expr__field_indices_by_name, + 1, pg_query__current_of_expr__number_ranges, + (ProtobufCMessageInit) pg_query__current_of_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__next_value_expr__field_descriptors[3] = +{ { - "on_conflict_where", - 6, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, on_conflict_where), + offsetof(PgQuery__NextValueExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "excl_rel_index", - 7, + "seqid", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, excl_rel_index), + offsetof(PgQuery__NextValueExpr, seqid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "excl_rel_tlist", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_excl_rel_tlist), - offsetof(PgQuery__OnConflictExpr, excl_rel_tlist), - &pg_query__node__descriptor, + "type_id", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NextValueExpr, type_id), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__on_conflict_expr__field_indices_by_name[] = { - 0, /* field[0] = action */ - 1, /* field[1] = arbiter_elems */ - 2, /* field[2] = arbiter_where */ - 3, /* field[3] = constraint */ - 6, /* field[6] = excl_rel_index */ - 7, /* field[7] = excl_rel_tlist */ - 4, /* field[4] = on_conflict_set */ - 5, /* field[5] = on_conflict_where */ +static const unsigned pg_query__next_value_expr__field_indices_by_name[] = { + 1, /* field[1] = seqid */ + 2, /* field[2] = type_id */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__on_conflict_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__next_value_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__on_conflict_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__next_value_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OnConflictExpr", - "OnConflictExpr", - "PgQuery__OnConflictExpr", + "pg_query.NextValueExpr", + "NextValueExpr", + "PgQuery__NextValueExpr", "pg_query", - sizeof(PgQuery__OnConflictExpr), - 8, - pg_query__on_conflict_expr__field_descriptors, - pg_query__on_conflict_expr__field_indices_by_name, - 1, pg_query__on_conflict_expr__number_ranges, - (ProtobufCMessageInit) pg_query__on_conflict_expr__init, + sizeof(PgQuery__NextValueExpr), + 3, + pg_query__next_value_expr__field_descriptors, + pg_query__next_value_expr__field_indices_by_name, + 1, pg_query__next_value_expr__number_ranges, + (ProtobufCMessageInit) pg_query__next_value_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__query__field_descriptors[41] = +static const ProtobufCFieldDescriptor pg_query__inference_elem__field_descriptors[4] = { { - "command_type", + "xpr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, command_type), - &pg_query__cmd_type__descriptor, + offsetof(PgQuery__InferenceElem, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query_source", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, query_source), - &pg_query__query_source__descriptor, + offsetof(PgQuery__InferenceElem, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "can_set_tag", + "infercollid", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, can_set_tag), + offsetof(PgQuery__InferenceElem, infercollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "utility_stmt", + "inferopclass", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, utility_stmt), - &pg_query__node__descriptor, + offsetof(PgQuery__InferenceElem, inferopclass), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__inference_elem__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 2, /* field[2] = infercollid */ + 3, /* field[3] = inferopclass */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__inference_elem__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__inference_elem__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.InferenceElem", + "InferenceElem", + "PgQuery__InferenceElem", + "pg_query", + sizeof(PgQuery__InferenceElem), + 4, + pg_query__inference_elem__field_descriptors, + pg_query__inference_elem__field_indices_by_name, + 1, pg_query__inference_elem__number_ranges, + (ProtobufCMessageInit) pg_query__inference_elem__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__target_entry__field_descriptors[8] = +{ { - "result_relation", - 5, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, result_relation), - NULL, + offsetof(PgQuery__TargetEntry, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_aggs", - 6, + "expr", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_aggs), - NULL, + offsetof(PgQuery__TargetEntry, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_window_funcs", - 7, + "resno", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_window_funcs), + offsetof(PgQuery__TargetEntry, resno), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_target_srfs", - 8, + "resname", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_target_srfs), - NULL, + offsetof(PgQuery__TargetEntry, resname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_sub_links", - 9, + "ressortgroupref", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_sub_links), + offsetof(PgQuery__TargetEntry, ressortgroupref), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_distinct_on", - 10, + "resorigtbl", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_distinct_on), + offsetof(PgQuery__TargetEntry, resorigtbl), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_recursive", - 11, + "resorigcol", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_recursive), + offsetof(PgQuery__TargetEntry, resorigcol), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_modifying_cte", - 12, + "resjunk", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_modifying_cte), + offsetof(PgQuery__TargetEntry, resjunk), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__target_entry__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 7, /* field[7] = resjunk */ + 3, /* field[3] = resname */ + 2, /* field[2] = resno */ + 6, /* field[6] = resorigcol */ + 5, /* field[5] = resorigtbl */ + 4, /* field[4] = ressortgroupref */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__target_entry__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__target_entry__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TargetEntry", + "TargetEntry", + "PgQuery__TargetEntry", + "pg_query", + sizeof(PgQuery__TargetEntry), + 8, + pg_query__target_entry__field_descriptors, + pg_query__target_entry__field_indices_by_name, + 1, pg_query__target_entry__number_ranges, + (ProtobufCMessageInit) pg_query__target_entry__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__range_tbl_ref__field_descriptors[1] = +{ { - "has_for_update", - 13, + "rtindex", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_for_update), + offsetof(PgQuery__RangeTblRef, rtindex), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__range_tbl_ref__field_indices_by_name[] = { + 0, /* field[0] = rtindex */ +}; +static const ProtobufCIntRange pg_query__range_tbl_ref__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__range_tbl_ref__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RangeTblRef", + "RangeTblRef", + "PgQuery__RangeTblRef", + "pg_query", + sizeof(PgQuery__RangeTblRef), + 1, + pg_query__range_tbl_ref__field_descriptors, + pg_query__range_tbl_ref__field_indices_by_name, + 1, pg_query__range_tbl_ref__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_ref__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__join_expr__field_descriptors[9] = +{ { - "has_row_security", - 14, + "jointype", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_row_security), - NULL, + offsetof(PgQuery__JoinExpr, jointype), + &pg_query__join_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_return", - 15, + "is_natural", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, is_return), + offsetof(PgQuery__JoinExpr, is_natural), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cte_list", - 16, - PROTOBUF_C_LABEL_REPEATED, + "larg", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_cte_list), - offsetof(PgQuery__Query, cte_list), + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, larg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rtable", - 17, - PROTOBUF_C_LABEL_REPEATED, + "rarg", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_rtable), - offsetof(PgQuery__Query, rtable), + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, rarg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rteperminfos", - 18, + "using_clause", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_rteperminfos), - offsetof(PgQuery__Query, rteperminfos), + offsetof(PgQuery__JoinExpr, n_using_clause), + offsetof(PgQuery__JoinExpr, using_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "jointree", - 19, + "join_using_alias", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, jointree), - &pg_query__from_expr__descriptor, + offsetof(PgQuery__JoinExpr, join_using_alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_action_list", - 20, - PROTOBUF_C_LABEL_REPEATED, + "quals", + 7, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_merge_action_list), - offsetof(PgQuery__Query, merge_action_list), + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, quals), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_use_outer_join", - 21, + "alias", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, merge_use_outer_join), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "target_list", - 22, - PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_target_list), - offsetof(PgQuery__Query, target_list), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", - 23, + "rtindex", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, override), - &pg_query__overriding_kind__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "on_conflict", - 24, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, on_conflict), - &pg_query__on_conflict_expr__descriptor, + offsetof(PgQuery__JoinExpr, rtindex), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__join_expr__field_indices_by_name[] = { + 7, /* field[7] = alias */ + 1, /* field[1] = is_natural */ + 5, /* field[5] = join_using_alias */ + 0, /* field[0] = jointype */ + 2, /* field[2] = larg */ + 6, /* field[6] = quals */ + 3, /* field[3] = rarg */ + 8, /* field[8] = rtindex */ + 4, /* field[4] = using_clause */ +}; +static const ProtobufCIntRange pg_query__join_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 9 } +}; +const ProtobufCMessageDescriptor pg_query__join_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JoinExpr", + "JoinExpr", + "PgQuery__JoinExpr", + "pg_query", + sizeof(PgQuery__JoinExpr), + 9, + pg_query__join_expr__field_descriptors, + pg_query__join_expr__field_indices_by_name, + 1, pg_query__join_expr__number_ranges, + (ProtobufCMessageInit) pg_query__join_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__from_expr__field_descriptors[2] = +{ { - "returning_list", - 25, + "fromlist", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_returning_list), - offsetof(PgQuery__Query, returning_list), + offsetof(PgQuery__FromExpr, n_fromlist), + offsetof(PgQuery__FromExpr, fromlist), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "group_clause", - 26, - PROTOBUF_C_LABEL_REPEATED, + "quals", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_group_clause), - offsetof(PgQuery__Query, group_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__FromExpr, quals), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__from_expr__field_indices_by_name[] = { + 0, /* field[0] = fromlist */ + 1, /* field[1] = quals */ +}; +static const ProtobufCIntRange pg_query__from_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__from_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.FromExpr", + "FromExpr", + "PgQuery__FromExpr", + "pg_query", + sizeof(PgQuery__FromExpr), + 2, + pg_query__from_expr__field_descriptors, + pg_query__from_expr__field_indices_by_name, + 1, pg_query__from_expr__number_ranges, + (ProtobufCMessageInit) pg_query__from_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__on_conflict_expr__field_descriptors[8] = +{ { - "group_distinct", - 27, + "action", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, group_distinct), - NULL, + offsetof(PgQuery__OnConflictExpr, action), + &pg_query__on_conflict_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grouping_sets", - 28, + "arbiter_elems", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_grouping_sets), - offsetof(PgQuery__Query, grouping_sets), + offsetof(PgQuery__OnConflictExpr, n_arbiter_elems), + offsetof(PgQuery__OnConflictExpr, arbiter_elems), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "having_qual", - 29, + "arbiter_where", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, having_qual), + offsetof(PgQuery__OnConflictExpr, arbiter_where), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "window_clause", - 30, + "constraint", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__OnConflictExpr, constraint), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "on_conflict_set", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_window_clause), - offsetof(PgQuery__Query, window_clause), + offsetof(PgQuery__OnConflictExpr, n_on_conflict_set), + offsetof(PgQuery__OnConflictExpr, on_conflict_set), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "distinct_clause", - 31, - PROTOBUF_C_LABEL_REPEATED, + "on_conflict_where", + 6, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_distinct_clause), - offsetof(PgQuery__Query, distinct_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__OnConflictExpr, on_conflict_where), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sort_clause", - 32, + "excl_rel_index", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__OnConflictExpr, excl_rel_index), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "excl_rel_tlist", + 8, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_sort_clause), - offsetof(PgQuery__Query, sort_clause), + offsetof(PgQuery__OnConflictExpr, n_excl_rel_tlist), + offsetof(PgQuery__OnConflictExpr, excl_rel_tlist), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__on_conflict_expr__field_indices_by_name[] = { + 0, /* field[0] = action */ + 1, /* field[1] = arbiter_elems */ + 2, /* field[2] = arbiter_where */ + 3, /* field[3] = constraint */ + 6, /* field[6] = excl_rel_index */ + 7, /* field[7] = excl_rel_tlist */ + 4, /* field[4] = on_conflict_set */ + 5, /* field[5] = on_conflict_where */ +}; +static const ProtobufCIntRange pg_query__on_conflict_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__on_conflict_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.OnConflictExpr", + "OnConflictExpr", + "PgQuery__OnConflictExpr", + "pg_query", + sizeof(PgQuery__OnConflictExpr), + 8, + pg_query__on_conflict_expr__field_descriptors, + pg_query__on_conflict_expr__field_indices_by_name, + 1, pg_query__on_conflict_expr__number_ranges, + (ProtobufCMessageInit) pg_query__on_conflict_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__query__field_descriptors[42] = +{ { - "limit_offset", - 33, + "command_type", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_count", - 34, + "query_source", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_count), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, query_source), + &pg_query__query_source__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_option", - 35, + "can_set_tag", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_option), - &pg_query__limit_option__descriptor, + offsetof(PgQuery__Query, can_set_tag), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_marks", - 36, - PROTOBUF_C_LABEL_REPEATED, + "utility_stmt", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_row_marks), - offsetof(PgQuery__Query, row_marks), + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, utility_stmt), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "set_operations", - 37, + "result_relation", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, set_operations), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, result_relation), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraint_deps", - 38, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_constraint_deps), - offsetof(PgQuery__Query, constraint_deps), - &pg_query__node__descriptor, + "has_aggs", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, has_aggs), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_check_options", - 39, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_with_check_options), - offsetof(PgQuery__Query, with_check_options), - &pg_query__node__descriptor, + "has_window_funcs", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, has_window_funcs), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_location", - 40, + "has_target_srfs", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, stmt_location), + offsetof(PgQuery__Query, has_target_srfs), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_len", - 41, + "has_sub_links", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, stmt_len), + offsetof(PgQuery__Query, has_sub_links), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__query__field_indices_by_name[] = { - 2, /* field[2] = can_set_tag */ - 0, /* field[0] = command_type */ - 37, /* field[37] = constraint_deps */ - 15, /* field[15] = cte_list */ - 30, /* field[30] = distinct_clause */ - 25, /* field[25] = group_clause */ - 26, /* field[26] = group_distinct */ - 27, /* field[27] = grouping_sets */ - 5, /* field[5] = has_aggs */ - 9, /* field[9] = has_distinct_on */ - 12, /* field[12] = has_for_update */ - 11, /* field[11] = has_modifying_cte */ - 10, /* field[10] = has_recursive */ - 13, /* field[13] = has_row_security */ - 8, /* field[8] = has_sub_links */ - 7, /* field[7] = has_target_srfs */ - 6, /* field[6] = has_window_funcs */ - 28, /* field[28] = having_qual */ - 14, /* field[14] = is_return */ - 18, /* field[18] = jointree */ - 33, /* field[33] = limit_count */ - 32, /* field[32] = limit_offset */ - 34, /* field[34] = limit_option */ - 19, /* field[19] = merge_action_list */ - 20, /* field[20] = merge_use_outer_join */ - 23, /* field[23] = on_conflict */ - 22, /* field[22] = override */ - 1, /* field[1] = query_source */ - 4, /* field[4] = result_relation */ - 24, /* field[24] = returning_list */ - 35, /* field[35] = row_marks */ - 16, /* field[16] = rtable */ - 17, /* field[17] = rteperminfos */ - 36, /* field[36] = set_operations */ - 31, /* field[31] = sort_clause */ - 40, /* field[40] = stmt_len */ - 39, /* field[39] = stmt_location */ - 21, /* field[21] = target_list */ - 3, /* field[3] = utility_stmt */ - 29, /* field[29] = window_clause */ - 38, /* field[38] = with_check_options */ -}; -static const ProtobufCIntRange pg_query__query__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 41 } -}; -const ProtobufCMessageDescriptor pg_query__query__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Query", - "Query", - "PgQuery__Query", - "pg_query", - sizeof(PgQuery__Query), - 41, - pg_query__query__field_descriptors, - pg_query__query__field_indices_by_name, - 1, pg_query__query__number_ranges, - (ProtobufCMessageInit) pg_query__query__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__type_name__field_descriptors[8] = -{ { - "names", - 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_names), - offsetof(PgQuery__TypeName, names), - &pg_query__node__descriptor, + "has_distinct_on", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, has_distinct_on), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_oid", - 2, + "has_recursive", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, type_oid), + offsetof(PgQuery__Query, has_recursive), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "setof", - 3, + "has_modifying_cte", + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, setof), + offsetof(PgQuery__Query, has_modifying_cte), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pct_type", - 4, + "has_for_update", + 13, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, pct_type), + offsetof(PgQuery__Query, has_for_update), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "typmods", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_typmods), - offsetof(PgQuery__TypeName, typmods), - &pg_query__node__descriptor, + "has_row_security", + 14, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, has_row_security), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "typemod", - 6, + "is_return", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, typemod), + offsetof(PgQuery__Query, is_return), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "array_bounds", - 7, + "cte_list", + 16, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_array_bounds), - offsetof(PgQuery__TypeName, array_bounds), + offsetof(PgQuery__Query, n_cte_list), + offsetof(PgQuery__Query, cte_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, location), - NULL, + "rtable", + 17, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_rtable), + offsetof(PgQuery__Query, rtable), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__type_name__field_indices_by_name[] = { - 6, /* field[6] = array_bounds */ - 7, /* field[7] = location */ - 0, /* field[0] = names */ - 3, /* field[3] = pct_type */ - 2, /* field[2] = setof */ - 1, /* field[1] = type_oid */ - 5, /* field[5] = typemod */ - 4, /* field[4] = typmods */ -}; -static const ProtobufCIntRange pg_query__type_name__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__type_name__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TypeName", - "TypeName", - "PgQuery__TypeName", - "pg_query", - sizeof(PgQuery__TypeName), - 8, - pg_query__type_name__field_descriptors, - pg_query__type_name__field_indices_by_name, - 1, pg_query__type_name__number_ranges, - (ProtobufCMessageInit) pg_query__type_name__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__column_ref__field_descriptors[2] = -{ { - "fields", - 1, + "rteperminfos", + 18, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ColumnRef, n_fields), - offsetof(PgQuery__ColumnRef, fields), + offsetof(PgQuery__Query, n_rteperminfos), + offsetof(PgQuery__Query, rteperminfos), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 2, + "jointree", + 19, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnRef, location), + offsetof(PgQuery__Query, jointree), + &pg_query__from_expr__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_action_list", + 20, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_merge_action_list), + offsetof(PgQuery__Query, merge_action_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__column_ref__field_indices_by_name[] = { - 0, /* field[0] = fields */ - 1, /* field[1] = location */ -}; -static const ProtobufCIntRange pg_query__column_ref__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__column_ref__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ColumnRef", - "ColumnRef", - "PgQuery__ColumnRef", - "pg_query", - sizeof(PgQuery__ColumnRef), - 2, - pg_query__column_ref__field_descriptors, - pg_query__column_ref__field_indices_by_name, - 1, pg_query__column_ref__number_ranges, - (ProtobufCMessageInit) pg_query__column_ref__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__param_ref__field_descriptors[2] = -{ { - "number", - 1, + "merge_target_relation", + 21, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ParamRef, number), + offsetof(PgQuery__Query, merge_target_relation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 2, + "merge_join_condition", + 22, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ParamRef, location), - NULL, + offsetof(PgQuery__Query, merge_join_condition), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "target_list", + 23, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_target_list), + offsetof(PgQuery__Query, target_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "override", + 24, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, override), + &pg_query__overriding_kind__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "on_conflict", + 25, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, on_conflict), + &pg_query__on_conflict_expr__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "returning_list", + 26, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_returning_list), + offsetof(PgQuery__Query, returning_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "group_clause", + 27, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_group_clause), + offsetof(PgQuery__Query, group_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "group_distinct", + 28, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, group_distinct), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grouping_sets", + 29, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_grouping_sets), + offsetof(PgQuery__Query, grouping_sets), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "having_qual", + 30, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, having_qual), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "window_clause", + 31, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_window_clause), + offsetof(PgQuery__Query, window_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "distinct_clause", + 32, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_distinct_clause), + offsetof(PgQuery__Query, distinct_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sort_clause", + 33, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_sort_clause), + offsetof(PgQuery__Query, sort_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "limit_offset", + 34, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, limit_offset), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "limit_count", + 35, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, limit_count), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "limit_option", + 36, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, limit_option), + &pg_query__limit_option__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "row_marks", + 37, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_row_marks), + offsetof(PgQuery__Query, row_marks), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "set_operations", + 38, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, set_operations), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "constraint_deps", + 39, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_constraint_deps), + offsetof(PgQuery__Query, constraint_deps), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "with_check_options", + 40, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_with_check_options), + offsetof(PgQuery__Query, with_check_options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "stmt_location", + 41, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, stmt_location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "stmt_len", + 42, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, stmt_len), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__query__field_indices_by_name[] = { + 2, /* field[2] = can_set_tag */ + 0, /* field[0] = command_type */ + 38, /* field[38] = constraint_deps */ + 15, /* field[15] = cte_list */ + 31, /* field[31] = distinct_clause */ + 26, /* field[26] = group_clause */ + 27, /* field[27] = group_distinct */ + 28, /* field[28] = grouping_sets */ + 5, /* field[5] = has_aggs */ + 9, /* field[9] = has_distinct_on */ + 12, /* field[12] = has_for_update */ + 11, /* field[11] = has_modifying_cte */ + 10, /* field[10] = has_recursive */ + 13, /* field[13] = has_row_security */ + 8, /* field[8] = has_sub_links */ + 7, /* field[7] = has_target_srfs */ + 6, /* field[6] = has_window_funcs */ + 29, /* field[29] = having_qual */ + 14, /* field[14] = is_return */ + 18, /* field[18] = jointree */ + 34, /* field[34] = limit_count */ + 33, /* field[33] = limit_offset */ + 35, /* field[35] = limit_option */ + 19, /* field[19] = merge_action_list */ + 21, /* field[21] = merge_join_condition */ + 20, /* field[20] = merge_target_relation */ + 24, /* field[24] = on_conflict */ + 23, /* field[23] = override */ + 1, /* field[1] = query_source */ + 4, /* field[4] = result_relation */ + 25, /* field[25] = returning_list */ + 36, /* field[36] = row_marks */ + 16, /* field[16] = rtable */ + 17, /* field[17] = rteperminfos */ + 37, /* field[37] = set_operations */ + 32, /* field[32] = sort_clause */ + 41, /* field[41] = stmt_len */ + 40, /* field[40] = stmt_location */ + 22, /* field[22] = target_list */ + 3, /* field[3] = utility_stmt */ + 30, /* field[30] = window_clause */ + 39, /* field[39] = with_check_options */ +}; +static const ProtobufCIntRange pg_query__query__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 42 } +}; +const ProtobufCMessageDescriptor pg_query__query__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Query", + "Query", + "PgQuery__Query", + "pg_query", + sizeof(PgQuery__Query), + 42, + pg_query__query__field_descriptors, + pg_query__query__field_indices_by_name, + 1, pg_query__query__number_ranges, + (ProtobufCMessageInit) pg_query__query__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__type_name__field_descriptors[8] = +{ + { + "names", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TypeName, n_names), + offsetof(PgQuery__TypeName, names), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "type_oid", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, type_oid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "setof", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, setof), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "pct_type", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, pct_type), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "typmods", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TypeName, n_typmods), + offsetof(PgQuery__TypeName, typmods), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "typemod", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, typemod), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "array_bounds", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TypeName, n_array_bounds), + offsetof(PgQuery__TypeName, array_bounds), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__type_name__field_indices_by_name[] = { + 6, /* field[6] = array_bounds */ + 7, /* field[7] = location */ + 0, /* field[0] = names */ + 3, /* field[3] = pct_type */ + 2, /* field[2] = setof */ + 1, /* field[1] = type_oid */ + 5, /* field[5] = typemod */ + 4, /* field[4] = typmods */ +}; +static const ProtobufCIntRange pg_query__type_name__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__type_name__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TypeName", + "TypeName", + "PgQuery__TypeName", + "pg_query", + sizeof(PgQuery__TypeName), + 8, + pg_query__type_name__field_descriptors, + pg_query__type_name__field_indices_by_name, + 1, pg_query__type_name__number_ranges, + (ProtobufCMessageInit) pg_query__type_name__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__column_ref__field_descriptors[2] = +{ + { + "fields", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ColumnRef, n_fields), + offsetof(PgQuery__ColumnRef, fields), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ColumnRef, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__column_ref__field_indices_by_name[] = { + 0, /* field[0] = fields */ + 1, /* field[1] = location */ +}; +static const ProtobufCIntRange pg_query__column_ref__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__column_ref__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ColumnRef", + "ColumnRef", + "PgQuery__ColumnRef", + "pg_query", + sizeof(PgQuery__ColumnRef), + 2, + pg_query__column_ref__field_descriptors, + pg_query__column_ref__field_indices_by_name, + 1, pg_query__column_ref__number_ranges, + (ProtobufCMessageInit) pg_query__column_ref__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__param_ref__field_descriptors[2] = +{ + { + "number", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ParamRef, number), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ParamRef, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -24708,6 +26512,24 @@ const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor = (ProtobufCMessageInit) pg_query__partition_range_datum__init, NULL,NULL,NULL /* reserved[123] */ }; +#define pg_query__single_partition_spec__field_descriptors NULL +#define pg_query__single_partition_spec__field_indices_by_name NULL +#define pg_query__single_partition_spec__number_ranges NULL +const ProtobufCMessageDescriptor pg_query__single_partition_spec__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SinglePartitionSpec", + "SinglePartitionSpec", + "PgQuery__SinglePartitionSpec", + "pg_query", + sizeof(PgQuery__SinglePartitionSpec), + 0, + pg_query__single_partition_spec__field_descriptors, + pg_query__single_partition_spec__field_indices_by_name, + 0, pg_query__single_partition_spec__number_ranges, + (ProtobufCMessageInit) pg_query__single_partition_spec__init, + NULL,NULL,NULL /* reserved[123] */ +}; static const ProtobufCFieldDescriptor pg_query__partition_cmd__field_descriptors[3] = { { @@ -24775,9 +26597,33 @@ const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor = static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descriptors[32] = { { - "rtekind", + "alias", 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, alias), + &pg_query__alias__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "eref", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, eref), + &pg_query__alias__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "rtekind", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ offsetof(PgQuery__RangeTblEntry, rtekind), @@ -24788,7 +26634,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "relid", - 2, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ @@ -24798,9 +26644,21 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "inh", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, inh), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "relkind", - 3, + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -24812,7 +26670,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "rellockmode", - 4, + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ @@ -24823,32 +26681,32 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "tablesample", - 5, + "perminfoindex", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, tablesample), - &pg_query__table_sample_clause__descriptor, + offsetof(PgQuery__RangeTblEntry, perminfoindex), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "perminfoindex", - 6, + "tablesample", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, perminfoindex), - NULL, + offsetof(PgQuery__RangeTblEntry, tablesample), + &pg_query__table_sample_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "subquery", - 7, + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -24860,7 +26718,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "security_barrier", - 8, + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ @@ -24872,7 +26730,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "jointype", - 9, + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ @@ -24884,7 +26742,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "joinmergedcols", - 10, + 13, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ @@ -24896,7 +26754,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "joinaliasvars", - 11, + 14, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__RangeTblEntry, n_joinaliasvars), @@ -24908,7 +26766,7 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto }, { "joinleftcols", - 12, + 15, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__RangeTblEntry, n_joinleftcols), @@ -24919,2164 +26777,2810 @@ static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descripto 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "joinrightcols", - 13, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_joinrightcols), - offsetof(PgQuery__RangeTblEntry, joinrightcols), - &pg_query__node__descriptor, + "joinrightcols", + 16, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_joinrightcols), + offsetof(PgQuery__RangeTblEntry, joinrightcols), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "join_using_alias", + 17, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, join_using_alias), + &pg_query__alias__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "functions", + 18, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_functions), + offsetof(PgQuery__RangeTblEntry, functions), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcordinality", + 19, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, funcordinality), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "tablefunc", + 20, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, tablefunc), + &pg_query__table_func__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "values_lists", + 21, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_values_lists), + offsetof(PgQuery__RangeTblEntry, values_lists), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctename", + 22, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, ctename), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctelevelsup", + 23, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, ctelevelsup), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "self_reference", + 24, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, self_reference), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coltypes", + 25, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_coltypes), + offsetof(PgQuery__RangeTblEntry, coltypes), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coltypmods", + 26, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_coltypmods), + offsetof(PgQuery__RangeTblEntry, coltypmods), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "colcollations", + 27, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_colcollations), + offsetof(PgQuery__RangeTblEntry, colcollations), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "enrname", + 28, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, enrname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "enrtuples", + 29, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_DOUBLE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, enrtuples), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "lateral", + 30, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, lateral), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "in_from_cl", + 31, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, in_from_cl), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "security_quals", + 32, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_security_quals), + offsetof(PgQuery__RangeTblEntry, security_quals), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__range_tbl_entry__field_indices_by_name[] = { + 0, /* field[0] = alias */ + 26, /* field[26] = colcollations */ + 24, /* field[24] = coltypes */ + 25, /* field[25] = coltypmods */ + 22, /* field[22] = ctelevelsup */ + 21, /* field[21] = ctename */ + 27, /* field[27] = enrname */ + 28, /* field[28] = enrtuples */ + 1, /* field[1] = eref */ + 18, /* field[18] = funcordinality */ + 17, /* field[17] = functions */ + 30, /* field[30] = in_from_cl */ + 4, /* field[4] = inh */ + 16, /* field[16] = join_using_alias */ + 13, /* field[13] = joinaliasvars */ + 14, /* field[14] = joinleftcols */ + 12, /* field[12] = joinmergedcols */ + 15, /* field[15] = joinrightcols */ + 11, /* field[11] = jointype */ + 29, /* field[29] = lateral */ + 7, /* field[7] = perminfoindex */ + 3, /* field[3] = relid */ + 5, /* field[5] = relkind */ + 6, /* field[6] = rellockmode */ + 2, /* field[2] = rtekind */ + 10, /* field[10] = security_barrier */ + 31, /* field[31] = security_quals */ + 23, /* field[23] = self_reference */ + 9, /* field[9] = subquery */ + 19, /* field[19] = tablefunc */ + 8, /* field[8] = tablesample */ + 20, /* field[20] = values_lists */ +}; +static const ProtobufCIntRange pg_query__range_tbl_entry__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 32 } +}; +const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RangeTblEntry", + "RangeTblEntry", + "PgQuery__RangeTblEntry", + "pg_query", + sizeof(PgQuery__RangeTblEntry), + 32, + pg_query__range_tbl_entry__field_descriptors, + pg_query__range_tbl_entry__field_indices_by_name, + 1, pg_query__range_tbl_entry__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_entry__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__rtepermission_info__field_descriptors[7] = +{ + { + "relid", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RTEPermissionInfo, relid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inh", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RTEPermissionInfo, inh), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "required_perms", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT64, + 0, /* quantifier_offset */ + offsetof(PgQuery__RTEPermissionInfo, required_perms), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "check_as_user", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RTEPermissionInfo, check_as_user), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "selected_cols", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_selected_cols), + offsetof(PgQuery__RTEPermissionInfo, selected_cols), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inserted_cols", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_inserted_cols), + offsetof(PgQuery__RTEPermissionInfo, inserted_cols), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "updated_cols", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_updated_cols), + offsetof(PgQuery__RTEPermissionInfo, updated_cols), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__rtepermission_info__field_indices_by_name[] = { + 3, /* field[3] = check_as_user */ + 1, /* field[1] = inh */ + 5, /* field[5] = inserted_cols */ + 0, /* field[0] = relid */ + 2, /* field[2] = required_perms */ + 4, /* field[4] = selected_cols */ + 6, /* field[6] = updated_cols */ +}; +static const ProtobufCIntRange pg_query__rtepermission_info__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__rtepermission_info__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RTEPermissionInfo", + "RTEPermissionInfo", + "PgQuery__RTEPermissionInfo", + "pg_query", + sizeof(PgQuery__RTEPermissionInfo), + 7, + pg_query__rtepermission_info__field_descriptors, + pg_query__rtepermission_info__field_indices_by_name, + 1, pg_query__rtepermission_info__number_ranges, + (ProtobufCMessageInit) pg_query__rtepermission_info__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__range_tbl_function__field_descriptors[7] = +{ + { + "funcexpr", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblFunction, funcexpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccolcount", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblFunction, funccolcount), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccolnames", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccolnames), + offsetof(PgQuery__RangeTblFunction, funccolnames), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccoltypes", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccoltypes), + offsetof(PgQuery__RangeTblFunction, funccoltypes), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccoltypmods", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccoltypmods), + offsetof(PgQuery__RangeTblFunction, funccoltypmods), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccolcollations", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccolcollations), + offsetof(PgQuery__RangeTblFunction, funccolcollations), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcparams", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RangeTblFunction, n_funcparams), + offsetof(PgQuery__RangeTblFunction, funcparams), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__range_tbl_function__field_indices_by_name[] = { + 5, /* field[5] = funccolcollations */ + 1, /* field[1] = funccolcount */ + 2, /* field[2] = funccolnames */ + 3, /* field[3] = funccoltypes */ + 4, /* field[4] = funccoltypmods */ + 0, /* field[0] = funcexpr */ + 6, /* field[6] = funcparams */ +}; +static const ProtobufCIntRange pg_query__range_tbl_function__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RangeTblFunction", + "RangeTblFunction", + "PgQuery__RangeTblFunction", + "pg_query", + sizeof(PgQuery__RangeTblFunction), + 7, + pg_query__range_tbl_function__field_descriptors, + pg_query__range_tbl_function__field_indices_by_name, + 1, pg_query__range_tbl_function__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_function__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__table_sample_clause__field_descriptors[3] = +{ + { + "tsmhandler", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableSampleClause, tsmhandler), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "args", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TableSampleClause, n_args), + offsetof(PgQuery__TableSampleClause, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "repeatable", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableSampleClause, repeatable), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__table_sample_clause__field_indices_by_name[] = { + 1, /* field[1] = args */ + 2, /* field[2] = repeatable */ + 0, /* field[0] = tsmhandler */ +}; +static const ProtobufCIntRange pg_query__table_sample_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TableSampleClause", + "TableSampleClause", + "PgQuery__TableSampleClause", + "pg_query", + sizeof(PgQuery__TableSampleClause), + 3, + pg_query__table_sample_clause__field_descriptors, + pg_query__table_sample_clause__field_indices_by_name, + 1, pg_query__table_sample_clause__number_ranges, + (ProtobufCMessageInit) pg_query__table_sample_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__with_check_option__field_descriptors[5] = +{ + { + "kind", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__WithCheckOption, kind), + &pg_query__wcokind__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "relname", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__WithCheckOption, relname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_using_alias", - 14, + "polname", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, join_using_alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__WithCheckOption, polname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "functions", - 15, - PROTOBUF_C_LABEL_REPEATED, + "qual", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_functions), - offsetof(PgQuery__RangeTblEntry, functions), + 0, /* quantifier_offset */ + offsetof(PgQuery__WithCheckOption, qual), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcordinality", - 16, + "cascaded", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, funcordinality), + offsetof(PgQuery__WithCheckOption, cascaded), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__with_check_option__field_indices_by_name[] = { + 4, /* field[4] = cascaded */ + 0, /* field[0] = kind */ + 2, /* field[2] = polname */ + 3, /* field[3] = qual */ + 1, /* field[1] = relname */ +}; +static const ProtobufCIntRange pg_query__with_check_option__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.WithCheckOption", + "WithCheckOption", + "PgQuery__WithCheckOption", + "pg_query", + sizeof(PgQuery__WithCheckOption), + 5, + pg_query__with_check_option__field_descriptors, + pg_query__with_check_option__field_indices_by_name, + 1, pg_query__with_check_option__number_ranges, + (ProtobufCMessageInit) pg_query__with_check_option__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__sort_group_clause__field_descriptors[5] = +{ { - "tablefunc", - 17, + "tle_sort_group_ref", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, tablefunc), - &pg_query__table_func__descriptor, + offsetof(PgQuery__SortGroupClause, tle_sort_group_ref), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "values_lists", - 18, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_values_lists), - offsetof(PgQuery__RangeTblEntry, values_lists), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctename", - 19, + "eqop", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, ctename), + offsetof(PgQuery__SortGroupClause, eqop), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctelevelsup", - 20, + "sortop", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, ctelevelsup), + offsetof(PgQuery__SortGroupClause, sortop), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "self_reference", - 21, + "nulls_first", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, self_reference), + offsetof(PgQuery__SortGroupClause, nulls_first), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coltypes", - 22, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_coltypes), - offsetof(PgQuery__RangeTblEntry, coltypes), - &pg_query__node__descriptor, + "hashable", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__SortGroupClause, hashable), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sort_group_clause__field_indices_by_name[] = { + 1, /* field[1] = eqop */ + 4, /* field[4] = hashable */ + 3, /* field[3] = nulls_first */ + 2, /* field[2] = sortop */ + 0, /* field[0] = tle_sort_group_ref */ +}; +static const ProtobufCIntRange pg_query__sort_group_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SortGroupClause", + "SortGroupClause", + "PgQuery__SortGroupClause", + "pg_query", + sizeof(PgQuery__SortGroupClause), + 5, + pg_query__sort_group_clause__field_descriptors, + pg_query__sort_group_clause__field_indices_by_name, + 1, pg_query__sort_group_clause__number_ranges, + (ProtobufCMessageInit) pg_query__sort_group_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__grouping_set__field_descriptors[3] = +{ { - "coltypmods", - 23, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_coltypmods), - offsetof(PgQuery__RangeTblEntry, coltypmods), - &pg_query__node__descriptor, + "kind", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__GroupingSet, kind), + &pg_query__grouping_set_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colcollations", - 24, + "content", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_colcollations), - offsetof(PgQuery__RangeTblEntry, colcollations), + offsetof(PgQuery__GroupingSet, n_content), + offsetof(PgQuery__GroupingSet, content), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "enrname", - 25, + "location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, enrname), + offsetof(PgQuery__GroupingSet, location), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__grouping_set__field_indices_by_name[] = { + 1, /* field[1] = content */ + 0, /* field[0] = kind */ + 2, /* field[2] = location */ +}; +static const ProtobufCIntRange pg_query__grouping_set__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.GroupingSet", + "GroupingSet", + "PgQuery__GroupingSet", + "pg_query", + sizeof(PgQuery__GroupingSet), + 3, + pg_query__grouping_set__field_descriptors, + pg_query__grouping_set__field_indices_by_name, + 1, pg_query__grouping_set__number_ranges, + (ProtobufCMessageInit) pg_query__grouping_set__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__window_clause__field_descriptors[14] = +{ { - "enrtuples", - 26, + "name", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_DOUBLE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, enrtuples), - NULL, + offsetof(PgQuery__WindowClause, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", - 27, + "refname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__WindowClause, refname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "eref", - 28, - PROTOBUF_C_LABEL_NONE, + "partition_clause", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, eref), - &pg_query__alias__descriptor, + offsetof(PgQuery__WindowClause, n_partition_clause), + offsetof(PgQuery__WindowClause, partition_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "lateral", - 29, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, lateral), - NULL, + "order_clause", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WindowClause, n_order_clause), + offsetof(PgQuery__WindowClause, order_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inh", - 30, + "frame_options", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, inh), + offsetof(PgQuery__WindowClause, frame_options), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_from_cl", - 31, + "start_offset", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, in_from_cl), - NULL, + offsetof(PgQuery__WindowClause, start_offset), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "security_quals", - 32, - PROTOBUF_C_LABEL_REPEATED, + "end_offset", + 7, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_security_quals), - offsetof(PgQuery__RangeTblEntry, security_quals), + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowClause, end_offset), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__range_tbl_entry__field_indices_by_name[] = { - 26, /* field[26] = alias */ - 23, /* field[23] = colcollations */ - 21, /* field[21] = coltypes */ - 22, /* field[22] = coltypmods */ - 19, /* field[19] = ctelevelsup */ - 18, /* field[18] = ctename */ - 24, /* field[24] = enrname */ - 25, /* field[25] = enrtuples */ - 27, /* field[27] = eref */ - 15, /* field[15] = funcordinality */ - 14, /* field[14] = functions */ - 30, /* field[30] = in_from_cl */ - 29, /* field[29] = inh */ - 13, /* field[13] = join_using_alias */ - 10, /* field[10] = joinaliasvars */ - 11, /* field[11] = joinleftcols */ - 9, /* field[9] = joinmergedcols */ - 12, /* field[12] = joinrightcols */ - 8, /* field[8] = jointype */ - 28, /* field[28] = lateral */ - 5, /* field[5] = perminfoindex */ - 1, /* field[1] = relid */ - 2, /* field[2] = relkind */ - 3, /* field[3] = rellockmode */ - 0, /* field[0] = rtekind */ - 7, /* field[7] = security_barrier */ - 31, /* field[31] = security_quals */ - 20, /* field[20] = self_reference */ - 6, /* field[6] = subquery */ - 16, /* field[16] = tablefunc */ - 4, /* field[4] = tablesample */ - 17, /* field[17] = values_lists */ -}; -static const ProtobufCIntRange pg_query__range_tbl_entry__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 32 } -}; -const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblEntry", - "RangeTblEntry", - "PgQuery__RangeTblEntry", - "pg_query", - sizeof(PgQuery__RangeTblEntry), - 32, - pg_query__range_tbl_entry__field_descriptors, - pg_query__range_tbl_entry__field_indices_by_name, - 1, pg_query__range_tbl_entry__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_entry__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__rtepermission_info__field_descriptors[7] = -{ { - "relid", - 1, + "start_in_range_func", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RTEPermissionInfo, relid), + offsetof(PgQuery__WindowClause, start_in_range_func), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inh", - 2, + "end_in_range_func", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RTEPermissionInfo, inh), + offsetof(PgQuery__WindowClause, end_in_range_func), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "required_perms", - 3, + "in_range_coll", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT64, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RTEPermissionInfo, required_perms), + offsetof(PgQuery__WindowClause, in_range_coll), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "check_as_user", - 4, + "in_range_asc", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RTEPermissionInfo, check_as_user), + offsetof(PgQuery__WindowClause, in_range_asc), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "selected_cols", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RTEPermissionInfo, n_selected_cols), - offsetof(PgQuery__RTEPermissionInfo, selected_cols), + "in_range_nulls_first", + 12, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowClause, in_range_nulls_first), NULL, NULL, - PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inserted_cols", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RTEPermissionInfo, n_inserted_cols), - offsetof(PgQuery__RTEPermissionInfo, inserted_cols), + "winref", + 13, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowClause, winref), NULL, NULL, - PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "updated_cols", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RTEPermissionInfo, n_updated_cols), - offsetof(PgQuery__RTEPermissionInfo, updated_cols), + "copied_order", + 14, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowClause, copied_order), NULL, NULL, - PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__rtepermission_info__field_indices_by_name[] = { - 3, /* field[3] = check_as_user */ - 1, /* field[1] = inh */ - 5, /* field[5] = inserted_cols */ - 0, /* field[0] = relid */ - 2, /* field[2] = required_perms */ - 4, /* field[4] = selected_cols */ - 6, /* field[6] = updated_cols */ +static const unsigned pg_query__window_clause__field_indices_by_name[] = { + 13, /* field[13] = copied_order */ + 8, /* field[8] = end_in_range_func */ + 6, /* field[6] = end_offset */ + 4, /* field[4] = frame_options */ + 10, /* field[10] = in_range_asc */ + 9, /* field[9] = in_range_coll */ + 11, /* field[11] = in_range_nulls_first */ + 0, /* field[0] = name */ + 3, /* field[3] = order_clause */ + 2, /* field[2] = partition_clause */ + 1, /* field[1] = refname */ + 7, /* field[7] = start_in_range_func */ + 5, /* field[5] = start_offset */ + 12, /* field[12] = winref */ }; -static const ProtobufCIntRange pg_query__rtepermission_info__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__window_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 14 } }; -const ProtobufCMessageDescriptor pg_query__rtepermission_info__descriptor = +const ProtobufCMessageDescriptor pg_query__window_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RTEPermissionInfo", - "RTEPermissionInfo", - "PgQuery__RTEPermissionInfo", + "pg_query.WindowClause", + "WindowClause", + "PgQuery__WindowClause", "pg_query", - sizeof(PgQuery__RTEPermissionInfo), - 7, - pg_query__rtepermission_info__field_descriptors, - pg_query__rtepermission_info__field_indices_by_name, - 1, pg_query__rtepermission_info__number_ranges, - (ProtobufCMessageInit) pg_query__rtepermission_info__init, + sizeof(PgQuery__WindowClause), + 14, + pg_query__window_clause__field_descriptors, + pg_query__window_clause__field_indices_by_name, + 1, pg_query__window_clause__number_ranges, + (ProtobufCMessageInit) pg_query__window_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_tbl_function__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__row_mark_clause__field_descriptors[4] = { { - "funcexpr", + "rti", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblFunction, funcexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__RowMarkClause, rti), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccolcount", + "strength", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblFunction, funccolcount), - NULL, + offsetof(PgQuery__RowMarkClause, strength), + &pg_query__lock_clause_strength__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccolnames", + "wait_policy", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccolnames), - offsetof(PgQuery__RangeTblFunction, funccolnames), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__RowMarkClause, wait_policy), + &pg_query__lock_wait_policy__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccoltypes", + "pushed_down", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccoltypes), - offsetof(PgQuery__RangeTblFunction, funccoltypes), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "funccoltypmods", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccoltypmods), - offsetof(PgQuery__RangeTblFunction, funccoltypmods), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RowMarkClause, pushed_down), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "funccolcollations", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccolcollations), - offsetof(PgQuery__RangeTblFunction, funccolcollations), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "funcparams", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblFunction, n_funcparams), - offsetof(PgQuery__RangeTblFunction, funcparams), - NULL, - NULL, - PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__range_tbl_function__field_indices_by_name[] = { - 5, /* field[5] = funccolcollations */ - 1, /* field[1] = funccolcount */ - 2, /* field[2] = funccolnames */ - 3, /* field[3] = funccoltypes */ - 4, /* field[4] = funccoltypmods */ - 0, /* field[0] = funcexpr */ - 6, /* field[6] = funcparams */ +static const unsigned pg_query__row_mark_clause__field_indices_by_name[] = { + 3, /* field[3] = pushed_down */ + 0, /* field[0] = rti */ + 1, /* field[1] = strength */ + 2, /* field[2] = wait_policy */ }; -static const ProtobufCIntRange pg_query__range_tbl_function__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__row_mark_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor = +const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblFunction", - "RangeTblFunction", - "PgQuery__RangeTblFunction", + "pg_query.RowMarkClause", + "RowMarkClause", + "PgQuery__RowMarkClause", "pg_query", - sizeof(PgQuery__RangeTblFunction), - 7, - pg_query__range_tbl_function__field_descriptors, - pg_query__range_tbl_function__field_indices_by_name, - 1, pg_query__range_tbl_function__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_function__init, + sizeof(PgQuery__RowMarkClause), + 4, + pg_query__row_mark_clause__field_descriptors, + pg_query__row_mark_clause__field_indices_by_name, + 1, pg_query__row_mark_clause__number_ranges, + (ProtobufCMessageInit) pg_query__row_mark_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__table_sample_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__with_clause__field_descriptors[3] = { { - "tsmhandler", + "ctes", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__TableSampleClause, tsmhandler), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WithClause, n_ctes), + offsetof(PgQuery__WithClause, ctes), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "recursive", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableSampleClause, n_args), - offsetof(PgQuery__TableSampleClause, args), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WithClause, recursive), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "repeatable", + "location", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TableSampleClause, repeatable), - &pg_query__node__descriptor, + offsetof(PgQuery__WithClause, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__table_sample_clause__field_indices_by_name[] = { - 1, /* field[1] = args */ - 2, /* field[2] = repeatable */ - 0, /* field[0] = tsmhandler */ +static const unsigned pg_query__with_clause__field_indices_by_name[] = { + 0, /* field[0] = ctes */ + 2, /* field[2] = location */ + 1, /* field[1] = recursive */ }; -static const ProtobufCIntRange pg_query__table_sample_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__with_clause__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__with_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TableSampleClause", - "TableSampleClause", - "PgQuery__TableSampleClause", + "pg_query.WithClause", + "WithClause", + "PgQuery__WithClause", "pg_query", - sizeof(PgQuery__TableSampleClause), + sizeof(PgQuery__WithClause), 3, - pg_query__table_sample_clause__field_descriptors, - pg_query__table_sample_clause__field_indices_by_name, - 1, pg_query__table_sample_clause__number_ranges, - (ProtobufCMessageInit) pg_query__table_sample_clause__init, + pg_query__with_clause__field_descriptors, + pg_query__with_clause__field_indices_by_name, + 1, pg_query__with_clause__number_ranges, + (ProtobufCMessageInit) pg_query__with_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__with_check_option__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__infer_clause__field_descriptors[4] = { { - "kind", + "index_elems", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, kind), - &pg_query__wcokind__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__InferClause, n_index_elems), + offsetof(PgQuery__InferClause, index_elems), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relname", + "where_clause", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, relname), + offsetof(PgQuery__InferClause, where_clause), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "polname", + "conname", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, polname), + offsetof(PgQuery__InferClause, conname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "qual", + "location", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, qual), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cascaded", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, cascaded), + offsetof(PgQuery__InferClause, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__with_check_option__field_indices_by_name[] = { - 4, /* field[4] = cascaded */ - 0, /* field[0] = kind */ - 2, /* field[2] = polname */ - 3, /* field[3] = qual */ - 1, /* field[1] = relname */ +static const unsigned pg_query__infer_clause__field_indices_by_name[] = { + 2, /* field[2] = conname */ + 0, /* field[0] = index_elems */ + 3, /* field[3] = location */ + 1, /* field[1] = where_clause */ }; -static const ProtobufCIntRange pg_query__with_check_option__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__infer_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor = +const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WithCheckOption", - "WithCheckOption", - "PgQuery__WithCheckOption", + "pg_query.InferClause", + "InferClause", + "PgQuery__InferClause", "pg_query", - sizeof(PgQuery__WithCheckOption), - 5, - pg_query__with_check_option__field_descriptors, - pg_query__with_check_option__field_indices_by_name, - 1, pg_query__with_check_option__number_ranges, - (ProtobufCMessageInit) pg_query__with_check_option__init, + sizeof(PgQuery__InferClause), + 4, + pg_query__infer_clause__field_descriptors, + pg_query__infer_clause__field_indices_by_name, + 1, pg_query__infer_clause__number_ranges, + (ProtobufCMessageInit) pg_query__infer_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sort_group_clause__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__on_conflict_clause__field_descriptors[5] = { { - "tle_sort_group_ref", + "action", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, tle_sort_group_ref), - NULL, + offsetof(PgQuery__OnConflictClause, action), + &pg_query__on_conflict_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "eqop", + "infer", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, eqop), - NULL, + offsetof(PgQuery__OnConflictClause, infer), + &pg_query__infer_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sortop", + "target_list", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, sortop), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__OnConflictClause, n_target_list), + offsetof(PgQuery__OnConflictClause, target_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulls_first", + "where_clause", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, nulls_first), - NULL, + offsetof(PgQuery__OnConflictClause, where_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "hashable", + "location", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, hashable), + offsetof(PgQuery__OnConflictClause, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__sort_group_clause__field_indices_by_name[] = { - 1, /* field[1] = eqop */ - 4, /* field[4] = hashable */ - 3, /* field[3] = nulls_first */ - 2, /* field[2] = sortop */ - 0, /* field[0] = tle_sort_group_ref */ +static const unsigned pg_query__on_conflict_clause__field_indices_by_name[] = { + 0, /* field[0] = action */ + 1, /* field[1] = infer */ + 4, /* field[4] = location */ + 2, /* field[2] = target_list */ + 3, /* field[3] = where_clause */ }; -static const ProtobufCIntRange pg_query__sort_group_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__on_conflict_clause__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SortGroupClause", - "SortGroupClause", - "PgQuery__SortGroupClause", + "pg_query.OnConflictClause", + "OnConflictClause", + "PgQuery__OnConflictClause", "pg_query", - sizeof(PgQuery__SortGroupClause), + sizeof(PgQuery__OnConflictClause), 5, - pg_query__sort_group_clause__field_descriptors, - pg_query__sort_group_clause__field_indices_by_name, - 1, pg_query__sort_group_clause__number_ranges, - (ProtobufCMessageInit) pg_query__sort_group_clause__init, + pg_query__on_conflict_clause__field_descriptors, + pg_query__on_conflict_clause__field_indices_by_name, + 1, pg_query__on_conflict_clause__number_ranges, + (ProtobufCMessageInit) pg_query__on_conflict_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__grouping_set__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__ctesearch_clause__field_descriptors[4] = { { - "kind", + "search_col_list", 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CTESearchClause, n_search_col_list), + offsetof(PgQuery__CTESearchClause, search_col_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "search_breadth_first", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingSet, kind), - &pg_query__grouping_set_kind__descriptor, + offsetof(PgQuery__CTESearchClause, search_breadth_first), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "content", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GroupingSet, n_content), - offsetof(PgQuery__GroupingSet, content), - &pg_query__node__descriptor, + "search_seq_column", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CTESearchClause, search_seq_column), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 3, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingSet, location), + offsetof(PgQuery__CTESearchClause, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__grouping_set__field_indices_by_name[] = { - 1, /* field[1] = content */ - 0, /* field[0] = kind */ - 2, /* field[2] = location */ +static const unsigned pg_query__ctesearch_clause__field_indices_by_name[] = { + 3, /* field[3] = location */ + 1, /* field[1] = search_breadth_first */ + 0, /* field[0] = search_col_list */ + 2, /* field[2] = search_seq_column */ }; -static const ProtobufCIntRange pg_query__grouping_set__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__ctesearch_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor = +const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.GroupingSet", - "GroupingSet", - "PgQuery__GroupingSet", + "pg_query.CTESearchClause", + "CTESearchClause", + "PgQuery__CTESearchClause", "pg_query", - sizeof(PgQuery__GroupingSet), - 3, - pg_query__grouping_set__field_descriptors, - pg_query__grouping_set__field_indices_by_name, - 1, pg_query__grouping_set__number_ranges, - (ProtobufCMessageInit) pg_query__grouping_set__init, + sizeof(PgQuery__CTESearchClause), + 4, + pg_query__ctesearch_clause__field_descriptors, + pg_query__ctesearch_clause__field_indices_by_name, + 1, pg_query__ctesearch_clause__number_ranges, + (ProtobufCMessageInit) pg_query__ctesearch_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__window_clause__field_descriptors[15] = +static const ProtobufCFieldDescriptor pg_query__ctecycle_clause__field_descriptors[10] = { { - "name", + "cycle_col_list", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, name), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CTECycleClause, n_cycle_col_list), + offsetof(PgQuery__CTECycleClause, cycle_col_list), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refname", + "cycle_mark_column", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, refname), + offsetof(PgQuery__CTECycleClause, cycle_mark_column), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_clause", + "cycle_mark_value", 3, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_partition_clause), - offsetof(PgQuery__WindowClause, partition_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__CTECycleClause, cycle_mark_value), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "order_clause", + "cycle_mark_default", 4, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_order_clause), - offsetof(PgQuery__WindowClause, order_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__CTECycleClause, cycle_mark_default), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "frame_options", + "cycle_path_column", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, frame_options), - NULL, + offsetof(PgQuery__CTECycleClause, cycle_path_column), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "start_offset", + "location", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, start_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__CTECycleClause, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "end_offset", + "cycle_mark_type", 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, end_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__CTECycleClause, cycle_mark_type), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "run_condition", + "cycle_mark_typmod", 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_run_condition), - offsetof(PgQuery__WindowClause, run_condition), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CTECycleClause, cycle_mark_typmod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "start_in_range_func", + "cycle_mark_collation", 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, start_in_range_func), + offsetof(PgQuery__CTECycleClause, cycle_mark_collation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "end_in_range_func", + "cycle_mark_neop", 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, end_in_range_func), + offsetof(PgQuery__CTECycleClause, cycle_mark_neop), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__ctecycle_clause__field_indices_by_name[] = { + 0, /* field[0] = cycle_col_list */ + 8, /* field[8] = cycle_mark_collation */ + 1, /* field[1] = cycle_mark_column */ + 3, /* field[3] = cycle_mark_default */ + 9, /* field[9] = cycle_mark_neop */ + 6, /* field[6] = cycle_mark_type */ + 7, /* field[7] = cycle_mark_typmod */ + 2, /* field[2] = cycle_mark_value */ + 4, /* field[4] = cycle_path_column */ + 5, /* field[5] = location */ +}; +static const ProtobufCIntRange pg_query__ctecycle_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 10 } +}; +const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CTECycleClause", + "CTECycleClause", + "PgQuery__CTECycleClause", + "pg_query", + sizeof(PgQuery__CTECycleClause), + 10, + pg_query__ctecycle_clause__field_descriptors, + pg_query__ctecycle_clause__field_indices_by_name, + 1, pg_query__ctecycle_clause__number_ranges, + (ProtobufCMessageInit) pg_query__ctecycle_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__common_table_expr__field_descriptors[13] = +{ { - "in_range_coll", - 11, + "ctename", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_coll), + offsetof(PgQuery__CommonTableExpr, ctename), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "aliascolnames", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_aliascolnames), + offsetof(PgQuery__CommonTableExpr, aliascolnames), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctematerialized", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, ctematerialized), + &pg_query__ctematerialize__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_range_asc", - 12, + "ctequery", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, ctequery), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "search_clause", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, search_clause), + &pg_query__ctesearch_clause__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cycle_clause", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, cycle_clause), + &pg_query__ctecycle_clause__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cterecursive", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_asc), + offsetof(PgQuery__CommonTableExpr, cterecursive), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_range_nulls_first", - 13, + "cterefcount", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_nulls_first), + offsetof(PgQuery__CommonTableExpr, cterefcount), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winref", - 14, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, winref), + "ctecolnames", + 10, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecolnames), + offsetof(PgQuery__CommonTableExpr, ctecolnames), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctecoltypes", + 11, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecoltypes), + offsetof(PgQuery__CommonTableExpr, ctecoltypes), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "copied_order", - 15, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, copied_order), + "ctecoltypmods", + 12, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecoltypmods), + offsetof(PgQuery__CommonTableExpr, ctecoltypmods), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctecolcollations", + 13, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecolcollations), + offsetof(PgQuery__CommonTableExpr, ctecolcollations), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__window_clause__field_indices_by_name[] = { - 14, /* field[14] = copied_order */ - 9, /* field[9] = end_in_range_func */ - 6, /* field[6] = end_offset */ - 4, /* field[4] = frame_options */ - 11, /* field[11] = in_range_asc */ - 10, /* field[10] = in_range_coll */ - 12, /* field[12] = in_range_nulls_first */ - 0, /* field[0] = name */ - 3, /* field[3] = order_clause */ - 2, /* field[2] = partition_clause */ - 1, /* field[1] = refname */ - 7, /* field[7] = run_condition */ - 8, /* field[8] = start_in_range_func */ - 5, /* field[5] = start_offset */ - 13, /* field[13] = winref */ +static const unsigned pg_query__common_table_expr__field_indices_by_name[] = { + 1, /* field[1] = aliascolnames */ + 12, /* field[12] = ctecolcollations */ + 9, /* field[9] = ctecolnames */ + 10, /* field[10] = ctecoltypes */ + 11, /* field[11] = ctecoltypmods */ + 2, /* field[2] = ctematerialized */ + 0, /* field[0] = ctename */ + 3, /* field[3] = ctequery */ + 7, /* field[7] = cterecursive */ + 8, /* field[8] = cterefcount */ + 5, /* field[5] = cycle_clause */ + 6, /* field[6] = location */ + 4, /* field[4] = search_clause */ }; -static const ProtobufCIntRange pg_query__window_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__common_table_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 15 } + { 0, 13 } }; -const ProtobufCMessageDescriptor pg_query__window_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WindowClause", - "WindowClause", - "PgQuery__WindowClause", + "pg_query.CommonTableExpr", + "CommonTableExpr", + "PgQuery__CommonTableExpr", "pg_query", - sizeof(PgQuery__WindowClause), - 15, - pg_query__window_clause__field_descriptors, - pg_query__window_clause__field_indices_by_name, - 1, pg_query__window_clause__number_ranges, - (ProtobufCMessageInit) pg_query__window_clause__init, + sizeof(PgQuery__CommonTableExpr), + 13, + pg_query__common_table_expr__field_descriptors, + pg_query__common_table_expr__field_indices_by_name, + 1, pg_query__common_table_expr__number_ranges, + (ProtobufCMessageInit) pg_query__common_table_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__row_mark_clause__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__merge_when_clause__field_descriptors[6] = { { - "rti", + "match_kind", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, rti), - NULL, + offsetof(PgQuery__MergeWhenClause, match_kind), + &pg_query__merge_match_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "strength", + "command_type", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, strength), - &pg_query__lock_clause_strength__descriptor, + offsetof(PgQuery__MergeWhenClause, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "wait_policy", + "override", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, wait_policy), - &pg_query__lock_wait_policy__descriptor, + offsetof(PgQuery__MergeWhenClause, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pushed_down", + "condition", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, pushed_down), + offsetof(PgQuery__MergeWhenClause, condition), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "target_list", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeWhenClause, n_target_list), + offsetof(PgQuery__MergeWhenClause, target_list), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "values", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeWhenClause, n_values), + offsetof(PgQuery__MergeWhenClause, values), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__row_mark_clause__field_indices_by_name[] = { - 3, /* field[3] = pushed_down */ - 0, /* field[0] = rti */ - 1, /* field[1] = strength */ - 2, /* field[2] = wait_policy */ +static const unsigned pg_query__merge_when_clause__field_indices_by_name[] = { + 1, /* field[1] = command_type */ + 3, /* field[3] = condition */ + 0, /* field[0] = match_kind */ + 2, /* field[2] = override */ + 4, /* field[4] = target_list */ + 5, /* field[5] = values */ }; -static const ProtobufCIntRange pg_query__row_mark_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__merge_when_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RowMarkClause", - "RowMarkClause", - "PgQuery__RowMarkClause", + "pg_query.MergeWhenClause", + "MergeWhenClause", + "PgQuery__MergeWhenClause", "pg_query", - sizeof(PgQuery__RowMarkClause), - 4, - pg_query__row_mark_clause__field_descriptors, - pg_query__row_mark_clause__field_indices_by_name, - 1, pg_query__row_mark_clause__number_ranges, - (ProtobufCMessageInit) pg_query__row_mark_clause__init, + sizeof(PgQuery__MergeWhenClause), + 6, + pg_query__merge_when_clause__field_descriptors, + pg_query__merge_when_clause__field_indices_by_name, + 1, pg_query__merge_when_clause__number_ranges, + (ProtobufCMessageInit) pg_query__merge_when_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__with_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__trigger_transition__field_descriptors[3] = { { - "ctes", + "name", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WithClause, n_ctes), - offsetof(PgQuery__WithClause, ctes), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__TriggerTransition, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "recursive", + "is_new", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WithClause, recursive), + offsetof(PgQuery__TriggerTransition, is_new), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "is_table", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WithClause, location), + offsetof(PgQuery__TriggerTransition, is_table), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__with_clause__field_indices_by_name[] = { - 0, /* field[0] = ctes */ - 2, /* field[2] = location */ - 1, /* field[1] = recursive */ +static const unsigned pg_query__trigger_transition__field_indices_by_name[] = { + 1, /* field[1] = is_new */ + 2, /* field[2] = is_table */ + 0, /* field[0] = name */ }; -static const ProtobufCIntRange pg_query__with_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__trigger_transition__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__with_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WithClause", - "WithClause", - "PgQuery__WithClause", + "pg_query.TriggerTransition", + "TriggerTransition", + "PgQuery__TriggerTransition", "pg_query", - sizeof(PgQuery__WithClause), + sizeof(PgQuery__TriggerTransition), 3, - pg_query__with_clause__field_descriptors, - pg_query__with_clause__field_indices_by_name, - 1, pg_query__with_clause__number_ranges, - (ProtobufCMessageInit) pg_query__with_clause__init, + pg_query__trigger_transition__field_descriptors, + pg_query__trigger_transition__field_indices_by_name, + 1, pg_query__trigger_transition__number_ranges, + (ProtobufCMessageInit) pg_query__trigger_transition__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__infer_clause__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_output__field_descriptors[2] = { { - "index_elems", + "type_name", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__InferClause, n_index_elems), - offsetof(PgQuery__InferClause, index_elems), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "where_clause", - 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, where_clause), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "conname", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, conname), + offsetof(PgQuery__JsonOutput, type_name), + &pg_query__type_name__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 4, + "returning", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, location), - NULL, + offsetof(PgQuery__JsonOutput, returning), + &pg_query__json_returning__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__infer_clause__field_indices_by_name[] = { - 2, /* field[2] = conname */ - 0, /* field[0] = index_elems */ - 3, /* field[3] = location */ - 1, /* field[1] = where_clause */ +static const unsigned pg_query__json_output__field_indices_by_name[] = { + 1, /* field[1] = returning */ + 0, /* field[0] = type_name */ }; -static const ProtobufCIntRange pg_query__infer_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_output__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__json_output__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InferClause", - "InferClause", - "PgQuery__InferClause", + "pg_query.JsonOutput", + "JsonOutput", + "PgQuery__JsonOutput", "pg_query", - sizeof(PgQuery__InferClause), - 4, - pg_query__infer_clause__field_descriptors, - pg_query__infer_clause__field_indices_by_name, - 1, pg_query__infer_clause__number_ranges, - (ProtobufCMessageInit) pg_query__infer_clause__init, + sizeof(PgQuery__JsonOutput), + 2, + pg_query__json_output__field_descriptors, + pg_query__json_output__field_indices_by_name, + 1, pg_query__json_output__number_ranges, + (ProtobufCMessageInit) pg_query__json_output__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__on_conflict_clause__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__json_argument__field_descriptors[2] = { { - "action", + "val", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, action), - &pg_query__on_conflict_action__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "infer", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, infer), - &pg_query__infer_clause__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "target_list", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictClause, n_target_list), - offsetof(PgQuery__OnConflictClause, target_list), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "where_clause", - 4, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, where_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonArgument, val), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "name", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, location), - NULL, + offsetof(PgQuery__JsonArgument, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__on_conflict_clause__field_indices_by_name[] = { - 0, /* field[0] = action */ - 1, /* field[1] = infer */ - 4, /* field[4] = location */ - 2, /* field[2] = target_list */ - 3, /* field[3] = where_clause */ +static const unsigned pg_query__json_argument__field_indices_by_name[] = { + 1, /* field[1] = name */ + 0, /* field[0] = val */ }; -static const ProtobufCIntRange pg_query__on_conflict_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_argument__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__json_argument__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OnConflictClause", - "OnConflictClause", - "PgQuery__OnConflictClause", + "pg_query.JsonArgument", + "JsonArgument", + "PgQuery__JsonArgument", "pg_query", - sizeof(PgQuery__OnConflictClause), - 5, - pg_query__on_conflict_clause__field_descriptors, - pg_query__on_conflict_clause__field_indices_by_name, - 1, pg_query__on_conflict_clause__number_ranges, - (ProtobufCMessageInit) pg_query__on_conflict_clause__init, + sizeof(PgQuery__JsonArgument), + 2, + pg_query__json_argument__field_descriptors, + pg_query__json_argument__field_indices_by_name, + 1, pg_query__json_argument__number_ranges, + (ProtobufCMessageInit) pg_query__json_argument__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__ctesearch_clause__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_func_expr__field_descriptors[11] = { { - "search_col_list", + "op", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CTESearchClause, n_search_col_list), - offsetof(PgQuery__CTESearchClause, search_col_list), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonFuncExpr, op), + &pg_query__json_expr_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_breadth_first", + "column_name", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, search_breadth_first), - NULL, + offsetof(PgQuery__JsonFuncExpr, column_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_seq_column", + "context_item", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, search_seq_column), + offsetof(PgQuery__JsonFuncExpr, context_item), + &pg_query__json_value_expr__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "pathspec", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, location), - NULL, + offsetof(PgQuery__JsonFuncExpr, pathspec), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__ctesearch_clause__field_indices_by_name[] = { - 3, /* field[3] = location */ - 1, /* field[1] = search_breadth_first */ - 0, /* field[0] = search_col_list */ - 2, /* field[2] = search_seq_column */ -}; -static const ProtobufCIntRange pg_query__ctesearch_clause__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CTESearchClause", - "CTESearchClause", - "PgQuery__CTESearchClause", - "pg_query", - sizeof(PgQuery__CTESearchClause), - 4, - pg_query__ctesearch_clause__field_descriptors, - pg_query__ctesearch_clause__field_indices_by_name, - 1, pg_query__ctesearch_clause__number_ranges, - (ProtobufCMessageInit) pg_query__ctesearch_clause__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__ctecycle_clause__field_descriptors[10] = -{ { - "cycle_col_list", - 1, + "passing", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CTECycleClause, n_cycle_col_list), - offsetof(PgQuery__CTECycleClause, cycle_col_list), + offsetof(PgQuery__JsonFuncExpr, n_passing), + offsetof(PgQuery__JsonFuncExpr, passing), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_column", - 2, + "output", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_column), + offsetof(PgQuery__JsonFuncExpr, output), + &pg_query__json_output__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_value", - 3, + "on_empty", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_value), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonFuncExpr, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_default", - 4, + "on_error", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_default), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonFuncExpr, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_path_column", - 5, + "wrapper", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_path_column), + offsetof(PgQuery__JsonFuncExpr, wrapper), + &pg_query__json_wrapper__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "quotes", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonFuncExpr, quotes), + &pg_query__json_quotes__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 6, + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, location), + offsetof(PgQuery__JsonFuncExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_func_expr__field_indices_by_name[] = { + 1, /* field[1] = column_name */ + 2, /* field[2] = context_item */ + 10, /* field[10] = location */ + 6, /* field[6] = on_empty */ + 7, /* field[7] = on_error */ + 0, /* field[0] = op */ + 5, /* field[5] = output */ + 4, /* field[4] = passing */ + 3, /* field[3] = pathspec */ + 9, /* field[9] = quotes */ + 8, /* field[8] = wrapper */ +}; +static const ProtobufCIntRange pg_query__json_func_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 11 } +}; +const ProtobufCMessageDescriptor pg_query__json_func_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonFuncExpr", + "JsonFuncExpr", + "PgQuery__JsonFuncExpr", + "pg_query", + sizeof(PgQuery__JsonFuncExpr), + 11, + pg_query__json_func_expr__field_descriptors, + pg_query__json_func_expr__field_indices_by_name, + 1, pg_query__json_func_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_func_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_table_path_spec__field_descriptors[4] = +{ { - "cycle_mark_type", - 7, + "string", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_type), - NULL, + offsetof(PgQuery__JsonTablePathSpec, string), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_typmod", - 8, + "name", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_typmod), - NULL, + offsetof(PgQuery__JsonTablePathSpec, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_collation", - 9, + "name_location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_collation), + offsetof(PgQuery__JsonTablePathSpec, name_location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_neop", - 10, + "location", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_neop), + offsetof(PgQuery__JsonTablePathSpec, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__ctecycle_clause__field_indices_by_name[] = { - 0, /* field[0] = cycle_col_list */ - 8, /* field[8] = cycle_mark_collation */ - 1, /* field[1] = cycle_mark_column */ - 3, /* field[3] = cycle_mark_default */ - 9, /* field[9] = cycle_mark_neop */ - 6, /* field[6] = cycle_mark_type */ - 7, /* field[7] = cycle_mark_typmod */ - 2, /* field[2] = cycle_mark_value */ - 4, /* field[4] = cycle_path_column */ - 5, /* field[5] = location */ +static const unsigned pg_query__json_table_path_spec__field_indices_by_name[] = { + 3, /* field[3] = location */ + 1, /* field[1] = name */ + 2, /* field[2] = name_location */ + 0, /* field[0] = string */ }; -static const ProtobufCIntRange pg_query__ctecycle_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_path_spec__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_path_spec__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CTECycleClause", - "CTECycleClause", - "PgQuery__CTECycleClause", + "pg_query.JsonTablePathSpec", + "JsonTablePathSpec", + "PgQuery__JsonTablePathSpec", "pg_query", - sizeof(PgQuery__CTECycleClause), - 10, - pg_query__ctecycle_clause__field_descriptors, - pg_query__ctecycle_clause__field_indices_by_name, - 1, pg_query__ctecycle_clause__number_ranges, - (ProtobufCMessageInit) pg_query__ctecycle_clause__init, + sizeof(PgQuery__JsonTablePathSpec), + 4, + pg_query__json_table_path_spec__field_descriptors, + pg_query__json_table_path_spec__field_indices_by_name, + 1, pg_query__json_table_path_spec__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__common_table_expr__field_descriptors[13] = +static const ProtobufCFieldDescriptor pg_query__json_table__field_descriptors[8] = { { - "ctename", + "context_item", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctename), + offsetof(PgQuery__JsonTable, context_item), + &pg_query__json_value_expr__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aliascolnames", + "pathspec", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_aliascolnames), - offsetof(PgQuery__CommonTableExpr, aliascolnames), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTable, pathspec), + &pg_query__json_table_path_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctematerialized", + "passing", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctematerialized), - &pg_query__ctematerialize__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonTable, n_passing), + offsetof(PgQuery__JsonTable, passing), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctequery", + "columns", 4, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctequery), + offsetof(PgQuery__JsonTable, n_columns), + offsetof(PgQuery__JsonTable, columns), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_clause", + "on_error", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, search_clause), - &pg_query__ctesearch_clause__descriptor, + offsetof(PgQuery__JsonTable, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_clause", + "alias", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cycle_clause), - &pg_query__ctecycle_clause__descriptor, + offsetof(PgQuery__JsonTable, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "lateral", 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, location), + offsetof(PgQuery__JsonTable, lateral), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cterecursive", + "location", 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cterecursive), + offsetof(PgQuery__JsonTable, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_table__field_indices_by_name[] = { + 5, /* field[5] = alias */ + 3, /* field[3] = columns */ + 0, /* field[0] = context_item */ + 6, /* field[6] = lateral */ + 7, /* field[7] = location */ + 4, /* field[4] = on_error */ + 2, /* field[2] = passing */ + 1, /* field[1] = pathspec */ +}; +static const ProtobufCIntRange pg_query__json_table__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__json_table__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonTable", + "JsonTable", + "PgQuery__JsonTable", + "pg_query", + sizeof(PgQuery__JsonTable), + 8, + pg_query__json_table__field_descriptors, + pg_query__json_table__field_indices_by_name, + 1, pg_query__json_table__number_ranges, + (ProtobufCMessageInit) pg_query__json_table__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_table_column__field_descriptors[11] = +{ { - "cterefcount", - 9, + "coltype", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cterefcount), - NULL, + offsetof(PgQuery__JsonTableColumn, coltype), + &pg_query__json_table_column_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctecolnames", - 10, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecolnames), - offsetof(PgQuery__CommonTableExpr, ctecolnames), - &pg_query__node__descriptor, + "name", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctecoltypes", - 11, - PROTOBUF_C_LABEL_REPEATED, + "type_name", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecoltypes), - offsetof(PgQuery__CommonTableExpr, ctecoltypes), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctecoltypmods", - 12, - PROTOBUF_C_LABEL_REPEATED, + "pathspec", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecoltypmods), - offsetof(PgQuery__CommonTableExpr, ctecoltypmods), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, pathspec), + &pg_query__json_table_path_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctecolcollations", - 13, - PROTOBUF_C_LABEL_REPEATED, + "format", + 5, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecolcollations), - offsetof(PgQuery__CommonTableExpr, ctecolcollations), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__common_table_expr__field_indices_by_name[] = { - 1, /* field[1] = aliascolnames */ - 12, /* field[12] = ctecolcollations */ - 9, /* field[9] = ctecolnames */ - 10, /* field[10] = ctecoltypes */ - 11, /* field[11] = ctecoltypmods */ - 2, /* field[2] = ctematerialized */ - 0, /* field[0] = ctename */ - 3, /* field[3] = ctequery */ - 7, /* field[7] = cterecursive */ - 8, /* field[8] = cterefcount */ - 5, /* field[5] = cycle_clause */ - 6, /* field[6] = location */ - 4, /* field[4] = search_clause */ -}; -static const ProtobufCIntRange pg_query__common_table_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 13 } -}; -const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CommonTableExpr", - "CommonTableExpr", - "PgQuery__CommonTableExpr", - "pg_query", - sizeof(PgQuery__CommonTableExpr), - 13, - pg_query__common_table_expr__field_descriptors, - pg_query__common_table_expr__field_indices_by_name, - 1, pg_query__common_table_expr__number_ranges, - (ProtobufCMessageInit) pg_query__common_table_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__merge_when_clause__field_descriptors[6] = -{ { - "matched", - 1, + "wrapper", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, matched), - NULL, + offsetof(PgQuery__JsonTableColumn, wrapper), + &pg_query__json_wrapper__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "command_type", - 2, + "quotes", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, command_type), - &pg_query__cmd_type__descriptor, + offsetof(PgQuery__JsonTableColumn, quotes), + &pg_query__json_quotes__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, override), - &pg_query__overriding_kind__descriptor, + "columns", + 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonTableColumn, n_columns), + offsetof(PgQuery__JsonTableColumn, columns), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "condition", - 4, + "on_empty", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, condition), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonTableColumn, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", - 5, - PROTOBUF_C_LABEL_REPEATED, + "on_error", + 10, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeWhenClause, n_target_list), - offsetof(PgQuery__MergeWhenClause, target_list), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "values", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeWhenClause, n_values), - offsetof(PgQuery__MergeWhenClause, values), - &pg_query__node__descriptor, + "location", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableColumn, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__merge_when_clause__field_indices_by_name[] = { - 1, /* field[1] = command_type */ - 3, /* field[3] = condition */ - 0, /* field[0] = matched */ - 2, /* field[2] = override */ - 4, /* field[4] = target_list */ - 5, /* field[5] = values */ +static const unsigned pg_query__json_table_column__field_indices_by_name[] = { + 0, /* field[0] = coltype */ + 7, /* field[7] = columns */ + 4, /* field[4] = format */ + 10, /* field[10] = location */ + 1, /* field[1] = name */ + 8, /* field[8] = on_empty */ + 9, /* field[9] = on_error */ + 3, /* field[3] = pathspec */ + 6, /* field[6] = quotes */ + 2, /* field[2] = type_name */ + 5, /* field[5] = wrapper */ }; -static const ProtobufCIntRange pg_query__merge_when_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_column__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 11 } }; -const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_column__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MergeWhenClause", - "MergeWhenClause", - "PgQuery__MergeWhenClause", + "pg_query.JsonTableColumn", + "JsonTableColumn", + "PgQuery__JsonTableColumn", "pg_query", - sizeof(PgQuery__MergeWhenClause), - 6, - pg_query__merge_when_clause__field_descriptors, - pg_query__merge_when_clause__field_indices_by_name, - 1, pg_query__merge_when_clause__number_ranges, - (ProtobufCMessageInit) pg_query__merge_when_clause__init, + sizeof(PgQuery__JsonTableColumn), + 11, + pg_query__json_table_column__field_descriptors, + pg_query__json_table_column__field_indices_by_name, + 1, pg_query__json_table_column__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_column__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__merge_action__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__json_key_value__field_descriptors[2] = { { - "matched", + "key", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, matched), - NULL, + offsetof(PgQuery__JsonKeyValue, key), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "command_type", + "value", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, command_type), - &pg_query__cmd_type__descriptor, + offsetof(PgQuery__JsonKeyValue, value), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_key_value__field_indices_by_name[] = { + 0, /* field[0] = key */ + 1, /* field[1] = value */ +}; +static const ProtobufCIntRange pg_query__json_key_value__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__json_key_value__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonKeyValue", + "JsonKeyValue", + "PgQuery__JsonKeyValue", + "pg_query", + sizeof(PgQuery__JsonKeyValue), + 2, + pg_query__json_key_value__field_descriptors, + pg_query__json_key_value__field_indices_by_name, + 1, pg_query__json_key_value__number_ranges, + (ProtobufCMessageInit) pg_query__json_key_value__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_parse_expr__field_descriptors[4] = +{ { - "override", - 3, + "expr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, override), - &pg_query__overriding_kind__descriptor, + offsetof(PgQuery__JsonParseExpr, expr), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "qual", - 4, + "output", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, qual), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonParseExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeAction, n_target_list), - offsetof(PgQuery__MergeAction, target_list), - &pg_query__node__descriptor, + "unique_keys", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonParseExpr, unique_keys), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "update_colnos", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeAction, n_update_colnos), - offsetof(PgQuery__MergeAction, update_colnos), - &pg_query__node__descriptor, + "location", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonParseExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__merge_action__field_indices_by_name[] = { - 1, /* field[1] = command_type */ - 0, /* field[0] = matched */ - 2, /* field[2] = override */ - 3, /* field[3] = qual */ - 4, /* field[4] = target_list */ - 5, /* field[5] = update_colnos */ +static const unsigned pg_query__json_parse_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 3, /* field[3] = location */ + 1, /* field[1] = output */ + 2, /* field[2] = unique_keys */ }; -static const ProtobufCIntRange pg_query__merge_action__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_parse_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__merge_action__descriptor = +const ProtobufCMessageDescriptor pg_query__json_parse_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MergeAction", - "MergeAction", - "PgQuery__MergeAction", + "pg_query.JsonParseExpr", + "JsonParseExpr", + "PgQuery__JsonParseExpr", "pg_query", - sizeof(PgQuery__MergeAction), - 6, - pg_query__merge_action__field_descriptors, - pg_query__merge_action__field_indices_by_name, - 1, pg_query__merge_action__number_ranges, - (ProtobufCMessageInit) pg_query__merge_action__init, + sizeof(PgQuery__JsonParseExpr), + 4, + pg_query__json_parse_expr__field_descriptors, + pg_query__json_parse_expr__field_indices_by_name, + 1, pg_query__json_parse_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_parse_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__trigger_transition__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__json_scalar_expr__field_descriptors[3] = { { - "name", + "expr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, name), + offsetof(PgQuery__JsonScalarExpr, expr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_new", + "output", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, is_new), - NULL, + offsetof(PgQuery__JsonScalarExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_table", + "location", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, is_table), + offsetof(PgQuery__JsonScalarExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__trigger_transition__field_indices_by_name[] = { - 1, /* field[1] = is_new */ - 2, /* field[2] = is_table */ - 0, /* field[0] = name */ +static const unsigned pg_query__json_scalar_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 2, /* field[2] = location */ + 1, /* field[1] = output */ }; -static const ProtobufCIntRange pg_query__trigger_transition__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_scalar_expr__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor = +const ProtobufCMessageDescriptor pg_query__json_scalar_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TriggerTransition", - "TriggerTransition", - "PgQuery__TriggerTransition", + "pg_query.JsonScalarExpr", + "JsonScalarExpr", + "PgQuery__JsonScalarExpr", "pg_query", - sizeof(PgQuery__TriggerTransition), + sizeof(PgQuery__JsonScalarExpr), 3, - pg_query__trigger_transition__field_descriptors, - pg_query__trigger_transition__field_indices_by_name, - 1, pg_query__trigger_transition__number_ranges, - (ProtobufCMessageInit) pg_query__trigger_transition__init, + pg_query__json_scalar_expr__field_descriptors, + pg_query__json_scalar_expr__field_indices_by_name, + 1, pg_query__json_scalar_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_scalar_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__json_output__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_serialize_expr__field_descriptors[3] = { { - "type_name", + "expr", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JsonOutput, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__JsonSerializeExpr, expr), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "returning", + "output", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JsonOutput, returning), - &pg_query__json_returning__descriptor, + offsetof(PgQuery__JsonSerializeExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__json_output__field_indices_by_name[] = { - 1, /* field[1] = returning */ - 0, /* field[0] = type_name */ -}; -static const ProtobufCIntRange pg_query__json_output__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__json_output__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.JsonOutput", - "JsonOutput", - "PgQuery__JsonOutput", - "pg_query", - sizeof(PgQuery__JsonOutput), - 2, - pg_query__json_output__field_descriptors, - pg_query__json_output__field_indices_by_name, - 1, pg_query__json_output__number_ranges, - (ProtobufCMessageInit) pg_query__json_output__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__json_key_value__field_descriptors[2] = -{ { - "key", - 1, + "location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__JsonKeyValue, key), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonSerializeExpr, location), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "value", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__JsonKeyValue, value), - &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__json_key_value__field_indices_by_name[] = { - 0, /* field[0] = key */ - 1, /* field[1] = value */ +static const unsigned pg_query__json_serialize_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 2, /* field[2] = location */ + 1, /* field[1] = output */ }; -static const ProtobufCIntRange pg_query__json_key_value__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_serialize_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__json_key_value__descriptor = +const ProtobufCMessageDescriptor pg_query__json_serialize_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.JsonKeyValue", - "JsonKeyValue", - "PgQuery__JsonKeyValue", + "pg_query.JsonSerializeExpr", + "JsonSerializeExpr", + "PgQuery__JsonSerializeExpr", "pg_query", - sizeof(PgQuery__JsonKeyValue), - 2, - pg_query__json_key_value__field_descriptors, - pg_query__json_key_value__field_indices_by_name, - 1, pg_query__json_key_value__number_ranges, - (ProtobufCMessageInit) pg_query__json_key_value__init, + sizeof(PgQuery__JsonSerializeExpr), + 3, + pg_query__json_serialize_expr__field_descriptors, + pg_query__json_serialize_expr__field_indices_by_name, + 1, pg_query__json_serialize_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_serialize_expr__init, NULL,NULL,NULL /* reserved[123] */ }; static const ProtobufCFieldDescriptor pg_query__json_object_constructor__field_descriptors[5] = @@ -27940,7 +30444,7 @@ const ProtobufCMessageDescriptor pg_query__update_stmt__descriptor = (ProtobufCMessageInit) pg_query__update_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__merge_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__merge_stmt__field_descriptors[6] = { { "relation", @@ -27991,8 +30495,20 @@ static const ProtobufCFieldDescriptor pg_query__merge_stmt__field_descriptors[5] 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", + "returning_list", 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeStmt, n_returning_list), + offsetof(PgQuery__MergeStmt, returning_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "with_clause", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -28007,13 +30523,14 @@ static const unsigned pg_query__merge_stmt__field_indices_by_name[] = { 2, /* field[2] = join_condition */ 3, /* field[3] = merge_when_clauses */ 0, /* field[0] = relation */ + 4, /* field[4] = returning_list */ 1, /* field[1] = source_relation */ - 4, /* field[4] = with_clause */ + 5, /* field[5] = with_clause */ }; static const ProtobufCIntRange pg_query__merge_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; const ProtobufCMessageDescriptor pg_query__merge_stmt__descriptor = { @@ -28023,7 +30540,7 @@ const ProtobufCMessageDescriptor pg_query__merge_stmt__descriptor = "PgQuery__MergeStmt", "pg_query", sizeof(PgQuery__MergeStmt), - 5, + 6, pg_query__merge_stmt__field_descriptors, pg_query__merge_stmt__field_indices_by_name, 1, pg_query__merge_stmt__number_ranges, @@ -29896,7 +32413,7 @@ const ProtobufCMessageDescriptor pg_query__create_stmt__descriptor = (ProtobufCMessageInit) pg_query__create_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30] = +static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[31] = { { "contype", @@ -29947,23 +32464,35 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "skip_validation", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, location), + offsetof(PgQuery__Constraint, skip_validation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_no_inherit", + "initially_valid", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, initially_valid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "is_no_inherit", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ offsetof(PgQuery__Constraint, is_no_inherit), NULL, NULL, @@ -29972,7 +32501,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "raw_expr", - 7, + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -29984,7 +32513,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "cooked_expr", - 8, + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -29996,7 +32525,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "generated_when", - 9, + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30006,9 +32535,21 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "inhcount", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, inhcount), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "nulls_not_distinct", - 10, + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ @@ -30020,7 +32561,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "keys", - 11, + 13, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_keys), @@ -30032,7 +32573,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "including", - 12, + 14, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_including), @@ -30044,7 +32585,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "exclusions", - 13, + 15, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_exclusions), @@ -30056,7 +32597,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "options", - 14, + 16, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_options), @@ -30068,7 +32609,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "indexname", - 15, + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30080,7 +32621,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "indexspace", - 16, + 18, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30092,7 +32633,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "reset_default_tblspc", - 17, + 19, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ @@ -30104,7 +32645,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "access_method", - 18, + 20, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30116,7 +32657,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "where_clause", - 19, + 21, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -30128,7 +32669,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "pktable", - 20, + 22, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ @@ -30140,7 +32681,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "fk_attrs", - 21, + 23, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_fk_attrs), @@ -30152,7 +32693,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "pk_attrs", - 22, + 24, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_pk_attrs), @@ -30164,7 +32705,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "fk_matchtype", - 23, + 25, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30176,7 +32717,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "fk_upd_action", - 24, + 26, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30188,7 +32729,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "fk_del_action", - 25, + 27, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ @@ -30200,7 +32741,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "fk_del_set_cols", - 26, + 28, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_fk_del_set_cols), @@ -30212,7 +32753,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "old_conpfeqop", - 27, + 29, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Constraint, n_old_conpfeqop), @@ -30224,7 +32765,7 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, { "old_pktable_oid", - 28, + 30, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ @@ -30235,24 +32776,12 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "skip_validation", - 29, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, skip_validation), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "initially_valid", - 30, + "location", + 31, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, initially_valid), + offsetof(PgQuery__Constraint, location), NULL, NULL, 0, /* flags */ @@ -30260,41 +32789,42 @@ static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30 }, }; static const unsigned pg_query__constraint__field_indices_by_name[] = { - 17, /* field[17] = access_method */ + 19, /* field[19] = access_method */ 1, /* field[1] = conname */ 0, /* field[0] = contype */ - 7, /* field[7] = cooked_expr */ + 8, /* field[8] = cooked_expr */ 2, /* field[2] = deferrable */ - 12, /* field[12] = exclusions */ - 20, /* field[20] = fk_attrs */ - 24, /* field[24] = fk_del_action */ - 25, /* field[25] = fk_del_set_cols */ - 22, /* field[22] = fk_matchtype */ - 23, /* field[23] = fk_upd_action */ - 8, /* field[8] = generated_when */ - 11, /* field[11] = including */ - 14, /* field[14] = indexname */ - 15, /* field[15] = indexspace */ + 14, /* field[14] = exclusions */ + 22, /* field[22] = fk_attrs */ + 26, /* field[26] = fk_del_action */ + 27, /* field[27] = fk_del_set_cols */ + 24, /* field[24] = fk_matchtype */ + 25, /* field[25] = fk_upd_action */ + 9, /* field[9] = generated_when */ + 13, /* field[13] = including */ + 16, /* field[16] = indexname */ + 17, /* field[17] = indexspace */ + 10, /* field[10] = inhcount */ 3, /* field[3] = initdeferred */ - 29, /* field[29] = initially_valid */ - 5, /* field[5] = is_no_inherit */ - 10, /* field[10] = keys */ - 4, /* field[4] = location */ - 9, /* field[9] = nulls_not_distinct */ - 26, /* field[26] = old_conpfeqop */ - 27, /* field[27] = old_pktable_oid */ - 13, /* field[13] = options */ - 21, /* field[21] = pk_attrs */ - 19, /* field[19] = pktable */ - 6, /* field[6] = raw_expr */ - 16, /* field[16] = reset_default_tblspc */ - 28, /* field[28] = skip_validation */ - 18, /* field[18] = where_clause */ + 5, /* field[5] = initially_valid */ + 6, /* field[6] = is_no_inherit */ + 12, /* field[12] = keys */ + 30, /* field[30] = location */ + 11, /* field[11] = nulls_not_distinct */ + 28, /* field[28] = old_conpfeqop */ + 29, /* field[29] = old_pktable_oid */ + 15, /* field[15] = options */ + 23, /* field[23] = pk_attrs */ + 21, /* field[21] = pktable */ + 7, /* field[7] = raw_expr */ + 18, /* field[18] = reset_default_tblspc */ + 4, /* field[4] = skip_validation */ + 20, /* field[20] = where_clause */ }; static const ProtobufCIntRange pg_query__constraint__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 30 } + { 0, 31 } }; const ProtobufCMessageDescriptor pg_query__constraint__descriptor = { @@ -30304,7 +32834,7 @@ const ProtobufCMessageDescriptor pg_query__constraint__descriptor = "PgQuery__Constraint", "pg_query", sizeof(PgQuery__Constraint), - 30, + 31, pg_query__constraint__field_descriptors, pg_query__constraint__field_indices_by_name, 1, pg_query__constraint__number_ranges, @@ -34119,10 +36649,10 @@ static const ProtobufCFieldDescriptor pg_query__alter_stats_stmt__field_descript "stxstattarget", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ offsetof(PgQuery__AlterStatsStmt, stxstattarget), - NULL, + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -35370,7 +37900,7 @@ const ProtobufCMessageDescriptor pg_query__unlisten_stmt__descriptor = (ProtobufCMessageInit) pg_query__unlisten_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__transaction_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__transaction_stmt__field_descriptors[6] = { { "kind", @@ -35432,18 +37962,31 @@ static const ProtobufCFieldDescriptor pg_query__transaction_stmt__field_descript 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "location", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TransactionStmt, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned pg_query__transaction_stmt__field_indices_by_name[] = { 4, /* field[4] = chain */ 3, /* field[3] = gid */ 0, /* field[0] = kind */ + 5, /* field[5] = location */ 1, /* field[1] = options */ 2, /* field[2] = savepoint_name */ }; static const ProtobufCIntRange pg_query__transaction_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; const ProtobufCMessageDescriptor pg_query__transaction_stmt__descriptor = { @@ -35453,7 +37996,7 @@ const ProtobufCMessageDescriptor pg_query__transaction_stmt__descriptor = "PgQuery__TransactionStmt", "pg_query", sizeof(PgQuery__TransactionStmt), - 5, + 6, pg_query__transaction_stmt__field_descriptors, pg_query__transaction_stmt__field_indices_by_name, 1, pg_query__transaction_stmt__number_ranges, @@ -37180,7 +39723,7 @@ const ProtobufCMessageDescriptor pg_query__execute_stmt__descriptor = (ProtobufCMessageInit) pg_query__execute_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__deallocate_stmt__field_descriptors[1] = +static const ProtobufCFieldDescriptor pg_query__deallocate_stmt__field_descriptors[3] = { { "name", @@ -37194,14 +39737,40 @@ static const ProtobufCFieldDescriptor pg_query__deallocate_stmt__field_descripto 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "isall", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__DeallocateStmt, isall), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__DeallocateStmt, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; static const unsigned pg_query__deallocate_stmt__field_indices_by_name[] = { + 1, /* field[1] = isall */ + 2, /* field[2] = location */ 0, /* field[0] = name */ }; static const ProtobufCIntRange pg_query__deallocate_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 3 } }; const ProtobufCMessageDescriptor pg_query__deallocate_stmt__descriptor = { @@ -37211,7 +39780,7 @@ const ProtobufCMessageDescriptor pg_query__deallocate_stmt__descriptor = "PgQuery__DeallocateStmt", "pg_query", sizeof(PgQuery__DeallocateStmt), - 1, + 3, pg_query__deallocate_stmt__field_descriptors, pg_query__deallocate_stmt__field_indices_by_name, 1, pg_query__deallocate_stmt__number_ranges, @@ -38104,38 +40673,6 @@ const ProtobufCMessageDescriptor pg_query__scan_token__descriptor = (ProtobufCMessageInit) pg_query__scan_token__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCEnumValue pg_query__overriding_kind__enum_values_by_number[4] = -{ - { "OVERRIDING_KIND_UNDEFINED", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED", 0 }, - { "OVERRIDING_NOT_SET", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET", 1 }, - { "OVERRIDING_USER_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE", 2 }, - { "OVERRIDING_SYSTEM_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE", 3 }, -}; -static const ProtobufCIntRange pg_query__overriding_kind__value_ranges[] = { -{0, 0},{0, 4} -}; -static const ProtobufCEnumValueIndex pg_query__overriding_kind__enum_values_by_name[4] = -{ - { "OVERRIDING_KIND_UNDEFINED", 0 }, - { "OVERRIDING_NOT_SET", 1 }, - { "OVERRIDING_SYSTEM_VALUE", 3 }, - { "OVERRIDING_USER_VALUE", 2 }, -}; -const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor = -{ - PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, - "pg_query.OverridingKind", - "OverridingKind", - "PgQuery__OverridingKind", - "pg_query", - 4, - pg_query__overriding_kind__enum_values_by_number, - 4, - pg_query__overriding_kind__enum_values_by_name, - 1, - pg_query__overriding_kind__value_ranges, - NULL,NULL,NULL,NULL /* reserved[1234] */ -}; static const ProtobufCEnumValue pg_query__query_source__enum_values_by_number[6] = { { "QUERY_SOURCE_UNDEFINED", "PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED", 0 }, @@ -38654,6 +41191,74 @@ const ProtobufCEnumDescriptor pg_query__ctematerialize__descriptor = pg_query__ctematerialize__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__json_quotes__enum_values_by_number[4] = +{ + { "JSON_QUOTES_UNDEFINED", "PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED", 0 }, + { "JS_QUOTES_UNSPEC", "PG_QUERY__JSON_QUOTES__JS_QUOTES_UNSPEC", 1 }, + { "JS_QUOTES_KEEP", "PG_QUERY__JSON_QUOTES__JS_QUOTES_KEEP", 2 }, + { "JS_QUOTES_OMIT", "PG_QUERY__JSON_QUOTES__JS_QUOTES_OMIT", 3 }, +}; +static const ProtobufCIntRange pg_query__json_quotes__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__json_quotes__enum_values_by_name[4] = +{ + { "JSON_QUOTES_UNDEFINED", 0 }, + { "JS_QUOTES_KEEP", 2 }, + { "JS_QUOTES_OMIT", 3 }, + { "JS_QUOTES_UNSPEC", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__json_quotes__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonQuotes", + "JsonQuotes", + "PgQuery__JsonQuotes", + "pg_query", + 4, + pg_query__json_quotes__enum_values_by_number, + 4, + pg_query__json_quotes__enum_values_by_name, + 1, + pg_query__json_quotes__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_table_column_type__enum_values_by_number[6] = +{ + { "JSON_TABLE_COLUMN_TYPE_UNDEFINED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED", 0 }, + { "JTC_FOR_ORDINALITY", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FOR_ORDINALITY", 1 }, + { "JTC_REGULAR", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_REGULAR", 2 }, + { "JTC_EXISTS", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_EXISTS", 3 }, + { "JTC_FORMATTED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FORMATTED", 4 }, + { "JTC_NESTED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_NESTED", 5 }, +}; +static const ProtobufCIntRange pg_query__json_table_column_type__value_ranges[] = { +{0, 0},{0, 6} +}; +static const ProtobufCEnumValueIndex pg_query__json_table_column_type__enum_values_by_name[6] = +{ + { "JSON_TABLE_COLUMN_TYPE_UNDEFINED", 0 }, + { "JTC_EXISTS", 3 }, + { "JTC_FORMATTED", 4 }, + { "JTC_FOR_ORDINALITY", 1 }, + { "JTC_NESTED", 5 }, + { "JTC_REGULAR", 2 }, +}; +const ProtobufCEnumDescriptor pg_query__json_table_column_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonTableColumnType", + "JsonTableColumnType", + "PgQuery__JsonTableColumnType", + "pg_query", + 6, + pg_query__json_table_column_type__enum_values_by_number, + 6, + pg_query__json_table_column_type__enum_values_by_name, + 1, + pg_query__json_table_column_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__set_operation__enum_values_by_number[5] = { { "SET_OPERATION_UNDEFINED", "PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED", 0 }, @@ -38848,7 +41453,7 @@ const ProtobufCEnumDescriptor pg_query__drop_behavior__descriptor = pg_query__drop_behavior__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_number[67] = +static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_number[68] = { { "ALTER_TABLE_TYPE_UNDEFINED", "PG_QUERY__ALTER_TABLE_TYPE__ALTER_TABLE_TYPE_UNDEFINED", 0 }, { "AT_AddColumn", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumn", 1 }, @@ -38857,139 +41462,141 @@ static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_numbe { "AT_CookedColumnDefault", "PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault", 4 }, { "AT_DropNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull", 5 }, { "AT_SetNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull", 6 }, - { "AT_DropExpression", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression", 7 }, - { "AT_CheckNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull", 8 }, - { "AT_SetStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics", 9 }, - { "AT_SetOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetOptions", 10 }, - { "AT_ResetOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetOptions", 11 }, - { "AT_SetStorage", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage", 12 }, - { "AT_SetCompression", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression", 13 }, - { "AT_DropColumn", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn", 14 }, - { "AT_AddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex", 15 }, - { "AT_ReAddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex", 16 }, - { "AT_AddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint", 17 }, - { "AT_ReAddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint", 18 }, - { "AT_ReAddDomainConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint", 19 }, - { "AT_AlterConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint", 20 }, - { "AT_ValidateConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint", 21 }, - { "AT_AddIndexConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint", 22 }, - { "AT_DropConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint", 23 }, - { "AT_ReAddComment", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment", 24 }, - { "AT_AlterColumnType", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType", 25 }, - { "AT_AlterColumnGenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions", 26 }, - { "AT_ChangeOwner", "PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner", 27 }, - { "AT_ClusterOn", "PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn", 28 }, - { "AT_DropCluster", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster", 29 }, - { "AT_SetLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged", 30 }, - { "AT_SetUnLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged", 31 }, - { "AT_DropOids", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids", 32 }, - { "AT_SetAccessMethod", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod", 33 }, - { "AT_SetTableSpace", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace", 34 }, - { "AT_SetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions", 35 }, - { "AT_ResetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions", 36 }, - { "AT_ReplaceRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions", 37 }, - { "AT_EnableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig", 38 }, - { "AT_EnableAlwaysTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig", 39 }, - { "AT_EnableReplicaTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig", 40 }, - { "AT_DisableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig", 41 }, - { "AT_EnableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll", 42 }, - { "AT_DisableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll", 43 }, - { "AT_EnableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser", 44 }, - { "AT_DisableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser", 45 }, - { "AT_EnableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule", 46 }, - { "AT_EnableAlwaysRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule", 47 }, - { "AT_EnableReplicaRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule", 48 }, - { "AT_DisableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule", 49 }, - { "AT_AddInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit", 50 }, - { "AT_DropInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit", 51 }, - { "AT_AddOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf", 52 }, - { "AT_DropOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf", 53 }, - { "AT_ReplicaIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity", 54 }, - { "AT_EnableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity", 55 }, - { "AT_DisableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity", 56 }, - { "AT_ForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity", 57 }, - { "AT_NoForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity", 58 }, - { "AT_GenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions", 59 }, - { "AT_AttachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition", 60 }, - { "AT_DetachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition", 61 }, - { "AT_DetachPartitionFinalize", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize", 62 }, - { "AT_AddIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity", 63 }, - { "AT_SetIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity", 64 }, - { "AT_DropIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity", 65 }, - { "AT_ReAddStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics", 66 }, + { "AT_SetExpression", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetExpression", 7 }, + { "AT_DropExpression", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression", 8 }, + { "AT_CheckNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull", 9 }, + { "AT_SetStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics", 10 }, + { "AT_SetOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetOptions", 11 }, + { "AT_ResetOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetOptions", 12 }, + { "AT_SetStorage", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage", 13 }, + { "AT_SetCompression", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression", 14 }, + { "AT_DropColumn", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn", 15 }, + { "AT_AddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex", 16 }, + { "AT_ReAddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex", 17 }, + { "AT_AddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint", 18 }, + { "AT_ReAddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint", 19 }, + { "AT_ReAddDomainConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint", 20 }, + { "AT_AlterConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint", 21 }, + { "AT_ValidateConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint", 22 }, + { "AT_AddIndexConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint", 23 }, + { "AT_DropConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint", 24 }, + { "AT_ReAddComment", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment", 25 }, + { "AT_AlterColumnType", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType", 26 }, + { "AT_AlterColumnGenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions", 27 }, + { "AT_ChangeOwner", "PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner", 28 }, + { "AT_ClusterOn", "PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn", 29 }, + { "AT_DropCluster", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster", 30 }, + { "AT_SetLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged", 31 }, + { "AT_SetUnLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged", 32 }, + { "AT_DropOids", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids", 33 }, + { "AT_SetAccessMethod", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod", 34 }, + { "AT_SetTableSpace", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace", 35 }, + { "AT_SetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions", 36 }, + { "AT_ResetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions", 37 }, + { "AT_ReplaceRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions", 38 }, + { "AT_EnableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig", 39 }, + { "AT_EnableAlwaysTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig", 40 }, + { "AT_EnableReplicaTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig", 41 }, + { "AT_DisableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig", 42 }, + { "AT_EnableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll", 43 }, + { "AT_DisableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll", 44 }, + { "AT_EnableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser", 45 }, + { "AT_DisableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser", 46 }, + { "AT_EnableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule", 47 }, + { "AT_EnableAlwaysRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule", 48 }, + { "AT_EnableReplicaRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule", 49 }, + { "AT_DisableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule", 50 }, + { "AT_AddInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit", 51 }, + { "AT_DropInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit", 52 }, + { "AT_AddOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf", 53 }, + { "AT_DropOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf", 54 }, + { "AT_ReplicaIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity", 55 }, + { "AT_EnableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity", 56 }, + { "AT_DisableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity", 57 }, + { "AT_ForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity", 58 }, + { "AT_NoForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity", 59 }, + { "AT_GenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions", 60 }, + { "AT_AttachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition", 61 }, + { "AT_DetachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition", 62 }, + { "AT_DetachPartitionFinalize", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize", 63 }, + { "AT_AddIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity", 64 }, + { "AT_SetIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity", 65 }, + { "AT_DropIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity", 66 }, + { "AT_ReAddStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics", 67 }, }; static const ProtobufCIntRange pg_query__alter_table_type__value_ranges[] = { -{0, 0},{0, 67} +{0, 0},{0, 68} }; -static const ProtobufCEnumValueIndex pg_query__alter_table_type__enum_values_by_name[67] = +static const ProtobufCEnumValueIndex pg_query__alter_table_type__enum_values_by_name[68] = { { "ALTER_TABLE_TYPE_UNDEFINED", 0 }, { "AT_AddColumn", 1 }, { "AT_AddColumnToView", 2 }, - { "AT_AddConstraint", 17 }, - { "AT_AddIdentity", 63 }, - { "AT_AddIndex", 15 }, - { "AT_AddIndexConstraint", 22 }, - { "AT_AddInherit", 50 }, - { "AT_AddOf", 52 }, - { "AT_AlterColumnGenericOptions", 26 }, - { "AT_AlterColumnType", 25 }, - { "AT_AlterConstraint", 20 }, - { "AT_AttachPartition", 60 }, - { "AT_ChangeOwner", 27 }, - { "AT_CheckNotNull", 8 }, - { "AT_ClusterOn", 28 }, + { "AT_AddConstraint", 18 }, + { "AT_AddIdentity", 64 }, + { "AT_AddIndex", 16 }, + { "AT_AddIndexConstraint", 23 }, + { "AT_AddInherit", 51 }, + { "AT_AddOf", 53 }, + { "AT_AlterColumnGenericOptions", 27 }, + { "AT_AlterColumnType", 26 }, + { "AT_AlterConstraint", 21 }, + { "AT_AttachPartition", 61 }, + { "AT_ChangeOwner", 28 }, + { "AT_CheckNotNull", 9 }, + { "AT_ClusterOn", 29 }, { "AT_ColumnDefault", 3 }, { "AT_CookedColumnDefault", 4 }, - { "AT_DetachPartition", 61 }, - { "AT_DetachPartitionFinalize", 62 }, - { "AT_DisableRowSecurity", 56 }, - { "AT_DisableRule", 49 }, - { "AT_DisableTrig", 41 }, - { "AT_DisableTrigAll", 43 }, - { "AT_DisableTrigUser", 45 }, - { "AT_DropCluster", 29 }, - { "AT_DropColumn", 14 }, - { "AT_DropConstraint", 23 }, - { "AT_DropExpression", 7 }, - { "AT_DropIdentity", 65 }, - { "AT_DropInherit", 51 }, + { "AT_DetachPartition", 62 }, + { "AT_DetachPartitionFinalize", 63 }, + { "AT_DisableRowSecurity", 57 }, + { "AT_DisableRule", 50 }, + { "AT_DisableTrig", 42 }, + { "AT_DisableTrigAll", 44 }, + { "AT_DisableTrigUser", 46 }, + { "AT_DropCluster", 30 }, + { "AT_DropColumn", 15 }, + { "AT_DropConstraint", 24 }, + { "AT_DropExpression", 8 }, + { "AT_DropIdentity", 66 }, + { "AT_DropInherit", 52 }, { "AT_DropNotNull", 5 }, - { "AT_DropOf", 53 }, - { "AT_DropOids", 32 }, - { "AT_EnableAlwaysRule", 47 }, - { "AT_EnableAlwaysTrig", 39 }, - { "AT_EnableReplicaRule", 48 }, - { "AT_EnableReplicaTrig", 40 }, - { "AT_EnableRowSecurity", 55 }, - { "AT_EnableRule", 46 }, - { "AT_EnableTrig", 38 }, - { "AT_EnableTrigAll", 42 }, - { "AT_EnableTrigUser", 44 }, - { "AT_ForceRowSecurity", 57 }, - { "AT_GenericOptions", 59 }, - { "AT_NoForceRowSecurity", 58 }, - { "AT_ReAddComment", 24 }, - { "AT_ReAddConstraint", 18 }, - { "AT_ReAddDomainConstraint", 19 }, - { "AT_ReAddIndex", 16 }, - { "AT_ReAddStatistics", 66 }, - { "AT_ReplaceRelOptions", 37 }, - { "AT_ReplicaIdentity", 54 }, - { "AT_ResetOptions", 11 }, - { "AT_ResetRelOptions", 36 }, - { "AT_SetAccessMethod", 33 }, - { "AT_SetCompression", 13 }, - { "AT_SetIdentity", 64 }, - { "AT_SetLogged", 30 }, + { "AT_DropOf", 54 }, + { "AT_DropOids", 33 }, + { "AT_EnableAlwaysRule", 48 }, + { "AT_EnableAlwaysTrig", 40 }, + { "AT_EnableReplicaRule", 49 }, + { "AT_EnableReplicaTrig", 41 }, + { "AT_EnableRowSecurity", 56 }, + { "AT_EnableRule", 47 }, + { "AT_EnableTrig", 39 }, + { "AT_EnableTrigAll", 43 }, + { "AT_EnableTrigUser", 45 }, + { "AT_ForceRowSecurity", 58 }, + { "AT_GenericOptions", 60 }, + { "AT_NoForceRowSecurity", 59 }, + { "AT_ReAddComment", 25 }, + { "AT_ReAddConstraint", 19 }, + { "AT_ReAddDomainConstraint", 20 }, + { "AT_ReAddIndex", 17 }, + { "AT_ReAddStatistics", 67 }, + { "AT_ReplaceRelOptions", 38 }, + { "AT_ReplicaIdentity", 55 }, + { "AT_ResetOptions", 12 }, + { "AT_ResetRelOptions", 37 }, + { "AT_SetAccessMethod", 34 }, + { "AT_SetCompression", 14 }, + { "AT_SetExpression", 7 }, + { "AT_SetIdentity", 65 }, + { "AT_SetLogged", 31 }, { "AT_SetNotNull", 6 }, - { "AT_SetOptions", 10 }, - { "AT_SetRelOptions", 35 }, - { "AT_SetStatistics", 9 }, - { "AT_SetStorage", 12 }, - { "AT_SetTableSpace", 34 }, - { "AT_SetUnLogged", 31 }, - { "AT_ValidateConstraint", 21 }, + { "AT_SetOptions", 11 }, + { "AT_SetRelOptions", 36 }, + { "AT_SetStatistics", 10 }, + { "AT_SetStorage", 13 }, + { "AT_SetTableSpace", 35 }, + { "AT_SetUnLogged", 32 }, + { "AT_ValidateConstraint", 22 }, }; const ProtobufCEnumDescriptor pg_query__alter_table_type__descriptor = { @@ -38998,9 +41605,9 @@ const ProtobufCEnumDescriptor pg_query__alter_table_type__descriptor = "AlterTableType", "PgQuery__AlterTableType", "pg_query", - 67, + 68, pg_query__alter_table_type__enum_values_by_number, - 67, + 68, pg_query__alter_table_type__enum_values_by_name, 1, pg_query__alter_table_type__value_ranges, @@ -39558,6 +42165,38 @@ const ProtobufCEnumDescriptor pg_query__alter_subscription_type__descriptor = pg_query__alter_subscription_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__overriding_kind__enum_values_by_number[4] = +{ + { "OVERRIDING_KIND_UNDEFINED", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED", 0 }, + { "OVERRIDING_NOT_SET", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET", 1 }, + { "OVERRIDING_USER_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE", 2 }, + { "OVERRIDING_SYSTEM_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE", 3 }, +}; +static const ProtobufCIntRange pg_query__overriding_kind__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__overriding_kind__enum_values_by_name[4] = +{ + { "OVERRIDING_KIND_UNDEFINED", 0 }, + { "OVERRIDING_NOT_SET", 1 }, + { "OVERRIDING_SYSTEM_VALUE", 3 }, + { "OVERRIDING_USER_VALUE", 2 }, +}; +const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.OverridingKind", + "OverridingKind", + "PgQuery__OverridingKind", + "pg_query", + 4, + pg_query__overriding_kind__enum_values_by_number, + 4, + pg_query__overriding_kind__enum_values_by_name, + 1, + pg_query__overriding_kind__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__on_commit_action__enum_values_by_number[5] = { { "ON_COMMIT_ACTION_UNDEFINED", "PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED", 0 }, @@ -39592,6 +42231,36 @@ const ProtobufCEnumDescriptor pg_query__on_commit_action__descriptor = pg_query__on_commit_action__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__table_func_type__enum_values_by_number[3] = +{ + { "TABLE_FUNC_TYPE_UNDEFINED", "PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED", 0 }, + { "TFT_XMLTABLE", "PG_QUERY__TABLE_FUNC_TYPE__TFT_XMLTABLE", 1 }, + { "TFT_JSON_TABLE", "PG_QUERY__TABLE_FUNC_TYPE__TFT_JSON_TABLE", 2 }, +}; +static const ProtobufCIntRange pg_query__table_func_type__value_ranges[] = { +{0, 0},{0, 3} +}; +static const ProtobufCEnumValueIndex pg_query__table_func_type__enum_values_by_name[3] = +{ + { "TABLE_FUNC_TYPE_UNDEFINED", 0 }, + { "TFT_JSON_TABLE", 2 }, + { "TFT_XMLTABLE", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__table_func_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.TableFuncType", + "TableFuncType", + "PgQuery__TableFuncType", + "pg_query", + 3, + pg_query__table_func_type__enum_values_by_number, + 3, + pg_query__table_func_type__enum_values_by_name, + 1, + pg_query__table_func_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__param_kind__enum_values_by_number[5] = { { "PARAM_KIND_UNDEFINED", "PG_QUERY__PARAM_KIND__PARAM_KIND_UNDEFINED", 0 }, @@ -40030,23 +42699,29 @@ const ProtobufCEnumDescriptor pg_query__json_format_type__descriptor = pg_query__json_format_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__json_constructor_type__enum_values_by_number[5] = +static const ProtobufCEnumValue pg_query__json_constructor_type__enum_values_by_number[8] = { { "JSON_CONSTRUCTOR_TYPE_UNDEFINED", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSON_CONSTRUCTOR_TYPE_UNDEFINED", 0 }, { "JSCTOR_JSON_OBJECT", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECT", 1 }, { "JSCTOR_JSON_ARRAY", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAY", 2 }, { "JSCTOR_JSON_OBJECTAGG", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECTAGG", 3 }, { "JSCTOR_JSON_ARRAYAGG", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAYAGG", 4 }, + { "JSCTOR_JSON_PARSE", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_PARSE", 5 }, + { "JSCTOR_JSON_SCALAR", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SCALAR", 6 }, + { "JSCTOR_JSON_SERIALIZE", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SERIALIZE", 7 }, }; static const ProtobufCIntRange pg_query__json_constructor_type__value_ranges[] = { -{0, 0},{0, 5} +{0, 0},{0, 8} }; -static const ProtobufCEnumValueIndex pg_query__json_constructor_type__enum_values_by_name[5] = +static const ProtobufCEnumValueIndex pg_query__json_constructor_type__enum_values_by_name[8] = { { "JSCTOR_JSON_ARRAY", 2 }, { "JSCTOR_JSON_ARRAYAGG", 4 }, { "JSCTOR_JSON_OBJECT", 1 }, { "JSCTOR_JSON_OBJECTAGG", 3 }, + { "JSCTOR_JSON_PARSE", 5 }, + { "JSCTOR_JSON_SCALAR", 6 }, + { "JSCTOR_JSON_SERIALIZE", 7 }, { "JSON_CONSTRUCTOR_TYPE_UNDEFINED", 0 }, }; const ProtobufCEnumDescriptor pg_query__json_constructor_type__descriptor = @@ -40056,9 +42731,9 @@ const ProtobufCEnumDescriptor pg_query__json_constructor_type__descriptor = "JsonConstructorType", "PgQuery__JsonConstructorType", "pg_query", - 5, + 8, pg_query__json_constructor_type__enum_values_by_number, - 5, + 8, pg_query__json_constructor_type__enum_values_by_name, 1, pg_query__json_constructor_type__value_ranges, @@ -40098,6 +42773,118 @@ const ProtobufCEnumDescriptor pg_query__json_value_type__descriptor = pg_query__json_value_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__json_wrapper__enum_values_by_number[5] = +{ + { "JSON_WRAPPER_UNDEFINED", "PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED", 0 }, + { "JSW_UNSPEC", "PG_QUERY__JSON_WRAPPER__JSW_UNSPEC", 1 }, + { "JSW_NONE", "PG_QUERY__JSON_WRAPPER__JSW_NONE", 2 }, + { "JSW_CONDITIONAL", "PG_QUERY__JSON_WRAPPER__JSW_CONDITIONAL", 3 }, + { "JSW_UNCONDITIONAL", "PG_QUERY__JSON_WRAPPER__JSW_UNCONDITIONAL", 4 }, +}; +static const ProtobufCIntRange pg_query__json_wrapper__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_wrapper__enum_values_by_name[5] = +{ + { "JSON_WRAPPER_UNDEFINED", 0 }, + { "JSW_CONDITIONAL", 3 }, + { "JSW_NONE", 2 }, + { "JSW_UNCONDITIONAL", 4 }, + { "JSW_UNSPEC", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__json_wrapper__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonWrapper", + "JsonWrapper", + "PgQuery__JsonWrapper", + "pg_query", + 5, + pg_query__json_wrapper__enum_values_by_number, + 5, + pg_query__json_wrapper__enum_values_by_name, + 1, + pg_query__json_wrapper__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_behavior_type__enum_values_by_number[10] = +{ + { "JSON_BEHAVIOR_TYPE_UNDEFINED", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED", 0 }, + { "JSON_BEHAVIOR_NULL", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_NULL", 1 }, + { "JSON_BEHAVIOR_ERROR", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_ERROR", 2 }, + { "JSON_BEHAVIOR_EMPTY", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY", 3 }, + { "JSON_BEHAVIOR_TRUE", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TRUE", 4 }, + { "JSON_BEHAVIOR_FALSE", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_FALSE", 5 }, + { "JSON_BEHAVIOR_UNKNOWN", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_UNKNOWN", 6 }, + { "JSON_BEHAVIOR_EMPTY_ARRAY", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_ARRAY", 7 }, + { "JSON_BEHAVIOR_EMPTY_OBJECT", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_OBJECT", 8 }, + { "JSON_BEHAVIOR_DEFAULT", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_DEFAULT", 9 }, +}; +static const ProtobufCIntRange pg_query__json_behavior_type__value_ranges[] = { +{0, 0},{0, 10} +}; +static const ProtobufCEnumValueIndex pg_query__json_behavior_type__enum_values_by_name[10] = +{ + { "JSON_BEHAVIOR_DEFAULT", 9 }, + { "JSON_BEHAVIOR_EMPTY", 3 }, + { "JSON_BEHAVIOR_EMPTY_ARRAY", 7 }, + { "JSON_BEHAVIOR_EMPTY_OBJECT", 8 }, + { "JSON_BEHAVIOR_ERROR", 2 }, + { "JSON_BEHAVIOR_FALSE", 5 }, + { "JSON_BEHAVIOR_NULL", 1 }, + { "JSON_BEHAVIOR_TRUE", 4 }, + { "JSON_BEHAVIOR_TYPE_UNDEFINED", 0 }, + { "JSON_BEHAVIOR_UNKNOWN", 6 }, +}; +const ProtobufCEnumDescriptor pg_query__json_behavior_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonBehaviorType", + "JsonBehaviorType", + "PgQuery__JsonBehaviorType", + "pg_query", + 10, + pg_query__json_behavior_type__enum_values_by_number, + 10, + pg_query__json_behavior_type__enum_values_by_name, + 1, + pg_query__json_behavior_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_expr_op__enum_values_by_number[5] = +{ + { "JSON_EXPR_OP_UNDEFINED", "PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED", 0 }, + { "JSON_EXISTS_OP", "PG_QUERY__JSON_EXPR_OP__JSON_EXISTS_OP", 1 }, + { "JSON_QUERY_OP", "PG_QUERY__JSON_EXPR_OP__JSON_QUERY_OP", 2 }, + { "JSON_VALUE_OP", "PG_QUERY__JSON_EXPR_OP__JSON_VALUE_OP", 3 }, + { "JSON_TABLE_OP", "PG_QUERY__JSON_EXPR_OP__JSON_TABLE_OP", 4 }, +}; +static const ProtobufCIntRange pg_query__json_expr_op__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_expr_op__enum_values_by_name[5] = +{ + { "JSON_EXISTS_OP", 1 }, + { "JSON_EXPR_OP_UNDEFINED", 0 }, + { "JSON_QUERY_OP", 2 }, + { "JSON_TABLE_OP", 4 }, + { "JSON_VALUE_OP", 3 }, +}; +const ProtobufCEnumDescriptor pg_query__json_expr_op__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonExprOp", + "JsonExprOp", + "PgQuery__JsonExprOp", + "pg_query", + 5, + pg_query__json_expr_op__enum_values_by_number, + 5, + pg_query__json_expr_op__enum_values_by_name, + 1, + pg_query__json_expr_op__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__null_test_type__enum_values_by_number[3] = { { "NULL_TEST_TYPE_UNDEFINED", "PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED", 0 }, @@ -40166,6 +42953,38 @@ const ProtobufCEnumDescriptor pg_query__bool_test_type__descriptor = pg_query__bool_test_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__merge_match_kind__enum_values_by_number[4] = +{ + { "MERGE_MATCH_KIND_UNDEFINED", "PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED", 0 }, + { "MERGE_WHEN_MATCHED", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_MATCHED", 1 }, + { "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_SOURCE", 2 }, + { "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_TARGET", 3 }, +}; +static const ProtobufCIntRange pg_query__merge_match_kind__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__merge_match_kind__enum_values_by_name[4] = +{ + { "MERGE_MATCH_KIND_UNDEFINED", 0 }, + { "MERGE_WHEN_MATCHED", 1 }, + { "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", 2 }, + { "MERGE_WHEN_NOT_MATCHED_BY_TARGET", 3 }, +}; +const ProtobufCEnumDescriptor pg_query__merge_match_kind__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.MergeMatchKind", + "MergeMatchKind", + "PgQuery__MergeMatchKind", + "pg_query", + 4, + pg_query__merge_match_kind__enum_values_by_number, + 4, + pg_query__merge_match_kind__enum_values_by_name, + 1, + pg_query__merge_match_kind__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__cmd_type__enum_values_by_number[9] = { { "CMD_TYPE_UNDEFINED", "PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED", 0 }, @@ -40582,7 +43401,7 @@ const ProtobufCEnumDescriptor pg_query__keyword_kind__descriptor = pg_query__keyword_kind__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__token__enum_values_by_number[522] = +static const ProtobufCEnumValue pg_query__token__enum_values_by_number[542] = { { "NUL", "PG_QUERY__TOKEN__NUL", 0 }, { "ASCII_36", "PG_QUERY__TOKEN__ASCII_36", 36 }, @@ -40692,425 +43511,445 @@ static const ProtobufCEnumValue pg_query__token__enum_values_by_number[522] = { "COMMITTED", "PG_QUERY__TOKEN__COMMITTED", 342 }, { "COMPRESSION", "PG_QUERY__TOKEN__COMPRESSION", 343 }, { "CONCURRENTLY", "PG_QUERY__TOKEN__CONCURRENTLY", 344 }, - { "CONFIGURATION", "PG_QUERY__TOKEN__CONFIGURATION", 345 }, - { "CONFLICT", "PG_QUERY__TOKEN__CONFLICT", 346 }, - { "CONNECTION", "PG_QUERY__TOKEN__CONNECTION", 347 }, - { "CONSTRAINT", "PG_QUERY__TOKEN__CONSTRAINT", 348 }, - { "CONSTRAINTS", "PG_QUERY__TOKEN__CONSTRAINTS", 349 }, - { "CONTENT_P", "PG_QUERY__TOKEN__CONTENT_P", 350 }, - { "CONTINUE_P", "PG_QUERY__TOKEN__CONTINUE_P", 351 }, - { "CONVERSION_P", "PG_QUERY__TOKEN__CONVERSION_P", 352 }, - { "COPY", "PG_QUERY__TOKEN__COPY", 353 }, - { "COST", "PG_QUERY__TOKEN__COST", 354 }, - { "CREATE", "PG_QUERY__TOKEN__CREATE", 355 }, - { "CROSS", "PG_QUERY__TOKEN__CROSS", 356 }, - { "CSV", "PG_QUERY__TOKEN__CSV", 357 }, - { "CUBE", "PG_QUERY__TOKEN__CUBE", 358 }, - { "CURRENT_P", "PG_QUERY__TOKEN__CURRENT_P", 359 }, - { "CURRENT_CATALOG", "PG_QUERY__TOKEN__CURRENT_CATALOG", 360 }, - { "CURRENT_DATE", "PG_QUERY__TOKEN__CURRENT_DATE", 361 }, - { "CURRENT_ROLE", "PG_QUERY__TOKEN__CURRENT_ROLE", 362 }, - { "CURRENT_SCHEMA", "PG_QUERY__TOKEN__CURRENT_SCHEMA", 363 }, - { "CURRENT_TIME", "PG_QUERY__TOKEN__CURRENT_TIME", 364 }, - { "CURRENT_TIMESTAMP", "PG_QUERY__TOKEN__CURRENT_TIMESTAMP", 365 }, - { "CURRENT_USER", "PG_QUERY__TOKEN__CURRENT_USER", 366 }, - { "CURSOR", "PG_QUERY__TOKEN__CURSOR", 367 }, - { "CYCLE", "PG_QUERY__TOKEN__CYCLE", 368 }, - { "DATA_P", "PG_QUERY__TOKEN__DATA_P", 369 }, - { "DATABASE", "PG_QUERY__TOKEN__DATABASE", 370 }, - { "DAY_P", "PG_QUERY__TOKEN__DAY_P", 371 }, - { "DEALLOCATE", "PG_QUERY__TOKEN__DEALLOCATE", 372 }, - { "DEC", "PG_QUERY__TOKEN__DEC", 373 }, - { "DECIMAL_P", "PG_QUERY__TOKEN__DECIMAL_P", 374 }, - { "DECLARE", "PG_QUERY__TOKEN__DECLARE", 375 }, - { "DEFAULT", "PG_QUERY__TOKEN__DEFAULT", 376 }, - { "DEFAULTS", "PG_QUERY__TOKEN__DEFAULTS", 377 }, - { "DEFERRABLE", "PG_QUERY__TOKEN__DEFERRABLE", 378 }, - { "DEFERRED", "PG_QUERY__TOKEN__DEFERRED", 379 }, - { "DEFINER", "PG_QUERY__TOKEN__DEFINER", 380 }, - { "DELETE_P", "PG_QUERY__TOKEN__DELETE_P", 381 }, - { "DELIMITER", "PG_QUERY__TOKEN__DELIMITER", 382 }, - { "DELIMITERS", "PG_QUERY__TOKEN__DELIMITERS", 383 }, - { "DEPENDS", "PG_QUERY__TOKEN__DEPENDS", 384 }, - { "DEPTH", "PG_QUERY__TOKEN__DEPTH", 385 }, - { "DESC", "PG_QUERY__TOKEN__DESC", 386 }, - { "DETACH", "PG_QUERY__TOKEN__DETACH", 387 }, - { "DICTIONARY", "PG_QUERY__TOKEN__DICTIONARY", 388 }, - { "DISABLE_P", "PG_QUERY__TOKEN__DISABLE_P", 389 }, - { "DISCARD", "PG_QUERY__TOKEN__DISCARD", 390 }, - { "DISTINCT", "PG_QUERY__TOKEN__DISTINCT", 391 }, - { "DO", "PG_QUERY__TOKEN__DO", 392 }, - { "DOCUMENT_P", "PG_QUERY__TOKEN__DOCUMENT_P", 393 }, - { "DOMAIN_P", "PG_QUERY__TOKEN__DOMAIN_P", 394 }, - { "DOUBLE_P", "PG_QUERY__TOKEN__DOUBLE_P", 395 }, - { "DROP", "PG_QUERY__TOKEN__DROP", 396 }, - { "EACH", "PG_QUERY__TOKEN__EACH", 397 }, - { "ELSE", "PG_QUERY__TOKEN__ELSE", 398 }, - { "ENABLE_P", "PG_QUERY__TOKEN__ENABLE_P", 399 }, - { "ENCODING", "PG_QUERY__TOKEN__ENCODING", 400 }, - { "ENCRYPTED", "PG_QUERY__TOKEN__ENCRYPTED", 401 }, - { "END_P", "PG_QUERY__TOKEN__END_P", 402 }, - { "ENUM_P", "PG_QUERY__TOKEN__ENUM_P", 403 }, - { "ESCAPE", "PG_QUERY__TOKEN__ESCAPE", 404 }, - { "EVENT", "PG_QUERY__TOKEN__EVENT", 405 }, - { "EXCEPT", "PG_QUERY__TOKEN__EXCEPT", 406 }, - { "EXCLUDE", "PG_QUERY__TOKEN__EXCLUDE", 407 }, - { "EXCLUDING", "PG_QUERY__TOKEN__EXCLUDING", 408 }, - { "EXCLUSIVE", "PG_QUERY__TOKEN__EXCLUSIVE", 409 }, - { "EXECUTE", "PG_QUERY__TOKEN__EXECUTE", 410 }, - { "EXISTS", "PG_QUERY__TOKEN__EXISTS", 411 }, - { "EXPLAIN", "PG_QUERY__TOKEN__EXPLAIN", 412 }, - { "EXPRESSION", "PG_QUERY__TOKEN__EXPRESSION", 413 }, - { "EXTENSION", "PG_QUERY__TOKEN__EXTENSION", 414 }, - { "EXTERNAL", "PG_QUERY__TOKEN__EXTERNAL", 415 }, - { "EXTRACT", "PG_QUERY__TOKEN__EXTRACT", 416 }, - { "FALSE_P", "PG_QUERY__TOKEN__FALSE_P", 417 }, - { "FAMILY", "PG_QUERY__TOKEN__FAMILY", 418 }, - { "FETCH", "PG_QUERY__TOKEN__FETCH", 419 }, - { "FILTER", "PG_QUERY__TOKEN__FILTER", 420 }, - { "FINALIZE", "PG_QUERY__TOKEN__FINALIZE", 421 }, - { "FIRST_P", "PG_QUERY__TOKEN__FIRST_P", 422 }, - { "FLOAT_P", "PG_QUERY__TOKEN__FLOAT_P", 423 }, - { "FOLLOWING", "PG_QUERY__TOKEN__FOLLOWING", 424 }, - { "FOR", "PG_QUERY__TOKEN__FOR", 425 }, - { "FORCE", "PG_QUERY__TOKEN__FORCE", 426 }, - { "FOREIGN", "PG_QUERY__TOKEN__FOREIGN", 427 }, - { "FORMAT", "PG_QUERY__TOKEN__FORMAT", 428 }, - { "FORWARD", "PG_QUERY__TOKEN__FORWARD", 429 }, - { "FREEZE", "PG_QUERY__TOKEN__FREEZE", 430 }, - { "FROM", "PG_QUERY__TOKEN__FROM", 431 }, - { "FULL", "PG_QUERY__TOKEN__FULL", 432 }, - { "FUNCTION", "PG_QUERY__TOKEN__FUNCTION", 433 }, - { "FUNCTIONS", "PG_QUERY__TOKEN__FUNCTIONS", 434 }, - { "GENERATED", "PG_QUERY__TOKEN__GENERATED", 435 }, - { "GLOBAL", "PG_QUERY__TOKEN__GLOBAL", 436 }, - { "GRANT", "PG_QUERY__TOKEN__GRANT", 437 }, - { "GRANTED", "PG_QUERY__TOKEN__GRANTED", 438 }, - { "GREATEST", "PG_QUERY__TOKEN__GREATEST", 439 }, - { "GROUP_P", "PG_QUERY__TOKEN__GROUP_P", 440 }, - { "GROUPING", "PG_QUERY__TOKEN__GROUPING", 441 }, - { "GROUPS", "PG_QUERY__TOKEN__GROUPS", 442 }, - { "HANDLER", "PG_QUERY__TOKEN__HANDLER", 443 }, - { "HAVING", "PG_QUERY__TOKEN__HAVING", 444 }, - { "HEADER_P", "PG_QUERY__TOKEN__HEADER_P", 445 }, - { "HOLD", "PG_QUERY__TOKEN__HOLD", 446 }, - { "HOUR_P", "PG_QUERY__TOKEN__HOUR_P", 447 }, - { "IDENTITY_P", "PG_QUERY__TOKEN__IDENTITY_P", 448 }, - { "IF_P", "PG_QUERY__TOKEN__IF_P", 449 }, - { "ILIKE", "PG_QUERY__TOKEN__ILIKE", 450 }, - { "IMMEDIATE", "PG_QUERY__TOKEN__IMMEDIATE", 451 }, - { "IMMUTABLE", "PG_QUERY__TOKEN__IMMUTABLE", 452 }, - { "IMPLICIT_P", "PG_QUERY__TOKEN__IMPLICIT_P", 453 }, - { "IMPORT_P", "PG_QUERY__TOKEN__IMPORT_P", 454 }, - { "IN_P", "PG_QUERY__TOKEN__IN_P", 455 }, - { "INCLUDE", "PG_QUERY__TOKEN__INCLUDE", 456 }, - { "INCLUDING", "PG_QUERY__TOKEN__INCLUDING", 457 }, - { "INCREMENT", "PG_QUERY__TOKEN__INCREMENT", 458 }, - { "INDENT", "PG_QUERY__TOKEN__INDENT", 459 }, - { "INDEX", "PG_QUERY__TOKEN__INDEX", 460 }, - { "INDEXES", "PG_QUERY__TOKEN__INDEXES", 461 }, - { "INHERIT", "PG_QUERY__TOKEN__INHERIT", 462 }, - { "INHERITS", "PG_QUERY__TOKEN__INHERITS", 463 }, - { "INITIALLY", "PG_QUERY__TOKEN__INITIALLY", 464 }, - { "INLINE_P", "PG_QUERY__TOKEN__INLINE_P", 465 }, - { "INNER_P", "PG_QUERY__TOKEN__INNER_P", 466 }, - { "INOUT", "PG_QUERY__TOKEN__INOUT", 467 }, - { "INPUT_P", "PG_QUERY__TOKEN__INPUT_P", 468 }, - { "INSENSITIVE", "PG_QUERY__TOKEN__INSENSITIVE", 469 }, - { "INSERT", "PG_QUERY__TOKEN__INSERT", 470 }, - { "INSTEAD", "PG_QUERY__TOKEN__INSTEAD", 471 }, - { "INT_P", "PG_QUERY__TOKEN__INT_P", 472 }, - { "INTEGER", "PG_QUERY__TOKEN__INTEGER", 473 }, - { "INTERSECT", "PG_QUERY__TOKEN__INTERSECT", 474 }, - { "INTERVAL", "PG_QUERY__TOKEN__INTERVAL", 475 }, - { "INTO", "PG_QUERY__TOKEN__INTO", 476 }, - { "INVOKER", "PG_QUERY__TOKEN__INVOKER", 477 }, - { "IS", "PG_QUERY__TOKEN__IS", 478 }, - { "ISNULL", "PG_QUERY__TOKEN__ISNULL", 479 }, - { "ISOLATION", "PG_QUERY__TOKEN__ISOLATION", 480 }, - { "JOIN", "PG_QUERY__TOKEN__JOIN", 481 }, - { "JSON", "PG_QUERY__TOKEN__JSON", 482 }, - { "JSON_ARRAY", "PG_QUERY__TOKEN__JSON_ARRAY", 483 }, - { "JSON_ARRAYAGG", "PG_QUERY__TOKEN__JSON_ARRAYAGG", 484 }, - { "JSON_OBJECT", "PG_QUERY__TOKEN__JSON_OBJECT", 485 }, - { "JSON_OBJECTAGG", "PG_QUERY__TOKEN__JSON_OBJECTAGG", 486 }, - { "KEY", "PG_QUERY__TOKEN__KEY", 487 }, - { "KEYS", "PG_QUERY__TOKEN__KEYS", 488 }, - { "LABEL", "PG_QUERY__TOKEN__LABEL", 489 }, - { "LANGUAGE", "PG_QUERY__TOKEN__LANGUAGE", 490 }, - { "LARGE_P", "PG_QUERY__TOKEN__LARGE_P", 491 }, - { "LAST_P", "PG_QUERY__TOKEN__LAST_P", 492 }, - { "LATERAL_P", "PG_QUERY__TOKEN__LATERAL_P", 493 }, - { "LEADING", "PG_QUERY__TOKEN__LEADING", 494 }, - { "LEAKPROOF", "PG_QUERY__TOKEN__LEAKPROOF", 495 }, - { "LEAST", "PG_QUERY__TOKEN__LEAST", 496 }, - { "LEFT", "PG_QUERY__TOKEN__LEFT", 497 }, - { "LEVEL", "PG_QUERY__TOKEN__LEVEL", 498 }, - { "LIKE", "PG_QUERY__TOKEN__LIKE", 499 }, - { "LIMIT", "PG_QUERY__TOKEN__LIMIT", 500 }, - { "LISTEN", "PG_QUERY__TOKEN__LISTEN", 501 }, - { "LOAD", "PG_QUERY__TOKEN__LOAD", 502 }, - { "LOCAL", "PG_QUERY__TOKEN__LOCAL", 503 }, - { "LOCALTIME", "PG_QUERY__TOKEN__LOCALTIME", 504 }, - { "LOCALTIMESTAMP", "PG_QUERY__TOKEN__LOCALTIMESTAMP", 505 }, - { "LOCATION", "PG_QUERY__TOKEN__LOCATION", 506 }, - { "LOCK_P", "PG_QUERY__TOKEN__LOCK_P", 507 }, - { "LOCKED", "PG_QUERY__TOKEN__LOCKED", 508 }, - { "LOGGED", "PG_QUERY__TOKEN__LOGGED", 509 }, - { "MAPPING", "PG_QUERY__TOKEN__MAPPING", 510 }, - { "MATCH", "PG_QUERY__TOKEN__MATCH", 511 }, - { "MATCHED", "PG_QUERY__TOKEN__MATCHED", 512 }, - { "MATERIALIZED", "PG_QUERY__TOKEN__MATERIALIZED", 513 }, - { "MAXVALUE", "PG_QUERY__TOKEN__MAXVALUE", 514 }, - { "MERGE", "PG_QUERY__TOKEN__MERGE", 515 }, - { "METHOD", "PG_QUERY__TOKEN__METHOD", 516 }, - { "MINUTE_P", "PG_QUERY__TOKEN__MINUTE_P", 517 }, - { "MINVALUE", "PG_QUERY__TOKEN__MINVALUE", 518 }, - { "MODE", "PG_QUERY__TOKEN__MODE", 519 }, - { "MONTH_P", "PG_QUERY__TOKEN__MONTH_P", 520 }, - { "MOVE", "PG_QUERY__TOKEN__MOVE", 521 }, - { "NAME_P", "PG_QUERY__TOKEN__NAME_P", 522 }, - { "NAMES", "PG_QUERY__TOKEN__NAMES", 523 }, - { "NATIONAL", "PG_QUERY__TOKEN__NATIONAL", 524 }, - { "NATURAL", "PG_QUERY__TOKEN__NATURAL", 525 }, - { "NCHAR", "PG_QUERY__TOKEN__NCHAR", 526 }, - { "NEW", "PG_QUERY__TOKEN__NEW", 527 }, - { "NEXT", "PG_QUERY__TOKEN__NEXT", 528 }, - { "NFC", "PG_QUERY__TOKEN__NFC", 529 }, - { "NFD", "PG_QUERY__TOKEN__NFD", 530 }, - { "NFKC", "PG_QUERY__TOKEN__NFKC", 531 }, - { "NFKD", "PG_QUERY__TOKEN__NFKD", 532 }, - { "NO", "PG_QUERY__TOKEN__NO", 533 }, - { "NONE", "PG_QUERY__TOKEN__NONE", 534 }, - { "NORMALIZE", "PG_QUERY__TOKEN__NORMALIZE", 535 }, - { "NORMALIZED", "PG_QUERY__TOKEN__NORMALIZED", 536 }, - { "NOT", "PG_QUERY__TOKEN__NOT", 537 }, - { "NOTHING", "PG_QUERY__TOKEN__NOTHING", 538 }, - { "NOTIFY", "PG_QUERY__TOKEN__NOTIFY", 539 }, - { "NOTNULL", "PG_QUERY__TOKEN__NOTNULL", 540 }, - { "NOWAIT", "PG_QUERY__TOKEN__NOWAIT", 541 }, - { "NULL_P", "PG_QUERY__TOKEN__NULL_P", 542 }, - { "NULLIF", "PG_QUERY__TOKEN__NULLIF", 543 }, - { "NULLS_P", "PG_QUERY__TOKEN__NULLS_P", 544 }, - { "NUMERIC", "PG_QUERY__TOKEN__NUMERIC", 545 }, - { "OBJECT_P", "PG_QUERY__TOKEN__OBJECT_P", 546 }, - { "OF", "PG_QUERY__TOKEN__OF", 547 }, - { "OFF", "PG_QUERY__TOKEN__OFF", 548 }, - { "OFFSET", "PG_QUERY__TOKEN__OFFSET", 549 }, - { "OIDS", "PG_QUERY__TOKEN__OIDS", 550 }, - { "OLD", "PG_QUERY__TOKEN__OLD", 551 }, - { "ON", "PG_QUERY__TOKEN__ON", 552 }, - { "ONLY", "PG_QUERY__TOKEN__ONLY", 553 }, - { "OPERATOR", "PG_QUERY__TOKEN__OPERATOR", 554 }, - { "OPTION", "PG_QUERY__TOKEN__OPTION", 555 }, - { "OPTIONS", "PG_QUERY__TOKEN__OPTIONS", 556 }, - { "OR", "PG_QUERY__TOKEN__OR", 557 }, - { "ORDER", "PG_QUERY__TOKEN__ORDER", 558 }, - { "ORDINALITY", "PG_QUERY__TOKEN__ORDINALITY", 559 }, - { "OTHERS", "PG_QUERY__TOKEN__OTHERS", 560 }, - { "OUT_P", "PG_QUERY__TOKEN__OUT_P", 561 }, - { "OUTER_P", "PG_QUERY__TOKEN__OUTER_P", 562 }, - { "OVER", "PG_QUERY__TOKEN__OVER", 563 }, - { "OVERLAPS", "PG_QUERY__TOKEN__OVERLAPS", 564 }, - { "OVERLAY", "PG_QUERY__TOKEN__OVERLAY", 565 }, - { "OVERRIDING", "PG_QUERY__TOKEN__OVERRIDING", 566 }, - { "OWNED", "PG_QUERY__TOKEN__OWNED", 567 }, - { "OWNER", "PG_QUERY__TOKEN__OWNER", 568 }, - { "PARALLEL", "PG_QUERY__TOKEN__PARALLEL", 569 }, - { "PARAMETER", "PG_QUERY__TOKEN__PARAMETER", 570 }, - { "PARSER", "PG_QUERY__TOKEN__PARSER", 571 }, - { "PARTIAL", "PG_QUERY__TOKEN__PARTIAL", 572 }, - { "PARTITION", "PG_QUERY__TOKEN__PARTITION", 573 }, - { "PASSING", "PG_QUERY__TOKEN__PASSING", 574 }, - { "PASSWORD", "PG_QUERY__TOKEN__PASSWORD", 575 }, - { "PLACING", "PG_QUERY__TOKEN__PLACING", 576 }, - { "PLANS", "PG_QUERY__TOKEN__PLANS", 577 }, - { "POLICY", "PG_QUERY__TOKEN__POLICY", 578 }, - { "POSITION", "PG_QUERY__TOKEN__POSITION", 579 }, - { "PRECEDING", "PG_QUERY__TOKEN__PRECEDING", 580 }, - { "PRECISION", "PG_QUERY__TOKEN__PRECISION", 581 }, - { "PRESERVE", "PG_QUERY__TOKEN__PRESERVE", 582 }, - { "PREPARE", "PG_QUERY__TOKEN__PREPARE", 583 }, - { "PREPARED", "PG_QUERY__TOKEN__PREPARED", 584 }, - { "PRIMARY", "PG_QUERY__TOKEN__PRIMARY", 585 }, - { "PRIOR", "PG_QUERY__TOKEN__PRIOR", 586 }, - { "PRIVILEGES", "PG_QUERY__TOKEN__PRIVILEGES", 587 }, - { "PROCEDURAL", "PG_QUERY__TOKEN__PROCEDURAL", 588 }, - { "PROCEDURE", "PG_QUERY__TOKEN__PROCEDURE", 589 }, - { "PROCEDURES", "PG_QUERY__TOKEN__PROCEDURES", 590 }, - { "PROGRAM", "PG_QUERY__TOKEN__PROGRAM", 591 }, - { "PUBLICATION", "PG_QUERY__TOKEN__PUBLICATION", 592 }, - { "QUOTE", "PG_QUERY__TOKEN__QUOTE", 593 }, - { "RANGE", "PG_QUERY__TOKEN__RANGE", 594 }, - { "READ", "PG_QUERY__TOKEN__READ", 595 }, - { "REAL", "PG_QUERY__TOKEN__REAL", 596 }, - { "REASSIGN", "PG_QUERY__TOKEN__REASSIGN", 597 }, - { "RECHECK", "PG_QUERY__TOKEN__RECHECK", 598 }, - { "RECURSIVE", "PG_QUERY__TOKEN__RECURSIVE", 599 }, - { "REF_P", "PG_QUERY__TOKEN__REF_P", 600 }, - { "REFERENCES", "PG_QUERY__TOKEN__REFERENCES", 601 }, - { "REFERENCING", "PG_QUERY__TOKEN__REFERENCING", 602 }, - { "REFRESH", "PG_QUERY__TOKEN__REFRESH", 603 }, - { "REINDEX", "PG_QUERY__TOKEN__REINDEX", 604 }, - { "RELATIVE_P", "PG_QUERY__TOKEN__RELATIVE_P", 605 }, - { "RELEASE", "PG_QUERY__TOKEN__RELEASE", 606 }, - { "RENAME", "PG_QUERY__TOKEN__RENAME", 607 }, - { "REPEATABLE", "PG_QUERY__TOKEN__REPEATABLE", 608 }, - { "REPLACE", "PG_QUERY__TOKEN__REPLACE", 609 }, - { "REPLICA", "PG_QUERY__TOKEN__REPLICA", 610 }, - { "RESET", "PG_QUERY__TOKEN__RESET", 611 }, - { "RESTART", "PG_QUERY__TOKEN__RESTART", 612 }, - { "RESTRICT", "PG_QUERY__TOKEN__RESTRICT", 613 }, - { "RETURN", "PG_QUERY__TOKEN__RETURN", 614 }, - { "RETURNING", "PG_QUERY__TOKEN__RETURNING", 615 }, - { "RETURNS", "PG_QUERY__TOKEN__RETURNS", 616 }, - { "REVOKE", "PG_QUERY__TOKEN__REVOKE", 617 }, - { "RIGHT", "PG_QUERY__TOKEN__RIGHT", 618 }, - { "ROLE", "PG_QUERY__TOKEN__ROLE", 619 }, - { "ROLLBACK", "PG_QUERY__TOKEN__ROLLBACK", 620 }, - { "ROLLUP", "PG_QUERY__TOKEN__ROLLUP", 621 }, - { "ROUTINE", "PG_QUERY__TOKEN__ROUTINE", 622 }, - { "ROUTINES", "PG_QUERY__TOKEN__ROUTINES", 623 }, - { "ROW", "PG_QUERY__TOKEN__ROW", 624 }, - { "ROWS", "PG_QUERY__TOKEN__ROWS", 625 }, - { "RULE", "PG_QUERY__TOKEN__RULE", 626 }, - { "SAVEPOINT", "PG_QUERY__TOKEN__SAVEPOINT", 627 }, - { "SCALAR", "PG_QUERY__TOKEN__SCALAR", 628 }, - { "SCHEMA", "PG_QUERY__TOKEN__SCHEMA", 629 }, - { "SCHEMAS", "PG_QUERY__TOKEN__SCHEMAS", 630 }, - { "SCROLL", "PG_QUERY__TOKEN__SCROLL", 631 }, - { "SEARCH", "PG_QUERY__TOKEN__SEARCH", 632 }, - { "SECOND_P", "PG_QUERY__TOKEN__SECOND_P", 633 }, - { "SECURITY", "PG_QUERY__TOKEN__SECURITY", 634 }, - { "SELECT", "PG_QUERY__TOKEN__SELECT", 635 }, - { "SEQUENCE", "PG_QUERY__TOKEN__SEQUENCE", 636 }, - { "SEQUENCES", "PG_QUERY__TOKEN__SEQUENCES", 637 }, - { "SERIALIZABLE", "PG_QUERY__TOKEN__SERIALIZABLE", 638 }, - { "SERVER", "PG_QUERY__TOKEN__SERVER", 639 }, - { "SESSION", "PG_QUERY__TOKEN__SESSION", 640 }, - { "SESSION_USER", "PG_QUERY__TOKEN__SESSION_USER", 641 }, - { "SET", "PG_QUERY__TOKEN__SET", 642 }, - { "SETS", "PG_QUERY__TOKEN__SETS", 643 }, - { "SETOF", "PG_QUERY__TOKEN__SETOF", 644 }, - { "SHARE", "PG_QUERY__TOKEN__SHARE", 645 }, - { "SHOW", "PG_QUERY__TOKEN__SHOW", 646 }, - { "SIMILAR", "PG_QUERY__TOKEN__SIMILAR", 647 }, - { "SIMPLE", "PG_QUERY__TOKEN__SIMPLE", 648 }, - { "SKIP", "PG_QUERY__TOKEN__SKIP", 649 }, - { "SMALLINT", "PG_QUERY__TOKEN__SMALLINT", 650 }, - { "SNAPSHOT", "PG_QUERY__TOKEN__SNAPSHOT", 651 }, - { "SOME", "PG_QUERY__TOKEN__SOME", 652 }, - { "SQL_P", "PG_QUERY__TOKEN__SQL_P", 653 }, - { "STABLE", "PG_QUERY__TOKEN__STABLE", 654 }, - { "STANDALONE_P", "PG_QUERY__TOKEN__STANDALONE_P", 655 }, - { "START", "PG_QUERY__TOKEN__START", 656 }, - { "STATEMENT", "PG_QUERY__TOKEN__STATEMENT", 657 }, - { "STATISTICS", "PG_QUERY__TOKEN__STATISTICS", 658 }, - { "STDIN", "PG_QUERY__TOKEN__STDIN", 659 }, - { "STDOUT", "PG_QUERY__TOKEN__STDOUT", 660 }, - { "STORAGE", "PG_QUERY__TOKEN__STORAGE", 661 }, - { "STORED", "PG_QUERY__TOKEN__STORED", 662 }, - { "STRICT_P", "PG_QUERY__TOKEN__STRICT_P", 663 }, - { "STRIP_P", "PG_QUERY__TOKEN__STRIP_P", 664 }, - { "SUBSCRIPTION", "PG_QUERY__TOKEN__SUBSCRIPTION", 665 }, - { "SUBSTRING", "PG_QUERY__TOKEN__SUBSTRING", 666 }, - { "SUPPORT", "PG_QUERY__TOKEN__SUPPORT", 667 }, - { "SYMMETRIC", "PG_QUERY__TOKEN__SYMMETRIC", 668 }, - { "SYSID", "PG_QUERY__TOKEN__SYSID", 669 }, - { "SYSTEM_P", "PG_QUERY__TOKEN__SYSTEM_P", 670 }, - { "SYSTEM_USER", "PG_QUERY__TOKEN__SYSTEM_USER", 671 }, - { "TABLE", "PG_QUERY__TOKEN__TABLE", 672 }, - { "TABLES", "PG_QUERY__TOKEN__TABLES", 673 }, - { "TABLESAMPLE", "PG_QUERY__TOKEN__TABLESAMPLE", 674 }, - { "TABLESPACE", "PG_QUERY__TOKEN__TABLESPACE", 675 }, - { "TEMP", "PG_QUERY__TOKEN__TEMP", 676 }, - { "TEMPLATE", "PG_QUERY__TOKEN__TEMPLATE", 677 }, - { "TEMPORARY", "PG_QUERY__TOKEN__TEMPORARY", 678 }, - { "TEXT_P", "PG_QUERY__TOKEN__TEXT_P", 679 }, - { "THEN", "PG_QUERY__TOKEN__THEN", 680 }, - { "TIES", "PG_QUERY__TOKEN__TIES", 681 }, - { "TIME", "PG_QUERY__TOKEN__TIME", 682 }, - { "TIMESTAMP", "PG_QUERY__TOKEN__TIMESTAMP", 683 }, - { "TO", "PG_QUERY__TOKEN__TO", 684 }, - { "TRAILING", "PG_QUERY__TOKEN__TRAILING", 685 }, - { "TRANSACTION", "PG_QUERY__TOKEN__TRANSACTION", 686 }, - { "TRANSFORM", "PG_QUERY__TOKEN__TRANSFORM", 687 }, - { "TREAT", "PG_QUERY__TOKEN__TREAT", 688 }, - { "TRIGGER", "PG_QUERY__TOKEN__TRIGGER", 689 }, - { "TRIM", "PG_QUERY__TOKEN__TRIM", 690 }, - { "TRUE_P", "PG_QUERY__TOKEN__TRUE_P", 691 }, - { "TRUNCATE", "PG_QUERY__TOKEN__TRUNCATE", 692 }, - { "TRUSTED", "PG_QUERY__TOKEN__TRUSTED", 693 }, - { "TYPE_P", "PG_QUERY__TOKEN__TYPE_P", 694 }, - { "TYPES_P", "PG_QUERY__TOKEN__TYPES_P", 695 }, - { "UESCAPE", "PG_QUERY__TOKEN__UESCAPE", 696 }, - { "UNBOUNDED", "PG_QUERY__TOKEN__UNBOUNDED", 697 }, - { "UNCOMMITTED", "PG_QUERY__TOKEN__UNCOMMITTED", 698 }, - { "UNENCRYPTED", "PG_QUERY__TOKEN__UNENCRYPTED", 699 }, - { "UNION", "PG_QUERY__TOKEN__UNION", 700 }, - { "UNIQUE", "PG_QUERY__TOKEN__UNIQUE", 701 }, - { "UNKNOWN", "PG_QUERY__TOKEN__UNKNOWN", 702 }, - { "UNLISTEN", "PG_QUERY__TOKEN__UNLISTEN", 703 }, - { "UNLOGGED", "PG_QUERY__TOKEN__UNLOGGED", 704 }, - { "UNTIL", "PG_QUERY__TOKEN__UNTIL", 705 }, - { "UPDATE", "PG_QUERY__TOKEN__UPDATE", 706 }, - { "USER", "PG_QUERY__TOKEN__USER", 707 }, - { "USING", "PG_QUERY__TOKEN__USING", 708 }, - { "VACUUM", "PG_QUERY__TOKEN__VACUUM", 709 }, - { "VALID", "PG_QUERY__TOKEN__VALID", 710 }, - { "VALIDATE", "PG_QUERY__TOKEN__VALIDATE", 711 }, - { "VALIDATOR", "PG_QUERY__TOKEN__VALIDATOR", 712 }, - { "VALUE_P", "PG_QUERY__TOKEN__VALUE_P", 713 }, - { "VALUES", "PG_QUERY__TOKEN__VALUES", 714 }, - { "VARCHAR", "PG_QUERY__TOKEN__VARCHAR", 715 }, - { "VARIADIC", "PG_QUERY__TOKEN__VARIADIC", 716 }, - { "VARYING", "PG_QUERY__TOKEN__VARYING", 717 }, - { "VERBOSE", "PG_QUERY__TOKEN__VERBOSE", 718 }, - { "VERSION_P", "PG_QUERY__TOKEN__VERSION_P", 719 }, - { "VIEW", "PG_QUERY__TOKEN__VIEW", 720 }, - { "VIEWS", "PG_QUERY__TOKEN__VIEWS", 721 }, - { "VOLATILE", "PG_QUERY__TOKEN__VOLATILE", 722 }, - { "WHEN", "PG_QUERY__TOKEN__WHEN", 723 }, - { "WHERE", "PG_QUERY__TOKEN__WHERE", 724 }, - { "WHITESPACE_P", "PG_QUERY__TOKEN__WHITESPACE_P", 725 }, - { "WINDOW", "PG_QUERY__TOKEN__WINDOW", 726 }, - { "WITH", "PG_QUERY__TOKEN__WITH", 727 }, - { "WITHIN", "PG_QUERY__TOKEN__WITHIN", 728 }, - { "WITHOUT", "PG_QUERY__TOKEN__WITHOUT", 729 }, - { "WORK", "PG_QUERY__TOKEN__WORK", 730 }, - { "WRAPPER", "PG_QUERY__TOKEN__WRAPPER", 731 }, - { "WRITE", "PG_QUERY__TOKEN__WRITE", 732 }, - { "XML_P", "PG_QUERY__TOKEN__XML_P", 733 }, - { "XMLATTRIBUTES", "PG_QUERY__TOKEN__XMLATTRIBUTES", 734 }, - { "XMLCONCAT", "PG_QUERY__TOKEN__XMLCONCAT", 735 }, - { "XMLELEMENT", "PG_QUERY__TOKEN__XMLELEMENT", 736 }, - { "XMLEXISTS", "PG_QUERY__TOKEN__XMLEXISTS", 737 }, - { "XMLFOREST", "PG_QUERY__TOKEN__XMLFOREST", 738 }, - { "XMLNAMESPACES", "PG_QUERY__TOKEN__XMLNAMESPACES", 739 }, - { "XMLPARSE", "PG_QUERY__TOKEN__XMLPARSE", 740 }, - { "XMLPI", "PG_QUERY__TOKEN__XMLPI", 741 }, - { "XMLROOT", "PG_QUERY__TOKEN__XMLROOT", 742 }, - { "XMLSERIALIZE", "PG_QUERY__TOKEN__XMLSERIALIZE", 743 }, - { "XMLTABLE", "PG_QUERY__TOKEN__XMLTABLE", 744 }, - { "YEAR_P", "PG_QUERY__TOKEN__YEAR_P", 745 }, - { "YES_P", "PG_QUERY__TOKEN__YES_P", 746 }, - { "ZONE", "PG_QUERY__TOKEN__ZONE", 747 }, - { "FORMAT_LA", "PG_QUERY__TOKEN__FORMAT_LA", 748 }, - { "NOT_LA", "PG_QUERY__TOKEN__NOT_LA", 749 }, - { "NULLS_LA", "PG_QUERY__TOKEN__NULLS_LA", 750 }, - { "WITH_LA", "PG_QUERY__TOKEN__WITH_LA", 751 }, - { "WITHOUT_LA", "PG_QUERY__TOKEN__WITHOUT_LA", 752 }, - { "MODE_TYPE_NAME", "PG_QUERY__TOKEN__MODE_TYPE_NAME", 753 }, - { "MODE_PLPGSQL_EXPR", "PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR", 754 }, - { "MODE_PLPGSQL_ASSIGN1", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1", 755 }, - { "MODE_PLPGSQL_ASSIGN2", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2", 756 }, - { "MODE_PLPGSQL_ASSIGN3", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3", 757 }, - { "UMINUS", "PG_QUERY__TOKEN__UMINUS", 758 }, + { "CONDITIONAL", "PG_QUERY__TOKEN__CONDITIONAL", 345 }, + { "CONFIGURATION", "PG_QUERY__TOKEN__CONFIGURATION", 346 }, + { "CONFLICT", "PG_QUERY__TOKEN__CONFLICT", 347 }, + { "CONNECTION", "PG_QUERY__TOKEN__CONNECTION", 348 }, + { "CONSTRAINT", "PG_QUERY__TOKEN__CONSTRAINT", 349 }, + { "CONSTRAINTS", "PG_QUERY__TOKEN__CONSTRAINTS", 350 }, + { "CONTENT_P", "PG_QUERY__TOKEN__CONTENT_P", 351 }, + { "CONTINUE_P", "PG_QUERY__TOKEN__CONTINUE_P", 352 }, + { "CONVERSION_P", "PG_QUERY__TOKEN__CONVERSION_P", 353 }, + { "COPY", "PG_QUERY__TOKEN__COPY", 354 }, + { "COST", "PG_QUERY__TOKEN__COST", 355 }, + { "CREATE", "PG_QUERY__TOKEN__CREATE", 356 }, + { "CROSS", "PG_QUERY__TOKEN__CROSS", 357 }, + { "CSV", "PG_QUERY__TOKEN__CSV", 358 }, + { "CUBE", "PG_QUERY__TOKEN__CUBE", 359 }, + { "CURRENT_P", "PG_QUERY__TOKEN__CURRENT_P", 360 }, + { "CURRENT_CATALOG", "PG_QUERY__TOKEN__CURRENT_CATALOG", 361 }, + { "CURRENT_DATE", "PG_QUERY__TOKEN__CURRENT_DATE", 362 }, + { "CURRENT_ROLE", "PG_QUERY__TOKEN__CURRENT_ROLE", 363 }, + { "CURRENT_SCHEMA", "PG_QUERY__TOKEN__CURRENT_SCHEMA", 364 }, + { "CURRENT_TIME", "PG_QUERY__TOKEN__CURRENT_TIME", 365 }, + { "CURRENT_TIMESTAMP", "PG_QUERY__TOKEN__CURRENT_TIMESTAMP", 366 }, + { "CURRENT_USER", "PG_QUERY__TOKEN__CURRENT_USER", 367 }, + { "CURSOR", "PG_QUERY__TOKEN__CURSOR", 368 }, + { "CYCLE", "PG_QUERY__TOKEN__CYCLE", 369 }, + { "DATA_P", "PG_QUERY__TOKEN__DATA_P", 370 }, + { "DATABASE", "PG_QUERY__TOKEN__DATABASE", 371 }, + { "DAY_P", "PG_QUERY__TOKEN__DAY_P", 372 }, + { "DEALLOCATE", "PG_QUERY__TOKEN__DEALLOCATE", 373 }, + { "DEC", "PG_QUERY__TOKEN__DEC", 374 }, + { "DECIMAL_P", "PG_QUERY__TOKEN__DECIMAL_P", 375 }, + { "DECLARE", "PG_QUERY__TOKEN__DECLARE", 376 }, + { "DEFAULT", "PG_QUERY__TOKEN__DEFAULT", 377 }, + { "DEFAULTS", "PG_QUERY__TOKEN__DEFAULTS", 378 }, + { "DEFERRABLE", "PG_QUERY__TOKEN__DEFERRABLE", 379 }, + { "DEFERRED", "PG_QUERY__TOKEN__DEFERRED", 380 }, + { "DEFINER", "PG_QUERY__TOKEN__DEFINER", 381 }, + { "DELETE_P", "PG_QUERY__TOKEN__DELETE_P", 382 }, + { "DELIMITER", "PG_QUERY__TOKEN__DELIMITER", 383 }, + { "DELIMITERS", "PG_QUERY__TOKEN__DELIMITERS", 384 }, + { "DEPENDS", "PG_QUERY__TOKEN__DEPENDS", 385 }, + { "DEPTH", "PG_QUERY__TOKEN__DEPTH", 386 }, + { "DESC", "PG_QUERY__TOKEN__DESC", 387 }, + { "DETACH", "PG_QUERY__TOKEN__DETACH", 388 }, + { "DICTIONARY", "PG_QUERY__TOKEN__DICTIONARY", 389 }, + { "DISABLE_P", "PG_QUERY__TOKEN__DISABLE_P", 390 }, + { "DISCARD", "PG_QUERY__TOKEN__DISCARD", 391 }, + { "DISTINCT", "PG_QUERY__TOKEN__DISTINCT", 392 }, + { "DO", "PG_QUERY__TOKEN__DO", 393 }, + { "DOCUMENT_P", "PG_QUERY__TOKEN__DOCUMENT_P", 394 }, + { "DOMAIN_P", "PG_QUERY__TOKEN__DOMAIN_P", 395 }, + { "DOUBLE_P", "PG_QUERY__TOKEN__DOUBLE_P", 396 }, + { "DROP", "PG_QUERY__TOKEN__DROP", 397 }, + { "EACH", "PG_QUERY__TOKEN__EACH", 398 }, + { "ELSE", "PG_QUERY__TOKEN__ELSE", 399 }, + { "EMPTY_P", "PG_QUERY__TOKEN__EMPTY_P", 400 }, + { "ENABLE_P", "PG_QUERY__TOKEN__ENABLE_P", 401 }, + { "ENCODING", "PG_QUERY__TOKEN__ENCODING", 402 }, + { "ENCRYPTED", "PG_QUERY__TOKEN__ENCRYPTED", 403 }, + { "END_P", "PG_QUERY__TOKEN__END_P", 404 }, + { "ENUM_P", "PG_QUERY__TOKEN__ENUM_P", 405 }, + { "ERROR_P", "PG_QUERY__TOKEN__ERROR_P", 406 }, + { "ESCAPE", "PG_QUERY__TOKEN__ESCAPE", 407 }, + { "EVENT", "PG_QUERY__TOKEN__EVENT", 408 }, + { "EXCEPT", "PG_QUERY__TOKEN__EXCEPT", 409 }, + { "EXCLUDE", "PG_QUERY__TOKEN__EXCLUDE", 410 }, + { "EXCLUDING", "PG_QUERY__TOKEN__EXCLUDING", 411 }, + { "EXCLUSIVE", "PG_QUERY__TOKEN__EXCLUSIVE", 412 }, + { "EXECUTE", "PG_QUERY__TOKEN__EXECUTE", 413 }, + { "EXISTS", "PG_QUERY__TOKEN__EXISTS", 414 }, + { "EXPLAIN", "PG_QUERY__TOKEN__EXPLAIN", 415 }, + { "EXPRESSION", "PG_QUERY__TOKEN__EXPRESSION", 416 }, + { "EXTENSION", "PG_QUERY__TOKEN__EXTENSION", 417 }, + { "EXTERNAL", "PG_QUERY__TOKEN__EXTERNAL", 418 }, + { "EXTRACT", "PG_QUERY__TOKEN__EXTRACT", 419 }, + { "FALSE_P", "PG_QUERY__TOKEN__FALSE_P", 420 }, + { "FAMILY", "PG_QUERY__TOKEN__FAMILY", 421 }, + { "FETCH", "PG_QUERY__TOKEN__FETCH", 422 }, + { "FILTER", "PG_QUERY__TOKEN__FILTER", 423 }, + { "FINALIZE", "PG_QUERY__TOKEN__FINALIZE", 424 }, + { "FIRST_P", "PG_QUERY__TOKEN__FIRST_P", 425 }, + { "FLOAT_P", "PG_QUERY__TOKEN__FLOAT_P", 426 }, + { "FOLLOWING", "PG_QUERY__TOKEN__FOLLOWING", 427 }, + { "FOR", "PG_QUERY__TOKEN__FOR", 428 }, + { "FORCE", "PG_QUERY__TOKEN__FORCE", 429 }, + { "FOREIGN", "PG_QUERY__TOKEN__FOREIGN", 430 }, + { "FORMAT", "PG_QUERY__TOKEN__FORMAT", 431 }, + { "FORWARD", "PG_QUERY__TOKEN__FORWARD", 432 }, + { "FREEZE", "PG_QUERY__TOKEN__FREEZE", 433 }, + { "FROM", "PG_QUERY__TOKEN__FROM", 434 }, + { "FULL", "PG_QUERY__TOKEN__FULL", 435 }, + { "FUNCTION", "PG_QUERY__TOKEN__FUNCTION", 436 }, + { "FUNCTIONS", "PG_QUERY__TOKEN__FUNCTIONS", 437 }, + { "GENERATED", "PG_QUERY__TOKEN__GENERATED", 438 }, + { "GLOBAL", "PG_QUERY__TOKEN__GLOBAL", 439 }, + { "GRANT", "PG_QUERY__TOKEN__GRANT", 440 }, + { "GRANTED", "PG_QUERY__TOKEN__GRANTED", 441 }, + { "GREATEST", "PG_QUERY__TOKEN__GREATEST", 442 }, + { "GROUP_P", "PG_QUERY__TOKEN__GROUP_P", 443 }, + { "GROUPING", "PG_QUERY__TOKEN__GROUPING", 444 }, + { "GROUPS", "PG_QUERY__TOKEN__GROUPS", 445 }, + { "HANDLER", "PG_QUERY__TOKEN__HANDLER", 446 }, + { "HAVING", "PG_QUERY__TOKEN__HAVING", 447 }, + { "HEADER_P", "PG_QUERY__TOKEN__HEADER_P", 448 }, + { "HOLD", "PG_QUERY__TOKEN__HOLD", 449 }, + { "HOUR_P", "PG_QUERY__TOKEN__HOUR_P", 450 }, + { "IDENTITY_P", "PG_QUERY__TOKEN__IDENTITY_P", 451 }, + { "IF_P", "PG_QUERY__TOKEN__IF_P", 452 }, + { "ILIKE", "PG_QUERY__TOKEN__ILIKE", 453 }, + { "IMMEDIATE", "PG_QUERY__TOKEN__IMMEDIATE", 454 }, + { "IMMUTABLE", "PG_QUERY__TOKEN__IMMUTABLE", 455 }, + { "IMPLICIT_P", "PG_QUERY__TOKEN__IMPLICIT_P", 456 }, + { "IMPORT_P", "PG_QUERY__TOKEN__IMPORT_P", 457 }, + { "IN_P", "PG_QUERY__TOKEN__IN_P", 458 }, + { "INCLUDE", "PG_QUERY__TOKEN__INCLUDE", 459 }, + { "INCLUDING", "PG_QUERY__TOKEN__INCLUDING", 460 }, + { "INCREMENT", "PG_QUERY__TOKEN__INCREMENT", 461 }, + { "INDENT", "PG_QUERY__TOKEN__INDENT", 462 }, + { "INDEX", "PG_QUERY__TOKEN__INDEX", 463 }, + { "INDEXES", "PG_QUERY__TOKEN__INDEXES", 464 }, + { "INHERIT", "PG_QUERY__TOKEN__INHERIT", 465 }, + { "INHERITS", "PG_QUERY__TOKEN__INHERITS", 466 }, + { "INITIALLY", "PG_QUERY__TOKEN__INITIALLY", 467 }, + { "INLINE_P", "PG_QUERY__TOKEN__INLINE_P", 468 }, + { "INNER_P", "PG_QUERY__TOKEN__INNER_P", 469 }, + { "INOUT", "PG_QUERY__TOKEN__INOUT", 470 }, + { "INPUT_P", "PG_QUERY__TOKEN__INPUT_P", 471 }, + { "INSENSITIVE", "PG_QUERY__TOKEN__INSENSITIVE", 472 }, + { "INSERT", "PG_QUERY__TOKEN__INSERT", 473 }, + { "INSTEAD", "PG_QUERY__TOKEN__INSTEAD", 474 }, + { "INT_P", "PG_QUERY__TOKEN__INT_P", 475 }, + { "INTEGER", "PG_QUERY__TOKEN__INTEGER", 476 }, + { "INTERSECT", "PG_QUERY__TOKEN__INTERSECT", 477 }, + { "INTERVAL", "PG_QUERY__TOKEN__INTERVAL", 478 }, + { "INTO", "PG_QUERY__TOKEN__INTO", 479 }, + { "INVOKER", "PG_QUERY__TOKEN__INVOKER", 480 }, + { "IS", "PG_QUERY__TOKEN__IS", 481 }, + { "ISNULL", "PG_QUERY__TOKEN__ISNULL", 482 }, + { "ISOLATION", "PG_QUERY__TOKEN__ISOLATION", 483 }, + { "JOIN", "PG_QUERY__TOKEN__JOIN", 484 }, + { "JSON", "PG_QUERY__TOKEN__JSON", 485 }, + { "JSON_ARRAY", "PG_QUERY__TOKEN__JSON_ARRAY", 486 }, + { "JSON_ARRAYAGG", "PG_QUERY__TOKEN__JSON_ARRAYAGG", 487 }, + { "JSON_EXISTS", "PG_QUERY__TOKEN__JSON_EXISTS", 488 }, + { "JSON_OBJECT", "PG_QUERY__TOKEN__JSON_OBJECT", 489 }, + { "JSON_OBJECTAGG", "PG_QUERY__TOKEN__JSON_OBJECTAGG", 490 }, + { "JSON_QUERY", "PG_QUERY__TOKEN__JSON_QUERY", 491 }, + { "JSON_SCALAR", "PG_QUERY__TOKEN__JSON_SCALAR", 492 }, + { "JSON_SERIALIZE", "PG_QUERY__TOKEN__JSON_SERIALIZE", 493 }, + { "JSON_TABLE", "PG_QUERY__TOKEN__JSON_TABLE", 494 }, + { "JSON_VALUE", "PG_QUERY__TOKEN__JSON_VALUE", 495 }, + { "KEEP", "PG_QUERY__TOKEN__KEEP", 496 }, + { "KEY", "PG_QUERY__TOKEN__KEY", 497 }, + { "KEYS", "PG_QUERY__TOKEN__KEYS", 498 }, + { "LABEL", "PG_QUERY__TOKEN__LABEL", 499 }, + { "LANGUAGE", "PG_QUERY__TOKEN__LANGUAGE", 500 }, + { "LARGE_P", "PG_QUERY__TOKEN__LARGE_P", 501 }, + { "LAST_P", "PG_QUERY__TOKEN__LAST_P", 502 }, + { "LATERAL_P", "PG_QUERY__TOKEN__LATERAL_P", 503 }, + { "LEADING", "PG_QUERY__TOKEN__LEADING", 504 }, + { "LEAKPROOF", "PG_QUERY__TOKEN__LEAKPROOF", 505 }, + { "LEAST", "PG_QUERY__TOKEN__LEAST", 506 }, + { "LEFT", "PG_QUERY__TOKEN__LEFT", 507 }, + { "LEVEL", "PG_QUERY__TOKEN__LEVEL", 508 }, + { "LIKE", "PG_QUERY__TOKEN__LIKE", 509 }, + { "LIMIT", "PG_QUERY__TOKEN__LIMIT", 510 }, + { "LISTEN", "PG_QUERY__TOKEN__LISTEN", 511 }, + { "LOAD", "PG_QUERY__TOKEN__LOAD", 512 }, + { "LOCAL", "PG_QUERY__TOKEN__LOCAL", 513 }, + { "LOCALTIME", "PG_QUERY__TOKEN__LOCALTIME", 514 }, + { "LOCALTIMESTAMP", "PG_QUERY__TOKEN__LOCALTIMESTAMP", 515 }, + { "LOCATION", "PG_QUERY__TOKEN__LOCATION", 516 }, + { "LOCK_P", "PG_QUERY__TOKEN__LOCK_P", 517 }, + { "LOCKED", "PG_QUERY__TOKEN__LOCKED", 518 }, + { "LOGGED", "PG_QUERY__TOKEN__LOGGED", 519 }, + { "MAPPING", "PG_QUERY__TOKEN__MAPPING", 520 }, + { "MATCH", "PG_QUERY__TOKEN__MATCH", 521 }, + { "MATCHED", "PG_QUERY__TOKEN__MATCHED", 522 }, + { "MATERIALIZED", "PG_QUERY__TOKEN__MATERIALIZED", 523 }, + { "MAXVALUE", "PG_QUERY__TOKEN__MAXVALUE", 524 }, + { "MERGE", "PG_QUERY__TOKEN__MERGE", 525 }, + { "MERGE_ACTION", "PG_QUERY__TOKEN__MERGE_ACTION", 526 }, + { "METHOD", "PG_QUERY__TOKEN__METHOD", 527 }, + { "MINUTE_P", "PG_QUERY__TOKEN__MINUTE_P", 528 }, + { "MINVALUE", "PG_QUERY__TOKEN__MINVALUE", 529 }, + { "MODE", "PG_QUERY__TOKEN__MODE", 530 }, + { "MONTH_P", "PG_QUERY__TOKEN__MONTH_P", 531 }, + { "MOVE", "PG_QUERY__TOKEN__MOVE", 532 }, + { "NAME_P", "PG_QUERY__TOKEN__NAME_P", 533 }, + { "NAMES", "PG_QUERY__TOKEN__NAMES", 534 }, + { "NATIONAL", "PG_QUERY__TOKEN__NATIONAL", 535 }, + { "NATURAL", "PG_QUERY__TOKEN__NATURAL", 536 }, + { "NCHAR", "PG_QUERY__TOKEN__NCHAR", 537 }, + { "NESTED", "PG_QUERY__TOKEN__NESTED", 538 }, + { "NEW", "PG_QUERY__TOKEN__NEW", 539 }, + { "NEXT", "PG_QUERY__TOKEN__NEXT", 540 }, + { "NFC", "PG_QUERY__TOKEN__NFC", 541 }, + { "NFD", "PG_QUERY__TOKEN__NFD", 542 }, + { "NFKC", "PG_QUERY__TOKEN__NFKC", 543 }, + { "NFKD", "PG_QUERY__TOKEN__NFKD", 544 }, + { "NO", "PG_QUERY__TOKEN__NO", 545 }, + { "NONE", "PG_QUERY__TOKEN__NONE", 546 }, + { "NORMALIZE", "PG_QUERY__TOKEN__NORMALIZE", 547 }, + { "NORMALIZED", "PG_QUERY__TOKEN__NORMALIZED", 548 }, + { "NOT", "PG_QUERY__TOKEN__NOT", 549 }, + { "NOTHING", "PG_QUERY__TOKEN__NOTHING", 550 }, + { "NOTIFY", "PG_QUERY__TOKEN__NOTIFY", 551 }, + { "NOTNULL", "PG_QUERY__TOKEN__NOTNULL", 552 }, + { "NOWAIT", "PG_QUERY__TOKEN__NOWAIT", 553 }, + { "NULL_P", "PG_QUERY__TOKEN__NULL_P", 554 }, + { "NULLIF", "PG_QUERY__TOKEN__NULLIF", 555 }, + { "NULLS_P", "PG_QUERY__TOKEN__NULLS_P", 556 }, + { "NUMERIC", "PG_QUERY__TOKEN__NUMERIC", 557 }, + { "OBJECT_P", "PG_QUERY__TOKEN__OBJECT_P", 558 }, + { "OF", "PG_QUERY__TOKEN__OF", 559 }, + { "OFF", "PG_QUERY__TOKEN__OFF", 560 }, + { "OFFSET", "PG_QUERY__TOKEN__OFFSET", 561 }, + { "OIDS", "PG_QUERY__TOKEN__OIDS", 562 }, + { "OLD", "PG_QUERY__TOKEN__OLD", 563 }, + { "OMIT", "PG_QUERY__TOKEN__OMIT", 564 }, + { "ON", "PG_QUERY__TOKEN__ON", 565 }, + { "ONLY", "PG_QUERY__TOKEN__ONLY", 566 }, + { "OPERATOR", "PG_QUERY__TOKEN__OPERATOR", 567 }, + { "OPTION", "PG_QUERY__TOKEN__OPTION", 568 }, + { "OPTIONS", "PG_QUERY__TOKEN__OPTIONS", 569 }, + { "OR", "PG_QUERY__TOKEN__OR", 570 }, + { "ORDER", "PG_QUERY__TOKEN__ORDER", 571 }, + { "ORDINALITY", "PG_QUERY__TOKEN__ORDINALITY", 572 }, + { "OTHERS", "PG_QUERY__TOKEN__OTHERS", 573 }, + { "OUT_P", "PG_QUERY__TOKEN__OUT_P", 574 }, + { "OUTER_P", "PG_QUERY__TOKEN__OUTER_P", 575 }, + { "OVER", "PG_QUERY__TOKEN__OVER", 576 }, + { "OVERLAPS", "PG_QUERY__TOKEN__OVERLAPS", 577 }, + { "OVERLAY", "PG_QUERY__TOKEN__OVERLAY", 578 }, + { "OVERRIDING", "PG_QUERY__TOKEN__OVERRIDING", 579 }, + { "OWNED", "PG_QUERY__TOKEN__OWNED", 580 }, + { "OWNER", "PG_QUERY__TOKEN__OWNER", 581 }, + { "PARALLEL", "PG_QUERY__TOKEN__PARALLEL", 582 }, + { "PARAMETER", "PG_QUERY__TOKEN__PARAMETER", 583 }, + { "PARSER", "PG_QUERY__TOKEN__PARSER", 584 }, + { "PARTIAL", "PG_QUERY__TOKEN__PARTIAL", 585 }, + { "PARTITION", "PG_QUERY__TOKEN__PARTITION", 586 }, + { "PASSING", "PG_QUERY__TOKEN__PASSING", 587 }, + { "PASSWORD", "PG_QUERY__TOKEN__PASSWORD", 588 }, + { "PATH", "PG_QUERY__TOKEN__PATH", 589 }, + { "PLACING", "PG_QUERY__TOKEN__PLACING", 590 }, + { "PLAN", "PG_QUERY__TOKEN__PLAN", 591 }, + { "PLANS", "PG_QUERY__TOKEN__PLANS", 592 }, + { "POLICY", "PG_QUERY__TOKEN__POLICY", 593 }, + { "POSITION", "PG_QUERY__TOKEN__POSITION", 594 }, + { "PRECEDING", "PG_QUERY__TOKEN__PRECEDING", 595 }, + { "PRECISION", "PG_QUERY__TOKEN__PRECISION", 596 }, + { "PRESERVE", "PG_QUERY__TOKEN__PRESERVE", 597 }, + { "PREPARE", "PG_QUERY__TOKEN__PREPARE", 598 }, + { "PREPARED", "PG_QUERY__TOKEN__PREPARED", 599 }, + { "PRIMARY", "PG_QUERY__TOKEN__PRIMARY", 600 }, + { "PRIOR", "PG_QUERY__TOKEN__PRIOR", 601 }, + { "PRIVILEGES", "PG_QUERY__TOKEN__PRIVILEGES", 602 }, + { "PROCEDURAL", "PG_QUERY__TOKEN__PROCEDURAL", 603 }, + { "PROCEDURE", "PG_QUERY__TOKEN__PROCEDURE", 604 }, + { "PROCEDURES", "PG_QUERY__TOKEN__PROCEDURES", 605 }, + { "PROGRAM", "PG_QUERY__TOKEN__PROGRAM", 606 }, + { "PUBLICATION", "PG_QUERY__TOKEN__PUBLICATION", 607 }, + { "QUOTE", "PG_QUERY__TOKEN__QUOTE", 608 }, + { "QUOTES", "PG_QUERY__TOKEN__QUOTES", 609 }, + { "RANGE", "PG_QUERY__TOKEN__RANGE", 610 }, + { "READ", "PG_QUERY__TOKEN__READ", 611 }, + { "REAL", "PG_QUERY__TOKEN__REAL", 612 }, + { "REASSIGN", "PG_QUERY__TOKEN__REASSIGN", 613 }, + { "RECHECK", "PG_QUERY__TOKEN__RECHECK", 614 }, + { "RECURSIVE", "PG_QUERY__TOKEN__RECURSIVE", 615 }, + { "REF_P", "PG_QUERY__TOKEN__REF_P", 616 }, + { "REFERENCES", "PG_QUERY__TOKEN__REFERENCES", 617 }, + { "REFERENCING", "PG_QUERY__TOKEN__REFERENCING", 618 }, + { "REFRESH", "PG_QUERY__TOKEN__REFRESH", 619 }, + { "REINDEX", "PG_QUERY__TOKEN__REINDEX", 620 }, + { "RELATIVE_P", "PG_QUERY__TOKEN__RELATIVE_P", 621 }, + { "RELEASE", "PG_QUERY__TOKEN__RELEASE", 622 }, + { "RENAME", "PG_QUERY__TOKEN__RENAME", 623 }, + { "REPEATABLE", "PG_QUERY__TOKEN__REPEATABLE", 624 }, + { "REPLACE", "PG_QUERY__TOKEN__REPLACE", 625 }, + { "REPLICA", "PG_QUERY__TOKEN__REPLICA", 626 }, + { "RESET", "PG_QUERY__TOKEN__RESET", 627 }, + { "RESTART", "PG_QUERY__TOKEN__RESTART", 628 }, + { "RESTRICT", "PG_QUERY__TOKEN__RESTRICT", 629 }, + { "RETURN", "PG_QUERY__TOKEN__RETURN", 630 }, + { "RETURNING", "PG_QUERY__TOKEN__RETURNING", 631 }, + { "RETURNS", "PG_QUERY__TOKEN__RETURNS", 632 }, + { "REVOKE", "PG_QUERY__TOKEN__REVOKE", 633 }, + { "RIGHT", "PG_QUERY__TOKEN__RIGHT", 634 }, + { "ROLE", "PG_QUERY__TOKEN__ROLE", 635 }, + { "ROLLBACK", "PG_QUERY__TOKEN__ROLLBACK", 636 }, + { "ROLLUP", "PG_QUERY__TOKEN__ROLLUP", 637 }, + { "ROUTINE", "PG_QUERY__TOKEN__ROUTINE", 638 }, + { "ROUTINES", "PG_QUERY__TOKEN__ROUTINES", 639 }, + { "ROW", "PG_QUERY__TOKEN__ROW", 640 }, + { "ROWS", "PG_QUERY__TOKEN__ROWS", 641 }, + { "RULE", "PG_QUERY__TOKEN__RULE", 642 }, + { "SAVEPOINT", "PG_QUERY__TOKEN__SAVEPOINT", 643 }, + { "SCALAR", "PG_QUERY__TOKEN__SCALAR", 644 }, + { "SCHEMA", "PG_QUERY__TOKEN__SCHEMA", 645 }, + { "SCHEMAS", "PG_QUERY__TOKEN__SCHEMAS", 646 }, + { "SCROLL", "PG_QUERY__TOKEN__SCROLL", 647 }, + { "SEARCH", "PG_QUERY__TOKEN__SEARCH", 648 }, + { "SECOND_P", "PG_QUERY__TOKEN__SECOND_P", 649 }, + { "SECURITY", "PG_QUERY__TOKEN__SECURITY", 650 }, + { "SELECT", "PG_QUERY__TOKEN__SELECT", 651 }, + { "SEQUENCE", "PG_QUERY__TOKEN__SEQUENCE", 652 }, + { "SEQUENCES", "PG_QUERY__TOKEN__SEQUENCES", 653 }, + { "SERIALIZABLE", "PG_QUERY__TOKEN__SERIALIZABLE", 654 }, + { "SERVER", "PG_QUERY__TOKEN__SERVER", 655 }, + { "SESSION", "PG_QUERY__TOKEN__SESSION", 656 }, + { "SESSION_USER", "PG_QUERY__TOKEN__SESSION_USER", 657 }, + { "SET", "PG_QUERY__TOKEN__SET", 658 }, + { "SETS", "PG_QUERY__TOKEN__SETS", 659 }, + { "SETOF", "PG_QUERY__TOKEN__SETOF", 660 }, + { "SHARE", "PG_QUERY__TOKEN__SHARE", 661 }, + { "SHOW", "PG_QUERY__TOKEN__SHOW", 662 }, + { "SIMILAR", "PG_QUERY__TOKEN__SIMILAR", 663 }, + { "SIMPLE", "PG_QUERY__TOKEN__SIMPLE", 664 }, + { "SKIP", "PG_QUERY__TOKEN__SKIP", 665 }, + { "SMALLINT", "PG_QUERY__TOKEN__SMALLINT", 666 }, + { "SNAPSHOT", "PG_QUERY__TOKEN__SNAPSHOT", 667 }, + { "SOME", "PG_QUERY__TOKEN__SOME", 668 }, + { "SOURCE", "PG_QUERY__TOKEN__SOURCE", 669 }, + { "SQL_P", "PG_QUERY__TOKEN__SQL_P", 670 }, + { "STABLE", "PG_QUERY__TOKEN__STABLE", 671 }, + { "STANDALONE_P", "PG_QUERY__TOKEN__STANDALONE_P", 672 }, + { "START", "PG_QUERY__TOKEN__START", 673 }, + { "STATEMENT", "PG_QUERY__TOKEN__STATEMENT", 674 }, + { "STATISTICS", "PG_QUERY__TOKEN__STATISTICS", 675 }, + { "STDIN", "PG_QUERY__TOKEN__STDIN", 676 }, + { "STDOUT", "PG_QUERY__TOKEN__STDOUT", 677 }, + { "STORAGE", "PG_QUERY__TOKEN__STORAGE", 678 }, + { "STORED", "PG_QUERY__TOKEN__STORED", 679 }, + { "STRICT_P", "PG_QUERY__TOKEN__STRICT_P", 680 }, + { "STRING_P", "PG_QUERY__TOKEN__STRING_P", 681 }, + { "STRIP_P", "PG_QUERY__TOKEN__STRIP_P", 682 }, + { "SUBSCRIPTION", "PG_QUERY__TOKEN__SUBSCRIPTION", 683 }, + { "SUBSTRING", "PG_QUERY__TOKEN__SUBSTRING", 684 }, + { "SUPPORT", "PG_QUERY__TOKEN__SUPPORT", 685 }, + { "SYMMETRIC", "PG_QUERY__TOKEN__SYMMETRIC", 686 }, + { "SYSID", "PG_QUERY__TOKEN__SYSID", 687 }, + { "SYSTEM_P", "PG_QUERY__TOKEN__SYSTEM_P", 688 }, + { "SYSTEM_USER", "PG_QUERY__TOKEN__SYSTEM_USER", 689 }, + { "TABLE", "PG_QUERY__TOKEN__TABLE", 690 }, + { "TABLES", "PG_QUERY__TOKEN__TABLES", 691 }, + { "TABLESAMPLE", "PG_QUERY__TOKEN__TABLESAMPLE", 692 }, + { "TABLESPACE", "PG_QUERY__TOKEN__TABLESPACE", 693 }, + { "TARGET", "PG_QUERY__TOKEN__TARGET", 694 }, + { "TEMP", "PG_QUERY__TOKEN__TEMP", 695 }, + { "TEMPLATE", "PG_QUERY__TOKEN__TEMPLATE", 696 }, + { "TEMPORARY", "PG_QUERY__TOKEN__TEMPORARY", 697 }, + { "TEXT_P", "PG_QUERY__TOKEN__TEXT_P", 698 }, + { "THEN", "PG_QUERY__TOKEN__THEN", 699 }, + { "TIES", "PG_QUERY__TOKEN__TIES", 700 }, + { "TIME", "PG_QUERY__TOKEN__TIME", 701 }, + { "TIMESTAMP", "PG_QUERY__TOKEN__TIMESTAMP", 702 }, + { "TO", "PG_QUERY__TOKEN__TO", 703 }, + { "TRAILING", "PG_QUERY__TOKEN__TRAILING", 704 }, + { "TRANSACTION", "PG_QUERY__TOKEN__TRANSACTION", 705 }, + { "TRANSFORM", "PG_QUERY__TOKEN__TRANSFORM", 706 }, + { "TREAT", "PG_QUERY__TOKEN__TREAT", 707 }, + { "TRIGGER", "PG_QUERY__TOKEN__TRIGGER", 708 }, + { "TRIM", "PG_QUERY__TOKEN__TRIM", 709 }, + { "TRUE_P", "PG_QUERY__TOKEN__TRUE_P", 710 }, + { "TRUNCATE", "PG_QUERY__TOKEN__TRUNCATE", 711 }, + { "TRUSTED", "PG_QUERY__TOKEN__TRUSTED", 712 }, + { "TYPE_P", "PG_QUERY__TOKEN__TYPE_P", 713 }, + { "TYPES_P", "PG_QUERY__TOKEN__TYPES_P", 714 }, + { "UESCAPE", "PG_QUERY__TOKEN__UESCAPE", 715 }, + { "UNBOUNDED", "PG_QUERY__TOKEN__UNBOUNDED", 716 }, + { "UNCONDITIONAL", "PG_QUERY__TOKEN__UNCONDITIONAL", 717 }, + { "UNCOMMITTED", "PG_QUERY__TOKEN__UNCOMMITTED", 718 }, + { "UNENCRYPTED", "PG_QUERY__TOKEN__UNENCRYPTED", 719 }, + { "UNION", "PG_QUERY__TOKEN__UNION", 720 }, + { "UNIQUE", "PG_QUERY__TOKEN__UNIQUE", 721 }, + { "UNKNOWN", "PG_QUERY__TOKEN__UNKNOWN", 722 }, + { "UNLISTEN", "PG_QUERY__TOKEN__UNLISTEN", 723 }, + { "UNLOGGED", "PG_QUERY__TOKEN__UNLOGGED", 724 }, + { "UNTIL", "PG_QUERY__TOKEN__UNTIL", 725 }, + { "UPDATE", "PG_QUERY__TOKEN__UPDATE", 726 }, + { "USER", "PG_QUERY__TOKEN__USER", 727 }, + { "USING", "PG_QUERY__TOKEN__USING", 728 }, + { "VACUUM", "PG_QUERY__TOKEN__VACUUM", 729 }, + { "VALID", "PG_QUERY__TOKEN__VALID", 730 }, + { "VALIDATE", "PG_QUERY__TOKEN__VALIDATE", 731 }, + { "VALIDATOR", "PG_QUERY__TOKEN__VALIDATOR", 732 }, + { "VALUE_P", "PG_QUERY__TOKEN__VALUE_P", 733 }, + { "VALUES", "PG_QUERY__TOKEN__VALUES", 734 }, + { "VARCHAR", "PG_QUERY__TOKEN__VARCHAR", 735 }, + { "VARIADIC", "PG_QUERY__TOKEN__VARIADIC", 736 }, + { "VARYING", "PG_QUERY__TOKEN__VARYING", 737 }, + { "VERBOSE", "PG_QUERY__TOKEN__VERBOSE", 738 }, + { "VERSION_P", "PG_QUERY__TOKEN__VERSION_P", 739 }, + { "VIEW", "PG_QUERY__TOKEN__VIEW", 740 }, + { "VIEWS", "PG_QUERY__TOKEN__VIEWS", 741 }, + { "VOLATILE", "PG_QUERY__TOKEN__VOLATILE", 742 }, + { "WHEN", "PG_QUERY__TOKEN__WHEN", 743 }, + { "WHERE", "PG_QUERY__TOKEN__WHERE", 744 }, + { "WHITESPACE_P", "PG_QUERY__TOKEN__WHITESPACE_P", 745 }, + { "WINDOW", "PG_QUERY__TOKEN__WINDOW", 746 }, + { "WITH", "PG_QUERY__TOKEN__WITH", 747 }, + { "WITHIN", "PG_QUERY__TOKEN__WITHIN", 748 }, + { "WITHOUT", "PG_QUERY__TOKEN__WITHOUT", 749 }, + { "WORK", "PG_QUERY__TOKEN__WORK", 750 }, + { "WRAPPER", "PG_QUERY__TOKEN__WRAPPER", 751 }, + { "WRITE", "PG_QUERY__TOKEN__WRITE", 752 }, + { "XML_P", "PG_QUERY__TOKEN__XML_P", 753 }, + { "XMLATTRIBUTES", "PG_QUERY__TOKEN__XMLATTRIBUTES", 754 }, + { "XMLCONCAT", "PG_QUERY__TOKEN__XMLCONCAT", 755 }, + { "XMLELEMENT", "PG_QUERY__TOKEN__XMLELEMENT", 756 }, + { "XMLEXISTS", "PG_QUERY__TOKEN__XMLEXISTS", 757 }, + { "XMLFOREST", "PG_QUERY__TOKEN__XMLFOREST", 758 }, + { "XMLNAMESPACES", "PG_QUERY__TOKEN__XMLNAMESPACES", 759 }, + { "XMLPARSE", "PG_QUERY__TOKEN__XMLPARSE", 760 }, + { "XMLPI", "PG_QUERY__TOKEN__XMLPI", 761 }, + { "XMLROOT", "PG_QUERY__TOKEN__XMLROOT", 762 }, + { "XMLSERIALIZE", "PG_QUERY__TOKEN__XMLSERIALIZE", 763 }, + { "XMLTABLE", "PG_QUERY__TOKEN__XMLTABLE", 764 }, + { "YEAR_P", "PG_QUERY__TOKEN__YEAR_P", 765 }, + { "YES_P", "PG_QUERY__TOKEN__YES_P", 766 }, + { "ZONE", "PG_QUERY__TOKEN__ZONE", 767 }, + { "FORMAT_LA", "PG_QUERY__TOKEN__FORMAT_LA", 768 }, + { "NOT_LA", "PG_QUERY__TOKEN__NOT_LA", 769 }, + { "NULLS_LA", "PG_QUERY__TOKEN__NULLS_LA", 770 }, + { "WITH_LA", "PG_QUERY__TOKEN__WITH_LA", 771 }, + { "WITHOUT_LA", "PG_QUERY__TOKEN__WITHOUT_LA", 772 }, + { "MODE_TYPE_NAME", "PG_QUERY__TOKEN__MODE_TYPE_NAME", 773 }, + { "MODE_PLPGSQL_EXPR", "PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR", 774 }, + { "MODE_PLPGSQL_ASSIGN1", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1", 775 }, + { "MODE_PLPGSQL_ASSIGN2", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2", 776 }, + { "MODE_PLPGSQL_ASSIGN3", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3", 777 }, + { "UMINUS", "PG_QUERY__TOKEN__UMINUS", 778 }, }; static const ProtobufCIntRange pg_query__token__value_ranges[] = { -{0, 0},{36, 1},{40, 3},{58, 11},{91, 17},{258, 21},{0, 522} +{0, 0},{36, 1},{40, 3},{58, 11},{91, 17},{258, 21},{0, 542} }; -static const ProtobufCEnumValueIndex pg_query__token__enum_values_by_name[522] = +static const ProtobufCEnumValueIndex pg_query__token__enum_values_by_name[542] = { { "ABORT_P", 40 }, { "ABSENT", 41 }, @@ -41202,438 +44041,458 @@ static const ProtobufCEnumValueIndex pg_query__token__enum_values_by_name[522] = { "COMMITTED", 105 }, { "COMPRESSION", 106 }, { "CONCURRENTLY", 107 }, - { "CONFIGURATION", 108 }, - { "CONFLICT", 109 }, - { "CONNECTION", 110 }, - { "CONSTRAINT", 111 }, - { "CONSTRAINTS", 112 }, - { "CONTENT_P", 113 }, - { "CONTINUE_P", 114 }, - { "CONVERSION_P", 115 }, - { "COPY", 116 }, - { "COST", 117 }, - { "CREATE", 118 }, - { "CROSS", 119 }, - { "CSV", 120 }, - { "CUBE", 121 }, - { "CURRENT_CATALOG", 123 }, - { "CURRENT_DATE", 124 }, - { "CURRENT_P", 122 }, - { "CURRENT_ROLE", 125 }, - { "CURRENT_SCHEMA", 126 }, - { "CURRENT_TIME", 127 }, - { "CURRENT_TIMESTAMP", 128 }, - { "CURRENT_USER", 129 }, - { "CURSOR", 130 }, - { "CYCLE", 131 }, + { "CONDITIONAL", 108 }, + { "CONFIGURATION", 109 }, + { "CONFLICT", 110 }, + { "CONNECTION", 111 }, + { "CONSTRAINT", 112 }, + { "CONSTRAINTS", 113 }, + { "CONTENT_P", 114 }, + { "CONTINUE_P", 115 }, + { "CONVERSION_P", 116 }, + { "COPY", 117 }, + { "COST", 118 }, + { "CREATE", 119 }, + { "CROSS", 120 }, + { "CSV", 121 }, + { "CUBE", 122 }, + { "CURRENT_CATALOG", 124 }, + { "CURRENT_DATE", 125 }, + { "CURRENT_P", 123 }, + { "CURRENT_ROLE", 126 }, + { "CURRENT_SCHEMA", 127 }, + { "CURRENT_TIME", 128 }, + { "CURRENT_TIMESTAMP", 129 }, + { "CURRENT_USER", 130 }, + { "CURSOR", 131 }, + { "CYCLE", 132 }, { "C_COMMENT", 39 }, - { "DATABASE", 133 }, - { "DATA_P", 132 }, - { "DAY_P", 134 }, - { "DEALLOCATE", 135 }, - { "DEC", 136 }, - { "DECIMAL_P", 137 }, - { "DECLARE", 138 }, - { "DEFAULT", 139 }, - { "DEFAULTS", 140 }, - { "DEFERRABLE", 141 }, - { "DEFERRED", 142 }, - { "DEFINER", 143 }, - { "DELETE_P", 144 }, - { "DELIMITER", 145 }, - { "DELIMITERS", 146 }, - { "DEPENDS", 147 }, - { "DEPTH", 148 }, - { "DESC", 149 }, - { "DETACH", 150 }, - { "DICTIONARY", 151 }, - { "DISABLE_P", 152 }, - { "DISCARD", 153 }, - { "DISTINCT", 154 }, - { "DO", 155 }, - { "DOCUMENT_P", 156 }, - { "DOMAIN_P", 157 }, + { "DATABASE", 134 }, + { "DATA_P", 133 }, + { "DAY_P", 135 }, + { "DEALLOCATE", 136 }, + { "DEC", 137 }, + { "DECIMAL_P", 138 }, + { "DECLARE", 139 }, + { "DEFAULT", 140 }, + { "DEFAULTS", 141 }, + { "DEFERRABLE", 142 }, + { "DEFERRED", 143 }, + { "DEFINER", 144 }, + { "DELETE_P", 145 }, + { "DELIMITER", 146 }, + { "DELIMITERS", 147 }, + { "DEPENDS", 148 }, + { "DEPTH", 149 }, + { "DESC", 150 }, + { "DETACH", 151 }, + { "DICTIONARY", 152 }, + { "DISABLE_P", 153 }, + { "DISCARD", 154 }, + { "DISTINCT", 155 }, + { "DO", 156 }, + { "DOCUMENT_P", 157 }, + { "DOMAIN_P", 158 }, { "DOT_DOT", 32 }, - { "DOUBLE_P", 158 }, - { "DROP", 159 }, - { "EACH", 160 }, - { "ELSE", 161 }, - { "ENABLE_P", 162 }, - { "ENCODING", 163 }, - { "ENCRYPTED", 164 }, - { "END_P", 165 }, - { "ENUM_P", 166 }, + { "DOUBLE_P", 159 }, + { "DROP", 160 }, + { "EACH", 161 }, + { "ELSE", 162 }, + { "EMPTY_P", 163 }, + { "ENABLE_P", 164 }, + { "ENCODING", 165 }, + { "ENCRYPTED", 166 }, + { "END_P", 167 }, + { "ENUM_P", 168 }, { "EQUALS_GREATER", 34 }, - { "ESCAPE", 167 }, - { "EVENT", 168 }, - { "EXCEPT", 169 }, - { "EXCLUDE", 170 }, - { "EXCLUDING", 171 }, - { "EXCLUSIVE", 172 }, - { "EXECUTE", 173 }, - { "EXISTS", 174 }, - { "EXPLAIN", 175 }, - { "EXPRESSION", 176 }, - { "EXTENSION", 177 }, - { "EXTERNAL", 178 }, - { "EXTRACT", 179 }, - { "FALSE_P", 180 }, - { "FAMILY", 181 }, + { "ERROR_P", 169 }, + { "ESCAPE", 170 }, + { "EVENT", 171 }, + { "EXCEPT", 172 }, + { "EXCLUDE", 173 }, + { "EXCLUDING", 174 }, + { "EXCLUSIVE", 175 }, + { "EXECUTE", 176 }, + { "EXISTS", 177 }, + { "EXPLAIN", 178 }, + { "EXPRESSION", 179 }, + { "EXTENSION", 180 }, + { "EXTERNAL", 181 }, + { "EXTRACT", 182 }, + { "FALSE_P", 183 }, + { "FAMILY", 184 }, { "FCONST", 23 }, - { "FETCH", 182 }, - { "FILTER", 183 }, - { "FINALIZE", 184 }, - { "FIRST_P", 185 }, - { "FLOAT_P", 186 }, - { "FOLLOWING", 187 }, - { "FOR", 188 }, - { "FORCE", 189 }, - { "FOREIGN", 190 }, - { "FORMAT", 191 }, - { "FORMAT_LA", 511 }, - { "FORWARD", 192 }, - { "FREEZE", 193 }, - { "FROM", 194 }, - { "FULL", 195 }, - { "FUNCTION", 196 }, - { "FUNCTIONS", 197 }, - { "GENERATED", 198 }, - { "GLOBAL", 199 }, - { "GRANT", 200 }, - { "GRANTED", 201 }, + { "FETCH", 185 }, + { "FILTER", 186 }, + { "FINALIZE", 187 }, + { "FIRST_P", 188 }, + { "FLOAT_P", 189 }, + { "FOLLOWING", 190 }, + { "FOR", 191 }, + { "FORCE", 192 }, + { "FOREIGN", 193 }, + { "FORMAT", 194 }, + { "FORMAT_LA", 531 }, + { "FORWARD", 195 }, + { "FREEZE", 196 }, + { "FROM", 197 }, + { "FULL", 198 }, + { "FUNCTION", 199 }, + { "FUNCTIONS", 200 }, + { "GENERATED", 201 }, + { "GLOBAL", 202 }, + { "GRANT", 203 }, + { "GRANTED", 204 }, { "GREATER_EQUALS", 36 }, - { "GREATEST", 202 }, - { "GROUPING", 204 }, - { "GROUPS", 205 }, - { "GROUP_P", 203 }, - { "HANDLER", 206 }, - { "HAVING", 207 }, - { "HEADER_P", 208 }, - { "HOLD", 209 }, - { "HOUR_P", 210 }, + { "GREATEST", 205 }, + { "GROUPING", 207 }, + { "GROUPS", 208 }, + { "GROUP_P", 206 }, + { "HANDLER", 209 }, + { "HAVING", 210 }, + { "HEADER_P", 211 }, + { "HOLD", 212 }, + { "HOUR_P", 213 }, { "ICONST", 29 }, { "IDENT", 21 }, - { "IDENTITY_P", 211 }, - { "IF_P", 212 }, - { "ILIKE", 213 }, - { "IMMEDIATE", 214 }, - { "IMMUTABLE", 215 }, - { "IMPLICIT_P", 216 }, - { "IMPORT_P", 217 }, - { "INCLUDE", 219 }, - { "INCLUDING", 220 }, - { "INCREMENT", 221 }, - { "INDENT", 222 }, - { "INDEX", 223 }, - { "INDEXES", 224 }, - { "INHERIT", 225 }, - { "INHERITS", 226 }, - { "INITIALLY", 227 }, - { "INLINE_P", 228 }, - { "INNER_P", 229 }, - { "INOUT", 230 }, - { "INPUT_P", 231 }, - { "INSENSITIVE", 232 }, - { "INSERT", 233 }, - { "INSTEAD", 234 }, - { "INTEGER", 236 }, - { "INTERSECT", 237 }, - { "INTERVAL", 238 }, - { "INTO", 239 }, - { "INT_P", 235 }, - { "INVOKER", 240 }, - { "IN_P", 218 }, - { "IS", 241 }, - { "ISNULL", 242 }, - { "ISOLATION", 243 }, - { "JOIN", 244 }, - { "JSON", 245 }, - { "JSON_ARRAY", 246 }, - { "JSON_ARRAYAGG", 247 }, - { "JSON_OBJECT", 248 }, - { "JSON_OBJECTAGG", 249 }, - { "KEY", 250 }, - { "KEYS", 251 }, - { "LABEL", 252 }, - { "LANGUAGE", 253 }, - { "LARGE_P", 254 }, - { "LAST_P", 255 }, - { "LATERAL_P", 256 }, - { "LEADING", 257 }, - { "LEAKPROOF", 258 }, - { "LEAST", 259 }, - { "LEFT", 260 }, + { "IDENTITY_P", 214 }, + { "IF_P", 215 }, + { "ILIKE", 216 }, + { "IMMEDIATE", 217 }, + { "IMMUTABLE", 218 }, + { "IMPLICIT_P", 219 }, + { "IMPORT_P", 220 }, + { "INCLUDE", 222 }, + { "INCLUDING", 223 }, + { "INCREMENT", 224 }, + { "INDENT", 225 }, + { "INDEX", 226 }, + { "INDEXES", 227 }, + { "INHERIT", 228 }, + { "INHERITS", 229 }, + { "INITIALLY", 230 }, + { "INLINE_P", 231 }, + { "INNER_P", 232 }, + { "INOUT", 233 }, + { "INPUT_P", 234 }, + { "INSENSITIVE", 235 }, + { "INSERT", 236 }, + { "INSTEAD", 237 }, + { "INTEGER", 239 }, + { "INTERSECT", 240 }, + { "INTERVAL", 241 }, + { "INTO", 242 }, + { "INT_P", 238 }, + { "INVOKER", 243 }, + { "IN_P", 221 }, + { "IS", 244 }, + { "ISNULL", 245 }, + { "ISOLATION", 246 }, + { "JOIN", 247 }, + { "JSON", 248 }, + { "JSON_ARRAY", 249 }, + { "JSON_ARRAYAGG", 250 }, + { "JSON_EXISTS", 251 }, + { "JSON_OBJECT", 252 }, + { "JSON_OBJECTAGG", 253 }, + { "JSON_QUERY", 254 }, + { "JSON_SCALAR", 255 }, + { "JSON_SERIALIZE", 256 }, + { "JSON_TABLE", 257 }, + { "JSON_VALUE", 258 }, + { "KEEP", 259 }, + { "KEY", 260 }, + { "KEYS", 261 }, + { "LABEL", 262 }, + { "LANGUAGE", 263 }, + { "LARGE_P", 264 }, + { "LAST_P", 265 }, + { "LATERAL_P", 266 }, + { "LEADING", 267 }, + { "LEAKPROOF", 268 }, + { "LEAST", 269 }, + { "LEFT", 270 }, { "LESS_EQUALS", 35 }, - { "LEVEL", 261 }, - { "LIKE", 262 }, - { "LIMIT", 263 }, - { "LISTEN", 264 }, - { "LOAD", 265 }, - { "LOCAL", 266 }, - { "LOCALTIME", 267 }, - { "LOCALTIMESTAMP", 268 }, - { "LOCATION", 269 }, - { "LOCKED", 271 }, - { "LOCK_P", 270 }, - { "LOGGED", 272 }, - { "MAPPING", 273 }, - { "MATCH", 274 }, - { "MATCHED", 275 }, - { "MATERIALIZED", 276 }, - { "MAXVALUE", 277 }, - { "MERGE", 278 }, - { "METHOD", 279 }, - { "MINUTE_P", 280 }, - { "MINVALUE", 281 }, - { "MODE", 282 }, - { "MODE_PLPGSQL_ASSIGN1", 518 }, - { "MODE_PLPGSQL_ASSIGN2", 519 }, - { "MODE_PLPGSQL_ASSIGN3", 520 }, - { "MODE_PLPGSQL_EXPR", 517 }, - { "MODE_TYPE_NAME", 516 }, - { "MONTH_P", 283 }, - { "MOVE", 284 }, - { "NAMES", 286 }, - { "NAME_P", 285 }, - { "NATIONAL", 287 }, - { "NATURAL", 288 }, - { "NCHAR", 289 }, - { "NEW", 290 }, - { "NEXT", 291 }, - { "NFC", 292 }, - { "NFD", 293 }, - { "NFKC", 294 }, - { "NFKD", 295 }, - { "NO", 296 }, - { "NONE", 297 }, - { "NORMALIZE", 298 }, - { "NORMALIZED", 299 }, - { "NOT", 300 }, - { "NOTHING", 301 }, - { "NOTIFY", 302 }, - { "NOTNULL", 303 }, + { "LEVEL", 271 }, + { "LIKE", 272 }, + { "LIMIT", 273 }, + { "LISTEN", 274 }, + { "LOAD", 275 }, + { "LOCAL", 276 }, + { "LOCALTIME", 277 }, + { "LOCALTIMESTAMP", 278 }, + { "LOCATION", 279 }, + { "LOCKED", 281 }, + { "LOCK_P", 280 }, + { "LOGGED", 282 }, + { "MAPPING", 283 }, + { "MATCH", 284 }, + { "MATCHED", 285 }, + { "MATERIALIZED", 286 }, + { "MAXVALUE", 287 }, + { "MERGE", 288 }, + { "MERGE_ACTION", 289 }, + { "METHOD", 290 }, + { "MINUTE_P", 291 }, + { "MINVALUE", 292 }, + { "MODE", 293 }, + { "MODE_PLPGSQL_ASSIGN1", 538 }, + { "MODE_PLPGSQL_ASSIGN2", 539 }, + { "MODE_PLPGSQL_ASSIGN3", 540 }, + { "MODE_PLPGSQL_EXPR", 537 }, + { "MODE_TYPE_NAME", 536 }, + { "MONTH_P", 294 }, + { "MOVE", 295 }, + { "NAMES", 297 }, + { "NAME_P", 296 }, + { "NATIONAL", 298 }, + { "NATURAL", 299 }, + { "NCHAR", 300 }, + { "NESTED", 301 }, + { "NEW", 302 }, + { "NEXT", 303 }, + { "NFC", 304 }, + { "NFD", 305 }, + { "NFKC", 306 }, + { "NFKD", 307 }, + { "NO", 308 }, + { "NONE", 309 }, + { "NORMALIZE", 310 }, + { "NORMALIZED", 311 }, + { "NOT", 312 }, + { "NOTHING", 313 }, + { "NOTIFY", 314 }, + { "NOTNULL", 315 }, { "NOT_EQUALS", 37 }, - { "NOT_LA", 512 }, - { "NOWAIT", 304 }, + { "NOT_LA", 532 }, + { "NOWAIT", 316 }, { "NUL", 0 }, - { "NULLIF", 306 }, - { "NULLS_LA", 513 }, - { "NULLS_P", 307 }, - { "NULL_P", 305 }, - { "NUMERIC", 308 }, - { "OBJECT_P", 309 }, - { "OF", 310 }, - { "OFF", 311 }, - { "OFFSET", 312 }, - { "OIDS", 313 }, - { "OLD", 314 }, - { "ON", 315 }, - { "ONLY", 316 }, - { "OPERATOR", 317 }, - { "OPTION", 318 }, - { "OPTIONS", 319 }, - { "OR", 320 }, - { "ORDER", 321 }, - { "ORDINALITY", 322 }, - { "OTHERS", 323 }, - { "OUTER_P", 325 }, - { "OUT_P", 324 }, - { "OVER", 326 }, - { "OVERLAPS", 327 }, - { "OVERLAY", 328 }, - { "OVERRIDING", 329 }, - { "OWNED", 330 }, - { "OWNER", 331 }, + { "NULLIF", 318 }, + { "NULLS_LA", 533 }, + { "NULLS_P", 319 }, + { "NULL_P", 317 }, + { "NUMERIC", 320 }, + { "OBJECT_P", 321 }, + { "OF", 322 }, + { "OFF", 323 }, + { "OFFSET", 324 }, + { "OIDS", 325 }, + { "OLD", 326 }, + { "OMIT", 327 }, + { "ON", 328 }, + { "ONLY", 329 }, + { "OPERATOR", 330 }, + { "OPTION", 331 }, + { "OPTIONS", 332 }, + { "OR", 333 }, + { "ORDER", 334 }, + { "ORDINALITY", 335 }, + { "OTHERS", 336 }, + { "OUTER_P", 338 }, + { "OUT_P", 337 }, + { "OVER", 339 }, + { "OVERLAPS", 340 }, + { "OVERLAY", 341 }, + { "OVERRIDING", 342 }, + { "OWNED", 343 }, + { "OWNER", 344 }, { "Op", 28 }, - { "PARALLEL", 332 }, + { "PARALLEL", 345 }, { "PARAM", 30 }, - { "PARAMETER", 333 }, - { "PARSER", 334 }, - { "PARTIAL", 335 }, - { "PARTITION", 336 }, - { "PASSING", 337 }, - { "PASSWORD", 338 }, - { "PLACING", 339 }, - { "PLANS", 340 }, - { "POLICY", 341 }, - { "POSITION", 342 }, - { "PRECEDING", 343 }, - { "PRECISION", 344 }, - { "PREPARE", 346 }, - { "PREPARED", 347 }, - { "PRESERVE", 345 }, - { "PRIMARY", 348 }, - { "PRIOR", 349 }, - { "PRIVILEGES", 350 }, - { "PROCEDURAL", 351 }, - { "PROCEDURE", 352 }, - { "PROCEDURES", 353 }, - { "PROGRAM", 354 }, - { "PUBLICATION", 355 }, - { "QUOTE", 356 }, - { "RANGE", 357 }, - { "READ", 358 }, - { "REAL", 359 }, - { "REASSIGN", 360 }, - { "RECHECK", 361 }, - { "RECURSIVE", 362 }, - { "REFERENCES", 364 }, - { "REFERENCING", 365 }, - { "REFRESH", 366 }, - { "REF_P", 363 }, - { "REINDEX", 367 }, - { "RELATIVE_P", 368 }, - { "RELEASE", 369 }, - { "RENAME", 370 }, - { "REPEATABLE", 371 }, - { "REPLACE", 372 }, - { "REPLICA", 373 }, - { "RESET", 374 }, - { "RESTART", 375 }, - { "RESTRICT", 376 }, - { "RETURN", 377 }, - { "RETURNING", 378 }, - { "RETURNS", 379 }, - { "REVOKE", 380 }, - { "RIGHT", 381 }, - { "ROLE", 382 }, - { "ROLLBACK", 383 }, - { "ROLLUP", 384 }, - { "ROUTINE", 385 }, - { "ROUTINES", 386 }, - { "ROW", 387 }, - { "ROWS", 388 }, - { "RULE", 389 }, - { "SAVEPOINT", 390 }, - { "SCALAR", 391 }, - { "SCHEMA", 392 }, - { "SCHEMAS", 393 }, + { "PARAMETER", 346 }, + { "PARSER", 347 }, + { "PARTIAL", 348 }, + { "PARTITION", 349 }, + { "PASSING", 350 }, + { "PASSWORD", 351 }, + { "PATH", 352 }, + { "PLACING", 353 }, + { "PLAN", 354 }, + { "PLANS", 355 }, + { "POLICY", 356 }, + { "POSITION", 357 }, + { "PRECEDING", 358 }, + { "PRECISION", 359 }, + { "PREPARE", 361 }, + { "PREPARED", 362 }, + { "PRESERVE", 360 }, + { "PRIMARY", 363 }, + { "PRIOR", 364 }, + { "PRIVILEGES", 365 }, + { "PROCEDURAL", 366 }, + { "PROCEDURE", 367 }, + { "PROCEDURES", 368 }, + { "PROGRAM", 369 }, + { "PUBLICATION", 370 }, + { "QUOTE", 371 }, + { "QUOTES", 372 }, + { "RANGE", 373 }, + { "READ", 374 }, + { "REAL", 375 }, + { "REASSIGN", 376 }, + { "RECHECK", 377 }, + { "RECURSIVE", 378 }, + { "REFERENCES", 380 }, + { "REFERENCING", 381 }, + { "REFRESH", 382 }, + { "REF_P", 379 }, + { "REINDEX", 383 }, + { "RELATIVE_P", 384 }, + { "RELEASE", 385 }, + { "RENAME", 386 }, + { "REPEATABLE", 387 }, + { "REPLACE", 388 }, + { "REPLICA", 389 }, + { "RESET", 390 }, + { "RESTART", 391 }, + { "RESTRICT", 392 }, + { "RETURN", 393 }, + { "RETURNING", 394 }, + { "RETURNS", 395 }, + { "REVOKE", 396 }, + { "RIGHT", 397 }, + { "ROLE", 398 }, + { "ROLLBACK", 399 }, + { "ROLLUP", 400 }, + { "ROUTINE", 401 }, + { "ROUTINES", 402 }, + { "ROW", 403 }, + { "ROWS", 404 }, + { "RULE", 405 }, + { "SAVEPOINT", 406 }, + { "SCALAR", 407 }, + { "SCHEMA", 408 }, + { "SCHEMAS", 409 }, { "SCONST", 24 }, - { "SCROLL", 394 }, - { "SEARCH", 395 }, - { "SECOND_P", 396 }, - { "SECURITY", 397 }, - { "SELECT", 398 }, - { "SEQUENCE", 399 }, - { "SEQUENCES", 400 }, - { "SERIALIZABLE", 401 }, - { "SERVER", 402 }, - { "SESSION", 403 }, - { "SESSION_USER", 404 }, - { "SET", 405 }, - { "SETOF", 407 }, - { "SETS", 406 }, - { "SHARE", 408 }, - { "SHOW", 409 }, - { "SIMILAR", 410 }, - { "SIMPLE", 411 }, - { "SKIP", 412 }, - { "SMALLINT", 413 }, - { "SNAPSHOT", 414 }, - { "SOME", 415 }, + { "SCROLL", 410 }, + { "SEARCH", 411 }, + { "SECOND_P", 412 }, + { "SECURITY", 413 }, + { "SELECT", 414 }, + { "SEQUENCE", 415 }, + { "SEQUENCES", 416 }, + { "SERIALIZABLE", 417 }, + { "SERVER", 418 }, + { "SESSION", 419 }, + { "SESSION_USER", 420 }, + { "SET", 421 }, + { "SETOF", 423 }, + { "SETS", 422 }, + { "SHARE", 424 }, + { "SHOW", 425 }, + { "SIMILAR", 426 }, + { "SIMPLE", 427 }, + { "SKIP", 428 }, + { "SMALLINT", 429 }, + { "SNAPSHOT", 430 }, + { "SOME", 431 }, + { "SOURCE", 432 }, { "SQL_COMMENT", 38 }, - { "SQL_P", 416 }, - { "STABLE", 417 }, - { "STANDALONE_P", 418 }, - { "START", 419 }, - { "STATEMENT", 420 }, - { "STATISTICS", 421 }, - { "STDIN", 422 }, - { "STDOUT", 423 }, - { "STORAGE", 424 }, - { "STORED", 425 }, - { "STRICT_P", 426 }, - { "STRIP_P", 427 }, - { "SUBSCRIPTION", 428 }, - { "SUBSTRING", 429 }, - { "SUPPORT", 430 }, - { "SYMMETRIC", 431 }, - { "SYSID", 432 }, - { "SYSTEM_P", 433 }, - { "SYSTEM_USER", 434 }, - { "TABLE", 435 }, - { "TABLES", 436 }, - { "TABLESAMPLE", 437 }, - { "TABLESPACE", 438 }, - { "TEMP", 439 }, - { "TEMPLATE", 440 }, - { "TEMPORARY", 441 }, - { "TEXT_P", 442 }, - { "THEN", 443 }, - { "TIES", 444 }, - { "TIME", 445 }, - { "TIMESTAMP", 446 }, - { "TO", 447 }, - { "TRAILING", 448 }, - { "TRANSACTION", 449 }, - { "TRANSFORM", 450 }, - { "TREAT", 451 }, - { "TRIGGER", 452 }, - { "TRIM", 453 }, - { "TRUE_P", 454 }, - { "TRUNCATE", 455 }, - { "TRUSTED", 456 }, + { "SQL_P", 433 }, + { "STABLE", 434 }, + { "STANDALONE_P", 435 }, + { "START", 436 }, + { "STATEMENT", 437 }, + { "STATISTICS", 438 }, + { "STDIN", 439 }, + { "STDOUT", 440 }, + { "STORAGE", 441 }, + { "STORED", 442 }, + { "STRICT_P", 443 }, + { "STRING_P", 444 }, + { "STRIP_P", 445 }, + { "SUBSCRIPTION", 446 }, + { "SUBSTRING", 447 }, + { "SUPPORT", 448 }, + { "SYMMETRIC", 449 }, + { "SYSID", 450 }, + { "SYSTEM_P", 451 }, + { "SYSTEM_USER", 452 }, + { "TABLE", 453 }, + { "TABLES", 454 }, + { "TABLESAMPLE", 455 }, + { "TABLESPACE", 456 }, + { "TARGET", 457 }, + { "TEMP", 458 }, + { "TEMPLATE", 459 }, + { "TEMPORARY", 460 }, + { "TEXT_P", 461 }, + { "THEN", 462 }, + { "TIES", 463 }, + { "TIME", 464 }, + { "TIMESTAMP", 465 }, + { "TO", 466 }, + { "TRAILING", 467 }, + { "TRANSACTION", 468 }, + { "TRANSFORM", 469 }, + { "TREAT", 470 }, + { "TRIGGER", 471 }, + { "TRIM", 472 }, + { "TRUE_P", 473 }, + { "TRUNCATE", 474 }, + { "TRUSTED", 475 }, { "TYPECAST", 31 }, - { "TYPES_P", 458 }, - { "TYPE_P", 457 }, - { "UESCAPE", 459 }, + { "TYPES_P", 477 }, + { "TYPE_P", 476 }, + { "UESCAPE", 478 }, { "UIDENT", 22 }, - { "UMINUS", 521 }, - { "UNBOUNDED", 460 }, - { "UNCOMMITTED", 461 }, - { "UNENCRYPTED", 462 }, - { "UNION", 463 }, - { "UNIQUE", 464 }, - { "UNKNOWN", 465 }, - { "UNLISTEN", 466 }, - { "UNLOGGED", 467 }, - { "UNTIL", 468 }, - { "UPDATE", 469 }, + { "UMINUS", 541 }, + { "UNBOUNDED", 479 }, + { "UNCOMMITTED", 481 }, + { "UNCONDITIONAL", 480 }, + { "UNENCRYPTED", 482 }, + { "UNION", 483 }, + { "UNIQUE", 484 }, + { "UNKNOWN", 485 }, + { "UNLISTEN", 486 }, + { "UNLOGGED", 487 }, + { "UNTIL", 488 }, + { "UPDATE", 489 }, { "USCONST", 25 }, - { "USER", 470 }, - { "USING", 471 }, - { "VACUUM", 472 }, - { "VALID", 473 }, - { "VALIDATE", 474 }, - { "VALIDATOR", 475 }, - { "VALUES", 477 }, - { "VALUE_P", 476 }, - { "VARCHAR", 478 }, - { "VARIADIC", 479 }, - { "VARYING", 480 }, - { "VERBOSE", 481 }, - { "VERSION_P", 482 }, - { "VIEW", 483 }, - { "VIEWS", 484 }, - { "VOLATILE", 485 }, - { "WHEN", 486 }, - { "WHERE", 487 }, - { "WHITESPACE_P", 488 }, - { "WINDOW", 489 }, - { "WITH", 490 }, - { "WITHIN", 491 }, - { "WITHOUT", 492 }, - { "WITHOUT_LA", 515 }, - { "WITH_LA", 514 }, - { "WORK", 493 }, - { "WRAPPER", 494 }, - { "WRITE", 495 }, + { "USER", 490 }, + { "USING", 491 }, + { "VACUUM", 492 }, + { "VALID", 493 }, + { "VALIDATE", 494 }, + { "VALIDATOR", 495 }, + { "VALUES", 497 }, + { "VALUE_P", 496 }, + { "VARCHAR", 498 }, + { "VARIADIC", 499 }, + { "VARYING", 500 }, + { "VERBOSE", 501 }, + { "VERSION_P", 502 }, + { "VIEW", 503 }, + { "VIEWS", 504 }, + { "VOLATILE", 505 }, + { "WHEN", 506 }, + { "WHERE", 507 }, + { "WHITESPACE_P", 508 }, + { "WINDOW", 509 }, + { "WITH", 510 }, + { "WITHIN", 511 }, + { "WITHOUT", 512 }, + { "WITHOUT_LA", 535 }, + { "WITH_LA", 534 }, + { "WORK", 513 }, + { "WRAPPER", 514 }, + { "WRITE", 515 }, { "XCONST", 27 }, - { "XMLATTRIBUTES", 497 }, - { "XMLCONCAT", 498 }, - { "XMLELEMENT", 499 }, - { "XMLEXISTS", 500 }, - { "XMLFOREST", 501 }, - { "XMLNAMESPACES", 502 }, - { "XMLPARSE", 503 }, - { "XMLPI", 504 }, - { "XMLROOT", 505 }, - { "XMLSERIALIZE", 506 }, - { "XMLTABLE", 507 }, - { "XML_P", 496 }, - { "YEAR_P", 508 }, - { "YES_P", 509 }, - { "ZONE", 510 }, + { "XMLATTRIBUTES", 517 }, + { "XMLCONCAT", 518 }, + { "XMLELEMENT", 519 }, + { "XMLEXISTS", 520 }, + { "XMLFOREST", 521 }, + { "XMLNAMESPACES", 522 }, + { "XMLPARSE", 523 }, + { "XMLPI", 524 }, + { "XMLROOT", 525 }, + { "XMLSERIALIZE", 526 }, + { "XMLTABLE", 527 }, + { "XML_P", 516 }, + { "YEAR_P", 528 }, + { "YES_P", 529 }, + { "ZONE", 530 }, }; const ProtobufCEnumDescriptor pg_query__token__descriptor = { @@ -41642,9 +44501,9 @@ const ProtobufCEnumDescriptor pg_query__token__descriptor = "Token", "PgQuery__Token", "pg_query", - 522, + 542, pg_query__token__enum_values_by_number, - 522, + 542, pg_query__token__enum_values_by_name, 6, pg_query__token__value_ranges, diff --git a/parser/pg_query_outfuncs_json.c b/parser/pg_query_outfuncs_json.c index 328b1f82..d4d74bff 100644 --- a/parser/pg_query_outfuncs_json.c +++ b/parser/pg_query_outfuncs_json.c @@ -203,7 +203,9 @@ _outOidList(StringInfo out, const List *node) static void _outInteger(StringInfo out, const Integer *node) { - if (node->ival > 0) + /* Don't output anything if the value is the default (0), to match + * protobuf's behavior. */ + if (node->ival != 0) appendStringInfo(out, "\"ival\":%d", node->ival); } diff --git a/parser/pg_query_parse_plpgsql.c b/parser/pg_query_parse_plpgsql.c index 65139e65..865d69e8 100644 --- a/parser/pg_query_parse_plpgsql.c +++ b/parser/pg_query_parse_plpgsql.c @@ -219,20 +219,19 @@ static PLpgSQL_function *compile_create_function_stmt(CreateFunctionStmt* stmt) foreach(lc, stmt->parameters) { FunctionParameter *param = lfirst_node(FunctionParameter, lc); + char buf[32]; + PLpgSQL_type *argdtype; + PLpgSQL_variable *argvariable; + PLpgSQL_nsitem_type argitemtype; + snprintf(buf, sizeof(buf), "$%d", foreach_current_index(lc) + 1); + argdtype = plpgsql_build_datatype(UNKNOWNOID, -1, InvalidOid, param->argType); + argvariable = plpgsql_build_variable(param->name ? param->name : buf, 0, argdtype, false); + if (param->mode == FUNC_PARAM_OUT || param->mode == FUNC_PARAM_INOUT || param->mode == FUNC_PARAM_TABLE) + function->out_param_varno = argvariable->dno; + argitemtype = argvariable->dtype == PLPGSQL_DTYPE_VAR ? PLPGSQL_NSTYPE_VAR : PLPGSQL_NSTYPE_REC; + plpgsql_ns_additem(argitemtype, argvariable->dno, buf); if (param->name != NULL) - { - char buf[32]; - PLpgSQL_type *argdtype; - PLpgSQL_variable *argvariable; - PLpgSQL_nsitem_type argitemtype; - snprintf(buf, sizeof(buf), "$%d", foreach_current_index(lc) + 1); - argdtype = plpgsql_build_datatype(UNKNOWNOID, -1, InvalidOid, NULL); - argvariable = plpgsql_build_variable(param->name ? param->name : buf, 0, argdtype, false); - argitemtype = argvariable->dtype == PLPGSQL_DTYPE_VAR ? PLPGSQL_NSTYPE_VAR : PLPGSQL_NSTYPE_REC; - plpgsql_ns_additem(argitemtype, argvariable->dno, buf); - if (param->name != NULL) - plpgsql_ns_additem(argitemtype, argvariable->dno, param->name); - } + plpgsql_ns_additem(argitemtype, argvariable->dno, param->name); } /* Set up as though in a function returning VOID */ diff --git a/parser/pg_query_readfuncs_protobuf.c b/parser/pg_query_readfuncs_protobuf.c index b3f80d1e..d0a7e21a 100644 --- a/parser/pg_query_readfuncs_protobuf.c +++ b/parser/pg_query_readfuncs_protobuf.c @@ -50,9 +50,9 @@ node->fldname = _readNode(msg->outname); \ } -#define READ_EXPR_PTR_FIELD(outname, outname_json, fldname) \ +#define READ_ABSTRACT_PTR_FIELD(outname, outname_json, fldname, fldtype) \ if (msg->outname != NULL) { \ - node->fldname = (Expr *) _readNode(msg->outname); \ + node->fldname = (fldtype) _readNode(msg->outname); \ } #define READ_VALUE_FIELD(outname, outname_json, fldname) \ diff --git a/parser/postgres_deparse.c b/parser/postgres_deparse.c index e076c95e..fd4e0add 100644 --- a/parser/postgres_deparse.c +++ b/parser/postgres_deparse.c @@ -196,6 +196,20 @@ static void deparseJsonArrayAgg(StringInfo str, JsonArrayAgg *json_array_agg); static void deparseJsonObjectConstructor(StringInfo str, JsonObjectConstructor *json_object_constructor); static void deparseJsonArrayConstructor(StringInfo str, JsonArrayConstructor *json_array_constructor); static void deparseJsonArrayQueryConstructor(StringInfo str, JsonArrayQueryConstructor *json_array_query_constructor); +static void deparseJsonValueExpr(StringInfo str, JsonValueExpr *json_value_expr); +static void deparseJsonOutput(StringInfo str, JsonOutput *json_output); +static void deparseJsonParseExpr(StringInfo str, JsonParseExpr *json_parse_expr); +static void deparseJsonScalarExpr(StringInfo str, JsonScalarExpr *json_scalar_expr); +static void deparseJsonSerializeExpr(StringInfo str, JsonSerializeExpr *json_serialize_expr); +static void deparseJsonTable(StringInfo str, JsonTable *json_table); +static void deparseJsonTableColumn(StringInfo str, JsonTableColumn *json_table_column); +static void deparseJsonTableColumns(StringInfo str, List *json_table_columns); +static void deparseJsonTablePathSpec(StringInfo str, JsonTablePathSpec *json_table_path_spec); +static void deparseJsonBehavior(StringInfo str, JsonBehavior *json_behavior); +static void deparseJsonFuncExpr(StringInfo str, JsonFuncExpr *json_func_expr); +static void deparseJsonQuotesClauseOpt(StringInfo str, JsonQuotes quotes); +static void deparseJsonOnErrorClauseOpt(StringInfo str, JsonBehavior *behavior); +static void deparseJsonOnEmptyClauseOpt(StringInfo str, JsonBehavior *behavior); static void deparseConstraint(StringInfo str, Constraint *constraint); static void deparseSchemaStmt(StringInfo str, Node *node); static void deparseExecuteStmt(StringInfo str, ExecuteStmt *execute_stmt); @@ -340,6 +354,21 @@ static void deparseExpr(StringInfo str, Node *node) case T_SetToDefault: deparseSetToDefault(str, castNode(SetToDefault, node)); break; + case T_MergeSupportFunc: + appendStringInfoString(str, "merge_action() "); + break; + case T_JsonParseExpr: + deparseJsonParseExpr(str, castNode(JsonParseExpr, node)); + break; + case T_JsonScalarExpr: + deparseJsonScalarExpr(str, castNode(JsonScalarExpr, node)); + break; + case T_JsonSerializeExpr: + deparseJsonSerializeExpr(str, castNode(JsonSerializeExpr, node)); + break; + case T_JsonFuncExpr: + deparseJsonFuncExpr(str, castNode(JsonFuncExpr, node)); + break; case T_FuncCall: case T_SQLValueFunction: case T_MinMaxExpr: @@ -1654,6 +1683,9 @@ static void deparseTableRef(StringInfo str, Node *node) case T_JoinExpr: deparseJoinExpr(str, castNode(JoinExpr, node)); break; + case T_JsonTable: + deparseJsonTable(str, castNode(JsonTable, node)); + break; default: Assert(false); } @@ -2661,14 +2693,21 @@ static void deparseFuncCall(StringInfo str, FuncCall *func_call) list_length(func_call->funcname) == 2 && strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && strcmp(strVal(lsecond(func_call->funcname)), "timezone") == 0 && - list_length(func_call->args) == 2) + list_length(func_call->args) > 0 && + list_length(func_call->args) <= 2) { /* * "AT TIME ZONE" is a keyword on its own merit, and only accepts the * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.timezone) * Note that the arguments are swapped in this case */ - Expr* e = lsecond(func_call->args); + Expr* e; + bool isLocal = list_length(func_call->args) == 1; + + if (isLocal) + e = linitial(func_call->args); + else + e = lsecond(func_call->args); if (IsA(e, A_Expr)) { appendStringInfoChar(str, '('); @@ -2680,8 +2719,12 @@ static void deparseFuncCall(StringInfo str, FuncCall *func_call) appendStringInfoChar(str, ')'); } - appendStringInfoString(str, " AT TIME ZONE "); - deparseExpr(str, linitial(func_call->args)); + if (isLocal) + appendStringInfoString(str, " AT LOCAL"); + else { + appendStringInfoString(str, " AT TIME ZONE "); + deparseExpr(str, linitial(func_call->args)); + } return; } else if (func_call->funcformat == COERCE_SQL_SYNTAX && list_length(func_call->funcname) == 2 && @@ -4006,7 +4049,8 @@ static void deparseAIndirection(StringInfo str, A_Indirection *a_indirection) IsA(a_indirection->arg, A_Expr) || IsA(a_indirection->arg, TypeCast) || IsA(a_indirection->arg, RowExpr) || - (IsA(a_indirection->arg, ColumnRef) && !IsA(linitial(a_indirection->indirection), A_Indices)); + (IsA(a_indirection->arg, ColumnRef) && !IsA(linitial(a_indirection->indirection), A_Indices)) || + IsA(a_indirection->arg, JsonFuncExpr); if (need_parens) appendStringInfoChar(str, '('); @@ -4332,20 +4376,26 @@ static void deparseMergeStmt(StringInfo str, MergeStmt *merge_stmt) deparseExpr(str, merge_stmt->joinCondition); appendStringInfoChar(str, ' '); - ListCell *lc, *lc2; + ListCell *lc; foreach (lc, merge_stmt->mergeWhenClauses) { MergeWhenClause *clause = castNode(MergeWhenClause, lfirst(lc)); appendStringInfoString(str, "WHEN "); - if (!clause->matched) + switch (clause->matchKind) { - appendStringInfoString(str, "NOT "); + case MERGE_WHEN_MATCHED: + appendStringInfoString(str, "MATCHED "); + break; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: + appendStringInfoString(str, "NOT MATCHED BY SOURCE "); + break; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: + appendStringInfoString(str, "NOT MATCHED "); + break; } - appendStringInfoString(str, "MATCHED "); - if (clause->condition) { appendStringInfoString(str, "AND "); @@ -4394,6 +4444,12 @@ static void deparseMergeStmt(StringInfo str, MergeStmt *merge_stmt) if (lfirst(lc) != llast(merge_stmt->mergeWhenClauses)) appendStringInfoChar(str, ' '); } + + if (merge_stmt->returningList) + { + appendStringInfoString(str, " RETURNING "); + deparseTargetList(str, merge_stmt->returningList); + } } static void deparseDeleteStmt(StringInfo str, DeleteStmt *delete_stmt) @@ -4823,9 +4879,18 @@ static void deparseConstraint(StringInfo str, Constraint *constraint) if (list_length(constraint->keys) > 0) { - appendStringInfoChar(str, '('); - deparseColumnList(str, constraint->keys); - appendStringInfoString(str, ") "); + bool valueOnly = false; + + if (list_length(constraint->keys) == 1) { + Node* firstKey = constraint->keys->elements[0].ptr_value; + valueOnly = IsA(firstKey, String) && !strcmp("value", ((String*)firstKey)->sval); + } + + if (!valueOnly) { + appendStringInfoChar(str, '('); + deparseColumnList(str, constraint->keys); + appendStringInfoString(str, ") "); + } } if (list_length(constraint->fk_attrs) > 0) @@ -6525,6 +6590,9 @@ static void deparseAlterTableCmd(StringInfo str, AlterTableCmd *alter_table_cmd, options = "DROP IDENTITY"; trailing_missing_ok = true; break; + case AT_SetExpression: + appendStringInfoString(str, "ALTER COLUMN "); + break; } if (alter_table_cmd->missing_ok && !trailing_missing_ok) @@ -6539,6 +6607,9 @@ static void deparseAlterTableCmd(StringInfo str, AlterTableCmd *alter_table_cmd, { appendStringInfoString(str, quote_identifier(alter_table_cmd->name)); appendStringInfoChar(str, ' '); + } else if (alter_table_cmd->subtype == AT_SetAccessMethod) + { + appendStringInfoString(str, " DEFAULT"); } if (alter_table_cmd->num > 0) @@ -6626,6 +6697,11 @@ static void deparseAlterTableCmd(StringInfo str, AlterTableCmd *alter_table_cmd, deparseReplicaIdentityStmt(str, castNode(ReplicaIdentityStmt, alter_table_cmd->def)); appendStringInfoChar(str, ' '); break; + case AT_SetExpression: + appendStringInfoString(str, "SET EXPRESSION AS ("); + deparseExpr(str, alter_table_cmd->def); + appendStringInfoChar(str, ')'); + break; default: Assert(alter_table_cmd->def == NULL); break; @@ -7509,15 +7585,29 @@ static void deparseCopyStmt(StringInfo str, CopyStmt *copy_stmt) } else if (strcmp(def_elem->defname, "force_not_null") == 0) { - appendStringInfoString(str, "FORCE_NOT_NULL ("); - deparseColumnList(str, castNode(List, def_elem->arg)); - appendStringInfoChar(str, ')'); + appendStringInfoString(str, "FORCE_NOT_NULL "); + + if (IsA(def_elem->arg, A_Star)) + deparseAStar(str, castNode(A_Star, def_elem->arg)); + else + { + appendStringInfoChar(str, '('); + deparseColumnList(str, castNode(List, def_elem->arg)); + appendStringInfoChar(str, ')'); + } } else if (strcmp(def_elem->defname, "force_null") == 0) { - appendStringInfoString(str, "FORCE_NULL ("); - deparseColumnList(str, castNode(List, def_elem->arg)); - appendStringInfoChar(str, ')'); + appendStringInfoString(str, "FORCE_NULL "); + + if (IsA(def_elem->arg, A_Star)) + deparseAStar(str, castNode(A_Star, def_elem->arg)); + else + { + appendStringInfoChar(str, '('); + deparseColumnList(str, castNode(List, def_elem->arg)); + appendStringInfoChar(str, ')'); + } } else if (strcmp(def_elem->defname, "encoding") == 0) { @@ -8617,7 +8707,7 @@ static void deparseFetchStmt(StringInfo str, FetchStmt *fetch_stmt) appendStringInfo(str, "RELATIVE %ld ", fetch_stmt->howMany); } - appendStringInfoString(str, fetch_stmt->portalname); + appendStringInfoString(str, quote_identifier(fetch_stmt->portalname)); } static void deparseAlterDefaultPrivilegesStmt(StringInfo str, AlterDefaultPrivilegesStmt *alter_default_privileges_stmt) @@ -9559,7 +9649,10 @@ static void deparseAlterStatsStmt(StringInfo str, AlterStatsStmt *alter_stats_st deparseAnyName(str, alter_stats_stmt->defnames); appendStringInfoChar(str, ' '); - appendStringInfo(str, "SET STATISTICS %d", alter_stats_stmt->stxstattarget); + if (alter_stats_stmt->stxstattarget) + appendStringInfo(str, "SET STATISTICS %d", castNode(Integer, alter_stats_stmt->stxstattarget)->ival); + else + appendStringInfo(str, "SET STATISTICS DEFAULT"); } static void deparseAlterTSDictionaryStmt(StringInfo str, AlterTSDictionaryStmt *alter_ts_dictionary_stmt) @@ -10506,6 +10599,301 @@ static void deparseJsonArrayQueryConstructor(StringInfo str, JsonArrayQueryConst appendStringInfoChar(str, ')'); } +static void deparseJsonParseExpr(StringInfo str, JsonParseExpr *json_parse_expr) +{ + appendStringInfoString(str, "JSON("); + + deparseJsonValueExpr(str, json_parse_expr->expr); + + if (json_parse_expr->unique_keys) + appendStringInfoString(str, " WITH UNIQUE KEYS"); + + appendStringInfoString(str, ")"); +} + +static void deparseJsonScalarExpr(StringInfo str, JsonScalarExpr *json_scalar_expr) +{ + appendStringInfoString(str, "JSON_SCALAR("); + deparseExpr(str, (Node*) json_scalar_expr->expr); + appendStringInfoString(str, ")"); +} + +static void deparseJsonSerializeExpr(StringInfo str, JsonSerializeExpr *json_serialize_expr) +{ + appendStringInfoString(str, "JSON_SERIALIZE("); + + deparseJsonValueExpr(str, json_serialize_expr->expr); + + if (json_serialize_expr->output) + deparseJsonOutput(str, json_serialize_expr->output); + + appendStringInfoString(str, ")"); +} + +static void deparseJsonQuotesClauseOpt(StringInfo str, JsonQuotes quotes) +{ + switch (quotes) + { + case JS_QUOTES_UNSPEC: + break; + case JS_QUOTES_KEEP: + appendStringInfoString(str, " KEEP QUOTES"); + break; + case JS_QUOTES_OMIT: + appendStringInfoString(str, " OMIT QUOTES"); + break; + } +} + +static void deparseJsonOnErrorClauseOpt(StringInfo str, JsonBehavior *behavior) +{ + if (!behavior) + return; + + appendStringInfoChar(str, ' '); + deparseJsonBehavior(str, behavior); + appendStringInfoString(str, " ON ERROR"); +} + +static void deparseJsonOnEmptyClauseOpt(StringInfo str, JsonBehavior *behavior) +{ + if (behavior) + { + appendStringInfoChar(str, ' '); + deparseJsonBehavior(str, behavior); + appendStringInfoString(str, " ON EMPTY"); + } +} + +static void deparseJsonFuncExpr(StringInfo str, JsonFuncExpr *json_func_expr) +{ + switch (json_func_expr->op) + { + case JSON_EXISTS_OP: + appendStringInfoString(str, "JSON_EXISTS("); + break; + case JSON_QUERY_OP: + appendStringInfoString(str, "JSON_QUERY("); + break; + case JSON_VALUE_OP: + appendStringInfoString(str, "JSON_VALUE("); + break; + case JSON_TABLE_OP: + appendStringInfoString(str, "JSON_TABLE("); + break; + } + + deparseJsonValueExpr(str, json_func_expr->context_item); + appendStringInfoString(str, ", "); + deparseExpr(str, json_func_expr->pathspec); + + if (json_func_expr->passing) + appendStringInfoString(str, " PASSING "); + + ListCell *lc = NULL; + foreach (lc, json_func_expr->passing) + { + JsonArgument *json_argument = castNode(JsonArgument, lfirst(lc)); + deparseJsonValueExpr(str, json_argument->val); + appendStringInfoString(str, " AS "); + deparseColLabel(str, json_argument->name); + + if (lnext(json_func_expr->passing, lc)) + appendStringInfoString(str, ", "); + } + + if (json_func_expr->output) + { + appendStringInfoChar(str, ' '); + deparseJsonOutput(str, json_func_expr->output); + } + + switch (json_func_expr->wrapper) + { + case JSW_UNSPEC: + break; + case JSW_NONE: + appendStringInfoString(str, " WITHOUT WRAPPER"); + break; + case JSW_CONDITIONAL: + appendStringInfoString(str, " WITH CONDITIONAL WRAPPER"); + break; + case JSW_UNCONDITIONAL: + appendStringInfoString(str, " WITH UNCONDITIONAL WRAPPER"); + break; + } + + deparseJsonQuotesClauseOpt(str, json_func_expr->quotes); + deparseJsonOnEmptyClauseOpt(str, json_func_expr->on_empty); + deparseJsonOnErrorClauseOpt(str, json_func_expr->on_error); + + appendStringInfoChar(str, ')'); +} + +static void deparseJsonTablePathSpec(StringInfo str, JsonTablePathSpec *json_table_path_spec) +{ + deparseStringLiteral(str, castNode(A_Const, json_table_path_spec->string)->val.sval.sval); + + if (json_table_path_spec->name) + { + appendStringInfoString(str, " AS "); + deparseColLabel(str, json_table_path_spec->name); + } +} + +static void deparseJsonBehavior(StringInfo str, JsonBehavior *json_behavior) +{ + switch (json_behavior->btype) + { + case JSON_BEHAVIOR_NULL: + appendStringInfoString(str, "NULL"); + break; + case JSON_BEHAVIOR_ERROR: + appendStringInfoString(str, "ERROR"); + break; + case JSON_BEHAVIOR_EMPTY: + appendStringInfoString(str, "EMPTY"); + break; + case JSON_BEHAVIOR_TRUE: + appendStringInfoString(str, "TRUE"); + break; + case JSON_BEHAVIOR_FALSE: + appendStringInfoString(str, "FALSE"); + break; + case JSON_BEHAVIOR_EMPTY_ARRAY: + appendStringInfoString(str, "EMPTY ARRAY"); + break; + case JSON_BEHAVIOR_EMPTY_OBJECT: + appendStringInfoString(str, "EMPTY OBJECT"); + break; + case JSON_BEHAVIOR_DEFAULT: + appendStringInfoString(str, "DEFAULT "); + deparseExpr(str, (Node*) json_behavior->expr); + break; + case JSON_BEHAVIOR_UNKNOWN: + appendStringInfoString(str, "UNKNOWN"); + break; + } +} + +static void deparseJsonTableColumn(StringInfo str, JsonTableColumn *json_table_column) +{ + if (json_table_column->coltype == JTC_NESTED) + { + appendStringInfoString(str, "NESTED PATH "); + deparseJsonTablePathSpec(str, json_table_column->pathspec); + deparseJsonTableColumns(str, json_table_column->columns); + return; + } + + deparseColLabel(str, json_table_column->name); + appendStringInfoChar(str, ' '); + + switch (json_table_column->coltype) + { + case JTC_FOR_ORDINALITY: + appendStringInfoString(str, " FOR ORDINALITY"); + break; + case JTC_EXISTS: + case JTC_FORMATTED: + case JTC_REGULAR: + deparseTypeName(str, json_table_column->typeName); + + if (json_table_column->coltype == JTC_EXISTS) + appendStringInfoString(str, " EXISTS "); + else + appendStringInfoChar(str, ' '); + + if (json_table_column->format) + deparseJsonFormat(str, json_table_column->format); + + if (json_table_column->pathspec) + { + appendStringInfoString(str, "PATH "); + deparseJsonTablePathSpec(str, json_table_column->pathspec); + } + break; + case JTC_NESTED: + Assert(false); + } + + switch (json_table_column->wrapper) + { + case JSW_UNSPEC: + break; + case JSW_NONE: + if (json_table_column->coltype == JTC_REGULAR || json_table_column->coltype == JTC_FORMATTED) + appendStringInfoString(str, " WITHOUT WRAPPER"); + break; + case JSW_CONDITIONAL: + appendStringInfoString(str, " WITH CONDITIONAL WRAPPER"); + break; + case JSW_UNCONDITIONAL: + appendStringInfoString(str, " WITH UNCONDITIONAL WRAPPER"); + break; + } + + deparseJsonQuotesClauseOpt(str, json_table_column->quotes); + deparseJsonOnEmptyClauseOpt(str, json_table_column->on_empty); + deparseJsonOnErrorClauseOpt(str, json_table_column->on_error); +} + +static void deparseJsonTableColumns(StringInfo str, List *json_table_columns) +{ + appendStringInfoString(str, " COLUMNS ("); + + ListCell *lc = NULL; + foreach(lc, json_table_columns) + { + deparseJsonTableColumn(str, castNode(JsonTableColumn, lfirst(lc))); + + if (lnext(json_table_columns, lc)) + appendStringInfoString(str, ", "); + } + + appendStringInfoChar(str, ')'); +} + +static void deparseJsonTable(StringInfo str, JsonTable *json_table) +{ + appendStringInfoString(str, "JSON_TABLE("); + + deparseJsonValueExpr(str, json_table->context_item); + appendStringInfoString(str, ", "); + deparseJsonTablePathSpec(str, json_table->pathspec); + + if (json_table->passing) + appendStringInfoString(str, " PASSING "); + + ListCell *lc = NULL; + foreach (lc, json_table->passing) + { + JsonArgument *json_argument = castNode(JsonArgument, lfirst(lc)); + deparseJsonValueExpr(str, json_argument->val); + appendStringInfoString(str, " AS "); + deparseColLabel(str, json_argument->name); + + if (lnext(json_table->passing, lc)) + appendStringInfoString(str, ", "); + } + + deparseJsonTableColumns(str, json_table->columns); + + if (json_table->on_error) + { + deparseJsonBehavior(str, json_table->on_error); + appendStringInfoString(str, " ON ERROR"); + } + + appendStringInfoChar(str, ')'); + + if (json_table->alias) + { + appendStringInfoChar(str, ' '); + deparseAlias(str, json_table->alias); + } +} + static void deparseGroupingFunc(StringInfo str, GroupingFunc *grouping_func) { appendStringInfoString(str, "GROUPING("); diff --git a/parser/src_backend_catalog_namespace.c b/parser/src_backend_catalog_namespace.c index 8f652a32..d83eed52 100644 --- a/parser/src_backend_catalog_namespace.c +++ b/parser/src_backend_catalog_namespace.c @@ -16,7 +16,7 @@ * and implementing search-path-controlled searches. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -31,6 +31,7 @@ #include "access/xact.h" #include "access/xlog.h" #include "catalog/dependency.h" +#include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/pg_authid.h" #include "catalog/pg_collation.h" @@ -48,14 +49,14 @@ #include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "commands/dbcommands.h" +#include "common/hashfn_unstable.h" #include "funcapi.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/makefuncs.h" -#include "parser/parse_func.h" #include "storage/ipc.h" #include "storage/lmgr.h" -#include "storage/sinvaladt.h" +#include "storage/procarray.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/catcache.h" @@ -74,9 +75,7 @@ * may be included: * * 1. If a TEMP table namespace has been initialized in this session, it - * is implicitly searched first. (The only time this doesn't happen is - * when we are obeying an override search path spec that says not to use the - * temp namespace, or the temp namespace is included in the explicit list.) + * is implicitly searched first. * * 2. The system catalog namespace is always searched. If the system * namespace is present in the explicit path then it will be searched in @@ -115,19 +114,16 @@ * namespace (if it exists), preceded by the user's personal namespace * (if one exists). * - * We support a stack of "override" search path settings for use within - * specific sections of backend code. namespace_search_path is ignored - * whenever the override stack is nonempty. activeSearchPath is always - * the actually active path; it points either to the search list of the - * topmost stack entry, or to baseSearchPath which is the list derived - * from namespace_search_path. + * activeSearchPath is always the actually active path; it points to + * baseSearchPath which is the list derived from namespace_search_path. * - * If baseSearchPathValid is false, then baseSearchPath (and other - * derived variables) need to be recomputed from namespace_search_path. - * We mark it invalid upon an assignment to namespace_search_path or receipt - * of a syscache invalidation event for pg_namespace. The recomputation - * is done during the next non-overridden lookup attempt. Note that an - * override spec is never subject to recomputation. + * If baseSearchPathValid is false, then baseSearchPath (and other derived + * variables) need to be recomputed from namespace_search_path, or retrieved + * from the search path cache if there haven't been any syscache + * invalidations. We mark it invalid upon an assignment to + * namespace_search_path or receipt of a syscache invalidation event for + * pg_namespace or pg_authid. The recomputation is done during the next + * lookup attempt. * * Any namespaces mentioned in namespace_search_path that are not readable * by the current user ID are simply left out of baseSearchPath; so @@ -168,16 +164,31 @@ /* The above four values are valid only if baseSearchPathValid */ -/* Override requests are remembered in a stack of OverrideStackEntry structs */ +/* + * Storage for search path cache. Clear searchPathCacheValid as a simple + * way to invalidate *all* the cache entries, not just the active one. + */ + + -typedef struct +typedef struct SearchPathCacheKey { - List *searchPath; /* the desired search path */ - Oid creationNamespace; /* the desired creation namespace */ - int nestLevel; /* subtransaction nesting level */ -} OverrideStackEntry; + const char *searchPath; + Oid roleid; +} SearchPathCacheKey; +typedef struct SearchPathCacheEntry +{ + SearchPathCacheKey key; + List *oidlist; /* namespace OIDs that pass ACL checks */ + List *finalPath; /* cached final computed search path */ + Oid firstNS; /* first explicitly-listed namespace */ + bool temp_missing; + bool forceRecompute; /* force recompute of finalPath */ + /* needed for simplehash */ + char status; +} SearchPathCacheEntry; /* * myTempNamespace is InvalidOid until and unless a TEMP namespace is set up @@ -208,16 +219,88 @@ typedef struct /* Local functions */ +static bool RelationIsVisibleExt(Oid relid, bool *is_missing); +static bool TypeIsVisibleExt(Oid typid, bool *is_missing); +static bool FunctionIsVisibleExt(Oid funcid, bool *is_missing); +static bool OperatorIsVisibleExt(Oid oprid, bool *is_missing); +static bool OpclassIsVisibleExt(Oid opcid, bool *is_missing); +static bool OpfamilyIsVisibleExt(Oid opfid, bool *is_missing); +static bool CollationIsVisibleExt(Oid collid, bool *is_missing); +static bool ConversionIsVisibleExt(Oid conid, bool *is_missing); +static bool StatisticsObjIsVisibleExt(Oid stxid, bool *is_missing); +static bool TSParserIsVisibleExt(Oid prsId, bool *is_missing); +static bool TSDictionaryIsVisibleExt(Oid dictId, bool *is_missing); +static bool TSTemplateIsVisibleExt(Oid tmplId, bool *is_missing); +static bool TSConfigIsVisibleExt(Oid cfgid, bool *is_missing); static void recomputeNamespacePath(void); static void AccessTempTableNamespace(bool force); static void InitTempTableNamespace(void); static void RemoveTempRelations(Oid tempNamespaceId); static void RemoveTempRelationsCallback(int code, Datum arg); -static void NamespaceCallback(Datum arg, int cacheid, uint32 hashvalue); +static void InvalidationCallback(Datum arg, int cacheid, uint32 hashvalue); static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, bool include_out_arguments, int pronargs, int **argnumbers); +/* + * Recomputing the namespace path can be costly when done frequently, such as + * when a function has search_path set in proconfig. Add a search path cache + * that can be used by recomputeNamespacePath(). + * + * The cache is also used to remember already-validated strings in + * check_search_path() to avoid the need to call SplitIdentifierString() + * repeatedly. + * + * The search path cache is based on a wrapper around a simplehash hash table + * (nsphash, defined below). The spcache wrapper deals with OOM while trying + * to initialize a key, optimizes repeated lookups of the same key, and also + * offers a more convenient API. + */ + + + + + +#define SH_PREFIX nsphash +#define SH_ELEMENT_TYPE SearchPathCacheEntry +#define SH_KEY_TYPE SearchPathCacheKey +#define SH_KEY key +#define SH_HASH_KEY(tb, key) spcachekey_hash(key) +#define SH_EQUAL(tb, a, b) spcachekey_equal(a, b) +#define SH_SCOPE static inline +#define SH_DECLARE +// #define SH_DEFINE +#include "lib/simplehash.h" + +/* + * We only expect a small number of unique search_path strings to be used. If + * this cache grows to an unreasonable size, reset it to avoid steady-state + * memory growth. Most likely, only a few of those entries will benefit from + * the cache, and the cache will be quickly repopulated with such entries. + */ +#define SPCACHE_RESET_THRESHOLD 256 + + + + +/* + * Create or reset search_path cache as necessary. + */ + + +/* + * Look up entry in search path cache without inserting. Returns NULL if not + * present. + */ + + +/* + * Look up or insert entry in search path cache. + * + * Initialize key safely, so that OOM does not leave an entry without a valid + * key. Caller must ensure that non-key contents are properly initialized. + */ + /* * RangeVarGetRelidExtended @@ -305,6 +388,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * RelationIsVisibleExt + * As above, but if the relation isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * TypenameGetTypid @@ -329,6 +420,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TypeIsVisibleExt + * As above, but if the type isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * FuncnameGetCandidates @@ -435,6 +534,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * FunctionIsVisibleExt + * As above, but if the function isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpernameGetOprid @@ -477,6 +584,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OperatorIsVisibleExt + * As above, but if the operator isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpclassnameGetOpcid @@ -496,6 +611,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OpclassIsVisibleExt + * As above, but if the opclass isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpfamilynameGetOpfid * Try to resolve an unqualified index opfamily name. @@ -514,6 +637,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OpfamilyIsVisibleExt + * As above, but if the opfamily isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * lookup_collation * If there's a collation of the given name/namespace, and it works @@ -542,6 +673,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * CollationIsVisibleExt + * As above, but if the collation isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * ConversionGetConid @@ -560,6 +699,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * ConversionIsVisibleExt + * As above, but if the conversion isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_statistics_object_oid - find a statistics object by possibly qualified name * @@ -575,6 +722,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * StatisticsObjIsVisibleExt + * As above, but if the statistics object isn't found and is_missing is + * not NULL, then set *is_missing = true and return false instead of + * throwing an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_parser_oid - find a TS parser by possibly qualified name * @@ -590,6 +745,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSParserIsVisibleExt + * As above, but if the parser isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_dict_oid - find a TS dictionary by possibly qualified name * @@ -605,6 +768,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSDictionaryIsVisibleExt + * As above, but if the dictionary isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_template_oid - find a TS template by possibly qualified name * @@ -620,6 +791,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSTemplateIsVisibleExt + * As above, but if the template isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_config_oid - find a TS config by possibly qualified name * @@ -635,6 +814,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSConfigIsVisibleExt + * As above, but if the configuration isn't found and is_missing is not + * NULL, then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * DeconstructQualifiedName @@ -726,7 +913,7 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, * but we also allow A_Star for the convenience of ColumnRef processing. */ char * -NameListToString(List *names) +NameListToString(const List *names) { StringInfoData string; ListCell *l; @@ -806,10 +993,10 @@ NameListToString(List *names) /* - * GetTempNamespaceBackendId - if the given namespace is a temporary-table - * namespace (either my own, or another backend's), return the BackendId + * GetTempNamespaceProcNumber - if the given namespace is a temporary-table + * namespace (either my own, or another backend's), return the proc number * that owns it. Temporary-toast-table namespaces are included, too. - * If it isn't a temp namespace, return InvalidBackendId. + * If it isn't a temp namespace, return INVALID_PROC_NUMBER. */ @@ -841,8 +1028,7 @@ NameListToString(List *names) /* - * GetOverrideSearchPath - fetch current search path definition in form - * used by PushOverrideSearchPath. + * GetSearchPathMatcher - fetch current search path definition. * * The result structure is allocated in the specified memory context * (which might or might not be equal to CurrentMemoryContext); but any @@ -851,14 +1037,14 @@ NameListToString(List *names) /* - * CopyOverrideSearchPath - copy the specified OverrideSearchPath. + * CopySearchPathMatcher - copy the specified SearchPathMatcher. * * The result structure is allocated in CurrentMemoryContext. */ /* - * OverrideSearchPathMatchesCurrent - does path match current setting? + * SearchPathMatchesCurrentEnvironment - does path match current environment? * * This is tested over and over in some common code paths, and in the typical * scenario where the active search path seldom changes, it'll always succeed. @@ -868,53 +1054,44 @@ NameListToString(List *names) /* - * PushOverrideSearchPath - temporarily override the search path - * - * Do not use this function; almost any usage introduces a security - * vulnerability. It exists for the benefit of legacy code running in - * non-security-sensitive environments. - * - * We allow nested overrides, hence the push/pop terminology. The GUC - * search_path variable is ignored while an override is active. - * - * It's possible that newpath->useTemp is set but there is no longer any - * active temp namespace, if the path was saved during a transaction that - * created a temp namespace and was later rolled back. In that case we just - * ignore useTemp. A plausible alternative would be to create a new temp - * namespace, but for existing callers that's not necessary because an empty - * temp namespace wouldn't affect their results anyway. + * get_collation_oid - find a collation by possibly qualified name * - * It's also worth noting that other schemas listed in newpath might not - * exist anymore either. We don't worry about this because OIDs that match - * no existing namespace will simply not produce any hits during searches. + * Note that this will only find collations that work with the current + * database's encoding. */ +Oid get_collation_oid(List *name, bool missing_ok) { return DEFAULT_COLLATION_OID; } /* - * PopOverrideSearchPath - undo a previous PushOverrideSearchPath - * - * Any push during a (sub)transaction will be popped automatically at abort. - * But it's caller error if a push isn't popped in normal control flow. + * get_conversion_oid - find a conversion by possibly qualified name */ +/* + * FindDefaultConversionProc - find default encoding conversion proc + */ + /* - * get_collation_oid - find a collation by possibly qualified name - * - * Note that this will only find collations that work with the current - * database's encoding. + * Look up namespace IDs and perform ACL checks. Return newly-allocated list. */ -Oid get_collation_oid(List *name, bool missing_ok) { return -1; } /* - * get_conversion_oid - find a conversion by possibly qualified name + * Remove duplicates, run namespace search hooks, and prepend + * implicitly-searched namespaces. Return newly-allocated list. + * + * If an object_access_hook is present, this must always be recalculated. It + * may seem that duplicate elimination is not dependent on the result of the + * hook, but if a hook returns different results on different calls for the + * same namespace ID, then it could affect the order in which that namespace + * appears in the final list. */ /* - * FindDefaultConversionProc - find default encoding conversion proc + * Retrieve search path information from the cache; or if not there, fill + * it. The returned entry is valid only until the next call to this function. */ @@ -993,7 +1170,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; } /* - * NamespaceCallback + * InvalidationCallback * Syscache inval callback function */ @@ -1032,9 +1209,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; } * condition errors when a query that's scanning a catalog using an MVCC * snapshot uses one of these functions. The underlying IsVisible functions * always use an up-to-date snapshot and so might see the object as already - * gone when it's still visible to the transaction snapshot. (There is no race - * condition in the current coding because we don't accept sinval messages - * between the SearchSysCacheExists test and the subsequent lookup.) + * gone when it's still visible to the transaction snapshot. */ diff --git a/parser/src_backend_catalog_pg_proc.c b/parser/src_backend_catalog_pg_proc.c index ecc5c06e..3547b99f 100644 --- a/parser/src_backend_catalog_pg_proc.c +++ b/parser/src_backend_catalog_pg_proc.c @@ -9,7 +9,7 @@ * pg_proc.c * routines to support manipulation of the pg_proc relation * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -38,9 +38,7 @@ #include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" -#include "parser/analyze.h" #include "parser/parse_coerce.h" -#include "parser/parse_type.h" #include "pgstat.h" #include "rewrite/rewriteHandler.h" #include "tcop/pquery.h" diff --git a/parser/src_backend_commands_define.c b/parser/src_backend_commands_define.c index 4f0ea4f0..98d082c0 100644 --- a/parser/src_backend_commands_define.c +++ b/parser/src_backend_commands_define.c @@ -10,7 +10,7 @@ * Support routines for various kinds of object creation. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -45,8 +45,7 @@ #include "commands/defrem.h" #include "nodes/makefuncs.h" #include "parser/parse_type.h" -#include "parser/scansup.h" -#include "utils/builtins.h" +#include "utils/fmgrprotos.h" /* * Extract a string value (otherwise uninterpreted) from a DefElem. diff --git a/parser/src_backend_nodes_bitmapset.c b/parser/src_backend_nodes_bitmapset.c index 8c5147af..13c951ae 100644 --- a/parser/src_backend_nodes_bitmapset.c +++ b/parser/src_backend_nodes_bitmapset.c @@ -1,6 +1,7 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - bms_copy + * - bms_is_valid_set * - bms_equal * - bms_free * - bms_next_member @@ -15,11 +16,31 @@ * * A bitmap set can represent any set of nonnegative integers, although * it is mainly intended for sets where the maximum value is not large, - * say at most a few hundred. By convention, we always represent the - * empty set by a NULL pointer. - * - * - * Copyright (c) 2003-2023, PostgreSQL Global Development Group + * say at most a few hundred. By convention, we always represent a set with + * the minimum possible number of words, i.e, there are never any trailing + * zero words. Enforcing this requires that an empty set is represented as + * NULL. Because an empty Bitmapset is represented as NULL, a non-NULL + * Bitmapset always has at least 1 Bitmapword. We can exploit this fact to + * speed up various loops over the Bitmapset's words array by using "do while" + * loops instead of "for" loops. This means the code does not waste time + * checking the loop condition before the first iteration. For Bitmapsets + * containing only a single word (likely the majority of them) this halves the + * number of loop condition checks. + * + * Callers must ensure that the set returned by functions in this file which + * adjust the members of an existing set is assigned to all pointers pointing + * to that existing set. No guarantees are made that we'll ever modify the + * existing set in-place and return it. + * + * To help find bugs caused by callers failing to record the return value of + * the function which manipulates an existing set, we support building with + * REALLOCATE_BITMAPSETS. This results in the set being reallocated each time + * the set is altered and the existing being pfreed. This is useful as if any + * references still exist to the old set, we're more likely to notice as + * any users of the old set will be accessing pfree'd memory. This option is + * only intended to be used for debugging. + * + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/nodes/bitmapset.c @@ -61,21 +82,49 @@ #define HAS_MULTIPLE_ONES(x) ((bitmapword) RIGHTMOST_ONE(x) != (x)) -/* Select appropriate bit-twiddling functions for bitmap word size */ -#if BITS_PER_BITMAPWORD == 32 -#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos32(w) -#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos32(w) -#define bmw_popcount(w) pg_popcount32(w) -#elif BITS_PER_BITMAPWORD == 64 -#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos64(w) -#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos64(w) -#define bmw_popcount(w) pg_popcount64(w) -#else -#error "invalid BITS_PER_BITMAPWORD" +#ifdef USE_ASSERT_CHECKING +/* + * bms_is_valid_set - for cassert builds to check for valid sets + */ +static bool +bms_is_valid_set(const Bitmapset *a) +{ + /* NULL is the correct representation of an empty set */ + if (a == NULL) + return true; + + /* check the node tag is set correctly. pfree'd pointer, maybe? */ + if (!IsA(a, Bitmapset)) + return false; + + /* trailing zero words are not allowed */ + if (a->words[a->nwords - 1] == 0) + return false; + + return true; +} #endif -static bool bms_is_empty_internal(const Bitmapset *a); +#ifdef REALLOCATE_BITMAPSETS +/* + * bms_copy_and_free + * Only required in REALLOCATE_BITMAPSETS builds. Provide a simple way + * to return a freshly allocated set and pfree the original. + * + * Note: callers which accept multiple sets must be careful when calling this + * function to clone one parameter as other parameters may point to the same + * set. A good option is to call this just before returning the resulting + * set. + */ +static Bitmapset * +bms_copy_and_free(Bitmapset *a) +{ + Bitmapset *c = bms_copy(a); + bms_free(a); + return c; +} +#endif /* * bms_copy - make a palloc'd copy of a bitmapset @@ -86,8 +135,11 @@ bms_copy(const Bitmapset *a) Bitmapset *result; size_t size; + Assert(bms_is_valid_set(a)); + if (a == NULL) return NULL; + size = BITMAPSET_SIZE(a->nwords); result = (Bitmapset *) palloc(size); memcpy(result, a, size); @@ -95,20 +147,16 @@ bms_copy(const Bitmapset *a) } /* - * bms_equal - are two bitmapsets equal? - * - * This is logical not physical equality; in particular, a NULL pointer will - * be reported as equal to a palloc'd value containing no members. + * bms_equal - are two bitmapsets equal? or both NULL? */ bool bms_equal(const Bitmapset *a, const Bitmapset *b) { - const Bitmapset *shorter; - const Bitmapset *longer; - int shortlen; - int longlen; int i; + Assert(bms_is_valid_set(a)); + Assert(bms_is_valid_set(b)); + /* Handle cases where either input is NULL */ if (a == NULL) { @@ -118,30 +166,19 @@ bms_equal(const Bitmapset *a, const Bitmapset *b) } else if (b == NULL) return false; - /* Identify shorter and longer input */ - if (a->nwords <= b->nwords) - { - shorter = a; - longer = b; - } - else - { - shorter = b; - longer = a; - } - /* And process */ - shortlen = shorter->nwords; - for (i = 0; i < shortlen; i++) - { - if (shorter->words[i] != longer->words[i]) - return false; - } - longlen = longer->nwords; - for (; i < longlen; i++) + + /* can't be equal if the word counts don't match */ + if (a->nwords != b->nwords) + return false; + + /* check each word matches */ + i = 0; + do { - if (longer->words[i] != 0) + if (a->words[i] != b->words[i]) return false; - } + } while (++i < a->nwords); + return true; } @@ -174,23 +211,20 @@ bms_free(Bitmapset *a) /* - * These operations all make a freshly palloc'd result, - * leaving their inputs untouched - */ - - -/* - * bms_union - set union + * bms_union - create and return a new set containing all members from both + * input sets. Both inputs are left unmodified. */ /* - * bms_intersect - set intersection + * bms_intersect - create and return a new set containing members which both + * input sets have in common. Both inputs are left unmodified. */ /* - * bms_difference - set difference (ie, A without members of B) + * bms_difference - create and return a new set containing all the members of + * 'a' without the members of 'b'. */ @@ -266,17 +300,21 @@ bms_num_members(const Bitmapset *a) int nwords; int wordnum; + Assert(bms_is_valid_set(a)); + if (a == NULL) return 0; + nwords = a->nwords; - for (wordnum = 0; wordnum < nwords; wordnum++) + wordnum = 0; + do { bitmapword w = a->words[wordnum]; /* No need to count the bits in a zero word */ if (w != 0) result += bmw_popcount(w); - } + } while (++wordnum < nwords); return result; } @@ -287,46 +325,40 @@ bms_num_members(const Bitmapset *a) */ -/* - * bms_is_empty_internal - is a set empty? - * - * This is now used only locally, to detect cases where a function has - * computed an empty set that we must now get rid of. Hence, we can - * assume the input isn't NULL. - */ - - - -/* - * These operations all "recycle" their non-const inputs, ie, either - * return the modified input or pfree it if it can't hold the result. - * - * These should generally be used in the style - * - * foo = bms_add_member(foo, x); - */ - /* * bms_add_member - add a specified member to set * - * Input set is modified or recycled! + * 'a' is recycled when possible. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif /* * bms_del_member - remove a specified member from set * * No error if x is not currently a member of set * - * Input set is modified in-place! + * 'a' is recycled when possible. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_add_members - like bms_union, but left input is recycled + * bms_add_members - like bms_union, but left input is recycled when possible */ +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif +/* + * bms_replace_members + * Remove all existing members from 'a' and repopulate the set with members + * from 'b', recycling 'a', when possible. + */ +#ifdef REALLOCATE_BITMAPSETS +#endif /* * bms_add_range @@ -336,22 +368,36 @@ bms_num_members(const Bitmapset *a) * using this function will be faster when the range is large as we work at * the bitmapword level rather than at bit level. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_int_members - like bms_intersect, but left input is recycled + * bms_int_members - like bms_intersect, but left input is recycled when + * possible */ - +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_del_members - like bms_difference, but left input is recycled + * bms_del_members - delete members in 'a' that are set in 'b'. 'a' is + * recycled when possible. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_join - like bms_union, but *both* inputs are recycled + * bms_join - like bms_union, but *either* input *may* be recycled */ - +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* * bms_next_member - find next member of a set @@ -379,6 +425,8 @@ bms_next_member(const Bitmapset *a, int prevbit) int wordnum; bitmapword mask; + Assert(bms_is_valid_set(a)); + if (a == NULL) return -2; nwords = a->nwords; @@ -435,11 +483,6 @@ bms_next_member(const Bitmapset *a, int prevbit) /* * bms_hash_value - compute a hash key for a Bitmapset - * - * Note: we must ensure that any two bitmapsets that are bms_equal() will - * hash to the same value; in practice this means that trailing all-zero - * words must not affect the result. Hence we strip those before applying - * hash_any(). */ diff --git a/parser/src_backend_nodes_copyfuncs.c b/parser/src_backend_nodes_copyfuncs.c index 91e60af7..c287b828 100644 --- a/parser/src_backend_nodes_copyfuncs.c +++ b/parser/src_backend_nodes_copyfuncs.c @@ -14,7 +14,7 @@ * Copy functions for Postgres tree nodes. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/src_backend_nodes_equalfuncs.c b/parser/src_backend_nodes_equalfuncs.c index e8a10f98..34da2073 100644 --- a/parser/src_backend_nodes_equalfuncs.c +++ b/parser/src_backend_nodes_equalfuncs.c @@ -19,7 +19,7 @@ * "x" to be considered equal() to another reference to "x" in the query. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/src_backend_nodes_extensible.c b/parser/src_backend_nodes_extensible.c index cd8bb59a..5ac9aac7 100644 --- a/parser/src_backend_nodes_extensible.c +++ b/parser/src_backend_nodes_extensible.c @@ -16,7 +16,7 @@ * and GetExtensibleNodeMethods to get information about a previously * registered type of extensible node. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/src_backend_nodes_list.c b/parser/src_backend_nodes_list.c index c8a7a12a..70f89f57 100644 --- a/parser/src_backend_nodes_list.c +++ b/parser/src_backend_nodes_list.c @@ -13,7 +13,6 @@ * - new_head_cell * - list_make3_impl * - list_make4_impl - * - list_delete_cell * - list_delete_nth_cell * - list_free * - list_free_private @@ -31,7 +30,7 @@ * See comments in pg_list.h. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -42,6 +41,7 @@ */ #include "postgres.h" +#include "common/int.h" #include "nodes/pg_list.h" #include "port/pg_bitutils.h" #include "utils/memdebug.h" @@ -635,11 +635,7 @@ list_delete_nth_cell(List *list, int n) * Note that this takes time proportional to the distance to the end of the * list, since the following entries must be moved. */ -List * -list_delete_cell(List *list, ListCell *cell) -{ - return list_delete_nth_cell(list, cell - list->elements); -} + /* * Delete the first cell in list that matches datum, if any. diff --git a/parser/src_backend_nodes_makefuncs.c b/parser/src_backend_nodes_makefuncs.c index b2f1a2e1..edd72e48 100644 --- a/parser/src_backend_nodes_makefuncs.c +++ b/parser/src_backend_nodes_makefuncs.c @@ -1,6 +1,7 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - makeDefElem + * - makeStringConst * - makeTypeNameFromNameList * - makeDefElemExtended * - makeRangeVar @@ -8,13 +9,14 @@ * - makeAlias * - makeSimpleA_Expr * - makeGroupingSet + * - makeJsonTablePathSpec + * - makeJsonFormat * - makeTypeName * - makeFuncCall * - makeA_Expr - * - makeJsonFormat * - makeJsonIsPredicate + * - makeJsonBehavior * - makeJsonValueExpr - * - makeJsonEncoding * - makeJsonKeyValue * - makeBoolExpr *-------------------------------------------------------------------- @@ -26,7 +28,7 @@ * creator functions for various nodes. The functions here are for the * most frequently created nodes. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -41,7 +43,6 @@ #include "catalog/pg_type.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" -#include "utils/errcodes.h" #include "utils/lsyscache.h" @@ -268,6 +269,22 @@ makeTypeNameFromNameList(List *names) */ +/* + * makeStringConst - + * build a A_Const node of type T_String for given string + */ +Node * +makeStringConst(char *str, int location) +{ + A_Const *n = makeNode(A_Const); + + n->val.sval.type = T_String; + n->val.sval.sval = str; + n->location = location; + + return (Node *) n; +} + /* * makeDefElem - * build a DefElem node @@ -457,24 +474,19 @@ makeJsonValueExpr(Expr *raw_expr, Expr *formatted_expr, } /* - * makeJsonEncoding - - * converts JSON encoding name to enum JsonEncoding + * makeJsonBehavior - + * creates a JsonBehavior node */ -JsonEncoding -makeJsonEncoding(char *name) +JsonBehavior * +makeJsonBehavior(JsonBehaviorType btype, Node *expr, int location) { - if (!pg_strcasecmp(name, "utf8")) - return JS_ENC_UTF8; - if (!pg_strcasecmp(name, "utf16")) - return JS_ENC_UTF16; - if (!pg_strcasecmp(name, "utf32")) - return JS_ENC_UTF32; - - ereport(ERROR, - errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("unrecognized JSON encoding: %s", name)); - - return JS_ENC_DEFAULT; + JsonBehavior *behavior = makeNode(JsonBehavior); + + behavior->btype = btype; + behavior->expr = expr; + behavior->location = location; + + return behavior; } /* @@ -510,3 +522,30 @@ makeJsonIsPredicate(Node *expr, JsonFormat *format, JsonValueType item_type, return (Node *) n; } + +/* + * makeJsonTablePathSpec - + * Make JsonTablePathSpec node from given path string and name (if any) + */ +JsonTablePathSpec * +makeJsonTablePathSpec(char *string, char *name, int string_location, + int name_location) +{ + JsonTablePathSpec *pathspec = makeNode(JsonTablePathSpec); + + Assert(string != NULL); + pathspec->string = makeStringConst(string, string_location); + if (name != NULL) + pathspec->name = pstrdup(name); + + pathspec->name_location = name_location; + pathspec->location = string_location; + + return pathspec; +} + +/* + * makeJsonTablePath - + * Make JsonTablePath node for given path string and name + */ + diff --git a/parser/src_backend_nodes_nodeFuncs.c b/parser/src_backend_nodes_nodeFuncs.c index 49a4c9e7..5477177c 100644 --- a/parser/src_backend_nodes_nodeFuncs.c +++ b/parser/src_backend_nodes_nodeFuncs.c @@ -11,7 +11,7 @@ * nodeFuncs.c * Various general-purpose manipulations of Node trees * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -26,7 +26,6 @@ #include "catalog/pg_type.h" #include "miscadmin.h" #include "nodes/execnodes.h" -#include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "nodes/pathnodes.h" #include "utils/builtins.h" @@ -221,6 +220,9 @@ exprLocation(const Node *expr) /* function name should always be the first thing */ loc = ((const WindowFunc *) expr)->location; break; + case T_MergeSupportFunc: + loc = ((const MergeSupportFunc *) expr)->location; + break; case T_SubscriptingRef: /* just use container argument's location */ loc = exprLocation((Node *) ((const SubscriptingRef *) expr)->refexpr); @@ -386,6 +388,18 @@ exprLocation(const Node *expr) case T_JsonIsPredicate: loc = ((const JsonIsPredicate *) expr)->location; break; + case T_JsonExpr: + { + const JsonExpr *jsexpr = (const JsonExpr *) expr; + + /* consider both function name and leftmost arg */ + loc = leftmostLoc(jsexpr->location, + exprLocation(jsexpr->formatted_expr)); + } + break; + case T_JsonBehavior: + loc = exprLocation(((JsonBehavior *) expr)->expr); + break; case T_NullTest: { const NullTest *nexpr = (const NullTest *) expr; @@ -955,6 +969,7 @@ raw_expression_tree_walker_impl(Node *node, case T_ParamRef: case T_A_Const: case T_A_Star: + case T_MergeSupportFunc: /* primitive node types with no subnodes */ break; case T_Alias: @@ -1027,6 +1042,36 @@ raw_expression_tree_walker_impl(Node *node, return true; } break; + case T_JsonParseExpr: + { + JsonParseExpr *jpe = (JsonParseExpr *) node; + + if (WALK(jpe->expr)) + return true; + if (WALK(jpe->output)) + return true; + } + break; + case T_JsonScalarExpr: + { + JsonScalarExpr *jse = (JsonScalarExpr *) node; + + if (WALK(jse->expr)) + return true; + if (WALK(jse->output)) + return true; + } + break; + case T_JsonSerializeExpr: + { + JsonSerializeExpr *jse = (JsonSerializeExpr *) node; + + if (WALK(jse->expr)) + return true; + if (WALK(jse->output)) + return true; + } + break; case T_JsonConstructorExpr: { JsonConstructorExpr *ctor = (JsonConstructorExpr *) node; @@ -1043,6 +1088,66 @@ raw_expression_tree_walker_impl(Node *node, break; case T_JsonIsPredicate: return WALK(((JsonIsPredicate *) node)->expr); + case T_JsonArgument: + return WALK(((JsonArgument *) node)->val); + case T_JsonFuncExpr: + { + JsonFuncExpr *jfe = (JsonFuncExpr *) node; + + if (WALK(jfe->context_item)) + return true; + if (WALK(jfe->pathspec)) + return true; + if (WALK(jfe->passing)) + return true; + if (WALK(jfe->output)) + return true; + if (WALK(jfe->on_empty)) + return true; + if (WALK(jfe->on_error)) + return true; + } + break; + case T_JsonBehavior: + { + JsonBehavior *jb = (JsonBehavior *) node; + + if (WALK(jb->expr)) + return true; + } + break; + case T_JsonTable: + { + JsonTable *jt = (JsonTable *) node; + + if (WALK(jt->context_item)) + return true; + if (WALK(jt->pathspec)) + return true; + if (WALK(jt->passing)) + return true; + if (WALK(jt->columns)) + return true; + if (WALK(jt->on_error)) + return true; + } + break; + case T_JsonTableColumn: + { + JsonTableColumn *jtc = (JsonTableColumn *) node; + + if (WALK(jtc->typeName)) + return true; + if (WALK(jtc->on_empty)) + return true; + if (WALK(jtc->on_error)) + return true; + if (WALK(jtc->columns)) + return true; + } + break; + case T_JsonTablePathSpec: + return WALK(((JsonTablePathSpec *) node)->string); case T_NullTest: return WALK(((NullTest *) node)->arg); case T_BooleanTest: @@ -1145,6 +1250,8 @@ raw_expression_tree_walker_impl(Node *node, return true; if (WALK(stmt->mergeWhenClauses)) return true; + if (WALK(stmt->returningList)) + return true; if (WALK(stmt->withClause)) return true; } diff --git a/parser/src_backend_nodes_nodes.c b/parser/src_backend_nodes_nodes.c deleted file mode 100644 index 69d302ca..00000000 --- a/parser/src_backend_nodes_nodes.c +++ /dev/null @@ -1,38 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - newNodeMacroHolder - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * nodes.c - * support code for nodes (now that we have removed the home-brew - * inheritance system, our support code for nodes is much simpler) - * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/nodes/nodes.c - * - * HISTORY - * Andrew Yu Oct 20, 1994 file creation - * - *------------------------------------------------------------------------- - */ -#include "postgres.h" - -#include "nodes/nodes.h" - -/* - * Support for newNode() macro - * - * In a GCC build there is no need for the global variable newNodeMacroHolder. - * However, we create it anyway, to support the case of a non-GCC-built - * loadable module being loaded into a GCC-built backend. - */ - -__thread Node *newNodeMacroHolder; - diff --git a/parser/src_backend_nodes_value.c b/parser/src_backend_nodes_value.c index 5a972455..c9ed6cb6 100644 --- a/parser/src_backend_nodes_value.c +++ b/parser/src_backend_nodes_value.c @@ -14,7 +14,7 @@ * implementation of value nodes * * - * Copyright (c) 2003-2023, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * * IDENTIFICATION diff --git a/parser/src_backend_parser_gram.c b/parser/src_backend_parser_gram.c index 8770b665..0ad51730 100644 --- a/parser/src_backend_parser_gram.c +++ b/parser/src_backend_parser_gram.c @@ -13,7 +13,6 @@ * - makeRawStmt * - updateRawStmtEnd * - makeParamRef - * - makeStringConst * - makeAConst * - makeStringConstCast * - makeIntConst @@ -222,420 +221,440 @@ COMMITTED = 342, COMPRESSION = 343, CONCURRENTLY = 344, - CONFIGURATION = 345, - CONFLICT = 346, - CONNECTION = 347, - CONSTRAINT = 348, - CONSTRAINTS = 349, - CONTENT_P = 350, - CONTINUE_P = 351, - CONVERSION_P = 352, - COPY = 353, - COST = 354, - CREATE = 355, - CROSS = 356, - CSV = 357, - CUBE = 358, - CURRENT_P = 359, - CURRENT_CATALOG = 360, - CURRENT_DATE = 361, - CURRENT_ROLE = 362, - CURRENT_SCHEMA = 363, - CURRENT_TIME = 364, - CURRENT_TIMESTAMP = 365, - CURRENT_USER = 366, - CURSOR = 367, - CYCLE = 368, - DATA_P = 369, - DATABASE = 370, - DAY_P = 371, - DEALLOCATE = 372, - DEC = 373, - DECIMAL_P = 374, - DECLARE = 375, - DEFAULT = 376, - DEFAULTS = 377, - DEFERRABLE = 378, - DEFERRED = 379, - DEFINER = 380, - DELETE_P = 381, - DELIMITER = 382, - DELIMITERS = 383, - DEPENDS = 384, - DEPTH = 385, - DESC = 386, - DETACH = 387, - DICTIONARY = 388, - DISABLE_P = 389, - DISCARD = 390, - DISTINCT = 391, - DO = 392, - DOCUMENT_P = 393, - DOMAIN_P = 394, - DOUBLE_P = 395, - DROP = 396, - EACH = 397, - ELSE = 398, - ENABLE_P = 399, - ENCODING = 400, - ENCRYPTED = 401, - END_P = 402, - ENUM_P = 403, - ESCAPE = 404, - EVENT = 405, - EXCEPT = 406, - EXCLUDE = 407, - EXCLUDING = 408, - EXCLUSIVE = 409, - EXECUTE = 410, - EXISTS = 411, - EXPLAIN = 412, - EXPRESSION = 413, - EXTENSION = 414, - EXTERNAL = 415, - EXTRACT = 416, - FALSE_P = 417, - FAMILY = 418, - FETCH = 419, - FILTER = 420, - FINALIZE = 421, - FIRST_P = 422, - FLOAT_P = 423, - FOLLOWING = 424, - FOR = 425, - FORCE = 426, - FOREIGN = 427, - FORMAT = 428, - FORWARD = 429, - FREEZE = 430, - FROM = 431, - FULL = 432, - FUNCTION = 433, - FUNCTIONS = 434, - GENERATED = 435, - GLOBAL = 436, - GRANT = 437, - GRANTED = 438, - GREATEST = 439, - GROUP_P = 440, - GROUPING = 441, - GROUPS = 442, - HANDLER = 443, - HAVING = 444, - HEADER_P = 445, - HOLD = 446, - HOUR_P = 447, - IDENTITY_P = 448, - IF_P = 449, - ILIKE = 450, - IMMEDIATE = 451, - IMMUTABLE = 452, - IMPLICIT_P = 453, - IMPORT_P = 454, - IN_P = 455, - INCLUDE = 456, - INCLUDING = 457, - INCREMENT = 458, - INDENT = 459, - INDEX = 460, - INDEXES = 461, - INHERIT = 462, - INHERITS = 463, - INITIALLY = 464, - INLINE_P = 465, - INNER_P = 466, - INOUT = 467, - INPUT_P = 468, - INSENSITIVE = 469, - INSERT = 470, - INSTEAD = 471, - INT_P = 472, - INTEGER = 473, - INTERSECT = 474, - INTERVAL = 475, - INTO = 476, - INVOKER = 477, - IS = 478, - ISNULL = 479, - ISOLATION = 480, - JOIN = 481, - JSON = 482, - JSON_ARRAY = 483, - JSON_ARRAYAGG = 484, - JSON_OBJECT = 485, - JSON_OBJECTAGG = 486, - KEY = 487, - KEYS = 488, - LABEL = 489, - LANGUAGE = 490, - LARGE_P = 491, - LAST_P = 492, - LATERAL_P = 493, - LEADING = 494, - LEAKPROOF = 495, - LEAST = 496, - LEFT = 497, - LEVEL = 498, - LIKE = 499, - LIMIT = 500, - LISTEN = 501, - LOAD = 502, - LOCAL = 503, - LOCALTIME = 504, - LOCALTIMESTAMP = 505, - LOCATION = 506, - LOCK_P = 507, - LOCKED = 508, - LOGGED = 509, - MAPPING = 510, - MATCH = 511, - MATCHED = 512, - MATERIALIZED = 513, - MAXVALUE = 514, - MERGE = 515, - METHOD = 516, - MINUTE_P = 517, - MINVALUE = 518, - MODE = 519, - MONTH_P = 520, - MOVE = 521, - NAME_P = 522, - NAMES = 523, - NATIONAL = 524, - NATURAL = 525, - NCHAR = 526, - NEW = 527, - NEXT = 528, - NFC = 529, - NFD = 530, - NFKC = 531, - NFKD = 532, - NO = 533, - NONE = 534, - NORMALIZE = 535, - NORMALIZED = 536, - NOT = 537, - NOTHING = 538, - NOTIFY = 539, - NOTNULL = 540, - NOWAIT = 541, - NULL_P = 542, - NULLIF = 543, - NULLS_P = 544, - NUMERIC = 545, - OBJECT_P = 546, - OF = 547, - OFF = 548, - OFFSET = 549, - OIDS = 550, - OLD = 551, - ON = 552, - ONLY = 553, - OPERATOR = 554, - OPTION = 555, - OPTIONS = 556, - OR = 557, - ORDER = 558, - ORDINALITY = 559, - OTHERS = 560, - OUT_P = 561, - OUTER_P = 562, - OVER = 563, - OVERLAPS = 564, - OVERLAY = 565, - OVERRIDING = 566, - OWNED = 567, - OWNER = 568, - PARALLEL = 569, - PARAMETER = 570, - PARSER = 571, - PARTIAL = 572, - PARTITION = 573, - PASSING = 574, - PASSWORD = 575, - PLACING = 576, - PLANS = 577, - POLICY = 578, - POSITION = 579, - PRECEDING = 580, - PRECISION = 581, - PRESERVE = 582, - PREPARE = 583, - PREPARED = 584, - PRIMARY = 585, - PRIOR = 586, - PRIVILEGES = 587, - PROCEDURAL = 588, - PROCEDURE = 589, - PROCEDURES = 590, - PROGRAM = 591, - PUBLICATION = 592, - QUOTE = 593, - RANGE = 594, - READ = 595, - REAL = 596, - REASSIGN = 597, - RECHECK = 598, - RECURSIVE = 599, - REF_P = 600, - REFERENCES = 601, - REFERENCING = 602, - REFRESH = 603, - REINDEX = 604, - RELATIVE_P = 605, - RELEASE = 606, - RENAME = 607, - REPEATABLE = 608, - REPLACE = 609, - REPLICA = 610, - RESET = 611, - RESTART = 612, - RESTRICT = 613, - RETURN = 614, - RETURNING = 615, - RETURNS = 616, - REVOKE = 617, - RIGHT = 618, - ROLE = 619, - ROLLBACK = 620, - ROLLUP = 621, - ROUTINE = 622, - ROUTINES = 623, - ROW = 624, - ROWS = 625, - RULE = 626, - SAVEPOINT = 627, - SCALAR = 628, - SCHEMA = 629, - SCHEMAS = 630, - SCROLL = 631, - SEARCH = 632, - SECOND_P = 633, - SECURITY = 634, - SELECT = 635, - SEQUENCE = 636, - SEQUENCES = 637, - SERIALIZABLE = 638, - SERVER = 639, - SESSION = 640, - SESSION_USER = 641, - SET = 642, - SETS = 643, - SETOF = 644, - SHARE = 645, - SHOW = 646, - SIMILAR = 647, - SIMPLE = 648, - SKIP = 649, - SMALLINT = 650, - SNAPSHOT = 651, - SOME = 652, - SQL_P = 653, - STABLE = 654, - STANDALONE_P = 655, - START = 656, - STATEMENT = 657, - STATISTICS = 658, - STDIN = 659, - STDOUT = 660, - STORAGE = 661, - STORED = 662, - STRICT_P = 663, - STRIP_P = 664, - SUBSCRIPTION = 665, - SUBSTRING = 666, - SUPPORT = 667, - SYMMETRIC = 668, - SYSID = 669, - SYSTEM_P = 670, - SYSTEM_USER = 671, - TABLE = 672, - TABLES = 673, - TABLESAMPLE = 674, - TABLESPACE = 675, - TEMP = 676, - TEMPLATE = 677, - TEMPORARY = 678, - TEXT_P = 679, - THEN = 680, - TIES = 681, - TIME = 682, - TIMESTAMP = 683, - TO = 684, - TRAILING = 685, - TRANSACTION = 686, - TRANSFORM = 687, - TREAT = 688, - TRIGGER = 689, - TRIM = 690, - TRUE_P = 691, - TRUNCATE = 692, - TRUSTED = 693, - TYPE_P = 694, - TYPES_P = 695, - UESCAPE = 696, - UNBOUNDED = 697, - UNCOMMITTED = 698, - UNENCRYPTED = 699, - UNION = 700, - UNIQUE = 701, - UNKNOWN = 702, - UNLISTEN = 703, - UNLOGGED = 704, - UNTIL = 705, - UPDATE = 706, - USER = 707, - USING = 708, - VACUUM = 709, - VALID = 710, - VALIDATE = 711, - VALIDATOR = 712, - VALUE_P = 713, - VALUES = 714, - VARCHAR = 715, - VARIADIC = 716, - VARYING = 717, - VERBOSE = 718, - VERSION_P = 719, - VIEW = 720, - VIEWS = 721, - VOLATILE = 722, - WHEN = 723, - WHERE = 724, - WHITESPACE_P = 725, - WINDOW = 726, - WITH = 727, - WITHIN = 728, - WITHOUT = 729, - WORK = 730, - WRAPPER = 731, - WRITE = 732, - XML_P = 733, - XMLATTRIBUTES = 734, - XMLCONCAT = 735, - XMLELEMENT = 736, - XMLEXISTS = 737, - XMLFOREST = 738, - XMLNAMESPACES = 739, - XMLPARSE = 740, - XMLPI = 741, - XMLROOT = 742, - XMLSERIALIZE = 743, - XMLTABLE = 744, - YEAR_P = 745, - YES_P = 746, - ZONE = 747, - FORMAT_LA = 748, - NOT_LA = 749, - NULLS_LA = 750, - WITH_LA = 751, - WITHOUT_LA = 752, - MODE_TYPE_NAME = 753, - MODE_PLPGSQL_EXPR = 754, - MODE_PLPGSQL_ASSIGN1 = 755, - MODE_PLPGSQL_ASSIGN2 = 756, - MODE_PLPGSQL_ASSIGN3 = 757, - UMINUS = 758 + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778 }; #endif /* Tokens. */ @@ -726,420 +745,440 @@ #define COMMITTED 342 #define COMPRESSION 343 #define CONCURRENTLY 344 -#define CONFIGURATION 345 -#define CONFLICT 346 -#define CONNECTION 347 -#define CONSTRAINT 348 -#define CONSTRAINTS 349 -#define CONTENT_P 350 -#define CONTINUE_P 351 -#define CONVERSION_P 352 -#define COPY 353 -#define COST 354 -#define CREATE 355 -#define CROSS 356 -#define CSV 357 -#define CUBE 358 -#define CURRENT_P 359 -#define CURRENT_CATALOG 360 -#define CURRENT_DATE 361 -#define CURRENT_ROLE 362 -#define CURRENT_SCHEMA 363 -#define CURRENT_TIME 364 -#define CURRENT_TIMESTAMP 365 -#define CURRENT_USER 366 -#define CURSOR 367 -#define CYCLE 368 -#define DATA_P 369 -#define DATABASE 370 -#define DAY_P 371 -#define DEALLOCATE 372 -#define DEC 373 -#define DECIMAL_P 374 -#define DECLARE 375 -#define DEFAULT 376 -#define DEFAULTS 377 -#define DEFERRABLE 378 -#define DEFERRED 379 -#define DEFINER 380 -#define DELETE_P 381 -#define DELIMITER 382 -#define DELIMITERS 383 -#define DEPENDS 384 -#define DEPTH 385 -#define DESC 386 -#define DETACH 387 -#define DICTIONARY 388 -#define DISABLE_P 389 -#define DISCARD 390 -#define DISTINCT 391 -#define DO 392 -#define DOCUMENT_P 393 -#define DOMAIN_P 394 -#define DOUBLE_P 395 -#define DROP 396 -#define EACH 397 -#define ELSE 398 -#define ENABLE_P 399 -#define ENCODING 400 -#define ENCRYPTED 401 -#define END_P 402 -#define ENUM_P 403 -#define ESCAPE 404 -#define EVENT 405 -#define EXCEPT 406 -#define EXCLUDE 407 -#define EXCLUDING 408 -#define EXCLUSIVE 409 -#define EXECUTE 410 -#define EXISTS 411 -#define EXPLAIN 412 -#define EXPRESSION 413 -#define EXTENSION 414 -#define EXTERNAL 415 -#define EXTRACT 416 -#define FALSE_P 417 -#define FAMILY 418 -#define FETCH 419 -#define FILTER 420 -#define FINALIZE 421 -#define FIRST_P 422 -#define FLOAT_P 423 -#define FOLLOWING 424 -#define FOR 425 -#define FORCE 426 -#define FOREIGN 427 -#define FORMAT 428 -#define FORWARD 429 -#define FREEZE 430 -#define FROM 431 -#define FULL 432 -#define FUNCTION 433 -#define FUNCTIONS 434 -#define GENERATED 435 -#define GLOBAL 436 -#define GRANT 437 -#define GRANTED 438 -#define GREATEST 439 -#define GROUP_P 440 -#define GROUPING 441 -#define GROUPS 442 -#define HANDLER 443 -#define HAVING 444 -#define HEADER_P 445 -#define HOLD 446 -#define HOUR_P 447 -#define IDENTITY_P 448 -#define IF_P 449 -#define ILIKE 450 -#define IMMEDIATE 451 -#define IMMUTABLE 452 -#define IMPLICIT_P 453 -#define IMPORT_P 454 -#define IN_P 455 -#define INCLUDE 456 -#define INCLUDING 457 -#define INCREMENT 458 -#define INDENT 459 -#define INDEX 460 -#define INDEXES 461 -#define INHERIT 462 -#define INHERITS 463 -#define INITIALLY 464 -#define INLINE_P 465 -#define INNER_P 466 -#define INOUT 467 -#define INPUT_P 468 -#define INSENSITIVE 469 -#define INSERT 470 -#define INSTEAD 471 -#define INT_P 472 -#define INTEGER 473 -#define INTERSECT 474 -#define INTERVAL 475 -#define INTO 476 -#define INVOKER 477 -#define IS 478 -#define ISNULL 479 -#define ISOLATION 480 -#define JOIN 481 -#define JSON 482 -#define JSON_ARRAY 483 -#define JSON_ARRAYAGG 484 -#define JSON_OBJECT 485 -#define JSON_OBJECTAGG 486 -#define KEY 487 -#define KEYS 488 -#define LABEL 489 -#define LANGUAGE 490 -#define LARGE_P 491 -#define LAST_P 492 -#define LATERAL_P 493 -#define LEADING 494 -#define LEAKPROOF 495 -#define LEAST 496 -#define LEFT 497 -#define LEVEL 498 -#define LIKE 499 -#define LIMIT 500 -#define LISTEN 501 -#define LOAD 502 -#define LOCAL 503 -#define LOCALTIME 504 -#define LOCALTIMESTAMP 505 -#define LOCATION 506 -#define LOCK_P 507 -#define LOCKED 508 -#define LOGGED 509 -#define MAPPING 510 -#define MATCH 511 -#define MATCHED 512 -#define MATERIALIZED 513 -#define MAXVALUE 514 -#define MERGE 515 -#define METHOD 516 -#define MINUTE_P 517 -#define MINVALUE 518 -#define MODE 519 -#define MONTH_P 520 -#define MOVE 521 -#define NAME_P 522 -#define NAMES 523 -#define NATIONAL 524 -#define NATURAL 525 -#define NCHAR 526 -#define NEW 527 -#define NEXT 528 -#define NFC 529 -#define NFD 530 -#define NFKC 531 -#define NFKD 532 -#define NO 533 -#define NONE 534 -#define NORMALIZE 535 -#define NORMALIZED 536 -#define NOT 537 -#define NOTHING 538 -#define NOTIFY 539 -#define NOTNULL 540 -#define NOWAIT 541 -#define NULL_P 542 -#define NULLIF 543 -#define NULLS_P 544 -#define NUMERIC 545 -#define OBJECT_P 546 -#define OF 547 -#define OFF 548 -#define OFFSET 549 -#define OIDS 550 -#define OLD 551 -#define ON 552 -#define ONLY 553 -#define OPERATOR 554 -#define OPTION 555 -#define OPTIONS 556 -#define OR 557 -#define ORDER 558 -#define ORDINALITY 559 -#define OTHERS 560 -#define OUT_P 561 -#define OUTER_P 562 -#define OVER 563 -#define OVERLAPS 564 -#define OVERLAY 565 -#define OVERRIDING 566 -#define OWNED 567 -#define OWNER 568 -#define PARALLEL 569 -#define PARAMETER 570 -#define PARSER 571 -#define PARTIAL 572 -#define PARTITION 573 -#define PASSING 574 -#define PASSWORD 575 -#define PLACING 576 -#define PLANS 577 -#define POLICY 578 -#define POSITION 579 -#define PRECEDING 580 -#define PRECISION 581 -#define PRESERVE 582 -#define PREPARE 583 -#define PREPARED 584 -#define PRIMARY 585 -#define PRIOR 586 -#define PRIVILEGES 587 -#define PROCEDURAL 588 -#define PROCEDURE 589 -#define PROCEDURES 590 -#define PROGRAM 591 -#define PUBLICATION 592 -#define QUOTE 593 -#define RANGE 594 -#define READ 595 -#define REAL 596 -#define REASSIGN 597 -#define RECHECK 598 -#define RECURSIVE 599 -#define REF_P 600 -#define REFERENCES 601 -#define REFERENCING 602 -#define REFRESH 603 -#define REINDEX 604 -#define RELATIVE_P 605 -#define RELEASE 606 -#define RENAME 607 -#define REPEATABLE 608 -#define REPLACE 609 -#define REPLICA 610 -#define RESET 611 -#define RESTART 612 -#define RESTRICT 613 -#define RETURN 614 -#define RETURNING 615 -#define RETURNS 616 -#define REVOKE 617 -#define RIGHT 618 -#define ROLE 619 -#define ROLLBACK 620 -#define ROLLUP 621 -#define ROUTINE 622 -#define ROUTINES 623 -#define ROW 624 -#define ROWS 625 -#define RULE 626 -#define SAVEPOINT 627 -#define SCALAR 628 -#define SCHEMA 629 -#define SCHEMAS 630 -#define SCROLL 631 -#define SEARCH 632 -#define SECOND_P 633 -#define SECURITY 634 -#define SELECT 635 -#define SEQUENCE 636 -#define SEQUENCES 637 -#define SERIALIZABLE 638 -#define SERVER 639 -#define SESSION 640 -#define SESSION_USER 641 -#define SET 642 -#define SETS 643 -#define SETOF 644 -#define SHARE 645 -#define SHOW 646 -#define SIMILAR 647 -#define SIMPLE 648 -#define SKIP 649 -#define SMALLINT 650 -#define SNAPSHOT 651 -#define SOME 652 -#define SQL_P 653 -#define STABLE 654 -#define STANDALONE_P 655 -#define START 656 -#define STATEMENT 657 -#define STATISTICS 658 -#define STDIN 659 -#define STDOUT 660 -#define STORAGE 661 -#define STORED 662 -#define STRICT_P 663 -#define STRIP_P 664 -#define SUBSCRIPTION 665 -#define SUBSTRING 666 -#define SUPPORT 667 -#define SYMMETRIC 668 -#define SYSID 669 -#define SYSTEM_P 670 -#define SYSTEM_USER 671 -#define TABLE 672 -#define TABLES 673 -#define TABLESAMPLE 674 -#define TABLESPACE 675 -#define TEMP 676 -#define TEMPLATE 677 -#define TEMPORARY 678 -#define TEXT_P 679 -#define THEN 680 -#define TIES 681 -#define TIME 682 -#define TIMESTAMP 683 -#define TO 684 -#define TRAILING 685 -#define TRANSACTION 686 -#define TRANSFORM 687 -#define TREAT 688 -#define TRIGGER 689 -#define TRIM 690 -#define TRUE_P 691 -#define TRUNCATE 692 -#define TRUSTED 693 -#define TYPE_P 694 -#define TYPES_P 695 -#define UESCAPE 696 -#define UNBOUNDED 697 -#define UNCOMMITTED 698 -#define UNENCRYPTED 699 -#define UNION 700 -#define UNIQUE 701 -#define UNKNOWN 702 -#define UNLISTEN 703 -#define UNLOGGED 704 -#define UNTIL 705 -#define UPDATE 706 -#define USER 707 -#define USING 708 -#define VACUUM 709 -#define VALID 710 -#define VALIDATE 711 -#define VALIDATOR 712 -#define VALUE_P 713 -#define VALUES 714 -#define VARCHAR 715 -#define VARIADIC 716 -#define VARYING 717 -#define VERBOSE 718 -#define VERSION_P 719 -#define VIEW 720 -#define VIEWS 721 -#define VOLATILE 722 -#define WHEN 723 -#define WHERE 724 -#define WHITESPACE_P 725 -#define WINDOW 726 -#define WITH 727 -#define WITHIN 728 -#define WITHOUT 729 -#define WORK 730 -#define WRAPPER 731 -#define WRITE 732 -#define XML_P 733 -#define XMLATTRIBUTES 734 -#define XMLCONCAT 735 -#define XMLELEMENT 736 -#define XMLEXISTS 737 -#define XMLFOREST 738 -#define XMLNAMESPACES 739 -#define XMLPARSE 740 -#define XMLPI 741 -#define XMLROOT 742 -#define XMLSERIALIZE 743 -#define XMLTABLE 744 -#define YEAR_P 745 -#define YES_P 746 -#define ZONE 747 -#define FORMAT_LA 748 -#define NOT_LA 749 -#define NULLS_LA 750 -#define WITH_LA 751 -#define WITHOUT_LA 752 -#define MODE_TYPE_NAME 753 -#define MODE_PLPGSQL_EXPR 754 -#define MODE_PLPGSQL_ASSIGN1 755 -#define MODE_PLPGSQL_ASSIGN2 756 -#define MODE_PLPGSQL_ASSIGN3 757 -#define UMINUS 758 +#define CONDITIONAL 345 +#define CONFIGURATION 346 +#define CONFLICT 347 +#define CONNECTION 348 +#define CONSTRAINT 349 +#define CONSTRAINTS 350 +#define CONTENT_P 351 +#define CONTINUE_P 352 +#define CONVERSION_P 353 +#define COPY 354 +#define COST 355 +#define CREATE 356 +#define CROSS 357 +#define CSV 358 +#define CUBE 359 +#define CURRENT_P 360 +#define CURRENT_CATALOG 361 +#define CURRENT_DATE 362 +#define CURRENT_ROLE 363 +#define CURRENT_SCHEMA 364 +#define CURRENT_TIME 365 +#define CURRENT_TIMESTAMP 366 +#define CURRENT_USER 367 +#define CURSOR 368 +#define CYCLE 369 +#define DATA_P 370 +#define DATABASE 371 +#define DAY_P 372 +#define DEALLOCATE 373 +#define DEC 374 +#define DECIMAL_P 375 +#define DECLARE 376 +#define DEFAULT 377 +#define DEFAULTS 378 +#define DEFERRABLE 379 +#define DEFERRED 380 +#define DEFINER 381 +#define DELETE_P 382 +#define DELIMITER 383 +#define DELIMITERS 384 +#define DEPENDS 385 +#define DEPTH 386 +#define DESC 387 +#define DETACH 388 +#define DICTIONARY 389 +#define DISABLE_P 390 +#define DISCARD 391 +#define DISTINCT 392 +#define DO 393 +#define DOCUMENT_P 394 +#define DOMAIN_P 395 +#define DOUBLE_P 396 +#define DROP 397 +#define EACH 398 +#define ELSE 399 +#define EMPTY_P 400 +#define ENABLE_P 401 +#define ENCODING 402 +#define ENCRYPTED 403 +#define END_P 404 +#define ENUM_P 405 +#define ERROR_P 406 +#define ESCAPE 407 +#define EVENT 408 +#define EXCEPT 409 +#define EXCLUDE 410 +#define EXCLUDING 411 +#define EXCLUSIVE 412 +#define EXECUTE 413 +#define EXISTS 414 +#define EXPLAIN 415 +#define EXPRESSION 416 +#define EXTENSION 417 +#define EXTERNAL 418 +#define EXTRACT 419 +#define FALSE_P 420 +#define FAMILY 421 +#define FETCH 422 +#define FILTER 423 +#define FINALIZE 424 +#define FIRST_P 425 +#define FLOAT_P 426 +#define FOLLOWING 427 +#define FOR 428 +#define FORCE 429 +#define FOREIGN 430 +#define FORMAT 431 +#define FORWARD 432 +#define FREEZE 433 +#define FROM 434 +#define FULL 435 +#define FUNCTION 436 +#define FUNCTIONS 437 +#define GENERATED 438 +#define GLOBAL 439 +#define GRANT 440 +#define GRANTED 441 +#define GREATEST 442 +#define GROUP_P 443 +#define GROUPING 444 +#define GROUPS 445 +#define HANDLER 446 +#define HAVING 447 +#define HEADER_P 448 +#define HOLD 449 +#define HOUR_P 450 +#define IDENTITY_P 451 +#define IF_P 452 +#define ILIKE 453 +#define IMMEDIATE 454 +#define IMMUTABLE 455 +#define IMPLICIT_P 456 +#define IMPORT_P 457 +#define IN_P 458 +#define INCLUDE 459 +#define INCLUDING 460 +#define INCREMENT 461 +#define INDENT 462 +#define INDEX 463 +#define INDEXES 464 +#define INHERIT 465 +#define INHERITS 466 +#define INITIALLY 467 +#define INLINE_P 468 +#define INNER_P 469 +#define INOUT 470 +#define INPUT_P 471 +#define INSENSITIVE 472 +#define INSERT 473 +#define INSTEAD 474 +#define INT_P 475 +#define INTEGER 476 +#define INTERSECT 477 +#define INTERVAL 478 +#define INTO 479 +#define INVOKER 480 +#define IS 481 +#define ISNULL 482 +#define ISOLATION 483 +#define JOIN 484 +#define JSON 485 +#define JSON_ARRAY 486 +#define JSON_ARRAYAGG 487 +#define JSON_EXISTS 488 +#define JSON_OBJECT 489 +#define JSON_OBJECTAGG 490 +#define JSON_QUERY 491 +#define JSON_SCALAR 492 +#define JSON_SERIALIZE 493 +#define JSON_TABLE 494 +#define JSON_VALUE 495 +#define KEEP 496 +#define KEY 497 +#define KEYS 498 +#define LABEL 499 +#define LANGUAGE 500 +#define LARGE_P 501 +#define LAST_P 502 +#define LATERAL_P 503 +#define LEADING 504 +#define LEAKPROOF 505 +#define LEAST 506 +#define LEFT 507 +#define LEVEL 508 +#define LIKE 509 +#define LIMIT 510 +#define LISTEN 511 +#define LOAD 512 +#define LOCAL 513 +#define LOCALTIME 514 +#define LOCALTIMESTAMP 515 +#define LOCATION 516 +#define LOCK_P 517 +#define LOCKED 518 +#define LOGGED 519 +#define MAPPING 520 +#define MATCH 521 +#define MATCHED 522 +#define MATERIALIZED 523 +#define MAXVALUE 524 +#define MERGE 525 +#define MERGE_ACTION 526 +#define METHOD 527 +#define MINUTE_P 528 +#define MINVALUE 529 +#define MODE 530 +#define MONTH_P 531 +#define MOVE 532 +#define NAME_P 533 +#define NAMES 534 +#define NATIONAL 535 +#define NATURAL 536 +#define NCHAR 537 +#define NESTED 538 +#define NEW 539 +#define NEXT 540 +#define NFC 541 +#define NFD 542 +#define NFKC 543 +#define NFKD 544 +#define NO 545 +#define NONE 546 +#define NORMALIZE 547 +#define NORMALIZED 548 +#define NOT 549 +#define NOTHING 550 +#define NOTIFY 551 +#define NOTNULL 552 +#define NOWAIT 553 +#define NULL_P 554 +#define NULLIF 555 +#define NULLS_P 556 +#define NUMERIC 557 +#define OBJECT_P 558 +#define OF 559 +#define OFF 560 +#define OFFSET 561 +#define OIDS 562 +#define OLD 563 +#define OMIT 564 +#define ON 565 +#define ONLY 566 +#define OPERATOR 567 +#define OPTION 568 +#define OPTIONS 569 +#define OR 570 +#define ORDER 571 +#define ORDINALITY 572 +#define OTHERS 573 +#define OUT_P 574 +#define OUTER_P 575 +#define OVER 576 +#define OVERLAPS 577 +#define OVERLAY 578 +#define OVERRIDING 579 +#define OWNED 580 +#define OWNER 581 +#define PARALLEL 582 +#define PARAMETER 583 +#define PARSER 584 +#define PARTIAL 585 +#define PARTITION 586 +#define PASSING 587 +#define PASSWORD 588 +#define PATH 589 +#define PLACING 590 +#define PLAN 591 +#define PLANS 592 +#define POLICY 593 +#define POSITION 594 +#define PRECEDING 595 +#define PRECISION 596 +#define PRESERVE 597 +#define PREPARE 598 +#define PREPARED 599 +#define PRIMARY 600 +#define PRIOR 601 +#define PRIVILEGES 602 +#define PROCEDURAL 603 +#define PROCEDURE 604 +#define PROCEDURES 605 +#define PROGRAM 606 +#define PUBLICATION 607 +#define QUOTE 608 +#define QUOTES 609 +#define RANGE 610 +#define READ 611 +#define REAL 612 +#define REASSIGN 613 +#define RECHECK 614 +#define RECURSIVE 615 +#define REF_P 616 +#define REFERENCES 617 +#define REFERENCING 618 +#define REFRESH 619 +#define REINDEX 620 +#define RELATIVE_P 621 +#define RELEASE 622 +#define RENAME 623 +#define REPEATABLE 624 +#define REPLACE 625 +#define REPLICA 626 +#define RESET 627 +#define RESTART 628 +#define RESTRICT 629 +#define RETURN 630 +#define RETURNING 631 +#define RETURNS 632 +#define REVOKE 633 +#define RIGHT 634 +#define ROLE 635 +#define ROLLBACK 636 +#define ROLLUP 637 +#define ROUTINE 638 +#define ROUTINES 639 +#define ROW 640 +#define ROWS 641 +#define RULE 642 +#define SAVEPOINT 643 +#define SCALAR 644 +#define SCHEMA 645 +#define SCHEMAS 646 +#define SCROLL 647 +#define SEARCH 648 +#define SECOND_P 649 +#define SECURITY 650 +#define SELECT 651 +#define SEQUENCE 652 +#define SEQUENCES 653 +#define SERIALIZABLE 654 +#define SERVER 655 +#define SESSION 656 +#define SESSION_USER 657 +#define SET 658 +#define SETS 659 +#define SETOF 660 +#define SHARE 661 +#define SHOW 662 +#define SIMILAR 663 +#define SIMPLE 664 +#define SKIP 665 +#define SMALLINT 666 +#define SNAPSHOT 667 +#define SOME 668 +#define SOURCE 669 +#define SQL_P 670 +#define STABLE 671 +#define STANDALONE_P 672 +#define START 673 +#define STATEMENT 674 +#define STATISTICS 675 +#define STDIN 676 +#define STDOUT 677 +#define STORAGE 678 +#define STORED 679 +#define STRICT_P 680 +#define STRING_P 681 +#define STRIP_P 682 +#define SUBSCRIPTION 683 +#define SUBSTRING 684 +#define SUPPORT 685 +#define SYMMETRIC 686 +#define SYSID 687 +#define SYSTEM_P 688 +#define SYSTEM_USER 689 +#define TABLE 690 +#define TABLES 691 +#define TABLESAMPLE 692 +#define TABLESPACE 693 +#define TARGET 694 +#define TEMP 695 +#define TEMPLATE 696 +#define TEMPORARY 697 +#define TEXT_P 698 +#define THEN 699 +#define TIES 700 +#define TIME 701 +#define TIMESTAMP 702 +#define TO 703 +#define TRAILING 704 +#define TRANSACTION 705 +#define TRANSFORM 706 +#define TREAT 707 +#define TRIGGER 708 +#define TRIM 709 +#define TRUE_P 710 +#define TRUNCATE 711 +#define TRUSTED 712 +#define TYPE_P 713 +#define TYPES_P 714 +#define UESCAPE 715 +#define UNBOUNDED 716 +#define UNCONDITIONAL 717 +#define UNCOMMITTED 718 +#define UNENCRYPTED 719 +#define UNION 720 +#define UNIQUE 721 +#define UNKNOWN 722 +#define UNLISTEN 723 +#define UNLOGGED 724 +#define UNTIL 725 +#define UPDATE 726 +#define USER 727 +#define USING 728 +#define VACUUM 729 +#define VALID 730 +#define VALIDATE 731 +#define VALIDATOR 732 +#define VALUE_P 733 +#define VALUES 734 +#define VARCHAR 735 +#define VARIADIC 736 +#define VARYING 737 +#define VERBOSE 738 +#define VERSION_P 739 +#define VIEW 740 +#define VIEWS 741 +#define VOLATILE 742 +#define WHEN 743 +#define WHERE 744 +#define WHITESPACE_P 745 +#define WINDOW 746 +#define WITH 747 +#define WITHIN 748 +#define WITHOUT 749 +#define WORK 750 +#define WRAPPER 751 +#define WRITE 752 +#define XML_P 753 +#define XMLATTRIBUTES 754 +#define XMLCONCAT 755 +#define XMLELEMENT 756 +#define XMLEXISTS 757 +#define XMLFOREST 758 +#define XMLNAMESPACES 759 +#define XMLPARSE 760 +#define XMLPI 761 +#define XMLROOT 762 +#define XMLSERIALIZE 763 +#define XMLTABLE 764 +#define YEAR_P 765 +#define YES_P 766 +#define ZONE 767 +#define FORMAT_LA 768 +#define NOT_LA 769 +#define NULLS_LA 770 +#define WITH_LA 771 +#define WITHOUT_LA 772 +#define MODE_TYPE_NAME 773 +#define MODE_PLPGSQL_EXPR 774 +#define MODE_PLPGSQL_ASSIGN1 775 +#define MODE_PLPGSQL_ASSIGN2 776 +#define MODE_PLPGSQL_ASSIGN3 777 +#define UMINUS 778 @@ -1154,7 +1193,7 @@ * gram.y * POSTGRESQL BISON rules/actions * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -1318,7 +1357,6 @@ static void updateRawStmtEnd(RawStmt *rs, int end_location); static Node *makeColumnRef(char *colname, List *indirection, int location, core_yyscan_t yyscanner); static Node *makeTypeCast(Node *arg, TypeName *typename, int location); -static Node *makeStringConst(char *str, int location); static Node *makeStringConstCast(char *str, int location, TypeName *typename); static Node *makeIntConst(int val, int location); static Node *makeFloatConst(char *str, int location); @@ -1390,7 +1428,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 234 "gram.y" +#line 233 "gram.y" { core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ @@ -1437,12 +1475,13 @@ typedef union YYSTYPE struct SelectLimit *selectlimit; SetQuantifier setquantifier; struct GroupClause *groupclause; + MergeMatchKind mergematch; MergeWhenClause *mergewhen; struct KeyActions *keyactions; struct KeyAction *keyaction; } /* Line 193 of yacc.c. */ -#line 1385 "gram.c" +#line 1425 "gram.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1467,7 +1506,7 @@ typedef struct YYLTYPE /* Line 216 of yacc.c. */ -#line 1410 "gram.c" +#line 1450 "gram.c" #ifdef short # undef short @@ -1682,22 +1721,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 906 +#define YYFINAL 928 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 115760 +#define YYLAST 122949 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 521 +#define YYNTOKENS 541 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 706 +#define YYNNTS 728 /* YYNRULES -- Number of rules. */ -#define YYNRULES 3296 +#define YYNRULES 3421 /* YYNRULES -- Number of states. */ -#define YYNSTATES 6237 +#define YYNSTATES 6474 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 758 +#define YYMAXUTOK 778 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1708,13 +1747,13 @@ static const yytype_uint16 yytranslate[] = 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, 510, 2, 2, - 515, 516, 508, 506, 519, 507, 517, 509, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 520, 518, - 503, 505, 504, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 530, 2, 2, + 535, 536, 528, 526, 539, 527, 537, 529, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 540, 538, + 523, 525, 524, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 513, 2, 514, 511, 2, 2, 2, 2, 2, + 2, 533, 2, 534, 531, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1780,7 +1819,9 @@ static const yytype_uint16 yytranslate[] = 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 512 + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 532 }; #if YYDEBUG @@ -1819,1782 +1860,1849 @@ static const yytype_uint16 yyprhs[] = 736, 739, 742, 747, 754, 759, 766, 777, 791, 796, 803, 808, 819, 833, 838, 845, 850, 857, 863, 871, 883, 898, 904, 912, 914, 918, 923, 928, 933, 937, - 940, 946, 950, 957, 962, 969, 976, 982, 990, 997, - 1004, 1010, 1016, 1022, 1028, 1038, 1043, 1049, 1057, 1064, - 1069, 1078, 1083, 1086, 1091, 1095, 1102, 1107, 1111, 1115, - 1119, 1122, 1125, 1129, 1134, 1139, 1143, 1147, 1151, 1155, - 1159, 1163, 1168, 1173, 1177, 1180, 1184, 1187, 1190, 1194, - 1199, 1203, 1206, 1209, 1213, 1218, 1223, 1228, 1234, 1236, - 1240, 1243, 1246, 1247, 1250, 1251, 1253, 1255, 1257, 1261, - 1265, 1268, 1269, 1271, 1275, 1279, 1281, 1287, 1291, 1293, - 1296, 1298, 1302, 1305, 1309, 1316, 1323, 1334, 1336, 1339, - 1341, 1345, 1350, 1352, 1356, 1361, 1368, 1373, 1382, 1385, - 1388, 1400, 1410, 1412, 1414, 1416, 1417, 1419, 1421, 1423, - 1425, 1429, 1432, 1433, 1435, 1437, 1441, 1445, 1447, 1449, - 1453, 1457, 1461, 1465, 1470, 1474, 1477, 1479, 1480, 1484, - 1485, 1487, 1488, 1490, 1494, 1497, 1499, 1501, 1503, 1507, - 1508, 1510, 1514, 1516, 1530, 1547, 1560, 1576, 1591, 1609, - 1611, 1613, 1616, 1619, 1622, 1625, 1627, 1628, 1630, 1631, - 1635, 1636, 1638, 1642, 1644, 1648, 1650, 1652, 1654, 1656, - 1658, 1665, 1668, 1673, 1676, 1679, 1681, 1682, 1685, 1688, - 1690, 1691, 1694, 1695, 1699, 1701, 1703, 1706, 1709, 1711, - 1716, 1721, 1727, 1730, 1736, 1744, 1750, 1753, 1757, 1758, - 1760, 1763, 1765, 1768, 1771, 1774, 1778, 1782, 1786, 1787, - 1789, 1791, 1793, 1795, 1797, 1799, 1801, 1803, 1805, 1807, - 1811, 1813, 1819, 1829, 1833, 1843, 1848, 1859, 1871, 1874, - 1875, 1879, 1880, 1882, 1886, 1888, 1893, 1894, 1897, 1900, - 1903, 1904, 1906, 1910, 1914, 1921, 1926, 1927, 1929, 1931, - 1934, 1937, 1938, 1942, 1946, 1949, 1951, 1953, 1957, 1961, - 1966, 1967, 1969, 1970, 1977, 1979, 1983, 1987, 1991, 1997, - 2000, 2001, 2004, 2007, 2008, 2012, 2017, 2022, 2023, 2026, - 2027, 2032, 2033, 2037, 2046, 2058, 2060, 2064, 2066, 2068, - 2072, 2079, 2088, 2096, 2107, 2114, 2117, 2121, 2122, 2131, - 2143, 2149, 2151, 2152, 2159, 2165, 2174, 2179, 2186, 2188, - 2189, 2193, 2194, 2196, 2199, 2202, 2205, 2207, 2210, 2214, - 2217, 2220, 2223, 2226, 2230, 2234, 2238, 2240, 2244, 2246, - 2247, 2249, 2252, 2255, 2257, 2259, 2263, 2270, 2281, 2283, - 2284, 2286, 2289, 2292, 2293, 2296, 2299, 2301, 2302, 2304, - 2305, 2313, 2316, 2317, 2321, 2327, 2333, 2342, 2345, 2346, - 2349, 2352, 2355, 2357, 2363, 2366, 2367, 2370, 2377, 2384, - 2391, 2402, 2409, 2416, 2423, 2433, 2443, 2450, 2457, 2467, - 2474, 2482, 2485, 2488, 2491, 2494, 2496, 2499, 2501, 2502, - 2510, 2517, 2522, 2523, 2525, 2529, 2534, 2536, 2540, 2542, - 2545, 2548, 2551, 2554, 2556, 2558, 2569, 2583, 2586, 2587, - 2590, 2593, 2595, 2596, 2602, 2607, 2612, 2624, 2639, 2652, - 2668, 2680, 2683, 2685, 2690, 2691, 2700, 2712, 2714, 2716, - 2724, 2734, 2743, 2754, 2763, 2768, 2769, 2775, 2776, 2779, - 2780, 2783, 2784, 2787, 2788, 2791, 2792, 2794, 2796, 2798, - 2800, 2802, 2811, 2813, 2815, 2833, 2855, 2857, 2859, 2862, - 2864, 2868, 2870, 2872, 2874, 2878, 2880, 2883, 2884, 2886, - 2889, 2894, 2896, 2898, 2900, 2902, 2904, 2908, 2909, 2911, - 2912, 2914, 2916, 2921, 2922, 2924, 2926, 2928, 2932, 2933, - 2935, 2937, 2939, 2941, 2944, 2945, 2946, 2949, 2952, 2954, - 2957, 2960, 2963, 2966, 2978, 2992, 2994, 2998, 3004, 3006, - 3010, 3016, 3018, 3021, 3024, 3026, 3035, 3042, 3048, 3053, - 3058, 3062, 3070, 3079, 3086, 3093, 3100, 3107, 3114, 3119, - 3127, 3133, 3142, 3146, 3148, 3152, 3156, 3158, 3160, 3162, - 3164, 3166, 3168, 3170, 3174, 3176, 3180, 3184, 3186, 3187, - 3189, 3193, 3201, 3211, 3221, 3230, 3234, 3235, 3249, 3251, - 3255, 3261, 3267, 3271, 3278, 3281, 3283, 3284, 3287, 3288, - 3291, 3296, 3297, 3299, 3300, 3307, 3316, 3325, 3327, 3331, - 3337, 3343, 3351, 3361, 3369, 3379, 3385, 3392, 3399, 3404, - 3411, 3416, 3423, 3432, 3437, 3444, 3449, 3456, 3462, 3470, - 3472, 3474, 3476, 3479, 3481, 3484, 3486, 3488, 3490, 3494, - 3498, 3502, 3506, 3508, 3510, 3512, 3514, 3516, 3519, 3522, - 3524, 3528, 3531, 3533, 3535, 3537, 3539, 3541, 3543, 3545, - 3549, 3551, 3554, 3557, 3561, 3563, 3567, 3573, 3576, 3579, - 3580, 3587, 3594, 3601, 3608, 3615, 3622, 3629, 3636, 3645, - 3655, 3664, 3671, 3678, 3688, 3698, 3708, 3716, 3727, 3729, - 3731, 3740, 3749, 3758, 3767, 3776, 3785, 3794, 3804, 3813, - 3822, 3825, 3826, 3828, 3830, 3833, 3836, 3838, 3841, 3845, - 3849, 3853, 3857, 3862, 3867, 3871, 3875, 3879, 3884, 3889, - 3893, 3898, 3903, 3905, 3907, 3909, 3910, 3919, 3928, 3940, - 3942, 3944, 3947, 3952, 3958, 3960, 3964, 3967, 3970, 3973, - 3976, 3979, 3981, 3985, 3987, 3991, 3993, 3996, 3999, 4004, - 4008, 4011, 4014, 4017, 4020, 4023, 4026, 4030, 4033, 4036, - 4039, 4042, 4048, 4054, 4060, 4066, 4072, 4074, 4078, 4080, - 4083, 4087, 4088, 4094, 4102, 4109, 4119, 4123, 4125, 4128, - 4130, 4132, 4134, 4138, 4139, 4145, 4148, 4149, 4153, 4157, - 4161, 4169, 4177, 4188, 4190, 4192, 4194, 4196, 4198, 4200, - 4217, 4237, 4239, 4240, 4243, 4244, 4246, 4250, 4255, 4261, - 4264, 4267, 4272, 4277, 4278, 4280, 4284, 4287, 4288, 4290, - 4292, 4293, 4296, 4299, 4300, 4310, 4323, 4331, 4339, 4342, - 4343, 4347, 4350, 4352, 4356, 4358, 4362, 4365, 4367, 4369, - 4372, 4376, 4379, 4381, 4385, 4389, 4393, 4396, 4399, 4401, - 4403, 4405, 4407, 4410, 4412, 4414, 4416, 4418, 4423, 4429, - 4431, 4435, 4439, 4441, 4445, 4449, 4455, 4462, 4464, 4468, - 4471, 4473, 4477, 4479, 4480, 4482, 4485, 4490, 4496, 4498, - 4500, 4502, 4504, 4508, 4512, 4515, 4518, 4520, 4523, 4526, - 4529, 4532, 4534, 4537, 4540, 4543, 4546, 4548, 4550, 4552, - 4556, 4559, 4561, 4566, 4567, 4571, 4572, 4574, 4576, 4580, - 4586, 4589, 4590, 4593, 4595, 4599, 4605, 4611, 4617, 4619, - 4622, 4624, 4625, 4630, 4637, 4642, 4649, 4654, 4661, 4666, - 4673, 4678, 4685, 4689, 4695, 4701, 4707, 4709, 4713, 4715, - 4719, 4722, 4725, 4727, 4730, 4732, 4735, 4747, 4758, 4769, - 4772, 4775, 4776, 4786, 4789, 4790, 4801, 4813, 4825, 4831, - 4837, 4846, 4852, 4858, 4864, 4866, 4868, 4870, 4872, 4876, - 4877, 4883, 4889, 4896, 4903, 4910, 4917, 4924, 4933, 4942, - 4949, 4956, 4964, 4974, 4984, 4993, 5004, 5011, 5018, 5025, - 5032, 5039, 5046, 5053, 5062, 5069, 5078, 5085, 5094, 5102, - 5112, 5119, 5128, 5136, 5146, 5155, 5166, 5175, 5186, 5196, - 5208, 5217, 5228, 5238, 5250, 5259, 5268, 5276, 5283, 5290, - 5297, 5304, 5313, 5322, 5331, 5340, 5347, 5357, 5359, 5360, - 5363, 5364, 5373, 5382, 5391, 5402, 5412, 5421, 5423, 5424, - 5431, 5438, 5445, 5452, 5459, 5466, 5473, 5483, 5493, 5500, - 5507, 5514, 5523, 5530, 5539, 5548, 5557, 5566, 5573, 5582, - 5589, 5598, 5606, 5616, 5624, 5634, 5641, 5649, 5651, 5655, - 5659, 5663, 5665, 5667, 5669, 5671, 5673, 5681, 5688, 5695, - 5702, 5709, 5716, 5723, 5731, 5739, 5746, 5756, 5766, 5773, - 5780, 5787, 5794, 5801, 5808, 5817, 5826, 5835, 5842, 5850, - 5857, 5864, 5869, 5877, 5884, 5889, 5894, 5899, 5903, 5908, - 5912, 5914, 5916, 5920, 5926, 5932, 5938, 5944, 5953, 5959, - 5965, 5972, 5980, 5988, 5996, 6001, 6006, 6012, 6017, 6024, - 6038, 6040, 6042, 6046, 6050, 6052, 6054, 6056, 6058, 6060, - 6062, 6064, 6065, 6067, 6069, 6071, 6073, 6075, 6077, 6078, - 6082, 6085, 6086, 6089, 6092, 6095, 6099, 6103, 6107, 6111, - 6114, 6118, 6121, 6127, 6132, 6136, 6140, 6144, 6148, 6152, - 6154, 6156, 6157, 6161, 6164, 6167, 6169, 6172, 6174, 6178, - 6181, 6183, 6184, 6187, 6191, 6192, 6202, 6214, 6227, 6242, - 6246, 6251, 6256, 6257, 6260, 6266, 6268, 6269, 6271, 6274, - 6278, 6282, 6286, 6288, 6291, 6293, 6295, 6297, 6299, 6301, - 6303, 6304, 6310, 6315, 6322, 6329, 6334, 6338, 6344, 6352, - 6362, 6364, 6368, 6370, 6376, 6381, 6386, 6393, 6398, 6405, - 6412, 6418, 6426, 6436, 6443, 6445, 6446, 6453, 6465, 6477, - 6489, 6503, 6513, 6525, 6527, 6529, 6540, 6545, 6552, 6555, - 6561, 6564, 6565, 6572, 6578, 6582, 6588, 6590, 6594, 6596, - 6598, 6601, 6603, 6605, 6607, 6609, 6611, 6612, 6614, 6615, - 6617, 6618, 6620, 6621, 6623, 6624, 6628, 6629, 6632, 6634, - 6638, 6640, 6641, 6644, 6649, 6653, 6659, 6661, 6663, 6665, - 6667, 6669, 6671, 6673, 6675, 6677, 6679, 6685, 6689, 6690, - 6692, 6694, 6696, 6698, 6700, 6704, 6714, 6727, 6731, 6732, - 6735, 6739, 6742, 6746, 6754, 6756, 6760, 6762, 6767, 6772, - 6780, 6783, 6785, 6787, 6789, 6793, 6796, 6805, 6811, 6812, - 6817, 6821, 6822, 6825, 6826, 6834, 6837, 6838, 6844, 6848, - 6849, 6852, 6855, 6858, 6862, 6864, 6868, 6870, 6873, 6875, - 6876, 6878, 6881, 6882, 6891, 6893, 6897, 6901, 6907, 6910, - 6912, 6916, 6926, 6928, 6931, 6937, 6943, 6950, 6957, 6965, - 6968, 6969, 6973, 6975, 6978, 6984, 6990, 6999, 7003, 7008, - 7016, 7018, 7019, 7023, 7026, 7029, 7032, 7035, 7036, 7039, - 7042, 7044, 7046, 7050, 7054, 7056, 7059, 7064, 7069, 7072, - 7076, 7082, 7088, 7090, 7092, 7102, 7112, 7114, 7117, 7122, - 7127, 7132, 7135, 7138, 7142, 7144, 7148, 7158, 7160, 7163, - 7164, 7172, 7180, 7181, 7192, 7199, 7200, 7202, 7203, 7206, - 7207, 7211, 7215, 7220, 7225, 7230, 7235, 7239, 7242, 7244, - 7246, 7247, 7249, 7251, 7252, 7254, 7260, 7262, 7263, 7265, - 7267, 7269, 7270, 7274, 7276, 7280, 7285, 7289, 7292, 7295, - 7297, 7299, 7301, 7302, 7305, 7310, 7316, 7323, 7328, 7334, - 7337, 7341, 7343, 7345, 7347, 7349, 7352, 7355, 7357, 7359, - 7361, 7363, 7365, 7367, 7372, 7373, 7375, 7379, 7381, 7383, - 7385, 7387, 7389, 7392, 7397, 7402, 7408, 7411, 7412, 7414, - 7418, 7420, 7421, 7423, 7426, 7430, 7433, 7438, 7441, 7445, - 7448, 7449, 7454, 7460, 7463, 7464, 7466, 7470, 7473, 7477, - 7480, 7484, 7487, 7491, 7494, 7498, 7500, 7505, 7509, 7514, - 7520, 7525, 7531, 7536, 7542, 7545, 7550, 7552, 7554, 7555, - 7558, 7559, 7561, 7566, 7572, 7577, 7578, 7581, 7584, 7587, - 7589, 7591, 7592, 7598, 7601, 7603, 7605, 7608, 7611, 7616, - 7618, 7622, 7624, 7627, 7631, 7638, 7643, 7644, 7647, 7654, - 7657, 7659, 7663, 7668, 7669, 7672, 7673, 7676, 7677, 7680, - 7685, 7686, 7688, 7689, 7691, 7695, 7699, 7707, 7720, 7722, - 7726, 7729, 7733, 7737, 7739, 7742, 7745, 7748, 7751, 7753, - 7755, 7759, 7763, 7766, 7769, 7773, 7779, 7786, 7789, 7793, - 7797, 7802, 7803, 7805, 7807, 7809, 7811, 7813, 7816, 7821, - 7823, 7825, 7827, 7829, 7832, 7836, 7840, 7841, 7843, 7845, - 7847, 7849, 7851, 7854, 7857, 7860, 7863, 7866, 7868, 7872, - 7873, 7875, 7877, 7879, 7881, 7887, 7890, 7892, 7894, 7896, - 7898, 7903, 7905, 7908, 7911, 7913, 7917, 7921, 7924, 7926, - 7927, 7933, 7936, 7942, 7945, 7947, 7951, 7955, 7956, 7958, - 7960, 7962, 7964, 7966, 7968, 7972, 7976, 7980, 7984, 7988, - 7992, 7996, 7997, 7999, 8004, 8006, 8010, 8014, 8020, 8023, - 8026, 8030, 8034, 8038, 8042, 8046, 8050, 8054, 8058, 8062, - 8066, 8070, 8074, 8078, 8081, 8085, 8089, 8092, 8095, 8099, - 8105, 8110, 8117, 8121, 8127, 8132, 8139, 8144, 8151, 8157, - 8165, 8169, 8172, 8177, 8180, 8184, 8188, 8193, 8197, 8202, - 8206, 8211, 8217, 8224, 8231, 8239, 8246, 8254, 8258, 8263, - 8268, 8275, 8279, 8283, 8288, 8292, 8297, 8302, 8308, 8313, - 8319, 8321, 8323, 8327, 8330, 8333, 8337, 8341, 8345, 8349, - 8353, 8357, 8361, 8365, 8369, 8373, 8377, 8381, 8385, 8388, - 8394, 8401, 8405, 8410, 8412, 8414, 8417, 8422, 8424, 8426, - 8428, 8431, 8434, 8437, 8440, 8442, 8444, 8449, 8453, 8459, - 8466, 8475, 8482, 8489, 8494, 8499, 8503, 8505, 8507, 8509, - 8511, 8517, 8519, 8521, 8526, 8528, 8533, 8535, 8540, 8542, - 8547, 8549, 8551, 8553, 8555, 8557, 8559, 8561, 8568, 8573, - 8578, 8585, 8590, 8595, 8600, 8605, 8610, 8617, 8623, 8629, - 8635, 8640, 8647, 8652, 8657, 8662, 8667, 8673, 8681, 8689, - 8699, 8705, 8710, 8717, 8723, 8731, 8739, 8748, 8753, 8761, - 8766, 8773, 8780, 8785, 8788, 8792, 8796, 8800, 8805, 8806, - 8811, 8813, 8817, 8821, 8823, 8825, 8827, 8829, 8832, 8833, - 8836, 8839, 8840, 8843, 8847, 8851, 8856, 8859, 8862, 8868, - 8869, 8875, 8876, 8879, 8880, 8882, 8886, 8890, 8893, 8896, - 8897, 8904, 8906, 8907, 8911, 8912, 8916, 8920, 8924, 8925, - 8927, 8932, 8935, 8938, 8941, 8944, 8947, 8951, 8954, 8957, - 8961, 8962, 8967, 8971, 8977, 8982, 8986, 8992, 8994, 8996, - 8998, 9000, 9002, 9004, 9006, 9008, 9010, 9012, 9014, 9016, - 9018, 9020, 9022, 9024, 9026, 9028, 9033, 9035, 9040, 9042, - 9047, 9049, 9052, 9054, 9057, 9059, 9063, 9065, 9069, 9071, - 9075, 9079, 9081, 9082, 9084, 9088, 9092, 9096, 9099, 9101, - 9105, 9109, 9113, 9115, 9117, 9119, 9121, 9123, 9125, 9127, - 9129, 9131, 9133, 9135, 9137, 9145, 9151, 9155, 9161, 9167, - 9171, 9175, 9181, 9185, 9188, 9190, 9192, 9196, 9202, 9204, - 9207, 9212, 9215, 9216, 9218, 9219, 9221, 9224, 9227, 9230, - 9234, 9240, 9242, 9243, 9245, 9248, 9249, 9252, 9254, 9255, - 9258, 9262, 9263, 9266, 9267, 9271, 9272, 9274, 9277, 9280, - 9283, 9286, 9290, 9293, 9297, 9300, 9301, 9303, 9307, 9311, - 9315, 9319, 9323, 9324, 9328, 9332, 9333, 9335, 9339, 9347, - 9355, 9359, 9360, 9362, 9363, 9365, 9369, 9373, 9376, 9378, - 9380, 9382, 9386, 9388, 9391, 9393, 9397, 9399, 9401, 9403, - 9405, 9408, 9410, 9412, 9414, 9416, 9418, 9421, 9428, 9431, - 9438, 9441, 9445, 9451, 9454, 9458, 9464, 9466, 9468, 9470, - 9472, 9474, 9476, 9479, 9482, 9484, 9486, 9488, 9490, 9492, - 9494, 9498, 9509, 9514, 9516, 9518, 9520, 9522, 9524, 9526, - 9528, 9530, 9532, 9534, 9536, 9538, 9540, 9542, 9544, 9546, - 9548, 9550, 9552, 9554, 9556, 9558, 9560, 9562, 9564, 9566, - 9568, 9570, 9572, 9574, 9576, 9578, 9580, 9582, 9584, 9586, - 9588, 9590, 9592, 9594, 9596, 9598, 9600, 9602, 9604, 9606, - 9608, 9610, 9612, 9614, 9616, 9618, 9620, 9622, 9624, 9626, - 9628, 9630, 9632, 9634, 9636, 9638, 9640, 9642, 9644, 9646, - 9648, 9650, 9652, 9654, 9656, 9658, 9660, 9662, 9664, 9666, - 9668, 9670, 9672, 9674, 9676, 9678, 9680, 9682, 9684, 9686, - 9688, 9690, 9692, 9694, 9696, 9698, 9700, 9702, 9704, 9706, - 9708, 9710, 9712, 9714, 9716, 9718, 9720, 9722, 9724, 9726, - 9728, 9730, 9732, 9734, 9736, 9738, 9740, 9742, 9744, 9746, - 9748, 9750, 9752, 9754, 9756, 9758, 9760, 9762, 9764, 9766, - 9768, 9770, 9772, 9774, 9776, 9778, 9780, 9782, 9784, 9786, - 9788, 9790, 9792, 9794, 9796, 9798, 9800, 9802, 9804, 9806, - 9808, 9810, 9812, 9814, 9816, 9818, 9820, 9822, 9824, 9826, - 9828, 9830, 9832, 9834, 9836, 9838, 9840, 9842, 9844, 9846, - 9848, 9850, 9852, 9854, 9856, 9858, 9860, 9862, 9864, 9866, - 9868, 9870, 9872, 9874, 9876, 9878, 9880, 9882, 9884, 9886, - 9888, 9890, 9892, 9894, 9896, 9898, 9900, 9902, 9904, 9906, - 9908, 9910, 9912, 9914, 9916, 9918, 9920, 9922, 9924, 9926, - 9928, 9930, 9932, 9934, 9936, 9938, 9940, 9942, 9944, 9946, - 9948, 9950, 9952, 9954, 9956, 9958, 9960, 9962, 9964, 9966, - 9968, 9970, 9972, 9974, 9976, 9978, 9980, 9982, 9984, 9986, - 9988, 9990, 9992, 9994, 9996, 9998, 10000, 10002, 10004, 10006, - 10008, 10010, 10012, 10014, 10016, 10018, 10020, 10022, 10024, 10026, - 10028, 10030, 10032, 10034, 10036, 10038, 10040, 10042, 10044, 10046, - 10048, 10050, 10052, 10054, 10056, 10058, 10060, 10062, 10064, 10066, - 10068, 10070, 10072, 10074, 10076, 10078, 10080, 10082, 10084, 10086, - 10088, 10090, 10092, 10094, 10096, 10098, 10100, 10102, 10104, 10106, - 10108, 10110, 10112, 10114, 10116, 10118, 10120, 10122, 10124, 10126, - 10128, 10130, 10132, 10134, 10136, 10138, 10140, 10142, 10144, 10146, - 10148, 10150, 10152, 10154, 10156, 10158, 10160, 10162, 10164, 10166, - 10168, 10170, 10172, 10174, 10176, 10178, 10180, 10182, 10184, 10186, - 10188, 10190, 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, - 10208, 10210, 10212, 10214, 10216, 10218, 10220, 10222, 10224, 10226, - 10228, 10230, 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, - 10248, 10250, 10252, 10254, 10256, 10258, 10260, 10262, 10264, 10266, - 10268, 10270, 10272, 10274, 10276, 10278, 10280, 10282, 10284, 10286, - 10288, 10290, 10292, 10294, 10296, 10298, 10300, 10302, 10304, 10306, - 10308, 10310, 10312, 10314, 10316, 10318, 10320, 10322, 10324, 10326, - 10328, 10330, 10332, 10334, 10336, 10338, 10340, 10342, 10344, 10346, - 10348, 10350, 10352, 10354, 10356, 10358, 10360, 10362, 10364, 10366, - 10368, 10370, 10372, 10374, 10376, 10378, 10380, 10382, 10384, 10386, - 10388, 10390, 10392, 10394, 10396, 10398, 10400, 10402, 10404, 10406, - 10408, 10410, 10412, 10414, 10416, 10418, 10420, 10422, 10424, 10426, - 10428, 10430, 10432, 10434, 10436, 10438, 10440, 10442, 10444, 10446, - 10448, 10450, 10452, 10454, 10456, 10458, 10460, 10462, 10464, 10466, - 10468, 10470, 10472, 10474, 10476, 10478, 10480, 10482, 10484, 10486, - 10488, 10490, 10492, 10494, 10496, 10498, 10500, 10502, 10504, 10506, - 10508, 10510, 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, - 10528, 10530, 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, - 10548, 10550, 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, - 10568, 10570, 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, - 10588, 10590, 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, - 10608, 10610, 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, - 10628, 10630, 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, - 10648, 10650, 10652, 10654, 10656, 10658, 10660, 10662, 10664, 10666, - 10668, 10670, 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, - 10688, 10690, 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, - 10708, 10710, 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, - 10728, 10730, 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, - 10748, 10750, 10752, 10754, 10756, 10758, 10760, 10762, 10764, 10766, - 10768, 10770, 10772, 10774, 10776, 10778, 10780, 10782, 10784, 10786, - 10788, 10790, 10792, 10794, 10796, 10798, 10800, 10802, 10804, 10806, - 10808, 10810, 10812, 10814, 10816, 10818, 10820, 10822, 10824, 10826, - 10828, 10830, 10832, 10834, 10836, 10838, 10840, 10842, 10844, 10846, - 10848, 10850, 10852, 10854, 10856, 10858, 10860, 10862, 10864, 10866, - 10868, 10870, 10872, 10874, 10876, 10878, 10880, 10882, 10884, 10886, - 10888, 10890, 10892, 10894, 10896, 10898, 10900, 10902, 10904, 10906, - 10908, 10910, 10912, 10914, 10916, 10918, 10920, 10922, 10924, 10926, - 10928, 10930, 10932, 10934, 10936, 10938, 10940, 10942, 10944, 10946, - 10948, 10950, 10952, 10954, 10956, 10958, 10960, 10962, 10964, 10966, - 10968, 10970, 10972, 10974, 10976, 10978, 10980, 10982, 10984, 10986, - 10988, 10990, 10992, 10994, 10996, 10998, 11000, 11002, 11004, 11006, - 11008, 11010, 11012, 11014, 11016, 11018, 11020, 11022, 11024, 11026, - 11028, 11030, 11032, 11034, 11036, 11038, 11040, 11042, 11044, 11046, - 11048, 11050, 11052, 11054, 11056, 11058, 11060, 11062, 11064, 11066, - 11068, 11070, 11072, 11074, 11076, 11078, 11080, 11082, 11084, 11086, - 11088, 11090, 11092, 11094, 11096, 11098, 11100, 11102, 11104, 11106, - 11108, 11110, 11112, 11114, 11116, 11118, 11120, 11122, 11124, 11126, - 11128, 11130, 11132, 11134, 11136, 11138, 11140, 11142, 11144, 11146, - 11148, 11150, 11152, 11154, 11156, 11158, 11160, 11162, 11164, 11166, - 11168, 11170, 11172, 11174, 11176, 11178, 11180, 11182, 11184, 11186, - 11188, 11190, 11192, 11194, 11196, 11198, 11200, 11202, 11204, 11206, - 11208, 11210, 11212, 11214, 11216, 11218, 11220, 11222, 11224, 11226, - 11228, 11230, 11232, 11234, 11236, 11238, 11240, 11242, 11244, 11246, - 11248, 11250, 11252, 11254, 11256, 11258, 11260, 11262, 11264, 11266, - 11268, 11270, 11272, 11274, 11276, 11278, 11280, 11282, 11284, 11286, - 11288, 11290, 11292, 11294, 11296, 11298, 11300, 11302, 11304, 11306, - 11308, 11310, 11312, 11314, 11316, 11318, 11320, 11322, 11324, 11326, - 11328, 11330, 11332, 11334, 11336, 11338, 11340, 11342, 11344, 11346, - 11348, 11350, 11352, 11354, 11356, 11358, 11360 + 940, 946, 950, 957, 962, 969, 976, 986, 992, 1000, + 1007, 1014, 1020, 1026, 1032, 1038, 1048, 1053, 1059, 1067, + 1074, 1079, 1088, 1093, 1096, 1101, 1105, 1112, 1117, 1121, + 1125, 1129, 1132, 1135, 1139, 1144, 1149, 1153, 1157, 1161, + 1165, 1169, 1173, 1178, 1183, 1187, 1190, 1194, 1197, 1200, + 1204, 1209, 1213, 1216, 1219, 1223, 1228, 1233, 1238, 1244, + 1246, 1250, 1253, 1256, 1257, 1260, 1261, 1263, 1265, 1267, + 1271, 1275, 1278, 1279, 1281, 1285, 1289, 1291, 1297, 1301, + 1303, 1306, 1308, 1312, 1315, 1319, 1321, 1323, 1325, 1327, + 1334, 1341, 1352, 1354, 1357, 1359, 1363, 1368, 1370, 1374, + 1379, 1386, 1391, 1400, 1403, 1406, 1418, 1428, 1430, 1432, + 1434, 1435, 1437, 1439, 1441, 1443, 1447, 1450, 1451, 1453, + 1455, 1459, 1463, 1465, 1467, 1471, 1475, 1479, 1483, 1488, + 1493, 1497, 1501, 1504, 1506, 1507, 1511, 1512, 1514, 1515, + 1517, 1521, 1524, 1526, 1528, 1530, 1532, 1536, 1537, 1539, + 1543, 1545, 1559, 1576, 1589, 1605, 1620, 1638, 1640, 1642, + 1645, 1648, 1651, 1654, 1656, 1657, 1659, 1660, 1664, 1665, + 1667, 1671, 1673, 1677, 1679, 1681, 1683, 1685, 1687, 1694, + 1697, 1702, 1705, 1708, 1710, 1711, 1714, 1717, 1719, 1720, + 1723, 1724, 1728, 1730, 1732, 1735, 1738, 1740, 1745, 1750, + 1756, 1759, 1765, 1773, 1779, 1782, 1786, 1787, 1789, 1792, + 1794, 1797, 1800, 1803, 1807, 1811, 1815, 1816, 1818, 1820, + 1822, 1824, 1826, 1828, 1830, 1832, 1834, 1836, 1840, 1842, + 1848, 1858, 1862, 1872, 1877, 1888, 1900, 1904, 1906, 1912, + 1916, 1919, 1920, 1924, 1925, 1927, 1931, 1933, 1938, 1939, + 1942, 1945, 1948, 1949, 1951, 1955, 1959, 1966, 1971, 1972, + 1974, 1976, 1979, 1982, 1983, 1987, 1991, 1994, 1996, 1998, + 2002, 2006, 2011, 2012, 2014, 2015, 2022, 2024, 2028, 2032, + 2036, 2042, 2045, 2046, 2049, 2052, 2053, 2057, 2062, 2067, + 2068, 2071, 2072, 2077, 2078, 2082, 2091, 2103, 2105, 2109, + 2111, 2113, 2117, 2124, 2133, 2141, 2152, 2159, 2162, 2166, + 2167, 2176, 2188, 2194, 2196, 2197, 2204, 2210, 2219, 2224, + 2231, 2233, 2234, 2238, 2239, 2241, 2244, 2247, 2250, 2252, + 2255, 2259, 2261, 2264, 2267, 2270, 2273, 2277, 2281, 2285, + 2287, 2291, 2293, 2295, 2296, 2298, 2301, 2304, 2306, 2308, + 2312, 2319, 2330, 2332, 2333, 2335, 2338, 2341, 2342, 2345, + 2348, 2350, 2351, 2353, 2354, 2362, 2365, 2366, 2370, 2376, + 2382, 2391, 2394, 2395, 2398, 2401, 2404, 2406, 2412, 2415, + 2416, 2419, 2426, 2433, 2440, 2451, 2458, 2465, 2472, 2482, + 2492, 2499, 2506, 2516, 2523, 2531, 2534, 2537, 2540, 2543, + 2545, 2548, 2550, 2551, 2559, 2566, 2571, 2572, 2574, 2578, + 2583, 2585, 2589, 2591, 2594, 2597, 2600, 2603, 2605, 2607, + 2618, 2632, 2635, 2636, 2639, 2642, 2644, 2645, 2651, 2656, + 2661, 2673, 2688, 2701, 2717, 2729, 2732, 2734, 2739, 2740, + 2749, 2761, 2763, 2765, 2773, 2783, 2792, 2803, 2812, 2817, + 2818, 2824, 2825, 2828, 2829, 2832, 2833, 2836, 2837, 2840, + 2841, 2843, 2845, 2847, 2849, 2851, 2860, 2862, 2864, 2882, + 2904, 2906, 2908, 2911, 2913, 2917, 2919, 2921, 2923, 2927, + 2929, 2932, 2933, 2935, 2938, 2943, 2945, 2947, 2949, 2951, + 2953, 2957, 2958, 2960, 2961, 2963, 2965, 2970, 2971, 2973, + 2975, 2977, 2981, 2982, 2984, 2986, 2988, 2990, 2993, 2994, + 2995, 2998, 3001, 3003, 3006, 3009, 3012, 3015, 3027, 3041, + 3043, 3047, 3053, 3055, 3059, 3065, 3067, 3070, 3073, 3075, + 3084, 3091, 3097, 3102, 3107, 3111, 3119, 3128, 3135, 3142, + 3149, 3156, 3163, 3168, 3176, 3182, 3191, 3195, 3197, 3201, + 3205, 3207, 3209, 3211, 3213, 3215, 3217, 3219, 3223, 3225, + 3229, 3233, 3235, 3236, 3238, 3242, 3250, 3260, 3270, 3279, + 3286, 3290, 3291, 3305, 3307, 3311, 3317, 3323, 3327, 3334, + 3337, 3339, 3340, 3343, 3344, 3347, 3352, 3353, 3355, 3356, + 3363, 3372, 3381, 3383, 3387, 3393, 3399, 3407, 3417, 3425, + 3435, 3441, 3448, 3455, 3460, 3467, 3472, 3479, 3488, 3493, + 3500, 3505, 3512, 3518, 3526, 3528, 3530, 3532, 3535, 3537, + 3540, 3542, 3544, 3546, 3550, 3554, 3558, 3562, 3564, 3566, + 3568, 3570, 3572, 3575, 3578, 3580, 3584, 3587, 3589, 3591, + 3593, 3595, 3597, 3599, 3601, 3605, 3607, 3610, 3613, 3617, + 3619, 3623, 3629, 3632, 3635, 3636, 3643, 3650, 3657, 3664, + 3671, 3678, 3685, 3692, 3701, 3711, 3720, 3727, 3734, 3744, + 3754, 3764, 3772, 3783, 3785, 3787, 3796, 3805, 3814, 3823, + 3832, 3841, 3850, 3860, 3869, 3878, 3881, 3882, 3884, 3886, + 3889, 3892, 3894, 3897, 3901, 3905, 3909, 3913, 3918, 3923, + 3927, 3931, 3935, 3940, 3945, 3949, 3954, 3959, 3961, 3963, + 3965, 3966, 3975, 3984, 3996, 3998, 4000, 4003, 4008, 4014, + 4016, 4020, 4023, 4026, 4029, 4032, 4035, 4037, 4041, 4043, + 4047, 4049, 4052, 4055, 4060, 4064, 4067, 4070, 4073, 4076, + 4079, 4082, 4086, 4089, 4092, 4095, 4098, 4104, 4110, 4116, + 4122, 4128, 4130, 4134, 4136, 4139, 4143, 4144, 4150, 4158, + 4165, 4175, 4179, 4181, 4184, 4186, 4188, 4190, 4194, 4195, + 4201, 4204, 4205, 4209, 4213, 4217, 4225, 4233, 4244, 4246, + 4248, 4250, 4252, 4254, 4256, 4273, 4293, 4295, 4296, 4299, + 4300, 4302, 4306, 4311, 4317, 4320, 4323, 4328, 4333, 4334, + 4336, 4340, 4343, 4344, 4346, 4348, 4349, 4352, 4355, 4356, + 4366, 4379, 4387, 4395, 4398, 4399, 4403, 4406, 4408, 4412, + 4414, 4418, 4421, 4423, 4425, 4428, 4432, 4435, 4437, 4441, + 4445, 4449, 4452, 4455, 4457, 4459, 4461, 4463, 4466, 4468, + 4470, 4472, 4474, 4479, 4485, 4487, 4491, 4495, 4497, 4501, + 4505, 4511, 4518, 4520, 4524, 4527, 4529, 4533, 4535, 4536, + 4538, 4541, 4546, 4552, 4554, 4556, 4558, 4560, 4564, 4568, + 4571, 4574, 4576, 4579, 4582, 4585, 4588, 4590, 4593, 4596, + 4599, 4602, 4604, 4606, 4608, 4612, 4615, 4617, 4622, 4623, + 4627, 4628, 4630, 4632, 4636, 4642, 4645, 4646, 4649, 4651, + 4655, 4661, 4667, 4673, 4675, 4678, 4680, 4681, 4686, 4693, + 4698, 4705, 4710, 4717, 4722, 4729, 4734, 4741, 4745, 4751, + 4757, 4763, 4765, 4769, 4771, 4775, 4778, 4781, 4783, 4786, + 4788, 4791, 4803, 4814, 4825, 4828, 4831, 4832, 4842, 4845, + 4846, 4857, 4869, 4881, 4887, 4893, 4902, 4908, 4914, 4920, + 4922, 4924, 4926, 4928, 4932, 4933, 4939, 4945, 4952, 4959, + 4966, 4973, 4980, 4989, 4998, 5005, 5012, 5020, 5030, 5040, + 5049, 5060, 5067, 5074, 5081, 5088, 5095, 5102, 5109, 5118, + 5125, 5134, 5141, 5150, 5158, 5168, 5175, 5184, 5192, 5202, + 5211, 5222, 5231, 5242, 5252, 5264, 5273, 5284, 5294, 5306, + 5315, 5324, 5332, 5339, 5346, 5353, 5360, 5369, 5378, 5387, + 5396, 5403, 5413, 5415, 5416, 5419, 5420, 5429, 5438, 5447, + 5458, 5468, 5477, 5479, 5480, 5487, 5494, 5501, 5508, 5515, + 5522, 5529, 5539, 5549, 5556, 5563, 5570, 5579, 5586, 5595, + 5604, 5613, 5622, 5629, 5638, 5645, 5654, 5662, 5672, 5680, + 5690, 5697, 5705, 5707, 5711, 5715, 5719, 5721, 5723, 5725, + 5727, 5729, 5731, 5739, 5746, 5753, 5760, 5767, 5774, 5781, + 5789, 5797, 5804, 5814, 5824, 5831, 5838, 5845, 5852, 5859, + 5866, 5875, 5884, 5893, 5900, 5908, 5915, 5922, 5927, 5935, + 5942, 5947, 5952, 5957, 5961, 5966, 5970, 5972, 5974, 5978, + 5984, 5990, 5996, 6002, 6011, 6017, 6023, 6030, 6038, 6046, + 6054, 6059, 6064, 6070, 6075, 6082, 6096, 6098, 6100, 6104, + 6108, 6110, 6112, 6114, 6116, 6118, 6120, 6122, 6123, 6125, + 6127, 6129, 6131, 6133, 6135, 6136, 6140, 6143, 6144, 6147, + 6150, 6153, 6157, 6161, 6165, 6169, 6172, 6176, 6179, 6185, + 6190, 6194, 6198, 6202, 6206, 6210, 6212, 6214, 6215, 6219, + 6222, 6225, 6227, 6230, 6232, 6236, 6239, 6241, 6242, 6245, + 6249, 6250, 6260, 6272, 6285, 6300, 6304, 6309, 6314, 6315, + 6318, 6324, 6326, 6327, 6329, 6332, 6336, 6340, 6344, 6346, + 6349, 6351, 6353, 6355, 6357, 6359, 6361, 6362, 6368, 6373, + 6380, 6387, 6392, 6396, 6402, 6410, 6420, 6422, 6426, 6428, + 6434, 6439, 6444, 6451, 6456, 6463, 6470, 6476, 6484, 6494, + 6501, 6503, 6504, 6511, 6523, 6535, 6547, 6561, 6571, 6583, + 6585, 6587, 6598, 6605, 6610, 6615, 6618, 6624, 6627, 6628, + 6635, 6641, 6645, 6651, 6653, 6657, 6659, 6661, 6664, 6666, + 6668, 6670, 6672, 6674, 6675, 6677, 6678, 6680, 6681, 6683, + 6684, 6686, 6687, 6691, 6692, 6695, 6697, 6701, 6703, 6704, + 6707, 6712, 6716, 6722, 6724, 6726, 6728, 6730, 6732, 6734, + 6736, 6738, 6740, 6742, 6748, 6752, 6753, 6755, 6757, 6759, + 6761, 6763, 6767, 6777, 6790, 6794, 6795, 6798, 6802, 6805, + 6809, 6817, 6819, 6823, 6825, 6830, 6835, 6843, 6846, 6848, + 6850, 6852, 6856, 6859, 6868, 6874, 6875, 6880, 6884, 6885, + 6888, 6889, 6897, 6900, 6901, 6907, 6911, 6912, 6915, 6918, + 6921, 6925, 6927, 6931, 6933, 6936, 6938, 6939, 6941, 6944, + 6945, 6954, 6956, 6960, 6964, 6970, 6973, 6975, 6979, 6990, + 6992, 6995, 7000, 7005, 7010, 7016, 7022, 7025, 7031, 7035, + 7041, 7044, 7045, 7049, 7051, 7054, 7060, 7066, 7075, 7079, + 7084, 7092, 7094, 7095, 7099, 7102, 7105, 7108, 7111, 7112, + 7115, 7118, 7120, 7122, 7126, 7130, 7132, 7135, 7140, 7145, + 7148, 7152, 7158, 7164, 7166, 7168, 7178, 7188, 7190, 7193, + 7198, 7203, 7208, 7211, 7214, 7218, 7220, 7224, 7234, 7236, + 7239, 7240, 7248, 7256, 7257, 7268, 7275, 7276, 7278, 7279, + 7282, 7283, 7287, 7291, 7296, 7301, 7306, 7311, 7315, 7318, + 7320, 7322, 7323, 7325, 7327, 7328, 7330, 7336, 7338, 7339, + 7341, 7343, 7345, 7346, 7350, 7352, 7356, 7361, 7365, 7368, + 7371, 7373, 7375, 7377, 7378, 7381, 7386, 7392, 7399, 7404, + 7410, 7413, 7417, 7419, 7421, 7423, 7425, 7428, 7431, 7433, + 7435, 7437, 7439, 7441, 7443, 7448, 7449, 7451, 7455, 7457, + 7459, 7461, 7463, 7465, 7468, 7473, 7478, 7484, 7487, 7488, + 7490, 7494, 7496, 7497, 7499, 7502, 7506, 7509, 7514, 7517, + 7521, 7524, 7525, 7530, 7536, 7539, 7540, 7542, 7546, 7549, + 7553, 7556, 7560, 7563, 7567, 7570, 7574, 7576, 7581, 7584, + 7588, 7592, 7597, 7603, 7608, 7614, 7619, 7625, 7628, 7633, + 7635, 7637, 7638, 7641, 7642, 7644, 7649, 7655, 7660, 7661, + 7664, 7667, 7670, 7672, 7674, 7675, 7681, 7684, 7686, 7688, + 7691, 7694, 7699, 7701, 7705, 7707, 7710, 7714, 7721, 7726, + 7727, 7730, 7737, 7740, 7742, 7746, 7751, 7752, 7755, 7756, + 7759, 7760, 7763, 7768, 7769, 7771, 7772, 7774, 7778, 7782, + 7790, 7803, 7805, 7809, 7812, 7816, 7820, 7822, 7825, 7828, + 7831, 7834, 7836, 7839, 7841, 7845, 7849, 7852, 7866, 7869, + 7870, 7872, 7876, 7880, 7887, 7895, 7901, 7909, 7919, 7921, + 7922, 7925, 7926, 7929, 7933, 7939, 7946, 7949, 7953, 7957, + 7962, 7963, 7965, 7967, 7969, 7971, 7973, 7976, 7981, 7983, + 7985, 7987, 7989, 7991, 7993, 7996, 8000, 8004, 8005, 8007, + 8009, 8011, 8013, 8015, 8018, 8021, 8024, 8027, 8030, 8032, + 8036, 8037, 8039, 8041, 8043, 8045, 8051, 8054, 8056, 8058, + 8060, 8062, 8067, 8069, 8072, 8075, 8077, 8081, 8085, 8088, + 8090, 8091, 8097, 8100, 8106, 8109, 8111, 8115, 8119, 8120, + 8122, 8124, 8126, 8128, 8130, 8132, 8136, 8140, 8144, 8148, + 8152, 8156, 8160, 8161, 8163, 8168, 8170, 8172, 8176, 8180, + 8186, 8190, 8193, 8196, 8200, 8204, 8208, 8212, 8216, 8220, + 8224, 8228, 8232, 8236, 8240, 8244, 8248, 8251, 8255, 8259, + 8262, 8265, 8269, 8275, 8280, 8287, 8291, 8297, 8302, 8309, + 8314, 8321, 8327, 8335, 8339, 8342, 8347, 8350, 8354, 8358, + 8363, 8367, 8372, 8376, 8381, 8387, 8394, 8401, 8409, 8416, + 8424, 8428, 8433, 8438, 8445, 8449, 8453, 8458, 8462, 8467, + 8472, 8478, 8483, 8489, 8491, 8493, 8497, 8500, 8503, 8507, + 8511, 8515, 8519, 8523, 8527, 8531, 8535, 8539, 8543, 8547, + 8551, 8555, 8558, 8564, 8571, 8575, 8580, 8582, 8584, 8587, + 8592, 8594, 8596, 8598, 8601, 8604, 8607, 8610, 8612, 8614, + 8619, 8623, 8629, 8636, 8645, 8652, 8659, 8664, 8669, 8673, + 8675, 8677, 8679, 8681, 8687, 8689, 8691, 8696, 8698, 8703, + 8705, 8710, 8712, 8717, 8719, 8721, 8723, 8725, 8727, 8729, + 8731, 8738, 8743, 8748, 8755, 8760, 8765, 8770, 8775, 8780, + 8787, 8793, 8799, 8805, 8810, 8817, 8822, 8827, 8832, 8837, + 8843, 8851, 8859, 8869, 8875, 8880, 8887, 8893, 8901, 8909, + 8918, 8923, 8931, 8936, 8943, 8950, 8955, 8961, 8966, 8972, + 8976, 8988, 8997, 9007, 9010, 9014, 9018, 9022, 9027, 9028, + 9033, 9035, 9039, 9043, 9045, 9047, 9049, 9051, 9054, 9055, + 9058, 9061, 9062, 9065, 9069, 9073, 9078, 9081, 9084, 9090, + 9091, 9097, 9098, 9101, 9102, 9104, 9108, 9112, 9115, 9118, + 9119, 9126, 9128, 9129, 9133, 9134, 9138, 9142, 9146, 9147, + 9149, 9154, 9157, 9160, 9163, 9166, 9169, 9173, 9176, 9179, + 9183, 9184, 9189, 9193, 9199, 9204, 9208, 9214, 9216, 9218, + 9220, 9222, 9224, 9226, 9228, 9230, 9232, 9234, 9236, 9238, + 9240, 9242, 9244, 9246, 9248, 9250, 9255, 9257, 9262, 9264, + 9269, 9271, 9274, 9276, 9279, 9281, 9285, 9287, 9291, 9293, + 9297, 9301, 9303, 9304, 9306, 9310, 9314, 9318, 9321, 9323, + 9327, 9331, 9335, 9337, 9339, 9341, 9343, 9345, 9347, 9349, + 9351, 9353, 9355, 9357, 9359, 9367, 9373, 9377, 9383, 9389, + 9393, 9397, 9403, 9407, 9410, 9412, 9414, 9418, 9424, 9426, + 9429, 9434, 9437, 9438, 9440, 9441, 9443, 9446, 9449, 9452, + 9456, 9462, 9464, 9465, 9467, 9470, 9471, 9474, 9476, 9477, + 9480, 9481, 9483, 9487, 9491, 9494, 9498, 9501, 9505, 9510, + 9515, 9519, 9523, 9524, 9527, 9529, 9531, 9533, 9535, 9537, + 9539, 9542, 9545, 9547, 9551, 9555, 9562, 9563, 9567, 9568, + 9571, 9576, 9579, 9581, 9582, 9588, 9591, 9597, 9600, 9601, + 9605, 9606, 9608, 9611, 9614, 9617, 9620, 9624, 9627, 9631, + 9634, 9635, 9637, 9641, 9645, 9649, 9653, 9657, 9658, 9662, + 9666, 9667, 9669, 9673, 9681, 9689, 9693, 9694, 9696, 9697, + 9699, 9703, 9707, 9710, 9712, 9714, 9716, 9720, 9722, 9725, + 9727, 9731, 9733, 9735, 9737, 9739, 9742, 9744, 9746, 9748, + 9750, 9752, 9755, 9762, 9765, 9772, 9775, 9779, 9785, 9788, + 9792, 9798, 9800, 9802, 9804, 9806, 9808, 9810, 9813, 9816, + 9818, 9820, 9822, 9824, 9826, 9828, 9832, 9843, 9848, 9850, + 9852, 9854, 9856, 9858, 9860, 9862, 9864, 9866, 9868, 9870, + 9872, 9874, 9876, 9878, 9880, 9882, 9884, 9886, 9888, 9890, + 9892, 9894, 9896, 9898, 9900, 9902, 9904, 9906, 9908, 9910, + 9912, 9914, 9916, 9918, 9920, 9922, 9924, 9926, 9928, 9930, + 9932, 9934, 9936, 9938, 9940, 9942, 9944, 9946, 9948, 9950, + 9952, 9954, 9956, 9958, 9960, 9962, 9964, 9966, 9968, 9970, + 9972, 9974, 9976, 9978, 9980, 9982, 9984, 9986, 9988, 9990, + 9992, 9994, 9996, 9998, 10000, 10002, 10004, 10006, 10008, 10010, + 10012, 10014, 10016, 10018, 10020, 10022, 10024, 10026, 10028, 10030, + 10032, 10034, 10036, 10038, 10040, 10042, 10044, 10046, 10048, 10050, + 10052, 10054, 10056, 10058, 10060, 10062, 10064, 10066, 10068, 10070, + 10072, 10074, 10076, 10078, 10080, 10082, 10084, 10086, 10088, 10090, + 10092, 10094, 10096, 10098, 10100, 10102, 10104, 10106, 10108, 10110, + 10112, 10114, 10116, 10118, 10120, 10122, 10124, 10126, 10128, 10130, + 10132, 10134, 10136, 10138, 10140, 10142, 10144, 10146, 10148, 10150, + 10152, 10154, 10156, 10158, 10160, 10162, 10164, 10166, 10168, 10170, + 10172, 10174, 10176, 10178, 10180, 10182, 10184, 10186, 10188, 10190, + 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, 10208, 10210, + 10212, 10214, 10216, 10218, 10220, 10222, 10224, 10226, 10228, 10230, + 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, 10248, 10250, + 10252, 10254, 10256, 10258, 10260, 10262, 10264, 10266, 10268, 10270, + 10272, 10274, 10276, 10278, 10280, 10282, 10284, 10286, 10288, 10290, + 10292, 10294, 10296, 10298, 10300, 10302, 10304, 10306, 10308, 10310, + 10312, 10314, 10316, 10318, 10320, 10322, 10324, 10326, 10328, 10330, + 10332, 10334, 10336, 10338, 10340, 10342, 10344, 10346, 10348, 10350, + 10352, 10354, 10356, 10358, 10360, 10362, 10364, 10366, 10368, 10370, + 10372, 10374, 10376, 10378, 10380, 10382, 10384, 10386, 10388, 10390, + 10392, 10394, 10396, 10398, 10400, 10402, 10404, 10406, 10408, 10410, + 10412, 10414, 10416, 10418, 10420, 10422, 10424, 10426, 10428, 10430, + 10432, 10434, 10436, 10438, 10440, 10442, 10444, 10446, 10448, 10450, + 10452, 10454, 10456, 10458, 10460, 10462, 10464, 10466, 10468, 10470, + 10472, 10474, 10476, 10478, 10480, 10482, 10484, 10486, 10488, 10490, + 10492, 10494, 10496, 10498, 10500, 10502, 10504, 10506, 10508, 10510, + 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, 10528, 10530, + 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, 10548, 10550, + 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, 10568, 10570, + 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, 10588, 10590, + 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, 10608, 10610, + 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, 10628, 10630, + 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, 10648, 10650, + 10652, 10654, 10656, 10658, 10660, 10662, 10664, 10666, 10668, 10670, + 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, 10688, 10690, + 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, 10708, 10710, + 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, 10728, 10730, + 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10748, 10750, + 10752, 10754, 10756, 10758, 10760, 10762, 10764, 10766, 10768, 10770, + 10772, 10774, 10776, 10778, 10780, 10782, 10784, 10786, 10788, 10790, + 10792, 10794, 10796, 10798, 10800, 10802, 10804, 10806, 10808, 10810, + 10812, 10814, 10816, 10818, 10820, 10822, 10824, 10826, 10828, 10830, + 10832, 10834, 10836, 10838, 10840, 10842, 10844, 10846, 10848, 10850, + 10852, 10854, 10856, 10858, 10860, 10862, 10864, 10866, 10868, 10870, + 10872, 10874, 10876, 10878, 10880, 10882, 10884, 10886, 10888, 10890, + 10892, 10894, 10896, 10898, 10900, 10902, 10904, 10906, 10908, 10910, + 10912, 10914, 10916, 10918, 10920, 10922, 10924, 10926, 10928, 10930, + 10932, 10934, 10936, 10938, 10940, 10942, 10944, 10946, 10948, 10950, + 10952, 10954, 10956, 10958, 10960, 10962, 10964, 10966, 10968, 10970, + 10972, 10974, 10976, 10978, 10980, 10982, 10984, 10986, 10988, 10990, + 10992, 10994, 10996, 10998, 11000, 11002, 11004, 11006, 11008, 11010, + 11012, 11014, 11016, 11018, 11020, 11022, 11024, 11026, 11028, 11030, + 11032, 11034, 11036, 11038, 11040, 11042, 11044, 11046, 11048, 11050, + 11052, 11054, 11056, 11058, 11060, 11062, 11064, 11066, 11068, 11070, + 11072, 11074, 11076, 11078, 11080, 11082, 11084, 11086, 11088, 11090, + 11092, 11094, 11096, 11098, 11100, 11102, 11104, 11106, 11108, 11110, + 11112, 11114, 11116, 11118, 11120, 11122, 11124, 11126, 11128, 11130, + 11132, 11134, 11136, 11138, 11140, 11142, 11144, 11146, 11148, 11150, + 11152, 11154, 11156, 11158, 11160, 11162, 11164, 11166, 11168, 11170, + 11172, 11174, 11176, 11178, 11180, 11182, 11184, 11186, 11188, 11190, + 11192, 11194, 11196, 11198, 11200, 11202, 11204, 11206, 11208, 11210, + 11212, 11214, 11216, 11218, 11220, 11222, 11224, 11226, 11228, 11230, + 11232, 11234, 11236, 11238, 11240, 11242, 11244, 11246, 11248, 11250, + 11252, 11254, 11256, 11258, 11260, 11262, 11264, 11266, 11268, 11270, + 11272, 11274, 11276, 11278, 11280, 11282, 11284, 11286, 11288, 11290, + 11292, 11294, 11296, 11298, 11300, 11302, 11304, 11306, 11308, 11310, + 11312, 11314, 11316, 11318, 11320, 11322, 11324, 11326, 11328, 11330, + 11332, 11334, 11336, 11338, 11340, 11342, 11344, 11346, 11348, 11350, + 11352, 11354, 11356, 11358, 11360, 11362, 11364, 11366, 11368, 11370, + 11372, 11374, 11376, 11378, 11380, 11382, 11384, 11386, 11388, 11390, + 11392, 11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, + 11412, 11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, + 11432, 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450, + 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, + 11472, 11474, 11476, 11478, 11480, 11482, 11484, 11486, 11488, 11490, + 11492, 11494, 11496, 11498, 11500, 11502, 11504, 11506, 11508, 11510, + 11512, 11514, 11516, 11518, 11520, 11522, 11524, 11526, 11528, 11530, + 11532, 11534, 11536, 11538, 11540, 11542, 11544, 11546, 11548, 11550, + 11552, 11554, 11556, 11558, 11560, 11562, 11564, 11566, 11568, 11570, + 11572, 11574, 11576, 11578, 11580, 11582, 11584, 11586, 11588, 11590, + 11592, 11594, 11596, 11598, 11600, 11602, 11604, 11606, 11608, 11610, + 11612, 11614, 11616, 11618, 11620, 11622, 11624, 11626, 11628, 11630, + 11632, 11634, 11636, 11638, 11640, 11642, 11644, 11646, 11648, 11650, + 11652, 11654, 11656, 11658, 11660, 11662, 11664, 11666, 11668, 11670, + 11672, 11674, 11676, 11678, 11680, 11682, 11684, 11686, 11688, 11690, + 11692, 11694, 11696, 11698, 11700, 11702, 11704, 11706, 11708, 11710, + 11712, 11714, 11716, 11718, 11720, 11722, 11724, 11726, 11728, 11730, + 11732, 11734, 11736, 11738, 11740, 11742, 11744, 11746, 11748, 11750, + 11752, 11754, 11756, 11758, 11760, 11762, 11764, 11766, 11768, 11770, + 11772, 11774 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 522, 0, -1, 523, -1, 498, 1095, -1, 499, 1213, - -1, 500, 1214, -1, 501, 1214, -1, 502, 1214, -1, - 523, 518, 524, -1, 524, -1, 525, -1, 926, -1, - 755, -1, 946, -1, 941, -1, 942, -1, 822, -1, - 949, -1, 768, -1, 690, -1, 693, -1, 698, -1, - 711, -1, 870, -1, 543, -1, 898, -1, 900, -1, - 906, -1, 901, -1, 905, -1, 721, -1, 669, -1, - 947, -1, 571, -1, 894, -1, 589, -1, 910, -1, - 540, -1, 538, -1, 912, -1, 660, -1, 952, -1, - 951, -1, 719, -1, 958, -1, 530, -1, 569, -1, - 592, -1, 955, -1, 796, -1, 566, -1, 593, -1, - 729, -1, 661, -1, 757, -1, 883, -1, 954, -1, - 948, -1, 687, -1, 694, -1, 707, -1, 712, -1, - 838, -1, 542, -1, 664, -1, 770, -1, 777, -1, - 907, -1, 778, -1, 720, -1, 677, -1, 545, -1, - 668, -1, 608, -1, 911, -1, 657, -1, 684, -1, - 887, -1, 731, -1, 751, -1, 531, -1, 537, -1, - 716, -1, 935, -1, 979, -1, 1009, -1, 758, -1, - 989, -1, 570, -1, 880, -1, 885, -1, 781, -1, - 782, -1, 783, -1, 785, -1, 913, -1, 686, -1, - 889, -1, 541, -1, 718, -1, 943, -1, 977, -1, - 972, -1, 801, -1, 805, -1, 816, -1, 713, -1, - 827, -1, 980, -1, 923, -1, 667, -1, 934, -1, - 991, -1, 1001, -1, 921, -1, 974, -1, 784, -1, - 890, -1, 874, -1, 873, -1, 875, -1, 895, -1, - 806, -1, 817, -1, 914, -1, 798, -1, 1013, -1, - 925, -1, 794, -1, 924, -1, 996, -1, 957, -1, - 560, -1, 548, -1, 565, -1, 932, -1, -1, 1217, - -1, -1, 791, -1, -1, 89, -1, -1, 65, -1, - 358, -1, -1, 63, 1121, -1, 100, 364, 1210, 532, - 533, -1, 472, -1, 496, -1, -1, 533, 536, -1, - -1, 534, 535, -1, -1, 320, 1208, -1, 320, 12, - -1, 320, 287, -1, 146, 320, 1208, -1, 146, 320, - 12, -1, 444, 320, 1208, -1, 207, -1, 92, 245, - 1209, -1, 455, 450, 1208, -1, 452, 1212, -1, 3, - -1, 535, -1, 414, 1207, -1, 28, 1212, -1, 364, - 1212, -1, 200, 364, 1212, -1, 200, 185, 1212, -1, - 100, 452, 1210, 532, 533, -1, 33, 364, 1211, 532, - 534, -1, 33, 452, 1211, 532, 534, -1, -1, 200, - 115, 1202, -1, 33, 364, 1211, 539, 563, -1, 33, - 364, 31, 539, 563, -1, 33, 452, 1211, 539, 563, - -1, 33, 452, 31, 539, 563, -1, 141, 364, 1212, - -1, 141, 364, 194, 156, 1212, -1, 141, 452, 1212, - -1, 141, 452, 194, 156, 1212, -1, 141, 185, 1212, - -1, 141, 185, 194, 156, 1212, -1, 100, 185, 1210, - 532, 533, -1, 33, 185, 1211, 544, 452, 1212, -1, - 27, -1, 141, -1, 100, 374, 526, 50, 1211, 546, - -1, 100, 374, 1217, 546, -1, 100, 374, 194, 282, - 156, 526, 50, 1211, 546, -1, 100, 374, 194, 282, - 156, 1217, 546, -1, 546, 547, -1, -1, 608, -1, - 827, -1, 668, -1, 731, -1, 805, -1, 932, -1, - 387, 549, -1, 387, 248, 549, -1, 387, 385, 549, - -1, 431, 929, -1, 385, 73, 40, 431, 929, -1, - 551, -1, 552, 429, 553, -1, 552, 505, 553, -1, - 552, 429, 121, -1, 552, 505, 121, -1, 550, -1, - 552, 176, 104, -1, 427, 492, 557, -1, 69, 1208, - -1, 374, 1208, -1, 374, 12, -1, 268, 558, -1, - 364, 559, -1, 364, 12, -1, 385, 50, 559, -1, - 385, 50, 12, -1, 385, 50, 121, -1, 478, 300, - 1130, -1, 431, 396, 1208, -1, 1217, -1, 552, 517, - 1217, -1, 554, -1, 553, 519, 554, -1, 556, -1, - 675, -1, 12, -1, 340, 443, -1, 340, 87, -1, - 353, 340, -1, 383, -1, 436, -1, 162, -1, 297, - -1, 559, -1, 1208, -1, 12, -1, 3, -1, 1114, - 1208, 1116, -1, 1114, 515, 1207, 516, 1208, -1, 675, - -1, 121, -1, 248, -1, 1208, -1, 121, -1, -1, - 1219, -1, 1208, -1, 356, 561, -1, 562, -1, 427, - 492, -1, 431, 225, 243, -1, 385, 50, -1, 552, - -1, 31, -1, 387, 549, -1, 560, -1, 387, 551, - -1, 560, -1, 391, 552, -1, 391, 427, 492, -1, - 391, 431, 225, 243, -1, 391, 385, 50, -1, 391, - 31, -1, 387, 94, 567, 568, -1, 31, -1, 1199, - -1, 124, -1, 196, -1, 75, -1, 135, 31, -1, - 135, 421, -1, 135, 423, -1, 135, 322, -1, 135, - 382, -1, 33, 417, 1072, 572, -1, 33, 417, 194, - 156, 1072, 572, -1, 33, 417, 1072, 573, -1, 33, - 417, 194, 156, 1072, 573, -1, 33, 417, 31, 200, - 420, 1202, 387, 420, 1202, 994, -1, 33, 417, 31, - 200, 420, 1202, 312, 61, 1212, 387, 420, 1202, 994, - -1, 33, 205, 1200, 572, -1, 33, 205, 194, 156, - 1200, 572, -1, 33, 205, 1200, 574, -1, 33, 205, - 31, 200, 420, 1202, 387, 420, 1202, 994, -1, 33, - 205, 31, 200, 420, 1202, 312, 61, 1212, 387, 420, - 1202, 994, -1, 33, 381, 1200, 572, -1, 33, 381, - 194, 156, 1200, 572, -1, 33, 465, 1200, 572, -1, - 33, 465, 194, 156, 1200, 572, -1, 33, 258, 465, - 1200, 572, -1, 33, 258, 465, 194, 156, 1200, 572, - -1, 33, 258, 465, 31, 200, 420, 1202, 387, 420, - 1202, 994, -1, 33, 258, 465, 31, 200, 420, 1202, - 312, 61, 1212, 387, 420, 1202, 994, -1, 33, 172, - 417, 1072, 572, -1, 33, 172, 417, 194, 156, 1072, - 572, -1, 575, -1, 572, 519, 575, -1, 48, 318, - 1200, 586, -1, 132, 318, 1200, 528, -1, 132, 318, - 1200, 166, -1, 48, 318, 1200, -1, 27, 616, -1, - 27, 194, 282, 156, 616, -1, 27, 82, 616, -1, - 27, 82, 194, 282, 156, 616, -1, 33, 896, 1217, - 576, -1, 33, 896, 1217, 141, 282, 287, -1, 33, - 896, 1217, 387, 282, 287, -1, 33, 896, 1217, 141, - 158, -1, 33, 896, 1217, 141, 158, 194, 156, -1, - 33, 896, 1217, 387, 403, 1209, -1, 33, 896, 1207, - 387, 403, 1209, -1, 33, 896, 1217, 387, 580, -1, - 33, 896, 1217, 356, 580, -1, 33, 896, 1217, 387, - 620, -1, 33, 896, 1217, 387, 618, -1, 33, 896, - 1217, 27, 180, 626, 40, 193, 671, -1, 33, 896, - 1217, 584, -1, 33, 896, 1217, 141, 193, -1, 33, - 896, 1217, 141, 193, 194, 156, -1, 141, 896, 194, - 156, 1217, 529, -1, 141, 896, 1217, 529, -1, 33, - 896, 1217, 897, 439, 1095, 577, 578, -1, 33, 896, - 1217, 701, -1, 27, 631, -1, 33, 93, 1202, 749, - -1, 456, 93, 1202, -1, 141, 93, 194, 156, 1202, - 529, -1, 141, 93, 1202, 529, -1, 387, 474, 295, - -1, 78, 297, 1202, -1, 387, 474, 78, -1, 387, - 254, -1, 387, 449, -1, 144, 434, 1202, -1, 144, - 34, 434, 1202, -1, 144, 355, 434, 1202, -1, 144, - 434, 31, -1, 144, 434, 452, -1, 134, 434, 1202, - -1, 134, 434, 31, -1, 134, 434, 452, -1, 144, - 371, 1202, -1, 144, 34, 371, 1202, -1, 144, 355, - 371, 1202, -1, 134, 371, 1202, -1, 207, 1200, -1, - 278, 207, 1200, -1, 292, 791, -1, 282, 292, -1, - 313, 429, 1211, -1, 387, 25, 261, 1202, -1, 387, - 420, 1202, -1, 387, 580, -1, 356, 580, -1, 355, - 193, 579, -1, 144, 369, 243, 379, -1, 134, 369, - 243, 379, -1, 171, 369, 243, 379, -1, 278, 171, - 369, 243, 379, -1, 701, -1, 387, 121, 1118, -1, - 141, 121, -1, 80, 791, -1, -1, 453, 1118, -1, - -1, 283, -1, 177, -1, 121, -1, 453, 205, 1202, - -1, 515, 582, 516, -1, 472, 580, -1, -1, 583, - -1, 582, 519, 583, -1, 1220, 505, 762, -1, 1220, - -1, 1220, 517, 1220, 505, 762, -1, 1220, 517, 1220, - -1, 585, -1, 584, 585, -1, 357, -1, 357, 532, - 675, -1, 387, 673, -1, 387, 180, 626, -1, 170, - 459, 472, 515, 588, 516, -1, 170, 459, 200, 515, - 1157, 516, -1, 170, 459, 176, 515, 1157, 516, 429, - 515, 1157, 516, -1, 121, -1, 1219, 1207, -1, 587, - -1, 588, 519, 587, -1, 33, 439, 791, 590, -1, - 591, -1, 590, 519, 591, -1, 27, 49, 1087, 529, - -1, 141, 49, 194, 156, 1217, 529, -1, 141, 49, - 1217, 529, -1, 33, 49, 1217, 897, 439, 1095, 577, - 529, -1, 77, 1010, -1, 77, 31, -1, 98, 600, - 1200, 634, 594, 595, 596, 601, 532, 597, 1083, -1, - 98, 515, 976, 516, 429, 595, 596, 532, 597, -1, - 176, -1, 429, -1, 336, -1, -1, 1208, -1, 404, - -1, 405, -1, 598, -1, 515, 603, 516, -1, 598, - 599, -1, -1, 56, -1, 175, -1, 127, 950, 1208, - -1, 287, 950, 1208, -1, 102, -1, 190, -1, 338, - 950, 1208, -1, 149, 950, 1208, -1, 171, 338, 635, - -1, 171, 338, 508, -1, 171, 282, 287, 635, -1, - 171, 287, 635, -1, 145, 1208, -1, 56, -1, -1, - 602, 128, 1208, -1, -1, 453, -1, -1, 604, -1, - 603, 519, 604, -1, 1220, 605, -1, 556, -1, 675, - -1, 508, -1, 515, 606, 516, -1, -1, 607, -1, - 606, 519, 607, -1, 556, -1, 100, 609, 417, 1200, - 515, 610, 516, 646, 647, 651, 652, 653, 654, -1, - 100, 609, 417, 194, 282, 156, 1200, 515, 610, 516, - 646, 647, 651, 652, 653, 654, -1, 100, 609, 417, - 1200, 292, 791, 611, 647, 651, 652, 653, 654, -1, - 100, 609, 417, 194, 282, 156, 1200, 292, 791, 611, - 647, 651, 652, 653, 654, -1, 100, 609, 417, 1200, - 318, 292, 1200, 611, 586, 647, 651, 652, 653, 654, - -1, 100, 609, 417, 194, 282, 156, 1200, 318, 292, - 1200, 611, 586, 647, 651, 652, 653, 654, -1, 423, - -1, 421, -1, 248, 423, -1, 248, 421, -1, 181, - 423, -1, 181, 421, -1, 449, -1, -1, 612, -1, - -1, 515, 613, 516, -1, -1, 614, -1, 612, 519, - 614, -1, 615, -1, 613, 519, 615, -1, 616, -1, - 628, -1, 631, -1, 617, -1, 631, -1, 1217, 1095, - 621, 619, 699, 622, -1, 1217, 622, -1, 1217, 472, - 301, 622, -1, 88, 1217, -1, 88, 121, -1, 618, - -1, -1, 406, 1217, -1, 406, 121, -1, 620, -1, - -1, 622, 623, -1, -1, 93, 1202, 624, -1, 624, - -1, 627, -1, 80, 791, -1, 282, 287, -1, 287, - -1, 446, 625, 867, 655, -1, 330, 232, 867, 655, - -1, 74, 515, 1118, 516, 633, -1, 121, 1119, -1, - 180, 626, 40, 193, 671, -1, 180, 626, 40, 515, - 1118, 516, 407, -1, 346, 1200, 634, 638, 642, -1, - 289, 136, -1, 289, 282, 136, -1, -1, 34, -1, - 61, 121, -1, 123, -1, 282, 123, -1, 209, 124, - -1, 209, 196, -1, 244, 1200, 629, -1, 629, 202, - 630, -1, 629, 153, 630, -1, -1, 85, -1, 88, - -1, 94, -1, 122, -1, 193, -1, 180, -1, 206, - -1, 403, -1, 406, -1, 31, -1, 93, 1202, 632, - -1, 632, -1, 74, 515, 1118, 516, 749, -1, 446, - 625, 515, 635, 516, 637, 867, 655, 749, -1, 446, - 656, 749, -1, 330, 232, 515, 635, 516, 637, 867, - 655, 749, -1, 330, 232, 656, 749, -1, 152, 829, - 515, 639, 516, 637, 867, 655, 641, 749, -1, 172, - 232, 515, 635, 516, 346, 1200, 634, 638, 642, 749, - -1, 278, 207, -1, -1, 515, 635, 516, -1, -1, - 636, -1, 635, 519, 636, -1, 1217, -1, 201, 515, - 635, 516, -1, -1, 256, 177, -1, 256, 317, -1, - 256, 393, -1, -1, 640, -1, 639, 519, 640, -1, - 832, 472, 877, -1, 832, 472, 299, 515, 877, 516, - -1, 469, 515, 1118, 516, -1, -1, 643, -1, 644, - -1, 643, 644, -1, 644, 643, -1, -1, 297, 451, - 645, -1, 297, 126, 645, -1, 278, 26, -1, 358, - -1, 65, -1, 387, 287, 634, -1, 387, 121, 634, - -1, 208, 515, 1199, 516, -1, -1, 648, -1, -1, - 318, 61, 1217, 515, 649, 516, -1, 650, -1, 649, - 519, 650, -1, 1217, 835, 527, -1, 1123, 835, 527, - -1, 515, 1118, 516, 835, 527, -1, 453, 1202, -1, - -1, 472, 580, -1, 474, 295, -1, -1, 297, 86, - 141, -1, 297, 86, 126, 370, -1, 297, 86, 327, - 370, -1, -1, 420, 1202, -1, -1, 453, 205, 420, - 1202, -1, -1, 453, 205, 1202, -1, 100, 403, 527, - 968, 297, 658, 176, 1062, -1, 100, 403, 194, 282, - 156, 791, 968, 297, 658, 176, 1062, -1, 659, -1, - 658, 519, 659, -1, 1217, -1, 1123, -1, 515, 1118, - 516, -1, 33, 403, 791, 387, 403, 1209, -1, 33, - 403, 194, 156, 791, 387, 403, 1209, -1, 100, 609, - 417, 662, 40, 1013, 663, -1, 100, 609, 417, 194, - 282, 156, 662, 40, 1013, 663, -1, 1200, 634, 651, - 652, 653, 654, -1, 472, 114, -1, 472, 278, 114, - -1, -1, 100, 666, 258, 465, 665, 40, 1013, 663, - -1, 100, 666, 258, 465, 194, 282, 156, 665, 40, - 1013, 663, -1, 1200, 634, 651, 581, 654, -1, 449, - -1, -1, 348, 258, 465, 528, 1200, 663, -1, 100, - 609, 381, 1200, 670, -1, 100, 609, 381, 194, 282, - 156, 1200, 670, -1, 33, 381, 1200, 672, -1, 33, - 381, 194, 156, 1200, 672, -1, 672, -1, -1, 515, - 672, 516, -1, -1, 673, -1, 672, 673, -1, 40, - 1097, -1, 62, 675, -1, 113, -1, 278, 113, -1, - 203, 674, 675, -1, 259, 675, -1, 263, 675, -1, - 278, 259, -1, 278, 263, -1, 312, 61, 791, -1, - 381, 267, 791, -1, 401, 532, 675, -1, 357, -1, - 357, 532, 675, -1, 61, -1, -1, 5, -1, 506, - 5, -1, 507, 5, -1, 1209, -1, 675, -1, 676, - 519, 675, -1, 100, 839, 678, 683, 235, 1202, -1, - 100, 839, 678, 683, 235, 1202, 188, 679, 680, 682, - -1, 438, -1, -1, 1202, -1, 1202, 792, -1, 210, - 679, -1, -1, 457, 679, -1, 278, 457, -1, 681, - -1, -1, 333, -1, -1, 100, 420, 1202, 685, 251, - 1208, 581, -1, 313, 1211, -1, -1, 141, 420, 1202, - -1, 141, 420, 194, 156, 1202, -1, 100, 159, 1202, - 532, 688, -1, 100, 159, 194, 282, 156, 1202, 532, - 688, -1, 688, 689, -1, -1, 374, 1202, -1, 464, - 559, -1, 176, 559, -1, 65, -1, 33, 159, 1202, - 451, 691, -1, 691, 692, -1, -1, 429, 559, -1, - 33, 159, 1202, 544, 787, 1202, -1, 33, 159, 1202, - 544, 786, 791, -1, 33, 159, 1202, 544, 30, 855, - -1, 33, 159, 1202, 544, 68, 515, 1095, 40, 1095, - 516, -1, 33, 159, 1202, 544, 139, 1095, -1, 33, - 159, 1202, 544, 178, 843, -1, 33, 159, 1202, 544, - 299, 879, -1, 33, 159, 1202, 544, 299, 76, 791, - 453, 1202, -1, 33, 159, 1202, 544, 299, 163, 791, - 453, 1202, -1, 33, 159, 1202, 544, 334, 843, -1, - 33, 159, 1202, 544, 367, 843, -1, 33, 159, 1202, - 544, 432, 170, 1095, 235, 1202, -1, 33, 159, 1202, - 544, 439, 1095, -1, 100, 172, 114, 476, 1202, 697, - 699, -1, 188, 679, -1, 278, 188, -1, 457, 679, - -1, 278, 457, -1, 695, -1, 696, 695, -1, 696, - -1, -1, 33, 172, 114, 476, 1202, 697, 701, -1, - 33, 172, 114, 476, 1202, 696, -1, 301, 515, 700, - 516, -1, -1, 704, -1, 700, 519, 704, -1, 301, - 515, 702, 516, -1, 703, -1, 702, 519, 703, -1, - 704, -1, 387, 704, -1, 27, 704, -1, 141, 705, - -1, 705, 706, -1, 1220, -1, 1208, -1, 100, 384, - 1202, 708, 710, 172, 114, 476, 1202, 699, -1, 100, - 384, 194, 282, 156, 1202, 708, 710, 172, 114, 476, - 1202, 699, -1, 439, 1208, -1, -1, 464, 1208, -1, - 464, 287, -1, 709, -1, -1, 33, 384, 1202, 709, - 701, -1, 33, 384, 1202, 709, -1, 33, 384, 1202, - 701, -1, 100, 172, 417, 1200, 515, 610, 516, 646, - 384, 1202, 699, -1, 100, 172, 417, 194, 282, 156, - 1200, 515, 610, 516, 646, 384, 1202, 699, -1, 100, - 172, 417, 1200, 318, 292, 1200, 611, 586, 384, 1202, - 699, -1, 100, 172, 417, 194, 282, 156, 1200, 318, - 292, 1200, 611, 586, 384, 1202, 699, -1, 199, 172, - 374, 1202, 715, 176, 384, 1202, 221, 1202, 699, -1, - 245, 429, -1, 151, -1, 714, 515, 1074, 516, -1, - -1, 100, 452, 255, 170, 717, 384, 1202, 699, -1, - 100, 452, 255, 194, 282, 156, 170, 717, 384, 1202, - 699, -1, 1211, -1, 452, -1, 141, 452, 255, 170, - 717, 384, 1202, -1, 141, 452, 255, 194, 156, 170, - 717, 384, 1202, -1, 33, 452, 255, 170, 717, 384, - 1202, 701, -1, 100, 323, 1202, 297, 1200, 726, 727, - 724, 722, 723, -1, 33, 323, 1202, 297, 1200, 725, - 722, 723, -1, 453, 515, 1118, 516, -1, -1, 472, - 74, 515, 1118, 516, -1, -1, 429, 1212, -1, -1, - 429, 1212, -1, -1, 40, 3, -1, -1, 170, 728, - -1, -1, 31, -1, 380, -1, 215, -1, 451, -1, - 126, -1, 100, 25, 261, 1202, 439, 730, 188, 679, - -1, 205, -1, 417, -1, 100, 839, 434, 1202, 732, - 733, 297, 1200, 735, 741, 744, 155, 745, 1205, 515, - 746, 516, -1, 100, 839, 93, 434, 1202, 29, 733, - 297, 1200, 748, 749, 170, 142, 369, 744, 155, 745, - 1205, 515, 746, 516, -1, 52, -1, 29, -1, 216, - 292, -1, 734, -1, 733, 302, 734, -1, 215, -1, - 126, -1, 451, -1, 451, 292, 635, -1, 437, -1, - 347, 736, -1, -1, 737, -1, 736, 737, -1, 738, - 739, 950, 740, -1, 272, -1, 296, -1, 417, -1, - 369, -1, 1217, -1, 170, 742, 743, -1, -1, 142, - -1, -1, 369, -1, 402, -1, 468, 515, 1118, 516, - -1, -1, 178, -1, 334, -1, 747, -1, 746, 519, - 747, -1, -1, 1207, -1, 5, -1, 1208, -1, 1220, - -1, 176, 1200, -1, -1, -1, 749, 750, -1, 282, - 123, -1, 123, -1, 209, 196, -1, 209, 124, -1, - 282, 455, -1, 278, 207, -1, 100, 150, 434, 1202, - 297, 1220, 155, 745, 1205, 515, 516, -1, 100, 150, - 434, 1202, 297, 1220, 468, 752, 155, 745, 1205, 515, - 516, -1, 753, -1, 752, 37, 753, -1, 1217, 200, - 515, 754, 516, -1, 6, -1, 754, 519, 6, -1, - 33, 150, 434, 1202, 756, -1, 144, -1, 144, 355, - -1, 144, 34, -1, 134, -1, 100, 43, 791, 74, - 515, 1118, 516, 749, -1, 100, 839, 30, 1205, 853, - 759, -1, 100, 839, 30, 1205, 763, -1, 100, 299, - 877, 759, -1, 100, 439, 791, 759, -1, 100, 439, - 791, -1, 100, 439, 791, 40, 515, 1085, 516, -1, - 100, 439, 791, 40, 148, 515, 766, 516, -1, 100, - 439, 791, 40, 339, 759, -1, 100, 424, 377, 316, - 791, 759, -1, 100, 424, 377, 133, 791, 759, -1, - 100, 424, 377, 422, 791, 759, -1, 100, 424, 377, - 90, 791, 759, -1, 100, 81, 791, 759, -1, 100, - 81, 194, 282, 156, 791, 759, -1, 100, 81, 791, - 176, 791, -1, 100, 81, 194, 282, 156, 791, 176, - 791, -1, 515, 760, 516, -1, 761, -1, 760, 519, - 761, -1, 1220, 505, 762, -1, 1220, -1, 850, -1, - 1225, -1, 1155, -1, 675, -1, 1208, -1, 279, -1, - 515, 764, 516, -1, 765, -1, 764, 519, 765, -1, - 3, 505, 762, -1, 767, -1, -1, 1208, -1, 767, - 519, 1208, -1, 33, 439, 791, 27, 458, 769, 1208, - -1, 33, 439, 791, 27, 458, 769, 1208, 52, 1208, - -1, 33, 439, 791, 27, 458, 769, 1208, 29, 1208, - -1, 33, 439, 791, 352, 458, 1208, 429, 1208, -1, - 194, 282, 156, -1, -1, 100, 299, 76, 791, 773, - 170, 439, 1095, 453, 1202, 774, 40, 771, -1, 772, - -1, 771, 519, 772, -1, 299, 1207, 877, 775, 776, - -1, 299, 1207, 879, 775, 776, -1, 178, 1207, 843, - -1, 178, 1207, 515, 1161, 516, 843, -1, 406, 1095, - -1, 121, -1, -1, 163, 791, -1, -1, 170, 377, - -1, 170, 303, 61, 791, -1, -1, 343, -1, -1, - 100, 299, 163, 791, 453, 1202, -1, 33, 299, 163, - 791, 453, 1202, 27, 771, -1, 33, 299, 163, 791, - 453, 1202, 141, 779, -1, 780, -1, 779, 519, 780, - -1, 299, 1207, 515, 1161, 516, -1, 178, 1207, 515, - 1161, 516, -1, 141, 299, 76, 791, 453, 1202, 529, - -1, 141, 299, 76, 194, 156, 791, 453, 1202, 529, - -1, 141, 299, 163, 791, 453, 1202, 529, -1, 141, - 299, 163, 194, 156, 791, 453, 1202, 529, -1, 141, - 312, 61, 1212, 529, -1, 342, 312, 61, 1212, 429, - 1211, -1, 141, 786, 194, 156, 790, 529, -1, 141, - 786, 790, 529, -1, 141, 788, 194, 156, 1201, 529, - -1, 141, 788, 1201, 529, -1, 141, 789, 1202, 297, - 791, 529, -1, 141, 789, 194, 156, 1202, 297, 791, - 529, -1, 141, 439, 793, 529, -1, 141, 439, 194, - 156, 793, 529, -1, 141, 139, 793, 529, -1, 141, - 139, 194, 156, 793, 529, -1, 141, 205, 89, 790, - 529, -1, 141, 205, 89, 194, 156, 790, 529, -1, - 417, -1, 381, -1, 465, -1, 258, 465, -1, 205, - -1, 172, 417, -1, 81, -1, 97, -1, 403, -1, - 424, 377, 316, -1, 424, 377, 133, -1, 424, 377, - 422, -1, 424, 377, 90, -1, 788, -1, 115, -1, - 364, -1, 410, -1, 420, -1, 25, 261, -1, 150, - 434, -1, 159, -1, 172, 114, 476, -1, 683, 235, - -1, 337, -1, 374, -1, 384, -1, 323, -1, 371, - -1, 434, -1, 791, -1, 790, 519, 791, -1, 1217, - -1, 1217, 792, -1, 517, 1203, -1, 792, 517, 1203, - -1, 1095, -1, 793, 519, 1095, -1, 437, 1027, 1074, - 795, 529, -1, 96, 193, -1, 357, 193, -1, -1, - 84, 297, 786, 791, 223, 797, -1, 84, 297, 82, - 791, 223, 797, -1, 84, 297, 787, 1202, 223, 797, - -1, 84, 297, 439, 1095, 223, 797, -1, 84, 297, - 139, 1095, 223, 797, -1, 84, 297, 30, 855, 223, - 797, -1, 84, 297, 178, 843, 223, 797, -1, 84, - 297, 299, 879, 223, 797, -1, 84, 297, 93, 1202, - 297, 791, 223, 797, -1, 84, 297, 93, 1202, 297, - 139, 791, 223, 797, -1, 84, 297, 789, 1202, 297, - 791, 223, 797, -1, 84, 297, 334, 843, 223, 797, - -1, 84, 297, 367, 843, 223, 797, -1, 84, 297, - 432, 170, 1095, 235, 1202, 223, 797, -1, 84, 297, - 299, 76, 791, 453, 1202, 223, 797, -1, 84, 297, - 299, 163, 791, 453, 1202, 223, 797, -1, 84, 297, - 236, 291, 675, 223, 797, -1, 84, 297, 68, 515, - 1095, 40, 1095, 516, 223, 797, -1, 1208, -1, 287, - -1, 379, 234, 799, 297, 786, 791, 223, 800, -1, - 379, 234, 799, 297, 82, 791, 223, 800, -1, 379, - 234, 799, 297, 787, 1202, 223, 800, -1, 379, 234, - 799, 297, 439, 1095, 223, 800, -1, 379, 234, 799, - 297, 139, 1095, 223, 800, -1, 379, 234, 799, 297, - 30, 855, 223, 800, -1, 379, 234, 799, 297, 178, - 843, 223, 800, -1, 379, 234, 799, 297, 236, 291, - 675, 223, 800, -1, 379, 234, 799, 297, 334, 843, - 223, 800, -1, 379, 234, 799, 297, 367, 843, 223, - 800, -1, 170, 559, -1, -1, 1208, -1, 287, -1, - 164, 802, -1, 266, 802, -1, 1010, -1, 803, 1010, - -1, 273, 804, 1010, -1, 331, 804, 1010, -1, 167, - 804, 1010, -1, 237, 804, 1010, -1, 24, 1209, 804, - 1010, -1, 350, 1209, 804, 1010, -1, 1209, 804, 1010, - -1, 31, 804, 1010, -1, 174, 804, 1010, -1, 174, - 1209, 804, 1010, -1, 174, 31, 804, 1010, -1, 51, - 804, 1010, -1, 51, 1209, 804, 1010, -1, 51, 31, - 804, 1010, -1, 176, -1, 200, -1, 803, -1, -1, - 182, 807, 297, 812, 429, 813, 815, 821, -1, 362, - 807, 297, 812, 176, 813, 821, 529, -1, 362, 182, - 300, 170, 807, 297, 812, 176, 813, 821, 529, -1, - 808, -1, 31, -1, 31, 332, -1, 31, 515, 635, - 516, -1, 31, 332, 515, 635, 516, -1, 809, -1, - 808, 519, 809, -1, 380, 634, -1, 346, 634, -1, - 100, 634, -1, 33, 415, -1, 1217, 634, -1, 811, - -1, 810, 519, 811, -1, 1217, -1, 811, 517, 1217, - -1, 1199, -1, 417, 1199, -1, 381, 1199, -1, 172, - 114, 476, 1201, -1, 172, 384, 1201, -1, 178, 842, - -1, 334, 842, -1, 367, 842, -1, 115, 1201, -1, - 139, 790, -1, 235, 1201, -1, 236, 291, 676, -1, - 315, 810, -1, 374, 1201, -1, 420, 1201, -1, 439, - 790, -1, 31, 418, 200, 374, 1201, -1, 31, 382, - 200, 374, 1201, -1, 31, 179, 200, 374, 1201, -1, - 31, 335, 200, 374, 1201, -1, 31, 368, 200, 374, - 1201, -1, 814, -1, 813, 519, 814, -1, 1211, -1, - 185, 1211, -1, 472, 182, 300, -1, -1, 182, 808, - 429, 1212, 821, -1, 182, 808, 429, 1212, 472, 818, - 821, -1, 362, 808, 176, 1212, 821, 529, -1, 362, - 1217, 300, 170, 808, 176, 1212, 821, 529, -1, 818, - 519, 819, -1, 819, -1, 1220, 820, -1, 300, -1, - 436, -1, 162, -1, 183, 61, 1211, -1, -1, 33, - 121, 332, 823, 825, -1, 823, 824, -1, -1, 200, - 374, 1201, -1, 170, 364, 1212, -1, 170, 452, 1212, - -1, 182, 807, 297, 826, 429, 813, 815, -1, 362, - 807, 297, 826, 176, 813, 529, -1, 362, 182, 300, - 170, 807, 297, 826, 176, 813, 529, -1, 418, -1, - 179, -1, 368, -1, 382, -1, 440, -1, 375, -1, - 100, 828, 205, 528, 526, 297, 1072, 829, 515, 830, - 516, 833, 625, 581, 654, 1083, -1, 100, 828, 205, - 528, 194, 282, 156, 1202, 297, 1072, 829, 515, 830, - 516, 833, 625, 581, 654, 1083, -1, 446, -1, -1, - 453, 1202, -1, -1, 832, -1, 830, 519, 832, -1, - 835, 527, 836, 837, -1, 835, 791, 580, 836, 837, - -1, 1217, 831, -1, 1123, 831, -1, 515, 1118, 516, - 831, -1, 201, 515, 834, 516, -1, -1, 832, -1, - 834, 519, 832, -1, 80, 791, -1, -1, 41, -1, - 131, -1, -1, 495, 167, -1, 495, 237, -1, -1, - 100, 839, 178, 1205, 844, 361, 849, 857, 863, -1, - 100, 839, 178, 1205, 844, 361, 417, 515, 869, 516, - 857, 863, -1, 100, 839, 178, 1205, 844, 857, 863, - -1, 100, 839, 334, 1205, 844, 857, 863, -1, 302, - 354, -1, -1, 515, 841, 516, -1, 515, 516, -1, - 846, -1, 841, 519, 846, -1, 843, -1, 842, 519, - 843, -1, 1205, 840, -1, 1224, -1, 1217, -1, 1217, - 1180, -1, 515, 845, 516, -1, 515, 516, -1, 851, - -1, 845, 519, 851, -1, 847, 848, 850, -1, 848, - 847, 850, -1, 848, 850, -1, 847, 850, -1, 850, - -1, 200, -1, 306, -1, 212, -1, 200, 306, -1, - 461, -1, 1218, -1, 850, -1, 1095, -1, 1218, 792, - 510, 439, -1, 389, 1218, 792, 510, 439, -1, 846, - -1, 846, 121, 1118, -1, 846, 505, 1118, -1, 846, - -1, 515, 508, 516, -1, 515, 854, 516, -1, 515, - 303, 61, 854, 516, -1, 515, 854, 303, 61, 854, - 516, -1, 852, -1, 854, 519, 852, -1, 1205, 853, - -1, 855, -1, 856, 519, 855, -1, 858, -1, -1, - 860, -1, 858, 860, -1, 64, 297, 287, 213, -1, - 361, 287, 297, 287, 213, -1, 408, -1, 197, -1, - 399, -1, 467, -1, 160, 379, 125, -1, 160, 379, - 222, -1, 379, 125, -1, 379, 222, -1, 240, -1, - 282, 240, -1, 99, 675, -1, 370, 675, -1, 412, - 791, -1, 564, -1, 314, 1217, -1, 40, 861, -1, - 235, 559, -1, 432, 866, -1, 471, -1, 859, -1, - 1208, -1, 1208, 519, 1208, -1, 359, 1118, -1, 862, - -1, 53, 46, 864, 147, -1, -1, 864, 865, 518, - -1, -1, 525, -1, 862, -1, 170, 439, 1095, -1, - 866, 519, 170, 439, 1095, -1, 472, 759, -1, -1, - 848, 850, -1, 868, -1, 869, 519, 868, -1, 33, - 178, 843, 871, 872, -1, 33, 334, 843, 871, 872, - -1, 33, 367, 843, 871, 872, -1, 859, -1, 871, - 859, -1, 358, -1, -1, 141, 178, 842, 529, -1, - 141, 178, 194, 156, 842, 529, -1, 141, 334, 842, - 529, -1, 141, 334, 194, 156, 842, 529, -1, 141, - 367, 842, 529, -1, 141, 367, 194, 156, 842, 529, - -1, 141, 30, 856, 529, -1, 141, 30, 194, 156, - 856, 529, -1, 141, 299, 878, 529, -1, 141, 299, - 194, 156, 878, 529, -1, 515, 1095, 516, -1, 515, - 1095, 519, 1095, 516, -1, 515, 279, 519, 1095, 516, - -1, 515, 1095, 519, 279, 516, -1, 1152, -1, 1217, - 517, 877, -1, 879, -1, 878, 519, 879, -1, 877, - 876, -1, 137, 881, -1, 882, -1, 881, 882, -1, - 1208, -1, 235, 559, -1, 100, 68, 515, 1095, 40, - 1095, 516, 472, 178, 843, 884, -1, 100, 68, 515, - 1095, 40, 1095, 516, 474, 178, 884, -1, 100, 68, - 515, 1095, 40, 1095, 516, 472, 212, 884, -1, 40, - 198, -1, 40, 44, -1, -1, 141, 68, 886, 515, - 1095, 40, 1095, 516, 529, -1, 194, 156, -1, -1, - 100, 839, 432, 170, 1095, 235, 1202, 515, 888, 516, - -1, 176, 398, 472, 178, 843, 519, 429, 398, 472, - 178, 843, -1, 429, 398, 472, 178, 843, 519, 176, - 398, 472, 178, 843, -1, 176, 398, 472, 178, 843, - -1, 429, 398, 472, 178, 843, -1, 141, 432, 886, - 170, 1095, 235, 1202, 529, -1, 349, 893, 891, 528, - 1200, -1, 349, 893, 374, 528, 1202, -1, 349, 893, - 892, 528, 526, -1, 205, -1, 417, -1, 415, -1, - 115, -1, 515, 959, 516, -1, -1, 33, 420, 1202, - 387, 580, -1, 33, 420, 1202, 356, 580, -1, 33, - 30, 855, 352, 429, 1202, -1, 33, 81, 791, 352, - 429, 1202, -1, 33, 97, 791, 352, 429, 1202, -1, - 33, 115, 1202, 352, 429, 1202, -1, 33, 139, 791, - 352, 429, 1202, -1, 33, 139, 791, 352, 93, 1202, - 429, 1202, -1, 33, 172, 114, 476, 1202, 352, 429, - 1202, -1, 33, 178, 843, 352, 429, 1202, -1, 33, - 185, 1210, 352, 429, 1210, -1, 33, 683, 235, 1202, - 352, 429, 1202, -1, 33, 299, 76, 791, 453, 1202, - 352, 429, 1202, -1, 33, 299, 163, 791, 453, 1202, - 352, 429, 1202, -1, 33, 323, 1202, 297, 1200, 352, - 429, 1202, -1, 33, 323, 194, 156, 1202, 297, 1200, - 352, 429, 1202, -1, 33, 334, 843, 352, 429, 1202, - -1, 33, 337, 1202, 352, 429, 1202, -1, 33, 367, - 843, 352, 429, 1202, -1, 33, 374, 1202, 352, 429, - 1202, -1, 33, 384, 1202, 352, 429, 1202, -1, 33, - 410, 1202, 352, 429, 1202, -1, 33, 417, 1072, 352, - 429, 1202, -1, 33, 417, 194, 156, 1072, 352, 429, - 1202, -1, 33, 381, 1200, 352, 429, 1202, -1, 33, - 381, 194, 156, 1200, 352, 429, 1202, -1, 33, 465, - 1200, 352, 429, 1202, -1, 33, 465, 194, 156, 1200, - 352, 429, 1202, -1, 33, 258, 465, 1200, 352, 429, - 1202, -1, 33, 258, 465, 194, 156, 1200, 352, 429, - 1202, -1, 33, 205, 1200, 352, 429, 1202, -1, 33, - 205, 194, 156, 1200, 352, 429, 1202, -1, 33, 172, - 417, 1072, 352, 429, 1202, -1, 33, 172, 417, 194, - 156, 1072, 352, 429, 1202, -1, 33, 417, 1072, 352, - 896, 1202, 429, 1202, -1, 33, 417, 194, 156, 1072, - 352, 896, 1202, 429, 1202, -1, 33, 465, 1200, 352, - 896, 1202, 429, 1202, -1, 33, 465, 194, 156, 1200, - 352, 896, 1202, 429, 1202, -1, 33, 258, 465, 1200, - 352, 896, 1202, 429, 1202, -1, 33, 258, 465, 194, - 156, 1200, 352, 896, 1202, 429, 1202, -1, 33, 417, - 1072, 352, 93, 1202, 429, 1202, -1, 33, 417, 194, - 156, 1072, 352, 93, 1202, 429, 1202, -1, 33, 172, - 417, 1072, 352, 896, 1202, 429, 1202, -1, 33, 172, - 417, 194, 156, 1072, 352, 896, 1202, 429, 1202, -1, - 33, 371, 1202, 297, 1200, 352, 429, 1202, -1, 33, - 434, 1202, 297, 1200, 352, 429, 1202, -1, 33, 150, - 434, 1202, 352, 429, 1202, -1, 33, 364, 1210, 352, - 429, 1210, -1, 33, 452, 1210, 352, 429, 1210, -1, - 33, 420, 1202, 352, 429, 1202, -1, 33, 403, 791, - 352, 429, 1202, -1, 33, 424, 377, 316, 791, 352, - 429, 1202, -1, 33, 424, 377, 133, 791, 352, 429, - 1202, -1, 33, 424, 377, 422, 791, 352, 429, 1202, - -1, 33, 424, 377, 90, 791, 352, 429, 1202, -1, - 33, 439, 791, 352, 429, 1202, -1, 33, 439, 791, - 352, 49, 1202, 429, 1202, 529, -1, 82, -1, -1, - 387, 114, -1, -1, 33, 178, 843, 899, 129, 297, - 159, 1202, -1, 33, 334, 843, 899, 129, 297, 159, - 1202, -1, 33, 367, 843, 899, 129, 297, 159, 1202, - -1, 33, 434, 1202, 297, 1200, 899, 129, 297, 159, - 1202, -1, 33, 258, 465, 1200, 899, 129, 297, 159, - 1202, -1, 33, 205, 1200, 899, 129, 297, 159, 1202, - -1, 278, -1, -1, 33, 30, 855, 387, 374, 1202, - -1, 33, 81, 791, 387, 374, 1202, -1, 33, 97, - 791, 387, 374, 1202, -1, 33, 139, 791, 387, 374, - 1202, -1, 33, 159, 1202, 387, 374, 1202, -1, 33, - 178, 843, 387, 374, 1202, -1, 33, 299, 879, 387, - 374, 1202, -1, 33, 299, 76, 791, 453, 1202, 387, - 374, 1202, -1, 33, 299, 163, 791, 453, 1202, 387, - 374, 1202, -1, 33, 334, 843, 387, 374, 1202, -1, - 33, 367, 843, 387, 374, 1202, -1, 33, 417, 1072, - 387, 374, 1202, -1, 33, 417, 194, 156, 1072, 387, - 374, 1202, -1, 33, 403, 791, 387, 374, 1202, -1, - 33, 424, 377, 316, 791, 387, 374, 1202, -1, 33, - 424, 377, 133, 791, 387, 374, 1202, -1, 33, 424, - 377, 422, 791, 387, 374, 1202, -1, 33, 424, 377, - 90, 791, 387, 374, 1202, -1, 33, 381, 1200, 387, - 374, 1202, -1, 33, 381, 194, 156, 1200, 387, 374, - 1202, -1, 33, 465, 1200, 387, 374, 1202, -1, 33, - 465, 194, 156, 1200, 387, 374, 1202, -1, 33, 258, - 465, 1200, 387, 374, 1202, -1, 33, 258, 465, 194, - 156, 1200, 387, 374, 1202, -1, 33, 172, 417, 1072, - 387, 374, 1202, -1, 33, 172, 417, 194, 156, 1072, - 387, 374, 1202, -1, 33, 439, 791, 387, 374, 1202, - -1, 33, 299, 879, 387, 515, 902, 516, -1, 903, - -1, 902, 519, 903, -1, 1220, 505, 279, -1, 1220, - 505, 904, -1, 850, -1, 1225, -1, 1155, -1, 675, - -1, 1208, -1, 33, 439, 791, 387, 515, 902, 516, - -1, 33, 30, 855, 313, 429, 1211, -1, 33, 81, - 791, 313, 429, 1211, -1, 33, 97, 791, 313, 429, - 1211, -1, 33, 115, 1202, 313, 429, 1211, -1, 33, - 139, 791, 313, 429, 1211, -1, 33, 178, 843, 313, - 429, 1211, -1, 33, 683, 235, 1202, 313, 429, 1211, - -1, 33, 236, 291, 675, 313, 429, 1211, -1, 33, - 299, 879, 313, 429, 1211, -1, 33, 299, 76, 791, - 453, 1202, 313, 429, 1211, -1, 33, 299, 163, 791, - 453, 1202, 313, 429, 1211, -1, 33, 334, 843, 313, - 429, 1211, -1, 33, 367, 843, 313, 429, 1211, -1, - 33, 374, 1202, 313, 429, 1211, -1, 33, 439, 791, - 313, 429, 1211, -1, 33, 420, 1202, 313, 429, 1211, - -1, 33, 403, 791, 313, 429, 1211, -1, 33, 424, - 377, 133, 791, 313, 429, 1211, -1, 33, 424, 377, - 90, 791, 313, 429, 1211, -1, 33, 172, 114, 476, - 1202, 313, 429, 1211, -1, 33, 384, 1202, 313, 429, - 1211, -1, 33, 150, 434, 1202, 313, 429, 1211, -1, - 33, 337, 1202, 313, 429, 1211, -1, 33, 410, 1202, - 313, 429, 1211, -1, 100, 337, 1202, 867, -1, 100, - 337, 1202, 170, 31, 418, 867, -1, 100, 337, 1202, - 170, 909, 867, -1, 417, 1072, 634, 641, -1, 418, - 200, 374, 1217, -1, 418, 200, 374, 108, -1, 1217, - 634, 641, -1, 1217, 1180, 634, 641, -1, 1073, 634, - 641, -1, 108, -1, 908, -1, 909, 519, 908, -1, - 33, 337, 1202, 387, 759, -1, 33, 337, 1202, 27, - 909, -1, 33, 337, 1202, 387, 909, -1, 33, 337, - 1202, 141, 909, -1, 100, 410, 1202, 92, 1208, 337, - 1201, 867, -1, 33, 410, 1202, 387, 759, -1, 33, - 410, 1202, 92, 1208, -1, 33, 410, 1202, 348, 337, - 867, -1, 33, 410, 1202, 27, 337, 1201, 867, -1, - 33, 410, 1202, 141, 337, 1201, 867, -1, 33, 410, - 1202, 387, 337, 1201, 867, -1, 33, 410, 1202, 144, - -1, 33, 410, 1202, 134, -1, 33, 410, 1202, 394, - 759, -1, 141, 410, 1202, 529, -1, 141, 410, 194, - 156, 1202, 529, -1, 100, 839, 371, 1202, 40, 297, - 919, 429, 1200, 1083, 137, 920, 915, -1, 283, -1, - 917, -1, 515, 916, 516, -1, 916, 518, 918, -1, - 918, -1, 1013, -1, 980, -1, 996, -1, 989, -1, - 921, -1, 917, -1, -1, 380, -1, 451, -1, 126, - -1, 215, -1, 216, -1, 32, -1, -1, 284, 1217, - 922, -1, 519, 1208, -1, -1, 246, 1217, -1, 448, - 1217, -1, 448, 508, -1, 22, 927, 931, -1, 401, - 431, 930, -1, 86, 927, 931, -1, 365, 927, 931, - -1, 372, 1217, -1, 351, 372, 1217, -1, 351, 1217, - -1, 365, 927, 429, 372, 1217, -1, 365, 927, 429, - 1217, -1, 328, 431, 1208, -1, 86, 329, 1208, -1, - 365, 329, 1208, -1, 53, 927, 930, -1, 147, 927, - 931, -1, 475, -1, 431, -1, -1, 225, 243, 555, - -1, 340, 298, -1, 340, 477, -1, 123, -1, 282, - 123, -1, 928, -1, 929, 519, 928, -1, 929, 928, - -1, 929, -1, -1, 37, 70, -1, 37, 278, 70, - -1, -1, 100, 609, 465, 1200, 634, 581, 40, 1013, - 933, -1, 100, 302, 354, 609, 465, 1200, 634, 581, - 40, 1013, 933, -1, 100, 609, 344, 465, 1200, 515, - 635, 516, 581, 40, 1013, 933, -1, 100, 302, 354, - 609, 344, 465, 1200, 515, 635, 516, 581, 40, 1013, - 933, -1, 472, 74, 300, -1, 472, 66, 74, 300, - -1, 472, 248, 74, 300, -1, -1, 247, 1204, -1, - 100, 115, 1202, 532, 936, -1, 937, -1, -1, 938, - -1, 937, 938, -1, 939, 940, 675, -1, 939, 940, - 556, -1, 939, 940, 121, -1, 3, -1, 92, 245, - -1, 145, -1, 251, -1, 313, -1, 420, -1, 422, - -1, 505, -1, -1, 33, 115, 1202, 472, 936, -1, - 33, 115, 1202, 936, -1, 33, 115, 1202, 387, 420, - 1202, -1, 33, 115, 1202, 348, 81, 464, -1, 33, - 115, 1202, 563, -1, 141, 115, 1202, -1, 141, 115, - 194, 156, 1202, -1, 141, 115, 1202, 532, 515, 944, - 516, -1, 141, 115, 194, 156, 1202, 532, 515, 944, - 516, -1, 945, -1, 944, 519, 945, -1, 171, -1, - 33, 81, 791, 348, 464, -1, 33, 415, 387, 550, - -1, 33, 415, 356, 562, -1, 100, 139, 791, 950, - 1095, 622, -1, 33, 139, 791, 576, -1, 33, 139, - 791, 141, 282, 287, -1, 33, 139, 791, 387, 282, - 287, -1, 33, 139, 791, 27, 631, -1, 33, 139, - 791, 141, 93, 1202, 529, -1, 33, 139, 791, 141, - 93, 194, 156, 1202, 529, -1, 33, 139, 791, 456, - 93, 1202, -1, 40, -1, -1, 33, 424, 377, 133, - 791, 759, -1, 33, 424, 377, 90, 791, 27, 255, - 170, 1201, 953, 790, -1, 33, 424, 377, 90, 791, - 33, 255, 170, 1201, 953, 790, -1, 33, 424, 377, - 90, 791, 33, 255, 354, 791, 953, 791, -1, 33, - 424, 377, 90, 791, 33, 255, 170, 1201, 354, 791, - 953, 791, -1, 33, 424, 377, 90, 791, 141, 255, - 170, 1201, -1, 33, 424, 377, 90, 791, 141, 255, - 194, 156, 170, 1201, -1, 472, -1, 496, -1, 100, - 773, 97, 791, 170, 1208, 429, 1208, 176, 791, -1, - 78, 965, 1200, 956, -1, 78, 515, 959, 516, 1200, - 956, -1, 78, 965, -1, 78, 965, 1202, 297, 1200, - -1, 453, 1202, -1, -1, 454, 966, 967, 965, 964, - 971, -1, 454, 515, 959, 516, 971, -1, 960, 965, - 971, -1, 960, 515, 959, 516, 971, -1, 961, -1, - 959, 519, 961, -1, 36, -1, 35, -1, 962, 963, - -1, 1219, -1, 960, -1, 493, -1, 556, -1, 675, - -1, -1, 960, -1, -1, 463, -1, -1, 177, -1, - -1, 175, -1, -1, 515, 1201, 516, -1, -1, 1200, - 968, -1, 969, -1, 970, 519, 969, -1, 970, -1, - -1, 157, 973, -1, 157, 960, 965, 973, -1, 157, - 463, 973, -1, 157, 515, 959, 516, 973, -1, 1013, - -1, 980, -1, 996, -1, 989, -1, 1001, -1, 1009, - -1, 661, -1, 664, -1, 667, -1, 977, -1, 328, - 1202, 975, 40, 976, -1, 515, 1161, 516, -1, -1, - 1013, -1, 980, -1, 996, -1, 989, -1, 1001, -1, - 155, 1202, 978, -1, 100, 609, 417, 662, 40, 155, - 1202, 978, 663, -1, 100, 609, 417, 194, 282, 156, - 662, 40, 155, 1202, 978, 663, -1, 515, 1157, 516, - -1, -1, 117, 1202, -1, 117, 328, 1202, -1, 117, - 31, -1, 117, 328, 31, -1, 1024, 215, 221, 981, - 982, 986, 988, -1, 1200, -1, 1200, 40, 1217, -1, - 1013, -1, 311, 983, 458, 1013, -1, 515, 984, 516, - 1013, -1, 515, 984, 516, 311, 983, 458, 1013, -1, - 121, 459, -1, 452, -1, 415, -1, 985, -1, 984, - 519, 985, -1, 1217, 1181, -1, 297, 91, 987, 137, - 451, 387, 997, 1083, -1, 297, 91, 987, 137, 283, - -1, -1, 515, 830, 516, 1083, -1, 297, 93, 1202, - -1, -1, 360, 1197, -1, -1, 1024, 126, 176, 1075, - 990, 1084, 988, -1, 453, 1062, -1, -1, 252, 1027, - 1074, 992, 994, -1, 200, 993, 264, -1, -1, 25, - 390, -1, 369, 390, -1, 369, 154, -1, 390, 451, - 154, -1, 390, -1, 390, 369, 154, -1, 154, -1, - 25, 154, -1, 286, -1, -1, 286, -1, 394, 253, - -1, -1, 1024, 451, 1075, 387, 997, 1061, 1084, 988, - -1, 998, -1, 997, 519, 998, -1, 999, 505, 1118, - -1, 515, 1000, 516, 505, 1118, -1, 1217, 1181, -1, - 999, -1, 1000, 519, 999, -1, 1024, 260, 221, 1075, - 453, 1063, 297, 1118, 1002, -1, 1003, -1, 1002, 1003, - -1, 468, 257, 1004, 425, 1005, -1, 468, 257, 1004, - 425, 1006, -1, 468, 282, 257, 1004, 425, 1007, -1, - 468, 257, 1004, 425, 137, 283, -1, 468, 282, 257, - 1004, 425, 137, 283, -1, 37, 1118, -1, -1, 451, - 387, 997, -1, 126, -1, 215, 1008, -1, 215, 311, - 983, 458, 1008, -1, 215, 515, 984, 516, 1008, -1, - 215, 515, 984, 516, 311, 983, 458, 1008, -1, 215, - 121, 459, -1, 459, 515, 1157, 516, -1, 120, 1010, - 1011, 112, 1012, 170, 1013, -1, 1202, -1, -1, 1011, - 278, 376, -1, 1011, 376, -1, 1011, 56, -1, 1011, - 42, -1, 1011, 214, -1, -1, 472, 191, -1, 474, - 191, -1, 1015, -1, 1014, -1, 515, 1015, 516, -1, - 515, 1014, 516, -1, 1017, -1, 1016, 1033, -1, 1016, - 1032, 1054, 1037, -1, 1016, 1032, 1036, 1055, -1, 1018, - 1016, -1, 1018, 1016, 1033, -1, 1018, 1016, 1032, 1054, - 1037, -1, 1018, 1016, 1032, 1036, 1055, -1, 1017, -1, - 1014, -1, 380, 1030, 1196, 1025, 1061, 1083, 1046, 1053, - 1137, -1, 380, 1029, 1197, 1025, 1061, 1083, 1046, 1053, - 1137, -1, 1060, -1, 417, 1072, -1, 1016, 445, 1028, - 1016, -1, 1016, 219, 1028, 1016, -1, 1016, 151, 1028, - 1016, -1, 472, 1019, -1, 496, 1019, -1, 472, 344, - 1019, -1, 1020, -1, 1019, 519, 1020, -1, 1202, 968, - 40, 1021, 515, 976, 516, 1022, 1023, -1, 258, -1, - 282, 258, -1, -1, 377, 130, 167, 61, 635, 387, - 1217, -1, 377, 60, 167, 61, 635, 387, 1217, -1, - -1, 113, 635, 387, 1217, 429, 1206, 121, 1206, 453, - 1217, -1, 113, 635, 387, 1217, 453, 1217, -1, -1, - 1018, -1, -1, 221, 1026, -1, -1, 423, 1027, 1200, - -1, 421, 1027, 1200, -1, 248, 423, 1027, 1200, -1, - 248, 421, 1027, 1200, -1, 181, 423, 1027, 1200, -1, - 181, 421, 1027, 1200, -1, 449, 1027, 1200, -1, 417, - 1200, -1, 1200, -1, 417, -1, -1, 31, -1, 136, - -1, -1, 136, -1, 136, 297, 515, 1157, 516, -1, - 31, -1, -1, 1029, -1, 1030, -1, 1033, -1, -1, - 303, 61, 1034, -1, 1035, -1, 1034, 519, 1035, -1, - 1118, 453, 1155, 837, -1, 1118, 836, 837, -1, 1038, - 1039, -1, 1039, 1038, -1, 1038, -1, 1039, -1, 1036, - -1, -1, 245, 1040, -1, 245, 1040, 519, 1041, -1, - 164, 1045, 1042, 1044, 298, -1, 164, 1045, 1042, 1044, - 472, 426, -1, 164, 1045, 1044, 298, -1, 164, 1045, - 1044, 472, 426, -1, 294, 1041, -1, 294, 1042, 1044, - -1, 1118, -1, 31, -1, 1118, -1, 1120, -1, 506, - 1043, -1, 507, 1043, -1, 1207, -1, 5, -1, 369, - -1, 370, -1, 167, -1, 273, -1, 185, 61, 1028, - 1047, -1, -1, 1048, -1, 1047, 519, 1048, -1, 1118, - -1, 1049, -1, 1051, -1, 1050, -1, 1052, -1, 515, - 516, -1, 366, 515, 1157, 516, -1, 103, 515, 1157, - 516, -1, 186, 388, 515, 1047, 516, -1, 189, 1118, - -1, -1, 1056, -1, 170, 340, 298, -1, 1054, -1, - -1, 1057, -1, 1056, 1057, -1, 1058, 1059, 995, -1, - 170, 451, -1, 170, 278, 232, 451, -1, 170, 390, - -1, 170, 232, 390, -1, 292, 1199, -1, -1, 459, - 515, 1157, 516, -1, 1060, 519, 515, 1157, 516, -1, - 176, 1062, -1, -1, 1063, -1, 1062, 519, 1063, -1, - 1072, 1066, -1, 1072, 1066, 1076, -1, 1078, 1068, -1, - 238, 1078, 1068, -1, 1088, 1066, -1, 238, 1088, 1066, - -1, 1014, 1066, -1, 238, 1014, 1066, -1, 1064, -1, - 515, 1064, 516, 1065, -1, 515, 1064, 516, -1, 1063, - 101, 226, 1063, -1, 1063, 1069, 226, 1063, 1071, -1, - 1063, 226, 1063, 1071, -1, 1063, 270, 1069, 226, 1063, - -1, 1063, 270, 226, 1063, -1, 40, 1217, 515, 1201, - 516, -1, 40, 1217, -1, 1217, 515, 1201, 516, -1, - 1217, -1, 1065, -1, -1, 40, 1217, -1, -1, 1065, - -1, 40, 515, 1086, 516, -1, 40, 1217, 515, 1086, - 516, -1, 1217, 515, 1086, 516, -1, -1, 177, 1070, - -1, 242, 1070, -1, 363, 1070, -1, 211, -1, 307, - -1, -1, 453, 515, 1201, 516, 1067, -1, 297, 1118, - -1, 1200, -1, 1073, -1, 1200, 508, -1, 298, 1200, - -1, 298, 515, 1200, 516, -1, 1072, -1, 1074, 519, - 1072, -1, 1072, -1, 1072, 1217, -1, 1072, 40, 1217, - -1, 419, 1205, 515, 1157, 516, 1077, -1, 353, 515, - 1118, 516, -1, -1, 1123, 1082, -1, 370, 176, 515, - 1080, 516, 1082, -1, 1123, 1081, -1, 1079, -1, 1080, - 519, 1079, -1, 40, 515, 1086, 516, -1, -1, 496, - 304, -1, -1, 469, 1118, -1, -1, 469, 1118, -1, - 469, 104, 292, 1010, -1, -1, 1086, -1, -1, 1087, - -1, 1086, 519, 1087, -1, 1217, 1095, 577, -1, 489, - 515, 1120, 1133, 83, 1089, 516, -1, 489, 515, 484, - 515, 1093, 516, 519, 1120, 1133, 83, 1089, 516, -1, - 1090, -1, 1089, 519, 1090, -1, 1217, 1095, -1, 1217, - 1095, 1091, -1, 1217, 170, 304, -1, 1092, -1, 1091, - 1092, -1, 3, 1119, -1, 121, 1119, -1, 282, 287, - -1, 287, -1, 1094, -1, 1093, 519, 1094, -1, 1119, - 40, 1220, -1, 121, 1119, -1, 1097, 1096, -1, 389, - 1097, 1096, -1, 1097, 39, 513, 1207, 514, -1, 389, - 1097, 39, 513, 1207, 514, -1, 1097, 39, -1, 389, - 1097, 39, -1, 1096, 513, 514, -1, 1096, 513, 1207, - 514, -1, -1, 1099, -1, 1101, -1, 1103, -1, 1107, - -1, 1113, -1, 1114, 1116, -1, 1114, 515, 1207, 516, - -1, 1101, -1, 1104, -1, 1108, -1, 1113, -1, 1218, - 1100, -1, 1218, 792, 1100, -1, 515, 1157, 516, -1, - -1, 217, -1, 218, -1, 395, -1, 55, -1, 341, - -1, 168, 1102, -1, 140, 326, -1, 119, 1100, -1, - 118, 1100, -1, 290, 1100, -1, 58, -1, 515, 1207, - 516, -1, -1, 1105, -1, 1106, -1, 1105, -1, 1106, - -1, 57, 1112, 515, 1157, 516, -1, 57, 1112, -1, - 1109, -1, 1110, -1, 1109, -1, 1110, -1, 1111, 515, - 1207, 516, -1, 1111, -1, 72, 1112, -1, 71, 1112, - -1, 460, -1, 269, 72, 1112, -1, 269, 71, 1112, - -1, 271, 1112, -1, 462, -1, -1, 428, 515, 1207, - 516, 1115, -1, 428, 1115, -1, 427, 515, 1207, 516, - 1115, -1, 427, 1115, -1, 220, -1, 496, 427, 492, - -1, 497, 427, 492, -1, -1, 490, -1, 265, -1, - 116, -1, 192, -1, 262, -1, 1117, -1, 490, 429, - 265, -1, 116, 429, 192, -1, 116, 429, 262, -1, - 116, 429, 1117, -1, 192, 429, 262, -1, 192, 429, - 1117, -1, 262, 429, 1117, -1, -1, 378, -1, 378, - 515, 1207, 516, -1, 1120, -1, 1118, 13, 1095, -1, - 1118, 80, 791, -1, 1118, 47, 427, 492, 1118, -1, - 506, 1118, -1, 507, 1118, -1, 1118, 506, 1118, -1, - 1118, 507, 1118, -1, 1118, 508, 1118, -1, 1118, 509, - 1118, -1, 1118, 510, 1118, -1, 1118, 511, 1118, -1, - 1118, 503, 1118, -1, 1118, 504, 1118, -1, 1118, 505, - 1118, -1, 1118, 17, 1118, -1, 1118, 18, 1118, -1, - 1118, 19, 1118, -1, 1118, 1154, 1118, -1, 1154, 1118, - -1, 1118, 37, 1118, -1, 1118, 302, 1118, -1, 282, - 1118, -1, 494, 1118, -1, 1118, 244, 1118, -1, 1118, - 244, 1118, 149, 1118, -1, 1118, 494, 244, 1118, -1, - 1118, 494, 244, 1118, 149, 1118, -1, 1118, 195, 1118, - -1, 1118, 195, 1118, 149, 1118, -1, 1118, 494, 195, - 1118, -1, 1118, 494, 195, 1118, 149, 1118, -1, 1118, - 392, 429, 1118, -1, 1118, 392, 429, 1118, 149, 1118, - -1, 1118, 494, 392, 429, 1118, -1, 1118, 494, 392, - 429, 1118, 149, 1118, -1, 1118, 223, 287, -1, 1118, - 224, -1, 1118, 223, 282, 287, -1, 1118, 285, -1, - 1148, 309, 1148, -1, 1118, 223, 436, -1, 1118, 223, - 282, 436, -1, 1118, 223, 162, -1, 1118, 223, 282, - 162, -1, 1118, 223, 447, -1, 1118, 223, 282, 447, - -1, 1118, 223, 136, 176, 1118, -1, 1118, 223, 282, - 136, 176, 1118, -1, 1118, 54, 1182, 1119, 37, 1118, - -1, 1118, 494, 54, 1182, 1119, 37, 1118, -1, 1118, - 54, 413, 1119, 37, 1118, -1, 1118, 494, 54, 413, - 1119, 37, 1118, -1, 1118, 200, 1171, -1, 1118, 494, - 200, 1171, -1, 1118, 1156, 1151, 1014, -1, 1118, 1156, - 1151, 515, 1118, 516, -1, 446, 625, 1014, -1, 1118, - 223, 138, -1, 1118, 223, 282, 138, -1, 1118, 223, - 281, -1, 1118, 223, 1166, 281, -1, 1118, 223, 282, - 281, -1, 1118, 223, 282, 1166, 281, -1, 1118, 223, - 1187, 1188, -1, 1118, 223, 282, 1187, 1188, -1, 121, - -1, 1120, -1, 1119, 13, 1095, -1, 506, 1119, -1, - 507, 1119, -1, 1119, 506, 1119, -1, 1119, 507, 1119, - -1, 1119, 508, 1119, -1, 1119, 509, 1119, -1, 1119, - 510, 1119, -1, 1119, 511, 1119, -1, 1119, 503, 1119, - -1, 1119, 504, 1119, -1, 1119, 505, 1119, -1, 1119, - 17, 1119, -1, 1119, 18, 1119, -1, 1119, 19, 1119, - -1, 1119, 1154, 1119, -1, 1154, 1119, -1, 1119, 223, - 136, 176, 1119, -1, 1119, 223, 282, 136, 176, 1119, - -1, 1119, 223, 138, -1, 1119, 223, 282, 138, -1, - 1177, -1, 1206, -1, 12, 1181, -1, 515, 1118, 516, - 1181, -1, 1172, -1, 1122, -1, 1014, -1, 1014, 1180, - -1, 156, 1014, -1, 39, 1014, -1, 39, 1162, -1, - 1149, -1, 1150, -1, 186, 515, 1157, 516, -1, 1205, - 515, 516, -1, 1205, 515, 1158, 1032, 516, -1, 1205, - 515, 461, 1159, 1032, 516, -1, 1205, 515, 1158, 519, - 461, 1159, 1032, 516, -1, 1205, 515, 31, 1158, 1032, - 516, -1, 1205, 515, 136, 1158, 1032, 516, -1, 1205, - 515, 508, 516, -1, 1121, 1135, 1136, 1140, -1, 1194, - 1136, 1140, -1, 1124, -1, 1121, -1, 1124, -1, 1194, - -1, 81, 170, 515, 1118, 516, -1, 106, -1, 109, - -1, 109, 515, 1207, 516, -1, 110, -1, 110, 515, - 1207, 516, -1, 249, -1, 249, 515, 1207, 516, -1, - 250, -1, 250, 515, 1207, 516, -1, 107, -1, 111, - -1, 386, -1, 416, -1, 452, -1, 105, -1, 108, - -1, 68, 515, 1118, 40, 1095, 516, -1, 161, 515, - 1164, 516, -1, 280, 515, 1118, 516, -1, 280, 515, - 1118, 519, 1166, 516, -1, 310, 515, 1167, 516, -1, - 310, 515, 1160, 516, -1, 324, 515, 1168, 516, -1, - 411, 515, 1169, 516, -1, 411, 515, 1160, 516, -1, - 433, 515, 1118, 40, 1095, 516, -1, 435, 515, 59, - 1170, 516, -1, 435, 515, 239, 1170, 516, -1, 435, - 515, 430, 1170, 516, -1, 435, 515, 1170, 516, -1, - 288, 515, 1118, 519, 1118, 516, -1, 79, 515, 1157, - 516, -1, 184, 515, 1157, 516, -1, 241, 515, 1157, - 516, -1, 480, 515, 1157, 516, -1, 481, 515, 267, - 1220, 516, -1, 481, 515, 267, 1220, 519, 1127, 516, - -1, 481, 515, 267, 1220, 519, 1157, 516, -1, 481, - 515, 267, 1220, 519, 1127, 519, 1157, 516, -1, 482, - 515, 1120, 1133, 516, -1, 483, 515, 1128, 516, -1, - 485, 515, 1130, 1118, 1132, 516, -1, 486, 515, 267, - 1220, 516, -1, 486, 515, 267, 1220, 519, 1118, 516, - -1, 487, 515, 1118, 519, 1125, 1126, 516, -1, 488, - 515, 1130, 1118, 40, 1097, 1131, 516, -1, 230, 515, - 1158, 516, -1, 230, 515, 1189, 1191, 1188, 1186, 516, - -1, 230, 515, 1186, 516, -1, 228, 515, 1193, 1192, - 1186, 516, -1, 228, 515, 1015, 1184, 1186, 516, -1, - 228, 515, 1186, 516, -1, 464, 1118, -1, 464, 278, - 458, -1, 519, 400, 491, -1, 519, 400, 278, -1, - 519, 400, 278, 458, -1, -1, 479, 515, 1128, 516, - -1, 1129, -1, 1128, 519, 1129, -1, 1118, 40, 1220, - -1, 1118, -1, 138, -1, 95, -1, 204, -1, 278, - 204, -1, -1, 327, 470, -1, 409, 470, -1, -1, - 319, 1120, -1, 319, 1120, 1134, -1, 319, 1134, 1120, - -1, 319, 1134, 1120, 1134, -1, 61, 345, -1, 61, - 458, -1, 473, 185, 515, 1033, 516, -1, -1, 165, - 515, 469, 1118, 516, -1, -1, 471, 1138, -1, -1, - 1139, -1, 1138, 519, 1139, -1, 1217, 40, 1141, -1, - 308, 1141, -1, 308, 1217, -1, -1, 515, 1142, 1143, - 1032, 1144, 516, -1, 1217, -1, -1, 318, 61, 1157, - -1, -1, 339, 1145, 1147, -1, 370, 1145, 1147, -1, - 187, 1145, 1147, -1, -1, 1146, -1, 54, 1146, 37, - 1146, -1, 442, 325, -1, 442, 169, -1, 104, 369, - -1, 1118, 325, -1, 1118, 169, -1, 152, 104, 369, - -1, 152, 185, -1, 152, 426, -1, 152, 278, 305, - -1, -1, 369, 515, 1157, 516, -1, 369, 515, 516, - -1, 515, 1157, 519, 1118, 516, -1, 369, 515, 1157, - 516, -1, 369, 515, 516, -1, 515, 1157, 519, 1118, - 516, -1, 38, -1, 397, -1, 31, -1, 10, -1, - 1153, -1, 506, -1, 507, -1, 508, -1, 509, -1, - 510, -1, 511, -1, 503, -1, 504, -1, 505, -1, - 17, -1, 18, -1, 19, -1, 10, -1, 299, 515, - 877, 516, -1, 1152, -1, 299, 515, 877, 516, -1, - 1152, -1, 299, 515, 877, 516, -1, 244, -1, 494, - 244, -1, 195, -1, 494, 195, -1, 1118, -1, 1157, - 519, 1118, -1, 1159, -1, 1158, 519, 1159, -1, 1118, - -1, 848, 15, 1118, -1, 848, 16, 1118, -1, 1158, - -1, -1, 1095, -1, 1161, 519, 1095, -1, 513, 1157, - 514, -1, 513, 1163, 514, -1, 513, 514, -1, 1162, - -1, 1163, 519, 1162, -1, 1165, 176, 1118, -1, 12, - 176, 1118, -1, 3, -1, 490, -1, 265, -1, 116, - -1, 192, -1, 262, -1, 378, -1, 1208, -1, 274, - -1, 275, -1, 276, -1, 277, -1, 1118, 321, 1118, - 176, 1118, 170, 1118, -1, 1118, 321, 1118, 176, 1118, - -1, 1119, 200, 1119, -1, 1118, 176, 1118, 170, 1118, - -1, 1118, 170, 1118, 176, 1118, -1, 1118, 176, 1118, - -1, 1118, 170, 1118, -1, 1118, 392, 1118, 149, 1118, - -1, 1118, 176, 1157, -1, 176, 1157, -1, 1157, -1, - 1014, -1, 515, 1157, 516, -1, 67, 1176, 1173, 1175, - 147, -1, 1174, -1, 1173, 1174, -1, 468, 1118, 425, - 1118, -1, 143, 1118, -1, -1, 1118, -1, -1, 1217, - -1, 1217, 1180, -1, 517, 1203, -1, 517, 508, -1, - 513, 1118, 514, -1, 513, 1179, 520, 1179, 514, -1, - 1118, -1, -1, 1178, -1, 1180, 1178, -1, -1, 1181, - 1178, -1, 45, -1, -1, 1118, 1184, -1, 493, 227, - 1185, -1, -1, 145, 1202, -1, -1, 360, 1095, 1184, - -1, -1, 227, -1, 227, 458, -1, 227, 39, -1, - 227, 291, -1, 227, 373, -1, 472, 446, 233, -1, - 472, 446, -1, 474, 446, 233, -1, 474, 446, -1, - -1, 1190, -1, 1189, 519, 1190, -1, 1120, 458, 1183, - -1, 1118, 520, 1183, -1, 287, 297, 287, -1, 23, - 297, 287, -1, -1, 287, 297, 287, -1, 23, 297, - 287, -1, -1, 1183, -1, 1193, 519, 1183, -1, 231, - 515, 1190, 1191, 1188, 1186, 516, -1, 229, 515, 1183, - 1195, 1192, 1186, 516, -1, 303, 61, 1034, -1, -1, - 1197, -1, -1, 1198, -1, 1197, 519, 1198, -1, 1118, - 40, 1220, -1, 1118, 1221, -1, 1118, -1, 508, -1, - 1200, -1, 1199, 519, 1200, -1, 1217, -1, 1217, 1180, - -1, 1202, -1, 1201, 519, 1202, -1, 1217, -1, 1220, - -1, 1208, -1, 1218, -1, 1217, 1180, -1, 1207, -1, - 5, -1, 1208, -1, 8, -1, 9, -1, 1205, 1208, - -1, 1205, 515, 1158, 1032, 516, 1208, -1, 1205, 12, - -1, 1205, 515, 1158, 1032, 516, 12, -1, 1098, 1208, - -1, 1114, 1208, 1116, -1, 1114, 515, 1207, 516, 1208, - -1, 1098, 12, -1, 1114, 12, 1116, -1, 1114, 515, - 1207, 516, 12, -1, 436, -1, 162, -1, 287, -1, - 11, -1, 6, -1, 1207, -1, 506, 1207, -1, 507, - 1207, -1, 1211, -1, 1219, -1, 107, -1, 111, -1, - 386, -1, 1211, -1, 1212, 519, 1211, -1, 1031, 1196, - 1061, 1083, 1046, 1053, 1137, 1032, 1037, 1055, -1, 1215, - 1181, 1216, 1213, -1, 1217, -1, 12, -1, 15, -1, - 505, -1, 3, -1, 1222, -1, 1223, -1, 3, -1, - 1222, -1, 1224, -1, 3, -1, 1222, -1, 1223, -1, - 1224, -1, 3, -1, 1222, -1, 1223, -1, 1224, -1, - 1225, -1, 3, -1, 1226, -1, 22, -1, 23, -1, - 24, -1, 25, -1, 26, -1, 27, -1, 28, -1, - 29, -1, 30, -1, 32, -1, 33, -1, 34, -1, - 42, -1, 43, -1, 44, -1, 47, -1, 46, -1, - 48, -1, 49, -1, 51, -1, 52, -1, 53, -1, - 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, - 65, -1, 66, -1, 69, -1, 70, -1, 73, -1, - 75, -1, 76, -1, 77, -1, 78, -1, 83, -1, - 84, -1, 85, -1, 86, -1, 87, -1, 88, -1, - 90, -1, 91, -1, 92, -1, 94, -1, 95, -1, - 96, -1, 97, -1, 98, -1, 99, -1, 102, -1, - 103, -1, 104, -1, 112, -1, 113, -1, 114, -1, - 115, -1, 116, -1, 117, -1, 120, -1, 122, -1, - 124, -1, 125, -1, 126, -1, 127, -1, 128, -1, - 129, -1, 130, -1, 132, -1, 133, -1, 134, -1, - 135, -1, 138, -1, 139, -1, 140, -1, 141, -1, - 142, -1, 144, -1, 145, -1, 146, -1, 148, -1, - 149, -1, 150, -1, 152, -1, 153, -1, 154, -1, - 155, -1, 157, -1, 158, -1, 159, -1, 160, -1, - 163, -1, 165, -1, 166, -1, 167, -1, 169, -1, - 171, -1, 173, -1, 174, -1, 178, -1, 179, -1, - 180, -1, 181, -1, 183, -1, 187, -1, 188, -1, - 190, -1, 191, -1, 192, -1, 193, -1, 194, -1, - 196, -1, 197, -1, 198, -1, 199, -1, 201, -1, - 202, -1, 203, -1, 204, -1, 205, -1, 206, -1, - 207, -1, 208, -1, 210, -1, 213, -1, 214, -1, - 215, -1, 216, -1, 222, -1, 225, -1, 227, -1, - 232, -1, 233, -1, 234, -1, 235, -1, 236, -1, - 237, -1, 240, -1, 243, -1, 246, -1, 247, -1, - 248, -1, 251, -1, 252, -1, 253, -1, 254, -1, - 255, -1, 256, -1, 257, -1, 258, -1, 259, -1, + 542, 0, -1, 543, -1, 518, 1127, -1, 519, 1255, + -1, 520, 1256, -1, 521, 1256, -1, 522, 1256, -1, + 543, 538, 544, -1, 544, -1, 545, -1, 950, -1, + 779, -1, 970, -1, 965, -1, 966, -1, 846, -1, + 973, -1, 792, -1, 714, -1, 717, -1, 722, -1, + 735, -1, 894, -1, 563, -1, 922, -1, 924, -1, + 930, -1, 925, -1, 929, -1, 745, -1, 693, -1, + 971, -1, 591, -1, 918, -1, 611, -1, 934, -1, + 560, -1, 558, -1, 936, -1, 684, -1, 976, -1, + 975, -1, 743, -1, 982, -1, 550, -1, 589, -1, + 614, -1, 979, -1, 820, -1, 586, -1, 615, -1, + 753, -1, 685, -1, 781, -1, 907, -1, 978, -1, + 972, -1, 711, -1, 718, -1, 731, -1, 736, -1, + 862, -1, 562, -1, 688, -1, 794, -1, 801, -1, + 931, -1, 802, -1, 744, -1, 701, -1, 565, -1, + 692, -1, 630, -1, 935, -1, 681, -1, 708, -1, + 911, -1, 755, -1, 775, -1, 551, -1, 557, -1, + 740, -1, 959, -1, 1003, -1, 1035, -1, 782, -1, + 1013, -1, 590, -1, 904, -1, 909, -1, 805, -1, + 806, -1, 807, -1, 809, -1, 937, -1, 710, -1, + 913, -1, 561, -1, 742, -1, 967, -1, 1001, -1, + 996, -1, 825, -1, 829, -1, 840, -1, 737, -1, + 851, -1, 1004, -1, 947, -1, 691, -1, 958, -1, + 1015, -1, 1025, -1, 945, -1, 998, -1, 808, -1, + 914, -1, 898, -1, 897, -1, 899, -1, 919, -1, + 830, -1, 841, -1, 938, -1, 822, -1, 1039, -1, + 949, -1, 818, -1, 948, -1, 1020, -1, 981, -1, + 580, -1, 568, -1, 585, -1, 956, -1, -1, 1259, + -1, -1, 815, -1, -1, 89, -1, -1, 65, -1, + 374, -1, -1, 63, 1154, -1, 101, 380, 1252, 552, + 553, -1, 492, -1, 516, -1, -1, 553, 556, -1, + -1, 554, 555, -1, -1, 333, 1250, -1, 333, 12, + -1, 333, 299, -1, 148, 333, 1250, -1, 148, 333, + 12, -1, 464, 333, 1250, -1, 210, -1, 93, 255, + 1251, -1, 475, 470, 1250, -1, 472, 1254, -1, 3, + -1, 555, -1, 432, 1249, -1, 28, 1254, -1, 380, + 1254, -1, 203, 380, 1254, -1, 203, 188, 1254, -1, + 101, 472, 1252, 552, 553, -1, 33, 380, 1253, 552, + 554, -1, 33, 472, 1253, 552, 554, -1, -1, 203, + 116, 1244, -1, 33, 380, 1253, 559, 583, -1, 33, + 380, 31, 559, 583, -1, 33, 472, 1253, 559, 583, + -1, 33, 472, 31, 559, 583, -1, 142, 380, 1254, + -1, 142, 380, 197, 159, 1254, -1, 142, 472, 1254, + -1, 142, 472, 197, 159, 1254, -1, 142, 188, 1254, + -1, 142, 188, 197, 159, 1254, -1, 101, 188, 1252, + 552, 553, -1, 33, 188, 1253, 564, 472, 1254, -1, + 27, -1, 142, -1, 101, 390, 546, 50, 1253, 566, + -1, 101, 390, 1259, 566, -1, 101, 390, 197, 294, + 159, 546, 50, 1253, 566, -1, 101, 390, 197, 294, + 159, 1259, 566, -1, 566, 567, -1, -1, 630, -1, + 851, -1, 692, -1, 755, -1, 829, -1, 956, -1, + 403, 569, -1, 403, 258, 569, -1, 403, 401, 569, + -1, 450, 953, -1, 401, 73, 40, 450, 953, -1, + 571, -1, 572, 448, 573, -1, 572, 525, 573, -1, + 572, 448, 122, -1, 572, 525, 122, -1, 570, -1, + 572, 179, 105, -1, 446, 512, 577, -1, 69, 1250, + -1, 390, 1250, -1, 390, 12, -1, 279, 578, -1, + 380, 579, -1, 380, 12, -1, 401, 50, 579, -1, + 401, 50, 12, -1, 401, 50, 122, -1, 498, 313, + 1163, -1, 450, 412, 1250, -1, 1259, -1, 572, 537, + 1259, -1, 574, -1, 573, 539, 574, -1, 576, -1, + 699, -1, 12, -1, 356, 463, -1, 356, 87, -1, + 369, 356, -1, 399, -1, 455, -1, 165, -1, 310, + -1, 579, -1, 1250, -1, 12, -1, 3, -1, 1146, + 1250, 1148, -1, 1146, 535, 1249, 536, 1250, -1, 699, + -1, 122, -1, 258, -1, 1250, -1, 122, -1, -1, + 1261, -1, 1250, -1, 372, 581, -1, 582, -1, 446, + 512, -1, 450, 228, 253, -1, 401, 50, -1, 572, + -1, 31, -1, 403, 569, -1, 580, -1, 403, 571, + -1, 580, -1, 407, 572, -1, 407, 446, 512, -1, + 407, 450, 228, 253, -1, 407, 401, 50, -1, 407, + 31, -1, 403, 95, 587, 588, -1, 31, -1, 1241, + -1, 125, -1, 199, -1, 75, -1, 136, 31, -1, + 136, 440, -1, 136, 442, -1, 136, 337, -1, 136, + 398, -1, 33, 435, 1098, 592, -1, 33, 435, 197, + 159, 1098, 592, -1, 33, 435, 1098, 593, -1, 33, + 435, 197, 159, 1098, 593, -1, 33, 435, 31, 203, + 438, 1244, 403, 438, 1244, 1018, -1, 33, 435, 31, + 203, 438, 1244, 325, 61, 1254, 403, 438, 1244, 1018, + -1, 33, 208, 1242, 592, -1, 33, 208, 197, 159, + 1242, 592, -1, 33, 208, 1242, 594, -1, 33, 208, + 31, 203, 438, 1244, 403, 438, 1244, 1018, -1, 33, + 208, 31, 203, 438, 1244, 325, 61, 1254, 403, 438, + 1244, 1018, -1, 33, 397, 1242, 592, -1, 33, 397, + 197, 159, 1242, 592, -1, 33, 485, 1242, 592, -1, + 33, 485, 197, 159, 1242, 592, -1, 33, 268, 485, + 1242, 592, -1, 33, 268, 485, 197, 159, 1242, 592, + -1, 33, 268, 485, 31, 203, 438, 1244, 403, 438, + 1244, 1018, -1, 33, 268, 485, 31, 203, 438, 1244, + 325, 61, 1254, 403, 438, 1244, 1018, -1, 33, 175, + 435, 1098, 592, -1, 33, 175, 435, 197, 159, 1098, + 592, -1, 595, -1, 592, 539, 595, -1, 48, 331, + 1242, 608, -1, 133, 331, 1242, 548, -1, 133, 331, + 1242, 169, -1, 48, 331, 1242, -1, 27, 638, -1, + 27, 197, 294, 159, 638, -1, 27, 82, 638, -1, + 27, 82, 197, 294, 159, 638, -1, 33, 920, 1259, + 596, -1, 33, 920, 1259, 142, 294, 299, -1, 33, + 920, 1259, 403, 294, 299, -1, 33, 920, 1259, 403, + 161, 40, 535, 1151, 536, -1, 33, 920, 1259, 142, + 161, -1, 33, 920, 1259, 142, 161, 197, 159, -1, + 33, 920, 1259, 403, 420, 606, -1, 33, 920, 1249, + 403, 420, 606, -1, 33, 920, 1259, 403, 600, -1, + 33, 920, 1259, 372, 600, -1, 33, 920, 1259, 403, + 642, -1, 33, 920, 1259, 403, 640, -1, 33, 920, + 1259, 27, 183, 648, 40, 196, 695, -1, 33, 920, + 1259, 604, -1, 33, 920, 1259, 142, 196, -1, 33, + 920, 1259, 142, 196, 197, 159, -1, 142, 920, 197, + 159, 1259, 549, -1, 142, 920, 1259, 549, -1, 33, + 920, 1259, 921, 458, 1127, 597, 598, -1, 33, 920, + 1259, 725, -1, 27, 653, -1, 33, 94, 1244, 773, + -1, 476, 94, 1244, -1, 142, 94, 197, 159, 1244, + 549, -1, 142, 94, 1244, 549, -1, 403, 494, 307, + -1, 78, 310, 1244, -1, 403, 494, 78, -1, 403, + 264, -1, 403, 469, -1, 146, 453, 1244, -1, 146, + 34, 453, 1244, -1, 146, 371, 453, 1244, -1, 146, + 453, 31, -1, 146, 453, 472, -1, 135, 453, 1244, + -1, 135, 453, 31, -1, 135, 453, 472, -1, 146, + 387, 1244, -1, 146, 34, 387, 1244, -1, 146, 371, + 387, 1244, -1, 135, 387, 1244, -1, 210, 1242, -1, + 290, 210, 1242, -1, 304, 815, -1, 294, 304, -1, + 326, 448, 1253, -1, 403, 25, 272, 607, -1, 403, + 438, 1244, -1, 403, 600, -1, 372, 600, -1, 371, + 196, 599, -1, 146, 385, 253, 395, -1, 135, 385, + 253, 395, -1, 174, 385, 253, 395, -1, 290, 174, + 385, 253, 395, -1, 725, -1, 403, 122, 1151, -1, + 142, 122, -1, 80, 815, -1, -1, 473, 1151, -1, + -1, 295, -1, 180, -1, 122, -1, 473, 208, 1244, + -1, 535, 602, 536, -1, 492, 600, -1, -1, 603, + -1, 602, 539, 603, -1, 1262, 525, 786, -1, 1262, + -1, 1262, 537, 1262, 525, 786, -1, 1262, 537, 1262, + -1, 605, -1, 604, 605, -1, 373, -1, 373, 552, + 699, -1, 403, 697, -1, 403, 183, 648, -1, 1251, + -1, 122, -1, 1259, -1, 122, -1, 173, 479, 492, + 535, 610, 536, -1, 173, 479, 203, 535, 1190, 536, + -1, 173, 479, 179, 535, 1190, 536, 448, 535, 1190, + 536, -1, 122, -1, 1261, 1249, -1, 609, -1, 610, + 539, 609, -1, 33, 458, 815, 612, -1, 613, -1, + 612, 539, 613, -1, 27, 49, 1113, 549, -1, 142, + 49, 197, 159, 1259, 549, -1, 142, 49, 1259, 549, + -1, 33, 49, 1259, 921, 458, 1127, 597, 549, -1, + 77, 1036, -1, 77, 31, -1, 99, 622, 1242, 658, + 616, 617, 618, 623, 552, 619, 1109, -1, 99, 535, + 1000, 536, 448, 617, 618, 552, 619, -1, 179, -1, + 448, -1, 351, -1, -1, 1250, -1, 421, -1, 422, + -1, 620, -1, 535, 625, 536, -1, 620, 621, -1, + -1, 56, -1, 178, -1, 128, 974, 1250, -1, 299, + 974, 1250, -1, 103, -1, 193, -1, 353, 974, 1250, + -1, 152, 974, 1250, -1, 174, 353, 659, -1, 174, + 353, 528, -1, 174, 294, 299, 659, -1, 174, 294, + 299, 528, -1, 174, 299, 659, -1, 174, 299, 528, + -1, 147, 1250, -1, 56, -1, -1, 624, 129, 1250, + -1, -1, 473, -1, -1, 626, -1, 625, 539, 626, + -1, 1262, 627, -1, 576, -1, 699, -1, 528, -1, + 122, -1, 535, 628, 536, -1, -1, 629, -1, 628, + 539, 629, -1, 576, -1, 101, 631, 435, 1242, 535, + 632, 536, 670, 671, 675, 676, 677, 678, -1, 101, + 631, 435, 197, 294, 159, 1242, 535, 632, 536, 670, + 671, 675, 676, 677, 678, -1, 101, 631, 435, 1242, + 304, 815, 633, 671, 675, 676, 677, 678, -1, 101, + 631, 435, 197, 294, 159, 1242, 304, 815, 633, 671, + 675, 676, 677, 678, -1, 101, 631, 435, 1242, 331, + 304, 1242, 633, 608, 671, 675, 676, 677, 678, -1, + 101, 631, 435, 197, 294, 159, 1242, 331, 304, 1242, + 633, 608, 671, 675, 676, 677, 678, -1, 442, -1, + 440, -1, 258, 442, -1, 258, 440, -1, 184, 442, + -1, 184, 440, -1, 469, -1, -1, 634, -1, -1, + 535, 635, 536, -1, -1, 636, -1, 634, 539, 636, + -1, 637, -1, 635, 539, 637, -1, 638, -1, 650, + -1, 653, -1, 639, -1, 653, -1, 1259, 1127, 643, + 641, 723, 644, -1, 1259, 644, -1, 1259, 492, 314, + 644, -1, 88, 1259, -1, 88, 122, -1, 640, -1, + -1, 423, 1259, -1, 423, 122, -1, 642, -1, -1, + 644, 645, -1, -1, 94, 1244, 646, -1, 646, -1, + 649, -1, 80, 815, -1, 294, 299, -1, 299, -1, + 466, 647, 891, 679, -1, 345, 242, 891, 679, -1, + 74, 535, 1151, 536, 657, -1, 122, 1152, -1, 183, + 648, 40, 196, 695, -1, 183, 648, 40, 535, 1151, + 536, 424, -1, 362, 1242, 658, 662, 666, -1, 301, + 137, -1, 301, 294, 137, -1, -1, 34, -1, 61, + 122, -1, 124, -1, 294, 124, -1, 212, 125, -1, + 212, 199, -1, 254, 1242, 651, -1, 651, 205, 652, + -1, 651, 156, 652, -1, -1, 85, -1, 88, -1, + 95, -1, 123, -1, 196, -1, 183, -1, 209, -1, + 420, -1, 423, -1, 31, -1, 94, 1244, 654, -1, + 654, -1, 74, 535, 1151, 536, 773, -1, 466, 647, + 535, 659, 536, 661, 891, 679, 773, -1, 466, 680, + 773, -1, 345, 242, 535, 659, 536, 661, 891, 679, + 773, -1, 345, 242, 680, 773, -1, 155, 853, 535, + 663, 536, 661, 891, 679, 665, 773, -1, 175, 242, + 535, 659, 536, 362, 1242, 658, 662, 666, 773, -1, + 94, 1244, 656, -1, 656, -1, 74, 535, 1151, 536, + 773, -1, 294, 299, 773, -1, 290, 210, -1, -1, + 535, 659, 536, -1, -1, 660, -1, 659, 539, 660, + -1, 1259, -1, 204, 535, 659, 536, -1, -1, 266, + 180, -1, 266, 330, -1, 266, 409, -1, -1, 664, + -1, 663, 539, 664, -1, 856, 492, 901, -1, 856, + 492, 312, 535, 901, 536, -1, 489, 535, 1151, 536, + -1, -1, 667, -1, 668, -1, 667, 668, -1, 668, + 667, -1, -1, 310, 471, 669, -1, 310, 127, 669, + -1, 290, 26, -1, 374, -1, 65, -1, 403, 299, + 658, -1, 403, 122, 658, -1, 211, 535, 1241, 536, + -1, -1, 672, -1, -1, 331, 61, 1259, 535, 673, + 536, -1, 674, -1, 673, 539, 674, -1, 1259, 859, + 547, -1, 1156, 859, 547, -1, 535, 1151, 536, 859, + 547, -1, 473, 1244, -1, -1, 492, 600, -1, 494, + 307, -1, -1, 310, 86, 142, -1, 310, 86, 127, + 386, -1, 310, 86, 342, 386, -1, -1, 438, 1244, + -1, -1, 473, 208, 438, 1244, -1, -1, 473, 208, + 1244, -1, 101, 420, 547, 992, 310, 682, 179, 1088, + -1, 101, 420, 197, 294, 159, 815, 992, 310, 682, + 179, 1088, -1, 683, -1, 682, 539, 683, -1, 1259, + -1, 1156, -1, 535, 1151, 536, -1, 33, 420, 815, + 403, 420, 606, -1, 33, 420, 197, 159, 815, 403, + 420, 606, -1, 101, 631, 435, 686, 40, 1039, 687, + -1, 101, 631, 435, 197, 294, 159, 686, 40, 1039, + 687, -1, 1242, 658, 675, 676, 677, 678, -1, 492, + 115, -1, 492, 290, 115, -1, -1, 101, 690, 268, + 485, 689, 40, 1039, 687, -1, 101, 690, 268, 485, + 197, 294, 159, 689, 40, 1039, 687, -1, 1242, 658, + 675, 601, 678, -1, 469, -1, -1, 364, 268, 485, + 548, 1242, 687, -1, 101, 631, 397, 1242, 694, -1, + 101, 631, 397, 197, 294, 159, 1242, 694, -1, 33, + 397, 1242, 696, -1, 33, 397, 197, 159, 1242, 696, + -1, 696, -1, -1, 535, 696, 536, -1, -1, 697, + -1, 696, 697, -1, 40, 1129, -1, 62, 699, -1, + 114, -1, 290, 114, -1, 206, 698, 699, -1, 264, + -1, 269, 699, -1, 274, 699, -1, 290, 269, -1, + 290, 274, -1, 325, 61, 815, -1, 397, 278, 815, + -1, 418, 552, 699, -1, 373, -1, 373, 552, 699, + -1, 469, -1, 61, -1, -1, 5, -1, 526, 5, + -1, 527, 5, -1, 1251, -1, 699, -1, 700, 539, + 699, -1, 101, 863, 702, 707, 245, 1244, -1, 101, + 863, 702, 707, 245, 1244, 191, 703, 704, 706, -1, + 457, -1, -1, 1244, -1, 1244, 816, -1, 213, 703, + -1, -1, 477, 703, -1, 290, 477, -1, 705, -1, + -1, 348, -1, -1, 101, 438, 1244, 709, 261, 1250, + 601, -1, 326, 1253, -1, -1, 142, 438, 1244, -1, + 142, 438, 197, 159, 1244, -1, 101, 162, 1244, 552, + 712, -1, 101, 162, 197, 294, 159, 1244, 552, 712, + -1, 712, 713, -1, -1, 390, 1244, -1, 484, 579, + -1, 179, 579, -1, 65, -1, 33, 162, 1244, 471, + 715, -1, 715, 716, -1, -1, 448, 579, -1, 33, + 162, 1244, 564, 811, 1244, -1, 33, 162, 1244, 564, + 810, 815, -1, 33, 162, 1244, 564, 30, 879, -1, + 33, 162, 1244, 564, 68, 535, 1127, 40, 1127, 536, + -1, 33, 162, 1244, 564, 140, 1127, -1, 33, 162, + 1244, 564, 181, 867, -1, 33, 162, 1244, 564, 312, + 903, -1, 33, 162, 1244, 564, 312, 76, 815, 473, + 1244, -1, 33, 162, 1244, 564, 312, 166, 815, 473, + 1244, -1, 33, 162, 1244, 564, 349, 867, -1, 33, + 162, 1244, 564, 383, 867, -1, 33, 162, 1244, 564, + 451, 173, 1127, 245, 1244, -1, 33, 162, 1244, 564, + 458, 1127, -1, 101, 175, 115, 496, 1244, 721, 723, + -1, 191, 703, -1, 290, 191, -1, 477, 703, -1, + 290, 477, -1, 719, -1, 720, 719, -1, 720, -1, + -1, 33, 175, 115, 496, 1244, 721, 725, -1, 33, + 175, 115, 496, 1244, 720, -1, 314, 535, 724, 536, + -1, -1, 728, -1, 724, 539, 728, -1, 314, 535, + 726, 536, -1, 727, -1, 726, 539, 727, -1, 728, + -1, 403, 728, -1, 27, 728, -1, 142, 729, -1, + 729, 730, -1, 1262, -1, 1250, -1, 101, 400, 1244, + 732, 734, 175, 115, 496, 1244, 723, -1, 101, 400, + 197, 294, 159, 1244, 732, 734, 175, 115, 496, 1244, + 723, -1, 458, 1250, -1, -1, 484, 1250, -1, 484, + 299, -1, 733, -1, -1, 33, 400, 1244, 733, 725, + -1, 33, 400, 1244, 733, -1, 33, 400, 1244, 725, + -1, 101, 175, 435, 1242, 535, 632, 536, 670, 400, + 1244, 723, -1, 101, 175, 435, 197, 294, 159, 1242, + 535, 632, 536, 670, 400, 1244, 723, -1, 101, 175, + 435, 1242, 331, 304, 1242, 633, 608, 400, 1244, 723, + -1, 101, 175, 435, 197, 294, 159, 1242, 331, 304, + 1242, 633, 608, 400, 1244, 723, -1, 202, 175, 390, + 1244, 739, 179, 400, 1244, 224, 1244, 723, -1, 255, + 448, -1, 154, -1, 738, 535, 1100, 536, -1, -1, + 101, 472, 265, 173, 741, 400, 1244, 723, -1, 101, + 472, 265, 197, 294, 159, 173, 741, 400, 1244, 723, + -1, 1253, -1, 472, -1, 142, 472, 265, 173, 741, + 400, 1244, -1, 142, 472, 265, 197, 159, 173, 741, + 400, 1244, -1, 33, 472, 265, 173, 741, 400, 1244, + 725, -1, 101, 338, 1244, 310, 1242, 750, 751, 748, + 746, 747, -1, 33, 338, 1244, 310, 1242, 749, 746, + 747, -1, 473, 535, 1151, 536, -1, -1, 492, 74, + 535, 1151, 536, -1, -1, 448, 1254, -1, -1, 448, + 1254, -1, -1, 40, 3, -1, -1, 173, 752, -1, + -1, 31, -1, 396, -1, 218, -1, 471, -1, 127, + -1, 101, 25, 272, 1244, 458, 754, 191, 703, -1, + 208, -1, 435, -1, 101, 863, 453, 1244, 756, 757, + 310, 1242, 759, 765, 768, 158, 769, 1247, 535, 770, + 536, -1, 101, 863, 94, 453, 1244, 29, 757, 310, + 1242, 772, 773, 173, 143, 385, 768, 158, 769, 1247, + 535, 770, 536, -1, 52, -1, 29, -1, 219, 304, + -1, 758, -1, 757, 315, 758, -1, 218, -1, 127, + -1, 471, -1, 471, 304, 659, -1, 456, -1, 363, + 760, -1, -1, 761, -1, 760, 761, -1, 762, 763, + 974, 764, -1, 284, -1, 308, -1, 435, -1, 385, + -1, 1259, -1, 173, 766, 767, -1, -1, 143, -1, + -1, 385, -1, 419, -1, 488, 535, 1151, 536, -1, + -1, 181, -1, 349, -1, 771, -1, 770, 539, 771, + -1, -1, 1249, -1, 5, -1, 1250, -1, 1262, -1, + 179, 1242, -1, -1, -1, 773, 774, -1, 294, 124, + -1, 124, -1, 212, 199, -1, 212, 125, -1, 294, + 475, -1, 290, 210, -1, 101, 153, 453, 1244, 310, + 1262, 158, 769, 1247, 535, 536, -1, 101, 153, 453, + 1244, 310, 1262, 488, 776, 158, 769, 1247, 535, 536, + -1, 777, -1, 776, 37, 777, -1, 1259, 203, 535, + 778, 536, -1, 6, -1, 778, 539, 6, -1, 33, + 153, 453, 1244, 780, -1, 146, -1, 146, 371, -1, + 146, 34, -1, 135, -1, 101, 43, 815, 74, 535, + 1151, 536, 773, -1, 101, 863, 30, 1247, 877, 783, + -1, 101, 863, 30, 1247, 787, -1, 101, 312, 901, + 783, -1, 101, 458, 815, 783, -1, 101, 458, 815, + -1, 101, 458, 815, 40, 535, 1111, 536, -1, 101, + 458, 815, 40, 150, 535, 790, 536, -1, 101, 458, + 815, 40, 355, 783, -1, 101, 443, 393, 329, 815, + 783, -1, 101, 443, 393, 134, 815, 783, -1, 101, + 443, 393, 441, 815, 783, -1, 101, 443, 393, 91, + 815, 783, -1, 101, 81, 815, 783, -1, 101, 81, + 197, 294, 159, 815, 783, -1, 101, 81, 815, 179, + 815, -1, 101, 81, 197, 294, 159, 815, 179, 815, + -1, 535, 784, 536, -1, 785, -1, 784, 539, 785, + -1, 1262, 525, 786, -1, 1262, -1, 874, -1, 1267, + -1, 1188, -1, 699, -1, 1250, -1, 291, -1, 535, + 788, 536, -1, 789, -1, 788, 539, 789, -1, 3, + 525, 786, -1, 791, -1, -1, 1250, -1, 791, 539, + 1250, -1, 33, 458, 815, 27, 478, 793, 1250, -1, + 33, 458, 815, 27, 478, 793, 1250, 52, 1250, -1, + 33, 458, 815, 27, 478, 793, 1250, 29, 1250, -1, + 33, 458, 815, 368, 478, 1250, 448, 1250, -1, 33, + 458, 815, 142, 478, 1250, -1, 197, 294, 159, -1, + -1, 101, 312, 76, 815, 797, 173, 458, 1127, 473, + 1244, 798, 40, 795, -1, 796, -1, 795, 539, 796, + -1, 312, 1249, 901, 799, 800, -1, 312, 1249, 903, + 799, 800, -1, 181, 1249, 867, -1, 181, 1249, 535, + 1194, 536, 867, -1, 423, 1127, -1, 122, -1, -1, + 166, 815, -1, -1, 173, 393, -1, 173, 316, 61, + 815, -1, -1, 359, -1, -1, 101, 312, 166, 815, + 473, 1244, -1, 33, 312, 166, 815, 473, 1244, 27, + 795, -1, 33, 312, 166, 815, 473, 1244, 142, 803, + -1, 804, -1, 803, 539, 804, -1, 312, 1249, 535, + 1194, 536, -1, 181, 1249, 535, 1194, 536, -1, 142, + 312, 76, 815, 473, 1244, 549, -1, 142, 312, 76, + 197, 159, 815, 473, 1244, 549, -1, 142, 312, 166, + 815, 473, 1244, 549, -1, 142, 312, 166, 197, 159, + 815, 473, 1244, 549, -1, 142, 325, 61, 1254, 549, + -1, 358, 325, 61, 1254, 448, 1253, -1, 142, 810, + 197, 159, 814, 549, -1, 142, 810, 814, 549, -1, + 142, 812, 197, 159, 1243, 549, -1, 142, 812, 1243, + 549, -1, 142, 813, 1244, 310, 815, 549, -1, 142, + 813, 197, 159, 1244, 310, 815, 549, -1, 142, 458, + 817, 549, -1, 142, 458, 197, 159, 817, 549, -1, + 142, 140, 817, 549, -1, 142, 140, 197, 159, 817, + 549, -1, 142, 208, 89, 814, 549, -1, 142, 208, + 89, 197, 159, 814, 549, -1, 435, -1, 397, -1, + 485, -1, 268, 485, -1, 208, -1, 175, 435, -1, + 81, -1, 98, -1, 420, -1, 443, 393, 329, -1, + 443, 393, 134, -1, 443, 393, 441, -1, 443, 393, + 91, -1, 812, -1, 116, -1, 380, -1, 428, -1, + 438, -1, 25, 272, -1, 153, 453, -1, 162, -1, + 175, 115, 496, -1, 707, 245, -1, 352, -1, 390, + -1, 400, -1, 338, -1, 387, -1, 453, -1, 815, + -1, 814, 539, 815, -1, 1259, -1, 1259, 816, -1, + 537, 1245, -1, 816, 537, 1245, -1, 1127, -1, 817, + 539, 1127, -1, 456, 1053, 1100, 819, 549, -1, 97, + 196, -1, 373, 196, -1, -1, 84, 310, 810, 815, + 226, 821, -1, 84, 310, 82, 815, 226, 821, -1, + 84, 310, 811, 1244, 226, 821, -1, 84, 310, 458, + 1127, 226, 821, -1, 84, 310, 140, 1127, 226, 821, + -1, 84, 310, 30, 879, 226, 821, -1, 84, 310, + 181, 867, 226, 821, -1, 84, 310, 312, 903, 226, + 821, -1, 84, 310, 94, 1244, 310, 815, 226, 821, + -1, 84, 310, 94, 1244, 310, 140, 815, 226, 821, + -1, 84, 310, 813, 1244, 310, 815, 226, 821, -1, + 84, 310, 349, 867, 226, 821, -1, 84, 310, 383, + 867, 226, 821, -1, 84, 310, 451, 173, 1127, 245, + 1244, 226, 821, -1, 84, 310, 312, 76, 815, 473, + 1244, 226, 821, -1, 84, 310, 312, 166, 815, 473, + 1244, 226, 821, -1, 84, 310, 246, 303, 699, 226, + 821, -1, 84, 310, 68, 535, 1127, 40, 1127, 536, + 226, 821, -1, 1250, -1, 299, -1, 395, 244, 823, + 310, 810, 815, 226, 824, -1, 395, 244, 823, 310, + 82, 815, 226, 824, -1, 395, 244, 823, 310, 811, + 1244, 226, 824, -1, 395, 244, 823, 310, 458, 1127, + 226, 824, -1, 395, 244, 823, 310, 140, 1127, 226, + 824, -1, 395, 244, 823, 310, 30, 879, 226, 824, + -1, 395, 244, 823, 310, 181, 867, 226, 824, -1, + 395, 244, 823, 310, 246, 303, 699, 226, 824, -1, + 395, 244, 823, 310, 349, 867, 226, 824, -1, 395, + 244, 823, 310, 383, 867, 226, 824, -1, 173, 579, + -1, -1, 1250, -1, 299, -1, 167, 826, -1, 277, + 826, -1, 1036, -1, 827, 1036, -1, 285, 828, 1036, + -1, 346, 828, 1036, -1, 170, 828, 1036, -1, 247, + 828, 1036, -1, 24, 1251, 828, 1036, -1, 366, 1251, + 828, 1036, -1, 1251, 828, 1036, -1, 31, 828, 1036, + -1, 177, 828, 1036, -1, 177, 1251, 828, 1036, -1, + 177, 31, 828, 1036, -1, 51, 828, 1036, -1, 51, + 1251, 828, 1036, -1, 51, 31, 828, 1036, -1, 179, + -1, 203, -1, 827, -1, -1, 185, 831, 310, 836, + 448, 837, 839, 845, -1, 378, 831, 310, 836, 179, + 837, 845, 549, -1, 378, 185, 313, 173, 831, 310, + 836, 179, 837, 845, 549, -1, 832, -1, 31, -1, + 31, 347, -1, 31, 535, 659, 536, -1, 31, 347, + 535, 659, 536, -1, 833, -1, 832, 539, 833, -1, + 396, 658, -1, 362, 658, -1, 101, 658, -1, 33, + 433, -1, 1259, 658, -1, 835, -1, 834, 539, 835, + -1, 1259, -1, 835, 537, 1259, -1, 1241, -1, 435, + 1241, -1, 397, 1241, -1, 175, 115, 496, 1243, -1, + 175, 400, 1243, -1, 181, 866, -1, 349, 866, -1, + 383, 866, -1, 116, 1243, -1, 140, 814, -1, 245, + 1243, -1, 246, 303, 700, -1, 328, 834, -1, 390, + 1243, -1, 438, 1243, -1, 458, 814, -1, 31, 436, + 203, 390, 1243, -1, 31, 398, 203, 390, 1243, -1, + 31, 182, 203, 390, 1243, -1, 31, 350, 203, 390, + 1243, -1, 31, 384, 203, 390, 1243, -1, 838, -1, + 837, 539, 838, -1, 1253, -1, 188, 1253, -1, 492, + 185, 313, -1, -1, 185, 832, 448, 1254, 845, -1, + 185, 832, 448, 1254, 492, 842, 845, -1, 378, 832, + 179, 1254, 845, 549, -1, 378, 1259, 313, 173, 832, + 179, 1254, 845, 549, -1, 842, 539, 843, -1, 843, + -1, 1262, 844, -1, 313, -1, 455, -1, 165, -1, + 186, 61, 1253, -1, -1, 33, 122, 347, 847, 849, + -1, 847, 848, -1, -1, 203, 390, 1243, -1, 173, + 380, 1254, -1, 173, 472, 1254, -1, 185, 831, 310, + 850, 448, 837, 839, -1, 378, 831, 310, 850, 179, + 837, 549, -1, 378, 185, 313, 173, 831, 310, 850, + 179, 837, 549, -1, 436, -1, 182, -1, 384, -1, + 398, -1, 459, -1, 391, -1, 101, 852, 208, 548, + 546, 310, 1098, 853, 535, 854, 536, 857, 647, 601, + 678, 1109, -1, 101, 852, 208, 548, 197, 294, 159, + 1244, 310, 1098, 853, 535, 854, 536, 857, 647, 601, + 678, 1109, -1, 466, -1, -1, 473, 1244, -1, -1, + 856, -1, 854, 539, 856, -1, 859, 547, 860, 861, + -1, 859, 815, 600, 860, 861, -1, 1259, 855, -1, + 1156, 855, -1, 535, 1151, 536, 855, -1, 204, 535, + 858, 536, -1, -1, 856, -1, 858, 539, 856, -1, + 80, 815, -1, -1, 41, -1, 132, -1, -1, 515, + 170, -1, 515, 247, -1, -1, 101, 863, 181, 1247, + 868, 377, 873, 881, 887, -1, 101, 863, 181, 1247, + 868, 377, 435, 535, 893, 536, 881, 887, -1, 101, + 863, 181, 1247, 868, 881, 887, -1, 101, 863, 349, + 1247, 868, 881, 887, -1, 315, 370, -1, -1, 535, + 865, 536, -1, 535, 536, -1, 870, -1, 865, 539, + 870, -1, 867, -1, 866, 539, 867, -1, 1247, 864, + -1, 1266, -1, 1259, -1, 1259, 1213, -1, 535, 869, + 536, -1, 535, 536, -1, 875, -1, 869, 539, 875, + -1, 871, 872, 874, -1, 872, 871, 874, -1, 872, + 874, -1, 871, 874, -1, 874, -1, 203, -1, 319, + -1, 215, -1, 203, 319, -1, 481, -1, 1260, -1, + 874, -1, 1127, -1, 1260, 816, 530, 458, -1, 405, + 1260, 816, 530, 458, -1, 870, -1, 870, 122, 1151, + -1, 870, 525, 1151, -1, 870, -1, 535, 528, 536, + -1, 535, 878, 536, -1, 535, 316, 61, 878, 536, + -1, 535, 878, 316, 61, 878, 536, -1, 876, -1, + 878, 539, 876, -1, 1247, 877, -1, 879, -1, 880, + 539, 879, -1, 882, -1, -1, 884, -1, 882, 884, + -1, 64, 310, 299, 216, -1, 377, 299, 310, 299, + 216, -1, 425, -1, 200, -1, 416, -1, 487, -1, + 163, 395, 126, -1, 163, 395, 225, -1, 395, 126, + -1, 395, 225, -1, 250, -1, 294, 250, -1, 100, + 699, -1, 386, 699, -1, 430, 815, -1, 584, -1, + 327, 1259, -1, 40, 885, -1, 245, 579, -1, 451, + 890, -1, 491, -1, 883, -1, 1250, -1, 1250, 539, + 1250, -1, 375, 1151, -1, 886, -1, 53, 46, 888, + 149, -1, -1, 888, 889, 538, -1, -1, 545, -1, + 886, -1, 173, 458, 1127, -1, 890, 539, 173, 458, + 1127, -1, 492, 783, -1, -1, 872, 874, -1, 892, + -1, 893, 539, 892, -1, 33, 181, 867, 895, 896, + -1, 33, 349, 867, 895, 896, -1, 33, 383, 867, + 895, 896, -1, 883, -1, 895, 883, -1, 374, -1, + -1, 142, 181, 866, 549, -1, 142, 181, 197, 159, + 866, 549, -1, 142, 349, 866, 549, -1, 142, 349, + 197, 159, 866, 549, -1, 142, 383, 866, 549, -1, + 142, 383, 197, 159, 866, 549, -1, 142, 30, 880, + 549, -1, 142, 30, 197, 159, 880, 549, -1, 142, + 312, 902, 549, -1, 142, 312, 197, 159, 902, 549, + -1, 535, 1127, 536, -1, 535, 1127, 539, 1127, 536, + -1, 535, 291, 539, 1127, 536, -1, 535, 1127, 539, + 291, 536, -1, 1185, -1, 1259, 537, 901, -1, 903, + -1, 902, 539, 903, -1, 901, 900, -1, 138, 905, + -1, 906, -1, 905, 906, -1, 1250, -1, 245, 579, + -1, 101, 68, 535, 1127, 40, 1127, 536, 492, 181, + 867, 908, -1, 101, 68, 535, 1127, 40, 1127, 536, + 494, 181, 908, -1, 101, 68, 535, 1127, 40, 1127, + 536, 492, 215, 908, -1, 40, 201, -1, 40, 44, + -1, -1, 142, 68, 910, 535, 1127, 40, 1127, 536, + 549, -1, 197, 159, -1, -1, 101, 863, 451, 173, + 1127, 245, 1244, 535, 912, 536, -1, 179, 415, 492, + 181, 867, 539, 448, 415, 492, 181, 867, -1, 448, + 415, 492, 181, 867, 539, 179, 415, 492, 181, 867, + -1, 179, 415, 492, 181, 867, -1, 448, 415, 492, + 181, 867, -1, 142, 451, 910, 173, 1127, 245, 1244, + 549, -1, 365, 917, 915, 548, 1242, -1, 365, 917, + 390, 548, 1244, -1, 365, 917, 916, 548, 546, -1, + 208, -1, 435, -1, 433, -1, 116, -1, 535, 983, + 536, -1, -1, 33, 438, 1244, 403, 600, -1, 33, + 438, 1244, 372, 600, -1, 33, 30, 879, 368, 448, + 1244, -1, 33, 81, 815, 368, 448, 1244, -1, 33, + 98, 815, 368, 448, 1244, -1, 33, 116, 1244, 368, + 448, 1244, -1, 33, 140, 815, 368, 448, 1244, -1, + 33, 140, 815, 368, 94, 1244, 448, 1244, -1, 33, + 175, 115, 496, 1244, 368, 448, 1244, -1, 33, 181, + 867, 368, 448, 1244, -1, 33, 188, 1252, 368, 448, + 1252, -1, 33, 707, 245, 1244, 368, 448, 1244, -1, + 33, 312, 76, 815, 473, 1244, 368, 448, 1244, -1, + 33, 312, 166, 815, 473, 1244, 368, 448, 1244, -1, + 33, 338, 1244, 310, 1242, 368, 448, 1244, -1, 33, + 338, 197, 159, 1244, 310, 1242, 368, 448, 1244, -1, + 33, 349, 867, 368, 448, 1244, -1, 33, 352, 1244, + 368, 448, 1244, -1, 33, 383, 867, 368, 448, 1244, + -1, 33, 390, 1244, 368, 448, 1244, -1, 33, 400, + 1244, 368, 448, 1244, -1, 33, 428, 1244, 368, 448, + 1244, -1, 33, 435, 1098, 368, 448, 1244, -1, 33, + 435, 197, 159, 1098, 368, 448, 1244, -1, 33, 397, + 1242, 368, 448, 1244, -1, 33, 397, 197, 159, 1242, + 368, 448, 1244, -1, 33, 485, 1242, 368, 448, 1244, + -1, 33, 485, 197, 159, 1242, 368, 448, 1244, -1, + 33, 268, 485, 1242, 368, 448, 1244, -1, 33, 268, + 485, 197, 159, 1242, 368, 448, 1244, -1, 33, 208, + 1242, 368, 448, 1244, -1, 33, 208, 197, 159, 1242, + 368, 448, 1244, -1, 33, 175, 435, 1098, 368, 448, + 1244, -1, 33, 175, 435, 197, 159, 1098, 368, 448, + 1244, -1, 33, 435, 1098, 368, 920, 1244, 448, 1244, + -1, 33, 435, 197, 159, 1098, 368, 920, 1244, 448, + 1244, -1, 33, 485, 1242, 368, 920, 1244, 448, 1244, + -1, 33, 485, 197, 159, 1242, 368, 920, 1244, 448, + 1244, -1, 33, 268, 485, 1242, 368, 920, 1244, 448, + 1244, -1, 33, 268, 485, 197, 159, 1242, 368, 920, + 1244, 448, 1244, -1, 33, 435, 1098, 368, 94, 1244, + 448, 1244, -1, 33, 435, 197, 159, 1098, 368, 94, + 1244, 448, 1244, -1, 33, 175, 435, 1098, 368, 920, + 1244, 448, 1244, -1, 33, 175, 435, 197, 159, 1098, + 368, 920, 1244, 448, 1244, -1, 33, 387, 1244, 310, + 1242, 368, 448, 1244, -1, 33, 453, 1244, 310, 1242, + 368, 448, 1244, -1, 33, 153, 453, 1244, 368, 448, + 1244, -1, 33, 380, 1252, 368, 448, 1252, -1, 33, + 472, 1252, 368, 448, 1252, -1, 33, 438, 1244, 368, + 448, 1244, -1, 33, 420, 815, 368, 448, 1244, -1, + 33, 443, 393, 329, 815, 368, 448, 1244, -1, 33, + 443, 393, 134, 815, 368, 448, 1244, -1, 33, 443, + 393, 441, 815, 368, 448, 1244, -1, 33, 443, 393, + 91, 815, 368, 448, 1244, -1, 33, 458, 815, 368, + 448, 1244, -1, 33, 458, 815, 368, 49, 1244, 448, + 1244, 549, -1, 82, -1, -1, 403, 115, -1, -1, + 33, 181, 867, 923, 130, 310, 162, 1244, -1, 33, + 349, 867, 923, 130, 310, 162, 1244, -1, 33, 383, + 867, 923, 130, 310, 162, 1244, -1, 33, 453, 1244, + 310, 1242, 923, 130, 310, 162, 1244, -1, 33, 268, + 485, 1242, 923, 130, 310, 162, 1244, -1, 33, 208, + 1242, 923, 130, 310, 162, 1244, -1, 290, -1, -1, + 33, 30, 879, 403, 390, 1244, -1, 33, 81, 815, + 403, 390, 1244, -1, 33, 98, 815, 403, 390, 1244, + -1, 33, 140, 815, 403, 390, 1244, -1, 33, 162, + 1244, 403, 390, 1244, -1, 33, 181, 867, 403, 390, + 1244, -1, 33, 312, 903, 403, 390, 1244, -1, 33, + 312, 76, 815, 473, 1244, 403, 390, 1244, -1, 33, + 312, 166, 815, 473, 1244, 403, 390, 1244, -1, 33, + 349, 867, 403, 390, 1244, -1, 33, 383, 867, 403, + 390, 1244, -1, 33, 435, 1098, 403, 390, 1244, -1, + 33, 435, 197, 159, 1098, 403, 390, 1244, -1, 33, + 420, 815, 403, 390, 1244, -1, 33, 443, 393, 329, + 815, 403, 390, 1244, -1, 33, 443, 393, 134, 815, + 403, 390, 1244, -1, 33, 443, 393, 441, 815, 403, + 390, 1244, -1, 33, 443, 393, 91, 815, 403, 390, + 1244, -1, 33, 397, 1242, 403, 390, 1244, -1, 33, + 397, 197, 159, 1242, 403, 390, 1244, -1, 33, 485, + 1242, 403, 390, 1244, -1, 33, 485, 197, 159, 1242, + 403, 390, 1244, -1, 33, 268, 485, 1242, 403, 390, + 1244, -1, 33, 268, 485, 197, 159, 1242, 403, 390, + 1244, -1, 33, 175, 435, 1098, 403, 390, 1244, -1, + 33, 175, 435, 197, 159, 1098, 403, 390, 1244, -1, + 33, 458, 815, 403, 390, 1244, -1, 33, 312, 903, + 403, 535, 926, 536, -1, 927, -1, 926, 539, 927, + -1, 1262, 525, 291, -1, 1262, 525, 928, -1, 1262, + -1, 874, -1, 1267, -1, 1188, -1, 699, -1, 1250, + -1, 33, 458, 815, 403, 535, 926, 536, -1, 33, + 30, 879, 326, 448, 1253, -1, 33, 81, 815, 326, + 448, 1253, -1, 33, 98, 815, 326, 448, 1253, -1, + 33, 116, 1244, 326, 448, 1253, -1, 33, 140, 815, + 326, 448, 1253, -1, 33, 181, 867, 326, 448, 1253, + -1, 33, 707, 245, 1244, 326, 448, 1253, -1, 33, + 246, 303, 699, 326, 448, 1253, -1, 33, 312, 903, + 326, 448, 1253, -1, 33, 312, 76, 815, 473, 1244, + 326, 448, 1253, -1, 33, 312, 166, 815, 473, 1244, + 326, 448, 1253, -1, 33, 349, 867, 326, 448, 1253, + -1, 33, 383, 867, 326, 448, 1253, -1, 33, 390, + 1244, 326, 448, 1253, -1, 33, 458, 815, 326, 448, + 1253, -1, 33, 438, 1244, 326, 448, 1253, -1, 33, + 420, 815, 326, 448, 1253, -1, 33, 443, 393, 134, + 815, 326, 448, 1253, -1, 33, 443, 393, 91, 815, + 326, 448, 1253, -1, 33, 175, 115, 496, 1244, 326, + 448, 1253, -1, 33, 400, 1244, 326, 448, 1253, -1, + 33, 153, 453, 1244, 326, 448, 1253, -1, 33, 352, + 1244, 326, 448, 1253, -1, 33, 428, 1244, 326, 448, + 1253, -1, 101, 352, 1244, 891, -1, 101, 352, 1244, + 173, 31, 436, 891, -1, 101, 352, 1244, 173, 933, + 891, -1, 435, 1098, 658, 665, -1, 436, 203, 390, + 1259, -1, 436, 203, 390, 109, -1, 1259, 658, 665, + -1, 1259, 1213, 658, 665, -1, 1099, 658, 665, -1, + 109, -1, 932, -1, 933, 539, 932, -1, 33, 352, + 1244, 403, 783, -1, 33, 352, 1244, 27, 933, -1, + 33, 352, 1244, 403, 933, -1, 33, 352, 1244, 142, + 933, -1, 101, 428, 1244, 93, 1250, 352, 1243, 891, + -1, 33, 428, 1244, 403, 783, -1, 33, 428, 1244, + 93, 1250, -1, 33, 428, 1244, 364, 352, 891, -1, + 33, 428, 1244, 27, 352, 1243, 891, -1, 33, 428, + 1244, 142, 352, 1243, 891, -1, 33, 428, 1244, 403, + 352, 1243, 891, -1, 33, 428, 1244, 146, -1, 33, + 428, 1244, 135, -1, 33, 428, 1244, 410, 783, -1, + 142, 428, 1244, 549, -1, 142, 428, 197, 159, 1244, + 549, -1, 101, 863, 387, 1244, 40, 310, 943, 448, + 1242, 1109, 138, 944, 939, -1, 295, -1, 941, -1, + 535, 940, 536, -1, 940, 538, 942, -1, 942, -1, + 1039, -1, 1004, -1, 1020, -1, 1013, -1, 945, -1, + 941, -1, -1, 396, -1, 471, -1, 127, -1, 218, + -1, 219, -1, 32, -1, -1, 296, 1259, 946, -1, + 539, 1250, -1, -1, 256, 1259, -1, 468, 1259, -1, + 468, 528, -1, 22, 951, 955, -1, 418, 450, 954, + -1, 86, 951, 955, -1, 381, 951, 955, -1, 388, + 1259, -1, 367, 388, 1259, -1, 367, 1259, -1, 381, + 951, 448, 388, 1259, -1, 381, 951, 448, 1259, -1, + 343, 450, 1250, -1, 86, 344, 1250, -1, 381, 344, + 1250, -1, 53, 951, 954, -1, 149, 951, 955, -1, + 495, -1, 450, -1, -1, 228, 253, 575, -1, 356, + 311, -1, 356, 497, -1, 124, -1, 294, 124, -1, + 952, -1, 953, 539, 952, -1, 953, 952, -1, 953, + -1, -1, 37, 70, -1, 37, 290, 70, -1, -1, + 101, 631, 485, 1242, 658, 601, 40, 1039, 957, -1, + 101, 315, 370, 631, 485, 1242, 658, 601, 40, 1039, + 957, -1, 101, 631, 360, 485, 1242, 535, 659, 536, + 601, 40, 1039, 957, -1, 101, 315, 370, 631, 360, + 485, 1242, 535, 659, 536, 601, 40, 1039, 957, -1, + 492, 74, 313, -1, 492, 66, 74, 313, -1, 492, + 258, 74, 313, -1, -1, 257, 1246, -1, 101, 116, + 1244, 552, 960, -1, 961, -1, -1, 962, -1, 961, + 962, -1, 963, 964, 699, -1, 963, 964, 576, -1, + 963, 964, 122, -1, 3, -1, 93, 255, -1, 147, + -1, 261, -1, 326, -1, 438, -1, 441, -1, 525, + -1, -1, 33, 116, 1244, 492, 960, -1, 33, 116, + 1244, 960, -1, 33, 116, 1244, 403, 438, 1244, -1, + 33, 116, 1244, 364, 81, 484, -1, 33, 116, 1244, + 583, -1, 142, 116, 1244, -1, 142, 116, 197, 159, + 1244, -1, 142, 116, 1244, 552, 535, 968, 536, -1, + 142, 116, 197, 159, 1244, 552, 535, 968, 536, -1, + 969, -1, 968, 539, 969, -1, 174, -1, 33, 81, + 815, 364, 484, -1, 33, 433, 403, 570, -1, 33, + 433, 372, 582, -1, 101, 140, 815, 974, 1127, 644, + -1, 33, 140, 815, 596, -1, 33, 140, 815, 142, + 294, 299, -1, 33, 140, 815, 403, 294, 299, -1, + 33, 140, 815, 27, 655, -1, 33, 140, 815, 142, + 94, 1244, 549, -1, 33, 140, 815, 142, 94, 197, + 159, 1244, 549, -1, 33, 140, 815, 476, 94, 1244, + -1, 40, -1, -1, 33, 443, 393, 134, 815, 783, + -1, 33, 443, 393, 91, 815, 27, 265, 173, 1243, + 977, 814, -1, 33, 443, 393, 91, 815, 33, 265, + 173, 1243, 977, 814, -1, 33, 443, 393, 91, 815, + 33, 265, 370, 815, 977, 815, -1, 33, 443, 393, + 91, 815, 33, 265, 173, 1243, 370, 815, 977, 815, + -1, 33, 443, 393, 91, 815, 142, 265, 173, 1243, + -1, 33, 443, 393, 91, 815, 142, 265, 197, 159, + 173, 1243, -1, 492, -1, 516, -1, 101, 797, 98, + 815, 173, 1250, 448, 1250, 179, 815, -1, 78, 535, + 983, 536, 1242, 980, -1, 78, 535, 983, 536, -1, + 78, 989, 1242, 980, -1, 78, 989, -1, 78, 989, + 1244, 310, 1242, -1, 473, 1244, -1, -1, 474, 990, + 991, 989, 988, 995, -1, 474, 535, 983, 536, 995, + -1, 984, 989, 995, -1, 984, 535, 983, 536, 995, + -1, 985, -1, 983, 539, 985, -1, 36, -1, 35, + -1, 986, 987, -1, 1261, -1, 984, -1, 513, -1, + 576, -1, 699, -1, -1, 984, -1, -1, 483, -1, + -1, 180, -1, -1, 178, -1, -1, 535, 1243, 536, + -1, -1, 1242, 992, -1, 993, -1, 994, 539, 993, + -1, 994, -1, -1, 160, 997, -1, 160, 984, 989, + 997, -1, 160, 483, 997, -1, 160, 535, 983, 536, + 997, -1, 1039, -1, 1004, -1, 1020, -1, 1013, -1, + 1025, -1, 1035, -1, 685, -1, 688, -1, 691, -1, + 1001, -1, 343, 1244, 999, 40, 1000, -1, 535, 1194, + 536, -1, -1, 1039, -1, 1004, -1, 1020, -1, 1013, + -1, 1025, -1, 158, 1244, 1002, -1, 101, 631, 435, + 686, 40, 158, 1244, 1002, 687, -1, 101, 631, 435, + 197, 294, 159, 686, 40, 158, 1244, 1002, 687, -1, + 535, 1190, 536, -1, -1, 118, 1244, -1, 118, 343, + 1244, -1, 118, 31, -1, 118, 343, 31, -1, 1050, + 218, 224, 1005, 1006, 1010, 1012, -1, 1242, -1, 1242, + 40, 1259, -1, 1039, -1, 324, 1007, 478, 1039, -1, + 535, 1008, 536, 1039, -1, 535, 1008, 536, 324, 1007, + 478, 1039, -1, 122, 479, -1, 472, -1, 433, -1, + 1009, -1, 1008, 539, 1009, -1, 1259, 1214, -1, 310, + 92, 1011, 138, 471, 403, 1021, 1109, -1, 310, 92, + 1011, 138, 295, -1, -1, 535, 854, 536, 1109, -1, + 310, 94, 1244, -1, -1, 376, 1239, -1, -1, 1050, + 127, 179, 1101, 1014, 1110, 1012, -1, 473, 1088, -1, + -1, 262, 1053, 1100, 1016, 1018, -1, 203, 1017, 275, + -1, -1, 25, 406, -1, 385, 406, -1, 385, 157, + -1, 406, 471, 157, -1, 406, -1, 406, 385, 157, + -1, 157, -1, 25, 157, -1, 298, -1, -1, 298, + -1, 410, 263, -1, -1, 1050, 471, 1101, 403, 1021, + 1087, 1110, 1012, -1, 1022, -1, 1021, 539, 1022, -1, + 1023, 525, 1151, -1, 535, 1024, 536, 525, 1151, -1, + 1259, 1214, -1, 1023, -1, 1024, 539, 1023, -1, 1050, + 270, 224, 1101, 473, 1089, 310, 1151, 1026, 1012, -1, + 1027, -1, 1026, 1027, -1, 1028, 1030, 444, 1031, -1, + 1028, 1030, 444, 1032, -1, 1029, 1030, 444, 1033, -1, + 1028, 1030, 444, 138, 295, -1, 1029, 1030, 444, 138, + 295, -1, 488, 267, -1, 488, 294, 267, 61, 414, + -1, 488, 294, 267, -1, 488, 294, 267, 61, 439, + -1, 37, 1151, -1, -1, 471, 403, 1021, -1, 127, + -1, 218, 1034, -1, 218, 324, 1007, 478, 1034, -1, + 218, 535, 1008, 536, 1034, -1, 218, 535, 1008, 536, + 324, 1007, 478, 1034, -1, 218, 122, 479, -1, 479, + 535, 1190, 536, -1, 121, 1036, 1037, 113, 1038, 173, + 1039, -1, 1244, -1, -1, 1037, 290, 392, -1, 1037, + 392, -1, 1037, 56, -1, 1037, 42, -1, 1037, 217, + -1, -1, 492, 194, -1, 494, 194, -1, 1041, -1, + 1040, -1, 535, 1041, 536, -1, 535, 1040, 536, -1, + 1043, -1, 1042, 1059, -1, 1042, 1058, 1080, 1063, -1, + 1042, 1058, 1062, 1081, -1, 1044, 1042, -1, 1044, 1042, + 1059, -1, 1044, 1042, 1058, 1080, 1063, -1, 1044, 1042, + 1058, 1062, 1081, -1, 1043, -1, 1040, -1, 396, 1056, + 1238, 1051, 1087, 1109, 1072, 1079, 1170, -1, 396, 1055, + 1239, 1051, 1087, 1109, 1072, 1079, 1170, -1, 1086, -1, + 435, 1098, -1, 1042, 465, 1054, 1042, -1, 1042, 222, + 1054, 1042, -1, 1042, 154, 1054, 1042, -1, 492, 1045, + -1, 516, 1045, -1, 492, 360, 1045, -1, 1046, -1, + 1045, 539, 1046, -1, 1244, 992, 40, 1047, 535, 1000, + 536, 1048, 1049, -1, 268, -1, 294, 268, -1, -1, + 393, 131, 170, 61, 659, 403, 1259, -1, 393, 60, + 170, 61, 659, 403, 1259, -1, -1, 114, 659, 403, + 1259, 448, 1248, 122, 1248, 473, 1259, -1, 114, 659, + 403, 1259, 473, 1259, -1, -1, 1044, -1, -1, 224, + 1052, -1, -1, 442, 1053, 1242, -1, 440, 1053, 1242, + -1, 258, 442, 1053, 1242, -1, 258, 440, 1053, 1242, + -1, 184, 442, 1053, 1242, -1, 184, 440, 1053, 1242, + -1, 469, 1053, 1242, -1, 435, 1242, -1, 1242, -1, + 435, -1, -1, 31, -1, 137, -1, -1, 137, -1, + 137, 310, 535, 1190, 536, -1, 31, -1, -1, 1055, + -1, 1056, -1, 1059, -1, -1, 316, 61, 1060, -1, + 1061, -1, 1060, 539, 1061, -1, 1151, 473, 1188, 861, + -1, 1151, 860, 861, -1, 1064, 1065, -1, 1065, 1064, + -1, 1064, -1, 1065, -1, 1062, -1, -1, 255, 1066, + -1, 255, 1066, 539, 1067, -1, 167, 1071, 1068, 1070, + 311, -1, 167, 1071, 1068, 1070, 492, 445, -1, 167, + 1071, 1070, 311, -1, 167, 1071, 1070, 492, 445, -1, + 306, 1067, -1, 306, 1068, 1070, -1, 1151, -1, 31, + -1, 1151, -1, 1153, -1, 526, 1069, -1, 527, 1069, + -1, 1249, -1, 5, -1, 385, -1, 386, -1, 170, + -1, 285, -1, 188, 61, 1054, 1073, -1, -1, 1074, + -1, 1073, 539, 1074, -1, 1151, -1, 1075, -1, 1077, + -1, 1076, -1, 1078, -1, 535, 536, -1, 382, 535, + 1190, 536, -1, 104, 535, 1190, 536, -1, 189, 404, + 535, 1073, 536, -1, 192, 1151, -1, -1, 1082, -1, + 173, 356, 311, -1, 1080, -1, -1, 1083, -1, 1082, + 1083, -1, 1084, 1085, 1019, -1, 173, 471, -1, 173, + 290, 242, 471, -1, 173, 406, -1, 173, 242, 406, + -1, 304, 1241, -1, -1, 479, 535, 1190, 536, -1, + 1086, 539, 535, 1190, 536, -1, 179, 1088, -1, -1, + 1089, -1, 1088, 539, 1089, -1, 1098, 1092, -1, 1098, + 1092, 1102, -1, 1104, 1094, -1, 248, 1104, 1094, -1, + 1114, 1092, -1, 248, 1114, 1092, -1, 1040, 1092, -1, + 248, 1040, 1092, -1, 1090, -1, 535, 1090, 536, 1091, + -1, 1121, 1092, -1, 248, 1121, 1092, -1, 535, 1090, + 536, -1, 1089, 102, 229, 1089, -1, 1089, 1095, 229, + 1089, 1097, -1, 1089, 229, 1089, 1097, -1, 1089, 281, + 1095, 229, 1089, -1, 1089, 281, 229, 1089, -1, 40, + 1259, 535, 1243, 536, -1, 40, 1259, -1, 1259, 535, + 1243, 536, -1, 1259, -1, 1091, -1, -1, 40, 1259, + -1, -1, 1091, -1, 40, 535, 1112, 536, -1, 40, + 1259, 535, 1112, 536, -1, 1259, 535, 1112, 536, -1, + -1, 180, 1096, -1, 252, 1096, -1, 379, 1096, -1, + 214, -1, 320, -1, -1, 473, 535, 1243, 536, 1093, + -1, 310, 1151, -1, 1242, -1, 1099, -1, 1242, 528, + -1, 311, 1242, -1, 311, 535, 1242, 536, -1, 1098, + -1, 1100, 539, 1098, -1, 1098, -1, 1098, 1259, -1, + 1098, 40, 1259, -1, 437, 1247, 535, 1190, 536, 1103, + -1, 369, 535, 1151, 536, -1, -1, 1156, 1108, -1, + 386, 179, 535, 1106, 536, 1108, -1, 1156, 1107, -1, + 1105, -1, 1106, 539, 1105, -1, 40, 535, 1112, 536, + -1, -1, 516, 317, -1, -1, 489, 1151, -1, -1, + 489, 1151, -1, 489, 105, 304, 1036, -1, -1, 1112, + -1, -1, 1113, -1, 1112, 539, 1113, -1, 1259, 1127, + 597, -1, 509, 535, 1153, 1166, 83, 1115, 536, -1, + 509, 535, 504, 535, 1119, 536, 539, 1153, 1166, 83, + 1115, 536, -1, 1116, -1, 1115, 539, 1116, -1, 1259, + 1127, -1, 1259, 1127, 1117, -1, 1259, 173, 317, -1, + 1118, -1, 1117, 1118, -1, 3, 1152, -1, 122, 1152, + -1, 294, 299, -1, 299, -1, 334, 1152, -1, 1120, + -1, 1119, 539, 1120, -1, 1152, 40, 1262, -1, 122, + 1152, -1, 239, 535, 1224, 539, 1151, 1122, 1216, 83, + 535, 1123, 536, 1223, 536, -1, 40, 1244, -1, -1, + 1124, -1, 1123, 539, 1124, -1, 1259, 173, 317, -1, + 1259, 1127, 1126, 1219, 1227, 1222, -1, 1259, 1127, 1225, + 1126, 1219, 1227, 1222, -1, 1259, 1127, 159, 1126, 1223, + -1, 283, 1125, 1250, 83, 535, 1123, 536, -1, 283, + 1125, 1250, 40, 1244, 83, 535, 1123, 536, -1, 334, + -1, -1, 334, 1250, -1, -1, 1129, 1128, -1, 405, + 1129, 1128, -1, 1129, 39, 533, 1249, 534, -1, 405, + 1129, 39, 533, 1249, 534, -1, 1129, 39, -1, 405, + 1129, 39, -1, 1128, 533, 534, -1, 1128, 533, 1249, + 534, -1, -1, 1131, -1, 1133, -1, 1135, -1, 1139, + -1, 1145, -1, 1146, 1148, -1, 1146, 535, 1249, 536, + -1, 1150, -1, 1133, -1, 1136, -1, 1140, -1, 1145, + -1, 1150, -1, 1260, 1132, -1, 1260, 816, 1132, -1, + 535, 1190, 536, -1, -1, 220, -1, 221, -1, 411, + -1, 55, -1, 357, -1, 171, 1134, -1, 141, 341, + -1, 120, 1132, -1, 119, 1132, -1, 302, 1132, -1, + 58, -1, 535, 1249, 536, -1, -1, 1137, -1, 1138, + -1, 1137, -1, 1138, -1, 57, 1144, 535, 1190, 536, + -1, 57, 1144, -1, 1141, -1, 1142, -1, 1141, -1, + 1142, -1, 1143, 535, 1249, 536, -1, 1143, -1, 72, + 1144, -1, 71, 1144, -1, 480, -1, 280, 72, 1144, + -1, 280, 71, 1144, -1, 282, 1144, -1, 482, -1, + -1, 447, 535, 1249, 536, 1147, -1, 447, 1147, -1, + 446, 535, 1249, 536, 1147, -1, 446, 1147, -1, 223, + -1, 516, 446, 512, -1, 517, 446, 512, -1, -1, + 510, -1, 276, -1, 117, -1, 195, -1, 273, -1, + 1149, -1, 510, 448, 276, -1, 117, 448, 195, -1, + 117, 448, 273, -1, 117, 448, 1149, -1, 195, 448, + 273, -1, 195, 448, 1149, -1, 273, 448, 1149, -1, + -1, 394, -1, 394, 535, 1249, 536, -1, 230, -1, + 1153, -1, 1151, 13, 1127, -1, 1151, 80, 815, -1, + 1151, 47, 446, 512, 1151, -1, 1151, 47, 258, -1, + 526, 1151, -1, 527, 1151, -1, 1151, 526, 1151, -1, + 1151, 527, 1151, -1, 1151, 528, 1151, -1, 1151, 529, + 1151, -1, 1151, 530, 1151, -1, 1151, 531, 1151, -1, + 1151, 523, 1151, -1, 1151, 524, 1151, -1, 1151, 525, + 1151, -1, 1151, 17, 1151, -1, 1151, 18, 1151, -1, + 1151, 19, 1151, -1, 1151, 1187, 1151, -1, 1187, 1151, + -1, 1151, 37, 1151, -1, 1151, 315, 1151, -1, 294, + 1151, -1, 514, 1151, -1, 1151, 254, 1151, -1, 1151, + 254, 1151, 152, 1151, -1, 1151, 514, 254, 1151, -1, + 1151, 514, 254, 1151, 152, 1151, -1, 1151, 198, 1151, + -1, 1151, 198, 1151, 152, 1151, -1, 1151, 514, 198, + 1151, -1, 1151, 514, 198, 1151, 152, 1151, -1, 1151, + 408, 448, 1151, -1, 1151, 408, 448, 1151, 152, 1151, + -1, 1151, 514, 408, 448, 1151, -1, 1151, 514, 408, + 448, 1151, 152, 1151, -1, 1151, 226, 299, -1, 1151, + 227, -1, 1151, 226, 294, 299, -1, 1151, 297, -1, + 1181, 322, 1181, -1, 1151, 226, 455, -1, 1151, 226, + 294, 455, -1, 1151, 226, 165, -1, 1151, 226, 294, + 165, -1, 1151, 226, 467, -1, 1151, 226, 294, 467, + -1, 1151, 226, 137, 179, 1151, -1, 1151, 226, 294, + 137, 179, 1151, -1, 1151, 54, 1215, 1152, 37, 1151, + -1, 1151, 514, 54, 1215, 1152, 37, 1151, -1, 1151, + 54, 431, 1152, 37, 1151, -1, 1151, 514, 54, 431, + 1152, 37, 1151, -1, 1151, 203, 1204, -1, 1151, 514, + 203, 1204, -1, 1151, 1189, 1184, 1040, -1, 1151, 1189, + 1184, 535, 1151, 536, -1, 466, 647, 1040, -1, 1151, + 226, 139, -1, 1151, 226, 294, 139, -1, 1151, 226, + 293, -1, 1151, 226, 1199, 293, -1, 1151, 226, 294, + 293, -1, 1151, 226, 294, 1199, 293, -1, 1151, 226, + 1229, 1230, -1, 1151, 226, 294, 1229, 1230, -1, 122, + -1, 1153, -1, 1152, 13, 1127, -1, 526, 1152, -1, + 527, 1152, -1, 1152, 526, 1152, -1, 1152, 527, 1152, + -1, 1152, 528, 1152, -1, 1152, 529, 1152, -1, 1152, + 530, 1152, -1, 1152, 531, 1152, -1, 1152, 523, 1152, + -1, 1152, 524, 1152, -1, 1152, 525, 1152, -1, 1152, + 17, 1152, -1, 1152, 18, 1152, -1, 1152, 19, 1152, + -1, 1152, 1187, 1152, -1, 1187, 1152, -1, 1152, 226, + 137, 179, 1152, -1, 1152, 226, 294, 137, 179, 1152, + -1, 1152, 226, 139, -1, 1152, 226, 294, 139, -1, + 1210, -1, 1248, -1, 12, 1214, -1, 535, 1151, 536, + 1214, -1, 1205, -1, 1155, -1, 1040, -1, 1040, 1213, + -1, 159, 1040, -1, 39, 1040, -1, 39, 1195, -1, + 1182, -1, 1183, -1, 189, 535, 1190, 536, -1, 1247, + 535, 536, -1, 1247, 535, 1191, 1058, 536, -1, 1247, + 535, 481, 1192, 1058, 536, -1, 1247, 535, 1191, 539, + 481, 1192, 1058, 536, -1, 1247, 535, 31, 1191, 1058, + 536, -1, 1247, 535, 137, 1191, 1058, 536, -1, 1247, + 535, 528, 536, -1, 1154, 1168, 1169, 1173, -1, 1236, + 1169, 1173, -1, 1157, -1, 1154, -1, 1157, -1, 1236, + -1, 81, 173, 535, 1151, 536, -1, 107, -1, 110, + -1, 110, 535, 1249, 536, -1, 111, -1, 111, 535, + 1249, 536, -1, 259, -1, 259, 535, 1249, 536, -1, + 260, -1, 260, 535, 1249, 536, -1, 108, -1, 112, + -1, 402, -1, 434, -1, 472, -1, 106, -1, 109, + -1, 68, 535, 1151, 40, 1127, 536, -1, 164, 535, + 1197, 536, -1, 292, 535, 1151, 536, -1, 292, 535, + 1151, 539, 1199, 536, -1, 323, 535, 1200, 536, -1, + 323, 535, 1193, 536, -1, 339, 535, 1201, 536, -1, + 429, 535, 1202, 536, -1, 429, 535, 1193, 536, -1, + 452, 535, 1151, 40, 1127, 536, -1, 454, 535, 59, + 1203, 536, -1, 454, 535, 249, 1203, 536, -1, 454, + 535, 449, 1203, 536, -1, 454, 535, 1203, 536, -1, + 300, 535, 1151, 539, 1151, 536, -1, 79, 535, 1190, + 536, -1, 187, 535, 1190, 536, -1, 251, 535, 1190, + 536, -1, 500, 535, 1190, 536, -1, 501, 535, 278, + 1262, 536, -1, 501, 535, 278, 1262, 539, 1160, 536, + -1, 501, 535, 278, 1262, 539, 1190, 536, -1, 501, + 535, 278, 1262, 539, 1160, 539, 1190, 536, -1, 502, + 535, 1153, 1166, 536, -1, 503, 535, 1161, 536, -1, + 505, 535, 1163, 1151, 1165, 536, -1, 506, 535, 278, + 1262, 536, -1, 506, 535, 278, 1262, 539, 1151, 536, + -1, 507, 535, 1151, 539, 1158, 1159, 536, -1, 508, + 535, 1163, 1151, 40, 1129, 1164, 536, -1, 234, 535, + 1191, 536, -1, 234, 535, 1231, 1233, 1230, 1228, 536, + -1, 234, 535, 1228, 536, -1, 231, 535, 1235, 1234, + 1228, 536, -1, 231, 535, 1041, 1226, 1228, 536, -1, + 231, 535, 1228, 536, -1, 230, 535, 1224, 1230, 536, + -1, 237, 535, 1151, 536, -1, 238, 535, 1224, 1228, + 536, -1, 271, 535, 536, -1, 236, 535, 1224, 539, + 1151, 1216, 1228, 1219, 1227, 1222, 536, -1, 233, 535, + 1224, 539, 1151, 1216, 1223, 536, -1, 240, 535, 1224, + 539, 1151, 1216, 1228, 1222, 536, -1, 484, 1151, -1, + 484, 290, 478, -1, 539, 417, 511, -1, 539, 417, + 290, -1, 539, 417, 290, 478, -1, -1, 499, 535, + 1161, 536, -1, 1162, -1, 1161, 539, 1162, -1, 1151, + 40, 1262, -1, 1151, -1, 139, -1, 96, -1, 207, + -1, 290, 207, -1, -1, 342, 490, -1, 427, 490, + -1, -1, 332, 1153, -1, 332, 1153, 1167, -1, 332, + 1167, 1153, -1, 332, 1167, 1153, 1167, -1, 61, 361, + -1, 61, 478, -1, 493, 188, 535, 1059, 536, -1, + -1, 168, 535, 489, 1151, 536, -1, -1, 491, 1171, + -1, -1, 1172, -1, 1171, 539, 1172, -1, 1259, 40, + 1174, -1, 321, 1174, -1, 321, 1259, -1, -1, 535, + 1175, 1176, 1058, 1177, 536, -1, 1259, -1, -1, 331, + 61, 1190, -1, -1, 355, 1178, 1180, -1, 386, 1178, + 1180, -1, 190, 1178, 1180, -1, -1, 1179, -1, 54, + 1179, 37, 1179, -1, 461, 340, -1, 461, 172, -1, + 105, 385, -1, 1151, 340, -1, 1151, 172, -1, 155, + 105, 385, -1, 155, 188, -1, 155, 445, -1, 155, + 290, 318, -1, -1, 385, 535, 1190, 536, -1, 385, + 535, 536, -1, 535, 1190, 539, 1151, 536, -1, 385, + 535, 1190, 536, -1, 385, 535, 536, -1, 535, 1190, + 539, 1151, 536, -1, 38, -1, 413, -1, 31, -1, + 10, -1, 1186, -1, 526, -1, 527, -1, 528, -1, + 529, -1, 530, -1, 531, -1, 523, -1, 524, -1, + 525, -1, 17, -1, 18, -1, 19, -1, 10, -1, + 312, 535, 901, 536, -1, 1185, -1, 312, 535, 901, + 536, -1, 1185, -1, 312, 535, 901, 536, -1, 254, + -1, 514, 254, -1, 198, -1, 514, 198, -1, 1151, + -1, 1190, 539, 1151, -1, 1192, -1, 1191, 539, 1192, + -1, 1151, -1, 872, 15, 1151, -1, 872, 16, 1151, + -1, 1191, -1, -1, 1127, -1, 1194, 539, 1127, -1, + 533, 1190, 534, -1, 533, 1196, 534, -1, 533, 534, + -1, 1195, -1, 1196, 539, 1195, -1, 1198, 179, 1151, + -1, 12, 179, 1151, -1, 3, -1, 510, -1, 276, + -1, 117, -1, 195, -1, 273, -1, 394, -1, 1250, + -1, 286, -1, 287, -1, 288, -1, 289, -1, 1151, + 335, 1151, 179, 1151, 173, 1151, -1, 1151, 335, 1151, + 179, 1151, -1, 1152, 203, 1152, -1, 1151, 179, 1151, + 173, 1151, -1, 1151, 173, 1151, 179, 1151, -1, 1151, + 179, 1151, -1, 1151, 173, 1151, -1, 1151, 408, 1151, + 152, 1151, -1, 1151, 179, 1190, -1, 179, 1190, -1, + 1190, -1, 1040, -1, 535, 1190, 536, -1, 67, 1209, + 1206, 1208, 149, -1, 1207, -1, 1206, 1207, -1, 488, + 1151, 444, 1151, -1, 144, 1151, -1, -1, 1151, -1, + -1, 1259, -1, 1259, 1213, -1, 537, 1245, -1, 537, + 528, -1, 533, 1151, 534, -1, 533, 1212, 540, 1212, + 534, -1, 1151, -1, -1, 1211, -1, 1213, 1211, -1, + -1, 1214, 1211, -1, 45, -1, -1, 332, 1217, -1, + -1, 1218, -1, 1217, 539, 1218, -1, 1224, 40, 1262, + -1, 494, 496, -1, 494, 39, 496, -1, 492, 496, + -1, 492, 39, 496, -1, 492, 90, 39, 496, -1, + 492, 462, 39, 496, -1, 492, 90, 496, -1, 492, + 462, 496, -1, -1, 122, 1151, -1, 1221, -1, 151, + -1, 299, -1, 455, -1, 165, -1, 467, -1, 145, + 39, -1, 145, 303, -1, 145, -1, 1220, 310, 145, + -1, 1220, 310, 151, -1, 1220, 310, 145, 1220, 310, + 151, -1, -1, 1220, 310, 151, -1, -1, 1151, 1226, + -1, 513, 230, 147, 1244, -1, 513, 230, -1, 1225, + -1, -1, 241, 354, 310, 389, 426, -1, 241, 354, + -1, 309, 354, 310, 389, 426, -1, 309, 354, -1, + -1, 376, 1127, 1226, -1, -1, 230, -1, 230, 478, + -1, 230, 39, -1, 230, 303, -1, 230, 389, -1, + 492, 466, 243, -1, 492, 466, -1, 494, 466, 243, + -1, 494, 466, -1, -1, 1232, -1, 1231, 539, 1232, + -1, 1153, 478, 1224, -1, 1151, 540, 1224, -1, 299, + 310, 299, -1, 23, 310, 299, -1, -1, 299, 310, + 299, -1, 23, 310, 299, -1, -1, 1224, -1, 1235, + 539, 1224, -1, 235, 535, 1232, 1233, 1230, 1228, 536, + -1, 232, 535, 1224, 1237, 1234, 1228, 536, -1, 316, + 61, 1060, -1, -1, 1239, -1, -1, 1240, -1, 1239, + 539, 1240, -1, 1151, 40, 1262, -1, 1151, 1263, -1, + 1151, -1, 528, -1, 1242, -1, 1241, 539, 1242, -1, + 1259, -1, 1259, 1213, -1, 1244, -1, 1243, 539, 1244, + -1, 1259, -1, 1262, -1, 1250, -1, 1260, -1, 1259, + 1213, -1, 1249, -1, 5, -1, 1250, -1, 8, -1, + 9, -1, 1247, 1250, -1, 1247, 535, 1191, 1058, 536, + 1250, -1, 1247, 12, -1, 1247, 535, 1191, 1058, 536, + 12, -1, 1130, 1250, -1, 1146, 1250, 1148, -1, 1146, + 535, 1249, 536, 1250, -1, 1130, 12, -1, 1146, 12, + 1148, -1, 1146, 535, 1249, 536, 12, -1, 455, -1, + 165, -1, 299, -1, 11, -1, 6, -1, 1249, -1, + 526, 1249, -1, 527, 1249, -1, 1253, -1, 1261, -1, + 108, -1, 112, -1, 402, -1, 1253, -1, 1254, 539, + 1253, -1, 1057, 1238, 1087, 1109, 1072, 1079, 1170, 1058, + 1063, 1081, -1, 1257, 1214, 1258, 1255, -1, 1259, -1, + 12, -1, 15, -1, 525, -1, 3, -1, 1264, -1, + 1265, -1, 3, -1, 1264, -1, 1266, -1, 3, -1, + 1264, -1, 1265, -1, 1266, -1, 3, -1, 1264, -1, + 1265, -1, 1266, -1, 1267, -1, 3, -1, 1268, -1, + 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, + 27, -1, 28, -1, 29, -1, 30, -1, 32, -1, + 33, -1, 34, -1, 42, -1, 43, -1, 44, -1, + 47, -1, 46, -1, 48, -1, 49, -1, 51, -1, + 52, -1, 53, -1, 60, -1, 61, -1, 62, -1, + 63, -1, 64, -1, 65, -1, 66, -1, 69, -1, + 70, -1, 73, -1, 75, -1, 76, -1, 77, -1, + 78, -1, 83, -1, 84, -1, 85, -1, 86, -1, + 87, -1, 88, -1, 90, -1, 91, -1, 92, -1, + 93, -1, 95, -1, 96, -1, 97, -1, 98, -1, + 99, -1, 100, -1, 103, -1, 104, -1, 105, -1, + 113, -1, 114, -1, 115, -1, 116, -1, 117, -1, + 118, -1, 121, -1, 123, -1, 125, -1, 126, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, + 133, -1, 134, -1, 135, -1, 136, -1, 139, -1, + 140, -1, 141, -1, 142, -1, 143, -1, 145, -1, + 146, -1, 147, -1, 148, -1, 150, -1, 151, -1, + 152, -1, 153, -1, 155, -1, 156, -1, 157, -1, + 158, -1, 160, -1, 161, -1, 162, -1, 163, -1, + 166, -1, 168, -1, 169, -1, 170, -1, 172, -1, + 174, -1, 176, -1, 177, -1, 181, -1, 182, -1, + 183, -1, 184, -1, 186, -1, 190, -1, 191, -1, + 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, + 199, -1, 200, -1, 201, -1, 202, -1, 204, -1, + 205, -1, 206, -1, 207, -1, 208, -1, 209, -1, + 210, -1, 211, -1, 213, -1, 216, -1, 217, -1, + 218, -1, 219, -1, 225, -1, 228, -1, 241, -1, + 242, -1, 243, -1, 244, -1, 245, -1, 246, -1, + 247, -1, 250, -1, 253, -1, 256, -1, 257, -1, + 258, -1, 261, -1, 262, -1, 263, -1, 264, -1, + 265, -1, 266, -1, 267, -1, 268, -1, 269, -1, + 270, -1, 272, -1, 273, -1, 274, -1, 275, -1, + 276, -1, 277, -1, 278, -1, 279, -1, 283, -1, + 284, -1, 285, -1, 286, -1, 287, -1, 288, -1, + 289, -1, 290, -1, 293, -1, 295, -1, 296, -1, + 298, -1, 301, -1, 303, -1, 304, -1, 305, -1, + 307, -1, 308, -1, 309, -1, 312, -1, 313, -1, + 314, -1, 317, -1, 318, -1, 321, -1, 324, -1, + 325, -1, 326, -1, 327, -1, 328, -1, 329, -1, + 330, -1, 331, -1, 332, -1, 333, -1, 334, -1, + 336, -1, 337, -1, 338, -1, 340, -1, 343, -1, + 344, -1, 342, -1, 346, -1, 347, -1, 348, -1, + 349, -1, 350, -1, 351, -1, 352, -1, 353, -1, + 354, -1, 355, -1, 356, -1, 358, -1, 359, -1, + 360, -1, 361, -1, 363, -1, 364, -1, 365, -1, + 366, -1, 367, -1, 368, -1, 369, -1, 370, -1, + 371, -1, 372, -1, 373, -1, 374, -1, 375, -1, + 377, -1, 378, -1, 380, -1, 381, -1, 382, -1, + 383, -1, 384, -1, 386, -1, 387, -1, 388, -1, + 389, -1, 390, -1, 391, -1, 392, -1, 393, -1, + 394, -1, 395, -1, 397, -1, 398, -1, 399, -1, + 400, -1, 401, -1, 403, -1, 404, -1, 406, -1, + 407, -1, 409, -1, 410, -1, 412, -1, 414, -1, + 415, -1, 416, -1, 417, -1, 418, -1, 419, -1, + 420, -1, 421, -1, 422, -1, 423, -1, 424, -1, + 425, -1, 426, -1, 427, -1, 428, -1, 430, -1, + 432, -1, 433, -1, 436, -1, 438, -1, 439, -1, + 440, -1, 441, -1, 442, -1, 443, -1, 445, -1, + 450, -1, 451, -1, 453, -1, 456, -1, 457, -1, + 458, -1, 459, -1, 460, -1, 461, -1, 463, -1, + 462, -1, 464, -1, 467, -1, 468, -1, 469, -1, + 470, -1, 471, -1, 474, -1, 475, -1, 476, -1, + 477, -1, 478, -1, 482, -1, 484, -1, 485, -1, + 486, -1, 487, -1, 490, -1, 493, -1, 494, -1, + 495, -1, 496, -1, 497, -1, 498, -1, 510, -1, + 511, -1, 512, -1, 54, -1, 55, -1, 57, -1, + 58, -1, 71, -1, 72, -1, 79, -1, 119, -1, + 120, -1, 159, -1, 164, -1, 171, -1, 187, -1, + 189, -1, 215, -1, 220, -1, 221, -1, 223, -1, + 230, -1, 231, -1, 232, -1, 233, -1, 234, -1, + 235, -1, 236, -1, 237, -1, 238, -1, 239, -1, + 240, -1, 251, -1, 271, -1, 280, -1, 282, -1, + 291, -1, 292, -1, 300, -1, 302, -1, 319, -1, + 323, -1, 339, -1, 341, -1, 357, -1, 385, -1, + 405, -1, 411, -1, 429, -1, 446, -1, 447, -1, + 452, -1, 454, -1, 479, -1, 480, -1, 499, -1, + 500, -1, 501, -1, 502, -1, 503, -1, 504, -1, + 505, -1, 506, -1, 507, -1, 508, -1, 509, -1, + 50, -1, 56, -1, 81, -1, 89, -1, 102, -1, + 109, -1, 178, -1, 180, -1, 198, -1, 214, -1, + 226, -1, 227, -1, 229, -1, 252, -1, 254, -1, + 281, -1, 297, -1, 320, -1, 322, -1, 379, -1, + 408, -1, 437, -1, 483, -1, 31, -1, 35, -1, + 36, -1, 37, -1, 38, -1, 39, -1, 40, -1, + 41, -1, 45, -1, 59, -1, 67, -1, 68, -1, + 74, -1, 80, -1, 82, -1, 94, -1, 101, -1, + 106, -1, 107, -1, 108, -1, 110, -1, 111, -1, + 112, -1, 122, -1, 124, -1, 132, -1, 137, -1, + 138, -1, 144, -1, 149, -1, 154, -1, 165, -1, + 167, -1, 173, -1, 175, -1, 179, -1, 185, -1, + 188, -1, 192, -1, 203, -1, 212, -1, 222, -1, + 224, -1, 248, -1, 249, -1, 255, -1, 259, -1, + 260, -1, 294, -1, 299, -1, 306, -1, 310, -1, + 311, -1, 315, -1, 316, -1, 335, -1, 345, -1, + 362, -1, 376, -1, 396, -1, 402, -1, 413, -1, + 431, -1, 434, -1, 435, -1, 444, -1, 448, -1, + 449, -1, 455, -1, 465, -1, 466, -1, 472, -1, + 473, -1, 481, -1, 488, -1, 489, -1, 491, -1, + 492, -1, 22, -1, 23, -1, 24, -1, 25, -1, + 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, + 31, -1, 32, -1, 33, -1, 34, -1, 35, -1, + 36, -1, 37, -1, 38, -1, 41, -1, 42, -1, + 43, -1, 44, -1, 45, -1, 47, -1, 46, -1, + 48, -1, 49, -1, 50, -1, 51, -1, 52, -1, + 53, -1, 54, -1, 55, -1, 56, -1, 57, -1, + 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, + 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, + 68, -1, 69, -1, 70, -1, 73, -1, 74, -1, + 75, -1, 76, -1, 77, -1, 78, -1, 79, -1, + 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, + 85, -1, 86, -1, 87, -1, 88, -1, 89, -1, + 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, + 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, + 100, -1, 102, -1, 103, -1, 104, -1, 105, -1, + 106, -1, 107, -1, 108, -1, 109, -1, 110, -1, + 111, -1, 112, -1, 113, -1, 114, -1, 115, -1, + 116, -1, 118, -1, 119, -1, 120, -1, 121, -1, + 122, -1, 123, -1, 124, -1, 125, -1, 126, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, + 132, -1, 133, -1, 134, -1, 135, -1, 136, -1, + 137, -1, 138, -1, 139, -1, 140, -1, 141, -1, + 142, -1, 143, -1, 144, -1, 145, -1, 146, -1, + 147, -1, 148, -1, 149, -1, 150, -1, 151, -1, + 152, -1, 153, -1, 155, -1, 156, -1, 157, -1, + 158, -1, 159, -1, 160, -1, 161, -1, 162, -1, + 163, -1, 164, -1, 165, -1, 166, -1, 169, -1, + 170, -1, 171, -1, 172, -1, 174, -1, 175, -1, + 176, -1, 177, -1, 178, -1, 180, -1, 181, -1, + 182, -1, 183, -1, 184, -1, 186, -1, 187, -1, + 189, -1, 190, -1, 191, -1, 193, -1, 194, -1, + 196, -1, 197, -1, 198, -1, 199, -1, 200, -1, + 201, -1, 202, -1, 203, -1, 204, -1, 205, -1, + 206, -1, 207, -1, 208, -1, 209, -1, 210, -1, + 211, -1, 212, -1, 213, -1, 214, -1, 215, -1, + 216, -1, 217, -1, 218, -1, 219, -1, 220, -1, + 221, -1, 223, -1, 225, -1, 226, -1, 228, -1, + 229, -1, 230, -1, 231, -1, 232, -1, 233, -1, + 234, -1, 235, -1, 236, -1, 237, -1, 238, -1, + 239, -1, 240, -1, 241, -1, 242, -1, 243, -1, + 244, -1, 245, -1, 246, -1, 247, -1, 248, -1, + 249, -1, 250, -1, 251, -1, 252, -1, 253, -1, + 254, -1, 256, -1, 257, -1, 258, -1, 259, -1, 260, -1, 261, -1, 262, -1, 263, -1, 264, -1, - 265, -1, 266, -1, 267, -1, 268, -1, 272, -1, - 273, -1, 274, -1, 275, -1, 276, -1, 277, -1, - 278, -1, 281, -1, 283, -1, 284, -1, 286, -1, - 289, -1, 291, -1, 292, -1, 293, -1, 295, -1, - 296, -1, 299, -1, 300, -1, 301, -1, 304, -1, - 305, -1, 308, -1, 311, -1, 312, -1, 313, -1, - 314, -1, 315, -1, 316, -1, 317, -1, 318, -1, - 319, -1, 320, -1, 322, -1, 323, -1, 325, -1, - 328, -1, 329, -1, 327, -1, 331, -1, 332, -1, + 265, -1, 266, -1, 267, -1, 268, -1, 269, -1, + 270, -1, 271, -1, 272, -1, 274, -1, 275, -1, + 277, -1, 278, -1, 279, -1, 280, -1, 281, -1, + 282, -1, 283, -1, 284, -1, 285, -1, 286, -1, + 287, -1, 288, -1, 289, -1, 290, -1, 291, -1, + 292, -1, 293, -1, 294, -1, 295, -1, 296, -1, + 298, -1, 299, -1, 300, -1, 301, -1, 302, -1, + 303, -1, 304, -1, 305, -1, 307, -1, 308, -1, + 309, -1, 311, -1, 312, -1, 313, -1, 314, -1, + 315, -1, 317, -1, 318, -1, 319, -1, 320, -1, + 323, -1, 324, -1, 325, -1, 326, -1, 327, -1, + 328, -1, 329, -1, 330, -1, 331, -1, 332, -1, 333, -1, 334, -1, 335, -1, 336, -1, 337, -1, - 338, -1, 339, -1, 340, -1, 342, -1, 343, -1, - 344, -1, 345, -1, 347, -1, 348, -1, 349, -1, - 350, -1, 351, -1, 352, -1, 353, -1, 354, -1, - 355, -1, 356, -1, 357, -1, 358, -1, 359, -1, - 361, -1, 362, -1, 364, -1, 365, -1, 366, -1, - 367, -1, 368, -1, 370, -1, 371, -1, 372, -1, - 373, -1, 374, -1, 375, -1, 376, -1, 377, -1, - 378, -1, 379, -1, 381, -1, 382, -1, 383, -1, - 384, -1, 385, -1, 387, -1, 388, -1, 390, -1, - 391, -1, 393, -1, 394, -1, 396, -1, 398, -1, - 399, -1, 400, -1, 401, -1, 402, -1, 403, -1, - 404, -1, 405, -1, 406, -1, 407, -1, 408, -1, - 409, -1, 410, -1, 412, -1, 414, -1, 415, -1, - 418, -1, 420, -1, 421, -1, 422, -1, 423, -1, - 424, -1, 426, -1, 431, -1, 432, -1, 434, -1, - 437, -1, 438, -1, 439, -1, 440, -1, 441, -1, - 442, -1, 443, -1, 444, -1, 447, -1, 448, -1, - 449, -1, 450, -1, 451, -1, 454, -1, 455, -1, - 456, -1, 457, -1, 458, -1, 462, -1, 464, -1, - 465, -1, 466, -1, 467, -1, 470, -1, 473, -1, - 474, -1, 475, -1, 476, -1, 477, -1, 478, -1, - 490, -1, 491, -1, 492, -1, 54, -1, 55, -1, - 57, -1, 58, -1, 71, -1, 72, -1, 79, -1, - 118, -1, 119, -1, 156, -1, 161, -1, 168, -1, - 184, -1, 186, -1, 212, -1, 217, -1, 218, -1, - 220, -1, 228, -1, 229, -1, 230, -1, 231, -1, - 241, -1, 269, -1, 271, -1, 279, -1, 280, -1, - 288, -1, 290, -1, 306, -1, 310, -1, 324, -1, - 326, -1, 341, -1, 369, -1, 389, -1, 395, -1, - 411, -1, 427, -1, 428, -1, 433, -1, 435, -1, - 459, -1, 460, -1, 479, -1, 480, -1, 481, -1, - 482, -1, 483, -1, 484, -1, 485, -1, 486, -1, - 487, -1, 488, -1, 489, -1, 50, -1, 56, -1, - 81, -1, 89, -1, 101, -1, 108, -1, 175, -1, - 177, -1, 195, -1, 211, -1, 223, -1, 224, -1, - 226, -1, 242, -1, 244, -1, 270, -1, 285, -1, - 307, -1, 309, -1, 363, -1, 392, -1, 419, -1, - 463, -1, 31, -1, 35, -1, 36, -1, 37, -1, - 38, -1, 39, -1, 40, -1, 41, -1, 45, -1, - 59, -1, 67, -1, 68, -1, 74, -1, 80, -1, - 82, -1, 93, -1, 100, -1, 105, -1, 106, -1, - 107, -1, 109, -1, 110, -1, 111, -1, 121, -1, - 123, -1, 131, -1, 136, -1, 137, -1, 143, -1, - 147, -1, 151, -1, 162, -1, 164, -1, 170, -1, - 172, -1, 176, -1, 182, -1, 185, -1, 189, -1, - 200, -1, 209, -1, 219, -1, 221, -1, 238, -1, - 239, -1, 245, -1, 249, -1, 250, -1, 282, -1, - 287, -1, 294, -1, 297, -1, 298, -1, 302, -1, - 303, -1, 321, -1, 330, -1, 346, -1, 360, -1, - 380, -1, 386, -1, 397, -1, 413, -1, 416, -1, - 417, -1, 425, -1, 429, -1, 430, -1, 436, -1, - 445, -1, 446, -1, 452, -1, 453, -1, 461, -1, - 468, -1, 469, -1, 471, -1, 472, -1, 22, -1, - 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, - 28, -1, 29, -1, 30, -1, 31, -1, 32, -1, - 33, -1, 34, -1, 35, -1, 36, -1, 37, -1, - 38, -1, 41, -1, 42, -1, 43, -1, 44, -1, - 45, -1, 47, -1, 46, -1, 48, -1, 49, -1, - 50, -1, 51, -1, 52, -1, 53, -1, 54, -1, - 55, -1, 56, -1, 57, -1, 58, -1, 59, -1, - 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, - 65, -1, 66, -1, 67, -1, 68, -1, 69, -1, - 70, -1, 73, -1, 74, -1, 75, -1, 76, -1, - 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, - 82, -1, 83, -1, 84, -1, 85, -1, 86, -1, - 87, -1, 88, -1, 89, -1, 90, -1, 91, -1, - 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, - 97, -1, 98, -1, 99, -1, 101, -1, 102, -1, - 103, -1, 104, -1, 105, -1, 106, -1, 107, -1, - 108, -1, 109, -1, 110, -1, 111, -1, 112, -1, - 113, -1, 114, -1, 115, -1, 117, -1, 118, -1, - 119, -1, 120, -1, 121, -1, 122, -1, 123, -1, - 124, -1, 125, -1, 126, -1, 127, -1, 128, -1, - 129, -1, 130, -1, 131, -1, 132, -1, 133, -1, - 134, -1, 135, -1, 136, -1, 137, -1, 138, -1, - 139, -1, 140, -1, 141, -1, 142, -1, 143, -1, - 144, -1, 145, -1, 146, -1, 147, -1, 148, -1, - 149, -1, 150, -1, 152, -1, 153, -1, 154, -1, - 155, -1, 156, -1, 157, -1, 158, -1, 159, -1, - 160, -1, 161, -1, 162, -1, 163, -1, 166, -1, - 167, -1, 168, -1, 169, -1, 171, -1, 172, -1, - 173, -1, 174, -1, 175, -1, 177, -1, 178, -1, - 179, -1, 180, -1, 181, -1, 183, -1, 184, -1, - 186, -1, 187, -1, 188, -1, 190, -1, 191, -1, - 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, - 198, -1, 199, -1, 200, -1, 201, -1, 202, -1, - 203, -1, 204, -1, 205, -1, 206, -1, 207, -1, - 208, -1, 209, -1, 210, -1, 211, -1, 212, -1, - 213, -1, 214, -1, 215, -1, 216, -1, 217, -1, - 218, -1, 220, -1, 222, -1, 223, -1, 225, -1, - 226, -1, 227, -1, 228, -1, 229, -1, 230, -1, - 231, -1, 232, -1, 233, -1, 234, -1, 235, -1, - 236, -1, 237, -1, 238, -1, 239, -1, 240, -1, - 241, -1, 242, -1, 243, -1, 244, -1, 246, -1, - 247, -1, 248, -1, 249, -1, 250, -1, 251, -1, - 252, -1, 253, -1, 254, -1, 255, -1, 256, -1, - 257, -1, 258, -1, 259, -1, 260, -1, 261, -1, - 263, -1, 264, -1, 266, -1, 267, -1, 268, -1, - 269, -1, 270, -1, 271, -1, 272, -1, 273, -1, - 274, -1, 275, -1, 276, -1, 277, -1, 278, -1, - 279, -1, 280, -1, 281, -1, 282, -1, 283, -1, - 284, -1, 286, -1, 287, -1, 288, -1, 289, -1, - 290, -1, 291, -1, 292, -1, 293, -1, 295, -1, - 296, -1, 298, -1, 299, -1, 300, -1, 301, -1, - 302, -1, 304, -1, 305, -1, 306, -1, 307, -1, - 310, -1, 311, -1, 312, -1, 313, -1, 314, -1, - 315, -1, 316, -1, 317, -1, 318, -1, 319, -1, - 320, -1, 321, -1, 322, -1, 323, -1, 324, -1, - 325, -1, 328, -1, 329, -1, 327, -1, 330, -1, - 331, -1, 332, -1, 333, -1, 334, -1, 335, -1, - 336, -1, 337, -1, 338, -1, 339, -1, 340, -1, - 341, -1, 342, -1, 343, -1, 344, -1, 345, -1, - 346, -1, 347, -1, 348, -1, 349, -1, 350, -1, - 351, -1, 352, -1, 353, -1, 354, -1, 355, -1, - 356, -1, 357, -1, 358, -1, 359, -1, 361, -1, - 362, -1, 363, -1, 364, -1, 365, -1, 366, -1, - 367, -1, 368, -1, 369, -1, 370, -1, 371, -1, - 372, -1, 373, -1, 374, -1, 375, -1, 376, -1, - 377, -1, 379, -1, 380, -1, 381, -1, 382, -1, - 383, -1, 384, -1, 385, -1, 386, -1, 387, -1, - 389, -1, 388, -1, 390, -1, 391, -1, 392, -1, - 393, -1, 394, -1, 395, -1, 396, -1, 397, -1, - 398, -1, 399, -1, 400, -1, 401, -1, 402, -1, - 403, -1, 404, -1, 405, -1, 406, -1, 407, -1, - 408, -1, 409, -1, 410, -1, 411, -1, 412, -1, - 413, -1, 414, -1, 415, -1, 416, -1, 417, -1, - 418, -1, 419, -1, 420, -1, 421, -1, 422, -1, - 423, -1, 424, -1, 425, -1, 426, -1, 427, -1, - 428, -1, 430, -1, 431, -1, 432, -1, 433, -1, - 434, -1, 435, -1, 436, -1, 437, -1, 438, -1, - 439, -1, 440, -1, 441, -1, 442, -1, 443, -1, - 444, -1, 446, -1, 447, -1, 448, -1, 449, -1, - 450, -1, 451, -1, 452, -1, 453, -1, 454, -1, - 455, -1, 456, -1, 457, -1, 458, -1, 459, -1, - 460, -1, 461, -1, 463, -1, 464, -1, 465, -1, - 466, -1, 467, -1, 468, -1, 470, -1, 475, -1, - 476, -1, 477, -1, 478, -1, 479, -1, 480, -1, - 481, -1, 482, -1, 483, -1, 484, -1, 485, -1, - 486, -1, 487, -1, 488, -1, 489, -1, 491, -1, - 492, -1 + 338, -1, 339, -1, 340, -1, 343, -1, 344, -1, + 342, -1, 345, -1, 346, -1, 347, -1, 348, -1, + 349, -1, 350, -1, 351, -1, 352, -1, 353, -1, + 354, -1, 355, -1, 356, -1, 357, -1, 358, -1, + 359, -1, 360, -1, 361, -1, 362, -1, 363, -1, + 364, -1, 365, -1, 366, -1, 367, -1, 368, -1, + 369, -1, 370, -1, 371, -1, 372, -1, 373, -1, + 374, -1, 375, -1, 377, -1, 378, -1, 379, -1, + 380, -1, 381, -1, 382, -1, 383, -1, 384, -1, + 385, -1, 386, -1, 387, -1, 388, -1, 389, -1, + 390, -1, 391, -1, 392, -1, 393, -1, 395, -1, + 396, -1, 397, -1, 398, -1, 399, -1, 400, -1, + 401, -1, 402, -1, 403, -1, 405, -1, 404, -1, + 406, -1, 407, -1, 408, -1, 409, -1, 410, -1, + 411, -1, 412, -1, 413, -1, 414, -1, 415, -1, + 416, -1, 417, -1, 418, -1, 419, -1, 420, -1, + 421, -1, 422, -1, 423, -1, 424, -1, 425, -1, + 426, -1, 427, -1, 428, -1, 429, -1, 430, -1, + 431, -1, 432, -1, 433, -1, 434, -1, 435, -1, + 436, -1, 437, -1, 438, -1, 439, -1, 440, -1, + 441, -1, 442, -1, 443, -1, 444, -1, 445, -1, + 446, -1, 447, -1, 449, -1, 450, -1, 451, -1, + 452, -1, 453, -1, 454, -1, 455, -1, 456, -1, + 457, -1, 458, -1, 459, -1, 460, -1, 461, -1, + 463, -1, 462, -1, 464, -1, 466, -1, 467, -1, + 468, -1, 469, -1, 470, -1, 471, -1, 472, -1, + 473, -1, 474, -1, 475, -1, 476, -1, 477, -1, + 478, -1, 479, -1, 480, -1, 481, -1, 483, -1, + 484, -1, 485, -1, 486, -1, 487, -1, 488, -1, + 490, -1, 495, -1, 496, -1, 497, -1, 498, -1, + 499, -1, 500, -1, 501, -1, 502, -1, 503, -1, + 504, -1, 505, -1, 506, -1, 507, -1, 508, -1, + 509, -1, 511, -1, 512, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 889, 889, 894, 898, 903, 911, 919, 939, 951, - 965, 966, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, - 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, - 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, - 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, - 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, - 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, - 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, - 1088, 1089, 1090, 1091, 1092, 1093, 1095, 1102, 1103, 1107, - 1108, 1112, 1113, 1117, 1118, 1119, 1128, 1144, 1156, 1157, - 1158, 1167, 1168, 1172, 1173, 1177, 1182, 1187, 1191, 1201, - 1211, 1219, 1223, 1227, 1232, 1236, 1284, 1286, 1290, 1294, - 1298, 1302, 1316, 1335, 1344, 1356, 1357, 1361, 1370, 1379, - 1388, 1410, 1418, 1426, 1434, 1442, 1450, 1468, 1487, 1499, - 1500, 1511, 1522, 1533, 1549, 1568, 1575, 1583, 1584, 1585, - 1586, 1587, 1588, 1602, 1609, 1616, 1626, 1635, 1644, 1648, - 1657, 1666, 1674, 1685, 1686, 1695, 1707, 1715, 1724, 1732, - 1744, 1753, 1761, 1770, 1778, 1786, 1796, 1807, 1808, 1812, - 1813, 1816, 1818, 1820, 1824, 1825, 1826, 1827, 1831, 1832, - 1833, 1839, 1851, 1855, 1859, 1863, 1880, 1888, 1889, 1890, - 1894, 1895, 1896, 1900, 1901, 1905, 1909, 1910, 1918, 1926, - 1937, 1945, 1956, 1957, 1962, 1963, 1968, 1975, 1982, 1989, - 1996, 2007, 2018, 2019, 2023, 2024, 2032, 2048, 2055, 2062, - 2069, 2076, 2096, 2106, 2116, 2126, 2136, 2148, 2160, 2170, - 2180, 2190, 2202, 2214, 2224, 2234, 2244, 2254, 2264, 2274, - 2286, 2298, 2308, 2321, 2322, 2327, 2341, 2354, 2370, 2387, - 2397, 2407, 2417, 2427, 2437, 2446, 2455, 2464, 2474, 2484, - 2500, 2510, 2520, 2530, 2540, 2557, 2567, 2577, 2587, 2598, - 2612, 2628, 2638, 2647, 2663, 2672, 2683, 2694, 2702, 2711, - 2720, 2728, 2736, 2745, 2754, 2763, 2771, 2779, 2788, 2796, - 2804, 2813, 2822, 2831, 2840, 2849, 2858, 2869, 2877, 2886, - 2895, 2904, 2913, 2922, 2931, 2939, 2947, 2955, 2962, 2973, - 2974, 2978, 2987, 2991, 2992, 2996, 3004, 3012, 3020, 3031, - 3034, 3035, 3039, 3040, 3045, 3049, 3053, 3058, 3065, 3067, - 3072, 3076, 3080, 3091, 3099, 3152, 3165, 3179, 3191, 3198, - 3202, 3216, 3229, 3230, 3235, 3245, 3256, 3267, 3294, 3301, - 3335, 3371, 3394, 3395, 3399, 3400, 3409, 3410, 3411, 3414, - 3415, 3420, 3421, 3425, 3429, 3433, 3437, 3441, 3445, 3449, - 3453, 3457, 3461, 3465, 3469, 3473, 3482, 3486, 3490, 3494, - 3498, 3499, 3504, 3508, 3515, 3522, 3523, 3524, 3525, 3526, - 3530, 3534, 3542, 3553, 3573, 3593, 3614, 3635, 3656, 3690, - 3691, 3692, 3693, 3694, 3701, 3708, 3709, 3713, 3714, 3718, - 3719, 3723, 3727, 3734, 3738, 3745, 3746, 3747, 3751, 3752, - 3755, 3779, 3798, 3820, 3821, 3825, 3826, 3830, 3831, 3835, - 3836, 3840, 3841, 3845, 3853, 3854, 3855, 3887, 3895, 3903, - 3916, 3928, 3941, 3951, 3961, 3985, 4005, 4006, 4007, 4011, - 4012, 4031, 4039, 4047, 4055, 4067, 4079, 4080, 4081, 4085, - 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4103, - 4111, 4115, 4129, 4147, 4163, 4180, 4196, 4216, 4239, 4240, - 4244, 4245, 4249, 4250, 4253, 4259, 4260, 4263, 4267, 4275, - 4280, 4286, 4287, 4291, 4296, 4303, 4304, 4308, 4318, 4328, - 4336, 4345, 4358, 4370, 4377, 4385, 4393, 4401, 4409, 4419, - 4420, 4424, 4425, 4428, 4440, 4441, 4444, 4455, 4466, 4480, - 4481, 4486, 4487, 4488, 4491, 4492, 4493, 4494, 4497, 4498, - 4501, 4502, 4505, 4525, 4538, 4560, 4561, 4564, 4570, 4576, - 4593, 4602, 4624, 4638, 4655, 4671, 4672, 4673, 4685, 4699, - 4716, 4730, 4731, 4743, 4764, 4775, 4789, 4798, 4810, 4811, - 4814, 4815, 4818, 4819, 4822, 4826, 4830, 4834, 4838, 4842, - 4846, 4850, 4854, 4858, 4862, 4867, 4871, 4875, 4881, 4882, - 4886, 4887, 4888, 4895, 4898, 4899, 4911, 4927, 4943, 4944, - 4952, 4953, 4957, 4958, 4962, 4963, 4967, 4968, 4972, 4973, - 4983, 4995, 4996, 5009, 5017, 5035, 5044, 5056, 5059, 5063, - 5067, 5071, 5078, 5090, 5101, 5104, 5108, 5121, 5131, 5141, - 5151, 5161, 5171, 5181, 5191, 5201, 5211, 5221, 5231, 5241, - 5260, 5272, 5273, 5274, 5275, 5279, 5280, 5284, 5285, 5295, - 5304, 5317, 5318, 5322, 5326, 5334, 5338, 5342, 5349, 5353, - 5358, 5363, 5370, 5377, 5382, 5392, 5405, 5421, 5422, 5427, - 5428, 5432, 5433, 5443, 5453, 5462, 5480, 5501, 5522, 5544, - 5578, 5594, 5595, 5599, 5608, 5623, 5633, 5646, 5647, 5659, - 5668, 5686, 5711, 5729, 5744, 5745, 5749, 5750, 5754, 5755, - 5759, 5760, 5764, 5778, 5782, 5783, 5787, 5788, 5789, 5790, - 5791, 5801, 5813, 5814, 5825, 5848, 5880, 5881, 5882, 5886, - 5888, 5910, 5912, 5914, 5916, 5918, 5923, 5924, 5928, 5929, - 5933, 5945, 5946, 5950, 5959, 5963, 5967, 5972, 5982, 5983, - 5987, 5988, 5992, 5993, 5997, 5998, 6002, 6003, 6004, 6008, - 6012, 6013, 6014, 6018, 6019, 6024, 6025, 6052, 6053, 6054, - 6055, 6056, 6057, 6070, 6081, 6096, 6098, 6103, 6108, 6110, - 6115, 6126, 6127, 6128, 6129, 6140, 6159, 6171, 6184, 6195, - 6206, 6218, 6227, 6235, 6243, 6253, 6263, 6273, 6283, 6293, - 6304, 6314, 6327, 6330, 6331, 6334, 6338, 6345, 6346, 6347, - 6348, 6349, 6350, 6353, 6356, 6357, 6365, 6372, 6373, 6376, - 6378, 6389, 6401, 6413, 6425, 6439, 6440, 6456, 6472, 6473, - 6477, 6490, 6501, 6510, 6520, 6530, 6531, 6534, 6535, 6538, - 6539, 6540, 6543, 6557, 6562, 6573, 6583, 6596, 6597, 6601, - 6610, 6623, 6634, 6648, 6659, 6682, 6693, 6712, 6723, 6734, - 6745, 6756, 6767, 6778, 6789, 6800, 6811, 6822, 6833, 6848, - 6849, 6850, 6851, 6852, 6853, 6854, 6855, 6856, 6857, 6858, - 6859, 6860, 6870, 6871, 6872, 6873, 6874, 6878, 6879, 6880, - 6881, 6882, 6883, 6884, 6885, 6890, 6891, 6892, 6896, 6897, - 6900, 6901, 6904, 6906, 6911, 6912, 6923, 6935, 6936, 6937, - 6947, 6956, 6965, 6974, 6983, 6992, 7001, 7010, 7019, 7028, - 7042, 7051, 7060, 7069, 7078, 7087, 7096, 7105, 7117, 7118, - 7132, 7143, 7154, 7165, 7176, 7187, 7198, 7209, 7220, 7231, - 7244, 7245, 7248, 7249, 7259, 7266, 7275, 7284, 7293, 7302, - 7311, 7320, 7329, 7338, 7347, 7356, 7365, 7374, 7383, 7392, - 7401, 7410, 7421, 7422, 7425, 7426, 7436, 7454, 7470, 7498, - 7500, 7502, 7504, 7512, 7522, 7523, 7526, 7534, 7542, 7550, - 7557, 7568, 7572, 7579, 7583, 7594, 7603, 7612, 7621, 7630, - 7639, 7648, 7657, 7666, 7675, 7684, 7693, 7702, 7710, 7719, - 7728, 7737, 7746, 7755, 7764, 7773, 7786, 7787, 7791, 7792, - 7797, 7798, 7808, 7819, 7833, 7845, 7863, 7864, 7868, 7875, - 7876, 7877, 7880, 7881, 7891, 7902, 7903, 7907, 7911, 7915, - 7926, 7940, 7955, 7973, 7974, 7975, 7976, 7977, 7978, 7990, - 8022, 8057, 8058, 8062, 8063, 8066, 8067, 8072, 8084, 8103, - 8108, 8113, 8120, 8121, 8124, 8125, 8128, 8129, 8133, 8134, - 8135, 8138, 8139, 8140, 8156, 8170, 8185, 8199, 8216, 8217, - 8220, 8221, 8225, 8226, 8230, 8231, 8236, 8250, 8258, 8266, - 8282, 8283, 8287, 8288, 8303, 8313, 8323, 8333, 8343, 8356, - 8357, 8358, 8359, 8360, 8366, 8370, 8385, 8386, 8392, 8402, - 8406, 8411, 8419, 8461, 8465, 8469, 8473, 8481, 8482, 8486, - 8498, 8499, 8504, 8505, 8510, 8511, 8518, 8522, 8526, 8530, - 8534, 8538, 8542, 8546, 8550, 8554, 8558, 8562, 8566, 8570, - 8574, 8578, 8583, 8590, 8594, 8598, 8602, 8606, 8612, 8613, - 8619, 8629, 8633, 8644, 8650, 8659, 8665, 8666, 8670, 8671, - 8675, 8676, 8679, 8692, 8696, 8711, 8720, 8729, 8742, 8743, - 8748, 8749, 8766, 8777, 8788, 8799, 8810, 8821, 8835, 8846, - 8860, 8871, 8885, 8893, 8895, 8897, 8902, 8904, 8909, 8910, - 8915, 8934, 8944, 8945, 8949, 8953, 8965, 8977, 8989, 9003, - 9004, 9005, 9009, 9022, 9023, 9033, 9046, 9050, 9054, 9058, - 9065, 9087, 9100, 9113, 9128, 9129, 9132, 9133, 9136, 9137, - 9147, 9157, 9175, 9185, 9195, 9205, 9215, 9225, 9235, 9245, - 9255, 9265, 9275, 9285, 9295, 9306, 9317, 9327, 9337, 9347, - 9357, 9367, 9377, 9388, 9399, 9410, 9421, 9432, 9443, 9454, - 9465, 9476, 9487, 9498, 9509, 9521, 9533, 9545, 9557, 9569, - 9581, 9592, 9603, 9615, 9627, 9638, 9649, 9658, 9668, 9678, - 9688, 9698, 9708, 9718, 9728, 9738, 9748, 9763, 9764, 9767, - 9768, 9778, 9788, 9798, 9808, 9819, 9829, 9841, 9842, 9852, - 9862, 9872, 9882, 9892, 9902, 9912, 9922, 9932, 9942, 9952, - 9962, 9972, 9982, 9992, 10002, 10012, 10022, 10032, 10042, 10052, - 10062, 10072, 10082, 10092, 10102, 10112, 10131, 10141, 10142, 10145, - 10147, 10153, 10154, 10155, 10156, 10157, 10169, 10185, 10194, 10203, - 10212, 10221, 10230, 10239, 10248, 10257, 10266, 10275, 10284, 10293, - 10302, 10311, 10320, 10329, 10338, 10347, 10356, 10365, 10374, 10383, - 10392, 10420, 10428, 10437, 10463, 10472, 10479, 10485, 10512, 10523, - 10532, 10540, 10542, 10564, 10572, 10582, 10592, 10611, 10630, 10640, - 10650, 10660, 10671, 10682, 10693, 10704, 10715, 10733, 10742, 10759, - 10777, 10778, 10779, 10784, 10790, 10799, 10800, 10801, 10802, 10803, - 10807, 10808, 10811, 10812, 10813, 10814, 10818, 10819, 10820, 10832, - 10843, 10844, 10847, 10857, 10864, 10884, 10893, 10901, 10910, 10919, - 10927, 10935, 10943, 10951, 10959, 10967, 10975, 10986, 10994, 11005, - 11006, 11007, 11011, 11014, 11017, 11020, 11023, 11030, 11032, 11034, - 11039, 11041, 11045, 11046, 11047, 11059, 11073, 11087, 11106, 11128, - 11129, 11130, 11131, 11141, 11158, 11169, 11170, 11174, 11175, 11179, - 11183, 11187, 11205, 11206, 11207, 11208, 11209, 11210, 11211, 11218, - 11219, 11230, 11238, 11246, 11255, 11265, 11283, 11292, 11301, 11310, - 11322, 11326, 11337, 11349, 11367, 11374, 11391, 11405, 11415, 11424, - 11433, 11443, 11455, 11467, 11478, 11479, 11490, 11501, 11513, 11525, - 11537, 11549, 11559, 11572, 11573, 11587, 11612, 11624, 11633, 11645, - 11659, 11660, 11672, 11693, 11704, 11716, 11728, 11732, 11739, 11740, - 11744, 11751, 11752, 11753, 11757, 11758, 11759, 11763, 11764, 11768, - 11769, 11772, 11773, 11776, 11777, 11781, 11782, 11786, 11793, 11795, - 11800, 11801, 11814, 11822, 11833, 11841, 11852, 11853, 11854, 11855, - 11856, 11857, 11858, 11859, 11860, 11861, 11871, 11882, 11883, 11887, - 11888, 11889, 11890, 11891, 11901, 11909, 11927, 11947, 11948, 11958, - 11965, 11972, 11979, 11996, 12014, 12018, 12026, 12032, 12039, 12045, - 12052, 12061, 12062, 12066, 12068, 12073, 12084, 12094, 12104, 12110, - 12119, 12128, 12134, 12135, 12146, 12161, 12162, 12173, 12184, 12185, - 12188, 12189, 12190, 12191, 12192, 12193, 12194, 12195, 12198, 12199, - 12203, 12204, 12205, 12216, 12235, 12236, 12240, 12245, 12269, 12280, - 12281, 12293, 12311, 12312, 12316, 12323, 12330, 12337, 12347, 12360, - 12361, 12365, 12378, 12391, 12400, 12409, 12418, 12427, 12439, 12451, - 12463, 12466, 12467, 12468, 12469, 12470, 12471, 12474, 12475, 12476, - 12524, 12525, 12529, 12530, 12545, 12546, 12553, 12561, 12569, 12577, - 12585, 12593, 12604, 12605, 12637, 12653, 12670, 12671, 12690, 12694, - 12698, 12713, 12720, 12727, 12737, 12738, 12741, 12757, 12758, 12759, - 12763, 12773, 12784, 12790, 12802, 12815, 12821, 12822, 12826, 12838, - 12846, 12851, 12856, 12861, 12866, 12874, 12882, 12887, 12892, 12899, - 12900, 12904, 12905, 12906, 12913, 12914, 12918, 12919, 12923, 12924, - 12928, 12929, 12933, 12937, 12938, 12941, 12950, 12963, 12968, 12973, - 12977, 12989, 12990, 12994, 13003, 13019, 13028, 13037, 13046, 13058, - 13061, 13066, 13067, 13075, 13095, 13096, 13098, 13103, 13104, 13108, - 13109, 13112, 13113, 13138, 13147, 13157, 13158, 13162, 13163, 13164, - 13165, 13166, 13170, 13183, 13190, 13197, 13204, 13205, 13209, 13210, - 13214, 13215, 13219, 13220, 13224, 13236, 13237, 13238, 13239, 13243, - 13244, 13254, 13261, 13280, 13281, 13285, 13286, 13292, 13297, 13306, - 13314, 13323, 13330, 13338, 13347, 13356, 13360, 13386, 13390, 13404, - 13425, 13447, 13460, 13477, 13483, 13488, 13494, 13501, 13502, 13512, - 13518, 13526, 13530, 13534, 13541, 13549, 13554, 13555, 13556, 13557, - 13561, 13562, 13577, 13581, 13589, 13596, 13603, 13610, 13617, 13628, - 13629, 13642, 13646, 13654, 13668, 13682, 13683, 13698, 13709, 13722, - 13727, 13728, 13731, 13732, 13735, 13736, 13741, 13742, 13747, 13748, - 13757, 13762, 13763, 13767, 13771, 13777, 13802, 13813, 13827, 13828, - 13832, 13846, 13903, 13917, 13919, 13924, 13926, 13928, 13930, 13935, - 13937, 13942, 13950, 13970, 13975, 13982, 13987, 13993, 13998, 14007, - 14009, 14012, 14016, 14017, 14018, 14019, 14020, 14021, 14026, 14046, - 14047, 14048, 14049, 14060, 14066, 14074, 14075, 14081, 14086, 14091, - 14096, 14101, 14106, 14111, 14116, 14122, 14128, 14134, 14141, 14163, - 14172, 14176, 14184, 14188, 14196, 14208, 14229, 14233, 14239, 14243, - 14256, 14264, 14274, 14276, 14278, 14280, 14282, 14284, 14289, 14290, - 14297, 14306, 14314, 14323, 14334, 14342, 14343, 14344, 14348, 14350, - 14352, 14354, 14356, 14358, 14360, 14365, 14370, 14376, 14384, 14389, - 14396, 14403, 14407, 14411, 14447, 14448, 14450, 14459, 14475, 14477, - 14479, 14481, 14483, 14485, 14487, 14489, 14491, 14493, 14495, 14497, - 14499, 14501, 14504, 14506, 14509, 14511, 14513, 14515, 14518, 14523, - 14532, 14537, 14546, 14551, 14560, 14565, 14575, 14584, 14593, 14602, - 14621, 14630, 14639, 14648, 14657, 14674, 14683, 14692, 14701, 14710, - 14719, 14728, 14732, 14736, 14744, 14752, 14760, 14768, 14789, 14812, - 14824, 14831, 14847, 14852, 14858, 14865, 14872, 14880, 14888, 14906, - 14926, 14952, 14954, 14956, 14958, 14960, 14962, 14964, 14966, 14968, - 14970, 14972, 14974, 14976, 14978, 14980, 14982, 14984, 14986, 14988, - 14992, 14996, 15001, 15017, 15018, 15019, 15036, 15049, 15051, 15053, - 15065, 15090, 15102, 15114, 15122, 15133, 15144, 15154, 15160, 15169, - 15179, 15189, 15202, 15212, 15243, 15279, 15289, 15300, 15301, 15302, - 15309, 15316, 15320, 15324, 15328, 15332, 15336, 15340, 15344, 15348, - 15352, 15356, 15360, 15364, 15371, 15375, 15379, 15383, 15385, 15392, - 15399, 15406, 15413, 15424, 15438, 15448, 15459, 15475, 15485, 15492, - 15499, 15506, 15510, 15518, 15527, 15536, 15540, 15544, 15548, 15552, - 15556, 15565, 15569, 15579, 15583, 15587, 15592, 15603, 15609, 15623, - 15634, 15648, 15664, 15681, 15683, 15687, 15689, 15691, 15694, 15697, - 15700, 15701, 15704, 15712, 15722, 15723, 15726, 15727, 15728, 15731, - 15732, 15733, 15738, 15742, 15746, 15750, 15757, 15758, 15766, 15767, - 15771, 15772, 15780, 15781, 15785, 15786, 15791, 15800, 15802, 15817, - 15820, 15848, 15849, 15852, 15853, 15861, 15869, 15877, 15886, 15896, - 15914, 15960, 15969, 15978, 15987, 15996, 16008, 16009, 16010, 16011, - 16012, 16026, 16027, 16028, 16031, 16032, 16035, 16038, 16039, 16040, - 16043, 16044, 16047, 16048, 16049, 16050, 16051, 16052, 16053, 16054, - 16055, 16056, 16057, 16058, 16061, 16063, 16068, 16070, 16075, 16077, - 16079, 16081, 16083, 16085, 16097, 16101, 16108, 16112, 16118, 16122, - 16132, 16144, 16145, 16148, 16149, 16152, 16156, 16160, 16166, 16167, - 16172, 16176, 16186, 16187, 16188, 16189, 16190, 16191, 16192, 16193, - 16197, 16198, 16199, 16200, 16205, 16210, 16219, 16240, 16244, 16249, - 16260, 16277, 16283, 16284, 16285, 16288, 16296, 16306, 16321, 16322, - 16326, 16338, 16339, 16342, 16343, 16346, 16350, 16357, 16361, 16365, - 16374, 16386, 16387, 16391, 16392, 16396, 16397, 16400, 16401, 16406, - 16415, 16420, 16426, 16427, 16431, 16440, 16444, 16445, 16446, 16447, - 16448, 16453, 16454, 16455, 16456, 16457, 16461, 16463, 16473, 16476, - 16482, 16483, 16484, 16488, 16489, 16490, 16494, 16495, 16499, 16517, - 16537, 16538, 16547, 16548, 16552, 16553, 16556, 16564, 16572, 16580, - 16603, 16604, 16615, 16619, 16625, 16627, 16632, 16634, 16636, 16646, - 16648, 16659, 16663, 16667, 16671, 16675, 16684, 16692, 16724, 16731, - 16763, 16767, 16774, 16782, 16786, 16792, 16799, 16803, 16807, 16813, - 16814, 16816, 16817, 16818, 16822, 16863, 16891, 16895, 16899, 16905, - 16907, 16921, 16957, 16970, 16971, 16974, 16975, 16992, 16993, 16994, - 16999, 17000, 17001, 17006, 17007, 17008, 17009, 17015, 17016, 17017, - 17018, 17019, 17025, 17026, 17046, 17047, 17048, 17049, 17050, 17051, - 17052, 17053, 17054, 17055, 17056, 17057, 17058, 17059, 17060, 17061, - 17062, 17063, 17064, 17065, 17066, 17067, 17068, 17069, 17070, 17071, - 17072, 17073, 17074, 17075, 17076, 17077, 17078, 17079, 17080, 17081, - 17082, 17083, 17084, 17085, 17086, 17087, 17088, 17089, 17090, 17091, - 17092, 17093, 17094, 17095, 17096, 17097, 17098, 17099, 17100, 17101, - 17102, 17103, 17104, 17105, 17106, 17107, 17108, 17109, 17110, 17111, - 17112, 17113, 17114, 17115, 17116, 17117, 17118, 17119, 17120, 17121, - 17122, 17123, 17124, 17125, 17126, 17127, 17128, 17129, 17130, 17131, - 17132, 17133, 17134, 17135, 17136, 17137, 17138, 17139, 17140, 17141, - 17142, 17143, 17144, 17145, 17146, 17147, 17148, 17149, 17150, 17151, - 17152, 17153, 17154, 17155, 17156, 17157, 17158, 17159, 17160, 17161, - 17162, 17163, 17164, 17165, 17166, 17167, 17168, 17169, 17170, 17171, - 17172, 17173, 17174, 17175, 17176, 17177, 17178, 17179, 17180, 17181, - 17182, 17183, 17184, 17185, 17186, 17187, 17188, 17189, 17190, 17191, - 17192, 17193, 17194, 17195, 17196, 17197, 17198, 17199, 17200, 17201, - 17202, 17203, 17204, 17205, 17206, 17207, 17208, 17209, 17210, 17211, - 17212, 17213, 17214, 17215, 17216, 17217, 17218, 17219, 17220, 17221, - 17222, 17223, 17224, 17225, 17226, 17227, 17228, 17229, 17230, 17231, - 17232, 17233, 17234, 17235, 17236, 17237, 17238, 17239, 17240, 17241, - 17242, 17243, 17244, 17245, 17246, 17247, 17248, 17249, 17250, 17251, - 17252, 17253, 17254, 17255, 17256, 17257, 17258, 17259, 17260, 17261, - 17262, 17263, 17264, 17265, 17266, 17267, 17268, 17269, 17270, 17271, - 17272, 17273, 17274, 17275, 17276, 17277, 17278, 17279, 17280, 17281, - 17282, 17283, 17284, 17285, 17286, 17287, 17288, 17289, 17290, 17291, - 17292, 17293, 17294, 17295, 17296, 17297, 17298, 17299, 17300, 17301, - 17302, 17303, 17304, 17305, 17306, 17307, 17308, 17309, 17310, 17311, - 17312, 17313, 17314, 17315, 17316, 17317, 17318, 17319, 17320, 17321, - 17322, 17323, 17324, 17325, 17326, 17327, 17328, 17329, 17330, 17331, - 17332, 17333, 17334, 17335, 17336, 17337, 17338, 17339, 17340, 17341, - 17342, 17343, 17344, 17345, 17346, 17347, 17348, 17349, 17350, 17351, - 17352, 17353, 17354, 17355, 17356, 17357, 17358, 17359, 17360, 17374, - 17375, 17376, 17377, 17378, 17379, 17380, 17381, 17382, 17383, 17384, - 17385, 17386, 17387, 17388, 17389, 17390, 17391, 17392, 17393, 17394, - 17395, 17396, 17397, 17398, 17399, 17400, 17401, 17402, 17403, 17404, - 17405, 17406, 17407, 17408, 17409, 17410, 17411, 17412, 17413, 17414, - 17415, 17416, 17417, 17418, 17419, 17420, 17421, 17422, 17423, 17424, - 17425, 17426, 17427, 17428, 17442, 17443, 17444, 17445, 17446, 17447, - 17448, 17449, 17450, 17451, 17452, 17453, 17454, 17455, 17456, 17457, - 17458, 17459, 17460, 17461, 17462, 17463, 17464, 17474, 17475, 17476, - 17477, 17478, 17479, 17480, 17481, 17482, 17483, 17484, 17485, 17486, - 17487, 17488, 17489, 17490, 17491, 17492, 17493, 17494, 17495, 17496, - 17497, 17498, 17499, 17500, 17501, 17502, 17503, 17504, 17505, 17506, - 17507, 17508, 17509, 17510, 17511, 17512, 17513, 17514, 17515, 17516, - 17517, 17518, 17519, 17520, 17521, 17522, 17523, 17524, 17525, 17526, - 17527, 17528, 17529, 17530, 17531, 17532, 17533, 17534, 17535, 17536, - 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544, 17545, 17546, - 17547, 17548, 17549, 17550, 17551, 17564, 17565, 17566, 17567, 17568, - 17569, 17570, 17571, 17572, 17573, 17574, 17575, 17576, 17577, 17578, - 17579, 17580, 17581, 17582, 17583, 17584, 17585, 17586, 17587, 17588, - 17589, 17590, 17591, 17592, 17593, 17594, 17595, 17596, 17597, 17598, - 17599, 17600, 17601, 17602, 17603, 17604, 17605, 17606, 17607, 17608, - 17609, 17610, 17611, 17612, 17613, 17614, 17615, 17616, 17617, 17618, - 17619, 17620, 17621, 17622, 17623, 17624, 17625, 17626, 17627, 17628, - 17629, 17630, 17631, 17632, 17633, 17634, 17635, 17636, 17637, 17638, - 17639, 17640, 17641, 17642, 17643, 17644, 17645, 17646, 17647, 17648, - 17649, 17650, 17651, 17652, 17653, 17654, 17655, 17656, 17657, 17658, - 17659, 17660, 17661, 17662, 17663, 17664, 17665, 17666, 17667, 17668, - 17669, 17670, 17671, 17672, 17673, 17674, 17675, 17676, 17677, 17678, - 17679, 17680, 17681, 17682, 17683, 17684, 17685, 17686, 17687, 17688, - 17689, 17690, 17691, 17692, 17693, 17694, 17695, 17696, 17697, 17698, - 17699, 17700, 17701, 17702, 17703, 17704, 17705, 17706, 17707, 17708, - 17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718, - 17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728, - 17729, 17730, 17731, 17732, 17733, 17734, 17735, 17736, 17737, 17738, - 17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746, 17747, 17748, - 17749, 17750, 17751, 17752, 17753, 17754, 17755, 17756, 17757, 17758, - 17759, 17760, 17761, 17762, 17763, 17764, 17765, 17766, 17767, 17768, - 17769, 17770, 17771, 17772, 17773, 17774, 17775, 17776, 17777, 17778, - 17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, 17788, - 17789, 17790, 17791, 17792, 17793, 17794, 17795, 17796, 17797, 17798, - 17799, 17800, 17801, 17802, 17803, 17804, 17805, 17806, 17807, 17808, - 17809, 17810, 17811, 17812, 17813, 17814, 17815, 17816, 17817, 17818, - 17819, 17820, 17821, 17822, 17823, 17824, 17825, 17826, 17827, 17828, - 17829, 17830, 17831, 17832, 17833, 17834, 17835, 17836, 17837, 17838, - 17839, 17840, 17841, 17842, 17843, 17844, 17845, 17846, 17847, 17848, - 17849, 17850, 17851, 17852, 17853, 17854, 17855, 17856, 17857, 17858, - 17859, 17860, 17861, 17862, 17863, 17864, 17865, 17866, 17867, 17868, - 17869, 17870, 17871, 17872, 17873, 17874, 17875, 17876, 17877, 17878, - 17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886, 17887, 17888, - 17889, 17890, 17891, 17892, 17893, 17894, 17895, 17896, 17897, 17898, - 17899, 17900, 17901, 17902, 17903, 17904, 17905, 17906, 17907, 17908, - 17909, 17910, 17911, 17912, 17913, 17914, 17915, 17916, 17917, 17918, - 17919, 17920, 17921, 17922, 17923, 17924, 17925, 17926, 17927, 17928, - 17929, 17930, 17931, 17932, 17933, 17934, 17935, 17936, 17937, 17938, - 17939, 17940, 17941, 17942, 17943, 17944, 17945, 17946, 17947, 17948, - 17949, 17950, 17951, 17952, 17953, 17954, 17955, 17956, 17957, 17958, - 17959, 17960, 17961, 17962, 17963, 17964, 17965, 17966, 17967, 17968, - 17969, 17970, 17971, 17972, 17973, 17974, 17975, 17976, 17977, 17978, - 17979, 17980, 17981, 17982, 17983, 17984, 17985, 17986, 17987, 17988, - 17989, 17990, 17991, 17992, 17993, 17994, 17995 + 0, 923, 923, 928, 932, 937, 945, 953, 973, 985, + 999, 1000, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, + 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 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, 1129, 1136, 1137, 1141, + 1142, 1146, 1147, 1151, 1152, 1153, 1162, 1178, 1190, 1191, + 1192, 1201, 1202, 1206, 1207, 1211, 1216, 1221, 1225, 1235, + 1245, 1253, 1257, 1261, 1266, 1270, 1318, 1320, 1324, 1328, + 1332, 1336, 1350, 1369, 1378, 1390, 1391, 1395, 1404, 1413, + 1422, 1444, 1452, 1460, 1468, 1476, 1484, 1502, 1521, 1533, + 1534, 1545, 1556, 1567, 1583, 1602, 1609, 1617, 1618, 1619, + 1620, 1621, 1622, 1636, 1643, 1650, 1660, 1669, 1678, 1682, + 1691, 1700, 1708, 1719, 1720, 1729, 1741, 1749, 1758, 1766, + 1778, 1787, 1795, 1804, 1812, 1820, 1830, 1841, 1842, 1846, + 1847, 1850, 1852, 1854, 1858, 1859, 1860, 1861, 1865, 1866, + 1867, 1873, 1885, 1889, 1893, 1897, 1914, 1922, 1923, 1924, + 1928, 1929, 1930, 1934, 1935, 1939, 1943, 1944, 1952, 1960, + 1971, 1979, 1990, 1991, 1996, 1997, 2002, 2009, 2016, 2023, + 2030, 2041, 2052, 2053, 2057, 2058, 2066, 2082, 2089, 2096, + 2103, 2110, 2130, 2140, 2150, 2160, 2170, 2182, 2194, 2204, + 2214, 2224, 2236, 2248, 2258, 2268, 2278, 2288, 2298, 2308, + 2320, 2332, 2342, 2355, 2356, 2361, 2375, 2388, 2404, 2421, + 2431, 2441, 2451, 2461, 2471, 2480, 2489, 2499, 2508, 2518, + 2528, 2544, 2554, 2564, 2574, 2584, 2601, 2611, 2621, 2631, + 2642, 2656, 2672, 2682, 2691, 2707, 2716, 2727, 2738, 2746, + 2755, 2764, 2772, 2780, 2789, 2798, 2807, 2815, 2823, 2832, + 2840, 2848, 2857, 2866, 2875, 2884, 2893, 2902, 2913, 2921, + 2930, 2939, 2948, 2957, 2966, 2975, 2983, 2991, 2999, 3006, + 3017, 3018, 3022, 3031, 3035, 3036, 3040, 3048, 3056, 3064, + 3075, 3078, 3079, 3083, 3084, 3089, 3093, 3097, 3102, 3109, + 3111, 3116, 3120, 3124, 3135, 3142, 3143, 3147, 3148, 3153, + 3206, 3219, 3233, 3245, 3252, 3256, 3270, 3283, 3284, 3289, + 3299, 3310, 3321, 3348, 3355, 3389, 3425, 3448, 3449, 3453, + 3454, 3463, 3464, 3465, 3468, 3469, 3474, 3475, 3479, 3483, + 3487, 3491, 3495, 3499, 3503, 3507, 3511, 3515, 3519, 3523, + 3527, 3531, 3535, 3544, 3548, 3552, 3556, 3560, 3561, 3566, + 3570, 3577, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3597, + 3605, 3616, 3636, 3656, 3677, 3698, 3719, 3753, 3754, 3755, + 3756, 3757, 3764, 3771, 3772, 3776, 3777, 3781, 3782, 3786, + 3790, 3797, 3801, 3808, 3809, 3810, 3814, 3815, 3818, 3842, + 3861, 3883, 3884, 3888, 3889, 3893, 3894, 3898, 3899, 3903, + 3904, 3908, 3916, 3917, 3918, 3950, 3958, 3966, 3979, 3991, + 4004, 4014, 4024, 4048, 4068, 4069, 4070, 4074, 4075, 4094, + 4102, 4110, 4118, 4130, 4142, 4143, 4144, 4148, 4149, 4150, + 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4166, 4174, 4178, + 4192, 4210, 4226, 4243, 4259, 4279, 4314, 4322, 4326, 4340, + 4356, 4357, 4361, 4362, 4366, 4367, 4370, 4376, 4377, 4380, + 4384, 4392, 4397, 4403, 4404, 4408, 4413, 4420, 4421, 4425, + 4435, 4445, 4453, 4462, 4475, 4487, 4494, 4502, 4510, 4518, + 4526, 4536, 4537, 4541, 4542, 4545, 4557, 4558, 4561, 4572, + 4583, 4597, 4598, 4603, 4604, 4605, 4608, 4609, 4610, 4611, + 4614, 4615, 4618, 4619, 4622, 4642, 4655, 4677, 4678, 4681, + 4687, 4693, 4710, 4719, 4741, 4755, 4772, 4788, 4789, 4790, + 4802, 4816, 4833, 4847, 4848, 4860, 4881, 4892, 4906, 4915, + 4927, 4928, 4931, 4932, 4935, 4936, 4939, 4943, 4947, 4951, + 4955, 4959, 4963, 4967, 4971, 4975, 4979, 4983, 4987, 4991, + 4995, 4999, 5005, 5006, 5010, 5011, 5012, 5019, 5022, 5023, + 5035, 5051, 5067, 5068, 5076, 5077, 5081, 5082, 5086, 5087, + 5091, 5092, 5096, 5097, 5107, 5119, 5120, 5133, 5141, 5159, + 5168, 5180, 5183, 5187, 5191, 5195, 5202, 5214, 5225, 5228, + 5232, 5245, 5255, 5265, 5275, 5285, 5295, 5305, 5315, 5325, + 5335, 5345, 5355, 5365, 5384, 5396, 5397, 5398, 5399, 5403, + 5404, 5408, 5409, 5419, 5428, 5441, 5442, 5446, 5450, 5458, + 5462, 5466, 5473, 5477, 5482, 5487, 5494, 5501, 5506, 5516, + 5529, 5545, 5546, 5551, 5552, 5556, 5557, 5567, 5577, 5586, + 5604, 5625, 5646, 5668, 5702, 5718, 5719, 5723, 5732, 5747, + 5757, 5770, 5771, 5783, 5792, 5810, 5835, 5853, 5868, 5869, + 5873, 5874, 5878, 5879, 5883, 5884, 5888, 5902, 5906, 5907, + 5911, 5912, 5913, 5914, 5915, 5925, 5937, 5938, 5949, 5972, + 6004, 6005, 6006, 6010, 6012, 6034, 6036, 6038, 6040, 6042, + 6047, 6048, 6052, 6053, 6057, 6069, 6070, 6074, 6083, 6087, + 6091, 6096, 6106, 6107, 6111, 6112, 6116, 6117, 6121, 6122, + 6126, 6127, 6128, 6132, 6136, 6137, 6138, 6142, 6143, 6148, + 6149, 6176, 6177, 6178, 6179, 6180, 6181, 6194, 6205, 6220, + 6222, 6227, 6232, 6234, 6239, 6250, 6251, 6252, 6253, 6264, + 6283, 6295, 6308, 6319, 6330, 6342, 6351, 6359, 6367, 6377, + 6387, 6397, 6407, 6417, 6428, 6438, 6451, 6454, 6455, 6458, + 6462, 6469, 6470, 6471, 6472, 6473, 6474, 6477, 6480, 6481, + 6489, 6496, 6497, 6500, 6502, 6513, 6525, 6537, 6549, 6561, + 6590, 6591, 6607, 6623, 6624, 6628, 6641, 6652, 6661, 6671, + 6681, 6682, 6685, 6686, 6689, 6690, 6691, 6694, 6708, 6713, + 6724, 6734, 6747, 6748, 6752, 6761, 6774, 6785, 6799, 6810, + 6833, 6844, 6863, 6874, 6885, 6896, 6907, 6918, 6929, 6940, + 6951, 6962, 6973, 6984, 6999, 7000, 7001, 7002, 7003, 7004, + 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7021, 7022, 7023, + 7024, 7025, 7029, 7030, 7031, 7032, 7033, 7034, 7035, 7036, + 7041, 7042, 7043, 7047, 7048, 7051, 7052, 7055, 7057, 7062, + 7063, 7074, 7086, 7087, 7088, 7098, 7107, 7116, 7125, 7134, + 7143, 7152, 7161, 7170, 7179, 7193, 7202, 7211, 7220, 7229, + 7238, 7247, 7256, 7268, 7269, 7283, 7294, 7305, 7316, 7327, + 7338, 7349, 7360, 7371, 7382, 7395, 7396, 7399, 7400, 7410, + 7417, 7426, 7435, 7444, 7453, 7462, 7471, 7480, 7489, 7498, + 7507, 7516, 7525, 7534, 7543, 7552, 7561, 7572, 7573, 7576, + 7577, 7587, 7605, 7621, 7649, 7651, 7653, 7655, 7663, 7673, + 7674, 7677, 7685, 7693, 7701, 7708, 7719, 7723, 7730, 7734, + 7745, 7754, 7763, 7772, 7781, 7790, 7799, 7808, 7817, 7826, + 7835, 7844, 7853, 7861, 7870, 7879, 7888, 7897, 7906, 7915, + 7924, 7937, 7938, 7942, 7943, 7948, 7949, 7959, 7970, 7984, + 7996, 8014, 8015, 8019, 8026, 8027, 8028, 8031, 8032, 8042, + 8053, 8054, 8058, 8062, 8066, 8077, 8091, 8106, 8124, 8125, + 8126, 8127, 8128, 8129, 8141, 8173, 8208, 8209, 8213, 8214, + 8217, 8218, 8223, 8235, 8254, 8259, 8264, 8271, 8272, 8275, + 8276, 8279, 8280, 8284, 8285, 8286, 8289, 8290, 8291, 8307, + 8321, 8336, 8350, 8367, 8368, 8371, 8372, 8376, 8377, 8381, + 8382, 8387, 8401, 8409, 8417, 8433, 8434, 8438, 8439, 8454, + 8464, 8474, 8484, 8494, 8507, 8508, 8509, 8510, 8511, 8517, + 8521, 8536, 8537, 8543, 8553, 8557, 8562, 8570, 8612, 8616, + 8620, 8624, 8632, 8633, 8637, 8649, 8650, 8655, 8656, 8661, + 8662, 8669, 8673, 8677, 8681, 8685, 8689, 8693, 8697, 8701, + 8705, 8709, 8713, 8717, 8721, 8725, 8729, 8734, 8741, 8745, + 8749, 8753, 8757, 8763, 8764, 8770, 8780, 8784, 8795, 8801, + 8810, 8816, 8817, 8821, 8822, 8826, 8827, 8830, 8843, 8847, + 8862, 8871, 8880, 8893, 8894, 8899, 8900, 8917, 8928, 8939, + 8950, 8961, 8972, 8986, 8997, 9011, 9022, 9036, 9044, 9046, + 9048, 9053, 9055, 9060, 9061, 9066, 9085, 9095, 9096, 9100, + 9104, 9116, 9128, 9140, 9154, 9155, 9156, 9160, 9173, 9174, + 9184, 9197, 9201, 9205, 9209, 9216, 9238, 9251, 9264, 9279, + 9280, 9283, 9284, 9287, 9288, 9298, 9308, 9326, 9336, 9346, + 9356, 9366, 9376, 9386, 9396, 9406, 9416, 9426, 9436, 9446, + 9457, 9468, 9478, 9488, 9498, 9508, 9518, 9528, 9539, 9550, + 9561, 9572, 9583, 9594, 9605, 9616, 9627, 9638, 9649, 9660, + 9672, 9684, 9696, 9708, 9720, 9732, 9743, 9754, 9766, 9778, + 9789, 9800, 9809, 9819, 9829, 9839, 9849, 9859, 9869, 9879, + 9889, 9899, 9914, 9915, 9918, 9919, 9929, 9939, 9949, 9959, + 9970, 9980, 9992, 9993, 10003, 10013, 10023, 10033, 10043, 10053, + 10063, 10073, 10083, 10093, 10103, 10113, 10123, 10133, 10143, 10153, + 10163, 10173, 10183, 10193, 10203, 10213, 10223, 10233, 10243, 10253, + 10263, 10282, 10292, 10293, 10296, 10298, 10300, 10306, 10307, 10308, + 10309, 10310, 10322, 10338, 10347, 10356, 10365, 10374, 10383, 10392, + 10401, 10410, 10419, 10428, 10437, 10446, 10455, 10464, 10473, 10482, + 10491, 10500, 10509, 10518, 10527, 10536, 10545, 10573, 10581, 10590, + 10616, 10625, 10632, 10638, 10665, 10676, 10685, 10693, 10695, 10717, + 10725, 10735, 10745, 10764, 10783, 10793, 10803, 10813, 10824, 10835, + 10846, 10857, 10868, 10886, 10895, 10912, 10930, 10931, 10932, 10937, + 10943, 10952, 10953, 10954, 10955, 10956, 10960, 10961, 10964, 10965, + 10966, 10967, 10971, 10972, 10973, 10985, 10996, 10997, 11000, 11010, + 11017, 11037, 11047, 11056, 11066, 11076, 11085, 11094, 11103, 11112, + 11121, 11130, 11139, 11151, 11160, 11172, 11173, 11174, 11178, 11181, + 11184, 11187, 11190, 11197, 11199, 11201, 11206, 11208, 11212, 11213, + 11214, 11226, 11240, 11254, 11273, 11295, 11296, 11297, 11298, 11308, + 11325, 11336, 11337, 11341, 11342, 11346, 11350, 11354, 11372, 11373, + 11374, 11375, 11376, 11377, 11378, 11385, 11386, 11397, 11405, 11413, + 11422, 11432, 11450, 11459, 11468, 11477, 11489, 11493, 11504, 11516, + 11534, 11541, 11558, 11572, 11582, 11591, 11600, 11610, 11622, 11634, + 11645, 11646, 11657, 11668, 11680, 11692, 11704, 11716, 11726, 11739, + 11740, 11754, 11778, 11787, 11797, 11809, 11821, 11835, 11836, 11848, + 11869, 11880, 11892, 11904, 11908, 11915, 11916, 11920, 11927, 11928, + 11929, 11933, 11934, 11935, 11939, 11940, 11944, 11945, 11948, 11949, + 11952, 11953, 11957, 11958, 11962, 11969, 11971, 11976, 11977, 11990, + 11998, 12009, 12017, 12028, 12029, 12030, 12031, 12032, 12033, 12034, + 12035, 12036, 12037, 12047, 12058, 12059, 12063, 12064, 12065, 12066, + 12067, 12077, 12085, 12103, 12123, 12124, 12134, 12143, 12152, 12161, + 12180, 12198, 12202, 12210, 12216, 12223, 12229, 12236, 12245, 12246, + 12250, 12252, 12257, 12268, 12278, 12288, 12294, 12303, 12312, 12318, + 12319, 12330, 12345, 12346, 12357, 12368, 12369, 12372, 12373, 12374, + 12375, 12376, 12377, 12378, 12379, 12382, 12383, 12387, 12388, 12389, + 12400, 12419, 12420, 12424, 12429, 12453, 12464, 12465, 12477, 12497, + 12498, 12508, 12515, 12522, 12529, 12539, 12552, 12553, 12557, 12558, + 12562, 12563, 12567, 12580, 12593, 12602, 12611, 12620, 12629, 12641, + 12653, 12665, 12668, 12669, 12670, 12671, 12672, 12673, 12676, 12677, + 12678, 12726, 12727, 12731, 12732, 12747, 12748, 12755, 12763, 12771, + 12779, 12787, 12795, 12806, 12807, 12839, 12855, 12872, 12873, 12892, + 12896, 12900, 12915, 12922, 12929, 12939, 12940, 12943, 12959, 12960, + 12961, 12965, 12975, 12986, 12992, 13004, 13017, 13023, 13024, 13028, + 13040, 13048, 13053, 13058, 13063, 13068, 13076, 13084, 13089, 13094, + 13101, 13102, 13106, 13107, 13108, 13115, 13116, 13120, 13121, 13125, + 13126, 13130, 13131, 13135, 13139, 13140, 13143, 13152, 13165, 13170, + 13175, 13179, 13191, 13192, 13196, 13205, 13221, 13230, 13239, 13248, + 13260, 13263, 13268, 13269, 13277, 13297, 13298, 13300, 13305, 13306, + 13310, 13311, 13314, 13315, 13340, 13349, 13359, 13360, 13364, 13365, + 13366, 13367, 13368, 13372, 13385, 13392, 13399, 13406, 13407, 13411, + 13412, 13416, 13417, 13421, 13422, 13426, 13438, 13439, 13440, 13441, + 13445, 13446, 13456, 13463, 13482, 13483, 13487, 13488, 13494, 13499, + 13508, 13516, 13525, 13532, 13540, 13549, 13558, 13562, 13567, 13574, + 13603, 13607, 13621, 13642, 13664, 13677, 13694, 13700, 13705, 13711, + 13718, 13719, 13729, 13735, 13743, 13747, 13751, 13758, 13766, 13771, + 13772, 13773, 13774, 13778, 13779, 13794, 13798, 13806, 13813, 13820, + 13827, 13834, 13845, 13846, 13859, 13863, 13871, 13885, 13899, 13900, + 13915, 13926, 13939, 13944, 13945, 13948, 13949, 13952, 13953, 13958, + 13959, 13964, 13965, 13974, 13979, 13980, 13984, 13988, 13994, 14019, + 14030, 14044, 14045, 14049, 14063, 14120, 14134, 14136, 14141, 14143, + 14145, 14147, 14149, 14154, 14156, 14161, 14169, 14180, 14208, 14209, + 14213, 14215, 14220, 14229, 14249, 14269, 14287, 14299, 14314, 14315, + 14319, 14322, 14335, 14340, 14347, 14352, 14358, 14363, 14372, 14374, + 14377, 14381, 14382, 14383, 14384, 14385, 14386, 14391, 14397, 14412, + 14413, 14414, 14415, 14416, 14427, 14433, 14441, 14442, 14448, 14453, + 14458, 14463, 14468, 14473, 14478, 14483, 14489, 14495, 14501, 14508, + 14530, 14539, 14543, 14551, 14555, 14563, 14575, 14596, 14600, 14606, + 14610, 14623, 14631, 14641, 14643, 14645, 14647, 14649, 14651, 14656, + 14657, 14664, 14673, 14681, 14690, 14701, 14709, 14710, 14711, 14715, + 14717, 14719, 14721, 14723, 14725, 14727, 14732, 14737, 14743, 14751, + 14756, 14763, 14770, 14774, 14778, 14786, 14821, 14822, 14824, 14833, + 14840, 14856, 14858, 14860, 14862, 14864, 14866, 14868, 14870, 14872, + 14874, 14876, 14878, 14880, 14882, 14885, 14887, 14890, 14892, 14894, + 14896, 14899, 14904, 14913, 14918, 14927, 14932, 14941, 14946, 14956, + 14965, 14974, 14983, 15002, 15011, 15020, 15029, 15038, 15055, 15064, + 15073, 15082, 15091, 15100, 15109, 15113, 15117, 15125, 15133, 15141, + 15149, 15170, 15193, 15205, 15212, 15228, 15233, 15239, 15246, 15253, + 15261, 15269, 15286, 15305, 15331, 15333, 15335, 15337, 15339, 15341, + 15343, 15345, 15347, 15349, 15351, 15353, 15355, 15357, 15359, 15361, + 15363, 15365, 15367, 15371, 15375, 15380, 15396, 15397, 15398, 15415, + 15428, 15430, 15432, 15444, 15469, 15481, 15493, 15501, 15512, 15523, + 15533, 15539, 15548, 15558, 15568, 15581, 15591, 15622, 15658, 15668, + 15679, 15680, 15681, 15688, 15695, 15699, 15703, 15707, 15711, 15715, + 15719, 15723, 15727, 15731, 15735, 15739, 15743, 15750, 15754, 15758, + 15762, 15764, 15771, 15778, 15785, 15792, 15803, 15817, 15827, 15838, + 15854, 15864, 15871, 15878, 15885, 15889, 15897, 15906, 15915, 15919, + 15923, 15927, 15931, 15935, 15944, 15948, 15958, 15962, 15966, 15971, + 15982, 15988, 16002, 16013, 16027, 16043, 16055, 16065, 16074, 16083, + 16091, 16113, 16129, 16153, 16155, 16159, 16161, 16163, 16166, 16169, + 16172, 16173, 16176, 16184, 16194, 16195, 16198, 16199, 16200, 16203, + 16204, 16205, 16210, 16214, 16218, 16222, 16229, 16230, 16238, 16239, + 16243, 16244, 16252, 16253, 16257, 16258, 16263, 16272, 16274, 16289, + 16292, 16320, 16321, 16324, 16325, 16333, 16341, 16349, 16358, 16368, + 16386, 16432, 16441, 16450, 16459, 16468, 16480, 16481, 16482, 16483, + 16484, 16498, 16499, 16500, 16503, 16504, 16507, 16510, 16511, 16512, + 16515, 16516, 16519, 16520, 16521, 16522, 16523, 16524, 16525, 16526, + 16527, 16528, 16529, 16530, 16533, 16535, 16540, 16542, 16547, 16549, + 16551, 16553, 16555, 16557, 16569, 16573, 16580, 16584, 16590, 16594, + 16604, 16616, 16617, 16620, 16621, 16624, 16628, 16632, 16638, 16639, + 16644, 16648, 16658, 16659, 16660, 16661, 16662, 16663, 16664, 16665, + 16669, 16670, 16671, 16672, 16677, 16682, 16691, 16712, 16716, 16721, + 16732, 16749, 16755, 16756, 16757, 16760, 16768, 16778, 16793, 16794, + 16798, 16810, 16811, 16814, 16815, 16818, 16822, 16829, 16833, 16837, + 16846, 16858, 16859, 16863, 16864, 16868, 16869, 16872, 16873, 16878, + 16879, 16883, 16884, 16888, 16900, 16901, 16902, 16903, 16904, 16905, + 16906, 16907, 16908, 16912, 16914, 16919, 16920, 16921, 16922, 16923, + 16924, 16925, 16927, 16931, 16933, 16935, 16938, 16942, 16945, 16949, + 16958, 16975, 16982, 16987, 16993, 16994, 16995, 16996, 16997, 17001, + 17010, 17024, 17025, 17026, 17027, 17028, 17037, 17038, 17039, 17040, + 17041, 17045, 17047, 17057, 17060, 17066, 17067, 17068, 17072, 17073, + 17074, 17078, 17079, 17083, 17101, 17121, 17122, 17131, 17132, 17136, + 17137, 17140, 17148, 17156, 17164, 17187, 17188, 17199, 17203, 17209, + 17211, 17216, 17218, 17220, 17230, 17232, 17243, 17247, 17251, 17255, + 17259, 17268, 17276, 17308, 17315, 17347, 17351, 17358, 17366, 17370, + 17376, 17383, 17387, 17391, 17397, 17398, 17400, 17401, 17402, 17406, + 17447, 17475, 17479, 17483, 17489, 17491, 17505, 17541, 17554, 17555, + 17558, 17559, 17576, 17577, 17578, 17583, 17584, 17585, 17590, 17591, + 17592, 17593, 17599, 17600, 17601, 17602, 17603, 17609, 17610, 17630, + 17631, 17632, 17633, 17634, 17635, 17636, 17637, 17638, 17639, 17640, + 17641, 17642, 17643, 17644, 17645, 17646, 17647, 17648, 17649, 17650, + 17651, 17652, 17653, 17654, 17655, 17656, 17657, 17658, 17659, 17660, + 17661, 17662, 17663, 17664, 17665, 17666, 17667, 17668, 17669, 17670, + 17671, 17672, 17673, 17674, 17675, 17676, 17677, 17678, 17679, 17680, + 17681, 17682, 17683, 17684, 17685, 17686, 17687, 17688, 17689, 17690, + 17691, 17692, 17693, 17694, 17695, 17696, 17697, 17698, 17699, 17700, + 17701, 17702, 17703, 17704, 17705, 17706, 17707, 17708, 17709, 17710, + 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718, 17719, 17720, + 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728, 17729, 17730, + 17731, 17732, 17733, 17734, 17735, 17736, 17737, 17738, 17739, 17740, + 17741, 17742, 17743, 17744, 17745, 17746, 17747, 17748, 17749, 17750, + 17751, 17752, 17753, 17754, 17755, 17756, 17757, 17758, 17759, 17760, + 17761, 17762, 17763, 17764, 17765, 17766, 17767, 17768, 17769, 17770, + 17771, 17772, 17773, 17774, 17775, 17776, 17777, 17778, 17779, 17780, + 17781, 17782, 17783, 17784, 17785, 17786, 17787, 17788, 17789, 17790, + 17791, 17792, 17793, 17794, 17795, 17796, 17797, 17798, 17799, 17800, + 17801, 17802, 17803, 17804, 17805, 17806, 17807, 17808, 17809, 17810, + 17811, 17812, 17813, 17814, 17815, 17816, 17817, 17818, 17819, 17820, + 17821, 17822, 17823, 17824, 17825, 17826, 17827, 17828, 17829, 17830, + 17831, 17832, 17833, 17834, 17835, 17836, 17837, 17838, 17839, 17840, + 17841, 17842, 17843, 17844, 17845, 17846, 17847, 17848, 17849, 17850, + 17851, 17852, 17853, 17854, 17855, 17856, 17857, 17858, 17859, 17860, + 17861, 17862, 17863, 17864, 17865, 17866, 17867, 17868, 17869, 17870, + 17871, 17872, 17873, 17874, 17875, 17876, 17877, 17878, 17879, 17880, + 17881, 17882, 17883, 17884, 17885, 17886, 17887, 17888, 17889, 17890, + 17891, 17892, 17893, 17894, 17895, 17896, 17897, 17898, 17899, 17900, + 17901, 17902, 17903, 17904, 17905, 17906, 17907, 17908, 17909, 17910, + 17911, 17912, 17913, 17914, 17915, 17916, 17917, 17918, 17919, 17920, + 17921, 17922, 17923, 17924, 17925, 17926, 17927, 17928, 17929, 17930, + 17931, 17932, 17933, 17934, 17935, 17936, 17937, 17938, 17939, 17940, + 17941, 17942, 17943, 17944, 17945, 17946, 17947, 17948, 17949, 17950, + 17951, 17952, 17953, 17954, 17955, 17956, 17970, 17971, 17972, 17973, + 17974, 17975, 17976, 17977, 17978, 17979, 17980, 17981, 17982, 17983, + 17984, 17985, 17986, 17987, 17988, 17989, 17990, 17991, 17992, 17993, + 17994, 17995, 17996, 17997, 17998, 17999, 18000, 18001, 18002, 18003, + 18004, 18005, 18006, 18007, 18008, 18009, 18010, 18011, 18012, 18013, + 18014, 18015, 18016, 18017, 18018, 18019, 18020, 18021, 18022, 18023, + 18024, 18025, 18026, 18027, 18028, 18029, 18030, 18031, 18032, 18046, + 18047, 18048, 18049, 18050, 18051, 18052, 18053, 18054, 18055, 18056, + 18057, 18058, 18059, 18060, 18061, 18062, 18063, 18064, 18065, 18066, + 18067, 18068, 18078, 18079, 18080, 18081, 18082, 18083, 18084, 18085, + 18086, 18087, 18088, 18089, 18090, 18091, 18092, 18093, 18094, 18095, + 18096, 18097, 18098, 18099, 18100, 18101, 18102, 18103, 18104, 18105, + 18106, 18107, 18108, 18109, 18110, 18111, 18112, 18113, 18114, 18115, + 18116, 18117, 18118, 18119, 18120, 18121, 18122, 18123, 18124, 18125, + 18126, 18127, 18128, 18129, 18130, 18131, 18132, 18133, 18134, 18135, + 18136, 18137, 18138, 18139, 18140, 18141, 18142, 18143, 18144, 18145, + 18146, 18147, 18148, 18149, 18150, 18151, 18152, 18153, 18154, 18155, + 18168, 18169, 18170, 18171, 18172, 18173, 18174, 18175, 18176, 18177, + 18178, 18179, 18180, 18181, 18182, 18183, 18184, 18185, 18186, 18187, + 18188, 18189, 18190, 18191, 18192, 18193, 18194, 18195, 18196, 18197, + 18198, 18199, 18200, 18201, 18202, 18203, 18204, 18205, 18206, 18207, + 18208, 18209, 18210, 18211, 18212, 18213, 18214, 18215, 18216, 18217, + 18218, 18219, 18220, 18221, 18222, 18223, 18224, 18225, 18226, 18227, + 18228, 18229, 18230, 18231, 18232, 18233, 18234, 18235, 18236, 18237, + 18238, 18239, 18240, 18241, 18242, 18243, 18244, 18245, 18246, 18247, + 18248, 18249, 18250, 18251, 18252, 18253, 18254, 18255, 18256, 18257, + 18258, 18259, 18260, 18261, 18262, 18263, 18264, 18265, 18266, 18267, + 18268, 18269, 18270, 18271, 18272, 18273, 18274, 18275, 18276, 18277, + 18278, 18279, 18280, 18281, 18282, 18283, 18284, 18285, 18286, 18287, + 18288, 18289, 18290, 18291, 18292, 18293, 18294, 18295, 18296, 18297, + 18298, 18299, 18300, 18301, 18302, 18303, 18304, 18305, 18306, 18307, + 18308, 18309, 18310, 18311, 18312, 18313, 18314, 18315, 18316, 18317, + 18318, 18319, 18320, 18321, 18322, 18323, 18324, 18325, 18326, 18327, + 18328, 18329, 18330, 18331, 18332, 18333, 18334, 18335, 18336, 18337, + 18338, 18339, 18340, 18341, 18342, 18343, 18344, 18345, 18346, 18347, + 18348, 18349, 18350, 18351, 18352, 18353, 18354, 18355, 18356, 18357, + 18358, 18359, 18360, 18361, 18362, 18363, 18364, 18365, 18366, 18367, + 18368, 18369, 18370, 18371, 18372, 18373, 18374, 18375, 18376, 18377, + 18378, 18379, 18380, 18381, 18382, 18383, 18384, 18385, 18386, 18387, + 18388, 18389, 18390, 18391, 18392, 18393, 18394, 18395, 18396, 18397, + 18398, 18399, 18400, 18401, 18402, 18403, 18404, 18405, 18406, 18407, + 18408, 18409, 18410, 18411, 18412, 18413, 18414, 18415, 18416, 18417, + 18418, 18419, 18420, 18421, 18422, 18423, 18424, 18425, 18426, 18427, + 18428, 18429, 18430, 18431, 18432, 18433, 18434, 18435, 18436, 18437, + 18438, 18439, 18440, 18441, 18442, 18443, 18444, 18445, 18446, 18447, + 18448, 18449, 18450, 18451, 18452, 18453, 18454, 18455, 18456, 18457, + 18458, 18459, 18460, 18461, 18462, 18463, 18464, 18465, 18466, 18467, + 18468, 18469, 18470, 18471, 18472, 18473, 18474, 18475, 18476, 18477, + 18478, 18479, 18480, 18481, 18482, 18483, 18484, 18485, 18486, 18487, + 18488, 18489, 18490, 18491, 18492, 18493, 18494, 18495, 18496, 18497, + 18498, 18499, 18500, 18501, 18502, 18503, 18504, 18505, 18506, 18507, + 18508, 18509, 18510, 18511, 18512, 18513, 18514, 18515, 18516, 18517, + 18518, 18519, 18520, 18521, 18522, 18523, 18524, 18525, 18526, 18527, + 18528, 18529, 18530, 18531, 18532, 18533, 18534, 18535, 18536, 18537, + 18538, 18539, 18540, 18541, 18542, 18543, 18544, 18545, 18546, 18547, + 18548, 18549, 18550, 18551, 18552, 18553, 18554, 18555, 18556, 18557, + 18558, 18559, 18560, 18561, 18562, 18563, 18564, 18565, 18566, 18567, + 18568, 18569, 18570, 18571, 18572, 18573, 18574, 18575, 18576, 18577, + 18578, 18579, 18580, 18581, 18582, 18583, 18584, 18585, 18586, 18587, + 18588, 18589, 18590, 18591, 18592, 18593, 18594, 18595, 18596, 18597, + 18598, 18599, 18600, 18601, 18602, 18603, 18604, 18605, 18606, 18607, + 18608, 18609, 18610, 18611, 18612, 18613, 18614, 18615, 18616, 18617, + 18618, 18619 }; #endif @@ -3617,46 +3725,49 @@ static const char *const yytname[] = "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", - "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", - "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", - "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", - "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", - "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", - "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", - "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC", "DETACH", - "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", - "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", - "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", - "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", - "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", - "FILTER", "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", - "FOREIGN", "FORMAT", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", - "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", - "GROUP_P", "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", - "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", - "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", - "INDENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", - "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", - "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", - "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "JSON", "JSON_ARRAY", - "JSON_ARRAYAGG", "JSON_OBJECT", "JSON_OBJECTAGG", "KEY", "KEYS", "LABEL", - "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", - "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", - "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED", - "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", "MAXVALUE", "MERGE", - "METHOD", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", - "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NFC", "NFD", - "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", - "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", - "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "ON", - "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", - "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", - "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER", "PARSER", - "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS", - "POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE", - "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", - "PROCEDURES", "PROGRAM", "PUBLICATION", "QUOTE", "RANGE", "READ", "REAL", + "CONCURRENTLY", "CONDITIONAL", "CONFIGURATION", "CONFLICT", "CONNECTION", + "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", + "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", + "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", + "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", + "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", + "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", + "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC", + "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", + "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P", + "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ERROR_P", + "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", + "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", "EXTERNAL", + "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", "FIRST_P", + "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", "FORWARD", + "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", + "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", + "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", + "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", + "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", + "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", + "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", + "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", + "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS", + "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR", + "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP", "KEY", "KEYS", + "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", + "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", + "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", + "LOGGED", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", "MAXVALUE", + "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", "MINVALUE", "MODE", + "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR", + "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE", + "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL", + "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", + "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", "OPERATOR", + "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", + "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER", + "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", "PASSING", + "PASSWORD", "PATH", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION", + "PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", + "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", + "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", @@ -3665,68 +3776,71 @@ static const char *const yytname[] = "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", - "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P", "STABLE", - "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", - "STORAGE", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", - "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER", "TABLE", - "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", - "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP", "TO", "TRAILING", - "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P", - "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE", "UNBOUNDED", - "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", - "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", - "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", - "VARYING", "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", - "WHERE", "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", - "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", - "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", - "XMLROOT", "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE", - "FORMAT_LA", "NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA", - "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", - "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", - "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", - "')'", "'.'", "';'", "','", "':'", "$accept", "parse_toplevel", - "stmtmulti", "toplevel_stmt", "stmt", "opt_single_name", - "opt_qualified_name", "opt_concurrently", "opt_drop_behavior", - "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList", - "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem", - "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", - "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop", - "CreateSchemaStmt", "OptSchemaEltList", "schema_stmt", "VariableSetStmt", - "set_rest", "generic_set", "set_rest_more", "var_name", "var_list", - "var_value", "iso_level", "opt_boolean_or_string", "zone_value", - "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt", - "reset_rest", "generic_reset", "SetResetClause", - "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt", - "constraints_set_list", "constraints_set_mode", "CheckPointStmt", - "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd", + "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", + "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", + "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRING_P", "STRIP_P", + "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", + "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", + "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", + "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", + "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", + "UESCAPE", "UNBOUNDED", "UNCONDITIONAL", "UNCOMMITTED", "UNENCRYPTED", + "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", + "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", + "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", + "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", + "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", + "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", + "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", + "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA", "NOT_LA", "NULLS_LA", + "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", + "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", + "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", + "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'", "$accept", + "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt", + "opt_single_name", "opt_qualified_name", "opt_concurrently", + "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with", + "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem", + "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt", + "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt", + "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList", + "schema_stmt", "VariableSetStmt", "set_rest", "generic_set", + "set_rest_more", "var_name", "var_list", "var_value", "iso_level", + "opt_boolean_or_string", "zone_value", "opt_encoding", + "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest", + "generic_reset", "SetResetClause", "FunctionSetResetClause", + "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list", + "constraints_set_mode", "CheckPointStmt", "DiscardStmt", + "AlterTableStmt", "alter_table_cmds", "partition_cmd", "index_partition_cmd", "alter_table_cmd", "alter_column_default", "opt_collate_clause", "alter_using", "replica_identity", "reloptions", "opt_reloptions", "reloption_list", "reloption_elem", "alter_identity_column_option_list", "alter_identity_column_option", - "PartitionBoundSpec", "hash_partbound_elem", "hash_partbound", - "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd", - "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program", - "copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item", - "opt_binary", "copy_delimiter", "opt_using", "copy_generic_opt_list", - "copy_generic_opt_elem", "copy_generic_opt_arg", - "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item", - "CreateStmt", "OptTemp", "OptTableElementList", - "OptTypedTableElementList", "TableElementList", "TypedTableElementList", - "TableElement", "TypedTableElement", "columnDef", "columnOptions", - "column_compression", "opt_column_compression", "column_storage", - "opt_column_storage", "ColQualList", "ColConstraint", - "ColConstraintElem", "opt_unique_null_treatment", "generated_when", - "ConstraintAttr", "TableLikeClause", "TableLikeOptionList", - "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit", - "opt_column_list", "columnList", "columnElem", "opt_c_include", - "key_match", "ExclusionConstraintList", "ExclusionConstraintElem", - "OptWhereClause", "key_actions", "key_update", "key_delete", - "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec", - "part_params", "part_elem", "table_access_method_clause", "OptWith", - "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex", - "CreateStatsStmt", "stats_params", "stats_param", "AlterStatsStmt", - "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt", + "set_statistics_value", "set_access_method_name", "PartitionBoundSpec", + "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt", + "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt", + "copy_from", "opt_program", "copy_file_name", "copy_options", + "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter", + "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem", + "copy_generic_opt_arg", "copy_generic_opt_arg_list", + "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp", + "OptTableElementList", "OptTypedTableElementList", "TableElementList", + "TypedTableElementList", "TableElement", "TypedTableElement", + "columnDef", "columnOptions", "column_compression", + "opt_column_compression", "column_storage", "opt_column_storage", + "ColQualList", "ColConstraint", "ColConstraintElem", + "opt_unique_null_treatment", "generated_when", "ConstraintAttr", + "TableLikeClause", "TableLikeOptionList", "TableLikeOption", + "TableConstraint", "ConstraintElem", "DomainConstraint", + "DomainConstraintElem", "opt_no_inherit", "opt_column_list", + "columnList", "columnElem", "opt_c_include", "key_match", + "ExclusionConstraintList", "ExclusionConstraintElem", "OptWhereClause", + "key_actions", "key_update", "key_delete", "key_action", "OptInherit", + "OptPartitionSpec", "PartitionSpec", "part_params", "part_elem", + "table_access_method_clause", "OptWith", "OnCommitOption", + "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt", + "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt", + "create_as_target", "opt_with_data", "CreateMatViewStmt", "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt", "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList", "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list", @@ -3832,7 +3946,8 @@ static const char *const yytname[] = "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause", "set_target", "set_target_list", "MergeStmt", "merge_when_list", - "merge_when_clause", "opt_merge_when_condition", "merge_update", + "merge_when_clause", "merge_when_tgt_matched", + "merge_when_tgt_not_matched", "opt_merge_when_condition", "merge_update", "merge_delete", "merge_insert", "merge_values_clause", "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens", "select_clause", @@ -3859,20 +3974,23 @@ static const char *const yytname[] = "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement", "xmltable", "xmltable_column_list", "xmltable_column_el", "xmltable_column_option_list", "xmltable_column_option_el", - "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds", + "xml_namespace_list", "xml_namespace_el", "json_table", + "json_table_path_name_opt", "json_table_column_definition_list", + "json_table_column_definition", "path_opt", + "json_table_column_path_clause_opt", "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime", "ConstInterval", "opt_timezone", "opt_interval", "interval_second", - "a_expr", "b_expr", "c_expr", "func_application", "func_expr", - "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version", - "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list", - "xml_attribute_el", "document_or_content", "xml_indent_option", - "xml_whitespace_option", "xmlexists_argument", "xml_passing_mech", - "within_group_clause", "filter_clause", "window_clause", - "window_definition_list", "window_definition", "over_clause", - "window_specification", "opt_existing_window_name", + "JsonType", "a_expr", "b_expr", "c_expr", "func_application", + "func_expr", "func_expr_windowless", "func_expr_common_subexpr", + "xml_root_version", "opt_xml_root_standalone", "xml_attributes", + "xml_attribute_list", "xml_attribute_el", "document_or_content", + "xml_indent_option", "xml_whitespace_option", "xmlexists_argument", + "xml_passing_mech", "within_group_clause", "filter_clause", + "window_clause", "window_definition_list", "window_definition", + "over_clause", "window_specification", "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause", "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op", @@ -3882,9 +4000,12 @@ static const char *const yytname[] = "position_list", "substr_list", "trim_list", "in_expr", "case_expr", "when_clause_list", "when_clause", "case_default", "case_arg", "columnref", "indirection_el", "opt_slice_bound", "indirection", - "opt_indirection", "opt_asymmetric", "json_value_expr", - "json_format_clause_opt", "json_encoding_clause_opt", - "json_output_clause_opt", "json_predicate_type_constraint", + "opt_indirection", "opt_asymmetric", "json_passing_clause_opt", + "json_arguments", "json_argument", "json_wrapper_behavior", + "json_behavior", "json_behavior_type", "json_behavior_clause_opt", + "json_on_error_clause_opt", "json_value_expr", "json_format_clause", + "json_format_clause_opt", "json_quotes_clause_opt", + "json_returning_clause_opt", "json_predicate_type_constraint", "json_key_uniqueness_constraint_opt", "json_name_and_value_list", "json_name_and_value", "json_object_constructor_null_clause_opt", "json_array_constructor_null_clause_opt", "json_value_expr_list", @@ -3955,8 +4076,10 @@ static const yytype_uint16 yytoknum[] = 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 60, 62, 61, 43, 45, 42, 47, - 37, 94, 758, 91, 93, 40, 41, 46, 59, 44, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 60, 62, 61, 43, 45, 42, 47, + 37, 94, 778, 91, 93, 40, 41, 46, 59, 44, 58 }; # endif @@ -3964,336 +4087,349 @@ static const yytype_uint16 yytoknum[] = /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 521, 522, 522, 522, 522, 522, 522, 523, 523, - 524, 524, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 525, 525, 525, - 525, 525, 525, 525, 525, 525, 525, 526, 526, 527, - 527, 528, 528, 529, 529, 529, 530, 531, 532, 532, - 532, 533, 533, 534, 534, 535, 535, 535, 535, 535, - 535, 535, 535, 535, 535, 535, 536, 536, 536, 536, - 536, 536, 537, 538, 538, 539, 539, 540, 540, 540, - 540, 541, 541, 541, 541, 541, 541, 542, 543, 544, - 544, 545, 545, 545, 545, 546, 546, 547, 547, 547, - 547, 547, 547, 548, 548, 548, 549, 549, 549, 550, - 550, 550, 550, 551, 551, 551, 551, 551, 551, 551, - 551, 551, 551, 551, 551, 551, 551, 552, 552, 553, - 553, 554, 554, 554, 555, 555, 555, 555, 556, 556, - 556, 556, 557, 557, 557, 557, 557, 557, 557, 557, - 558, 558, 558, 559, 559, 560, 561, 561, 561, 561, - 562, 562, 563, 563, 564, 564, 565, 565, 565, 565, - 565, 566, 567, 567, 568, 568, 569, 570, 570, 570, - 570, 570, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 571, 571, 571, 571, 571, 571, 571, - 571, 571, 571, 572, 572, 573, 573, 573, 574, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 576, - 576, 577, 577, 578, 578, 579, 579, 579, 579, 580, - 581, 581, 582, 582, 583, 583, 583, 583, 584, 584, - 585, 585, 585, 585, 586, 586, 586, 586, 587, 588, - 588, 589, 590, 590, 591, 591, 591, 591, 592, 592, - 593, 593, 594, 594, 595, 595, 596, 596, 596, 597, - 597, 598, 598, 599, 599, 599, 599, 599, 599, 599, - 599, 599, 599, 599, 599, 599, 600, 600, 601, 601, - 602, 602, 603, 603, 604, 605, 605, 605, 605, 605, - 606, 606, 607, 608, 608, 608, 608, 608, 608, 609, - 609, 609, 609, 609, 609, 609, 609, 610, 610, 611, - 611, 612, 612, 613, 613, 614, 614, 614, 615, 615, - 616, 617, 617, 618, 618, 619, 619, 620, 620, 621, - 621, 622, 622, 623, 623, 623, 623, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 625, 625, 625, 626, - 626, 627, 627, 627, 627, 628, 629, 629, 629, 630, - 630, 630, 630, 630, 630, 630, 630, 630, 630, 631, - 631, 632, 632, 632, 632, 632, 632, 632, 633, 633, - 634, 634, 635, 635, 636, 637, 637, 638, 638, 638, - 638, 639, 639, 640, 640, 641, 641, 642, 642, 642, - 642, 642, 643, 644, 645, 645, 645, 645, 645, 646, - 646, 647, 647, 648, 649, 649, 650, 650, 650, 651, - 651, 652, 652, 652, 653, 653, 653, 653, 654, 654, - 655, 655, 656, 657, 657, 658, 658, 659, 659, 659, - 660, 660, 661, 661, 662, 663, 663, 663, 664, 664, - 665, 666, 666, 667, 668, 668, 669, 669, 670, 670, - 671, 671, 672, 672, 673, 673, 673, 673, 673, 673, - 673, 673, 673, 673, 673, 673, 673, 673, 674, 674, - 675, 675, 675, 675, 676, 676, 677, 677, 678, 678, - 679, 679, 680, 680, 681, 681, 682, 682, 683, 683, - 684, 685, 685, 686, 686, 687, 687, 688, 688, 689, - 689, 689, 689, 690, 691, 691, 692, 693, 693, 693, - 693, 693, 693, 693, 693, 693, 693, 693, 693, 693, - 694, 695, 695, 695, 695, 696, 696, 697, 697, 698, - 698, 699, 699, 700, 700, 701, 702, 702, 703, 703, - 703, 703, 704, 705, 706, 707, 707, 708, 708, 709, - 709, 710, 710, 711, 711, 711, 712, 712, 712, 712, - 713, 714, 714, 715, 715, 716, 716, 717, 717, 718, - 718, 719, 720, 721, 722, 722, 723, 723, 724, 724, - 725, 725, 726, 726, 727, 727, 728, 728, 728, 728, - 728, 729, 730, 730, 731, 731, 732, 732, 732, 733, - 733, 734, 734, 734, 734, 734, 735, 735, 736, 736, - 737, 738, 738, 739, 739, 740, 741, 741, 742, 742, - 743, 743, 744, 744, 745, 745, 746, 746, 746, 747, - 747, 747, 747, 748, 748, 749, 749, 750, 750, 750, - 750, 750, 750, 751, 751, 752, 752, 753, 754, 754, - 755, 756, 756, 756, 756, 757, 758, 758, 758, 758, - 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, - 758, 758, 759, 760, 760, 761, 761, 762, 762, 762, - 762, 762, 762, 763, 764, 764, 765, 766, 766, 767, - 767, 768, 768, 768, 768, 769, 769, 770, 771, 771, - 772, 772, 772, 772, 772, 773, 773, 774, 774, 775, - 775, 775, 776, 776, 777, 778, 778, 779, 779, 780, - 780, 781, 781, 782, 782, 783, 784, 785, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 785, 785, 786, - 786, 786, 786, 786, 786, 786, 786, 786, 786, 786, - 786, 786, 787, 787, 787, 787, 787, 788, 788, 788, - 788, 788, 788, 788, 788, 789, 789, 789, 790, 790, - 791, 791, 792, 792, 793, 793, 794, 795, 795, 795, - 796, 796, 796, 796, 796, 796, 796, 796, 796, 796, - 796, 796, 796, 796, 796, 796, 796, 796, 797, 797, - 798, 798, 798, 798, 798, 798, 798, 798, 798, 798, - 799, 799, 800, 800, 801, 801, 802, 802, 802, 802, - 802, 802, 802, 802, 802, 802, 802, 802, 802, 802, - 802, 802, 803, 803, 804, 804, 805, 806, 806, 807, - 807, 807, 807, 807, 808, 808, 809, 809, 809, 809, - 809, 810, 810, 811, 811, 812, 812, 812, 812, 812, - 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, - 812, 812, 812, 812, 812, 812, 813, 813, 814, 814, - 815, 815, 816, 816, 817, 817, 818, 818, 819, 820, - 820, 820, 821, 821, 822, 823, 823, 824, 824, 824, - 825, 825, 825, 826, 826, 826, 826, 826, 826, 827, - 827, 828, 828, 829, 829, 830, 830, 831, 831, 832, - 832, 832, 833, 833, 834, 834, 835, 835, 836, 836, - 836, 837, 837, 837, 838, 838, 838, 838, 839, 839, - 840, 840, 841, 841, 842, 842, 843, 843, 843, 843, - 844, 844, 845, 845, 846, 846, 846, 846, 846, 847, - 847, 847, 847, 847, 848, 849, 850, 850, 850, 851, - 851, 851, 852, 853, 853, 853, 853, 854, 854, 855, - 856, 856, 857, 857, 858, 858, 859, 859, 859, 859, - 859, 859, 859, 859, 859, 859, 859, 859, 859, 859, - 859, 859, 859, 860, 860, 860, 860, 860, 861, 861, - 862, 863, 863, 863, 864, 864, 865, 865, 866, 866, - 867, 867, 868, 869, 869, 870, 870, 870, 871, 871, - 872, 872, 873, 873, 873, 873, 873, 873, 874, 874, - 875, 875, 876, 876, 876, 876, 877, 877, 878, 878, - 879, 880, 881, 881, 882, 882, 883, 883, 883, 884, - 884, 884, 885, 886, 886, 887, 888, 888, 888, 888, - 889, 890, 890, 890, 891, 891, 892, 892, 893, 893, - 894, 894, 895, 895, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 895, 895, 895, 895, 895, 895, 895, 896, 896, 897, - 897, 898, 898, 898, 898, 898, 898, 899, 899, 900, - 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, - 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, - 900, 900, 900, 900, 900, 900, 901, 902, 902, 903, - 903, 904, 904, 904, 904, 904, 905, 906, 906, 906, - 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, - 906, 906, 906, 906, 906, 906, 906, 906, 906, 906, - 906, 907, 907, 907, 908, 908, 908, 908, 908, 908, - 908, 909, 909, 910, 910, 910, 910, 911, 912, 912, - 912, 912, 912, 912, 912, 912, 912, 913, 913, 914, - 915, 915, 915, 916, 916, 917, 917, 917, 917, 917, - 918, 918, 919, 919, 919, 919, 920, 920, 920, 921, - 922, 922, 923, 924, 924, 925, 925, 925, 925, 925, - 925, 925, 925, 925, 925, 925, 925, 926, 926, 927, - 927, 927, 928, 928, 928, 928, 928, 929, 929, 929, - 930, 930, 931, 931, 931, 932, 932, 932, 932, 933, - 933, 933, 933, 934, 935, 936, 936, 937, 937, 938, - 938, 938, 939, 939, 939, 939, 939, 939, 939, 940, - 940, 941, 941, 941, 941, 942, 943, 943, 943, 943, - 944, 944, 945, 946, 947, 947, 948, 949, 949, 949, - 949, 949, 949, 949, 950, 950, 951, 952, 952, 952, - 952, 952, 952, 953, 953, 954, 955, 955, 955, 955, - 956, 956, 957, 957, 958, 958, 959, 959, 960, 960, - 961, 962, 962, 962, 963, 963, 963, 964, 964, 965, - 965, 966, 966, 967, 967, 968, 968, 969, 970, 970, - 971, 971, 972, 972, 972, 972, 973, 973, 973, 973, - 973, 973, 973, 973, 973, 973, 974, 975, 975, 976, - 976, 976, 976, 976, 977, 977, 977, 978, 978, 979, - 979, 979, 979, 980, 981, 981, 982, 982, 982, 982, - 982, 983, 983, 984, 984, 985, 986, 986, 986, 987, - 987, 987, 988, 988, 989, 990, 990, 991, 992, 992, - 993, 993, 993, 993, 993, 993, 993, 993, 994, 994, - 995, 995, 995, 996, 997, 997, 998, 998, 999, 1000, - 1000, 1001, 1002, 1002, 1003, 1003, 1003, 1003, 1003, 1004, - 1004, 1005, 1006, 1007, 1007, 1007, 1007, 1007, 1008, 1009, - 1010, 1011, 1011, 1011, 1011, 1011, 1011, 1012, 1012, 1012, - 1013, 1013, 1014, 1014, 1015, 1015, 1015, 1015, 1015, 1015, - 1015, 1015, 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017, - 1017, 1018, 1018, 1018, 1019, 1019, 1020, 1021, 1021, 1021, - 1022, 1022, 1022, 1023, 1023, 1023, 1024, 1024, 1025, 1025, - 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1027, - 1027, 1028, 1028, 1028, 1029, 1029, 1030, 1030, 1031, 1031, - 1032, 1032, 1033, 1034, 1034, 1035, 1035, 1036, 1036, 1036, - 1036, 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1039, - 1039, 1040, 1040, 1041, 1042, 1042, 1042, 1043, 1043, 1044, - 1044, 1045, 1045, 1046, 1046, 1047, 1047, 1048, 1048, 1048, - 1048, 1048, 1049, 1050, 1051, 1052, 1053, 1053, 1054, 1054, - 1055, 1055, 1056, 1056, 1057, 1058, 1058, 1058, 1058, 1059, - 1059, 1060, 1060, 1061, 1061, 1062, 1062, 1063, 1063, 1063, - 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 1064, - 1064, 1064, 1064, 1065, 1065, 1065, 1065, 1066, 1066, 1067, - 1067, 1068, 1068, 1068, 1068, 1068, 1069, 1069, 1069, 1069, - 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1073, 1074, - 1074, 1075, 1075, 1075, 1076, 1077, 1077, 1078, 1078, 1079, - 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, 1084, 1084, - 1084, 1085, 1085, 1086, 1086, 1087, 1088, 1088, 1089, 1089, - 1090, 1090, 1090, 1091, 1091, 1092, 1092, 1092, 1092, 1093, - 1093, 1094, 1094, 1095, 1095, 1095, 1095, 1095, 1095, 1096, - 1096, 1096, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1098, - 1098, 1098, 1098, 1099, 1099, 1100, 1100, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1102, 1102, - 1103, 1103, 1104, 1104, 1105, 1106, 1107, 1107, 1108, 1108, - 1109, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, - 1113, 1113, 1113, 1113, 1114, 1115, 1115, 1115, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, - 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121, 1121, 1121, - 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1123, 1123, 1123, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - 1124, 1124, 1124, 1125, 1125, 1126, 1126, 1126, 1126, 1127, - 1128, 1128, 1129, 1129, 1130, 1130, 1131, 1131, 1131, 1132, - 1132, 1132, 1133, 1133, 1133, 1133, 1134, 1134, 1135, 1135, - 1136, 1136, 1137, 1137, 1138, 1138, 1139, 1140, 1140, 1140, - 1141, 1142, 1142, 1143, 1143, 1144, 1144, 1144, 1144, 1145, - 1145, 1146, 1146, 1146, 1146, 1146, 1147, 1147, 1147, 1147, - 1147, 1148, 1148, 1148, 1149, 1149, 1150, 1151, 1151, 1151, - 1152, 1152, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, - 1153, 1153, 1153, 1153, 1154, 1154, 1155, 1155, 1156, 1156, - 1156, 1156, 1156, 1156, 1157, 1157, 1158, 1158, 1159, 1159, - 1159, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1163, 1163, - 1164, 1164, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, - 1166, 1166, 1166, 1166, 1167, 1167, 1168, 1169, 1169, 1169, - 1169, 1169, 1170, 1170, 1170, 1171, 1171, 1172, 1173, 1173, - 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1178, 1178, 1178, - 1178, 1179, 1179, 1180, 1180, 1181, 1181, 1182, 1182, 1183, - 1184, 1184, 1185, 1185, 1186, 1186, 1187, 1187, 1187, 1187, - 1187, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1190, 1190, - 1191, 1191, 1191, 1192, 1192, 1192, 1193, 1193, 1194, 1194, - 1195, 1195, 1196, 1196, 1197, 1197, 1198, 1198, 1198, 1198, - 1199, 1199, 1200, 1200, 1201, 1201, 1202, 1203, 1204, 1205, - 1205, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, - 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1207, - 1208, 1209, 1209, 1209, 1210, 1211, 1211, 1211, 1211, 1212, - 1212, 1213, 1214, 1215, 1215, 1216, 1216, 1217, 1217, 1217, - 1218, 1218, 1218, 1219, 1219, 1219, 1219, 1220, 1220, 1220, - 1220, 1220, 1221, 1221, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, - 1223, 1223, 1223, 1223, 1224, 1224, 1224, 1224, 1224, 1224, - 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, - 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, - 1225, 1225, 1225, 1225, 1225, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 1226, 1226, 1226 + 0, 541, 542, 542, 542, 542, 542, 542, 543, 543, + 544, 544, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 546, 546, 547, + 547, 548, 548, 549, 549, 549, 550, 551, 552, 552, + 552, 553, 553, 554, 554, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 556, 556, 556, 556, + 556, 556, 557, 558, 558, 559, 559, 560, 560, 560, + 560, 561, 561, 561, 561, 561, 561, 562, 563, 564, + 564, 565, 565, 565, 565, 566, 566, 567, 567, 567, + 567, 567, 567, 568, 568, 568, 569, 569, 569, 570, + 570, 570, 570, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 572, 572, 573, + 573, 574, 574, 574, 575, 575, 575, 575, 576, 576, + 576, 576, 577, 577, 577, 577, 577, 577, 577, 577, + 578, 578, 578, 579, 579, 580, 581, 581, 581, 581, + 582, 582, 583, 583, 584, 584, 585, 585, 585, 585, + 585, 586, 587, 587, 588, 588, 589, 590, 590, 590, + 590, 590, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 592, 592, 593, 593, 593, 594, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 596, 596, 597, 597, 598, 598, 599, 599, 599, 599, + 600, 601, 601, 602, 602, 603, 603, 603, 603, 604, + 604, 605, 605, 605, 605, 606, 606, 607, 607, 608, + 608, 608, 608, 609, 610, 610, 611, 612, 612, 613, + 613, 613, 613, 614, 614, 615, 615, 616, 616, 617, + 617, 618, 618, 618, 619, 619, 620, 620, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, + 621, 621, 621, 622, 622, 623, 623, 624, 624, 625, + 625, 626, 627, 627, 627, 627, 627, 627, 628, 628, + 629, 630, 630, 630, 630, 630, 630, 631, 631, 631, + 631, 631, 631, 631, 631, 632, 632, 633, 633, 634, + 634, 635, 635, 636, 636, 636, 637, 637, 638, 639, + 639, 640, 640, 641, 641, 642, 642, 643, 643, 644, + 644, 645, 645, 645, 645, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 647, 647, 647, 648, 648, 649, + 649, 649, 649, 650, 651, 651, 651, 652, 652, 652, + 652, 652, 652, 652, 652, 652, 652, 653, 653, 654, + 654, 654, 654, 654, 654, 654, 655, 655, 656, 656, + 657, 657, 658, 658, 659, 659, 660, 661, 661, 662, + 662, 662, 662, 663, 663, 664, 664, 665, 665, 666, + 666, 666, 666, 666, 667, 668, 669, 669, 669, 669, + 669, 670, 670, 671, 671, 672, 673, 673, 674, 674, + 674, 675, 675, 676, 676, 676, 677, 677, 677, 677, + 678, 678, 679, 679, 680, 681, 681, 682, 682, 683, + 683, 683, 684, 684, 685, 685, 686, 687, 687, 687, + 688, 688, 689, 690, 690, 691, 692, 692, 693, 693, + 694, 694, 695, 695, 696, 696, 697, 697, 697, 697, + 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, + 697, 697, 698, 698, 699, 699, 699, 699, 700, 700, + 701, 701, 702, 702, 703, 703, 704, 704, 705, 705, + 706, 706, 707, 707, 708, 709, 709, 710, 710, 711, + 711, 712, 712, 713, 713, 713, 713, 714, 715, 715, + 716, 717, 717, 717, 717, 717, 717, 717, 717, 717, + 717, 717, 717, 717, 718, 719, 719, 719, 719, 720, + 720, 721, 721, 722, 722, 723, 723, 724, 724, 725, + 726, 726, 727, 727, 727, 727, 728, 729, 730, 731, + 731, 732, 732, 733, 733, 734, 734, 735, 735, 735, + 736, 736, 736, 736, 737, 738, 738, 739, 739, 740, + 740, 741, 741, 742, 742, 743, 744, 745, 746, 746, + 747, 747, 748, 748, 749, 749, 750, 750, 751, 751, + 752, 752, 752, 752, 752, 753, 754, 754, 755, 755, + 756, 756, 756, 757, 757, 758, 758, 758, 758, 758, + 759, 759, 760, 760, 761, 762, 762, 763, 763, 764, + 765, 765, 766, 766, 767, 767, 768, 768, 769, 769, + 770, 770, 770, 771, 771, 771, 771, 772, 772, 773, + 773, 774, 774, 774, 774, 774, 774, 775, 775, 776, + 776, 777, 778, 778, 779, 780, 780, 780, 780, 781, + 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, + 782, 782, 782, 782, 782, 782, 783, 784, 784, 785, + 785, 786, 786, 786, 786, 786, 786, 787, 788, 788, + 789, 790, 790, 791, 791, 792, 792, 792, 792, 792, + 793, 793, 794, 795, 795, 796, 796, 796, 796, 796, + 797, 797, 798, 798, 799, 799, 799, 800, 800, 801, + 802, 802, 803, 803, 804, 804, 805, 805, 806, 806, + 807, 808, 809, 809, 809, 809, 809, 809, 809, 809, + 809, 809, 809, 809, 810, 810, 810, 810, 810, 810, + 810, 810, 810, 810, 810, 810, 810, 811, 811, 811, + 811, 811, 812, 812, 812, 812, 812, 812, 812, 812, + 813, 813, 813, 814, 814, 815, 815, 816, 816, 817, + 817, 818, 819, 819, 819, 820, 820, 820, 820, 820, + 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, + 820, 820, 820, 821, 821, 822, 822, 822, 822, 822, + 822, 822, 822, 822, 822, 823, 823, 824, 824, 825, + 825, 826, 826, 826, 826, 826, 826, 826, 826, 826, + 826, 826, 826, 826, 826, 826, 826, 827, 827, 828, + 828, 829, 830, 830, 831, 831, 831, 831, 831, 832, + 832, 833, 833, 833, 833, 833, 834, 834, 835, 835, + 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, + 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, + 836, 837, 837, 838, 838, 839, 839, 840, 840, 841, + 841, 842, 842, 843, 844, 844, 844, 845, 845, 846, + 847, 847, 848, 848, 848, 849, 849, 849, 850, 850, + 850, 850, 850, 850, 851, 851, 852, 852, 853, 853, + 854, 854, 855, 855, 856, 856, 856, 857, 857, 858, + 858, 859, 859, 860, 860, 860, 861, 861, 861, 862, + 862, 862, 862, 863, 863, 864, 864, 865, 865, 866, + 866, 867, 867, 867, 867, 868, 868, 869, 869, 870, + 870, 870, 870, 870, 871, 871, 871, 871, 871, 872, + 873, 874, 874, 874, 875, 875, 875, 876, 877, 877, + 877, 877, 878, 878, 879, 880, 880, 881, 881, 882, + 882, 883, 883, 883, 883, 883, 883, 883, 883, 883, + 883, 883, 883, 883, 883, 883, 883, 883, 884, 884, + 884, 884, 884, 885, 885, 886, 887, 887, 887, 888, + 888, 889, 889, 890, 890, 891, 891, 892, 893, 893, + 894, 894, 894, 895, 895, 896, 896, 897, 897, 897, + 897, 897, 897, 898, 898, 899, 899, 900, 900, 900, + 900, 901, 901, 902, 902, 903, 904, 905, 905, 906, + 906, 907, 907, 907, 908, 908, 908, 909, 910, 910, + 911, 912, 912, 912, 912, 913, 914, 914, 914, 915, + 915, 916, 916, 917, 917, 918, 918, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 920, 920, 921, 921, 922, 922, 922, 922, + 922, 922, 923, 923, 924, 924, 924, 924, 924, 924, + 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, + 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, + 924, 925, 926, 926, 927, 927, 927, 928, 928, 928, + 928, 928, 929, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 931, 931, 931, + 932, 932, 932, 932, 932, 932, 932, 933, 933, 934, + 934, 934, 934, 935, 936, 936, 936, 936, 936, 936, + 936, 936, 936, 937, 937, 938, 939, 939, 939, 940, + 940, 941, 941, 941, 941, 941, 942, 942, 943, 943, + 943, 943, 944, 944, 944, 945, 946, 946, 947, 948, + 948, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 950, 950, 951, 951, 951, 952, 952, + 952, 952, 952, 953, 953, 953, 954, 954, 955, 955, + 955, 956, 956, 956, 956, 957, 957, 957, 957, 958, + 959, 960, 960, 961, 961, 962, 962, 962, 963, 963, + 963, 963, 963, 963, 963, 964, 964, 965, 965, 965, + 965, 966, 967, 967, 967, 967, 968, 968, 969, 970, + 971, 971, 972, 973, 973, 973, 973, 973, 973, 973, + 974, 974, 975, 976, 976, 976, 976, 976, 976, 977, + 977, 978, 979, 979, 979, 979, 979, 980, 980, 981, + 981, 982, 982, 983, 983, 984, 984, 985, 986, 986, + 986, 987, 987, 987, 988, 988, 989, 989, 990, 990, + 991, 991, 992, 992, 993, 994, 994, 995, 995, 996, + 996, 996, 996, 997, 997, 997, 997, 997, 997, 997, + 997, 997, 997, 998, 999, 999, 1000, 1000, 1000, 1000, + 1000, 1001, 1001, 1001, 1002, 1002, 1003, 1003, 1003, 1003, + 1004, 1005, 1005, 1006, 1006, 1006, 1006, 1006, 1007, 1007, + 1008, 1008, 1009, 1010, 1010, 1010, 1011, 1011, 1011, 1012, + 1012, 1013, 1014, 1014, 1015, 1016, 1016, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1017, 1018, 1018, 1019, 1019, 1019, + 1020, 1021, 1021, 1022, 1022, 1023, 1024, 1024, 1025, 1026, + 1026, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1029, 1029, + 1030, 1030, 1031, 1032, 1033, 1033, 1033, 1033, 1033, 1034, + 1035, 1036, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1038, + 1038, 1039, 1039, 1040, 1040, 1041, 1041, 1041, 1041, 1041, + 1041, 1041, 1041, 1042, 1042, 1043, 1043, 1043, 1043, 1043, + 1043, 1043, 1044, 1044, 1044, 1045, 1045, 1046, 1047, 1047, + 1047, 1048, 1048, 1048, 1049, 1049, 1049, 1050, 1050, 1051, + 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1053, 1053, 1054, 1054, 1054, 1055, 1055, 1056, 1056, 1057, + 1057, 1058, 1058, 1059, 1060, 1060, 1061, 1061, 1062, 1062, + 1062, 1062, 1063, 1063, 1064, 1064, 1064, 1064, 1064, 1064, + 1065, 1065, 1066, 1066, 1067, 1068, 1068, 1068, 1069, 1069, + 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, + 1074, 1074, 1074, 1075, 1076, 1077, 1078, 1079, 1079, 1080, + 1080, 1081, 1081, 1082, 1082, 1083, 1084, 1084, 1084, 1084, + 1085, 1085, 1086, 1086, 1087, 1087, 1088, 1088, 1089, 1089, + 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, + 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091, 1091, 1091, + 1092, 1092, 1093, 1093, 1094, 1094, 1094, 1094, 1094, 1095, + 1095, 1095, 1095, 1096, 1096, 1097, 1097, 1098, 1098, 1099, + 1099, 1099, 1100, 1100, 1101, 1101, 1101, 1102, 1103, 1103, + 1104, 1104, 1105, 1106, 1106, 1107, 1107, 1108, 1108, 1109, + 1109, 1110, 1110, 1110, 1111, 1111, 1112, 1112, 1113, 1114, + 1114, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1118, 1118, + 1118, 1118, 1118, 1119, 1119, 1120, 1120, 1121, 1122, 1122, + 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, + 1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, + 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, + 1130, 1130, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, + 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, + 1134, 1135, 1135, 1136, 1136, 1137, 1138, 1139, 1139, 1140, + 1140, 1141, 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1144, + 1144, 1145, 1145, 1145, 1145, 1146, 1147, 1147, 1147, 1148, + 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + 1148, 1148, 1148, 1149, 1149, 1150, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155, 1155, 1155, + 1156, 1156, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1158, 1158, 1159, 1159, 1159, 1159, 1160, + 1161, 1161, 1162, 1162, 1163, 1163, 1164, 1164, 1164, 1165, + 1165, 1165, 1166, 1166, 1166, 1166, 1167, 1167, 1168, 1168, + 1169, 1169, 1170, 1170, 1171, 1171, 1172, 1173, 1173, 1173, + 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1177, 1177, 1178, + 1178, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1180, 1180, + 1180, 1181, 1181, 1181, 1182, 1182, 1183, 1184, 1184, 1184, + 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, + 1186, 1186, 1186, 1186, 1187, 1187, 1188, 1188, 1189, 1189, + 1189, 1189, 1189, 1189, 1190, 1190, 1191, 1191, 1192, 1192, + 1192, 1193, 1193, 1194, 1194, 1195, 1195, 1195, 1196, 1196, + 1197, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, + 1199, 1199, 1199, 1199, 1200, 1200, 1201, 1202, 1202, 1202, + 1202, 1202, 1203, 1203, 1203, 1204, 1204, 1205, 1206, 1206, + 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1211, 1211, 1211, + 1211, 1212, 1212, 1213, 1213, 1214, 1214, 1215, 1215, 1216, + 1216, 1217, 1217, 1218, 1219, 1219, 1219, 1219, 1219, 1219, + 1219, 1219, 1219, 1220, 1220, 1221, 1221, 1221, 1221, 1221, + 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1223, 1223, 1224, + 1225, 1225, 1226, 1226, 1227, 1227, 1227, 1227, 1227, 1228, + 1228, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, + 1230, 1231, 1231, 1232, 1232, 1233, 1233, 1233, 1234, 1234, + 1234, 1235, 1235, 1236, 1236, 1237, 1237, 1238, 1238, 1239, + 1239, 1240, 1240, 1240, 1240, 1241, 1241, 1242, 1242, 1243, + 1243, 1244, 1245, 1246, 1247, 1247, 1248, 1248, 1248, 1248, + 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, + 1248, 1248, 1248, 1248, 1249, 1250, 1251, 1251, 1251, 1252, + 1253, 1253, 1253, 1253, 1254, 1254, 1255, 1256, 1257, 1257, + 1258, 1258, 1259, 1259, 1259, 1260, 1260, 1260, 1261, 1261, + 1261, 1261, 1262, 1262, 1262, 1262, 1262, 1263, 1263, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1266, + 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, + 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, + 1266, 1266, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -4330,189 +4466,194 @@ static const yytype_uint8 yyr2[] = 2, 2, 4, 6, 4, 6, 10, 13, 4, 6, 4, 10, 13, 4, 6, 4, 6, 5, 7, 11, 14, 5, 7, 1, 3, 4, 4, 4, 3, 2, - 5, 3, 6, 4, 6, 6, 5, 7, 6, 6, - 5, 5, 5, 5, 9, 4, 5, 7, 6, 4, - 8, 4, 2, 4, 3, 6, 4, 3, 3, 3, - 2, 2, 3, 4, 4, 3, 3, 3, 3, 3, - 3, 4, 4, 3, 2, 3, 2, 2, 3, 4, - 3, 2, 2, 3, 4, 4, 4, 5, 1, 3, - 2, 2, 0, 2, 0, 1, 1, 1, 3, 3, - 2, 0, 1, 3, 3, 1, 5, 3, 1, 2, - 1, 3, 2, 3, 6, 6, 10, 1, 2, 1, - 3, 4, 1, 3, 4, 6, 4, 8, 2, 2, - 11, 9, 1, 1, 1, 0, 1, 1, 1, 1, - 3, 2, 0, 1, 1, 3, 3, 1, 1, 3, - 3, 3, 3, 4, 3, 2, 1, 0, 3, 0, - 1, 0, 1, 3, 2, 1, 1, 1, 3, 0, - 1, 3, 1, 13, 16, 12, 15, 14, 17, 1, - 1, 2, 2, 2, 2, 1, 0, 1, 0, 3, - 0, 1, 3, 1, 3, 1, 1, 1, 1, 1, - 6, 2, 4, 2, 2, 1, 0, 2, 2, 1, - 0, 2, 0, 3, 1, 1, 2, 2, 1, 4, - 4, 5, 2, 5, 7, 5, 2, 3, 0, 1, - 2, 1, 2, 2, 2, 3, 3, 3, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 5, 9, 3, 9, 4, 10, 11, 2, 0, - 3, 0, 1, 3, 1, 4, 0, 2, 2, 2, - 0, 1, 3, 3, 6, 4, 0, 1, 1, 2, - 2, 0, 3, 3, 2, 1, 1, 3, 3, 4, - 0, 1, 0, 6, 1, 3, 3, 3, 5, 2, - 0, 2, 2, 0, 3, 4, 4, 0, 2, 0, - 4, 0, 3, 8, 11, 1, 3, 1, 1, 3, - 6, 8, 7, 10, 6, 2, 3, 0, 8, 11, - 5, 1, 0, 6, 5, 8, 4, 6, 1, 0, - 3, 0, 1, 2, 2, 2, 1, 2, 3, 2, - 2, 2, 2, 3, 3, 3, 1, 3, 1, 0, - 1, 2, 2, 1, 1, 3, 6, 10, 1, 0, - 1, 2, 2, 0, 2, 2, 1, 0, 1, 0, - 7, 2, 0, 3, 5, 5, 8, 2, 0, 2, - 2, 2, 1, 5, 2, 0, 2, 6, 6, 6, - 10, 6, 6, 6, 9, 9, 6, 6, 9, 6, - 7, 2, 2, 2, 2, 1, 2, 1, 0, 7, - 6, 4, 0, 1, 3, 4, 1, 3, 1, 2, - 2, 2, 2, 1, 1, 10, 13, 2, 0, 2, - 2, 1, 0, 5, 4, 4, 11, 14, 12, 15, - 11, 2, 1, 4, 0, 8, 11, 1, 1, 7, - 9, 8, 10, 8, 4, 0, 5, 0, 2, 0, - 2, 0, 2, 0, 2, 0, 1, 1, 1, 1, - 1, 8, 1, 1, 17, 21, 1, 1, 2, 1, - 3, 1, 1, 1, 3, 1, 2, 0, 1, 2, - 4, 1, 1, 1, 1, 1, 3, 0, 1, 0, - 1, 1, 4, 0, 1, 1, 1, 3, 0, 1, - 1, 1, 1, 2, 0, 0, 2, 2, 1, 2, - 2, 2, 2, 11, 13, 1, 3, 5, 1, 3, - 5, 1, 2, 2, 1, 8, 6, 5, 4, 4, - 3, 7, 8, 6, 6, 6, 6, 6, 4, 7, - 5, 8, 3, 1, 3, 3, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 3, 3, 1, 0, 1, - 3, 7, 9, 9, 8, 3, 0, 13, 1, 3, - 5, 5, 3, 6, 2, 1, 0, 2, 0, 2, - 4, 0, 1, 0, 6, 8, 8, 1, 3, 5, - 5, 7, 9, 7, 9, 5, 6, 6, 4, 6, - 4, 6, 8, 4, 6, 4, 6, 5, 7, 1, - 1, 1, 2, 1, 2, 1, 1, 1, 3, 3, - 3, 3, 1, 1, 1, 1, 1, 2, 2, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 3, - 1, 2, 2, 3, 1, 3, 5, 2, 2, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 8, 9, - 8, 6, 6, 9, 9, 9, 7, 10, 1, 1, - 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, - 2, 0, 1, 1, 2, 2, 1, 2, 3, 3, - 3, 3, 4, 4, 3, 3, 3, 4, 4, 3, - 4, 4, 1, 1, 1, 0, 8, 8, 11, 1, - 1, 2, 4, 5, 1, 3, 2, 2, 2, 2, - 2, 1, 3, 1, 3, 1, 2, 2, 4, 3, - 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, - 2, 5, 5, 5, 5, 5, 1, 3, 1, 2, - 3, 0, 5, 7, 6, 9, 3, 1, 2, 1, - 1, 1, 3, 0, 5, 2, 0, 3, 3, 3, - 7, 7, 10, 1, 1, 1, 1, 1, 1, 16, - 19, 1, 0, 2, 0, 1, 3, 4, 5, 2, - 2, 4, 4, 0, 1, 3, 2, 0, 1, 1, - 0, 2, 2, 0, 9, 12, 7, 7, 2, 0, - 3, 2, 1, 3, 1, 3, 2, 1, 1, 2, - 3, 2, 1, 3, 3, 3, 2, 2, 1, 1, - 1, 1, 2, 1, 1, 1, 1, 4, 5, 1, - 3, 3, 1, 3, 3, 5, 6, 1, 3, 2, - 1, 3, 1, 0, 1, 2, 4, 5, 1, 1, - 1, 1, 3, 3, 2, 2, 1, 2, 2, 2, - 2, 1, 2, 2, 2, 2, 1, 1, 1, 3, - 2, 1, 4, 0, 3, 0, 1, 1, 3, 5, - 2, 0, 2, 1, 3, 5, 5, 5, 1, 2, - 1, 0, 4, 6, 4, 6, 4, 6, 4, 6, - 4, 6, 3, 5, 5, 5, 1, 3, 1, 3, - 2, 2, 1, 2, 1, 2, 11, 10, 10, 2, - 2, 0, 9, 2, 0, 10, 11, 11, 5, 5, - 8, 5, 5, 5, 1, 1, 1, 1, 3, 0, - 5, 5, 6, 6, 6, 6, 6, 8, 8, 6, - 6, 7, 9, 9, 8, 10, 6, 6, 6, 6, - 6, 6, 6, 8, 6, 8, 6, 8, 7, 9, - 6, 8, 7, 9, 8, 10, 8, 10, 9, 11, - 8, 10, 9, 11, 8, 8, 7, 6, 6, 6, - 6, 8, 8, 8, 8, 6, 9, 1, 0, 2, - 0, 8, 8, 8, 10, 9, 8, 1, 0, 6, - 6, 6, 6, 6, 6, 6, 9, 9, 6, 6, - 6, 8, 6, 8, 8, 8, 8, 6, 8, 6, - 8, 7, 9, 7, 9, 6, 7, 1, 3, 3, - 3, 1, 1, 1, 1, 1, 7, 6, 6, 6, - 6, 6, 6, 7, 7, 6, 9, 9, 6, 6, - 6, 6, 6, 6, 8, 8, 8, 6, 7, 6, - 6, 4, 7, 6, 4, 4, 4, 3, 4, 3, - 1, 1, 3, 5, 5, 5, 5, 8, 5, 5, - 6, 7, 7, 7, 4, 4, 5, 4, 6, 13, - 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 0, 3, - 2, 0, 2, 2, 2, 3, 3, 3, 3, 2, - 3, 2, 5, 4, 3, 3, 3, 3, 3, 1, - 1, 0, 3, 2, 2, 1, 2, 1, 3, 2, - 1, 0, 2, 3, 0, 9, 11, 12, 14, 3, - 4, 4, 0, 2, 5, 1, 0, 1, 2, 3, - 3, 3, 1, 2, 1, 1, 1, 1, 1, 1, - 0, 5, 4, 6, 6, 4, 3, 5, 7, 9, - 1, 3, 1, 5, 4, 4, 6, 4, 6, 6, - 5, 7, 9, 6, 1, 0, 6, 11, 11, 11, - 13, 9, 11, 1, 1, 10, 4, 6, 2, 5, - 2, 0, 6, 5, 3, 5, 1, 3, 1, 1, - 2, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 0, 1, 0, 1, 0, 3, 0, 2, 1, 3, - 1, 0, 2, 4, 3, 5, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 5, 3, 0, 1, - 1, 1, 1, 1, 3, 9, 12, 3, 0, 2, - 3, 2, 3, 7, 1, 3, 1, 4, 4, 7, - 2, 1, 1, 1, 3, 2, 8, 5, 0, 4, - 3, 0, 2, 0, 7, 2, 0, 5, 3, 0, - 2, 2, 2, 3, 1, 3, 1, 2, 1, 0, - 1, 2, 0, 8, 1, 3, 3, 5, 2, 1, - 3, 9, 1, 2, 5, 5, 6, 6, 7, 2, - 0, 3, 1, 2, 5, 5, 8, 3, 4, 7, - 1, 0, 3, 2, 2, 2, 2, 0, 2, 2, - 1, 1, 3, 3, 1, 2, 4, 4, 2, 3, - 5, 5, 1, 1, 9, 9, 1, 2, 4, 4, - 4, 2, 2, 3, 1, 3, 9, 1, 2, 0, - 7, 7, 0, 10, 6, 0, 1, 0, 2, 0, - 3, 3, 4, 4, 4, 4, 3, 2, 1, 1, - 0, 1, 1, 0, 1, 5, 1, 0, 1, 1, - 1, 0, 3, 1, 3, 4, 3, 2, 2, 1, - 1, 1, 0, 2, 4, 5, 6, 4, 5, 2, - 3, 1, 1, 1, 1, 2, 2, 1, 1, 1, - 1, 1, 1, 4, 0, 1, 3, 1, 1, 1, - 1, 1, 2, 4, 4, 5, 2, 0, 1, 3, - 1, 0, 1, 2, 3, 2, 4, 2, 3, 2, - 0, 4, 5, 2, 0, 1, 3, 2, 3, 2, - 3, 2, 3, 2, 3, 1, 4, 3, 4, 5, - 4, 5, 4, 5, 2, 4, 1, 1, 0, 2, - 0, 1, 4, 5, 4, 0, 2, 2, 2, 1, - 1, 0, 5, 2, 1, 1, 2, 2, 4, 1, - 3, 1, 2, 3, 6, 4, 0, 2, 6, 2, - 1, 3, 4, 0, 2, 0, 2, 0, 2, 4, - 0, 1, 0, 1, 3, 3, 7, 12, 1, 3, - 2, 3, 3, 1, 2, 2, 2, 2, 1, 1, - 3, 3, 2, 2, 3, 5, 6, 2, 3, 3, - 4, 0, 1, 1, 1, 1, 1, 2, 4, 1, - 1, 1, 1, 2, 3, 3, 0, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 2, 1, 3, 0, - 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, - 4, 1, 2, 2, 1, 3, 3, 2, 1, 0, - 5, 2, 5, 2, 1, 3, 3, 0, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 3, 0, 1, 4, 1, 3, 3, 5, 2, 2, + 5, 3, 6, 4, 6, 6, 9, 5, 7, 6, + 6, 5, 5, 5, 5, 9, 4, 5, 7, 6, + 4, 8, 4, 2, 4, 3, 6, 4, 3, 3, + 3, 2, 2, 3, 4, 4, 3, 3, 3, 3, + 3, 3, 4, 4, 3, 2, 3, 2, 2, 3, + 4, 3, 2, 2, 3, 4, 4, 4, 5, 1, + 3, 2, 2, 0, 2, 0, 1, 1, 1, 3, + 3, 2, 0, 1, 3, 3, 1, 5, 3, 1, + 2, 1, 3, 2, 3, 1, 1, 1, 1, 6, + 6, 10, 1, 2, 1, 3, 4, 1, 3, 4, + 6, 4, 8, 2, 2, 11, 9, 1, 1, 1, + 0, 1, 1, 1, 1, 3, 2, 0, 1, 1, + 3, 3, 1, 1, 3, 3, 3, 3, 4, 4, + 3, 3, 2, 1, 0, 3, 0, 1, 0, 1, + 3, 2, 1, 1, 1, 1, 3, 0, 1, 3, + 1, 13, 16, 12, 15, 14, 17, 1, 1, 2, + 2, 2, 2, 1, 0, 1, 0, 3, 0, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 6, 2, + 4, 2, 2, 1, 0, 2, 2, 1, 0, 2, + 0, 3, 1, 1, 2, 2, 1, 4, 4, 5, + 2, 5, 7, 5, 2, 3, 0, 1, 2, 1, + 2, 2, 2, 3, 3, 3, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, + 9, 3, 9, 4, 10, 11, 3, 1, 5, 3, + 2, 0, 3, 0, 1, 3, 1, 4, 0, 2, + 2, 2, 0, 1, 3, 3, 6, 4, 0, 1, + 1, 2, 2, 0, 3, 3, 2, 1, 1, 3, + 3, 4, 0, 1, 0, 6, 1, 3, 3, 3, + 5, 2, 0, 2, 2, 0, 3, 4, 4, 0, + 2, 0, 4, 0, 3, 8, 11, 1, 3, 1, + 1, 3, 6, 8, 7, 10, 6, 2, 3, 0, + 8, 11, 5, 1, 0, 6, 5, 8, 4, 6, + 1, 0, 3, 0, 1, 2, 2, 2, 1, 2, + 3, 1, 2, 2, 2, 2, 3, 3, 3, 1, + 3, 1, 1, 0, 1, 2, 2, 1, 1, 3, + 6, 10, 1, 0, 1, 2, 2, 0, 2, 2, + 1, 0, 1, 0, 7, 2, 0, 3, 5, 5, + 8, 2, 0, 2, 2, 2, 1, 5, 2, 0, + 2, 6, 6, 6, 10, 6, 6, 6, 9, 9, + 6, 6, 9, 6, 7, 2, 2, 2, 2, 1, + 2, 1, 0, 7, 6, 4, 0, 1, 3, 4, + 1, 3, 1, 2, 2, 2, 2, 1, 1, 10, + 13, 2, 0, 2, 2, 1, 0, 5, 4, 4, + 11, 14, 12, 15, 11, 2, 1, 4, 0, 8, + 11, 1, 1, 7, 9, 8, 10, 8, 4, 0, + 5, 0, 2, 0, 2, 0, 2, 0, 2, 0, + 1, 1, 1, 1, 1, 8, 1, 1, 17, 21, + 1, 1, 2, 1, 3, 1, 1, 1, 3, 1, + 2, 0, 1, 2, 4, 1, 1, 1, 1, 1, + 3, 0, 1, 0, 1, 1, 4, 0, 1, 1, + 1, 3, 0, 1, 1, 1, 1, 2, 0, 0, + 2, 2, 1, 2, 2, 2, 2, 11, 13, 1, + 3, 5, 1, 3, 5, 1, 2, 2, 1, 8, + 6, 5, 4, 4, 3, 7, 8, 6, 6, 6, + 6, 6, 4, 7, 5, 8, 3, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, + 3, 1, 0, 1, 3, 7, 9, 9, 8, 6, + 3, 0, 13, 1, 3, 5, 5, 3, 6, 2, + 1, 0, 2, 0, 2, 4, 0, 1, 0, 6, + 8, 8, 1, 3, 5, 5, 7, 9, 7, 9, + 5, 6, 6, 4, 6, 4, 6, 8, 4, 6, + 4, 6, 5, 7, 1, 1, 1, 2, 1, 2, + 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, + 1, 1, 2, 2, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 2, 2, 3, 1, + 3, 5, 2, 2, 0, 6, 6, 6, 6, 6, + 6, 6, 6, 8, 9, 8, 6, 6, 9, 9, + 9, 7, 10, 1, 1, 8, 8, 8, 8, 8, + 8, 8, 9, 8, 8, 2, 0, 1, 1, 2, + 2, 1, 2, 3, 3, 3, 3, 4, 4, 3, + 3, 3, 4, 4, 3, 4, 4, 1, 1, 1, + 0, 8, 8, 11, 1, 1, 2, 4, 5, 1, + 3, 2, 2, 2, 2, 2, 1, 3, 1, 3, + 1, 2, 2, 4, 3, 2, 2, 2, 2, 2, + 2, 3, 2, 2, 2, 2, 5, 5, 5, 5, + 5, 1, 3, 1, 2, 3, 0, 5, 7, 6, + 9, 3, 1, 2, 1, 1, 1, 3, 0, 5, + 2, 0, 3, 3, 3, 7, 7, 10, 1, 1, + 1, 1, 1, 1, 16, 19, 1, 0, 2, 0, + 1, 3, 4, 5, 2, 2, 4, 4, 0, 1, + 3, 2, 0, 1, 1, 0, 2, 2, 0, 9, + 12, 7, 7, 2, 0, 3, 2, 1, 3, 1, + 3, 2, 1, 1, 2, 3, 2, 1, 3, 3, + 3, 2, 2, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 4, 5, 1, 3, 3, 1, 3, 3, + 5, 6, 1, 3, 2, 1, 3, 1, 0, 1, + 2, 4, 5, 1, 1, 1, 1, 3, 3, 2, + 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, + 2, 1, 1, 1, 3, 2, 1, 4, 0, 3, + 0, 1, 1, 3, 5, 2, 0, 2, 1, 3, + 5, 5, 5, 1, 2, 1, 0, 4, 6, 4, + 6, 4, 6, 4, 6, 4, 6, 3, 5, 5, + 5, 1, 3, 1, 3, 2, 2, 1, 2, 1, + 2, 11, 10, 10, 2, 2, 0, 9, 2, 0, + 10, 11, 11, 5, 5, 8, 5, 5, 5, 1, + 1, 1, 1, 3, 0, 5, 5, 6, 6, 6, + 6, 6, 8, 8, 6, 6, 7, 9, 9, 8, + 10, 6, 6, 6, 6, 6, 6, 6, 8, 6, + 8, 6, 8, 7, 9, 6, 8, 7, 9, 8, + 10, 8, 10, 9, 11, 8, 10, 9, 11, 8, + 8, 7, 6, 6, 6, 6, 8, 8, 8, 8, + 6, 9, 1, 0, 2, 0, 8, 8, 8, 10, + 9, 8, 1, 0, 6, 6, 6, 6, 6, 6, + 6, 9, 9, 6, 6, 6, 8, 6, 8, 8, + 8, 8, 6, 8, 6, 8, 7, 9, 7, 9, + 6, 7, 1, 3, 3, 3, 1, 1, 1, 1, + 1, 1, 7, 6, 6, 6, 6, 6, 6, 7, + 7, 6, 9, 9, 6, 6, 6, 6, 6, 6, + 8, 8, 8, 6, 7, 6, 6, 4, 7, 6, + 4, 4, 4, 3, 4, 3, 1, 1, 3, 5, + 5, 5, 5, 8, 5, 5, 6, 7, 7, 7, + 4, 4, 5, 4, 6, 13, 1, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 0, 3, 2, 0, 2, 2, + 2, 3, 3, 3, 3, 2, 3, 2, 5, 4, + 3, 3, 3, 3, 3, 1, 1, 0, 3, 2, + 2, 1, 2, 1, 3, 2, 1, 0, 2, 3, + 0, 9, 11, 12, 14, 3, 4, 4, 0, 2, + 5, 1, 0, 1, 2, 3, 3, 3, 1, 2, + 1, 1, 1, 1, 1, 1, 0, 5, 4, 6, + 6, 4, 3, 5, 7, 9, 1, 3, 1, 5, + 4, 4, 6, 4, 6, 6, 5, 7, 9, 6, + 1, 0, 6, 11, 11, 11, 13, 9, 11, 1, + 1, 10, 6, 4, 4, 2, 5, 2, 0, 6, + 5, 3, 5, 1, 3, 1, 1, 2, 1, 1, + 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 3, 0, 2, 1, 3, 1, 0, 2, + 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 5, 3, 0, 1, 1, 1, 1, + 1, 3, 9, 12, 3, 0, 2, 3, 2, 3, + 7, 1, 3, 1, 4, 4, 7, 2, 1, 1, + 1, 3, 2, 8, 5, 0, 4, 3, 0, 2, + 0, 7, 2, 0, 5, 3, 0, 2, 2, 2, + 3, 1, 3, 1, 2, 1, 0, 1, 2, 0, + 8, 1, 3, 3, 5, 2, 1, 3, 10, 1, + 2, 4, 4, 4, 5, 5, 2, 5, 3, 5, + 2, 0, 3, 1, 2, 5, 5, 8, 3, 4, + 7, 1, 0, 3, 2, 2, 2, 2, 0, 2, + 2, 1, 1, 3, 3, 1, 2, 4, 4, 2, + 3, 5, 5, 1, 1, 9, 9, 1, 2, 4, + 4, 4, 2, 2, 3, 1, 3, 9, 1, 2, + 0, 7, 7, 0, 10, 6, 0, 1, 0, 2, + 0, 3, 3, 4, 4, 4, 4, 3, 2, 1, + 1, 0, 1, 1, 0, 1, 5, 1, 0, 1, + 1, 1, 0, 3, 1, 3, 4, 3, 2, 2, + 1, 1, 1, 0, 2, 4, 5, 6, 4, 5, + 2, 3, 1, 1, 1, 1, 2, 2, 1, 1, + 1, 1, 1, 1, 4, 0, 1, 3, 1, 1, + 1, 1, 1, 2, 4, 4, 5, 2, 0, 1, + 3, 1, 0, 1, 2, 3, 2, 4, 2, 3, + 2, 0, 4, 5, 2, 0, 1, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 1, 4, 2, 3, + 3, 4, 5, 4, 5, 4, 5, 2, 4, 1, + 1, 0, 2, 0, 1, 4, 5, 4, 0, 2, + 2, 2, 1, 1, 0, 5, 2, 1, 1, 2, + 2, 4, 1, 3, 1, 2, 3, 6, 4, 0, + 2, 6, 2, 1, 3, 4, 0, 2, 0, 2, + 0, 2, 4, 0, 1, 0, 1, 3, 3, 7, + 12, 1, 3, 2, 3, 3, 1, 2, 2, 2, + 2, 1, 2, 1, 3, 3, 2, 13, 2, 0, + 1, 3, 3, 6, 7, 5, 7, 9, 1, 0, + 2, 0, 2, 3, 5, 6, 2, 3, 3, 4, + 0, 1, 1, 1, 1, 1, 2, 4, 1, 1, + 1, 1, 1, 1, 2, 3, 3, 0, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, + 0, 1, 1, 1, 1, 5, 2, 1, 1, 1, + 1, 4, 1, 2, 2, 1, 3, 3, 2, 1, + 0, 5, 2, 5, 2, 1, 3, 3, 0, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 3, 0, 1, 4, 1, 1, 3, 3, 5, + 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, + 2, 3, 5, 4, 6, 3, 5, 4, 6, 4, + 6, 5, 7, 3, 2, 4, 2, 3, 3, 4, + 3, 4, 3, 4, 5, 6, 6, 7, 6, 7, + 3, 4, 4, 6, 3, 3, 4, 3, 4, 4, + 5, 4, 5, 1, 1, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 2, 3, 3, 2, 2, 3, 5, - 4, 6, 3, 5, 4, 6, 4, 6, 5, 7, - 3, 2, 4, 2, 3, 3, 4, 3, 4, 3, - 4, 5, 6, 6, 7, 6, 7, 3, 4, 4, - 6, 3, 3, 4, 3, 4, 4, 5, 4, 5, - 1, 1, 3, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 5, - 6, 3, 4, 1, 1, 2, 4, 1, 1, 1, - 2, 2, 2, 2, 1, 1, 4, 3, 5, 6, - 8, 6, 6, 4, 4, 3, 1, 1, 1, 1, - 5, 1, 1, 4, 1, 4, 1, 4, 1, 4, - 1, 1, 1, 1, 1, 1, 1, 6, 4, 4, - 6, 4, 4, 4, 4, 4, 6, 5, 5, 5, - 4, 6, 4, 4, 4, 4, 5, 7, 7, 9, - 5, 4, 6, 5, 7, 7, 8, 4, 7, 4, - 6, 6, 4, 2, 3, 3, 3, 4, 0, 4, + 3, 2, 5, 6, 3, 4, 1, 1, 2, 4, + 1, 1, 1, 2, 2, 2, 2, 1, 1, 4, + 3, 5, 6, 8, 6, 6, 4, 4, 3, 1, + 1, 1, 1, 5, 1, 1, 4, 1, 4, 1, + 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, + 6, 4, 4, 6, 4, 4, 4, 4, 4, 6, + 5, 5, 5, 4, 6, 4, 4, 4, 4, 5, + 7, 7, 9, 5, 4, 6, 5, 7, 7, 8, + 4, 7, 4, 6, 6, 4, 5, 4, 5, 3, + 11, 8, 9, 2, 3, 3, 3, 4, 0, 4, 1, 3, 3, 1, 1, 1, 1, 2, 0, 2, 2, 0, 2, 3, 3, 4, 2, 2, 5, 0, 5, 0, 2, 0, 1, 3, 3, 2, 2, 0, @@ -4528,15 +4669,22 @@ static const yytype_uint8 yyr2[] = 3, 5, 3, 2, 1, 1, 3, 5, 1, 2, 4, 2, 0, 1, 0, 1, 2, 2, 2, 3, 5, 1, 0, 1, 2, 0, 2, 1, 0, 2, - 3, 0, 2, 0, 3, 0, 1, 2, 2, 2, - 2, 3, 2, 3, 2, 0, 1, 3, 3, 3, - 3, 3, 0, 3, 3, 0, 1, 3, 7, 7, - 3, 0, 1, 0, 1, 3, 3, 2, 1, 1, - 1, 3, 1, 2, 1, 3, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 2, 6, 2, 6, - 2, 3, 5, 2, 3, 5, 1, 1, 1, 1, - 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, - 3, 10, 4, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 3, 3, 2, 3, 2, 3, 4, 4, + 3, 3, 0, 2, 1, 1, 1, 1, 1, 1, + 2, 2, 1, 3, 3, 6, 0, 3, 0, 2, + 4, 2, 1, 0, 5, 2, 5, 2, 0, 3, + 0, 1, 2, 2, 2, 2, 3, 2, 3, 2, + 0, 1, 3, 3, 3, 3, 3, 0, 3, 3, + 0, 1, 3, 7, 7, 3, 0, 1, 0, 1, + 3, 3, 2, 1, 1, 1, 3, 1, 2, 1, + 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 2, 6, 2, 6, 2, 3, 5, 2, 3, + 5, 1, 1, 1, 1, 1, 1, 2, 2, 1, + 1, 1, 1, 1, 1, 3, 10, 4, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -4628,7 +4776,8 @@ static const yytype_uint8 yyr2[] = 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 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -4636,12 +4785,12 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 1707, 1451, 659, 1539, 1538, 1451, 0, 276, 0, 1550, - 0, 1451, 437, 1109, 0, 0, 0, 0, 659, 1451, - 0, 1707, 0, 0, 0, 0, 0, 1720, 0, 0, - 0, 0, 0, 1249, 0, 0, 0, 1451, 0, 0, - 1727, 0, 0, 0, 0, 1720, 0, 1552, 0, 0, - 0, 0, 1727, 0, 0, 0, 0, 0, 2, 9, + 1728, 1467, 673, 1556, 1555, 1467, 0, 276, 0, 1567, + 0, 1467, 444, 1124, 0, 0, 0, 0, 673, 1467, + 0, 1728, 0, 0, 0, 0, 0, 1741, 0, 0, + 0, 0, 0, 1264, 0, 0, 0, 1467, 0, 0, + 1748, 0, 0, 0, 0, 1741, 0, 1569, 0, 0, + 0, 0, 1748, 0, 0, 0, 0, 0, 2, 9, 10, 45, 80, 81, 38, 37, 98, 63, 24, 71, 133, 132, 134, 50, 46, 88, 33, 35, 47, 51, 73, 75, 40, 53, 64, 110, 72, 31, 70, 76, @@ -4653,16044 +4802,16307 @@ static const yytype_uint16 yydefact[] = 117, 34, 121, 25, 26, 28, 29, 27, 67, 36, 74, 39, 95, 124, 114, 109, 129, 127, 11, 135, 111, 83, 14, 15, 100, 13, 32, 57, 17, 42, - 41, 56, 48, 131, 44, 1550, 102, 115, 101, 84, - 108, 87, 112, 130, 113, 85, 126, 1671, 1670, 1731, - 1674, 1706, 0, 1686, 1450, 1449, 1464, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1461, 2377, 2394, 2395, 2396, 2397, 2398, - 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, - 2410, 2409, 2411, 2412, 2764, 2413, 2414, 2415, 2709, 2710, - 2765, 2711, 2712, 2416, 2417, 2418, 2419, 2420, 2421, 2422, - 2423, 2424, 2713, 2714, 2425, 2426, 2427, 2428, 2429, 2715, - 2766, 2430, 2431, 2432, 2433, 2434, 2435, 2767, 2436, 2437, - 2438, 2439, 2440, 2441, 2442, 2443, 2444, 2768, 2445, 2446, - 2447, 2769, 2448, 2449, 2450, 2451, 2452, 2453, 2716, 2717, - 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, - 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2473, - 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2718, 2482, - 2483, 2484, 2485, 2719, 2486, 2487, 2488, 2489, 2720, 2490, - 2491, 2492, 2493, 2770, 2771, 2494, 2495, 2496, 2497, 2498, - 2721, 2722, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2772, - 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, - 2516, 2517, 2518, 2773, 2723, 2519, 2520, 2521, 2522, 2724, - 2725, 2726, 2523, 2774, 2775, 2524, 2776, 2525, 2727, 2728, - 2729, 2730, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2731, - 2777, 2533, 2778, 2534, 2535, 2536, 2537, 2538, 2539, 2540, - 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, - 2551, 2552, 2553, 2554, 2732, 2779, 2733, 2555, 2556, 2557, - 2558, 2559, 2560, 2561, 2734, 2735, 2562, 2563, 2564, 2780, - 2565, 2736, 2566, 2737, 2567, 2568, 2569, 2570, 2571, 2572, - 2573, 2574, 2575, 2576, 2738, 2781, 2577, 2782, 2739, 2578, - 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, - 2589, 2740, 2590, 2741, 2593, 2591, 2592, 2594, 2595, 2596, - 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2742, 2604, 2605, - 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, - 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2783, 2623, 2624, - 2625, 2626, 2627, 2743, 2628, 2629, 2630, 2631, 2632, 2633, - 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, - 2644, 2744, 2645, 2646, 2784, 2647, 2648, 2745, 2649, 2650, - 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, - 2661, 2662, 2746, 2663, 2664, 2665, 2666, 2785, 2667, 2668, - 2669, 2670, 2671, 2672, 2747, 2748, 2673, 2674, 2749, 2675, - 2750, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, - 2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2751, - 2752, 2694, 2786, 2695, 2696, 2697, 2698, 2699, 2700, 2701, - 2702, 2703, 2704, 2705, 2753, 2754, 2755, 2756, 2757, 2758, - 2759, 2760, 2761, 2762, 2763, 2706, 2707, 2708, 146, 0, - 0, 2339, 2378, 2379, 2382, 2377, 409, 408, 1660, 2336, - 2378, 1549, 0, 1528, 659, 0, 1464, 436, 1707, 0, - 0, 0, 0, 0, 0, 875, 0, 0, 0, 0, + 41, 56, 48, 131, 44, 1567, 102, 115, 101, 84, + 108, 87, 112, 130, 113, 85, 126, 1692, 1691, 1752, + 1695, 1727, 0, 1707, 1466, 1465, 1480, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1477, 2462, 2479, 2480, 2481, 2482, 2483, + 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, + 2495, 2494, 2496, 2497, 2869, 2498, 2499, 2500, 2806, 2807, + 2870, 2808, 2809, 2501, 2502, 2503, 2504, 2505, 2506, 2507, + 2508, 2509, 2810, 2811, 2510, 2511, 2512, 2513, 2514, 2812, + 2871, 2515, 2516, 2517, 2518, 2519, 2520, 2872, 2521, 2522, + 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2873, 2531, + 2532, 2533, 2874, 2534, 2535, 2536, 2537, 2538, 2539, 2813, + 2814, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, + 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, + 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, + 2569, 2815, 2570, 2571, 2572, 2573, 2816, 2574, 2575, 2576, + 2577, 2817, 2578, 2579, 2580, 2581, 2875, 2876, 2582, 2583, + 2584, 2585, 2586, 2818, 2819, 2587, 2588, 2589, 2590, 2591, + 2592, 2593, 2877, 2594, 2595, 2596, 2597, 2598, 2599, 2600, + 2601, 2602, 2603, 2604, 2605, 2606, 2878, 2820, 2607, 2608, + 2609, 2610, 2821, 2822, 2823, 2611, 2879, 2880, 2612, 2881, + 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, + 2834, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2835, + 2882, 2621, 2883, 2622, 2623, 2624, 2625, 2626, 2627, 2628, + 2629, 2630, 2631, 2632, 2633, 2634, 2836, 2635, 2636, 2637, + 2638, 2639, 2640, 2641, 2642, 2837, 2884, 2838, 2643, 2644, + 2645, 2646, 2647, 2648, 2649, 2650, 2839, 2840, 2651, 2652, + 2653, 2885, 2654, 2841, 2655, 2842, 2656, 2657, 2658, 2659, + 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2843, 2886, 2667, + 2887, 2844, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, + 2676, 2677, 2678, 2679, 2680, 2681, 2845, 2682, 2846, 2685, + 2683, 2684, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, + 2694, 2695, 2696, 2847, 2697, 2698, 2699, 2700, 2701, 2702, + 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, + 2713, 2714, 2715, 2888, 2716, 2717, 2718, 2719, 2720, 2848, + 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, + 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2849, 2738, 2739, + 2889, 2740, 2741, 2850, 2742, 2743, 2744, 2745, 2746, 2747, + 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, + 2851, 2758, 2759, 2760, 2761, 2890, 2762, 2763, 2764, 2765, + 2766, 2767, 2768, 2852, 2853, 2769, 2770, 2854, 2771, 2855, + 2772, 2773, 2774, 2775, 2776, 2777, 2779, 2778, 2780, 2781, + 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2856, + 2857, 2791, 2891, 2792, 2793, 2794, 2795, 2796, 2797, 2798, + 2799, 2800, 2801, 2802, 2858, 2859, 2860, 2861, 2862, 2863, + 2864, 2865, 2866, 2867, 2868, 2803, 2804, 2805, 146, 0, + 0, 2424, 2463, 2464, 2467, 2462, 414, 413, 1681, 2421, + 2463, 1566, 0, 1545, 673, 0, 1480, 443, 1728, 0, + 0, 0, 0, 0, 0, 890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, - 140, 0, 0, 460, 459, 0, 0, 1081, 465, 0, - 0, 0, 0, 0, 649, 1591, 2591, 1589, 1661, 277, - 280, 281, 278, 279, 2360, 0, 1221, 1222, 1224, 0, - 0, 1234, 915, 916, 0, 0, 0, 929, 0, 0, - 0, 913, 0, 0, 0, 935, 0, 932, 0, 0, - 936, 933, 910, 934, 917, 0, 909, 0, 0, 1234, - 937, 0, 0, 911, 0, 0, 0, 0, 1464, 1588, - 466, 1707, 0, 1572, 1573, 1574, 1550, 1562, 1575, 1567, - 1569, 1568, 1570, 1571, 1566, 2359, 2396, 1005, 1005, 1005, - 1005, 1002, 1003, 1005, 1005, 1005, 2611, 0, 0, 984, - 0, 986, 2361, 1005, 1010, 2404, 541, 541, 541, 0, - 1009, 1014, 541, 0, 1432, 1473, 2338, 1719, 0, 985, - 1431, 2673, 1578, 0, 0, 0, 0, 2630, 1441, 261, - 2642, 2747, 2673, 260, 255, 256, 227, 0, 0, 1009, - 541, 0, 1464, 1439, 981, 1726, 1724, 0, 2323, 2423, - 2439, 2536, 252, 2623, 2632, 2642, 2747, 2673, 2705, 203, - 213, 208, 0, 270, 2642, 2747, 2673, 266, 1461, 0, - 1687, 1835, 1834, 2332, 0, 1434, 1433, 1551, 0, 1554, - 0, 2606, 1691, 1694, 1556, 1692, 2380, 1910, 1939, 1917, - 1939, 1939, 1906, 1906, 2469, 1919, 1907, 1908, 1944, 0, - 1939, 1906, 1911, 0, 1909, 1947, 1947, 1934, 3, 1891, - 1892, 1893, 1894, 1920, 1921, 1895, 1926, 1927, 1931, 1896, - 1961, 1906, 2381, 1728, 1729, 2323, 4, 2374, 5, 2285, - 2373, 6, 7, 1683, 0, 0, 1, 1707, 0, 1561, - 1723, 1723, 0, 1723, 0, 1675, 1683, 1678, 1682, 0, - 0, 0, 0, 0, 0, 1435, 0, 0, 0, 940, - 0, 1476, 1066, 0, 0, 0, 0, 0, 1318, 0, - 1118, 1117, 2383, 2366, 2367, 2368, 0, 2364, 2365, 2384, - 2385, 2386, 0, 2505, 1318, 0, 0, 2200, 2211, 2212, - 2213, 2427, 2486, 2208, 2209, 2210, 2202, 2203, 2204, 2205, - 2206, 2207, 0, 0, 1216, 2201, 0, 2505, 0, 1318, - 0, 175, 0, 150, 1318, 0, 0, 2505, 0, 0, - 2505, 0, 0, 0, 0, 0, 2505, 0, 0, 0, - 0, 0, 175, 2541, 0, 150, 2505, 0, 0, 1455, - 0, 0, 0, 1457, 1460, 1447, 0, 2282, 0, 2283, - 2340, 1543, 0, 1542, 1536, 1546, 1541, 1531, 0, 2332, - 0, 0, 0, 0, 923, 0, 0, 913, 0, 0, - 0, 924, 0, 925, 926, 0, 0, 0, 0, 922, - 0, 1445, 1437, 0, 1580, 1582, 1581, 1583, 1579, 541, - 0, 0, 0, 2505, 0, 150, 1515, 0, 2505, 150, - 0, 0, 464, 463, 150, 2364, 462, 461, 2427, 2486, - 0, 1108, 0, 1191, 150, 2505, 0, 196, 2505, 718, - 2505, 1556, 139, 0, 662, 0, 830, 2541, 150, 0, - 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, - 0, 0, 0, 648, 659, 1592, 1590, 0, 1225, 254, - 253, 1223, 927, 2505, 1150, 145, 0, 0, 2505, 1496, - 2505, 145, 944, 928, 0, 914, 2505, 145, 1114, 2505, - 2369, 185, 0, 912, 2427, 2486, 2505, 145, 1218, 0, - 2505, 145, 2505, 181, 2505, 145, 2505, 145, 2505, 663, - 0, 0, 2505, 145, 2505, 2541, 183, 931, 2505, 145, - 938, 2505, 145, 2334, 2505, 0, 1448, 0, 1584, 0, - 1564, 2751, 0, 1707, 1005, 1004, 0, 1005, 0, 1005, - 0, 1005, 0, 1005, 0, 0, 0, 1005, 2362, 2363, - 987, 0, 1011, 0, 1019, 0, 1018, 1017, 1016, 0, - 0, 0, 1020, 0, 1839, 1619, 0, 1429, 1444, 0, - 0, 0, 142, 0, 1247, 1244, 142, 1246, 1245, 142, - 142, 1440, 259, 257, 0, 0, 0, 0, 0, 0, - 1446, 0, 1438, 0, 0, 0, 2342, 2344, 2345, 2214, - 2285, 0, 2710, 2711, 2712, 2274, 0, 2713, 2714, 2715, - 2766, 2095, 2081, 2090, 2096, 2082, 2084, 2091, 2716, 2717, - 2030, 2718, 2719, 2357, 2720, 2721, 2722, 2724, 2725, 2726, - 2727, 2728, 2729, 2730, 2731, 2086, 2088, 2732, 2733, 2735, - 0, 2358, 2736, 2737, 2572, 2739, 2740, 2742, 2743, 2092, - 2745, 2746, 2093, 2747, 2748, 2749, 2750, 2356, 508, 2094, - 2752, 2754, 2755, 2756, 2757, 2759, 2760, 2761, 2762, 0, - 0, 0, 2329, 0, 2059, 0, 1899, 1900, 1922, 1923, - 1901, 1928, 1929, 1902, 0, 2328, 1964, 2159, 2058, 2076, - 0, 2064, 2065, 0, 2057, 2053, 2161, 1709, 2324, 0, - 2054, 2341, 2343, 2275, 1709, 2322, 216, 272, 0, 273, - 2330, 2642, 204, 251, 219, 250, 221, 220, 218, 217, - 0, 2425, 205, 0, 0, 206, 0, 0, 0, 0, - 269, 267, 0, 1436, 0, 1837, 1836, 2333, 949, 0, - 1553, 1550, 2224, 0, 1693, 0, 0, 0, 1938, 1925, - 1933, 1932, 0, 1915, 1914, 1913, 0, 1912, 1939, 1939, - 1937, 1916, 1891, 0, 0, 0, 1943, 0, 1941, 1887, - 1883, 0, 1950, 1951, 1952, 1949, 1962, 1948, 0, 1897, - 1953, 0, 1906, 1903, 1794, 0, 1673, 1672, 8, 0, - 1558, 1560, 1534, 1556, 1721, 1722, 0, 0, 0, 0, - 0, 0, 0, 0, 1781, 1739, 1740, 1742, 1778, 1782, - 1790, 0, 1679, 0, 0, 0, 1841, 0, 0, 1462, - 0, 0, 0, 0, 0, 1149, 0, 0, 0, 0, - 941, 0, 0, 0, 1482, 0, 1484, 1485, 1486, 0, - 0, 0, 1487, 1488, 1476, 263, 1495, 1492, 1475, 1477, - 1490, 0, 0, 0, 0, 0, 0, 0, 1507, 0, - 189, 190, 0, 675, 659, 0, 2505, 0, 0, 0, - 0, 1159, 1166, 1317, 0, 0, 0, 0, 0, 0, - 0, 0, 1160, 1158, 0, 1161, 265, 1171, 1198, 1201, - 0, 0, 1116, 1119, 0, 0, 0, 0, 0, 1308, - 0, 0, 0, 1308, 0, 0, 0, 1317, 0, 0, + 140, 0, 0, 468, 467, 0, 0, 1096, 473, 0, + 0, 0, 0, 0, 663, 1608, 2683, 1606, 1682, 277, + 280, 281, 278, 279, 2445, 0, 1236, 1237, 1239, 0, + 0, 1249, 930, 931, 0, 0, 0, 944, 0, 0, + 0, 928, 0, 0, 0, 950, 0, 947, 0, 0, + 951, 948, 925, 949, 932, 0, 924, 0, 0, 1249, + 952, 0, 0, 926, 0, 0, 0, 0, 1480, 1605, + 474, 1728, 0, 1589, 1590, 1591, 1567, 1579, 1592, 1584, + 1586, 1585, 1587, 1588, 1583, 2444, 2481, 1020, 1020, 1020, + 1020, 1017, 1018, 1020, 1020, 1020, 2704, 0, 0, 999, + 0, 1001, 2446, 1020, 1025, 2489, 553, 553, 553, 0, + 1024, 1029, 553, 0, 1448, 1489, 2423, 1740, 0, 1000, + 1447, 2769, 1595, 0, 0, 0, 0, 2723, 1457, 261, + 2735, 2852, 2769, 260, 255, 256, 227, 0, 0, 1024, + 553, 0, 1480, 1455, 996, 1747, 1745, 0, 2408, 2508, + 2525, 2624, 252, 2716, 2725, 2735, 2852, 2769, 2802, 203, + 213, 208, 0, 270, 2735, 2852, 2769, 266, 1477, 0, + 1708, 1858, 1857, 2417, 0, 1450, 1449, 1568, 0, 1571, + 0, 2699, 1712, 1715, 1573, 1713, 2465, 1951, 1980, 1958, + 1980, 1980, 1947, 1947, 2555, 1960, 1948, 1949, 1985, 2005, + 0, 1980, 1947, 1952, 0, 1950, 1988, 1988, 1975, 3, + 1930, 1931, 1932, 1933, 1961, 1962, 1934, 1967, 1968, 1972, + 1935, 2002, 1938, 1947, 2466, 1749, 1750, 2408, 4, 2459, + 5, 2335, 2458, 6, 7, 1704, 0, 0, 1, 1728, + 0, 1578, 1744, 1744, 0, 1744, 0, 1696, 1704, 1699, + 1703, 0, 0, 0, 0, 0, 0, 1451, 0, 0, + 0, 955, 0, 1492, 1081, 0, 0, 0, 0, 0, + 1333, 0, 1133, 1132, 2468, 2451, 2452, 2453, 0, 2449, + 2450, 2469, 2470, 2471, 0, 2593, 1333, 0, 0, 2250, + 2261, 2262, 2263, 2512, 2574, 2258, 2259, 2260, 2252, 2253, + 2254, 2255, 2256, 2257, 0, 0, 1231, 2251, 0, 2593, + 0, 1333, 0, 175, 0, 150, 1333, 0, 0, 2593, + 0, 0, 2593, 0, 0, 0, 0, 0, 2593, 0, + 0, 0, 0, 0, 175, 2629, 0, 150, 2593, 0, + 0, 1471, 0, 0, 0, 1473, 1476, 1463, 0, 2332, + 0, 2333, 2425, 1560, 0, 1559, 1553, 1563, 1558, 1548, + 0, 2417, 0, 0, 0, 0, 938, 0, 0, 928, + 0, 0, 0, 939, 0, 940, 941, 0, 0, 0, + 0, 937, 0, 1461, 1453, 0, 1597, 1599, 1598, 1600, + 1596, 553, 0, 0, 0, 2593, 0, 150, 1531, 0, + 2593, 150, 0, 0, 472, 471, 150, 2449, 470, 469, + 2512, 2574, 0, 1123, 0, 1206, 150, 2593, 0, 196, + 2593, 732, 2593, 1573, 139, 0, 676, 0, 844, 2629, + 150, 0, 0, 0, 0, 0, 0, 142, 0, 0, + 0, 0, 0, 0, 0, 662, 673, 1609, 1607, 0, + 1240, 254, 253, 1238, 942, 2593, 1165, 145, 0, 0, + 2593, 1512, 2593, 145, 959, 943, 0, 929, 2593, 145, + 1129, 2593, 2454, 185, 0, 927, 2512, 2574, 2593, 145, + 1233, 0, 2593, 145, 2593, 181, 2593, 145, 2593, 145, + 2593, 677, 0, 0, 2593, 145, 2593, 2629, 183, 946, + 2593, 145, 953, 2593, 145, 2419, 2593, 0, 1464, 0, + 1601, 0, 1581, 2856, 0, 1728, 1020, 1019, 0, 1020, + 0, 1020, 0, 1020, 0, 1020, 0, 0, 0, 1020, + 2447, 2448, 1002, 0, 1026, 0, 1034, 0, 1033, 1032, + 1031, 0, 0, 0, 1035, 0, 1862, 1636, 0, 1445, + 1460, 0, 0, 0, 142, 0, 1262, 1259, 142, 1261, + 1260, 142, 142, 1456, 259, 257, 0, 0, 0, 0, + 0, 0, 1462, 0, 1454, 0, 0, 0, 2427, 2429, + 2430, 2264, 2335, 0, 2807, 2808, 2809, 2324, 0, 2810, + 2811, 2812, 2871, 2138, 2124, 2133, 2139, 2125, 2127, 2134, + 2813, 2814, 2073, 2815, 2816, 2442, 2817, 2818, 2819, 2821, + 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, + 2832, 2834, 2835, 2129, 2131, 2836, 2837, 2838, 2840, 0, + 2443, 2841, 2842, 2662, 2844, 2845, 2847, 2848, 2135, 2850, + 2851, 2136, 2852, 2853, 2854, 2855, 2441, 516, 2137, 2857, + 2859, 2860, 2861, 2862, 2864, 2865, 2866, 2867, 0, 0, + 0, 2414, 0, 2102, 0, 1939, 1940, 1963, 1964, 1941, + 1969, 1970, 1942, 0, 1943, 2413, 2006, 2209, 2101, 2119, + 0, 2107, 2108, 0, 2100, 2096, 2211, 1730, 2409, 0, + 2097, 2426, 2428, 2325, 1730, 2407, 216, 272, 0, 273, + 2415, 2735, 204, 251, 219, 250, 221, 220, 218, 217, + 0, 2510, 205, 0, 0, 206, 0, 0, 0, 0, + 269, 267, 0, 1452, 0, 1860, 1859, 2418, 964, 0, + 1570, 1567, 2274, 0, 1714, 0, 0, 0, 1979, 1966, + 1974, 1973, 0, 1956, 1955, 1954, 0, 1953, 1980, 1980, + 1978, 1957, 1930, 0, 0, 0, 1984, 0, 1982, 1926, + 1922, 0, 1991, 1992, 1993, 1990, 2003, 1989, 0, 1936, + 1994, 0, 1947, 1944, 1815, 0, 1694, 1693, 8, 0, + 1575, 1577, 1551, 1573, 1742, 1743, 0, 0, 0, 0, + 0, 0, 0, 0, 1802, 1760, 1761, 1763, 1799, 1803, + 1811, 0, 1700, 0, 0, 0, 1864, 0, 0, 1478, + 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, + 956, 0, 0, 0, 1498, 0, 1500, 1501, 1502, 0, + 0, 0, 1503, 1504, 1492, 263, 1511, 1508, 1491, 1493, + 1506, 0, 0, 0, 0, 0, 0, 0, 1523, 0, + 189, 190, 0, 689, 673, 0, 2593, 0, 0, 0, + 0, 1174, 1181, 1332, 0, 0, 0, 0, 0, 0, + 0, 0, 1175, 1173, 0, 1176, 265, 1186, 1213, 1216, + 0, 0, 1131, 1134, 0, 0, 0, 0, 0, 1323, + 0, 0, 0, 1323, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 290, 303, - 368, 0, 640, 0, 0, 0, 643, 0, 2505, 1318, - 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, - 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 148, 149, 154, 0, 0, 0, 0, 1201, - 0, 0, 0, 0, 0, 0, 0, 626, 639, 0, - 0, 0, 0, 0, 636, 0, 0, 150, 293, 616, - 622, 0, 0, 0, 725, 724, 0, 0, 0, 0, - 0, 0, 1405, 0, 1404, 0, 0, 0, 0, 0, - 1505, 1504, 0, 0, 0, 0, 0, 0, 1308, 0, - 282, 284, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 401, 402, 0, - 0, 0, 154, 0, 0, 1308, 0, 295, 0, 0, - 1456, 1453, 1454, 0, 1459, 0, 0, 0, 0, 2067, - 0, 2228, 1731, 2226, 2339, 2281, 0, 2387, 2787, 2788, - 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, - 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, - 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817, 2818, - 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, - 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837, 2838, - 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847, 2848, - 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856, 2857, 2858, - 2859, 2860, 2861, 2862, 2863, 2864, 2278, 2277, 2337, 2388, - 2389, 2390, 2391, 2284, 0, 0, 239, 240, 238, 1544, - 241, 1545, 1540, 0, 1526, 0, 0, 0, 0, 0, - 0, 0, 0, 2427, 2486, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 838, 1476, 1514, 0, 0, 0, 668, 0, 2505, - 0, 152, 876, 0, 828, 465, 0, 0, 0, 0, - 1381, 152, 0, 0, 192, 0, 0, 722, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 829, 0, - 0, 152, 0, 2505, 619, 2505, 0, 541, 541, 0, - 0, 141, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 1665, 1664, 1667, 1666, 0, 1663, 0, 143, 144, - 0, 1208, 1233, 0, 0, 0, 0, 0, 905, 930, - 0, 0, 1202, 0, 0, 2505, 145, 2505, 0, 2505, - 0, 0, 0, 1210, 145, 0, 1204, 0, 0, 1206, - 0, 1407, 0, 921, 919, 918, 920, 0, 0, 903, - 0, 0, 0, 0, 0, 898, 0, 0, 900, 0, - 0, 0, 0, 1707, 1563, 0, 995, 0, 999, 0, - 990, 0, 996, 0, 991, 988, 989, 0, 994, 0, - 0, 542, 544, 0, 0, 2451, 2468, 0, 2494, 2529, - 2530, 2582, 2597, 2626, 2632, 2638, 0, 2667, 2678, 0, - 1025, 1063, 1015, 734, 0, 0, 1629, 1430, 2233, 0, - 1707, 0, 0, 1248, 0, 0, 138, 258, 228, 0, - 0, 1063, 0, 2630, 1443, 980, 659, 0, 2055, 0, - 2062, 2063, 2273, 0, 0, 0, 0, 0, 0, 2061, - 0, 0, 0, 2295, 0, 2295, 0, 0, 0, 0, - 0, 1986, 0, 0, 2232, 0, 0, 2232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1987, 1968, 1969, 2059, 2224, 0, 2060, 2353, 2350, 1961, - 0, 1961, 2392, 2214, 0, 2211, 2212, 2213, 2865, 2866, - 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, - 2877, 2878, 2879, 2880, 2881, 0, 2882, 2883, 2884, 2885, - 2886, 2888, 2887, 2889, 2890, 2891, 2892, 2893, 2894, 2288, - 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, - 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, - 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, - 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, - 2936, 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, - 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, - 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, - 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, - 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, - 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, - 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, - 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, - 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, - 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, - 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, - 3046, 3047, 3048, 3049, 2001, 3050, 3051, 3052, 3053, 3054, - 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, - 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, - 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, - 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, - 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, - 3105, 3106, 2003, 3107, 3108, 3109, 3110, 3111, 3112, 3113, - 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, - 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132, 3133, - 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3144, 3142, - 3143, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, - 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, - 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, - 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, - 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, - 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3202, 3201, 3203, - 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, - 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, - 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, - 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, - 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, - 3254, 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, - 3264, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, - 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, - 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293, - 3294, 3295, 3296, 0, 2208, 2209, 2210, 2202, 2203, 2204, - 2205, 2206, 2207, 2218, 0, 0, 2327, 2393, 0, 2161, - 0, 1983, 0, 2169, 0, 0, 1794, 2348, 0, 2346, - 2276, 1794, 274, 275, 271, 0, 0, 223, 224, 222, - 0, 244, 243, 248, 249, 215, 247, 0, 242, 226, - 2145, 2144, 225, 214, 233, 211, 209, 229, 231, 232, - 212, 210, 268, 0, 0, 0, 145, 1561, 1548, 0, - 0, 2288, 0, 2222, 0, 0, 2220, 0, 0, 0, - 1791, 0, 1695, 0, 1699, 0, 0, 0, 1936, 1935, - 1888, 1884, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 942, 0, 1904, 0, 1857, - 2375, 2376, 2286, 1727, 1561, 0, 1557, 1690, 1689, 1732, - 1733, 1100, 1688, 1761, 1762, 0, 0, 0, 0, 1787, - 1785, 1752, 1743, 1751, 0, 0, 1749, 0, 1753, 1964, - 1780, 1677, 1737, 1738, 1741, 1676, 0, 1783, 0, 1632, - 1781, 1742, 1616, 0, 1594, 0, 0, 1842, 0, 0, - 1463, 0, 0, 0, 1129, 1131, 0, 1130, 0, 1133, - 0, 1142, 0, 0, 1128, 1147, 0, 1136, 1134, 0, - 1503, 0, 0, 0, 0, 0, 1483, 0, 0, 0, - 2667, 262, 1486, 1491, 1478, 1489, 0, 0, 0, 0, - 0, 1065, 1064, 0, 0, 1084, 0, 0, 508, 1510, - 530, 0, 370, 0, 0, 0, 0, 0, 0, 0, - 0, 824, 821, 0, 0, 820, 0, 673, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 698, - 0, 1308, 0, 301, 0, 1168, 0, 1167, 0, 1172, - 0, 0, 1169, 1164, 1165, 2632, 2642, 2673, 264, 1170, - 1200, 0, 1199, 1195, 0, 1111, 0, 1112, 0, 0, - 0, 0, 0, 2478, 2505, 309, 332, 0, 1307, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 354, 0, 0, 357, 356, 0, - 0, 0, 0, 0, 362, 0, 340, 0, 341, 0, - 361, 0, 0, 0, 641, 642, 0, 0, 0, 1308, - 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, - 1217, 0, 751, 0, 0, 2632, 1196, 0, 1390, 0, - 2666, 1391, 1394, 541, 0, 541, 1396, 0, 0, 1393, - 1395, 0, 0, 178, 0, 173, 177, 0, 0, 2632, - 1197, 0, 0, 0, 0, 0, 624, 625, 638, 0, - 629, 630, 627, 631, 632, 0, 0, 0, 0, 0, - 0, 0, 623, 0, 0, 720, 719, 723, 0, 0, - 0, 0, 0, 0, 1399, 0, 0, 1191, 0, 0, - 1398, 1406, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1251, 1250, 0, 0, 0, 0, 1318, 0, - 866, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 180, 738, 0, 737, 0, 174, 179, 0, 0, 0, - 0, 0, 0, 0, 0, 237, 1452, 1458, 1731, 1731, - 1731, 2073, 0, 0, 0, 0, 1730, 2279, 2282, 1531, - 1537, 1530, 1529, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 415, 412, 413, 415, 0, 0, 0, 0, 840, 0, - 843, 846, 1474, 492, 0, 0, 665, 698, 0, 0, - 468, 187, 0, 0, 0, 0, 753, 0, 1191, 1190, - 147, 138, 196, 466, 0, 195, 197, 199, 200, 201, - 198, 202, 0, 717, 721, 0, 0, 0, 0, 661, - 0, 0, 0, 0, 0, 0, 0, 1862, 0, 0, - 172, 0, 0, 614, 618, 0, 0, 0, 0, 468, - 580, 381, 2505, 0, 541, 0, 2505, 0, 137, 0, - 827, 0, 0, 0, 1153, 1153, 0, 0, 767, 766, - 0, 0, 0, 0, 0, 0, 1662, 145, 1151, 0, - 1497, 0, 145, 945, 145, 1115, 186, 2370, 0, 907, - 0, 0, 0, 0, 145, 1219, 895, 145, 182, 145, - 145, 664, 0, 145, 184, 0, 0, 145, 939, 145, - 2335, 0, 145, 1587, 2505, 541, 1565, 992, 1001, 1000, - 998, 997, 993, 0, 1012, 0, 540, 0, 0, 0, - 0, 0, 1033, 1034, 0, 0, 1030, 1035, 0, 1037, - 1021, 1023, 1031, 1032, 1038, 1027, 1026, 1039, 1040, 0, - 0, 0, 1052, 732, 0, 0, 0, 0, 1626, 0, - 1624, 0, 1840, 1628, 1617, 1577, 0, 1576, 0, 607, - 1242, 1241, 1243, 0, 1009, 0, 145, 0, 1442, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2237, 0, 2238, 0, 0, 2272, 2268, 0, 0, 0, - 0, 0, 2242, 0, 2245, 2246, 2247, 2244, 2248, 2243, - 0, 0, 2249, 0, 0, 0, 2059, 2291, 2291, 2316, - 0, 2315, 2321, 2228, 1964, 0, 0, 2312, 2306, 0, - 2312, 0, 0, 0, 0, 0, 0, 2228, 2231, 0, - 0, 2743, 0, 0, 0, 0, 2031, 0, 0, 2195, - 0, 2228, 0, 0, 0, 0, 0, 0, 0, 2224, - 2264, 0, 506, 0, 2021, 0, 0, 0, 2143, 0, - 2140, 0, 0, 0, 0, 2285, 0, 2354, 0, 2351, - 1965, 1979, 1980, 1981, 1984, 2326, 0, 2287, 0, 0, - 1966, 1992, 0, 2265, 2017, 0, 2022, 2007, 2296, 2250, - 2251, 2252, 2253, 2024, 0, 2000, 2005, 2009, 0, 2305, - 1988, 0, 1985, 0, 2288, 2223, 0, 2221, 0, 1976, - 1977, 1978, 1970, 1971, 1972, 1973, 1974, 1975, 1982, 2199, - 2197, 2198, 0, 0, 2169, 0, 0, 2004, 0, 0, - 2075, 2497, 2536, 0, 1720, 1720, 1720, 1708, 1718, 2325, - 1857, 1731, 1857, 2331, 0, 0, 1961, 0, 1838, 947, - 948, 946, 1533, 1547, 1561, 2225, 1555, 1697, 0, 0, - 0, 1905, 1918, 0, 1945, 1946, 1947, 1947, 0, 1889, - 0, 1930, 1955, 1956, 1957, 1958, 1959, 1960, 0, 1954, - 1898, 943, 0, 2628, 2763, 0, 1818, 1793, 1795, 1805, - 1818, 1825, 1818, 2077, 1855, 2078, 2079, 2332, 0, 1764, - 2372, 1535, 1559, 0, 1098, 1099, 0, 1103, 2743, 2628, - 0, 0, 0, 0, 1754, 1788, 0, 1779, 0, 2342, - 1755, 2341, 1756, 1759, 1760, 1750, 1789, 1630, 0, 1784, - 1681, 1680, 0, 1860, 0, 0, 0, 1608, 1596, 0, - 0, 1843, 0, 1794, 1634, 0, 2285, 1792, 1357, 1252, - 1319, 1132, 0, 1906, 1143, 0, 1127, 0, 1126, 1906, - 0, 1144, 0, 1906, 1358, 1253, 1320, 1359, 1254, 1321, - 1360, 1494, 1255, 1493, 1481, 1480, 1479, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 805, 2505, 145, 1508, 1361, 0, 1256, 369, 1509, - 1322, 1513, 823, 822, 0, 0, 1323, 0, 674, 679, - 0, 681, 682, 2427, 2486, 683, 686, 687, 0, 689, - 678, 677, 0, 0, 0, 0, 0, 695, 700, 0, - 0, 0, 0, 0, 0, 1162, 1163, 1362, 1259, 0, - 1324, 0, 1110, 0, 1260, 188, 0, 0, 289, 2505, - 311, 0, 490, 805, 0, 1310, 308, 338, 0, 353, - 348, 349, 347, 2505, 145, 2505, 145, 0, 0, 0, - 0, 0, 350, 345, 346, 342, 0, 0, 355, 2399, - 2470, 2643, 0, 706, 708, 0, 713, 358, 1280, 377, - 376, 375, 0, 363, 0, 382, 385, 0, 360, 339, - 337, 334, 304, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1212, 0, 1365, 1325, 0, 1347, - 0, 0, 0, 0, 745, 1368, 1266, 1328, 0, 541, - 0, 0, 556, 556, 541, 1379, 1267, 176, 1297, 165, - 0, 0, 161, 0, 0, 0, 0, 153, 1369, 1268, - 1329, 0, 0, 1370, 1269, 0, 0, 294, 617, 628, - 633, 1274, 637, 634, 1337, 635, 1377, 1270, 0, 1373, - 1300, 1332, 600, 1191, 1191, 1380, 1400, 1271, 1191, 0, - 1308, 0, 283, 285, 0, 142, 0, 1272, 0, 1330, - 1372, 1299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1516, 0, 0, 0, 0, 0, 0, 145, 0, - 0, 0, 1310, 2505, 145, 1371, 0, 1305, 0, 1345, - 0, 0, 403, 0, 1298, 1308, 0, 296, 1276, 0, - 1339, 0, 0, 235, 234, 236, 0, 0, 0, 0, - 2229, 2230, 0, 2227, 2068, 2281, 0, 1527, 969, 955, - 968, 0, 951, 2468, 0, 954, 956, 0, 0, 0, - 957, 961, 962, 0, 953, 950, 952, 0, 414, 0, - 0, 762, 763, 0, 0, 0, 0, 842, 0, 0, - 1506, 0, 150, 672, 0, 0, 0, 667, 697, 702, - 0, 0, 0, 0, 467, 471, 475, 476, 477, 0, - 0, 0, 0, 166, 151, 0, 884, 0, 541, 0, - 755, 1191, 1383, 0, 196, 191, 0, 0, 718, 0, - 1556, 0, 0, 595, 598, 597, 0, 381, 837, 835, - 834, 836, 858, 833, 0, 1861, 1863, 0, 0, 0, - 0, 0, 0, 607, 470, 0, 0, 544, 0, 583, - 0, 0, 0, 0, 580, 0, 0, 0, 2380, 0, - 854, 826, 0, 1121, 0, 1139, 1122, 0, 0, 0, - 0, 1176, 1183, 1152, 1177, 1154, 1183, 0, 0, 768, - 772, 771, 775, 773, 0, 769, 646, 1668, 1669, 0, - 1209, 0, 0, 1502, 0, 1500, 906, 1203, 145, 0, - 145, 0, 145, 1211, 1205, 1207, 1408, 0, 904, 0, - 0, 897, 899, 0, 901, 0, 1013, 543, 0, 0, - 0, 0, 0, 0, 1029, 644, 1036, 0, 0, 0, - 1051, 1046, 1048, 0, 1063, 1057, 0, 731, 0, 0, - 1627, 1620, 1622, 1621, 0, 0, 1618, 2234, 896, 0, - 613, 0, 1063, 1054, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1725, 2235, 2236, 0, 0, - 0, 2269, 0, 0, 2112, 0, 2083, 2085, 0, 2098, - 0, 2113, 2066, 2291, 0, 2295, 2289, 2132, 0, 0, - 0, 2295, 0, 2315, 0, 0, 2127, 2129, 0, 0, - 0, 2305, 2305, 2114, 2087, 2089, 2099, 0, 0, 2215, - 0, 2102, 2101, 0, 2033, 2034, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2048, 2103, 2194, 0, 0, 0, - 2105, 2104, 0, 0, 2263, 0, 0, 0, 2110, 507, - 2115, 0, 0, 0, 0, 2121, 0, 2151, 0, 0, - 0, 2056, 2225, 0, 0, 0, 0, 0, 0, 0, - 2298, 2299, 2300, 2297, 0, 2023, 2008, 2026, 2002, 2006, - 2010, 0, 2305, 2025, 0, 0, 2028, 0, 0, 1996, - 0, 0, 1994, 2018, 1990, 0, 0, 2019, 0, 2074, - 0, 0, 0, 2172, 2167, 2168, 1720, 1720, 1720, 1720, - 1717, 0, 0, 0, 1764, 0, 1764, 207, 0, 245, - 230, 1532, 1698, 1707, 1924, 0, 1942, 1940, 1885, 1890, - 1963, 1818, 1825, 1818, 0, 0, 1683, 0, 1805, 0, - 1817, 1803, 1816, 0, 0, 1831, 1829, 0, 1831, 0, - 1831, 0, 1797, 0, 1821, 1799, 1816, 1801, 0, 1847, - 2333, 1856, 0, 1777, 1734, 0, 2216, 1103, 0, 1736, - 1758, 1757, 0, 1747, 0, 1786, 1744, 1631, 1615, 0, - 1613, 1600, 1602, 1601, 0, 0, 1603, 2285, 0, 1613, - 1595, 0, 1639, 0, 0, 1860, 0, 1638, 0, 1906, - 1124, 1125, 0, 1148, 0, 1068, 1069, 0, 1067, 0, - 0, 0, 529, 1083, 0, 0, 0, 805, 0, 0, - 533, 0, 1511, 0, 1378, 1296, 676, 0, 0, 0, - 0, 691, 650, 692, 694, 0, 0, 693, 696, 699, - 1308, 0, 302, 1282, 0, 1343, 1156, 0, 0, 1113, - 0, 0, 0, 0, 0, 0, 489, 486, 333, 0, - 0, 0, 0, 390, 0, 313, 325, 388, 331, 0, - 365, 0, 336, 0, 329, 351, 343, 352, 344, 364, - 366, 0, 710, 711, 709, 705, 0, 712, 714, 0, - 379, 0, 0, 0, 359, 0, 1364, 0, 1308, 0, - 298, 1278, 0, 1341, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1346, 0, 0, 0, - 0, 750, 0, 747, 0, 556, 0, 1392, 0, 1389, - 1387, 556, 0, 0, 156, 157, 155, 0, 164, 0, - 0, 0, 0, 0, 0, 1401, 1402, 1403, 0, 0, - 0, 0, 0, 0, 397, 0, 305, 307, 306, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 404, 372, 0, 861, - 0, 0, 0, 406, 0, 0, 1356, 0, 0, 0, - 0, 0, 1363, 1261, 2071, 2072, 2069, 1731, 2280, 0, - 0, 0, 966, 0, 0, 0, 0, 417, 418, 150, - 416, 439, 0, 805, 0, 0, 839, 844, 852, 2572, - 2202, 2203, 850, 845, 847, 849, 851, 848, 0, 0, - 0, 0, 511, 0, 0, 0, 498, 0, 0, 508, - 491, 494, 495, 0, 0, 668, 671, 669, 670, 0, - 690, 0, 470, 518, 570, 0, 168, 0, 0, 169, - 167, 0, 0, 381, 752, 0, 749, 1382, 0, 194, - 0, 722, 0, 0, 0, 0, 0, 1191, 660, 0, - 857, 859, 831, 0, 702, 0, 0, 619, 0, 541, - 1588, 602, 0, 572, 470, 570, 579, 0, 0, 587, - 380, 0, 0, 607, 381, 0, 0, 1084, 0, 853, - 0, 0, 1120, 0, 0, 0, 1173, 1178, 1174, 0, - 1153, 1135, 0, 1175, 0, 0, 1181, 1106, 1155, 1107, - 1424, 1425, 1422, 1423, 0, 0, 0, 0, 0, 0, - 1659, 0, 0, 1498, 0, 908, 0, 891, 0, 893, - 145, 739, 0, 145, 0, 0, 0, 0, 0, 0, - 1028, 0, 1022, 1024, 1049, 0, 0, 1063, 1062, 0, - 1053, 1061, 1059, 1060, 1058, 0, 0, 1625, 1623, 605, - 0, 0, 145, 1063, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2239, 0, 2271, 2267, 0, 2080, - 2241, 2240, 2294, 2293, 0, 0, 0, 2317, 0, 0, - 2295, 2309, 2308, 0, 0, 2307, 2295, 2295, 0, 0, - 0, 2195, 0, 0, 2032, 2044, 2045, 2046, 2256, 0, - 2051, 0, 2041, 2042, 2043, 2035, 2036, 2037, 2038, 2039, - 2040, 2047, 2260, 2259, 0, 0, 2107, 2108, 2109, 2262, - 2116, 0, 2417, 2152, 0, 2120, 2142, 2141, 0, 0, - 0, 2123, 0, 0, 2138, 0, 2196, 2355, 2352, 1967, - 0, 0, 1993, 2266, 2011, 0, 2027, 2029, 2302, 2304, - 1989, 2215, 0, 0, 0, 0, 0, 1998, 0, 0, - 2192, 0, 0, 0, 2174, 2171, 0, 0, 0, 0, - 1711, 1710, 1716, 1777, 2068, 1777, 0, 0, 1886, 1804, - 1800, 1802, 0, 2758, 0, 1807, 1814, 0, 1796, 0, - 1830, 1826, 0, 1827, 0, 0, 1828, 0, 0, 1798, - 0, 1814, 0, 1854, 1723, 0, 2163, 0, 1735, 1101, - 1102, 1745, 0, 1748, 2447, 1858, 0, 1614, 0, 0, - 0, 1605, 1611, 1593, 0, 0, 0, 1635, 1613, 1636, - 1145, 0, 0, 1137, 1074, 1075, 1078, 1076, 1073, 1077, - 0, 0, 0, 805, 0, 0, 551, 0, 1097, 1097, - 0, 0, 535, 592, 0, 808, 0, 0, 0, 806, - 145, 1257, 0, 0, 0, 0, 651, 1376, 1258, 0, - 0, 0, 0, 1157, 1311, 0, 0, 1281, 0, 310, - 488, 487, 0, 485, 702, 0, 0, 316, 326, 0, - 321, 0, 1309, 0, 0, 0, 320, 323, 322, 392, - 0, 389, 0, 145, 145, 367, 707, 378, 383, 384, - 387, 1316, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 885, 868, 0, 0, 886, - 887, 0, 0, 0, 1214, 1215, 1213, 1348, 1349, 1354, - 1351, 1350, 1353, 1355, 1352, 0, 1264, 0, 0, 743, - 1312, 1384, 1386, 1385, 0, 1388, 162, 159, 158, 160, - 163, 1313, 1294, 1275, 1338, 601, 0, 0, 0, 1273, - 0, 1331, 0, 1290, 1284, 0, 0, 0, 0, 0, - 1375, 1304, 1336, 1374, 1302, 1334, 1301, 1333, 1303, 1335, - 1295, 0, 0, 1865, 865, 0, 0, 0, 145, 145, - 864, 741, 1277, 0, 1340, 1286, 0, 0, 0, 958, - 0, 0, 0, 960, 422, 440, 150, 0, 761, 825, - 0, 0, 841, 0, 496, 0, 502, 509, 0, 0, - 513, 514, 512, 497, 1191, 541, 1191, 794, 795, 0, - 0, 815, 0, 666, 0, 0, 468, 0, 515, 0, - 0, 472, 171, 170, 0, 0, 0, 756, 760, 758, - 757, 759, 754, 0, 745, 196, 2505, 0, 0, 0, - 0, 599, 593, 596, 1397, 832, 0, 1864, 735, 0, - 381, 615, 0, 0, 0, 468, 607, 0, 473, 478, - 479, 492, 0, 580, 571, 0, 572, 581, 582, 0, - 589, 1472, 0, 608, 589, 0, 0, 0, 856, 0, - 855, 0, 1123, 1140, 1141, 0, 0, 1183, 0, 0, - 1185, 1180, 0, 0, 774, 777, 770, 653, 145, 0, - 1501, 145, 145, 1240, 0, 902, 1043, 1044, 1045, 1042, - 1041, 645, 0, 1047, 1006, 1056, 733, 0, 606, 0, - 1007, 145, 983, 975, 982, 971, 974, 976, 0, 978, - 979, 973, 970, 972, 2270, 2097, 0, 2290, 2131, 2314, - 2313, 2130, 2320, 0, 2311, 2310, 0, 0, 2100, 2111, - 0, 2194, 2225, 0, 0, 2052, 0, 0, 0, 2106, - 2753, 0, 0, 2156, 2157, 0, 2153, 2154, 2149, 2150, - 2122, 0, 2561, 2133, 0, 0, 2148, 2015, 2013, 2012, - 2301, 2303, 1997, 0, 0, 1995, 1991, 0, 2020, 2158, - 2191, 2225, 2160, 0, 1731, 1715, 1714, 1713, 1712, 2163, - 2349, 2347, 2163, 246, 1702, 1850, 0, 1853, 0, 0, - 1806, 0, 0, 1808, 0, 0, 1810, 1812, 0, 0, - 0, 0, 0, 0, 2336, 0, 1776, 0, 1731, 0, - 1746, 0, 1612, 1597, 0, 1598, 1604, 0, 0, 0, - 0, 0, 1640, 1633, 1138, 1146, 0, 0, 0, 531, - 0, 546, 0, 0, 0, 1090, 140, 1089, 0, 546, - 546, 810, 809, 812, 807, 811, 1512, 0, 684, 685, - 688, 1283, 0, 1344, 1292, 0, 1629, 312, 484, 483, - 492, 319, 0, 0, 0, 314, 391, 393, 315, 318, - 372, 335, 328, 0, 0, 0, 1279, 0, 1342, 1288, - 1315, 1366, 1262, 1326, 0, 0, 874, 0, 0, 0, - 0, 1367, 1263, 1327, 0, 0, 0, 0, 0, 1629, - 0, 0, 0, 0, 0, 0, 0, 0, 1521, 0, - 0, 371, 863, 862, 372, 405, 1306, 0, 2070, 0, - 959, 964, 965, 963, 0, 411, 419, 422, 0, 0, - 1231, 1231, 0, 0, 493, 510, 0, 591, 550, 591, - 0, 0, 0, 0, 0, 703, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 748, 747, 193, 0, - 468, 0, 702, 0, 860, 0, 0, 0, 607, 470, - 0, 0, 1585, 469, 0, 0, 481, 0, 583, 572, - 580, 0, 0, 604, 0, 1465, 0, 610, 0, 0, - 0, 804, 1179, 0, 1193, 0, 1134, 1104, 1188, 0, - 1707, 1857, 0, 0, 0, 0, 787, 0, 657, 1232, - 1499, 892, 894, 740, 1050, 0, 1063, 1055, 977, 2292, - 2319, 2128, 2318, 2255, 2196, 2049, 0, 2258, 2257, 2261, - 0, 2117, 0, 2118, 2155, 2124, 2134, 0, 2125, 2146, - 0, 0, 2016, 2014, 1999, 2193, 0, 2178, 1685, 1684, - 0, 1705, 1855, 0, 0, 1849, 0, 0, 1879, 0, - 0, 0, 1815, 1833, 0, 1811, 1809, 0, 1822, 0, - 1824, 2446, 2722, 2625, 0, 1763, 1765, 1768, 1770, 1769, - 1771, 1767, 2162, 2164, 0, 1742, 2217, 1859, 0, 0, - 0, 1085, 0, 0, 1641, 1642, 1637, 1051, 0, 145, - 1097, 0, 1191, 552, 2572, 553, 1096, 1100, 139, 0, - 1191, 1191, 680, 0, 0, 291, 480, 0, 317, 327, - 374, 386, 0, 1629, 0, 0, 872, 881, 881, 869, - 0, 0, 888, 1265, 744, 0, 555, 0, 286, 1291, - 1285, 0, 0, 0, 1523, 1524, 0, 0, 0, 0, - 0, 1314, 145, 1287, 967, 0, 442, 449, 423, 427, - 1515, 0, 1515, 0, 424, 428, 1515, 1515, 421, 1857, - 438, 1231, 0, 1228, 1227, 539, 621, 0, 0, 500, - 0, 561, 499, 0, 816, 0, 0, 701, 0, 470, - 570, 0, 528, 519, 520, 521, 522, 524, 523, 525, - 526, 527, 517, 516, 0, 702, 878, 381, 1472, 742, - 0, 0, 715, 0, 702, 0, 1588, 603, 572, 470, - 570, 474, 492, 0, 587, 580, 583, 0, 584, 0, - 588, 0, 0, 0, 607, 1525, 1084, 0, 0, 805, - 1192, 1153, 0, 0, 1182, 1186, 1187, 0, 0, 0, - 0, 1235, 781, 782, 776, 778, 0, 789, 793, 652, - 0, 0, 656, 647, 702, 145, 0, 2050, 0, 0, - 2136, 2135, 2147, 2126, 2173, 0, 0, 0, 0, 0, - 0, 0, 1696, 1848, 1851, 0, 1882, 0, 0, 0, - 0, 1868, 0, 1813, 0, 0, 1823, 0, 0, 0, - 1772, 0, 0, 0, 1781, 0, 1610, 1857, 0, 1607, - 0, 1650, 0, 1643, 1070, 0, 1071, 1091, 0, 591, - 0, 1103, 1100, 541, 591, 591, 1293, 0, 621, 0, - 330, 0, 299, 1289, 0, 0, 883, 883, 0, 0, - 0, 0, 0, 0, 399, 0, 0, 1517, 0, 1518, - 1519, 1522, 407, 420, 0, 447, 0, 445, 444, 446, - 0, 435, 0, 0, 0, 0, 0, 0, 410, 1226, - 1230, 1229, 0, 501, 0, 503, 0, 0, 547, 548, - 549, 0, 505, 557, 558, 813, 0, 818, 0, 704, - 0, 0, 702, 569, 726, 0, 0, 0, 1466, 0, - 0, 594, 736, 1472, 607, 580, 0, 572, 482, 0, - 589, 583, 587, 585, 586, 0, 1469, 0, 609, 0, - 1093, 803, 0, 1183, 1194, 1189, 1184, 1428, 0, 0, - 779, 784, 783, 1515, 788, 0, 0, 0, 655, 654, - 730, 1008, 2254, 2139, 2119, 2137, 2709, 2447, 2681, 0, - 2190, 2179, 2190, 2190, 2170, 0, 0, 0, 0, 0, - 1880, 1881, 1866, 0, 0, 1870, 1820, 1846, 0, 0, - 0, 1766, 2165, 2166, 2371, 1599, 1609, 1086, 0, 0, - 0, 1650, 0, 0, 556, 0, 1087, 1103, 550, 805, - 805, 1629, 324, 373, 0, 0, 0, 879, 882, 870, - 871, 890, 889, 746, 1629, 0, 395, 394, 0, 398, - 0, 443, 452, 0, 450, 425, 430, 0, 434, 432, - 431, 426, 429, 538, 0, 0, 0, 0, 0, 0, - 559, 0, 560, 0, 817, 0, 0, 0, 728, 877, - 0, 0, 468, 702, 1467, 1586, 583, 572, 580, 0, - 0, 574, 1097, 1097, 455, 587, 589, 1470, 1471, 0, - 0, 508, 0, 1105, 1427, 1426, 1707, 0, 0, 0, - 790, 791, 786, 0, 0, 0, 2183, 2182, 2181, 2185, - 2184, 0, 2177, 2175, 2176, 0, 0, 0, 1852, 0, - 1869, 1872, 0, 0, 0, 1878, 1871, 1873, 0, 1832, - 0, 1844, 1774, 0, 1773, 1857, 1649, 0, 0, 145, - 545, 805, 554, 1088, 561, 534, 532, 292, 1629, 873, - 0, 287, 0, 400, 1520, 448, 0, 433, 620, 504, - 590, 566, 0, 565, 0, 563, 562, 814, 819, 0, - 702, 867, 1472, 716, 587, 580, 583, 0, 573, 0, - 140, 140, 589, 453, 0, 0, 381, 0, 1410, 1707, - 1409, 1411, 1419, 1416, 1418, 1417, 1415, 0, 1238, 1239, - 780, 785, 0, 0, 0, 0, 2187, 0, 2188, 0, - 0, 0, 0, 1875, 1876, 1877, 1874, 1819, 0, 1775, - 1606, 1652, 0, 0, 1644, 1645, 0, 1072, 536, 805, - 300, 880, 0, 451, 564, 541, 541, 702, 727, 1468, - 589, 583, 587, 1097, 575, 577, 576, 457, 1093, 1094, - 0, 589, 793, 0, 1420, 1414, 1683, 1670, 0, 0, - 792, 0, 2180, 2186, 2189, 0, 0, 0, 0, 0, - 0, 1647, 0, 0, 0, 1646, 537, 0, 568, 567, - 729, 456, 587, 589, 140, 508, 1092, 0, 1857, 0, - 1412, 1707, 0, 0, 798, 1701, 1700, 0, 0, 1704, - 0, 1845, 1651, 1648, 0, 0, 0, 0, 1653, 396, - 589, 454, 578, 381, 1095, 1079, 0, 1413, 0, 0, - 800, 0, 796, 799, 801, 802, 0, 0, 1867, 1657, - 0, 0, 0, 458, 589, 0, 0, 0, 764, 0, - 1731, 0, 0, 0, 0, 1857, 0, 0, 0, 797, - 0, 0, 1654, 1658, 0, 1655, 1080, 798, 1236, 1237, - 0, 1703, 0, 0, 0, 765, 1656 + 369, 0, 654, 0, 0, 0, 657, 0, 2593, 1333, + 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, + 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 148, 149, 154, 0, 0, 0, 0, 1216, + 0, 0, 0, 0, 0, 0, 0, 638, 653, 641, + 0, 0, 0, 0, 0, 649, 0, 0, 150, 651, + 293, 628, 634, 0, 0, 0, 739, 738, 0, 0, + 0, 0, 0, 0, 1421, 0, 1420, 0, 0, 0, + 0, 0, 1521, 1520, 0, 0, 0, 0, 0, 0, + 1323, 0, 282, 284, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, + 407, 0, 0, 0, 154, 0, 0, 1323, 0, 295, + 0, 0, 1472, 1469, 1470, 0, 1475, 0, 0, 0, + 0, 2110, 0, 2278, 1752, 2276, 2424, 2331, 0, 2472, + 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, + 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, + 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, + 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, + 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, + 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, + 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, + 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2328, 2327, + 2422, 2473, 2474, 2475, 2476, 2334, 1543, 0, 239, 240, + 238, 1561, 241, 1562, 1557, 0, 1544, 0, 0, 0, + 0, 0, 0, 0, 0, 2512, 2574, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 852, 1492, 1530, 0, 0, 0, 682, + 0, 2593, 0, 152, 891, 0, 842, 473, 0, 0, + 0, 0, 1397, 152, 0, 0, 192, 0, 0, 736, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 843, 0, 0, 152, 0, 2593, 631, 2593, 0, 553, + 553, 0, 0, 141, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 1686, 1685, 1688, 1687, 0, 1684, 0, + 143, 144, 0, 1223, 1248, 0, 0, 0, 0, 0, + 920, 945, 0, 0, 1217, 0, 0, 2593, 145, 2593, + 0, 2593, 0, 0, 0, 1225, 145, 0, 1219, 0, + 0, 1221, 0, 1423, 0, 936, 934, 933, 935, 0, + 0, 918, 0, 0, 0, 0, 0, 913, 0, 0, + 915, 0, 0, 0, 0, 1728, 1580, 0, 1010, 0, + 1014, 0, 1005, 0, 1011, 0, 1006, 1003, 1004, 0, + 1009, 0, 0, 554, 556, 0, 0, 2537, 2554, 0, + 2582, 2617, 2618, 2672, 2689, 2719, 2725, 2731, 0, 2762, + 2774, 0, 1040, 1078, 1030, 748, 0, 0, 1646, 1446, + 2283, 0, 1728, 0, 0, 1263, 0, 0, 138, 258, + 228, 0, 0, 1078, 0, 2723, 1459, 995, 673, 0, + 2098, 0, 2105, 2106, 2323, 0, 0, 0, 0, 0, + 0, 2104, 0, 0, 0, 0, 2380, 0, 0, 2380, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2029, 0, 0, 2282, 0, 0, 2282, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2030, + 2011, 2012, 2102, 2274, 0, 2103, 2438, 2435, 2002, 0, + 2002, 2477, 2264, 0, 2261, 2262, 2263, 2970, 2971, 2972, + 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, + 2983, 2984, 2985, 2986, 0, 2987, 2988, 2989, 2990, 2991, + 2993, 2992, 2994, 2995, 2996, 2997, 2998, 2999, 2338, 3001, + 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, + 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, + 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, + 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, + 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, + 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, + 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, + 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, + 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, + 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, + 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, + 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, + 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, + 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, + 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, + 3152, 3153, 3154, 3155, 3156, 3157, 2044, 3158, 3159, 3160, + 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, + 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, + 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, + 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, + 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, + 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, + 3221, 3222, 3223, 2046, 3224, 3225, 3226, 3227, 3228, 3229, + 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, + 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, + 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, + 3260, 3261, 3264, 3262, 3263, 3265, 3266, 3267, 3268, 3269, + 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, + 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, + 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, + 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, + 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, + 3320, 3321, 3323, 3322, 3324, 3325, 3326, 3327, 3328, 3329, + 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, + 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, + 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, + 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, + 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3380, + 3379, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, + 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, + 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, + 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, + 3420, 3421, 0, 2258, 2259, 2260, 2252, 2253, 2254, 2255, + 2256, 2257, 2268, 0, 0, 2412, 2478, 0, 2211, 0, + 2026, 0, 2219, 0, 0, 1815, 2433, 0, 2431, 2326, + 1815, 274, 275, 271, 0, 0, 223, 224, 222, 0, + 244, 243, 248, 249, 215, 247, 0, 242, 226, 2195, + 2194, 225, 214, 233, 211, 209, 229, 231, 232, 212, + 210, 268, 0, 0, 0, 145, 1578, 1565, 0, 0, + 2338, 0, 2272, 0, 0, 2270, 0, 0, 0, 1812, + 0, 1716, 0, 1720, 0, 0, 0, 1977, 1976, 1927, + 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 957, 0, 1945, 0, 1880, 2460, + 2461, 2336, 1748, 1578, 0, 1574, 1711, 1710, 1753, 1754, + 1115, 1709, 1782, 1783, 0, 0, 0, 0, 1808, 1806, + 1773, 1764, 1772, 0, 0, 1770, 0, 1774, 2006, 1801, + 1698, 1758, 1759, 1762, 1697, 0, 1804, 0, 1649, 1802, + 1763, 1633, 0, 1611, 0, 0, 1865, 0, 0, 1479, + 0, 0, 0, 1144, 1146, 0, 1145, 0, 1148, 0, + 1157, 0, 0, 1143, 1162, 0, 1151, 1149, 0, 1519, + 0, 0, 0, 0, 0, 1499, 0, 0, 0, 2762, + 262, 1502, 1507, 1494, 1505, 0, 0, 0, 0, 0, + 1080, 1079, 0, 0, 0, 1526, 547, 0, 371, 0, + 0, 0, 0, 0, 0, 0, 0, 838, 835, 0, + 0, 834, 0, 687, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 712, 0, 1323, 0, 301, + 0, 1183, 0, 1182, 0, 1187, 0, 0, 1184, 1179, + 1180, 2725, 2735, 2769, 264, 1185, 1215, 0, 1214, 1210, + 0, 1126, 0, 1127, 0, 0, 0, 0, 0, 0, + 0, 2566, 0, 2593, 0, 516, 309, 333, 538, 0, + 1322, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 355, 0, 0, 358, + 357, 0, 0, 0, 0, 0, 363, 0, 341, 0, + 342, 0, 362, 0, 0, 0, 655, 656, 0, 0, + 0, 1323, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1232, 0, 765, 0, 0, 2725, 1211, 0, + 1406, 0, 2761, 1407, 1410, 553, 0, 553, 1412, 0, + 0, 1409, 1411, 0, 0, 178, 0, 173, 177, 0, + 0, 2725, 1212, 0, 0, 0, 0, 0, 636, 637, + 652, 0, 642, 643, 639, 644, 645, 0, 0, 0, + 0, 0, 0, 0, 635, 0, 0, 734, 733, 737, + 0, 0, 0, 0, 0, 0, 1415, 0, 0, 1206, + 0, 0, 1414, 1422, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1266, 1265, 0, 0, 0, 0, + 1333, 0, 881, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 752, 0, 751, 0, 174, 179, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 1468, + 1474, 1752, 1752, 1752, 2116, 0, 0, 0, 0, 1751, + 2329, 2332, 1548, 1554, 1547, 1546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 420, 417, 418, 420, 0, 0, 0, + 0, 854, 0, 857, 860, 1490, 500, 0, 0, 679, + 712, 0, 0, 476, 187, 0, 0, 0, 0, 767, + 0, 1206, 1205, 147, 138, 196, 474, 0, 195, 197, + 199, 200, 201, 198, 202, 0, 731, 735, 0, 0, + 0, 0, 675, 0, 0, 0, 0, 0, 0, 0, + 1885, 0, 0, 172, 0, 0, 626, 630, 0, 0, + 0, 0, 476, 592, 382, 2593, 0, 553, 0, 2593, + 0, 137, 0, 841, 0, 0, 0, 1168, 1168, 0, + 0, 781, 780, 0, 0, 0, 0, 0, 0, 1683, + 145, 1166, 0, 1513, 0, 145, 960, 145, 1130, 186, + 2455, 0, 922, 0, 0, 0, 0, 145, 1234, 910, + 145, 182, 145, 145, 678, 0, 145, 184, 0, 0, + 145, 954, 145, 2420, 0, 145, 1604, 2593, 553, 1582, + 1007, 1016, 1015, 1013, 1012, 1008, 0, 1027, 0, 552, + 0, 0, 0, 0, 0, 1048, 1049, 0, 0, 1045, + 1050, 0, 1052, 1036, 1038, 1046, 1047, 1053, 1042, 1041, + 1054, 1055, 0, 0, 0, 1067, 746, 0, 0, 0, + 0, 1643, 0, 1641, 0, 1863, 1645, 1634, 1594, 0, + 1593, 0, 619, 1257, 1256, 1258, 0, 1024, 0, 145, + 0, 1458, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2287, 0, 2288, 0, 0, 2322, 2318, + 0, 0, 0, 0, 0, 2292, 0, 2295, 2296, 2297, + 2294, 2298, 2293, 0, 0, 2299, 0, 0, 2373, 2390, + 0, 2102, 2373, 2401, 0, 2400, 2406, 0, 2278, 2006, + 0, 0, 2397, 2391, 0, 2397, 0, 0, 2380, 0, + 0, 0, 0, 2179, 0, 0, 0, 2278, 2281, 0, + 0, 2848, 0, 0, 0, 0, 2074, 0, 0, 2245, + 0, 2278, 0, 0, 0, 0, 0, 0, 0, 2274, + 2314, 0, 514, 0, 2064, 0, 0, 0, 2193, 0, + 2190, 0, 0, 0, 0, 2335, 0, 2439, 0, 2436, + 2007, 2022, 2023, 2024, 2027, 2411, 2010, 0, 2337, 0, + 0, 2008, 2035, 0, 2315, 2060, 0, 2065, 2050, 2381, + 2300, 2301, 2302, 2303, 2067, 0, 2043, 2048, 2052, 0, + 2390, 2031, 0, 2028, 0, 2338, 2273, 0, 2271, 0, + 2019, 2020, 2021, 2013, 2014, 2015, 2016, 2017, 2018, 2025, + 2249, 2247, 2248, 0, 0, 2219, 0, 0, 2047, 0, + 0, 2118, 2585, 2624, 0, 1741, 1741, 1741, 1729, 1739, + 2410, 1880, 1752, 1880, 2416, 0, 0, 2002, 0, 1861, + 962, 963, 961, 1550, 1564, 1578, 2275, 1572, 1718, 0, + 0, 0, 1946, 1959, 0, 1986, 1987, 1988, 1988, 0, + 1928, 0, 1971, 1996, 1997, 1998, 1999, 2000, 2001, 0, + 1995, 1937, 958, 2824, 2833, 0, 2721, 2868, 0, 1841, + 1814, 1816, 1826, 1841, 1848, 1841, 1841, 2120, 1878, 2121, + 2122, 2417, 0, 1785, 2457, 1552, 1576, 0, 1113, 1114, + 0, 1118, 2848, 2721, 0, 0, 0, 0, 1775, 1809, + 0, 1800, 0, 2427, 1776, 2426, 1777, 1780, 1781, 1771, + 1810, 1647, 0, 1805, 1702, 1701, 0, 1883, 0, 0, + 0, 1625, 1613, 0, 0, 1866, 0, 1815, 1651, 0, + 2335, 1813, 1373, 1267, 1334, 1147, 0, 1947, 1158, 0, + 1142, 0, 1141, 1947, 0, 1159, 0, 1947, 1374, 1268, + 1335, 1375, 1269, 1336, 1376, 1510, 1270, 1509, 1497, 1496, + 1495, 0, 0, 0, 0, 0, 0, 0, 0, 819, + 2593, 145, 1524, 1377, 0, 1271, 370, 1525, 1337, 1529, + 837, 836, 0, 0, 1338, 0, 688, 693, 0, 695, + 696, 2512, 2574, 697, 700, 701, 0, 703, 692, 691, + 0, 0, 0, 0, 0, 709, 714, 0, 0, 0, + 0, 0, 0, 1177, 1178, 1378, 1274, 0, 1339, 0, + 1125, 0, 1275, 188, 0, 0, 289, 0, 2593, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 819, 498, + 819, 0, 1325, 308, 339, 0, 354, 349, 350, 348, + 2593, 145, 2593, 145, 0, 0, 0, 0, 0, 351, + 346, 347, 343, 0, 0, 356, 2484, 2556, 2736, 0, + 720, 722, 0, 727, 359, 1295, 378, 377, 376, 0, + 364, 0, 383, 386, 0, 361, 340, 338, 335, 304, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1227, 0, 1381, 1340, 0, 1362, 1366, 0, 0, + 0, 759, 1384, 1281, 1343, 0, 553, 0, 0, 568, + 568, 553, 1395, 1282, 176, 1312, 165, 0, 0, 161, + 0, 0, 0, 0, 153, 1385, 1283, 1344, 0, 0, + 1386, 1284, 0, 0, 294, 629, 640, 646, 1289, 650, + 647, 1352, 648, 1393, 1285, 0, 1389, 1315, 1347, 396, + 612, 395, 1206, 1206, 1396, 1416, 1286, 1206, 0, 1323, + 0, 283, 285, 0, 142, 0, 1287, 0, 1345, 1388, + 1314, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1532, 0, 0, 0, 0, 0, 0, 145, 0, 0, + 0, 1325, 2593, 145, 879, 1387, 0, 1320, 0, 1360, + 0, 0, 0, 408, 0, 1313, 1323, 0, 296, 1291, + 0, 1354, 0, 0, 235, 234, 236, 0, 0, 0, + 0, 2279, 2280, 0, 2277, 2111, 2331, 0, 1542, 984, + 970, 983, 0, 966, 2554, 0, 969, 971, 0, 0, + 0, 972, 976, 977, 0, 968, 965, 967, 0, 419, + 0, 0, 776, 777, 0, 0, 0, 0, 856, 0, + 0, 1522, 0, 150, 686, 0, 0, 0, 681, 711, + 716, 0, 0, 0, 0, 475, 479, 483, 484, 485, + 0, 0, 0, 0, 166, 151, 0, 899, 0, 553, + 0, 769, 1206, 1399, 0, 196, 191, 0, 0, 732, + 0, 1573, 0, 0, 607, 610, 609, 0, 382, 851, + 849, 848, 850, 872, 847, 0, 1884, 1886, 0, 0, + 0, 0, 0, 0, 619, 478, 0, 0, 556, 0, + 595, 0, 0, 0, 0, 592, 0, 0, 0, 2465, + 0, 868, 840, 0, 1136, 0, 1154, 1137, 0, 0, + 0, 0, 1191, 1198, 1167, 1192, 1169, 1198, 0, 0, + 782, 786, 785, 789, 787, 0, 783, 660, 1689, 1690, + 0, 1224, 0, 0, 1518, 0, 1516, 921, 1218, 145, + 0, 145, 0, 145, 1226, 1220, 1222, 1424, 0, 919, + 0, 0, 912, 914, 0, 916, 0, 1028, 555, 0, + 0, 0, 0, 0, 0, 1044, 658, 1051, 0, 0, + 0, 1066, 1061, 1063, 0, 1078, 1072, 0, 745, 0, + 0, 1644, 1637, 1639, 1638, 0, 0, 1635, 2284, 911, + 0, 625, 0, 1078, 1069, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1746, 2285, 2286, 0, + 0, 0, 2319, 0, 0, 2155, 0, 2126, 2128, 0, + 2141, 0, 2156, 2109, 0, 2372, 2369, 0, 0, 0, + 2373, 2380, 2175, 0, 0, 0, 2380, 0, 2400, 0, + 0, 0, 2170, 2172, 0, 0, 0, 2390, 2390, 0, + 2177, 0, 0, 2157, 2130, 2132, 2142, 0, 0, 2265, + 0, 2145, 2144, 0, 2076, 2077, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2091, 2146, 2244, 0, 0, 0, + 2148, 2147, 0, 0, 2313, 0, 0, 0, 2153, 515, + 2158, 0, 0, 0, 0, 2164, 0, 2201, 0, 0, + 0, 2099, 2275, 0, 0, 0, 0, 0, 0, 0, + 2383, 2384, 2385, 2382, 0, 2066, 2051, 2069, 2045, 2049, + 2053, 0, 2390, 2068, 2071, 0, 0, 2039, 0, 0, + 2037, 2061, 2033, 0, 0, 2062, 0, 2117, 0, 0, + 0, 2222, 2217, 2218, 1741, 1741, 1741, 1741, 1738, 0, + 0, 0, 1785, 0, 1785, 207, 0, 245, 230, 1549, + 1719, 1728, 1965, 0, 1983, 1981, 1924, 1929, 2004, 0, + 1841, 1848, 1841, 1841, 0, 0, 1704, 0, 1826, 0, + 1840, 1824, 1839, 0, 0, 1854, 1852, 0, 1854, 0, + 1854, 0, 1818, 0, 1844, 1820, 1839, 1822, 1828, 0, + 1870, 2418, 1879, 0, 1798, 1755, 0, 2266, 1118, 0, + 1757, 1779, 1778, 0, 1768, 0, 1807, 1765, 1648, 1632, + 0, 1630, 1617, 1619, 1618, 0, 0, 1620, 2335, 0, + 1630, 1612, 0, 1656, 0, 0, 1883, 0, 1655, 0, + 1947, 1139, 1140, 0, 1163, 0, 1083, 1084, 0, 1082, + 0, 0, 0, 546, 549, 0, 1527, 0, 1394, 1311, + 690, 0, 0, 0, 0, 705, 664, 706, 708, 0, + 0, 707, 710, 713, 1323, 0, 302, 1297, 0, 1358, + 1171, 0, 0, 1128, 0, 0, 0, 0, 0, 1099, + 537, 1098, 0, 0, 0, 0, 819, 0, 0, 541, + 0, 497, 494, 334, 0, 0, 0, 0, 391, 0, + 313, 326, 389, 332, 0, 366, 0, 337, 0, 330, + 352, 344, 353, 345, 365, 367, 0, 724, 725, 723, + 719, 0, 726, 728, 0, 380, 0, 0, 0, 398, + 360, 397, 0, 1380, 0, 1323, 0, 298, 1293, 0, + 1356, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1361, 0, 0, 0, 0, 764, 0, + 761, 0, 568, 0, 1408, 0, 1405, 1403, 568, 0, + 0, 156, 157, 155, 0, 164, 0, 0, 0, 0, + 0, 0, 1417, 1418, 1419, 0, 0, 0, 0, 0, + 0, 402, 0, 305, 307, 306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 409, 373, 0, 875, 0, 0, 0, + 411, 0, 0, 1372, 0, 0, 0, 0, 0, 1379, + 1276, 2114, 2115, 2112, 1752, 2330, 0, 0, 0, 981, + 0, 0, 0, 0, 422, 423, 150, 421, 446, 0, + 819, 0, 0, 853, 858, 866, 2662, 2252, 2253, 864, + 859, 861, 863, 865, 862, 0, 0, 0, 0, 519, + 0, 0, 0, 506, 0, 0, 516, 499, 502, 503, + 0, 0, 682, 685, 683, 684, 0, 704, 0, 478, + 526, 582, 0, 168, 0, 0, 169, 167, 0, 0, + 382, 766, 0, 763, 1398, 0, 194, 0, 736, 0, + 0, 0, 0, 0, 1206, 674, 0, 871, 873, 845, + 0, 716, 0, 0, 631, 0, 553, 1605, 614, 0, + 584, 478, 582, 591, 0, 0, 599, 381, 0, 0, + 619, 382, 0, 0, 1099, 0, 867, 0, 0, 1135, + 0, 0, 0, 1188, 1193, 1189, 0, 1168, 1150, 0, + 1190, 0, 0, 1196, 1121, 1170, 1122, 1440, 1441, 1438, + 1439, 0, 0, 0, 0, 0, 0, 1680, 0, 0, + 1514, 0, 923, 0, 906, 0, 908, 145, 753, 0, + 145, 0, 0, 0, 0, 0, 0, 1043, 0, 1037, + 1039, 1064, 0, 0, 1078, 1077, 0, 1068, 1076, 1074, + 1075, 1073, 0, 0, 1642, 1640, 617, 0, 0, 145, + 1078, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2289, 0, 2321, 2317, 0, 2123, 2291, 2290, 2371, + 2387, 2389, 2176, 2379, 0, 0, 0, 2402, 0, 0, + 2380, 2340, 2394, 2393, 0, 0, 2392, 2380, 2380, 2340, + 2178, 2340, 0, 0, 0, 2245, 0, 0, 2075, 2087, + 2088, 2089, 2306, 0, 2094, 0, 2084, 2085, 2086, 2078, + 2079, 2080, 2081, 2082, 2083, 2090, 2310, 2309, 0, 0, + 2150, 2151, 2152, 2312, 2159, 0, 2502, 2202, 0, 2163, + 2192, 2191, 0, 0, 0, 2166, 0, 0, 2188, 0, + 2246, 2440, 2437, 2009, 0, 0, 2036, 2316, 2054, 0, + 2070, 2072, 2032, 2265, 0, 0, 0, 0, 0, 2041, + 0, 0, 2242, 0, 0, 0, 2224, 2221, 0, 0, + 0, 0, 1732, 1731, 1737, 1798, 2111, 1798, 0, 0, + 1925, 0, 1825, 1821, 1823, 1829, 0, 2863, 0, 1830, + 1837, 0, 1817, 0, 1853, 1849, 0, 1850, 0, 0, + 1851, 0, 0, 1819, 0, 1837, 0, 1877, 1744, 0, + 2213, 0, 1756, 1116, 1117, 1766, 0, 1769, 2533, 1881, + 0, 1631, 0, 0, 0, 1622, 1628, 1610, 0, 0, + 0, 1652, 1630, 1653, 1160, 0, 0, 1152, 1089, 1090, + 1093, 1091, 1088, 1092, 0, 0, 0, 819, 822, 0, + 0, 0, 820, 145, 1272, 0, 0, 0, 0, 665, + 1392, 1273, 0, 0, 0, 0, 1172, 1326, 0, 0, + 1296, 819, 0, 0, 0, 563, 0, 1112, 1112, 0, + 310, 0, 543, 604, 0, 496, 495, 0, 493, 716, + 0, 0, 317, 327, 0, 322, 0, 1324, 0, 0, + 0, 0, 321, 324, 323, 393, 0, 390, 0, 145, + 145, 368, 721, 379, 384, 385, 388, 1331, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 900, 883, 0, 0, 901, 902, 0, 0, 0, + 1229, 1230, 1228, 1363, 1364, 1370, 1367, 1365, 1369, 1371, + 1368, 0, 1279, 0, 0, 757, 1327, 1400, 1402, 1401, + 0, 1404, 162, 159, 158, 160, 163, 1328, 1309, 1290, + 1353, 613, 0, 0, 0, 1288, 0, 1346, 0, 1305, + 1299, 0, 0, 0, 0, 0, 1391, 1319, 1351, 1390, + 1317, 1349, 1316, 1348, 1318, 1350, 1310, 0, 0, 1888, + 880, 0, 0, 0, 145, 145, 878, 755, 1292, 0, + 1355, 1301, 0, 0, 0, 973, 0, 0, 0, 975, + 427, 447, 150, 0, 775, 839, 0, 0, 855, 0, + 504, 0, 510, 517, 0, 0, 521, 522, 520, 505, + 1206, 553, 1206, 808, 809, 0, 0, 829, 0, 680, + 0, 0, 476, 0, 523, 0, 0, 480, 171, 170, + 0, 0, 0, 770, 774, 772, 771, 773, 768, 0, + 759, 196, 2593, 0, 0, 0, 0, 611, 605, 608, + 1413, 846, 0, 1887, 749, 0, 382, 627, 0, 0, + 0, 476, 619, 0, 481, 486, 487, 500, 0, 592, + 583, 0, 584, 593, 594, 0, 601, 1488, 0, 620, + 601, 0, 0, 0, 870, 0, 869, 0, 1138, 1155, + 1156, 0, 0, 1198, 0, 0, 1200, 1195, 0, 0, + 788, 791, 784, 667, 145, 0, 1517, 145, 145, 1255, + 0, 917, 1058, 1059, 1060, 1057, 1056, 659, 0, 1062, + 1021, 1071, 747, 0, 618, 0, 1022, 145, 998, 990, + 997, 986, 989, 991, 0, 993, 994, 988, 985, 987, + 2320, 2140, 0, 2386, 2388, 2174, 2399, 2398, 2173, 2405, + 0, 0, 2368, 2396, 2395, 0, 0, 2380, 2380, 2143, + 2154, 0, 2244, 2275, 0, 0, 2095, 0, 0, 0, + 2149, 2858, 0, 0, 2206, 2207, 0, 2203, 2204, 2199, + 2200, 2165, 0, 2650, 2183, 0, 0, 2198, 2058, 2056, + 2055, 2040, 0, 0, 2038, 2034, 0, 2063, 2208, 2241, + 2275, 2210, 0, 1752, 1736, 1735, 1734, 1733, 2213, 2434, + 2432, 2213, 246, 1723, 0, 1873, 0, 1876, 0, 0, + 1827, 0, 0, 1831, 0, 0, 1833, 1835, 0, 0, + 0, 0, 0, 0, 2421, 0, 1797, 0, 1752, 0, + 1767, 0, 1629, 1614, 0, 1615, 1621, 0, 0, 0, + 0, 0, 1657, 1650, 1153, 1161, 0, 0, 0, 548, + 824, 823, 826, 821, 825, 1528, 0, 698, 699, 702, + 1298, 0, 1359, 1307, 0, 1646, 539, 312, 0, 558, + 0, 0, 0, 1105, 140, 1104, 0, 558, 558, 492, + 491, 500, 320, 0, 0, 0, 314, 392, 0, 394, + 315, 319, 373, 336, 329, 0, 0, 0, 1294, 0, + 1357, 1303, 1330, 1382, 1277, 1341, 0, 0, 889, 0, + 0, 0, 0, 1383, 1278, 1342, 0, 0, 0, 0, + 0, 1646, 0, 0, 0, 0, 0, 0, 0, 0, + 1537, 0, 0, 372, 877, 876, 373, 410, 1321, 0, + 2113, 0, 974, 979, 980, 978, 0, 416, 424, 427, + 0, 0, 1246, 1246, 0, 0, 501, 518, 0, 603, + 562, 603, 0, 0, 0, 0, 0, 717, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 762, 761, + 193, 0, 476, 0, 716, 0, 874, 0, 0, 0, + 619, 478, 0, 0, 1602, 477, 0, 0, 489, 0, + 595, 584, 592, 0, 0, 616, 0, 1481, 0, 622, + 0, 0, 0, 818, 1194, 0, 1208, 0, 1149, 1119, + 1203, 0, 1728, 1880, 0, 0, 0, 0, 801, 0, + 671, 1247, 1515, 907, 909, 754, 1065, 0, 1078, 1070, + 992, 2370, 2404, 2339, 2341, 0, 0, 2362, 2355, 2358, + 2356, 2357, 2359, 0, 2354, 0, 2171, 2403, 2352, 2366, + 2305, 2246, 2092, 0, 2308, 2307, 2311, 0, 2160, 0, + 2161, 2205, 2167, 2184, 0, 2168, 2196, 0, 0, 2059, + 2057, 2042, 2243, 0, 2228, 1706, 1705, 0, 1726, 1909, + 1878, 0, 0, 1872, 0, 0, 1903, 0, 0, 0, + 1838, 1856, 0, 1834, 1832, 0, 1845, 0, 1847, 2532, + 2819, 2718, 0, 1784, 1786, 1789, 1791, 1790, 1792, 1788, + 2212, 2214, 0, 1763, 2267, 1882, 0, 0, 0, 1100, + 0, 0, 1630, 1659, 1671, 1671, 1654, 1066, 0, 145, + 694, 0, 0, 291, 1112, 0, 1206, 564, 2662, 565, + 1111, 1115, 139, 0, 1206, 1206, 488, 0, 318, 328, + 0, 375, 387, 0, 1646, 0, 0, 887, 896, 896, + 884, 0, 0, 903, 1280, 758, 0, 567, 0, 286, + 1306, 1300, 0, 0, 0, 1539, 1540, 0, 0, 0, + 0, 0, 1329, 145, 1302, 982, 0, 449, 457, 428, + 432, 1531, 0, 1531, 0, 429, 433, 1531, 1531, 426, + 1880, 445, 1246, 0, 1243, 1242, 551, 633, 0, 0, + 508, 0, 573, 507, 0, 830, 0, 0, 715, 0, + 478, 582, 0, 536, 527, 528, 529, 530, 532, 531, + 533, 534, 535, 525, 524, 0, 716, 893, 382, 1488, + 756, 0, 0, 729, 0, 716, 0, 1605, 615, 584, + 478, 582, 482, 500, 0, 599, 592, 595, 0, 596, + 0, 600, 0, 0, 0, 619, 1541, 1099, 0, 0, + 819, 1207, 1168, 0, 0, 1197, 1201, 1202, 0, 0, + 0, 0, 1250, 795, 796, 790, 792, 0, 803, 807, + 666, 0, 0, 670, 661, 716, 145, 0, 0, 2353, + 2360, 2361, 0, 2181, 0, 0, 2378, 0, 0, 0, + 2093, 0, 0, 2186, 2185, 2197, 2169, 2223, 0, 0, + 0, 0, 0, 0, 0, 1717, 0, 2340, 1871, 1874, + 0, 1906, 0, 0, 0, 0, 1891, 0, 1836, 0, + 0, 1846, 0, 0, 0, 1793, 0, 0, 0, 1802, + 0, 1627, 1880, 0, 1624, 0, 1666, 0, 1658, 1660, + 0, 0, 0, 1085, 0, 1086, 1308, 0, 1106, 0, + 603, 0, 1118, 1115, 553, 603, 603, 633, 0, 0, + 331, 0, 299, 1304, 0, 0, 898, 898, 0, 0, + 0, 0, 0, 0, 404, 0, 0, 1533, 0, 1534, + 1535, 1538, 412, 425, 0, 455, 454, 0, 452, 451, + 453, 0, 442, 0, 0, 0, 0, 0, 0, 415, + 1241, 1245, 1244, 0, 509, 0, 511, 0, 0, 559, + 560, 561, 0, 513, 569, 570, 827, 0, 832, 0, + 718, 0, 0, 716, 581, 740, 0, 0, 0, 1482, + 0, 0, 606, 750, 1488, 619, 592, 0, 584, 490, + 0, 601, 595, 599, 597, 598, 0, 1485, 0, 621, + 0, 1108, 817, 0, 1198, 1209, 1204, 1199, 1444, 0, + 0, 793, 798, 797, 1531, 802, 0, 0, 0, 669, + 668, 744, 1023, 2342, 2343, 2367, 0, 0, 0, 2346, + 0, 2344, 0, 0, 2366, 0, 2182, 2304, 2189, 2162, + 2187, 2806, 2533, 2777, 0, 2240, 2229, 2240, 2240, 2220, + 0, 0, 0, 1908, 0, 0, 0, 1904, 1905, 1889, + 0, 0, 1893, 1843, 1869, 0, 0, 0, 1787, 2215, + 2216, 2456, 1616, 1626, 1101, 0, 1668, 1670, 0, 0, + 0, 1646, 0, 568, 0, 1102, 1118, 562, 819, 819, + 325, 316, 374, 0, 0, 0, 894, 897, 885, 886, + 905, 904, 760, 1646, 0, 400, 399, 0, 403, 0, + 450, 460, 0, 458, 430, 435, 0, 441, 440, 437, + 436, 431, 434, 550, 0, 0, 0, 0, 0, 0, + 571, 0, 572, 0, 831, 0, 0, 0, 742, 892, + 0, 0, 476, 716, 1483, 1603, 595, 584, 592, 0, + 0, 586, 1112, 1112, 463, 599, 601, 1486, 1487, 0, + 0, 516, 0, 1120, 1443, 1442, 1728, 0, 0, 0, + 804, 805, 800, 0, 0, 2347, 0, 2350, 0, 2351, + 2345, 2375, 2377, 0, 2363, 2364, 0, 2233, 2232, 2231, + 2235, 2234, 0, 2227, 2225, 2226, 0, 0, 0, 0, + 1875, 0, 1892, 1895, 0, 0, 0, 1901, 0, 1894, + 1896, 0, 1855, 0, 1867, 1795, 0, 1794, 1880, 0, + 1673, 0, 0, 1661, 1662, 0, 0, 1663, 145, 292, + 557, 819, 566, 1103, 573, 542, 540, 1646, 888, 0, + 287, 0, 405, 1536, 456, 0, 439, 438, 632, 512, + 602, 578, 0, 577, 0, 575, 574, 828, 833, 0, + 716, 882, 1488, 730, 599, 592, 595, 0, 585, 0, + 140, 140, 601, 461, 0, 0, 382, 0, 1426, 1728, + 1425, 1427, 1435, 1432, 1434, 1433, 1431, 0, 1253, 1254, + 794, 799, 0, 0, 2348, 2349, 0, 0, 2180, 0, + 0, 0, 2237, 0, 2238, 0, 0, 0, 0, 0, + 1898, 1899, 1900, 1902, 1897, 1842, 0, 1796, 1623, 1667, + 1669, 1664, 0, 1665, 0, 0, 0, 0, 1674, 1087, + 544, 819, 300, 895, 0, 459, 576, 553, 553, 716, + 741, 1484, 601, 595, 599, 1112, 587, 589, 588, 465, + 1108, 1109, 0, 601, 807, 0, 1436, 1430, 1704, 1691, + 0, 0, 806, 0, 0, 0, 0, 2230, 2236, 2239, + 0, 0, 0, 0, 2643, 0, 1910, 0, 0, 0, + 1672, 1678, 0, 0, 0, 545, 0, 580, 579, 743, + 464, 599, 601, 140, 516, 1107, 0, 1880, 0, 1428, + 1728, 0, 0, 812, 2374, 2376, 2365, 1722, 1721, 2005, + 0, 0, 1725, 1918, 0, 2368, 0, 0, 1921, 0, + 1868, 0, 0, 0, 401, 601, 462, 590, 382, 1110, + 1094, 0, 1429, 0, 0, 814, 0, 810, 813, 815, + 816, 0, 0, 0, 0, 1911, 1912, 1921, 0, 2352, + 1921, 1890, 1675, 1679, 0, 1676, 466, 601, 0, 0, + 0, 778, 0, 1752, 0, 0, 0, 1907, 2368, 1920, + 2378, 2352, 0, 1880, 0, 0, 0, 811, 0, 0, + 0, 0, 1915, 2366, 2378, 0, 1095, 812, 1251, 1252, + 0, 1724, 0, 0, 1913, 2366, 1677, 0, 0, 1916, + 1914, 779, 0, 1917 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 57, 58, 59, 60, 1086, 1091, 1882, 1901, 61, - 62, 1604, 3011, 2865, 3823, 3824, 63, 64, 1600, 65, - 66, 67, 68, 1514, 69, 1854, 3025, 70, 2701, 830, - 831, 832, 2566, 2567, 2956, 2568, 2555, 1364, 1800, 1536, - 804, 805, 1496, 1537, 72, 73, 1358, 2544, 74, 75, - 76, 1567, 1661, 1568, 1569, 1508, 4943, 5730, 3613, 2820, - 3871, 3614, 3615, 4286, 4287, 4376, 5744, 5745, 77, 1677, - 1678, 78, 79, 2993, 3789, 4429, 5325, 5326, 5568, 649, - 4966, 4967, 5555, 5556, 5758, 5913, 5914, 3026, 680, 3866, - 4513, 3814, 5037, 3815, 5038, 3816, 5039, 4833, 4834, 4276, - 4277, 3800, 4460, 4461, 2051, 4979, 4462, 3817, 4998, 5602, - 3818, 2720, 5773, 3060, 1973, 1971, 5502, 5581, 4795, 4796, - 4349, 5782, 5783, 5784, 6035, 5000, 5043, 5044, 5950, 5951, - 3869, 4519, 5050, 5383, 5579, 3511, 81, 3842, 3843, 82, - 743, 1876, 3970, 744, 3063, 681, 745, 3027, 87, 3053, - 5775, 3054, 1630, 2879, 4442, 3946, 88, 1114, 4251, 5408, - 5662, 5663, 734, 89, 1862, 90, 91, 3006, 3807, 92, - 2737, 3528, 93, 94, 3547, 3548, 3549, 95, 4470, 5344, - 1570, 3602, 3603, 3604, 3605, 4307, 96, 1857, 3034, 3035, - 97, 98, 99, 3165, 3166, 100, 2942, 101, 102, 103, - 104, 4343, 4899, 5014, 3644, 3830, 4486, 5012, 105, 3793, - 3028, 3081, 3904, 3905, 5406, 5654, 5655, 5656, 5833, 6070, - 5658, 5835, 5972, 5837, 4989, 6191, 6192, 5639, 4240, 4809, - 107, 4990, 4991, 5788, 108, 2735, 109, 110, 1831, 2999, - 3000, 4443, 3070, 3879, 3880, 4499, 4500, 111, 3731, 112, - 4875, 4876, 682, 5796, 5736, 5899, 113, 114, 4879, 4880, - 115, 116, 117, 118, 119, 735, 1048, 1049, 737, 1169, - 1170, 3483, 1131, 120, 2576, 121, 3769, 122, 1244, 5103, - 123, 769, 1185, 1186, 3029, 125, 779, 3184, 781, 3149, - 3150, 1989, 3950, 3951, 4587, 126, 127, 3954, 3955, 4594, - 3162, 128, 1501, 2711, 2712, 4790, 3030, 683, 3506, 5490, - 5235, 5491, 5961, 6120, 5236, 3427, 4189, 130, 684, 1542, - 2776, 1137, 1138, 3074, 3884, 2681, 2682, 1700, 4540, 2684, - 3886, 2685, 1475, 2686, 1124, 1125, 3892, 3893, 3894, 3895, - 4536, 4546, 4547, 5400, 5647, 4543, 1850, 5394, 5395, 131, - 1539, 2773, 132, 133, 134, 1583, 972, 1147, 1148, 135, - 696, 697, 136, 5573, 137, 1127, 138, 5404, 139, 140, - 1229, 1230, 796, 141, 142, 2790, 4289, 143, 1540, 144, - 145, 3638, 3639, 4891, 146, 147, 148, 2851, 2852, 149, - 150, 151, 152, 153, 6060, 6123, 6124, 6125, 4554, 5966, - 154, 1217, 155, 156, 157, 158, 196, 1013, 1014, 1015, - 925, 3031, 5385, 160, 161, 1497, 1498, 1499, 1500, 2706, - 162, 163, 164, 3914, 3915, 165, 166, 167, 168, 1834, - 169, 170, 5546, 171, 172, 1804, 173, 174, 1022, 1023, - 1024, 1025, 1802, 3374, 643, 849, 1391, 1397, 1440, 1441, - 1442, 176, 747, 177, 1220, 1053, 748, 1178, 179, 749, - 2663, 3457, 4204, 4205, 4206, 4209, 5219, 4767, 750, 3453, - 182, 1996, 3171, 3174, 3449, 751, 3463, 3464, 3465, 4213, - 752, 5494, 5495, 5880, 6094, 6095, 6145, 6178, 753, 771, - 1117, 3085, 754, 1324, 188, 189, 190, 905, 852, 853, - 3379, 5451, 5682, 192, 2536, 3357, 788, 1446, 893, 894, - 895, 914, 2966, 2629, 2630, 2654, 2655, 1455, 1456, 2642, - 2646, 2647, 3440, 3433, 2635, 4183, 5475, 5476, 5477, 5478, - 5479, 5480, 4756, 2650, 2651, 1458, 1459, 1460, 2659, 193, - 2619, 3407, 3408, 3409, 4160, 4161, 5999, 4175, 4171, 4741, - 5196, 3410, 841, 1215, 1467, 4749, 6001, 3411, 5185, 5186, - 5455, 4179, 3419, 4200, 3854, 3855, 3856, 3412, 5690, 5691, - 5996, 5997, 5457, 5458, 2687, 1420, 879, 1325, 880, 1433, - 1326, 1407, 882, 1327, 1328, 1329, 885, 1330, 1331, 1332, - 888, 1399, 1333, 1334, 1416, 1429, 1430, 1392, 5459, 1336, - 1337, 1338, 3414, 1339, 4684, 5155, 5141, 3279, 3280, 2562, - 5441, 4680, 4073, 4674, 2529, 2533, 5208, 5482, 5483, 3350, - 4124, 4714, 5174, 5678, 5850, 5851, 5982, 1340, 1341, 1342, - 3342, 2523, 975, 1343, 4445, 2525, 3270, 3248, 1703, 3249, - 1999, 2021, 3203, 3220, 3221, 3318, 3250, 3258, 3263, 3271, - 3304, 1344, 3205, 3206, 3992, 2023, 1345, 1019, 1706, 1020, - 1435, 3299, 3229, 4005, 5117, 3230, 3319, 4106, 3237, 3238, - 4021, 4011, 3231, 1346, 4013, 1354, 1355, 1348, 1990, 842, - 5192, 1173, 1787, 785, 1349, 1350, 1351, 1352, 1576, 946, - 1140, 1141, 896, 898, 899, 2623, 639, 631, 948, 3606, - 2526, 640, 633, 634, 1792, 2527 + -1, 57, 58, 59, 60, 1108, 1113, 1914, 1933, 61, + 62, 1634, 3074, 2927, 3904, 3905, 63, 64, 1630, 65, + 66, 67, 68, 1544, 69, 1886, 3088, 70, 2760, 850, + 851, 852, 2625, 2626, 3019, 2627, 2614, 1394, 1832, 1566, + 824, 825, 1526, 1567, 72, 73, 1388, 2603, 74, 75, + 76, 1597, 1693, 1598, 1599, 1538, 5049, 5880, 3690, 2882, + 3952, 3691, 3692, 4381, 4382, 3770, 4410, 4473, 5894, 5895, + 77, 1709, 1710, 78, 79, 3056, 3870, 4526, 5437, 5438, + 5699, 669, 5072, 5073, 5686, 5687, 5909, 6082, 6083, 3089, + 700, 3947, 4610, 3895, 5143, 3896, 5144, 3897, 5145, 4938, + 4939, 4371, 4372, 3881, 4557, 4558, 2090, 5085, 4559, 3898, + 5104, 5733, 3899, 2848, 2775, 2776, 5924, 3123, 2005, 2003, + 5636, 5712, 4924, 4925, 4446, 5933, 5934, 5935, 6225, 5106, + 5149, 5150, 6120, 6121, 3950, 4616, 5156, 5495, 5710, 3648, + 81, 3923, 3924, 82, 763, 1908, 4051, 764, 3126, 701, + 765, 3090, 87, 3116, 5926, 3117, 1662, 2941, 4539, 4027, + 88, 1136, 4335, 5520, 5793, 5794, 754, 89, 1894, 90, + 91, 3069, 3888, 92, 2793, 3596, 93, 94, 3615, 3616, + 3617, 95, 4567, 5456, 1600, 3679, 3680, 3681, 3682, 4402, + 96, 1889, 3097, 3098, 97, 98, 99, 3228, 3229, 100, + 3005, 101, 102, 103, 104, 4440, 5005, 5120, 3721, 3911, + 4583, 5118, 105, 3874, 3091, 3144, 3985, 3986, 5518, 5785, + 5786, 5787, 5984, 6260, 5789, 5986, 6142, 5988, 5095, 6406, + 6407, 5770, 4324, 4902, 107, 5096, 5097, 5939, 108, 2791, + 109, 110, 1863, 3062, 3063, 4540, 3133, 3960, 3961, 4596, + 4597, 111, 3810, 112, 4981, 4982, 702, 5947, 5886, 6068, + 113, 114, 4985, 4986, 115, 116, 117, 118, 119, 755, + 1070, 1071, 757, 1191, 1192, 3557, 1153, 120, 2635, 121, + 3850, 122, 1266, 5209, 123, 789, 1207, 1208, 3092, 125, + 799, 3247, 801, 3212, 3213, 2021, 4031, 4032, 4684, 126, + 127, 4035, 4036, 4691, 3225, 128, 1531, 2770, 2771, 4894, + 3093, 703, 3642, 5618, 5363, 5619, 6131, 6322, 5364, 3501, + 4280, 130, 704, 1572, 2832, 1159, 1160, 3137, 3965, 2740, + 2741, 1732, 4637, 2743, 3967, 2744, 1505, 2745, 1146, 1147, + 3973, 3974, 3975, 3976, 4633, 4643, 4644, 5512, 5778, 4640, + 1882, 5506, 5507, 131, 1569, 2829, 132, 133, 134, 1613, + 994, 1169, 1170, 135, 716, 717, 136, 5704, 137, 1149, + 138, 5516, 139, 140, 1251, 1252, 816, 141, 142, 2852, + 4384, 143, 1570, 144, 145, 3715, 3716, 4997, 146, 147, + 148, 2913, 2914, 149, 150, 151, 152, 153, 6250, 6325, + 6326, 6327, 4651, 6136, 154, 1239, 155, 156, 157, 158, + 196, 1035, 1036, 1037, 947, 3094, 5497, 160, 161, 1527, + 1528, 1529, 1530, 2765, 162, 163, 164, 3995, 3996, 165, + 166, 167, 168, 1866, 169, 170, 5677, 171, 172, 1836, + 173, 174, 1044, 1045, 1046, 1047, 1834, 3445, 663, 869, + 1421, 1427, 1470, 1471, 1472, 176, 767, 177, 1242, 1075, + 768, 1200, 179, 769, 2722, 3531, 4295, 4296, 4297, 4300, + 5329, 4871, 770, 3527, 182, 2028, 3234, 3237, 3523, 771, + 3537, 3538, 3539, 4304, 772, 5622, 5623, 5624, 5625, 5861, + 6193, 6194, 6197, 6298, 773, 791, 1139, 3148, 774, 1353, + 188, 189, 190, 927, 872, 873, 3450, 5578, 5825, 192, + 2595, 3428, 808, 1476, 915, 916, 917, 936, 3029, 2688, + 2689, 2713, 2714, 1485, 1486, 2701, 2705, 2706, 3514, 3507, + 2694, 4274, 5603, 5604, 5605, 5606, 5607, 5608, 4860, 2709, + 2710, 1488, 1489, 1490, 2718, 193, 2678, 3480, 3481, 3482, + 4250, 4251, 6182, 4265, 4261, 4845, 5306, 3483, 861, 1237, + 1497, 4853, 6184, 3484, 5295, 5296, 5583, 4270, 3493, 4291, + 3935, 3936, 3937, 3485, 5835, 5836, 6179, 6180, 5585, 5586, + 3486, 5827, 6345, 6346, 6384, 6419, 2746, 1450, 900, 1354, + 901, 1463, 1355, 1437, 903, 1356, 1357, 1358, 906, 1359, + 1360, 1361, 909, 1429, 1362, 1363, 1446, 1459, 1460, 1364, + 1422, 5587, 1366, 1367, 1368, 3488, 1369, 4788, 5266, 5252, + 3349, 3350, 2621, 5568, 4784, 4163, 4778, 2588, 2592, 5318, + 5610, 5611, 3421, 4212, 4816, 5283, 5821, 6015, 6016, 6163, + 1370, 1371, 1372, 3413, 2582, 997, 1373, 4542, 2584, 3340, + 3318, 1735, 3319, 2031, 2053, 3266, 3283, 3284, 3389, 3320, + 3328, 3333, 3341, 3375, 1374, 3268, 3269, 4073, 2055, 1375, + 1041, 1738, 1042, 1465, 3370, 5232, 5533, 5534, 5806, 5807, + 5544, 5808, 5545, 5535, 4085, 4086, 6004, 3294, 3390, 4089, + 3302, 3303, 4107, 4096, 3295, 1376, 4098, 1384, 1385, 1378, + 2022, 862, 5302, 1195, 1819, 805, 1379, 1380, 1381, 1382, + 1606, 968, 1162, 1163, 918, 920, 921, 2682, 659, 651, + 970, 3683, 2585, 660, 653, 654, 1824, 2586 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -5456 +#define YYPACT_NINF -5911 static const int yypact[] = { - 7322, 1367, 21257, -5456, -5456, 1367, 68858, -5456, 78658, 952, - 193, 121, 202, 20224, 79148, 88458, 793, 1089, 20847, 1367, - 88458, 2334, 59057, 74248, 351, 88458, 1164, 762, 59057, 88458, - 88948, 1187, 1182, 1009, 89438, 79638, 72778, 1486, 88458, 1415, - 1743, 89928, 80128, 1236, 80618, 762, 54673, 369, 1224, 90418, - 88458,112888, 1743, 81108, 81108, 81108, 2066, 1635, 1320, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, 1532, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, 1931, -5456, 993, - 2110, 1607, 239, 1354, -5456, -5456, 1929, 68858, 88458, 88458, - 88458, 1749, 88458, 1684, 88458, 846, 68858, 64938, 81598, 1842, - 1705, 50639, 90908, -5456, 68858, 88458, 62488, 68858, 88458, 88458, - 91398, 88458, 91888, 88458, 1079, 76698, 88458, 1822, 88458, 88458, - 62978, 92378, 1946, 1670, 238, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, 1700, - 1934, -5456, 250, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, 59547, 88458, 14407, 1164, 1929, -5456, 2066, 88458, - 2008, 88458, 1742, 92868, 88458, -5456, 88458, 1877, 93358, 911, - 1963, 64938, 1996, 51148, 1967, 88458, 88458, 64938, 93848, 94338, - 94828, 88458, 88458, -5456, -5456, 1975, 88458, -5456, 2171, 65428, - 1786, 2181, 2299, 2268, 607, -5456, 82088, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, 68368, 1089, -5456, -5456, 2225, - 69348, 2306, -5456, -5456, 95318,113364, 2073, -5456, 912, 69838, - 65918, 2438, 2070, 51657, 2482, -5456, 70328, -5456, 66408, 70818, - -5456, -5456, -5456, -5456, -5456, 95808, -5456, 96298, 2240, 2306, - -5456,113840, 66898, -5456, 2319, 96788, 97278, 97768, 1929, 2127, - 1775, 2406, 45160, -5456, -5456, -5456, 2186, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, 249, 295, 257, 229, - 307, -5456, -5456, 241, 243, 248, 249, 2643, 2643, -5456, - 88458, -5456, -5456, 295, 751, 2282, 2226, 2226, 2226, 2418, - 26, -5456, 2226, 2355, -5456, -5456, -5456, -5456, 80618, -5456, - 2231, 1164, 2269, 2739, 2383, 59547, 1388, 88458, -5456, -5456, - 2805, 2368, 2699, 2442, -5456, -5456, -5456, 2584, 2634, 220, - 749, 1164, 222, -5456, 2765, -5456, 2690, 30574, 30574, 1164, - 82578, 98258, 228, 67878, 1959, 83068, 2449, 1377, 2720, -5456, - -5456, -5456, 128, -5456, 2946, 2533, 2807, 2442, 1670, 47136, - -5456, -5456, 2561, 1934, 80618, -5456, -5456, -5456, 59547, 2866, - 33622, 88458, 2539, -5456, 2560, 2539, -5456, -5456, 2583, -5456, - 2583, 2583, 2566, 2566, 2748, 2572, -5456, -5456, -5456, 2336, - 2583, 2566, -5456,114792, -5456, 1823, 1905, -5456, -5456, 3037, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, 2577, -5456, - 1058, 1933, -5456, -5456, -5456, 30574, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 2578, 2592, 1607, -5456, 9386, 59547, 88458, - 1777, 1777, 3038, 1777, 1728, 1962, -5456, 2302, -5456, 2924, - 2894, 2900, 80618, 2594, 1010, -5456, 1744, 2627, 1732, 2631, - 1810, 1861, -5456, 236, 88458, 318, 2674, 83558, 6520, 2637, - 1934, 2639, -5456, -5456, -5456, -5456, 2783, 1102, -5456, -5456, - -5456, -5456, 2959, 3009, 8656, 368, 84048, -5456, -5456, -5456, - -5456, 88458, 88458, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, 2652, 1573, -5456, -5456, 2654, 3013, 2876, 8377, - 1077, 2980, 2830, 1384, 9288, 2890, 1833, 3039, 19715, 1519, - 3041, 1831, 1454, 84538, 88458, 3002, 3050, 7852, 1821, 1022, - 2911, 1041, 2980, 3046, 2879, 1384, 3062, 5523, 88458, -5456, - 2991, 3112, 1109, -5456, 178, -5456, 23523, 33622, 54183, -5456, - 1934, -5456, 1751, -5456, -5456, 58567, -5456, 2784, 2939, 91, - 68858, 2725, 88458, 88458, -5456,112888, 68858, -5456, 2951, 52166, - 68858, -5456, 68858, -5456, -5456, 3073,112888, 88458, 88458, -5456, - 88458, -5456, -5456, 2728, -5456, -5456, -5456, -5456, -5456, 2226, - 88458, 3175,112888, 2970, 207, 1790, 3216, 88458, 2975, 1790, - 2787, 98748, -5456, -5456, 1790, -5456, -5456, -5456, 88458, 88458, - 2750, 1438, 2969, 798, 1790, 2985, 3222, 3223, 2992, 2838, - 2997, 2560, -5456, 3190, 2973, 1028, 253, 2079, 1790, 2822, - 99238, 99728, 88458, 2823, 88458, 3201, 68858, 2857, 68858, 68858, - 88458, 3125, 88458, -5456, 2966, -5456, -5456, 981, -5456, -5456, - -5456, -5456, -5456, 3144, -5456, 225, 3146, 2788, 3148, 1750, - 3149, 327, -5456, -5456, 2831, -5456, 3150, 328, -5456, 3152, - -5456, 2790,100218, -5456,100708,101198, 3155, 330, -5456, 64938, - 3156, 328, 3157, 2790, 3158, 328, 3159, 270, 3160, -5456, - 1327, 3153, 3164, 327, 3169, 2101, 2790, -5456, 3170, 353, - -5456, 3172, 379, -5456, 3173, 3033, -5456, 33622, -5456, 2914, - -5456, 1224, 1911, 2406, 295, -5456, 88458, 295, 88458, 295, - 88458, 295, 88458, 295, 88458, 88458, 88458, 295, -5456, -5456, - -5456, 88458, 2817, 88458, -5456, 88458, -5456, -5456, -5456, 75228, - 64938, 75718, -5456, 88458, -5456, 129, 1164, -5456, -5456,112888, - 3301, 64938, 3201, 1943, -5456, -5456, 3201, -5456, -5456, 3201, - 3201, -5456, -5456, -5456, 3100, 88458, 3179, 75228, 64938, 3182, - -5456,101688, -5456, 68368, 3057, 2842, -5456, -5456, -5456, -5456, - -5456, 1948, 2344, 290, 2458, 33622, 2843, 290, 290, 2845, - 3192, -5456, -5456, -5456, 271, 2848, 2849, -5456, 293, 293, - -5456, 2850, 2851, -5456, 300, 2856, 2859, 2478, 2485, 303, - 2861, 2863, 2864, 2865, 2867, 2868, 2869, 2336, 290, 2871, - 33622, -5456, 2873, 293, 2877, 2878, 2880, 2490, 2882, -5456, - 2493, 2883, -5456, 313, 325, 2886, 2887, -5456, 3083, -5456, - 305, 2893, 2895, 2896, 2899, 2901, 2906, 2909, 2912, 33622, - 33622, 33622, -5456, 28029, 1934, 2516, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 308, 50130, -5456, 2908, -5456, -5456, - 3082, -5456, -5456, 33622, -5456, -5456, 3238, 168, -5456, 316, - -5456, -5456, -5456, 1934, 3188, 2907, -5456, -5456, 1370, 2910, - -5456, 2239, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - 67388, 3388, -5456, 364, 1164, 178, 374, 3329, 56607, 57097, - -5456, -5456, 3193, -5456, 88458, -5456, -5456, 1934, 165, 2026, - -5456, 2186, 19614, 2088, 2539, 88458, 88458, 3401, -5456, 2927, - -5456, -5456, 33622, -5456, -5456, -5456, 2643, -5456, 2583, 2583, - -5456, -5456, 3404, 3018, 3020, 2643, -5456, 2643, -5456, 2935, - 2936, 2643, 3022, 3023, 3030, -5456, 2945, 3032, 2643, -5456, - -5456, 60528, 2052, -5456, 3286, 349, -5456, -5456, -5456, 2107, - -5456, 2944, -5456, 2560, -5456, -5456, 1607, 1607, 33622, 1607, - 980, 1401, 31082, 34130, 3294, 3174, 1281, 1590, 3297, -5456, - 3178, 1728, 1962, 80618, 88458, 80618,102178, 3085, 33622, -5456, - 3403, 3049, 3052, 3109, 55653, -5456, 3055, 3021, 3058, 3114, - 2958, 3064, 3065, 3124, -5456, 3241, -5456, -5456, 3072, 3421, - 3074,102668, -5456, -5456, 321, -5456, -5456, -5456, 321, -5456, - 2999, 1595, 210, 973, 3076, 465, 242, 3413, -5456, 1572, - -5456, -5456, 3133, -5456, 13280, 88458, 3353, 5641, 3213, 368, - 3132, -5456, -5456, -5456, 3272, 3084, 88458, 3087, 3232, 368, - 1355,103158, -5456, -5456, 88458, -5456, -5456, -5456, -5456, 8250, - 3391, 26569, -5456, 1882, 3093, 3075, 3105, 88458, 71798, 1886, - 3208, 3231, 1824, 2043, 604, 3161, 88458, 2048, 3237, 88458, - 3024, 3104, 3113, 3345, 3026, 643, 3455, 3031, -5456, -5456, - -5456, 3422, -5456, 2377, 2526, 3242, -5456, 3356, 3405, 7571, - 3106, 3107,111460, -5456, 3143, 65, 52675, 88458, 88458, 3145, - 3147,103648, 8250, 3433, 76208, 76208, 3151, 3162, 46642, 3462, - 1834, 3163, -5456, -5456, -5456, 1834, 3167, 3168,104138, 8250, - 3449, 88458, 3185, 3187, 88458,114792, 368, -5456, 3520, 368, - 368, 1651, 3521, 3196, 373, 3318, 938, 1790, 3031, 2888, - -5456, 3197, 3199, 393, -5456, 3288, 88458, 3202, 3203, 98, - 3250, 1164, -5456, 3253, -5456, 3204, 3262, 3205, 747, 2750, - -5456, -5456, 1394, 3181, 80618, 3284, 3303, 2048, 344, 1053, - 3031, -5456, 3206, 3209, 3026, 3026, 88458, 88458, 88458, 88458, - 88458, 291, 3570, 3573, 3211, 526, 66, 3111, -5456, 1834, - 63468, 3212, -5456, 1834, 88458, 262, 1096, 3031, 1839, 1923, - -5456, -5456, -5456, 1670, -5456, 33622, 33622, 33622, 3126, -5456, - 2563, 19614, 729, -5456, 2647, 9868, 3123, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 88458, 59547, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 88458, -5456, 88458, 3423,112888, 3424, 3347, - 3425, 3426, 368, 88458, 88458, 3427, 3428, 3429,112888, 3430, - 3438, 3439, 3359, 3236, 851, 3228, 3154, 3630, 3515, 88458, - 60528, -5456, 321, -5456,112888, 3377, 3519, -5456, 88458, 3397, - 90, -5456, 3556, 3229, -5456, -5456, 102, 88458, 74738, 2750, - -5456, -5456, 3525, 64938, 1001, 3528, 1164, 3221, 3533, 3394, - 1164, 64938, 3446, 88458, 88458, 88458, 88458, 152, -5456, 63468, - 3417, -5456, 88458, 3419, 2888, 3420, 3665, 1203, 2226,104628, - 3536, -5456,105118, 3194, 88458, 3195, 3195, 3671,112888, 1155, - 3481, -5456, -5456, 2119, -5456, 3343, -5456, 68858, -5456, -5456, - 68858, -5456, -5456,112888, 88458, 3207,112888,112888, -5456, -5456, - 68858, 68858, -5456, 64938, 64938, 3564, 353, 3569, 3275, 3574, - 3276, 52675, 52675, -5456, 448, 68858, -5456, 64938, 68858, -5456, - 88458, -5456, 88458, -5456, -5456, -5456, -5456,112888,112888, -5456, - 64938, 63468, 3575, 88458, 88458, -5456, 88458, 88458, -5456, 88458, - 88458, 2109,105608, 2406, -5456, 88458, -5456, 88458, -5456, 88458, - -5456, 88458, -5456, 88458, -5456, -5456, -5456, 88458, -5456, 88458, - 2114, -5456, -5456, 2115, 1310, 88458, 88458, 247, 68858, 88458, - 3442, 88458, 68858, 68858, 88458, 88458, 88458, 88458, 88458, 3305, - 2910, 434, -5456, 302, 360, 80618, 3451, -5456, -5456, 2121, - 2066, 34, 88458, -5456, 88458, 88458, 88458, -5456, -5456, 74248, - 3562, 419, 75718, 88458, -5456, -5456, 8642, 33622, 1934, 30061, - -5456, -5456, 19614, 3274, 33622, 33622, 3225, 2643, 2643, -5456, - 336, 33622, 33622, 27521, 33622, 31590, 33622, 33622, 2643, 2643, - 33622, 10031, 33622, 52675, 33622, 39210, 24551, 33622, 33622, 28537, - 292, 2850, 33622, 3476, 40220, 33622, 374, 3477, 33622, 374, - 10031, 3733, 3733, 2353, 7043, 3230, 1934, -5456, -5456, 1130, - 2643, 1130, -5456, 498,112888, 33622, 33622, 33622, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 33622, -5456, 60528, -5456, -5456, -5456, -5456, - -5456, -5456, 3320, -5456, -5456, -5456, -5456, -5456, -5456, 4870, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 88458, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, 29045, -5456, -5456, - -5456, -5456, 3240, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 3550, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 29553, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 3244, -5456, -5456, 33622, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, 3322, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 954, 33622, 33622, 33622, 33622, 33622, 33622, - 33622, 33622, 33622, -5456, 33622, 510, -5456, -5456, 3568, 3238, - 816, 507, 3246, 3454, 85028, 30574, 3286, -5456, 23523, -5456, - 266, 3286, -5456, -5456, -5456, 88458, 3388, -5456, -5456, -5456, - 3326, -5456, -5456, -5456, -5456, -5456, -5456, 245, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, 3245, -5456, -5456, -5456, - -5456, 3245, -5456, 3247, 3576, 3577, 270, 88458, 2734, 33622, - 3320, 282, 88458, 33622, 3240, 3550, 33622, 3244, 33622, 3322, - -5456, 33622, -5456, 2125, 2027, 33622, 2139, 3251, -5456, -5456, - 3261, 2936, 3287, 3290, 3264, 3267, 2643, 224, 3268, 219, - 852, 3400, 2643, 3501, 3269, -5456, 60528, -5456, 42196, 3319, - -5456, -5456, -5456, 1743, 88458, 88458, -5456, 3572, -5456, 3270, - -5456, 14682, 3572, -5456, -5456, 39715, 3407, 3555, 3497, -5456, - -5456, -5456, 3280, 19614, 34638, 34638, -5456, 2310, 19614, 2465, - -5456, -5456, -5456, -5456, -5456, -5456, 1291, -5456, 88458, 150, - 3294, 1590, 3348, 1038, 3762, 3350, 88458, -5456, 47630, 2141, - -5456, 64938, 88458, 88458, 3498, -5456, 3744, -5456,114792, -5456, - 3291, -5456,114316,110508, -5456, -5456, 95, -5456, 1638, 64938, - -5456, 88458, 88458, 64938, 88458, 88458, -5456, 64938, 3344, 88458, - 88458, -5456, -5456, -5456, -5456, -5456, 57587, 721, 74248, 3435, - 73268, -5456, -5456, 3295, 88458, 3358, 3580, 3582, 801, -5456, - -5456,106098, -5456, 3529, 64938, 88458, 88458, 33622, 3530, 88458, - 88458, -5456, 1020, 3390, 3392, -5456, 88458, 3393, 68858, 3308, - 112888, 68858, 53184, 68858, 68858, 3650,112888, 88458, 88458, 1303, - 80618, 286, 1098, 3031, 3541, -5456, 1525, -5456, 64938, -5456, - 88458, 3532, -5456, -5456, -5456, 77188, 3780, 3437, -5456, -5456, - -5456,106588, -5456, -5456, 3539, -5456, 2159, -5456, 64938, 64938, - 88458, 9291,107078, 1373, 3558, -5456, -5456,112888, -5456, 88458, - 85518, 88458, 88458, 3598, 88458, 77678,107568,108058, 1628, 1722, - 3599, 88458, 78168, 3600, -5456, 3475, 88458, -5456, -5456, 61018, - 64938, 88458, 990, 60528, -5456, 3591, -5456, 88458, -5456, 970, - -5456, 88458, 4453, 3560, -5456, -5456, 3434, 3444, 88458, 289, - 1197, 3031, 3730, 88458, 88458, 3349, 2169, 64938, 88458, 60528, - -5456, 3578, 97, 64938, 88458, 77188, -5456, 3581, -5456, 80618, - 3670, -5456, 3352, 2226, 2561, 1952, 3352, 64938, 88458, -5456, - 3352, 88458, 98258, -5456, 64938, 1342, -5456, 64938, 88458, 77188, - -5456, 3583, 3522, 64938, 88458, 19902, -5456, -5456, -5456, 368, - -5456, -5456, -5456, -5456, -5456, 88458, 88458, 368, 88458, 88458, - 368, 1466, -5456, 64938, 88458, -5456, -5456, -5456, 3480, 64938, - 88458, 88458, 249, 88458, -5456, 88458, 64938, 3409, 88458, 88458, - -5456, -5456, 88458, 8144, 88458, 88458, 88458, 88458, 88458, 88458, - 64938, 88458, -5456, -5456, 1119, 1440, 1772, 1860, 1708, 88458, - 3679, 88458,108548, 64938, 88458, 88458, 1164, 88458, 60528, 1947, - -5456, -5456, 3492, -5456, 64938, 1342, -5456, 9887, 88458, 88458, - 88458, 3450, 3456, 287, 3544, -5456, -5456, -5456, 866, 866, - 3588, -5456, 33622, 33622, 32098, 3376, -5456, -5456, 33622, 2784, - -5456, -5456, -5456, 1047, 3853, 1047,109038, 1047, 1047, 3672, - 3441, 3443, 1047, 1047, 1047, 3663, 1047, 1047, 1047, 88458, - 3563, -5456, -5456, 3563, 876, 33622,112888, 88458, -5456, 2173, - -5456, 3396, -5456, -5456, 60528, 88458, 767, 957, 3746, 3611, - 72288, 1526, 3734, 88458, 3445, 88458, 3866, 3489, -4, -5456, - 1526, 88458, -5456, 3234, 74248, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, 88458, -5456, -5456, 3736, 88458, 42690, 3584, -5456, - 1164, 2750, 2750, 2750, 2750, 3399, 2750, 88458, 3527, 3753, - 1526, 3402, 3756, -5456, 2888, 3759, 114, 88458, 3624, 72288, - 3465, 3447, 3638, 3882, 2226, 1164, 3643, 3631, -5456, 56130, - -5456, 2750, 3898, 27045, 5399, 5984, 3632, 3695, -5456, -5456, - 3639, 962, 88458, 3741, 3742, 3764, -5456, 225, -5456, 3895, - 1750, 3765, 327, -5456, 328, -5456, 2790, -5456, 88458, -5456, - 88458, 88458, 88458, 88458, 330, -5456, -5456, 328, 2790, 328, - 270, -5456, 3702, 327, 2790, 3554, 3769, 353, -5456, 379, - -5456, 3644, 270, -5456, 3658, 2226, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, 2177, -5456, 88458, -5456, 3745, 3748, 3749, - 3750, 3751, 3436, 3440, 3466, 88458, 3448, 3436, 368, 3452, - 3453, -5456, 3448, 3448, 3436, 2910, 2910, 3436, 3440, 63958, - 3883, 60528, -5456, -5456, 3517, 3458, 3776, 232, -5456, 893, - 1319, 3689, -5456, -5456, -5456, -5456,112888, -5456, 64938, 3482, - -5456, -5456, -5456, 3659, 3460, 63958, 270, 345, -5456, 68858, - 88458,112888, 68858, 3666, 68858, 68858,112888, 88458, 88458, 2183, - -5456, 1924, -5456, 2005, 33622, 198, -5456, 15873, 2200, 33622, - 3459, 3461, -5456, 3782, -5456, -5456, -5456, -5456, -5456, -5456, - 3464, 3784, -5456, 2201, 2212,112888, 2236, 3468, 16480, -5456, - 3467, 215, 3660, 6237, 3504, 2214, 3469, 272, -5456, 6237, - 1005, 2227, 3472, 3473, 6746, 6659, 3479, 16678, 3463, 3483, - 3484, 3478, 39210, 39210, 28029, 1033, -5456, 39210, 3485, 3655, - 2243, 15077, 3486, 3490, 16815, 32606, 33622, 32606, 32606, 16913, - 3491, 3495, -5456, 3829, -5456, 2247, 60528, 3647, 17451, 2248, - -5456, 33622, 60528, 6986, 33622, -5456, 33622, -5456, 3496, -5456, - -5456, 1439, 1439, 1439, 10031, -5456, 3499, -5456, 39210, 39210, - -5456, 1883, 28029, -5456, -5456, 3793, -5456, -5456, 274, -5456, - -5456, -5456, -5456, -5456, 3579, -5456, -5456, -5456, 3693, 2123, - 2828, 52675, 10421, 33622, 288, 33622, 3240, 33622, 3552, 1439, - 1439, 1439, 483, 483, 263, 263, 263, 2098, 507, -5456, - -5456, -5456, 3502, 3505, 3454, 3506, 33622, -5456, 3559, 48124, - -5456, 2188, 2367, 88458, 3255, 3990, 6137, -5456, -5456, -5456, - 3319, 729, 3319, -5456, 1670, 2643, 1130, 58077, -5456, -5456, - -5456, -5456, -5456, -5456, 88458, 19614, -5456, -5456, 3738, 3508, - 2249, -5456, -5456, 2643, -5456, -5456, 2330, 2330, 3511, -5456, - 3516, -5456, -5456, -5456, -5456, -5456, -5456, -5456, 3503, -5456, - -5456, -5456, 43184, 3837, 3514, 41702, 86008, 3518, 2550, -5456, - 86008, 86498, 86008, -5456, 3509, -5456, -5456, 1934, 33622, 3851, - -5456, -5456, -5456, 33622, -5456, -5456, 1191, 3553, 772, 117, - 2529, 2529, 2310, 853, -5456, -5456, 3603, -5456, 33622, 2494, - -5456, 2520, -5456, -5456, -5456, -5456, 2910, -5456, 3796, -5456, - -5456, -5456, 42196, 3586, 3601, 1381, 46148, 3760, -5456, 88458, - 42196, -5456, 88458, 366, -5456, 3545, -5456, -5456, -5456, -5456, - -5456, -5456,110508, 1933, -5456,114316, -5456,114316, -5456, 1933, - 3997, -5456,110508, 1895, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, 64938, 64938, 3766, - 88458, 3771, 3767, 33622, 273, 88458, 3547, 3557, 1449, 3854, - 3561, -5456, 3909, 270, -5456, -5456, 3640, -5456, 19614, -5456, - -5456, -5456, -5456, -5456, 64938, 88458, -5456, 68368, -5456, -5456, - 112888, -5456, -5456, 88458, 88458, -5456, -5456, -5456,112888, -5456, - -5456, -5456, 88458, 854, 3645, 3646, 88458, -5456, 1343, 3288, - 10377, 88458, 88458, 88458, 3860, -5456, -5456, -5456, -5456, 3790, - -5456, 3920, -5456,110508, -5456, 2790, 1392, 3651, 3031, 3800, - -5456, 3928, 3680, -5456, 3698, 807, -5456, -5456, 3708, -5456, - -5456, -5456, -5456, 3932, 270, 3933, 270, 88458, 88458, 88458, - 88458, 3712, -5456, -5456, -5456, -5456, 3713, 3852, -5456, 60528, - 60528, 60528, 2259, -5456, -5456, 1164, -5456, -5456, -5456, -5456, - -5456, -5456, 3889, -5456, 2264, -5456, 1361, 88458, -5456, -5456, - -5456, -5456, -5456, 3937, 64938, 88458, 10659, 88458, 88458, 88458, - 3801, 1881, 1126,112888, -5456,111936, -5456, -5456, 2266, -5456, - 3592, 88458, 3673, 64938, 3653, -5456, -5456, -5456, 3940, 2226, - 3726, 76208, 3634, 3634, 2075, -5456, -5456, -5456, -5456, -5456, - 3862, 3788, -5456, 1110, 3791, 64938, 3662, -5456, -5456, -5456, - -5456, 3954, 3686, -5456, -5456, 3692, 1233, 3031, 2888, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, 3720, -5456, - -5456, -5456, -5456, 1201, 1201, -5456, -5456, -5456, 1201, 1531, - 410, 1301, 3031, -5456, 1362, 372, 3696, -5456, 3697, -5456, - -5456, -5456, 3869, 3872, 3873, 3700, 3701, 3757, 3703, 3704, - 3761, -5456, 3705, 3763, 3709, 3768, 3710, 4011, 270,112888, - 3861, 1164, 3777, 3988, 270, -5456, 3717, -5456, 3721, -5456, - 2286, 4102, -5456, 88458, -5456, 404, 1302, 3031, -5456, 3723, - -5456, 64938, 88458, -5456, -5456, -5456, 33622, 3637, 3649, 3652, - 19614, 19614, 33622, -5456, -5456, 19614, 3642, -5456, -5456, -5456, - -5456,112888, -5456, 88458, 3944, -5456, -5456, 1047, 88458, 88458, - -5456, -5456, -5456, 88458, -5456, -5456, -5456, 3946, -5456, 267, - 267, -5456, -5456, 3975, 7709, 3654, 335, -5456, 60528, 49112, - 3088, 826, 1790, -5456, 68368, 88458, 68368, -5456, 957, 3870, - 88458, 88458, 88458, 3657, 3676, -5456, -5456, -5456, -5456, 64938, - 1066, 64938, 2643, -5456, -5456, 3735, -5456, 88458, 2226, 4173, - 4008, 3409, -5456, 4139, 3223, 1001, 1794, 338, 2838, 4076, - 2560, 33622, 384, -5456, -5456, 1934, 88458, 3447, -5456, -5456, - -5456, -5456, 1164, -5456, 3675, 3678, -5456, 88458, 4022, 88458, - 88458, 88458, 88458, 3482, 3681, 88458, 3682,112888, 88458, 2197, - 3026, 4160, 4047, 2066, 3465, 3779, 4049, 80618, 3706, 2296, - -5456, -5456, 962, -5456, 2298, 171, -5456, 1164, 68368,110984, - 4036, -5456, 617, 5984, -5456, -5456, 617, 953, 88458, -5456, - -5456, -5456, -5456, 3921, 2273, -5456, 4024, -5456, -5456, 2066, - -5456,112888, 3699, -5456, 2303, -5456, -5456, -5456, 353, 3770, - 270, 3773, 270, -5456, -5456, -5456, -5456, 88458, -5456, 88458, - 63468, -5456, -5456, 88458, -5456, 4059, -5456, -5456, 3843, 3844, - 3845, 3846, 3848, 88458, 3436, -5456, 3711, 88458, 88458, 64938, - 1649, -5456, -5456, 64938, 423, -5456, 188, -5456, 80618, 3840, - -5456, -5456, -5456, -5456, 4073, 4075, -5456, -5456, -5456, 1128, - -5456, 75228, 438, -5456, 64938, 4009, 4010, 4015, 4017, 368, - 4018, 4019, 4023, 4025, 4029, -5456, -5456, -5456, 3718, 17503, - 33622, -5456, 4087,112888, -5456, 8075, -5456, -5456, 33622, -5456, - 33622, -5456, -5456, 3468, 4026, 3894, -5456, -5456, 3958, 3959, - 33622, 3894, 4198, 1012, 33622, 33622, -5456, -5456, 3963, 3965, - 33622, 2123, 2123, -5456, -5456, -5456, -5456, 2339, 33622, -5456, - 33622, -5456, -5456, 25065, 4250, 4250, 3747,112888, 39210, 39210, - 39210, 39210, 1442, 2877, 39210, 39210, 39210, 39210, 39210, 39210, - 39210, 39210, 39210, 39210, 551, -5456, 3955, 33622, 33622, 33114, - -5456, -5456,112888, 3752, 3491, 3754, 3758, 33622, -5456, -5456, - -5456, 2305, 40714, 3774, 60528, -5456, 33622, 15309, 2309, 3803, - 17590, 1934, 8264, 2544, 33622, 1054, 2461, 33622, 2320, 33622, - -5456, -5456, -5456, -5456, 4089, -5456, -5456, -5456, -5456, -5456, - -5456, 3992, 2123, -5456, 3823, 3830, -5456, 33622, 3775, 3340, - 39210, 39210, 4413, -5456, 4444, 33622, 28029, -5456, 3588, -5456, - 25579, 3778, 33622,110018, -5456, -5456, 762, 762, 762, 762, - -5456, 88458, 88458, 88458, 3851, 3783, 3851, 178, 3785, -5456, - -5456, -5456, -5456, 2066, -5456, 3772, -5456, -5456, -5456, -5456, - -5456, 86008, 86498, 86008, 3781, 41208, 26074, 2550, 3786, 88458, - -5456, -5456, 3797, 42196, 4052, 3968, -5456, 42196, 3968, 1546, - 3968, 4053, 3863, 48618, -5456, -5456, 3798, -5456, 3976, -5456, - 1882, 19614, 4220, 4094, -5456, 3799, -5456, 3553, 298, -5456, - -5456, -5456, 883, -5456, 3859, -5456, -5456, -5456, 3518, 35146, - 3929, -5456, -5456, -5456, 3834, 2337, -5456, -5456, 4203, 3929, - -5456, 2376, -5456, 2338, 47630, 3586, 33622, 1934, 2343, 1901, - -5456, -5456,110508, -5456, 3856, 2790, 2790, 1436, 3436, 4128, - 1436, 8985, -5456, -5456, 43678, 88458, 88458, -5456, 88458, 88458, - 1543, 88458, -5456, 88458, -5456, -5456, -5456, 4263, 3855, 3858, - 4080, -5456, 2631, -5456, -5456, 64938, 88458, -5456, -5456, -5456, - 424, 1335, 3031, -5456, 3887, -5456, -5456, 4105, 88458, -5456, - 4258, 3900, 88458, 4165, 88458, 86988, -5456, 4235, 1543, 3922, - 4144, 1804, 3026, 373, 4137, -5456, 1897, -5456, -5456, 3888, - -5456, 88458, -5456, 88458, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, 3947, -5456, -5456, -5456, -5456, 61018, -5456, -5456, 88458, - -5456, 60528, 49112, 60528, -5456, 88458, -5456, 1541, 428, 1336, - 3031, -5456, 3901, -5456, 4170, 3904, 3905, 3961, 194, 941, - 3907, 3908, 3964, 3825, 3826, 3827, -5456, 60528, 49621, 3987, - 88458, 2790, 3831, 3875, 88458, 3634, 87478, -5456, 3833, -5456, - -5456, 3634, 249, 2552, -5456, -5456, -5456, 1164, 2790, 1164, - 88458, 88458, 88458, 88458, 249, -5456, -5456, -5456, 4288, 3931, - 88458, 88458, 88458, 88458, -5456, 3897, -5456, -5456, -5456, 88458, - 88458, 4183, 231, 2138, 64938, 88458, 88458, 64938, 88458, 88458, - 88458, 88458, 88458, 88458, 88458, 4057, -5456, 4277, 4202, 2289, - 4245, 3923, 88458, -5456, 88458, 1164, -5456, 3288, 88458, 88458, - 88458, 88458, -5456, -5456, -5456, -5456, -5456, 3588, -5456, 3849, - 4138, 1047, -5456, 4143, 4145, 4146, 1047, -5456, -5456, 1790, - -5456, 511, 88458, -5456, 2235, 88458, -5456, -5456, -5456, 3799, - 2377, 2526, -5456, -5456, -5456, -5456, -5456, -5456, 3864, 88458, - 88458, 39210, -5456, 439, 1805, 1101, -5456, 4135, 88458, 3083, - -5456, -5456, -5456, 244, 88458, -5456, -5456, -5456, -5456, 3865, - -5456, 879, 3681, -5456, 4152, 72288, 2790, 64938, 64938, 2790, - -5456,112888, 3868, 3447, -5456, 501, 3941, -5456, 64938, 1001, - 109528, 3221, 3899, 4077, 11193, 42196, 42690, 1201, -5456, 3871, - 3867, -5456, -5456, 88458, 3870, 63468, 2352, 2888, 4337, 1204, - 2127, -5456, 73758, 4066, 3681, 4152, -5456, 3026, 4090, 4092, - -5456, 2066, 88458, 3482, 3447, 1164, 88458, 3358, 49112, -5456, - 4387, 2304, -5456,110508, 33622, 33622, -5456, 3874, -5456, 3876, - 5984, -5456, 3953, 3878, 4348, 33622, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 3966, 3884, 88458, 88458, 962, 88458, - -5456, 3885, 3765, -5456, 3765, -5456, 88458, -5456, 88458, -5456, - 270, -5456, 4020, 270, 88458, 88458, 88458, 88458, 88458, 88458, - 3436, 368, 3453, -5456, -5456, 4221, 63958, 4219, -5456, 60528, - -5456, -5456, -5456, -5456, -5456, 2357, 88458, -5456, -5456, -5456, - 4291, 4230, 270, 419, 1049, 1049, 1049, 1049, 4185, 1049, - 1049, 1049, 1049, 1049, -5456, 33622, 19614, -5456, 3893, -5456, - 19614, 19614, -5456, 4265, 3896, 4124, 4126, -5456, 3902, 33622, - 3894, -5456, -5456, 4127, 4129, -5456, 3894, 3894, 3906, 11296, - 18324, -5456, 2375, 33622, -5456, 873, 873, 873, 2475, 4241, - -5456, 2672, 873, 873, 873, 496, 496, 276, 276, 276, - 4250, 551, 18366, 18734, 19084, 3911, -5456, -5456, -5456, 3491, - -5456, 35654, 1134, 4359, 40220, -5456, -5456, -5456, 3951, 3960, - 3913, -5456, 33622, 36162, 3914,114792, 4116, -5456, -5456, 1435, - 33622, 33622, 4780, -5456, 10572, 33622, -5456, -5456, 4199, 4204, - 4780, 530, 33622, 3101, 3677, 33622, 33622, 4745, 11446, 3925, - -5456, 2388, 33622, 11537, 4118, -5456, 88458, 88458, 88458, 88458, - -5456, -5456, -5456, 4094, 2559, 4094, 1164, 3926, -5456, -5456, - -5456, -5456, 61508, 3924, 3647, 86008, 3936, 88458, 2550, 42196, - -5456, -5456, 1712, -5456, 42196, 4212, -5456, 42196, 68858, -5456, - 88458, 3938, 88458, -5456, 1777, 33622, 3972, 52675, -5456, -5456, - -5456, -5456, 4021, -5456, 4164, 19614, 30574, -5456, 2066, 2433, - 88458, 1934, 103, -5456, 33622, 3939, 88458, -5456, 3929, 19614, - -5456, 4013, 2390, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - 4034, 74248, 4282, -5456, 33622, 2401, -5456, 3993, 4384, 218, - 2403, 2414, 1543, -5456, 2420, -5456, 1983, 4259, 476, -5456, - 270, -5456,112888, 88458, 88458, 88458, 2958, -5456, -5456, 88458, - 88458, 88458, 88458, -5456, -5456, 64938, 88458, -5456, 88458, -5456, - -5456, -5456, 87968, -5456, 3870, 249, 439, 4274, 4275, 4186, - -5456, 368, -5456, 439, 4187, 249, -5456, -5456, -5456, -5456, - 3395, -5456,112888, 270, 270, -5456, -5456, -5456, -5456, -5456, - 3971, -5456, 4409, 4058, 88458, 88458, 88458, 88458, 88458, 64938, - 88458, 88458, 2643, 2643,112888, 3962, -5456, 2643, 2643, 3969, - -5456, 64938, 88458, 88458, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, 4050, -5456, 33622, 4410, -5456, - -5456, -5456, -5456, -5456, 33622, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, 64938, 88458, 4056, -5456, - 4063, -5456, 844, -5456, -5456, 88458, 88458, 88458, 88458, 4331, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, 4341, 88458, -5456, -5456, 1164, 1164,112888, 270, 270, - -5456, -5456, -5456, 4067, -5456, -5456, 3989, 4281, 1047, -5456, - 1047, 1047, 1047, -5456, 3994, -5456, 1790, 4382, -5456, 1543, - 1781, 4333, -5456, 33622, -5456, 1312, 2475, -5456, 4391, 4474, - -5456, -5456, -5456, -5456, 3409, 2226, 3409, -5456, -5456, 68858, - 414, -5456, 4315, 767, 60528, 4224, 72288, 1362, 1937, 4002, - 4136, -5456, 2790, 2790, 4068, 88458, 4479, -5456, -5456, -5456, - -5456, -5456, -5456, 64938, 3653, -5456, 4244, 1215, 4351, 88458, - 42690, -5456, 3518, -5456, -5456, -5456, 1164, -5456, -5456, 4148, - 3447, -5456, 1986, 88458, 4238, 72288, 3482, 2424, -5456, -5456, - -5456, 4061, 4473, 3465, -5456, 1362, 4066, -5456, -5456, 4449, - 4117, 4064, 4501, -5456, 4117, 4369, 4249, 4032, -5456, 3706, - -5456, 88458, -5456, 19614, 19614, 1164,115268, 617,112888, 4380, - -5456, 19614, 88458, 922, 4035, 4206, -5456, 4346, 270, 2435, - -5456, 270, 270, -5456, 88458, -5456, 3436, 3436, 3436, 3436, - 3436, -5456, 4251, -5456, -5456, -5456, -5456, 4336, -5456, 63958, - -5456, 270, -5456, -5456, -5456, -5456, -5456, -5456, 1049, -5456, - -5456, -5456, -5456, -5456, 19614, -5456, 88458, -5456, -5456, -5456, - -5456, -5456, 3270, 4042, -5456, -5456, 4043, 4044, -5456, -5456, - 33622, -5456, 11948, 39210, 4385, -5456, 33622, 33622, 33622, -5456, - 4048, 2444, 2457, -5456, -5456, 1134, -5456, 4359, -5456, -5456, - -5456, 12019, 4107, 19614, 4166, 4054, 1813, 4780, 4780, 10572, - -5456, -5456, 4780, 33622, 33622, 4780, 4780, 33622, -5456, -5456, - -5456, 12088, -5456, 4508, 3588, -5456, -5456, -5456, -5456, 3972, - -5456, -5456, 3972, -5456, 4194, -5456, 2472, 4532, 38194, 4490, - -5456, 88458, 2484, -5456, 33622, 4060, -5456, -5456, 42196, 1712, - 4062, 2497, 88458, 2498,112888, 36670, 19614, 88458, 3588, 4070, - -5456, 88458, 2907, -5456, 1381, -5456, -5456, 4481, 43678, 4439, - 19172, 33622, -5456, -5456, -5456, -5456, 63958, 4285, 63958, 1543, - 12366, 4377, 43678, 53693, 88458, -5456, 88458, -5456, 4233, 4377, - 4377, -5456, -5456, -5456, -5456, -5456, -5456, 4072, -5456, -5456, - -5456, -5456, 4155, -5456, -5456, 1078, 3451, -5456, -5456, -5456, - -5456, -5456, 4551, 4436, 4440, -5456, -5456, -5456, -5456, -5456, - 4277, -5456, -5456, 49112, 64938, 88458, -5456, 4171, -5456, -5456, - -5456, -5456, -5456, -5456, 45654, 52675, -5456, 194, 4084, 4086, - 941, -5456, -5456, -5456, 88458, 12452, 4088, 12643, 1195, 3451, - 88458, 88458, 4096, 4097, 4099, 1691, 1495, 1843, 3436, 4425, - 88458, -5456, -5456, -5456, 4277, -5456, -5456, 88458, -5456, 1047, - -5456, -5456, -5456, -5456, 60528, -5456, 2208, 3994, 1164, 68858, - 4562, 4562, 12688, 4317, -5456, -5456, 451, 4154, 4349, 4154, - 4100, 88458, 244, 4101, 2499, -5456, 88458, 4103, 4234, 2229, - 2229, 88458, 88458, 88458, 2503, 2066, 2790, 3875, 1001, 4461, - 72288, 4507, 3870, 395, -5456, 88458, 4582, 88458, 3482, 3681, - 88458, 4109, -5456, -5456, 73758, 4325, 3088, 88458, 2197, 4066, - 3465, 280, 88458, -5456, 346, -5456, 2066, -5456, 88458, 80618, - 43678, 4451, -5456,114316, -5456, 2505, -5456, -5456, -5456, 4189, - 20728, 3319, 4232, 4236, 4119, 2044, 4466, 88458, 1181, -5456, - -5456, -5456, -5456, -5456, -5456, 88458, 438, -5456, -5456, -5456, - -5456, -5456, -5456, 19337, -5456, 3060, 39210, 19614, 19614, 19614, - 33622, -5456, 33622, -5456, -5456, -5456, -5456, 124, -5456, -5456, - 4434, 4130, 4780, 4780, 4780, -5456, 33622, 223, -5456, -5456, - 1371, 4529, 3509, 61508, 4132, -5456, 39210, 2510, -5456, 1120, - 88458, 2511, -5456, 19614, 88458, -5456, -5456, 33622, -5456, 2517, - -5456, 4134, 1088, 4140, 24037, 4142, -5456, -5456, -5456, -5456, - -5456, 19614, 4147, -5456, 4603, 1590, -5456, -5456, 4193, 88458, - 2518, -5456, 126, 905, 4177, -5456, 19614, 1649, 1436, 469, - 4384, 4141, 3409, -5456, 4149, -5456, -5456, 1107, 3026, 88458, - 3409, 3409, -5456, 88458, 4239, -5456, 3088, 4460, -5456, -5456, - 4201, -5456, 1196, 3451, 88458,112888, -5456, 166, 4488, -5456, - 112888,112888, -5456, -5456, -5456, 33622, -5456, 4242, -5456, -5456, - -5456, 33622, 33622, 71308, -5456, -5456, 88458, 88458, 88458, 88458, - 88458, -5456, 270, -5456, -5456, 2523, -5456, 44666, -5456, -5456, - 3216, 1164, 3216, 1941, -5456, -5456, 3216, 3216, -5456, 3319, - -5456, 4562, 1393, -5456, -5456, 4389, 4156, 33622, 4458, -5456, - 1351, 4372, -5456, 4157, -5456, 68858, 4664, -5456, 60528, 3681, - 4152, 88458, -5456, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 2530, 3870, 4509, 3447, 4064, -5456, - 88458, 4205, -5456, 42196, 3870, 2066, 2127, -5456, 4066, 3681, - 4152, -5456, -5456, 4159, 4092, 3465, 2197, 4305, -5456, 4308, - -5456, 4606, 4383, 4608, 3482, -5456, 3358, 2531, 88458, -5456, - -5456, 5984,115268,112888, -5456, -5456, -5456, 4168, 4550, 4218, - 4222, -5456, -5456, -5456, 2044, -5456, 773, 4549, 4225, -5456, - 4240, 88458, -5456, -5456, 3870, 270, 33622, 3060, 2532, 2536, - 4237, -5456, -5456, -5456, 3491, 37178, 37178, 37178, 4176, 4531, - 4534, 88458, -5456, -5456, -5456, 88458, 2475, 4184, 38194, 60528, - 2537, -5456,112412, -5456, 2538, 2543, -5456, 33622, 4190, 33622, - -5456, 36670, 88458, 4192, 3294, 2066, -5456, 3319, 43678, -5456, - 4321, 4667, 4452, -5456, -5456, 4535, -5456, -5456, 88458, 4154, - 52675, 3553, 1107, 2226, 4154, 4154, -5456, 88458, 4156, 33622, - -5456, 4290, -5456, -5456, 2569, 1752, 4371, 4371, 2582, 2588, - 12782, 88458, 2597, 2606, -5456, 2607, 2643, 3440, 1843, 3440, - -5456, 3436, -5456, -5456, 60528, -5456, 64448, -5456, -5456, -5456, - 1164, -5456, 1164, 4430, 88458, 55163, 1164, 1164, -5456, -5456, - -5456, -5456, 4511, -5456, 2888, -5456, 13217, 4299, -5456, -5456, - -5456, 532, -5456, 4424, 4426, -5456, 4207, -5456, 2614, -5456, - 1362, 4340, 3870, -5456, -5456, 88458, 4685, 4687, -5456, 1304, - 88458, 3518, -5456, 4064, 3482, 3465, 1362, 4066, 3088, 44172, - 4117, 2197, 4092, -5456, -5456, 4428, -5456, 4432, -5456, 4215, - 4538, -5456, 1707, 617, -5456, -5456, -5456, 375, 4558, 4566, - -5456, -5456, -5456, 3216, -5456, 787, 4231, 4585, -5456, -5456, - -5456, -5456, 19614, -5456, -5456, -5456, 38702, 4378, 254, 15848, - 4596, -5456, 4596, 4596, -5456, 4689, 4690, 1213, 2618, 40220, - -5456, -5456, -5456, 88458, 4448, 343, 4713, 4406, 2620, 36670, - 2624, -5456, -5456, -5456, -5456, -5456, -5456, -5456, 47630, 33622, - 4339, 4667, 63958, 2625, 3634, 4246, -5456, 3553, 4349, -5456, - -5456, 3451, -5456, 19614, 88458, 68858, 4700, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, 3451, 4338, -5456, -5456, 71308, -5456, - 88458, -5456, -5456, 2630, -5456, -5456, -5456, 88458, 4035, -5456, - 4035, -5456, -5456, -5456, 2683, 4358, 88458, 1111, 1111, 4643, - -5456, 4319, -5456, 4255, -5456, 4768, 4392, 88458, -5456, -5456, - 194, 2066, 72288, 3870, -5456, -5456, 2197, 4066, 3465, 33622, - 2644, -5456, 4384, 218, -5456, 4092, 4117, -5456, -5456, 43678, - 4262, 3083, 4636, -5456, -5456, -5456, 1865, 68858, 68858, 88458, - -5456, -5456, -5456, 33622, 244, 4742, -5456, -5456, -5456, -5456, - -5456, 1206, -5456, -5456, -5456, 88458, 88458, 88458, -5456, 3647, - -5456, -5456, 39210, 39210, 4493, -5456, 343, -5456, 88458, -5456, - 4266, -5456, -5456, 2645, -5456, 1396, 19614, 390, 4357, 469, - -5456, -5456, -5456, -5456, 4372, 1543, 1543, -5456, 3451, -5456, - 88458, -5456, 4268, -5456, -5456, -5456, 64448, 4035, -5456, -5456, - -5456, -5456, 4760, -5456, 985, -5456, -5456, -5456, -5456, 88458, - 3870, 3962, 4064, -5456, 4092, 3465, 2197, 13565, -5456, 44172, - 88458, 88458, 4117, -5456, 2659, 43678, 3447, 4418, -5456, 2429, - -5456, -5456, -5456, -5456, -5456, -5456, -5456, 417, 4272, 4276, - -5456, -5456, 13697, 68858, 37686, 4427, -5456, 4489, -5456, 1249, - 1350, 1920, 4714, 2475, 2475, -5456, -5456, -5456, 33622, -5456, - -5456, -5456, 4515, 4414, -5456, -5456, 1548, -5456, 1543, -5456, - -5456, -5456, 33622, -5456, -5456, 2226, 2226, 3870, -5456, -5456, - 4117, 2197, 4092, 4384, -5456, -5456, -5456, -5456, 4538, -5456, - 2677, 4117, 4225, 2324, -5456, -5456, 2356, 2592, 4373, 4624, - -5456, 4289, -5456, -5456, -5456, 88458, 88458, 61998, 88458, 88458, - 13897, -5456, 47630, 4520, 187, -5456, 1543, 2685, -5456, -5456, - -5456, -5456, 4092, 4117, 88458, 3083, -5456, 43678, 3319, 4652, - -5456, 2429, 4412, 4416, 60038, -5456, -5456, 320, 4691, -5456, - 2694, -5456, 4296, -5456, 4361, 1381, 4301, 88458, -5456, -5456, - 4117, -5456, -5456, 3447, -5456, -5456, 244, -5456, 4345, 4350, - -5456, 2696, -5456, -5456, -5456, -5456, 33622, 61998, -5456, -5456, - 4360, 33622, 2698, -5456, 4117, 68858, 4645, 4646, -5456, 60038, - 866, 4368, 4376, 2713, 786, 3319, 4313, 68858, 68858, -5456, - 4314, 88458, -5456, -5456, 1381, -5456, -5456, 60038, -5456, -5456, - 2559, -5456, 4374, 2714, 4376, -5456, -5456 + 6451, 57, 23393, -5911, -5911, 57, 72611, -5911, 82811, 23, + 231, 122, 264, 22681, 83321, 93521, 1112, 398, 22892, 57, + 93521, 1171, 62410, 78221, 1041, 93521, 1377, 1003, 62410, 93521, + 94031, 1349, 1465, 1347, 94541, 83831, 76691, 1386, 93521, 1728, + 1909, 95051, 84341, 1414, 84851, 1003, 56826, 204, 1448, 95561, + 93521,119957, 1909, 85361, 85361, 85361, 2190, 2157, 1706, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 1750, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2605, -5911, 1074, + 2701, 1982, 1024, 1742, -5911, -5911, 2166, 72611, 93521, 93521, + 93521, 1970, 93521, 1903, 93521, 591, 72611, 68531, 85871, 2070, + 1962, 52632, 96071, -5911, 72611, 93521, 65981, 72611, 93521, 93521, + 96581, 93521, 97091, 93521, 858, 80771, 93521, 2120, 93521, 93521, + 66491, 97601, 2286, 275, 295, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2012, + 1269, -5911, 336, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 62920, 93521, 23073, 1377, 2166, -5911, 2190, 93521, + 2288, 93521, 2081, 98111, 93521, -5911, 93521, 2171, 98621, 939, + 761, 68531, 1979, 53161, 2298, 93521, 93521, 68531, 99131, 99641, + 100151, 93521, 93521, -5911, -5911, 2256, 93521, -5911, 2412, 69041, + 1951, 2428, 2610, 2574, 1027, -5911, 86381, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 72101, 398, -5911, -5911, 2518, + 73121, 2563, -5911, -5911,100661,120453, 2387, -5911, 950, 73631, + 69551, 2756, 2364, 53690, 2810, -5911, 74141, -5911, 70061, 74651, + -5911, -5911, -5911, -5911, -5911,101171, -5911,101681, 2483, 2563, + -5911,120949, 70571, -5911, 2616,102191,102701,103211, 2166, 2365, + 214, 2041, 46933, -5911, -5911, -5911, 2425, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 236, 2210, 335, 248, + 356, -5911, -5911, 252, 254, 255, 236, 2893, 2893, -5911, + 93521, -5911, -5911, 2210, 745, 2499, 2385, 2385, 2385, 2651, + 35, -5911, 2385, 2575, -5911, -5911, -5911, -5911, 84851, -5911, + 2447, 1377, 2455, 2936, 2521, 62920, 1696, 93521, -5911, -5911, + 2966, 2531, 2803, 2500, -5911, -5911, -5911, 2749, 2777, 189, + 897, 1377, 323, -5911, 2895, -5911, 2814, 31767, 31767, 1377, + 86891,103721, 288, 71591, 2588, 87401, 2601, 1575, 2806, -5911, + -5911, -5911, 1083, -5911, 3080, 2692, 2972, 2500, 275, 48989, + -5911, -5911, 2730, 1269, 84851, -5911, -5911, -5911, 62920, 3044, + 34935, 93521, 2689, -5911, 2793, 2689, -5911, -5911, 2785, -5911, + 2785, 2785, 2807, 2807, 2943, 2835, -5911, -5911, -5911, -5911, + 2809, 2785, 2807, -5911,121941, -5911, 2178, 2200, -5911, -5911, + 3259, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2844, + -5911, 1010, -5911, 2319, -5911, -5911, -5911, 31767, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2802, 2813, 1982, -5911, 7392, + 62920, 93521, 1933, 1933, 3323, 1933, 2255, 2426, -5911, 2855, + -5911, 3210, 3167, 3169, 84851, 2859, 1441, -5911, 2127, 2860, + 2046, 2863, 2132, 1421, -5911, 276, 93521, 457, 2901, 87911, + 7983, 2866, 1269, 2867, -5911, -5911, -5911, -5911, 3035, 1638, + -5911, -5911, -5911, -5911, 3201, 3246, 7569, 391, 88421, -5911, + -5911, -5911, -5911, 93521, 93521, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 2871, 819, -5911, -5911, 2870, 3249, + 3099, 8355, 1135, 3207, 3045, 1499, 11093, 3102, 2112, 3256, + 14375, 1630, 3257, 2140, 2253, 88931, 93521, 3216, 3261, 6326, + 1887, 1175, 3111, 872, 3207, 3250, 3054, 1499, 3265, 7940, + 93521, -5911, 3173, 3304, 1329, -5911, 284, -5911, 24436, 34935, + 56316, -5911, 1269, -5911, 1446, -5911, -5911, 61900, -5911, 2959, + 3123, 990, 72611, 2900, 93521, 93521, -5911,119957, 72611, -5911, + 3134, 54219, 72611, -5911, 72611, -5911, -5911, 3267,119957, 93521, + 93521, -5911, 93521, -5911, -5911, 2905, -5911, -5911, -5911, -5911, + -5911, 2385, 93521, 3368,119957, 3149, 137, 1943, 3404, 93521, + 3151, 1943, 2951,104231, -5911, -5911, 1943, -5911, -5911, -5911, + 93521, 93521, 2913, 1954, 3140, 886, 1943, 3161, 3418, 3420, + 3187, 3024, 3194, 2793, -5911, 3396, 3168, 1522, 226, 354, + 1943, 3012,104741,105251, 93521, 3014, 93521, 3412, 72611, 3049, + 72611, 72611, 93521, 3330, 93521, -5911, 3156, -5911, -5911, 1178, + -5911, -5911, -5911, -5911, -5911, 3346, -5911, 311, 3349, 2974, + 3351, 1938, 3352, 371, -5911, -5911, 3016, -5911, 3354, 373, + -5911, 3355, -5911, 2977,105761, -5911,106271,106781, 3358, 383, + -5911, 68531, 3359, 373, 3360, 2977, 3364, 373, 3366, 1017, + 3367, -5911, 1534, 3356, 3372, 371, 3374, 2295, 2977, -5911, + 3376, 420, -5911, 3377, 424, -5911, 3378, 3228, -5911, 34935, + -5911, 3104, -5911, 1448, 2044, 2041, 2210, -5911, 93521, 2210, + 93521, 2210, 93521, 2210, 93521, 2210, 93521, 93521, 93521, 2210, + -5911, -5911, -5911, 93521, 3005, 93521, -5911, 93521, -5911, -5911, + -5911, 79241, 68531, 79751, -5911, 93521, -5911, 489, 1377, -5911, + -5911,119957, 3501, 68531, 3412, 2098, -5911, -5911, 3412, -5911, + -5911, 3412, 3412, -5911, -5911, -5911, 3289, 93521, 3370, 79241, + 68531, 3373, -5911,107291, -5911, 72101, 3235, 3015, -5911, -5911, + -5911, -5911, -5911, 2403, 2600, 256, 2614, 34935, 3017, 256, + 256, 3018, 3381, -5911, -5911, -5911, 343, 3020, 3021, -5911, + 285, 285, -5911, 3022, 3023, -5911, 287, 3027, 3030, 2647, + 2661, 292, 328, 3031, 3032, 3038, 3039, 3040, 3041, 3042, + 3043, 3046, 3047, 3048, 3051, 3052, 2809, 256, 3053, 34935, + -5911, 3055, 285, 3057, 3062, 3063, 2664, 3064, -5911, 2673, + 3065, -5911, 351, 368, 3066, 3067, -5911, 3248, -5911, 341, + 3068, 3069, 3070, 3072, 3073, 3075, 3076, 3077, 34935, 34935, + 34935, -5911, 29122, 1269, 2706, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 358, -5911, 51045, -5911, 3086, -5911, -5911, + 3225, -5911, -5911, 34935, -5911, -5911, 3391, 169, -5911, 363, + -5911, -5911, -5911, 1269, 3365, 3074, -5911, -5911, 1919, 3078, + -5911, 2318, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + 71081, 3530, -5911, 380, 1377, 284, 2181, 3475, 59860, 60370, + -5911, -5911, 3331, -5911, 93521, -5911, -5911, 1269, 209, 2121, + -5911, 2425, 21693, 2202, 2689, 93521, 93521, 3554, -5911, 3083, + -5911, -5911, 34935, -5911, -5911, -5911, 2893, -5911, 2785, 2785, + -5911, -5911, 3576, 3174, 3175, 2893, -5911, 2893, -5911, 3089, + 3090, 2893, 3171, 3176, 3177, -5911, 3091, 3179, 2893, -5911, + -5911, 63941, 2418, -5911, 3449, 458, -5911, -5911, -5911, 2245, + -5911, 3093, -5911, 2793, -5911, -5911, 1982, 1982, 34935, 1982, + 1592, 1523, 32295, 35463, 3456, 3324, 321, 1829, 3460, -5911, + 3332, 2255, 2426, 84851, 93521, 84851,107801, 3231, 34935, -5911, + 3567, 3190, 3193, 3253, 58866, -5911, 3196, 3162, 3197, 3258, + 3110, 3202, 3203, 3262, -5911, 3398, -5911, -5911, 3206, 3574, + 3208,108311, -5911, -5911, 1406, -5911, -5911, -5911, 1406, -5911, + 3133, 1606, 1381, 1624, 3211, 512, 1009, 3566, -5911, 293, + -5911, -5911, 3271, -5911, 10227, 93521, 3503, 8489, 3353, 391, + 3269, -5911, -5911, -5911, 3415, 3218, 93521, 3219, 3369, 391, + 339,108821, -5911, -5911, 93521, -5911, -5911, -5911, -5911, 7749, + 3539, 27602, -5911, 2342, 3222, 3199, 3234, 93521, 75671, 1885, + 3342, 3379, 1830, 2468, 613, 3290, 93521, 1803, 3383, 93521, + 3139, 3229, 3242, 3480, 3157, 249, 3597, 3158, -5911, -5911, + -5911, 3564, -5911, 2717, 2719, 3375, -5911, 3492, 3537, 8867, + 3226, 3227,117973, -5911, 3255, 70, 54748, 93521, 93521, 3260, + 3263,109331, 7749, 3568, 80261, 80261, 3266, 3268, 48475, 3588, + 1868, 3270, -5911, -5911, -5911, 1868, 3272, 3275,109841, 7749, + 3577, 93521, 3276, 3277, 93521,121941, 391, -5911, 3645, -5911, + 391, 391, 2238, 3648, 3278, 466, 3439, 265, 1943, -5911, + 3158, 4593, -5911, 3280, 3281, 1072, -5911, 3405, 93521, 3282, + 3283, 1955, 3380, 1377, -5911, 3382, -5911, 3287, 3386, 3291, + 733, 2913, -5911, -5911, 1691, 3303, 84851, 3411, 3413, 1803, + 471, 743, 3158, -5911, 3295, 3298, 3157, 3157, 93521, 93521, + 93521, 93521, 93521, 221, 3696, 301, 3300, 289, 1323, 3212, + -5911, 1868, 67001, 3301, -5911, 1868, 93521, 259, 895, 3158, + 2158, 2160, -5911, -5911, -5911, 275, -5911, 34935, 34935, 34935, + 3214, -5911, 2911, 21693, 127, -5911, 3059, 9295, 3213, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 93521, 62920, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, -5911, 93521, 3526,119957, + 3528, 3445, 3531, 3532, 391, 93521, 93521, 3533, 3536, 3538, + 119957, 3540, 3542, 3545, 3446, 3315, 850, 3307, 3232, 3733, + 3615, 93521, 63941, -5911, 1406, -5911,119957, 3465, 3617, -5911, + 93521, 3483, 1194, -5911, 3657, 3308, -5911, -5911, 1186, 93521, + 78731, 2913, -5911, -5911, 3621, 68531, 408, 3623, 1377, 3302, + 3625, 3477, 1377, 68531, 3524, 93521, 93521, 93521, 93521, 229, + -5911, 67001, 3494, -5911, 93521, 3495, 4593, 3496, 3751, 898, + 2385,110351, 3620, -5911,110861, 3264, 93521, 3273, 3273, 3754, + 119957, 452, 3551, -5911, -5911, 2482, -5911, 3406, -5911, 72611, + -5911, -5911, 72611, -5911, -5911,119957, 93521, 3274,119957,119957, + -5911, -5911, 72611, 72611, -5911, 68531, 68531, 3638, 420, 3641, + 3328, 3646, 3333, 54748, 54748, -5911, 469, 72611, -5911, 68531, + 72611, -5911, 93521, -5911, 93521, -5911, -5911, -5911, -5911,119957, + 119957, -5911, 68531, 67001, 3651, 93521, 93521, -5911, 93521, 93521, + -5911, 93521, 93521, 2265,111371, 2041, -5911, 93521, -5911, 93521, + -5911, 93521, -5911, 93521, -5911, 93521, -5911, -5911, -5911, 93521, + -5911, 93521, 2331, -5911, -5911, 2346, 1245, 93521, 93521, 286, + 72611, 93521, 3504, 93521, 72611, 72611, 93521, 93521, 93521, 93521, + 93521, 3371, 3078, 202, -5911, 1664, 995, 84851, 3506, -5911, + -5911, 2360, 2190, 728, 93521, -5911, 93521, 93521, 93521, -5911, + -5911, 78221, 3634, 472, 79751, 93521, -5911, -5911, 11955, 34935, + 1269, 31234, -5911, -5911, 21693, 3326, 34935, 34935, 3285, 2893, + 2893, -5911, 359, 34935, 34935, 34935, 28594, 34935, 34935, 32823, + 34935, 34935, 34935, 34935, 34935, 34935, 2893, 2893, 3286, 34935, + 3865, 34935, 54748, 34935, 40743, 25504, 34935, 34935, 29650, 300, + 3022, 34935, 3543, 41793, 34935, 2181, 3555, 34935, 2181, 3865, + 3803, 3803, 1665, 4703, 3279, 1269, -5911, -5911, 1431, 2893, + 1431, -5911, 425,119957, 34935, 34935, 34935, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 34935, -5911, 63941, -5911, -5911, -5911, -5911, -5911, + -5911, 163, -5911, -5911, -5911, -5911, -5911, -5911, 3548, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 93521, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 30178, + -5911, -5911, -5911, -5911, 3294, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2176, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 30706, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 3299, -5911, -5911, 34935, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 3384, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 1020, 34935, 34935, 34935, 34935, 34935, 34935, 34935, + 34935, 34935, -5911, 34935, 462, -5911, -5911, 3629, 3391, 793, + 573, 3305, 3515, 89441, 31767, 3449, -5911, 24436, -5911, 312, + 3449, -5911, -5911, -5911, 93521, 3530, -5911, -5911, -5911, 3388, + -5911, -5911, -5911, -5911, -5911, -5911, 253, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 3310, -5911, -5911, -5911, -5911, + 3310, -5911, 3309, 3643, 3650, 1017, 93521, 2912, 34935, 163, + 260, 93521, 34935, 3294, 2176, 34935, 3299, 34935, 3384, -5911, + 34935, -5911, 2370, 1262, 34935, 2383, 3311, -5911, -5911, 3317, + 3090, 3329, 3340, 3319, 3320, 2893, 240, 3321, 222, 197, + 3448, 2893, 3583, 3325, -5911, 63941, -5911, 43849, 3385, -5911, + -5911, -5911, 1909, 93521, 93521, -5911, 3622, -5911, 3314, -5911, + 17072, 3622, -5911, -5911, 41268, 3454, 3626, 3552, -5911, -5911, + -5911, 3334, 21693, 35991, 35991, -5911, 2715, 21693, 2722, -5911, + -5911, -5911, -5911, -5911, -5911, 1634, -5911, 93521, 182, 3456, + 1829, 3389, 1276, 3825, 3394, 93521, -5911, 49503, 2392, -5911, + 68531, 93521, 93521, 3550, -5911, 3811, -5911,121941, -5911, 3341, + -5911,121445,116981, -5911, -5911, 1233, -5911, 1068, 68531, -5911, + 93521, 93521, 68531, 93521, 93521, -5911, 68531, 3395, 93521, 93521, + -5911, -5911, -5911, -5911, -5911, 60880, 94, 78221, 3490, 77201, + -5911, -5911, 3387, 93521, 3582, -5911, -5911,111881, -5911, 3589, + 68531, 93521, 93521, 34935, 3591, 93521, 93521, -5911, 626, 3443, + 3447, -5911, 93521, 3453, 72611, 3392,119957, 72611, 55277, 72611, + 72611, 3721,119957, 93521, 93521, 1570, 84851, 348, 918, 3158, + 3604, -5911, 1558, -5911, 68531, -5911, 93521, 3594, -5911, -5911, + -5911, 81281, 3855, 3497, -5911, -5911, -5911,112391, -5911, -5911, + 3598, -5911, 2401, -5911, 68531, 68531, 93521, 9590, 3397,112901, + 93521, 721, 3665, 3616, 3669, 1384, -5911, -5911, -5911,119957, + -5911, 93521, 89951, 93521, 93521, 3660, 93521, 81791,113411,113921, + 782, 1782, 3662, 93521, 82301, 3664, -5911, 3535, 93521, -5911, + -5911, 64451, 68531, 93521, 975, 63941, -5911, 3649, -5911, 93521, + -5911, 1089, -5911, 93521, 7405, 3608, -5911, -5911, 3478, 3485, + 93521, 449, 1025, 3158, 3800, 93521, 93521, 3399, 2406, 68531, + 93521, 63941, -5911, 3627, 821, 68531, 93521, 81281, -5911, 3631, + -5911, 84851, 3728, -5911, 3400, 2385, 2730, 2304, 3400, 68531, + 93521, -5911, 3400, 93521,103721, -5911, 68531, 1102, -5911, 68531, + 93521, 81281, -5911, 3632, 3565, 68531, 93521, 16342, -5911, -5911, + -5911, 391, -5911, -5911, -5911, -5911, -5911, 93521, 93521, 391, + 93521, 93521, 391, 1681, -5911, 68531, 93521, -5911, -5911, -5911, + 3544, 68531, 93521, 93521, 302, 93521, -5911, 93521, 68531, 3451, + 93521, 93521, -5911, -5911, 93521, 7284, 93521, 93521, 93521, 93521, + 93521, 93521, 68531, 93521, -5911, -5911, 1043, 1620, 1786, 1904, + 1637, 93521, 3747, 93521,114431, 1377, 68531, 93521, 93521, 1377, + 93521, 63941, 465, -5911, -5911, 3546, -5911, 68531, 1102, -5911, + 9968, 93521, 93521, 93521, 3500, 3502, 238, 3593, -5911, -5911, + -5911, 928, 928, 3635, -5911, 34935, 34935, 33351, 3419, -5911, + -5911, 34935, 2959, -5911, -5911, -5911, 1078, 3917, 1078,114941, + 1078, 1078, 3734, 3488, 3493, 1078, 1078, 1078, 3722, 1078, + 1078, 1078, 93521, 3619, -5911, -5911, 3619, 996, 34935,119957, + 93521, -5911, 2407, -5911, 3450, -5911, -5911, 63941, 93521, 1012, + 973, 3809, 3667, 76181, 2536, 3799, 93521, 3489, 93521, 3936, + 3547, 1730, -5911, 2536, 93521, -5911, 1492, 78221, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, -5911, -5911, 3802, 93521, + 44363, 3628, -5911, 1377, 2913, 2913, 2913, 2913, 3455, 2913, + 93521, 3578, 3822, 2536, 3457, 3823, -5911, 4593, 3826, 1364, + 93521, 3680, 76181, 3513, 3499, 3694, 3949, 2385, 1377, 3700, + 3686, -5911, 59363, -5911, 2913, 3969, 28098, 4251, 5348, 3689, + 3761, -5911, -5911, 3703, 954, 93521, 3815, 3816, 3838, -5911, + 311, -5911, 3972, 1938, 3840, 371, -5911, 373, -5911, 2977, + -5911, 93521, -5911, 93521, 93521, 93521, 93521, 383, -5911, -5911, + 373, 2977, 373, 1017, -5911, 3770, 371, 2977, 3618, 3843, + 420, -5911, 424, -5911, 3707, 1017, -5911, 3725, 2385, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 2413, -5911, 93521, -5911, + 3818, 3821, 3824, 3827, 3828, 3486, 3505, 3553, 93521, 3508, + 3486, 391, 3509, 3498, -5911, 3508, 3508, 3486, 3078, 3078, + 3486, 3505, 67511, 3968, 63941, -5911, -5911, 3584, 3507, 3857, + 246, -5911, 258, 1450, 3759, -5911, -5911, -5911, -5911,119957, + -5911, 68531, 3549, -5911, -5911, -5911, 3740, 3512, 67511, 1017, + 211, -5911, 72611, 93521,119957, 72611, 3735, 72611, 72611,119957, + 93521, 93521, 2421, -5911, 2010, -5911, 2063, 34935, 492, -5911, + 18367, 2430, 34935, 3516, 3517, -5911, 3864, -5911, -5911, -5911, + -5911, -5911, -5911, 3518, 3876, -5911, 2442, 2444, 18504, 2510, + 119957, 2125, 3556, -5911, 3520, 234, 3741, 3519, 6754, 3596, + 2456, 3560, 244, -5911, 6754, 1021, 3521, 8141, 3690, 3523, + 2460, 3561, 3562, -5911, 7153, 7765, 3563, 18922, 3569, 3573, + 3575, 3580, 40743, 40743, 29122, 1571, -5911, 40743, 3585, 3749, + 2462, 17220, 3590, 3602, 19467, 33879, 34935, 33879, 33879, 19519, + 3571, 3603, -5911, 3935, -5911, 2474, 63941, 3744, 19643, 2479, + -5911, 34935, 63941, 7807, 34935, -5911, 34935, -5911, 3609, -5911, + -5911, 3946, 3946, 3946, 3865, -5911, -5911, 3570, -5911, 40743, + 40743, -5911, 3297, 29122, -5911, -5911, 3898, -5911, -5911, 257, + -5911, -5911, -5911, -5911, -5911, 2932, -5911, -5911, -5911, 3785, + 2510, 3915, 54748, 8683, 34935, 423, 34935, 3294, 34935, 3633, + 3946, 3946, 3946, 508, 508, 382, 382, 382, 2184, 573, + -5911, -5911, -5911, 3581, 3592, 3515, 3611, 34935, -5911, 3599, + 50017, -5911, 2609, 2718, 93521, 5554, 6400, 6590, -5911, -5911, + -5911, 3385, 127, 3385, -5911, 275, 2893, 1431, 61390, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, 21693, -5911, -5911, 3812, + 3612, 2487, -5911, -5911, 2893, -5911, -5911, 2629, 2629, 3586, + -5911, 3624, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 3614, + -5911, -5911, -5911, 3630, 3637, 44877, 3900, 3640, 43335, 90461, + 3613, 2272, -5911, 90461, 90971, 90461, 90461, -5911, 3639, -5911, + -5911, 1269, 34935, 3897, -5911, -5911, -5911, 34935, -5911, -5911, + 1214, 3587, 902, 1341, 2729, 2729, 2715, 1380, -5911, -5911, + 3682, -5911, 34935, 2778, -5911, 2784, -5911, -5911, -5911, -5911, + 3078, -5911, 3841, -5911, -5911, -5911, 43849, 3670, 3675, 84, + 47961, 3851, -5911, 93521, 43849, -5911, 93521, 446, -5911, 3642, + -5911, -5911, -5911, -5911, -5911, -5911,116981, 2319, -5911,121445, + -5911,121445, -5911, 2319, 4102, -5911,116981, 2103, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 68531, 68531, 3854, 93521, 3853, 3860, 34935, 1528, -5911, + 4017, 1017, -5911, -5911, 3730, -5911, 21693, -5911, -5911, -5911, + -5911, -5911, 68531, 93521, -5911, 72101, -5911, -5911,119957, -5911, + -5911, 93521, 93521, -5911, -5911, -5911,119957, -5911, -5911, -5911, + 93521, 218, 3731, 3732, 93521, -5911, 1462, 3405, 10002, 93521, + 93521, 93521, 3965, -5911, -5911, -5911, -5911, 3884, -5911, 4022, + -5911,116981, -5911, 2977, 1712, 3737, 3158, 34935, 3892, -5911, + 1109, 93521, 3652, 3653, 4031, 1519, 3986, 3666, -5911, 3776, + -5911, 3804, 1443, -5911, -5911, 3808, -5911, -5911, -5911, -5911, + 4047, 1017, 4049, 1017, 93521, 93521, 93521, 93521, 3814, -5911, + -5911, -5911, -5911, 3817, 3957, -5911, 63941, 63941, 63941, 2488, + -5911, -5911, 1377, -5911, -5911, -5911, -5911, -5911, -5911, 4003, + -5911, 2503, -5911, 2026, 91481, -5911, -5911, -5911, -5911, -5911, + 4054, 68531, 93521, 10621, 93521, 93521, 93521, 3907, 2151, 1231, + 119957, -5911,118469, -5911, -5911, 2505, -5911, 3693, 93521, 3771, + 68531, 3748, -5911, -5911, -5911, 4060, 2385, 3833, 80261, 3736, + 3736, 2315, -5911, -5911, -5911, -5911, -5911, 3971, 3895, -5911, + 394, 3905, 68531, 3760, -5911, -5911, -5911, -5911, 4069, 3794, + -5911, -5911, 3796, 1154, 3158, 4593, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 3829, -5911, -5911, -5911, -5911, + -5911, -5911, 1747, 1747, -5911, -5911, -5911, 1747, 1767, 481, + 1192, 3158, -5911, 389, 412, 3797, -5911, 3798, -5911, -5911, + -5911, 3985, 3990, 3991, 3813, 3819, 3869, 3820, 3830, 3870, + -5911, 3831, 3872, 3834, 3880, 3835, 4139, 1017,119957, 3977, + 1377, 3871, 4113, 1017, -5911, -5911, 3837, -5911, 3839, -5911, + 2509, 4226, 4227, -5911, 93521, -5911, 454, 1221, 3158, -5911, + 3842, -5911, 68531, 93521, -5911, -5911, -5911, 34935, 3745, 3757, + 3758, 21693, 21693, 34935, -5911, -5911, 21693, 3743, -5911, -5911, + -5911, -5911,119957, -5911, 93521, 4070, -5911, -5911, 1078, 93521, + 93521, -5911, -5911, -5911, 93521, -5911, -5911, -5911, 4072, -5911, + 594, 594, -5911, -5911, 4104, 8344, 3764, 470, -5911, 63941, + 51574, 2310, 224, 1943, -5911, 72101, 93521, 72101, -5911, 973, + 3988, 93521, 93521, 93521, 3768, 3769, -5911, -5911, -5911, -5911, + 68531, 1461, 68531, 2893, -5911, -5911, 3852, -5911, 93521, 2385, + 4306, 4138, 3451, -5911, 4262, 3420, 408, 2021, 251, 3024, + 4201, 2793, 34935, 447, -5911, -5911, 1269, 93521, 3499, -5911, + -5911, -5911, -5911, 1377, -5911, 3782, 3781, -5911, 93521, 4149, + 93521, 93521, 93521, 93521, 3549, 3789, 93521, 3790,119957, 93521, + 2626, 3157, 4285, 4171, 2190, 3513, 3883, 4173, 84851, 3810, + 2514, -5911, -5911, 954, -5911, 2519, 150, -5911, 1377, 72101, + 117477, 4160, -5911, 344, 5348, -5911, -5911, 344, 1070, 93521, + -5911, -5911, -5911, -5911, 4030, 2492, -5911, 4145, -5911, -5911, + 2190, -5911,119957, 3805, -5911, 2520, -5911, -5911, -5911, 420, + 3866, 1017, 3868, 1017, -5911, -5911, -5911, -5911, 93521, -5911, + 93521, 67001, -5911, -5911, 93521, -5911, 4178, -5911, -5911, 3952, + 3953, 3954, 3955, 3956, 93521, 3486, -5911, 3832, 93521, 93521, + 68531, 1766, -5911, -5911, 68531, 502, -5911, 1308, -5911, 84851, + 3947, -5911, -5911, -5911, -5911, 4191, 4193, -5911, -5911, -5911, + 1610, -5911, 79241, 510, -5911, 68531, 4126, 4129, 4140, 4141, + 391, 4144, 4147, 4148, 4150, 4151, -5911, -5911, -5911, 3845, + 19689, 34935, -5911, 4216,119957, -5911, 8392, -5911, -5911, 34935, + -5911, 34935, -5911, -5911, 4153, -5911, -5911, 3914, 3920, 3861, + 3556, 3690, -5911, 4071, 4077, 34935, 3690, 4338, 1152, 34935, + 34935, 34935, -5911, -5911, 4090, 4101, 34935, 2510, 2510, 34935, + -5911, 3877, 34935, -5911, -5911, -5911, -5911, 2602, 34935, -5911, + 34935, -5911, -5911, 26038, 4399, 4399, 3878,119957, 40743, 40743, + 40743, 40743, 1671, 3057, 40743, 40743, 40743, 40743, 40743, 40743, + 40743, 40743, 40743, 40743, 584, -5911, 4093, 34935, 34935, 34407, + -5911, -5911,119957, 3882, 3571, 3885, 3886, 34935, -5911, -5911, + -5911, 2525, 42307, 3887, 63941, -5911, 34935, 17773, 2537, 3932, + 20059, 1269, 8519, 2731, 34935, 2224, 4510, 34935, 2544, 34935, + -5911, -5911, -5911, -5911, 4240, -5911, -5911, -5911, -5911, -5911, + -5911, 4131, 2510, -5911, -5911, 34935, 3889, 5652, 40743, 40743, + 6145, -5911, 6867, 34935, 29122, -5911, 3635, -5911, 26572, 3888, + 34935,116471, -5911, -5911, 1003, 1003, 1003, 1003, -5911, 93521, + 93521, 93521, 3897, 3890, 3897, 284, 3894, -5911, -5911, -5911, + -5911, 2190, -5911, 3899, -5911, -5911, -5911, -5911, -5911, 34935, + 90461, 90971, 90461, 90461, 3896, 42821, 27087, 2272, 3903, 93521, + -5911, -5911, 3901, 43849, 4203, 4114, -5911, 43849, 4114, 2231, + 4114, 4206, 4011, 50531, -5911, -5911, 3918, -5911, -5911, 4123, + -5911, 2342, 21693, 4388, 4258, -5911, 3919, -5911, 3587, 1763, + -5911, -5911, -5911, 1460, -5911, 4007, -5911, -5911, -5911, 3613, + 36519, 4079, -5911, -5911, -5911, 3979, 2546, -5911, -5911, 4366, + 4079, -5911, 2275, -5911, 2550, 49503, 3670, 34935, 1269, 2552, + 2289, -5911, -5911,116981, -5911, 4001, 2977, 2977, 1544, 3486, + 4289, 1544, 9048, -5911, 1762, 93521, -5911, 93521, -5911, -5911, + -5911, 4423, 3992, 3994, 4219, -5911, 2863, -5911, -5911, 68531, + 93521, -5911, -5911, -5911, 460, 1265, 3158, -5911, 4020, -5911, + -5911, 4263, 93521, -5911, 4419, 4043, 93521, 9112, 4324, 4014, + -5911, -5911, 45391, 93521, 93521, 93521, -5911, 93521, 93521, 1762, + 91991, -5911, 4396, 1762, 4074, 4308, 1705, 3157, 466, 4192, + -5911, 1994, -5911, -5911, 4037, -5911, 93521, -5911, 93521, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 4094, -5911, -5911, -5911, + -5911, 64451, -5911, -5911, 93521, -5911, 63941, 51574, 63941, -5911, + -5911, -5911, 93521, -5911, 1788, 498, 1279, 3158, -5911, 4051, + -5911, 4335, 4052, 4055, 4112, 1352, 283, 4056, 4057, 4116, + 3973, 3974, 3975, -5911, 63941, 52103, 4146, 93521, 2977, 3978, + 4015, 93521, 3736, 92501, -5911, 3980, -5911, -5911, 3736, 236, + 2759, -5911, -5911, -5911, 1377, 2977, 1377, 93521, 93521, 93521, + 93521, 302, -5911, -5911, -5911, 4447, 4078, 93521, 93521, 93521, + 93521, -5911, 4033, -5911, -5911, -5911, 93521, 93521, 4346, 243, + 2321, 68531, 93521, 93521, 68531, 93521, 93521, 93521, 93521, 93521, + 93521, 93521, 4211, -5911, 4442, 4371, 2480, 4410, 4073, 93521, + -5911, 93521, 1377, -5911, 3405, 93521, 93521, 93521, 93521, -5911, + -5911, -5911, -5911, -5911, 3635, -5911, 3996, 4307, 1078, -5911, + 4309, 4310, 4311, 1078, -5911, -5911, 1943, -5911, 533, 93521, + -5911, 2642, 93521, -5911, -5911, -5911, 3919, 2717, 2719, -5911, + -5911, -5911, -5911, -5911, -5911, 3999, 93521, 93521, 40743, -5911, + 2464, 1991, 1611, -5911, 4296, 93521, 3248, -5911, -5911, -5911, + 1137, 93521, -5911, -5911, -5911, -5911, 4004, -5911, 1314, 3789, + -5911, 4330, 76181, 2977, 68531, 68531, 2977, -5911,119957, 4008, + 3499, -5911, 456, 4096, -5911, 68531, 408,115451, 3302, 4050, + 4238, 9242, 43849, 44363, 1747, -5911, 4016, 4012, -5911, -5911, + 93521, 3988, 67001, 2559, 4593, 4513, 1247, 2365, -5911, 77711, + 4223, 3789, 4330, -5911, 3157, 4243, 4246, -5911, 2190, 93521, + 3549, 3499, 1377, 93521, 4014, 51574, -5911, 4555, 2493, -5911, + 116981, 34935, 34935, -5911, 4021, -5911, 4026, 5348, -5911, 4105, + 4025, 4523, 34935, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 4124, 4036, 93521, 93521, 954, 93521, -5911, 4039, 3840, + -5911, 3840, -5911, 93521, -5911, 93521, -5911, 1017, -5911, 4176, + 1017, 93521, 93521, 93521, 93521, 93521, 93521, 3486, 391, 3498, + -5911, -5911, 4392, 67511, 4387, -5911, 63941, -5911, -5911, -5911, + -5911, -5911, 2566, 93521, -5911, -5911, -5911, 4464, 4401, 1017, + 472, 1122, 1122, 1122, 1122, 4356, 1122, 1122, 1122, 1122, + 1122, -5911, 34935, 21693, -5911, 4048, -5911, 21693, 21693, 4436, + 4342, 4347, -5911, -5911, 4059, 4292, 4293, -5911, 4062, 34935, + 3690, 20097, -5911, -5911, 4297, 4300, -5911, 3690, 3690, 20097, + -5911, 20097, 4064, 9641, 20298, -5911, 2570, 34935, -5911, 1835, + 1835, 1835, 3155, 4422, -5911, 3105, 1835, 1835, 1835, 560, + 560, 247, 247, 247, 4399, 584, 20453, 20707, 20877, 4066, + -5911, -5911, -5911, 3571, -5911, 37047, 93, 4543, 41793, -5911, + -5911, -5911, 4115, 4117, 4075, -5911, 34935, 37575, 4067,121941, + 4286, -5911, -5911, 1179, 34935, 34935, 2173, -5911, 10222, 34935, + -5911, -5911, 2173, 477, 34935, 4877, 5259, 34935, 34935, 7106, + 9694, 4080, -5911, 2587, 34935, 10508, 4278, -5911, 93521, 93521, + 93521, 93521, -5911, -5911, -5911, 4258, 2762, 4258, 1377, 4081, + -5911, 4083, -5911, -5911, -5911, -5911, 64961, 4084, 3744, 90461, + 4085, 93521, 2272, 43849, -5911, -5911, 2584, -5911, 43849, 4385, + -5911, 43849, 72611, -5911, 93521, 4089, 93521, -5911, 1933, 34935, + 4127, 54748, -5911, -5911, -5911, -5911, 4182, -5911, 4325, 21693, + 31767, -5911, 2190, 2438, 93521, 1269, 110, -5911, 34935, 4106, + 93521, -5911, 4079, 21693, -5911, 4174, 2589, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 4186, 78221, 4456, -5911, -5911, 1995, + 4428, 205, -5911, 1017, -5911,119957, 93521, 93521, 93521, 3110, + -5911, -5911, 93521, 93521, 93521, 93521, -5911, -5911, 68531, 93521, + -5911, -5911, 93521, 34935, 2593, -5911, 4152, 4559, 436, 2603, + -5911, 2608, 1762, -5911, 2615, -5911, -5911, 93011, -5911, 3988, + 302, 2464, 4443, 4446, 4350, -5911, 391, -5911, 4605, 2464, + 4352, 302, -5911, -5911, -5911, -5911, 2561, -5911,119957, 1017, + 1017, -5911, -5911, -5911, -5911, -5911, 4128, -5911, 4591, 4218, + 93521, 93521, 93521, 93521, 93521, 68531, 93521, 93521, 2893, 2893, + 119957, 4118, -5911, 2893, 2893, 4119, -5911, 68531, 93521, 93521, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 4214, -5911, 34935, 4585, -5911, -5911, -5911, -5911, -5911, + 34935, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 68531, 93521, 4215, -5911, 4220, -5911, 968, -5911, + -5911, 93521, 93521, 93521, 93521, 4505, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 4504, 93521, -5911, + -5911, 1377, 1377,119957, 1017, 1017, -5911, -5911, -5911, 4221, + -5911, -5911, 4134, 4445, 1078, -5911, 1078, 1078, 1078, -5911, + 4142, -5911, 1943, 4544, -5911, 1762, 2073, 4494, -5911, 34935, + -5911, 2126, 3155, -5911, 4556, 4640, -5911, -5911, -5911, -5911, + 3451, 2385, 3451, -5911, -5911, 72611, 438, -5911, 4479, 1012, + 63941, 4379, 76181, 389, 1257, 4154, 4284, -5911, 2977, 2977, + 4212, 93521, 4646, -5911, -5911, -5911, -5911, -5911, -5911, 68531, + 3748, -5911, 4394, 1335, 4515, 93521, 44363, -5911, 3613, -5911, + -5911, -5911, 1377, -5911, -5911, 4291, 3499, -5911, 1433, 93521, + 4389, 76181, 3549, 2639, -5911, -5911, -5911, 4202, 4634, 3513, + -5911, 389, 4223, -5911, -5911, 4611, 4260, 4207, 4660, -5911, + 4260, 4522, 4395, 4169, -5911, 3810, -5911, 93521, -5911, 21693, + 21693, 1377,122437, 344,119957, 4535, -5911, 21693, 93521, 971, + 4170, 4348, -5911, 4497, 1017, 2640, -5911, 1017, 1017, -5911, + 93521, -5911, 3486, 3486, 3486, 3486, 3486, -5911, 4402, -5911, + -5911, -5911, -5911, 4488, -5911, 67511, -5911, 1017, -5911, -5911, + -5911, -5911, -5911, -5911, 1122, -5911, -5911, -5911, -5911, -5911, + 21693, -5911, 93521, -5911, -5911, -5911, -5911, -5911, -5911, 3314, + 4181, 34935, 1808, -5911, -5911, 4183, 4188, 3690, 3690, -5911, + -5911, 34935, -5911, 10924, 40743, 4539, -5911, 34935, 34935, 34935, + -5911, 4179, 2641, 2646, -5911, -5911, 93, -5911, 4543, -5911, + -5911, -5911, 11427, 4247, 21693, 4312, 4190, 1710, 2173, 2173, + 10222, 2173, 34935, 34935, 2173, 2173, 34935, -5911, -5911, -5911, + 11925, -5911, 4669, 3635, -5911, -5911, -5911, -5911, 4127, -5911, + -5911, 4127, -5911, 4344, 34935, -5911, 2648, 4691, 39687, 4652, + -5911, 93521, 2652, -5911, 34935, 4204, -5911, -5911, 43849, 2584, + 4208, 2658, 93521, 2662,119957, 38103, 21693, 93521, 3635, 4209, + -5911, 93521, 3074, -5911, 84, -5911, -5911, 4650, 45391, 4608, + 21115, 34935, -5911, -5911, -5911, -5911, 67511, 4437, 67511, 1762, + -5911, -5911, -5911, -5911, -5911, -5911, 4213, -5911, -5911, -5911, + -5911, 4303, -5911, -5911, 50, 3506, 1762, -5911, 12062, 4548, + 45391, 55806, 93521, -5911, 93521, -5911, 4386, 4548, 4548, -5911, + -5911, -5911, -5911, 4713, 4595, 4596, -5911, -5911, 4224, -5911, + -5911, -5911, 4442, -5911, -5911, 51574, 68531, 93521, -5911, 4313, + -5911, -5911, -5911, -5911, -5911, -5911, 47447, 54748, -5911, 1352, + 4225, 4228, 283, -5911, -5911, -5911, 93521, 12165, 4229, 12884, + 1295, 3506, 93521, 93521, 4231, 4232, 4233, 1863, 1533, 2097, + 3486, 4583, 93521, -5911, -5911, -5911, 4442, -5911, -5911, 93521, + -5911, 1078, -5911, -5911, -5911, -5911, 63941, -5911, 2104, 4142, + 1377, 72611, 4718, 4718, 13769, 4463, -5911, -5911, 165, 4298, + 4507, 4298, 4235, 93521, 1137, 4239, 2663, -5911, 93521, 4241, + 4375, 1474, 1474, 93521, 93521, 93521, 2667, 2190, 2977, 4015, + 408, 4617, 76181, 4663, 3988, 455, -5911, 93521, 4739, 93521, + 3549, 3789, 93521, 4248, -5911, -5911, 77711, 4468, 2310, 93521, + 2626, 4223, 3513, 1500, 93521, -5911, 1199, -5911, 2190, -5911, + 93521, 84851, 45391, 4606, -5911,121445, -5911, 2672, -5911, -5911, + -5911, 4328, 22297, 3385, 4372, 4376, 4254, 2311, 4619, 93521, + 133, -5911, -5911, -5911, -5911, -5911, -5911, 93521, 510, -5911, + -5911, -5911, -5911, 4255, -5911, 4755, 34935, 338, -5911, -5911, + -5911, -5911, -5911, 4486, -5911, 4261, -5911, -5911, 2761, 1808, + 21569, -5911, 3879, 40743, 21693, 21693, 21693, 34935, -5911, 34935, + -5911, -5911, -5911, -5911, 948, -5911, -5911, 4597, 4264, 2173, + 2173, 2173, -5911, 34935, 976, -5911, -5911, 426, 4689, 21618, + 3639, 64961, 4270, -5911, 40743, 2674, -5911, 611, 93521, 2678, + -5911, 21693, 93521, -5911, -5911, 34935, -5911, 2687, -5911, 4272, + 744, 4274, 24970, 4271, -5911, -5911, -5911, -5911, -5911, 21693, + 4277, -5911, 4771, 1829, -5911, -5911, 4339, 93521, 2688, -5911, + 1333, 2271, 1200, -5911, 4781, 4781, 21693, 1766, 1544, 483, + -5911, 93521, 4381, -5911, 4559, 4288, 3451, -5911, 4290, -5911, + -5911, 2093, 3157, 93521, 3451, 3451, 2310, 4624, -5911, -5911, + 34935, 4351, -5911, 1418, 3506, 93521,119957, -5911, 170, 4648, + -5911,119957,119957, -5911, -5911, -5911, 34935, -5911, 4391, -5911, + -5911, -5911, 34935, 34935, 75161, -5911, -5911, 93521, 93521, 93521, + 93521, 93521, -5911, 1017, -5911, -5911, 2693, -5911, 46419, -5911, + -5911, 3404, 1377, 3404, 2045, -5911, -5911, 3404, 3404, -5911, + 3385, -5911, 4718, 403, -5911, -5911, 4536, 4299, 34935, 4623, + -5911, 1311, 4525, -5911, 4302, -5911, 72611, 4826, -5911, 63941, + 3789, 4330, 93521, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2694, 3988, 4670, 3499, 4207, + -5911, 93521, 4343, -5911, 43849, 3988, 2190, 2365, -5911, 4223, + 3789, 4330, -5911, -5911, 4314, 4246, 3513, 2626, 4455, -5911, + 4457, -5911, 4770, 4534, 4777, 3549, -5911, 4014, 2698, 93521, + -5911, -5911, 5348,122437,119957, -5911, -5911, -5911, 4316, 4714, + 4364, 4367, -5911, -5911, -5911, 2311, -5911, 114, 4715, 4373, + -5911, 4383, 93521, -5911, -5911, 3988, 1017, 34935, 63941, 21693, + -5911, -5911, 4712, -5911, 500, 270, 1256, 4560, 4329, 34935, + 3879, 2700, 2702, 4393, -5911, -5911, -5911, 3571, 38631, 38631, + 38631, 4333, 4696, 4705, 93521, -5911, 93521, 4541, -5911, -5911, + 93521, 3155, 4340, 39687, 63941, 2704, -5911,118965, -5911, 2709, + 2724, -5911, 34935, 4345, 34935, -5911, 38103, 93521, 4349, 3456, + 2190, -5911, 3385, 45391, -5911, 4474, -5911, 4614, -5911, -5911, + 34935, 4434, 4438, -5911, 4707, -5911, -5911, 93521, -5911, 93521, + 4298, 54748, 3587, 2093, 2385, 4298, 4298, 4299, 14677, 34935, + -5911, 4450, -5911, -5911, 2732, 175, 4533, 4533, 2733, 2734, + 15235, 93521, 2739, 2744, -5911, 2746, 2893, 3505, 2097, 3505, + -5911, 3486, -5911, -5911, 63941, -5911, -5911, 68021, -5911, -5911, + -5911, 1377, -5911, 1377, 4594, 57336, 57846, 1377, 1377, -5911, + -5911, -5911, -5911, 4687, -5911, 4593, -5911, 15319, 4460, -5911, + -5911, -5911, 765, -5911, 4589, 4590, -5911, 4368, -5911, 2752, + -5911, 389, 4502, 3988, -5911, -5911, 93521, 4865, 4868, -5911, + 1374, 93521, 3613, -5911, 4207, 3549, 3513, 389, 4223, 2310, + 45905, 4260, 2626, 4246, -5911, -5911, 4598, -5911, 4599, -5911, + 4378, 4711, -5911, 2197, 344, -5911, -5911, -5911, 414, 4738, + 4741, -5911, -5911, -5911, 3404, -5911, 1841, 4390, 4762, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 4427, 291, 350, -5911, + 4430, -5911, 4573, 4574, 1808, 2624, -5911, 21693, -5911, -5911, + -5911, 40215, 4547, 268, 17949, 4778, -5911, 4778, 4778, -5911, + 4873, 4874, 1427, -5911, 4853, 2753, 41793, -5911, -5911, -5911, + 93521, 4621, 1420, 4899, 4571, 2758, 38103, 2763, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 49503, 4880, 21693, 981, 1660, + 67511, 3506, 2764, 3736, 4406, -5911, 3587, 4507, -5911, -5911, + -5911, -5911, 21693, 93521, 72611, 4882, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 3506, 4503, -5911, -5911, 75161, -5911, 93521, + -5911, -5911, 2765, -5911, -5911, -5911, 58356, -5911, 4170, -5911, + 4170, -5911, -5911, -5911, 2441, 4521, 93521, 1144, 1144, 4825, + -5911, 4482, -5911, 4418, -5911, 4949, 4558, 93521, -5911, -5911, + 1352, 2190, 76181, 3988, -5911, -5911, 2626, 4223, 3513, 34935, + 2769, -5911, 4559, 436, -5911, 4246, 4260, -5911, -5911, 45391, + 4421, 3248, 4816, -5911, -5911, -5911, 2568, 72611, 72611, 93521, + -5911, -5911, -5911, 34935, 1137, -5911, 4465, -5911, 4466, -5911, + -5911, 4653, 4654, 4429, 1808, -5911, 4930, -5911, -5911, -5911, + -5911, -5911, 1283, -5911, -5911, -5911, 93521, 93521, 93521, 4433, + -5911, 3744, -5911, -5911, 40743, 40743, 4671, -5911, 40743, 1420, + -5911, 93521, -5911, 4439, -5911, -5911, 2770, -5911, 1679, 1719, + -5911, 4676, 4569, -5911, -5911, 4678, 802, -5911, 483, -5911, + -5911, -5911, -5911, -5911, 4525, 1762, 1762, 3506, -5911, 93521, + -5911, 4440, -5911, -5911, -5911, 68021, -5911, 4170, -5911, -5911, + -5911, -5911, 4950, -5911, 313, -5911, -5911, -5911, -5911, 93521, + 3988, 4118, 4207, -5911, 4246, 3513, 2626, 15398, -5911, 45905, + 93521, 93521, 4260, -5911, 2775, 45391, 3499, 4602, -5911, 1908, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 450, 4444, 4452, + -5911, -5911, 15995, 72611, -5911, -5911, 4592, 4600, -5911, 4668, + 39159, 4609, -5911, 4661, -5911, 1447, 1458, 1934,115961, 4910, + 3155, 3155, -5911, 3155, -5911, -5911, 34935, -5911, -5911, -5911, + -5911, -5911, 49503, -5911, 4516, 84, 4461, 93521, -5911, -5911, + 1762, -5911, -5911, -5911, 34935, -5911, -5911, 2385, 2385, 3988, + -5911, -5911, 4260, 2626, 4246, 4559, -5911, -5911, -5911, -5911, + 4711, -5911, 2776, 4260, 4373, 2738, -5911, -5911, 2757, 2813, + 4550, 4803, -5911, 4467, 4575, 4577, 4854, -5911, -5911, -5911, + 93521, 93521, 65471, 93521, 388, 2788, -5911,119461, 93521, 16662, + 4470, -5911, 4528, 34935, 2798, 1762, 2800, -5911, -5911, -5911, + -5911, 4246, 4260, 93521, 3248, -5911, 45391, 3385, 4849, -5911, + 1908, 4601, 4604, 63431, -5911, -5911, -5911, -5911, -5911, 2279, + 366, 4890, -5911, -5911, 1377, 1808,115961, 4697, 862, 2804, + -5911, 4538, 2818, 135, -5911, 4260, -5911, -5911, 3499, -5911, + -5911, 1137, -5911, 4529, 4531, -5911, 2819, -5911, -5911, -5911, + -5911, 34935, 65471, 2459, 4477, -5911, -5911, 4686, 1377, 2761, + 4686, -5911, -5911, -5911, 84, -5911, -5911, 4260, 72611, 4843, + 4844, -5911, 63431, 928, 4553, 93521, 4493, -5911, 1808, -5911, + 1256, 2761, 4551, 3385, 4496, 72611, 72611, -5911, 4509, 93521, + 4960,115961, -5911, 1808, 1256, 4538, -5911, 63431, -5911, -5911, + 2762, -5911, 4512, 2820, -5911, 1808, -5911, 2826,115961, -5911, + -5911, -5911, 2830, -5911 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -5456, -5456, -5456, 3930, -569, -1721, -5055, -1119, 6184, -5456, - -5456, -950, -685, 3165, -1745, -5456, -5456, -5456, 1376, -5456, - -5456, -5456, -5456, 3892, -5456, -2899, -5456, -5456, 177, 3850, - -1366, 131, 3470, 1475, -5456, -993, -5456, -5456, -630, 1, - -5456, 3857, 505, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - -5456, -855, 1930, -5456, 2023, 1273, -3211, -5456, -5456, -1505, - -3726, -5456, 540, -5456, 568, -4805, -1052, -5456, -5456, -5456, - 1918, -5456, -5456, -5456, 1869, 1068, -463, -5456, -5456, -5456, - -5456, -5456, -5456, -889, -5456, -5456, -1160, 8, -649, -2933, - -4300, -5456, -5456, 392, -502, -1480, -5456, 590, -5456, 592, - -5456, -4846, -5456, -98, -2660, -2472, -5456, -5456, -5456, -472, - -1451, 1375, -5456, -738, -1133, 1745, -2344, -1007, -5456, -350, - -3557, -1131, -900, -898, -1041, -4338, -4860, -5456, -5456, -1161, - -3768, -5142, -5385, -4874, -5084, 1382, -5456, -131, 396, -5456, - 9, -3645, -3728, 10, 371, -5456, 11, 13, -5456, 388, - -832, -963, -1579, -5456, -823, -5456, -5456, -5456, -3432, -5456, - -5456, -5456, 167, -5456, -5456, -5456, -5456, 432, -5456, -5456, - -5456, -5456, -5456, -5456, -3110, 1892, 1893, -5456, -4329, -5456, - -927, -5456, 595, -3474, 1305, -5456, -5456, 1064, 3915, 412, - -5456, -5456, -5456, -5456, -5456, -5456, -1783, -5456, -5456, -5456, - -5456, -108, -449, -5456, -5456, -5456, -5456, -5456, -5456, -5456, - 14, -5456, 1029, 354, -5456, -5456, -741, -5456, -5456, -5456, - -5456, -5456, -5456, -1208, -5155, -1311, -1292, -5456, -3475, -5456, - -5456, -5456, -423, -5456, -5456, -5456, -5456, -5456, -699, -5456, - 1127, -4141, -5456, -5456, 397, -5456, -5456, -5456, -5456, -5456, - -1014, -359, 3089, -5456, -599, -807, -5456, -5456, -5456, -358, - -5456, -5456, -5456, -5456, -5456, -505, -1239, 4915, 4292, -1100, - 9317, -830, -564, -5456, -5456, -5456, -2756, -5456, -5456, -4253, - -5456, 4906, 2546, 1477, 17, -5456, -2, 82, 3728, -5456, - 995, -1153, -3091, 357, -560, -5456, -5456, -5456, 355, -5456, - -1951, -5456, -5456, -5456, -5456, -4089, 18, -5456, -4365, -5181, - -4600, -4104, -1171, -5456, -4378, -5113, -4058, -5456, 1925, -5456, - -5456, -562, -184, 3063, -5456, -1465, 2263, -1421, -5456, -2478, - 425, 1474, 3077, -3276, -93, 3067, -2988, -5456, -732, 1069, - -5456, -443, -3758, -5456, -5456, -5456, -2754, -683, -5456, -5456, - 1624, 766, -5456, -5456, -5456, -5456, -635, 3040, -191, -5456, - -5456, 4270, -5456, -4951, -5456, 4243, -5456, -5456, -5456, -5456, - -5456, -5456, -5456, -5456, -5456, -1473, 1237, -5456, -828, -5456, - -5456, 2030, 634, -5456, -5456, -5456, -5456, 1322, -509, -5456, - -5456, -5456, -5456, -5456, -5456, -5456, -992, -1185, -5456, -5456, - -4492, -5456, -5456, -5456, -5456, -5456, 2317, -945, -737, 4153, - -230, 19, -5314, -5456, -5456, -1178, -5456, 3488, -5456, -5456, - -5456, -5456, -5456, 415, 418, -5456, -5456, -5456, -5456, -3906, - -5456, -5456, -5027, -5456, -5456, 2009, -5456, -5456, 966, 6, - 3186, -5456, -5456, -5456, -26, -5456, -5456, -1008, 2359, -5456, - -2387, -5456, -591, -5456, -5456, -1905, 21, -4347, -5456, 12, - -5456, -5456, -5044, -1190, 226, -5456, -5456, -3976, 15, -5456, - -5456, -5456, -5456, -5053, -5456, 16, -4744, 776, -3322, -5456, - 2, -5456, -500, -884, -5456, -5456, -5456, -3866, 23, 33, - -5456, -5456, 4, 334, -49, -46, -23, 5, 139, 3597, - -5456, -5456, -5456, -4325, 3641, -5456, -9, -857, 4959, 4961, - -5456, -886, -146, 377, 1579, -707, -2586, 3548, 3565, -5456, - 1565, 2378, -2457, -2453, -5456, -1251, -859, -690, -5456, -5456, - -5456, -5456, -1813, -691, -2594, -5456, 3567, -5456, -5456, -5456, - -2358, -3360, -3262, 1610, -3274, -3197, -5456, 860, 847, -1215, - -182, 49, -1482, -781, 1529, -5456, -5456, 1616, -434, -5456, - -5456, -430, -3281, 808, -5456, -4576, -2798, 1625, -1113, -835, - -5456, -967, -5456, -657, 3667, 3623, -816, -5456, -5456, -789, - 12773, -5456, -5456, -5456, 12919, 13933, -5456, -5456, 14697, 14950, - -5456, -579, 15425, 12713, -787, -1925, 614, 17470, -1748, 2328, - 94, -5456, -2966, -2295, -5456, -5456, -5456, -393, 963, 699, - -5456, -5456, -4587, -4424, -5456, 2509, -2335, -5456, -661, 1698, - -660, -5456, -5456, -5456, -2702, -5455, -2846, 2515, -5456, -5456, - -5456, -176, -5456, 17280, -3242, -5456, -826, -1013, -1596, 3000, - -3089, -1911, -5456, -5456, -5456, -3094, -5456, -5456, -5456, -2791, - 1723, -5456, -5456, 1845, -5456, -5456, -5456, -953, 2083, -758, - -1172, 1729, -1906, -3031, -5456, -1926, 1740, -2182, -5456, -1914, - 1816, 1045, -5456, -1615, -5456, 4174, -788, 2528, -783, 16521, - -689, 10673, -1276, -5456, 261, -5001, 1665, 7219, 24, -128, - 680, -276, 2443, 3011, -5456, -5456, 5100, 6943, -578, -969, - -5456, -6, 13850, 11185, -3663, -5456 + -5911, -5911, -5911, 4103, -464, -1749, -5179, -1132, 1958, -5911, + -5911, -982, 645, 3335, -1203, -5911, -5911, -5911, 1591, -5911, + -5911, -5911, -5911, 4087, -5911, -2945, -5911, -5911, 223, 4034, + -1388, 171, 3644, 1614, -5911, -1016, -5911, -5911, -623, 1, + -5911, 4042, 627, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -801, 2079, -5911, 2174, 1407, -3392, -5911, -5911, -1535, + -3795, -5911, 655, -5911, 682, -4107, -5911, -4874, -1013, -5911, + -5911, -5911, 2064, -5911, -5911, -5911, 2009, 1196, -371, -5911, + -5911, -5911, -5911, -5911, -5911, -835, -5911, -5911, -1145, 2, + -653, -2990, -4401, -5911, -5911, 503, -414, -1492, -5911, 695, + -5911, 697, -5911, -4902, -5911, -4, -2779, -2631, -5911, -5911, + -5911, -383, -1513, 1440, -5911, 1503, -5911, -742, -1182, 1884, + -2178, -973, -5911, -275, -3624, -1116, -844, -842, -1005, -4426, + -4954, -5911, -5911, -1144, -3834, -5260, -5502, -4926, -5159, 1449, + -5911, -29, 505, -5911, 3, -3703, -3803, 4, 480, -5911, + 6, 7, -5911, 497, -775, -977, -1609, -5911, -633, -5911, + -5911, -5911, -3486, -5911, -5911, -5911, 187, -5911, -5911, -5911, + -5911, 542, -5911, -5911, -5911, -5911, -5911, -5911, -2467, 2036, + 2037, -5911, -4434, -5911, -943, -5911, 708, -3539, 1435, -5911, + -5911, 1191, 4107, 526, -5911, -5911, -5911, -5911, -5911, -5911, + -1803, -5911, -5911, -5911, -5911, -3, -353, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 8, -5911, 1156, 468, -5911, -5911, + -661, -5911, -5911, -5911, -5911, -5911, -5911, -1198, -5255, -1330, + -1296, -5911, -3518, -5911, -5911, -5911, -324, -5911, -5911, -5911, + -5911, -5911, -839, -5911, 1258, -4212, -5911, -5911, 514, -5911, + -5911, -5911, -5911, -5911, -971, -257, 3284, -5911, -513, -740, + -5911, -5911, -5911, -254, -5911, -5911, -5911, -5911, -5911, -520, + -1288, 5131, 4487, -1120, 16340, -840, -588, -5911, -5911, -5911, + -2765, -5911, -5911, -4184, -5911, 5122, 2767, 575, 11, -5911, + 42, 112, 3922, -5911, 1124, -1169, -3157, 474, -468, -5911, + -5911, -5911, 476, -5911, -1964, -5911, -5911, -5911, -5911, -4170, + 12, -5911, -4445, -5264, -4682, -4216, -1157, -5911, -5697, -4543, + -4163, -5911, 2078, -5911, -5911, -478, -192, 3251, -5911, -1490, + 2424, -1435, -5911, -2570, 537, 1615, 3288, -3311, -104, 3241, + -3039, -5911, -673, 1201, -5911, -339, -3821, -5911, -5911, -5911, + -2816, -597, -5911, -5911, 1817, -1094, -5911, -5911, -5911, -5911, + -665, 3224, -184, -5911, -5911, 4462, -5911, -5021, -5911, 4431, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -1486, + 1368, -5911, -769, -5911, -5911, 2180, 748, -5911, -5911, -5911, + -5911, 1455, -373, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -952, -1185, -5911, -5911, -4662, -5911, -5911, -5911, -5911, -5911, + 2547, -960, -744, 4332, 1157, 13, -5422, -5911, -5911, -1151, + -5911, 3658, -5911, -5911, -5911, -5911, -5911, 529, 532, -5911, + -5911, -5911, -5911, -5286, -5911, -5911, -5082, -5911, -5911, 2162, + -5911, -5911, 1423, 5, 3393, -5911, -5911, -5911, -15, -5911, + -5911, -1029, 2511, -5911, -2414, -5911, -604, -5911, -5911, -1919, + 15, -4433, -5911, 58, -5911, -5911, -5142, -1101, 326, -5911, + -5911, -4157, 61, -5911, -5911, -5911, -5911, -5084, -5911, 72, + -4966, 892, -3387, -5911, 10, -5911, -421, -5911, -5911, -423, + -5911, -5911, -5911, -4104, 16, 31, -5911, -5911, 74, 2163, + -47, -36, -32, 21, 176, 3780, -5911, -5911, -5911, -4485, + 3856, -5911, 49, -871, 5168, 5169, -5911, -898, -136, 482, + 1717, -694, -2638, 3729, 3738, -5911, 1704, 2524, -2480, -2479, + -5911, -851, -817, -625, -5911, -5911, -5911, -5911, -1451, -687, + -2642, -5911, 3756, -5911, -5911, -5911, -2383, -3418, -3234, 1744, + -3337, -3171, -5911, 983, 977, -878, -72, 101, -1499, -789, + 1890, -5911, -5911, 1770, -335, -5911, -5911, -333, -3331, 942, + -5911, -4653, -2864, 1775, -1097, -778, -5911, -926, -5911, -579, + 1780, -5911, -4307, -1130, -5911, -3691, 576, 3844, -831, -5911, + -5911, -812, 9265, -5911, -5911, -5911, 11105, 11338, -5911, -5911, + 11988, 12269, -5911, -559, 12497, 8476, -793, -1956, 245, 12981, + 17180, -1806, -677, 317, -5911, -2920, -2369, -5911, -5911, -5911, + -300, 1092, 1055, -5911, -5911, -4688, -4489, -5911, 2671, -2150, + -5911, -587, 1846, -585, -5911, -5911, -5911, -2604, -4938, -2695, + 2675, -5911, -5911, -5911, -187, -5911, 18169, -3279, -5911, -551, + -1018, -1607, 3182, -3034, -1950, -5911, -5911, -5911, -3142, -5911, + -5911, -5911, -440, 1874, -5911, -5911, 1997, -5911, -5911, -5911, + -975, 2242, -768, -1183, 1879, -4551, -5911, -522, -4276, -5068, + -5911, -5709, -5891, -1890, -1108, -3056, -5910, -1951, 1896, -3193, + -5911, -1947, 1978, 1187, -5911, -2346, -5911, 4370, -787, 2690, + -803, 16194, -671, 10668, -1303, -5911, 235, -4225, 3541, 7082, + 29, -120, 9781, -621, 2607, 3306, -5911, -5911, -6, 9253, + -628, -874, -5911, 5256, 15755, 16120, -3738, -5911 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -2896 +#define YYTABLE_NINF -3001 static const yytype_int16 yytable[] = { - 632, 71, 184, 1702, 186, 191, 175, 904, 80, 83, - 84, 85, 180, 86, 106, 181, 183, 124, 129, 159, - 973, 178, 938, 185, 1393, 1629, 191, 746, 1080, 1347, - 979, 1461, 1799, 984, 808, 974, 844, 1359, 1206, 1207, - 1208, 637, 1916, 915, 1212, 892, 773, 1172, 688, 1788, - 2892, 2719, 773, 2683, 1447, 1682, 1449, 1412, 3510, 2814, - 3186, 1432, 1634, 1388, 1026, 1118, 3450, 1793, 2785, 1694, - 1970, 3844, 1212, 1403, 1404, 3451, 2777, 3813, 2018, 4134, - 2797, 4136, 1411, 1859, 2010, 1387, 3048, 3896, 982, 1418, - 1375, 1179, 4198, 840, 3972, 3177, 4350, 2786, 4278, 1480, - 628, 2960, 1004, 2002, 926, 780, 4524, 2004, 3202, 3236, - 2005, 2006, 2853, 2853, 4257, 1832, 2853, 1120, 809, 1837, - 2683, 4498, 3240, 3835, 1841, 4302, 1571, 4304, 3232, 4758, - 4797, 3728, 1575, 1628, 1851, 4511, 4447, 4174, 4549, 1047, - 4212, 4792, 1660, 4157, 3287, 917, 3289, 5189, 1871, 909, - 1180, 1593, 1687, 3696, 1151, 2615, 1610, 1155, 3115, 2922, - 2923, 3067, 5057, 5036, 1026, 2768, 803, 1163, 918, 232, - 5488, 4859, 4997, 837, 5201, 5028, 5203, 5046, 3360, 1905, - 5387, 5507, 1543, 3362, 4187, 2918, 5380, 5585, 3442, 855, - 3372, 632, 5348, 1367, 3445, 5376, 4218, 4006, 4211, 5237, - 632, 949, 1801, 5515, 3476, 3478, 1538, 1454, 632, 5637, - 949, 632, 2949, 4172, 5045, 4177, 4508, 1026, 829, 3772, - 4101, 3775, 3776, 1457, 949, 2768, 3780, 3781, 3782, -2489, - 3784, 3785, 3786, 4773, 694, 755, 5624, 3421, 4008, 5810, - 5379, -2531, 2768, -2556, -2380, 1120, 5538, 1538, -2594, 5146, - -2380, 694, 1538, -2380, -2380, 5582, -2381, -2413, 647, 924, - 755, 2574, -2381, 1502, 3832, -2381, -2381, 629, 755, 3862, - 1026, 1387, -2340, 694, 997, 2748, 2074, -2769, -2340, 5548, - 5549, 1400, 1401, -2769, 2713, 3182, -2769, -2769, 1187, 4037, - 1898, 1410, 4534, 1867, 5798, 4018, -1939, 3255, 5234, -1906, - 3045, 1009, -1939, 2714, 1377, -1906, -1919, -2493, 6174, -1944, - 2580, -1934, -1919, 4090, 694, -1944, 2703, -1934, 755, -1947, - 2069, 1824, 694, 3415, 1484, -1947, 694, 3297, 2537, 1994, - 1026, -1947, 2537, 3297, 187, 1898, 5735, -1947, 1191, 3212, - 2929, 3990, 694, 2582, 2788, 1510, 5992, 2713, 3213, 1363, - 4591, 1951, 5105, 5106, 5107, 187, 5109, 5110, 5111, 5112, - 5113, 3144, 2715, 2727, 2620, 919, 2853, 2551, 2788, 1572, - 694, 2788, 4872, 1572, 3753, 755, 2552, 1503, -150, 755, - 5574, 1844, 2716, 1829, -150, 3167, 3960, 5058, -2336, 2534, - 903, 5975, 1898, 1898, 5721, 1898, 1238, 1868, 3480, 694, - 5217, 4926, 5670, 1010, -2554, 761, 5627, 5964, 3009, 5709, - 5675, 3392, 5631, 1485, 5516, -1760, 1052, 761, 1898, 761, - 5632, 5628, 4987, 5977, 761, 2715, 2788, 5956, 3272, 762, - 1694, 1107, 1846, 761, 1793, 2626, 3447, 2916, 4258, 2838, - 2937, 762, 1153, 762, 1898, 2716, 3014, 1120, 762, 3642, - 645, 5341, 3214, 3163, 920, 1210, 1166, 762, 927, 1511, - 1011, 1881, 1788, 3178, 5993, 4759, 1486, 939, 1849, 2560, - 5732, 761, 2901, 4977, 4063, 939, 4065, 4066, 939, 1403, - 1404, 3393, 2622, 761, 5812, 2553, 2788, 974, 4592, 5944, - 644, 3046, 2788, 4873, 40, 762, 2074, 2065, 6175, 921, - 4978, 2902, 4009, 4370, 1411, 5260, 2788, 762, 1176, 4037, - 2788, 4435, 2561, 1898, 3168, 3651, 6091, 1418, 1012, 5625, - 2074, 3974, 2575, 783, 2728, 916, 3643, 6092, 3215, -2200, - 2580, 44, 5007, 1074, 1898, 4760, -2200, 974, 4377, 1084, - 2717, 3339, 2618, 919, 3448, 1211, 847, 3164, 3340, 1504, - 2556, 1098, 194, 1914, 2580, 2569, 2569, 1378, 2725, 4019, - 4495, -2219, 5676, 2582, 4037, 4091, 2066, 3015, -2219, 5342, - 6052, 5613, 1487, 48, 3273, 2934, 2596, 5710, 4988, 5978, - 2839, 2938, 1242, 1899, 868, 4927, 49, 2582, 1505, -1760, - 1793, 5965, 1954, 5677, 5633, 2540, 195, 1426, 3216, 5244, - 4874, 3217, 3160, 2717, 1017, 3010, 3160, 5629, 1018, 5887, - 50, 3481, 2554, 2015, 3482, 5671, 2729, 3160, 5218, 6132, - 5769, 3160, 3961, 1506, 4593, 5994, 5469, 5008, 1899, 56, - 5995, 3145, 920, 1379, 2702, 5884, 949, 1106, 2798, -441, - 5889, 5890, 2669, 2617, 5576, 1235, 6176, 4092, 1995, 4447, - 1057, 1241, 1058, 191, 3002, 949, 2718, -2554, 5927, 6110, - 1054, 949, 2753, 1055, 1056, 1120, 3204, 3047, 2815, 5955, - 4544, 4427, 4428, 949, 2887, 4894, 4535, 2890, 1400, 1401, - 2895, 1582, 2958, 2959, 1995, 1899, 1899, 2535, 1899, 949, - 922, 2948, 1507, 904, 632, 3298, 2755, 1693, 4258, 892, - 1107, 4110, 6177, 632, 949, 1512, 2762, 2593, 2897, 1410, - 632, 1899, 949, 632, 3218, 3551, 5009, 648, 3627, 2718, - 1183, 5910, 1830, 5434, 2831, 892, 949, 6153, 6109, 3169, - 3754, 1017, 4093, -2554, 4010, 1018, 949, 1899, 3389, 1211, - 2549, 1492, 3415, 1493, 1900, -2554, 191, -2489, 2957, 2930, - 3170, 2832, 1398, -2380, 2660, 767, 768, 5006, 5805, -2531, - 3365, -2556, 4802, 767, 768, -2381, -2594, 6180, 1830, 1513, - 2661, 1462, 1112, 2917, 2522, -2413, 5808, 3198, 6054, 1017, - 1184, -2340, 1189, 1018, 1193, 1108, -2769, 4052, 4901, 949, - 1197, 4020, 1120, 2877, 4905, 5053, 2880, 2881, 5054, 2876, - 1120, 1120, 5223, 1200, 6044, -1939, 1899, 2772, 1402, 1413, - 1414, 632, 632, 767, 768, 1406, 2965, 949, -1944, 6073, - -1934, 1413, 1414, 2070, 689, -2493, 3219, 1899, 1415, 2598, - 2599, 2538, 3803, 4408, 4280, 6196, 3133, 1214, 6017, 4371, - 1417, 6093, 949, 3117, 632, 1602, 1907, 1911, 1815, 1922, - 1830, 6021, 1811, 4819, 2621, 5418, 1816, 4864, 1817, 917, - 2772, 3001, 1017, 974, 1211, 4447, 1018, 892, 922, 1603, - 1573, 1574, 1944, 1924, 1573, 1574, 3143, 2772, 4174, -150, - -150, 5010, 918, 1249, 848, 4214, 4037, 947, 3158, 632, - -2896, -2896, -2896, 1214, 2726, -2200, 983, 2816, 1947, 2859, - 5717, 4738, 949, 4496, 6112, 4742, 3161, 3341, 71, 184, - 1005, 186, 191, 175, 4496, 80, 83, 84, 85, 180, - 86, 106, 181, 183, 124, 129, 159, -2219, 178, 4508, - 185, 5245, 1495, 4638, 1991, 4489, 5954, 1806, 1914, 4365, - 4366, 1109, 4589, 3804, 4367, 2001, 4782, 5948, 4281, 2910, - 2911, 2840, 5011, 1914, 4729, 2935, 4731, 4586, 4969, 2799, - 936, 927, 2011, 2815, 4965, 6100, 5577, 1914, 1848, 6152, - 939, 1466, 4622, 2800, 3442, 2801, 4545, 939, 1110, 4192, - 939, 4463, 187, 5928, 2936, 5936, 1517, 4141, 4586, 2979, - 1394, 2519, 2520, 2521, 2522, 6115, 6116, 4220, 1362, 4221, - 4968, 5947, 1372, 3416, 4049, 4050, 4051, 4052, 3324, 2747, - 632, 632, 1789, 2517, 2518, 2519, 2520, 2521, 2522, 949, - 5302, 4422, 3235, 1891, 632, 1070, 1134, 2991, 4018, 892, - 632, 6205, 912, 5612, 632, 4008, 632, 1892, 2802, 1111, - 892, 1112, 4253, 1249, 5303, 1113, 4037, 3962, 3619, 1239, - 4038, 4039, 4040, 694, 3522, 694, 892, 4047, 4048, 4049, - 4050, 4051, 4052, 2817, 1249, 2622, 2721, 4037, 1671, 5618, - -1759, 4038, 4039, 4040, 1672, 187, 903, 4487, 2815, 4550, - 1469, 3791, 6053, 1202, 2909, 3497, 2856, 6045, 3900, 2860, - 2050, 4690, 2818, 1893, 2722, 694, 4892, 6224, 5402, 6182, - 632, 3023, 632, 632, 1594, 4215, 6105, 3415, 1560, 5858, - 3415, 3609, 1666, 1793, 3395, 690, 694, 2819, 1863, 4877, - 3667, 2815, 4354, 2815, 803, 1652, 3295, 5077, 4797, 1510, - 1249, 6200, 5521, 4037, 6005, 5022, 6168, 4038, 4039, 4040, - 3061, 3805, 5831, 949, 910, 3542, 3712, 2633, 3424, 3325, - 3019, 4193, 3713, 4328, 3326, 1667, 5970, 3415, 2813, 3454, - 5689, 1864, 5711, 4282, 4283, 3415, 3020, 3610, 4551, 912, - 694, 632, 4043, 3498, 1422, 691, 6031, 3901, 6117, 787, - 6232, 4761, 1673, 3024, 3078, 3345, 3050, 5712, 191, 5971, - 5832, 3199, 2816, 3201, 4284, 1894, 6211, 4995, 3327, 3208, - 3667, 957, 3155, 3156, 949, 3223, 3224, 3079, 958, 959, - 960, 3241, 911, 892, 692, 949, 693, 1026, 1595, 1956, - 3260, 1958, 2815, 1960, 4982, 1962, 3275, 1964, 1965, 1966, - 1426, 3806, 949, 4041, 1968, 3543, 6151, 949, 3425, 916, - 4878, 187, 4599, 1511, -1759, 6176, 1422, 6158, 2964, 632, - 1423, 4477, 5791, 2634, 3509, 2723, 4042, 3119, 2815, 1895, - 3714, 3475, 1830, 937, 1205, 3620, 1203, 4329, 4798, 5804, - 1849, 5819, 6106, 3611, 904, 5378, 5794, 4042, 3552, 6181, - 2992, 1890, 5807, 3963, 632, 5802, 3142, 4033, 1470, 5790, - 3147, 927, 4019, 3792, 4464, 3154, 912, 939, 3157, 4009, - 3833, 939, 3570, 939, 5366, 2066, 6203, 2816, 5372, 5397, - 6075, 4254, 2889, 632, 632, 632, 5304, 632, 5229, 5806, - 1424, 4444, 1423, 1425, 695, 4194, 2815, 2815, 1071, 1135, - 6215, 3346, 4043, 4552, 3768, 5840, 5102, 632, 1668, 3018, - 3401, 1075, 3092, 4042, 1865, 3659, 3328, 1075, 3094, 3455, - 2816, 5403, 2816, 4043, 1674, 4762, 3628, 1896, 2817, 1075, - 2815, 2815, 3126, 3107, 949, 2578, 3109, 1883, 3763, 1885, - 1886, 3080, 949, 949, 3113, 3523, -2896, -2896, -2896, 4047, - 4048, 4049, 4050, 4051, 4052, 3756, 4448, 2818, 4983, 6032, - 1596, 6076, 1424, 1675, 4996, 1425, 632, 4355, 6172, 3902, - 2627, 2628, 6082, 2632, 4553, 2768, 4600, 1691, 3246, 5715, - 974, 4541, 2819, 3903, 3546, 641, 3146, 1933, 40, 4043, - 3152, 3153, 3416, 918, 918, 1789, 918, 2919, 1676, 1597, - 4478, 5679, 3715, 4451, 3660, 993, 1426, 5770, 913, 4330, - 794, 4139, 632, 3612, 1669, 1450, 632, 632, 2074, 2073, - 1866, 2816, 2074, 2813, 5222, 44, -2896, -2896, -2896, 5660, - 1934, 5190, 632, 5938, 1598, 5514, 994, 642, 892, 6033, - 2950, 3716, 3553, 2817, 6062, 2892, 5698, 5193, 4331, 5143, - 2763, 1640, 5197, 4374, 6077, 5199, 2580, 2816, 3661, 3137, - 4185, 3542, 4453, 2581, 2542, 3057, 5033, 48, 6034, 793, - 1009, 5680, 2818, 1224, 4034, 4035, 3717, 3057, 1426, 4054, - 49, 3197, 1466, 4332, 1466, 2582, 2817, 187, 2817, 2582, - 5345, 3058, 5034, 2636, 795, 3361, 1452, 2819, 5778, 3659, - 3844, 3542, 4375, 3058, 50, 892, 4044, 4045, 4046, 4047, - 4048, 4049, 4050, 4051, 4052, 2818, 1641, 2818, 1427, 3662, - 4085, 4086, 5067, 3456, 3819, 2816, 2816, 4044, 4045, 4046, - 4047, 4048, 4049, 4050, 4051, 4052, 2543, 6062, 2813, 2637, - 2819, 3629, 2819, 1428, 6050, 6051, 892, 2764, 4649, 2882, - 4650, 3543, 5537, 5731, 1599, 2020, 1692, 1793, 1642, 2816, - 2816, 5771, 5144, 1225, 5333, 1643, 5033, 1914, 1644, 4456, - 5987, 1495, 1010, 2032, 5877, 2029, 1495, 4363, 3885, 892, - 4447, 2813, 5626, 2813, 6043, 4784, 3544, 2817, 3660, 660, - 1427, 3543, 5034, 4044, 4045, 4046, 4047, 4048, 4049, 4050, - 4051, 4052, 6078, 2636, 2583, 906, 6135, 3096, 5661, 2584, - 5617, 6067, 4457, 1935, -697, 3138, 2818, 1788, 2683, 814, - 3555, 3108, 2683, 2817, 5760, 3545, 5762, 2063, 4458, 1011, - 5766, 5767, 3663, 5886, 3114, 4959, 4805, 838, 5779, 6062, - 4963, 2819, 3661, 1849, 949, 4373, 4410, -1906, 3139, 2637, - 1495, 2639, 2818, 2586, 1495, 6143, 662, 772, 3964, 632, - 632, 632, 3140, 772, 963, 964, 965, 966, 967, 968, - 969, 970, 971, 2913, 4270, 5027, 2731, 2819, 1182, 4821, - 4866, 6108, 2813, 3495, 1914, 1914, 2732, 1012, 3059, 5035, - 1947, 2817, 2817, 4165, 4651, 2883, 3820, 3095, 3141, 2884, - 5360, 3105, 3135, 3662, 6067, 6154, -2364, 6136, 2587, 850, - -175, 2638, 2640, 5024, 5780, 974, 974, 3556, 2813, 1936, - 2818, 2818, 4806, 3718, 1450, 2817, 2817, 4166, 4459, -1906, - 3546, 1223, 1226, 6144, 2882, 2707, 5187, 1645, 3135, 3380, - 3965, -175, 4744, 1374, 815, 2819, 2819, 2708, 6150, 4271, - 916, 916, -466, 916, 2818, 2818, 3664, 3416, 4168, 949, - 3416, 2639, 3719, 1009, 3665, 2709, 4202, 3666, 194, 4986, - 3546, 892, 1646, 1227, 4785, 1228, 1647, 3088, 1444, 2819, - 2819, 4786, 892, 4164, 1389, 811, 2813, 2813, 4787, 5942, - 1560, 4807, 2805, 1378, 1789, 4808, 3505, 3720, 892, 6013, - 4805, 2589, 1631, 4203, 4444, 1452, 6067, 3416, 907, 4636, - 4637, 1648, 195, 4368, 3616, 3416, 3663, 949, 1649, 5547, - 2813, 2813, 2640, 4862, 4788, 949, 1602, 5811, 2806, 673, - 4890, 674, 1412, 949, 1484, 3418, 4312, 974, 3415, 3135, - 3640, 1632, 3415, 923, 1439, 3446, 4789, 5962, 4313, 816, - 1603, 5797, 892, 3496, 1453, 2733, 1584, 1845, -1084, 4165, - 3821, 632, 1450, 2073, 632, 1010, 2074, 892, 1451, 1379, - 892, 892, 3509, -466, 632, 632, 5818, 949, 949, 4170, - 2883, 1235, 3678, 1445, 2884, 4214, 4806, 194, 4369, 632, - 4697, 949, 632, 4166, 2734, 2722, 3568, 5969, 4863, 4980, - 2580, 892, 892, 2513, 949, 949, 5465, -2896, 4167, 3415, - 3822, -1906, -2896, -2896, -2896, 2517, 2518, 2519, 2520, 2521, - 2522, 6119, 1011, 1485, 4168, 1830, 660, 2710, 191, 5329, - 1585, 195, 4837, 2582, 4236, 694, 924, 5544, 2788, 3640, - 3664, 1368, 632, 1452, 3741, 5659, 632, 632, 3665, 2789, - 1672, 3666, 4169, 1633, 3227, 4807, 1523, 40, 3127, 4808, - 3128, 5545, 3129, 5330, 3130, 641, 3131, 4838, 3918, 3587, - 3132, 4981, 1057, 4590, 1058, 191, 1486, 3183, 5416, 5194, - 1012, 632, 1054, 632, 1947, 1055, 1056, 5439, 632, 632, - 3677, 4602, 1453, 662, 44, 632, 632, 632, 632, 632, - 632, 632, 4087, -612, 632, 3801, 632, 5946, 632, 632, - 632, 632, 632, 632, 3172, 1476, 632, 908, 632, 632, - 4444, 2683, 632, 6184, 3844, 5896, 3679, 1471, 3702, 5520, - 3726, 2683, 3588, 5347, 3682, 5963, 48, 3685, 892, 632, - 632, 632, 3757, 3758, 3759, 4170, 5945, 4614, -2896, 4624, - 1477, 932, -1683, -2896, 1478, 4628, 4839, 632, 1673, 1789, - 5349, 5440, 3747, 3589, 3187, -1683, 1472, 3654, 4269, 2892, - 3727, -1683, 5371, 5552, 4627, 2863, 4635, 5241, 4631, 4632, - 2866, 2074, 1487, 4081, 5789, 3652, 5358, 3653, 934, 1479, - 5648, 4585, 56, 1481, 3722, 2788, -1730, -2896, 1120, 5897, - 1099, 1473, -1730, 955, 1662, 5497, 2796, 5499, 1099, 5350, - 3912, 5367, 2683, -1906, 1637, 2580, 1612, 4572, 6058, 29, - -1683, -1906, 2951, 1402, -1906, 1431, 3590, -1906, 927, 3723, - 3763, 927, 1482, 5544, 5822, 5195, 4417, 1100, 4586, 2853, - 956, 939, 939, 1663, 1488, 1100, -1683, 1664, 2582, 5242, - 6046, 1008, 2587, 1638, 2940, 1613, 939, 5545, 2946, 939, - 35, 2952, 3956, 2793, 4325, 2794, 673, 1483, 674, 999, - 3415, 3415, 5320, 1101, 5321, 5322, 5323, -1730, 1665, 1489, - 1947, 4490, 3724, 1490, 3693, 1016, 3694, 35, 1639, 2805, - 3698, 2862, 1602, 5763, 678, -1683, 3721, 4372, 5764, 5839, - 5337, 632, 5339, 4326, -1683, 1188, 1190, 1192, 4727, 939, - 1194, 1195, 1196, 939, 939, 40, 1603, 3725, 1491, 1869, - 1201, 1102, 4798, 5801, 4283, 2806, -1730, 1062, 2795, 1102, - 5592, -1682, 1602, 2953, 5558, -150, 4798, 1794, 4327, 1060, - 1795, 1941, 4409, 1870, -1682, -2896, 2954, 6111, 632, 5765, - -1682, 1492, 44, 1493, 4850, 3377, 1603, 187, 5768, 1370, - 4645, 4646, 4647, 4648, 4217, 1942, 4652, 4653, 4654, 4655, - 4656, 4657, 4658, 4659, 4660, 4661, 2955, 4071, 4928, 3378, - 5559, 1067, 2546, 4078, 5593, 5544, 5652, 5594, 4945, 1413, - 1414, 1081, 233, 5595, 48, 3945, 3874, 6011, 646, -1682, - 6121, 632, 4929, 1494, 187, 5560, 738, 49, 1415, 5545, - 5653, 4946, 3848, 3849, 3850, 3851, 6222, 3853, 6225, 6137, - -1910, 5596, 1095, 5561, 812, -1682, -1910, 5562, 2846, 1605, - 2943, 50, 4703, 4704, 5262, 4520, 40, 3226, 6236, 3, - 4, 5267, 3881, 6138, 3836, 2870, -1683, -2896, 1679, 5563, - 6059, 1683, 2824, 5564, 1072, 3274, 1073, -1683, 755, 2517, - 2518, 2519, 2520, 2521, 2522, 1017, 1104, -2340, 5565, 1018, - -1683, 1413, 1414, 44, -1682, 4224, -1683, 1408, 1409, 5597, - 1402, 4781, 2616, -1682, 6015, 6016, 1402, 1076, 2616, 1077, - 1417, 772, 5598, 772, 4798, 772, 5876, 1953, 4036, -611, - 1795, 772, 1198, 1199, 740, 5599, 5734, 3415, 3986, 1103, - 4064, 5738, 5739, 2591, 3415, 48, 40, 1017, 1402, 3415, - 1431, 1018, 3415, 910, 15, -1683, 3944, 6204, 49, 2003, - -2332, 2019, 1795, 56, -1917, 1017, -1731, 1205, 2066, 1018, - -1917, 1249, -1731, 1105, 4037, 4135, 4088, 4164, 4038, 4039, - 4040, -1683, 50, 44, -1907, 1249, 1122, 5187, 4037, 20, - -1907, -1908, 4038, 4039, 4040, 5566, -1911, -1908, 4691, -1909, - 1126, 56, -1911, 3565, -1683, -1909, 740, 1133, 632, 632, - 632, 632, 632, 632, 632, 632, 632, -1683, 632, 3987, - 4121, 911, 694, -1683, 3988, 48, 15, 1142, 2067, 632, - -1683, 2825, 632, 3022, 4190, 1143, 6098, 755, 49, -1683, - 755, 3039, 2577, 1149, 2569, 1795, 5567, -1731, 3416, 2943, - 694, 3535, 3416, 4165, 1167, -1682, 4687, 3532, 694, 3536, - 3537, 20, 50, 5554, 4907, 694, 974, 1402, 770, 2616, - 4557, 5180, -1683, 632, 770, 4558, 3303, 632, 2962, 2963, - 632, 56, 632, -2333, 3373, 632, 4378, 4166, 1017, 632, - 1205, 3083, 1018, 3084, 3097, 4104, -1731, 4105, -1683, 4146, - 4147, 5061, 4167, 1592, 2590, 912, 4558, 2591, 1609, 4126, - 1789, 4127, 632, 3309, 3310, 3311, 3312, 1160, 4168, 3416, - 772, 2943, 4259, 2624, 6146, 3123, 1795, 4137, 2591, 632, - 3134, 3136, 5600, 3135, 3135, 5601, 5094, 3175, 632, 632, - 3176, 3376, 1177, 4219, 1947, 3529, 4169, -1683, 4288, 641, - 3564, 4164, 5101, 5823, 755, 3381, -1683, 3467, 2591, 4180, - 2591, 1955, -1134, -1134, 1957, 949, 1959, 3458, 1961, 4517, - 1963, 4518, 892, 4774, 1967, 3562, 892, 892, 3563, 3443, - 3444, -1683, 32, 949, 4042, 3634, 4108, 949, 3635, 3797, - 772, 949, 3798, 3936, 2617, 4262, 3135, 1204, 4042, 3985, - 949, 1793, 2591, 4976, 5123, 4849, 3499, 4970, 3502, 4971, - 5126, 5127, 3413, 29, 40, 1209, 3994, 4001, 949, 2591, - 2591, 632, 5029, 1615, 6090, 3415, 4506, 4165, 4002, 1213, - 4016, 2591, 632, 3756, 892, 632, 3658, 632, 632, 4170, - 892, 1205, 4798, 4023, 5214, 1616, 2591, 913, 5719, 1017, - 1216, 44, 949, 1018, 32, 3281, 5724, 5725, 3284, 4056, - 4043, 4166, 2591, 4070, 4075, 4144, 2591, 4076, 2591, 3, - 4, 4320, 949, 949, 4043, 4305, 4167, 4840, 4306, 4846, - 4310, 892, 4336, 4311, 1219, 4337, 40, 4820, 4128, 1120, - 4129, 6009, 4168, 48, 4829, 4444, 1617, 741, -1683, 3550, - 1221, 2683, 4406, 1789, 949, 4337, 49, 1789, 5134, 40, - 5135, 4228, 4529, 40, 4532, 4530, 3744, 4533, 4601, 4563, - 4169, 4670, 4564, 44, 4671, 4681, 1413, 1414, 4682, 3001, - 50, 949, 4493, 1789, -1754, -1754, 4693, 949, 2073, 2591, - 6160, 2074, 6161, 5952, 5448, 4865, 44, 5449, 1222, 742, - 44, 949, 4465, 4769, 4775, 1232, 4770, 4776, 949, 4780, - 1233, 949, 3482, -1758, -1758, 48, 1017, 949, 5030, 1436, - 1018, 3135, 1436, 5096, -1671, 2580, 1995, 6185, 49, 629, - 3416, 3416, -2896, 4723, 1236, 4725, 1618, 949, 48, -1757, - -1757, 5131, 48, 949, 2591, 5510, 5511, 4246, 3649, 5704, - 949, 49, 50, 3415, 5170, 49, 5225, 2591, 2582, 3482, - 5179, 4345, 5182, 4170, 949, 5640, 4351, 5231, 3303, 5238, - 5232, 56, 3135, 3415, 1234, 50, 3692, 949, 1615, 50, - 5239, 1237, 1789, 3135, 6226, 1243, 5240, 3415, 949, 3135, - 5373, 1373, 1619, 5374, 56, -1421, 1620, -1421, 56, 1120, - 1616, 5410, 3406, 4743, 4564, 4746, 632, 632, 632, 1235, - 5431, 2891, 632, 5432, 4044, 4045, 4046, 4047, 4048, 4049, - 4050, 4051, 4052, 5433, 5852, 5853, 2591, 4107, 4044, 4045, - 4046, 4047, 4048, 4049, 4050, 4051, 4052, 1245, 5452, 632, - 892, 5453, 2662, 4798, 2665, 1622, 1380, 187, 1789, 927, - 5462, 1617, 939, 1947, 939, 939, 5983, 5984, 3978, 5371, - 3980, 3981, 5047, 5468, 5470, 5587, 4503, 4503, 5588, 5607, - 1376, 5641, 3135, -2896, 5642, 1381, 5687, 5693, -2896, 5688, - 1947, 632, 1382, 5696, 5707, 4771, 4503, 5708, 772, 5753, - 1624, 1390, 5754, 772, 772, 1398, 5793, 5820, 5843, 2545, - 5708, 4076, 5844, 5862, 5866, 2591, 5863, 1947, 1395, 5867, - 3863, 5040, 2591, 892, 1625, 901, 902, 892, 3885, 1386, - 1249, 2597, -2896, 4037, 1405, 1396, 1419, 4038, 4039, 4040, - 2604, 1402, 2605, 5952, 1627, 5895, 2608, 1406, 3176, 4798, - 4483, 1618, 1421, 2614, 1436, 3415, 3975, 4436, 5901, 1448, - 1463, 3176, 4800, 4801, 5902, 4676, 4804, 3176, 1437, 1468, - 5874, 1249, 2683, 5905, 4037, 1464, 2591, 3416, 4038, 4039, - 4040, 1465, 5906, 5907, 3416, 2591, 5908, 2587, 2622, 3416, - 5934, 3413, 3416, 5935, 5988, 1544, 6002, 4503, 5163, 2591, - 6004, 6010, 1474, 2591, 3135, 974, 6025, 1619, 1431, 6026, - 1515, 1620, 1541, 949, -2382, 1789, 4608, 4497, 3415, 1546, - 6048, 6089, 4448, 6049, 5701, 1547, 2891, 1582, 4449, 1587, - 892, 1586, 949, 1588, 4466, 6118, 4468, 4595, 5708, 949, - 1599, 4450, 1601, 632, 772, 892, 632, 1611, 632, 632, - 892, 4798, 1694, 6156, 772, 1614, 6157, 1636, 632, 6028, - 1622, 6179, 1653, 632, 2591, 904, 1654, 4642, 1670, 4451, - 6198, 4452, 6208, 5863, 6214, 6209, 1680, 4770, 1684, 892, - -2896, 4225, 4226, 3394, 3396, 3397, 1120, 1793, 1120, 6223, - 6235, 1681, 2591, 6209, 1689, 1690, 1805, 1803, 1198, 1199, - 1807, 4669, 1812, 1818, 1823, 1624, 632, 632, 632, 1826, - 4186, 632, 1828, 904, 4580, -2668, 1833, 1836, 4538, 632, - 632, 632, 632, 1838, 2622, 1830, 1847, 1852, 4453, 1625, - 1789, 4849, 1853, -137, 1855, 632, 1789, 1856, 632, 1858, - 632, 772, 1860, -2896, 772, 772, 1861, 1872, 1879, 1627, - 1881, 1884, 632, 632, 4711, 1888, 632, 4454, 629, 213, - 1897, 6056, 1902, 1903, 1904, 1906, 1910, 1909, 1913, 1914, - 1120, 1921, 1925, 1927, 1928, 1930, 1932, 632, 3415, 632, - 1938, 632, -2896, 1937, 4042, 1940, 1943, -1109, 1946, 1949, - 1950, 1952, 1969, 4841, 2517, 2518, 2519, 2520, 2521, 2522, - 632, 2000, 3616, 2007, 4860, 4131, 4132, 4133, 5257, 2009, - 2073, 3468, 2012, 2074, 2016, -2668, 904, 2017, 2024, 4043, - 2025, 949, 2026, 2027, 2028, 56, 2030, 4341, 3640, 3484, - 4455, 2031, 2050, 3487, 2032, 4456, 2033, 3490, 2034, 2035, - 2036, 2528, 2037, 2038, 2039, 5425, 2040, 2580, 2042, 4358, - 187, 2530, 2043, 2044, -2896, 2045, 632, 2046, 2047, 632, - 4043, 2048, 2049, 2532, 3515, 3416, -2668, 904, 2052, 2534, - 2053, 2054, 632, 3415, 2055, 660, 2056, 632, 4457, -2668, - 2582, 2057, 4816, 5074, 2058, -2668, 2535, 2059, 2550, 2545, - 2617, -2668, 632, 2563, 4458, 1615, 2572, -2668, 3557, -1082, - -2668, 2594, 2595, 2600, -2668, 2602, 632, 2603, 2606, 2607, - 927, 2609, 2610, 939, 632, 939, 939, 1616, 1075, 2611, - 2612, 2613, 2618, 2625, 1451, 5665, 892, 2656, 1453, 892, - 2658, 892, 2668, 2670, -2668, 2616, 892, 772, 2671, 4964, - 4951, 2672, 662, 2673, 2689, 2690, 2696, 2691, 2692, 4702, - 3607, 949, 949, 2693, 2694, 6183, 3413, 632, 2695, 3413, - -2668, 2697, 2698, 2699, 2705, 2724, 2730, 2736, 1617, 2750, - 2754, 2756, 2757, 2758, 3415, 4889, 2760, 3636, 949, 2761, - 2774, 949, 2778, 3645, 892, 2780, 2791, 2779, 2792, 2807, - 2803, 4956, 892, 2810, 4459, -2896, 664, 3655, 2812, 2809, - -2896, 2813, 2811, 4476, 1075, 4479, 3413, 3668, 2821, -2668, - 2822, 2823, -2668, 3673, 3413, 2826, 2827, 892, -2668, 2833, - 2834, 2828, 2847, 4044, 4045, 4046, 4047, 4048, 4049, 4050, - 4051, 4052, 2837, 3686, 2843, 4843, 2844, 2861, 2871, 3689, - 2857, 2878, 2885, 3416, -2896, 2888, 3695, 2903, 2063, 1560, - 2905, 2858, 2864, 1789, 1789, 1789, 2867, 2868, 1618, 2907, - 3710, 2912, 2914, 3416, 4044, 4045, 4046, 4047, 4048, 4049, - 4050, 4051, 4052, 3735, 2873, -2668, 2874, 3416, 949, 2931, - 3956, 2915, 2932, 4186, 1075, 2886, 2893, 892, 2894, 892, - 2939, 2899, 2900, 2906, 2908, 2920, 2063, 949, 2921, 2587, - 2933, 2944, 2961, 2968, 2976, 5393, 2973, 2975, 2977, 2978, - 2982, 2983, 2984, 2986, 1619, 673, 2989, 674, 1620, 949, - 3303, 2987, 2988, 629, 3415, 2990, 629, 2994, -1109, 2995, - 2996, 2997, 787, 2891, 3004, 3005, 4117, 655, 5667, 3008, - 677, 3021, 3013, 1845, 3032, 1633, 3305, 1249, 3306, 3036, - 4037, 3037, 3210, 3211, 4038, 4039, 4040, 3040, 4603, 3049, - -2668, 3052, 3055, 3242, 3243, 3056, 3065, 1622, 5686, 3069, - 3073, 3076, 3307, 629, 5164, 4094, 3082, 4095, 878, 3086, - 3098, 629, 3091, 892, -2668, 3100, -2668, -2668, 3101, 3103, - 3102, 3116, -2896, 3148, 3159, 3288, 4151, 3173, 3185, 4156, - 3209, 4096, 3204, 3276, 3282, 949, 2074, 3296, -2668, 3286, - 632, 3323, 1624, 3343, 3415, 3302, 632, 3364, 5091, 3321, - 3415, 3348, 3349, 3368, 3367, 892, 3399, 3382, -2668, 3369, - 3370, -2668, -2668, -2668, 3383, 3416, 1625, 3308, 1426, 3384, - 3386, 2649, 3385, 3387, 3391, 3400, 3406, 3436, 3418, 3423, - 903, 911, 1789, 892, 3406, 3437, 1627, 3435, 949, 3438, - 949, 3452, 3459, 3460, 3471, 3472, 3308, 3474, 3491, 3500, - 3503, 3505, 3507, 949, 3508, 949, 3514, 3519, 2622, 3524, - 3538, 3525, 3527, 3530, 3309, 3310, 3311, 3312, 3554, 3559, - 1370, 3313, 3314, 1374, -2896, 632, 3561, 3315, 3416, 3952, - 3571, 3578, 3591, 3596, 3597, 5142, 2517, 2518, 2519, 2520, - 2521, 2522, 3617, 3309, 3310, 3311, 3312, 3623, 3968, 3630, - 4097, 892, 3415, 3624, 3625, 3952, 4098, 3688, 3633, 5156, - 3650, 3651, 5354, 3730, 3672, 3641, 3743, 4523, 3648, 3751, - 3671, 1849, 949, 892, 3755, 3752, 5086, 5087, 5088, 5089, - 5090, 912, 3764, 3771, 3778, 3777, 3779, 5205, 3783, 3788, - 4042, 3799, 3810, 3811, 3825, 892, 3829, 3831, 3839, 3858, - 3827, 3857, 3860, 4560, 3852, 3861, 3865, 3859, 3868, 3870, - 3872, 3846, 3873, 5040, 949, 3876, 4527, 3882, 3877, 3897, - 3898, 3899, 3907, 3908, 3909, 3911, 3913, 3927, 3929, 3930, - 3935, 3933, 3943, 949, 3953, 3938, 3957, 949, 3939, 3940, - 3941, 3942, 3959, 3966, 3969, 1947, 3971, 3979, 3998, 1944, - 4000, 4004, 4015, 4012, -2192, 4069, 4072, 1911, 949, 4089, - 3948, 3947, 4709, 3958, 4103, 3996, 4043, 3997, 5212, 1211, - 3999, 4115, 3756, 4007, 632, 4017, 3316, 892, 4024, 4025, - -2670, 4084, 632, 4033, 632, 4029, 4142, 3317, 3416, 4031, - 4032, 4055, 4060, 5722, 632, 4178, 4061, 1214, 632, 632, - 2591, 4068, 4083, 4154, 632, 4099, 5327, 4116, 5266, 4150, - 4118, 4120, 632, 4143, 632, 4148, 4100, 632, 4122, 4155, - 4149, 892, 632, 632, 632, 632, 4182, 4163, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 4188, 4197, - 4216, 632, 632, 632, 4195, 4199, 892, 4208, 4222, 4238, - 4201, 632, 4234, 4227, 4230, 4241, 632, 904, 1789, 4243, - 632, 4229, 4235, 4266, 4255, 4256, 4239, 4267, 632, 4268, - 4272, 632, 4273, 632, 4274, 4279, 4275, 4290, 4291, 4293, - -2670, 4299, 4300, 3416, 4309, 4301, 4315, 4338, 4324, 4344, - 4346, 632, 4340, 4348, 632, 632, 4342, 4352, 4353, 632, - 632, 4357, 4359, 4360, 632, 4361, 632, 4716, 4717, 4718, - 4719, 4362, 5209, 4364, 4381, 4379, 4380, 4382, 4383, 4384, - 4385, 4386, 4387, 4388, 4390, 4389, 4186, 4391, 4392, 4394, - 4395, -2670, 4393, 4398, 4402, 1057, 4404, 1058, 191, 632, - 4405, 2929, 4411, 4414, -2670, 1054, 4418, 632, 1055, 1056, - -2670, 632, 4186, 4432, 4400, 4415, -2670, 4421, 4416, 4426, - 4434, 4469, -2670, 4474, 4481, -2670, 4484, 1615, 4485, -2670, - 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4488, - 4492, 4502, 4505, 632, 3416, 4475, 4512, 4503, 4515, 1616, - 4521, 5002, 5003, 4522, 4244, 4526, 4542, 187, 4525, -2670, - 632, 4528, 4559, 4556, 4562, 4574, 892, 4575, 4576, 4577, - 4578, 5393, 4579, 4566, 4596, 4832, 4568, 4597, 632, 4598, - 4581, 2019, 4604, 4605, 4617, -2670, 5305, 5306, 4606, 5308, - 4607, 4609, 4610, 187, 6083, 6084, 4611, 5338, 4612, 949, - 1617, 4842, 4613, 4623, 3225, 4625, 4626, 3413, 2727, 4629, - 4633, 3413, 4634, 4037, -2191, 4695, 4643, 4683, 4666, 4698, - 4667, 3388, 3390, 4696, 4668, 4740, 4699, 3398, 4739, 4747, - 4753, 4754, 4748, 4755, -2670, 4763, 4728, -2670, 5447, 4766, - 4675, 4701, 4768, -2670, 4772, 4783, 4732, 4712, 4791, 4724, - 1789, 4726, 4735, 4812, 4316, 1789, 892, 1789, 4813, 3441, - 3441, 4814, 4737, 4752, 4757, 4815, 4822, 4843, 4823, 4825, - 4826, 4828, 5485, 4832, 4836, 4835, 4855, 4852, 3413, 4868, - 4867, 1789, 892, 4869, 4870, 4871, 4881, 4882, 4883, 4895, - 1618, 4884, 4885, 4886, 3416, 2892, 4897, 4898, 4904, 4916, - -2670, 4917, 4186, 4925, 4941, 5557, 4922, 4942, 4944, 4842, - 4999, 4958, 4947, 3234, 3234, 4957, 4960, 4984, 4961, 4962, - 5013, 772, 1132, 3256, 5020, 5019, 4906, 5032, 949, 4973, - 4994, 949, 3277, 5005, 5042, 5048, 5026, 5025, 4915, 5049, - 5059, 5066, 5068, 5065, 5070, 5072, 1619, 5069, 1132, 5073, - 1620, 5078, 3160, 5092, 5084, 5098, 5099, 787, 5108, 5115, - 5116, 5119, 5118, 5120, 5124, 2891, 5125, 5133, 5121, 4844, - 5145, 5148, 5128, 2073, 629, -2193, 2074, 5139, 629, 5150, - 5149, 4412, 5160, 5154, 3416, -2670, 5173, 5161, 5198, 5188, - 3416, 5169, 5184, 5207, 5221, 632, 5747, 5210, 5749, 1622, - 2063, 5191, 5224, 5202, 2073, 3574, 5211, 2074, 5228, -2670, - 2580, -2670, -2670, 5226, 5234, 5233, 5243, -2896, 5263, 5264, - 5274, 949, 949, 5265, 5268, 892, 5273, 187, 5275, 5294, - 1548, 5287, 949, -2670, 5296, 5300, 1549, 5309, 5290, 632, - 632, 2580, 5301, 2582, 1624, 629, 5317, 3406, -2896, 949, - 5310, 3406, 5461, -2670, 5319, 5318, -2670, -2670, -2670, 5324, - 5328, 5331, 5335, 5461, 5336, 5343, 5346, 5351, 1625, 5355, - 5352, 5353, 892, 5361, 2582, 5051, 5359, 892, 632, 632, - 5370, 1551, 5365, 5375, 5377, 5381, 5384, 5382, 1627, 632, - 4845, 5386, 3416, 4275, 772, 5388, 5389, 5390, 5857, 5255, - 5399, 5414, 772, 5405, 3135, 772, 5407, 5415, 5420, 5421, - 5422, 5426, 4705, 5430, 5757, 5436, 5437, 772, 5604, 5446, - 5438, 5450, 5454, 5460, 5489, 5464, 5492, 5467, 5501, 5509, - 949, 974, 5498, 1789, 5513, 5883, 5486, 1552, 5512, 3413, - 3413, 5517, 5518, 4706, 1553, 5550, 5519, 1554, 5505, 5530, - 5524, 5531, 5572, 5535, 4983, 5580, 5669, 5578, -2896, 632, - 2943, 5541, 5542, -2896, 5543, 5583, 5586, 5610, 5591, 5590, - 5674, 5611, 5615, 632, 1555, 5620, 5622, 5638, 5643, 4584, - 5649, 5918, 5920, 4588, 5650, 5651, 5657, 632, 5672, -2896, - 5298, 5695, 5681, 5703, -2896, 5493, 5673, 5685, 2065, 5697, - 5527, 5705, 2813, 5728, 5729, 5699, 5718, -2896, 5735, 5727, - 1556, 5701, 5741, 5777, 5720, 632, 5702, 5772, 632, 5781, - 5787, 5774, 5795, 5785, 5809, 5813, 632, 632, 5814, 892, - 5815, 5800, 5817, 5816, 632, 632, 5826, 5827, -2896, 632, - 5828, 5834, 5854, 5836, 5829, 5845, 632, 5838, 5855, 632, - 632, 5856, 1810, 5859, 5879, 5869, 632, 4123, 5878, 5881, - 5894, 5882, 2587, 1819, 5898, 5742, 5743, 5917, 5923, 5926, - 5861, 5929, 5933, 5931, 5937, 5940, 632, 5941, 5957, 1827, - 5959, 1657, 5958, 632, 5759, 1558, 5967, 5356, 632, 5960, - 5974, 632, 632, 2587, 5968, 1559, 5973, 5976, 5981, 632, - 5985, 5986, 5991, 5998, 1560, 2073, 629, 629, 2074, 6000, - 632, 6020, 6012, 5912, 6007, 6029, 1561, 6022, 632, 5927, - 5928, 6037, 5213, 5215, 6038, 5694, 6039, 6055, 6057, 6074, - 6085, 6088, 6096, 6102, 6027, 5557, 6104, 6122, 632, 5227, - 2073, 6128, 2580, 2074, 6134, 6129, 6133, 6139, 6141, -2896, - 6163, 6142, 6162, 6173, 6164, -2896, 892, 6186, 1563, 1564, - 6188, 5924, 6197, 772, 6189, 4214, 6201, 6206, 6212, 949, - 6199, 6221, 6207, 6217, 6218, 2582, 3413, 2580, 6227, 3406, - 6230, 5645, 6234, 3413, -2896, 6176, -2896, 1438, 3413, 1545, - 1565, 3413, 4140, 3703, 1651, 3622, 892, 2945, 4285, 2571, - 1650, 4858, 6079, 6080, 4851, 187, 6023, 3742, 4431, 5261, - 2582, 5751, 3790, 949, 5569, 5911, 6103, 5001, 892, 5269, - -2895, 5868, 5621, 5870, 4847, 949, 4848, 5334, 5603, 4232, - 3937, 6014, 5503, 6099, 5932, 5930, 1998, 6036, 6114, 5363, - 4237, 632, 5023, 5052, 5167, 5031, 5892, 4993, 632, 3808, - 3809, 4856, 4491, 5018, 1635, 4303, 5357, -2896, 5609, 1566, - 949, 4531, 5076, 5830, 6159, 3297, 6233, 6219, 5584, 2517, - 2518, 2519, 2520, 2521, 2522, 4437, 6041, 5060, 5529, 5737, - 5900, 3012, 5532, 736, 789, 4817, 1050, 5714, -2896, 1992, - -2896, 892, 4582, 5093, 5095, -2896, 3477, 6155, 3837, 3075, - 2517, 2518, 2519, 2520, 2521, 2522, 4223, 5646, 5062, 5824, - 3071, 3104, 4548, 3434, 3087, 5746, 1121, 632, 3740, 4401, - -2895, 4887, 1161, 4347, 6061, -2896, 6187, 5079, 3767, 1120, - -2896, 2970, 5080, 632, 3422, 5888, 2704, 6202, 1789, -2896, - 4777, 1383, 2592, 629, 5713, 2541, 5216, 6008, 5522, 817, - 629, 818, 4184, 4196, 2653, 629, 5122, 949, 629, 5200, - 6003, 5871, 4730, 3432, 632, 4158, 4745, 5466, 4152, 5684, - 2652, -2895, 5683, 4778, -2896, 2657, 6170, 4153, 5990, 6086, - 4138, 5860, 772, 5912, -2895, 2601, 5368, 5668, 3344, 4677, - -2895, 5872, 4119, 5873, 2587, 3347, -2895, 3262, 4145, 4113, - 3991, 3766, -2895, 4111, 4102, -2895, 4022, 974, 4630, -2895, - 892, 0, 892, 3359, 4930, 0, 3420, 4933, 0, 1434, - 0, 0, 0, 3406, 0, 0, 0, 0, 3406, 2587, - 0, 3406, 0, 0, 0, 5885, 0, 0, 0, -2895, - 0, -2895, 0, 949, 5528, 4191, 4191, 4186, 0, 0, - 5526, 0, 187, 187, 0, 0, 630, 0, 0, 974, - 0, 0, 0, 0, 3413, -2895, 0, 0, 0, 0, - 0, 0, 0, 782, 632, 784, 0, 632, 0, 790, - 632, 632, 632, 0, 798, 806, 810, -2896, 813, 0, - 0, 806, 806, 0, 843, 5571, 846, 0, 0, 0, - 0, 0, 0, 900, 900, 900, 0, 632, 632, 0, - 0, 632, 0, 0, -2895, 0, 0, -2895, 5015, 0, - 0, 0, -2896, -2895, 0, 0, 0, 0, 1120, 0, - 0, 0, 632, 6210, 0, 2943, 0, 0, 632, 0, - 0, 0, 632, 0, 0, 6195, 0, 0, 892, 632, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 632, 0, 0, 632, 0, 0, 0, 0, - 949, 0, 949, 0, 0, 0, 632, 0, 0, 0, - -2895, 0, 0, 0, 0, 0, 0, 0, 0, -2896, - 6195, 0, 0, 0, 5487, 0, 0, 0, 0, 2836, - 5340, 2517, 2518, 2519, 2520, 2521, 2522, 0, 6195, 0, - 0, 0, 0, 0, 0, 0, 3952, 892, 949, 0, - 0, 0, 0, 0, -2896, 0, 6147, 0, 632, 0, - 0, 629, 0, 3298, 0, 0, 2517, 2518, 2519, 2520, - 2521, 2522, 3413, 0, 0, 0, 0, 630, 929, 929, - 0, 0, 929, 0, 0, 0, 940, 0, 843, 0, - 0, 976, 3413, 0, 940, -2895, 0, 940, 1789, 0, - 843, 0, 929, 632, 6220, 843, 3413, 0, 0, 929, - 5746, 843, 0, 0, 0, 0, 0, 0, 0, -2895, - 0, -2895, -2895, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5608, - 0, 0, 0, -2895, 0, 0, 187, 6148, 6149, 0, - 0, 0, 0, 0, 0, 6213, 0, 0, 0, 0, - 0, 0, 0, 0, 632, 0, -2895, 892, -2895, -2895, - 5634, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 184, 0, 186, 191, 175, 0, 80, 83, - 84, 85, 180, 86, 106, 181, 183, 124, 129, 159, - 632, 178, 0, 185, 632, 904, 632, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5636, 3887, - 632, 0, 0, 0, 0, 0, 0, 632, 1120, 0, - 632, 0, 0, 0, 0, 0, 0, 0, 0, 629, - 0, 632, 0, 1518, 772, 0, 0, 0, 632, 0, - 0, 0, 0, 0, 2974, 0, 0, 0, 0, 629, - 0, 0, 0, 0, 3413, 2985, 0, 4480, 0, 0, - 0, 0, 0, 629, 0, 0, 0, 0, 1519, 0, - 0, 3003, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 892, - 0, 0, 0, 0, 892, 892, 0, 0, 0, 632, - 0, 0, 3406, 0, 0, 632, 632, 949, 0, 0, - 0, 0, 0, 0, 974, 939, 0, 3413, 0, 5281, - 1548, 949, 0, 0, 0, 3077, 1549, 0, 0, 1520, - 0, 5291, 0, 0, 0, 0, 0, 0, 0, 0, - 3089, 632, 0, 1132, 3093, 0, 0, 0, 0, 632, - 3256, 3256, 1789, 0, 0, 3256, 0, 0, 0, 0, - 939, 0, 0, 0, 0, 0, 1521, 0, 0, 0, - 0, 1551, 0, 0, 3112, 1132, 0, 632, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5803, - 0, 0, 0, 0, 0, 0, 3256, 3256, 0, 0, - 0, 0, 0, 0, 3888, 0, 892, 892, 0, 1522, - 0, 0, 0, 0, 772, 0, 0, 0, 0, 0, - 0, 629, 0, 0, 0, 0, 0, 1552, 0, 0, - 632, 0, 0, 0, 1553, 0, 0, 1554, 1548, 632, - 632, 632, 0, 0, 1549, 0, 0, 0, 0, 0, - 0, 1524, 632, 1789, 0, 0, 892, 0, 0, 187, - 0, 632, 0, 632, 1555, 632, 0, 0, 0, 0, - 0, 0, 632, 0, 0, 0, 0, 3413, 0, 5875, - 0, 6019, 0, 1526, 629, 0, 0, 0, 0, 1551, - 187, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 1556, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 0, 3290, 0, 1029, 0, 0, 0, 0, 1789, 843, - 949, 929, 0, 929, 0, 35, 929, 0, 0, 0, - 3889, 0, 0, 976, 0, 0, 0, 0, 1087, 1529, - 929, 0, 0, 0, 0, 1552, 929, 0, 1530, 3952, - 0, 0, 1553, 6068, 6069, 1554, 2771, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1532, 0, - 630, 1657, 3413, 632, 0, 1558, 0, 1533, 2063, 940, - 0, 1534, 1555, 976, 0, 1559, 940, 0, 0, 940, - 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, - 0, 3890, 0, 0, 0, 929, 1561, 0, 0, 0, - 632, 0, 0, 0, 0, 0, 5786, 0, 1556, 0, - 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 632, 0, 0, 1535, 0, 0, 0, - 3891, 0, 0, 632, 629, 1685, 949, 0, 1563, 1564, - 0, 0, 0, 0, 0, 0, 0, 0, 843, 632, - 0, 0, 0, 0, 0, 0, 0, 1231, 0, 0, - 0, 0, 949, 3413, 0, 0, 3952, 0, 3952, 0, - 1686, 0, 0, 0, 0, 0, 0, 1353, 1353, 1657, - 843, 806, 0, 1558, 0, 806, 0, 0, 0, 0, - 0, 0, 0, 1559, 0, 0, 0, 0, 0, 843, - 0, 0, 1560, 632, 843, 6042, 0, 3406, 0, 187, - 1353, 0, 0, 632, 1561, 0, 0, 0, 0, 0, - 0, 632, 632, 0, 0, 0, 0, 632, 0, 629, - 6066, 191, 0, 0, 0, 0, 0, 772, 6063, 1566, - 0, 6064, 6065, 0, 0, 0, 632, 632, 0, 0, - 0, 0, 0, 2751, 0, 1353, 1563, 1564, 0, 0, - 0, 0, 0, 772, 0, 0, 0, 0, 0, 843, - 6127, 0, 0, 0, 0, 0, 0, 772, 0, 0, - 949, 0, 843, 0, 3887, 0, 0, 0, 2752, 772, - 0, 0, 0, 6228, 6229, 0, 0, 843, 0, 187, - 0, 0, 0, 632, 0, 0, 0, 0, 1518, 632, - 0, 0, 0, 3413, 0, 0, 843, 0, 0, 0, - 0, 929, 929, 6066, 191, 0, 0, 632, 632, 0, - 629, 6063, 0, 0, 6064, 6065, 0, 0, 0, 0, - 0, 0, 632, 1519, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 806, 806, 0, 632, 1566, 0, 0, - 0, 0, 0, 0, 0, 1198, 1199, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1353, 1353, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 630, 632, 929, 0, 0, 0, 940, -2686, 0, 976, - 940, 0, 940, 3413, 1520, 0, 0, 929, 0, 3413, - 0, 632, 0, 0, 0, 0, 939, 0, 1789, 0, - 0, 0, 0, 0, 0, 6066, 191, 0, 0, 0, - 0, 843, 0, 6063, 0, 0, 6064, 6065, 929, 929, - 0, 1521, 0, 0, 0, 0, 0, 0, 0, 0, - 632, 632, 0, 772, 0, 632, 0, 0, 0, 632, - 843, 843, 843, 1789, 929, 0, 630, 0, 630, 630, - 0, 632, 632, 0, 0, 0, 0, 0, 0, 3888, - 629, 1789, 0, 0, 1522, 0, 0, 0, 939, 939, - 0, 0, 0, 0, 0, 0, 0, -2686, 0, 0, - 0, 0, 929, 0, 929, 929, 772, 2073, 0, 0, - 2074, 3413, 0, 0, 2075, 2076, 2077, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0, - 0, 0, 0, 0, 2579, 187, 0, 1353, 0, 0, - 0, 0, 0, 0, 2580, 0, 0, 0, -2686, 0, - 0, 2581, 0, 0, 0, 0, 0, 0, 1526, 0, - 187, -2686, 0, 1972, 0, 1972, 0, -2686, 0, 843, - 629, 782, 0, -2686, 0, 0, 629, 2582, 0, -2686, - 0, 0, -2686, 0, 0, 0, -2686, 0, 0, 0, - 0, 0, 0, 0, 6131, 2008, 0, 843, 0, 0, - 35, 2014, 0, 0, 0, 1528, 0, 0, 3234, 0, - 0, 0, 0, 0, 1529, 1353, -2686, 0, 0, 0, - 0, 0, 0, 1530, 0, 0, 3256, 3256, 3256, 3256, - 0, 2771, 3256, 3256, 3256, 3256, 3256, 3256, 3256, 3256, - 3256, 3256, -2686, 1532, 0, 0, 0, 0, 0, 0, - 1353, 0, 1533, 6126, 0, 0, 1534, 0, 6167, 0, - 4673, 0, 0, 0, 0, 0, 0, 3531, 0, 0, - 0, 0, 0, 3539, 0, 0, 3890, 0, 629, 1353, - 1353, 1353, 0, 1353, 0, 0, 0, 0, 0, 0, - 0, -2686, 2583, 0, -2686, 0, 0, 2584, 3256, 3256, - -2686, 0, 0, 1353, 0, 0, 0, 0, 0, 0, - 0, 1535, 0, 0, 3572, 3891, 0, 0, 6167, 0, - 2585, 2264, 0, 0, 0, 0, 6216, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 939, 939, - 0, 2586, 0, 4734, 843, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 0, -2686, 0, 0, - 772, 0, 1353, 0, 0, 0, 772, 0, 0, 0, - 772, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2322, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2587, 5284, 5285, 2588, - 0, 0, 5288, 5289, 0, 0, 0, 0, 1353, 0, - 0, 0, 1353, 1353, 787, 0, 0, 0, 0, 0, - 0, 0, 3952, 843, 843, 843, 2667, 0, 1353, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -2686, 0, 1518, 0, 0, 0, 0, 0, - 0, 806, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -2686, 0, -2686, -2686, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1519, - 0, 0, 0, 0, 0, 0, 2759, 0, 0, 2589, - -2686, 806, 0, 0, 929, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 843, 2787, 0, - -2686, 0, 0, -2686, -2686, -2686, 843, 0, 0, 929, - 0, 0, 0, 3795, 0, 0, 0, 0, 0, 2073, - 0, 0, 2074, 0, 0, 0, 2075, 2076, 2077, 0, - 1520, 0, 0, 0, 0, 0, 976, 0, 843, 0, - 0, 806, 0, 0, 2855, 2855, 2579, 0, 2855, 0, - 0, 0, 0, 0, 0, 0, 2580, 0, 806, 0, - 0, 843, 0, 2581, 843, 0, 0, 1521, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2513, 0, 0, 0, 0, 929, 0, 0, 2582, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 0, 0, 0, 0, 843, 0, 2073, 4014, 0, 2074, - 1522, 0, 0, 2075, 2076, 2077, 929, 929, 929, 929, - 843, 0, 0, 0, 0, 0, 0, 0, 0, 3256, - 0, 0, 0, 2579, 843, 0, 0, 0, 0, 0, - 0, 0, 0, 2580, 0, 1353, 1353, 1353, 1523, 0, - 2581, 0, 1524, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, - 0, 0, 0, 1525, 1526, 0, 0, 0, 0, 0, - 0, 0, 0, 3967, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2583, 0, 0, 0, 3977, 2584, - 0, 0, 0, 3982, 0, 0, 0, 0, 0, 0, - 0, 0, 1527, 0, 0, 0, 35, 0, 0, 0, - 0, 1528, 2585, 2264, 0, 0, 0, 0, 0, 0, - 1529, 0, 4003, 0, 843, 0, 0, 0, 0, 1530, - 0, 0, 0, 2586, 0, 843, 0, 1531, 0, 0, - 0, 0, 0, 929, 929, 0, 0, 0, 0, 1532, - 0, 0, 0, 0, 0, 0, 0, 0, 1533, 929, - 0, 0, 1534, 0, 0, 0, 0, 0, 772, 0, - 0, 2583, 0, 0, 2322, 0, 2584, 843, 2855, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2587, 0, - 0, 2588, 0, 929, 929, 929, 929, 0, 0, 2585, - 2264, 0, 843, 0, 0, 0, 0, 0, 0, 843, - 0, 0, 3068, 0, 0, 0, 0, 1535, 0, 0, - 2586, 0, 0, 0, 891, 0, 2073, 630, 0, 2074, - 630, 0, 5147, 2075, 2076, 2077, 0, 0, 0, 0, - 940, 940, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 976, 976, 2579, 0, 940, 0, 0, 940, 0, - 0, 2322, 0, 2580, 0, 0, 0, 0, 0, 0, - 2581, 0, 0, 929, 929, 2587, 0, 0, 2588, 0, - 929, 2589, 843, 2073, 0, 0, 2074, 0, 0, 0, - 2075, 2076, 2077, 0, 0, 0, 2582, 0, 0, 1972, - 0, 0, 0, 0, 0, 0, 929, 0, 940, 0, - 2579, 3151, 940, 940, 0, 843, 843, 0, 929, 0, - 2580, 0, 0, 0, 0, 843, 0, 2581, 0, 0, - 0, 0, 843, 0, 0, 843, 3068, 0, 0, 782, - 0, 0, 782, 3188, 0, 0, 0, 1353, 0, 1353, - 0, 0, 0, 2582, 1353, 1353, 0, 0, 0, 0, - 0, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 2589, 0, - 1353, 0, 1353, 976, 1353, 1353, 1353, 1353, 1353, 1353, - 0, 0, 1353, 2513, 1353, 1353, 0, 0, 1353, 0, - 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, - 2522, 0, 0, 0, 0, 1353, 1353, 1353, 4028, 0, - 0, 2583, 0, 0, 0, 0, 2584, 0, 0, 0, - 0, 0, 0, 1353, 0, 0, 0, 4247, 0, 0, - 0, 0, 0, 0, 0, 4250, 0, 0, 0, 2585, - 2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 772, 0, 0, 0, 0, 0, 0, 0, - 2586, 0, 0, 929, 0, 0, 698, 0, 2583, 0, - 2513, 0, 0, 2584, 0, 786, 0, 0, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, - 0, 0, 4026, 0, 0, 4027, 2585, 2264, 0, 0, - 0, 2322, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2587, 0, 2586, 2588, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4333, 0, 4335, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1908, 0, 0, 0, 0, - 0, 1912, -136, 0, 0, 0, 0, 0, 2322, 0, - 0, 1923, 0, 0, 0, 1926, 0, 1353, 0, 1929, - 0, 1931, 2587, 0, 1, 2588, 0, 1939, 0, 0, - 0, 0, 0, 1945, 0, 2, 1948, 3, 4, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5, 0, 0, 2589, 0, - 0, 0, 0, 0, 1353, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4397, 7, 0, 8, - 9, 0, 0, 0, 0, 0, 10, 0, 11, 0, - 0, 5909, 0, 0, 0, 0, 0, 0, 0, 0, - 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2589, 0, 1353, 4419, 14, - 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 16, 0, 17, - 0, 3256, 0, 18, 0, 0, 0, 0, 0, 19, - 0, 0, 0, 0, 0, 0, 0, 20, 0, 21, - 2513, 0, 0, 0, 0, 0, 22, 0, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, - 0, 0, 0, 0, 23, 4079, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3256, 0, 0, 0, - 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3572, 0, 0, 2513, 0, 0, - 0, 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, 3285, - 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, - 0, 0, 0, 0, 27, 0, 0, 0, 4561, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1548, 0, - 0, 0, 0, 0, 1549, 0, 29, 0, 0, 0, - 0, 0, 0, 0, 1353, 1353, 1353, 1353, 1353, 1353, - 1353, 1353, 1353, 0, 1353, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 843, 1353, 0, 0, 1353, 0, - 0, 0, 0, 0, 0, 843, 0, 0, 891, 1551, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4618, 0, 0, 0, 31, 0, 0, 0, 0, 0, - 32, 33, 0, 34, 891, 0, 0, 843, 35, 1353, - 0, 0, 929, 1353, 36, 0, 1353, 37, 1353, 0, - 0, 1353, 0, 0, 38, 1353, 0, 0, 0, 0, - 0, 39, 40, 0, 4644, 1552, 0, 0, 0, 41, - 0, 0, 1553, 42, 0, 1554, 0, 0, 3417, 2073, - 0, 0, 2074, 43, 843, 843, 2075, 2076, 2077, 4665, - 0, 0, 0, 0, 0, 1353, 0, 0, 0, 44, - 0, 0, 1555, 0, 1353, 1353, 2579, 0, 0, 0, - 0, 0, 0, 0, 3256, 0, 2580, 0, 843, 45, - 0, 0, 0, 2581, 0, 0, 3461, 0, 3466, 0, - 46, 0, 0, 0, 0, 0, 47, 0, 1556, 0, - 0, 48, 0, 0, 3256, 0, 0, 0, 0, 2582, - 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 782, 0, - 782, 0, 0, 0, 0, 0, 891, 0, 50, 0, - 51, 52, 53, 54, 55, 0, 0, 1353, 0, 6193, - 0, 0, 0, 0, 0, 0, 0, 56, 630, 0, - -136, 940, 976, 940, 940, 0, 0, 929, 0, 1557, - 843, 0, 0, 1558, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1559, 1051, 0, 0, 0, 0, 0, - 0, 806, 1560, 0, 6193, 0, 0, 0, 0, 1548, - 0, 0, 2787, 0, 1561, 1549, 0, 0, 0, 0, - 3575, 843, 6193, 0, 0, 0, 0, 3586, 0, 0, - 1655, 0, 0, 0, 2583, 0, 843, 0, 0, 2584, - 0, 0, 0, 0, 1119, 698, 0, 0, 0, 0, - 0, 0, 0, 2829, 0, 0, 1563, 1564, 843, 0, - 1551, 0, 2585, 2264, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 843, - 0, 0, 0, 2586, 0, 0, 0, 0, 2830, 1704, - 0, 0, 806, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 891, 0, - 0, 0, 0, 0, 1656, 929, 1552, 0, 929, 891, - 0, 0, 0, 1553, 2322, 0, 1554, 0, 0, 0, - 0, 0, 0, 0, 0, 891, 0, 0, 2587, 0, - 1218, 2588, 0, 0, 843, 843, 3256, 0, 0, 0, - 0, 0, 0, 1555, 0, 0, 0, 1566, 0, 3729, - 1240, 3732, 3734, 0, 0, 0, 0, 0, 1356, 0, - 0, 1365, 1119, 1369, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, - 0, 0, 1353, 1353, 1353, 0, 0, 0, 1353, 0, - 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, - 0, 0, 0, 0, 0, 2073, 0, 0, 2074, 929, - 0, 0, 2075, 2076, 2077, 1353, 0, 929, 0, 0, - 3099, 2589, 0, 0, 0, 0, 0, 0, 3106, 0, - 2787, 0, 2579, 0, 0, 843, 0, 0, 0, 0, - 0, 3834, 2580, 0, 782, 0, 0, 0, 0, 2581, - 1657, 0, 0, 0, 1558, 0, 929, 3845, 0, 0, - 0, 0, 0, 0, 1559, 0, 0, 3729, 5004, 0, - 0, 0, 0, 1560, 0, 2582, 0, 929, 0, 3867, - 0, 0, 891, 0, 0, 1561, 0, 0, 0, 0, - 0, 1548, 0, 0, 0, 0, 0, 1549, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5989, 0, 0, - 0, 0, 1655, 0, 0, 0, 0, 0, 929, 0, - 929, 0, 929, 2513, 1658, 0, 0, 1563, 1564, 0, - 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, - 2522, 0, 1551, 0, 0, 4433, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1972, 0, 0, 0, 1659, - 0, 0, 0, 0, 1119, 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, - 2583, 0, 0, 0, 2073, 2584, 1656, 2074, 1552, 0, - 0, 2075, 2076, 2077, 0, 1553, 0, 0, 1554, 630, - 929, 0, 940, 0, 940, 940, 0, 929, 2585, 2264, - 0, 2579, 0, 0, 1353, 0, 0, 0, 1566, 1353, - 0, 2580, 0, 0, 1518, 1555, 0, 0, 2581, 2586, - 3256, 3256, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2582, 0, 0, 0, 0, 1519, - 0, 1556, 1353, 1353, 1353, 0, 0, 1353, 0, 0, - 2322, 0, 0, 0, 0, 1353, 1353, 1353, 1353, 0, - 0, 0, 0, 0, 2587, 0, 0, 2588, 0, 0, - 0, 1353, 0, 0, 1353, 0, 1353, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1353, 1353, - 0, 0, 1353, 0, 0, 0, 0, 0, 0, 0, - 1520, 0, 0, 0, 0, 0, 0, 2688, 0, 0, - 0, 976, 1657, 1353, 0, 1353, 1558, 1353, 0, 0, - 0, 0, 0, 0, 0, 1997, 1559, 0, 0, 0, - 0, 1518, 0, 0, 0, 1560, 1353, 1521, 0, 4125, - 0, 0, 0, 843, 0, 0, 0, 1561, 0, 2583, - 0, 0, 1119, 0, 2584, 0, 0, 2589, 0, 0, - 0, 0, 0, 0, 843, 0, 1519, 0, 0, 5247, - 0, 0, 0, 0, 2688, 0, 0, 2585, 2264, 0, - 1522, 0, 0, 0, 0, 0, 3700, 0, 0, 1563, - 1564, 0, 630, 0, 0, 3417, 4162, 0, 2586, 0, - 4162, 4176, 4162, 0, 0, 0, 0, 0, 1353, 5270, - 0, 0, 0, 1353, 0, 891, 0, 0, 0, 0, - 0, 3701, 1524, 0, 0, 0, 0, 1520, 1353, 0, - 0, 5286, 0, 0, 2068, 0, 0, 0, 0, 2322, - 0, 0, 3417, 2071, 0, 0, 4207, 0, 891, 4210, - 3417, 0, 3466, 2587, 1526, 0, 2588, 0, 2539, 2513, - 0, 0, 0, 0, 1521, 0, 0, 0, 2514, 2515, - 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, 1119, - 0, 4619, 2558, 2559, 0, 0, 0, 1119, 1119, 0, - 1566, 0, 0, 1353, 0, 0, 35, 0, 2770, 0, - 0, 1528, 0, 0, 5314, 0, 0, 1522, 0, 0, - 1529, 0, 0, 0, 0, 0, 0, 0, 0, 1530, - 0, 0, 0, 929, 929, 0, 0, 2771, 1704, 1704, - 1704, 0, 0, 0, 0, 0, 0, 0, 0, 1532, - 0, 0, 0, 0, 0, 1523, 2589, 0, 1533, 1524, - 0, 0, 1534, 0, 0, 0, 0, 699, 0, 0, - 0, 0, 3189, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1548, 0, 0, 0, 0, 0, 1549, - 1589, 1526, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1535, 0, 0, - 0, 0, 0, 702, 3190, 0, 0, 0, 0, 1590, - 0, 0, 0, 35, 1551, 5398, 0, 0, 1528, 703, - 0, 843, 0, 0, 0, 0, 0, 1529, 0, 0, - 891, 2855, 0, 0, 0, 0, 1530, 1034, 2513, 0, - 3371, 891, 0, 0, 1591, 0, 0, 2514, 2515, 2516, - 2517, 2518, 2519, 2520, 2521, 2522, 1532, 891, 0, 0, - 4686, 3191, 0, 0, 0, 1533, 0, 0, 0, 1534, - 1552, 0, 706, 0, 0, 0, 0, 1553, 0, 0, - 1554, 707, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, - 3192, 0, 0, 0, 0, 0, 0, 1555, 0, 0, - 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1535, 0, 891, 1037, 0, 891, - 891, 0, 2896, 0, 0, 0, 1353, 0, 0, 0, - 2904, 0, 1353, 1556, 0, 0, 0, 0, 0, 0, - 0, 4397, 0, 929, 0, 0, 0, 0, 3193, 0, - 891, 891, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 712, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 843, 843, 843, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 843, 0, 0, - 0, 0, 0, 0, 1557, 0, 0, 0, 1558, 0, - 0, 1353, 0, 0, 0, 0, 0, 0, 1559, 0, - 0, 0, 0, 0, 0, 0, 0, 1560, 0, 1972, - 843, 843, 0, 0, 0, 843, 0, 0, 0, 1561, - 0, 0, 0, 0, 0, 213, 3194, 843, 1704, 717, - 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, - 1704, 0, 0, 0, 0, 2073, 0, 0, 2074, 0, - 0, 0, 2075, 2076, 2077, 0, 1041, 0, 1562, 3195, - 0, 1563, 1564, 0, 0, 0, 721, 891, 0, 0, - 0, 0, 2579, 722, 0, 0, 723, 0, 0, 0, - 0, 0, 2580, 929, 0, 0, 0, 0, 0, 2581, - 0, 0, 0, 1565, 0, 724, 0, 3151, 4583, 0, - 0, 0, 1043, 0, 0, 0, 0, 0, 843, 726, - 0, 0, 1044, 0, 0, 2582, 728, 0, 0, 0, - 0, 843, 0, 0, 0, 3033, 0, 0, 0, 3038, - 0, 3196, 0, 0, 0, 0, 0, 0, 0, 0, - 1353, 0, 0, 0, 0, 0, 0, 0, 1353, 0, - 1353, 0, 0, 0, 0, 0, 0, 733, 0, 0, - 1353, 0, 1566, 0, 1353, 1353, 0, 0, 0, 0, - 1353, 0, 0, 0, 0, 0, 0, 0, 1353, 0, - 1353, 0, 0, 1353, 0, 0, 0, 0, 1353, 1353, - 1353, 1353, 0, 0, 1353, 1353, 1353, 1353, 1353, 1353, - 1353, 1353, 1353, 1353, 0, 0, 0, 1353, 1353, 1353, - 0, 0, 0, 0, 0, 0, 0, 1353, 0, 0, - 0, 0, 1353, 0, 0, 0, 1353, 0, 0, 0, - 2583, 0, 0, 0, 1353, 2584, 0, 1353, 0, 1353, - 0, 0, 1998, 0, 0, 0, 0, 1998, 1998, 0, - 0, 0, 0, 0, 0, 0, 0, 1353, 2585, 2264, - 1353, 1353, 0, 0, 0, 1353, 1353, 0, 0, 0, - 1353, 0, 1353, 4715, 0, 0, 0, 0, 0, 2586, - 0, 843, 843, 843, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3222, - 0, 4162, 4176, 4162, 0, 1353, 4162, 0, 0, 4736, - 0, 0, 0, 3417, 0, 0, 0, 3417, 0, 0, - 2322, 3910, 0, 4751, 0, 0, 3916, 0, 3917, 0, - 0, 0, 0, 0, 2587, 0, 0, 2588, 3923, 0, - 0, 3924, 0, 3925, 3926, 0, 0, 3928, 0, 1353, - 0, 3931, 0, 3932, 0, 0, 3934, 0, 0, 0, - 5825, 0, 0, 0, 3466, 0, 1353, 0, 1548, 0, - 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4799, 1972, 1972, 0, 0, 1972, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1518, 0, 0, 0, 0, 0, 0, 5865, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1551, - 3973, 0, 0, 0, 2787, 4831, 0, 2589, 0, 0, - 0, 0, 0, 0, 0, 0, -136, 1519, 0, 0, - 0, 0, 0, 4854, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 3, 4, 0, 0, 1552, 0, 0, 0, 0, - 0, 0, 1553, 0, 0, 1554, 0, 0, 0, 5, - 0, 0, 0, 0, 0, 0, 4903, 0, 1520, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 1555, 8, 9, 0, 0, 0, 0, 0, - 10, 0, 11, 0, 0, 0, 0, 0, 0, 2513, - 0, 1704, 0, 0, 12, 1521, 13, 0, 2514, 2515, - 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 1556, 0, - 0, 4793, 4948, 14, 0, 0, 15, 0, 0, 0, - 0, 0, 0, 0, 0, 928, 930, 0, 0, 933, - 0, 16, 0, 17, 0, 0, 0, 18, 1522, 0, - 0, 0, 0, 19, 0, 929, 0, 0, 0, 991, - 0, 20, 0, 21, 0, 0, 1001, 0, 0, 929, - 22, 1353, 0, 0, 0, 0, 0, 0, 843, 0, - 0, 0, 0, 0, 4992, 0, 1523, 0, 23, 1657, - 1524, 0, 0, 1558, 0, 2787, 0, 0, 0, 0, - 0, 0, 0, 1559, 0, 24, 0, 0, 0, 0, - 843, 0, 1560, 0, 0, 3417, 3845, 0, 0, 0, - 0, 1606, 1526, 3729, 1561, 0, 0, 0, 0, 0, - 0, 0, 5041, 0, 0, 0, 0, 0, 0, 0, - 0, 3473, 843, 0, 0, 2688, 3479, 0, 0, 0, - 0, 0, 25, 26, 1353, 1353, 0, 0, 27, 0, - 1607, 0, 0, 3567, 35, 1353, 1563, 1564, 0, 1528, - 0, 0, 28, 0, 0, 0, 1972, 843, 1529, 0, - 0, 0, 0, 0, 0, 0, 0, 1530, 0, 0, - 29, 0, 0, 0, 843, 1608, 0, 0, 1565, 0, - 0, 0, 0, 891, 0, 0, 0, 1532, 0, 891, - 0, 0, 0, 0, 0, 0, 1533, 4242, 0, 0, - 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 1353, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 1353, - 891, 0, 0, 0, 32, 33, 0, 34, 0, 0, - 0, 0, 35, 1353, 0, 0, 0, 1566, 36, 0, - 0, 37, 0, 0, 0, 1535, 0, 0, 38, 0, - 0, 0, 0, 0, 0, 39, 40, 0, 4292, 0, - 4294, 1353, 0, 41, 1353, 0, 3366, 42, 0, 0, - 0, 0, 1353, 1353, 0, 0, 0, 43, 0, 0, - 1353, 1353, 0, 0, 0, 1353, 0, 0, 0, 0, - 0, 0, 1353, 44, 0, 1353, 1353, 0, 0, 0, - 0, 0, 1353, 0, 0, 0, 843, 843, 843, 843, - 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, - 0, 0, 630, 0, 46, 4162, 0, 0, 0, 3417, - 47, 0, 0, 0, 3417, 48, 0, 3417, 630, 0, - 3729, 0, 5204, 0, 0, 1353, 0, 976, 49, 0, - 0, 0, 0, 0, 0, 0, 1353, 0, 0, 0, - 4207, 0, 0, 0, 1353, 0, 3466, 0, 2073, 0, - 0, 2074, 50, 0, 0, 2075, 2076, 2077, 0, 0, - 0, 782, 0, 0, 1353, 0, 0, 0, 0, 0, - 0, 56, 0, 0, -136, 2579, 0, 1704, 0, 0, - 0, 0, 4396, 0, 1548, 2580, 0, 0, 4403, 0, - 1549, 0, 2581, 0, 0, 1119, 0, 0, 2787, 0, - 0, 0, 5259, 0, 0, 0, 0, 0, 0, 891, - 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1551, 0, 0, 1061, 0, - 1064, 0, 0, 1066, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1369, 0, 0, 1092, 0, 0, - 0, 0, 0, 1096, 0, 0, 0, 1353, 0, 0, - 0, 0, 0, 0, 1353, 0, 0, 0, 0, 0, - 0, 0, 2688, 0, 0, 0, 2688, 0, 0, 0, - 0, 1552, 0, 0, 0, 0, 0, 929, 1553, 0, - 0, 1554, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2073, 929, 0, 2074, 0, 0, 0, 2075, 2076, - 2077, 0, 0, 0, 0, 0, 0, 0, 1555, 0, - 0, 0, 0, 2583, 1369, 0, 0, 0, 2584, 0, - 0, 0, 0, 1353, 0, 0, 0, 0, 2580, 0, - 0, 0, 0, 0, 0, 2581, 0, 0, 1369, 630, - 0, 2585, 2264, 0, 1556, 0, 2787, 0, 0, 0, - 0, 0, 4565, 0, 4567, 1972, 4569, 0, 0, 0, - 0, 2582, 2586, 0, 0, 0, 0, 0, 0, 891, - 3845, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 929, 891, 3867, 0, 0, 0, 891, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2322, 0, 3738, 0, 0, 0, 0, - 0, 843, 0, 0, 0, 1657, 0, 2587, 891, 1558, - 2588, 0, 843, 0, 0, 0, 0, 0, 0, 1559, + 650, 71, 80, 83, 84, 175, 85, 86, 106, 926, + 184, 124, 129, 159, 960, 178, 185, 802, 1102, 804, + 1734, 191, 1001, 810, 996, 1006, 766, 995, 818, 826, + 830, 1831, 833, 1661, 1048, 826, 826, 1389, 863, 657, + 866, 1491, 191, 2002, 1948, 1714, 708, 922, 922, 922, + 1377, 793, 2954, 937, 1228, 1229, 1230, 793, 180, 2876, + 1234, 181, 1477, 1442, 1479, 2847, 3647, 1825, 1666, 2742, + 1433, 1434, 183, 1462, 186, 1418, 1726, 3524, 828, 3249, + 1441, 2833, 3525, 3894, 1891, 1194, 2846, 1142, 1234, 2050, + 2042, 4053, 1140, 948, 864, 1417, 1004, 2859, 3111, 3977, + 4222, 3265, 4224, 1405, 1448, 1864, 4447, 1201, 4289, 1869, + 1026, 1510, 2034, 3240, 1873, 4862, 2036, 1175, 3301, 2037, + 2038, 4621, 3023, 3305, 1883, 2915, 2915, 3807, 4341, 2915, + 4369, 1188, 4373, 4595, 1048, 800, 2742, 4397, 1903, 4399, + 3916, 4608, 4544, 4877, 1069, 860, 4926, 4264, 829, 4303, + 5299, 4896, 3357, 3775, 3359, 939, 4646, 1202, 2674, 940, + 931, 2984, 2985, 1185, 5543, 3130, 1820, 5134, 5103, 1937, + 3178, 3550, 3552, 2824, 5142, 3289, 3293, 3296, 3297, 5163, + 3925, 3306, 5616, 3308, 3309, 5641, 5152, 1048, 5237, 232, + 5238, 650, 951, 951, 1573, 4965, 951, 4194, 5492, 5716, + 962, 5311, 863, 5313, 2980, 998, 823, 1601, 962, 1660, + 5151, 962, 3431, 857, 863, 1142, 951, 3433, 1692, 863, + 1397, 4278, 3443, 951, 3516, 863, 875, 3519, 1719, 5460, + 5755, 3012, 1623, 2824, 5499, 4309, 4091, 1640, 5768, 4605, + 1048, 649, 1484, 4191, 4247, 5488, 5365, 775, -2577, 1487, + 2824, 775, -2619, 5961, -2645, -2686, 2804, 4093, 1173, 714, + 4127, 1177, -1980, 1876, 849, 3913, 1899, 4104, -1980, 3495, + 2991, 5633, 4631, 3853, 2877, 3856, 3857, 5491, 3325, 1900, + 3861, 3862, 3863, 1417, 3865, 3866, 3867, 1568, 5257, 3245, + 2877, -1947, 5713, -1960, 714, 6153, 4180, -1947, -1985, -1960, + 4302, -2465, 1048, 1532, -1985, 3368, 2633, -2465, 3489, 6000, + -2465, -2465, 4262, 775, 4267, 4268, 1861, 5949, -2425, 1423, + 667, 1430, 1431, 648, -2425, 3834, 1019, 5669, 1568, 5343, + 6146, 3490, 1440, 1568, -2005, -2498, 5679, 5680, 2997, 1856, + -2005, 2850, -2466, 5885, 1605, 1129, 775, -1975, -2466, -2874, + 2994, -2466, -2466, -1975, 5021, -2874, -2581, -1988, -2874, -2874, + 946, 5707, 3275, -1988, 714, 714, 1209, 775, 1260, 714, + 2108, 3276, 714, 2762, -1988, 2596, 1930, 5800, 2596, 3108, + -1988, 2915, 4560, 2610, 867, 1602, 714, 1213, 3223, 6148, + 4055, 775, 2611, 2593, -1919, 2113, 1602, 4641, 680, 1031, + 714, 3207, 775, 4041, 714, 5911, 4451, 5913, 1031, 4337, + 1393, 5917, 5918, 5164, 1833, 4043, 5032, 3463, 1533, 1142, + 5327, 3366, 5705, 5791, 3769, 6240, 6241, 781, 2787, 2639, + 2850, 781, 949, 781, 781, 6307, 1930, 3342, 1930, 2788, + 6158, 961, 1825, 934, 2685, 1726, 6134, 5921, 1930, 961, + 1878, 782, 961, 5632, 5254, 782, -2250, 782, 782, 6424, + 2900, 6126, 2641, -2250, 4983, 2819, 665, -2642, 3368, 5646, + 3466, -150, 682, 2679, 3571, 5453, 3277, -150, 1433, 1434, + 3521, 3141, -624, 1232, 1540, 1930, 5822, 5113, 1480, 1930, + 2681, 6065, 3821, 3410, 6414, 3464, 996, 5963, 1704, 5982, + 3411, 1913, 2612, 1032, 3142, 5371, 661, 194, -2269, 3086, + 1441, 4471, 1032, 2878, 781, -2269, 5362, 4293, 5211, 5212, + 5213, 2113, 5215, 5216, 5217, 5218, 5219, 1901, 2908, 2878, + 6453, 2850, 6114, 4094, 1930, 781, 2850, 5756, 782, 5996, + 1448, 664, 2850, 4105, 6465, 2932, 996, 6452, 1930, 5983, + 1956, 1902, 195, 2850, 3278, 2639, 4294, 5823, 662, 782, + 4181, 1096, 4472, 2850, 2820, 2978, 3572, 1106, 6066, 1033, + 5882, 5255, 194, 4127, 1233, 4467, 1482, 941, 1033, 1120, + 2850, 4474, 2634, 5114, 3109, 2105, 2113, 1820, 2641, 1946, + 5997, 1456, 3522, 3087, 3343, 4984, 5454, 4127, 1825, 1541, + 714, 1986, 1534, 888, 5922, 2901, 2781, 3822, 6159, 3367, + 5792, 2023, 6308, 5033, 6296, 2599, 1456, 195, 6363, 2789, + 2639, 1271, 2033, 6242, 4127, 2677, 4592, 899, 4128, 4129, + 4130, 1034, 3279, 6135, 5744, 3280, 4071, 1142, 2613, 2043, + 1034, 5801, 2047, 715, 1535, 5328, 4182, 2860, 1983, 4532, + 2676, 5834, 4042, 2641, 693, 2951, 694, 1051, 3223, 5597, + 3590, 2790, -448, 863, 4044, 951, 3027, 951, 942, 4544, + 951, 3143, 1862, 2949, 5115, 4632, 2952, 998, 1079, 1536, + 5344, 5920, 1109, 698, 951, 1931, 3208, 2879, 3223, 191, + 951, 3369, 2026, 4452, 3224, 4338, 3223, 5000, 6139, 2992, + 5708, 3835, 6125, 2879, 1134, 1612, 958, 3011, 2594, 3021, + 3022, 6053, 4561, 3065, 650, 926, 6058, 6059, 2880, 4642, + 1430, 1431, 6383, 962, 2959, 5333, 1076, 998, 1233, 1077, + 962, 3489, 6312, 962, 2880, 4183, -2642, 2998, 1428, 868, + 1078, 1946, 1080, 2881, 6464, 1931, 2809, 1931, 2027, 951, + 1233, 1205, 1537, 3281, 3490, 2652, 6470, 1931, 1440, 2881, + 3261, 1862, 787, 788, 3110, 3020, 6001, 2999, 2877, 5561, + 2615, 1263, 1142, 4095, 3460, 2628, 2628, 2608, 4142, 2995, + 1142, 1142, 191, 4106, 2875, 5112, -2577, 6147, 3436, 2921, + -2619, -1980, -2645, -2686, 1931, 5956, 3619, 2719, 1931, 668, + 2875, 2104, 863, 1492, 2720, 1206, 2708, 1211, 2893, 1215, + 6311, 1253, 6362, -2642, 2938, 1219, 6079, 5159, 5007, 3196, + 1432, 1222, 1436, 1725, 5011, -2642, 5160, -1985, 787, 788, + -2465, 1383, 1383, 5372, 863, 826, 3028, 4132, -2250, 826, + 2894, 2972, 2973, 1931, 5381, 1039, 6149, -2425, 4932, 1040, + 1932, 5959, 5116, 863, 4198, 3180, 6234, 1931, 863, 6395, + 1542, 787, 788, 2065, 1383, 6244, 1843, 1443, 1444, 3282, + 1848, -2466, 1849, -2498, 996, 3412, -1975, 1847, -2874, 2657, + 2658, 2655, 787, 788, 1443, 1444, 1445, 4544, 3206, 6263, + -2269, 939, 6097, 2109, -2581, 940, 2828, 3704, 2597, 1703, + 3221, 6411, 4505, 1447, 4264, 1704, 1603, 1604, 4912, 1236, + 1939, 1383, 1943, 2581, 4737, 4738, 2811, 1603, 1604, 2979, + 2877, 944, 1954, 4133, 6294, 863, 2818, 5117, 1543, 4468, + 71, 80, 83, 84, 175, 85, 86, 106, 863, 184, + 124, 129, 159, 2877, 178, 185, 4970, 2728, 1838, 2828, + 191, 2902, 5868, 863, 1525, 949, 4462, 4463, 1632, 1976, + 2782, 4464, 5998, 1979, 961, 1236, 2828, 6199, 4605, 1039, + 4586, 961, 863, 1040, 961, 4742, 6314, 951, 951, 4311, + 3267, 4312, 1633, 2680, 2861, 4305, 4593, 180, 3064, 6210, + 181, 1039, -150, -150, 4593, 1040, 5999, 3591, 2862, 4801, + 2863, 183, 4886, 186, 6118, 1862, 5071, 2878, 1946, 826, + 826, 1946, 5075, 2939, 1705, 4524, 4525, 2942, 2943, 4842, + 3230, 6417, 4683, 4846, 2803, 3516, 959, 4283, 2027, 3054, + 5530, 4229, 1383, 1383, 4723, 6124, 2578, 2579, 2580, 2581, + 5743, 4686, 3082, 5074, 4104, 1496, 650, 1424, 951, 4683, + 2877, 3300, 962, 6361, 1092, 998, 962, 1128, 962, 1880, + 1547, 6317, 6318, 951, 1392, 1156, 2864, 6106, 1402, 4832, + 3791, 4834, 4835, 6156, 3395, 2681, 3792, 3884, 714, 6188, + 5749, 3981, 1930, 6117, 714, 2971, 6269, 863, 4139, 4140, + 4141, 4142, 1224, 4519, 951, 951, 4584, 3686, 5872, 2576, + 2577, 2578, 2579, 2580, 2581, 3736, 3489, -1947, 6190, 3489, + 4137, 4138, 4139, 4140, 4141, 4142, 863, 863, 863, 6191, + 951, 1129, 650, 6302, 650, 650, 6295, 1452, 714, 3490, + 1825, 2783, 3490, 2981, 4134, 4135, 4136, 4137, 4138, 4139, + 4140, 4141, 4142, 709, 4926, 1614, 6428, 5414, 5843, 4342, + 5514, 941, 3231, 6352, 4306, 3687, 4998, 3489, 951, 2878, + 951, 951, 1624, 6235, 3610, 3489, 5818, 3696, 3124, 3664, + 5183, 5415, 3982, 5652, 5128, 4093, 3241, 6025, 3416, 2877, + 3490, 2879, 2878, 2838, 6397, 3793, 823, 1684, 3490, 3719, + -1947, 3885, 2113, 1383, 3641, 3737, 6418, 4647, 1706, 1048, + 6243, 1094, 3120, 1095, 3872, 1453, 3, 4, 1130, 6221, + 1261, 3042, 2880, -1780, 3218, 3219, 803, 2877, 3396, 2004, + 1923, 2004, 1615, 3397, 979, 863, 191, 802, 932, 3121, + 1015, 980, 981, 982, 1924, 3665, 6098, 2881, 5813, 1988, + 1707, 1990, 942, 1992, 934, 1994, 2877, 1996, 1997, 1998, + 3738, 2040, 2918, 863, 2000, 2922, -1099, 2046, 4425, 2641, + 3365, 1016, 1407, 3611, 4359, 5762, 1698, 1946, 1862, 3720, + 3688, 1383, 760, 5763, 3398, 1708, 6024, 1625, 2875, 2064, + 1225, 6296, 6442, 1454, 2842, 3013, 1455, 949, 4648, 2878, + 2877, 1925, 15, 961, 943, 5942, 933, 961, 3055, 961, + -2421, 1154, 5945, 2784, 2877, 926, 3549, 3182, 3621, 1699, + 4541, 5953, 3739, 1383, 5955, 5490, 6319, 5543, 5093, 5941, + 4105, 3620, 5970, 1922, 3159, 5958, 6350, 1154, 3417, 20, + 6056, 5819, 6337, 2879, 2105, 3914, 3205, 6297, 3171, 5484, + 3210, 5478, 1383, 1383, 1383, 3217, 1383, 3639, 3220, 5957, + 3155, 3177, 5509, 1210, 1212, 1214, 2879, 4111, 1216, 1217, + 1218, 5991, 5820, 1915, 2880, 1917, 1918, 1383, 1223, 3794, + 5543, 2957, 3472, 4426, 1093, 4084, 1131, 3849, 1881, 5339, + 3232, 3189, 3176, 714, -1947, 1157, 6360, 2880, 6271, 2881, + 934, 1931, 3299, 3299, -1780, 1926, 3697, 6367, 3528, 2785, + 4638, 3233, 3886, 5356, 1456, 3705, 2637, 3326, 863, 1514, + 3983, 3795, 2881, 5461, 1132, 3706, 3347, 3316, 2878, 5515, + 3844, 5208, 4342, 6174, 1514, 3984, 1383, 3200, 3399, 996, + 2875, 3873, 1227, 3122, 6222, 3740, 6396, 4123, 807, 2824, + 2686, 2687, 4927, 2691, 940, 940, 3796, 940, 3689, 710, + 3614, 4094, 6192, 2875, 2844, 2772, 2878, 5764, 5864, 5814, + 5416, 1626, 5462, 2879, 3157, 5858, 4649, 3837, 1927, 6426, + 4375, 6272, 1383, 4688, 6252, 2773, 1383, 1383, 1133, 3170, + 1134, 4227, 3172, 6279, 1135, 2878, 5094, 863, 863, 863, + 2726, 5929, 1383, 5332, 2880, 944, 3887, 6002, 3262, 1515, + 3264, 6443, 5300, 1627, 1700, 5723, 3271, 3081, 2954, 6108, + 711, 1499, 3286, 3287, 1515, 826, 4124, 4125, 6223, 2881, + 1457, 4144, 3943, 1039, 3310, 3072, 4276, 1040, 3260, 2878, + 3448, 1408, 3209, 4978, 3330, 32, 3215, 3216, 1628, 935, + 3345, 4650, 6175, 2878, 4460, 1458, 3077, 6224, 1452, 3554, + 2815, 5139, 712, 1516, 713, 826, 3449, 4427, 951, 5724, + 2875, 5457, 5725, 4175, 4176, 6003, 3741, 40, 1516, 5726, + 1928, 863, 2849, 6273, 3742, 2845, 4870, 3743, 5140, 3432, + 863, 1271, 4470, 951, 4127, 4376, -1124, 6252, 4128, 4129, + 4130, 5479, 2879, -1947, 1496, 3201, 1496, 5727, 5173, 4428, + 3529, -1947, 2772, 1432, -1947, 1461, 44, -1947, 1409, 5303, + 998, 4507, 863, 1895, 5307, 826, 1701, 5309, 2917, 2917, + 1257, 4689, 2917, 2880, 1825, 1965, 1453, 5758, 5854, 3202, + 2879, 1525, 826, 1842, 4429, 863, 1525, 6044, 863, 3120, + 1723, 5930, 5759, 3203, 1851, 5101, 3966, 4544, 2881, 4574, + 48, 6257, -1781, 3610, 761, 4914, 1896, 5728, 5757, 2879, + 1859, 2880, 951, 49, 4979, 1540, 3121, 1517, 1966, 4972, + 5729, 3078, 40, 3925, 813, 2774, 680, 5748, 5139, 6233, + 863, 3204, 1517, 5730, 3623, 2089, 2881, 50, 5621, 2875, + 2880, 4284, 951, 951, 951, 951, 863, 2742, 5668, 1031, + -1097, 2742, 1629, 2879, 1454, 5140, 762, 1455, 6252, 6055, + 863, 44, 1525, 3000, 6176, 2881, 1525, 2879, 2777, 6177, + 5931, 1383, 1383, 1383, 3744, 4696, 4888, 2875, 6274, 3073, + 831, 1500, 2761, 814, 2880, 5088, 5133, 985, 986, 987, + 988, 989, 990, 991, 992, 993, 2778, 1518, 2880, 3569, + 682, 3158, 3611, 5065, 6178, 48, 2875, 1590, 5069, 2881, + 40, 3610, 2692, 4690, 6257, 2695, 996, 996, 49, 3555, + 3168, 4865, 3556, 2881, 4131, 4980, -711, 5092, 5130, 2766, + 1541, 1987, 5141, 3624, 1989, 1519, 1991, 2975, 1993, 1520, + 1995, 2767, 50, 35, 1999, 2944, 6310, 4132, 6195, 44, + 2875, 1820, 1039, 1032, 5855, 3744, 1040, 684, 4753, 2768, + 4754, 3530, 1246, 2696, 2875, 4377, 4378, 2030, 3226, -1704, + 863, 5881, 2774, 1074, 1521, 1456, 1724, 2778, 3151, 40, + 6168, 863, -1704, -1781, 1946, 4045, 194, 4541, -1704, 951, + 951, 4575, 5760, 48, 1522, 1271, 4379, 1523, 4127, 5102, + 6340, 1897, -3001, -3001, -3001, 951, 49, 3646, 3001, 1522, + 3611, 6341, 1523, 1967, 858, 4996, 4942, -2449, 44, 1033, + 5472, -175, 4285, 863, 2917, 6359, 2695, 2693, 6196, 2697, + 50, 195, 815, 4133, 3489, 6257, 4898, -1704, 3489, 951, + 951, 951, 951, 6203, 5731, 996, 3612, 5732, 863, 56, + 4697, 4943, -175, 5678, 1247, 863, 1442, 3490, 3131, 6112, + 5089, 3490, 48, 1524, 3520, 1198, 5297, 5566, 2779, 3227, + -1704, 4046, 5962, 650, 2696, 49, 650, 1553, 4889, 2698, + 5536, 1034, 693, 4863, 694, 4890, 962, 962, 3613, 3614, + 835, 1457, 4891, 5948, 1590, -1124, 3797, 998, 998, 50, + 2945, 962, 4866, 5537, 962, 2946, 1663, 1946, 697, 5538, + 3755, 1877, 5969, 1898, 1474, 4755, 3198, 2850, 56, 951, + 951, -1704, 834, 5539, 4899, 1968, 951, 2867, 863, 2851, + 4892, -1704, 1826, 870, 2769, 1827, 3198, 1404, 3798, 1264, + 5651, 1632, 3646, 3489, 2699, 2004, 1480, 3198, 1664, 4944, + 5567, 3693, 951, 4893, 962, 3805, 191, 3214, 962, 962, + 4864, 863, 863, 2868, 951, 1633, 3490, 3508, 3190, 3292, + 3191, 863, 3192, 3799, 3193, 5675, 3194, 3717, 863, 6321, + 3195, 863, 3131, 5790, 5683, 802, 3636, 4354, 802, 3251, + 2698, 3999, 1079, 1383, 2601, 1383, 836, 3614, 5528, 5676, + 1383, 1383, 4900, 191, 4365, 4541, 4901, 1383, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, + 1475, 4687, 1979, 1383, 5593, 1383, 998, 1383, 1383, 1383, + 1383, 1383, 1383, 3246, 1482, 1383, 1248, 1383, 1383, 4699, + 1076, 1383, 4465, 1077, 4134, 4135, 4136, 4137, 4138, 4139, + 4140, 4141, 4142, 3451, 1078, 2699, 1080, 5540, 1383, 1383, + 1383, 2742, 5459, 4968, 1665, 4355, 5086, 6381, 2602, 4711, + 5340, 2742, 6116, 3838, 3839, 3840, 1383, 3717, 3235, 1249, + -1704, 1250, 3570, 6289, 3498, 1483, 3754, 1142, 680, 1408, + 4724, 4353, 760, 6440, 6463, 4728, 2954, 4133, 3800, 3731, + 6399, 5483, 6115, 6133, 3801, 1862, 3250, 928, 6290, 4736, + 5689, 6472, 15, 187, 949, 6454, 951, 949, 3492, 3666, + 4466, 3993, 4171, 3729, 3781, 3730, 5470, 961, 961, 5627, + 5940, 5629, 5779, 2112, 187, 1204, 2113, 6434, 2898, 3802, + 5087, 4969, 961, 3882, 5341, 961, 2742, 2113, 1039, 20, + 4545, 1466, 1040, 946, 29, 4727, 3925, 5690, 4669, 3828, + 4732, 4733, 682, 1694, 3633, 2855, 1409, 2856, 4305, 925, + 2639, 3806, 1881, 3489, 3489, 3499, 6140, -3001, 1257, 2915, + 3844, 2639, 5691, 661, 1271, 3667, 4514, 4127, 1245, 1881, + 35, 4128, 4129, 4130, 929, 961, 3490, 3490, 4548, 961, + 961, 5692, 5973, 2641, 5441, 1695, 5693, 2925, 4682, 1696, + 6141, 4794, 2928, 5541, 2641, 3929, 3930, 3931, 3932, 3728, + 3934, 2924, 3803, 1383, 5449, 5542, 5451, 2619, 5694, -1704, + 1672, 945, 5695, 2857, 6236, 930, 1979, 6422, 5442, 6425, + 1697, 1419, -1704, 4469, 3772, 3962, 3773, 5696, -1704, 5432, + 3777, 5433, 5434, 5435, 40, 4683, 5990, 3804, 3756, 4550, + 5373, 1121, 4829, 3376, -474, 3377, 3759, 954, 5379, 3762, + 2620, 4898, 4749, 4750, 4751, 4752, 5952, 1383, 4756, 4757, + 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 3003, 5914, + 4506, 3378, 3009, 44, 5915, 2963, 1673, -1704, 1122, 4831, + 4037, 6466, 2944, 1469, 938, 5675, 956, 4308, -3001, -3001, + -3001, 4137, 4138, 4139, 4140, 4141, 4142, 4378, 1400, 5919, + 6132, -3001, 1506, 977, 4254, 2964, -3001, 4254, 40, 5676, + -1704, 1121, 6342, 1383, 4545, 3955, 1123, 48, 1674, 781, + 4546, 2605, 4805, 4806, 693, 1675, 694, 4956, 5916, 1676, + 49, 6313, 1979, 5697, 4547, 32, 3379, 6343, 4927, 4899, + 1507, 4255, 2867, 782, 1508, 3037, 4617, 44, 1122, 1098, + 5445, 1099, 1480, 1877, 50, 4553, 3048, -3001, 1481, 6201, + 1632, -1704, 4548, 3917, 4549, 1632, 1124, 40, 1642, -474, + 4927, -1704, 3066, 56, -1437, 4256, -1437, 978, 2868, 1509, + 4132, 6323, 4255, 1501, 1633, 4255, 4587, 5698, 1511, 1633, + 4848, 48, 3380, 3381, 3382, 3383, 1669, 3489, 1973, 3384, + 3385, 4554, 4161, -150, 3489, 3386, 44, 4422, 4168, 3489, + 1643, 1645, 3489, 4258, 3014, 2646, 4256, 4900, 4555, 4256, + 3490, 4901, 1974, 4550, 5034, 1502, 3140, 3490, 5083, 6435, + 1512, 4257, 3490, 1646, 4257, 3490, 1124, 2945, 1670, 5051, + 1482, 3152, 2946, 1021, 1154, 3156, 3016, 56, 5035, 4423, + 48, 6043, 4551, 2105, 4258, 5084, 3015, 4258, 3083, 3017, + 1503, 1030, 5052, 49, 4223, 1513, 4133, 4025, 5856, 3736, + 6205, 6206, 6436, 1671, 4067, 3175, 1154, 1038, 3113, 2650, + 2850, 4407, 233, 4259, 4424, 1647, 4259, 50, 666, 3018, + 1082, 1483, 2858, 4408, 3900, 5857, 758, 1383, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 56, 1383, 4026, 1677, + 1985, -3001, 4927, 1827, 832, 4878, 40, 863, 1383, 5675, + -1704, 1383, 4556, -1751, 714, 5783, 1635, 4068, 863, -1751, + 1398, 1645, 4069, 6427, 4552, 3600, -1951, 3604, 3605, 4553, + 4260, 996, -1951, 5676, 3603, 1711, 1084, 1678, 1715, 5784, + -1958, 1679, 5884, 1646, 1089, 44, -1958, 5888, 5889, 3737, + 863, 3387, 1383, 4315, 2035, 951, 1383, 1827, 1432, 1383, + 2675, 1383, 3444, 3388, 1383, 3326, 3326, 1648, 1383, 1117, + 3326, 4260, 4475, -1948, 4260, 4554, 1680, 2636, 1039, -1948, + 1827, 5297, 1040, 1681, 4234, 4235, 5685, -1949, 1103, 48, + -1952, 3491, 4555, -1949, 4343, 1647, -1952, 863, 863, -1950, + -623, -1751, 49, 6300, 3738, -1950, 4254, -3001, 1383, 3360, + 3597, 4225, 3326, 3326, 1443, 1444, 1125, 1383, 1383, 2576, + 2577, 2578, 2579, 2580, 2581, 1649, 50, 4310, 1126, 4383, + 1650, 863, 714, 1445, 3632, 1651, 1443, 1444, 2106, 3535, + 5200, 3540, 2886, 4271, 2887, 56, 6438, 4196, 775, 6441, + 775, 2953, -1751, 5974, 4281, 1447, 5207, 714, 2649, 3901, + 775, 2650, 5082, 4791, 4949, 2676, 3739, 4134, 4135, 4136, + 4137, 4138, 4139, 4140, 4141, 4142, 1825, 3489, 4603, -1704, + 1148, 802, 5324, 802, 4255, 714, 1653, 1648, 714, 6154, + 4955, 5013, -1704, 4126, 5289, 6155, 4556, 1383, -1704, 5230, + 3490, 2683, 1127, 6355, 1827, 4154, 5235, 5236, 650, 790, + 1144, 962, 998, 962, 962, 790, 3532, 951, 4256, 5135, + 863, 3186, 4654, 5167, 2650, 2628, 3735, 4655, 4655, 3573, + 1142, 3576, -2824, 4257, 1655, 4541, -2824, 4346, 1622, 4885, + 5870, 826, 4178, 1639, 1432, 1649, 2675, -1704, 5875, 5876, + 1650, 187, -2417, 2849, 40, 1651, 4258, 1039, 1656, 1227, + 1155, 1040, 4945, -2418, 4952, 1164, 3652, 863, 1039, 1165, + 1227, 2953, 1040, 3663, 1432, -1703, 1461, 6288, 4913, 1658, + -1704, 1189, 863, 6248, 29, 4259, 4209, 3197, -1703, 3740, + 3198, 1171, 4930, 44, -1703, 1039, 1182, -2425, 2742, 1040, + 1438, 1439, 3199, 4698, 863, 3198, 1653, 3825, 3380, 3381, + 3382, 3383, 4590, 6198, 5304, 4153, 3238, 4155, 4156, 3239, + 1199, 4562, 4417, 4319, 775, 863, 3447, 3618, 661, 1979, + 1659, -1704, 649, 3465, 3467, 3468, 3902, 48, 826, 3452, + 1227, -1704, 2650, -1703, 187, 925, 3025, 3026, 3541, 4971, + 49, 2650, 1226, 4927, 1655, 5771, 2051, 3630, 56, 3489, + 3631, 951, 3711, 3878, 951, 3712, 3879, 3, 4, 4017, + 4316, 4317, 3198, 1432, 50, 2675, -1703, 4066, 1656, 3489, + 2650, 1231, 3490, 4260, 40, 1235, 4075, 1142, 3903, 2650, + 863, 863, 4330, 56, 3146, 5849, 3147, 6218, 4082, 1658, + 4083, 2650, 3490, 2650, 4442, 3808, 1238, 3811, 3813, 4448, + 1241, 3489, 4102, 3771, 3487, 3837, 4113, 1243, 4146, 2650, + 3741, 2650, 4087, 44, 4088, 3064, 1244, -1703, 3742, 932, + 4160, 3743, 3726, 2650, 3490, 4165, 1254, -1703, 4166, 1383, + 1383, 1383, -1752, 4232, 4400, 1383, 2650, 4401, -1752, 949, + 1659, 1256, 961, 951, 961, 961, 6400, 1257, 4533, 4405, + 6122, 4433, 4406, 1255, 4434, 4503, 951, 48, 4434, 4214, + 4626, 4215, 1383, 4627, 951, 4629, 4660, 5305, 4630, 4661, + 49, 4774, 1258, 4059, 4775, 4061, 4062, 2849, 1265, 4184, + -1704, 4185, 863, 4785, -1149, -1149, 4786, 933, 3915, 5153, + 4797, 802, 4873, 2650, 50, 4874, 4879, 1259, 4884, 4880, + 938, 3556, 187, 951, 3926, 5136, 5146, 4186, 3198, 4438, + 3517, 3518, 5202, 6249, 3808, 2027, 5242, -1775, -1775, 2650, + -1752, 1940, 6456, 1403, 951, 4875, 3948, 1944, 4614, 1406, + 4615, 4455, 5483, 5279, 1267, 5335, 2650, 1955, 3556, 5359, + 1410, 1958, 5360, 3489, 5076, 1961, 5077, 1963, 5575, 5366, + 3966, 5576, 3198, 1971, 5367, 1443, 1444, 3198, 4056, 1977, + 3351, 5368, 1980, 3354, 3198, 951, 3490, 951, 4216, 951, + 4217, -1752, 3379, -1779, -1779, 1271, -1703, 4580, 4127, -1778, + -1778, 934, 4128, 4129, 4130, 5485, 5522, 5558, 5486, 4661, + 5559, 4929, 5560, 4931, 5580, 2650, 4934, 5581, 5590, 5644, + 5645, 1979, 2004, 3944, 5596, 2742, 2681, 4600, 5598, 5718, + 1412, 4600, 5719, 5738, 1411, 996, 3198, 6041, 5772, 4927, + 5832, 5773, 3489, 5833, 5838, 6017, 6018, 1979, 3380, 3381, + 3382, 3383, 1420, 5841, 5852, 4187, 4600, 5853, 1425, 5903, + 5944, 4188, 5904, 2604, 5971, 3490, 6008, 5853, 6009, 4166, + 6029, 2650, 5245, 6030, 5246, 6033, 650, 951, 1979, 962, + 4692, 962, 962, 5804, 951, 5805, 4594, 1142, 1416, 1142, + 6034, 1383, 4563, 2650, 4565, 1726, 1383, 1428, 6064, 6070, + 6071, 3239, 3239, 3239, 6369, 6074, 6370, 926, 2650, 4573, + 6075, 4576, 6076, 2650, 1435, 6077, 5548, 5549, 6104, 6170, + 4780, 6105, 4600, 1466, 6185, -1692, 1825, 2650, 1449, 6187, + 6200, 6214, 2650, 3198, 6215, 6238, 6287, 2112, 6239, 5846, + 2113, 6320, 6365, 4277, 5853, 6366, 1383, 1383, 1383, 6122, + 935, 1383, 6164, 6165, 6385, 4927, 926, 6386, 1426, 1383, + 1383, 1383, 1383, 2681, 6393, 649, 6394, 4874, 1466, 2650, + 6421, 1142, 1432, 6030, 2639, 1383, 4635, 4955, 1383, 1467, + 1383, -3001, 6246, 4677, 6423, 6431, 6469, 2650, 6432, 6386, + 923, 924, 6471, 1383, 1383, 6432, 6473, 1383, 187, 6386, + 1436, 4825, 3599, 4827, 5288, 3489, 5291, 2641, 3607, 1451, + 4847, 4132, 4850, 2721, 1478, 2724, 998, 4189, 1383, 1493, + 1383, 1494, 1383, 1495, 1498, 1504, 4946, 1545, 3490, 4190, + 1461, 1571, -2467, 1574, 1576, 1577, 1612, 1616, 1617, 1618, + 1629, 1383, 1641, 1631, 4213, 1644, 1668, 3487, 863, 1685, + 1686, 1702, 1713, 1712, 1716, 3649, 1721, 4705, 1722, 3299, + 5357, 926, 1835, 1837, 4700, 1839, 2052, 1844, 5552, 863, + 1850, 1855, 1858, 1860, 1865, 1868, 4927, 1870, 1862, 4177, + 1879, 3326, 3326, 3326, 3326, 1884, 2061, 3326, 3326, 3326, + 3326, 3326, 3326, 3326, 3326, 3326, 3326, 4133, 1885, 650, + -137, 5180, 3491, 4252, 4219, 4220, 4221, 4252, 4266, 4252, + 4252, 1887, 1888, 926, 3489, 4777, 1383, 949, 1890, 1892, + 961, 1383, 961, 961, 1893, -3001, 4909, 1904, 2676, 1911, + -3001, 1913, 1916, 1920, 213, 1929, 1383, 3490, 1934, 1935, + 1936, 1938, 1941, 1942, 1945, 2102, 1946, 1953, 1957, 1959, + 3491, 3326, 3326, 1960, 4298, 1962, 1964, 4301, 3491, 1969, + 3540, 1970, 3693, 1972, 4966, 1975, 1978, 1981, 1982, 1984, + 2001, 2032, 2039, 2041, 5070, 2048, 2044, 2589, -3000, 2089, + 2049, -3001, 2056, 2057, 2058, 2059, 2060, 56, 2062, 2591, + 3717, 5057, 2063, 792, 5796, 2064, 2066, 2067, 4838, 792, + 2609, 1383, 4746, 2068, 2069, 2070, 2071, 2072, 2073, 2587, + 2622, 2074, 2075, 2076, 2631, 6398, 2077, 2078, 2079, 2593, + 2081, 3489, 2082, 3368, 2653, 951, 951, 2083, 2084, 2085, + 2086, 2087, 2088, 2091, 2092, 2093, 4773, 2094, 2095, 2646, + 2096, 2097, 2098, 2594, 3490, 2659, 5062, 2604, 2654, 2668, + 2661, 2662, 2665, 2666, 2669, 2670, 2671, 2672, 2677, 1481, + 1483, 1383, 2684, 2715, 2727, 3876, 2717, 2729, 2730, 938, + 938, 2731, 938, 2732, 2748, 2750, 2749, 2675, 2751, -3000, + 2752, 2753, 2754, 2755, 2756, 2757, 2758, 4813, 2764, 2780, + 2786, 2792, 2806, 2810, 2812, 2813, 2814, 2816, 2817, 2830, + 2834, 2835, 2836, 2853, 2871, 2865, 2874, 2872, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 2869, 4411, 2854, + 2873, 2883, 2875, 4277, 2885, 2889, 2890, 2884, 2909, 2895, + 2896, 2888, -3000, 2899, 2923, -3001, 2940, 2933, 2905, 2947, + 649, 2906, 863, 649, 2919, -3000, 2920, 2950, 2926, 1590, + 2929, -3000, 2917, 2930, 2935, 2936, 2948, -3000, 2955, 2956, + 2961, 2962, 2965, -3000, 2967, 2968, -3000, 5505, 2969, 2970, + -3000, 2974, 2976, 2982, 2977, 2993, 2983, 5810, 2996, 3007, + 3024, 3002, 3036, 3031, 3038, 3039, 3052, 3040, 3041, 3045, + 3489, 649, 3046, 3053, 3047, 3057, 3049, 3058, 3050, 649, + -3000, 3051, -3000, 3059, 3060, 3067, 3068, 3071, 5831, 675, + 3084, 3076, 3095, 3490, 3099, 3103, 1665, 3100, 3112, 3115, + 3118, 3119, 3487, 3128, 3139, 3487, 3145, 3161, 3149, 3132, + 3163, 3164, 4995, -3000, 3236, 3165, 3166, 3211, 3136, 3154, + 3179, -3001, 4037, 3248, 3267, 4048, 2113, 3414, 3356, 3222, + 3272, 3346, 3313, 2576, 2577, 2578, 2579, 2580, 2581, 3373, + 4058, 1383, 3394, 3352, 3392, 4063, 3420, 1383, 3435, 3440, + 3419, 3455, 1456, 3487, 933, 3439, 3441, 3453, 951, 3438, + 3454, 3487, 3456, 3497, -3000, 3457, 3458, 3462, -3000, 3470, + 3509, 3471, 3526, 3511, -3000, 3533, 4090, 3534, 3510, 3545, + 3489, 3326, 3546, 3512, 3492, 2112, 3489, 3548, 2113, 3565, + 3574, 3579, 2114, 2115, 2116, 863, 863, 863, 3582, 1271, + 3587, 3592, 4127, 3490, 3606, 3593, 4128, 4129, 4130, 3490, + 2681, 3595, 863, 3622, 3627, 1400, 3162, 3643, 3629, 1404, + 3644, 3645, 2639, 3655, 3169, 3668, 1383, 3673, 3700, 2640, + 3674, 3694, 3577, 3702, -3000, 2112, 3701, 3598, 2113, 5466, + 3707, 3727, 3637, 3749, 2004, 863, 863, 3718, 3710, 3728, + 863, 3725, 3748, 1881, 3809, 2641, 3824, 3765, 3832, 3836, + 3833, 934, 863, 5108, 5109, 3845, 2112, 3852, 5267, 2113, + 3858, 3859, 2639, -3001, -3001, -3001, 3860, 3864, 3891, -3001, + 3869, 3892, 3906, 5146, 3908, 3880, 3910, 3920, 3938, 3369, + 3927, 3939, 3941, 3912, 3946, 3942, 3949, 5315, 3953, 3954, + 3933, 3951, 3940, 2639, 3957, 2641, 3958, 3489, 3963, 3978, + 2640, 5192, 5193, 5194, 5195, 5196, 3979, 3980, 951, 3988, + 3989, 3990, 3992, -3000, 3994, 4008, 4011, 4014, 4010, 4016, + 3490, 4019, 3214, 4680, 4020, 1979, 2641, 4021, 4620, 4034, + 4022, 4023, 4038, 863, 4047, 4029, 4040, -3000, 4060, -3000, + -3000, 4050, 4039, 4079, 1976, 5197, 863, 1943, 4028, 4024, + 4052, 1233, 4077, 4078, 4080, 4081, 4092, 4097, 4099, 4624, + 4109, -3000, 4112, 2642, 4657, 1383, 3290, 4195, 2643, 4084, + 4811, -2242, 4159, 1383, 4101, 1383, 4162, 4179, 4193, 4244, + 4230, 4203, 4174, 5322, -3000, 4273, -3000, -3000, 4210, 1383, + 5439, 2644, 2306, 1383, 1383, 1383, 4103, 4114, 4115, 4119, + 1383, 5258, 4279, 1383, 4288, -3001, 1383, 5873, 3837, 4121, + 2650, 4122, 1383, -3001, 1383, 4123, 4204, 1383, -3001, 2645, + 4236, 4145, 1383, 1383, 1383, 1383, 4150, 4206, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 4151, 4158, + 1236, 1383, 1383, 1383, 2642, 4173, 4208, 4231, 187, 2643, + 4238, 1383, 4253, 4286, 4292, 4269, 1383, 926, 4237, 4290, + 1383, 4299, 2373, 4313, 4318, 2065, 4320, 4307, 1383, -3001, + 4321, 1383, 4239, 1383, 4331, 4245, 4325, 2646, 4327, 4339, + 4340, 4350, 4334, 4351, 4352, 4356, 4358, 4362, 4363, 1383, + 4364, 4133, 1383, 1383, 4367, 187, 5319, 1383, 1383, 4370, + 2645, 4368, 1383, 4385, 1383, 4817, 4386, 4374, 4388, 4394, + 4396, 4404, 4395, 863, 863, 863, 4412, 4421, 4435, 4437, + 4277, 4439, 4441, 4443, 5253, 4445, 4449, 2646, 4450, 3291, + 4456, 4457, 1645, 1383, 4252, 4266, 4252, 4252, 4454, 1383, + 4252, 1079, 4458, 4840, 4459, 4476, 4477, 3491, 4277, 4461, + 4478, 3491, 191, 3344, 1646, 4479, 4480, 4855, 2646, 4483, + 4486, 4481, 4488, 4818, 4819, 4820, 4821, 4482, 4484, 4492, + 4490, 4495, 4499, 2648, 4497, 2991, 2994, 4515, 4485, 4487, + 4937, 4511, 4489, 4491, 1383, 4501, 4430, 4502, 4432, 1076, + 4508, 3968, 1077, 4512, 4513, 4529, 4518, 5354, 4523, 3540, + 4531, 1383, 4566, 1078, 4571, 1080, 1647, 4947, 4572, 4581, + 4578, 4582, 4585, 5377, 2783, 1548, 4589, 792, 4599, 792, + 4600, 792, 4602, -3001, 4609, 4618, 4612, 792, 1220, 1221, + 4619, 4622, 4623, 4639, 4653, 4625, 4656, 4671, 5505, 4663, + 4659, 4665, 4672, 4673, 4674, 4675, 4676, 4693, 4694, 5450, + 4695, 1549, 4701, 4948, 2648, 4702, 4928, 2004, 2849, 2004, + 5417, 5418, 2004, 5420, 4936, 4714, 4703, 4704, 6280, 6281, + 4706, 4678, 6283, 4707, 4708, 4949, 4709, 4710, 2051, 2572, + 4720, 4725, 4960, 4719, 4494, 5574, 4721, 4726, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 4722, 1648, 4729, + 4734, 5410, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, + 4142, 4735, 4127, 4740, 1550, -2241, 4787, 4747, 4770, 4799, + 5613, 4771, 4772, 4779, 4800, 4803, 4826, 4814, 4516, -3001, + 4828, 4836, 4843, 4830, 4844, 4851, 4841, 5009, 4277, 4839, + 4857, 2576, 2577, 2578, 2579, 2580, 2581, 3374, 4852, 4858, + 4859, 1551, 4867, 4856, 4861, 4870, 1649, 4872, 4876, 4887, + 2572, 1650, 4895, 4905, 4908, 4906, 1651, 4907, 4915, -3001, + -3001, -3001, 2576, 2577, 2578, 2579, 2580, 2581, 5012, 4916, + 4918, 4919, 2953, 4922, 4937, 2954, 4950, 3641, 649, 4961, + 3771, 4941, 649, 5054, 4940, 4958, 3969, 4974, 5468, 4973, + 4975, 1552, 4977, 4976, 4987, 4988, 4989, 5004, 5022, 4990, + 4991, 4992, 5028, 5003, 5001, 5010, 5023, 1653, 792, 5031, + 1271, 5047, 5048, 4127, 3649, 4947, 951, 4128, 4129, 4130, + 5050, 5053, 5063, 5064, 5079, 5066, 5067, 5068, 5090, 5100, + 951, 5105, 1383, 5111, 5119, 1554, 5125, 4795, 5126, 863, + 5154, 5132, 5131, 5138, 5148, 5098, 5155, 5897, 5165, 5899, + 5171, 5172, 5688, 5174, 5175, 1655, 2849, 3326, 4658, 5176, + 3487, 5179, 5178, 3223, 3487, 5184, 5190, 5198, 1556, 5204, + 5205, 863, 5214, 5222, 5221, 5223, 3491, 3926, 792, 1656, + 5224, 5226, 5227, 3442, 3808, 5225, 5233, 649, 5228, 5234, + 5239, 5244, 5250, 5147, 5256, 5259, 5265, 5260, -2243, 5282, + 1658, 5261, 4951, 863, 5308, 4370, 5278, 5293, 5317, 5298, + 5301, 3326, 5294, 35, 5312, 1383, 1383, 5320, 3970, 5321, + 5589, 5331, 5334, 1645, 5336, 5338, 1383, 1559, 5342, 5362, + 5374, 5589, 6022, 5375, 5361, 5378, 1560, 2004, 863, 5376, + 4715, 5380, 5386, 5385, 2827, 1646, 5387, 5399, 5402, 5408, + 5735, 1659, 5406, 5412, 5421, 863, 5422, 1562, 5413, 5429, + 5430, 5431, 5908, 5440, 996, 5443, 1563, 5436, 5447, 3487, + 5448, 1564, 5455, 5458, 5464, 5465, 5467, 6052, 5471, 5463, + 5473, 5477, 5157, 5482, 5487, 5489, 5639, 5493, 5494, 5496, + 5498, 5500, 3971, 4748, 5502, 5501, 1383, 1647, 5511, 3198, + 5519, 5517, 5527, 2112, 5557, 5526, 2113, 5532, 5553, 5546, + 2114, 2115, 2116, 1383, 5547, 5563, 5565, 2875, 4769, 5564, + 5573, 5582, 5658, 6088, 6090, 5588, 4132, 5577, 1565, 5592, + 2638, 1383, 3972, 5595, 5617, 5614, 5620, 5628, 5643, 5630, + 2639, 5631, 5635, 5647, 5648, 5649, 5681, 2640, 5703, 5650, + 5661, 5655, 5089, 5662, 5666, 5653, 5672, 5673, 5674, 1383, + 5714, 5709, 1383, 5711, 5717, 5722, 5741, 5721, 5742, 5746, + 1383, 1383, 5753, 2641, 5751, 5769, 5774, 5780, 1383, 1383, + 5782, 5781, 5788, 1383, 5797, 5798, 5802, 5803, 1383, 1648, + 5816, 1383, 1383, 5824, 5815, 5830, 3374, 5842, 1383, 5844, + 5846, 5848, 863, 863, 863, 863, 5847, 5850, 5860, 5867, + 5877, 5885, 4133, 5869, 5879, 5871, 5923, 649, 649, 5891, + 650, 5928, 5938, 4252, 5925, 5932, 5946, 3491, 5936, 5951, + 3479, 5964, 3491, 5965, 5966, 3491, 650, 5967, 3808, 5960, + 5314, 5968, 5978, 1383, 5977, 998, 5979, 1649, 5985, 5980, + 5989, 5987, 1650, 5995, 1383, 6006, 6020, 1651, 4298, 6019, + 6005, 6010, 1383, 5231, 3540, 6021, 3326, 6045, 6048, 6026, + 6036, 6046, 6049, 2953, 4211, 187, 6050, 1271, 6063, 802, + 4127, 6081, 6067, 6086, 4128, 4129, 4130, 6093, 6096, 6099, + 6101, 2642, 6107, 6103, 6217, 6110, 2643, 3326, 6111, 3487, + 3487, 6127, 6128, 6129, 5272, 6130, 2849, 1383, 1653, 6137, + 6144, 5839, 6138, 6145, 5994, 6143, 6150, 6151, 6152, 2644, + 2306, 5370, 6157, 6162, 6166, 6167, 6169, 5337, 6173, 6181, + 6183, 6189, 6202, 6209, 792, 6219, 5323, 5325, 6094, 792, + 792, 6211, 6097, 6098, 6227, 6228, 6245, 2645, 6229, 6247, + 6028, 6264, 6265, 6266, 6267, 6268, 1655, 6270, 6278, 3771, + 6282, 6291, 6292, 6293, 6286, 6304, 6306, 2656, 6336, 6339, + 3771, 6334, 6372, 6330, 6275, 6276, 2663, 6324, 2664, 6335, + 1656, 6331, 2667, 6348, 6338, 6351, 6353, 1383, 6371, 2673, + 2373, 6374, 6373, 6375, 1383, 6376, 6391, 6401, 5812, 4305, + 5901, 1658, 6412, 6437, 6416, 2646, 6403, 6296, 2647, 6404, + 6418, 6429, 5817, 6430, 6445, 6446, 6449, 951, 6451, 6455, + 5688, 6457, 1468, 4134, 4135, 4136, 4137, 4138, 4139, 4140, + 4141, 4142, 951, 6462, 5840, 6460, 5896, 6468, 5776, 3008, + 1683, 2104, 4228, 2630, 3782, 5910, 1575, 1682, 3699, 4380, + 1142, 4964, 1659, 4957, 6212, 3871, 3823, 4528, 5700, 6080, + 6305, 649, 5752, 1383, 4953, 5107, 4954, 5446, 649, 5734, + 4360, 4323, 4018, 649, 6204, 5637, 649, 5310, 6301, 650, + 792, 6102, 6100, 6226, 4366, 6316, 2849, 5475, 5129, 5158, + 792, 5137, 6060, 4132, 5099, 2004, 3889, 3890, 3991, 4962, + 4588, 2648, 4398, 3997, 5124, 3998, 5740, 5469, 1667, 4628, + 3926, 5892, 5893, 5182, 5981, 4004, 6368, 6467, 4005, 5715, + 4006, 4007, 6057, 951, 4009, 3948, 6447, 4534, 4012, 6231, + 4013, 5166, 5660, 4015, 1220, 1221, 5887, 6069, 5663, 756, + 809, 1072, 4679, 3487, 5110, 2024, 3326, 5199, 3075, 5863, + 3487, 863, 5201, 6364, 3918, 3487, 3551, 5168, 3487, 3138, + 3150, 4314, 863, 5777, 996, 4645, 5975, 3167, 1143, 4498, + 1183, 3820, 4993, 4444, 6251, 6402, 2763, 792, 5185, 4133, + 1413, 792, 792, 5186, 3848, 3496, 6354, 4881, 4277, 6081, + 5326, 5859, 5862, 3134, 5657, 2651, 6054, 4054, 837, 838, + 996, 5229, 5480, 5659, 4275, 2712, 4287, 2572, 3506, 6186, + 3033, 6038, 4248, 2711, 4833, 1383, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 1383, 4849, 5594, 1383, 3355, + 2600, 1383, 1383, 1383, 2716, 4241, 5829, 5828, 4882, 5702, + 4242, 6389, 6172, 6284, 6027, 4243, 6415, 5811, 4781, 3415, + 6039, 4207, 652, 6040, 3418, 4072, 1383, 1383, 3332, 1271, + 1383, 4201, 4127, 3847, 4199, 5993, 4128, 4129, 4130, 1142, + 6420, 4192, 187, 4108, 3430, 4730, 2660, 1464, 1383, 3494, + 0, 6035, 1383, 6037, 0, 0, 5273, 0, 1383, 0, + 0, 0, 3491, 0, 0, 0, 5314, 914, 0, 1383, + 0, 5612, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4928, 0, 0, 1383, 0, 0, 0, 0, + 5452, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6171, + 0, 0, 5615, 0, 4928, 998, 951, 0, 951, 0, + 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 792, 0, 0, 3968, 0, + 962, 998, 0, 6433, 0, 0, 0, 0, 0, 0, + 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 0, + 0, 0, 1548, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, + 0, 0, 0, 3487, 0, 0, 0, 5098, 1549, 5896, + 0, 0, 863, 652, 0, 0, 0, 863, 0, 0, + 0, 0, 652, 971, 0, 0, 2849, 0, 0, 0, + 652, 0, 971, 652, 0, 0, 863, 0, 0, 0, + 5147, 5346, 0, 5754, 0, 4132, 971, 2102, 0, 0, + 0, 0, 0, 0, 951, 863, 4928, 3326, 3326, 6410, + 0, 3326, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1550, 0, 71, 80, 83, 84, 175, 85, 86, + 106, 0, 184, 124, 129, 159, 0, 178, 185, 0, + 1383, 0, 0, 191, 5382, 6448, 2102, 0, 0, 4326, + 0, 5739, 0, 649, 0, 0, 0, 1383, 1551, 0, + 0, 1383, 0, 1383, -2764, 926, 5398, 0, 6410, 0, + 3374, 0, 0, 649, 0, 6357, 6358, 1383, 0, 0, + 180, 4133, 5765, 181, 0, 650, 4205, 0, 1383, 0, + 0, 0, 5837, 6410, 183, 0, 186, 1142, 0, 1383, + 0, 0, 0, 3969, 0, 649, 1383, 0, 1552, 0, + 3273, 3274, 5767, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3311, 3312, 4387, + 0, 4389, 0, 0, 0, 3487, 0, 0, 0, 5426, + 0, 961, 0, 0, 0, 0, 0, 863, 4240, 0, + 0, 4246, 1554, 0, 1383, 3487, 0, 0, 0, 0, + 3358, 0, 0, 0, 0, -2764, 0, 0, 0, 0, + 1383, 0, 2112, 0, 0, 2113, 1383, 1383, 0, 0, + 0, 951, 951, 951, 951, 1556, 961, 3487, 0, 0, + 0, 0, 0, 0, 996, 0, 0, 0, 0, 3479, + 0, 0, 0, 925, 0, 0, 0, 3479, 0, 2639, + 0, 0, 1383, 0, 0, 0, -3001, 0, -2764, 0, + 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 35, -2764, 0, 0, 0, 1558, 0, -2764, 0, 0, + 0, 0, 2641, -2764, 1559, 863, 0, 649, 3491, -2764, + 0, 0, -2764, 1560, 0, 0, -2764, 0, 0, 0, + 5510, 2827, 0, 6356, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 863, 1562, 4493, 0, 0, 0, 0, + 0, 4500, 0, 1563, 0, 0, -2764, 0, 1564, 0, + 0, 0, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, + 4142, 1383, 0, 0, 0, 0, 0, 0, 0, 3971, + 0, 0, 6392, 1383, 4804, 0, 0, 0, 0, -2764, + 0, 0, 1383, 1383, 1383, 0, 649, 0, 2004, 3487, + 5954, 0, 0, 0, 3808, 0, 0, 1383, 0, 0, + 0, 0, 0, 0, 0, 1565, 1383, 0, 1383, 3972, + 1383, 5612, 0, 0, 0, 0, 0, 4928, 0, 0, + -3001, 0, 0, 0, 1383, -3001, 0, 0, 0, 0, + -2764, 0, 0, 2004, -2764, 998, 0, 0, 0, 0, + -2764, 0, 6208, 1383, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4494, 0, 0, 0, 0, 0, 0, 0, 3487, 0, + 0, 0, 0, 0, 0, 0, -3001, 0, 0, 2004, + 2004, 0, 0, 0, 0, 0, 0, 0, 971, 0, + 0, 0, 0, 0, 6042, 0, 0, 0, 0, 0, + -2764, 0, 0, 0, 0, 0, 0, 971, 0, 0, + 951, 0, 0, 971, 0, 6258, 6259, 0, 0, 0, + 0, 5937, 0, 0, 6123, 971, 0, 4662, 0, 4664, + 0, 4666, 0, 0, 2646, 0, 0, 0, 0, 0, + 0, 971, 0, 0, 0, 0, 652, 0, 0, 649, + 0, 914, 0, 0, 0, 652, 971, 0, 0, 807, + 0, 0, 652, 0, 971, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1383, 0, 914, 971, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 971, -2764, + 1383, 0, 0, 0, 5837, 0, 0, 0, 0, 0, + 1383, 0, 0, 0, 0, 0, 0, 0, 0, 3540, + 0, 0, 0, -2764, 0, -2764, -2764, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, + -3001, 3487, 0, 0, 0, 0, 0, -2764, 0, 0, + 0, 971, 0, 951, 0, 0, 0, 0, 0, 0, + 2004, 0, 0, 0, 0, 0, 0, -2764, 649, 0, + -2764, -2764, -2764, 652, 652, 0, 0, 0, 0, 971, + 0, 0, 0, 0, 0, 0, 2849, 0, 0, 0, + 0, 0, 0, 1383, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 4928, 971, 0, 652, 0, 0, 0, + 0, 962, 962, 6261, 0, 0, 0, 1383, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 914, 0, 0, 187, 0, 2112, 0, 191, 2113, 0, + 2004, 2004, 6277, 0, 0, 0, -3001, 0, 1383, 1383, + 3487, 0, 1383, 652, 0, 6285, 0, 0, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 6232, 971, 0, 0, 0, + 0, 0, 2639, 0, 6253, 649, 0, 6254, 0, -3001, + 0, 0, 6329, 951, 0, 0, 3459, 3461, 6255, 0, + 6256, 0, 3469, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 2030, 6123, 951, 951, 0, 2030, 2030, 4928, + 0, 0, 0, 0, 3515, 3515, 0, 0, 0, 0, + 0, 0, 0, 6458, 6459, 0, 0, 650, 0, 0, + 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, + 191, 0, 6347, 0, 0, 0, 0, 3487, 0, 0, + 1383, 0, 0, 0, 0, 0, 3540, 0, 0, 0, + 0, 4298, 0, 0, 652, 652, 1821, 4807, 1383, 961, + 0, 0, 0, 971, 0, 0, 792, 6253, 652, 0, + 6254, 0, 0, 914, 652, 0, 0, 0, 652, 0, + 652, 6255, 0, 6256, 914, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6377, 6378, 650, 6382, 0, 0, + 914, 0, 5837, -3001, 0, 0, 0, 1383, -3001, 0, + 5976, 0, 0, 1578, 0, 0, 0, 951, 0, 1579, + 4928, 0, 0, 0, 649, 0, 0, 2102, 0, 0, + 0, 0, 961, 961, 1687, 0, 0, 0, 0, 0, + 6347, 0, 0, 0, 652, 0, 652, 652, 0, 0, + 0, 191, 0, 3651, 187, 0, 0, 0, 0, -3001, + -2766, 0, 0, 0, 1581, 1383, 650, 0, 0, 0, + 0, 0, 0, 6032, 0, 0, 3479, 0, 0, 0, + 3479, 0, 650, 0, 0, 0, 0, 971, 6253, 0, + 0, 6254, 0, 0, 0, 0, 0, 0, 0, 962, + 962, 0, 6255, 6461, 6256, 6347, 3487, 0, 0, 0, + 0, -136, 0, 0, 0, 652, 0, 2646, 0, 1688, + 0, 1582, 6347, 0, 0, 0, 0, 0, 1583, 0, + 0, 0, 1584, 1, 649, 0, 0, 0, 0, 0, + 649, 0, 792, 0, 2, 0, 3, 4, 971, 0, + 792, 0, 0, 792, 0, 0, 0, 914, 6333, 971, + 1585, -2766, 0, 0, 5, 792, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 971, 0, 0, 0, + 0, 971, 0, 0, 0, 0, 7, 0, 8, 9, + 0, 0, 0, 652, 0, 10, 1586, 11, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 0, 13, -3001, -2766, 0, 3487, 0, 0, 0, + 0, 0, 3487, 0, 0, 0, 0, -2766, 0, 14, + 0, 0, 15, -2766, 0, 652, 0, 6380, 0, -2766, + 0, 0, 0, 0, 0, -2766, 0, 16, -2766, 17, + -2783, 0, -2766, 18, 0, 0, 0, 0, 0, 0, + 19, 649, 0, 0, 652, 652, 652, 0, 652, 20, + 0, 21, 0, 0, 0, 0, 1689, 0, 22, 0, + 1588, 0, -2766, 0, 0, 5189, 0, 0, 5191, 652, + 1589, 0, 0, 0, 0, 0, 23, 0, 0, 0, + 1590, 0, 0, 0, 0, 0, 0, 6380, 0, 0, + 0, 0, 1591, 24, 0, -2766, 971, 5206, 0, -3001, + 0, 0, 0, 6444, 971, 971, 0, 0, 0, 0, + 0, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 961, 961, 0, 3487, 0, 0, 0, 0, 652, 0, + 0, -2783, 0, 0, 1690, 0, 0, 1593, 1594, 0, + 0, 0, 0, 0, 0, 0, -2766, 25, 26, 0, + -2766, 0, 0, 27, 0, 0, -2766, 1821, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 1691, + 0, 0, 0, 0, 652, 0, 0, 0, 652, 652, + 0, 0, 0, 0, -2783, 0, 0, 29, 0, 0, + 0, 0, 792, 0, 652, 3479, 0, -2783, 0, 0, + 914, 0, 0, -2783, 2112, 0, 0, 2113, 0, -2783, + 0, 2114, 2115, 2116, 0, -2783, -2766, 0, -2783, 0, + 0, 187, -2783, 0, 0, 0, 0, 0, 0, 0, + 0, 2638, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 2639, 1596, 0, 0, 0, 0, 0, 2640, 31, + 0, 0, -2783, 0, 0, 32, 33, 0, 34, 0, + 0, 0, 0, 35, 0, 0, 0, 914, 0, 36, + 0, 0, 37, 0, 2641, 807, 0, 0, 0, 38, + 0, 0, 0, 0, 0, -2783, 39, 40, 0, 0, + 0, 0, 0, 0, 41, 0, 0, 0, 42, 0, + 0, 5345, 0, 0, 0, -2766, 0, 0, 914, 43, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 0, 0, 0, 0, 44, 0, 0, -2766, + 0, -2766, -2766, 0, 0, 0, -2783, 0, 0, 0, + -2783, 914, 0, 0, 0, 0, -2783, 45, 0, 0, + 0, 0, 0, -2766, 2639, 0, 0, 5383, 5384, 46, + 0, -3001, 0, 6388, 0, 47, 0, 0, 0, 0, + 48, 0, 0, -2766, 0, 0, -2766, -2766, -2766, 0, + 0, 0, 0, 49, 0, 0, 0, 2641, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 0, 0, 0, 0, 0, 0, -2783, 50, 971, 51, + 52, 53, 54, 55, 0, 0, 0, 4226, 0, 792, + 2644, 2306, 0, 652, 652, 652, 56, 0, 0, -136, + 0, 0, 0, 0, 0, 4233, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3479, 0, 2645, 0, + 0, 3479, 5427, 5428, 3479, 0, 0, 0, 0, 4808, + 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 4282, 4282, 0, 0, 0, + 0, 2373, 0, 0, 0, -2783, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3001, 2646, 0, 0, 2647, + -3001, 0, 0, 0, 0, 0, 0, 0, 0, -2783, + 0, -2783, -2783, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 914, 0, 0, 0, 718, + 0, 0, 0, -2783, 0, 0, 914, 0, 806, 0, + 0, 0, 0, 0, 0, 0, 2112, 0, 1821, 2113, + 0, -3001, 914, -2783, 0, 0, -2783, -2783, -2783, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 5521, 0, 0, 5523, 5524, 0, 0, 971, + 0, 0, 0, 2639, 0, 0, 0, 971, 0, 0, + -3001, 0, 2648, 2112, 0, 5529, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 914, 0, 0, 2646, + 0, 0, 0, 0, 0, 652, 2641, 0, 652, 0, + 2638, 914, 0, 0, 914, 914, 0, 0, 652, 652, + 2639, 971, 971, 0, 0, 0, 0, 2640, 0, 0, + 0, 0, 0, 652, 0, 971, 652, 0, 0, 0, + 0, 0, 0, 0, 0, 914, 914, 0, 971, 971, + 0, 0, 0, 2641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5276, 0, + 0, 0, 0, 0, 0, 0, 652, 0, 2572, 0, + 652, 652, 0, 0, 0, -3001, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 0, 0, 0, 0, 4100, 0, 0, 0, 0, 0, + 0, 187, 0, 0, -3001, 652, 0, 652, 0, -3001, + 0, 1578, 652, 652, 0, 0, 0, 1579, 0, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 652, 652, 1687, 0, 0, 652, 0, 652, 0, 652, + 652, 652, 652, 652, 652, 0, 0, 652, 0, 652, + 652, 2642, 0, 652, 0, 0, 2643, 0, 0, 0, + -3001, 0, 1581, 0, 0, 0, 0, 0, 0, 914, + 652, 652, 652, 0, 0, 0, 0, 0, 0, 2644, + 2306, -3001, 0, 0, 0, 0, 0, 0, 652, 0, + 1821, 0, -136, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 1688, 2646, 1582, + 0, 792, 0, 0, 0, 2, 1583, 3, 4, 0, + 1584, 0, 1578, 0, 0, 0, 0, 0, 1579, 0, + 0, 0, 0, 0, 4577, 5, 0, 0, 0, 0, + 2373, 0, 0, 0, 0, 6, 0, 0, 1585, 0, + 0, 0, 0, 0, 0, 2646, 0, 7, 2647, 8, + 9, 3479, 0, 0, 0, 0, 10, 0, 11, 0, + 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 13, 1586, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 15, -3001, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, + 17, 0, 0, 0, 18, 652, 0, 0, 0, 0, + 1582, 19, 0, 0, 0, 0, 0, 1583, 0, 0, + 20, 1584, 21, 0, 0, 0, 0, 0, 0, 22, + 0, 2648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1689, 0, 0, 23, 1588, 1585, + 0, 0, 0, 0, 0, 0, 0, 5865, 1589, 652, + 0, 0, 0, 0, 24, 0, 1578, 0, 1590, 0, + 0, 792, 1579, 0, 0, 0, 0, 0, 0, 0, + 1591, 0, 0, 0, 0, 1586, 0, 1580, 0, 0, + -3001, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, + 0, 5902, 0, 0, 0, 652, 0, 1581, 25, 26, + 0, 0, 3779, 0, 27, 1593, 1594, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 2572, 0, 28, + 0, 0, 0, 0, 0, 187, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 3780, 29, 4116, + 0, 0, 4117, 0, 0, 1689, 0, 0, 0, 1588, + 0, 0, 0, 0, 1582, 0, 0, 0, 0, 1589, + 0, 1583, 0, 0, 0, 1584, 0, 0, 0, 1590, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1591, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 0, 1585, 0, 0, 0, 1073, 0, 0, + 31, 0, 0, 0, 5992, 0, 32, 33, 0, 34, + 1596, 0, 0, 0, 35, 2102, 0, 0, 0, 0, + 36, 0, 0, 37, 0, 2112, 1593, 1594, 2113, 1586, + 38, 0, 2114, 2115, 2116, 0, 0, 39, 40, 0, + 0, 0, 0, 0, 0, 41, 0, 1141, 718, 42, + 0, 0, 2638, 0, 0, 0, 0, 0, 1595, 0, + 43, 0, 2639, 1548, 0, 0, 0, 2112, 0, 2640, + 2113, 0, 0, 0, 2114, 2115, 2116, 44, 0, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 0, 652, + 0, 0, 0, 0, 2638, 2641, 0, 0, 45, 1549, + 652, 0, 0, 652, 2639, 0, 0, 0, 0, 1587, + 46, 2640, 0, 1588, 0, 0, 47, 0, 0, 0, + 0, 48, 0, 1589, 0, 0, 0, 0, 0, 0, + 0, 1596, 0, 1590, 49, 0, 0, 2641, 0, 0, + 0, 0, 0, 1240, 652, 1591, 0, 0, 652, 0, + 0, 652, 0, 652, 0, 0, 652, 3479, 50, 187, + 652, 0, 1550, 1262, 0, 0, 0, 0, 0, 0, + 0, 1386, 0, 0, 1395, 1141, 1399, 56, 0, 0, + -136, 1821, 0, 652, 0, 0, 0, 1592, 0, 0, + 1593, 1594, 0, 0, 0, 0, 0, 0, 792, 1551, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 652, + 652, 0, 0, 2642, 0, 0, 0, 1578, 2643, 0, + 0, 0, 1595, 1579, 0, 0, 792, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, + 792, 2644, 2306, 914, 0, 0, 0, 914, 914, 1552, + 0, 0, 792, 0, 971, 2642, 0, 0, 971, 0, + 2643, 0, 971, 187, 0, 0, 0, 0, 1581, 2645, + 0, 971, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2644, 2306, 0, 971, 0, 0, 652, + 0, 0, 0, 1554, 0, 1596, 0, 1548, 0, 0, + 652, 0, 914, 652, 0, 652, 652, 0, 914, 0, + 0, 2645, 2373, 0, 0, 0, 0, 0, 0, 0, + 971, 0, 0, 0, 0, 1582, 1556, 2646, 1220, 1221, + 2647, 0, 1583, 1549, 0, 0, 1584, 0, 0, 0, + 971, 971, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 914, 0, 0, 0, 0, + 0, 0, 0, 0, 1585, 0, 0, 0, 0, 2646, + 0, 35, 2647, 2826, 0, 0, 1558, 1821, 971, 1141, + 0, 1821, 0, 0, 0, 1559, 0, 0, 0, 0, + 0, 0, 0, 0, 1560, 0, 1550, 0, 0, 0, + 1586, 2112, 2827, 0, 2113, 971, 6299, 1821, 2114, 2115, + 2116, 971, 0, 0, 0, 1562, 792, 0, 0, 0, + 0, 0, 0, 2648, 1563, 971, 0, 0, 2638, 1564, + 0, 0, 971, 1551, 0, 971, 0, 0, 2639, 0, + 0, 971, 0, 0, 0, 2640, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 0, 0, 0, 2648, 0, 971, 0, 792, + 0, 2641, 0, 0, 971, 0, 0, 0, 0, 0, + 1689, 0, 0, 1552, 1588, 0, 1565, 0, 971, 0, + 0, 0, 0, 0, 1589, 0, 0, 0, 0, 0, + 0, 0, 971, 0, 1590, 0, 0, 1821, 0, 0, + 0, 0, 0, 971, 0, 0, 1591, 0, 0, 0, + 0, 0, 0, 1553, 187, 0, 0, 1554, 0, 2572, + 0, 652, 652, 652, 0, 0, 0, 652, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 187, + 0, 0, 0, 0, 4118, 0, 0, 0, 1717, 1555, + 1556, 1593, 1594, 0, 652, 914, 0, 0, 0, 0, + 2029, 2572, 0, 1821, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2642, + 0, 0, 0, 1718, 2643, 0, 4169, 1141, 0, 0, + 0, 1557, 0, 0, 2112, 35, 652, 2113, 0, 0, + 1558, 2114, 2115, 2116, 0, 0, 0, 2644, 2306, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, - 0, 0, 3770, 0, 3770, 0, 3770, 3770, 0, 0, - 1561, 3770, 3770, 3770, 0, 3770, 3770, 3770, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, - 1353, 2584, 0, 1353, 0, 0, 1353, 1353, 1353, 3745, - 0, 0, 1563, 1564, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2585, 2264, 0, 0, 0, 3847, - 2589, 0, 0, 1353, 1353, 0, 0, 1353, 0, 0, - 0, 0, 0, 0, 3746, 2586, 0, 0, 1580, 1581, - 0, 0, 0, 0, 3875, 0, 0, 0, 1353, 0, - 0, 0, 0, 0, 1353, 0, 0, 0, 3417, 0, - 0, 0, 5204, 0, 0, 1353, 0, 5484, 0, 0, - 0, 0, 0, 0, 0, 0, 2322, 0, 4799, 0, - 0, 1353, 0, 0, 0, 0, 0, 0, 0, 0, - 2587, 0, 4799, 976, 929, 0, 929, 0, 0, 0, - 0, 0, 0, 1566, 0, 0, 0, 0, 0, 1808, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2513, 0, 1820, 0, 0, 0, 0, 0, - 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 2967, 0, 940, 976, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1842, 1843, 0, 0, 0, - 0, 0, 0, 0, 1548, 0, 0, 0, 0, 0, - 1549, 0, 0, 0, 0, 2688, 0, 0, 3479, 0, - 3479, 1880, 0, 2589, 0, 2688, 0, 0, 0, 940, - 0, 2073, 0, 0, 2074, 0, 0, 0, 2075, 2076, - 2077, 4992, 0, 0, 0, 0, 843, 0, 0, 0, - 0, 843, 0, 0, 0, 1551, 0, 0, 2579, 0, - 2787, 1918, 1920, 0, 0, 0, 0, 0, 2580, 0, - 843, 0, 0, 891, 5041, 2581, 0, 5623, 0, 0, - 0, 891, 0, 0, 0, 0, 0, 0, 929, 843, - 4799, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2582, 0, 0, 0, 0, 2688, 0, 0, 0, - 0, 1552, 0, 0, 0, 0, 0, 0, 1553, 0, - 0, 1554, 0, 0, 0, 2513, 1353, 0, 0, 0, - 1353, 0, 1353, 0, 2514, 2515, 2516, 2517, 2518, 2519, - 2520, 2521, 2522, 0, 0, 0, 1353, 0, 1555, 0, - 0, 0, 0, 630, 0, 0, 1353, 0, 0, 0, - 5692, 0, 0, 0, 0, 0, 0, 1353, 0, 0, - 0, 0, 0, 0, 1353, 0, 891, 0, 891, 0, - 0, 0, 2073, 0, 1556, 2074, 1119, 0, 0, 2075, - 2076, 2077, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 843, - 0, 0, 0, 0, 0, 0, 2583, 0, 0, 2580, - 0, 2584, 0, 0, 0, 0, 2581, 0, 0, 0, - 0, 0, 0, 0, 0, 1353, 0, 0, 0, 0, - 0, 1353, 1353, 0, 2585, 2264, 929, 929, 929, 929, - 0, 0, 2582, 0, 0, 1657, 0, 0, 0, 1558, - 0, 0, 0, 0, 0, 2586, 0, 0, 0, 1559, - 0, 0, 891, 0, 0, 0, 0, 1353, 1560, 0, - 0, 638, 0, 0, 0, 630, 1548, 687, 638, 0, - 1561, 0, 1549, 739, 0, 638, 0, 0, 0, 1704, - 0, 638, 0, 792, 0, 1704, 2322, 0, 0, 0, - 843, 0, 0, 3417, 891, 0, 0, 0, 0, 0, - 2587, 0, 854, 854, 0, 0, 0, 0, 0, 4260, - 0, 0, 1563, 1564, 0, 0, 0, 1551, 843, 0, - 0, 0, 3479, 0, 0, 0, 1119, 0, 0, 0, - 0, 0, 0, 0, 5083, 0, 0, 5085, 0, 0, - 0, 0, 0, 0, 4261, 0, 1353, 2583, 0, 0, - 0, 0, 2584, 0, 0, 1353, 1353, 1353, 0, 0, - 0, 1972, 0, 0, 0, 3729, 5100, 0, 1353, 0, - 0, 0, 0, 1552, 0, -2896, -2896, 1353, 0, 1353, - 1553, 1353, 5484, 1554, 0, 0, 0, 0, 4799, 0, - 891, 0, 0, 2589, 0, 0, 2586, 0, 1972, 0, - 976, 0, 0, 0, 4308, 0, 0, 0, 0, 1353, - 1555, 0, 3479, 1566, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2769, 0, 0, 891, 0, 0, -2896, 0, 0, - 0, 0, 0, 0, 1972, 1972, 1556, 0, 0, 0, - 0, 2587, 0, 931, 0, 0, 2808, 935, 0, 0, - 0, 0, 4356, 0, 0, 978, 0, 0, 980, 0, - 0, 985, 986, 0, 989, 929, 992, 0, 0, 998, - 0, 1000, 0, 0, 0, 0, 0, 0, 0, 5953, - 0, 0, 0, 0, 0, 2513, 0, 0, 0, 0, - 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, - 2520, 2521, 2522, 0, 0, 0, 891, 1657, 0, 0, - 0, 1558, 0, 0, 0, 0, 1353, 0, 0, 0, - 4399, 1559, 0, 2898, 0, 0, 0, 0, 0, 1353, - 1560, 0, 0, 5692, 2589, 0, 0, 0, 0, 1353, - 0, 0, 1561, 0, 0, 0, 0, 0, 3466, 1353, - 891, 0, 0, 2924, 2925, 2926, 2927, 0, 0, 0, - 0, 0, 0, 0, 5246, 940, 3770, 0, 0, 0, - 0, 0, 0, 0, 0, 891, 0, 0, 4430, 4430, - 929, 4318, 0, 0, 1563, 1564, 0, 1972, 4446, 0, - 0, 0, 0, 1119, 0, 1119, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5271, 5272, 0, - 0, 0, 2787, 0, 0, 0, 4319, 0, 0, 1353, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4799, - 0, 0, 0, 0, 0, 0, 2513, 940, 940, 6071, - 0, 4501, 0, 1353, 0, 2514, 2515, 2516, 2517, 2518, - 2519, 2520, 2521, 2522, 0, 1972, 1972, 6081, 0, 0, - 0, 0, 1353, 1353, 0, 0, 0, 0, 6087, 0, - 0, 0, 0, 0, 0, 0, 4537, 1119, 0, 0, - 0, 0, 0, 0, 0, 1566, 0, 0, 0, 0, - 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2980, 2981, 5315, 5316, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2998, 0, 0, 5953, - 929, 929, 0, 0, 0, 4799, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2688, 0, 0, 0, 0, - 0, 0, 0, 630, 1353, 0, 0, 0, 0, 0, - 3041, 3042, 3043, 3044, 0, 0, 0, 0, 1353, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1353, 2073, 0, 0, 2074, 0, 0, 0, - 2075, 2076, 2077, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2579, 0, 0, 0, 0, 6165, 6166, 630, 6169, 5692, - 2580, 0, 3466, 0, 0, 0, 0, 2581, 0, 0, - 0, 0, 0, 0, 929, 3479, 0, 4799, 0, 0, - 0, 3118, 5409, 0, 0, 5411, 5412, 3122, 0, 0, - 0, 0, 0, 2582, 0, 0, 0, 4207, 0, 0, - 0, 3479, 0, 0, 0, 5417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1353, 630, 0, 0, - 0, 1353, 4688, 0, 0, 630, 2073, 0, 0, 2074, - 0, 0, 0, 2075, 2076, 2077, 1028, 940, 940, 0, - 0, 6231, 0, 0, 0, 0, 0, 1065, 0, 0, - 0, 1069, 0, 2579, 0, 0, 0, 0, 1082, 1083, - 0, 0, 1089, 2580, 1093, 1094, 0, 0, 0, 0, - 2581, 0, 0, 0, 0, 0, 0, 0, 0, 1116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2582, 1129, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2583, 0, - 0, 941, 951, 2584, 0, 0, 0, 0, 1157, 941, - 1159, 951, 941, 0, 0, 0, 0, 0, 0, 0, - 1175, 0, 0, 0, 0, 951, 2585, 2264, 0, 0, - 0, 0, 0, 0, 891, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2586, 0, 0, - 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, - 3300, 0, 0, 0, 0, 0, 2073, 0, 0, 2074, - 0, 0, 0, 2075, 2076, 2077, 0, 0, 0, 0, - 0, 3479, 0, 0, 0, 0, 2688, 0, 2322, 0, - 0, 0, 0, 2579, 0, 0, 0, 0, 0, 0, - 0, 2583, 2587, 2580, 0, 2588, 2584, 0, 0, 0, - 2581, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, - 2264, 0, 0, 0, 854, 0, 2582, 0, 0, 0, - 0, 4446, 0, 0, 0, 0, 0, 0, 0, 0, - 2586, 0, 0, 0, 0, 0, 0, 2073, 0, 0, - 2074, 0, 0, 0, 2075, 2076, 2077, 4893, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4908, 0, 2579, 0, 4909, 0, 4910, 0, - 0, 2322, 0, 0, 2580, 2589, 0, 0, 0, 0, - 0, 2581, 0, 0, 0, 2587, 0, 0, 2588, 0, - 0, 0, 0, 0, 0, 0, 0, 1509, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, - 0, 0, 0, 0, 4950, 0, 0, 0, 891, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3770, 2583, 0, 0, 0, 3770, 2584, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585, - 2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1688, 0, 5716, 0, 0, 0, 2513, 2589, 0, - 2586, 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 1809, 0, 0, 5021, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1821, 0, 1822, 0, 0, 0, 0, 0, 0, - 0, 2322, 2583, 1825, 0, 0, 5752, 2584, 0, 0, - 1835, 0, 0, 0, 5055, 2587, 0, 4446, 2588, 0, - 0, 0, 0, 0, 0, 891, 0, 0, 0, 0, - 2585, 2264, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2586, 0, 1887, 0, 1889, 0, 0, 0, 0, - 2513, 0, 0, 0, 0, 891, 0, 0, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, - 0, 0, 5129, 0, 0, 0, 0, 891, 0, 0, - 0, 0, 2322, 5104, 5104, 5104, 5104, 951, 5104, 5104, - 5104, 5104, 5104, 0, 0, 0, 2587, 0, 2589, 2588, - 0, 0, 0, 0, 0, 0, 951, 0, 0, 5841, - 0, 0, 951, 0, 0, 0, 0, 0, 0, 638, - 0, 638, 0, 638, 951, 638, 0, 638, 638, 638, - 0, 0, 0, 0, 638, 0, 0, 0, 0, 0, - 951, 0, 0, 0, 0, 0, 1993, 0, 0, 0, - 891, 0, 0, 0, 941, 951, 0, 0, 0, 3300, - 0, 941, 0, 951, 941, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 951, 0, 2589, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2513, 0, 0, 5181, 0, 5183, 0, 0, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2073, 0, - 0, 2074, 5168, 0, 0, 2075, 2076, 2077, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 951, 0, 0, 0, 0, 2579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, - 0, 0, 2581, 0, 0, 0, 0, 0, 951, 5396, - 0, 891, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2582, 2073, - 0, 2513, 2074, 951, 0, 0, 2075, 2076, 2077, 0, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 0, 0, 0, 5172, 0, 0, 2579, 0, 0, 0, - 0, 0, 0, 0, 3540, 0, 2580, 0, 854, 0, - 0, 0, 0, 2581, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 951, 0, 0, 0, 0, 2073, 2582, - 0, 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, - 0, 0, 2581, 2583, 0, 0, 0, 891, 2584, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5312, 5313, 0, 0, 2582, 0, - 0, 2585, 2264, 0, 0, 0, 0, 3770, 0, 3770, - 3770, 3770, 0, 0, 0, 0, 0, 0, 2749, 0, - 0, 0, 2586, 6097, 0, 0, 0, 0, 0, 0, - 0, 0, 3680, 1791, 0, 3683, 0, 0, 0, 0, - 951, 0, 0, 0, 2583, 0, 3479, 0, 0, 2584, - 0, 941, 0, 0, 0, 941, 0, 941, 0, 0, - 0, 0, 0, 2322, 0, 0, 0, 0, 0, 0, - 0, 0, 2585, 2264, 0, 5364, 0, 2587, 0, 0, - 2588, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2841, 0, 0, 2586, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2583, 5392, 0, 0, 0, 2584, 0, - 0, 0, 0, 3774, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2322, 0, 3787, 0, 0, 0, - 0, 2585, 2264, 0, 3796, 0, 0, 0, 2587, 0, - 0, 2588, 0, 0, 0, 0, 0, 5104, 0, 0, - 0, 0, 2586, 0, 951, 0, 3479, 0, 0, 0, - 2589, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3840, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2322, 3864, 0, 2073, 0, 0, 2074, - 0, 0, 0, 2075, 2076, 2077, 0, 2587, 0, 0, - 2588, 0, 0, 0, 0, 951, 0, 0, 0, 0, - 0, 0, 0, 2579, 0, 0, 951, 0, 0, 0, - 0, 2589, 0, 2580, 0, 0, 0, 3919, 0, 3921, - 2581, 0, 0, 951, 0, 0, 0, 0, 951, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2513, 0, 0, 0, 2582, 0, 0, 0, - 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 2073, 0, 5424, 2074, 0, 0, 891, 2075, - 2076, 2077, 0, 891, 891, 0, 2971, 0, 0, 0, - 2589, 0, 0, 0, 0, 0, 0, 0, 0, 2579, - 0, 0, 4446, 0, 0, 0, 0, 0, 0, 2580, - 0, 0, 0, 0, 0, 0, 2581, 3976, 0, 0, - 0, 3007, 0, 2513, 3983, 0, 0, 0, 0, 0, - 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, - 2522, 0, 2582, 0, 0, 5435, 0, 0, 3770, 0, - 0, 0, 0, 0, 0, 0, 0, 5570, 0, 0, - 0, 0, 0, 0, 0, 951, 0, 3072, 0, 0, - 0, 2583, 0, 951, 951, 0, 2584, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3090, 0, 0, - 0, 0, 2513, 0, 0, 5396, 891, 0, 0, 2585, - 2264, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 0, 3110, 5445, 3111, 0, 0, 0, 0, - 2586, 0, 0, 0, 0, 0, 1791, 0, 0, 0, - 3120, 0, 3121, 0, 0, 0, 0, 0, 638, 0, - 638, 0, 638, 0, 638, 891, 638, 0, 0, 0, - 638, 0, 0, 0, 0, 0, 0, 2583, 0, 0, - 0, 2322, 2584, 2073, 0, 0, 2074, 0, 0, 0, - 2075, 2076, 2077, 0, 0, 2587, 0, 0, 2588, 0, - 0, 0, 0, 0, 0, 2585, 2264, 3180, 0, 0, - 2579, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2580, 0, 0, 0, 0, 0, 2586, 2581, 2073, 0, - 0, 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2582, 0, 2579, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2580, 0, 2322, 0, 0, - 0, 0, 2581, 0, 0, 0, 0, 0, 0, 0, - 0, 2587, 0, 0, 2588, 0, 0, 0, 2589, 0, - 0, 0, 0, 0, 890, 0, 0, 0, 2582, 0, - 0, 0, 0, 0, 0, 0, 1119, 0, 0, 0, - 5761, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2073, 0, 0, 2074, 0, 0, 0, 2075, - 2076, 2077, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579, - 0, 0, 0, 0, 881, 0, 0, 0, 0, 2580, - 0, 0, 0, 0, 0, 0, 2581, 0, 2583, 0, - 0, 0, 0, 2584, 2589, 0, 0, 0, 0, 0, - 4248, 4249, 0, 0, 0, 0, 0, 0, 0, 0, - 2513, 0, 2582, 0, 0, 951, 2585, 2264, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, - 0, 0, 5500, 2583, 0, 0, 0, 2586, 2584, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2585, 2264, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2322, 0, - 0, 0, 2586, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2587, 0, 0, 2588, 2513, 0, 0, 0, - 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, - 2519, 2520, 2521, 2522, 0, 0, 0, 0, 5534, 0, - 883, 0, 0, 2322, 0, 1119, 0, 2583, 0, 5915, - 951, 5916, 2584, 0, 0, 5921, 5922, 2587, 0, 0, - 2588, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2585, 2264, 0, 0, 0, - 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2586, 0, 0, 0, - 0, 0, 0, 0, 0, 2589, 0, 0, 951, 0, - 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, - 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2322, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2589, 2587, 0, 0, 2588, 0, 0, 0, 0, 0, - 4420, 0, 0, 0, 0, 941, 941, 0, 951, 951, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 941, 0, 951, 941, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 951, 951, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2513, 0, 1704, - 0, 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, 5536, - 0, 0, 0, 941, 0, 0, 0, 941, 941, 0, - 0, 0, 0, 0, 2589, 0, 0, 0, 0, 0, - 0, 0, 2513, 0, 0, 0, 0, 0, 0, 0, - 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 0, 0, 5575, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2073, 0, 0, - 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, 0, - 0, 0, 0, 0, 0, 1119, 0, 0, 0, 0, - 4573, 0, 0, 0, 2579, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, - 0, 2581, 0, 0, 0, 0, 2513, 0, 0, 0, - 1791, 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, - 2519, 2520, 2521, 2522, 0, 0, 0, 2582, 5903, 0, - 0, 0, 0, 0, 0, 699, 0, 0, 0, 0, - 2738, 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, 3469, 3470, 0, 2739, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 702, 0, 0, 3485, 3486, 0, 3488, 3489, 0, - 0, 0, 3492, 3493, 0, 0, 0, 703, 0, 0, - 0, 0, 0, 6194, 0, 0, 2539, 3504, 0, 0, - 0, 0, 0, 0, 3513, 1034, 0, 0, 3516, 3517, - 0, 0, 3520, 3521, 0, 0, 0, 0, 0, 3526, - 0, 0, 2583, 0, 0, 0, 0, 2584, 890, 2740, - 0, 3541, 0, 0, 0, 0, 0, 0, 6194, 0, - 706, 0, 0, 3558, 0, 0, 0, 0, 3560, 707, - 2585, 2264, 0, 0, 890, 0, 6194, 0, 0, 5181, - 0, 0, 708, 3566, 0, 0, 0, 0, 2741, 0, - 0, 2586, 3573, 0, 0, 3577, 0, 3579, 3582, 3584, - 0, 0, 0, 0, 3592, 3595, 0, 0, 881, 0, - 0, 0, 0, 0, 3608, 1037, 0, 0, 0, 0, - 3618, 0, 0, 0, 3621, 0, 0, 0, 0, 0, - 0, 0, 2322, 0, 881, 0, 3631, 3632, 0, 0, - 0, 3637, 0, 0, 0, 0, 2587, 3646, 3647, 2588, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3656, 0, 0, 3657, 0, 0, 0, 712, 0, - 0, 3669, 3670, 0, 0, 0, 0, 3674, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3681, - 0, 0, 3684, 0, 0, 0, 0, 3687, 0, 0, - 0, 0, 0, 3690, 3691, 2073, 0, 0, 2074, 2742, - 0, 3697, 2075, 2076, 2077, 3699, 890, 0, 0, 3706, - 3707, 3708, 3709, 0, 3711, 0, 0, 0, 0, 0, - 0, 0, 2579, 0, 0, 0, 0, 3736, 3737, 2589, - 3739, 0, 2580, 213, 2743, 0, 0, 717, 0, 2581, - 0, 3748, 3749, 3750, 883, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1041, 2582, 881, 2744, 0, 0, - 883, 0, 0, 0, 721, 0, 0, 0, 0, 0, - 0, 722, 0, 0, 723, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3802, 0, - 0, 0, 0, 724, 0, 0, 3826, 0, 0, 0, - 1043, 0, 0, 0, 0, 0, 0, 726, 0, 0, - 1044, 0, 0, 0, 728, 3838, 0, 2073, 0, 0, - 2074, 2513, 2745, 0, 2075, 2076, 2077, 0, 0, 2746, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 0, 0, 0, 5925, 2579, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2580, 733, 0, 0, 890, 0, - 0, 2581, 4972, 0, 0, 3906, 0, 0, 0, 890, - 2583, 0, 0, 0, 0, 2584, 4974, 0, 0, 0, - 0, 0, 0, 0, 3920, 890, 3922, 2582, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2585, 2264, - 0, 0, 883, 0, 0, 0, 0, 0, 0, 0, - 0, 1791, 0, 0, 0, 0, 0, 0, 881, 2586, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 881, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 881, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2322, 0, 0, 0, 0, 0, 951, 0, 0, 0, - 0, 0, 0, 0, 2587, 0, 0, 2588, 0, 0, - 0, 3984, 0, 0, 951, 0, 0, 0, 951, 0, - 0, 0, 951, 0, 0, 0, 0, 0, 0, 0, - 0, 951, 2583, 0, 0, 0, 0, 2584, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2073, 0, 951, - 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, 0, - 2585, 2264, 0, 0, 0, 0, 941, 0, 941, 941, - 0, 0, 890, 0, 2579, 0, 0, 0, 0, 0, - 0, 2586, 0, 951, 2580, 0, 0, 0, 0, 0, - 0, 2581, 0, 0, 883, 0, 0, 2589, 0, 0, - 0, 0, 0, 951, 951, 883, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, - 0, 883, 2322, 0, 884, 0, 0, 0, 0, 0, - 0, 0, 881, 0, 1791, 951, 2587, 0, 1791, 2588, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 951, 0, 1791, 0, 0, 0, 951, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 951, 0, 0, 0, 0, 0, 0, 951, - 0, 0, 951, 0, 0, 0, 0, 950, 951, 2513, - 0, 0, 0, 0, 0, 0, 950, 0, 2514, 2515, - 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 951, 0, - 950, 6113, 0, 0, 951, 0, 2557, 0, 0, 2589, - 0, 951, 2583, 0, 0, 0, 0, 2584, 0, 0, - 0, 0, 0, 0, 0, 951, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, - 2585, 2264, 0, 1791, 0, 0, 0, 0, 0, 951, - 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, - 0, 2586, 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, 4233, 0, - 0, 0, 2322, 0, 0, 0, 0, 890, 0, 1791, - 0, 2513, 0, 0, 0, 0, 2587, 0, 4245, 2588, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 0, 0, 0, 6130, 0, 4252, 0, 0, 0, 4252, - 0, 0, 0, 0, 4263, 4264, 4265, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5307, 0, 0, 881, 0, 0, - 0, 0, 0, 0, 890, 0, 0, 0, 0, 5311, - 4295, 4296, 4297, 4298, 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, 2589, - 4314, 0, 0, 0, 0, 890, 0, 0, 4317, 0, - 4321, 4322, 4323, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 881, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 890, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 951, 0, 1791, 0, 0, 0, - 5369, 0, 0, 0, 0, 881, 0, 0, 0, 0, - 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, - 951, 0, 0, 0, 0, 0, 0, 941, 0, 941, - 941, 0, 0, 0, 0, 0, 0, 0, 881, 0, - 0, 2513, 0, 883, 0, 0, 0, 0, 0, 0, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 0, 0, 0, 6171, 0, 0, 4407, 0, 0, 0, - 0, 0, 0, 0, 0, 4413, 0, 0, 0, 0, - 0, 0, 699, 0, 0, 0, 0, 1030, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4423, 4424, 0, 0, 0, 4425, 0, 0, 0, - 883, 1791, 0, 0, 0, 0, 0, 1791, 0, 0, - 0, 0, 0, 0, 0, 1031, 0, 0, 4467, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 702, 1032, - 0, 0, 950, 0, 0, 0, 0, 0, 0, 0, - 1033, 883, 0, 0, 703, 0, 0, 0, 0, 0, - 0, 950, 0, 0, 0, 0, 0, 950, 0, 0, - 890, 0, 1034, 0, 0, 0, 0, 0, 0, 950, - 4504, 890, 0, 0, 883, 4510, 0, 0, 0, 0, - 0, 4516, 0, 0, 0, 950, 1035, 890, 0, 0, - 0, 5506, 951, 5508, 0, 0, 0, 706, 0, 0, - 950, 0, 0, 0, 0, 0, 707, 0, 950, 0, - 0, 4555, 0, 0, 0, 0, 0, 0, 0, 708, - 881, 0, 950, 0, 0, 1036, 0, 0, 0, 0, - 0, 881, 950, 0, 0, 0, 0, 0, 0, 0, - 4570, 890, 4571, 0, 0, 0, 0, 881, 0, 0, - 0, 0, 1037, 0, 0, 0, 890, 0, 0, 890, - 890, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, - 0, 0, 0, 1038, 0, 950, 0, 0, 0, 0, - 890, 890, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 881, 0, 0, 884, 712, 0, 0, 0, 0, - 0, 0, 0, 950, 0, 0, 881, 0, 0, 881, - 881, 0, 951, 951, 0, 0, 0, 0, 0, 0, - 0, 0, 2073, 0, 0, 2074, 0, 0, 950, 2075, - 2076, 2077, 0, 0, 0, 5635, 1039, 0, 0, 951, - 881, 881, 951, 0, 0, 0, 0, 0, 0, 2579, - 0, 0, 0, 3424, 0, 0, 883, 0, 0, 2580, - 715, 0, 0, 0, 0, 0, 2581, 883, 0, 0, - 213, 1040, 0, 0, 717, 0, 0, 0, 886, 0, - 0, 0, 0, 883, 0, 0, 0, 0, 950, 0, - 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, - 0, 1041, 0, 0, 1042, 0, 0, 0, 720, 0, - 0, 721, 0, 0, 1791, 1791, 1791, 890, 722, 0, - 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 883, 0, 951, - 724, 0, 0, 3425, 0, 0, 0, 1043, 0, 0, - 0, 0, 883, 0, 726, 883, 883, 1044, 951, 0, - 0, 728, 0, 0, 0, 0, 0, 0, 0, 1045, - 0, 730, 0, 0, 0, 0, 1046, 881, 0, 0, - 951, 0, 0, 0, 0, 0, 883, 883, 0, 0, - 0, 0, 0, 0, 5748, 0, 5750, 0, 1790, 0, - 0, 0, 733, 0, 0, 950, 0, 2583, 0, 0, - 0, 0, 2584, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2585, 2264, 0, 0, 0, - 0, 4803, 0, 0, 4810, 0, 4811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2586, 0, 0, 4818, - 0, 0, 0, 0, 0, 0, 951, 0, 0, 0, - 0, 4824, 0, 0, 0, 4827, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4853, 0, 0, 2322, 884, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, - 0, 2587, 4857, 1791, 2588, 0, 0, 0, 4861, 951, - 0, 951, 0, 883, 0, 884, 0, 0, 0, 950, - 0, 887, 0, 0, 951, 0, 951, 0, 0, 0, - 0, 0, 0, 4896, 0, 0, 0, 4900, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4911, 4912, 4913, 4914, 0, 0, 0, - 0, 0, 0, 4918, 4919, 4920, 4921, 0, 0, 0, - 0, 0, 4923, 4924, 0, 0, 0, 0, 4931, 4932, - 950, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 0, 0, - 0, 950, 0, 951, 2589, 0, 0, 4949, 0, 0, - 0, 4952, 4953, 4954, 4955, 0, 0, 2073, 950, 0, - 2074, 0, 0, 950, 2075, 2076, 2077, 0, 0, 0, - 0, 0, 0, 0, 0, 4252, 0, 0, 0, 0, - 0, 0, 5939, 0, 2579, 951, 0, 0, 0, 0, - 0, 0, 0, 4975, 2580, 0, 0, 0, 0, 0, - 0, 2581, 0, 0, 951, 3426, 0, 0, 951, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 884, 0, 0, 0, 0, 2582, 0, 951, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2513, 0, 0, 0, - 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, - 2519, 2520, 2521, 2522, 0, 0, 0, 0, 0, 5056, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 950, 0, 0, 0, 0, 0, 0, 6024, 950, 950, - 0, 0, 4252, 0, 0, 0, 0, 0, 0, 5081, - 0, 5082, 0, 0, 0, 0, 0, 4057, 0, 0, - 0, 0, 0, 4058, 0, 0, 0, 0, 0, 1791, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5097, - 0, 0, 2583, 0, 0, 0, 0, 2584, 0, 0, - 0, 1790, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2585, 2264, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073, - 0, 2586, 2074, 0, 0, 0, 2075, 2076, 2077, 0, - 0, 0, 0, 0, 0, 0, 0, 6101, 0, 0, - 0, 0, 0, 0, 0, 0, 2579, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, - 0, 0, 2322, 2581, 0, 0, 0, 1092, 1092, 0, - 0, 0, 0, 0, 0, 0, 2587, 0, 0, 2588, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2582, - 0, 890, 0, 0, 0, 890, 890, 0, 0, 0, - 0, 0, 886, 0, 0, 0, 0, 884, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 886, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 881, 0, 890, 0, 881, 881, 0, 0, 890, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4059, - 0, 1092, 0, 0, 884, 0, 889, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5248, 5249, 5250, 0, - 0, 1791, 5251, 5252, 5253, 5254, 1791, 0, 1791, 5256, - 890, 0, 0, 0, 2583, 0, 0, 0, 0, 2584, - 0, 0, 0, 881, 0, 884, 0, 0, 0, 881, - 0, 0, 1791, 0, 0, 0, 0, 0, 0, 0, - 950, 0, 2585, 2264, 0, 0, 0, 5276, 5277, 5278, - 5279, 5280, 0, 5282, 5283, 0, 0, 0, 884, 0, - 0, 0, 0, 2586, 0, 5292, 5293, 0, 0, 0, - 881, 0, 0, 0, 0, 0, 0, 0, 0, 951, - 886, 2513, 951, 0, 0, 0, 0, 0, 0, 0, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, - 5299, 0, 0, 0, 2322, 0, 0, 883, 0, 0, - 0, 883, 883, 0, 0, 0, 0, 0, 2587, 0, - 0, 2588, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4678, 0, 0, 0, - 0, 0, 0, 0, 0, 950, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 887, 0, 0, 0, 883, - 0, 0, 951, 951, 0, 883, 0, 0, 0, 0, - 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, - 1790, 887, 0, 0, 0, 0, 0, 0, 0, 0, - 951, 0, 5362, 0, 0, 0, 0, 0, 0, 0, - 0, 2589, 0, 950, 0, 0, 883, 0, 0, 890, - 0, 950, 0, 0, 0, 0, 0, 0, 4679, 950, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 886, 0, 0, 0, 0, 0, 0, 0, - 884, 0, 0, 886, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 0, 0, 5413, 0, 886, - 0, 0, 0, 950, 950, 0, 0, 884, 0, 881, - 0, 951, 0, 0, 1791, 0, 0, 950, 0, 0, - 0, 0, 890, 0, 0, 0, 890, 0, 0, 5419, - 950, 950, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2513, 0, 0, 0, 0, 0, 0, - 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, - 2522, 884, 0, 887, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 884, - 884, 0, 881, 0, 0, 0, 881, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2073, 0, - 0, 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, - 884, 884, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2073, 638, 2579, 2074, 0, 0, 890, - 2075, 2076, 2077, 0, 0, 2580, 0, 0, 0, 0, - 0, 0, 2581, 0, 890, 0, 0, 0, 0, 890, - 2579, 0, 0, 3993, 0, 883, 886, 0, 0, 0, - 2580, 0, 0, 0, 0, 0, 0, 2581, 2582, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 890, 0, - 0, 0, 0, 0, 0, 1790, 0, 0, 5523, 881, - 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 881, 0, 0, 5533, 0, 881, - 0, 0, 0, 5539, 5540, 0, 0, 0, 0, 0, - 0, 0, 0, 5551, 0, 887, 0, 0, 883, 0, - 5553, 0, 883, 0, 0, 0, 887, 0, 881, 0, - 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, - 951, 0, 887, 0, 0, 0, 0, 5979, 0, 0, - 0, 0, 0, 0, 0, 5605, 5606, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5614, 0, - 5616, 0, 0, 2583, 0, 0, 0, 0, 2584, 0, - 0, 0, 0, 0, 951, 5630, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 951, 0, 2583, 0, - 0, 2585, 2264, 2584, 0, 0, 0, 0, 0, 0, - 4252, 0, 0, 0, 0, 0, 0, 0, 5664, 0, - 0, 0, 2586, 0, 0, 883, 2585, 2264, 0, 0, - 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, - 883, 0, 0, 0, 0, 883, 0, 2586, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 889, 0, 0, 2322, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 883, 0, 0, 2587, 0, 0, - 2588, 0, 0, 0, 0, 0, 889, 0, 2322, 0, - 0, 0, 5706, 0, 0, 0, 0, 0, 0, 887, - 0, 886, 2587, 5980, 0, 2588, 0, 0, 0, 1791, - 0, 0, 0, 0, 0, 890, 5726, 0, 890, 0, - 890, 0, 0, 0, 0, 890, 0, 5733, 951, 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, 886, 0, - 2589, 0, 0, 890, 0, 881, 0, 0, 881, 0, - 881, 890, 0, 0, 0, 881, 0, 0, 0, 0, - 0, 0, 0, 0, 5792, 2589, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 890, 0, 0, 886, - 0, 0, 0, 0, 951, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, - 0, 0, 0, 881, 0, 0, 0, 0, 0, 0, - 0, 881, 886, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4252, 0, 881, 0, 0, 0, - 0, 0, 2513, 0, 0, 0, 890, 0, 890, 0, - 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 0, 0, 0, 0, 0, 2513, 0, 0, - 0, 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, 0, - 0, 883, 0, 0, 883, 0, 883, 0, 0, 0, - 5891, 883, 0, 0, 0, 0, 881, 0, 881, 0, - 0, 951, 0, 951, 5904, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 890, 0, 0, 0, 0, 0, 0, 883, - 0, 0, 0, 0, 0, 0, 0, 883, 0, 951, - 889, 0, 0, 0, 0, 0, 1790, 0, 0, 941, - 0, 889, 0, 5943, 0, 0, 0, 0, 0, 0, - 0, 0, 883, 0, 890, 0, 0, 889, 0, 0, - 2073, 887, 0, 2074, 0, 0, 0, 2075, 2076, 2077, - 0, 0, 881, 0, 886, 0, 0, 0, 0, 1791, - 0, 0, 890, 0, 941, 886, 0, 2579, 0, 0, - 0, 950, 0, 0, 0, 0, 0, 2580, 0, 0, - 0, 886, 887, 0, 2581, 0, 0, 0, 0, 950, - 0, 0, 0, 950, 881, 0, 0, 950, 0, 0, - 0, 0, 883, 0, 883, 0, 950, 0, 0, 0, - 2582, 0, 0, 0, 0, 887, 0, 6018, 0, 0, - 0, 0, 881, 0, 950, 0, 0, 0, 0, 0, - 890, 0, 0, 0, 0, 886, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 6030, - 886, 0, 890, 886, 886, 0, 0, 0, 950, 0, - 6040, 884, 0, 0, 0, 884, 884, 0, 0, 0, - 0, 0, 0, 0, 890, 0, 0, 0, 950, 950, - 0, 0, 0, 0, 886, 886, 0, 0, 0, 0, - 881, 0, 0, 0, 889, 0, 0, 0, 883, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1790, - 950, 0, 881, 1790, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 884, 0, 2583, 0, 0, 0, 884, - 2584, 0, 0, 0, 881, 0, 0, 950, 2073, 1790, - 883, 2074, 0, 950, 0, 2075, 2076, 2077, 0, 0, - 0, 0, 0, 2585, 2264, 0, 890, 950, 0, 0, - 0, 0, 6107, 0, 950, 2579, 0, 950, 883, 0, - 884, 0, 0, 950, 2586, 2580, 0, 0, 951, 954, - 0, 0, 2581, 0, 0, 0, 0, 0, 0, 0, - 0, 988, 951, 950, 0, 0, 0, 0, 0, 950, - 890, 0, 1007, 0, 0, 0, 950, 887, 2582, 0, - 0, 0, 0, 0, 0, 2322, 881, 0, 887, 0, - 950, 886, 0, 1791, 0, 890, 0, 0, 0, 2587, - 0, 0, 2588, 950, 887, 0, 883, 0, 1790, 0, - 0, 0, 0, 0, 950, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 883, 0, - 881, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2073, 0, 0, 2074, 0, - 883, 0, 2075, 2076, 2077, 881, 0, 0, 887, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2579, 887, 1790, 4062, 887, 887, 0, 0, - 0, 0, 2580, 0, 0, 0, 0, 0, 0, 2581, - 0, 0, 2589, 2583, 1791, 0, 0, 0, 2584, 0, - 0, 0, 0, 0, 0, 0, 0, 887, 887, 0, - 0, 0, 0, 0, 0, 2582, 0, 0, 0, 889, - 0, 2585, 2264, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 883, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2586, 2073, 0, 0, 2074, 0, 0, 884, - 2075, 2076, 2077, 0, 0, 890, 0, 0, 0, 1791, - 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, - 2579, 0, 0, 0, 0, 0, 883, 0, 0, 0, - 2580, 0, 0, 2322, 0, 0, 889, 2581, 0, 0, - 0, 0, 0, 4004, 2513, 0, 0, 2587, 0, 0, - 2588, 883, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, - 2521, 2522, 0, 2582, 0, 881, 0, 0, 0, 4030, - 0, 0, 884, 0, 0, 0, 884, 889, 0, 950, - 2583, 1790, 0, 0, 0, 2584, 0, 0, 0, 0, - 0, 0, 0, 0, 887, 890, 0, 0, 950, 0, - 0, 0, 0, 0, 0, 950, 0, 0, 2585, 2264, - 889, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 890, 0, 0, 0, 0, 0, 0, 0, 2586, - 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, - 2589, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 941, 0, 0, 0, 0, 881, 0, 0, 0, 4067, - 0, 0, 0, 951, 0, 0, 0, 0, 0, 0, - 2322, 0, 0, 0, 0, 0, 0, 0, 2583, 884, - 0, 881, 0, 2584, 2587, 0, 0, 2588, 0, 0, - 0, 0, 0, 0, 884, 0, 1790, 0, 0, 884, - 0, 0, 1790, 0, 0, 0, 2585, 2264, 0, 0, - 0, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 941, 941, 0, 0, 0, 2586, 884, 0, - 0, 0, 0, 0, 1027, 0, 0, 0, 0, 0, - 1059, 0, 2513, 0, 0, 0, 0, 0, 0, 0, - 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 0, 0, 0, 0, 890, 0, 0, 0, 2322, 0, - 0, 0, 0, 0, 0, 0, 0, 2589, 0, 0, - 0, 951, 2587, 0, 0, 2588, 0, 950, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 883, 889, 0, 0, 0, 0, 0, 0, 0, - 0, 890, 0, 889, 0, 0, 890, 0, 0, 0, - 0, 0, 0, 0, 881, 0, 0, 883, 0, 889, - 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, 881, 0, 0, 0, 2589, 881, 0, 0, 2513, - 0, 0, 0, 889, 0, 0, 0, 0, 2514, 2515, - 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 889, 0, - 0, 889, 889, 0, 0, 0, 0, 0, 0, 0, - 0, 1360, 0, 0, 0, 0, 0, 950, 950, 1791, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1385, 0, 889, 889, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 950, 886, 0, 950, 0, 886, - 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1791, 0, 0, 0, 890, 0, - 883, 0, 941, 941, 0, 884, 0, 2513, 884, 0, - 884, 0, 1791, 0, 0, 884, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, 0, - 1443, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 0, 0, 886, 0, 0, 0, 883, 0, 1790, - 1790, 1790, 883, 0, 0, 0, 0, 0, 881, 0, - 0, 2073, 0, 884, 2074, 0, 0, 0, 2075, 2076, - 2077, 884, 0, 0, 950, 0, 0, 1579, 0, 0, - 0, 0, 0, 0, 886, 0, 0, 0, 2579, 0, - 0, 4074, 0, 950, 0, 0, 884, 0, 2580, 889, - 0, 0, 0, 0, 0, 2581, 0, 0, 0, 0, - 0, 0, 0, 2073, 0, 950, 2074, 0, 0, 0, - 2075, 2076, 2077, 0, 0, 890, 0, 0, 0, 0, - 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, - 2579, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2580, 0, 0, 0, 0, 0, 0, 2581, 0, 0, - 0, 0, 0, 0, 0, 890, 884, 0, 884, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2582, 0, 881, 0, 890, 0, 0, - 0, 0, 1840, 0, 0, 0, 0, 0, 0, 0, - 2073, 950, 0, 2074, 883, 0, 0, 2075, 2076, 2077, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1874, 1877, 1878, 0, 881, 0, 2579, 887, 0, - 4685, 0, 887, 887, 0, 0, 0, 2580, 0, 0, - 0, 0, 0, 0, 2581, 0, 2583, 881, 1790, 0, - 0, 2584, 0, 0, 950, 0, 950, 0, 0, 0, - 890, 0, 884, 0, 0, 0, 0, 0, 0, 950, - 2582, 950, 0, 0, 2585, 2264, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 887, 0, 0, 886, 0, 2586, 887, 0, 2583, 0, - 0, 0, 0, 2584, 884, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 881, 0, 0, 0, 0, 0, 2585, 2264, 0, 0, - 1360, 883, 884, 0, 0, 0, 2322, 887, 950, 0, - 0, 0, 0, 0, 0, 0, 0, 2586, 0, 0, - 2587, 0, 0, 2588, 0, 0, 0, 0, 1360, 0, - 0, 0, 0, 0, 0, 0, 886, 0, 0, 0, - 886, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 950, 890, 0, 0, 0, 2583, 0, 0, 2322, 0, - 2584, 0, 0, 883, 0, 0, 0, 0, 0, 950, - 884, 0, 2587, 950, 0, 2588, 0, 0, 0, 0, - 0, 0, 0, 2585, 2264, 0, 0, 0, 0, 0, - 0, 0, 884, 0, 950, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2586, 0, 0, 0, 0, 0, - 0, 881, 0, 2589, 884, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 0, - 0, 0, 0, 886, 0, 2322, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 886, 2587, - 0, 0, 2588, 886, 0, 2589, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2573, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 890, 0, 0, - 0, 0, 886, 0, 1790, 0, 884, 0, 4615, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2513, 887, 0, 0, 0, - 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, - 2520, 2521, 2522, 0, 0, 0, 0, 0, 0, 0, - 884, 0, 0, 0, 0, 0, 0, 881, 0, 0, - 0, 0, 2589, 0, 0, 2664, 890, 883, 0, 0, - 0, 0, 0, 0, 0, 884, 0, 2513, 0, 0, - 0, 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, 887, - 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 881, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2781, 0, - 0, 0, 0, 0, 0, 0, 0, 2804, 0, 0, - 0, 0, 0, 0, 2513, 0, 0, 0, 0, 0, - 0, 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, - 2521, 2522, 0, 889, 0, 950, 890, 889, 889, 2842, - 0, 0, 0, 0, 0, 2854, 2854, 0, 0, 2854, - 0, 0, 0, 883, 0, 0, 887, 0, 0, 0, - 0, 0, 2872, 0, 0, 2875, 0, 0, 0, 0, - 0, 887, 0, 0, 0, 0, 887, 0, 0, 0, - 0, 0, 0, 0, 0, 884, 1790, 0, 0, 0, - 0, 1790, 0, 1790, 0, 889, 881, 0, 0, 886, - 0, 889, 886, 0, 886, 887, 0, 0, 0, 886, - 0, 0, 0, 0, 0, 0, 0, 1790, 0, 0, - 0, 2928, 883, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2947, 0, 0, 0, 0, - 0, 0, 889, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 0, 0, 0, 950, 886, 0, 950, 890, 0, - 0, 0, 0, 890, 890, 884, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1335, 1335, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 881, 0, - 0, 0, 0, 881, 881, 0, 0, 0, 0, 0, - 0, 0, 883, 0, 0, 2969, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2972, 950, 950, 0, - 886, 0, 886, 0, 2073, 0, 0, 2074, 950, 0, - 0, 2075, 2076, 2077, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 950, 890, 0, 0, 0, - 0, 2579, 0, 0, 0, 1335, 0, 0, 3016, 2854, - 0, 2580, 0, 0, 0, 0, 2073, 0, 2581, 2074, - 0, 0, 0, 2075, 2076, 2077, 0, 0, 0, 0, - 0, 0, 0, 3051, 0, 0, 0, 0, 0, 0, - 3064, 0, 0, 2579, 2582, 890, 0, 0, 0, 0, - 0, 0, 0, 2580, 884, 0, 881, 0, 0, 0, - 2581, 889, 887, 0, 0, 887, 886, 887, 0, 0, - 0, 0, 887, 0, 0, 0, 950, 0, 0, 1790, - 0, 0, 0, 0, 883, 0, 2582, 0, 0, 883, - 883, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 881, 884, 0, 886, 0, - 0, 0, 0, 3125, 0, 0, 0, 0, 0, 0, - 887, 0, 0, 0, 0, 0, 1701, 1705, 887, 0, - 0, 0, 0, 0, 889, 0, 886, 0, 889, 0, - 5130, 0, 0, 0, 0, 0, 1360, 1360, 0, 0, - 0, 0, 0, 887, 0, 0, 0, 0, 0, 2583, - 0, 0, 0, 3179, 2584, 0, 3181, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5136, 0, 0, 0, 0, 2585, 2264, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2583, 883, 0, 886, 0, 2584, 0, 2586, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 887, 0, 887, 886, 0, 0, 2585, - 2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 889, 0, 0, 0, 0, 0, 0, 886, 2322, - 2586, 883, 0, 0, 0, 2524, 889, 0, 884, 0, - 0, 889, 0, 2587, 0, 0, 2588, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 889, 2322, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2587, 0, 0, 2588, 0, - 0, 0, 2524, 0, 0, 950, 0, 0, 0, 887, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 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, 2589, 0, 0, 950, - 0, 887, 0, 0, 0, 2022, 0, 0, 0, 0, - 0, 950, 0, 0, 886, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2073, 884, 0, 2074, 0, 887, - 0, 2075, 2076, 2077, 0, 0, 0, 0, 2589, 886, - 2041, 0, 0, 0, 0, 0, 950, 0, 0, 0, - 0, 2579, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2580, 0, 0, 0, 884, 0, 0, 2581, 2060, - 2061, 2062, 0, 2064, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 884, 0, 0, - 0, 0, 0, 2531, 2582, 0, 0, 887, 2513, 0, - 0, 0, 0, 0, 0, 0, 0, 2514, 2515, 2516, - 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 887, - 0, 0, 0, 0, 1790, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2513, 887, 0, 950, 0, 0, 0, 0, 0, 2514, - 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, - 884, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 889, 0, 0, - 889, 0, 889, 0, 5137, 0, 0, 889, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2631, 886, - 0, 0, 2643, 2648, 0, 0, 0, 0, 0, 2583, - 0, 0, 0, 0, 2584, 0, 0, 0, 0, 0, - 0, 0, 0, 887, 0, 0, 0, 0, 0, 950, - 0, 0, 0, 0, 0, 889, 0, 2585, 2264, 0, - 0, 0, 0, 889, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2586, 0, - 0, 2524, 0, 0, 0, 2524, 0, 887, 889, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 884, 0, 0, 0, 0, 0, 0, 0, 886, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 2322, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2587, 0, 886, 2588, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3358, 0, 0, 889, 0, - 889, 0, 0, 0, 0, 0, 3363, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 950, 0, 950, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2073, 0, 0, 2074, 1443, 0, - 0, 2075, 2076, 2077, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2579, 0, 0, 950, 0, 2589, 0, 0, 0, - 0, 2580, 0, 0, 0, 0, 0, 884, 2581, 0, - 0, 0, 0, 0, 0, 1443, 1443, 0, 0, 0, - 0, 0, 0, 0, 889, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2582, 1701, 1701, 1701, 0, 0, - 0, 0, 887, 0, 1790, 0, 0, 0, 886, 1360, - 0, 0, 2073, 0, 0, 2074, 0, 0, 0, 2075, - 2076, 2077, 0, 0, 0, 0, 889, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 884, 0, 0, 2579, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2580, - 0, 0, 0, 0, 889, 886, 2581, 0, 2513, 0, - 886, 0, 0, 5138, 0, 0, 0, 2514, 2515, 2516, - 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, - 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, + 0, 2638, 0, 0, 0, 0, 1561, 0, 914, 0, + 0, 2639, 914, 0, 0, 2645, 0, 0, 2640, 1562, + 0, 0, 2112, 0, 0, 2113, 0, 0, 1563, 2114, + 2115, 2116, 6328, 1564, 0, 0, 1596, 0, 0, 1548, + 0, 0, 0, 0, 2641, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 2107, 0, 2373, 2639, + 0, 0, 0, 0, 0, 2110, 2640, 0, 0, 0, + 0, 0, 0, 2646, 0, 1549, 2647, 0, 0, 0, + 0, 2598, 0, 0, 0, 0, 0, 0, 0, 0, + 1565, 0, 2641, 0, 0, 0, 0, 0, 971, 0, + 1821, 792, 1141, 0, 0, 2617, 2618, 792, 0, 0, + 1141, 1141, 792, 0, 0, 914, 0, 971, 0, 0, + 0, 0, 0, 0, 971, 0, 0, 0, 652, 0, + 914, 652, 0, 652, 652, 914, 1578, 0, 1550, 5396, + 5397, 0, 1579, 652, 5400, 5401, 0, 911, 652, 2112, + 0, 0, 2113, 187, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 2642, 0, 0, 0, 914, 2643, 0, 2648, + 0, 0, 0, 0, 0, 1551, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 1581, 0, 0, + 2644, 2306, 0, 2640, 0, 0, 0, 0, 652, 652, + 652, 0, 0, 652, 0, 0, 0, 0, 0, 0, + 2642, 652, 652, 652, 652, 2643, 0, 0, 2645, 2641, + 0, 0, 1821, 0, 0, 1552, 0, 652, 1821, 0, + 652, 0, 652, 0, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 0, 1582, 652, 652, 0, 0, 652, + 0, 1583, 0, 0, 0, 1584, 0, 0, 0, 0, + 0, 2373, 0, 0, 0, 1553, 2645, 0, 0, 1554, + 652, 0, 652, 0, 652, 2572, 2646, 0, 0, 2647, + 0, 0, 0, 1585, 2573, 2574, 2575, 2576, 2577, 2578, + 2579, 2580, 2581, 652, 0, 0, 0, 4110, 0, 0, + 0, 1619, 1556, 0, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 2112, 971, 0, 2113, 0, 0, 1586, + 2114, 2115, 2116, 0, 2646, 0, 0, 2647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 2638, 0, 2643, 1620, 0, 0, 0, 35, 0, 0, + 2639, 652, 1558, 0, 652, 0, 0, 2640, 0, 0, + 0, 1559, 0, 0, 0, 2644, 2306, 2958, 652, 0, + 1560, 0, 2648, 652, 0, 2966, 0, 0, 1621, 0, + 0, 0, 0, 2641, 0, 0, 0, 0, 652, 0, + 0, 1562, 0, 2645, 0, 0, 0, 0, 0, 1689, + 1563, 0, 652, 1588, 0, 1564, 0, 0, 0, 0, + 652, 0, 0, 1589, 0, 0, 0, 0, 0, 0, + 2648, 0, 914, 1590, 0, 914, 0, 914, 0, 0, + 0, 0, 914, 0, 0, 1591, 2373, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 971, 971, 0, + 0, 2646, 0, 652, 2647, 0, 0, 0, 0, 0, + 0, 0, 1565, 0, 0, 0, 0, 0, 971, 0, + 0, 971, 0, 0, 914, 0, 0, 2807, 2572, 0, + 1593, 1594, 914, 0, 0, 0, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 4530, 2642, 0, 0, 0, 0, 2643, 914, 0, 0, + 0, 0, 2808, 652, 1578, 0, 0, 0, 0, 0, + 1579, 0, 0, 0, 0, 0, 2572, 0, 0, 2644, + 2306, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 792, 2648, 4716, 0, + 0, 0, 1821, 1821, 1821, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 971, 0, 0, + 0, 0, 0, 0, 0, 1596, 914, 0, 914, 0, + 3096, 0, 0, 0, 3101, 0, 971, 0, 0, 0, + 2373, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2646, 0, 0, 971, 0, + 0, 0, 1582, 0, 0, 0, 0, 0, 0, 1583, + 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 1585, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 4790, 0, 0, 2112, 0, + 0, 2113, 0, 0, 914, 2114, 2115, 2116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1586, 0, 0, + 0, 0, 0, 0, 0, 2638, 0, 0, 971, 0, + 0, 2648, 0, 652, 0, 2639, 0, 0, 0, 652, + 0, 0, 2640, 0, 0, 0, 0, 0, 914, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2112, 0, 0, 2113, 0, 0, 2641, 2114, + 2115, 2116, 0, 0, 0, 1821, 914, 0, 0, 0, + 0, 971, 0, 971, 3285, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 971, 1587, 971, 2639, + 0, 1588, 0, 0, 0, 0, 2640, 0, 0, 0, + 0, 1589, 0, 0, 0, 0, 0, 0, 652, 0, + 0, 1590, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2641, 1591, 0, 0, 0, 2572, 0, 0, + 0, 911, 0, 0, 914, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 971, 914, 911, 0, 792, + 0, 0, 0, 0, 0, 2891, 0, 0, 1593, 1594, + 0, 0, 0, 0, 0, 0, 2642, 0, 914, 0, + 0, 2643, 2112, 0, 0, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 971, 0, 0, + 2892, 0, 0, 0, 2644, 2306, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 2639, + 971, 0, 0, 0, 0, 0, 2640, 0, 0, 0, + 0, 0, 2645, 0, 913, 2112, 0, 0, 2113, 0, + 2642, 971, 2114, 2115, 2116, 2643, 902, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 0, 652, 0, 0, + 914, 0, 2638, 0, 0, 652, 0, 652, 2644, 2306, + 0, 0, 2639, 1596, 0, 2373, 0, 0, 0, 2640, + 0, 652, 0, 0, 0, 652, 652, 652, 0, 0, + 2646, 0, 652, 2647, 0, 652, 2645, 0, 652, 0, + 911, 0, 0, 0, 652, 2641, 652, 0, 0, 652, + 0, 0, 0, 914, 652, 652, 652, 652, 0, 0, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 0, 0, 0, 652, 652, 652, 0, 0, 914, 2373, + 0, 0, 0, 652, 0, 0, 0, 0, 652, 0, + 1821, 0, 652, 0, 2646, 0, 0, 2647, 0, 0, + 652, 0, 0, 652, 0, 652, 0, 6078, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0, + 0, 652, 0, 0, 652, 652, 2648, 0, 0, 652, + 652, 0, 0, 0, 652, 0, 652, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 652, 2645, 0, 2643, 0, + 0, 652, 0, 0, 0, 0, 0, 0, 0, 652, + 0, 0, 0, 652, 0, 0, 0, 0, 0, 0, + 2648, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 911, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 0, 911, 0, 652, 0, 0, 2645, + 0, 0, 0, 0, 2646, 0, 0, 2647, 0, 0, + 911, 0, 2572, 652, 0, 0, 0, 0, 0, 914, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 4897, 0, 0, 0, 0, 0, + 0, 0, 2373, 0, 0, 971, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 1578, 652, 0, + 0, 0, 0, 1579, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 0, 0, 4921, 0, + 2648, 2112, 0, 0, 2113, 0, 0, 1821, 2114, 2115, + 2116, 0, 1821, 914, 1821, 0, 0, 0, 1581, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, + 1821, 914, 0, 0, 0, 2640, 0, 0, 3437, 0, + 0, 0, 0, 2648, 2112, 0, 0, 2113, 0, 0, + 0, 2114, 2115, 2116, 0, 0, 0, 911, 0, 0, + 0, 2641, 0, 0, 0, 1582, 0, 0, 0, 0, + 0, 2638, 1583, 0, 0, 0, 1584, 971, 0, 0, + 971, 2639, 0, 0, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 1585, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 2641, 0, 0, 0, 5127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1586, 0, 0, 0, 652, 0, 0, 0, 0, 2572, + 0, 0, 0, 0, 0, 0, 0, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 3030, + 971, 971, 0, 0, 914, 0, 0, 0, 0, 2642, + 0, 971, 0, 0, 2643, 0, 0, 1141, 652, 652, + 0, 0, 0, 0, 0, 0, 0, 0, 971, 0, + 0, 0, 0, 0, 0, 0, 0, 2644, 2306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2616, + 1689, 914, 0, 0, 1588, 0, 914, 652, 652, 0, + 0, 0, 2642, 0, 1589, 2645, 0, 2643, 652, 0, + 0, 0, 0, 1399, 1590, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6408, 0, 1591, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2373, 971, + 0, 0, 1821, 0, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 2646, 0, 0, 2647, 0, 3635, 0, + 0, 1593, 1594, 0, 0, 0, 0, 0, 652, 0, + 0, 0, 0, 6408, 0, 0, 0, 0, 913, 0, + 911, 0, 0, 0, 0, 652, 0, 0, 969, 1399, + 902, 2373, 0, 1595, 0, 1578, 0, 1005, 6408, 0, + 0, 1579, 0, 652, 913, 0, 2646, 0, 0, 2647, + 0, 1027, 0, 1399, 0, 0, 902, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, + 0, 652, 0, 0, 652, 1579, 0, 0, 0, 0, + 0, 0, 652, 652, 0, 914, 1581, 911, 0, 2648, + 652, 652, 0, 0, 0, 652, 0, 0, 0, 0, + 652, 0, 0, 652, 652, 0, 1596, 0, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 3814, 0, 0, + 1581, 3818, 0, 0, 0, 0, 0, 0, 911, 0, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 652, + 0, 0, 2648, 1582, 652, 0, 0, 652, 652, 0, + 1583, 0, 0, 0, 1584, 652, 0, 0, 3851, 0, + 3851, 911, 3851, 3851, 0, 0, 652, 3851, 3851, 3851, + 0, 3851, 3851, 3851, 652, 0, 0, 1582, 0, 0, + 0, 0, 1585, 0, 1583, 0, 0, 913, 1584, 0, + 0, 0, 0, 0, 0, 2572, 0, 0, 0, 902, + 0, 914, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, + 2579, 2580, 2581, 0, 971, 0, 1585, 5240, 1586, 652, + 0, 0, 0, 0, 0, 3928, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2572, 0, + 3956, 0, 1586, 0, 914, 0, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 5277, 971, 2112, 0, 0, 2113, 914, 0, 0, 2114, + 2115, 2116, 0, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 0, 2794, 1689, 652, + 0, 0, 1588, 0, 0, 0, 652, 0, 0, 2639, + 0, 0, 1589, 0, 0, 0, 2640, 0, 971, 0, + 0, 0, 1590, 0, 0, 0, 0, 0, 0, 0, + 0, 1736, 1689, 0, 1591, 2795, 1588, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 1589, 0, 722, 914, + 913, 0, 0, 0, 0, 911, 1590, 0, 0, 0, + 0, 913, 902, 0, 0, 723, 911, 0, 1591, 0, + 0, 0, 0, 902, 0, 652, 3826, 913, 0, 1593, + 1594, 0, 911, 1056, 0, 0, 0, 0, 0, 902, + 0, 652, 0, 0, 0, 0, 1821, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, + 4344, 3827, 0, 1593, 1594, 971, 0, 0, 0, 0, + 726, 0, 652, 0, 0, 0, 0, 0, 0, 727, + 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, + 0, 0, 728, 0, 0, 4345, 0, 0, 2797, 0, + 0, 911, 0, 0, 911, 911, 0, 0, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 914, 0, + 914, 0, 0, 0, 0, 1059, 0, 0, 0, 0, + 0, 0, 0, 0, 1596, 911, 911, 0, -3001, -3001, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 1097, 0, 0, 0, 0, 0, 1097, 0, + 0, 0, 0, 0, 0, 0, 2645, 0, 1596, 0, + 1097, 0, 0, 0, 0, 0, 0, 652, 0, 0, + 0, 0, 0, 0, 913, 732, 0, 652, 0, 0, + 652, 0, 0, 652, 652, 652, 902, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2112, -3001, + 1141, 2113, 0, 0, 0, 2114, 2115, 2116, 652, 652, + 0, 0, 652, 0, 2646, 0, 0, 0, 0, 2798, + 0, 0, 0, 0, 0, 2638, 0, 0, 0, 0, + 652, 0, 0, 0, 652, 2639, 0, 0, 0, 0, + 652, 0, 2640, 0, 652, 0, 0, 0, 0, 0, + 914, 652, 0, 0, 0, 213, 2799, 0, 0, 737, + 0, 0, 0, 0, 652, 0, 0, 652, 2641, 911, + 0, 0, 971, 0, 971, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1063, 0, 0, + 2800, 0, 0, 0, 0, 0, 652, 741, 0, 0, + 0, 0, 0, 0, 742, 0, 0, 743, 0, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 914, 971, 0, 0, 0, 0, 744, 1578, 0, + 0, 0, 652, 0, 1579, 1065, 0, 0, 0, 0, + 0, 0, 746, 0, 0, 1066, 0, 0, 0, 0, + 748, 0, 0, 0, 0, 0, 658, 1141, 2801, 0, + 0, 0, 707, 658, 0, 2802, 0, 0, 759, 0, + 658, 0, 1821, 0, 0, 0, 658, 652, 812, 1581, + 0, 0, 0, 0, 0, 0, 2642, 0, 0, 0, + 0, 2643, 753, 0, 0, 0, 0, 874, 874, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2644, 2306, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 1582, 2747, 652, 0, + 0, 914, 2645, 1583, 4403, 0, 0, 1584, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 0, 0, 1585, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2373, 0, 0, 0, 652, + 0, 0, 0, 652, 0, 652, 0, 0, 0, 0, + 2646, 0, 4453, 2647, 2747, 0, 0, 0, 0, 652, + 0, 1586, 0, 0, 0, 0, 902, 652, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 652, 0, 0, 0, 0, 0, 0, 652, 0, + 0, 0, 0, 0, 0, 913, 0, 0, 953, 0, + 0, 0, 957, 0, 0, 0, 0, 902, 0, 0, + 1000, 0, 0, 1002, 0, 0, 1007, 1008, 0, 1011, + 0, 1014, 4496, 0, 1020, 0, 1022, 0, 913, 0, + 0, 0, 0, 0, 0, 0, 652, 0, 0, 0, + 902, 1689, 914, 0, 0, 1588, 2648, 914, 914, 0, + 0, 0, 652, 0, 0, 1589, 0, 0, 652, 652, + 971, 0, 0, 0, 2112, 1590, 0, 2113, 0, 0, + 3851, 2114, 2115, 2116, 971, 0, 0, 1591, 0, 0, + 0, 0, 4527, 4527, 0, 0, 0, 0, 0, 0, + 0, 2638, 4543, 0, 652, 0, 0, 1141, 0, 1141, + 0, 2639, 652, 0, 0, 1821, 0, 0, 2640, 0, + 1736, 1736, 1736, 0, 0, 0, 0, 0, 0, 4415, + 0, 0, 1593, 1594, 0, 0, 0, 0, 0, 0, + 652, 0, 0, 0, 2641, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4598, 0, 0, 0, 0, + 0, 0, 2572, 0, 4416, 0, 0, 0, 0, 914, + 914, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 5281, 0, 0, 0, 0, 0, + 4634, 1141, 0, 652, 1821, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 652, 652, 652, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, + 1821, 0, 913, 914, 0, 0, 0, 1596, 652, 0, + 652, 0, 652, 913, 902, 0, 0, 0, 0, 652, + 0, 0, 0, 0, 0, 902, 652, 0, 0, 913, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 0, 902, 0, 0, 0, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 904, 1548, 0, 0, + 1821, 0, 0, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 913, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 0, 0, 902, 0, 0, 913, 0, + 0, 913, 913, 1549, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 902, 902, 0, 0, 0, 0, 0, + 0, 0, 0, 911, 0, 0, 652, 911, 911, 0, + 0, 2373, 913, 913, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 902, 902, 2646, 0, 0, 2647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4792, 1550, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, + 0, 0, 911, 0, 0, 0, 0, 0, 911, 0, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 1551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 652, 0, 1736, 0, 0, 911, 0, 0, 0, 0, + 0, 1050, 2648, 971, 0, 0, 1736, 0, 0, 1736, + 0, 0, 1087, 1552, 0, 0, 1091, 0, 0, 0, + 0, 0, 0, 1104, 1105, 0, 0, 1111, 0, 1115, + 1116, 0, 0, 0, 0, 0, 913, 0, 0, 0, + 0, 0, 0, 0, 1138, 652, 0, 0, 902, 0, + 0, 0, 0, 1553, 0, 652, 0, 1554, 0, 905, + 0, 0, 1151, 652, 652, 0, 0, 0, 0, 652, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1179, 0, 1181, 0, 0, 0, 1636, + 1556, 0, 0, 0, 0, 1197, 0, 0, 0, 0, + 652, 652, 0, 0, 652, 0, 0, 2112, 2572, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 658, 0, + 5551, 1637, 0, 0, 2638, 35, 0, 0, 0, 0, + 1558, 971, 0, 0, 2639, 0, 0, 0, 0, 1559, + 0, 2640, 0, 0, 0, 0, 0, 0, 1560, 4543, + 0, 0, 0, 3006, 0, 652, 1638, 0, 0, 0, + 0, 652, 0, 0, 0, 0, 0, 2641, 0, 1562, + 0, 0, 0, 0, 0, 0, 0, 4999, 1563, 652, + 0, 0, 0, 1564, 0, 0, 652, 0, 0, 0, + 0, 0, 5014, 0, 0, 911, 5015, 0, 5016, 874, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1565, 0, 0, 0, 5056, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, + 3851, 0, 0, 914, 0, 3851, 0, 0, 911, 652, + 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 0, 1539, 2642, 0, 0, 0, 1821, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3085, 652, 652, 0, + 0, 0, 0, 0, 3102, 0, 0, 0, 0, 0, + 0, 2645, 3006, 0, 652, 0, 0, 0, 1821, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, + 0, 652, 652, 0, 5161, 0, 0, 4543, 0, 0, + 0, 0, 0, 1821, 0, 911, 0, 0, 0, 0, + 0, 0, 0, 1841, 2373, 0, 0, 3160, 0, 0, + 911, 0, 0, 0, 0, 911, 0, 0, 1853, 2646, + 1854, 0, 2647, 0, 0, 0, 0, 0, 0, 0, + 1857, 0, 0, 0, 3006, 0, 0, 1867, 0, 0, + 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5210, 5210, 5210, 5210, 0, 5210, 5210, + 5210, 5210, 5210, 0, 0, 0, 0, 0, 0, 0, + 1919, 0, 1921, 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, + 904, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1736, 0, 0, 0, 0, 0, 904, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 658, 0, 658, 0, + 658, 0, 658, 0, 658, 658, 658, 0, 0, 0, + 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2025, 0, 0, 0, 0, 5290, 0, + 5292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 2572, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 2638, 5562, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 0, 0, 0, 0, 0, 0, 2640, + 719, 0, 0, 0, 0, 3252, 0, 0, 0, 0, + 3547, 0, 0, 0, 2747, 3553, 0, 0, 0, 904, + 0, 0, 902, 0, 0, 2641, 902, 902, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 911, 0, 0, 911, 0, 911, 0, 0, + 0, 0, 911, 0, 0, 0, 722, 3253, 0, 907, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 913, + 0, 0, 0, 723, 0, 913, 0, 0, 0, 0, + 0, 902, 0, 905, 0, 0, 0, 902, 0, 0, + 0, 1056, 2112, 0, 911, 2113, 0, 0, 0, 2114, + 2115, 2116, 911, 0, 0, 0, 0, 0, 0, 905, + 0, 0, 0, 874, 0, 3254, 0, 0, 0, 2638, + 0, 0, 913, 0, 0, 0, 0, 911, 726, 2639, + 0, 0, 0, 0, 902, 0, 2640, 727, 0, 0, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 728, 0, 0, 5424, 5425, 0, 3255, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 3851, 0, 3851, 3851, + 3851, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 904, 1059, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 904, 0, 2112, 0, 0, 2113, 2645, + 0, 0, 2114, 2115, 2116, 0, 911, 0, 911, 904, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3256, 2638, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 2805, 5476, 0, 0, 0, 0, 2640, + 0, 0, 2373, 732, 0, 0, 0, 0, 0, 0, + 0, 0, 905, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 5504, 0, 0, 0, 0, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1736, 0, 0, 0, 911, 2903, 0, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 5210, 0, 0, 0, + 0, 0, 0, 213, 3257, 0, 0, 737, 0, 0, + 0, 0, 913, 0, 0, 0, 2645, 0, 0, 0, + 908, 0, 0, 0, 902, 0, 0, 0, 911, 0, + 0, 0, 0, 2648, 0, 1063, 0, 0, 3258, 0, + 0, 0, 0, 0, 0, 741, 904, 0, 0, 0, + 0, 0, 742, 0, 0, 743, 911, 0, 0, 2373, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 0, 0, 0, 0, 2646, 744, 0, 2647, 0, 0, + 0, 0, 0, 1065, 0, 2747, 0, 0, 0, 2747, + 746, 2644, 2306, 1066, 0, 905, 0, 902, 748, 0, + 0, 902, 0, 0, 0, 0, 905, 0, 0, 0, + 0, 0, 0, 3259, 0, 0, 0, 0, 0, 2645, + 0, 0, 905, 0, 911, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2572, + 753, 0, 0, 0, 0, 0, 911, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 0, 5572, 2373, 0, 0, 0, 0, 4543, 911, 0, + 2648, 0, 0, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 913, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3034, 902, 0, 0, 913, 0, 0, + 0, 3542, 913, 3851, 0, 0, 0, 0, 0, 902, + 0, 0, 5701, 0, 902, 0, 0, 0, 0, 3558, + 0, 0, 0, 3561, 0, 0, 0, 3564, 3070, 0, + 0, 0, 0, 913, 0, 0, 0, 0, 910, 0, + 911, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 3583, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2648, 0, 0, 2572, 0, 0, 905, + 0, 0, 0, 0, 3135, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 3625, 0, 0, 5634, 0, + 0, 0, 0, 911, 3153, 0, 0, 0, 0, 904, + 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, + 3173, 0, 3174, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3183, 0, 3184, + 0, 0, 0, 3684, 0, 658, 0, 658, 0, 658, + 0, 658, 0, 658, 0, 0, 0, 658, 0, 0, + 0, 0, 0, 0, 0, 0, 904, 0, 0, 2572, + 3713, 0, 0, 0, 0, 0, 3722, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 3732, 5665, 0, 0, 3243, 0, 0, 1097, 0, 0, + 3745, 0, 0, 907, 0, 0, 3750, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3763, 0, 0, 907, + 0, 0, 3766, 0, 0, 0, 0, 0, 0, 3774, + 904, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3789, 0, 0, 0, 0, 0, 0, + 1141, 0, 0, 0, 5912, 0, 0, 3815, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1097, 911, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2747, + 0, 0, 3553, 0, 3553, 0, 0, 0, 0, 2747, + 0, 902, 0, 0, 902, 0, 902, 0, 0, 0, + 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 905, 0, 0, 0, 0, 0, 0, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 913, + 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, + 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 911, 2747, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2112, 0, 902, 2113, 0, 0, + 0, 2114, 2115, 2116, 0, 0, 0, 0, 0, 905, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2639, 0, 0, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 905, 0, 0, 0, 0, 904, 0, 0, 0, 0, + 0, 0, 0, 913, 2641, 913, 0, 0, 0, 0, + 0, 904, 0, 0, 0, 902, 0, 902, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 0, 0, 1141, + 0, 0, 0, 6084, 908, 6085, 0, 0, 0, 6091, + 6092, 0, 0, 4033, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 908, 0, 4049, 0, 0, 904, 0, 0, 0, 4033, + 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, + 904, 0, 0, 904, 904, 907, 0, 0, 0, 0, + 0, 0, 0, 0, 911, 0, 907, 0, 0, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 902, 904, 904, 0, 0, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 1736, 0, 0, 0, 0, 0, 1736, 0, 0, 0, + 0, 911, 0, 0, 0, 913, 911, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 902, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3553, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 0, + 0, 2373, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 2646, 0, 0, 2647, + 0, 913, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 0, 0, 902, 0, 0, 0, 0, 904, 0, + 0, 0, 910, 3553, 0, 0, 0, 0, 0, 907, + 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 913, 0, 0, 910, 0, + 0, 0, 0, 0, 0, 0, 0, 902, 905, 0, + 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 905, 905, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2648, 0, 0, 0, 0, 1141, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 913, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4328, 0, 0, 0, 0, 0, 0, + 913, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 910, 902, 0, 0, 0, 0, 0, 2572, 3543, + 3544, 0, 0, 0, 0, 913, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 902, 3559, 3560, + 5667, 3562, 3563, 0, 0, 0, 3566, 3567, 0, 0, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, 3578, 0, 0, 0, 3581, 0, 0, 0, 3584, + 3585, 905, 0, 3588, 3589, 6409, 911, 0, 0, 0, + 3594, 0, 2598, 0, 0, 0, 6413, 0, 0, 0, + 0, 0, 3609, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4413, 0, 3626, 0, 0, 0, 0, 3628, + 0, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 6439, 0, 0, 0, 3634, 0, 0, 0, 3640, 0, + 908, 0, 0, 0, 6409, 0, 0, 0, 0, 3650, + 0, 0, 3654, 0, 3656, 3659, 3661, 0, 0, 911, + 0, 3669, 3672, 0, 0, 0, 0, 0, 0, 6409, + 0, 3685, 5290, 0, 0, 0, 0, 3695, 0, 0, + 0, 3698, 0, 0, 910, 0, 0, 0, 0, 907, + 0, 0, 0, 3708, 3709, 910, 2747, 0, 3714, 0, + 0, 0, 0, 0, 3723, 3724, 0, 0, 902, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 3733, 0, + 0, 3734, 0, 0, 0, 0, 0, 0, 3746, 3747, + 907, 0, 0, 0, 3751, 0, 0, 0, 0, 0, + 0, 0, 0, 4509, 0, 0, 3758, 0, 0, 3761, + 0, 0, 0, 0, 3764, 0, 0, 0, 0, 0, + 3767, 3768, 0, 907, 0, 0, 0, 0, 3776, 0, + 0, 0, 3778, 0, 0, 0, 3785, 3786, 3787, 3788, + 911, 3790, 0, 0, 0, 0, 0, 0, 0, 0, + 3553, 0, 0, 0, 0, 3816, 3817, 0, 3819, 0, + 0, 0, 902, 0, 0, 0, 0, 0, 0, 3829, + 3830, 3831, 0, 0, 0, 0, 0, 0, 3553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 0, 912, 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, 912, 0, 0, 0, 3883, 0, 910, 0, + 0, 0, 0, 0, 3907, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3919, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 911, 0, 3006, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0, + 0, 4681, 0, 3987, 0, 4685, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 907, 0, 0, + 0, 913, 4001, 0, 4003, 0, 0, 0, 907, 0, + 908, 0, 904, 902, 0, 0, 904, 904, 0, 2641, + 0, 0, 0, 0, 907, 0, 0, 0, 0, 0, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 3553, 0, + 0, 908, 0, 2747, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 904, 0, 0, 0, 0, 0, 904, 907, 0, + 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, + 0, 0, 0, 907, 0, 0, 907, 907, 0, 4065, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 0, 907, 907, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 0, 0, 0, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2644, 2306, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 912, 0, + 0, 0, 913, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 902, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 2373, 0, 910, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 0, 905, + 905, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 907, 0, 0, 0, 0, 0, 0, 908, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, + 4910, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 911, 0, 905, 908, 0, 911, 911, 0, + 905, 0, 910, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 913, 0, + 0, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 908, 0, 0, 908, 908, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 912, 902, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 913, 0, 0, 0, 904, 908, 908, + 0, 904, 0, 0, 0, 902, 0, 0, 0, 0, + 911, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4329, 5036, 0, 0, 5039, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4336, 0, + 0, 0, 4336, 2572, 0, 0, 0, 4347, 4348, 4349, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 5706, 913, 0, 0, 4361, + 0, 0, 0, 911, 0, 0, 0, 0, 902, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4390, 4391, 4392, 4393, 910, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 0, 910, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 0, 910, 904, 0, 5121, 0, 0, 0, + 4414, 0, 4418, 4419, 4420, 0, 0, 0, 0, 0, + 0, 0, 908, 3006, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 0, 905, 0, 0, + 0, 0, 1578, 0, 0, 0, 0, 0, 1579, 0, + 0, 0, 0, 0, 0, 1645, 0, 910, 0, 0, + 0, 0, 0, 0, 0, 5508, 0, 913, 0, 0, + 0, 0, 910, 0, 0, 910, 910, 1646, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4033, 0, 910, 910, 0, 0, + 905, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 0, 1647, + 0, 0, 4504, 0, 0, 0, 0, 0, 0, 0, + 0, 4510, 0, 0, 0, 0, 0, 0, 0, 0, + 1582, 0, 0, 0, 0, 0, 0, 1583, 0, 0, + 0, 1584, 0, 0, 0, 0, 0, 4520, 4521, 0, + 0, 0, 4522, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1585, + 0, 0, 912, 0, 4564, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 913, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 902, + 0, 1648, 0, 0, 0, 1586, 0, 0, 0, 0, + 0, 0, 905, 912, 0, 0, 0, 905, 0, 0, + 0, 0, 0, 0, 0, 0, 4601, 0, 0, 0, + 910, 4607, 0, 0, 0, 0, 0, 4613, 0, 0, + 0, 0, 0, 0, 0, 0, 912, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3553, 1649, + 0, 0, 0, 0, 1650, 0, 0, 4652, 0, 1651, + 902, 904, 0, 0, 904, 0, 904, 0, 0, 0, + 0, 904, 0, 0, 0, 1652, 0, 0, 0, 1588, + 0, 0, 0, 0, 0, 0, 4667, 0, 4668, 1589, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 1590, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 1653, 1591, 0, 904, 0, 0, 0, 0, 0, 0, + 0, 904, 0, 0, 2638, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2639, 907, 0, 0, 0, 907, + 907, 2640, 0, 0, 0, 0, 904, 0, 0, 0, + 0, 0, 0, 1654, 0, 0, 1593, 1594, 1655, 0, + 0, 0, 0, 0, 0, 0, 5393, 2641, 3553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5403, 0, + 902, 0, 1656, 0, 0, 0, 0, 0, 1657, 0, + 0, 0, 0, 0, 907, 0, 0, 0, 0, 0, + 907, 0, 0, 1658, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 0, 904, 0, 0, + 912, 0, 0, 911, 0, 0, 0, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 907, 0, 0, + 0, 0, 0, 0, 1659, 0, 0, 912, 0, 0, + 0, 1596, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 905, 0, 0, 905, 0, 905, + 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 912, 0, 2644, 2306, 0, 0, 0, 0, 913, + 0, 0, 0, 904, 913, 913, 912, 0, 0, 912, + 912, 902, 0, 0, 0, 0, 902, 902, 0, 0, + 0, 2645, 0, 0, 0, 0, 905, 0, 0, 0, + 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 912, 912, 0, 0, 0, 0, 0, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 905, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 4033, 0, 0, 2646, + 0, 0, 2647, 4903, 0, 4904, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 0, 4911, 0, + 908, 908, 0, 0, 0, 0, 0, 0, 0, 0, + 4917, 0, 0, 0, 4920, 0, 5508, 913, 0, 0, + 0, 0, 0, 0, 0, 4933, 0, 0, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 907, 905, 0, + 905, 0, 0, 904, 4959, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 0, 908, 4963, 0, 0, 904, 0, 0, 0, 0, + 4967, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 913, 0, 0, 0, 912, 0, 0, 904, 0, 0, + 0, 0, 902, 0, 0, 5002, 0, 0, 0, 5006, + 0, 0, 0, 0, 0, 0, 0, 4033, 908, 4033, + 907, 0, 0, 0, 907, 5017, 5018, 5019, 5020, 0, + 0, 0, 0, 0, 0, 5024, 5025, 5026, 5027, 0, + 0, 0, 0, 0, 5029, 5030, 905, 0, 0, 0, + 5037, 5038, 0, 5040, 5041, 5042, 5043, 5044, 5045, 5046, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5055, + 0, 0, 0, 5058, 5059, 5060, 5061, 0, 0, 904, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 905, 2572, 0, 0, 0, 0, 0, 4336, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 0, 6061, 0, 5081, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, + 0, 0, 904, 0, 910, 0, 0, 0, 910, 910, + 0, 0, 907, 0, 0, 2112, 0, 907, 2113, 0, + 0, 0, 2114, 2115, 2116, 0, 0, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 907, 0, + 0, 0, 2639, 0, 0, 0, 905, 0, 0, 2640, + 0, 5162, 0, 910, 0, 0, 0, 0, 0, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 0, 4336, 0, 0, 0, 908, 2112, + 905, 5187, 2113, 5188, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 0, 910, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0, + 0, 5203, 0, 0, 0, 0, 2639, 0, 0, 0, + 0, 0, 0, 2640, 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, 2641, + 0, 908, 0, 0, 0, 908, 0, 0, 2112, 0, + 0, 2113, 905, 0, 0, 2114, 2115, 2116, 904, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 2638, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 2639, 0, 0, 0, 0, + 0, 0, 2640, 0, 0, 0, 0, 0, 0, 0, + 0, 2644, 2306, 0, 0, 905, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2641, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645, + 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, + 0, 0, 904, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 908, 0, 0, 0, 0, 908, 0, + 0, 0, 2373, 0, 907, 0, 0, 907, 0, 907, + 904, 0, 0, 0, 907, 2644, 2306, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 910, 0, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2645, 5347, 5348, 5349, 0, 0, 0, + 5350, 5351, 5352, 5353, 0, 0, 907, 5355, 0, 0, + 0, 0, 0, 0, 907, 0, 2642, 0, 0, 0, + 913, 2643, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 902, 0, 0, 0, 2373, 0, 0, 907, + 0, 0, 0, 0, 2644, 2306, 0, 0, 0, 910, + 0, 2646, 0, 910, 2647, 0, 0, 0, 5388, 5389, + 5390, 5391, 5392, 2648, 5394, 5395, 0, 0, 0, 0, + 0, 905, 2645, 0, 0, 0, 5404, 5405, 0, 0, + 0, 0, 0, 0, 1736, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 904, 0, 0, 0, 0, 0, 0, + 0, 5411, 0, 0, 0, 2373, 0, 0, 907, 0, + 907, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2646, 0, 0, 2647, 0, 0, 0, 0, 912, 0, + 0, 0, 912, 912, 0, 0, 0, 2648, 0, 0, + 904, 0, 0, 0, 0, 904, 910, 0, 0, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 0, 2572, + 0, 910, 0, 0, 0, 0, 910, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 0, 6072, 0, 905, 0, 0, 0, 912, 0, 0, + 0, 0, 0, 912, 0, 0, 0, 910, 0, 0, + 0, 0, 0, 5474, 0, 0, 907, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2648, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 908, 0, + 908, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 912, 4033, 0, 2572, 0, 0, 0, 0, 0, 0, + 907, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 6095, 0, 0, 5525, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 907, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5531, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2572, 0, 0, 0, 905, 0, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 6315, 0, 907, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, + 0, 0, 972, 905, 0, 0, 0, 0, 905, 0, + 0, 972, 0, 0, 0, 0, 0, 0, 0, 908, + 907, 908, 0, 0, 0, 972, 0, 0, 0, 658, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 904, 0, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 0, 0, + 912, 0, 2639, 910, 0, 0, 910, 0, 910, 2640, + 0, 0, 0, 910, 0, 5654, 0, 0, 0, 0, + 0, 0, 907, 904, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5664, 2641, 0, 908, 0, 0, + 5670, 5671, 0, 0, 0, 904, 0, 0, 0, 0, + 5682, 0, 0, 0, 0, 910, 0, 5684, 0, 0, + 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 912, 0, 907, 0, 912, 0, 0, + 0, 908, 0, 0, 0, 0, 0, 905, 910, 0, + 0, 0, 5736, 5737, 0, 0, 0, 0, 0, 0, + 907, 0, 0, 0, 0, 5745, 0, 5747, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 904, 0, + 0, 0, 5761, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4336, 0, 0, + 0, 0, 0, 2642, 0, 5795, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 0, 0, 910, 0, 910, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, + 912, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 0, 908, + 912, 0, 0, 905, 0, 0, 0, 0, 0, 2645, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 0, 0, 0, 5851, 0, 0, 0, 0, + 0, 0, 2373, 0, 0, 0, 905, 0, 0, 5866, + 0, 907, 0, 0, 0, 910, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 5883, 0, 0, 963, 973, 0, 0, + 0, 0, 0, 0, 963, 0, 973, 963, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 910, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, + 0, 0, 0, 0, 0, 1579, 0, 910, 0, 0, + 0, 0, 1645, 0, 0, 0, 0, 0, 0, 0, + 5943, 905, 0, 0, 0, 907, 908, 0, 0, 0, + 0, 0, 976, 2648, 1646, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1010, 0, 0, 972, 0, 904, + 1581, 908, 0, 907, 0, 1029, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 0, 0, + 0, 0, 972, 0, 0, 910, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 1647, 0, 0, 0, + 4336, 0, 0, 0, 0, 0, 0, 910, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 1582, 0, 0, + 0, 0, 0, 0, 1583, 972, 0, 0, 1584, 910, + 904, 0, 0, 972, 6023, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 2572, + 0, 0, 905, 0, 0, 0, 1585, 972, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 912, 0, 0, + 912, 6332, 912, 0, 0, 6051, 0, 912, 950, 952, + 0, 0, 955, 0, 0, 0, 0, 0, 1648, 0, + 0, 0, 1586, 0, 0, 0, 0, 0, 0, 6073, + 0, 0, 1013, 0, 0, 0, 907, 0, 0, 1023, + 972, 910, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 908, 0, 0, 0, 0, 912, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 972, 0, + 0, 0, 0, 0, 0, 0, 1649, 0, 0, 0, + 904, 1650, 912, 907, 0, 0, 1651, 0, 907, 6113, + 0, 0, 0, 972, 910, 0, 0, 0, 0, 0, + 0, 0, 1652, 0, 0, 0, 1588, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1589, 0, 0, 910, + 0, 0, 905, 0, 0, 0, 1590, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1653, 1591, 0, + 0, 0, 2112, 0, 0, 2113, 908, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 972, 0, 0, 0, 0, + 0, 912, 0, 912, 0, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 908, 0, 0, 0, 0, 2639, + 3752, 0, 0, 1593, 1594, 1655, 2640, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 0, 0, 0, + 0, 6207, 0, 0, 0, 0, 0, 0, 0, 1656, + 0, 0, 2641, 0, 0, 3753, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1658, 904, 0, 0, 6220, 0, 904, 904, 0, 0, + 0, 0, 0, 0, 0, 6230, 0, 907, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 1822, 0, 0, 0, 0, + 0, 973, 972, 0, 0, 0, 0, 973, 0, 0, + 910, 1659, 0, 0, 0, 0, 0, 0, 1596, 973, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 912, 0, 973, 0, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 908, 0, 963, + 973, 0, 0, 0, 0, 0, 963, 1049, 973, 963, + 2642, 912, 0, 1081, 0, 2643, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 973, 0, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 907, 908, 0, 0, 6309, 0, 908, + 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 0, 912, + 0, 0, 910, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 904, 0, 0, 0, 907, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 973, 0, 0, 0, 0, 907, 0, + 0, 0, 0, 912, 2646, 0, 0, 2647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 973, 0, + 0, 0, 0, 0, 905, 0, 0, 0, 972, 905, + 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1083, 0, 1086, 0, 972, 1088, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1114, 0, 0, 0, 1390, 0, 1118, 0, 0, 0, + 0, 907, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 1415, 0, 912, 0, 0, 908, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2648, 0, 0, 0, 0, 910, 0, 0, 0, 0, + 0, 0, 2112, 0, 0, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 6450, 0, 0, 0, 0, 912, 2638, + 0, 0, 905, 3498, 0, 0, 0, 0, 0, 2639, + 0, 0, 910, 0, 0, 1473, 2640, 910, 0, 0, + 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2641, 0, 0, 972, 0, 0, 0, 0, + 1823, 0, 907, 972, 972, 0, 0, 973, 0, 0, + 0, 0, 1609, 0, 908, 905, 2572, 0, 963, 0, + 0, 0, 963, 0, 963, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 0, 0, 6390, 0, + 0, 0, 0, 0, 3499, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1822, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, + 2112, 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, + 2642, 0, 0, 0, 2640, 2643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 910, 1872, 0, 0, + 0, 973, 0, 0, 912, 0, 0, 0, 2644, 2306, + 2641, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1906, 1909, 1910, 0, + 0, 0, 908, 1610, 1611, 0, 2645, 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, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 973, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 2646, 973, 0, 2647, 912, 0, + 0, 0, 0, 4147, 1840, 0, 0, 0, 0, 4148, + 0, 0, 910, 0, 0, 0, 0, 0, 0, 1852, + 0, 0, 0, 0, 0, 0, 912, 0, 2642, 0, + 0, 0, 0, 2643, 0, 1390, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1874, 1875, 0, 908, 0, 0, 2644, 2306, 0, 0, + 0, 0, 904, 1390, 0, 910, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1912, 972, 0, 0, + 0, 0, 0, 0, 2645, 0, 0, 910, 0, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1950, 1952, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2373, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 973, 973, + 0, 0, 2646, 0, 0, 2647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3500, 0, 0, 0, 0, + 910, 0, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1823, 972, 908, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 912, 0, 2632, 0, + 0, 912, 0, 0, 0, 0, 0, 1822, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4149, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 907, 0, 0, 0, 972, 907, + 907, 0, 0, 0, 908, 0, 972, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 2723, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 972, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 972, 0, + 0, 0, 0, 0, 2572, 0, 0, 0, 0, 0, + 0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, + 2580, 2581, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 912, 2837, 0, 0, 908, 0, 0, 0, 0, 0, + 2866, 0, 0, 2112, 0, 0, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 910, 2904, 0, 0, 0, 0, 0, 2916, 2916, + 2639, 0, 2916, 0, 0, 907, 0, 2640, 0, 0, + 0, 0, 973, 0, 0, 2934, 0, 0, 2937, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2641, 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, 910, 0, 0, 0, 912, 0, 0, 1822, + 0, 0, 0, 0, 0, 0, 2990, 0, 0, 0, + 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, + 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 2870, + 908, 908, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 912, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 1823, 0, 0, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 2644, + 2306, 0, 910, 2640, 0, 973, 0, 0, 2960, 0, + 0, 0, 0, 973, 0, 0, 0, 1365, 1365, 0, + 3032, 973, 0, 0, 0, 0, 0, 2645, 0, 2641, + 0, 3035, 0, 0, 912, 0, 0, 0, 2986, 2987, + 2988, 2989, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 963, 963, 0, 973, 973, 0, 0, 0, + 2373, 0, 0, 3079, 2916, 0, 0, 963, 0, 973, + 963, 0, 0, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 973, 973, 0, 0, 0, 1365, 3114, 0, + 0, 0, 0, 0, 0, 3127, 908, 0, 0, 0, + 0, 0, 0, 0, 0, 4782, 0, 0, 0, 0, + 0, 6160, 0, 0, 0, 0, 0, 0, 0, 0, + 963, 0, 0, 0, 963, 963, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 910, 0, 912, 0, 0, 910, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2644, 2306, 0, 3188, 0, + 0, 2648, 0, 0, 0, 3043, 3044, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4783, 3061, 0, 2645, 0, 0, 0, 0, 0, 0, + 0, 1390, 1390, 0, 0, 0, 0, 0, 1733, 1737, + 0, 0, 0, 0, 0, 0, 0, 0, 3242, 0, + 0, 3244, 0, 0, 0, 3104, 3105, 3106, 3107, 0, + 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, + 0, 0, 0, 0, 1823, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2572, 0, 6161, + 0, 0, 0, 0, 0, 912, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0, + 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 910, 907, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2638, 0, 0, 4074, 0, 0, + 0, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 0, 0, 0, 0, 0, 0, 0, + 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2054, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 972, 912, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2080, + 0, 0, 0, 972, 0, 0, 0, 972, 0, 0, + 0, 972, 3371, 0, 2112, 0, 0, 2113, 0, 0, + 972, 2114, 2115, 2116, 0, 0, 0, 0, 2099, 2100, + 2101, 0, 2103, 0, 0, 972, 0, 0, 0, 0, + 0, 2638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2639, 0, 2590, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 972, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2641, 0, 0, 0, 0, 972, + 972, 0, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, + 0, 2645, 0, 0, 0, 0, 1822, 972, 0, 0, + 1822, 0, 0, 0, 0, 0, 0, 912, 0, 0, + 0, 0, 912, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 1822, 0, 2690, 0, + 972, 0, 2702, 2707, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 0, 0, 0, 2646, + 0, 972, 2647, 0, 972, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 972, 0, 0, 0, 0, 0, 972, 0, 0, 0, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 972, 0, 0, 0, 912, 1822, 0, 2645, 0, + 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3429, 0, 0, + 0, 0, 0, 0, 0, 1823, 0, 0, 3434, 0, + 0, 2373, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2646, 0, 912, 2647, + 0, 0, 1822, 0, 0, 0, 0, 0, 0, 0, + 1473, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, + 0, 0, 973, 0, 0, 0, 973, 1473, 1473, 0, + 0, 2572, 0, 0, 0, 973, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 973, 0, 0, 0, 0, 0, 0, 1733, 1733, 1733, + 0, 1390, 2648, 0, 0, 0, 0, 963, 0, 963, + 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2112, 0, 973, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 973, 973, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, + 0, 0, 0, 0, 0, 0, 2640, 972, 0, 1822, + 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1823, 973, 0, 0, 1823, 972, 0, 0, 0, + 0, 0, 2641, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4084, 2572, 973, + 0, 1823, 0, 0, 0, 973, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 973, + 0, 0, 0, 0, 0, 0, 973, 3653, 0, 973, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 973, 0, 0, 3703, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1822, 973, 0, 0, 0, 0, 1822, 0, 0, + 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, + 2642, 1823, 0, 0, 0, 2643, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3608, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3783, 3784, 0, 0, 0, 0, 2645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1823, 0, 0, + 0, 0, 0, 972, 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, 2373, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2646, 0, 3270, 2647, 0, 0, + 0, 0, 0, 0, 0, 3288, 3288, 3288, 3288, 3298, + 3304, 3288, 3307, 3288, 3288, 0, 0, 4120, 0, 3314, + 0, 3315, 0, 3317, 0, 0, 3331, 3334, 3339, 0, + 0, 0, 3909, 0, 3348, 0, 0, 3353, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3757, 0, 0, + 3760, 0, 0, 0, 3361, 3362, 3363, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3364, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 972, 912, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 1823, 0, 0, 972, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 973, 0, 0, 0, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 963, 0, 963, 963, 3855, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3868, 0, 0, 0, 0, 0, 0, 0, + 3877, 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, 1822, 1822, 1822, 0, 0, 2572, 0, 0, 3921, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 972, 0, 0, 3372, + 3945, 0, 0, 0, 0, 0, 1823, 0, 0, 0, + 0, 0, 1823, 0, 0, 972, 0, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 0, 0, 4000, 2638, 4002, 0, 4152, 0, 0, + 0, 0, 0, 3391, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 2583, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 3393, + 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 2583, 0, 4057, 0, 0, 0, 0, 0, 2641, + 4064, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4218, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1822, 0, 0, 0, 0, 1473, + 972, 0, 972, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2112, 0, 972, 2113, 972, 0, 0, + 2114, 2115, 2116, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 4164, 0, 0, 0, 0, 0, 0, + 2639, 973, 973, 2644, 2306, 0, 0, 2640, 4157, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 973, 0, 0, 973, 0, 2642, 0, 0, + 0, 2645, 2643, 2641, 972, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 2644, 2306, 0, 0, 0, + 0, 0, 0, 3400, 3401, 3402, 3403, 3404, 3405, 3406, + 3407, 3408, 0, 3409, 2373, 0, 972, 0, 0, 2641, + 0, 0, 0, 2645, 1365, 0, 0, 1733, 0, 2646, + 0, 0, 2647, 0, 0, 972, 0, 0, 0, 972, + 0, 0, 0, 0, 0, 0, 1823, 1823, 1823, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 2373, 0, 3364, 0, + 0, 973, 3372, 0, 0, 3391, 0, 3393, 0, 0, + 3446, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 973, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 2644, + 2306, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 2100, 2101, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 2583, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 4436, 0, 0, 2644, 2306, 0, 0, 1822, + 0, 0, 2916, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2373, 4332, 4333, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 0, 3586, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2572, 0, 0, 0, 0, 2373, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 1823, + 0, 2646, 0, 0, 2647, 973, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 2648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 4568, 4569, 4570, 0, 973, + 0, 0, 0, 0, 972, 0, 2638, 2648, 0, 4789, + 0, 0, 4579, 0, 0, 0, 2639, 2112, 0, 0, + 2113, 0, 0, 2640, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 973, 0, 4712, 2638, 4604, 4606, 0, 0, 2641, + 4611, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 973, 2640, 0, 0, 973, 0, 1822, 2572, 0, 0, + 0, 1822, 0, 1822, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 973, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1822, + 0, 0, 0, 0, 4517, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 3841, 3842, 1733, 0, 0, + 0, 3846, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 2583, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 3875, 972, + 0, 0, 0, 0, 0, 0, 1390, 0, 0, 2583, + 0, 0, 0, 3327, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 0, 2583, 2583, + 2583, 0, 2583, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1823, 2644, 2306, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 2112, 0, + 0, 2113, 0, 2645, 0, 2114, 2115, 2116, 0, 0, + 0, 0, 0, 2644, 2306, 0, 0, 0, 0, 972, + 972, 0, 0, 0, 0, 2638, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 2639, 0, 0, 0, 0, + 0, 2645, 2640, 0, 4670, 0, 2373, 972, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 2641, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, + 0, 0, 2647, 4822, 4823, 4824, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5231, + 0, 0, 0, 0, 0, 0, 0, 0, 972, 0, + 0, 1822, 0, 0, 0, 0, 0, 4070, 0, 0, + 0, 0, 4076, 0, 0, 0, 0, 0, 0, 973, + 0, 0, 0, 2112, 0, 0, 2113, 2648, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 5241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 0, 0, 0, 2642, 0, 0, 0, + 2639, 2643, 0, 0, 2103, 2648, 0, 2640, 0, 0, + 0, 0, 0, 0, 0, 3339, 0, 3339, 3339, 0, + 0, 1823, 0, 0, 2644, 2306, 1823, 0, 1823, 0, + 0, 4167, 0, 2641, 4170, 0, 4172, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2645, 0, 1823, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 4197, 0, 4200, 0, 4202, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 2373, 0, 0, 0, 0, + 0, 973, 0, 0, 973, 0, 0, 0, 0, 0, + 2646, 2572, 0, 2647, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 5247, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4272, 972, 0, 0, 0, 2690, 0, 2644, + 2306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2707, 0, 973, 973, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 2648, 2645, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 973, 0, 2114, 2115, 2116, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 972, 0, 2638, 0, 0, 0, 0, 5091, + 2373, 0, 0, 0, 2639, 0, 0, 4322, 0, 2583, + 0, 2640, 0, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 5123, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 973, 0, 0, 1823, 0, 0, 0, + 0, 0, 2572, 3127, 0, 0, 0, 4357, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5181, 0, + 0, 0, 0, 0, 0, 1822, 0, 0, 0, 2583, + 0, 2648, 0, 0, 0, 3188, 0, 0, 0, 0, + 0, 2583, 5078, 0, 972, 0, 2583, 0, 0, 0, + 5248, 0, 0, 0, 0, 0, 5080, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 2638, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 972, 2645, 0, 0, 0, 0, 0, 2572, 0, 0, + 0, 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 5284, 5285, 5286, 5287, 0, 1733, 0, 2646, + 0, 0, 2647, 1733, 0, 0, 0, 0, 0, 5249, + 0, 0, 0, 0, 0, 0, 0, 0, 973, 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, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 972, 0, 972, 0, 973, 0, 0, 0, 0, + 0, 0, 4591, 2644, 2306, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 2645, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 0, 972, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 0, 0, 0, 0, 0, 0, 2640, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, + 0, 1822, 2647, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1823, 2572, 0, 0, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 973, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4713, 0, 0, 0, 0, 0, 0, 0, 4717, + 0, 4718, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3288, 0, 0, 0, 4731, + 3288, 3288, 0, 0, 0, 2648, 3304, 0, 0, 4739, + 0, 0, 4741, 0, 0, 0, 0, 0, 4743, 0, + 4744, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 973, 0, 4766, 4767, 4768, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2644, 2306, 0, 0, 0, 3348, 0, 0, 0, + 0, 0, 0, 0, 4793, 0, 0, 4796, 0, 4798, + 0, 5503, 0, 0, 0, 0, 0, 0, 0, 2645, + 0, 0, 5513, 5419, 0, 4802, 0, 0, 0, 0, + 0, 0, 0, 4809, 4810, 0, 0, 0, 5423, 0, + 4815, 2572, 0, 0, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 2373, 0, 0, 0, 0, 0, 0, 3288, + 0, 0, 0, 0, 0, 0, 0, 2646, 0, 972, + 2647, 0, 0, 0, 0, 0, 0, 0, 0, 2583, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 973, 2583, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, + 4869, 0, 0, 2583, 1822, 0, 2583, 0, 0, 5481, + 0, 0, 0, 2583, 2583, 0, 2583, 4883, 0, 0, + 0, 3327, 3327, 0, 4143, 0, 3327, 0, 0, 0, + 2583, 0, 0, 2583, 0, 0, 973, 0, 2583, 0, + 0, 0, 0, 0, 0, 0, 963, 2583, 0, 0, + 0, 0, 2583, 2648, 0, 0, 0, 0, 0, 0, + 2583, 2583, 2583, 2583, 0, 0, 0, 0, 3327, 3327, + 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1822, 0, 0, 1823, 0, 0, 0, + 2583, 963, 2583, 0, 0, 0, 0, 0, 0, 2583, + 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 1822, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5621, 0, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 2583, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 0, 2112, 2572, + 0, 2113, 0, 0, 0, 2114, 2115, 2116, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 2641, + 0, 0, 5720, 0, 0, 2638, 0, 1390, 5826, 1822, + 0, 0, 972, 0, 0, 2639, 0, 0, 0, 0, + 0, 0, 2640, 0, 0, 0, 5750, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2641, 0, + 0, 0, 5640, 2112, 5642, 0, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2639, 0, 5809, 0, 0, 0, 0, 2640, 0, 0, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 2641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 973, 2644, 2306, 0, 0, 0, + 0, 0, 0, 0, 0, 972, 0, 0, 973, 0, + 0, 5169, 5170, 0, 0, 0, 2642, 0, 0, 0, + 0, 2643, 5177, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 972, 0, 0, 0, 0, 5874, 0, 1823, + 5766, 0, 0, 0, 2644, 2306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, + 0, 0, 2645, 0, 0, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 2642, 5220, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690, + 0, 0, 0, 0, 0, 2373, 0, 0, 1823, 2644, + 2306, 0, 0, 0, 0, 0, 0, 5243, 0, 0, + 2646, 0, 0, 2647, 0, 5950, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 1823, 0, 0, 0, 0, 0, + 0, 0, 0, 5972, 0, 0, 5262, 5264, 0, 0, + 972, 0, 0, 0, 5268, 5269, 0, 2648, 0, 5270, + 0, 0, 0, 0, 5271, 0, 0, 5274, 5275, 0, + 2373, 0, 0, 0, 5280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0, + 2583, 2583, 0, 0, 0, 2583, 0, 0, 5898, 0, + 5900, 0, 0, 0, 1823, 0, 2648, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5316, + 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, + 1365, 0, 0, 0, 0, 0, 0, 0, 5330, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 2648, 0, 5358, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1822, 0, + 0, 0, 2572, 0, 0, 0, 0, 0, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5407, 963, 0, 0, 1822, 0, 0, + 5409, 0, 0, 0, 0, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2572, 0, 0, + 0, 0, 1822, 0, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, - 0, 0, 0, 0, 2584, 0, 0, 0, 887, 0, - 0, 0, 889, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2524, 0, 0, 0, 0, 2585, 2264, 0, - 0, 0, 3576, 0, 889, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 3257, 884, 3598, 2586, 0, - 0, 0, 0, 0, 0, 0, 889, 0, 0, 0, - 2524, 2524, 2524, 0, 2524, 0, 0, 2073, 0, 3626, - 2074, 0, 0, 0, 2075, 2076, 2077, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2583, 0, 2322, - 0, 0, 2584, 0, 2579, 0, 0, 0, 0, 0, - 0, 0, 886, 2587, 2580, 0, 2588, 0, 0, 0, - 0, 2581, 0, 950, 0, 2585, 2264, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, - 0, 0, 0, 0, 0, 0, 2586, 2582, 889, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 887, 0, 0, 0, 3704, 3705, 0, 1790, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2322, 884, 0, - 0, 0, 889, 884, 884, 0, 0, 0, 0, 0, - 0, 2587, 0, 0, 2588, 0, 2589, 0, 887, 0, - 0, 0, 0, 887, 0, 0, 0, 889, 0, 0, - 0, 0, 0, 0, 3207, 0, 0, 0, 0, 0, - 0, 0, 0, 3228, 3228, 3233, 3239, 5666, 0, 886, - 3244, 0, 3245, 0, 3247, 0, 0, 3261, 3264, 3269, - 0, 0, 0, 0, 0, 3278, 0, 0, 3283, 0, - 0, 0, 2583, 0, 0, 0, 3828, 2584, 0, 1790, - 0, 0, 0, 0, 0, 3291, 3292, 3293, 0, 886, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2585, 2264, 0, 3294, 2589, 0, 0, 0, 0, 0, - 0, 886, 0, 0, 0, 0, 884, 0, 2513, 0, - 0, 2586, 0, 0, 0, 0, 0, 2514, 2515, 2516, - 2517, 2518, 2519, 2520, 2521, 2522, 0, 0, 0, 0, - 0, 0, 0, 0, 1790, 0, 950, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2322, 0, 2073, 884, 0, 2074, 0, 0, - 0, 2075, 2076, 2077, 0, 887, 2587, 0, 0, 2588, - 5493, 0, 0, 0, 886, 0, 0, 889, 0, 0, - 0, 2579, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2580, 0, 0, 0, 0, 2513, 0, 2581, 0, - 0, 0, 0, 0, 0, 2514, 2515, 2516, 2517, 2518, - 2519, 2520, 2521, 2522, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3301, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2589, - 0, 0, 950, 0, 0, 0, 0, 889, 0, 0, - 0, 0, 1548, 0, 0, 0, 0, 0, 1549, 0, - 0, 0, 0, 0, 3320, 1615, 0, 0, 950, 0, - 0, 0, 887, 889, 0, 886, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1616, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1551, 0, 0, 0, 0, 0, 0, - 0, 0, 887, 0, 0, 0, 0, 3322, 0, 2583, - 0, 2524, 0, 0, 2584, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 887, 0, 0, 0, 1617, 0, - 0, 2513, 0, 0, 0, 0, 0, 2585, 2264, 0, - 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 1552, - 0, 0, 0, 0, 0, 0, 1553, 0, 2586, 1554, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4130, 0, 950, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, - 0, 0, 0, 0, 0, 1443, 0, 887, 0, 2322, - 0, 886, 0, 0, 0, 0, 889, 0, 0, 0, - 0, 2524, 0, 2587, 0, 0, 2588, 0, 1618, 0, - 0, 0, 1556, 2524, 0, 0, 0, 0, 2524, 1548, - 0, 0, 0, 0, 0, 1549, 0, 0, 0, 0, - 0, 0, 1615, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 889, 0, 0, 0, 0, 889, 0, - 0, 0, 0, 0, 1616, 0, 0, 0, 0, 0, - 886, 0, 0, 0, 1619, 0, 0, 0, 1620, 0, - 1551, 0, 0, 0, 3329, 3330, 3331, 3332, 3333, 3334, - 3335, 3336, 3337, 1621, 3338, 0, 0, 1558, 0, 0, - 0, 0, 0, 0, 0, 1335, 2589, 1559, 1701, 0, - 0, 0, 0, 0, 1790, 1617, 1560, 0, 887, 0, - 0, 0, 0, 0, 0, 0, 0, 1622, 1561, 0, - 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0, - 0, 0, 0, 1553, 0, 0, 1554, 0, 0, 3294, - 0, 0, 0, 3301, 0, 0, 3320, 0, 3322, 1790, - 0, 3375, 0, 0, 0, 0, 0, 1623, 0, 0, - 1563, 1564, 1624, 1555, 0, 0, 0, 1790, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 0, 0, 0, 0, 0, 1625, 0, 0, 0, - 0, 0, 1626, 0, 0, 1618, 0, 0, 2513, 1556, - 889, 0, 0, 0, 2061, 2062, 1627, 2514, 2515, 2516, - 2517, 2518, 2519, 2520, 2521, 2522, 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, 887, 0, 0, 0, 0, 0, - 0, 1619, 4339, 0, 0, 1620, 0, 0, 0, 0, - 0, 1566, 2854, 0, 0, 0, 0, 0, 0, 0, - 1621, 0, 0, 0, 1558, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1559, 0, 0, 3518, 0, 0, - 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1622, 1561, 0, 0, 0, 0, - 0, 0, 886, 887, 0, 0, 0, 886, 886, 0, - 0, 0, 0, 0, 0, 0, 0, 889, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, - 0, 0, 0, 0, 3675, 0, 0, 1563, 1564, 1624, - 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 889, 0, 0, - 0, 0, 0, 1625, 0, 0, 0, 0, 0, 3676, - 0, 0, 652, 0, 0, 0, 0, 0, 0, 889, - 0, 0, 0, 1627, 0, 653, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -876, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4471, 4472, 4473, 0, 0, 0, 0, 0, 654, - 886, 0, 0, 887, 0, 655, 0, 0, 4482, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1566, 0, - 0, 0, 0, 656, 0, 0, 0, 0, 0, 0, - 0, 0, 889, 0, 657, 0, 0, 0, 0, 0, - 0, 4507, 4509, 658, 0, 0, 4514, 0, 0, 886, - 0, 0, 0, 0, 0, 0, 659, 0, 0, 0, - 0, 0, 0, 0, 0, 660, 0, 0, 0, 661, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -1082, - 0, 0, 3760, 3761, 1701, 0, 0, 0, 3765, 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, 3794, 0, 0, 0, 0, - 0, 0, 662, 0, 0, 887, 0, 0, 0, 0, - 887, 887, -612, 0, 0, 0, 0, 2524, 0, 0, - 0, 0, 1360, 889, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2524, 0, - 0, 0, 0, 2524, 0, 0, 0, 0, 0, 2524, - 0, 0, 0, 663, 2524, 2524, 664, 2524, 0, 0, - 0, 0, 3257, 3257, 0, 4053, 0, 3257, 0, 0, - 0, 2524, 0, 0, 2524, 0, 0, 665, 0, 2524, - 0, 0, 0, 0, 0, 0, 0, 0, 2524, 0, - 0, 666, 0, 2524, 0, 0, 0, 0, -466, 0, - 0, 2524, 2524, 2524, 2524, 0, 0, 0, 3257, 3257, - 0, 2524, 0, 0, 0, 0, 0, 0, 667, 0, - 0, 0, 0, 887, 0, 0, 0, 0, 668, 0, - 2524, 0, 2524, 0, 0, -466, 0, 0, 669, 2524, - 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 0, - 0, 0, 0, 0, 0, 0, 0, 670, 0, 889, - 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, - 0, -466, 887, 0, 672, 673, 0, 674, 675, 0, - 0, 0, 4720, 4721, 4722, 2524, 0, 0, 0, 0, - 0, 0, 0, 676, 0, 0, 0, 0, 0, 0, - 677, 0, 0, 678, 3989, 0, 679, 0, 0, 3995, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, - 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 963, 963, 5444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2064, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3269, 0, 3269, 3269, 0, + 0, 0, 0, 0, 0, 0, 6109, 0, 0, 0, + 0, 0, 0, 4143, 4143, 0, 0, 3327, 3327, 3327, + 3327, 0, 0, 3327, 3327, 3327, 3327, 3327, 3327, 3327, + 3327, 3327, 3327, 4143, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 4077, 0, 0, 4080, 0, 4082, 0, 0, 0, - 0, 2, 0, 3, 4, 0, 0, 0, 0, 0, + 2, 0, 3, 4, 0, 973, 2583, 0, 0, 2583, + 0, 2583, 0, 0, 4143, 4143, 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, 6, 0, 4109, 0, 4112, 0, 4114, 2524, 0, - 0, 0, 0, 7, 0, 8, 9, 0, 0, 0, - 0, 0, 10, 0, 11, 0, 0, 0, 889, 0, + 6, 0, 0, 0, 0, 0, 2583, 3327, 3327, 2583, + 0, 2583, 7, 0, 8, 9, 0, 0, 0, 0, + 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 0, 15, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3288, 0, 0, 0, 14, 0, 0, 15, 6213, + 0, 5550, 0, 0, 0, 0, 0, 5554, 5555, 5556, 0, 0, 0, 16, 0, 17, 0, 0, 0, 18, - 0, 0, 699, 0, 0, 5644, 0, 700, 0, 0, - 0, 0, 0, 20, 0, 21, 0, 0, 4181, 0, - 0, 0, 22, 2631, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2648, 0, - 23, 0, 0, 0, 0, 701, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 24, 702, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 703, 0, 0, 0, 0, 0, - 889, 0, 0, 0, 0, 889, 889, 0, 0, 0, - 0, 0, 704, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4231, 25, 26, 0, 0, 0, 4985, - 27, 0, 0, 0, 0, 0, 705, 0, 0, 0, - 0, 0, 0, 0, 28, 0, 0, 706, 0, 0, - 0, 0, 0, 0, 0, 0, 707, 0, 0, 0, - 0, 5017, 29, 0, 0, 0, 0, 0, 0, 708, - 0, 0, 0, 0, 0, 709, 0, 0, 0, 0, - 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, - 2524, 2524, 0, 3064, 0, 2524, 0, 0, 0, 0, - 0, 0, 711, 0, 0, 0, 30, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, - 31, 0, 0, 0, 2524, 0, 32, 33, 5075, 34, - 0, 0, 0, 0, 35, 0, 0, 4545, 0, 0, - 36, 0, 0, 37, 0, 3125, 0, 0, 0, 0, - 38, 0, 0, 0, 0, 712, 0, 39, 40, 0, - 0, 0, 0, 0, 0, 41, 0, 889, 0, 42, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 44, 713, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 714, - 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, - 715, 0, 0, 0, 0, 0, 46, 0, 0, 0, - 213, 716, 47, 0, 717, 0, 0, 48, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 718, 0, 0, 719, 0, 0, 0, 720, 0, - 0, 721, 0, 0, 50, 0, 1701, 0, 722, 0, - 0, 723, 1701, 0, 0, 0, 0, 5175, 5176, 5177, - 5178, 0, 0, 56, 0, 0, -136, 0, 0, 0, - 724, 0, 0, 0, 0, 0, 0, 725, 0, 0, - 0, 0, 0, 0, 726, 0, 0, 727, 0, 2524, - 0, 728, 0, 0, 0, 2524, 0, 0, 0, 729, - 0, 730, 0, 0, 0, 0, 731, 197, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 732, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4494, 733, 0, 4053, 4053, 0, 0, 3257, 3257, - 3257, 3257, 0, 0, 3257, 3257, 3257, 3257, 3257, 3257, - 3257, 3257, 3257, 3257, 4053, 0, 0, 0, 198, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 199, 0, 0, 2524, 0, 0, - 2524, 0, 2524, 0, 0, 4053, 4053, 0, 0, 0, - 0, 0, 200, 0, 0, 0, 0, 0, 201, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2524, - 3257, 3257, 2524, 0, 2524, 0, 202, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 203, 0, 0, - 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4616, 2524, 208, 0, 0, 0, 0, 0, 4620, 0, - 4621, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3228, 0, 0, 0, 3228, 3228, 0, 0, 0, 0, - 3239, 0, 0, 209, 0, 0, 0, 0, 4639, 0, - 4640, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 210, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4662, 4663, 4664, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3278, 0, 0, 0, - 0, 0, 0, 0, 4689, 0, 211, 4692, 0, 4694, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4700, 0, 0, - 212, 0, 5391, 0, 0, 4707, 4708, 0, 0, 0, - 213, 214, 4713, 5401, 215, 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, 216, 0, 0, 217, 0, 0, 0, 218, 0, - 0, 219, 0, 0, 0, 0, 0, 0, 220, 0, - 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 222, 0, 0, 0, 0, 0, 0, 223, 0, 4765, - 0, 0, 224, 0, 225, 0, 0, 226, 0, 0, - 0, 227, 0, 0, 0, 0, 4779, 0, 0, 0, - 0, 228, 0, 0, 0, 0, 229, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, - 0, 3257, 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, 2524, 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, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 5589, 0, 0, - 0, 0, 1360, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5619, 0, 0, 0, 0, 2524, 0, 0, 0, - 2524, 2524, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2524, - 2524, 0, 0, 0, 0, 4053, 4053, 4053, 4053, 0, - 0, 0, 4053, 4053, 4053, 4053, 4053, 4053, 4053, 4053, - 4053, 4053, 2524, 2524, 2524, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2524, - 0, 0, 2524, 0, 2524, 0, 0, 0, 0, 0, - 2524, 0, 0, 4053, 4053, 0, 0, 2524, 2524, 0, - 0, 0, 0, 2524, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5063, 5064, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5071, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5723, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2524, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2524, - 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, 5114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2631, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5799, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5151, 5153, 0, 0, 0, 0, 0, 5821, - 5157, 5158, 0, 0, 0, 5159, 0, 0, 0, 0, - 0, 0, 5162, 0, 0, 5165, 5166, 0, 0, 0, - 0, 0, 5171, 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, 5206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1335, 0, 0, 0, - 0, 0, 0, 0, 5220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4053, 0, 0, 0, - 0, 0, 0, 0, 5230, 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, 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, 2524, 2524, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5295, 0, 0, - 0, 0, 0, 0, 5297, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2524, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2524, 3257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2524, 0, 2524, 0, 0, 0, 2524, 2524, 2524, - 0, 0, 2524, 5332, 0, 2524, 2524, 0, 0, 0, - 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3257, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2524, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2524, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2524, 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, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2524, 0, 2524, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5423, 0, 0, 0, 0, 0, 5427, 5428, 5429, 0, - 0, 0, 2524, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5442, 5443, 0, 0, 5444, 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, 5463, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5481, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2524, 0, 4053, 3257, 2524, 2524, 2524, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2524, 2524, 2524, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3257, 0, 0, 4053, - 0, 0, 0, 2524, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2524, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2583, 0, 0, 0, 0, 5775, 0, 0, 0, + 0, 0, 5569, 5570, 0, 20, 5571, 21, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5579, 0, 0, 0, 0, 0, + 0, 0, 23, 0, 5591, 0, 0, 0, 0, 0, + 0, 2583, 0, 1823, 0, 5609, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5626, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6303, + 0, 0, 1823, 25, 26, 0, 0, 0, 0, 27, + 0, 0, 0, 0, 0, 963, 963, 0, 0, 0, + 0, 0, 0, 0, 28, 0, 0, 1823, 0, 0, + 1114, 1114, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 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, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, + 0, 32, 33, 0, 34, 0, 0, 0, 0, 35, + 0, 0, 4642, 0, 0, 36, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 39, 40, 0, 0, 0, 0, 0, 0, + 41, 0, 0, 1114, 42, 0, 670, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 5799, 3327, 0, 0, + 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 3348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 2583, 0, 673, 0, 0, 46, 0, 0, 0, 0, + 0, 47, 0, 0, 0, 0, 48, 0, 0, -891, + 0, 0, 2103, 0, 0, 0, 0, 0, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, + 0, 0, 0, 675, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 676, 0, 0, 0, 0, 0, 0, 0, 0, + 5878, 0, 56, 0, 677, -136, 0, 0, 0, 0, + 0, 0, 0, 678, 0, 0, 5890, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, + 0, 0, 0, 0, 0, 680, 0, 0, 0, 681, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2583, 0, 0, 0, 2583, 2583, 5927, -1097, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2583, 0, 0, 0, 0, 0, 0, 0, 2583, 0, + 2583, 0, 2583, 2583, 0, 0, 0, 719, 4143, 4143, + 4143, 4143, 720, 0, 0, 4143, 4143, 4143, 4143, 4143, + 4143, 4143, 4143, 4143, 4143, 2583, 2583, 2583, 0, 682, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 721, 0, 2583, 0, 0, 2583, 0, 2583, 0, 0, + 0, 2583, 0, 722, 4143, 4143, 0, 3288, 2583, 2583, + 0, 0, 0, 0, 2583, 0, 0, 0, 0, 6007, + 723, 0, 0, 683, 0, 0, 684, 0, 6014, 6014, + 6014, 0, 0, 0, 0, 0, 0, 0, 724, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 685, + 0, 0, 0, 0, 0, 0, 5609, 0, 0, 0, + 0, 0, 725, 686, 0, 0, 0, 0, 2583, 0, + 6047, -474, 0, 0, 0, 726, 0, 0, 0, 0, + 0, 0, 2583, 0, 727, 0, 0, 0, 0, 6062, + 0, 687, 0, 0, 0, 0, 0, 728, 0, 0, + 0, 688, 0, 729, 0, 0, 0, 0, -474, 0, + 730, 689, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, + 731, 690, 0, 1052, 0, 0, 0, 0, 0, 691, + 0, 0, 0, 0, 0, 0, -474, 0, 0, 692, + 0, 693, 0, 694, 695, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, + 0, 1053, 0, 0, 0, 0, 0, 697, 0, 0, + 698, 0, 0, 699, 722, 1054, 0, 0, 0, 0, + 732, 0, 0, 0, 0, 0, -474, 1055, 0, 0, + 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1056, + 0, 6014, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 733, 0, 0, 0, 0, 0, + 0, 0, 0, 1057, 0, 0, 5609, 734, 0, 0, + 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 735, 0, 0, 0, 0, 727, 0, 0, 0, 0, + 213, 736, 0, 0, 737, 0, 0, 0, 728, 0, + 0, 4143, 0, 0, 1058, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 738, 0, 0, 739, 0, 0, 0, 740, + 0, 1059, 741, 0, 0, 0, 0, 0, 0, 742, + 0, 0, 743, 0, 0, 0, 0, 0, 0, 6237, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 744, 0, 0, 0, 0, 0, 0, 1060, + 745, 0, 0, 6262, 0, 0, 0, 746, 0, 0, + 747, 0, 0, 0, 0, 748, 0, 0, 2583, 2583, + 0, 732, 0, 749, 0, 750, 2583, 0, 0, 0, + 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, + 0, 0, 0, 0, 0, 1061, 0, 0, 0, 2583, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 735, 2583, 3327, 0, 0, 0, 0, 0, 0, + 0, 213, 1062, 197, 0, 737, 0, 0, 0, 0, + 0, 2583, 0, 2583, 0, 0, 0, 2583, 2583, 2583, + 2583, 0, 0, 2583, 2583, 0, 0, 0, 0, 2583, + 6014, 0, 0, 1063, 0, 0, 1064, 0, 0, 0, + 740, 0, 0, 741, 0, 0, 6349, 3327, 0, 0, + 742, 0, 0, 743, 198, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 199, 0, 744, 0, 0, 0, 0, 0, 2583, + 0, 1065, 0, 0, 0, 0, 0, 0, 746, 200, + 0, 1066, 0, 0, 0, 201, 748, 0, 0, 0, + 0, 0, 0, 0, 1067, 0, 750, 2583, 0, 0, + 0, 1068, 0, 202, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 204, 0, 0, 753, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, + 0, 0, 0, 0, 206, 0, 2583, 0, 2583, 0, + 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1733, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2583, 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, 209, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 210, 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, 0, 211, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, + 0, 4143, 3327, 2583, 2583, 2583, 0, 0, 0, 0, + 0, 212, 0, 0, 0, 0, 0, 0, 2583, 2583, + 2583, 213, 214, 0, 0, 215, 0, 0, 2583, 0, + 0, 0, 0, 3327, 0, 0, 4143, 0, 0, 0, + 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 217, 0, 2583, 0, + 218, 0, 0, 219, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 221, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, + 0, 223, 0, 0, 0, 0, 224, 0, 225, 0, + 0, 226, 0, 0, 0, 0, 227, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 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, - 3278, 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, 0, 2064, 0, 0, 4053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4053, 0, 3257, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2583, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4143, 0, 3327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 5740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2524, 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, 5776, 0, 0, - 0, 0, 0, 0, 0, 0, 2524, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, 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, 2583, 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, 2524, 0, 0, 0, 0, 0, 0, 2524, - 0, 0, 0, 0, 0, 0, 5842, 0, 0, 0, - 0, 0, 0, 0, 0, 5849, 5849, 5849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5481, 0, 2524, 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, 5893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 0, 2583, 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, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2583, 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, 3257, 3257, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2524, 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, 5849, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2524, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5481, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 6006, - 0, 0, 2524, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4053, 4053, 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, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 6047, - 2524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6072, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3327, 3327, 0, 0, 3327, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 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, 234, 0, 1246, 694, - 0, 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, - 0, 0, 0, 0, 5849, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 1695, 244, 245, 246, 6140, 0, - 0, 0, 1251, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260, - 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269, - 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, - 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262, - 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, - 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 1696, - 0, 323, 324, 864, 326, 327, 1701, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271, - 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346, - 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0, - 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276, - 362, 363, 0, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 0, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 383, 384, 385, 386, 387, 388, - 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396, - 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413, - 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441, - 442, 443, 444, 1289, 446, 1290, 447, 448, 449, 450, - 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458, - 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464, - 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0, + 0, 2583, 0, 0, 0, 0, 0, 0, 0, 234, + 0, 1268, 714, 0, 1269, 1270, 1271, 775, 1272, 4143, + 4143, 0, 4143, 0, 0, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 1727, 244, 245, + 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, + 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, + 0, 275, 276, 277, 278, 1281, 0, 1282, 2583, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, + 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 1728, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 1293, 342, 343, 344, 345, + 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 1297, 0, 1298, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, + 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 1312, 420, 421, + 422, 0, 423, 424, 425, 1313, 1314, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 1315, 437, 438, + 439, 440, 441, 442, 443, 444, 1316, 446, 1317, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 1318, 458, + 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 1323, 473, + 474, 0, 0, 475, 476, 477, 478, 479, 480, 1324, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 1326, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 1327, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 1328, 555, + 556, 557, 558, 559, 560, 561, 562, 1329, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 1330, 581, 0, 582, 583, + 1331, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, + 1335, 1336, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 1337, 609, 610, 611, 612, 613, 1338, 0, + 614, 615, 616, 617, 618, 619, 1339, 1729, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, + 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, + 1348, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1349, 1350, 1730, 0, 0, 0, 0, 0, + 0, 1352, 1731, 234, 0, 1268, 714, 0, 1269, 1270, + 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 1273, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, + 263, 264, 265, 266, 267, 268, 269, 1277, 1278, 270, + 271, 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, + 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, + 1291, 311, 1292, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 884, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 1293, + 342, 343, 344, 345, 1294, 1295, 347, 0, 348, 349, + 350, 1296, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 1297, 0, 1298, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, 399, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, + 1311, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 1312, 420, 421, 422, 0, 423, 424, 425, 1313, + 1314, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 1315, 437, 438, 439, 440, 441, 442, 443, 444, + 1316, 446, 1317, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, + 1321, 464, 1322, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 1323, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 1324, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 1325, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 1326, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 1327, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 40, 550, 551, 552, + 553, 554, 1328, 555, 556, 557, 558, 559, 560, 561, + 562, 1329, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 1330, + 581, 0, 582, 583, 1331, 44, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 1332, 1333, 0, 0, + 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 1337, 609, 610, 611, + 612, 613, 1338, 0, 614, 615, 616, 617, 618, 1203, + 1339, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 49, 628, 629, 630, 631, 632, 633, 634, + 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, + 645, 646, 647, 0, 1348, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1349, 1350, 0, 0, + 0, 0, 0, 0, 0, 1352, 5845, 234, 0, 1268, + 714, 0, 1269, 1270, 1271, 775, 1272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 0, 531, 532, 533, 534, 535, 536, 537, 538, 1327, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 0, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 0, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 619, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 0, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 0, 0, 0, 0, 1352, + 3329, 234, 0, 1268, 714, 0, 1269, 1270, 1271, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 1273, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 1292, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 1323, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 1327, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 1337, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 1348, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1349, 1350, 0, 0, 0, 0, + 0, 0, 0, 1352, 4745, 234, 0, 1268, 714, 0, + 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 1274, 260, 1275, + 1276, 0, 263, 264, 265, 266, 267, 268, 269, 1277, + 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, 277, + 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, + 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, + 348, 349, 350, 1296, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 1297, + 0, 1298, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, + 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, + 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 409, 1311, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 1312, 420, 421, 422, 0, 423, 424, + 425, 1313, 1314, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 1315, 437, 438, 439, 440, 441, 442, + 443, 444, 1316, 446, 1317, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 1318, 458, 1319, 459, 460, 461, + 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 1323, 473, 474, 0, 0, 475, + 476, 477, 478, 479, 480, 1324, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 1326, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 1327, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 1328, 555, 556, 557, 558, 559, + 560, 561, 562, 1329, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 1330, 581, 0, 582, 583, 1331, 0, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 1332, 1333, + 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 1337, 609, + 610, 611, 612, 613, 1338, 0, 614, 615, 616, 617, + 618, 619, 1339, 0, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, + 1347, 644, 645, 646, 647, 0, 1348, 0, 0, 0, + 655, 0, 0, 0, 0, 0, 0, 0, 1349, 1350, + 0, 0, 0, 0, 0, 0, 0, 1352, 4812, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 4249, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, + 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, + 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, -1841, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, -1841, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, -1841, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, -1841, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, -1841, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, -1841, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, -1841, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 876, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1466, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 0, 877, 260, 878, + 879, 0, 263, 264, 265, 266, 267, 268, 269, 0, + 0, 270, 271, 880, 881, 274, 0, 275, 276, 277, + 278, 0, 0, 280, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 0, 0, + 0, 302, 0, 0, 0, 303, 304, 305, 306, 307, + 308, 882, 883, 311, 0, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 0, 342, 343, 344, 345, 0, 0, 347, 0, + 348, 349, 350, 885, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 0, + 0, 0, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 2733, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 2734, 388, 389, + 390, 391, 886, 887, 0, 888, 0, 395, 396, 397, + 398, 399, 889, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 0, 420, 421, 422, 0, 423, 424, + 425, 0, 0, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 0, 437, 438, 439, 440, 441, 442, + 443, 444, 890, 446, 891, 448, 449, 450, 451, 452, + 453, 454, 455, 0, 0, 458, 0, 459, 460, 461, + 462, 0, 0, 464, 892, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 472, 473, 474, 0, 0, 475, + 476, 2736, 478, 479, 480, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 893, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 0, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 0, 555, 556, 2737, 558, 559, + 560, 561, 562, 895, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 0, 581, 0, 582, 583, 0, 0, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 896, 897, + 0, 0, 595, 596, 0, 598, 0, 0, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 0, 609, + 610, 611, 612, 613, 0, 0, 614, 615, 616, 617, + 618, 0, 898, 2738, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 876, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 645, 646, 647, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 0, 2831, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 0, 877, 260, 878, 879, 0, 263, 264, + 265, 266, 267, 268, 269, 0, 0, 270, 271, 880, + 881, 274, 0, 275, 276, 277, 278, 0, 0, 280, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 0, 0, 0, 302, 0, 0, + 0, 303, 304, 305, 306, 307, 308, 882, 883, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 0, 342, 343, + 344, 345, 0, 0, 347, 0, 348, 349, 350, 885, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 0, 0, 0, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 2733, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 2734, 388, 389, 390, 391, 886, 887, + 0, 888, 0, 395, 396, 397, 398, 399, 889, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 0, + 420, 421, 422, 0, 423, 424, 425, 0, 0, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 0, + 437, 438, 439, 440, 441, 442, 443, 444, 890, 446, + 891, 448, 449, 450, 451, 452, 453, 454, 455, 0, + 0, 458, 0, 459, 460, 461, 462, 0, 0, 464, + 892, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 2736, 478, 479, + 480, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 0, 497, 0, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 893, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 0, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 0, 555, 556, 2737, 558, 559, 560, 561, 562, 895, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 0, 581, 0, + 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 896, 897, 0, 0, 595, 596, + 0, 598, 0, 0, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 0, 0, 614, 615, 616, 617, 618, 0, 898, 2738, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 234, 0, 1268, + 714, 0, 1269, 1270, 1271, 775, 1272, 0, 645, 646, + 647, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 3964, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 3290, 531, 532, 533, 534, 535, 536, 537, 538, 1327, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 40, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 44, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 1203, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 49, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, 1352, + 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 1274, 260, 1275, + 1276, 0, 263, 264, 265, 266, 267, 268, 269, 1277, + 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, 277, + 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, + 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, + 348, 349, 350, 1296, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 1297, + 0, 1298, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, + 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, + 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 409, 1311, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 1312, 420, 421, 422, 0, 423, 424, + 425, 1313, 1314, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 1315, 437, 438, 439, 440, 441, 442, + 443, 444, 1316, 446, 1317, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 1318, 458, 1319, 459, 460, 461, + 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 1323, 473, 474, 0, 0, 475, + 476, 477, 478, 479, 480, 1324, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 1326, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 1327, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 40, 550, + 551, 552, 553, 554, 1328, 555, 556, 557, 558, 559, + 560, 561, 562, 1329, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 1330, 581, 0, 582, 583, 1331, 44, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 1332, 1333, + 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 1337, 609, + 610, 611, 612, 613, 1338, 0, 614, 615, 616, 617, + 618, 1203, 1339, 0, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 49, 628, 629, 630, 631, 632, + 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, + 1347, 644, 645, 646, 647, 0, 1348, 0, 50, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1349, 1350, + 0, 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, + 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 1273, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, 3335, + 263, 264, 265, 266, 267, 268, 269, 1277, 1278, 270, + 271, 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, + 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, + 1291, 311, 1292, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 884, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 1293, + 342, 343, 344, 345, 1294, 1295, 347, 0, 348, 349, + 350, 1296, 352, 0, 353, 0, 354, 355, 356, 3336, + 357, 358, 359, 360, 361, 0, 362, 1297, 0, 1298, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, 399, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, + 1311, 411, 412, 413, 414, 415, 416, 417, 0, 3337, + 418, 1312, 420, 421, 422, 0, 423, 424, 425, 1313, + 1314, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 1315, 437, 438, 439, 440, 441, 442, 443, 444, + 1316, 446, 1317, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, + 1321, 464, 1322, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 1323, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 1324, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 1325, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 1326, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 1327, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 1328, 555, 556, 557, 558, 559, 560, 561, + 562, 1329, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 1330, + 581, 0, 582, 583, 1331, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 1332, 1333, 0, 3338, + 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 1337, 609, 610, 611, + 612, 613, 1338, 0, 614, 615, 616, 617, 618, 619, + 1339, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, + 645, 646, 647, 0, 1348, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1349, 1350, 0, 0, + 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, -2272, + 244, 245, 246, 0, 0, 0, -2272, 1273, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 1292, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 1323, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 1327, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, -2272, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 1337, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 1348, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1349, 1350, 0, 0, 0, 234, + 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, -2270, 244, 245, + 246, 0, 0, 0, -2270, 1273, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, + 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, + 0, 275, 276, 277, 278, 1281, 0, 1282, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, + 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 1293, 342, 343, 344, 345, + 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 1297, 0, 1298, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, + 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 1312, 420, 421, + 422, 0, 423, 424, 425, 1313, 1314, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 1315, 437, 438, + 439, 440, 441, 442, 443, 444, 1316, 446, 1317, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 1318, 458, + 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 1323, 473, + 474, 0, 0, 475, 476, 477, 478, 479, 480, 1324, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 1326, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 1327, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 1328, 555, + 556, 557, 558, 559, 560, 561, 562, 1329, 564, -2270, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 1330, 581, 0, 582, 583, + 1331, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, + 1335, 1336, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 1337, 609, 610, 611, 612, 613, 1338, 0, + 614, 615, 616, 617, 618, 619, 1339, 0, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, + 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, + 1348, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, + 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 517, 518, 519, 520, - 521, 522, 1298, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299, - 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548, - 0, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302, - 0, 566, 567, 568, 569, 570, 571, 572, 0, 573, - 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 1308, - 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596, - 597, 598, 599, 1310, 1697, 601, 602, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, - 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, - 1321, 1698, 0, 0, 0, 0, 0, 0, 1323, 1699, - 234, 0, 1246, 694, 0, 1247, 1248, 1249, 755, 1250, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 0, 531, 532, 533, 534, 535, 536, 537, 538, 1327, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 0, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 0, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 619, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 0, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 0, 0, 2051, 3263, 1352, + 234, 0, 1268, 714, 0, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 1251, 0, 0, 247, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, - 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, - 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, - 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 864, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, - 344, 0, 345, 346, 347, 1274, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 1275, 0, 1276, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, - 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 1284, 410, - 411, 412, 0, 413, 414, 415, 1285, 1286, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 1287, 435, 1288, 437, - 438, 439, 440, 441, 442, 443, 444, 1289, 446, 1290, - 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, - 456, 0, 457, 458, 0, 0, 1294, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 1297, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 1298, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 40, 534, 535, - 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544, - 545, 546, 1300, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563, - 0, 564, 565, 1302, 44, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 1303, 1304, 0, 0, 576, 577, - 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 1308, 589, 590, 591, 592, 593, 1309, - 0, 594, 595, 596, 597, 598, 1181, 1310, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 49, - 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, - 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, - 0, 1319, 0, 50, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1320, 1321, 0, 0, 0, 0, 0, - 0, 0, 1323, 5700, 234, 0, 1246, 694, 0, 1247, - 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 1351, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 2700, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 3290, + 531, 532, 533, 534, 535, 536, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, + 1350, 0, 0, 0, 234, 0, 1268, 714, 1352, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, - 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, - 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256, - 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278, - 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 0, 291, 292, 293, 294, 295, - 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, - 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316, - 317, 318, 0, 319, 320, 321, 322, 0, 0, 323, - 324, 864, 326, 327, 0, 328, 329, 330, 0, 331, - 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340, - 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, - 349, 0, 350, 0, 351, 352, 353, 0, 354, 355, - 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363, - 0, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 0, 374, 375, 376, 377, 378, 379, 380, 381, - 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278, - 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280, - 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0, - 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415, - 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443, - 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, - 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0, - 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466, - 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485, - 486, 0, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 0, 515, 516, 517, 518, 519, 520, 521, 522, - 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540, - 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566, - 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304, - 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, - 583, 584, 585, 586, 587, 588, 0, 1308, 589, 590, - 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598, - 599, 1310, 0, 601, 602, 603, 604, 605, 606, 0, - 0, 607, 0, 0, 608, 609, 610, 611, 612, 613, - 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, - 624, 625, 626, 627, 0, 1319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0, - 0, 0, 0, 0, 0, 0, 1323, 3259, 234, 0, - 1246, 694, 0, 1247, 1248, 1249, 755, 1250, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 3843, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 3336, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 3394, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 0, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, - 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267, - 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, - 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 0, 297, 298, 299, 300, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, - 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, - 313, 314, 315, 316, 317, 318, 0, 319, 320, 321, - 322, 0, 0, 323, 324, 864, 326, 327, 0, 328, - 329, 330, 0, 331, 332, 333, 0, 334, 335, 336, - 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, - 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352, - 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275, - 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 0, 374, 375, 376, 377, - 378, 379, 380, 381, 0, 382, 383, 384, 385, 386, - 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, - 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, - 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412, - 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439, - 440, 441, 442, 443, 444, 1289, 446, 1290, 447, 448, - 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, - 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462, - 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296, - 482, 483, 484, 485, 486, 0, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500, - 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 515, 516, 517, 518, - 519, 520, 521, 522, 1298, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 0, 534, 535, 536, 537, - 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546, - 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564, - 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572, - 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, - 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588, - 0, 1308, 589, 590, 591, 592, 593, 1309, 0, 594, - 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603, - 604, 605, 606, 0, 0, 607, 0, 0, 608, 609, - 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, - 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1320, 1321, 0, 0, 0, 0, 0, 0, 0, - 1323, 4641, 234, 0, 1246, 694, 0, 1247, 1248, 1249, - 755, 1250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0, - 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, - 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271, - 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0, - 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 0, - 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310, - 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318, - 0, 319, 320, 321, 322, 0, 0, 323, 324, 864, - 326, 327, 0, 328, 329, 330, 0, 331, 332, 333, - 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342, - 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0, - 350, 0, 351, 352, 353, 0, 354, 355, 356, 357, - 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 0, - 374, 375, 376, 377, 378, 379, 380, 381, 0, 382, - 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, - 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, - 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408, - 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435, - 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289, - 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, - 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460, - 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 0, - 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542, - 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568, - 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0, - 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, - 585, 586, 587, 588, 0, 1308, 589, 590, 591, 592, - 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310, - 0, 601, 602, 603, 604, 605, 606, 0, 0, 607, - 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311, - 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, - 626, 627, 0, 1319, 0, 0, 0, 635, 0, 0, - 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0, - 0, 0, 0, 0, 1323, 4710, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 4159, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, - 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 272, 273, 274, 0, 275, - 276, 277, 278, 279, 0, 0, 0, 281, 282, 283, - 284, 285, 286, 0, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, -1818, 298, 299, 300, 0, - 0, 0, 0, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 325, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 0, 344, 0, 345, - 346, 347, 348, 349, 0, 350, 0, 351, 352, 0, - 0, -1818, 355, 356, 357, 358, 0, 359, 360, 0, - 361, 362, 363, 0, 364, 365, 366, 367, 368, 0, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, -1818, 384, 385, 386, 387, - 388, 389, 390, 0, 391, 0, 392, 0, 0, 395, - -1818, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 409, -1818, 411, 0, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, -1818, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 0, 447, 448, 0, - 450, 0, 451, 452, 453, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 0, 466, 0, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 481, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, -1818, 518, 519, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 0, 545, 546, 547, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 564, 565, - 0, 0, 566, 0, 568, 569, 570, 571, 572, 0, - 573, 574, 575, 0, 0, 576, 577, 578, 579, 580, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 599, 600, 0, 601, 0, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 0, 0, 0, - 0, 0, 856, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1436, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, - 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, - 255, 256, 257, 0, 857, 260, 858, 859, 0, 263, - 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, - 860, 861, 274, 0, 275, 276, 277, 278, 0, 0, - 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 0, - 297, 298, 299, 300, 0, 0, 0, 301, 0, 0, - 0, 302, 303, 304, 305, 306, 307, 862, 863, 310, - 0, 311, 0, 312, 313, 314, 315, 316, 317, 318, - 0, 319, 320, 321, 322, 0, 0, 323, 324, 864, - 326, 327, 0, 328, 329, 330, 0, 331, 332, 333, - 0, 334, 335, 336, 337, 0, 339, 340, 341, 342, - 0, 0, 344, 0, 345, 346, 347, 865, 349, 0, - 350, 0, 351, 352, 353, 0, 354, 355, 356, 357, - 358, 0, 359, 0, 0, 0, 362, 363, 0, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 2674, - 374, 375, 376, 377, 378, 379, 380, 381, 0, 382, - 383, 2675, 385, 386, 387, 388, 866, 867, 0, 868, - 0, 392, 393, 394, 395, 396, 397, 0, 0, 0, - 0, 402, 403, 404, 405, 406, 407, 0, 0, 408, - 0, 410, 411, 412, 0, 413, 414, 415, 0, 0, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 869, 435, - 870, 437, 438, 439, 440, 441, 442, 443, 0, 0, - 446, 0, 447, 448, 449, 450, 0, 0, 452, 871, - 454, 455, 456, 0, 457, 458, 0, 0, 459, 460, - 461, 0, 0, 462, 463, 2677, 465, 466, 467, 0, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 0, 479, 480, 0, 482, 0, 484, 485, 486, 0, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 872, 498, 499, 500, 501, 0, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 0, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 0, - 534, 535, 536, 537, 538, 0, 539, 540, 2678, 542, - 543, 544, 545, 546, 874, 548, 0, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 0, 563, 0, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 571, 572, 0, 573, 875, 876, 0, 0, - 576, 577, 0, 579, 0, 0, 581, 582, 583, 584, - 585, 586, 587, 588, 0, 0, 589, 590, 591, 592, - 593, 0, 0, 594, 595, 596, 597, 598, 0, 877, - 2679, 601, 602, 603, 604, 605, 606, 0, 0, 607, - 0, 0, 608, 609, 610, 611, 612, 613, 856, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 625, - 626, 627, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, - 0, 0, 0, 0, 0, 2775, 0, 247, 248, 249, - 0, 250, 251, 252, 253, 254, 255, 256, 257, 0, - 857, 260, 858, 859, 0, 263, 264, 265, 266, 267, - 268, 269, 0, 0, 270, 271, 860, 861, 274, 0, - 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 0, 297, 298, 299, 300, - 0, 0, 0, 301, 0, 0, 0, 302, 303, 304, - 305, 306, 307, 862, 863, 310, 0, 311, 0, 312, - 313, 314, 315, 316, 317, 318, 0, 319, 320, 321, - 322, 0, 0, 323, 324, 864, 326, 327, 0, 328, - 329, 330, 0, 331, 332, 333, 0, 334, 335, 336, - 337, 0, 339, 340, 341, 342, 0, 0, 344, 0, - 345, 346, 347, 865, 349, 0, 350, 0, 351, 352, - 353, 0, 354, 355, 356, 357, 358, 0, 359, 0, - 0, 0, 362, 363, 0, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 2674, 374, 375, 376, 377, - 378, 379, 380, 381, 0, 382, 383, 2675, 385, 386, - 387, 388, 866, 867, 0, 868, 0, 392, 393, 394, - 395, 396, 397, 0, 0, 0, 0, 402, 403, 404, - 405, 406, 407, 0, 0, 408, 0, 410, 411, 412, - 0, 413, 414, 415, 0, 0, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 869, 435, 870, 437, 438, 439, - 440, 441, 442, 443, 0, 0, 446, 0, 447, 448, - 449, 450, 0, 0, 452, 871, 454, 455, 456, 0, - 457, 458, 0, 0, 459, 460, 461, 0, 0, 462, - 463, 2677, 465, 466, 467, 0, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 479, 480, 0, - 482, 0, 484, 485, 486, 0, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 872, 498, 499, 500, - 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 515, 516, 517, 518, - 519, 520, 521, 522, 0, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 0, 534, 535, 536, 537, - 538, 0, 539, 540, 2678, 542, 543, 544, 545, 546, - 874, 548, 0, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 0, 563, 0, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 571, 572, - 0, 573, 875, 876, 0, 0, 576, 577, 0, 579, - 0, 0, 581, 582, 583, 584, 585, 586, 587, 588, - 0, 0, 589, 590, 591, 592, 593, 0, 0, 594, - 595, 596, 597, 598, 0, 877, 2679, 601, 602, 603, - 604, 605, 606, 0, 0, 607, 0, 0, 608, 609, - 610, 611, 612, 613, 234, 0, 1246, 694, 0, 1247, - 1248, 1249, 755, 1250, 0, 625, 626, 627, 0, 0, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2703, + 2704, 0, 0, 0, 234, 0, 3513, 714, 1352, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, - 1251, 3883, 0, 247, 248, 249, 0, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, - 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256, - 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278, - 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 0, 291, 292, 293, 294, 295, - 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, - 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316, - 317, 318, 0, 319, 320, 321, 322, 0, 0, 323, - 324, 864, 326, 327, 0, 328, 329, 330, 0, 331, - 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340, - 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, - 349, 0, 350, 0, 351, 352, 353, 0, 354, 355, - 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363, - 0, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 0, 374, 375, 376, 377, 378, 379, 380, 381, - 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278, - 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280, - 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0, - 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415, - 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443, - 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, - 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0, - 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466, - 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485, - 486, 0, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 3225, 515, 516, 517, 518, 519, 520, 521, 522, - 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 40, 534, 535, 536, 537, 538, 1299, 539, 540, - 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 1301, 563, 0, 564, 565, 1302, 44, 566, - 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304, - 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, - 583, 584, 585, 586, 587, 588, 0, 1308, 589, 590, - 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598, - 1181, 1310, 0, 601, 602, 603, 604, 605, 606, 0, - 0, 607, 0, 49, 608, 609, 610, 611, 612, 613, - 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, - 624, 625, 626, 627, 0, 1319, 0, 50, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0, - 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249, - 755, 1250, 0, 0, 0, 0, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, - 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271, - 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0, - 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 0, - 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310, - 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318, - 0, 319, 320, 321, 322, 0, 0, 323, 324, 864, - 326, 327, 0, 328, 329, 330, 0, 331, 332, 333, - 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342, - 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0, - 350, 0, 351, 352, 353, 0, 354, 355, 356, 357, - 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 0, - 374, 375, 376, 377, 378, 379, 380, 381, 0, 382, - 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, - 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, - 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408, - 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435, - 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289, - 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, - 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460, - 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 40, - 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542, - 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 1301, 563, 0, 564, 565, 1302, 44, 566, 567, 568, - 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0, - 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, - 585, 586, 587, 588, 0, 1308, 589, 590, 591, 592, - 593, 1309, 0, 594, 595, 596, 597, 598, 1181, 1310, - 0, 601, 602, 603, 604, 605, 606, 0, 0, 607, - 0, 49, 608, 609, 610, 611, 612, 613, 614, 1311, - 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, - 626, 627, 0, 1319, 0, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0, - 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 4868, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 1251, 0, 0, 247, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 1252, 260, 1253, 1254, 3265, 263, 264, 265, - 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, - 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, - 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 864, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, - 344, 0, 345, 346, 347, 1274, 349, 0, 350, 0, - 351, 352, 353, 3266, 354, 355, 356, 357, 358, 0, - 359, 1275, 0, 1276, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, - 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, - 403, 404, 405, 406, 407, 0, 3267, 408, 1284, 410, - 411, 412, 0, 413, 414, 415, 1285, 1286, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 1287, 435, 1288, 437, - 438, 439, 440, 441, 442, 443, 444, 1289, 446, 1290, - 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, - 456, 0, 457, 458, 0, 0, 1294, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 1297, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 1298, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544, - 545, 546, 1300, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563, - 0, 564, 565, 1302, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 1303, 1304, 0, 3268, 576, 577, - 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 1308, 589, 590, 591, 592, 593, 1309, - 0, 594, 595, 596, 597, 598, 599, 1310, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, - 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, - 0, 1319, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1320, 1321, 0, 0, 0, 234, 0, - 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 5251, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 0, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 243, -2222, 244, 245, 246, - 0, 0, 0, -2222, 1251, 0, 0, 247, 248, 249, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267, - 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, - 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 0, 297, 298, 299, 300, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, - 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, - 313, 314, 315, 316, 317, 318, 0, 319, 320, 321, - 322, 0, 0, 323, 324, 864, 326, 327, 0, 328, - 329, 330, 0, 331, 332, 333, 0, 334, 335, 336, - 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, - 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352, - 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275, - 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 0, 374, 375, 376, 377, - 378, 379, 380, 381, 0, 382, 383, 384, 385, 386, - 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, - 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, - 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412, - 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439, - 440, 441, 442, 443, 444, 1289, 446, 1290, 447, 448, - 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, - 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462, - 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296, - 482, 483, 484, 485, 486, 0, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500, - 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 515, 516, 517, 518, - 519, 520, 521, 522, 1298, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 0, 534, 535, 536, 537, - 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546, - 1300, 548, -2222, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564, - 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572, - 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, - 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588, - 0, 1308, 589, 590, 591, 592, 593, 1309, 0, 594, - 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603, - 604, 605, 606, 0, 0, 607, 0, 0, 608, 609, - 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, - 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, 694, - 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 5263, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 243, -2220, 244, 245, 246, 0, 0, - 0, -2220, 1251, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260, - 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269, - 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, - 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262, - 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, - 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 0, - 0, 323, 324, 864, 326, 327, 0, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271, - 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346, - 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0, - 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276, - 362, 363, 0, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 0, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 383, 384, 385, 386, 387, 388, - 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396, - 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413, - 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441, - 442, 443, 444, 1289, 446, 1290, 447, 448, 449, 450, - 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458, - 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464, - 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 517, 518, 519, 520, - 521, 522, 1298, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299, - 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548, - -2220, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302, - 0, 566, 567, 568, 569, 570, 571, 572, 0, 573, - 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 1308, - 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596, - 597, 598, 599, 1310, 0, 601, 602, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, - 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320, - 1321, 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, - 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 5599, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 5600, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 5601, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, + 1350, 0, 0, 0, 234, 0, 1268, 714, 5602, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, - 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, - 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256, - 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278, - 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 0, 291, 292, 293, 294, 295, - 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, - 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316, - 317, 318, 0, 319, 320, 321, 322, 0, 0, 323, - 324, 864, 326, 327, 0, 328, 329, 330, 0, 331, - 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340, - 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, - 349, 0, 350, 0, 351, 352, 353, 0, 354, 355, - 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363, - 0, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 0, 374, 375, 376, 377, 378, 379, 380, 381, - 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278, - 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280, - 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0, - 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415, - 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443, - 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, - 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0, - 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466, - 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485, - 486, 0, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 0, 515, 516, 517, 518, 519, 520, 521, 522, - 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540, - 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566, - 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304, - 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, - 583, 584, 585, 586, 587, 588, 0, 1308, 589, 590, - 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598, - 599, 1310, 0, 601, 602, 603, 604, 605, 606, 0, - 0, 607, 0, 0, 608, 609, 610, 611, 612, 613, - 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, - 624, 625, 626, 627, 0, 1319, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0, - 0, 0, 0, 0, 2019, 3200, 1323, 234, 0, 1246, - 694, 0, 1247, 1248, 1249, 755, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252, - 260, 1253, 1254, 0, 263, 264, 265, 266, 267, 268, - 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345, - 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 1290, 447, 448, 449, - 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, - 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 6011, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 6012, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 6013, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 6012, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 6013, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 5584, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 3321, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3322, 3323, 0, 0, 0, 234, 0, + 1268, 714, 3324, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, -3001, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 6012, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, -3001, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 0, 0, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, -3001, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 0, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 1298, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, - 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 1308, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1320, 1321, 1322, 0, 0, 234, 0, 1246, 694, 1323, - 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 2641, 244, 245, 246, 0, 0, 0, - 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253, - 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255, - 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339, - 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347, - 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277, - 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442, - 443, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, - 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0, - 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, -3001, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 6013, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, -3001, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303, - 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 624, 625, 626, 627, 0, 1319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321, - 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, - 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, - 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270, - 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, - 310, 1270, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341, - 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0, - 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287, - 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, - 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 3225, 515, 516, 517, 518, 519, 520, 521, 522, 1298, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0, - 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 1308, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 1319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1320, 1321, 0, 0, - 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, - 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 3321, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3322, + 3323, 234, 0, 1268, 714, 0, 1269, 1270, 3324, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0, + 244, 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, - 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, - 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272, - 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, - 455, 456, 0, 457, 458, 0, 0, 1294, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 1298, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576, - 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 1308, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 3762, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 0, 1319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1320, 1321, 0, 0, 0, 234, - 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 1251, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, - 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, - 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, - 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 864, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, - 0, 345, 346, 347, 1274, 349, 0, 350, 0, 351, - 352, 353, 3266, 354, 355, 356, 357, 358, 0, 359, - 1275, 0, 1276, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 384, 385, - 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, - 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 1284, 410, 411, - 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 1287, 435, 1288, 437, 438, - 439, 440, 441, 442, 443, 444, 1289, 446, 1290, 447, - 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, - 0, 457, 458, 0, 0, 1294, 460, 461, 0, 0, - 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 1297, 498, 499, - 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 1298, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545, - 546, 1300, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0, - 564, 565, 1302, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, - 579, 1306, 1307, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 1308, 589, 590, 591, 592, 593, 1309, 0, - 594, 595, 596, 597, 598, 599, 1310, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, - 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, - 1319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, - 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252, - 260, 1253, 1254, 0, 263, 264, 265, 266, 267, 268, - 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345, - 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 1290, 447, 448, 449, - 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, - 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 1298, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 1303, 1304, 3323, 0, 576, 577, 1305, 579, 1306, - 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 1308, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1320, 1321, 0, 0, 0, 234, 0, 1246, 694, 1323, - 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253, - 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255, - 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339, - 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347, - 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277, - 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442, - 443, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, - 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0, - 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 0, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 3502, 3503, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3504, 3505, 234, 0, 1268, 714, + 0, 1269, 1270, 3324, 775, 1272, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303, - 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 624, 625, 626, 627, 0, 1319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321, - 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, - 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, - 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270, - 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, - 310, 1270, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341, - 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0, - 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287, - 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, - 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 1298, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0, - 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 1308, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 1319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2644, 2645, 0, 0, - 0, 234, 0, 3439, 694, 1323, 1247, 1248, 1249, 755, - 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, - 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, - 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272, - 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, - 455, 456, 0, 457, 458, 0, 0, 1294, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 1298, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576, - 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 1308, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 0, 1319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1320, 1321, 0, 0, 0, 234, - 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 1251, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, - 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, - 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 4764, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, - 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 864, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, - 0, 345, 346, 347, 1274, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 1275, 0, 1276, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 384, 385, - 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, - 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 1284, 410, 411, - 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 1287, 435, 1288, 437, 438, - 439, 440, 441, 442, 443, 444, 1289, 446, 1290, 447, - 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, - 0, 457, 458, 0, 0, 1294, 460, 461, 0, 0, - 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 1297, 498, 499, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 3321, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 234, 0, 1268, 714, 0, 1269, 1270, 0, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 3324, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 4776, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 1298, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545, - 546, 1300, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0, - 564, 565, 1302, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, - 579, 1306, 1307, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 1308, 589, 590, 591, 592, 593, 1309, 0, - 594, 595, 596, 597, 598, 599, 1310, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, - 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, - 1319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, - 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252, - 260, 1253, 1254, 0, 263, 264, 265, 266, 267, 268, - 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345, - 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 1290, 447, 448, 449, - 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, - 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 3321, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 0, 0, 0, 234, 0, 1268, 714, 0, 1269, + 1270, 0, 775, 1272, 0, 0, 0, 0, 0, 0, + 0, 0, 3324, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 3321, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 4837, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3324, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 1278, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 1294, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 396, 397, 398, 399, 3473, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 3474, 1311, 411, 412, 413, 414, + 415, 416, 417, 3475, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 0, + 459, 460, 461, 462, 0, 1321, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 859, 472, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 1298, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, - 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 1308, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 5140, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1320, 1321, 0, 0, 0, 234, 0, 1246, 694, 1323, - 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253, - 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255, - 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339, - 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347, - 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277, - 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442, - 5152, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, - 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0, - 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303, - 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 624, 625, 626, 627, 0, 1319, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321, - 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, - 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, - 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270, - 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 5471, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, - 310, 1270, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341, - 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 5472, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0, - 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287, - 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, - 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 5473, 521, 522, 1298, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0, - 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 1308, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 1319, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1320, 1321, 0, 0, - 0, 234, 0, 1246, 694, 5474, 1247, 1248, 1249, 755, - 1250, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 5846, 1252, 260, 1253, 1254, 0, 263, 264, - 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, - 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 5847, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272, - 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, - 455, 456, 0, 457, 458, 0, 0, 1294, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 3476, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 40, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 44, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 1334, 598, 1335, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 1203, 620, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 49, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 3477, 645, 646, 647, 0, 0, + 0, 50, 234, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3478, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 1278, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 1294, 0, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 396, 397, 398, 399, 3473, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 3474, 1311, + 411, 412, 413, 414, 415, 416, 417, 3475, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 0, 459, 460, 461, 462, 0, 1321, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 859, 472, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 1298, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576, - 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, - 5848, 587, 588, 0, 1308, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 0, 1319, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1320, 1321, 0, 0, 0, 234, - 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 1251, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, - 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, - 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 5847, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, - 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 864, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, - 0, 345, 346, 347, 1274, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 1275, 0, 1276, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 384, 385, - 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, - 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 1284, 410, 411, - 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 1287, 435, 1288, 437, 438, - 439, 440, 441, 442, 443, 444, 1289, 446, 1290, 447, - 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, - 0, 457, 458, 0, 0, 1294, 460, 461, 0, 0, - 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 1297, 498, 499, - 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 1298, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545, - 546, 1300, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0, - 564, 565, 1302, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, - 579, 1306, 1307, 581, 582, 583, 584, 585, 5848, 587, - 588, 0, 1308, 589, 590, 591, 592, 593, 1309, 0, - 594, 595, 596, 597, 598, 599, 1310, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, - 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, - 1319, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, - 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252, - 260, 1253, 1254, 0, 263, 264, 265, 266, 267, 268, - 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 1268, 1269, 310, 5456, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345, - 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 0, 447, 448, 449, - 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, - 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 3251, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, - 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 624, 625, 626, 627, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3252, 3253, 0, 0, 0, 234, 0, 1246, 694, 3254, - 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, -2896, 1252, 260, 1253, - 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255, - 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 5847, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339, - 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347, - 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362, - 363, 0, 364, 365, 366, 367, 368, -2896, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277, - 1278, 0, 1279, 0, 392, 0, 0, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 1284, 410, 411, -2896, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442, - 443, 444, 1289, 446, 1290, 447, 448, 0, 450, 1291, - 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0, - 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 3476, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 1334, 598, 1335, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 3477, 645, + 646, 647, 0, 0, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3478, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 1278, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 1294, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 396, + 397, 398, 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 0, 1321, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, -2896, 545, 546, 1300, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303, - 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, - 582, 583, 584, 585, 5848, 587, 588, 0, 1308, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 624, 625, 626, 627, 0, -2896, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321, - 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, - 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, - 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270, - 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341, - 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0, - 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287, - 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 0, 447, 448, 449, 450, 1291, 1292, 452, - 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 1334, 598, 1335, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 620, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3922, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 1278, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 1294, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 396, 397, 398, 399, 3473, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 3474, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 0, 1321, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 3476, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 1334, + 598, 1335, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 3477, 645, 646, 647, + 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 1278, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 1294, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 0, 1321, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 3251, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0, - 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3252, 3253, 234, 0, - 1246, 694, 0, 1247, 1248, 3254, 755, 1250, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 1334, 598, 1335, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4923, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, - 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267, - 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, - 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 0, 297, 298, 299, 300, - 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, - 305, 306, 307, 1268, 1269, 310, 0, 311, 0, 312, - 313, 314, 315, 316, 317, 318, 0, 319, 320, 321, - 322, 0, 0, 323, 324, 864, 326, 327, 0, 328, - 329, 330, 0, 331, 332, 333, 0, 334, 335, 336, - 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, - 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352, - 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275, - 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 0, 374, 375, 376, 377, - 378, 379, 380, 381, 0, 382, 383, 384, 385, 386, - 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, - 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, - 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412, - 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439, - 440, 441, 442, 443, 444, 1289, 446, 0, 447, 448, - 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, - 457, 458, 0, 0, 459, 460, 461, 0, 0, 462, - 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296, - 482, 483, 484, 485, 486, 0, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500, - 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 515, 516, 517, 518, - 519, 520, 521, 522, 3428, 3429, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 0, 534, 535, 536, 537, - 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546, - 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564, - 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572, - 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, - 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588, - 0, 0, 589, 590, 591, 592, 593, 1309, 0, 594, - 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603, - 604, 605, 606, 0, 0, 607, 0, 0, 608, 609, - 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, - 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3430, 3431, 234, 0, 1246, 694, 0, 1247, 1248, - 3254, 755, 1250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, - 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270, - 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341, - 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0, - 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287, - 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 0, 447, 448, 449, 450, 1291, 1292, 452, - 1293, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 3251, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0, - 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 0, 0, 0, 234, 0, 1246, - 694, 0, 1247, 1248, 0, 755, 1250, 0, 0, 0, - 0, 0, 0, 0, 0, 3254, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252, - 260, 1253, 1254, 0, 263, 4672, 265, 266, 267, 268, - 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 1268, 1269, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345, - 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 0, 447, 448, 449, - 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501, + 259, 260, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 1278, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 1294, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 396, 397, 398, 399, 3473, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 0, + 459, 460, 461, 462, 0, 1321, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 3251, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, - 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 624, 625, 626, 627, 0, 0, 0, - 0, 234, 0, 1246, 694, 0, 1247, 1248, 0, 755, - 1250, 0, 0, 0, 0, 0, 0, 0, 0, 3254, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, - 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, - 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272, - 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 0, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 1334, 598, 1335, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 620, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 0, + 0, 0, 964, 0, 1602, 714, 0, 0, 0, 0, + 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6119, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 279, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 5905, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 1828, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 461, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 1829, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 3251, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576, - 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 4733, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 0, 0, 0, 0, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3254, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, - 1256, 270, 271, 272, 273, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 0, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 325, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 1272, 0, 344, 0, 345, 346, 347, - 348, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 361, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 0, 391, 0, 392, 393, 394, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 3402, 0, 408, 1284, 410, 411, 412, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 1289, 446, 0, 447, 448, 449, 450, 0, - 1292, 452, 453, 454, 455, 456, 0, 457, 458, 0, - 839, 459, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 1830, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 964, 0, 0, 0, + 0, 0, 0, 0, 0, 1603, 1604, 5906, 0, 0, + 0, 0, 0, 0, 5907, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 3, 4, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 279, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 419, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 0, 459, 460, + 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 3403, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 40, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 44, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 574, - 575, 0, 0, 576, 577, 1305, 579, 1306, 0, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 1181, 600, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 49, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 3404, 625, 626, 627, 0, 0, 0, 50, 234, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3405, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 0, 263, 264, 265, 266, - 267, 268, 269, 0, 1256, 270, 271, 272, 273, 274, - 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 325, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 1272, 0, 344, - 0, 345, 346, 347, 348, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 1275, 0, 361, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 0, 391, 0, 392, 393, - 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, - 404, 405, 406, 407, 3402, 0, 408, 1284, 410, 411, - 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 1289, 446, 0, 447, - 448, 449, 450, 0, 1292, 452, 453, 454, 455, 456, - 0, 457, 458, 0, 839, 459, 460, 461, 0, 0, - 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 40, + 550, 551, 552, 553, 554, 0, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 0, 582, 583, 0, 44, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 597, 598, 599, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 1203, 620, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 49, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 1043, 0, 0, 50, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 461, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 3403, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0, - 564, 565, 1302, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 574, 575, 0, 0, 576, 577, 1305, - 579, 1306, 0, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 1309, 0, - 594, 595, 596, 597, 598, 599, 600, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, - 619, 1315, 1316, 1317, 1318, 3404, 625, 626, 627, 0, - 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3405, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, - 263, 264, 265, 266, 267, 268, 269, 0, 1256, 270, - 271, 272, 273, 274, 0, 275, 276, 277, 278, 1259, - 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 325, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 1272, 0, 344, 0, 345, 346, 347, 348, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 1275, 0, 361, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 0, - 391, 0, 392, 393, 394, 395, 396, 397, 1280, 1281, - 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285, - 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 1289, 446, 0, 447, 448, 449, 450, 0, 1292, 452, - 453, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5656, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 574, 575, 0, - 0, 576, 577, 1305, 579, 1306, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599, - 600, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, - 625, 626, 627, 0, 0, 0, 0, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3841, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 1256, 270, 271, 272, 273, 274, 0, 275, - 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261, - 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 325, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 1272, 0, 344, 0, 345, - 346, 347, 348, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0, - 361, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 0, 391, 0, 392, 393, 394, 395, - 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0, - 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 1289, 446, 0, 447, 448, 449, - 450, 0, 1292, 452, 453, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 40, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 44, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 1203, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 49, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 50, 655, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, + 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 279, 0, 0, 0, 281, 282, + 283, 284, 285, 286, 0, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 0, 299, 300, + 301, 0, 0, 0, 2910, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 0, 0, 0, 358, 359, 360, 361, + 0, 362, 363, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 0, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 0, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 0, 0, 398, 0, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 419, 0, 421, 0, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 0, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, + 459, 460, 0, 462, 0, 463, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 859, 472, 473, 474, + 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 3403, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 1299, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565, - 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 574, 575, 0, 0, 576, 577, 1305, 579, 1306, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 1309, 0, 594, 595, - 596, 597, 598, 599, 600, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, - 1316, 1317, 1318, 3404, 625, 626, 627, 0, 0, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 1256, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 1272, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 0, 447, 448, 449, 450, 0, 1292, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 0, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 557, 558, 559, 0, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 0, 582, 583, 0, + 2911, 2912, 0, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 597, 598, 599, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 619, 620, 0, 621, 0, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 0, 0, + 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1862, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, + 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 279, 0, + 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 0, 299, 300, 301, 0, 0, 0, 0, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 0, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 0, 0, 0, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 0, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 0, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 0, 0, 398, 0, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 0, 421, 0, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 0, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 0, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 0, + 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 1305, 579, 1306, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 0, 0, 0, 0, 234, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4794, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, - 1256, 270, 271, 272, 273, 274, 0, 275, 276, 277, - 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, - 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 0, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 325, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 1272, 0, 344, 0, 345, 346, 347, - 348, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 1275, 0, 361, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 0, 391, 0, 392, 393, 394, 395, 396, 397, - 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414, - 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 1289, 446, 0, 447, 448, 449, 450, 0, - 1292, 452, 453, 454, 455, 456, 0, 457, 458, 0, - 0, 459, 460, 461, 0, 0, 462, 463, 464, 465, - 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 0, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 0, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 0, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 0, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 655, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1414, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, + 285, 286, 0, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 0, 299, 300, 301, 0, + 0, 0, 0, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 0, 0, 0, 358, 359, 360, 361, 0, 362, + 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 0, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 0, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 0, + 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 419, 0, 421, 0, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 0, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 0, 459, 460, + 0, 462, 0, 463, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 574, - 575, 0, 0, 576, 577, 1305, 579, 1306, 0, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, - 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597, - 598, 599, 600, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, - 1318, 624, 625, 626, 627, 0, 0, 0, 0, 942, - 0, 1572, 694, 0, 0, 0, 0, 755, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5949, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 0, 263, 264, 265, 266, - 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, - 0, 275, 276, 277, 278, 279, 0, 280, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 300, 0, 0, 0, 301, 0, 0, 0, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 325, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 1796, 344, - 0, 345, 346, 347, 348, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 360, 0, 361, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 0, 391, 0, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 409, 410, 411, - 412, 0, 413, 414, 415, 0, 0, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, - 448, 449, 450, 0, 451, 452, 453, 454, 455, 456, - 0, 457, 458, 1797, 0, 459, 460, 461, 0, 0, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 481, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 557, 558, + 559, 0, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 0, 582, 583, 0, 0, 584, + 0, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 597, 598, 599, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 619, 620, 0, 621, 0, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 0, 0, 0, 0, + 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3536, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, + 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, + 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 0, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, 0, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 0, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, 0, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 0, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 0, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 574, 575, 0, 0, 576, 577, 578, - 579, 580, 1798, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 0, 0, - 594, 595, 596, 597, 598, 599, 600, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 627, 0, - 0, 0, 0, 942, 0, 0, 0, 0, 0, 0, - 0, 0, 1573, 1574, 5755, 0, 0, 0, 0, 0, - 0, 5756, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 3, 4, 0, 0, 0, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, - 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, - 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, - 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 0, 0, 0, 301, 0, - 0, 0, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 325, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 0, 344, 0, 345, 346, 347, 348, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 360, 0, 361, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 0, - 391, 0, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 409, 410, 411, 412, 0, 413, 414, 415, 0, - 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 0, 447, 448, 449, 450, 0, 451, 452, - 453, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 528, 529, 530, 0, 531, 532, 0, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4211, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 40, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 562, 563, 0, 564, 565, 0, 44, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 574, 575, 0, - 0, 576, 577, 578, 579, 580, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 0, 0, 594, 595, 596, 597, 598, 1181, - 600, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 49, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 626, 627, 1021, 0, 0, 50, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 272, 273, 274, 0, 275, - 276, 277, 278, 279, 0, 280, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 0, - 0, 0, 301, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 325, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 0, 344, 0, 345, - 346, 347, 348, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 360, 0, - 361, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 0, 391, 0, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 409, 410, 411, 412, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 0, 447, 448, 449, - 450, 0, 451, 452, 453, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 481, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 574, 575, 0, 0, 576, 577, 578, 579, 580, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 599, 600, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 0, 0, 0, - 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5525, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 40, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 44, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 1181, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 49, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 0, 0, 0, 50, 635, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 56, 235, 236, 237, 238, 239, 240, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 0, 2114, 2115, 2116, 0, 4854, 2117, 2118, 2119, + 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, + 2130, 2131, 2132, 2133, 0, 2134, 2135, 2136, 2137, 2138, + 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, + 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, + 2159, 2160, 2161, 2162, 2163, 2164, 0, 0, 2165, 2166, + 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, + 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, + 2187, 2188, 2189, 2190, 2191, 2192, 0, 2193, 2194, 2195, + 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, + 2206, 2207, 0, 2208, 2209, 2210, 2211, 2212, 2213, 2214, + 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, + 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, + 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 0, + 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, + 2254, 2255, 0, 0, 2256, 2257, 2258, 2259, 0, 2260, + 2261, 2262, 2263, 2264, 0, 2265, 2266, 2267, 2268, 2269, + 0, 2270, 2271, 0, 2272, 2273, 2274, 0, 2275, 2276, + 0, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, + 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, + 2296, 2297, 2298, 2299, 2300, 2301, 2302, 0, 2303, 0, + 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, + 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, + 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, + 0, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, + 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 0, 2351, + 2352, 0, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, + 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, + 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, + 2381, 0, 2382, 2383, 2384, 0, 2385, 2386, 2387, 2388, + 2389, 0, 2390, 2391, 2392, 2393, 0, 0, 2394, 2395, + 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, + 2406, 2407, 2408, 2409, 2410, 2411, 0, 2412, 2413, 2414, + 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, + 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, + 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, + 2445, 0, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, + 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 0, + 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, + 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, + 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, + 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, + 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, + 2513, 2514, 2515, 0, 2516, 2517, 2518, 2519, 2520, 2521, + 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, + 0, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, + 2541, 2542, 2543, 2544, 2545, 2546, 2547, 0, 2548, 2549, + 2550, 2551, 2552, 2553, 0, 2554, 0, 0, 0, 0, + 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, + 2565, 2566, 2567, 2568, 2569, 0, 2570, 2571, 0, 2572, + 0, 0, 0, 0, 0, 0, 0, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 876, 0, 1602, + 714, 0, 0, 0, 979, 775, 0, 0, 0, 0, + 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 1740, 244, 245, 246, 1741, + 1742, 1743, 1744, 1745, 1746, 1747, 247, 248, 249, 1748, + 250, 251, 252, 253, 254, 255, 256, 257, 0, 877, + 260, 878, 879, 1749, 263, 264, 265, 266, 267, 268, + 269, 1750, 1751, 270, 271, 880, 881, 274, 1752, 275, + 276, 277, 278, 0, 1753, 280, 1754, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 1755, 292, + 293, 294, 295, 296, 297, 1756, 298, 299, 300, 301, + 1757, 1758, 1759, 302, 1760, 1761, 1762, 303, 304, 305, + 306, 307, 308, 882, 883, 311, 1763, 312, 1764, 313, + 314, 315, 316, 317, 318, 319, 1765, 320, 321, 322, + 323, 1766, 1767, 324, 325, 884, 327, 328, 1768, 329, + 330, 331, 332, 1769, 333, 334, 335, 336, 1770, 337, + 338, 339, 340, 0, 342, 343, 344, 345, 0, 1771, + 347, 1772, 348, 349, 350, 885, 352, 1773, 353, 1774, + 354, 355, 356, 1775, 357, 358, 359, 360, 361, 1776, + 362, 0, 1777, 0, 365, 366, 1778, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 1779, 377, 378, + 379, 380, 381, 382, 383, 384, 1780, 385, 386, 0, + 388, 389, 390, 391, 886, 887, 1781, 888, 1782, 395, + 396, 397, 398, 399, 889, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 412, 413, 414, 415, + 416, 417, 1783, 1784, 418, 0, 420, 421, 422, 1785, + 423, 424, 425, 1786, 1787, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 0, 437, 438, 439, 440, + 441, 442, 443, 444, 890, 446, 891, 448, 449, 450, + 451, 452, 453, 454, 455, 4535, 0, 458, 1788, 459, + 460, 461, 462, 1789, 0, 464, 892, 466, 467, 468, + 1790, 469, 470, 471, 1791, 1792, 4536, 473, 474, 1793, + 1794, 475, 476, 0, 478, 479, 480, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 1795, + 493, 494, 495, 0, 497, 0, 499, 500, 501, 1796, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 893, 514, 515, 516, 517, 1797, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 1798, 531, 532, 533, 534, 535, 536, 537, 538, 0, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 1799, 550, 551, 552, 553, 554, 1800, 555, 556, 2737, + 558, 559, 560, 561, 562, 895, 564, 1801, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 0, 581, 1802, 582, 583, 1803, 1804, + 584, 585, 586, 587, 588, 589, 590, 591, 1805, 592, + 896, 897, 1806, 1807, 595, 596, 0, 598, 0, 1808, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 1809, + 1810, 609, 610, 611, 612, 613, 1811, 1812, 614, 615, + 616, 617, 618, 0, 898, 1813, 621, 622, 623, 624, + 625, 626, 1814, 1815, 627, 1816, 1817, 628, 629, 630, + 631, 632, 633, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 645, 646, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 985, 986, 987, + 4537, 4538, 990, 991, 992, 993, 876, 0, 1602, 714, + 0, 0, 0, 979, 775, 0, 0, 0, 0, 0, + 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 1740, 244, 245, 246, 1741, 1742, + 1743, 1744, 1745, 1746, 1747, 247, 248, 249, 1748, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 1749, 263, 264, 265, 266, 267, 268, 269, + 1750, 1751, 270, 271, 880, 881, 274, 1752, 275, 276, + 277, 278, 0, 1753, 280, 1754, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 1755, 292, 293, + 294, 295, 296, 297, 1756, 298, 299, 300, 301, 1757, + 1758, 1759, 302, 1760, 1761, 1762, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 1763, 312, 1764, 313, 314, + 315, 316, 317, 318, 319, 1765, 320, 321, 322, 323, + 1766, 1767, 324, 325, 884, 327, 328, 1768, 329, 330, + 331, 332, 1769, 333, 334, 335, 336, 1770, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 1771, 347, + 1772, 348, 349, 350, 885, 352, 1773, 353, 1774, 354, + 355, 356, 1775, 357, 358, 359, 360, 361, 1776, 362, + 0, 1777, 0, 365, 366, 1778, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 1779, 377, 378, 379, + 380, 381, 382, 383, 384, 1780, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 1781, 888, 1782, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 1783, 1784, 418, 0, 420, 421, 422, 1785, 423, + 424, 425, 1786, 1787, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 4994, 0, 458, 1788, 459, 460, + 461, 462, 1789, 0, 464, 892, 466, 467, 468, 1790, + 469, 470, 471, 1791, 1792, 4536, 473, 474, 1793, 1794, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 1795, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 1796, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 1797, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 1798, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 1799, + 550, 551, 552, 553, 554, 1800, 555, 556, 2737, 558, + 559, 560, 561, 562, 895, 564, 1801, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 1802, 582, 583, 1803, 1804, 584, + 585, 586, 587, 588, 589, 590, 591, 1805, 592, 896, + 897, 1806, 1807, 595, 596, 0, 598, 0, 1808, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 1809, 1810, + 609, 610, 611, 612, 613, 1811, 1812, 614, 615, 616, + 617, 618, 0, 898, 1813, 621, 622, 623, 624, 625, + 626, 1814, 1815, 627, 1816, 1817, 628, 629, 630, 631, + 632, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 985, 986, 987, 4537, + 4538, 990, 991, 992, 993, 655, 0, 0, 0, 0, + 0, 0, 979, 0, 0, 0, 0, 0, 0, 980, + 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, - 0, 270, 271, 272, 273, 274, 0, 275, 276, 277, + 0, 270, 271, 272, 273, 274, 0, 275, 983, 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, 285, - 286, 0, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 0, 298, 299, 300, 0, 0, 0, - 2848, 0, 0, 0, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 0, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 325, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 0, 344, 0, 345, 346, 347, - 348, 349, 0, 350, 0, 351, 352, 0, 0, 0, - 355, 356, 357, 358, 0, 359, 360, 0, 361, 362, - 363, 0, 364, 365, 366, 367, 368, 0, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 0, 384, 385, 386, 387, 388, 389, - 390, 0, 391, 0, 392, 0, 0, 395, 0, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 409, 0, 411, 0, 0, 413, 414, - 415, 0, 0, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 0, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 0, 447, 448, 0, 450, 0, - 451, 452, 453, 454, 455, 456, 0, 457, 458, 0, - 839, 459, 460, 461, 0, 0, 462, 463, 464, 0, - 466, 0, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 481, 482, 483, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 0, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 0, 545, 546, 547, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 562, 563, 0, 564, 565, 0, 2849, - 2850, 0, 568, 569, 570, 571, 572, 0, 573, 574, - 575, 0, 0, 576, 577, 578, 579, 580, 0, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, - 590, 591, 592, 593, 0, 0, 594, 595, 596, 597, - 598, 599, 600, 0, 601, 0, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, - 623, 624, 625, 626, 627, 0, 0, 0, 0, 635, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1830, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, - 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, - 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, - 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, - 282, 283, 284, 285, 286, 0, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 0, 298, 299, - 300, 0, 0, 0, 0, 0, 0, 0, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 325, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 0, 344, - 0, 345, 346, 347, 348, 349, 0, 350, 0, 351, - 352, 0, 0, 0, 355, 356, 357, 358, 0, 359, - 360, 0, 361, 362, 363, 0, 364, 365, 366, 367, - 368, 0, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 0, 384, 385, - 386, 387, 388, 389, 390, 0, 391, 0, 392, 0, - 0, 395, 0, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 409, 0, 411, - 0, 0, 413, 414, 415, 0, 0, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 0, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, - 448, 0, 450, 0, 451, 452, 453, 454, 455, 456, - 0, 457, 458, 0, 0, 459, 460, 461, 0, 0, - 462, 463, 464, 0, 466, 0, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 481, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 0, - 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 0, 545, - 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, - 564, 565, 0, 0, 566, 0, 568, 569, 570, 571, - 572, 0, 573, 574, 575, 0, 0, 576, 577, 578, - 579, 580, 0, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 0, 0, - 594, 595, 596, 597, 598, 599, 600, 0, 601, 0, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 627, 0, - 0, 0, 0, 635, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1384, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, - 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, - 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, - 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 0, 298, 299, 300, 0, 0, 0, 0, 0, - 0, 0, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 325, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 0, 344, 0, 345, 346, 347, 348, 349, - 0, 350, 0, 351, 352, 0, 0, 0, 355, 356, - 357, 358, 0, 359, 360, 0, 361, 362, 363, 0, - 364, 365, 366, 367, 368, 0, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 0, 384, 385, 386, 387, 388, 389, 390, 0, - 391, 0, 392, 0, 0, 395, 0, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 409, 0, 411, 0, 0, 413, 414, 415, 0, - 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 0, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 0, 447, 448, 0, 450, 0, 451, 452, - 453, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 464, 0, 466, 0, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 481, 482, 483, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 286, 0, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 0, 299, 300, 301, 0, 0, + 0, 0, 0, 0, 0, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 0, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 326, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 0, 984, 0, + 348, 349, 350, 351, 352, 0, 353, 0, 354, 355, + 0, 0, 0, 358, 359, 360, 361, 0, 362, 363, + 0, 364, 365, 366, 0, 367, 368, 369, 370, 371, + 0, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 0, 387, 388, 389, + 390, 391, 392, 393, 0, 394, 0, 395, 0, 0, + 398, 0, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 419, 0, 421, 0, 0, 423, 424, + 425, 0, 0, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 445, 0, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 0, 459, 460, 0, + 462, 0, 463, 464, 465, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 472, 473, 474, 0, 0, 475, + 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 0, 555, 556, 557, 558, 559, + 0, 561, 562, 563, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 0, 582, 583, 0, 0, 584, 0, + 586, 587, 588, 589, 590, 591, 0, 592, 593, 594, + 0, 0, 595, 596, 597, 598, 599, 0, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 0, 609, + 610, 611, 612, 613, 0, 0, 614, 615, 616, 617, + 618, 619, 620, 0, 621, 0, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 985, 986, 987, 988, 989, + 990, 991, 992, 993, 655, 0, 0, 0, 0, 0, + 0, 979, 0, 0, 0, 0, 0, 0, 980, 981, + 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 1100, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 1101, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 0, 518, 519, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 0, 545, 546, 547, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 562, 563, 0, 564, 565, 0, 0, 566, 0, - 568, 569, 570, 571, 572, 0, 573, 574, 575, 0, - 0, 576, 577, 578, 579, 580, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 0, 0, 594, 595, 596, 597, 598, 599, - 600, 0, 601, 0, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 626, 627, 0, 0, 0, 0, 635, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3462, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, - 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 272, 273, 274, 0, 275, - 276, 277, 278, 279, 0, 0, 0, 281, 282, 283, - 284, 285, 286, 0, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 0, 298, 299, 300, 0, - 0, 0, 0, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 325, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 0, 344, 0, 345, - 346, 347, 348, 349, 0, 350, 0, 351, 352, 0, - 0, 0, 355, 356, 357, 358, 0, 359, 360, 0, - 361, 362, 363, 0, 364, 365, 366, 367, 368, 0, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 0, 384, 385, 386, 387, - 388, 389, 390, 0, 391, 0, 392, 0, 0, 395, - 0, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 409, 0, 411, 0, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 0, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 0, 447, 448, 0, - 450, 0, 451, 452, 453, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 0, 466, 0, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 481, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 0, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 0, 545, 546, 547, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 564, 565, - 0, 0, 566, 0, 568, 569, 570, 571, 572, 0, - 573, 574, 575, 0, 0, 576, 577, 578, 579, 580, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 599, 600, 0, 601, 0, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 0, 0, 0, - 0, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4123, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 0, 0, 0, 0, 856, 0, 1572, 694, 0, - 0, 0, 957, 755, 0, 0, 0, 0, 0, 958, - 959, 960, 0, 4750, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 1708, 244, 245, 246, 1709, 1710, 1711, - 1712, 1713, 1714, 1715, 247, 248, 249, 1716, 250, 251, - 252, 253, 254, 255, 256, 257, 0, 857, 260, 858, - 859, 1717, 263, 264, 265, 266, 267, 268, 269, 1718, - 1719, 270, 271, 860, 861, 274, 1720, 275, 276, 277, - 278, 0, 1721, 280, 1722, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 1723, 291, 292, 293, 294, - 295, 296, 1724, 297, 298, 299, 300, 1725, 1726, 1727, - 301, 1728, 1729, 1730, 302, 303, 304, 305, 306, 307, - 862, 863, 310, 1731, 311, 1732, 312, 313, 314, 315, - 316, 317, 318, 1733, 319, 320, 321, 322, 1734, 1735, - 323, 324, 864, 326, 327, 1736, 328, 329, 330, 1737, - 331, 332, 333, 1738, 334, 335, 336, 337, 0, 339, - 340, 341, 342, 0, 1739, 344, 1740, 345, 346, 347, - 865, 349, 1741, 350, 1742, 351, 352, 353, 1743, 354, - 355, 356, 357, 358, 1744, 359, 0, 1745, 0, 362, - 363, 1746, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 1747, 374, 375, 376, 377, 378, 379, 380, - 381, 1748, 382, 383, 0, 385, 386, 387, 388, 866, - 867, 1749, 868, 1750, 392, 393, 394, 395, 396, 397, - 0, 0, 0, 0, 402, 403, 404, 405, 406, 407, - 1751, 1752, 408, 0, 410, 411, 412, 1753, 413, 414, - 415, 1754, 1755, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 869, 435, 870, 437, 438, 439, 440, 441, 442, - 443, 4438, 0, 446, 1756, 447, 448, 449, 450, 1757, - 0, 452, 871, 454, 455, 456, 1758, 457, 458, 1759, - 1760, 4439, 460, 461, 1761, 1762, 462, 463, 0, 465, - 466, 467, 0, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 1763, 479, 480, 0, 482, 0, 484, - 485, 486, 1764, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 872, 498, 499, 500, 501, 1765, 502, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 1766, 515, 516, 517, 518, 519, 520, 521, - 522, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 1767, 534, 535, 536, 537, 538, 1768, 539, - 540, 2678, 542, 543, 544, 545, 546, 874, 548, 1769, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 0, 563, 1770, 564, 565, 1771, 1772, - 566, 567, 568, 569, 570, 571, 572, 1773, 573, 875, - 876, 1774, 1775, 576, 577, 0, 579, 0, 1776, 581, - 582, 583, 584, 585, 586, 587, 588, 1777, 1778, 589, - 590, 591, 592, 593, 1779, 1780, 594, 595, 596, 597, - 598, 0, 877, 1781, 601, 602, 603, 604, 605, 606, - 1782, 1783, 607, 1784, 1785, 608, 609, 610, 611, 612, - 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 625, 626, 627, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 963, 964, 965, 4440, 4441, - 968, 969, 970, 971, 856, 0, 1572, 694, 0, 0, - 0, 957, 755, 0, 0, 0, 0, 0, 958, 959, - 960, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 1708, 244, 245, 246, 1709, 1710, 1711, 1712, - 1713, 1714, 1715, 247, 248, 249, 1716, 250, 251, 252, - 253, 254, 255, 256, 257, 0, 857, 260, 858, 859, - 1717, 263, 264, 265, 266, 267, 268, 269, 1718, 1719, - 270, 271, 860, 861, 274, 1720, 275, 276, 277, 278, - 0, 1721, 280, 1722, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 1723, 291, 292, 293, 294, 295, - 296, 1724, 297, 298, 299, 300, 1725, 1726, 1727, 301, - 1728, 1729, 1730, 302, 303, 304, 305, 306, 307, 862, - 863, 310, 1731, 311, 1732, 312, 313, 314, 315, 316, - 317, 318, 1733, 319, 320, 321, 322, 1734, 1735, 323, - 324, 864, 326, 327, 1736, 328, 329, 330, 1737, 331, - 332, 333, 1738, 334, 335, 336, 337, 0, 339, 340, - 341, 342, 0, 1739, 344, 1740, 345, 346, 347, 865, - 349, 1741, 350, 1742, 351, 352, 353, 1743, 354, 355, - 356, 357, 358, 1744, 359, 0, 1745, 0, 362, 363, - 1746, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 1747, 374, 375, 376, 377, 378, 379, 380, 381, - 1748, 382, 383, 0, 385, 386, 387, 388, 866, 867, - 1749, 868, 1750, 392, 393, 394, 395, 396, 397, 0, - 0, 0, 0, 402, 403, 404, 405, 406, 407, 1751, - 1752, 408, 0, 410, 411, 412, 1753, 413, 414, 415, - 1754, 1755, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 869, 435, 870, 437, 438, 439, 440, 441, 442, 443, - 4888, 0, 446, 1756, 447, 448, 449, 450, 1757, 0, - 452, 871, 454, 455, 456, 1758, 457, 458, 1759, 1760, - 4439, 460, 461, 1761, 1762, 462, 463, 0, 465, 466, - 467, 0, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 1763, 479, 480, 0, 482, 0, 484, 485, - 486, 1764, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 872, 498, 499, 500, 501, 1765, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 1766, 515, 516, 517, 518, 519, 520, 521, 522, - 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 1767, 534, 535, 536, 537, 538, 1768, 539, 540, - 2678, 542, 543, 544, 545, 546, 874, 548, 1769, 549, - 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, - 560, 561, 0, 563, 1770, 564, 565, 1771, 1772, 566, - 567, 568, 569, 570, 571, 572, 1773, 573, 875, 876, - 1774, 1775, 576, 577, 0, 579, 0, 1776, 581, 582, - 583, 584, 585, 586, 587, 588, 1777, 1778, 589, 590, - 591, 592, 593, 1779, 1780, 594, 595, 596, 597, 598, - 0, 877, 1781, 601, 602, 603, 604, 605, 606, 1782, - 1783, 607, 1784, 1785, 608, 609, 610, 611, 612, 613, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 625, 626, 627, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 963, 964, 965, 4440, 4441, 968, - 969, 970, 971, 2072, 0, 0, 0, 0, 0, 0, - 2073, 0, 0, 2074, 0, 0, 0, 2075, 2076, 2077, - 0, 0, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, - 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 0, - 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, - 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, - 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, - 2125, 0, 0, 2126, 2127, 2128, 2129, 2130, 2131, 2132, - 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, - 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, - 0, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, - 2162, 2163, 2164, 2165, 2166, 2167, 0, 2168, 2169, 2170, - 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, - 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, - 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, - 2201, 0, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, - 2210, 2211, 2212, 2213, 0, 0, 2214, 2215, 2216, 2217, - 0, 2218, 2219, 2220, 2221, 2222, 0, 2223, 2224, 2225, - 2226, 2227, 0, 2228, 2229, 0, 2230, 2231, 2232, 0, - 2233, 2234, 0, 2235, 2236, 2237, 2238, 2239, 2240, 2241, - 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, - 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, 0, - 2261, 0, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, - 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, 2279, - 2280, 2281, 2282, 2283, 2284, 0, 2285, 2286, 2287, 2288, - 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, - 2299, 2300, 0, 2301, 2302, 0, 2303, 2304, 2305, 2306, - 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, - 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2325, 2326, - 2327, 2328, 2329, 2330, 0, 2331, 2332, 0, 2333, 2334, - 2335, 2336, 2337, 0, 2338, 2339, 2340, 2341, 0, 0, - 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, - 2352, 2353, 2354, 2355, 2356, 2357, 0, 2358, 2359, 2360, - 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, - 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, - 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, - 0, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, - 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 0, 2408, - 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, - 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2427, 2428, - 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, - 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, - 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 0, - 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, - 2468, 2469, 2470, 2471, 2472, 0, 2473, 2474, 2475, 2476, - 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 2489, 2490, 2491, 2492, 2493, 2494, 0, - 2495, 0, 0, 0, 0, 2496, 2497, 2498, 2499, 2500, - 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, - 0, 2511, 2512, 0, 2513, 0, 0, 0, 0, 0, - 0, 0, 0, 2514, 2515, 2516, 2517, 2518, 2519, 2520, - 2521, 2522, 635, 0, 0, 0, 0, 0, 0, 957, - 0, 0, 0, 0, 0, 0, 958, 959, 960, 0, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 655, 0, 0, 0, 0, 0, 0, + 979, 0, 0, 0, 0, 0, 0, 980, 981, 982, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 1166, 277, 278, 279, + 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 0, 299, 300, 301, 0, 0, 0, 0, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 1167, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 0, 0, + 0, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 1168, 0, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 0, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 0, 0, 398, 0, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 0, 421, 0, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 0, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 0, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 0, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 0, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 0, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 0, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 985, 986, 987, 988, 989, 990, 991, + 992, 993, 655, 0, 0, 0, 0, 0, 0, 979, + 0, 0, 0, 0, 0, 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, - 272, 273, 274, 0, 275, 961, 277, 278, 279, 0, + 272, 273, 274, 0, 275, 1845, 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, - 289, 290, 0, 291, 292, 293, 294, 295, 296, 0, - 0, 298, 299, 300, 0, 0, 0, 0, 0, 0, - 0, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 0, 311, 0, 312, 313, 314, 315, 316, 317, 318, - 0, 319, 320, 321, 322, 0, 0, 323, 324, 325, - 326, 327, 0, 328, 329, 330, 0, 331, 332, 333, - 0, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 0, 962, 0, 345, 346, 347, 348, 349, 0, - 350, 0, 351, 352, 0, 0, 0, 355, 356, 357, - 358, 0, 359, 360, 0, 361, 362, 363, 0, 364, - 365, 366, 367, 368, 0, 370, 371, 372, 373, 0, - 374, 375, 376, 377, 378, 379, 380, 381, 0, 382, - 0, 384, 385, 386, 387, 388, 389, 390, 0, 391, - 0, 392, 0, 0, 395, 0, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 0, 0, 408, - 409, 0, 411, 0, 0, 413, 414, 415, 0, 0, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 434, 0, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 0, 299, 300, 301, 0, 0, 0, 0, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 0, 1846, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 0, 0, 0, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 0, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 0, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 0, 0, 398, 0, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 0, 421, 0, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 0, 447, 448, 0, 450, 0, 451, 452, 453, - 454, 455, 456, 0, 457, 458, 0, 0, 459, 460, - 461, 0, 0, 462, 463, 464, 0, 466, 0, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 0, 479, 480, 481, 482, 483, 484, 485, 486, 0, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 0, - 515, 516, 0, 518, 519, 520, 521, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 0, - 534, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 0, 545, 546, 547, 548, 0, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 0, 564, 565, 0, 0, 566, 0, 568, - 569, 570, 571, 572, 0, 573, 574, 575, 0, 0, - 576, 577, 578, 579, 580, 0, 581, 582, 583, 584, - 585, 586, 587, 588, 0, 0, 589, 590, 591, 592, - 593, 0, 0, 594, 595, 596, 597, 598, 599, 600, - 0, 601, 0, 603, 604, 605, 606, 0, 0, 607, - 0, 0, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, - 626, 627, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 963, 964, 965, 966, 967, 968, 969, 970, - 971, 635, 0, 0, 0, 0, 0, 0, 957, 0, - 0, 0, 0, 0, 0, 958, 959, 960, 0, 0, + 0, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 0, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 0, + 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 0, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 0, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 0, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 0, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 655, 0, 0, 0, 0, 0, 0, 979, 0, + 0, 0, 0, 0, 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 1078, 277, 278, 279, 0, 0, + 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 1079, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 963, 964, 965, 966, 967, 968, 969, 970, 971, - 635, 0, 0, 0, 0, 0, 0, 957, 0, 0, - 0, 0, 0, 0, 958, 959, 960, 0, 0, 235, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 0, 299, 300, 301, 0, 0, 0, 0, 0, 0, + 0, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 326, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 0, 347, 0, 348, 349, 350, 351, + 352, 0, 353, 0, 354, 355, 0, 0, 0, 358, + 359, 360, 361, 0, 362, 363, 0, 364, 365, 366, + 0, 367, 368, 369, 370, 371, 0, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 0, 387, 388, 389, 390, 391, 392, 393, + 0, 394, 0, 395, 0, 0, 398, 0, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 419, + 0, 421, 0, 0, 423, 424, 425, 0, 0, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 445, 0, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 0, 459, 460, 0, 462, 0, 463, 464, + 465, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 477, 0, 479, + 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 0, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 0, 555, 556, 557, 558, 559, 0, 561, 562, 563, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 0, + 582, 583, 0, 0, 584, 0, 586, 587, 588, 589, + 590, 591, 0, 592, 593, 594, 0, 0, 595, 596, + 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 0, 0, 614, 615, 616, 617, 618, 619, 620, 0, + 621, 0, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 655, 0, 0, 0, 0, 0, 0, 979, 0, 0, + 0, 0, 0, 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 1144, 277, 278, 279, 0, 0, 0, + 274, 0, 275, 3601, 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 0, 298, - 299, 300, 0, 0, 0, 0, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 0, - 1145, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 0, 0, 0, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 1146, 0, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 0, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 0, 0, 395, 0, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 0, - 411, 0, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 0, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 0, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 0, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 0, 466, 0, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 0, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 0, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 0, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 0, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 963, 964, 965, 966, 967, 968, 969, 970, 971, 635, - 0, 0, 0, 0, 0, 0, 957, 0, 0, 0, - 0, 0, 0, 958, 959, 960, 0, 0, 235, 236, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 0, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 3602, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, 0, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 0, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, 0, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 0, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 0, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 0, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 655, + 0, 0, 0, 0, 0, 0, 979, 0, 0, 0, + 0, 0, 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, - 0, 275, 1813, 277, 278, 279, 0, 0, 0, 281, - 282, 283, 284, 285, 286, 0, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 0, 298, 299, - 300, 0, 0, 0, 0, 0, 0, 0, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 325, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 0, 1814, - 0, 345, 346, 347, 348, 349, 0, 350, 0, 351, - 352, 0, 0, 0, 355, 356, 357, 358, 0, 359, - 360, 0, 361, 362, 363, 0, 364, 365, 366, 367, - 368, 0, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 0, 384, 385, - 386, 387, 388, 389, 390, 0, 391, 0, 392, 0, - 0, 395, 0, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 409, 0, 411, - 0, 0, 413, 414, 415, 0, 0, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 0, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 0, 447, - 448, 0, 450, 0, 451, 452, 453, 454, 455, 456, - 0, 457, 458, 0, 0, 459, 460, 461, 0, 0, - 462, 463, 464, 0, 466, 0, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 481, 482, 483, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 0, - 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 0, 545, - 546, 547, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 0, - 564, 565, 0, 0, 566, 0, 568, 569, 570, 571, - 572, 0, 573, 574, 575, 0, 0, 576, 577, 578, - 579, 580, 0, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 0, 0, - 594, 595, 596, 597, 598, 599, 600, 0, 601, 0, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 627, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, - 964, 965, 966, 967, 968, 969, 970, 971, 635, 0, - 0, 0, 0, 0, 0, 957, 0, 0, 0, 0, - 0, 0, 958, 959, 960, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, - 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, - 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, - 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, - 268, 269, 0, 0, 270, 271, 272, 273, 274, 0, - 275, 276, 277, 278, 279, 0, 0, 0, 281, 282, - 283, 284, 285, 286, 0, 288, 289, 290, 0, 291, - 292, 293, 294, 295, 296, 0, 0, 298, 299, 300, - 0, 0, 0, 0, 0, 0, 0, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 0, 311, 0, 312, - 313, 314, 315, 316, 317, 318, 0, 319, 320, 321, - 322, 0, 0, 323, 324, 325, 326, 327, 0, 328, - 329, 330, 0, 331, 332, 333, 0, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 0, 344, 0, - 345, 346, 347, 348, 349, 0, 350, 0, 351, 352, - 0, 0, 0, 355, 356, 357, 358, 0, 359, 360, - 0, 361, 362, 363, 0, 364, 365, 366, 367, 368, - 0, 370, 371, 372, 373, 0, 374, 375, 376, 377, - 378, 379, 380, 381, 0, 382, 0, 384, 385, 386, - 387, 388, 389, 390, 0, 391, 0, 392, 0, 0, - 395, 0, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 0, 0, 408, 409, 0, 411, 0, - 0, 413, 414, 415, 0, 0, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 0, 436, 437, 438, 439, - 440, 441, 442, 443, 444, 445, 446, 0, 447, 448, - 0, 450, 0, 451, 452, 453, 454, 455, 456, 0, - 457, 458, 0, 0, 459, 460, 461, 0, 0, 462, - 463, 464, 0, 466, 0, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 0, 479, 480, 481, - 482, 483, 484, 485, 486, 0, 487, 488, 489, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 5638, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 0, 515, 516, 0, 518, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, - 529, 530, 531, 532, 533, 0, 534, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 0, 545, 546, - 547, 548, 0, 549, 550, 551, 552, 553, 554, 555, - 556, 557, 558, 559, 560, 561, 562, 563, 0, 564, - 565, 0, 0, 566, 0, 568, 569, 570, 571, 572, - 0, 573, 574, 575, 0, 0, 576, 577, 578, 579, - 580, 0, 581, 582, 583, 584, 585, 586, 587, 588, - 0, 0, 589, 590, 591, 592, 593, 0, 0, 594, - 595, 596, 597, 598, 599, 600, 0, 601, 0, 603, - 604, 605, 606, 0, 0, 607, 0, 0, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, - 620, 621, 622, 623, 624, 625, 626, 627, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 963, 964, - 965, 966, 967, 968, 969, 970, 971, 635, 0, 0, - 0, 0, 0, 0, 957, 0, 0, 0, 0, 0, - 0, 958, 959, 960, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 0, 255, 256, 257, 258, 259, - 0, 261, 262, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 272, 273, 274, 0, 275, - 3533, 277, 278, 279, 0, 0, 0, 281, 282, 283, - 284, 285, 286, 0, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 0, 298, 299, 300, 0, - 0, 0, 0, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 325, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 0, 3534, 0, 345, - 346, 347, 348, 349, 0, 350, 0, 351, 352, 0, - 0, 0, 355, 356, 357, 358, 0, 359, 360, 0, - 361, 362, 363, 0, 364, 365, 366, 367, 368, 0, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 0, 384, 385, 386, 387, - 388, 389, 390, 0, 391, 0, 392, 0, 0, 395, - 0, 397, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 409, 0, 411, 0, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 0, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 0, 447, 448, 0, - 450, 0, 451, 452, 453, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 464, 0, 466, 0, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 481, 482, - 483, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 0, 518, 519, - 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 0, 545, 546, 547, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 562, 563, 0, 564, 565, - 0, 0, 566, 0, 568, 569, 570, 571, 572, 0, - 573, 574, 575, 0, 0, 576, 577, 578, 579, 580, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 599, 600, 0, 601, 0, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, - 621, 622, 623, 624, 625, 626, 627, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 963, 964, 965, - 966, 967, 968, 969, 970, 971, 635, 0, 0, 0, - 0, 0, 0, 957, 0, 0, 0, 0, 0, 0, - 958, 959, 960, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, - 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, - 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, - 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, - 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, - 285, 286, 0, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 0, 298, 299, 300, 0, 0, - 0, 0, 0, 0, 0, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 0, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 0, - 0, 323, 324, 325, 326, 327, 0, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 0, 344, 0, 345, 346, - 347, 348, 349, 0, 350, 0, 351, 352, 0, 0, - 0, 355, 356, 357, 358, 0, 359, 360, 0, 361, - 362, 363, 0, 364, 365, 366, 367, 368, 0, 370, - 371, 372, 373, 0, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 0, 384, 385, 386, 387, 388, - 389, 390, 0, 391, 0, 392, 0, 0, 395, 0, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 409, 0, 411, 0, 0, 413, - 414, 415, 0, 0, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 0, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 0, 447, 448, 0, 450, - 0, 451, 452, 453, 454, 455, 456, 0, 457, 458, - 0, 0, 5504, 460, 461, 0, 0, 462, 463, 464, - 0, 466, 0, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 481, 482, 483, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 0, 518, 519, 520, - 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 0, 545, 546, 547, 548, - 0, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 0, 564, 565, 0, - 0, 566, 0, 568, 569, 570, 571, 572, 0, 573, - 574, 575, 0, 0, 576, 577, 578, 579, 580, 0, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 0, - 589, 590, 591, 592, 593, 0, 0, 594, 595, 596, - 597, 598, 599, 600, 0, 601, 0, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 1707, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 963, 964, 965, 966, - 967, 968, 969, 970, 971, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 1708, 244, 245, 246, 1709, 1710, - 1711, 1712, 1713, 1714, 1715, 247, 248, 249, 1716, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 1717, 263, 264, 265, 266, 267, 268, 269, - 1718, 1719, 270, 271, 272, 273, 274, 1720, 275, 276, - 277, 278, 279, 1721, 280, 1722, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 1723, 291, 292, 293, - 294, 295, 296, 1724, 297, 298, 299, 300, 1725, 1726, - 1727, 301, 1728, 1729, 1730, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 1731, 311, 1732, 312, 313, 314, - 315, 316, 317, 318, 1733, 319, 320, 321, 322, 1734, - 1735, 323, 324, 325, 326, 327, 1736, 328, 329, 330, - 1737, 331, 332, 333, 1738, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 1739, 344, 1740, 345, 346, - 347, 348, 349, 1741, 350, 1742, 351, 352, 353, 1743, - 354, 355, 356, 357, 358, 1744, 359, 360, 1745, 361, - 362, 363, 1746, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 1747, 374, 375, 376, 377, 378, 379, - 380, 381, 1748, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 1749, 391, 1750, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 1751, 1752, 408, 409, 410, 411, 412, 1753, 413, - 414, 415, 1754, 1755, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 1756, 447, 448, 449, 450, - 1757, 451, 452, 453, 454, 455, 456, 1758, 457, 458, - 1759, 1760, 459, 460, 461, 1761, 1762, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 1763, 479, 480, 481, 482, 483, - 484, 485, 486, 1764, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 1765, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 1766, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 1767, 534, 535, 536, 537, 538, 1768, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 1769, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 1770, 564, 565, 1771, - 1772, 566, 567, 568, 569, 570, 571, 572, 1773, 573, - 574, 575, 1774, 1775, 576, 577, 578, 579, 580, 1776, - 581, 582, 583, 584, 585, 586, 587, 588, 1777, 1778, - 589, 590, 591, 592, 593, 1779, 1780, 594, 595, 596, - 597, 598, 599, 600, 1781, 601, 602, 603, 604, 605, - 606, 1782, 1783, 607, 1784, 1785, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 635, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1786, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, - 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, - 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, - 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, - 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, - 285, 286, 0, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 0, 298, 299, 300, 0, 0, - 0, 0, 0, 0, 0, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 0, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 0, - 0, 323, 324, 325, 326, 327, 0, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 0, 344, 0, 345, 346, - 347, 348, 349, 0, 350, 0, 351, 352, 0, 0, - 0, 355, 356, 357, 358, 0, 359, 360, 0, 361, - 362, 363, 0, 364, 365, 366, 367, 368, 0, 370, - 371, 372, 373, 0, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 0, 384, 385, 386, 387, 388, - 389, 390, 0, 391, 0, 392, 0, 0, 395, 0, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 409, 0, 411, 0, 0, 413, - 414, 415, 0, 0, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 0, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 0, 447, 448, 0, 450, - 0, 451, 452, 453, 454, 455, 456, 0, 457, 458, - 0, 0, 459, 460, 461, 0, 0, 462, 463, 464, - 0, 466, 0, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 481, 482, 483, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 0, 518, 519, 520, - 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 0, 545, 546, 547, 548, - 0, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 0, 564, 565, 0, - 0, 566, 0, 568, 569, 570, 571, 572, 0, 573, - 574, 575, 0, 0, 576, 577, 578, 579, 580, 0, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 0, - 589, 590, 591, 592, 593, 0, 0, 594, 595, 596, - 597, 598, 599, 600, 0, 601, 0, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 635, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 845, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, - 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, - 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, - 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, - 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, - 285, 286, 0, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 0, 298, 299, 300, 0, 0, - 0, 0, 0, 0, 0, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 0, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 0, - 0, 323, 324, 325, 326, 327, 0, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 0, 344, 0, 345, 346, - 347, 348, 349, 0, 350, 0, 351, 352, 0, 0, - 0, 355, 356, 357, 358, 0, 359, 360, 0, 361, - 362, 363, 0, 364, 365, 366, 367, 368, 0, 370, - 371, 372, 373, 0, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 0, 384, 385, 386, 387, 388, - 389, 390, 0, 391, 0, 392, 0, 0, 395, 0, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 409, 0, 411, 0, 0, 413, - 414, 415, 0, 0, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 0, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 0, 447, 448, 0, 450, - 0, 451, 452, 453, 454, 455, 456, 0, 457, 458, - 0, 0, 459, 460, 461, 0, 0, 462, 463, 464, - 0, 466, 0, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 481, 482, 483, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 0, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 0, 518, 519, 520, - 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 0, 545, 546, 547, 548, - 0, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 562, 563, 0, 564, 565, 0, - 0, 566, 0, 568, 569, 570, 571, 572, 0, 573, - 574, 575, 0, 0, 576, 577, 578, 579, 580, 0, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 0, - 589, 590, 591, 592, 593, 0, 0, 594, 595, 596, - 597, 598, 599, 600, 0, 601, 0, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 856, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5919, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 1739, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 1740, 244, 245, + 246, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 247, 248, + 249, 1748, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 1749, 263, 264, 265, 266, + 267, 268, 269, 1750, 1751, 270, 271, 272, 273, 274, + 1752, 275, 276, 277, 278, 279, 1753, 280, 1754, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 1755, 292, 293, 294, 295, 296, 297, 1756, 298, 299, + 300, 301, 1757, 1758, 1759, 302, 1760, 1761, 1762, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 1763, 312, + 1764, 313, 314, 315, 316, 317, 318, 319, 1765, 320, + 321, 322, 323, 1766, 1767, 324, 325, 326, 327, 328, + 1768, 329, 330, 331, 332, 1769, 333, 334, 335, 336, + 1770, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 1771, 347, 1772, 348, 349, 350, 351, 352, 1773, + 353, 1774, 354, 355, 356, 1775, 357, 358, 359, 360, + 361, 1776, 362, 363, 1777, 364, 365, 366, 1778, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 1779, + 377, 378, 379, 380, 381, 382, 383, 384, 1780, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 1781, 394, + 1782, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 1783, 1784, 418, 419, 420, 421, + 422, 1785, 423, 424, 425, 1786, 1787, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 1788, 459, 460, 461, 462, 1789, 463, 464, 465, 466, + 467, 468, 1790, 469, 470, 471, 1791, 1792, 472, 473, + 474, 1793, 1794, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 1795, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 1796, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 1797, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 1798, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 1799, 550, 551, 552, 553, 554, 1800, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 1801, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 1802, 582, 583, + 1803, 1804, 584, 585, 586, 587, 588, 589, 590, 591, + 1805, 592, 593, 594, 1806, 1807, 595, 596, 597, 598, + 599, 1808, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 1809, 1810, 609, 610, 611, 612, 613, 1811, 1812, + 614, 615, 616, 617, 618, 619, 620, 1813, 621, 622, + 623, 624, 625, 626, 1814, 1815, 627, 1816, 1817, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1818, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 865, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6087, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6089, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 876, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6216, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 0, 877, 260, 878, 879, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 880, 881, 274, + 0, 275, 276, 277, 278, 0, 0, 280, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 0, 0, 0, 302, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 882, 883, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 0, 342, 343, 344, 345, + 0, 0, 347, 0, 348, 349, 350, 885, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 0, 0, 0, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 2733, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 2734, 388, 389, 390, 391, 886, 887, 0, 888, + 0, 395, 396, 397, 398, 399, 889, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 0, 420, 421, + 422, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 0, 437, 438, + 439, 440, 441, 442, 443, 444, 890, 446, 891, 448, + 449, 450, 451, 452, 453, 454, 455, 0, 0, 458, + 0, 459, 460, 461, 462, 0, 0, 464, 892, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 2735, 475, 476, 2736, 478, 479, 480, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 0, 497, 0, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 893, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 0, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 2737, 558, 559, 560, 561, 562, 895, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 0, 581, 0, 582, 583, + 0, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 896, 897, 0, 0, 595, 596, 0, 598, + 0, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 0, 898, 2738, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 0, 3959, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 645, 646, 647, 0, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 2739, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, - 251, 252, 253, 254, 255, 256, 257, 0, 857, 260, - 858, 859, 0, 263, 264, 265, 266, 267, 268, 269, - 0, 0, 270, 271, 860, 861, 274, 0, 275, 276, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 0, 291, 292, 293, - 294, 295, 296, 0, 297, 298, 299, 300, 0, 0, - 0, 301, 0, 0, 0, 302, 303, 304, 305, 306, - 307, 862, 863, 310, 0, 311, 0, 312, 313, 314, - 315, 316, 317, 318, 0, 319, 320, 321, 322, 0, - 0, 323, 324, 864, 326, 327, 0, 328, 329, 330, - 0, 331, 332, 333, 0, 334, 335, 336, 337, 0, - 339, 340, 341, 342, 0, 0, 344, 0, 345, 346, - 347, 865, 349, 0, 350, 0, 351, 352, 353, 0, - 354, 355, 356, 357, 358, 0, 359, 0, 0, 0, - 362, 363, 0, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 2674, 374, 375, 376, 377, 378, 379, - 380, 381, 0, 382, 383, 2675, 385, 386, 387, 388, - 866, 867, 0, 868, 0, 392, 393, 394, 395, 396, - 397, 0, 0, 0, 0, 402, 403, 404, 405, 406, - 407, 0, 0, 408, 0, 410, 411, 412, 0, 413, - 414, 415, 0, 0, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 869, 435, 870, 437, 438, 439, 440, 441, - 442, 443, 0, 0, 446, 0, 447, 448, 449, 450, - 0, 0, 452, 871, 454, 455, 456, 0, 457, 458, - 0, 0, 459, 460, 461, 0, 2676, 462, 463, 2677, - 465, 466, 467, 0, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 0, 479, 480, 0, 482, 0, - 484, 485, 486, 0, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 872, 498, 499, 500, 501, 0, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 0, 515, 516, 517, 518, 519, 520, - 521, 522, 0, 524, 525, 526, 527, 528, 529, 530, - 531, 532, 533, 0, 534, 535, 536, 537, 538, 0, - 539, 540, 2678, 542, 543, 544, 545, 546, 874, 548, - 0, 549, 550, 551, 552, 553, 554, 555, 556, 557, - 558, 559, 560, 561, 0, 563, 0, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 571, 572, 0, 573, - 875, 876, 0, 0, 576, 577, 0, 579, 0, 0, - 581, 582, 583, 584, 585, 586, 587, 588, 0, 0, - 589, 590, 591, 592, 593, 0, 0, 594, 595, 596, - 597, 598, 0, 877, 2679, 601, 602, 603, 604, 605, - 606, 0, 0, 607, 0, 0, 608, 609, 610, 611, - 612, 613, 0, 3878, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 625, 626, 627, 0, 0, 0, 0, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 2733, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 2734, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 0, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 2735, + 475, 476, 2736, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 2737, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 2738, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 0, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 645, 646, 647, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 2680, 244, 245, 246, 0, 0, 0, 0, 0, + 243, 2739, 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 0, 857, 260, 858, 859, 0, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, - 271, 860, 861, 274, 0, 275, 276, 277, 278, 0, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 0, 0, 0, 301, 0, - 0, 0, 302, 303, 304, 305, 306, 307, 862, 863, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 0, 339, 340, 341, - 342, 0, 0, 344, 0, 345, 346, 347, 865, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 0, 0, 0, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 2674, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 2675, 385, 386, 387, 388, 866, 867, 0, - 868, 0, 392, 393, 394, 395, 396, 397, 0, 0, - 0, 0, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 0, 410, 411, 412, 0, 413, 414, 415, 0, - 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 869, - 435, 870, 437, 438, 439, 440, 441, 442, 443, 0, - 0, 446, 0, 447, 448, 449, 450, 0, 0, 452, - 871, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 2676, 462, 463, 2677, 465, 466, 467, - 0, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 0, 482, 0, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 872, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 0, 539, 540, 2678, - 542, 543, 544, 545, 546, 874, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 0, 563, 0, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 875, 876, 0, - 0, 576, 577, 0, 579, 0, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 0, 0, 594, 595, 596, 597, 598, 0, - 877, 2679, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 0, - 942, 0, 1572, 694, 0, 0, 0, 0, 755, 2564, - 625, 626, 627, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 2680, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 2565, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 1796, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 1797, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 1798, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 942, 0, 1572, 694, 0, 0, 0, 0, 755, 2564, - 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 2570, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 1796, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 1797, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 1798, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 942, 0, 1572, 694, 0, 0, 0, 0, 755, 0, - 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 3494, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 1796, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 1797, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 1798, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 942, 0, 1572, 694, 0, 0, 0, 0, 755, 2564, - 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 1796, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 1797, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 1798, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 942, 0, 1572, 694, 0, 0, 0, 0, 755, 0, - 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 1796, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 1797, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 1798, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 635, 0, 0, 0, 0, 0, 0, 0, 755, 0, - 0, 0, 0, 1573, 1574, 0, 0, 0, 0, 235, - 236, 756, 238, 239, 240, 241, 242, 243, 757, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 0, 758, 256, - 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, - 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 0, 298, - 299, 300, 0, 0, 0, 0, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 0, - 344, 0, 345, 346, 759, 348, 349, 0, 350, 0, - 351, 760, 0, 761, 0, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 0, 370, 371, 372, 373, 762, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 0, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 0, 0, 395, 0, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 763, 0, 0, 408, 409, 0, - 411, 0, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 0, 436, 437, - 764, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 0, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 0, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 0, 466, 0, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 765, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 766, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 0, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 0, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 0, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 0, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 942, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 767, 768, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, - 245, 246, 3, 4, 0, 0, 0, 0, 0, 247, - 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, - 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, - 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 0, 291, 292, 293, 294, 295, 296, 0, 297, 298, - 299, 300, 0, 0, 0, 301, 0, 0, 0, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 0, 311, - 0, 312, 313, 314, 315, 316, 317, 318, 0, 319, - 320, 321, 322, 0, 0, 323, 324, 325, 326, 327, - 0, 328, 329, 330, 0, 331, 332, 333, 0, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 0, - 344, 0, 345, 346, 347, 348, 349, 0, 350, 0, - 351, 352, 353, 0, 354, 355, 356, 357, 358, 0, - 359, 360, 0, 361, 362, 363, 0, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 0, 374, 375, - 376, 377, 378, 379, 380, 381, 0, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 0, 391, 0, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 0, 0, 408, 409, 410, - 411, 412, 0, 413, 414, 415, 0, 0, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 0, - 447, 448, 449, 450, 0, 451, 452, 453, 454, 455, - 456, 0, 457, 458, 0, 0, 459, 460, 461, 0, - 0, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 0, 479, - 480, 481, 482, 483, 484, 485, 486, 0, 487, 488, - 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, - 527, 528, 529, 530, 531, 532, 533, 0, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 0, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 0, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 571, 572, 0, 573, 574, 575, 0, 0, 576, 577, - 578, 579, 580, 0, 581, 582, 583, 584, 585, 586, - 587, 588, 0, 0, 589, 590, 591, 592, 593, 0, - 0, 594, 595, 596, 597, 598, 599, 600, 0, 601, - 602, 603, 604, 605, 606, 0, 0, 607, 0, 0, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, - 1021, 1707, 0, 6190, 694, 0, 0, 0, 0, 755, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1708, - 244, 245, 246, 1709, 1710, 1711, 1712, 1713, 1714, 1715, - 247, 248, 249, 1716, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 1717, 263, 264, - 265, 266, 267, 268, 269, 1718, 1719, 270, 271, 272, - 273, 274, 1720, 275, 276, 277, 278, 279, 1721, 280, - 1722, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 1723, 291, 292, 293, 294, 295, 296, 1724, 297, - 298, 299, 300, 1725, 1726, 1727, 301, 1728, 1729, 1730, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 1731, - 311, 1732, 312, 313, 314, 315, 316, 317, 318, 1733, - 319, 320, 321, 322, 1734, 1735, 323, 324, 325, 326, - 327, 1736, 328, 329, 330, 1737, 331, 332, 333, 1738, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 1739, 344, 1740, 345, 346, 347, 348, 349, 1741, 350, - 1742, 351, 352, 353, 1743, 354, 355, 356, 357, 358, - 1744, 359, 360, 1745, 361, 362, 363, 1746, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 1747, 374, - 375, 376, 377, 378, 379, 380, 381, 1748, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 1749, 391, 1750, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 1751, 1752, 408, 409, - 410, 411, 412, 1753, 413, 414, 415, 1754, 1755, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 1756, 447, 448, 449, 450, 1757, 451, 452, 453, 454, - 455, 456, 1758, 457, 458, 1759, 1760, 459, 460, 461, - 1761, 1762, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 1763, - 479, 480, 481, 482, 483, 484, 485, 486, 1764, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 1765, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 1766, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 1767, 534, - 535, 536, 537, 538, 1768, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 1769, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 1770, 564, 565, 1771, 1772, 566, 567, 568, 569, - 570, 571, 572, 1773, 573, 574, 575, 1774, 1775, 576, - 577, 578, 579, 580, 1776, 581, 582, 583, 584, 585, - 586, 587, 588, 1777, 1778, 589, 590, 591, 592, 593, - 1779, 1780, 594, 595, 596, 597, 598, 599, 600, 1781, - 601, 602, 603, 604, 605, 606, 1782, 1783, 607, 1784, - 1785, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 1707, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1708, - 244, 245, 246, 1709, 1710, 1711, 1712, 1713, 1714, 1715, - 247, 248, 249, 1716, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 1717, 263, 264, - 265, 266, 267, 268, 269, 1718, 1719, 270, 271, 272, - 273, 274, 1720, 275, 276, 277, 278, 279, 1721, 280, - 1722, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 1723, 291, 292, 293, 294, 295, 296, 1724, 297, - 298, 299, 300, 1725, 1726, 1727, 301, 1728, 1729, 1730, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 1731, - 311, 1732, 312, 313, 314, 315, 316, 317, 318, 1733, - 319, 320, 321, 322, 1734, 1735, 323, 324, 325, 326, - 327, 1736, 328, 329, 330, 1737, 331, 332, 333, 1738, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 1739, 344, 1740, 345, 346, 347, 348, 349, 1741, 350, - 1742, 351, 352, 353, 1743, 354, 355, 356, 357, 358, - 1744, 359, 360, 1745, 361, 362, 363, 1746, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 1747, 374, - 375, 376, 377, 378, 379, 380, 381, 1748, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 1749, 391, 1750, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 1751, 1752, 408, 409, - 410, 411, 412, 1753, 413, 414, 415, 1754, 1755, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 1756, 447, 448, 449, 450, 1757, 451, 452, 453, 454, - 455, 456, 1758, 457, 458, 1759, 1760, 459, 460, 461, - 1761, 1762, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 1763, - 479, 480, 481, 482, 483, 484, 485, 486, 1764, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 1765, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 1766, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 1767, 534, - 535, 536, 537, 538, 1768, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 1769, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 1770, 564, 565, 1771, 1772, 566, 567, 568, 569, - 570, 571, 572, 1773, 573, 574, 575, 1774, 1775, 576, - 577, 578, 579, 580, 1776, 581, 582, 583, 584, 585, - 586, 587, 588, 1777, 1778, 589, 590, 591, 592, 593, - 1779, 1780, 594, 595, 596, 597, 598, 599, 600, 1781, - 601, 602, 603, 604, 605, 606, 1782, 1783, 607, 1784, - 1785, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 1707, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 3599, 241, 242, 243, 1708, - 244, 245, 246, 1709, 1710, 1711, 1712, 1713, 1714, 1715, - 247, 248, 249, 1716, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 1717, 263, 264, - 265, 266, 267, 268, 269, 1718, 1719, 270, 271, 272, - 273, 274, 1720, 275, 276, 277, 278, 279, 1721, 280, - 1722, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 1723, 291, 292, 293, 294, 295, 296, 1724, 297, - 298, 299, 300, 1725, 1726, 1727, 301, 1728, 1729, 1730, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 1731, - 311, 1732, 312, 313, 314, 315, 316, 317, 318, 1733, - 319, 320, 321, 322, 1734, 1735, 323, 324, 325, 3600, - 327, 1736, 328, 329, 330, 1737, 331, 332, 333, 1738, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 1739, 344, 1740, 345, 346, 347, 348, 349, 1741, 350, - 1742, 351, 352, 353, 1743, 354, 355, 356, 357, 358, - 1744, 359, 360, 1745, 361, 362, 363, 1746, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 1747, 374, - 375, 376, 377, 378, 379, 380, 381, 1748, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 1749, 391, 1750, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 1751, 1752, 408, 409, - 410, 411, 412, 1753, 413, 414, 415, 1754, 1755, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 1756, 447, 448, 449, 450, 1757, 451, 452, 453, 454, - 455, 456, 1758, 457, 458, 1759, 1760, 459, 460, 461, - 1761, 1762, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 1763, - 479, 480, 481, 482, 483, 484, 485, 486, 1764, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 1765, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 1766, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 1767, 534, - 535, 536, 537, 538, 1768, 3601, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 1769, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 1770, 564, 565, 1771, 1772, 566, 567, 568, 569, - 570, 571, 572, 1773, 573, 574, 575, 1774, 1775, 576, - 577, 578, 579, 580, 1776, 581, 582, 583, 584, 585, - 586, 587, 588, 1777, 1778, 589, 590, 591, 592, 593, - 1779, 1780, 594, 595, 596, 597, 598, 599, 600, 1781, - 601, 602, 603, 604, 605, 606, 1782, 1783, 607, 1784, - 1785, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 2624, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 2629, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 3568, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 776, 238, 239, 240, 241, 242, + 243, 777, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 0, 778, 256, 257, 258, 259, 0, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 0, 299, 300, 301, 0, 0, 0, 0, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 347, 0, 348, 349, + 779, 351, 352, 0, 353, 0, 354, 780, 0, 781, + 0, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 0, 373, + 374, 375, 376, 782, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 0, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 0, 0, 398, 0, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 783, 0, 0, + 418, 419, 0, 421, 0, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 0, 447, 448, 449, 784, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 0, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 785, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 786, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 0, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 0, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 0, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 0, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 787, 788, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 3, 4, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 1043, 1739, 0, 6405, 714, 0, 0, + 0, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 327, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 1256, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 1259, 0, 1260, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 1272, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 1275, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284, - 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446, - 0, 447, 448, 449, 450, 0, 1292, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301, - 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 1305, 579, 1306, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 1309, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312, - 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, - 627, 234, 0, 1246, 694, 0, 1247, 1248, 0, 755, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 327, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 1739, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 3676, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 3677, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 3678, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 1257, - 1258, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 1291, 451, 452, 1293, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576, - 577, 578, 579, 580, 1307, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 1310, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 981, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1002, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 1003, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 1278, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 1294, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 0, 1321, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 1334, 598, 1335, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 234, 0, 1268, 714, 0, 1269, + 1270, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 6379, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 1320, 463, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 597, 598, 599, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 2941, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1003, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 3949, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 694, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1024, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1025, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 1796, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 1797, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 1798, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3004, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 4030, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 1097, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1828, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 1829, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 1830, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1139, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1152, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1119, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 943, 301, 0, 0, 944, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1164, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 1165, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 945, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 694, 0, 0, 0, 0, 0, - 2547, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 2548, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 694, 0, 0, 0, 0, 0, - 1366, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 694, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1161, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1174, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1186, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1187, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 2606, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 2607, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 1396, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1123, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1136, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1150, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 234, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1145, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1154, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 942, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1158, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 449, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1172, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 2713, 275, 276, 277, 278, 279, 0, 0, - 2782, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 2714, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 2783, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 2716, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 2784, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 2717, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 2718, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1176, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 2713, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 2714, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 2783, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 2716, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 3812, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 2717, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 2718, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 774, - 244, 775, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 776, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 807, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 777, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 778, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 774, - 244, 775, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 776, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 3501, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 777, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 778, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 2713, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 2714, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 2783, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 2716, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 2717, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 2718, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 774, - 244, 775, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 776, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 777, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 778, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 3017, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 2848, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 839, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 2849, 2850, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1974, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 1975, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 1976, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 1977, 351, 352, 0, 0, 0, 1978, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 1979, 1980, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 1981, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 1982, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 1983, 522, 523, 524, 525, - 526, 527, 1984, 529, 530, 531, 532, 533, 0, 1985, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 1986, 566, 0, 1987, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 1988, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 2839, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 2843, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 775, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 776, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 777, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 778, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 3893, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 2848, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 839, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 2849, 2850, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 995, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 996, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 839, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 694, 0, 0, 0, 0, 0, - 1368, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 3580, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 3581, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 3593, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 3594, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 636, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 685, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 686, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 799, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 800, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 801, 575, 0, 0, 802, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 833, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 834, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 835, 575, 0, 0, 836, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 827, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 839, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 897, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 952, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 953, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1115, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1357, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 3575, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 1370, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 1371, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 824, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 1361, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 827, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1516, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 839, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 1577, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1578, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 799, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 3351, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 3352, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 3353, 566, 0, 568, 3354, - 570, 3355, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 3356, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 755, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3080, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 2910, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2911, 2912, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 2006, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 2007, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 2008, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2009, 354, 355, 0, + 0, 0, 2010, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 2011, 2012, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 2013, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 2014, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 2015, 538, 539, 540, 541, 542, + 543, 2016, 545, 546, 547, 548, 549, 0, 2017, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2018, 584, 0, 2019, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 2020, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 4159, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 2910, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2911, 2912, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1017, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1018, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 714, 0, 0, + 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3657, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3658, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3670, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3671, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 656, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 705, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 706, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 819, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 820, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 821, 594, 0, + 0, 822, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 853, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 854, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 855, 594, 0, + 0, 856, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 919, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 974, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 975, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1137, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1387, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 1400, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 1401, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1546, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1607, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1608, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 819, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 3422, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 3423, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 3424, 584, 0, 586, + 587, 3425, 589, 3426, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 3427, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 4173, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 4249, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 4830, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 4263, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 4902, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 4409, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 5258, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 4935, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 5008, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 791, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 5369, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 797, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 820, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 821, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 824, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 825, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 827, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 811, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 851, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 817, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 977, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 840, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 841, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 845, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 987, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 871, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 990, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 999, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1006, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1009, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1063, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1012, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1068, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1028, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1085, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1085, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1088, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1090, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1090, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1107, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1128, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1110, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1156, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1112, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1158, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1150, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1168, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1178, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1171, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1180, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1174, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1190, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 824, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 1361, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 827, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1193, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1839, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1196, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1873, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1875, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1871, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1915, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1905, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1917, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1907, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 1919, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1947, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 2013, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1949, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 2666, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 0, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1951, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 824, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 1361, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 2700, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 827, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 2045, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 2765, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 2766, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 2767, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 2725, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 0, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 2845, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 2766, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 2767, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 2759, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 2869, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 2766, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 2767, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2821, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3062, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2907, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3066, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2931, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3124, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3125, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3512, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3129, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 819, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 822, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 823, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 824, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 2766, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 826, 575, 0, 0, 2767, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 828, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3187, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3569, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3580, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3583, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3585, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3638, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 3733, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3660, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 3773, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3662, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 362, 363, 0, 364, 365, - 366, 367, 5016, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 635, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3812, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 3854, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, - 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, - 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, - 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 0, - 298, 299, 300, 0, 0, 0, 0, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 0, 344, 0, 345, 346, 347, 348, 349, 0, 350, - 0, 351, 352, 0, 0, 0, 355, 356, 357, 358, - 0, 359, 360, 0, 361, 0, 363, 0, 364, 365, - 366, 367, 368, 0, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 0, - 384, 385, 386, 387, 388, 389, 390, 0, 391, 0, - 392, 0, 0, 395, 0, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 409, - 0, 411, 0, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 0, 436, - 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 0, 447, 448, 0, 450, 0, 451, 452, 453, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 464, 0, 466, 0, 468, 469, - 470, 471, 472, 473, 474, 475, 0, 477, 478, 0, - 479, 480, 481, 482, 483, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 0, 496, 497, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 0, 518, 519, 520, 521, 522, 523, 0, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 0, 545, 546, 547, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 0, 564, 565, 0, 0, 566, 0, 568, 569, - 570, 571, 572, 0, 573, 574, 575, 0, 0, 576, - 577, 578, 579, 580, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 599, 600, 0, - 601, 0, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, - 627, 856, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 5122, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 857, 260, 858, 859, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 860, - 861, 274, 0, 275, 276, 277, 278, 0, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 862, 863, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 0, 339, 340, 341, 342, 0, - 0, 344, 0, 345, 346, 347, 865, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 0, 0, 0, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 2674, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 2675, 385, 386, 387, 388, 866, 867, 0, 868, 0, - 392, 393, 394, 395, 396, 397, 0, 0, 0, 0, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 0, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 869, 435, 870, - 437, 438, 439, 440, 441, 442, 443, 0, 0, 446, - 0, 447, 448, 449, 450, 0, 0, 452, 871, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 2677, 465, 466, 467, 0, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 0, 482, 0, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 872, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 2678, 542, 543, - 544, 545, 546, 874, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 0, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 875, 876, 0, 0, 576, - 577, 0, 579, 0, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 0, 877, 2679, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 856, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 625, 626, - 627, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 857, - 260, 858, 859, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 860, 861, 274, 0, 275, - 276, 277, 278, 0, 0, 280, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 0, - 0, 0, 301, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 862, 863, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 0, 339, 340, 341, 342, 0, 0, 344, 0, 345, - 346, 347, 865, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 0, 0, - 0, 362, 363, 0, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 0, 385, 386, 387, - 388, 866, 867, 0, 868, 0, 392, 393, 394, 395, - 396, 397, 0, 0, 0, 0, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 0, 410, 411, 412, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 869, 435, 870, 437, 438, 439, 440, - 441, 442, 443, 0, 0, 446, 0, 447, 448, 449, - 450, 2761, 0, 452, 871, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 0, 465, 466, 467, 0, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 0, 482, - 0, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 872, 498, 499, 500, 501, - 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 2678, 542, 543, 544, 545, 546, 874, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 0, 563, 0, 564, 565, - 0, 4539, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 875, 876, 0, 0, 576, 577, 0, 579, 0, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 0, 877, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 856, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 625, 626, 627, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 0, 857, 260, 858, 859, 0, - 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, - 271, 860, 861, 274, 0, 275, 276, 277, 278, 0, - 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 0, 0, 0, 301, 0, - 0, 0, 302, 303, 304, 305, 306, 307, 862, 863, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 0, 339, 340, 341, - 342, 0, 0, 344, 0, 345, 346, 347, 865, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 0, 0, 0, 362, 363, 0, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 0, 385, 386, 387, 388, 866, 867, 0, - 868, 0, 392, 393, 394, 395, 396, 397, 0, 0, - 0, 0, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 0, 410, 411, 412, 0, 413, 414, 415, 0, - 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 869, - 435, 870, 437, 438, 439, 440, 441, 442, 443, 2835, - 0, 446, 0, 447, 448, 449, 450, 0, 0, 452, - 871, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 0, 465, 466, 467, - 0, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 0, 482, 0, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 872, 498, 499, 500, 501, 0, 502, 503, 504, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 6344, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 0, 539, 540, 873, - 542, 543, 544, 545, 546, 874, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 0, 563, 0, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 875, 876, 0, - 0, 576, 577, 0, 579, 0, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 0, 0, 594, 595, 596, 597, 598, 0, - 877, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 856, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 625, 626, 627, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 0, 857, 260, 858, 859, 0, 263, 264, 265, 266, - 267, 268, 269, 0, 0, 270, 271, 860, 861, 274, - 0, 275, 276, 277, 278, 0, 0, 280, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 300, 0, 0, 0, 301, 0, 0, 0, 302, 303, - 304, 305, 306, 307, 862, 863, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 864, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 0, 339, 340, 341, 342, 0, 0, 344, - 0, 345, 346, 347, 865, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 0, 0, 0, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 0, 385, - 386, 387, 388, 866, 867, 0, 868, 0, 392, 393, - 394, 395, 396, 397, 0, 0, 0, 0, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 0, 410, 411, - 412, 0, 413, 414, 415, 0, 0, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 869, 435, 870, 437, 438, - 439, 440, 441, 442, 443, 4334, 0, 446, 0, 447, - 448, 449, 450, 0, 0, 452, 871, 454, 455, 456, - 0, 457, 458, 0, 0, 459, 460, 461, 0, 0, - 462, 463, 0, 465, 466, 467, 0, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 0, 482, 0, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 872, 498, 499, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 0, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 0, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 0, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 876, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 2733, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 2734, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 2736, 478, 479, 480, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 2737, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 2738, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 877, 260, 878, 879, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 880, 881, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 882, 883, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 885, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 886, 887, 0, + 888, 0, 395, 396, 397, 398, 399, 889, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 890, 446, 891, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 2817, 0, 464, 892, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 0, 539, 540, 873, 542, 543, 544, 545, - 546, 874, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 0, 563, 0, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 875, 876, 0, 0, 576, 577, 0, - 579, 0, 0, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 0, 0, - 594, 595, 596, 597, 598, 0, 877, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 856, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 625, 626, 627, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 0, 857, 260, 858, - 859, 0, 263, 264, 265, 266, 267, 268, 269, 0, - 0, 270, 271, 860, 861, 274, 0, 275, 276, 277, - 278, 0, 0, 280, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 0, 0, 0, - 301, 0, 0, 0, 302, 303, 304, 305, 306, 307, - 862, 863, 310, 0, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 0, 339, - 340, 341, 342, 0, 0, 344, 0, 345, 346, 347, - 865, 349, 5864, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 0, 0, 0, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 0, 385, 386, 387, 388, 866, - 867, 0, 868, 0, 392, 393, 394, 395, 396, 397, - 0, 0, 0, 0, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 0, 410, 411, 412, 0, 413, 414, - 415, 0, 0, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 869, 435, 870, 437, 438, 439, 440, 441, 442, - 443, 0, 0, 446, 0, 447, 448, 449, 450, 0, - 0, 452, 871, 454, 455, 456, 0, 457, 458, 0, - 0, 459, 460, 461, 0, 0, 462, 463, 0, 465, - 466, 467, 0, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 0, 482, 0, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 872, 498, 499, 500, 501, 0, 502, + 509, 510, 511, 512, 893, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 2737, 558, 559, 560, 561, 562, 895, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, + 583, 0, 4636, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 896, 897, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 898, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 876, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, + 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 2897, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 0, 539, - 540, 873, 542, 543, 544, 545, 546, 874, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 0, 563, 0, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 875, - 876, 0, 0, 576, 577, 0, 579, 0, 0, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, - 590, 591, 592, 593, 0, 0, 594, 595, 596, 597, - 598, 0, 877, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 856, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 625, 626, 627, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 857, 260, 858, 859, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 860, - 861, 274, 0, 275, 276, 277, 278, 0, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 862, 863, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 864, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 0, 339, 340, 341, 342, 0, - 0, 344, 0, 345, 346, 347, 865, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 0, 0, 0, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 0, 385, 386, 387, 388, 866, 867, 0, 868, 0, - 392, 393, 394, 395, 396, 397, 0, 0, 0, 0, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 0, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 869, 435, 870, - 437, 438, 439, 440, 441, 442, 443, 0, 0, 446, - 0, 447, 448, 449, 450, 0, 0, 452, 871, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 0, 465, 466, 467, 0, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 0, 482, 0, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 872, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 873, 542, 543, - 544, 545, 546, 874, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 0, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 875, 876, 0, 0, 576, - 577, 0, 579, 0, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 0, 877, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 856, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 625, 626, - 627, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 247, 248, 249, 0, - 250, 251, 252, 253, 254, 255, 256, 257, 0, 857, - 260, 858, 859, 0, 263, 264, 265, 266, 267, 268, - 269, 0, 0, 270, 271, 860, 861, 274, 0, 275, - 276, 277, 278, 0, 0, 280, 0, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 0, 291, 292, - 293, 294, 295, 296, 0, 297, 298, 299, 300, 0, - 0, 0, 301, 0, 0, 0, 302, 303, 304, 305, - 306, 307, 862, 863, 310, 0, 311, 0, 312, 313, - 314, 315, 316, 317, 318, 0, 319, 320, 321, 322, - 0, 0, 323, 324, 864, 326, 327, 0, 328, 329, - 330, 0, 331, 332, 333, 0, 334, 335, 336, 337, - 0, 339, 340, 341, 342, 0, 0, 344, 0, 345, - 346, 347, 865, 349, 0, 350, 0, 351, 352, 353, - 0, 354, 355, 356, 357, 358, 0, 359, 0, 0, - 0, 362, 363, 0, 364, 365, 366, 367, 1130, 369, - 370, 371, 372, 373, 0, 374, 375, 376, 377, 378, - 379, 380, 381, 0, 382, 383, 0, 385, 386, 387, - 388, 866, 867, 0, 868, 0, 392, 393, 394, 395, - 396, 397, 0, 0, 0, 0, 402, 403, 404, 405, - 406, 407, 0, 0, 408, 0, 410, 411, 412, 0, - 413, 414, 415, 0, 0, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 869, 435, 870, 437, 438, 439, 440, - 441, 442, 443, 0, 0, 446, 0, 447, 448, 449, - 450, 0, 0, 452, 871, 454, 455, 456, 0, 457, - 458, 0, 0, 459, 460, 461, 0, 0, 462, 463, - 0, 465, 466, 467, 0, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 0, 479, 480, 0, 482, - 0, 484, 485, 486, 0, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 872, 498, 499, 500, 501, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 894, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 876, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 0, 877, 260, 878, 879, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 880, 881, 274, 0, 275, 276, 277, 278, 0, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 882, 883, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 0, 342, + 343, 344, 345, 0, 0, 347, 0, 348, 349, 350, + 885, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 0, 0, 0, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 0, 388, 389, 390, 391, 886, + 887, 0, 888, 0, 395, 396, 397, 398, 399, 889, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 0, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 0, 437, 438, 439, 440, 441, 442, 443, 444, 890, + 446, 891, 448, 449, 450, 451, 452, 453, 454, 455, + 4431, 0, 458, 0, 459, 460, 461, 462, 0, 0, + 464, 892, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 0, 478, + 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 0, 497, + 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 893, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 0, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 894, 558, 559, 560, 561, 562, + 895, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 0, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 896, 897, 0, 0, 595, + 596, 0, 598, 0, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 0, 898, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 876, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 646, 647, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 0, + 877, 260, 878, 879, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 880, 881, 274, 0, + 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 0, 0, 0, 302, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 882, 883, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 0, 342, 343, 344, 345, 0, + 0, 347, 0, 348, 349, 350, 885, 352, 6031, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 0, 0, 0, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 0, 388, 389, 390, 391, 886, 887, 0, 888, 0, + 395, 396, 397, 398, 399, 889, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 0, 420, 421, 422, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 0, 437, 438, 439, + 440, 441, 442, 443, 444, 890, 446, 891, 448, 449, + 450, 451, 452, 453, 454, 455, 0, 0, 458, 0, + 459, 460, 461, 462, 0, 0, 464, 892, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 0, 478, 479, 480, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 0, 524, 525, 526, 527, 528, 529, - 530, 531, 532, 533, 0, 534, 535, 536, 537, 538, - 0, 539, 540, 873, 542, 543, 544, 545, 546, 874, - 548, 0, 549, 550, 551, 552, 553, 554, 555, 556, - 557, 558, 559, 560, 561, 0, 563, 0, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 571, 572, 0, - 573, 875, 876, 0, 0, 576, 577, 0, 579, 0, - 0, 581, 582, 583, 584, 585, 586, 587, 588, 0, - 0, 589, 590, 591, 592, 593, 0, 0, 594, 595, - 596, 597, 598, 0, 877, 0, 601, 602, 603, 604, - 605, 606, 0, 0, 607, 0, 0, 608, 609, 610, - 611, 612, 613, 856, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 625, 626, 627, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, - 254, 255, 256, 257, 0, 857, 260, 858, 859, 0, - 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, - 271, 860, 861, 274, 0, 275, 276, 277, 278, 0, - 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 0, 291, 292, 293, 294, 295, 296, - 0, 297, 298, 299, 300, 0, 0, 0, 301, 0, - 0, 0, 302, 303, 304, 305, 306, 307, 862, 863, - 310, 0, 311, 0, 312, 313, 314, 315, 316, 317, - 318, 0, 319, 320, 321, 322, 0, 0, 323, 324, - 864, 326, 327, 0, 328, 329, 330, 0, 331, 332, - 333, 0, 334, 335, 336, 337, 0, 339, 340, 341, - 342, 0, 0, 344, 0, 345, 346, 347, 865, 349, - 0, 350, 0, 351, 352, 353, 0, 354, 355, 356, - 357, 358, 0, 359, 0, 0, 0, 362, 363, 0, - 364, 365, 366, 367, 1162, 369, 370, 371, 372, 373, - 0, 374, 375, 376, 377, 378, 379, 380, 381, 0, - 382, 383, 0, 385, 386, 387, 388, 866, 867, 0, - 868, 0, 392, 393, 394, 395, 396, 397, 0, 0, - 0, 0, 402, 403, 404, 405, 406, 407, 0, 0, - 408, 0, 410, 411, 412, 0, 413, 414, 415, 0, - 0, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 869, - 435, 870, 437, 438, 439, 440, 441, 442, 443, 0, - 0, 446, 0, 447, 448, 449, 450, 0, 0, 452, - 871, 454, 455, 456, 0, 457, 458, 0, 0, 459, - 460, 461, 0, 0, 462, 463, 0, 465, 466, 467, - 0, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 0, 479, 480, 0, 482, 0, 484, 485, 486, - 0, 487, 488, 489, 490, 491, 492, 493, 494, 495, - 496, 872, 498, 499, 500, 501, 0, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 0, 515, 516, 517, 518, 519, 520, 521, 522, 0, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 0, 534, 535, 536, 537, 538, 0, 539, 540, 873, - 542, 543, 544, 545, 546, 874, 548, 0, 549, 550, - 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, - 561, 0, 563, 0, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 571, 572, 0, 573, 875, 876, 0, - 0, 576, 577, 0, 579, 0, 0, 581, 582, 583, - 584, 585, 586, 587, 588, 0, 0, 589, 590, 591, - 592, 593, 0, 0, 594, 595, 596, 597, 598, 0, - 877, 0, 601, 602, 603, 604, 605, 606, 0, 0, - 607, 0, 0, 608, 609, 610, 611, 612, 613, 856, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 625, 626, 627, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, - 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, - 0, 857, 260, 858, 859, 0, 263, 264, 265, 266, - 267, 268, 269, 0, 0, 270, 271, 860, 861, 274, - 0, 275, 276, 277, 278, 0, 0, 280, 0, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 0, - 291, 292, 293, 294, 295, 296, 0, 297, 298, 299, - 300, 0, 0, 0, 301, 0, 0, 0, 302, 303, - 304, 305, 306, 307, 862, 863, 310, 0, 311, 0, - 312, 313, 314, 315, 316, 317, 318, 0, 319, 320, - 321, 322, 0, 0, 323, 324, 864, 326, 327, 0, - 328, 329, 330, 0, 331, 332, 333, 0, 334, 335, - 336, 337, 0, 339, 340, 341, 342, 0, 0, 344, - 0, 345, 346, 347, 865, 349, 0, 350, 0, 351, - 352, 353, 0, 354, 355, 356, 357, 358, 0, 359, - 0, 0, 0, 362, 363, 0, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 0, 374, 375, 376, - 377, 378, 379, 380, 381, 0, 382, 383, 0, 385, - 386, 387, 388, 866, 867, 0, 868, 0, 392, 393, - 394, 395, 396, 397, 0, 0, 0, 0, 402, 403, - 404, 405, 406, 407, 0, 0, 408, 0, 410, 411, - 412, 0, 413, 414, 415, 0, 0, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 869, 435, 870, 437, 438, - 439, 440, 441, 442, 443, 0, 0, 446, 0, 447, - 448, 449, 450, 0, 0, 452, 871, 454, 455, 456, - 0, 457, 458, 0, 0, 459, 460, 461, 0, 0, - 462, 463, 0, 465, 466, 467, 0, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 0, 479, 480, - 0, 482, 0, 484, 485, 486, 0, 487, 488, 489, - 490, 491, 492, 493, 494, 495, 496, 872, 498, 499, + 511, 512, 893, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 894, 558, 559, 560, 561, 562, 895, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 896, 897, 0, 0, 595, 596, 0, 598, 0, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 0, 898, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 876, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 646, 647, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 6387, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 0, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 0, 478, 479, 480, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 894, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 877, 260, 878, 879, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 880, 881, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 882, 883, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 885, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 886, 887, 0, + 888, 0, 395, 396, 397, 398, 399, 889, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 890, 446, 891, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 0, 0, 464, 892, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 0, 515, 516, 517, - 518, 519, 520, 521, 522, 0, 524, 525, 526, 527, - 528, 529, 530, 531, 532, 533, 0, 534, 535, 536, - 537, 538, 0, 539, 540, 2678, 542, 543, 544, 545, - 546, 874, 548, 0, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 0, 563, 0, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 571, - 572, 0, 573, 875, 876, 0, 0, 576, 577, 0, - 579, 0, 0, 581, 582, 583, 584, 585, 586, 587, - 588, 0, 0, 589, 590, 591, 592, 593, 0, 0, - 594, 595, 596, 597, 598, 0, 877, 0, 601, 602, - 603, 604, 605, 606, 0, 0, 607, 0, 0, 608, - 609, 610, 611, 612, 613, 856, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 625, 626, 627, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, - 252, 253, 254, 255, 256, 257, 0, 857, 260, 858, - 859, 0, 263, 264, 265, 266, 267, 268, 269, 0, - 0, 270, 271, 860, 861, 274, 0, 275, 276, 277, - 278, 0, 0, 280, 0, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 0, 291, 292, 293, 294, - 295, 296, 0, 297, 298, 299, 300, 0, 0, 0, - 301, 0, 0, 0, 302, 303, 304, 305, 306, 307, - 862, 863, 310, 0, 311, 0, 312, 313, 314, 315, - 316, 317, 318, 0, 319, 320, 321, 322, 0, 0, - 323, 324, 864, 326, 327, 0, 328, 329, 330, 0, - 331, 332, 333, 0, 334, 335, 336, 337, 0, 339, - 340, 341, 342, 0, 0, 344, 0, 345, 346, 347, - 865, 349, 0, 350, 0, 351, 352, 353, 0, 354, - 355, 356, 357, 358, 0, 359, 0, 0, 0, 362, - 363, 0, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 0, 374, 375, 376, 377, 378, 379, 380, - 381, 0, 382, 383, 0, 385, 386, 387, 388, 866, - 867, 0, 868, 0, 392, 393, 394, 395, 396, 397, - 0, 0, 0, 0, 402, 403, 404, 405, 406, 407, - 0, 0, 408, 0, 410, 411, 412, 0, 413, 414, - 415, 0, 0, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 869, 435, 870, 437, 438, 439, 440, 441, 442, - 443, 0, 0, 446, 0, 447, 448, 449, 450, 0, - 0, 452, 871, 454, 455, 456, 0, 457, 458, 0, - 0, 459, 460, 461, 0, 0, 462, 463, 0, 465, - 466, 467, 0, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 0, 479, 480, 0, 482, 0, 484, - 485, 486, 0, 487, 488, 489, 490, 491, 492, 493, - 494, 495, 496, 872, 498, 499, 500, 501, 0, 502, + 509, 510, 511, 512, 893, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 894, 558, 559, 560, 561, 562, 895, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, + 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 896, 897, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 898, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 876, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, + 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 1152, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 0, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 0, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 0, 534, 535, 536, 537, 538, 0, 539, - 540, 0, 542, 543, 544, 545, 546, 874, 548, 0, - 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, - 559, 560, 561, 0, 563, 0, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 571, 572, 0, 573, 875, - 876, 0, 0, 576, 577, 0, 579, 0, 0, 581, - 582, 583, 584, 585, 586, 587, 588, 0, 0, 589, - 590, 591, 592, 593, 0, 0, 594, 595, 596, 597, - 598, 0, 877, 0, 601, 602, 603, 604, 605, 606, - 0, 0, 607, 0, 0, 608, 609, 610, 611, 612, - 613, 856, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 625, 626, 627, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, - 256, 257, 0, 0, 260, 0, 0, 0, 263, 264, - 265, 266, 267, 268, 269, 0, 0, 270, 271, 0, - 0, 274, 0, 275, 276, 277, 278, 0, 0, 280, - 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 0, 291, 292, 293, 294, 295, 296, 0, 297, - 298, 299, 300, 0, 0, 0, 301, 0, 0, 0, - 302, 303, 304, 305, 306, 307, 0, 0, 310, 0, - 311, 0, 312, 313, 314, 315, 316, 317, 318, 0, - 319, 320, 321, 322, 0, 0, 323, 324, 325, 326, - 327, 0, 328, 329, 330, 0, 331, 332, 333, 0, - 334, 335, 336, 337, 0, 339, 340, 341, 342, 0, - 0, 344, 0, 345, 346, 347, 0, 349, 0, 350, - 0, 351, 352, 353, 0, 354, 355, 356, 357, 358, - 0, 359, 0, 0, 0, 362, 363, 0, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 0, 374, - 375, 376, 377, 378, 379, 380, 381, 0, 382, 383, - 0, 385, 386, 387, 388, 0, 0, 0, 0, 0, - 392, 393, 394, 395, 396, 397, 0, 0, 0, 0, - 402, 403, 404, 405, 406, 407, 0, 0, 408, 0, - 410, 411, 412, 0, 413, 414, 415, 0, 0, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 0, 435, 0, - 437, 438, 439, 440, 441, 442, 443, 0, 0, 446, - 0, 447, 448, 449, 450, 0, 0, 452, 0, 454, - 455, 456, 0, 457, 458, 0, 0, 459, 460, 461, - 0, 0, 462, 463, 0, 465, 466, 467, 0, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 0, - 479, 480, 0, 482, 0, 484, 485, 486, 0, 487, - 488, 489, 490, 491, 492, 493, 494, 495, 496, 0, - 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 0, 524, 525, - 526, 527, 528, 529, 530, 531, 532, 533, 0, 534, - 535, 536, 537, 538, 0, 539, 540, 0, 542, 543, - 544, 545, 546, 0, 548, 0, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 0, - 563, 0, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 571, 572, 0, 573, 0, 0, 0, 0, 576, - 577, 0, 579, 0, 0, 581, 582, 583, 584, 585, - 586, 587, 588, 0, 0, 589, 590, 591, 592, 593, - 0, 0, 594, 595, 596, 597, 598, 0, 0, 0, - 601, 602, 603, 604, 605, 606, 0, 0, 607, 0, - 0, 608, 609, 610, 611, 612, 613, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 625, 626, - 627 -}; - -static const yytype_int16 yycheck[] = -{ - 6, 0, 0, 1016, 0, 0, 0, 56, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 0, 206, 0, 850, 988, 21, 21, 663, 817, - 214, 917, 1025, 217, 36, 211, 45, 820, 776, 777, - 778, 8, 1142, 189, 782, 51, 22, 736, 15, 1018, - 1629, 1502, 28, 1474, 911, 1005, 913, 873, 2718, 1564, - 2011, 891, 989, 844, 642, 695, 2660, 1020, 1548, 1014, - 1203, 3037, 810, 862, 863, 2661, 1541, 3010, 1250, 3360, - 1553, 3362, 871, 1091, 1237, 843, 1869, 3075, 216, 876, - 827, 740, 3452, 44, 3185, 2000, 3653, 1548, 3573, 929, - 6, 1697, 230, 1222, 197, 23, 3874, 1226, 2019, 2035, - 1229, 1230, 1594, 1595, 3546, 1065, 1598, 695, 36, 1069, - 1541, 3847, 2036, 3022, 1074, 3599, 954, 3601, 2034, 4187, - 4234, 2929, 955, 988, 1084, 3863, 3799, 3411, 3896, 644, - 3462, 4230, 997, 3405, 2069, 191, 2071, 4734, 1098, 175, - 741, 979, 1007, 2907, 716, 1431, 984, 719, 1941, 1664, - 1665, 1882, 4527, 4510, 742, 1531, 35, 731, 191, 2, - 5214, 4312, 4472, 42, 4750, 4504, 4752, 4515, 2536, 1129, - 5054, 5236, 940, 2541, 3426, 1658, 5046, 5342, 2645, 50, - 2577, 197, 4997, 823, 2647, 5041, 3472, 3228, 3460, 4799, - 206, 207, 1025, 5256, 2682, 2683, 938, 914, 214, 5390, - 216, 217, 1685, 3410, 4514, 3412, 3861, 795, 41, 2975, - 3314, 2977, 2978, 914, 230, 1591, 2982, 2983, 2984, 0, - 2986, 2987, 2988, 4209, 6, 11, 5378, 2624, 23, 5624, - 5045, 0, 1608, 0, 6, 823, 5299, 979, 0, 4673, - 12, 6, 984, 15, 16, 5339, 6, 0, 56, 37, - 11, 96, 12, 27, 3018, 15, 16, 6, 11, 155, - 848, 1029, 6, 6, 225, 1514, 13, 6, 12, 5306, - 5307, 860, 861, 12, 74, 2006, 15, 16, 31, 13, - 65, 870, 121, 40, 5608, 23, 6, 2045, 80, 6, - 148, 123, 12, 93, 176, 12, 6, 0, 121, 6, - 47, 6, 12, 39, 6, 12, 1494, 12, 11, 6, - 12, 1059, 6, 2618, 3, 12, 6, 45, 12, 200, - 908, 6, 12, 45, 0, 65, 170, 12, 31, 3, - 49, 143, 6, 80, 82, 27, 3, 74, 12, 121, - 162, 1177, 4605, 4606, 4607, 21, 4609, 4610, 4611, 4612, - 4613, 114, 152, 121, 15, 126, 1848, 3, 82, 5, - 6, 82, 178, 5, 87, 11, 12, 141, 5, 11, - 5331, 1080, 172, 176, 11, 25, 154, 4528, 297, 221, - 56, 5846, 65, 65, 5507, 65, 176, 1096, 303, 6, - 297, 170, 278, 225, 176, 176, 126, 32, 318, 283, - 187, 192, 66, 92, 5260, 298, 646, 176, 65, 176, - 74, 141, 178, 169, 176, 152, 82, 5812, 136, 200, - 1375, 93, 1081, 176, 1387, 1443, 286, 93, 3548, 374, - 374, 200, 718, 200, 65, 172, 344, 1025, 200, 352, - 329, 37, 116, 151, 215, 429, 732, 200, 197, 141, - 282, 89, 1431, 429, 121, 167, 145, 206, 472, 95, - 5523, 176, 374, 34, 3265, 214, 3267, 3268, 217, 1268, - 1269, 262, 1435, 176, 5626, 121, 82, 663, 300, 5803, - 297, 339, 82, 299, 380, 200, 13, 1323, 311, 260, - 61, 403, 287, 93, 1293, 4834, 82, 200, 738, 13, - 82, 176, 138, 65, 154, 519, 126, 1304, 340, 5379, - 13, 176, 357, 172, 282, 191, 429, 137, 192, 31, - 47, 417, 31, 661, 65, 237, 38, 713, 166, 667, - 330, 31, 176, 126, 394, 519, 177, 245, 38, 313, - 1373, 679, 431, 519, 47, 1378, 1379, 429, 93, 287, - 176, 31, 339, 80, 13, 291, 1324, 465, 38, 155, - 5955, 176, 251, 459, 282, 49, 1402, 451, 334, 325, - 515, 515, 812, 358, 220, 354, 472, 80, 352, 472, - 1543, 216, 1183, 370, 248, 1353, 475, 378, 262, 123, - 406, 265, 183, 330, 513, 515, 183, 327, 517, 5722, - 496, 516, 248, 1243, 519, 491, 374, 183, 515, 6074, - 5571, 183, 390, 387, 436, 282, 5202, 126, 358, 515, - 287, 384, 215, 505, 313, 5719, 642, 30, 34, 128, - 5724, 5725, 1468, 1432, 193, 517, 459, 373, 519, 4312, - 648, 429, 648, 648, 1832, 661, 446, 429, 126, 6044, - 648, 667, 1517, 648, 648, 1243, 468, 515, 25, 5811, - 53, 404, 405, 679, 1624, 4338, 505, 1627, 1257, 1258, - 287, 515, 1695, 1696, 519, 358, 358, 519, 358, 695, - 451, 429, 456, 742, 700, 413, 1519, 519, 3808, 705, - 93, 413, 515, 709, 710, 387, 1529, 1396, 1635, 1288, - 716, 358, 718, 719, 378, 429, 215, 515, 429, 446, - 746, 5748, 515, 5147, 1579, 731, 732, 6112, 6042, 369, - 443, 513, 458, 505, 519, 517, 742, 358, 514, 519, - 1370, 420, 3037, 422, 519, 517, 741, 518, 1693, 458, - 390, 1579, 462, 515, 1461, 506, 507, 4483, 5618, 518, - 515, 518, 4237, 506, 507, 515, 518, 6152, 515, 451, - 1461, 917, 434, 429, 511, 518, 5622, 2016, 5959, 513, - 756, 515, 758, 517, 760, 178, 515, 511, 4345, 795, - 766, 519, 1370, 1616, 4351, 4523, 1619, 1620, 4524, 1615, - 1378, 1379, 4778, 770, 5946, 515, 358, 1539, 515, 496, - 497, 817, 818, 506, 507, 515, 1702, 823, 515, 5974, - 515, 496, 497, 515, 31, 518, 490, 358, 515, 1408, - 1409, 515, 65, 429, 27, 515, 1969, 788, 5891, 429, - 515, 451, 848, 1943, 850, 472, 519, 519, 1039, 519, - 515, 5904, 1036, 429, 505, 5108, 1040, 429, 1042, 905, - 1592, 1830, 513, 1039, 519, 4528, 517, 873, 451, 496, - 506, 507, 519, 1149, 506, 507, 1976, 1609, 4152, 506, - 507, 380, 905, 10, 515, 519, 13, 207, 1988, 895, - 17, 18, 19, 844, 429, 397, 216, 254, 519, 1598, - 5500, 4163, 908, 519, 6046, 4167, 472, 397, 907, 907, - 230, 907, 907, 907, 519, 907, 907, 907, 907, 907, - 907, 907, 907, 907, 907, 907, 907, 397, 907, 4574, - 907, 455, 931, 4027, 1210, 3834, 5810, 1030, 519, 3693, - 3694, 334, 519, 176, 3698, 1221, 4222, 5807, 141, 1648, - 1649, 1586, 451, 519, 4151, 429, 4153, 519, 4433, 355, - 114, 700, 1238, 25, 453, 6018, 515, 519, 170, 6111, - 709, 922, 4003, 369, 3431, 371, 359, 716, 371, 3432, - 719, 155, 648, 451, 458, 5790, 937, 3374, 519, 1812, - 851, 508, 509, 510, 511, 6050, 6051, 3475, 821, 3477, - 4432, 5806, 825, 2618, 508, 509, 510, 511, 54, 1514, - 1016, 1017, 1018, 506, 507, 508, 509, 510, 511, 1025, - 176, 3777, 2035, 42, 1030, 114, 114, 176, 23, 1035, - 1036, 6186, 303, 5362, 1040, 23, 1042, 56, 434, 432, - 1046, 434, 188, 10, 200, 438, 13, 154, 78, 300, - 17, 18, 19, 6, 34, 6, 1062, 506, 507, 508, - 509, 510, 511, 420, 10, 2018, 93, 13, 27, 5369, - 298, 17, 18, 19, 33, 741, 742, 3831, 25, 126, - 70, 205, 5956, 332, 337, 364, 1595, 5947, 126, 1598, - 289, 37, 449, 112, 121, 6, 4338, 311, 176, 6154, - 1106, 100, 1108, 1109, 27, 3463, 121, 3402, 301, 5685, - 3405, 121, 90, 2066, 262, 322, 6, 474, 90, 178, - 2865, 25, 12, 25, 993, 994, 2095, 4559, 5232, 27, - 10, 6175, 5273, 13, 5878, 4495, 6137, 17, 18, 19, - 1878, 374, 369, 1149, 151, 188, 27, 167, 41, 195, - 1849, 298, 33, 27, 200, 133, 369, 3452, 515, 121, - 40, 133, 257, 356, 357, 3460, 1851, 177, 215, 303, - 6, 1177, 299, 452, 116, 382, 65, 215, 6052, 417, - 6224, 298, 141, 182, 29, 369, 1871, 282, 1183, 402, - 417, 2017, 254, 2019, 387, 214, 6197, 318, 244, 2025, - 2945, 10, 1985, 1986, 1210, 2031, 2032, 52, 17, 18, - 19, 2037, 219, 1219, 421, 1221, 423, 1795, 141, 1186, - 2046, 1188, 25, 1190, 123, 1192, 2052, 1194, 1195, 1196, - 378, 464, 1238, 200, 1201, 278, 6110, 1243, 131, 905, - 299, 907, 114, 141, 472, 459, 116, 6121, 519, 1255, - 192, 185, 5590, 273, 453, 282, 223, 1946, 25, 278, - 141, 2682, 515, 417, 515, 295, 515, 141, 4234, 5616, - 472, 5636, 287, 283, 1323, 5043, 5605, 223, 2751, 6153, - 429, 1114, 5620, 390, 1290, 5614, 1975, 515, 278, 5589, - 1979, 1030, 287, 417, 468, 1984, 303, 1036, 1987, 287, - 3021, 1040, 2782, 1042, 5030, 2063, 6180, 254, 5036, 5067, - 104, 457, 374, 1319, 1320, 1321, 472, 1323, 4793, 5619, - 262, 3799, 192, 265, 235, 472, 25, 25, 417, 417, - 6204, 515, 299, 380, 287, 5664, 287, 1343, 316, 1848, - 2616, 661, 1906, 223, 316, 3, 392, 667, 1910, 311, - 254, 429, 254, 299, 313, 472, 2829, 376, 420, 679, - 25, 25, 1953, 1925, 1370, 1391, 1928, 1106, 2964, 1108, - 1109, 216, 1378, 1379, 1938, 355, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 519, 74, 449, 287, 278, - 313, 185, 262, 352, 515, 265, 1402, 287, 6142, 437, - 1446, 1447, 5989, 1449, 451, 2771, 278, 298, 2043, 5498, - 1586, 3889, 474, 451, 457, 463, 1978, 90, 380, 299, - 1982, 1983, 3037, 1446, 1447, 1431, 1449, 374, 387, 352, - 364, 60, 313, 121, 92, 356, 378, 44, 445, 313, - 258, 3366, 1448, 453, 422, 164, 1452, 1453, 13, 10, - 422, 254, 13, 515, 4776, 417, 17, 18, 19, 278, - 133, 4735, 1468, 5792, 387, 387, 387, 515, 1474, 358, - 374, 352, 374, 420, 5966, 3054, 388, 4739, 352, 345, - 125, 27, 4744, 121, 278, 4747, 47, 254, 146, 179, - 299, 188, 180, 54, 124, 292, 292, 459, 387, 312, - 123, 130, 449, 115, 3252, 3253, 387, 292, 378, 3257, - 472, 2016, 1463, 387, 1465, 80, 420, 1183, 420, 80, - 4994, 318, 318, 232, 515, 2538, 245, 474, 177, 3, - 4496, 188, 170, 318, 496, 1541, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 449, 92, 449, 490, 207, - 3298, 3299, 4540, 515, 28, 254, 254, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 196, 6059, 515, 278, - 474, 374, 474, 515, 5952, 5953, 1582, 222, 136, 113, - 138, 278, 387, 387, 200, 1251, 477, 2540, 134, 254, - 254, 198, 458, 205, 282, 141, 292, 519, 144, 287, - 387, 1600, 225, 515, 5708, 1271, 1605, 374, 3073, 1615, - 5273, 515, 5380, 515, 5943, 179, 313, 420, 92, 181, - 490, 278, 318, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 426, 232, 195, 0, 387, 1913, 457, 200, - 5368, 5966, 330, 316, 301, 335, 449, 2616, 3069, 234, - 125, 1927, 3073, 420, 5560, 352, 5562, 1323, 346, 282, - 5566, 5567, 320, 5721, 1940, 4421, 123, 431, 317, 6161, - 4426, 474, 146, 472, 1680, 374, 374, 39, 368, 278, - 1679, 390, 449, 244, 1683, 137, 248, 22, 369, 1695, - 1696, 1697, 382, 28, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 1654, 312, 4503, 134, 474, 742, 374, - 374, 6040, 515, 2706, 519, 519, 144, 340, 515, 515, - 519, 420, 420, 177, 282, 259, 200, 1911, 418, 263, - 515, 1922, 519, 207, 6059, 6113, 352, 387, 299, 515, - 356, 340, 451, 4497, 393, 1921, 1922, 222, 515, 422, - 449, 449, 209, 313, 164, 420, 420, 211, 446, 121, - 457, 795, 374, 215, 113, 170, 4732, 313, 519, 2595, - 451, 387, 226, 396, 31, 474, 474, 182, 6107, 387, - 1446, 1447, 344, 1449, 449, 449, 444, 3402, 242, 1795, - 3405, 390, 352, 123, 452, 200, 415, 455, 431, 4459, - 457, 1807, 348, 415, 368, 417, 352, 1900, 31, 474, - 474, 375, 1818, 101, 848, 329, 515, 515, 382, 515, - 301, 278, 171, 429, 1830, 282, 453, 387, 1834, 5887, - 123, 392, 313, 452, 4312, 245, 6161, 3452, 518, 4021, - 4022, 387, 475, 312, 2813, 3460, 320, 1853, 394, 354, - 515, 515, 451, 312, 418, 1861, 472, 5625, 207, 421, - 4338, 423, 2678, 1869, 3, 469, 505, 2043, 4163, 519, - 2839, 352, 4167, 519, 908, 2658, 440, 170, 517, 136, - 496, 5607, 1888, 2706, 294, 313, 313, 449, 515, 177, - 364, 1897, 164, 10, 1900, 225, 13, 1903, 170, 505, - 1906, 1907, 453, 465, 1910, 1911, 5634, 1913, 1914, 363, - 259, 517, 2875, 136, 263, 519, 209, 431, 387, 1925, - 4102, 1927, 1928, 211, 352, 121, 2781, 5833, 387, 124, - 47, 1937, 1938, 494, 1940, 1941, 5198, 54, 226, 4234, - 414, 303, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 6055, 282, 92, 242, 515, 181, 362, 1953, 178, - 387, 475, 158, 80, 515, 6, 37, 472, 82, 2938, - 444, 12, 1978, 245, 27, 5407, 1982, 1983, 452, 93, - 33, 455, 270, 464, 2033, 278, 278, 380, 1955, 282, - 1957, 496, 1959, 212, 1961, 463, 1963, 193, 3098, 371, - 1967, 196, 2000, 3954, 2000, 2000, 145, 2009, 5099, 297, - 340, 2017, 2000, 2019, 519, 2000, 2000, 204, 2024, 2025, - 2875, 3972, 294, 248, 417, 2031, 2032, 2033, 2034, 2035, - 2036, 2037, 149, 258, 2040, 3004, 2042, 5805, 2044, 2045, - 2046, 2047, 2048, 2049, 1995, 313, 2052, 515, 2054, 2055, - 4528, 3472, 2058, 6157, 5020, 303, 2879, 313, 2913, 5270, - 352, 3482, 434, 4996, 2887, 5823, 459, 2890, 2074, 2075, - 2076, 2077, 2958, 2959, 2960, 363, 5804, 3988, 195, 4005, - 348, 332, 151, 200, 352, 4011, 282, 2093, 141, 2095, - 153, 278, 2947, 371, 2012, 164, 352, 2855, 3563, 3678, - 2928, 170, 5035, 5314, 4010, 1600, 4020, 124, 4014, 4015, - 1605, 13, 251, 3285, 5588, 2853, 5015, 2855, 434, 387, - 5401, 472, 515, 313, 352, 82, 164, 244, 2706, 377, - 344, 387, 170, 291, 313, 5226, 93, 5228, 344, 202, - 3090, 155, 3563, 505, 313, 47, 313, 3930, 283, 284, - 219, 513, 313, 515, 516, 517, 434, 519, 1897, 387, - 3756, 1900, 352, 472, 5639, 453, 3762, 381, 519, 3651, - 465, 1910, 1911, 352, 313, 381, 245, 356, 80, 196, - 5948, 235, 299, 352, 1679, 352, 1925, 496, 1683, 1928, - 356, 352, 3161, 369, 313, 371, 421, 387, 423, 377, - 4495, 4496, 4958, 417, 4960, 4961, 4962, 245, 387, 348, - 519, 417, 352, 352, 2903, 515, 2905, 356, 387, 171, - 2909, 387, 472, 282, 449, 294, 2925, 3700, 287, 5661, - 4984, 2237, 4986, 352, 303, 758, 759, 760, 4143, 1978, - 763, 764, 765, 1982, 1983, 380, 496, 387, 387, 170, - 773, 465, 5218, 5613, 357, 207, 294, 515, 434, 465, - 31, 151, 472, 340, 56, 515, 5232, 516, 387, 261, - 519, 170, 3745, 194, 164, 392, 353, 6045, 2284, 338, - 170, 420, 417, 422, 387, 258, 496, 1953, 5569, 50, - 4038, 4039, 4040, 4041, 3466, 194, 4044, 4045, 4046, 4047, - 4048, 4049, 4050, 4051, 4052, 4053, 383, 3276, 170, 282, - 102, 434, 73, 3282, 85, 472, 272, 88, 29, 496, - 497, 354, 5, 94, 459, 3148, 3064, 5884, 11, 219, - 6056, 2337, 194, 472, 2000, 127, 19, 472, 515, 496, - 296, 52, 3041, 3042, 3043, 3044, 6212, 3046, 6214, 429, - 6, 122, 377, 145, 37, 245, 12, 149, 1592, 983, - 1680, 496, 4110, 4111, 4836, 3870, 380, 2033, 6234, 35, - 36, 4843, 3071, 453, 3023, 1609, 445, 494, 1002, 171, - 515, 1005, 5, 175, 421, 2051, 423, 151, 11, 506, - 507, 508, 509, 510, 511, 513, 97, 515, 190, 517, - 164, 496, 497, 417, 294, 510, 170, 71, 72, 180, - 515, 510, 517, 303, 5889, 5890, 515, 421, 517, 423, - 515, 756, 193, 758, 5390, 760, 5707, 516, 3254, 258, - 519, 766, 767, 768, 100, 206, 5525, 4732, 514, 258, - 3266, 5530, 5531, 519, 4739, 459, 380, 513, 515, 4744, - 517, 517, 4747, 151, 120, 219, 3145, 6183, 472, 516, - 508, 513, 519, 515, 6, 513, 164, 515, 3226, 517, - 12, 10, 170, 205, 13, 3361, 3302, 101, 17, 18, - 19, 245, 496, 417, 6, 10, 261, 5453, 13, 155, - 12, 6, 17, 18, 19, 287, 6, 12, 37, 6, - 194, 515, 12, 2779, 151, 12, 100, 434, 2514, 2515, - 2516, 2517, 2518, 2519, 2520, 2521, 2522, 164, 2524, 514, - 3346, 219, 6, 170, 519, 459, 120, 89, 12, 2535, - 294, 5, 2538, 1853, 5, 465, 6011, 11, 472, 303, - 11, 1861, 516, 61, 3367, 519, 338, 245, 4163, 1869, - 6, 2742, 4167, 177, 235, 445, 12, 2741, 6, 2743, - 2744, 155, 496, 5319, 12, 6, 2742, 515, 22, 517, - 297, 12, 219, 2579, 28, 302, 2242, 2583, 15, 16, - 2586, 515, 2588, 508, 2578, 2591, 3705, 211, 513, 2595, - 515, 472, 517, 474, 1914, 472, 294, 474, 245, 3386, - 3387, 297, 226, 979, 516, 303, 302, 519, 984, 421, - 2616, 423, 2618, 274, 275, 276, 277, 377, 242, 4234, - 955, 1941, 3549, 516, 6099, 516, 519, 3364, 519, 2635, - 516, 516, 403, 519, 519, 406, 4587, 516, 2644, 2645, - 519, 516, 515, 3473, 519, 2738, 270, 294, 3575, 463, - 2778, 101, 4603, 5641, 11, 516, 303, 516, 519, 3417, - 519, 1184, 15, 16, 1187, 2671, 1189, 2663, 1191, 472, - 1193, 474, 2678, 297, 1197, 516, 2682, 2683, 519, 369, - 370, 445, 348, 2689, 223, 516, 3321, 2693, 519, 516, - 1025, 2697, 519, 516, 3483, 3550, 519, 415, 223, 516, - 2706, 3654, 519, 4451, 4630, 4284, 2708, 472, 2710, 474, - 4636, 4637, 2618, 284, 380, 297, 516, 516, 2724, 519, - 519, 2727, 4505, 40, 6005, 5020, 3859, 177, 516, 374, - 516, 519, 2738, 519, 2740, 2741, 2864, 2743, 2744, 363, - 2746, 515, 5708, 516, 311, 62, 519, 445, 5502, 513, - 519, 417, 2758, 517, 348, 2056, 5510, 5511, 2059, 516, - 299, 211, 519, 516, 516, 516, 519, 519, 519, 35, - 36, 3626, 2778, 2779, 299, 516, 226, 4282, 519, 4284, - 516, 2787, 516, 519, 515, 519, 380, 4260, 421, 3367, - 423, 5882, 242, 459, 4274, 5273, 113, 463, 445, 2750, - 61, 4222, 516, 2809, 2810, 519, 472, 2813, 136, 380, - 138, 3500, 516, 380, 516, 519, 2944, 519, 3971, 516, - 270, 516, 519, 417, 519, 516, 496, 497, 519, 3798, - 496, 2837, 3840, 2839, 369, 370, 516, 2843, 10, 519, - 516, 13, 518, 5809, 5179, 4318, 417, 5182, 465, 515, - 417, 2857, 3802, 516, 516, 50, 519, 519, 2864, 516, - 492, 2867, 519, 369, 370, 459, 513, 2873, 516, 516, - 517, 519, 516, 516, 518, 47, 519, 6158, 472, 2618, - 4495, 4496, 54, 4134, 300, 4136, 203, 2893, 459, 369, - 370, 516, 459, 2899, 519, 5239, 5240, 3527, 2849, 5485, - 2906, 472, 496, 5198, 516, 472, 516, 519, 80, 519, - 4723, 3649, 4725, 363, 2920, 5393, 3654, 516, 2584, 516, - 519, 515, 519, 5218, 225, 496, 2902, 2933, 40, 496, - 516, 297, 2938, 519, 6215, 170, 516, 5232, 2944, 519, - 516, 492, 259, 519, 515, 516, 263, 518, 515, 3527, - 62, 516, 2618, 4168, 519, 4170, 2962, 2963, 2964, 517, - 516, 278, 2968, 519, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 516, 5676, 5677, 519, 149, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 297, 516, 2995, - 2996, 519, 1463, 5959, 1465, 312, 50, 2663, 3004, 2738, - 516, 113, 2741, 519, 2743, 2744, 5852, 5853, 3192, 5942, - 3194, 3195, 4517, 516, 516, 516, 519, 519, 519, 516, - 300, 516, 519, 195, 519, 492, 516, 516, 200, 519, - 519, 3037, 225, 516, 516, 4207, 519, 519, 1373, 516, - 357, 175, 519, 1378, 1379, 462, 516, 516, 516, 519, - 519, 519, 516, 516, 516, 519, 519, 519, 519, 516, - 3056, 4512, 519, 3069, 381, 54, 55, 3073, 4533, 508, - 10, 1406, 244, 13, 326, 515, 39, 17, 18, 19, - 1415, 515, 1417, 6049, 401, 516, 1421, 515, 519, 6055, - 3828, 203, 515, 1428, 516, 5390, 3189, 3796, 516, 61, - 176, 519, 4235, 4236, 516, 4074, 4239, 519, 516, 515, - 5704, 10, 4533, 516, 13, 221, 519, 4732, 17, 18, - 19, 221, 516, 516, 4739, 519, 519, 299, 4081, 4744, - 516, 3037, 4747, 519, 516, 352, 516, 519, 37, 519, - 516, 516, 515, 519, 519, 3321, 516, 259, 517, 519, - 476, 263, 515, 3159, 515, 3161, 3979, 3846, 5453, 200, - 516, 516, 74, 519, 519, 156, 278, 515, 80, 156, - 3176, 517, 3178, 297, 3804, 516, 3806, 3958, 519, 3185, - 200, 93, 352, 3189, 1519, 3191, 3192, 297, 3194, 3195, - 3196, 6157, 4137, 516, 1529, 156, 519, 156, 3204, 516, - 312, 516, 200, 3209, 519, 3254, 156, 4033, 297, 121, - 516, 123, 516, 519, 516, 519, 170, 519, 156, 3225, - 392, 3497, 3498, 2609, 2610, 2611, 3804, 4180, 3806, 516, - 516, 352, 519, 519, 243, 123, 297, 453, 1573, 1574, - 515, 4067, 291, 170, 516, 357, 3252, 3253, 3254, 74, - 3426, 3257, 282, 3302, 3943, 0, 40, 282, 3888, 3265, - 3266, 3267, 3268, 476, 4217, 515, 297, 282, 180, 381, - 3276, 4850, 50, 50, 282, 3281, 3282, 439, 3284, 282, - 3286, 1616, 92, 223, 1619, 1620, 313, 465, 465, 401, - 89, 434, 3298, 3299, 4120, 170, 3302, 209, 3037, 333, - 156, 5961, 156, 515, 156, 156, 156, 476, 156, 519, - 3888, 156, 156, 156, 156, 156, 156, 3323, 5613, 3325, - 156, 3327, 494, 170, 223, 156, 156, 93, 156, 156, - 297, 417, 515, 4283, 506, 507, 508, 509, 510, 511, - 3346, 40, 4311, 243, 4313, 3354, 3355, 3356, 4828, 170, - 10, 2671, 170, 13, 297, 100, 3405, 515, 515, 299, - 515, 3367, 170, 515, 515, 515, 515, 3643, 4337, 2689, - 282, 515, 289, 2693, 515, 287, 515, 2697, 515, 515, - 515, 473, 515, 515, 515, 5133, 515, 47, 515, 3665, - 3056, 309, 515, 515, 54, 515, 3402, 515, 515, 3405, - 299, 515, 515, 165, 2724, 5020, 151, 3456, 515, 221, - 515, 515, 3418, 5708, 515, 181, 515, 3423, 330, 164, - 80, 515, 4252, 4556, 515, 170, 519, 515, 40, 519, - 4219, 176, 3438, 104, 346, 40, 243, 182, 2758, 205, - 185, 40, 515, 39, 189, 427, 3452, 427, 513, 513, - 3189, 429, 429, 3192, 3460, 3194, 3195, 62, 2778, 429, - 515, 429, 176, 519, 170, 5416, 3472, 170, 294, 3475, - 292, 3477, 387, 70, 219, 517, 3482, 1812, 429, 4429, - 4407, 429, 248, 374, 429, 464, 245, 429, 374, 149, - 2810, 3497, 3498, 429, 429, 6155, 3402, 3503, 374, 3405, - 245, 429, 81, 429, 505, 429, 93, 374, 113, 156, - 297, 379, 240, 429, 5809, 4338, 429, 2837, 3524, 287, - 129, 3527, 429, 2843, 3530, 420, 318, 452, 297, 292, - 369, 4417, 3538, 429, 446, 195, 302, 2857, 193, 515, - 200, 515, 429, 3819, 2864, 3821, 3452, 2867, 93, 294, - 519, 129, 297, 2873, 3460, 313, 200, 3563, 303, 453, - 453, 156, 129, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 429, 2893, 429, 180, 429, 115, 129, 2899, - 429, 61, 61, 5198, 244, 267, 2906, 337, 3254, 301, - 337, 429, 429, 3599, 3600, 3601, 429, 429, 203, 337, - 2920, 420, 318, 5218, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 2933, 429, 360, 429, 5232, 3624, 49, - 4589, 318, 49, 3799, 2944, 429, 429, 3633, 429, 3635, - 519, 429, 429, 429, 429, 429, 3302, 3643, 429, 299, - 429, 429, 516, 520, 297, 5066, 223, 223, 223, 223, - 223, 223, 223, 223, 259, 421, 297, 423, 263, 3665, - 3326, 223, 223, 3402, 5959, 429, 3405, 439, 434, 515, - 40, 156, 417, 278, 297, 156, 3342, 121, 5426, 282, - 446, 156, 453, 449, 156, 464, 136, 10, 138, 156, - 13, 297, 2027, 2028, 17, 18, 19, 251, 3974, 282, - 445, 282, 282, 2038, 2039, 40, 170, 312, 5456, 515, - 515, 40, 162, 3452, 37, 136, 235, 138, 51, 376, - 156, 3460, 515, 3729, 469, 156, 471, 472, 453, 453, - 156, 156, 392, 291, 429, 2070, 3402, 286, 176, 3405, - 515, 162, 468, 267, 267, 3751, 13, 427, 493, 519, - 3756, 429, 357, 185, 6049, 515, 3762, 431, 4581, 515, - 6055, 515, 308, 516, 519, 3771, 265, 516, 513, 193, - 193, 516, 517, 518, 513, 5390, 381, 227, 378, 492, - 516, 1453, 492, 516, 516, 516, 3452, 232, 469, 519, - 3456, 219, 3798, 3799, 3460, 298, 401, 390, 3804, 519, - 3806, 453, 40, 453, 306, 61, 227, 516, 464, 374, - 515, 453, 232, 3819, 232, 3821, 287, 287, 4771, 429, - 170, 429, 429, 515, 274, 275, 276, 277, 287, 297, - 50, 281, 282, 396, 494, 3841, 297, 287, 5453, 3159, - 282, 243, 243, 243, 369, 4671, 506, 507, 508, 509, - 510, 511, 261, 274, 275, 276, 277, 297, 3178, 129, - 281, 3867, 6157, 429, 420, 3185, 287, 387, 519, 4685, - 200, 519, 5005, 194, 352, 297, 384, 3873, 297, 429, - 297, 472, 3888, 3889, 340, 429, 4575, 4576, 4577, 4578, - 4579, 303, 516, 40, 453, 223, 453, 4754, 235, 336, - 223, 505, 156, 292, 170, 3911, 40, 418, 172, 156, - 465, 384, 156, 3909, 515, 156, 292, 515, 453, 472, - 282, 337, 40, 5374, 3930, 282, 3877, 29, 297, 297, - 235, 292, 191, 191, 170, 40, 171, 235, 384, 170, - 282, 297, 476, 3949, 61, 200, 429, 3953, 200, 200, - 200, 200, 176, 264, 472, 519, 297, 291, 176, 519, - 176, 493, 458, 303, 309, 136, 319, 519, 3974, 176, - 517, 519, 4118, 515, 281, 516, 299, 516, 4766, 519, - 516, 429, 519, 516, 3990, 516, 436, 3993, 516, 516, - 0, 492, 3998, 515, 4000, 516, 258, 447, 5613, 516, - 516, 516, 516, 5508, 4010, 496, 516, 3958, 4014, 4015, - 519, 516, 516, 176, 4020, 436, 4966, 515, 4841, 516, - 515, 515, 4028, 515, 4030, 514, 447, 4033, 469, 515, - 514, 4037, 4038, 4039, 4040, 4041, 185, 519, 4044, 4045, - 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 495, 253, - 505, 4057, 4058, 4059, 451, 469, 4062, 297, 61, 205, - 459, 4067, 515, 297, 297, 156, 4072, 4116, 4074, 429, - 4076, 300, 515, 213, 429, 429, 515, 287, 4084, 159, - 429, 4087, 282, 4089, 156, 387, 406, 379, 156, 156, - 100, 379, 379, 5708, 205, 243, 159, 505, 297, 159, - 374, 4107, 429, 469, 4110, 4111, 453, 245, 320, 4115, - 4116, 320, 450, 159, 4120, 429, 4122, 4126, 4127, 4128, - 4129, 429, 4757, 403, 255, 429, 429, 255, 255, 429, - 429, 374, 429, 429, 429, 374, 4312, 374, 429, 429, - 129, 151, 374, 282, 156, 4143, 429, 4143, 4143, 4155, - 429, 49, 429, 516, 164, 4143, 514, 4163, 4143, 4143, - 170, 4167, 4338, 188, 387, 516, 176, 223, 516, 223, - 516, 301, 182, 516, 439, 185, 3, 40, 170, 189, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 50, - 114, 516, 170, 4199, 5809, 519, 515, 519, 516, 62, - 40, 4477, 4478, 156, 3524, 156, 170, 3873, 429, 219, - 4216, 505, 188, 292, 515, 156, 4222, 374, 374, 374, - 374, 5642, 374, 453, 384, 88, 453, 154, 4234, 154, - 519, 513, 223, 223, 147, 245, 4925, 4926, 223, 4928, - 223, 223, 223, 3909, 5992, 5993, 223, 4985, 223, 4255, - 113, 114, 223, 227, 360, 297, 297, 4163, 121, 61, - 297, 4167, 297, 13, 309, 176, 519, 464, 516, 446, - 516, 2606, 2607, 281, 516, 307, 446, 2612, 226, 226, - 304, 61, 419, 189, 294, 426, 514, 297, 5174, 360, - 516, 516, 458, 303, 91, 439, 515, 519, 170, 516, - 4306, 516, 516, 40, 3624, 4311, 4312, 4313, 453, 2644, - 2645, 453, 515, 515, 515, 235, 429, 180, 213, 61, - 420, 156, 5208, 88, 180, 403, 379, 439, 4234, 159, - 429, 4337, 4338, 429, 429, 374, 429, 429, 374, 352, - 203, 516, 516, 516, 5959, 5924, 515, 472, 515, 61, - 360, 420, 4528, 170, 297, 5324, 459, 80, 156, 114, - 208, 223, 439, 2035, 2036, 516, 223, 232, 223, 223, - 429, 2706, 705, 2045, 297, 476, 4352, 40, 4384, 515, - 515, 4387, 2054, 515, 318, 295, 519, 516, 4364, 297, - 3, 515, 439, 519, 46, 429, 259, 519, 731, 515, - 263, 516, 183, 182, 384, 114, 176, 417, 223, 516, - 145, 287, 516, 287, 287, 278, 287, 176, 516, 282, - 61, 470, 516, 10, 4163, 309, 13, 516, 4167, 516, - 470, 3751, 233, 519, 6049, 445, 318, 233, 226, 515, - 6055, 516, 516, 471, 505, 4451, 5546, 426, 5548, 312, - 4116, 515, 439, 515, 10, 2790, 292, 13, 176, 469, - 47, 471, 472, 429, 80, 472, 207, 54, 194, 194, - 61, 4477, 4478, 287, 287, 4481, 505, 4143, 420, 429, - 27, 519, 4488, 493, 74, 429, 33, 156, 519, 4495, - 4496, 47, 429, 80, 357, 4234, 429, 4163, 54, 4505, - 159, 4167, 5191, 513, 223, 516, 516, 517, 518, 515, - 128, 178, 121, 5202, 40, 200, 292, 515, 381, 40, - 384, 453, 4528, 172, 80, 4521, 282, 4533, 4534, 4535, - 292, 78, 384, 472, 61, 86, 472, 420, 401, 4545, - 403, 40, 6157, 406, 2879, 176, 297, 515, 5681, 4825, - 170, 300, 2887, 347, 519, 2890, 210, 221, 516, 516, - 516, 176, 149, 515, 5557, 458, 400, 2902, 5351, 61, - 516, 377, 40, 83, 93, 515, 137, 515, 201, 346, - 4586, 4757, 297, 4589, 429, 5718, 516, 134, 516, 4495, - 4496, 40, 156, 149, 141, 170, 156, 144, 5233, 515, - 429, 515, 40, 515, 287, 256, 5432, 453, 195, 4615, - 3930, 515, 515, 200, 515, 515, 515, 156, 384, 516, - 5446, 114, 40, 4629, 171, 516, 301, 176, 439, 3949, - 398, 5764, 5765, 3953, 398, 516, 170, 4643, 204, 195, - 4916, 5467, 113, 40, 200, 468, 516, 515, 5474, 515, - 5285, 458, 515, 193, 453, 515, 515, 244, 170, 420, - 207, 519, 420, 205, 515, 4671, 519, 278, 4674, 297, - 6, 515, 163, 516, 515, 370, 4682, 4683, 370, 4685, - 74, 476, 74, 300, 4690, 4691, 518, 137, 244, 4695, - 472, 142, 516, 468, 472, 458, 4702, 457, 167, 4705, - 4706, 167, 1035, 519, 37, 515, 4712, 515, 387, 257, - 420, 176, 299, 1046, 343, 5541, 5542, 287, 207, 420, - 5689, 297, 515, 297, 384, 40, 4732, 40, 300, 1062, - 515, 278, 300, 4739, 5557, 282, 178, 5013, 4744, 201, - 155, 4747, 4748, 299, 178, 292, 515, 369, 152, 4755, - 61, 61, 304, 40, 301, 10, 4495, 4496, 13, 353, - 4766, 61, 516, 5756, 425, 407, 313, 429, 4774, 126, - 451, 516, 4768, 4769, 6, 5464, 384, 515, 142, 37, - 287, 515, 425, 515, 5917, 5754, 26, 369, 4794, 4791, - 10, 519, 47, 13, 305, 519, 369, 83, 283, 54, - 176, 387, 429, 283, 515, 392, 4812, 155, 355, 356, - 398, 5774, 121, 3148, 398, 519, 515, 472, 458, 4825, - 459, 453, 472, 178, 178, 80, 4732, 47, 515, 4495, - 516, 5400, 458, 4739, 54, 459, 392, 907, 4744, 947, - 387, 4747, 3367, 2913, 994, 2822, 4852, 1682, 3575, 1379, - 993, 4311, 5985, 5986, 4286, 4521, 5908, 2939, 3790, 4835, - 80, 5550, 2993, 4869, 5327, 5754, 6026, 4475, 4874, 4845, - 0, 5697, 5374, 5699, 4284, 4881, 4284, 4975, 5350, 3504, - 3135, 5888, 5232, 6014, 5784, 5783, 1219, 5928, 6049, 5020, - 3508, 4897, 4496, 4522, 149, 4507, 5728, 4465, 4904, 3007, - 3007, 4306, 3838, 4491, 989, 3600, 5014, 494, 5357, 456, - 4916, 3882, 4558, 5654, 6122, 45, 6227, 6209, 5341, 506, - 507, 508, 509, 510, 511, 3798, 5940, 4530, 5287, 5528, - 5737, 1842, 5290, 18, 28, 4255, 644, 5497, 494, 1211, - 195, 4947, 3947, 4586, 4589, 200, 2683, 6118, 3023, 1886, - 506, 507, 508, 509, 510, 511, 3482, 5400, 4533, 5642, - 1883, 1921, 3893, 2635, 1897, 5543, 696, 4973, 2938, 3732, - 100, 4337, 729, 3651, 5966, 195, 6161, 4562, 2969, 5557, - 200, 1795, 4564, 4989, 2625, 5723, 1498, 6177, 4994, 244, - 4214, 838, 1395, 4732, 5494, 1354, 4770, 5881, 5274, 40, - 4739, 40, 3423, 3438, 1456, 4744, 4629, 5013, 4747, 4748, - 5869, 5701, 4152, 2635, 5020, 3405, 4169, 5199, 3402, 5453, - 1455, 151, 5452, 4215, 244, 1458, 6139, 3402, 5863, 5996, - 3365, 5688, 3367, 6026, 164, 1412, 5032, 5430, 2529, 4076, - 170, 5702, 3344, 5703, 299, 2530, 176, 2047, 3383, 3326, - 3205, 2968, 182, 3324, 3314, 185, 3240, 5233, 4013, 189, - 5066, -1, 5068, 2535, 4384, -1, 2623, 4387, -1, 895, - -1, -1, -1, 4739, -1, -1, -1, -1, 4744, 299, - -1, 4747, -1, -1, -1, 5720, -1, -1, -1, 219, - -1, 221, -1, 5099, 5285, 3430, 3431, 5273, -1, -1, - 5284, -1, 4768, 4769, -1, -1, 6, -1, -1, 5285, - -1, -1, -1, -1, 5020, 245, -1, -1, -1, -1, - -1, -1, -1, 23, 5130, 25, -1, 5133, -1, 29, - 5136, 5137, 5138, -1, 34, 35, 36, 392, 38, -1, - -1, 41, 42, -1, 44, 5329, 46, -1, -1, -1, - -1, -1, -1, 53, 54, 55, -1, 5163, 5164, -1, - -1, 5167, -1, -1, 294, -1, -1, 297, 4488, -1, - -1, -1, 392, 303, -1, -1, -1, -1, 5756, -1, - -1, -1, 5188, 6196, -1, 4505, -1, -1, 5194, -1, - -1, -1, 5198, -1, -1, 6164, -1, -1, 5204, 5205, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5218, -1, -1, 5221, -1, -1, -1, -1, - 5226, -1, 5228, -1, -1, -1, 5232, -1, -1, -1, - 360, -1, -1, -1, -1, -1, -1, -1, -1, 494, - 6209, -1, -1, -1, 5211, -1, -1, -1, -1, 1582, - 4989, 506, 507, 508, 509, 510, 511, -1, 6227, -1, - -1, -1, -1, -1, -1, -1, 4586, 5273, 5274, -1, - -1, -1, -1, -1, 494, -1, 6102, -1, 5284, -1, - -1, 5020, -1, 413, -1, -1, 506, 507, 508, 509, - 510, 511, 5198, -1, -1, -1, -1, 197, 198, 199, - -1, -1, 202, -1, -1, -1, 206, -1, 208, -1, - -1, 211, 5218, -1, 214, 445, -1, 217, 5324, -1, - 220, -1, 222, 5329, 6210, 225, 5232, -1, -1, 229, - 5908, 231, -1, -1, -1, -1, -1, -1, -1, 469, - -1, 471, 472, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5355, - -1, -1, -1, 493, -1, -1, 5032, 6105, 6106, -1, - -1, -1, -1, -1, -1, 6201, -1, -1, -1, -1, - -1, -1, -1, -1, 5390, -1, 516, 5393, 518, 519, - 5386, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5400, 5400, -1, 5400, 5400, 5400, -1, 5400, 5400, - 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, 5400, - 5426, 5400, -1, 5400, 5430, 5474, 5432, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5389, 40, - 5446, -1, -1, -1, -1, -1, -1, 5453, 6026, -1, - 5456, -1, -1, -1, -1, -1, -1, -1, -1, 5198, - -1, 5467, -1, 64, 3799, -1, -1, -1, 5474, -1, - -1, -1, -1, -1, 1807, -1, -1, -1, -1, 5218, - -1, -1, -1, -1, 5390, 1818, -1, 3822, -1, -1, - -1, -1, -1, 5232, -1, -1, -1, -1, 99, -1, - -1, 1834, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5525, - -1, -1, -1, -1, 5530, 5531, -1, -1, -1, 5535, - -1, -1, 5198, -1, -1, 5541, 5542, 5543, -1, -1, - -1, -1, -1, -1, 5720, 5284, -1, 5453, -1, 4869, - 27, 5557, -1, -1, -1, 1888, 33, -1, -1, 160, - -1, 4881, -1, -1, -1, -1, -1, -1, -1, -1, - 1903, 5577, -1, 1906, 1907, -1, -1, -1, -1, 5585, - 3252, 3253, 5588, -1, -1, 3257, -1, -1, -1, -1, - 5329, -1, -1, -1, -1, -1, 197, -1, -1, -1, - -1, 78, -1, -1, 1937, 1938, -1, 5613, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5615, - -1, -1, -1, -1, -1, -1, 3298, 3299, -1, -1, - -1, -1, -1, -1, 235, -1, 5642, 5643, -1, 240, - -1, -1, -1, -1, 3979, -1, -1, -1, -1, -1, - -1, 5390, -1, -1, -1, -1, -1, 134, -1, -1, - 5666, -1, -1, -1, 141, -1, -1, 144, 27, 5675, - 5676, 5677, -1, -1, 33, -1, -1, -1, -1, -1, - -1, 282, 5688, 5689, -1, -1, 5692, -1, -1, 5355, - -1, 5697, -1, 5699, 171, 5701, -1, -1, -1, -1, - -1, -1, 5708, -1, -1, -1, -1, 5613, -1, 5705, - -1, 5895, -1, 314, 5453, -1, -1, -1, -1, 78, - 5386, -1, -1, 5729, -1, -1, -1, -1, -1, -1, - 207, -1, -1, -1, 5400, -1, -1, -1, -1, -1, - -1, 2074, -1, 643, -1, -1, -1, -1, 5754, 649, - 5756, 651, -1, 653, -1, 356, 656, -1, -1, -1, - 361, -1, -1, 663, -1, -1, -1, -1, 668, 370, - 670, -1, -1, -1, -1, 134, 676, -1, 379, 5099, - -1, -1, 141, 5967, 5968, 144, 387, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 399, -1, - 700, 278, 5708, 5809, -1, 282, -1, 408, 5474, 709, - -1, 412, 171, 713, -1, 292, 716, -1, -1, 719, - -1, -1, -1, -1, 301, -1, -1, -1, -1, -1, - -1, 432, -1, -1, -1, 735, 313, -1, -1, -1, - 5846, -1, -1, -1, -1, -1, 5585, -1, 207, -1, - -1, -1, -1, 5859, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5869, -1, -1, 467, -1, -1, -1, - 471, -1, -1, 5879, 5613, 352, 5882, -1, 355, 356, - -1, -1, -1, -1, -1, -1, -1, -1, 788, 5895, - -1, -1, -1, -1, -1, -1, -1, 797, -1, -1, - -1, -1, 5908, 5809, -1, -1, 5226, -1, 5228, -1, - 387, -1, -1, -1, -1, -1, -1, 817, 818, 278, - 820, 821, -1, 282, -1, 825, -1, -1, -1, -1, - -1, -1, -1, 292, -1, -1, -1, -1, -1, 839, - -1, -1, 301, 5949, 844, 5941, -1, 5613, -1, 5615, - 850, -1, -1, 5959, 313, -1, -1, -1, -1, -1, - -1, 5967, 5968, -1, -1, -1, -1, 5973, -1, 5708, - 5966, 5966, -1, -1, -1, -1, -1, 4312, 5966, 456, - -1, 5966, 5966, -1, -1, -1, 5992, 5993, -1, -1, - -1, -1, -1, 352, -1, 895, 355, 356, -1, -1, - -1, -1, -1, 4338, -1, -1, -1, -1, -1, 909, - 6059, -1, -1, -1, -1, -1, -1, 4352, -1, -1, - 6026, -1, 922, -1, 40, -1, -1, -1, 387, 4364, - -1, -1, -1, 6217, 6218, -1, -1, 937, -1, 5705, - -1, -1, -1, 6049, -1, -1, -1, -1, 64, 6055, - -1, -1, -1, 5959, -1, -1, 956, -1, -1, -1, - -1, 961, 962, 6059, 6059, -1, -1, 6073, 6074, -1, - 5809, 6059, -1, -1, 6059, 6059, -1, -1, -1, -1, - -1, -1, 6088, 99, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 993, 994, -1, 6102, 456, -1, -1, - -1, -1, -1, -1, -1, 4440, 4441, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1016, 1017, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1030, 6137, 1032, -1, -1, -1, 1036, 0, -1, 1039, - 1040, -1, 1042, 6049, 160, -1, -1, 1047, -1, 6055, - -1, 6157, -1, -1, -1, -1, 5895, -1, 6164, -1, - -1, -1, -1, -1, -1, 6161, 6161, -1, -1, -1, - -1, 1071, -1, 6161, -1, -1, 6161, 6161, 1078, 1079, - -1, 197, -1, -1, -1, -1, -1, -1, -1, -1, - 6196, 6197, -1, 4528, -1, 6201, -1, -1, -1, 6205, - 1100, 1101, 1102, 6209, 1104, -1, 1106, -1, 1108, 1109, - -1, 6217, 6218, -1, -1, -1, -1, -1, -1, 235, - 5959, 6227, -1, -1, 240, -1, -1, -1, 5967, 5968, - -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, - -1, -1, 1142, -1, 1144, 1145, 4581, 10, -1, -1, - 13, 6157, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 282, -1, -1, -1, - -1, -1, -1, -1, 37, 5941, -1, 1177, -1, -1, - -1, -1, -1, -1, 47, -1, -1, -1, 151, -1, - -1, 54, -1, -1, -1, -1, -1, -1, 314, -1, - 5966, 164, -1, 1203, -1, 1205, -1, 170, -1, 1209, - 6049, 1211, -1, 176, -1, -1, 6055, 80, -1, 182, - -1, -1, 185, -1, -1, -1, 189, -1, -1, -1, - -1, -1, -1, -1, 6073, 1235, -1, 1237, -1, -1, - 356, 1241, -1, -1, -1, 361, -1, -1, 4020, -1, - -1, -1, -1, -1, 370, 1255, 219, -1, -1, -1, - -1, -1, -1, 379, -1, -1, 4038, 4039, 4040, 4041, - -1, 387, 4044, 4045, 4046, 4047, 4048, 4049, 4050, 4051, - 4052, 4053, 245, 399, -1, -1, -1, -1, -1, -1, - 1290, -1, 408, 6059, -1, -1, 412, -1, 6137, -1, - 4072, -1, -1, -1, -1, -1, -1, 2740, -1, -1, - -1, -1, -1, 2746, -1, -1, 432, -1, 6157, 1319, - 1320, 1321, -1, 1323, -1, -1, -1, -1, -1, -1, - -1, 294, 195, -1, 297, -1, -1, 200, 4110, 4111, - 303, -1, -1, 1343, -1, -1, -1, -1, -1, -1, - -1, 467, -1, -1, 2787, 471, -1, -1, 6197, -1, - 223, 224, -1, -1, -1, -1, 6205, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 6217, 6218, - -1, 244, -1, 4155, 1384, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 6161, -1, 360, -1, -1, - 4835, -1, 1402, -1, -1, -1, 4841, -1, -1, -1, - 4845, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 299, 4872, 4873, 302, - -1, -1, 4877, 4878, -1, -1, -1, -1, 1448, -1, - -1, -1, 1452, 1453, 417, -1, -1, -1, -1, -1, - -1, -1, 5882, 1463, 1464, 1465, 1466, -1, 1468, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 445, -1, 64, -1, -1, -1, -1, -1, - -1, 1491, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 469, -1, 471, 472, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, - -1, -1, -1, -1, -1, -1, 1526, -1, -1, 392, - 493, 1531, -1, -1, 1534, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1547, 1548, -1, - 513, -1, -1, 516, 517, 518, 1556, -1, -1, 1559, - -1, -1, -1, 2996, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, - 160, -1, -1, -1, -1, -1, 1586, -1, 1588, -1, - -1, 1591, -1, -1, 1594, 1595, 37, -1, 1598, -1, - -1, -1, -1, -1, -1, -1, 47, -1, 1608, -1, - -1, 1611, -1, 54, 1614, -1, -1, 197, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 494, -1, -1, -1, -1, 1636, -1, -1, 80, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - -1, -1, -1, -1, 1654, -1, 10, 520, -1, 13, - 240, -1, -1, 17, 18, 19, 1666, 1667, 1668, 1669, - 1670, -1, -1, -1, -1, -1, -1, -1, -1, 4451, - -1, -1, -1, 37, 1684, -1, -1, -1, -1, -1, - -1, -1, -1, 47, -1, 1695, 1696, 1697, 278, -1, - 54, -1, 282, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, - -1, -1, -1, 313, 314, -1, -1, -1, -1, -1, - -1, -1, -1, 3176, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 195, -1, -1, -1, 3191, 200, - -1, -1, -1, 3196, -1, -1, -1, -1, -1, -1, - -1, -1, 352, -1, -1, -1, 356, -1, -1, -1, - -1, 361, 223, 224, -1, -1, -1, -1, -1, -1, - 370, -1, 3225, -1, 1794, -1, -1, -1, -1, 379, - -1, -1, -1, 244, -1, 1805, -1, 387, -1, -1, - -1, -1, -1, 1813, 1814, -1, -1, -1, -1, 399, - -1, -1, -1, -1, -1, -1, -1, -1, 408, 1829, - -1, -1, 412, -1, -1, -1, -1, -1, 5273, -1, - -1, 195, -1, -1, 285, -1, 200, 1847, 1848, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 299, -1, - -1, 302, -1, 1863, 1864, 1865, 1866, -1, -1, 223, - 224, -1, 1872, -1, -1, -1, -1, -1, -1, 1879, - -1, -1, 1882, -1, -1, -1, -1, 467, -1, -1, - 244, -1, -1, -1, 51, -1, 10, 1897, -1, 13, - 1900, -1, 4674, 17, 18, 19, -1, -1, -1, -1, - 1910, 1911, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1921, 1922, 37, -1, 1925, -1, -1, 1928, -1, - -1, 285, -1, 47, -1, -1, -1, -1, -1, -1, - 54, -1, -1, 1943, 1944, 299, -1, -1, 302, -1, - 1950, 392, 1952, 10, -1, -1, 13, -1, -1, -1, - 17, 18, 19, -1, -1, -1, 80, -1, -1, 1969, - -1, -1, -1, -1, -1, -1, 1976, -1, 1978, -1, - 37, 1981, 1982, 1983, -1, 1985, 1986, -1, 1988, -1, - 47, -1, -1, -1, -1, 1995, -1, 54, -1, -1, - -1, -1, 2002, -1, -1, 2005, 2006, -1, -1, 2009, - -1, -1, 2012, 2013, -1, -1, -1, 2017, -1, 2019, - -1, -1, -1, 80, 2024, 2025, -1, -1, -1, -1, - -1, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 392, -1, - 2040, -1, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, - -1, -1, 2052, 494, 2054, 2055, -1, -1, 2058, -1, - -1, -1, 503, 504, 505, 506, 507, 508, 509, 510, - 511, -1, -1, -1, -1, 2075, 2076, 2077, 519, -1, - -1, 195, -1, -1, -1, -1, 200, -1, -1, -1, - -1, -1, -1, 2093, -1, -1, -1, 3530, -1, -1, - -1, -1, -1, -1, -1, 3538, -1, -1, -1, 223, - 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5557, -1, -1, -1, -1, -1, -1, -1, - 244, -1, -1, 2133, -1, -1, 17, -1, 195, -1, - 494, -1, -1, 200, -1, 26, -1, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, -1, -1, - -1, -1, 516, -1, -1, 519, 223, 224, -1, -1, - -1, 285, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 299, -1, 244, 302, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3633, -1, 3635, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1131, -1, -1, -1, -1, - -1, 1137, 0, -1, -1, -1, -1, -1, 285, -1, - -1, 1147, -1, -1, -1, 1151, -1, 2237, -1, 1155, - -1, 1157, 299, -1, 22, 302, -1, 1163, -1, -1, - -1, -1, -1, 1169, -1, 33, 1172, 35, 36, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 53, -1, -1, 392, -1, - -1, -1, -1, -1, 2284, 63, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3729, 75, -1, 77, - 78, -1, -1, -1, -1, -1, 84, -1, 86, -1, - -1, 5746, -1, -1, -1, -1, -1, -1, -1, -1, - 98, -1, 100, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 392, -1, 2337, 3771, 117, - -1, -1, 120, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 135, -1, 137, - -1, 5133, -1, 141, -1, -1, -1, -1, -1, 147, - -1, -1, -1, -1, -1, -1, -1, 155, -1, 157, - 494, -1, -1, -1, -1, -1, 164, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, -1, -1, - -1, -1, -1, -1, 182, 519, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5188, -1, -1, -1, - -1, 199, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3867, -1, -1, 494, -1, -1, - -1, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, -1, -1, -1, 516, - -1, -1, -1, -1, -1, -1, -1, -1, 246, 247, - -1, -1, -1, -1, 252, -1, -1, -1, 3911, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 266, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 27, -1, - -1, -1, -1, -1, 33, -1, 284, -1, -1, -1, - -1, -1, -1, -1, 2514, 2515, 2516, 2517, 2518, 2519, - 2520, 2521, 2522, -1, 2524, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2534, 2535, -1, -1, 2538, -1, - -1, -1, -1, -1, -1, 2545, -1, -1, 705, 78, - 328, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3993, -1, -1, -1, 342, -1, -1, -1, -1, -1, - 348, 349, -1, 351, 731, -1, -1, 2577, 356, 2579, - -1, -1, 2582, 2583, 362, -1, 2586, 365, 2588, -1, - -1, 2591, -1, -1, 372, 2595, -1, -1, -1, -1, - -1, 379, 380, -1, 4037, 134, -1, -1, -1, 387, - -1, -1, 141, 391, -1, 144, -1, -1, 2618, 10, - -1, -1, 13, 401, 2624, 2625, 17, 18, 19, 4062, - -1, -1, -1, -1, -1, 2635, -1, -1, -1, 417, - -1, -1, 171, -1, 2644, 2645, 37, -1, -1, -1, - -1, -1, -1, -1, 5426, -1, 47, -1, 2658, 437, - -1, -1, -1, 54, -1, -1, 2666, -1, 2668, -1, - 448, -1, -1, -1, -1, -1, 454, -1, 207, -1, - -1, 459, -1, -1, 5456, -1, -1, -1, -1, 80, - -1, -1, -1, -1, 472, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2708, -1, - 2710, -1, -1, -1, -1, -1, 873, -1, 496, -1, - 498, 499, 500, 501, 502, -1, -1, 2727, -1, 6164, - -1, -1, -1, -1, -1, -1, -1, 515, 2738, -1, - 518, 2741, 2742, 2743, 2744, -1, -1, 2747, -1, 278, - 2750, -1, -1, 282, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 292, 645, -1, -1, -1, -1, -1, - -1, 2771, 301, -1, 6209, -1, -1, -1, -1, 27, - -1, -1, 2782, -1, 313, 33, -1, -1, -1, -1, - 2790, 2791, 6227, -1, -1, -1, -1, 2797, -1, -1, - 48, -1, -1, -1, 195, -1, 2806, -1, -1, 200, - -1, -1, -1, -1, 695, 696, -1, -1, -1, -1, - -1, -1, -1, 352, -1, -1, 355, 356, 2828, -1, - 78, -1, 223, 224, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2849, - -1, -1, -1, 244, -1, -1, -1, -1, 387, 1016, - -1, -1, 2862, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1035, -1, - -1, -1, -1, -1, 132, 2885, 134, -1, 2888, 1046, - -1, -1, -1, 141, 285, -1, 144, -1, -1, -1, - -1, -1, -1, -1, -1, 1062, -1, -1, 299, -1, - 791, 302, -1, -1, 2914, 2915, 5688, -1, -1, -1, - -1, -1, -1, 171, -1, -1, -1, 456, -1, 2929, - 811, 2931, 2932, -1, -1, -1, -1, -1, 819, -1, - -1, 822, 823, 824, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 207, - -1, -1, 2962, 2963, 2964, -1, -1, -1, 2968, -1, - -1, -1, -1, -1, -1, -1, 2976, -1, -1, -1, - -1, -1, -1, -1, -1, 10, -1, -1, 13, 2989, - -1, -1, 17, 18, 19, 2995, -1, 2997, -1, -1, - 1916, 392, -1, -1, -1, -1, -1, -1, 1924, -1, - 3010, -1, 37, -1, -1, 3015, -1, -1, -1, -1, - -1, 3021, 47, -1, 3024, -1, -1, -1, -1, 54, - 278, -1, -1, -1, 282, -1, 3036, 3037, -1, -1, - -1, -1, -1, -1, 292, -1, -1, 3047, 4481, -1, - -1, -1, -1, 301, -1, 80, -1, 3057, -1, 3059, - -1, -1, 1219, -1, -1, 313, -1, -1, -1, -1, - -1, 27, -1, -1, -1, -1, -1, 33, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5859, -1, -1, - -1, -1, 48, -1, -1, -1, -1, -1, 3098, -1, - 3100, -1, 3102, 494, 352, -1, -1, 355, 356, -1, - -1, -1, 503, 504, 505, 506, 507, 508, 509, 510, - 511, -1, 78, -1, -1, 516, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3135, -1, -1, -1, 387, - -1, -1, -1, -1, 1025, -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, - 195, -1, -1, -1, 10, 200, 132, 13, 134, -1, - -1, 17, 18, 19, -1, 141, -1, -1, 144, 3189, - 3190, -1, 3192, -1, 3194, 3195, -1, 3197, 223, 224, - -1, 37, -1, -1, 3204, -1, -1, -1, 456, 3209, - -1, 47, -1, -1, 64, 171, -1, -1, 54, 244, - 5992, 5993, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, -1, -1, -1, -1, 99, - -1, 207, 3252, 3253, 3254, -1, -1, 3257, -1, -1, - 285, -1, -1, -1, -1, 3265, 3266, 3267, 3268, -1, - -1, -1, -1, -1, 299, -1, -1, 302, -1, -1, - -1, 3281, -1, -1, 3284, -1, 3286, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3298, 3299, - -1, -1, 3302, -1, -1, -1, -1, -1, -1, -1, - 160, -1, -1, -1, -1, -1, -1, 1474, -1, -1, - -1, 3321, 278, 3323, -1, 3325, 282, 3327, -1, -1, - -1, -1, -1, -1, -1, 1216, 292, -1, -1, -1, - -1, 64, -1, -1, -1, 301, 3346, 197, -1, 3349, - -1, -1, -1, 3353, -1, -1, -1, 313, -1, 195, - -1, -1, 1243, -1, 200, -1, -1, 392, -1, -1, - -1, -1, -1, -1, 3374, -1, 99, -1, -1, 4812, - -1, -1, -1, -1, 1541, -1, -1, 223, 224, -1, - 240, -1, -1, -1, -1, -1, 352, -1, -1, 355, - 356, -1, 3402, -1, -1, 3405, 3406, -1, 244, -1, - 3410, 3411, 3412, -1, -1, -1, -1, -1, 3418, 4852, - -1, -1, -1, 3423, -1, 1582, -1, -1, -1, -1, - -1, 387, 282, -1, -1, -1, -1, 160, 3438, -1, - -1, 4874, -1, -1, 1325, -1, -1, -1, -1, 285, - -1, -1, 3452, 1334, -1, -1, 3456, -1, 1615, 3459, - 3460, -1, 3462, 299, 314, -1, 302, -1, 1349, 494, - -1, -1, -1, -1, 197, -1, -1, -1, 503, 504, - 505, 506, 507, 508, 509, 510, 511, -1, -1, 1370, - -1, 516, 1373, 1374, -1, -1, -1, 1378, 1379, -1, - 456, -1, -1, 3503, -1, -1, 356, -1, 358, -1, - -1, 361, -1, -1, 4947, -1, -1, 240, -1, -1, - 370, -1, -1, -1, -1, -1, -1, -1, -1, 379, - -1, -1, -1, 3533, 3534, -1, -1, 387, 1695, 1696, - 1697, -1, -1, -1, -1, -1, -1, -1, -1, 399, - -1, -1, -1, -1, -1, 278, 392, -1, 408, 282, - -1, -1, 412, -1, -1, -1, -1, 25, -1, -1, - -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 27, -1, -1, -1, -1, -1, 33, - 313, 314, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 467, -1, -1, - -1, -1, -1, 81, 82, -1, -1, -1, -1, 352, - -1, -1, -1, 356, 78, 5068, -1, -1, 361, 97, - -1, 3641, -1, -1, -1, -1, -1, 370, -1, -1, - 1807, 3651, -1, -1, -1, -1, 379, 115, 494, -1, - 2576, 1818, -1, -1, 387, -1, -1, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 399, 1834, -1, -1, - 516, 139, -1, -1, -1, 408, -1, -1, -1, 412, - 134, -1, 150, -1, -1, -1, -1, 141, -1, -1, - 144, 159, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 172, -1, -1, -1, -1, -1, - 178, -1, -1, -1, -1, -1, -1, 171, -1, -1, - -1, 1888, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 467, -1, 1903, 205, -1, 1906, - 1907, -1, 1633, -1, -1, -1, 3756, -1, -1, -1, - 1641, -1, 3762, 207, -1, -1, -1, -1, -1, -1, - -1, 5204, -1, 3773, -1, -1, -1, -1, 236, -1, - 1937, 1938, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 258, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3810, 3811, 3812, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3827, -1, -1, - -1, -1, -1, -1, 278, -1, -1, -1, 282, -1, - -1, 3841, -1, -1, -1, -1, -1, -1, 292, -1, - -1, -1, -1, -1, -1, -1, -1, 301, -1, 3859, - 3860, 3861, -1, -1, -1, 3865, -1, -1, -1, 313, - -1, -1, -1, -1, -1, 333, 334, 3877, 2035, 337, - -1, -1, -1, -1, -1, -1, -1, 2044, -1, -1, - 2047, -1, -1, -1, -1, 10, -1, -1, 13, -1, - -1, -1, 17, 18, 19, -1, 364, -1, 352, 367, - -1, 355, 356, -1, -1, -1, 374, 2074, -1, -1, - -1, -1, 37, 381, -1, -1, 384, -1, -1, -1, - -1, -1, 47, 3933, -1, -1, -1, -1, -1, 54, - -1, -1, -1, 387, -1, 403, -1, 3947, 3948, -1, - -1, -1, 410, -1, -1, -1, -1, -1, 3958, 417, - -1, -1, 420, -1, -1, 80, 424, -1, -1, -1, - -1, 3971, -1, -1, -1, 1856, -1, -1, -1, 1860, - -1, 439, -1, -1, -1, -1, -1, -1, -1, -1, - 3990, -1, -1, -1, -1, -1, -1, -1, 3998, -1, - 4000, -1, -1, -1, -1, -1, -1, 465, -1, -1, - 4010, -1, 456, -1, 4014, 4015, -1, -1, -1, -1, - 4020, -1, -1, -1, -1, -1, -1, -1, 4028, -1, - 4030, -1, -1, 4033, -1, -1, -1, -1, 4038, 4039, - 4040, 4041, -1, -1, 4044, 4045, 4046, 4047, 4048, 4049, - 4050, 4051, 4052, 4053, -1, -1, -1, 4057, 4058, 4059, - -1, -1, -1, -1, -1, -1, -1, 4067, -1, -1, - -1, -1, 4072, -1, -1, -1, 4076, -1, -1, -1, - 195, -1, -1, -1, 4084, 200, -1, 4087, -1, 4089, - -1, -1, 5525, -1, -1, -1, -1, 5530, 5531, -1, - -1, -1, -1, -1, -1, -1, -1, 4107, 223, 224, - 4110, 4111, -1, -1, -1, 4115, 4116, -1, -1, -1, - 4120, -1, 4122, 4123, -1, -1, -1, -1, -1, 244, - -1, 4131, 4132, 4133, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2030, - -1, 4151, 4152, 4153, -1, 4155, 4156, -1, -1, 4159, - -1, -1, -1, 4163, -1, -1, -1, 4167, -1, -1, - 285, 3087, -1, 4173, -1, -1, 3092, -1, 3094, -1, - -1, -1, -1, -1, 299, -1, -1, 302, 3104, -1, - -1, 3107, -1, 3109, 3110, -1, -1, 3113, -1, 4199, - -1, 3117, -1, 3119, -1, -1, 3122, -1, -1, -1, - 5643, -1, -1, -1, 4214, -1, 4216, -1, 27, -1, - -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4234, 4235, 4236, -1, -1, 4239, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 64, -1, -1, -1, -1, -1, -1, 5692, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, - 3186, -1, -1, -1, 4274, 4275, -1, 392, -1, -1, - -1, -1, -1, -1, -1, -1, 0, 99, -1, -1, - -1, -1, -1, 4293, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, - -1, 35, 36, -1, -1, 134, -1, -1, -1, -1, - -1, -1, 141, -1, -1, 144, -1, -1, -1, 53, - -1, -1, -1, -1, -1, -1, 4346, -1, 160, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 75, 171, 77, 78, -1, -1, -1, -1, -1, - 84, -1, 86, -1, -1, -1, -1, -1, -1, 494, - -1, 2538, -1, -1, 98, 197, 100, -1, 503, 504, - 505, 506, 507, 508, 509, 510, 511, -1, 207, -1, - -1, 516, 4402, 117, -1, -1, 120, -1, -1, -1, - -1, -1, -1, -1, -1, 198, 199, -1, -1, 202, - -1, 135, -1, 137, -1, -1, -1, 141, 240, -1, - -1, -1, -1, 147, -1, 4435, -1, -1, -1, 222, - -1, 155, -1, 157, -1, -1, 229, -1, -1, 4449, - 164, 4451, -1, -1, -1, -1, -1, -1, 4458, -1, - -1, -1, -1, -1, 4464, -1, 278, -1, 182, 278, - 282, -1, -1, 282, -1, 4475, -1, -1, -1, -1, - -1, -1, -1, 292, -1, 199, -1, -1, -1, -1, - 4490, -1, 301, -1, -1, 4495, 4496, -1, -1, -1, - -1, 313, 314, 4503, 313, -1, -1, -1, -1, -1, - -1, -1, 4512, -1, -1, -1, -1, -1, -1, -1, - -1, 2678, 4522, -1, -1, 2682, 2683, -1, -1, -1, - -1, -1, 246, 247, 4534, 4535, -1, -1, 252, -1, - 352, -1, -1, 352, 356, 4545, 355, 356, -1, 361, - -1, -1, 266, -1, -1, -1, 4556, 4557, 370, -1, - -1, -1, -1, -1, -1, -1, -1, 379, -1, -1, - 284, -1, -1, -1, 4574, 387, -1, -1, 387, -1, - -1, -1, -1, 2740, -1, -1, -1, 399, -1, 2746, - -1, -1, -1, -1, -1, -1, 408, 3513, -1, -1, - 412, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 328, 4615, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 342, 4629, - 2787, -1, -1, -1, 348, 349, -1, 351, -1, -1, - -1, -1, 356, 4643, -1, -1, -1, 456, 362, -1, - -1, 365, -1, -1, -1, 467, -1, -1, 372, -1, - -1, -1, -1, -1, -1, 379, 380, -1, 3584, -1, - 3586, 4671, -1, 387, 4674, -1, 2557, 391, -1, -1, - -1, -1, 4682, 4683, -1, -1, -1, 401, -1, -1, - 4690, 4691, -1, -1, -1, 4695, -1, -1, -1, -1, - -1, -1, 4702, 417, -1, 4705, 4706, -1, -1, -1, - -1, -1, 4712, -1, -1, -1, 4716, 4717, 4718, 4719, - -1, -1, -1, 437, -1, -1, -1, -1, -1, -1, - -1, -1, 4732, -1, 448, 4735, -1, -1, -1, 4739, - 454, -1, -1, -1, 4744, 459, -1, 4747, 4748, -1, - 4750, -1, 4752, -1, -1, 4755, -1, 4757, 472, -1, - -1, -1, -1, -1, -1, -1, 4766, -1, -1, -1, - 4770, -1, -1, -1, 4774, -1, 4776, -1, 10, -1, - -1, 13, 496, -1, -1, 17, 18, 19, -1, -1, - -1, 4791, -1, -1, 4794, -1, -1, -1, -1, -1, - -1, 515, -1, -1, 518, 37, -1, 2964, -1, -1, - -1, -1, 3728, -1, 27, 47, -1, -1, 3734, -1, - 33, -1, 54, -1, -1, 2706, -1, -1, 4828, -1, - -1, -1, 4832, -1, -1, -1, -1, -1, -1, 2996, - -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 78, -1, -1, 651, -1, - 653, -1, -1, 656, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2765, -1, -1, 670, -1, -1, - -1, -1, -1, 676, -1, -1, -1, 4897, -1, -1, - -1, -1, -1, -1, 4904, -1, -1, -1, -1, -1, - -1, -1, 3069, -1, -1, -1, 3073, -1, -1, -1, - -1, 134, -1, -1, -1, -1, -1, 4927, 141, -1, - -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 10, 4942, -1, 13, -1, -1, -1, 17, 18, - 19, -1, -1, -1, -1, -1, -1, -1, 171, -1, - -1, -1, -1, 195, 2845, -1, -1, -1, 200, -1, - -1, -1, -1, 4973, -1, -1, -1, -1, 47, -1, - -1, -1, -1, -1, -1, 54, -1, -1, 2869, 4989, - -1, 223, 224, -1, 207, -1, 4996, -1, -1, -1, - -1, -1, 3918, -1, 3920, 5005, 3922, -1, -1, -1, - -1, 80, 244, -1, -1, -1, -1, -1, -1, 3176, - 5020, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5033, 3191, 5035, -1, -1, -1, 3196, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 285, -1, 2936, -1, -1, -1, -1, - -1, 5061, -1, -1, -1, 278, -1, 299, 3225, 282, - 302, -1, 5072, -1, -1, -1, -1, -1, -1, 292, - -1, -1, -1, -1, -1, -1, -1, -1, 301, -1, - -1, -1, 2973, -1, 2975, -1, 2977, 2978, -1, -1, - 313, 2982, 2983, 2984, -1, 2986, 2987, 2988, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, - 5130, 200, -1, 5133, -1, -1, 5136, 5137, 5138, 352, - -1, -1, 355, 356, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 223, 224, -1, -1, -1, 3040, - 392, -1, -1, 5163, 5164, -1, -1, 5167, -1, -1, - -1, -1, -1, -1, 387, 244, -1, -1, 961, 962, - -1, -1, -1, -1, 3065, -1, -1, -1, 5188, -1, - -1, -1, -1, -1, 5194, -1, -1, -1, 5198, -1, - -1, -1, 5202, -1, -1, 5205, -1, 5207, -1, -1, - -1, -1, -1, -1, -1, -1, 285, -1, 5218, -1, - -1, 5221, -1, -1, -1, -1, -1, -1, -1, -1, - 299, -1, 5232, 5233, 5234, -1, 5236, -1, -1, -1, - -1, -1, -1, 456, -1, -1, -1, -1, -1, 1032, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 494, -1, 1047, -1, -1, -1, -1, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, 514, -1, 5284, 5285, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1078, 1079, -1, -1, -1, - -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, - 33, -1, -1, -1, -1, 3472, -1, -1, 3475, -1, - 3477, 1104, -1, 392, -1, 3482, -1, -1, -1, 5329, - -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, - 19, 5341, -1, -1, -1, -1, 5346, -1, -1, -1, - -1, 5351, -1, -1, -1, 78, -1, -1, 37, -1, - 5360, 1144, 1145, -1, -1, -1, -1, -1, 47, -1, - 5370, -1, -1, 3530, 5374, 54, -1, 5377, -1, -1, - -1, 3538, -1, -1, -1, -1, -1, -1, 5388, 5389, - 5390, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, 3563, -1, -1, -1, - -1, 134, -1, -1, -1, -1, -1, -1, 141, -1, - -1, 144, -1, -1, -1, 494, 5426, -1, -1, -1, - 5430, -1, 5432, -1, 503, 504, 505, 506, 507, 508, - 509, 510, 511, -1, -1, -1, 5446, -1, 171, -1, - -1, -1, -1, 5453, -1, -1, 5456, -1, -1, -1, - 5460, -1, -1, -1, -1, -1, -1, 5467, -1, -1, - -1, -1, -1, -1, 5474, -1, 3633, -1, 3635, -1, - -1, -1, 10, -1, 207, 13, 3367, -1, -1, 17, - 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5509, - -1, -1, -1, -1, -1, -1, 195, -1, -1, 47, - -1, 200, -1, -1, -1, -1, 54, -1, -1, -1, - -1, -1, -1, -1, -1, 5535, -1, -1, -1, -1, - -1, 5541, 5542, -1, 223, 224, 5546, 5547, 5548, 5549, - -1, -1, 80, -1, -1, 278, -1, -1, -1, 282, - -1, -1, -1, -1, -1, 244, -1, -1, -1, 292, - -1, -1, 3729, -1, -1, -1, -1, 5577, 301, -1, - -1, 8, -1, -1, -1, 5585, 27, 14, 15, -1, - 313, -1, 33, 20, -1, 22, -1, -1, -1, 3756, - -1, 28, -1, 30, -1, 3762, 285, -1, -1, -1, - 5610, -1, -1, 5613, 3771, -1, -1, -1, -1, -1, - 299, -1, 49, 50, -1, -1, -1, -1, -1, 352, - -1, -1, 355, 356, -1, -1, -1, 78, 5638, -1, - -1, -1, 3799, -1, -1, -1, 3527, -1, -1, -1, - -1, -1, -1, -1, 4570, -1, -1, 4573, -1, -1, - -1, -1, -1, -1, 387, -1, 5666, 195, -1, -1, - -1, -1, 200, -1, -1, 5675, 5676, 5677, -1, -1, - -1, 5681, -1, -1, -1, 5685, 4602, -1, 5688, -1, - -1, -1, -1, 134, -1, 223, 224, 5697, -1, 5699, - 141, 5701, 5702, 144, -1, -1, -1, -1, 5708, -1, - 3867, -1, -1, 392, -1, -1, 244, -1, 5718, -1, - 5720, -1, -1, -1, 3605, -1, -1, -1, -1, 5729, - 171, -1, 3889, 456, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1534, -1, -1, 3911, -1, -1, 285, -1, -1, - -1, -1, -1, -1, 5764, 5765, 207, -1, -1, -1, - -1, 299, -1, 200, -1, -1, 1559, 204, -1, -1, - -1, -1, 3663, -1, -1, 212, -1, -1, 215, -1, - -1, 218, 219, -1, 221, 5795, 223, -1, -1, 226, - -1, 228, -1, -1, -1, -1, -1, -1, -1, 5809, - -1, -1, -1, -1, -1, 494, -1, -1, -1, -1, - -1, -1, -1, -1, 503, 504, 505, 506, 507, 508, - 509, 510, 511, -1, -1, -1, 3993, 278, -1, -1, - -1, 282, -1, -1, -1, -1, 5846, -1, -1, -1, - 3731, 292, -1, 1636, -1, -1, -1, -1, -1, 5859, - 301, -1, -1, 5863, 392, -1, -1, -1, -1, 5869, - -1, -1, 313, -1, -1, -1, -1, -1, 5878, 5879, - 4037, -1, -1, 1666, 1667, 1668, 1669, -1, -1, -1, - -1, -1, -1, -1, 4810, 5895, 3777, -1, -1, -1, - -1, -1, -1, -1, -1, 4062, -1, -1, 3789, 3790, - 5910, 352, -1, -1, 355, 356, -1, 5917, 3799, -1, - -1, -1, -1, 3804, -1, 3806, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4853, 4854, -1, - -1, -1, 5942, -1, -1, -1, 387, -1, -1, 5949, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5959, - -1, -1, -1, -1, -1, -1, 494, 5967, 5968, 5969, - -1, 3852, -1, 5973, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, -1, 5985, 5986, 5987, -1, -1, - -1, -1, 5992, 5993, -1, -1, -1, -1, 5998, -1, - -1, -1, -1, -1, -1, -1, 3887, 3888, -1, -1, - -1, -1, -1, -1, -1, 456, -1, -1, -1, -1, - 6020, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1813, 1814, 4948, 4949, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1829, -1, -1, 6049, - 6050, 6051, -1, -1, -1, 6055, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4222, -1, -1, -1, -1, - -1, -1, -1, 6073, 6074, -1, -1, -1, -1, -1, - 1863, 1864, 1865, 1866, -1, -1, -1, -1, 6088, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 6102, 10, -1, -1, 13, -1, -1, -1, - 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, 6135, 6136, 6137, 6138, 6139, - 47, -1, 6142, -1, -1, -1, -1, 54, -1, -1, - -1, -1, -1, -1, 6154, 4312, -1, 6157, -1, -1, - -1, 1944, 5078, -1, -1, 5081, 5082, 1950, -1, -1, - -1, -1, -1, 80, -1, -1, -1, 6177, -1, -1, - -1, 4338, -1, -1, -1, 5101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 6196, 6197, -1, -1, - -1, 6201, 4083, -1, -1, 6205, 10, -1, -1, 13, - -1, -1, -1, 17, 18, 19, 643, 6217, 6218, -1, - -1, 6221, -1, -1, -1, -1, -1, 654, -1, -1, - -1, 658, -1, 37, -1, -1, -1, -1, 665, 666, - -1, -1, 669, 47, 671, 672, -1, -1, -1, -1, - 54, -1, -1, -1, -1, -1, -1, -1, -1, 686, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 704, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 195, -1, - -1, 206, 207, 200, -1, -1, -1, -1, 725, 214, - 727, 216, 217, -1, -1, -1, -1, -1, -1, -1, - 737, -1, -1, -1, -1, 230, 223, 224, -1, -1, - -1, -1, -1, -1, 4481, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, - -1, -1, -1, 770, -1, -1, -1, -1, -1, -1, - 2133, -1, -1, -1, -1, -1, 10, -1, -1, 13, - -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, - -1, 4528, -1, -1, -1, -1, 4533, -1, 285, -1, - -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, - -1, 195, 299, 47, -1, 302, 200, -1, -1, -1, - 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, - 224, -1, -1, -1, 851, -1, 80, -1, -1, -1, - -1, 4312, -1, -1, -1, -1, -1, -1, -1, -1, - 244, -1, -1, -1, -1, -1, -1, 10, -1, -1, - 13, -1, -1, -1, 17, 18, 19, 4338, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4353, -1, 37, -1, 4357, -1, 4359, -1, - -1, 285, -1, -1, 47, 392, -1, -1, -1, -1, - -1, 54, -1, -1, -1, 299, -1, -1, 302, -1, - -1, -1, -1, -1, -1, -1, -1, 934, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, - -1, -1, -1, -1, 4405, -1, -1, -1, 4685, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4421, 195, -1, -1, -1, 4426, 200, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, - 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1008, -1, 5499, -1, -1, -1, 494, 392, -1, - 244, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, 1033, -1, -1, 516, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1048, -1, 1050, -1, -1, -1, -1, -1, -1, - -1, 285, 195, 1060, -1, -1, 5552, 200, -1, -1, - 1067, -1, -1, -1, 4525, 299, -1, 4528, 302, -1, - -1, -1, -1, -1, -1, 4812, -1, -1, -1, -1, - 223, 224, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 244, -1, 1110, -1, 1112, -1, -1, -1, -1, - 494, -1, -1, -1, -1, 4852, -1, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, -1, -1, - -1, -1, 516, -1, -1, -1, -1, 4874, -1, -1, - -1, -1, 285, 4604, 4605, 4606, 4607, 642, 4609, 4610, - 4611, 4612, 4613, -1, -1, -1, 299, -1, 392, 302, - -1, -1, -1, -1, -1, -1, 661, -1, -1, 5665, - -1, -1, 667, -1, -1, -1, -1, -1, -1, 1186, - -1, 1188, -1, 1190, 679, 1192, -1, 1194, 1195, 1196, - -1, -1, -1, -1, 1201, -1, -1, -1, -1, -1, - 695, -1, -1, -1, -1, -1, 1213, -1, -1, -1, - 4947, -1, -1, -1, 709, 710, -1, -1, -1, 2582, - -1, 716, -1, 718, 719, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 732, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 742, -1, 392, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 494, -1, -1, 4724, -1, 4726, -1, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 10, -1, - -1, 13, 516, -1, -1, 17, 18, 19, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 795, -1, -1, -1, -1, 37, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, - -1, -1, 54, -1, -1, -1, -1, -1, 823, 5066, - -1, 5068, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 10, - -1, 494, 13, 848, -1, -1, 17, 18, 19, -1, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - -1, -1, -1, 516, -1, -1, 37, -1, -1, -1, - -1, -1, -1, -1, 2747, -1, 47, -1, 1395, -1, - -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 908, -1, -1, -1, -1, 10, 80, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, - -1, -1, 54, 195, -1, -1, -1, 5204, 200, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4945, 4946, -1, -1, 80, -1, - -1, 223, 224, -1, -1, -1, -1, 4958, -1, 4960, - 4961, 4962, -1, -1, -1, -1, -1, -1, 1515, -1, - -1, -1, 244, 6009, -1, -1, -1, -1, -1, -1, - -1, -1, 2885, 1018, -1, 2888, -1, -1, -1, -1, - 1025, -1, -1, -1, 195, -1, 5273, -1, -1, 200, - -1, 1036, -1, -1, -1, 1040, -1, 1042, -1, -1, - -1, -1, -1, 285, -1, -1, -1, -1, -1, -1, - -1, -1, 223, 224, -1, 5026, -1, 299, -1, -1, - 302, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1587, -1, -1, 244, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 195, 5065, -1, -1, -1, 200, -1, - -1, -1, -1, 2976, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 285, -1, 2989, -1, -1, -1, - -1, 223, 224, -1, 2997, -1, -1, -1, 299, -1, - -1, 302, -1, -1, -1, -1, -1, 5108, -1, -1, - -1, -1, 244, -1, 1149, -1, 5393, -1, -1, -1, - 392, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3036, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 285, 3057, -1, 10, -1, -1, 13, - -1, -1, -1, 17, 18, 19, -1, 299, -1, -1, - 302, -1, -1, -1, -1, 1210, -1, -1, -1, -1, - -1, -1, -1, 37, -1, -1, 1221, -1, -1, -1, - -1, 392, -1, 47, -1, -1, -1, 3100, -1, 3102, - 54, -1, -1, 1238, -1, -1, -1, -1, 1243, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 494, -1, -1, -1, 80, -1, -1, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, 10, -1, 516, 13, -1, -1, 5525, 17, - 18, 19, -1, 5530, 5531, -1, 1803, -1, -1, -1, - 392, -1, -1, -1, -1, -1, -1, -1, -1, 37, - -1, -1, 5273, -1, -1, -1, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, 54, 3190, -1, -1, - -1, 1838, -1, 494, 3197, -1, -1, -1, -1, -1, - -1, -1, 503, 504, 505, 506, 507, 508, 509, 510, - 511, -1, 80, -1, -1, 516, -1, -1, 5319, -1, - -1, -1, -1, -1, -1, -1, -1, 5328, -1, -1, - -1, -1, -1, -1, -1, 1370, -1, 1884, -1, -1, - -1, 195, -1, 1378, 1379, -1, 200, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1904, -1, -1, - -1, -1, 494, -1, -1, 5642, 5643, -1, -1, 223, - 224, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, -1, 1930, 516, 1932, -1, -1, -1, -1, - 244, -1, -1, -1, -1, -1, 1431, -1, -1, -1, - 1947, -1, 1949, -1, -1, -1, -1, -1, 1955, -1, - 1957, -1, 1959, -1, 1961, 5692, 1963, -1, -1, -1, - 1967, -1, -1, -1, -1, -1, -1, 195, -1, -1, - -1, 285, 200, 10, -1, -1, 13, -1, -1, -1, - 17, 18, 19, -1, -1, 299, -1, -1, 302, -1, - -1, -1, -1, -1, -1, 223, 224, 2004, -1, -1, - 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 47, -1, -1, -1, -1, -1, 244, 54, 10, -1, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 80, -1, 37, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 47, -1, 285, -1, -1, - -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, - -1, 299, -1, -1, 302, -1, -1, -1, 392, -1, - -1, -1, -1, -1, 51, -1, -1, -1, 80, -1, - -1, -1, -1, -1, -1, -1, 5557, -1, -1, -1, - 5561, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, - 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, - -1, -1, -1, -1, 51, -1, -1, -1, -1, 47, - -1, -1, -1, -1, -1, -1, 54, -1, 195, -1, - -1, -1, -1, 200, 392, -1, -1, -1, -1, -1, - 3533, 3534, -1, -1, -1, -1, -1, -1, -1, -1, - 494, -1, 80, -1, -1, 1680, 223, 224, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, -1, -1, - -1, -1, 516, 195, -1, -1, -1, 244, 200, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 223, 224, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 285, -1, - -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 299, -1, -1, 302, 494, -1, -1, -1, - -1, -1, -1, -1, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, -1, -1, -1, -1, 516, -1, - 51, -1, -1, 285, -1, 5756, -1, 195, -1, 5760, - 1795, 5762, 200, -1, -1, 5766, 5767, 299, -1, -1, - 302, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, - -1, -1, -1, -1, -1, 1830, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, - -1, -1, -1, -1, -1, 392, -1, -1, 1853, -1, - -1, -1, -1, -1, -1, -1, 1861, -1, -1, -1, - -1, -1, -1, -1, 1869, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 285, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 392, 299, -1, -1, 302, -1, -1, -1, -1, -1, - 3773, -1, -1, -1, -1, 1910, 1911, -1, 1913, 1914, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1925, -1, 1927, 1928, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1940, 1941, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 494, -1, 6196, - -1, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, -1, -1, -1, 516, - -1, -1, -1, 1978, -1, -1, -1, 1982, 1983, -1, - -1, -1, -1, -1, 392, -1, -1, -1, -1, -1, - -1, -1, 494, -1, -1, -1, -1, -1, -1, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, -1, -1, 516, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, - 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, 6026, -1, -1, -1, -1, - 3933, -1, -1, -1, 37, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, - -1, 54, -1, -1, -1, -1, 494, -1, -1, -1, - 2095, -1, -1, -1, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, -1, -1, -1, 80, 516, -1, - -1, -1, -1, -1, -1, 25, -1, -1, -1, -1, - 30, -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, 2672, 2673, -1, 68, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 81, -1, -1, 2691, 2692, -1, 2694, 2695, -1, - -1, -1, 2699, 2700, -1, -1, -1, 97, -1, -1, - -1, -1, -1, 6164, -1, -1, 6167, 2714, -1, -1, - -1, -1, -1, -1, 2721, 115, -1, -1, 2725, 2726, - -1, -1, 2729, 2730, -1, -1, -1, -1, -1, 2736, - -1, -1, 195, -1, -1, -1, -1, 200, 705, 139, - -1, 2748, -1, -1, -1, -1, -1, -1, 6209, -1, - 150, -1, -1, 2760, -1, -1, -1, -1, 2765, 159, - 223, 224, -1, -1, 731, -1, 6227, -1, -1, 6230, - -1, -1, 172, 2780, -1, -1, -1, -1, 178, -1, - -1, 244, 2789, -1, -1, 2792, -1, 2794, 2795, 2796, - -1, -1, -1, -1, 2801, 2802, -1, -1, 705, -1, - -1, -1, -1, -1, 2811, 205, -1, -1, -1, -1, - 2817, -1, -1, -1, 2821, -1, -1, -1, -1, -1, - -1, -1, 285, -1, 731, -1, 2833, 2834, -1, -1, - -1, 2838, -1, -1, -1, -1, 299, 2844, 2845, 302, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2858, -1, -1, 2861, -1, -1, -1, 258, -1, - -1, 2868, 2869, -1, -1, -1, -1, 2874, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2886, - -1, -1, 2889, -1, -1, -1, -1, 2894, -1, -1, - -1, -1, -1, 2900, 2901, 10, -1, -1, 13, 299, - -1, 2908, 17, 18, 19, 2912, 873, -1, -1, 2916, - 2917, 2918, 2919, -1, 2921, -1, -1, -1, -1, -1, - -1, -1, 37, -1, -1, -1, -1, 2934, 2935, 392, - 2937, -1, 47, 333, 334, -1, -1, 337, -1, 54, - -1, 2948, 2949, 2950, 705, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 364, 80, 873, 367, -1, -1, - 731, -1, -1, -1, 374, -1, -1, -1, -1, -1, - -1, 381, -1, -1, 384, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3005, -1, - -1, -1, -1, 403, -1, -1, 3013, -1, -1, -1, - 410, -1, -1, -1, -1, -1, -1, 417, -1, -1, - 420, -1, -1, -1, 424, 3032, -1, 10, -1, -1, - 13, 494, 432, -1, 17, 18, 19, -1, -1, 439, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - -1, -1, -1, 516, 37, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 47, 465, -1, -1, 1035, -1, - -1, 54, 4435, -1, -1, 3082, -1, -1, -1, 1046, - 195, -1, -1, -1, -1, 200, 4449, -1, -1, -1, - -1, -1, -1, -1, 3101, 1062, 3103, 80, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, - -1, -1, 873, -1, -1, -1, -1, -1, -1, -1, - -1, 2616, -1, -1, -1, -1, -1, -1, 1035, 244, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1046, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1062, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 285, -1, -1, -1, -1, -1, 2671, -1, -1, -1, - -1, -1, -1, -1, 299, -1, -1, 302, -1, -1, - -1, 3198, -1, -1, 2689, -1, -1, -1, 2693, -1, - -1, -1, 2697, -1, -1, -1, -1, -1, -1, -1, - -1, 2706, 195, -1, -1, -1, -1, 200, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 10, -1, 2724, - 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - 223, 224, -1, -1, -1, -1, 2741, -1, 2743, 2744, - -1, -1, 1219, -1, 37, -1, -1, -1, -1, -1, - -1, 244, -1, 2758, 47, -1, -1, -1, -1, -1, - -1, 54, -1, -1, 1035, -1, -1, 392, -1, -1, - -1, -1, -1, 2778, 2779, 1046, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, - -1, 1062, 285, -1, 51, -1, -1, -1, -1, -1, - -1, -1, 1219, -1, 2809, 2810, 299, -1, 2813, 302, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2837, -1, 2839, -1, -1, -1, 2843, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2857, -1, -1, -1, -1, -1, -1, 2864, - -1, -1, 2867, -1, -1, -1, -1, 207, 2873, 494, - -1, -1, -1, -1, -1, -1, 216, -1, 503, 504, - 505, 506, 507, 508, 509, 510, 511, -1, 2893, -1, - 230, 516, -1, -1, 2899, -1, 1373, -1, -1, 392, - -1, 2906, 195, -1, -1, -1, -1, 200, -1, -1, - -1, -1, -1, -1, -1, 2920, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2933, -1, - 223, 224, -1, 2938, -1, -1, -1, -1, -1, 2944, - -1, -1, -1, -1, -1, -1, -1, -1, 1219, -1, - -1, 244, -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, 3505, -1, - -1, -1, 285, -1, -1, -1, -1, 1474, -1, 3004, - -1, 494, -1, -1, -1, -1, 299, -1, 3525, 302, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - -1, -1, -1, 516, -1, 3542, -1, -1, -1, 3546, - -1, -1, -1, -1, 3551, 3552, 3553, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4927, -1, -1, 1474, -1, -1, - -1, -1, -1, -1, 1541, -1, -1, -1, -1, 4942, - 3587, 3588, 3589, 3590, -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, 392, - 3617, -1, -1, -1, -1, 1582, -1, -1, 3625, -1, - 3627, 3628, 3629, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1541, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1615, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3159, -1, 3161, -1, -1, -1, - 5033, -1, -1, -1, -1, 1582, -1, -1, -1, -1, - -1, -1, -1, 3178, -1, -1, -1, -1, -1, -1, - 3185, -1, -1, -1, -1, -1, -1, 3192, -1, 3194, - 3195, -1, -1, -1, -1, -1, -1, -1, 1615, -1, - -1, 494, -1, 1474, -1, -1, -1, -1, -1, -1, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - -1, -1, -1, 516, -1, -1, 3743, -1, -1, -1, - -1, -1, -1, -1, -1, 3752, -1, -1, -1, -1, - -1, -1, 25, -1, -1, -1, -1, 30, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3778, 3779, -1, -1, -1, 3783, -1, -1, -1, - 1541, 3276, -1, -1, -1, -1, -1, 3282, -1, -1, - -1, -1, -1, -1, -1, 68, -1, -1, 3805, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 81, 82, - -1, -1, 642, -1, -1, -1, -1, -1, -1, -1, - 93, 1582, -1, -1, 97, -1, -1, -1, -1, -1, - -1, 661, -1, -1, -1, -1, -1, 667, -1, -1, - 1807, -1, 115, -1, -1, -1, -1, -1, -1, 679, - 3857, 1818, -1, -1, 1615, 3862, -1, -1, -1, -1, - -1, 3868, -1, -1, -1, 695, 139, 1834, -1, -1, - -1, 5234, 3367, 5236, -1, -1, -1, 150, -1, -1, - 710, -1, -1, -1, -1, -1, 159, -1, 718, -1, - -1, 3898, -1, -1, -1, -1, -1, -1, -1, 172, - 1807, -1, 732, -1, -1, 178, -1, -1, -1, -1, - -1, 1818, 742, -1, -1, -1, -1, -1, -1, -1, - 3927, 1888, 3929, -1, -1, -1, -1, 1834, -1, -1, - -1, -1, 205, -1, -1, -1, 1903, -1, -1, 1906, - 1907, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 705, -1, - -1, -1, -1, 236, -1, 795, -1, -1, -1, -1, - 1937, 1938, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1888, -1, -1, 731, 258, -1, -1, -1, -1, - -1, -1, -1, 823, -1, -1, 1903, -1, -1, 1906, - 1907, -1, 3497, 3498, -1, -1, -1, -1, -1, -1, - -1, -1, 10, -1, -1, 13, -1, -1, 848, 17, - 18, 19, -1, -1, -1, 5388, 299, -1, -1, 3524, - 1937, 1938, 3527, -1, -1, -1, -1, -1, -1, 37, - -1, -1, -1, 41, -1, -1, 1807, -1, -1, 47, - 323, -1, -1, -1, -1, -1, 54, 1818, -1, -1, - 333, 334, -1, -1, 337, -1, -1, -1, 51, -1, - -1, -1, -1, 1834, -1, -1, -1, -1, 908, -1, - -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, - -1, 364, -1, -1, 367, -1, -1, -1, 371, -1, - -1, 374, -1, -1, 3599, 3600, 3601, 2074, 381, -1, - -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 873, 1888, -1, 3624, - 403, -1, -1, 131, -1, -1, -1, 410, -1, -1, - -1, -1, 1903, -1, 417, 1906, 1907, 420, 3643, -1, - -1, 424, -1, -1, -1, -1, -1, -1, -1, 432, - -1, 434, -1, -1, -1, -1, 439, 2074, -1, -1, - 3665, -1, -1, -1, -1, -1, 1937, 1938, -1, -1, - -1, -1, -1, -1, 5547, -1, 5549, -1, 1018, -1, - -1, -1, 465, -1, -1, 1025, -1, 195, -1, -1, - -1, -1, 200, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, - -1, 4238, -1, -1, 4241, -1, 4243, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 244, -1, -1, 4256, - -1, -1, -1, -1, -1, -1, 3751, -1, -1, -1, - -1, 4268, -1, -1, -1, 4272, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4291, -1, -1, 285, 1035, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1046, - -1, 299, 4309, 3798, 302, -1, -1, -1, 4315, 3804, - -1, 3806, -1, 2074, -1, 1062, -1, -1, -1, 1149, - -1, 51, -1, -1, 3819, -1, 3821, -1, -1, -1, - -1, -1, -1, 4340, -1, -1, -1, 4344, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4360, 4361, 4362, 4363, -1, -1, -1, - -1, -1, -1, 4370, 4371, 4372, 4373, -1, -1, -1, - -1, -1, 4379, 4380, -1, -1, -1, -1, 4385, 4386, - 1210, 4388, 4389, 4390, 4391, 4392, 4393, 4394, -1, -1, - -1, 1221, -1, 3888, 392, -1, -1, 4404, -1, -1, - -1, 4408, 4409, 4410, 4411, -1, -1, 10, 1238, -1, - 13, -1, -1, 1243, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, 4432, -1, -1, -1, -1, - -1, -1, 5795, -1, 37, 3930, -1, -1, -1, -1, - -1, -1, -1, 4450, 47, -1, -1, -1, -1, -1, - -1, 54, -1, -1, 3949, 453, -1, -1, 3953, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1219, -1, -1, -1, -1, 80, -1, 3974, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 494, -1, -1, -1, - -1, -1, -1, -1, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, -1, -1, -1, -1, -1, 4526, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1370, -1, -1, -1, -1, -1, -1, 5910, 1378, 1379, - -1, -1, 4559, -1, -1, -1, -1, -1, -1, 4566, - -1, 4568, -1, -1, -1, -1, -1, 170, -1, -1, - -1, -1, -1, 176, -1, -1, -1, -1, -1, 4074, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4596, - -1, -1, 195, -1, -1, -1, -1, 200, -1, -1, - -1, 1431, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 223, 224, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, - -1, 244, 13, -1, -1, -1, 17, 18, 19, -1, - -1, -1, -1, -1, -1, -1, -1, 6020, -1, -1, - -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, - -1, -1, 285, 54, -1, -1, -1, 6050, 6051, -1, - -1, -1, -1, -1, -1, -1, 299, -1, -1, 302, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, - -1, 2678, -1, -1, -1, 2682, 2683, -1, -1, -1, - -1, -1, 705, -1, -1, -1, -1, 1474, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 731, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4255, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2678, -1, 2740, -1, 2682, 2683, -1, -1, 2746, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 392, - -1, 6154, -1, -1, 1541, -1, 51, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4813, 4814, 4815, -1, - -1, 4306, 4819, 4820, 4821, 4822, 4311, -1, 4313, 4826, - 2787, -1, -1, -1, 195, -1, -1, -1, -1, 200, - -1, -1, -1, 2740, -1, 1582, -1, -1, -1, 2746, - -1, -1, 4337, -1, -1, -1, -1, -1, -1, -1, - 1680, -1, 223, 224, -1, -1, -1, 4864, 4865, 4866, - 4867, 4868, -1, 4870, 4871, -1, -1, -1, 1615, -1, - -1, -1, -1, 244, -1, 4882, 4883, -1, -1, -1, - 2787, -1, -1, -1, -1, -1, -1, -1, -1, 4384, - 873, 494, 4387, -1, -1, -1, -1, -1, -1, -1, - 503, 504, 505, 506, 507, 508, 509, 510, 511, -1, - 4917, -1, -1, -1, 285, -1, -1, 2678, -1, -1, - -1, 2682, 2683, -1, -1, -1, -1, -1, 299, -1, - -1, 302, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 327, -1, -1, -1, - -1, -1, -1, -1, -1, 1795, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 705, -1, -1, -1, 2740, - -1, -1, 4477, 4478, -1, 2746, -1, -1, -1, -1, - -1, -1, -1, 4488, -1, -1, -1, -1, -1, -1, - 1830, 731, -1, -1, -1, -1, -1, -1, -1, -1, - 4505, -1, 5019, -1, -1, -1, -1, -1, -1, -1, - -1, 392, -1, 1853, -1, -1, 2787, -1, -1, 2996, - -1, 1861, -1, -1, -1, -1, -1, -1, 409, 1869, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1035, -1, -1, -1, -1, -1, -1, -1, - 1807, -1, -1, 1046, -1, -1, -1, -1, -1, -1, - -1, 1818, -1, -1, -1, -1, -1, 5084, -1, 1062, - -1, -1, -1, 1913, 1914, -1, -1, 1834, -1, 2996, - -1, 4586, -1, -1, 4589, -1, -1, 1927, -1, -1, - -1, -1, 3069, -1, -1, -1, 3073, -1, -1, 5116, - 1940, 1941, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 494, -1, -1, -1, -1, -1, -1, - -1, -1, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 1888, -1, 873, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1903, -1, -1, 1906, - 1907, -1, 3069, -1, -1, -1, 3073, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - 1937, 1938, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 10, 5211, 37, 13, -1, -1, 3176, - 17, 18, 19, -1, -1, 47, -1, -1, -1, -1, - -1, -1, 54, -1, 3191, -1, -1, -1, -1, 3196, - 37, -1, -1, 40, -1, 2996, 1219, -1, -1, -1, - 47, -1, -1, -1, -1, -1, -1, 54, 80, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3225, -1, - -1, -1, -1, -1, -1, 2095, -1, -1, 5275, 3176, - -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3191, -1, -1, 5294, -1, 3196, - -1, -1, -1, 5300, 5301, -1, -1, -1, -1, -1, - -1, -1, -1, 5310, -1, 1035, -1, -1, 3069, -1, - 5317, -1, 3073, -1, -1, -1, 1046, -1, 3225, -1, - -1, -1, -1, -1, -1, -1, -1, 2074, -1, -1, - 4825, -1, 1062, -1, -1, -1, -1, 169, -1, -1, - -1, -1, -1, -1, -1, 5352, 5353, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5365, -1, - 5367, -1, -1, 195, -1, -1, -1, -1, 200, -1, - -1, -1, -1, -1, 4869, 5382, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4881, -1, 195, -1, - -1, 223, 224, 200, -1, -1, -1, -1, -1, -1, - 5407, -1, -1, -1, -1, -1, -1, -1, 5415, -1, - -1, -1, 244, -1, -1, 3176, 223, 224, -1, -1, - -1, 4916, -1, -1, -1, -1, -1, -1, -1, -1, - 3191, -1, -1, -1, -1, 3196, -1, 244, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 705, -1, -1, 285, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3225, -1, -1, 299, -1, -1, - 302, -1, -1, -1, -1, -1, 731, -1, 285, -1, - -1, -1, 5489, -1, -1, -1, -1, -1, -1, 1219, - -1, 1474, 299, 325, -1, 302, -1, -1, -1, 4994, - -1, -1, -1, -1, -1, 3472, 5513, -1, 3475, -1, - 3477, -1, -1, -1, -1, 3482, -1, 5524, 5013, -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, 1541, -1, - 392, -1, -1, 3530, -1, 3472, -1, -1, 3475, -1, - 3477, 3538, -1, -1, -1, 3482, -1, -1, -1, -1, - -1, -1, -1, -1, 5591, 392, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3563, -1, -1, 1582, - -1, -1, -1, -1, 5099, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 873, -1, - -1, -1, -1, 3530, -1, -1, -1, -1, -1, -1, - -1, 3538, 1615, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5661, -1, 3563, -1, -1, -1, - -1, -1, 494, -1, -1, -1, 3633, -1, 3635, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, -1, -1, -1, -1, -1, 494, -1, -1, - -1, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, -1, -1, -1, -1, - -1, 3472, -1, -1, 3475, -1, 3477, -1, -1, -1, - 5727, 3482, -1, -1, -1, -1, 3633, -1, 3635, -1, - -1, 5226, -1, 5228, 5741, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1474, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3729, -1, -1, -1, -1, -1, -1, 3530, - -1, -1, -1, -1, -1, -1, -1, 3538, -1, 5274, - 1035, -1, -1, -1, -1, -1, 2616, -1, -1, 5284, - -1, 1046, -1, 5800, -1, -1, -1, -1, -1, -1, - -1, -1, 3563, -1, 3771, -1, -1, 1062, -1, -1, - 10, 1541, -1, 13, -1, -1, -1, 17, 18, 19, - -1, -1, 3729, -1, 1807, -1, -1, -1, -1, 5324, - -1, -1, 3799, -1, 5329, 1818, -1, 37, -1, -1, - -1, 2671, -1, -1, -1, -1, -1, 47, -1, -1, - -1, 1834, 1582, -1, 54, -1, -1, -1, -1, 2689, - -1, -1, -1, 2693, 3771, -1, -1, 2697, -1, -1, - -1, -1, 3633, -1, 3635, -1, 2706, -1, -1, -1, - 80, -1, -1, -1, -1, 1615, -1, 5894, -1, -1, - -1, -1, 3799, -1, 2724, -1, -1, -1, -1, -1, - 3867, -1, -1, -1, -1, 1888, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5926, - 1903, -1, 3889, 1906, 1907, -1, -1, -1, 2758, -1, - 5937, 2678, -1, -1, -1, 2682, 2683, -1, -1, -1, - -1, -1, -1, -1, 3911, -1, -1, -1, 2778, 2779, - -1, -1, -1, -1, 1937, 1938, -1, -1, -1, -1, - 3867, -1, -1, -1, 1219, -1, -1, -1, 3729, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2809, - 2810, -1, 3889, 2813, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2740, -1, 195, -1, -1, -1, 2746, - 200, -1, -1, -1, 3911, -1, -1, 2837, 10, 2839, - 3771, 13, -1, 2843, -1, 17, 18, 19, -1, -1, - -1, -1, -1, 223, 224, -1, 3993, 2857, -1, -1, - -1, -1, 6039, -1, 2864, 37, -1, 2867, 3799, -1, - 2787, -1, -1, 2873, 244, 47, -1, -1, 5543, 208, - -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, - -1, 220, 5557, 2893, -1, -1, -1, -1, -1, 2899, - 4037, -1, 231, -1, -1, -1, 2906, 1807, 80, -1, - -1, -1, -1, -1, -1, 285, 3993, -1, 1818, -1, - 2920, 2074, -1, 5588, -1, 4062, -1, -1, -1, 299, - -1, -1, 302, 2933, 1834, -1, 3867, -1, 2938, -1, - -1, -1, -1, -1, 2944, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3889, -1, - 4037, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, - 3911, -1, 17, 18, 19, 4062, -1, -1, 1888, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 37, 1903, 3004, 40, 1906, 1907, -1, -1, - -1, -1, 47, -1, -1, -1, -1, -1, -1, 54, - -1, -1, 392, 195, 5689, -1, -1, -1, 200, -1, - -1, -1, -1, -1, -1, -1, -1, 1937, 1938, -1, - -1, -1, -1, -1, -1, 80, -1, -1, -1, 1474, - -1, 223, 224, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3993, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 244, 10, -1, -1, 13, -1, -1, 2996, - 17, 18, 19, -1, -1, 4222, -1, -1, -1, 5754, - -1, 5756, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, 4037, -1, -1, -1, - 47, -1, -1, 285, -1, -1, 1541, 54, -1, -1, - -1, -1, -1, 493, 494, -1, -1, 299, -1, -1, - 302, 4062, -1, 503, 504, 505, 506, 507, 508, 509, - 510, 511, -1, 80, -1, 4222, -1, -1, -1, 321, - -1, -1, 3069, -1, -1, -1, 3073, 1582, -1, 3159, - 195, 3161, -1, -1, -1, 200, -1, -1, -1, -1, - -1, -1, -1, -1, 2074, 4312, -1, -1, 3178, -1, - -1, -1, -1, -1, -1, 3185, -1, -1, 223, 224, - 1615, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4338, -1, -1, -1, -1, -1, -1, -1, 244, - -1, -1, -1, -1, -1, -1, -1, 5882, -1, -1, - 392, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5895, -1, -1, -1, -1, 4312, -1, -1, -1, 176, - -1, -1, -1, 5908, -1, -1, -1, -1, -1, -1, - 285, -1, -1, -1, -1, -1, -1, -1, 195, 3176, - -1, 4338, -1, 200, 299, -1, -1, 302, -1, -1, - -1, -1, -1, -1, 3191, -1, 3276, -1, -1, 3196, - -1, -1, 3282, -1, -1, -1, 223, 224, -1, -1, - -1, 4222, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5967, 5968, -1, -1, -1, 244, 3225, -1, - -1, -1, -1, -1, 643, -1, -1, -1, -1, -1, - 649, -1, 494, -1, -1, -1, -1, -1, -1, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, -1, -1, 4481, -1, -1, -1, 285, -1, - -1, -1, -1, -1, -1, -1, -1, 392, -1, -1, - -1, 6026, 299, -1, -1, 302, -1, 3367, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4312, 1807, -1, -1, -1, -1, -1, -1, -1, - -1, 4528, -1, 1818, -1, -1, 4533, -1, -1, -1, - -1, -1, -1, -1, 4481, -1, -1, 4338, -1, 1834, - -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, 4528, -1, -1, -1, 392, 4533, -1, -1, 494, - -1, -1, -1, 1888, -1, -1, -1, -1, 503, 504, - 505, 506, 507, 508, 509, 510, 511, -1, 1903, -1, - -1, 1906, 1907, -1, -1, -1, -1, -1, -1, -1, - -1, 820, -1, -1, -1, -1, -1, 3497, 3498, 6164, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 839, -1, 1937, 1938, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3524, 2678, -1, 3527, -1, 2682, - 2683, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 6209, -1, -1, -1, 4685, -1, - 4481, -1, 6217, 6218, -1, 3472, -1, 494, 3475, -1, - 3477, -1, 6227, -1, -1, 3482, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, -1, -1, -1, -1, - 909, -1, -1, -1, -1, -1, -1, 2740, -1, -1, - -1, -1, -1, 2746, -1, -1, -1, 4528, -1, 3599, - 3600, 3601, 4533, -1, -1, -1, -1, -1, 4685, -1, - -1, 10, -1, 3530, 13, -1, -1, -1, 17, 18, - 19, 3538, -1, -1, 3624, -1, -1, 956, -1, -1, - -1, -1, -1, -1, 2787, -1, -1, -1, 37, -1, - -1, 40, -1, 3643, -1, -1, 3563, -1, 47, 2074, - -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, - -1, -1, -1, 10, -1, 3665, 13, -1, -1, -1, - 17, 18, 19, -1, -1, 4812, -1, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, - 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 47, -1, -1, -1, -1, -1, -1, 54, -1, -1, - -1, -1, -1, -1, -1, 4852, 3633, -1, 3635, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 80, -1, 4812, -1, 4874, -1, -1, - -1, -1, 1071, -1, -1, -1, -1, -1, -1, -1, - 10, 3751, -1, 13, 4685, -1, -1, 17, 18, 19, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1100, 1101, 1102, -1, 4852, -1, 37, 2678, -1, - 40, -1, 2682, 2683, -1, -1, -1, 47, -1, -1, - -1, -1, -1, -1, 54, -1, 195, 4874, 3798, -1, - -1, 200, -1, -1, 3804, -1, 3806, -1, -1, -1, - 4947, -1, 3729, -1, -1, -1, -1, -1, -1, 3819, - 80, 3821, -1, -1, 223, 224, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2740, -1, -1, 2996, -1, 244, 2746, -1, 195, -1, - -1, -1, -1, 200, 3771, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4947, -1, -1, -1, -1, -1, 223, 224, -1, -1, - 1209, 4812, 3799, -1, -1, -1, 285, 2787, 3888, -1, - -1, -1, -1, -1, -1, -1, -1, 244, -1, -1, - 299, -1, -1, 302, -1, -1, -1, -1, 1237, -1, - -1, -1, -1, -1, -1, -1, 3069, -1, -1, -1, - 3073, 4852, -1, -1, -1, -1, -1, -1, -1, -1, - 3930, 5068, -1, -1, -1, 195, -1, -1, 285, -1, - 200, -1, -1, 4874, -1, -1, -1, -1, -1, 3949, - 3867, -1, 299, 3953, -1, 302, -1, -1, -1, -1, - -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, - -1, -1, 3889, -1, 3974, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, - -1, 5068, -1, 392, 3911, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4947, -1, -1, -1, - -1, -1, -1, 3176, -1, 285, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3191, 299, - -1, -1, 302, 3196, -1, 392, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1384, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5204, -1, -1, - -1, -1, 3225, -1, 4074, -1, 3993, -1, 425, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 494, 2996, -1, -1, -1, - -1, -1, -1, -1, 503, 504, 505, 506, 507, 508, - 509, 510, 511, -1, -1, -1, -1, -1, -1, -1, - 4037, -1, -1, -1, -1, -1, -1, 5204, -1, -1, - -1, -1, 392, -1, -1, 1464, 5273, 5068, -1, -1, - -1, -1, -1, -1, -1, 4062, -1, 494, -1, -1, - -1, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, -1, -1, -1, -1, 3069, - -1, -1, -1, 3073, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5273, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1547, -1, - -1, -1, -1, -1, -1, -1, -1, 1556, -1, -1, - -1, -1, -1, -1, 494, -1, -1, -1, -1, -1, - -1, -1, -1, 503, 504, 505, 506, 507, 508, 509, - 510, 511, -1, 2678, -1, 4255, 5393, 2682, 2683, 1588, - -1, -1, -1, -1, -1, 1594, 1595, -1, -1, 1598, - -1, -1, -1, 5204, -1, -1, 3176, -1, -1, -1, - -1, -1, 1611, -1, -1, 1614, -1, -1, -1, -1, - -1, 3191, -1, -1, -1, -1, 3196, -1, -1, -1, - -1, -1, -1, -1, -1, 4222, 4306, -1, -1, -1, - -1, 4311, -1, 4313, -1, 2740, 5393, -1, -1, 3472, - -1, 2746, 3475, -1, 3477, 3225, -1, -1, -1, 3482, - -1, -1, -1, -1, -1, -1, -1, 4337, -1, -1, - -1, 1670, 5273, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1684, -1, -1, -1, -1, - -1, -1, 2787, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3530, -1, -1, - -1, -1, -1, -1, 4384, 3538, -1, 4387, 5525, -1, - -1, -1, -1, 5530, 5531, 4312, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3563, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4338, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 817, 818, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5525, -1, - -1, -1, -1, 5530, 5531, -1, -1, -1, -1, -1, - -1, -1, 5393, -1, -1, 1794, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1805, 4477, 4478, -1, - 3633, -1, 3635, -1, 10, -1, -1, 13, 4488, -1, - -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4505, 5643, -1, -1, -1, - -1, 37, -1, -1, -1, 895, -1, -1, 1847, 1848, - -1, 47, -1, -1, -1, -1, 10, -1, 54, 13, - -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, - -1, -1, -1, 1872, -1, -1, -1, -1, -1, -1, - 1879, -1, -1, 37, 80, 5692, -1, -1, -1, -1, - -1, -1, -1, 47, 4481, -1, 5643, -1, -1, -1, - 54, 2996, 3472, -1, -1, 3475, 3729, 3477, -1, -1, - -1, -1, 3482, -1, -1, -1, 4586, -1, -1, 4589, - -1, -1, -1, -1, 5525, -1, 80, -1, -1, 5530, - 5531, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4528, -1, -1, -1, 5692, 4533, -1, 3771, -1, - -1, -1, -1, 1952, -1, -1, -1, -1, -1, -1, - 3530, -1, -1, -1, -1, -1, 1016, 1017, 3538, -1, - -1, -1, -1, -1, 3069, -1, 3799, -1, 3073, -1, - 176, -1, -1, -1, -1, -1, 1985, 1986, -1, -1, - -1, -1, -1, 3563, -1, -1, -1, -1, -1, 195, - -1, -1, -1, 2002, 200, -1, 2005, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 176, -1, -1, -1, -1, 223, 224, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 195, 5643, -1, 3867, -1, 200, -1, 244, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3633, -1, 3635, 3889, -1, -1, 223, - 224, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3176, -1, -1, -1, -1, -1, -1, 3911, 285, - 244, 5692, -1, -1, -1, 1335, 3191, -1, 4685, -1, - -1, 3196, -1, 299, -1, -1, 302, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3225, 285, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 299, -1, -1, 302, -1, - -1, -1, 1392, -1, -1, 4825, -1, -1, -1, 3729, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3993, -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, 392, -1, -1, 4869, - -1, 3771, -1, -1, -1, 1255, -1, -1, -1, -1, - -1, 4881, -1, -1, 4037, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, 4812, -1, 13, -1, 3799, - -1, 17, 18, 19, -1, -1, -1, -1, 392, 4062, - 1290, -1, -1, -1, -1, -1, 4916, -1, -1, -1, - -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 47, -1, -1, -1, 4852, -1, -1, 54, 1319, - 1320, 1321, -1, 1323, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4874, -1, -1, - -1, -1, -1, 1343, 80, -1, -1, 3867, 494, -1, - -1, -1, -1, -1, -1, -1, -1, 503, 504, 505, - 506, 507, 508, 509, 510, 511, -1, -1, -1, 3889, - -1, -1, -1, -1, 4994, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 494, 3911, -1, 5013, -1, -1, -1, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, -1, -1, - 4947, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3472, -1, -1, - 3475, -1, 3477, -1, 170, -1, -1, 3482, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1448, 4222, - -1, -1, 1452, 1453, -1, -1, -1, -1, -1, 195, - -1, -1, -1, -1, 200, -1, -1, -1, -1, -1, - -1, -1, -1, 3993, -1, -1, -1, -1, -1, 5099, - -1, -1, -1, -1, -1, 3530, -1, 223, 224, -1, - -1, -1, -1, 3538, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, - -1, 1701, -1, -1, -1, 1705, -1, 4037, 3563, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5068, -1, -1, -1, -1, -1, -1, -1, 4312, - -1, -1, 4062, -1, -1, -1, -1, -1, -1, 285, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 299, -1, 4338, 302, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2534, -1, -1, 3633, -1, - 3635, -1, -1, -1, -1, -1, 2545, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5226, -1, 5228, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, -1, -1, 13, 2577, -1, - -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 37, -1, -1, 5274, -1, 392, -1, -1, -1, - -1, 47, -1, -1, -1, -1, -1, 5204, 54, -1, - -1, -1, -1, -1, -1, 2624, 2625, -1, -1, -1, - -1, -1, -1, -1, 3729, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, 1695, 1696, 1697, -1, -1, - -1, -1, 4222, -1, 5324, -1, -1, -1, 4481, 2658, - -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, - 18, 19, -1, -1, -1, -1, 3771, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5273, -1, -1, 37, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, - -1, -1, -1, -1, 3799, 4528, 54, -1, 494, -1, - 4533, -1, -1, 149, -1, -1, -1, 503, 504, 505, - 506, 507, 508, 509, 510, 511, -1, -1, -1, -1, - -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4312, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 195, - -1, -1, -1, -1, 200, -1, -1, -1, 4338, -1, - -1, -1, 3867, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2022, -1, -1, -1, -1, 223, 224, -1, - -1, -1, 2791, -1, 3889, -1, -1, -1, -1, -1, - -1, 2041, -1, -1, -1, 2045, 5393, 2806, 244, -1, - -1, -1, -1, -1, -1, -1, 3911, -1, -1, -1, - 2060, 2061, 2062, -1, 2064, -1, -1, 10, -1, 2828, - 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 195, -1, 285, - -1, -1, 200, -1, 37, -1, -1, -1, -1, -1, - -1, -1, 4685, 299, 47, -1, 302, -1, -1, -1, - -1, 54, -1, 5543, -1, 223, 224, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5557, -1, -1, - -1, -1, -1, -1, -1, -1, 244, 80, 3993, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4481, -1, -1, -1, 2914, 2915, -1, 5588, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 285, 5525, -1, - -1, -1, 4037, 5530, 5531, -1, -1, -1, -1, -1, - -1, 299, -1, -1, 302, -1, 392, -1, 4528, -1, - -1, -1, -1, 4533, -1, -1, -1, 4062, -1, -1, - -1, -1, -1, -1, 2024, -1, -1, -1, -1, -1, - -1, -1, -1, 2033, 2034, 2035, 2036, 170, -1, 4812, - 2040, -1, 2042, -1, 2044, -1, -1, 2047, 2048, 2049, - -1, -1, -1, -1, -1, 2055, -1, -1, 2058, -1, - -1, -1, 195, -1, -1, -1, 3015, 200, -1, 5689, - -1, -1, -1, -1, -1, 2075, 2076, 2077, -1, 4852, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 223, 224, -1, 2093, 392, -1, -1, -1, -1, -1, - -1, 4874, -1, -1, -1, -1, 5643, -1, 494, -1, - -1, 244, -1, -1, -1, -1, -1, 503, 504, 505, - 506, 507, 508, 509, 510, 511, -1, -1, -1, -1, - -1, -1, -1, -1, 5754, -1, 5756, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 285, -1, 10, 5692, -1, 13, -1, -1, - -1, 17, 18, 19, -1, 4685, 299, -1, -1, 302, - 468, -1, -1, -1, 4947, -1, -1, 4222, -1, -1, - -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 47, -1, -1, -1, -1, 494, -1, 54, -1, - -1, -1, -1, -1, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2237, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 392, - -1, -1, 5882, -1, -1, -1, -1, 4312, -1, -1, - -1, -1, 27, -1, -1, -1, -1, -1, 33, -1, - -1, -1, -1, -1, 2284, 40, -1, -1, 5908, -1, - -1, -1, 4812, 4338, -1, 5068, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, - -1, -1, 4852, -1, -1, -1, -1, 2337, -1, 195, - -1, 2531, -1, -1, 200, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4874, -1, -1, -1, 113, -1, - -1, 494, -1, -1, -1, -1, -1, 223, 224, -1, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 134, - -1, -1, -1, -1, -1, -1, 141, -1, 244, 144, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3353, -1, 6026, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 171, -1, -1, -1, - -1, -1, -1, -1, -1, 3374, -1, 4947, -1, 285, - -1, 5204, -1, -1, -1, -1, 4481, -1, -1, -1, - -1, 2631, -1, 299, -1, -1, 302, -1, 203, -1, - -1, -1, 207, 2643, -1, -1, -1, -1, 2648, 27, - -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, - -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4528, -1, -1, -1, -1, 4533, -1, - -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, - 5273, -1, -1, -1, 259, -1, -1, -1, 263, -1, - 78, -1, -1, -1, 2514, 2515, 2516, 2517, 2518, 2519, - 2520, 2521, 2522, 278, 2524, -1, -1, 282, -1, -1, - -1, -1, -1, -1, -1, 2535, 392, 292, 2538, -1, - -1, -1, -1, -1, 6164, 113, 301, -1, 5068, -1, - -1, -1, -1, -1, -1, -1, -1, 312, 313, -1, - -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, - -1, -1, -1, 141, -1, -1, 144, -1, -1, 2579, - -1, -1, -1, 2583, -1, -1, 2586, -1, 2588, 6209, - -1, 2591, -1, -1, -1, -1, -1, 352, -1, -1, - 355, 356, 357, 171, -1, -1, -1, 6227, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5393, -1, -1, -1, -1, -1, 381, -1, -1, -1, - -1, -1, 387, -1, -1, 203, -1, -1, 494, 207, - 4685, -1, -1, -1, 2644, 2645, 401, 503, 504, 505, - 506, 507, 508, 509, 510, 511, -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, 5204, -1, -1, -1, -1, -1, - -1, 259, 3641, -1, -1, 263, -1, -1, -1, -1, - -1, 456, 3651, -1, -1, -1, -1, -1, -1, -1, - 278, -1, -1, -1, 282, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 292, -1, -1, 2727, -1, -1, - -1, -1, -1, 301, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 312, 313, -1, -1, -1, -1, - -1, -1, 5525, 5273, -1, -1, -1, 5530, 5531, -1, - -1, -1, -1, -1, -1, -1, -1, 4812, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, - -1, -1, -1, -1, 352, -1, -1, 355, 356, 357, - -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4852, -1, -1, - -1, -1, -1, 381, -1, -1, -1, -1, -1, 387, - -1, -1, 68, -1, -1, -1, -1, -1, -1, 4874, - -1, -1, -1, 401, -1, 81, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 97, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3810, 3811, 3812, -1, -1, -1, -1, -1, 115, - 5643, -1, -1, 5393, -1, 121, -1, -1, 3827, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 456, -1, - -1, -1, -1, 139, -1, -1, -1, -1, -1, -1, - -1, -1, 4947, -1, 150, -1, -1, -1, -1, -1, - -1, 3860, 3861, 159, -1, -1, 3865, -1, -1, 5692, - -1, -1, -1, -1, -1, -1, 172, -1, -1, -1, - -1, -1, -1, -1, -1, 181, -1, -1, -1, 185, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 205, - -1, -1, 2962, 2963, 2964, -1, -1, -1, 2968, -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, 2995, -1, -1, -1, -1, - -1, -1, 248, -1, -1, 5525, -1, -1, -1, -1, - 5530, 5531, 258, -1, -1, -1, -1, 3207, -1, -1, - -1, -1, 3971, 5068, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3228, -1, - -1, -1, -1, 3233, -1, -1, -1, -1, -1, 3239, - -1, -1, -1, 299, 3244, 3245, 302, 3247, -1, -1, - -1, -1, 3252, 3253, -1, 3255, -1, 3257, -1, -1, - -1, 3261, -1, -1, 3264, -1, -1, 323, -1, 3269, - -1, -1, -1, -1, -1, -1, -1, -1, 3278, -1, - -1, 337, -1, 3283, -1, -1, -1, -1, 344, -1, - -1, 3291, 3292, 3293, 3294, -1, -1, -1, 3298, 3299, - -1, 3301, -1, -1, -1, -1, -1, -1, 364, -1, - -1, -1, -1, 5643, -1, -1, -1, -1, 374, -1, - 3320, -1, 3322, -1, -1, 381, -1, -1, 384, 3329, - 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, -1, - -1, -1, -1, -1, -1, -1, -1, 403, -1, 5204, - -1, -1, -1, -1, 410, -1, -1, -1, -1, -1, - -1, 417, 5692, -1, 420, 421, -1, 423, 424, -1, - -1, -1, 4131, 4132, 4133, 3375, -1, -1, -1, -1, - -1, -1, -1, 439, -1, -1, -1, -1, -1, -1, - 446, -1, -1, 449, 3204, -1, 452, -1, -1, 3209, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 465, - -1, -1, -1, -1, -1, -1, -1, -1, 5273, -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, 3254, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3265, -1, 3267, 3268, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 3281, -1, -1, 3284, -1, 3286, -1, -1, -1, - -1, 33, -1, 35, 36, -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, 63, -1, 3323, -1, 3325, -1, 3327, 3518, -1, - -1, -1, -1, 75, -1, 77, 78, -1, -1, -1, - -1, -1, 84, -1, 86, -1, -1, -1, 5393, -1, - -1, -1, -1, -1, -1, -1, 98, -1, 100, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 117, -1, -1, 120, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 135, -1, 137, -1, -1, -1, 141, - -1, -1, 25, -1, -1, 147, -1, 30, -1, -1, - -1, -1, -1, 155, -1, 157, -1, -1, 3418, -1, - -1, -1, 164, 3423, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3438, -1, - 182, -1, -1, -1, -1, 68, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 199, 81, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 97, -1, -1, -1, -1, -1, - 5525, -1, -1, -1, -1, 5530, 5531, -1, -1, -1, - -1, -1, 115, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3503, 246, 247, -1, -1, -1, 4458, - 252, -1, -1, -1, -1, -1, 139, -1, -1, -1, - -1, -1, -1, -1, 266, -1, -1, 150, -1, -1, - -1, -1, -1, -1, -1, -1, 159, -1, -1, -1, - -1, 4490, 284, -1, -1, -1, -1, -1, -1, 172, - -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, - -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, - 3760, 3761, -1, 4522, -1, 3765, -1, -1, -1, -1, - -1, -1, 205, -1, -1, -1, 328, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5643, -1, - 342, -1, -1, -1, 3794, -1, 348, 349, 4557, 351, - -1, -1, -1, -1, 356, -1, -1, 359, -1, -1, - 362, -1, -1, 365, -1, 4574, -1, -1, -1, -1, - 372, -1, -1, -1, -1, 258, -1, 379, 380, -1, - -1, -1, -1, -1, -1, 387, -1, 5692, -1, 391, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 401, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 417, 299, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, - -1, -1, -1, -1, -1, 437, -1, -1, -1, -1, - 323, -1, -1, -1, -1, -1, 448, -1, -1, -1, - 333, 334, 454, -1, 337, -1, -1, 459, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 472, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 364, -1, -1, 367, -1, -1, -1, 371, -1, - -1, 374, -1, -1, 496, -1, 3756, -1, 381, -1, - -1, 384, 3762, -1, -1, -1, -1, 4716, 4717, 4718, - 4719, -1, -1, 515, -1, -1, 518, -1, -1, -1, - 403, -1, -1, -1, -1, -1, -1, 410, -1, -1, - -1, -1, -1, -1, 417, -1, -1, 420, -1, 3989, - -1, 424, -1, -1, -1, 3995, -1, -1, -1, 432, - -1, 434, -1, -1, -1, -1, 439, 30, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 452, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3841, 465, -1, 4034, 4035, -1, -1, 4038, 4039, - 4040, 4041, -1, -1, 4044, 4045, 4046, 4047, 4048, 4049, - 4050, 4051, 4052, 4053, 4054, -1, -1, -1, 81, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 97, -1, -1, 4077, -1, -1, - 4080, -1, 4082, -1, -1, 4085, 4086, -1, -1, -1, - -1, -1, 115, -1, -1, -1, -1, -1, 121, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4109, - 4110, 4111, 4112, -1, 4114, -1, 139, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 150, -1, -1, - -1, -1, -1, -1, -1, -1, 159, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 172, - -1, -1, -1, -1, -1, 178, -1, -1, -1, -1, - -1, -1, 185, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3990, 4181, 205, -1, -1, -1, -1, -1, 3998, -1, - 4000, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4010, -1, -1, -1, 4014, 4015, -1, -1, -1, -1, - 4020, -1, -1, 236, -1, -1, -1, -1, 4028, -1, - 4030, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4231, -1, -1, -1, 258, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4057, 4058, 4059, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4076, -1, -1, -1, - -1, -1, -1, -1, 4084, -1, 299, 4087, -1, 4089, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4107, -1, -1, - 323, -1, 5061, -1, -1, 4115, 4116, -1, -1, -1, - 333, 334, 4122, 5072, 337, -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, 364, -1, -1, 367, -1, -1, -1, 371, -1, - -1, 374, -1, -1, -1, -1, -1, -1, 381, -1, - -1, 384, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 403, -1, -1, -1, -1, -1, -1, 410, -1, 4199, - -1, -1, 415, -1, 417, -1, -1, 420, -1, -1, - -1, 424, -1, -1, -1, -1, 4216, -1, -1, -1, - -1, 434, -1, -1, -1, -1, 439, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 452, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 465, -1, -1, -1, -1, -1, -1, -1, - -1, 4451, -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, 4494, -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, -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, 5346, -1, -1, - -1, -1, 5351, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5370, -1, -1, -1, -1, 4616, -1, -1, -1, - 4620, 4621, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4639, - 4640, -1, -1, -1, -1, 4645, 4646, 4647, 4648, -1, - -1, -1, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, - 4660, 4661, 4662, 4663, 4664, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4689, - -1, -1, 4692, -1, 4694, -1, -1, -1, -1, -1, - 4700, -1, -1, 4703, 4704, -1, -1, 4707, 4708, -1, - -1, -1, -1, 4713, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4534, 4535, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4545, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5509, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4765, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4779, - -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, 4615, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4629, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4643, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5610, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4682, 4683, -1, -1, -1, -1, -1, 5638, - 4690, 4691, -1, -1, -1, 4695, -1, -1, -1, -1, - -1, -1, 4702, -1, -1, 4705, 4706, -1, -1, -1, - -1, -1, 4712, -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, 4755, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4766, -1, -1, -1, - -1, -1, -1, -1, 4774, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4976, -1, -1, -1, - -1, -1, -1, -1, 4794, -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, -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, 5063, 5064, -1, -1, -1, -1, -1, - -1, 5071, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4897, -1, -1, - -1, -1, -1, -1, 4904, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5114, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5132, 5133, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5151, -1, 5153, -1, -1, -1, 5157, 5158, 5159, - -1, -1, 5162, 4973, -1, 5165, 5166, -1, -1, -1, - -1, 5171, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5188, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5206, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5220, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5230, -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, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5295, -1, 5297, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5130, -1, -1, -1, -1, -1, 5136, 5137, 5138, -1, - -1, -1, 5332, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5163, 5164, -1, -1, 5167, -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, 5194, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5205, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5221, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5423, -1, 5425, 5426, 5427, 5428, 5429, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5442, 5443, 5444, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5456, -1, -1, 5459, - -1, -1, -1, 5463, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5481, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5496, -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, -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, -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, - 5430, -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, 5474, -1, -1, 5667, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5686, -1, 5688, -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, 5535, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5740, -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, 5577, -1, -1, - -1, -1, -1, -1, -1, -1, 5776, -1, -1, -1, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 894, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 876, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 0, 877, 260, 878, 879, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 880, 881, 274, 0, 275, 276, 277, 278, 0, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 882, 883, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 0, 342, + 343, 344, 345, 0, 0, 347, 0, 348, 349, 350, + 885, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 0, 0, 0, 365, + 366, 0, 367, 368, 369, 370, 1184, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 0, 388, 389, 390, 391, 886, + 887, 0, 888, 0, 395, 396, 397, 398, 399, 889, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 0, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 0, 437, 438, 439, 440, 441, 442, 443, 444, 890, + 446, 891, 448, 449, 450, 451, 452, 453, 454, 455, + 0, 0, 458, 0, 459, 460, 461, 462, 0, 0, + 464, 892, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 0, 478, + 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 0, 497, + 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 893, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 0, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 894, 558, 559, 560, 561, 562, + 895, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 0, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 896, 897, 0, 0, 595, + 596, 0, 598, 0, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 0, 898, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 876, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 646, 647, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 0, + 877, 260, 878, 879, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 880, 881, 274, 0, + 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 0, 0, 0, 302, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 882, 883, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 0, 342, 343, 344, 345, 0, + 0, 347, 0, 348, 349, 350, 885, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 0, 0, 0, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 0, 388, 389, 390, 391, 886, 887, 0, 888, 0, + 395, 396, 397, 398, 399, 889, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 0, 420, 421, 422, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 0, 437, 438, 439, + 440, 441, 442, 443, 444, 890, 446, 891, 448, 449, + 450, 451, 452, 453, 454, 455, 0, 0, 458, 0, + 459, 460, 461, 462, 0, 0, 464, 892, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 0, 478, 479, 480, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 893, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 2737, 558, 559, 560, 561, 562, 895, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 896, 897, 0, 0, 595, 596, 0, 598, 0, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 0, 898, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 876, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 646, 647, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 0, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 0, 478, 479, 480, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 0, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 0, 260, 0, 0, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 0, 0, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 0, 0, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 0, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 0, 0, 0, + 0, 0, 395, 396, 397, 398, 399, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 0, 446, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 0, 0, 464, 0, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 0, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 0, 558, 559, 560, 561, 562, 0, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, + 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 0, 0, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 0, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647 +}; + +static const yytype_int16 yycheck[] = +{ + 6, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 0, 0, 206, 0, 0, 23, 683, 25, + 1038, 0, 214, 29, 211, 217, 21, 211, 34, 35, + 36, 1047, 38, 1010, 662, 41, 42, 840, 44, 8, + 46, 939, 21, 1225, 1164, 1027, 15, 53, 54, 55, + 837, 22, 1661, 189, 796, 797, 798, 28, 0, 1594, + 802, 0, 933, 894, 935, 1578, 2845, 1042, 1011, 1504, + 882, 883, 0, 913, 0, 864, 1036, 2719, 36, 2043, + 892, 1571, 2720, 3073, 1113, 756, 1578, 715, 830, 1272, + 1259, 3248, 715, 197, 45, 863, 216, 1583, 1901, 3138, + 3431, 2051, 3433, 847, 897, 1087, 3730, 760, 3526, 1091, + 230, 951, 1244, 2032, 1096, 4278, 1248, 738, 2069, 1251, + 1252, 3955, 1729, 2070, 1106, 1624, 1625, 2991, 3614, 1628, + 3648, 752, 3650, 3928, 762, 23, 1571, 3676, 1120, 3678, + 3085, 3944, 3880, 4300, 664, 44, 4362, 3484, 36, 3536, + 4838, 4321, 2108, 2969, 2110, 191, 3977, 761, 1461, 191, + 175, 1696, 1697, 751, 5232, 1914, 1040, 4601, 4569, 1151, + 1973, 2741, 2742, 1561, 4607, 2065, 2066, 2067, 2068, 4624, + 3100, 2071, 5324, 2073, 2074, 5364, 4612, 815, 4739, 2, + 4741, 197, 198, 199, 962, 4407, 202, 3390, 5152, 5454, + 206, 4854, 208, 4856, 1690, 211, 35, 976, 214, 1010, + 4611, 217, 2595, 42, 220, 843, 222, 2600, 1019, 225, + 843, 3500, 2636, 229, 2704, 231, 50, 2706, 1029, 5103, + 5490, 1717, 1001, 1621, 5160, 3546, 3292, 1006, 5502, 3942, + 868, 6, 936, 3385, 3478, 5147, 4928, 11, 0, 936, + 1638, 11, 0, 5755, 0, 0, 1544, 23, 736, 6, + 13, 739, 6, 1102, 41, 3081, 40, 23, 12, 2683, + 49, 5355, 122, 3038, 25, 3040, 3041, 5151, 2084, 1118, + 3045, 3046, 3047, 1051, 3049, 3050, 3051, 960, 4777, 2038, + 25, 6, 5451, 6, 6, 6004, 39, 12, 6, 12, + 3534, 6, 930, 27, 12, 45, 97, 12, 2677, 39, + 15, 16, 3483, 11, 3485, 3486, 179, 5739, 6, 870, + 56, 880, 881, 6, 12, 87, 225, 5411, 1001, 124, + 39, 2677, 891, 1006, 6, 0, 5418, 5419, 49, 1081, + 12, 82, 6, 173, 977, 94, 11, 6, 12, 6, + 49, 15, 16, 12, 4461, 12, 0, 6, 15, 16, + 37, 196, 3, 12, 6, 6, 31, 11, 179, 6, + 12, 12, 6, 1524, 6, 12, 65, 39, 12, 150, + 12, 1880, 158, 3, 180, 5, 6, 31, 186, 39, + 179, 11, 12, 224, 6, 13, 5, 53, 184, 124, + 6, 115, 11, 157, 6, 5691, 12, 5693, 124, 191, + 122, 5697, 5698, 4625, 1047, 157, 173, 195, 142, 1047, + 310, 258, 5443, 290, 122, 6122, 6123, 179, 135, 47, + 82, 179, 197, 179, 179, 122, 65, 137, 65, 146, + 172, 206, 1417, 316, 1473, 1405, 32, 44, 65, 214, + 1103, 203, 217, 403, 361, 203, 31, 203, 203, 324, + 390, 5963, 80, 38, 181, 126, 344, 179, 45, 5371, + 273, 5, 258, 15, 380, 37, 117, 11, 1290, 1291, + 298, 29, 268, 448, 27, 65, 60, 31, 167, 65, + 1465, 316, 27, 31, 6385, 273, 683, 5757, 33, 385, + 38, 89, 122, 228, 52, 4939, 483, 450, 31, 101, + 1322, 122, 228, 264, 179, 38, 80, 433, 4702, 4703, + 4704, 13, 4706, 4707, 4708, 4709, 4710, 173, 1622, 264, + 6440, 82, 5954, 299, 65, 179, 82, 5491, 203, 39, + 1333, 310, 82, 299, 6454, 1639, 733, 6438, 65, 435, + 1171, 197, 495, 82, 195, 47, 472, 131, 535, 203, + 303, 681, 173, 82, 225, 94, 472, 687, 393, 294, + 5654, 478, 450, 13, 539, 94, 255, 127, 294, 699, + 82, 169, 373, 127, 355, 1353, 13, 1461, 80, 539, + 90, 394, 410, 185, 294, 312, 158, 13, 1573, 142, + 6, 1205, 326, 223, 201, 535, 94, 142, 340, 446, + 477, 1232, 299, 370, 479, 1383, 394, 495, 6315, 326, + 47, 10, 1243, 6125, 13, 179, 179, 51, 17, 18, + 19, 356, 273, 219, 179, 276, 144, 1265, 258, 1260, + 356, 303, 1265, 245, 368, 535, 389, 34, 1199, 179, + 1462, 40, 406, 80, 440, 390, 442, 663, 186, 5312, + 34, 368, 129, 669, 406, 671, 539, 673, 218, 4407, + 676, 219, 535, 1655, 218, 525, 1658, 683, 668, 403, + 475, 5702, 688, 469, 690, 374, 400, 438, 186, 668, + 696, 431, 203, 299, 492, 477, 186, 4435, 5984, 478, + 535, 463, 5962, 438, 453, 535, 115, 448, 539, 1727, + 1728, 5870, 488, 1864, 720, 762, 5875, 5876, 469, 375, + 1279, 1280, 334, 729, 1667, 4882, 668, 733, 539, 668, + 736, 3100, 6234, 739, 469, 478, 448, 448, 482, 535, + 668, 539, 668, 494, 6453, 374, 1547, 374, 539, 755, + 539, 766, 476, 394, 3100, 1426, 6465, 374, 1317, 494, + 2048, 535, 526, 527, 535, 1725, 496, 478, 25, 5258, + 1403, 448, 1400, 539, 534, 1408, 1409, 1400, 531, 478, + 1408, 1409, 761, 539, 535, 4580, 538, 496, 535, 1628, + 538, 535, 538, 538, 374, 5749, 448, 1491, 374, 535, + 535, 1352, 808, 939, 1491, 776, 1483, 778, 1609, 780, + 6232, 817, 6314, 525, 1645, 786, 5898, 4620, 4442, 2001, + 535, 790, 535, 539, 4448, 537, 4621, 535, 526, 527, + 535, 837, 838, 4940, 840, 841, 1734, 226, 413, 845, + 1609, 1680, 1681, 374, 4951, 533, 496, 535, 4366, 537, + 539, 5753, 396, 859, 431, 1975, 6116, 374, 864, 6361, + 403, 526, 527, 535, 870, 6129, 1058, 516, 517, 510, + 1062, 535, 1064, 538, 1061, 413, 535, 1061, 535, 1438, + 1439, 1432, 526, 527, 516, 517, 535, 4625, 2008, 6144, + 413, 927, 127, 535, 538, 927, 1569, 448, 535, 27, + 2020, 535, 448, 535, 4241, 33, 526, 527, 448, 808, + 539, 917, 539, 531, 4107, 4108, 1549, 526, 527, 448, + 25, 471, 539, 312, 122, 931, 1559, 471, 471, 448, + 929, 929, 929, 929, 929, 929, 929, 929, 944, 929, + 929, 929, 929, 25, 929, 929, 448, 1498, 1052, 1622, + 929, 1616, 5634, 959, 953, 720, 3772, 3773, 492, 539, + 448, 3777, 462, 539, 729, 864, 1639, 6051, 4671, 533, + 3915, 736, 978, 537, 739, 4117, 6236, 983, 984, 3549, + 488, 3551, 516, 525, 371, 539, 539, 929, 1862, 6073, + 929, 533, 526, 527, 539, 537, 496, 371, 385, 4192, + 387, 929, 4313, 929, 5958, 535, 473, 264, 539, 1015, + 1016, 539, 4530, 1646, 142, 421, 422, 1650, 1651, 4253, + 25, 159, 539, 4257, 1544, 3505, 435, 3506, 539, 179, + 5214, 3445, 1038, 1039, 4090, 5961, 528, 529, 530, 531, + 5474, 539, 1881, 4529, 23, 944, 1052, 871, 1054, 539, + 25, 2069, 1058, 6313, 115, 1061, 1062, 30, 1064, 173, + 959, 6240, 6241, 1069, 841, 115, 453, 5941, 845, 4240, + 27, 4242, 4243, 6011, 54, 2050, 33, 65, 6, 6045, + 5481, 127, 65, 5957, 6, 352, 6154, 1093, 528, 529, + 530, 531, 347, 3858, 1100, 1101, 3912, 122, 5641, 526, + 527, 528, 529, 530, 531, 3, 3475, 39, 127, 3478, + 526, 527, 528, 529, 530, 531, 1122, 1123, 1124, 138, + 1126, 94, 1128, 6207, 1130, 1131, 324, 117, 6, 3475, + 2105, 122, 3478, 390, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 31, 5360, 326, 6401, 179, 404, 3616, + 179, 127, 157, 6295, 3537, 180, 4435, 3526, 1164, 264, + 1166, 1167, 27, 6117, 191, 3534, 190, 78, 1910, 387, + 4656, 203, 218, 5385, 4592, 23, 448, 5830, 385, 25, + 3526, 438, 264, 74, 6363, 142, 1015, 1016, 3534, 368, + 122, 179, 13, 1199, 473, 93, 334, 127, 326, 1827, + 6126, 440, 304, 442, 208, 195, 35, 36, 181, 65, + 313, 1844, 469, 311, 2017, 2018, 175, 25, 198, 1225, + 42, 1227, 403, 203, 10, 1231, 1205, 1233, 154, 331, + 372, 17, 18, 19, 56, 453, 471, 494, 290, 1208, + 368, 1210, 218, 1212, 316, 1214, 25, 1216, 1217, 1218, + 148, 1257, 1625, 1259, 1223, 1628, 535, 1263, 27, 80, + 2134, 403, 179, 290, 155, 66, 91, 539, 535, 448, + 295, 1277, 101, 74, 254, 403, 5827, 142, 535, 535, + 535, 479, 6424, 273, 175, 390, 276, 1052, 218, 264, + 25, 113, 121, 1058, 270, 5721, 222, 1062, 448, 1064, + 310, 725, 5736, 294, 25, 1352, 2741, 1978, 390, 134, + 3880, 5745, 210, 1319, 5747, 5149, 6242, 6385, 181, 5720, + 299, 2807, 5767, 1136, 1945, 5751, 6292, 751, 535, 158, + 5873, 355, 6270, 438, 2102, 3084, 2007, 535, 1959, 5142, + 2011, 5136, 1348, 1349, 1350, 2016, 1352, 2839, 2019, 5750, + 1938, 1972, 5173, 778, 779, 780, 438, 3308, 783, 784, + 785, 5795, 386, 1128, 469, 1130, 1131, 1373, 793, 326, + 6438, 299, 2675, 142, 435, 513, 349, 299, 492, 4897, + 385, 1985, 1970, 6, 316, 435, 6312, 469, 105, 494, + 316, 374, 2069, 2070, 492, 217, 307, 6323, 122, 390, + 3970, 406, 390, 4921, 394, 2891, 1421, 2084, 1414, 3, + 456, 368, 494, 156, 387, 390, 2093, 2082, 264, 448, + 3027, 299, 3889, 3, 3, 471, 1432, 182, 408, 1616, + 535, 435, 535, 535, 290, 333, 6362, 535, 435, 2827, + 1476, 1477, 4362, 1479, 1476, 1477, 403, 1479, 473, 337, + 477, 299, 471, 535, 345, 74, 264, 258, 5628, 511, + 492, 326, 205, 438, 1942, 5622, 396, 539, 290, 6395, + 27, 188, 1478, 165, 6136, 94, 1482, 1483, 451, 1957, + 453, 3437, 1960, 6171, 457, 264, 349, 1493, 1494, 1495, + 1496, 180, 1498, 4880, 469, 471, 484, 241, 2049, 93, + 2051, 6427, 4839, 368, 329, 31, 2057, 1880, 3117, 5943, + 398, 70, 2063, 2064, 93, 1521, 3322, 3323, 374, 494, + 510, 3327, 158, 533, 2075, 331, 312, 537, 2048, 264, + 268, 448, 2010, 181, 2085, 364, 2014, 2015, 403, 465, + 2091, 471, 122, 264, 390, 535, 360, 403, 117, 316, + 1556, 304, 440, 147, 442, 1561, 294, 326, 1564, 85, + 535, 5100, 88, 3369, 3370, 309, 464, 396, 147, 95, + 392, 1577, 1578, 290, 472, 466, 376, 475, 331, 2597, + 1586, 10, 390, 1589, 13, 142, 94, 6249, 17, 18, + 19, 158, 438, 525, 1493, 350, 1495, 123, 4637, 368, + 324, 533, 74, 535, 536, 537, 435, 539, 525, 4843, + 1616, 390, 1618, 91, 4848, 1621, 441, 4851, 1624, 1625, + 537, 313, 1628, 469, 2599, 91, 195, 127, 295, 384, + 438, 1630, 1638, 1057, 403, 1641, 1635, 5853, 1644, 304, + 311, 330, 142, 398, 1068, 331, 3136, 5385, 494, 188, + 479, 6136, 311, 191, 483, 390, 134, 183, 5492, 438, + 1084, 469, 1668, 492, 312, 27, 331, 261, 134, 390, + 196, 485, 396, 4593, 325, 294, 184, 5480, 304, 6113, + 1686, 436, 261, 209, 126, 301, 494, 516, 488, 535, + 469, 311, 1698, 1699, 1700, 1701, 1702, 3132, 403, 124, + 208, 3136, 203, 438, 273, 331, 535, 276, 6370, 5872, + 1716, 435, 1711, 390, 294, 494, 1715, 438, 94, 299, + 409, 1727, 1728, 1729, 2927, 115, 182, 535, 445, 535, + 344, 290, 326, 268, 469, 124, 4600, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 122, 326, 469, 2765, + 258, 1943, 290, 4518, 334, 479, 535, 314, 4523, 494, + 396, 191, 170, 455, 6249, 242, 1953, 1954, 492, 536, + 1954, 311, 539, 494, 203, 423, 314, 4556, 4594, 173, + 142, 1206, 535, 225, 1209, 364, 1211, 1686, 1213, 368, + 1215, 185, 516, 372, 1219, 114, 6230, 226, 138, 435, + 535, 2675, 533, 228, 471, 3008, 537, 315, 137, 203, + 139, 535, 116, 290, 535, 372, 373, 1241, 154, 154, + 1826, 403, 294, 666, 403, 394, 497, 122, 1932, 396, + 403, 1837, 167, 492, 539, 385, 450, 4407, 173, 1845, + 1846, 380, 342, 479, 438, 10, 403, 441, 13, 535, + 403, 329, 17, 18, 19, 1861, 492, 473, 535, 438, + 290, 403, 441, 329, 450, 4435, 161, 368, 435, 294, + 535, 372, 492, 1879, 1880, 6309, 242, 285, 218, 356, + 516, 495, 535, 312, 4253, 6370, 124, 222, 4257, 1895, + 1896, 1897, 1898, 6056, 420, 2082, 326, 423, 1904, 535, + 290, 196, 403, 370, 208, 1911, 2737, 4253, 1914, 535, + 299, 4257, 479, 492, 2717, 758, 4836, 207, 294, 255, + 255, 471, 5756, 1929, 290, 492, 1932, 290, 384, 406, + 122, 356, 440, 170, 442, 391, 1942, 1943, 368, 477, + 31, 510, 398, 5738, 314, 453, 326, 1953, 1954, 516, + 269, 1957, 492, 145, 1960, 274, 326, 539, 466, 151, + 2937, 469, 5765, 441, 31, 294, 539, 82, 535, 1975, + 1976, 306, 244, 165, 212, 441, 1982, 174, 1984, 94, + 436, 316, 536, 535, 378, 539, 539, 412, 368, 832, + 5382, 492, 473, 4362, 471, 2001, 167, 539, 368, 294, + 290, 2875, 2008, 459, 2010, 368, 1985, 2013, 2014, 2015, + 247, 2017, 2018, 210, 2020, 516, 4362, 2694, 1987, 2066, + 1989, 2027, 1991, 403, 1993, 492, 1995, 2901, 2034, 6245, + 1999, 2037, 2038, 5519, 5426, 2041, 2837, 325, 2044, 2045, + 406, 3161, 2032, 2049, 125, 2051, 137, 477, 5205, 516, + 2056, 2057, 290, 2032, 535, 4625, 294, 2063, 2064, 2065, + 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, + 137, 4035, 539, 2079, 5308, 2081, 2082, 2083, 2084, 2085, + 2086, 2087, 2088, 2041, 255, 2091, 390, 2093, 2094, 4053, + 2032, 2097, 325, 2032, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 2654, 2032, 471, 2032, 299, 2114, 2115, + 2116, 3546, 5102, 325, 484, 403, 125, 6342, 199, 4069, + 125, 3556, 5956, 3021, 3022, 3023, 2132, 3001, 2027, 433, + 465, 435, 2765, 414, 41, 306, 2937, 2765, 184, 448, + 4091, 3631, 101, 6419, 6451, 4096, 3755, 312, 2987, 2917, + 6366, 5141, 5955, 5974, 368, 535, 2044, 0, 439, 4106, + 56, 6468, 121, 0, 1929, 6441, 2172, 1932, 489, 387, + 403, 3153, 3355, 2915, 2975, 2917, 5121, 1942, 1943, 5336, + 5719, 5338, 5513, 10, 21, 762, 13, 6412, 1612, 403, + 199, 403, 1957, 3067, 199, 1960, 3631, 13, 533, 158, + 74, 536, 537, 37, 296, 4095, 5126, 103, 4011, 3010, + 4100, 4101, 258, 326, 2835, 385, 525, 387, 539, 56, + 47, 2990, 492, 4592, 4593, 132, 385, 54, 537, 3728, + 3837, 47, 128, 483, 10, 453, 3843, 13, 815, 492, + 372, 17, 18, 19, 538, 2010, 4592, 4593, 122, 2014, + 2015, 147, 5770, 80, 181, 368, 152, 1630, 492, 372, + 419, 37, 1635, 455, 80, 3104, 3105, 3106, 3107, 539, + 3109, 403, 368, 2279, 5090, 467, 5092, 96, 174, 154, + 27, 539, 178, 453, 6118, 535, 539, 6391, 215, 6393, + 403, 868, 167, 3779, 2965, 3134, 2967, 193, 173, 5064, + 2971, 5066, 5067, 5068, 396, 539, 5792, 403, 2941, 183, + 4941, 360, 4231, 137, 360, 139, 2949, 347, 4949, 2952, + 139, 124, 4128, 4129, 4130, 4131, 5744, 2333, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 1711, 294, + 3826, 165, 1715, 435, 299, 390, 93, 222, 397, 4239, + 3224, 6455, 114, 930, 191, 492, 453, 3540, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 373, 50, 5700, + 173, 198, 326, 303, 102, 420, 203, 102, 396, 516, + 255, 360, 448, 2389, 74, 3127, 435, 479, 135, 179, + 80, 73, 4198, 4199, 440, 142, 442, 403, 353, 146, + 492, 6235, 539, 299, 94, 364, 230, 473, 5328, 212, + 364, 180, 174, 203, 368, 1839, 3951, 435, 397, 440, + 294, 442, 167, 469, 516, 299, 1850, 254, 173, 6053, + 492, 306, 122, 3086, 124, 492, 485, 396, 326, 485, + 5360, 316, 1866, 535, 536, 214, 538, 485, 210, 403, + 226, 6246, 180, 326, 516, 180, 435, 353, 326, 516, + 229, 479, 286, 287, 288, 289, 326, 4836, 173, 293, + 294, 345, 3346, 535, 4843, 299, 435, 326, 3352, 4848, + 368, 40, 4851, 252, 326, 312, 214, 290, 362, 214, + 4836, 294, 197, 183, 173, 368, 1920, 4843, 34, 40, + 368, 229, 4848, 62, 229, 4851, 485, 269, 368, 29, + 255, 1935, 274, 393, 1938, 1939, 356, 535, 197, 368, + 479, 5852, 212, 3291, 252, 61, 368, 252, 1883, 369, + 403, 245, 52, 492, 3432, 403, 312, 3208, 267, 3, + 6058, 6059, 83, 403, 534, 1969, 1970, 535, 1903, 539, + 82, 525, 5, 281, 403, 114, 281, 516, 11, 399, + 272, 306, 94, 537, 28, 294, 19, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 535, 2583, 3211, 326, + 536, 408, 5502, 539, 37, 310, 396, 2593, 2594, 492, + 465, 2597, 466, 167, 6, 284, 1005, 534, 2604, 173, + 12, 40, 539, 6398, 294, 2797, 6, 2799, 2800, 299, + 379, 2798, 12, 516, 2798, 1024, 535, 364, 1027, 308, + 6, 368, 5656, 62, 453, 435, 12, 5661, 5662, 93, + 2636, 455, 2638, 530, 536, 2641, 2642, 539, 535, 2645, + 537, 2647, 2637, 467, 2650, 3322, 3323, 206, 2654, 393, + 3327, 379, 3784, 6, 379, 345, 403, 536, 533, 12, + 539, 5581, 537, 410, 3457, 3458, 5431, 6, 370, 479, + 6, 2677, 362, 12, 3617, 114, 12, 2683, 2684, 6, + 268, 255, 492, 6201, 148, 12, 102, 514, 2694, 2113, + 2794, 3435, 3369, 3370, 516, 517, 268, 2703, 2704, 526, + 527, 528, 529, 530, 531, 264, 516, 3547, 98, 3652, + 269, 2717, 6, 535, 2834, 274, 516, 517, 12, 2725, + 4684, 2727, 5, 3491, 5, 535, 6417, 3392, 11, 6420, + 11, 290, 306, 5772, 5, 535, 4700, 6, 536, 203, + 11, 539, 4548, 12, 183, 3557, 210, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 3731, 5126, 3940, 154, + 197, 2767, 324, 2769, 180, 6, 325, 206, 6, 145, + 4379, 12, 167, 3324, 12, 151, 466, 2783, 173, 4730, + 5126, 536, 208, 6301, 539, 3336, 4737, 4738, 2794, 22, + 272, 2797, 2798, 2799, 2800, 28, 2722, 2803, 214, 4602, + 2806, 536, 310, 310, 539, 3438, 2926, 315, 315, 2767, + 3438, 2769, 533, 229, 373, 5385, 537, 3618, 1001, 530, + 5636, 2827, 3373, 1006, 535, 264, 537, 222, 5644, 5645, + 269, 668, 528, 2839, 396, 274, 252, 533, 397, 535, + 453, 537, 4377, 528, 4379, 89, 2852, 2853, 533, 485, + 535, 290, 537, 2859, 535, 154, 537, 6188, 4344, 418, + 255, 245, 2868, 295, 296, 281, 3417, 536, 167, 333, + 539, 61, 4364, 435, 173, 533, 393, 535, 4313, 537, + 71, 72, 536, 4052, 2890, 539, 325, 3007, 286, 287, + 288, 289, 3921, 6050, 310, 3335, 536, 3337, 3338, 539, + 535, 3883, 3703, 3574, 11, 2911, 536, 2806, 483, 539, + 469, 306, 2677, 2668, 2669, 2670, 380, 479, 2924, 536, + 535, 316, 539, 222, 761, 762, 15, 16, 536, 4415, + 492, 539, 433, 5853, 373, 5505, 533, 536, 535, 5308, + 539, 2947, 536, 536, 2950, 539, 539, 35, 36, 536, + 3571, 3572, 539, 535, 516, 537, 255, 536, 397, 5328, + 539, 310, 5308, 379, 396, 390, 536, 3595, 432, 539, + 2976, 2977, 3595, 535, 492, 5613, 494, 536, 536, 418, + 536, 539, 5328, 539, 3726, 2991, 539, 2993, 2994, 3731, + 535, 5360, 536, 2964, 2677, 539, 536, 61, 536, 539, + 464, 539, 492, 435, 494, 3879, 485, 306, 472, 154, + 536, 475, 2911, 539, 5360, 536, 50, 316, 539, 3025, + 3026, 3027, 167, 536, 536, 3031, 539, 539, 173, 2794, + 469, 228, 2797, 3039, 2799, 2800, 6367, 537, 3877, 536, + 5960, 536, 539, 512, 539, 536, 3052, 479, 539, 440, + 536, 442, 3058, 539, 3060, 536, 536, 473, 539, 539, + 492, 536, 313, 3255, 539, 3257, 3258, 3073, 173, 137, + 465, 139, 3078, 536, 15, 16, 539, 222, 3084, 4614, + 536, 3087, 536, 539, 516, 539, 536, 310, 536, 539, + 927, 539, 929, 3099, 3100, 536, 4609, 165, 539, 3720, + 385, 386, 536, 535, 3110, 539, 536, 385, 386, 539, + 255, 1153, 6443, 512, 3120, 4298, 3122, 1159, 492, 313, + 494, 3742, 6112, 536, 310, 536, 539, 1169, 539, 536, + 50, 1173, 539, 5502, 492, 1177, 494, 1179, 5288, 536, + 4630, 5291, 539, 1185, 536, 516, 517, 539, 3252, 1191, + 2095, 536, 1194, 2098, 539, 3161, 5502, 3163, 440, 3165, + 442, 306, 230, 385, 386, 10, 465, 3909, 13, 385, + 386, 316, 17, 18, 19, 536, 536, 536, 539, 539, + 539, 4363, 536, 4365, 536, 539, 4368, 539, 536, 5367, + 5368, 539, 3198, 3119, 536, 4630, 4171, 539, 536, 536, + 228, 539, 539, 536, 512, 3392, 539, 5849, 536, 6129, + 536, 539, 5581, 539, 536, 5819, 5820, 539, 286, 287, + 288, 289, 178, 536, 536, 293, 539, 539, 539, 536, + 536, 299, 539, 539, 536, 5581, 536, 539, 536, 539, + 536, 539, 137, 539, 139, 536, 3252, 3253, 539, 3255, + 4039, 3257, 3258, 492, 3260, 494, 3927, 3885, 528, 3887, + 536, 3267, 3885, 539, 3887, 4225, 3272, 482, 536, 536, + 536, 539, 539, 539, 536, 536, 538, 3324, 539, 3900, + 536, 3902, 536, 539, 341, 539, 5237, 5238, 536, 536, + 4164, 539, 539, 536, 536, 538, 4271, 539, 39, 536, + 536, 536, 539, 539, 539, 536, 536, 10, 539, 539, + 13, 536, 536, 3500, 539, 539, 3322, 3323, 3324, 6239, + 465, 3327, 6017, 6018, 536, 6245, 3373, 539, 535, 3335, + 3336, 3337, 3338, 4308, 536, 3100, 536, 539, 536, 539, + 536, 3969, 535, 539, 47, 3351, 3969, 4956, 3354, 536, + 3356, 54, 6131, 4024, 536, 536, 536, 539, 539, 539, + 54, 55, 536, 3369, 3370, 539, 536, 3373, 1205, 539, + 535, 4222, 2796, 4224, 4825, 5744, 4827, 80, 2802, 535, + 4258, 226, 4260, 1493, 61, 1495, 3392, 455, 3394, 179, + 3396, 224, 3398, 224, 535, 535, 4378, 496, 5744, 467, + 537, 535, 535, 368, 203, 159, 535, 537, 159, 310, + 203, 3417, 310, 368, 3420, 159, 159, 3100, 3424, 203, + 159, 310, 368, 173, 159, 2849, 253, 4060, 124, 4106, + 4922, 3478, 473, 310, 4055, 535, 1273, 303, 5244, 3445, + 173, 536, 74, 294, 40, 294, 6366, 496, 535, 152, + 310, 4128, 4129, 4130, 4131, 294, 1293, 4134, 4135, 4136, + 4137, 4138, 4139, 4140, 4141, 4142, 4143, 312, 50, 3475, + 50, 4653, 3478, 3479, 3425, 3426, 3427, 3483, 3484, 3485, + 3486, 294, 458, 3530, 5853, 4162, 3492, 3252, 294, 93, + 3255, 3497, 3257, 3258, 326, 198, 4336, 485, 4310, 485, + 203, 89, 453, 173, 348, 159, 3512, 5853, 159, 535, + 159, 159, 496, 159, 159, 1352, 539, 159, 159, 159, + 3526, 4198, 4199, 159, 3530, 159, 159, 3533, 3534, 173, + 3536, 159, 4406, 159, 4408, 159, 159, 159, 310, 435, + 535, 40, 253, 173, 4526, 310, 173, 322, 0, 301, + 535, 254, 535, 535, 173, 535, 535, 535, 535, 168, + 4434, 4504, 535, 22, 5528, 535, 535, 535, 4245, 28, + 40, 3577, 4123, 535, 535, 535, 535, 535, 535, 493, + 105, 535, 535, 535, 253, 6364, 535, 535, 535, 224, + 535, 5960, 535, 45, 40, 3601, 3602, 535, 535, 535, + 535, 535, 535, 535, 535, 535, 4157, 535, 535, 312, + 535, 535, 535, 539, 5960, 39, 4514, 539, 535, 448, + 446, 446, 533, 533, 448, 448, 535, 448, 179, 173, + 306, 3637, 539, 173, 403, 3059, 304, 70, 448, 1476, + 1477, 448, 1479, 390, 448, 448, 484, 537, 390, 101, + 448, 448, 390, 255, 448, 81, 448, 4208, 525, 448, + 94, 390, 159, 310, 395, 250, 448, 448, 299, 130, + 448, 472, 438, 331, 535, 385, 196, 448, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 304, 3694, 310, + 448, 94, 535, 3880, 130, 203, 159, 539, 130, 473, + 473, 326, 154, 448, 116, 408, 61, 130, 448, 61, + 3475, 448, 3718, 3478, 448, 167, 448, 278, 448, 314, + 448, 173, 3728, 448, 448, 448, 448, 179, 448, 448, + 448, 448, 352, 185, 352, 448, 188, 5172, 352, 448, + 192, 438, 331, 448, 331, 49, 448, 5553, 448, 448, + 536, 539, 226, 540, 226, 310, 310, 226, 226, 226, + 6129, 3526, 226, 448, 226, 458, 226, 535, 226, 3534, + 222, 226, 224, 40, 159, 310, 159, 294, 5584, 122, + 159, 473, 159, 6129, 159, 261, 484, 310, 294, 294, + 294, 40, 3475, 173, 40, 3478, 245, 159, 392, 535, + 159, 473, 4435, 255, 298, 159, 473, 303, 535, 535, + 159, 514, 4686, 179, 488, 3239, 13, 188, 539, 448, + 535, 278, 536, 526, 527, 528, 529, 530, 531, 535, + 3254, 3837, 448, 278, 535, 3259, 321, 3843, 450, 196, + 535, 512, 394, 3526, 222, 536, 196, 536, 3854, 539, + 533, 3534, 512, 539, 306, 536, 536, 536, 310, 276, + 406, 536, 473, 311, 316, 40, 3290, 473, 242, 319, + 6239, 4548, 61, 539, 489, 10, 6245, 536, 13, 484, + 390, 299, 17, 18, 19, 3891, 3892, 3893, 299, 10, + 299, 448, 13, 6239, 173, 448, 17, 18, 19, 6245, + 4875, 448, 3908, 299, 310, 50, 1948, 242, 310, 412, + 294, 242, 47, 253, 1956, 253, 3922, 253, 310, 54, + 385, 272, 535, 438, 376, 10, 448, 535, 13, 5111, + 130, 203, 535, 368, 3940, 3941, 3942, 310, 539, 539, + 3946, 310, 310, 492, 197, 80, 400, 403, 448, 356, + 448, 316, 3958, 4574, 4575, 536, 10, 40, 4789, 13, + 226, 473, 47, 17, 18, 19, 473, 245, 159, 54, + 351, 304, 173, 5486, 485, 525, 40, 175, 400, 431, + 352, 159, 159, 436, 304, 159, 473, 4858, 294, 40, + 535, 492, 535, 47, 294, 80, 310, 6366, 29, 310, + 54, 4672, 4673, 4674, 4675, 4676, 245, 304, 4014, 194, + 194, 173, 40, 465, 174, 245, 173, 310, 400, 294, + 6366, 203, 4028, 4029, 203, 539, 80, 203, 3954, 61, + 203, 203, 448, 4039, 275, 537, 179, 489, 303, 491, + 492, 492, 535, 179, 539, 4678, 4052, 539, 539, 496, + 310, 539, 536, 536, 536, 179, 536, 316, 539, 3958, + 539, 513, 539, 198, 3990, 4071, 376, 152, 203, 513, + 4206, 322, 137, 4079, 478, 4081, 332, 179, 293, 179, + 268, 448, 512, 4870, 536, 188, 538, 539, 489, 4095, + 5072, 226, 227, 4099, 4100, 4101, 536, 536, 536, 536, + 4106, 4778, 515, 4109, 263, 226, 4112, 5642, 539, 536, + 539, 536, 4118, 198, 4120, 535, 535, 4123, 203, 254, + 534, 536, 4128, 4129, 4130, 4131, 536, 535, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 536, 536, + 4039, 4147, 4148, 4149, 198, 536, 535, 535, 1985, 203, + 536, 4157, 539, 471, 479, 516, 4162, 4204, 534, 489, + 4166, 310, 297, 61, 310, 535, 313, 525, 4174, 254, + 310, 4177, 535, 4179, 3598, 535, 159, 312, 448, 448, + 448, 216, 3606, 299, 162, 448, 294, 535, 535, 4195, + 159, 312, 4198, 4199, 208, 2032, 4861, 4203, 4204, 423, + 254, 535, 4208, 395, 4210, 4211, 159, 403, 159, 395, + 253, 208, 395, 4219, 4220, 4221, 162, 310, 525, 448, + 4407, 473, 162, 390, 4775, 489, 255, 312, 333, 2066, + 470, 162, 40, 4239, 4240, 4241, 4242, 4243, 333, 4245, + 4246, 4231, 448, 4249, 448, 448, 448, 4253, 4435, 420, + 265, 4257, 4231, 2090, 62, 265, 265, 4263, 312, 390, + 390, 448, 390, 4214, 4215, 4216, 4217, 448, 448, 130, + 390, 294, 159, 408, 403, 49, 49, 534, 448, 448, + 88, 536, 448, 448, 4290, 448, 3710, 448, 3712, 4231, + 448, 40, 4231, 536, 536, 191, 226, 4918, 226, 4305, + 536, 4307, 314, 4231, 536, 4231, 114, 115, 539, 3, + 458, 173, 50, 4946, 122, 64, 115, 776, 536, 778, + 539, 780, 173, 408, 535, 40, 536, 786, 787, 788, + 159, 448, 159, 173, 304, 525, 191, 159, 5773, 473, + 535, 473, 390, 390, 390, 390, 390, 400, 157, 5091, + 157, 100, 226, 161, 408, 226, 4362, 4363, 4364, 4365, + 5031, 5032, 4368, 5034, 4370, 149, 226, 226, 6174, 6175, + 226, 539, 6178, 226, 226, 183, 226, 226, 533, 514, + 466, 310, 4388, 230, 3808, 5283, 466, 310, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 536, 206, 61, + 310, 5022, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 310, 13, 536, 163, 322, 484, 539, 536, 179, + 5318, 536, 536, 536, 293, 536, 536, 539, 3852, 514, + 536, 535, 229, 534, 320, 229, 535, 4443, 4625, 536, + 317, 526, 527, 528, 529, 530, 531, 2284, 437, 61, + 192, 200, 445, 535, 535, 376, 264, 478, 92, 458, + 514, 269, 173, 40, 245, 473, 274, 473, 448, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 4449, 216, + 61, 438, 290, 159, 88, 6094, 294, 473, 4253, 395, + 4461, 183, 4257, 4499, 420, 458, 245, 162, 5119, 448, + 448, 250, 390, 448, 448, 448, 390, 492, 61, 536, + 536, 536, 479, 535, 368, 535, 438, 325, 977, 173, + 10, 310, 80, 13, 3948, 115, 4532, 17, 18, 19, + 159, 458, 536, 226, 535, 226, 226, 226, 242, 535, + 4546, 211, 4548, 535, 448, 294, 496, 37, 310, 4555, + 307, 539, 536, 40, 331, 4561, 310, 5677, 3, 5679, + 539, 535, 5436, 458, 539, 373, 4572, 5244, 3992, 46, + 4253, 535, 448, 186, 4257, 536, 400, 185, 327, 115, + 179, 4587, 226, 147, 536, 243, 4592, 4593, 1047, 397, + 243, 299, 299, 2635, 4600, 536, 299, 4362, 536, 299, + 536, 179, 536, 4609, 61, 490, 539, 490, 322, 331, + 418, 536, 420, 4619, 229, 423, 536, 536, 491, 535, + 535, 5298, 539, 372, 535, 4631, 4632, 445, 377, 304, + 5301, 525, 458, 40, 448, 179, 4642, 386, 210, 80, + 197, 5312, 5824, 197, 492, 40, 395, 4653, 4654, 299, + 4074, 299, 61, 525, 403, 62, 438, 539, 539, 74, + 5463, 469, 448, 448, 159, 4671, 162, 416, 448, 448, + 536, 226, 5688, 129, 4861, 181, 425, 535, 122, 4362, + 40, 430, 203, 304, 400, 473, 40, 5869, 294, 535, + 175, 400, 4618, 304, 492, 61, 5361, 86, 438, 492, + 40, 179, 451, 4127, 535, 310, 4712, 114, 173, 539, + 213, 363, 224, 10, 535, 313, 13, 536, 179, 536, + 17, 18, 19, 4729, 536, 478, 536, 535, 4152, 417, + 61, 40, 5397, 5915, 5916, 83, 226, 393, 487, 535, + 37, 4747, 491, 535, 94, 536, 138, 310, 362, 536, + 47, 448, 204, 40, 159, 159, 173, 54, 40, 535, + 535, 448, 299, 535, 535, 5386, 535, 535, 535, 4775, + 535, 473, 4778, 266, 535, 400, 159, 536, 115, 40, + 4786, 4787, 314, 80, 536, 179, 458, 415, 4794, 4795, + 536, 415, 173, 4799, 539, 40, 310, 536, 4804, 206, + 536, 4807, 4808, 114, 207, 535, 2643, 535, 4814, 535, + 539, 40, 4818, 4819, 4820, 4821, 539, 478, 37, 438, + 196, 173, 312, 535, 473, 535, 290, 4592, 4593, 438, + 4836, 208, 6, 4839, 535, 310, 166, 4843, 536, 496, + 2677, 386, 4848, 386, 74, 4851, 4852, 313, 4854, 535, + 4856, 74, 138, 4859, 538, 4861, 492, 264, 143, 492, + 477, 488, 269, 151, 4870, 536, 170, 274, 4874, 536, + 310, 478, 4878, 332, 4880, 170, 5553, 403, 444, 539, + 535, 267, 444, 290, 535, 2722, 179, 10, 438, 4895, + 13, 5907, 359, 299, 17, 18, 19, 210, 438, 310, + 310, 198, 400, 535, 6086, 40, 203, 5584, 40, 4592, + 4593, 313, 313, 535, 37, 204, 4922, 4923, 325, 181, + 158, 5592, 181, 496, 5798, 535, 496, 354, 354, 226, + 227, 4937, 385, 155, 61, 61, 83, 4895, 317, 40, + 369, 61, 536, 61, 1403, 424, 4872, 4873, 5925, 1408, + 1409, 448, 127, 471, 536, 6, 535, 254, 400, 143, + 5834, 496, 496, 310, 310, 536, 373, 37, 535, 4940, + 299, 295, 403, 295, 535, 535, 26, 1436, 310, 318, + 4951, 389, 179, 539, 6166, 6167, 1445, 385, 1447, 389, + 397, 539, 1451, 83, 385, 479, 535, 5003, 448, 1458, + 297, 426, 535, 426, 5010, 151, 478, 158, 5559, 539, + 5681, 418, 122, 536, 317, 312, 415, 479, 315, 415, + 334, 492, 5573, 492, 181, 181, 473, 5033, 535, 478, + 5904, 535, 929, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 5048, 83, 5595, 536, 5674, 535, 5512, 1714, + 1016, 5602, 3438, 1409, 2975, 5688, 969, 1015, 2884, 3652, + 5688, 4406, 469, 4381, 6077, 3056, 3002, 3871, 5439, 5904, + 6215, 4836, 5486, 5079, 4379, 4572, 4379, 5081, 4843, 5462, + 3640, 3578, 3198, 4848, 6057, 5360, 4851, 4852, 6204, 5095, + 1549, 5935, 5934, 6098, 3645, 6239, 5102, 5126, 4593, 4619, + 1559, 4604, 5877, 226, 4562, 5111, 3070, 3070, 3150, 4401, + 3919, 408, 3677, 3155, 4588, 3157, 5469, 5120, 1011, 3963, + 5126, 5672, 5673, 4655, 5785, 3167, 6324, 6457, 3170, 5453, + 3172, 3173, 5874, 5139, 3176, 5141, 6432, 3879, 3180, 6110, + 3182, 4627, 5399, 3185, 1603, 1604, 5659, 5887, 5402, 18, + 28, 664, 4028, 4836, 4578, 1233, 5833, 4683, 1874, 5627, + 4843, 5167, 4686, 6320, 3086, 4848, 2742, 4630, 4851, 1918, + 1929, 3556, 5178, 5512, 5361, 3974, 5773, 1953, 716, 3811, + 749, 3001, 4434, 3728, 6136, 6370, 1528, 1646, 4659, 312, + 858, 1650, 1651, 4661, 3032, 2684, 6297, 4305, 5385, 6215, + 4874, 5622, 5625, 1915, 5396, 1425, 5871, 3249, 40, 40, + 5397, 4729, 5138, 5397, 3497, 1486, 3512, 514, 2694, 6036, + 1827, 5846, 3478, 1485, 4241, 5231, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 5241, 4259, 5309, 5244, 536, + 1384, 5247, 5248, 5249, 1488, 3475, 5581, 5580, 4306, 5441, + 3475, 6348, 6030, 6179, 5833, 3475, 6386, 5557, 4166, 2588, + 5847, 3415, 6, 5848, 2589, 3268, 5272, 5273, 2086, 10, + 5276, 3397, 13, 3031, 3395, 5797, 17, 18, 19, 5907, + 6388, 3385, 3119, 3305, 2594, 4098, 1442, 917, 5294, 2682, + -1, 5842, 5298, 5844, -1, -1, 37, -1, 5304, -1, + -1, -1, 5308, -1, -1, -1, 5312, 51, -1, 5315, + -1, 5317, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5328, -1, -1, 5331, -1, -1, -1, -1, + 5095, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6026, + -1, -1, 5321, -1, 5360, 5361, 5362, -1, 5364, -1, + -1, 5126, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1844, -1, -1, 40, -1, + 5396, 5397, -1, 6411, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5441, -1, -1, -1, -1, + -1, -1, -1, 5126, -1, -1, -1, 5453, 100, 6077, + -1, -1, 5458, 197, -1, -1, -1, 5463, -1, -1, + -1, -1, 206, 207, -1, -1, 5472, -1, -1, -1, + 214, -1, 216, 217, -1, -1, 5482, -1, -1, -1, + 5486, 4905, -1, 5489, -1, 226, 230, 3324, -1, -1, + -1, -1, -1, -1, 5500, 5501, 5502, 6174, 6175, 6373, + -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 163, -1, 5512, 5512, 5512, 5512, 5512, 5512, 5512, + 5512, -1, 5512, 5512, 5512, 5512, -1, 5512, 5512, -1, + 5536, -1, -1, 5512, 4958, 6433, 3373, -1, -1, 3581, + -1, 5467, -1, 5308, -1, -1, -1, 5553, 200, -1, + -1, 5557, -1, 5559, 0, 5602, 4980, -1, 6432, -1, + 3397, -1, -1, 5328, -1, 6307, 6308, 5573, -1, -1, + 5512, 312, 5498, 5512, -1, 5581, 3413, -1, 5584, -1, + -1, -1, 5588, 6457, 5512, -1, 5512, 6215, -1, 5595, + -1, -1, -1, 245, -1, 5360, 5602, -1, 250, -1, + 2059, 2060, 5501, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2076, 2077, 3661, + -1, 3663, -1, -1, -1, 5308, -1, -1, -1, 5053, + -1, 5396, -1, -1, -1, -1, -1, 5643, 3475, -1, + -1, 3478, 294, -1, 5650, 5328, -1, -1, -1, -1, + 2109, -1, -1, -1, -1, 101, -1, -1, -1, -1, + 5666, -1, 10, -1, -1, 13, 5672, 5673, -1, -1, + -1, 5677, 5678, 5679, 5680, 327, 5441, 5360, -1, -1, + -1, -1, -1, -1, 5871, -1, -1, -1, -1, 3526, + -1, -1, -1, 3530, -1, -1, -1, 3534, -1, 47, + -1, -1, 5708, -1, -1, -1, 54, -1, 154, -1, + 5716, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 372, 167, -1, -1, -1, 377, -1, 173, -1, -1, + -1, -1, 80, 179, 386, 5741, -1, 5502, 5744, 185, + -1, -1, 188, 395, -1, -1, 192, -1, -1, -1, + 5174, 403, -1, 6304, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5769, 416, 3807, -1, -1, -1, -1, + -1, 3813, -1, 425, -1, -1, 222, -1, 430, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 5797, -1, -1, -1, -1, -1, -1, -1, 451, + -1, -1, 6353, 5809, 152, -1, -1, -1, -1, 255, + -1, -1, 5818, 5819, 5820, -1, 5581, -1, 5824, 5502, + 5746, -1, -1, -1, 5830, -1, -1, 5833, -1, -1, + -1, -1, -1, -1, -1, 487, 5842, -1, 5844, 491, + 5846, 5847, -1, -1, -1, -1, -1, 5853, -1, -1, + 198, -1, -1, -1, 5860, 203, -1, -1, -1, -1, + 306, -1, -1, 5869, 310, 5871, -1, -1, -1, -1, + 316, -1, 6064, 5879, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5314, -1, -1, -1, -1, -1, -1, -1, 5581, -1, + -1, -1, -1, -1, -1, -1, 254, -1, -1, 5915, + 5916, -1, -1, -1, -1, -1, -1, -1, 662, -1, + -1, -1, -1, -1, 5850, -1, -1, -1, -1, -1, + 376, -1, -1, -1, -1, -1, -1, 681, -1, -1, + 5946, -1, -1, 687, -1, 6137, 6138, -1, -1, -1, + -1, 5716, -1, -1, 5960, 699, -1, 3999, -1, 4001, + -1, 4003, -1, -1, 312, -1, -1, -1, -1, -1, + -1, 715, -1, -1, -1, -1, 720, -1, -1, 5744, + -1, 725, -1, -1, -1, 729, 730, -1, -1, 435, + -1, -1, 736, -1, 738, 739, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6011, -1, 751, 752, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 762, 465, + 6026, -1, -1, -1, 6030, -1, -1, -1, -1, -1, + 6036, -1, -1, -1, -1, -1, -1, -1, -1, 6045, + -1, -1, -1, 489, -1, 491, 492, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6064, -1, + 408, 5744, -1, -1, -1, -1, -1, 513, -1, -1, + -1, 815, -1, 6079, -1, -1, -1, -1, -1, -1, + 6086, -1, -1, -1, -1, -1, -1, 533, 5853, -1, + 536, 537, 538, 837, 838, -1, -1, -1, -1, 843, + -1, -1, -1, -1, -1, -1, 6112, -1, -1, -1, + -1, -1, -1, 6119, -1, -1, -1, 3954, -1, -1, + -1, -1, -1, 6129, 868, -1, 870, -1, -1, -1, + -1, 6137, 6138, 6139, -1, -1, -1, 6143, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 894, -1, -1, 3990, -1, 10, -1, 6136, 13, -1, + 6166, 6167, 6168, -1, -1, -1, 514, -1, 6174, 6175, + 5853, -1, 6178, 917, -1, 6181, -1, -1, 526, 527, + 528, 529, 530, 531, -1, 6111, 930, -1, -1, -1, + -1, -1, 47, -1, 6136, 5960, -1, 6136, -1, 54, + -1, -1, 6249, 6209, -1, -1, 2665, 2666, 6136, -1, + 6136, -1, 2671, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, 5656, 6239, 6240, 6241, -1, 5661, 5662, 6245, + -1, -1, -1, -1, 2703, 2704, -1, -1, -1, -1, + -1, -1, -1, 6445, 6446, -1, -1, 6263, -1, -1, + -1, -1, -1, -1, 6270, -1, -1, -1, -1, -1, + 6249, -1, 6278, -1, -1, -1, -1, 5960, -1, -1, + 6286, -1, -1, -1, -1, -1, 6292, -1, -1, -1, + -1, 6297, -1, -1, 1038, 1039, 1040, 152, 6304, 6064, + -1, -1, -1, 1047, -1, -1, 2765, 6249, 1052, -1, + 6249, -1, -1, 1057, 1058, -1, -1, -1, 1062, -1, + 1064, 6249, -1, 6249, 1068, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6340, 6341, 6342, 6343, -1, -1, + 1084, -1, 6348, 198, -1, -1, -1, 6353, 203, -1, + 5774, -1, -1, 27, -1, -1, -1, 6363, -1, 33, + 6366, -1, -1, -1, 6129, -1, -1, 4204, -1, -1, + -1, -1, 6137, 6138, 48, -1, -1, -1, -1, -1, + 6386, -1, -1, -1, 1128, -1, 1130, 1131, -1, -1, + -1, 6370, -1, 2852, 4231, -1, -1, -1, -1, 254, + 0, -1, -1, -1, 78, 6411, 6412, -1, -1, -1, + -1, -1, -1, 5837, -1, -1, 4253, -1, -1, -1, + 4257, -1, 6428, -1, -1, -1, -1, 1171, 6370, -1, + -1, 6370, -1, -1, -1, -1, -1, -1, -1, 6445, + 6446, -1, 6370, 6449, 6370, 6451, 6129, -1, -1, -1, + -1, 0, -1, -1, -1, 1199, -1, 312, -1, 133, + -1, 135, 6468, -1, -1, -1, -1, -1, 142, -1, + -1, -1, 146, 22, 6239, -1, -1, -1, -1, -1, + 6245, -1, 2941, -1, 33, -1, 35, 36, 1232, -1, + 2949, -1, -1, 2952, -1, -1, -1, 1241, 6263, 1243, + 174, 101, -1, -1, 53, 2964, -1, -1, -1, -1, + -1, -1, -1, -1, 63, -1, 1260, -1, -1, -1, + -1, 1265, -1, -1, -1, -1, 75, -1, 77, 78, + -1, -1, -1, 1277, -1, 84, 210, 86, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 99, -1, 101, 408, 154, -1, 6239, -1, -1, -1, + -1, -1, 6245, -1, -1, -1, -1, 167, -1, 118, + -1, -1, 121, 173, -1, 1319, -1, 6342, -1, 179, + -1, -1, -1, -1, -1, 185, -1, 136, 188, 138, + 0, -1, 192, 142, -1, -1, -1, -1, -1, -1, + 149, 6366, -1, -1, 1348, 1349, 1350, -1, 1352, 158, + -1, 160, -1, -1, -1, -1, 290, -1, 167, -1, + 294, -1, 222, -1, -1, 4667, -1, -1, 4670, 1373, + 304, -1, -1, -1, -1, -1, 185, -1, -1, -1, + 314, -1, -1, -1, -1, -1, -1, 6412, -1, -1, + -1, -1, 326, 202, -1, 255, 1400, 4699, -1, 514, + -1, -1, -1, 6428, 1408, 1409, -1, -1, -1, -1, + -1, 526, 527, 528, 529, 530, 531, -1, -1, -1, + 6445, 6446, -1, 6366, -1, -1, -1, -1, 1432, -1, + -1, 101, -1, -1, 368, -1, -1, 371, 372, -1, + -1, -1, -1, -1, -1, -1, 306, 256, 257, -1, + 310, -1, -1, 262, -1, -1, 316, 1461, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 277, 403, + -1, -1, -1, -1, 1478, -1, -1, -1, 1482, 1483, + -1, -1, -1, -1, 154, -1, -1, 296, -1, -1, + -1, -1, 3211, -1, 1498, 4592, -1, 167, -1, -1, + 1504, -1, -1, 173, 10, -1, -1, 13, -1, 179, + -1, 17, 18, 19, -1, 185, 376, -1, 188, -1, + -1, 4618, 192, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, 343, -1, -1, -1, -1, -1, + -1, 47, 476, -1, -1, -1, -1, -1, 54, 358, + -1, -1, 222, -1, -1, 364, 365, -1, 367, -1, + -1, -1, -1, 372, -1, -1, -1, 1571, -1, 378, + -1, -1, 381, -1, 80, 435, -1, -1, -1, 388, + -1, -1, -1, -1, -1, 255, 395, 396, -1, -1, + -1, -1, -1, -1, 403, -1, -1, -1, 407, -1, + -1, 4903, -1, -1, -1, 465, -1, -1, 1612, 418, + -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, + 13, -1, -1, -1, -1, -1, 435, -1, -1, 489, + -1, 491, 492, -1, -1, -1, 306, -1, -1, -1, + 310, 1645, -1, -1, -1, -1, 316, 456, -1, -1, + -1, -1, -1, 513, 47, -1, -1, 4959, 4960, 468, + -1, 54, -1, 6347, -1, 474, -1, -1, -1, -1, + 479, -1, -1, 533, -1, -1, 536, 537, 538, -1, + -1, -1, -1, 492, -1, -1, -1, 80, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + -1, -1, -1, -1, -1, -1, 376, 516, 1712, 518, + 519, 520, 521, 522, -1, -1, -1, 3436, -1, 3438, + 226, 227, -1, 1727, 1728, 1729, 535, -1, -1, 538, + -1, -1, -1, -1, -1, 3454, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4843, -1, 254, -1, + -1, 4848, 5054, 5055, 4851, -1, -1, -1, -1, 152, + -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4872, 4873, -1, -1, -1, + -1, -1, -1, -1, -1, 3504, 3505, -1, -1, -1, + -1, 297, -1, -1, -1, 465, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, 312, -1, -1, 315, + 203, -1, -1, -1, -1, -1, -1, -1, -1, 489, + -1, 491, 492, 1827, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1839, -1, -1, -1, 17, + -1, -1, -1, 513, -1, -1, 1850, -1, 26, -1, + -1, -1, -1, -1, -1, -1, 10, -1, 1862, 13, + -1, 254, 1866, 533, -1, -1, 536, 537, 538, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1885, 5184, -1, -1, 5187, 5188, -1, -1, 1893, + -1, -1, -1, 47, -1, -1, -1, 1901, -1, -1, + 54, -1, 408, 10, -1, 5207, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, 1920, -1, -1, 312, + -1, -1, -1, -1, -1, 1929, 80, -1, 1932, -1, + 37, 1935, -1, -1, 1938, 1939, -1, -1, 1942, 1943, + 47, 1945, 1946, -1, -1, -1, -1, 54, -1, -1, + -1, -1, -1, 1957, -1, 1959, 1960, -1, -1, -1, + -1, -1, -1, -1, -1, 1969, 1970, -1, 1972, 1973, + -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, + -1, -1, -1, -1, -1, -1, 2010, -1, 514, -1, + 2014, 2015, -1, -1, -1, 408, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + -1, -1, -1, -1, 540, -1, -1, -1, -1, -1, + -1, 5138, -1, -1, 198, 2049, -1, 2051, -1, 203, + -1, 27, 2056, 2057, -1, -1, -1, 33, -1, 2063, + 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, + 2074, 2075, 48, -1, -1, 2079, -1, 2081, -1, 2083, + 2084, 2085, 2086, 2087, 2088, -1, -1, 2091, -1, 2093, + 2094, 198, -1, 2097, -1, -1, 203, -1, -1, -1, + 254, -1, 78, -1, -1, -1, -1, -1, -1, 2113, + 2114, 2115, 2116, -1, -1, -1, -1, -1, -1, 226, + 227, 514, -1, -1, -1, -1, -1, -1, 2132, -1, + 2134, -1, 0, 526, 527, 528, 529, 530, 531, -1, + -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, + -1, -1, -1, -1, 22, -1, -1, 133, 312, 135, + -1, 3880, -1, -1, -1, 33, 142, 35, 36, -1, + 146, -1, 27, -1, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, 3903, 53, -1, -1, -1, -1, + 297, -1, -1, -1, -1, 63, -1, -1, 174, -1, + -1, -1, -1, -1, -1, 312, -1, 75, 315, 77, + 78, 5308, -1, -1, -1, -1, 84, -1, 86, -1, + -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, + -1, 99, -1, 101, 210, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 118, -1, -1, 121, 408, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, + 138, -1, -1, -1, 142, 2279, -1, -1, -1, -1, + 135, 149, -1, -1, -1, -1, -1, 142, -1, -1, + 158, 146, 160, -1, -1, -1, -1, -1, -1, 167, + -1, 408, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 290, -1, -1, 185, 294, 174, + -1, -1, -1, -1, -1, -1, -1, 5629, 304, 2333, + -1, -1, -1, -1, 202, -1, 27, -1, 314, -1, + -1, 4060, 33, -1, -1, -1, -1, -1, -1, -1, + 326, -1, -1, -1, -1, 210, -1, 48, -1, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5467, -1, 526, 527, 528, 529, 530, 531, -1, -1, + -1, 5683, -1, -1, -1, 2389, -1, 78, 256, 257, + -1, -1, 368, -1, 262, 371, 372, -1, -1, -1, + -1, 5498, -1, -1, -1, -1, -1, 514, -1, 277, + -1, -1, -1, -1, -1, 5512, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, 403, 296, 536, + -1, -1, 539, -1, -1, 290, -1, -1, -1, 294, + -1, -1, -1, -1, 135, -1, -1, -1, -1, 304, + -1, 142, -1, -1, -1, 146, -1, -1, -1, 314, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 326, -1, -1, -1, 343, -1, -1, -1, -1, + -1, -1, -1, 174, -1, -1, -1, 665, -1, -1, + 358, -1, -1, -1, 5796, -1, 364, 365, -1, 367, + 476, -1, -1, -1, 372, 5602, -1, -1, -1, -1, + 378, -1, -1, 381, -1, 10, 371, 372, 13, 210, + 388, -1, 17, 18, 19, -1, -1, 395, 396, -1, + -1, -1, -1, -1, -1, 403, -1, 715, 716, 407, + -1, -1, 37, -1, -1, -1, -1, -1, 403, -1, + 418, -1, 47, 64, -1, -1, -1, 10, -1, 54, + 13, -1, -1, -1, 17, 18, 19, 435, -1, 2573, + 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, -1, 2583, + -1, -1, -1, -1, 37, 80, -1, -1, 456, 100, + 2594, -1, -1, 2597, 47, -1, -1, -1, -1, 290, + 468, 54, -1, 294, -1, -1, 474, -1, -1, -1, + -1, 479, -1, 304, -1, -1, -1, -1, -1, -1, + -1, 476, -1, 314, 492, -1, -1, 80, -1, -1, + -1, -1, -1, 811, 2638, 326, -1, -1, 2642, -1, + -1, 2645, -1, 2647, -1, -1, 2650, 5744, 516, 5746, + 2654, -1, 163, 831, -1, -1, -1, -1, -1, -1, + -1, 839, -1, -1, 842, 843, 844, 535, -1, -1, + 538, 2675, -1, 2677, -1, -1, -1, 368, -1, -1, + 371, 372, -1, -1, -1, -1, -1, -1, 4407, 200, + 2694, -1, -1, -1, -1, -1, -1, -1, -1, 2703, + 2704, -1, -1, 198, -1, -1, -1, 27, 203, -1, + -1, -1, 403, 33, -1, -1, 4435, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2730, -1, -1, -1, + 4449, 226, 227, 2737, -1, -1, -1, 2741, 2742, 250, + -1, -1, 4461, -1, 2748, 198, -1, -1, 2752, -1, + 203, -1, 2756, 5850, -1, -1, -1, -1, 78, 254, + -1, 2765, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 226, 227, -1, 2780, -1, -1, 2783, + -1, -1, -1, 294, -1, 476, -1, 64, -1, -1, + 2794, -1, 2796, 2797, -1, 2799, 2800, -1, 2802, -1, + -1, 254, 297, -1, -1, -1, -1, -1, -1, -1, + 2814, -1, -1, -1, -1, 135, 327, 312, 4537, 4538, + 315, -1, 142, 100, -1, -1, 146, -1, -1, -1, + 2834, 2835, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 297, 2849, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, -1, -1, -1, 312, + -1, 372, 315, 374, -1, -1, 377, 2871, 2872, 1047, + -1, 2875, -1, -1, -1, 386, -1, -1, -1, -1, + -1, -1, -1, -1, 395, -1, 163, -1, -1, -1, + 210, 10, 403, -1, 13, 2899, 6198, 2901, 17, 18, + 19, 2905, -1, -1, -1, 416, 4625, -1, -1, -1, + -1, -1, -1, 408, 425, 2919, -1, -1, 37, 430, + -1, -1, 2926, 200, -1, 2929, -1, -1, 47, -1, + -1, 2935, -1, -1, -1, 54, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2955, -1, -1, -1, 408, -1, 2961, -1, 4678, + -1, 80, -1, -1, 2968, -1, -1, -1, -1, -1, + 290, -1, -1, 250, 294, -1, 487, -1, 2982, -1, + -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, + -1, -1, 2996, -1, 314, -1, -1, 3001, -1, -1, + -1, -1, -1, 3007, -1, -1, 326, -1, -1, -1, + -1, -1, -1, 290, 6111, -1, -1, 294, -1, 514, + -1, 3025, 3026, 3027, -1, -1, -1, 3031, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 6136, + -1, -1, -1, -1, 539, -1, -1, -1, 368, 326, + 327, 371, 372, -1, 3058, 3059, -1, -1, -1, -1, + 1238, 514, -1, 3067, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 198, + -1, -1, -1, 403, 203, -1, 539, 1265, -1, -1, + -1, 368, -1, -1, 10, 372, 3100, 13, -1, -1, + 377, 17, 18, 19, -1, -1, -1, 226, 227, 386, + -1, -1, -1, -1, -1, -1, -1, -1, 395, -1, + -1, 37, -1, -1, -1, -1, 403, -1, 3132, -1, + -1, 47, 3136, -1, -1, 254, -1, -1, 54, 416, + -1, -1, 10, -1, -1, 13, -1, -1, 425, 17, + 18, 19, 6249, 430, -1, -1, 476, -1, -1, 64, + -1, -1, -1, -1, 80, -1, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 1354, -1, 297, 47, + -1, -1, -1, -1, -1, 1363, 54, -1, -1, -1, + -1, -1, -1, 312, -1, 100, 315, -1, -1, -1, + -1, 1379, -1, -1, -1, -1, -1, -1, -1, -1, + 487, -1, 80, -1, -1, -1, -1, -1, 3222, -1, + 3224, 4940, 1400, -1, -1, 1403, 1404, 4946, -1, -1, + 1408, 1409, 4951, -1, -1, 3239, -1, 3241, -1, -1, + -1, -1, -1, -1, 3248, -1, -1, -1, 3252, -1, + 3254, 3255, -1, 3257, 3258, 3259, 27, -1, 163, 4978, + 4979, -1, 33, 3267, 4983, 4984, -1, 51, 3272, 10, + -1, -1, 13, 6370, -1, -1, 17, 18, 19, -1, + -1, -1, 198, -1, -1, -1, 3290, 203, -1, 408, + -1, -1, -1, -1, -1, 200, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, 78, -1, -1, + 226, 227, -1, 54, -1, -1, -1, -1, 3322, 3323, + 3324, -1, -1, 3327, -1, -1, -1, -1, -1, -1, + 198, 3335, 3336, 3337, 3338, 203, -1, -1, 254, 80, + -1, -1, 3346, -1, -1, 250, -1, 3351, 3352, -1, + 3354, -1, 3356, -1, -1, -1, -1, -1, 226, 227, + -1, -1, -1, -1, 135, 3369, 3370, -1, -1, 3373, + -1, 142, -1, -1, -1, 146, -1, -1, -1, -1, + -1, 297, -1, -1, -1, 290, 254, -1, -1, 294, + 3394, -1, 3396, -1, 3398, 514, 312, -1, -1, 315, + -1, -1, -1, 174, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 3417, -1, -1, -1, 536, -1, -1, + -1, 326, 327, -1, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 10, 3438, -1, 13, -1, -1, 210, + 17, 18, 19, -1, 312, -1, -1, 315, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + 37, -1, 203, 368, -1, -1, -1, 372, -1, -1, + 47, 3475, 377, -1, 3478, -1, -1, 54, -1, -1, + -1, 386, -1, -1, -1, 226, 227, 1665, 3492, -1, + 395, -1, 408, 3497, -1, 1673, -1, -1, 403, -1, + -1, -1, -1, 80, -1, -1, -1, -1, 3512, -1, + -1, 416, -1, 254, -1, -1, -1, -1, -1, 290, + 425, -1, 3526, 294, -1, 430, -1, -1, -1, -1, + 3534, -1, -1, 304, -1, -1, -1, -1, -1, -1, + 408, -1, 3546, 314, -1, 3549, -1, 3551, -1, -1, + -1, -1, 3556, -1, -1, 326, 297, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3571, 3572, -1, + -1, 312, -1, 3577, 315, -1, -1, -1, -1, -1, + -1, -1, 487, -1, -1, -1, -1, -1, 3592, -1, + -1, 3595, -1, -1, 3598, -1, -1, 368, 514, -1, + 371, 372, 3606, -1, -1, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + 536, 198, -1, -1, -1, -1, 203, 3631, -1, -1, + -1, -1, 403, 3637, 27, -1, -1, -1, -1, -1, + 33, -1, -1, -1, -1, -1, 514, -1, -1, 226, + 227, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 5385, 408, 536, -1, + -1, -1, 3676, 3677, 3678, -1, -1, 254, -1, -1, + -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3701, -1, -1, + -1, -1, -1, -1, -1, 476, 3710, -1, 3712, -1, + 1888, -1, -1, -1, 1892, -1, 3720, -1, -1, -1, + 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, 3742, -1, + -1, -1, 135, -1, -1, -1, -1, -1, -1, 142, + -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, 174, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, -1, -1, 10, -1, + -1, 13, -1, -1, 3808, 17, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 210, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, 3832, -1, + -1, 408, -1, 3837, -1, 47, -1, -1, -1, 3843, + -1, -1, 54, -1, -1, -1, -1, -1, 3852, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, -1, 80, 17, + 18, 19, -1, -1, -1, 3879, 3880, -1, -1, -1, + -1, 3885, -1, 3887, 2062, -1, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 3900, 290, 3902, 47, + -1, 294, -1, -1, -1, -1, 54, -1, -1, -1, + -1, 304, -1, -1, -1, -1, -1, -1, 3922, -1, + -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 326, -1, -1, -1, 514, -1, -1, + -1, 725, -1, -1, 3948, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3969, 3970, 751, -1, 5688, + -1, -1, -1, -1, -1, 368, -1, -1, 371, 372, + -1, -1, -1, -1, -1, -1, 198, -1, 3992, -1, + -1, 203, 10, -1, -1, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, 4011, -1, -1, + 403, -1, -1, -1, 226, 227, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 4030, -1, -1, 47, + 4034, -1, -1, -1, -1, -1, 54, -1, -1, -1, + -1, -1, 254, -1, 51, 10, -1, -1, 13, -1, + 198, 4055, 17, 18, 19, 203, 51, -1, -1, -1, + -1, -1, 80, -1, -1, -1, -1, 4071, -1, -1, + 4074, -1, 37, -1, -1, 4079, -1, 4081, 226, 227, + -1, -1, 47, 476, -1, 297, -1, -1, -1, 54, + -1, 4095, -1, -1, -1, 4099, 4100, 4101, -1, -1, + 312, -1, 4106, 315, -1, 4109, 254, -1, 4112, -1, + 894, -1, -1, -1, 4118, 80, 4120, -1, -1, 4123, + -1, -1, -1, 4127, 4128, 4129, 4130, 4131, -1, -1, + 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, + -1, -1, -1, 4147, 4148, 4149, -1, -1, 4152, 297, + -1, -1, -1, 4157, -1, -1, -1, -1, 4162, -1, + 4164, -1, 4166, -1, 312, -1, -1, 315, -1, -1, + 4174, -1, -1, 4177, -1, 4179, -1, 5896, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, -1, -1, + -1, 4195, -1, -1, 4198, 4199, 408, -1, -1, 4203, + 4204, -1, -1, -1, 4208, -1, 4210, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, 4239, 254, -1, 203, -1, + -1, 4245, -1, -1, -1, -1, -1, -1, -1, 4253, + -1, -1, -1, 4257, -1, -1, -1, -1, -1, -1, + 408, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1057, -1, -1, -1, -1, -1, 297, + -1, -1, -1, -1, 1068, -1, 4290, -1, -1, 254, + -1, -1, -1, -1, 312, -1, -1, 315, -1, -1, + 1084, -1, 514, 4307, -1, -1, -1, -1, -1, 4313, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, -1, -1, -1, -1, + -1, -1, 297, -1, -1, 4339, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, 27, 4362, -1, + -1, -1, -1, 33, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, -1, -1, 536, -1, + 408, 10, -1, -1, 13, -1, -1, 4401, 17, 18, + 19, -1, 4406, 4407, 4408, -1, -1, -1, 78, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, + 4434, 4435, -1, -1, -1, 54, -1, -1, 2616, -1, + -1, -1, -1, 408, 10, -1, -1, 13, -1, -1, + -1, 17, 18, 19, -1, -1, -1, 1241, -1, -1, + -1, 80, -1, -1, -1, 135, -1, -1, -1, -1, + -1, 37, 142, -1, -1, -1, 146, 4481, -1, -1, + 4484, 47, -1, -1, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, 174, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 80, -1, -1, -1, 536, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 210, -1, -1, -1, 4548, -1, -1, -1, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 534, + 4574, 4575, -1, -1, 4578, -1, -1, -1, -1, 198, + -1, 4585, -1, -1, 203, -1, -1, 2765, 4592, 4593, + -1, -1, -1, -1, -1, -1, -1, -1, 4602, -1, + -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1403, + 290, 4625, -1, -1, 294, -1, 4630, 4631, 4632, -1, + -1, -1, 198, -1, 304, 254, -1, 203, 4642, -1, + -1, -1, -1, 2821, 314, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6373, -1, 326, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 297, 4683, + -1, -1, 4686, -1, -1, -1, -1, -1, 254, -1, + -1, -1, -1, 312, -1, -1, 315, -1, 368, -1, + -1, 371, 372, -1, -1, -1, -1, -1, 4712, -1, + -1, -1, -1, 6432, -1, -1, -1, -1, 725, -1, + 1504, -1, -1, -1, -1, 4729, -1, -1, 207, 2907, + 725, 297, -1, 403, -1, 27, -1, 216, 6457, -1, + -1, 33, -1, 4747, 751, -1, 312, -1, -1, 315, + -1, 230, -1, 2931, -1, -1, 751, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, 4775, -1, -1, 4778, 33, -1, -1, -1, -1, + -1, -1, 4786, 4787, -1, 4789, 78, 1571, -1, 408, + 4794, 4795, -1, -1, -1, 4799, -1, -1, -1, -1, + 4804, -1, -1, 4807, 4808, -1, 476, -1, -1, -1, + 4814, -1, -1, -1, -1, -1, -1, 2995, -1, -1, + 78, 2999, -1, -1, -1, -1, -1, -1, 1612, -1, + -1, -1, 4836, -1, -1, -1, -1, -1, -1, 4843, + -1, -1, 408, 135, 4848, -1, -1, 4851, 4852, -1, + 142, -1, -1, -1, 146, 4859, -1, -1, 3036, -1, + 3038, 1645, 3040, 3041, -1, -1, 4870, 3045, 3046, 3047, + -1, 3049, 3050, 3051, 4878, -1, -1, 135, -1, -1, + -1, -1, 174, -1, 142, -1, -1, 894, 146, -1, + -1, -1, -1, -1, -1, 514, -1, -1, -1, 894, + -1, 4905, -1, -1, 523, 524, 525, 526, 527, 528, + 529, 530, 531, -1, 4918, -1, 174, 536, 210, 4923, + -1, -1, -1, -1, -1, 3103, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 514, -1, + 3128, -1, 210, -1, 4958, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + 536, 4975, 10, -1, -1, 13, 4980, -1, -1, 17, + 18, 19, -1, 4987, -1, -1, -1, -1, -1, -1, + -1, -1, 25, -1, -1, -1, -1, 30, 290, 5003, + -1, -1, 294, -1, -1, -1, 5010, -1, -1, 47, + -1, -1, 304, -1, -1, -1, 54, -1, 5022, -1, + -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, + -1, 1038, 290, -1, 326, 68, 294, -1, -1, -1, + -1, -1, 80, -1, -1, -1, 304, -1, 81, 5053, + 1057, -1, -1, -1, -1, 1839, 314, -1, -1, -1, + -1, 1068, 1057, -1, -1, 98, 1850, -1, 326, -1, + -1, -1, -1, 1068, -1, 5079, 368, 1084, -1, 371, + 372, -1, 1866, 116, -1, -1, -1, -1, -1, 1084, + -1, 5095, -1, -1, -1, -1, 5100, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, + 368, 403, -1, 371, 372, 5119, -1, -1, -1, -1, + 153, -1, 5126, -1, -1, -1, -1, -1, -1, 162, + -1, -1, -1, -1, -1, -1, 1920, -1, -1, -1, + -1, -1, 175, -1, -1, 403, -1, -1, 181, -1, + -1, 1935, -1, -1, 1938, 1939, -1, -1, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, 5172, -1, + 5174, -1, -1, -1, -1, 208, -1, -1, -1, -1, + -1, -1, -1, -1, 476, 1969, 1970, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5205, 681, -1, -1, -1, -1, -1, 687, -1, + -1, -1, -1, -1, -1, -1, 254, -1, 476, -1, + 699, -1, -1, -1, -1, -1, -1, 5231, -1, -1, + -1, -1, -1, -1, 1241, 268, -1, 5241, -1, -1, + 5244, -1, -1, 5247, 5248, 5249, 1241, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 297, + 3438, 13, -1, -1, -1, 17, 18, 19, 5272, 5273, + -1, -1, 5276, -1, 312, -1, -1, -1, -1, 312, + -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, + 5294, -1, -1, -1, 5298, 47, -1, -1, -1, -1, + 5304, -1, 54, -1, 5308, -1, -1, -1, -1, -1, + 5314, 5315, -1, -1, -1, 348, 349, -1, -1, 352, + -1, -1, -1, -1, 5328, -1, -1, 5331, 80, 2113, + -1, -1, 5336, -1, 5338, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 380, -1, -1, + 383, -1, -1, -1, -1, -1, 5360, 390, -1, -1, + -1, -1, -1, -1, 397, -1, -1, 400, -1, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5385, 5386, -1, -1, -1, -1, 420, 27, -1, + -1, -1, 5396, -1, 33, 428, -1, -1, -1, -1, + -1, -1, 435, -1, -1, 438, -1, -1, -1, -1, + 443, -1, -1, -1, -1, -1, 8, 3595, 451, -1, + -1, -1, 14, 15, -1, 458, -1, -1, 20, -1, + 22, -1, 5436, -1, -1, -1, 28, 5441, 30, 78, + -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, 203, 485, -1, -1, -1, -1, 49, 50, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 226, 227, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 135, 1504, 5502, -1, + -1, 5505, 254, 142, 3682, -1, -1, 146, -1, 1504, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5536, -1, -1, 174, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 297, -1, -1, -1, 5553, + -1, -1, -1, 5557, -1, 5559, -1, -1, -1, -1, + 312, -1, 3740, 315, 1571, -1, -1, -1, -1, 5573, + -1, 210, -1, -1, -1, -1, 1571, 5581, -1, -1, + 5584, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5595, -1, -1, -1, -1, -1, -1, 5602, -1, + -1, -1, -1, -1, -1, 1612, -1, -1, 200, -1, + -1, -1, 204, -1, -1, -1, -1, 1612, -1, -1, + 212, -1, -1, 215, -1, -1, 218, 219, -1, 221, + -1, 223, 3810, -1, 226, -1, 228, -1, 1645, -1, + -1, -1, -1, -1, -1, -1, 5650, -1, -1, -1, + 1645, 290, 5656, -1, -1, 294, 408, 5661, 5662, -1, + -1, -1, 5666, -1, -1, 304, -1, -1, 5672, 5673, + 5674, -1, -1, -1, 10, 314, -1, 13, -1, -1, + 3858, 17, 18, 19, 5688, -1, -1, 326, -1, -1, + -1, -1, 3870, 3871, -1, -1, -1, -1, -1, -1, + -1, 37, 3880, -1, 5708, -1, -1, 3885, -1, 3887, + -1, 47, 5716, -1, -1, 5719, -1, -1, 54, -1, + 1727, 1728, 1729, -1, -1, -1, -1, -1, -1, 368, + -1, -1, 371, 372, -1, -1, -1, -1, -1, -1, + 5744, -1, -1, -1, 80, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3933, -1, -1, -1, -1, + -1, -1, 514, -1, 403, -1, -1, -1, -1, 5773, + 5774, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, -1, -1, -1, -1, + 3968, 3969, -1, 5797, 5798, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5809, -1, -1, -1, -1, + -1, -1, -1, -1, 5818, 5819, 5820, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5833, + 5834, -1, 1839, 5837, -1, -1, -1, 476, 5842, -1, + 5844, -1, 5846, 1850, 1839, -1, -1, -1, -1, 5853, + -1, -1, -1, -1, -1, 1850, 5860, -1, -1, 1866, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + -1, 1866, -1, -1, -1, 5879, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 226, 227, -1, -1, -1, -1, 51, 64, -1, -1, + 5904, -1, -1, 5907, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1920, -1, -1, -1, -1, 254, -1, + -1, -1, -1, -1, -1, 1920, -1, -1, 1935, -1, + -1, 1938, 1939, 100, -1, -1, -1, -1, -1, -1, + 1935, -1, -1, 1938, 1939, -1, -1, -1, -1, -1, + -1, -1, -1, 2737, -1, -1, 5960, 2741, 2742, -1, + -1, 297, 1969, 1970, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1969, 1970, 312, -1, -1, 315, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4173, 163, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 6011, -1, -1, + -1, -1, 2796, -1, -1, -1, -1, -1, 2802, -1, + -1, -1, 6026, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6036, 200, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6050, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6064, -1, 2069, -1, -1, 2849, -1, -1, -1, -1, + -1, 663, 408, 6077, -1, -1, 2083, -1, -1, 2086, + -1, -1, 674, 250, -1, -1, 678, -1, -1, -1, + -1, -1, -1, 685, 686, -1, -1, 689, -1, 691, + 692, -1, -1, -1, -1, -1, 2113, -1, -1, -1, + -1, -1, -1, -1, 706, 6119, -1, -1, 2113, -1, + -1, -1, -1, 290, -1, 6129, -1, 294, -1, 51, + -1, -1, 724, 6137, 6138, -1, -1, -1, -1, 6143, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 745, -1, 747, -1, -1, -1, 326, + 327, -1, -1, -1, -1, 757, -1, -1, -1, -1, + 6174, 6175, -1, -1, 6178, -1, -1, 10, 514, -1, + 13, -1, -1, -1, 17, 18, 19, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, 790, -1, + 536, 368, -1, -1, 37, 372, -1, -1, -1, -1, + 377, 6215, -1, -1, 47, -1, -1, -1, -1, 386, + -1, 54, -1, -1, -1, -1, -1, -1, 395, 4407, + -1, -1, -1, 1712, -1, 6239, 403, -1, -1, -1, + -1, 6245, -1, -1, -1, -1, -1, 80, -1, 416, + -1, -1, -1, -1, -1, -1, -1, 4435, 425, 6263, + -1, -1, -1, 430, -1, -1, 6270, -1, -1, -1, + -1, -1, 4450, -1, -1, 3059, 4454, -1, 4456, 871, + -1, -1, 6286, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6304, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 487, -1, -1, -1, 4502, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6342, -1, + 4518, -1, -1, 6347, -1, 4523, -1, -1, 3132, 6353, + -1, -1, 3136, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6366, -1, 956, 198, -1, -1, -1, 6373, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1885, 6411, 6412, -1, + -1, -1, -1, -1, 1893, -1, -1, -1, -1, -1, + -1, 254, 1901, -1, 6428, -1, -1, -1, 6432, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1030, -1, + -1, 6445, 6446, -1, 4622, -1, -1, 4625, -1, -1, + -1, -1, -1, 6457, -1, 3239, -1, -1, -1, -1, + -1, -1, -1, 1055, 297, -1, -1, 1946, -1, -1, + 3254, -1, -1, -1, -1, 3259, -1, -1, 1070, 312, + 1072, -1, 315, -1, -1, -1, -1, -1, -1, -1, + 1082, -1, -1, -1, 1973, -1, -1, 1089, -1, -1, + -1, -1, -1, -1, -1, -1, 3290, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4701, 4702, 4703, 4704, -1, 4706, 4707, + 4708, 4709, 4710, -1, -1, -1, -1, -1, -1, -1, + 1132, -1, 1134, -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, + 725, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2597, -1, -1, -1, -1, -1, 751, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1208, -1, 1210, -1, + 1212, -1, 1214, -1, 1216, 1217, 1218, -1, -1, -1, + -1, 1223, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1235, -1, -1, -1, -1, 4826, -1, + 4828, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, 514, 17, 18, 19, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 37, 536, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, 54, + 25, -1, -1, -1, -1, 30, -1, -1, -1, -1, + 2737, -1, -1, -1, 2741, 2742, -1, -1, -1, 894, + -1, -1, 2737, -1, -1, 80, 2741, 2742, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3546, -1, -1, 3549, -1, 3551, -1, -1, + -1, -1, 3556, -1, -1, -1, 81, 82, -1, 51, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2796, + -1, -1, -1, 98, -1, 2802, -1, -1, -1, -1, + -1, 2796, -1, 725, -1, -1, -1, 2802, -1, -1, + -1, 116, 10, -1, 3598, 13, -1, -1, -1, 17, + 18, 19, 3606, -1, -1, -1, -1, -1, -1, 751, + -1, -1, -1, 1425, -1, 140, -1, -1, -1, 37, + -1, -1, 2849, -1, -1, -1, -1, 3631, 153, 47, + -1, -1, -1, -1, 2849, -1, 54, 162, -1, -1, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + 175, -1, -1, 5051, 5052, -1, 181, -1, -1, -1, + -1, -1, 80, -1, -1, -1, 5064, -1, 5066, 5067, + 5068, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1057, 208, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1068, -1, 10, -1, -1, 13, 254, + -1, -1, 17, 18, 19, -1, 3710, -1, 3712, 1084, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 246, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 47, 1545, 5132, -1, -1, -1, -1, 54, + -1, -1, 297, 268, -1, -1, -1, -1, -1, -1, + -1, -1, 894, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, 5171, -1, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3027, -1, -1, -1, 3808, 1617, -1, -1, 226, 227, + -1, -1, -1, -1, -1, -1, 5214, -1, -1, -1, + -1, -1, -1, 348, 349, -1, -1, 352, -1, -1, + -1, -1, 3059, -1, -1, -1, 254, -1, -1, -1, + 51, -1, -1, -1, 3059, -1, -1, -1, 3852, -1, + -1, -1, -1, 408, -1, 380, -1, -1, 383, -1, + -1, -1, -1, -1, -1, 390, 1241, -1, -1, -1, + -1, -1, 397, -1, -1, 400, 3880, -1, -1, 297, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + -1, -1, -1, -1, 312, 420, -1, 315, -1, -1, + -1, -1, -1, 428, -1, 3132, -1, -1, -1, 3136, + 435, 226, 227, 438, -1, 1057, -1, 3132, 443, -1, + -1, 3136, -1, -1, -1, -1, 1068, -1, -1, -1, + -1, -1, -1, 458, -1, -1, -1, -1, -1, 254, + -1, -1, 1084, -1, 3948, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, + 485, -1, -1, -1, -1, -1, 3970, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + -1, 536, 297, -1, -1, -1, -1, 5385, 3992, -1, + 408, -1, -1, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3239, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1835, 3239, -1, -1, 3254, -1, -1, + -1, 2730, 3259, 5431, -1, -1, -1, -1, -1, 3254, + -1, -1, 5440, -1, 3259, -1, -1, -1, -1, 2748, + -1, -1, -1, 2752, -1, -1, -1, 2756, 1870, -1, + -1, -1, -1, 3290, -1, -1, -1, -1, 51, -1, + 4074, -1, -1, -1, -1, 3290, -1, -1, -1, -1, + -1, 2780, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 408, -1, -1, 514, -1, -1, 1241, + -1, -1, -1, -1, 1916, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, 2814, -1, -1, 536, -1, + -1, -1, -1, 4127, 1936, -1, -1, -1, -1, 1504, + -1, -1, -1, -1, -1, 2834, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, + 1962, -1, 1964, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1979, -1, 1981, + -1, -1, -1, 2872, -1, 1987, -1, 1989, -1, 1991, + -1, 1993, -1, 1995, -1, -1, -1, 1999, -1, -1, + -1, -1, -1, -1, -1, -1, 1571, -1, -1, 514, + 2899, -1, -1, -1, -1, -1, 2905, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + 2919, 536, -1, -1, 2036, -1, -1, 2926, -1, -1, + 2929, -1, -1, 725, -1, -1, 2935, 1612, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2955, -1, -1, 751, + -1, -1, 2961, -1, -1, -1, -1, -1, -1, 2968, + 1645, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2982, -1, -1, -1, -1, -1, -1, + 5688, -1, -1, -1, 5692, -1, -1, 2996, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3007, 4313, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3546, + -1, -1, 3549, -1, 3551, -1, -1, -1, -1, 3556, + -1, 3546, -1, -1, 3549, -1, 3551, -1, -1, -1, + -1, 3556, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1504, -1, -1, -1, -1, -1, -1, -1, + -1, 3598, -1, -1, -1, -1, -1, -1, -1, 3606, + -1, -1, -1, 3598, -1, -1, -1, -1, -1, -1, + -1, 3606, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 894, 4407, 3631, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 10, -1, 3631, 13, -1, -1, + -1, 17, 18, 19, -1, -1, -1, -1, -1, 1571, + -1, 4435, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, -1, -1, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, 1839, -1, -1, -1, -1, -1, + 1612, -1, -1, -1, -1, 1850, -1, -1, -1, -1, + -1, -1, -1, 3710, 80, 3712, -1, -1, -1, -1, + -1, 1866, -1, -1, -1, 3710, -1, 3712, -1, -1, + -1, -1, -1, 1645, -1, -1, -1, -1, -1, 5907, + -1, -1, -1, 5911, 725, 5913, -1, -1, -1, 5917, + 5918, -1, -1, 3222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 751, -1, 3241, -1, -1, 1920, -1, -1, -1, 3248, + -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, + 1935, -1, -1, 1938, 1939, 1057, -1, -1, -1, -1, + -1, -1, -1, -1, 4578, -1, 1068, -1, -1, -1, + -1, 3808, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1084, 3808, 1969, 1970, -1, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + 3837, -1, -1, -1, -1, -1, 3843, -1, -1, -1, + -1, 4625, -1, -1, -1, 3852, 4630, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, 3852, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3880, -1, -1, -1, -1, 254, -1, + -1, -1, -1, -1, -1, 3880, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 894, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1839, -1, -1, + -1, 297, -1, -1, -1, -1, -1, -1, 1850, -1, + -1, -1, -1, -1, -1, -1, 312, -1, -1, 315, + -1, 3948, -1, -1, 1866, -1, -1, -1, -1, -1, + -1, -1, -1, 3948, -1, -1, -1, -1, 2113, -1, + -1, -1, 725, 3970, -1, -1, -1, -1, -1, 1241, + -1, -1, -1, -1, -1, 3970, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3992, -1, -1, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 3992, 1920, -1, + -1, -1, -1, -1, -1, 4789, -1, -1, -1, -1, + -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 408, -1, -1, -1, -1, 6215, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1969, 1970, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1057, 4074, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1068, -1, 4074, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1084, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, + 4127, 4905, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 894, 4127, -1, -1, -1, -1, -1, 514, 2731, + 2732, -1, -1, -1, -1, 4152, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, 4152, 2750, 2751, + 536, 2753, 2754, -1, -1, -1, 2758, 2759, -1, -1, + -1, -1, -1, -1, 4958, -1, -1, -1, -1, -1, + -1, 2773, -1, -1, -1, 2777, -1, -1, -1, 2781, + 2782, 2113, -1, 2785, 2786, 6373, 4980, -1, -1, -1, + 2792, -1, 6380, -1, -1, -1, 6384, -1, -1, -1, + -1, -1, 2804, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3701, -1, 2816, -1, -1, -1, -1, 2821, + -1, -1, 1504, -1, -1, -1, -1, -1, -1, -1, + 6418, -1, -1, -1, 2836, -1, -1, -1, 2840, -1, + 1241, -1, -1, -1, 6432, -1, -1, -1, -1, 2851, + -1, -1, 2854, -1, 2856, 2857, 2858, -1, -1, 5053, + -1, 2863, 2864, -1, -1, -1, -1, -1, -1, 6457, + -1, 2873, 6460, -1, -1, -1, -1, 2879, -1, -1, + -1, 2883, -1, -1, 1057, -1, -1, -1, -1, 1571, + -1, -1, -1, 2895, 2896, 1068, 4313, -1, 2900, -1, + -1, -1, -1, -1, 2906, 2907, -1, -1, 4313, -1, + -1, 1084, -1, -1, -1, -1, -1, -1, 2920, -1, + -1, 2923, -1, -1, -1, -1, -1, -1, 2930, 2931, + 1612, -1, -1, -1, 2936, -1, -1, -1, -1, -1, + -1, -1, -1, 3832, -1, -1, 2948, -1, -1, 2951, + -1, -1, -1, -1, 2956, -1, -1, -1, -1, -1, + 2962, 2963, -1, 1645, -1, -1, -1, -1, 2970, -1, + -1, -1, 2974, -1, -1, -1, 2978, 2979, 2980, 2981, + 5174, 2983, -1, -1, -1, -1, -1, -1, -1, -1, + 4407, -1, -1, -1, -1, 2997, 2998, -1, 3000, -1, + -1, -1, 4407, -1, -1, -1, -1, -1, -1, 3011, + 3012, 3013, -1, -1, -1, -1, -1, -1, 4435, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4435, -1, -1, -1, -1, -1, 725, -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, 751, -1, -1, -1, 3068, -1, 1241, -1, + -1, -1, -1, -1, 3076, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3095, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1504, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + 5314, -1, 4011, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + -1, 4030, -1, 3145, -1, 4034, 47, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, 1839, -1, -1, + -1, 4578, 3164, -1, 3166, -1, -1, -1, 1850, -1, + 1571, -1, 2737, 4578, -1, -1, 2741, 2742, -1, 80, + -1, -1, -1, -1, 1866, -1, -1, -1, -1, -1, + -1, 5385, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 894, -1, -1, 4625, -1, + -1, 1612, -1, 4630, -1, -1, -1, -1, -1, -1, + 4625, -1, -1, -1, -1, 4630, -1, -1, -1, -1, + -1, 2796, -1, -1, -1, -1, -1, 2802, 1920, -1, + -1, -1, -1, -1, 1645, -1, -1, -1, -1, -1, + -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, 3261, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2849, -1, -1, 1969, 1970, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, + -1, 5505, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, + -1, 1504, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1057, -1, + -1, -1, 4789, -1, -1, -1, -1, -1, -1, 1068, + -1, -1, -1, -1, 4789, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1084, 297, -1, 1571, -1, + -1, -1, -1, -1, -1, 2737, -1, -1, -1, 2741, + 2742, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2113, -1, -1, -1, -1, -1, -1, 1839, 1612, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1850, + 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5656, -1, 2796, 1866, -1, 5661, 5662, -1, + 2802, -1, 1645, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4905, -1, + -1, -1, -1, -1, 3059, -1, -1, -1, -1, -1, + 4905, -1, -1, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2849, -1, 1920, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, + -1, 4958, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1241, 4958, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4980, -1, -1, -1, 3132, 1969, 1970, + -1, 3136, -1, -1, -1, 4980, -1, -1, -1, -1, + 5774, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3593, 4481, -1, -1, 4484, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3610, -1, + -1, -1, 3614, 514, -1, -1, -1, 3619, 3620, 3621, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, 5053, -1, -1, 3641, + -1, -1, -1, 5837, -1, -1, -1, -1, 5053, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3664, 3665, 3666, 3667, 1839, -1, -1, -1, + -1, -1, -1, -1, 3239, -1, -1, 1850, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3254, + -1, -1, -1, 1866, 3259, -1, 4585, -1, -1, -1, + 3702, -1, 3704, 3705, 3706, -1, -1, -1, -1, -1, + -1, -1, 2113, 4602, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3290, -1, 3059, -1, -1, + -1, -1, 27, -1, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 40, -1, 1920, -1, -1, + -1, -1, -1, -1, -1, 5172, -1, 5174, -1, -1, + -1, -1, 1935, -1, -1, 1938, 1939, 62, -1, 5174, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4683, -1, 1969, 1970, -1, -1, + 3132, -1, -1, -1, 3136, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1504, -1, -1, -1, 114, + -1, -1, 3824, -1, -1, -1, -1, -1, -1, -1, + -1, 3833, -1, -1, -1, -1, -1, -1, -1, -1, + 135, -1, -1, -1, -1, -1, -1, 142, -1, -1, + -1, 146, -1, -1, -1, -1, -1, 3859, 3860, -1, + -1, -1, 3864, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, + -1, -1, 1571, -1, 3886, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5314, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3239, -1, 5314, + -1, 206, -1, -1, -1, 210, -1, -1, -1, -1, + -1, -1, 3254, 1612, -1, -1, -1, 3259, -1, -1, + -1, -1, -1, -1, -1, -1, 3938, -1, -1, -1, + 2113, 3943, -1, -1, -1, -1, -1, 3949, -1, -1, + -1, -1, -1, -1, -1, -1, 1645, -1, 3290, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5385, 264, + -1, -1, -1, -1, 269, -1, -1, 3979, -1, 274, + 5385, 3546, -1, -1, 3549, -1, 3551, -1, -1, -1, + -1, 3556, -1, -1, -1, 290, -1, -1, -1, 294, + -1, -1, -1, -1, -1, -1, 4008, -1, 4010, 304, + -1, -1, -1, -1, -1, -1, -1, 10, -1, 314, + 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, + 325, 326, -1, 3598, -1, -1, -1, -1, -1, -1, + -1, 3606, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, 2737, -1, -1, -1, 2741, + 2742, 54, -1, -1, -1, -1, 3631, -1, -1, -1, + -1, -1, -1, 368, -1, -1, 371, 372, 373, -1, + -1, -1, -1, -1, -1, -1, 4975, 80, 5505, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4987, -1, + 5505, -1, 397, -1, -1, -1, -1, -1, 403, -1, + -1, -1, -1, -1, 2796, -1, -1, -1, -1, -1, + 2802, -1, -1, 418, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3710, -1, 3712, -1, -1, + 1839, -1, -1, 6347, -1, -1, -1, -1, -1, -1, + -1, 1850, -1, -1, -1, -1, -1, 2849, -1, -1, + -1, -1, -1, -1, 469, -1, -1, 1866, -1, -1, + -1, 476, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, 3546, -1, -1, 3549, -1, 3551, + -1, -1, -1, -1, 3556, -1, -1, -1, -1, -1, + -1, 1920, -1, 226, 227, -1, -1, -1, -1, 5656, + -1, -1, -1, 3808, 5661, 5662, 1935, -1, -1, 1938, + 1939, 5656, -1, -1, -1, -1, 5661, 5662, -1, -1, + -1, 254, -1, -1, -1, -1, 3598, -1, -1, -1, + -1, -1, -1, -1, 3606, -1, -1, -1, -1, -1, + 1969, 1970, -1, -1, -1, -1, -1, 3852, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3631, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3880, 5205, -1, -1, 312, + -1, -1, 315, 4325, -1, 4327, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2737, -1, 4340, -1, + 2741, 2742, -1, -1, -1, -1, -1, -1, -1, -1, + 4352, -1, -1, -1, 4356, -1, 5773, 5774, -1, -1, + -1, -1, -1, -1, -1, 4367, -1, -1, -1, 5774, + -1, -1, -1, -1, -1, -1, -1, 3059, 3710, -1, + 3712, -1, -1, 3948, 4386, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2796, -1, -1, -1, -1, + -1, 2802, 4404, -1, -1, 3970, -1, -1, -1, -1, + 4412, -1, -1, -1, -1, 408, -1, -1, -1, -1, + 5837, -1, -1, -1, 2113, -1, -1, 3992, -1, -1, + -1, -1, 5837, -1, -1, 4437, -1, -1, -1, 4441, + -1, -1, -1, -1, -1, -1, -1, 5336, 2849, 5338, + 3132, -1, -1, -1, 3136, 4457, 4458, 4459, 4460, -1, + -1, -1, -1, -1, -1, 4467, 4468, 4469, 4470, -1, + -1, -1, -1, -1, 4476, 4477, 3808, -1, -1, -1, + 4482, 4483, -1, 4485, 4486, 4487, 4488, 4489, 4490, 4491, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4501, + -1, -1, -1, 4505, 4506, 4507, 4508, -1, -1, 4074, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3852, 514, -1, -1, -1, -1, -1, 4529, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, -1, 536, -1, 4547, -1, -1, 3880, -1, + -1, -1, -1, -1, -1, -1, -1, 3239, -1, -1, + -1, -1, 4127, -1, 2737, -1, -1, -1, 2741, 2742, + -1, -1, 3254, -1, -1, 10, -1, 3259, 13, -1, + -1, -1, 17, 18, 19, -1, -1, 4152, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, 3290, -1, + -1, -1, 47, -1, -1, -1, 3948, -1, -1, 54, + -1, 4623, -1, 2796, -1, -1, -1, -1, -1, 2802, + -1, -1, -1, -1, -1, -1, -1, -1, 3970, -1, + -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, -1, 4656, -1, -1, -1, 3059, 10, + 3992, 4663, 13, 4665, -1, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, -1, 2849, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + -1, 4693, -1, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, 54, -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, 80, + -1, 3132, -1, -1, -1, 3136, -1, -1, 10, -1, + -1, 13, 4074, -1, -1, 17, 18, 19, 4313, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, 37, -1, -1, 203, -1, + -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, + -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, + -1, 226, 227, -1, -1, 4127, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 254, + 4152, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3239, -1, + -1, -1, 4407, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 3254, -1, -1, -1, -1, 3259, -1, + -1, -1, 297, -1, 3546, -1, -1, 3549, -1, 3551, + 4435, -1, -1, -1, 3556, 226, 227, 312, -1, -1, + 315, -1, -1, -1, -1, -1, 3059, -1, -1, 3290, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 254, 4906, 4907, 4908, -1, -1, -1, + 4912, 4913, 4914, 4915, -1, -1, 3598, 4919, -1, -1, + -1, -1, -1, -1, 3606, -1, 198, -1, -1, -1, + 6347, 203, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6347, -1, -1, -1, 297, -1, -1, 3631, + -1, -1, -1, -1, 226, 227, -1, -1, -1, 3132, + -1, 312, -1, 3136, 315, -1, -1, -1, 4970, 4971, + 4972, 4973, 4974, 408, 4976, 4977, -1, -1, -1, -1, + -1, 4313, 254, -1, -1, -1, 4988, 4989, -1, -1, + -1, -1, -1, -1, 6411, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4578, -1, -1, -1, -1, -1, -1, + -1, 5023, -1, -1, -1, 297, -1, -1, 3710, -1, + 3712, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 312, -1, -1, 315, -1, -1, -1, -1, 2737, -1, + -1, -1, 2741, 2742, -1, -1, -1, 408, -1, -1, + 4625, -1, -1, -1, -1, 4630, 3239, -1, -1, -1, + -1, -1, -1, -1, -1, 4407, -1, -1, -1, 514, + -1, 3254, -1, -1, -1, -1, 3259, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + -1, 536, -1, 4435, -1, -1, -1, 2796, -1, -1, + -1, -1, -1, 2802, -1, -1, -1, 3290, -1, -1, + -1, -1, -1, 5125, -1, -1, 3808, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 408, -1, -1, -1, + -1, -1, -1, -1, -1, 3546, -1, -1, 3549, -1, + 3551, -1, -1, -1, -1, 3556, -1, -1, -1, -1, + 2849, 6050, -1, 514, -1, -1, -1, -1, -1, -1, + 3852, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, -1, -1, 5190, -1, + -1, -1, -1, -1, -1, -1, -1, 3598, 3880, -1, + -1, -1, -1, -1, -1, 3606, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5222, -1, -1, -1, 4789, -1, -1, -1, -1, -1, + 3631, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 514, -1, -1, -1, 4578, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, 3948, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3970, -1, + -1, -1, 207, 4625, -1, -1, -1, -1, 4630, -1, + -1, 216, -1, -1, -1, -1, -1, -1, -1, 3710, + 3992, 3712, -1, -1, -1, 230, -1, -1, -1, 5321, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5842, -1, -1, -1, -1, -1, -1, 5849, - -1, -1, -1, -1, -1, -1, 5666, -1, -1, -1, - -1, -1, -1, -1, -1, 5675, 5676, 5677, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + 4905, -1, 17, 18, 19, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + 3059, -1, 47, 3546, -1, -1, 3549, -1, 3551, 54, + -1, -1, -1, 3556, -1, 5387, -1, -1, -1, -1, + -1, -1, 4074, 4958, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5406, 80, -1, 3808, -1, -1, + 5412, 5413, -1, -1, -1, 4980, -1, -1, -1, -1, + 5422, -1, -1, -1, -1, 3598, -1, 5429, -1, -1, + -1, -1, -1, 3606, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3132, -1, 4127, -1, 3136, -1, -1, + -1, 3852, -1, -1, -1, -1, -1, 4789, 3631, -1, + -1, -1, 5464, 5465, -1, -1, -1, -1, -1, -1, + 4152, -1, -1, -1, -1, 5477, -1, 5479, -1, 3880, + -1, -1, -1, -1, -1, -1, -1, -1, 5053, -1, + -1, -1, 5494, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5519, -1, -1, + -1, -1, -1, 198, -1, 5527, -1, -1, 203, -1, + -1, -1, -1, -1, -1, -1, -1, 3710, -1, 3712, + -1, -1, -1, -1, -1, -1, -1, 3948, -1, -1, + 3239, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3254, -1, -1, -1, 3970, + 3259, -1, -1, 4905, -1, -1, -1, -1, -1, 254, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3992, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3290, -1, -1, -1, -1, -1, -1, -1, 5174, + -1, -1, -1, -1, -1, 5617, -1, -1, -1, -1, + -1, -1, 297, -1, -1, -1, 4958, -1, -1, 5631, + -1, 4313, -1, -1, -1, 3808, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, -1, 4980, -1, + -1, -1, -1, 5655, -1, -1, 206, 207, -1, -1, + -1, -1, -1, -1, 214, -1, 216, 217, -1, -1, + -1, -1, -1, 4074, -1, -1, -1, -1, -1, 3852, + 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, -1, -1, -1, -1, 33, -1, 3880, -1, -1, + -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, + 5722, 5053, -1, -1, -1, 4407, 4127, -1, -1, -1, + -1, -1, 208, 408, 62, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 220, -1, -1, 662, -1, 5314, + 78, 4152, -1, 4435, -1, 231, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 681, -1, -1, -1, + -1, -1, 687, -1, -1, 3948, -1, -1, -1, -1, + -1, -1, -1, -1, 699, -1, 114, -1, -1, -1, + 5792, -1, -1, -1, -1, -1, -1, 3970, -1, -1, + 715, -1, -1, -1, -1, -1, -1, 135, -1, -1, + -1, -1, -1, -1, 142, 730, -1, -1, 146, 3992, + 5385, -1, -1, 738, 5826, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 752, -1, 514, + -1, -1, 5174, -1, -1, -1, 174, 762, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 3546, -1, -1, + 3549, 536, 3551, -1, -1, 5867, -1, 3556, 198, 199, + -1, -1, 202, -1, -1, -1, -1, -1, 206, -1, + -1, -1, 210, -1, -1, -1, -1, -1, -1, 5891, + -1, -1, 222, -1, -1, -1, 4578, -1, -1, 229, + 815, 4074, -1, -1, -1, -1, -1, -1, -1, 3598, + -1, -1, 4313, -1, -1, -1, -1, 3606, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 843, -1, + -1, -1, -1, -1, -1, -1, 264, -1, -1, -1, + 5505, 269, 3631, 4625, -1, -1, 274, -1, 4630, 5951, + -1, -1, -1, 868, 4127, -1, -1, -1, -1, -1, + -1, -1, 290, -1, -1, -1, 294, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 304, -1, -1, 4152, + -1, -1, 5314, -1, -1, -1, 314, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 325, 326, -1, + -1, -1, 10, -1, -1, 13, 4407, -1, -1, 17, + 18, 19, -1, -1, -1, 930, -1, -1, -1, -1, + -1, 3710, -1, 3712, -1, -1, -1, -1, -1, 37, + -1, -1, -1, -1, 4435, -1, -1, -1, -1, 47, + 368, -1, -1, 371, 372, 373, 54, -1, -1, -1, + -1, -1, -1, 5385, -1, -1, -1, -1, -1, -1, + -1, 6063, -1, -1, -1, -1, -1, -1, -1, 397, + -1, -1, 80, -1, -1, 403, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 418, 5656, -1, -1, 6096, -1, 5661, 5662, -1, -1, + -1, -1, -1, -1, -1, 6107, -1, 4789, -1, -1, + -1, -1, 662, -1, -1, -1, -1, -1, -1, 3808, + -1, -1, -1, -1, -1, 1040, -1, -1, -1, -1, + -1, 681, 1047, -1, -1, -1, -1, 687, -1, -1, + 4313, 469, -1, -1, -1, -1, -1, -1, 476, 699, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3852, -1, 715, -1, -1, -1, -1, + -1, -1, -1, 5505, -1, -1, -1, 4578, -1, 729, + 730, -1, -1, -1, -1, -1, 736, 663, 738, 739, + 198, 3880, -1, 669, -1, 203, -1, -1, -1, -1, + -1, -1, 752, -1, -1, -1, -1, -1, -1, 5774, + -1, -1, 762, -1, -1, -1, -1, -1, 226, 227, + -1, -1, -1, 4905, 4625, -1, -1, 6229, -1, 4630, + -1, -1, -1, -1, 4407, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1171, -1, -1, 3948, + -1, -1, 4435, -1, -1, 815, -1, -1, -1, -1, + -1, -1, 5837, -1, -1, -1, 4958, -1, -1, -1, + -1, 3970, -1, -1, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 843, -1, -1, -1, -1, 4980, -1, + -1, -1, -1, 3992, 312, -1, -1, 315, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1232, 868, -1, + -1, -1, -1, -1, 5656, -1, -1, -1, 1243, 5661, + 5662, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 671, -1, 673, -1, 1260, 676, -1, -1, -1, + 1265, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 690, -1, -1, -1, 840, -1, 696, -1, -1, -1, + -1, 5053, -1, -1, -1, -1, -1, -1, -1, -1, + 930, -1, -1, 859, -1, 4074, -1, -1, 4789, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 408, -1, -1, -1, -1, 4578, -1, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6435, -1, -1, -1, -1, 4127, 37, + -1, -1, 5774, 41, -1, -1, -1, -1, -1, 47, + -1, -1, 4625, -1, -1, 931, 54, 4630, -1, -1, + -1, -1, -1, 4152, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, -1, -1, 1400, -1, -1, -1, -1, + 1040, -1, 5174, 1408, 1409, -1, -1, 1047, -1, -1, + -1, -1, 978, -1, 4905, 5837, 514, -1, 1058, -1, + -1, -1, 1062, -1, 1064, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, -1, -1, 536, -1, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1461, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4958, -1, -1, + 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980, + -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, + 198, -1, -1, -1, 54, 203, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4789, 1093, -1, -1, + -1, 1171, -1, -1, 4313, -1, -1, -1, 226, 227, + 80, -1, 5314, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1122, 1123, 1124, -1, + -1, -1, 5053, 983, 984, -1, 254, -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, 1232, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1243, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 5385, -1, -1, -1, -1, -1, -1, + 1260, -1, -1, -1, 312, 1265, -1, 315, 4407, -1, + -1, -1, -1, 173, 1054, -1, -1, -1, -1, 179, + -1, -1, 4905, -1, -1, -1, -1, -1, -1, 1069, + -1, -1, -1, -1, -1, -1, 4435, -1, 198, -1, + -1, -1, -1, 203, -1, 1231, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1100, 1101, -1, 5174, -1, -1, 226, 227, -1, -1, + -1, -1, 6347, 1259, -1, 4958, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1126, 1712, -1, -1, + -1, -1, -1, -1, 254, -1, -1, 4980, -1, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5505, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1166, 1167, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 297, -1, -1, + 1400, -1, -1, -1, -1, -1, -1, -1, 1408, 1409, + -1, -1, 312, -1, -1, 315, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 473, -1, -1, -1, -1, + 5053, -1, -1, -1, -1, -1, -1, -1, -1, 4578, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1461, 1827, 5314, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 4625, -1, 1414, -1, + -1, 4630, -1, -1, -1, -1, -1, 1862, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 408, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1885, -1, -1, -1, 5656, -1, -1, -1, 1893, 5661, + 5662, -1, -1, -1, 5385, -1, 1901, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5174, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6347, -1, -1, 1494, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1945, 1946, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1959, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1972, 1973, -1, + -1, -1, -1, -1, 514, -1, -1, -1, -1, -1, + -1, -1, -1, 523, 524, 525, 526, 527, 528, 529, + 530, 531, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5774, -1, -1, -1, -1, -1, -1, -1, + 4789, 1577, -1, -1, 5505, -1, -1, -1, -1, -1, + 1586, -1, -1, 10, -1, -1, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, 5314, 1618, -1, -1, -1, -1, -1, 1624, 1625, + 47, -1, 1628, -1, -1, 5837, -1, 54, -1, -1, + -1, -1, 1712, -1, -1, 1641, -1, -1, 1644, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5701, -1, 5893, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 80, -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, 5729, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5385, -1, -1, -1, 4905, -1, -1, 2134, + -1, -1, -1, -1, -1, -1, 1702, -1, -1, -1, + -1, -1, -1, -1, 1564, -1, -1, -1, -1, -1, + 1716, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5656, -1, -1, -1, 1589, + 5661, 5662, -1, -1, -1, -1, -1, -1, -1, 4958, + -1, -1, -1, -1, -1, -1, -1, 1827, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, + -1, 4980, 13, -1, -1, -1, 17, 18, 19, -1, + -1, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, 1862, -1, -1, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, 226, + 227, -1, 5505, 54, -1, 1885, -1, -1, 1668, -1, + -1, -1, -1, 1893, -1, -1, -1, 837, 838, -1, + 1826, 1901, -1, -1, -1, -1, -1, 254, -1, 80, + -1, 1837, -1, -1, 5053, -1, -1, -1, 1698, 1699, + 1700, 1701, -1, 5774, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1942, 1943, -1, 1945, 1946, -1, -1, -1, + 297, -1, -1, 1879, 1880, -1, -1, 1957, -1, 1959, + 1960, -1, -1, -1, -1, 312, -1, -1, 315, -1, + -1, -1, 1972, 1973, -1, -1, -1, 917, 1904, -1, + -1, -1, -1, -1, -1, 1911, 5837, -1, -1, -1, + -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, + -1, 172, -1, -1, -1, -1, -1, -1, -1, -1, + 2010, -1, -1, -1, 2014, 2015, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 5656, -1, 5174, -1, -1, 5661, 5662, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 226, 227, -1, 1984, -1, + -1, 408, -1, -1, -1, 1845, 1846, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 427, 1861, -1, 254, -1, -1, -1, -1, -1, -1, + -1, 2017, 2018, -1, -1, -1, -1, -1, 1038, 1039, + -1, -1, -1, -1, -1, -1, -1, -1, 2034, -1, + -1, 2037, -1, -1, -1, 1895, 1896, 1897, 1898, -1, + -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, + -1, -1, -1, -1, 2134, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, 5774, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 514, -1, 340, + -1, -1, -1, -1, -1, 5314, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1976, -1, -1, -1, + -1, -1, 1982, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5837, 6347, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, 5385, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, + 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 37, -1, -1, 40, -1, -1, + -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, + 2675, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1277, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 2730, 5505, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1319, + -1, -1, -1, 2748, -1, -1, -1, 2752, -1, -1, + -1, 2756, 2172, -1, 10, -1, -1, 13, -1, -1, + 2765, 17, 18, 19, -1, -1, -1, -1, 1348, 1349, + 1350, -1, 1352, -1, -1, 2780, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, -1, 1373, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, 2814, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 80, -1, -1, -1, -1, 2834, + 2835, -1, -1, 226, 227, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6347, -1, -1, -1, + -1, 254, -1, -1, -1, -1, 2871, 2872, -1, -1, + 2875, -1, -1, -1, -1, -1, -1, 5656, -1, -1, + -1, -1, 5661, 5662, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2899, -1, 2901, -1, 1478, -1, + 2905, -1, 1482, 1483, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2919, -1, -1, -1, -1, 312, + -1, 2926, 315, -1, 2929, -1, -1, -1, -1, -1, + 2935, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + 2955, -1, -1, -1, -1, -1, 2961, -1, -1, -1, + -1, -1, -1, 2968, -1, -1, -1, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, 2982, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2996, -1, -1, -1, 5774, 3001, -1, 254, -1, + -1, -1, 3007, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2593, -1, -1, + -1, -1, -1, -1, -1, 2675, -1, -1, 2604, -1, + -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 312, -1, 5837, 315, + -1, -1, 3067, -1, -1, -1, -1, -1, -1, -1, + 2636, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6347, -1, -1, -1, -1, -1, + 2730, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 2748, -1, + -1, -1, 2752, -1, -1, -1, 2756, 2683, 2684, -1, + -1, 514, -1, -1, -1, 2765, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + 2780, -1, -1, -1, -1, -1, -1, 1727, 1728, 1729, + -1, 2717, 408, -1, -1, -1, -1, 2797, -1, 2799, + 2800, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 10, -1, 2814, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2834, 2835, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, + -1, -1, -1, -1, -1, -1, 54, 3222, -1, 3224, + -1, 2641, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2871, 2872, -1, -1, 2875, 3241, -1, -1, -1, + -1, -1, 80, 3248, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 513, 514, 2899, + -1, 2901, -1, -1, -1, 2905, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, 2919, + -1, -1, -1, -1, -1, -1, 2926, 2853, -1, 2929, + -1, -1, -1, -1, -1, 2935, -1, -1, -1, -1, + -1, -1, 2868, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2955, -1, -1, -1, -1, + -1, 2961, -1, -1, 2890, -1, -1, -1, 2968, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3346, 2982, -1, -1, -1, -1, 3352, -1, -1, + -1, -1, -1, -1, -1, -1, 2996, -1, -1, -1, + 198, 3001, -1, -1, -1, 203, -1, 3007, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2803, -1, -1, -1, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2976, 2977, -1, -1, -1, -1, 254, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3067, -1, -1, + -1, -1, -1, 3438, -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, 297, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 312, -1, 2056, 315, -1, -1, + -1, -1, -1, -1, -1, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, -1, -1, 335, -1, 2079, + -1, 2081, -1, 2083, -1, -1, 2086, 2087, 2088, -1, + -1, -1, 3078, -1, 2094, -1, -1, 2097, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2947, -1, -1, + 2950, -1, -1, -1, 2114, 2115, 2116, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2132, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3571, 3572, 6347, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3222, -1, 3224, -1, -1, 3592, -1, -1, + 3595, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3241, -1, -1, -1, -1, -1, -1, 3248, -1, + -1, -1, -1, -1, -1, 3255, -1, 3257, 3258, 3039, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3052, -1, -1, -1, -1, -1, -1, -1, + 3060, -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, 3676, 3677, 3678, -1, -1, 514, -1, -1, 3099, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 3701, -1, -1, 2279, + 3120, -1, -1, -1, -1, -1, 3346, -1, -1, -1, + -1, -1, 3352, -1, -1, 3720, -1, 10, -1, -1, + 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, + -1, -1, -1, 3163, 37, 3165, -1, 40, -1, -1, + -1, -1, -1, 2333, 47, -1, -1, -1, -1, -1, + -1, 54, -1, -1, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, 1365, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, 3438, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, 2389, + -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3832, -1, -1, + -1, 1422, -1, 3253, -1, -1, -1, -1, -1, 80, + 3260, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3424, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3879, -1, -1, -1, -1, 3445, + 3885, -1, 3887, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 10, -1, 3900, 13, 3902, -1, -1, + 17, 18, 19, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, 40, -1, -1, -1, -1, -1, -1, + 47, 3571, 3572, 226, 227, -1, -1, 54, 179, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + -1, -1, 3592, -1, -1, 3595, -1, 198, -1, -1, + -1, 254, 203, 80, 3969, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, 54, -1, 226, 227, -1, -1, -1, + -1, -1, -1, 2573, 2574, 2575, 2576, 2577, 2578, 2579, + 2580, 2581, -1, 2583, 297, -1, 4011, -1, -1, 80, + -1, -1, -1, 254, 2594, -1, -1, 2597, -1, 312, + -1, -1, 315, -1, -1, 4030, -1, -1, -1, 4034, + -1, -1, -1, -1, -1, -1, 3676, 3677, 3678, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4055, -1, -1, -1, -1, -1, 297, -1, 2638, -1, + -1, 3701, 2642, -1, -1, 2645, -1, 2647, -1, -1, + 2650, 312, -1, -1, 315, -1, -1, -1, -1, -1, + 3720, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3742, -1, -1, -1, -1, -1, -1, 226, + 227, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, 2703, 2704, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, 254, -1, -1, + -1, -1, 1733, -1, -1, -1, 1737, -1, -1, -1, + -1, -1, 3718, -1, -1, 226, 227, -1, -1, 4164, + -1, -1, 3728, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 297, 3601, 3602, 254, -1, -1, -1, -1, -1, -1, + -1, -1, 3832, -1, -1, 312, -1, -1, 315, -1, + -1, -1, -1, 2783, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 514, -1, -1, -1, -1, 297, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 3879, + -1, 312, -1, -1, 315, 3885, -1, 3887, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3900, -1, 3902, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 408, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, 3891, 3892, 3893, -1, 3969, + -1, -1, -1, -1, 4339, -1, 37, 408, -1, 40, + -1, -1, 3908, -1, -1, -1, 47, 10, -1, -1, + 13, -1, -1, 54, 17, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4011, -1, 444, 37, 3941, 3942, -1, -1, 80, + 3946, -1, -1, -1, 47, -1, -1, -1, -1, -1, + 4030, 54, -1, -1, 4034, -1, 4401, 514, -1, -1, + -1, 4406, -1, 4408, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 4055, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4434, + -1, -1, -1, -1, 3854, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, 3025, 3026, 3027, -1, -1, + -1, 3031, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, 2054, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4481, -1, 3058, 4484, + -1, -1, -1, -1, -1, -1, 4052, -1, -1, 2080, + -1, -1, -1, 2084, -1, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, -1, 2099, 2100, + 2101, -1, 2103, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4164, 226, 227, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, 10, -1, + -1, 13, -1, 254, -1, 17, 18, 19, -1, -1, + -1, -1, -1, 226, 227, -1, -1, -1, -1, 4574, + 4575, -1, -1, -1, -1, 37, -1, -1, -1, -1, + 4585, -1, -1, -1, -1, 47, -1, -1, -1, -1, + -1, 254, 54, -1, 4014, -1, 297, 4602, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, 80, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, + -1, -1, 315, 4219, 4220, 4221, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, + -1, -1, -1, -1, -1, -1, -1, -1, 4683, -1, + -1, 4686, -1, -1, -1, -1, -1, 3267, -1, -1, + -1, -1, 3272, -1, -1, -1, -1, -1, -1, 4339, + -1, -1, -1, 10, -1, -1, 13, 408, -1, -1, + 17, 18, 19, -1, -1, -1, -1, 179, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 47, 203, -1, -1, 3324, 408, -1, 54, -1, -1, + -1, -1, -1, -1, -1, 3335, -1, 3337, 3338, -1, + -1, 4401, -1, -1, 226, 227, 4406, -1, 4408, -1, + -1, 3351, -1, 80, 3354, -1, 3356, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 254, -1, 4434, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, 3394, -1, 3396, -1, 3398, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 297, -1, -1, -1, -1, + -1, 4481, -1, -1, 4484, -1, -1, -1, -1, -1, + 312, 514, -1, 315, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 179, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3492, 4918, -1, -1, -1, 3497, -1, 226, + 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3512, -1, 4574, 4575, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4585, 408, 254, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, + 13, -1, 4602, -1, 17, 18, 19, -1, -1, -1, + 4975, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4987, -1, 37, -1, -1, -1, -1, 4555, + 297, -1, -1, -1, 47, -1, -1, 3577, -1, 2590, + -1, 54, -1, -1, -1, 312, -1, -1, 315, -1, + -1, -1, -1, -1, -1, -1, -1, 5022, -1, -1, + -1, 4587, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4683, -1, -1, 4686, -1, -1, -1, + -1, -1, 514, 4619, -1, -1, -1, 3637, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4654, -1, + -1, -1, -1, -1, -1, 5100, -1, -1, -1, 2690, + -1, 408, -1, -1, -1, 4671, -1, -1, -1, -1, + -1, 2702, 4532, -1, 5119, -1, 2707, -1, -1, -1, + 173, -1, -1, -1, -1, -1, 4546, 10, -1, -1, + 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 54, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, + 5205, 254, -1, -1, -1, -1, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, 4818, 4819, 4820, 4821, -1, 3837, -1, 312, + -1, -1, 315, 3843, -1, -1, -1, -1, -1, 152, + -1, -1, -1, -1, -1, -1, -1, -1, 4918, -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, 5992, 5993, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 6006, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5336, -1, 5338, -1, 4975, -1, -1, -1, -1, + -1, -1, 3922, 226, 227, -1, -1, 4987, -1, -1, + -1, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, 254, 17, 18, 19, -1, -1, -1, -1, -1, + -1, 5386, 5022, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, 54, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, + -1, 5436, 315, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5100, 514, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 5119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4071, -1, -1, -1, -1, -1, -1, -1, 4079, + -1, 4081, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4095, -1, -1, -1, 4099, + 4100, 4101, -1, -1, -1, 408, 4106, -1, -1, 4109, + -1, -1, 4112, -1, -1, -1, -1, -1, 4118, -1, + 4120, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + -1, -1, -1, -1, -1, 5205, -1, 4147, 4148, 4149, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 226, 227, -1, -1, -1, 4166, -1, -1, -1, + -1, -1, -1, -1, 4174, -1, -1, 4177, -1, 4179, + -1, 5167, -1, -1, -1, -1, -1, -1, -1, 254, + -1, -1, 5178, 5033, -1, 4195, -1, -1, -1, -1, + -1, -1, -1, 4203, 4204, -1, -1, -1, 5048, -1, + 4210, 514, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 297, -1, -1, -1, -1, -1, -1, 4239, + -1, -1, -1, -1, -1, -1, -1, 312, -1, 5674, + 315, -1, -1, -1, -1, -1, -1, -1, -1, 3270, + -1, -1, -1, 5688, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5336, 3288, 5338, -1, + -1, -1, -1, -1, -1, -1, -1, 3298, -1, -1, + 4290, -1, -1, 3304, 5719, -1, 3307, -1, -1, 5139, + -1, -1, -1, 3314, 3315, -1, 3317, 4307, -1, -1, + -1, 3322, 3323, -1, 3325, -1, 3327, -1, -1, -1, + 3331, -1, -1, 3334, -1, -1, 5386, -1, 3339, -1, + -1, -1, -1, -1, -1, -1, 5396, 3348, -1, -1, + -1, -1, 3353, 408, -1, -1, -1, -1, -1, -1, + 3361, 3362, 3363, 3364, -1, -1, -1, -1, 3369, 3370, + -1, 3372, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5798, -1, -1, 5436, -1, -1, -1, + 3391, 5441, 3393, -1, -1, -1, -1, -1, -1, 3400, + 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, 5834, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 488, -1, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, 3446, 47, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, -1, 10, 514, + -1, 13, -1, -1, -1, 17, 18, 19, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 80, + -1, -1, 5458, -1, -1, 37, -1, 5463, 40, 5904, + -1, -1, 5907, -1, -1, 47, -1, -1, -1, -1, + -1, -1, 54, -1, -1, -1, 5482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, + -1, -1, 5362, 10, 5364, -1, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 47, -1, 173, -1, -1, -1, -1, 54, -1, -1, + -1, -1, -1, -1, -1, 3586, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 80, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5674, 226, 227, -1, -1, -1, + -1, -1, -1, -1, -1, 6050, -1, -1, 5688, -1, + -1, 4631, 4632, -1, -1, -1, 198, -1, -1, -1, + -1, 203, 4642, 254, -1, -1, -1, -1, -1, -1, + -1, -1, 6077, -1, -1, -1, -1, 5643, -1, 5719, + 5500, -1, -1, -1, 226, 227, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, + -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, 198, 4712, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4729, + -1, -1, -1, -1, -1, 297, -1, -1, 5798, 226, + 227, -1, -1, -1, -1, -1, -1, 4747, -1, -1, + 312, -1, -1, 315, -1, 5741, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, + -1, -1, -1, -1, 5834, -1, -1, -1, -1, -1, + -1, -1, -1, 5769, -1, -1, 4786, 4787, -1, -1, + 6215, -1, -1, -1, 4794, 4795, -1, 408, -1, 4799, + -1, -1, -1, -1, 4804, -1, -1, 4807, 4808, -1, + 297, -1, -1, -1, 4814, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, 315, -1, + 3841, 3842, -1, -1, -1, 3846, -1, -1, 5678, -1, + 5680, -1, -1, -1, 5904, -1, 408, 5907, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4859, + -1, -1, -1, -1, 3875, -1, -1, -1, -1, -1, + 4870, -1, -1, -1, -1, -1, -1, -1, 4878, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 408, -1, 4923, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6373, -1, + -1, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6050, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5003, 6064, -1, -1, 6432, -1, -1, + 5010, -1, -1, -1, -1, -1, -1, 6077, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 514, -1, -1, + -1, -1, 6457, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4070, + -1, -1, -1, -1, -1, 4076, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 6137, 6138, 5079, + -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, 5946, -1, -1, -1, + -1, -1, -1, 4124, 4125, -1, -1, 4128, 4129, 4130, + 4131, -1, -1, 4134, 4135, 4136, 4137, 4138, 4139, 4140, + 4141, 4142, 4143, 4144, -1, -1, -1, -1, -1, 22, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 33, -1, 35, 36, -1, 6215, 4167, -1, -1, 4170, + -1, 4172, -1, -1, 4175, 4176, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 63, -1, -1, -1, -1, -1, 4197, 4198, 4199, 4200, + -1, 4202, 75, -1, 77, 78, -1, -1, -1, -1, + -1, 84, -1, 86, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5231, -1, -1, -1, 118, -1, -1, 121, 6079, + -1, 5241, -1, -1, -1, -1, -1, 5247, 5248, 5249, + -1, -1, -1, 136, -1, 138, -1, -1, -1, 142, + -1, 4272, -1, -1, -1, -1, 149, -1, -1, -1, + -1, -1, 5272, 5273, -1, 158, 5276, 160, -1, -1, + -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5294, -1, -1, -1, -1, -1, + -1, -1, 185, -1, 5304, -1, -1, -1, -1, -1, + -1, 4322, -1, 6373, -1, 5315, -1, -1, -1, 202, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5331, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4357, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6209, + -1, -1, 6432, 256, 257, -1, -1, -1, -1, 262, + -1, -1, -1, -1, -1, 6445, 6446, -1, -1, -1, + -1, -1, -1, -1, 277, -1, -1, 6457, -1, -1, + 6240, 6241, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 296, -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, + 343, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, + -1, 364, 365, -1, 367, -1, -1, -1, -1, 372, + -1, -1, 375, -1, -1, 378, -1, -1, 381, -1, + -1, -1, -1, -1, -1, 388, -1, -1, -1, -1, + -1, -1, 395, 396, -1, -1, -1, -1, -1, -1, + 403, -1, -1, 6363, 407, -1, 25, -1, -1, -1, + -1, -1, -1, -1, -1, 418, 5536, 4548, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, + -1, -1, 435, -1, -1, -1, -1, 5557, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, + -1, -1, -1, 456, -1, -1, -1, -1, -1, -1, + 4591, -1, 81, -1, -1, 468, -1, -1, -1, -1, + -1, 474, -1, -1, -1, -1, 479, -1, -1, 98, + -1, -1, 5602, -1, -1, -1, -1, -1, -1, 492, + -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, + -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 516, -1, -1, -1, -1, -1, -1, + -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, + 5650, -1, 535, -1, 153, 538, -1, -1, -1, -1, + -1, -1, -1, 162, -1, -1, 5666, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, + -1, -1, -1, -1, -1, 184, -1, -1, -1, 188, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4713, -1, -1, -1, 4717, 4718, 5708, 208, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4731, -1, -1, -1, -1, -1, -1, -1, 4739, -1, + 4741, -1, 4743, 4744, -1, -1, -1, 25, 4749, 4750, + 4751, 4752, 30, -1, -1, 4756, 4757, 4758, 4759, 4760, + 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, -1, 258, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68, -1, 4793, -1, -1, 4796, -1, 4798, -1, -1, + -1, 4802, -1, 81, 4805, 4806, -1, 5797, 4809, 4810, + -1, -1, -1, -1, 4815, -1, -1, -1, -1, 5809, + 98, -1, -1, 312, -1, -1, 315, -1, 5818, 5819, + 5820, -1, -1, -1, -1, -1, -1, -1, 116, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 338, -1, -1, -1, -1, -1, -1, 5846, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 6047, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5869, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5879, - -1, -1, 6072, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 6083, 6084, -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, 140, 352, -1, -1, -1, -1, 4869, -1, + 5860, 360, -1, -1, -1, 153, -1, -1, -1, -1, + -1, -1, 4883, -1, 162, -1, -1, -1, -1, 5879, + -1, 380, -1, -1, -1, -1, -1, 175, -1, -1, + -1, 390, -1, 181, -1, -1, -1, -1, 397, -1, + 188, 400, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, + 208, 420, -1, 30, -1, -1, -1, -1, -1, 428, + -1, -1, -1, -1, -1, -1, 435, -1, -1, 438, + -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 458, + -1, 68, -1, -1, -1, -1, -1, 466, -1, -1, + 469, -1, -1, 472, 81, 82, -1, -1, -1, -1, + 268, -1, -1, -1, -1, -1, 485, 94, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, + -1, 6011, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, + -1, -1, -1, 140, -1, -1, 6036, 325, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, + 338, -1, -1, -1, -1, 162, -1, -1, -1, -1, + 348, 349, -1, -1, 352, -1, -1, -1, 175, -1, + -1, 5082, -1, -1, 181, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 380, -1, -1, 383, -1, -1, -1, 387, + -1, 208, 390, -1, -1, -1, -1, -1, -1, 397, + -1, -1, 400, -1, -1, -1, -1, -1, -1, 6119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 420, -1, -1, -1, -1, -1, -1, 246, + 428, -1, -1, 6143, -1, -1, -1, 435, -1, -1, + 438, -1, -1, -1, -1, 443, -1, -1, 5169, 5170, + -1, 268, -1, 451, -1, 453, 5177, -1, -1, -1, + 458, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 472, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, -1, 5220, -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, 5949, - 6140, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 338, 5243, 5244, -1, -1, -1, -1, -1, -1, + -1, 348, 349, 30, -1, 352, -1, -1, -1, -1, + -1, 5262, -1, 5264, -1, -1, -1, 5268, 5269, 5270, + 5271, -1, -1, 5274, 5275, -1, -1, -1, -1, 5280, + 6270, -1, -1, 380, -1, -1, 383, -1, -1, -1, + 387, -1, -1, 390, -1, -1, 6286, 5298, -1, -1, + 397, -1, -1, 400, 81, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5316, -1, -1, -1, -1, + -1, 98, -1, 420, -1, -1, -1, -1, -1, 5330, + -1, 428, -1, -1, -1, -1, -1, -1, 435, 116, + -1, 438, -1, -1, -1, 122, 443, -1, -1, -1, + -1, -1, -1, -1, 451, -1, 453, 5358, -1, -1, + -1, 458, -1, 140, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 485, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, + -1, -1, -1, -1, 181, -1, 5407, -1, 5409, -1, + -1, 188, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6411, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5444, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5973, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 268, -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, 312, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5550, + -1, 5552, 5553, 5554, 5555, 5556, -1, -1, -1, -1, + -1, 338, -1, -1, -1, -1, -1, -1, 5569, 5570, + 5571, 348, 349, -1, -1, 352, -1, -1, 5579, -1, + -1, -1, -1, 5584, -1, -1, 5587, -1, -1, -1, + 5591, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 380, -1, -1, 383, -1, 5609, -1, + 387, -1, -1, 390, -1, -1, -1, -1, -1, -1, + 397, -1, -1, 400, -1, 5626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, + -1, 428, -1, -1, -1, -1, 433, -1, 435, -1, + -1, 438, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 453, -1, -1, -1, + -1, 458, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 472, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, -1, 5, 6, - -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, 6074, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 6088, -1, - -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, 136, - -1, 138, 139, 140, 141, 142, 6196, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, 175, -1, - 177, 178, 179, 180, 181, -1, 183, 184, -1, 186, - 187, 188, -1, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, -1, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, -1, -1, 240, 241, 242, 243, 244, -1, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - -1, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, - -1, 418, 419, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, -1, 446, - 447, 448, 449, 450, 451, 452, -1, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, -1, 494, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 506, - 507, 508, -1, -1, -1, -1, -1, -1, 515, 516, - 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, -1, 295, 296, -1, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, 446, 447, 448, 449, 450, 451, 452, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - -1, 494, -1, 496, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 506, 507, -1, -1, -1, -1, -1, - -1, -1, 515, 516, 3, -1, 5, 6, -1, 8, - 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, -1, 132, 133, 134, 135, -1, -1, 138, - 139, 140, 141, 142, -1, 144, 145, 146, -1, 148, - 149, 150, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, -1, 171, -1, 173, 174, 175, -1, 177, 178, - 179, 180, 181, -1, 183, 184, -1, 186, 187, 188, - -1, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, -1, 201, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - -1, 220, -1, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, - -1, 240, 241, 242, 243, 244, -1, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, -1, 295, 296, -1, -1, - 299, 300, 301, -1, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, -1, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, -1, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, -1, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, -1, 414, 415, 416, -1, 418, - 419, 420, 421, 422, 423, 424, -1, 426, 427, 428, - -1, -1, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, -1, 446, 447, 448, - 449, 450, 451, 452, -1, 454, 455, 456, 457, 458, - 459, 460, -1, 462, 463, 464, 465, 466, 467, -1, - -1, 470, -1, -1, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, -1, 494, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 506, 507, -1, - -1, -1, -1, -1, -1, -1, 515, 516, 3, -1, - 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, - -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, - 125, 126, 127, 128, 129, 130, -1, 132, 133, 134, - 135, -1, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, -1, 148, 149, 150, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, -1, 171, -1, 173, 174, - 175, -1, 177, 178, 179, 180, 181, -1, 183, 184, - -1, 186, 187, 188, -1, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, -1, 220, -1, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, -1, -1, 240, 241, 242, 243, 244, - -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, - 295, 296, -1, -1, 299, 300, 301, -1, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, -1, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, -1, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, - 415, 416, -1, 418, 419, 420, 421, 422, 423, 424, - -1, 426, 427, 428, -1, -1, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - -1, 446, 447, 448, 449, 450, 451, 452, -1, 454, - 455, 456, 457, 458, 459, 460, -1, 462, 463, 464, - 465, 466, 467, -1, -1, 470, -1, -1, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 506, 507, -1, -1, -1, -1, -1, -1, -1, - 515, 516, 3, -1, 5, 6, -1, 8, 9, 10, - 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, - -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - -1, 132, 133, 134, 135, -1, -1, 138, 139, 140, - 141, 142, -1, 144, 145, 146, -1, 148, 149, 150, - -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, -1, - 171, -1, 173, 174, 175, -1, 177, 178, 179, 180, - 181, -1, 183, 184, -1, 186, 187, 188, -1, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, -1, - 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, - -1, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, -1, -1, 240, - 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, -1, 295, 296, -1, -1, 299, 300, - 301, -1, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, -1, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, -1, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, -1, 414, 415, 416, -1, 418, 419, 420, - 421, 422, 423, 424, -1, 426, 427, 428, -1, -1, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, -1, 446, 447, 448, 449, 450, - 451, 452, -1, 454, 455, 456, 457, 458, 459, 460, - -1, 462, 463, 464, 465, 466, 467, -1, -1, 470, - -1, -1, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, -1, 494, -1, -1, -1, 3, -1, -1, - -1, -1, -1, -1, -1, 506, 507, -1, -1, -1, - -1, -1, -1, -1, 515, 516, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, 40, -1, 42, 43, 44, -1, - 46, 47, 48, 49, -1, 51, 52, 53, 54, 55, - -1, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, -1, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, -1, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, -1, -1, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, -1, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, -1, - 286, -1, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, -1, 308, -1, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, -1, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - -1, -1, 418, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, -1, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 516, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, - -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, - 51, 52, 53, -1, 55, 56, 57, 58, -1, 60, - 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, -1, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, -1, -1, -1, 108, -1, -1, - -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, - -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, - -1, 132, 133, 134, 135, -1, -1, 138, 139, 140, - 141, 142, -1, 144, 145, 146, -1, 148, 149, 150, - -1, 152, 153, 154, 155, -1, 157, 158, 159, 160, - -1, -1, 163, -1, 165, 166, 167, 168, 169, -1, - 171, -1, 173, 174, 175, -1, 177, 178, 179, 180, - 181, -1, 183, -1, -1, -1, 187, 188, -1, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, - -1, 222, 223, 224, 225, 226, 227, -1, -1, -1, - -1, 232, 233, 234, 235, 236, 237, -1, -1, 240, - -1, 242, 243, 244, -1, 246, 247, 248, -1, -1, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, -1, -1, - 281, -1, 283, 284, 285, 286, -1, -1, 289, 290, - 291, 292, 293, -1, 295, 296, -1, -1, 299, 300, - 301, -1, -1, 304, 305, 306, 307, 308, 309, -1, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, -1, 325, -1, 327, 328, 329, -1, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, -1, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, - 381, 382, 383, 384, 385, -1, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, -1, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - -1, 412, -1, 414, 415, -1, -1, 418, 419, 420, - 421, 422, 423, 424, -1, 426, 427, 428, -1, -1, - 431, 432, -1, 434, -1, -1, 437, 438, 439, 440, - 441, 442, 443, 444, -1, -1, 447, 448, 449, 450, - 451, -1, -1, 454, 455, 456, 457, 458, -1, 460, - 461, 462, 463, 464, 465, 466, 467, -1, -1, 470, - -1, -1, 473, 474, 475, 476, 477, 478, 3, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 490, - 491, 492, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, 516, -1, 42, 43, 44, - -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, - 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, -1, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - -1, -1, -1, 108, -1, -1, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, -1, 132, 133, 134, - 135, -1, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, -1, 148, 149, 150, -1, 152, 153, 154, - 155, -1, 157, 158, 159, 160, -1, -1, 163, -1, - 165, 166, 167, 168, 169, -1, 171, -1, 173, 174, - 175, -1, 177, 178, 179, 180, 181, -1, 183, -1, - -1, -1, 187, 188, -1, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, -1, 220, -1, 222, 223, 224, - 225, 226, 227, -1, -1, -1, -1, 232, 233, 234, - 235, 236, 237, -1, -1, 240, -1, 242, 243, 244, - -1, 246, 247, 248, -1, -1, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, -1, -1, 281, -1, 283, 284, - 285, 286, -1, -1, 289, 290, 291, 292, 293, -1, - 295, 296, -1, -1, 299, 300, 301, -1, -1, 304, - 305, 306, 307, 308, 309, -1, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, -1, - 325, -1, 327, 328, 329, -1, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, 363, 364, - 365, 366, 367, 368, -1, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, - 385, -1, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, -1, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, -1, 412, -1, 414, - 415, -1, -1, 418, 419, 420, 421, 422, 423, 424, - -1, 426, 427, 428, -1, -1, 431, 432, -1, 434, - -1, -1, 437, 438, 439, 440, 441, 442, 443, 444, - -1, -1, 447, 448, 449, 450, 451, -1, -1, 454, - 455, 456, 457, 458, -1, 460, 461, 462, 463, 464, - 465, 466, 467, -1, -1, 470, -1, -1, 473, 474, - 475, 476, 477, 478, 3, -1, 5, 6, -1, 8, - 9, 10, 11, 12, -1, 490, 491, 492, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - 39, 516, -1, 42, 43, 44, -1, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, -1, 132, 133, 134, 135, -1, -1, 138, - 139, 140, 141, 142, -1, 144, 145, 146, -1, 148, - 149, 150, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, -1, 171, -1, 173, 174, 175, -1, 177, 178, - 179, 180, 181, -1, 183, 184, -1, 186, 187, 188, - -1, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, -1, 201, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - -1, 220, -1, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, - -1, 240, 241, 242, 243, 244, -1, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, -1, 295, 296, -1, -1, - 299, 300, 301, -1, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, -1, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, -1, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, -1, 426, 427, 428, - -1, -1, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, -1, 446, 447, 448, - 449, 450, 451, 452, -1, 454, 455, 456, 457, 458, - 459, 460, -1, 462, 463, 464, 465, 466, 467, -1, - -1, 470, -1, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, -1, 494, -1, 496, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 506, 507, -1, - -1, -1, 3, -1, 5, 6, 515, 8, 9, 10, - 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, - -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, - 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - -1, 132, 133, 134, 135, -1, -1, 138, 139, 140, - 141, 142, -1, 144, 145, 146, -1, 148, 149, 150, - -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, -1, 165, 166, 167, 168, 169, -1, - 171, -1, 173, 174, 175, -1, 177, 178, 179, 180, - 181, -1, 183, 184, -1, 186, 187, 188, -1, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, -1, - 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, -1, 220, - -1, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, -1, -1, 240, - 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, -1, 295, 296, -1, -1, 299, 300, - 301, -1, -1, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, -1, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, -1, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, -1, 426, 427, 428, -1, -1, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, -1, 446, 447, 448, 449, 450, - 451, 452, -1, 454, 455, 456, 457, 458, 459, 460, - -1, 462, 463, 464, 465, 466, 467, -1, -1, 470, - -1, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, -1, 494, -1, 496, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 506, 507, -1, -1, -1, - 3, -1, 5, 6, 515, 8, 9, 10, 11, 12, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, 176, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, 239, 240, 241, 242, - 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, -1, 295, 296, -1, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, 416, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, 446, 447, 448, 449, 450, 451, 452, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - -1, 494, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 506, 507, -1, -1, -1, 3, -1, - 5, 6, 515, 8, 9, 10, 11, 12, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - -1, -1, -1, 38, 39, -1, -1, 42, 43, 44, - -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, -1, 124, - 125, 126, 127, 128, 129, 130, -1, 132, 133, 134, - 135, -1, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, -1, 148, 149, 150, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, -1, 171, -1, 173, 174, - 175, -1, 177, 178, 179, 180, 181, -1, 183, 184, - -1, 186, 187, 188, -1, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, -1, 220, -1, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, -1, -1, 240, 241, 242, 243, 244, - -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, - 295, 296, -1, -1, 299, 300, 301, -1, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, -1, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, - 415, 416, -1, 418, 419, 420, 421, 422, 423, 424, - -1, 426, 427, 428, -1, -1, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - -1, 446, 447, 448, 449, 450, 451, 452, -1, 454, - 455, 456, 457, 458, 459, 460, -1, 462, 463, 464, - 465, 466, 467, -1, -1, 470, -1, -1, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 506, 507, -1, -1, -1, 3, -1, 5, 6, - 515, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, -1, -1, - -1, 38, 39, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, 175, -1, - 177, 178, 179, 180, 181, -1, 183, 184, -1, 186, - 187, 188, -1, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, -1, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, -1, -1, 240, 241, 242, 243, 244, -1, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, -1, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, - -1, 418, 419, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, 433, 434, 435, 436, - 437, 438, 439, 440, 441, 442, 443, 444, -1, 446, - 447, 448, 449, 450, 451, 452, -1, 454, 455, 456, - 457, 458, 459, 460, -1, 462, 463, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, -1, 494, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 506, - 507, -1, -1, -1, 3, -1, 5, 6, 515, 8, - 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, - 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, - 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, -1, 94, 95, 96, 97, 98, - 99, -1, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, 122, -1, 124, 125, 126, 127, 128, - 129, 130, -1, 132, 133, 134, 135, -1, -1, 138, - 139, 140, 141, 142, -1, 144, 145, 146, -1, 148, - 149, 150, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, -1, 165, 166, 167, 168, - 169, -1, 171, -1, 173, 174, 175, -1, 177, 178, - 179, 180, 181, -1, 183, 184, -1, 186, 187, 188, - -1, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, -1, 201, 202, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, - -1, 220, -1, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, -1, - -1, 240, 241, 242, 243, 244, -1, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, -1, 295, 296, -1, -1, - 299, 300, 301, -1, -1, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, -1, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, -1, 361, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, - 379, -1, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, -1, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, -1, 414, 415, 416, -1, 418, - 419, 420, 421, 422, 423, 424, -1, 426, 427, 428, - -1, -1, 431, 432, 433, 434, 435, 436, 437, 438, - 439, 440, 441, 442, 443, 444, -1, 446, 447, 448, - 449, 450, 451, 452, -1, 454, 455, 456, 457, 458, - 459, 460, -1, 462, 463, 464, 465, 466, 467, -1, - -1, 470, -1, -1, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, -1, 494, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 506, 507, -1, - -1, -1, -1, -1, 513, 514, 515, 3, -1, 5, + -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, 5799, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5810, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5831, -1, 5833, -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, 5878, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5890, + -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, 5927, -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, -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, 6007, -1, -1, -1, + -1, -1, -1, 6014, -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, 6047, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6062, -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, -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, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6174, 6175, -1, -1, 6178, -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, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6237, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6262, -1, -1, -1, -1, -1, -1, -1, 3, + -1, 5, 6, -1, 8, 9, 10, 11, 12, 6280, + 6281, -1, 6283, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, 81, 6349, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, 252, 253, + 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, 466, 467, 468, 469, 470, 471, 472, -1, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, 528, -1, -1, -1, -1, -1, + -1, 535, 536, 3, -1, 5, 6, -1, 8, 9, + 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, + 470, 471, 472, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, 514, -1, 516, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, -1, -1, -1, 535, 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, @@ -20699,151 +21111,52 @@ static const yytype_int16 yycheck[] = 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, + -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, + -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, -1, - 446, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 506, 507, 508, -1, -1, 3, -1, 5, 6, 515, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, -1, -1, -1, - -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, -1, 446, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 506, 507, - -1, -1, -1, 3, -1, 5, 6, 515, 8, 9, - 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, 446, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, 494, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 506, 507, -1, -1, - -1, 3, -1, 5, 6, 515, 8, 9, 10, 11, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, -1, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, -1, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, -1, -1, -1, -1, 535, + 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, @@ -20852,150 +21165,51 @@ static const yytype_int16 yycheck[] = 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 122, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, 494, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 506, 507, -1, -1, -1, 3, - -1, 5, 6, 515, 8, 9, 10, 11, 12, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, 176, 177, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, 242, 243, - 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, 416, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, -1, 446, 447, 448, 449, 450, 451, 452, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - 494, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 506, 507, -1, -1, -1, 3, -1, 5, - 6, 515, 8, 9, 10, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, -1, 431, 432, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, -1, - 446, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 506, 507, -1, -1, -1, 3, -1, 5, 6, 515, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, -1, -1, -1, + -1, -1, -1, 535, 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, @@ -21004,252 +21218,253 @@ static const yytype_int16 yycheck[] = 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, + 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, -1, 446, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 506, 507, - -1, -1, -1, 3, -1, 5, 6, 515, 8, 9, - 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, 446, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, 494, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 506, 507, -1, -1, - -1, 3, -1, 5, 6, 515, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, 494, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 506, 507, -1, -1, -1, 3, - -1, 5, 6, 515, 8, 9, 10, 11, 12, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, 242, 243, - 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, 416, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, -1, 446, 447, 448, 449, 450, 451, 452, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - 494, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 506, 507, -1, -1, -1, 3, -1, 5, - 6, 515, 8, 9, 10, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, 434, -1, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, + 468, 469, 470, 471, 472, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, 514, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, -1, -1, -1, -1, -1, -1, 535, 536, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, 42, + 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 536, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, + 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, + 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, + -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, -1, -1, 81, -1, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, + -1, 109, -1, -1, -1, 113, 114, 115, 116, 117, + 118, 119, 120, 121, -1, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, -1, 160, 161, 162, 163, -1, -1, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, + -1, -1, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, + 228, 229, 230, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, -1, 252, 253, 254, -1, 256, 257, + 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, -1, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, -1, -1, 293, -1, 295, 296, 297, + 298, -1, -1, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, -1, 340, -1, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, -1, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, + 398, 399, 400, 401, -1, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, -1, 430, -1, 432, 433, -1, -1, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, -1, 453, -1, -1, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, -1, 467, + 468, 469, 470, 471, -1, -1, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 510, 511, 512, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 536, -1, + 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, + 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, -1, 75, 76, 77, 78, -1, -1, 81, + -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, + 102, 103, 104, 105, -1, -1, -1, 109, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, -1, 160, 161, + 162, 163, -1, -1, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, -1, -1, -1, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, -1, + 252, 253, 254, -1, 256, 257, 258, -1, -1, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, -1, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, + -1, 293, -1, 295, 296, 297, 298, -1, -1, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, -1, 340, -1, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, + 382, 383, 384, -1, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + -1, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, -1, 430, -1, + 432, 433, -1, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + -1, 453, -1, -1, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + -1, -1, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 3, -1, 5, + 6, -1, 8, 9, 10, 11, 12, -1, 510, 511, + 512, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, + -1, -1, -1, 39, 536, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, -1, - 446, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, 494, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 506, 507, -1, -1, -1, 3, -1, 5, 6, 515, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + 516, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, @@ -21258,202 +21473,210 @@ static const yytype_int16 yycheck[] = 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, + 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, -1, 446, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 506, 507, - -1, -1, -1, 3, -1, 5, 6, 515, 8, 9, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, + 468, 469, 470, 471, 472, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, 514, -1, 516, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, 249, + 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, 446, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, 494, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 506, 507, -1, -1, - -1, 3, -1, 5, 6, 515, 8, 9, 10, 11, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, 434, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, + 470, 471, 472, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, 514, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, -1, -1, -1, 38, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 122, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, 494, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 506, 507, -1, -1, -1, 3, - -1, 5, 6, 515, 8, 9, 10, 11, 12, -1, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, -1, -1, 3, + -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, 38, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, 242, 243, - 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, 252, 253, + 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, 416, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, -1, 446, 447, 448, 449, 450, 451, 452, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - 494, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 506, 507, -1, -1, -1, 3, -1, 5, - 6, 515, 8, 9, 10, 11, 12, -1, -1, -1, + 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, 466, 467, 468, 469, 470, 471, 472, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, -1, -1, -1, 3, -1, 5, + 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, @@ -21461,151 +21684,633 @@ static const yytype_int16 yycheck[] = 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, + -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, + -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 506, 507, -1, -1, -1, 3, -1, 5, 6, 515, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, -1, -1, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, -1, 446, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, 494, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 506, 507, - -1, -1, -1, 3, -1, 5, 6, 515, 8, 9, - 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, -1, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 506, 507, 3, -1, - 5, 6, -1, 8, 9, 515, 11, 12, -1, -1, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, -1, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, -1, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, -1, -1, 533, 534, 535, + 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, 528, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, 179, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, 448, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, @@ -21613,1194 +22318,1244 @@ static const yytype_int16 yycheck[] = 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, 101, 102, 103, 104, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, -1, 132, 133, 134, - 135, -1, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, -1, 148, 149, 150, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, -1, - 165, 166, 167, 168, 169, -1, 171, -1, 173, 174, - 175, -1, 177, 178, 179, 180, 181, -1, 183, 184, - -1, 186, 187, 188, -1, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, -1, 201, 202, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, - 215, 216, 217, 218, -1, 220, -1, 222, 223, 224, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, -1, -1, 240, 241, 242, 243, 244, - -1, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, -1, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, - 295, 296, -1, -1, 299, 300, 301, -1, -1, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, -1, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, 363, 364, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, -1, 398, 399, 400, 401, 402, 403, 404, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, - 415, 416, -1, 418, 419, 420, 421, 422, 423, 424, - -1, 426, 427, 428, -1, -1, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - -1, -1, 447, 448, 449, 450, 451, 452, -1, 454, - 455, 456, 457, 458, 459, 460, -1, 462, 463, 464, - 465, 466, 467, -1, -1, 470, -1, -1, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 506, 507, 3, -1, 5, 6, -1, 8, 9, - 515, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, -1, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, -1, -1, -1, 3, -1, 5, - 6, -1, 8, 9, -1, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, 515, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, 3, -1, 5, 6, -1, 8, 9, -1, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, 515, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, -1, -1, -1, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 515, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, -1, 283, 284, 285, 286, -1, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - 298, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, -1, 437, - 438, 439, 440, 441, 442, 443, 444, -1, -1, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, -1, -1, 496, 3, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 515, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, -1, 240, 241, 242, 243, - 244, -1, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, -1, 283, - 284, 285, 286, -1, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, 298, 299, 300, 301, -1, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, 416, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, -1, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, 452, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 515, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, -1, 283, 284, 285, 286, -1, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, 416, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, 452, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, -1, -1, -1, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 515, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, 68, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, 285, - 286, -1, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - 416, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, 452, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, -1, -1, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, -1, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, 3, -1, 5, 6, -1, 8, 9, 535, 11, + 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, -1, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, -1, -1, -1, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 515, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, - 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, 242, 243, 244, -1, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, -1, 283, 284, 285, 286, -1, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, 416, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, -1, 437, - 438, 439, 440, 441, 442, 443, 444, -1, -1, 447, - 448, 449, 450, 451, 452, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, -1, -1, -1, 3, - -1, 5, 6, -1, -1, -1, -1, 11, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 515, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, -1, -1, -1, 108, -1, -1, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, 242, 243, - 244, -1, 246, 247, 248, -1, -1, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, -1, 283, - 284, 285, 286, -1, 288, 289, 290, 291, 292, 293, - -1, 295, 296, 297, -1, 299, 300, 301, -1, -1, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, -1, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, -1, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, -1, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, - -1, -1, 506, 507, 508, -1, -1, -1, -1, -1, - -1, 515, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, -1, -1, -1, 108, -1, - -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, 242, 243, 244, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, -1, 283, 284, 285, 286, -1, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, -1, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, -1, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 493, -1, -1, 496, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 515, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, -1, - -1, -1, 108, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, 242, 243, 244, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, 285, - 286, -1, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - -1, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, 417, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, -1, -1, 496, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 515, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, -1, 51, 52, 53, 54, 55, -1, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, - 88, -1, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, -1, 102, 103, 104, -1, -1, -1, - 108, -1, -1, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, -1, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, -1, -1, -1, - 178, 179, 180, 181, -1, 183, 184, -1, 186, 187, - 188, -1, 190, 191, 192, 193, 194, -1, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, -1, 212, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, -1, -1, 225, -1, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - -1, -1, 240, 241, -1, 243, -1, -1, 246, 247, - 248, -1, -1, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, -1, 283, 284, -1, 286, -1, - 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, - 298, 299, 300, 301, -1, -1, 304, 305, 306, -1, - 308, -1, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, -1, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, -1, 387, - 388, 389, 390, 391, -1, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, - 418, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, 433, 434, 435, -1, 437, - 438, 439, 440, 441, 442, 443, 444, -1, -1, 447, - 448, 449, 450, 451, -1, -1, 454, 455, 456, 457, - 458, 459, 460, -1, 462, -1, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, -1, -1, -1, -1, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 515, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, - 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, -1, -1, -1, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, -1, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, -1, - -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, -1, 243, - -1, -1, 246, 247, 248, -1, -1, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, -1, 283, - 284, -1, 286, -1, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, 306, -1, 308, -1, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, -1, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, -1, 387, 388, 389, 390, 391, -1, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, -1, -1, 418, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, -1, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, -1, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, -1, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, 3, -1, 5, 6, + -1, 8, 9, 535, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + 3, -1, 5, 6, -1, 8, 9, -1, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, 5, 6, -1, 8, + 9, -1, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, 297, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, 516, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 515, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, - -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, -1, 102, 103, 104, -1, -1, -1, -1, -1, - -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, -1, -1, -1, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, 192, 193, 194, -1, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, -1, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, -1, -1, 225, -1, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, -1, -1, - 240, 241, -1, 243, -1, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - -1, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, -1, 283, 284, -1, 286, -1, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, 306, -1, 308, -1, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, -1, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, -1, 387, 388, 389, - 390, 391, -1, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, -1, 414, 415, -1, -1, 418, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, 433, 434, 435, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, -1, -1, 454, 455, 456, 457, 458, 459, - 460, -1, 462, -1, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, -1, -1, -1, -1, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 515, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, -1, 51, 52, 53, 54, 55, - -1, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, -1, - -1, -1, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, -1, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, -1, -1, 225, - -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, -1, 243, -1, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, -1, - 286, -1, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, -1, 308, -1, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, -1, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, -1, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - -1, -1, 418, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, -1, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 515, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, -1, -1, -1, 3, -1, 5, 6, -1, - -1, -1, 10, 11, -1, -1, -1, -1, -1, 17, - 18, 19, -1, 515, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 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, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, -1, 157, - 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, -1, 185, -1, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - -1, -1, -1, -1, 232, 233, 234, 235, 236, 237, - 238, 239, 240, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, -1, 281, 282, 283, 284, 285, 286, 287, - -1, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, - 308, 309, -1, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, -1, 325, -1, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, -1, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, -1, 434, -1, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 458, -1, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 3, -1, 5, 6, -1, -1, - -1, 10, 11, -1, -1, -1, -1, -1, 17, 18, - 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, 297, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 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, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, -1, 157, 158, - 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, -1, 185, -1, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, -1, - -1, -1, -1, 232, 233, 234, 235, 236, 237, 238, - 239, 240, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, -1, 281, 282, 283, 284, 285, 286, 287, -1, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, - 309, -1, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, -1, 325, -1, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - -1, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, -1, 412, 413, 414, 415, 416, 417, 418, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, -1, 434, -1, 436, 437, 438, - 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, - 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, - -1, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, 297, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, -1, 3, -1, 5, 6, -1, -1, -1, -1, + 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, 297, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, 310, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, 528, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, -1, 435, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, -1, -1, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 490, 491, 492, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 3, -1, -1, -1, -1, -1, -1, - 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, -1, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, -1, -1, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, -1, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, -1, -1, 166, 167, 168, 169, - -1, 171, 172, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, 184, -1, 186, 187, 188, -1, - 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, -1, 263, 264, -1, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, -1, 295, 296, -1, 298, 299, - 300, 301, 302, -1, 304, 305, 306, 307, -1, -1, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, -1, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, -1, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, -1, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 444, -1, 446, 447, 448, 449, - 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, -1, 463, 464, 465, 466, 467, 468, -1, - 470, -1, -1, -1, -1, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - -1, 491, 492, -1, 494, -1, -1, -1, -1, -1, - -1, -1, -1, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 3, -1, -1, -1, -1, -1, -1, 10, - -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, 516, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, -1, 51, 52, 53, 54, + 55, -1, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, + 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, -1, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, -1, -1, -1, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, -1, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, -1, -1, 228, -1, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, -1, 253, -1, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, -1, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + -1, -1, 317, 318, 319, -1, 321, -1, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, -1, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, -1, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, -1, + 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, -1, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, - 91, 92, -1, 94, 95, 96, 97, 98, 99, -1, - -1, 102, 103, 104, -1, -1, -1, -1, -1, -1, - -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, - -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, - -1, 132, 133, 134, 135, -1, -1, 138, 139, 140, - 141, 142, -1, 144, 145, 146, -1, 148, 149, 150, - -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, -1, 163, -1, 165, 166, 167, 168, 169, -1, - 171, -1, 173, 174, -1, -1, -1, 178, 179, 180, - 181, -1, 183, 184, -1, 186, 187, 188, -1, 190, - 191, 192, 193, 194, -1, 196, 197, 198, 199, -1, - 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, - -1, 212, 213, 214, 215, 216, 217, 218, -1, 220, - -1, 222, -1, -1, 225, -1, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, -1, -1, 240, - 241, -1, 243, -1, -1, 246, 247, 248, -1, -1, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, -1, 103, 104, 105, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, -1, -1, -1, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, -1, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, -1, -1, 228, -1, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, -1, 253, -1, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, -1, 283, 284, -1, 286, -1, 288, 289, 290, - 291, 292, 293, -1, 295, 296, -1, -1, 299, 300, - 301, -1, -1, 304, 305, 306, -1, 308, -1, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, -1, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, -1, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, -1, - 381, 382, 383, 384, 385, -1, 387, 388, 389, 390, - 391, -1, 393, 394, 395, 396, -1, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, -1, 414, 415, -1, -1, 418, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, -1, -1, - 431, 432, 433, 434, 435, -1, 437, 438, 439, 440, - 441, 442, 443, 444, -1, -1, 447, 448, 449, 450, - 451, -1, -1, 454, 455, 456, 457, 458, 459, 460, - -1, 462, -1, 464, 465, 466, 467, -1, -1, 470, - -1, -1, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 503, 504, 505, 506, 507, 508, 509, 510, - 511, 3, -1, -1, -1, -1, -1, -1, 10, -1, - -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 503, 504, 505, 506, 507, 508, 509, 510, 511, - 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, - -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, + -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, -1, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, -1, + 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, -1, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, -1, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, -1, -1, 436, -1, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, -1, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, + 87, 88, -1, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, -1, 103, 104, 105, -1, + -1, -1, -1, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, -1, -1, -1, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, -1, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, -1, + -1, 228, -1, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, -1, 253, -1, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, -1, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + -1, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, -1, 321, -1, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, -1, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, -1, -1, 436, + -1, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, -1, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, @@ -22808,258 +23563,214 @@ static const yytype_int16 yycheck[] = 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, -1, -1, -1, -1, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, -1, -1, -1, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, -1, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - -1, -1, 225, -1, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, -1, - 243, -1, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, -1, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, -1, -1, 299, 300, 301, -1, - -1, 304, 305, 306, -1, 308, -1, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - -1, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, -1, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, -1, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - -1, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 93, -1, 95, 96, 97, 98, 99, 100, -1, -1, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, -1, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, -1, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, -1, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, -1, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, -1, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 3, - -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, - -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, - 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, - 84, 85, 86, 87, 88, -1, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, -1, 102, 103, - 104, -1, -1, -1, -1, -1, -1, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, -1, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, -1, -1, -1, 178, 179, 180, 181, -1, 183, - 184, -1, 186, 187, 188, -1, 190, 191, 192, 193, - 194, -1, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, -1, 212, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, -1, - -1, 225, -1, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, -1, -1, 240, 241, -1, 243, - -1, -1, 246, 247, 248, -1, -1, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, -1, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, -1, 283, - 284, -1, 286, -1, 288, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, 306, -1, 308, -1, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, -1, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, -1, 387, 388, 389, 390, 391, -1, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, - 414, 415, -1, -1, 418, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, 433, - 434, 435, -1, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, -1, -1, - 454, 455, 456, 457, 458, 459, 460, -1, 462, -1, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 503, - 504, 505, 506, 507, 508, 509, 510, 511, 3, -1, - -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, - -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, - -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, - -1, 46, 47, 48, 49, -1, 51, 52, 53, 54, - 55, -1, 57, 58, -1, 60, 61, 62, 63, 64, - 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, - 85, 86, 87, 88, -1, 90, 91, 92, -1, 94, - 95, 96, 97, 98, 99, -1, -1, 102, 103, 104, - -1, -1, -1, -1, -1, -1, -1, 112, 113, 114, - 115, 116, 117, 118, 119, 120, -1, 122, -1, 124, - 125, 126, 127, 128, 129, 130, -1, 132, 133, 134, - 135, -1, -1, 138, 139, 140, 141, 142, -1, 144, - 145, 146, -1, 148, 149, 150, -1, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, -1, 163, -1, - 165, 166, 167, 168, 169, -1, 171, -1, 173, 174, - -1, -1, -1, 178, 179, 180, 181, -1, 183, 184, - -1, 186, 187, 188, -1, 190, 191, 192, 193, 194, - -1, 196, 197, 198, 199, -1, 201, 202, 203, 204, - 205, 206, 207, 208, -1, 210, -1, 212, 213, 214, - 215, 216, 217, 218, -1, 220, -1, 222, -1, -1, - 225, -1, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, -1, -1, 240, 241, -1, 243, -1, - -1, 246, 247, 248, -1, -1, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, -1, 283, 284, - -1, 286, -1, 288, 289, 290, 291, 292, 293, -1, - 295, 296, -1, -1, 299, 300, 301, -1, -1, 304, - 305, 306, -1, 308, -1, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, -1, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, -1, 364, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, -1, 17, 18, 19, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, -1, -1, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, -1, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, 169, 170, 171, 172, -1, 174, + 175, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + -1, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, + 275, -1, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + 315, -1, 317, 318, 319, 320, -1, -1, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, -1, 381, 382, 383, 384, - 385, -1, 387, 388, 389, 390, 391, -1, 393, 394, - 395, 396, -1, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, - 415, -1, -1, 418, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, -1, -1, 431, 432, 433, 434, - 435, -1, 437, 438, 439, 440, 441, 442, 443, 444, - -1, -1, 447, 448, 449, 450, 451, -1, -1, 454, - 455, 456, 457, 458, 459, 460, -1, 462, -1, 464, - 465, 466, 467, -1, -1, 470, -1, -1, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 3, -1, -1, - -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, + 485, 486, 487, 488, -1, 490, -1, -1, -1, -1, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, -1, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 3, -1, 5, + 6, -1, -1, -1, 10, 11, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, -1, 51, 52, 53, 54, 55, - -1, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, 79, -1, -1, -1, 83, 84, 85, - 86, 87, 88, -1, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, -1, 102, 103, 104, -1, - -1, -1, -1, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, -1, - -1, -1, 178, 179, 180, 181, -1, 183, 184, -1, - 186, 187, 188, -1, 190, 191, 192, 193, 194, -1, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, -1, 212, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, -1, -1, 225, - -1, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, -1, -1, 240, 241, -1, 243, -1, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, -1, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, -1, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 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, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, -1, 160, 161, 162, 163, -1, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, -1, 188, -1, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, -1, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, -1, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, -1, 283, 284, -1, - 286, -1, 288, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - 306, -1, 308, -1, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, -1, 364, 365, + 266, 267, 268, 269, 270, -1, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, -1, 293, 294, 295, + 296, 297, 298, 299, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, -1, 320, 321, 322, -1, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, -1, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, -1, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, - -1, -1, 418, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, 433, 434, 435, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, 459, 460, -1, 462, -1, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 3, -1, -1, -1, - -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, + 376, 377, 378, 379, 380, 381, 382, 383, 384, -1, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, -1, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, -1, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 510, 511, 512, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 3, -1, 5, 6, + -1, -1, -1, 10, 11, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, -1, -1, - -1, -1, -1, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, -1, -1, - -1, 178, 179, 180, 181, -1, 183, 184, -1, 186, - 187, 188, -1, 190, 191, 192, 193, 194, -1, 196, - 197, 198, 199, -1, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, -1, -1, 225, -1, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, -1, -1, 240, 241, -1, 243, -1, -1, 246, - 247, 248, -1, -1, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, -1, 283, 284, -1, 286, - -1, 288, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, -1, 304, 305, 306, - -1, 308, -1, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, -1, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, -1, - 387, 388, 389, 390, 391, -1, 393, 394, 395, 396, - -1, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, -1, 414, 415, -1, - -1, 418, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, 433, 434, 435, -1, - 437, 438, 439, 440, 441, 442, 443, 444, -1, -1, - 447, 448, 449, 450, 451, -1, -1, 454, 455, 456, - 457, 458, 459, 460, -1, 462, -1, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 503, 504, 505, 506, - 507, 508, 509, 510, 511, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 77, 78, -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, @@ -23067,6149 +23778,7075 @@ static const yytype_int16 yycheck[] = 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 157, 158, -1, 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + -1, 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, + 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, -1, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, + 287, 288, 289, 290, 291, -1, 293, 294, 295, 296, + 297, 298, 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 337, 338, -1, 340, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 427, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 447, 448, 449, 450, 451, -1, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 508, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, -1, -1, - -1, -1, -1, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, -1, -1, - -1, 178, 179, 180, 181, -1, 183, 184, -1, 186, - 187, 188, -1, 190, 191, 192, 193, 194, -1, 196, - 197, 198, 199, -1, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, -1, -1, 225, -1, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, -1, -1, 240, 241, -1, 243, -1, -1, 246, - 247, 248, -1, -1, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, -1, 283, 284, -1, 286, - -1, 288, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, -1, 304, 305, 306, - -1, 308, -1, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, -1, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, -1, - 387, 388, 389, 390, 391, -1, 393, 394, 395, 396, - -1, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, -1, 414, 415, -1, - -1, 418, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, 433, 434, 435, -1, - 437, 438, 439, 440, 441, 442, 443, 444, -1, -1, - 447, 448, 449, 450, 451, -1, -1, 454, 455, 456, - 457, 458, 459, 460, -1, 462, -1, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 508, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, - 87, 88, -1, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, -1, 102, 103, 104, -1, -1, - -1, -1, -1, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, -1, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, -1, -1, - -1, 178, 179, 180, 181, -1, 183, 184, -1, 186, - 187, 188, -1, 190, 191, 192, 193, 194, -1, 196, - 197, 198, 199, -1, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, -1, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, -1, -1, 225, -1, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, -1, -1, 240, 241, -1, 243, -1, -1, 246, - 247, 248, -1, -1, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, -1, 283, 284, -1, 286, - -1, 288, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, -1, 304, 305, 306, - -1, 308, -1, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, -1, 364, 365, 366, - 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, -1, - 387, 388, 389, 390, 391, -1, 393, 394, 395, 396, - -1, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, 411, 412, -1, 414, 415, -1, - -1, 418, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, 433, 434, 435, -1, - 437, 438, 439, 440, 441, 442, 443, 444, -1, -1, - 447, 448, 449, 450, 451, -1, -1, 454, 455, 456, - 457, 458, 459, 460, -1, 462, -1, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 508, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, - -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, - 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, - 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, - -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, - 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, -1, 94, 95, 96, - 97, 98, 99, -1, 101, 102, 103, 104, -1, -1, - -1, 108, -1, -1, -1, 112, 113, 114, 115, 116, - 117, 118, 119, 120, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, -1, 132, 133, 134, 135, -1, - -1, 138, 139, 140, 141, 142, -1, 144, 145, 146, - -1, 148, 149, 150, -1, 152, 153, 154, 155, -1, - 157, 158, 159, 160, -1, -1, 163, -1, 165, 166, - 167, 168, 169, -1, 171, -1, 173, 174, 175, -1, - 177, 178, 179, 180, 181, -1, 183, -1, -1, -1, - 187, 188, -1, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, - 217, 218, -1, 220, -1, 222, 223, 224, 225, 226, - 227, -1, -1, -1, -1, 232, 233, 234, 235, 236, - 237, -1, -1, 240, -1, 242, 243, 244, -1, 246, - 247, 248, -1, -1, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, -1, -1, 281, -1, 283, 284, 285, 286, - -1, -1, 289, 290, 291, 292, 293, -1, 295, 296, - -1, -1, 299, 300, 301, -1, 303, 304, 305, 306, - 307, 308, 309, -1, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, -1, 325, -1, - 327, 328, 329, -1, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, 363, 364, 365, 366, - 367, 368, -1, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, -1, 381, 382, 383, 384, 385, -1, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - -1, 398, 399, 400, 401, 402, 403, 404, 405, 406, - 407, 408, 409, 410, -1, 412, -1, 414, 415, -1, - -1, 418, 419, 420, 421, 422, 423, 424, -1, 426, - 427, 428, -1, -1, 431, 432, -1, 434, -1, -1, - 437, 438, 439, 440, 441, 442, 443, 444, -1, -1, - 447, 448, 449, 450, 451, -1, -1, 454, 455, 456, - 457, 458, -1, 460, 461, 462, 463, 464, 465, 466, - 467, -1, -1, 470, -1, -1, 473, 474, 475, 476, - 477, 478, -1, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 490, 491, 492, -1, -1, -1, -1, + 477, 478, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 3, -1, -1, -1, -1, + -1, -1, 10, -1, -1, -1, -1, -1, -1, 17, + 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, + 48, 49, -1, 51, 52, 53, 54, 55, -1, 57, + 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, + -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, + 88, -1, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, -1, 103, 104, 105, -1, -1, + -1, -1, -1, -1, -1, 113, 114, 115, 116, 117, + 118, 119, 120, 121, -1, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + -1, -1, -1, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + -1, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, -1, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, -1, -1, + 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, 251, -1, 253, -1, -1, 256, 257, + 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, -1, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, + 298, -1, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, -1, 321, -1, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, + 398, 399, 400, 401, -1, 403, 404, 405, 406, 407, + -1, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, -1, -1, 436, -1, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, -1, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, -1, 467, + 468, 469, 470, 471, -1, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, -1, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 3, -1, -1, -1, -1, -1, + -1, 10, -1, -1, -1, -1, -1, -1, 17, 18, + 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 3, -1, -1, -1, -1, -1, -1, + 10, -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 508, 32, 33, 34, -1, -1, -1, -1, -1, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, -1, 55, 56, 57, 58, -1, + -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, -1, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, -1, -1, -1, 108, -1, - -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, -1, 157, 158, 159, - 160, -1, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, -1, -1, -1, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, -1, -1, - -1, -1, 232, 233, 234, 235, 236, 237, -1, -1, - 240, -1, 242, 243, 244, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, - -1, 281, -1, 283, 284, 285, 286, -1, -1, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, 303, 304, 305, 306, 307, 308, 309, - -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, -1, 325, -1, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, -1, 103, 104, 105, -1, -1, -1, -1, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, -1, -1, + -1, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, -1, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, -1, -1, 228, -1, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, -1, 253, -1, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, -1, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, -1, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, -1, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, -1, 412, -1, 414, 415, -1, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, -1, 434, -1, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, -1, -1, 454, 455, 456, 457, 458, -1, - 460, 461, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, -1, - 3, -1, 5, 6, -1, -1, -1, -1, 11, 12, - 490, 491, 492, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 508, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, 297, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, 5, 6, -1, -1, -1, -1, 11, 12, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, 297, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, 5, 6, -1, -1, -1, -1, 11, -1, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, 297, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, 5, 6, -1, -1, -1, -1, 11, 12, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, 297, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, 5, 6, -1, -1, -1, -1, 11, -1, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, 297, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, -1, -1, -1, -1, -1, -1, 11, -1, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, - 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, - 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, -1, 102, - 103, 104, -1, -1, -1, -1, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, -1, 176, -1, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, -1, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, -1, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - -1, -1, 225, -1, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, -1, - 243, -1, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, -1, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, -1, -1, 299, 300, 301, -1, - -1, 304, 305, 306, -1, 308, -1, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - -1, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, -1, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, -1, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - -1, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 506, 507, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, - 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, - 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, - 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, - 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - -1, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, 104, -1, -1, -1, 108, -1, -1, -1, 112, - 113, 114, 115, 116, 117, 118, 119, 120, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, -1, 132, - 133, 134, 135, -1, -1, 138, 139, 140, 141, 142, - -1, 144, 145, 146, -1, 148, 149, 150, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, -1, - 163, -1, 165, 166, 167, 168, 169, -1, 171, -1, - 173, 174, 175, -1, 177, 178, 179, 180, 181, -1, - 183, 184, -1, 186, 187, 188, -1, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, -1, 201, 202, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - 213, 214, 215, 216, 217, 218, -1, 220, -1, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, -1, -1, 240, 241, 242, - 243, 244, -1, 246, 247, 248, -1, -1, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, -1, - 283, 284, 285, 286, -1, 288, 289, 290, 291, 292, - 293, -1, 295, 296, -1, -1, 299, 300, 301, -1, - -1, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, -1, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, -1, 381, 382, - 383, 384, 385, -1, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, -1, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - -1, 414, 415, -1, -1, 418, 419, 420, 421, 422, - 423, 424, -1, 426, 427, 428, -1, -1, 431, 432, - 433, 434, 435, -1, 437, 438, 439, 440, 441, 442, - 443, 444, -1, -1, 447, 448, 449, 450, 451, -1, - -1, 454, 455, 456, 457, 458, 459, 460, -1, 462, - 463, 464, 465, 466, 467, -1, -1, 470, -1, -1, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 3, -1, 5, 6, -1, -1, -1, -1, 11, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 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, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 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, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 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, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, -1, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, -1, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, -1, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, -1, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 3, -1, -1, -1, -1, -1, -1, 10, + -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, + 51, 52, 53, 54, 55, -1, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, -1, 103, 104, 105, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, -1, -1, -1, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, -1, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, -1, -1, 228, -1, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, -1, 253, -1, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, -1, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, -1, + 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, -1, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, -1, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, -1, -1, 436, -1, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, -1, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 3, -1, -1, -1, -1, -1, -1, 10, -1, + -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, + 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, + -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, + -1, 103, 104, 105, -1, -1, -1, -1, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, -1, -1, -1, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, -1, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, -1, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + -1, 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 272, 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 292, 293, -1, 295, 296, -1, 298, -1, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, -1, 321, + -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, 416, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, 5, 6, -1, 8, 9, -1, 11, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + -1, 403, 404, 405, 406, 407, -1, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, -1, -1, 436, -1, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + -1, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, -1, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, + -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, -1, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, -1, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, -1, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, -1, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, -1, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, -1, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 3, + -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, + -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 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, 139, 140, 141, 142, 143, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, + 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, + -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, -1, -1, 81, -1, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, + 104, 105, -1, -1, -1, 109, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, -1, 160, 161, 162, 163, + -1, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, -1, -1, -1, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, -1, 252, 253, + 254, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, -1, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, -1, -1, 293, + -1, 295, 296, 297, 298, -1, -1, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, 316, 317, 318, 319, 320, 321, 322, -1, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, -1, 340, -1, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, + 384, -1, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, -1, 430, -1, 432, 433, + -1, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, -1, 453, + -1, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 510, 511, 512, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 528, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, -1, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, 316, + 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, 481, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, -1, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, 510, 511, 512, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 528, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, -1, 103, 104, 105, -1, -1, -1, -1, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, -1, 179, + -1, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, -1, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, -1, -1, 228, -1, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, -1, 253, -1, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, -1, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, -1, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, -1, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, -1, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, -1, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 3, -1, 5, 6, -1, -1, + -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 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, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 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, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, 185, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, 6, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 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, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, 297, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, 5, 6, -1, 8, + 9, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, 107, 108, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, 6, -1, -1, -1, -1, -1, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, 6, -1, -1, -1, -1, -1, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, 6, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, 310, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, 285, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, - 82, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, 100, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, 100, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - 182, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, 446, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, 100, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, 298, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, 417, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, 185, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, 417, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, 185, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, 100, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, 298, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, 417, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, 298, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, 6, -1, -1, -1, -1, -1, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - 452, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, 298, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, 298, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, 417, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, 11, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, 40, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, -1, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, -1, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, 187, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, - 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, - -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, -1, - 102, 103, 104, -1, -1, -1, -1, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, -1, -1, -1, 178, 179, 180, 181, - -1, 183, 184, -1, 186, -1, 188, -1, 190, 191, - 192, 193, 194, -1, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, -1, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, -1, -1, 225, -1, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, -1, -1, 240, 241, - -1, 243, -1, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - -1, 283, 284, -1, 286, -1, 288, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, -1, 308, -1, 310, 311, - 312, 313, 314, 315, 316, 317, -1, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, -1, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, -1, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - -1, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, - 412, -1, 414, 415, -1, -1, 418, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, 433, 434, 435, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, 459, 460, -1, - 462, -1, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, -1, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, -1, 157, 158, 159, 160, -1, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, -1, -1, -1, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, -1, -1, -1, -1, - 232, 233, 234, 235, 236, 237, -1, -1, 240, -1, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, -1, -1, 281, - -1, 283, 284, 285, 286, -1, -1, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, 306, 307, 308, 309, -1, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, -1, 325, -1, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, -1, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, -1, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, -1, 434, -1, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, -1, 460, 461, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 490, 491, - 492, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, -1, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, -1, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, -1, - -1, -1, 108, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - -1, 157, 158, 159, 160, -1, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, -1, -1, - -1, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, -1, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, -1, -1, -1, -1, 232, 233, 234, 235, - 236, 237, -1, -1, 240, -1, 242, 243, 244, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, -1, -1, 281, -1, 283, 284, 285, - 286, 287, -1, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - -1, 307, 308, 309, -1, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, - -1, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, -1, 412, -1, 414, 415, - -1, 417, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, -1, 434, -1, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, -1, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 490, 491, 492, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, -1, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, -1, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, -1, -1, -1, 108, -1, - -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, -1, 157, 158, 159, - 160, -1, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, -1, -1, -1, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, -1, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, -1, -1, - -1, -1, 232, 233, 234, 235, 236, 237, -1, -1, - 240, -1, 242, 243, 244, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - -1, 281, -1, 283, 284, 285, 286, -1, -1, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, -1, 307, 308, 309, - -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, -1, 325, -1, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, -1, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, -1, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, -1, 412, -1, 414, 415, -1, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, -1, 434, -1, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, -1, -1, 454, 455, 456, 457, 458, -1, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 490, 491, 492, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, -1, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, -1, -1, -1, 108, -1, -1, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, -1, 157, 158, 159, 160, -1, -1, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - -1, -1, -1, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, -1, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, -1, -1, -1, -1, 232, 233, - 234, 235, 236, 237, -1, -1, 240, -1, 242, 243, - 244, -1, 246, 247, 248, -1, -1, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, -1, 281, -1, 283, - 284, 285, 286, -1, -1, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, -1, 307, 308, 309, -1, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - -1, 325, -1, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, -1, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, -1, 412, -1, - 414, 415, -1, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, -1, - 434, -1, -1, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, -1, -1, - 454, 455, 456, 457, 458, -1, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 490, 491, 492, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, -1, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, -1, -1, -1, - 108, -1, -1, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, -1, 157, - 158, 159, 160, -1, -1, 163, -1, 165, 166, 167, - 168, 169, 170, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, -1, -1, -1, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, -1, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, - -1, -1, -1, -1, 232, 233, 234, 235, 236, 237, - -1, -1, 240, -1, 242, 243, 244, -1, 246, 247, - 248, -1, -1, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, -1, -1, 281, -1, 283, 284, 285, 286, -1, - -1, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, -1, 307, - 308, 309, -1, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, -1, 325, -1, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, -1, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, -1, 412, -1, 414, 415, -1, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, -1, 434, -1, -1, 437, - 438, 439, 440, 441, 442, 443, 444, -1, -1, 447, - 448, 449, 450, 451, -1, -1, 454, 455, 456, 457, - 458, -1, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, - 72, 73, -1, 75, 76, 77, 78, -1, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, -1, 157, 158, 159, 160, -1, - -1, 163, -1, 165, 166, 167, 168, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, -1, -1, -1, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - -1, 213, 214, 215, 216, 217, 218, -1, 220, -1, - 222, 223, 224, 225, 226, 227, -1, -1, -1, -1, - 232, 233, 234, 235, 236, 237, -1, -1, 240, -1, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, -1, -1, 281, - -1, 283, 284, 285, 286, -1, -1, 289, 290, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, -1, 307, 308, 309, -1, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, -1, 325, -1, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, -1, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, -1, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, 427, 428, -1, -1, 431, - 432, -1, 434, -1, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, -1, 460, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 490, 491, - 492, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, - -1, -1, -1, -1, -1, -1, 42, 43, 44, -1, - 46, 47, 48, 49, 50, 51, 52, 53, -1, 55, - 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, - 66, -1, -1, 69, 70, 71, 72, 73, -1, 75, - 76, 77, 78, -1, -1, 81, -1, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, -1, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, 104, -1, - -1, -1, 108, -1, -1, -1, 112, 113, 114, 115, - 116, 117, 118, 119, 120, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, -1, 132, 133, 134, 135, - -1, -1, 138, 139, 140, 141, 142, -1, 144, 145, - 146, -1, 148, 149, 150, -1, 152, 153, 154, 155, - -1, 157, 158, 159, 160, -1, -1, 163, -1, 165, - 166, 167, 168, 169, -1, 171, -1, 173, 174, 175, - -1, 177, 178, 179, 180, 181, -1, 183, -1, -1, - -1, 187, 188, -1, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, -1, 201, 202, 203, 204, 205, - 206, 207, 208, -1, 210, 211, -1, 213, 214, 215, - 216, 217, 218, -1, 220, -1, 222, 223, 224, 225, - 226, 227, -1, -1, -1, -1, 232, 233, 234, 235, - 236, 237, -1, -1, 240, -1, 242, 243, 244, -1, - 246, 247, 248, -1, -1, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, -1, -1, 281, -1, 283, 284, 285, - 286, -1, -1, 289, 290, 291, 292, 293, -1, 295, - 296, -1, -1, 299, 300, 301, -1, -1, 304, 305, - -1, 307, 308, 309, -1, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, -1, 325, - -1, 327, 328, 329, -1, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, -1, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, -1, 381, 382, 383, 384, 385, - -1, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, -1, 398, 399, 400, 401, 402, 403, 404, 405, - 406, 407, 408, 409, 410, -1, 412, -1, 414, 415, - -1, -1, 418, 419, 420, 421, 422, 423, 424, -1, - 426, 427, 428, -1, -1, 431, 432, -1, 434, -1, - -1, 437, 438, 439, 440, 441, 442, 443, 444, -1, - -1, 447, 448, 449, 450, 451, -1, -1, 454, 455, - 456, 457, 458, -1, 460, -1, 462, 463, 464, 465, - 466, 467, -1, -1, 470, -1, -1, 473, 474, 475, - 476, 477, 478, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 490, 491, 492, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, - -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, - 50, 51, 52, 53, -1, 55, 56, 57, 58, -1, - 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, - 70, 71, 72, 73, -1, 75, 76, 77, 78, -1, - -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, -1, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, 104, -1, -1, -1, 108, -1, - -1, -1, 112, 113, 114, 115, 116, 117, 118, 119, - 120, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, -1, 132, 133, 134, 135, -1, -1, 138, 139, - 140, 141, 142, -1, 144, 145, 146, -1, 148, 149, - 150, -1, 152, 153, 154, 155, -1, 157, 158, 159, - 160, -1, -1, 163, -1, 165, 166, 167, 168, 169, - -1, 171, -1, 173, 174, 175, -1, 177, 178, 179, - 180, 181, -1, 183, -1, -1, -1, 187, 188, -1, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - -1, 201, 202, 203, 204, 205, 206, 207, 208, -1, - 210, 211, -1, 213, 214, 215, 216, 217, 218, -1, - 220, -1, 222, 223, 224, 225, 226, 227, -1, -1, - -1, -1, 232, 233, 234, 235, 236, 237, -1, -1, - 240, -1, 242, 243, 244, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, - -1, 281, -1, 283, 284, 285, 286, -1, -1, 289, - 290, 291, 292, 293, -1, 295, 296, -1, -1, 299, - 300, 301, -1, -1, 304, 305, -1, 307, 308, 309, - -1, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, -1, 325, -1, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - -1, 361, 362, 363, 364, 365, 366, 367, 368, -1, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - -1, 381, 382, 383, 384, 385, -1, 387, 388, 389, - 390, 391, 392, 393, 394, 395, 396, -1, 398, 399, - 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, - 410, -1, 412, -1, 414, 415, -1, -1, 418, 419, - 420, 421, 422, 423, 424, -1, 426, 427, 428, -1, - -1, 431, 432, -1, 434, -1, -1, 437, 438, 439, - 440, 441, 442, 443, 444, -1, -1, 447, 448, 449, - 450, 451, -1, -1, 454, 455, 456, 457, 458, -1, - 460, -1, 462, 463, 464, 465, 466, 467, -1, -1, - 470, -1, -1, 473, 474, 475, 476, 477, 478, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 490, 491, 492, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, - 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, - 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, - -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, - 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, - -1, 75, 76, 77, 78, -1, -1, 81, -1, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, -1, - 94, 95, 96, 97, 98, 99, -1, 101, 102, 103, - 104, -1, -1, -1, 108, -1, -1, -1, 112, 113, - 114, 115, 116, 117, 118, 119, 120, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, -1, 132, 133, - 134, 135, -1, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, -1, 148, 149, 150, -1, 152, 153, - 154, 155, -1, 157, 158, 159, 160, -1, -1, 163, - -1, 165, 166, 167, 168, 169, -1, 171, -1, 173, - 174, 175, -1, 177, 178, 179, 180, 181, -1, 183, - -1, -1, -1, 187, 188, -1, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, -1, 201, 202, 203, - 204, 205, 206, 207, 208, -1, 210, 211, -1, 213, - 214, 215, 216, 217, 218, -1, 220, -1, 222, 223, - 224, 225, 226, 227, -1, -1, -1, -1, 232, 233, - 234, 235, 236, 237, -1, -1, 240, -1, 242, 243, - 244, -1, 246, 247, 248, -1, -1, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, -1, -1, 281, -1, 283, - 284, 285, 286, -1, -1, 289, 290, 291, 292, 293, - -1, 295, 296, -1, -1, 299, 300, 301, -1, -1, - 304, 305, -1, 307, 308, 309, -1, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - -1, 325, -1, 327, 328, 329, -1, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, -1, 361, 362, 363, - 364, 365, 366, 367, 368, -1, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, -1, 381, 382, 383, - 384, 385, -1, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, -1, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, -1, 412, -1, - 414, 415, -1, -1, 418, 419, 420, 421, 422, 423, - 424, -1, 426, 427, 428, -1, -1, 431, 432, -1, - 434, -1, -1, 437, 438, 439, 440, 441, 442, 443, - 444, -1, -1, 447, 448, 449, 450, 451, -1, -1, - 454, 455, 456, 457, 458, -1, 460, -1, 462, 463, - 464, 465, 466, 467, -1, -1, 470, -1, -1, 473, - 474, 475, 476, 477, 478, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 490, 491, 492, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, - -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, - 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, - 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, - -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, - 78, -1, -1, 81, -1, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, -1, 94, 95, 96, 97, - 98, 99, -1, 101, 102, 103, 104, -1, -1, -1, - 108, -1, -1, -1, 112, 113, 114, 115, 116, 117, - 118, 119, 120, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, -1, 132, 133, 134, 135, -1, -1, - 138, 139, 140, 141, 142, -1, 144, 145, 146, -1, - 148, 149, 150, -1, 152, 153, 154, 155, -1, 157, - 158, 159, 160, -1, -1, 163, -1, 165, 166, 167, - 168, 169, -1, 171, -1, 173, 174, 175, -1, 177, - 178, 179, 180, 181, -1, 183, -1, -1, -1, 187, - 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, -1, 201, 202, 203, 204, 205, 206, 207, - 208, -1, 210, 211, -1, 213, 214, 215, 216, 217, - 218, -1, 220, -1, 222, 223, 224, 225, 226, 227, - -1, -1, -1, -1, 232, 233, 234, 235, 236, 237, - -1, -1, 240, -1, 242, 243, 244, -1, 246, 247, - 248, -1, -1, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, -1, -1, 281, -1, 283, 284, 285, 286, -1, - -1, 289, 290, 291, 292, 293, -1, 295, 296, -1, - -1, 299, 300, 301, -1, -1, 304, 305, -1, 307, - 308, 309, -1, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, -1, 325, -1, 327, - 328, 329, -1, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, -1, 370, 371, 372, 373, 374, 375, 376, 377, - 378, 379, -1, 381, 382, 383, 384, 385, -1, 387, - 388, -1, 390, 391, 392, 393, 394, 395, 396, -1, - 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, - 408, 409, 410, -1, 412, -1, 414, 415, -1, -1, - 418, 419, 420, 421, 422, 423, 424, -1, 426, 427, - 428, -1, -1, 431, 432, -1, 434, -1, -1, 437, - 438, 439, 440, 441, 442, 443, 444, -1, -1, 447, - 448, 449, 450, 451, -1, -1, 454, 455, 456, 457, - 458, -1, 460, -1, 462, 463, 464, 465, 466, 467, - -1, -1, 470, -1, -1, 473, 474, 475, 476, 477, - 478, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, - 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, - 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, - 52, 53, -1, -1, 56, -1, -1, -1, 60, 61, - 62, 63, 64, 65, 66, -1, -1, 69, 70, -1, - -1, 73, -1, 75, 76, 77, 78, -1, -1, 81, - -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, -1, 94, 95, 96, 97, 98, 99, -1, 101, - 102, 103, 104, -1, -1, -1, 108, -1, -1, -1, - 112, 113, 114, 115, 116, 117, -1, -1, 120, -1, - 122, -1, 124, 125, 126, 127, 128, 129, 130, -1, - 132, 133, 134, 135, -1, -1, 138, 139, 140, 141, - 142, -1, 144, 145, 146, -1, 148, 149, 150, -1, - 152, 153, 154, 155, -1, 157, 158, 159, 160, -1, - -1, 163, -1, 165, 166, 167, -1, 169, -1, 171, - -1, 173, 174, 175, -1, 177, 178, 179, 180, 181, - -1, 183, -1, -1, -1, 187, 188, -1, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, -1, 201, - 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, - -1, 213, 214, 215, 216, -1, -1, -1, -1, -1, - 222, 223, 224, 225, 226, 227, -1, -1, -1, -1, - 232, 233, 234, 235, 236, 237, -1, -1, 240, -1, - 242, 243, 244, -1, 246, 247, 248, -1, -1, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, -1, 270, -1, - 272, 273, 274, 275, 276, 277, 278, -1, -1, 281, - -1, 283, 284, 285, 286, -1, -1, 289, -1, 291, - 292, 293, -1, 295, 296, -1, -1, 299, 300, 301, - -1, -1, 304, 305, -1, 307, 308, 309, -1, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, -1, 325, -1, 327, 328, 329, -1, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, -1, - 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, -1, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, -1, 381, - 382, 383, 384, 385, -1, 387, 388, -1, 390, 391, - 392, 393, 394, -1, 396, -1, 398, 399, 400, 401, - 402, 403, 404, 405, 406, 407, 408, 409, 410, -1, - 412, -1, 414, 415, -1, -1, 418, 419, 420, 421, - 422, 423, 424, -1, 426, -1, -1, -1, -1, 431, - 432, -1, 434, -1, -1, 437, 438, 439, 440, 441, - 442, 443, 444, -1, -1, 447, 448, 449, 450, 451, - -1, -1, 454, 455, 456, 457, 458, -1, -1, -1, - 462, 463, 464, 465, 466, 467, -1, -1, 470, -1, - -1, 473, 474, 475, 476, 477, 478, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 490, 491, - 492 + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, -1, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, -1, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, 481, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, 299, -1, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, 435, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, -1, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, -1, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, -1, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, -1, 160, + 161, 162, 163, -1, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, -1, -1, -1, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, -1, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + -1, 252, 253, 254, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, -1, 293, -1, 295, 296, 297, 298, -1, -1, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, -1, 320, + 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, -1, 340, + -1, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, -1, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, -1, 453, -1, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, + 511, 512, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, -1, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, -1, 160, 161, 162, 163, -1, + -1, 166, -1, 168, 169, 170, 171, 172, 173, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, -1, -1, -1, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + -1, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, -1, 252, 253, 254, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, -1, -1, 293, -1, + 295, 296, 297, 298, -1, -1, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, -1, 320, 321, 322, -1, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, -1, 340, -1, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, -1, 432, 433, -1, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, -1, 453, -1, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 510, 511, 512, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, 173, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, -1, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, -1, -1, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, -1, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, -1, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, -1, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, -1, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, -1, 160, + 161, 162, 163, -1, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, -1, -1, -1, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, -1, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + -1, 252, 253, 254, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + -1, -1, 293, -1, 295, 296, 297, 298, -1, -1, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, -1, 320, + 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, -1, 340, + -1, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, -1, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, -1, 453, -1, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, + 511, 512, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, -1, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, -1, 160, 161, 162, 163, -1, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, -1, -1, -1, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + -1, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, -1, 252, 253, 254, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, -1, -1, 293, -1, + 295, 296, 297, 298, -1, -1, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, -1, 320, 321, 322, -1, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, -1, 340, -1, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, -1, 432, 433, -1, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, -1, 453, -1, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 510, 511, 512, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, -1, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, -1, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, -1, 56, -1, -1, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, -1, -1, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, -1, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, -1, -1, -1, + -1, -1, 225, 226, 227, 228, 229, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, -1, 281, -1, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, -1, -1, 301, -1, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, -1, 406, 407, 408, 409, 410, -1, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, -1, -1, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, -1, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -29217,629 +30854,653 @@ static const yytype_int16 yycheck[] = static const yytype_uint16 yystos[] = { 0, 22, 33, 35, 36, 53, 63, 75, 77, 78, - 84, 86, 98, 100, 117, 120, 135, 137, 141, 147, - 155, 157, 164, 182, 199, 246, 247, 252, 266, 284, - 328, 342, 348, 349, 351, 356, 362, 365, 372, 379, - 380, 387, 391, 401, 417, 437, 448, 454, 459, 472, - 496, 498, 499, 500, 501, 502, 515, 522, 523, 524, - 525, 530, 531, 537, 538, 540, 541, 542, 543, 545, - 548, 560, 565, 566, 569, 570, 571, 589, 592, 593, - 608, 657, 660, 661, 664, 667, 668, 669, 677, 684, - 686, 687, 690, 693, 694, 698, 707, 711, 712, 713, - 716, 718, 719, 720, 721, 729, 731, 751, 755, 757, - 758, 768, 770, 777, 778, 781, 782, 783, 784, 785, - 794, 796, 798, 801, 805, 806, 816, 817, 822, 827, - 838, 870, 873, 874, 875, 880, 883, 885, 887, 889, - 890, 894, 895, 898, 900, 901, 905, 906, 907, 910, - 911, 912, 913, 914, 921, 923, 924, 925, 926, 932, - 934, 935, 941, 942, 943, 946, 947, 948, 949, 951, - 952, 954, 955, 957, 958, 960, 972, 974, 977, 979, - 980, 989, 991, 996, 1001, 1009, 1013, 1014, 1015, 1016, - 1017, 1018, 1024, 1060, 431, 475, 927, 30, 81, 97, - 115, 121, 139, 150, 159, 172, 178, 185, 205, 236, - 258, 299, 323, 333, 334, 337, 364, 367, 371, 374, - 381, 384, 403, 410, 415, 417, 420, 424, 434, 439, - 452, 465, 683, 927, 3, 22, 23, 24, 25, 26, + 84, 86, 99, 101, 118, 121, 136, 138, 142, 149, + 158, 160, 167, 185, 202, 256, 257, 262, 277, 296, + 343, 358, 364, 365, 367, 372, 378, 381, 388, 395, + 396, 403, 407, 418, 435, 456, 468, 474, 479, 492, + 516, 518, 519, 520, 521, 522, 535, 542, 543, 544, + 545, 550, 551, 557, 558, 560, 561, 562, 563, 565, + 568, 580, 585, 586, 589, 590, 591, 611, 614, 615, + 630, 681, 684, 685, 688, 691, 692, 693, 701, 708, + 710, 711, 714, 717, 718, 722, 731, 735, 736, 737, + 740, 742, 743, 744, 745, 753, 755, 775, 779, 781, + 782, 792, 794, 801, 802, 805, 806, 807, 808, 809, + 818, 820, 822, 825, 829, 830, 840, 841, 846, 851, + 862, 894, 897, 898, 899, 904, 907, 909, 911, 913, + 914, 918, 919, 922, 924, 925, 929, 930, 931, 934, + 935, 936, 937, 938, 945, 947, 948, 949, 950, 956, + 958, 959, 965, 966, 967, 970, 971, 972, 973, 975, + 976, 978, 979, 981, 982, 984, 996, 998, 1001, 1003, + 1004, 1013, 1015, 1020, 1025, 1035, 1039, 1040, 1041, 1042, + 1043, 1044, 1050, 1086, 450, 495, 951, 30, 81, 98, + 116, 122, 140, 153, 162, 175, 181, 188, 208, 246, + 268, 312, 338, 348, 349, 352, 380, 383, 387, 390, + 397, 400, 420, 428, 433, 435, 438, 443, 453, 458, + 472, 485, 707, 951, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 94, 95, 96, 97, 98, 99, 101, 102, 103, - 104, 108, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 122, 124, 125, 126, 127, 128, 129, 130, 132, - 133, 134, 135, 138, 139, 140, 141, 142, 144, 145, - 146, 148, 149, 150, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 163, 165, 166, 167, 168, 169, - 171, 173, 174, 175, 177, 178, 179, 180, 181, 183, - 184, 186, 187, 188, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, - 207, 208, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 220, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 240, 241, - 242, 243, 244, 246, 247, 248, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 283, 284, 285, - 286, 288, 289, 290, 291, 292, 293, 295, 296, 299, - 300, 301, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 322, - 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 381, 382, 383, 384, 385, 387, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 398, - 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, - 409, 410, 411, 412, 414, 415, 418, 419, 420, 421, - 422, 423, 424, 426, 427, 428, 431, 432, 433, 434, - 435, 437, 438, 439, 440, 441, 442, 443, 444, 447, - 448, 449, 450, 451, 454, 455, 456, 457, 458, 459, - 460, 462, 463, 464, 465, 466, 467, 470, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 1121, 1205, - 1217, 1218, 1222, 1223, 1224, 3, 31, 1010, 1202, 1217, - 1222, 463, 515, 965, 297, 329, 927, 56, 515, 600, - 25, 43, 68, 81, 115, 121, 139, 150, 159, 172, - 181, 185, 248, 299, 302, 323, 337, 364, 374, 384, - 403, 410, 420, 421, 423, 424, 439, 446, 449, 452, - 609, 666, 773, 828, 839, 31, 328, 1202, 1010, 31, - 322, 382, 421, 423, 6, 235, 881, 882, 1208, 25, - 30, 68, 81, 97, 115, 139, 150, 159, 172, 178, - 185, 205, 258, 299, 312, 323, 334, 337, 364, 367, - 371, 374, 381, 384, 403, 410, 417, 420, 424, 432, - 434, 439, 452, 465, 683, 786, 788, 789, 927, 1202, - 100, 463, 515, 661, 664, 667, 960, 973, 977, 980, - 989, 996, 1001, 1009, 1013, 11, 24, 31, 51, 167, - 174, 176, 200, 237, 273, 331, 350, 506, 507, 802, - 803, 1010, 1207, 1209, 31, 33, 100, 346, 380, 807, - 808, 809, 1217, 172, 1217, 1204, 1208, 417, 1027, 802, - 1217, 431, 1202, 312, 258, 515, 893, 372, 1217, 31, - 385, 427, 431, 552, 561, 562, 1217, 182, 807, 808, - 1217, 329, 927, 1217, 234, 31, 136, 1029, 1030, 69, - 94, 248, 268, 364, 374, 385, 427, 431, 478, 549, - 550, 551, 552, 31, 385, 427, 431, 552, 431, 298, - 1072, 1073, 1200, 1217, 1027, 508, 1217, 177, 515, 966, - 515, 344, 1019, 1020, 1202, 1019, 3, 55, 57, 58, - 71, 72, 118, 119, 140, 168, 217, 218, 220, 269, - 271, 290, 341, 389, 395, 427, 428, 460, 1095, 1097, - 1099, 1101, 1103, 1105, 1106, 1107, 1109, 1110, 1111, 1113, - 1114, 1218, 1222, 1029, 1030, 1031, 1213, 12, 1214, 1215, - 1217, 1214, 1214, 1014, 1015, 1018, 0, 518, 515, 965, - 151, 219, 303, 445, 1032, 1033, 1014, 1016, 1017, 126, - 215, 260, 451, 519, 37, 931, 855, 1205, 791, 1217, - 791, 1202, 332, 791, 434, 1202, 114, 417, 843, 1205, - 1217, 1224, 3, 107, 111, 386, 1210, 1211, 1219, 1222, - 1223, 1224, 31, 194, 1200, 291, 465, 10, 17, 18, - 19, 76, 163, 503, 504, 505, 506, 507, 508, 509, - 510, 511, 877, 879, 1152, 1153, 1217, 194, 1202, 843, - 1202, 31, 1210, 1211, 843, 1202, 1202, 194, 1200, 1202, - 194, 791, 1202, 356, 387, 31, 194, 1072, 1202, 377, - 1202, 791, 31, 255, 1210, 1211, 194, 1200, 235, 123, - 225, 282, 340, 928, 929, 930, 515, 513, 517, 1178, - 1180, 493, 959, 960, 961, 962, 1219, 1200, 1202, 1217, - 30, 68, 82, 93, 115, 139, 178, 205, 236, 299, - 334, 364, 367, 410, 420, 432, 439, 786, 787, 788, - 789, 1208, 931, 976, 980, 989, 996, 1001, 1013, 1200, - 261, 791, 515, 194, 791, 1202, 791, 434, 194, 1202, - 114, 417, 421, 423, 1210, 1211, 421, 423, 76, 163, - 877, 354, 1202, 1202, 1210, 194, 526, 1217, 194, 1202, - 194, 527, 791, 1202, 1202, 377, 791, 255, 1210, 344, - 381, 417, 465, 258, 97, 205, 30, 93, 178, 334, - 371, 432, 434, 438, 678, 31, 1202, 1011, 559, 1208, - 1219, 882, 261, 194, 855, 856, 194, 886, 194, 1202, - 194, 793, 1095, 434, 114, 417, 194, 842, 843, 194, - 1211, 1212, 89, 465, 76, 163, 194, 878, 879, 61, - 194, 842, 194, 1212, 194, 842, 194, 1202, 194, 1202, - 377, 886, 194, 793, 194, 255, 1212, 235, 194, 790, - 791, 194, 1201, 1202, 194, 1202, 931, 515, 978, 609, - 973, 459, 959, 965, 1209, 803, 804, 31, 804, 1209, - 804, 31, 804, 1209, 804, 804, 804, 1209, 1207, 1207, - 1010, 804, 332, 515, 415, 515, 634, 634, 634, 297, - 429, 519, 634, 374, 1072, 1074, 519, 922, 1208, 515, - 975, 61, 465, 959, 115, 205, 374, 415, 417, 891, - 892, 1217, 50, 492, 225, 517, 300, 297, 176, 300, - 1208, 429, 931, 170, 799, 297, 5, 8, 9, 10, - 12, 39, 55, 57, 58, 67, 68, 71, 72, 79, - 81, 105, 106, 107, 108, 109, 110, 111, 118, 119, - 121, 156, 161, 162, 168, 184, 186, 217, 218, 220, - 228, 229, 230, 231, 241, 249, 250, 269, 271, 280, - 282, 287, 288, 290, 299, 310, 324, 341, 369, 386, - 395, 411, 416, 427, 428, 433, 435, 436, 446, 452, - 460, 480, 481, 482, 483, 485, 486, 487, 488, 494, - 506, 507, 508, 515, 1014, 1098, 1101, 1104, 1105, 1106, - 1108, 1109, 1110, 1113, 1114, 1118, 1120, 1121, 1122, 1124, - 1148, 1149, 1150, 1154, 1172, 1177, 1194, 1197, 1198, 1205, - 1206, 1207, 1208, 1217, 1196, 1197, 1208, 31, 567, 1199, - 1200, 385, 549, 121, 558, 1208, 12, 559, 12, 1208, - 50, 73, 549, 492, 396, 929, 300, 176, 429, 505, - 50, 492, 225, 930, 515, 1200, 508, 1180, 1074, 959, - 175, 967, 1118, 1157, 1019, 519, 515, 968, 462, 1112, - 1112, 1112, 515, 1100, 1100, 326, 515, 1102, 71, 72, - 1112, 1100, 1097, 496, 497, 515, 1115, 515, 1115, 39, - 1096, 515, 116, 192, 262, 265, 378, 490, 515, 1116, - 1117, 517, 792, 1100, 1196, 1181, 516, 516, 524, 959, - 969, 970, 971, 1200, 31, 136, 1028, 1028, 61, 1028, - 164, 170, 245, 294, 1036, 1038, 1039, 1054, 1056, 1057, - 1058, 1032, 1033, 176, 221, 221, 1072, 1075, 515, 70, - 278, 313, 352, 387, 515, 853, 313, 348, 352, 387, - 792, 313, 352, 387, 3, 92, 145, 251, 313, 348, - 352, 387, 420, 422, 472, 560, 563, 936, 937, 938, - 939, 823, 27, 141, 313, 352, 387, 456, 576, 1202, - 27, 141, 387, 451, 544, 476, 194, 1072, 64, 99, - 160, 197, 240, 278, 282, 313, 314, 352, 361, 370, - 379, 387, 399, 408, 412, 467, 560, 564, 859, 871, - 899, 515, 840, 1180, 352, 544, 200, 156, 27, 33, - 48, 78, 134, 141, 144, 171, 207, 278, 282, 292, - 301, 313, 352, 355, 356, 387, 456, 572, 574, 575, - 701, 899, 5, 506, 507, 675, 1209, 31, 194, 1200, - 791, 791, 515, 876, 313, 387, 517, 156, 297, 313, - 352, 387, 871, 899, 27, 141, 313, 352, 387, 200, - 539, 352, 472, 496, 532, 539, 313, 352, 387, 871, - 899, 297, 313, 352, 156, 40, 62, 113, 203, 259, - 263, 278, 312, 352, 357, 381, 387, 401, 572, 672, - 673, 313, 352, 464, 701, 709, 156, 313, 352, 387, - 27, 92, 134, 141, 144, 313, 348, 352, 387, 394, - 562, 550, 552, 200, 156, 48, 132, 278, 352, 387, - 572, 573, 313, 352, 356, 387, 90, 133, 316, 422, - 297, 27, 33, 141, 313, 352, 387, 590, 591, 539, - 170, 352, 532, 539, 156, 352, 387, 572, 1202, 243, - 123, 298, 477, 519, 928, 31, 136, 461, 508, 516, - 848, 1118, 1158, 1159, 1218, 1118, 1179, 3, 31, 35, - 36, 37, 38, 39, 40, 41, 45, 59, 67, 68, - 74, 80, 82, 93, 100, 105, 106, 107, 109, 110, - 111, 121, 123, 131, 136, 137, 143, 147, 151, 162, - 164, 170, 172, 176, 182, 185, 189, 200, 209, 219, - 221, 238, 239, 245, 249, 250, 282, 287, 294, 297, - 298, 302, 303, 321, 330, 346, 360, 380, 386, 397, - 413, 416, 417, 425, 429, 430, 436, 445, 446, 452, - 453, 461, 468, 469, 471, 472, 508, 1203, 1220, 1222, - 1223, 1224, 1225, 1178, 516, 519, 162, 297, 436, 556, - 559, 675, 963, 453, 956, 297, 855, 515, 791, 1202, - 1095, 843, 291, 76, 163, 879, 843, 843, 170, 1095, - 791, 1202, 1202, 516, 634, 1202, 74, 1095, 282, 176, - 515, 759, 532, 40, 950, 1202, 282, 532, 476, 194, - 1200, 532, 791, 791, 759, 449, 609, 297, 170, 472, - 867, 532, 282, 50, 546, 282, 439, 708, 282, 968, - 92, 313, 685, 90, 133, 316, 422, 40, 759, 170, - 194, 532, 465, 194, 1200, 194, 662, 1200, 1200, 465, - 791, 89, 528, 1205, 434, 1205, 1205, 1202, 170, 1202, - 683, 42, 56, 112, 214, 278, 376, 156, 65, 358, - 519, 529, 156, 515, 156, 532, 156, 519, 529, 476, - 156, 519, 529, 156, 519, 194, 790, 194, 791, 194, - 791, 156, 519, 529, 1212, 156, 529, 156, 156, 529, - 156, 529, 156, 90, 133, 316, 422, 170, 156, 529, - 156, 170, 194, 156, 519, 529, 156, 519, 529, 156, - 297, 1157, 417, 516, 973, 804, 1010, 804, 1010, 804, - 1010, 804, 1010, 804, 1010, 1010, 1010, 804, 1010, 515, - 635, 636, 1217, 635, 31, 115, 139, 172, 178, 235, - 236, 315, 334, 367, 374, 381, 417, 420, 439, 812, - 1199, 1212, 809, 1202, 200, 519, 992, 1208, 1095, 1161, - 40, 1212, 528, 516, 528, 528, 528, 243, 1217, 170, - 812, 1212, 170, 372, 1217, 559, 297, 515, 1181, 513, - 1014, 1162, 1118, 1176, 515, 515, 170, 515, 515, 1014, - 515, 515, 515, 515, 515, 515, 515, 515, 515, 515, - 515, 1118, 515, 515, 515, 515, 515, 515, 515, 515, - 289, 625, 515, 515, 515, 515, 515, 515, 515, 515, - 1118, 1118, 1118, 1014, 1118, 1157, 1180, 12, 1208, 12, - 515, 1208, 3, 10, 13, 17, 18, 19, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 166, 167, 168, 169, 171, 172, - 173, 174, 175, 177, 178, 179, 180, 181, 183, 184, - 186, 187, 188, 190, 191, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 220, 222, 223, 224, 225, 226, 227, 228, 229, + 92, 93, 95, 96, 97, 98, 99, 100, 102, 103, + 104, 105, 109, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, + 133, 134, 135, 136, 139, 140, 141, 142, 143, 145, + 146, 147, 148, 150, 151, 152, 153, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 166, 168, 169, + 170, 171, 172, 174, 176, 177, 178, 180, 181, 182, + 183, 184, 186, 187, 189, 190, 191, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, + 207, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 223, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 263, 264, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 295, 296, 298, 299, 300, 301, 302, 304, 305, - 306, 307, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 327, 328, + 240, 241, 242, 243, 244, 245, 246, 247, 250, 251, + 252, 253, 254, 256, 257, 258, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 295, + 296, 297, 298, 300, 301, 302, 303, 304, 305, 307, + 308, 309, 312, 313, 314, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, 336, 337, 338, 339, 340, 341, 342, + 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 397, 398, 399, 400, 401, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 432, 433, 436, 437, 438, 439, 440, 441, + 442, 443, 445, 446, 447, 450, 451, 452, 453, 454, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 467, + 468, 469, 470, 471, 474, 475, 476, 477, 478, 479, + 480, 482, 483, 484, 485, 486, 487, 490, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1154, 1247, + 1259, 1260, 1264, 1265, 1266, 3, 31, 1036, 1244, 1259, + 1264, 483, 535, 989, 310, 344, 951, 56, 535, 622, + 25, 43, 68, 81, 116, 122, 140, 153, 162, 175, + 184, 188, 258, 312, 315, 338, 352, 380, 390, 400, + 420, 428, 438, 440, 442, 443, 458, 466, 469, 472, + 631, 690, 797, 852, 863, 31, 343, 1244, 1036, 31, + 337, 398, 440, 442, 6, 245, 905, 906, 1250, 25, + 30, 68, 81, 98, 116, 140, 153, 162, 175, 181, + 188, 208, 268, 312, 325, 338, 349, 352, 380, 383, + 387, 390, 397, 400, 420, 428, 435, 438, 443, 451, + 453, 458, 472, 485, 707, 810, 812, 813, 951, 1244, + 101, 483, 535, 685, 688, 691, 984, 997, 1001, 1004, + 1013, 1020, 1025, 1035, 1039, 11, 24, 31, 51, 170, + 177, 179, 203, 247, 285, 346, 366, 526, 527, 826, + 827, 1036, 1249, 1251, 31, 33, 101, 362, 396, 831, + 832, 833, 1259, 175, 1259, 1246, 1250, 435, 1053, 826, + 1259, 450, 1244, 325, 268, 535, 917, 388, 1259, 31, + 401, 446, 450, 572, 581, 582, 1259, 185, 831, 832, + 1259, 344, 951, 1259, 244, 31, 137, 1055, 1056, 69, + 95, 258, 279, 380, 390, 401, 446, 450, 498, 569, + 570, 571, 572, 31, 401, 446, 450, 572, 450, 311, + 1098, 1099, 1242, 1259, 1053, 528, 1259, 180, 535, 990, + 535, 360, 1045, 1046, 1244, 1045, 3, 55, 57, 58, + 71, 72, 119, 120, 141, 171, 220, 221, 223, 230, + 280, 282, 302, 357, 405, 411, 446, 447, 480, 1127, + 1129, 1131, 1133, 1135, 1137, 1138, 1139, 1141, 1142, 1143, + 1145, 1146, 1150, 1260, 1264, 1055, 1056, 1057, 1255, 12, + 1256, 1257, 1259, 1256, 1256, 1040, 1041, 1044, 0, 538, + 535, 989, 154, 222, 316, 465, 1058, 1059, 1040, 1042, + 1043, 127, 218, 270, 471, 539, 37, 955, 879, 1247, + 815, 1259, 815, 1244, 347, 815, 453, 1244, 115, 435, + 867, 1247, 1259, 1266, 3, 108, 112, 402, 1252, 1253, + 1261, 1264, 1265, 1266, 31, 197, 1242, 303, 485, 10, + 17, 18, 19, 76, 166, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 901, 903, 1185, 1186, 1259, 197, + 1244, 867, 1244, 31, 1252, 1253, 867, 1244, 1244, 197, + 1242, 1244, 197, 815, 1244, 372, 403, 31, 197, 1098, + 1244, 393, 1244, 815, 31, 265, 1252, 1253, 197, 1242, + 245, 124, 228, 294, 356, 952, 953, 954, 535, 533, + 537, 1211, 1213, 513, 983, 984, 985, 986, 1261, 1242, + 1244, 1259, 30, 68, 82, 94, 116, 140, 181, 208, + 246, 312, 349, 380, 383, 428, 438, 451, 458, 810, + 811, 812, 813, 1250, 955, 1000, 1004, 1013, 1020, 1025, + 1039, 1242, 272, 815, 535, 197, 815, 1244, 815, 453, + 197, 1244, 115, 435, 440, 442, 1252, 1253, 440, 442, + 76, 166, 901, 370, 1244, 1244, 1252, 197, 546, 1259, + 197, 1244, 197, 547, 815, 1244, 1244, 393, 815, 265, + 1252, 360, 397, 435, 485, 268, 98, 208, 30, 94, + 181, 349, 387, 451, 453, 457, 702, 31, 1244, 1037, + 579, 1250, 1261, 906, 272, 197, 879, 880, 197, 910, + 197, 1244, 197, 817, 1127, 453, 115, 435, 197, 866, + 867, 197, 1253, 1254, 89, 485, 76, 166, 197, 902, + 903, 61, 197, 866, 197, 1254, 197, 866, 197, 1244, + 197, 1244, 393, 910, 197, 817, 197, 265, 1254, 245, + 197, 814, 815, 197, 1243, 1244, 197, 1244, 955, 535, + 1002, 631, 997, 479, 983, 989, 1251, 827, 828, 31, + 828, 1251, 828, 31, 828, 1251, 828, 828, 828, 1251, + 1249, 1249, 1036, 828, 347, 535, 433, 535, 658, 658, + 658, 310, 448, 539, 658, 390, 1098, 1100, 539, 946, + 1250, 535, 999, 61, 485, 983, 116, 208, 390, 433, + 435, 915, 916, 1259, 50, 512, 228, 537, 313, 310, + 179, 313, 1250, 448, 955, 173, 823, 310, 5, 8, + 9, 10, 12, 39, 55, 57, 58, 67, 68, 71, + 72, 79, 81, 106, 107, 108, 109, 110, 111, 112, + 119, 120, 122, 159, 164, 165, 171, 187, 189, 220, + 221, 223, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 240, 251, 259, 260, 271, 280, 282, 292, 294, + 299, 300, 302, 312, 323, 339, 357, 385, 402, 411, + 429, 434, 446, 447, 452, 454, 455, 466, 472, 480, + 500, 501, 502, 503, 505, 506, 507, 508, 514, 526, + 527, 528, 535, 1040, 1130, 1133, 1136, 1137, 1138, 1140, + 1141, 1142, 1145, 1146, 1150, 1151, 1153, 1154, 1155, 1157, + 1181, 1182, 1183, 1187, 1205, 1210, 1236, 1239, 1240, 1247, + 1248, 1249, 1250, 1259, 1238, 1239, 1250, 31, 587, 1241, + 1242, 401, 569, 122, 578, 1250, 12, 579, 12, 1250, + 50, 73, 569, 512, 412, 953, 313, 179, 448, 525, + 50, 512, 228, 954, 535, 1242, 528, 1213, 1100, 983, + 178, 991, 1151, 1190, 1045, 539, 535, 992, 482, 1144, + 1144, 1144, 535, 1132, 1132, 341, 535, 1134, 71, 72, + 1144, 1132, 1129, 516, 517, 535, 1147, 535, 1147, 39, + 1128, 535, 117, 195, 273, 276, 394, 510, 535, 1148, + 1149, 537, 816, 1132, 1238, 1214, 536, 536, 544, 983, + 993, 994, 995, 1242, 31, 137, 1054, 1054, 61, 1054, + 167, 173, 255, 306, 1062, 1064, 1065, 1080, 1082, 1083, + 1084, 1058, 1059, 179, 224, 224, 1098, 1101, 535, 70, + 290, 326, 368, 403, 535, 877, 326, 364, 368, 403, + 816, 326, 368, 403, 3, 93, 147, 261, 326, 364, + 368, 403, 438, 441, 492, 580, 583, 960, 961, 962, + 963, 847, 27, 142, 326, 368, 403, 476, 596, 1244, + 27, 142, 403, 471, 564, 496, 197, 1098, 64, 100, + 163, 200, 250, 290, 294, 326, 327, 368, 377, 386, + 395, 403, 416, 425, 430, 487, 580, 584, 883, 895, + 923, 535, 864, 1213, 368, 564, 203, 159, 27, 33, + 48, 78, 135, 142, 146, 174, 210, 290, 294, 304, + 314, 326, 368, 371, 372, 403, 476, 592, 594, 595, + 725, 923, 5, 526, 527, 699, 1251, 31, 197, 1242, + 815, 815, 535, 900, 326, 403, 537, 159, 310, 326, + 368, 403, 895, 923, 27, 142, 326, 368, 403, 203, + 559, 368, 492, 516, 552, 559, 326, 368, 403, 895, + 923, 310, 326, 368, 159, 40, 62, 114, 206, 264, + 269, 274, 290, 325, 368, 373, 397, 403, 418, 469, + 592, 696, 697, 326, 368, 484, 725, 733, 159, 326, + 368, 403, 27, 93, 135, 142, 146, 326, 364, 368, + 403, 410, 582, 570, 572, 203, 159, 48, 133, 290, + 368, 403, 592, 593, 326, 368, 372, 403, 91, 134, + 329, 441, 310, 27, 33, 142, 326, 368, 403, 612, + 613, 559, 173, 368, 552, 559, 159, 368, 403, 592, + 1244, 253, 124, 311, 497, 539, 952, 31, 137, 481, + 528, 536, 872, 1151, 1191, 1192, 1260, 1151, 1212, 3, + 31, 35, 36, 37, 38, 39, 40, 41, 45, 59, + 67, 68, 74, 80, 82, 94, 101, 106, 107, 108, + 110, 111, 112, 122, 124, 132, 137, 138, 144, 149, + 154, 165, 167, 173, 175, 179, 185, 188, 192, 203, + 212, 222, 224, 248, 249, 255, 259, 260, 294, 299, + 306, 310, 311, 315, 316, 335, 345, 362, 376, 396, + 402, 413, 431, 434, 435, 444, 448, 449, 455, 465, + 466, 472, 473, 481, 488, 489, 491, 492, 528, 1245, + 1262, 1264, 1265, 1266, 1267, 1211, 536, 539, 165, 310, + 455, 576, 579, 699, 987, 473, 980, 310, 879, 535, + 815, 1244, 1127, 867, 303, 76, 166, 903, 867, 867, + 173, 1127, 815, 1244, 1244, 536, 658, 1244, 74, 1127, + 294, 179, 535, 783, 552, 40, 974, 1244, 294, 552, + 496, 197, 1242, 552, 815, 815, 783, 469, 631, 310, + 173, 492, 891, 552, 294, 50, 566, 294, 458, 732, + 294, 992, 93, 326, 709, 91, 134, 329, 441, 40, + 783, 173, 197, 552, 485, 197, 1242, 197, 686, 1242, + 1242, 485, 815, 89, 548, 1247, 453, 1247, 1247, 1244, + 173, 1244, 707, 42, 56, 113, 217, 290, 392, 159, + 65, 374, 539, 549, 159, 535, 159, 552, 159, 539, + 549, 496, 159, 539, 549, 159, 539, 197, 814, 197, + 815, 197, 815, 159, 539, 549, 1254, 159, 549, 159, + 159, 549, 159, 549, 159, 91, 134, 329, 441, 173, + 159, 549, 159, 173, 197, 159, 539, 549, 159, 539, + 549, 159, 310, 1190, 435, 536, 997, 828, 1036, 828, + 1036, 828, 1036, 828, 1036, 828, 1036, 1036, 1036, 828, + 1036, 535, 659, 660, 1259, 659, 31, 116, 140, 175, + 181, 245, 246, 328, 349, 383, 390, 397, 435, 438, + 458, 836, 1241, 1254, 833, 1244, 203, 539, 1016, 1250, + 1127, 1194, 40, 1254, 548, 536, 548, 548, 548, 253, + 1259, 173, 836, 1254, 173, 388, 1259, 579, 310, 535, + 1214, 533, 1040, 1195, 1151, 1209, 535, 535, 173, 535, + 535, 1040, 535, 535, 535, 535, 535, 535, 535, 535, + 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, + 1151, 535, 535, 535, 535, 535, 535, 535, 535, 301, + 647, 535, 535, 535, 535, 535, 535, 535, 535, 1151, + 1151, 1151, 1040, 1151, 1190, 1213, 12, 1250, 12, 535, + 1250, 3, 10, 13, 17, 18, 19, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 169, 170, 171, 172, + 174, 175, 176, 177, 178, 180, 181, 182, 183, 184, + 186, 187, 189, 190, 191, 193, 194, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 223, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 274, 275, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 307, 308, 309, 311, 312, 313, 314, 315, + 317, 318, 319, 320, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 379, 380, + 339, 340, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 430, 431, + 391, 392, 393, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, - 442, 443, 444, 446, 447, 448, 449, 450, 451, 452, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 463, - 464, 465, 466, 467, 468, 470, 475, 476, 477, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 491, 492, 494, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 1152, 1154, 1156, 1221, 1226, 473, 1135, - 309, 1118, 165, 1136, 221, 519, 1025, 12, 515, 1208, - 1180, 1025, 124, 196, 568, 519, 73, 12, 121, 559, - 40, 3, 12, 121, 248, 557, 675, 1114, 1208, 1208, - 95, 138, 1130, 104, 12, 121, 553, 554, 556, 675, - 121, 553, 243, 1200, 96, 357, 795, 516, 965, 37, - 47, 54, 80, 195, 200, 223, 244, 299, 302, 392, - 516, 519, 1020, 1201, 40, 515, 1157, 1207, 1112, 1112, - 39, 1096, 427, 427, 1207, 1207, 513, 513, 1207, 429, - 429, 429, 515, 429, 1207, 1203, 517, 1100, 176, 1061, - 15, 505, 1178, 1216, 516, 519, 968, 1016, 1016, 1034, - 1035, 1118, 1016, 167, 273, 1045, 232, 278, 340, 390, - 451, 31, 1040, 1118, 506, 507, 1041, 1042, 1118, 1120, - 1054, 1055, 1039, 1038, 1036, 1037, 170, 1057, 292, 1059, - 1036, 1054, 1075, 981, 1200, 1075, 40, 1217, 387, 1157, - 70, 429, 429, 374, 200, 212, 303, 306, 389, 461, - 508, 846, 847, 848, 850, 852, 854, 1095, 1218, 429, - 464, 429, 374, 429, 429, 374, 245, 429, 81, 429, - 420, 549, 313, 936, 938, 505, 940, 170, 182, 200, - 362, 824, 825, 74, 93, 152, 172, 330, 446, 631, - 632, 93, 121, 282, 429, 93, 429, 121, 282, 374, - 93, 134, 144, 313, 352, 756, 374, 691, 30, 68, - 139, 178, 299, 334, 367, 432, 439, 786, 787, 1202, - 156, 352, 387, 572, 297, 675, 379, 240, 429, 1217, - 429, 287, 675, 125, 222, 374, 385, 431, 551, 791, - 358, 387, 859, 872, 129, 516, 841, 846, 429, 452, - 420, 1200, 82, 152, 194, 616, 631, 1217, 82, 93, - 896, 318, 297, 369, 371, 434, 93, 896, 34, 355, - 369, 371, 434, 369, 1200, 171, 207, 292, 791, 515, - 429, 429, 193, 515, 580, 25, 254, 420, 449, 474, - 580, 93, 519, 129, 5, 5, 313, 200, 156, 352, - 387, 572, 899, 453, 453, 279, 1095, 429, 374, 515, - 877, 1202, 1200, 429, 429, 374, 872, 129, 108, 417, - 418, 908, 909, 1073, 1200, 1217, 909, 429, 429, 759, - 909, 115, 387, 563, 429, 534, 563, 429, 429, 374, - 872, 129, 1200, 429, 429, 1200, 1097, 675, 61, 674, - 675, 675, 113, 259, 263, 61, 429, 532, 267, 374, - 532, 278, 673, 429, 429, 287, 1208, 701, 791, 429, - 429, 374, 403, 337, 1208, 337, 429, 337, 429, 337, - 759, 759, 420, 1072, 318, 318, 93, 429, 896, 374, - 429, 429, 580, 580, 791, 791, 791, 791, 1200, 49, - 458, 49, 49, 429, 49, 429, 458, 374, 515, 519, - 563, 452, 717, 1211, 429, 534, 563, 1200, 429, 896, - 374, 313, 352, 340, 353, 383, 555, 928, 1158, 1158, - 1159, 516, 15, 16, 519, 1032, 1033, 514, 520, 1200, - 961, 1202, 1200, 223, 1095, 223, 297, 223, 223, 675, - 791, 791, 223, 223, 223, 1095, 223, 223, 223, 297, - 429, 176, 429, 594, 439, 515, 40, 156, 791, 760, - 761, 1220, 936, 1095, 297, 156, 688, 1202, 282, 318, - 515, 533, 773, 453, 344, 465, 1200, 31, 909, 759, - 533, 156, 1211, 100, 182, 547, 608, 668, 731, 805, - 827, 932, 156, 1208, 709, 710, 156, 297, 1208, 1211, - 251, 791, 791, 791, 791, 148, 339, 515, 717, 282, - 533, 1200, 282, 670, 672, 282, 40, 292, 318, 515, - 634, 634, 194, 665, 1200, 170, 194, 526, 1217, 515, - 763, 853, 1202, 515, 844, 844, 40, 1095, 29, 52, - 216, 732, 235, 472, 474, 1012, 376, 856, 855, 1095, - 1202, 515, 793, 1095, 842, 843, 1212, 1211, 156, 529, - 156, 453, 156, 453, 878, 879, 529, 842, 1212, 842, - 1202, 1202, 1095, 793, 1212, 717, 156, 790, 791, 1201, - 1202, 1202, 791, 516, 194, 1200, 973, 1010, 1010, 1010, - 1010, 1010, 1010, 635, 516, 519, 516, 179, 335, 368, - 382, 418, 1201, 790, 114, 384, 842, 1201, 291, 810, - 811, 1217, 842, 842, 1201, 1199, 1199, 1201, 790, 429, - 183, 472, 821, 151, 245, 714, 715, 25, 154, 369, - 390, 993, 1072, 286, 994, 516, 519, 976, 429, 1200, - 1202, 1200, 526, 807, 808, 176, 821, 808, 1217, 30, - 82, 139, 178, 236, 334, 367, 439, 786, 787, 1157, - 514, 1157, 1162, 1163, 468, 1173, 1174, 1118, 1157, 515, - 1207, 1207, 3, 12, 116, 192, 262, 265, 378, 490, - 1164, 1165, 1208, 1157, 1157, 360, 1014, 1015, 1118, 1183, - 1186, 1193, 1183, 1118, 1120, 1158, 1186, 1189, 1190, 1118, - 1190, 1157, 1207, 1207, 1118, 1118, 877, 1118, 1158, 1160, - 1167, 369, 506, 507, 515, 1119, 1120, 1154, 1168, 516, - 1157, 1118, 1160, 1169, 1118, 59, 176, 239, 430, 1118, - 1157, 1170, 136, 282, 1014, 1157, 267, 1120, 1118, 1128, - 1129, 1130, 267, 1118, 1130, 516, 519, 1116, 1207, 1116, - 1095, 1118, 1118, 1118, 1118, 1220, 427, 45, 413, 1182, - 791, 1118, 515, 1014, 1171, 136, 138, 162, 227, 274, - 275, 276, 277, 281, 282, 287, 436, 447, 1166, 1187, - 1118, 515, 1118, 429, 54, 195, 200, 244, 392, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 31, - 38, 397, 1151, 185, 1136, 369, 515, 1148, 515, 308, - 1140, 181, 248, 417, 421, 423, 449, 1026, 1200, 1198, - 1061, 1158, 1061, 1200, 431, 515, 1208, 519, 516, 193, - 193, 529, 971, 960, 964, 1118, 516, 258, 282, 1021, - 1157, 516, 516, 513, 492, 492, 516, 516, 1207, 514, - 1207, 516, 192, 262, 1117, 262, 1117, 1117, 1207, 265, - 516, 1203, 238, 370, 489, 515, 1014, 1062, 1063, 1064, - 1072, 1078, 1088, 1121, 1123, 1124, 1194, 1217, 469, 1083, - 1213, 971, 969, 519, 41, 131, 453, 836, 369, 370, - 506, 507, 1042, 1044, 1120, 390, 232, 298, 519, 5, - 1043, 1207, 1043, 369, 370, 1044, 1199, 286, 394, 995, - 1055, 1037, 453, 990, 121, 311, 515, 982, 1013, 40, - 453, 1217, 515, 997, 998, 999, 1217, 516, 1211, 1202, - 1202, 306, 61, 1218, 516, 848, 850, 847, 850, 1218, - 303, 516, 519, 792, 1211, 1202, 1202, 1211, 1202, 1202, - 1211, 464, 1202, 1202, 121, 556, 675, 364, 452, 807, - 374, 182, 807, 515, 1202, 453, 829, 232, 232, 453, - 625, 656, 194, 1202, 287, 1211, 1202, 1202, 1118, 287, - 1202, 1202, 34, 355, 429, 429, 1202, 429, 692, 855, - 515, 1095, 843, 76, 163, 879, 843, 843, 170, 1095, - 791, 1202, 188, 278, 313, 352, 457, 695, 696, 697, - 1072, 429, 896, 374, 287, 125, 222, 1211, 1202, 297, - 1202, 297, 516, 519, 1210, 1212, 1202, 352, 572, 194, - 616, 282, 1095, 1202, 1207, 1217, 1200, 1202, 243, 1202, - 31, 452, 1202, 194, 1202, 194, 1217, 371, 434, 371, - 434, 243, 1202, 31, 452, 1202, 243, 369, 1200, 27, - 141, 387, 702, 703, 704, 705, 1220, 1211, 1202, 121, - 177, 283, 453, 579, 582, 583, 1220, 261, 1202, 78, - 295, 1202, 575, 297, 429, 420, 1200, 429, 896, 374, - 129, 1202, 1202, 519, 516, 519, 1211, 1202, 902, 903, - 1220, 297, 352, 429, 725, 1211, 1202, 1202, 297, 1072, - 200, 519, 634, 634, 1180, 1211, 1202, 1202, 1210, 3, - 92, 146, 207, 320, 444, 452, 455, 535, 1211, 1202, - 1202, 297, 352, 1211, 1202, 352, 387, 572, 672, 675, - 791, 1202, 675, 791, 1202, 675, 1211, 1202, 387, 1211, - 1202, 1202, 1209, 1201, 1201, 1211, 867, 1202, 1201, 1202, - 352, 387, 572, 573, 1200, 1200, 1202, 1202, 1202, 1202, - 1211, 1202, 27, 33, 141, 313, 352, 387, 313, 352, - 387, 759, 352, 387, 352, 387, 352, 899, 1087, 1217, - 194, 769, 1217, 194, 1217, 1211, 1202, 1202, 1208, 1202, - 902, 27, 591, 384, 1210, 352, 387, 572, 1202, 1202, - 1202, 429, 429, 87, 443, 340, 519, 1032, 1032, 1032, - 1118, 1118, 461, 1159, 516, 1118, 1179, 956, 287, 797, - 1208, 40, 797, 139, 791, 797, 797, 223, 453, 453, - 797, 797, 797, 235, 797, 797, 797, 791, 336, 595, - 595, 205, 417, 730, 1118, 1095, 791, 516, 519, 505, - 622, 1220, 1202, 65, 176, 374, 464, 689, 696, 697, - 156, 292, 244, 610, 612, 614, 616, 628, 631, 28, - 200, 364, 414, 535, 536, 170, 1202, 465, 1200, 40, - 726, 418, 867, 526, 1217, 546, 609, 839, 1202, 172, - 791, 515, 658, 659, 1123, 1217, 337, 1208, 759, 759, - 759, 759, 515, 759, 1085, 1086, 1087, 384, 156, 515, - 156, 156, 155, 1013, 791, 292, 610, 1217, 453, 651, - 472, 581, 282, 40, 634, 1208, 282, 297, 3, 764, - 765, 759, 29, 516, 845, 846, 851, 40, 235, 361, - 432, 471, 857, 858, 859, 860, 857, 297, 235, 292, - 126, 215, 437, 451, 733, 734, 1202, 191, 191, 170, - 529, 40, 532, 171, 944, 945, 529, 529, 790, 791, - 1202, 791, 1202, 529, 529, 529, 529, 235, 529, 384, - 170, 529, 529, 297, 529, 282, 516, 636, 200, 200, - 200, 200, 200, 476, 1201, 675, 676, 519, 517, 185, - 813, 814, 1211, 61, 818, 819, 1220, 429, 515, 176, - 154, 390, 154, 390, 369, 451, 264, 1095, 1211, 472, - 663, 297, 813, 529, 176, 855, 791, 1095, 843, 291, - 843, 843, 1095, 791, 1202, 516, 514, 514, 519, 1118, - 143, 1174, 1175, 40, 516, 1118, 516, 516, 176, 516, - 176, 516, 516, 1095, 493, 1184, 1184, 516, 23, 287, - 519, 1192, 303, 1195, 520, 458, 516, 516, 23, 287, - 519, 1191, 1191, 516, 516, 516, 516, 519, 519, 516, - 321, 516, 516, 515, 1119, 1119, 1157, 13, 17, 18, - 19, 200, 223, 299, 503, 504, 505, 506, 507, 508, - 509, 510, 511, 1154, 1119, 516, 516, 170, 176, 392, - 516, 516, 40, 1170, 1157, 1170, 1170, 176, 516, 136, - 516, 1220, 319, 1133, 40, 516, 519, 1118, 1220, 519, - 1118, 1181, 1118, 516, 492, 1119, 1119, 149, 1157, 176, - 39, 291, 373, 458, 136, 138, 162, 281, 287, 436, - 447, 1166, 1187, 281, 472, 474, 1188, 149, 877, 1118, - 413, 1182, 1118, 1171, 1118, 429, 515, 1014, 515, 1140, - 515, 1157, 469, 515, 1141, 1217, 421, 423, 421, 423, - 1200, 1027, 1027, 1027, 1083, 1032, 1083, 929, 1207, 1116, - 554, 971, 258, 515, 516, 1207, 1115, 1115, 514, 514, - 516, 1014, 1078, 1088, 176, 515, 1014, 1063, 1064, 40, - 1065, 1066, 1217, 519, 101, 177, 211, 226, 242, 270, - 363, 1069, 1066, 40, 1065, 1068, 1217, 1066, 496, 1082, - 1180, 1118, 185, 1046, 1035, 299, 1152, 1155, 495, 837, - 5, 1207, 1044, 298, 472, 451, 1041, 253, 1062, 469, - 1084, 459, 415, 452, 983, 984, 985, 1217, 297, 986, - 1217, 1063, 999, 1000, 519, 1061, 505, 1181, 854, 792, - 850, 850, 61, 852, 510, 1212, 1212, 297, 1201, 300, - 297, 1118, 632, 1202, 515, 515, 515, 656, 205, 515, - 749, 156, 529, 429, 1211, 1202, 559, 1095, 791, 791, - 1095, 679, 1202, 188, 457, 429, 429, 679, 695, 701, - 352, 387, 572, 1202, 1202, 1202, 213, 287, 159, 846, - 312, 387, 429, 282, 156, 406, 620, 621, 749, 387, - 27, 141, 356, 357, 387, 576, 584, 585, 701, 897, - 379, 156, 529, 156, 529, 1202, 1202, 1202, 1202, 379, - 379, 243, 704, 705, 704, 516, 519, 706, 1208, 205, - 516, 519, 505, 517, 1202, 159, 1211, 1202, 352, 387, - 572, 1202, 1202, 1202, 297, 313, 352, 387, 27, 141, - 313, 352, 387, 1095, 279, 1095, 516, 519, 505, 1200, - 429, 1212, 453, 722, 159, 634, 374, 908, 469, 641, - 641, 634, 245, 320, 12, 287, 1208, 320, 1212, 450, - 159, 429, 429, 374, 403, 867, 867, 867, 312, 387, - 93, 429, 896, 374, 121, 170, 586, 166, 528, 429, - 429, 255, 255, 255, 429, 429, 374, 429, 429, 374, - 429, 374, 429, 374, 429, 129, 529, 1095, 282, 1208, - 387, 897, 156, 529, 429, 429, 516, 1202, 429, 896, - 374, 429, 1211, 1202, 516, 516, 516, 1159, 514, 1095, - 791, 223, 797, 1202, 1202, 1202, 223, 404, 405, 596, - 1208, 596, 188, 516, 516, 176, 759, 761, 279, 299, - 506, 507, 675, 762, 850, 1155, 1208, 1225, 74, 80, - 93, 121, 123, 180, 209, 282, 287, 330, 346, 446, - 623, 624, 627, 155, 468, 532, 559, 1202, 559, 301, - 699, 1200, 1200, 1200, 516, 519, 1212, 185, 364, 1212, - 1207, 439, 1200, 634, 3, 170, 727, 867, 50, 546, - 417, 708, 114, 968, 1118, 176, 519, 1201, 581, 766, - 767, 1208, 516, 519, 1202, 170, 635, 1200, 662, 1200, - 1202, 663, 515, 611, 1200, 516, 1202, 472, 474, 652, - 580, 40, 156, 1013, 651, 429, 156, 1072, 505, 516, - 519, 733, 516, 519, 121, 505, 861, 1208, 559, 417, - 849, 850, 170, 866, 53, 359, 862, 863, 860, 863, - 126, 215, 380, 451, 919, 1202, 292, 297, 302, 188, - 1013, 1095, 515, 516, 519, 529, 453, 529, 453, 529, - 1202, 1202, 717, 791, 156, 374, 374, 374, 374, 374, - 1201, 519, 811, 1217, 1211, 472, 519, 815, 1211, 519, - 821, 162, 300, 436, 820, 1074, 384, 154, 154, 114, - 278, 812, 821, 1212, 223, 223, 223, 223, 675, 223, - 223, 223, 223, 223, 1162, 425, 1118, 147, 1095, 516, - 1118, 1118, 1184, 227, 1186, 297, 297, 1183, 1186, 61, - 1192, 1183, 1183, 297, 297, 1190, 1188, 1188, 1166, 1118, - 1118, 516, 1157, 519, 1095, 1119, 1119, 1119, 1119, 136, - 138, 282, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1118, 1118, 1118, 1095, 516, 516, 516, 1157, - 516, 519, 61, 1120, 1134, 516, 1220, 1129, 327, 409, - 1132, 516, 519, 464, 1125, 40, 516, 12, 1208, 1118, - 37, 37, 1118, 516, 1118, 176, 281, 1188, 446, 446, - 1118, 516, 149, 1119, 1119, 149, 149, 1118, 1118, 1033, - 516, 1157, 519, 1118, 1142, 1217, 1027, 1027, 1027, 1027, - 1200, 1200, 1200, 1046, 516, 1046, 516, 976, 514, 1066, - 1068, 1066, 515, 484, 1120, 516, 1217, 515, 1063, 226, - 307, 1070, 1063, 1070, 226, 1069, 1070, 226, 419, 1076, - 515, 1217, 515, 304, 61, 189, 1053, 515, 837, 167, - 237, 298, 472, 426, 104, 1118, 360, 988, 458, 516, - 519, 1181, 91, 988, 297, 516, 519, 998, 1084, 1118, - 516, 510, 854, 439, 179, 368, 375, 382, 418, 440, - 826, 170, 826, 516, 515, 639, 640, 832, 1123, 1217, - 635, 635, 749, 1202, 635, 123, 209, 278, 282, 750, - 1202, 1202, 40, 453, 453, 235, 792, 1211, 1202, 429, - 896, 374, 429, 213, 1202, 61, 420, 1202, 156, 616, - 121, 1217, 88, 618, 619, 403, 180, 158, 193, 282, - 580, 532, 114, 180, 282, 403, 580, 618, 620, 673, - 387, 585, 439, 1202, 1217, 379, 703, 1202, 583, 762, - 1220, 1202, 312, 387, 429, 896, 374, 429, 159, 429, - 429, 374, 178, 299, 406, 771, 772, 178, 299, 779, - 780, 429, 429, 374, 516, 516, 516, 903, 279, 675, - 850, 904, 1155, 1208, 1225, 352, 1202, 515, 472, 723, - 1202, 641, 108, 1217, 515, 641, 1209, 12, 1208, 1208, - 1208, 1202, 1202, 1202, 1202, 1209, 61, 420, 1202, 1202, - 1202, 1202, 459, 1202, 1202, 170, 170, 354, 170, 194, - 1211, 1202, 1202, 1211, 1202, 1202, 1202, 1202, 1202, 1202, - 1202, 297, 80, 577, 156, 29, 52, 439, 1217, 1202, - 1208, 701, 1202, 1202, 1202, 1202, 1032, 516, 223, 797, - 223, 223, 223, 797, 532, 453, 601, 602, 679, 749, - 472, 474, 791, 515, 791, 1202, 1119, 34, 61, 626, - 124, 196, 123, 287, 232, 1200, 625, 178, 334, 745, - 752, 753, 1217, 688, 515, 318, 515, 611, 629, 208, - 646, 614, 1212, 1212, 1095, 515, 581, 31, 126, 215, - 380, 451, 728, 429, 724, 1211, 194, 1200, 710, 476, - 297, 516, 1062, 659, 867, 516, 519, 1087, 699, 717, - 516, 670, 40, 292, 318, 515, 978, 613, 615, 617, - 631, 1217, 318, 647, 648, 611, 646, 580, 295, 297, - 653, 1013, 665, 663, 581, 1208, 1202, 829, 762, 3, - 765, 297, 851, 1118, 1118, 519, 515, 857, 439, 519, - 46, 1118, 429, 515, 635, 1200, 734, 679, 516, 944, - 945, 1202, 1202, 529, 384, 529, 1201, 1201, 1201, 1201, - 1201, 675, 182, 814, 821, 819, 516, 1202, 114, 176, - 529, 821, 287, 800, 1208, 800, 800, 800, 223, 800, - 800, 800, 800, 800, 1118, 516, 145, 1185, 516, 287, - 287, 516, 1034, 1186, 287, 287, 1186, 1186, 516, 516, - 176, 516, 1118, 176, 136, 138, 176, 170, 149, 516, - 479, 1127, 1157, 345, 458, 61, 1134, 1120, 470, 470, - 516, 1118, 278, 1118, 519, 1126, 1097, 1118, 1118, 1118, - 233, 233, 1118, 37, 37, 1118, 1118, 149, 516, 516, - 516, 1118, 516, 318, 1143, 1200, 1200, 1200, 1200, 1053, - 12, 1208, 1053, 1208, 516, 1079, 1080, 1123, 515, 1133, - 1065, 515, 1201, 1063, 297, 453, 1071, 1063, 226, 1063, - 1205, 1086, 515, 1086, 1217, 1028, 1118, 471, 1137, 877, - 426, 292, 1197, 1013, 311, 1013, 985, 297, 515, 987, - 1118, 505, 999, 988, 439, 516, 429, 807, 176, 749, - 1118, 516, 519, 472, 80, 831, 835, 831, 516, 516, - 516, 124, 196, 207, 123, 455, 529, 1095, 1202, 1202, - 1202, 1202, 1202, 1202, 1202, 1212, 1202, 616, 121, 1217, - 699, 1209, 626, 194, 194, 287, 675, 626, 287, 1209, - 1095, 529, 529, 505, 61, 420, 1202, 1202, 1202, 1202, - 1202, 1211, 1202, 1202, 1207, 1207, 1095, 519, 1207, 1207, - 519, 1211, 1202, 1202, 429, 1118, 74, 1118, 1212, 1202, - 429, 429, 176, 200, 472, 1201, 1201, 791, 1201, 156, - 159, 791, 1208, 1208, 1095, 529, 529, 429, 516, 223, - 797, 797, 797, 797, 515, 597, 598, 532, 128, 178, - 212, 178, 1118, 282, 624, 121, 40, 867, 634, 867, - 1205, 37, 155, 200, 700, 704, 292, 610, 586, 153, - 202, 515, 384, 453, 635, 40, 1212, 722, 546, 282, - 515, 172, 1202, 658, 1208, 384, 581, 155, 1013, 791, - 292, 610, 663, 516, 519, 472, 622, 61, 651, 586, - 647, 86, 420, 654, 472, 933, 40, 654, 176, 297, - 515, 1200, 1208, 848, 868, 869, 1218, 863, 1095, 170, - 864, 1200, 176, 429, 888, 347, 735, 210, 680, 529, - 516, 529, 529, 1202, 300, 221, 813, 529, 800, 1202, - 516, 516, 516, 1118, 516, 1119, 176, 1118, 1118, 1118, - 515, 516, 519, 516, 1134, 516, 458, 400, 516, 204, - 278, 1131, 1118, 1118, 1118, 516, 61, 1032, 1137, 1137, - 377, 1022, 516, 519, 40, 1081, 121, 1093, 1094, 1119, - 83, 1201, 516, 1118, 515, 1063, 1071, 515, 516, 1086, - 516, 103, 186, 366, 515, 1047, 1048, 1049, 1050, 1051, - 1052, 1118, 1138, 1139, 1217, 1032, 516, 1010, 983, 93, - 830, 832, 137, 468, 1002, 1003, 1118, 813, 297, 813, - 516, 201, 637, 640, 299, 877, 791, 527, 791, 346, - 637, 637, 516, 429, 387, 994, 622, 40, 156, 156, - 577, 762, 1212, 1202, 429, 515, 843, 877, 879, 772, - 515, 515, 780, 1202, 516, 515, 516, 387, 994, 1202, - 1202, 515, 515, 515, 472, 496, 953, 354, 953, 953, - 170, 1202, 577, 1202, 797, 603, 604, 1220, 56, 102, - 127, 145, 149, 171, 175, 190, 287, 338, 599, 597, - 1208, 843, 40, 884, 884, 516, 193, 515, 453, 655, - 256, 638, 655, 515, 753, 745, 515, 516, 519, 1200, - 516, 384, 31, 85, 88, 94, 122, 180, 193, 206, - 403, 406, 630, 630, 1199, 1202, 1202, 516, 1013, 723, - 156, 114, 699, 176, 1202, 40, 1202, 663, 611, 1200, - 516, 615, 301, 1217, 652, 647, 651, 126, 141, 327, - 1202, 66, 74, 248, 1013, 791, 1072, 830, 176, 748, - 850, 516, 519, 439, 147, 525, 862, 865, 1083, 398, - 398, 516, 272, 296, 736, 737, 738, 170, 741, 679, - 278, 457, 681, 682, 1202, 821, 170, 1119, 1128, 1157, - 278, 491, 204, 516, 1157, 187, 339, 370, 1144, 60, - 130, 113, 1023, 1082, 1079, 515, 1119, 516, 519, 40, - 1089, 1090, 1217, 516, 1201, 1157, 516, 515, 388, 515, - 516, 519, 519, 40, 1037, 458, 1202, 516, 519, 283, - 451, 257, 282, 1003, 815, 826, 529, 831, 515, 867, - 515, 836, 580, 1200, 867, 867, 1202, 420, 193, 453, - 578, 387, 994, 1202, 1161, 170, 775, 775, 1161, 1161, - 1118, 420, 1157, 1157, 587, 588, 1219, 790, 791, 790, - 791, 1201, 529, 516, 519, 508, 515, 556, 605, 675, - 950, 1208, 950, 282, 287, 338, 950, 950, 1083, 884, - 44, 198, 278, 633, 515, 671, 1118, 205, 177, 317, - 393, 297, 642, 643, 644, 516, 1205, 6, 754, 704, - 611, 646, 1202, 516, 699, 163, 774, 581, 933, 1200, - 476, 1062, 699, 1013, 978, 647, 611, 646, 622, 515, - 653, 651, 652, 370, 370, 74, 300, 74, 663, 829, - 516, 1200, 749, 857, 868, 1095, 518, 137, 472, 472, - 737, 369, 417, 739, 142, 742, 468, 744, 457, 679, - 699, 529, 1118, 516, 516, 458, 54, 104, 442, 1118, - 1145, 1146, 1145, 1145, 516, 167, 167, 635, 1086, 519, - 1094, 1220, 516, 519, 170, 1095, 516, 516, 1157, 515, - 1157, 1048, 1139, 1141, 1055, 1013, 1083, 832, 387, 37, - 1004, 257, 176, 635, 655, 877, 837, 836, 634, 655, - 655, 1202, 671, 1118, 420, 516, 303, 377, 343, 776, - 776, 516, 516, 516, 1202, 516, 516, 516, 519, 1207, - 953, 604, 556, 606, 607, 1208, 1208, 287, 635, 508, - 635, 1208, 1208, 207, 672, 516, 420, 126, 451, 297, - 644, 297, 643, 515, 516, 519, 586, 384, 699, 791, - 40, 40, 515, 1202, 933, 663, 651, 586, 647, 515, - 649, 650, 1123, 1217, 654, 652, 653, 300, 300, 515, - 201, 833, 170, 863, 32, 216, 920, 178, 178, 950, - 369, 402, 743, 515, 155, 1146, 369, 169, 325, 169, - 325, 152, 1147, 1147, 1147, 61, 61, 387, 516, 1120, - 1090, 304, 3, 121, 282, 287, 1091, 1092, 40, 1067, - 353, 1077, 516, 1047, 516, 997, 1118, 425, 1004, 813, - 516, 641, 516, 837, 638, 749, 749, 994, 1202, 843, - 61, 994, 429, 587, 791, 516, 519, 635, 516, 407, - 1202, 65, 278, 358, 387, 645, 645, 516, 6, 384, - 1202, 771, 1013, 699, 652, 647, 651, 1118, 516, 519, - 835, 835, 653, 654, 830, 515, 625, 142, 283, 515, - 915, 917, 921, 980, 989, 996, 1013, 1024, 843, 843, - 740, 1217, 1118, 745, 37, 104, 185, 278, 426, 635, - 635, 1217, 1133, 1119, 1119, 287, 1092, 1217, 515, 516, - 1083, 126, 137, 451, 1005, 1006, 425, 529, 749, 642, - 994, 791, 515, 607, 26, 121, 287, 1202, 699, 933, - 653, 651, 652, 516, 650, 527, 527, 654, 516, 832, - 834, 581, 369, 916, 917, 918, 1014, 1015, 519, 519, - 516, 1205, 1146, 369, 305, 387, 387, 429, 453, 83, - 1118, 283, 387, 137, 215, 1007, 749, 1157, 634, 634, - 699, 654, 652, 653, 835, 833, 516, 519, 654, 744, - 516, 518, 429, 176, 515, 1217, 1217, 1205, 1206, 1217, - 1089, 516, 997, 283, 121, 311, 459, 515, 1008, 516, - 653, 654, 527, 625, 832, 1083, 155, 918, 398, 398, - 5, 746, 747, 1207, 1208, 1220, 515, 121, 516, 459, - 983, 515, 984, 654, 581, 745, 472, 472, 516, 519, - 1158, 1206, 458, 1157, 516, 654, 1205, 178, 178, 747, - 1032, 453, 1008, 516, 311, 1008, 1083, 515, 843, 843, - 516, 1217, 983, 746, 458, 516, 1008 + 442, 443, 444, 445, 446, 447, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 483, 484, + 485, 486, 487, 488, 490, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 511, 512, 514, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 1185, 1187, 1189, 1263, 1268, 493, 1168, 322, + 1151, 168, 1169, 224, 539, 1051, 12, 535, 1250, 1213, + 1051, 125, 199, 588, 539, 73, 12, 122, 579, 40, + 3, 12, 122, 258, 577, 699, 1146, 1250, 1250, 96, + 139, 1163, 105, 12, 122, 573, 574, 576, 699, 122, + 573, 253, 1242, 97, 373, 819, 536, 989, 37, 47, + 54, 80, 198, 203, 226, 254, 312, 315, 408, 536, + 539, 1046, 1243, 40, 535, 1190, 1249, 1144, 1144, 39, + 1128, 446, 446, 1249, 1249, 533, 533, 1249, 448, 448, + 448, 535, 448, 1249, 1245, 537, 1132, 179, 1087, 15, + 525, 1211, 1258, 536, 539, 992, 1042, 1042, 1060, 1061, + 1151, 1042, 170, 285, 1071, 242, 290, 356, 406, 471, + 31, 1066, 1151, 526, 527, 1067, 1068, 1151, 1153, 1080, + 1081, 1065, 1064, 1062, 1063, 173, 1083, 304, 1085, 1062, + 1080, 1101, 1005, 1242, 1101, 40, 1259, 403, 1190, 70, + 448, 448, 390, 203, 215, 316, 319, 405, 481, 528, + 870, 871, 872, 874, 876, 878, 1127, 1260, 448, 484, + 448, 390, 448, 448, 390, 255, 448, 81, 448, 438, + 569, 326, 960, 962, 525, 964, 173, 185, 203, 378, + 848, 849, 74, 94, 294, 655, 656, 94, 122, 294, + 448, 94, 448, 122, 294, 390, 94, 135, 146, 326, + 368, 780, 390, 715, 30, 68, 140, 181, 312, 349, + 383, 451, 458, 810, 811, 1244, 159, 368, 403, 592, + 310, 699, 395, 250, 448, 1259, 448, 299, 699, 126, + 225, 390, 401, 450, 571, 815, 374, 403, 883, 896, + 130, 536, 865, 870, 448, 472, 438, 1242, 74, 82, + 94, 155, 175, 197, 345, 466, 638, 653, 654, 1259, + 82, 94, 920, 331, 310, 385, 387, 453, 94, 920, + 34, 371, 385, 387, 453, 385, 1242, 174, 210, 304, + 815, 535, 448, 448, 196, 535, 600, 25, 264, 438, + 469, 494, 600, 94, 539, 130, 5, 5, 326, 203, + 159, 368, 403, 592, 923, 473, 473, 291, 1127, 448, + 390, 535, 901, 1244, 1242, 448, 448, 390, 896, 130, + 109, 435, 436, 932, 933, 1099, 1242, 1259, 933, 448, + 448, 783, 933, 116, 403, 583, 448, 554, 583, 448, + 448, 390, 896, 130, 1242, 448, 448, 1242, 1129, 699, + 61, 698, 699, 699, 114, 269, 274, 61, 448, 552, + 278, 390, 552, 290, 697, 448, 448, 299, 1250, 725, + 815, 448, 448, 390, 420, 352, 1250, 352, 448, 352, + 448, 352, 783, 783, 438, 1098, 331, 331, 94, 448, + 920, 390, 448, 448, 600, 600, 815, 815, 815, 815, + 1242, 49, 478, 49, 49, 478, 448, 49, 448, 478, + 390, 535, 539, 583, 472, 741, 1253, 448, 554, 583, + 1242, 448, 920, 390, 326, 368, 356, 369, 399, 575, + 952, 1191, 1191, 1192, 536, 15, 16, 539, 1058, 1059, + 534, 540, 1242, 985, 1244, 1242, 226, 1127, 226, 310, + 226, 226, 699, 815, 815, 226, 226, 226, 1127, 226, + 226, 226, 310, 448, 179, 448, 616, 458, 535, 40, + 159, 815, 784, 785, 1262, 960, 1127, 310, 159, 712, + 1244, 294, 331, 535, 553, 797, 473, 360, 485, 1242, + 31, 933, 783, 553, 159, 1253, 101, 185, 567, 630, + 692, 755, 829, 851, 956, 159, 1250, 733, 734, 159, + 310, 1250, 1253, 261, 815, 815, 815, 815, 150, 355, + 535, 741, 294, 553, 1242, 294, 694, 696, 294, 40, + 304, 331, 535, 658, 658, 197, 689, 1242, 173, 197, + 546, 1259, 535, 787, 877, 1244, 535, 868, 868, 40, + 1127, 29, 52, 219, 756, 245, 492, 494, 1038, 392, + 880, 879, 1127, 1244, 535, 817, 1127, 866, 867, 1254, + 1253, 159, 549, 159, 473, 159, 473, 902, 903, 549, + 866, 1254, 866, 1244, 1244, 1127, 817, 1254, 741, 159, + 814, 815, 1243, 1244, 1244, 815, 536, 197, 1242, 997, + 1036, 1036, 1036, 1036, 1036, 1036, 659, 536, 539, 536, + 182, 350, 384, 398, 436, 1243, 814, 115, 400, 866, + 1243, 303, 834, 835, 1259, 866, 866, 1243, 1241, 1241, + 1243, 814, 448, 186, 492, 845, 154, 255, 738, 739, + 25, 157, 385, 406, 1017, 1098, 298, 1018, 536, 539, + 1000, 448, 1242, 1244, 1242, 546, 831, 832, 179, 845, + 832, 1259, 30, 82, 140, 181, 246, 349, 383, 458, + 810, 811, 1190, 534, 1190, 1195, 1196, 488, 1206, 1207, + 1151, 1190, 535, 1249, 1249, 3, 12, 117, 195, 273, + 276, 394, 510, 1197, 1198, 1250, 1190, 1190, 1151, 1224, + 376, 1040, 1041, 1224, 1228, 1235, 1224, 1224, 1151, 1153, + 1191, 1228, 1231, 1232, 1151, 1232, 1224, 1151, 1224, 1224, + 1190, 1249, 1249, 536, 1151, 1151, 901, 1151, 1191, 1193, + 1200, 385, 526, 527, 535, 1152, 1153, 1187, 1201, 536, + 1190, 1151, 1193, 1202, 1151, 59, 179, 249, 449, 1151, + 1190, 1203, 137, 294, 1040, 1190, 278, 1153, 1151, 1161, + 1162, 1163, 278, 1151, 1163, 536, 539, 1148, 1249, 1148, + 1127, 1151, 1151, 1151, 1151, 1262, 258, 446, 45, 431, + 1215, 815, 1151, 535, 1040, 1204, 137, 139, 165, 230, + 286, 287, 288, 289, 293, 294, 299, 455, 467, 1199, + 1229, 1151, 535, 1151, 448, 54, 198, 203, 254, 408, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 31, 38, 413, 1184, 188, 1169, 385, 535, 1181, 535, + 321, 1173, 184, 258, 435, 440, 442, 469, 1052, 1242, + 1240, 1087, 1191, 1087, 1242, 450, 535, 1250, 539, 536, + 196, 196, 549, 995, 984, 988, 1151, 536, 268, 294, + 1047, 1190, 536, 536, 533, 512, 512, 536, 536, 1249, + 534, 1249, 536, 195, 273, 1149, 273, 1149, 1149, 1249, + 276, 536, 1245, 230, 239, 248, 386, 509, 535, 1040, + 1088, 1089, 1090, 1098, 1104, 1114, 1121, 1154, 1156, 1157, + 1236, 1259, 489, 1109, 1255, 995, 993, 539, 41, 132, + 473, 860, 385, 386, 526, 527, 1068, 1070, 1153, 406, + 242, 311, 539, 5, 1069, 1249, 1069, 385, 386, 1070, + 1241, 298, 410, 1019, 1081, 1063, 473, 1014, 122, 324, + 535, 1006, 1039, 40, 473, 1259, 535, 1021, 1022, 1023, + 1259, 536, 1253, 1244, 1244, 319, 61, 1260, 536, 872, + 874, 871, 874, 1260, 316, 536, 539, 816, 1253, 1244, + 1244, 1253, 1244, 1244, 1253, 484, 1244, 1244, 122, 576, + 699, 380, 472, 831, 390, 185, 831, 535, 1244, 299, + 197, 1244, 299, 1253, 1244, 1244, 1151, 299, 1244, 1244, + 34, 371, 448, 448, 1244, 448, 716, 879, 535, 1127, + 867, 76, 166, 903, 867, 867, 173, 1127, 815, 1244, + 191, 290, 326, 368, 477, 719, 720, 721, 1098, 448, + 920, 390, 299, 126, 225, 1253, 1244, 310, 1244, 310, + 536, 539, 1252, 1254, 1244, 368, 592, 535, 197, 638, + 1244, 473, 853, 242, 294, 242, 473, 647, 680, 1127, + 1244, 1249, 1259, 1242, 1244, 253, 1244, 31, 472, 1244, + 197, 1244, 197, 1259, 387, 453, 387, 453, 253, 1244, + 31, 472, 1244, 253, 385, 1242, 27, 142, 403, 726, + 727, 728, 729, 1262, 1253, 1244, 122, 180, 295, 473, + 599, 602, 603, 1262, 272, 1244, 78, 307, 1244, 595, + 310, 448, 438, 1242, 448, 920, 390, 130, 1244, 1244, + 539, 536, 539, 1253, 1244, 926, 927, 1262, 310, 368, + 448, 749, 1253, 1244, 1244, 310, 1098, 203, 539, 658, + 658, 1213, 1253, 1244, 1244, 1252, 3, 93, 148, 210, + 333, 464, 472, 475, 555, 1253, 1244, 1244, 310, 368, + 1253, 1244, 368, 403, 592, 696, 699, 815, 1244, 699, + 815, 1244, 699, 1253, 1244, 403, 1253, 1244, 1244, 122, + 606, 1251, 1243, 1243, 1253, 891, 1244, 1243, 1244, 368, + 403, 592, 593, 1242, 1242, 1244, 1244, 1244, 1244, 1253, + 1244, 27, 33, 142, 326, 368, 403, 326, 368, 403, + 783, 368, 403, 368, 403, 368, 923, 1113, 1259, 197, + 793, 1259, 197, 1259, 1250, 1253, 1244, 1244, 1250, 1244, + 926, 27, 142, 613, 400, 1252, 368, 403, 592, 1244, + 1244, 1244, 448, 448, 87, 463, 356, 539, 1058, 1058, + 1058, 1151, 1151, 481, 1192, 536, 1151, 1212, 980, 299, + 821, 1250, 40, 821, 140, 815, 821, 821, 226, 473, + 473, 821, 821, 821, 245, 821, 821, 821, 815, 351, + 617, 617, 208, 435, 754, 1151, 1127, 815, 536, 539, + 525, 644, 1262, 1244, 65, 179, 390, 484, 713, 720, + 721, 159, 304, 254, 632, 634, 636, 638, 650, 653, + 28, 203, 380, 432, 555, 556, 173, 1244, 485, 1242, + 40, 750, 436, 891, 546, 1259, 566, 631, 863, 1244, + 175, 815, 535, 682, 683, 1156, 1259, 352, 1250, 783, + 783, 783, 783, 535, 783, 1111, 1112, 1113, 400, 159, + 535, 159, 159, 158, 1039, 815, 304, 632, 1259, 473, + 675, 492, 601, 294, 40, 658, 1250, 294, 310, 3, + 788, 789, 783, 29, 536, 869, 870, 875, 40, 245, + 377, 451, 491, 881, 882, 883, 884, 881, 310, 245, + 304, 127, 218, 456, 471, 757, 758, 1244, 194, 194, + 173, 549, 40, 552, 174, 968, 969, 549, 549, 814, + 815, 1244, 815, 1244, 549, 549, 549, 549, 245, 549, + 400, 173, 549, 549, 310, 549, 294, 536, 660, 203, + 203, 203, 203, 203, 496, 1243, 699, 700, 539, 537, + 188, 837, 838, 1253, 61, 842, 843, 1262, 448, 535, + 179, 157, 406, 157, 406, 385, 471, 275, 1127, 1253, + 492, 687, 310, 837, 549, 179, 879, 815, 1127, 867, + 303, 867, 867, 1127, 815, 1244, 536, 534, 534, 539, + 1151, 144, 1207, 1208, 40, 536, 1151, 536, 536, 179, + 536, 179, 536, 536, 513, 1225, 1226, 492, 494, 1230, + 1127, 1226, 536, 23, 299, 539, 1234, 316, 1237, 539, + 540, 478, 536, 536, 23, 299, 539, 1233, 1233, 539, + 536, 1228, 539, 536, 536, 536, 536, 539, 539, 536, + 335, 536, 536, 535, 1152, 1152, 1190, 13, 17, 18, + 19, 203, 226, 312, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 1187, 1152, 536, 536, 173, 179, 408, + 536, 536, 40, 1203, 1190, 1203, 1203, 179, 536, 137, + 536, 1262, 332, 1166, 40, 536, 539, 1151, 1262, 539, + 1151, 1214, 1151, 536, 512, 1152, 1152, 152, 1190, 179, + 39, 303, 389, 478, 137, 139, 165, 293, 299, 455, + 467, 1199, 1229, 293, 1230, 152, 901, 1151, 431, 1215, + 1151, 1204, 1151, 448, 535, 1040, 535, 1173, 535, 1190, + 489, 535, 1174, 1259, 440, 442, 440, 442, 1242, 1053, + 1053, 1053, 1109, 1058, 1109, 953, 1249, 1148, 574, 995, + 268, 535, 536, 1249, 1147, 1147, 534, 534, 536, 535, + 1040, 1104, 1114, 1121, 179, 535, 1040, 1089, 1090, 40, + 1091, 1092, 1259, 539, 102, 180, 214, 229, 252, 281, + 379, 1095, 1092, 40, 1091, 1094, 1259, 1092, 1092, 516, + 1108, 1213, 1151, 188, 1072, 1061, 312, 1185, 1188, 515, + 861, 5, 1249, 1070, 311, 492, 471, 1067, 263, 1088, + 489, 1110, 479, 433, 472, 1007, 1008, 1009, 1259, 310, + 1010, 1259, 1089, 1023, 1024, 539, 1087, 525, 1214, 878, + 816, 874, 874, 61, 876, 530, 1254, 1254, 310, 1243, + 313, 310, 1151, 656, 773, 159, 549, 448, 1253, 1244, + 579, 1127, 815, 815, 1127, 703, 1244, 191, 477, 448, + 448, 703, 719, 725, 368, 403, 592, 1244, 1244, 1244, + 216, 299, 162, 870, 325, 403, 448, 1151, 294, 155, + 654, 1244, 535, 535, 159, 535, 680, 208, 535, 773, + 423, 642, 643, 773, 403, 27, 142, 372, 373, 403, + 596, 604, 605, 725, 921, 395, 159, 549, 159, 549, + 1244, 1244, 1244, 1244, 395, 395, 253, 728, 729, 728, + 536, 539, 730, 1250, 208, 536, 539, 525, 537, 122, + 607, 1259, 162, 1253, 1244, 368, 403, 592, 1244, 1244, + 1244, 310, 326, 368, 403, 27, 142, 326, 368, 403, + 1127, 291, 1127, 536, 539, 525, 1242, 448, 1254, 473, + 746, 162, 658, 390, 932, 489, 665, 665, 658, 255, + 333, 12, 299, 1250, 333, 1254, 470, 162, 448, 448, + 390, 420, 891, 891, 891, 325, 403, 94, 448, 920, + 390, 122, 173, 608, 169, 548, 448, 448, 265, 265, + 265, 448, 448, 390, 448, 448, 390, 448, 390, 448, + 390, 448, 130, 549, 1127, 294, 1250, 403, 921, 159, + 549, 448, 448, 536, 1244, 448, 920, 390, 448, 1253, + 1244, 536, 536, 536, 1192, 534, 1127, 815, 226, 821, + 1244, 1244, 1244, 226, 421, 422, 618, 1250, 618, 191, + 536, 536, 179, 783, 785, 291, 312, 526, 527, 699, + 786, 874, 1188, 1250, 1267, 74, 80, 94, 122, 124, + 183, 212, 294, 299, 345, 362, 466, 645, 646, 649, + 158, 488, 552, 579, 1244, 579, 314, 723, 1242, 1242, + 1242, 536, 539, 1254, 188, 380, 1254, 1249, 458, 1242, + 658, 3, 173, 751, 891, 50, 566, 435, 732, 115, + 992, 1151, 179, 539, 1243, 601, 790, 791, 1250, 536, + 539, 1244, 173, 659, 1242, 686, 1242, 1244, 687, 535, + 633, 1242, 536, 1244, 492, 494, 676, 600, 40, 159, + 1039, 675, 448, 159, 1098, 525, 536, 539, 757, 536, + 539, 122, 525, 885, 1250, 579, 435, 873, 874, 173, + 890, 53, 375, 886, 887, 884, 887, 127, 218, 396, + 471, 943, 1244, 304, 310, 315, 191, 1039, 1127, 535, + 536, 539, 549, 473, 549, 473, 549, 1244, 1244, 741, + 815, 159, 390, 390, 390, 390, 390, 1243, 539, 835, + 1259, 1253, 492, 539, 839, 1253, 539, 845, 165, 313, + 455, 844, 1100, 400, 157, 157, 115, 290, 836, 845, + 1254, 226, 226, 226, 226, 699, 226, 226, 226, 226, + 226, 1195, 444, 1151, 149, 1127, 536, 1151, 1151, 230, + 466, 466, 536, 1226, 1228, 310, 310, 1224, 1228, 61, + 1234, 1151, 1224, 1224, 310, 310, 1232, 1230, 1230, 1151, + 536, 1151, 1199, 1151, 1151, 536, 1190, 539, 1127, 1152, + 1152, 1152, 1152, 137, 139, 294, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1151, 1151, 1151, 1127, + 536, 536, 536, 1190, 536, 539, 61, 1153, 1167, 536, + 1262, 1162, 342, 427, 1165, 536, 539, 484, 1158, 40, + 536, 12, 1250, 1151, 37, 37, 1151, 536, 1151, 179, + 293, 1230, 1151, 536, 152, 1152, 1152, 152, 152, 1151, + 1151, 1059, 536, 1190, 539, 1151, 1175, 1259, 1053, 1053, + 1053, 1053, 1242, 1242, 1242, 1072, 536, 1072, 536, 1000, + 534, 1224, 1092, 1094, 1092, 1092, 535, 504, 1153, 536, + 1259, 535, 1089, 229, 320, 1096, 1089, 1096, 229, 1095, + 1096, 229, 437, 1102, 535, 1259, 535, 317, 61, 192, + 1079, 535, 861, 170, 247, 311, 492, 445, 105, 1151, + 376, 1012, 478, 536, 539, 1214, 92, 1012, 310, 536, + 539, 1022, 1110, 1151, 536, 530, 878, 458, 182, 384, + 391, 398, 436, 459, 850, 173, 850, 536, 124, 212, + 290, 294, 774, 1244, 1244, 40, 473, 473, 245, 816, + 1253, 1244, 448, 920, 390, 448, 216, 1244, 61, 438, + 1244, 536, 159, 535, 663, 664, 856, 1156, 1259, 659, + 638, 659, 773, 1244, 659, 122, 1259, 88, 640, 641, + 420, 183, 161, 196, 294, 600, 552, 115, 161, 183, + 294, 420, 600, 640, 642, 697, 403, 605, 458, 1244, + 1259, 395, 727, 1244, 603, 786, 1262, 1244, 325, 403, + 448, 920, 390, 448, 162, 448, 448, 390, 181, 312, + 423, 795, 796, 181, 312, 803, 804, 448, 448, 390, + 536, 536, 536, 927, 291, 699, 874, 928, 1188, 1250, + 1267, 368, 1244, 535, 492, 747, 1244, 665, 109, 1259, + 535, 665, 1251, 12, 1250, 1250, 1250, 1244, 1244, 1244, + 1244, 606, 61, 438, 1244, 1244, 1244, 1244, 479, 1244, + 1244, 173, 173, 370, 173, 197, 1253, 1244, 1244, 1253, + 1244, 1244, 1244, 1244, 1244, 1244, 1244, 310, 80, 597, + 159, 29, 52, 458, 1259, 1244, 1250, 725, 1244, 1244, + 1244, 1244, 1058, 536, 226, 821, 226, 226, 226, 821, + 552, 473, 623, 624, 703, 773, 492, 494, 815, 535, + 815, 1244, 1152, 34, 61, 648, 125, 199, 124, 299, + 242, 1242, 647, 181, 349, 769, 776, 777, 1259, 712, + 535, 331, 535, 633, 651, 211, 670, 636, 1254, 1254, + 1127, 535, 601, 31, 127, 218, 396, 471, 752, 448, + 748, 1253, 197, 1242, 734, 496, 310, 536, 1088, 683, + 891, 536, 539, 1113, 723, 741, 536, 694, 40, 304, + 331, 535, 1002, 635, 637, 639, 653, 1259, 331, 671, + 672, 633, 670, 600, 307, 310, 677, 1039, 689, 687, + 601, 1250, 1244, 853, 786, 3, 789, 310, 875, 1151, + 1151, 539, 535, 881, 458, 539, 46, 1151, 448, 535, + 659, 1242, 758, 703, 536, 968, 969, 1244, 1244, 549, + 400, 549, 1243, 1243, 1243, 1243, 1243, 699, 185, 838, + 845, 843, 536, 1244, 115, 179, 549, 845, 299, 824, + 1250, 824, 824, 824, 226, 824, 824, 824, 824, 824, + 1151, 536, 147, 243, 243, 536, 299, 299, 536, 1060, + 1228, 332, 1216, 299, 299, 1228, 1228, 1216, 1216, 536, + 536, 179, 536, 1151, 179, 137, 139, 179, 173, 152, + 536, 499, 1160, 1190, 361, 478, 61, 1167, 1153, 490, + 490, 536, 1151, 290, 1151, 539, 1159, 1129, 1151, 1151, + 1151, 1151, 37, 37, 1151, 1151, 152, 536, 536, 536, + 1151, 536, 331, 1176, 1242, 1242, 1242, 1242, 1079, 12, + 1250, 1079, 1250, 536, 539, 1105, 1106, 1156, 535, 1166, + 1091, 535, 1243, 1089, 310, 473, 1097, 1089, 229, 1089, + 1247, 1112, 535, 1112, 1259, 1054, 1151, 491, 1170, 901, + 445, 304, 1239, 1039, 324, 1039, 1009, 310, 535, 1011, + 1151, 525, 1023, 1012, 458, 536, 448, 831, 179, 773, + 125, 199, 210, 124, 475, 549, 1127, 1244, 1244, 1244, + 1244, 1244, 1244, 1244, 1254, 1244, 773, 638, 1151, 536, + 539, 492, 80, 855, 859, 855, 536, 536, 536, 122, + 1259, 723, 606, 648, 197, 197, 299, 699, 40, 648, + 299, 606, 1127, 549, 549, 525, 61, 438, 1244, 1244, + 1244, 1244, 1244, 1253, 1244, 1244, 1249, 1249, 1127, 539, + 1249, 1249, 539, 1253, 1244, 1244, 448, 1151, 74, 1151, + 1254, 1244, 448, 448, 179, 203, 492, 1243, 1243, 815, + 1243, 159, 162, 815, 1250, 1250, 1127, 549, 549, 448, + 536, 226, 821, 821, 821, 821, 535, 619, 620, 552, + 129, 181, 215, 181, 1151, 294, 646, 122, 40, 891, + 658, 891, 1247, 37, 158, 203, 724, 728, 304, 632, + 608, 156, 205, 535, 400, 473, 659, 40, 1254, 746, + 566, 294, 535, 175, 1244, 682, 1250, 400, 601, 158, + 1039, 815, 304, 632, 687, 536, 539, 492, 644, 61, + 675, 608, 671, 86, 438, 678, 492, 957, 40, 678, + 179, 310, 535, 1242, 1250, 872, 892, 893, 1260, 887, + 1127, 173, 888, 1242, 179, 448, 912, 363, 759, 213, + 704, 549, 536, 549, 549, 1244, 313, 224, 837, 549, + 824, 1244, 536, 1217, 1218, 1224, 122, 145, 151, 165, + 299, 455, 467, 1220, 1221, 1223, 536, 536, 1228, 1228, + 1151, 536, 1152, 179, 1151, 1151, 1151, 535, 536, 539, + 536, 1167, 536, 478, 417, 536, 207, 290, 1164, 1151, + 1151, 1151, 536, 61, 1058, 1170, 1170, 393, 1048, 1151, + 536, 539, 40, 1107, 122, 1119, 1120, 1152, 83, 1243, + 536, 1151, 535, 1089, 1097, 535, 536, 1112, 536, 104, + 189, 382, 535, 1073, 1074, 1075, 1076, 1077, 1078, 1151, + 1171, 1172, 1259, 1058, 536, 1036, 1007, 94, 854, 856, + 138, 488, 1026, 1027, 1028, 1029, 1151, 837, 310, 837, + 536, 448, 403, 1018, 536, 204, 661, 664, 312, 901, + 815, 547, 815, 362, 661, 661, 644, 40, 159, 159, + 535, 597, 786, 1254, 1244, 448, 535, 867, 901, 903, + 796, 535, 535, 804, 1244, 536, 535, 536, 403, 1018, + 1244, 1244, 535, 535, 535, 492, 516, 977, 370, 977, + 977, 173, 1244, 597, 1244, 821, 625, 626, 1262, 56, + 103, 128, 147, 152, 174, 178, 193, 299, 353, 621, + 619, 1250, 867, 40, 908, 908, 536, 196, 535, 473, + 679, 266, 662, 679, 535, 777, 769, 535, 536, 539, + 1242, 536, 400, 31, 85, 88, 95, 123, 183, 196, + 209, 420, 423, 652, 652, 1241, 1244, 1244, 536, 1039, + 747, 159, 115, 723, 179, 1244, 40, 1244, 687, 633, + 1242, 536, 637, 314, 1259, 676, 671, 675, 127, 142, + 342, 1244, 66, 74, 258, 1039, 815, 1098, 854, 179, + 772, 874, 536, 539, 458, 149, 545, 886, 889, 1109, + 415, 415, 536, 284, 308, 760, 761, 762, 173, 765, + 703, 290, 477, 705, 706, 1244, 845, 539, 40, 1151, + 39, 303, 310, 536, 492, 494, 1219, 1220, 1222, 173, + 1152, 1161, 1190, 290, 511, 207, 536, 1190, 190, 355, + 386, 1177, 60, 131, 114, 1049, 40, 1122, 1108, 1105, + 535, 1152, 536, 539, 40, 1115, 1116, 1259, 536, 1243, + 1190, 536, 535, 404, 535, 536, 539, 539, 40, 1063, + 478, 1244, 536, 539, 295, 471, 267, 294, 1012, 1027, + 37, 1030, 1030, 839, 850, 549, 1244, 438, 855, 535, + 891, 535, 860, 600, 1242, 891, 891, 196, 1151, 473, + 598, 403, 1018, 1244, 1194, 173, 799, 799, 1194, 1194, + 1151, 438, 1190, 1190, 609, 610, 1261, 814, 815, 814, + 815, 1243, 549, 536, 539, 122, 528, 535, 576, 627, + 699, 974, 1250, 974, 294, 299, 353, 974, 974, 1109, + 908, 44, 201, 290, 657, 535, 695, 1151, 208, 180, + 330, 409, 310, 666, 667, 668, 536, 1247, 6, 778, + 728, 633, 670, 1244, 536, 723, 166, 798, 601, 957, + 1242, 496, 1088, 723, 1039, 1002, 671, 633, 670, 644, + 535, 677, 675, 676, 386, 386, 74, 313, 74, 687, + 853, 536, 1242, 773, 881, 892, 1127, 538, 138, 492, + 492, 761, 385, 435, 763, 143, 766, 488, 768, 477, + 703, 723, 549, 1218, 1262, 151, 39, 90, 462, 496, + 39, 496, 241, 309, 1227, 310, 536, 1151, 536, 536, + 478, 54, 105, 461, 1151, 1178, 1179, 1178, 1178, 536, + 170, 170, 659, 1244, 1216, 1112, 539, 1120, 1262, 536, + 539, 173, 1127, 536, 536, 1190, 535, 1190, 1074, 1172, + 1174, 1081, 1039, 1109, 856, 403, 267, 1151, 444, 444, + 179, 1244, 659, 679, 901, 861, 860, 658, 679, 679, + 695, 536, 1151, 438, 536, 316, 393, 359, 800, 800, + 536, 536, 536, 1244, 536, 536, 536, 539, 1249, 977, + 626, 576, 628, 629, 1250, 1250, 299, 528, 659, 528, + 659, 1250, 1250, 210, 696, 536, 438, 127, 471, 310, + 668, 310, 667, 535, 536, 539, 608, 400, 723, 815, + 40, 40, 535, 1244, 957, 687, 675, 608, 671, 535, + 673, 674, 1156, 1259, 678, 676, 677, 313, 313, 535, + 204, 857, 173, 887, 32, 219, 944, 181, 181, 974, + 385, 419, 767, 535, 158, 496, 39, 496, 39, 496, + 496, 354, 354, 1222, 145, 151, 1179, 385, 172, 340, + 172, 340, 155, 1180, 1180, 1180, 61, 61, 403, 83, + 536, 1153, 1116, 317, 3, 122, 294, 299, 334, 1117, + 1118, 40, 1093, 369, 1103, 536, 1073, 536, 1021, 61, + 127, 138, 471, 1031, 1032, 138, 218, 1033, 837, 1018, + 536, 665, 536, 861, 662, 773, 773, 1244, 867, 61, + 1018, 448, 609, 815, 536, 539, 528, 659, 536, 424, + 1244, 65, 290, 374, 403, 669, 669, 536, 6, 400, + 1244, 795, 1039, 723, 676, 671, 675, 1151, 536, 539, + 859, 859, 677, 678, 854, 535, 647, 143, 295, 535, + 939, 941, 945, 1004, 1013, 1020, 1039, 1050, 867, 867, + 764, 1259, 1151, 769, 496, 496, 310, 310, 536, 1220, + 37, 105, 188, 290, 445, 659, 659, 1259, 535, 1166, + 1152, 1152, 299, 1152, 1118, 1259, 535, 536, 1109, 414, + 439, 295, 403, 295, 122, 324, 479, 535, 1034, 549, + 773, 666, 1018, 815, 535, 629, 26, 122, 299, 1244, + 723, 957, 677, 675, 676, 536, 674, 547, 547, 678, + 536, 856, 858, 601, 385, 940, 941, 942, 1040, 1041, + 539, 539, 536, 1247, 389, 389, 310, 1179, 385, 318, + 403, 403, 448, 473, 283, 1123, 1124, 1259, 83, 1151, + 1021, 479, 1007, 535, 1008, 773, 1190, 658, 658, 723, + 678, 676, 677, 859, 857, 536, 539, 678, 768, 536, + 538, 448, 179, 535, 426, 426, 151, 1259, 1259, 230, + 1247, 1248, 1259, 334, 1125, 536, 539, 173, 1127, 1115, + 536, 478, 1190, 536, 536, 677, 678, 547, 647, 856, + 1109, 158, 942, 415, 415, 5, 770, 771, 1249, 1250, + 1262, 535, 122, 1250, 1223, 1124, 317, 159, 334, 1126, + 1225, 536, 1034, 536, 324, 1034, 678, 601, 769, 492, + 492, 536, 539, 1191, 1248, 40, 83, 536, 1126, 1250, + 1219, 1126, 1007, 678, 1247, 181, 181, 771, 1058, 473, + 1244, 535, 1223, 1227, 1219, 478, 1109, 535, 867, 867, + 536, 1259, 83, 1123, 1222, 1227, 1034, 770, 535, 536, + 1222, 536, 1123, 536 }; #define yyerrok (yyerrstatus = 0) @@ -30682,7 +32343,7 @@ YYLTYPE yylloc; switch (yyn) { case 2: -#line 890 "gram.y" +#line 924 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list); (void) yynerrs; /* suppress compiler warning */ @@ -30690,14 +32351,14 @@ YYLTYPE yylloc; break; case 3: -#line 895 "gram.y" +#line 929 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[(2) - (2)].typnam)); ;} break; case 4: -#line 899 "gram.y" +#line 933 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = list_make1(makeRawStmt((yyvsp[(2) - (2)].node), 0)); @@ -30705,7 +32366,7 @@ YYLTYPE yylloc; break; case 5: -#line 904 "gram.y" +#line 938 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -30716,7 +32377,7 @@ YYLTYPE yylloc; break; case 6: -#line 912 "gram.y" +#line 946 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -30727,7 +32388,7 @@ YYLTYPE yylloc; break; case 7: -#line 920 "gram.y" +#line 954 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -30738,7 +32399,7 @@ YYLTYPE yylloc; break; case 8: -#line 940 "gram.y" +#line 974 "gram.y" { if ((yyvsp[(1) - (3)].list) != NIL) { @@ -30753,7 +32414,7 @@ YYLTYPE yylloc; break; case 9: -#line 952 "gram.y" +#line 986 "gram.y" { if ((yyvsp[(1) - (1)].node) != NULL) (yyval.list) = list_make1(makeRawStmt((yyvsp[(1) - (1)].node), 0)); @@ -30763,57 +32424,57 @@ YYLTYPE yylloc; break; case 136: -#line 1095 "gram.y" +#line 1129 "gram.y" { (yyval.node) = NULL; ;} break; case 137: -#line 1102 "gram.y" +#line 1136 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 138: -#line 1103 "gram.y" +#line 1137 "gram.y" { (yyval.str) = NULL; ;} break; case 139: -#line 1107 "gram.y" +#line 1141 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; case 140: -#line 1108 "gram.y" +#line 1142 "gram.y" { (yyval.list) = NIL; ;} break; case 141: -#line 1112 "gram.y" +#line 1146 "gram.y" { (yyval.boolean) = true; ;} break; case 142: -#line 1113 "gram.y" +#line 1147 "gram.y" { (yyval.boolean) = false; ;} break; case 143: -#line 1117 "gram.y" +#line 1151 "gram.y" { (yyval.dbehavior) = DROP_CASCADE; ;} break; case 144: -#line 1118 "gram.y" +#line 1152 "gram.y" { (yyval.dbehavior) = DROP_RESTRICT; ;} break; case 145: -#line 1119 "gram.y" +#line 1153 "gram.y" { (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;} break; case 146: -#line 1129 "gram.y" +#line 1163 "gram.y" { CallStmt *n = makeNode(CallStmt); @@ -30823,7 +32484,7 @@ YYLTYPE yylloc; break; case 147: -#line 1145 "gram.y" +#line 1179 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -30835,27 +32496,27 @@ YYLTYPE yylloc; break; case 151: -#line 1167 "gram.y" +#line 1201 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; case 152: -#line 1168 "gram.y" +#line 1202 "gram.y" { (yyval.list) = NIL; ;} break; case 153: -#line 1172 "gram.y" +#line 1206 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; case 154: -#line 1173 "gram.y" +#line 1207 "gram.y" { (yyval.list) = NIL; ;} break; case 155: -#line 1178 "gram.y" +#line 1212 "gram.y" { (yyval.defelt) = makeDefElem("password", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); @@ -30863,7 +32524,7 @@ YYLTYPE yylloc; break; case 156: -#line 1183 "gram.y" +#line 1217 "gram.y" { (yyval.defelt) = makeDefElem("password", (Node *)makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])), (yylsp[(1) - (2)])); @@ -30871,14 +32532,14 @@ YYLTYPE yylloc; break; case 157: -#line 1188 "gram.y" +#line 1222 "gram.y" { (yyval.defelt) = makeDefElem("password", NULL, (yylsp[(1) - (2)])); ;} break; case 158: -#line 1192 "gram.y" +#line 1226 "gram.y" { /* * These days, passwords are always stored in encrypted @@ -30891,7 +32552,7 @@ YYLTYPE yylloc; break; case 159: -#line 1202 "gram.y" +#line 1236 "gram.y" { /* * These days, passwords are always stored in encrypted @@ -30904,7 +32565,7 @@ YYLTYPE yylloc; break; case 160: -#line 1212 "gram.y" +#line 1246 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -30915,35 +32576,35 @@ YYLTYPE yylloc; break; case 161: -#line 1220 "gram.y" +#line 1254 "gram.y" { (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; case 162: -#line 1224 "gram.y" +#line 1258 "gram.y" { (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)])); ;} break; case 163: -#line 1228 "gram.y" +#line 1262 "gram.y" { (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; case 164: -#line 1233 "gram.y" +#line 1267 "gram.y" { (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; case 165: -#line 1237 "gram.y" +#line 1271 "gram.y" { /* * We handle identifiers that aren't parser keywords with @@ -30991,47 +32652,47 @@ YYLTYPE yylloc; break; case 166: -#line 1284 "gram.y" +#line 1318 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; case 167: -#line 1287 "gram.y" +#line 1321 "gram.y" { (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)])); ;} break; case 168: -#line 1291 "gram.y" +#line 1325 "gram.y" { (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; case 169: -#line 1295 "gram.y" +#line 1329 "gram.y" { (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; case 170: -#line 1299 "gram.y" +#line 1333 "gram.y" { (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; case 171: -#line 1303 "gram.y" +#line 1337 "gram.y" { (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; case 172: -#line 1317 "gram.y" +#line 1351 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -31043,7 +32704,7 @@ YYLTYPE yylloc; break; case 173: -#line 1336 "gram.y" +#line 1370 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -31055,7 +32716,7 @@ YYLTYPE yylloc; break; case 174: -#line 1345 "gram.y" +#line 1379 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -31067,17 +32728,17 @@ YYLTYPE yylloc; break; case 175: -#line 1356 "gram.y" +#line 1390 "gram.y" { (yyval.str) = NULL; ;} break; case 176: -#line 1357 "gram.y" +#line 1391 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].str); ;} break; case 177: -#line 1362 "gram.y" +#line 1396 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -31089,7 +32750,7 @@ YYLTYPE yylloc; break; case 178: -#line 1371 "gram.y" +#line 1405 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -31101,7 +32762,7 @@ YYLTYPE yylloc; break; case 179: -#line 1380 "gram.y" +#line 1414 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -31113,7 +32774,7 @@ YYLTYPE yylloc; break; case 180: -#line 1389 "gram.y" +#line 1423 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -31125,7 +32786,7 @@ YYLTYPE yylloc; break; case 181: -#line 1411 "gram.y" +#line 1445 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31136,7 +32797,7 @@ YYLTYPE yylloc; break; case 182: -#line 1419 "gram.y" +#line 1453 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31147,7 +32808,7 @@ YYLTYPE yylloc; break; case 183: -#line 1427 "gram.y" +#line 1461 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31158,7 +32819,7 @@ YYLTYPE yylloc; break; case 184: -#line 1435 "gram.y" +#line 1469 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31169,7 +32830,7 @@ YYLTYPE yylloc; break; case 185: -#line 1443 "gram.y" +#line 1477 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31180,7 +32841,7 @@ YYLTYPE yylloc; break; case 186: -#line 1451 "gram.y" +#line 1485 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -31191,7 +32852,7 @@ YYLTYPE yylloc; break; case 187: -#line 1469 "gram.y" +#line 1503 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -31203,7 +32864,7 @@ YYLTYPE yylloc; break; case 188: -#line 1488 "gram.y" +#line 1522 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -31216,17 +32877,17 @@ YYLTYPE yylloc; break; case 189: -#line 1499 "gram.y" +#line 1533 "gram.y" { (yyval.ival) = +1; ;} break; case 190: -#line 1500 "gram.y" +#line 1534 "gram.y" { (yyval.ival) = -1; ;} break; case 191: -#line 1512 "gram.y" +#line 1546 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -31240,7 +32901,7 @@ YYLTYPE yylloc; break; case 192: -#line 1523 "gram.y" +#line 1557 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -31254,7 +32915,7 @@ YYLTYPE yylloc; break; case 193: -#line 1534 "gram.y" +#line 1568 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -31273,7 +32934,7 @@ YYLTYPE yylloc; break; case 194: -#line 1550 "gram.y" +#line 1584 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -31292,7 +32953,7 @@ YYLTYPE yylloc; break; case 195: -#line 1569 "gram.y" +#line 1603 "gram.y" { if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */ (yyloc) = (yylsp[(2) - (2)]); @@ -31301,12 +32962,12 @@ YYLTYPE yylloc; break; case 196: -#line 1575 "gram.y" +#line 1609 "gram.y" { (yyval.list) = NIL; ;} break; case 203: -#line 1603 "gram.y" +#line 1637 "gram.y" { VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt); @@ -31316,7 +32977,7 @@ YYLTYPE yylloc; break; case 204: -#line 1610 "gram.y" +#line 1644 "gram.y" { VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); @@ -31326,7 +32987,7 @@ YYLTYPE yylloc; break; case 205: -#line 1617 "gram.y" +#line 1651 "gram.y" { VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); @@ -31336,7 +32997,7 @@ YYLTYPE yylloc; break; case 206: -#line 1627 "gram.y" +#line 1661 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31348,7 +33009,7 @@ YYLTYPE yylloc; break; case 207: -#line 1636 "gram.y" +#line 1670 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31360,7 +33021,7 @@ YYLTYPE yylloc; break; case 209: -#line 1649 "gram.y" +#line 1683 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31372,7 +33033,7 @@ YYLTYPE yylloc; break; case 210: -#line 1658 "gram.y" +#line 1692 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31384,7 +33045,7 @@ YYLTYPE yylloc; break; case 211: -#line 1667 "gram.y" +#line 1701 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31395,7 +33056,7 @@ YYLTYPE yylloc; break; case 212: -#line 1675 "gram.y" +#line 1709 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31406,12 +33067,12 @@ YYLTYPE yylloc; break; case 213: -#line 1685 "gram.y" +#line 1719 "gram.y" {(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;} break; case 214: -#line 1687 "gram.y" +#line 1721 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31422,7 +33083,7 @@ YYLTYPE yylloc; break; case 215: -#line 1696 "gram.y" +#line 1730 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31437,7 +33098,7 @@ YYLTYPE yylloc; break; case 216: -#line 1708 "gram.y" +#line 1742 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -31448,7 +33109,7 @@ YYLTYPE yylloc; break; case 217: -#line 1716 "gram.y" +#line 1750 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31460,7 +33121,7 @@ YYLTYPE yylloc; break; case 218: -#line 1725 "gram.y" +#line 1759 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -31471,7 +33132,7 @@ YYLTYPE yylloc; break; case 219: -#line 1733 "gram.y" +#line 1767 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31486,7 +33147,7 @@ YYLTYPE yylloc; break; case 220: -#line 1745 "gram.y" +#line 1779 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31498,7 +33159,7 @@ YYLTYPE yylloc; break; case 221: -#line 1754 "gram.y" +#line 1788 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -31509,7 +33170,7 @@ YYLTYPE yylloc; break; case 222: -#line 1762 "gram.y" +#line 1796 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31521,7 +33182,7 @@ YYLTYPE yylloc; break; case 223: -#line 1771 "gram.y" +#line 1805 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -31532,7 +33193,7 @@ YYLTYPE yylloc; break; case 224: -#line 1779 "gram.y" +#line 1813 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31543,7 +33204,7 @@ YYLTYPE yylloc; break; case 225: -#line 1787 "gram.y" +#line 1821 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31555,7 +33216,7 @@ YYLTYPE yylloc; break; case 226: -#line 1797 "gram.y" +#line 1831 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31567,103 +33228,103 @@ YYLTYPE yylloc; break; case 227: -#line 1807 "gram.y" +#line 1841 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 228: -#line 1809 "gram.y" +#line 1843 "gram.y" { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;} break; case 229: -#line 1812 "gram.y" +#line 1846 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; case 230: -#line 1813 "gram.y" +#line 1847 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; case 231: -#line 1817 "gram.y" +#line 1851 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; case 232: -#line 1819 "gram.y" +#line 1853 "gram.y" { (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;} break; case 233: -#line 1821 "gram.y" +#line 1855 "gram.y" { (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; case 234: -#line 1824 "gram.y" +#line 1858 "gram.y" { (yyval.str) = "read uncommitted"; ;} break; case 235: -#line 1825 "gram.y" +#line 1859 "gram.y" { (yyval.str) = "read committed"; ;} break; case 236: -#line 1826 "gram.y" +#line 1860 "gram.y" { (yyval.str) = "repeatable read"; ;} break; case 237: -#line 1827 "gram.y" +#line 1861 "gram.y" { (yyval.str) = "serializable"; ;} break; case 238: -#line 1831 "gram.y" +#line 1865 "gram.y" { (yyval.str) = "true"; ;} break; case 239: -#line 1832 "gram.y" +#line 1866 "gram.y" { (yyval.str) = "false"; ;} break; case 240: -#line 1833 "gram.y" +#line 1867 "gram.y" { (yyval.str) = "on"; ;} break; case 241: -#line 1839 "gram.y" +#line 1873 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 242: -#line 1852 "gram.y" +#line 1886 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; case 243: -#line 1856 "gram.y" +#line 1890 "gram.y" { (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; case 244: -#line 1860 "gram.y" +#line 1894 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; case 245: -#line 1864 "gram.y" +#line 1898 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); @@ -31683,7 +33344,7 @@ YYLTYPE yylloc; break; case 246: -#line 1881 "gram.y" +#line 1915 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); @@ -31694,57 +33355,57 @@ YYLTYPE yylloc; break; case 247: -#line 1888 "gram.y" +#line 1922 "gram.y" { (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;} break; case 248: -#line 1889 "gram.y" +#line 1923 "gram.y" { (yyval.node) = NULL; ;} break; case 249: -#line 1890 "gram.y" +#line 1924 "gram.y" { (yyval.node) = NULL; ;} break; case 250: -#line 1894 "gram.y" +#line 1928 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 251: -#line 1895 "gram.y" +#line 1929 "gram.y" { (yyval.str) = NULL; ;} break; case 252: -#line 1896 "gram.y" +#line 1930 "gram.y" { (yyval.str) = NULL; ;} break; case 253: -#line 1900 "gram.y" +#line 1934 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 254: -#line 1901 "gram.y" +#line 1935 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; case 255: -#line 1905 "gram.y" +#line 1939 "gram.y" { (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;} break; case 256: -#line 1909 "gram.y" +#line 1943 "gram.y" { (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;} break; case 257: -#line 1911 "gram.y" +#line 1945 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31755,7 +33416,7 @@ YYLTYPE yylloc; break; case 258: -#line 1919 "gram.y" +#line 1953 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31766,7 +33427,7 @@ YYLTYPE yylloc; break; case 259: -#line 1927 "gram.y" +#line 1961 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31777,7 +33438,7 @@ YYLTYPE yylloc; break; case 260: -#line 1938 "gram.y" +#line 1972 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31788,7 +33449,7 @@ YYLTYPE yylloc; break; case 261: -#line 1946 "gram.y" +#line 1980 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -31798,27 +33459,27 @@ YYLTYPE yylloc; break; case 262: -#line 1956 "gram.y" +#line 1990 "gram.y" { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;} break; case 263: -#line 1957 "gram.y" +#line 1991 "gram.y" { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;} break; case 264: -#line 1962 "gram.y" +#line 1996 "gram.y" { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;} break; case 265: -#line 1963 "gram.y" +#line 1997 "gram.y" { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;} break; case 266: -#line 1969 "gram.y" +#line 2003 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -31828,7 +33489,7 @@ YYLTYPE yylloc; break; case 267: -#line 1976 "gram.y" +#line 2010 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -31838,7 +33499,7 @@ YYLTYPE yylloc; break; case 268: -#line 1983 "gram.y" +#line 2017 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -31848,7 +33509,7 @@ YYLTYPE yylloc; break; case 269: -#line 1990 "gram.y" +#line 2024 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -31858,7 +33519,7 @@ YYLTYPE yylloc; break; case 270: -#line 1997 "gram.y" +#line 2031 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -31868,7 +33529,7 @@ YYLTYPE yylloc; break; case 271: -#line 2008 "gram.y" +#line 2042 "gram.y" { ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt); @@ -31879,27 +33540,27 @@ YYLTYPE yylloc; break; case 272: -#line 2018 "gram.y" +#line 2052 "gram.y" { (yyval.list) = NIL; ;} break; case 273: -#line 2019 "gram.y" +#line 2053 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; case 274: -#line 2023 "gram.y" +#line 2057 "gram.y" { (yyval.boolean) = true; ;} break; case 275: -#line 2024 "gram.y" +#line 2058 "gram.y" { (yyval.boolean) = false; ;} break; case 276: -#line 2033 "gram.y" +#line 2067 "gram.y" { CheckPointStmt *n = makeNode(CheckPointStmt); @@ -31908,7 +33569,7 @@ YYLTYPE yylloc; break; case 277: -#line 2049 "gram.y" +#line 2083 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -31918,7 +33579,7 @@ YYLTYPE yylloc; break; case 278: -#line 2056 "gram.y" +#line 2090 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -31928,7 +33589,7 @@ YYLTYPE yylloc; break; case 279: -#line 2063 "gram.y" +#line 2097 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -31938,7 +33599,7 @@ YYLTYPE yylloc; break; case 280: -#line 2070 "gram.y" +#line 2104 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -31948,7 +33609,7 @@ YYLTYPE yylloc; break; case 281: -#line 2077 "gram.y" +#line 2111 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -31958,7 +33619,7 @@ YYLTYPE yylloc; break; case 282: -#line 2097 "gram.y" +#line 2131 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31971,7 +33632,7 @@ YYLTYPE yylloc; break; case 283: -#line 2107 "gram.y" +#line 2141 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31984,7 +33645,7 @@ YYLTYPE yylloc; break; case 284: -#line 2117 "gram.y" +#line 2151 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31997,7 +33658,7 @@ YYLTYPE yylloc; break; case 285: -#line 2127 "gram.y" +#line 2161 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32010,7 +33671,7 @@ YYLTYPE yylloc; break; case 286: -#line 2137 "gram.y" +#line 2171 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32025,7 +33686,7 @@ YYLTYPE yylloc; break; case 287: -#line 2149 "gram.y" +#line 2183 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32040,7 +33701,7 @@ YYLTYPE yylloc; break; case 288: -#line 2161 "gram.y" +#line 2195 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32053,7 +33714,7 @@ YYLTYPE yylloc; break; case 289: -#line 2171 "gram.y" +#line 2205 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32066,7 +33727,7 @@ YYLTYPE yylloc; break; case 290: -#line 2181 "gram.y" +#line 2215 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32079,7 +33740,7 @@ YYLTYPE yylloc; break; case 291: -#line 2191 "gram.y" +#line 2225 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32094,7 +33755,7 @@ YYLTYPE yylloc; break; case 292: -#line 2203 "gram.y" +#line 2237 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32109,7 +33770,7 @@ YYLTYPE yylloc; break; case 293: -#line 2215 "gram.y" +#line 2249 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32122,7 +33783,7 @@ YYLTYPE yylloc; break; case 294: -#line 2225 "gram.y" +#line 2259 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32135,7 +33796,7 @@ YYLTYPE yylloc; break; case 295: -#line 2235 "gram.y" +#line 2269 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32148,7 +33809,7 @@ YYLTYPE yylloc; break; case 296: -#line 2245 "gram.y" +#line 2279 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32161,7 +33822,7 @@ YYLTYPE yylloc; break; case 297: -#line 2255 "gram.y" +#line 2289 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32174,7 +33835,7 @@ YYLTYPE yylloc; break; case 298: -#line 2265 "gram.y" +#line 2299 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32187,7 +33848,7 @@ YYLTYPE yylloc; break; case 299: -#line 2275 "gram.y" +#line 2309 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32202,7 +33863,7 @@ YYLTYPE yylloc; break; case 300: -#line 2287 "gram.y" +#line 2321 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -32217,7 +33878,7 @@ YYLTYPE yylloc; break; case 301: -#line 2299 "gram.y" +#line 2333 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32230,7 +33891,7 @@ YYLTYPE yylloc; break; case 302: -#line 2309 "gram.y" +#line 2343 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32243,17 +33904,17 @@ YYLTYPE yylloc; break; case 303: -#line 2321 "gram.y" +#line 2355 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; case 304: -#line 2322 "gram.y" +#line 2356 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; case 305: -#line 2328 "gram.y" +#line 2362 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -32269,7 +33930,7 @@ YYLTYPE yylloc; break; case 306: -#line 2342 "gram.y" +#line 2376 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -32285,7 +33946,7 @@ YYLTYPE yylloc; break; case 307: -#line 2355 "gram.y" +#line 2389 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -32300,7 +33961,7 @@ YYLTYPE yylloc; break; case 308: -#line 2371 "gram.y" +#line 2405 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -32316,7 +33977,7 @@ YYLTYPE yylloc; break; case 309: -#line 2388 "gram.y" +#line 2422 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32328,7 +33989,7 @@ YYLTYPE yylloc; break; case 310: -#line 2398 "gram.y" +#line 2432 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32340,7 +34001,7 @@ YYLTYPE yylloc; break; case 311: -#line 2408 "gram.y" +#line 2442 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32352,7 +34013,7 @@ YYLTYPE yylloc; break; case 312: -#line 2418 "gram.y" +#line 2452 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32364,7 +34025,7 @@ YYLTYPE yylloc; break; case 313: -#line 2428 "gram.y" +#line 2462 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32376,7 +34037,7 @@ YYLTYPE yylloc; break; case 314: -#line 2438 "gram.y" +#line 2472 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32387,7 +34048,7 @@ YYLTYPE yylloc; break; case 315: -#line 2447 "gram.y" +#line 2481 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32398,7 +34059,19 @@ YYLTYPE yylloc; break; case 316: -#line 2456 "gram.y" +#line 2490 "gram.y" + { + AlterTableCmd *n = makeNode(AlterTableCmd); + + n->subtype = AT_SetExpression; + n->name = (yyvsp[(3) - (9)].str); + n->def = (yyvsp[(8) - (9)].node); + (yyval.node) = (Node *) n; + ;} + break; + + case 317: +#line 2500 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32408,8 +34081,8 @@ YYLTYPE yylloc; ;} break; - case 317: -#line 2465 "gram.y" + case 318: +#line 2509 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32420,20 +34093,20 @@ YYLTYPE yylloc; ;} break; - case 318: -#line 2475 "gram.y" + case 319: +#line 2519 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetStatistics; n->name = (yyvsp[(3) - (6)].str); - n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival)); + n->def = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 319: -#line 2485 "gram.y" + case 320: +#line 2529 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32445,13 +34118,13 @@ YYLTYPE yylloc; n->subtype = AT_SetStatistics; n->num = (int16) (yyvsp[(3) - (6)].ival); - n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival)); + n->def = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 320: -#line 2501 "gram.y" + case 321: +#line 2545 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32462,8 +34135,8 @@ YYLTYPE yylloc; ;} break; - case 321: -#line 2511 "gram.y" + case 322: +#line 2555 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32474,8 +34147,8 @@ YYLTYPE yylloc; ;} break; - case 322: -#line 2521 "gram.y" + case 323: +#line 2565 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32486,8 +34159,8 @@ YYLTYPE yylloc; ;} break; - case 323: -#line 2531 "gram.y" + case 324: +#line 2575 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32498,8 +34171,8 @@ YYLTYPE yylloc; ;} break; - case 324: -#line 2541 "gram.y" + case 325: +#line 2585 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); Constraint *c = makeNode(Constraint); @@ -32517,8 +34190,8 @@ YYLTYPE yylloc; ;} break; - case 325: -#line 2558 "gram.y" + case 326: +#line 2602 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32529,8 +34202,8 @@ YYLTYPE yylloc; ;} break; - case 326: -#line 2568 "gram.y" + case 327: +#line 2612 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32541,8 +34214,8 @@ YYLTYPE yylloc; ;} break; - case 327: -#line 2578 "gram.y" + case 328: +#line 2622 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32553,8 +34226,8 @@ YYLTYPE yylloc; ;} break; - case 328: -#line 2588 "gram.y" + case 329: +#line 2632 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32566,8 +34239,8 @@ YYLTYPE yylloc; ;} break; - case 329: -#line 2599 "gram.y" + case 330: +#line 2643 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32579,8 +34252,8 @@ YYLTYPE yylloc; ;} break; - case 330: -#line 2613 "gram.y" + case 331: +#line 2657 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); ColumnDef *def = makeNode(ColumnDef); @@ -32597,8 +34270,8 @@ YYLTYPE yylloc; ;} break; - case 331: -#line 2629 "gram.y" + case 332: +#line 2673 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32609,8 +34282,8 @@ YYLTYPE yylloc; ;} break; - case 332: -#line 2639 "gram.y" + case 333: +#line 2683 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32620,8 +34293,8 @@ YYLTYPE yylloc; ;} break; - case 333: -#line 2648 "gram.y" + case 334: +#line 2692 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); Constraint *c = makeNode(Constraint); @@ -32638,8 +34311,8 @@ YYLTYPE yylloc; ;} break; - case 334: -#line 2664 "gram.y" + case 335: +#line 2708 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32649,8 +34322,8 @@ YYLTYPE yylloc; ;} break; - case 335: -#line 2673 "gram.y" + case 336: +#line 2717 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32662,8 +34335,8 @@ YYLTYPE yylloc; ;} break; - case 336: -#line 2684 "gram.y" + case 337: +#line 2728 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32675,8 +34348,8 @@ YYLTYPE yylloc; ;} break; - case 337: -#line 2695 "gram.y" + case 338: +#line 2739 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32685,8 +34358,8 @@ YYLTYPE yylloc; ;} break; - case 338: -#line 2703 "gram.y" + case 339: +#line 2747 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32696,8 +34369,8 @@ YYLTYPE yylloc; ;} break; - case 339: -#line 2712 "gram.y" + case 340: +#line 2756 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32707,8 +34380,8 @@ YYLTYPE yylloc; ;} break; - case 340: -#line 2721 "gram.y" + case 341: +#line 2765 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32717,8 +34390,8 @@ YYLTYPE yylloc; ;} break; - case 341: -#line 2729 "gram.y" + case 342: +#line 2773 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32727,8 +34400,8 @@ YYLTYPE yylloc; ;} break; - case 342: -#line 2737 "gram.y" + case 343: +#line 2781 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32738,8 +34411,8 @@ YYLTYPE yylloc; ;} break; - case 343: -#line 2746 "gram.y" + case 344: +#line 2790 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32749,8 +34422,8 @@ YYLTYPE yylloc; ;} break; - case 344: -#line 2755 "gram.y" + case 345: +#line 2799 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32760,8 +34433,8 @@ YYLTYPE yylloc; ;} break; - case 345: -#line 2764 "gram.y" + case 346: +#line 2808 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32770,8 +34443,8 @@ YYLTYPE yylloc; ;} break; - case 346: -#line 2772 "gram.y" + case 347: +#line 2816 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32780,8 +34453,8 @@ YYLTYPE yylloc; ;} break; - case 347: -#line 2780 "gram.y" + case 348: +#line 2824 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32791,8 +34464,8 @@ YYLTYPE yylloc; ;} break; - case 348: -#line 2789 "gram.y" + case 349: +#line 2833 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32801,8 +34474,8 @@ YYLTYPE yylloc; ;} break; - case 349: -#line 2797 "gram.y" + case 350: +#line 2841 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32811,8 +34484,8 @@ YYLTYPE yylloc; ;} break; - case 350: -#line 2805 "gram.y" + case 351: +#line 2849 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32822,8 +34495,8 @@ YYLTYPE yylloc; ;} break; - case 351: -#line 2814 "gram.y" + case 352: +#line 2858 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32833,8 +34506,8 @@ YYLTYPE yylloc; ;} break; - case 352: -#line 2823 "gram.y" + case 353: +#line 2867 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32844,8 +34517,8 @@ YYLTYPE yylloc; ;} break; - case 353: -#line 2832 "gram.y" + case 354: +#line 2876 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32855,8 +34528,8 @@ YYLTYPE yylloc; ;} break; - case 354: -#line 2841 "gram.y" + case 355: +#line 2885 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32866,8 +34539,8 @@ YYLTYPE yylloc; ;} break; - case 355: -#line 2850 "gram.y" + case 356: +#line 2894 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32877,8 +34550,8 @@ YYLTYPE yylloc; ;} break; - case 356: -#line 2859 "gram.y" + case 357: +#line 2903 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list)); @@ -32890,8 +34563,8 @@ YYLTYPE yylloc; ;} break; - case 357: -#line 2870 "gram.y" + case 358: +#line 2914 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32900,8 +34573,8 @@ YYLTYPE yylloc; ;} break; - case 358: -#line 2878 "gram.y" + case 359: +#line 2922 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32911,8 +34584,8 @@ YYLTYPE yylloc; ;} break; - case 359: -#line 2887 "gram.y" + case 360: +#line 2931 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32922,8 +34595,8 @@ YYLTYPE yylloc; ;} break; - case 360: -#line 2896 "gram.y" + case 361: +#line 2940 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32933,8 +34606,8 @@ YYLTYPE yylloc; ;} break; - case 361: -#line 2905 "gram.y" + case 362: +#line 2949 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32944,8 +34617,8 @@ YYLTYPE yylloc; ;} break; - case 362: -#line 2914 "gram.y" + case 363: +#line 2958 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32955,8 +34628,8 @@ YYLTYPE yylloc; ;} break; - case 363: -#line 2923 "gram.y" + case 364: +#line 2967 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32966,8 +34639,8 @@ YYLTYPE yylloc; ;} break; - case 364: -#line 2932 "gram.y" + case 365: +#line 2976 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32976,8 +34649,8 @@ YYLTYPE yylloc; ;} break; - case 365: -#line 2940 "gram.y" + case 366: +#line 2984 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32986,8 +34659,8 @@ YYLTYPE yylloc; ;} break; - case 366: -#line 2948 "gram.y" + case 367: +#line 2992 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32996,8 +34669,8 @@ YYLTYPE yylloc; ;} break; - case 367: -#line 2956 "gram.y" + case 368: +#line 3000 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -33006,8 +34679,8 @@ YYLTYPE yylloc; ;} break; - case 368: -#line 2963 "gram.y" + case 369: +#line 3007 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -33017,18 +34690,18 @@ YYLTYPE yylloc; ;} break; - case 369: -#line 2973 "gram.y" + case 370: +#line 3017 "gram.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; - case 370: -#line 2974 "gram.y" + case 371: +#line 3018 "gram.y" { (yyval.node) = NULL; ;} break; - case 371: -#line 2979 "gram.y" + case 372: +#line 3023 "gram.y" { CollateClause *n = makeNode(CollateClause); @@ -33039,23 +34712,23 @@ YYLTYPE yylloc; ;} break; - case 372: -#line 2987 "gram.y" + case 373: +#line 3031 "gram.y" { (yyval.node) = NULL; ;} break; - case 373: -#line 2991 "gram.y" + case 374: +#line 3035 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 374: -#line 2992 "gram.y" + case 375: +#line 3036 "gram.y" { (yyval.node) = NULL; ;} break; - case 375: -#line 2997 "gram.y" + case 376: +#line 3041 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -33065,8 +34738,8 @@ YYLTYPE yylloc; ;} break; - case 376: -#line 3005 "gram.y" + case 377: +#line 3049 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -33076,8 +34749,8 @@ YYLTYPE yylloc; ;} break; - case 377: -#line 3013 "gram.y" + case 378: +#line 3057 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -33087,8 +34760,8 @@ YYLTYPE yylloc; ;} break; - case 378: -#line 3021 "gram.y" + case 379: +#line 3065 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -33098,86 +34771,86 @@ YYLTYPE yylloc; ;} break; - case 379: -#line 3031 "gram.y" + case 380: +#line 3075 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 380: -#line 3034 "gram.y" + case 381: +#line 3078 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 381: -#line 3035 "gram.y" + case 382: +#line 3079 "gram.y" { (yyval.list) = NIL; ;} break; - case 382: -#line 3039 "gram.y" + case 383: +#line 3083 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 383: -#line 3040 "gram.y" + case 384: +#line 3084 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 384: -#line 3046 "gram.y" + case 385: +#line 3090 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 385: -#line 3050 "gram.y" + case 386: +#line 3094 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} break; - case 386: -#line 3054 "gram.y" + case 387: +#line 3098 "gram.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node), DEFELEM_UNSPEC, (yylsp[(1) - (5)])); ;} break; - case 387: -#line 3059 "gram.y" + case 388: +#line 3103 "gram.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)])); ;} break; - case 388: -#line 3066 "gram.y" + case 389: +#line 3110 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 389: -#line 3068 "gram.y" + case 390: +#line 3112 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 390: -#line 3073 "gram.y" + case 391: +#line 3117 "gram.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)])); ;} break; - case 391: -#line 3077 "gram.y" + case 392: +#line 3121 "gram.y" { (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 392: -#line 3081 "gram.y" + case 393: +#line 3125 "gram.y" { if (strcmp((yyvsp[(2) - (2)].defelt)->defname, "as") == 0 || strcmp((yyvsp[(2) - (2)].defelt)->defname, "restart") == 0 || @@ -33190,15 +34863,35 @@ YYLTYPE yylloc; ;} break; - case 393: -#line 3092 "gram.y" + case 394: +#line 3136 "gram.y" { (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)])); ;} break; - case 394: -#line 3100 "gram.y" + case 395: +#line 3142 "gram.y" + { (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;} + break; + + case 396: +#line 3143 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 397: +#line 3147 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + break; + + case 398: +#line 3148 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 399: +#line 3154 "gram.y" { ListCell *lc; PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -33251,8 +34944,8 @@ YYLTYPE yylloc; ;} break; - case 395: -#line 3153 "gram.y" + case 400: +#line 3207 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -33265,8 +34958,8 @@ YYLTYPE yylloc; ;} break; - case 396: -#line 3166 "gram.y" + case 401: +#line 3220 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -33280,8 +34973,8 @@ YYLTYPE yylloc; ;} break; - case 397: -#line 3180 "gram.y" + case 402: +#line 3234 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -33292,29 +34985,29 @@ YYLTYPE yylloc; ;} break; - case 398: -#line 3192 "gram.y" + case 403: +#line 3246 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)])); ;} break; - case 399: -#line 3199 "gram.y" + case 404: +#line 3253 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 400: -#line 3203 "gram.y" + case 405: +#line 3257 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 401: -#line 3217 "gram.y" + case 406: +#line 3271 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -33326,18 +35019,18 @@ YYLTYPE yylloc; ;} break; - case 402: -#line 3229 "gram.y" + case 407: +#line 3283 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 403: -#line 3230 "gram.y" + case 408: +#line 3284 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 404: -#line 3236 "gram.y" + case 409: +#line 3290 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -33348,8 +35041,8 @@ YYLTYPE yylloc; ;} break; - case 405: -#line 3246 "gram.y" + case 410: +#line 3300 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -33361,8 +35054,8 @@ YYLTYPE yylloc; ;} break; - case 406: -#line 3257 "gram.y" + case 411: +#line 3311 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -33374,8 +35067,8 @@ YYLTYPE yylloc; ;} break; - case 407: -#line 3268 "gram.y" + case 412: +#line 3322 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); ColumnDef *def = makeNode(ColumnDef); @@ -33393,8 +35086,8 @@ YYLTYPE yylloc; ;} break; - case 408: -#line 3295 "gram.y" + case 413: +#line 3349 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); @@ -33403,8 +35096,8 @@ YYLTYPE yylloc; ;} break; - case 409: -#line 3302 "gram.y" + case 414: +#line 3356 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); @@ -33413,8 +35106,8 @@ YYLTYPE yylloc; ;} break; - case 410: -#line 3338 "gram.y" + case 415: +#line 3392 "gram.y" { CopyStmt *n = makeNode(CopyStmt); @@ -33450,8 +35143,8 @@ YYLTYPE yylloc; ;} break; - case 411: -#line 3372 "gram.y" + case 416: +#line 3426 "gram.y" { CopyStmt *n = makeNode(CopyStmt); @@ -33473,243 +35166,262 @@ YYLTYPE yylloc; ;} break; - case 412: -#line 3394 "gram.y" + case 417: +#line 3448 "gram.y" { (yyval.boolean) = true; ;} break; - case 413: -#line 3395 "gram.y" + case 418: +#line 3449 "gram.y" { (yyval.boolean) = false; ;} break; - case 414: -#line 3399 "gram.y" + case 419: +#line 3453 "gram.y" { (yyval.boolean) = true; ;} break; - case 415: -#line 3400 "gram.y" + case 420: +#line 3454 "gram.y" { (yyval.boolean) = false; ;} break; - case 416: -#line 3409 "gram.y" + case 421: +#line 3463 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 417: -#line 3410 "gram.y" + case 422: +#line 3464 "gram.y" { (yyval.str) = NULL; ;} break; - case 418: -#line 3411 "gram.y" + case 423: +#line 3465 "gram.y" { (yyval.str) = NULL; ;} break; - case 419: -#line 3414 "gram.y" + case 424: +#line 3468 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 420: -#line 3415 "gram.y" + case 425: +#line 3469 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 421: -#line 3420 "gram.y" + case 426: +#line 3474 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 422: -#line 3421 "gram.y" + case 427: +#line 3475 "gram.y" { (yyval.list) = NIL; ;} break; - case 423: -#line 3426 "gram.y" + case 428: +#line 3480 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)])); ;} break; - case 424: -#line 3430 "gram.y" + case 429: +#line 3484 "gram.y" { (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 425: -#line 3434 "gram.y" + case 430: +#line 3488 "gram.y" { (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 426: -#line 3438 "gram.y" + case 431: +#line 3492 "gram.y" { (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 427: -#line 3442 "gram.y" + case 432: +#line 3496 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[(1) - (1)])); ;} break; - case 428: -#line 3446 "gram.y" + case 433: +#line 3500 "gram.y" { (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 429: -#line 3450 "gram.y" + case 434: +#line 3504 "gram.y" { (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 430: -#line 3454 "gram.y" + case 435: +#line 3508 "gram.y" { (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 431: -#line 3458 "gram.y" + case 436: +#line 3512 "gram.y" { (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 432: -#line 3462 "gram.y" + case 437: +#line 3516 "gram.y" { (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[(1) - (3)])); ;} break; - case 433: -#line 3466 "gram.y" + case 438: +#line 3520 "gram.y" { (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[(4) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 434: -#line 3470 "gram.y" + case 439: +#line 3524 "gram.y" + { + (yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[(1) - (4)])); + ;} + break; + + case 440: +#line 3528 "gram.y" { (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 435: -#line 3474 "gram.y" + case 441: +#line 3532 "gram.y" + { + (yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[(1) - (3)])); + ;} + break; + + case 442: +#line 3536 "gram.y" { (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 436: -#line 3483 "gram.y" + case 443: +#line 3545 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)])); ;} break; - case 437: -#line 3486 "gram.y" + case 444: +#line 3548 "gram.y" { (yyval.defelt) = NULL; ;} break; - case 438: -#line 3491 "gram.y" + case 445: +#line 3553 "gram.y" { (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(2) - (3)])); ;} break; - case 439: -#line 3494 "gram.y" + case 446: +#line 3556 "gram.y" { (yyval.defelt) = NULL; ;} break; - case 442: -#line 3505 "gram.y" + case 449: +#line 3567 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 443: -#line 3509 "gram.y" + case 450: +#line 3571 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 444: -#line 3516 "gram.y" + case 451: +#line 3578 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 445: -#line 3522 "gram.y" + case 452: +#line 3584 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 446: -#line 3523 "gram.y" + case 453: +#line 3585 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 447: -#line 3524 "gram.y" - { (yyval.node) = (Node *) makeNode(A_Star); ;} + case 454: +#line 3586 "gram.y" + { (yyval.node) = (Node *) makeNode(A_Star); ;} + break; + + case 455: +#line 3587 "gram.y" + { (yyval.node) = (Node *) makeString("default"); ;} break; - case 448: -#line 3525 "gram.y" + case 456: +#line 3588 "gram.y" { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;} break; - case 449: -#line 3526 "gram.y" + case 457: +#line 3589 "gram.y" { (yyval.node) = NULL; ;} break; - case 450: -#line 3531 "gram.y" + case 458: +#line 3594 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 451: -#line 3535 "gram.y" + case 459: +#line 3598 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 452: -#line 3542 "gram.y" + case 460: +#line 3605 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 453: -#line 3556 "gram.y" + case 461: +#line 3619 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33729,8 +35441,8 @@ YYLTYPE yylloc; ;} break; - case 454: -#line 3576 "gram.y" + case 462: +#line 3639 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33750,8 +35462,8 @@ YYLTYPE yylloc; ;} break; - case 455: -#line 3596 "gram.y" + case 463: +#line 3659 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33772,8 +35484,8 @@ YYLTYPE yylloc; ;} break; - case 456: -#line 3617 "gram.y" + case 464: +#line 3680 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33794,8 +35506,8 @@ YYLTYPE yylloc; ;} break; - case 457: -#line 3638 "gram.y" + case 465: +#line 3701 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33816,8 +35528,8 @@ YYLTYPE yylloc; ;} break; - case 458: -#line 3659 "gram.y" + case 466: +#line 3722 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -33838,28 +35550,28 @@ YYLTYPE yylloc; ;} break; - case 459: -#line 3690 "gram.y" + case 467: +#line 3753 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 460: -#line 3691 "gram.y" + case 468: +#line 3754 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 461: -#line 3692 "gram.y" + case 469: +#line 3755 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 462: -#line 3693 "gram.y" + case 470: +#line 3756 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 463: -#line 3695 "gram.y" + case 471: +#line 3758 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -33868,8 +35580,8 @@ YYLTYPE yylloc; ;} break; - case 464: -#line 3702 "gram.y" + case 472: +#line 3765 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -33878,91 +35590,91 @@ YYLTYPE yylloc; ;} break; - case 465: -#line 3708 "gram.y" + case 473: +#line 3771 "gram.y" { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;} break; - case 466: -#line 3709 "gram.y" + case 474: +#line 3772 "gram.y" { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;} break; - case 467: -#line 3713 "gram.y" + case 475: +#line 3776 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 468: -#line 3714 "gram.y" + case 476: +#line 3777 "gram.y" { (yyval.list) = NIL; ;} break; - case 469: -#line 3718 "gram.y" + case 477: +#line 3781 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 470: -#line 3719 "gram.y" + case 478: +#line 3782 "gram.y" { (yyval.list) = NIL; ;} break; - case 471: -#line 3724 "gram.y" + case 479: +#line 3787 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 472: -#line 3728 "gram.y" + case 480: +#line 3791 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 473: -#line 3735 "gram.y" + case 481: +#line 3798 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 474: -#line 3739 "gram.y" + case 482: +#line 3802 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 475: -#line 3745 "gram.y" + case 483: +#line 3808 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 476: -#line 3746 "gram.y" + case 484: +#line 3809 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 477: -#line 3747 "gram.y" + case 485: +#line 3810 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 478: -#line 3751 "gram.y" + case 486: +#line 3814 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 479: -#line 3752 "gram.y" + case 487: +#line 3815 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 480: -#line 3756 "gram.y" + case 488: +#line 3819 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -33986,8 +35698,8 @@ YYLTYPE yylloc; ;} break; - case 481: -#line 3780 "gram.y" + case 489: +#line 3843 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -34008,8 +35720,8 @@ YYLTYPE yylloc; ;} break; - case 482: -#line 3799 "gram.y" + case 490: +#line 3862 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -34030,58 +35742,58 @@ YYLTYPE yylloc; ;} break; - case 483: -#line 3820 "gram.y" + case 491: +#line 3883 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 484: -#line 3821 "gram.y" + case 492: +#line 3884 "gram.y" { (yyval.str) = pstrdup("default"); ;} break; - case 485: -#line 3825 "gram.y" + case 493: +#line 3888 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 486: -#line 3826 "gram.y" + case 494: +#line 3889 "gram.y" { (yyval.str) = NULL; ;} break; - case 487: -#line 3830 "gram.y" + case 495: +#line 3893 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 488: -#line 3831 "gram.y" + case 496: +#line 3894 "gram.y" { (yyval.str) = pstrdup("default"); ;} break; - case 489: -#line 3835 "gram.y" + case 497: +#line 3898 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 490: -#line 3836 "gram.y" + case 498: +#line 3899 "gram.y" { (yyval.str) = NULL; ;} break; - case 491: -#line 3840 "gram.y" + case 499: +#line 3903 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 492: -#line 3841 "gram.y" + case 500: +#line 3904 "gram.y" { (yyval.list) = NIL; ;} break; - case 493: -#line 3846 "gram.y" + case 501: +#line 3909 "gram.y" { Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); @@ -34091,18 +35803,18 @@ YYLTYPE yylloc; ;} break; - case 494: -#line 3853 "gram.y" + case 502: +#line 3916 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 495: -#line 3854 "gram.y" + case 503: +#line 3917 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 496: -#line 3856 "gram.y" + case 504: +#line 3919 "gram.y" { /* * Note: the CollateClause is momentarily included in @@ -34118,8 +35830,8 @@ YYLTYPE yylloc; ;} break; - case 497: -#line 3888 "gram.y" + case 505: +#line 3951 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34129,8 +35841,8 @@ YYLTYPE yylloc; ;} break; - case 498: -#line 3896 "gram.y" + case 506: +#line 3959 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34140,8 +35852,8 @@ YYLTYPE yylloc; ;} break; - case 499: -#line 3904 "gram.y" + case 507: +#line 3967 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34156,8 +35868,8 @@ YYLTYPE yylloc; ;} break; - case 500: -#line 3917 "gram.y" + case 508: +#line 3980 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34171,8 +35883,8 @@ YYLTYPE yylloc; ;} break; - case 501: -#line 3929 "gram.y" + case 509: +#line 3992 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34187,8 +35899,8 @@ YYLTYPE yylloc; ;} break; - case 502: -#line 3942 "gram.y" + case 510: +#line 4005 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34200,8 +35912,8 @@ YYLTYPE yylloc; ;} break; - case 503: -#line 3952 "gram.y" + case 511: +#line 4015 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34213,8 +35925,8 @@ YYLTYPE yylloc; ;} break; - case 504: -#line 3962 "gram.y" + case 512: +#line 4025 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34240,8 +35952,8 @@ YYLTYPE yylloc; ;} break; - case 505: -#line 3986 "gram.y" + case 513: +#line 4049 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34260,33 +35972,33 @@ YYLTYPE yylloc; ;} break; - case 506: -#line 4005 "gram.y" + case 514: +#line 4068 "gram.y" { (yyval.boolean) = true; ;} break; - case 507: -#line 4006 "gram.y" + case 515: +#line 4069 "gram.y" { (yyval.boolean) = false; ;} break; - case 508: -#line 4007 "gram.y" + case 516: +#line 4070 "gram.y" { (yyval.boolean) = true; ;} break; - case 509: -#line 4011 "gram.y" + case 517: +#line 4074 "gram.y" { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; ;} break; - case 510: -#line 4012 "gram.y" + case 518: +#line 4075 "gram.y" { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; ;} break; - case 511: -#line 4032 "gram.y" + case 519: +#line 4095 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34296,8 +36008,8 @@ YYLTYPE yylloc; ;} break; - case 512: -#line 4040 "gram.y" + case 520: +#line 4103 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34307,8 +36019,8 @@ YYLTYPE yylloc; ;} break; - case 513: -#line 4048 "gram.y" + case 521: +#line 4111 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34318,8 +36030,8 @@ YYLTYPE yylloc; ;} break; - case 514: -#line 4056 "gram.y" + case 522: +#line 4119 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34329,8 +36041,8 @@ YYLTYPE yylloc; ;} break; - case 515: -#line 4068 "gram.y" + case 523: +#line 4131 "gram.y" { TableLikeClause *n = makeNode(TableLikeClause); @@ -34341,73 +36053,73 @@ YYLTYPE yylloc; ;} break; - case 516: -#line 4079 "gram.y" + case 524: +#line 4142 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;} break; - case 517: -#line 4080 "gram.y" + case 525: +#line 4143 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;} break; - case 518: -#line 4081 "gram.y" + case 526: +#line 4144 "gram.y" { (yyval.ival) = 0; ;} break; - case 519: -#line 4085 "gram.y" + case 527: +#line 4148 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;} break; - case 520: -#line 4086 "gram.y" + case 528: +#line 4149 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; ;} break; - case 521: -#line 4087 "gram.y" + case 529: +#line 4150 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;} break; - case 522: -#line 4088 "gram.y" + case 530: +#line 4151 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;} break; - case 523: -#line 4089 "gram.y" + case 531: +#line 4152 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; ;} break; - case 524: -#line 4090 "gram.y" + case 532: +#line 4153 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; ;} break; - case 525: -#line 4091 "gram.y" + case 533: +#line 4154 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;} break; - case 526: -#line 4092 "gram.y" + case 534: +#line 4155 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; ;} break; - case 527: -#line 4093 "gram.y" + case 535: +#line 4156 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;} break; - case 528: -#line 4094 "gram.y" + case 536: +#line 4157 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;} break; - case 529: -#line 4104 "gram.y" + case 537: +#line 4167 "gram.y" { Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); @@ -34417,13 +36129,13 @@ YYLTYPE yylloc; ;} break; - case 530: -#line 4111 "gram.y" + case 538: +#line 4174 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 531: -#line 4116 "gram.y" + case 539: +#line 4179 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34439,8 +36151,8 @@ YYLTYPE yylloc; ;} break; - case 532: -#line 4131 "gram.y" + case 540: +#line 4194 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34459,8 +36171,8 @@ YYLTYPE yylloc; ;} break; - case 533: -#line 4148 "gram.y" + case 541: +#line 4211 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34478,8 +36190,8 @@ YYLTYPE yylloc; ;} break; - case 534: -#line 4165 "gram.y" + case 542: +#line 4228 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34497,8 +36209,8 @@ YYLTYPE yylloc; ;} break; - case 535: -#line 4181 "gram.y" + case 543: +#line 4244 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34516,8 +36228,8 @@ YYLTYPE yylloc; ;} break; - case 536: -#line 4199 "gram.y" + case 544: +#line 4262 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34537,8 +36249,8 @@ YYLTYPE yylloc; ;} break; - case 537: -#line 4218 "gram.y" + case 545: +#line 4281 "gram.y" { Constraint *n = makeNode(Constraint); @@ -34560,62 +36272,112 @@ YYLTYPE yylloc; ;} break; - case 538: -#line 4239 "gram.y" + case 546: +#line 4315 "gram.y" + { + Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); + + n->conname = (yyvsp[(2) - (3)].str); + n->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 547: +#line 4322 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 548: +#line 4327 "gram.y" + { + Constraint *n = makeNode(Constraint); + + n->contype = CONSTR_CHECK; + n->location = (yylsp[(1) - (5)]); + n->raw_expr = (yyvsp[(3) - (5)].node); + n->cooked_expr = NULL; + processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK", + NULL, NULL, &n->skip_validation, + &n->is_no_inherit, yyscanner); + n->initially_valid = !n->skip_validation; + (yyval.node) = (Node *) n; + ;} + break; + + case 549: +#line 4341 "gram.y" + { + Constraint *n = makeNode(Constraint); + + n->contype = CONSTR_NOTNULL; + n->location = (yylsp[(1) - (3)]); + n->keys = list_make1(makeString("value")); + /* no NOT VALID support yet */ + processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "NOT NULL", + NULL, NULL, NULL, + &n->is_no_inherit, yyscanner); + n->initially_valid = true; + (yyval.node) = (Node *) n; + ;} + break; + + case 550: +#line 4356 "gram.y" { (yyval.boolean) = true; ;} break; - case 539: -#line 4240 "gram.y" + case 551: +#line 4357 "gram.y" { (yyval.boolean) = false; ;} break; - case 540: -#line 4244 "gram.y" + case 552: +#line 4361 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 541: -#line 4245 "gram.y" + case 553: +#line 4362 "gram.y" { (yyval.list) = NIL; ;} break; - case 542: -#line 4249 "gram.y" + case 554: +#line 4366 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 543: -#line 4250 "gram.y" + case 555: +#line 4367 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 544: -#line 4254 "gram.y" + case 556: +#line 4371 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 545: -#line 4259 "gram.y" + case 557: +#line 4376 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 546: -#line 4260 "gram.y" + case 558: +#line 4377 "gram.y" { (yyval.list) = NIL; ;} break; - case 547: -#line 4264 "gram.y" + case 559: +#line 4381 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_FULL; ;} break; - case 548: -#line 4268 "gram.y" + case 560: +#line 4385 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -34625,56 +36387,56 @@ YYLTYPE yylloc; ;} break; - case 549: -#line 4276 "gram.y" + case 561: +#line 4393 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_SIMPLE; ;} break; - case 550: -#line 4280 "gram.y" + case 562: +#line 4397 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_SIMPLE; ;} break; - case 551: -#line 4286 "gram.y" + case 563: +#line 4403 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 552: -#line 4288 "gram.y" + case 564: +#line 4405 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 553: -#line 4292 "gram.y" + case 565: +#line 4409 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list)); ;} break; - case 554: -#line 4297 "gram.y" + case 566: +#line 4414 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list)); ;} break; - case 555: -#line 4303 "gram.y" + case 567: +#line 4420 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 556: -#line 4304 "gram.y" + case 568: +#line 4421 "gram.y" { (yyval.node) = NULL; ;} break; - case 557: -#line 4309 "gram.y" + case 569: +#line 4426 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -34686,8 +36448,8 @@ YYLTYPE yylloc; ;} break; - case 558: -#line 4319 "gram.y" + case 570: +#line 4436 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -34699,8 +36461,8 @@ YYLTYPE yylloc; ;} break; - case 559: -#line 4329 "gram.y" + case 571: +#line 4446 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -34710,8 +36472,8 @@ YYLTYPE yylloc; ;} break; - case 560: -#line 4337 "gram.y" + case 572: +#line 4454 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -34721,8 +36483,8 @@ YYLTYPE yylloc; ;} break; - case 561: -#line 4345 "gram.y" + case 573: +#line 4462 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -34736,8 +36498,8 @@ YYLTYPE yylloc; ;} break; - case 562: -#line 4359 "gram.y" + case 574: +#line 4476 "gram.y" { if (((yyvsp[(3) - (3)].keyaction))->cols) ereport(ERROR, @@ -34749,15 +36511,15 @@ YYLTYPE yylloc; ;} break; - case 563: -#line 4371 "gram.y" + case 575: +#line 4488 "gram.y" { (yyval.keyaction) = (yyvsp[(3) - (3)].keyaction); ;} break; - case 564: -#line 4378 "gram.y" + case 576: +#line 4495 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -34767,8 +36529,8 @@ YYLTYPE yylloc; ;} break; - case 565: -#line 4386 "gram.y" + case 577: +#line 4503 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -34778,8 +36540,8 @@ YYLTYPE yylloc; ;} break; - case 566: -#line 4394 "gram.y" + case 578: +#line 4511 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -34789,8 +36551,8 @@ YYLTYPE yylloc; ;} break; - case 567: -#line 4402 "gram.y" + case 579: +#line 4519 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -34800,8 +36562,8 @@ YYLTYPE yylloc; ;} break; - case 568: -#line 4410 "gram.y" + case 580: +#line 4527 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -34811,28 +36573,28 @@ YYLTYPE yylloc; ;} break; - case 569: -#line 4419 "gram.y" + case 581: +#line 4536 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 570: -#line 4420 "gram.y" + case 582: +#line 4537 "gram.y" { (yyval.list) = NIL; ;} break; - case 571: -#line 4424 "gram.y" + case 583: +#line 4541 "gram.y" { (yyval.partspec) = (yyvsp[(1) - (1)].partspec); ;} break; - case 572: -#line 4425 "gram.y" + case 584: +#line 4542 "gram.y" { (yyval.partspec) = NULL; ;} break; - case 573: -#line 4429 "gram.y" + case 585: +#line 4546 "gram.y" { PartitionSpec *n = makeNode(PartitionSpec); @@ -34844,18 +36606,18 @@ YYLTYPE yylloc; ;} break; - case 574: -#line 4440 "gram.y" + case 586: +#line 4557 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].partelem)); ;} break; - case 575: -#line 4441 "gram.y" + case 587: +#line 4558 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].partelem)); ;} break; - case 576: -#line 4445 "gram.y" + case 588: +#line 4562 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -34868,8 +36630,8 @@ YYLTYPE yylloc; ;} break; - case 577: -#line 4456 "gram.y" + case 589: +#line 4573 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -34882,8 +36644,8 @@ YYLTYPE yylloc; ;} break; - case 578: -#line 4467 "gram.y" + case 590: +#line 4584 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -34896,78 +36658,78 @@ YYLTYPE yylloc; ;} break; - case 579: -#line 4480 "gram.y" + case 591: +#line 4597 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 580: -#line 4481 "gram.y" + case 592: +#line 4598 "gram.y" { (yyval.str) = NULL; ;} break; - case 581: -#line 4486 "gram.y" + case 593: +#line 4603 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 582: -#line 4487 "gram.y" + case 594: +#line 4604 "gram.y" { (yyval.list) = NIL; ;} break; - case 583: -#line 4488 "gram.y" + case 595: +#line 4605 "gram.y" { (yyval.list) = NIL; ;} break; - case 584: -#line 4491 "gram.y" + case 596: +#line 4608 "gram.y" { (yyval.oncommit) = ONCOMMIT_DROP; ;} break; - case 585: -#line 4492 "gram.y" + case 597: +#line 4609 "gram.y" { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;} break; - case 586: -#line 4493 "gram.y" + case 598: +#line 4610 "gram.y" { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;} break; - case 587: -#line 4494 "gram.y" + case 599: +#line 4611 "gram.y" { (yyval.oncommit) = ONCOMMIT_NOOP; ;} break; - case 588: -#line 4497 "gram.y" + case 600: +#line 4614 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 589: -#line 4498 "gram.y" + case 601: +#line 4615 "gram.y" { (yyval.str) = NULL; ;} break; - case 590: -#line 4501 "gram.y" + case 602: +#line 4618 "gram.y" { (yyval.str) = (yyvsp[(4) - (4)].str); ;} break; - case 591: -#line 4502 "gram.y" + case 603: +#line 4619 "gram.y" { (yyval.str) = NULL; ;} break; - case 592: -#line 4505 "gram.y" + case 604: +#line 4622 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].str); ;} break; - case 593: -#line 4527 "gram.y" + case 605: +#line 4644 "gram.y" { CreateStatsStmt *n = makeNode(CreateStatsStmt); @@ -34981,8 +36743,8 @@ YYLTYPE yylloc; ;} break; - case 594: -#line 4540 "gram.y" + case 606: +#line 4657 "gram.y" { CreateStatsStmt *n = makeNode(CreateStatsStmt); @@ -34996,18 +36758,18 @@ YYLTYPE yylloc; ;} break; - case 595: -#line 4560 "gram.y" + case 607: +#line 4677 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].selem)); ;} break; - case 596: -#line 4561 "gram.y" + case 608: +#line 4678 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].selem)); ;} break; - case 597: -#line 4565 "gram.y" + case 609: +#line 4682 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = (yyvsp[(1) - (1)].str); @@ -35015,8 +36777,8 @@ YYLTYPE yylloc; ;} break; - case 598: -#line 4571 "gram.y" + case 610: +#line 4688 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = NULL; @@ -35024,8 +36786,8 @@ YYLTYPE yylloc; ;} break; - case 599: -#line 4577 "gram.y" + case 611: +#line 4694 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = NULL; @@ -35033,32 +36795,32 @@ YYLTYPE yylloc; ;} break; - case 600: -#line 4594 "gram.y" + case 612: +#line 4711 "gram.y" { AlterStatsStmt *n = makeNode(AlterStatsStmt); n->defnames = (yyvsp[(3) - (6)].list); n->missing_ok = false; - n->stxstattarget = (yyvsp[(6) - (6)].ival); + n->stxstattarget = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 601: -#line 4603 "gram.y" + case 613: +#line 4720 "gram.y" { AlterStatsStmt *n = makeNode(AlterStatsStmt); n->defnames = (yyvsp[(5) - (8)].list); n->missing_ok = true; - n->stxstattarget = (yyvsp[(8) - (8)].ival); + n->stxstattarget = (yyvsp[(8) - (8)].node); (yyval.node) = (Node *) n; ;} break; - case 602: -#line 4625 "gram.y" + case 614: +#line 4742 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -35074,8 +36836,8 @@ YYLTYPE yylloc; ;} break; - case 603: -#line 4639 "gram.y" + case 615: +#line 4756 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -35091,8 +36853,8 @@ YYLTYPE yylloc; ;} break; - case 604: -#line 4657 "gram.y" + case 616: +#line 4774 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(1) - (6)].range); @@ -35106,23 +36868,23 @@ YYLTYPE yylloc; ;} break; - case 605: -#line 4671 "gram.y" + case 617: +#line 4788 "gram.y" { (yyval.boolean) = true; ;} break; - case 606: -#line 4672 "gram.y" + case 618: +#line 4789 "gram.y" { (yyval.boolean) = false; ;} break; - case 607: -#line 4673 "gram.y" + case 619: +#line 4790 "gram.y" { (yyval.boolean) = true; ;} break; - case 608: -#line 4686 "gram.y" + case 620: +#line 4803 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -35138,8 +36900,8 @@ YYLTYPE yylloc; ;} break; - case 609: -#line 4700 "gram.y" + case 621: +#line 4817 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -35155,8 +36917,8 @@ YYLTYPE yylloc; ;} break; - case 610: -#line 4717 "gram.y" + case 622: +#line 4834 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(1) - (5)].range); @@ -35170,18 +36932,18 @@ YYLTYPE yylloc; ;} break; - case 611: -#line 4730 "gram.y" + case 623: +#line 4847 "gram.y" { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;} break; - case 612: -#line 4731 "gram.y" + case 624: +#line 4848 "gram.y" { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;} break; - case 613: -#line 4744 "gram.y" + case 625: +#line 4861 "gram.y" { RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt); @@ -35192,8 +36954,8 @@ YYLTYPE yylloc; ;} break; - case 614: -#line 4765 "gram.y" + case 626: +#line 4882 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); @@ -35206,8 +36968,8 @@ YYLTYPE yylloc; ;} break; - case 615: -#line 4776 "gram.y" + case 627: +#line 4893 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); @@ -35220,8 +36982,8 @@ YYLTYPE yylloc; ;} break; - case 616: -#line 4790 "gram.y" + case 628: +#line 4907 "gram.y" { AlterSeqStmt *n = makeNode(AlterSeqStmt); @@ -35232,8 +36994,8 @@ YYLTYPE yylloc; ;} break; - case 617: -#line 4799 "gram.y" + case 629: +#line 4916 "gram.y" { AlterSeqStmt *n = makeNode(AlterSeqStmt); @@ -35244,147 +37006,160 @@ YYLTYPE yylloc; ;} break; - case 618: -#line 4810 "gram.y" + case 630: +#line 4927 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 619: -#line 4811 "gram.y" + case 631: +#line 4928 "gram.y" { (yyval.list) = NIL; ;} break; - case 620: -#line 4814 "gram.y" + case 632: +#line 4931 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 621: -#line 4815 "gram.y" + case 633: +#line 4932 "gram.y" { (yyval.list) = NIL; ;} break; - case 622: -#line 4818 "gram.y" + case 634: +#line 4935 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 623: -#line 4819 "gram.y" + case 635: +#line 4936 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 624: -#line 4823 "gram.y" + case 636: +#line 4940 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].typnam), (yylsp[(1) - (2)])); ;} break; - case 625: -#line 4827 "gram.y" + case 637: +#line 4944 "gram.y" { (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 626: -#line 4831 "gram.y" + case 638: +#line 4948 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 627: -#line 4835 "gram.y" + case 639: +#line 4952 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 628: -#line 4839 "gram.y" + case 640: +#line 4956 "gram.y" { (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 629: -#line 4843 "gram.y" + case 641: +#line 4960 "gram.y" + { + (yyval.defelt) = makeDefElem("logged", NULL, (yylsp[(1) - (1)])); + ;} + break; + + case 642: +#line 4964 "gram.y" { (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 630: -#line 4847 "gram.y" + case 643: +#line 4968 "gram.y" { (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 631: -#line 4851 "gram.y" + case 644: +#line 4972 "gram.y" { (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[(1) - (2)])); ;} break; - case 632: -#line 4855 "gram.y" + case 645: +#line 4976 "gram.y" { (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[(1) - (2)])); ;} break; - case 633: -#line 4859 "gram.y" + case 646: +#line 4980 "gram.y" { (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 634: -#line 4863 "gram.y" + case 647: +#line 4984 "gram.y" { - /* not documented, only used by pg_dump */ (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 635: -#line 4868 "gram.y" + case 648: +#line 4988 "gram.y" { (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 636: -#line 4872 "gram.y" + case 649: +#line 4992 "gram.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)])); ;} break; - case 637: -#line 4876 "gram.y" + case 650: +#line 4996 "gram.y" { (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 640: -#line 4886 "gram.y" + case 651: +#line 5000 "gram.y" + { + (yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[(1) - (1)])); + ;} + break; + + case 654: +#line 5010 "gram.y" { (yyval.node) = (Node *) makeFloat((yyvsp[(1) - (1)].str)); ;} break; - case 641: -#line 4887 "gram.y" + case 655: +#line 5011 "gram.y" { (yyval.node) = (Node *) makeFloat((yyvsp[(2) - (2)].str)); ;} break; - case 642: -#line 4889 "gram.y" + case 656: +#line 5013 "gram.y" { Float *f = makeFloat((yyvsp[(2) - (2)].str)); @@ -35393,23 +37168,23 @@ YYLTYPE yylloc; ;} break; - case 643: -#line 4895 "gram.y" + case 657: +#line 5019 "gram.y" { (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;} break; - case 644: -#line 4898 "gram.y" + case 658: +#line 5022 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 645: -#line 4899 "gram.y" + case 659: +#line 5023 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 646: -#line 4912 "gram.y" + case 660: +#line 5036 "gram.y" { /* * We now interpret parameterless CREATE LANGUAGE as @@ -35427,8 +37202,8 @@ YYLTYPE yylloc; ;} break; - case 647: -#line 4929 "gram.y" + case 661: +#line 5053 "gram.y" { CreatePLangStmt *n = makeNode(CreatePLangStmt); @@ -35442,58 +37217,58 @@ YYLTYPE yylloc; ;} break; - case 648: -#line 4943 "gram.y" + case 662: +#line 5067 "gram.y" { (yyval.boolean) = true; ;} break; - case 649: -#line 4944 "gram.y" + case 663: +#line 5068 "gram.y" { (yyval.boolean) = false; ;} break; - case 650: -#line 4952 "gram.y" + case 664: +#line 5076 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 651: -#line 4953 "gram.y" + case 665: +#line 5077 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;} break; - case 652: -#line 4957 "gram.y" + case 666: +#line 5081 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 653: -#line 4958 "gram.y" + case 667: +#line 5082 "gram.y" { (yyval.list) = NIL; ;} break; - case 654: -#line 4962 "gram.y" + case 668: +#line 5086 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 655: -#line 4963 "gram.y" + case 669: +#line 5087 "gram.y" { (yyval.list) = NIL; ;} break; - case 656: -#line 4967 "gram.y" + case 670: +#line 5091 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 657: -#line 4968 "gram.y" + case 671: +#line 5092 "gram.y" { (yyval.list) = NIL; ;} break; - case 660: -#line 4984 "gram.y" + case 674: +#line 5108 "gram.y" { CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt); @@ -35505,18 +37280,18 @@ YYLTYPE yylloc; ;} break; - case 661: -#line 4995 "gram.y" + case 675: +#line 5119 "gram.y" { (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;} break; - case 662: -#line 4996 "gram.y" + case 676: +#line 5120 "gram.y" { (yyval.rolespec) = NULL; ;} break; - case 663: -#line 5010 "gram.y" + case 677: +#line 5134 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); @@ -35526,8 +37301,8 @@ YYLTYPE yylloc; ;} break; - case 664: -#line 5018 "gram.y" + case 678: +#line 5142 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); @@ -35537,8 +37312,8 @@ YYLTYPE yylloc; ;} break; - case 665: -#line 5036 "gram.y" + case 679: +#line 5160 "gram.y" { CreateExtensionStmt *n = makeNode(CreateExtensionStmt); @@ -35549,8 +37324,8 @@ YYLTYPE yylloc; ;} break; - case 666: -#line 5045 "gram.y" + case 680: +#line 5169 "gram.y" { CreateExtensionStmt *n = makeNode(CreateExtensionStmt); @@ -35561,32 +37336,32 @@ YYLTYPE yylloc; ;} break; - case 667: -#line 5057 "gram.y" + case 681: +#line 5181 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 668: -#line 5059 "gram.y" + case 682: +#line 5183 "gram.y" { (yyval.list) = NIL; ;} break; - case 669: -#line 5064 "gram.y" + case 683: +#line 5188 "gram.y" { (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 670: -#line 5068 "gram.y" + case 684: +#line 5192 "gram.y" { (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 671: -#line 5072 "gram.y" + case 685: +#line 5196 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -35595,15 +37370,15 @@ YYLTYPE yylloc; ;} break; - case 672: -#line 5079 "gram.y" + case 686: +#line 5203 "gram.y" { (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 673: -#line 5091 "gram.y" + case 687: +#line 5215 "gram.y" { AlterExtensionStmt *n = makeNode(AlterExtensionStmt); @@ -35613,25 +37388,25 @@ YYLTYPE yylloc; ;} break; - case 674: -#line 5102 "gram.y" + case 688: +#line 5226 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 675: -#line 5104 "gram.y" + case 689: +#line 5228 "gram.y" { (yyval.list) = NIL; ;} break; - case 676: -#line 5109 "gram.y" + case 690: +#line 5233 "gram.y" { (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 677: -#line 5122 "gram.y" + case 691: +#line 5246 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35643,8 +37418,8 @@ YYLTYPE yylloc; ;} break; - case 678: -#line 5132 "gram.y" + case 692: +#line 5256 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35656,8 +37431,8 @@ YYLTYPE yylloc; ;} break; - case 679: -#line 5142 "gram.y" + case 693: +#line 5266 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35669,8 +37444,8 @@ YYLTYPE yylloc; ;} break; - case 680: -#line 5152 "gram.y" + case 694: +#line 5276 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35682,8 +37457,8 @@ YYLTYPE yylloc; ;} break; - case 681: -#line 5162 "gram.y" + case 695: +#line 5286 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35695,8 +37470,8 @@ YYLTYPE yylloc; ;} break; - case 682: -#line 5172 "gram.y" + case 696: +#line 5296 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35708,8 +37483,8 @@ YYLTYPE yylloc; ;} break; - case 683: -#line 5182 "gram.y" + case 697: +#line 5306 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35721,8 +37496,8 @@ YYLTYPE yylloc; ;} break; - case 684: -#line 5192 "gram.y" + case 698: +#line 5316 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35734,8 +37509,8 @@ YYLTYPE yylloc; ;} break; - case 685: -#line 5202 "gram.y" + case 699: +#line 5326 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35747,8 +37522,8 @@ YYLTYPE yylloc; ;} break; - case 686: -#line 5212 "gram.y" + case 700: +#line 5336 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35760,8 +37535,8 @@ YYLTYPE yylloc; ;} break; - case 687: -#line 5222 "gram.y" + case 701: +#line 5346 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35773,8 +37548,8 @@ YYLTYPE yylloc; ;} break; - case 688: -#line 5232 "gram.y" + case 702: +#line 5356 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35786,8 +37561,8 @@ YYLTYPE yylloc; ;} break; - case 689: -#line 5242 "gram.y" + case 703: +#line 5366 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -35799,8 +37574,8 @@ YYLTYPE yylloc; ;} break; - case 690: -#line 5261 "gram.y" + case 704: +#line 5385 "gram.y" { CreateFdwStmt *n = makeNode(CreateFdwStmt); @@ -35811,48 +37586,48 @@ YYLTYPE yylloc; ;} break; - case 691: -#line 5272 "gram.y" + case 705: +#line 5396 "gram.y" { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 692: -#line 5273 "gram.y" + case 706: +#line 5397 "gram.y" { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[(1) - (2)])); ;} break; - case 693: -#line 5274 "gram.y" + case 707: +#line 5398 "gram.y" { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 694: -#line 5275 "gram.y" + case 708: +#line 5399 "gram.y" { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[(1) - (2)])); ;} break; - case 695: -#line 5279 "gram.y" + case 709: +#line 5403 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 696: -#line 5280 "gram.y" + case 710: +#line 5404 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 697: -#line 5284 "gram.y" + case 711: +#line 5408 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 698: -#line 5285 "gram.y" + case 712: +#line 5409 "gram.y" { (yyval.list) = NIL; ;} break; - case 699: -#line 5296 "gram.y" + case 713: +#line 5420 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); @@ -35863,8 +37638,8 @@ YYLTYPE yylloc; ;} break; - case 700: -#line 5305 "gram.y" + case 714: +#line 5429 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); @@ -35875,98 +37650,98 @@ YYLTYPE yylloc; ;} break; - case 701: -#line 5317 "gram.y" + case 715: +#line 5441 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 702: -#line 5318 "gram.y" + case 716: +#line 5442 "gram.y" { (yyval.list) = NIL; ;} break; - case 703: -#line 5323 "gram.y" + case 717: +#line 5447 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 704: -#line 5327 "gram.y" + case 718: +#line 5451 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 705: -#line 5334 "gram.y" + case 719: +#line 5458 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 706: -#line 5339 "gram.y" + case 720: +#line 5463 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 707: -#line 5343 "gram.y" + case 721: +#line 5467 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 708: -#line 5350 "gram.y" + case 722: +#line 5474 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; - case 709: -#line 5354 "gram.y" + case 723: +#line 5478 "gram.y" { (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_SET; ;} break; - case 710: -#line 5359 "gram.y" + case 724: +#line 5483 "gram.y" { (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_ADD; ;} break; - case 711: -#line 5364 "gram.y" + case 725: +#line 5488 "gram.y" { (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)])); ;} break; - case 712: -#line 5371 "gram.y" + case 726: +#line 5495 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 713: -#line 5377 "gram.y" + case 727: +#line 5501 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 714: -#line 5382 "gram.y" + case 728: +#line 5506 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 715: -#line 5394 "gram.y" + case 729: +#line 5518 "gram.y" { CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt); @@ -35980,8 +37755,8 @@ YYLTYPE yylloc; ;} break; - case 716: -#line 5407 "gram.y" + case 730: +#line 5531 "gram.y" { CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt); @@ -35995,38 +37770,38 @@ YYLTYPE yylloc; ;} break; - case 717: -#line 5421 "gram.y" + case 731: +#line 5545 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 718: -#line 5422 "gram.y" + case 732: +#line 5546 "gram.y" { (yyval.str) = NULL; ;} break; - case 719: -#line 5427 "gram.y" + case 733: +#line 5551 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 720: -#line 5428 "gram.y" + case 734: +#line 5552 "gram.y" { (yyval.str) = NULL; ;} break; - case 721: -#line 5432 "gram.y" + case 735: +#line 5556 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 722: -#line 5433 "gram.y" + case 736: +#line 5557 "gram.y" { (yyval.str) = NULL; ;} break; - case 723: -#line 5444 "gram.y" + case 737: +#line 5568 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -36038,8 +37813,8 @@ YYLTYPE yylloc; ;} break; - case 724: -#line 5454 "gram.y" + case 738: +#line 5578 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -36050,8 +37825,8 @@ YYLTYPE yylloc; ;} break; - case 725: -#line 5463 "gram.y" + case 739: +#line 5587 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -36061,8 +37836,8 @@ YYLTYPE yylloc; ;} break; - case 726: -#line 5483 "gram.y" + case 740: +#line 5607 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -36083,8 +37858,8 @@ YYLTYPE yylloc; ;} break; - case 727: -#line 5504 "gram.y" + case 741: +#line 5628 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -36105,8 +37880,8 @@ YYLTYPE yylloc; ;} break; - case 728: -#line 5525 "gram.y" + case 742: +#line 5649 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -36128,8 +37903,8 @@ YYLTYPE yylloc; ;} break; - case 729: -#line 5547 "gram.y" + case 743: +#line 5671 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -36151,8 +37926,8 @@ YYLTYPE yylloc; ;} break; - case 730: -#line 5580 "gram.y" + case 744: +#line 5704 "gram.y" { ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt); @@ -36166,18 +37941,18 @@ YYLTYPE yylloc; ;} break; - case 731: -#line 5594 "gram.y" + case 745: +#line 5718 "gram.y" { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;} break; - case 732: -#line 5595 "gram.y" + case 746: +#line 5719 "gram.y" { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;} break; - case 733: -#line 5600 "gram.y" + case 747: +#line 5724 "gram.y" { ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual)); @@ -36187,8 +37962,8 @@ YYLTYPE yylloc; ;} break; - case 734: -#line 5608 "gram.y" + case 748: +#line 5732 "gram.y" { ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual)); n->type = FDW_IMPORT_SCHEMA_ALL; @@ -36197,8 +37972,8 @@ YYLTYPE yylloc; ;} break; - case 735: -#line 5624 "gram.y" + case 749: +#line 5748 "gram.y" { CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt); @@ -36210,8 +37985,8 @@ YYLTYPE yylloc; ;} break; - case 736: -#line 5634 "gram.y" + case 750: +#line 5758 "gram.y" { CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt); @@ -36223,18 +37998,18 @@ YYLTYPE yylloc; ;} break; - case 737: -#line 5646 "gram.y" + case 751: +#line 5770 "gram.y" { (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;} break; - case 738: -#line 5647 "gram.y" + case 752: +#line 5771 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;} break; - case 739: -#line 5660 "gram.y" + case 753: +#line 5784 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); @@ -36245,8 +38020,8 @@ YYLTYPE yylloc; ;} break; - case 740: -#line 5669 "gram.y" + case 754: +#line 5793 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); @@ -36257,8 +38032,8 @@ YYLTYPE yylloc; ;} break; - case 741: -#line 5687 "gram.y" + case 755: +#line 5811 "gram.y" { AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt); @@ -36269,8 +38044,8 @@ YYLTYPE yylloc; ;} break; - case 742: -#line 5714 "gram.y" + case 756: +#line 5838 "gram.y" { CreatePolicyStmt *n = makeNode(CreatePolicyStmt); @@ -36285,8 +38060,8 @@ YYLTYPE yylloc; ;} break; - case 743: -#line 5731 "gram.y" + case 757: +#line 5855 "gram.y" { AlterPolicyStmt *n = makeNode(AlterPolicyStmt); @@ -36299,48 +38074,48 @@ YYLTYPE yylloc; ;} break; - case 744: -#line 5744 "gram.y" + case 758: +#line 5868 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 745: -#line 5745 "gram.y" + case 759: +#line 5869 "gram.y" { (yyval.node) = NULL; ;} break; - case 746: -#line 5749 "gram.y" + case 760: +#line 5873 "gram.y" { (yyval.node) = (yyvsp[(4) - (5)].node); ;} break; - case 747: -#line 5750 "gram.y" + case 761: +#line 5874 "gram.y" { (yyval.node) = NULL; ;} break; - case 748: -#line 5754 "gram.y" + case 762: +#line 5878 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 749: -#line 5755 "gram.y" + case 763: +#line 5879 "gram.y" { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;} break; - case 750: -#line 5759 "gram.y" + case 764: +#line 5883 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 751: -#line 5760 "gram.y" + case 765: +#line 5884 "gram.y" { (yyval.list) = NULL; ;} break; - case 752: -#line 5765 "gram.y" + case 766: +#line 5889 "gram.y" { if (strcmp((yyvsp[(2) - (2)].str), "permissive") == 0) (yyval.boolean) = true; @@ -36356,48 +38131,48 @@ YYLTYPE yylloc; ;} break; - case 753: -#line 5778 "gram.y" + case 767: +#line 5902 "gram.y" { (yyval.boolean) = true; ;} break; - case 754: -#line 5782 "gram.y" + case 768: +#line 5906 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 755: -#line 5783 "gram.y" + case 769: +#line 5907 "gram.y" { (yyval.str) = "all"; ;} break; - case 756: -#line 5787 "gram.y" + case 770: +#line 5911 "gram.y" { (yyval.str) = "all"; ;} break; - case 757: -#line 5788 "gram.y" + case 771: +#line 5912 "gram.y" { (yyval.str) = "select"; ;} break; - case 758: -#line 5789 "gram.y" + case 772: +#line 5913 "gram.y" { (yyval.str) = "insert"; ;} break; - case 759: -#line 5790 "gram.y" + case 773: +#line 5914 "gram.y" { (yyval.str) = "update"; ;} break; - case 760: -#line 5791 "gram.y" + case 774: +#line 5915 "gram.y" { (yyval.str) = "delete"; ;} break; - case 761: -#line 5802 "gram.y" + case 775: +#line 5926 "gram.y" { CreateAmStmt *n = makeNode(CreateAmStmt); @@ -36408,18 +38183,18 @@ YYLTYPE yylloc; ;} break; - case 762: -#line 5813 "gram.y" + case 776: +#line 5937 "gram.y" { (yyval.chr) = AMTYPE_INDEX; ;} break; - case 763: -#line 5814 "gram.y" + case 777: +#line 5938 "gram.y" { (yyval.chr) = AMTYPE_TABLE; ;} break; - case 764: -#line 5828 "gram.y" + case 778: +#line 5952 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); @@ -36442,8 +38217,8 @@ YYLTYPE yylloc; ;} break; - case 765: -#line 5852 "gram.y" + case 779: +#line 5976 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); @@ -36471,28 +38246,28 @@ YYLTYPE yylloc; ;} break; - case 766: -#line 5880 "gram.y" + case 780: +#line 6004 "gram.y" { (yyval.ival) = TRIGGER_TYPE_BEFORE; ;} break; - case 767: -#line 5881 "gram.y" + case 781: +#line 6005 "gram.y" { (yyval.ival) = TRIGGER_TYPE_AFTER; ;} break; - case 768: -#line 5882 "gram.y" + case 782: +#line 6006 "gram.y" { (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;} break; - case 769: -#line 5887 "gram.y" + case 783: +#line 6011 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 770: -#line 5889 "gram.y" + case 784: +#line 6013 "gram.y" { int events1 = intVal(linitial((yyvsp[(1) - (3)].list))); int events2 = intVal(linitial((yyvsp[(3) - (3)].list))); @@ -36513,53 +38288,53 @@ YYLTYPE yylloc; ;} break; - case 771: -#line 5911 "gram.y" + case 785: +#line 6035 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;} break; - case 772: -#line 5913 "gram.y" + case 786: +#line 6037 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;} break; - - case 773: -#line 5915 "gram.y" + + case 787: +#line 6039 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;} break; - case 774: -#line 5917 "gram.y" + case 788: +#line 6041 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;} break; - case 775: -#line 5919 "gram.y" + case 789: +#line 6043 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;} break; - case 776: -#line 5923 "gram.y" + case 790: +#line 6047 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 777: -#line 5924 "gram.y" + case 791: +#line 6048 "gram.y" { (yyval.list) = NIL; ;} break; - case 778: -#line 5928 "gram.y" + case 792: +#line 6052 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 779: -#line 5929 "gram.y" + case 793: +#line 6053 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 780: -#line 5934 "gram.y" + case 794: +#line 6058 "gram.y" { TriggerTransition *n = makeNode(TriggerTransition); @@ -36570,40 +38345,40 @@ YYLTYPE yylloc; ;} break; - case 781: -#line 5945 "gram.y" + case 795: +#line 6069 "gram.y" { (yyval.boolean) = true; ;} break; - case 782: -#line 5946 "gram.y" + case 796: +#line 6070 "gram.y" { (yyval.boolean) = false; ;} break; - case 783: -#line 5950 "gram.y" + case 797: +#line 6074 "gram.y" { (yyval.boolean) = true; ;} break; - case 784: -#line 5959 "gram.y" + case 798: +#line 6083 "gram.y" { (yyval.boolean) = false; ;} break; - case 785: -#line 5963 "gram.y" + case 799: +#line 6087 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 786: -#line 5968 "gram.y" + case 800: +#line 6092 "gram.y" { (yyval.boolean) = (yyvsp[(3) - (3)].boolean); ;} break; - case 787: -#line 5972 "gram.y" + case 801: +#line 6096 "gram.y" { /* * If ROW/STATEMENT not specified, default to @@ -36613,80 +38388,80 @@ YYLTYPE yylloc; ;} break; - case 790: -#line 5987 "gram.y" + case 804: +#line 6111 "gram.y" { (yyval.boolean) = true; ;} break; - case 791: -#line 5988 "gram.y" + case 805: +#line 6112 "gram.y" { (yyval.boolean) = false; ;} break; - case 792: -#line 5992 "gram.y" + case 806: +#line 6116 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 793: -#line 5993 "gram.y" + case 807: +#line 6117 "gram.y" { (yyval.node) = NULL; ;} break; - case 796: -#line 6002 "gram.y" + case 810: +#line 6126 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 797: -#line 6003 "gram.y" + case 811: +#line 6127 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 798: -#line 6004 "gram.y" + case 812: +#line 6128 "gram.y" { (yyval.list) = NIL; ;} break; - case 799: -#line 6009 "gram.y" + case 813: +#line 6133 "gram.y" { (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[(1) - (1)].ival))); ;} break; - case 800: -#line 6012 "gram.y" + case 814: +#line 6136 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 801: -#line 6013 "gram.y" + case 815: +#line 6137 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 802: -#line 6014 "gram.y" + case 816: +#line 6138 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 803: -#line 6018 "gram.y" + case 817: +#line 6142 "gram.y" { (yyval.range) = (yyvsp[(2) - (2)].range); ;} break; - case 804: -#line 6019 "gram.y" + case 818: +#line 6143 "gram.y" { (yyval.range) = NULL; ;} break; - case 805: -#line 6024 "gram.y" + case 819: +#line 6148 "gram.y" { (yyval.ival) = 0; ;} break; - case 806: -#line 6026 "gram.y" + case 820: +#line 6150 "gram.y" { /* * We must complain about conflicting options. @@ -36712,38 +38487,38 @@ YYLTYPE yylloc; ;} break; - case 807: -#line 6052 "gram.y" + case 821: +#line 6176 "gram.y" { (yyval.ival) = CAS_NOT_DEFERRABLE; ;} break; - case 808: -#line 6053 "gram.y" + case 822: +#line 6177 "gram.y" { (yyval.ival) = CAS_DEFERRABLE; ;} break; - case 809: -#line 6054 "gram.y" + case 823: +#line 6178 "gram.y" { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;} break; - case 810: -#line 6055 "gram.y" + case 824: +#line 6179 "gram.y" { (yyval.ival) = CAS_INITIALLY_DEFERRED; ;} break; - case 811: -#line 6056 "gram.y" + case 825: +#line 6180 "gram.y" { (yyval.ival) = CAS_NOT_VALID; ;} break; - case 812: -#line 6057 "gram.y" + case 826: +#line 6181 "gram.y" { (yyval.ival) = CAS_NO_INHERIT; ;} break; - case 813: -#line 6072 "gram.y" + case 827: +#line 6196 "gram.y" { CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt); @@ -36755,8 +38530,8 @@ YYLTYPE yylloc; ;} break; - case 814: -#line 6084 "gram.y" + case 828: +#line 6208 "gram.y" { CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt); @@ -36768,33 +38543,33 @@ YYLTYPE yylloc; ;} break; - case 815: -#line 6097 "gram.y" + case 829: +#line 6221 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 816: -#line 6099 "gram.y" + case 830: +#line 6223 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 817: -#line 6104 "gram.y" + case 831: +#line 6228 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;} break; - case 818: -#line 6109 "gram.y" + case 832: +#line 6233 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 819: -#line 6111 "gram.y" + case 833: +#line 6235 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 820: -#line 6116 "gram.y" + case 834: +#line 6240 "gram.y" { AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt); @@ -36804,28 +38579,28 @@ YYLTYPE yylloc; ;} break; - case 821: -#line 6126 "gram.y" + case 835: +#line 6250 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;} break; - case 822: -#line 6127 "gram.y" + case 836: +#line 6251 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;} break; - case 823: -#line 6128 "gram.y" + case 837: +#line 6252 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;} break; - case 824: -#line 6129 "gram.y" + case 838: +#line 6253 "gram.y" { (yyval.chr) = TRIGGER_DISABLED; ;} break; - case 825: -#line 6141 "gram.y" + case 839: +#line 6265 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -36835,8 +38610,8 @@ YYLTYPE yylloc; ;} break; - case 826: -#line 6160 "gram.y" + case 840: +#line 6284 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36850,8 +38625,8 @@ YYLTYPE yylloc; ;} break; - case 827: -#line 6172 "gram.y" + case 841: +#line 6296 "gram.y" { /* old-style (pre-8.2) syntax for CREATE AGGREGATE */ DefineStmt *n = makeNode(DefineStmt); @@ -36866,8 +38641,8 @@ YYLTYPE yylloc; ;} break; - case 828: -#line 6185 "gram.y" + case 842: +#line 6309 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36880,8 +38655,8 @@ YYLTYPE yylloc; ;} break; - case 829: -#line 6196 "gram.y" + case 843: +#line 6320 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36894,8 +38669,8 @@ YYLTYPE yylloc; ;} break; - case 830: -#line 6207 "gram.y" + case 844: +#line 6331 "gram.y" { /* Shell type (identified by lack of definition) */ DefineStmt *n = makeNode(DefineStmt); @@ -36909,8 +38684,8 @@ YYLTYPE yylloc; ;} break; - case 831: -#line 6219 "gram.y" + case 845: +#line 6343 "gram.y" { CompositeTypeStmt *n = makeNode(CompositeTypeStmt); @@ -36921,8 +38696,8 @@ YYLTYPE yylloc; ;} break; - case 832: -#line 6228 "gram.y" + case 846: +#line 6352 "gram.y" { CreateEnumStmt *n = makeNode(CreateEnumStmt); @@ -36932,8 +38707,8 @@ YYLTYPE yylloc; ;} break; - case 833: -#line 6236 "gram.y" + case 847: +#line 6360 "gram.y" { CreateRangeStmt *n = makeNode(CreateRangeStmt); @@ -36943,8 +38718,8 @@ YYLTYPE yylloc; ;} break; - case 834: -#line 6244 "gram.y" + case 848: +#line 6368 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36956,8 +38731,8 @@ YYLTYPE yylloc; ;} break; - case 835: -#line 6254 "gram.y" + case 849: +#line 6378 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36969,8 +38744,8 @@ YYLTYPE yylloc; ;} break; - case 836: -#line 6264 "gram.y" + case 850: +#line 6388 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36982,8 +38757,8 @@ YYLTYPE yylloc; ;} break; - case 837: -#line 6274 "gram.y" + case 851: +#line 6398 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -36995,8 +38770,8 @@ YYLTYPE yylloc; ;} break; - case 838: -#line 6284 "gram.y" + case 852: +#line 6408 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -37008,8 +38783,8 @@ YYLTYPE yylloc; ;} break; - case 839: -#line 6294 "gram.y" + case 853: +#line 6418 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -37022,8 +38797,8 @@ YYLTYPE yylloc; ;} break; - case 840: -#line 6305 "gram.y" + case 854: +#line 6429 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -37035,8 +38810,8 @@ YYLTYPE yylloc; ;} break; - case 841: -#line 6315 "gram.y" + case 855: +#line 6439 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -37049,109 +38824,109 @@ YYLTYPE yylloc; ;} break; - case 842: -#line 6327 "gram.y" + case 856: +#line 6451 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 843: -#line 6330 "gram.y" + case 857: +#line 6454 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 844: -#line 6331 "gram.y" + case 858: +#line 6455 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 845: -#line 6335 "gram.y" + case 859: +#line 6459 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 846: -#line 6339 "gram.y" + case 860: +#line 6463 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} break; - case 847: -#line 6345 "gram.y" + case 861: +#line 6469 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;} break; - case 848: -#line 6346 "gram.y" + case 862: +#line 6470 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 849: -#line 6347 "gram.y" + case 863: +#line 6471 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;} break; - case 850: -#line 6348 "gram.y" + case 864: +#line 6472 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 851: -#line 6349 "gram.y" + case 865: +#line 6473 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 852: -#line 6350 "gram.y" + case 866: +#line 6474 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 853: -#line 6353 "gram.y" + case 867: +#line 6477 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 854: -#line 6356 "gram.y" + case 868: +#line 6480 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 855: -#line 6357 "gram.y" + case 869: +#line 6481 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 856: -#line 6366 "gram.y" + case 870: +#line 6490 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 857: -#line 6372 "gram.y" + case 871: +#line 6496 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 858: -#line 6373 "gram.y" + case 872: +#line 6497 "gram.y" { (yyval.list) = NIL; ;} break; - case 859: -#line 6377 "gram.y" + case 873: +#line 6501 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 860: -#line 6379 "gram.y" + case 874: +#line 6503 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 861: -#line 6390 "gram.y" + case 875: +#line 6514 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -37165,8 +38940,8 @@ YYLTYPE yylloc; ;} break; - case 862: -#line 6402 "gram.y" + case 876: +#line 6526 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -37180,8 +38955,8 @@ YYLTYPE yylloc; ;} break; - case 863: -#line 6414 "gram.y" + case 877: +#line 6538 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -37195,8 +38970,8 @@ YYLTYPE yylloc; ;} break; - case 864: -#line 6426 "gram.y" + case 878: +#line 6550 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -37210,18 +38985,48 @@ YYLTYPE yylloc; ;} break; - case 865: -#line 6439 "gram.y" + case 879: +#line 6562 "gram.y" + { + /* + * The following problems must be solved before this can be + * implemented: + * + * - There must be no instance of the target value in + * any table. + * + * - The value must not appear in any catalog metadata, + * such as stored view expressions or column defaults. + * + * - The value must not appear in any non-leaf page of a + * btree (and similar issues with other index types). + * This is problematic because a value could persist + * there long after it's gone from user-visible data. + * + * - Concurrent sessions must not be able to insert the + * value while the preceding conditions are being checked. + * + * - Possibly more... + */ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("dropping an enum value is not implemented"), + parser_errposition((yylsp[(4) - (6)])))); + ;} + break; + + case 880: +#line 6590 "gram.y" { (yyval.boolean) = true; ;} break; - case 866: -#line 6440 "gram.y" + case 881: +#line 6591 "gram.y" { (yyval.boolean) = false; ;} break; - case 867: -#line 6458 "gram.y" + case 882: +#line 6609 "gram.y" { CreateOpClassStmt *n = makeNode(CreateOpClassStmt); @@ -37235,18 +39040,18 @@ YYLTYPE yylloc; ;} break; - case 868: -#line 6472 "gram.y" + case 883: +#line 6623 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 869: -#line 6473 "gram.y" + case 884: +#line 6624 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 870: -#line 6478 "gram.y" + case 885: +#line 6629 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); ObjectWithArgs *owa = makeNode(ObjectWithArgs); @@ -37261,8 +39066,8 @@ YYLTYPE yylloc; ;} break; - case 871: -#line 6492 "gram.y" + case 886: +#line 6643 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37274,8 +39079,8 @@ YYLTYPE yylloc; ;} break; - case 872: -#line 6502 "gram.y" + case 887: +#line 6653 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37286,8 +39091,8 @@ YYLTYPE yylloc; ;} break; - case 873: -#line 6511 "gram.y" + case 888: +#line 6662 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37299,8 +39104,8 @@ YYLTYPE yylloc; ;} break; - case 874: -#line 6521 "gram.y" + case 889: +#line 6672 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37310,43 +39115,43 @@ YYLTYPE yylloc; ;} break; - case 875: -#line 6530 "gram.y" + case 890: +#line 6681 "gram.y" { (yyval.boolean) = true; ;} break; - case 876: -#line 6531 "gram.y" + case 891: +#line 6682 "gram.y" { (yyval.boolean) = false; ;} break; - case 877: -#line 6534 "gram.y" + case 892: +#line 6685 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 878: -#line 6535 "gram.y" + case 893: +#line 6686 "gram.y" { (yyval.list) = NIL; ;} break; - case 879: -#line 6538 "gram.y" + case 894: +#line 6689 "gram.y" { (yyval.list) = NIL; ;} break; - case 880: -#line 6539 "gram.y" + case 895: +#line 6690 "gram.y" { (yyval.list) = (yyvsp[(4) - (4)].list); ;} break; - case 881: -#line 6540 "gram.y" + case 896: +#line 6691 "gram.y" { (yyval.list) = NIL; ;} break; - case 882: -#line 6544 "gram.y" + case 897: +#line 6695 "gram.y" { /* * RECHECK no longer does anything in opclass definitions, @@ -37362,13 +39167,13 @@ YYLTYPE yylloc; ;} break; - case 883: -#line 6557 "gram.y" + case 898: +#line 6708 "gram.y" { (yyval.boolean) = false; ;} break; - case 884: -#line 6563 "gram.y" + case 899: +#line 6714 "gram.y" { CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt); @@ -37378,8 +39183,8 @@ YYLTYPE yylloc; ;} break; - case 885: -#line 6574 "gram.y" + case 900: +#line 6725 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); @@ -37391,8 +39196,8 @@ YYLTYPE yylloc; ;} break; - case 886: -#line 6584 "gram.y" + case 901: +#line 6735 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); @@ -37404,18 +39209,18 @@ YYLTYPE yylloc; ;} break; - case 887: -#line 6596 "gram.y" + case 902: +#line 6747 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 888: -#line 6597 "gram.y" + case 903: +#line 6748 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 889: -#line 6602 "gram.y" + case 904: +#line 6753 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37426,8 +39231,8 @@ YYLTYPE yylloc; ;} break; - case 890: -#line 6611 "gram.y" + case 905: +#line 6762 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -37438,8 +39243,8 @@ YYLTYPE yylloc; ;} break; - case 891: -#line 6624 "gram.y" + case 906: +#line 6775 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37452,8 +39257,8 @@ YYLTYPE yylloc; ;} break; - case 892: -#line 6635 "gram.y" + case 907: +#line 6786 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37466,8 +39271,8 @@ YYLTYPE yylloc; ;} break; - case 893: -#line 6649 "gram.y" + case 908: +#line 6800 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37480,8 +39285,8 @@ YYLTYPE yylloc; ;} break; - case 894: -#line 6660 "gram.y" + case 909: +#line 6811 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37494,8 +39299,8 @@ YYLTYPE yylloc; ;} break; - case 895: -#line 6683 "gram.y" + case 910: +#line 6834 "gram.y" { DropOwnedStmt *n = makeNode(DropOwnedStmt); @@ -37505,8 +39310,8 @@ YYLTYPE yylloc; ;} break; - case 896: -#line 6694 "gram.y" + case 911: +#line 6845 "gram.y" { ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt); @@ -37516,8 +39321,8 @@ YYLTYPE yylloc; ;} break; - case 897: -#line 6713 "gram.y" + case 912: +#line 6864 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37530,8 +39335,8 @@ YYLTYPE yylloc; ;} break; - case 898: -#line 6724 "gram.y" + case 913: +#line 6875 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37544,8 +39349,8 @@ YYLTYPE yylloc; ;} break; - case 899: -#line 6735 "gram.y" + case 914: +#line 6886 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37558,8 +39363,8 @@ YYLTYPE yylloc; ;} break; - case 900: -#line 6746 "gram.y" + case 915: +#line 6897 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37572,8 +39377,8 @@ YYLTYPE yylloc; ;} break; - case 901: -#line 6757 "gram.y" + case 916: +#line 6908 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37586,8 +39391,8 @@ YYLTYPE yylloc; ;} break; - case 902: -#line 6768 "gram.y" + case 917: +#line 6919 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37600,8 +39405,8 @@ YYLTYPE yylloc; ;} break; - case 903: -#line 6779 "gram.y" + case 918: +#line 6930 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37614,8 +39419,8 @@ YYLTYPE yylloc; ;} break; - case 904: -#line 6790 "gram.y" + case 919: +#line 6941 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37628,8 +39433,8 @@ YYLTYPE yylloc; ;} break; - case 905: -#line 6801 "gram.y" + case 920: +#line 6952 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37642,8 +39447,8 @@ YYLTYPE yylloc; ;} break; - case 906: -#line 6812 "gram.y" + case 921: +#line 6963 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37656,8 +39461,8 @@ YYLTYPE yylloc; ;} break; - case 907: -#line 6823 "gram.y" + case 922: +#line 6974 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37670,8 +39475,8 @@ YYLTYPE yylloc; ;} break; - case 908: -#line 6834 "gram.y" + case 923: +#line 6985 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -37684,193 +39489,193 @@ YYLTYPE yylloc; ;} break; - case 909: -#line 6848 "gram.y" + case 924: +#line 6999 "gram.y" { (yyval.objtype) = OBJECT_TABLE; ;} break; - case 910: -#line 6849 "gram.y" + case 925: +#line 7000 "gram.y" { (yyval.objtype) = OBJECT_SEQUENCE; ;} break; - case 911: -#line 6850 "gram.y" + case 926: +#line 7001 "gram.y" { (yyval.objtype) = OBJECT_VIEW; ;} break; - case 912: -#line 6851 "gram.y" + case 927: +#line 7002 "gram.y" { (yyval.objtype) = OBJECT_MATVIEW; ;} break; - case 913: -#line 6852 "gram.y" + case 928: +#line 7003 "gram.y" { (yyval.objtype) = OBJECT_INDEX; ;} break; - case 914: -#line 6853 "gram.y" + case 929: +#line 7004 "gram.y" { (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;} break; - case 915: -#line 6854 "gram.y" + case 930: +#line 7005 "gram.y" { (yyval.objtype) = OBJECT_COLLATION; ;} break; - case 916: -#line 6855 "gram.y" + case 931: +#line 7006 "gram.y" { (yyval.objtype) = OBJECT_CONVERSION; ;} break; - case 917: -#line 6856 "gram.y" + case 932: +#line 7007 "gram.y" { (yyval.objtype) = OBJECT_STATISTIC_EXT; ;} break; - case 918: -#line 6857 "gram.y" + case 933: +#line 7008 "gram.y" { (yyval.objtype) = OBJECT_TSPARSER; ;} break; - case 919: -#line 6858 "gram.y" + case 934: +#line 7009 "gram.y" { (yyval.objtype) = OBJECT_TSDICTIONARY; ;} break; - case 920: -#line 6859 "gram.y" + case 935: +#line 7010 "gram.y" { (yyval.objtype) = OBJECT_TSTEMPLATE; ;} break; - case 921: -#line 6860 "gram.y" + case 936: +#line 7011 "gram.y" { (yyval.objtype) = OBJECT_TSCONFIGURATION; ;} break; - case 922: -#line 6870 "gram.y" + case 937: +#line 7021 "gram.y" { (yyval.objtype) = (yyvsp[(1) - (1)].objtype); ;} break; - case 923: -#line 6871 "gram.y" + case 938: +#line 7022 "gram.y" { (yyval.objtype) = OBJECT_DATABASE; ;} break; - case 924: -#line 6872 "gram.y" + case 939: +#line 7023 "gram.y" { (yyval.objtype) = OBJECT_ROLE; ;} break; - case 925: -#line 6873 "gram.y" + case 940: +#line 7024 "gram.y" { (yyval.objtype) = OBJECT_SUBSCRIPTION; ;} break; - case 926: -#line 6874 "gram.y" + case 941: +#line 7025 "gram.y" { (yyval.objtype) = OBJECT_TABLESPACE; ;} break; - case 927: -#line 6878 "gram.y" + case 942: +#line 7029 "gram.y" { (yyval.objtype) = OBJECT_ACCESS_METHOD; ;} break; - case 928: -#line 6879 "gram.y" + case 943: +#line 7030 "gram.y" { (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;} break; - case 929: -#line 6880 "gram.y" + case 944: +#line 7031 "gram.y" { (yyval.objtype) = OBJECT_EXTENSION; ;} break; - case 930: -#line 6881 "gram.y" + case 945: +#line 7032 "gram.y" { (yyval.objtype) = OBJECT_FDW; ;} break; - case 931: -#line 6882 "gram.y" + case 946: +#line 7033 "gram.y" { (yyval.objtype) = OBJECT_LANGUAGE; ;} break; - case 932: -#line 6883 "gram.y" + case 947: +#line 7034 "gram.y" { (yyval.objtype) = OBJECT_PUBLICATION; ;} break; - case 933: -#line 6884 "gram.y" + case 948: +#line 7035 "gram.y" { (yyval.objtype) = OBJECT_SCHEMA; ;} break; - case 934: -#line 6885 "gram.y" + case 949: +#line 7036 "gram.y" { (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;} break; - case 935: -#line 6890 "gram.y" + case 950: +#line 7041 "gram.y" { (yyval.objtype) = OBJECT_POLICY; ;} break; - case 936: -#line 6891 "gram.y" + case 951: +#line 7042 "gram.y" { (yyval.objtype) = OBJECT_RULE; ;} break; - case 937: -#line 6892 "gram.y" + case 952: +#line 7043 "gram.y" { (yyval.objtype) = OBJECT_TRIGGER; ;} break; - case 938: -#line 6896 "gram.y" + case 953: +#line 7047 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 939: -#line 6897 "gram.y" + case 954: +#line 7048 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 940: -#line 6900 "gram.y" + case 955: +#line 7051 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 941: -#line 6901 "gram.y" + case 956: +#line 7052 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;} break; - case 942: -#line 6905 "gram.y" + case 957: +#line 7056 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;} break; - case 943: -#line 6907 "gram.y" + case 958: +#line 7058 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 944: -#line 6911 "gram.y" + case 959: +#line 7062 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;} break; - case 945: -#line 6912 "gram.y" + case 960: +#line 7063 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;} break; - case 946: -#line 6924 "gram.y" + case 961: +#line 7075 "gram.y" { TruncateStmt *n = makeNode(TruncateStmt); @@ -37881,23 +39686,23 @@ YYLTYPE yylloc; ;} break; - case 947: -#line 6935 "gram.y" + case 962: +#line 7086 "gram.y" { (yyval.boolean) = false; ;} break; - case 948: -#line 6936 "gram.y" + case 963: +#line 7087 "gram.y" { (yyval.boolean) = true; ;} break; - case 949: -#line 6937 "gram.y" + case 964: +#line 7088 "gram.y" { (yyval.boolean) = false; ;} break; - case 950: -#line 6948 "gram.y" + case 965: +#line 7099 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37908,8 +39713,8 @@ YYLTYPE yylloc; ;} break; - case 951: -#line 6957 "gram.y" + case 966: +#line 7108 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37920,8 +39725,8 @@ YYLTYPE yylloc; ;} break; - case 952: -#line 6966 "gram.y" + case 967: +#line 7117 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37932,8 +39737,8 @@ YYLTYPE yylloc; ;} break; - case 953: -#line 6975 "gram.y" + case 968: +#line 7126 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37944,8 +39749,8 @@ YYLTYPE yylloc; ;} break; - case 954: -#line 6984 "gram.y" + case 969: +#line 7135 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37956,8 +39761,8 @@ YYLTYPE yylloc; ;} break; - case 955: -#line 6993 "gram.y" + case 970: +#line 7144 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37968,8 +39773,8 @@ YYLTYPE yylloc; ;} break; - case 956: -#line 7002 "gram.y" + case 971: +#line 7153 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37980,8 +39785,8 @@ YYLTYPE yylloc; ;} break; - case 957: -#line 7011 "gram.y" + case 972: +#line 7162 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37992,8 +39797,8 @@ YYLTYPE yylloc; ;} break; - case 958: -#line 7020 "gram.y" + case 973: +#line 7171 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38004,8 +39809,8 @@ YYLTYPE yylloc; ;} break; - case 959: -#line 7029 "gram.y" + case 974: +#line 7180 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38021,8 +39826,8 @@ YYLTYPE yylloc; ;} break; - case 960: -#line 7043 "gram.y" + case 975: +#line 7194 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38033,8 +39838,8 @@ YYLTYPE yylloc; ;} break; - case 961: -#line 7052 "gram.y" + case 976: +#line 7203 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38045,8 +39850,8 @@ YYLTYPE yylloc; ;} break; - case 962: -#line 7061 "gram.y" + case 977: +#line 7212 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38057,8 +39862,8 @@ YYLTYPE yylloc; ;} break; - case 963: -#line 7070 "gram.y" + case 978: +#line 7221 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38069,8 +39874,8 @@ YYLTYPE yylloc; ;} break; - case 964: -#line 7079 "gram.y" + case 979: +#line 7230 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38081,8 +39886,8 @@ YYLTYPE yylloc; ;} break; - case 965: -#line 7088 "gram.y" + case 980: +#line 7239 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38093,8 +39898,8 @@ YYLTYPE yylloc; ;} break; - case 966: -#line 7097 "gram.y" + case 981: +#line 7248 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38105,8 +39910,8 @@ YYLTYPE yylloc; ;} break; - case 967: -#line 7106 "gram.y" + case 982: +#line 7257 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -38117,18 +39922,18 @@ YYLTYPE yylloc; ;} break; - case 968: -#line 7117 "gram.y" + case 983: +#line 7268 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 969: -#line 7118 "gram.y" + case 984: +#line 7269 "gram.y" { (yyval.str) = NULL; ;} break; - case 970: -#line 7134 "gram.y" + case 985: +#line 7285 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38140,8 +39945,8 @@ YYLTYPE yylloc; ;} break; - case 971: -#line 7145 "gram.y" + case 986: +#line 7296 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38153,8 +39958,8 @@ YYLTYPE yylloc; ;} break; - case 972: -#line 7156 "gram.y" + case 987: +#line 7307 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38166,8 +39971,8 @@ YYLTYPE yylloc; ;} break; - case 973: -#line 7167 "gram.y" + case 988: +#line 7318 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38179,8 +39984,8 @@ YYLTYPE yylloc; ;} break; - case 974: -#line 7178 "gram.y" + case 989: +#line 7329 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38192,8 +39997,8 @@ YYLTYPE yylloc; ;} break; - case 975: -#line 7189 "gram.y" + case 990: +#line 7340 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38205,8 +40010,8 @@ YYLTYPE yylloc; ;} break; - case 976: -#line 7200 "gram.y" + case 991: +#line 7351 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38218,8 +40023,8 @@ YYLTYPE yylloc; ;} break; - case 977: -#line 7211 "gram.y" + case 992: +#line 7362 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38231,8 +40036,8 @@ YYLTYPE yylloc; ;} break; - case 978: -#line 7222 "gram.y" + case 993: +#line 7373 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38244,8 +40049,8 @@ YYLTYPE yylloc; ;} break; - case 979: -#line 7233 "gram.y" + case 994: +#line 7384 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -38257,28 +40062,28 @@ YYLTYPE yylloc; ;} break; - case 980: -#line 7244 "gram.y" + case 995: +#line 7395 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 981: -#line 7245 "gram.y" + case 996: +#line 7396 "gram.y" { (yyval.str) = NULL; ;} break; - case 982: -#line 7248 "gram.y" + case 997: +#line 7399 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 983: -#line 7249 "gram.y" + case 998: +#line 7400 "gram.y" { (yyval.str) = NULL; ;} break; - case 984: -#line 7260 "gram.y" + case 999: +#line 7411 "gram.y" { FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node); @@ -38287,8 +40092,8 @@ YYLTYPE yylloc; ;} break; - case 985: -#line 7267 "gram.y" + case 1000: +#line 7418 "gram.y" { FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node); @@ -38297,8 +40102,8 @@ YYLTYPE yylloc; ;} break; - case 986: -#line 7276 "gram.y" + case 1001: +#line 7427 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38309,8 +40114,8 @@ YYLTYPE yylloc; ;} break; - case 987: -#line 7285 "gram.y" + case 1002: +#line 7436 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38321,8 +40126,8 @@ YYLTYPE yylloc; ;} break; - case 988: -#line 7294 "gram.y" + case 1003: +#line 7445 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38333,8 +40138,8 @@ YYLTYPE yylloc; ;} break; - case 989: -#line 7303 "gram.y" + case 1004: +#line 7454 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38345,8 +40150,8 @@ YYLTYPE yylloc; ;} break; - case 990: -#line 7312 "gram.y" + case 1005: +#line 7463 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38357,8 +40162,8 @@ YYLTYPE yylloc; ;} break; - case 991: -#line 7321 "gram.y" + case 1006: +#line 7472 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38369,8 +40174,8 @@ YYLTYPE yylloc; ;} break; - case 992: -#line 7330 "gram.y" + case 1007: +#line 7481 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38381,8 +40186,8 @@ YYLTYPE yylloc; ;} break; - case 993: -#line 7339 "gram.y" + case 1008: +#line 7490 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38393,8 +40198,8 @@ YYLTYPE yylloc; ;} break; - case 994: -#line 7348 "gram.y" + case 1009: +#line 7499 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38405,8 +40210,8 @@ YYLTYPE yylloc; ;} break; - case 995: -#line 7357 "gram.y" + case 1010: +#line 7508 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38417,8 +40222,8 @@ YYLTYPE yylloc; ;} break; - case 996: -#line 7366 "gram.y" + case 1011: +#line 7517 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38429,8 +40234,8 @@ YYLTYPE yylloc; ;} break; - case 997: -#line 7375 "gram.y" + case 1012: +#line 7526 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38441,8 +40246,8 @@ YYLTYPE yylloc; ;} break; - case 998: -#line 7384 "gram.y" + case 1013: +#line 7535 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38453,8 +40258,8 @@ YYLTYPE yylloc; ;} break; - case 999: -#line 7393 "gram.y" + case 1014: +#line 7544 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38465,8 +40270,8 @@ YYLTYPE yylloc; ;} break; - case 1000: -#line 7402 "gram.y" + case 1015: +#line 7553 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38477,8 +40282,8 @@ YYLTYPE yylloc; ;} break; - case 1001: -#line 7411 "gram.y" + case 1016: +#line 7562 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -38489,8 +40294,8 @@ YYLTYPE yylloc; ;} break; - case 1006: -#line 7438 "gram.y" + case 1021: +#line 7589 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -38506,8 +40311,8 @@ YYLTYPE yylloc; ;} break; - case 1007: -#line 7456 "gram.y" + case 1022: +#line 7607 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -38524,8 +40329,8 @@ YYLTYPE yylloc; ;} break; - case 1008: -#line 7472 "gram.y" + case 1023: +#line 7623 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -38542,23 +40347,23 @@ YYLTYPE yylloc; ;} break; - case 1009: -#line 7499 "gram.y" + case 1024: +#line 7650 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1010: -#line 7501 "gram.y" + case 1025: +#line 7652 "gram.y" { (yyval.list) = NIL; ;} break; - case 1011: -#line 7503 "gram.y" + case 1026: +#line 7654 "gram.y" { (yyval.list) = NIL; ;} break; - case 1012: -#line 7505 "gram.y" + case 1027: +#line 7656 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38568,8 +40373,8 @@ YYLTYPE yylloc; ;} break; - case 1013: -#line 7513 "gram.y" + case 1028: +#line 7664 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38579,18 +40384,18 @@ YYLTYPE yylloc; ;} break; - case 1014: -#line 7522 "gram.y" + case 1029: +#line 7673 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;} break; - case 1015: -#line 7523 "gram.y" + case 1030: +#line 7674 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;} break; - case 1016: -#line 7527 "gram.y" + case 1031: +#line 7678 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38600,8 +40405,8 @@ YYLTYPE yylloc; ;} break; - case 1017: -#line 7535 "gram.y" + case 1032: +#line 7686 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38611,8 +40416,8 @@ YYLTYPE yylloc; ;} break; - case 1018: -#line 7543 "gram.y" + case 1033: +#line 7694 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38622,8 +40427,8 @@ YYLTYPE yylloc; ;} break; - case 1019: -#line 7551 "gram.y" + case 1034: +#line 7702 "gram.y" { AccessPriv *n = makeNode(AccessPriv); n->priv_name = pstrdup("alter system"); @@ -38632,8 +40437,8 @@ YYLTYPE yylloc; ;} break; - case 1020: -#line 7558 "gram.y" + case 1035: +#line 7709 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -38643,36 +40448,36 @@ YYLTYPE yylloc; ;} break; - case 1021: -#line 7569 "gram.y" + case 1036: +#line 7720 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1022: -#line 7573 "gram.y" + case 1037: +#line 7724 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 1023: -#line 7580 "gram.y" + case 1038: +#line 7731 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1024: -#line 7584 "gram.y" + case 1039: +#line 7735 "gram.y" { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;} break; - case 1025: -#line 7595 "gram.y" + case 1040: +#line 7746 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38683,8 +40488,8 @@ YYLTYPE yylloc; ;} break; - case 1026: -#line 7604 "gram.y" + case 1041: +#line 7755 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38695,8 +40500,8 @@ YYLTYPE yylloc; ;} break; - case 1027: -#line 7613 "gram.y" + case 1042: +#line 7764 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38707,8 +40512,8 @@ YYLTYPE yylloc; ;} break; - case 1028: -#line 7622 "gram.y" + case 1043: +#line 7773 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38719,8 +40524,8 @@ YYLTYPE yylloc; ;} break; - case 1029: -#line 7631 "gram.y" + case 1044: +#line 7782 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38731,8 +40536,8 @@ YYLTYPE yylloc; ;} break; - case 1030: -#line 7640 "gram.y" + case 1045: +#line 7791 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38743,8 +40548,8 @@ YYLTYPE yylloc; ;} break; - case 1031: -#line 7649 "gram.y" + case 1046: +#line 7800 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38755,8 +40560,8 @@ YYLTYPE yylloc; ;} break; - case 1032: -#line 7658 "gram.y" + case 1047: +#line 7809 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38767,8 +40572,8 @@ YYLTYPE yylloc; ;} break; - case 1033: -#line 7667 "gram.y" + case 1048: +#line 7818 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38779,8 +40584,8 @@ YYLTYPE yylloc; ;} break; - case 1034: -#line 7676 "gram.y" + case 1049: +#line 7827 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38791,8 +40596,8 @@ YYLTYPE yylloc; ;} break; - case 1035: -#line 7685 "gram.y" + case 1050: +#line 7836 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38803,8 +40608,8 @@ YYLTYPE yylloc; ;} break; - case 1036: -#line 7694 "gram.y" + case 1051: +#line 7845 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38815,8 +40620,8 @@ YYLTYPE yylloc; ;} break; - case 1037: -#line 7703 "gram.y" + case 1052: +#line 7854 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->targtype = ACL_TARGET_OBJECT; @@ -38826,8 +40631,8 @@ YYLTYPE yylloc; ;} break; - case 1038: -#line 7711 "gram.y" + case 1053: +#line 7862 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38838,8 +40643,8 @@ YYLTYPE yylloc; ;} break; - case 1039: -#line 7720 "gram.y" + case 1054: +#line 7871 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38850,8 +40655,8 @@ YYLTYPE yylloc; ;} break; - case 1040: -#line 7729 "gram.y" + case 1055: +#line 7880 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38862,8 +40667,8 @@ YYLTYPE yylloc; ;} break; - case 1041: -#line 7738 "gram.y" + case 1056: +#line 7889 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38874,8 +40679,8 @@ YYLTYPE yylloc; ;} break; - case 1042: -#line 7747 "gram.y" + case 1057: +#line 7898 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38886,8 +40691,8 @@ YYLTYPE yylloc; ;} break; - case 1043: -#line 7756 "gram.y" + case 1058: +#line 7907 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38898,8 +40703,8 @@ YYLTYPE yylloc; ;} break; - case 1044: -#line 7765 "gram.y" + case 1059: +#line 7916 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38910,8 +40715,8 @@ YYLTYPE yylloc; ;} break; - case 1045: -#line 7774 "gram.y" + case 1060: +#line 7925 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -38922,38 +40727,38 @@ YYLTYPE yylloc; ;} break; - case 1046: -#line 7786 "gram.y" + case 1061: +#line 7937 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;} break; - case 1047: -#line 7787 "gram.y" + case 1062: +#line 7938 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;} break; - case 1048: -#line 7791 "gram.y" + case 1063: +#line 7942 "gram.y" { (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;} break; - case 1049: -#line 7792 "gram.y" + case 1064: +#line 7943 "gram.y" { (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;} break; - case 1050: -#line 7797 "gram.y" + case 1065: +#line 7948 "gram.y" { (yyval.boolean) = true; ;} break; - case 1051: -#line 7798 "gram.y" + case 1066: +#line 7949 "gram.y" { (yyval.boolean) = false; ;} break; - case 1052: -#line 7809 "gram.y" + case 1067: +#line 7960 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); @@ -38966,8 +40771,8 @@ YYLTYPE yylloc; ;} break; - case 1053: -#line 7820 "gram.y" + case 1068: +#line 7971 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); @@ -38980,8 +40785,8 @@ YYLTYPE yylloc; ;} break; - case 1054: -#line 7834 "gram.y" + case 1069: +#line 7985 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); @@ -38995,8 +40800,8 @@ YYLTYPE yylloc; ;} break; - case 1055: -#line 7846 "gram.y" + case 1070: +#line 7997 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); DefElem *opt; @@ -39013,50 +40818,50 @@ YYLTYPE yylloc; ;} break; - case 1056: -#line 7863 "gram.y" + case 1071: +#line 8014 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1057: -#line 7864 "gram.y" + case 1072: +#line 8015 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1058: -#line 7869 "gram.y" + case 1073: +#line 8020 "gram.y" { (yyval.defelt) = makeDefElem(pstrdup((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1059: -#line 7875 "gram.y" + case 1074: +#line 8026 "gram.y" { (yyval.node) = (Node *) makeBoolean(true); ;} break; - case 1060: -#line 7876 "gram.y" + case 1075: +#line 8027 "gram.y" { (yyval.node) = (Node *) makeBoolean(true); ;} break; - case 1061: -#line 7877 "gram.y" + case 1076: +#line 8028 "gram.y" { (yyval.node) = (Node *) makeBoolean(false); ;} break; - case 1062: -#line 7880 "gram.y" + case 1077: +#line 8031 "gram.y" { (yyval.rolespec) = (yyvsp[(3) - (3)].rolespec); ;} break; - case 1063: -#line 7881 "gram.y" + case 1078: +#line 8032 "gram.y" { (yyval.rolespec) = NULL; ;} break; - case 1064: -#line 7892 "gram.y" + case 1079: +#line 8043 "gram.y" { AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt); @@ -39066,39 +40871,39 @@ YYLTYPE yylloc; ;} break; - case 1065: -#line 7902 "gram.y" + case 1080: +#line 8053 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1066: -#line 7903 "gram.y" + case 1081: +#line 8054 "gram.y" { (yyval.list) = NIL; ;} break; - case 1067: -#line 7908 "gram.y" + case 1082: +#line 8059 "gram.y" { (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1068: -#line 7912 "gram.y" + case 1083: +#line 8063 "gram.y" { (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1069: -#line 7916 "gram.y" + case 1084: +#line 8067 "gram.y" { (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1070: -#line 7928 "gram.y" + case 1085: +#line 8079 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -39113,8 +40918,8 @@ YYLTYPE yylloc; ;} break; - case 1071: -#line 7942 "gram.y" + case 1086: +#line 8093 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -39130,8 +40935,8 @@ YYLTYPE yylloc; ;} break; - case 1072: -#line 7957 "gram.y" + case 1087: +#line 8108 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -39147,38 +40952,38 @@ YYLTYPE yylloc; ;} break; - case 1073: -#line 7973 "gram.y" + case 1088: +#line 8124 "gram.y" { (yyval.ival) = OBJECT_TABLE; ;} break; - case 1074: -#line 7974 "gram.y" + case 1089: +#line 8125 "gram.y" { (yyval.ival) = OBJECT_FUNCTION; ;} break; - case 1075: -#line 7975 "gram.y" + case 1090: +#line 8126 "gram.y" { (yyval.ival) = OBJECT_FUNCTION; ;} break; - case 1076: -#line 7976 "gram.y" + case 1091: +#line 8127 "gram.y" { (yyval.ival) = OBJECT_SEQUENCE; ;} break; - case 1077: -#line 7977 "gram.y" + case 1092: +#line 8128 "gram.y" { (yyval.ival) = OBJECT_TYPE; ;} break; - case 1078: -#line 7978 "gram.y" + case 1093: +#line 8129 "gram.y" { (yyval.ival) = OBJECT_SCHEMA; ;} break; - case 1079: -#line 7993 "gram.y" + case 1094: +#line 8144 "gram.y" { IndexStmt *n = makeNode(IndexStmt); @@ -39210,8 +41015,8 @@ YYLTYPE yylloc; ;} break; - case 1080: -#line 8025 "gram.y" + case 1095: +#line 8176 "gram.y" { IndexStmt *n = makeNode(IndexStmt); @@ -39243,38 +41048,38 @@ YYLTYPE yylloc; ;} break; - case 1081: -#line 8057 "gram.y" + case 1096: +#line 8208 "gram.y" { (yyval.boolean) = true; ;} break; - case 1082: -#line 8058 "gram.y" + case 1097: +#line 8209 "gram.y" { (yyval.boolean) = false; ;} break; - case 1083: -#line 8062 "gram.y" + case 1098: +#line 8213 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1084: -#line 8063 "gram.y" + case 1099: +#line 8214 "gram.y" { (yyval.str) = DEFAULT_INDEX_TYPE; ;} break; - case 1085: -#line 8066 "gram.y" + case 1100: +#line 8217 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;} break; - case 1086: -#line 8067 "gram.y" + case 1101: +#line 8218 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;} break; - case 1087: -#line 8073 "gram.y" + case 1102: +#line 8224 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; @@ -39288,8 +41093,8 @@ YYLTYPE yylloc; ;} break; - case 1088: -#line 8085 "gram.y" + case 1103: +#line 8236 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; @@ -39303,92 +41108,92 @@ YYLTYPE yylloc; ;} break; - case 1089: -#line 8104 "gram.y" + case 1104: +#line 8255 "gram.y" { (yyval.ielem) = (yyvsp[(2) - (2)].ielem); (yyval.ielem)->name = (yyvsp[(1) - (2)].str); ;} break; - case 1090: -#line 8109 "gram.y" + case 1105: +#line 8260 "gram.y" { (yyval.ielem) = (yyvsp[(2) - (2)].ielem); (yyval.ielem)->expr = (yyvsp[(1) - (2)].node); ;} break; - case 1091: -#line 8114 "gram.y" + case 1106: +#line 8265 "gram.y" { (yyval.ielem) = (yyvsp[(4) - (4)].ielem); (yyval.ielem)->expr = (yyvsp[(2) - (4)].node); ;} break; - case 1092: -#line 8120 "gram.y" + case 1107: +#line 8271 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1093: -#line 8121 "gram.y" + case 1108: +#line 8272 "gram.y" { (yyval.list) = NIL; ;} break; - case 1094: -#line 8124 "gram.y" + case 1109: +#line 8275 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;} break; - case 1095: -#line 8125 "gram.y" + case 1110: +#line 8276 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;} break; - case 1096: -#line 8128 "gram.y" + case 1111: +#line 8279 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1097: -#line 8129 "gram.y" + case 1112: +#line 8280 "gram.y" { (yyval.list) = NIL; ;} break; - case 1098: -#line 8133 "gram.y" + case 1113: +#line 8284 "gram.y" { (yyval.ival) = SORTBY_ASC; ;} break; - case 1099: -#line 8134 "gram.y" + case 1114: +#line 8285 "gram.y" { (yyval.ival) = SORTBY_DESC; ;} break; - case 1100: -#line 8135 "gram.y" + case 1115: +#line 8286 "gram.y" { (yyval.ival) = SORTBY_DEFAULT; ;} break; - case 1101: -#line 8138 "gram.y" + case 1116: +#line 8289 "gram.y" { (yyval.ival) = SORTBY_NULLS_FIRST; ;} break; - case 1102: -#line 8139 "gram.y" + case 1117: +#line 8290 "gram.y" { (yyval.ival) = SORTBY_NULLS_LAST; ;} break; - case 1103: -#line 8140 "gram.y" + case 1118: +#line 8291 "gram.y" { (yyval.ival) = SORTBY_NULLS_DEFAULT; ;} break; - case 1104: -#line 8158 "gram.y" + case 1119: +#line 8309 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -39403,8 +41208,8 @@ YYLTYPE yylloc; ;} break; - case 1105: -#line 8172 "gram.y" + case 1120: +#line 8323 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -39420,8 +41225,8 @@ YYLTYPE yylloc; ;} break; - case 1106: -#line 8187 "gram.y" + case 1121: +#line 8338 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -39436,8 +41241,8 @@ YYLTYPE yylloc; ;} break; - case 1107: -#line 8201 "gram.y" + case 1122: +#line 8352 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -39452,48 +41257,48 @@ YYLTYPE yylloc; ;} break; - case 1108: -#line 8216 "gram.y" + case 1123: +#line 8367 "gram.y" { (yyval.boolean) = true; ;} break; - case 1109: -#line 8217 "gram.y" + case 1124: +#line 8368 "gram.y" { (yyval.boolean) = false; ;} break; - case 1110: -#line 8220 "gram.y" + case 1125: +#line 8371 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1111: -#line 8221 "gram.y" + case 1126: +#line 8372 "gram.y" { (yyval.list) = NIL; ;} break; - case 1112: -#line 8225 "gram.y" + case 1127: +#line 8376 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1113: -#line 8226 "gram.y" + case 1128: +#line 8377 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1114: -#line 8230 "gram.y" + case 1129: +#line 8381 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1115: -#line 8232 "gram.y" + case 1130: +#line 8383 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1116: -#line 8237 "gram.y" + case 1131: +#line 8388 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39504,8 +41309,8 @@ YYLTYPE yylloc; ;} break; - case 1117: -#line 8251 "gram.y" + case 1132: +#line 8402 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39515,8 +41320,8 @@ YYLTYPE yylloc; ;} break; - case 1118: -#line 8259 "gram.y" + case 1133: +#line 8410 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39526,8 +41331,8 @@ YYLTYPE yylloc; ;} break; - case 1119: -#line 8267 "gram.y" + case 1134: +#line 8418 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39538,28 +41343,28 @@ YYLTYPE yylloc; ;} break; - case 1120: -#line 8282 "gram.y" + case 1135: +#line 8433 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1121: -#line 8283 "gram.y" + case 1136: +#line 8434 "gram.y" { (yyval.list) = NIL; ;} break; - case 1122: -#line 8287 "gram.y" + case 1137: +#line 8438 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1123: -#line 8289 "gram.y" + case 1138: +#line 8440 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1124: -#line 8304 "gram.y" + case 1139: +#line 8455 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -39571,8 +41376,8 @@ YYLTYPE yylloc; ;} break; - case 1125: -#line 8314 "gram.y" + case 1140: +#line 8465 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -39584,8 +41389,8 @@ YYLTYPE yylloc; ;} break; - case 1126: -#line 8324 "gram.y" + case 1141: +#line 8475 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -39597,8 +41402,8 @@ YYLTYPE yylloc; ;} break; - case 1127: -#line 8334 "gram.y" + case 1142: +#line 8485 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -39610,8 +41415,8 @@ YYLTYPE yylloc; ;} break; - case 1128: -#line 8344 "gram.y" + case 1143: +#line 8495 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -39623,33 +41428,33 @@ YYLTYPE yylloc; ;} break; - case 1129: -#line 8356 "gram.y" + case 1144: +#line 8507 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_IN; ;} break; - case 1130: -#line 8357 "gram.y" + case 1145: +#line 8508 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;} break; - case 1131: -#line 8358 "gram.y" + case 1146: +#line 8509 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;} break; - case 1132: -#line 8359 "gram.y" + case 1147: +#line 8510 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;} break; - case 1133: -#line 8360 "gram.y" + case 1148: +#line 8511 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;} break; - case 1135: -#line 8371 "gram.y" + case 1150: +#line 8522 "gram.y" { /* We can catch over-specified results here if we want to, * but for now better to silently swallow typmod, etc. @@ -39659,13 +41464,13 @@ YYLTYPE yylloc; ;} break; - case 1136: -#line 8385 "gram.y" + case 1151: +#line 8536 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1137: -#line 8387 "gram.y" + case 1152: +#line 8538 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list))); (yyval.typnam)->pct_type = true; @@ -39673,8 +41478,8 @@ YYLTYPE yylloc; ;} break; - case 1138: -#line 8393 "gram.y" + case 1153: +#line 8544 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list))); (yyval.typnam)->pct_type = true; @@ -39683,31 +41488,31 @@ YYLTYPE yylloc; ;} break; - case 1139: -#line 8403 "gram.y" + case 1154: +#line 8554 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param); ;} break; - case 1140: -#line 8407 "gram.y" + case 1155: +#line 8558 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); ;} break; - case 1141: -#line 8412 "gram.y" + case 1156: +#line 8563 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); ;} break; - case 1142: -#line 8420 "gram.y" + case 1157: +#line 8571 "gram.y" { if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_DEFAULT || (yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN || @@ -39720,47 +41525,47 @@ YYLTYPE yylloc; ;} break; - case 1143: -#line 8462 "gram.y" + case 1158: +#line 8613 "gram.y" { (yyval.list) = list_make2(NIL, makeInteger(-1)); ;} break; - case 1144: -#line 8466 "gram.y" + case 1159: +#line 8617 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1)); ;} break; - case 1145: -#line 8470 "gram.y" + case 1160: +#line 8621 "gram.y" { (yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0)); ;} break; - case 1146: -#line 8474 "gram.y" + case 1161: +#line 8625 "gram.y" { /* this is the only case requiring consistency checking */ (yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner); ;} break; - case 1147: -#line 8481 "gram.y" + case 1162: +#line 8632 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1148: -#line 8482 "gram.y" + case 1163: +#line 8633 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1149: -#line 8487 "gram.y" + case 1164: +#line 8638 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39771,200 +41576,200 @@ YYLTYPE yylloc; ;} break; - case 1150: -#line 8498 "gram.y" + case 1165: +#line 8649 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1151: -#line 8500 "gram.y" + case 1166: +#line 8651 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1153: -#line 8505 "gram.y" + case 1168: +#line 8656 "gram.y" { (yyval.list) = NIL; ;} break; - case 1154: -#line 8510 "gram.y" + case 1169: +#line 8661 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1155: -#line 8511 "gram.y" + case 1170: +#line 8662 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1156: -#line 8519 "gram.y" + case 1171: +#line 8670 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[(1) - (4)])); ;} break; - case 1157: -#line 8523 "gram.y" + case 1172: +#line 8674 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (5)])); ;} break; - case 1158: -#line 8527 "gram.y" + case 1173: +#line 8678 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1159: -#line 8531 "gram.y" + case 1174: +#line 8682 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[(1) - (1)])); ;} break; - case 1160: -#line 8535 "gram.y" + case 1175: +#line 8686 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[(1) - (1)])); ;} break; - case 1161: -#line 8539 "gram.y" + case 1176: +#line 8690 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[(1) - (1)])); ;} break; - case 1162: -#line 8543 "gram.y" + case 1177: +#line 8694 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (3)])); ;} break; - case 1163: -#line 8547 "gram.y" + case 1178: +#line 8698 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (3)])); ;} break; - case 1164: -#line 8551 "gram.y" + case 1179: +#line 8702 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;} break; - case 1165: -#line 8555 "gram.y" + case 1180: +#line 8706 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 1166: -#line 8559 "gram.y" + case 1181: +#line 8710 "gram.y" { (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1167: -#line 8563 "gram.y" + case 1182: +#line 8714 "gram.y" { (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 1168: -#line 8567 "gram.y" + case 1183: +#line 8718 "gram.y" { (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1169: -#line 8571 "gram.y" + case 1184: +#line 8722 "gram.y" { (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1170: -#line 8575 "gram.y" + case 1185: +#line 8726 "gram.y" { (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1171: -#line 8579 "gram.y" + case 1186: +#line 8730 "gram.y" { /* we abuse the normal content of a DefElem here */ (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[(1) - (1)].vsetstmt), (yylsp[(1) - (1)])); ;} break; - case 1172: -#line 8584 "gram.y" + case 1187: +#line 8735 "gram.y" { (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1173: -#line 8591 "gram.y" + case 1188: +#line 8742 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1174: -#line 8595 "gram.y" + case 1189: +#line 8746 "gram.y" { (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1175: -#line 8599 "gram.y" + case 1190: +#line 8750 "gram.y" { (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1176: -#line 8603 "gram.y" + case 1191: +#line 8754 "gram.y" { (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1177: -#line 8607 "gram.y" + case 1192: +#line 8758 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; - case 1178: -#line 8612 "gram.y" + case 1193: +#line 8763 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1179: -#line 8614 "gram.y" + case 1194: +#line 8765 "gram.y" { (yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 1180: -#line 8620 "gram.y" + case 1195: +#line 8771 "gram.y" { ReturnStmt *r = makeNode(ReturnStmt); @@ -39973,15 +41778,15 @@ YYLTYPE yylloc; ;} break; - case 1181: -#line 8630 "gram.y" + case 1196: +#line 8781 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1182: -#line 8634 "gram.y" + case 1197: +#line 8785 "gram.y" { /* * A compound statement is stored as a single-item list @@ -39993,15 +41798,15 @@ YYLTYPE yylloc; ;} break; - case 1183: -#line 8644 "gram.y" + case 1198: +#line 8795 "gram.y" { (yyval.node) = NULL; ;} break; - case 1184: -#line 8651 "gram.y" + case 1199: +#line 8802 "gram.y" { /* As in stmtmulti, discard empty statements */ if ((yyvsp[(2) - (3)].node) != NULL) @@ -40011,35 +41816,35 @@ YYLTYPE yylloc; ;} break; - case 1185: -#line 8659 "gram.y" + case 1200: +#line 8810 "gram.y" { (yyval.list) = NIL; ;} break; - case 1188: -#line 8670 "gram.y" + case 1203: +#line 8821 "gram.y" { (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;} break; - case 1189: -#line 8671 "gram.y" + case 1204: +#line 8822 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;} break; - case 1190: -#line 8675 "gram.y" + case 1205: +#line 8826 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1191: -#line 8676 "gram.y" + case 1206: +#line 8827 "gram.y" { (yyval.list) = NIL; ;} break; - case 1192: -#line 8680 "gram.y" + case 1207: +#line 8831 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -40051,22 +41856,22 @@ YYLTYPE yylloc; ;} break; - case 1193: -#line 8693 "gram.y" + case 1208: +#line 8844 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1194: -#line 8697 "gram.y" + case 1209: +#line 8848 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1195: -#line 8712 "gram.y" + case 1210: +#line 8863 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -40077,8 +41882,8 @@ YYLTYPE yylloc; ;} break; - case 1196: -#line 8721 "gram.y" + case 1211: +#line 8872 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -40089,8 +41894,8 @@ YYLTYPE yylloc; ;} break; - case 1197: -#line 8730 "gram.y" + case 1212: +#line 8881 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -40101,18 +41906,18 @@ YYLTYPE yylloc; ;} break; - case 1198: -#line 8742 "gram.y" + case 1213: +#line 8893 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1199: -#line 8743 "gram.y" + case 1214: +#line 8894 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1202: -#line 8767 "gram.y" + case 1217: +#line 8918 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40125,8 +41930,8 @@ YYLTYPE yylloc; ;} break; - case 1203: -#line 8778 "gram.y" + case 1218: +#line 8929 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40139,8 +41944,8 @@ YYLTYPE yylloc; ;} break; - case 1204: -#line 8789 "gram.y" + case 1219: +#line 8940 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40153,8 +41958,8 @@ YYLTYPE yylloc; ;} break; - case 1205: -#line 8800 "gram.y" + case 1220: +#line 8951 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40167,8 +41972,8 @@ YYLTYPE yylloc; ;} break; - case 1206: -#line 8811 "gram.y" + case 1221: +#line 8962 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40181,8 +41986,8 @@ YYLTYPE yylloc; ;} break; - case 1207: -#line 8822 "gram.y" + case 1222: +#line 8973 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40195,8 +42000,8 @@ YYLTYPE yylloc; ;} break; - case 1208: -#line 8836 "gram.y" + case 1223: +#line 8987 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40209,8 +42014,8 @@ YYLTYPE yylloc; ;} break; - case 1209: -#line 8847 "gram.y" + case 1224: +#line 8998 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40223,8 +42028,8 @@ YYLTYPE yylloc; ;} break; - case 1210: -#line 8861 "gram.y" + case 1225: +#line 9012 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40237,8 +42042,8 @@ YYLTYPE yylloc; ;} break; - case 1211: -#line 8872 "gram.y" + case 1226: +#line 9023 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40251,8 +42056,8 @@ YYLTYPE yylloc; ;} break; - case 1212: -#line 8886 "gram.y" + case 1227: +#line 9037 "gram.y" { ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), @@ -40262,43 +42067,43 @@ YYLTYPE yylloc; ;} break; - case 1213: -#line 8894 "gram.y" + case 1228: +#line 9045 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;} break; - case 1214: -#line 8896 "gram.y" + case 1229: +#line 9047 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;} break; - case 1215: -#line 8898 "gram.y" + case 1230: +#line 9049 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;} break; - case 1216: -#line 8903 "gram.y" + case 1231: +#line 9054 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1217: -#line 8905 "gram.y" + case 1232: +#line 9056 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;} break; - case 1218: -#line 8909 "gram.y" + case 1233: +#line 9060 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1219: -#line 8911 "gram.y" + case 1234: +#line 9062 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1220: -#line 8916 "gram.y" + case 1235: +#line 9067 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -40308,8 +42113,8 @@ YYLTYPE yylloc; ;} break; - case 1221: -#line 8935 "gram.y" + case 1236: +#line 9086 "gram.y" { DoStmt *n = makeNode(DoStmt); @@ -40318,32 +42123,32 @@ YYLTYPE yylloc; ;} break; - case 1222: -#line 8944 "gram.y" + case 1237: +#line 9095 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1223: -#line 8945 "gram.y" + case 1238: +#line 9096 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1224: -#line 8950 "gram.y" + case 1239: +#line 9101 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[(1) - (1)].str)), (yylsp[(1) - (1)])); ;} break; - case 1225: -#line 8954 "gram.y" + case 1240: +#line 9105 "gram.y" { (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1226: -#line 8967 "gram.y" + case 1241: +#line 9118 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -40356,8 +42161,8 @@ YYLTYPE yylloc; ;} break; - case 1227: -#line 8979 "gram.y" + case 1242: +#line 9130 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -40370,8 +42175,8 @@ YYLTYPE yylloc; ;} break; - case 1228: -#line 8991 "gram.y" + case 1243: +#line 9142 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -40384,23 +42189,23 @@ YYLTYPE yylloc; ;} break; - case 1229: -#line 9003 "gram.y" + case 1244: +#line 9154 "gram.y" { (yyval.ival) = COERCION_IMPLICIT; ;} break; - case 1230: -#line 9004 "gram.y" + case 1245: +#line 9155 "gram.y" { (yyval.ival) = COERCION_ASSIGNMENT; ;} break; - case 1231: -#line 9005 "gram.y" + case 1246: +#line 9156 "gram.y" { (yyval.ival) = COERCION_EXPLICIT; ;} break; - case 1232: -#line 9010 "gram.y" + case 1247: +#line 9161 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40413,18 +42218,18 @@ YYLTYPE yylloc; ;} break; - case 1233: -#line 9022 "gram.y" + case 1248: +#line 9173 "gram.y" { (yyval.boolean) = true; ;} break; - case 1234: -#line 9023 "gram.y" + case 1249: +#line 9174 "gram.y" { (yyval.boolean) = false; ;} break; - case 1235: -#line 9034 "gram.y" + case 1250: +#line 9185 "gram.y" { CreateTransformStmt *n = makeNode(CreateTransformStmt); @@ -40437,36 +42242,36 @@ YYLTYPE yylloc; ;} break; - case 1236: -#line 9047 "gram.y" + case 1251: +#line 9198 "gram.y" { (yyval.list) = list_make2((yyvsp[(5) - (11)].objwithargs), (yyvsp[(11) - (11)].objwithargs)); ;} break; - case 1237: -#line 9051 "gram.y" + case 1252: +#line 9202 "gram.y" { (yyval.list) = list_make2((yyvsp[(11) - (11)].objwithargs), (yyvsp[(5) - (11)].objwithargs)); ;} break; - case 1238: -#line 9055 "gram.y" + case 1253: +#line 9206 "gram.y" { (yyval.list) = list_make2((yyvsp[(5) - (5)].objwithargs), NULL); ;} break; - case 1239: -#line 9059 "gram.y" + case 1254: +#line 9210 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].objwithargs)); ;} break; - case 1240: -#line 9066 "gram.y" + case 1255: +#line 9217 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -40478,8 +42283,8 @@ YYLTYPE yylloc; ;} break; - case 1241: -#line 9088 "gram.y" + case 1256: +#line 9239 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); @@ -40494,8 +42299,8 @@ YYLTYPE yylloc; ;} break; - case 1242: -#line 9101 "gram.y" + case 1257: +#line 9252 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); @@ -40510,8 +42315,8 @@ YYLTYPE yylloc; ;} break; - case 1243: -#line 9114 "gram.y" + case 1258: +#line 9265 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); @@ -40526,38 +42331,38 @@ YYLTYPE yylloc; ;} break; - case 1244: -#line 9128 "gram.y" + case 1259: +#line 9279 "gram.y" { (yyval.ival) = REINDEX_OBJECT_INDEX; ;} break; - case 1245: -#line 9129 "gram.y" + case 1260: +#line 9280 "gram.y" { (yyval.ival) = REINDEX_OBJECT_TABLE; ;} break; - case 1246: -#line 9132 "gram.y" + case 1261: +#line 9283 "gram.y" { (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;} break; - case 1247: -#line 9133 "gram.y" + case 1262: +#line 9284 "gram.y" { (yyval.ival) = REINDEX_OBJECT_DATABASE; ;} break; - case 1248: -#line 9136 "gram.y" + case 1263: +#line 9287 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1249: -#line 9137 "gram.y" + case 1264: +#line 9288 "gram.y" { (yyval.list) = NULL; ;} break; - case 1250: -#line 9148 "gram.y" + case 1265: +#line 9299 "gram.y" { AlterTableSpaceOptionsStmt *n = makeNode(AlterTableSpaceOptionsStmt); @@ -40569,8 +42374,8 @@ YYLTYPE yylloc; ;} break; - case 1251: -#line 9158 "gram.y" + case 1266: +#line 9309 "gram.y" { AlterTableSpaceOptionsStmt *n = makeNode(AlterTableSpaceOptionsStmt); @@ -40582,8 +42387,8 @@ YYLTYPE yylloc; ;} break; - case 1252: -#line 9176 "gram.y" + case 1267: +#line 9327 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40595,8 +42400,8 @@ YYLTYPE yylloc; ;} break; - case 1253: -#line 9186 "gram.y" + case 1268: +#line 9337 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40608,8 +42413,8 @@ YYLTYPE yylloc; ;} break; - case 1254: -#line 9196 "gram.y" + case 1269: +#line 9347 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40621,8 +42426,8 @@ YYLTYPE yylloc; ;} break; - case 1255: -#line 9206 "gram.y" + case 1270: +#line 9357 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40634,8 +42439,8 @@ YYLTYPE yylloc; ;} break; - case 1256: -#line 9216 "gram.y" + case 1271: +#line 9367 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40647,8 +42452,8 @@ YYLTYPE yylloc; ;} break; - case 1257: -#line 9226 "gram.y" + case 1272: +#line 9377 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40660,8 +42465,8 @@ YYLTYPE yylloc; ;} break; - case 1258: -#line 9236 "gram.y" + case 1273: +#line 9387 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40673,8 +42478,8 @@ YYLTYPE yylloc; ;} break; - case 1259: -#line 9246 "gram.y" + case 1274: +#line 9397 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40686,8 +42491,8 @@ YYLTYPE yylloc; ;} break; - case 1260: -#line 9256 "gram.y" + case 1275: +#line 9407 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40699,8 +42504,8 @@ YYLTYPE yylloc; ;} break; - case 1261: -#line 9266 "gram.y" + case 1276: +#line 9417 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40712,8 +42517,8 @@ YYLTYPE yylloc; ;} break; - case 1262: -#line 9276 "gram.y" + case 1277: +#line 9427 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40725,8 +42530,8 @@ YYLTYPE yylloc; ;} break; - case 1263: -#line 9286 "gram.y" + case 1278: +#line 9437 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40738,8 +42543,8 @@ YYLTYPE yylloc; ;} break; - case 1264: -#line 9296 "gram.y" + case 1279: +#line 9447 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40752,8 +42557,8 @@ YYLTYPE yylloc; ;} break; - case 1265: -#line 9307 "gram.y" + case 1280: +#line 9458 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40766,8 +42571,8 @@ YYLTYPE yylloc; ;} break; - case 1266: -#line 9318 "gram.y" + case 1281: +#line 9469 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40779,8 +42584,8 @@ YYLTYPE yylloc; ;} break; - case 1267: -#line 9328 "gram.y" + case 1282: +#line 9479 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40792,8 +42597,8 @@ YYLTYPE yylloc; ;} break; - case 1268: -#line 9338 "gram.y" + case 1283: +#line 9489 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40805,8 +42610,8 @@ YYLTYPE yylloc; ;} break; - case 1269: -#line 9348 "gram.y" + case 1284: +#line 9499 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40818,8 +42623,8 @@ YYLTYPE yylloc; ;} break; - case 1270: -#line 9358 "gram.y" + case 1285: +#line 9509 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40831,8 +42636,8 @@ YYLTYPE yylloc; ;} break; - case 1271: -#line 9368 "gram.y" + case 1286: +#line 9519 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40844,8 +42649,8 @@ YYLTYPE yylloc; ;} break; - case 1272: -#line 9378 "gram.y" + case 1287: +#line 9529 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40858,8 +42663,8 @@ YYLTYPE yylloc; ;} break; - case 1273: -#line 9389 "gram.y" + case 1288: +#line 9540 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40872,8 +42677,8 @@ YYLTYPE yylloc; ;} break; - case 1274: -#line 9400 "gram.y" + case 1289: +#line 9551 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40886,8 +42691,8 @@ YYLTYPE yylloc; ;} break; - case 1275: -#line 9411 "gram.y" + case 1290: +#line 9562 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40900,8 +42705,8 @@ YYLTYPE yylloc; ;} break; - case 1276: -#line 9422 "gram.y" + case 1291: +#line 9573 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40914,8 +42719,8 @@ YYLTYPE yylloc; ;} break; - case 1277: -#line 9433 "gram.y" + case 1292: +#line 9584 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40928,8 +42733,8 @@ YYLTYPE yylloc; ;} break; - case 1278: -#line 9444 "gram.y" + case 1293: +#line 9595 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40942,8 +42747,8 @@ YYLTYPE yylloc; ;} break; - case 1279: -#line 9455 "gram.y" + case 1294: +#line 9606 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40956,8 +42761,8 @@ YYLTYPE yylloc; ;} break; - case 1280: -#line 9466 "gram.y" + case 1295: +#line 9617 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40970,8 +42775,8 @@ YYLTYPE yylloc; ;} break; - case 1281: -#line 9477 "gram.y" + case 1296: +#line 9628 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40984,8 +42789,8 @@ YYLTYPE yylloc; ;} break; - case 1282: -#line 9488 "gram.y" + case 1297: +#line 9639 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40998,8 +42803,8 @@ YYLTYPE yylloc; ;} break; - case 1283: -#line 9499 "gram.y" + case 1298: +#line 9650 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41012,8 +42817,8 @@ YYLTYPE yylloc; ;} break; - case 1284: -#line 9510 "gram.y" + case 1299: +#line 9661 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41027,8 +42832,8 @@ YYLTYPE yylloc; ;} break; - case 1285: -#line 9522 "gram.y" + case 1300: +#line 9673 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41042,8 +42847,8 @@ YYLTYPE yylloc; ;} break; - case 1286: -#line 9534 "gram.y" + case 1301: +#line 9685 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41057,8 +42862,8 @@ YYLTYPE yylloc; ;} break; - case 1287: -#line 9546 "gram.y" + case 1302: +#line 9697 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41072,8 +42877,8 @@ YYLTYPE yylloc; ;} break; - case 1288: -#line 9558 "gram.y" + case 1303: +#line 9709 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41087,8 +42892,8 @@ YYLTYPE yylloc; ;} break; - case 1289: -#line 9570 "gram.y" + case 1304: +#line 9721 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41102,8 +42907,8 @@ YYLTYPE yylloc; ;} break; - case 1290: -#line 9582 "gram.y" + case 1305: +#line 9733 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41116,8 +42921,8 @@ YYLTYPE yylloc; ;} break; - case 1291: -#line 9593 "gram.y" + case 1306: +#line 9744 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41130,8 +42935,8 @@ YYLTYPE yylloc; ;} break; - case 1292: -#line 9604 "gram.y" + case 1307: +#line 9755 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41145,8 +42950,8 @@ YYLTYPE yylloc; ;} break; - case 1293: -#line 9616 "gram.y" + case 1308: +#line 9767 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41160,8 +42965,8 @@ YYLTYPE yylloc; ;} break; - case 1294: -#line 9628 "gram.y" + case 1309: +#line 9779 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41174,8 +42979,8 @@ YYLTYPE yylloc; ;} break; - case 1295: -#line 9639 "gram.y" + case 1310: +#line 9790 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41188,8 +42993,8 @@ YYLTYPE yylloc; ;} break; - case 1296: -#line 9650 "gram.y" + case 1311: +#line 9801 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41200,8 +43005,8 @@ YYLTYPE yylloc; ;} break; - case 1297: -#line 9659 "gram.y" + case 1312: +#line 9810 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41213,8 +43018,8 @@ YYLTYPE yylloc; ;} break; - case 1298: -#line 9669 "gram.y" + case 1313: +#line 9820 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41226,8 +43031,8 @@ YYLTYPE yylloc; ;} break; - case 1299: -#line 9679 "gram.y" + case 1314: +#line 9830 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41239,8 +43044,8 @@ YYLTYPE yylloc; ;} break; - case 1300: -#line 9689 "gram.y" + case 1315: +#line 9840 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41252,8 +43057,8 @@ YYLTYPE yylloc; ;} break; - case 1301: -#line 9699 "gram.y" + case 1316: +#line 9850 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41265,8 +43070,8 @@ YYLTYPE yylloc; ;} break; - case 1302: -#line 9709 "gram.y" + case 1317: +#line 9860 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41278,8 +43083,8 @@ YYLTYPE yylloc; ;} break; - case 1303: -#line 9719 "gram.y" + case 1318: +#line 9870 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41291,8 +43096,8 @@ YYLTYPE yylloc; ;} break; - case 1304: -#line 9729 "gram.y" + case 1319: +#line 9880 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41304,8 +43109,8 @@ YYLTYPE yylloc; ;} break; - case 1305: -#line 9739 "gram.y" + case 1320: +#line 9890 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41317,8 +43122,8 @@ YYLTYPE yylloc; ;} break; - case 1306: -#line 9749 "gram.y" + case 1321: +#line 9900 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -41333,18 +43138,18 @@ YYLTYPE yylloc; ;} break; - case 1309: -#line 9767 "gram.y" + case 1324: +#line 9918 "gram.y" { (yyval.ival) = 1; ;} break; - case 1310: -#line 9768 "gram.y" + case 1325: +#line 9919 "gram.y" { (yyval.ival) = 0; ;} break; - case 1311: -#line 9779 "gram.y" + case 1326: +#line 9930 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41356,8 +43161,8 @@ YYLTYPE yylloc; ;} break; - case 1312: -#line 9789 "gram.y" + case 1327: +#line 9940 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41369,8 +43174,8 @@ YYLTYPE yylloc; ;} break; - case 1313: -#line 9799 "gram.y" + case 1328: +#line 9950 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41382,8 +43187,8 @@ YYLTYPE yylloc; ;} break; - case 1314: -#line 9809 "gram.y" + case 1329: +#line 9960 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41396,8 +43201,8 @@ YYLTYPE yylloc; ;} break; - case 1315: -#line 9820 "gram.y" + case 1330: +#line 9971 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41409,8 +43214,8 @@ YYLTYPE yylloc; ;} break; - case 1316: -#line 9830 "gram.y" + case 1331: +#line 9981 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -41422,18 +43227,18 @@ YYLTYPE yylloc; ;} break; - case 1317: -#line 9841 "gram.y" + case 1332: +#line 9992 "gram.y" { (yyval.boolean) = true; ;} break; - case 1318: -#line 9842 "gram.y" + case 1333: +#line 9993 "gram.y" { (yyval.boolean) = false; ;} break; - case 1319: -#line 9853 "gram.y" + case 1334: +#line 10004 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41445,8 +43250,8 @@ YYLTYPE yylloc; ;} break; - case 1320: -#line 9863 "gram.y" + case 1335: +#line 10014 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41458,8 +43263,8 @@ YYLTYPE yylloc; ;} break; - case 1321: -#line 9873 "gram.y" + case 1336: +#line 10024 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41471,8 +43276,8 @@ YYLTYPE yylloc; ;} break; - case 1322: -#line 9883 "gram.y" + case 1337: +#line 10034 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41484,8 +43289,8 @@ YYLTYPE yylloc; ;} break; - case 1323: -#line 9893 "gram.y" + case 1338: +#line 10044 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41497,8 +43302,8 @@ YYLTYPE yylloc; ;} break; - case 1324: -#line 9903 "gram.y" + case 1339: +#line 10054 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41510,8 +43315,8 @@ YYLTYPE yylloc; ;} break; - case 1325: -#line 9913 "gram.y" + case 1340: +#line 10064 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41523,8 +43328,8 @@ YYLTYPE yylloc; ;} break; - case 1326: -#line 9923 "gram.y" + case 1341: +#line 10074 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41536,8 +43341,8 @@ YYLTYPE yylloc; ;} break; - case 1327: -#line 9933 "gram.y" + case 1342: +#line 10084 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41549,8 +43354,8 @@ YYLTYPE yylloc; ;} break; - case 1328: -#line 9943 "gram.y" + case 1343: +#line 10094 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41562,8 +43367,8 @@ YYLTYPE yylloc; ;} break; - case 1329: -#line 9953 "gram.y" + case 1344: +#line 10104 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41575,8 +43380,8 @@ YYLTYPE yylloc; ;} break; - case 1330: -#line 9963 "gram.y" + case 1345: +#line 10114 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41588,8 +43393,8 @@ YYLTYPE yylloc; ;} break; - case 1331: -#line 9973 "gram.y" + case 1346: +#line 10124 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41601,8 +43406,8 @@ YYLTYPE yylloc; ;} break; - case 1332: -#line 9983 "gram.y" + case 1347: +#line 10134 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41614,8 +43419,8 @@ YYLTYPE yylloc; ;} break; - case 1333: -#line 9993 "gram.y" + case 1348: +#line 10144 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41627,8 +43432,8 @@ YYLTYPE yylloc; ;} break; - case 1334: -#line 10003 "gram.y" + case 1349: +#line 10154 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41640,8 +43445,8 @@ YYLTYPE yylloc; ;} break; - case 1335: -#line 10013 "gram.y" + case 1350: +#line 10164 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41653,8 +43458,8 @@ YYLTYPE yylloc; ;} break; - case 1336: -#line 10023 "gram.y" + case 1351: +#line 10174 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41666,8 +43471,8 @@ YYLTYPE yylloc; ;} break; - case 1337: -#line 10033 "gram.y" + case 1352: +#line 10184 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41679,8 +43484,8 @@ YYLTYPE yylloc; ;} break; - case 1338: -#line 10043 "gram.y" + case 1353: +#line 10194 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41692,8 +43497,8 @@ YYLTYPE yylloc; ;} break; - case 1339: -#line 10053 "gram.y" + case 1354: +#line 10204 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41705,8 +43510,8 @@ YYLTYPE yylloc; ;} break; - case 1340: -#line 10063 "gram.y" + case 1355: +#line 10214 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41718,8 +43523,8 @@ YYLTYPE yylloc; ;} break; - case 1341: -#line 10073 "gram.y" + case 1356: +#line 10224 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41731,8 +43536,8 @@ YYLTYPE yylloc; ;} break; - case 1342: -#line 10083 "gram.y" + case 1357: +#line 10234 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41744,8 +43549,8 @@ YYLTYPE yylloc; ;} break; - case 1343: -#line 10093 "gram.y" + case 1358: +#line 10244 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41757,8 +43562,8 @@ YYLTYPE yylloc; ;} break; - case 1344: -#line 10103 "gram.y" + case 1359: +#line 10254 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41770,8 +43575,8 @@ YYLTYPE yylloc; ;} break; - case 1345: -#line 10113 "gram.y" + case 1360: +#line 10264 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -41783,8 +43588,8 @@ YYLTYPE yylloc; ;} break; - case 1346: -#line 10132 "gram.y" + case 1361: +#line 10283 "gram.y" { AlterOperatorStmt *n = makeNode(AlterOperatorStmt); @@ -41794,53 +43599,58 @@ YYLTYPE yylloc; ;} break; - case 1347: -#line 10141 "gram.y" + case 1362: +#line 10292 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1348: -#line 10142 "gram.y" + case 1363: +#line 10293 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1349: -#line 10146 "gram.y" + case 1364: +#line 10297 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;} break; - case 1350: -#line 10148 "gram.y" + case 1365: +#line 10299 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 1351: -#line 10153 "gram.y" + case 1366: +#line 10301 "gram.y" + { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} + break; + + case 1367: +#line 10306 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;} break; - case 1352: -#line 10154 "gram.y" + case 1368: +#line 10307 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 1353: -#line 10155 "gram.y" + case 1369: +#line 10308 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;} break; - case 1354: -#line 10156 "gram.y" + case 1370: +#line 10309 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 1355: -#line 10157 "gram.y" + case 1371: +#line 10310 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 1356: -#line 10170 "gram.y" + case 1372: +#line 10323 "gram.y" { AlterTypeStmt *n = makeNode(AlterTypeStmt); @@ -41850,8 +43660,8 @@ YYLTYPE yylloc; ;} break; - case 1357: -#line 10186 "gram.y" + case 1373: +#line 10339 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41862,8 +43672,8 @@ YYLTYPE yylloc; ;} break; - case 1358: -#line 10195 "gram.y" + case 1374: +#line 10348 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41874,8 +43684,8 @@ YYLTYPE yylloc; ;} break; - case 1359: -#line 10204 "gram.y" + case 1375: +#line 10357 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41886,8 +43696,8 @@ YYLTYPE yylloc; ;} break; - case 1360: -#line 10213 "gram.y" + case 1376: +#line 10366 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41898,8 +43708,8 @@ YYLTYPE yylloc; ;} break; - case 1361: -#line 10222 "gram.y" + case 1377: +#line 10375 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41910,8 +43720,8 @@ YYLTYPE yylloc; ;} break; - case 1362: -#line 10231 "gram.y" + case 1378: +#line 10384 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41922,8 +43732,8 @@ YYLTYPE yylloc; ;} break; - case 1363: -#line 10240 "gram.y" + case 1379: +#line 10393 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41934,8 +43744,8 @@ YYLTYPE yylloc; ;} break; - case 1364: -#line 10249 "gram.y" + case 1380: +#line 10402 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41946,8 +43756,8 @@ YYLTYPE yylloc; ;} break; - case 1365: -#line 10258 "gram.y" + case 1381: +#line 10411 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41958,8 +43768,8 @@ YYLTYPE yylloc; ;} break; - case 1366: -#line 10267 "gram.y" + case 1382: +#line 10420 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41970,8 +43780,8 @@ YYLTYPE yylloc; ;} break; - case 1367: -#line 10276 "gram.y" + case 1383: +#line 10429 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41982,8 +43792,8 @@ YYLTYPE yylloc; ;} break; - case 1368: -#line 10285 "gram.y" + case 1384: +#line 10438 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41994,8 +43804,8 @@ YYLTYPE yylloc; ;} break; - case 1369: -#line 10294 "gram.y" + case 1385: +#line 10447 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42006,8 +43816,8 @@ YYLTYPE yylloc; ;} break; - case 1370: -#line 10303 "gram.y" + case 1386: +#line 10456 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42018,8 +43828,8 @@ YYLTYPE yylloc; ;} break; - case 1371: -#line 10312 "gram.y" + case 1387: +#line 10465 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42030,8 +43840,8 @@ YYLTYPE yylloc; ;} break; - case 1372: -#line 10321 "gram.y" + case 1388: +#line 10474 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42042,8 +43852,8 @@ YYLTYPE yylloc; ;} break; - case 1373: -#line 10330 "gram.y" + case 1389: +#line 10483 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42054,8 +43864,8 @@ YYLTYPE yylloc; ;} break; - case 1374: -#line 10339 "gram.y" + case 1390: +#line 10492 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42066,8 +43876,8 @@ YYLTYPE yylloc; ;} break; - case 1375: -#line 10348 "gram.y" + case 1391: +#line 10501 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42078,8 +43888,8 @@ YYLTYPE yylloc; ;} break; - case 1376: -#line 10357 "gram.y" + case 1392: +#line 10510 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42090,8 +43900,8 @@ YYLTYPE yylloc; ;} break; - case 1377: -#line 10366 "gram.y" + case 1393: +#line 10519 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42102,8 +43912,8 @@ YYLTYPE yylloc; ;} break; - case 1378: -#line 10375 "gram.y" + case 1394: +#line 10528 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42114,8 +43924,8 @@ YYLTYPE yylloc; ;} break; - case 1379: -#line 10384 "gram.y" + case 1395: +#line 10537 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42126,8 +43936,8 @@ YYLTYPE yylloc; ;} break; - case 1380: -#line 10393 "gram.y" + case 1396: +#line 10546 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -42138,8 +43948,8 @@ YYLTYPE yylloc; ;} break; - case 1381: -#line 10421 "gram.y" + case 1397: +#line 10574 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -42149,8 +43959,8 @@ YYLTYPE yylloc; ;} break; - case 1382: -#line 10429 "gram.y" + case 1398: +#line 10582 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -42161,8 +43971,8 @@ YYLTYPE yylloc; ;} break; - case 1383: -#line 10438 "gram.y" + case 1399: +#line 10591 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -42174,8 +43984,8 @@ YYLTYPE yylloc; ;} break; - case 1384: -#line 10464 "gram.y" + case 1400: +#line 10617 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE; @@ -42186,8 +43996,8 @@ YYLTYPE yylloc; ;} break; - case 1385: -#line 10473 "gram.y" + case 1401: +#line 10626 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA; @@ -42196,8 +44006,8 @@ YYLTYPE yylloc; ;} break; - case 1386: -#line 10480 "gram.y" + case 1402: +#line 10633 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA; @@ -42205,8 +44015,8 @@ YYLTYPE yylloc; ;} break; - case 1387: -#line 10486 "gram.y" + case 1403: +#line 10639 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -42235,8 +44045,8 @@ YYLTYPE yylloc; ;} break; - case 1388: -#line 10513 "gram.y" + case 1404: +#line 10666 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -42248,8 +44058,8 @@ YYLTYPE yylloc; ;} break; - case 1389: -#line 10524 "gram.y" + case 1405: +#line 10677 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -42260,8 +44070,8 @@ YYLTYPE yylloc; ;} break; - case 1390: -#line 10533 "gram.y" + case 1406: +#line 10686 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -42269,18 +44079,18 @@ YYLTYPE yylloc; ;} break; - case 1391: -#line 10541 "gram.y" + case 1407: +#line 10694 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].publicationobjectspec)); ;} break; - case 1392: -#line 10543 "gram.y" + case 1408: +#line 10696 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].publicationobjectspec)); ;} break; - case 1393: -#line 10565 "gram.y" + case 1409: +#line 10718 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -42290,8 +44100,8 @@ YYLTYPE yylloc; ;} break; - case 1394: -#line 10573 "gram.y" + case 1410: +#line 10726 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -42303,8 +44113,8 @@ YYLTYPE yylloc; ;} break; - case 1395: -#line 10583 "gram.y" + case 1411: +#line 10736 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -42316,8 +44126,8 @@ YYLTYPE yylloc; ;} break; - case 1396: -#line 10593 "gram.y" + case 1412: +#line 10746 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -42329,8 +44139,8 @@ YYLTYPE yylloc; ;} break; - case 1397: -#line 10612 "gram.y" + case 1413: +#line 10765 "gram.y" { CreateSubscriptionStmt *n = makeNode(CreateSubscriptionStmt); @@ -42342,8 +44152,8 @@ YYLTYPE yylloc; ;} break; - case 1398: -#line 10631 "gram.y" + case 1414: +#line 10784 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42355,8 +44165,8 @@ YYLTYPE yylloc; ;} break; - case 1399: -#line 10641 "gram.y" + case 1415: +#line 10794 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42368,8 +44178,8 @@ YYLTYPE yylloc; ;} break; - case 1400: -#line 10651 "gram.y" + case 1416: +#line 10804 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42381,8 +44191,8 @@ YYLTYPE yylloc; ;} break; - case 1401: -#line 10661 "gram.y" + case 1417: +#line 10814 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42395,8 +44205,8 @@ YYLTYPE yylloc; ;} break; - case 1402: -#line 10672 "gram.y" + case 1418: +#line 10825 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42409,8 +44219,8 @@ YYLTYPE yylloc; ;} break; - case 1403: -#line 10683 "gram.y" + case 1419: +#line 10836 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42423,8 +44233,8 @@ YYLTYPE yylloc; ;} break; - case 1404: -#line 10694 "gram.y" + case 1420: +#line 10847 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42437,8 +44247,8 @@ YYLTYPE yylloc; ;} break; - case 1405: -#line 10705 "gram.y" + case 1421: +#line 10858 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42451,8 +44261,8 @@ YYLTYPE yylloc; ;} break; - case 1406: -#line 10716 "gram.y" + case 1422: +#line 10869 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -42464,8 +44274,8 @@ YYLTYPE yylloc; ;} break; - case 1407: -#line 10734 "gram.y" + case 1423: +#line 10887 "gram.y" { DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt); @@ -42476,8 +44286,8 @@ YYLTYPE yylloc; ;} break; - case 1408: -#line 10743 "gram.y" + case 1424: +#line 10896 "gram.y" { DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt); @@ -42488,8 +44298,8 @@ YYLTYPE yylloc; ;} break; - case 1409: -#line 10762 "gram.y" + case 1425: +#line 10915 "gram.y" { RuleStmt *n = makeNode(RuleStmt); @@ -42504,23 +44314,23 @@ YYLTYPE yylloc; ;} break; - case 1410: -#line 10777 "gram.y" + case 1426: +#line 10930 "gram.y" { (yyval.list) = NIL; ;} break; - case 1411: -#line 10778 "gram.y" + case 1427: +#line 10931 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1412: -#line 10779 "gram.y" + case 1428: +#line 10932 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1413: -#line 10785 "gram.y" + case 1429: +#line 10938 "gram.y" { if ((yyvsp[(3) - (3)].node) != NULL) (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); else @@ -42528,8 +44338,8 @@ YYLTYPE yylloc; ;} break; - case 1414: -#line 10791 "gram.y" + case 1430: +#line 10944 "gram.y" { if ((yyvsp[(1) - (1)].node) != NULL) (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); else @@ -42537,53 +44347,53 @@ YYLTYPE yylloc; ;} break; - case 1420: -#line 10807 "gram.y" + case 1436: +#line 10960 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1421: -#line 10808 "gram.y" + case 1437: +#line 10961 "gram.y" { (yyval.node) = NULL; ;} break; - case 1422: -#line 10811 "gram.y" + case 1438: +#line 10964 "gram.y" { (yyval.ival) = CMD_SELECT; ;} break; - case 1423: -#line 10812 "gram.y" + case 1439: +#line 10965 "gram.y" { (yyval.ival) = CMD_UPDATE; ;} break; - case 1424: -#line 10813 "gram.y" + case 1440: +#line 10966 "gram.y" { (yyval.ival) = CMD_DELETE; ;} break; - case 1425: -#line 10814 "gram.y" + case 1441: +#line 10967 "gram.y" { (yyval.ival) = CMD_INSERT; ;} break; - case 1426: -#line 10818 "gram.y" + case 1442: +#line 10971 "gram.y" { (yyval.boolean) = true; ;} break; - case 1427: -#line 10819 "gram.y" + case 1443: +#line 10972 "gram.y" { (yyval.boolean) = false; ;} break; - case 1428: -#line 10820 "gram.y" + case 1444: +#line 10973 "gram.y" { (yyval.boolean) = false; ;} break; - case 1429: -#line 10833 "gram.y" + case 1445: +#line 10986 "gram.y" { NotifyStmt *n = makeNode(NotifyStmt); @@ -42593,18 +44403,18 @@ YYLTYPE yylloc; ;} break; - case 1430: -#line 10843 "gram.y" + case 1446: +#line 10996 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1431: -#line 10844 "gram.y" + case 1447: +#line 10997 "gram.y" { (yyval.str) = NULL; ;} break; - case 1432: -#line 10848 "gram.y" + case 1448: +#line 11001 "gram.y" { ListenStmt *n = makeNode(ListenStmt); @@ -42613,8 +44423,8 @@ YYLTYPE yylloc; ;} break; - case 1433: -#line 10858 "gram.y" + case 1449: +#line 11011 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); @@ -42623,8 +44433,8 @@ YYLTYPE yylloc; ;} break; - case 1434: -#line 10865 "gram.y" + case 1450: +#line 11018 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); @@ -42633,231 +44443,245 @@ YYLTYPE yylloc; ;} break; - case 1435: -#line 10885 "gram.y" + case 1451: +#line 11038 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1436: -#line 10894 "gram.y" + case 1452: +#line 11048 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_START; n->options = (yyvsp[(3) - (3)].list); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1437: -#line 10902 "gram.y" + case 1453: +#line 11057 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1438: -#line 10911 "gram.y" + case 1454: +#line 11067 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1439: -#line 10920 "gram.y" + case 1455: +#line 11077 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_SAVEPOINT; n->savepoint_name = (yyvsp[(2) - (2)].str); + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1440: -#line 10928 "gram.y" + case 1456: +#line 11086 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->savepoint_name = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1441: -#line 10936 "gram.y" + case 1457: +#line 11095 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->savepoint_name = (yyvsp[(2) - (2)].str); + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1442: -#line 10944 "gram.y" + case 1458: +#line 11104 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->savepoint_name = (yyvsp[(5) - (5)].str); + n->location = (yylsp[(5) - (5)]); (yyval.node) = (Node *) n; ;} break; - case 1443: -#line 10952 "gram.y" + case 1459: +#line 11113 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->savepoint_name = (yyvsp[(4) - (4)].str); + n->location = (yylsp[(4) - (4)]); (yyval.node) = (Node *) n; ;} break; - case 1444: -#line 10960 "gram.y" + case 1460: +#line 11122 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_PREPARE; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1445: -#line 10968 "gram.y" + case 1461: +#line 11131 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT_PREPARED; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1446: -#line 10976 "gram.y" + case 1462: +#line 11140 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_PREPARED; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1447: -#line 10987 "gram.y" + case 1463: +#line 11152 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_BEGIN; n->options = (yyvsp[(3) - (3)].list); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1448: -#line 10995 "gram.y" + case 1464: +#line 11161 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1452: -#line 11012 "gram.y" + case 1468: +#line 11179 "gram.y" { (yyval.defelt) = makeDefElem("transaction_isolation", makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])), (yylsp[(1) - (3)])); ;} break; - case 1453: -#line 11015 "gram.y" + case 1469: +#line 11182 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", makeIntConst(true, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1454: -#line 11018 "gram.y" + case 1470: +#line 11185 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1455: -#line 11021 "gram.y" + case 1471: +#line 11188 "gram.y" { (yyval.defelt) = makeDefElem("transaction_deferrable", makeIntConst(true, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); ;} break; - case 1456: -#line 11024 "gram.y" + case 1472: +#line 11191 "gram.y" { (yyval.defelt) = makeDefElem("transaction_deferrable", makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1457: -#line 11031 "gram.y" + case 1473: +#line 11198 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1458: -#line 11033 "gram.y" + case 1474: +#line 11200 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1459: -#line 11035 "gram.y" + case 1475: +#line 11202 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1461: -#line 11041 "gram.y" + case 1477: +#line 11208 "gram.y" { (yyval.list) = NIL; ;} break; - case 1462: -#line 11045 "gram.y" + case 1478: +#line 11212 "gram.y" { (yyval.boolean) = true; ;} break; - case 1463: -#line 11046 "gram.y" + case 1479: +#line 11213 "gram.y" { (yyval.boolean) = false; ;} break; - case 1464: -#line 11047 "gram.y" + case 1480: +#line 11214 "gram.y" { (yyval.boolean) = false; ;} break; - case 1465: -#line 11061 "gram.y" + case 1481: +#line 11228 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -42872,8 +44696,8 @@ YYLTYPE yylloc; ;} break; - case 1466: -#line 11075 "gram.y" + case 1482: +#line 11242 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -42888,8 +44712,8 @@ YYLTYPE yylloc; ;} break; - case 1467: -#line 11089 "gram.y" + case 1483: +#line 11256 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -42909,8 +44733,8 @@ YYLTYPE yylloc; ;} break; - case 1468: -#line 11108 "gram.y" + case 1484: +#line 11275 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -42930,28 +44754,28 @@ YYLTYPE yylloc; ;} break; - case 1469: -#line 11128 "gram.y" + case 1485: +#line 11295 "gram.y" { (yyval.ival) = CASCADED_CHECK_OPTION; ;} break; - case 1470: -#line 11129 "gram.y" + case 1486: +#line 11296 "gram.y" { (yyval.ival) = CASCADED_CHECK_OPTION; ;} break; - case 1471: -#line 11130 "gram.y" + case 1487: +#line 11297 "gram.y" { (yyval.ival) = LOCAL_CHECK_OPTION; ;} break; - case 1472: -#line 11131 "gram.y" + case 1488: +#line 11298 "gram.y" { (yyval.ival) = NO_CHECK_OPTION; ;} break; - case 1473: -#line 11142 "gram.y" + case 1489: +#line 11309 "gram.y" { LoadStmt *n = makeNode(LoadStmt); @@ -42960,8 +44784,8 @@ YYLTYPE yylloc; ;} break; - case 1474: -#line 11159 "gram.y" + case 1490: +#line 11326 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); @@ -42971,84 +44795,84 @@ YYLTYPE yylloc; ;} break; - case 1475: -#line 11169 "gram.y" + case 1491: +#line 11336 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1476: -#line 11170 "gram.y" + case 1492: +#line 11337 "gram.y" { (yyval.list) = NIL; ;} break; - case 1477: -#line 11174 "gram.y" + case 1493: +#line 11341 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1478: -#line 11175 "gram.y" + case 1494: +#line 11342 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1479: -#line 11180 "gram.y" + case 1495: +#line 11347 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 1480: -#line 11184 "gram.y" + case 1496: +#line 11351 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 1481: -#line 11188 "gram.y" + case 1497: +#line 11355 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;} break; - case 1482: -#line 11205 "gram.y" + case 1498: +#line 11372 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1483: -#line 11206 "gram.y" + case 1499: +#line 11373 "gram.y" { (yyval.str) = pstrdup("connection_limit"); ;} break; - case 1484: -#line 11207 "gram.y" + case 1500: +#line 11374 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1485: -#line 11208 "gram.y" + case 1501: +#line 11375 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1486: -#line 11209 "gram.y" + case 1502: +#line 11376 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1487: -#line 11210 "gram.y" + case 1503: +#line 11377 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1488: -#line 11211 "gram.y" + case 1504: +#line 11378 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1491: -#line 11231 "gram.y" + case 1507: +#line 11398 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -43058,8 +44882,8 @@ YYLTYPE yylloc; ;} break; - case 1492: -#line 11239 "gram.y" + case 1508: +#line 11406 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -43069,8 +44893,8 @@ YYLTYPE yylloc; ;} break; - case 1493: -#line 11247 "gram.y" + case 1509: +#line 11414 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -43081,8 +44905,8 @@ YYLTYPE yylloc; ;} break; - case 1494: -#line 11256 "gram.y" + case 1510: +#line 11423 "gram.y" { AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt); @@ -43091,8 +44915,8 @@ YYLTYPE yylloc; ;} break; - case 1495: -#line 11266 "gram.y" + case 1511: +#line 11433 "gram.y" { AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt); @@ -43102,8 +44926,8 @@ YYLTYPE yylloc; ;} break; - case 1496: -#line 11284 "gram.y" + case 1512: +#line 11451 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -43114,8 +44938,8 @@ YYLTYPE yylloc; ;} break; - case 1497: -#line 11293 "gram.y" + case 1513: +#line 11460 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -43126,8 +44950,8 @@ YYLTYPE yylloc; ;} break; - case 1498: -#line 11302 "gram.y" + case 1514: +#line 11469 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -43138,8 +44962,8 @@ YYLTYPE yylloc; ;} break; - case 1499: -#line 11311 "gram.y" + case 1515: +#line 11478 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -43150,29 +44974,29 @@ YYLTYPE yylloc; ;} break; - case 1500: -#line 11323 "gram.y" + case 1516: +#line 11490 "gram.y" { (yyval.list) = list_make1((Node *) (yyvsp[(1) - (1)].defelt)); ;} break; - case 1501: -#line 11327 "gram.y" + case 1517: +#line 11494 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (Node *) (yyvsp[(3) - (3)].defelt)); ;} break; - case 1502: -#line 11338 "gram.y" + case 1518: +#line 11505 "gram.y" { (yyval.defelt) = makeDefElem("force", NULL, (yylsp[(1) - (1)])); ;} break; - case 1503: -#line 11350 "gram.y" + case 1519: +#line 11517 "gram.y" { AlterCollationStmt *n = makeNode(AlterCollationStmt); @@ -43181,8 +45005,8 @@ YYLTYPE yylloc; ;} break; - case 1504: -#line 11368 "gram.y" + case 1520: +#line 11535 "gram.y" { AlterSystemStmt *n = makeNode(AlterSystemStmt); @@ -43191,8 +45015,8 @@ YYLTYPE yylloc; ;} break; - case 1505: -#line 11375 "gram.y" + case 1521: +#line 11542 "gram.y" { AlterSystemStmt *n = makeNode(AlterSystemStmt); @@ -43201,8 +45025,8 @@ YYLTYPE yylloc; ;} break; - case 1506: -#line 11392 "gram.y" + case 1522: +#line 11559 "gram.y" { CreateDomainStmt *n = makeNode(CreateDomainStmt); @@ -43214,8 +45038,8 @@ YYLTYPE yylloc; ;} break; - case 1507: -#line 11406 "gram.y" + case 1523: +#line 11573 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43226,8 +45050,8 @@ YYLTYPE yylloc; ;} break; - case 1508: -#line 11416 "gram.y" + case 1524: +#line 11583 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43237,8 +45061,8 @@ YYLTYPE yylloc; ;} break; - case 1509: -#line 11425 "gram.y" + case 1525: +#line 11592 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43248,8 +45072,8 @@ YYLTYPE yylloc; ;} break; - case 1510: -#line 11434 "gram.y" + case 1526: +#line 11601 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43260,8 +45084,8 @@ YYLTYPE yylloc; ;} break; - case 1511: -#line 11444 "gram.y" + case 1527: +#line 11611 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43274,8 +45098,8 @@ YYLTYPE yylloc; ;} break; - case 1512: -#line 11456 "gram.y" + case 1528: +#line 11623 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43288,8 +45112,8 @@ YYLTYPE yylloc; ;} break; - case 1513: -#line 11468 "gram.y" + case 1529: +#line 11635 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -43300,8 +45124,8 @@ YYLTYPE yylloc; ;} break; - case 1516: -#line 11491 "gram.y" + case 1532: +#line 11658 "gram.y" { AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt); @@ -43311,8 +45135,8 @@ YYLTYPE yylloc; ;} break; - case 1517: -#line 11502 "gram.y" + case 1533: +#line 11669 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43326,8 +45150,8 @@ YYLTYPE yylloc; ;} break; - case 1518: -#line 11514 "gram.y" + case 1534: +#line 11681 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43341,8 +45165,8 @@ YYLTYPE yylloc; ;} break; - case 1519: -#line 11526 "gram.y" + case 1535: +#line 11693 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43356,8 +45180,8 @@ YYLTYPE yylloc; ;} break; - case 1520: -#line 11538 "gram.y" + case 1536: +#line 11705 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43371,8 +45195,8 @@ YYLTYPE yylloc; ;} break; - case 1521: -#line 11550 "gram.y" + case 1537: +#line 11717 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43384,8 +45208,8 @@ YYLTYPE yylloc; ;} break; - case 1522: -#line 11560 "gram.y" + case 1538: +#line 11727 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -43397,8 +45221,8 @@ YYLTYPE yylloc; ;} break; - case 1525: -#line 11589 "gram.y" + case 1541: +#line 11756 "gram.y" { CreateConversionStmt *n = makeNode(CreateConversionStmt); @@ -43411,34 +45235,46 @@ YYLTYPE yylloc; ;} break; - case 1526: -#line 11613 "gram.y" + case 1542: +#line 11779 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[(3) - (4)].range); - n->indexname = (yyvsp[(4) - (4)].str); - n->params = NIL; - if ((yyvsp[(2) - (4)].boolean)) - n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (4)]))); + n->relation = (yyvsp[(5) - (6)].range); + n->indexname = (yyvsp[(6) - (6)].str); + n->params = (yyvsp[(3) - (6)].list); (yyval.node) = (Node *) n; ;} break; - case 1527: -#line 11625 "gram.y" + case 1543: +#line 11788 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[(5) - (6)].range); - n->indexname = (yyvsp[(6) - (6)].str); - n->params = (yyvsp[(3) - (6)].list); + n->relation = NULL; + n->indexname = NULL; + n->params = (yyvsp[(3) - (4)].list); (yyval.node) = (Node *) n; ;} break; - case 1528: -#line 11634 "gram.y" + case 1544: +#line 11798 "gram.y" + { + ClusterStmt *n = makeNode(ClusterStmt); + + n->relation = (yyvsp[(3) - (4)].range); + n->indexname = (yyvsp[(4) - (4)].str); + n->params = NIL; + if ((yyvsp[(2) - (4)].boolean)) + n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (4)]))); + (yyval.node) = (Node *) n; + ;} + break; + + case 1545: +#line 11810 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); @@ -43451,8 +45287,8 @@ YYLTYPE yylloc; ;} break; - case 1529: -#line 11646 "gram.y" + case 1546: +#line 11822 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); @@ -43465,18 +45301,18 @@ YYLTYPE yylloc; ;} break; - case 1530: -#line 11659 "gram.y" + case 1547: +#line 11835 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1531: -#line 11660 "gram.y" + case 1548: +#line 11836 "gram.y" { (yyval.str) = NULL; ;} break; - case 1532: -#line 11673 "gram.y" + case 1549: +#line 11849 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -43499,8 +45335,8 @@ YYLTYPE yylloc; ;} break; - case 1533: -#line 11694 "gram.y" + case 1550: +#line 11870 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -43511,8 +45347,8 @@ YYLTYPE yylloc; ;} break; - case 1534: -#line 11705 "gram.y" + case 1551: +#line 11881 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -43526,8 +45362,8 @@ YYLTYPE yylloc; ;} break; - case 1535: -#line 11717 "gram.y" + case 1552: +#line 11893 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -43538,136 +45374,136 @@ YYLTYPE yylloc; ;} break; - case 1536: -#line 11729 "gram.y" + case 1553: +#line 11905 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1537: -#line 11733 "gram.y" + case 1554: +#line 11909 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1540: -#line 11745 "gram.y" + case 1557: +#line 11921 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1541: -#line 11751 "gram.y" + case 1558: +#line 11927 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1542: -#line 11752 "gram.y" + case 1559: +#line 11928 "gram.y" { (yyval.str) = "analyze"; ;} break; - case 1543: -#line 11753 "gram.y" + case 1560: +#line 11929 "gram.y" { (yyval.str) = "format"; ;} break; - case 1544: -#line 11757 "gram.y" + case 1561: +#line 11933 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 1545: -#line 11758 "gram.y" + case 1562: +#line 11934 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 1546: -#line 11759 "gram.y" + case 1563: +#line 11935 "gram.y" { (yyval.node) = NULL; ;} break; - case 1547: -#line 11763 "gram.y" + case 1564: +#line 11939 "gram.y" { (yyval.boolean) = true; ;} break; - case 1548: -#line 11764 "gram.y" + case 1565: +#line 11940 "gram.y" { (yyval.boolean) = false; ;} break; - case 1549: -#line 11768 "gram.y" + case 1566: +#line 11944 "gram.y" { (yyval.boolean) = true; ;} break; - case 1550: -#line 11769 "gram.y" + case 1567: +#line 11945 "gram.y" { (yyval.boolean) = false; ;} break; - case 1551: -#line 11772 "gram.y" + case 1568: +#line 11948 "gram.y" { (yyval.boolean) = true; ;} break; - case 1552: -#line 11773 "gram.y" + case 1569: +#line 11949 "gram.y" { (yyval.boolean) = false; ;} break; - case 1553: -#line 11776 "gram.y" + case 1570: +#line 11952 "gram.y" { (yyval.boolean) = true; ;} break; - case 1554: -#line 11777 "gram.y" + case 1571: +#line 11953 "gram.y" { (yyval.boolean) = false; ;} break; - case 1555: -#line 11781 "gram.y" + case 1572: +#line 11957 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1556: -#line 11782 "gram.y" + case 1573: +#line 11958 "gram.y" { (yyval.list) = NIL; ;} break; - case 1557: -#line 11787 "gram.y" + case 1574: +#line 11963 "gram.y" { (yyval.node) = (Node *) makeVacuumRelation((yyvsp[(1) - (2)].range), InvalidOid, (yyvsp[(2) - (2)].list)); ;} break; - case 1558: -#line 11794 "gram.y" + case 1575: +#line 11970 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1559: -#line 11796 "gram.y" + case 1576: +#line 11972 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1560: -#line 11800 "gram.y" + case 1577: +#line 11976 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1561: -#line 11801 "gram.y" + case 1578: +#line 11977 "gram.y" { (yyval.list) = NIL; ;} break; - case 1562: -#line 11815 "gram.y" + case 1579: +#line 11991 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -43677,8 +45513,8 @@ YYLTYPE yylloc; ;} break; - case 1563: -#line 11823 "gram.y" + case 1580: +#line 11999 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -43691,8 +45527,8 @@ YYLTYPE yylloc; ;} break; - case 1564: -#line 11834 "gram.y" + case 1581: +#line 12010 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -43702,8 +45538,8 @@ YYLTYPE yylloc; ;} break; - case 1565: -#line 11842 "gram.y" + case 1582: +#line 12018 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -43713,8 +45549,8 @@ YYLTYPE yylloc; ;} break; - case 1576: -#line 11872 "gram.y" + case 1593: +#line 12048 "gram.y" { PrepareStmt *n = makeNode(PrepareStmt); @@ -43725,18 +45561,18 @@ YYLTYPE yylloc; ;} break; - case 1577: -#line 11882 "gram.y" + case 1594: +#line 12058 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1578: -#line 11883 "gram.y" + case 1595: +#line 12059 "gram.y" { (yyval.list) = NIL; ;} break; - case 1584: -#line 11902 "gram.y" + case 1601: +#line 12078 "gram.y" { ExecuteStmt *n = makeNode(ExecuteStmt); @@ -43746,8 +45582,8 @@ YYLTYPE yylloc; ;} break; - case 1585: -#line 11911 "gram.y" + case 1602: +#line 12087 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); ExecuteStmt *n = makeNode(ExecuteStmt); @@ -43766,8 +45602,8 @@ YYLTYPE yylloc; ;} break; - case 1586: -#line 11929 "gram.y" + case 1603: +#line 12105 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); ExecuteStmt *n = makeNode(ExecuteStmt); @@ -43786,58 +45622,66 @@ YYLTYPE yylloc; ;} break; - case 1587: -#line 11947 "gram.y" + case 1604: +#line 12123 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1588: -#line 11948 "gram.y" + case 1605: +#line 12124 "gram.y" { (yyval.list) = NIL; ;} break; - case 1589: -#line 11959 "gram.y" + case 1606: +#line 12135 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = (yyvsp[(2) - (2)].str); + n->isall = false; + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1590: -#line 11966 "gram.y" + case 1607: +#line 12144 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = (yyvsp[(3) - (3)].str); + n->isall = false; + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1591: -#line 11973 "gram.y" + case 1608: +#line 12153 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = NULL; + n->isall = true; + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1592: -#line 11980 "gram.y" + case 1609: +#line 12162 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = NULL; + n->isall = true; + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1593: -#line 11998 "gram.y" + case 1610: +#line 12182 "gram.y" { (yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range); (yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict); @@ -43847,23 +45691,23 @@ YYLTYPE yylloc; ;} break; - case 1594: -#line 12015 "gram.y" + case 1611: +#line 12199 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1595: -#line 12019 "gram.y" + case 1612: +#line 12203 "gram.y" { (yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL); (yyval.range) = (yyvsp[(1) - (3)].range); ;} break; - case 1596: -#line 12027 "gram.y" + case 1613: +#line 12211 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -43871,8 +45715,8 @@ YYLTYPE yylloc; ;} break; - case 1597: -#line 12033 "gram.y" + case 1614: +#line 12217 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -43881,8 +45725,8 @@ YYLTYPE yylloc; ;} break; - case 1598: -#line 12040 "gram.y" + case 1615: +#line 12224 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = (yyvsp[(2) - (4)].list); @@ -43890,8 +45734,8 @@ YYLTYPE yylloc; ;} break; - case 1599: -#line 12046 "gram.y" + case 1616: +#line 12230 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = (yyvsp[(2) - (7)].list); @@ -43900,8 +45744,8 @@ YYLTYPE yylloc; ;} break; - case 1600: -#line 12053 "gram.y" + case 1617: +#line 12237 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -43909,28 +45753,28 @@ YYLTYPE yylloc; ;} break; - case 1601: -#line 12061 "gram.y" + case 1618: +#line 12245 "gram.y" { (yyval.ival) = OVERRIDING_USER_VALUE; ;} break; - case 1602: -#line 12062 "gram.y" + case 1619: +#line 12246 "gram.y" { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; ;} break; - case 1603: -#line 12067 "gram.y" + case 1620: +#line 12251 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1604: -#line 12069 "gram.y" + case 1621: +#line 12253 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 1605: -#line 12074 "gram.y" + case 1622: +#line 12258 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(1) - (2)].str); @@ -43940,8 +45784,8 @@ YYLTYPE yylloc; ;} break; - case 1606: -#line 12085 "gram.y" + case 1623: +#line 12269 "gram.y" { (yyval.onconflict) = makeNode(OnConflictClause); (yyval.onconflict)->action = ONCONFLICT_UPDATE; @@ -43952,8 +45796,8 @@ YYLTYPE yylloc; ;} break; - case 1607: -#line 12095 "gram.y" + case 1624: +#line 12279 "gram.y" { (yyval.onconflict) = makeNode(OnConflictClause); (yyval.onconflict)->action = ONCONFLICT_NOTHING; @@ -43964,15 +45808,15 @@ YYLTYPE yylloc; ;} break; - case 1608: -#line 12104 "gram.y" + case 1625: +#line 12288 "gram.y" { (yyval.onconflict) = NULL; ;} break; - case 1609: -#line 12111 "gram.y" + case 1626: +#line 12295 "gram.y" { (yyval.infer) = makeNode(InferClause); (yyval.infer)->indexElems = (yyvsp[(2) - (4)].list); @@ -43982,8 +45826,8 @@ YYLTYPE yylloc; ;} break; - case 1610: -#line 12120 "gram.y" + case 1627: +#line 12304 "gram.y" { (yyval.infer) = makeNode(InferClause); (yyval.infer)->indexElems = NIL; @@ -43993,25 +45837,25 @@ YYLTYPE yylloc; ;} break; - case 1611: -#line 12128 "gram.y" + case 1628: +#line 12312 "gram.y" { (yyval.infer) = NULL; ;} break; - case 1612: -#line 12134 "gram.y" + case 1629: +#line 12318 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1613: -#line 12135 "gram.y" + case 1630: +#line 12319 "gram.y" { (yyval.list) = NIL; ;} break; - case 1614: -#line 12148 "gram.y" + case 1631: +#line 12332 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); @@ -44024,18 +45868,18 @@ YYLTYPE yylloc; ;} break; - case 1615: -#line 12161 "gram.y" + case 1632: +#line 12345 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1616: -#line 12162 "gram.y" + case 1633: +#line 12346 "gram.y" { (yyval.list) = NIL; ;} break; - case 1617: -#line 12174 "gram.y" + case 1634: +#line 12358 "gram.y" { LockStmt *n = makeNode(LockStmt); @@ -44046,83 +45890,83 @@ YYLTYPE yylloc; ;} break; - case 1618: -#line 12184 "gram.y" + case 1635: +#line 12368 "gram.y" { (yyval.ival) = (yyvsp[(2) - (3)].ival); ;} break; - case 1619: -#line 12185 "gram.y" + case 1636: +#line 12369 "gram.y" { (yyval.ival) = AccessExclusiveLock; ;} break; - case 1620: -#line 12188 "gram.y" + case 1637: +#line 12372 "gram.y" { (yyval.ival) = AccessShareLock; ;} break; - case 1621: -#line 12189 "gram.y" + case 1638: +#line 12373 "gram.y" { (yyval.ival) = RowShareLock; ;} break; - case 1622: -#line 12190 "gram.y" + case 1639: +#line 12374 "gram.y" { (yyval.ival) = RowExclusiveLock; ;} break; - case 1623: -#line 12191 "gram.y" + case 1640: +#line 12375 "gram.y" { (yyval.ival) = ShareUpdateExclusiveLock; ;} break; - case 1624: -#line 12192 "gram.y" + case 1641: +#line 12376 "gram.y" { (yyval.ival) = ShareLock; ;} break; - case 1625: -#line 12193 "gram.y" + case 1642: +#line 12377 "gram.y" { (yyval.ival) = ShareRowExclusiveLock; ;} break; - case 1626: -#line 12194 "gram.y" + case 1643: +#line 12378 "gram.y" { (yyval.ival) = ExclusiveLock; ;} break; - case 1627: -#line 12195 "gram.y" + case 1644: +#line 12379 "gram.y" { (yyval.ival) = AccessExclusiveLock; ;} break; - case 1628: -#line 12198 "gram.y" + case 1645: +#line 12382 "gram.y" { (yyval.boolean) = true; ;} break; - case 1629: -#line 12199 "gram.y" + case 1646: +#line 12383 "gram.y" { (yyval.boolean) = false; ;} break; - case 1630: -#line 12203 "gram.y" + case 1647: +#line 12387 "gram.y" { (yyval.ival) = LockWaitError; ;} break; - case 1631: -#line 12204 "gram.y" + case 1648: +#line 12388 "gram.y" { (yyval.ival) = LockWaitSkip; ;} break; - case 1632: -#line 12205 "gram.y" + case 1649: +#line 12389 "gram.y" { (yyval.ival) = LockWaitBlock; ;} break; - case 1633: -#line 12221 "gram.y" + case 1650: +#line 12405 "gram.y" { UpdateStmt *n = makeNode(UpdateStmt); @@ -44136,26 +45980,26 @@ YYLTYPE yylloc; ;} break; - case 1634: -#line 12235 "gram.y" + case 1651: +#line 12419 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1635: -#line 12236 "gram.y" + case 1652: +#line 12420 "gram.y" { (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;} break; - case 1636: -#line 12241 "gram.y" + case 1653: +#line 12425 "gram.y" { (yyvsp[(1) - (3)].target)->val = (Node *) (yyvsp[(3) - (3)].node); (yyval.list) = list_make1((yyvsp[(1) - (3)].target)); ;} break; - case 1637: -#line 12246 "gram.y" + case 1654: +#line 12430 "gram.y" { int ncolumns = list_length((yyvsp[(2) - (5)].list)); int i = 1; @@ -44178,8 +46022,8 @@ YYLTYPE yylloc; ;} break; - case 1638: -#line 12270 "gram.y" + case 1655: +#line 12454 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(1) - (2)].str); @@ -44189,109 +46033,130 @@ YYLTYPE yylloc; ;} break; - case 1639: -#line 12280 "gram.y" + case 1656: +#line 12464 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1640: -#line 12281 "gram.y" + case 1657: +#line 12465 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;} break; - case 1641: -#line 12297 "gram.y" + case 1658: +#line 12482 "gram.y" { MergeStmt *m = makeNode(MergeStmt); - m->withClause = (yyvsp[(1) - (9)].with); - m->relation = (yyvsp[(4) - (9)].range); - m->sourceRelation = (yyvsp[(6) - (9)].node); - m->joinCondition = (yyvsp[(8) - (9)].node); - m->mergeWhenClauses = (yyvsp[(9) - (9)].list); + m->withClause = (yyvsp[(1) - (10)].with); + m->relation = (yyvsp[(4) - (10)].range); + m->sourceRelation = (yyvsp[(6) - (10)].node); + m->joinCondition = (yyvsp[(8) - (10)].node); + m->mergeWhenClauses = (yyvsp[(9) - (10)].list); + m->returningList = (yyvsp[(10) - (10)].list); (yyval.node) = (Node *) m; ;} break; - case 1642: -#line 12311 "gram.y" + case 1659: +#line 12497 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1643: -#line 12312 "gram.y" + case 1660: +#line 12498 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list),(yyvsp[(2) - (2)].node)); ;} break; - case 1644: -#line 12317 "gram.y" + case 1661: +#line 12509 "gram.y" { - (yyvsp[(5) - (5)].mergewhen)->matched = true; - (yyvsp[(5) - (5)].mergewhen)->condition = (yyvsp[(3) - (5)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(5) - (5)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1645: -#line 12324 "gram.y" + case 1662: +#line 12516 "gram.y" { - (yyvsp[(5) - (5)].mergewhen)->matched = true; - (yyvsp[(5) - (5)].mergewhen)->condition = (yyvsp[(3) - (5)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(5) - (5)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1646: -#line 12331 "gram.y" + case 1663: +#line 12523 "gram.y" { - (yyvsp[(6) - (6)].mergewhen)->matched = false; - (yyvsp[(6) - (6)].mergewhen)->condition = (yyvsp[(4) - (6)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(6) - (6)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1647: -#line 12338 "gram.y" + case 1664: +#line 12530 "gram.y" { MergeWhenClause *m = makeNode(MergeWhenClause); - m->matched = true; + m->matchKind = (yyvsp[(1) - (5)].mergematch); m->commandType = CMD_NOTHING; - m->condition = (yyvsp[(3) - (6)].node); + m->condition = (yyvsp[(2) - (5)].node); (yyval.node) = (Node *) m; ;} break; - case 1648: -#line 12348 "gram.y" + case 1665: +#line 12540 "gram.y" { MergeWhenClause *m = makeNode(MergeWhenClause); - m->matched = false; + m->matchKind = (yyvsp[(1) - (5)].mergematch); m->commandType = CMD_NOTHING; - m->condition = (yyvsp[(4) - (7)].node); + m->condition = (yyvsp[(2) - (5)].node); (yyval.node) = (Node *) m; ;} break; - case 1649: -#line 12360 "gram.y" + case 1666: +#line 12552 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_MATCHED; ;} + break; + + case 1667: +#line 12553 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; ;} + break; + + case 1668: +#line 12557 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;} + break; + + case 1669: +#line 12558 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;} + break; + + case 1670: +#line 12562 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1650: -#line 12361 "gram.y" + case 1671: +#line 12563 "gram.y" { (yyval.node) = NULL; ;} break; - case 1651: -#line 12366 "gram.y" + case 1672: +#line 12568 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_UPDATE; @@ -44303,8 +46168,8 @@ YYLTYPE yylloc; ;} break; - case 1652: -#line 12379 "gram.y" + case 1673: +#line 12581 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_DELETE; @@ -44316,8 +46181,8 @@ YYLTYPE yylloc; ;} break; - case 1653: -#line 12392 "gram.y" + case 1674: +#line 12594 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -44328,8 +46193,8 @@ YYLTYPE yylloc; ;} break; - case 1654: -#line 12401 "gram.y" + case 1675: +#line 12603 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -44340,8 +46205,8 @@ YYLTYPE yylloc; ;} break; - case 1655: -#line 12410 "gram.y" + case 1676: +#line 12612 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -44352,8 +46217,8 @@ YYLTYPE yylloc; ;} break; - case 1656: -#line 12419 "gram.y" + case 1677: +#line 12621 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -44364,8 +46229,8 @@ YYLTYPE yylloc; ;} break; - case 1657: -#line 12428 "gram.y" + case 1678: +#line 12630 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -44376,15 +46241,15 @@ YYLTYPE yylloc; ;} break; - case 1658: -#line 12440 "gram.y" + case 1679: +#line 12642 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1659: -#line 12452 "gram.y" + case 1680: +#line 12654 "gram.y" { DeclareCursorStmt *n = makeNode(DeclareCursorStmt); @@ -44396,73 +46261,73 @@ YYLTYPE yylloc; ;} break; - case 1660: -#line 12463 "gram.y" + case 1681: +#line 12665 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1661: -#line 12466 "gram.y" + case 1682: +#line 12668 "gram.y" { (yyval.ival) = 0; ;} break; - case 1662: -#line 12467 "gram.y" + case 1683: +#line 12669 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;} break; - case 1663: -#line 12468 "gram.y" + case 1684: +#line 12670 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;} break; - case 1664: -#line 12469 "gram.y" + case 1685: +#line 12671 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;} break; - case 1665: -#line 12470 "gram.y" + case 1686: +#line 12672 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_ASENSITIVE; ;} break; - case 1666: -#line 12471 "gram.y" + case 1687: +#line 12673 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;} break; - case 1667: -#line 12474 "gram.y" + case 1688: +#line 12676 "gram.y" { (yyval.ival) = 0; ;} break; - case 1668: -#line 12475 "gram.y" + case 1689: +#line 12677 "gram.y" { (yyval.ival) = CURSOR_OPT_HOLD; ;} break; - case 1669: -#line 12476 "gram.y" + case 1690: +#line 12678 "gram.y" { (yyval.ival) = 0; ;} break; - case 1672: -#line 12529 "gram.y" + case 1693: +#line 12731 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1673: -#line 12530 "gram.y" + case 1694: +#line 12732 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1674: -#line 12545 "gram.y" + case 1695: +#line 12747 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1675: -#line 12547 "gram.y" + case 1696: +#line 12749 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL, NULL, NULL, @@ -44471,8 +46336,8 @@ YYLTYPE yylloc; ;} break; - case 1676: -#line 12554 "gram.y" + case 1697: +#line 12756 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].selectlimit), @@ -44482,8 +46347,8 @@ YYLTYPE yylloc; ;} break; - case 1677: -#line 12562 "gram.y" + case 1698: +#line 12764 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list), (yyvsp[(3) - (4)].selectlimit), @@ -44493,8 +46358,8 @@ YYLTYPE yylloc; ;} break; - case 1678: -#line 12570 "gram.y" + case 1699: +#line 12772 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL, NULL, @@ -44504,8 +46369,8 @@ YYLTYPE yylloc; ;} break; - case 1679: -#line 12578 "gram.y" + case 1700: +#line 12780 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL, NULL, @@ -44515,8 +46380,8 @@ YYLTYPE yylloc; ;} break; - case 1680: -#line 12586 "gram.y" + case 1701: +#line 12788 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list), (yyvsp[(5) - (5)].selectlimit), @@ -44526,8 +46391,8 @@ YYLTYPE yylloc; ;} break; - case 1681: -#line 12594 "gram.y" + case 1702: +#line 12796 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list), (yyvsp[(4) - (5)].selectlimit), @@ -44537,18 +46402,18 @@ YYLTYPE yylloc; ;} break; - case 1682: -#line 12604 "gram.y" + case 1703: +#line 12806 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1683: -#line 12605 "gram.y" + case 1704: +#line 12807 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1684: -#line 12640 "gram.y" + case 1705: +#line 12842 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -44564,8 +46429,8 @@ YYLTYPE yylloc; ;} break; - case 1685: -#line 12656 "gram.y" + case 1706: +#line 12858 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -44582,13 +46447,13 @@ YYLTYPE yylloc; ;} break; - case 1686: -#line 12670 "gram.y" + case 1707: +#line 12872 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1687: -#line 12672 "gram.y" + case 1708: +#line 12874 "gram.y" { /* same as SELECT * FROM relation_expr */ ColumnRef *cr = makeNode(ColumnRef); @@ -44609,29 +46474,29 @@ YYLTYPE yylloc; ;} break; - case 1688: -#line 12691 "gram.y" + case 1709: +#line 12893 "gram.y" { (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1689: -#line 12695 "gram.y" + case 1710: +#line 12897 "gram.y" { (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1690: -#line 12699 "gram.y" + case 1711: +#line 12901 "gram.y" { (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1691: -#line 12714 "gram.y" + case 1712: +#line 12916 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(2) - (2)].list); @@ -44640,8 +46505,8 @@ YYLTYPE yylloc; ;} break; - case 1692: -#line 12721 "gram.y" + case 1713: +#line 12923 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(2) - (2)].list); @@ -44650,8 +46515,8 @@ YYLTYPE yylloc; ;} break; - case 1693: -#line 12728 "gram.y" + case 1714: +#line 12930 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(3) - (3)].list); @@ -44660,18 +46525,18 @@ YYLTYPE yylloc; ;} break; - case 1694: -#line 12737 "gram.y" + case 1715: +#line 12939 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1695: -#line 12738 "gram.y" + case 1716: +#line 12940 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1696: -#line 12742 "gram.y" + case 1717: +#line 12944 "gram.y" { CommonTableExpr *n = makeNode(CommonTableExpr); @@ -44686,23 +46551,23 @@ YYLTYPE yylloc; ;} break; - case 1697: -#line 12757 "gram.y" + case 1718: +#line 12959 "gram.y" { (yyval.ival) = CTEMaterializeAlways; ;} break; - case 1698: -#line 12758 "gram.y" + case 1719: +#line 12960 "gram.y" { (yyval.ival) = CTEMaterializeNever; ;} break; - case 1699: -#line 12759 "gram.y" + case 1720: +#line 12961 "gram.y" { (yyval.ival) = CTEMaterializeDefault; ;} break; - case 1700: -#line 12764 "gram.y" + case 1721: +#line 12966 "gram.y" { CTESearchClause *n = makeNode(CTESearchClause); @@ -44714,8 +46579,8 @@ YYLTYPE yylloc; ;} break; - case 1701: -#line 12774 "gram.y" + case 1722: +#line 12976 "gram.y" { CTESearchClause *n = makeNode(CTESearchClause); @@ -44727,15 +46592,15 @@ YYLTYPE yylloc; ;} break; - case 1702: -#line 12784 "gram.y" + case 1723: +#line 12986 "gram.y" { (yyval.node) = NULL; ;} break; - case 1703: -#line 12791 "gram.y" + case 1724: +#line 12993 "gram.y" { CTECycleClause *n = makeNode(CTECycleClause); @@ -44749,8 +46614,8 @@ YYLTYPE yylloc; ;} break; - case 1704: -#line 12803 "gram.y" + case 1725: +#line 13005 "gram.y" { CTECycleClause *n = makeNode(CTECycleClause); @@ -44764,25 +46629,25 @@ YYLTYPE yylloc; ;} break; - case 1705: -#line 12815 "gram.y" + case 1726: +#line 13017 "gram.y" { (yyval.node) = NULL; ;} break; - case 1706: -#line 12821 "gram.y" + case 1727: +#line 13023 "gram.y" { (yyval.with) = (yyvsp[(1) - (1)].with); ;} break; - case 1707: -#line 12822 "gram.y" + case 1728: +#line 13024 "gram.y" { (yyval.with) = NULL; ;} break; - case 1708: -#line 12827 "gram.y" + case 1729: +#line 13029 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(2) - (2)].range); @@ -44795,45 +46660,45 @@ YYLTYPE yylloc; ;} break; - case 1709: -#line 12838 "gram.y" + case 1730: +#line 13040 "gram.y" { (yyval.into) = NULL; ;} break; - case 1710: -#line 12847 "gram.y" + case 1731: +#line 13049 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1711: -#line 12852 "gram.y" + case 1732: +#line 13054 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1712: -#line 12857 "gram.y" + case 1733: +#line 13059 "gram.y" { (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1713: -#line 12862 "gram.y" + case 1734: +#line 13064 "gram.y" { (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1714: -#line 12867 "gram.y" + case 1735: +#line 13069 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -44843,8 +46708,8 @@ YYLTYPE yylloc; ;} break; - case 1715: -#line 12875 "gram.y" + case 1736: +#line 13077 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -44854,92 +46719,92 @@ YYLTYPE yylloc; ;} break; - case 1716: -#line 12883 "gram.y" + case 1737: +#line 13085 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED; ;} break; - case 1717: -#line 12888 "gram.y" + case 1738: +#line 13090 "gram.y" { (yyval.range) = (yyvsp[(2) - (2)].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; ;} break; - case 1718: -#line 12893 "gram.y" + case 1739: +#line 13095 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; ;} break; - case 1721: -#line 12904 "gram.y" + case 1742: +#line 13106 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_ALL; ;} break; - case 1722: -#line 12905 "gram.y" + case 1743: +#line 13107 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; ;} break; - case 1723: -#line 12906 "gram.y" + case 1744: +#line 13108 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; ;} break; - case 1724: -#line 12913 "gram.y" + case 1745: +#line 13115 "gram.y" { (yyval.list) = list_make1(NIL); ;} break; - case 1725: -#line 12914 "gram.y" + case 1746: +#line 13116 "gram.y" { (yyval.list) = (yyvsp[(4) - (5)].list); ;} break; - case 1728: -#line 12923 "gram.y" + case 1749: +#line 13125 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1729: -#line 12924 "gram.y" + case 1750: +#line 13126 "gram.y" { (yyval.list) = NIL; ;} break; - case 1730: -#line 12928 "gram.y" + case 1751: +#line 13130 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1731: -#line 12929 "gram.y" + case 1752: +#line 13131 "gram.y" { (yyval.list) = NIL; ;} break; - case 1732: -#line 12933 "gram.y" + case 1753: +#line 13135 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); ;} break; - case 1733: -#line 12937 "gram.y" + case 1754: +#line 13139 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;} break; - case 1734: -#line 12938 "gram.y" + case 1755: +#line 13140 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;} break; - case 1735: -#line 12942 "gram.y" + case 1756: +#line 13144 "gram.y" { (yyval.sortby) = makeNode(SortBy); (yyval.sortby)->node = (yyvsp[(1) - (4)].node); @@ -44950,8 +46815,8 @@ YYLTYPE yylloc; ;} break; - case 1736: -#line 12951 "gram.y" + case 1757: +#line 13153 "gram.y" { (yyval.sortby) = makeNode(SortBy); (yyval.sortby)->node = (yyvsp[(1) - (3)].node); @@ -44962,31 +46827,31 @@ YYLTYPE yylloc; ;} break; - case 1737: -#line 12964 "gram.y" + case 1758: +#line 13166 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (2)].selectlimit); ((yyval.selectlimit))->limitOffset = (yyvsp[(2) - (2)].node); ;} break; - case 1738: -#line 12969 "gram.y" + case 1759: +#line 13171 "gram.y" { (yyval.selectlimit) = (yyvsp[(2) - (2)].selectlimit); ((yyval.selectlimit))->limitOffset = (yyvsp[(1) - (2)].node); ;} break; - case 1739: -#line 12974 "gram.y" + case 1760: +#line 13176 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;} break; - case 1740: -#line 12978 "gram.y" + case 1761: +#line 13180 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -44997,18 +46862,18 @@ YYLTYPE yylloc; ;} break; - case 1741: -#line 12989 "gram.y" + case 1762: +#line 13191 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;} break; - case 1742: -#line 12990 "gram.y" + case 1763: +#line 13192 "gram.y" { (yyval.selectlimit) = NULL; ;} break; - case 1743: -#line 12995 "gram.y" + case 1764: +#line 13197 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -45019,8 +46884,8 @@ YYLTYPE yylloc; ;} break; - case 1744: -#line 13004 "gram.y" + case 1765: +#line 13206 "gram.y" { /* Disabled because it was too confusing, bjm 2002-02-18 */ ereport(ERROR, @@ -45031,8 +46896,8 @@ YYLTYPE yylloc; ;} break; - case 1745: -#line 13020 "gram.y" + case 1766: +#line 13222 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -45043,8 +46908,8 @@ YYLTYPE yylloc; ;} break; - case 1746: -#line 13029 "gram.y" + case 1767: +#line 13231 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -45055,8 +46920,8 @@ YYLTYPE yylloc; ;} break; - case 1747: -#line 13038 "gram.y" + case 1768: +#line 13240 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -45067,8 +46932,8 @@ YYLTYPE yylloc; ;} break; - case 1748: -#line 13047 "gram.y" + case 1769: +#line 13249 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -45079,81 +46944,81 @@ YYLTYPE yylloc; ;} break; - case 1749: -#line 13059 "gram.y" + case 1770: +#line 13261 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1750: -#line 13062 "gram.y" + case 1771: +#line 13264 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1751: -#line 13066 "gram.y" + case 1772: +#line 13268 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1752: -#line 13068 "gram.y" + case 1773: +#line 13270 "gram.y" { /* LIMIT ALL is represented as a NULL constant */ (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); ;} break; - case 1753: -#line 13075 "gram.y" + case 1774: +#line 13277 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1754: -#line 13095 "gram.y" + case 1775: +#line 13297 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1755: -#line 13097 "gram.y" + case 1776: +#line 13299 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1756: -#line 13099 "gram.y" + case 1777: +#line 13301 "gram.y" { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1757: -#line 13103 "gram.y" + case 1778: +#line 13305 "gram.y" { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival),(yylsp[(1) - (1)])); ;} break; - case 1758: -#line 13104 "gram.y" + case 1779: +#line 13306 "gram.y" { (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str),(yylsp[(1) - (1)])); ;} break; - case 1759: -#line 13108 "gram.y" + case 1780: +#line 13310 "gram.y" { (yyval.ival) = 0; ;} break; - case 1760: -#line 13109 "gram.y" + case 1781: +#line 13311 "gram.y" { (yyval.ival) = 0; ;} break; - case 1761: -#line 13112 "gram.y" + case 1782: +#line 13314 "gram.y" { (yyval.ival) = 0; ;} break; - case 1762: -#line 13113 "gram.y" + case 1783: +#line 13315 "gram.y" { (yyval.ival) = 0; ;} break; - case 1763: -#line 13139 "gram.y" + case 1784: +#line 13341 "gram.y" { GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause)); @@ -45163,8 +47028,8 @@ YYLTYPE yylloc; ;} break; - case 1764: -#line 13147 "gram.y" + case 1785: +#line 13349 "gram.y" { GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause)); @@ -45174,111 +47039,111 @@ YYLTYPE yylloc; ;} break; - case 1765: -#line 13157 "gram.y" + case 1786: +#line 13359 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1766: -#line 13158 "gram.y" + case 1787: +#line 13360 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;} break; - case 1767: -#line 13162 "gram.y" + case 1788: +#line 13364 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1768: -#line 13163 "gram.y" + case 1789: +#line 13365 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1769: -#line 13164 "gram.y" + case 1790: +#line 13366 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1770: -#line 13165 "gram.y" + case 1791: +#line 13367 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1771: -#line 13166 "gram.y" + case 1792: +#line 13368 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1772: -#line 13171 "gram.y" + case 1793: +#line 13373 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)])); ;} break; - case 1773: -#line 13184 "gram.y" + case 1794: +#line 13386 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 1774: -#line 13191 "gram.y" + case 1795: +#line 13393 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 1775: -#line 13198 "gram.y" + case 1796: +#line 13400 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;} break; - case 1776: -#line 13204 "gram.y" + case 1797: +#line 13406 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1777: -#line 13205 "gram.y" + case 1798: +#line 13407 "gram.y" { (yyval.node) = NULL; ;} break; - case 1778: -#line 13209 "gram.y" + case 1799: +#line 13411 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1779: -#line 13210 "gram.y" + case 1800: +#line 13412 "gram.y" { (yyval.list) = NIL; ;} break; - case 1780: -#line 13214 "gram.y" + case 1801: +#line 13416 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1781: -#line 13215 "gram.y" + case 1802: +#line 13417 "gram.y" { (yyval.list) = NIL; ;} break; - case 1782: -#line 13219 "gram.y" + case 1803: +#line 13421 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1783: -#line 13220 "gram.y" + case 1804: +#line 13422 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 1784: -#line 13225 "gram.y" + case 1805: +#line 13427 "gram.y" { LockingClause *n = makeNode(LockingClause); @@ -45289,38 +47154,38 @@ YYLTYPE yylloc; ;} break; - case 1785: -#line 13236 "gram.y" + case 1806: +#line 13438 "gram.y" { (yyval.ival) = LCS_FORUPDATE; ;} break; - case 1786: -#line 13237 "gram.y" + case 1807: +#line 13439 "gram.y" { (yyval.ival) = LCS_FORNOKEYUPDATE; ;} break; - case 1787: -#line 13238 "gram.y" + case 1808: +#line 13440 "gram.y" { (yyval.ival) = LCS_FORSHARE; ;} break; - case 1788: -#line 13239 "gram.y" + case 1809: +#line 13441 "gram.y" { (yyval.ival) = LCS_FORKEYSHARE; ;} break; - case 1789: -#line 13243 "gram.y" + case 1810: +#line 13445 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1790: -#line 13244 "gram.y" + case 1811: +#line 13446 "gram.y" { (yyval.list) = NIL; ;} break; - case 1791: -#line 13255 "gram.y" + case 1812: +#line 13457 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -45329,8 +47194,8 @@ YYLTYPE yylloc; ;} break; - case 1792: -#line 13262 "gram.y" + case 1813: +#line 13464 "gram.y" { SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (5)].node); @@ -45339,36 +47204,36 @@ YYLTYPE yylloc; ;} break; - case 1793: -#line 13280 "gram.y" + case 1814: +#line 13482 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1794: -#line 13281 "gram.y" + case 1815: +#line 13483 "gram.y" { (yyval.list) = NIL; ;} break; - case 1795: -#line 13285 "gram.y" + case 1816: +#line 13487 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1796: -#line 13286 "gram.y" + case 1817: +#line 13488 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1797: -#line 13293 "gram.y" + case 1818: +#line 13495 "gram.y" { (yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias); (yyval.node) = (Node *) (yyvsp[(1) - (2)].range); ;} break; - case 1798: -#line 13298 "gram.y" + case 1819: +#line 13500 "gram.y" { RangeTableSample *n = (RangeTableSample *) (yyvsp[(3) - (3)].node); @@ -45379,8 +47244,8 @@ YYLTYPE yylloc; ;} break; - case 1799: -#line 13307 "gram.y" + case 1820: +#line 13509 "gram.y" { RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node); @@ -45390,8 +47255,8 @@ YYLTYPE yylloc; ;} break; - case 1800: -#line 13315 "gram.y" + case 1821: +#line 13517 "gram.y" { RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node); @@ -45402,8 +47267,8 @@ YYLTYPE yylloc; ;} break; - case 1801: -#line 13324 "gram.y" + case 1822: +#line 13526 "gram.y" { RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(1) - (2)].node); @@ -45412,8 +47277,8 @@ YYLTYPE yylloc; ;} break; - case 1802: -#line 13331 "gram.y" + case 1823: +#line 13533 "gram.y" { RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(2) - (3)].node); @@ -45423,8 +47288,8 @@ YYLTYPE yylloc; ;} break; - case 1803: -#line 13339 "gram.y" + case 1824: +#line 13541 "gram.y" { RangeSubselect *n = makeNode(RangeSubselect); @@ -45435,8 +47300,8 @@ YYLTYPE yylloc; ;} break; - case 1804: -#line 13348 "gram.y" + case 1825: +#line 13550 "gram.y" { RangeSubselect *n = makeNode(RangeSubselect); @@ -45447,30 +47312,51 @@ YYLTYPE yylloc; ;} break; - case 1805: -#line 13357 "gram.y" + case 1826: +#line 13559 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr); ;} break; - case 1806: -#line 13361 "gram.y" + case 1827: +#line 13563 "gram.y" { (yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias); (yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr); ;} break; - case 1807: -#line 13387 "gram.y" + case 1828: +#line 13568 "gram.y" + { + JsonTable *jt = castNode(JsonTable, (yyvsp[(1) - (2)].node)); + + jt->alias = (yyvsp[(2) - (2)].alias); + (yyval.node) = (Node *) jt; + ;} + break; + + case 1829: +#line 13575 "gram.y" + { + JsonTable *jt = castNode(JsonTable, (yyvsp[(2) - (3)].node)); + + jt->alias = (yyvsp[(3) - (3)].alias); + jt->lateral = true; + (yyval.node) = (Node *) jt; + ;} + break; + + case 1830: +#line 13604 "gram.y" { (yyval.jexpr) = (yyvsp[(2) - (3)].jexpr); ;} break; - case 1808: -#line 13391 "gram.y" + case 1831: +#line 13608 "gram.y" { /* CROSS JOIN is same as unqualified inner join */ JoinExpr *n = makeNode(JoinExpr); @@ -45486,8 +47372,8 @@ YYLTYPE yylloc; ;} break; - case 1809: -#line 13405 "gram.y" + case 1832: +#line 13622 "gram.y" { JoinExpr *n = makeNode(JoinExpr); @@ -45510,8 +47396,8 @@ YYLTYPE yylloc; ;} break; - case 1810: -#line 13426 "gram.y" + case 1833: +#line 13643 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); @@ -45535,8 +47421,8 @@ YYLTYPE yylloc; ;} break; - case 1811: -#line 13448 "gram.y" + case 1834: +#line 13665 "gram.y" { JoinExpr *n = makeNode(JoinExpr); @@ -45551,8 +47437,8 @@ YYLTYPE yylloc; ;} break; - case 1812: -#line 13461 "gram.y" + case 1835: +#line 13678 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); @@ -45568,8 +47454,8 @@ YYLTYPE yylloc; ;} break; - case 1813: -#line 13478 "gram.y" + case 1836: +#line 13695 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (5)].str); @@ -45577,16 +47463,16 @@ YYLTYPE yylloc; ;} break; - case 1814: -#line 13484 "gram.y" + case 1837: +#line 13701 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str); ;} break; - case 1815: -#line 13489 "gram.y" + case 1838: +#line 13706 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(1) - (4)].str); @@ -45594,26 +47480,26 @@ YYLTYPE yylloc; ;} break; - case 1816: -#line 13495 "gram.y" + case 1839: +#line 13712 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(1) - (1)].str); ;} break; - case 1817: -#line 13501 "gram.y" + case 1840: +#line 13718 "gram.y" { (yyval.alias) = (yyvsp[(1) - (1)].alias); ;} break; - case 1818: -#line 13502 "gram.y" + case 1841: +#line 13719 "gram.y" { (yyval.alias) = NULL; ;} break; - case 1819: -#line 13513 "gram.y" + case 1842: +#line 13730 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str); @@ -45621,27 +47507,27 @@ YYLTYPE yylloc; ;} break; - case 1820: -#line 13518 "gram.y" + case 1843: +#line 13735 "gram.y" { (yyval.alias) = NULL; ;} break; - case 1821: -#line 13527 "gram.y" + case 1844: +#line 13744 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL); ;} break; - case 1822: -#line 13531 "gram.y" + case 1845: +#line 13748 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list)); ;} break; - case 1823: -#line 13535 "gram.y" + case 1846: +#line 13752 "gram.y" { Alias *a = makeNode(Alias); @@ -45650,8 +47536,8 @@ YYLTYPE yylloc; ;} break; - case 1824: -#line 13542 "gram.y" + case 1847: +#line 13759 "gram.y" { Alias *a = makeNode(Alias); @@ -45660,49 +47546,49 @@ YYLTYPE yylloc; ;} break; - case 1825: -#line 13549 "gram.y" + case 1848: +#line 13766 "gram.y" { (yyval.list) = list_make2(NULL, NIL); ;} break; - case 1826: -#line 13554 "gram.y" + case 1849: +#line 13771 "gram.y" { (yyval.jtype) = JOIN_FULL; ;} break; - case 1827: -#line 13555 "gram.y" + case 1850: +#line 13772 "gram.y" { (yyval.jtype) = JOIN_LEFT; ;} break; - case 1828: -#line 13556 "gram.y" + case 1851: +#line 13773 "gram.y" { (yyval.jtype) = JOIN_RIGHT; ;} break; - case 1829: -#line 13557 "gram.y" + case 1852: +#line 13774 "gram.y" { (yyval.jtype) = JOIN_INNER; ;} break; - case 1832: -#line 13578 "gram.y" + case 1855: +#line 13795 "gram.y" { (yyval.node) = (Node *) list_make2((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].alias)); ;} break; - case 1833: -#line 13582 "gram.y" + case 1856: +#line 13799 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1834: -#line 13590 "gram.y" + case 1857: +#line 13807 "gram.y" { /* inheritance query, implicitly */ (yyval.range) = (yyvsp[(1) - (1)].range); @@ -45711,15 +47597,15 @@ YYLTYPE yylloc; ;} break; - case 1835: -#line 13597 "gram.y" + case 1858: +#line 13814 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1836: -#line 13604 "gram.y" + case 1859: +#line 13821 "gram.y" { /* inheritance query, explicitly */ (yyval.range) = (yyvsp[(1) - (2)].range); @@ -45728,8 +47614,8 @@ YYLTYPE yylloc; ;} break; - case 1837: -#line 13611 "gram.y" + case 1860: +#line 13828 "gram.y" { /* no inheritance */ (yyval.range) = (yyvsp[(2) - (2)].range); @@ -45738,8 +47624,8 @@ YYLTYPE yylloc; ;} break; - case 1838: -#line 13618 "gram.y" + case 1861: +#line 13835 "gram.y" { /* no inheritance, SQL99-style syntax */ (yyval.range) = (yyvsp[(3) - (4)].range); @@ -45748,25 +47634,25 @@ YYLTYPE yylloc; ;} break; - case 1839: -#line 13628 "gram.y" + case 1862: +#line 13845 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;} break; - case 1840: -#line 13629 "gram.y" + case 1863: +#line 13846 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;} break; - case 1841: -#line 13643 "gram.y" + case 1864: +#line 13860 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1842: -#line 13647 "gram.y" + case 1865: +#line 13864 "gram.y" { Alias *alias = makeNode(Alias); @@ -45776,8 +47662,8 @@ YYLTYPE yylloc; ;} break; - case 1843: -#line 13655 "gram.y" + case 1866: +#line 13872 "gram.y" { Alias *alias = makeNode(Alias); @@ -45787,8 +47673,8 @@ YYLTYPE yylloc; ;} break; - case 1844: -#line 13669 "gram.y" + case 1867: +#line 13886 "gram.y" { RangeTableSample *n = makeNode(RangeTableSample); @@ -45801,18 +47687,18 @@ YYLTYPE yylloc; ;} break; - case 1845: -#line 13682 "gram.y" + case 1868: +#line 13899 "gram.y" { (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;} break; - case 1846: -#line 13683 "gram.y" + case 1869: +#line 13900 "gram.y" { (yyval.node) = NULL; ;} break; - case 1847: -#line 13699 "gram.y" + case 1870: +#line 13916 "gram.y" { RangeFunction *n = makeNode(RangeFunction); @@ -45825,8 +47711,8 @@ YYLTYPE yylloc; ;} break; - case 1848: -#line 13710 "gram.y" + case 1871: +#line 13927 "gram.y" { RangeFunction *n = makeNode(RangeFunction); @@ -45839,58 +47725,58 @@ YYLTYPE yylloc; ;} break; - case 1849: -#line 13723 "gram.y" + case 1872: +#line 13940 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;} break; - case 1850: -#line 13727 "gram.y" + case 1873: +#line 13944 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 1851: -#line 13728 "gram.y" + case 1874: +#line 13945 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 1852: -#line 13731 "gram.y" + case 1875: +#line 13948 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1853: -#line 13732 "gram.y" + case 1876: +#line 13949 "gram.y" { (yyval.list) = NIL; ;} break; - case 1854: -#line 13735 "gram.y" + case 1877: +#line 13952 "gram.y" { (yyval.boolean) = true; ;} break; - case 1855: -#line 13736 "gram.y" + case 1878: +#line 13953 "gram.y" { (yyval.boolean) = false; ;} break; - case 1856: -#line 13741 "gram.y" + case 1879: +#line 13958 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1857: -#line 13742 "gram.y" + case 1880: +#line 13959 "gram.y" { (yyval.node) = NULL; ;} break; - case 1858: -#line 13747 "gram.y" + case 1881: +#line 13964 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1859: -#line 13749 "gram.y" + case 1882: +#line 13966 "gram.y" { CurrentOfExpr *n = makeNode(CurrentOfExpr); @@ -45901,37 +47787,37 @@ YYLTYPE yylloc; ;} break; - case 1860: -#line 13757 "gram.y" + case 1883: +#line 13974 "gram.y" { (yyval.node) = NULL; ;} break; - case 1861: -#line 13762 "gram.y" + case 1884: +#line 13979 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1862: -#line 13763 "gram.y" + case 1885: +#line 13980 "gram.y" { (yyval.list) = NIL; ;} break; - case 1863: -#line 13768 "gram.y" + case 1886: +#line 13985 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1864: -#line 13772 "gram.y" + case 1887: +#line 13989 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1865: -#line 13778 "gram.y" + case 1888: +#line 13995 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -45952,8 +47838,8 @@ YYLTYPE yylloc; ;} break; - case 1866: -#line 13803 "gram.y" + case 1889: +#line 14020 "gram.y" { RangeTableFunc *n = makeNode(RangeTableFunc); @@ -45966,8 +47852,8 @@ YYLTYPE yylloc; ;} break; - case 1867: -#line 13815 "gram.y" + case 1890: +#line 14032 "gram.y" { RangeTableFunc *n = makeNode(RangeTableFunc); @@ -45980,18 +47866,18 @@ YYLTYPE yylloc; ;} break; - case 1868: -#line 13827 "gram.y" + case 1891: +#line 14044 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1869: -#line 13828 "gram.y" + case 1892: +#line 14045 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1870: -#line 13833 "gram.y" + case 1893: +#line 14050 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); @@ -46007,8 +47893,8 @@ YYLTYPE yylloc; ;} break; - case 1871: -#line 13847 "gram.y" + case 1894: +#line 14064 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); ListCell *option; @@ -46067,8 +47953,8 @@ YYLTYPE yylloc; ;} break; - case 1872: -#line 13904 "gram.y" + case 1895: +#line 14121 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); @@ -46081,48 +47967,53 @@ YYLTYPE yylloc; ;} break; - case 1873: -#line 13918 "gram.y" + case 1896: +#line 14135 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1874: -#line 13920 "gram.y" + case 1897: +#line 14137 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1875: -#line 13925 "gram.y" + case 1898: +#line 14142 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1876: -#line 13927 "gram.y" + case 1899: +#line 14144 "gram.y" { (yyval.defelt) = makeDefElem("default", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1877: -#line 13929 "gram.y" + case 1900: +#line 14146 "gram.y" { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;} break; - case 1878: -#line 13931 "gram.y" + case 1901: +#line 14148 "gram.y" { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(false), (yylsp[(1) - (1)])); ;} break; - case 1879: -#line 13936 "gram.y" + case 1902: +#line 14150 "gram.y" + { (yyval.defelt) = makeDefElem("path", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 1903: +#line 14155 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1880: -#line 13938 "gram.y" + case 1904: +#line 14157 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 1881: -#line 13943 "gram.y" + case 1905: +#line 14162 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(3) - (3)].str); @@ -46132,8 +48023,8 @@ YYLTYPE yylloc; ;} break; - case 1882: -#line 13951 "gram.y" + case 1906: +#line 14170 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; @@ -46143,16 +48034,166 @@ YYLTYPE yylloc; ;} break; - case 1883: -#line 13971 "gram.y" + case 1907: +#line 14186 "gram.y" + { + JsonTable *n = makeNode(JsonTable); + char *pathstring; + + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (13)].node); + if (!IsA((yyvsp[(5) - (13)].node), A_Const) || + castNode(A_Const, (yyvsp[(5) - (13)].node))->val.node.type != T_String) + ereport(ERROR, + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("only string constants are supported in JSON_TABLE path specification"), + parser_errposition((yylsp[(5) - (13)]))); + pathstring = castNode(A_Const, (yyvsp[(5) - (13)].node))->val.sval.sval; + n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[(6) - (13)].str), (yylsp[(5) - (13)]), (yylsp[(6) - (13)])); + n->passing = (yyvsp[(7) - (13)].list); + n->columns = (yyvsp[(10) - (13)].list); + n->on_error = (JsonBehavior *) (yyvsp[(12) - (13)].node); + n->location = (yylsp[(1) - (13)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1908: +#line 14208 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].str); ;} + break; + + case 1909: +#line 14209 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 1910: +#line 14214 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + break; + + case 1911: +#line 14216 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} + break; + + case 1912: +#line 14221 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_FOR_ORDINALITY; + n->name = (yyvsp[(1) - (3)].str); + n->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1913: +#line 14234 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_REGULAR; + n->name = (yyvsp[(1) - (6)].str); + n->typeName = (yyvsp[(2) - (6)].typnam); + n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + n->pathspec = (JsonTablePathSpec *) (yyvsp[(3) - (6)].node); + n->wrapper = (yyvsp[(4) - (6)].ival); + n->quotes = (yyvsp[(5) - (6)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(6) - (6)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(6) - (6)].list)); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1914: +#line 14254 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_FORMATTED; + n->name = (yyvsp[(1) - (7)].str); + n->typeName = (yyvsp[(2) - (7)].typnam); + n->format = (JsonFormat *) (yyvsp[(3) - (7)].node); + n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (7)].node); + n->wrapper = (yyvsp[(5) - (7)].ival); + n->quotes = (yyvsp[(6) - (7)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(7) - (7)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(7) - (7)].list)); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1915: +#line 14272 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_EXISTS; + n->name = (yyvsp[(1) - (5)].str); + n->typeName = (yyvsp[(2) - (5)].typnam); + n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + n->wrapper = JSW_NONE; + n->quotes = JS_QUOTES_UNSPEC; + n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (5)].node); + n->on_empty = NULL; + n->on_error = (JsonBehavior *) (yyvsp[(5) - (5)].node); + n->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1916: +#line 14289 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_NESTED; + n->pathspec = (JsonTablePathSpec *) + makeJsonTablePathSpec((yyvsp[(3) - (7)].str), NULL, (yylsp[(3) - (7)]), -1); + n->columns = (yyvsp[(6) - (7)].list); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1917: +#line 14301 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_NESTED; + n->pathspec = (JsonTablePathSpec *) + makeJsonTablePathSpec((yyvsp[(3) - (9)].str), (yyvsp[(5) - (9)].str), (yylsp[(3) - (9)]), (yylsp[(5) - (9)])); + n->columns = (yyvsp[(8) - (9)].list); + n->location = (yylsp[(1) - (9)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1920: +#line 14320 "gram.y" + { (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[(2) - (2)].str), NULL, (yylsp[(2) - (2)]), -1); ;} + break; + + case 1921: +#line 14322 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 1922: +#line 14336 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list); ;} break; - case 1884: -#line 13976 "gram.y" + case 1923: +#line 14341 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (3)].typnam); (yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list); @@ -46160,16 +48201,16 @@ YYLTYPE yylloc; ;} break; - case 1885: -#line 13983 "gram.y" + case 1924: +#line 14348 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (5)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival))); ;} break; - case 1886: -#line 13988 "gram.y" + case 1925: +#line 14353 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (6)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival))); @@ -46177,16 +48218,16 @@ YYLTYPE yylloc; ;} break; - case 1887: -#line 13994 "gram.y" + case 1926: +#line 14359 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); ;} break; - case 1888: -#line 13999 "gram.y" + case 1927: +#line 14364 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (3)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); @@ -46194,56 +48235,56 @@ YYLTYPE yylloc; ;} break; - case 1889: -#line 14008 "gram.y" + case 1928: +#line 14373 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;} break; - case 1890: -#line 14010 "gram.y" + case 1929: +#line 14375 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;} break; - case 1891: -#line 14012 "gram.y" + case 1930: +#line 14377 "gram.y" { (yyval.list) = NIL; ;} break; - case 1892: -#line 14016 "gram.y" + case 1931: +#line 14381 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1893: -#line 14017 "gram.y" + case 1932: +#line 14382 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1894: -#line 14018 "gram.y" + case 1933: +#line 14383 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1895: -#line 14019 "gram.y" + case 1934: +#line 14384 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1896: -#line 14020 "gram.y" + case 1935: +#line 14385 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1897: -#line 14022 "gram.y" + case 1936: +#line 14387 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); ;} break; - case 1898: -#line 14027 "gram.y" + case 1937: +#line 14392 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (4)].typnam); (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), @@ -46251,28 +48292,38 @@ YYLTYPE yylloc; ;} break; - case 1899: -#line 14046 "gram.y" + case 1938: +#line 14397 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1900: -#line 14047 "gram.y" + case 1939: +#line 14412 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1901: -#line 14048 "gram.y" + case 1940: +#line 14413 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1902: -#line 14049 "gram.y" + case 1941: +#line 14414 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1903: -#line 14061 "gram.y" + case 1942: +#line 14415 "gram.y" + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} + break; + + case 1943: +#line 14416 "gram.y" + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} + break; + + case 1944: +#line 14428 "gram.y" { (yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str)); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -46280,8 +48331,8 @@ YYLTYPE yylloc; ;} break; - case 1904: -#line 14067 "gram.y" + case 1945: +#line 14434 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list))); (yyval.typnam)->typmods = (yyvsp[(3) - (3)].list); @@ -46289,74 +48340,74 @@ YYLTYPE yylloc; ;} break; - case 1905: -#line 14074 "gram.y" + case 1946: +#line 14441 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1906: -#line 14075 "gram.y" + case 1947: +#line 14442 "gram.y" { (yyval.list) = NIL; ;} break; - case 1907: -#line 14082 "gram.y" + case 1948: +#line 14449 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1908: -#line 14087 "gram.y" + case 1949: +#line 14454 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1909: -#line 14092 "gram.y" + case 1950: +#line 14459 "gram.y" { (yyval.typnam) = SystemTypeName("int2"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1910: -#line 14097 "gram.y" + case 1951: +#line 14464 "gram.y" { (yyval.typnam) = SystemTypeName("int8"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1911: -#line 14102 "gram.y" + case 1952: +#line 14469 "gram.y" { (yyval.typnam) = SystemTypeName("float4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1912: -#line 14107 "gram.y" + case 1953: +#line 14474 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (2)].typnam); (yyval.typnam)->location = (yylsp[(1) - (2)]); ;} break; - case 1913: -#line 14112 "gram.y" + case 1954: +#line 14479 "gram.y" { (yyval.typnam) = SystemTypeName("float8"); (yyval.typnam)->location = (yylsp[(1) - (2)]); ;} break; - case 1914: -#line 14117 "gram.y" + case 1955: +#line 14484 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -46364,8 +48415,8 @@ YYLTYPE yylloc; ;} break; - case 1915: -#line 14123 "gram.y" + case 1956: +#line 14490 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -46373,8 +48424,8 @@ YYLTYPE yylloc; ;} break; - case 1916: -#line 14129 "gram.y" + case 1957: +#line 14496 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -46382,16 +48433,16 @@ YYLTYPE yylloc; ;} break; - case 1917: -#line 14135 "gram.y" + case 1958: +#line 14502 "gram.y" { (yyval.typnam) = SystemTypeName("bool"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1918: -#line 14142 "gram.y" + case 1959: +#line 14509 "gram.y" { /* * Check FLOAT() precision limits assuming IEEE floating @@ -46414,44 +48465,44 @@ YYLTYPE yylloc; ;} break; - case 1919: -#line 14163 "gram.y" + case 1960: +#line 14530 "gram.y" { (yyval.typnam) = SystemTypeName("float8"); ;} break; - case 1920: -#line 14173 "gram.y" + case 1961: +#line 14540 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1921: -#line 14177 "gram.y" + case 1962: +#line 14544 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1922: -#line 14185 "gram.y" + case 1963: +#line 14552 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1923: -#line 14189 "gram.y" + case 1964: +#line 14556 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); (yyval.typnam)->typmods = NIL; ;} break; - case 1924: -#line 14197 "gram.y" + case 1965: +#line 14564 "gram.y" { char *typname; @@ -46462,8 +48513,8 @@ YYLTYPE yylloc; ;} break; - case 1925: -#line 14209 "gram.y" + case 1966: +#line 14576 "gram.y" { /* bit defaults to bit(1), varbit to no limit */ if ((yyvsp[(2) - (2)].boolean)) @@ -46479,29 +48530,29 @@ YYLTYPE yylloc; ;} break; - case 1926: -#line 14230 "gram.y" + case 1967: +#line 14597 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1927: -#line 14234 "gram.y" + case 1968: +#line 14601 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1928: -#line 14240 "gram.y" + case 1969: +#line 14607 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1929: -#line 14244 "gram.y" + case 1970: +#line 14611 "gram.y" { /* Length was not specified so allow to be unrestricted. * This handles problems with fixed-length (bpchar) strings @@ -46514,8 +48565,8 @@ YYLTYPE yylloc; ;} break; - case 1930: -#line 14257 "gram.y" + case 1971: +#line 14624 "gram.y" { (yyval.typnam) = SystemTypeName((yyvsp[(1) - (4)].str)); (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); @@ -46523,8 +48574,8 @@ YYLTYPE yylloc; ;} break; - case 1931: -#line 14265 "gram.y" + case 1972: +#line 14632 "gram.y" { (yyval.typnam) = SystemTypeName((yyvsp[(1) - (1)].str)); /* char defaults to char(1), varchar to no limit */ @@ -46534,48 +48585,48 @@ YYLTYPE yylloc; ;} break; - case 1932: -#line 14275 "gram.y" + case 1973: +#line 14642 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} break; - case 1933: -#line 14277 "gram.y" + case 1974: +#line 14644 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} break; - case 1934: -#line 14279 "gram.y" + case 1975: +#line 14646 "gram.y" { (yyval.str) = "varchar"; ;} break; - case 1935: -#line 14281 "gram.y" + case 1976: +#line 14648 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} break; - case 1936: -#line 14283 "gram.y" + case 1977: +#line 14650 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} break; - case 1937: -#line 14285 "gram.y" + case 1978: +#line 14652 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} break; - case 1938: -#line 14289 "gram.y" + case 1979: +#line 14656 "gram.y" { (yyval.boolean) = true; ;} break; - case 1939: -#line 14290 "gram.y" + case 1980: +#line 14657 "gram.y" { (yyval.boolean) = false; ;} break; - case 1940: -#line 14298 "gram.y" + case 1981: +#line 14665 "gram.y" { if ((yyvsp[(5) - (5)].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); @@ -46586,8 +48637,8 @@ YYLTYPE yylloc; ;} break; - case 1941: -#line 14307 "gram.y" + case 1982: +#line 14674 "gram.y" { if ((yyvsp[(2) - (2)].boolean)) (yyval.typnam) = SystemTypeName("timestamptz"); @@ -46597,8 +48648,8 @@ YYLTYPE yylloc; ;} break; - case 1942: -#line 14315 "gram.y" + case 1983: +#line 14682 "gram.y" { if ((yyvsp[(5) - (5)].boolean)) (yyval.typnam) = SystemTypeName("timetz"); @@ -46609,8 +48660,8 @@ YYLTYPE yylloc; ;} break; - case 1943: -#line 14324 "gram.y" + case 1984: +#line 14691 "gram.y" { if ((yyvsp[(2) - (2)].boolean)) (yyval.typnam) = SystemTypeName("timetz"); @@ -46620,77 +48671,77 @@ YYLTYPE yylloc; ;} break; - case 1944: -#line 14335 "gram.y" + case 1985: +#line 14702 "gram.y" { (yyval.typnam) = SystemTypeName("interval"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1945: -#line 14342 "gram.y" + case 1986: +#line 14709 "gram.y" { (yyval.boolean) = true; ;} break; - case 1946: -#line 14343 "gram.y" + case 1987: +#line 14710 "gram.y" { (yyval.boolean) = false; ;} break; - case 1947: -#line 14344 "gram.y" + case 1988: +#line 14711 "gram.y" { (yyval.boolean) = false; ;} break; - case 1948: -#line 14349 "gram.y" + case 1989: +#line 14716 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;} break; - case 1949: -#line 14351 "gram.y" + case 1990: +#line 14718 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;} break; - case 1950: -#line 14353 "gram.y" + case 1991: +#line 14720 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;} break; - case 1951: -#line 14355 "gram.y" + case 1992: +#line 14722 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;} break; - case 1952: -#line 14357 "gram.y" + case 1993: +#line 14724 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;} break; - case 1953: -#line 14359 "gram.y" + case 1994: +#line 14726 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1954: -#line 14361 "gram.y" + case 1995: +#line 14728 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH), (yylsp[(1) - (3)]))); ;} break; - case 1955: -#line 14366 "gram.y" + case 1996: +#line 14733 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR), (yylsp[(1) - (3)]))); ;} break; - case 1956: -#line 14371 "gram.y" + case 1997: +#line 14738 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | @@ -46698,8 +48749,8 @@ YYLTYPE yylloc; ;} break; - case 1957: -#line 14377 "gram.y" + case 1998: +#line 14744 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) | @@ -46709,16 +48760,16 @@ YYLTYPE yylloc; ;} break; - case 1958: -#line 14385 "gram.y" + case 1999: +#line 14752 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); ;} break; - case 1959: -#line 14390 "gram.y" + case 2000: +#line 14757 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) | @@ -46727,8 +48778,8 @@ YYLTYPE yylloc; ;} break; - case 1960: -#line 14397 "gram.y" + case 2001: +#line 14764 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) | @@ -46736,38 +48787,46 @@ YYLTYPE yylloc; ;} break; - case 1961: -#line 14403 "gram.y" + case 2002: +#line 14770 "gram.y" { (yyval.list) = NIL; ;} break; - case 1962: -#line 14408 "gram.y" + case 2003: +#line 14775 "gram.y" { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)]))); ;} break; - case 1963: -#line 14412 "gram.y" + case 2004: +#line 14779 "gram.y" { (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])), makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); ;} break; - case 1964: -#line 14447 "gram.y" + case 2005: +#line 14787 "gram.y" + { + (yyval.typnam) = SystemTypeName("json"); + (yyval.typnam)->location = (yylsp[(1) - (1)]); + ;} + break; + + case 2006: +#line 14821 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1965: -#line 14449 "gram.y" + case 2007: +#line 14823 "gram.y" { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} break; - case 1966: -#line 14451 "gram.y" + case 2008: +#line 14825 "gram.y" { CollateClause *n = makeNode(CollateClause); @@ -46778,8 +48837,8 @@ YYLTYPE yylloc; ;} break; - case 1967: -#line 14460 "gram.y" + case 2009: +#line 14834 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"), list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)), @@ -46788,116 +48847,126 @@ YYLTYPE yylloc; ;} break; - case 1968: -#line 14476 "gram.y" + case 2010: +#line 14841 "gram.y" + { + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"), + list_make1((yyvsp[(1) - (3)].node)), + COERCE_SQL_SYNTAX, + -1); + ;} + break; + + case 2011: +#line 14857 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1969: -#line 14478 "gram.y" + case 2012: +#line 14859 "gram.y" { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1970: -#line 14480 "gram.y" + case 2013: +#line 14861 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1971: -#line 14482 "gram.y" + case 2014: +#line 14863 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1972: -#line 14484 "gram.y" + case 2015: +#line 14865 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1973: -#line 14486 "gram.y" + case 2016: +#line 14867 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1974: -#line 14488 "gram.y" + case 2017: +#line 14869 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1975: -#line 14490 "gram.y" + case 2018: +#line 14871 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1976: -#line 14492 "gram.y" + case 2019: +#line 14873 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1977: -#line 14494 "gram.y" + case 2020: +#line 14875 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1978: -#line 14496 "gram.y" + case 2021: +#line 14877 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1979: -#line 14498 "gram.y" + case 2022: +#line 14879 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1980: -#line 14500 "gram.y" + case 2023: +#line 14881 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1981: -#line 14502 "gram.y" + case 2024: +#line 14883 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1982: -#line 14505 "gram.y" + case 2025: +#line 14886 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1983: -#line 14507 "gram.y" + case 2026: +#line 14888 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1984: -#line 14510 "gram.y" + case 2027: +#line 14891 "gram.y" { (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1985: -#line 14512 "gram.y" + case 2028: +#line 14893 "gram.y" { (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1986: -#line 14514 "gram.y" + case 2029: +#line 14895 "gram.y" { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1987: -#line 14516 "gram.y" + case 2030: +#line 14897 "gram.y" { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1988: -#line 14519 "gram.y" + case 2031: +#line 14900 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1989: -#line 14524 "gram.y" + case 2032: +#line 14905 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), @@ -46908,16 +48977,16 @@ YYLTYPE yylloc; ;} break; - case 1990: -#line 14533 "gram.y" + case 2033: +#line 14914 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); ;} break; - case 1991: -#line 14538 "gram.y" + case 2034: +#line 14919 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), @@ -46928,16 +48997,16 @@ YYLTYPE yylloc; ;} break; - case 1992: -#line 14547 "gram.y" + case 2035: +#line 14928 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1993: -#line 14552 "gram.y" + case 2036: +#line 14933 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), @@ -46948,16 +49017,16 @@ YYLTYPE yylloc; ;} break; - case 1994: -#line 14561 "gram.y" + case 2037: +#line 14942 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); ;} break; - case 1995: -#line 14566 "gram.y" + case 2038: +#line 14947 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), @@ -46968,8 +49037,8 @@ YYLTYPE yylloc; ;} break; - case 1996: -#line 14576 "gram.y" + case 2039: +#line 14957 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), list_make1((yyvsp[(4) - (4)].node)), @@ -46980,8 +49049,8 @@ YYLTYPE yylloc; ;} break; - case 1997: -#line 14585 "gram.y" + case 2040: +#line 14966 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), @@ -46992,8 +49061,8 @@ YYLTYPE yylloc; ;} break; - case 1998: -#line 14594 "gram.y" + case 2041: +#line 14975 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), list_make1((yyvsp[(5) - (5)].node)), @@ -47004,8 +49073,8 @@ YYLTYPE yylloc; ;} break; - case 1999: -#line 14603 "gram.y" + case 2042: +#line 14984 "gram.y" { FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), @@ -47016,8 +49085,8 @@ YYLTYPE yylloc; ;} break; - case 2000: -#line 14622 "gram.y" + case 2043: +#line 15003 "gram.y" { NullTest *n = makeNode(NullTest); @@ -47028,8 +49097,8 @@ YYLTYPE yylloc; ;} break; - case 2001: -#line 14631 "gram.y" + case 2044: +#line 15012 "gram.y" { NullTest *n = makeNode(NullTest); @@ -47040,8 +49109,8 @@ YYLTYPE yylloc; ;} break; - case 2002: -#line 14640 "gram.y" + case 2045: +#line 15021 "gram.y" { NullTest *n = makeNode(NullTest); @@ -47052,8 +49121,8 @@ YYLTYPE yylloc; ;} break; - case 2003: -#line 14649 "gram.y" + case 2046: +#line 15030 "gram.y" { NullTest *n = makeNode(NullTest); @@ -47064,8 +49133,8 @@ YYLTYPE yylloc; ;} break; - case 2004: -#line 14658 "gram.y" + case 2047: +#line 15039 "gram.y" { if (list_length((yyvsp[(1) - (3)].list)) != 2) ereport(ERROR, @@ -47084,8 +49153,8 @@ YYLTYPE yylloc; ;} break; - case 2005: -#line 14675 "gram.y" + case 2048: +#line 15056 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47096,8 +49165,8 @@ YYLTYPE yylloc; ;} break; - case 2006: -#line 14684 "gram.y" + case 2049: +#line 15065 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47108,8 +49177,8 @@ YYLTYPE yylloc; ;} break; - case 2007: -#line 14693 "gram.y" + case 2050: +#line 15074 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47120,8 +49189,8 @@ YYLTYPE yylloc; ;} break; - case 2008: -#line 14702 "gram.y" + case 2051: +#line 15083 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47132,8 +49201,8 @@ YYLTYPE yylloc; ;} break; - case 2009: -#line 14711 "gram.y" + case 2052: +#line 15092 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47144,8 +49213,8 @@ YYLTYPE yylloc; ;} break; - case 2010: -#line 14720 "gram.y" + case 2053: +#line 15101 "gram.y" { BooleanTest *b = makeNode(BooleanTest); @@ -47156,22 +49225,22 @@ YYLTYPE yylloc; ;} break; - case 2011: -#line 14729 "gram.y" + case 2054: +#line 15110 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); ;} break; - case 2012: -#line 14733 "gram.y" + case 2055: +#line 15114 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); ;} break; - case 2013: -#line 14737 "gram.y" + case 2056: +#line 15118 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN, "BETWEEN", @@ -47181,8 +49250,8 @@ YYLTYPE yylloc; ;} break; - case 2014: -#line 14745 "gram.y" + case 2057: +#line 15126 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN, "NOT BETWEEN", @@ -47192,8 +49261,8 @@ YYLTYPE yylloc; ;} break; - case 2015: -#line 14753 "gram.y" + case 2058: +#line 15134 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM, "BETWEEN SYMMETRIC", @@ -47203,8 +49272,8 @@ YYLTYPE yylloc; ;} break; - case 2016: -#line 14761 "gram.y" + case 2059: +#line 15142 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM, "NOT BETWEEN SYMMETRIC", @@ -47214,8 +49283,8 @@ YYLTYPE yylloc; ;} break; - case 2017: -#line 14769 "gram.y" + case 2060: +#line 15150 "gram.y" { /* in_expr returns a SubLink or a list of a_exprs */ if (IsA((yyvsp[(3) - (3)].node), SubLink)) @@ -47238,8 +49307,8 @@ YYLTYPE yylloc; ;} break; - case 2018: -#line 14790 "gram.y" + case 2061: +#line 15171 "gram.y" { /* in_expr returns a SubLink or a list of a_exprs */ if (IsA((yyvsp[(4) - (4)].node), SubLink)) @@ -47264,8 +49333,8 @@ YYLTYPE yylloc; ;} break; - case 2019: -#line 14813 "gram.y" + case 2062: +#line 15194 "gram.y" { SubLink *n = makeNode(SubLink); @@ -47279,8 +49348,8 @@ YYLTYPE yylloc; ;} break; - case 2020: -#line 14825 "gram.y" + case 2063: +#line 15206 "gram.y" { if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK) (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); @@ -47289,8 +49358,8 @@ YYLTYPE yylloc; ;} break; - case 2021: -#line 14832 "gram.y" + case 2064: +#line 15213 "gram.y" { /* Not sure how to get rid of the parentheses * but there are lots of shift/reduce errors without them. @@ -47308,16 +49377,16 @@ YYLTYPE yylloc; ;} break; - case 2022: -#line 14848 "gram.y" + case 2065: +#line 15229 "gram.y" { (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); ;} break; - case 2023: -#line 14853 "gram.y" + case 2066: +#line 15234 "gram.y" { (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), @@ -47325,8 +49394,8 @@ YYLTYPE yylloc; ;} break; - case 2024: -#line 14859 "gram.y" + case 2067: +#line 15240 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[(1) - (3)].node)), @@ -47335,8 +49404,8 @@ YYLTYPE yylloc; ;} break; - case 2025: -#line 14866 "gram.y" + case 2068: +#line 15247 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[(1) - (4)].node), makeStringConst((yyvsp[(3) - (4)].str), (yylsp[(3) - (4)]))), @@ -47345,8 +49414,8 @@ YYLTYPE yylloc; ;} break; - case 2026: -#line 14873 "gram.y" + case 2069: +#line 15254 "gram.y" { (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[(1) - (4)].node)), @@ -47356,8 +49425,8 @@ YYLTYPE yylloc; ;} break; - case 2027: -#line 14881 "gram.y" + case 2070: +#line 15262 "gram.y" { (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[(1) - (5)].node), makeStringConst((yyvsp[(4) - (5)].str), (yylsp[(4) - (5)]))), @@ -47367,8 +49436,8 @@ YYLTYPE yylloc; ;} break; - case 2028: -#line 14890 "gram.y" + case 2071: +#line 15271 "gram.y" { JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); @@ -47376,8 +49445,8 @@ YYLTYPE yylloc; ;} break; - case 2029: -#line 14909 "gram.y" + case 2072: +#line 15289 "gram.y" { JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); @@ -47385,8 +49454,8 @@ YYLTYPE yylloc; ;} break; - case 2030: -#line 14927 "gram.y" + case 2073: +#line 15306 "gram.y" { /* * The SQL spec only allows DEFAULT in "contextually typed @@ -47403,120 +49472,120 @@ YYLTYPE yylloc; ;} break; - case 2031: -#line 14953 "gram.y" + case 2074: +#line 15332 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2032: -#line 14955 "gram.y" + case 2075: +#line 15334 "gram.y" { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} break; - case 2033: -#line 14957 "gram.y" + case 2076: +#line 15336 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 2034: -#line 14959 "gram.y" + case 2077: +#line 15338 "gram.y" { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 2035: -#line 14961 "gram.y" + case 2078: +#line 15340 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2036: -#line 14963 "gram.y" + case 2079: +#line 15342 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2037: -#line 14965 "gram.y" + case 2080: +#line 15344 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2038: -#line 14967 "gram.y" + case 2081: +#line 15346 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2039: -#line 14969 "gram.y" + case 2082: +#line 15348 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2040: -#line 14971 "gram.y" + case 2083: +#line 15350 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2041: -#line 14973 "gram.y" + case 2084: +#line 15352 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2042: -#line 14975 "gram.y" + case 2085: +#line 15354 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2043: -#line 14977 "gram.y" + case 2086: +#line 15356 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2044: -#line 14979 "gram.y" + case 2087: +#line 15358 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2045: -#line 14981 "gram.y" + case 2088: +#line 15360 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2046: -#line 14983 "gram.y" + case 2089: +#line 15362 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2047: -#line 14985 "gram.y" + case 2090: +#line 15364 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 2048: -#line 14987 "gram.y" + case 2091: +#line 15366 "gram.y" { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 2049: -#line 14989 "gram.y" + case 2092: +#line 15368 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); ;} break; - case 2050: -#line 14993 "gram.y" + case 2093: +#line 15372 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); ;} break; - case 2051: -#line 14997 "gram.y" + case 2094: +#line 15376 "gram.y" { (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); ;} break; - case 2052: -#line 15002 "gram.y" + case 2095: +#line 15381 "gram.y" { (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), @@ -47524,18 +49593,18 @@ YYLTYPE yylloc; ;} break; - case 2053: -#line 15017 "gram.y" + case 2096: +#line 15396 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2054: -#line 15018 "gram.y" + case 2097: +#line 15397 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2055: -#line 15020 "gram.y" + case 2098: +#line 15399 "gram.y" { ParamRef *p = makeNode(ParamRef); @@ -47554,8 +49623,8 @@ YYLTYPE yylloc; ;} break; - case 2056: -#line 15037 "gram.y" + case 2099: +#line 15416 "gram.y" { if ((yyvsp[(4) - (4)].list)) { @@ -47570,18 +49639,18 @@ YYLTYPE yylloc; ;} break; - case 2057: -#line 15050 "gram.y" + case 2100: +#line 15429 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2058: -#line 15052 "gram.y" + case 2101: +#line 15431 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2059: -#line 15054 "gram.y" + case 2102: +#line 15433 "gram.y" { SubLink *n = makeNode(SubLink); @@ -47595,8 +49664,8 @@ YYLTYPE yylloc; ;} break; - case 2060: -#line 15066 "gram.y" + case 2103: +#line 15445 "gram.y" { /* * Because the select_with_parens nonterminal is designed @@ -47623,8 +49692,8 @@ YYLTYPE yylloc; ;} break; - case 2061: -#line 15091 "gram.y" + case 2104: +#line 15470 "gram.y" { SubLink *n = makeNode(SubLink); @@ -47638,8 +49707,8 @@ YYLTYPE yylloc; ;} break; - case 2062: -#line 15103 "gram.y" + case 2105: +#line 15482 "gram.y" { SubLink *n = makeNode(SubLink); @@ -47653,8 +49722,8 @@ YYLTYPE yylloc; ;} break; - case 2063: -#line 15115 "gram.y" + case 2106: +#line 15494 "gram.y" { A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[(2) - (2)].node)); @@ -47664,8 +49733,8 @@ YYLTYPE yylloc; ;} break; - case 2064: -#line 15123 "gram.y" + case 2107: +#line 15502 "gram.y" { RowExpr *r = makeNode(RowExpr); @@ -47678,8 +49747,8 @@ YYLTYPE yylloc; ;} break; - case 2065: -#line 15134 "gram.y" + case 2108: +#line 15513 "gram.y" { RowExpr *r = makeNode(RowExpr); @@ -47692,8 +49761,8 @@ YYLTYPE yylloc; ;} break; - case 2066: -#line 15145 "gram.y" + case 2109: +#line 15524 "gram.y" { GroupingFunc *g = makeNode(GroupingFunc); @@ -47703,8 +49772,8 @@ YYLTYPE yylloc; ;} break; - case 2067: -#line 15155 "gram.y" + case 2110: +#line 15534 "gram.y" { (yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, COERCE_EXPLICIT_CALL, @@ -47712,8 +49781,8 @@ YYLTYPE yylloc; ;} break; - case 2068: -#line 15161 "gram.y" + case 2111: +#line 15540 "gram.y" { FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), COERCE_EXPLICIT_CALL, @@ -47724,8 +49793,8 @@ YYLTYPE yylloc; ;} break; - case 2069: -#line 15170 "gram.y" + case 2112: +#line 15549 "gram.y" { FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), COERCE_EXPLICIT_CALL, @@ -47737,8 +49806,8 @@ YYLTYPE yylloc; ;} break; - case 2070: -#line 15180 "gram.y" + case 2113: +#line 15559 "gram.y" { FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), COERCE_EXPLICIT_CALL, @@ -47750,8 +49819,8 @@ YYLTYPE yylloc; ;} break; - case 2071: -#line 15190 "gram.y" + case 2114: +#line 15569 "gram.y" { FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), COERCE_EXPLICIT_CALL, @@ -47766,8 +49835,8 @@ YYLTYPE yylloc; ;} break; - case 2072: -#line 15203 "gram.y" + case 2115: +#line 15582 "gram.y" { FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), COERCE_EXPLICIT_CALL, @@ -47779,8 +49848,8 @@ YYLTYPE yylloc; ;} break; - case 2073: -#line 15213 "gram.y" + case 2116: +#line 15592 "gram.y" { /* * We consider AGGREGATE(*) to invoke a parameterless @@ -47801,8 +49870,8 @@ YYLTYPE yylloc; ;} break; - case 2074: -#line 15244 "gram.y" + case 2117: +#line 15623 "gram.y" { FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node); @@ -47840,8 +49909,8 @@ YYLTYPE yylloc; ;} break; - case 2075: -#line 15280 "gram.y" + case 2118: +#line 15659 "gram.y" { JsonAggConstructor *n = IsA((yyvsp[(1) - (3)].node), JsonObjectAgg) ? ((JsonObjectAgg *) (yyvsp[(1) - (3)].node))->constructor : @@ -47853,28 +49922,28 @@ YYLTYPE yylloc; ;} break; - case 2076: -#line 15290 "gram.y" + case 2119: +#line 15669 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2077: -#line 15300 "gram.y" + case 2120: +#line 15679 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2078: -#line 15301 "gram.y" + case 2121: +#line 15680 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2079: -#line 15302 "gram.y" + case 2122: +#line 15681 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2080: -#line 15310 "gram.y" + case 2123: +#line 15689 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"), list_make1((yyvsp[(4) - (5)].node)), @@ -47883,92 +49952,92 @@ YYLTYPE yylloc; ;} break; - case 2081: -#line 15317 "gram.y" + case 2124: +#line 15696 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)])); ;} break; - case 2082: -#line 15321 "gram.y" + case 2125: +#line 15700 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)])); ;} break; - case 2083: -#line 15325 "gram.y" + case 2126: +#line 15704 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); ;} break; - case 2084: -#line 15329 "gram.y" + case 2127: +#line 15708 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)])); ;} break; - case 2085: -#line 15333 "gram.y" + case 2128: +#line 15712 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); ;} break; - case 2086: -#line 15337 "gram.y" + case 2129: +#line 15716 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)])); ;} break; - case 2087: -#line 15341 "gram.y" + case 2130: +#line 15720 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); ;} break; - case 2088: -#line 15345 "gram.y" + case 2131: +#line 15724 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)])); ;} break; - case 2089: -#line 15349 "gram.y" + case 2132: +#line 15728 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); ;} break; - case 2090: -#line 15353 "gram.y" + case 2133: +#line 15732 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)])); ;} break; - case 2091: -#line 15357 "gram.y" + case 2134: +#line 15736 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)])); ;} break; - case 2092: -#line 15361 "gram.y" + case 2135: +#line 15740 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)])); ;} break; - case 2093: -#line 15365 "gram.y" + case 2136: +#line 15744 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"), NIL, @@ -47977,34 +50046,34 @@ YYLTYPE yylloc; ;} break; - case 2094: -#line 15372 "gram.y" + case 2137: +#line 15751 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)])); ;} break; - case 2095: -#line 15376 "gram.y" + case 2138: +#line 15755 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)])); ;} break; - case 2096: -#line 15380 "gram.y" + case 2139: +#line 15759 "gram.y" { (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)])); ;} break; - case 2097: -#line 15384 "gram.y" + case 2140: +#line 15763 "gram.y" { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;} break; - case 2098: -#line 15386 "gram.y" + case 2141: +#line 15765 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"), (yyvsp[(3) - (4)].list), @@ -48013,8 +50082,8 @@ YYLTYPE yylloc; ;} break; - case 2099: -#line 15393 "gram.y" + case 2142: +#line 15772 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make1((yyvsp[(3) - (4)].node)), @@ -48023,8 +50092,8 @@ YYLTYPE yylloc; ;} break; - case 2100: -#line 15400 "gram.y" + case 2143: +#line 15779 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make2((yyvsp[(3) - (6)].node), makeStringConst((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]))), @@ -48033,8 +50102,8 @@ YYLTYPE yylloc; ;} break; - case 2101: -#line 15407 "gram.y" + case 2144: +#line 15786 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), @@ -48043,8 +50112,8 @@ YYLTYPE yylloc; ;} break; - case 2102: -#line 15414 "gram.y" + case 2145: +#line 15793 "gram.y" { /* * allow functions named overlay() to be called without @@ -48057,8 +50126,8 @@ YYLTYPE yylloc; ;} break; - case 2103: -#line 15425 "gram.y" + case 2146: +#line 15804 "gram.y" { /* * position(A in B) is converted to position(B, A) @@ -48074,8 +50143,8 @@ YYLTYPE yylloc; ;} break; - case 2104: -#line 15439 "gram.y" + case 2147: +#line 15818 "gram.y" { /* substring(A from B for C) is converted to * substring(A, B, C) - thomas 2000-11-28 @@ -48087,8 +50156,8 @@ YYLTYPE yylloc; ;} break; - case 2105: -#line 15449 "gram.y" + case 2148: +#line 15828 "gram.y" { /* * allow functions named substring() to be called without @@ -48101,8 +50170,8 @@ YYLTYPE yylloc; ;} break; - case 2106: -#line 15460 "gram.y" + case 2149: +#line 15839 "gram.y" { /* TREAT(expr AS target) converts expr of a particular type to target, * which is defined to be a subtype of the original expression. @@ -48120,8 +50189,8 @@ YYLTYPE yylloc; ;} break; - case 2107: -#line 15476 "gram.y" + case 2150: +#line 15855 "gram.y" { /* various trim expressions are defined in SQL * - thomas 1997-07-19 @@ -48133,8 +50202,8 @@ YYLTYPE yylloc; ;} break; - case 2108: -#line 15486 "gram.y" + case 2151: +#line 15865 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), @@ -48143,8 +50212,8 @@ YYLTYPE yylloc; ;} break; - case 2109: -#line 15493 "gram.y" + case 2152: +#line 15872 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), @@ -48153,8 +50222,8 @@ YYLTYPE yylloc; ;} break; - case 2110: -#line 15500 "gram.y" + case 2153: +#line 15879 "gram.y" { (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), @@ -48163,15 +50232,15 @@ YYLTYPE yylloc; ;} break; - case 2111: -#line 15507 "gram.y" + case 2154: +#line 15886 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)])); ;} break; - case 2112: -#line 15511 "gram.y" + case 2155: +#line 15890 "gram.y" { CoalesceExpr *c = makeNode(CoalesceExpr); @@ -48181,8 +50250,8 @@ YYLTYPE yylloc; ;} break; - case 2113: -#line 15519 "gram.y" + case 2156: +#line 15898 "gram.y" { MinMaxExpr *v = makeNode(MinMaxExpr); @@ -48193,8 +50262,8 @@ YYLTYPE yylloc; ;} break; - case 2114: -#line 15528 "gram.y" + case 2157: +#line 15907 "gram.y" { MinMaxExpr *v = makeNode(MinMaxExpr); @@ -48205,43 +50274,43 @@ YYLTYPE yylloc; ;} break; - case 2115: -#line 15537 "gram.y" + case 2158: +#line 15916 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 2116: -#line 15541 "gram.y" + case 2159: +#line 15920 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)])); ;} break; - case 2117: -#line 15545 "gram.y" + case 2160: +#line 15924 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)])); ;} break; - case 2118: -#line 15549 "gram.y" + case 2161: +#line 15928 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)])); ;} break; - case 2119: -#line 15553 "gram.y" + case 2162: +#line 15932 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)])); ;} break; - case 2120: -#line 15557 "gram.y" + case 2163: +#line 15936 "gram.y" { /* xmlexists(A PASSING [BY REF] B [BY REF]) is * converted to xmlexists(A, B)*/ @@ -48252,15 +50321,15 @@ YYLTYPE yylloc; ;} break; - case 2121: -#line 15566 "gram.y" + case 2164: +#line 15945 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)])); ;} break; - case 2122: -#line 15570 "gram.y" + case 2165: +#line 15949 "gram.y" { XmlExpr *x = (XmlExpr *) makeXmlExpr(IS_XMLPARSE, NULL, NIL, @@ -48272,30 +50341,30 @@ YYLTYPE yylloc; ;} break; - case 2123: -#line 15580 "gram.y" + case 2166: +#line 15959 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)])); ;} break; - case 2124: -#line 15584 "gram.y" + case 2167: +#line 15963 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); ;} break; - case 2125: -#line 15588 "gram.y" + case 2168: +#line 15967 "gram.y" { (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL, list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); ;} break; - case 2126: -#line 15593 "gram.y" + case 2169: +#line 15972 "gram.y" { XmlSerialize *n = makeNode(XmlSerialize); @@ -48308,130 +50377,230 @@ YYLTYPE yylloc; ;} break; - case 2127: -#line 15604 "gram.y" + case 2170: +#line 15983 "gram.y" + { + /* Support for legacy (non-standard) json_object() */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"), + (yyvsp[(3) - (4)].list), COERCE_EXPLICIT_CALL, (yylsp[(1) - (4)])); + ;} + break; + + case 2171: +#line 15992 "gram.y" + { + JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + + n->exprs = (yyvsp[(3) - (7)].list); + n->absent_on_null = (yyvsp[(4) - (7)].boolean); + n->unique = (yyvsp[(5) - (7)].boolean); + n->output = (JsonOutput *) (yyvsp[(6) - (7)].node); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2172: +#line 16003 "gram.y" + { + JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + + n->exprs = NULL; + n->absent_on_null = false; + n->unique = false; + n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2173: +#line 16018 "gram.y" + { + JsonArrayConstructor *n = makeNode(JsonArrayConstructor); + + n->exprs = (yyvsp[(3) - (6)].list); + n->absent_on_null = (yyvsp[(4) - (6)].boolean); + n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2174: +#line 16033 "gram.y" + { + JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor); + + n->query = (yyvsp[(3) - (6)].node); + n->format = (JsonFormat *) (yyvsp[(4) - (6)].node); + n->absent_on_null = true; /* XXX */ + n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2175: +#line 16046 "gram.y" + { + JsonArrayConstructor *n = makeNode(JsonArrayConstructor); + + n->exprs = NIL; + n->absent_on_null = true; + n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2176: +#line 16056 "gram.y" + { + JsonParseExpr *n = makeNode(JsonParseExpr); + + n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node); + n->unique_keys = (yyvsp[(4) - (5)].boolean); + n->output = NULL; + n->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2177: +#line 16066 "gram.y" { - /* Support for legacy (non-standard) json_object() */ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"), - (yyvsp[(3) - (4)].list), COERCE_EXPLICIT_CALL, (yylsp[(1) - (4)])); + JsonScalarExpr *n = makeNode(JsonScalarExpr); + + n->expr = (Expr *) (yyvsp[(3) - (4)].node); + n->output = NULL; + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; ;} break; - case 2128: -#line 15613 "gram.y" + case 2178: +#line 16075 "gram.y" { - JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + JsonSerializeExpr *n = makeNode(JsonSerializeExpr); - n->exprs = (yyvsp[(3) - (7)].list); - n->absent_on_null = (yyvsp[(4) - (7)].boolean); - n->unique = (yyvsp[(5) - (7)].boolean); - n->output = (JsonOutput *) (yyvsp[(6) - (7)].node); - n->location = (yylsp[(1) - (7)]); + n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node); + n->output = (JsonOutput *) (yyvsp[(4) - (5)].node); + n->location = (yylsp[(1) - (5)]); (yyval.node) = (Node *) n; ;} break; - case 2129: -#line 15624 "gram.y" + case 2179: +#line 16084 "gram.y" { - JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + MergeSupportFunc *m = makeNode(MergeSupportFunc); - n->exprs = NULL; - n->absent_on_null = false; - n->unique = false; - n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); - n->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) n; + m->msftype = TEXTOID; + m->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) m; ;} break; - case 2130: -#line 15639 "gram.y" + case 2180: +#line 16098 "gram.y" { - JsonArrayConstructor *n = makeNode(JsonArrayConstructor); - - n->exprs = (yyvsp[(3) - (6)].list); - n->absent_on_null = (yyvsp[(4) - (6)].boolean); - n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); - n->location = (yylsp[(1) - (6)]); + JsonFuncExpr *n = makeNode(JsonFuncExpr); + + n->op = JSON_QUERY_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (11)].node); + n->pathspec = (yyvsp[(5) - (11)].node); + n->passing = (yyvsp[(6) - (11)].list); + n->output = (JsonOutput *) (yyvsp[(7) - (11)].node); + n->wrapper = (yyvsp[(8) - (11)].ival); + n->quotes = (yyvsp[(9) - (11)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(10) - (11)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(10) - (11)].list)); + n->location = (yylsp[(1) - (11)]); (yyval.node) = (Node *) n; ;} break; - case 2131: -#line 15654 "gram.y" + case 2181: +#line 16117 "gram.y" { - JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor); + JsonFuncExpr *n = makeNode(JsonFuncExpr); - n->query = (yyvsp[(3) - (6)].node); - n->format = (JsonFormat *) (yyvsp[(4) - (6)].node); - n->absent_on_null = true; /* XXX */ - n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); - n->location = (yylsp[(1) - (6)]); + n->op = JSON_EXISTS_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (8)].node); + n->pathspec = (yyvsp[(5) - (8)].node); + n->passing = (yyvsp[(6) - (8)].list); + n->output = NULL; + n->on_error = (JsonBehavior *) (yyvsp[(7) - (8)].node); + n->location = (yylsp[(1) - (8)]); (yyval.node) = (Node *) n; ;} break; - case 2132: -#line 15667 "gram.y" + case 2182: +#line 16134 "gram.y" { - JsonArrayConstructor *n = makeNode(JsonArrayConstructor); + JsonFuncExpr *n = makeNode(JsonFuncExpr); - n->exprs = NIL; - n->absent_on_null = true; - n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); - n->location = (yylsp[(1) - (4)]); + n->op = JSON_VALUE_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (9)].node); + n->pathspec = (yyvsp[(5) - (9)].node); + n->passing = (yyvsp[(6) - (9)].list); + n->output = (JsonOutput *) (yyvsp[(7) - (9)].node); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(8) - (9)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(8) - (9)].list)); + n->location = (yylsp[(1) - (9)]); (yyval.node) = (Node *) n; ;} break; - case 2133: -#line 15682 "gram.y" + case 2183: +#line 16154 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2134: -#line 15684 "gram.y" + case 2184: +#line 16156 "gram.y" { (yyval.node) = makeNullAConst(-1); ;} break; - case 2135: -#line 15688 "gram.y" + case 2185: +#line 16160 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;} break; - case 2136: -#line 15690 "gram.y" + case 2186: +#line 16162 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;} break; - case 2137: -#line 15692 "gram.y" + case 2187: +#line 16164 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;} break; - case 2138: -#line 15694 "gram.y" + case 2188: +#line 16166 "gram.y" { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;} break; - case 2139: -#line 15697 "gram.y" + case 2189: +#line 16169 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2140: -#line 15700 "gram.y" + case 2190: +#line 16172 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 2141: -#line 15701 "gram.y" + case 2191: +#line 16173 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 2142: -#line 15705 "gram.y" + case 2192: +#line 16177 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(3) - (3)].str); @@ -48441,8 +50610,8 @@ YYLTYPE yylloc; ;} break; - case 2143: -#line 15713 "gram.y" + case 2193: +#line 16185 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; @@ -48452,116 +50621,116 @@ YYLTYPE yylloc; ;} break; - case 2144: -#line 15722 "gram.y" + case 2194: +#line 16194 "gram.y" { (yyval.ival) = XMLOPTION_DOCUMENT; ;} break; - case 2145: -#line 15723 "gram.y" + case 2195: +#line 16195 "gram.y" { (yyval.ival) = XMLOPTION_CONTENT; ;} break; - case 2146: -#line 15726 "gram.y" + case 2196: +#line 16198 "gram.y" { (yyval.boolean) = true; ;} break; - case 2147: -#line 15727 "gram.y" + case 2197: +#line 16199 "gram.y" { (yyval.boolean) = false; ;} break; - case 2148: -#line 15728 "gram.y" + case 2198: +#line 16200 "gram.y" { (yyval.boolean) = false; ;} break; - case 2149: -#line 15731 "gram.y" + case 2199: +#line 16203 "gram.y" { (yyval.boolean) = true; ;} break; - case 2150: -#line 15732 "gram.y" + case 2200: +#line 16204 "gram.y" { (yyval.boolean) = false; ;} break; - case 2151: -#line 15733 "gram.y" + case 2201: +#line 16205 "gram.y" { (yyval.boolean) = false; ;} break; - case 2152: -#line 15739 "gram.y" + case 2202: +#line 16211 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2153: -#line 15743 "gram.y" + case 2203: +#line 16215 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 2154: -#line 15747 "gram.y" + case 2204: +#line 16219 "gram.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; - case 2155: -#line 15751 "gram.y" + case 2205: +#line 16223 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 2158: -#line 15766 "gram.y" + case 2208: +#line 16238 "gram.y" { (yyval.list) = (yyvsp[(4) - (5)].list); ;} break; - case 2159: -#line 15767 "gram.y" + case 2209: +#line 16239 "gram.y" { (yyval.list) = NIL; ;} break; - case 2160: -#line 15771 "gram.y" + case 2210: +#line 16243 "gram.y" { (yyval.node) = (yyvsp[(4) - (5)].node); ;} break; - case 2161: -#line 15772 "gram.y" + case 2211: +#line 16244 "gram.y" { (yyval.node) = NULL; ;} break; - case 2162: -#line 15780 "gram.y" + case 2212: +#line 16252 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 2163: -#line 15781 "gram.y" + case 2213: +#line 16253 "gram.y" { (yyval.list) = NIL; ;} break; - case 2164: -#line 15785 "gram.y" + case 2214: +#line 16257 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;} break; - case 2165: -#line 15787 "gram.y" + case 2215: +#line 16259 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;} break; - case 2166: -#line 15792 "gram.y" + case 2216: +#line 16264 "gram.y" { WindowDef *n = (yyvsp[(3) - (3)].windef); @@ -48570,13 +50739,13 @@ YYLTYPE yylloc; ;} break; - case 2167: -#line 15801 "gram.y" + case 2217: +#line 16273 "gram.y" { (yyval.windef) = (yyvsp[(2) - (2)].windef); ;} break; - case 2168: -#line 15803 "gram.y" + case 2218: +#line 16275 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48592,13 +50761,13 @@ YYLTYPE yylloc; ;} break; - case 2169: -#line 15817 "gram.y" + case 2219: +#line 16289 "gram.y" { (yyval.windef) = NULL; ;} break; - case 2170: -#line 15822 "gram.y" + case 2220: +#line 16294 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48615,28 +50784,28 @@ YYLTYPE yylloc; ;} break; - case 2171: -#line 15848 "gram.y" + case 2221: +#line 16320 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2172: -#line 15849 "gram.y" + case 2222: +#line 16321 "gram.y" { (yyval.str) = NULL; ;} break; - case 2173: -#line 15852 "gram.y" + case 2223: +#line 16324 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); ;} break; - case 2174: -#line 15853 "gram.y" + case 2224: +#line 16325 "gram.y" { (yyval.list) = NIL; ;} break; - case 2175: -#line 15862 "gram.y" + case 2225: +#line 16334 "gram.y" { WindowDef *n = (yyvsp[(2) - (3)].windef); @@ -48646,8 +50815,8 @@ YYLTYPE yylloc; ;} break; - case 2176: -#line 15870 "gram.y" + case 2226: +#line 16342 "gram.y" { WindowDef *n = (yyvsp[(2) - (3)].windef); @@ -48657,8 +50826,8 @@ YYLTYPE yylloc; ;} break; - case 2177: -#line 15878 "gram.y" + case 2227: +#line 16350 "gram.y" { WindowDef *n = (yyvsp[(2) - (3)].windef); @@ -48668,8 +50837,8 @@ YYLTYPE yylloc; ;} break; - case 2178: -#line 15886 "gram.y" + case 2228: +#line 16358 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48680,8 +50849,8 @@ YYLTYPE yylloc; ;} break; - case 2179: -#line 15897 "gram.y" + case 2229: +#line 16369 "gram.y" { WindowDef *n = (yyvsp[(1) - (1)].windef); @@ -48701,8 +50870,8 @@ YYLTYPE yylloc; ;} break; - case 2180: -#line 15915 "gram.y" + case 2230: +#line 16387 "gram.y" { WindowDef *n1 = (yyvsp[(2) - (4)].windef); WindowDef *n2 = (yyvsp[(4) - (4)].windef); @@ -48742,8 +50911,8 @@ YYLTYPE yylloc; ;} break; - case 2181: -#line 15961 "gram.y" + case 2231: +#line 16433 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48754,8 +50923,8 @@ YYLTYPE yylloc; ;} break; - case 2182: -#line 15970 "gram.y" + case 2232: +#line 16442 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48766,8 +50935,8 @@ YYLTYPE yylloc; ;} break; - case 2183: -#line 15979 "gram.y" + case 2233: +#line 16451 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48778,8 +50947,8 @@ YYLTYPE yylloc; ;} break; - case 2184: -#line 15988 "gram.y" + case 2234: +#line 16460 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48790,8 +50959,8 @@ YYLTYPE yylloc; ;} break; - case 2185: -#line 15997 "gram.y" + case 2235: +#line 16469 "gram.y" { WindowDef *n = makeNode(WindowDef); @@ -48802,233 +50971,233 @@ YYLTYPE yylloc; ;} break; - case 2186: -#line 16008 "gram.y" + case 2236: +#line 16480 "gram.y" { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;} break; - case 2187: -#line 16009 "gram.y" + case 2237: +#line 16481 "gram.y" { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;} break; - case 2188: -#line 16010 "gram.y" + case 2238: +#line 16482 "gram.y" { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;} break; - case 2189: -#line 16011 "gram.y" + case 2239: +#line 16483 "gram.y" { (yyval.ival) = 0; ;} break; - case 2190: -#line 16012 "gram.y" + case 2240: +#line 16484 "gram.y" { (yyval.ival) = 0; ;} break; - case 2191: -#line 16026 "gram.y" + case 2241: +#line 16498 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2192: -#line 16027 "gram.y" + case 2242: +#line 16499 "gram.y" { (yyval.list) = NIL; ;} break; - case 2193: -#line 16028 "gram.y" + case 2243: +#line 16500 "gram.y" { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} break; - case 2194: -#line 16031 "gram.y" + case 2244: +#line 16503 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2195: -#line 16032 "gram.y" + case 2245: +#line 16504 "gram.y" { (yyval.list) = NIL; ;} break; - case 2196: -#line 16035 "gram.y" + case 2246: +#line 16507 "gram.y" { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} break; - case 2197: -#line 16038 "gram.y" + case 2247: +#line 16510 "gram.y" { (yyval.ival) = ANY_SUBLINK; ;} break; - case 2198: -#line 16039 "gram.y" + case 2248: +#line 16511 "gram.y" { (yyval.ival) = ANY_SUBLINK; ;} break; - case 2199: -#line 16040 "gram.y" + case 2249: +#line 16512 "gram.y" { (yyval.ival) = ALL_SUBLINK; ;} break; - case 2200: -#line 16043 "gram.y" + case 2250: +#line 16515 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2201: -#line 16044 "gram.y" + case 2251: +#line 16516 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2202: -#line 16047 "gram.y" + case 2252: +#line 16519 "gram.y" { (yyval.str) = "+"; ;} break; - case 2203: -#line 16048 "gram.y" + case 2253: +#line 16520 "gram.y" { (yyval.str) = "-"; ;} break; - case 2204: -#line 16049 "gram.y" + case 2254: +#line 16521 "gram.y" { (yyval.str) = "*"; ;} break; - case 2205: -#line 16050 "gram.y" + case 2255: +#line 16522 "gram.y" { (yyval.str) = "/"; ;} break; - case 2206: -#line 16051 "gram.y" + case 2256: +#line 16523 "gram.y" { (yyval.str) = "%"; ;} break; - case 2207: -#line 16052 "gram.y" + case 2257: +#line 16524 "gram.y" { (yyval.str) = "^"; ;} break; - case 2208: -#line 16053 "gram.y" + case 2258: +#line 16525 "gram.y" { (yyval.str) = "<"; ;} break; - case 2209: -#line 16054 "gram.y" + case 2259: +#line 16526 "gram.y" { (yyval.str) = ">"; ;} break; - case 2210: -#line 16055 "gram.y" + case 2260: +#line 16527 "gram.y" { (yyval.str) = "="; ;} break; - case 2211: -#line 16056 "gram.y" + case 2261: +#line 16528 "gram.y" { (yyval.str) = "<="; ;} break; - case 2212: -#line 16057 "gram.y" + case 2262: +#line 16529 "gram.y" { (yyval.str) = ">="; ;} break; - case 2213: -#line 16058 "gram.y" + case 2263: +#line 16530 "gram.y" { (yyval.str) = "<>"; ;} break; - case 2214: -#line 16062 "gram.y" + case 2264: +#line 16534 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2215: -#line 16064 "gram.y" + case 2265: +#line 16536 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2216: -#line 16069 "gram.y" + case 2266: +#line 16541 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2217: -#line 16071 "gram.y" + case 2267: +#line 16543 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2218: -#line 16076 "gram.y" + case 2268: +#line 16548 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2219: -#line 16078 "gram.y" + case 2269: +#line 16550 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2220: -#line 16080 "gram.y" + case 2270: +#line 16552 "gram.y" { (yyval.list) = list_make1(makeString("~~")); ;} break; - case 2221: -#line 16082 "gram.y" + case 2271: +#line 16554 "gram.y" { (yyval.list) = list_make1(makeString("!~~")); ;} break; - case 2222: -#line 16084 "gram.y" + case 2272: +#line 16556 "gram.y" { (yyval.list) = list_make1(makeString("~~*")); ;} break; - case 2223: -#line 16086 "gram.y" + case 2273: +#line 16558 "gram.y" { (yyval.list) = list_make1(makeString("!~~*")); ;} break; - case 2224: -#line 16098 "gram.y" + case 2274: +#line 16570 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2225: -#line 16102 "gram.y" + case 2275: +#line 16574 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2226: -#line 16109 "gram.y" + case 2276: +#line 16581 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2227: -#line 16113 "gram.y" + case 2277: +#line 16585 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2228: -#line 16119 "gram.y" + case 2278: +#line 16591 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2229: -#line 16123 "gram.y" + case 2279: +#line 16595 "gram.y" { NamedArgExpr *na = makeNode(NamedArgExpr); @@ -49040,8 +51209,8 @@ YYLTYPE yylloc; ;} break; - case 2230: -#line 16133 "gram.y" + case 2280: +#line 16605 "gram.y" { NamedArgExpr *na = makeNode(NamedArgExpr); @@ -49053,169 +51222,169 @@ YYLTYPE yylloc; ;} break; - case 2231: -#line 16144 "gram.y" + case 2281: +#line 16616 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 2232: -#line 16145 "gram.y" + case 2282: +#line 16617 "gram.y" { (yyval.list) = NIL; ;} break; - case 2233: -#line 16148 "gram.y" + case 2283: +#line 16620 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;} break; - case 2234: -#line 16149 "gram.y" + case 2284: +#line 16621 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;} break; - case 2235: -#line 16153 "gram.y" + case 2285: +#line 16625 "gram.y" { (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 2236: -#line 16157 "gram.y" + case 2286: +#line 16629 "gram.y" { (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 2237: -#line 16161 "gram.y" + case 2287: +#line 16633 "gram.y" { (yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)])); ;} break; - case 2238: -#line 16166 "gram.y" + case 2288: +#line 16638 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2239: -#line 16167 "gram.y" + case 2289: +#line 16639 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2240: -#line 16173 "gram.y" + case 2290: +#line 16645 "gram.y" { (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); ;} break; - case 2241: -#line 16177 "gram.y" + case 2291: +#line 16649 "gram.y" { (yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); ;} break; - case 2242: -#line 16186 "gram.y" + case 2292: +#line 16658 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2243: -#line 16187 "gram.y" + case 2293: +#line 16659 "gram.y" { (yyval.str) = "year"; ;} break; - case 2244: -#line 16188 "gram.y" + case 2294: +#line 16660 "gram.y" { (yyval.str) = "month"; ;} break; - case 2245: -#line 16189 "gram.y" + case 2295: +#line 16661 "gram.y" { (yyval.str) = "day"; ;} break; - case 2246: -#line 16190 "gram.y" + case 2296: +#line 16662 "gram.y" { (yyval.str) = "hour"; ;} break; - case 2247: -#line 16191 "gram.y" + case 2297: +#line 16663 "gram.y" { (yyval.str) = "minute"; ;} break; - case 2248: -#line 16192 "gram.y" + case 2298: +#line 16664 "gram.y" { (yyval.str) = "second"; ;} break; - case 2249: -#line 16193 "gram.y" + case 2299: +#line 16665 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2250: -#line 16197 "gram.y" + case 2300: +#line 16669 "gram.y" { (yyval.str) = "NFC"; ;} break; - case 2251: -#line 16198 "gram.y" + case 2301: +#line 16670 "gram.y" { (yyval.str) = "NFD"; ;} break; - case 2252: -#line 16199 "gram.y" + case 2302: +#line 16671 "gram.y" { (yyval.str) = "NFKC"; ;} break; - case 2253: -#line 16200 "gram.y" + case 2303: +#line 16672 "gram.y" { (yyval.str) = "NFKD"; ;} break; - case 2254: -#line 16206 "gram.y" + case 2304: +#line 16678 "gram.y" { /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */ (yyval.list) = list_make4((yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); ;} break; - case 2255: -#line 16211 "gram.y" + case 2305: +#line 16683 "gram.y" { /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */ (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; - case 2256: -#line 16219 "gram.y" + case 2306: +#line 16691 "gram.y" { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;} break; - case 2257: -#line 16241 "gram.y" + case 2307: +#line 16713 "gram.y" { (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; - case 2258: -#line 16245 "gram.y" + case 2308: +#line 16717 "gram.y" { /* not legal per SQL, but might as well allow it */ (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); ;} break; - case 2259: -#line 16250 "gram.y" + case 2309: +#line 16722 "gram.y" { /* * Because we aren't restricting data types here, this @@ -49228,8 +51397,8 @@ YYLTYPE yylloc; ;} break; - case 2260: -#line 16261 "gram.y" + case 2310: +#line 16733 "gram.y" { /* not legal per SQL */ @@ -49248,30 +51417,30 @@ YYLTYPE yylloc; ;} break; - case 2261: -#line 16278 "gram.y" + case 2311: +#line 16750 "gram.y" { (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); ;} break; - case 2262: -#line 16283 "gram.y" + case 2312: +#line 16755 "gram.y" { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;} break; - case 2263: -#line 16284 "gram.y" + case 2313: +#line 16756 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 2264: -#line 16285 "gram.y" + case 2314: +#line 16757 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 2265: -#line 16289 "gram.y" + case 2315: +#line 16761 "gram.y" { SubLink *n = makeNode(SubLink); @@ -49281,13 +51450,13 @@ YYLTYPE yylloc; ;} break; - case 2266: -#line 16296 "gram.y" + case 2316: +#line 16768 "gram.y" { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;} break; - case 2267: -#line 16307 "gram.y" + case 2317: +#line 16779 "gram.y" { CaseExpr *c = makeNode(CaseExpr); @@ -49300,18 +51469,18 @@ YYLTYPE yylloc; ;} break; - case 2268: -#line 16321 "gram.y" + case 2318: +#line 16793 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2269: -#line 16322 "gram.y" + case 2319: +#line 16794 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 2270: -#line 16327 "gram.y" + case 2320: +#line 16799 "gram.y" { CaseWhen *w = makeNode(CaseWhen); @@ -49322,110 +51491,266 @@ YYLTYPE yylloc; ;} break; - case 2271: -#line 16338 "gram.y" + case 2321: +#line 16810 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2272: -#line 16339 "gram.y" - { (yyval.node) = NULL; ;} + case 2322: +#line 16811 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 2323: +#line 16814 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 2324: +#line 16815 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 2325: +#line 16819 "gram.y" + { + (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner); + ;} + break; + + case 2326: +#line 16823 "gram.y" + { + (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); + ;} + break; + + case 2327: +#line 16830 "gram.y" + { + (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str)); + ;} + break; + + case 2328: +#line 16834 "gram.y" + { + (yyval.node) = (Node *) makeNode(A_Star); + ;} + break; + + case 2329: +#line 16838 "gram.y" + { + A_Indices *ai = makeNode(A_Indices); + + ai->is_slice = false; + ai->lidx = NULL; + ai->uidx = (yyvsp[(2) - (3)].node); + (yyval.node) = (Node *) ai; + ;} + break; + + case 2330: +#line 16847 "gram.y" + { + A_Indices *ai = makeNode(A_Indices); + + ai->is_slice = true; + ai->lidx = (yyvsp[(2) - (5)].node); + ai->uidx = (yyvsp[(4) - (5)].node); + (yyval.node) = (Node *) ai; + ;} + break; + + case 2331: +#line 16858 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 2332: +#line 16859 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 2333: +#line 16863 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + break; + + case 2334: +#line 16864 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + break; + + case 2335: +#line 16868 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2336: +#line 16869 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + break; + + case 2339: +#line 16878 "gram.y" + { (yyval.list) = (yyvsp[(2) - (2)].list); ;} + break; + + case 2340: +#line 16879 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2341: +#line 16883 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + break; + + case 2342: +#line 16884 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} + break; + + case 2343: +#line 16889 "gram.y" + { + JsonArgument *n = makeNode(JsonArgument); + + n->val = (JsonValueExpr *) (yyvsp[(1) - (3)].node); + n->name = (yyvsp[(3) - (3)].str); + (yyval.node) = (Node *) n; + ;} + break; + + case 2344: +#line 16900 "gram.y" + { (yyval.ival) = JSW_NONE; ;} + break; + + case 2345: +#line 16901 "gram.y" + { (yyval.ival) = JSW_NONE; ;} + break; + + case 2346: +#line 16902 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} + break; + + case 2347: +#line 16903 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} + break; + + case 2348: +#line 16904 "gram.y" + { (yyval.ival) = JSW_CONDITIONAL; ;} + break; + + case 2349: +#line 16905 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} + break; + + case 2350: +#line 16906 "gram.y" + { (yyval.ival) = JSW_CONDITIONAL; ;} + break; + + case 2351: +#line 16907 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} + break; + + case 2352: +#line 16908 "gram.y" + { (yyval.ival) = JSW_UNSPEC; ;} + break; + + case 2353: +#line 16913 "gram.y" + { (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 2273: -#line 16342 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2354: +#line 16915 "gram.y" + { (yyval.node) = (Node *) makeJsonBehavior((yyvsp[(1) - (1)].ival), NULL, (yylsp[(1) - (1)])); ;} break; - case 2274: -#line 16343 "gram.y" - { (yyval.node) = NULL; ;} + case 2355: +#line 16919 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_ERROR; ;} break; - case 2275: -#line 16347 "gram.y" - { - (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner); - ;} + case 2356: +#line 16920 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_NULL; ;} break; - case 2276: -#line 16351 "gram.y" - { - (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); - ;} + case 2357: +#line 16921 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_TRUE; ;} break; - case 2277: -#line 16358 "gram.y" - { - (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str)); - ;} + case 2358: +#line 16922 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_FALSE; ;} break; - case 2278: -#line 16362 "gram.y" - { - (yyval.node) = (Node *) makeNode(A_Star); - ;} + case 2359: +#line 16923 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; ;} break; - case 2279: -#line 16366 "gram.y" - { - A_Indices *ai = makeNode(A_Indices); - - ai->is_slice = false; - ai->lidx = NULL; - ai->uidx = (yyvsp[(2) - (3)].node); - (yyval.node) = (Node *) ai; - ;} + case 2360: +#line 16924 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;} break; - case 2280: -#line 16375 "gram.y" - { - A_Indices *ai = makeNode(A_Indices); + case 2361: +#line 16925 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; ;} + break; - ai->is_slice = true; - ai->lidx = (yyvsp[(2) - (5)].node); - ai->uidx = (yyvsp[(4) - (5)].node); - (yyval.node) = (Node *) ai; - ;} + case 2362: +#line 16927 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;} break; - case 2281: -#line 16386 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2363: +#line 16932 "gram.y" + { (yyval.list) = list_make2((yyvsp[(1) - (3)].node), NULL); ;} break; - case 2282: -#line 16387 "gram.y" - { (yyval.node) = NULL; ;} + case 2364: +#line 16934 "gram.y" + { (yyval.list) = list_make2(NULL, (yyvsp[(1) - (3)].node)); ;} break; - case 2283: -#line 16391 "gram.y" - { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + case 2365: +#line 16936 "gram.y" + { (yyval.list) = list_make2((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node)); ;} break; - case 2284: -#line 16392 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + case 2366: +#line 16938 "gram.y" + { (yyval.list) = list_make2(NULL, NULL); ;} break; - case 2285: -#line 16396 "gram.y" - { (yyval.list) = NIL; ;} + case 2367: +#line 16943 "gram.y" + { (yyval.node) = (yyvsp[(1) - (3)].node); ;} break; - case 2286: -#line 16397 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + case 2368: +#line 16945 "gram.y" + { (yyval.node) = NULL; ;} break; - case 2289: -#line 16407 "gram.y" + case 2369: +#line 16950 "gram.y" { /* formatted_expr will be set during parse-analysis. */ (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[(1) - (2)].node), NULL, @@ -49433,32 +51758,74 @@ YYLTYPE yylloc; ;} break; - case 2290: -#line 16416 "gram.y" + case 2370: +#line 16959 "gram.y" + { + int encoding; + + if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf8")) + encoding = JS_ENC_UTF8; + else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf16")) + encoding = JS_ENC_UTF16; + else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf32")) + encoding = JS_ENC_UTF32; + else + ereport(ERROR, + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("unrecognized JSON encoding: %s", (yyvsp[(4) - (4)].str))); + + (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[(1) - (4)])); + ;} + break; + + case 2371: +#line 16976 "gram.y" { - (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, (yyvsp[(3) - (3)].ival), (yylsp[(1) - (3)])); + (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[(1) - (2)])); ;} break; - case 2291: -#line 16420 "gram.y" + case 2372: +#line 16983 "gram.y" + { + (yyval.node) = (yyvsp[(1) - (1)].node); + ;} + break; + + case 2373: +#line 16987 "gram.y" { (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); ;} break; - case 2292: -#line 16426 "gram.y" - { (yyval.ival) = makeJsonEncoding((yyvsp[(2) - (2)].str)); ;} + case 2374: +#line 16993 "gram.y" + { (yyval.ival) = JS_QUOTES_KEEP; ;} break; - case 2293: -#line 16427 "gram.y" - { (yyval.ival) = JS_ENC_DEFAULT; ;} + case 2375: +#line 16994 "gram.y" + { (yyval.ival) = JS_QUOTES_KEEP; ;} break; - case 2294: -#line 16432 "gram.y" + case 2376: +#line 16995 "gram.y" + { (yyval.ival) = JS_QUOTES_OMIT; ;} + break; + + case 2377: +#line 16996 "gram.y" + { (yyval.ival) = JS_QUOTES_OMIT; ;} + break; + + case 2378: +#line 16997 "gram.y" + { (yyval.ival) = JS_QUOTES_UNSPEC; ;} + break; + + case 2379: +#line 17002 "gram.y" { JsonOutput *n = makeNode(JsonOutput); @@ -49469,123 +51836,123 @@ YYLTYPE yylloc; ;} break; - case 2295: -#line 16440 "gram.y" + case 2380: +#line 17010 "gram.y" { (yyval.node) = NULL; ;} break; - case 2296: -#line 16444 "gram.y" + case 2381: +#line 17024 "gram.y" { (yyval.ival) = JS_TYPE_ANY; ;} break; - case 2297: -#line 16445 "gram.y" + case 2382: +#line 17025 "gram.y" { (yyval.ival) = JS_TYPE_ANY; ;} break; - case 2298: -#line 16446 "gram.y" + case 2383: +#line 17026 "gram.y" { (yyval.ival) = JS_TYPE_ARRAY; ;} break; - case 2299: -#line 16447 "gram.y" + case 2384: +#line 17027 "gram.y" { (yyval.ival) = JS_TYPE_OBJECT; ;} break; - case 2300: -#line 16448 "gram.y" + case 2385: +#line 17028 "gram.y" { (yyval.ival) = JS_TYPE_SCALAR; ;} break; - case 2301: -#line 16453 "gram.y" + case 2386: +#line 17037 "gram.y" { (yyval.boolean) = true; ;} break; - case 2302: -#line 16454 "gram.y" + case 2387: +#line 17038 "gram.y" { (yyval.boolean) = true; ;} break; - case 2303: -#line 16455 "gram.y" + case 2388: +#line 17039 "gram.y" { (yyval.boolean) = false; ;} break; - case 2304: -#line 16456 "gram.y" + case 2389: +#line 17040 "gram.y" { (yyval.boolean) = false; ;} break; - case 2305: -#line 16457 "gram.y" + case 2390: +#line 17041 "gram.y" { (yyval.boolean) = false; ;} break; - case 2306: -#line 16462 "gram.y" + case 2391: +#line 17046 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2307: -#line 16464 "gram.y" + case 2392: +#line 17048 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2308: -#line 16474 "gram.y" + case 2393: +#line 17058 "gram.y" { (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; - case 2309: -#line 16477 "gram.y" + case 2394: +#line 17061 "gram.y" { (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; - case 2310: -#line 16482 "gram.y" + case 2395: +#line 17066 "gram.y" { (yyval.boolean) = false; ;} break; - case 2311: -#line 16483 "gram.y" + case 2396: +#line 17067 "gram.y" { (yyval.boolean) = true; ;} break; - case 2312: -#line 16484 "gram.y" + case 2397: +#line 17068 "gram.y" { (yyval.boolean) = false; ;} break; - case 2313: -#line 16488 "gram.y" + case 2398: +#line 17072 "gram.y" { (yyval.boolean) = false; ;} break; - case 2314: -#line 16489 "gram.y" + case 2399: +#line 17073 "gram.y" { (yyval.boolean) = true; ;} break; - case 2315: -#line 16490 "gram.y" + case 2400: +#line 17074 "gram.y" { (yyval.boolean) = true; ;} break; - case 2316: -#line 16494 "gram.y" + case 2401: +#line 17078 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2317: -#line 16495 "gram.y" + case 2402: +#line 17079 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));;} break; - case 2318: -#line 16505 "gram.y" + case 2403: +#line 17089 "gram.y" { JsonObjectAgg *n = makeNode(JsonObjectAgg); @@ -49600,8 +51967,8 @@ YYLTYPE yylloc; ;} break; - case 2319: -#line 16523 "gram.y" + case 2404: +#line 17107 "gram.y" { JsonArrayAgg *n = makeNode(JsonArrayAgg); @@ -49615,38 +51982,38 @@ YYLTYPE yylloc; ;} break; - case 2320: -#line 16537 "gram.y" + case 2405: +#line 17121 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); ;} break; - case 2321: -#line 16538 "gram.y" + case 2406: +#line 17122 "gram.y" { (yyval.list) = NIL; ;} break; - case 2322: -#line 16547 "gram.y" + case 2407: +#line 17131 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 2323: -#line 16548 "gram.y" + case 2408: +#line 17132 "gram.y" { (yyval.list) = NIL; ;} break; - case 2324: -#line 16552 "gram.y" + case 2409: +#line 17136 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 2325: -#line 16553 "gram.y" + case 2410: +#line 17137 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 2326: -#line 16557 "gram.y" + case 2411: +#line 17141 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(3) - (3)].str); @@ -49656,8 +52023,8 @@ YYLTYPE yylloc; ;} break; - case 2327: -#line 16565 "gram.y" + case 2412: +#line 17149 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(2) - (2)].str); @@ -49667,8 +52034,8 @@ YYLTYPE yylloc; ;} break; - case 2328: -#line 16573 "gram.y" + case 2413: +#line 17157 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; @@ -49678,8 +52045,8 @@ YYLTYPE yylloc; ;} break; - case 2329: -#line 16581 "gram.y" + case 2414: +#line 17165 "gram.y" { ColumnRef *n = makeNode(ColumnRef); @@ -49694,98 +52061,98 @@ YYLTYPE yylloc; ;} break; - case 2330: -#line 16603 "gram.y" + case 2415: +#line 17187 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;} break; - case 2331: -#line 16604 "gram.y" + case 2416: +#line 17188 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;} break; - case 2332: -#line 16616 "gram.y" + case 2417: +#line 17200 "gram.y" { (yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2333: -#line 16620 "gram.y" + case 2418: +#line 17204 "gram.y" { (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); ;} break; - case 2334: -#line 16626 "gram.y" + case 2419: +#line 17210 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2335: -#line 16628 "gram.y" + case 2420: +#line 17212 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 2336: -#line 16632 "gram.y" + case 2421: +#line 17216 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2337: -#line 16634 "gram.y" + case 2422: +#line 17218 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2338: -#line 16636 "gram.y" + case 2423: +#line 17220 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2339: -#line 16647 "gram.y" + case 2424: +#line 17231 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2340: -#line 16649 "gram.y" + case 2425: +#line 17233 "gram.y" { (yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)), yyscanner); ;} break; - case 2341: -#line 16660 "gram.y" + case 2426: +#line 17244 "gram.y" { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; - case 2342: -#line 16664 "gram.y" + case 2427: +#line 17248 "gram.y" { (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2343: -#line 16668 "gram.y" + case 2428: +#line 17252 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2344: -#line 16672 "gram.y" + case 2429: +#line 17256 "gram.y" { (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2345: -#line 16676 "gram.y" + case 2430: +#line 17260 "gram.y" { /* This is a bit constant per SQL99: * Without Feature F511, "BIT data type", @@ -49796,8 +52163,8 @@ YYLTYPE yylloc; ;} break; - case 2346: -#line 16685 "gram.y" + case 2431: +#line 17269 "gram.y" { /* generic type 'literal' syntax */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list)); @@ -49807,8 +52174,8 @@ YYLTYPE yylloc; ;} break; - case 2347: -#line 16693 "gram.y" + case 2432: +#line 17277 "gram.y" { /* generic syntax with a type modifier */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list)); @@ -49842,8 +52209,8 @@ YYLTYPE yylloc; ;} break; - case 2348: -#line 16725 "gram.y" + case 2433: +#line 17309 "gram.y" { /* generic type 'literal' syntax */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list)); @@ -49852,8 +52219,8 @@ YYLTYPE yylloc; ;} break; - case 2349: -#line 16732 "gram.y" + case 2434: +#line 17316 "gram.y" { /* generic syntax with a type modifier */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list)); @@ -49887,15 +52254,15 @@ YYLTYPE yylloc; ;} break; - case 2350: -#line 16764 "gram.y" + case 2435: +#line 17348 "gram.y" { (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam)); ;} break; - case 2351: -#line 16768 "gram.y" + case 2436: +#line 17352 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); @@ -49904,8 +52271,8 @@ YYLTYPE yylloc; ;} break; - case 2352: -#line 16775 "gram.y" + case 2437: +#line 17359 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); @@ -49915,15 +52282,15 @@ YYLTYPE yylloc; ;} break; - case 2353: -#line 16783 "gram.y" + case 2438: +#line 17367 "gram.y" { (yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam)); ;} break; - case 2354: -#line 16787 "gram.y" + case 2439: +#line 17371 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); t->typmods = (yyvsp[(3) - (3)].list); @@ -49931,8 +52298,8 @@ YYLTYPE yylloc; ;} break; - case 2355: -#line 16793 "gram.y" + case 2440: +#line 17377 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), @@ -49941,54 +52308,54 @@ YYLTYPE yylloc; ;} break; - case 2356: -#line 16800 "gram.y" + case 2441: +#line 17384 "gram.y" { (yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)])); ;} break; - case 2357: -#line 16804 "gram.y" + case 2442: +#line 17388 "gram.y" { (yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)])); ;} break; - case 2358: -#line 16808 "gram.y" + case 2443: +#line 17392 "gram.y" { (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); ;} break; - case 2359: -#line 16813 "gram.y" + case 2444: +#line 17397 "gram.y" { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;} break; - case 2360: -#line 16814 "gram.y" + case 2445: +#line 17398 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2361: -#line 16816 "gram.y" + case 2446: +#line 17400 "gram.y" { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;} break; - case 2362: -#line 16817 "gram.y" + case 2447: +#line 17401 "gram.y" { (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;} break; - case 2363: -#line 16818 "gram.y" + case 2448: +#line 17402 "gram.y" { (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;} break; - case 2364: -#line 16823 "gram.y" + case 2449: +#line 17407 "gram.y" { RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].rolespec); @@ -50029,8 +52396,8 @@ YYLTYPE yylloc; ;} break; - case 2365: -#line 16864 "gram.y" + case 2450: +#line 17448 "gram.y" { /* * "public" and "none" are not keywords, but they must @@ -50060,39 +52427,39 @@ YYLTYPE yylloc; ;} break; - case 2366: -#line 16892 "gram.y" + case 2451: +#line 17476 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[(1) - (1)])); ;} break; - case 2367: -#line 16896 "gram.y" + case 2452: +#line 17480 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;} break; - case 2368: -#line 16900 "gram.y" + case 2453: +#line 17484 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)])); ;} break; - case 2369: -#line 16906 "gram.y" + case 2454: +#line 17490 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;} break; - case 2370: -#line 16908 "gram.y" + case 2455: +#line 17492 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;} break; - case 2371: -#line 16925 "gram.y" + case 2456: +#line 17509 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -50121,8 +52488,8 @@ YYLTYPE yylloc; ;} break; - case 2372: -#line 16958 "gram.y" + case 2457: +#line 17542 "gram.y" { PLAssignStmt *n = makeNode(PLAssignStmt); @@ -50135,104 +52502,104 @@ YYLTYPE yylloc; ;} break; - case 2373: -#line 16970 "gram.y" + case 2458: +#line 17554 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2374: -#line 16971 "gram.y" + case 2459: +#line 17555 "gram.y" { (yyval.str) = psprintf("$%d", (yyvsp[(1) - (1)].ival)); ;} break; - case 2377: -#line 16992 "gram.y" + case 2462: +#line 17576 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2378: -#line 16993 "gram.y" + case 2463: +#line 17577 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2379: -#line 16994 "gram.y" + case 2464: +#line 17578 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2380: -#line 16999 "gram.y" + case 2465: +#line 17583 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2381: -#line 17000 "gram.y" + case 2466: +#line 17584 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2382: -#line 17001 "gram.y" + case 2467: +#line 17585 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2383: -#line 17006 "gram.y" + case 2468: +#line 17590 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2384: -#line 17007 "gram.y" + case 2469: +#line 17591 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2385: -#line 17008 "gram.y" + case 2470: +#line 17592 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2386: -#line 17009 "gram.y" + case 2471: +#line 17593 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2387: -#line 17015 "gram.y" + case 2472: +#line 17599 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2388: -#line 17016 "gram.y" + case 2473: +#line 17600 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2389: -#line 17017 "gram.y" + case 2474: +#line 17601 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2390: -#line 17018 "gram.y" + case 2475: +#line 17602 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2391: -#line 17019 "gram.y" + case 2476: +#line 17603 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2392: -#line 17025 "gram.y" + case 2477: +#line 17609 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2393: -#line 17026 "gram.y" + case 2478: +#line 17610 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; /* Line 1267 of yacc.c. */ -#line 50175 "gram.c" +#line 52543 "gram.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -50452,7 +52819,7 @@ YYLTYPE yylloc; } -#line 17998 "gram.y" +#line 18622 "gram.y" /* @@ -50556,18 +52923,6 @@ makeTypeCast(Node *arg, TypeName *typename, int location) return (Node *) n; } -static Node * -makeStringConst(char *str, int location) -{ - A_Const *n = makeNode(A_Const); - - n->val.sval.type = T_String; - n->val.sval.sval = str; - n->location = location; - - return (Node *) n; -} - static Node * makeStringConstCast(char *str, int location, TypeName *typename) { @@ -50866,7 +53221,7 @@ insertSelectOptions(SelectStmt *stmt, parser_errposition(exprLocation(limitClause->limitCount)))); stmt->limitCount = limitClause->limitCount; } - if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT) + if (limitClause) { if (stmt->limitOption) ereport(ERROR, diff --git a/parser/src_backend_parser_parser.c b/parser/src_backend_parser_parser.c index 8748bc10..6e8e9d98 100644 --- a/parser/src_backend_parser_parser.c +++ b/parser/src_backend_parser_parser.c @@ -22,7 +22,7 @@ * analyze.c and related files. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -33,8 +33,8 @@ #include "postgres.h" -#include "mb/pg_wchar.h" #include "gramparse.h" +#include "mb/pg_wchar.h" #include "parser/parser.h" #include "parser/scansup.h" @@ -68,12 +68,12 @@ raw_parser(const char *str, RawParseMode mode) { /* this array is indexed by RawParseMode enum */ static const int mode_token[] = { - 0, /* RAW_PARSE_DEFAULT */ - MODE_TYPE_NAME, /* RAW_PARSE_TYPE_NAME */ - MODE_PLPGSQL_EXPR, /* RAW_PARSE_PLPGSQL_EXPR */ - MODE_PLPGSQL_ASSIGN1, /* RAW_PARSE_PLPGSQL_ASSIGN1 */ - MODE_PLPGSQL_ASSIGN2, /* RAW_PARSE_PLPGSQL_ASSIGN2 */ - MODE_PLPGSQL_ASSIGN3 /* RAW_PARSE_PLPGSQL_ASSIGN3 */ + [RAW_PARSE_DEFAULT] = 0, + [RAW_PARSE_TYPE_NAME] = MODE_TYPE_NAME, + [RAW_PARSE_PLPGSQL_EXPR] = MODE_PLPGSQL_EXPR, + [RAW_PARSE_PLPGSQL_ASSIGN1] = MODE_PLPGSQL_ASSIGN1, + [RAW_PARSE_PLPGSQL_ASSIGN2] = MODE_PLPGSQL_ASSIGN2, + [RAW_PARSE_PLPGSQL_ASSIGN3] = MODE_PLPGSQL_ASSIGN3, }; yyextra.have_lookahead = true; diff --git a/parser/src_backend_parser_scan.c b/parser/src_backend_parser_scan.c index e6e7df40..4777635d 100644 --- a/parser/src_backend_parser_scan.c +++ b/parser/src_backend_parser_scan.c @@ -67,7 +67,7 @@ * Postgres 9.2, this check is made automatically by the Makefile.) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -663,18 +663,18 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner ); yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 76 -#define YY_END_OF_BUFFER 77 +#define YY_NUM_RULES 73 +#define YY_END_OF_BUFFER 74 struct yy_trans_info { - flex_int16_t yy_verify; - flex_int16_t yy_nxt; + flex_int32_t yy_verify; + flex_int32_t yy_nxt; }; -static const struct yy_trans_info yy_transition[21803] = +static const struct yy_trans_info yy_transition[33677] = { - { 0, 0 }, { 0,21547 }, { 0, 0 }, { 0,21545 }, { 1,6192 }, + { 0, 0 }, { 0,33421 }, { 0, 0 }, { 0,33419 }, { 1,6192 }, { 2,6192 }, { 3,6192 }, { 4,6192 }, { 5,6192 }, { 6,6192 }, - { 7,6192 }, { 8,6192 }, { 9,6194 }, { 10,6199 }, { 11,6192 }, + { 7,6192 }, { 8,6192 }, { 9,6194 }, { 10,6199 }, { 11,6194 }, { 12,6194 }, { 13,6194 }, { 14,6192 }, { 15,6192 }, { 16,6192 }, { 17,6192 }, { 18,6192 }, { 19,6192 }, { 20,6192 }, { 21,6192 }, { 22,6192 }, { 23,6192 }, { 24,6192 }, { 25,6192 }, { 26,6192 }, @@ -729,9 +729,9 @@ static const struct yy_trans_info yy_transition[21803] = { 247,7321 }, { 248,7321 }, { 249,7321 }, { 250,7321 }, { 251,7321 }, { 252,7321 }, { 253,7321 }, { 254,7321 }, { 255,7321 }, { 256,6192 }, - { 0, 0 }, { 0,21287 }, { 1,5934 }, { 2,5934 }, { 3,5934 }, + { 0, 0 }, { 0,33161 }, { 1,5934 }, { 2,5934 }, { 3,5934 }, { 4,5934 }, { 5,5934 }, { 6,5934 }, { 7,5934 }, { 8,5934 }, - { 9,5936 }, { 10,5941 }, { 11,5934 }, { 12,5936 }, { 13,5936 }, + { 9,5936 }, { 10,5941 }, { 11,5936 }, { 12,5936 }, { 13,5936 }, { 14,5934 }, { 15,5934 }, { 16,5934 }, { 17,5934 }, { 18,5934 }, { 19,5934 }, { 20,5934 }, { 21,5934 }, { 22,5934 }, { 23,5934 }, { 24,5934 }, { 25,5934 }, { 26,5934 }, { 27,5934 }, { 28,5934 }, @@ -785,7 +785,7 @@ static const struct yy_trans_info yy_transition[21803] = { 239,7063 }, { 240,7063 }, { 241,7063 }, { 242,7063 }, { 243,7063 }, { 244,7063 }, { 245,7063 }, { 246,7063 }, { 247,7063 }, { 248,7063 }, { 249,7063 }, { 250,7063 }, { 251,7063 }, { 252,7063 }, { 253,7063 }, - { 254,7063 }, { 255,7063 }, { 256,5934 }, { 0, 11 }, { 0,21029 }, + { 254,7063 }, { 255,7063 }, { 256,5934 }, { 0, 11 }, { 0,32903 }, { 1,8347 }, { 2,8347 }, { 3,8347 }, { 4,8347 }, { 5,8347 }, { 6,8347 }, { 7,8347 }, { 8,8347 }, { 9,8347 }, { 10,8347 }, { 11,8347 }, { 12,8347 }, { 13,8347 }, { 14,8347 }, { 15,8347 }, @@ -842,7 +842,7 @@ static const struct yy_trans_info yy_transition[21803] = { 241,8347 }, { 242,8347 }, { 243,8347 }, { 244,8347 }, { 245,8347 }, { 246,8347 }, { 247,8347 }, { 248,8347 }, { 249,8347 }, { 250,8347 }, { 251,8347 }, { 252,8347 }, { 253,8347 }, { 254,8347 }, { 255,8347 }, - { 256,8347 }, { 0, 11 }, { 0,20771 }, { 1,8089 }, { 2,8089 }, + { 256,8347 }, { 0, 11 }, { 0,32645 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, { 4,8089 }, { 5,8089 }, { 6,8089 }, { 7,8089 }, { 8,8089 }, { 9,8089 }, { 10,8089 }, { 11,8089 }, { 12,8089 }, { 13,8089 }, { 14,8089 }, { 15,8089 }, { 16,8089 }, { 17,8089 }, @@ -899,7 +899,7 @@ static const struct yy_trans_info yy_transition[21803] = { 243,8089 }, { 244,8089 }, { 245,8089 }, { 246,8089 }, { 247,8089 }, { 248,8089 }, { 249,8089 }, { 250,8089 }, { 251,8089 }, { 252,8089 }, { 253,8089 }, { 254,8089 }, { 255,8089 }, { 256,8089 }, { 0, 0 }, - { 0,20513 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, { 4,8089 }, + { 0,32387 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, { 4,8089 }, { 5,8089 }, { 6,8089 }, { 7,8089 }, { 8,8089 }, { 9,8089 }, { 10,8089 }, { 11,8089 }, { 12,8089 }, { 13,8089 }, { 14,8089 }, @@ -955,7 +955,7 @@ static const struct yy_trans_info yy_transition[21803] = { 240,8089 }, { 241,8089 }, { 242,8089 }, { 243,8089 }, { 244,8089 }, { 245,8089 }, { 246,8089 }, { 247,8089 }, { 248,8089 }, { 249,8089 }, { 250,8089 }, { 251,8089 }, { 252,8089 }, { 253,8089 }, { 254,8089 }, - { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,20255 }, { 1,7831 }, + { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,32129 }, { 1,7831 }, { 2,7831 }, { 3,7831 }, { 4,7831 }, { 5,7831 }, { 6,7831 }, { 7,7831 }, { 8,7831 }, { 9,7831 }, { 10,7831 }, { 11,7831 }, @@ -1013,7 +1013,7 @@ static const struct yy_trans_info yy_transition[21803] = { 247,7831 }, { 248,7831 }, { 249,7831 }, { 250,7831 }, { 251,7831 }, { 252,7831 }, { 253,7831 }, { 254,7831 }, { 255,7831 }, { 256,7831 }, - { 0, 0 }, { 0,19997 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, + { 0, 0 }, { 0,31871 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, { 4,8089 }, { 5,8089 }, { 6,8089 }, { 7,8089 }, { 8,8089 }, { 9,8089 }, { 10,8089 }, { 11,8089 }, { 12,8089 }, { 13,8089 }, { 14,8089 }, { 15,8089 }, { 16,8089 }, { 17,8089 }, { 18,8089 }, @@ -1069,7 +1069,7 @@ static const struct yy_trans_info yy_transition[21803] = { 244,8089 }, { 245,8089 }, { 246,8089 }, { 247,8089 }, { 248,8089 }, { 249,8089 }, { 250,8089 }, { 251,8089 }, { 252,8089 }, { 253,8089 }, - { 254,8089 }, { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,19739 }, + { 254,8089 }, { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,31613 }, { 1,7831 }, { 2,7831 }, { 3,7831 }, { 4,7831 }, { 5,7831 }, { 6,7831 }, { 7,7831 }, { 8,7831 }, { 9,7831 }, { 10,7831 }, { 11,7831 }, { 12,7831 }, { 13,7831 }, { 14,7831 }, { 15,7831 }, @@ -1126,7 +1126,7 @@ static const struct yy_trans_info yy_transition[21803] = { 241,7831 }, { 242,7831 }, { 243,7831 }, { 244,7831 }, { 245,7831 }, { 246,7831 }, { 247,7831 }, { 248,7831 }, { 249,7831 }, { 250,7831 }, { 251,7831 }, { 252,7831 }, { 253,7831 }, { 254,7831 }, { 255,7831 }, - { 256,7831 }, { 0, 10 }, { 0,19481 }, { 1,7831 }, { 2,7831 }, + { 256,7831 }, { 0, 10 }, { 0,31355 }, { 1,7831 }, { 2,7831 }, { 3,7831 }, { 4,7831 }, { 5,7831 }, { 6,7831 }, { 7,7831 }, { 8,7831 }, { 9,7831 }, { 10,7831 }, { 11,7831 }, { 12,7831 }, { 13,7831 }, { 14,7831 }, { 15,7831 }, { 16,7831 }, { 17,7831 }, @@ -1183,7 +1183,7 @@ static const struct yy_trans_info yy_transition[21803] = { 243,7831 }, { 244,7831 }, { 245,7831 }, { 246,7831 }, { 247,7831 }, { 248,7831 }, { 249,7831 }, { 250,7831 }, { 251,7831 }, { 252,7831 }, { 253,7831 }, { 254,7831 }, { 255,7831 }, { 256,7831 }, { 0, 10 }, - { 0,19223 }, { 1,7573 }, { 2,7573 }, { 3,7573 }, { 4,7573 }, + { 0,31097 }, { 1,7573 }, { 2,7573 }, { 3,7573 }, { 4,7573 }, { 5,7573 }, { 6,7573 }, { 7,7573 }, { 8,7573 }, { 9,7573 }, { 10,7573 }, { 11,7573 }, { 12,7573 }, { 13,7573 }, { 14,7573 }, { 15,7573 }, { 16,7573 }, { 17,7573 }, { 18,7573 }, { 19,7573 }, @@ -1239,7 +1239,7 @@ static const struct yy_trans_info yy_transition[21803] = { 240,7573 }, { 241,7573 }, { 242,7573 }, { 243,7573 }, { 244,7573 }, { 245,7573 }, { 246,7573 }, { 247,7573 }, { 248,7573 }, { 249,7573 }, { 250,7573 }, { 251,7573 }, { 252,7573 }, { 253,7573 }, { 254,7573 }, - { 255,7573 }, { 256,7573 }, { 0, 0 }, { 0,18965 }, { 1,7573 }, + { 255,7573 }, { 256,7573 }, { 0, 0 }, { 0,30839 }, { 1,7573 }, { 2,7573 }, { 3,7573 }, { 4,7573 }, { 5,7573 }, { 6,7573 }, { 7,7573 }, { 8,7573 }, { 9,7573 }, { 10,7573 }, { 11,7573 }, { 12,7573 }, { 13,7573 }, { 14,7573 }, { 15,7573 }, { 16,7573 }, @@ -1296,7 +1296,7 @@ static const struct yy_trans_info yy_transition[21803] = { 242,7573 }, { 243,7573 }, { 244,7573 }, { 245,7573 }, { 246,7573 }, { 247,7573 }, { 248,7573 }, { 249,7573 }, { 250,7573 }, { 251,7573 }, { 252,7573 }, { 253,7573 }, { 254,7573 }, { 255,7573 }, { 256,7573 }, - { 0, 0 }, { 0,18707 }, { 1,7315 }, { 2,7315 }, { 3,7315 }, + { 0, 0 }, { 0,30581 }, { 1,7315 }, { 2,7315 }, { 3,7315 }, { 4,7315 }, { 5,7315 }, { 6,7315 }, { 7,7315 }, { 8,7315 }, { 9,7315 }, { 10,7315 }, { 11,7315 }, { 12,7315 }, { 13,7315 }, @@ -1352,11 +1352,11 @@ static const struct yy_trans_info yy_transition[21803] = { 239,7315 }, { 240,7315 }, { 241,7315 }, { 242,7315 }, { 243,7315 }, { 244,7315 }, { 245,7315 }, { 246,7315 }, { 247,7315 }, { 248,7315 }, { 249,7315 }, { 250,7315 }, { 251,7315 }, { 252,7315 }, { 253,7315 }, - { 254,7315 }, { 255,7315 }, { 256,7315 }, { 0, 19 }, { 0,18449 }, + { 254,7315 }, { 255,7315 }, { 256,7315 }, { 0, 19 }, { 0,30323 }, { 1,3156 }, { 2,3156 }, { 3,3156 }, { 4,3156 }, { 5,3156 }, { 6,3156 }, { 7,3156 }, { 8,3156 }, { 9,7315 }, { 10,7320 }, - { 11,3156 }, { 12,7315 }, { 13,7336 }, { 14,3156 }, { 15,3156 }, + { 11,7315 }, { 12,7315 }, { 13,7344 }, { 14,3156 }, { 15,3156 }, { 16,3156 }, { 17,3156 }, { 18,3156 }, { 19,3156 }, { 20,3156 }, { 21,3156 }, { 22,3156 }, { 23,3156 }, { 24,3156 }, { 25,3156 }, { 26,3156 }, { 27,3156 }, { 28,3156 }, { 29,3156 }, { 30,3156 }, @@ -1410,10 +1410,10 @@ static const struct yy_trans_info yy_transition[21803] = { 246,3156 }, { 247,3156 }, { 248,3156 }, { 249,3156 }, { 250,3156 }, { 251,3156 }, { 252,3156 }, { 253,3156 }, { 254,3156 }, { 255,3156 }, - { 256,3156 }, { 0, 19 }, { 0,18191 }, { 1,2898 }, { 2,2898 }, + { 256,3156 }, { 0, 19 }, { 0,30065 }, { 1,2898 }, { 2,2898 }, { 3,2898 }, { 4,2898 }, { 5,2898 }, { 6,2898 }, { 7,2898 }, - { 8,2898 }, { 9,7057 }, { 10,7062 }, { 11,2898 }, { 12,7057 }, - { 13,7078 }, { 14,2898 }, { 15,2898 }, { 16,2898 }, { 17,2898 }, + { 8,2898 }, { 9,7057 }, { 10,7062 }, { 11,7057 }, { 12,7057 }, + { 13,7086 }, { 14,2898 }, { 15,2898 }, { 16,2898 }, { 17,2898 }, { 18,2898 }, { 19,2898 }, { 20,2898 }, { 21,2898 }, { 22,2898 }, { 23,2898 }, { 24,2898 }, { 25,2898 }, { 26,2898 }, { 27,2898 }, { 28,2898 }, { 29,2898 }, { 30,2898 }, { 31,2898 }, { 32,7057 }, @@ -1467,233 +1467,233 @@ static const struct yy_trans_info yy_transition[21803] = { 243,2898 }, { 244,2898 }, { 245,2898 }, { 246,2898 }, { 247,2898 }, { 248,2898 }, { 249,2898 }, { 250,2898 }, { 251,2898 }, { 252,2898 }, { 253,2898 }, { 254,2898 }, { 255,2898 }, { 256,2898 }, { 0, 0 }, - { 0,17933 }, { 1,6867 }, { 2,6867 }, { 3,6867 }, { 4,6867 }, - { 5,6867 }, { 6,6867 }, { 7,6867 }, { 8,6867 }, { 9,6867 }, - { 10,7125 }, { 11,6867 }, { 12,6867 }, { 13,6867 }, { 14,6867 }, - { 15,6867 }, { 16,6867 }, { 17,6867 }, { 18,6867 }, { 19,6867 }, - { 20,6867 }, { 21,6867 }, { 22,6867 }, { 23,6867 }, { 24,6867 }, - { 25,6867 }, { 26,6867 }, { 27,6867 }, { 28,6867 }, { 29,6867 }, - { 30,6867 }, { 31,6867 }, { 32,6867 }, { 33,6867 }, { 34,6867 }, - - { 35,6867 }, { 36,6867 }, { 37,6867 }, { 38,6867 }, { 39,2645 }, - { 40,6867 }, { 41,6867 }, { 42,6867 }, { 43,6867 }, { 44,6867 }, - { 45,6867 }, { 46,6867 }, { 47,6867 }, { 48,6867 }, { 49,6867 }, - { 50,6867 }, { 51,6867 }, { 52,6867 }, { 53,6867 }, { 54,6867 }, - { 55,6867 }, { 56,6867 }, { 57,6867 }, { 58,6867 }, { 59,6867 }, - { 60,6867 }, { 61,6867 }, { 62,6867 }, { 63,6867 }, { 64,6867 }, - { 65,6867 }, { 66,6867 }, { 67,6867 }, { 68,6867 }, { 69,6867 }, - { 70,6867 }, { 71,6867 }, { 72,6867 }, { 73,6867 }, { 74,6867 }, - { 75,6867 }, { 76,6867 }, { 77,6867 }, { 78,6867 }, { 79,6867 }, - { 80,6867 }, { 81,6867 }, { 82,6867 }, { 83,6867 }, { 84,6867 }, - - { 85,6867 }, { 86,6867 }, { 87,6867 }, { 88,6867 }, { 89,6867 }, - { 90,6867 }, { 91,6867 }, { 92,7383 }, { 93,6867 }, { 94,6867 }, - { 95,6867 }, { 96,6867 }, { 97,6867 }, { 98,6867 }, { 99,6867 }, - { 100,6867 }, { 101,6867 }, { 102,6867 }, { 103,6867 }, { 104,6867 }, - { 105,6867 }, { 106,6867 }, { 107,6867 }, { 108,6867 }, { 109,6867 }, - { 110,6867 }, { 111,6867 }, { 112,6867 }, { 113,6867 }, { 114,6867 }, - { 115,6867 }, { 116,6867 }, { 117,6867 }, { 118,6867 }, { 119,6867 }, - { 120,6867 }, { 121,6867 }, { 122,6867 }, { 123,6867 }, { 124,6867 }, - { 125,6867 }, { 126,6867 }, { 127,6867 }, { 128,6867 }, { 129,6867 }, - { 130,6867 }, { 131,6867 }, { 132,6867 }, { 133,6867 }, { 134,6867 }, - - { 135,6867 }, { 136,6867 }, { 137,6867 }, { 138,6867 }, { 139,6867 }, - { 140,6867 }, { 141,6867 }, { 142,6867 }, { 143,6867 }, { 144,6867 }, - { 145,6867 }, { 146,6867 }, { 147,6867 }, { 148,6867 }, { 149,6867 }, - { 150,6867 }, { 151,6867 }, { 152,6867 }, { 153,6867 }, { 154,6867 }, - { 155,6867 }, { 156,6867 }, { 157,6867 }, { 158,6867 }, { 159,6867 }, - { 160,6867 }, { 161,6867 }, { 162,6867 }, { 163,6867 }, { 164,6867 }, - { 165,6867 }, { 166,6867 }, { 167,6867 }, { 168,6867 }, { 169,6867 }, - { 170,6867 }, { 171,6867 }, { 172,6867 }, { 173,6867 }, { 174,6867 }, - { 175,6867 }, { 176,6867 }, { 177,6867 }, { 178,6867 }, { 179,6867 }, - { 180,6867 }, { 181,6867 }, { 182,6867 }, { 183,6867 }, { 184,6867 }, - - { 185,6867 }, { 186,6867 }, { 187,6867 }, { 188,6867 }, { 189,6867 }, - { 190,6867 }, { 191,6867 }, { 192,6867 }, { 193,6867 }, { 194,6867 }, - { 195,6867 }, { 196,6867 }, { 197,6867 }, { 198,6867 }, { 199,6867 }, - { 200,6867 }, { 201,6867 }, { 202,6867 }, { 203,6867 }, { 204,6867 }, - { 205,6867 }, { 206,6867 }, { 207,6867 }, { 208,6867 }, { 209,6867 }, - { 210,6867 }, { 211,6867 }, { 212,6867 }, { 213,6867 }, { 214,6867 }, - { 215,6867 }, { 216,6867 }, { 217,6867 }, { 218,6867 }, { 219,6867 }, - { 220,6867 }, { 221,6867 }, { 222,6867 }, { 223,6867 }, { 224,6867 }, - { 225,6867 }, { 226,6867 }, { 227,6867 }, { 228,6867 }, { 229,6867 }, - { 230,6867 }, { 231,6867 }, { 232,6867 }, { 233,6867 }, { 234,6867 }, - - { 235,6867 }, { 236,6867 }, { 237,6867 }, { 238,6867 }, { 239,6867 }, - { 240,6867 }, { 241,6867 }, { 242,6867 }, { 243,6867 }, { 244,6867 }, - { 245,6867 }, { 246,6867 }, { 247,6867 }, { 248,6867 }, { 249,6867 }, - { 250,6867 }, { 251,6867 }, { 252,6867 }, { 253,6867 }, { 254,6867 }, - { 255,6867 }, { 256,6867 }, { 0, 0 }, { 0,17675 }, { 1,6609 }, - { 2,6609 }, { 3,6609 }, { 4,6609 }, { 5,6609 }, { 6,6609 }, - { 7,6609 }, { 8,6609 }, { 9,6609 }, { 10,6867 }, { 11,6609 }, - { 12,6609 }, { 13,6609 }, { 14,6609 }, { 15,6609 }, { 16,6609 }, - { 17,6609 }, { 18,6609 }, { 19,6609 }, { 20,6609 }, { 21,6609 }, - { 22,6609 }, { 23,6609 }, { 24,6609 }, { 25,6609 }, { 26,6609 }, - - { 27,6609 }, { 28,6609 }, { 29,6609 }, { 30,6609 }, { 31,6609 }, - { 32,6609 }, { 33,6609 }, { 34,6609 }, { 35,6609 }, { 36,6609 }, - { 37,6609 }, { 38,6609 }, { 39,2387 }, { 40,6609 }, { 41,6609 }, - { 42,6609 }, { 43,6609 }, { 44,6609 }, { 45,6609 }, { 46,6609 }, - { 47,6609 }, { 48,6609 }, { 49,6609 }, { 50,6609 }, { 51,6609 }, - { 52,6609 }, { 53,6609 }, { 54,6609 }, { 55,6609 }, { 56,6609 }, - { 57,6609 }, { 58,6609 }, { 59,6609 }, { 60,6609 }, { 61,6609 }, - { 62,6609 }, { 63,6609 }, { 64,6609 }, { 65,6609 }, { 66,6609 }, - { 67,6609 }, { 68,6609 }, { 69,6609 }, { 70,6609 }, { 71,6609 }, - { 72,6609 }, { 73,6609 }, { 74,6609 }, { 75,6609 }, { 76,6609 }, - - { 77,6609 }, { 78,6609 }, { 79,6609 }, { 80,6609 }, { 81,6609 }, - { 82,6609 }, { 83,6609 }, { 84,6609 }, { 85,6609 }, { 86,6609 }, - { 87,6609 }, { 88,6609 }, { 89,6609 }, { 90,6609 }, { 91,6609 }, - { 92,7125 }, { 93,6609 }, { 94,6609 }, { 95,6609 }, { 96,6609 }, - { 97,6609 }, { 98,6609 }, { 99,6609 }, { 100,6609 }, { 101,6609 }, - { 102,6609 }, { 103,6609 }, { 104,6609 }, { 105,6609 }, { 106,6609 }, - { 107,6609 }, { 108,6609 }, { 109,6609 }, { 110,6609 }, { 111,6609 }, - { 112,6609 }, { 113,6609 }, { 114,6609 }, { 115,6609 }, { 116,6609 }, - { 117,6609 }, { 118,6609 }, { 119,6609 }, { 120,6609 }, { 121,6609 }, - { 122,6609 }, { 123,6609 }, { 124,6609 }, { 125,6609 }, { 126,6609 }, - - { 127,6609 }, { 128,6609 }, { 129,6609 }, { 130,6609 }, { 131,6609 }, - { 132,6609 }, { 133,6609 }, { 134,6609 }, { 135,6609 }, { 136,6609 }, - { 137,6609 }, { 138,6609 }, { 139,6609 }, { 140,6609 }, { 141,6609 }, - { 142,6609 }, { 143,6609 }, { 144,6609 }, { 145,6609 }, { 146,6609 }, - { 147,6609 }, { 148,6609 }, { 149,6609 }, { 150,6609 }, { 151,6609 }, - { 152,6609 }, { 153,6609 }, { 154,6609 }, { 155,6609 }, { 156,6609 }, - { 157,6609 }, { 158,6609 }, { 159,6609 }, { 160,6609 }, { 161,6609 }, - { 162,6609 }, { 163,6609 }, { 164,6609 }, { 165,6609 }, { 166,6609 }, - { 167,6609 }, { 168,6609 }, { 169,6609 }, { 170,6609 }, { 171,6609 }, - { 172,6609 }, { 173,6609 }, { 174,6609 }, { 175,6609 }, { 176,6609 }, - - { 177,6609 }, { 178,6609 }, { 179,6609 }, { 180,6609 }, { 181,6609 }, - { 182,6609 }, { 183,6609 }, { 184,6609 }, { 185,6609 }, { 186,6609 }, - { 187,6609 }, { 188,6609 }, { 189,6609 }, { 190,6609 }, { 191,6609 }, - { 192,6609 }, { 193,6609 }, { 194,6609 }, { 195,6609 }, { 196,6609 }, - { 197,6609 }, { 198,6609 }, { 199,6609 }, { 200,6609 }, { 201,6609 }, - { 202,6609 }, { 203,6609 }, { 204,6609 }, { 205,6609 }, { 206,6609 }, - { 207,6609 }, { 208,6609 }, { 209,6609 }, { 210,6609 }, { 211,6609 }, - { 212,6609 }, { 213,6609 }, { 214,6609 }, { 215,6609 }, { 216,6609 }, - { 217,6609 }, { 218,6609 }, { 219,6609 }, { 220,6609 }, { 221,6609 }, - { 222,6609 }, { 223,6609 }, { 224,6609 }, { 225,6609 }, { 226,6609 }, - - { 227,6609 }, { 228,6609 }, { 229,6609 }, { 230,6609 }, { 231,6609 }, - { 232,6609 }, { 233,6609 }, { 234,6609 }, { 235,6609 }, { 236,6609 }, - { 237,6609 }, { 238,6609 }, { 239,6609 }, { 240,6609 }, { 241,6609 }, - { 242,6609 }, { 243,6609 }, { 244,6609 }, { 245,6609 }, { 246,6609 }, - { 247,6609 }, { 248,6609 }, { 249,6609 }, { 250,6609 }, { 251,6609 }, - { 252,6609 }, { 253,6609 }, { 254,6609 }, { 255,6609 }, { 256,6609 }, - { 0, 0 }, { 0,17417 }, { 1,7125 }, { 2,7125 }, { 3,7125 }, - { 4,7125 }, { 5,7125 }, { 6,7125 }, { 7,7125 }, { 8,7125 }, - { 9,7125 }, { 10,7383 }, { 11,7125 }, { 12,7125 }, { 13,7125 }, - { 14,7125 }, { 15,7125 }, { 16,7125 }, { 17,7125 }, { 18,7125 }, - - { 19,7125 }, { 20,7125 }, { 21,7125 }, { 22,7125 }, { 23,7125 }, - { 24,7125 }, { 25,7125 }, { 26,7125 }, { 27,7125 }, { 28,7125 }, - { 29,7125 }, { 30,7125 }, { 31,7125 }, { 32,7125 }, { 33,7125 }, - { 34,7125 }, { 35,7125 }, { 36,7641 }, { 37,7125 }, { 38,7125 }, - { 39,7125 }, { 40,7125 }, { 41,7125 }, { 42,7125 }, { 43,7125 }, - { 44,7125 }, { 45,7125 }, { 46,7125 }, { 47,7125 }, { 48,7125 }, - { 49,7125 }, { 50,7125 }, { 51,7125 }, { 52,7125 }, { 53,7125 }, - { 54,7125 }, { 55,7125 }, { 56,7125 }, { 57,7125 }, { 58,7125 }, - { 59,7125 }, { 60,7125 }, { 61,7125 }, { 62,7125 }, { 63,7125 }, - { 64,7125 }, { 65,7125 }, { 66,7125 }, { 67,7125 }, { 68,7125 }, - - { 69,7125 }, { 70,7125 }, { 71,7125 }, { 72,7125 }, { 73,7125 }, - { 74,7125 }, { 75,7125 }, { 76,7125 }, { 77,7125 }, { 78,7125 }, - { 79,7125 }, { 80,7125 }, { 81,7125 }, { 82,7125 }, { 83,7125 }, - { 84,7125 }, { 85,7125 }, { 86,7125 }, { 87,7125 }, { 88,7125 }, - { 89,7125 }, { 90,7125 }, { 91,7125 }, { 92,7125 }, { 93,7125 }, - { 94,7125 }, { 95,7125 }, { 96,7125 }, { 97,7125 }, { 98,7125 }, - { 99,7125 }, { 100,7125 }, { 101,7125 }, { 102,7125 }, { 103,7125 }, - { 104,7125 }, { 105,7125 }, { 106,7125 }, { 107,7125 }, { 108,7125 }, - { 109,7125 }, { 110,7125 }, { 111,7125 }, { 112,7125 }, { 113,7125 }, - { 114,7125 }, { 115,7125 }, { 116,7125 }, { 117,7125 }, { 118,7125 }, - - { 119,7125 }, { 120,7125 }, { 121,7125 }, { 122,7125 }, { 123,7125 }, - { 124,7125 }, { 125,7125 }, { 126,7125 }, { 127,7125 }, { 128,7125 }, - { 129,7125 }, { 130,7125 }, { 131,7125 }, { 132,7125 }, { 133,7125 }, - { 134,7125 }, { 135,7125 }, { 136,7125 }, { 137,7125 }, { 138,7125 }, - { 139,7125 }, { 140,7125 }, { 141,7125 }, { 142,7125 }, { 143,7125 }, - { 144,7125 }, { 145,7125 }, { 146,7125 }, { 147,7125 }, { 148,7125 }, - { 149,7125 }, { 150,7125 }, { 151,7125 }, { 152,7125 }, { 153,7125 }, - { 154,7125 }, { 155,7125 }, { 156,7125 }, { 157,7125 }, { 158,7125 }, - { 159,7125 }, { 160,7125 }, { 161,7125 }, { 162,7125 }, { 163,7125 }, - { 164,7125 }, { 165,7125 }, { 166,7125 }, { 167,7125 }, { 168,7125 }, - - { 169,7125 }, { 170,7125 }, { 171,7125 }, { 172,7125 }, { 173,7125 }, - { 174,7125 }, { 175,7125 }, { 176,7125 }, { 177,7125 }, { 178,7125 }, - { 179,7125 }, { 180,7125 }, { 181,7125 }, { 182,7125 }, { 183,7125 }, - { 184,7125 }, { 185,7125 }, { 186,7125 }, { 187,7125 }, { 188,7125 }, - { 189,7125 }, { 190,7125 }, { 191,7125 }, { 192,7125 }, { 193,7125 }, - { 194,7125 }, { 195,7125 }, { 196,7125 }, { 197,7125 }, { 198,7125 }, - { 199,7125 }, { 200,7125 }, { 201,7125 }, { 202,7125 }, { 203,7125 }, - { 204,7125 }, { 205,7125 }, { 206,7125 }, { 207,7125 }, { 208,7125 }, - { 209,7125 }, { 210,7125 }, { 211,7125 }, { 212,7125 }, { 213,7125 }, - { 214,7125 }, { 215,7125 }, { 216,7125 }, { 217,7125 }, { 218,7125 }, - - { 219,7125 }, { 220,7125 }, { 221,7125 }, { 222,7125 }, { 223,7125 }, - { 224,7125 }, { 225,7125 }, { 226,7125 }, { 227,7125 }, { 228,7125 }, - { 229,7125 }, { 230,7125 }, { 231,7125 }, { 232,7125 }, { 233,7125 }, - { 234,7125 }, { 235,7125 }, { 236,7125 }, { 237,7125 }, { 238,7125 }, - { 239,7125 }, { 240,7125 }, { 241,7125 }, { 242,7125 }, { 243,7125 }, - { 244,7125 }, { 245,7125 }, { 246,7125 }, { 247,7125 }, { 248,7125 }, - { 249,7125 }, { 250,7125 }, { 251,7125 }, { 252,7125 }, { 253,7125 }, - { 254,7125 }, { 255,7125 }, { 256,7125 }, { 0, 0 }, { 0,17159 }, - { 1,6867 }, { 2,6867 }, { 3,6867 }, { 4,6867 }, { 5,6867 }, - { 6,6867 }, { 7,6867 }, { 8,6867 }, { 9,6867 }, { 10,7125 }, - - { 11,6867 }, { 12,6867 }, { 13,6867 }, { 14,6867 }, { 15,6867 }, - { 16,6867 }, { 17,6867 }, { 18,6867 }, { 19,6867 }, { 20,6867 }, - { 21,6867 }, { 22,6867 }, { 23,6867 }, { 24,6867 }, { 25,6867 }, - { 26,6867 }, { 27,6867 }, { 28,6867 }, { 29,6867 }, { 30,6867 }, - { 31,6867 }, { 32,6867 }, { 33,6867 }, { 34,6867 }, { 35,6867 }, - { 36,7383 }, { 37,6867 }, { 38,6867 }, { 39,6867 }, { 40,6867 }, - { 41,6867 }, { 42,6867 }, { 43,6867 }, { 44,6867 }, { 45,6867 }, - { 46,6867 }, { 47,6867 }, { 48,6867 }, { 49,6867 }, { 50,6867 }, - { 51,6867 }, { 52,6867 }, { 53,6867 }, { 54,6867 }, { 55,6867 }, - { 56,6867 }, { 57,6867 }, { 58,6867 }, { 59,6867 }, { 60,6867 }, - - { 61,6867 }, { 62,6867 }, { 63,6867 }, { 64,6867 }, { 65,6867 }, - { 66,6867 }, { 67,6867 }, { 68,6867 }, { 69,6867 }, { 70,6867 }, - { 71,6867 }, { 72,6867 }, { 73,6867 }, { 74,6867 }, { 75,6867 }, - { 76,6867 }, { 77,6867 }, { 78,6867 }, { 79,6867 }, { 80,6867 }, - { 81,6867 }, { 82,6867 }, { 83,6867 }, { 84,6867 }, { 85,6867 }, - { 86,6867 }, { 87,6867 }, { 88,6867 }, { 89,6867 }, { 90,6867 }, - { 91,6867 }, { 92,6867 }, { 93,6867 }, { 94,6867 }, { 95,6867 }, - { 96,6867 }, { 97,6867 }, { 98,6867 }, { 99,6867 }, { 100,6867 }, - { 101,6867 }, { 102,6867 }, { 103,6867 }, { 104,6867 }, { 105,6867 }, - { 106,6867 }, { 107,6867 }, { 108,6867 }, { 109,6867 }, { 110,6867 }, - - { 111,6867 }, { 112,6867 }, { 113,6867 }, { 114,6867 }, { 115,6867 }, - { 116,6867 }, { 117,6867 }, { 118,6867 }, { 119,6867 }, { 120,6867 }, - { 121,6867 }, { 122,6867 }, { 123,6867 }, { 124,6867 }, { 125,6867 }, - { 126,6867 }, { 127,6867 }, { 128,6867 }, { 129,6867 }, { 130,6867 }, - { 131,6867 }, { 132,6867 }, { 133,6867 }, { 134,6867 }, { 135,6867 }, - { 136,6867 }, { 137,6867 }, { 138,6867 }, { 139,6867 }, { 140,6867 }, - { 141,6867 }, { 142,6867 }, { 143,6867 }, { 144,6867 }, { 145,6867 }, - { 146,6867 }, { 147,6867 }, { 148,6867 }, { 149,6867 }, { 150,6867 }, - { 151,6867 }, { 152,6867 }, { 153,6867 }, { 154,6867 }, { 155,6867 }, - { 156,6867 }, { 157,6867 }, { 158,6867 }, { 159,6867 }, { 160,6867 }, - - { 161,6867 }, { 162,6867 }, { 163,6867 }, { 164,6867 }, { 165,6867 }, - { 166,6867 }, { 167,6867 }, { 168,6867 }, { 169,6867 }, { 170,6867 }, - { 171,6867 }, { 172,6867 }, { 173,6867 }, { 174,6867 }, { 175,6867 }, - { 176,6867 }, { 177,6867 }, { 178,6867 }, { 179,6867 }, { 180,6867 }, - { 181,6867 }, { 182,6867 }, { 183,6867 }, { 184,6867 }, { 185,6867 }, - { 186,6867 }, { 187,6867 }, { 188,6867 }, { 189,6867 }, { 190,6867 }, - { 191,6867 }, { 192,6867 }, { 193,6867 }, { 194,6867 }, { 195,6867 }, - { 196,6867 }, { 197,6867 }, { 198,6867 }, { 199,6867 }, { 200,6867 }, - { 201,6867 }, { 202,6867 }, { 203,6867 }, { 204,6867 }, { 205,6867 }, - { 206,6867 }, { 207,6867 }, { 208,6867 }, { 209,6867 }, { 210,6867 }, - - { 211,6867 }, { 212,6867 }, { 213,6867 }, { 214,6867 }, { 215,6867 }, - { 216,6867 }, { 217,6867 }, { 218,6867 }, { 219,6867 }, { 220,6867 }, - { 221,6867 }, { 222,6867 }, { 223,6867 }, { 224,6867 }, { 225,6867 }, - { 226,6867 }, { 227,6867 }, { 228,6867 }, { 229,6867 }, { 230,6867 }, - { 231,6867 }, { 232,6867 }, { 233,6867 }, { 234,6867 }, { 235,6867 }, - { 236,6867 }, { 237,6867 }, { 238,6867 }, { 239,6867 }, { 240,6867 }, - { 241,6867 }, { 242,6867 }, { 243,6867 }, { 244,6867 }, { 245,6867 }, - { 246,6867 }, { 247,6867 }, { 248,6867 }, { 249,6867 }, { 250,6867 }, - { 251,6867 }, { 252,6867 }, { 253,6867 }, { 254,6867 }, { 255,6867 }, - { 256,6867 }, { 0, 0 }, { 0,16901 }, { 1,4993 }, { 2,4993 }, + { 0,29807 }, { 1,6875 }, { 2,6875 }, { 3,6875 }, { 4,6875 }, + { 5,6875 }, { 6,6875 }, { 7,6875 }, { 8,6875 }, { 9,6875 }, + { 10,7133 }, { 11,6875 }, { 12,6875 }, { 13,6875 }, { 14,6875 }, + { 15,6875 }, { 16,6875 }, { 17,6875 }, { 18,6875 }, { 19,6875 }, + { 20,6875 }, { 21,6875 }, { 22,6875 }, { 23,6875 }, { 24,6875 }, + { 25,6875 }, { 26,6875 }, { 27,6875 }, { 28,6875 }, { 29,6875 }, + { 30,6875 }, { 31,6875 }, { 32,6875 }, { 33,6875 }, { 34,6875 }, + + { 35,6875 }, { 36,6875 }, { 37,6875 }, { 38,6875 }, { 39,2645 }, + { 40,6875 }, { 41,6875 }, { 42,6875 }, { 43,6875 }, { 44,6875 }, + { 45,6875 }, { 46,6875 }, { 47,6875 }, { 48,6875 }, { 49,6875 }, + { 50,6875 }, { 51,6875 }, { 52,6875 }, { 53,6875 }, { 54,6875 }, + { 55,6875 }, { 56,6875 }, { 57,6875 }, { 58,6875 }, { 59,6875 }, + { 60,6875 }, { 61,6875 }, { 62,6875 }, { 63,6875 }, { 64,6875 }, + { 65,6875 }, { 66,6875 }, { 67,6875 }, { 68,6875 }, { 69,6875 }, + { 70,6875 }, { 71,6875 }, { 72,6875 }, { 73,6875 }, { 74,6875 }, + { 75,6875 }, { 76,6875 }, { 77,6875 }, { 78,6875 }, { 79,6875 }, + { 80,6875 }, { 81,6875 }, { 82,6875 }, { 83,6875 }, { 84,6875 }, + + { 85,6875 }, { 86,6875 }, { 87,6875 }, { 88,6875 }, { 89,6875 }, + { 90,6875 }, { 91,6875 }, { 92,7391 }, { 93,6875 }, { 94,6875 }, + { 95,6875 }, { 96,6875 }, { 97,6875 }, { 98,6875 }, { 99,6875 }, + { 100,6875 }, { 101,6875 }, { 102,6875 }, { 103,6875 }, { 104,6875 }, + { 105,6875 }, { 106,6875 }, { 107,6875 }, { 108,6875 }, { 109,6875 }, + { 110,6875 }, { 111,6875 }, { 112,6875 }, { 113,6875 }, { 114,6875 }, + { 115,6875 }, { 116,6875 }, { 117,6875 }, { 118,6875 }, { 119,6875 }, + { 120,6875 }, { 121,6875 }, { 122,6875 }, { 123,6875 }, { 124,6875 }, + { 125,6875 }, { 126,6875 }, { 127,6875 }, { 128,6875 }, { 129,6875 }, + { 130,6875 }, { 131,6875 }, { 132,6875 }, { 133,6875 }, { 134,6875 }, + + { 135,6875 }, { 136,6875 }, { 137,6875 }, { 138,6875 }, { 139,6875 }, + { 140,6875 }, { 141,6875 }, { 142,6875 }, { 143,6875 }, { 144,6875 }, + { 145,6875 }, { 146,6875 }, { 147,6875 }, { 148,6875 }, { 149,6875 }, + { 150,6875 }, { 151,6875 }, { 152,6875 }, { 153,6875 }, { 154,6875 }, + { 155,6875 }, { 156,6875 }, { 157,6875 }, { 158,6875 }, { 159,6875 }, + { 160,6875 }, { 161,6875 }, { 162,6875 }, { 163,6875 }, { 164,6875 }, + { 165,6875 }, { 166,6875 }, { 167,6875 }, { 168,6875 }, { 169,6875 }, + { 170,6875 }, { 171,6875 }, { 172,6875 }, { 173,6875 }, { 174,6875 }, + { 175,6875 }, { 176,6875 }, { 177,6875 }, { 178,6875 }, { 179,6875 }, + { 180,6875 }, { 181,6875 }, { 182,6875 }, { 183,6875 }, { 184,6875 }, + + { 185,6875 }, { 186,6875 }, { 187,6875 }, { 188,6875 }, { 189,6875 }, + { 190,6875 }, { 191,6875 }, { 192,6875 }, { 193,6875 }, { 194,6875 }, + { 195,6875 }, { 196,6875 }, { 197,6875 }, { 198,6875 }, { 199,6875 }, + { 200,6875 }, { 201,6875 }, { 202,6875 }, { 203,6875 }, { 204,6875 }, + { 205,6875 }, { 206,6875 }, { 207,6875 }, { 208,6875 }, { 209,6875 }, + { 210,6875 }, { 211,6875 }, { 212,6875 }, { 213,6875 }, { 214,6875 }, + { 215,6875 }, { 216,6875 }, { 217,6875 }, { 218,6875 }, { 219,6875 }, + { 220,6875 }, { 221,6875 }, { 222,6875 }, { 223,6875 }, { 224,6875 }, + { 225,6875 }, { 226,6875 }, { 227,6875 }, { 228,6875 }, { 229,6875 }, + { 230,6875 }, { 231,6875 }, { 232,6875 }, { 233,6875 }, { 234,6875 }, + + { 235,6875 }, { 236,6875 }, { 237,6875 }, { 238,6875 }, { 239,6875 }, + { 240,6875 }, { 241,6875 }, { 242,6875 }, { 243,6875 }, { 244,6875 }, + { 245,6875 }, { 246,6875 }, { 247,6875 }, { 248,6875 }, { 249,6875 }, + { 250,6875 }, { 251,6875 }, { 252,6875 }, { 253,6875 }, { 254,6875 }, + { 255,6875 }, { 256,6875 }, { 0, 0 }, { 0,29549 }, { 1,6617 }, + { 2,6617 }, { 3,6617 }, { 4,6617 }, { 5,6617 }, { 6,6617 }, + { 7,6617 }, { 8,6617 }, { 9,6617 }, { 10,6875 }, { 11,6617 }, + { 12,6617 }, { 13,6617 }, { 14,6617 }, { 15,6617 }, { 16,6617 }, + { 17,6617 }, { 18,6617 }, { 19,6617 }, { 20,6617 }, { 21,6617 }, + { 22,6617 }, { 23,6617 }, { 24,6617 }, { 25,6617 }, { 26,6617 }, + + { 27,6617 }, { 28,6617 }, { 29,6617 }, { 30,6617 }, { 31,6617 }, + { 32,6617 }, { 33,6617 }, { 34,6617 }, { 35,6617 }, { 36,6617 }, + { 37,6617 }, { 38,6617 }, { 39,2387 }, { 40,6617 }, { 41,6617 }, + { 42,6617 }, { 43,6617 }, { 44,6617 }, { 45,6617 }, { 46,6617 }, + { 47,6617 }, { 48,6617 }, { 49,6617 }, { 50,6617 }, { 51,6617 }, + { 52,6617 }, { 53,6617 }, { 54,6617 }, { 55,6617 }, { 56,6617 }, + { 57,6617 }, { 58,6617 }, { 59,6617 }, { 60,6617 }, { 61,6617 }, + { 62,6617 }, { 63,6617 }, { 64,6617 }, { 65,6617 }, { 66,6617 }, + { 67,6617 }, { 68,6617 }, { 69,6617 }, { 70,6617 }, { 71,6617 }, + { 72,6617 }, { 73,6617 }, { 74,6617 }, { 75,6617 }, { 76,6617 }, + + { 77,6617 }, { 78,6617 }, { 79,6617 }, { 80,6617 }, { 81,6617 }, + { 82,6617 }, { 83,6617 }, { 84,6617 }, { 85,6617 }, { 86,6617 }, + { 87,6617 }, { 88,6617 }, { 89,6617 }, { 90,6617 }, { 91,6617 }, + { 92,7133 }, { 93,6617 }, { 94,6617 }, { 95,6617 }, { 96,6617 }, + { 97,6617 }, { 98,6617 }, { 99,6617 }, { 100,6617 }, { 101,6617 }, + { 102,6617 }, { 103,6617 }, { 104,6617 }, { 105,6617 }, { 106,6617 }, + { 107,6617 }, { 108,6617 }, { 109,6617 }, { 110,6617 }, { 111,6617 }, + { 112,6617 }, { 113,6617 }, { 114,6617 }, { 115,6617 }, { 116,6617 }, + { 117,6617 }, { 118,6617 }, { 119,6617 }, { 120,6617 }, { 121,6617 }, + { 122,6617 }, { 123,6617 }, { 124,6617 }, { 125,6617 }, { 126,6617 }, + + { 127,6617 }, { 128,6617 }, { 129,6617 }, { 130,6617 }, { 131,6617 }, + { 132,6617 }, { 133,6617 }, { 134,6617 }, { 135,6617 }, { 136,6617 }, + { 137,6617 }, { 138,6617 }, { 139,6617 }, { 140,6617 }, { 141,6617 }, + { 142,6617 }, { 143,6617 }, { 144,6617 }, { 145,6617 }, { 146,6617 }, + { 147,6617 }, { 148,6617 }, { 149,6617 }, { 150,6617 }, { 151,6617 }, + { 152,6617 }, { 153,6617 }, { 154,6617 }, { 155,6617 }, { 156,6617 }, + { 157,6617 }, { 158,6617 }, { 159,6617 }, { 160,6617 }, { 161,6617 }, + { 162,6617 }, { 163,6617 }, { 164,6617 }, { 165,6617 }, { 166,6617 }, + { 167,6617 }, { 168,6617 }, { 169,6617 }, { 170,6617 }, { 171,6617 }, + { 172,6617 }, { 173,6617 }, { 174,6617 }, { 175,6617 }, { 176,6617 }, + + { 177,6617 }, { 178,6617 }, { 179,6617 }, { 180,6617 }, { 181,6617 }, + { 182,6617 }, { 183,6617 }, { 184,6617 }, { 185,6617 }, { 186,6617 }, + { 187,6617 }, { 188,6617 }, { 189,6617 }, { 190,6617 }, { 191,6617 }, + { 192,6617 }, { 193,6617 }, { 194,6617 }, { 195,6617 }, { 196,6617 }, + { 197,6617 }, { 198,6617 }, { 199,6617 }, { 200,6617 }, { 201,6617 }, + { 202,6617 }, { 203,6617 }, { 204,6617 }, { 205,6617 }, { 206,6617 }, + { 207,6617 }, { 208,6617 }, { 209,6617 }, { 210,6617 }, { 211,6617 }, + { 212,6617 }, { 213,6617 }, { 214,6617 }, { 215,6617 }, { 216,6617 }, + { 217,6617 }, { 218,6617 }, { 219,6617 }, { 220,6617 }, { 221,6617 }, + { 222,6617 }, { 223,6617 }, { 224,6617 }, { 225,6617 }, { 226,6617 }, + + { 227,6617 }, { 228,6617 }, { 229,6617 }, { 230,6617 }, { 231,6617 }, + { 232,6617 }, { 233,6617 }, { 234,6617 }, { 235,6617 }, { 236,6617 }, + { 237,6617 }, { 238,6617 }, { 239,6617 }, { 240,6617 }, { 241,6617 }, + { 242,6617 }, { 243,6617 }, { 244,6617 }, { 245,6617 }, { 246,6617 }, + { 247,6617 }, { 248,6617 }, { 249,6617 }, { 250,6617 }, { 251,6617 }, + { 252,6617 }, { 253,6617 }, { 254,6617 }, { 255,6617 }, { 256,6617 }, + { 0, 0 }, { 0,29291 }, { 1,7133 }, { 2,7133 }, { 3,7133 }, + { 4,7133 }, { 5,7133 }, { 6,7133 }, { 7,7133 }, { 8,7133 }, + { 9,7133 }, { 10,7391 }, { 11,7133 }, { 12,7133 }, { 13,7133 }, + { 14,7133 }, { 15,7133 }, { 16,7133 }, { 17,7133 }, { 18,7133 }, + + { 19,7133 }, { 20,7133 }, { 21,7133 }, { 22,7133 }, { 23,7133 }, + { 24,7133 }, { 25,7133 }, { 26,7133 }, { 27,7133 }, { 28,7133 }, + { 29,7133 }, { 30,7133 }, { 31,7133 }, { 32,7133 }, { 33,7133 }, + { 34,7133 }, { 35,7133 }, { 36,7649 }, { 37,7133 }, { 38,7133 }, + { 39,7133 }, { 40,7133 }, { 41,7133 }, { 42,7133 }, { 43,7133 }, + { 44,7133 }, { 45,7133 }, { 46,7133 }, { 47,7133 }, { 48,7133 }, + { 49,7133 }, { 50,7133 }, { 51,7133 }, { 52,7133 }, { 53,7133 }, + { 54,7133 }, { 55,7133 }, { 56,7133 }, { 57,7133 }, { 58,7133 }, + { 59,7133 }, { 60,7133 }, { 61,7133 }, { 62,7133 }, { 63,7133 }, + { 64,7133 }, { 65,7133 }, { 66,7133 }, { 67,7133 }, { 68,7133 }, + + { 69,7133 }, { 70,7133 }, { 71,7133 }, { 72,7133 }, { 73,7133 }, + { 74,7133 }, { 75,7133 }, { 76,7133 }, { 77,7133 }, { 78,7133 }, + { 79,7133 }, { 80,7133 }, { 81,7133 }, { 82,7133 }, { 83,7133 }, + { 84,7133 }, { 85,7133 }, { 86,7133 }, { 87,7133 }, { 88,7133 }, + { 89,7133 }, { 90,7133 }, { 91,7133 }, { 92,7133 }, { 93,7133 }, + { 94,7133 }, { 95,7133 }, { 96,7133 }, { 97,7133 }, { 98,7133 }, + { 99,7133 }, { 100,7133 }, { 101,7133 }, { 102,7133 }, { 103,7133 }, + { 104,7133 }, { 105,7133 }, { 106,7133 }, { 107,7133 }, { 108,7133 }, + { 109,7133 }, { 110,7133 }, { 111,7133 }, { 112,7133 }, { 113,7133 }, + { 114,7133 }, { 115,7133 }, { 116,7133 }, { 117,7133 }, { 118,7133 }, + + { 119,7133 }, { 120,7133 }, { 121,7133 }, { 122,7133 }, { 123,7133 }, + { 124,7133 }, { 125,7133 }, { 126,7133 }, { 127,7133 }, { 128,7133 }, + { 129,7133 }, { 130,7133 }, { 131,7133 }, { 132,7133 }, { 133,7133 }, + { 134,7133 }, { 135,7133 }, { 136,7133 }, { 137,7133 }, { 138,7133 }, + { 139,7133 }, { 140,7133 }, { 141,7133 }, { 142,7133 }, { 143,7133 }, + { 144,7133 }, { 145,7133 }, { 146,7133 }, { 147,7133 }, { 148,7133 }, + { 149,7133 }, { 150,7133 }, { 151,7133 }, { 152,7133 }, { 153,7133 }, + { 154,7133 }, { 155,7133 }, { 156,7133 }, { 157,7133 }, { 158,7133 }, + { 159,7133 }, { 160,7133 }, { 161,7133 }, { 162,7133 }, { 163,7133 }, + { 164,7133 }, { 165,7133 }, { 166,7133 }, { 167,7133 }, { 168,7133 }, + + { 169,7133 }, { 170,7133 }, { 171,7133 }, { 172,7133 }, { 173,7133 }, + { 174,7133 }, { 175,7133 }, { 176,7133 }, { 177,7133 }, { 178,7133 }, + { 179,7133 }, { 180,7133 }, { 181,7133 }, { 182,7133 }, { 183,7133 }, + { 184,7133 }, { 185,7133 }, { 186,7133 }, { 187,7133 }, { 188,7133 }, + { 189,7133 }, { 190,7133 }, { 191,7133 }, { 192,7133 }, { 193,7133 }, + { 194,7133 }, { 195,7133 }, { 196,7133 }, { 197,7133 }, { 198,7133 }, + { 199,7133 }, { 200,7133 }, { 201,7133 }, { 202,7133 }, { 203,7133 }, + { 204,7133 }, { 205,7133 }, { 206,7133 }, { 207,7133 }, { 208,7133 }, + { 209,7133 }, { 210,7133 }, { 211,7133 }, { 212,7133 }, { 213,7133 }, + { 214,7133 }, { 215,7133 }, { 216,7133 }, { 217,7133 }, { 218,7133 }, + + { 219,7133 }, { 220,7133 }, { 221,7133 }, { 222,7133 }, { 223,7133 }, + { 224,7133 }, { 225,7133 }, { 226,7133 }, { 227,7133 }, { 228,7133 }, + { 229,7133 }, { 230,7133 }, { 231,7133 }, { 232,7133 }, { 233,7133 }, + { 234,7133 }, { 235,7133 }, { 236,7133 }, { 237,7133 }, { 238,7133 }, + { 239,7133 }, { 240,7133 }, { 241,7133 }, { 242,7133 }, { 243,7133 }, + { 244,7133 }, { 245,7133 }, { 246,7133 }, { 247,7133 }, { 248,7133 }, + { 249,7133 }, { 250,7133 }, { 251,7133 }, { 252,7133 }, { 253,7133 }, + { 254,7133 }, { 255,7133 }, { 256,7133 }, { 0, 0 }, { 0,29033 }, + { 1,6875 }, { 2,6875 }, { 3,6875 }, { 4,6875 }, { 5,6875 }, + { 6,6875 }, { 7,6875 }, { 8,6875 }, { 9,6875 }, { 10,7133 }, + + { 11,6875 }, { 12,6875 }, { 13,6875 }, { 14,6875 }, { 15,6875 }, + { 16,6875 }, { 17,6875 }, { 18,6875 }, { 19,6875 }, { 20,6875 }, + { 21,6875 }, { 22,6875 }, { 23,6875 }, { 24,6875 }, { 25,6875 }, + { 26,6875 }, { 27,6875 }, { 28,6875 }, { 29,6875 }, { 30,6875 }, + { 31,6875 }, { 32,6875 }, { 33,6875 }, { 34,6875 }, { 35,6875 }, + { 36,7391 }, { 37,6875 }, { 38,6875 }, { 39,6875 }, { 40,6875 }, + { 41,6875 }, { 42,6875 }, { 43,6875 }, { 44,6875 }, { 45,6875 }, + { 46,6875 }, { 47,6875 }, { 48,6875 }, { 49,6875 }, { 50,6875 }, + { 51,6875 }, { 52,6875 }, { 53,6875 }, { 54,6875 }, { 55,6875 }, + { 56,6875 }, { 57,6875 }, { 58,6875 }, { 59,6875 }, { 60,6875 }, + + { 61,6875 }, { 62,6875 }, { 63,6875 }, { 64,6875 }, { 65,6875 }, + { 66,6875 }, { 67,6875 }, { 68,6875 }, { 69,6875 }, { 70,6875 }, + { 71,6875 }, { 72,6875 }, { 73,6875 }, { 74,6875 }, { 75,6875 }, + { 76,6875 }, { 77,6875 }, { 78,6875 }, { 79,6875 }, { 80,6875 }, + { 81,6875 }, { 82,6875 }, { 83,6875 }, { 84,6875 }, { 85,6875 }, + { 86,6875 }, { 87,6875 }, { 88,6875 }, { 89,6875 }, { 90,6875 }, + { 91,6875 }, { 92,6875 }, { 93,6875 }, { 94,6875 }, { 95,6875 }, + { 96,6875 }, { 97,6875 }, { 98,6875 }, { 99,6875 }, { 100,6875 }, + { 101,6875 }, { 102,6875 }, { 103,6875 }, { 104,6875 }, { 105,6875 }, + { 106,6875 }, { 107,6875 }, { 108,6875 }, { 109,6875 }, { 110,6875 }, + + { 111,6875 }, { 112,6875 }, { 113,6875 }, { 114,6875 }, { 115,6875 }, + { 116,6875 }, { 117,6875 }, { 118,6875 }, { 119,6875 }, { 120,6875 }, + { 121,6875 }, { 122,6875 }, { 123,6875 }, { 124,6875 }, { 125,6875 }, + { 126,6875 }, { 127,6875 }, { 128,6875 }, { 129,6875 }, { 130,6875 }, + { 131,6875 }, { 132,6875 }, { 133,6875 }, { 134,6875 }, { 135,6875 }, + { 136,6875 }, { 137,6875 }, { 138,6875 }, { 139,6875 }, { 140,6875 }, + { 141,6875 }, { 142,6875 }, { 143,6875 }, { 144,6875 }, { 145,6875 }, + { 146,6875 }, { 147,6875 }, { 148,6875 }, { 149,6875 }, { 150,6875 }, + { 151,6875 }, { 152,6875 }, { 153,6875 }, { 154,6875 }, { 155,6875 }, + { 156,6875 }, { 157,6875 }, { 158,6875 }, { 159,6875 }, { 160,6875 }, + + { 161,6875 }, { 162,6875 }, { 163,6875 }, { 164,6875 }, { 165,6875 }, + { 166,6875 }, { 167,6875 }, { 168,6875 }, { 169,6875 }, { 170,6875 }, + { 171,6875 }, { 172,6875 }, { 173,6875 }, { 174,6875 }, { 175,6875 }, + { 176,6875 }, { 177,6875 }, { 178,6875 }, { 179,6875 }, { 180,6875 }, + { 181,6875 }, { 182,6875 }, { 183,6875 }, { 184,6875 }, { 185,6875 }, + { 186,6875 }, { 187,6875 }, { 188,6875 }, { 189,6875 }, { 190,6875 }, + { 191,6875 }, { 192,6875 }, { 193,6875 }, { 194,6875 }, { 195,6875 }, + { 196,6875 }, { 197,6875 }, { 198,6875 }, { 199,6875 }, { 200,6875 }, + { 201,6875 }, { 202,6875 }, { 203,6875 }, { 204,6875 }, { 205,6875 }, + { 206,6875 }, { 207,6875 }, { 208,6875 }, { 209,6875 }, { 210,6875 }, + + { 211,6875 }, { 212,6875 }, { 213,6875 }, { 214,6875 }, { 215,6875 }, + { 216,6875 }, { 217,6875 }, { 218,6875 }, { 219,6875 }, { 220,6875 }, + { 221,6875 }, { 222,6875 }, { 223,6875 }, { 224,6875 }, { 225,6875 }, + { 226,6875 }, { 227,6875 }, { 228,6875 }, { 229,6875 }, { 230,6875 }, + { 231,6875 }, { 232,6875 }, { 233,6875 }, { 234,6875 }, { 235,6875 }, + { 236,6875 }, { 237,6875 }, { 238,6875 }, { 239,6875 }, { 240,6875 }, + { 241,6875 }, { 242,6875 }, { 243,6875 }, { 244,6875 }, { 245,6875 }, + { 246,6875 }, { 247,6875 }, { 248,6875 }, { 249,6875 }, { 250,6875 }, + { 251,6875 }, { 252,6875 }, { 253,6875 }, { 254,6875 }, { 255,6875 }, + { 256,6875 }, { 0, 0 }, { 0,28775 }, { 1,4993 }, { 2,4993 }, { 3,4993 }, { 4,4993 }, { 5,4993 }, { 6,4993 }, { 7,4993 }, { 8,4993 }, { 9,4993 }, { 10,4993 }, { 11,4993 }, { 12,4993 }, @@ -1751,7 +1751,7 @@ static const struct yy_trans_info yy_transition[21803] = { 248,4993 }, { 249,4993 }, { 250,4993 }, { 251,4993 }, { 252,4993 }, { 253,4993 }, { 254,4993 }, { 255,4993 }, { 256,4993 }, { 0, 0 }, - { 0,16643 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, { 4,4735 }, + { 0,28517 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, { 4,4735 }, { 5,4735 }, { 6,4735 }, { 7,4735 }, { 8,4735 }, { 9,4735 }, { 10,4735 }, { 11,4735 }, { 12,4735 }, { 13,4735 }, { 14,4735 }, { 15,4735 }, { 16,4735 }, { 17,4735 }, { 18,4735 }, { 19,4735 }, @@ -1807,7 +1807,7 @@ static const struct yy_trans_info yy_transition[21803] = { 245,4735 }, { 246,4735 }, { 247,4735 }, { 248,4735 }, { 249,4735 }, { 250,4735 }, { 251,4735 }, { 252,4735 }, { 253,4735 }, { 254,4735 }, - { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,16385 }, { 1,4993 }, + { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,28259 }, { 1,4993 }, { 2,4993 }, { 3,4993 }, { 4,4993 }, { 5,4993 }, { 6,4993 }, { 7,4993 }, { 8,4993 }, { 9,4993 }, { 10,4993 }, { 11,4993 }, { 12,4993 }, { 13,4993 }, { 14,4993 }, { 15,4993 }, { 16,4993 }, @@ -1864,7 +1864,7 @@ static const struct yy_trans_info yy_transition[21803] = { 242,4993 }, { 243,4993 }, { 244,4993 }, { 245,4993 }, { 246,4993 }, { 247,4993 }, { 248,4993 }, { 249,4993 }, { 250,4993 }, { 251,4993 }, { 252,4993 }, { 253,4993 }, { 254,4993 }, { 255,4993 }, { 256,4993 }, - { 0, 0 }, { 0,16127 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, + { 0, 0 }, { 0,28001 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, { 4,4735 }, { 5,4735 }, { 6,4735 }, { 7,4735 }, { 8,4735 }, { 9,4735 }, { 10,4735 }, { 11,4735 }, { 12,4735 }, { 13,4735 }, { 14,4735 }, { 15,4735 }, { 16,4735 }, { 17,4735 }, { 18,4735 }, @@ -1920,7 +1920,7 @@ static const struct yy_trans_info yy_transition[21803] = { 239,4735 }, { 240,4735 }, { 241,4735 }, { 242,4735 }, { 243,4735 }, { 244,4735 }, { 245,4735 }, { 246,4735 }, { 247,4735 }, { 248,4735 }, { 249,4735 }, { 250,4735 }, { 251,4735 }, { 252,4735 }, { 253,4735 }, - { 254,4735 }, { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,15869 }, + { 254,4735 }, { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,27743 }, { 1, 593 }, { 2, 593 }, { 3, 593 }, { 4, 593 }, { 5, 593 }, { 6, 593 }, { 7, 593 }, { 8, 593 }, { 9, 593 }, { 10, 597 }, { 11, 593 }, { 12, 593 }, { 13, 593 }, { 14, 593 }, { 15, 593 }, @@ -1977,7 +1977,7 @@ static const struct yy_trans_info yy_transition[21803] = { 241, 593 }, { 242, 593 }, { 243, 593 }, { 244, 593 }, { 245, 593 }, { 246, 593 }, { 247, 593 }, { 248, 593 }, { 249, 593 }, { 250, 593 }, { 251, 593 }, { 252, 593 }, { 253, 593 }, { 254, 593 }, { 255, 593 }, - { 256, 593 }, { 0, 0 }, { 0,15611 }, { 1, 335 }, { 2, 335 }, + { 256, 593 }, { 0, 0 }, { 0,27485 }, { 1, 335 }, { 2, 335 }, { 3, 335 }, { 4, 335 }, { 5, 335 }, { 6, 335 }, { 7, 335 }, { 8, 335 }, { 9, 335 }, { 10, 339 }, { 11, 335 }, { 12, 335 }, @@ -2033,1546 +2033,1546 @@ static const struct yy_trans_info yy_transition[21803] = { 238, 335 }, { 239, 335 }, { 240, 335 }, { 241, 335 }, { 242, 335 }, { 243, 335 }, { 244, 335 }, { 245, 335 }, { 246, 335 }, { 247, 335 }, { 248, 335 }, { 249, 335 }, { 250, 335 }, { 251, 335 }, { 252, 335 }, - { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 75 }, - { 0,15353 }, { 0, 1 }, { 0,15351 }, { 0, 39 }, { 0,15349 }, - - { 0, 0 }, { 0, 1 }, { 0,15346 }, { 0, 55 }, { 0,15344 }, - { 0, 0 }, { 9,5577 }, { 10,5577 }, { 0, 0 }, { 12,5577 }, - { 13,5577 }, { 9,5572 }, { 10,5572 }, { 0, 0 }, { 12,5572 }, - { 13,5572 }, { 0, 14 }, { 0,15331 }, { 0, 54 }, { 0,15329 }, - { 0, 0 }, { 0, 54 }, { 0,15326 }, { 0, 17 }, { 0,15324 }, - { 0, 0 }, { 0, 7 }, { 0,15321 }, { 0, 0 }, { 32,5577 }, - { 0, 7 }, { 0,15317 }, { 0, 0 }, { 0, 0 }, { 32,5572 }, - { 0, 41 }, { 0,15312 }, { 33,5825 }, { 0, 0 }, { 35,5825 }, - { 0, 0 }, { 37,5825 }, { 38,5825 }, { 0, 55 }, { 0,15304 }, - { 0, 0 }, { 42,5825 }, { 43,5825 }, { 0, 0 }, { 45,5825 }, - - { 0, 0 }, { 47,5825 }, { 0, 17 }, { 0,15295 }, { 0, 20 }, - { 0,15293 }, { 0, 19 }, { 0,15291 }, { 0, 0 }, { 0, 17 }, - { 0,15288 }, { 0, 42 }, { 0,15286 }, { 0, 0 }, { 60,5825 }, - { 61,5836 }, { 62,5825 }, { 63,5825 }, { 64,5825 }, { 42, 363 }, - { 34, 358 }, { 0, 26 }, { 0,15276 }, { 42,8264 }, { 47, 365 }, - { 0, 27 }, { 0,15272 }, { 33,5785 }, { 0, 0 }, { 35,5785 }, - { 58, 349 }, { 37,5785 }, { 38,5785 }, { 61, 351 }, { 0, 0 }, - { 0, 0 }, { 42,5785 }, { 43,5785 }, { 0, 0 }, { 45,5785 }, - { 0, 0 }, { 47,5785 }, { 39, 346 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 34, 332 }, { 0, 0 }, { 94,5825 }, { 39, 339 }, - - { 96,5825 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5785 }, - { 61,5785 }, { 62,5785 }, { 63,5785 }, { 64,5785 }, { 0, 75 }, - { 0,15238 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 26 }, { 0,15232 }, { 0, 33 }, { 0,15230 }, { 0, 47 }, - { 0,15228 }, { 0, 68 }, { 0,15226 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,5825 }, { 0, 0 }, - { 126,5825 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,5785 }, { 0, 0 }, - { 96,5785 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 72 }, + { 0,27227 }, { 0, 1 }, { 0,27225 }, { 0, 39 }, { 0,27223 }, + + { 0, 0 }, { 0, 1 }, { 0,27220 }, { 0, 55 }, { 0,27218 }, + { 0, 0 }, { 9,5585 }, { 10,5585 }, { 11,5585 }, { 12,5585 }, + { 13,5585 }, { 9,5580 }, { 10,5580 }, { 11,5580 }, { 12,5580 }, + { 13,5580 }, { 0, 14 }, { 0,27205 }, { 0, 54 }, { 0,27203 }, + { 0, 0 }, { 0, 54 }, { 0,27200 }, { 0, 17 }, { 0,27198 }, + { 0, 0 }, { 0, 7 }, { 0,27195 }, { 0, 0 }, { 32,5585 }, + { 0, 7 }, { 0,27191 }, { 0, 0 }, { 0, 0 }, { 32,5580 }, + { 0, 41 }, { 0,27186 }, { 33,5833 }, { 0, 0 }, { 35,5833 }, + { 0, 0 }, { 37,5833 }, { 38,5833 }, { 0, 55 }, { 0,27178 }, + { 0, 0 }, { 42,5833 }, { 43,5833 }, { 0, 0 }, { 45,5833 }, + + { 0, 0 }, { 47,5833 }, { 0, 17 }, { 0,27169 }, { 0, 20 }, + { 0,27167 }, { 0, 19 }, { 0,27165 }, { 0, 0 }, { 0, 17 }, + { 0,27162 }, { 0, 42 }, { 0,27160 }, { 0, 0 }, { 60,5833 }, + { 61,5844 }, { 62,5833 }, { 63,5833 }, { 64,5833 }, { 42, 348 }, + { 34, 346 }, { 0, 26 }, { 0,27150 }, { 42,9714 }, { 47, 353 }, + { 0, 27 }, { 0,27146 }, { 33,5793 }, { 0, 0 }, { 35,5793 }, + { 58, 100 }, { 37,5793 }, { 38,5793 }, { 61, 102 }, { 0, 0 }, + { 0, 0 }, { 42,5793 }, { 43,5793 }, { 0, 0 }, { 45,5793 }, + { 0, 0 }, { 47,5793 }, { 39, 331 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 34, 320 }, { 0, 0 }, { 94,5833 }, { 39, 324 }, + + { 96,5833 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5793 }, + { 61,5793 }, { 62,5793 }, { 63,5793 }, { 64,5793 }, { 0, 72 }, + { 0,27112 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 26 }, { 0,27106 }, { 0, 33 }, { 0,27104 }, { 0, 47 }, + { 0,27102 }, { 0, 46 }, { 0,27100 }, { 0, 48 }, { 0,27098 }, + { 0, 9 }, { 0,27096 }, { 0, 0 }, { 124,5833 }, { 0, 0 }, + { 126,5833 }, { 0, 15 }, { 0,27090 }, { 0, 13 }, { 0,27088 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,5793 }, { 0, 0 }, + { 96,5793 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36, 8 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5747 }, { 49,5747 }, - { 50,5747 }, { 51,5747 }, { 52,5747 }, { 53,5747 }, { 54,5747 }, - { 55,5747 }, { 56,5747 }, { 57,5747 }, { 124,5785 }, { 0, 0 }, - { 126,5785 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,5810 }, { 66,5810 }, { 67,5810 }, { 68,5810 }, { 69,5810 }, - { 70,5810 }, { 71,5810 }, { 72,5810 }, { 73,5810 }, { 74,5810 }, - { 75,5810 }, { 76,5810 }, { 77,5810 }, { 78,5810 }, { 79,5810 }, - { 80,5810 }, { 81,5810 }, { 82,5810 }, { 83,5810 }, { 84,5810 }, - { 85,5810 }, { 86,5810 }, { 87,5810 }, { 88,5810 }, { 89,5810 }, - - { 90,5810 }, { 85,10095 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,5810 }, { 0, 0 }, { 97,5810 }, { 98,5810 }, { 99,5810 }, - { 100,5810 }, { 101,5810 }, { 102,5810 }, { 103,5810 }, { 104,5810 }, - { 105,5810 }, { 106,5810 }, { 107,5810 }, { 108,5810 }, { 109,5810 }, - { 110,5810 }, { 111,5810 }, { 112,5810 }, { 113,5810 }, { 114,5810 }, - { 115,5810 }, { 116,5810 }, { 117,5810 }, { 118,5810 }, { 119,5810 }, - { 120,5810 }, { 121,5810 }, { 122,5810 }, { 117,10118 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5810 }, { 129,5810 }, - { 130,5810 }, { 131,5810 }, { 132,5810 }, { 133,5810 }, { 134,5810 }, - { 135,5810 }, { 136,5810 }, { 137,5810 }, { 138,5810 }, { 139,5810 }, - - { 140,5810 }, { 141,5810 }, { 142,5810 }, { 143,5810 }, { 144,5810 }, - { 145,5810 }, { 146,5810 }, { 147,5810 }, { 148,5810 }, { 149,5810 }, - { 150,5810 }, { 151,5810 }, { 152,5810 }, { 153,5810 }, { 154,5810 }, - { 155,5810 }, { 156,5810 }, { 157,5810 }, { 158,5810 }, { 159,5810 }, - { 160,5810 }, { 161,5810 }, { 162,5810 }, { 163,5810 }, { 164,5810 }, - { 165,5810 }, { 166,5810 }, { 167,5810 }, { 168,5810 }, { 169,5810 }, - { 170,5810 }, { 171,5810 }, { 172,5810 }, { 173,5810 }, { 174,5810 }, - { 175,5810 }, { 176,5810 }, { 177,5810 }, { 178,5810 }, { 179,5810 }, - { 180,5810 }, { 181,5810 }, { 182,5810 }, { 183,5810 }, { 184,5810 }, - { 185,5810 }, { 186,5810 }, { 187,5810 }, { 188,5810 }, { 189,5810 }, - - { 190,5810 }, { 191,5810 }, { 192,5810 }, { 193,5810 }, { 194,5810 }, - { 195,5810 }, { 196,5810 }, { 197,5810 }, { 198,5810 }, { 199,5810 }, - { 200,5810 }, { 201,5810 }, { 202,5810 }, { 203,5810 }, { 204,5810 }, - { 205,5810 }, { 206,5810 }, { 207,5810 }, { 208,5810 }, { 209,5810 }, - { 210,5810 }, { 211,5810 }, { 212,5810 }, { 213,5810 }, { 214,5810 }, - { 215,5810 }, { 216,5810 }, { 217,5810 }, { 218,5810 }, { 219,5810 }, - { 220,5810 }, { 221,5810 }, { 222,5810 }, { 223,5810 }, { 224,5810 }, - { 225,5810 }, { 226,5810 }, { 227,5810 }, { 228,5810 }, { 229,5810 }, - { 230,5810 }, { 231,5810 }, { 232,5810 }, { 233,5810 }, { 234,5810 }, - { 235,5810 }, { 236,5810 }, { 237,5810 }, { 238,5810 }, { 239,5810 }, - - { 240,5810 }, { 241,5810 }, { 242,5810 }, { 243,5810 }, { 244,5810 }, - { 245,5810 }, { 246,5810 }, { 247,5810 }, { 248,5810 }, { 249,5810 }, - { 250,5810 }, { 251,5810 }, { 252,5810 }, { 253,5810 }, { 254,5810 }, - { 255,5810 }, { 0, 54 }, { 0,14981 }, { 0, 63 }, { 0,14979 }, - { 0, 46 }, { 0,14977 }, { 0, 48 }, { 0,14975 }, { 0, 9 }, - { 0,14973 }, { 0, 0 }, { 0, 54 }, { 0,14970 }, { 0, 15 }, - { 0,14968 }, { 0, 13 }, { 0,14966 }, { 0, 0 }, { 0, 45 }, - { 0,14963 }, { 0, 12 }, { 0,14961 }, { 0, 0 }, { 0, 8 }, - { 0,14958 }, { 0, 5 }, { 0,14956 }, { 0, 43 }, { 0,14954 }, - { 0, 0 }, { 0, 54 }, { 0,14951 }, { 0, 21 }, { 0,14949 }, - - { 33,5462 }, { 0, 0 }, { 35,5462 }, { 0, 0 }, { 37,5462 }, - { 38,5462 }, { 0, 19 }, { 0,14941 }, { 0, 0 }, { 42,5462 }, - { 43,5462 }, { 33,5451 }, { 45,5462 }, { 35,5451 }, { 47,5462 }, - { 37,5451 }, { 38,5451 }, { 48,11312 }, { 49,11312 }, { 34, 91 }, - { 42,5451 }, { 43,5451 }, { 0, 0 }, { 45,5799 }, { 39, 93 }, - { 47,5451 }, { 0, 0 }, { 60,5462 }, { 61,5462 }, { 62,5462 }, - { 63,5462 }, { 64,5462 }, { 42, 0 }, { 0, 18 }, { 0,14914 }, - { 0, 29 }, { 0,14912 }, { 47, 2 }, { 60,5451 }, { 61,5451 }, - { 62,5451 }, { 63,5451 }, { 64,5451 }, { 46,-277 }, { 0, 0 }, - { 48,6038 }, { 49,6038 }, { 50,6038 }, { 51,6038 }, { 52,6038 }, - - { 53,6038 }, { 54,6038 }, { 55,6038 }, { 56,6038 }, { 57,6038 }, - { 0, 35 }, { 0,14892 }, { 0, 72 }, { 0,14890 }, { 0, 65 }, - { 0,14888 }, { 94,5462 }, { 0, 0 }, { 96,5462 }, { 95, 101 }, - { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,14880 }, { 0, 63 }, - { 0,14878 }, { 0, 0 }, { 94,5451 }, { 0, 0 }, { 96,5451 }, - { 0, 40 }, { 0,14872 }, { 0, 16 }, { 0,14870 }, { 0, 71 }, - { 0,14868 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 71 }, - { 0,14863 }, { 0, 73 }, { 0,14861 }, { 0, 70 }, { 0,14859 }, - { 0, 0 }, { 124,5462 }, { 0, 0 }, { 126,5462 }, { 0, 69 }, - { 0,14853 }, { 0, 30 }, { 0,14851 }, { 0, 0 }, { 0, 57 }, - - { 0,14848 }, { 33,5361 }, { 124,5451 }, { 35,5361 }, { 126,5451 }, - { 37,5361 }, { 38,5361 }, { 0, 31 }, { 0,14840 }, { 0, 0 }, - { 42,6224 }, { 43,5361 }, { 0, 0 }, { 45,5361 }, { 0, 0 }, - { 47,5361 }, { 0, 24 }, { 0,14831 }, { 48,11211 }, { 49,11211 }, - { 0, 25 }, { 0,14827 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5361 }, { 61,5361 }, - { 62,5361 }, { 63,5361 }, { 64,5361 }, { 48,11196 }, { 49,11196 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 46,6224 }, { 0, 0 }, { 48,6481 }, { 49,6481 }, - - { 50,6481 }, { 51,6481 }, { 52,6481 }, { 53,6481 }, { 54,6481 }, - { 55,6481 }, { 56,6481 }, { 57,6481 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 94,5361 }, { 0, 0 }, { 96,5361 }, - { 65,-378 }, { 66,-131 }, { 67,-378 }, { 68,-378 }, { 69,6738 }, - { 70,-378 }, { 71,-378 }, { 72,-378 }, { 73,-378 }, { 74,-378 }, - { 75,-378 }, { 76,-378 }, { 77,-378 }, { 78,-378 }, { 79,6748 }, - { 80,-378 }, { 81,-378 }, { 82,-378 }, { 83,-378 }, { 84,-378 }, - { 85,-378 }, { 86,-378 }, { 87,-378 }, { 88,6756 }, { 89,-378 }, - { 90,-378 }, { 0, 0 }, { 124,5361 }, { 0, 0 }, { 126,5361 }, - { 95,6779 }, { 0, 0 }, { 97,-378 }, { 98,-131 }, { 99,-378 }, - - { 100,-378 }, { 101,6738 }, { 102,-378 }, { 103,-378 }, { 104,-378 }, - { 105,-378 }, { 106,-378 }, { 107,-378 }, { 108,-378 }, { 109,-378 }, - { 110,-378 }, { 111,6748 }, { 112,-378 }, { 113,-378 }, { 114,-378 }, - { 115,-378 }, { 116,-378 }, { 117,-378 }, { 118,-378 }, { 119,-378 }, - { 120,6756 }, { 121,-378 }, { 122,-378 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-378 }, { 129,-378 }, - { 130,-378 }, { 131,-378 }, { 132,-378 }, { 133,-378 }, { 134,-378 }, - { 135,-378 }, { 136,-378 }, { 137,-378 }, { 138,-378 }, { 139,-378 }, - { 140,-378 }, { 141,-378 }, { 142,-378 }, { 143,-378 }, { 144,-378 }, - { 145,-378 }, { 146,-378 }, { 147,-378 }, { 148,-378 }, { 149,-378 }, - - { 150,-378 }, { 151,-378 }, { 152,-378 }, { 153,-378 }, { 154,-378 }, - { 155,-378 }, { 156,-378 }, { 157,-378 }, { 158,-378 }, { 159,-378 }, - { 160,-378 }, { 161,-378 }, { 162,-378 }, { 163,-378 }, { 164,-378 }, - { 165,-378 }, { 166,-378 }, { 167,-378 }, { 168,-378 }, { 169,-378 }, - { 170,-378 }, { 171,-378 }, { 172,-378 }, { 173,-378 }, { 174,-378 }, - { 175,-378 }, { 176,-378 }, { 177,-378 }, { 178,-378 }, { 179,-378 }, - { 180,-378 }, { 181,-378 }, { 182,-378 }, { 183,-378 }, { 184,-378 }, - { 185,-378 }, { 186,-378 }, { 187,-378 }, { 188,-378 }, { 189,-378 }, - { 190,-378 }, { 191,-378 }, { 192,-378 }, { 193,-378 }, { 194,-378 }, - { 195,-378 }, { 196,-378 }, { 197,-378 }, { 198,-378 }, { 199,-378 }, - - { 200,-378 }, { 201,-378 }, { 202,-378 }, { 203,-378 }, { 204,-378 }, - { 205,-378 }, { 206,-378 }, { 207,-378 }, { 208,-378 }, { 209,-378 }, - { 210,-378 }, { 211,-378 }, { 212,-378 }, { 213,-378 }, { 214,-378 }, - { 215,-378 }, { 216,-378 }, { 217,-378 }, { 218,-378 }, { 219,-378 }, - { 220,-378 }, { 221,-378 }, { 222,-378 }, { 223,-378 }, { 224,-378 }, - { 225,-378 }, { 226,-378 }, { 227,-378 }, { 228,-378 }, { 229,-378 }, - { 230,-378 }, { 231,-378 }, { 232,-378 }, { 233,-378 }, { 234,-378 }, - { 235,-378 }, { 236,-378 }, { 237,-378 }, { 238,-378 }, { 239,-378 }, - { 240,-378 }, { 241,-378 }, { 242,-378 }, { 243,-378 }, { 244,-378 }, - { 245,-378 }, { 246,-378 }, { 247,-378 }, { 248,-378 }, { 249,-378 }, - - { 250,-378 }, { 251,-378 }, { 252,-378 }, { 253,-378 }, { 254,-378 }, - { 255,-378 }, { 0, 57 }, { 0,14591 }, { 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 }, { 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 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,5967 }, { 0, 0 }, - { 48,6224 }, { 49,6224 }, { 50,6224 }, { 51,6224 }, { 52,6224 }, - { 53,6224 }, { 54,6224 }, { 55,6224 }, { 56,6224 }, { 57,6224 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,-635 }, { 66,-635 }, { 67,-635 }, - { 68,-635 }, { 69,6481 }, { 70,-635 }, { 71,-635 }, { 72,-635 }, - { 73,-635 }, { 74,-635 }, { 75,-635 }, { 76,-635 }, { 77,-635 }, - { 78,-635 }, { 79,-635 }, { 80,-635 }, { 81,-635 }, { 82,-635 }, - { 83,-635 }, { 84,-635 }, { 85,-635 }, { 86,-635 }, { 87,-635 }, - { 88,-635 }, { 89,-635 }, { 90,-635 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 95,6522 }, { 0, 0 }, { 97,-635 }, - { 98,-635 }, { 99,-635 }, { 100,-635 }, { 101,6481 }, { 102,-635 }, - { 103,-635 }, { 104,-635 }, { 105,-635 }, { 106,-635 }, { 107,-635 }, - { 108,-635 }, { 109,-635 }, { 110,-635 }, { 111,-635 }, { 112,-635 }, - { 113,-635 }, { 114,-635 }, { 115,-635 }, { 116,-635 }, { 117,-635 }, - { 118,-635 }, { 119,-635 }, { 120,-635 }, { 121,-635 }, { 122,-635 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 128,-635 }, { 129,-635 }, { 130,-635 }, { 131,-635 }, { 132,-635 }, - { 133,-635 }, { 134,-635 }, { 135,-635 }, { 136,-635 }, { 137,-635 }, - { 138,-635 }, { 139,-635 }, { 140,-635 }, { 141,-635 }, { 142,-635 }, - - { 143,-635 }, { 144,-635 }, { 145,-635 }, { 146,-635 }, { 147,-635 }, - { 148,-635 }, { 149,-635 }, { 150,-635 }, { 151,-635 }, { 152,-635 }, - { 153,-635 }, { 154,-635 }, { 155,-635 }, { 156,-635 }, { 157,-635 }, - { 158,-635 }, { 159,-635 }, { 160,-635 }, { 161,-635 }, { 162,-635 }, - { 163,-635 }, { 164,-635 }, { 165,-635 }, { 166,-635 }, { 167,-635 }, - { 168,-635 }, { 169,-635 }, { 170,-635 }, { 171,-635 }, { 172,-635 }, - { 173,-635 }, { 174,-635 }, { 175,-635 }, { 176,-635 }, { 177,-635 }, - { 178,-635 }, { 179,-635 }, { 180,-635 }, { 181,-635 }, { 182,-635 }, - { 183,-635 }, { 184,-635 }, { 185,-635 }, { 186,-635 }, { 187,-635 }, - { 188,-635 }, { 189,-635 }, { 190,-635 }, { 191,-635 }, { 192,-635 }, - - { 193,-635 }, { 194,-635 }, { 195,-635 }, { 196,-635 }, { 197,-635 }, - { 198,-635 }, { 199,-635 }, { 200,-635 }, { 201,-635 }, { 202,-635 }, - { 203,-635 }, { 204,-635 }, { 205,-635 }, { 206,-635 }, { 207,-635 }, - { 208,-635 }, { 209,-635 }, { 210,-635 }, { 211,-635 }, { 212,-635 }, - { 213,-635 }, { 214,-635 }, { 215,-635 }, { 216,-635 }, { 217,-635 }, - { 218,-635 }, { 219,-635 }, { 220,-635 }, { 221,-635 }, { 222,-635 }, - { 223,-635 }, { 224,-635 }, { 225,-635 }, { 226,-635 }, { 227,-635 }, - { 228,-635 }, { 229,-635 }, { 230,-635 }, { 231,-635 }, { 232,-635 }, - { 233,-635 }, { 234,-635 }, { 235,-635 }, { 236,-635 }, { 237,-635 }, - { 238,-635 }, { 239,-635 }, { 240,-635 }, { 241,-635 }, { 242,-635 }, - - { 243,-635 }, { 244,-635 }, { 245,-635 }, { 246,-635 }, { 247,-635 }, - { 248,-635 }, { 249,-635 }, { 250,-635 }, { 251,-635 }, { 252,-635 }, - { 253,-635 }, { 254,-635 }, { 255,-635 }, { 0, 54 }, { 0,14334 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5755 }, { 49,5755 }, + { 50,5755 }, { 51,5755 }, { 52,5755 }, { 53,5755 }, { 54,5755 }, + { 55,5755 }, { 56,5755 }, { 57,5755 }, { 124,5793 }, { 0, 0 }, + { 126,5793 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,5818 }, { 66,5818 }, { 67,5818 }, { 68,5818 }, { 69,5818 }, + { 70,5818 }, { 71,5818 }, { 72,5818 }, { 73,5818 }, { 74,5818 }, + { 75,5818 }, { 76,5818 }, { 77,5818 }, { 78,5818 }, { 79,5818 }, + { 80,5818 }, { 81,5818 }, { 82,5818 }, { 83,5818 }, { 84,5818 }, + { 85,5818 }, { 86,5818 }, { 87,5818 }, { 88,5818 }, { 89,5818 }, + + { 90,5818 }, { 85,11553 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,5818 }, { 0, 0 }, { 97,5818 }, { 98,5818 }, { 99,5818 }, + { 100,5818 }, { 101,5818 }, { 102,5818 }, { 103,5818 }, { 104,5818 }, + { 105,5818 }, { 106,5818 }, { 107,5818 }, { 108,5818 }, { 109,5818 }, + { 110,5818 }, { 111,5818 }, { 112,5818 }, { 113,5818 }, { 114,5818 }, + { 115,5818 }, { 116,5818 }, { 117,5818 }, { 118,5818 }, { 119,5818 }, + { 120,5818 }, { 121,5818 }, { 122,5818 }, { 117,11576 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5818 }, { 129,5818 }, + { 130,5818 }, { 131,5818 }, { 132,5818 }, { 133,5818 }, { 134,5818 }, + { 135,5818 }, { 136,5818 }, { 137,5818 }, { 138,5818 }, { 139,5818 }, + + { 140,5818 }, { 141,5818 }, { 142,5818 }, { 143,5818 }, { 144,5818 }, + { 145,5818 }, { 146,5818 }, { 147,5818 }, { 148,5818 }, { 149,5818 }, + { 150,5818 }, { 151,5818 }, { 152,5818 }, { 153,5818 }, { 154,5818 }, + { 155,5818 }, { 156,5818 }, { 157,5818 }, { 158,5818 }, { 159,5818 }, + { 160,5818 }, { 161,5818 }, { 162,5818 }, { 163,5818 }, { 164,5818 }, + { 165,5818 }, { 166,5818 }, { 167,5818 }, { 168,5818 }, { 169,5818 }, + { 170,5818 }, { 171,5818 }, { 172,5818 }, { 173,5818 }, { 174,5818 }, + { 175,5818 }, { 176,5818 }, { 177,5818 }, { 178,5818 }, { 179,5818 }, + { 180,5818 }, { 181,5818 }, { 182,5818 }, { 183,5818 }, { 184,5818 }, + { 185,5818 }, { 186,5818 }, { 187,5818 }, { 188,5818 }, { 189,5818 }, + + { 190,5818 }, { 191,5818 }, { 192,5818 }, { 193,5818 }, { 194,5818 }, + { 195,5818 }, { 196,5818 }, { 197,5818 }, { 198,5818 }, { 199,5818 }, + { 200,5818 }, { 201,5818 }, { 202,5818 }, { 203,5818 }, { 204,5818 }, + { 205,5818 }, { 206,5818 }, { 207,5818 }, { 208,5818 }, { 209,5818 }, + { 210,5818 }, { 211,5818 }, { 212,5818 }, { 213,5818 }, { 214,5818 }, + { 215,5818 }, { 216,5818 }, { 217,5818 }, { 218,5818 }, { 219,5818 }, + { 220,5818 }, { 221,5818 }, { 222,5818 }, { 223,5818 }, { 224,5818 }, + { 225,5818 }, { 226,5818 }, { 227,5818 }, { 228,5818 }, { 229,5818 }, + { 230,5818 }, { 231,5818 }, { 232,5818 }, { 233,5818 }, { 234,5818 }, + { 235,5818 }, { 236,5818 }, { 237,5818 }, { 238,5818 }, { 239,5818 }, + + { 240,5818 }, { 241,5818 }, { 242,5818 }, { 243,5818 }, { 244,5818 }, + { 245,5818 }, { 246,5818 }, { 247,5818 }, { 248,5818 }, { 249,5818 }, + { 250,5818 }, { 251,5818 }, { 252,5818 }, { 253,5818 }, { 254,5818 }, + { 255,5818 }, { 0, 54 }, { 0,26855 }, { 0, 45 }, { 0,26853 }, + { 0, 12 }, { 0,26851 }, { 0, 0 }, { 0, 0 }, { 0, 8 }, + { 0,26847 }, { 0, 0 }, { 0, 54 }, { 0,26844 }, { 0, 5 }, + { 0,26842 }, { 0, 43 }, { 0,26840 }, { 0, 21 }, { 0,26838 }, + { 0, 19 }, { 0,26836 }, { 0, 18 }, { 0,26834 }, { 0, 29 }, + { 0,26832 }, { 0, 35 }, { 0,26830 }, { 0, 65 }, { 0,26828 }, + { 0, 0 }, { 0, 54 }, { 0,26825 }, { 0, 40 }, { 0,26823 }, + + { 33,5470 }, { 0, 0 }, { 35,5470 }, { 34, 30 }, { 37,5470 }, + { 38,5470 }, { 0, 16 }, { 0,26815 }, { 39, 38 }, { 42,5470 }, + { 43,5470 }, { 33,5459 }, { 45,5470 }, { 35,5459 }, { 47,5470 }, + { 37,5459 }, { 38,5459 }, { 42, 0 }, { 0, 30 }, { 0,26803 }, + { 42,5459 }, { 43,5459 }, { 47, 5 }, { 45,5807 }, { 0, 0 }, + { 47,5459 }, { 0, 0 }, { 60,5470 }, { 61,5470 }, { 62,5470 }, + { 63,5470 }, { 64,5470 }, { 0, 31 }, { 0,26789 }, { 0, 24 }, + { 0,26787 }, { 0, 25 }, { 0,26785 }, { 60,5459 }, { 61,5459 }, + { 62,5459 }, { 63,5459 }, { 64,5459 }, { 46,-277 }, { 0, 0 }, + { 48,6046 }, { 49,6046 }, { 50,6046 }, { 51,6046 }, { 52,6046 }, + + { 53,6046 }, { 54,6046 }, { 55,6046 }, { 56,6046 }, { 57,6046 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94,5470 }, { 0, 0 }, { 96,5470 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,26754 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,5459 }, { 0, 0 }, { 96,5459 }, + { 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 }, { 124,5470 }, { 0, 0 }, { 126,5470 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 57 }, + + { 0,26722 }, { 33,5369 }, { 124,5459 }, { 35,5369 }, { 126,5459 }, + { 37,5369 }, { 38,5369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42,6232 }, { 43,5369 }, { 0, 0 }, { 45,5369 }, { 0, 0 }, + { 47,5369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5369 }, { 61,5369 }, + { 62,5369 }, { 63,5369 }, { 64,5369 }, { 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 }, { 46,6232 }, { 0, 0 }, { 48,6489 }, { 49,6489 }, + + { 50,6489 }, { 51,6489 }, { 52,6489 }, { 53,6489 }, { 54,6489 }, + { 55,6489 }, { 56,6489 }, { 57,6489 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,5369 }, { 0, 0 }, { 96,5369 }, + { 65,6746 }, { 66,7003 }, { 67,6746 }, { 68,6746 }, { 69,7260 }, + { 70,6746 }, { 71,6746 }, { 72,6746 }, { 73,6746 }, { 74,6746 }, + { 75,6746 }, { 76,6746 }, { 77,6746 }, { 78,6746 }, { 79,7517 }, + { 80,6746 }, { 81,6746 }, { 82,6746 }, { 83,6746 }, { 84,6746 }, + { 85,6746 }, { 86,6746 }, { 87,6746 }, { 88,7774 }, { 89,6746 }, + { 90,6746 }, { 0, 0 }, { 124,5369 }, { 0, 0 }, { 126,5369 }, + { 95,8031 }, { 0, 0 }, { 97,6746 }, { 98,7003 }, { 99,6746 }, + + { 100,6746 }, { 101,7260 }, { 102,6746 }, { 103,6746 }, { 104,6746 }, + { 105,6746 }, { 106,6746 }, { 107,6746 }, { 108,6746 }, { 109,6746 }, + { 110,6746 }, { 111,7517 }, { 112,6746 }, { 113,6746 }, { 114,6746 }, + { 115,6746 }, { 116,6746 }, { 117,6746 }, { 118,6746 }, { 119,6746 }, + { 120,7774 }, { 121,6746 }, { 122,6746 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6746 }, { 129,6746 }, + { 130,6746 }, { 131,6746 }, { 132,6746 }, { 133,6746 }, { 134,6746 }, + { 135,6746 }, { 136,6746 }, { 137,6746 }, { 138,6746 }, { 139,6746 }, + { 140,6746 }, { 141,6746 }, { 142,6746 }, { 143,6746 }, { 144,6746 }, + { 145,6746 }, { 146,6746 }, { 147,6746 }, { 148,6746 }, { 149,6746 }, + + { 150,6746 }, { 151,6746 }, { 152,6746 }, { 153,6746 }, { 154,6746 }, + { 155,6746 }, { 156,6746 }, { 157,6746 }, { 158,6746 }, { 159,6746 }, + { 160,6746 }, { 161,6746 }, { 162,6746 }, { 163,6746 }, { 164,6746 }, + { 165,6746 }, { 166,6746 }, { 167,6746 }, { 168,6746 }, { 169,6746 }, + { 170,6746 }, { 171,6746 }, { 172,6746 }, { 173,6746 }, { 174,6746 }, + { 175,6746 }, { 176,6746 }, { 177,6746 }, { 178,6746 }, { 179,6746 }, + { 180,6746 }, { 181,6746 }, { 182,6746 }, { 183,6746 }, { 184,6746 }, + { 185,6746 }, { 186,6746 }, { 187,6746 }, { 188,6746 }, { 189,6746 }, + { 190,6746 }, { 191,6746 }, { 192,6746 }, { 193,6746 }, { 194,6746 }, + { 195,6746 }, { 196,6746 }, { 197,6746 }, { 198,6746 }, { 199,6746 }, + + { 200,6746 }, { 201,6746 }, { 202,6746 }, { 203,6746 }, { 204,6746 }, + { 205,6746 }, { 206,6746 }, { 207,6746 }, { 208,6746 }, { 209,6746 }, + { 210,6746 }, { 211,6746 }, { 212,6746 }, { 213,6746 }, { 214,6746 }, + { 215,6746 }, { 216,6746 }, { 217,6746 }, { 218,6746 }, { 219,6746 }, + { 220,6746 }, { 221,6746 }, { 222,6746 }, { 223,6746 }, { 224,6746 }, + { 225,6746 }, { 226,6746 }, { 227,6746 }, { 228,6746 }, { 229,6746 }, + { 230,6746 }, { 231,6746 }, { 232,6746 }, { 233,6746 }, { 234,6746 }, + { 235,6746 }, { 236,6746 }, { 237,6746 }, { 238,6746 }, { 239,6746 }, + { 240,6746 }, { 241,6746 }, { 242,6746 }, { 243,6746 }, { 244,6746 }, + { 245,6746 }, { 246,6746 }, { 247,6746 }, { 248,6746 }, { 249,6746 }, + + { 250,6746 }, { 251,6746 }, { 252,6746 }, { 253,6746 }, { 254,6746 }, + { 255,6746 }, { 0, 57 }, { 0,26465 }, { 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 }, { 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 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,5975 }, { 0, 0 }, + { 48,6232 }, { 49,6232 }, { 50,6232 }, { 51,6232 }, { 52,6232 }, + { 53,6232 }, { 54,6232 }, { 55,6232 }, { 56,6232 }, { 57,6232 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,6489 }, { 66,6489 }, { 67,6489 }, + { 68,6489 }, { 69,7003 }, { 70,6489 }, { 71,6489 }, { 72,6489 }, + { 73,6489 }, { 74,6489 }, { 75,6489 }, { 76,6489 }, { 77,6489 }, + { 78,6489 }, { 79,6489 }, { 80,6489 }, { 81,6489 }, { 82,6489 }, + { 83,6489 }, { 84,6489 }, { 85,6489 }, { 86,6489 }, { 87,6489 }, + { 88,6489 }, { 89,6489 }, { 90,6489 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 95,7774 }, { 0, 0 }, { 97,6489 }, + { 98,6489 }, { 99,6489 }, { 100,6489 }, { 101,7003 }, { 102,6489 }, + { 103,6489 }, { 104,6489 }, { 105,6489 }, { 106,6489 }, { 107,6489 }, + { 108,6489 }, { 109,6489 }, { 110,6489 }, { 111,6489 }, { 112,6489 }, + { 113,6489 }, { 114,6489 }, { 115,6489 }, { 116,6489 }, { 117,6489 }, + { 118,6489 }, { 119,6489 }, { 120,6489 }, { 121,6489 }, { 122,6489 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6489 }, { 129,6489 }, { 130,6489 }, { 131,6489 }, { 132,6489 }, + { 133,6489 }, { 134,6489 }, { 135,6489 }, { 136,6489 }, { 137,6489 }, + { 138,6489 }, { 139,6489 }, { 140,6489 }, { 141,6489 }, { 142,6489 }, + + { 143,6489 }, { 144,6489 }, { 145,6489 }, { 146,6489 }, { 147,6489 }, + { 148,6489 }, { 149,6489 }, { 150,6489 }, { 151,6489 }, { 152,6489 }, + { 153,6489 }, { 154,6489 }, { 155,6489 }, { 156,6489 }, { 157,6489 }, + { 158,6489 }, { 159,6489 }, { 160,6489 }, { 161,6489 }, { 162,6489 }, + { 163,6489 }, { 164,6489 }, { 165,6489 }, { 166,6489 }, { 167,6489 }, + { 168,6489 }, { 169,6489 }, { 170,6489 }, { 171,6489 }, { 172,6489 }, + { 173,6489 }, { 174,6489 }, { 175,6489 }, { 176,6489 }, { 177,6489 }, + { 178,6489 }, { 179,6489 }, { 180,6489 }, { 181,6489 }, { 182,6489 }, + { 183,6489 }, { 184,6489 }, { 185,6489 }, { 186,6489 }, { 187,6489 }, + { 188,6489 }, { 189,6489 }, { 190,6489 }, { 191,6489 }, { 192,6489 }, + + { 193,6489 }, { 194,6489 }, { 195,6489 }, { 196,6489 }, { 197,6489 }, + { 198,6489 }, { 199,6489 }, { 200,6489 }, { 201,6489 }, { 202,6489 }, + { 203,6489 }, { 204,6489 }, { 205,6489 }, { 206,6489 }, { 207,6489 }, + { 208,6489 }, { 209,6489 }, { 210,6489 }, { 211,6489 }, { 212,6489 }, + { 213,6489 }, { 214,6489 }, { 215,6489 }, { 216,6489 }, { 217,6489 }, + { 218,6489 }, { 219,6489 }, { 220,6489 }, { 221,6489 }, { 222,6489 }, + { 223,6489 }, { 224,6489 }, { 225,6489 }, { 226,6489 }, { 227,6489 }, + { 228,6489 }, { 229,6489 }, { 230,6489 }, { 231,6489 }, { 232,6489 }, + { 233,6489 }, { 234,6489 }, { 235,6489 }, { 236,6489 }, { 237,6489 }, + { 238,6489 }, { 239,6489 }, { 240,6489 }, { 241,6489 }, { 242,6489 }, + + { 243,6489 }, { 244,6489 }, { 245,6489 }, { 246,6489 }, { 247,6489 }, + { 248,6489 }, { 249,6489 }, { 250,6489 }, { 251,6489 }, { 252,6489 }, + { 253,6489 }, { 254,6489 }, { 255,6489 }, { 0, 54 }, { 0,26208 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 54 }, - { 0,14323 }, { 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 }, { 33,4815 }, { 0, 0 }, { 35,4815 }, - - { 0, 0 }, { 37,4815 }, { 38,4815 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 42,4815 }, { 43,4815 }, { 33,4804 }, { 45,4815 }, - { 35,4804 }, { 47,4815 }, { 37,4804 }, { 38,4804 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42,4804 }, { 43,4804 }, { 0, 0 }, - { 45,4804 }, { 0, 0 }, { 47,4804 }, { 0, 0 }, { 60,4815 }, - { 61,6324 }, { 62,6335 }, { 63,4815 }, { 64,4815 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 60,4804 }, { 61,4804 }, { 62,6391 }, { 63,4804 }, { 64,4804 }, - { 0, 0 }, { 0, 54 }, { 0,14256 }, { 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 }, { 94,4815 }, { 0, 0 }, - { 96,4815 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4804 }, - { 0, 0 }, { 96,4804 }, { 0, 0 }, { 0, 74 }, { 0,14224 }, - { 33,4737 }, { 0, 0 }, { 35,4737 }, { 0, 0 }, { 37,4737 }, - { 38,4737 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,4737 }, - { 43,4737 }, { 0, 0 }, { 45,4737 }, { 124,4815 }, { 47,4737 }, - { 126,4815 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,4804 }, - - { 0, 0 }, { 126,4804 }, { 60,4737 }, { 61,6364 }, { 62,4737 }, - { 63,4737 }, { 64,4737 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 36,6398 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,6398 }, { 49,6398 }, { 50,6398 }, - { 51,6398 }, { 52,6398 }, { 53,6398 }, { 54,6398 }, { 55,6398 }, - { 56,6398 }, { 57,6398 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 94,4737 }, { 0, 0 }, { 96,4737 }, { 65,6398 }, - { 66,6398 }, { 67,6398 }, { 68,6398 }, { 69,6398 }, { 70,6398 }, - { 71,6398 }, { 72,6398 }, { 73,6398 }, { 74,6398 }, { 75,6398 }, - - { 76,6398 }, { 77,6398 }, { 78,6398 }, { 79,6398 }, { 80,6398 }, - { 81,6398 }, { 82,6398 }, { 83,6398 }, { 84,6398 }, { 85,6398 }, - { 86,6398 }, { 87,6398 }, { 88,6398 }, { 89,6398 }, { 90,6398 }, - { 0, 0 }, { 124,4737 }, { 0, 0 }, { 126,4737 }, { 95,6398 }, - { 0, 0 }, { 97,6398 }, { 98,6398 }, { 99,6398 }, { 100,6398 }, - { 101,6398 }, { 102,6398 }, { 103,6398 }, { 104,6398 }, { 105,6398 }, - { 106,6398 }, { 107,6398 }, { 108,6398 }, { 109,6398 }, { 110,6398 }, - { 111,6398 }, { 112,6398 }, { 113,6398 }, { 114,6398 }, { 115,6398 }, - { 116,6398 }, { 117,6398 }, { 118,6398 }, { 119,6398 }, { 120,6398 }, - { 121,6398 }, { 122,6398 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 128,6398 }, { 129,6398 }, { 130,6398 }, - { 131,6398 }, { 132,6398 }, { 133,6398 }, { 134,6398 }, { 135,6398 }, - { 136,6398 }, { 137,6398 }, { 138,6398 }, { 139,6398 }, { 140,6398 }, - { 141,6398 }, { 142,6398 }, { 143,6398 }, { 144,6398 }, { 145,6398 }, - { 146,6398 }, { 147,6398 }, { 148,6398 }, { 149,6398 }, { 150,6398 }, - { 151,6398 }, { 152,6398 }, { 153,6398 }, { 154,6398 }, { 155,6398 }, - { 156,6398 }, { 157,6398 }, { 158,6398 }, { 159,6398 }, { 160,6398 }, - { 161,6398 }, { 162,6398 }, { 163,6398 }, { 164,6398 }, { 165,6398 }, - { 166,6398 }, { 167,6398 }, { 168,6398 }, { 169,6398 }, { 170,6398 }, - { 171,6398 }, { 172,6398 }, { 173,6398 }, { 174,6398 }, { 175,6398 }, - - { 176,6398 }, { 177,6398 }, { 178,6398 }, { 179,6398 }, { 180,6398 }, - { 181,6398 }, { 182,6398 }, { 183,6398 }, { 184,6398 }, { 185,6398 }, - { 186,6398 }, { 187,6398 }, { 188,6398 }, { 189,6398 }, { 190,6398 }, - { 191,6398 }, { 192,6398 }, { 193,6398 }, { 194,6398 }, { 195,6398 }, - { 196,6398 }, { 197,6398 }, { 198,6398 }, { 199,6398 }, { 200,6398 }, - { 201,6398 }, { 202,6398 }, { 203,6398 }, { 204,6398 }, { 205,6398 }, - { 206,6398 }, { 207,6398 }, { 208,6398 }, { 209,6398 }, { 210,6398 }, - { 211,6398 }, { 212,6398 }, { 213,6398 }, { 214,6398 }, { 215,6398 }, - { 216,6398 }, { 217,6398 }, { 218,6398 }, { 219,6398 }, { 220,6398 }, - { 221,6398 }, { 222,6398 }, { 223,6398 }, { 224,6398 }, { 225,6398 }, - - { 226,6398 }, { 227,6398 }, { 228,6398 }, { 229,6398 }, { 230,6398 }, - { 231,6398 }, { 232,6398 }, { 233,6398 }, { 234,6398 }, { 235,6398 }, - { 236,6398 }, { 237,6398 }, { 238,6398 }, { 239,6398 }, { 240,6398 }, - { 241,6398 }, { 242,6398 }, { 243,6398 }, { 244,6398 }, { 245,6398 }, - { 246,6398 }, { 247,6398 }, { 248,6398 }, { 249,6398 }, { 250,6398 }, - { 251,6398 }, { 252,6398 }, { 253,6398 }, { 254,6398 }, { 255,6398 }, - { 0, 74 }, { 0,13967 }, { 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 }, { 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 }, { 36,6141 }, { 0, 0 }, { 0, 0 }, - { 39,-1006 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,6141 }, - { 49,6141 }, { 50,6141 }, { 51,6141 }, { 52,6141 }, { 53,6141 }, - { 54,6141 }, { 55,6141 }, { 56,6141 }, { 57,6141 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,6141 }, { 66,6141 }, { 67,6141 }, { 68,6141 }, - - { 69,6141 }, { 70,6141 }, { 71,6141 }, { 72,6141 }, { 73,6141 }, - { 74,6141 }, { 75,6141 }, { 76,6141 }, { 77,6141 }, { 78,6141 }, - { 79,6141 }, { 80,6141 }, { 81,6141 }, { 82,6141 }, { 83,6141 }, - { 84,6141 }, { 85,6141 }, { 86,6141 }, { 87,6141 }, { 88,6141 }, - { 89,6141 }, { 90,6141 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95,6141 }, { 0, 0 }, { 97,6141 }, { 98,6141 }, - { 99,6141 }, { 100,6141 }, { 101,6141 }, { 102,6141 }, { 103,6141 }, - { 104,6141 }, { 105,6141 }, { 106,6141 }, { 107,6141 }, { 108,6141 }, - { 109,6141 }, { 110,6141 }, { 111,6141 }, { 112,6141 }, { 113,6141 }, - { 114,6141 }, { 115,6141 }, { 116,6141 }, { 117,6141 }, { 118,6141 }, - - { 119,6141 }, { 120,6141 }, { 121,6141 }, { 122,6141 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6141 }, - { 129,6141 }, { 130,6141 }, { 131,6141 }, { 132,6141 }, { 133,6141 }, - { 134,6141 }, { 135,6141 }, { 136,6141 }, { 137,6141 }, { 138,6141 }, - { 139,6141 }, { 140,6141 }, { 141,6141 }, { 142,6141 }, { 143,6141 }, - { 144,6141 }, { 145,6141 }, { 146,6141 }, { 147,6141 }, { 148,6141 }, - { 149,6141 }, { 150,6141 }, { 151,6141 }, { 152,6141 }, { 153,6141 }, - { 154,6141 }, { 155,6141 }, { 156,6141 }, { 157,6141 }, { 158,6141 }, - { 159,6141 }, { 160,6141 }, { 161,6141 }, { 162,6141 }, { 163,6141 }, - { 164,6141 }, { 165,6141 }, { 166,6141 }, { 167,6141 }, { 168,6141 }, - - { 169,6141 }, { 170,6141 }, { 171,6141 }, { 172,6141 }, { 173,6141 }, - { 174,6141 }, { 175,6141 }, { 176,6141 }, { 177,6141 }, { 178,6141 }, - { 179,6141 }, { 180,6141 }, { 181,6141 }, { 182,6141 }, { 183,6141 }, - { 184,6141 }, { 185,6141 }, { 186,6141 }, { 187,6141 }, { 188,6141 }, - { 189,6141 }, { 190,6141 }, { 191,6141 }, { 192,6141 }, { 193,6141 }, - { 194,6141 }, { 195,6141 }, { 196,6141 }, { 197,6141 }, { 198,6141 }, - { 199,6141 }, { 200,6141 }, { 201,6141 }, { 202,6141 }, { 203,6141 }, - { 204,6141 }, { 205,6141 }, { 206,6141 }, { 207,6141 }, { 208,6141 }, - { 209,6141 }, { 210,6141 }, { 211,6141 }, { 212,6141 }, { 213,6141 }, - { 214,6141 }, { 215,6141 }, { 216,6141 }, { 217,6141 }, { 218,6141 }, - - { 219,6141 }, { 220,6141 }, { 221,6141 }, { 222,6141 }, { 223,6141 }, - { 224,6141 }, { 225,6141 }, { 226,6141 }, { 227,6141 }, { 228,6141 }, - { 229,6141 }, { 230,6141 }, { 231,6141 }, { 232,6141 }, { 233,6141 }, - { 234,6141 }, { 235,6141 }, { 236,6141 }, { 237,6141 }, { 238,6141 }, - { 239,6141 }, { 240,6141 }, { 241,6141 }, { 242,6141 }, { 243,6141 }, - { 244,6141 }, { 245,6141 }, { 246,6141 }, { 247,6141 }, { 248,6141 }, - { 249,6141 }, { 250,6141 }, { 251,6141 }, { 252,6141 }, { 253,6141 }, - { 254,6141 }, { 255,6141 }, { 0, 74 }, { 0,13710 }, { 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 }, - { 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 }, { 36,5884 }, - { 0, 0 }, { 0, 0 }, { 39,-1258 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48,5884 }, { 49,5884 }, { 50,5884 }, { 51,5884 }, - { 52,5884 }, { 53,5884 }, { 54,5884 }, { 55,5884 }, { 56,5884 }, - { 57,5884 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5884 }, { 66,5884 }, - { 67,5884 }, { 68,5884 }, { 69,5884 }, { 70,5884 }, { 71,5884 }, - { 72,5884 }, { 73,5884 }, { 74,5884 }, { 75,5884 }, { 76,5884 }, - { 77,5884 }, { 78,5884 }, { 79,5884 }, { 80,5884 }, { 81,5884 }, - { 82,5884 }, { 83,5884 }, { 84,5884 }, { 85,5884 }, { 86,5884 }, - { 87,5884 }, { 88,5884 }, { 89,5884 }, { 90,5884 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5884 }, { 0, 0 }, - { 97,5884 }, { 98,5884 }, { 99,5884 }, { 100,5884 }, { 101,5884 }, - { 102,5884 }, { 103,5884 }, { 104,5884 }, { 105,5884 }, { 106,5884 }, - { 107,5884 }, { 108,5884 }, { 109,5884 }, { 110,5884 }, { 111,5884 }, - - { 112,5884 }, { 113,5884 }, { 114,5884 }, { 115,5884 }, { 116,5884 }, - { 117,5884 }, { 118,5884 }, { 119,5884 }, { 120,5884 }, { 121,5884 }, - { 122,5884 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128,5884 }, { 129,5884 }, { 130,5884 }, { 131,5884 }, - { 132,5884 }, { 133,5884 }, { 134,5884 }, { 135,5884 }, { 136,5884 }, - { 137,5884 }, { 138,5884 }, { 139,5884 }, { 140,5884 }, { 141,5884 }, - { 142,5884 }, { 143,5884 }, { 144,5884 }, { 145,5884 }, { 146,5884 }, - { 147,5884 }, { 148,5884 }, { 149,5884 }, { 150,5884 }, { 151,5884 }, - { 152,5884 }, { 153,5884 }, { 154,5884 }, { 155,5884 }, { 156,5884 }, - { 157,5884 }, { 158,5884 }, { 159,5884 }, { 160,5884 }, { 161,5884 }, - - { 162,5884 }, { 163,5884 }, { 164,5884 }, { 165,5884 }, { 166,5884 }, - { 167,5884 }, { 168,5884 }, { 169,5884 }, { 170,5884 }, { 171,5884 }, - { 172,5884 }, { 173,5884 }, { 174,5884 }, { 175,5884 }, { 176,5884 }, - { 177,5884 }, { 178,5884 }, { 179,5884 }, { 180,5884 }, { 181,5884 }, - { 182,5884 }, { 183,5884 }, { 184,5884 }, { 185,5884 }, { 186,5884 }, - { 187,5884 }, { 188,5884 }, { 189,5884 }, { 190,5884 }, { 191,5884 }, - { 192,5884 }, { 193,5884 }, { 194,5884 }, { 195,5884 }, { 196,5884 }, - { 197,5884 }, { 198,5884 }, { 199,5884 }, { 200,5884 }, { 201,5884 }, - { 202,5884 }, { 203,5884 }, { 204,5884 }, { 205,5884 }, { 206,5884 }, - { 207,5884 }, { 208,5884 }, { 209,5884 }, { 210,5884 }, { 211,5884 }, - - { 212,5884 }, { 213,5884 }, { 214,5884 }, { 215,5884 }, { 216,5884 }, - { 217,5884 }, { 218,5884 }, { 219,5884 }, { 220,5884 }, { 221,5884 }, - { 222,5884 }, { 223,5884 }, { 224,5884 }, { 225,5884 }, { 226,5884 }, - { 227,5884 }, { 228,5884 }, { 229,5884 }, { 230,5884 }, { 231,5884 }, - { 232,5884 }, { 233,5884 }, { 234,5884 }, { 235,5884 }, { 236,5884 }, - { 237,5884 }, { 238,5884 }, { 239,5884 }, { 240,5884 }, { 241,5884 }, - { 242,5884 }, { 243,5884 }, { 244,5884 }, { 245,5884 }, { 246,5884 }, - { 247,5884 }, { 248,5884 }, { 249,5884 }, { 250,5884 }, { 251,5884 }, - { 252,5884 }, { 253,5884 }, { 254,5884 }, { 255,5884 }, { 0, 74 }, - { 0,13453 }, { 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 }, { 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 }, { 36,5627 }, { 0, 0 }, { 0, 0 }, { 39,-1513 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5627 }, { 49,5627 }, - { 50,5627 }, { 51,5627 }, { 52,5627 }, { 53,5627 }, { 54,5627 }, - - { 55,5627 }, { 56,5627 }, { 57,5627 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,5627 }, { 66,5627 }, { 67,5627 }, { 68,5627 }, { 69,5627 }, - { 70,5627 }, { 71,5627 }, { 72,5627 }, { 73,5627 }, { 74,5627 }, - { 75,5627 }, { 76,5627 }, { 77,5627 }, { 78,5627 }, { 79,5627 }, - { 80,5627 }, { 81,5627 }, { 82,5627 }, { 83,5627 }, { 84,5627 }, - { 85,5627 }, { 86,5627 }, { 87,5627 }, { 88,5627 }, { 89,5627 }, - { 90,5627 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,5627 }, { 0, 0 }, { 97,5627 }, { 98,5627 }, { 99,5627 }, - { 100,5627 }, { 101,5627 }, { 102,5627 }, { 103,5627 }, { 104,5627 }, + { 0,26197 }, { 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 }, { 33,4823 }, { 0, 0 }, { 35,4823 }, + + { 0, 0 }, { 37,4823 }, { 38,4823 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42,4823 }, { 43,4823 }, { 33,4812 }, { 45,4823 }, + { 35,4812 }, { 47,4823 }, { 37,4812 }, { 38,4812 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,4812 }, { 43,4812 }, { 0, 0 }, + { 45,4812 }, { 0, 0 }, { 47,4812 }, { 0, 0 }, { 60,4823 }, + { 61,7774 }, { 62,7785 }, { 63,4823 }, { 64,4823 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 60,4812 }, { 61,4812 }, { 62,7841 }, { 63,4812 }, { 64,4812 }, + { 0, 0 }, { 0, 54 }, { 0,26130 }, { 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 }, { 94,4823 }, { 0, 0 }, + { 96,4823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4812 }, + { 0, 0 }, { 96,4812 }, { 0, 0 }, { 0, 71 }, { 0,26098 }, + { 33,4745 }, { 0, 0 }, { 35,4745 }, { 0, 0 }, { 37,4745 }, + { 38,4745 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,4745 }, + { 43,4745 }, { 0, 0 }, { 45,4745 }, { 124,4823 }, { 47,4745 }, + { 126,4823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,4812 }, + + { 0, 0 }, { 126,4812 }, { 60,4745 }, { 61,7814 }, { 62,4745 }, + { 63,4745 }, { 64,4745 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,7848 }, { 49,7848 }, { 50,7848 }, + { 51,7848 }, { 52,7848 }, { 53,7848 }, { 54,7848 }, { 55,7848 }, + { 56,7848 }, { 57,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94,4745 }, { 0, 0 }, { 96,4745 }, { 65,7848 }, + { 66,7848 }, { 67,7848 }, { 68,7848 }, { 69,7848 }, { 70,7848 }, + { 71,7848 }, { 72,7848 }, { 73,7848 }, { 74,7848 }, { 75,7848 }, + + { 76,7848 }, { 77,7848 }, { 78,7848 }, { 79,7848 }, { 80,7848 }, + { 81,7848 }, { 82,7848 }, { 83,7848 }, { 84,7848 }, { 85,7848 }, + { 86,7848 }, { 87,7848 }, { 88,7848 }, { 89,7848 }, { 90,7848 }, + { 0, 0 }, { 124,4745 }, { 0, 0 }, { 126,4745 }, { 95,7848 }, + { 0, 0 }, { 97,7848 }, { 98,7848 }, { 99,7848 }, { 100,7848 }, + { 101,7848 }, { 102,7848 }, { 103,7848 }, { 104,7848 }, { 105,7848 }, + { 106,7848 }, { 107,7848 }, { 108,7848 }, { 109,7848 }, { 110,7848 }, + { 111,7848 }, { 112,7848 }, { 113,7848 }, { 114,7848 }, { 115,7848 }, + { 116,7848 }, { 117,7848 }, { 118,7848 }, { 119,7848 }, { 120,7848 }, + { 121,7848 }, { 122,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128,7848 }, { 129,7848 }, { 130,7848 }, + { 131,7848 }, { 132,7848 }, { 133,7848 }, { 134,7848 }, { 135,7848 }, + { 136,7848 }, { 137,7848 }, { 138,7848 }, { 139,7848 }, { 140,7848 }, + { 141,7848 }, { 142,7848 }, { 143,7848 }, { 144,7848 }, { 145,7848 }, + { 146,7848 }, { 147,7848 }, { 148,7848 }, { 149,7848 }, { 150,7848 }, + { 151,7848 }, { 152,7848 }, { 153,7848 }, { 154,7848 }, { 155,7848 }, + { 156,7848 }, { 157,7848 }, { 158,7848 }, { 159,7848 }, { 160,7848 }, + { 161,7848 }, { 162,7848 }, { 163,7848 }, { 164,7848 }, { 165,7848 }, + { 166,7848 }, { 167,7848 }, { 168,7848 }, { 169,7848 }, { 170,7848 }, + { 171,7848 }, { 172,7848 }, { 173,7848 }, { 174,7848 }, { 175,7848 }, + + { 176,7848 }, { 177,7848 }, { 178,7848 }, { 179,7848 }, { 180,7848 }, + { 181,7848 }, { 182,7848 }, { 183,7848 }, { 184,7848 }, { 185,7848 }, + { 186,7848 }, { 187,7848 }, { 188,7848 }, { 189,7848 }, { 190,7848 }, + { 191,7848 }, { 192,7848 }, { 193,7848 }, { 194,7848 }, { 195,7848 }, + { 196,7848 }, { 197,7848 }, { 198,7848 }, { 199,7848 }, { 200,7848 }, + { 201,7848 }, { 202,7848 }, { 203,7848 }, { 204,7848 }, { 205,7848 }, + { 206,7848 }, { 207,7848 }, { 208,7848 }, { 209,7848 }, { 210,7848 }, + { 211,7848 }, { 212,7848 }, { 213,7848 }, { 214,7848 }, { 215,7848 }, + { 216,7848 }, { 217,7848 }, { 218,7848 }, { 219,7848 }, { 220,7848 }, + { 221,7848 }, { 222,7848 }, { 223,7848 }, { 224,7848 }, { 225,7848 }, + + { 226,7848 }, { 227,7848 }, { 228,7848 }, { 229,7848 }, { 230,7848 }, + { 231,7848 }, { 232,7848 }, { 233,7848 }, { 234,7848 }, { 235,7848 }, + { 236,7848 }, { 237,7848 }, { 238,7848 }, { 239,7848 }, { 240,7848 }, + { 241,7848 }, { 242,7848 }, { 243,7848 }, { 244,7848 }, { 245,7848 }, + { 246,7848 }, { 247,7848 }, { 248,7848 }, { 249,7848 }, { 250,7848 }, + { 251,7848 }, { 252,7848 }, { 253,7848 }, { 254,7848 }, { 255,7848 }, + { 0, 71 }, { 0,25841 }, { 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 }, { 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 }, { 36,7591 }, { 0, 0 }, { 0, 0 }, + { 39,-1255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7591 }, + { 49,7591 }, { 50,7591 }, { 51,7591 }, { 52,7591 }, { 53,7591 }, + { 54,7591 }, { 55,7591 }, { 56,7591 }, { 57,7591 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,7591 }, { 66,7591 }, { 67,7591 }, { 68,7591 }, + + { 69,7591 }, { 70,7591 }, { 71,7591 }, { 72,7591 }, { 73,7591 }, + { 74,7591 }, { 75,7591 }, { 76,7591 }, { 77,7591 }, { 78,7591 }, + { 79,7591 }, { 80,7591 }, { 81,7591 }, { 82,7591 }, { 83,7591 }, + { 84,7591 }, { 85,7591 }, { 86,7591 }, { 87,7591 }, { 88,7591 }, + { 89,7591 }, { 90,7591 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,7591 }, { 0, 0 }, { 97,7591 }, { 98,7591 }, + { 99,7591 }, { 100,7591 }, { 101,7591 }, { 102,7591 }, { 103,7591 }, + { 104,7591 }, { 105,7591 }, { 106,7591 }, { 107,7591 }, { 108,7591 }, + { 109,7591 }, { 110,7591 }, { 111,7591 }, { 112,7591 }, { 113,7591 }, + { 114,7591 }, { 115,7591 }, { 116,7591 }, { 117,7591 }, { 118,7591 }, + + { 119,7591 }, { 120,7591 }, { 121,7591 }, { 122,7591 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,7591 }, + { 129,7591 }, { 130,7591 }, { 131,7591 }, { 132,7591 }, { 133,7591 }, + { 134,7591 }, { 135,7591 }, { 136,7591 }, { 137,7591 }, { 138,7591 }, + { 139,7591 }, { 140,7591 }, { 141,7591 }, { 142,7591 }, { 143,7591 }, + { 144,7591 }, { 145,7591 }, { 146,7591 }, { 147,7591 }, { 148,7591 }, + { 149,7591 }, { 150,7591 }, { 151,7591 }, { 152,7591 }, { 153,7591 }, + { 154,7591 }, { 155,7591 }, { 156,7591 }, { 157,7591 }, { 158,7591 }, + { 159,7591 }, { 160,7591 }, { 161,7591 }, { 162,7591 }, { 163,7591 }, + { 164,7591 }, { 165,7591 }, { 166,7591 }, { 167,7591 }, { 168,7591 }, + + { 169,7591 }, { 170,7591 }, { 171,7591 }, { 172,7591 }, { 173,7591 }, + { 174,7591 }, { 175,7591 }, { 176,7591 }, { 177,7591 }, { 178,7591 }, + { 179,7591 }, { 180,7591 }, { 181,7591 }, { 182,7591 }, { 183,7591 }, + { 184,7591 }, { 185,7591 }, { 186,7591 }, { 187,7591 }, { 188,7591 }, + { 189,7591 }, { 190,7591 }, { 191,7591 }, { 192,7591 }, { 193,7591 }, + { 194,7591 }, { 195,7591 }, { 196,7591 }, { 197,7591 }, { 198,7591 }, + { 199,7591 }, { 200,7591 }, { 201,7591 }, { 202,7591 }, { 203,7591 }, + { 204,7591 }, { 205,7591 }, { 206,7591 }, { 207,7591 }, { 208,7591 }, + { 209,7591 }, { 210,7591 }, { 211,7591 }, { 212,7591 }, { 213,7591 }, + { 214,7591 }, { 215,7591 }, { 216,7591 }, { 217,7591 }, { 218,7591 }, + + { 219,7591 }, { 220,7591 }, { 221,7591 }, { 222,7591 }, { 223,7591 }, + { 224,7591 }, { 225,7591 }, { 226,7591 }, { 227,7591 }, { 228,7591 }, + { 229,7591 }, { 230,7591 }, { 231,7591 }, { 232,7591 }, { 233,7591 }, + { 234,7591 }, { 235,7591 }, { 236,7591 }, { 237,7591 }, { 238,7591 }, + { 239,7591 }, { 240,7591 }, { 241,7591 }, { 242,7591 }, { 243,7591 }, + { 244,7591 }, { 245,7591 }, { 246,7591 }, { 247,7591 }, { 248,7591 }, + { 249,7591 }, { 250,7591 }, { 251,7591 }, { 252,7591 }, { 253,7591 }, + { 254,7591 }, { 255,7591 }, { 0, 71 }, { 0,25584 }, { 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 }, + { 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 }, { 36,7334 }, + { 0, 0 }, { 0, 0 }, { 39,-1506 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,7334 }, { 49,7334 }, { 50,7334 }, { 51,7334 }, + { 52,7334 }, { 53,7334 }, { 54,7334 }, { 55,7334 }, { 56,7334 }, + { 57,7334 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,7334 }, { 66,7334 }, + { 67,7334 }, { 68,7334 }, { 69,7334 }, { 70,7334 }, { 71,7334 }, + { 72,7334 }, { 73,7334 }, { 74,7334 }, { 75,7334 }, { 76,7334 }, + { 77,7334 }, { 78,7334 }, { 79,7334 }, { 80,7334 }, { 81,7334 }, + { 82,7334 }, { 83,7334 }, { 84,7334 }, { 85,7334 }, { 86,7334 }, + { 87,7334 }, { 88,7334 }, { 89,7334 }, { 90,7334 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,7334 }, { 0, 0 }, + { 97,7334 }, { 98,7334 }, { 99,7334 }, { 100,7334 }, { 101,7334 }, + { 102,7334 }, { 103,7334 }, { 104,7334 }, { 105,7334 }, { 106,7334 }, + { 107,7334 }, { 108,7334 }, { 109,7334 }, { 110,7334 }, { 111,7334 }, + + { 112,7334 }, { 113,7334 }, { 114,7334 }, { 115,7334 }, { 116,7334 }, + { 117,7334 }, { 118,7334 }, { 119,7334 }, { 120,7334 }, { 121,7334 }, + { 122,7334 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,7334 }, { 129,7334 }, { 130,7334 }, { 131,7334 }, + { 132,7334 }, { 133,7334 }, { 134,7334 }, { 135,7334 }, { 136,7334 }, + { 137,7334 }, { 138,7334 }, { 139,7334 }, { 140,7334 }, { 141,7334 }, + { 142,7334 }, { 143,7334 }, { 144,7334 }, { 145,7334 }, { 146,7334 }, + { 147,7334 }, { 148,7334 }, { 149,7334 }, { 150,7334 }, { 151,7334 }, + { 152,7334 }, { 153,7334 }, { 154,7334 }, { 155,7334 }, { 156,7334 }, + { 157,7334 }, { 158,7334 }, { 159,7334 }, { 160,7334 }, { 161,7334 }, + + { 162,7334 }, { 163,7334 }, { 164,7334 }, { 165,7334 }, { 166,7334 }, + { 167,7334 }, { 168,7334 }, { 169,7334 }, { 170,7334 }, { 171,7334 }, + { 172,7334 }, { 173,7334 }, { 174,7334 }, { 175,7334 }, { 176,7334 }, + { 177,7334 }, { 178,7334 }, { 179,7334 }, { 180,7334 }, { 181,7334 }, + { 182,7334 }, { 183,7334 }, { 184,7334 }, { 185,7334 }, { 186,7334 }, + { 187,7334 }, { 188,7334 }, { 189,7334 }, { 190,7334 }, { 191,7334 }, + { 192,7334 }, { 193,7334 }, { 194,7334 }, { 195,7334 }, { 196,7334 }, + { 197,7334 }, { 198,7334 }, { 199,7334 }, { 200,7334 }, { 201,7334 }, + { 202,7334 }, { 203,7334 }, { 204,7334 }, { 205,7334 }, { 206,7334 }, + { 207,7334 }, { 208,7334 }, { 209,7334 }, { 210,7334 }, { 211,7334 }, + + { 212,7334 }, { 213,7334 }, { 214,7334 }, { 215,7334 }, { 216,7334 }, + { 217,7334 }, { 218,7334 }, { 219,7334 }, { 220,7334 }, { 221,7334 }, + { 222,7334 }, { 223,7334 }, { 224,7334 }, { 225,7334 }, { 226,7334 }, + { 227,7334 }, { 228,7334 }, { 229,7334 }, { 230,7334 }, { 231,7334 }, + { 232,7334 }, { 233,7334 }, { 234,7334 }, { 235,7334 }, { 236,7334 }, + { 237,7334 }, { 238,7334 }, { 239,7334 }, { 240,7334 }, { 241,7334 }, + { 242,7334 }, { 243,7334 }, { 244,7334 }, { 245,7334 }, { 246,7334 }, + { 247,7334 }, { 248,7334 }, { 249,7334 }, { 250,7334 }, { 251,7334 }, + { 252,7334 }, { 253,7334 }, { 254,7334 }, { 255,7334 }, { 0, 71 }, + { 0,25327 }, { 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 }, { 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 }, { 36,7077 }, { 0, 0 }, { 0, 0 }, { 39,-1761 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7077 }, { 49,7077 }, + { 50,7077 }, { 51,7077 }, { 52,7077 }, { 53,7077 }, { 54,7077 }, + + { 55,7077 }, { 56,7077 }, { 57,7077 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,7077 }, { 66,7077 }, { 67,7077 }, { 68,7077 }, { 69,7077 }, + { 70,7077 }, { 71,7077 }, { 72,7077 }, { 73,7077 }, { 74,7077 }, + { 75,7077 }, { 76,7077 }, { 77,7077 }, { 78,7077 }, { 79,7077 }, + { 80,7077 }, { 81,7077 }, { 82,7077 }, { 83,7077 }, { 84,7077 }, + { 85,7077 }, { 86,7077 }, { 87,7077 }, { 88,7077 }, { 89,7077 }, + { 90,7077 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,7077 }, { 0, 0 }, { 97,7077 }, { 98,7077 }, { 99,7077 }, + { 100,7077 }, { 101,7077 }, { 102,7077 }, { 103,7077 }, { 104,7077 }, - { 105,5627 }, { 106,5627 }, { 107,5627 }, { 108,5627 }, { 109,5627 }, - { 110,5627 }, { 111,5627 }, { 112,5627 }, { 113,5627 }, { 114,5627 }, - { 115,5627 }, { 116,5627 }, { 117,5627 }, { 118,5627 }, { 119,5627 }, - { 120,5627 }, { 121,5627 }, { 122,5627 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5627 }, { 129,5627 }, - { 130,5627 }, { 131,5627 }, { 132,5627 }, { 133,5627 }, { 134,5627 }, - { 135,5627 }, { 136,5627 }, { 137,5627 }, { 138,5627 }, { 139,5627 }, - { 140,5627 }, { 141,5627 }, { 142,5627 }, { 143,5627 }, { 144,5627 }, - { 145,5627 }, { 146,5627 }, { 147,5627 }, { 148,5627 }, { 149,5627 }, - { 150,5627 }, { 151,5627 }, { 152,5627 }, { 153,5627 }, { 154,5627 }, + { 105,7077 }, { 106,7077 }, { 107,7077 }, { 108,7077 }, { 109,7077 }, + { 110,7077 }, { 111,7077 }, { 112,7077 }, { 113,7077 }, { 114,7077 }, + { 115,7077 }, { 116,7077 }, { 117,7077 }, { 118,7077 }, { 119,7077 }, + { 120,7077 }, { 121,7077 }, { 122,7077 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,7077 }, { 129,7077 }, + { 130,7077 }, { 131,7077 }, { 132,7077 }, { 133,7077 }, { 134,7077 }, + { 135,7077 }, { 136,7077 }, { 137,7077 }, { 138,7077 }, { 139,7077 }, + { 140,7077 }, { 141,7077 }, { 142,7077 }, { 143,7077 }, { 144,7077 }, + { 145,7077 }, { 146,7077 }, { 147,7077 }, { 148,7077 }, { 149,7077 }, + { 150,7077 }, { 151,7077 }, { 152,7077 }, { 153,7077 }, { 154,7077 }, - { 155,5627 }, { 156,5627 }, { 157,5627 }, { 158,5627 }, { 159,5627 }, - { 160,5627 }, { 161,5627 }, { 162,5627 }, { 163,5627 }, { 164,5627 }, - { 165,5627 }, { 166,5627 }, { 167,5627 }, { 168,5627 }, { 169,5627 }, - { 170,5627 }, { 171,5627 }, { 172,5627 }, { 173,5627 }, { 174,5627 }, - { 175,5627 }, { 176,5627 }, { 177,5627 }, { 178,5627 }, { 179,5627 }, - { 180,5627 }, { 181,5627 }, { 182,5627 }, { 183,5627 }, { 184,5627 }, - { 185,5627 }, { 186,5627 }, { 187,5627 }, { 188,5627 }, { 189,5627 }, - { 190,5627 }, { 191,5627 }, { 192,5627 }, { 193,5627 }, { 194,5627 }, - { 195,5627 }, { 196,5627 }, { 197,5627 }, { 198,5627 }, { 199,5627 }, - { 200,5627 }, { 201,5627 }, { 202,5627 }, { 203,5627 }, { 204,5627 }, + { 155,7077 }, { 156,7077 }, { 157,7077 }, { 158,7077 }, { 159,7077 }, + { 160,7077 }, { 161,7077 }, { 162,7077 }, { 163,7077 }, { 164,7077 }, + { 165,7077 }, { 166,7077 }, { 167,7077 }, { 168,7077 }, { 169,7077 }, + { 170,7077 }, { 171,7077 }, { 172,7077 }, { 173,7077 }, { 174,7077 }, + { 175,7077 }, { 176,7077 }, { 177,7077 }, { 178,7077 }, { 179,7077 }, + { 180,7077 }, { 181,7077 }, { 182,7077 }, { 183,7077 }, { 184,7077 }, + { 185,7077 }, { 186,7077 }, { 187,7077 }, { 188,7077 }, { 189,7077 }, + { 190,7077 }, { 191,7077 }, { 192,7077 }, { 193,7077 }, { 194,7077 }, + { 195,7077 }, { 196,7077 }, { 197,7077 }, { 198,7077 }, { 199,7077 }, + { 200,7077 }, { 201,7077 }, { 202,7077 }, { 203,7077 }, { 204,7077 }, - { 205,5627 }, { 206,5627 }, { 207,5627 }, { 208,5627 }, { 209,5627 }, - { 210,5627 }, { 211,5627 }, { 212,5627 }, { 213,5627 }, { 214,5627 }, - { 215,5627 }, { 216,5627 }, { 217,5627 }, { 218,5627 }, { 219,5627 }, - { 220,5627 }, { 221,5627 }, { 222,5627 }, { 223,5627 }, { 224,5627 }, - { 225,5627 }, { 226,5627 }, { 227,5627 }, { 228,5627 }, { 229,5627 }, - { 230,5627 }, { 231,5627 }, { 232,5627 }, { 233,5627 }, { 234,5627 }, - { 235,5627 }, { 236,5627 }, { 237,5627 }, { 238,5627 }, { 239,5627 }, - { 240,5627 }, { 241,5627 }, { 242,5627 }, { 243,5627 }, { 244,5627 }, - { 245,5627 }, { 246,5627 }, { 247,5627 }, { 248,5627 }, { 249,5627 }, - { 250,5627 }, { 251,5627 }, { 252,5627 }, { 253,5627 }, { 254,5627 }, - - { 255,5627 }, { 0, 74 }, { 0,13196 }, { 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 }, { 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 }, { 36,5370 }, { 0, 0 }, - { 38,-1767 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 48,5370 }, { 49,5370 }, { 50,5370 }, { 51,5370 }, { 52,5370 }, - { 53,5370 }, { 54,5370 }, { 55,5370 }, { 56,5370 }, { 57,5370 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,5370 }, { 66,5370 }, { 67,5370 }, - { 68,5370 }, { 69,5370 }, { 70,5370 }, { 71,5370 }, { 72,5370 }, - { 73,5370 }, { 74,5370 }, { 75,5370 }, { 76,5370 }, { 77,5370 }, - { 78,5370 }, { 79,5370 }, { 80,5370 }, { 81,5370 }, { 82,5370 }, - { 83,5370 }, { 84,5370 }, { 85,5370 }, { 86,5370 }, { 87,5370 }, - { 88,5370 }, { 89,5370 }, { 90,5370 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 95,5370 }, { 0, 0 }, { 97,5370 }, - - { 98,5370 }, { 99,5370 }, { 100,5370 }, { 101,5370 }, { 102,5370 }, - { 103,5370 }, { 104,5370 }, { 105,5370 }, { 106,5370 }, { 107,5370 }, - { 108,5370 }, { 109,5370 }, { 110,5370 }, { 111,5370 }, { 112,5370 }, - { 113,5370 }, { 114,5370 }, { 115,5370 }, { 116,5370 }, { 117,5370 }, - { 118,5370 }, { 119,5370 }, { 120,5370 }, { 121,5370 }, { 122,5370 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 128,5370 }, { 129,5370 }, { 130,5370 }, { 131,5370 }, { 132,5370 }, - { 133,5370 }, { 134,5370 }, { 135,5370 }, { 136,5370 }, { 137,5370 }, - { 138,5370 }, { 139,5370 }, { 140,5370 }, { 141,5370 }, { 142,5370 }, - { 143,5370 }, { 144,5370 }, { 145,5370 }, { 146,5370 }, { 147,5370 }, - - { 148,5370 }, { 149,5370 }, { 150,5370 }, { 151,5370 }, { 152,5370 }, - { 153,5370 }, { 154,5370 }, { 155,5370 }, { 156,5370 }, { 157,5370 }, - { 158,5370 }, { 159,5370 }, { 160,5370 }, { 161,5370 }, { 162,5370 }, - { 163,5370 }, { 164,5370 }, { 165,5370 }, { 166,5370 }, { 167,5370 }, - { 168,5370 }, { 169,5370 }, { 170,5370 }, { 171,5370 }, { 172,5370 }, - { 173,5370 }, { 174,5370 }, { 175,5370 }, { 176,5370 }, { 177,5370 }, - { 178,5370 }, { 179,5370 }, { 180,5370 }, { 181,5370 }, { 182,5370 }, - { 183,5370 }, { 184,5370 }, { 185,5370 }, { 186,5370 }, { 187,5370 }, - { 188,5370 }, { 189,5370 }, { 190,5370 }, { 191,5370 }, { 192,5370 }, - { 193,5370 }, { 194,5370 }, { 195,5370 }, { 196,5370 }, { 197,5370 }, - - { 198,5370 }, { 199,5370 }, { 200,5370 }, { 201,5370 }, { 202,5370 }, - { 203,5370 }, { 204,5370 }, { 205,5370 }, { 206,5370 }, { 207,5370 }, - { 208,5370 }, { 209,5370 }, { 210,5370 }, { 211,5370 }, { 212,5370 }, - { 213,5370 }, { 214,5370 }, { 215,5370 }, { 216,5370 }, { 217,5370 }, - { 218,5370 }, { 219,5370 }, { 220,5370 }, { 221,5370 }, { 222,5370 }, - { 223,5370 }, { 224,5370 }, { 225,5370 }, { 226,5370 }, { 227,5370 }, - { 228,5370 }, { 229,5370 }, { 230,5370 }, { 231,5370 }, { 232,5370 }, - { 233,5370 }, { 234,5370 }, { 235,5370 }, { 236,5370 }, { 237,5370 }, - { 238,5370 }, { 239,5370 }, { 240,5370 }, { 241,5370 }, { 242,5370 }, - { 243,5370 }, { 244,5370 }, { 245,5370 }, { 246,5370 }, { 247,5370 }, - - { 248,5370 }, { 249,5370 }, { 250,5370 }, { 251,5370 }, { 252,5370 }, - { 253,5370 }, { 254,5370 }, { 255,5370 }, { 0, 74 }, { 0,12939 }, - { 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 }, { 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 }, - { 36,5113 }, { 0, 0 }, { 0, 0 }, { 39,-2022 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,5113 }, { 49,5113 }, { 50,5113 }, - { 51,5113 }, { 52,5113 }, { 53,5113 }, { 54,5113 }, { 55,5113 }, - { 56,5113 }, { 57,5113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5113 }, - { 66,5113 }, { 67,5113 }, { 68,5113 }, { 69,5113 }, { 70,5113 }, - { 71,5113 }, { 72,5113 }, { 73,5113 }, { 74,5113 }, { 75,5113 }, - { 76,5113 }, { 77,5113 }, { 78,5113 }, { 79,5113 }, { 80,5113 }, - { 81,5113 }, { 82,5113 }, { 83,5113 }, { 84,5113 }, { 85,5113 }, - { 86,5113 }, { 87,5113 }, { 88,5113 }, { 89,5113 }, { 90,5113 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5113 }, - { 0, 0 }, { 97,5113 }, { 98,5113 }, { 99,5113 }, { 100,5113 }, - { 101,5113 }, { 102,5113 }, { 103,5113 }, { 104,5113 }, { 105,5113 }, - { 106,5113 }, { 107,5113 }, { 108,5113 }, { 109,5113 }, { 110,5113 }, - { 111,5113 }, { 112,5113 }, { 113,5113 }, { 114,5113 }, { 115,5113 }, - { 116,5113 }, { 117,5113 }, { 118,5113 }, { 119,5113 }, { 120,5113 }, - { 121,5113 }, { 122,5113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 128,5113 }, { 129,5113 }, { 130,5113 }, - { 131,5113 }, { 132,5113 }, { 133,5113 }, { 134,5113 }, { 135,5113 }, - { 136,5113 }, { 137,5113 }, { 138,5113 }, { 139,5113 }, { 140,5113 }, - - { 141,5113 }, { 142,5113 }, { 143,5113 }, { 144,5113 }, { 145,5113 }, - { 146,5113 }, { 147,5113 }, { 148,5113 }, { 149,5113 }, { 150,5113 }, - { 151,5113 }, { 152,5113 }, { 153,5113 }, { 154,5113 }, { 155,5113 }, - { 156,5113 }, { 157,5113 }, { 158,5113 }, { 159,5113 }, { 160,5113 }, - { 161,5113 }, { 162,5113 }, { 163,5113 }, { 164,5113 }, { 165,5113 }, - { 166,5113 }, { 167,5113 }, { 168,5113 }, { 169,5113 }, { 170,5113 }, - { 171,5113 }, { 172,5113 }, { 173,5113 }, { 174,5113 }, { 175,5113 }, - { 176,5113 }, { 177,5113 }, { 178,5113 }, { 179,5113 }, { 180,5113 }, - { 181,5113 }, { 182,5113 }, { 183,5113 }, { 184,5113 }, { 185,5113 }, - { 186,5113 }, { 187,5113 }, { 188,5113 }, { 189,5113 }, { 190,5113 }, - - { 191,5113 }, { 192,5113 }, { 193,5113 }, { 194,5113 }, { 195,5113 }, - { 196,5113 }, { 197,5113 }, { 198,5113 }, { 199,5113 }, { 200,5113 }, - { 201,5113 }, { 202,5113 }, { 203,5113 }, { 204,5113 }, { 205,5113 }, - { 206,5113 }, { 207,5113 }, { 208,5113 }, { 209,5113 }, { 210,5113 }, - { 211,5113 }, { 212,5113 }, { 213,5113 }, { 214,5113 }, { 215,5113 }, - { 216,5113 }, { 217,5113 }, { 218,5113 }, { 219,5113 }, { 220,5113 }, - { 221,5113 }, { 222,5113 }, { 223,5113 }, { 224,5113 }, { 225,5113 }, - { 226,5113 }, { 227,5113 }, { 228,5113 }, { 229,5113 }, { 230,5113 }, - { 231,5113 }, { 232,5113 }, { 233,5113 }, { 234,5113 }, { 235,5113 }, - { 236,5113 }, { 237,5113 }, { 238,5113 }, { 239,5113 }, { 240,5113 }, - - { 241,5113 }, { 242,5113 }, { 243,5113 }, { 244,5113 }, { 245,5113 }, - { 246,5113 }, { 247,5113 }, { 248,5113 }, { 249,5113 }, { 250,5113 }, - { 251,5113 }, { 252,5113 }, { 253,5113 }, { 254,5113 }, { 255,5113 }, - { 0, 11 }, { 0,12682 }, { 1,5113 }, { 2,5113 }, { 3,5113 }, - { 4,5113 }, { 5,5113 }, { 6,5113 }, { 7,5113 }, { 8,5113 }, - { 9,5113 }, { 10,5113 }, { 11,5113 }, { 12,5113 }, { 13,5113 }, - { 14,5113 }, { 15,5113 }, { 16,5113 }, { 17,5113 }, { 18,5113 }, - { 19,5113 }, { 20,5113 }, { 21,5113 }, { 22,5113 }, { 23,5113 }, - { 24,5113 }, { 25,5113 }, { 26,5113 }, { 27,5113 }, { 28,5113 }, - { 29,5113 }, { 30,5113 }, { 31,5113 }, { 32,5113 }, { 33,5113 }, - - { 34,5113 }, { 35,5113 }, { 36,5113 }, { 37,5113 }, { 38,5113 }, - { 0, 0 }, { 40,5113 }, { 41,5113 }, { 42,5113 }, { 43,5113 }, - { 44,5113 }, { 45,5113 }, { 46,5113 }, { 47,5113 }, { 48,5113 }, - { 49,5113 }, { 50,5113 }, { 51,5113 }, { 52,5113 }, { 53,5113 }, - { 54,5113 }, { 55,5113 }, { 56,5113 }, { 57,5113 }, { 58,5113 }, - { 59,5113 }, { 60,5113 }, { 61,5113 }, { 62,5113 }, { 63,5113 }, - { 64,5113 }, { 65,5113 }, { 66,5113 }, { 67,5113 }, { 68,5113 }, - { 69,5113 }, { 70,5113 }, { 71,5113 }, { 72,5113 }, { 73,5113 }, - { 74,5113 }, { 75,5113 }, { 76,5113 }, { 77,5113 }, { 78,5113 }, - { 79,5113 }, { 80,5113 }, { 81,5113 }, { 82,5113 }, { 83,5113 }, - - { 84,5113 }, { 85,5113 }, { 86,5113 }, { 87,5113 }, { 88,5113 }, - { 89,5113 }, { 90,5113 }, { 91,5113 }, { 92,5113 }, { 93,5113 }, - { 94,5113 }, { 95,5113 }, { 96,5113 }, { 97,5113 }, { 98,5113 }, - { 99,5113 }, { 100,5113 }, { 101,5113 }, { 102,5113 }, { 103,5113 }, - { 104,5113 }, { 105,5113 }, { 106,5113 }, { 107,5113 }, { 108,5113 }, - { 109,5113 }, { 110,5113 }, { 111,5113 }, { 112,5113 }, { 113,5113 }, - { 114,5113 }, { 115,5113 }, { 116,5113 }, { 117,5113 }, { 118,5113 }, - { 119,5113 }, { 120,5113 }, { 121,5113 }, { 122,5113 }, { 123,5113 }, - { 124,5113 }, { 125,5113 }, { 126,5113 }, { 127,5113 }, { 128,5113 }, - { 129,5113 }, { 130,5113 }, { 131,5113 }, { 132,5113 }, { 133,5113 }, - - { 134,5113 }, { 135,5113 }, { 136,5113 }, { 137,5113 }, { 138,5113 }, - { 139,5113 }, { 140,5113 }, { 141,5113 }, { 142,5113 }, { 143,5113 }, - { 144,5113 }, { 145,5113 }, { 146,5113 }, { 147,5113 }, { 148,5113 }, - { 149,5113 }, { 150,5113 }, { 151,5113 }, { 152,5113 }, { 153,5113 }, - { 154,5113 }, { 155,5113 }, { 156,5113 }, { 157,5113 }, { 158,5113 }, - { 159,5113 }, { 160,5113 }, { 161,5113 }, { 162,5113 }, { 163,5113 }, - { 164,5113 }, { 165,5113 }, { 166,5113 }, { 167,5113 }, { 168,5113 }, - { 169,5113 }, { 170,5113 }, { 171,5113 }, { 172,5113 }, { 173,5113 }, - { 174,5113 }, { 175,5113 }, { 176,5113 }, { 177,5113 }, { 178,5113 }, - { 179,5113 }, { 180,5113 }, { 181,5113 }, { 182,5113 }, { 183,5113 }, - - { 184,5113 }, { 185,5113 }, { 186,5113 }, { 187,5113 }, { 188,5113 }, - { 189,5113 }, { 190,5113 }, { 191,5113 }, { 192,5113 }, { 193,5113 }, - { 194,5113 }, { 195,5113 }, { 196,5113 }, { 197,5113 }, { 198,5113 }, - { 199,5113 }, { 200,5113 }, { 201,5113 }, { 202,5113 }, { 203,5113 }, - { 204,5113 }, { 205,5113 }, { 206,5113 }, { 207,5113 }, { 208,5113 }, - { 209,5113 }, { 210,5113 }, { 211,5113 }, { 212,5113 }, { 213,5113 }, - { 214,5113 }, { 215,5113 }, { 216,5113 }, { 217,5113 }, { 218,5113 }, - { 219,5113 }, { 220,5113 }, { 221,5113 }, { 222,5113 }, { 223,5113 }, - { 224,5113 }, { 225,5113 }, { 226,5113 }, { 227,5113 }, { 228,5113 }, - { 229,5113 }, { 230,5113 }, { 231,5113 }, { 232,5113 }, { 233,5113 }, - - { 234,5113 }, { 235,5113 }, { 236,5113 }, { 237,5113 }, { 238,5113 }, - { 239,5113 }, { 240,5113 }, { 241,5113 }, { 242,5113 }, { 243,5113 }, - { 244,5113 }, { 245,5113 }, { 246,5113 }, { 247,5113 }, { 248,5113 }, - { 249,5113 }, { 250,5113 }, { 251,5113 }, { 252,5113 }, { 253,5113 }, - { 254,5113 }, { 255,5113 }, { 256,5113 }, { 0, 6 }, { 0,12424 }, - { 1,5113 }, { 2,5113 }, { 3,5113 }, { 4,5113 }, { 5,5113 }, - { 6,5113 }, { 7,5113 }, { 8,5113 }, { 9,5113 }, { 10,5113 }, - { 11,5113 }, { 12,5113 }, { 13,5113 }, { 14,5113 }, { 15,5113 }, - { 16,5113 }, { 17,5113 }, { 18,5113 }, { 19,5113 }, { 20,5113 }, - { 21,5113 }, { 22,5113 }, { 23,5113 }, { 24,5113 }, { 25,5113 }, - - { 26,5113 }, { 27,5113 }, { 28,5113 }, { 29,5113 }, { 30,5113 }, - { 31,5113 }, { 32,5113 }, { 33,5113 }, { 34,5113 }, { 35,5113 }, - { 36,5113 }, { 37,5113 }, { 38,5113 }, { 39,5113 }, { 40,5113 }, - { 41,5113 }, { 0, 0 }, { 43,5113 }, { 44,5113 }, { 45,5113 }, - { 46,5113 }, { 0, 0 }, { 48,5113 }, { 49,5113 }, { 50,5113 }, - { 51,5113 }, { 52,5113 }, { 53,5113 }, { 54,5113 }, { 55,5113 }, - { 56,5113 }, { 57,5113 }, { 58,5113 }, { 59,5113 }, { 60,5113 }, - { 61,5113 }, { 62,5113 }, { 63,5113 }, { 64,5113 }, { 65,5113 }, - { 66,5113 }, { 67,5113 }, { 68,5113 }, { 69,5113 }, { 70,5113 }, - { 71,5113 }, { 72,5113 }, { 73,5113 }, { 74,5113 }, { 75,5113 }, - - { 76,5113 }, { 77,5113 }, { 78,5113 }, { 79,5113 }, { 80,5113 }, - { 81,5113 }, { 82,5113 }, { 83,5113 }, { 84,5113 }, { 85,5113 }, - { 86,5113 }, { 87,5113 }, { 88,5113 }, { 89,5113 }, { 90,5113 }, - { 91,5113 }, { 92,5113 }, { 93,5113 }, { 94,5113 }, { 95,5113 }, - { 96,5113 }, { 97,5113 }, { 98,5113 }, { 99,5113 }, { 100,5113 }, - { 101,5113 }, { 102,5113 }, { 103,5113 }, { 104,5113 }, { 105,5113 }, - { 106,5113 }, { 107,5113 }, { 108,5113 }, { 109,5113 }, { 110,5113 }, - { 111,5113 }, { 112,5113 }, { 113,5113 }, { 114,5113 }, { 115,5113 }, - { 116,5113 }, { 117,5113 }, { 118,5113 }, { 119,5113 }, { 120,5113 }, - { 121,5113 }, { 122,5113 }, { 123,5113 }, { 124,5113 }, { 125,5113 }, - - { 126,5113 }, { 127,5113 }, { 128,5113 }, { 129,5113 }, { 130,5113 }, - { 131,5113 }, { 132,5113 }, { 133,5113 }, { 134,5113 }, { 135,5113 }, - { 136,5113 }, { 137,5113 }, { 138,5113 }, { 139,5113 }, { 140,5113 }, - { 141,5113 }, { 142,5113 }, { 143,5113 }, { 144,5113 }, { 145,5113 }, - { 146,5113 }, { 147,5113 }, { 148,5113 }, { 149,5113 }, { 150,5113 }, - { 151,5113 }, { 152,5113 }, { 153,5113 }, { 154,5113 }, { 155,5113 }, - { 156,5113 }, { 157,5113 }, { 158,5113 }, { 159,5113 }, { 160,5113 }, - { 161,5113 }, { 162,5113 }, { 163,5113 }, { 164,5113 }, { 165,5113 }, - { 166,5113 }, { 167,5113 }, { 168,5113 }, { 169,5113 }, { 170,5113 }, - { 171,5113 }, { 172,5113 }, { 173,5113 }, { 174,5113 }, { 175,5113 }, - - { 176,5113 }, { 177,5113 }, { 178,5113 }, { 179,5113 }, { 180,5113 }, - { 181,5113 }, { 182,5113 }, { 183,5113 }, { 184,5113 }, { 185,5113 }, - { 186,5113 }, { 187,5113 }, { 188,5113 }, { 189,5113 }, { 190,5113 }, - { 191,5113 }, { 192,5113 }, { 193,5113 }, { 194,5113 }, { 195,5113 }, - { 196,5113 }, { 197,5113 }, { 198,5113 }, { 199,5113 }, { 200,5113 }, - { 201,5113 }, { 202,5113 }, { 203,5113 }, { 204,5113 }, { 205,5113 }, - { 206,5113 }, { 207,5113 }, { 208,5113 }, { 209,5113 }, { 210,5113 }, - { 211,5113 }, { 212,5113 }, { 213,5113 }, { 214,5113 }, { 215,5113 }, - { 216,5113 }, { 217,5113 }, { 218,5113 }, { 219,5113 }, { 220,5113 }, - { 221,5113 }, { 222,5113 }, { 223,5113 }, { 224,5113 }, { 225,5113 }, - - { 226,5113 }, { 227,5113 }, { 228,5113 }, { 229,5113 }, { 230,5113 }, - { 231,5113 }, { 232,5113 }, { 233,5113 }, { 234,5113 }, { 235,5113 }, - { 236,5113 }, { 237,5113 }, { 238,5113 }, { 239,5113 }, { 240,5113 }, - { 241,5113 }, { 242,5113 }, { 243,5113 }, { 244,5113 }, { 245,5113 }, - { 246,5113 }, { 247,5113 }, { 248,5113 }, { 249,5113 }, { 250,5113 }, - { 251,5113 }, { 252,5113 }, { 253,5113 }, { 254,5113 }, { 255,5113 }, - { 256,5113 }, { 0, 6 }, { 0,12166 }, { 1,4855 }, { 2,4855 }, - { 3,4855 }, { 4,4855 }, { 5,4855 }, { 6,4855 }, { 7,4855 }, - { 8,4855 }, { 9,4855 }, { 10,4855 }, { 11,4855 }, { 12,4855 }, - { 13,4855 }, { 14,4855 }, { 15,4855 }, { 16,4855 }, { 17,4855 }, - - { 18,4855 }, { 19,4855 }, { 20,4855 }, { 21,4855 }, { 22,4855 }, - { 23,4855 }, { 24,4855 }, { 25,4855 }, { 26,4855 }, { 27,4855 }, - { 28,4855 }, { 29,4855 }, { 30,4855 }, { 31,4855 }, { 32,4855 }, - { 33,4855 }, { 34,4855 }, { 35,4855 }, { 36,4855 }, { 37,4855 }, - { 38,4855 }, { 39,4855 }, { 40,4855 }, { 41,4855 }, { 0, 0 }, - { 43,4855 }, { 44,4855 }, { 45,4855 }, { 46,4855 }, { 0, 0 }, - { 48,4855 }, { 49,4855 }, { 50,4855 }, { 51,4855 }, { 52,4855 }, - { 53,4855 }, { 54,4855 }, { 55,4855 }, { 56,4855 }, { 57,4855 }, - { 58,4855 }, { 59,4855 }, { 60,4855 }, { 61,4855 }, { 62,4855 }, - { 63,4855 }, { 64,4855 }, { 65,4855 }, { 66,4855 }, { 67,4855 }, - - { 68,4855 }, { 69,4855 }, { 70,4855 }, { 71,4855 }, { 72,4855 }, - { 73,4855 }, { 74,4855 }, { 75,4855 }, { 76,4855 }, { 77,4855 }, - { 78,4855 }, { 79,4855 }, { 80,4855 }, { 81,4855 }, { 82,4855 }, - { 83,4855 }, { 84,4855 }, { 85,4855 }, { 86,4855 }, { 87,4855 }, - { 88,4855 }, { 89,4855 }, { 90,4855 }, { 91,4855 }, { 92,4855 }, - { 93,4855 }, { 94,4855 }, { 95,4855 }, { 96,4855 }, { 97,4855 }, - { 98,4855 }, { 99,4855 }, { 100,4855 }, { 101,4855 }, { 102,4855 }, - { 103,4855 }, { 104,4855 }, { 105,4855 }, { 106,4855 }, { 107,4855 }, - { 108,4855 }, { 109,4855 }, { 110,4855 }, { 111,4855 }, { 112,4855 }, - { 113,4855 }, { 114,4855 }, { 115,4855 }, { 116,4855 }, { 117,4855 }, - - { 118,4855 }, { 119,4855 }, { 120,4855 }, { 121,4855 }, { 122,4855 }, - { 123,4855 }, { 124,4855 }, { 125,4855 }, { 126,4855 }, { 127,4855 }, - { 128,4855 }, { 129,4855 }, { 130,4855 }, { 131,4855 }, { 132,4855 }, - { 133,4855 }, { 134,4855 }, { 135,4855 }, { 136,4855 }, { 137,4855 }, - { 138,4855 }, { 139,4855 }, { 140,4855 }, { 141,4855 }, { 142,4855 }, - { 143,4855 }, { 144,4855 }, { 145,4855 }, { 146,4855 }, { 147,4855 }, - { 148,4855 }, { 149,4855 }, { 150,4855 }, { 151,4855 }, { 152,4855 }, - { 153,4855 }, { 154,4855 }, { 155,4855 }, { 156,4855 }, { 157,4855 }, - { 158,4855 }, { 159,4855 }, { 160,4855 }, { 161,4855 }, { 162,4855 }, - { 163,4855 }, { 164,4855 }, { 165,4855 }, { 166,4855 }, { 167,4855 }, - - { 168,4855 }, { 169,4855 }, { 170,4855 }, { 171,4855 }, { 172,4855 }, - { 173,4855 }, { 174,4855 }, { 175,4855 }, { 176,4855 }, { 177,4855 }, - { 178,4855 }, { 179,4855 }, { 180,4855 }, { 181,4855 }, { 182,4855 }, - { 183,4855 }, { 184,4855 }, { 185,4855 }, { 186,4855 }, { 187,4855 }, - { 188,4855 }, { 189,4855 }, { 190,4855 }, { 191,4855 }, { 192,4855 }, - { 193,4855 }, { 194,4855 }, { 195,4855 }, { 196,4855 }, { 197,4855 }, - { 198,4855 }, { 199,4855 }, { 200,4855 }, { 201,4855 }, { 202,4855 }, - { 203,4855 }, { 204,4855 }, { 205,4855 }, { 206,4855 }, { 207,4855 }, - { 208,4855 }, { 209,4855 }, { 210,4855 }, { 211,4855 }, { 212,4855 }, - { 213,4855 }, { 214,4855 }, { 215,4855 }, { 216,4855 }, { 217,4855 }, - - { 218,4855 }, { 219,4855 }, { 220,4855 }, { 221,4855 }, { 222,4855 }, - { 223,4855 }, { 224,4855 }, { 225,4855 }, { 226,4855 }, { 227,4855 }, - { 228,4855 }, { 229,4855 }, { 230,4855 }, { 231,4855 }, { 232,4855 }, - { 233,4855 }, { 234,4855 }, { 235,4855 }, { 236,4855 }, { 237,4855 }, - { 238,4855 }, { 239,4855 }, { 240,4855 }, { 241,4855 }, { 242,4855 }, - { 243,4855 }, { 244,4855 }, { 245,4855 }, { 246,4855 }, { 247,4855 }, - { 248,4855 }, { 249,4855 }, { 250,4855 }, { 251,4855 }, { 252,4855 }, - { 253,4855 }, { 254,4855 }, { 255,4855 }, { 256,4855 }, { 0, 44 }, - { 0,11908 }, { 1,4983 }, { 2,4983 }, { 3,4983 }, { 4,4983 }, - { 5,4983 }, { 6,4983 }, { 7,4983 }, { 8,4983 }, { 9,4983 }, - - { 10,4983 }, { 11,4983 }, { 12,4983 }, { 13,4983 }, { 14,4983 }, - { 15,4983 }, { 16,4983 }, { 17,4983 }, { 18,4983 }, { 19,4983 }, - { 20,4983 }, { 21,4983 }, { 22,4983 }, { 23,4983 }, { 24,4983 }, - { 25,4983 }, { 26,4983 }, { 27,4983 }, { 28,4983 }, { 29,4983 }, - { 30,4983 }, { 31,4983 }, { 32,4983 }, { 33,4983 }, { 0, 0 }, - { 35,4983 }, { 36,4983 }, { 37,4983 }, { 38,4983 }, { 39,4983 }, - { 40,4983 }, { 41,4983 }, { 42,4983 }, { 43,4983 }, { 44,4983 }, - { 45,4983 }, { 46,4983 }, { 47,4983 }, { 48,4983 }, { 49,4983 }, - { 50,4983 }, { 51,4983 }, { 52,4983 }, { 53,4983 }, { 54,4983 }, - { 55,4983 }, { 56,4983 }, { 57,4983 }, { 58,4983 }, { 59,4983 }, - - { 60,4983 }, { 61,4983 }, { 62,4983 }, { 63,4983 }, { 64,4983 }, - { 65,4983 }, { 66,4983 }, { 67,4983 }, { 68,4983 }, { 69,4983 }, - { 70,4983 }, { 71,4983 }, { 72,4983 }, { 73,4983 }, { 74,4983 }, - { 75,4983 }, { 76,4983 }, { 77,4983 }, { 78,4983 }, { 79,4983 }, - { 80,4983 }, { 81,4983 }, { 82,4983 }, { 83,4983 }, { 84,4983 }, - { 85,4983 }, { 86,4983 }, { 87,4983 }, { 88,4983 }, { 89,4983 }, - { 90,4983 }, { 91,4983 }, { 92,4983 }, { 93,4983 }, { 94,4983 }, - { 95,4983 }, { 96,4983 }, { 97,4983 }, { 98,4983 }, { 99,4983 }, - { 100,4983 }, { 101,4983 }, { 102,4983 }, { 103,4983 }, { 104,4983 }, - { 105,4983 }, { 106,4983 }, { 107,4983 }, { 108,4983 }, { 109,4983 }, - - { 110,4983 }, { 111,4983 }, { 112,4983 }, { 113,4983 }, { 114,4983 }, - { 115,4983 }, { 116,4983 }, { 117,4983 }, { 118,4983 }, { 119,4983 }, - { 120,4983 }, { 121,4983 }, { 122,4983 }, { 123,4983 }, { 124,4983 }, - { 125,4983 }, { 126,4983 }, { 127,4983 }, { 128,4983 }, { 129,4983 }, - { 130,4983 }, { 131,4983 }, { 132,4983 }, { 133,4983 }, { 134,4983 }, - { 135,4983 }, { 136,4983 }, { 137,4983 }, { 138,4983 }, { 139,4983 }, - { 140,4983 }, { 141,4983 }, { 142,4983 }, { 143,4983 }, { 144,4983 }, - { 145,4983 }, { 146,4983 }, { 147,4983 }, { 148,4983 }, { 149,4983 }, - { 150,4983 }, { 151,4983 }, { 152,4983 }, { 153,4983 }, { 154,4983 }, - { 155,4983 }, { 156,4983 }, { 157,4983 }, { 158,4983 }, { 159,4983 }, - - { 160,4983 }, { 161,4983 }, { 162,4983 }, { 163,4983 }, { 164,4983 }, - { 165,4983 }, { 166,4983 }, { 167,4983 }, { 168,4983 }, { 169,4983 }, - { 170,4983 }, { 171,4983 }, { 172,4983 }, { 173,4983 }, { 174,4983 }, - { 175,4983 }, { 176,4983 }, { 177,4983 }, { 178,4983 }, { 179,4983 }, - { 180,4983 }, { 181,4983 }, { 182,4983 }, { 183,4983 }, { 184,4983 }, - { 185,4983 }, { 186,4983 }, { 187,4983 }, { 188,4983 }, { 189,4983 }, - { 190,4983 }, { 191,4983 }, { 192,4983 }, { 193,4983 }, { 194,4983 }, - { 195,4983 }, { 196,4983 }, { 197,4983 }, { 198,4983 }, { 199,4983 }, - { 200,4983 }, { 201,4983 }, { 202,4983 }, { 203,4983 }, { 204,4983 }, - { 205,4983 }, { 206,4983 }, { 207,4983 }, { 208,4983 }, { 209,4983 }, - - { 210,4983 }, { 211,4983 }, { 212,4983 }, { 213,4983 }, { 214,4983 }, - { 215,4983 }, { 216,4983 }, { 217,4983 }, { 218,4983 }, { 219,4983 }, - { 220,4983 }, { 221,4983 }, { 222,4983 }, { 223,4983 }, { 224,4983 }, - { 225,4983 }, { 226,4983 }, { 227,4983 }, { 228,4983 }, { 229,4983 }, - { 230,4983 }, { 231,4983 }, { 232,4983 }, { 233,4983 }, { 234,4983 }, - { 235,4983 }, { 236,4983 }, { 237,4983 }, { 238,4983 }, { 239,4983 }, - { 240,4983 }, { 241,4983 }, { 242,4983 }, { 243,4983 }, { 244,4983 }, - { 245,4983 }, { 246,4983 }, { 247,4983 }, { 248,4983 }, { 249,4983 }, - { 250,4983 }, { 251,4983 }, { 252,4983 }, { 253,4983 }, { 254,4983 }, - { 255,4983 }, { 256,4983 }, { 0, 10 }, { 0,11650 }, { 1,4983 }, - - { 2,4983 }, { 3,4983 }, { 4,4983 }, { 5,4983 }, { 6,4983 }, - { 7,4983 }, { 8,4983 }, { 9,4983 }, { 10,4983 }, { 11,4983 }, - { 12,4983 }, { 13,4983 }, { 14,4983 }, { 15,4983 }, { 16,4983 }, - { 17,4983 }, { 18,4983 }, { 19,4983 }, { 20,4983 }, { 21,4983 }, - { 22,4983 }, { 23,4983 }, { 24,4983 }, { 25,4983 }, { 26,4983 }, - { 27,4983 }, { 28,4983 }, { 29,4983 }, { 30,4983 }, { 31,4983 }, - { 32,4983 }, { 33,4983 }, { 34,4983 }, { 35,4983 }, { 36,4983 }, - { 37,4983 }, { 38,4983 }, { 0, 0 }, { 40,4983 }, { 41,4983 }, - { 42,4983 }, { 43,4983 }, { 44,4983 }, { 45,4983 }, { 46,4983 }, - { 47,4983 }, { 48,4983 }, { 49,4983 }, { 50,4983 }, { 51,4983 }, - - { 52,4983 }, { 53,4983 }, { 54,4983 }, { 55,4983 }, { 56,4983 }, - { 57,4983 }, { 58,4983 }, { 59,4983 }, { 60,4983 }, { 61,4983 }, - { 62,4983 }, { 63,4983 }, { 64,4983 }, { 65,4983 }, { 66,4983 }, - { 67,4983 }, { 68,4983 }, { 69,4983 }, { 70,4983 }, { 71,4983 }, - { 72,4983 }, { 73,4983 }, { 74,4983 }, { 75,4983 }, { 76,4983 }, - { 77,4983 }, { 78,4983 }, { 79,4983 }, { 80,4983 }, { 81,4983 }, - { 82,4983 }, { 83,4983 }, { 84,4983 }, { 85,4983 }, { 86,4983 }, - { 87,4983 }, { 88,4983 }, { 89,4983 }, { 90,4983 }, { 91,4983 }, - { 92,4983 }, { 93,4983 }, { 94,4983 }, { 95,4983 }, { 96,4983 }, - { 97,4983 }, { 98,4983 }, { 99,4983 }, { 100,4983 }, { 101,4983 }, - - { 102,4983 }, { 103,4983 }, { 104,4983 }, { 105,4983 }, { 106,4983 }, - { 107,4983 }, { 108,4983 }, { 109,4983 }, { 110,4983 }, { 111,4983 }, - { 112,4983 }, { 113,4983 }, { 114,4983 }, { 115,4983 }, { 116,4983 }, - { 117,4983 }, { 118,4983 }, { 119,4983 }, { 120,4983 }, { 121,4983 }, - { 122,4983 }, { 123,4983 }, { 124,4983 }, { 125,4983 }, { 126,4983 }, - { 127,4983 }, { 128,4983 }, { 129,4983 }, { 130,4983 }, { 131,4983 }, - { 132,4983 }, { 133,4983 }, { 134,4983 }, { 135,4983 }, { 136,4983 }, - { 137,4983 }, { 138,4983 }, { 139,4983 }, { 140,4983 }, { 141,4983 }, - { 142,4983 }, { 143,4983 }, { 144,4983 }, { 145,4983 }, { 146,4983 }, - { 147,4983 }, { 148,4983 }, { 149,4983 }, { 150,4983 }, { 151,4983 }, - - { 152,4983 }, { 153,4983 }, { 154,4983 }, { 155,4983 }, { 156,4983 }, - { 157,4983 }, { 158,4983 }, { 159,4983 }, { 160,4983 }, { 161,4983 }, - { 162,4983 }, { 163,4983 }, { 164,4983 }, { 165,4983 }, { 166,4983 }, - { 167,4983 }, { 168,4983 }, { 169,4983 }, { 170,4983 }, { 171,4983 }, - { 172,4983 }, { 173,4983 }, { 174,4983 }, { 175,4983 }, { 176,4983 }, - { 177,4983 }, { 178,4983 }, { 179,4983 }, { 180,4983 }, { 181,4983 }, - { 182,4983 }, { 183,4983 }, { 184,4983 }, { 185,4983 }, { 186,4983 }, - { 187,4983 }, { 188,4983 }, { 189,4983 }, { 190,4983 }, { 191,4983 }, - { 192,4983 }, { 193,4983 }, { 194,4983 }, { 195,4983 }, { 196,4983 }, - { 197,4983 }, { 198,4983 }, { 199,4983 }, { 200,4983 }, { 201,4983 }, - - { 202,4983 }, { 203,4983 }, { 204,4983 }, { 205,4983 }, { 206,4983 }, - { 207,4983 }, { 208,4983 }, { 209,4983 }, { 210,4983 }, { 211,4983 }, - { 212,4983 }, { 213,4983 }, { 214,4983 }, { 215,4983 }, { 216,4983 }, - { 217,4983 }, { 218,4983 }, { 219,4983 }, { 220,4983 }, { 221,4983 }, - { 222,4983 }, { 223,4983 }, { 224,4983 }, { 225,4983 }, { 226,4983 }, - { 227,4983 }, { 228,4983 }, { 229,4983 }, { 230,4983 }, { 231,4983 }, - { 232,4983 }, { 233,4983 }, { 234,4983 }, { 235,4983 }, { 236,4983 }, - { 237,4983 }, { 238,4983 }, { 239,4983 }, { 240,4983 }, { 241,4983 }, - { 242,4983 }, { 243,4983 }, { 244,4983 }, { 245,4983 }, { 246,4983 }, - { 247,4983 }, { 248,4983 }, { 249,4983 }, { 250,4983 }, { 251,4983 }, - - { 252,4983 }, { 253,4983 }, { 254,4983 }, { 255,4983 }, { 256,4983 }, - { 0, 22 }, { 0,11392 }, { 1,4983 }, { 2,4983 }, { 3,4983 }, - { 4,4983 }, { 5,4983 }, { 6,4983 }, { 7,4983 }, { 8,4983 }, - { 9,4983 }, { 10,4983 }, { 11,4983 }, { 12,4983 }, { 13,4983 }, - { 14,4983 }, { 15,4983 }, { 16,4983 }, { 17,4983 }, { 18,4983 }, - { 19,4983 }, { 20,4983 }, { 21,4983 }, { 22,4983 }, { 23,4983 }, - { 24,4983 }, { 25,4983 }, { 26,4983 }, { 27,4983 }, { 28,4983 }, - { 29,4983 }, { 30,4983 }, { 31,4983 }, { 32,4983 }, { 33,4983 }, - { 34,4983 }, { 35,4983 }, { 36,4983 }, { 37,4983 }, { 38,4983 }, - { 0, 0 }, { 40,4983 }, { 41,4983 }, { 42,4983 }, { 43,4983 }, - - { 44,4983 }, { 45,4983 }, { 46,4983 }, { 47,4983 }, { 48,4983 }, - { 49,4983 }, { 50,4983 }, { 51,4983 }, { 52,4983 }, { 53,4983 }, - { 54,4983 }, { 55,4983 }, { 56,4983 }, { 57,4983 }, { 58,4983 }, - { 59,4983 }, { 60,4983 }, { 61,4983 }, { 62,4983 }, { 63,4983 }, - { 64,4983 }, { 65,4983 }, { 66,4983 }, { 67,4983 }, { 68,4983 }, - { 69,4983 }, { 70,4983 }, { 71,4983 }, { 72,4983 }, { 73,4983 }, - { 74,4983 }, { 75,4983 }, { 76,4983 }, { 77,4983 }, { 78,4983 }, - { 79,4983 }, { 80,4983 }, { 81,4983 }, { 82,4983 }, { 83,4983 }, - { 84,4983 }, { 85,4983 }, { 86,4983 }, { 87,4983 }, { 88,4983 }, - { 89,4983 }, { 90,4983 }, { 91,4983 }, { 92,4983 }, { 93,4983 }, - - { 94,4983 }, { 95,4983 }, { 96,4983 }, { 97,4983 }, { 98,4983 }, - { 99,4983 }, { 100,4983 }, { 101,4983 }, { 102,4983 }, { 103,4983 }, - { 104,4983 }, { 105,4983 }, { 106,4983 }, { 107,4983 }, { 108,4983 }, - { 109,4983 }, { 110,4983 }, { 111,4983 }, { 112,4983 }, { 113,4983 }, - { 114,4983 }, { 115,4983 }, { 116,4983 }, { 117,4983 }, { 118,4983 }, - { 119,4983 }, { 120,4983 }, { 121,4983 }, { 122,4983 }, { 123,4983 }, - { 124,4983 }, { 125,4983 }, { 126,4983 }, { 127,4983 }, { 128,4983 }, - { 129,4983 }, { 130,4983 }, { 131,4983 }, { 132,4983 }, { 133,4983 }, - { 134,4983 }, { 135,4983 }, { 136,4983 }, { 137,4983 }, { 138,4983 }, - { 139,4983 }, { 140,4983 }, { 141,4983 }, { 142,4983 }, { 143,4983 }, - - { 144,4983 }, { 145,4983 }, { 146,4983 }, { 147,4983 }, { 148,4983 }, - { 149,4983 }, { 150,4983 }, { 151,4983 }, { 152,4983 }, { 153,4983 }, - { 154,4983 }, { 155,4983 }, { 156,4983 }, { 157,4983 }, { 158,4983 }, - { 159,4983 }, { 160,4983 }, { 161,4983 }, { 162,4983 }, { 163,4983 }, - { 164,4983 }, { 165,4983 }, { 166,4983 }, { 167,4983 }, { 168,4983 }, - { 169,4983 }, { 170,4983 }, { 171,4983 }, { 172,4983 }, { 173,4983 }, - { 174,4983 }, { 175,4983 }, { 176,4983 }, { 177,4983 }, { 178,4983 }, - { 179,4983 }, { 180,4983 }, { 181,4983 }, { 182,4983 }, { 183,4983 }, - { 184,4983 }, { 185,4983 }, { 186,4983 }, { 187,4983 }, { 188,4983 }, - { 189,4983 }, { 190,4983 }, { 191,4983 }, { 192,4983 }, { 193,4983 }, - - { 194,4983 }, { 195,4983 }, { 196,4983 }, { 197,4983 }, { 198,4983 }, - { 199,4983 }, { 200,4983 }, { 201,4983 }, { 202,4983 }, { 203,4983 }, - { 204,4983 }, { 205,4983 }, { 206,4983 }, { 207,4983 }, { 208,4983 }, - { 209,4983 }, { 210,4983 }, { 211,4983 }, { 212,4983 }, { 213,4983 }, - { 214,4983 }, { 215,4983 }, { 216,4983 }, { 217,4983 }, { 218,4983 }, - { 219,4983 }, { 220,4983 }, { 221,4983 }, { 222,4983 }, { 223,4983 }, - { 224,4983 }, { 225,4983 }, { 226,4983 }, { 227,4983 }, { 228,4983 }, - { 229,4983 }, { 230,4983 }, { 231,4983 }, { 232,4983 }, { 233,4983 }, - { 234,4983 }, { 235,4983 }, { 236,4983 }, { 237,4983 }, { 238,4983 }, - { 239,4983 }, { 240,4983 }, { 241,4983 }, { 242,4983 }, { 243,4983 }, - - { 244,4983 }, { 245,4983 }, { 246,4983 }, { 247,4983 }, { 248,4983 }, - { 249,4983 }, { 250,4983 }, { 251,4983 }, { 252,4983 }, { 253,4983 }, - { 254,4983 }, { 255,4983 }, { 256,4983 }, { 0, 19 }, { 0,11134 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,11129 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,4983 }, { 10,4988 }, - { 0, 0 }, { 12,4983 }, { 13,4988 }, { 9,4999 }, { 10,4999 }, - { 0, 0 }, { 12,4999 }, { 13,4999 }, { 0, 0 }, { 0, 19 }, - { 0,11113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,4983 }, - { 10,4983 }, { 32,4983 }, { 12,4983 }, { 13,4983 }, { 0, 0 }, - - { 0, 0 }, { 32,4999 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-3785 }, { 45,-3807 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3812 }, - { 0, 0 }, { 0, 0 }, { 32,4983 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-3801 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 45,-3828 }, { 0, 23 }, { 0,11066 }, { 1,4983 }, { 2,4983 }, - { 3,4983 }, { 4,4983 }, { 5,4983 }, { 6,4983 }, { 7,4983 }, - { 8,4983 }, { 9,4983 }, { 10,4983 }, { 11,4983 }, { 12,4983 }, - { 13,4983 }, { 14,4983 }, { 15,4983 }, { 16,4983 }, { 17,4983 }, - - { 18,4983 }, { 19,4983 }, { 20,4983 }, { 21,4983 }, { 22,4983 }, - { 23,4983 }, { 24,4983 }, { 25,4983 }, { 26,4983 }, { 27,4983 }, - { 28,4983 }, { 29,4983 }, { 30,4983 }, { 31,4983 }, { 32,4983 }, - { 33,4983 }, { 34,4983 }, { 35,4983 }, { 36,4983 }, { 37,4983 }, - { 38,4983 }, { 0, 0 }, { 40,4983 }, { 41,4983 }, { 42,4983 }, - { 43,4983 }, { 44,4983 }, { 45,4983 }, { 46,4983 }, { 47,4983 }, - { 48,4983 }, { 49,4983 }, { 50,4983 }, { 51,4983 }, { 52,4983 }, - { 53,4983 }, { 54,4983 }, { 55,4983 }, { 56,4983 }, { 57,4983 }, - { 58,4983 }, { 59,4983 }, { 60,4983 }, { 61,4983 }, { 62,4983 }, - { 63,4983 }, { 64,4983 }, { 65,4983 }, { 66,4983 }, { 67,4983 }, - - { 68,4983 }, { 69,4983 }, { 70,4983 }, { 71,4983 }, { 72,4983 }, - { 73,4983 }, { 74,4983 }, { 75,4983 }, { 76,4983 }, { 77,4983 }, - { 78,4983 }, { 79,4983 }, { 80,4983 }, { 81,4983 }, { 82,4983 }, - { 83,4983 }, { 84,4983 }, { 85,4983 }, { 86,4983 }, { 87,4983 }, - { 88,4983 }, { 89,4983 }, { 90,4983 }, { 91,4983 }, { 0, 0 }, - { 93,4983 }, { 94,4983 }, { 95,4983 }, { 96,4983 }, { 97,4983 }, - { 98,4983 }, { 99,4983 }, { 100,4983 }, { 101,4983 }, { 102,4983 }, - { 103,4983 }, { 104,4983 }, { 105,4983 }, { 106,4983 }, { 107,4983 }, - { 108,4983 }, { 109,4983 }, { 110,4983 }, { 111,4983 }, { 112,4983 }, - { 113,4983 }, { 114,4983 }, { 115,4983 }, { 116,4983 }, { 117,4983 }, - - { 118,4983 }, { 119,4983 }, { 120,4983 }, { 121,4983 }, { 122,4983 }, - { 123,4983 }, { 124,4983 }, { 125,4983 }, { 126,4983 }, { 127,4983 }, - { 128,4983 }, { 129,4983 }, { 130,4983 }, { 131,4983 }, { 132,4983 }, - { 133,4983 }, { 134,4983 }, { 135,4983 }, { 136,4983 }, { 137,4983 }, - { 138,4983 }, { 139,4983 }, { 140,4983 }, { 141,4983 }, { 142,4983 }, - { 143,4983 }, { 144,4983 }, { 145,4983 }, { 146,4983 }, { 147,4983 }, - { 148,4983 }, { 149,4983 }, { 150,4983 }, { 151,4983 }, { 152,4983 }, - { 153,4983 }, { 154,4983 }, { 155,4983 }, { 156,4983 }, { 157,4983 }, - { 158,4983 }, { 159,4983 }, { 160,4983 }, { 161,4983 }, { 162,4983 }, - { 163,4983 }, { 164,4983 }, { 165,4983 }, { 166,4983 }, { 167,4983 }, - - { 168,4983 }, { 169,4983 }, { 170,4983 }, { 171,4983 }, { 172,4983 }, - { 173,4983 }, { 174,4983 }, { 175,4983 }, { 176,4983 }, { 177,4983 }, - { 178,4983 }, { 179,4983 }, { 180,4983 }, { 181,4983 }, { 182,4983 }, - { 183,4983 }, { 184,4983 }, { 185,4983 }, { 186,4983 }, { 187,4983 }, - { 188,4983 }, { 189,4983 }, { 190,4983 }, { 191,4983 }, { 192,4983 }, - { 193,4983 }, { 194,4983 }, { 195,4983 }, { 196,4983 }, { 197,4983 }, - { 198,4983 }, { 199,4983 }, { 200,4983 }, { 201,4983 }, { 202,4983 }, - { 203,4983 }, { 204,4983 }, { 205,4983 }, { 206,4983 }, { 207,4983 }, - { 208,4983 }, { 209,4983 }, { 210,4983 }, { 211,4983 }, { 212,4983 }, - { 213,4983 }, { 214,4983 }, { 215,4983 }, { 216,4983 }, { 217,4983 }, - - { 218,4983 }, { 219,4983 }, { 220,4983 }, { 221,4983 }, { 222,4983 }, - { 223,4983 }, { 224,4983 }, { 225,4983 }, { 226,4983 }, { 227,4983 }, - { 228,4983 }, { 229,4983 }, { 230,4983 }, { 231,4983 }, { 232,4983 }, - { 233,4983 }, { 234,4983 }, { 235,4983 }, { 236,4983 }, { 237,4983 }, - { 238,4983 }, { 239,4983 }, { 240,4983 }, { 241,4983 }, { 242,4983 }, - { 243,4983 }, { 244,4983 }, { 245,4983 }, { 246,4983 }, { 247,4983 }, - { 248,4983 }, { 249,4983 }, { 250,4983 }, { 251,4983 }, { 252,4983 }, - { 253,4983 }, { 254,4983 }, { 255,4983 }, { 256,4983 }, { 0, 23 }, - { 0,10808 }, { 1,4725 }, { 2,4725 }, { 3,4725 }, { 4,4725 }, - { 5,4725 }, { 6,4725 }, { 7,4725 }, { 8,4725 }, { 9,4725 }, - - { 10,4725 }, { 11,4725 }, { 12,4725 }, { 13,4725 }, { 14,4725 }, - { 15,4725 }, { 16,4725 }, { 17,4725 }, { 18,4725 }, { 19,4725 }, - { 20,4725 }, { 21,4725 }, { 22,4725 }, { 23,4725 }, { 24,4725 }, - { 25,4725 }, { 26,4725 }, { 27,4725 }, { 28,4725 }, { 29,4725 }, - { 30,4725 }, { 31,4725 }, { 32,4725 }, { 33,4725 }, { 34,4725 }, - { 35,4725 }, { 36,4725 }, { 37,4725 }, { 38,4725 }, { 0, 0 }, - { 40,4725 }, { 41,4725 }, { 42,4725 }, { 43,4725 }, { 44,4725 }, - { 45,4725 }, { 46,4725 }, { 47,4725 }, { 48,4725 }, { 49,4725 }, - { 50,4725 }, { 51,4725 }, { 52,4725 }, { 53,4725 }, { 54,4725 }, - { 55,4725 }, { 56,4725 }, { 57,4725 }, { 58,4725 }, { 59,4725 }, - - { 60,4725 }, { 61,4725 }, { 62,4725 }, { 63,4725 }, { 64,4725 }, - { 65,4725 }, { 66,4725 }, { 67,4725 }, { 68,4725 }, { 69,4725 }, - { 70,4725 }, { 71,4725 }, { 72,4725 }, { 73,4725 }, { 74,4725 }, - { 75,4725 }, { 76,4725 }, { 77,4725 }, { 78,4725 }, { 79,4725 }, - { 80,4725 }, { 81,4725 }, { 82,4725 }, { 83,4725 }, { 84,4725 }, - { 85,4725 }, { 86,4725 }, { 87,4725 }, { 88,4725 }, { 89,4725 }, - { 90,4725 }, { 91,4725 }, { 0, 0 }, { 93,4725 }, { 94,4725 }, - { 95,4725 }, { 96,4725 }, { 97,4725 }, { 98,4725 }, { 99,4725 }, - { 100,4725 }, { 101,4725 }, { 102,4725 }, { 103,4725 }, { 104,4725 }, - { 105,4725 }, { 106,4725 }, { 107,4725 }, { 108,4725 }, { 109,4725 }, - - { 110,4725 }, { 111,4725 }, { 112,4725 }, { 113,4725 }, { 114,4725 }, - { 115,4725 }, { 116,4725 }, { 117,4725 }, { 118,4725 }, { 119,4725 }, - { 120,4725 }, { 121,4725 }, { 122,4725 }, { 123,4725 }, { 124,4725 }, - { 125,4725 }, { 126,4725 }, { 127,4725 }, { 128,4725 }, { 129,4725 }, - { 130,4725 }, { 131,4725 }, { 132,4725 }, { 133,4725 }, { 134,4725 }, - { 135,4725 }, { 136,4725 }, { 137,4725 }, { 138,4725 }, { 139,4725 }, - { 140,4725 }, { 141,4725 }, { 142,4725 }, { 143,4725 }, { 144,4725 }, - { 145,4725 }, { 146,4725 }, { 147,4725 }, { 148,4725 }, { 149,4725 }, - { 150,4725 }, { 151,4725 }, { 152,4725 }, { 153,4725 }, { 154,4725 }, - { 155,4725 }, { 156,4725 }, { 157,4725 }, { 158,4725 }, { 159,4725 }, - - { 160,4725 }, { 161,4725 }, { 162,4725 }, { 163,4725 }, { 164,4725 }, - { 165,4725 }, { 166,4725 }, { 167,4725 }, { 168,4725 }, { 169,4725 }, - { 170,4725 }, { 171,4725 }, { 172,4725 }, { 173,4725 }, { 174,4725 }, - { 175,4725 }, { 176,4725 }, { 177,4725 }, { 178,4725 }, { 179,4725 }, - { 180,4725 }, { 181,4725 }, { 182,4725 }, { 183,4725 }, { 184,4725 }, - { 185,4725 }, { 186,4725 }, { 187,4725 }, { 188,4725 }, { 189,4725 }, - { 190,4725 }, { 191,4725 }, { 192,4725 }, { 193,4725 }, { 194,4725 }, - { 195,4725 }, { 196,4725 }, { 197,4725 }, { 198,4725 }, { 199,4725 }, - { 200,4725 }, { 201,4725 }, { 202,4725 }, { 203,4725 }, { 204,4725 }, - { 205,4725 }, { 206,4725 }, { 207,4725 }, { 208,4725 }, { 209,4725 }, - - { 210,4725 }, { 211,4725 }, { 212,4725 }, { 213,4725 }, { 214,4725 }, - { 215,4725 }, { 216,4725 }, { 217,4725 }, { 218,4725 }, { 219,4725 }, - { 220,4725 }, { 221,4725 }, { 222,4725 }, { 223,4725 }, { 224,4725 }, - { 225,4725 }, { 226,4725 }, { 227,4725 }, { 228,4725 }, { 229,4725 }, - { 230,4725 }, { 231,4725 }, { 232,4725 }, { 233,4725 }, { 234,4725 }, - { 235,4725 }, { 236,4725 }, { 237,4725 }, { 238,4725 }, { 239,4725 }, - { 240,4725 }, { 241,4725 }, { 242,4725 }, { 243,4725 }, { 244,4725 }, - { 245,4725 }, { 246,4725 }, { 247,4725 }, { 248,4725 }, { 249,4725 }, - { 250,4725 }, { 251,4725 }, { 252,4725 }, { 253,4725 }, { 254,4725 }, - { 255,4725 }, { 256,4725 }, { 0, 32 }, { 0,10550 }, { 1,-4362 }, - - { 2,-4362 }, { 3,-4362 }, { 4,-4362 }, { 5,-4362 }, { 6,-4362 }, - { 7,-4362 }, { 8,-4362 }, { 9,-4362 }, { 10,-4362 }, { 11,-4362 }, - { 12,-4362 }, { 13,-4362 }, { 14,-4362 }, { 15,-4362 }, { 16,-4362 }, - { 17,-4362 }, { 18,-4362 }, { 19,-4362 }, { 20,-4362 }, { 21,-4362 }, - { 22,-4362 }, { 23,-4362 }, { 24,-4362 }, { 25,-4362 }, { 26,-4362 }, - { 27,-4362 }, { 28,-4362 }, { 29,-4362 }, { 30,-4362 }, { 31,-4362 }, - { 32,-4362 }, { 33,-4362 }, { 34,-4362 }, { 35,-4362 }, { 36,-4362 }, - { 37,-4362 }, { 38,-4362 }, { 39,-4362 }, { 40,-4362 }, { 41,-4362 }, - { 42,-4362 }, { 43,-4362 }, { 44,-4362 }, { 45,-4362 }, { 46,-4362 }, - { 47,-4362 }, { 48,4725 }, { 49,4725 }, { 50,4725 }, { 51,4725 }, - - { 52,4725 }, { 53,4725 }, { 54,4725 }, { 55,4725 }, { 56,-4362 }, - { 57,-4362 }, { 58,-4362 }, { 59,-4362 }, { 60,-4362 }, { 61,-4362 }, - { 62,-4362 }, { 63,-4362 }, { 64,-4362 }, { 65,-4362 }, { 66,-4362 }, - { 67,-4362 }, { 68,-4362 }, { 69,-4362 }, { 70,-4362 }, { 71,-4362 }, - { 72,-4362 }, { 73,-4362 }, { 74,-4362 }, { 75,-4362 }, { 76,-4362 }, - { 77,-4362 }, { 78,-4362 }, { 79,-4362 }, { 80,-4362 }, { 81,-4362 }, - { 82,-4362 }, { 83,-4362 }, { 84,-4362 }, { 85,4733 }, { 86,-4362 }, - { 87,-4362 }, { 88,-4362 }, { 89,-4362 }, { 90,-4362 }, { 91,-4362 }, - { 92,-4362 }, { 93,-4362 }, { 94,-4362 }, { 95,-4362 }, { 96,-4362 }, - { 97,-4362 }, { 98,-4362 }, { 99,-4362 }, { 100,-4362 }, { 101,-4362 }, - - { 102,-4362 }, { 103,-4362 }, { 104,-4362 }, { 105,-4362 }, { 106,-4362 }, - { 107,-4362 }, { 108,-4362 }, { 109,-4362 }, { 110,-4362 }, { 111,-4362 }, - { 112,-4362 }, { 113,-4362 }, { 114,-4362 }, { 115,-4362 }, { 116,-4362 }, - { 117,4756 }, { 118,-4362 }, { 119,-4362 }, { 120,4794 }, { 121,-4362 }, - { 122,-4362 }, { 123,-4362 }, { 124,-4362 }, { 125,-4362 }, { 126,-4362 }, - { 127,-4362 }, { 128,-4362 }, { 129,-4362 }, { 130,-4362 }, { 131,-4362 }, - { 132,-4362 }, { 133,-4362 }, { 134,-4362 }, { 135,-4362 }, { 136,-4362 }, - { 137,-4362 }, { 138,-4362 }, { 139,-4362 }, { 140,-4362 }, { 141,-4362 }, - { 142,-4362 }, { 143,-4362 }, { 144,-4362 }, { 145,-4362 }, { 146,-4362 }, - { 147,-4362 }, { 148,-4362 }, { 149,-4362 }, { 150,-4362 }, { 151,-4362 }, - - { 152,-4362 }, { 153,-4362 }, { 154,-4362 }, { 155,-4362 }, { 156,-4362 }, - { 157,-4362 }, { 158,-4362 }, { 159,-4362 }, { 160,-4362 }, { 161,-4362 }, - { 162,-4362 }, { 163,-4362 }, { 164,-4362 }, { 165,-4362 }, { 166,-4362 }, - { 167,-4362 }, { 168,-4362 }, { 169,-4362 }, { 170,-4362 }, { 171,-4362 }, - { 172,-4362 }, { 173,-4362 }, { 174,-4362 }, { 175,-4362 }, { 176,-4362 }, - { 177,-4362 }, { 178,-4362 }, { 179,-4362 }, { 180,-4362 }, { 181,-4362 }, - { 182,-4362 }, { 183,-4362 }, { 184,-4362 }, { 185,-4362 }, { 186,-4362 }, - { 187,-4362 }, { 188,-4362 }, { 189,-4362 }, { 190,-4362 }, { 191,-4362 }, - { 192,-4362 }, { 193,-4362 }, { 194,-4362 }, { 195,-4362 }, { 196,-4362 }, - { 197,-4362 }, { 198,-4362 }, { 199,-4362 }, { 200,-4362 }, { 201,-4362 }, - - { 202,-4362 }, { 203,-4362 }, { 204,-4362 }, { 205,-4362 }, { 206,-4362 }, - { 207,-4362 }, { 208,-4362 }, { 209,-4362 }, { 210,-4362 }, { 211,-4362 }, - { 212,-4362 }, { 213,-4362 }, { 214,-4362 }, { 215,-4362 }, { 216,-4362 }, - { 217,-4362 }, { 218,-4362 }, { 219,-4362 }, { 220,-4362 }, { 221,-4362 }, - { 222,-4362 }, { 223,-4362 }, { 224,-4362 }, { 225,-4362 }, { 226,-4362 }, - { 227,-4362 }, { 228,-4362 }, { 229,-4362 }, { 230,-4362 }, { 231,-4362 }, - { 232,-4362 }, { 233,-4362 }, { 234,-4362 }, { 235,-4362 }, { 236,-4362 }, - { 237,-4362 }, { 238,-4362 }, { 239,-4362 }, { 240,-4362 }, { 241,-4362 }, - { 242,-4362 }, { 243,-4362 }, { 244,-4362 }, { 245,-4362 }, { 246,-4362 }, - { 247,-4362 }, { 248,-4362 }, { 249,-4362 }, { 250,-4362 }, { 251,-4362 }, - - { 252,-4362 }, { 253,-4362 }, { 254,-4362 }, { 255,-4362 }, { 256,-4362 }, - { 0, 36 }, { 0,10292 }, { 1,4640 }, { 2,4640 }, { 3,4640 }, - { 4,4640 }, { 5,4640 }, { 6,4640 }, { 7,4640 }, { 8,4640 }, - { 9,4640 }, { 10,4640 }, { 11,4640 }, { 12,4640 }, { 13,4640 }, - { 14,4640 }, { 15,4640 }, { 16,4640 }, { 17,4640 }, { 18,4640 }, - { 19,4640 }, { 20,4640 }, { 21,4640 }, { 22,4640 }, { 23,4640 }, - { 24,4640 }, { 25,4640 }, { 26,4640 }, { 27,4640 }, { 28,4640 }, - { 29,4640 }, { 30,4640 }, { 31,4640 }, { 32,4640 }, { 33,4640 }, - { 34,4640 }, { 35,4640 }, { 0, 0 }, { 37,4640 }, { 38,4640 }, - { 39,4640 }, { 40,4640 }, { 41,4640 }, { 42,4640 }, { 43,4640 }, - - { 44,4640 }, { 45,4640 }, { 46,4640 }, { 47,4640 }, { 48,4640 }, - { 49,4640 }, { 50,4640 }, { 51,4640 }, { 52,4640 }, { 53,4640 }, - { 54,4640 }, { 55,4640 }, { 56,4640 }, { 57,4640 }, { 58,4640 }, - { 59,4640 }, { 60,4640 }, { 61,4640 }, { 62,4640 }, { 63,4640 }, - { 64,4640 }, { 65,4640 }, { 66,4640 }, { 67,4640 }, { 68,4640 }, - { 69,4640 }, { 70,4640 }, { 71,4640 }, { 72,4640 }, { 73,4640 }, - { 74,4640 }, { 75,4640 }, { 76,4640 }, { 77,4640 }, { 78,4640 }, - { 79,4640 }, { 80,4640 }, { 81,4640 }, { 82,4640 }, { 83,4640 }, - { 84,4640 }, { 85,4640 }, { 86,4640 }, { 87,4640 }, { 88,4640 }, - { 89,4640 }, { 90,4640 }, { 91,4640 }, { 92,4640 }, { 93,4640 }, - - { 94,4640 }, { 95,4640 }, { 96,4640 }, { 97,4640 }, { 98,4640 }, - { 99,4640 }, { 100,4640 }, { 101,4640 }, { 102,4640 }, { 103,4640 }, - { 104,4640 }, { 105,4640 }, { 106,4640 }, { 107,4640 }, { 108,4640 }, - { 109,4640 }, { 110,4640 }, { 111,4640 }, { 112,4640 }, { 113,4640 }, - { 114,4640 }, { 115,4640 }, { 116,4640 }, { 117,4640 }, { 118,4640 }, - { 119,4640 }, { 120,4640 }, { 121,4640 }, { 122,4640 }, { 123,4640 }, - { 124,4640 }, { 125,4640 }, { 126,4640 }, { 127,4640 }, { 128,4640 }, - { 129,4640 }, { 130,4640 }, { 131,4640 }, { 132,4640 }, { 133,4640 }, - { 134,4640 }, { 135,4640 }, { 136,4640 }, { 137,4640 }, { 138,4640 }, - { 139,4640 }, { 140,4640 }, { 141,4640 }, { 142,4640 }, { 143,4640 }, - - { 144,4640 }, { 145,4640 }, { 146,4640 }, { 147,4640 }, { 148,4640 }, - { 149,4640 }, { 150,4640 }, { 151,4640 }, { 152,4640 }, { 153,4640 }, - { 154,4640 }, { 155,4640 }, { 156,4640 }, { 157,4640 }, { 158,4640 }, - { 159,4640 }, { 160,4640 }, { 161,4640 }, { 162,4640 }, { 163,4640 }, - { 164,4640 }, { 165,4640 }, { 166,4640 }, { 167,4640 }, { 168,4640 }, - { 169,4640 }, { 170,4640 }, { 171,4640 }, { 172,4640 }, { 173,4640 }, - { 174,4640 }, { 175,4640 }, { 176,4640 }, { 177,4640 }, { 178,4640 }, - { 179,4640 }, { 180,4640 }, { 181,4640 }, { 182,4640 }, { 183,4640 }, - { 184,4640 }, { 185,4640 }, { 186,4640 }, { 187,4640 }, { 188,4640 }, - { 189,4640 }, { 190,4640 }, { 191,4640 }, { 192,4640 }, { 193,4640 }, - - { 194,4640 }, { 195,4640 }, { 196,4640 }, { 197,4640 }, { 198,4640 }, - { 199,4640 }, { 200,4640 }, { 201,4640 }, { 202,4640 }, { 203,4640 }, - { 204,4640 }, { 205,4640 }, { 206,4640 }, { 207,4640 }, { 208,4640 }, - { 209,4640 }, { 210,4640 }, { 211,4640 }, { 212,4640 }, { 213,4640 }, - { 214,4640 }, { 215,4640 }, { 216,4640 }, { 217,4640 }, { 218,4640 }, - { 219,4640 }, { 220,4640 }, { 221,4640 }, { 222,4640 }, { 223,4640 }, - { 224,4640 }, { 225,4640 }, { 226,4640 }, { 227,4640 }, { 228,4640 }, - { 229,4640 }, { 230,4640 }, { 231,4640 }, { 232,4640 }, { 233,4640 }, - { 234,4640 }, { 235,4640 }, { 236,4640 }, { 237,4640 }, { 238,4640 }, - { 239,4640 }, { 240,4640 }, { 241,4640 }, { 242,4640 }, { 243,4640 }, - - { 244,4640 }, { 245,4640 }, { 246,4640 }, { 247,4640 }, { 248,4640 }, - { 249,4640 }, { 250,4640 }, { 251,4640 }, { 252,4640 }, { 253,4640 }, - { 254,4640 }, { 255,4640 }, { 256,4640 }, { 0, 36 }, { 0,10034 }, - { 1,4382 }, { 2,4382 }, { 3,4382 }, { 4,4382 }, { 5,4382 }, - { 6,4382 }, { 7,4382 }, { 8,4382 }, { 9,4382 }, { 10,4382 }, - { 11,4382 }, { 12,4382 }, { 13,4382 }, { 14,4382 }, { 15,4382 }, - { 16,4382 }, { 17,4382 }, { 18,4382 }, { 19,4382 }, { 20,4382 }, - { 21,4382 }, { 22,4382 }, { 23,4382 }, { 24,4382 }, { 25,4382 }, - { 26,4382 }, { 27,4382 }, { 28,4382 }, { 29,4382 }, { 30,4382 }, - { 31,4382 }, { 32,4382 }, { 33,4382 }, { 34,4382 }, { 35,4382 }, - - { 0, 0 }, { 37,4382 }, { 38,4382 }, { 39,4382 }, { 40,4382 }, - { 41,4382 }, { 42,4382 }, { 43,4382 }, { 44,4382 }, { 45,4382 }, - { 46,4382 }, { 47,4382 }, { 48,4382 }, { 49,4382 }, { 50,4382 }, - { 51,4382 }, { 52,4382 }, { 53,4382 }, { 54,4382 }, { 55,4382 }, - { 56,4382 }, { 57,4382 }, { 58,4382 }, { 59,4382 }, { 60,4382 }, - { 61,4382 }, { 62,4382 }, { 63,4382 }, { 64,4382 }, { 65,4382 }, - { 66,4382 }, { 67,4382 }, { 68,4382 }, { 69,4382 }, { 70,4382 }, - { 71,4382 }, { 72,4382 }, { 73,4382 }, { 74,4382 }, { 75,4382 }, - { 76,4382 }, { 77,4382 }, { 78,4382 }, { 79,4382 }, { 80,4382 }, - { 81,4382 }, { 82,4382 }, { 83,4382 }, { 84,4382 }, { 85,4382 }, - - { 86,4382 }, { 87,4382 }, { 88,4382 }, { 89,4382 }, { 90,4382 }, - { 91,4382 }, { 92,4382 }, { 93,4382 }, { 94,4382 }, { 95,4382 }, - { 96,4382 }, { 97,4382 }, { 98,4382 }, { 99,4382 }, { 100,4382 }, - { 101,4382 }, { 102,4382 }, { 103,4382 }, { 104,4382 }, { 105,4382 }, - { 106,4382 }, { 107,4382 }, { 108,4382 }, { 109,4382 }, { 110,4382 }, - { 111,4382 }, { 112,4382 }, { 113,4382 }, { 114,4382 }, { 115,4382 }, - { 116,4382 }, { 117,4382 }, { 118,4382 }, { 119,4382 }, { 120,4382 }, - { 121,4382 }, { 122,4382 }, { 123,4382 }, { 124,4382 }, { 125,4382 }, - { 126,4382 }, { 127,4382 }, { 128,4382 }, { 129,4382 }, { 130,4382 }, - { 131,4382 }, { 132,4382 }, { 133,4382 }, { 134,4382 }, { 135,4382 }, - - { 136,4382 }, { 137,4382 }, { 138,4382 }, { 139,4382 }, { 140,4382 }, - { 141,4382 }, { 142,4382 }, { 143,4382 }, { 144,4382 }, { 145,4382 }, - { 146,4382 }, { 147,4382 }, { 148,4382 }, { 149,4382 }, { 150,4382 }, - { 151,4382 }, { 152,4382 }, { 153,4382 }, { 154,4382 }, { 155,4382 }, - { 156,4382 }, { 157,4382 }, { 158,4382 }, { 159,4382 }, { 160,4382 }, - { 161,4382 }, { 162,4382 }, { 163,4382 }, { 164,4382 }, { 165,4382 }, - { 166,4382 }, { 167,4382 }, { 168,4382 }, { 169,4382 }, { 170,4382 }, - { 171,4382 }, { 172,4382 }, { 173,4382 }, { 174,4382 }, { 175,4382 }, - { 176,4382 }, { 177,4382 }, { 178,4382 }, { 179,4382 }, { 180,4382 }, - { 181,4382 }, { 182,4382 }, { 183,4382 }, { 184,4382 }, { 185,4382 }, - - { 186,4382 }, { 187,4382 }, { 188,4382 }, { 189,4382 }, { 190,4382 }, - { 191,4382 }, { 192,4382 }, { 193,4382 }, { 194,4382 }, { 195,4382 }, - { 196,4382 }, { 197,4382 }, { 198,4382 }, { 199,4382 }, { 200,4382 }, - { 201,4382 }, { 202,4382 }, { 203,4382 }, { 204,4382 }, { 205,4382 }, - { 206,4382 }, { 207,4382 }, { 208,4382 }, { 209,4382 }, { 210,4382 }, - { 211,4382 }, { 212,4382 }, { 213,4382 }, { 214,4382 }, { 215,4382 }, - { 216,4382 }, { 217,4382 }, { 218,4382 }, { 219,4382 }, { 220,4382 }, - { 221,4382 }, { 222,4382 }, { 223,4382 }, { 224,4382 }, { 225,4382 }, - { 226,4382 }, { 227,4382 }, { 228,4382 }, { 229,4382 }, { 230,4382 }, - { 231,4382 }, { 232,4382 }, { 233,4382 }, { 234,4382 }, { 235,4382 }, - - { 236,4382 }, { 237,4382 }, { 238,4382 }, { 239,4382 }, { 240,4382 }, - { 241,4382 }, { 242,4382 }, { 243,4382 }, { 244,4382 }, { 245,4382 }, - { 246,4382 }, { 247,4382 }, { 248,4382 }, { 249,4382 }, { 250,4382 }, - { 251,4382 }, { 252,4382 }, { 253,4382 }, { 254,4382 }, { 255,4382 }, - { 256,4382 }, { 0, 38 }, { 0,9776 }, { 0, 1 }, { 0,9774 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, - { 0, 0 }, { 12, 0 }, { 13, 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 }, { 32, 0 }, { 0, 0 }, { 36,-5116 }, { 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 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,4382 }, { 66,4382 }, { 67,4382 }, - { 68,4382 }, { 69,4382 }, { 70,4382 }, { 71,4382 }, { 72,4382 }, - { 73,4382 }, { 74,4382 }, { 75,4382 }, { 76,4382 }, { 77,4382 }, - - { 78,4382 }, { 79,4382 }, { 80,4382 }, { 81,4382 }, { 82,4382 }, - { 83,4382 }, { 84,4382 }, { 85,4382 }, { 86,4382 }, { 87,4382 }, - { 88,4382 }, { 89,4382 }, { 90,4382 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 95,4382 }, { 0, 0 }, { 97,4382 }, - { 98,4382 }, { 99,4382 }, { 100,4382 }, { 101,4382 }, { 102,4382 }, - { 103,4382 }, { 104,4382 }, { 105,4382 }, { 106,4382 }, { 107,4382 }, - { 108,4382 }, { 109,4382 }, { 110,4382 }, { 111,4382 }, { 112,4382 }, - { 113,4382 }, { 114,4382 }, { 115,4382 }, { 116,4382 }, { 117,4382 }, - { 118,4382 }, { 119,4382 }, { 120,4382 }, { 121,4382 }, { 122,4382 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 128,4382 }, { 129,4382 }, { 130,4382 }, { 131,4382 }, { 132,4382 }, - { 133,4382 }, { 134,4382 }, { 135,4382 }, { 136,4382 }, { 137,4382 }, - { 138,4382 }, { 139,4382 }, { 140,4382 }, { 141,4382 }, { 142,4382 }, - { 143,4382 }, { 144,4382 }, { 145,4382 }, { 146,4382 }, { 147,4382 }, - { 148,4382 }, { 149,4382 }, { 150,4382 }, { 151,4382 }, { 152,4382 }, - { 153,4382 }, { 154,4382 }, { 155,4382 }, { 156,4382 }, { 157,4382 }, - { 158,4382 }, { 159,4382 }, { 160,4382 }, { 161,4382 }, { 162,4382 }, - { 163,4382 }, { 164,4382 }, { 165,4382 }, { 166,4382 }, { 167,4382 }, - { 168,4382 }, { 169,4382 }, { 170,4382 }, { 171,4382 }, { 172,4382 }, - { 173,4382 }, { 174,4382 }, { 175,4382 }, { 176,4382 }, { 177,4382 }, - - { 178,4382 }, { 179,4382 }, { 180,4382 }, { 181,4382 }, { 182,4382 }, - { 183,4382 }, { 184,4382 }, { 185,4382 }, { 186,4382 }, { 187,4382 }, - { 188,4382 }, { 189,4382 }, { 190,4382 }, { 191,4382 }, { 192,4382 }, - { 193,4382 }, { 194,4382 }, { 195,4382 }, { 196,4382 }, { 197,4382 }, - { 198,4382 }, { 199,4382 }, { 200,4382 }, { 201,4382 }, { 202,4382 }, - { 203,4382 }, { 204,4382 }, { 205,4382 }, { 206,4382 }, { 207,4382 }, - { 208,4382 }, { 209,4382 }, { 210,4382 }, { 211,4382 }, { 212,4382 }, - { 213,4382 }, { 214,4382 }, { 215,4382 }, { 216,4382 }, { 217,4382 }, - { 218,4382 }, { 219,4382 }, { 220,4382 }, { 221,4382 }, { 222,4382 }, - { 223,4382 }, { 224,4382 }, { 225,4382 }, { 226,4382 }, { 227,4382 }, - - { 228,4382 }, { 229,4382 }, { 230,4382 }, { 231,4382 }, { 232,4382 }, - { 233,4382 }, { 234,4382 }, { 235,4382 }, { 236,4382 }, { 237,4382 }, - { 238,4382 }, { 239,4382 }, { 240,4382 }, { 241,4382 }, { 242,4382 }, - { 243,4382 }, { 244,4382 }, { 245,4382 }, { 246,4382 }, { 247,4382 }, - { 248,4382 }, { 249,4382 }, { 250,4382 }, { 251,4382 }, { 252,4382 }, - { 253,4382 }, { 254,4382 }, { 255,4382 }, { 0, 55 }, { 0,9519 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 53 }, - { 0,9508 }, { 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, 56 }, { 0,9491 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, - { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 42, 0 }, { 43, 0 }, { 33, -11 }, { 45, 0 }, - { 35, -11 }, { 47, 0 }, { 37, -11 }, { 38, -11 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42, -11 }, { 43, -11 }, { 0, 0 }, - { 45, -11 }, { 0, 0 }, { 47, -11 }, { 0, 0 }, { 60, 0 }, - { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 205,7077 }, { 206,7077 }, { 207,7077 }, { 208,7077 }, { 209,7077 }, + { 210,7077 }, { 211,7077 }, { 212,7077 }, { 213,7077 }, { 214,7077 }, + { 215,7077 }, { 216,7077 }, { 217,7077 }, { 218,7077 }, { 219,7077 }, + { 220,7077 }, { 221,7077 }, { 222,7077 }, { 223,7077 }, { 224,7077 }, + { 225,7077 }, { 226,7077 }, { 227,7077 }, { 228,7077 }, { 229,7077 }, + { 230,7077 }, { 231,7077 }, { 232,7077 }, { 233,7077 }, { 234,7077 }, + { 235,7077 }, { 236,7077 }, { 237,7077 }, { 238,7077 }, { 239,7077 }, + { 240,7077 }, { 241,7077 }, { 242,7077 }, { 243,7077 }, { 244,7077 }, + { 245,7077 }, { 246,7077 }, { 247,7077 }, { 248,7077 }, { 249,7077 }, + { 250,7077 }, { 251,7077 }, { 252,7077 }, { 253,7077 }, { 254,7077 }, + + { 255,7077 }, { 0, 71 }, { 0,25070 }, { 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 }, { 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 }, { 36,6820 }, { 0, 0 }, + { 38,-1783 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 48,6820 }, { 49,6820 }, { 50,6820 }, { 51,6820 }, { 52,6820 }, + { 53,6820 }, { 54,6820 }, { 55,6820 }, { 56,6820 }, { 57,6820 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,6820 }, { 66,6820 }, { 67,6820 }, + { 68,6820 }, { 69,6820 }, { 70,6820 }, { 71,6820 }, { 72,6820 }, + { 73,6820 }, { 74,6820 }, { 75,6820 }, { 76,6820 }, { 77,6820 }, + { 78,6820 }, { 79,6820 }, { 80,6820 }, { 81,6820 }, { 82,6820 }, + { 83,6820 }, { 84,6820 }, { 85,6820 }, { 86,6820 }, { 87,6820 }, + { 88,6820 }, { 89,6820 }, { 90,6820 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,6820 }, { 0, 0 }, { 97,6820 }, + + { 98,6820 }, { 99,6820 }, { 100,6820 }, { 101,6820 }, { 102,6820 }, + { 103,6820 }, { 104,6820 }, { 105,6820 }, { 106,6820 }, { 107,6820 }, + { 108,6820 }, { 109,6820 }, { 110,6820 }, { 111,6820 }, { 112,6820 }, + { 113,6820 }, { 114,6820 }, { 115,6820 }, { 116,6820 }, { 117,6820 }, + { 118,6820 }, { 119,6820 }, { 120,6820 }, { 121,6820 }, { 122,6820 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6820 }, { 129,6820 }, { 130,6820 }, { 131,6820 }, { 132,6820 }, + { 133,6820 }, { 134,6820 }, { 135,6820 }, { 136,6820 }, { 137,6820 }, + { 138,6820 }, { 139,6820 }, { 140,6820 }, { 141,6820 }, { 142,6820 }, + { 143,6820 }, { 144,6820 }, { 145,6820 }, { 146,6820 }, { 147,6820 }, + + { 148,6820 }, { 149,6820 }, { 150,6820 }, { 151,6820 }, { 152,6820 }, + { 153,6820 }, { 154,6820 }, { 155,6820 }, { 156,6820 }, { 157,6820 }, + { 158,6820 }, { 159,6820 }, { 160,6820 }, { 161,6820 }, { 162,6820 }, + { 163,6820 }, { 164,6820 }, { 165,6820 }, { 166,6820 }, { 167,6820 }, + { 168,6820 }, { 169,6820 }, { 170,6820 }, { 171,6820 }, { 172,6820 }, + { 173,6820 }, { 174,6820 }, { 175,6820 }, { 176,6820 }, { 177,6820 }, + { 178,6820 }, { 179,6820 }, { 180,6820 }, { 181,6820 }, { 182,6820 }, + { 183,6820 }, { 184,6820 }, { 185,6820 }, { 186,6820 }, { 187,6820 }, + { 188,6820 }, { 189,6820 }, { 190,6820 }, { 191,6820 }, { 192,6820 }, + { 193,6820 }, { 194,6820 }, { 195,6820 }, { 196,6820 }, { 197,6820 }, + + { 198,6820 }, { 199,6820 }, { 200,6820 }, { 201,6820 }, { 202,6820 }, + { 203,6820 }, { 204,6820 }, { 205,6820 }, { 206,6820 }, { 207,6820 }, + { 208,6820 }, { 209,6820 }, { 210,6820 }, { 211,6820 }, { 212,6820 }, + { 213,6820 }, { 214,6820 }, { 215,6820 }, { 216,6820 }, { 217,6820 }, + { 218,6820 }, { 219,6820 }, { 220,6820 }, { 221,6820 }, { 222,6820 }, + { 223,6820 }, { 224,6820 }, { 225,6820 }, { 226,6820 }, { 227,6820 }, + { 228,6820 }, { 229,6820 }, { 230,6820 }, { 231,6820 }, { 232,6820 }, + { 233,6820 }, { 234,6820 }, { 235,6820 }, { 236,6820 }, { 237,6820 }, + { 238,6820 }, { 239,6820 }, { 240,6820 }, { 241,6820 }, { 242,6820 }, + { 243,6820 }, { 244,6820 }, { 245,6820 }, { 246,6820 }, { 247,6820 }, + + { 248,6820 }, { 249,6820 }, { 250,6820 }, { 251,6820 }, { 252,6820 }, + { 253,6820 }, { 254,6820 }, { 255,6820 }, { 0, 71 }, { 0,24813 }, + { 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 }, { 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 }, + { 36,6563 }, { 0, 0 }, { 0, 0 }, { 39,-2038 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,6563 }, { 49,6563 }, { 50,6563 }, + { 51,6563 }, { 52,6563 }, { 53,6563 }, { 54,6563 }, { 55,6563 }, + { 56,6563 }, { 57,6563 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6563 }, + { 66,6563 }, { 67,6563 }, { 68,6563 }, { 69,6563 }, { 70,6563 }, + { 71,6563 }, { 72,6563 }, { 73,6563 }, { 74,6563 }, { 75,6563 }, + { 76,6563 }, { 77,6563 }, { 78,6563 }, { 79,6563 }, { 80,6563 }, + { 81,6563 }, { 82,6563 }, { 83,6563 }, { 84,6563 }, { 85,6563 }, + { 86,6563 }, { 87,6563 }, { 88,6563 }, { 89,6563 }, { 90,6563 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6563 }, + { 0, 0 }, { 97,6563 }, { 98,6563 }, { 99,6563 }, { 100,6563 }, + { 101,6563 }, { 102,6563 }, { 103,6563 }, { 104,6563 }, { 105,6563 }, + { 106,6563 }, { 107,6563 }, { 108,6563 }, { 109,6563 }, { 110,6563 }, + { 111,6563 }, { 112,6563 }, { 113,6563 }, { 114,6563 }, { 115,6563 }, + { 116,6563 }, { 117,6563 }, { 118,6563 }, { 119,6563 }, { 120,6563 }, + { 121,6563 }, { 122,6563 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,6563 }, { 129,6563 }, { 130,6563 }, + { 131,6563 }, { 132,6563 }, { 133,6563 }, { 134,6563 }, { 135,6563 }, + { 136,6563 }, { 137,6563 }, { 138,6563 }, { 139,6563 }, { 140,6563 }, + + { 141,6563 }, { 142,6563 }, { 143,6563 }, { 144,6563 }, { 145,6563 }, + { 146,6563 }, { 147,6563 }, { 148,6563 }, { 149,6563 }, { 150,6563 }, + { 151,6563 }, { 152,6563 }, { 153,6563 }, { 154,6563 }, { 155,6563 }, + { 156,6563 }, { 157,6563 }, { 158,6563 }, { 159,6563 }, { 160,6563 }, + { 161,6563 }, { 162,6563 }, { 163,6563 }, { 164,6563 }, { 165,6563 }, + { 166,6563 }, { 167,6563 }, { 168,6563 }, { 169,6563 }, { 170,6563 }, + { 171,6563 }, { 172,6563 }, { 173,6563 }, { 174,6563 }, { 175,6563 }, + { 176,6563 }, { 177,6563 }, { 178,6563 }, { 179,6563 }, { 180,6563 }, + { 181,6563 }, { 182,6563 }, { 183,6563 }, { 184,6563 }, { 185,6563 }, + { 186,6563 }, { 187,6563 }, { 188,6563 }, { 189,6563 }, { 190,6563 }, + + { 191,6563 }, { 192,6563 }, { 193,6563 }, { 194,6563 }, { 195,6563 }, + { 196,6563 }, { 197,6563 }, { 198,6563 }, { 199,6563 }, { 200,6563 }, + { 201,6563 }, { 202,6563 }, { 203,6563 }, { 204,6563 }, { 205,6563 }, + { 206,6563 }, { 207,6563 }, { 208,6563 }, { 209,6563 }, { 210,6563 }, + { 211,6563 }, { 212,6563 }, { 213,6563 }, { 214,6563 }, { 215,6563 }, + { 216,6563 }, { 217,6563 }, { 218,6563 }, { 219,6563 }, { 220,6563 }, + { 221,6563 }, { 222,6563 }, { 223,6563 }, { 224,6563 }, { 225,6563 }, + { 226,6563 }, { 227,6563 }, { 228,6563 }, { 229,6563 }, { 230,6563 }, + { 231,6563 }, { 232,6563 }, { 233,6563 }, { 234,6563 }, { 235,6563 }, + { 236,6563 }, { 237,6563 }, { 238,6563 }, { 239,6563 }, { 240,6563 }, + + { 241,6563 }, { 242,6563 }, { 243,6563 }, { 244,6563 }, { 245,6563 }, + { 246,6563 }, { 247,6563 }, { 248,6563 }, { 249,6563 }, { 250,6563 }, + { 251,6563 }, { 252,6563 }, { 253,6563 }, { 254,6563 }, { 255,6563 }, + { 0, 11 }, { 0,24556 }, { 1,6563 }, { 2,6563 }, { 3,6563 }, + { 4,6563 }, { 5,6563 }, { 6,6563 }, { 7,6563 }, { 8,6563 }, + { 9,6563 }, { 10,6563 }, { 11,6563 }, { 12,6563 }, { 13,6563 }, + { 14,6563 }, { 15,6563 }, { 16,6563 }, { 17,6563 }, { 18,6563 }, + { 19,6563 }, { 20,6563 }, { 21,6563 }, { 22,6563 }, { 23,6563 }, + { 24,6563 }, { 25,6563 }, { 26,6563 }, { 27,6563 }, { 28,6563 }, + { 29,6563 }, { 30,6563 }, { 31,6563 }, { 32,6563 }, { 33,6563 }, + + { 34,6563 }, { 35,6563 }, { 36,6563 }, { 37,6563 }, { 38,6563 }, + { 0, 0 }, { 40,6563 }, { 41,6563 }, { 42,6563 }, { 43,6563 }, + { 44,6563 }, { 45,6563 }, { 46,6563 }, { 47,6563 }, { 48,6563 }, + { 49,6563 }, { 50,6563 }, { 51,6563 }, { 52,6563 }, { 53,6563 }, + { 54,6563 }, { 55,6563 }, { 56,6563 }, { 57,6563 }, { 58,6563 }, + { 59,6563 }, { 60,6563 }, { 61,6563 }, { 62,6563 }, { 63,6563 }, + { 64,6563 }, { 65,6563 }, { 66,6563 }, { 67,6563 }, { 68,6563 }, + { 69,6563 }, { 70,6563 }, { 71,6563 }, { 72,6563 }, { 73,6563 }, + { 74,6563 }, { 75,6563 }, { 76,6563 }, { 77,6563 }, { 78,6563 }, + { 79,6563 }, { 80,6563 }, { 81,6563 }, { 82,6563 }, { 83,6563 }, + + { 84,6563 }, { 85,6563 }, { 86,6563 }, { 87,6563 }, { 88,6563 }, + { 89,6563 }, { 90,6563 }, { 91,6563 }, { 92,6563 }, { 93,6563 }, + { 94,6563 }, { 95,6563 }, { 96,6563 }, { 97,6563 }, { 98,6563 }, + { 99,6563 }, { 100,6563 }, { 101,6563 }, { 102,6563 }, { 103,6563 }, + { 104,6563 }, { 105,6563 }, { 106,6563 }, { 107,6563 }, { 108,6563 }, + { 109,6563 }, { 110,6563 }, { 111,6563 }, { 112,6563 }, { 113,6563 }, + { 114,6563 }, { 115,6563 }, { 116,6563 }, { 117,6563 }, { 118,6563 }, + { 119,6563 }, { 120,6563 }, { 121,6563 }, { 122,6563 }, { 123,6563 }, + { 124,6563 }, { 125,6563 }, { 126,6563 }, { 127,6563 }, { 128,6563 }, + { 129,6563 }, { 130,6563 }, { 131,6563 }, { 132,6563 }, { 133,6563 }, + + { 134,6563 }, { 135,6563 }, { 136,6563 }, { 137,6563 }, { 138,6563 }, + { 139,6563 }, { 140,6563 }, { 141,6563 }, { 142,6563 }, { 143,6563 }, + { 144,6563 }, { 145,6563 }, { 146,6563 }, { 147,6563 }, { 148,6563 }, + { 149,6563 }, { 150,6563 }, { 151,6563 }, { 152,6563 }, { 153,6563 }, + { 154,6563 }, { 155,6563 }, { 156,6563 }, { 157,6563 }, { 158,6563 }, + { 159,6563 }, { 160,6563 }, { 161,6563 }, { 162,6563 }, { 163,6563 }, + { 164,6563 }, { 165,6563 }, { 166,6563 }, { 167,6563 }, { 168,6563 }, + { 169,6563 }, { 170,6563 }, { 171,6563 }, { 172,6563 }, { 173,6563 }, + { 174,6563 }, { 175,6563 }, { 176,6563 }, { 177,6563 }, { 178,6563 }, + { 179,6563 }, { 180,6563 }, { 181,6563 }, { 182,6563 }, { 183,6563 }, + + { 184,6563 }, { 185,6563 }, { 186,6563 }, { 187,6563 }, { 188,6563 }, + { 189,6563 }, { 190,6563 }, { 191,6563 }, { 192,6563 }, { 193,6563 }, + { 194,6563 }, { 195,6563 }, { 196,6563 }, { 197,6563 }, { 198,6563 }, + { 199,6563 }, { 200,6563 }, { 201,6563 }, { 202,6563 }, { 203,6563 }, + { 204,6563 }, { 205,6563 }, { 206,6563 }, { 207,6563 }, { 208,6563 }, + { 209,6563 }, { 210,6563 }, { 211,6563 }, { 212,6563 }, { 213,6563 }, + { 214,6563 }, { 215,6563 }, { 216,6563 }, { 217,6563 }, { 218,6563 }, + { 219,6563 }, { 220,6563 }, { 221,6563 }, { 222,6563 }, { 223,6563 }, + { 224,6563 }, { 225,6563 }, { 226,6563 }, { 227,6563 }, { 228,6563 }, + { 229,6563 }, { 230,6563 }, { 231,6563 }, { 232,6563 }, { 233,6563 }, + + { 234,6563 }, { 235,6563 }, { 236,6563 }, { 237,6563 }, { 238,6563 }, + { 239,6563 }, { 240,6563 }, { 241,6563 }, { 242,6563 }, { 243,6563 }, + { 244,6563 }, { 245,6563 }, { 246,6563 }, { 247,6563 }, { 248,6563 }, + { 249,6563 }, { 250,6563 }, { 251,6563 }, { 252,6563 }, { 253,6563 }, + { 254,6563 }, { 255,6563 }, { 256,6563 }, { 0, 6 }, { 0,24298 }, + { 1,6563 }, { 2,6563 }, { 3,6563 }, { 4,6563 }, { 5,6563 }, + { 6,6563 }, { 7,6563 }, { 8,6563 }, { 9,6563 }, { 10,6563 }, + { 11,6563 }, { 12,6563 }, { 13,6563 }, { 14,6563 }, { 15,6563 }, + { 16,6563 }, { 17,6563 }, { 18,6563 }, { 19,6563 }, { 20,6563 }, + { 21,6563 }, { 22,6563 }, { 23,6563 }, { 24,6563 }, { 25,6563 }, + + { 26,6563 }, { 27,6563 }, { 28,6563 }, { 29,6563 }, { 30,6563 }, + { 31,6563 }, { 32,6563 }, { 33,6563 }, { 34,6563 }, { 35,6563 }, + { 36,6563 }, { 37,6563 }, { 38,6563 }, { 39,6563 }, { 40,6563 }, + { 41,6563 }, { 0, 0 }, { 43,6563 }, { 44,6563 }, { 45,6563 }, + { 46,6563 }, { 0, 0 }, { 48,6563 }, { 49,6563 }, { 50,6563 }, + { 51,6563 }, { 52,6563 }, { 53,6563 }, { 54,6563 }, { 55,6563 }, + { 56,6563 }, { 57,6563 }, { 58,6563 }, { 59,6563 }, { 60,6563 }, + { 61,6563 }, { 62,6563 }, { 63,6563 }, { 64,6563 }, { 65,6563 }, + { 66,6563 }, { 67,6563 }, { 68,6563 }, { 69,6563 }, { 70,6563 }, + { 71,6563 }, { 72,6563 }, { 73,6563 }, { 74,6563 }, { 75,6563 }, + + { 76,6563 }, { 77,6563 }, { 78,6563 }, { 79,6563 }, { 80,6563 }, + { 81,6563 }, { 82,6563 }, { 83,6563 }, { 84,6563 }, { 85,6563 }, + { 86,6563 }, { 87,6563 }, { 88,6563 }, { 89,6563 }, { 90,6563 }, + { 91,6563 }, { 92,6563 }, { 93,6563 }, { 94,6563 }, { 95,6563 }, + { 96,6563 }, { 97,6563 }, { 98,6563 }, { 99,6563 }, { 100,6563 }, + { 101,6563 }, { 102,6563 }, { 103,6563 }, { 104,6563 }, { 105,6563 }, + { 106,6563 }, { 107,6563 }, { 108,6563 }, { 109,6563 }, { 110,6563 }, + { 111,6563 }, { 112,6563 }, { 113,6563 }, { 114,6563 }, { 115,6563 }, + { 116,6563 }, { 117,6563 }, { 118,6563 }, { 119,6563 }, { 120,6563 }, + { 121,6563 }, { 122,6563 }, { 123,6563 }, { 124,6563 }, { 125,6563 }, + + { 126,6563 }, { 127,6563 }, { 128,6563 }, { 129,6563 }, { 130,6563 }, + { 131,6563 }, { 132,6563 }, { 133,6563 }, { 134,6563 }, { 135,6563 }, + { 136,6563 }, { 137,6563 }, { 138,6563 }, { 139,6563 }, { 140,6563 }, + { 141,6563 }, { 142,6563 }, { 143,6563 }, { 144,6563 }, { 145,6563 }, + { 146,6563 }, { 147,6563 }, { 148,6563 }, { 149,6563 }, { 150,6563 }, + { 151,6563 }, { 152,6563 }, { 153,6563 }, { 154,6563 }, { 155,6563 }, + { 156,6563 }, { 157,6563 }, { 158,6563 }, { 159,6563 }, { 160,6563 }, + { 161,6563 }, { 162,6563 }, { 163,6563 }, { 164,6563 }, { 165,6563 }, + { 166,6563 }, { 167,6563 }, { 168,6563 }, { 169,6563 }, { 170,6563 }, + { 171,6563 }, { 172,6563 }, { 173,6563 }, { 174,6563 }, { 175,6563 }, + + { 176,6563 }, { 177,6563 }, { 178,6563 }, { 179,6563 }, { 180,6563 }, + { 181,6563 }, { 182,6563 }, { 183,6563 }, { 184,6563 }, { 185,6563 }, + { 186,6563 }, { 187,6563 }, { 188,6563 }, { 189,6563 }, { 190,6563 }, + { 191,6563 }, { 192,6563 }, { 193,6563 }, { 194,6563 }, { 195,6563 }, + { 196,6563 }, { 197,6563 }, { 198,6563 }, { 199,6563 }, { 200,6563 }, + { 201,6563 }, { 202,6563 }, { 203,6563 }, { 204,6563 }, { 205,6563 }, + { 206,6563 }, { 207,6563 }, { 208,6563 }, { 209,6563 }, { 210,6563 }, + { 211,6563 }, { 212,6563 }, { 213,6563 }, { 214,6563 }, { 215,6563 }, + { 216,6563 }, { 217,6563 }, { 218,6563 }, { 219,6563 }, { 220,6563 }, + { 221,6563 }, { 222,6563 }, { 223,6563 }, { 224,6563 }, { 225,6563 }, + + { 226,6563 }, { 227,6563 }, { 228,6563 }, { 229,6563 }, { 230,6563 }, + { 231,6563 }, { 232,6563 }, { 233,6563 }, { 234,6563 }, { 235,6563 }, + { 236,6563 }, { 237,6563 }, { 238,6563 }, { 239,6563 }, { 240,6563 }, + { 241,6563 }, { 242,6563 }, { 243,6563 }, { 244,6563 }, { 245,6563 }, + { 246,6563 }, { 247,6563 }, { 248,6563 }, { 249,6563 }, { 250,6563 }, + { 251,6563 }, { 252,6563 }, { 253,6563 }, { 254,6563 }, { 255,6563 }, + { 256,6563 }, { 0, 6 }, { 0,24040 }, { 1,6305 }, { 2,6305 }, + { 3,6305 }, { 4,6305 }, { 5,6305 }, { 6,6305 }, { 7,6305 }, + { 8,6305 }, { 9,6305 }, { 10,6305 }, { 11,6305 }, { 12,6305 }, + { 13,6305 }, { 14,6305 }, { 15,6305 }, { 16,6305 }, { 17,6305 }, + + { 18,6305 }, { 19,6305 }, { 20,6305 }, { 21,6305 }, { 22,6305 }, + { 23,6305 }, { 24,6305 }, { 25,6305 }, { 26,6305 }, { 27,6305 }, + { 28,6305 }, { 29,6305 }, { 30,6305 }, { 31,6305 }, { 32,6305 }, + { 33,6305 }, { 34,6305 }, { 35,6305 }, { 36,6305 }, { 37,6305 }, + { 38,6305 }, { 39,6305 }, { 40,6305 }, { 41,6305 }, { 0, 0 }, + { 43,6305 }, { 44,6305 }, { 45,6305 }, { 46,6305 }, { 0, 0 }, + { 48,6305 }, { 49,6305 }, { 50,6305 }, { 51,6305 }, { 52,6305 }, + { 53,6305 }, { 54,6305 }, { 55,6305 }, { 56,6305 }, { 57,6305 }, + { 58,6305 }, { 59,6305 }, { 60,6305 }, { 61,6305 }, { 62,6305 }, + { 63,6305 }, { 64,6305 }, { 65,6305 }, { 66,6305 }, { 67,6305 }, + + { 68,6305 }, { 69,6305 }, { 70,6305 }, { 71,6305 }, { 72,6305 }, + { 73,6305 }, { 74,6305 }, { 75,6305 }, { 76,6305 }, { 77,6305 }, + { 78,6305 }, { 79,6305 }, { 80,6305 }, { 81,6305 }, { 82,6305 }, + { 83,6305 }, { 84,6305 }, { 85,6305 }, { 86,6305 }, { 87,6305 }, + { 88,6305 }, { 89,6305 }, { 90,6305 }, { 91,6305 }, { 92,6305 }, + { 93,6305 }, { 94,6305 }, { 95,6305 }, { 96,6305 }, { 97,6305 }, + { 98,6305 }, { 99,6305 }, { 100,6305 }, { 101,6305 }, { 102,6305 }, + { 103,6305 }, { 104,6305 }, { 105,6305 }, { 106,6305 }, { 107,6305 }, + { 108,6305 }, { 109,6305 }, { 110,6305 }, { 111,6305 }, { 112,6305 }, + { 113,6305 }, { 114,6305 }, { 115,6305 }, { 116,6305 }, { 117,6305 }, + + { 118,6305 }, { 119,6305 }, { 120,6305 }, { 121,6305 }, { 122,6305 }, + { 123,6305 }, { 124,6305 }, { 125,6305 }, { 126,6305 }, { 127,6305 }, + { 128,6305 }, { 129,6305 }, { 130,6305 }, { 131,6305 }, { 132,6305 }, + { 133,6305 }, { 134,6305 }, { 135,6305 }, { 136,6305 }, { 137,6305 }, + { 138,6305 }, { 139,6305 }, { 140,6305 }, { 141,6305 }, { 142,6305 }, + { 143,6305 }, { 144,6305 }, { 145,6305 }, { 146,6305 }, { 147,6305 }, + { 148,6305 }, { 149,6305 }, { 150,6305 }, { 151,6305 }, { 152,6305 }, + { 153,6305 }, { 154,6305 }, { 155,6305 }, { 156,6305 }, { 157,6305 }, + { 158,6305 }, { 159,6305 }, { 160,6305 }, { 161,6305 }, { 162,6305 }, + { 163,6305 }, { 164,6305 }, { 165,6305 }, { 166,6305 }, { 167,6305 }, + + { 168,6305 }, { 169,6305 }, { 170,6305 }, { 171,6305 }, { 172,6305 }, + { 173,6305 }, { 174,6305 }, { 175,6305 }, { 176,6305 }, { 177,6305 }, + { 178,6305 }, { 179,6305 }, { 180,6305 }, { 181,6305 }, { 182,6305 }, + { 183,6305 }, { 184,6305 }, { 185,6305 }, { 186,6305 }, { 187,6305 }, + { 188,6305 }, { 189,6305 }, { 190,6305 }, { 191,6305 }, { 192,6305 }, + { 193,6305 }, { 194,6305 }, { 195,6305 }, { 196,6305 }, { 197,6305 }, + { 198,6305 }, { 199,6305 }, { 200,6305 }, { 201,6305 }, { 202,6305 }, + { 203,6305 }, { 204,6305 }, { 205,6305 }, { 206,6305 }, { 207,6305 }, + { 208,6305 }, { 209,6305 }, { 210,6305 }, { 211,6305 }, { 212,6305 }, + { 213,6305 }, { 214,6305 }, { 215,6305 }, { 216,6305 }, { 217,6305 }, + + { 218,6305 }, { 219,6305 }, { 220,6305 }, { 221,6305 }, { 222,6305 }, + { 223,6305 }, { 224,6305 }, { 225,6305 }, { 226,6305 }, { 227,6305 }, + { 228,6305 }, { 229,6305 }, { 230,6305 }, { 231,6305 }, { 232,6305 }, + { 233,6305 }, { 234,6305 }, { 235,6305 }, { 236,6305 }, { 237,6305 }, + { 238,6305 }, { 239,6305 }, { 240,6305 }, { 241,6305 }, { 242,6305 }, + { 243,6305 }, { 244,6305 }, { 245,6305 }, { 246,6305 }, { 247,6305 }, + { 248,6305 }, { 249,6305 }, { 250,6305 }, { 251,6305 }, { 252,6305 }, + { 253,6305 }, { 254,6305 }, { 255,6305 }, { 256,6305 }, { 0, 44 }, + { 0,23782 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, { 4,6433 }, + { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, { 9,6433 }, + + { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, { 14,6433 }, + { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, { 19,6433 }, + { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, { 24,6433 }, + { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, { 29,6433 }, + { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, { 0, 0 }, + { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, { 39,6433 }, + { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, { 44,6433 }, + { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, { 49,6433 }, + { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, { 54,6433 }, + { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, { 59,6433 }, + + { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, { 64,6433 }, + { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, { 69,6433 }, + { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, { 74,6433 }, + { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, { 79,6433 }, + { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, { 84,6433 }, + { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, { 89,6433 }, + { 90,6433 }, { 91,6433 }, { 92,6433 }, { 93,6433 }, { 94,6433 }, + { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, { 99,6433 }, + { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, { 104,6433 }, + { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, { 109,6433 }, + + { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, { 114,6433 }, + { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, { 119,6433 }, + { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, { 124,6433 }, + { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, { 129,6433 }, + { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, { 134,6433 }, + { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, { 139,6433 }, + { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, { 144,6433 }, + { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, { 149,6433 }, + { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, { 154,6433 }, + { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, { 159,6433 }, + + { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, { 164,6433 }, + { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, { 169,6433 }, + { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, { 174,6433 }, + { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, { 179,6433 }, + { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, { 184,6433 }, + { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, { 189,6433 }, + { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, { 194,6433 }, + { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, { 199,6433 }, + { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, { 204,6433 }, + { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, { 209,6433 }, + + { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, { 214,6433 }, + { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, { 219,6433 }, + { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, { 224,6433 }, + { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, { 229,6433 }, + { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, { 234,6433 }, + { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, { 239,6433 }, + { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, { 244,6433 }, + { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, { 249,6433 }, + { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, { 254,6433 }, + { 255,6433 }, { 256,6433 }, { 0, 10 }, { 0,23524 }, { 1,6433 }, + + { 2,6433 }, { 3,6433 }, { 4,6433 }, { 5,6433 }, { 6,6433 }, + { 7,6433 }, { 8,6433 }, { 9,6433 }, { 10,6433 }, { 11,6433 }, + { 12,6433 }, { 13,6433 }, { 14,6433 }, { 15,6433 }, { 16,6433 }, + { 17,6433 }, { 18,6433 }, { 19,6433 }, { 20,6433 }, { 21,6433 }, + { 22,6433 }, { 23,6433 }, { 24,6433 }, { 25,6433 }, { 26,6433 }, + { 27,6433 }, { 28,6433 }, { 29,6433 }, { 30,6433 }, { 31,6433 }, + { 32,6433 }, { 33,6433 }, { 34,6433 }, { 35,6433 }, { 36,6433 }, + { 37,6433 }, { 38,6433 }, { 0, 0 }, { 40,6433 }, { 41,6433 }, + { 42,6433 }, { 43,6433 }, { 44,6433 }, { 45,6433 }, { 46,6433 }, + { 47,6433 }, { 48,6433 }, { 49,6433 }, { 50,6433 }, { 51,6433 }, + + { 52,6433 }, { 53,6433 }, { 54,6433 }, { 55,6433 }, { 56,6433 }, + { 57,6433 }, { 58,6433 }, { 59,6433 }, { 60,6433 }, { 61,6433 }, + { 62,6433 }, { 63,6433 }, { 64,6433 }, { 65,6433 }, { 66,6433 }, + { 67,6433 }, { 68,6433 }, { 69,6433 }, { 70,6433 }, { 71,6433 }, + { 72,6433 }, { 73,6433 }, { 74,6433 }, { 75,6433 }, { 76,6433 }, + { 77,6433 }, { 78,6433 }, { 79,6433 }, { 80,6433 }, { 81,6433 }, + { 82,6433 }, { 83,6433 }, { 84,6433 }, { 85,6433 }, { 86,6433 }, + { 87,6433 }, { 88,6433 }, { 89,6433 }, { 90,6433 }, { 91,6433 }, + { 92,6433 }, { 93,6433 }, { 94,6433 }, { 95,6433 }, { 96,6433 }, + { 97,6433 }, { 98,6433 }, { 99,6433 }, { 100,6433 }, { 101,6433 }, + + { 102,6433 }, { 103,6433 }, { 104,6433 }, { 105,6433 }, { 106,6433 }, + { 107,6433 }, { 108,6433 }, { 109,6433 }, { 110,6433 }, { 111,6433 }, + { 112,6433 }, { 113,6433 }, { 114,6433 }, { 115,6433 }, { 116,6433 }, + { 117,6433 }, { 118,6433 }, { 119,6433 }, { 120,6433 }, { 121,6433 }, + { 122,6433 }, { 123,6433 }, { 124,6433 }, { 125,6433 }, { 126,6433 }, + { 127,6433 }, { 128,6433 }, { 129,6433 }, { 130,6433 }, { 131,6433 }, + { 132,6433 }, { 133,6433 }, { 134,6433 }, { 135,6433 }, { 136,6433 }, + { 137,6433 }, { 138,6433 }, { 139,6433 }, { 140,6433 }, { 141,6433 }, + { 142,6433 }, { 143,6433 }, { 144,6433 }, { 145,6433 }, { 146,6433 }, + { 147,6433 }, { 148,6433 }, { 149,6433 }, { 150,6433 }, { 151,6433 }, + + { 152,6433 }, { 153,6433 }, { 154,6433 }, { 155,6433 }, { 156,6433 }, + { 157,6433 }, { 158,6433 }, { 159,6433 }, { 160,6433 }, { 161,6433 }, + { 162,6433 }, { 163,6433 }, { 164,6433 }, { 165,6433 }, { 166,6433 }, + { 167,6433 }, { 168,6433 }, { 169,6433 }, { 170,6433 }, { 171,6433 }, + { 172,6433 }, { 173,6433 }, { 174,6433 }, { 175,6433 }, { 176,6433 }, + { 177,6433 }, { 178,6433 }, { 179,6433 }, { 180,6433 }, { 181,6433 }, + { 182,6433 }, { 183,6433 }, { 184,6433 }, { 185,6433 }, { 186,6433 }, + { 187,6433 }, { 188,6433 }, { 189,6433 }, { 190,6433 }, { 191,6433 }, + { 192,6433 }, { 193,6433 }, { 194,6433 }, { 195,6433 }, { 196,6433 }, + { 197,6433 }, { 198,6433 }, { 199,6433 }, { 200,6433 }, { 201,6433 }, + + { 202,6433 }, { 203,6433 }, { 204,6433 }, { 205,6433 }, { 206,6433 }, + { 207,6433 }, { 208,6433 }, { 209,6433 }, { 210,6433 }, { 211,6433 }, + { 212,6433 }, { 213,6433 }, { 214,6433 }, { 215,6433 }, { 216,6433 }, + { 217,6433 }, { 218,6433 }, { 219,6433 }, { 220,6433 }, { 221,6433 }, + { 222,6433 }, { 223,6433 }, { 224,6433 }, { 225,6433 }, { 226,6433 }, + { 227,6433 }, { 228,6433 }, { 229,6433 }, { 230,6433 }, { 231,6433 }, + { 232,6433 }, { 233,6433 }, { 234,6433 }, { 235,6433 }, { 236,6433 }, + { 237,6433 }, { 238,6433 }, { 239,6433 }, { 240,6433 }, { 241,6433 }, + { 242,6433 }, { 243,6433 }, { 244,6433 }, { 245,6433 }, { 246,6433 }, + { 247,6433 }, { 248,6433 }, { 249,6433 }, { 250,6433 }, { 251,6433 }, + + { 252,6433 }, { 253,6433 }, { 254,6433 }, { 255,6433 }, { 256,6433 }, + { 0, 22 }, { 0,23266 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, + { 4,6433 }, { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, + { 9,6433 }, { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, + { 14,6433 }, { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, + { 19,6433 }, { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, + { 24,6433 }, { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, + { 29,6433 }, { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, + { 34,6433 }, { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, + { 0, 0 }, { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, + + { 44,6433 }, { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, + { 49,6433 }, { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, + { 54,6433 }, { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, + { 59,6433 }, { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, + { 64,6433 }, { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, + { 69,6433 }, { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, + { 74,6433 }, { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, + { 79,6433 }, { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, + { 84,6433 }, { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, + { 89,6433 }, { 90,6433 }, { 91,6433 }, { 92,6433 }, { 93,6433 }, + + { 94,6433 }, { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, + { 99,6433 }, { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, + { 104,6433 }, { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, + { 109,6433 }, { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, + { 114,6433 }, { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, + { 119,6433 }, { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, + { 124,6433 }, { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, + { 129,6433 }, { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, + { 134,6433 }, { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, + { 139,6433 }, { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, + + { 144,6433 }, { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, + { 149,6433 }, { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, + { 154,6433 }, { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, + { 159,6433 }, { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, + { 164,6433 }, { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, + { 169,6433 }, { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, + { 174,6433 }, { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, + { 179,6433 }, { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, + { 184,6433 }, { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, + { 189,6433 }, { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, + + { 194,6433 }, { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, + { 199,6433 }, { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, + { 204,6433 }, { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, + { 209,6433 }, { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, + { 214,6433 }, { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, + { 219,6433 }, { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, + { 224,6433 }, { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, + { 229,6433 }, { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, + { 234,6433 }, { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, + { 239,6433 }, { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, + + { 244,6433 }, { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, + { 249,6433 }, { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, + { 254,6433 }, { 255,6433 }, { 256,6433 }, { 0, 19 }, { 0,23008 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,23003 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,6433 }, { 10,6438 }, + { 11,6433 }, { 12,6433 }, { 13,6438 }, { 9,6457 }, { 10,6457 }, + { 11,6457 }, { 12,6457 }, { 13,6457 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,22979 }, { 0, 0 }, + { 0, 0 }, { 32,6433 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 32,6457 }, { 9,6433 }, { 10,6433 }, { 11,6433 }, + { 12,6433 }, { 13,6433 }, { 0, 0 }, { 39,-3831 }, { 45,-3828 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3833 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32,6433 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39,-3855 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3857 }, { 0, 23 }, + { 0,22932 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, { 4,6433 }, + { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, { 9,6433 }, + + { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, { 14,6433 }, + { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, { 19,6433 }, + { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, { 24,6433 }, + { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, { 29,6433 }, + { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, { 34,6433 }, + { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, { 0, 0 }, + { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, { 44,6433 }, + { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, { 49,6433 }, + { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, { 54,6433 }, + { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, { 59,6433 }, + + { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, { 64,6433 }, + { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, { 69,6433 }, + { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, { 74,6433 }, + { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, { 79,6433 }, + { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, { 84,6433 }, + { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, { 89,6433 }, + { 90,6433 }, { 91,6433 }, { 0, 0 }, { 93,6433 }, { 94,6433 }, + { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, { 99,6433 }, + { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, { 104,6433 }, + { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, { 109,6433 }, + + { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, { 114,6433 }, + { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, { 119,6433 }, + { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, { 124,6433 }, + { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, { 129,6433 }, + { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, { 134,6433 }, + { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, { 139,6433 }, + { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, { 144,6433 }, + { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, { 149,6433 }, + { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, { 154,6433 }, + { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, { 159,6433 }, + + { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, { 164,6433 }, + { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, { 169,6433 }, + { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, { 174,6433 }, + { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, { 179,6433 }, + { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, { 184,6433 }, + { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, { 189,6433 }, + { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, { 194,6433 }, + { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, { 199,6433 }, + { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, { 204,6433 }, + { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, { 209,6433 }, + + { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, { 214,6433 }, + { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, { 219,6433 }, + { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, { 224,6433 }, + { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, { 229,6433 }, + { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, { 234,6433 }, + { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, { 239,6433 }, + { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, { 244,6433 }, + { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, { 249,6433 }, + { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, { 254,6433 }, + { 255,6433 }, { 256,6433 }, { 0, 23 }, { 0,22674 }, { 1,6175 }, + + { 2,6175 }, { 3,6175 }, { 4,6175 }, { 5,6175 }, { 6,6175 }, + { 7,6175 }, { 8,6175 }, { 9,6175 }, { 10,6175 }, { 11,6175 }, + { 12,6175 }, { 13,6175 }, { 14,6175 }, { 15,6175 }, { 16,6175 }, + { 17,6175 }, { 18,6175 }, { 19,6175 }, { 20,6175 }, { 21,6175 }, + { 22,6175 }, { 23,6175 }, { 24,6175 }, { 25,6175 }, { 26,6175 }, + { 27,6175 }, { 28,6175 }, { 29,6175 }, { 30,6175 }, { 31,6175 }, + { 32,6175 }, { 33,6175 }, { 34,6175 }, { 35,6175 }, { 36,6175 }, + { 37,6175 }, { 38,6175 }, { 0, 0 }, { 40,6175 }, { 41,6175 }, + { 42,6175 }, { 43,6175 }, { 44,6175 }, { 45,6175 }, { 46,6175 }, + { 47,6175 }, { 48,6175 }, { 49,6175 }, { 50,6175 }, { 51,6175 }, + + { 52,6175 }, { 53,6175 }, { 54,6175 }, { 55,6175 }, { 56,6175 }, + { 57,6175 }, { 58,6175 }, { 59,6175 }, { 60,6175 }, { 61,6175 }, + { 62,6175 }, { 63,6175 }, { 64,6175 }, { 65,6175 }, { 66,6175 }, + { 67,6175 }, { 68,6175 }, { 69,6175 }, { 70,6175 }, { 71,6175 }, + { 72,6175 }, { 73,6175 }, { 74,6175 }, { 75,6175 }, { 76,6175 }, + { 77,6175 }, { 78,6175 }, { 79,6175 }, { 80,6175 }, { 81,6175 }, + { 82,6175 }, { 83,6175 }, { 84,6175 }, { 85,6175 }, { 86,6175 }, + { 87,6175 }, { 88,6175 }, { 89,6175 }, { 90,6175 }, { 91,6175 }, + { 0, 0 }, { 93,6175 }, { 94,6175 }, { 95,6175 }, { 96,6175 }, + { 97,6175 }, { 98,6175 }, { 99,6175 }, { 100,6175 }, { 101,6175 }, + + { 102,6175 }, { 103,6175 }, { 104,6175 }, { 105,6175 }, { 106,6175 }, + { 107,6175 }, { 108,6175 }, { 109,6175 }, { 110,6175 }, { 111,6175 }, + { 112,6175 }, { 113,6175 }, { 114,6175 }, { 115,6175 }, { 116,6175 }, + { 117,6175 }, { 118,6175 }, { 119,6175 }, { 120,6175 }, { 121,6175 }, + { 122,6175 }, { 123,6175 }, { 124,6175 }, { 125,6175 }, { 126,6175 }, + { 127,6175 }, { 128,6175 }, { 129,6175 }, { 130,6175 }, { 131,6175 }, + { 132,6175 }, { 133,6175 }, { 134,6175 }, { 135,6175 }, { 136,6175 }, + { 137,6175 }, { 138,6175 }, { 139,6175 }, { 140,6175 }, { 141,6175 }, + { 142,6175 }, { 143,6175 }, { 144,6175 }, { 145,6175 }, { 146,6175 }, + { 147,6175 }, { 148,6175 }, { 149,6175 }, { 150,6175 }, { 151,6175 }, + + { 152,6175 }, { 153,6175 }, { 154,6175 }, { 155,6175 }, { 156,6175 }, + { 157,6175 }, { 158,6175 }, { 159,6175 }, { 160,6175 }, { 161,6175 }, + { 162,6175 }, { 163,6175 }, { 164,6175 }, { 165,6175 }, { 166,6175 }, + { 167,6175 }, { 168,6175 }, { 169,6175 }, { 170,6175 }, { 171,6175 }, + { 172,6175 }, { 173,6175 }, { 174,6175 }, { 175,6175 }, { 176,6175 }, + { 177,6175 }, { 178,6175 }, { 179,6175 }, { 180,6175 }, { 181,6175 }, + { 182,6175 }, { 183,6175 }, { 184,6175 }, { 185,6175 }, { 186,6175 }, + { 187,6175 }, { 188,6175 }, { 189,6175 }, { 190,6175 }, { 191,6175 }, + { 192,6175 }, { 193,6175 }, { 194,6175 }, { 195,6175 }, { 196,6175 }, + { 197,6175 }, { 198,6175 }, { 199,6175 }, { 200,6175 }, { 201,6175 }, + + { 202,6175 }, { 203,6175 }, { 204,6175 }, { 205,6175 }, { 206,6175 }, + { 207,6175 }, { 208,6175 }, { 209,6175 }, { 210,6175 }, { 211,6175 }, + { 212,6175 }, { 213,6175 }, { 214,6175 }, { 215,6175 }, { 216,6175 }, + { 217,6175 }, { 218,6175 }, { 219,6175 }, { 220,6175 }, { 221,6175 }, + { 222,6175 }, { 223,6175 }, { 224,6175 }, { 225,6175 }, { 226,6175 }, + { 227,6175 }, { 228,6175 }, { 229,6175 }, { 230,6175 }, { 231,6175 }, + { 232,6175 }, { 233,6175 }, { 234,6175 }, { 235,6175 }, { 236,6175 }, + { 237,6175 }, { 238,6175 }, { 239,6175 }, { 240,6175 }, { 241,6175 }, + { 242,6175 }, { 243,6175 }, { 244,6175 }, { 245,6175 }, { 246,6175 }, + { 247,6175 }, { 248,6175 }, { 249,6175 }, { 250,6175 }, { 251,6175 }, + + { 252,6175 }, { 253,6175 }, { 254,6175 }, { 255,6175 }, { 256,6175 }, + { 0, 32 }, { 0,22416 }, { 1,-4416 }, { 2,-4416 }, { 3,-4416 }, + { 4,-4416 }, { 5,-4416 }, { 6,-4416 }, { 7,-4416 }, { 8,-4416 }, + { 9,-4416 }, { 10,-4416 }, { 11,-4416 }, { 12,-4416 }, { 13,-4416 }, + { 14,-4416 }, { 15,-4416 }, { 16,-4416 }, { 17,-4416 }, { 18,-4416 }, + { 19,-4416 }, { 20,-4416 }, { 21,-4416 }, { 22,-4416 }, { 23,-4416 }, + { 24,-4416 }, { 25,-4416 }, { 26,-4416 }, { 27,-4416 }, { 28,-4416 }, + { 29,-4416 }, { 30,-4416 }, { 31,-4416 }, { 32,-4416 }, { 33,-4416 }, + { 34,-4416 }, { 35,-4416 }, { 36,-4416 }, { 37,-4416 }, { 38,-4416 }, + { 39,-4416 }, { 40,-4416 }, { 41,-4416 }, { 42,-4416 }, { 43,-4416 }, + + { 44,-4416 }, { 45,-4416 }, { 46,-4416 }, { 47,-4416 }, { 48,6175 }, + { 49,6175 }, { 50,6175 }, { 51,6175 }, { 52,6175 }, { 53,6175 }, + { 54,6175 }, { 55,6175 }, { 56,-4416 }, { 57,-4416 }, { 58,-4416 }, + { 59,-4416 }, { 60,-4416 }, { 61,-4416 }, { 62,-4416 }, { 63,-4416 }, + { 64,-4416 }, { 65,-4416 }, { 66,-4416 }, { 67,-4416 }, { 68,-4416 }, + { 69,-4416 }, { 70,-4416 }, { 71,-4416 }, { 72,-4416 }, { 73,-4416 }, + { 74,-4416 }, { 75,-4416 }, { 76,-4416 }, { 77,-4416 }, { 78,-4416 }, + { 79,-4416 }, { 80,-4416 }, { 81,-4416 }, { 82,-4416 }, { 83,-4416 }, + { 84,-4416 }, { 85,6183 }, { 86,-4416 }, { 87,-4416 }, { 88,-4416 }, + { 89,-4416 }, { 90,-4416 }, { 91,-4416 }, { 92,-4416 }, { 93,-4416 }, + + { 94,-4416 }, { 95,-4416 }, { 96,-4416 }, { 97,-4416 }, { 98,-4416 }, + { 99,-4416 }, { 100,-4416 }, { 101,-4416 }, { 102,-4416 }, { 103,-4416 }, + { 104,-4416 }, { 105,-4416 }, { 106,-4416 }, { 107,-4416 }, { 108,-4416 }, + { 109,-4416 }, { 110,-4416 }, { 111,-4416 }, { 112,-4416 }, { 113,-4416 }, + { 114,-4416 }, { 115,-4416 }, { 116,-4416 }, { 117,6206 }, { 118,-4416 }, + { 119,-4416 }, { 120,6244 }, { 121,-4416 }, { 122,-4416 }, { 123,-4416 }, + { 124,-4416 }, { 125,-4416 }, { 126,-4416 }, { 127,-4416 }, { 128,-4416 }, + { 129,-4416 }, { 130,-4416 }, { 131,-4416 }, { 132,-4416 }, { 133,-4416 }, + { 134,-4416 }, { 135,-4416 }, { 136,-4416 }, { 137,-4416 }, { 138,-4416 }, + { 139,-4416 }, { 140,-4416 }, { 141,-4416 }, { 142,-4416 }, { 143,-4416 }, + + { 144,-4416 }, { 145,-4416 }, { 146,-4416 }, { 147,-4416 }, { 148,-4416 }, + { 149,-4416 }, { 150,-4416 }, { 151,-4416 }, { 152,-4416 }, { 153,-4416 }, + { 154,-4416 }, { 155,-4416 }, { 156,-4416 }, { 157,-4416 }, { 158,-4416 }, + { 159,-4416 }, { 160,-4416 }, { 161,-4416 }, { 162,-4416 }, { 163,-4416 }, + { 164,-4416 }, { 165,-4416 }, { 166,-4416 }, { 167,-4416 }, { 168,-4416 }, + { 169,-4416 }, { 170,-4416 }, { 171,-4416 }, { 172,-4416 }, { 173,-4416 }, + { 174,-4416 }, { 175,-4416 }, { 176,-4416 }, { 177,-4416 }, { 178,-4416 }, + { 179,-4416 }, { 180,-4416 }, { 181,-4416 }, { 182,-4416 }, { 183,-4416 }, + { 184,-4416 }, { 185,-4416 }, { 186,-4416 }, { 187,-4416 }, { 188,-4416 }, + { 189,-4416 }, { 190,-4416 }, { 191,-4416 }, { 192,-4416 }, { 193,-4416 }, + + { 194,-4416 }, { 195,-4416 }, { 196,-4416 }, { 197,-4416 }, { 198,-4416 }, + { 199,-4416 }, { 200,-4416 }, { 201,-4416 }, { 202,-4416 }, { 203,-4416 }, + { 204,-4416 }, { 205,-4416 }, { 206,-4416 }, { 207,-4416 }, { 208,-4416 }, + { 209,-4416 }, { 210,-4416 }, { 211,-4416 }, { 212,-4416 }, { 213,-4416 }, + { 214,-4416 }, { 215,-4416 }, { 216,-4416 }, { 217,-4416 }, { 218,-4416 }, + { 219,-4416 }, { 220,-4416 }, { 221,-4416 }, { 222,-4416 }, { 223,-4416 }, + { 224,-4416 }, { 225,-4416 }, { 226,-4416 }, { 227,-4416 }, { 228,-4416 }, + { 229,-4416 }, { 230,-4416 }, { 231,-4416 }, { 232,-4416 }, { 233,-4416 }, + { 234,-4416 }, { 235,-4416 }, { 236,-4416 }, { 237,-4416 }, { 238,-4416 }, + { 239,-4416 }, { 240,-4416 }, { 241,-4416 }, { 242,-4416 }, { 243,-4416 }, + + { 244,-4416 }, { 245,-4416 }, { 246,-4416 }, { 247,-4416 }, { 248,-4416 }, + { 249,-4416 }, { 250,-4416 }, { 251,-4416 }, { 252,-4416 }, { 253,-4416 }, + { 254,-4416 }, { 255,-4416 }, { 256,-4416 }, { 0, 36 }, { 0,22158 }, + { 1,6090 }, { 2,6090 }, { 3,6090 }, { 4,6090 }, { 5,6090 }, + { 6,6090 }, { 7,6090 }, { 8,6090 }, { 9,6090 }, { 10,6090 }, + { 11,6090 }, { 12,6090 }, { 13,6090 }, { 14,6090 }, { 15,6090 }, + { 16,6090 }, { 17,6090 }, { 18,6090 }, { 19,6090 }, { 20,6090 }, + { 21,6090 }, { 22,6090 }, { 23,6090 }, { 24,6090 }, { 25,6090 }, + { 26,6090 }, { 27,6090 }, { 28,6090 }, { 29,6090 }, { 30,6090 }, + { 31,6090 }, { 32,6090 }, { 33,6090 }, { 34,6090 }, { 35,6090 }, + + { 0, 0 }, { 37,6090 }, { 38,6090 }, { 39,6090 }, { 40,6090 }, + { 41,6090 }, { 42,6090 }, { 43,6090 }, { 44,6090 }, { 45,6090 }, + { 46,6090 }, { 47,6090 }, { 48,6090 }, { 49,6090 }, { 50,6090 }, + { 51,6090 }, { 52,6090 }, { 53,6090 }, { 54,6090 }, { 55,6090 }, + { 56,6090 }, { 57,6090 }, { 58,6090 }, { 59,6090 }, { 60,6090 }, + { 61,6090 }, { 62,6090 }, { 63,6090 }, { 64,6090 }, { 65,6090 }, + { 66,6090 }, { 67,6090 }, { 68,6090 }, { 69,6090 }, { 70,6090 }, + { 71,6090 }, { 72,6090 }, { 73,6090 }, { 74,6090 }, { 75,6090 }, + { 76,6090 }, { 77,6090 }, { 78,6090 }, { 79,6090 }, { 80,6090 }, + { 81,6090 }, { 82,6090 }, { 83,6090 }, { 84,6090 }, { 85,6090 }, + + { 86,6090 }, { 87,6090 }, { 88,6090 }, { 89,6090 }, { 90,6090 }, + { 91,6090 }, { 92,6090 }, { 93,6090 }, { 94,6090 }, { 95,6090 }, + { 96,6090 }, { 97,6090 }, { 98,6090 }, { 99,6090 }, { 100,6090 }, + { 101,6090 }, { 102,6090 }, { 103,6090 }, { 104,6090 }, { 105,6090 }, + { 106,6090 }, { 107,6090 }, { 108,6090 }, { 109,6090 }, { 110,6090 }, + { 111,6090 }, { 112,6090 }, { 113,6090 }, { 114,6090 }, { 115,6090 }, + { 116,6090 }, { 117,6090 }, { 118,6090 }, { 119,6090 }, { 120,6090 }, + { 121,6090 }, { 122,6090 }, { 123,6090 }, { 124,6090 }, { 125,6090 }, + { 126,6090 }, { 127,6090 }, { 128,6090 }, { 129,6090 }, { 130,6090 }, + { 131,6090 }, { 132,6090 }, { 133,6090 }, { 134,6090 }, { 135,6090 }, + + { 136,6090 }, { 137,6090 }, { 138,6090 }, { 139,6090 }, { 140,6090 }, + { 141,6090 }, { 142,6090 }, { 143,6090 }, { 144,6090 }, { 145,6090 }, + { 146,6090 }, { 147,6090 }, { 148,6090 }, { 149,6090 }, { 150,6090 }, + { 151,6090 }, { 152,6090 }, { 153,6090 }, { 154,6090 }, { 155,6090 }, + { 156,6090 }, { 157,6090 }, { 158,6090 }, { 159,6090 }, { 160,6090 }, + { 161,6090 }, { 162,6090 }, { 163,6090 }, { 164,6090 }, { 165,6090 }, + { 166,6090 }, { 167,6090 }, { 168,6090 }, { 169,6090 }, { 170,6090 }, + { 171,6090 }, { 172,6090 }, { 173,6090 }, { 174,6090 }, { 175,6090 }, + { 176,6090 }, { 177,6090 }, { 178,6090 }, { 179,6090 }, { 180,6090 }, + { 181,6090 }, { 182,6090 }, { 183,6090 }, { 184,6090 }, { 185,6090 }, + + { 186,6090 }, { 187,6090 }, { 188,6090 }, { 189,6090 }, { 190,6090 }, + { 191,6090 }, { 192,6090 }, { 193,6090 }, { 194,6090 }, { 195,6090 }, + { 196,6090 }, { 197,6090 }, { 198,6090 }, { 199,6090 }, { 200,6090 }, + { 201,6090 }, { 202,6090 }, { 203,6090 }, { 204,6090 }, { 205,6090 }, + { 206,6090 }, { 207,6090 }, { 208,6090 }, { 209,6090 }, { 210,6090 }, + { 211,6090 }, { 212,6090 }, { 213,6090 }, { 214,6090 }, { 215,6090 }, + { 216,6090 }, { 217,6090 }, { 218,6090 }, { 219,6090 }, { 220,6090 }, + { 221,6090 }, { 222,6090 }, { 223,6090 }, { 224,6090 }, { 225,6090 }, + { 226,6090 }, { 227,6090 }, { 228,6090 }, { 229,6090 }, { 230,6090 }, + { 231,6090 }, { 232,6090 }, { 233,6090 }, { 234,6090 }, { 235,6090 }, + + { 236,6090 }, { 237,6090 }, { 238,6090 }, { 239,6090 }, { 240,6090 }, + { 241,6090 }, { 242,6090 }, { 243,6090 }, { 244,6090 }, { 245,6090 }, + { 246,6090 }, { 247,6090 }, { 248,6090 }, { 249,6090 }, { 250,6090 }, + { 251,6090 }, { 252,6090 }, { 253,6090 }, { 254,6090 }, { 255,6090 }, + { 256,6090 }, { 0, 36 }, { 0,21900 }, { 1,5832 }, { 2,5832 }, + { 3,5832 }, { 4,5832 }, { 5,5832 }, { 6,5832 }, { 7,5832 }, + { 8,5832 }, { 9,5832 }, { 10,5832 }, { 11,5832 }, { 12,5832 }, + { 13,5832 }, { 14,5832 }, { 15,5832 }, { 16,5832 }, { 17,5832 }, + { 18,5832 }, { 19,5832 }, { 20,5832 }, { 21,5832 }, { 22,5832 }, + { 23,5832 }, { 24,5832 }, { 25,5832 }, { 26,5832 }, { 27,5832 }, + + { 28,5832 }, { 29,5832 }, { 30,5832 }, { 31,5832 }, { 32,5832 }, + { 33,5832 }, { 34,5832 }, { 35,5832 }, { 0, 0 }, { 37,5832 }, + { 38,5832 }, { 39,5832 }, { 40,5832 }, { 41,5832 }, { 42,5832 }, + { 43,5832 }, { 44,5832 }, { 45,5832 }, { 46,5832 }, { 47,5832 }, + { 48,5832 }, { 49,5832 }, { 50,5832 }, { 51,5832 }, { 52,5832 }, + { 53,5832 }, { 54,5832 }, { 55,5832 }, { 56,5832 }, { 57,5832 }, + { 58,5832 }, { 59,5832 }, { 60,5832 }, { 61,5832 }, { 62,5832 }, + { 63,5832 }, { 64,5832 }, { 65,5832 }, { 66,5832 }, { 67,5832 }, + { 68,5832 }, { 69,5832 }, { 70,5832 }, { 71,5832 }, { 72,5832 }, + { 73,5832 }, { 74,5832 }, { 75,5832 }, { 76,5832 }, { 77,5832 }, + + { 78,5832 }, { 79,5832 }, { 80,5832 }, { 81,5832 }, { 82,5832 }, + { 83,5832 }, { 84,5832 }, { 85,5832 }, { 86,5832 }, { 87,5832 }, + { 88,5832 }, { 89,5832 }, { 90,5832 }, { 91,5832 }, { 92,5832 }, + { 93,5832 }, { 94,5832 }, { 95,5832 }, { 96,5832 }, { 97,5832 }, + { 98,5832 }, { 99,5832 }, { 100,5832 }, { 101,5832 }, { 102,5832 }, + { 103,5832 }, { 104,5832 }, { 105,5832 }, { 106,5832 }, { 107,5832 }, + { 108,5832 }, { 109,5832 }, { 110,5832 }, { 111,5832 }, { 112,5832 }, + { 113,5832 }, { 114,5832 }, { 115,5832 }, { 116,5832 }, { 117,5832 }, + { 118,5832 }, { 119,5832 }, { 120,5832 }, { 121,5832 }, { 122,5832 }, + { 123,5832 }, { 124,5832 }, { 125,5832 }, { 126,5832 }, { 127,5832 }, + + { 128,5832 }, { 129,5832 }, { 130,5832 }, { 131,5832 }, { 132,5832 }, + { 133,5832 }, { 134,5832 }, { 135,5832 }, { 136,5832 }, { 137,5832 }, + { 138,5832 }, { 139,5832 }, { 140,5832 }, { 141,5832 }, { 142,5832 }, + { 143,5832 }, { 144,5832 }, { 145,5832 }, { 146,5832 }, { 147,5832 }, + { 148,5832 }, { 149,5832 }, { 150,5832 }, { 151,5832 }, { 152,5832 }, + { 153,5832 }, { 154,5832 }, { 155,5832 }, { 156,5832 }, { 157,5832 }, + { 158,5832 }, { 159,5832 }, { 160,5832 }, { 161,5832 }, { 162,5832 }, + { 163,5832 }, { 164,5832 }, { 165,5832 }, { 166,5832 }, { 167,5832 }, + { 168,5832 }, { 169,5832 }, { 170,5832 }, { 171,5832 }, { 172,5832 }, + { 173,5832 }, { 174,5832 }, { 175,5832 }, { 176,5832 }, { 177,5832 }, + + { 178,5832 }, { 179,5832 }, { 180,5832 }, { 181,5832 }, { 182,5832 }, + { 183,5832 }, { 184,5832 }, { 185,5832 }, { 186,5832 }, { 187,5832 }, + { 188,5832 }, { 189,5832 }, { 190,5832 }, { 191,5832 }, { 192,5832 }, + { 193,5832 }, { 194,5832 }, { 195,5832 }, { 196,5832 }, { 197,5832 }, + { 198,5832 }, { 199,5832 }, { 200,5832 }, { 201,5832 }, { 202,5832 }, + { 203,5832 }, { 204,5832 }, { 205,5832 }, { 206,5832 }, { 207,5832 }, + { 208,5832 }, { 209,5832 }, { 210,5832 }, { 211,5832 }, { 212,5832 }, + { 213,5832 }, { 214,5832 }, { 215,5832 }, { 216,5832 }, { 217,5832 }, + { 218,5832 }, { 219,5832 }, { 220,5832 }, { 221,5832 }, { 222,5832 }, + { 223,5832 }, { 224,5832 }, { 225,5832 }, { 226,5832 }, { 227,5832 }, + + { 228,5832 }, { 229,5832 }, { 230,5832 }, { 231,5832 }, { 232,5832 }, + { 233,5832 }, { 234,5832 }, { 235,5832 }, { 236,5832 }, { 237,5832 }, + { 238,5832 }, { 239,5832 }, { 240,5832 }, { 241,5832 }, { 242,5832 }, + { 243,5832 }, { 244,5832 }, { 245,5832 }, { 246,5832 }, { 247,5832 }, + { 248,5832 }, { 249,5832 }, { 250,5832 }, { 251,5832 }, { 252,5832 }, + { 253,5832 }, { 254,5832 }, { 255,5832 }, { 256,5832 }, { 0, 38 }, + { 0,21642 }, { 0, 1 }, { 0,21640 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, + { 13, 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 }, { 32, 0 }, + { 0, 0 }, { 36,-5188 }, { 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 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,5832 }, { 66,5832 }, { 67,5832 }, { 68,5832 }, { 69,5832 }, + + { 70,5832 }, { 71,5832 }, { 72,5832 }, { 73,5832 }, { 74,5832 }, + { 75,5832 }, { 76,5832 }, { 77,5832 }, { 78,5832 }, { 79,5832 }, + { 80,5832 }, { 81,5832 }, { 82,5832 }, { 83,5832 }, { 84,5832 }, + { 85,5832 }, { 86,5832 }, { 87,5832 }, { 88,5832 }, { 89,5832 }, + { 90,5832 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,5832 }, { 0, 0 }, { 97,5832 }, { 98,5832 }, { 99,5832 }, + { 100,5832 }, { 101,5832 }, { 102,5832 }, { 103,5832 }, { 104,5832 }, + { 105,5832 }, { 106,5832 }, { 107,5832 }, { 108,5832 }, { 109,5832 }, + { 110,5832 }, { 111,5832 }, { 112,5832 }, { 113,5832 }, { 114,5832 }, + { 115,5832 }, { 116,5832 }, { 117,5832 }, { 118,5832 }, { 119,5832 }, + + { 120,5832 }, { 121,5832 }, { 122,5832 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5832 }, { 129,5832 }, + { 130,5832 }, { 131,5832 }, { 132,5832 }, { 133,5832 }, { 134,5832 }, + { 135,5832 }, { 136,5832 }, { 137,5832 }, { 138,5832 }, { 139,5832 }, + { 140,5832 }, { 141,5832 }, { 142,5832 }, { 143,5832 }, { 144,5832 }, + { 145,5832 }, { 146,5832 }, { 147,5832 }, { 148,5832 }, { 149,5832 }, + { 150,5832 }, { 151,5832 }, { 152,5832 }, { 153,5832 }, { 154,5832 }, + { 155,5832 }, { 156,5832 }, { 157,5832 }, { 158,5832 }, { 159,5832 }, + { 160,5832 }, { 161,5832 }, { 162,5832 }, { 163,5832 }, { 164,5832 }, + { 165,5832 }, { 166,5832 }, { 167,5832 }, { 168,5832 }, { 169,5832 }, + + { 170,5832 }, { 171,5832 }, { 172,5832 }, { 173,5832 }, { 174,5832 }, + { 175,5832 }, { 176,5832 }, { 177,5832 }, { 178,5832 }, { 179,5832 }, + { 180,5832 }, { 181,5832 }, { 182,5832 }, { 183,5832 }, { 184,5832 }, + { 185,5832 }, { 186,5832 }, { 187,5832 }, { 188,5832 }, { 189,5832 }, + { 190,5832 }, { 191,5832 }, { 192,5832 }, { 193,5832 }, { 194,5832 }, + { 195,5832 }, { 196,5832 }, { 197,5832 }, { 198,5832 }, { 199,5832 }, + { 200,5832 }, { 201,5832 }, { 202,5832 }, { 203,5832 }, { 204,5832 }, + { 205,5832 }, { 206,5832 }, { 207,5832 }, { 208,5832 }, { 209,5832 }, + { 210,5832 }, { 211,5832 }, { 212,5832 }, { 213,5832 }, { 214,5832 }, + { 215,5832 }, { 216,5832 }, { 217,5832 }, { 218,5832 }, { 219,5832 }, + + { 220,5832 }, { 221,5832 }, { 222,5832 }, { 223,5832 }, { 224,5832 }, + { 225,5832 }, { 226,5832 }, { 227,5832 }, { 228,5832 }, { 229,5832 }, + { 230,5832 }, { 231,5832 }, { 232,5832 }, { 233,5832 }, { 234,5832 }, + { 235,5832 }, { 236,5832 }, { 237,5832 }, { 238,5832 }, { 239,5832 }, + { 240,5832 }, { 241,5832 }, { 242,5832 }, { 243,5832 }, { 244,5832 }, + { 245,5832 }, { 246,5832 }, { 247,5832 }, { 248,5832 }, { 249,5832 }, + { 250,5832 }, { 251,5832 }, { 252,5832 }, { 253,5832 }, { 254,5832 }, + { 255,5832 }, { 0, 55 }, { 0,21385 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 53 }, { 0,21374 }, { 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, 56 }, + { 0,21357 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, + { 43, 0 }, { 33, -11 }, { 45, 0 }, { 35, -11 }, { 47, 0 }, + { 37, -11 }, { 38, -11 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42, -11 }, { 43, -11 }, { 0, 0 }, { 45, -11 }, { 0, 0 }, + { 47, -11 }, { 0, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + + { 63, 0 }, { 64, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60, -11 }, { 61, -11 }, + { 62, -11 }, { 63, -11 }, { 64, -11 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 34 }, { 0,21294 }, { 0, 0 }, + { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94, -11 }, { 0, 0 }, { 96, -11 }, + { 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 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, { 36,-5810 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 124, -11 }, { 0, 0 }, { 126, -11 }, + { 0, 0 }, { 48,5823 }, { 49,5823 }, { 50,5823 }, { 51,5823 }, + { 52,5823 }, { 53,5823 }, { 54,5823 }, { 55,5823 }, { 56,5823 }, + { 57,5823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5823 }, { 66,5823 }, + { 67,5823 }, { 68,5823 }, { 69,5823 }, { 70,5823 }, { 71,5823 }, + + { 72,5823 }, { 73,5823 }, { 74,5823 }, { 75,5823 }, { 76,5823 }, + { 77,5823 }, { 78,5823 }, { 79,5823 }, { 80,5823 }, { 81,5823 }, + { 82,5823 }, { 83,5823 }, { 84,5823 }, { 85,5823 }, { 86,5823 }, + { 87,5823 }, { 88,5823 }, { 89,5823 }, { 90,5823 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5823 }, { 0, 0 }, + { 97,5823 }, { 98,5823 }, { 99,5823 }, { 100,5823 }, { 101,5823 }, + { 102,5823 }, { 103,5823 }, { 104,5823 }, { 105,5823 }, { 106,5823 }, + { 107,5823 }, { 108,5823 }, { 109,5823 }, { 110,5823 }, { 111,5823 }, + { 112,5823 }, { 113,5823 }, { 114,5823 }, { 115,5823 }, { 116,5823 }, + { 117,5823 }, { 118,5823 }, { 119,5823 }, { 120,5823 }, { 121,5823 }, + + { 122,5823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,5823 }, { 129,5823 }, { 130,5823 }, { 131,5823 }, + { 132,5823 }, { 133,5823 }, { 134,5823 }, { 135,5823 }, { 136,5823 }, + { 137,5823 }, { 138,5823 }, { 139,5823 }, { 140,5823 }, { 141,5823 }, + { 142,5823 }, { 143,5823 }, { 144,5823 }, { 145,5823 }, { 146,5823 }, + { 147,5823 }, { 148,5823 }, { 149,5823 }, { 150,5823 }, { 151,5823 }, + { 152,5823 }, { 153,5823 }, { 154,5823 }, { 155,5823 }, { 156,5823 }, + { 157,5823 }, { 158,5823 }, { 159,5823 }, { 160,5823 }, { 161,5823 }, + { 162,5823 }, { 163,5823 }, { 164,5823 }, { 165,5823 }, { 166,5823 }, + { 167,5823 }, { 168,5823 }, { 169,5823 }, { 170,5823 }, { 171,5823 }, + + { 172,5823 }, { 173,5823 }, { 174,5823 }, { 175,5823 }, { 176,5823 }, + { 177,5823 }, { 178,5823 }, { 179,5823 }, { 180,5823 }, { 181,5823 }, + { 182,5823 }, { 183,5823 }, { 184,5823 }, { 185,5823 }, { 186,5823 }, + { 187,5823 }, { 188,5823 }, { 189,5823 }, { 190,5823 }, { 191,5823 }, + { 192,5823 }, { 193,5823 }, { 194,5823 }, { 195,5823 }, { 196,5823 }, + { 197,5823 }, { 198,5823 }, { 199,5823 }, { 200,5823 }, { 201,5823 }, + { 202,5823 }, { 203,5823 }, { 204,5823 }, { 205,5823 }, { 206,5823 }, + { 207,5823 }, { 208,5823 }, { 209,5823 }, { 210,5823 }, { 211,5823 }, + { 212,5823 }, { 213,5823 }, { 214,5823 }, { 215,5823 }, { 216,5823 }, + { 217,5823 }, { 218,5823 }, { 219,5823 }, { 220,5823 }, { 221,5823 }, + + { 222,5823 }, { 223,5823 }, { 224,5823 }, { 225,5823 }, { 226,5823 }, + { 227,5823 }, { 228,5823 }, { 229,5823 }, { 230,5823 }, { 231,5823 }, + { 232,5823 }, { 233,5823 }, { 234,5823 }, { 235,5823 }, { 236,5823 }, + { 237,5823 }, { 238,5823 }, { 239,5823 }, { 240,5823 }, { 241,5823 }, + { 242,5823 }, { 243,5823 }, { 244,5823 }, { 245,5823 }, { 246,5823 }, + { 247,5823 }, { 248,5823 }, { 249,5823 }, { 250,5823 }, { 251,5823 }, + { 252,5823 }, { 253,5823 }, { 254,5823 }, { 255,5823 }, { 0, 2 }, + { 0,21037 }, { 1,5823 }, { 2,5823 }, { 3,5823 }, { 4,5823 }, + { 5,5823 }, { 6,5823 }, { 7,5823 }, { 8,5823 }, { 9,5823 }, + { 0, 0 }, { 11,5823 }, { 12,5823 }, { 0, 0 }, { 14,5823 }, + + { 15,5823 }, { 16,5823 }, { 17,5823 }, { 18,5823 }, { 19,5823 }, + { 20,5823 }, { 21,5823 }, { 22,5823 }, { 23,5823 }, { 24,5823 }, + { 25,5823 }, { 26,5823 }, { 27,5823 }, { 28,5823 }, { 29,5823 }, + { 30,5823 }, { 31,5823 }, { 32,5823 }, { 33,6081 }, { 34,5823 }, + { 35,6081 }, { 36,5823 }, { 37,6081 }, { 38,6081 }, { 39,5823 }, + { 40,5823 }, { 41,5823 }, { 42,6081 }, { 43,6081 }, { 44,5823 }, + { 45,6081 }, { 46,5823 }, { 47,6081 }, { 48,5823 }, { 49,5823 }, + { 50,5823 }, { 51,5823 }, { 52,5823 }, { 53,5823 }, { 54,5823 }, + { 55,5823 }, { 56,5823 }, { 57,5823 }, { 58,5823 }, { 59,5823 }, + { 60,6081 }, { 61,6081 }, { 62,6081 }, { 63,6081 }, { 64,6081 }, + + { 65,5823 }, { 66,5823 }, { 67,5823 }, { 68,5823 }, { 69,5823 }, + { 70,5823 }, { 71,5823 }, { 72,5823 }, { 73,5823 }, { 74,5823 }, + { 75,5823 }, { 76,5823 }, { 77,5823 }, { 78,5823 }, { 79,5823 }, + { 80,5823 }, { 81,5823 }, { 82,5823 }, { 83,5823 }, { 84,5823 }, + { 85,5823 }, { 86,5823 }, { 87,5823 }, { 88,5823 }, { 89,5823 }, + { 90,5823 }, { 91,5823 }, { 92,5823 }, { 93,5823 }, { 94,6081 }, + { 95,5823 }, { 96,6081 }, { 97,5823 }, { 98,5823 }, { 99,5823 }, + { 100,5823 }, { 101,5823 }, { 102,5823 }, { 103,5823 }, { 104,5823 }, + { 105,5823 }, { 106,5823 }, { 107,5823 }, { 108,5823 }, { 109,5823 }, + { 110,5823 }, { 111,5823 }, { 112,5823 }, { 113,5823 }, { 114,5823 }, + + { 115,5823 }, { 116,5823 }, { 117,5823 }, { 118,5823 }, { 119,5823 }, + { 120,5823 }, { 121,5823 }, { 122,5823 }, { 123,5823 }, { 124,6081 }, + { 125,5823 }, { 126,6081 }, { 127,5823 }, { 128,5823 }, { 129,5823 }, + { 130,5823 }, { 131,5823 }, { 132,5823 }, { 133,5823 }, { 134,5823 }, + { 135,5823 }, { 136,5823 }, { 137,5823 }, { 138,5823 }, { 139,5823 }, + { 140,5823 }, { 141,5823 }, { 142,5823 }, { 143,5823 }, { 144,5823 }, + { 145,5823 }, { 146,5823 }, { 147,5823 }, { 148,5823 }, { 149,5823 }, + { 150,5823 }, { 151,5823 }, { 152,5823 }, { 153,5823 }, { 154,5823 }, + { 155,5823 }, { 156,5823 }, { 157,5823 }, { 158,5823 }, { 159,5823 }, + { 160,5823 }, { 161,5823 }, { 162,5823 }, { 163,5823 }, { 164,5823 }, + + { 165,5823 }, { 166,5823 }, { 167,5823 }, { 168,5823 }, { 169,5823 }, + { 170,5823 }, { 171,5823 }, { 172,5823 }, { 173,5823 }, { 174,5823 }, + { 175,5823 }, { 176,5823 }, { 177,5823 }, { 178,5823 }, { 179,5823 }, + { 180,5823 }, { 181,5823 }, { 182,5823 }, { 183,5823 }, { 184,5823 }, + { 185,5823 }, { 186,5823 }, { 187,5823 }, { 188,5823 }, { 189,5823 }, + { 190,5823 }, { 191,5823 }, { 192,5823 }, { 193,5823 }, { 194,5823 }, + { 195,5823 }, { 196,5823 }, { 197,5823 }, { 198,5823 }, { 199,5823 }, + { 200,5823 }, { 201,5823 }, { 202,5823 }, { 203,5823 }, { 204,5823 }, + { 205,5823 }, { 206,5823 }, { 207,5823 }, { 208,5823 }, { 209,5823 }, + { 210,5823 }, { 211,5823 }, { 212,5823 }, { 213,5823 }, { 214,5823 }, + + { 215,5823 }, { 216,5823 }, { 217,5823 }, { 218,5823 }, { 219,5823 }, + { 220,5823 }, { 221,5823 }, { 222,5823 }, { 223,5823 }, { 224,5823 }, + { 225,5823 }, { 226,5823 }, { 227,5823 }, { 228,5823 }, { 229,5823 }, + { 230,5823 }, { 231,5823 }, { 232,5823 }, { 233,5823 }, { 234,5823 }, + { 235,5823 }, { 236,5823 }, { 237,5823 }, { 238,5823 }, { 239,5823 }, + { 240,5823 }, { 241,5823 }, { 242,5823 }, { 243,5823 }, { 244,5823 }, + { 245,5823 }, { 246,5823 }, { 247,5823 }, { 248,5823 }, { 249,5823 }, + { 250,5823 }, { 251,5823 }, { 252,5823 }, { 253,5823 }, { 254,5823 }, + { 255,5823 }, { 256,5823 }, { 0, 64 }, { 0,20779 }, { 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 }, + { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,6081 }, { 49,6081 }, { 50,6081 }, { 51,6081 }, + { 52,6081 }, { 53,6081 }, { 54,6081 }, { 55,6081 }, { 56,6081 }, + + { 57,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6338 }, { 66,6338 }, + { 67,6338 }, { 68,6338 }, { 69,6595 }, { 70,6338 }, { 71,6338 }, + { 72,6338 }, { 73,6338 }, { 74,6338 }, { 75,6338 }, { 76,6338 }, + { 77,6338 }, { 78,6338 }, { 79,6338 }, { 80,6338 }, { 81,6338 }, + { 82,6338 }, { 83,6338 }, { 84,6338 }, { 85,6338 }, { 86,6338 }, + { 87,6338 }, { 88,6338 }, { 89,6338 }, { 90,6338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6852 }, { 0, 0 }, + { 97,6338 }, { 98,6338 }, { 99,6338 }, { 100,6338 }, { 101,6595 }, + { 102,6338 }, { 103,6338 }, { 104,6338 }, { 105,6338 }, { 106,6338 }, + + { 107,6338 }, { 108,6338 }, { 109,6338 }, { 110,6338 }, { 111,6338 }, + { 112,6338 }, { 113,6338 }, { 114,6338 }, { 115,6338 }, { 116,6338 }, + { 117,6338 }, { 118,6338 }, { 119,6338 }, { 120,6338 }, { 121,6338 }, + { 122,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,6338 }, { 129,6338 }, { 130,6338 }, { 131,6338 }, + { 132,6338 }, { 133,6338 }, { 134,6338 }, { 135,6338 }, { 136,6338 }, + { 137,6338 }, { 138,6338 }, { 139,6338 }, { 140,6338 }, { 141,6338 }, + { 142,6338 }, { 143,6338 }, { 144,6338 }, { 145,6338 }, { 146,6338 }, + { 147,6338 }, { 148,6338 }, { 149,6338 }, { 150,6338 }, { 151,6338 }, + { 152,6338 }, { 153,6338 }, { 154,6338 }, { 155,6338 }, { 156,6338 }, + + { 157,6338 }, { 158,6338 }, { 159,6338 }, { 160,6338 }, { 161,6338 }, + { 162,6338 }, { 163,6338 }, { 164,6338 }, { 165,6338 }, { 166,6338 }, + { 167,6338 }, { 168,6338 }, { 169,6338 }, { 170,6338 }, { 171,6338 }, + { 172,6338 }, { 173,6338 }, { 174,6338 }, { 175,6338 }, { 176,6338 }, + { 177,6338 }, { 178,6338 }, { 179,6338 }, { 180,6338 }, { 181,6338 }, + { 182,6338 }, { 183,6338 }, { 184,6338 }, { 185,6338 }, { 186,6338 }, + { 187,6338 }, { 188,6338 }, { 189,6338 }, { 190,6338 }, { 191,6338 }, + { 192,6338 }, { 193,6338 }, { 194,6338 }, { 195,6338 }, { 196,6338 }, + { 197,6338 }, { 198,6338 }, { 199,6338 }, { 200,6338 }, { 201,6338 }, + { 202,6338 }, { 203,6338 }, { 204,6338 }, { 205,6338 }, { 206,6338 }, + + { 207,6338 }, { 208,6338 }, { 209,6338 }, { 210,6338 }, { 211,6338 }, + { 212,6338 }, { 213,6338 }, { 214,6338 }, { 215,6338 }, { 216,6338 }, + { 217,6338 }, { 218,6338 }, { 219,6338 }, { 220,6338 }, { 221,6338 }, + { 222,6338 }, { 223,6338 }, { 224,6338 }, { 225,6338 }, { 226,6338 }, + { 227,6338 }, { 228,6338 }, { 229,6338 }, { 230,6338 }, { 231,6338 }, + { 232,6338 }, { 233,6338 }, { 234,6338 }, { 235,6338 }, { 236,6338 }, + { 237,6338 }, { 238,6338 }, { 239,6338 }, { 240,6338 }, { 241,6338 }, + { 242,6338 }, { 243,6338 }, { 244,6338 }, { 245,6338 }, { 246,6338 }, + { 247,6338 }, { 248,6338 }, { 249,6338 }, { 250,6338 }, { 251,6338 }, + { 252,6338 }, { 253,6338 }, { 254,6338 }, { 255,6338 }, { 0, 3 }, - { 60, -11 }, { 61, -11 }, { 62, -11 }, { 63, -11 }, { 64, -11 }, - { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, - { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 34 }, - { 0,9428 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, - { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, -11 }, - { 0, 0 }, { 96, -11 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0,20522 }, { 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 }, { 124, 0 }, { 0, 0 }, - { 126, 0 }, { 36,-5802 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, -11 }, - { 0, 0 }, { 126, -11 }, { 0, 0 }, { 48,4373 }, { 49,4373 }, - { 50,4373 }, { 51,4373 }, { 52,4373 }, { 53,4373 }, { 54,4373 }, - { 55,4373 }, { 56,4373 }, { 57,4373 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,4373 }, { 66,4373 }, { 67,4373 }, { 68,4373 }, { 69,4373 }, - { 70,4373 }, { 71,4373 }, { 72,4373 }, { 73,4373 }, { 74,4373 }, - { 75,4373 }, { 76,4373 }, { 77,4373 }, { 78,4373 }, { 79,4373 }, - - { 80,4373 }, { 81,4373 }, { 82,4373 }, { 83,4373 }, { 84,4373 }, - { 85,4373 }, { 86,4373 }, { 87,4373 }, { 88,4373 }, { 89,4373 }, - { 90,4373 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,4373 }, { 0, 0 }, { 97,4373 }, { 98,4373 }, { 99,4373 }, - { 100,4373 }, { 101,4373 }, { 102,4373 }, { 103,4373 }, { 104,4373 }, - { 105,4373 }, { 106,4373 }, { 107,4373 }, { 108,4373 }, { 109,4373 }, - { 110,4373 }, { 111,4373 }, { 112,4373 }, { 113,4373 }, { 114,4373 }, - { 115,4373 }, { 116,4373 }, { 117,4373 }, { 118,4373 }, { 119,4373 }, - { 120,4373 }, { 121,4373 }, { 122,4373 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4373 }, { 129,4373 }, - - { 130,4373 }, { 131,4373 }, { 132,4373 }, { 133,4373 }, { 134,4373 }, - { 135,4373 }, { 136,4373 }, { 137,4373 }, { 138,4373 }, { 139,4373 }, - { 140,4373 }, { 141,4373 }, { 142,4373 }, { 143,4373 }, { 144,4373 }, - { 145,4373 }, { 146,4373 }, { 147,4373 }, { 148,4373 }, { 149,4373 }, - { 150,4373 }, { 151,4373 }, { 152,4373 }, { 153,4373 }, { 154,4373 }, - { 155,4373 }, { 156,4373 }, { 157,4373 }, { 158,4373 }, { 159,4373 }, - { 160,4373 }, { 161,4373 }, { 162,4373 }, { 163,4373 }, { 164,4373 }, - { 165,4373 }, { 166,4373 }, { 167,4373 }, { 168,4373 }, { 169,4373 }, - { 170,4373 }, { 171,4373 }, { 172,4373 }, { 173,4373 }, { 174,4373 }, - { 175,4373 }, { 176,4373 }, { 177,4373 }, { 178,4373 }, { 179,4373 }, - - { 180,4373 }, { 181,4373 }, { 182,4373 }, { 183,4373 }, { 184,4373 }, - { 185,4373 }, { 186,4373 }, { 187,4373 }, { 188,4373 }, { 189,4373 }, - { 190,4373 }, { 191,4373 }, { 192,4373 }, { 193,4373 }, { 194,4373 }, - { 195,4373 }, { 196,4373 }, { 197,4373 }, { 198,4373 }, { 199,4373 }, - { 200,4373 }, { 201,4373 }, { 202,4373 }, { 203,4373 }, { 204,4373 }, - { 205,4373 }, { 206,4373 }, { 207,4373 }, { 208,4373 }, { 209,4373 }, - { 210,4373 }, { 211,4373 }, { 212,4373 }, { 213,4373 }, { 214,4373 }, - { 215,4373 }, { 216,4373 }, { 217,4373 }, { 218,4373 }, { 219,4373 }, - { 220,4373 }, { 221,4373 }, { 222,4373 }, { 223,4373 }, { 224,4373 }, - { 225,4373 }, { 226,4373 }, { 227,4373 }, { 228,4373 }, { 229,4373 }, - - { 230,4373 }, { 231,4373 }, { 232,4373 }, { 233,4373 }, { 234,4373 }, - { 235,4373 }, { 236,4373 }, { 237,4373 }, { 238,4373 }, { 239,4373 }, - { 240,4373 }, { 241,4373 }, { 242,4373 }, { 243,4373 }, { 244,4373 }, - { 245,4373 }, { 246,4373 }, { 247,4373 }, { 248,4373 }, { 249,4373 }, - { 250,4373 }, { 251,4373 }, { 252,4373 }, { 253,4373 }, { 254,4373 }, - { 255,4373 }, { 0, 2 }, { 0,9171 }, { 1,4373 }, { 2,4373 }, - { 3,4373 }, { 4,4373 }, { 5,4373 }, { 6,4373 }, { 7,4373 }, - { 8,4373 }, { 9,4373 }, { 0, 0 }, { 11,4373 }, { 12,4373 }, - { 0, 0 }, { 14,4373 }, { 15,4373 }, { 16,4373 }, { 17,4373 }, - { 18,4373 }, { 19,4373 }, { 20,4373 }, { 21,4373 }, { 22,4373 }, - - { 23,4373 }, { 24,4373 }, { 25,4373 }, { 26,4373 }, { 27,4373 }, - { 28,4373 }, { 29,4373 }, { 30,4373 }, { 31,4373 }, { 32,4373 }, - { 33,4631 }, { 34,4373 }, { 35,4631 }, { 36,4373 }, { 37,4631 }, - { 38,4631 }, { 39,4373 }, { 40,4373 }, { 41,4373 }, { 42,4631 }, - { 43,4631 }, { 44,4373 }, { 45,4631 }, { 46,4373 }, { 47,4631 }, - { 48,4373 }, { 49,4373 }, { 50,4373 }, { 51,4373 }, { 52,4373 }, - { 53,4373 }, { 54,4373 }, { 55,4373 }, { 56,4373 }, { 57,4373 }, - { 58,4373 }, { 59,4373 }, { 60,4631 }, { 61,4631 }, { 62,4631 }, - { 63,4631 }, { 64,4631 }, { 65,4373 }, { 66,4373 }, { 67,4373 }, - { 68,4373 }, { 69,4373 }, { 70,4373 }, { 71,4373 }, { 72,4373 }, - - { 73,4373 }, { 74,4373 }, { 75,4373 }, { 76,4373 }, { 77,4373 }, - { 78,4373 }, { 79,4373 }, { 80,4373 }, { 81,4373 }, { 82,4373 }, - { 83,4373 }, { 84,4373 }, { 85,4373 }, { 86,4373 }, { 87,4373 }, - { 88,4373 }, { 89,4373 }, { 90,4373 }, { 91,4373 }, { 92,4373 }, - { 93,4373 }, { 94,4631 }, { 95,4373 }, { 96,4631 }, { 97,4373 }, - { 98,4373 }, { 99,4373 }, { 100,4373 }, { 101,4373 }, { 102,4373 }, - { 103,4373 }, { 104,4373 }, { 105,4373 }, { 106,4373 }, { 107,4373 }, - { 108,4373 }, { 109,4373 }, { 110,4373 }, { 111,4373 }, { 112,4373 }, - { 113,4373 }, { 114,4373 }, { 115,4373 }, { 116,4373 }, { 117,4373 }, - { 118,4373 }, { 119,4373 }, { 120,4373 }, { 121,4373 }, { 122,4373 }, - - { 123,4373 }, { 124,4631 }, { 125,4373 }, { 126,4631 }, { 127,4373 }, - { 128,4373 }, { 129,4373 }, { 130,4373 }, { 131,4373 }, { 132,4373 }, - { 133,4373 }, { 134,4373 }, { 135,4373 }, { 136,4373 }, { 137,4373 }, - { 138,4373 }, { 139,4373 }, { 140,4373 }, { 141,4373 }, { 142,4373 }, - { 143,4373 }, { 144,4373 }, { 145,4373 }, { 146,4373 }, { 147,4373 }, - { 148,4373 }, { 149,4373 }, { 150,4373 }, { 151,4373 }, { 152,4373 }, - { 153,4373 }, { 154,4373 }, { 155,4373 }, { 156,4373 }, { 157,4373 }, - { 158,4373 }, { 159,4373 }, { 160,4373 }, { 161,4373 }, { 162,4373 }, - { 163,4373 }, { 164,4373 }, { 165,4373 }, { 166,4373 }, { 167,4373 }, - { 168,4373 }, { 169,4373 }, { 170,4373 }, { 171,4373 }, { 172,4373 }, - - { 173,4373 }, { 174,4373 }, { 175,4373 }, { 176,4373 }, { 177,4373 }, - { 178,4373 }, { 179,4373 }, { 180,4373 }, { 181,4373 }, { 182,4373 }, - { 183,4373 }, { 184,4373 }, { 185,4373 }, { 186,4373 }, { 187,4373 }, - { 188,4373 }, { 189,4373 }, { 190,4373 }, { 191,4373 }, { 192,4373 }, - { 193,4373 }, { 194,4373 }, { 195,4373 }, { 196,4373 }, { 197,4373 }, - { 198,4373 }, { 199,4373 }, { 200,4373 }, { 201,4373 }, { 202,4373 }, - { 203,4373 }, { 204,4373 }, { 205,4373 }, { 206,4373 }, { 207,4373 }, - { 208,4373 }, { 209,4373 }, { 210,4373 }, { 211,4373 }, { 212,4373 }, - { 213,4373 }, { 214,4373 }, { 215,4373 }, { 216,4373 }, { 217,4373 }, - { 218,4373 }, { 219,4373 }, { 220,4373 }, { 221,4373 }, { 222,4373 }, - - { 223,4373 }, { 224,4373 }, { 225,4373 }, { 226,4373 }, { 227,4373 }, - { 228,4373 }, { 229,4373 }, { 230,4373 }, { 231,4373 }, { 232,4373 }, - { 233,4373 }, { 234,4373 }, { 235,4373 }, { 236,4373 }, { 237,4373 }, - { 238,4373 }, { 239,4373 }, { 240,4373 }, { 241,4373 }, { 242,4373 }, - { 243,4373 }, { 244,4373 }, { 245,4373 }, { 246,4373 }, { 247,4373 }, - { 248,4373 }, { 249,4373 }, { 250,4373 }, { 251,4373 }, { 252,4373 }, - { 253,4373 }, { 254,4373 }, { 255,4373 }, { 256,4373 }, { 0, 64 }, - { 0,8913 }, { 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 }, { 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 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4631 }, { 49,4631 }, - { 50,4631 }, { 51,4631 }, { 52,4631 }, { 53,4631 }, { 54,4631 }, - { 55,4631 }, { 56,4631 }, { 57,4631 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 65,-5977 }, { 66,-5977 }, { 67,-5977 }, { 68,-5977 }, { 69,4888 }, - { 70,-5977 }, { 71,-5977 }, { 72,-5977 }, { 73,-5977 }, { 74,-5977 }, - { 75,-5977 }, { 76,-5977 }, { 77,-5977 }, { 78,-5977 }, { 79,-5977 }, - { 80,-5977 }, { 81,-5977 }, { 82,-5977 }, { 83,-5977 }, { 84,-5977 }, - { 85,-5977 }, { 86,-5977 }, { 87,-5977 }, { 88,-5977 }, { 89,-5977 }, - { 90,-5977 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,4898 }, { 0, 0 }, { 97,-5977 }, { 98,-5977 }, { 99,-5977 }, - { 100,-5977 }, { 101,4888 }, { 102,-5977 }, { 103,-5977 }, { 104,-5977 }, - { 105,-5977 }, { 106,-5977 }, { 107,-5977 }, { 108,-5977 }, { 109,-5977 }, - { 110,-5977 }, { 111,-5977 }, { 112,-5977 }, { 113,-5977 }, { 114,-5977 }, - - { 115,-5977 }, { 116,-5977 }, { 117,-5977 }, { 118,-5977 }, { 119,-5977 }, - { 120,-5977 }, { 121,-5977 }, { 122,-5977 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-5977 }, { 129,-5977 }, - { 130,-5977 }, { 131,-5977 }, { 132,-5977 }, { 133,-5977 }, { 134,-5977 }, - { 135,-5977 }, { 136,-5977 }, { 137,-5977 }, { 138,-5977 }, { 139,-5977 }, - { 140,-5977 }, { 141,-5977 }, { 142,-5977 }, { 143,-5977 }, { 144,-5977 }, - { 145,-5977 }, { 146,-5977 }, { 147,-5977 }, { 148,-5977 }, { 149,-5977 }, - { 150,-5977 }, { 151,-5977 }, { 152,-5977 }, { 153,-5977 }, { 154,-5977 }, - { 155,-5977 }, { 156,-5977 }, { 157,-5977 }, { 158,-5977 }, { 159,-5977 }, - { 160,-5977 }, { 161,-5977 }, { 162,-5977 }, { 163,-5977 }, { 164,-5977 }, - - { 165,-5977 }, { 166,-5977 }, { 167,-5977 }, { 168,-5977 }, { 169,-5977 }, - { 170,-5977 }, { 171,-5977 }, { 172,-5977 }, { 173,-5977 }, { 174,-5977 }, - { 175,-5977 }, { 176,-5977 }, { 177,-5977 }, { 178,-5977 }, { 179,-5977 }, - { 180,-5977 }, { 181,-5977 }, { 182,-5977 }, { 183,-5977 }, { 184,-5977 }, - { 185,-5977 }, { 186,-5977 }, { 187,-5977 }, { 188,-5977 }, { 189,-5977 }, - { 190,-5977 }, { 191,-5977 }, { 192,-5977 }, { 193,-5977 }, { 194,-5977 }, - { 195,-5977 }, { 196,-5977 }, { 197,-5977 }, { 198,-5977 }, { 199,-5977 }, - { 200,-5977 }, { 201,-5977 }, { 202,-5977 }, { 203,-5977 }, { 204,-5977 }, - { 205,-5977 }, { 206,-5977 }, { 207,-5977 }, { 208,-5977 }, { 209,-5977 }, - { 210,-5977 }, { 211,-5977 }, { 212,-5977 }, { 213,-5977 }, { 214,-5977 }, - - { 215,-5977 }, { 216,-5977 }, { 217,-5977 }, { 218,-5977 }, { 219,-5977 }, - { 220,-5977 }, { 221,-5977 }, { 222,-5977 }, { 223,-5977 }, { 224,-5977 }, - { 225,-5977 }, { 226,-5977 }, { 227,-5977 }, { 228,-5977 }, { 229,-5977 }, - { 230,-5977 }, { 231,-5977 }, { 232,-5977 }, { 233,-5977 }, { 234,-5977 }, - { 235,-5977 }, { 236,-5977 }, { 237,-5977 }, { 238,-5977 }, { 239,-5977 }, - { 240,-5977 }, { 241,-5977 }, { 242,-5977 }, { 243,-5977 }, { 244,-5977 }, - { 245,-5977 }, { 246,-5977 }, { 247,-5977 }, { 248,-5977 }, { 249,-5977 }, - { 250,-5977 }, { 251,-5977 }, { 252,-5977 }, { 253,-5977 }, { 254,-5977 }, - { 255,-5977 }, { 0, 3 }, { 0,8656 }, { 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 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 64 }, { 0,8624 }, - { 33,4666 }, { 0, 0 }, { 35,4666 }, { 0, 0 }, { 37,4666 }, - { 38,4666 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,4666 }, - { 43,4666 }, { 0, 0 }, { 45,4666 }, { 0, 0 }, { 47,4666 }, { 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, 64 }, { 0,20490 }, { 33,6852 }, { 0, 0 }, + { 35,6852 }, { 0, 0 }, { 37,6852 }, { 38,6852 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,6852 }, { 43,6852 }, { 0, 0 }, + { 45,6852 }, { 0, 0 }, { 47,6852 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 60,4666 }, { 61,4666 }, { 62,4666 }, - { 63,4666 }, { 64,4666 }, { 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 }, - { 46,-6264 }, { 0, 0 }, { 48,4700 }, { 49,4700 }, { 50,4700 }, - { 51,4700 }, { 52,4700 }, { 53,4700 }, { 54,4700 }, { 55,4700 }, - { 56,4700 }, { 57,4700 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 94,4666 }, { 0, 0 }, { 96,4666 }, { 65,-6266 }, - { 66,-6266 }, { 67,-6266 }, { 68,-6266 }, { 69,4599 }, { 70,-6266 }, - { 71,-6266 }, { 72,-6266 }, { 73,-6266 }, { 74,-6266 }, { 75,-6266 }, + { 60,6852 }, { 61,6852 }, { 62,6852 }, { 63,6852 }, { 64,6852 }, + { 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 }, { 46,-6338 }, { 0, 0 }, + { 48,6852 }, { 49,6852 }, { 50,6852 }, { 51,6852 }, { 52,6852 }, + { 53,6852 }, { 54,6852 }, { 55,6852 }, { 56,6852 }, { 57,6852 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,6852 }, + { 0, 0 }, { 96,6852 }, { 65,6049 }, { 66,6049 }, { 67,6049 }, - { 76,-6266 }, { 77,-6266 }, { 78,-6266 }, { 79,-6266 }, { 80,-6266 }, - { 81,-6266 }, { 82,-6266 }, { 83,-6266 }, { 84,-6266 }, { 85,-6266 }, - { 86,-6266 }, { 87,-6266 }, { 88,-6266 }, { 89,-6266 }, { 90,-6266 }, - { 0, 0 }, { 124,4666 }, { 0, 0 }, { 126,4666 }, { 95,-6266 }, - { 0, 0 }, { 97,-6266 }, { 98,-6266 }, { 99,-6266 }, { 100,-6266 }, - { 101,4599 }, { 102,-6266 }, { 103,-6266 }, { 104,-6266 }, { 105,-6266 }, - { 106,-6266 }, { 107,-6266 }, { 108,-6266 }, { 109,-6266 }, { 110,-6266 }, - { 111,-6266 }, { 112,-6266 }, { 113,-6266 }, { 114,-6266 }, { 115,-6266 }, - { 116,-6266 }, { 117,-6266 }, { 118,-6266 }, { 119,-6266 }, { 120,-6266 }, - { 121,-6266 }, { 122,-6266 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 68,6049 }, { 69,6306 }, { 70,6049 }, { 71,6049 }, { 72,6049 }, + { 73,6049 }, { 74,6049 }, { 75,6049 }, { 76,6049 }, { 77,6049 }, + { 78,6049 }, { 79,6049 }, { 80,6049 }, { 81,6049 }, { 82,6049 }, + { 83,6049 }, { 84,6049 }, { 85,6049 }, { 86,6049 }, { 87,6049 }, + { 88,6049 }, { 89,6049 }, { 90,6049 }, { 0, 0 }, { 124,6852 }, + { 0, 0 }, { 126,6852 }, { 95,6049 }, { 0, 0 }, { 97,6049 }, + { 98,6049 }, { 99,6049 }, { 100,6049 }, { 101,6306 }, { 102,6049 }, + { 103,6049 }, { 104,6049 }, { 105,6049 }, { 106,6049 }, { 107,6049 }, + { 108,6049 }, { 109,6049 }, { 110,6049 }, { 111,6049 }, { 112,6049 }, + { 113,6049 }, { 114,6049 }, { 115,6049 }, { 116,6049 }, { 117,6049 }, - { 0, 0 }, { 0, 0 }, { 128,-6266 }, { 129,-6266 }, { 130,-6266 }, - { 131,-6266 }, { 132,-6266 }, { 133,-6266 }, { 134,-6266 }, { 135,-6266 }, - { 136,-6266 }, { 137,-6266 }, { 138,-6266 }, { 139,-6266 }, { 140,-6266 }, - { 141,-6266 }, { 142,-6266 }, { 143,-6266 }, { 144,-6266 }, { 145,-6266 }, - { 146,-6266 }, { 147,-6266 }, { 148,-6266 }, { 149,-6266 }, { 150,-6266 }, - { 151,-6266 }, { 152,-6266 }, { 153,-6266 }, { 154,-6266 }, { 155,-6266 }, - { 156,-6266 }, { 157,-6266 }, { 158,-6266 }, { 159,-6266 }, { 160,-6266 }, - { 161,-6266 }, { 162,-6266 }, { 163,-6266 }, { 164,-6266 }, { 165,-6266 }, - { 166,-6266 }, { 167,-6266 }, { 168,-6266 }, { 169,-6266 }, { 170,-6266 }, - { 171,-6266 }, { 172,-6266 }, { 173,-6266 }, { 174,-6266 }, { 175,-6266 }, + { 118,6049 }, { 119,6049 }, { 120,6049 }, { 121,6049 }, { 122,6049 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6049 }, { 129,6049 }, { 130,6049 }, { 131,6049 }, { 132,6049 }, + { 133,6049 }, { 134,6049 }, { 135,6049 }, { 136,6049 }, { 137,6049 }, + { 138,6049 }, { 139,6049 }, { 140,6049 }, { 141,6049 }, { 142,6049 }, + { 143,6049 }, { 144,6049 }, { 145,6049 }, { 146,6049 }, { 147,6049 }, + { 148,6049 }, { 149,6049 }, { 150,6049 }, { 151,6049 }, { 152,6049 }, + { 153,6049 }, { 154,6049 }, { 155,6049 }, { 156,6049 }, { 157,6049 }, + { 158,6049 }, { 159,6049 }, { 160,6049 }, { 161,6049 }, { 162,6049 }, + { 163,6049 }, { 164,6049 }, { 165,6049 }, { 166,6049 }, { 167,6049 }, - { 176,-6266 }, { 177,-6266 }, { 178,-6266 }, { 179,-6266 }, { 180,-6266 }, - { 181,-6266 }, { 182,-6266 }, { 183,-6266 }, { 184,-6266 }, { 185,-6266 }, - { 186,-6266 }, { 187,-6266 }, { 188,-6266 }, { 189,-6266 }, { 190,-6266 }, - { 191,-6266 }, { 192,-6266 }, { 193,-6266 }, { 194,-6266 }, { 195,-6266 }, - { 196,-6266 }, { 197,-6266 }, { 198,-6266 }, { 199,-6266 }, { 200,-6266 }, - { 201,-6266 }, { 202,-6266 }, { 203,-6266 }, { 204,-6266 }, { 205,-6266 }, - { 206,-6266 }, { 207,-6266 }, { 208,-6266 }, { 209,-6266 }, { 210,-6266 }, - { 211,-6266 }, { 212,-6266 }, { 213,-6266 }, { 214,-6266 }, { 215,-6266 }, - { 216,-6266 }, { 217,-6266 }, { 218,-6266 }, { 219,-6266 }, { 220,-6266 }, - { 221,-6266 }, { 222,-6266 }, { 223,-6266 }, { 224,-6266 }, { 225,-6266 }, + { 168,6049 }, { 169,6049 }, { 170,6049 }, { 171,6049 }, { 172,6049 }, + { 173,6049 }, { 174,6049 }, { 175,6049 }, { 176,6049 }, { 177,6049 }, + { 178,6049 }, { 179,6049 }, { 180,6049 }, { 181,6049 }, { 182,6049 }, + { 183,6049 }, { 184,6049 }, { 185,6049 }, { 186,6049 }, { 187,6049 }, + { 188,6049 }, { 189,6049 }, { 190,6049 }, { 191,6049 }, { 192,6049 }, + { 193,6049 }, { 194,6049 }, { 195,6049 }, { 196,6049 }, { 197,6049 }, + { 198,6049 }, { 199,6049 }, { 200,6049 }, { 201,6049 }, { 202,6049 }, + { 203,6049 }, { 204,6049 }, { 205,6049 }, { 206,6049 }, { 207,6049 }, + { 208,6049 }, { 209,6049 }, { 210,6049 }, { 211,6049 }, { 212,6049 }, + { 213,6049 }, { 214,6049 }, { 215,6049 }, { 216,6049 }, { 217,6049 }, - { 226,-6266 }, { 227,-6266 }, { 228,-6266 }, { 229,-6266 }, { 230,-6266 }, - { 231,-6266 }, { 232,-6266 }, { 233,-6266 }, { 234,-6266 }, { 235,-6266 }, - { 236,-6266 }, { 237,-6266 }, { 238,-6266 }, { 239,-6266 }, { 240,-6266 }, - { 241,-6266 }, { 242,-6266 }, { 243,-6266 }, { 244,-6266 }, { 245,-6266 }, - { 246,-6266 }, { 247,-6266 }, { 248,-6266 }, { 249,-6266 }, { 250,-6266 }, - { 251,-6266 }, { 252,-6266 }, { 253,-6266 }, { 254,-6266 }, { 255,-6266 }, - { 0, 57 }, { 0,8367 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 218,6049 }, { 219,6049 }, { 220,6049 }, { 221,6049 }, { 222,6049 }, + { 223,6049 }, { 224,6049 }, { 225,6049 }, { 226,6049 }, { 227,6049 }, + { 228,6049 }, { 229,6049 }, { 230,6049 }, { 231,6049 }, { 232,6049 }, + { 233,6049 }, { 234,6049 }, { 235,6049 }, { 236,6049 }, { 237,6049 }, + { 238,6049 }, { 239,6049 }, { 240,6049 }, { 241,6049 }, { 242,6049 }, + { 243,6049 }, { 244,6049 }, { 245,6049 }, { 246,6049 }, { 247,6049 }, + { 248,6049 }, { 249,6049 }, { 250,6049 }, { 251,6049 }, { 252,6049 }, + { 253,6049 }, { 254,6049 }, { 255,6049 }, { 0, 57 }, { 0,20233 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, @@ -3581,129 +3581,448 @@ static const struct yy_trans_info yy_transition[21803] = { 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 }, { 46,-257 }, { 0, 0 }, { 48, 0 }, - { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,-6859 }, { 66,-6859 }, { 67,-6859 }, { 68,-6859 }, - - { 69, 257 }, { 70,-6859 }, { 71,-6859 }, { 72,-6859 }, { 73,-6859 }, - { 74,-6859 }, { 75,-6859 }, { 76,-6859 }, { 77,-6859 }, { 78,-6859 }, - { 79,-6859 }, { 80,-6859 }, { 81,-6859 }, { 82,-6859 }, { 83,-6859 }, - { 84,-6859 }, { 85,-6859 }, { 86,-6859 }, { 87,-6859 }, { 88,-6859 }, - { 89,-6859 }, { 90,-6859 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95, 298 }, { 0, 0 }, { 97,-6859 }, { 98,-6859 }, - { 99,-6859 }, { 100,-6859 }, { 101, 257 }, { 102,-6859 }, { 103,-6859 }, - { 104,-6859 }, { 105,-6859 }, { 106,-6859 }, { 107,-6859 }, { 108,-6859 }, - { 109,-6859 }, { 110,-6859 }, { 111,-6859 }, { 112,-6859 }, { 113,-6859 }, - { 114,-6859 }, { 115,-6859 }, { 116,-6859 }, { 117,-6859 }, { 118,-6859 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 46,-257 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, + { 66, 257 }, { 67, 257 }, { 68, 257 }, { 69, 771 }, { 70, 257 }, + { 71, 257 }, { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, + { 76, 257 }, { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, + { 81, 257 }, { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, + { 86, 257 }, { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1542 }, + { 0, 0 }, { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, + { 101, 771 }, { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, + { 106, 257 }, { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, + + { 111, 257 }, { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, + { 116, 257 }, { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, + { 121, 257 }, { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, + { 131, 257 }, { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, + { 136, 257 }, { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, + { 141, 257 }, { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, + { 146, 257 }, { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, + { 151, 257 }, { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, + { 156, 257 }, { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, + + { 161, 257 }, { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, + { 166, 257 }, { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, + { 171, 257 }, { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, + { 176, 257 }, { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, + { 181, 257 }, { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, + { 186, 257 }, { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, + { 191, 257 }, { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, + { 196, 257 }, { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, + { 201, 257 }, { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, + { 206, 257 }, { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, + + { 211, 257 }, { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, + { 216, 257 }, { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, + { 221, 257 }, { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, + { 226, 257 }, { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, + { 231, 257 }, { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, + { 236, 257 }, { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, + { 241, 257 }, { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, + { 246, 257 }, { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, + { 251, 257 }, { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, + { 0, 68 }, { 0,19976 }, { 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 }, { 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 }, { 36,6595 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,6595 }, + { 49,6595 }, { 50,6595 }, { 51,6595 }, { 52,6595 }, { 53,6595 }, + + { 54,6595 }, { 55,6595 }, { 56,6595 }, { 57,6595 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,6595 }, { 66,6595 }, { 67,6595 }, { 68,6595 }, + { 69,6595 }, { 70,6595 }, { 71,6595 }, { 72,6595 }, { 73,6595 }, + { 74,6595 }, { 75,6595 }, { 76,6595 }, { 77,6595 }, { 78,6595 }, + { 79,6595 }, { 80,6595 }, { 81,6595 }, { 82,6595 }, { 83,6595 }, + { 84,6595 }, { 85,6595 }, { 86,6595 }, { 87,6595 }, { 88,6595 }, + { 89,6595 }, { 90,6595 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,6595 }, { 0, 0 }, { 97,6595 }, { 98,6595 }, + { 99,6595 }, { 100,6595 }, { 101,6595 }, { 102,6595 }, { 103,6595 }, + + { 104,6595 }, { 105,6595 }, { 106,6595 }, { 107,6595 }, { 108,6595 }, + { 109,6595 }, { 110,6595 }, { 111,6595 }, { 112,6595 }, { 113,6595 }, + { 114,6595 }, { 115,6595 }, { 116,6595 }, { 117,6595 }, { 118,6595 }, + { 119,6595 }, { 120,6595 }, { 121,6595 }, { 122,6595 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6595 }, + { 129,6595 }, { 130,6595 }, { 131,6595 }, { 132,6595 }, { 133,6595 }, + { 134,6595 }, { 135,6595 }, { 136,6595 }, { 137,6595 }, { 138,6595 }, + { 139,6595 }, { 140,6595 }, { 141,6595 }, { 142,6595 }, { 143,6595 }, + { 144,6595 }, { 145,6595 }, { 146,6595 }, { 147,6595 }, { 148,6595 }, + { 149,6595 }, { 150,6595 }, { 151,6595 }, { 152,6595 }, { 153,6595 }, + + { 154,6595 }, { 155,6595 }, { 156,6595 }, { 157,6595 }, { 158,6595 }, + { 159,6595 }, { 160,6595 }, { 161,6595 }, { 162,6595 }, { 163,6595 }, + { 164,6595 }, { 165,6595 }, { 166,6595 }, { 167,6595 }, { 168,6595 }, + { 169,6595 }, { 170,6595 }, { 171,6595 }, { 172,6595 }, { 173,6595 }, + { 174,6595 }, { 175,6595 }, { 176,6595 }, { 177,6595 }, { 178,6595 }, + { 179,6595 }, { 180,6595 }, { 181,6595 }, { 182,6595 }, { 183,6595 }, + { 184,6595 }, { 185,6595 }, { 186,6595 }, { 187,6595 }, { 188,6595 }, + { 189,6595 }, { 190,6595 }, { 191,6595 }, { 192,6595 }, { 193,6595 }, + { 194,6595 }, { 195,6595 }, { 196,6595 }, { 197,6595 }, { 198,6595 }, + { 199,6595 }, { 200,6595 }, { 201,6595 }, { 202,6595 }, { 203,6595 }, + + { 204,6595 }, { 205,6595 }, { 206,6595 }, { 207,6595 }, { 208,6595 }, + { 209,6595 }, { 210,6595 }, { 211,6595 }, { 212,6595 }, { 213,6595 }, + { 214,6595 }, { 215,6595 }, { 216,6595 }, { 217,6595 }, { 218,6595 }, + { 219,6595 }, { 220,6595 }, { 221,6595 }, { 222,6595 }, { 223,6595 }, + { 224,6595 }, { 225,6595 }, { 226,6595 }, { 227,6595 }, { 228,6595 }, + { 229,6595 }, { 230,6595 }, { 231,6595 }, { 232,6595 }, { 233,6595 }, + { 234,6595 }, { 235,6595 }, { 236,6595 }, { 237,6595 }, { 238,6595 }, + { 239,6595 }, { 240,6595 }, { 241,6595 }, { 242,6595 }, { 243,6595 }, + { 244,6595 }, { 245,6595 }, { 246,6595 }, { 247,6595 }, { 248,6595 }, + { 249,6595 }, { 250,6595 }, { 251,6595 }, { 252,6595 }, { 253,6595 }, + + { 254,6595 }, { 255,6595 }, { 0, 63 }, { 0,19719 }, { 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 }, + { 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 }, { 36,6338 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 48,6595 }, { 49,6595 }, { 50,6338 }, { 51,6338 }, + { 52,6338 }, { 53,6338 }, { 54,6338 }, { 55,6338 }, { 56,6338 }, + { 57,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6338 }, { 66,6338 }, + { 67,6338 }, { 68,6338 }, { 69,6338 }, { 70,6338 }, { 71,6338 }, + { 72,6338 }, { 73,6338 }, { 74,6338 }, { 75,6338 }, { 76,6338 }, + { 77,6338 }, { 78,6338 }, { 79,6338 }, { 80,6338 }, { 81,6338 }, + { 82,6338 }, { 83,6338 }, { 84,6338 }, { 85,6338 }, { 86,6338 }, + { 87,6338 }, { 88,6338 }, { 89,6338 }, { 90,6338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6852 }, { 0, 0 }, + + { 97,6338 }, { 98,6338 }, { 99,6338 }, { 100,6338 }, { 101,6338 }, + { 102,6338 }, { 103,6338 }, { 104,6338 }, { 105,6338 }, { 106,6338 }, + { 107,6338 }, { 108,6338 }, { 109,6338 }, { 110,6338 }, { 111,6338 }, + { 112,6338 }, { 113,6338 }, { 114,6338 }, { 115,6338 }, { 116,6338 }, + { 117,6338 }, { 118,6338 }, { 119,6338 }, { 120,6338 }, { 121,6338 }, + { 122,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,6338 }, { 129,6338 }, { 130,6338 }, { 131,6338 }, + { 132,6338 }, { 133,6338 }, { 134,6338 }, { 135,6338 }, { 136,6338 }, + { 137,6338 }, { 138,6338 }, { 139,6338 }, { 140,6338 }, { 141,6338 }, + { 142,6338 }, { 143,6338 }, { 144,6338 }, { 145,6338 }, { 146,6338 }, + + { 147,6338 }, { 148,6338 }, { 149,6338 }, { 150,6338 }, { 151,6338 }, + { 152,6338 }, { 153,6338 }, { 154,6338 }, { 155,6338 }, { 156,6338 }, + { 157,6338 }, { 158,6338 }, { 159,6338 }, { 160,6338 }, { 161,6338 }, + { 162,6338 }, { 163,6338 }, { 164,6338 }, { 165,6338 }, { 166,6338 }, + { 167,6338 }, { 168,6338 }, { 169,6338 }, { 170,6338 }, { 171,6338 }, + { 172,6338 }, { 173,6338 }, { 174,6338 }, { 175,6338 }, { 176,6338 }, + { 177,6338 }, { 178,6338 }, { 179,6338 }, { 180,6338 }, { 181,6338 }, + { 182,6338 }, { 183,6338 }, { 184,6338 }, { 185,6338 }, { 186,6338 }, + { 187,6338 }, { 188,6338 }, { 189,6338 }, { 190,6338 }, { 191,6338 }, + { 192,6338 }, { 193,6338 }, { 194,6338 }, { 195,6338 }, { 196,6338 }, + + { 197,6338 }, { 198,6338 }, { 199,6338 }, { 200,6338 }, { 201,6338 }, + { 202,6338 }, { 203,6338 }, { 204,6338 }, { 205,6338 }, { 206,6338 }, + { 207,6338 }, { 208,6338 }, { 209,6338 }, { 210,6338 }, { 211,6338 }, + { 212,6338 }, { 213,6338 }, { 214,6338 }, { 215,6338 }, { 216,6338 }, + { 217,6338 }, { 218,6338 }, { 219,6338 }, { 220,6338 }, { 221,6338 }, + { 222,6338 }, { 223,6338 }, { 224,6338 }, { 225,6338 }, { 226,6338 }, + { 227,6338 }, { 228,6338 }, { 229,6338 }, { 230,6338 }, { 231,6338 }, + { 232,6338 }, { 233,6338 }, { 234,6338 }, { 235,6338 }, { 236,6338 }, + { 237,6338 }, { 238,6338 }, { 239,6338 }, { 240,6338 }, { 241,6338 }, + { 242,6338 }, { 243,6338 }, { 244,6338 }, { 245,6338 }, { 246,6338 }, + + { 247,6338 }, { 248,6338 }, { 249,6338 }, { 250,6338 }, { 251,6338 }, + { 252,6338 }, { 253,6338 }, { 254,6338 }, { 255,6338 }, { 0, 68 }, + { 0,19462 }, { 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 }, { 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 }, { 36,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,6852 }, { 0, 0 }, + { 45,6852 }, { 0, 0 }, { 0, 0 }, { 48,6862 }, { 49,6862 }, + { 50,6862 }, { 51,6862 }, { 52,6862 }, { 53,6862 }, { 54,6862 }, + { 55,6862 }, { 56,6862 }, { 57,6862 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,6081 }, { 66,6081 }, { 67,6081 }, { 68,6081 }, { 69,6081 }, + { 70,6081 }, { 71,6081 }, { 72,6081 }, { 73,6081 }, { 74,6081 }, + { 75,6081 }, { 76,6081 }, { 77,6081 }, { 78,6081 }, { 79,6081 }, + { 80,6081 }, { 81,6081 }, { 82,6081 }, { 83,6081 }, { 84,6081 }, + { 85,6081 }, { 86,6081 }, { 87,6081 }, { 88,6081 }, { 89,6081 }, + + { 90,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,6081 }, { 0, 0 }, { 97,6081 }, { 98,6081 }, { 99,6081 }, + { 100,6081 }, { 101,6081 }, { 102,6081 }, { 103,6081 }, { 104,6081 }, + { 105,6081 }, { 106,6081 }, { 107,6081 }, { 108,6081 }, { 109,6081 }, + { 110,6081 }, { 111,6081 }, { 112,6081 }, { 113,6081 }, { 114,6081 }, + { 115,6081 }, { 116,6081 }, { 117,6081 }, { 118,6081 }, { 119,6081 }, + { 120,6081 }, { 121,6081 }, { 122,6081 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6081 }, { 129,6081 }, + { 130,6081 }, { 131,6081 }, { 132,6081 }, { 133,6081 }, { 134,6081 }, + { 135,6081 }, { 136,6081 }, { 137,6081 }, { 138,6081 }, { 139,6081 }, + + { 140,6081 }, { 141,6081 }, { 142,6081 }, { 143,6081 }, { 144,6081 }, + { 145,6081 }, { 146,6081 }, { 147,6081 }, { 148,6081 }, { 149,6081 }, + { 150,6081 }, { 151,6081 }, { 152,6081 }, { 153,6081 }, { 154,6081 }, + { 155,6081 }, { 156,6081 }, { 157,6081 }, { 158,6081 }, { 159,6081 }, + { 160,6081 }, { 161,6081 }, { 162,6081 }, { 163,6081 }, { 164,6081 }, + { 165,6081 }, { 166,6081 }, { 167,6081 }, { 168,6081 }, { 169,6081 }, + { 170,6081 }, { 171,6081 }, { 172,6081 }, { 173,6081 }, { 174,6081 }, + { 175,6081 }, { 176,6081 }, { 177,6081 }, { 178,6081 }, { 179,6081 }, + { 180,6081 }, { 181,6081 }, { 182,6081 }, { 183,6081 }, { 184,6081 }, + { 185,6081 }, { 186,6081 }, { 187,6081 }, { 188,6081 }, { 189,6081 }, + + { 190,6081 }, { 191,6081 }, { 192,6081 }, { 193,6081 }, { 194,6081 }, + { 195,6081 }, { 196,6081 }, { 197,6081 }, { 198,6081 }, { 199,6081 }, + { 200,6081 }, { 201,6081 }, { 202,6081 }, { 203,6081 }, { 204,6081 }, + { 205,6081 }, { 206,6081 }, { 207,6081 }, { 208,6081 }, { 209,6081 }, + { 210,6081 }, { 211,6081 }, { 212,6081 }, { 213,6081 }, { 214,6081 }, + { 215,6081 }, { 216,6081 }, { 217,6081 }, { 218,6081 }, { 219,6081 }, + { 220,6081 }, { 221,6081 }, { 222,6081 }, { 223,6081 }, { 224,6081 }, + { 225,6081 }, { 226,6081 }, { 227,6081 }, { 228,6081 }, { 229,6081 }, + { 230,6081 }, { 231,6081 }, { 232,6081 }, { 233,6081 }, { 234,6081 }, + { 235,6081 }, { 236,6081 }, { 237,6081 }, { 238,6081 }, { 239,6081 }, + + { 240,6081 }, { 241,6081 }, { 242,6081 }, { 243,6081 }, { 244,6081 }, + { 245,6081 }, { 246,6081 }, { 247,6081 }, { 248,6081 }, { 249,6081 }, + { 250,6081 }, { 251,6081 }, { 252,6081 }, { 253,6081 }, { 254,6081 }, + { 255,6081 }, { 0, 62 }, { 0,19205 }, { 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 }, { 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 }, { 36,5824 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,6862 }, { 49,6862 }, { 50,6862 }, { 51,6862 }, { 52,6862 }, + { 53,6862 }, { 54,6862 }, { 55,6862 }, { 56,5824 }, { 57,5824 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5824 }, { 66,5824 }, { 67,5824 }, + { 68,5824 }, { 69,5824 }, { 70,5824 }, { 71,5824 }, { 72,5824 }, + { 73,5824 }, { 74,5824 }, { 75,5824 }, { 76,5824 }, { 77,5824 }, + { 78,5824 }, { 79,5824 }, { 80,5824 }, { 81,5824 }, { 82,5824 }, + + { 83,5824 }, { 84,5824 }, { 85,5824 }, { 86,5824 }, { 87,5824 }, + { 88,5824 }, { 89,5824 }, { 90,5824 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,7119 }, { 0, 0 }, { 97,5824 }, + { 98,5824 }, { 99,5824 }, { 100,5824 }, { 101,5824 }, { 102,5824 }, + { 103,5824 }, { 104,5824 }, { 105,5824 }, { 106,5824 }, { 107,5824 }, + { 108,5824 }, { 109,5824 }, { 110,5824 }, { 111,5824 }, { 112,5824 }, + { 113,5824 }, { 114,5824 }, { 115,5824 }, { 116,5824 }, { 117,5824 }, + { 118,5824 }, { 119,5824 }, { 120,5824 }, { 121,5824 }, { 122,5824 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,5824 }, { 129,5824 }, { 130,5824 }, { 131,5824 }, { 132,5824 }, + + { 133,5824 }, { 134,5824 }, { 135,5824 }, { 136,5824 }, { 137,5824 }, + { 138,5824 }, { 139,5824 }, { 140,5824 }, { 141,5824 }, { 142,5824 }, + { 143,5824 }, { 144,5824 }, { 145,5824 }, { 146,5824 }, { 147,5824 }, + { 148,5824 }, { 149,5824 }, { 150,5824 }, { 151,5824 }, { 152,5824 }, + { 153,5824 }, { 154,5824 }, { 155,5824 }, { 156,5824 }, { 157,5824 }, + { 158,5824 }, { 159,5824 }, { 160,5824 }, { 161,5824 }, { 162,5824 }, + { 163,5824 }, { 164,5824 }, { 165,5824 }, { 166,5824 }, { 167,5824 }, + { 168,5824 }, { 169,5824 }, { 170,5824 }, { 171,5824 }, { 172,5824 }, + { 173,5824 }, { 174,5824 }, { 175,5824 }, { 176,5824 }, { 177,5824 }, + { 178,5824 }, { 179,5824 }, { 180,5824 }, { 181,5824 }, { 182,5824 }, - { 119,-6859 }, { 120,-6859 }, { 121,-6859 }, { 122,-6859 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-6859 }, - { 129,-6859 }, { 130,-6859 }, { 131,-6859 }, { 132,-6859 }, { 133,-6859 }, - { 134,-6859 }, { 135,-6859 }, { 136,-6859 }, { 137,-6859 }, { 138,-6859 }, - { 139,-6859 }, { 140,-6859 }, { 141,-6859 }, { 142,-6859 }, { 143,-6859 }, - { 144,-6859 }, { 145,-6859 }, { 146,-6859 }, { 147,-6859 }, { 148,-6859 }, - { 149,-6859 }, { 150,-6859 }, { 151,-6859 }, { 152,-6859 }, { 153,-6859 }, - { 154,-6859 }, { 155,-6859 }, { 156,-6859 }, { 157,-6859 }, { 158,-6859 }, - { 159,-6859 }, { 160,-6859 }, { 161,-6859 }, { 162,-6859 }, { 163,-6859 }, - { 164,-6859 }, { 165,-6859 }, { 166,-6859 }, { 167,-6859 }, { 168,-6859 }, + { 183,5824 }, { 184,5824 }, { 185,5824 }, { 186,5824 }, { 187,5824 }, + { 188,5824 }, { 189,5824 }, { 190,5824 }, { 191,5824 }, { 192,5824 }, + { 193,5824 }, { 194,5824 }, { 195,5824 }, { 196,5824 }, { 197,5824 }, + { 198,5824 }, { 199,5824 }, { 200,5824 }, { 201,5824 }, { 202,5824 }, + { 203,5824 }, { 204,5824 }, { 205,5824 }, { 206,5824 }, { 207,5824 }, + { 208,5824 }, { 209,5824 }, { 210,5824 }, { 211,5824 }, { 212,5824 }, + { 213,5824 }, { 214,5824 }, { 215,5824 }, { 216,5824 }, { 217,5824 }, + { 218,5824 }, { 219,5824 }, { 220,5824 }, { 221,5824 }, { 222,5824 }, + { 223,5824 }, { 224,5824 }, { 225,5824 }, { 226,5824 }, { 227,5824 }, + { 228,5824 }, { 229,5824 }, { 230,5824 }, { 231,5824 }, { 232,5824 }, + + { 233,5824 }, { 234,5824 }, { 235,5824 }, { 236,5824 }, { 237,5824 }, + { 238,5824 }, { 239,5824 }, { 240,5824 }, { 241,5824 }, { 242,5824 }, + { 243,5824 }, { 244,5824 }, { 245,5824 }, { 246,5824 }, { 247,5824 }, + { 248,5824 }, { 249,5824 }, { 250,5824 }, { 251,5824 }, { 252,5824 }, + { 253,5824 }, { 254,5824 }, { 255,5824 }, { 0, 61 }, { 0,18948 }, + { 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 }, { 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 }, + { 36,5567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,7119 }, { 49,7119 }, { 50,7119 }, + { 51,7119 }, { 52,7119 }, { 53,7119 }, { 54,7119 }, { 55,7119 }, + { 56,7119 }, { 57,7119 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,7119 }, + { 66,7119 }, { 67,7119 }, { 68,7119 }, { 69,7119 }, { 70,7119 }, + { 71,5567 }, { 72,5567 }, { 73,5567 }, { 74,5567 }, { 75,5567 }, + + { 76,5567 }, { 77,5567 }, { 78,5567 }, { 79,5567 }, { 80,5567 }, + { 81,5567 }, { 82,5567 }, { 83,5567 }, { 84,5567 }, { 85,5567 }, + { 86,5567 }, { 87,5567 }, { 88,5567 }, { 89,5567 }, { 90,5567 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,7376 }, + { 0, 0 }, { 97,7119 }, { 98,7119 }, { 99,7119 }, { 100,7119 }, + { 101,7119 }, { 102,7119 }, { 103,5567 }, { 104,5567 }, { 105,5567 }, + { 106,5567 }, { 107,5567 }, { 108,5567 }, { 109,5567 }, { 110,5567 }, + { 111,5567 }, { 112,5567 }, { 113,5567 }, { 114,5567 }, { 115,5567 }, + { 116,5567 }, { 117,5567 }, { 118,5567 }, { 119,5567 }, { 120,5567 }, + { 121,5567 }, { 122,5567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 169,-6859 }, { 170,-6859 }, { 171,-6859 }, { 172,-6859 }, { 173,-6859 }, - { 174,-6859 }, { 175,-6859 }, { 176,-6859 }, { 177,-6859 }, { 178,-6859 }, - { 179,-6859 }, { 180,-6859 }, { 181,-6859 }, { 182,-6859 }, { 183,-6859 }, - { 184,-6859 }, { 185,-6859 }, { 186,-6859 }, { 187,-6859 }, { 188,-6859 }, - { 189,-6859 }, { 190,-6859 }, { 191,-6859 }, { 192,-6859 }, { 193,-6859 }, - { 194,-6859 }, { 195,-6859 }, { 196,-6859 }, { 197,-6859 }, { 198,-6859 }, - { 199,-6859 }, { 200,-6859 }, { 201,-6859 }, { 202,-6859 }, { 203,-6859 }, - { 204,-6859 }, { 205,-6859 }, { 206,-6859 }, { 207,-6859 }, { 208,-6859 }, - { 209,-6859 }, { 210,-6859 }, { 211,-6859 }, { 212,-6859 }, { 213,-6859 }, - { 214,-6859 }, { 215,-6859 }, { 216,-6859 }, { 217,-6859 }, { 218,-6859 }, + { 0, 0 }, { 0, 0 }, { 128,5567 }, { 129,5567 }, { 130,5567 }, + { 131,5567 }, { 132,5567 }, { 133,5567 }, { 134,5567 }, { 135,5567 }, + { 136,5567 }, { 137,5567 }, { 138,5567 }, { 139,5567 }, { 140,5567 }, + { 141,5567 }, { 142,5567 }, { 143,5567 }, { 144,5567 }, { 145,5567 }, + { 146,5567 }, { 147,5567 }, { 148,5567 }, { 149,5567 }, { 150,5567 }, + { 151,5567 }, { 152,5567 }, { 153,5567 }, { 154,5567 }, { 155,5567 }, + { 156,5567 }, { 157,5567 }, { 158,5567 }, { 159,5567 }, { 160,5567 }, + { 161,5567 }, { 162,5567 }, { 163,5567 }, { 164,5567 }, { 165,5567 }, + { 166,5567 }, { 167,5567 }, { 168,5567 }, { 169,5567 }, { 170,5567 }, + { 171,5567 }, { 172,5567 }, { 173,5567 }, { 174,5567 }, { 175,5567 }, - { 219,-6859 }, { 220,-6859 }, { 221,-6859 }, { 222,-6859 }, { 223,-6859 }, - { 224,-6859 }, { 225,-6859 }, { 226,-6859 }, { 227,-6859 }, { 228,-6859 }, - { 229,-6859 }, { 230,-6859 }, { 231,-6859 }, { 232,-6859 }, { 233,-6859 }, - { 234,-6859 }, { 235,-6859 }, { 236,-6859 }, { 237,-6859 }, { 238,-6859 }, - { 239,-6859 }, { 240,-6859 }, { 241,-6859 }, { 242,-6859 }, { 243,-6859 }, - { 244,-6859 }, { 245,-6859 }, { 246,-6859 }, { 247,-6859 }, { 248,-6859 }, - { 249,-6859 }, { 250,-6859 }, { 251,-6859 }, { 252,-6859 }, { 253,-6859 }, - { 254,-6859 }, { 255,-6859 }, { 0, 68 }, { 0,8110 }, { 0, 0 }, + { 176,5567 }, { 177,5567 }, { 178,5567 }, { 179,5567 }, { 180,5567 }, + { 181,5567 }, { 182,5567 }, { 183,5567 }, { 184,5567 }, { 185,5567 }, + { 186,5567 }, { 187,5567 }, { 188,5567 }, { 189,5567 }, { 190,5567 }, + { 191,5567 }, { 192,5567 }, { 193,5567 }, { 194,5567 }, { 195,5567 }, + { 196,5567 }, { 197,5567 }, { 198,5567 }, { 199,5567 }, { 200,5567 }, + { 201,5567 }, { 202,5567 }, { 203,5567 }, { 204,5567 }, { 205,5567 }, + { 206,5567 }, { 207,5567 }, { 208,5567 }, { 209,5567 }, { 210,5567 }, + { 211,5567 }, { 212,5567 }, { 213,5567 }, { 214,5567 }, { 215,5567 }, + { 216,5567 }, { 217,5567 }, { 218,5567 }, { 219,5567 }, { 220,5567 }, + { 221,5567 }, { 222,5567 }, { 223,5567 }, { 224,5567 }, { 225,5567 }, + + { 226,5567 }, { 227,5567 }, { 228,5567 }, { 229,5567 }, { 230,5567 }, + { 231,5567 }, { 232,5567 }, { 233,5567 }, { 234,5567 }, { 235,5567 }, + { 236,5567 }, { 237,5567 }, { 238,5567 }, { 239,5567 }, { 240,5567 }, + { 241,5567 }, { 242,5567 }, { 243,5567 }, { 244,5567 }, { 245,5567 }, + { 246,5567 }, { 247,5567 }, { 248,5567 }, { 249,5567 }, { 250,5567 }, + { 251,5567 }, { 252,5567 }, { 253,5567 }, { 254,5567 }, { 255,5567 }, + { 0, 68 }, { 0,18691 }, { 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, 62 }, { 0,8100 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 61 }, { 0,8092 }, { 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 }, { 36,5310 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 68 }, { 0,8069 }, - { 0, 0 }, { 43,4445 }, { 0, 0 }, { 45,4445 }, { 0, 0 }, - { 0, 0 }, { 48,4700 }, { 49,4700 }, { 50,4700 }, { 51,4700 }, - { 52,4700 }, { 53,4700 }, { 54,4700 }, { 55,4700 }, { 56,4700 }, - { 57,4700 }, { 48,4947 }, { 49,4947 }, { 50,4947 }, { 51,4947 }, - - { 52,4947 }, { 53,4947 }, { 54,4947 }, { 55,4947 }, { 48,5196 }, - { 49,5196 }, { 50,5196 }, { 51,5196 }, { 52,5196 }, { 53,5196 }, - { 54,5196 }, { 55,5196 }, { 56,5196 }, { 57,5196 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7376 }, + { 49,7376 }, { 50,7376 }, { 51,7376 }, { 52,7376 }, { 53,7376 }, + { 54,7376 }, { 55,7376 }, { 56,7376 }, { 57,7376 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,5196 }, { 66,5196 }, { 67,5196 }, { 68,5196 }, - { 69,5196 }, { 70,5196 }, { 48,5468 }, { 49,5468 }, { 50,5468 }, - { 51,5468 }, { 52,5468 }, { 53,5468 }, { 54,5468 }, { 55,5468 }, - { 56,5468 }, { 57,5468 }, { 0, 50 }, { 0,8010 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4955 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 52 }, { 0,7999 }, + { 0, 0 }, { 65,5310 }, { 66,5310 }, { 67,5310 }, { 68,5310 }, + + { 69,5310 }, { 70,5310 }, { 71,5310 }, { 72,5310 }, { 73,5310 }, + { 74,5310 }, { 75,5310 }, { 76,5310 }, { 77,5310 }, { 78,5310 }, + { 79,5310 }, { 80,5310 }, { 81,5310 }, { 82,5310 }, { 83,5310 }, + { 84,5310 }, { 85,5310 }, { 86,5310 }, { 87,5310 }, { 88,5310 }, + { 89,5310 }, { 90,5310 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,5310 }, { 0, 0 }, { 97,5310 }, { 98,5310 }, + { 99,5310 }, { 100,5310 }, { 101,5310 }, { 102,5310 }, { 103,5310 }, + { 104,5310 }, { 105,5310 }, { 106,5310 }, { 107,5310 }, { 108,5310 }, + { 109,5310 }, { 110,5310 }, { 111,5310 }, { 112,5310 }, { 113,5310 }, + { 114,5310 }, { 115,5310 }, { 116,5310 }, { 117,5310 }, { 118,5310 }, - { 0, 0 }, { 95,5453 }, { 0, 0 }, { 97,5196 }, { 98,5196 }, - { 99,5196 }, { 100,5196 }, { 101,5196 }, { 102,5196 }, { 0, 0 }, + { 119,5310 }, { 120,5310 }, { 121,5310 }, { 122,5310 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5310 }, + { 129,5310 }, { 130,5310 }, { 131,5310 }, { 132,5310 }, { 133,5310 }, + { 134,5310 }, { 135,5310 }, { 136,5310 }, { 137,5310 }, { 138,5310 }, + { 139,5310 }, { 140,5310 }, { 141,5310 }, { 142,5310 }, { 143,5310 }, + { 144,5310 }, { 145,5310 }, { 146,5310 }, { 147,5310 }, { 148,5310 }, + { 149,5310 }, { 150,5310 }, { 151,5310 }, { 152,5310 }, { 153,5310 }, + { 154,5310 }, { 155,5310 }, { 156,5310 }, { 157,5310 }, { 158,5310 }, + { 159,5310 }, { 160,5310 }, { 161,5310 }, { 162,5310 }, { 163,5310 }, + { 164,5310 }, { 165,5310 }, { 166,5310 }, { 167,5310 }, { 168,5310 }, + + { 169,5310 }, { 170,5310 }, { 171,5310 }, { 172,5310 }, { 173,5310 }, + { 174,5310 }, { 175,5310 }, { 176,5310 }, { 177,5310 }, { 178,5310 }, + { 179,5310 }, { 180,5310 }, { 181,5310 }, { 182,5310 }, { 183,5310 }, + { 184,5310 }, { 185,5310 }, { 186,5310 }, { 187,5310 }, { 188,5310 }, + { 189,5310 }, { 190,5310 }, { 191,5310 }, { 192,5310 }, { 193,5310 }, + { 194,5310 }, { 195,5310 }, { 196,5310 }, { 197,5310 }, { 198,5310 }, + { 199,5310 }, { 200,5310 }, { 201,5310 }, { 202,5310 }, { 203,5310 }, + { 204,5310 }, { 205,5310 }, { 206,5310 }, { 207,5310 }, { 208,5310 }, + { 209,5310 }, { 210,5310 }, { 211,5310 }, { 212,5310 }, { 213,5310 }, + { 214,5310 }, { 215,5310 }, { 216,5310 }, { 217,5310 }, { 218,5310 }, + + { 219,5310 }, { 220,5310 }, { 221,5310 }, { 222,5310 }, { 223,5310 }, + { 224,5310 }, { 225,5310 }, { 226,5310 }, { 227,5310 }, { 228,5310 }, + { 229,5310 }, { 230,5310 }, { 231,5310 }, { 232,5310 }, { 233,5310 }, + { 234,5310 }, { 235,5310 }, { 236,5310 }, { 237,5310 }, { 238,5310 }, + { 239,5310 }, { 240,5310 }, { 241,5310 }, { 242,5310 }, { 243,5310 }, + { 244,5310 }, { 245,5310 }, { 246,5310 }, { 247,5310 }, { 248,5310 }, + { 249,5310 }, { 250,5310 }, { 251,5310 }, { 252,5310 }, { 253,5310 }, + { 254,5310 }, { 255,5310 }, { 0, 50 }, { 0,18434 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 52 }, { 0,18423 }, + + { 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 }, { 33,-1509 }, { 0, 0 }, { 35,-1509 }, { 0, 0 }, - { 37,-1509 }, { 38,-1509 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 42,-1509 }, { 43,-1509 }, { 33,-1520 }, { 45,-1509 }, { 35,-1520 }, - { 47,-1509 }, { 37,-1520 }, { 38,-1520 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 42,-1520 }, { 43,-1520 }, { 0, 0 }, { 45,-1520 }, - { 0, 0 }, { 47,-1520 }, { 0, 0 }, { 60,-1509 }, { 61,-1509 }, + { 0, 0 }, { 33,-2951 }, { 0, 0 }, { 35,-2951 }, { 0, 0 }, + { 37,-2951 }, { 38,-2951 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42,-2951 }, { 43,-2951 }, { 33,-2962 }, { 45,-2951 }, { 35,-2962 }, + { 47,-2951 }, { 37,-2962 }, { 38,-2962 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42,-2962 }, { 43,-2962 }, { 0, 0 }, { 45,-2962 }, + { 0, 0 }, { 47,-2962 }, { 0, 0 }, { 60,-2951 }, { 61,-2951 }, - { 62,-1509 }, { 63,-1509 }, { 64,-1509 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,-1520 }, - { 61,-1520 }, { 62,-1520 }, { 63,-1520 }, { 64,-1520 }, { 0, 0 }, - { 0, 49 }, { 0,7932 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 62,-2951 }, { 63,-2951 }, { 64,-2951 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,-2962 }, + { 61,-2962 }, { 62,-2962 }, { 63,-2962 }, { 64,-2962 }, { 0, 0 }, + { 0, 49 }, { 0,18356 }, { 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 }, { 94,-1509 }, { 0, 0 }, { 96,-1509 }, + { 0, 0 }, { 0, 0 }, { 94,-2951 }, { 0, 0 }, { 96,-2951 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-1520 }, { 0, 0 }, - { 96,-1520 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-1587 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-2962 }, { 0, 0 }, + { 96,-2962 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-3029 }, - { 0, 0 }, { 35,-1587 }, { 0, 0 }, { 37,-1587 }, { 38,-1587 }, - { 0, 51 }, { 0,7892 }, { 0, 0 }, { 42,-1587 }, { 43,-1587 }, - { 0, 0 }, { 45,-1587 }, { 124,-1509 }, { 47,-1587 }, { 126,-1509 }, + { 0, 0 }, { 35,-3029 }, { 0, 0 }, { 37,-3029 }, { 38,-3029 }, + { 0, 51 }, { 0,18316 }, { 0, 0 }, { 42,-3029 }, { 43,-3029 }, + { 0, 0 }, { 45,-3029 }, { 124,-2951 }, { 47,-3029 }, { 126,-2951 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,-1520 }, { 0, 0 }, - { 126,-1520 }, { 60,-1587 }, { 61,-1587 }, { 62,-1587 }, { 63,-1587 }, - { 64,-1587 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-1627 }, - { 0, 0 }, { 35,-1627 }, { 0, 0 }, { 37,-1627 }, { 38,-1627 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,-1627 }, { 43,-1627 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,-2962 }, { 0, 0 }, + { 126,-2962 }, { 60,-3029 }, { 61,-3029 }, { 62,-3029 }, { 63,-3029 }, + { 64,-3029 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-3069 }, + { 0, 0 }, { 35,-3069 }, { 0, 0 }, { 37,-3069 }, { 38,-3069 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,-3069 }, { 43,-3069 }, - { 0, 0 }, { 45,-1627 }, { 0, 0 }, { 47,-1627 }, { 0, 0 }, + { 0, 0 }, { 45,-3069 }, { 0, 0 }, { 47,-3069 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94,-1587 }, { 0, 0 }, { 96,-1587 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 60,-1627 }, { 61,-1627 }, { 62,-1627 }, { 63,-1627 }, - { 64,-1627 }, { 0, 74 }, { 0,7826 }, { 0, 0 }, { 0, 0 }, + { 94,-3029 }, { 0, 0 }, { 96,-3029 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 60,-3069 }, { 61,-3069 }, { 62,-3069 }, { 63,-3069 }, + { 64,-3069 }, { 0, 71 }, { 0,18250 }, { 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 }, - { 124,-1587 }, { 0, 0 }, { 126,-1587 }, { 0, 0 }, { 0, 0 }, + { 124,-3029 }, { 0, 0 }, { 126,-3029 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94,-1627 }, { 0, 0 }, { 96,-1627 }, { 0, 0 }, { 0, 0 }, + { 94,-3069 }, { 0, 0 }, { 96,-3069 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, - { 124,-1627 }, { 0, 0 }, { 126,-1627 }, { 0, 0 }, { 0, 0 }, + { 124,-3069 }, { 0, 0 }, { 126,-3069 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, @@ -3746,7 +4065,7 @@ static const struct yy_trans_info yy_transition[21803] = { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, - { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 11 }, { 0,7569 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 11 }, { 0,17993 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, @@ -3803,7 +4122,7 @@ static const struct yy_trans_info yy_transition[21803] = { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, - { 256, 0 }, { 0, 6 }, { 0,7311 }, { 1, 0 }, { 2, 0 }, + { 256, 0 }, { 0, 6 }, { 0,17735 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, @@ -3860,35 +4179,35 @@ static const struct yy_trans_info yy_transition[21803] = { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 4 }, - { 0,7053 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0,17477 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,4709 }, { 0, 0 }, - { 35,4709 }, { 0, 0 }, { 37,4709 }, { 38,4709 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42,4709 }, { 43,4709 }, { 0, 0 }, - { 45,4709 }, { 0, 0 }, { 47,4709 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,6419 }, { 0, 0 }, + { 35,6419 }, { 0, 0 }, { 37,6419 }, { 38,6419 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,6419 }, { 43,6419 }, { 0, 0 }, + { 45,6419 }, { 0, 0 }, { 47,6419 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 60,4709 }, { 61,4709 }, { 62,4709 }, { 63,4709 }, { 64,4709 }, + { 60,6419 }, { 61,6419 }, { 62,6419 }, { 63,6419 }, { 64,6419 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4709 }, - { 0, 0 }, { 96,4709 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,6419 }, + { 0, 0 }, { 96,6419 }, { 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 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,4709 }, - { 0, 0 }, { 126,4709 }, { 0, 44 }, { 0,6925 }, { 1, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,6419 }, + { 0, 0 }, { 126,6419 }, { 0, 44 }, { 0,17349 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, @@ -3945,7 +4264,7 @@ static const struct yy_trans_info yy_transition[21803] = { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, - { 0, 10 }, { 0,6667 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 0, 10 }, { 0,17091 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, @@ -4001,7 +4320,7 @@ static const struct yy_trans_info yy_transition[21803] = { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, - { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, { 0,6409 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, { 0,16833 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, @@ -4058,151 +4377,284 @@ static const struct yy_trans_info yy_transition[21803] = { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, - { 256, 0 }, { 0, 19 }, { 0,6151 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 19 }, { 0,6146 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 9, 0 }, { 10, 5 }, { 0, 0 }, { 12, 0 }, - { 13, 5 }, { 9, 16 }, { 10, 16 }, { 0, 0 }, { 12, 16 }, - { 13, 16 }, { 0, 0 }, { 0, 19 }, { 0,6130 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, { 32, 0 }, - { 12, 0 }, { 13, 0 }, { 0, 0 }, { 0, 0 }, { 32, 16 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 39,-8768 }, { 45,-8790 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 45,-8795 }, { 0, 0 }, { 0, 0 }, - - { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 39,-8784 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-8811 }, { 0, 23 }, - { 0,6083 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, - { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, - { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, - { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, - { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, - { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, - { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, - - { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, - { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, - { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, - { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, - { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, - { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, - { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, - { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, - { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, + { 256, 0 }, { 0, 19 }, { 0,16575 }, { 0, 0 }, { 0, 0 }, - { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, - { 90, 0 }, { 91, 0 }, { 0, 0 }, { 93, 0 }, { 94, 0 }, - { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, - { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, - { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, - { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, - { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, - { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, - { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, - { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, + { 0, 0 }, { 0, 19 }, { 0,16570 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 5 }, { 11, 0 }, { 12, 0 }, + { 13, 5 }, { 9, 24 }, { 10, 24 }, { 11, 24 }, { 12, 24 }, + { 13, 24 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 19 }, { 0,16546 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 24 }, + { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, + { 0, 0 }, { 39,-10264 }, { 45,-10261 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-10266 }, { 0, 0 }, { 0, 0 }, - { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, - { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, - { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, - { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, - { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, - { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, - { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, - { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, - { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, - { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-10288 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-10290 }, { 0, 23 }, { 0,16499 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, - { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, - { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, - { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, - { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, - { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, - { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, - { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, - { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, - { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, - { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, - { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, - { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, - { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, - { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, - { 255, 0 }, { 256, 0 }, { 0, 30 }, { 0,5825 }, { 0, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 0, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 30 }, { 0,16241 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,16233 }, + { 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 }, { 0, 28 }, { 0,16210 }, { 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 }, { 48,5185 }, + { 49,5185 }, { 50,5185 }, { 51,5185 }, { 52,5185 }, { 53,5185 }, + { 54,5185 }, { 55,5185 }, { 48,5192 }, { 49,5192 }, { 50,5192 }, + { 51,5192 }, { 52,5192 }, { 53,5192 }, { 54,5192 }, { 55,5192 }, + { 56,5192 }, { 57,5192 }, { 0, 0 }, { 0, 0 }, { 0, 29 }, + + { 0,16172 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5192 }, + { 66,5192 }, { 67,5192 }, { 68,5192 }, { 69,5192 }, { 70,5192 }, + { 48,5231 }, { 49,5231 }, { 50,5231 }, { 51,5231 }, { 52,5231 }, + { 53,5231 }, { 54,5231 }, { 55,5231 }, { 56,5231 }, { 57,5231 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5231 }, { 66,5231 }, { 67,5231 }, + { 68,5231 }, { 69,5231 }, { 70,5231 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,5192 }, { 98,5192 }, { 99,5192 }, { 100,5192 }, + { 101,5192 }, { 102,5192 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5216 }, { 49,5216 }, + + { 50,5216 }, { 51,5216 }, { 52,5216 }, { 53,5216 }, { 54,5216 }, + { 55,5216 }, { 56,5216 }, { 57,5216 }, { 0, 0 }, { 97,5231 }, + { 98,5231 }, { 99,5231 }, { 100,5231 }, { 101,5231 }, { 102,5231 }, + { 65,5216 }, { 66,5216 }, { 67,5216 }, { 68,5216 }, { 69,5216 }, + { 70,5216 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,5216 }, { 98,5216 }, { 99,5216 }, + + { 100,5216 }, { 101,5216 }, { 102,5216 }, { 0, 36 }, { 0,16068 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, + { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 0, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, + + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 37 }, { 0,15810 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 28 }, { 0,5817 }, { 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 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-11020 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,5794 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4913 }, { 49,4913 }, { 50,4913 }, { 51,4913 }, { 52,4913 }, + { 53,4913 }, { 54,4913 }, { 55,4913 }, { 56,4913 }, { 57,4913 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48,3483 }, { 49,3483 }, { 50,3483 }, { 51,3483 }, - { 52,3483 }, { 53,3483 }, { 54,3483 }, { 55,3483 }, { 48,3490 }, - { 49,3490 }, { 50,3490 }, { 51,3490 }, { 52,3490 }, { 53,3490 }, - { 54,3490 }, { 55,3490 }, { 56,3490 }, { 57,3490 }, { 0, 0 }, - { 0, 0 }, { 0, 29 }, { 0,5756 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,3490 }, { 66,3490 }, { 67,3490 }, { 68,3490 }, + { 0, 0 }, { 0, 0 }, { 65,4913 }, { 66,4913 }, { 67,4913 }, + { 68,4913 }, { 69,4913 }, { 70,4913 }, { 71,4913 }, { 72,4913 }, + { 73,4913 }, { 74,4913 }, { 75,4913 }, { 76,4913 }, { 77,4913 }, + { 78,4913 }, { 79,4913 }, { 80,4913 }, { 81,4913 }, { 82,4913 }, + { 83,4913 }, { 84,4913 }, { 85,4913 }, { 86,4913 }, { 87,4913 }, - { 69,3490 }, { 70,3490 }, { 48,3529 }, { 49,3529 }, { 50,3529 }, - { 51,3529 }, { 52,3529 }, { 53,3529 }, { 54,3529 }, { 55,3529 }, - { 56,3529 }, { 57,3529 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3529 }, - { 66,3529 }, { 67,3529 }, { 68,3529 }, { 69,3529 }, { 70,3529 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,3490 }, { 98,3490 }, - { 99,3490 }, { 100,3490 }, { 101,3490 }, { 102,3490 }, { 0, 0 }, + { 88,4913 }, { 89,4913 }, { 90,4913 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4913 }, { 0, 0 }, { 97,4913 }, + { 98,4913 }, { 99,4913 }, { 100,4913 }, { 101,4913 }, { 102,4913 }, + { 103,4913 }, { 104,4913 }, { 105,4913 }, { 106,4913 }, { 107,4913 }, + { 108,4913 }, { 109,4913 }, { 110,4913 }, { 111,4913 }, { 112,4913 }, + { 113,4913 }, { 114,4913 }, { 115,4913 }, { 116,4913 }, { 117,4913 }, + { 118,4913 }, { 119,4913 }, { 120,4913 }, { 121,4913 }, { 122,4913 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,3514 }, { 49,3514 }, { 50,3514 }, { 51,3514 }, { 52,3514 }, - { 53,3514 }, { 54,3514 }, { 55,3514 }, { 56,3514 }, { 57,3514 }, + { 128,4913 }, { 129,4913 }, { 130,4913 }, { 131,4913 }, { 132,4913 }, + { 133,4913 }, { 134,4913 }, { 135,4913 }, { 136,4913 }, { 137,4913 }, + + { 138,4913 }, { 139,4913 }, { 140,4913 }, { 141,4913 }, { 142,4913 }, + { 143,4913 }, { 144,4913 }, { 145,4913 }, { 146,4913 }, { 147,4913 }, + { 148,4913 }, { 149,4913 }, { 150,4913 }, { 151,4913 }, { 152,4913 }, + { 153,4913 }, { 154,4913 }, { 155,4913 }, { 156,4913 }, { 157,4913 }, + { 158,4913 }, { 159,4913 }, { 160,4913 }, { 161,4913 }, { 162,4913 }, + { 163,4913 }, { 164,4913 }, { 165,4913 }, { 166,4913 }, { 167,4913 }, + { 168,4913 }, { 169,4913 }, { 170,4913 }, { 171,4913 }, { 172,4913 }, + { 173,4913 }, { 174,4913 }, { 175,4913 }, { 176,4913 }, { 177,4913 }, + { 178,4913 }, { 179,4913 }, { 180,4913 }, { 181,4913 }, { 182,4913 }, + { 183,4913 }, { 184,4913 }, { 185,4913 }, { 186,4913 }, { 187,4913 }, + + { 188,4913 }, { 189,4913 }, { 190,4913 }, { 191,4913 }, { 192,4913 }, + { 193,4913 }, { 194,4913 }, { 195,4913 }, { 196,4913 }, { 197,4913 }, + { 198,4913 }, { 199,4913 }, { 200,4913 }, { 201,4913 }, { 202,4913 }, + { 203,4913 }, { 204,4913 }, { 205,4913 }, { 206,4913 }, { 207,4913 }, + { 208,4913 }, { 209,4913 }, { 210,4913 }, { 211,4913 }, { 212,4913 }, + { 213,4913 }, { 214,4913 }, { 215,4913 }, { 216,4913 }, { 217,4913 }, + { 218,4913 }, { 219,4913 }, { 220,4913 }, { 221,4913 }, { 222,4913 }, + { 223,4913 }, { 224,4913 }, { 225,4913 }, { 226,4913 }, { 227,4913 }, + { 228,4913 }, { 229,4913 }, { 230,4913 }, { 231,4913 }, { 232,4913 }, + { 233,4913 }, { 234,4913 }, { 235,4913 }, { 236,4913 }, { 237,4913 }, - { 0, 0 }, { 97,3529 }, { 98,3529 }, { 99,3529 }, { 100,3529 }, - { 101,3529 }, { 102,3529 }, { 65,3514 }, { 66,3514 }, { 67,3514 }, - { 68,3514 }, { 69,3514 }, { 70,3514 }, { 0, 0 }, { 0, 0 }, + { 238,4913 }, { 239,4913 }, { 240,4913 }, { 241,4913 }, { 242,4913 }, + { 243,4913 }, { 244,4913 }, { 245,4913 }, { 246,4913 }, { 247,4913 }, + { 248,4913 }, { 249,4913 }, { 250,4913 }, { 251,4913 }, { 252,4913 }, + { 253,4913 }, { 254,4913 }, { 255,4913 }, { 0, 28 }, { 0,15553 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,3514 }, - { 98,3514 }, { 99,3514 }, { 100,3514 }, { 101,3514 }, { 102,3514 }, - { 0, 36 }, { 0,5652 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 0, 0 }, { 0, 28 }, { 0,15530 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, - { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, - { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, - { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, - { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, - { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, - { 34, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, { 38, 0 }, - { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, - { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, - { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 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 }, { 48,4913 }, { 49,4913 }, { 50,4913 }, + { 51,4913 }, { 52,4913 }, { 53,4913 }, { 54,4913 }, { 55,4913 }, + { 56,4913 }, { 57,4913 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4913 }, + { 66,4913 }, { 67,4913 }, { 68,4913 }, { 69,4913 }, { 70,4913 }, + { 48,4913 }, { 49,4913 }, { 50,4913 }, { 51,4913 }, { 52,4913 }, + { 53,4913 }, { 54,4913 }, { 55,4913 }, { 56,4913 }, { 57,4913 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, - { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, - { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 0, 34 }, { 0,15471 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4913 }, { 66,4913 }, { 67,4913 }, + { 68,4913 }, { 69,4913 }, { 70,4913 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,4913 }, { 98,4913 }, { 99,4913 }, { 100,4913 }, + { 101,4913 }, { 102,4913 }, { 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 }, { 36,-11633 }, { 0, 0 }, { 97,4913 }, + { 98,4913 }, { 99,4913 }, { 100,4913 }, { 101,4913 }, { 102,4913 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, - { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, - { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, - { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, - { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, - { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, - { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, @@ -4212,8 +4664,8 @@ static const struct yy_trans_info yy_transition[21803] = { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, - { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, @@ -4223,118 +4675,43 @@ static const struct yy_trans_info yy_transition[21803] = { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, - { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, - - { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 37 }, { 0,5394 }, - { 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 }, { 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 }, - { 36,-9498 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 48,3211 }, { 49,3211 }, { 50,3211 }, - { 51,3211 }, { 52,3211 }, { 53,3211 }, { 54,3211 }, { 55,3211 }, - { 56,3211 }, { 57,3211 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3211 }, - { 66,3211 }, { 67,3211 }, { 68,3211 }, { 69,3211 }, { 70,3211 }, - { 71,3211 }, { 72,3211 }, { 73,3211 }, { 74,3211 }, { 75,3211 }, - { 76,3211 }, { 77,3211 }, { 78,3211 }, { 79,3211 }, { 80,3211 }, - { 81,3211 }, { 82,3211 }, { 83,3211 }, { 84,3211 }, { 85,3211 }, - { 86,3211 }, { 87,3211 }, { 88,3211 }, { 89,3211 }, { 90,3211 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3211 }, - - { 0, 0 }, { 97,3211 }, { 98,3211 }, { 99,3211 }, { 100,3211 }, - { 101,3211 }, { 102,3211 }, { 103,3211 }, { 104,3211 }, { 105,3211 }, - { 106,3211 }, { 107,3211 }, { 108,3211 }, { 109,3211 }, { 110,3211 }, - { 111,3211 }, { 112,3211 }, { 113,3211 }, { 114,3211 }, { 115,3211 }, - { 116,3211 }, { 117,3211 }, { 118,3211 }, { 119,3211 }, { 120,3211 }, - { 121,3211 }, { 122,3211 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 128,3211 }, { 129,3211 }, { 130,3211 }, - { 131,3211 }, { 132,3211 }, { 133,3211 }, { 134,3211 }, { 135,3211 }, - { 136,3211 }, { 137,3211 }, { 138,3211 }, { 139,3211 }, { 140,3211 }, - { 141,3211 }, { 142,3211 }, { 143,3211 }, { 144,3211 }, { 145,3211 }, - { 146,3211 }, { 147,3211 }, { 148,3211 }, { 149,3211 }, { 150,3211 }, - { 151,3211 }, { 152,3211 }, { 153,3211 }, { 154,3211 }, { 155,3211 }, - { 156,3211 }, { 157,3211 }, { 158,3211 }, { 159,3211 }, { 160,3211 }, - { 161,3211 }, { 162,3211 }, { 163,3211 }, { 164,3211 }, { 165,3211 }, - { 166,3211 }, { 167,3211 }, { 168,3211 }, { 169,3211 }, { 170,3211 }, - { 171,3211 }, { 172,3211 }, { 173,3211 }, { 174,3211 }, { 175,3211 }, - { 176,3211 }, { 177,3211 }, { 178,3211 }, { 179,3211 }, { 180,3211 }, - { 181,3211 }, { 182,3211 }, { 183,3211 }, { 184,3211 }, { 185,3211 }, - { 186,3211 }, { 187,3211 }, { 188,3211 }, { 189,3211 }, { 190,3211 }, - { 191,3211 }, { 192,3211 }, { 193,3211 }, { 194,3211 }, { 195,3211 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 0, 2 }, { 0,15214 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 0, 0 }, { 11, 0 }, + { 12, 0 }, { 0, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, - { 196,3211 }, { 197,3211 }, { 198,3211 }, { 199,3211 }, { 200,3211 }, - { 201,3211 }, { 202,3211 }, { 203,3211 }, { 204,3211 }, { 205,3211 }, - { 206,3211 }, { 207,3211 }, { 208,3211 }, { 209,3211 }, { 210,3211 }, - { 211,3211 }, { 212,3211 }, { 213,3211 }, { 214,3211 }, { 215,3211 }, - { 216,3211 }, { 217,3211 }, { 218,3211 }, { 219,3211 }, { 220,3211 }, - { 221,3211 }, { 222,3211 }, { 223,3211 }, { 224,3211 }, { 225,3211 }, - { 226,3211 }, { 227,3211 }, { 228,3211 }, { 229,3211 }, { 230,3211 }, - { 231,3211 }, { 232,3211 }, { 233,3211 }, { 234,3211 }, { 235,3211 }, - { 236,3211 }, { 237,3211 }, { 238,3211 }, { 239,3211 }, { 240,3211 }, - { 241,3211 }, { 242,3211 }, { 243,3211 }, { 244,3211 }, { 245,3211 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, - { 246,3211 }, { 247,3211 }, { 248,3211 }, { 249,3211 }, { 250,3211 }, - { 251,3211 }, { 252,3211 }, { 253,3211 }, { 254,3211 }, { 255,3211 }, - { 0, 28 }, { 0,5137 }, { 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 }, { 0, 28 }, { 0,5114 }, - { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3211 }, - { 49,3211 }, { 50,3211 }, { 51,3211 }, { 52,3211 }, { 53,3211 }, - { 54,3211 }, { 55,3211 }, { 56,3211 }, { 57,3211 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,3211 }, { 66,3211 }, { 67,3211 }, { 68,3211 }, - { 69,3211 }, { 70,3211 }, { 48,3211 }, { 49,3211 }, { 50,3211 }, - { 51,3211 }, { 52,3211 }, { 53,3211 }, { 54,3211 }, { 55,3211 }, - { 56,3211 }, { 57,3211 }, { 0, 34 }, { 0,5055 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3211 }, - - { 66,3211 }, { 67,3211 }, { 68,3211 }, { 69,3211 }, { 70,3211 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,3211 }, { 98,3211 }, - { 99,3211 }, { 100,3211 }, { 101,3211 }, { 102,3211 }, { 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 }, { 36,-10175 }, - { 0, 0 }, { 97,3211 }, { 98,3211 }, { 99,3211 }, { 100,3211 }, - { 101,3211 }, { 102,3211 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - - { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, - { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, - { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, - { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, - { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, - { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, - { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, - { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, - { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, @@ -4342,10 +4719,10 @@ static const struct yy_trans_info yy_transition[21803] = { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, - { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, @@ -4353,374 +4730,2254 @@ static const struct yy_trans_info yy_transition[21803] = { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, - { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 2 }, - - { 0,4798 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, - { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, - { 0, 0 }, { 11, 0 }, { 12, 0 }, { 0, 0 }, { 14, 0 }, - { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, - { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, - { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, - { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, - { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, - { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, - { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 2 }, { 0,14956 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9,-258 }, { 0, 0 }, { 11,-258 }, { 12,-258 }, { 0, 0 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32,-258 }, { 33, 0 }, + + { 34,-258 }, { 35, 0 }, { 36,-258 }, { 37, 0 }, { 38, 0 }, + { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42, 0 }, { 43, 0 }, + { 44,-258 }, { 45, 0 }, { 46,-258 }, { 47, 0 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + + { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94, 0 }, { 95,-258 }, { 96, 0 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124, 0 }, { 125,-258 }, { 126, 0 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 64 }, { 0,14698 }, + { 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 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, + { 66, 257 }, { 67, 257 }, { 68, 257 }, { 69, 514 }, { 70, 257 }, + { 71, 257 }, { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, + + { 76, 257 }, { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, + { 81, 257 }, { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, + { 86, 257 }, { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 771 }, + { 0, 0 }, { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, + { 101, 514 }, { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, + { 106, 257 }, { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, + { 111, 257 }, { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, + { 116, 257 }, { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, + { 121, 257 }, { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, + { 131, 257 }, { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, + { 136, 257 }, { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, + { 141, 257 }, { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, + { 146, 257 }, { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, + { 151, 257 }, { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, + { 156, 257 }, { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, + { 161, 257 }, { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, + { 166, 257 }, { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, + { 171, 257 }, { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, + + { 176, 257 }, { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, + { 181, 257 }, { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, + { 186, 257 }, { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, + { 191, 257 }, { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, + { 196, 257 }, { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, + { 201, 257 }, { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, + { 206, 257 }, { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, + { 211, 257 }, { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, + { 216, 257 }, { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, + { 221, 257 }, { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, + + { 226, 257 }, { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, + { 231, 257 }, { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, + { 236, 257 }, { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, + { 241, 257 }, { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, + { 246, 257 }, { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, + { 251, 257 }, { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, + { 0, 69 }, { 0,14441 }, { 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 }, { 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 }, { 36,3883 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3883 }, + { 49,3883 }, { 50,3883 }, { 51,3883 }, { 52,3883 }, { 53,3883 }, + { 54,3883 }, { 55,3883 }, { 56,3883 }, { 57,3883 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,3883 }, { 66,3883 }, { 67,3883 }, { 68,3883 }, + + { 69,3883 }, { 70,3883 }, { 71,3883 }, { 72,3883 }, { 73,3883 }, + { 74,3883 }, { 75,3883 }, { 76,3883 }, { 77,3883 }, { 78,3883 }, + { 79,3883 }, { 80,3883 }, { 81,3883 }, { 82,3883 }, { 83,3883 }, + { 84,3883 }, { 85,3883 }, { 86,3883 }, { 87,3883 }, { 88,3883 }, + { 89,3883 }, { 90,3883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,3883 }, { 0, 0 }, { 97,3883 }, { 98,3883 }, + { 99,3883 }, { 100,3883 }, { 101,3883 }, { 102,3883 }, { 103,3883 }, + { 104,3883 }, { 105,3883 }, { 106,3883 }, { 107,3883 }, { 108,3883 }, + { 109,3883 }, { 110,3883 }, { 111,3883 }, { 112,3883 }, { 113,3883 }, + { 114,3883 }, { 115,3883 }, { 116,3883 }, { 117,3883 }, { 118,3883 }, + + { 119,3883 }, { 120,3883 }, { 121,3883 }, { 122,3883 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3883 }, + { 129,3883 }, { 130,3883 }, { 131,3883 }, { 132,3883 }, { 133,3883 }, + { 134,3883 }, { 135,3883 }, { 136,3883 }, { 137,3883 }, { 138,3883 }, + { 139,3883 }, { 140,3883 }, { 141,3883 }, { 142,3883 }, { 143,3883 }, + { 144,3883 }, { 145,3883 }, { 146,3883 }, { 147,3883 }, { 148,3883 }, + { 149,3883 }, { 150,3883 }, { 151,3883 }, { 152,3883 }, { 153,3883 }, + { 154,3883 }, { 155,3883 }, { 156,3883 }, { 157,3883 }, { 158,3883 }, + { 159,3883 }, { 160,3883 }, { 161,3883 }, { 162,3883 }, { 163,3883 }, + { 164,3883 }, { 165,3883 }, { 166,3883 }, { 167,3883 }, { 168,3883 }, + + { 169,3883 }, { 170,3883 }, { 171,3883 }, { 172,3883 }, { 173,3883 }, + { 174,3883 }, { 175,3883 }, { 176,3883 }, { 177,3883 }, { 178,3883 }, + { 179,3883 }, { 180,3883 }, { 181,3883 }, { 182,3883 }, { 183,3883 }, + { 184,3883 }, { 185,3883 }, { 186,3883 }, { 187,3883 }, { 188,3883 }, + { 189,3883 }, { 190,3883 }, { 191,3883 }, { 192,3883 }, { 193,3883 }, + { 194,3883 }, { 195,3883 }, { 196,3883 }, { 197,3883 }, { 198,3883 }, + { 199,3883 }, { 200,3883 }, { 201,3883 }, { 202,3883 }, { 203,3883 }, + { 204,3883 }, { 205,3883 }, { 206,3883 }, { 207,3883 }, { 208,3883 }, + { 209,3883 }, { 210,3883 }, { 211,3883 }, { 212,3883 }, { 213,3883 }, + { 214,3883 }, { 215,3883 }, { 216,3883 }, { 217,3883 }, { 218,3883 }, + + { 219,3883 }, { 220,3883 }, { 221,3883 }, { 222,3883 }, { 223,3883 }, + { 224,3883 }, { 225,3883 }, { 226,3883 }, { 227,3883 }, { 228,3883 }, + { 229,3883 }, { 230,3883 }, { 231,3883 }, { 232,3883 }, { 233,3883 }, + { 234,3883 }, { 235,3883 }, { 236,3883 }, { 237,3883 }, { 238,3883 }, + { 239,3883 }, { 240,3883 }, { 241,3883 }, { 242,3883 }, { 243,3883 }, + { 244,3883 }, { 245,3883 }, { 246,3883 }, { 247,3883 }, { 248,3883 }, + { 249,3883 }, { 250,3883 }, { 251,3883 }, { 252,3883 }, { 253,3883 }, + { 254,3883 }, { 255,3883 }, { 0, 69 }, { 0,14184 }, { 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 }, + { 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 }, { 36,3626 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 43,1574 }, { 0, 0 }, { 45,1574 }, { 0, 0 }, + { 0, 0 }, { 48,3883 }, { 49,3883 }, { 50,3883 }, { 51,3883 }, + { 52,3883 }, { 53,3883 }, { 54,3883 }, { 55,3883 }, { 56,3883 }, + { 57,3883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3626 }, { 66,3626 }, + { 67,3626 }, { 68,3626 }, { 69,3626 }, { 70,3626 }, { 71,3626 }, + { 72,3626 }, { 73,3626 }, { 74,3626 }, { 75,3626 }, { 76,3626 }, + { 77,3626 }, { 78,3626 }, { 79,3626 }, { 80,3626 }, { 81,3626 }, + { 82,3626 }, { 83,3626 }, { 84,3626 }, { 85,3626 }, { 86,3626 }, + { 87,3626 }, { 88,3626 }, { 89,3626 }, { 90,3626 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3626 }, { 0, 0 }, + { 97,3626 }, { 98,3626 }, { 99,3626 }, { 100,3626 }, { 101,3626 }, + { 102,3626 }, { 103,3626 }, { 104,3626 }, { 105,3626 }, { 106,3626 }, + { 107,3626 }, { 108,3626 }, { 109,3626 }, { 110,3626 }, { 111,3626 }, + + { 112,3626 }, { 113,3626 }, { 114,3626 }, { 115,3626 }, { 116,3626 }, + { 117,3626 }, { 118,3626 }, { 119,3626 }, { 120,3626 }, { 121,3626 }, + { 122,3626 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,3626 }, { 129,3626 }, { 130,3626 }, { 131,3626 }, + { 132,3626 }, { 133,3626 }, { 134,3626 }, { 135,3626 }, { 136,3626 }, + { 137,3626 }, { 138,3626 }, { 139,3626 }, { 140,3626 }, { 141,3626 }, + { 142,3626 }, { 143,3626 }, { 144,3626 }, { 145,3626 }, { 146,3626 }, + { 147,3626 }, { 148,3626 }, { 149,3626 }, { 150,3626 }, { 151,3626 }, + { 152,3626 }, { 153,3626 }, { 154,3626 }, { 155,3626 }, { 156,3626 }, + { 157,3626 }, { 158,3626 }, { 159,3626 }, { 160,3626 }, { 161,3626 }, + + { 162,3626 }, { 163,3626 }, { 164,3626 }, { 165,3626 }, { 166,3626 }, + { 167,3626 }, { 168,3626 }, { 169,3626 }, { 170,3626 }, { 171,3626 }, + { 172,3626 }, { 173,3626 }, { 174,3626 }, { 175,3626 }, { 176,3626 }, + { 177,3626 }, { 178,3626 }, { 179,3626 }, { 180,3626 }, { 181,3626 }, + { 182,3626 }, { 183,3626 }, { 184,3626 }, { 185,3626 }, { 186,3626 }, + { 187,3626 }, { 188,3626 }, { 189,3626 }, { 190,3626 }, { 191,3626 }, + { 192,3626 }, { 193,3626 }, { 194,3626 }, { 195,3626 }, { 196,3626 }, + { 197,3626 }, { 198,3626 }, { 199,3626 }, { 200,3626 }, { 201,3626 }, + { 202,3626 }, { 203,3626 }, { 204,3626 }, { 205,3626 }, { 206,3626 }, + { 207,3626 }, { 208,3626 }, { 209,3626 }, { 210,3626 }, { 211,3626 }, + + { 212,3626 }, { 213,3626 }, { 214,3626 }, { 215,3626 }, { 216,3626 }, + { 217,3626 }, { 218,3626 }, { 219,3626 }, { 220,3626 }, { 221,3626 }, + { 222,3626 }, { 223,3626 }, { 224,3626 }, { 225,3626 }, { 226,3626 }, + { 227,3626 }, { 228,3626 }, { 229,3626 }, { 230,3626 }, { 231,3626 }, + { 232,3626 }, { 233,3626 }, { 234,3626 }, { 235,3626 }, { 236,3626 }, + { 237,3626 }, { 238,3626 }, { 239,3626 }, { 240,3626 }, { 241,3626 }, + { 242,3626 }, { 243,3626 }, { 244,3626 }, { 245,3626 }, { 246,3626 }, + { 247,3626 }, { 248,3626 }, { 249,3626 }, { 250,3626 }, { 251,3626 }, + { 252,3626 }, { 253,3626 }, { 254,3626 }, { 255,3626 }, { 0, 69 }, + { 0,13927 }, { 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 }, { 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 }, { 36,3369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3883 }, { 49,3883 }, + { 50,3883 }, { 51,3883 }, { 52,3883 }, { 53,3883 }, { 54,3883 }, + + { 55,3883 }, { 56,3883 }, { 57,3883 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,3369 }, { 66,3369 }, { 67,3369 }, { 68,3369 }, { 69,3369 }, + { 70,3369 }, { 71,3369 }, { 72,3369 }, { 73,3369 }, { 74,3369 }, + { 75,3369 }, { 76,3369 }, { 77,3369 }, { 78,3369 }, { 79,3369 }, + { 80,3369 }, { 81,3369 }, { 82,3369 }, { 83,3369 }, { 84,3369 }, + { 85,3369 }, { 86,3369 }, { 87,3369 }, { 88,3369 }, { 89,3369 }, + { 90,3369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,3369 }, { 0, 0 }, { 97,3369 }, { 98,3369 }, { 99,3369 }, + { 100,3369 }, { 101,3369 }, { 102,3369 }, { 103,3369 }, { 104,3369 }, + + { 105,3369 }, { 106,3369 }, { 107,3369 }, { 108,3369 }, { 109,3369 }, + { 110,3369 }, { 111,3369 }, { 112,3369 }, { 113,3369 }, { 114,3369 }, + { 115,3369 }, { 116,3369 }, { 117,3369 }, { 118,3369 }, { 119,3369 }, + { 120,3369 }, { 121,3369 }, { 122,3369 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3369 }, { 129,3369 }, + { 130,3369 }, { 131,3369 }, { 132,3369 }, { 133,3369 }, { 134,3369 }, + { 135,3369 }, { 136,3369 }, { 137,3369 }, { 138,3369 }, { 139,3369 }, + { 140,3369 }, { 141,3369 }, { 142,3369 }, { 143,3369 }, { 144,3369 }, + { 145,3369 }, { 146,3369 }, { 147,3369 }, { 148,3369 }, { 149,3369 }, + { 150,3369 }, { 151,3369 }, { 152,3369 }, { 153,3369 }, { 154,3369 }, + + { 155,3369 }, { 156,3369 }, { 157,3369 }, { 158,3369 }, { 159,3369 }, + { 160,3369 }, { 161,3369 }, { 162,3369 }, { 163,3369 }, { 164,3369 }, + { 165,3369 }, { 166,3369 }, { 167,3369 }, { 168,3369 }, { 169,3369 }, + { 170,3369 }, { 171,3369 }, { 172,3369 }, { 173,3369 }, { 174,3369 }, + { 175,3369 }, { 176,3369 }, { 177,3369 }, { 178,3369 }, { 179,3369 }, + { 180,3369 }, { 181,3369 }, { 182,3369 }, { 183,3369 }, { 184,3369 }, + { 185,3369 }, { 186,3369 }, { 187,3369 }, { 188,3369 }, { 189,3369 }, + { 190,3369 }, { 191,3369 }, { 192,3369 }, { 193,3369 }, { 194,3369 }, + { 195,3369 }, { 196,3369 }, { 197,3369 }, { 198,3369 }, { 199,3369 }, + { 200,3369 }, { 201,3369 }, { 202,3369 }, { 203,3369 }, { 204,3369 }, + + { 205,3369 }, { 206,3369 }, { 207,3369 }, { 208,3369 }, { 209,3369 }, + { 210,3369 }, { 211,3369 }, { 212,3369 }, { 213,3369 }, { 214,3369 }, + { 215,3369 }, { 216,3369 }, { 217,3369 }, { 218,3369 }, { 219,3369 }, + { 220,3369 }, { 221,3369 }, { 222,3369 }, { 223,3369 }, { 224,3369 }, + { 225,3369 }, { 226,3369 }, { 227,3369 }, { 228,3369 }, { 229,3369 }, + { 230,3369 }, { 231,3369 }, { 232,3369 }, { 233,3369 }, { 234,3369 }, + { 235,3369 }, { 236,3369 }, { 237,3369 }, { 238,3369 }, { 239,3369 }, + { 240,3369 }, { 241,3369 }, { 242,3369 }, { 243,3369 }, { 244,3369 }, + { 245,3369 }, { 246,3369 }, { 247,3369 }, { 248,3369 }, { 249,3369 }, + { 250,3369 }, { 251,3369 }, { 252,3369 }, { 253,3369 }, { 254,3369 }, + + { 255,3369 }, { 0, 3 }, { 0,13670 }, { 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 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 64 }, { 0,13638 }, + { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, + { 43, 0 }, { 0, 0 }, { 45, 0 }, { 0, 0 }, { 47, 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 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 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 }, { 48,3851 }, { 49,3851 }, { 50,3851 }, + { 51,3851 }, { 52,3851 }, { 53,3851 }, { 54,3851 }, { 55,3851 }, + { 56,3851 }, { 57,3851 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 65,-803 }, + + { 66,-803 }, { 67,-803 }, { 68,-803 }, { 69,-546 }, { 70,-803 }, + { 71,-803 }, { 72,-803 }, { 73,-803 }, { 74,-803 }, { 75,-803 }, + { 76,-803 }, { 77,-803 }, { 78,-803 }, { 79,-803 }, { 80,-803 }, + { 81,-803 }, { 82,-803 }, { 83,-803 }, { 84,-803 }, { 85,-803 }, + { 86,-803 }, { 87,-803 }, { 88,-803 }, { 89,-803 }, { 90,-803 }, + { 0, 0 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, { 95,4108 }, + { 0, 0 }, { 97,-803 }, { 98,-803 }, { 99,-803 }, { 100,-803 }, + { 101,-546 }, { 102,-803 }, { 103,-803 }, { 104,-803 }, { 105,-803 }, + { 106,-803 }, { 107,-803 }, { 108,-803 }, { 109,-803 }, { 110,-803 }, + { 111,-803 }, { 112,-803 }, { 113,-803 }, { 114,-803 }, { 115,-803 }, + + { 116,-803 }, { 117,-803 }, { 118,-803 }, { 119,-803 }, { 120,-803 }, + { 121,-803 }, { 122,-803 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-803 }, { 129,-803 }, { 130,-803 }, + { 131,-803 }, { 132,-803 }, { 133,-803 }, { 134,-803 }, { 135,-803 }, + { 136,-803 }, { 137,-803 }, { 138,-803 }, { 139,-803 }, { 140,-803 }, + { 141,-803 }, { 142,-803 }, { 143,-803 }, { 144,-803 }, { 145,-803 }, + { 146,-803 }, { 147,-803 }, { 148,-803 }, { 149,-803 }, { 150,-803 }, + { 151,-803 }, { 152,-803 }, { 153,-803 }, { 154,-803 }, { 155,-803 }, + { 156,-803 }, { 157,-803 }, { 158,-803 }, { 159,-803 }, { 160,-803 }, + { 161,-803 }, { 162,-803 }, { 163,-803 }, { 164,-803 }, { 165,-803 }, + + { 166,-803 }, { 167,-803 }, { 168,-803 }, { 169,-803 }, { 170,-803 }, + { 171,-803 }, { 172,-803 }, { 173,-803 }, { 174,-803 }, { 175,-803 }, + { 176,-803 }, { 177,-803 }, { 178,-803 }, { 179,-803 }, { 180,-803 }, + { 181,-803 }, { 182,-803 }, { 183,-803 }, { 184,-803 }, { 185,-803 }, + { 186,-803 }, { 187,-803 }, { 188,-803 }, { 189,-803 }, { 190,-803 }, + { 191,-803 }, { 192,-803 }, { 193,-803 }, { 194,-803 }, { 195,-803 }, + { 196,-803 }, { 197,-803 }, { 198,-803 }, { 199,-803 }, { 200,-803 }, + { 201,-803 }, { 202,-803 }, { 203,-803 }, { 204,-803 }, { 205,-803 }, + { 206,-803 }, { 207,-803 }, { 208,-803 }, { 209,-803 }, { 210,-803 }, + { 211,-803 }, { 212,-803 }, { 213,-803 }, { 214,-803 }, { 215,-803 }, + + { 216,-803 }, { 217,-803 }, { 218,-803 }, { 219,-803 }, { 220,-803 }, + { 221,-803 }, { 222,-803 }, { 223,-803 }, { 224,-803 }, { 225,-803 }, + { 226,-803 }, { 227,-803 }, { 228,-803 }, { 229,-803 }, { 230,-803 }, + { 231,-803 }, { 232,-803 }, { 233,-803 }, { 234,-803 }, { 235,-803 }, + { 236,-803 }, { 237,-803 }, { 238,-803 }, { 239,-803 }, { 240,-803 }, + { 241,-803 }, { 242,-803 }, { 243,-803 }, { 244,-803 }, { 245,-803 }, + { 246,-803 }, { 247,-803 }, { 248,-803 }, { 249,-803 }, { 250,-803 }, + { 251,-803 }, { 252,-803 }, { 253,-803 }, { 254,-803 }, { 255,-803 }, + { 0, 68 }, { 0,13381 }, { 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 }, { 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 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 0, 60 }, { 0,13124 }, { 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 }, + { 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 }, { 36,-257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50,-257 }, { 51,-257 }, + + { 52,-257 }, { 53,-257 }, { 54,-257 }, { 55,-257 }, { 56,-257 }, + { 57,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-257 }, { 66,-257 }, + { 67,-257 }, { 68,-257 }, { 69,-257 }, { 70,-257 }, { 71,-257 }, + { 72,-257 }, { 73,-257 }, { 74,-257 }, { 75,-257 }, { 76,-257 }, + { 77,-257 }, { 78,-257 }, { 79,-257 }, { 80,-257 }, { 81,-257 }, + { 82,-257 }, { 83,-257 }, { 84,-257 }, { 85,-257 }, { 86,-257 }, + { 87,-257 }, { 88,-257 }, { 89,-257 }, { 90,-257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3851 }, { 0, 0 }, + { 97,-257 }, { 98,-257 }, { 99,-257 }, { 100,-257 }, { 101,-257 }, + + { 102,-257 }, { 103,-257 }, { 104,-257 }, { 105,-257 }, { 106,-257 }, + { 107,-257 }, { 108,-257 }, { 109,-257 }, { 110,-257 }, { 111,-257 }, + { 112,-257 }, { 113,-257 }, { 114,-257 }, { 115,-257 }, { 116,-257 }, + { 117,-257 }, { 118,-257 }, { 119,-257 }, { 120,-257 }, { 121,-257 }, + { 122,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-257 }, { 129,-257 }, { 130,-257 }, { 131,-257 }, + { 132,-257 }, { 133,-257 }, { 134,-257 }, { 135,-257 }, { 136,-257 }, + { 137,-257 }, { 138,-257 }, { 139,-257 }, { 140,-257 }, { 141,-257 }, + { 142,-257 }, { 143,-257 }, { 144,-257 }, { 145,-257 }, { 146,-257 }, + { 147,-257 }, { 148,-257 }, { 149,-257 }, { 150,-257 }, { 151,-257 }, + + { 152,-257 }, { 153,-257 }, { 154,-257 }, { 155,-257 }, { 156,-257 }, + { 157,-257 }, { 158,-257 }, { 159,-257 }, { 160,-257 }, { 161,-257 }, + { 162,-257 }, { 163,-257 }, { 164,-257 }, { 165,-257 }, { 166,-257 }, + { 167,-257 }, { 168,-257 }, { 169,-257 }, { 170,-257 }, { 171,-257 }, + { 172,-257 }, { 173,-257 }, { 174,-257 }, { 175,-257 }, { 176,-257 }, + { 177,-257 }, { 178,-257 }, { 179,-257 }, { 180,-257 }, { 181,-257 }, + { 182,-257 }, { 183,-257 }, { 184,-257 }, { 185,-257 }, { 186,-257 }, + { 187,-257 }, { 188,-257 }, { 189,-257 }, { 190,-257 }, { 191,-257 }, + { 192,-257 }, { 193,-257 }, { 194,-257 }, { 195,-257 }, { 196,-257 }, + { 197,-257 }, { 198,-257 }, { 199,-257 }, { 200,-257 }, { 201,-257 }, + + { 202,-257 }, { 203,-257 }, { 204,-257 }, { 205,-257 }, { 206,-257 }, + { 207,-257 }, { 208,-257 }, { 209,-257 }, { 210,-257 }, { 211,-257 }, + { 212,-257 }, { 213,-257 }, { 214,-257 }, { 215,-257 }, { 216,-257 }, + { 217,-257 }, { 218,-257 }, { 219,-257 }, { 220,-257 }, { 221,-257 }, + { 222,-257 }, { 223,-257 }, { 224,-257 }, { 225,-257 }, { 226,-257 }, + { 227,-257 }, { 228,-257 }, { 229,-257 }, { 230,-257 }, { 231,-257 }, + { 232,-257 }, { 233,-257 }, { 234,-257 }, { 235,-257 }, { 236,-257 }, + { 237,-257 }, { 238,-257 }, { 239,-257 }, { 240,-257 }, { 241,-257 }, + { 242,-257 }, { 243,-257 }, { 244,-257 }, { 245,-257 }, { 246,-257 }, + { 247,-257 }, { 248,-257 }, { 249,-257 }, { 250,-257 }, { 251,-257 }, + + { 252,-257 }, { 253,-257 }, { 254,-257 }, { 255,-257 }, { 0, 63 }, + { 0,12867 }, { 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 }, { 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 }, { 36,-514 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, + { 50,-514 }, { 51,-514 }, { 52,-514 }, { 53,-514 }, { 54,-514 }, + { 55,-514 }, { 56,-514 }, { 57,-514 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-514 }, { 66,-514 }, { 67,-514 }, { 68,-514 }, { 69,-514 }, + { 70,-514 }, { 71,-514 }, { 72,-514 }, { 73,-514 }, { 74,-514 }, + { 75,-514 }, { 76,-514 }, { 77,-514 }, { 78,-514 }, { 79,-514 }, + { 80,-514 }, { 81,-514 }, { 82,-514 }, { 83,-514 }, { 84,-514 }, + { 85,-514 }, { 86,-514 }, { 87,-514 }, { 88,-514 }, { 89,-514 }, + { 90,-514 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 95,-514 }, { 0, 0 }, { 97,-514 }, { 98,-514 }, { 99,-514 }, + { 100,-514 }, { 101,-514 }, { 102,-514 }, { 103,-514 }, { 104,-514 }, + { 105,-514 }, { 106,-514 }, { 107,-514 }, { 108,-514 }, { 109,-514 }, + { 110,-514 }, { 111,-514 }, { 112,-514 }, { 113,-514 }, { 114,-514 }, + { 115,-514 }, { 116,-514 }, { 117,-514 }, { 118,-514 }, { 119,-514 }, + { 120,-514 }, { 121,-514 }, { 122,-514 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-514 }, { 129,-514 }, + { 130,-514 }, { 131,-514 }, { 132,-514 }, { 133,-514 }, { 134,-514 }, + { 135,-514 }, { 136,-514 }, { 137,-514 }, { 138,-514 }, { 139,-514 }, + { 140,-514 }, { 141,-514 }, { 142,-514 }, { 143,-514 }, { 144,-514 }, + + { 145,-514 }, { 146,-514 }, { 147,-514 }, { 148,-514 }, { 149,-514 }, + { 150,-514 }, { 151,-514 }, { 152,-514 }, { 153,-514 }, { 154,-514 }, + { 155,-514 }, { 156,-514 }, { 157,-514 }, { 158,-514 }, { 159,-514 }, + { 160,-514 }, { 161,-514 }, { 162,-514 }, { 163,-514 }, { 164,-514 }, + { 165,-514 }, { 166,-514 }, { 167,-514 }, { 168,-514 }, { 169,-514 }, + { 170,-514 }, { 171,-514 }, { 172,-514 }, { 173,-514 }, { 174,-514 }, + { 175,-514 }, { 176,-514 }, { 177,-514 }, { 178,-514 }, { 179,-514 }, + { 180,-514 }, { 181,-514 }, { 182,-514 }, { 183,-514 }, { 184,-514 }, + { 185,-514 }, { 186,-514 }, { 187,-514 }, { 188,-514 }, { 189,-514 }, + { 190,-514 }, { 191,-514 }, { 192,-514 }, { 193,-514 }, { 194,-514 }, + + { 195,-514 }, { 196,-514 }, { 197,-514 }, { 198,-514 }, { 199,-514 }, + { 200,-514 }, { 201,-514 }, { 202,-514 }, { 203,-514 }, { 204,-514 }, + { 205,-514 }, { 206,-514 }, { 207,-514 }, { 208,-514 }, { 209,-514 }, + { 210,-514 }, { 211,-514 }, { 212,-514 }, { 213,-514 }, { 214,-514 }, + { 215,-514 }, { 216,-514 }, { 217,-514 }, { 218,-514 }, { 219,-514 }, + { 220,-514 }, { 221,-514 }, { 222,-514 }, { 223,-514 }, { 224,-514 }, + { 225,-514 }, { 226,-514 }, { 227,-514 }, { 228,-514 }, { 229,-514 }, + { 230,-514 }, { 231,-514 }, { 232,-514 }, { 233,-514 }, { 234,-514 }, + { 235,-514 }, { 236,-514 }, { 237,-514 }, { 238,-514 }, { 239,-514 }, + { 240,-514 }, { 241,-514 }, { 242,-514 }, { 243,-514 }, { 244,-514 }, + + { 245,-514 }, { 246,-514 }, { 247,-514 }, { 248,-514 }, { 249,-514 }, + { 250,-514 }, { 251,-514 }, { 252,-514 }, { 253,-514 }, { 254,-514 }, + { 255,-514 }, { 0, 67 }, { 0,12610 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 66 }, { 0,12600 }, { 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 }, { 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 }, { 36,-781 }, { 0, 0 }, + { 48,3594 }, { 49,3594 }, { 50,3594 }, { 51,3594 }, { 52,3594 }, + { 53,3594 }, { 54,3594 }, { 55,3594 }, { 56,3594 }, { 57,3594 }, + { 48,3841 }, { 49,3841 }, { 50,3841 }, { 51,3841 }, { 52,3841 }, + { 53,3841 }, { 54,3841 }, { 55,3841 }, { 56,3841 }, { 57,3841 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4098 }, { 66,4098 }, { 67,4098 }, + { 68,4098 }, { 69,4098 }, { 70,4098 }, { 71,4098 }, { 72,4098 }, + { 73,4098 }, { 74,4098 }, { 75,4098 }, { 76,4098 }, { 77,4098 }, + + { 78,4098 }, { 79,4098 }, { 80,4098 }, { 81,4098 }, { 82,4098 }, + { 83,4098 }, { 84,4098 }, { 85,4098 }, { 86,4098 }, { 87,4098 }, + { 88,4098 }, { 89,4098 }, { 90,4098 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4355 }, { 0, 0 }, { 97,4098 }, + { 98,4098 }, { 99,4098 }, { 100,4098 }, { 101,4098 }, { 102,4098 }, + { 103,4098 }, { 104,4098 }, { 105,4098 }, { 106,4098 }, { 107,4098 }, + { 108,4098 }, { 109,4098 }, { 110,4098 }, { 111,4098 }, { 112,4098 }, + { 113,4098 }, { 114,4098 }, { 115,4098 }, { 116,4098 }, { 117,4098 }, + { 118,4098 }, { 119,4098 }, { 120,4098 }, { 121,4098 }, { 122,4098 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 128,4098 }, { 129,4098 }, { 130,4098 }, { 131,4098 }, { 132,4098 }, + { 133,4098 }, { 134,4098 }, { 135,4098 }, { 136,4098 }, { 137,4098 }, + { 138,4098 }, { 139,4098 }, { 140,4098 }, { 141,4098 }, { 142,4098 }, + { 143,4098 }, { 144,4098 }, { 145,4098 }, { 146,4098 }, { 147,4098 }, + { 148,4098 }, { 149,4098 }, { 150,4098 }, { 151,4098 }, { 152,4098 }, + { 153,4098 }, { 154,4098 }, { 155,4098 }, { 156,4098 }, { 157,4098 }, + { 158,4098 }, { 159,4098 }, { 160,4098 }, { 161,4098 }, { 162,4098 }, + { 163,4098 }, { 164,4098 }, { 165,4098 }, { 166,4098 }, { 167,4098 }, + { 168,4098 }, { 169,4098 }, { 170,4098 }, { 171,4098 }, { 172,4098 }, + { 173,4098 }, { 174,4098 }, { 175,4098 }, { 176,4098 }, { 177,4098 }, + + { 178,4098 }, { 179,4098 }, { 180,4098 }, { 181,4098 }, { 182,4098 }, + { 183,4098 }, { 184,4098 }, { 185,4098 }, { 186,4098 }, { 187,4098 }, + { 188,4098 }, { 189,4098 }, { 190,4098 }, { 191,4098 }, { 192,4098 }, + { 193,4098 }, { 194,4098 }, { 195,4098 }, { 196,4098 }, { 197,4098 }, + { 198,4098 }, { 199,4098 }, { 200,4098 }, { 201,4098 }, { 202,4098 }, + { 203,4098 }, { 204,4098 }, { 205,4098 }, { 206,4098 }, { 207,4098 }, + { 208,4098 }, { 209,4098 }, { 210,4098 }, { 211,4098 }, { 212,4098 }, + { 213,4098 }, { 214,4098 }, { 215,4098 }, { 216,4098 }, { 217,4098 }, + { 218,4098 }, { 219,4098 }, { 220,4098 }, { 221,4098 }, { 222,4098 }, + { 223,4098 }, { 224,4098 }, { 225,4098 }, { 226,4098 }, { 227,4098 }, + + { 228,4098 }, { 229,4098 }, { 230,4098 }, { 231,4098 }, { 232,4098 }, + { 233,4098 }, { 234,4098 }, { 235,4098 }, { 236,4098 }, { 237,4098 }, + { 238,4098 }, { 239,4098 }, { 240,4098 }, { 241,4098 }, { 242,4098 }, + { 243,4098 }, { 244,4098 }, { 245,4098 }, { 246,4098 }, { 247,4098 }, + { 248,4098 }, { 249,4098 }, { 250,4098 }, { 251,4098 }, { 252,4098 }, + { 253,4098 }, { 254,4098 }, { 255,4098 }, { 0, 59 }, { 0,12343 }, + { 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 }, { 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 }, + { 36,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56,-1038 }, { 57,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1038 }, + { 66,-1038 }, { 67,-1038 }, { 68,-1038 }, { 69,-1038 }, { 70,-1038 }, + + { 71,-1038 }, { 72,-1038 }, { 73,-1038 }, { 74,-1038 }, { 75,-1038 }, + { 76,-1038 }, { 77,-1038 }, { 78,-1038 }, { 79,-1038 }, { 80,-1038 }, + { 81,-1038 }, { 82,-1038 }, { 83,-1038 }, { 84,-1038 }, { 85,-1038 }, + { 86,-1038 }, { 87,-1038 }, { 88,-1038 }, { 89,-1038 }, { 90,-1038 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4355 }, + { 0, 0 }, { 97,-1038 }, { 98,-1038 }, { 99,-1038 }, { 100,-1038 }, + { 101,-1038 }, { 102,-1038 }, { 103,-1038 }, { 104,-1038 }, { 105,-1038 }, + { 106,-1038 }, { 107,-1038 }, { 108,-1038 }, { 109,-1038 }, { 110,-1038 }, + { 111,-1038 }, { 112,-1038 }, { 113,-1038 }, { 114,-1038 }, { 115,-1038 }, + { 116,-1038 }, { 117,-1038 }, { 118,-1038 }, { 119,-1038 }, { 120,-1038 }, + + { 121,-1038 }, { 122,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-1038 }, { 129,-1038 }, { 130,-1038 }, + { 131,-1038 }, { 132,-1038 }, { 133,-1038 }, { 134,-1038 }, { 135,-1038 }, + { 136,-1038 }, { 137,-1038 }, { 138,-1038 }, { 139,-1038 }, { 140,-1038 }, + { 141,-1038 }, { 142,-1038 }, { 143,-1038 }, { 144,-1038 }, { 145,-1038 }, + { 146,-1038 }, { 147,-1038 }, { 148,-1038 }, { 149,-1038 }, { 150,-1038 }, + { 151,-1038 }, { 152,-1038 }, { 153,-1038 }, { 154,-1038 }, { 155,-1038 }, + { 156,-1038 }, { 157,-1038 }, { 158,-1038 }, { 159,-1038 }, { 160,-1038 }, + { 161,-1038 }, { 162,-1038 }, { 163,-1038 }, { 164,-1038 }, { 165,-1038 }, + { 166,-1038 }, { 167,-1038 }, { 168,-1038 }, { 169,-1038 }, { 170,-1038 }, + + { 171,-1038 }, { 172,-1038 }, { 173,-1038 }, { 174,-1038 }, { 175,-1038 }, + { 176,-1038 }, { 177,-1038 }, { 178,-1038 }, { 179,-1038 }, { 180,-1038 }, + { 181,-1038 }, { 182,-1038 }, { 183,-1038 }, { 184,-1038 }, { 185,-1038 }, + { 186,-1038 }, { 187,-1038 }, { 188,-1038 }, { 189,-1038 }, { 190,-1038 }, + { 191,-1038 }, { 192,-1038 }, { 193,-1038 }, { 194,-1038 }, { 195,-1038 }, + { 196,-1038 }, { 197,-1038 }, { 198,-1038 }, { 199,-1038 }, { 200,-1038 }, + { 201,-1038 }, { 202,-1038 }, { 203,-1038 }, { 204,-1038 }, { 205,-1038 }, + { 206,-1038 }, { 207,-1038 }, { 208,-1038 }, { 209,-1038 }, { 210,-1038 }, + { 211,-1038 }, { 212,-1038 }, { 213,-1038 }, { 214,-1038 }, { 215,-1038 }, + { 216,-1038 }, { 217,-1038 }, { 218,-1038 }, { 219,-1038 }, { 220,-1038 }, + + { 221,-1038 }, { 222,-1038 }, { 223,-1038 }, { 224,-1038 }, { 225,-1038 }, + { 226,-1038 }, { 227,-1038 }, { 228,-1038 }, { 229,-1038 }, { 230,-1038 }, + { 231,-1038 }, { 232,-1038 }, { 233,-1038 }, { 234,-1038 }, { 235,-1038 }, + { 236,-1038 }, { 237,-1038 }, { 238,-1038 }, { 239,-1038 }, { 240,-1038 }, + { 241,-1038 }, { 242,-1038 }, { 243,-1038 }, { 244,-1038 }, { 245,-1038 }, + { 246,-1038 }, { 247,-1038 }, { 248,-1038 }, { 249,-1038 }, { 250,-1038 }, + { 251,-1038 }, { 252,-1038 }, { 253,-1038 }, { 254,-1038 }, { 255,-1038 }, + { 0, 62 }, { 0,12086 }, { 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 }, { 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 }, { 36,-1295 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, + { 49,-257 }, { 50,-257 }, { 51,-257 }, { 52,-257 }, { 53,-257 }, + { 54,-257 }, { 55,-257 }, { 56,-1295 }, { 57,-1295 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 65,-1295 }, { 66,-1295 }, { 67,-1295 }, { 68,-1295 }, + { 69,-1295 }, { 70,-1295 }, { 71,-1295 }, { 72,-1295 }, { 73,-1295 }, + { 74,-1295 }, { 75,-1295 }, { 76,-1295 }, { 77,-1295 }, { 78,-1295 }, + { 79,-1295 }, { 80,-1295 }, { 81,-1295 }, { 82,-1295 }, { 83,-1295 }, + { 84,-1295 }, { 85,-1295 }, { 86,-1295 }, { 87,-1295 }, { 88,-1295 }, + { 89,-1295 }, { 90,-1295 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-1295 }, { 0, 0 }, { 97,-1295 }, { 98,-1295 }, + { 99,-1295 }, { 100,-1295 }, { 101,-1295 }, { 102,-1295 }, { 103,-1295 }, + { 104,-1295 }, { 105,-1295 }, { 106,-1295 }, { 107,-1295 }, { 108,-1295 }, + { 109,-1295 }, { 110,-1295 }, { 111,-1295 }, { 112,-1295 }, { 113,-1295 }, + + { 114,-1295 }, { 115,-1295 }, { 116,-1295 }, { 117,-1295 }, { 118,-1295 }, + { 119,-1295 }, { 120,-1295 }, { 121,-1295 }, { 122,-1295 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1295 }, + { 129,-1295 }, { 130,-1295 }, { 131,-1295 }, { 132,-1295 }, { 133,-1295 }, + { 134,-1295 }, { 135,-1295 }, { 136,-1295 }, { 137,-1295 }, { 138,-1295 }, + { 139,-1295 }, { 140,-1295 }, { 141,-1295 }, { 142,-1295 }, { 143,-1295 }, + { 144,-1295 }, { 145,-1295 }, { 146,-1295 }, { 147,-1295 }, { 148,-1295 }, + { 149,-1295 }, { 150,-1295 }, { 151,-1295 }, { 152,-1295 }, { 153,-1295 }, + { 154,-1295 }, { 155,-1295 }, { 156,-1295 }, { 157,-1295 }, { 158,-1295 }, + { 159,-1295 }, { 160,-1295 }, { 161,-1295 }, { 162,-1295 }, { 163,-1295 }, + + { 164,-1295 }, { 165,-1295 }, { 166,-1295 }, { 167,-1295 }, { 168,-1295 }, + { 169,-1295 }, { 170,-1295 }, { 171,-1295 }, { 172,-1295 }, { 173,-1295 }, + { 174,-1295 }, { 175,-1295 }, { 176,-1295 }, { 177,-1295 }, { 178,-1295 }, + { 179,-1295 }, { 180,-1295 }, { 181,-1295 }, { 182,-1295 }, { 183,-1295 }, + { 184,-1295 }, { 185,-1295 }, { 186,-1295 }, { 187,-1295 }, { 188,-1295 }, + { 189,-1295 }, { 190,-1295 }, { 191,-1295 }, { 192,-1295 }, { 193,-1295 }, + { 194,-1295 }, { 195,-1295 }, { 196,-1295 }, { 197,-1295 }, { 198,-1295 }, + { 199,-1295 }, { 200,-1295 }, { 201,-1295 }, { 202,-1295 }, { 203,-1295 }, + { 204,-1295 }, { 205,-1295 }, { 206,-1295 }, { 207,-1295 }, { 208,-1295 }, + { 209,-1295 }, { 210,-1295 }, { 211,-1295 }, { 212,-1295 }, { 213,-1295 }, + + { 214,-1295 }, { 215,-1295 }, { 216,-1295 }, { 217,-1295 }, { 218,-1295 }, + { 219,-1295 }, { 220,-1295 }, { 221,-1295 }, { 222,-1295 }, { 223,-1295 }, + { 224,-1295 }, { 225,-1295 }, { 226,-1295 }, { 227,-1295 }, { 228,-1295 }, + { 229,-1295 }, { 230,-1295 }, { 231,-1295 }, { 232,-1295 }, { 233,-1295 }, + { 234,-1295 }, { 235,-1295 }, { 236,-1295 }, { 237,-1295 }, { 238,-1295 }, + { 239,-1295 }, { 240,-1295 }, { 241,-1295 }, { 242,-1295 }, { 243,-1295 }, + { 244,-1295 }, { 245,-1295 }, { 246,-1295 }, { 247,-1295 }, { 248,-1295 }, + { 249,-1295 }, { 250,-1295 }, { 251,-1295 }, { 252,-1295 }, { 253,-1295 }, + { 254,-1295 }, { 255,-1295 }, { 0, 58 }, { 0,11829 }, { 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 }, + { 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 }, { 36,-1552 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71,-1552 }, + { 72,-1552 }, { 73,-1552 }, { 74,-1552 }, { 75,-1552 }, { 76,-1552 }, + { 77,-1552 }, { 78,-1552 }, { 79,-1552 }, { 80,-1552 }, { 81,-1552 }, + { 82,-1552 }, { 83,-1552 }, { 84,-1552 }, { 85,-1552 }, { 86,-1552 }, + { 87,-1552 }, { 88,-1552 }, { 89,-1552 }, { 90,-1552 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4098 }, { 0, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103,-1552 }, { 104,-1552 }, { 105,-1552 }, { 106,-1552 }, + + { 107,-1552 }, { 108,-1552 }, { 109,-1552 }, { 110,-1552 }, { 111,-1552 }, + { 112,-1552 }, { 113,-1552 }, { 114,-1552 }, { 115,-1552 }, { 116,-1552 }, + { 117,-1552 }, { 118,-1552 }, { 119,-1552 }, { 120,-1552 }, { 121,-1552 }, + { 122,-1552 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-1552 }, { 129,-1552 }, { 130,-1552 }, { 131,-1552 }, + { 132,-1552 }, { 133,-1552 }, { 134,-1552 }, { 135,-1552 }, { 136,-1552 }, + { 137,-1552 }, { 138,-1552 }, { 139,-1552 }, { 140,-1552 }, { 141,-1552 }, + { 142,-1552 }, { 143,-1552 }, { 144,-1552 }, { 145,-1552 }, { 146,-1552 }, + { 147,-1552 }, { 148,-1552 }, { 149,-1552 }, { 150,-1552 }, { 151,-1552 }, + { 152,-1552 }, { 153,-1552 }, { 154,-1552 }, { 155,-1552 }, { 156,-1552 }, + + { 157,-1552 }, { 158,-1552 }, { 159,-1552 }, { 160,-1552 }, { 161,-1552 }, + { 162,-1552 }, { 163,-1552 }, { 164,-1552 }, { 165,-1552 }, { 166,-1552 }, + { 167,-1552 }, { 168,-1552 }, { 169,-1552 }, { 170,-1552 }, { 171,-1552 }, + { 172,-1552 }, { 173,-1552 }, { 174,-1552 }, { 175,-1552 }, { 176,-1552 }, + { 177,-1552 }, { 178,-1552 }, { 179,-1552 }, { 180,-1552 }, { 181,-1552 }, + { 182,-1552 }, { 183,-1552 }, { 184,-1552 }, { 185,-1552 }, { 186,-1552 }, + { 187,-1552 }, { 188,-1552 }, { 189,-1552 }, { 190,-1552 }, { 191,-1552 }, + { 192,-1552 }, { 193,-1552 }, { 194,-1552 }, { 195,-1552 }, { 196,-1552 }, + { 197,-1552 }, { 198,-1552 }, { 199,-1552 }, { 200,-1552 }, { 201,-1552 }, + { 202,-1552 }, { 203,-1552 }, { 204,-1552 }, { 205,-1552 }, { 206,-1552 }, + + { 207,-1552 }, { 208,-1552 }, { 209,-1552 }, { 210,-1552 }, { 211,-1552 }, + { 212,-1552 }, { 213,-1552 }, { 214,-1552 }, { 215,-1552 }, { 216,-1552 }, + { 217,-1552 }, { 218,-1552 }, { 219,-1552 }, { 220,-1552 }, { 221,-1552 }, + { 222,-1552 }, { 223,-1552 }, { 224,-1552 }, { 225,-1552 }, { 226,-1552 }, + { 227,-1552 }, { 228,-1552 }, { 229,-1552 }, { 230,-1552 }, { 231,-1552 }, + { 232,-1552 }, { 233,-1552 }, { 234,-1552 }, { 235,-1552 }, { 236,-1552 }, + { 237,-1552 }, { 238,-1552 }, { 239,-1552 }, { 240,-1552 }, { 241,-1552 }, + { 242,-1552 }, { 243,-1552 }, { 244,-1552 }, { 245,-1552 }, { 246,-1552 }, + { 247,-1552 }, { 248,-1552 }, { 249,-1552 }, { 250,-1552 }, { 251,-1552 }, + { 252,-1552 }, { 253,-1552 }, { 254,-1552 }, { 255,-1552 }, { 0, 61 }, + + { 0,11572 }, { 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 }, { 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 }, { 36,-1809 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, + + { 50,-257 }, { 51,-257 }, { 52,-257 }, { 53,-257 }, { 54,-257 }, + { 55,-257 }, { 56,-257 }, { 57,-257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-257 }, { 66,-257 }, { 67,-257 }, { 68,-257 }, { 69,-257 }, + { 70,-257 }, { 71,-1809 }, { 72,-1809 }, { 73,-1809 }, { 74,-1809 }, + { 75,-1809 }, { 76,-1809 }, { 77,-1809 }, { 78,-1809 }, { 79,-1809 }, + { 80,-1809 }, { 81,-1809 }, { 82,-1809 }, { 83,-1809 }, { 84,-1809 }, + { 85,-1809 }, { 86,-1809 }, { 87,-1809 }, { 88,-1809 }, { 89,-1809 }, + { 90,-1809 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-1809 }, { 0, 0 }, { 97,-257 }, { 98,-257 }, { 99,-257 }, + + { 100,-257 }, { 101,-257 }, { 102,-257 }, { 103,-1809 }, { 104,-1809 }, + { 105,-1809 }, { 106,-1809 }, { 107,-1809 }, { 108,-1809 }, { 109,-1809 }, + { 110,-1809 }, { 111,-1809 }, { 112,-1809 }, { 113,-1809 }, { 114,-1809 }, + { 115,-1809 }, { 116,-1809 }, { 117,-1809 }, { 118,-1809 }, { 119,-1809 }, + { 120,-1809 }, { 121,-1809 }, { 122,-1809 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1809 }, { 129,-1809 }, + { 130,-1809 }, { 131,-1809 }, { 132,-1809 }, { 133,-1809 }, { 134,-1809 }, + { 135,-1809 }, { 136,-1809 }, { 137,-1809 }, { 138,-1809 }, { 139,-1809 }, + { 140,-1809 }, { 141,-1809 }, { 142,-1809 }, { 143,-1809 }, { 144,-1809 }, + { 145,-1809 }, { 146,-1809 }, { 147,-1809 }, { 148,-1809 }, { 149,-1809 }, + + { 150,-1809 }, { 151,-1809 }, { 152,-1809 }, { 153,-1809 }, { 154,-1809 }, + { 155,-1809 }, { 156,-1809 }, { 157,-1809 }, { 158,-1809 }, { 159,-1809 }, + { 160,-1809 }, { 161,-1809 }, { 162,-1809 }, { 163,-1809 }, { 164,-1809 }, + { 165,-1809 }, { 166,-1809 }, { 167,-1809 }, { 168,-1809 }, { 169,-1809 }, + { 170,-1809 }, { 171,-1809 }, { 172,-1809 }, { 173,-1809 }, { 174,-1809 }, + { 175,-1809 }, { 176,-1809 }, { 177,-1809 }, { 178,-1809 }, { 179,-1809 }, + { 180,-1809 }, { 181,-1809 }, { 182,-1809 }, { 183,-1809 }, { 184,-1809 }, + { 185,-1809 }, { 186,-1809 }, { 187,-1809 }, { 188,-1809 }, { 189,-1809 }, + { 190,-1809 }, { 191,-1809 }, { 192,-1809 }, { 193,-1809 }, { 194,-1809 }, + { 195,-1809 }, { 196,-1809 }, { 197,-1809 }, { 198,-1809 }, { 199,-1809 }, + + { 200,-1809 }, { 201,-1809 }, { 202,-1809 }, { 203,-1809 }, { 204,-1809 }, + { 205,-1809 }, { 206,-1809 }, { 207,-1809 }, { 208,-1809 }, { 209,-1809 }, + { 210,-1809 }, { 211,-1809 }, { 212,-1809 }, { 213,-1809 }, { 214,-1809 }, + { 215,-1809 }, { 216,-1809 }, { 217,-1809 }, { 218,-1809 }, { 219,-1809 }, + { 220,-1809 }, { 221,-1809 }, { 222,-1809 }, { 223,-1809 }, { 224,-1809 }, + { 225,-1809 }, { 226,-1809 }, { 227,-1809 }, { 228,-1809 }, { 229,-1809 }, + { 230,-1809 }, { 231,-1809 }, { 232,-1809 }, { 233,-1809 }, { 234,-1809 }, + { 235,-1809 }, { 236,-1809 }, { 237,-1809 }, { 238,-1809 }, { 239,-1809 }, + { 240,-1809 }, { 241,-1809 }, { 242,-1809 }, { 243,-1809 }, { 244,-1809 }, + { 245,-1809 }, { 246,-1809 }, { 247,-1809 }, { 248,-1809 }, { 249,-1809 }, + + { 250,-1809 }, { 251,-1809 }, { 252,-1809 }, { 253,-1809 }, { 254,-1809 }, + { 255,-1809 }, { 0, 57 }, { 0,11315 }, { 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 }, { 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 }, { 36,-2066 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,-9175 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3841 }, { 66,3841 }, { 67,3841 }, + { 68,3841 }, { 69,4098 }, { 70,3841 }, { 71,3841 }, { 72,3841 }, + { 73,3841 }, { 74,3841 }, { 75,3841 }, { 76,3841 }, { 77,3841 }, + { 78,3841 }, { 79,3841 }, { 80,3841 }, { 81,3841 }, { 82,3841 }, + { 83,3841 }, { 84,3841 }, { 85,3841 }, { 86,3841 }, { 87,3841 }, + { 88,3841 }, { 89,3841 }, { 90,3841 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 95,4355 }, { 0, 0 }, { 97,3841 }, + { 98,3841 }, { 99,3841 }, { 100,3841 }, { 101,4098 }, { 102,3841 }, + { 103,3841 }, { 104,3841 }, { 105,3841 }, { 106,3841 }, { 107,3841 }, + { 108,3841 }, { 109,3841 }, { 110,3841 }, { 111,3841 }, { 112,3841 }, + { 113,3841 }, { 114,3841 }, { 115,3841 }, { 116,3841 }, { 117,3841 }, + { 118,3841 }, { 119,3841 }, { 120,3841 }, { 121,3841 }, { 122,3841 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,3841 }, { 129,3841 }, { 130,3841 }, { 131,3841 }, { 132,3841 }, + { 133,3841 }, { 134,3841 }, { 135,3841 }, { 136,3841 }, { 137,3841 }, + { 138,3841 }, { 139,3841 }, { 140,3841 }, { 141,3841 }, { 142,3841 }, + + { 143,3841 }, { 144,3841 }, { 145,3841 }, { 146,3841 }, { 147,3841 }, + { 148,3841 }, { 149,3841 }, { 150,3841 }, { 151,3841 }, { 152,3841 }, + { 153,3841 }, { 154,3841 }, { 155,3841 }, { 156,3841 }, { 157,3841 }, + { 158,3841 }, { 159,3841 }, { 160,3841 }, { 161,3841 }, { 162,3841 }, + { 163,3841 }, { 164,3841 }, { 165,3841 }, { 166,3841 }, { 167,3841 }, + { 168,3841 }, { 169,3841 }, { 170,3841 }, { 171,3841 }, { 172,3841 }, + { 173,3841 }, { 174,3841 }, { 175,3841 }, { 176,3841 }, { 177,3841 }, + { 178,3841 }, { 179,3841 }, { 180,3841 }, { 181,3841 }, { 182,3841 }, + { 183,3841 }, { 184,3841 }, { 185,3841 }, { 186,3841 }, { 187,3841 }, + { 188,3841 }, { 189,3841 }, { 190,3841 }, { 191,3841 }, { 192,3841 }, + + { 193,3841 }, { 194,3841 }, { 195,3841 }, { 196,3841 }, { 197,3841 }, + { 198,3841 }, { 199,3841 }, { 200,3841 }, { 201,3841 }, { 202,3841 }, + { 203,3841 }, { 204,3841 }, { 205,3841 }, { 206,3841 }, { 207,3841 }, + { 208,3841 }, { 209,3841 }, { 210,3841 }, { 211,3841 }, { 212,3841 }, + { 213,3841 }, { 214,3841 }, { 215,3841 }, { 216,3841 }, { 217,3841 }, + { 218,3841 }, { 219,3841 }, { 220,3841 }, { 221,3841 }, { 222,3841 }, + { 223,3841 }, { 224,3841 }, { 225,3841 }, { 226,3841 }, { 227,3841 }, + { 228,3841 }, { 229,3841 }, { 230,3841 }, { 231,3841 }, { 232,3841 }, + { 233,3841 }, { 234,3841 }, { 235,3841 }, { 236,3841 }, { 237,3841 }, + { 238,3841 }, { 239,3841 }, { 240,3841 }, { 241,3841 }, { 242,3841 }, + + { 243,3841 }, { 244,3841 }, { 245,3841 }, { 246,3841 }, { 247,3841 }, + { 248,3841 }, { 249,3841 }, { 250,3841 }, { 251,3841 }, { 252,3841 }, + { 253,3841 }, { 254,3841 }, { 255,3841 }, { 0, 4 }, { 0,11058 }, + { 0, 30 }, { 0,11056 }, { 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, 28 }, { 0,11041 }, { 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 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, + + { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, + { 0, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 48,-15747 }, + { 49,-15747 }, { 50,-15747 }, { 51,-15747 }, { 52,-15747 }, { 53,-15747 }, + { 54,-15747 }, { 55,-15747 }, { 0, 0 }, { 0, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 48,4338 }, + { 49,4338 }, { 50,4338 }, { 51,4338 }, { 52,4338 }, { 53,4338 }, + { 54,4338 }, { 55,4338 }, { 56,4338 }, { 57,4338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,10979 }, { 0, 0 }, + { 0, 0 }, { 65,4338 }, { 66,4338 }, { 67,4338 }, { 68,4338 }, + + { 69,4338 }, { 70,4338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, + { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 31 }, { 0,10956 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,4338 }, { 98,4338 }, + { 99,4338 }, { 100,4338 }, { 101,4338 }, { 102,4338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, { 0, 0 }, + { 126, 0 }, { 48,4299 }, { 49,4299 }, { 50,4299 }, { 51,4299 }, + { 52,4299 }, { 53,4299 }, { 54,4299 }, { 55,4299 }, { 56,4299 }, + + { 57,4299 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4299 }, { 66,4299 }, + { 67,4299 }, { 68,4299 }, { 69,4299 }, { 70,4299 }, { 48,-15833 }, + { 49,-15833 }, { 50,-15833 }, { 51,-15833 }, { 52,-15833 }, { 53,-15833 }, + { 54,-15833 }, { 55,-15833 }, { 56,-15833 }, { 57,-15833 }, { 0, 37 }, + { 0,10897 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-15833 }, { 66,-15833 }, { 67,-15833 }, { 68,-15833 }, + { 69,-15833 }, { 70,-15833 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,4299 }, { 98,4299 }, { 99,4299 }, { 100,4299 }, { 101,4299 }, + { 102,4299 }, { 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 }, { 36,-15933 }, { 0, 0 }, { 97,-15833 }, { 98,-15833 }, + { 99,-15833 }, { 100,-15833 }, { 101,-15833 }, { 102,-15833 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, - { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, + { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, - { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, - { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, - + { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, - { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, - { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, + { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, - { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, + { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, - { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, + { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, + { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, + { 255, 0 }, { 0, 28 }, { 0,10640 }, { 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 }, { 0, 28 }, + { 0,10617 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,3998 }, { 49,3998 }, { 50,3998 }, { 51,3998 }, { 52,3998 }, + { 53,3998 }, { 54,3998 }, { 55,3998 }, { 56,3998 }, { 57,3998 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3998 }, { 66,3998 }, { 67,3998 }, + + { 68,3998 }, { 69,3998 }, { 70,3998 }, { 48,3998 }, { 49,3998 }, + { 50,3998 }, { 51,3998 }, { 52,3998 }, { 53,3998 }, { 54,3998 }, + { 55,3998 }, { 56,3998 }, { 57,3998 }, { 0, 69 }, { 0,10558 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,3998 }, { 66,3998 }, { 67,3998 }, { 68,3998 }, { 69,3998 }, + { 70,3998 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,3998 }, + { 98,3998 }, { 99,3998 }, { 100,3998 }, { 101,3998 }, { 102,3998 }, + { 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 }, + + { 36, 0 }, { 0, 0 }, { 97,3998 }, { 98,3998 }, { 99,3998 }, + { 100,3998 }, { 101,3998 }, { 102,3998 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, + { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 0, 66 }, { 0,10301 }, { 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 }, { 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 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3741 }, + { 49,3741 }, { 50,3741 }, { 51,3741 }, { 52,3741 }, { 53,3741 }, + { 54,3741 }, { 55,3741 }, { 56,3741 }, { 57,3741 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,3998 }, { 66,3998 }, { 67,3998 }, { 68,3998 }, + { 69,3998 }, { 70,3998 }, { 71,3998 }, { 72,3998 }, { 73,3998 }, + { 74,3998 }, { 75,3998 }, { 76,3998 }, { 77,3998 }, { 78,3998 }, + + { 79,3998 }, { 80,3998 }, { 81,3998 }, { 82,3998 }, { 83,3998 }, + { 84,3998 }, { 85,3998 }, { 86,3998 }, { 87,3998 }, { 88,3998 }, + { 89,3998 }, { 90,3998 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,4255 }, { 0, 0 }, { 97,3998 }, { 98,3998 }, + { 99,3998 }, { 100,3998 }, { 101,3998 }, { 102,3998 }, { 103,3998 }, + { 104,3998 }, { 105,3998 }, { 106,3998 }, { 107,3998 }, { 108,3998 }, + { 109,3998 }, { 110,3998 }, { 111,3998 }, { 112,3998 }, { 113,3998 }, + { 114,3998 }, { 115,3998 }, { 116,3998 }, { 117,3998 }, { 118,3998 }, + { 119,3998 }, { 120,3998 }, { 121,3998 }, { 122,3998 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3998 }, + + { 129,3998 }, { 130,3998 }, { 131,3998 }, { 132,3998 }, { 133,3998 }, + { 134,3998 }, { 135,3998 }, { 136,3998 }, { 137,3998 }, { 138,3998 }, + { 139,3998 }, { 140,3998 }, { 141,3998 }, { 142,3998 }, { 143,3998 }, + { 144,3998 }, { 145,3998 }, { 146,3998 }, { 147,3998 }, { 148,3998 }, + { 149,3998 }, { 150,3998 }, { 151,3998 }, { 152,3998 }, { 153,3998 }, + { 154,3998 }, { 155,3998 }, { 156,3998 }, { 157,3998 }, { 158,3998 }, + { 159,3998 }, { 160,3998 }, { 161,3998 }, { 162,3998 }, { 163,3998 }, + { 164,3998 }, { 165,3998 }, { 166,3998 }, { 167,3998 }, { 168,3998 }, + { 169,3998 }, { 170,3998 }, { 171,3998 }, { 172,3998 }, { 173,3998 }, + { 174,3998 }, { 175,3998 }, { 176,3998 }, { 177,3998 }, { 178,3998 }, + + { 179,3998 }, { 180,3998 }, { 181,3998 }, { 182,3998 }, { 183,3998 }, + { 184,3998 }, { 185,3998 }, { 186,3998 }, { 187,3998 }, { 188,3998 }, + { 189,3998 }, { 190,3998 }, { 191,3998 }, { 192,3998 }, { 193,3998 }, + { 194,3998 }, { 195,3998 }, { 196,3998 }, { 197,3998 }, { 198,3998 }, + { 199,3998 }, { 200,3998 }, { 201,3998 }, { 202,3998 }, { 203,3998 }, + { 204,3998 }, { 205,3998 }, { 206,3998 }, { 207,3998 }, { 208,3998 }, + { 209,3998 }, { 210,3998 }, { 211,3998 }, { 212,3998 }, { 213,3998 }, + { 214,3998 }, { 215,3998 }, { 216,3998 }, { 217,3998 }, { 218,3998 }, + { 219,3998 }, { 220,3998 }, { 221,3998 }, { 222,3998 }, { 223,3998 }, + { 224,3998 }, { 225,3998 }, { 226,3998 }, { 227,3998 }, { 228,3998 }, + + { 229,3998 }, { 230,3998 }, { 231,3998 }, { 232,3998 }, { 233,3998 }, + { 234,3998 }, { 235,3998 }, { 236,3998 }, { 237,3998 }, { 238,3998 }, + { 239,3998 }, { 240,3998 }, { 241,3998 }, { 242,3998 }, { 243,3998 }, + { 244,3998 }, { 245,3998 }, { 246,3998 }, { 247,3998 }, { 248,3998 }, + { 249,3998 }, { 250,3998 }, { 251,3998 }, { 252,3998 }, { 253,3998 }, + { 254,3998 }, { 255,3998 }, { 0, 64 }, { 0,10044 }, { 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 }, + + { 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 }, { 36,-514 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4255 }, { 66,4255 }, + { 67,4255 }, { 68,4255 }, { 69,4512 }, { 70,4255 }, { 71,4255 }, + + { 72,4255 }, { 73,4255 }, { 74,4255 }, { 75,4255 }, { 76,4255 }, + { 77,4255 }, { 78,4255 }, { 79,4255 }, { 80,4255 }, { 81,4255 }, + { 82,4255 }, { 83,4255 }, { 84,4255 }, { 85,4255 }, { 86,4255 }, + { 87,4255 }, { 88,4255 }, { 89,4255 }, { 90,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4769 }, { 0, 0 }, + { 97,4255 }, { 98,4255 }, { 99,4255 }, { 100,4255 }, { 101,4512 }, + { 102,4255 }, { 103,4255 }, { 104,4255 }, { 105,4255 }, { 106,4255 }, + { 107,4255 }, { 108,4255 }, { 109,4255 }, { 110,4255 }, { 111,4255 }, + { 112,4255 }, { 113,4255 }, { 114,4255 }, { 115,4255 }, { 116,4255 }, + { 117,4255 }, { 118,4255 }, { 119,4255 }, { 120,4255 }, { 121,4255 }, + + { 122,4255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,4255 }, { 129,4255 }, { 130,4255 }, { 131,4255 }, + { 132,4255 }, { 133,4255 }, { 134,4255 }, { 135,4255 }, { 136,4255 }, + { 137,4255 }, { 138,4255 }, { 139,4255 }, { 140,4255 }, { 141,4255 }, + { 142,4255 }, { 143,4255 }, { 144,4255 }, { 145,4255 }, { 146,4255 }, + { 147,4255 }, { 148,4255 }, { 149,4255 }, { 150,4255 }, { 151,4255 }, + { 152,4255 }, { 153,4255 }, { 154,4255 }, { 155,4255 }, { 156,4255 }, + { 157,4255 }, { 158,4255 }, { 159,4255 }, { 160,4255 }, { 161,4255 }, + { 162,4255 }, { 163,4255 }, { 164,4255 }, { 165,4255 }, { 166,4255 }, + { 167,4255 }, { 168,4255 }, { 169,4255 }, { 170,4255 }, { 171,4255 }, + + { 172,4255 }, { 173,4255 }, { 174,4255 }, { 175,4255 }, { 176,4255 }, + { 177,4255 }, { 178,4255 }, { 179,4255 }, { 180,4255 }, { 181,4255 }, + { 182,4255 }, { 183,4255 }, { 184,4255 }, { 185,4255 }, { 186,4255 }, + { 187,4255 }, { 188,4255 }, { 189,4255 }, { 190,4255 }, { 191,4255 }, + { 192,4255 }, { 193,4255 }, { 194,4255 }, { 195,4255 }, { 196,4255 }, + { 197,4255 }, { 198,4255 }, { 199,4255 }, { 200,4255 }, { 201,4255 }, + { 202,4255 }, { 203,4255 }, { 204,4255 }, { 205,4255 }, { 206,4255 }, + { 207,4255 }, { 208,4255 }, { 209,4255 }, { 210,4255 }, { 211,4255 }, + { 212,4255 }, { 213,4255 }, { 214,4255 }, { 215,4255 }, { 216,4255 }, + { 217,4255 }, { 218,4255 }, { 219,4255 }, { 220,4255 }, { 221,4255 }, + + { 222,4255 }, { 223,4255 }, { 224,4255 }, { 225,4255 }, { 226,4255 }, + { 227,4255 }, { 228,4255 }, { 229,4255 }, { 230,4255 }, { 231,4255 }, + { 232,4255 }, { 233,4255 }, { 234,4255 }, { 235,4255 }, { 236,4255 }, + { 237,4255 }, { 238,4255 }, { 239,4255 }, { 240,4255 }, { 241,4255 }, + { 242,4255 }, { 243,4255 }, { 244,4255 }, { 245,4255 }, { 246,4255 }, + { 247,4255 }, { 248,4255 }, { 249,4255 }, { 250,4255 }, { 251,4255 }, + { 252,4255 }, { 253,4255 }, { 254,4255 }, { 255,4255 }, { 0, 64 }, + { 0,9787 }, { 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 }, { 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 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 65,-4654 }, { 66,-4654 }, { 67,-4654 }, { 68,-4654 }, { 69,-4397 }, + { 70,-4654 }, { 71,-4654 }, { 72,-4654 }, { 73,-4654 }, { 74,-4654 }, + { 75,-4654 }, { 76,-4654 }, { 77,-4654 }, { 78,-4654 }, { 79,-4654 }, + { 80,-4654 }, { 81,-4654 }, { 82,-4654 }, { 83,-4654 }, { 84,-4654 }, + { 85,-4654 }, { 86,-4654 }, { 87,-4654 }, { 88,-4654 }, { 89,-4654 }, + { 90,-4654 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95, 257 }, { 0, 0 }, { 97,-4654 }, { 98,-4654 }, { 99,-4654 }, + { 100,-4654 }, { 101,-4397 }, { 102,-4654 }, { 103,-4654 }, { 104,-4654 }, + { 105,-4654 }, { 106,-4654 }, { 107,-4654 }, { 108,-4654 }, { 109,-4654 }, + { 110,-4654 }, { 111,-4654 }, { 112,-4654 }, { 113,-4654 }, { 114,-4654 }, + + { 115,-4654 }, { 116,-4654 }, { 117,-4654 }, { 118,-4654 }, { 119,-4654 }, + { 120,-4654 }, { 121,-4654 }, { 122,-4654 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-4654 }, { 129,-4654 }, + { 130,-4654 }, { 131,-4654 }, { 132,-4654 }, { 133,-4654 }, { 134,-4654 }, + { 135,-4654 }, { 136,-4654 }, { 137,-4654 }, { 138,-4654 }, { 139,-4654 }, + { 140,-4654 }, { 141,-4654 }, { 142,-4654 }, { 143,-4654 }, { 144,-4654 }, + { 145,-4654 }, { 146,-4654 }, { 147,-4654 }, { 148,-4654 }, { 149,-4654 }, + { 150,-4654 }, { 151,-4654 }, { 152,-4654 }, { 153,-4654 }, { 154,-4654 }, + { 155,-4654 }, { 156,-4654 }, { 157,-4654 }, { 158,-4654 }, { 159,-4654 }, + { 160,-4654 }, { 161,-4654 }, { 162,-4654 }, { 163,-4654 }, { 164,-4654 }, + + { 165,-4654 }, { 166,-4654 }, { 167,-4654 }, { 168,-4654 }, { 169,-4654 }, + { 170,-4654 }, { 171,-4654 }, { 172,-4654 }, { 173,-4654 }, { 174,-4654 }, + { 175,-4654 }, { 176,-4654 }, { 177,-4654 }, { 178,-4654 }, { 179,-4654 }, + { 180,-4654 }, { 181,-4654 }, { 182,-4654 }, { 183,-4654 }, { 184,-4654 }, + { 185,-4654 }, { 186,-4654 }, { 187,-4654 }, { 188,-4654 }, { 189,-4654 }, + { 190,-4654 }, { 191,-4654 }, { 192,-4654 }, { 193,-4654 }, { 194,-4654 }, + { 195,-4654 }, { 196,-4654 }, { 197,-4654 }, { 198,-4654 }, { 199,-4654 }, + { 200,-4654 }, { 201,-4654 }, { 202,-4654 }, { 203,-4654 }, { 204,-4654 }, + { 205,-4654 }, { 206,-4654 }, { 207,-4654 }, { 208,-4654 }, { 209,-4654 }, + { 210,-4654 }, { 211,-4654 }, { 212,-4654 }, { 213,-4654 }, { 214,-4654 }, + + { 215,-4654 }, { 216,-4654 }, { 217,-4654 }, { 218,-4654 }, { 219,-4654 }, + { 220,-4654 }, { 221,-4654 }, { 222,-4654 }, { 223,-4654 }, { 224,-4654 }, + { 225,-4654 }, { 226,-4654 }, { 227,-4654 }, { 228,-4654 }, { 229,-4654 }, + { 230,-4654 }, { 231,-4654 }, { 232,-4654 }, { 233,-4654 }, { 234,-4654 }, + { 235,-4654 }, { 236,-4654 }, { 237,-4654 }, { 238,-4654 }, { 239,-4654 }, + { 240,-4654 }, { 241,-4654 }, { 242,-4654 }, { 243,-4654 }, { 244,-4654 }, + { 245,-4654 }, { 246,-4654 }, { 247,-4654 }, { 248,-4654 }, { 249,-4654 }, + { 250,-4654 }, { 251,-4654 }, { 252,-4654 }, { 253,-4654 }, { 254,-4654 }, + { 255,-4654 }, { 0, 69 }, { 0,9530 }, { 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 }, { 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 }, { 36,-1028 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4512 }, { 49,4512 }, { 50,4512 }, { 51,4512 }, { 52,4512 }, + { 53,4512 }, { 54,4512 }, { 55,4512 }, { 56,4512 }, { 57,4512 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-1028 }, { 66,-1028 }, { 67,-1028 }, + { 68,-1028 }, { 69,-1028 }, { 70,-1028 }, { 71,-1028 }, { 72,-1028 }, + { 73,-1028 }, { 74,-1028 }, { 75,-1028 }, { 76,-1028 }, { 77,-1028 }, + { 78,-1028 }, { 79,-1028 }, { 80,-1028 }, { 81,-1028 }, { 82,-1028 }, + { 83,-1028 }, { 84,-1028 }, { 85,-1028 }, { 86,-1028 }, { 87,-1028 }, + { 88,-1028 }, { 89,-1028 }, { 90,-1028 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-1028 }, { 0, 0 }, { 97,-1028 }, + { 98,-1028 }, { 99,-1028 }, { 100,-1028 }, { 101,-1028 }, { 102,-1028 }, + { 103,-1028 }, { 104,-1028 }, { 105,-1028 }, { 106,-1028 }, { 107,-1028 }, + + { 108,-1028 }, { 109,-1028 }, { 110,-1028 }, { 111,-1028 }, { 112,-1028 }, + { 113,-1028 }, { 114,-1028 }, { 115,-1028 }, { 116,-1028 }, { 117,-1028 }, + { 118,-1028 }, { 119,-1028 }, { 120,-1028 }, { 121,-1028 }, { 122,-1028 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-1028 }, { 129,-1028 }, { 130,-1028 }, { 131,-1028 }, { 132,-1028 }, + { 133,-1028 }, { 134,-1028 }, { 135,-1028 }, { 136,-1028 }, { 137,-1028 }, + { 138,-1028 }, { 139,-1028 }, { 140,-1028 }, { 141,-1028 }, { 142,-1028 }, + { 143,-1028 }, { 144,-1028 }, { 145,-1028 }, { 146,-1028 }, { 147,-1028 }, + { 148,-1028 }, { 149,-1028 }, { 150,-1028 }, { 151,-1028 }, { 152,-1028 }, + { 153,-1028 }, { 154,-1028 }, { 155,-1028 }, { 156,-1028 }, { 157,-1028 }, + + { 158,-1028 }, { 159,-1028 }, { 160,-1028 }, { 161,-1028 }, { 162,-1028 }, + { 163,-1028 }, { 164,-1028 }, { 165,-1028 }, { 166,-1028 }, { 167,-1028 }, + { 168,-1028 }, { 169,-1028 }, { 170,-1028 }, { 171,-1028 }, { 172,-1028 }, + { 173,-1028 }, { 174,-1028 }, { 175,-1028 }, { 176,-1028 }, { 177,-1028 }, + { 178,-1028 }, { 179,-1028 }, { 180,-1028 }, { 181,-1028 }, { 182,-1028 }, + { 183,-1028 }, { 184,-1028 }, { 185,-1028 }, { 186,-1028 }, { 187,-1028 }, + { 188,-1028 }, { 189,-1028 }, { 190,-1028 }, { 191,-1028 }, { 192,-1028 }, + { 193,-1028 }, { 194,-1028 }, { 195,-1028 }, { 196,-1028 }, { 197,-1028 }, + { 198,-1028 }, { 199,-1028 }, { 200,-1028 }, { 201,-1028 }, { 202,-1028 }, + { 203,-1028 }, { 204,-1028 }, { 205,-1028 }, { 206,-1028 }, { 207,-1028 }, + + { 208,-1028 }, { 209,-1028 }, { 210,-1028 }, { 211,-1028 }, { 212,-1028 }, + { 213,-1028 }, { 214,-1028 }, { 215,-1028 }, { 216,-1028 }, { 217,-1028 }, + { 218,-1028 }, { 219,-1028 }, { 220,-1028 }, { 221,-1028 }, { 222,-1028 }, + { 223,-1028 }, { 224,-1028 }, { 225,-1028 }, { 226,-1028 }, { 227,-1028 }, + { 228,-1028 }, { 229,-1028 }, { 230,-1028 }, { 231,-1028 }, { 232,-1028 }, + { 233,-1028 }, { 234,-1028 }, { 235,-1028 }, { 236,-1028 }, { 237,-1028 }, + { 238,-1028 }, { 239,-1028 }, { 240,-1028 }, { 241,-1028 }, { 242,-1028 }, + { 243,-1028 }, { 244,-1028 }, { 245,-1028 }, { 246,-1028 }, { 247,-1028 }, + { 248,-1028 }, { 249,-1028 }, { 250,-1028 }, { 251,-1028 }, { 252,-1028 }, + { 253,-1028 }, { 254,-1028 }, { 255,-1028 }, { 0, 68 }, { 0,9273 }, + + { 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 }, { 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 }, + { 36,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-3851 }, { 49,-3851 }, { 50,-4108 }, + + { 51,-4108 }, { 52,-4108 }, { 53,-4108 }, { 54,-4108 }, { 55,-4108 }, + { 56,-4108 }, { 57,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-4108 }, + { 66,-4108 }, { 67,-4108 }, { 68,-4108 }, { 69,-4108 }, { 70,-4108 }, + { 71,-4108 }, { 72,-4108 }, { 73,-4108 }, { 74,-4108 }, { 75,-4108 }, + { 76,-4108 }, { 77,-4108 }, { 78,-4108 }, { 79,-4108 }, { 80,-4108 }, + { 81,-4108 }, { 82,-4108 }, { 83,-4108 }, { 84,-4108 }, { 85,-4108 }, + { 86,-4108 }, { 87,-4108 }, { 88,-4108 }, { 89,-4108 }, { 90,-4108 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-4108 }, + { 0, 0 }, { 97,-4108 }, { 98,-4108 }, { 99,-4108 }, { 100,-4108 }, + + { 101,-4108 }, { 102,-4108 }, { 103,-4108 }, { 104,-4108 }, { 105,-4108 }, + { 106,-4108 }, { 107,-4108 }, { 108,-4108 }, { 109,-4108 }, { 110,-4108 }, + { 111,-4108 }, { 112,-4108 }, { 113,-4108 }, { 114,-4108 }, { 115,-4108 }, + { 116,-4108 }, { 117,-4108 }, { 118,-4108 }, { 119,-4108 }, { 120,-4108 }, + { 121,-4108 }, { 122,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-4108 }, { 129,-4108 }, { 130,-4108 }, + { 131,-4108 }, { 132,-4108 }, { 133,-4108 }, { 134,-4108 }, { 135,-4108 }, + { 136,-4108 }, { 137,-4108 }, { 138,-4108 }, { 139,-4108 }, { 140,-4108 }, + { 141,-4108 }, { 142,-4108 }, { 143,-4108 }, { 144,-4108 }, { 145,-4108 }, + { 146,-4108 }, { 147,-4108 }, { 148,-4108 }, { 149,-4108 }, { 150,-4108 }, + + { 151,-4108 }, { 152,-4108 }, { 153,-4108 }, { 154,-4108 }, { 155,-4108 }, + { 156,-4108 }, { 157,-4108 }, { 158,-4108 }, { 159,-4108 }, { 160,-4108 }, + { 161,-4108 }, { 162,-4108 }, { 163,-4108 }, { 164,-4108 }, { 165,-4108 }, + { 166,-4108 }, { 167,-4108 }, { 168,-4108 }, { 169,-4108 }, { 170,-4108 }, + { 171,-4108 }, { 172,-4108 }, { 173,-4108 }, { 174,-4108 }, { 175,-4108 }, + { 176,-4108 }, { 177,-4108 }, { 178,-4108 }, { 179,-4108 }, { 180,-4108 }, + { 181,-4108 }, { 182,-4108 }, { 183,-4108 }, { 184,-4108 }, { 185,-4108 }, + { 186,-4108 }, { 187,-4108 }, { 188,-4108 }, { 189,-4108 }, { 190,-4108 }, + { 191,-4108 }, { 192,-4108 }, { 193,-4108 }, { 194,-4108 }, { 195,-4108 }, + { 196,-4108 }, { 197,-4108 }, { 198,-4108 }, { 199,-4108 }, { 200,-4108 }, + + { 201,-4108 }, { 202,-4108 }, { 203,-4108 }, { 204,-4108 }, { 205,-4108 }, + { 206,-4108 }, { 207,-4108 }, { 208,-4108 }, { 209,-4108 }, { 210,-4108 }, + { 211,-4108 }, { 212,-4108 }, { 213,-4108 }, { 214,-4108 }, { 215,-4108 }, + { 216,-4108 }, { 217,-4108 }, { 218,-4108 }, { 219,-4108 }, { 220,-4108 }, + { 221,-4108 }, { 222,-4108 }, { 223,-4108 }, { 224,-4108 }, { 225,-4108 }, + { 226,-4108 }, { 227,-4108 }, { 228,-4108 }, { 229,-4108 }, { 230,-4108 }, + { 231,-4108 }, { 232,-4108 }, { 233,-4108 }, { 234,-4108 }, { 235,-4108 }, + { 236,-4108 }, { 237,-4108 }, { 238,-4108 }, { 239,-4108 }, { 240,-4108 }, + { 241,-4108 }, { 242,-4108 }, { 243,-4108 }, { 244,-4108 }, { 245,-4108 }, + { 246,-4108 }, { 247,-4108 }, { 248,-4108 }, { 249,-4108 }, { 250,-4108 }, + + { 251,-4108 }, { 252,-4108 }, { 253,-4108 }, { 254,-4108 }, { 255,-4108 }, + { 0, 66 }, { 0,9016 }, { 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 }, { 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 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4255 }, + { 49,4255 }, { 50,4255 }, { 51,4255 }, { 52,4255 }, { 53,4255 }, + { 54,4255 }, { 55,4255 }, { 56,4255 }, { 57,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,4512 }, { 66,4512 }, { 67,4512 }, { 68,4512 }, + { 69,4512 }, { 70,4512 }, { 71,4512 }, { 72,4512 }, { 73,4512 }, + { 74,4512 }, { 75,4512 }, { 76,4512 }, { 77,4512 }, { 78,4512 }, + { 79,4512 }, { 80,4512 }, { 81,4512 }, { 82,4512 }, { 83,4512 }, + { 84,4512 }, { 85,4512 }, { 86,4512 }, { 87,4512 }, { 88,4512 }, + { 89,4512 }, { 90,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 95,4769 }, { 0, 0 }, { 97,4512 }, { 98,4512 }, + { 99,4512 }, { 100,4512 }, { 101,4512 }, { 102,4512 }, { 103,4512 }, + { 104,4512 }, { 105,4512 }, { 106,4512 }, { 107,4512 }, { 108,4512 }, + { 109,4512 }, { 110,4512 }, { 111,4512 }, { 112,4512 }, { 113,4512 }, + { 114,4512 }, { 115,4512 }, { 116,4512 }, { 117,4512 }, { 118,4512 }, + { 119,4512 }, { 120,4512 }, { 121,4512 }, { 122,4512 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4512 }, + { 129,4512 }, { 130,4512 }, { 131,4512 }, { 132,4512 }, { 133,4512 }, + { 134,4512 }, { 135,4512 }, { 136,4512 }, { 137,4512 }, { 138,4512 }, + { 139,4512 }, { 140,4512 }, { 141,4512 }, { 142,4512 }, { 143,4512 }, + + { 144,4512 }, { 145,4512 }, { 146,4512 }, { 147,4512 }, { 148,4512 }, + { 149,4512 }, { 150,4512 }, { 151,4512 }, { 152,4512 }, { 153,4512 }, + { 154,4512 }, { 155,4512 }, { 156,4512 }, { 157,4512 }, { 158,4512 }, + { 159,4512 }, { 160,4512 }, { 161,4512 }, { 162,4512 }, { 163,4512 }, + { 164,4512 }, { 165,4512 }, { 166,4512 }, { 167,4512 }, { 168,4512 }, + { 169,4512 }, { 170,4512 }, { 171,4512 }, { 172,4512 }, { 173,4512 }, + { 174,4512 }, { 175,4512 }, { 176,4512 }, { 177,4512 }, { 178,4512 }, + { 179,4512 }, { 180,4512 }, { 181,4512 }, { 182,4512 }, { 183,4512 }, + { 184,4512 }, { 185,4512 }, { 186,4512 }, { 187,4512 }, { 188,4512 }, + { 189,4512 }, { 190,4512 }, { 191,4512 }, { 192,4512 }, { 193,4512 }, + + { 194,4512 }, { 195,4512 }, { 196,4512 }, { 197,4512 }, { 198,4512 }, + { 199,4512 }, { 200,4512 }, { 201,4512 }, { 202,4512 }, { 203,4512 }, + { 204,4512 }, { 205,4512 }, { 206,4512 }, { 207,4512 }, { 208,4512 }, + { 209,4512 }, { 210,4512 }, { 211,4512 }, { 212,4512 }, { 213,4512 }, + { 214,4512 }, { 215,4512 }, { 216,4512 }, { 217,4512 }, { 218,4512 }, + { 219,4512 }, { 220,4512 }, { 221,4512 }, { 222,4512 }, { 223,4512 }, + { 224,4512 }, { 225,4512 }, { 226,4512 }, { 227,4512 }, { 228,4512 }, + { 229,4512 }, { 230,4512 }, { 231,4512 }, { 232,4512 }, { 233,4512 }, + { 234,4512 }, { 235,4512 }, { 236,4512 }, { 237,4512 }, { 238,4512 }, + { 239,4512 }, { 240,4512 }, { 241,4512 }, { 242,4512 }, { 243,4512 }, - { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, - { 255, 0 }, { 256, 0 }, { 0, 2 }, { 0,4540 }, { 1,-258 }, - { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, { 6,-258 }, - { 7,-258 }, { 8,-258 }, { 9,-258 }, { 0, 0 }, { 11,-258 }, - { 12,-258 }, { 0, 0 }, { 14,-258 }, { 15,-258 }, { 16,-258 }, - { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, { 21,-258 }, - { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, { 26,-258 }, - { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, { 31,-258 }, - { 32,-258 }, { 33, 0 }, { 34,-258 }, { 35, 0 }, { 36,-258 }, - { 37, 0 }, { 38, 0 }, { 39,-258 }, { 40,-258 }, { 41,-258 }, - - { 42, 0 }, { 43, 0 }, { 44,-258 }, { 45, 0 }, { 46,-258 }, - { 47, 0 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, { 51,-258 }, - { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, { 56,-258 }, - { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60, 0 }, { 61, 0 }, - { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65,-258 }, { 66,-258 }, - { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, { 71,-258 }, - { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, { 76,-258 }, - { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, { 81,-258 }, - { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, { 86,-258 }, - { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, { 91,-258 }, - - { 92,-258 }, { 93,-258 }, { 94, 0 }, { 95,-258 }, { 96, 0 }, - { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, { 101,-258 }, - { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, { 106,-258 }, - { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, { 111,-258 }, - { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, { 116,-258 }, - { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, { 121,-258 }, - { 122,-258 }, { 123,-258 }, { 124, 0 }, { 125,-258 }, { 126, 0 }, - { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, { 131,-258 }, - { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, { 136,-258 }, - { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, { 141,-258 }, - - { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, { 146,-258 }, - { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, { 151,-258 }, - { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, { 156,-258 }, - { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, { 161,-258 }, - { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, { 166,-258 }, - { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, { 171,-258 }, - { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, { 176,-258 }, - { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, { 181,-258 }, - { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, { 186,-258 }, - { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, { 191,-258 }, - - { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, { 196,-258 }, - { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, { 201,-258 }, - { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, { 206,-258 }, - { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, { 211,-258 }, - { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, { 216,-258 }, - { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, { 221,-258 }, - { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, { 226,-258 }, - { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, { 231,-258 }, - { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, { 236,-258 }, - { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, { 241,-258 }, - - { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, { 246,-258 }, - { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, { 251,-258 }, - { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, { 256,-258 }, - { 0, 64 }, { 0,4282 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 244,4512 }, { 245,4512 }, { 246,4512 }, { 247,4512 }, { 248,4512 }, + { 249,4512 }, { 250,4512 }, { 251,4512 }, { 252,4512 }, { 253,4512 }, + { 254,4512 }, { 255,4512 }, { 0, 66 }, { 0,8759 }, { 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 }, { 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 }, { 36,-4622 }, { 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 }, { 48, 0 }, - { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, { 66, 257 }, + { 67, 257 }, { 68, 257 }, { 69, 257 }, { 70, 257 }, { 71, 257 }, + { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, { 76, 257 }, + { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, { 81, 257 }, + { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, { 86, 257 }, + + { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 514 }, { 0, 0 }, + { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, { 101, 257 }, + { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, { 106, 257 }, + { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, { 111, 257 }, + { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, { 116, 257 }, + { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, { 121, 257 }, + { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, { 131, 257 }, + { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, { 136, 257 }, + + { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, { 141, 257 }, + { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, { 146, 257 }, + { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, { 151, 257 }, + { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, { 156, 257 }, + { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, { 161, 257 }, + { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, { 166, 257 }, + { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, { 171, 257 }, + { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, { 176, 257 }, + { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, { 181, 257 }, + { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, { 186, 257 }, + + { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, { 191, 257 }, + { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, { 196, 257 }, + { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, { 201, 257 }, + { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, { 206, 257 }, + { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, { 211, 257 }, + { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, { 216, 257 }, + { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, { 221, 257 }, + { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, { 226, 257 }, + { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, { 231, 257 }, + { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, { 236, 257 }, + + { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, { 241, 257 }, + { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, { 246, 257 }, + { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, { 251, 257 }, + { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, { 0, 68 }, + { 0,8502 }, { 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 }, { 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 }, { 36,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4512 }, { 49,4512 }, + { 50,4512 }, { 51,4512 }, { 52,4512 }, { 53,4512 }, { 54,4512 }, + { 55,4512 }, { 56,4512 }, { 57,4512 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,4512 }, { 66,4512 }, { 67,4512 }, { 68,4512 }, { 69,4512 }, + { 70,4512 }, { 71,4512 }, { 72,4512 }, { 73,4512 }, { 74,4512 }, + { 75,4512 }, { 76,4512 }, { 77,4512 }, { 78,4512 }, { 79,4512 }, + + { 80,4512 }, { 81,4512 }, { 82,4512 }, { 83,4512 }, { 84,4512 }, + { 85,4512 }, { 86,4512 }, { 87,4512 }, { 88,4512 }, { 89,4512 }, + { 90,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,4512 }, { 0, 0 }, { 97,4512 }, { 98,4512 }, { 99,4512 }, + { 100,4512 }, { 101,4512 }, { 102,4512 }, { 103,4512 }, { 104,4512 }, + { 105,4512 }, { 106,4512 }, { 107,4512 }, { 108,4512 }, { 109,4512 }, + { 110,4512 }, { 111,4512 }, { 112,4512 }, { 113,4512 }, { 114,4512 }, + { 115,4512 }, { 116,4512 }, { 117,4512 }, { 118,4512 }, { 119,4512 }, + { 120,4512 }, { 121,4512 }, { 122,4512 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4512 }, { 129,4512 }, + + { 130,4512 }, { 131,4512 }, { 132,4512 }, { 133,4512 }, { 134,4512 }, + { 135,4512 }, { 136,4512 }, { 137,4512 }, { 138,4512 }, { 139,4512 }, + { 140,4512 }, { 141,4512 }, { 142,4512 }, { 143,4512 }, { 144,4512 }, + { 145,4512 }, { 146,4512 }, { 147,4512 }, { 148,4512 }, { 149,4512 }, + { 150,4512 }, { 151,4512 }, { 152,4512 }, { 153,4512 }, { 154,4512 }, + { 155,4512 }, { 156,4512 }, { 157,4512 }, { 158,4512 }, { 159,4512 }, + { 160,4512 }, { 161,4512 }, { 162,4512 }, { 163,4512 }, { 164,4512 }, + { 165,4512 }, { 166,4512 }, { 167,4512 }, { 168,4512 }, { 169,4512 }, + { 170,4512 }, { 171,4512 }, { 172,4512 }, { 173,4512 }, { 174,4512 }, + { 175,4512 }, { 176,4512 }, { 177,4512 }, { 178,4512 }, { 179,4512 }, + + { 180,4512 }, { 181,4512 }, { 182,4512 }, { 183,4512 }, { 184,4512 }, + { 185,4512 }, { 186,4512 }, { 187,4512 }, { 188,4512 }, { 189,4512 }, + { 190,4512 }, { 191,4512 }, { 192,4512 }, { 193,4512 }, { 194,4512 }, + { 195,4512 }, { 196,4512 }, { 197,4512 }, { 198,4512 }, { 199,4512 }, + { 200,4512 }, { 201,4512 }, { 202,4512 }, { 203,4512 }, { 204,4512 }, + { 205,4512 }, { 206,4512 }, { 207,4512 }, { 208,4512 }, { 209,4512 }, + { 210,4512 }, { 211,4512 }, { 212,4512 }, { 213,4512 }, { 214,4512 }, + { 215,4512 }, { 216,4512 }, { 217,4512 }, { 218,4512 }, { 219,4512 }, + { 220,4512 }, { 221,4512 }, { 222,4512 }, { 223,4512 }, { 224,4512 }, + { 225,4512 }, { 226,4512 }, { 227,4512 }, { 228,4512 }, { 229,4512 }, + + { 230,4512 }, { 231,4512 }, { 232,4512 }, { 233,4512 }, { 234,4512 }, + { 235,4512 }, { 236,4512 }, { 237,4512 }, { 238,4512 }, { 239,4512 }, + { 240,4512 }, { 241,4512 }, { 242,4512 }, { 243,4512 }, { 244,4512 }, + { 245,4512 }, { 246,4512 }, { 247,4512 }, { 248,4512 }, { 249,4512 }, + { 250,4512 }, { 251,4512 }, { 252,4512 }, { 253,4512 }, { 254,4512 }, + { 255,4512 }, { 0, 68 }, { 0,8245 }, { 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 }, { 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 }, { 36,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4512 }, { 49,4512 }, { 50,4512 }, { 51,4512 }, { 52,4512 }, + { 53,4512 }, { 54,4512 }, { 55,4512 }, { 56,4512 }, { 57,4512 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4255 }, { 66,4255 }, { 67,4255 }, + { 68,4255 }, { 69,4255 }, { 70,4255 }, { 71,4255 }, { 72,4255 }, + + { 73,4255 }, { 74,4255 }, { 75,4255 }, { 76,4255 }, { 77,4255 }, + { 78,4255 }, { 79,4255 }, { 80,4255 }, { 81,4255 }, { 82,4255 }, + { 83,4255 }, { 84,4255 }, { 85,4255 }, { 86,4255 }, { 87,4255 }, + { 88,4255 }, { 89,4255 }, { 90,4255 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4255 }, { 0, 0 }, { 97,4255 }, + { 98,4255 }, { 99,4255 }, { 100,4255 }, { 101,4255 }, { 102,4255 }, + { 103,4255 }, { 104,4255 }, { 105,4255 }, { 106,4255 }, { 107,4255 }, + { 108,4255 }, { 109,4255 }, { 110,4255 }, { 111,4255 }, { 112,4255 }, + { 113,4255 }, { 114,4255 }, { 115,4255 }, { 116,4255 }, { 117,4255 }, + { 118,4255 }, { 119,4255 }, { 120,4255 }, { 121,4255 }, { 122,4255 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,-10608 }, { 66,-10608 }, { 67,-10608 }, { 68,-10608 }, - { 69, 257 }, { 70,-10608 }, { 71,-10608 }, { 72,-10608 }, { 73,-10608 }, - { 74,-10608 }, { 75,-10608 }, { 76,-10608 }, { 77,-10608 }, { 78,-10608 }, - { 79,-10608 }, { 80,-10608 }, { 81,-10608 }, { 82,-10608 }, { 83,-10608 }, + { 128,4255 }, { 129,4255 }, { 130,4255 }, { 131,4255 }, { 132,4255 }, + { 133,4255 }, { 134,4255 }, { 135,4255 }, { 136,4255 }, { 137,4255 }, + { 138,4255 }, { 139,4255 }, { 140,4255 }, { 141,4255 }, { 142,4255 }, + { 143,4255 }, { 144,4255 }, { 145,4255 }, { 146,4255 }, { 147,4255 }, + { 148,4255 }, { 149,4255 }, { 150,4255 }, { 151,4255 }, { 152,4255 }, + { 153,4255 }, { 154,4255 }, { 155,4255 }, { 156,4255 }, { 157,4255 }, + { 158,4255 }, { 159,4255 }, { 160,4255 }, { 161,4255 }, { 162,4255 }, + { 163,4255 }, { 164,4255 }, { 165,4255 }, { 166,4255 }, { 167,4255 }, + { 168,4255 }, { 169,4255 }, { 170,4255 }, { 171,4255 }, { 172,4255 }, - { 84,-10608 }, { 85,-10608 }, { 86,-10608 }, { 87,-10608 }, { 88,-10608 }, - { 89,-10608 }, { 90,-10608 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95, 267 }, { 0, 0 }, { 97,-10608 }, { 98,-10608 }, - { 99,-10608 }, { 100,-10608 }, { 101, 257 }, { 102,-10608 }, { 103,-10608 }, - { 104,-10608 }, { 105,-10608 }, { 106,-10608 }, { 107,-10608 }, { 108,-10608 }, - { 109,-10608 }, { 110,-10608 }, { 111,-10608 }, { 112,-10608 }, { 113,-10608 }, - { 114,-10608 }, { 115,-10608 }, { 116,-10608 }, { 117,-10608 }, { 118,-10608 }, - { 119,-10608 }, { 120,-10608 }, { 121,-10608 }, { 122,-10608 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-10608 }, - { 129,-10608 }, { 130,-10608 }, { 131,-10608 }, { 132,-10608 }, { 133,-10608 }, - - { 134,-10608 }, { 135,-10608 }, { 136,-10608 }, { 137,-10608 }, { 138,-10608 }, - { 139,-10608 }, { 140,-10608 }, { 141,-10608 }, { 142,-10608 }, { 143,-10608 }, - { 144,-10608 }, { 145,-10608 }, { 146,-10608 }, { 147,-10608 }, { 148,-10608 }, - { 149,-10608 }, { 150,-10608 }, { 151,-10608 }, { 152,-10608 }, { 153,-10608 }, - { 154,-10608 }, { 155,-10608 }, { 156,-10608 }, { 157,-10608 }, { 158,-10608 }, - { 159,-10608 }, { 160,-10608 }, { 161,-10608 }, { 162,-10608 }, { 163,-10608 }, - { 164,-10608 }, { 165,-10608 }, { 166,-10608 }, { 167,-10608 }, { 168,-10608 }, - { 169,-10608 }, { 170,-10608 }, { 171,-10608 }, { 172,-10608 }, { 173,-10608 }, - { 174,-10608 }, { 175,-10608 }, { 176,-10608 }, { 177,-10608 }, { 178,-10608 }, - { 179,-10608 }, { 180,-10608 }, { 181,-10608 }, { 182,-10608 }, { 183,-10608 }, + { 173,4255 }, { 174,4255 }, { 175,4255 }, { 176,4255 }, { 177,4255 }, + { 178,4255 }, { 179,4255 }, { 180,4255 }, { 181,4255 }, { 182,4255 }, + { 183,4255 }, { 184,4255 }, { 185,4255 }, { 186,4255 }, { 187,4255 }, + { 188,4255 }, { 189,4255 }, { 190,4255 }, { 191,4255 }, { 192,4255 }, + { 193,4255 }, { 194,4255 }, { 195,4255 }, { 196,4255 }, { 197,4255 }, + { 198,4255 }, { 199,4255 }, { 200,4255 }, { 201,4255 }, { 202,4255 }, + { 203,4255 }, { 204,4255 }, { 205,4255 }, { 206,4255 }, { 207,4255 }, + { 208,4255 }, { 209,4255 }, { 210,4255 }, { 211,4255 }, { 212,4255 }, + { 213,4255 }, { 214,4255 }, { 215,4255 }, { 216,4255 }, { 217,4255 }, + { 218,4255 }, { 219,4255 }, { 220,4255 }, { 221,4255 }, { 222,4255 }, + + { 223,4255 }, { 224,4255 }, { 225,4255 }, { 226,4255 }, { 227,4255 }, + { 228,4255 }, { 229,4255 }, { 230,4255 }, { 231,4255 }, { 232,4255 }, + { 233,4255 }, { 234,4255 }, { 235,4255 }, { 236,4255 }, { 237,4255 }, + { 238,4255 }, { 239,4255 }, { 240,4255 }, { 241,4255 }, { 242,4255 }, + { 243,4255 }, { 244,4255 }, { 245,4255 }, { 246,4255 }, { 247,4255 }, + { 248,4255 }, { 249,4255 }, { 250,4255 }, { 251,4255 }, { 252,4255 }, + { 253,4255 }, { 254,4255 }, { 255,4255 }, { 0, 68 }, { 0,7988 }, + { 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 }, { 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 }, + { 36,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-4355 }, { 49,-4355 }, { 50,-4355 }, + { 51,-4355 }, { 52,-4355 }, { 53,-4355 }, { 54,-4355 }, { 55,-4355 }, + { 56,-5393 }, { 57,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-5393 }, + + { 66,-5393 }, { 67,-5393 }, { 68,-5393 }, { 69,-5393 }, { 70,-5393 }, + { 71,-5393 }, { 72,-5393 }, { 73,-5393 }, { 74,-5393 }, { 75,-5393 }, + { 76,-5393 }, { 77,-5393 }, { 78,-5393 }, { 79,-5393 }, { 80,-5393 }, + { 81,-5393 }, { 82,-5393 }, { 83,-5393 }, { 84,-5393 }, { 85,-5393 }, + { 86,-5393 }, { 87,-5393 }, { 88,-5393 }, { 89,-5393 }, { 90,-5393 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-5393 }, + { 0, 0 }, { 97,-5393 }, { 98,-5393 }, { 99,-5393 }, { 100,-5393 }, + { 101,-5393 }, { 102,-5393 }, { 103,-5393 }, { 104,-5393 }, { 105,-5393 }, + { 106,-5393 }, { 107,-5393 }, { 108,-5393 }, { 109,-5393 }, { 110,-5393 }, + { 111,-5393 }, { 112,-5393 }, { 113,-5393 }, { 114,-5393 }, { 115,-5393 }, - { 184,-10608 }, { 185,-10608 }, { 186,-10608 }, { 187,-10608 }, { 188,-10608 }, - { 189,-10608 }, { 190,-10608 }, { 191,-10608 }, { 192,-10608 }, { 193,-10608 }, - { 194,-10608 }, { 195,-10608 }, { 196,-10608 }, { 197,-10608 }, { 198,-10608 }, - { 199,-10608 }, { 200,-10608 }, { 201,-10608 }, { 202,-10608 }, { 203,-10608 }, - { 204,-10608 }, { 205,-10608 }, { 206,-10608 }, { 207,-10608 }, { 208,-10608 }, - { 209,-10608 }, { 210,-10608 }, { 211,-10608 }, { 212,-10608 }, { 213,-10608 }, - { 214,-10608 }, { 215,-10608 }, { 216,-10608 }, { 217,-10608 }, { 218,-10608 }, - { 219,-10608 }, { 220,-10608 }, { 221,-10608 }, { 222,-10608 }, { 223,-10608 }, - { 224,-10608 }, { 225,-10608 }, { 226,-10608 }, { 227,-10608 }, { 228,-10608 }, - { 229,-10608 }, { 230,-10608 }, { 231,-10608 }, { 232,-10608 }, { 233,-10608 }, + { 116,-5393 }, { 117,-5393 }, { 118,-5393 }, { 119,-5393 }, { 120,-5393 }, + { 121,-5393 }, { 122,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-5393 }, { 129,-5393 }, { 130,-5393 }, + { 131,-5393 }, { 132,-5393 }, { 133,-5393 }, { 134,-5393 }, { 135,-5393 }, + { 136,-5393 }, { 137,-5393 }, { 138,-5393 }, { 139,-5393 }, { 140,-5393 }, + { 141,-5393 }, { 142,-5393 }, { 143,-5393 }, { 144,-5393 }, { 145,-5393 }, + { 146,-5393 }, { 147,-5393 }, { 148,-5393 }, { 149,-5393 }, { 150,-5393 }, + { 151,-5393 }, { 152,-5393 }, { 153,-5393 }, { 154,-5393 }, { 155,-5393 }, + { 156,-5393 }, { 157,-5393 }, { 158,-5393 }, { 159,-5393 }, { 160,-5393 }, + { 161,-5393 }, { 162,-5393 }, { 163,-5393 }, { 164,-5393 }, { 165,-5393 }, - { 234,-10608 }, { 235,-10608 }, { 236,-10608 }, { 237,-10608 }, { 238,-10608 }, - { 239,-10608 }, { 240,-10608 }, { 241,-10608 }, { 242,-10608 }, { 243,-10608 }, - { 244,-10608 }, { 245,-10608 }, { 246,-10608 }, { 247,-10608 }, { 248,-10608 }, - { 249,-10608 }, { 250,-10608 }, { 251,-10608 }, { 252,-10608 }, { 253,-10608 }, - { 254,-10608 }, { 255,-10608 }, { 0, 72 }, { 0,4025 }, { 0, 0 }, + { 166,-5393 }, { 167,-5393 }, { 168,-5393 }, { 169,-5393 }, { 170,-5393 }, + { 171,-5393 }, { 172,-5393 }, { 173,-5393 }, { 174,-5393 }, { 175,-5393 }, + { 176,-5393 }, { 177,-5393 }, { 178,-5393 }, { 179,-5393 }, { 180,-5393 }, + { 181,-5393 }, { 182,-5393 }, { 183,-5393 }, { 184,-5393 }, { 185,-5393 }, + { 186,-5393 }, { 187,-5393 }, { 188,-5393 }, { 189,-5393 }, { 190,-5393 }, + { 191,-5393 }, { 192,-5393 }, { 193,-5393 }, { 194,-5393 }, { 195,-5393 }, + { 196,-5393 }, { 197,-5393 }, { 198,-5393 }, { 199,-5393 }, { 200,-5393 }, + { 201,-5393 }, { 202,-5393 }, { 203,-5393 }, { 204,-5393 }, { 205,-5393 }, + { 206,-5393 }, { 207,-5393 }, { 208,-5393 }, { 209,-5393 }, { 210,-5393 }, + { 211,-5393 }, { 212,-5393 }, { 213,-5393 }, { 214,-5393 }, { 215,-5393 }, + + { 216,-5393 }, { 217,-5393 }, { 218,-5393 }, { 219,-5393 }, { 220,-5393 }, + { 221,-5393 }, { 222,-5393 }, { 223,-5393 }, { 224,-5393 }, { 225,-5393 }, + { 226,-5393 }, { 227,-5393 }, { 228,-5393 }, { 229,-5393 }, { 230,-5393 }, + { 231,-5393 }, { 232,-5393 }, { 233,-5393 }, { 234,-5393 }, { 235,-5393 }, + { 236,-5393 }, { 237,-5393 }, { 238,-5393 }, { 239,-5393 }, { 240,-5393 }, + { 241,-5393 }, { 242,-5393 }, { 243,-5393 }, { 244,-5393 }, { 245,-5393 }, + { 246,-5393 }, { 247,-5393 }, { 248,-5393 }, { 249,-5393 }, { 250,-5393 }, + { 251,-5393 }, { 252,-5393 }, { 253,-5393 }, { 254,-5393 }, { 255,-5393 }, + { 0, 68 }, { 0,7731 }, { 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 }, { 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 }, { 36,-5650 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-4098 }, + { 49,-4098 }, { 50,-4098 }, { 51,-4098 }, { 52,-4098 }, { 53,-4098 }, + { 54,-4098 }, { 55,-4098 }, { 56,-4098 }, { 57,-4098 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-4098 }, { 66,-4098 }, { 67,-4098 }, { 68,-4098 }, + { 69,-4098 }, { 70,-4098 }, { 71,-5650 }, { 72,-5650 }, { 73,-5650 }, + { 74,-5650 }, { 75,-5650 }, { 76,-5650 }, { 77,-5650 }, { 78,-5650 }, + { 79,-5650 }, { 80,-5650 }, { 81,-5650 }, { 82,-5650 }, { 83,-5650 }, + { 84,-5650 }, { 85,-5650 }, { 86,-5650 }, { 87,-5650 }, { 88,-5650 }, + { 89,-5650 }, { 90,-5650 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-5650 }, { 0, 0 }, { 97,-4098 }, { 98,-4098 }, + { 99,-4098 }, { 100,-4098 }, { 101,-4098 }, { 102,-4098 }, { 103,-5650 }, + { 104,-5650 }, { 105,-5650 }, { 106,-5650 }, { 107,-5650 }, { 108,-5650 }, + + { 109,-5650 }, { 110,-5650 }, { 111,-5650 }, { 112,-5650 }, { 113,-5650 }, + { 114,-5650 }, { 115,-5650 }, { 116,-5650 }, { 117,-5650 }, { 118,-5650 }, + { 119,-5650 }, { 120,-5650 }, { 121,-5650 }, { 122,-5650 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-5650 }, + { 129,-5650 }, { 130,-5650 }, { 131,-5650 }, { 132,-5650 }, { 133,-5650 }, + { 134,-5650 }, { 135,-5650 }, { 136,-5650 }, { 137,-5650 }, { 138,-5650 }, + { 139,-5650 }, { 140,-5650 }, { 141,-5650 }, { 142,-5650 }, { 143,-5650 }, + { 144,-5650 }, { 145,-5650 }, { 146,-5650 }, { 147,-5650 }, { 148,-5650 }, + { 149,-5650 }, { 150,-5650 }, { 151,-5650 }, { 152,-5650 }, { 153,-5650 }, + { 154,-5650 }, { 155,-5650 }, { 156,-5650 }, { 157,-5650 }, { 158,-5650 }, + + { 159,-5650 }, { 160,-5650 }, { 161,-5650 }, { 162,-5650 }, { 163,-5650 }, + { 164,-5650 }, { 165,-5650 }, { 166,-5650 }, { 167,-5650 }, { 168,-5650 }, + { 169,-5650 }, { 170,-5650 }, { 171,-5650 }, { 172,-5650 }, { 173,-5650 }, + { 174,-5650 }, { 175,-5650 }, { 176,-5650 }, { 177,-5650 }, { 178,-5650 }, + { 179,-5650 }, { 180,-5650 }, { 181,-5650 }, { 182,-5650 }, { 183,-5650 }, + { 184,-5650 }, { 185,-5650 }, { 186,-5650 }, { 187,-5650 }, { 188,-5650 }, + { 189,-5650 }, { 190,-5650 }, { 191,-5650 }, { 192,-5650 }, { 193,-5650 }, + { 194,-5650 }, { 195,-5650 }, { 196,-5650 }, { 197,-5650 }, { 198,-5650 }, + { 199,-5650 }, { 200,-5650 }, { 201,-5650 }, { 202,-5650 }, { 203,-5650 }, + { 204,-5650 }, { 205,-5650 }, { 206,-5650 }, { 207,-5650 }, { 208,-5650 }, + + { 209,-5650 }, { 210,-5650 }, { 211,-5650 }, { 212,-5650 }, { 213,-5650 }, + { 214,-5650 }, { 215,-5650 }, { 216,-5650 }, { 217,-5650 }, { 218,-5650 }, + { 219,-5650 }, { 220,-5650 }, { 221,-5650 }, { 222,-5650 }, { 223,-5650 }, + { 224,-5650 }, { 225,-5650 }, { 226,-5650 }, { 227,-5650 }, { 228,-5650 }, + { 229,-5650 }, { 230,-5650 }, { 231,-5650 }, { 232,-5650 }, { 233,-5650 }, + { 234,-5650 }, { 235,-5650 }, { 236,-5650 }, { 237,-5650 }, { 238,-5650 }, + { 239,-5650 }, { 240,-5650 }, { 241,-5650 }, { 242,-5650 }, { 243,-5650 }, + { 244,-5650 }, { 245,-5650 }, { 246,-5650 }, { 247,-5650 }, { 248,-5650 }, + { 249,-5650 }, { 250,-5650 }, { 251,-5650 }, { 252,-5650 }, { 253,-5650 }, + { 254,-5650 }, { 255,-5650 }, { 0, 68 }, { 0,7474 }, { 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 }, + { 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 }, { 36,-5907 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,-5907 }, { 49,-5907 }, { 50,-5907 }, { 51,-5907 }, + + { 52,-5907 }, { 53,-5907 }, { 54,-5907 }, { 55,-5907 }, { 56,-5907 }, + { 57,-5907 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-5907 }, { 66,-5907 }, + { 67,-5907 }, { 68,-5907 }, { 69,-5907 }, { 70,-5907 }, { 71,-5907 }, + { 72,-5907 }, { 73,-5907 }, { 74,-5907 }, { 75,-5907 }, { 76,-5907 }, + { 77,-5907 }, { 78,-5907 }, { 79,-5907 }, { 80,-5907 }, { 81,-5907 }, + { 82,-5907 }, { 83,-5907 }, { 84,-5907 }, { 85,-5907 }, { 86,-5907 }, + { 87,-5907 }, { 88,-5907 }, { 89,-5907 }, { 90,-5907 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-5907 }, { 0, 0 }, + { 97,-5907 }, { 98,-5907 }, { 99,-5907 }, { 100,-5907 }, { 101,-5907 }, + + { 102,-5907 }, { 103,-5907 }, { 104,-5907 }, { 105,-5907 }, { 106,-5907 }, + { 107,-5907 }, { 108,-5907 }, { 109,-5907 }, { 110,-5907 }, { 111,-5907 }, + { 112,-5907 }, { 113,-5907 }, { 114,-5907 }, { 115,-5907 }, { 116,-5907 }, + { 117,-5907 }, { 118,-5907 }, { 119,-5907 }, { 120,-5907 }, { 121,-5907 }, + { 122,-5907 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-5907 }, { 129,-5907 }, { 130,-5907 }, { 131,-5907 }, + { 132,-5907 }, { 133,-5907 }, { 134,-5907 }, { 135,-5907 }, { 136,-5907 }, + { 137,-5907 }, { 138,-5907 }, { 139,-5907 }, { 140,-5907 }, { 141,-5907 }, + { 142,-5907 }, { 143,-5907 }, { 144,-5907 }, { 145,-5907 }, { 146,-5907 }, + { 147,-5907 }, { 148,-5907 }, { 149,-5907 }, { 150,-5907 }, { 151,-5907 }, + + { 152,-5907 }, { 153,-5907 }, { 154,-5907 }, { 155,-5907 }, { 156,-5907 }, + { 157,-5907 }, { 158,-5907 }, { 159,-5907 }, { 160,-5907 }, { 161,-5907 }, + { 162,-5907 }, { 163,-5907 }, { 164,-5907 }, { 165,-5907 }, { 166,-5907 }, + { 167,-5907 }, { 168,-5907 }, { 169,-5907 }, { 170,-5907 }, { 171,-5907 }, + { 172,-5907 }, { 173,-5907 }, { 174,-5907 }, { 175,-5907 }, { 176,-5907 }, + { 177,-5907 }, { 178,-5907 }, { 179,-5907 }, { 180,-5907 }, { 181,-5907 }, + { 182,-5907 }, { 183,-5907 }, { 184,-5907 }, { 185,-5907 }, { 186,-5907 }, + { 187,-5907 }, { 188,-5907 }, { 189,-5907 }, { 190,-5907 }, { 191,-5907 }, + { 192,-5907 }, { 193,-5907 }, { 194,-5907 }, { 195,-5907 }, { 196,-5907 }, + { 197,-5907 }, { 198,-5907 }, { 199,-5907 }, { 200,-5907 }, { 201,-5907 }, + + { 202,-5907 }, { 203,-5907 }, { 204,-5907 }, { 205,-5907 }, { 206,-5907 }, + { 207,-5907 }, { 208,-5907 }, { 209,-5907 }, { 210,-5907 }, { 211,-5907 }, + { 212,-5907 }, { 213,-5907 }, { 214,-5907 }, { 215,-5907 }, { 216,-5907 }, + { 217,-5907 }, { 218,-5907 }, { 219,-5907 }, { 220,-5907 }, { 221,-5907 }, + { 222,-5907 }, { 223,-5907 }, { 224,-5907 }, { 225,-5907 }, { 226,-5907 }, + { 227,-5907 }, { 228,-5907 }, { 229,-5907 }, { 230,-5907 }, { 231,-5907 }, + { 232,-5907 }, { 233,-5907 }, { 234,-5907 }, { 235,-5907 }, { 236,-5907 }, + { 237,-5907 }, { 238,-5907 }, { 239,-5907 }, { 240,-5907 }, { 241,-5907 }, + { 242,-5907 }, { 243,-5907 }, { 244,-5907 }, { 245,-5907 }, { 246,-5907 }, + { 247,-5907 }, { 248,-5907 }, { 249,-5907 }, { 250,-5907 }, { 251,-5907 }, + + { 252,-5907 }, { 253,-5907 }, { 254,-5907 }, { 255,-5907 }, { 0, 68 }, + { 0,7217 }, { 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 }, { 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 }, { 36,-6164 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,-5393 }, { 0, 0 }, + + { 45,-5393 }, { 0, 0 }, { 0, 0 }, { 48,-5383 }, { 49,-5383 }, + { 50,-5383 }, { 51,-5383 }, { 52,-5383 }, { 53,-5383 }, { 54,-5383 }, + { 55,-5383 }, { 56,-5383 }, { 57,-5383 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-6164 }, { 66,-6164 }, { 67,-6164 }, { 68,-6164 }, { 69,-6164 }, + { 70,-6164 }, { 71,-6164 }, { 72,-6164 }, { 73,-6164 }, { 74,-6164 }, + { 75,-6164 }, { 76,-6164 }, { 77,-6164 }, { 78,-6164 }, { 79,-6164 }, + { 80,-6164 }, { 81,-6164 }, { 82,-6164 }, { 83,-6164 }, { 84,-6164 }, + { 85,-6164 }, { 86,-6164 }, { 87,-6164 }, { 88,-6164 }, { 89,-6164 }, + { 90,-6164 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 95,-6164 }, { 0, 0 }, { 97,-6164 }, { 98,-6164 }, { 99,-6164 }, + { 100,-6164 }, { 101,-6164 }, { 102,-6164 }, { 103,-6164 }, { 104,-6164 }, + { 105,-6164 }, { 106,-6164 }, { 107,-6164 }, { 108,-6164 }, { 109,-6164 }, + { 110,-6164 }, { 111,-6164 }, { 112,-6164 }, { 113,-6164 }, { 114,-6164 }, + { 115,-6164 }, { 116,-6164 }, { 117,-6164 }, { 118,-6164 }, { 119,-6164 }, + { 120,-6164 }, { 121,-6164 }, { 122,-6164 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-6164 }, { 129,-6164 }, + { 130,-6164 }, { 131,-6164 }, { 132,-6164 }, { 133,-6164 }, { 134,-6164 }, + { 135,-6164 }, { 136,-6164 }, { 137,-6164 }, { 138,-6164 }, { 139,-6164 }, + { 140,-6164 }, { 141,-6164 }, { 142,-6164 }, { 143,-6164 }, { 144,-6164 }, + + { 145,-6164 }, { 146,-6164 }, { 147,-6164 }, { 148,-6164 }, { 149,-6164 }, + { 150,-6164 }, { 151,-6164 }, { 152,-6164 }, { 153,-6164 }, { 154,-6164 }, + { 155,-6164 }, { 156,-6164 }, { 157,-6164 }, { 158,-6164 }, { 159,-6164 }, + { 160,-6164 }, { 161,-6164 }, { 162,-6164 }, { 163,-6164 }, { 164,-6164 }, + { 165,-6164 }, { 166,-6164 }, { 167,-6164 }, { 168,-6164 }, { 169,-6164 }, + { 170,-6164 }, { 171,-6164 }, { 172,-6164 }, { 173,-6164 }, { 174,-6164 }, + { 175,-6164 }, { 176,-6164 }, { 177,-6164 }, { 178,-6164 }, { 179,-6164 }, + { 180,-6164 }, { 181,-6164 }, { 182,-6164 }, { 183,-6164 }, { 184,-6164 }, + { 185,-6164 }, { 186,-6164 }, { 187,-6164 }, { 188,-6164 }, { 189,-6164 }, + { 190,-6164 }, { 191,-6164 }, { 192,-6164 }, { 193,-6164 }, { 194,-6164 }, + + { 195,-6164 }, { 196,-6164 }, { 197,-6164 }, { 198,-6164 }, { 199,-6164 }, + { 200,-6164 }, { 201,-6164 }, { 202,-6164 }, { 203,-6164 }, { 204,-6164 }, + { 205,-6164 }, { 206,-6164 }, { 207,-6164 }, { 208,-6164 }, { 209,-6164 }, + { 210,-6164 }, { 211,-6164 }, { 212,-6164 }, { 213,-6164 }, { 214,-6164 }, + { 215,-6164 }, { 216,-6164 }, { 217,-6164 }, { 218,-6164 }, { 219,-6164 }, + { 220,-6164 }, { 221,-6164 }, { 222,-6164 }, { 223,-6164 }, { 224,-6164 }, + { 225,-6164 }, { 226,-6164 }, { 227,-6164 }, { 228,-6164 }, { 229,-6164 }, + { 230,-6164 }, { 231,-6164 }, { 232,-6164 }, { 233,-6164 }, { 234,-6164 }, + { 235,-6164 }, { 236,-6164 }, { 237,-6164 }, { 238,-6164 }, { 239,-6164 }, + { 240,-6164 }, { 241,-6164 }, { 242,-6164 }, { 243,-6164 }, { 244,-6164 }, + + { 245,-6164 }, { 246,-6164 }, { 247,-6164 }, { 248,-6164 }, { 249,-6164 }, + { 250,-6164 }, { 251,-6164 }, { 252,-6164 }, { 253,-6164 }, { 254,-6164 }, + { 255,-6164 }, { 0, 68 }, { 0,6960 }, { 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 }, { 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 }, { 36,-6421 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-4355 }, { 49,-4355 }, { 50,-4355 }, { 51,-4355 }, { 52,-4355 }, + { 53,-4355 }, { 54,-4355 }, { 55,-4355 }, { 56,-4355 }, { 57,-4355 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-6421 }, { 66,-6421 }, { 67,-6421 }, + { 68,-6421 }, { 69,-6421 }, { 70,-6421 }, { 71,-6421 }, { 72,-6421 }, + { 73,-6421 }, { 74,-6421 }, { 75,-6421 }, { 76,-6421 }, { 77,-6421 }, + { 78,-6421 }, { 79,-6421 }, { 80,-6421 }, { 81,-6421 }, { 82,-6421 }, + { 83,-6421 }, { 84,-6421 }, { 85,-6421 }, { 86,-6421 }, { 87,-6421 }, + + { 88,-6421 }, { 89,-6421 }, { 90,-6421 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-6421 }, { 0, 0 }, { 97,-6421 }, + { 98,-6421 }, { 99,-6421 }, { 100,-6421 }, { 101,-6421 }, { 102,-6421 }, + { 103,-6421 }, { 104,-6421 }, { 105,-6421 }, { 106,-6421 }, { 107,-6421 }, + { 108,-6421 }, { 109,-6421 }, { 110,-6421 }, { 111,-6421 }, { 112,-6421 }, + { 113,-6421 }, { 114,-6421 }, { 115,-6421 }, { 116,-6421 }, { 117,-6421 }, + { 118,-6421 }, { 119,-6421 }, { 120,-6421 }, { 121,-6421 }, { 122,-6421 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 72 }, { 0,4015 }, { 0, 0 }, + { 128,-6421 }, { 129,-6421 }, { 130,-6421 }, { 131,-6421 }, { 132,-6421 }, + { 133,-6421 }, { 134,-6421 }, { 135,-6421 }, { 136,-6421 }, { 137,-6421 }, + + { 138,-6421 }, { 139,-6421 }, { 140,-6421 }, { 141,-6421 }, { 142,-6421 }, + { 143,-6421 }, { 144,-6421 }, { 145,-6421 }, { 146,-6421 }, { 147,-6421 }, + { 148,-6421 }, { 149,-6421 }, { 150,-6421 }, { 151,-6421 }, { 152,-6421 }, + { 153,-6421 }, { 154,-6421 }, { 155,-6421 }, { 156,-6421 }, { 157,-6421 }, + { 158,-6421 }, { 159,-6421 }, { 160,-6421 }, { 161,-6421 }, { 162,-6421 }, + { 163,-6421 }, { 164,-6421 }, { 165,-6421 }, { 166,-6421 }, { 167,-6421 }, + { 168,-6421 }, { 169,-6421 }, { 170,-6421 }, { 171,-6421 }, { 172,-6421 }, + { 173,-6421 }, { 174,-6421 }, { 175,-6421 }, { 176,-6421 }, { 177,-6421 }, + { 178,-6421 }, { 179,-6421 }, { 180,-6421 }, { 181,-6421 }, { 182,-6421 }, + { 183,-6421 }, { 184,-6421 }, { 185,-6421 }, { 186,-6421 }, { 187,-6421 }, + + { 188,-6421 }, { 189,-6421 }, { 190,-6421 }, { 191,-6421 }, { 192,-6421 }, + { 193,-6421 }, { 194,-6421 }, { 195,-6421 }, { 196,-6421 }, { 197,-6421 }, + { 198,-6421 }, { 199,-6421 }, { 200,-6421 }, { 201,-6421 }, { 202,-6421 }, + { 203,-6421 }, { 204,-6421 }, { 205,-6421 }, { 206,-6421 }, { 207,-6421 }, + { 208,-6421 }, { 209,-6421 }, { 210,-6421 }, { 211,-6421 }, { 212,-6421 }, + { 213,-6421 }, { 214,-6421 }, { 215,-6421 }, { 216,-6421 }, { 217,-6421 }, + { 218,-6421 }, { 219,-6421 }, { 220,-6421 }, { 221,-6421 }, { 222,-6421 }, + { 223,-6421 }, { 224,-6421 }, { 225,-6421 }, { 226,-6421 }, { 227,-6421 }, + { 228,-6421 }, { 229,-6421 }, { 230,-6421 }, { 231,-6421 }, { 232,-6421 }, + { 233,-6421 }, { 234,-6421 }, { 235,-6421 }, { 236,-6421 }, { 237,-6421 }, + + { 238,-6421 }, { 239,-6421 }, { 240,-6421 }, { 241,-6421 }, { 242,-6421 }, + { 243,-6421 }, { 244,-6421 }, { 245,-6421 }, { 246,-6421 }, { 247,-6421 }, + { 248,-6421 }, { 249,-6421 }, { 250,-6421 }, { 251,-6421 }, { 252,-6421 }, + { 253,-6421 }, { 254,-6421 }, { 255,-6421 }, { 0, 28 }, { 0,6703 }, + { 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 }, { 0, 28 }, { 0,6680 }, { 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 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,3227 }, { 49,3227 }, { 50,3227 }, + { 51,3227 }, { 52,3227 }, { 53,3227 }, { 54,3227 }, { 55,3227 }, + { 56,3227 }, { 57,3227 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, + { 0,6642 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3227 }, + { 66,3227 }, { 67,3227 }, { 68,3227 }, { 69,3227 }, { 70,3227 }, + { 48,3227 }, { 49,3227 }, { 50,3227 }, { 51,3227 }, { 52,3227 }, + { 53,3227 }, { 54,3227 }, { 55,3227 }, { 56,3227 }, { 57,3227 }, + + { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,6619 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3227 }, { 66,3227 }, { 67,3227 }, + { 68,3227 }, { 69,3227 }, { 70,3227 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,3227 }, { 98,3227 }, { 99,3227 }, { 100,3227 }, + { 101,3227 }, { 102,3227 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3227 }, { 49,3227 }, + { 50,3227 }, { 51,3227 }, { 52,3227 }, { 53,3227 }, { 54,3227 }, + { 55,3227 }, { 56,3227 }, { 57,3227 }, { 0, 0 }, { 97,3227 }, + { 98,3227 }, { 99,3227 }, { 100,3227 }, { 101,3227 }, { 102,3227 }, + { 65,3227 }, { 66,3227 }, { 67,3227 }, { 68,3227 }, { 69,3227 }, + + { 70,3227 }, { 48,3227 }, { 49,3227 }, { 50,3227 }, { 51,3227 }, + { 52,3227 }, { 53,3227 }, { 54,3227 }, { 55,3227 }, { 56,3227 }, + { 57,3227 }, { 0, 66 }, { 0,6560 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3227 }, { 66,3227 }, + { 67,3227 }, { 68,3227 }, { 69,3227 }, { 70,3227 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,3227 }, { 98,3227 }, { 99,3227 }, + { 100,3227 }, { 101,3227 }, { 102,3227 }, { 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 }, { 36,-3998 }, { 0, 0 }, + { 97,3227 }, { 98,3227 }, { 99,3227 }, { 100,3227 }, { 101,3227 }, + { 102,3227 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 3 }, { 0,3990 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 257 }, { 66, 257 }, { 67, 257 }, + { 68, 257 }, { 69, 257 }, { 70, 257 }, { 71, 257 }, { 72, 257 }, + { 73, 257 }, { 74, 257 }, { 75, 257 }, { 76, 257 }, { 77, 257 }, + { 78, 257 }, { 79, 257 }, { 80, 257 }, { 81, 257 }, { 82, 257 }, + { 83, 257 }, { 84, 257 }, { 85, 257 }, { 86, 257 }, { 87, 257 }, + + { 88, 257 }, { 89, 257 }, { 90, 257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 514 }, { 0, 0 }, { 97, 257 }, + { 98, 257 }, { 99, 257 }, { 100, 257 }, { 101, 257 }, { 102, 257 }, + { 103, 257 }, { 104, 257 }, { 105, 257 }, { 106, 257 }, { 107, 257 }, + { 108, 257 }, { 109, 257 }, { 110, 257 }, { 111, 257 }, { 112, 257 }, + { 113, 257 }, { 114, 257 }, { 115, 257 }, { 116, 257 }, { 117, 257 }, + { 118, 257 }, { 119, 257 }, { 120, 257 }, { 121, 257 }, { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 43, 360 }, { 0, 0 }, { 45, 360 }, { 0, 0 }, - { 0, 0 }, { 48, 615 }, { 49, 615 }, { 50, 615 }, { 51, 615 }, - { 52, 615 }, { 53, 615 }, { 54, 615 }, { 55, 615 }, { 56, 615 }, - { 57, 615 }, { 48,-267 }, { 49,-267 }, { 50,-267 }, { 51,-267 }, - { 52,-267 }, { 53,-267 }, { 54,-267 }, { 55,-267 }, { 56,-267 }, - { 57,-267 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, - { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128, 257 }, { 129, 257 }, { 130, 257 }, { 131, 257 }, { 132, 257 }, + { 133, 257 }, { 134, 257 }, { 135, 257 }, { 136, 257 }, { 137, 257 }, + + { 138, 257 }, { 139, 257 }, { 140, 257 }, { 141, 257 }, { 142, 257 }, + { 143, 257 }, { 144, 257 }, { 145, 257 }, { 146, 257 }, { 147, 257 }, + { 148, 257 }, { 149, 257 }, { 150, 257 }, { 151, 257 }, { 152, 257 }, + { 153, 257 }, { 154, 257 }, { 155, 257 }, { 156, 257 }, { 157, 257 }, + { 158, 257 }, { 159, 257 }, { 160, 257 }, { 161, 257 }, { 162, 257 }, + { 163, 257 }, { 164, 257 }, { 165, 257 }, { 166, 257 }, { 167, 257 }, + { 168, 257 }, { 169, 257 }, { 170, 257 }, { 171, 257 }, { 172, 257 }, + { 173, 257 }, { 174, 257 }, { 175, 257 }, { 176, 257 }, { 177, 257 }, + { 178, 257 }, { 179, 257 }, { 180, 257 }, { 181, 257 }, { 182, 257 }, + { 183, 257 }, { 184, 257 }, { 185, 257 }, { 186, 257 }, { 187, 257 }, + + { 188, 257 }, { 189, 257 }, { 190, 257 }, { 191, 257 }, { 192, 257 }, + { 193, 257 }, { 194, 257 }, { 195, 257 }, { 196, 257 }, { 197, 257 }, + { 198, 257 }, { 199, 257 }, { 200, 257 }, { 201, 257 }, { 202, 257 }, + { 203, 257 }, { 204, 257 }, { 205, 257 }, { 206, 257 }, { 207, 257 }, + { 208, 257 }, { 209, 257 }, { 210, 257 }, { 211, 257 }, { 212, 257 }, + { 213, 257 }, { 214, 257 }, { 215, 257 }, { 216, 257 }, { 217, 257 }, + { 218, 257 }, { 219, 257 }, { 220, 257 }, { 221, 257 }, { 222, 257 }, + { 223, 257 }, { 224, 257 }, { 225, 257 }, { 226, 257 }, { 227, 257 }, + { 228, 257 }, { 229, 257 }, { 230, 257 }, { 231, 257 }, { 232, 257 }, + { 233, 257 }, { 234, 257 }, { 235, 257 }, { 236, 257 }, { 237, 257 }, + + { 238, 257 }, { 239, 257 }, { 240, 257 }, { 241, 257 }, { 242, 257 }, + { 243, 257 }, { 244, 257 }, { 245, 257 }, { 246, 257 }, { 247, 257 }, + { 248, 257 }, { 249, 257 }, { 250, 257 }, { 251, 257 }, { 252, 257 }, + { 253, 257 }, { 254, 257 }, { 255, 257 }, { 0, 69 }, { 0,6303 }, + { 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 }, { 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 }, + { 36,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,2970 }, { 49,2970 }, { 50,2970 }, + { 51,2970 }, { 52,2970 }, { 53,2970 }, { 54,2970 }, { 55,2970 }, + { 56,2970 }, { 57,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,2970 }, + { 66,2970 }, { 67,2970 }, { 68,2970 }, { 69,2970 }, { 70,2970 }, + { 71,2970 }, { 72,2970 }, { 73,2970 }, { 74,2970 }, { 75,2970 }, + { 76,2970 }, { 77,2970 }, { 78,2970 }, { 79,2970 }, { 80,2970 }, + + { 81,2970 }, { 82,2970 }, { 83,2970 }, { 84,2970 }, { 85,2970 }, + { 86,2970 }, { 87,2970 }, { 88,2970 }, { 89,2970 }, { 90,2970 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2970 }, + { 0, 0 }, { 97,2970 }, { 98,2970 }, { 99,2970 }, { 100,2970 }, + { 101,2970 }, { 102,2970 }, { 103,2970 }, { 104,2970 }, { 105,2970 }, + { 106,2970 }, { 107,2970 }, { 108,2970 }, { 109,2970 }, { 110,2970 }, + { 111,2970 }, { 112,2970 }, { 113,2970 }, { 114,2970 }, { 115,2970 }, + { 116,2970 }, { 117,2970 }, { 118,2970 }, { 119,2970 }, { 120,2970 }, + { 121,2970 }, { 122,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,2970 }, { 129,2970 }, { 130,2970 }, + + { 131,2970 }, { 132,2970 }, { 133,2970 }, { 134,2970 }, { 135,2970 }, + { 136,2970 }, { 137,2970 }, { 138,2970 }, { 139,2970 }, { 140,2970 }, + { 141,2970 }, { 142,2970 }, { 143,2970 }, { 144,2970 }, { 145,2970 }, + { 146,2970 }, { 147,2970 }, { 148,2970 }, { 149,2970 }, { 150,2970 }, + { 151,2970 }, { 152,2970 }, { 153,2970 }, { 154,2970 }, { 155,2970 }, + { 156,2970 }, { 157,2970 }, { 158,2970 }, { 159,2970 }, { 160,2970 }, + { 161,2970 }, { 162,2970 }, { 163,2970 }, { 164,2970 }, { 165,2970 }, + { 166,2970 }, { 167,2970 }, { 168,2970 }, { 169,2970 }, { 170,2970 }, + { 171,2970 }, { 172,2970 }, { 173,2970 }, { 174,2970 }, { 175,2970 }, + { 176,2970 }, { 177,2970 }, { 178,2970 }, { 179,2970 }, { 180,2970 }, + + { 181,2970 }, { 182,2970 }, { 183,2970 }, { 184,2970 }, { 185,2970 }, + { 186,2970 }, { 187,2970 }, { 188,2970 }, { 189,2970 }, { 190,2970 }, + { 191,2970 }, { 192,2970 }, { 193,2970 }, { 194,2970 }, { 195,2970 }, + { 196,2970 }, { 197,2970 }, { 198,2970 }, { 199,2970 }, { 200,2970 }, + { 201,2970 }, { 202,2970 }, { 203,2970 }, { 204,2970 }, { 205,2970 }, + { 206,2970 }, { 207,2970 }, { 208,2970 }, { 209,2970 }, { 210,2970 }, + { 211,2970 }, { 212,2970 }, { 213,2970 }, { 214,2970 }, { 215,2970 }, + { 216,2970 }, { 217,2970 }, { 218,2970 }, { 219,2970 }, { 220,2970 }, + { 221,2970 }, { 222,2970 }, { 223,2970 }, { 224,2970 }, { 225,2970 }, + { 226,2970 }, { 227,2970 }, { 228,2970 }, { 229,2970 }, { 230,2970 }, + + { 231,2970 }, { 232,2970 }, { 233,2970 }, { 234,2970 }, { 235,2970 }, + { 236,2970 }, { 237,2970 }, { 238,2970 }, { 239,2970 }, { 240,2970 }, + { 241,2970 }, { 242,2970 }, { 243,2970 }, { 244,2970 }, { 245,2970 }, + { 246,2970 }, { 247,2970 }, { 248,2970 }, { 249,2970 }, { 250,2970 }, + { 251,2970 }, { 252,2970 }, { 253,2970 }, { 254,2970 }, { 255,2970 }, + { 0, 69 }, { 0,6046 }, { 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 }, { 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 }, { 36,2713 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2970 }, + { 49,2970 }, { 50,2970 }, { 51,2970 }, { 52,2970 }, { 53,2970 }, + { 54,2970 }, { 55,2970 }, { 56,2970 }, { 57,2970 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,2713 }, { 66,2713 }, { 67,2713 }, { 68,2713 }, + { 69,2713 }, { 70,2713 }, { 71,2713 }, { 72,2713 }, { 73,2713 }, + + { 74,2713 }, { 75,2713 }, { 76,2713 }, { 77,2713 }, { 78,2713 }, + { 79,2713 }, { 80,2713 }, { 81,2713 }, { 82,2713 }, { 83,2713 }, + { 84,2713 }, { 85,2713 }, { 86,2713 }, { 87,2713 }, { 88,2713 }, + { 89,2713 }, { 90,2713 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,2713 }, { 0, 0 }, { 97,2713 }, { 98,2713 }, + { 99,2713 }, { 100,2713 }, { 101,2713 }, { 102,2713 }, { 103,2713 }, + { 104,2713 }, { 105,2713 }, { 106,2713 }, { 107,2713 }, { 108,2713 }, + { 109,2713 }, { 110,2713 }, { 111,2713 }, { 112,2713 }, { 113,2713 }, + { 114,2713 }, { 115,2713 }, { 116,2713 }, { 117,2713 }, { 118,2713 }, + { 119,2713 }, { 120,2713 }, { 121,2713 }, { 122,2713 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,2713 }, + { 129,2713 }, { 130,2713 }, { 131,2713 }, { 132,2713 }, { 133,2713 }, + { 134,2713 }, { 135,2713 }, { 136,2713 }, { 137,2713 }, { 138,2713 }, + { 139,2713 }, { 140,2713 }, { 141,2713 }, { 142,2713 }, { 143,2713 }, + { 144,2713 }, { 145,2713 }, { 146,2713 }, { 147,2713 }, { 148,2713 }, + { 149,2713 }, { 150,2713 }, { 151,2713 }, { 152,2713 }, { 153,2713 }, + { 154,2713 }, { 155,2713 }, { 156,2713 }, { 157,2713 }, { 158,2713 }, + { 159,2713 }, { 160,2713 }, { 161,2713 }, { 162,2713 }, { 163,2713 }, + { 164,2713 }, { 165,2713 }, { 166,2713 }, { 167,2713 }, { 168,2713 }, + { 169,2713 }, { 170,2713 }, { 171,2713 }, { 172,2713 }, { 173,2713 }, + + { 174,2713 }, { 175,2713 }, { 176,2713 }, { 177,2713 }, { 178,2713 }, + { 179,2713 }, { 180,2713 }, { 181,2713 }, { 182,2713 }, { 183,2713 }, + { 184,2713 }, { 185,2713 }, { 186,2713 }, { 187,2713 }, { 188,2713 }, + { 189,2713 }, { 190,2713 }, { 191,2713 }, { 192,2713 }, { 193,2713 }, + { 194,2713 }, { 195,2713 }, { 196,2713 }, { 197,2713 }, { 198,2713 }, + { 199,2713 }, { 200,2713 }, { 201,2713 }, { 202,2713 }, { 203,2713 }, + { 204,2713 }, { 205,2713 }, { 206,2713 }, { 207,2713 }, { 208,2713 }, + { 209,2713 }, { 210,2713 }, { 211,2713 }, { 212,2713 }, { 213,2713 }, + { 214,2713 }, { 215,2713 }, { 216,2713 }, { 217,2713 }, { 218,2713 }, + { 219,2713 }, { 220,2713 }, { 221,2713 }, { 222,2713 }, { 223,2713 }, + + { 224,2713 }, { 225,2713 }, { 226,2713 }, { 227,2713 }, { 228,2713 }, + { 229,2713 }, { 230,2713 }, { 231,2713 }, { 232,2713 }, { 233,2713 }, + { 234,2713 }, { 235,2713 }, { 236,2713 }, { 237,2713 }, { 238,2713 }, + { 239,2713 }, { 240,2713 }, { 241,2713 }, { 242,2713 }, { 243,2713 }, + { 244,2713 }, { 245,2713 }, { 246,2713 }, { 247,2713 }, { 248,2713 }, + { 249,2713 }, { 250,2713 }, { 251,2713 }, { 252,2713 }, { 253,2713 }, + { 254,2713 }, { 255,2713 }, { 0, 69 }, { 0,5789 }, { 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 }, + { 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 }, { 36,-4769 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,-4769 }, { 49,-4769 }, { 50,-4769 }, { 51,-4769 }, + { 52,-4769 }, { 53,-4769 }, { 54,-4769 }, { 55,-4769 }, { 56,-4769 }, + { 57,-4769 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-4769 }, { 66,-4769 }, + + { 67,-4769 }, { 68,-4769 }, { 69,-4769 }, { 70,-4769 }, { 71,-4769 }, + { 72,-4769 }, { 73,-4769 }, { 74,-4769 }, { 75,-4769 }, { 76,-4769 }, + { 77,-4769 }, { 78,-4769 }, { 79,-4769 }, { 80,-4769 }, { 81,-4769 }, + { 82,-4769 }, { 83,-4769 }, { 84,-4769 }, { 85,-4769 }, { 86,-4769 }, + { 87,-4769 }, { 88,-4769 }, { 89,-4769 }, { 90,-4769 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-4769 }, { 0, 0 }, + { 97,-4769 }, { 98,-4769 }, { 99,-4769 }, { 100,-4769 }, { 101,-4769 }, + { 102,-4769 }, { 103,-4769 }, { 104,-4769 }, { 105,-4769 }, { 106,-4769 }, + { 107,-4769 }, { 108,-4769 }, { 109,-4769 }, { 110,-4769 }, { 111,-4769 }, + { 112,-4769 }, { 113,-4769 }, { 114,-4769 }, { 115,-4769 }, { 116,-4769 }, + + { 117,-4769 }, { 118,-4769 }, { 119,-4769 }, { 120,-4769 }, { 121,-4769 }, + { 122,-4769 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-4769 }, { 129,-4769 }, { 130,-4769 }, { 131,-4769 }, + { 132,-4769 }, { 133,-4769 }, { 134,-4769 }, { 135,-4769 }, { 136,-4769 }, + { 137,-4769 }, { 138,-4769 }, { 139,-4769 }, { 140,-4769 }, { 141,-4769 }, + { 142,-4769 }, { 143,-4769 }, { 144,-4769 }, { 145,-4769 }, { 146,-4769 }, + { 147,-4769 }, { 148,-4769 }, { 149,-4769 }, { 150,-4769 }, { 151,-4769 }, + { 152,-4769 }, { 153,-4769 }, { 154,-4769 }, { 155,-4769 }, { 156,-4769 }, + { 157,-4769 }, { 158,-4769 }, { 159,-4769 }, { 160,-4769 }, { 161,-4769 }, + { 162,-4769 }, { 163,-4769 }, { 164,-4769 }, { 165,-4769 }, { 166,-4769 }, + + { 167,-4769 }, { 168,-4769 }, { 169,-4769 }, { 170,-4769 }, { 171,-4769 }, + { 172,-4769 }, { 173,-4769 }, { 174,-4769 }, { 175,-4769 }, { 176,-4769 }, + { 177,-4769 }, { 178,-4769 }, { 179,-4769 }, { 180,-4769 }, { 181,-4769 }, + { 182,-4769 }, { 183,-4769 }, { 184,-4769 }, { 185,-4769 }, { 186,-4769 }, + { 187,-4769 }, { 188,-4769 }, { 189,-4769 }, { 190,-4769 }, { 191,-4769 }, + { 192,-4769 }, { 193,-4769 }, { 194,-4769 }, { 195,-4769 }, { 196,-4769 }, + { 197,-4769 }, { 198,-4769 }, { 199,-4769 }, { 200,-4769 }, { 201,-4769 }, + { 202,-4769 }, { 203,-4769 }, { 204,-4769 }, { 205,-4769 }, { 206,-4769 }, + { 207,-4769 }, { 208,-4769 }, { 209,-4769 }, { 210,-4769 }, { 211,-4769 }, + { 212,-4769 }, { 213,-4769 }, { 214,-4769 }, { 215,-4769 }, { 216,-4769 }, + + { 217,-4769 }, { 218,-4769 }, { 219,-4769 }, { 220,-4769 }, { 221,-4769 }, + { 222,-4769 }, { 223,-4769 }, { 224,-4769 }, { 225,-4769 }, { 226,-4769 }, + { 227,-4769 }, { 228,-4769 }, { 229,-4769 }, { 230,-4769 }, { 231,-4769 }, + { 232,-4769 }, { 233,-4769 }, { 234,-4769 }, { 235,-4769 }, { 236,-4769 }, + { 237,-4769 }, { 238,-4769 }, { 239,-4769 }, { 240,-4769 }, { 241,-4769 }, + { 242,-4769 }, { 243,-4769 }, { 244,-4769 }, { 245,-4769 }, { 246,-4769 }, + { 247,-4769 }, { 248,-4769 }, { 249,-4769 }, { 250,-4769 }, { 251,-4769 }, + { 252,-4769 }, { 253,-4769 }, { 254,-4769 }, { 255,-4769 }, { 0, 69 }, + { 0,5532 }, { 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 }, { 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 }, { 36,-5026 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,-7078 }, { 0, 0 }, + { 45,-7078 }, { 0, 0 }, { 0, 0 }, { 48,-4769 }, { 49,-4769 }, + { 50,-4769 }, { 51,-4769 }, { 52,-4769 }, { 53,-4769 }, { 54,-4769 }, + { 55,-4769 }, { 56,-4769 }, { 57,-4769 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-5026 }, { 66,-5026 }, { 67,-5026 }, { 68,-5026 }, { 69,-5026 }, + { 70,-5026 }, { 71,-5026 }, { 72,-5026 }, { 73,-5026 }, { 74,-5026 }, + { 75,-5026 }, { 76,-5026 }, { 77,-5026 }, { 78,-5026 }, { 79,-5026 }, + { 80,-5026 }, { 81,-5026 }, { 82,-5026 }, { 83,-5026 }, { 84,-5026 }, + { 85,-5026 }, { 86,-5026 }, { 87,-5026 }, { 88,-5026 }, { 89,-5026 }, + { 90,-5026 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-5026 }, { 0, 0 }, { 97,-5026 }, { 98,-5026 }, { 99,-5026 }, + { 100,-5026 }, { 101,-5026 }, { 102,-5026 }, { 103,-5026 }, { 104,-5026 }, + { 105,-5026 }, { 106,-5026 }, { 107,-5026 }, { 108,-5026 }, { 109,-5026 }, + + { 110,-5026 }, { 111,-5026 }, { 112,-5026 }, { 113,-5026 }, { 114,-5026 }, + { 115,-5026 }, { 116,-5026 }, { 117,-5026 }, { 118,-5026 }, { 119,-5026 }, + { 120,-5026 }, { 121,-5026 }, { 122,-5026 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-5026 }, { 129,-5026 }, + { 130,-5026 }, { 131,-5026 }, { 132,-5026 }, { 133,-5026 }, { 134,-5026 }, + { 135,-5026 }, { 136,-5026 }, { 137,-5026 }, { 138,-5026 }, { 139,-5026 }, + { 140,-5026 }, { 141,-5026 }, { 142,-5026 }, { 143,-5026 }, { 144,-5026 }, + { 145,-5026 }, { 146,-5026 }, { 147,-5026 }, { 148,-5026 }, { 149,-5026 }, + { 150,-5026 }, { 151,-5026 }, { 152,-5026 }, { 153,-5026 }, { 154,-5026 }, + { 155,-5026 }, { 156,-5026 }, { 157,-5026 }, { 158,-5026 }, { 159,-5026 }, + + { 160,-5026 }, { 161,-5026 }, { 162,-5026 }, { 163,-5026 }, { 164,-5026 }, + { 165,-5026 }, { 166,-5026 }, { 167,-5026 }, { 168,-5026 }, { 169,-5026 }, + { 170,-5026 }, { 171,-5026 }, { 172,-5026 }, { 173,-5026 }, { 174,-5026 }, + { 175,-5026 }, { 176,-5026 }, { 177,-5026 }, { 178,-5026 }, { 179,-5026 }, + { 180,-5026 }, { 181,-5026 }, { 182,-5026 }, { 183,-5026 }, { 184,-5026 }, + { 185,-5026 }, { 186,-5026 }, { 187,-5026 }, { 188,-5026 }, { 189,-5026 }, + { 190,-5026 }, { 191,-5026 }, { 192,-5026 }, { 193,-5026 }, { 194,-5026 }, + { 195,-5026 }, { 196,-5026 }, { 197,-5026 }, { 198,-5026 }, { 199,-5026 }, + { 200,-5026 }, { 201,-5026 }, { 202,-5026 }, { 203,-5026 }, { 204,-5026 }, + { 205,-5026 }, { 206,-5026 }, { 207,-5026 }, { 208,-5026 }, { 209,-5026 }, + + { 210,-5026 }, { 211,-5026 }, { 212,-5026 }, { 213,-5026 }, { 214,-5026 }, + { 215,-5026 }, { 216,-5026 }, { 217,-5026 }, { 218,-5026 }, { 219,-5026 }, + { 220,-5026 }, { 221,-5026 }, { 222,-5026 }, { 223,-5026 }, { 224,-5026 }, + { 225,-5026 }, { 226,-5026 }, { 227,-5026 }, { 228,-5026 }, { 229,-5026 }, + { 230,-5026 }, { 231,-5026 }, { 232,-5026 }, { 233,-5026 }, { 234,-5026 }, + { 235,-5026 }, { 236,-5026 }, { 237,-5026 }, { 238,-5026 }, { 239,-5026 }, + { 240,-5026 }, { 241,-5026 }, { 242,-5026 }, { 243,-5026 }, { 244,-5026 }, + { 245,-5026 }, { 246,-5026 }, { 247,-5026 }, { 248,-5026 }, { 249,-5026 }, + { 250,-5026 }, { 251,-5026 }, { 252,-5026 }, { 253,-5026 }, { 254,-5026 }, + { 255,-5026 }, { 0, 69 }, { 0,5275 }, { 0, 0 }, { 0, 0 }, - { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, { 0, 0 }, - { 47, 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 }, { 60, 0 }, { 61, 0 }, - { 62, 0 }, { 63, 0 }, { 64, 0 }, { 0, 64 }, { 0,3924 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-5283 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-4769 }, { 49,-4769 }, { 50,-4769 }, { 51,-4769 }, { 52,-4769 }, - { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 53,-4769 }, { 54,-4769 }, { 55,-4769 }, { 56,-4769 }, { 57,-4769 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,2059 }, { 49,2059 }, { 50,2059 }, - { 51,2059 }, { 52,2059 }, { 53,2059 }, { 54,2059 }, { 55,2059 }, - { 56,2059 }, { 57,2059 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-10966 }, - { 66,-10966 }, { 67,-10966 }, { 68,-10966 }, { 69,-101 }, { 70,-10966 }, - { 71,-10966 }, { 72,-10966 }, { 73,-10966 }, { 74,-10966 }, { 75,-10966 }, + { 0, 0 }, { 0, 0 }, { 65,-5283 }, { 66,-5283 }, { 67,-5283 }, + { 68,-5283 }, { 69,-5283 }, { 70,-5283 }, { 71,-5283 }, { 72,-5283 }, + { 73,-5283 }, { 74,-5283 }, { 75,-5283 }, { 76,-5283 }, { 77,-5283 }, + { 78,-5283 }, { 79,-5283 }, { 80,-5283 }, { 81,-5283 }, { 82,-5283 }, + { 83,-5283 }, { 84,-5283 }, { 85,-5283 }, { 86,-5283 }, { 87,-5283 }, + { 88,-5283 }, { 89,-5283 }, { 90,-5283 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-5283 }, { 0, 0 }, { 97,-5283 }, + { 98,-5283 }, { 99,-5283 }, { 100,-5283 }, { 101,-5283 }, { 102,-5283 }, - { 76,-10966 }, { 77,-10966 }, { 78,-10966 }, { 79,-10966 }, { 80,-10966 }, - { 81,-10966 }, { 82,-10966 }, { 83,-10966 }, { 84,-10966 }, { 85,-10966 }, - { 86,-10966 }, { 87,-10966 }, { 88,-10966 }, { 89,-10966 }, { 90,-10966 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2316 }, - { 0, 0 }, { 97,-10966 }, { 98,-10966 }, { 99,-10966 }, { 100,-10966 }, - { 101,-101 }, { 102,-10966 }, { 103,-10966 }, { 104,-10966 }, { 105,-10966 }, - { 106,-10966 }, { 107,-10966 }, { 108,-10966 }, { 109,-10966 }, { 110,-10966 }, - { 111,-10966 }, { 112,-10966 }, { 113,-10966 }, { 114,-10966 }, { 115,-10966 }, - { 116,-10966 }, { 117,-10966 }, { 118,-10966 }, { 119,-10966 }, { 120,-10966 }, - { 121,-10966 }, { 122,-10966 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 103,-5283 }, { 104,-5283 }, { 105,-5283 }, { 106,-5283 }, { 107,-5283 }, + { 108,-5283 }, { 109,-5283 }, { 110,-5283 }, { 111,-5283 }, { 112,-5283 }, + { 113,-5283 }, { 114,-5283 }, { 115,-5283 }, { 116,-5283 }, { 117,-5283 }, + { 118,-5283 }, { 119,-5283 }, { 120,-5283 }, { 121,-5283 }, { 122,-5283 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-5283 }, { 129,-5283 }, { 130,-5283 }, { 131,-5283 }, { 132,-5283 }, + { 133,-5283 }, { 134,-5283 }, { 135,-5283 }, { 136,-5283 }, { 137,-5283 }, + { 138,-5283 }, { 139,-5283 }, { 140,-5283 }, { 141,-5283 }, { 142,-5283 }, + { 143,-5283 }, { 144,-5283 }, { 145,-5283 }, { 146,-5283 }, { 147,-5283 }, + { 148,-5283 }, { 149,-5283 }, { 150,-5283 }, { 151,-5283 }, { 152,-5283 }, - { 0, 0 }, { 0, 0 }, { 128,-10966 }, { 129,-10966 }, { 130,-10966 }, - { 131,-10966 }, { 132,-10966 }, { 133,-10966 }, { 134,-10966 }, { 135,-10966 }, - { 136,-10966 }, { 137,-10966 }, { 138,-10966 }, { 139,-10966 }, { 140,-10966 }, - { 141,-10966 }, { 142,-10966 }, { 143,-10966 }, { 144,-10966 }, { 145,-10966 }, - { 146,-10966 }, { 147,-10966 }, { 148,-10966 }, { 149,-10966 }, { 150,-10966 }, - { 151,-10966 }, { 152,-10966 }, { 153,-10966 }, { 154,-10966 }, { 155,-10966 }, - { 156,-10966 }, { 157,-10966 }, { 158,-10966 }, { 159,-10966 }, { 160,-10966 }, - { 161,-10966 }, { 162,-10966 }, { 163,-10966 }, { 164,-10966 }, { 165,-10966 }, - { 166,-10966 }, { 167,-10966 }, { 168,-10966 }, { 169,-10966 }, { 170,-10966 }, - { 171,-10966 }, { 172,-10966 }, { 173,-10966 }, { 174,-10966 }, { 175,-10966 }, + { 153,-5283 }, { 154,-5283 }, { 155,-5283 }, { 156,-5283 }, { 157,-5283 }, + { 158,-5283 }, { 159,-5283 }, { 160,-5283 }, { 161,-5283 }, { 162,-5283 }, + { 163,-5283 }, { 164,-5283 }, { 165,-5283 }, { 166,-5283 }, { 167,-5283 }, + { 168,-5283 }, { 169,-5283 }, { 170,-5283 }, { 171,-5283 }, { 172,-5283 }, + { 173,-5283 }, { 174,-5283 }, { 175,-5283 }, { 176,-5283 }, { 177,-5283 }, + { 178,-5283 }, { 179,-5283 }, { 180,-5283 }, { 181,-5283 }, { 182,-5283 }, + { 183,-5283 }, { 184,-5283 }, { 185,-5283 }, { 186,-5283 }, { 187,-5283 }, + { 188,-5283 }, { 189,-5283 }, { 190,-5283 }, { 191,-5283 }, { 192,-5283 }, + { 193,-5283 }, { 194,-5283 }, { 195,-5283 }, { 196,-5283 }, { 197,-5283 }, + { 198,-5283 }, { 199,-5283 }, { 200,-5283 }, { 201,-5283 }, { 202,-5283 }, - { 176,-10966 }, { 177,-10966 }, { 178,-10966 }, { 179,-10966 }, { 180,-10966 }, - { 181,-10966 }, { 182,-10966 }, { 183,-10966 }, { 184,-10966 }, { 185,-10966 }, - { 186,-10966 }, { 187,-10966 }, { 188,-10966 }, { 189,-10966 }, { 190,-10966 }, - { 191,-10966 }, { 192,-10966 }, { 193,-10966 }, { 194,-10966 }, { 195,-10966 }, - { 196,-10966 }, { 197,-10966 }, { 198,-10966 }, { 199,-10966 }, { 200,-10966 }, - { 201,-10966 }, { 202,-10966 }, { 203,-10966 }, { 204,-10966 }, { 205,-10966 }, - { 206,-10966 }, { 207,-10966 }, { 208,-10966 }, { 209,-10966 }, { 210,-10966 }, - { 211,-10966 }, { 212,-10966 }, { 213,-10966 }, { 214,-10966 }, { 215,-10966 }, - { 216,-10966 }, { 217,-10966 }, { 218,-10966 }, { 219,-10966 }, { 220,-10966 }, - { 221,-10966 }, { 222,-10966 }, { 223,-10966 }, { 224,-10966 }, { 225,-10966 }, + { 203,-5283 }, { 204,-5283 }, { 205,-5283 }, { 206,-5283 }, { 207,-5283 }, + { 208,-5283 }, { 209,-5283 }, { 210,-5283 }, { 211,-5283 }, { 212,-5283 }, + { 213,-5283 }, { 214,-5283 }, { 215,-5283 }, { 216,-5283 }, { 217,-5283 }, + { 218,-5283 }, { 219,-5283 }, { 220,-5283 }, { 221,-5283 }, { 222,-5283 }, + { 223,-5283 }, { 224,-5283 }, { 225,-5283 }, { 226,-5283 }, { 227,-5283 }, + { 228,-5283 }, { 229,-5283 }, { 230,-5283 }, { 231,-5283 }, { 232,-5283 }, + { 233,-5283 }, { 234,-5283 }, { 235,-5283 }, { 236,-5283 }, { 237,-5283 }, + { 238,-5283 }, { 239,-5283 }, { 240,-5283 }, { 241,-5283 }, { 242,-5283 }, + { 243,-5283 }, { 244,-5283 }, { 245,-5283 }, { 246,-5283 }, { 247,-5283 }, + { 248,-5283 }, { 249,-5283 }, { 250,-5283 }, { 251,-5283 }, { 252,-5283 }, - { 226,-10966 }, { 227,-10966 }, { 228,-10966 }, { 229,-10966 }, { 230,-10966 }, - { 231,-10966 }, { 232,-10966 }, { 233,-10966 }, { 234,-10966 }, { 235,-10966 }, - { 236,-10966 }, { 237,-10966 }, { 238,-10966 }, { 239,-10966 }, { 240,-10966 }, - { 241,-10966 }, { 242,-10966 }, { 243,-10966 }, { 244,-10966 }, { 245,-10966 }, - { 246,-10966 }, { 247,-10966 }, { 248,-10966 }, { 249,-10966 }, { 250,-10966 }, - { 251,-10966 }, { 252,-10966 }, { 253,-10966 }, { 254,-10966 }, { 255,-10966 }, - { 0, 60 }, { 0,3667 }, { 0, 67 }, { 0,3665 }, { 0, 0 }, + { 253,-5283 }, { 254,-5283 }, { 255,-5283 }, { 0, 64 }, { 0,5018 }, { 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 }, { 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 }, + { 36,-5540 }, { 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 }, { 48, 0 }, - { 49, 0 }, { 48, 255 }, { 49, 255 }, { 50, 255 }, { 51, 255 }, - { 52, 255 }, { 53, 255 }, { 54, 255 }, { 55, 255 }, { 56, 255 }, - { 57, 255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,-11201 }, { 66,-11201 }, { 67,-11201 }, { 68,-11201 }, - - { 69,-11201 }, { 70,-11201 }, { 71,-11201 }, { 72,-11201 }, { 73,-11201 }, - { 74,-11201 }, { 75,-11201 }, { 76,-11201 }, { 77,-11201 }, { 78,-11201 }, - { 79,-11201 }, { 80,-11201 }, { 81,-11201 }, { 82,-11201 }, { 83,-11201 }, - { 84,-11201 }, { 85,-11201 }, { 86,-11201 }, { 87,-11201 }, { 88,-11201 }, - { 89,-11201 }, { 90,-11201 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95,-11196 }, { 0, 0 }, { 97,-11201 }, { 98,-11201 }, - { 99,-11201 }, { 100,-11201 }, { 101,-11201 }, { 102,-11201 }, { 103,-11201 }, - { 104,-11201 }, { 105,-11201 }, { 106,-11201 }, { 107,-11201 }, { 108,-11201 }, - { 109,-11201 }, { 110,-11201 }, { 111,-11201 }, { 112,-11201 }, { 113,-11201 }, - { 114,-11201 }, { 115,-11201 }, { 116,-11201 }, { 117,-11201 }, { 118,-11201 }, - - { 119,-11201 }, { 120,-11201 }, { 121,-11201 }, { 122,-11201 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-11201 }, - { 129,-11201 }, { 130,-11201 }, { 131,-11201 }, { 132,-11201 }, { 133,-11201 }, - { 134,-11201 }, { 135,-11201 }, { 136,-11201 }, { 137,-11201 }, { 138,-11201 }, - { 139,-11201 }, { 140,-11201 }, { 141,-11201 }, { 142,-11201 }, { 143,-11201 }, - { 144,-11201 }, { 145,-11201 }, { 146,-11201 }, { 147,-11201 }, { 148,-11201 }, - { 149,-11201 }, { 150,-11201 }, { 151,-11201 }, { 152,-11201 }, { 153,-11201 }, - { 154,-11201 }, { 155,-11201 }, { 156,-11201 }, { 157,-11201 }, { 158,-11201 }, - { 159,-11201 }, { 160,-11201 }, { 161,-11201 }, { 162,-11201 }, { 163,-11201 }, - { 164,-11201 }, { 165,-11201 }, { 166,-11201 }, { 167,-11201 }, { 168,-11201 }, - - { 169,-11201 }, { 170,-11201 }, { 171,-11201 }, { 172,-11201 }, { 173,-11201 }, - { 174,-11201 }, { 175,-11201 }, { 176,-11201 }, { 177,-11201 }, { 178,-11201 }, - { 179,-11201 }, { 180,-11201 }, { 181,-11201 }, { 182,-11201 }, { 183,-11201 }, - { 184,-11201 }, { 185,-11201 }, { 186,-11201 }, { 187,-11201 }, { 188,-11201 }, - { 189,-11201 }, { 190,-11201 }, { 191,-11201 }, { 192,-11201 }, { 193,-11201 }, - { 194,-11201 }, { 195,-11201 }, { 196,-11201 }, { 197,-11201 }, { 198,-11201 }, - { 199,-11201 }, { 200,-11201 }, { 201,-11201 }, { 202,-11201 }, { 203,-11201 }, - { 204,-11201 }, { 205,-11201 }, { 206,-11201 }, { 207,-11201 }, { 208,-11201 }, - { 209,-11201 }, { 210,-11201 }, { 211,-11201 }, { 212,-11201 }, { 213,-11201 }, - { 214,-11201 }, { 215,-11201 }, { 216,-11201 }, { 217,-11201 }, { 218,-11201 }, - - { 219,-11201 }, { 220,-11201 }, { 221,-11201 }, { 222,-11201 }, { 223,-11201 }, - { 224,-11201 }, { 225,-11201 }, { 226,-11201 }, { 227,-11201 }, { 228,-11201 }, - { 229,-11201 }, { 230,-11201 }, { 231,-11201 }, { 232,-11201 }, { 233,-11201 }, - { 234,-11201 }, { 235,-11201 }, { 236,-11201 }, { 237,-11201 }, { 238,-11201 }, - { 239,-11201 }, { 240,-11201 }, { 241,-11201 }, { 242,-11201 }, { 243,-11201 }, - { 244,-11201 }, { 245,-11201 }, { 246,-11201 }, { 247,-11201 }, { 248,-11201 }, - { 249,-11201 }, { 250,-11201 }, { 251,-11201 }, { 252,-11201 }, { 253,-11201 }, - { 254,-11201 }, { 255,-11201 }, { 0, 66 }, { 0,3410 }, { 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 }, - { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48,1812 }, { 49,1812 }, { 50,1812 }, { 51,1812 }, - { 52,1812 }, { 53,1812 }, { 54,1812 }, { 55,1812 }, { 56,1812 }, - { 57,1812 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-11451 }, { 66,-11451 }, - { 67,-11451 }, { 68,-11451 }, { 69,-11451 }, { 70,-11451 }, { 71,-11451 }, - { 72,-11451 }, { 73,-11451 }, { 74,-11451 }, { 75,-11451 }, { 76,-11451 }, - { 77,-11451 }, { 78,-11451 }, { 79,-11451 }, { 80,-11451 }, { 81,-11451 }, - { 82,-11451 }, { 83,-11451 }, { 84,-11451 }, { 85,-11451 }, { 86,-11451 }, - { 87,-11451 }, { 88,-11451 }, { 89,-11451 }, { 90,-11451 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2069 }, { 0, 0 }, - { 97,-11451 }, { 98,-11451 }, { 99,-11451 }, { 100,-11451 }, { 101,-11451 }, - { 102,-11451 }, { 103,-11451 }, { 104,-11451 }, { 105,-11451 }, { 106,-11451 }, - { 107,-11451 }, { 108,-11451 }, { 109,-11451 }, { 110,-11451 }, { 111,-11451 }, - - { 112,-11451 }, { 113,-11451 }, { 114,-11451 }, { 115,-11451 }, { 116,-11451 }, - { 117,-11451 }, { 118,-11451 }, { 119,-11451 }, { 120,-11451 }, { 121,-11451 }, - { 122,-11451 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128,-11451 }, { 129,-11451 }, { 130,-11451 }, { 131,-11451 }, - { 132,-11451 }, { 133,-11451 }, { 134,-11451 }, { 135,-11451 }, { 136,-11451 }, - { 137,-11451 }, { 138,-11451 }, { 139,-11451 }, { 140,-11451 }, { 141,-11451 }, - { 142,-11451 }, { 143,-11451 }, { 144,-11451 }, { 145,-11451 }, { 146,-11451 }, - { 147,-11451 }, { 148,-11451 }, { 149,-11451 }, { 150,-11451 }, { 151,-11451 }, - { 152,-11451 }, { 153,-11451 }, { 154,-11451 }, { 155,-11451 }, { 156,-11451 }, - { 157,-11451 }, { 158,-11451 }, { 159,-11451 }, { 160,-11451 }, { 161,-11451 }, - - { 162,-11451 }, { 163,-11451 }, { 164,-11451 }, { 165,-11451 }, { 166,-11451 }, - { 167,-11451 }, { 168,-11451 }, { 169,-11451 }, { 170,-11451 }, { 171,-11451 }, - { 172,-11451 }, { 173,-11451 }, { 174,-11451 }, { 175,-11451 }, { 176,-11451 }, - { 177,-11451 }, { 178,-11451 }, { 179,-11451 }, { 180,-11451 }, { 181,-11451 }, - { 182,-11451 }, { 183,-11451 }, { 184,-11451 }, { 185,-11451 }, { 186,-11451 }, - { 187,-11451 }, { 188,-11451 }, { 189,-11451 }, { 190,-11451 }, { 191,-11451 }, - { 192,-11451 }, { 193,-11451 }, { 194,-11451 }, { 195,-11451 }, { 196,-11451 }, - { 197,-11451 }, { 198,-11451 }, { 199,-11451 }, { 200,-11451 }, { 201,-11451 }, - { 202,-11451 }, { 203,-11451 }, { 204,-11451 }, { 205,-11451 }, { 206,-11451 }, - { 207,-11451 }, { 208,-11451 }, { 209,-11451 }, { 210,-11451 }, { 211,-11451 }, - - { 212,-11451 }, { 213,-11451 }, { 214,-11451 }, { 215,-11451 }, { 216,-11451 }, - { 217,-11451 }, { 218,-11451 }, { 219,-11451 }, { 220,-11451 }, { 221,-11451 }, - { 222,-11451 }, { 223,-11451 }, { 224,-11451 }, { 225,-11451 }, { 226,-11451 }, - { 227,-11451 }, { 228,-11451 }, { 229,-11451 }, { 230,-11451 }, { 231,-11451 }, - { 232,-11451 }, { 233,-11451 }, { 234,-11451 }, { 235,-11451 }, { 236,-11451 }, - { 237,-11451 }, { 238,-11451 }, { 239,-11451 }, { 240,-11451 }, { 241,-11451 }, - { 242,-11451 }, { 243,-11451 }, { 244,-11451 }, { 245,-11451 }, { 246,-11451 }, - { 247,-11451 }, { 248,-11451 }, { 249,-11451 }, { 250,-11451 }, { 251,-11451 }, - { 252,-11451 }, { 253,-11451 }, { 254,-11451 }, { 255,-11451 }, { 0, 59 }, - { 0,3153 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 62 }, { 0,3145 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-771 }, + { 66,-771 }, { 67,-771 }, { 68,-771 }, { 69,-514 }, { 70,-771 }, + { 71,-771 }, { 72,-771 }, { 73,-771 }, { 74,-771 }, { 75,-771 }, + { 76,-771 }, { 77,-771 }, { 78,-771 }, { 79,-771 }, { 80,-771 }, + { 81,-771 }, { 82,-771 }, { 83,-771 }, { 84,-771 }, { 85,-771 }, + { 86,-771 }, { 87,-771 }, { 88,-771 }, { 89,-771 }, { 90,-771 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2199 }, + + { 0, 0 }, { 97,-771 }, { 98,-771 }, { 99,-771 }, { 100,-771 }, + { 101,-514 }, { 102,-771 }, { 103,-771 }, { 104,-771 }, { 105,-771 }, + { 106,-771 }, { 107,-771 }, { 108,-771 }, { 109,-771 }, { 110,-771 }, + { 111,-771 }, { 112,-771 }, { 113,-771 }, { 114,-771 }, { 115,-771 }, + { 116,-771 }, { 117,-771 }, { 118,-771 }, { 119,-771 }, { 120,-771 }, + { 121,-771 }, { 122,-771 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-771 }, { 129,-771 }, { 130,-771 }, + { 131,-771 }, { 132,-771 }, { 133,-771 }, { 134,-771 }, { 135,-771 }, + { 136,-771 }, { 137,-771 }, { 138,-771 }, { 139,-771 }, { 140,-771 }, + { 141,-771 }, { 142,-771 }, { 143,-771 }, { 144,-771 }, { 145,-771 }, + + { 146,-771 }, { 147,-771 }, { 148,-771 }, { 149,-771 }, { 150,-771 }, + { 151,-771 }, { 152,-771 }, { 153,-771 }, { 154,-771 }, { 155,-771 }, + { 156,-771 }, { 157,-771 }, { 158,-771 }, { 159,-771 }, { 160,-771 }, + { 161,-771 }, { 162,-771 }, { 163,-771 }, { 164,-771 }, { 165,-771 }, + { 166,-771 }, { 167,-771 }, { 168,-771 }, { 169,-771 }, { 170,-771 }, + { 171,-771 }, { 172,-771 }, { 173,-771 }, { 174,-771 }, { 175,-771 }, + { 176,-771 }, { 177,-771 }, { 178,-771 }, { 179,-771 }, { 180,-771 }, + { 181,-771 }, { 182,-771 }, { 183,-771 }, { 184,-771 }, { 185,-771 }, + { 186,-771 }, { 187,-771 }, { 188,-771 }, { 189,-771 }, { 190,-771 }, + { 191,-771 }, { 192,-771 }, { 193,-771 }, { 194,-771 }, { 195,-771 }, + + { 196,-771 }, { 197,-771 }, { 198,-771 }, { 199,-771 }, { 200,-771 }, + { 201,-771 }, { 202,-771 }, { 203,-771 }, { 204,-771 }, { 205,-771 }, + { 206,-771 }, { 207,-771 }, { 208,-771 }, { 209,-771 }, { 210,-771 }, + { 211,-771 }, { 212,-771 }, { 213,-771 }, { 214,-771 }, { 215,-771 }, + { 216,-771 }, { 217,-771 }, { 218,-771 }, { 219,-771 }, { 220,-771 }, + { 221,-771 }, { 222,-771 }, { 223,-771 }, { 224,-771 }, { 225,-771 }, + { 226,-771 }, { 227,-771 }, { 228,-771 }, { 229,-771 }, { 230,-771 }, + { 231,-771 }, { 232,-771 }, { 233,-771 }, { 234,-771 }, { 235,-771 }, + { 236,-771 }, { 237,-771 }, { 238,-771 }, { 239,-771 }, { 240,-771 }, + { 241,-771 }, { 242,-771 }, { 243,-771 }, { 244,-771 }, { 245,-771 }, + + { 246,-771 }, { 247,-771 }, { 248,-771 }, { 249,-771 }, { 250,-771 }, + { 251,-771 }, { 252,-771 }, { 253,-771 }, { 254,-771 }, { 255,-771 }, + { 0, 66 }, { 0,4761 }, { 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 }, @@ -4728,220 +6985,492 @@ static const struct yy_trans_info yy_transition[21803] = { 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 }, { 48, 0 }, { 49, 0 }, - { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 48, -8 }, { 49, -8 }, { 50, -8 }, { 51, -8 }, - { 52, -8 }, { 53, -8 }, { 54, -8 }, { 55, -8 }, { 0, 0 }, - { 65,-11706 }, { 66,-11706 }, { 67,-11706 }, { 68,-11706 }, { 69,-11706 }, - { 70,-11706 }, { 71,-11706 }, { 72,-11706 }, { 73,-11706 }, { 74,-11706 }, - { 75,-11706 }, { 76,-11706 }, { 77,-11706 }, { 78,-11706 }, { 79,-11706 }, - { 80,-11706 }, { 81,-11706 }, { 82,-11706 }, { 83,-11706 }, { 84,-11706 }, - { 85,-11706 }, { 86,-11706 }, { 87,-11706 }, { 88,-11706 }, { 89,-11706 }, - { 90,-11706 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,1822 }, { 0, 0 }, { 97,-11706 }, { 98,-11706 }, { 99,-11706 }, - { 100,-11706 }, { 101,-11706 }, { 102,-11706 }, { 103,-11706 }, { 104,-11706 }, - - { 105,-11706 }, { 106,-11706 }, { 107,-11706 }, { 108,-11706 }, { 109,-11706 }, - { 110,-11706 }, { 111,-11706 }, { 112,-11706 }, { 113,-11706 }, { 114,-11706 }, - { 115,-11706 }, { 116,-11706 }, { 117,-11706 }, { 118,-11706 }, { 119,-11706 }, - { 120,-11706 }, { 121,-11706 }, { 122,-11706 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-11706 }, { 129,-11706 }, - { 130,-11706 }, { 131,-11706 }, { 132,-11706 }, { 133,-11706 }, { 134,-11706 }, - { 135,-11706 }, { 136,-11706 }, { 137,-11706 }, { 138,-11706 }, { 139,-11706 }, - { 140,-11706 }, { 141,-11706 }, { 142,-11706 }, { 143,-11706 }, { 144,-11706 }, - { 145,-11706 }, { 146,-11706 }, { 147,-11706 }, { 148,-11706 }, { 149,-11706 }, - { 150,-11706 }, { 151,-11706 }, { 152,-11706 }, { 153,-11706 }, { 154,-11706 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 257 }, { 66, 257 }, { 67, 257 }, { 68, 257 }, + { 69, 257 }, { 70, 257 }, { 71, 257 }, { 72, 257 }, { 73, 257 }, + { 74, 257 }, { 75, 257 }, { 76, 257 }, { 77, 257 }, { 78, 257 }, + { 79, 257 }, { 80, 257 }, { 81, 257 }, { 82, 257 }, { 83, 257 }, + { 84, 257 }, { 85, 257 }, { 86, 257 }, { 87, 257 }, { 88, 257 }, + + { 89, 257 }, { 90, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 514 }, { 0, 0 }, { 97, 257 }, { 98, 257 }, + { 99, 257 }, { 100, 257 }, { 101, 257 }, { 102, 257 }, { 103, 257 }, + { 104, 257 }, { 105, 257 }, { 106, 257 }, { 107, 257 }, { 108, 257 }, + { 109, 257 }, { 110, 257 }, { 111, 257 }, { 112, 257 }, { 113, 257 }, + { 114, 257 }, { 115, 257 }, { 116, 257 }, { 117, 257 }, { 118, 257 }, + { 119, 257 }, { 120, 257 }, { 121, 257 }, { 122, 257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 257 }, + { 129, 257 }, { 130, 257 }, { 131, 257 }, { 132, 257 }, { 133, 257 }, + { 134, 257 }, { 135, 257 }, { 136, 257 }, { 137, 257 }, { 138, 257 }, + + { 139, 257 }, { 140, 257 }, { 141, 257 }, { 142, 257 }, { 143, 257 }, + { 144, 257 }, { 145, 257 }, { 146, 257 }, { 147, 257 }, { 148, 257 }, + { 149, 257 }, { 150, 257 }, { 151, 257 }, { 152, 257 }, { 153, 257 }, + { 154, 257 }, { 155, 257 }, { 156, 257 }, { 157, 257 }, { 158, 257 }, + { 159, 257 }, { 160, 257 }, { 161, 257 }, { 162, 257 }, { 163, 257 }, + { 164, 257 }, { 165, 257 }, { 166, 257 }, { 167, 257 }, { 168, 257 }, + { 169, 257 }, { 170, 257 }, { 171, 257 }, { 172, 257 }, { 173, 257 }, + { 174, 257 }, { 175, 257 }, { 176, 257 }, { 177, 257 }, { 178, 257 }, + { 179, 257 }, { 180, 257 }, { 181, 257 }, { 182, 257 }, { 183, 257 }, + { 184, 257 }, { 185, 257 }, { 186, 257 }, { 187, 257 }, { 188, 257 }, + + { 189, 257 }, { 190, 257 }, { 191, 257 }, { 192, 257 }, { 193, 257 }, + { 194, 257 }, { 195, 257 }, { 196, 257 }, { 197, 257 }, { 198, 257 }, + { 199, 257 }, { 200, 257 }, { 201, 257 }, { 202, 257 }, { 203, 257 }, + { 204, 257 }, { 205, 257 }, { 206, 257 }, { 207, 257 }, { 208, 257 }, + { 209, 257 }, { 210, 257 }, { 211, 257 }, { 212, 257 }, { 213, 257 }, + { 214, 257 }, { 215, 257 }, { 216, 257 }, { 217, 257 }, { 218, 257 }, + { 219, 257 }, { 220, 257 }, { 221, 257 }, { 222, 257 }, { 223, 257 }, + { 224, 257 }, { 225, 257 }, { 226, 257 }, { 227, 257 }, { 228, 257 }, + { 229, 257 }, { 230, 257 }, { 231, 257 }, { 232, 257 }, { 233, 257 }, + { 234, 257 }, { 235, 257 }, { 236, 257 }, { 237, 257 }, { 238, 257 }, + + { 239, 257 }, { 240, 257 }, { 241, 257 }, { 242, 257 }, { 243, 257 }, + { 244, 257 }, { 245, 257 }, { 246, 257 }, { 247, 257 }, { 248, 257 }, + { 249, 257 }, { 250, 257 }, { 251, 257 }, { 252, 257 }, { 253, 257 }, + { 254, 257 }, { 255, 257 }, { 0, 70 }, { 0,4504 }, { 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 }, + { 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 }, { 36,1942 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,1942 }, { 49,1942 }, { 50,1942 }, { 51,1942 }, + { 52,1942 }, { 53,1942 }, { 54,1942 }, { 55,1942 }, { 56,1942 }, + { 57,1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1942 }, { 66,1942 }, + { 67,1942 }, { 68,1942 }, { 69,1942 }, { 70,1942 }, { 71,1942 }, + { 72,1942 }, { 73,1942 }, { 74,1942 }, { 75,1942 }, { 76,1942 }, + { 77,1942 }, { 78,1942 }, { 79,1942 }, { 80,1942 }, { 81,1942 }, + + { 82,1942 }, { 83,1942 }, { 84,1942 }, { 85,1942 }, { 86,1942 }, + { 87,1942 }, { 88,1942 }, { 89,1942 }, { 90,1942 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1942 }, { 0, 0 }, + { 97,1942 }, { 98,1942 }, { 99,1942 }, { 100,1942 }, { 101,1942 }, + { 102,1942 }, { 103,1942 }, { 104,1942 }, { 105,1942 }, { 106,1942 }, + { 107,1942 }, { 108,1942 }, { 109,1942 }, { 110,1942 }, { 111,1942 }, + { 112,1942 }, { 113,1942 }, { 114,1942 }, { 115,1942 }, { 116,1942 }, + { 117,1942 }, { 118,1942 }, { 119,1942 }, { 120,1942 }, { 121,1942 }, + { 122,1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,1942 }, { 129,1942 }, { 130,1942 }, { 131,1942 }, + + { 132,1942 }, { 133,1942 }, { 134,1942 }, { 135,1942 }, { 136,1942 }, + { 137,1942 }, { 138,1942 }, { 139,1942 }, { 140,1942 }, { 141,1942 }, + { 142,1942 }, { 143,1942 }, { 144,1942 }, { 145,1942 }, { 146,1942 }, + { 147,1942 }, { 148,1942 }, { 149,1942 }, { 150,1942 }, { 151,1942 }, + { 152,1942 }, { 153,1942 }, { 154,1942 }, { 155,1942 }, { 156,1942 }, + { 157,1942 }, { 158,1942 }, { 159,1942 }, { 160,1942 }, { 161,1942 }, + { 162,1942 }, { 163,1942 }, { 164,1942 }, { 165,1942 }, { 166,1942 }, + { 167,1942 }, { 168,1942 }, { 169,1942 }, { 170,1942 }, { 171,1942 }, + { 172,1942 }, { 173,1942 }, { 174,1942 }, { 175,1942 }, { 176,1942 }, + { 177,1942 }, { 178,1942 }, { 179,1942 }, { 180,1942 }, { 181,1942 }, + + { 182,1942 }, { 183,1942 }, { 184,1942 }, { 185,1942 }, { 186,1942 }, + { 187,1942 }, { 188,1942 }, { 189,1942 }, { 190,1942 }, { 191,1942 }, + { 192,1942 }, { 193,1942 }, { 194,1942 }, { 195,1942 }, { 196,1942 }, + { 197,1942 }, { 198,1942 }, { 199,1942 }, { 200,1942 }, { 201,1942 }, + { 202,1942 }, { 203,1942 }, { 204,1942 }, { 205,1942 }, { 206,1942 }, + { 207,1942 }, { 208,1942 }, { 209,1942 }, { 210,1942 }, { 211,1942 }, + { 212,1942 }, { 213,1942 }, { 214,1942 }, { 215,1942 }, { 216,1942 }, + { 217,1942 }, { 218,1942 }, { 219,1942 }, { 220,1942 }, { 221,1942 }, + { 222,1942 }, { 223,1942 }, { 224,1942 }, { 225,1942 }, { 226,1942 }, + { 227,1942 }, { 228,1942 }, { 229,1942 }, { 230,1942 }, { 231,1942 }, + + { 232,1942 }, { 233,1942 }, { 234,1942 }, { 235,1942 }, { 236,1942 }, + { 237,1942 }, { 238,1942 }, { 239,1942 }, { 240,1942 }, { 241,1942 }, + { 242,1942 }, { 243,1942 }, { 244,1942 }, { 245,1942 }, { 246,1942 }, + { 247,1942 }, { 248,1942 }, { 249,1942 }, { 250,1942 }, { 251,1942 }, + { 252,1942 }, { 253,1942 }, { 254,1942 }, { 255,1942 }, { 0, 70 }, + { 0,4247 }, { 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 }, { 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 }, { 36,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1942 }, { 49,1942 }, + { 50,1942 }, { 51,1942 }, { 52,1942 }, { 53,1942 }, { 54,1942 }, + { 55,1942 }, { 56,1942 }, { 57,1942 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,1685 }, { 66,1685 }, { 67,1685 }, { 68,1685 }, { 69,1685 }, + { 70,1685 }, { 71,1685 }, { 72,1685 }, { 73,1685 }, { 74,1685 }, + + { 75,1685 }, { 76,1685 }, { 77,1685 }, { 78,1685 }, { 79,1685 }, + { 80,1685 }, { 81,1685 }, { 82,1685 }, { 83,1685 }, { 84,1685 }, + { 85,1685 }, { 86,1685 }, { 87,1685 }, { 88,1685 }, { 89,1685 }, + { 90,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,1685 }, { 0, 0 }, { 97,1685 }, { 98,1685 }, { 99,1685 }, + { 100,1685 }, { 101,1685 }, { 102,1685 }, { 103,1685 }, { 104,1685 }, + { 105,1685 }, { 106,1685 }, { 107,1685 }, { 108,1685 }, { 109,1685 }, + { 110,1685 }, { 111,1685 }, { 112,1685 }, { 113,1685 }, { 114,1685 }, + { 115,1685 }, { 116,1685 }, { 117,1685 }, { 118,1685 }, { 119,1685 }, + { 120,1685 }, { 121,1685 }, { 122,1685 }, { 0, 0 }, { 0, 0 }, - { 155,-11706 }, { 156,-11706 }, { 157,-11706 }, { 158,-11706 }, { 159,-11706 }, - { 160,-11706 }, { 161,-11706 }, { 162,-11706 }, { 163,-11706 }, { 164,-11706 }, - { 165,-11706 }, { 166,-11706 }, { 167,-11706 }, { 168,-11706 }, { 169,-11706 }, - { 170,-11706 }, { 171,-11706 }, { 172,-11706 }, { 173,-11706 }, { 174,-11706 }, - { 175,-11706 }, { 176,-11706 }, { 177,-11706 }, { 178,-11706 }, { 179,-11706 }, - { 180,-11706 }, { 181,-11706 }, { 182,-11706 }, { 183,-11706 }, { 184,-11706 }, - { 185,-11706 }, { 186,-11706 }, { 187,-11706 }, { 188,-11706 }, { 189,-11706 }, - { 190,-11706 }, { 191,-11706 }, { 192,-11706 }, { 193,-11706 }, { 194,-11706 }, - { 195,-11706 }, { 196,-11706 }, { 197,-11706 }, { 198,-11706 }, { 199,-11706 }, - { 200,-11706 }, { 201,-11706 }, { 202,-11706 }, { 203,-11706 }, { 204,-11706 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,1685 }, { 129,1685 }, + { 130,1685 }, { 131,1685 }, { 132,1685 }, { 133,1685 }, { 134,1685 }, + { 135,1685 }, { 136,1685 }, { 137,1685 }, { 138,1685 }, { 139,1685 }, + { 140,1685 }, { 141,1685 }, { 142,1685 }, { 143,1685 }, { 144,1685 }, + { 145,1685 }, { 146,1685 }, { 147,1685 }, { 148,1685 }, { 149,1685 }, + { 150,1685 }, { 151,1685 }, { 152,1685 }, { 153,1685 }, { 154,1685 }, + { 155,1685 }, { 156,1685 }, { 157,1685 }, { 158,1685 }, { 159,1685 }, + { 160,1685 }, { 161,1685 }, { 162,1685 }, { 163,1685 }, { 164,1685 }, + { 165,1685 }, { 166,1685 }, { 167,1685 }, { 168,1685 }, { 169,1685 }, + { 170,1685 }, { 171,1685 }, { 172,1685 }, { 173,1685 }, { 174,1685 }, - { 205,-11706 }, { 206,-11706 }, { 207,-11706 }, { 208,-11706 }, { 209,-11706 }, - { 210,-11706 }, { 211,-11706 }, { 212,-11706 }, { 213,-11706 }, { 214,-11706 }, - { 215,-11706 }, { 216,-11706 }, { 217,-11706 }, { 218,-11706 }, { 219,-11706 }, - { 220,-11706 }, { 221,-11706 }, { 222,-11706 }, { 223,-11706 }, { 224,-11706 }, - { 225,-11706 }, { 226,-11706 }, { 227,-11706 }, { 228,-11706 }, { 229,-11706 }, - { 230,-11706 }, { 231,-11706 }, { 232,-11706 }, { 233,-11706 }, { 234,-11706 }, - { 235,-11706 }, { 236,-11706 }, { 237,-11706 }, { 238,-11706 }, { 239,-11706 }, - { 240,-11706 }, { 241,-11706 }, { 242,-11706 }, { 243,-11706 }, { 244,-11706 }, - { 245,-11706 }, { 246,-11706 }, { 247,-11706 }, { 248,-11706 }, { 249,-11706 }, - { 250,-11706 }, { 251,-11706 }, { 252,-11706 }, { 253,-11706 }, { 254,-11706 }, + { 175,1685 }, { 176,1685 }, { 177,1685 }, { 178,1685 }, { 179,1685 }, + { 180,1685 }, { 181,1685 }, { 182,1685 }, { 183,1685 }, { 184,1685 }, + { 185,1685 }, { 186,1685 }, { 187,1685 }, { 188,1685 }, { 189,1685 }, + { 190,1685 }, { 191,1685 }, { 192,1685 }, { 193,1685 }, { 194,1685 }, + { 195,1685 }, { 196,1685 }, { 197,1685 }, { 198,1685 }, { 199,1685 }, + { 200,1685 }, { 201,1685 }, { 202,1685 }, { 203,1685 }, { 204,1685 }, + { 205,1685 }, { 206,1685 }, { 207,1685 }, { 208,1685 }, { 209,1685 }, + { 210,1685 }, { 211,1685 }, { 212,1685 }, { 213,1685 }, { 214,1685 }, + { 215,1685 }, { 216,1685 }, { 217,1685 }, { 218,1685 }, { 219,1685 }, + { 220,1685 }, { 221,1685 }, { 222,1685 }, { 223,1685 }, { 224,1685 }, - { 255,-11706 }, { 0, 58 }, { 0,2896 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 225,1685 }, { 226,1685 }, { 227,1685 }, { 228,1685 }, { 229,1685 }, + { 230,1685 }, { 231,1685 }, { 232,1685 }, { 233,1685 }, { 234,1685 }, + { 235,1685 }, { 236,1685 }, { 237,1685 }, { 238,1685 }, { 239,1685 }, + { 240,1685 }, { 241,1685 }, { 242,1685 }, { 243,1685 }, { 244,1685 }, + { 245,1685 }, { 246,1685 }, { 247,1685 }, { 248,1685 }, { 249,1685 }, + { 250,1685 }, { 251,1685 }, { 252,1685 }, { 253,1685 }, { 254,1685 }, + { 255,1685 }, { 0, 68 }, { 0,3990 }, { 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 }, { 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 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,1573 }, { 66,1573 }, { 67,1573 }, - { 68,1573 }, { 69,1573 }, { 70,1573 }, { 71,-11957 }, { 72,-11957 }, - { 73,-11957 }, { 74,-11957 }, { 75,-11957 }, { 76,-11957 }, { 77,-11957 }, - { 78,-11957 }, { 79,-11957 }, { 80,-11957 }, { 81,-11957 }, { 82,-11957 }, - { 83,-11957 }, { 84,-11957 }, { 85,-11957 }, { 86,-11957 }, { 87,-11957 }, - { 88,-11957 }, { 89,-11957 }, { 90,-11957 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 95,1830 }, { 0, 0 }, { 97,1573 }, + { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, - { 98,1573 }, { 99,1573 }, { 100,1573 }, { 101,1573 }, { 102,1573 }, - { 103,-11957 }, { 104,-11957 }, { 105,-11957 }, { 106,-11957 }, { 107,-11957 }, - { 108,-11957 }, { 109,-11957 }, { 110,-11957 }, { 111,-11957 }, { 112,-11957 }, - { 113,-11957 }, { 114,-11957 }, { 115,-11957 }, { 116,-11957 }, { 117,-11957 }, - { 118,-11957 }, { 119,-11957 }, { 120,-11957 }, { 121,-11957 }, { 122,-11957 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 128,-11957 }, { 129,-11957 }, { 130,-11957 }, { 131,-11957 }, { 132,-11957 }, - { 133,-11957 }, { 134,-11957 }, { 135,-11957 }, { 136,-11957 }, { 137,-11957 }, - { 138,-11957 }, { 139,-11957 }, { 140,-11957 }, { 141,-11957 }, { 142,-11957 }, - { 143,-11957 }, { 144,-11957 }, { 145,-11957 }, { 146,-11957 }, { 147,-11957 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, - { 148,-11957 }, { 149,-11957 }, { 150,-11957 }, { 151,-11957 }, { 152,-11957 }, - { 153,-11957 }, { 154,-11957 }, { 155,-11957 }, { 156,-11957 }, { 157,-11957 }, - { 158,-11957 }, { 159,-11957 }, { 160,-11957 }, { 161,-11957 }, { 162,-11957 }, - { 163,-11957 }, { 164,-11957 }, { 165,-11957 }, { 166,-11957 }, { 167,-11957 }, - { 168,-11957 }, { 169,-11957 }, { 170,-11957 }, { 171,-11957 }, { 172,-11957 }, - { 173,-11957 }, { 174,-11957 }, { 175,-11957 }, { 176,-11957 }, { 177,-11957 }, - { 178,-11957 }, { 179,-11957 }, { 180,-11957 }, { 181,-11957 }, { 182,-11957 }, - { 183,-11957 }, { 184,-11957 }, { 185,-11957 }, { 186,-11957 }, { 187,-11957 }, - { 188,-11957 }, { 189,-11957 }, { 190,-11957 }, { 191,-11957 }, { 192,-11957 }, - { 193,-11957 }, { 194,-11957 }, { 195,-11957 }, { 196,-11957 }, { 197,-11957 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, - { 198,-11957 }, { 199,-11957 }, { 200,-11957 }, { 201,-11957 }, { 202,-11957 }, - { 203,-11957 }, { 204,-11957 }, { 205,-11957 }, { 206,-11957 }, { 207,-11957 }, - { 208,-11957 }, { 209,-11957 }, { 210,-11957 }, { 211,-11957 }, { 212,-11957 }, - { 213,-11957 }, { 214,-11957 }, { 215,-11957 }, { 216,-11957 }, { 217,-11957 }, - { 218,-11957 }, { 219,-11957 }, { 220,-11957 }, { 221,-11957 }, { 222,-11957 }, - { 223,-11957 }, { 224,-11957 }, { 225,-11957 }, { 226,-11957 }, { 227,-11957 }, - { 228,-11957 }, { 229,-11957 }, { 230,-11957 }, { 231,-11957 }, { 232,-11957 }, - { 233,-11957 }, { 234,-11957 }, { 235,-11957 }, { 236,-11957 }, { 237,-11957 }, - { 238,-11957 }, { 239,-11957 }, { 240,-11957 }, { 241,-11957 }, { 242,-11957 }, - { 243,-11957 }, { 244,-11957 }, { 245,-11957 }, { 246,-11957 }, { 247,-11957 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, - { 248,-11957 }, { 249,-11957 }, { 250,-11957 }, { 251,-11957 }, { 252,-11957 }, - { 253,-11957 }, { 254,-11957 }, { 255,-11957 }, { 0, 61 }, { 0,2639 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 66 }, { 0,3733 }, + { 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 }, { 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 }, + { 36,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 57 }, { 0,2601 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1685 }, + { 66,1685 }, { 67,1685 }, { 68,1685 }, { 69,1685 }, { 70,1685 }, + { 71,1685 }, { 72,1685 }, { 73,1685 }, { 74,1685 }, { 75,1685 }, + { 76,1685 }, { 77,1685 }, { 78,1685 }, { 79,1685 }, { 80,1685 }, + { 81,1685 }, { 82,1685 }, { 83,1685 }, { 84,1685 }, { 85,1685 }, + { 86,1685 }, { 87,1685 }, { 88,1685 }, { 89,1685 }, { 90,1685 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1942 }, + { 0, 0 }, { 97,1685 }, { 98,1685 }, { 99,1685 }, { 100,1685 }, + { 101,1685 }, { 102,1685 }, { 103,1685 }, { 104,1685 }, { 105,1685 }, + { 106,1685 }, { 107,1685 }, { 108,1685 }, { 109,1685 }, { 110,1685 }, + + { 111,1685 }, { 112,1685 }, { 113,1685 }, { 114,1685 }, { 115,1685 }, + { 116,1685 }, { 117,1685 }, { 118,1685 }, { 119,1685 }, { 120,1685 }, + { 121,1685 }, { 122,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,1685 }, { 129,1685 }, { 130,1685 }, + { 131,1685 }, { 132,1685 }, { 133,1685 }, { 134,1685 }, { 135,1685 }, + { 136,1685 }, { 137,1685 }, { 138,1685 }, { 139,1685 }, { 140,1685 }, + { 141,1685 }, { 142,1685 }, { 143,1685 }, { 144,1685 }, { 145,1685 }, + { 146,1685 }, { 147,1685 }, { 148,1685 }, { 149,1685 }, { 150,1685 }, + { 151,1685 }, { 152,1685 }, { 153,1685 }, { 154,1685 }, { 155,1685 }, + { 156,1685 }, { 157,1685 }, { 158,1685 }, { 159,1685 }, { 160,1685 }, + + { 161,1685 }, { 162,1685 }, { 163,1685 }, { 164,1685 }, { 165,1685 }, + { 166,1685 }, { 167,1685 }, { 168,1685 }, { 169,1685 }, { 170,1685 }, + { 171,1685 }, { 172,1685 }, { 173,1685 }, { 174,1685 }, { 175,1685 }, + { 176,1685 }, { 177,1685 }, { 178,1685 }, { 179,1685 }, { 180,1685 }, + { 181,1685 }, { 182,1685 }, { 183,1685 }, { 184,1685 }, { 185,1685 }, + { 186,1685 }, { 187,1685 }, { 188,1685 }, { 189,1685 }, { 190,1685 }, + { 191,1685 }, { 192,1685 }, { 193,1685 }, { 194,1685 }, { 195,1685 }, + { 196,1685 }, { 197,1685 }, { 198,1685 }, { 199,1685 }, { 200,1685 }, + { 201,1685 }, { 202,1685 }, { 203,1685 }, { 204,1685 }, { 205,1685 }, + { 206,1685 }, { 207,1685 }, { 208,1685 }, { 209,1685 }, { 210,1685 }, + + { 211,1685 }, { 212,1685 }, { 213,1685 }, { 214,1685 }, { 215,1685 }, + { 216,1685 }, { 217,1685 }, { 218,1685 }, { 219,1685 }, { 220,1685 }, + { 221,1685 }, { 222,1685 }, { 223,1685 }, { 224,1685 }, { 225,1685 }, + { 226,1685 }, { 227,1685 }, { 228,1685 }, { 229,1685 }, { 230,1685 }, + { 231,1685 }, { 232,1685 }, { 233,1685 }, { 234,1685 }, { 235,1685 }, + { 236,1685 }, { 237,1685 }, { 238,1685 }, { 239,1685 }, { 240,1685 }, + { 241,1685 }, { 242,1685 }, { 243,1685 }, { 244,1685 }, { 245,1685 }, + { 246,1685 }, { 247,1685 }, { 248,1685 }, { 249,1685 }, { 250,1685 }, + { 251,1685 }, { 252,1685 }, { 253,1685 }, { 254,1685 }, { 255,1685 }, + { 0, 28 }, { 0,3476 }, { 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 }, { 0, 28 }, { 0,3453 }, + { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1942 }, + { 49,1942 }, { 50,1942 }, { 51,1942 }, { 52,1942 }, { 53,1942 }, + + { 54,1942 }, { 55,1942 }, { 56,1942 }, { 57,1942 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0,3415 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1942 }, { 66,1942 }, { 67,1942 }, { 68,1942 }, + { 69,1942 }, { 70,1942 }, { 48,-23334 }, { 49,-23334 }, { 50,-23334 }, + { 51,-23334 }, { 52,-23334 }, { 53,-23334 }, { 54,-23334 }, { 55,-23334 }, + { 56,-23334 }, { 57,-23334 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, + { 0,3392 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-23334 }, + { 66,-23334 }, { 67,-23334 }, { 68,-23334 }, { 69,-23334 }, { 70,-23334 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1942 }, { 98,1942 }, + { 99,1942 }, { 100,1942 }, { 101,1942 }, { 102,1942 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,1904 }, { 49,1904 }, { 50,1904 }, { 51,1904 }, { 52,1904 }, + { 53,1904 }, { 54,1904 }, { 55,1904 }, { 56,1904 }, { 57,1904 }, + { 0, 0 }, { 97,-23334 }, { 98,-23334 }, { 99,-23334 }, { 100,-23334 }, + { 101,-23334 }, { 102,-23334 }, { 65,1904 }, { 66,1904 }, { 67,1904 }, + { 68,1904 }, { 69,1904 }, { 70,1904 }, { 48,-23393 }, { 49,-23393 }, + { 50,-23393 }, { 51,-23393 }, { 52,-23393 }, { 53,-23393 }, { 54,-23393 }, + { 55,-23393 }, { 56,-23393 }, { 57,-23393 }, { 0, 69 }, { 0,3333 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-23393 }, { 66,-23393 }, { 67,-23393 }, { 68,-23393 }, { 69,-23393 }, + + { 70,-23393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1904 }, + { 98,1904 }, { 99,1904 }, { 100,1904 }, { 101,1904 }, { 102,1904 }, + { 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 }, + { 36, 0 }, { 0, 0 }, { 97,-23393 }, { 98,-23393 }, { 99,-23393 }, + { 100,-23393 }, { 101,-23393 }, { 102,-23393 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, + { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 0, 66 }, { 0,3076 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, { 50,-257 }, - { 51,-257 }, { 52,-257 }, { 53,-257 }, { 54,-257 }, { 55,-257 }, - { 56,-257 }, { 57,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-257 }, - { 66,-257 }, { 67,-257 }, { 68,-257 }, { 69,-257 }, { 70,-257 }, { 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 }, { 46,1573 }, { 0, 0 }, - { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, - - { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, - { 0, 0 }, { 97,-257 }, { 98,-257 }, { 99,-257 }, { 100,-257 }, - { 101,-257 }, { 102,-257 }, { 65,-12625 }, { 66,-12625 }, { 67,-12625 }, - { 68,-12625 }, { 69,-5509 }, { 70,-12625 }, { 71,-12625 }, { 72,-12625 }, - { 73,-12625 }, { 74,-12625 }, { 75,-12625 }, { 76,-12625 }, { 77,-12625 }, - { 78,-12625 }, { 79,-12625 }, { 80,-12625 }, { 81,-12625 }, { 82,-12625 }, - { 83,-12625 }, { 84,-12625 }, { 85,-12625 }, { 86,-12625 }, { 87,-12625 }, - { 88,-12625 }, { 89,-12625 }, { 90,-12625 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 95,-5468 }, { 0, 0 }, { 97,-12625 }, - { 98,-12625 }, { 99,-12625 }, { 100,-12625 }, { 101,-5509 }, { 102,-12625 }, - - { 103,-12625 }, { 104,-12625 }, { 105,-12625 }, { 106,-12625 }, { 107,-12625 }, - { 108,-12625 }, { 109,-12625 }, { 110,-12625 }, { 111,-12625 }, { 112,-12625 }, - { 113,-12625 }, { 114,-12625 }, { 115,-12625 }, { 116,-12625 }, { 117,-12625 }, - { 118,-12625 }, { 119,-12625 }, { 120,-12625 }, { 121,-12625 }, { 122,-12625 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 128,-12625 }, { 129,-12625 }, { 130,-12625 }, { 131,-12625 }, { 132,-12625 }, - { 133,-12625 }, { 134,-12625 }, { 135,-12625 }, { 136,-12625 }, { 137,-12625 }, - { 138,-12625 }, { 139,-12625 }, { 140,-12625 }, { 141,-12625 }, { 142,-12625 }, - { 143,-12625 }, { 144,-12625 }, { 145,-12625 }, { 146,-12625 }, { 147,-12625 }, - { 148,-12625 }, { 149,-12625 }, { 150,-12625 }, { 151,-12625 }, { 152,-12625 }, - - { 153,-12625 }, { 154,-12625 }, { 155,-12625 }, { 156,-12625 }, { 157,-12625 }, - { 158,-12625 }, { 159,-12625 }, { 160,-12625 }, { 161,-12625 }, { 162,-12625 }, - { 163,-12625 }, { 164,-12625 }, { 165,-12625 }, { 166,-12625 }, { 167,-12625 }, - { 168,-12625 }, { 169,-12625 }, { 170,-12625 }, { 171,-12625 }, { 172,-12625 }, - { 173,-12625 }, { 174,-12625 }, { 175,-12625 }, { 176,-12625 }, { 177,-12625 }, - { 178,-12625 }, { 179,-12625 }, { 180,-12625 }, { 181,-12625 }, { 182,-12625 }, - { 183,-12625 }, { 184,-12625 }, { 185,-12625 }, { 186,-12625 }, { 187,-12625 }, - { 188,-12625 }, { 189,-12625 }, { 190,-12625 }, { 191,-12625 }, { 192,-12625 }, - { 193,-12625 }, { 194,-12625 }, { 195,-12625 }, { 196,-12625 }, { 197,-12625 }, - { 198,-12625 }, { 199,-12625 }, { 200,-12625 }, { 201,-12625 }, { 202,-12625 }, - - { 203,-12625 }, { 204,-12625 }, { 205,-12625 }, { 206,-12625 }, { 207,-12625 }, - { 208,-12625 }, { 209,-12625 }, { 210,-12625 }, { 211,-12625 }, { 212,-12625 }, - { 213,-12625 }, { 214,-12625 }, { 215,-12625 }, { 216,-12625 }, { 217,-12625 }, - { 218,-12625 }, { 219,-12625 }, { 220,-12625 }, { 221,-12625 }, { 222,-12625 }, - { 223,-12625 }, { 224,-12625 }, { 225,-12625 }, { 226,-12625 }, { 227,-12625 }, - { 228,-12625 }, { 229,-12625 }, { 230,-12625 }, { 231,-12625 }, { 232,-12625 }, - { 233,-12625 }, { 234,-12625 }, { 235,-12625 }, { 236,-12625 }, { 237,-12625 }, - { 238,-12625 }, { 239,-12625 }, { 240,-12625 }, { 241,-12625 }, { 242,-12625 }, - { 243,-12625 }, { 244,-12625 }, { 245,-12625 }, { 246,-12625 }, { 247,-12625 }, - { 248,-12625 }, { 249,-12625 }, { 250,-12625 }, { 251,-12625 }, { 252,-12625 }, - - { 253,-12625 }, { 254,-12625 }, { 255,-12625 }, { 0, 4 }, { 0,2344 }, - { 0, 30 }, { 0,2342 }, { 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, 28 }, { 0,2327 }, { 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 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, - { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, - - { 0, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 48,-12509 }, - { 49,-12509 }, { 50,-12509 }, { 51,-12509 }, { 52,-12509 }, { 53,-12509 }, - { 54,-12509 }, { 55,-12509 }, { 0, 0 }, { 0, 0 }, { 60, 0 }, - { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 48,1556 }, - { 49,1556 }, { 50,1556 }, { 51,1556 }, { 52,1556 }, { 53,1556 }, - { 54,1556 }, { 55,1556 }, { 56,1556 }, { 57,1556 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,2265 }, { 0, 0 }, - { 0, 0 }, { 65,1556 }, { 66,1556 }, { 67,1556 }, { 68,1556 }, - { 69,1556 }, { 70,1556 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, - - { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 31 }, { 0,2242 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1556 }, { 98,1556 }, - { 99,1556 }, { 100,1556 }, { 101,1556 }, { 102,1556 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, { 0, 0 }, - { 126, 0 }, { 48,1517 }, { 49,1517 }, { 50,1517 }, { 51,1517 }, - { 52,1517 }, { 53,1517 }, { 54,1517 }, { 55,1517 }, { 56,1517 }, - { 57,1517 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1517 }, { 66,1517 }, - - { 67,1517 }, { 68,1517 }, { 69,1517 }, { 70,1517 }, { 48,-12598 }, - { 49,-12598 }, { 50,-12598 }, { 51,-12598 }, { 52,-12598 }, { 53,-12598 }, - { 54,-12598 }, { 55,-12598 }, { 56,-12598 }, { 57,-12598 }, { 0, 37 }, - { 0,2183 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,-12598 }, { 66,-12598 }, { 67,-12598 }, { 68,-12598 }, - { 69,-12598 }, { 70,-12598 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 97,1517 }, { 98,1517 }, { 99,1517 }, { 100,1517 }, { 101,1517 }, - { 102,1517 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1624 }, { 66,1624 }, { 67,1624 }, { 68,1624 }, + { 69,1624 }, { 70,1624 }, { 71,1624 }, { 72,1624 }, { 73,1624 }, + { 74,1624 }, { 75,1624 }, { 76,1624 }, { 77,1624 }, { 78,1624 }, + { 79,1624 }, { 80,1624 }, { 81,1624 }, { 82,1624 }, { 83,1624 }, + { 84,1624 }, { 85,1624 }, { 86,1624 }, { 87,1624 }, { 88,1624 }, + { 89,1624 }, { 90,1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,1881 }, { 0, 0 }, { 97,1624 }, { 98,1624 }, + { 99,1624 }, { 100,1624 }, { 101,1624 }, { 102,1624 }, { 103,1624 }, + + { 104,1624 }, { 105,1624 }, { 106,1624 }, { 107,1624 }, { 108,1624 }, + { 109,1624 }, { 110,1624 }, { 111,1624 }, { 112,1624 }, { 113,1624 }, + { 114,1624 }, { 115,1624 }, { 116,1624 }, { 117,1624 }, { 118,1624 }, + { 119,1624 }, { 120,1624 }, { 121,1624 }, { 122,1624 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,1624 }, + { 129,1624 }, { 130,1624 }, { 131,1624 }, { 132,1624 }, { 133,1624 }, + { 134,1624 }, { 135,1624 }, { 136,1624 }, { 137,1624 }, { 138,1624 }, + { 139,1624 }, { 140,1624 }, { 141,1624 }, { 142,1624 }, { 143,1624 }, + { 144,1624 }, { 145,1624 }, { 146,1624 }, { 147,1624 }, { 148,1624 }, + { 149,1624 }, { 150,1624 }, { 151,1624 }, { 152,1624 }, { 153,1624 }, + + { 154,1624 }, { 155,1624 }, { 156,1624 }, { 157,1624 }, { 158,1624 }, + { 159,1624 }, { 160,1624 }, { 161,1624 }, { 162,1624 }, { 163,1624 }, + { 164,1624 }, { 165,1624 }, { 166,1624 }, { 167,1624 }, { 168,1624 }, + { 169,1624 }, { 170,1624 }, { 171,1624 }, { 172,1624 }, { 173,1624 }, + { 174,1624 }, { 175,1624 }, { 176,1624 }, { 177,1624 }, { 178,1624 }, + { 179,1624 }, { 180,1624 }, { 181,1624 }, { 182,1624 }, { 183,1624 }, + { 184,1624 }, { 185,1624 }, { 186,1624 }, { 187,1624 }, { 188,1624 }, + { 189,1624 }, { 190,1624 }, { 191,1624 }, { 192,1624 }, { 193,1624 }, + { 194,1624 }, { 195,1624 }, { 196,1624 }, { 197,1624 }, { 198,1624 }, + { 199,1624 }, { 200,1624 }, { 201,1624 }, { 202,1624 }, { 203,1624 }, + + { 204,1624 }, { 205,1624 }, { 206,1624 }, { 207,1624 }, { 208,1624 }, + { 209,1624 }, { 210,1624 }, { 211,1624 }, { 212,1624 }, { 213,1624 }, + { 214,1624 }, { 215,1624 }, { 216,1624 }, { 217,1624 }, { 218,1624 }, + { 219,1624 }, { 220,1624 }, { 221,1624 }, { 222,1624 }, { 223,1624 }, + { 224,1624 }, { 225,1624 }, { 226,1624 }, { 227,1624 }, { 228,1624 }, + { 229,1624 }, { 230,1624 }, { 231,1624 }, { 232,1624 }, { 233,1624 }, + { 234,1624 }, { 235,1624 }, { 236,1624 }, { 237,1624 }, { 238,1624 }, + { 239,1624 }, { 240,1624 }, { 241,1624 }, { 242,1624 }, { 243,1624 }, + { 244,1624 }, { 245,1624 }, { 246,1624 }, { 247,1624 }, { 248,1624 }, + { 249,1624 }, { 250,1624 }, { 251,1624 }, { 252,1624 }, { 253,1624 }, + + { 254,1624 }, { 255,1624 }, { 0, 69 }, { 0,2819 }, { 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 }, + { 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 }, { 36,-7739 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 48,-2199 }, { 49,-2199 }, { 50,-2199 }, { 51,-2199 }, + { 52,-2199 }, { 53,-2199 }, { 54,-2199 }, { 55,-2199 }, { 56,-2199 }, + { 57,-2199 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-7739 }, { 66,-7739 }, + { 67,-7739 }, { 68,-7739 }, { 69,-7739 }, { 70,-7739 }, { 71,-7739 }, + { 72,-7739 }, { 73,-7739 }, { 74,-7739 }, { 75,-7739 }, { 76,-7739 }, + { 77,-7739 }, { 78,-7739 }, { 79,-7739 }, { 80,-7739 }, { 81,-7739 }, + { 82,-7739 }, { 83,-7739 }, { 84,-7739 }, { 85,-7739 }, { 86,-7739 }, + { 87,-7739 }, { 88,-7739 }, { 89,-7739 }, { 90,-7739 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-7739 }, { 0, 0 }, + + { 97,-7739 }, { 98,-7739 }, { 99,-7739 }, { 100,-7739 }, { 101,-7739 }, + { 102,-7739 }, { 103,-7739 }, { 104,-7739 }, { 105,-7739 }, { 106,-7739 }, + { 107,-7739 }, { 108,-7739 }, { 109,-7739 }, { 110,-7739 }, { 111,-7739 }, + { 112,-7739 }, { 113,-7739 }, { 114,-7739 }, { 115,-7739 }, { 116,-7739 }, + { 117,-7739 }, { 118,-7739 }, { 119,-7739 }, { 120,-7739 }, { 121,-7739 }, + { 122,-7739 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-7739 }, { 129,-7739 }, { 130,-7739 }, { 131,-7739 }, + { 132,-7739 }, { 133,-7739 }, { 134,-7739 }, { 135,-7739 }, { 136,-7739 }, + { 137,-7739 }, { 138,-7739 }, { 139,-7739 }, { 140,-7739 }, { 141,-7739 }, + { 142,-7739 }, { 143,-7739 }, { 144,-7739 }, { 145,-7739 }, { 146,-7739 }, + + { 147,-7739 }, { 148,-7739 }, { 149,-7739 }, { 150,-7739 }, { 151,-7739 }, + { 152,-7739 }, { 153,-7739 }, { 154,-7739 }, { 155,-7739 }, { 156,-7739 }, + { 157,-7739 }, { 158,-7739 }, { 159,-7739 }, { 160,-7739 }, { 161,-7739 }, + { 162,-7739 }, { 163,-7739 }, { 164,-7739 }, { 165,-7739 }, { 166,-7739 }, + { 167,-7739 }, { 168,-7739 }, { 169,-7739 }, { 170,-7739 }, { 171,-7739 }, + { 172,-7739 }, { 173,-7739 }, { 174,-7739 }, { 175,-7739 }, { 176,-7739 }, + { 177,-7739 }, { 178,-7739 }, { 179,-7739 }, { 180,-7739 }, { 181,-7739 }, + { 182,-7739 }, { 183,-7739 }, { 184,-7739 }, { 185,-7739 }, { 186,-7739 }, + { 187,-7739 }, { 188,-7739 }, { 189,-7739 }, { 190,-7739 }, { 191,-7739 }, + { 192,-7739 }, { 193,-7739 }, { 194,-7739 }, { 195,-7739 }, { 196,-7739 }, + + { 197,-7739 }, { 198,-7739 }, { 199,-7739 }, { 200,-7739 }, { 201,-7739 }, + { 202,-7739 }, { 203,-7739 }, { 204,-7739 }, { 205,-7739 }, { 206,-7739 }, + { 207,-7739 }, { 208,-7739 }, { 209,-7739 }, { 210,-7739 }, { 211,-7739 }, + { 212,-7739 }, { 213,-7739 }, { 214,-7739 }, { 215,-7739 }, { 216,-7739 }, + { 217,-7739 }, { 218,-7739 }, { 219,-7739 }, { 220,-7739 }, { 221,-7739 }, + { 222,-7739 }, { 223,-7739 }, { 224,-7739 }, { 225,-7739 }, { 226,-7739 }, + { 227,-7739 }, { 228,-7739 }, { 229,-7739 }, { 230,-7739 }, { 231,-7739 }, + { 232,-7739 }, { 233,-7739 }, { 234,-7739 }, { 235,-7739 }, { 236,-7739 }, + { 237,-7739 }, { 238,-7739 }, { 239,-7739 }, { 240,-7739 }, { 241,-7739 }, + { 242,-7739 }, { 243,-7739 }, { 244,-7739 }, { 245,-7739 }, { 246,-7739 }, + + { 247,-7739 }, { 248,-7739 }, { 249,-7739 }, { 250,-7739 }, { 251,-7739 }, + { 252,-7739 }, { 253,-7739 }, { 254,-7739 }, { 255,-7739 }, { 0, 70 }, + { 0,2562 }, { 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 }, { 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 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 36,-12709 }, { 0, 0 }, { 97,-12598 }, { 98,-12598 }, - { 99,-12598 }, { 100,-12598 }, { 101,-12598 }, { 102,-12598 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, @@ -4950,8 +7479,8 @@ static const struct yy_trans_info yy_transition[21803] = { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, - { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, + { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, @@ -4961,8 +7490,8 @@ static const struct yy_trans_info yy_transition[21803] = { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, - { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, + { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, @@ -4972,8 +7501,8 @@ static const struct yy_trans_info yy_transition[21803] = { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, - { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, + { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, @@ -4983,351 +7512,448 @@ static const struct yy_trans_info yy_transition[21803] = { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, - { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, + { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, - { 255, 0 }, { 0, 28 }, { 0,1926 }, { 0, 0 }, { 0, 0 }, + { 255, 0 }, { 0, 66 }, { 0,2305 }, { 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 }, { 0, 28 }, - { 0,1903 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,1216 }, { 49,1216 }, { 50,1216 }, { 51,1216 }, { 52,1216 }, - { 53,1216 }, { 54,1216 }, { 55,1216 }, { 56,1216 }, { 57,1216 }, - { 0, 0 }, { 0, 0 }, { 0, 64 }, { 0,1865 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,1216 }, { 66,1216 }, { 67,1216 }, - { 68,1216 }, { 69,1216 }, { 70,1216 }, { 48,1216 }, { 49,1216 }, - { 50,1216 }, { 51,1216 }, { 52,1216 }, { 53,1216 }, { 54,1216 }, - { 55,1216 }, { 56,1216 }, { 57,1216 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,1216 }, { 66,1216 }, { 67,1216 }, { 68,1216 }, { 69,1216 }, - { 70,1216 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1216 }, - { 98,1216 }, { 99,1216 }, { 100,1216 }, { 101,1216 }, { 102,1216 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 0, 0 }, { 97,1216 }, { 98,1216 }, { 99,1216 }, - { 100,1216 }, { 101,1216 }, { 102,1216 }, { 65,-13025 }, { 66,-13025 }, - - { 67,-13025 }, { 68,-13025 }, { 69,-2160 }, { 70,-13025 }, { 71,-13025 }, - { 72,-13025 }, { 73,-13025 }, { 74,-13025 }, { 75,-13025 }, { 76,-13025 }, - { 77,-13025 }, { 78,-13025 }, { 79,-13025 }, { 80,-13025 }, { 81,-13025 }, - { 82,-13025 }, { 83,-13025 }, { 84,-13025 }, { 85,-13025 }, { 86,-13025 }, - { 87,-13025 }, { 88,-13025 }, { 89,-13025 }, { 90,-13025 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 257 }, { 0, 0 }, - { 97,-13025 }, { 98,-13025 }, { 99,-13025 }, { 100,-13025 }, { 101,-2160 }, - { 102,-13025 }, { 103,-13025 }, { 104,-13025 }, { 105,-13025 }, { 106,-13025 }, - { 107,-13025 }, { 108,-13025 }, { 109,-13025 }, { 110,-13025 }, { 111,-13025 }, - { 112,-13025 }, { 113,-13025 }, { 114,-13025 }, { 115,-13025 }, { 116,-13025 }, - - { 117,-13025 }, { 118,-13025 }, { 119,-13025 }, { 120,-13025 }, { 121,-13025 }, - { 122,-13025 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128,-13025 }, { 129,-13025 }, { 130,-13025 }, { 131,-13025 }, - { 132,-13025 }, { 133,-13025 }, { 134,-13025 }, { 135,-13025 }, { 136,-13025 }, - { 137,-13025 }, { 138,-13025 }, { 139,-13025 }, { 140,-13025 }, { 141,-13025 }, - { 142,-13025 }, { 143,-13025 }, { 144,-13025 }, { 145,-13025 }, { 146,-13025 }, - { 147,-13025 }, { 148,-13025 }, { 149,-13025 }, { 150,-13025 }, { 151,-13025 }, - { 152,-13025 }, { 153,-13025 }, { 154,-13025 }, { 155,-13025 }, { 156,-13025 }, - { 157,-13025 }, { 158,-13025 }, { 159,-13025 }, { 160,-13025 }, { 161,-13025 }, - { 162,-13025 }, { 163,-13025 }, { 164,-13025 }, { 165,-13025 }, { 166,-13025 }, - - { 167,-13025 }, { 168,-13025 }, { 169,-13025 }, { 170,-13025 }, { 171,-13025 }, - { 172,-13025 }, { 173,-13025 }, { 174,-13025 }, { 175,-13025 }, { 176,-13025 }, - { 177,-13025 }, { 178,-13025 }, { 179,-13025 }, { 180,-13025 }, { 181,-13025 }, - { 182,-13025 }, { 183,-13025 }, { 184,-13025 }, { 185,-13025 }, { 186,-13025 }, - { 187,-13025 }, { 188,-13025 }, { 189,-13025 }, { 190,-13025 }, { 191,-13025 }, - { 192,-13025 }, { 193,-13025 }, { 194,-13025 }, { 195,-13025 }, { 196,-13025 }, - { 197,-13025 }, { 198,-13025 }, { 199,-13025 }, { 200,-13025 }, { 201,-13025 }, - { 202,-13025 }, { 203,-13025 }, { 204,-13025 }, { 205,-13025 }, { 206,-13025 }, - { 207,-13025 }, { 208,-13025 }, { 209,-13025 }, { 210,-13025 }, { 211,-13025 }, - { 212,-13025 }, { 213,-13025 }, { 214,-13025 }, { 215,-13025 }, { 216,-13025 }, - - { 217,-13025 }, { 218,-13025 }, { 219,-13025 }, { 220,-13025 }, { 221,-13025 }, - { 222,-13025 }, { 223,-13025 }, { 224,-13025 }, { 225,-13025 }, { 226,-13025 }, - { 227,-13025 }, { 228,-13025 }, { 229,-13025 }, { 230,-13025 }, { 231,-13025 }, - { 232,-13025 }, { 233,-13025 }, { 234,-13025 }, { 235,-13025 }, { 236,-13025 }, - { 237,-13025 }, { 238,-13025 }, { 239,-13025 }, { 240,-13025 }, { 241,-13025 }, - { 242,-13025 }, { 243,-13025 }, { 244,-13025 }, { 245,-13025 }, { 246,-13025 }, - { 247,-13025 }, { 248,-13025 }, { 249,-13025 }, { 250,-13025 }, { 251,-13025 }, - { 252,-13025 }, { 253,-13025 }, { 254,-13025 }, { 255,-13025 }, { 0, 72 }, - { 0,1608 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 66 }, - - { 0,1598 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,1367 }, { 66,1367 }, { 67,1367 }, + { 68,1367 }, { 69,1367 }, { 70,1367 }, { 71,1367 }, { 72,1367 }, + { 73,1367 }, { 74,1367 }, { 75,1367 }, { 76,1367 }, { 77,1367 }, + { 78,1367 }, { 79,1367 }, { 80,1367 }, { 81,1367 }, { 82,1367 }, + + { 83,1367 }, { 84,1367 }, { 85,1367 }, { 86,1367 }, { 87,1367 }, + { 88,1367 }, { 89,1367 }, { 90,1367 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,1624 }, { 0, 0 }, { 97,1367 }, + { 98,1367 }, { 99,1367 }, { 100,1367 }, { 101,1367 }, { 102,1367 }, + { 103,1367 }, { 104,1367 }, { 105,1367 }, { 106,1367 }, { 107,1367 }, + { 108,1367 }, { 109,1367 }, { 110,1367 }, { 111,1367 }, { 112,1367 }, + { 113,1367 }, { 114,1367 }, { 115,1367 }, { 116,1367 }, { 117,1367 }, + { 118,1367 }, { 119,1367 }, { 120,1367 }, { 121,1367 }, { 122,1367 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,1367 }, { 129,1367 }, { 130,1367 }, { 131,1367 }, { 132,1367 }, + + { 133,1367 }, { 134,1367 }, { 135,1367 }, { 136,1367 }, { 137,1367 }, + { 138,1367 }, { 139,1367 }, { 140,1367 }, { 141,1367 }, { 142,1367 }, + { 143,1367 }, { 144,1367 }, { 145,1367 }, { 146,1367 }, { 147,1367 }, + { 148,1367 }, { 149,1367 }, { 150,1367 }, { 151,1367 }, { 152,1367 }, + { 153,1367 }, { 154,1367 }, { 155,1367 }, { 156,1367 }, { 157,1367 }, + { 158,1367 }, { 159,1367 }, { 160,1367 }, { 161,1367 }, { 162,1367 }, + { 163,1367 }, { 164,1367 }, { 165,1367 }, { 166,1367 }, { 167,1367 }, + { 168,1367 }, { 169,1367 }, { 170,1367 }, { 171,1367 }, { 172,1367 }, + { 173,1367 }, { 174,1367 }, { 175,1367 }, { 176,1367 }, { 177,1367 }, + { 178,1367 }, { 179,1367 }, { 180,1367 }, { 181,1367 }, { 182,1367 }, + + { 183,1367 }, { 184,1367 }, { 185,1367 }, { 186,1367 }, { 187,1367 }, + { 188,1367 }, { 189,1367 }, { 190,1367 }, { 191,1367 }, { 192,1367 }, + { 193,1367 }, { 194,1367 }, { 195,1367 }, { 196,1367 }, { 197,1367 }, + { 198,1367 }, { 199,1367 }, { 200,1367 }, { 201,1367 }, { 202,1367 }, + { 203,1367 }, { 204,1367 }, { 205,1367 }, { 206,1367 }, { 207,1367 }, + { 208,1367 }, { 209,1367 }, { 210,1367 }, { 211,1367 }, { 212,1367 }, + { 213,1367 }, { 214,1367 }, { 215,1367 }, { 216,1367 }, { 217,1367 }, + { 218,1367 }, { 219,1367 }, { 220,1367 }, { 221,1367 }, { 222,1367 }, + { 223,1367 }, { 224,1367 }, { 225,1367 }, { 226,1367 }, { 227,1367 }, + { 228,1367 }, { 229,1367 }, { 230,1367 }, { 231,1367 }, { 232,1367 }, + + { 233,1367 }, { 234,1367 }, { 235,1367 }, { 236,1367 }, { 237,1367 }, + { 238,1367 }, { 239,1367 }, { 240,1367 }, { 241,1367 }, { 242,1367 }, + { 243,1367 }, { 244,1367 }, { 245,1367 }, { 246,1367 }, { 247,1367 }, + { 248,1367 }, { 249,1367 }, { 250,1367 }, { 251,1367 }, { 252,1367 }, + { 253,1367 }, { 254,1367 }, { 255,1367 }, { 0, 68 }, { 0,2048 }, + { 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 }, { 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 }, + { 36,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-1942 }, { 49,-1942 }, { 50,-1942 }, + { 51,-1942 }, { 52,-1942 }, { 53,-1942 }, { 54,-1942 }, { 55,-1942 }, + { 56,-1942 }, { 57,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1942 }, + { 66,-1942 }, { 67,-1942 }, { 68,-1942 }, { 69,-1942 }, { 70,-1942 }, + { 71,-1942 }, { 72,-1942 }, { 73,-1942 }, { 74,-1942 }, { 75,-1942 }, + + { 76,-1942 }, { 77,-1942 }, { 78,-1942 }, { 79,-1942 }, { 80,-1942 }, + { 81,-1942 }, { 82,-1942 }, { 83,-1942 }, { 84,-1942 }, { 85,-1942 }, + { 86,-1942 }, { 87,-1942 }, { 88,-1942 }, { 89,-1942 }, { 90,-1942 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-1942 }, + { 0, 0 }, { 97,-1942 }, { 98,-1942 }, { 99,-1942 }, { 100,-1942 }, + { 101,-1942 }, { 102,-1942 }, { 103,-1942 }, { 104,-1942 }, { 105,-1942 }, + { 106,-1942 }, { 107,-1942 }, { 108,-1942 }, { 109,-1942 }, { 110,-1942 }, + { 111,-1942 }, { 112,-1942 }, { 113,-1942 }, { 114,-1942 }, { 115,-1942 }, + { 116,-1942 }, { 117,-1942 }, { 118,-1942 }, { 119,-1942 }, { 120,-1942 }, + { 121,-1942 }, { 122,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128,-1942 }, { 129,-1942 }, { 130,-1942 }, + { 131,-1942 }, { 132,-1942 }, { 133,-1942 }, { 134,-1942 }, { 135,-1942 }, + { 136,-1942 }, { 137,-1942 }, { 138,-1942 }, { 139,-1942 }, { 140,-1942 }, + { 141,-1942 }, { 142,-1942 }, { 143,-1942 }, { 144,-1942 }, { 145,-1942 }, + { 146,-1942 }, { 147,-1942 }, { 148,-1942 }, { 149,-1942 }, { 150,-1942 }, + { 151,-1942 }, { 152,-1942 }, { 153,-1942 }, { 154,-1942 }, { 155,-1942 }, + { 156,-1942 }, { 157,-1942 }, { 158,-1942 }, { 159,-1942 }, { 160,-1942 }, + { 161,-1942 }, { 162,-1942 }, { 163,-1942 }, { 164,-1942 }, { 165,-1942 }, + { 166,-1942 }, { 167,-1942 }, { 168,-1942 }, { 169,-1942 }, { 170,-1942 }, + { 171,-1942 }, { 172,-1942 }, { 173,-1942 }, { 174,-1942 }, { 175,-1942 }, + + { 176,-1942 }, { 177,-1942 }, { 178,-1942 }, { 179,-1942 }, { 180,-1942 }, + { 181,-1942 }, { 182,-1942 }, { 183,-1942 }, { 184,-1942 }, { 185,-1942 }, + { 186,-1942 }, { 187,-1942 }, { 188,-1942 }, { 189,-1942 }, { 190,-1942 }, + { 191,-1942 }, { 192,-1942 }, { 193,-1942 }, { 194,-1942 }, { 195,-1942 }, + { 196,-1942 }, { 197,-1942 }, { 198,-1942 }, { 199,-1942 }, { 200,-1942 }, + { 201,-1942 }, { 202,-1942 }, { 203,-1942 }, { 204,-1942 }, { 205,-1942 }, + { 206,-1942 }, { 207,-1942 }, { 208,-1942 }, { 209,-1942 }, { 210,-1942 }, + { 211,-1942 }, { 212,-1942 }, { 213,-1942 }, { 214,-1942 }, { 215,-1942 }, + { 216,-1942 }, { 217,-1942 }, { 218,-1942 }, { 219,-1942 }, { 220,-1942 }, + { 221,-1942 }, { 222,-1942 }, { 223,-1942 }, { 224,-1942 }, { 225,-1942 }, + + { 226,-1942 }, { 227,-1942 }, { 228,-1942 }, { 229,-1942 }, { 230,-1942 }, + { 231,-1942 }, { 232,-1942 }, { 233,-1942 }, { 234,-1942 }, { 235,-1942 }, + { 236,-1942 }, { 237,-1942 }, { 238,-1942 }, { 239,-1942 }, { 240,-1942 }, + { 241,-1942 }, { 242,-1942 }, { 243,-1942 }, { 244,-1942 }, { 245,-1942 }, + { 246,-1942 }, { 247,-1942 }, { 248,-1942 }, { 249,-1942 }, { 250,-1942 }, + { 251,-1942 }, { 252,-1942 }, { 253,-1942 }, { 254,-1942 }, { 255,-1942 }, + { 0, 68 }, { 0,1791 }, { 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 }, { 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 }, { 36,-2199 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1942 }, + { 49,-1942 }, { 50,-1942 }, { 51,-1942 }, { 52,-1942 }, { 53,-1942 }, + { 54,-1942 }, { 55,-1942 }, { 56,-1942 }, { 57,-1942 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-2199 }, { 66,-2199 }, { 67,-2199 }, { 68,-2199 }, + + { 69,-2199 }, { 70,-2199 }, { 71,-2199 }, { 72,-2199 }, { 73,-2199 }, + { 74,-2199 }, { 75,-2199 }, { 76,-2199 }, { 77,-2199 }, { 78,-2199 }, + { 79,-2199 }, { 80,-2199 }, { 81,-2199 }, { 82,-2199 }, { 83,-2199 }, + { 84,-2199 }, { 85,-2199 }, { 86,-2199 }, { 87,-2199 }, { 88,-2199 }, + { 89,-2199 }, { 90,-2199 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-2199 }, { 0, 0 }, { 97,-2199 }, { 98,-2199 }, + { 99,-2199 }, { 100,-2199 }, { 101,-2199 }, { 102,-2199 }, { 103,-2199 }, + { 104,-2199 }, { 105,-2199 }, { 106,-2199 }, { 107,-2199 }, { 108,-2199 }, + { 109,-2199 }, { 110,-2199 }, { 111,-2199 }, { 112,-2199 }, { 113,-2199 }, + { 114,-2199 }, { 115,-2199 }, { 116,-2199 }, { 117,-2199 }, { 118,-2199 }, + + { 119,-2199 }, { 120,-2199 }, { 121,-2199 }, { 122,-2199 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-2199 }, + { 129,-2199 }, { 130,-2199 }, { 131,-2199 }, { 132,-2199 }, { 133,-2199 }, + { 134,-2199 }, { 135,-2199 }, { 136,-2199 }, { 137,-2199 }, { 138,-2199 }, + { 139,-2199 }, { 140,-2199 }, { 141,-2199 }, { 142,-2199 }, { 143,-2199 }, + { 144,-2199 }, { 145,-2199 }, { 146,-2199 }, { 147,-2199 }, { 148,-2199 }, + { 149,-2199 }, { 150,-2199 }, { 151,-2199 }, { 152,-2199 }, { 153,-2199 }, + { 154,-2199 }, { 155,-2199 }, { 156,-2199 }, { 157,-2199 }, { 158,-2199 }, + { 159,-2199 }, { 160,-2199 }, { 161,-2199 }, { 162,-2199 }, { 163,-2199 }, + { 164,-2199 }, { 165,-2199 }, { 166,-2199 }, { 167,-2199 }, { 168,-2199 }, + + { 169,-2199 }, { 170,-2199 }, { 171,-2199 }, { 172,-2199 }, { 173,-2199 }, + { 174,-2199 }, { 175,-2199 }, { 176,-2199 }, { 177,-2199 }, { 178,-2199 }, + { 179,-2199 }, { 180,-2199 }, { 181,-2199 }, { 182,-2199 }, { 183,-2199 }, + { 184,-2199 }, { 185,-2199 }, { 186,-2199 }, { 187,-2199 }, { 188,-2199 }, + { 189,-2199 }, { 190,-2199 }, { 191,-2199 }, { 192,-2199 }, { 193,-2199 }, + { 194,-2199 }, { 195,-2199 }, { 196,-2199 }, { 197,-2199 }, { 198,-2199 }, + { 199,-2199 }, { 200,-2199 }, { 201,-2199 }, { 202,-2199 }, { 203,-2199 }, + { 204,-2199 }, { 205,-2199 }, { 206,-2199 }, { 207,-2199 }, { 208,-2199 }, + { 209,-2199 }, { 210,-2199 }, { 211,-2199 }, { 212,-2199 }, { 213,-2199 }, + { 214,-2199 }, { 215,-2199 }, { 216,-2199 }, { 217,-2199 }, { 218,-2199 }, + + { 219,-2199 }, { 220,-2199 }, { 221,-2199 }, { 222,-2199 }, { 223,-2199 }, + { 224,-2199 }, { 225,-2199 }, { 226,-2199 }, { 227,-2199 }, { 228,-2199 }, + { 229,-2199 }, { 230,-2199 }, { 231,-2199 }, { 232,-2199 }, { 233,-2199 }, + { 234,-2199 }, { 235,-2199 }, { 236,-2199 }, { 237,-2199 }, { 238,-2199 }, + { 239,-2199 }, { 240,-2199 }, { 241,-2199 }, { 242,-2199 }, { 243,-2199 }, + { 244,-2199 }, { 245,-2199 }, { 246,-2199 }, { 247,-2199 }, { 248,-2199 }, + { 249,-2199 }, { 250,-2199 }, { 251,-2199 }, { 252,-2199 }, { 253,-2199 }, + { 254,-2199 }, { 255,-2199 }, { 0, 28 }, { 0,1534 }, { 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 }, + { 0, 28 }, { 0,1511 }, { 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 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,1110 }, { 49,1110 }, { 50,1110 }, { 51,1110 }, + { 52,1110 }, { 53,1110 }, { 54,1110 }, { 55,1110 }, { 56,1110 }, + { 57,1110 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1110 }, { 66,1110 }, + { 67,1110 }, { 68,1110 }, { 69,1110 }, { 70,1110 }, { 48,1110 }, + { 49,1110 }, { 50,1110 }, { 51,1110 }, { 52,1110 }, { 53,1110 }, + { 54,1110 }, { 55,1110 }, { 56,1110 }, { 57,1110 }, { 0, 69 }, + { 0,1452 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1110 }, { 66,1110 }, { 67,1110 }, { 68,1110 }, + { 69,1110 }, { 70,1110 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,1110 }, { 98,1110 }, { 99,1110 }, { 100,1110 }, { 101,1110 }, + { 102,1110 }, { 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 }, { 36,-1881 }, { 0, 0 }, { 97,1110 }, { 98,1110 }, + { 99,1110 }, { 100,1110 }, { 101,1110 }, { 102,1110 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1881 }, { 49,-1881 }, + { 50,-1881 }, { 51,-1881 }, { 52,-1881 }, { 53,-1881 }, { 54,-1881 }, + { 55,-1881 }, { 56,-1881 }, { 57,-1881 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-1881 }, { 66,-1881 }, { 67,-1881 }, { 68,-1881 }, { 69,-1881 }, + { 70,-1881 }, { 71,-1881 }, { 72,-1881 }, { 73,-1881 }, { 74,-1881 }, + { 75,-1881 }, { 76,-1881 }, { 77,-1881 }, { 78,-1881 }, { 79,-1881 }, + + { 80,-1881 }, { 81,-1881 }, { 82,-1881 }, { 83,-1881 }, { 84,-1881 }, + { 85,-1881 }, { 86,-1881 }, { 87,-1881 }, { 88,-1881 }, { 89,-1881 }, + { 90,-1881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-1881 }, { 0, 0 }, { 97,-1881 }, { 98,-1881 }, { 99,-1881 }, + { 100,-1881 }, { 101,-1881 }, { 102,-1881 }, { 103,-1881 }, { 104,-1881 }, + { 105,-1881 }, { 106,-1881 }, { 107,-1881 }, { 108,-1881 }, { 109,-1881 }, + { 110,-1881 }, { 111,-1881 }, { 112,-1881 }, { 113,-1881 }, { 114,-1881 }, + { 115,-1881 }, { 116,-1881 }, { 117,-1881 }, { 118,-1881 }, { 119,-1881 }, + { 120,-1881 }, { 121,-1881 }, { 122,-1881 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1881 }, { 129,-1881 }, + + { 130,-1881 }, { 131,-1881 }, { 132,-1881 }, { 133,-1881 }, { 134,-1881 }, + { 135,-1881 }, { 136,-1881 }, { 137,-1881 }, { 138,-1881 }, { 139,-1881 }, + { 140,-1881 }, { 141,-1881 }, { 142,-1881 }, { 143,-1881 }, { 144,-1881 }, + { 145,-1881 }, { 146,-1881 }, { 147,-1881 }, { 148,-1881 }, { 149,-1881 }, + { 150,-1881 }, { 151,-1881 }, { 152,-1881 }, { 153,-1881 }, { 154,-1881 }, + { 155,-1881 }, { 156,-1881 }, { 157,-1881 }, { 158,-1881 }, { 159,-1881 }, + { 160,-1881 }, { 161,-1881 }, { 162,-1881 }, { 163,-1881 }, { 164,-1881 }, + { 165,-1881 }, { 166,-1881 }, { 167,-1881 }, { 168,-1881 }, { 169,-1881 }, + { 170,-1881 }, { 171,-1881 }, { 172,-1881 }, { 173,-1881 }, { 174,-1881 }, + { 175,-1881 }, { 176,-1881 }, { 177,-1881 }, { 178,-1881 }, { 179,-1881 }, + + { 180,-1881 }, { 181,-1881 }, { 182,-1881 }, { 183,-1881 }, { 184,-1881 }, + { 185,-1881 }, { 186,-1881 }, { 187,-1881 }, { 188,-1881 }, { 189,-1881 }, + { 190,-1881 }, { 191,-1881 }, { 192,-1881 }, { 193,-1881 }, { 194,-1881 }, + { 195,-1881 }, { 196,-1881 }, { 197,-1881 }, { 198,-1881 }, { 199,-1881 }, + { 200,-1881 }, { 201,-1881 }, { 202,-1881 }, { 203,-1881 }, { 204,-1881 }, + { 205,-1881 }, { 206,-1881 }, { 207,-1881 }, { 208,-1881 }, { 209,-1881 }, + { 210,-1881 }, { 211,-1881 }, { 212,-1881 }, { 213,-1881 }, { 214,-1881 }, + { 215,-1881 }, { 216,-1881 }, { 217,-1881 }, { 218,-1881 }, { 219,-1881 }, + { 220,-1881 }, { 221,-1881 }, { 222,-1881 }, { 223,-1881 }, { 224,-1881 }, + { 225,-1881 }, { 226,-1881 }, { 227,-1881 }, { 228,-1881 }, { 229,-1881 }, + + { 230,-1881 }, { 231,-1881 }, { 232,-1881 }, { 233,-1881 }, { 234,-1881 }, + { 235,-1881 }, { 236,-1881 }, { 237,-1881 }, { 238,-1881 }, { 239,-1881 }, + { 240,-1881 }, { 241,-1881 }, { 242,-1881 }, { 243,-1881 }, { 244,-1881 }, + { 245,-1881 }, { 246,-1881 }, { 247,-1881 }, { 248,-1881 }, { 249,-1881 }, + { 250,-1881 }, { 251,-1881 }, { 252,-1881 }, { 253,-1881 }, { 254,-1881 }, + { 255,-1881 }, { 0, 69 }, { 0,1195 }, { 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 }, { 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 }, { 36,-2138 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-1881 }, { 49,-1881 }, { 50,-1881 }, { 51,-1881 }, { 52,-1881 }, + { 53,-1881 }, { 54,-1881 }, { 55,-1881 }, { 56,-1881 }, { 57,-1881 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-2138 }, { 66,-2138 }, { 67,-2138 }, + { 68,-2138 }, { 69,-2138 }, { 70,-2138 }, { 71,-2138 }, { 72,-2138 }, + + { 73,-2138 }, { 74,-2138 }, { 75,-2138 }, { 76,-2138 }, { 77,-2138 }, + { 78,-2138 }, { 79,-2138 }, { 80,-2138 }, { 81,-2138 }, { 82,-2138 }, + { 83,-2138 }, { 84,-2138 }, { 85,-2138 }, { 86,-2138 }, { 87,-2138 }, + { 88,-2138 }, { 89,-2138 }, { 90,-2138 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-2138 }, { 0, 0 }, { 97,-2138 }, + { 98,-2138 }, { 99,-2138 }, { 100,-2138 }, { 101,-2138 }, { 102,-2138 }, + { 103,-2138 }, { 104,-2138 }, { 105,-2138 }, { 106,-2138 }, { 107,-2138 }, + { 108,-2138 }, { 109,-2138 }, { 110,-2138 }, { 111,-2138 }, { 112,-2138 }, + { 113,-2138 }, { 114,-2138 }, { 115,-2138 }, { 116,-2138 }, { 117,-2138 }, + { 118,-2138 }, { 119,-2138 }, { 120,-2138 }, { 121,-2138 }, { 122,-2138 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-2138 }, { 129,-2138 }, { 130,-2138 }, { 131,-2138 }, { 132,-2138 }, + { 133,-2138 }, { 134,-2138 }, { 135,-2138 }, { 136,-2138 }, { 137,-2138 }, + { 138,-2138 }, { 139,-2138 }, { 140,-2138 }, { 141,-2138 }, { 142,-2138 }, + { 143,-2138 }, { 144,-2138 }, { 145,-2138 }, { 146,-2138 }, { 147,-2138 }, + { 148,-2138 }, { 149,-2138 }, { 150,-2138 }, { 151,-2138 }, { 152,-2138 }, + { 153,-2138 }, { 154,-2138 }, { 155,-2138 }, { 156,-2138 }, { 157,-2138 }, + { 158,-2138 }, { 159,-2138 }, { 160,-2138 }, { 161,-2138 }, { 162,-2138 }, + { 163,-2138 }, { 164,-2138 }, { 165,-2138 }, { 166,-2138 }, { 167,-2138 }, + { 168,-2138 }, { 169,-2138 }, { 170,-2138 }, { 171,-2138 }, { 172,-2138 }, + + { 173,-2138 }, { 174,-2138 }, { 175,-2138 }, { 176,-2138 }, { 177,-2138 }, + { 178,-2138 }, { 179,-2138 }, { 180,-2138 }, { 181,-2138 }, { 182,-2138 }, + { 183,-2138 }, { 184,-2138 }, { 185,-2138 }, { 186,-2138 }, { 187,-2138 }, + { 188,-2138 }, { 189,-2138 }, { 190,-2138 }, { 191,-2138 }, { 192,-2138 }, + { 193,-2138 }, { 194,-2138 }, { 195,-2138 }, { 196,-2138 }, { 197,-2138 }, + { 198,-2138 }, { 199,-2138 }, { 200,-2138 }, { 201,-2138 }, { 202,-2138 }, + { 203,-2138 }, { 204,-2138 }, { 205,-2138 }, { 206,-2138 }, { 207,-2138 }, + { 208,-2138 }, { 209,-2138 }, { 210,-2138 }, { 211,-2138 }, { 212,-2138 }, + { 213,-2138 }, { 214,-2138 }, { 215,-2138 }, { 216,-2138 }, { 217,-2138 }, + { 218,-2138 }, { 219,-2138 }, { 220,-2138 }, { 221,-2138 }, { 222,-2138 }, + + { 223,-2138 }, { 224,-2138 }, { 225,-2138 }, { 226,-2138 }, { 227,-2138 }, + { 228,-2138 }, { 229,-2138 }, { 230,-2138 }, { 231,-2138 }, { 232,-2138 }, + { 233,-2138 }, { 234,-2138 }, { 235,-2138 }, { 236,-2138 }, { 237,-2138 }, + { 238,-2138 }, { 239,-2138 }, { 240,-2138 }, { 241,-2138 }, { 242,-2138 }, + { 243,-2138 }, { 244,-2138 }, { 245,-2138 }, { 246,-2138 }, { 247,-2138 }, + { 248,-2138 }, { 249,-2138 }, { 250,-2138 }, { 251,-2138 }, { 252,-2138 }, + { 253,-2138 }, { 254,-2138 }, { 255,-2138 }, { 0, 70 }, { 0, 938 }, + { 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 }, { 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 }, + { 36,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-1624 }, { 49,-1624 }, { 50,-1624 }, + { 51,-1624 }, { 52,-1624 }, { 53,-1624 }, { 54,-1624 }, { 55,-1624 }, + { 56,-1624 }, { 57,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1624 }, + + { 66,-1624 }, { 67,-1624 }, { 68,-1624 }, { 69,-1624 }, { 70,-1624 }, + { 71,-1624 }, { 72,-1624 }, { 73,-1624 }, { 74,-1624 }, { 75,-1624 }, + { 76,-1624 }, { 77,-1624 }, { 78,-1624 }, { 79,-1624 }, { 80,-1624 }, + { 81,-1624 }, { 82,-1624 }, { 83,-1624 }, { 84,-1624 }, { 85,-1624 }, + { 86,-1624 }, { 87,-1624 }, { 88,-1624 }, { 89,-1624 }, { 90,-1624 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-1624 }, + { 0, 0 }, { 97,-1624 }, { 98,-1624 }, { 99,-1624 }, { 100,-1624 }, + { 101,-1624 }, { 102,-1624 }, { 103,-1624 }, { 104,-1624 }, { 105,-1624 }, + { 106,-1624 }, { 107,-1624 }, { 108,-1624 }, { 109,-1624 }, { 110,-1624 }, + { 111,-1624 }, { 112,-1624 }, { 113,-1624 }, { 114,-1624 }, { 115,-1624 }, + + { 116,-1624 }, { 117,-1624 }, { 118,-1624 }, { 119,-1624 }, { 120,-1624 }, + { 121,-1624 }, { 122,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-1624 }, { 129,-1624 }, { 130,-1624 }, + { 131,-1624 }, { 132,-1624 }, { 133,-1624 }, { 134,-1624 }, { 135,-1624 }, + { 136,-1624 }, { 137,-1624 }, { 138,-1624 }, { 139,-1624 }, { 140,-1624 }, + { 141,-1624 }, { 142,-1624 }, { 143,-1624 }, { 144,-1624 }, { 145,-1624 }, + { 146,-1624 }, { 147,-1624 }, { 148,-1624 }, { 149,-1624 }, { 150,-1624 }, + { 151,-1624 }, { 152,-1624 }, { 153,-1624 }, { 154,-1624 }, { 155,-1624 }, + { 156,-1624 }, { 157,-1624 }, { 158,-1624 }, { 159,-1624 }, { 160,-1624 }, + { 161,-1624 }, { 162,-1624 }, { 163,-1624 }, { 164,-1624 }, { 165,-1624 }, + + { 166,-1624 }, { 167,-1624 }, { 168,-1624 }, { 169,-1624 }, { 170,-1624 }, + { 171,-1624 }, { 172,-1624 }, { 173,-1624 }, { 174,-1624 }, { 175,-1624 }, + { 176,-1624 }, { 177,-1624 }, { 178,-1624 }, { 179,-1624 }, { 180,-1624 }, + { 181,-1624 }, { 182,-1624 }, { 183,-1624 }, { 184,-1624 }, { 185,-1624 }, + { 186,-1624 }, { 187,-1624 }, { 188,-1624 }, { 189,-1624 }, { 190,-1624 }, + { 191,-1624 }, { 192,-1624 }, { 193,-1624 }, { 194,-1624 }, { 195,-1624 }, + { 196,-1624 }, { 197,-1624 }, { 198,-1624 }, { 199,-1624 }, { 200,-1624 }, + { 201,-1624 }, { 202,-1624 }, { 203,-1624 }, { 204,-1624 }, { 205,-1624 }, + { 206,-1624 }, { 207,-1624 }, { 208,-1624 }, { 209,-1624 }, { 210,-1624 }, + { 211,-1624 }, { 212,-1624 }, { 213,-1624 }, { 214,-1624 }, { 215,-1624 }, + + { 216,-1624 }, { 217,-1624 }, { 218,-1624 }, { 219,-1624 }, { 220,-1624 }, + { 221,-1624 }, { 222,-1624 }, { 223,-1624 }, { 224,-1624 }, { 225,-1624 }, + { 226,-1624 }, { 227,-1624 }, { 228,-1624 }, { 229,-1624 }, { 230,-1624 }, + { 231,-1624 }, { 232,-1624 }, { 233,-1624 }, { 234,-1624 }, { 235,-1624 }, + { 236,-1624 }, { 237,-1624 }, { 238,-1624 }, { 239,-1624 }, { 240,-1624 }, + { 241,-1624 }, { 242,-1624 }, { 243,-1624 }, { 244,-1624 }, { 245,-1624 }, + { 246,-1624 }, { 247,-1624 }, { 248,-1624 }, { 249,-1624 }, { 250,-1624 }, + { 251,-1624 }, { 252,-1624 }, { 253,-1624 }, { 254,-1624 }, { 255,-1624 }, + { 0, 70 }, { 0, 681 }, { 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 }, { 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 }, { 36,-1881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, - { 50,-257 }, { 51,-257 }, { 52,-257 }, { 53,-257 }, { 54,-257 }, - { 55,-257 }, { 56,-257 }, { 57,-257 }, { 48, 0 }, { 49, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1624 }, + { 49,-1624 }, { 50,-1624 }, { 51,-1624 }, { 52,-1624 }, { 53,-1624 }, + { 54,-1624 }, { 55,-1624 }, { 56,-1624 }, { 57,-1624 }, { 0, 0 }, - { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,-13263 }, { 66,-13263 }, { 67,-13263 }, { 68,-13263 }, { 69,-13263 }, - { 70,-13263 }, { 71,-13263 }, { 72,-13263 }, { 73,-13263 }, { 74,-13263 }, - { 75,-13263 }, { 76,-13263 }, { 77,-13263 }, { 78,-13263 }, { 79,-13263 }, - { 80,-13263 }, { 81,-13263 }, { 82,-13263 }, { 83,-13263 }, { 84,-13263 }, - { 85,-13263 }, { 86,-13263 }, { 87,-13263 }, { 88,-13263 }, { 89,-13263 }, - { 90,-13263 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95, 257 }, { 0, 0 }, { 97,-13263 }, { 98,-13263 }, { 99,-13263 }, - - { 100,-13263 }, { 101,-13263 }, { 102,-13263 }, { 103,-13263 }, { 104,-13263 }, - { 105,-13263 }, { 106,-13263 }, { 107,-13263 }, { 108,-13263 }, { 109,-13263 }, - { 110,-13263 }, { 111,-13263 }, { 112,-13263 }, { 113,-13263 }, { 114,-13263 }, - { 115,-13263 }, { 116,-13263 }, { 117,-13263 }, { 118,-13263 }, { 119,-13263 }, - { 120,-13263 }, { 121,-13263 }, { 122,-13263 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-13263 }, { 129,-13263 }, - { 130,-13263 }, { 131,-13263 }, { 132,-13263 }, { 133,-13263 }, { 134,-13263 }, - { 135,-13263 }, { 136,-13263 }, { 137,-13263 }, { 138,-13263 }, { 139,-13263 }, - { 140,-13263 }, { 141,-13263 }, { 142,-13263 }, { 143,-13263 }, { 144,-13263 }, - { 145,-13263 }, { 146,-13263 }, { 147,-13263 }, { 148,-13263 }, { 149,-13263 }, - - { 150,-13263 }, { 151,-13263 }, { 152,-13263 }, { 153,-13263 }, { 154,-13263 }, - { 155,-13263 }, { 156,-13263 }, { 157,-13263 }, { 158,-13263 }, { 159,-13263 }, - { 160,-13263 }, { 161,-13263 }, { 162,-13263 }, { 163,-13263 }, { 164,-13263 }, - { 165,-13263 }, { 166,-13263 }, { 167,-13263 }, { 168,-13263 }, { 169,-13263 }, - { 170,-13263 }, { 171,-13263 }, { 172,-13263 }, { 173,-13263 }, { 174,-13263 }, - { 175,-13263 }, { 176,-13263 }, { 177,-13263 }, { 178,-13263 }, { 179,-13263 }, - { 180,-13263 }, { 181,-13263 }, { 182,-13263 }, { 183,-13263 }, { 184,-13263 }, - { 185,-13263 }, { 186,-13263 }, { 187,-13263 }, { 188,-13263 }, { 189,-13263 }, - { 190,-13263 }, { 191,-13263 }, { 192,-13263 }, { 193,-13263 }, { 194,-13263 }, - { 195,-13263 }, { 196,-13263 }, { 197,-13263 }, { 198,-13263 }, { 199,-13263 }, - - { 200,-13263 }, { 201,-13263 }, { 202,-13263 }, { 203,-13263 }, { 204,-13263 }, - { 205,-13263 }, { 206,-13263 }, { 207,-13263 }, { 208,-13263 }, { 209,-13263 }, - { 210,-13263 }, { 211,-13263 }, { 212,-13263 }, { 213,-13263 }, { 214,-13263 }, - { 215,-13263 }, { 216,-13263 }, { 217,-13263 }, { 218,-13263 }, { 219,-13263 }, - { 220,-13263 }, { 221,-13263 }, { 222,-13263 }, { 223,-13263 }, { 224,-13263 }, - { 225,-13263 }, { 226,-13263 }, { 227,-13263 }, { 228,-13263 }, { 229,-13263 }, - { 230,-13263 }, { 231,-13263 }, { 232,-13263 }, { 233,-13263 }, { 234,-13263 }, - { 235,-13263 }, { 236,-13263 }, { 237,-13263 }, { 238,-13263 }, { 239,-13263 }, - { 240,-13263 }, { 241,-13263 }, { 242,-13263 }, { 243,-13263 }, { 244,-13263 }, - { 245,-13263 }, { 246,-13263 }, { 247,-13263 }, { 248,-13263 }, { 249,-13263 }, - - { 250,-13263 }, { 251,-13263 }, { 252,-13263 }, { 253,-13263 }, { 254,-13263 }, - { 255,-13263 }, { 0, 73 }, { 0,1341 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 70 }, { 0,1331 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 58 }, - { 0,1323 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,-257 }, { 49,-257 }, { 50,-257 }, { 51,-257 }, { 52,-257 }, - { 53,-257 }, { 54,-257 }, { 55,-257 }, { 56,-257 }, { 57,-257 }, - { 48,-1822 }, { 49,-1822 }, { 50,-1822 }, { 51,-1822 }, { 52,-1822 }, - { 53,-1822 }, { 54,-1822 }, { 55,-1822 }, { 48,-1573 }, { 49,-1573 }, - { 50,-1573 }, { 51,-1573 }, { 52,-1573 }, { 53,-1573 }, { 54,-1573 }, - { 55,-1573 }, { 56,-1573 }, { 57,-1573 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-1881 }, { 66,-1881 }, { 67,-1881 }, { 68,-1881 }, + { 69,-1881 }, { 70,-1881 }, { 71,-1881 }, { 72,-1881 }, { 73,-1881 }, + { 74,-1881 }, { 75,-1881 }, { 76,-1881 }, { 77,-1881 }, { 78,-1881 }, + { 79,-1881 }, { 80,-1881 }, { 81,-1881 }, { 82,-1881 }, { 83,-1881 }, + { 84,-1881 }, { 85,-1881 }, { 86,-1881 }, { 87,-1881 }, { 88,-1881 }, + { 89,-1881 }, { 90,-1881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-1881 }, { 0, 0 }, { 97,-1881 }, { 98,-1881 }, + { 99,-1881 }, { 100,-1881 }, { 101,-1881 }, { 102,-1881 }, { 103,-1881 }, + { 104,-1881 }, { 105,-1881 }, { 106,-1881 }, { 107,-1881 }, { 108,-1881 }, + + { 109,-1881 }, { 110,-1881 }, { 111,-1881 }, { 112,-1881 }, { 113,-1881 }, + { 114,-1881 }, { 115,-1881 }, { 116,-1881 }, { 117,-1881 }, { 118,-1881 }, + { 119,-1881 }, { 120,-1881 }, { 121,-1881 }, { 122,-1881 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1881 }, + { 129,-1881 }, { 130,-1881 }, { 131,-1881 }, { 132,-1881 }, { 133,-1881 }, + { 134,-1881 }, { 135,-1881 }, { 136,-1881 }, { 137,-1881 }, { 138,-1881 }, + { 139,-1881 }, { 140,-1881 }, { 141,-1881 }, { 142,-1881 }, { 143,-1881 }, + { 144,-1881 }, { 145,-1881 }, { 146,-1881 }, { 147,-1881 }, { 148,-1881 }, + { 149,-1881 }, { 150,-1881 }, { 151,-1881 }, { 152,-1881 }, { 153,-1881 }, + { 154,-1881 }, { 155,-1881 }, { 156,-1881 }, { 157,-1881 }, { 158,-1881 }, + + { 159,-1881 }, { 160,-1881 }, { 161,-1881 }, { 162,-1881 }, { 163,-1881 }, + { 164,-1881 }, { 165,-1881 }, { 166,-1881 }, { 167,-1881 }, { 168,-1881 }, + { 169,-1881 }, { 170,-1881 }, { 171,-1881 }, { 172,-1881 }, { 173,-1881 }, + { 174,-1881 }, { 175,-1881 }, { 176,-1881 }, { 177,-1881 }, { 178,-1881 }, + { 179,-1881 }, { 180,-1881 }, { 181,-1881 }, { 182,-1881 }, { 183,-1881 }, + { 184,-1881 }, { 185,-1881 }, { 186,-1881 }, { 187,-1881 }, { 188,-1881 }, + { 189,-1881 }, { 190,-1881 }, { 191,-1881 }, { 192,-1881 }, { 193,-1881 }, + { 194,-1881 }, { 195,-1881 }, { 196,-1881 }, { 197,-1881 }, { 198,-1881 }, + { 199,-1881 }, { 200,-1881 }, { 201,-1881 }, { 202,-1881 }, { 203,-1881 }, + { 204,-1881 }, { 205,-1881 }, { 206,-1881 }, { 207,-1881 }, { 208,-1881 }, + + { 209,-1881 }, { 210,-1881 }, { 211,-1881 }, { 212,-1881 }, { 213,-1881 }, + { 214,-1881 }, { 215,-1881 }, { 216,-1881 }, { 217,-1881 }, { 218,-1881 }, + { 219,-1881 }, { 220,-1881 }, { 221,-1881 }, { 222,-1881 }, { 223,-1881 }, + { 224,-1881 }, { 225,-1881 }, { 226,-1881 }, { 227,-1881 }, { 228,-1881 }, + { 229,-1881 }, { 230,-1881 }, { 231,-1881 }, { 232,-1881 }, { 233,-1881 }, + { 234,-1881 }, { 235,-1881 }, { 236,-1881 }, { 237,-1881 }, { 238,-1881 }, + { 239,-1881 }, { 240,-1881 }, { 241,-1881 }, { 242,-1881 }, { 243,-1881 }, + { 244,-1881 }, { 245,-1881 }, { 246,-1881 }, { 247,-1881 }, { 248,-1881 }, + { 249,-1881 }, { 250,-1881 }, { 251,-1881 }, { 252,-1881 }, { 253,-1881 }, + { 254,-1881 }, { 255,-1881 }, { 0, 28 }, { 0, 424 }, { 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 }, + { 0, 28 }, { 0, 401 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, - { 70, 0 }, { 71,-13530 }, { 72,-13530 }, { 73,-13530 }, { 74,-13530 }, - - { 75,-13530 }, { 76,-13530 }, { 77,-13530 }, { 78,-13530 }, { 79,-13530 }, - { 80,-13530 }, { 81,-13530 }, { 82,-13530 }, { 83,-13530 }, { 84,-13530 }, - { 85,-13530 }, { 86,-13530 }, { 87,-13530 }, { 88,-13530 }, { 89,-13530 }, - { 90,-13530 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95, 257 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, - { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103,-13530 }, { 104,-13530 }, - { 105,-13530 }, { 106,-13530 }, { 107,-13530 }, { 108,-13530 }, { 109,-13530 }, - { 110,-13530 }, { 111,-13530 }, { 112,-13530 }, { 113,-13530 }, { 114,-13530 }, - { 115,-13530 }, { 116,-13530 }, { 117,-13530 }, { 118,-13530 }, { 119,-13530 }, - { 120,-13530 }, { 121,-13530 }, { 122,-13530 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-13530 }, { 129,-13530 }, - { 130,-13530 }, { 131,-13530 }, { 132,-13530 }, { 133,-13530 }, { 134,-13530 }, - { 135,-13530 }, { 136,-13530 }, { 137,-13530 }, { 138,-13530 }, { 139,-13530 }, - { 140,-13530 }, { 141,-13530 }, { 142,-13530 }, { 143,-13530 }, { 144,-13530 }, - { 145,-13530 }, { 146,-13530 }, { 147,-13530 }, { 148,-13530 }, { 149,-13530 }, - { 150,-13530 }, { 151,-13530 }, { 152,-13530 }, { 153,-13530 }, { 154,-13530 }, - { 155,-13530 }, { 156,-13530 }, { 157,-13530 }, { 158,-13530 }, { 159,-13530 }, - { 160,-13530 }, { 161,-13530 }, { 162,-13530 }, { 163,-13530 }, { 164,-13530 }, - { 165,-13530 }, { 166,-13530 }, { 167,-13530 }, { 168,-13530 }, { 169,-13530 }, - { 170,-13530 }, { 171,-13530 }, { 172,-13530 }, { 173,-13530 }, { 174,-13530 }, - - { 175,-13530 }, { 176,-13530 }, { 177,-13530 }, { 178,-13530 }, { 179,-13530 }, - { 180,-13530 }, { 181,-13530 }, { 182,-13530 }, { 183,-13530 }, { 184,-13530 }, - { 185,-13530 }, { 186,-13530 }, { 187,-13530 }, { 188,-13530 }, { 189,-13530 }, - { 190,-13530 }, { 191,-13530 }, { 192,-13530 }, { 193,-13530 }, { 194,-13530 }, - { 195,-13530 }, { 196,-13530 }, { 197,-13530 }, { 198,-13530 }, { 199,-13530 }, - { 200,-13530 }, { 201,-13530 }, { 202,-13530 }, { 203,-13530 }, { 204,-13530 }, - { 205,-13530 }, { 206,-13530 }, { 207,-13530 }, { 208,-13530 }, { 209,-13530 }, - { 210,-13530 }, { 211,-13530 }, { 212,-13530 }, { 213,-13530 }, { 214,-13530 }, - { 215,-13530 }, { 216,-13530 }, { 217,-13530 }, { 218,-13530 }, { 219,-13530 }, - { 220,-13530 }, { 221,-13530 }, { 222,-13530 }, { 223,-13530 }, { 224,-13530 }, - - { 225,-13530 }, { 226,-13530 }, { 227,-13530 }, { 228,-13530 }, { 229,-13530 }, - { 230,-13530 }, { 231,-13530 }, { 232,-13530 }, { 233,-13530 }, { 234,-13530 }, - { 235,-13530 }, { 236,-13530 }, { 237,-13530 }, { 238,-13530 }, { 239,-13530 }, - { 240,-13530 }, { 241,-13530 }, { 242,-13530 }, { 243,-13530 }, { 244,-13530 }, - { 245,-13530 }, { 246,-13530 }, { 247,-13530 }, { 248,-13530 }, { 249,-13530 }, - { 250,-13530 }, { 251,-13530 }, { 252,-13530 }, { 253,-13530 }, { 254,-13530 }, - { 255,-13530 }, { 0, 69 }, { 0,1066 }, { 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 }, { 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, 64 }, - { 0,1028 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,-1830 }, { 49,-1830 }, { 50,-1830 }, { 51,-1830 }, { 52,-1830 }, - { 53,-1830 }, { 54,-1830 }, { 55,-1830 }, { 56,-1830 }, { 57,-1830 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,-1830 }, { 66,-1830 }, { 67,-1830 }, - - { 68,-1830 }, { 69,-1830 }, { 70,-1830 }, { 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 }, { 48,-2896 }, { 49,-2896 }, - { 50,-2896 }, { 51,-2896 }, { 52,-2896 }, { 53,-2896 }, { 54,-2896 }, - { 55,-2896 }, { 56,-2896 }, { 57,-2896 }, { 0, 0 }, { 97,-1830 }, - { 98,-1830 }, { 99,-1830 }, { 100,-1830 }, { 101,-1830 }, { 102,-1830 }, - { 65,-13862 }, { 66,-13862 }, { 67,-13862 }, { 68,-13862 }, { 69,-2997 }, - { 70,-13862 }, { 71,-13862 }, { 72,-13862 }, { 73,-13862 }, { 74,-13862 }, - { 75,-13862 }, { 76,-13862 }, { 77,-13862 }, { 78,-13862 }, { 79,-13862 }, - - { 80,-13862 }, { 81,-13862 }, { 82,-13862 }, { 83,-13862 }, { 84,-13862 }, - { 85,-13862 }, { 86,-13862 }, { 87,-13862 }, { 88,-13862 }, { 89,-13862 }, - { 90,-13862 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,-13862 }, { 0, 0 }, { 97,-13862 }, { 98,-13862 }, { 99,-13862 }, - { 100,-13862 }, { 101,-2997 }, { 102,-13862 }, { 103,-13862 }, { 104,-13862 }, - { 105,-13862 }, { 106,-13862 }, { 107,-13862 }, { 108,-13862 }, { 109,-13862 }, - { 110,-13862 }, { 111,-13862 }, { 112,-13862 }, { 113,-13862 }, { 114,-13862 }, - { 115,-13862 }, { 116,-13862 }, { 117,-13862 }, { 118,-13862 }, { 119,-13862 }, - { 120,-13862 }, { 121,-13862 }, { 122,-13862 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-13862 }, { 129,-13862 }, - - { 130,-13862 }, { 131,-13862 }, { 132,-13862 }, { 133,-13862 }, { 134,-13862 }, - { 135,-13862 }, { 136,-13862 }, { 137,-13862 }, { 138,-13862 }, { 139,-13862 }, - { 140,-13862 }, { 141,-13862 }, { 142,-13862 }, { 143,-13862 }, { 144,-13862 }, - { 145,-13862 }, { 146,-13862 }, { 147,-13862 }, { 148,-13862 }, { 149,-13862 }, - { 150,-13862 }, { 151,-13862 }, { 152,-13862 }, { 153,-13862 }, { 154,-13862 }, - { 155,-13862 }, { 156,-13862 }, { 157,-13862 }, { 158,-13862 }, { 159,-13862 }, - { 160,-13862 }, { 161,-13862 }, { 162,-13862 }, { 163,-13862 }, { 164,-13862 }, - { 165,-13862 }, { 166,-13862 }, { 167,-13862 }, { 168,-13862 }, { 169,-13862 }, - { 170,-13862 }, { 171,-13862 }, { 172,-13862 }, { 173,-13862 }, { 174,-13862 }, - { 175,-13862 }, { 176,-13862 }, { 177,-13862 }, { 178,-13862 }, { 179,-13862 }, - - { 180,-13862 }, { 181,-13862 }, { 182,-13862 }, { 183,-13862 }, { 184,-13862 }, - { 185,-13862 }, { 186,-13862 }, { 187,-13862 }, { 188,-13862 }, { 189,-13862 }, - { 190,-13862 }, { 191,-13862 }, { 192,-13862 }, { 193,-13862 }, { 194,-13862 }, - { 195,-13862 }, { 196,-13862 }, { 197,-13862 }, { 198,-13862 }, { 199,-13862 }, - { 200,-13862 }, { 201,-13862 }, { 202,-13862 }, { 203,-13862 }, { 204,-13862 }, - { 205,-13862 }, { 206,-13862 }, { 207,-13862 }, { 208,-13862 }, { 209,-13862 }, - { 210,-13862 }, { 211,-13862 }, { 212,-13862 }, { 213,-13862 }, { 214,-13862 }, - { 215,-13862 }, { 216,-13862 }, { 217,-13862 }, { 218,-13862 }, { 219,-13862 }, - { 220,-13862 }, { 221,-13862 }, { 222,-13862 }, { 223,-13862 }, { 224,-13862 }, - { 225,-13862 }, { 226,-13862 }, { 227,-13862 }, { 228,-13862 }, { 229,-13862 }, - - { 230,-13862 }, { 231,-13862 }, { 232,-13862 }, { 233,-13862 }, { 234,-13862 }, - { 235,-13862 }, { 236,-13862 }, { 237,-13862 }, { 238,-13862 }, { 239,-13862 }, - { 240,-13862 }, { 241,-13862 }, { 242,-13862 }, { 243,-13862 }, { 244,-13862 }, - { 245,-13862 }, { 246,-13862 }, { 247,-13862 }, { 248,-13862 }, { 249,-13862 }, - { 250,-13862 }, { 251,-13862 }, { 252,-13862 }, { 253,-13862 }, { 254,-13862 }, - { 255,-13862 }, { 0, 28 }, { 0, 771 }, { 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 }, { 0, 28 }, - - { 0, 748 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48, 143 }, { 49, 143 }, { 50, 143 }, { 51, 143 }, { 52, 143 }, - { 53, 143 }, { 54, 143 }, { 55, 143 }, { 56, 143 }, { 57, 143 }, - { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 710 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65, 143 }, { 66, 143 }, { 67, 143 }, - { 68, 143 }, { 69, 143 }, { 70, 143 }, { 48, 143 }, { 49, 143 }, - - { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, { 54, 143 }, - { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 0 }, { 0, 0 }, - { 0, 28 }, { 0, 687 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, { 69, 143 }, - { 70, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 143 }, - { 98, 143 }, { 99, 143 }, { 100, 143 }, { 101, 143 }, { 102, 143 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 143 }, { 49, 143 }, { 50, 143 }, { 51, 143 }, - { 52, 143 }, { 53, 143 }, { 54, 143 }, { 55, 143 }, { 56, 143 }, - { 57, 143 }, { 0, 0 }, { 97, 143 }, { 98, 143 }, { 99, 143 }, - - { 100, 143 }, { 101, 143 }, { 102, 143 }, { 65, 143 }, { 66, 143 }, - { 67, 143 }, { 68, 143 }, { 69, 143 }, { 70, 143 }, { 48, 143 }, - { 49, 143 }, { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, - { 54, 143 }, { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 28 }, - { 0, 628 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, - { 69, 143 }, { 70, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 97, 143 }, { 98, 143 }, { 99, 143 }, { 100, 143 }, { 101, 143 }, - { 102, 143 }, { 0, 0 }, { 0, 28 }, { 0, 605 }, { 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 }, { 97, 143 }, { 98, 143 }, - { 99, 143 }, { 100, 143 }, { 101, 143 }, { 102, 143 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 143 }, { 49, 143 }, - { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, { 54, 143 }, - { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 0 }, { 0, 0 }, - { 0, 28 }, { 0, 567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, { 69, 143 }, - { 70, 143 }, { 48,-14226 }, { 49,-14226 }, { 50,-14226 }, { 51,-14226 }, - { 52,-14226 }, { 53,-14226 }, { 54,-14226 }, { 55,-14226 }, { 56,-14226 }, - - { 57,-14226 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 544 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-14226 }, { 66,-14226 }, - { 67,-14226 }, { 68,-14226 }, { 69,-14226 }, { 70,-14226 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 97, 143 }, { 98, 143 }, { 99, 143 }, - { 100, 143 }, { 101, 143 }, { 102, 143 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 105 }, - { 49, 105 }, { 50, 105 }, { 51, 105 }, { 52, 105 }, { 53, 105 }, - { 54, 105 }, { 55, 105 }, { 56, 105 }, { 57, 105 }, { 0, 0 }, - { 97,-14226 }, { 98,-14226 }, { 99,-14226 }, { 100,-14226 }, { 101,-14226 }, - { 102,-14226 }, { 65, 105 }, { 66, 105 }, { 67, 105 }, { 68, 105 }, - - { 69, 105 }, { 70, 105 }, { 48,-14283 }, { 49,-14283 }, { 50,-14283 }, - { 51,-14283 }, { 52,-14283 }, { 53,-14283 }, { 54,-14283 }, { 55,-14283 }, - { 56,-14283 }, { 57,-14283 }, { 0, 28 }, { 0, 485 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-14283 }, - { 66,-14283 }, { 67,-14283 }, { 68,-14283 }, { 69,-14283 }, { 70,-14283 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 105 }, { 98, 105 }, - { 99, 105 }, { 100, 105 }, { 101, 105 }, { 102, 105 }, { 0, 0 }, - { 0, 28 }, { 0, 462 }, { 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 }, { 97,-14283 }, { 98,-14283 }, { 99,-14283 }, { 100,-14283 }, - { 101,-14283 }, { 102,-14283 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 61 }, { 49, 61 }, { 50, 61 }, { 51, 61 }, + { 52, 61 }, { 53, 61 }, { 54, 61 }, { 55, 61 }, { 56, 61 }, - { 57, 61 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 424 }, + { 57, 61 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 363 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 61 }, { 66, 61 }, { 67, 61 }, { 68, 61 }, { 69, 61 }, { 70, 61 }, { 48, 61 }, { 49, 61 }, { 50, 61 }, { 51, 61 }, { 52, 61 }, { 53, 61 }, { 54, 61 }, { 55, 61 }, { 56, 61 }, { 57, 61 }, { 0, 0 }, - { 0, 0 }, { 0, 28 }, { 0, 401 }, { 0, 0 }, { 0, 0 }, - + { 0, 0 }, { 0, 28 }, { 0, 340 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 61 }, { 66, 61 }, { 67, 61 }, { 68, 61 }, { 69, 61 }, { 70, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 61 }, { 98, 61 }, { 99, 61 }, { 100, 61 }, { 101, 61 }, + { 102, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 82 }, { 49, 82 }, { 50, 82 }, { 51, 82 }, { 52, 82 }, { 53, 82 }, { 54, 82 }, { 55, 82 }, @@ -5335,83 +7961,70 @@ static const struct yy_trans_info yy_transition[21803] = { 99, 61 }, { 100, 61 }, { 101, 61 }, { 102, 61 }, { 65, 82 }, { 66, 82 }, { 67, 82 }, { 68, 82 }, { 69, 82 }, { 70, 82 }, { 48, 82 }, { 49, 82 }, { 50, 82 }, { 51, 82 }, { 52, 82 }, - { 53, 82 }, { 54, 82 }, { 55, 82 }, { 56, 82 }, { 57, 82 }, - { 0, 28 }, { 0, 342 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 28 }, { 0, 281 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 82 }, { 66, 82 }, { 67, 82 }, + { 68, 82 }, { 69, 82 }, { 70, 82 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 82 }, { 98, 82 }, { 99, 82 }, { 100, 82 }, - { 101, 82 }, { 102, 82 }, { 0, 0 }, { 0, 28 }, { 0, 319 }, + { 101, 82 }, { 102, 82 }, { 0, 0 }, { 0, 28 }, { 0, 258 }, { 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 }, { 97, 82 }, { 98, 82 }, { 99, 82 }, { 100, 82 }, { 101, 82 }, { 102, 82 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 61 }, - { 49, 61 }, { 50, 61 }, { 51, 61 }, { 52, 61 }, { 53, 61 }, - { 54, 61 }, { 55, 61 }, { 56, 61 }, { 57, 61 }, { 0, 0 }, - { 0, 0 }, { 0, 28 }, { 0, 281 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65, 61 }, { 66, 61 }, { 67, 61 }, { 68, 61 }, - { 69, 61 }, { 70, 61 }, { 48, 61 }, { 49, 61 }, { 50, 61 }, - { 51, 61 }, { 52, 61 }, { 53, 61 }, { 54, 61 }, { 55, 61 }, - { 56, 61 }, { 57, 61 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, - { 0, 258 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 61 }, - { 66, 61 }, { 67, 61 }, { 68, 61 }, { 69, 61 }, { 70, 61 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 61 }, { 98, 61 }, - { 99, 61 }, { 100, 61 }, { 101, 61 }, { 102, 61 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,-14550 }, { 49,-14550 }, { 50,-14550 }, { 51,-14550 }, { 52,-14550 }, - { 53,-14550 }, { 54,-14550 }, { 55,-14550 }, { 56,-14550 }, { 57,-14550 }, - { 0, 0 }, { 97, 61 }, { 98, 61 }, { 99, 61 }, { 100, 61 }, - { 101, 61 }, { 102, 61 }, { 65,-14550 }, { 66,-14550 }, { 67,-14550 }, - { 68,-14550 }, { 69,-14550 }, { 70,-14550 }, { 48,-14569 }, { 49,-14569 }, - { 50,-14569 }, { 51,-14569 }, { 52,-14569 }, { 53,-14569 }, { 54,-14569 }, - { 55,-14569 }, { 56,-14569 }, { 57,-14569 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-26506 }, + { 49,-26506 }, { 50,-26506 }, { 51,-26506 }, { 52,-26506 }, { 53,-26506 }, + { 54,-26506 }, { 55,-26506 }, { 56,-26506 }, { 57,-26506 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,-14569 }, { 66,-14569 }, { 67,-14569 }, { 68,-14569 }, { 69,-14569 }, - { 70,-14569 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-14550 }, - { 98,-14550 }, { 99,-14550 }, { 100,-14550 }, { 101,-14550 }, { 102,-14550 }, + { 0, 0 }, { 65,-26506 }, { 66,-26506 }, { 67,-26506 }, { 68,-26506 }, + { 69,-26506 }, { 70,-26506 }, { 48,-26527 }, { 49,-26527 }, { 50,-26527 }, + { 51,-26527 }, { 52,-26527 }, { 53,-26527 }, { 54,-26527 }, { 55,-26527 }, + { 56,-26527 }, { 57,-26527 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-26527 }, + { 66,-26527 }, { 67,-26527 }, { 68,-26527 }, { 69,-26527 }, { 70,-26527 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-26506 }, { 98,-26506 }, + { 99,-26506 }, { 100,-26506 }, { 101,-26506 }, { 102,-26506 }, { 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 }, { 97,-14569 }, { 98,-14569 }, { 99,-14569 }, - { 100,-14569 }, { 101,-14569 }, { 102,-14569 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,-26527 }, { 98,-26527 }, { 99,-26527 }, { 100,-26527 }, + { 101,-26527 }, { 102,-26527 }, { 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 }, { 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 }, { 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 }, { 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 }, { 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 }, { 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 }, { 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 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 257, 77 }, { 1, 0 }, }; + { 0, 0 }, { 257, 74 }, { 1, 0 }, }; static __thread const struct yy_trans_info *yy_start_state_list[25] = { @@ -5556,7 +8169,7 @@ static void check_escape_warning(core_yyscan_t yyscanner); extern int core_yyget_column(yyscan_t yyscanner); extern void core_yyset_column(int column_no, yyscan_t yyscanner); -#line 5510 "scan.c" +#line 8123 "scan.c" #define YY_NO_INPUT 1 /* * OK, here is a short description of lex/flex rules behavior. @@ -5597,7 +8210,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * versions of Postgres failed to recognize -- as a comment if the input * did not end with a newline. * - * XXX perhaps \f (formfeed) should be treated as a newline as well? + * non_newline_space tracks all the other space characters except newlines. * * XXX if you change the set of whitespace characters, fix scanner_isspace() * to agree. @@ -5694,6 +8307,24 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * {realfail} is added to prevent the need for scanner * backup when the {real} rule fails to match completely. */ +/* Positional parameters don't accept underscores. */ +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ /* * Dollar quoted strings are totally opaque, and no escaping is done on them. * Other quoted strings must allow some special characters such as single-quote @@ -5706,7 +8337,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * Note that xcstart must appear before operator, as explained above! * Also whitespace (comment) must appear before operator. */ -#line 5660 "scan.c" +#line 8291 "scan.c" #define INITIAL 0 #define xb 1 @@ -5999,10 +8630,10 @@ YY_DECL } { -#line 439 "scan.l" +#line 454 "scan.l" -#line 5956 "scan.c" +#line 8587 "scan.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -6042,14 +8673,14 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 441 "scan.l" +#line 456 "scan.l" { /* ignore */ } YY_BREAK case 2: YY_RULE_SETUP -#line 445 "scan.l" +#line 460 "scan.l" { SET_YYLLOC(); return SQL_COMMENT; @@ -6057,7 +8688,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 450 "scan.l" +#line 465 "scan.l" { /* Set location in case of syntax error in comment */ SET_YYLLOC(); @@ -6070,7 +8701,7 @@ YY_RULE_SETUP case 4: YY_RULE_SETUP -#line 460 "scan.l" +#line 475 "scan.l" { (yyextra->xcdepth)++; /* Put back any characters past slash-star; see above */ @@ -6079,7 +8710,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 466 "scan.l" +#line 481 "scan.l" { if (yyextra->xcdepth <= 0) { @@ -6094,27 +8725,27 @@ YY_RULE_SETUP case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 477 "scan.l" +#line 492 "scan.l" { /* ignore */ } YY_BREAK case 7: YY_RULE_SETUP -#line 481 "scan.l" +#line 496 "scan.l" { /* ignore */ } YY_BREAK case 8: YY_RULE_SETUP -#line 485 "scan.l" +#line 500 "scan.l" { /* ignore */ } YY_BREAK case YY_STATE_EOF(xc): -#line 489 "scan.l" +#line 504 "scan.l" { yyerror("unterminated /* comment"); } @@ -6122,7 +8753,7 @@ case YY_STATE_EOF(xc): /* */ case 9: YY_RULE_SETUP -#line 494 "scan.l" +#line 509 "scan.l" { /* Binary bit type. * At some point we should simply pass the string @@ -6138,22 +8769,22 @@ YY_RULE_SETUP YY_BREAK case 10: /* rule 10 can match eol */ -#line 507 "scan.l" +#line 522 "scan.l" case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 507 "scan.l" +#line 522 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case YY_STATE_EOF(xb): -#line 510 "scan.l" +#line 525 "scan.l" { yyerror("unterminated bit string literal"); } YY_BREAK case 12: YY_RULE_SETUP -#line 512 "scan.l" +#line 527 "scan.l" { /* Hexadecimal bit type. * At some point we should simply pass the string @@ -6168,12 +8799,12 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(xh): -#line 524 "scan.l" +#line 539 "scan.l" { yyerror("unterminated hexadecimal string literal"); } YY_BREAK case 13: YY_RULE_SETUP -#line 526 "scan.l" +#line 541 "scan.l" { /* National character. * We will pass this along as a normal character string, @@ -6203,7 +8834,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 553 "scan.l" +#line 568 "scan.l" { yyextra->warn_on_first_escape = true; yyextra->saw_non_ascii = false; @@ -6217,7 +8848,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 563 "scan.l" +#line 578 "scan.l" { yyextra->warn_on_first_escape = false; yyextra->saw_non_ascii = false; @@ -6228,14 +8859,14 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 570 "scan.l" +#line 585 "scan.l" { SET_YYLLOC(); if (!yyextra->standard_conforming_strings) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("unsafe use of string constant with Unicode escapes"), - errdetail("String constants with Unicode escapes cannot be used when standard_conforming_strings is off."), + errdetail("String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off."), lexer_errposition())); BEGIN(xus); startlit(); @@ -6243,7 +8874,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 582 "scan.l" +#line 597 "scan.l" { /* * When we are scanning a quoted string and see an end @@ -6260,7 +8891,7 @@ YY_RULE_SETUP case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 594 "scan.l" +#line 609 "scan.l" { /* * Found a quote continuation, so return to the in-quote @@ -6272,13 +8903,13 @@ YY_RULE_SETUP YY_BREAK case 19: /* rule 19 can match eol */ -#line 603 "scan.l" +#line 618 "scan.l" case 20: /* rule 20 can match eol */ -#line 604 "scan.l" +#line 619 "scan.l" YY_RULE_SETUP case YY_STATE_EOF(xqs): -#line 604 "scan.l" +#line 619 "scan.l" { /* * Failed to see a quote continuation. Throw back @@ -6322,7 +8953,7 @@ case YY_STATE_EOF(xqs): YY_BREAK case 21: YY_RULE_SETUP -#line 645 "scan.l" +#line 660 "scan.l" { addlitchar('\'', yyscanner); } @@ -6330,7 +8961,7 @@ YY_RULE_SETUP case 22: /* rule 22 can match eol */ YY_RULE_SETUP -#line 648 "scan.l" +#line 663 "scan.l" { addlit(yytext, yyleng, yyscanner); } @@ -6338,14 +8969,14 @@ YY_RULE_SETUP case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 651 "scan.l" +#line 666 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 24: YY_RULE_SETUP -#line 654 "scan.l" +#line 669 "scan.l" { pg_wchar c = strtoul(yytext + 2, NULL, 16); @@ -6377,7 +9008,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 682 "scan.l" +#line 697 "scan.l" { pg_wchar c = strtoul(yytext + 2, NULL, 16); @@ -6400,13 +9031,13 @@ YY_RULE_SETUP } YY_BREAK case 26: -#line 703 "scan.l" +#line 718 "scan.l" case 27: /* rule 27 can match eol */ -#line 704 "scan.l" +#line 719 "scan.l" YY_RULE_SETUP case YY_STATE_EOF(xeu): -#line 704 "scan.l" +#line 719 "scan.l" { /* Set the error cursor to point at missing esc seq */ SET_YYLLOC(); @@ -6415,7 +9046,7 @@ case YY_STATE_EOF(xeu): YY_BREAK case 28: YY_RULE_SETUP -#line 709 "scan.l" +#line 724 "scan.l" { /* Set the error cursor to point at malformed esc seq */ SET_YYLLOC(); @@ -6429,7 +9060,7 @@ YY_RULE_SETUP case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 718 "scan.l" +#line 733 "scan.l" { if (yytext[1] == '\'') { @@ -6449,7 +9080,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 734 "scan.l" +#line 749 "scan.l" { unsigned char c = strtoul(yytext + 1, NULL, 8); @@ -6461,7 +9092,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 742 "scan.l" +#line 757 "scan.l" { unsigned char c = strtoul(yytext + 2, NULL, 16); @@ -6473,7 +9104,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 750 "scan.l" +#line 765 "scan.l" { /* This is only needed for \ just before EOF */ addlitchar(yytext[0], yyscanner); @@ -6482,12 +9113,12 @@ YY_RULE_SETUP case YY_STATE_EOF(xq): case YY_STATE_EOF(xe): case YY_STATE_EOF(xus): -#line 754 "scan.l" +#line 769 "scan.l" { yyerror("unterminated quoted string"); } YY_BREAK case 33: YY_RULE_SETUP -#line 756 "scan.l" +#line 771 "scan.l" { SET_YYLLOC(); yyextra->dolqstart = pstrdup(yytext); @@ -6497,7 +9128,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 762 "scan.l" +#line 777 "scan.l" { SET_YYLLOC(); /* throw back all but the initial "$" */ @@ -6508,7 +9139,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 769 "scan.l" +#line 784 "scan.l" { if (strcmp(yytext, yyextra->dolqstart) == 0) { @@ -6534,33 +9165,33 @@ YY_RULE_SETUP case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 790 "scan.l" +#line 805 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 37: YY_RULE_SETUP -#line 793 "scan.l" +#line 808 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 38: YY_RULE_SETUP -#line 796 "scan.l" +#line 811 "scan.l" { /* This is only needed for $ inside the quoted text */ addlitchar(yytext[0], yyscanner); } YY_BREAK case YY_STATE_EOF(xdolq): -#line 800 "scan.l" +#line 815 "scan.l" { yyerror("unterminated dollar-quoted string"); } YY_BREAK case 39: YY_RULE_SETUP -#line 802 "scan.l" +#line 817 "scan.l" { SET_YYLLOC(); BEGIN(xd); @@ -6569,7 +9200,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 807 "scan.l" +#line 822 "scan.l" { SET_YYLLOC(); BEGIN(xui); @@ -6578,7 +9209,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 812 "scan.l" +#line 827 "scan.l" { char *ident; @@ -6595,7 +9226,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 825 "scan.l" +#line 840 "scan.l" { BEGIN(INITIAL); if (yyextra->literallen == 0) @@ -6608,7 +9239,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 834 "scan.l" +#line 849 "scan.l" { addlitchar('"', yyscanner); } @@ -6616,19 +9247,19 @@ YY_RULE_SETUP case 44: /* rule 44 can match eol */ YY_RULE_SETUP -#line 837 "scan.l" +#line 852 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case YY_STATE_EOF(xd): case YY_STATE_EOF(xui): -#line 840 "scan.l" +#line 855 "scan.l" { yyerror("unterminated quoted identifier"); } YY_BREAK case 45: YY_RULE_SETUP -#line 842 "scan.l" +#line 857 "scan.l" { char *ident; @@ -6644,7 +9275,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 855 "scan.l" +#line 870 "scan.l" { SET_YYLLOC(); return TYPECAST; @@ -6652,7 +9283,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 860 "scan.l" +#line 875 "scan.l" { SET_YYLLOC(); return DOT_DOT; @@ -6660,7 +9291,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 865 "scan.l" +#line 880 "scan.l" { SET_YYLLOC(); return COLON_EQUALS; @@ -6668,7 +9299,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 870 "scan.l" +#line 885 "scan.l" { SET_YYLLOC(); return EQUALS_GREATER; @@ -6676,7 +9307,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 875 "scan.l" +#line 890 "scan.l" { SET_YYLLOC(); return LESS_EQUALS; @@ -6684,7 +9315,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 880 "scan.l" +#line 895 "scan.l" { SET_YYLLOC(); return GREATER_EQUALS; @@ -6692,7 +9323,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 885 "scan.l" +#line 900 "scan.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ SET_YYLLOC(); @@ -6701,7 +9332,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 891 "scan.l" +#line 906 "scan.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ SET_YYLLOC(); @@ -6710,7 +9341,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 897 "scan.l" +#line 912 "scan.l" { SET_YYLLOC(); return yytext[0]; @@ -6718,7 +9349,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 902 "scan.l" +#line 917 "scan.l" { /* * Check for embedded slash-star or dash-dash; those @@ -6829,7 +9460,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 1010 "scan.l" +#line 1025 "scan.l" { SET_YYLLOC(); yylval->ival = atol(yytext + 1); @@ -6838,7 +9469,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 1016 "scan.l" +#line 1031 "scan.l" { SET_YYLLOC(); return process_integer_literal(yytext, yylval, 10); @@ -6846,7 +9477,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 1020 "scan.l" +#line 1035 "scan.l" { SET_YYLLOC(); return process_integer_literal(yytext, yylval, 16); @@ -6854,7 +9485,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 1024 "scan.l" +#line 1039 "scan.l" { SET_YYLLOC(); return process_integer_literal(yytext, yylval, 8); @@ -6862,7 +9493,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 1028 "scan.l" +#line 1043 "scan.l" { SET_YYLLOC(); return process_integer_literal(yytext, yylval, 2); @@ -6870,7 +9501,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 1032 "scan.l" +#line 1047 "scan.l" { SET_YYLLOC(); yyerror("invalid hexadecimal integer"); @@ -6878,7 +9509,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 1036 "scan.l" +#line 1051 "scan.l" { SET_YYLLOC(); yyerror("invalid octal integer"); @@ -6886,7 +9517,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 1040 "scan.l" +#line 1055 "scan.l" { SET_YYLLOC(); yyerror("invalid binary integer"); @@ -6894,7 +9525,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 1044 "scan.l" +#line 1059 "scan.l" { SET_YYLLOC(); yylval->str = pstrdup(yytext); @@ -6903,7 +9534,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 1049 "scan.l" +#line 1064 "scan.l" { /* throw back the .., and treat as integer */ yyless(yyleng - 2); @@ -6913,7 +9544,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 1055 "scan.l" +#line 1070 "scan.l" { SET_YYLLOC(); yylval->str = pstrdup(yytext); @@ -6922,7 +9553,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 1060 "scan.l" +#line 1075 "scan.l" { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); @@ -6930,7 +9561,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 1064 "scan.l" +#line 1079 "scan.l" { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); @@ -6938,7 +9569,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 1068 "scan.l" +#line 1083 "scan.l" { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); @@ -6946,7 +9577,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 1072 "scan.l" +#line 1087 "scan.l" { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); @@ -6954,31 +9585,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 1076 "scan.l" -{ - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } - YY_BREAK -case 72: -YY_RULE_SETUP -#line 1080 "scan.l" -{ - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 1084 "scan.l" -{ - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } - YY_BREAK -case 74: -YY_RULE_SETUP -#line 1090 "scan.l" +#line 1093 "scan.l" { int kwnum; char *ident; @@ -7005,27 +9612,27 @@ YY_RULE_SETUP return IDENT; } YY_BREAK -case 75: +case 72: YY_RULE_SETUP -#line 1116 "scan.l" +#line 1119 "scan.l" { SET_YYLLOC(); return yytext[0]; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1121 "scan.l" +#line 1124 "scan.l" { SET_YYLLOC(); yyterminate(); } YY_BREAK -case 76: +case 73: YY_RULE_SETUP -#line 1126 "scan.l" +#line 1129 "scan.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 6979 "scan.c" +#line 9586 "scan.c" case YY_END_OF_BUFFER: { @@ -7905,7 +10512,7 @@ static int yy_flex_strlen (const char * s , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1126 "scan.l" +#line 1129 "scan.l" /* LCOV_EXCL_STOP */ @@ -8211,6 +10818,8 @@ unescape_single_char(unsigned char c, core_yyscan_t yyscanner) return '\r'; case 't': return '\t'; + case 'v': + return '\v'; default: /* check for backslash followed by non-7-bit-ASCII */ if (c == '\0' || IS_HIGHBIT_SET(c)) diff --git a/parser/src_backend_parser_scansup.c b/parser/src_backend_parser_scansup.c index 8457bb45..4d359669 100644 --- a/parser/src_backend_parser_scansup.c +++ b/parser/src_backend_parser_scansup.c @@ -12,7 +12,7 @@ * scansup.c * scanner support routines used by the core lexer * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -130,6 +130,7 @@ scanner_isspace(char ch) ch == '\t' || ch == '\n' || ch == '\r' || + ch == '\v' || ch == '\f') return true; return false; diff --git a/parser/src_backend_storage_ipc_ipc.c b/parser/src_backend_storage_ipc_ipc.c index b3b8cce7..28e168bb 100644 --- a/parser/src_backend_storage_ipc_ipc.c +++ b/parser/src_backend_storage_ipc_ipc.c @@ -15,7 +15,7 @@ * exit-time cleanup for either a postmaster or a backend. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_backend_tcop_postgres.c b/parser/src_backend_tcop_postgres.c index 0cc71dbd..1af69bd7 100644 --- a/parser/src_backend_tcop_postgres.c +++ b/parser/src_backend_tcop_postgres.c @@ -1,12 +1,12 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - debug_query_string - * - whereToSendOutput - * - ProcessInterrupts - * - check_stack_depth * - stack_is_too_deep * - stack_base_ptr * - max_stack_depth_bytes + * - whereToSendOutput + * - ProcessInterrupts + * - check_stack_depth * - max_stack_depth *-------------------------------------------------------------------- */ @@ -16,7 +16,7 @@ * postgres.c * POSTGRES C Backend Interface * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -49,6 +49,7 @@ #include "access/xact.h" #include "catalog/pg_type.h" #include "commands/async.h" +#include "commands/event_trigger.h" #include "commands/prepare.h" #include "common/pg_prng.h" #include "jit/jit.h" @@ -84,12 +85,14 @@ #include "tcop/tcopprot.h" #include "tcop/utility.h" #include "utils/guc_hooks.h" +#include "utils/injection_point.h" #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/ps_status.h" #include "utils/snapmgr.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/varlena.h" /* ---------------- * global variables @@ -117,6 +120,9 @@ __thread int max_stack_depth = 100; /* Time between checks that the client is still connected. */ +/* flags for non-system relation kinds to restrict use */ + + /* ---------------- * private typedefs etc * ---------------- @@ -182,7 +188,6 @@ static __thread char *stack_base_ptr = NULL; - /* reused buffer to pass to SendRowDescriptionMessage() */ @@ -200,7 +205,6 @@ static bool check_log_statement(List *stmt_list); static int errdetail_execute(List *raw_parsetree_list); static int errdetail_params(ParamListInfo params); static int errdetail_abort(void); -static int errdetail_recovery_conflict(void); static void bind_param_error_callback(void *arg); static void start_xact_command(void); static void finish_xact_command(void); @@ -556,10 +560,18 @@ valgrind_report_error_query(const char *query) /* - * RecoveryConflictInterrupt: out-of-line portion of recovery conflict - * handling following receipt of SIGUSR1. Designed to be similar to die() - * and StatementCancelHandler(). Called only by a normal user backend - * that begins a transaction during recovery. + * Tell the next CHECK_FOR_INTERRUPTS() to check for a particular type of + * recovery conflict. Runs in a SIGUSR1 handler. + */ + + +/* + * Check one individual conflict reason. + */ + + +/* + * Check each possible recovery conflict reason. */ @@ -686,6 +698,18 @@ stack_is_too_deep(void) */ +/* GUC assign hook for transaction_timeout */ + + +/* + * GUC check_hook for restrict_nonsystem_relation_kind + */ + + +/* + * GUC assign_hook for restrict_nonsystem_relation_kind + */ + /* * set_debug_options --- apply "-d N" command line option diff --git a/parser/src_backend_utils_activity_pgstat_database.c b/parser/src_backend_utils_activity_pgstat_database.c index 6b5d6b48..fb5b1aab 100644 --- a/parser/src_backend_utils_activity_pgstat_database.c +++ b/parser/src_backend_utils_activity_pgstat_database.c @@ -14,7 +14,7 @@ * storage implementation and the details about individual types of * statistics. * - * Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/utils/activity/pgstat_database.c @@ -23,9 +23,9 @@ #include "postgres.h" +#include "storage/procsignal.h" #include "utils/pgstat_internal.h" #include "utils/timestamp.h" -#include "storage/procsignal.h" static bool pgstat_should_report_connstat(void); diff --git a/parser/src_backend_utils_adt_datum.c b/parser/src_backend_utils_adt_datum.c index 9243506b..dbe92a9e 100644 --- a/parser/src_backend_utils_adt_datum.c +++ b/parser/src_backend_utils_adt_datum.c @@ -11,7 +11,7 @@ * datum.c * POSTGRES Datum (abstract data type) manipulation routines. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -51,12 +51,11 @@ #include "postgres.h" #include "access/detoast.h" -#include "catalog/pg_type_d.h" #include "common/hashfn.h" #include "fmgr.h" -#include "utils/builtins.h" #include "utils/datum.h" #include "utils/expandeddatum.h" +#include "utils/fmgrprotos.h" /*------------------------------------------------------------------------- @@ -284,9 +283,12 @@ datumIsEqual(Datum value1, Datum value2, bool typByVal, int typLen) * datum_image_eq() in all cases can use this as their "equalimage" support * function. * - * Earlier minor releases erroneously associated this function with - * interval_ops. Detect that case to rescind deduplication support, without - * requiring initdb. + * Currently, we unconditionally assume that any B-Tree operator class that + * registers btequalimage as its support function 4 must be able to safely use + * optimizations like deduplication (i.e. we return true unconditionally). If + * it ever proved necessary to rescind support for an operator class, we could + * do that in a targeted fashion by doing something with the opcintype + * argument. *------------------------------------------------------------------------- */ diff --git a/parser/src_backend_utils_adt_expandeddatum.c b/parser/src_backend_utils_adt_expandeddatum.c index 3738f993..632ce2f7 100644 --- a/parser/src_backend_utils_adt_expandeddatum.c +++ b/parser/src_backend_utils_adt_expandeddatum.c @@ -11,7 +11,7 @@ * expandeddatum.c * Support functions for "expanded" value representations. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_backend_utils_adt_format_type.c b/parser/src_backend_utils_adt_format_type.c index 753f9c17..e5c30e00 100644 --- a/parser/src_backend_utils_adt_format_type.c +++ b/parser/src_backend_utils_adt_format_type.c @@ -10,7 +10,7 @@ * Display type names "nicely". * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/src_backend_utils_adt_numutils.c b/parser/src_backend_utils_adt_numutils.c index 162dc380..60733b86 100644 --- a/parser/src_backend_utils_adt_numutils.c +++ b/parser/src_backend_utils_adt_numutils.c @@ -10,7 +10,7 @@ * numutils.c * utility functions for I/O of built-in numeric types. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -25,9 +25,8 @@ #include #include -#include "common/int.h" -#include "utils/builtins.h" #include "port/pg_bitutils.h" +#include "utils/builtins.h" /* * A table of all two-digit numbers. This is used to speed up decimal digit @@ -372,7 +371,7 @@ pg_strtoint32_safe(const char *s, Node *escontext) * so that caller can parse the rest. Otherwise, it's an error if anything * but whitespace follows. * - * typname is what is reported in error messges. + * typname is what is reported in error messages. * * If escontext points to an ErrorSaveContext node, that is filled instead * of throwing an error; the caller must check SOFT_ERROR_OCCURRED() @@ -390,7 +389,7 @@ pg_strtoint32_safe(const char *s, Node *escontext) * so that caller can parse the rest. Otherwise, it's an error if anything * but whitespace follows. * - * typname is what is reported in error messges. + * typname is what is reported in error messages. * * If escontext points to an ErrorSaveContext node, that is filled instead * of throwing an error; the caller must check SOFT_ERROR_OCCURRED() diff --git a/parser/src_backend_utils_adt_ruleutils.c b/parser/src_backend_utils_adt_ruleutils.c index 92579913..1b754921 100644 --- a/parser/src_backend_utils_adt_ruleutils.c +++ b/parser/src_backend_utils_adt_ruleutils.c @@ -2,6 +2,7 @@ * Symbols referenced in this file: * - quote_identifier * - quote_all_identifiers + * - quote_qualified_identifier *-------------------------------------------------------------------- */ @@ -11,7 +12,7 @@ * Functions to convert stored expressions/querytrees back to * source text * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -29,7 +30,6 @@ #include "access/amapi.h" #include "access/htup_details.h" #include "access/relation.h" -#include "access/sysattr.h" #include "access/table.h" #include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" @@ -58,7 +58,6 @@ #include "optimizer/optimizer.h" #include "parser/parse_agg.h" #include "parser/parse_func.h" -#include "parser/parse_node.h" #include "parser/parse_oper.h" #include "parser/parse_relation.h" #include "parser/parser.h" @@ -122,14 +121,16 @@ typedef struct { StringInfo buf; /* output buffer to append to */ List *namespaces; /* List of deparse_namespace nodes */ + TupleDesc resultDesc; /* if top level of a view, the view's tupdesc */ + List *targetList; /* Current query level's SELECT targetlist */ List *windowClause; /* Current query level's WINDOW clause */ - List *windowTList; /* targetlist for resolving WINDOW clause */ int prettyFlags; /* enabling of pretty-print functions */ int wrapColumn; /* max line length, or -1 for no limit */ int indentLevel; /* current indent level for pretty-print */ bool varprefix; /* true to print prefixes on Vars */ - ParseExprKind special_exprkind; /* set only for exprkinds needing special - * handling */ + bool colNamesVisible; /* do we care about output column names? */ + bool inGroupBy; /* deparsing GROUP BY clause? */ + bool varInOrderBy; /* deparsing simple Var in ORDER BY? */ Bitmapset *appendparents; /* if not null, map child Vars of these relids * back to the parent rel */ } deparse_context; @@ -360,8 +361,7 @@ static char *pg_get_partkeydef_worker(Oid relid, int prettyFlags, bool attrsOnly, bool missing_ok); static char *pg_get_constraintdef_worker(Oid constraintId, bool fullCommand, int prettyFlags, bool missing_ok); -static text *pg_get_expr_worker(text *expr, Oid relid, const char *relname, - int prettyFlags); +static text *pg_get_expr_worker(text *expr, Oid relid, int prettyFlags); static int print_function_arguments(StringInfo buf, HeapTuple proctup, bool print_table_args, bool print_defaults); static void print_function_rettype(StringInfo buf, HeapTuple proctup); @@ -408,27 +408,19 @@ static void get_query_def(Query *query, StringInfo buf, List *parentnamespace, int prettyFlags, int wrapColumn, int startIndent); static void get_values_def(List *values_lists, deparse_context *context); static void get_with_clause(Query *query, deparse_context *context); -static void get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_select_query_def(Query *query, deparse_context *context); +static void get_insert_query_def(Query *query, deparse_context *context); +static void get_update_query_def(Query *query, deparse_context *context); static void get_update_query_targetlist_def(Query *query, List *targetList, deparse_context *context, RangeTblEntry *rte); -static void get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_merge_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_delete_query_def(Query *query, deparse_context *context); +static void get_merge_query_def(Query *query, deparse_context *context); static void get_utility_query_def(Query *query, deparse_context *context); -static void get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); +static void get_basic_select_query(Query *query, deparse_context *context); +static void get_target_list(List *targetList, deparse_context *context); static void get_setop_query(Node *setOp, Query *query, - deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); + deparse_context *context); static Node *get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, deparse_context *context); @@ -447,6 +439,10 @@ static void resolve_special_varno(Node *node, deparse_context *context, rsv_callback callback, void *callback_arg); static Node *find_param_referent(Param *param, deparse_context *context, deparse_namespace **dpns_p, ListCell **ancestor_cell_p); +static SubPlan *find_param_generator(Param *param, deparse_context *context, + int *column_p); +static SubPlan *find_param_generator_initplan(Param *param, Plan *plan, + int *column_p); static void get_parameter(Param *param, deparse_context *context); static const char *get_simple_binary_op_name(OpExpr *expr); static bool isSimpleNode(Node *node, Node *parentNode, int prettyFlags); @@ -484,6 +480,8 @@ static void get_const_expr(Const *constval, deparse_context *context, int showtype); static void get_const_collation(Const *constval, deparse_context *context); static void get_json_format(JsonFormat *format, StringInfo buf); +static void get_json_returning(JsonReturning *returning, StringInfo buf, + bool json_format_by_default); static void get_json_constructor(JsonConstructorExpr *ctor, deparse_context *context, bool showimplicit); static void get_json_constructor_options(JsonConstructorExpr *ctor, @@ -519,13 +517,22 @@ static char *generate_qualified_relation_name(Oid relid); static char *generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind); + bool inGroupBy); static char *generate_operator_name(Oid operid, Oid arg1, Oid arg2); static void add_cast_to(StringInfo buf, Oid typid); static char *generate_qualified_type_name(Oid typid); static text *string_to_text(char *str); static char *flatten_reloptions(Oid relid); static void get_reloptions(StringInfo buf, Datum reloptions); +static void get_json_path_spec(Node *path_spec, deparse_context *context, + bool showimplicit); +static void get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, + deparse_context *context, + bool showimplicit); +static void get_json_table_nested_columns(TableFunc *tf, JsonTablePlan *plan, + deparse_context *context, + bool showimplicit, + bool needcomma); #define only_marker(rte) ((rte)->inh ? "" : "ONLY ") @@ -727,6 +734,11 @@ static void get_reloptions(StringInfo buf, Datum reloptions); * partial indexes, column default expressions, etc. We also support * Var-free expressions, for which the OID can be InvalidOid. * + * If the OID is nonzero but not actually valid, don't throw an error, + * just return NULL. This is a bit questionable, but it's what we've + * done historically, and it can help avoid unwanted failures when + * examining catalog entries for just-deleted relations. + * * We expect this function to work, or throw a reasonably clean error, * for any node tree that can appear in a catalog pg_node_tree column. * Query trees, such as those appearing in pg_rewrite.ev_action, are @@ -1169,9 +1181,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions); /* ---------- * get_target_list - Parse back a SELECT target list * - * This is also used for RETURNING lists in INSERT/UPDATE/DELETE. - * - * resultDesc and colNamesVisible are as for get_query_def() + * This is also used for RETURNING lists in INSERT/UPDATE/DELETE/MERGE. * ---------- */ @@ -1315,6 +1325,20 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ +/* + * Try to find a subplan/initplan that emits the value for a PARAM_EXEC Param. + * + * If successful, return the generating subplan/initplan and set *column_p + * to the subplan's 0-based output column number. + * Otherwise, return NULL. + */ + + +/* + * Subroutine for find_param_generator: search one Plan node's initplans + */ + + /* * Display a Param appropriately. */ @@ -1368,6 +1392,15 @@ static void get_reloptions(StringInfo buf, Datum reloptions); + +/* + * get_json_expr_options + * + * Parse back common options for JSON_QUERY, JSON_VALUE, JSON_EXISTS and + * JSON_TABLE columns. + */ + + /* ---------- * get_rule_expr - Parse back an expression * @@ -1505,6 +1538,11 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ +/* + * get_json_path_spec - Parse back a JSON path specification + */ + + /* * get_json_format - Parse back a JsonFormat node */ @@ -1543,6 +1581,28 @@ static void get_reloptions(StringInfo buf, Datum reloptions); +/* ---------- + * get_xmltable - Parse back a XMLTABLE function + * ---------- + */ + + +/* + * get_json_table_nested_columns - Parse back nested JSON_TABLE columns + */ + + +/* + * get_json_table_columns - Parse back JSON_TABLE columns + */ + + +/* ---------- + * get_json_table - Parse back a JSON_TABLE function + * ---------- + */ + + /* ---------- * get_tablefunc - Parse back a table function * ---------- @@ -1718,7 +1778,18 @@ quote_identifier(const char *ident) * Return a name of the form qualifier.ident, or just ident if qualifier * is NULL, quoting each component if necessary. The result is palloc'd. */ +char * +quote_qualified_identifier(const char *qualifier, + const char *ident) +{ + StringInfoData buf; + initStringInfo(&buf); + if (qualifier) + appendStringInfo(&buf, "%s.", quote_identifier(qualifier)); + appendStringInfoString(&buf, quote_identifier(ident)); + return buf.data; +} /* * get_relation_name @@ -1762,6 +1833,8 @@ quote_identifier(const char *ident) * the output. For non-FuncExpr cases, has_variadic should be false and * use_variadic_p can be NULL. * + * inGroupBy must be true if we're deparsing a GROUP BY clause. + * * The result includes all necessary quoting and schema-prefixing. */ diff --git a/parser/src_backend_utils_error_assert.c b/parser/src_backend_utils_error_assert.c index 869d2eb9..61788949 100644 --- a/parser/src_backend_utils_error_assert.c +++ b/parser/src_backend_utils_error_assert.c @@ -9,7 +9,7 @@ * assert.c * Assert support code. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_backend_utils_error_elog.c b/parser/src_backend_utils_error_elog.c index 872d2fdf..58f76a9b 100644 --- a/parser/src_backend_utils_error_elog.c +++ b/parser/src_backend_utils_error_elog.c @@ -24,12 +24,14 @@ * - pg_re_throw * - EmitErrorReport * - emit_log_hook + * - saved_timeval_set + * - formatted_log_time * - send_message_to_server_log * - send_message_to_frontend * - pgwin32_dispatch_queued_signals * - set_stack_entry_location * - matches_backtrace_functions - * - backtrace_symbol_list + * - backtrace_function_list * - set_backtrace * - FreeErrorDataContents * - geterrcode @@ -96,7 +98,7 @@ * overflow.) * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -119,13 +121,12 @@ #include #endif -#include "access/transam.h" #include "access/xact.h" #include "libpq/libpq.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" -#include "nodes/miscnodes.h" #include "miscadmin.h" +#include "nodes/miscnodes.h" #include "pgstat.h" #include "postmaster/bgworker.h" #include "postmaster/postmaster.h" @@ -171,8 +172,8 @@ __thread emit_log_hook_type emit_log_hook = NULL; -/* Processed form of backtrace_symbols GUC */ -static __thread char *backtrace_symbol_list; +/* Processed form of backtrace_functions GUC */ +static __thread char *backtrace_function_list; #ifdef HAVE_SYSLOG @@ -215,13 +216,15 @@ static __thread int recursion_depth = 0; /* * Saved timeval and buffers for formatted timestamps that might be used by - * both log_line_prefix and csv logs. + * log_line_prefix, csv logs and JSON logs. */ +static __thread bool saved_timeval_set = false; #define FORMATTED_TS_LEN 128 +static __thread char formatted_log_time[FORMATTED_TS_LEN]; @@ -855,13 +858,13 @@ matches_backtrace_functions(const char *funcname) { const char *p; - if (!backtrace_symbol_list || funcname == NULL || funcname[0] == '\0') + if (!backtrace_function_list || funcname == NULL || funcname[0] == '\0') return false; - p = backtrace_symbol_list; + p = backtrace_function_list; for (;;) { - if (*p == '\0') /* end of backtrace_symbol_list */ + if (*p == '\0') /* end of backtrace_function_list */ break; if (strcmp(funcname, p) == 0) @@ -903,8 +906,6 @@ errcode(int sqlerrcode) */ #ifdef EROFS #endif -#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */ -#endif /* * errcode_for_socket_access --- add SQLSTATE error code to the current error @@ -1365,6 +1366,14 @@ geterrcode(void) return edata->sqlerrcode; } +/* + * geterrlevel --- return the currently set error level + * + * This is only intended for use in error callback subroutines, since there + * is no other place outside elog.c where the concept is meaningful. + */ + + /* * geterrposition --- return the currently set error position (0 if none) * @@ -1443,6 +1452,14 @@ EmitErrorReport(void) CHECK_STACK_DEPTH(); oldcontext = MemoryContextSwitchTo(edata->assoc_context); + /* + * Reset the formatted timestamp fields before emitting any logs. This + * includes all the log destinations and emit_log_hook, as the latter + * could use log_line_prefix or the formatted timestamps. + */ + saved_timeval_set = false; + formatted_log_time[0] = '\0'; + /* * Call hook before sending message to log. The hook function is allowed * to turn off edata->output_to_server, so we must recheck that afterward. @@ -1502,7 +1519,21 @@ CopyErrorData(void) newedata = (ErrorData *) palloc(sizeof(ErrorData)); memcpy(newedata, edata, sizeof(ErrorData)); - /* Make copies of separately-allocated fields */ + /* + * Make copies of separately-allocated strings. Note that we copy even + * theoretically-constant strings such as filename. This is because those + * could point into JIT-created code segments that might get unloaded at + * transaction cleanup. In some cases we need the copied ErrorData to + * survive transaction boundaries, so we'd better copy those strings too. + */ + if (newedata->filename) + newedata->filename = pstrdup(newedata->filename); + if (newedata->funcname) + newedata->funcname = pstrdup(newedata->funcname); + if (newedata->domain) + newedata->domain = pstrdup(newedata->domain); + if (newedata->context_domain) + newedata->context_domain = pstrdup(newedata->context_domain); if (newedata->message) newedata->message = pstrdup(newedata->message); if (newedata->detail) @@ -1515,6 +1546,8 @@ CopyErrorData(void) newedata->context = pstrdup(newedata->context); if (newedata->backtrace) newedata->backtrace = pstrdup(newedata->backtrace); + if (newedata->message_id) + newedata->message_id = pstrdup(newedata->message_id); if (newedata->schema_name) newedata->schema_name = pstrdup(newedata->schema_name); if (newedata->table_name) @@ -1596,7 +1629,7 @@ FlushErrorState(void) errordata_stack_depth = -1; recursion_depth = 0; /* Delete all data in ErrorContext */ - MemoryContextResetAndDeleteChildren(ErrorContext); + MemoryContextReset(ErrorContext); } /* @@ -1906,34 +1939,6 @@ write_stderr(const char *fmt,...) } - - -/* - * Write a message to STDERR using only async-signal-safe functions. This can - * be used to safely emit a message from a signal handler. - * - * TODO: It is likely possible to safely do a limited amount of string - * interpolation (e.g., %s and %d), but that is not presently supported. - */ - - - -/* - * Adjust the level of a recovery-related message per trace_recovery_messages. - * - * The argument is the default log level of the message, eg, DEBUG2. (This - * should only be applied to DEBUGn log messages, otherwise it's a no-op.) - * If the level is >= trace_recovery_messages, we return LOG, causing the - * message to be logged unconditionally (for most settings of - * log_min_messages). Otherwise, we return the argument unchanged. - * The message will then be shown based on the setting of log_min_messages. - * - * Intention is to keep this for at least the whole of the 9.0 production - * release, so we can more easily diagnose production problems in the field. - * It should go away eventually, though, because it's an ugly and - * hard-to-explain kluge. - */ - #ifdef WIN32 __thread volatile int pg_signal_queue; diff --git a/parser/src_backend_utils_fmgr_fmgr.c b/parser/src_backend_utils_fmgr_fmgr.c index 3cd4feee..55267248 100644 --- a/parser/src_backend_utils_fmgr_fmgr.c +++ b/parser/src_backend_utils_fmgr_fmgr.c @@ -9,7 +9,7 @@ * fmgr.c * The Postgres function manager. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -210,7 +210,9 @@ struct fmgr_security_definer_cache { FmgrInfo flinfo; /* lookup info for target function */ Oid userid; /* userid to set, or InvalidOid */ - ArrayType *proconfig; /* GUC values to set, or NULL */ + List *configNames; /* GUC names to set, or NIL */ + List *configHandles; /* GUC handles to set, or NIL */ + List *configValues; /* GUC values to set, or NIL */ Datum arg; /* passthrough argument for plugin modules */ }; diff --git a/parser/src_backend_utils_init_globals.c b/parser/src_backend_utils_init_globals.c index 85100ca3..35dcabcf 100644 --- a/parser/src_backend_utils_init_globals.c +++ b/parser/src_backend_utils_init_globals.c @@ -13,7 +13,7 @@ * globals.c * global variable declarations * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -32,7 +32,7 @@ #include "libpq/libpq-be.h" #include "libpq/pqcomm.h" #include "miscadmin.h" -#include "storage/backendid.h" +#include "storage/procnumber.h" @@ -48,6 +48,7 @@ __thread volatile sig_atomic_t InterruptPending = false; + __thread volatile uint32 InterruptHoldoffCount = 0; __thread volatile uint32 QueryCancelHoldoffCount = 0; @@ -62,6 +63,7 @@ __thread volatile uint32 CritSectionCount = 0; + /* * MyLatch points to the latch that should be used for signal handling by the * current process. It will either point to a process local latch if the @@ -104,6 +106,8 @@ __thread volatile uint32 CritSectionCount = 0; + + /* * DatabasePath is the path (relative to DataDir) of my database's * primary directory, ie, its directory in the default tablespace. @@ -127,7 +131,6 @@ __thread volatile uint32 CritSectionCount = 0; - __thread bool ExitOnAnyError = false; @@ -169,3 +172,12 @@ __thread bool ExitOnAnyError = false; /* working state for vacuum */ + +/* configurable SLRU buffer sizes */ + + + + + + + diff --git a/parser/src_backend_utils_mb_mbutils.c b/parser/src_backend_utils_mb_mbutils.c index dc863298..62f21463 100644 --- a/parser/src_backend_utils_mb_mbutils.c +++ b/parser/src_backend_utils_mb_mbutils.c @@ -47,7 +47,7 @@ * the result is validly encoded according to the destination encoding. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -61,9 +61,8 @@ #include "access/xact.h" #include "catalog/namespace.h" #include "mb/pg_wchar.h" -#include "utils/builtins.h" +#include "utils/fmgrprotos.h" #include "utils/memutils.h" -#include "utils/syscache.h" #include "varatt.h" /* @@ -496,24 +495,18 @@ static bool raw_pg_bind_textdomain_codeset(const char *domainname, int encoding) { bool elog_ok = (CurrentMemoryContext != NULL); - int i; - for (i = 0; pg_enc2gettext_tbl[i].name != NULL; i++) - { - if (pg_enc2gettext_tbl[i].encoding == encoding) - { - if (bind_textdomain_codeset(domainname, - pg_enc2gettext_tbl[i].name) != NULL) - return true; + if (!PG_VALID_ENCODING(encoding) || pg_enc2gettext_tbl[encoding] == NULL) + return false; - if (elog_ok) - elog(LOG, "bind_textdomain_codeset failed"); - else - write_stderr("bind_textdomain_codeset failed"); + if (bind_textdomain_codeset(domainname, + pg_enc2gettext_tbl[encoding]) != NULL) + return true; - break; - } - } + if (elog_ok) + elog(LOG, "bind_textdomain_codeset failed"); + else + write_stderr("bind_textdomain_codeset failed"); return false; } diff --git a/parser/src_backend_utils_misc_guc_tables.c b/parser/src_backend_utils_misc_guc_tables.c index 60b1e577..7a5211ef 100644 --- a/parser/src_backend_utils_misc_guc_tables.c +++ b/parser/src_backend_utils_misc_guc_tables.c @@ -18,7 +18,7 @@ * their fields are intended to be constant, some fields change at runtime. * * - * Copyright (c) 2000-2023, PostgreSQL Global Development Group + * Copyright (c) 2000-2024, PostgreSQL Global Development Group * Written by Peter Eisentraut . * * IDENTIFICATION @@ -36,6 +36,7 @@ #include "access/commit_ts.h" #include "access/gin.h" +#include "access/slru.h" #include "access/toast_compression.h" #include "access/twophase.h" #include "access/xlog_internal.h" @@ -45,10 +46,12 @@ #include "catalog/namespace.h" #include "catalog/storage.h" #include "commands/async.h" +#include "commands/event_trigger.h" #include "commands/tablespace.h" #include "commands/trigger.h" #include "commands/user.h" #include "commands/vacuum.h" +#include "common/file_utils.h" #include "common/scram-common.h" #include "jit/jit.h" #include "libpq/auth.h" @@ -69,9 +72,11 @@ #include "postmaster/postmaster.h" #include "postmaster/startup.h" #include "postmaster/syslogger.h" +#include "postmaster/walsummarizer.h" #include "postmaster/walwriter.h" #include "replication/logicallauncher.h" #include "replication/slot.h" +#include "replication/slotsync.h" #include "replication/syncrep.h" #include "storage/bufmgr.h" #include "storage/large_object.h" @@ -85,11 +90,11 @@ #include "utils/float.h" #include "utils/guc_hooks.h" #include "utils/guc_tables.h" +#include "utils/inval.h" #include "utils/memutils.h" #include "utils/pg_locale.h" -#include "utils/portal.h" +#include "utils/plancache.h" #include "utils/ps_status.h" -#include "utils/inval.h" #include "utils/xml.h" /* This value is normally passed in from the Makefile */ @@ -99,6 +104,7 @@ /* XXX these should appear in other modules' header files */ extern bool Log_disconnections; +extern bool Trace_connection_negotiation; extern int CommitDelay; extern int CommitSiblings; extern char *default_tablespace; @@ -223,6 +229,8 @@ StaticAssertDecl(lengthof(xmloption_options) == (XMLOPTION_CONTENT + 2), + + StaticAssertDecl(lengthof(ssl_protocol_versions_info) == (PG_TLS1_3_VERSION + 2), "array length mismatch"); @@ -250,7 +258,7 @@ StaticAssertDecl(lengthof(ssl_protocol_versions_info) == (PG_TLS1_3_VERSION + 2) extern const struct config_enum_entry wal_level_options[]; extern const struct config_enum_entry archive_mode_options[]; extern const struct config_enum_entry recovery_target_action_options[]; -extern const struct config_enum_entry sync_method_options[]; +extern const struct config_enum_entry wal_sync_method_options[]; extern const struct config_enum_entry dynamic_shared_memory_options[]; /* @@ -265,6 +273,7 @@ extern const struct config_enum_entry dynamic_shared_memory_options[]; + /* this is sort of all three above * together */ @@ -292,7 +301,6 @@ __thread int log_min_messages = WARNING; - __thread char *backtrace_functions; @@ -328,6 +336,7 @@ __thread char *backtrace_functions; + /* * These variables are all dummies that don't do anything, except in some * cases provide the value for SHOW to display. The real state is elsewhere @@ -342,6 +351,7 @@ __thread char *backtrace_functions; + #ifdef HAVE_SYSLOG #define DEFAULT_SYSLOG_FACILITY LOG_LOCAL0 #else @@ -410,7 +420,7 @@ StaticAssertDecl(lengthof(GucSource_Names) == (PGC_S_SESSION + 1), */ -StaticAssertDecl(lengthof(config_group_names) == (DEVELOPER_OPTIONS + 2), +StaticAssertDecl(lengthof(config_group_names) == (DEVELOPER_OPTIONS + 1), "array length mismatch"); /* diff --git a/parser/src_backend_utils_mmgr_alignedalloc.c b/parser/src_backend_utils_mmgr_alignedalloc.c index c6eddd24..3de2c7bd 100644 --- a/parser/src_backend_utils_mmgr_alignedalloc.c +++ b/parser/src_backend_utils_mmgr_alignedalloc.c @@ -17,7 +17,7 @@ * operations such as pfree() and repalloc() to work correctly on a memory * chunk that was allocated by palloc_aligned(). * - * Portions Copyright (c) 2022-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/utils/mmgr/alignedalloc.c @@ -66,7 +66,7 @@ AlignedAllocFree(void *pointer) * memory will be uninitialized. */ void * -AlignedAllocRealloc(void *pointer, Size size) +AlignedAllocRealloc(void *pointer, Size size, int flags) { MemoryChunk *redirchunk = PointerGetMemoryChunk(pointer); Size alignto; @@ -106,14 +106,17 @@ AlignedAllocRealloc(void *pointer, Size size) #endif ctx = GetMemoryChunkContext(unaligned); - newptr = MemoryContextAllocAligned(ctx, size, alignto, 0); + newptr = MemoryContextAllocAligned(ctx, size, alignto, flags); /* * We may memcpy beyond the end of the original allocation request size, * so we must mark the entire allocation as defined. */ - VALGRIND_MAKE_MEM_DEFINED(pointer, old_size); - memcpy(newptr, pointer, Min(size, old_size)); + if (likely(newptr != NULL)) + { + VALGRIND_MAKE_MEM_DEFINED(pointer, old_size); + memcpy(newptr, pointer, Min(size, old_size)); + } pfree(unaligned); return newptr; diff --git a/parser/src_backend_utils_mmgr_aset.c b/parser/src_backend_utils_mmgr_aset.c index 9795aa73..ee5b337d 100644 --- a/parser/src_backend_utils_mmgr_aset.c +++ b/parser/src_backend_utils_mmgr_aset.c @@ -1,7 +1,10 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - AllocSetAlloc + * - AllocSetAllocLarge * - AllocSetFreeIndex + * - AllocSetAllocFromNewBlock + * - AllocSetAllocChunkFromBlock * - AllocSetFree * - AllocSetRealloc * - AllocSetReset @@ -26,7 +29,7 @@ * type. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -68,8 +71,8 @@ #include "port/pg_bitutils.h" #include "utils/memdebug.h" #include "utils/memutils.h" -#include "utils/memutils_memorychunk.h" #include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" /*-------------------- * Chunk freelist k holds chunks of size 1 << (k + ALLOC_MINBITS), @@ -175,11 +178,10 @@ typedef struct AllocSetContext AllocBlock blocks; /* head of list of blocks in this set */ MemoryChunk *freelist[ALLOCSET_NUM_FREELISTS]; /* free chunk lists */ /* Allocation parameters for this context: */ - Size initBlockSize; /* initial block size */ - Size maxBlockSize; /* maximum block size */ - Size nextBlockSize; /* next block size to allocate */ - Size allocChunkLimit; /* effective chunk size limit */ - AllocBlock keeper; /* keep this block over resets */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ /* freelist this context could be put in, or -1 if not a candidate: */ int freeListIndex; /* index in context_freelists[], or -1 */ } AllocSetContext; @@ -260,6 +262,13 @@ typedef struct AllocBlockData */ #define MAX_FREE_CONTEXTS 100 /* arbitrary limit on freelist length */ +/* Obtain the keeper block for an allocation set */ +#define KeeperBlock(set) \ + ((AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext)))) + +/* Check if the block is the keeper block of the given allocation set */ +#define IsKeeperBlock(set, block) ((block) == (KeeperBlock(set))) + typedef struct AllocSetFreeList { int num_free; /* current list length */ @@ -437,7 +446,7 @@ AllocSetContextCreateInternal(MemoryContext parent, name); ((MemoryContext) set)->mem_allocated = - set->keeper->endptr - ((char *) set); + KeeperBlock(set)->endptr - ((char *) set); return (MemoryContext) set; } @@ -473,7 +482,7 @@ AllocSetContextCreateInternal(MemoryContext parent, */ /* Fill in the initial block's block header */ - block = (AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext))); + block = KeeperBlock(set); block->aset = set; block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; block->endptr = ((char *) set) + firstBlockSize; @@ -485,15 +494,13 @@ AllocSetContextCreateInternal(MemoryContext parent, /* Remember block as part of block list */ set->blocks = block; - /* Mark block as not to be released at reset time */ - set->keeper = block; /* Finish filling in aset-specific parts of the context header */ MemSetAligned(set->freelist, 0, sizeof(set->freelist)); - set->initBlockSize = initBlockSize; - set->maxBlockSize = maxBlockSize; - set->nextBlockSize = initBlockSize; + set->initBlockSize = (uint32) initBlockSize; + set->maxBlockSize = (uint32) maxBlockSize; + set->nextBlockSize = (uint32) initBlockSize; set->freeListIndex = freeListIndex; /* @@ -564,7 +571,7 @@ AllocSetReset(MemoryContext context) #endif /* Remember keeper block size for Assert below */ - keepersize = set->keeper->endptr - ((char *) set); + keepersize = KeeperBlock(set)->endptr - ((char *) set); /* Clear chunk freelists */ MemSetAligned(set->freelist, 0, sizeof(set->freelist)); @@ -572,13 +579,13 @@ AllocSetReset(MemoryContext context) block = set->blocks; /* New blocks list will be just the keeper block */ - set->blocks = set->keeper; + set->blocks = KeeperBlock(set); while (block != NULL) { AllocBlock next = block->next; - if (block == set->keeper) + if (IsKeeperBlock(set, block)) { /* Reset the block, but don't return it to malloc */ char *datastart = ((char *) block) + ALLOC_BLOCKHDRSZ; @@ -634,7 +641,7 @@ AllocSetDelete(MemoryContext context) #endif /* Remember keeper block size for Assert below */ - keepersize = set->keeper->endptr - ((char *) set); + keepersize = KeeperBlock(set)->endptr - ((char *) set); /* * If the context is a candidate for a freelist, put it into that freelist @@ -683,14 +690,14 @@ AllocSetDelete(MemoryContext context) { AllocBlock next = block->next; - if (block != set->keeper) + if (!IsKeeperBlock(set, block)) context->mem_allocated -= block->endptr - ((char *) block); #ifdef CLOBBER_FREED_MEMORY wipe_mem(block, block->freeptr - ((char *) block)); #endif - if (block != set->keeper) + if (!IsKeeperBlock(set, block)) free(block); block = next; @@ -703,98 +710,304 @@ AllocSetDelete(MemoryContext context) } /* - * AllocSetAlloc - * Returns pointer to allocated memory of given size or NULL if - * request could not be completed; memory is added to the set. - * - * No request may exceed: - * MAXALIGN_DOWN(SIZE_MAX) - ALLOC_BLOCKHDRSZ - ALLOC_CHUNKHDRSZ - * All callers use a much-lower limit. + * Helper for AllocSetAlloc() that allocates an entire block for the chunk. * - * Note: when using valgrind, it doesn't matter how the returned allocation - * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will - * return space that is marked NOACCESS - AllocSetRealloc has to beware! + * AllocSetAlloc()'s comment explains why this is separate. */ -void * -AllocSetAlloc(MemoryContext context, Size size) +pg_noinline +static void * +AllocSetAllocLarge(MemoryContext context, Size size, int flags) { AllocSet set = (AllocSet) context; AllocBlock block; MemoryChunk *chunk; - int fidx; Size chunk_size; Size blksize; - Assert(AllocSetIsValid(set)); + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); - /* - * If requested size exceeds maximum for chunks, allocate an entire block - * for this request. - */ - if (size > set->allocChunkLimit) - { #ifdef MEMORY_CONTEXT_CHECKING - /* ensure there's always space for the sentinel byte */ - chunk_size = MAXALIGN(size + 1); + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); #else - chunk_size = MAXALIGN(size); + chunk_size = MAXALIGN(size); #endif - blksize = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; - block = (AllocBlock) malloc(blksize); - if (block == NULL) - return NULL; + blksize = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; + block = (AllocBlock) malloc(blksize); + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); - context->mem_allocated += blksize; + context->mem_allocated += blksize; - block->aset = set; - block->freeptr = block->endptr = ((char *) block) + blksize; + block->aset = set; + block->freeptr = block->endptr = ((char *) block) + blksize; - chunk = (MemoryChunk *) (((char *) block) + ALLOC_BLOCKHDRSZ); + chunk = (MemoryChunk *) (((char *) block) + ALLOC_BLOCKHDRSZ); - /* mark the MemoryChunk as externally managed */ - MemoryChunkSetHdrMaskExternal(chunk, MCTX_ASET_ID); + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_ASET_ID); #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - Assert(size < chunk_size); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); +#endif +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* + * Stick the new block underneath the active allocation block, if any, so + * that we don't lose the use of the space remaining therein. + */ + if (set->blocks != NULL) + { + block->prev = set->blocks; + block->next = set->blocks->next; + if (block->next) + block->next->prev = block; + set->blocks->next = block; + } + else + { + block->prev = NULL; + block->next = NULL; + set->blocks = block; + } + + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between AllocSetAlloc() and AllocSetAllocFromNewBlock(). + */ +static inline void * +AllocSetAllocChunkFromBlock(MemoryContext context, AllocBlock block, + Size size, Size chunk_size, int fidx) +{ + MemoryChunk *chunk; + + chunk = (MemoryChunk *) (block->freeptr); + + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); + + block->freeptr += (chunk_size + ALLOC_CHUNKHDRSZ); + Assert(block->freeptr <= block->endptr); + + /* store the free list index in the value field */ + MemoryChunkSetHdrMask(chunk, block, fidx, MCTX_ASET_ID); + +#ifdef MEMORY_CONTEXT_CHECKING + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + if (size < chunk_size) set_sentinel(MemoryChunkGetPointer(chunk), size); #endif #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) MemoryChunkGetPointer(chunk), size); + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); #endif + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +/* + * Helper for AllocSetAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * AllocSetAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +AllocSetAllocFromNewBlock(MemoryContext context, Size size, int flags, + int fidx) +{ + AllocSet set = (AllocSet) context; + AllocBlock block; + Size availspace; + Size blksize; + Size required_size; + Size chunk_size; + + /* due to the keeper block set->blocks should always be valid */ + Assert(set->blocks != NULL); + block = set->blocks; + availspace = block->endptr - block->freeptr; + + /* + * The existing active (top) block does not have enough room for the + * requested allocation, but it might still have a useful amount of space + * in it. Once we push it down in the block list, we'll never try to + * allocate more space from it. So, before we do that, carve up its free + * space into chunks that we can put on the set's freelists. + * + * Because we can only get here when there's less than ALLOC_CHUNK_LIMIT + * left in the block, this loop cannot iterate more than + * ALLOCSET_NUM_FREELISTS-1 times. + */ + while (availspace >= ((1 << ALLOC_MINBITS) + ALLOC_CHUNKHDRSZ)) + { + AllocFreeListLink *link; + MemoryChunk *chunk; + Size availchunk = availspace - ALLOC_CHUNKHDRSZ; + int a_fidx = AllocSetFreeIndex(availchunk); + /* - * Stick the new block underneath the active allocation block, if any, - * so that we don't lose the use of the space remaining therein. + * In most cases, we'll get back the index of the next larger freelist + * than the one we need to put this chunk on. The exception is when + * availchunk is exactly a power of 2. */ - if (set->blocks != NULL) - { - block->prev = set->blocks; - block->next = set->blocks->next; - if (block->next) - block->next->prev = block; - set->blocks->next = block; - } - else + if (availchunk != GetChunkSizeFromFreeListIdx(a_fidx)) { - block->prev = NULL; - block->next = NULL; - set->blocks = block; + a_fidx--; + Assert(a_fidx >= 0); + availchunk = GetChunkSizeFromFreeListIdx(a_fidx); } - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, - chunk_size - size); + chunk = (MemoryChunk *) (block->freeptr); - /* Disallow access to the chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); + block->freeptr += (availchunk + ALLOC_CHUNKHDRSZ); + availspace -= (availchunk + ALLOC_CHUNKHDRSZ); - return MemoryChunkGetPointer(chunk); + /* store the freelist index in the value field */ + MemoryChunkSetHdrMask(chunk, block, a_fidx, MCTX_ASET_ID); +#ifdef MEMORY_CONTEXT_CHECKING + chunk->requested_size = InvalidAllocSize; /* mark it free */ +#endif + /* push this chunk onto the free list */ + link = GetFreeListLink(chunk); + + VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); + link->next = set->freelist[a_fidx]; + VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); + + set->freelist[a_fidx] = chunk; + } + + /* + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. + */ + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; + + /* Choose the actual chunk size to allocate */ + chunk_size = GetChunkSizeFromFreeListIdx(fidx); + Assert(chunk_size >= size); + + /* + * If initBlockSize is less than ALLOC_CHUNK_LIMIT, we could need more + * space... but try to keep it a power of 2. + */ + required_size = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; + while (blksize < required_size) + blksize <<= 1; + + /* Try to allocate it */ + block = (AllocBlock) malloc(blksize); + + /* + * We could be asking for pretty big blocks here, so cope if malloc fails. + * But give up if there's less than 1 MB or so available... + */ + while (block == NULL && blksize > 1024 * 1024) + { + blksize >>= 1; + if (blksize < required_size) + break; + block = (AllocBlock) malloc(blksize); } + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + block->aset = set; + block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; + block->endptr = ((char *) block) + blksize; + + /* Mark unallocated space NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, + blksize - ALLOC_BLOCKHDRSZ); + + block->prev = NULL; + block->next = set->blocks; + if (block->next) + block->next->prev = block; + set->blocks = block; + + return AllocSetAllocChunkFromBlock(context, block, size, chunk_size, fidx); +} + +/* + * AllocSetAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - ALLOC_BLOCKHDRSZ - ALLOC_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will + * return space that is marked NOACCESS - AllocSetRealloc has to beware! + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +AllocSetAlloc(MemoryContext context, Size size, int flags) +{ + AllocSet set = (AllocSet) context; + AllocBlock block; + MemoryChunk *chunk; + int fidx; + Size chunk_size; + Size availspace; + + Assert(AllocSetIsValid(set)); + + /* due to the keeper block set->blocks should never be NULL */ + Assert(set->blocks != NULL); + + /* + * If requested size exceeds maximum for chunks we hand the request off to + * AllocSetAllocLarge(). + */ + if (size > set->allocChunkLimit) + return AllocSetAllocLarge(context, size, flags); + /* * Request is small enough to be treated as a chunk. Look in the * corresponding free list to see if there is a free chunk we could reuse. @@ -850,164 +1063,18 @@ AllocSetAlloc(MemoryContext context, Size size) chunk_size = GetChunkSizeFromFreeListIdx(fidx); Assert(chunk_size >= size); + block = set->blocks; + availspace = block->endptr - block->freeptr; + /* * If there is enough room in the active allocation block, we will put the * chunk into that block. Else must start a new one. */ - if ((block = set->blocks) != NULL) - { - Size availspace = block->endptr - block->freeptr; - - if (availspace < (chunk_size + ALLOC_CHUNKHDRSZ)) - { - /* - * The existing active (top) block does not have enough room for - * the requested allocation, but it might still have a useful - * amount of space in it. Once we push it down in the block list, - * we'll never try to allocate more space from it. So, before we - * do that, carve up its free space into chunks that we can put on - * the set's freelists. - * - * Because we can only get here when there's less than - * ALLOC_CHUNK_LIMIT left in the block, this loop cannot iterate - * more than ALLOCSET_NUM_FREELISTS-1 times. - */ - while (availspace >= ((1 << ALLOC_MINBITS) + ALLOC_CHUNKHDRSZ)) - { - AllocFreeListLink *link; - Size availchunk = availspace - ALLOC_CHUNKHDRSZ; - int a_fidx = AllocSetFreeIndex(availchunk); - - /* - * In most cases, we'll get back the index of the next larger - * freelist than the one we need to put this chunk on. The - * exception is when availchunk is exactly a power of 2. - */ - if (availchunk != GetChunkSizeFromFreeListIdx(a_fidx)) - { - a_fidx--; - Assert(a_fidx >= 0); - availchunk = GetChunkSizeFromFreeListIdx(a_fidx); - } - - chunk = (MemoryChunk *) (block->freeptr); - - /* Prepare to initialize the chunk header. */ - VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); - block->freeptr += (availchunk + ALLOC_CHUNKHDRSZ); - availspace -= (availchunk + ALLOC_CHUNKHDRSZ); - - /* store the freelist index in the value field */ - MemoryChunkSetHdrMask(chunk, block, a_fidx, MCTX_ASET_ID); -#ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = InvalidAllocSize; /* mark it free */ -#endif - /* push this chunk onto the free list */ - link = GetFreeListLink(chunk); + if (unlikely(availspace < (chunk_size + ALLOC_CHUNKHDRSZ))) + return AllocSetAllocFromNewBlock(context, size, flags, fidx); - VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); - link->next = set->freelist[a_fidx]; - VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); - - set->freelist[a_fidx] = chunk; - } - /* Mark that we need to create a new block */ - block = NULL; - } - } - - /* - * Time to create a new regular (multi-chunk) block? - */ - if (block == NULL) - { - Size required_size; - - /* - * The first such block has size initBlockSize, and we double the - * space in each succeeding block, but not more than maxBlockSize. - */ - blksize = set->nextBlockSize; - set->nextBlockSize <<= 1; - if (set->nextBlockSize > set->maxBlockSize) - set->nextBlockSize = set->maxBlockSize; - - /* - * If initBlockSize is less than ALLOC_CHUNK_LIMIT, we could need more - * space... but try to keep it a power of 2. - */ - required_size = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; - while (blksize < required_size) - blksize <<= 1; - - /* Try to allocate it */ - block = (AllocBlock) malloc(blksize); - - /* - * We could be asking for pretty big blocks here, so cope if malloc - * fails. But give up if there's less than 1 MB or so available... - */ - while (block == NULL && blksize > 1024 * 1024) - { - blksize >>= 1; - if (blksize < required_size) - break; - block = (AllocBlock) malloc(blksize); - } - - if (block == NULL) - return NULL; - - context->mem_allocated += blksize; - - block->aset = set; - block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; - block->endptr = ((char *) block) + blksize; - - /* Mark unallocated space NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, - blksize - ALLOC_BLOCKHDRSZ); - - block->prev = NULL; - block->next = set->blocks; - if (block->next) - block->next->prev = block; - set->blocks = block; - } - - /* - * OK, do the allocation - */ - chunk = (MemoryChunk *) (block->freeptr); - - /* Prepare to initialize the chunk header. */ - VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); - - block->freeptr += (chunk_size + ALLOC_CHUNKHDRSZ); - Assert(block->freeptr <= block->endptr); - - /* store the free list index in the value field */ - MemoryChunkSetHdrMask(chunk, block, fidx, MCTX_ASET_ID); - -#ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - if (size < chunk_size) - set_sentinel(MemoryChunkGetPointer(chunk), size); -#endif -#ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) MemoryChunkGetPointer(chunk), size); -#endif - - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, - chunk_size - size); - - /* Disallow access to the chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - - return MemoryChunkGetPointer(chunk); + /* There's enough space on the current block, so allocate from that */ + return AllocSetAllocChunkFromBlock(context, block, size, chunk_size, fidx); } /* @@ -1122,7 +1189,7 @@ AllocSetFree(void *pointer) * request size.) */ void * -AllocSetRealloc(void *pointer, Size size) +AllocSetRealloc(void *pointer, Size size, int flags) { AllocBlock block; AllocSet set; @@ -1155,6 +1222,9 @@ AllocSetRealloc(void *pointer, Size size) set = block->aset; + /* only check size in paths where the limits could be hit */ + MemoryContextCheckSize((MemoryContext) set, size, flags); + oldchksize = block->endptr - (char *) pointer; #ifdef MEMORY_CONTEXT_CHECKING @@ -1181,7 +1251,7 @@ AllocSetRealloc(void *pointer, Size size) { /* Disallow access to the chunk header. */ VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - return NULL; + return MemoryContextAllocationFailure(&set->header, size, flags); } /* updated separately, not to underflow when (oldblksize > blksize) */ @@ -1341,15 +1411,15 @@ AllocSetRealloc(void *pointer, Size size) AllocPointer newPointer; Size oldsize; - /* allocate new chunk */ - newPointer = AllocSetAlloc((MemoryContext) set, size); + /* allocate new chunk (this also checks size is valid) */ + newPointer = AllocSetAlloc((MemoryContext) set, size, flags); /* leave immediately if request was not completed */ if (newPointer == NULL) { /* Disallow access to the chunk header. */ VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - return NULL; + return MemoryContextAllocationFailure((MemoryContext) set, size, flags); } /* @@ -1567,7 +1637,7 @@ AllocSetCheck(MemoryContext context) long nchunks = 0; bool has_external_chunk = false; - if (set->keeper == block) + if (IsKeeperBlock(set, block)) total_allocated += block->endptr - ((char *) set); else total_allocated += block->endptr - ((char *) block); @@ -1577,7 +1647,7 @@ AllocSetCheck(MemoryContext context) */ if (!blk_used) { - if (set->keeper != block) + if (!IsKeeperBlock(set, block)) elog(WARNING, "problem in alloc set %s: empty block %p", name, block); } diff --git a/parser/src_backend_utils_mmgr_bump.c b/parser/src_backend_utils_mmgr_bump.c new file mode 100644 index 00000000..453fb4fd --- /dev/null +++ b/parser/src_backend_utils_mmgr_bump.c @@ -0,0 +1,728 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - BumpAlloc + * - BumpAllocLarge + * - BumpBlockFreeBytes + * - BumpAllocFromNewBlock + * - BumpBlockInit + * - BumpAllocChunkFromBlock + * - BumpFree + * - BumpRealloc + * - BumpReset + * - BumpBlockMarkEmpty + * - BumpBlockFree + * - BumpDelete + * - BumpGetChunkContext + * - BumpGetChunkSpace + * - BumpIsEmpty + * - BumpBlockIsEmpty + * - BumpStats + * - BumpCheck + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * bump.c + * Bump allocator definitions. + * + * Bump is a MemoryContext implementation designed for memory usages which + * require allocating a large number of chunks, none of which ever need to be + * pfree'd or realloc'd. Chunks allocated by this context have no chunk header + * and operations which ordinarily require looking at the chunk header cannot + * be performed. For example, pfree, realloc, GetMemoryChunkSpace and + * GetMemoryChunkContext are all not possible with bump allocated chunks. The + * only way to release memory allocated by this context type is to reset or + * delete the context. + * + * Portions Copyright (c) 2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/backend/utils/mmgr/bump.c + * + * + * Bump is best suited to cases which require a large number of short-lived + * chunks where performance matters. Because bump allocated chunks don't + * have a chunk header, it can fit more chunks on each block. This means we + * can do more with less memory and fewer cache lines. The reason it's best + * suited for short-lived usages of memory is that ideally, pointers to bump + * allocated chunks won't be visible to a large amount of code. The more + * code that operates on memory allocated by this allocator, the more chances + * that some code will try to perform a pfree or one of the other operations + * which are made impossible due to the lack of chunk header. In order to + * detect accidental usage of the various disallowed operations, we do add a + * MemoryChunk chunk header in MEMORY_CONTEXT_CHECKING builds and have the + * various disallowed functions raise an ERROR. + * + * Allocations are MAXALIGNed. + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "lib/ilist.h" +#include "port/pg_bitutils.h" +#include "utils/memdebug.h" +#include "utils/memutils.h" +#include "utils/memutils_memorychunk.h" +#include "utils/memutils_internal.h" + +#define Bump_BLOCKHDRSZ MAXALIGN(sizeof(BumpBlock)) + +/* No chunk header unless built with MEMORY_CONTEXT_CHECKING */ +#ifdef MEMORY_CONTEXT_CHECKING +#define Bump_CHUNKHDRSZ sizeof(MemoryChunk) +#else +#define Bump_CHUNKHDRSZ 0 +#endif + +#define Bump_CHUNK_FRACTION 8 + +/* The keeper block is allocated in the same allocation as the set */ +#define KeeperBlock(set) ((BumpBlock *) ((char *) (set) + \ + MAXALIGN(sizeof(BumpContext)))) +#define IsKeeperBlock(set, blk) (KeeperBlock(set) == (blk)) + +typedef struct BumpBlock BumpBlock; /* forward reference */ + +typedef struct BumpContext +{ + MemoryContextData header; /* Standard memory-context fields */ + + /* Bump context parameters */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ + + dlist_head blocks; /* list of blocks with the block currently + * being filled at the head */ +} BumpContext; + +/* + * BumpBlock + * BumpBlock is the unit of memory that is obtained by bump.c from + * malloc(). It contains zero or more allocations, which are the + * units requested by palloc(). + */ +struct BumpBlock +{ + dlist_node node; /* doubly-linked list of blocks */ +#ifdef MEMORY_CONTEXT_CHECKING + BumpContext *context; /* pointer back to the owning context */ +#endif + char *freeptr; /* start of free space in this block */ + char *endptr; /* end of space in this block */ +}; + +/* + * BumpIsValid + * True iff set is valid bump context. + */ +#define BumpIsValid(set) \ + (PointerIsValid(set) && IsA(set, BumpContext)) + +/* + * We always store external chunks on a dedicated block. This makes fetching + * the block from an external chunk easy since it's always the first and only + * chunk on the block. + */ +#define ExternalChunkGetBlock(chunk) \ + (BumpBlock *) ((char *) chunk - Bump_BLOCKHDRSZ) + +/* Inlined helper functions */ +static inline void BumpBlockInit(BumpContext *context, BumpBlock *block, + Size blksize); +static inline bool BumpBlockIsEmpty(BumpBlock *block); +static inline void BumpBlockMarkEmpty(BumpBlock *block); +static inline Size BumpBlockFreeBytes(BumpBlock *block); +static inline void BumpBlockFree(BumpContext *set, BumpBlock *block); + + +/* +* BumpContextCreate +* Create a new Bump context. +* +* parent: parent context, or NULL if top-level context +* name: name of context (must be statically allocated) +* minContextSize: minimum context size +* initBlockSize: initial allocation block size +* maxBlockSize: maximum allocation block size +*/ + + +/* + * BumpReset + * Frees all memory which is allocated in the given set. + * + * The code simply frees all the blocks in the context apart from the keeper + * block. + */ +void +BumpReset(MemoryContext context) +{ + BumpContext *set = (BumpContext *) context; + dlist_mutable_iter miter; + + Assert(BumpIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Check for corruption and leaks before freeing */ + BumpCheck(context); +#endif + + dlist_foreach_modify(miter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, miter.cur); + + if (IsKeeperBlock(set, block)) + BumpBlockMarkEmpty(block); + else + BumpBlockFree(set, block); + } + + /* Reset block size allocation sequence, too */ + set->nextBlockSize = set->initBlockSize; + + /* Ensure there is only 1 item in the dlist */ + Assert(!dlist_is_empty(&set->blocks)); + Assert(!dlist_has_next(&set->blocks, dlist_head_node(&set->blocks))); +} + +/* + * BumpDelete + * Free all memory which is allocated in the given context. + */ +void +BumpDelete(MemoryContext context) +{ + /* Reset to release all releasable BumpBlocks */ + BumpReset(context); + /* And free the context header and keeper block */ + free(context); +} + +/* + * Helper for BumpAlloc() that allocates an entire block for the chunk. + * + * BumpAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +BumpAllocLarge(MemoryContext context, Size size, int flags) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; +#ifdef MEMORY_CONTEXT_CHECKING + MemoryChunk *chunk; +#endif + Size chunk_size; + Size required_size; + Size blksize; + + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + required_size = chunk_size + Bump_CHUNKHDRSZ; + blksize = required_size + Bump_BLOCKHDRSZ; + + block = (BumpBlock *) malloc(blksize); + if (block == NULL) + return NULL; + + context->mem_allocated += blksize; + + /* the block is completely full */ + block->freeptr = block->endptr = ((char *) block) + blksize; + +#ifdef MEMORY_CONTEXT_CHECKING + /* block with a single (used) chunk */ + block->context = set; + + chunk = (MemoryChunk *) (((char *) block) + Bump_BLOCKHDRSZ); + + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_BUMP_ID); + + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); +#endif +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* + * Add the block to the tail of allocated blocks list. The current block + * is left at the head of the list as it may still have space for + * non-large allocations. + */ + dlist_push_tail(&set->blocks, &block->node); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Bump_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +#else + return (void *) (((char *) block) + Bump_BLOCKHDRSZ); +#endif +} + +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between BumpAlloc() and BumpAllocFromNewBlock(). + */ +static inline void * +BumpAllocChunkFromBlock(MemoryContext context, BumpBlock *block, Size size, + Size chunk_size) +{ +#ifdef MEMORY_CONTEXT_CHECKING + MemoryChunk *chunk; +#else + void *ptr; +#endif + + /* validate we've been given a block with enough free space */ + Assert(block != NULL); + Assert((block->endptr - block->freeptr) >= Bump_CHUNKHDRSZ + chunk_size); + +#ifdef MEMORY_CONTEXT_CHECKING + chunk = (MemoryChunk *) block->freeptr; +#else + ptr = (void *) block->freeptr; +#endif + + /* point the freeptr beyond this chunk */ + block->freeptr += (Bump_CHUNKHDRSZ + chunk_size); + Assert(block->freeptr <= block->endptr); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, Bump_CHUNKHDRSZ); + + MemoryChunkSetHdrMask(chunk, block, chunk_size, MCTX_BUMP_ID); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); + +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Bump_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +#else + return ptr; +#endif /* MEMORY_CONTEXT_CHECKING */ +} + +/* + * Helper for BumpAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * BumpAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +BumpAllocFromNewBlock(MemoryContext context, Size size, int flags, + Size chunk_size) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; + Size blksize; + Size required_size; + + /* + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. + */ + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; + + /* we'll need space for the chunk, chunk hdr and block hdr */ + required_size = chunk_size + Bump_CHUNKHDRSZ + Bump_BLOCKHDRSZ; + /* round the size up to the next power of 2 */ + if (blksize < required_size) + blksize = pg_nextpower2_size_t(required_size); + + block = (BumpBlock *) malloc(blksize); + + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* initialize the new block */ + BumpBlockInit(set, block, blksize); + + /* add it to the doubly-linked list of blocks */ + dlist_push_head(&set->blocks, &block->node); + + return BumpAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * BumpAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - Bump_BLOCKHDRSZ - Bump_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +BumpAlloc(MemoryContext context, Size size, int flags) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; + Size chunk_size; + Size required_size; + + Assert(BumpIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + /* + * If requested size exceeds maximum for chunks we hand the request off to + * BumpAllocLarge(). + */ + if (chunk_size > set->allocChunkLimit) + return BumpAllocLarge(context, size, flags); + + required_size = chunk_size + Bump_CHUNKHDRSZ; + + /* + * Not an oversized chunk. We try to first make use of the latest block, + * but if there's not enough space in it we must allocate a new block. + */ + block = dlist_container(BumpBlock, node, dlist_head_node(&set->blocks)); + + if (BumpBlockFreeBytes(block) < required_size) + return BumpAllocFromNewBlock(context, size, flags, chunk_size); + + /* The current block has space, so just allocate chunk there. */ + return BumpAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * BumpBlockInit + * Initializes 'block' assuming 'blksize'. Does not update the context's + * mem_allocated field. + */ +static inline void +BumpBlockInit(BumpContext *context, BumpBlock *block, Size blksize) +{ +#ifdef MEMORY_CONTEXT_CHECKING + block->context = context; +#endif + block->freeptr = ((char *) block) + Bump_BLOCKHDRSZ; + block->endptr = ((char *) block) + blksize; + + /* Mark unallocated space NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, blksize - Bump_BLOCKHDRSZ); +} + +/* + * BumpBlockIsEmpty + * Returns true iff 'block' contains no chunks + */ +static inline bool +BumpBlockIsEmpty(BumpBlock *block) +{ + /* it's empty if the freeptr has not moved */ + return (block->freeptr == ((char *) block + Bump_BLOCKHDRSZ)); +} + +/* + * BumpBlockMarkEmpty + * Set a block as empty. Does not free the block. + */ +static inline void +BumpBlockMarkEmpty(BumpBlock *block) +{ +#if defined(USE_VALGRIND) || defined(CLOBBER_FREED_MEMORY) + char *datastart = ((char *) block) + Bump_BLOCKHDRSZ; +#endif + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(datastart, block->freeptr - datastart); +#else + /* wipe_mem() would have done this */ + VALGRIND_MAKE_MEM_NOACCESS(datastart, block->freeptr - datastart); +#endif + + /* Reset the block, but don't return it to malloc */ + block->freeptr = ((char *) block) + Bump_BLOCKHDRSZ; +} + +/* + * BumpBlockFreeBytes + * Returns the number of bytes free in 'block' + */ +static inline Size +BumpBlockFreeBytes(BumpBlock *block) +{ + return (block->endptr - block->freeptr); +} + +/* + * BumpBlockFree + * Remove 'block' from 'set' and release the memory consumed by it. + */ +static inline void +BumpBlockFree(BumpContext *set, BumpBlock *block) +{ + /* Make sure nobody tries to free the keeper block */ + Assert(!IsKeeperBlock(set, block)); + + /* release the block from the list of blocks */ + dlist_delete(&block->node); + + ((MemoryContext) set)->mem_allocated -= ((char *) block->endptr - (char *) block); + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, ((char *) block->endptr - (char *) block)); +#endif + + free(block); +} + +/* + * BumpFree + * Unsupported. + */ +void +BumpFree(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "pfree"); +} + +/* + * BumpRealloc + * Unsupported. + */ +void * +BumpRealloc(void *pointer, Size size, int flags) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "realloc"); + return NULL; /* keep compiler quiet */ +} + +/* + * BumpGetChunkContext + * Unsupported. + */ +MemoryContext +BumpGetChunkContext(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "GetMemoryChunkContext"); + return NULL; /* keep compiler quiet */ +} + +/* + * BumpGetChunkSpace + * Unsupported. + */ +Size +BumpGetChunkSpace(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "GetMemoryChunkSpace"); + return 0; /* keep compiler quiet */ +} + +/* + * BumpIsEmpty + * Is a BumpContext empty of any allocated space? + */ +bool +BumpIsEmpty(MemoryContext context) +{ + BumpContext *set = (BumpContext *) context; + dlist_iter iter; + + Assert(BumpIsValid(set)); + + dlist_foreach(iter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + + if (!BumpBlockIsEmpty(block)) + return false; + } + + return true; +} + +/* + * BumpStats + * Compute stats about memory consumption of a Bump context. + * + * printfunc: if not NULL, pass a human-readable stats string to this. + * passthru: pass this pointer through to printfunc. + * totals: if not NULL, add stats about this context into *totals. + * print_to_stderr: print stats to stderr if true, elog otherwise. + */ +void +BumpStats(MemoryContext context, MemoryStatsPrintFunc printfunc, + void *passthru, MemoryContextCounters *totals, bool print_to_stderr) +{ + BumpContext *set = (BumpContext *) context; + Size nblocks = 0; + Size totalspace = 0; + Size freespace = 0; + dlist_iter iter; + + Assert(BumpIsValid(set)); + + dlist_foreach(iter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + + nblocks++; + totalspace += (block->endptr - (char *) block); + freespace += (block->endptr - block->freeptr); + } + + if (printfunc) + { + char stats_string[200]; + + snprintf(stats_string, sizeof(stats_string), + "%zu total in %zu blocks; %zu free; %zu used", + totalspace, nblocks, freespace, totalspace - freespace); + printfunc(context, passthru, stats_string, print_to_stderr); + } + + if (totals) + { + totals->nblocks += nblocks; + totals->totalspace += totalspace; + totals->freespace += freespace; + } +} + + +#ifdef MEMORY_CONTEXT_CHECKING + +/* + * BumpCheck + * Walk through chunks and check consistency of memory. + * + * NOTE: report errors as WARNING, *not* ERROR or FATAL. Otherwise you'll + * find yourself in an infinite loop when trouble occurs, because this + * routine will be entered again when elog cleanup tries to release memory! + */ +void +BumpCheck(MemoryContext context) +{ + BumpContext *bump = (BumpContext *) context; + const char *name = context->name; + dlist_iter iter; + Size total_allocated = 0; + + /* walk all blocks in this context */ + dlist_foreach(iter, &bump->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + int nchunks; + char *ptr; + bool has_external_chunk = false; + + if (IsKeeperBlock(bump, block)) + total_allocated += block->endptr - (char *) bump; + else + total_allocated += block->endptr - (char *) block; + + /* check block belongs to the correct context */ + if (block->context != bump) + elog(WARNING, "problem in Bump %s: bogus context link in block %p", + name, block); + + /* now walk through the chunks and count them */ + nchunks = 0; + ptr = ((char *) block) + Bump_BLOCKHDRSZ; + + while (ptr < block->freeptr) + { + MemoryChunk *chunk = (MemoryChunk *) ptr; + BumpBlock *chunkblock; + Size chunksize; + + /* allow access to the chunk header */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Bump_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + chunkblock = ExternalChunkGetBlock(chunk); + chunksize = block->endptr - (char *) MemoryChunkGetPointer(chunk); + has_external_chunk = true; + } + else + { + chunkblock = MemoryChunkGetBlock(chunk); + chunksize = MemoryChunkGetValue(chunk); + } + + /* move to the next chunk */ + ptr += (chunksize + Bump_CHUNKHDRSZ); + + nchunks += 1; + + /* chunks have both block and context pointers, so check both */ + if (chunkblock != block) + elog(WARNING, "problem in Bump %s: bogus block link in block %p, chunk %p", + name, block, chunk); + } + + if (has_external_chunk && nchunks > 1) + elog(WARNING, "problem in Bump %s: external chunk on non-dedicated block %p", + name, block); + + } + + Assert(total_allocated == context->mem_allocated); +} + +#endif /* MEMORY_CONTEXT_CHECKING */ diff --git a/parser/src_backend_utils_mmgr_generation.c b/parser/src_backend_utils_mmgr_generation.c index e2182c4d..58def12e 100644 --- a/parser/src_backend_utils_mmgr_generation.c +++ b/parser/src_backend_utils_mmgr_generation.c @@ -1,14 +1,16 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - GenerationAlloc + * - GenerationAllocLarge * - GenerationBlockFreeBytes - * - GenerationBlockIsEmpty + * - GenerationAllocChunkFromBlock + * - GenerationAllocFromNewBlock * - GenerationBlockInit * - GenerationFree * - GenerationBlockMarkEmpty + * - GenerationBlockFree * - GenerationRealloc * - GenerationReset - * - GenerationBlockFree * - GenerationDelete * - GenerationGetChunkContext * - GenerationGetChunkSpace @@ -26,7 +28,7 @@ * Generation is a custom MemoryContext implementation designed for cases of * chunks with similar lifespan. * - * Portions Copyright (c) 2017-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/utils/mmgr/generation.c @@ -59,8 +61,8 @@ #include "port/pg_bitutils.h" #include "utils/memdebug.h" #include "utils/memutils.h" -#include "utils/memutils_memorychunk.h" #include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" #define Generation_BLOCKHDRSZ MAXALIGN(sizeof(GenerationBlock)) @@ -81,17 +83,14 @@ typedef struct GenerationContext MemoryContextData header; /* Standard memory-context fields */ /* Generational context parameters */ - Size initBlockSize; /* initial block size */ - Size maxBlockSize; /* maximum block size */ - Size nextBlockSize; /* next block size to allocate */ - Size allocChunkLimit; /* effective chunk size limit */ - - GenerationBlock *block; /* current (most recently allocated) block, or - * NULL if we've just freed the most recent - * block */ - GenerationBlock *freeblock; /* pointer to a block that's being recycled, - * or NULL if there's no such block. */ - GenerationBlock *keeper; /* keep this block over resets */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ + + GenerationBlock *block; /* current (most recently allocated) block */ + GenerationBlock *freeblock; /* pointer to an empty block that's being + * recycled, or NULL if there's no such block. */ dlist_head blocks; /* list of blocks */ } GenerationContext; @@ -132,6 +131,12 @@ struct GenerationBlock #define GenerationBlockIsValid(block) \ (PointerIsValid(block) && GenerationIsValid((block)->context)) +/* + * GenerationBlockIsEmpty + * True iff block contains no chunks + */ +#define GenerationBlockIsEmpty(b) ((b)->nchunks == 0) + /* * We always store external chunks on a dedicated block. This makes fetching * the block from an external chunk easy since it's always the first and only @@ -140,11 +145,18 @@ struct GenerationBlock #define ExternalChunkGetBlock(chunk) \ (GenerationBlock *) ((char *) chunk - Generation_BLOCKHDRSZ) +/* Obtain the keeper block for a generation context */ +#define KeeperBlock(set) \ + ((GenerationBlock *) (((char *) set) + \ + MAXALIGN(sizeof(GenerationContext)))) + +/* Check if the block is the keeper block of the given generation context */ +#define IsKeeperBlock(set, block) ((block) == (KeeperBlock(set))) + /* Inlined helper functions */ static inline void GenerationBlockInit(GenerationContext *context, GenerationBlock *block, Size blksize); -static inline bool GenerationBlockIsEmpty(GenerationBlock *block); static inline void GenerationBlockMarkEmpty(GenerationBlock *block); static inline Size GenerationBlockFreeBytes(GenerationBlock *block); static inline void GenerationBlockFree(GenerationContext *set, @@ -172,8 +184,10 @@ static inline void GenerationBlockFree(GenerationContext *set, * GenerationReset * Frees all memory which is allocated in the given set. * - * The code simply frees all the blocks in the context - we don't keep any - * keeper blocks or anything like that. + * The initial "keeper" block (which shares a malloc chunk with the context + * header) is not given back to the operating system though. In this way, we + * don't thrash malloc() when a context is repeatedly reset after small + * allocations. */ void GenerationReset(MemoryContext context) @@ -199,14 +213,14 @@ GenerationReset(MemoryContext context) { GenerationBlock *block = dlist_container(GenerationBlock, node, miter.cur); - if (block == set->keeper) + if (IsKeeperBlock(set, block)) GenerationBlockMarkEmpty(block); else GenerationBlockFree(set, block); } /* set it so new allocations to make use of the keeper block */ - set->block = set->keeper; + set->block = KeeperBlock(set); /* Reset block size allocation sequence, too */ set->nextBlockSize = set->initBlockSize; @@ -230,28 +244,23 @@ GenerationDelete(MemoryContext context) } /* - * GenerationAlloc - * Returns pointer to allocated memory of given size or NULL if - * request could not be completed; memory is added to the set. - * - * No request may exceed: - * MAXALIGN_DOWN(SIZE_MAX) - Generation_BLOCKHDRSZ - Generation_CHUNKHDRSZ - * All callers use a much-lower limit. + * Helper for GenerationAlloc() that allocates an entire block for the chunk. * - * Note: when using valgrind, it doesn't matter how the returned allocation - * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will - * return space that is marked NOACCESS - GenerationRealloc has to beware! + * GenerationAlloc()'s comment explains why this is separate. */ -void * -GenerationAlloc(MemoryContext context, Size size) +pg_noinline +static void * +GenerationAllocLarge(MemoryContext context, Size size, int flags) { GenerationContext *set = (GenerationContext *) context; GenerationBlock *block; MemoryChunk *chunk; Size chunk_size; Size required_size; + Size blksize; - Assert(GenerationIsValid(set)); + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); #ifdef MEMORY_CONTEXT_CHECKING /* ensure there's always space for the sentinel byte */ @@ -260,140 +269,66 @@ GenerationAlloc(MemoryContext context, Size size) chunk_size = MAXALIGN(size); #endif required_size = chunk_size + Generation_CHUNKHDRSZ; + blksize = required_size + Generation_BLOCKHDRSZ; - /* is it an over-sized chunk? if yes, allocate special block */ - if (chunk_size > set->allocChunkLimit) - { - Size blksize = required_size + Generation_BLOCKHDRSZ; - - block = (GenerationBlock *) malloc(blksize); - if (block == NULL) - return NULL; + block = (GenerationBlock *) malloc(blksize); + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); - context->mem_allocated += blksize; + context->mem_allocated += blksize; - /* block with a single (used) chunk */ - block->context = set; - block->blksize = blksize; - block->nchunks = 1; - block->nfree = 0; + /* block with a single (used) chunk */ + block->context = set; + block->blksize = blksize; + block->nchunks = 1; + block->nfree = 0; - /* the block is completely full */ - block->freeptr = block->endptr = ((char *) block) + blksize; + /* the block is completely full */ + block->freeptr = block->endptr = ((char *) block) + blksize; - chunk = (MemoryChunk *) (((char *) block) + Generation_BLOCKHDRSZ); + chunk = (MemoryChunk *) (((char *) block) + Generation_BLOCKHDRSZ); - /* mark the MemoryChunk as externally managed */ - MemoryChunkSetHdrMaskExternal(chunk, MCTX_GENERATION_ID); + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_GENERATION_ID); #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - Assert(size < chunk_size); - set_sentinel(MemoryChunkGetPointer(chunk), size); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); #endif #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) MemoryChunkGetPointer(chunk), size); + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); #endif - /* add the block to the list of allocated blocks */ - dlist_push_head(&set->blocks, &block->node); - - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, - chunk_size - size); - - /* Disallow access to the chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); - - return MemoryChunkGetPointer(chunk); - } - - /* - * Not an oversized chunk. We try to first make use of the current block, - * but if there's not enough space in it, instead of allocating a new - * block, we look to see if the freeblock is empty and has enough space. - * If not, we'll also try the same using the keeper block. The keeper - * block may have become empty and we have no other way to reuse it again - * if we don't try to use it explicitly here. - * - * We don't want to start filling the freeblock before the current block - * is full, otherwise we may cause fragmentation in FIFO type workloads. - * We only switch to using the freeblock or keeper block if those blocks - * are completely empty. If we didn't do that we could end up fragmenting - * consecutive allocations over multiple blocks which would be a problem - * that would compound over time. - */ - block = set->block; - - if (block == NULL || - GenerationBlockFreeBytes(block) < required_size) - { - Size blksize; - GenerationBlock *freeblock = set->freeblock; - - if (freeblock != NULL && - GenerationBlockIsEmpty(freeblock) && - GenerationBlockFreeBytes(freeblock) >= required_size) - { - block = freeblock; - - /* - * Zero out the freeblock as we'll set this to the current block - * below - */ - set->freeblock = NULL; - } - else if (GenerationBlockIsEmpty(set->keeper) && - GenerationBlockFreeBytes(set->keeper) >= required_size) - { - block = set->keeper; - } - else - { - /* - * The first such block has size initBlockSize, and we double the - * space in each succeeding block, but not more than maxBlockSize. - */ - blksize = set->nextBlockSize; - set->nextBlockSize <<= 1; - if (set->nextBlockSize > set->maxBlockSize) - set->nextBlockSize = set->maxBlockSize; - - /* we'll need a block hdr too, so add that to the required size */ - required_size += Generation_BLOCKHDRSZ; - - /* round the size up to the next power of 2 */ - if (blksize < required_size) - blksize = pg_nextpower2_size_t(required_size); + /* add the block to the list of allocated blocks */ + dlist_push_head(&set->blocks, &block->node); - block = (GenerationBlock *) malloc(blksize); - - if (block == NULL) - return NULL; - - context->mem_allocated += blksize; - - /* initialize the new block */ - GenerationBlockInit(set, block, blksize); + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); - /* add it to the doubly-linked list of blocks */ - dlist_push_head(&set->blocks, &block->node); + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); - /* Zero out the freeblock in case it's become full */ - set->freeblock = NULL; - } + return MemoryChunkGetPointer(chunk); +} - /* and also use it as the current allocation block */ - set->block = block; - } +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between GenerationAlloc() and GenerationAllocFromNewBlock(). + */ +static inline void * +GenerationAllocChunkFromBlock(MemoryContext context, GenerationBlock *block, + Size size, Size chunk_size) +{ + MemoryChunk *chunk = (MemoryChunk *) (block->freeptr); - /* we're supposed to have a block with enough free space now */ + /* validate we've been given a block with enough free space */ Assert(block != NULL); - Assert((block->endptr - block->freeptr) >= Generation_CHUNKHDRSZ + chunk_size); - - chunk = (MemoryChunk *) block->freeptr; + Assert((block->endptr - block->freeptr) >= + Generation_CHUNKHDRSZ + chunk_size); /* Prepare to initialize the chunk header. */ VALGRIND_MAKE_MEM_UNDEFINED(chunk, Generation_CHUNKHDRSZ); @@ -425,6 +360,156 @@ GenerationAlloc(MemoryContext context, Size size) return MemoryChunkGetPointer(chunk); } +/* + * Helper for GenerationAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * GenerationAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +GenerationAllocFromNewBlock(MemoryContext context, Size size, int flags, + Size chunk_size) +{ + GenerationContext *set = (GenerationContext *) context; + GenerationBlock *block; + Size blksize; + Size required_size; + + /* + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. + */ + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; + + /* we'll need space for the chunk, chunk hdr and block hdr */ + required_size = chunk_size + Generation_CHUNKHDRSZ + Generation_BLOCKHDRSZ; + + /* round the size up to the next power of 2 */ + if (blksize < required_size) + blksize = pg_nextpower2_size_t(required_size); + + block = (GenerationBlock *) malloc(blksize); + + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* initialize the new block */ + GenerationBlockInit(set, block, blksize); + + /* add it to the doubly-linked list of blocks */ + dlist_push_head(&set->blocks, &block->node); + + /* make this the current block */ + set->block = block; + + return GenerationAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * GenerationAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - Generation_BLOCKHDRSZ - Generation_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will + * return space that is marked NOACCESS - GenerationRealloc has to beware! + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +GenerationAlloc(MemoryContext context, Size size, int flags) +{ + GenerationContext *set = (GenerationContext *) context; + GenerationBlock *block; + Size chunk_size; + Size required_size; + + Assert(GenerationIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + /* + * If requested size exceeds maximum for chunks we hand the request off to + * GenerationAllocLarge(). + */ + if (chunk_size > set->allocChunkLimit) + return GenerationAllocLarge(context, size, flags); + + required_size = chunk_size + Generation_CHUNKHDRSZ; + + /* + * Not an oversized chunk. We try to first make use of the current block, + * but if there's not enough space in it, instead of allocating a new + * block, we look to see if the empty freeblock has enough space. We + * don't try reusing the keeper block. If it's become empty we'll reuse + * that again only if the context is reset. + * + * We only try reusing the freeblock if we've no space for this allocation + * on the current block. When a freeblock exists, we'll switch to it once + * the first time we can't fit an allocation in the current block. We + * avoid ping-ponging between the two as we need to be careful not to + * fragment differently sized consecutive allocations between several + * blocks. Going between the two could cause fragmentation for FIFO + * workloads, which generation is meant to be good at. + */ + block = set->block; + + if (unlikely(GenerationBlockFreeBytes(block) < required_size)) + { + GenerationBlock *freeblock = set->freeblock; + + /* freeblock, if set, must be empty */ + Assert(freeblock == NULL || GenerationBlockIsEmpty(freeblock)); + + /* check if we have a freeblock and if it's big enough */ + if (freeblock != NULL && + GenerationBlockFreeBytes(freeblock) >= required_size) + { + /* make the freeblock the current block */ + set->freeblock = NULL; + set->block = freeblock; + + return GenerationAllocChunkFromBlock(context, + freeblock, + size, + chunk_size); + } + else + { + /* + * No freeblock, or it's not big enough for this allocation. Make + * a new block. + */ + return GenerationAllocFromNewBlock(context, size, flags, chunk_size); + } + } + + /* The current block has space, so just allocate chunk there. */ + return GenerationAllocChunkFromBlock(context, block, size, chunk_size); +} + /* * GenerationBlockInit * Initializes 'block' assuming 'blksize'. Does not update the context's @@ -447,16 +532,6 @@ GenerationBlockInit(GenerationContext *context, GenerationBlock *block, blksize - Generation_BLOCKHDRSZ); } -/* - * GenerationBlockIsEmpty - * Returns true iff 'block' contains no chunks - */ -static inline bool -GenerationBlockIsEmpty(GenerationBlock *block) -{ - return (block->nchunks == 0); -} - /* * GenerationBlockMarkEmpty * Set a block as empty. Does not free the block. @@ -499,7 +574,7 @@ static inline void GenerationBlockFree(GenerationContext *set, GenerationBlock *block) { /* Make sure nobody tries to free the keeper block */ - Assert(block != set->keeper); + Assert(!IsKeeperBlock(set, block)); /* We shouldn't be freeing the freeblock either */ Assert(block != set->freeblock); @@ -517,8 +592,8 @@ GenerationBlockFree(GenerationContext *set, GenerationBlock *block) /* * GenerationFree - * Update number of chunks in the block, and if all chunks in the block - * are now free then discard the block. + * Update number of chunks in the block, and consider freeing the block + * if it's become empty. */ void GenerationFree(void *pointer) @@ -588,45 +663,41 @@ GenerationFree(void *pointer) Assert(block->nchunks > 0); Assert(block->nfree <= block->nchunks); + Assert(block != block->context->freeblock); /* If there are still allocated chunks in the block, we're done. */ - if (block->nfree < block->nchunks) + if (likely(block->nfree < block->nchunks)) return; set = block->context; - /* Don't try to free the keeper block, just mark it empty */ - if (block == set->keeper) - { - GenerationBlockMarkEmpty(block); - return; - } - - /* - * If there is no freeblock set or if this is the freeblock then instead - * of freeing this memory, we keep it around so that new allocations have - * the option of recycling it. + /*----------------------- + * The block this allocation was on has now become completely empty of + * chunks. In the general case, we can now return the memory for this + * block back to malloc. However, there are cases where we don't want to + * do that: + * + * 1) If it's the keeper block. This block was malloc'd in the same + * allocation as the context itself and can't be free'd without + * freeing the context. + * 2) If it's the current block. We could free this, but doing so would + * leave us nothing to set the current block to, so we just mark the + * block as empty so new allocations can reuse it again. + * 3) If we have no "freeblock" set, then we save a single block for + * future allocations to avoid having to malloc a new block again. + * This is useful for FIFO workloads as it avoids continual + * free/malloc cycles. */ - if (set->freeblock == NULL || set->freeblock == block) + if (IsKeeperBlock(set, block) || set->block == block) + GenerationBlockMarkEmpty(block); /* case 1 and 2 */ + else if (set->freeblock == NULL) { - /* XXX should we only recycle maxBlockSize sized blocks? */ - set->freeblock = block; + /* case 3 */ GenerationBlockMarkEmpty(block); - return; + set->freeblock = block; } - - /* Also make sure the block is not marked as the current block. */ - if (set->block == block) - set->block = NULL; - - /* - * The block is empty, so let's get rid of it. First remove it from the - * list of blocks, then return it to malloc(). - */ - dlist_delete(&block->node); - - set->header.mem_allocated -= block->blksize; - free(block); + else + GenerationBlockFree(set, block); /* Otherwise, free it */ } /* @@ -636,7 +707,7 @@ GenerationFree(void *pointer) * into the old chunk - in that case we just update chunk header. */ void * -GenerationRealloc(void *pointer, Size size) +GenerationRealloc(void *pointer, Size size, int flags) { MemoryChunk *chunk = PointerGetMemoryChunk(pointer); GenerationContext *set; @@ -685,8 +756,8 @@ GenerationRealloc(void *pointer, Size size) #endif /* - * Maybe the allocated area already is >= the new size. (In particular, - * we always fall out here if the requested size is a decrease.) + * Maybe the allocated area already big enough. (In particular, we always + * fall out here if the requested size is a decrease.) * * This memory context does not use power-of-2 chunk sizing and instead * carves the chunks to be as small as possible, so most repalloc() calls @@ -694,7 +765,12 @@ GenerationRealloc(void *pointer, Size size) * * XXX Perhaps we should annotate this condition with unlikely()? */ +#ifdef MEMORY_CONTEXT_CHECKING + /* With MEMORY_CONTEXT_CHECKING, we need an extra byte for the sentinel */ + if (oldsize > size) +#else if (oldsize >= size) +#endif { #ifdef MEMORY_CONTEXT_CHECKING Size oldrequest = chunk->requested_size; @@ -738,15 +814,15 @@ GenerationRealloc(void *pointer, Size size) return pointer; } - /* allocate new chunk */ - newPointer = GenerationAlloc((MemoryContext) set, size); + /* allocate new chunk (this also checks size is valid) */ + newPointer = GenerationAlloc((MemoryContext) set, size, flags); /* leave immediately if request was not completed */ if (newPointer == NULL) { /* Disallow access to the chunk header. */ VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); - return NULL; + return MemoryContextAllocationFailure((MemoryContext) set, size, flags); } /* diff --git a/parser/src_backend_utils_mmgr_mcxt.c b/parser/src_backend_utils_mmgr_mcxt.c index 847473d0..2d7f5350 100644 --- a/parser/src_backend_utils_mmgr_mcxt.c +++ b/parser/src_backend_utils_mmgr_mcxt.c @@ -4,6 +4,7 @@ * - MemoryContextReset * - MemoryContextDeleteChildren * - MemoryContextDelete + * - MemoryContextDeleteOnly * - TopMemoryContext * - CurrentMemoryContext * - MemoryContextSetParent @@ -11,11 +12,13 @@ * - MemoryContextResetOnly * - repalloc * - GetMemoryChunkContext + * - mcxt_methods + * - MemoryContextAllocationFailure * - MemoryContextStats * - MemoryContextStatsDetail * - MemoryContextStatsInternal * - MemoryContextStatsPrint - * - mcxt_methods + * - MemoryContextTraverseNext * - GetMemoryChunkSpace * - MemoryContextAllocAligned * - MemoryContextAllocExtended @@ -30,14 +33,14 @@ * - MemoryContextStrdup * - MemoryContextAlloc * - palloc - * - MemoryContextAllocZeroAligned - * - MemoryContextAllocZero * - palloc0 * - MemoryContextCreate * - MemoryContextInit * - MemoryContextAllowInCriticalSection * - CurrentMemoryContext * - MemoryContextDelete + * - MemoryContextAllocZero + * - MemoryContextSizeFailure * - palloc0 * - MemoryContextAllocExtended *-------------------------------------------------------------------- @@ -54,7 +57,7 @@ * context's MemoryContextMethods struct. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -68,10 +71,6 @@ #include "mb/pg_wchar.h" #include "miscadmin.h" -#include "storage/proc.h" -#include "storage/procarray.h" -#include "storage/procsignal.h" -#include "utils/fmgrprotos.h" #include "utils/memdebug.h" #include "utils/memutils.h" #include "utils/memutils_internal.h" @@ -79,13 +78,18 @@ static void BogusFree(void *pointer); -static void *BogusRealloc(void *pointer, Size size); +static void *BogusRealloc(void *pointer, Size size, int flags); static MemoryContext BogusGetChunkContext(void *pointer); static Size BogusGetChunkSpace(void *pointer); /***************************************************************************** * GLOBAL MEMORY * *****************************************************************************/ +#define BOGUS_MCTX(id) \ + [id].free_p = BogusFree, \ + [id].realloc = BogusRealloc, \ + [id].get_chunk_context = BogusGetChunkContext, \ + [id].get_chunk_space = BogusGetChunkSpace static const MemoryContextMethods mcxt_methods[] = { /* aset.c */ @@ -144,35 +148,42 @@ static const MemoryContextMethods mcxt_methods[] = { [MCTX_ALIGNED_REDIRECT_ID].check = NULL, /* not required */ #endif + /* bump.c */ + [MCTX_BUMP_ID].alloc = BumpAlloc, + [MCTX_BUMP_ID].free_p = BumpFree, + [MCTX_BUMP_ID].realloc = BumpRealloc, + [MCTX_BUMP_ID].reset = BumpReset, + [MCTX_BUMP_ID].delete_context = BumpDelete, + [MCTX_BUMP_ID].get_chunk_context = BumpGetChunkContext, + [MCTX_BUMP_ID].get_chunk_space = BumpGetChunkSpace, + [MCTX_BUMP_ID].is_empty = BumpIsEmpty, + [MCTX_BUMP_ID].stats = BumpStats, +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_BUMP_ID].check = BumpCheck, +#endif + /* - * Unused (as yet) IDs should have dummy entries here. This allows us to - * fail cleanly if a bogus pointer is passed to pfree or the like. It + * Reserved and unused IDs should have dummy entries here. This allows us + * to fail cleanly if a bogus pointer is passed to pfree or the like. It * seems sufficient to provide routines for the methods that might get * invoked from inspection of a chunk (see MCXT_METHOD calls below). */ - - [MCTX_UNUSED1_ID].free_p = BogusFree, - [MCTX_UNUSED1_ID].realloc = BogusRealloc, - [MCTX_UNUSED1_ID].get_chunk_context = BogusGetChunkContext, - [MCTX_UNUSED1_ID].get_chunk_space = BogusGetChunkSpace, - - [MCTX_UNUSED2_ID].free_p = BogusFree, - [MCTX_UNUSED2_ID].realloc = BogusRealloc, - [MCTX_UNUSED2_ID].get_chunk_context = BogusGetChunkContext, - [MCTX_UNUSED2_ID].get_chunk_space = BogusGetChunkSpace, - - [MCTX_UNUSED3_ID].free_p = BogusFree, - [MCTX_UNUSED3_ID].realloc = BogusRealloc, - [MCTX_UNUSED3_ID].get_chunk_context = BogusGetChunkContext, - [MCTX_UNUSED3_ID].get_chunk_space = BogusGetChunkSpace, - - [MCTX_UNUSED4_ID].free_p = BogusFree, - [MCTX_UNUSED4_ID].realloc = BogusRealloc, - [MCTX_UNUSED4_ID].get_chunk_context = BogusGetChunkContext, - [MCTX_UNUSED4_ID].get_chunk_space = BogusGetChunkSpace, + BOGUS_MCTX(MCTX_1_RESERVED_GLIBC_ID), + BOGUS_MCTX(MCTX_2_RESERVED_GLIBC_ID), + BOGUS_MCTX(MCTX_8_UNUSED_ID), + BOGUS_MCTX(MCTX_9_UNUSED_ID), + BOGUS_MCTX(MCTX_10_UNUSED_ID), + BOGUS_MCTX(MCTX_11_UNUSED_ID), + BOGUS_MCTX(MCTX_12_UNUSED_ID), + BOGUS_MCTX(MCTX_13_UNUSED_ID), + BOGUS_MCTX(MCTX_14_UNUSED_ID), + BOGUS_MCTX(MCTX_0_RESERVED_UNUSEDMEM_ID), + BOGUS_MCTX(MCTX_15_RESERVED_WIPEDMEM_ID) }; +#undef BOGUS_MCTX + /* * CurrentMemoryContext * Default memory context for allocations. @@ -197,9 +208,10 @@ __thread MemoryContext ErrorContext = NULL; /* This is a transient link to the active portal's memory context: */ +static void MemoryContextDeleteOnly(MemoryContext context); static void MemoryContextCallResetCallbacks(MemoryContext context); static void MemoryContextStatsInternal(MemoryContext context, int level, - bool print, int max_children, + int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr); static void MemoryContextStatsPrint(MemoryContext context, void *passthru, @@ -271,6 +283,50 @@ GetMemoryChunkHeader(const void *pointer) return header; } +/* + * MemoryContextTraverseNext + * Helper function to traverse all descendants of a memory context + * without recursion. + * + * Recursion could lead to out-of-stack errors with deep context hierarchies, + * which would be unpleasant in error cleanup code paths. + * + * To process 'context' and all its descendants, use a loop like this: + * + * + * for (MemoryContext curr = context->firstchild; + * curr != NULL; + * curr = MemoryContextTraverseNext(curr, context)) + * { + * + * } + * + * This visits all the contexts in pre-order, that is a node is visited + * before its children. + */ +static MemoryContext +MemoryContextTraverseNext(MemoryContext curr, MemoryContext top) +{ + /* After processing a node, traverse to its first child if any */ + if (curr->firstchild != NULL) + return curr->firstchild; + + /* + * After processing a childless node, traverse to its next sibling if + * there is one. If there isn't, traverse back up to the parent (which + * has already been visited, and now so have all its descendants). We're + * done if that is "top", otherwise traverse to its next sibling if any, + * otherwise repeat moving up. + */ + while (curr->nextchild == NULL) + { + curr = curr->parent; + if (curr == top) + return NULL; + } + return curr->nextchild; +} + /* * Support routines to trap use of invalid memory context method IDs * (from calling pfree or the like on a bogus pointer). As a possible @@ -285,7 +341,7 @@ BogusFree(void *pointer) } static void * -BogusRealloc(void *pointer, Size size) +BogusRealloc(void *pointer, Size size, int flags) { elog(ERROR, "repalloc called with invalid pointer %p (header 0x%016llx)", pointer, (unsigned long long) GetMemoryChunkHeader(pointer)); @@ -432,21 +488,60 @@ MemoryContextResetOnly(MemoryContext context) * allocated therein. * * The type-specific delete routine removes all storage for the context, - * but we have to recurse to handle the children. - * We must also delink the context from its parent, if it has one. + * but we have to deal with descendant nodes here. */ void MemoryContextDelete(MemoryContext context) +{ + MemoryContext curr; + + Assert(MemoryContextIsValid(context)); + + /* + * Delete subcontexts from the bottom up. + * + * Note: Do not use recursion here. A "stack depth limit exceeded" error + * would be unpleasant if we're already in the process of cleaning up from + * transaction abort. We also cannot use MemoryContextTraverseNext() here + * because we modify the tree as we go. + */ + curr = context; + for (;;) + { + MemoryContext parent; + + /* Descend down until we find a leaf context with no children */ + while (curr->firstchild != NULL) + curr = curr->firstchild; + + /* + * We're now at a leaf with no children. Free it and continue from the + * parent. Or if this was the original node, we're all done. + */ + parent = curr->parent; + MemoryContextDeleteOnly(curr); + + if (curr == context) + break; + curr = parent; + } +} + +/* + * Subroutine of MemoryContextDelete, + * to delete a context that has no children. + * We must also delink the context from its parent, if it has one. + */ +static void +MemoryContextDeleteOnly(MemoryContext context) { Assert(MemoryContextIsValid(context)); /* We had better not be deleting TopMemoryContext ... */ Assert(context != TopMemoryContext); /* And not CurrentMemoryContext, either */ Assert(context != CurrentMemoryContext); - - /* save a function call in common case where there are no children */ - if (context->firstchild != NULL) - MemoryContextDeleteChildren(context); + /* All the children should've been deleted already */ + Assert(context->firstchild == NULL); /* * It's not entirely clear whether 'tis better to do this before or after @@ -670,6 +765,12 @@ GetMemoryChunkSpace(void *pointer) */ +/* + * Return the memory consumption statistics about the given context and its + * children. + */ + + /* * MemoryContextStats * Print statistics about the named context and all its descendants. @@ -681,8 +782,8 @@ GetMemoryChunkSpace(void *pointer) void MemoryContextStats(MemoryContext context) { - /* A hard-wired limit on the number of children is usually good enough */ - MemoryContextStatsDetail(context, 100, true); + /* Hard-wired limits are usually good enough */ + MemoryContextStatsDetail(context, 100, 100, true); } /* @@ -694,14 +795,16 @@ MemoryContextStats(MemoryContext context) * with fprintf(stderr), otherwise use ereport(). */ void -MemoryContextStatsDetail(MemoryContext context, int max_children, +MemoryContextStatsDetail(MemoryContext context, + int max_level, int max_children, bool print_to_stderr) { MemoryContextCounters grand_totals; memset(&grand_totals, 0, sizeof(grand_totals)); - MemoryContextStatsInternal(context, 0, true, max_children, &grand_totals, print_to_stderr); + MemoryContextStatsInternal(context, 0, max_level, max_children, + &grand_totals, print_to_stderr); if (print_to_stderr) fprintf(stderr, @@ -710,7 +813,7 @@ MemoryContextStatsDetail(MemoryContext context, int max_children, grand_totals.freespace, grand_totals.freechunks, grand_totals.totalspace - grand_totals.freespace); else - + { /* * Use LOG_SERVER_ONLY to prevent the memory contexts from being sent * to the connected client. @@ -728,22 +831,22 @@ MemoryContextStatsDetail(MemoryContext context, int max_children, grand_totals.totalspace, grand_totals.nblocks, grand_totals.freespace, grand_totals.freechunks, grand_totals.totalspace - grand_totals.freespace))); + } } /* * MemoryContextStatsInternal * One recursion level for MemoryContextStats * - * Print this context if print is true, but in any case accumulate counts into - * *totals (if given). + * Print stats for this context if possible, but in any case accumulate counts + * into *totals (if not NULL). */ static void MemoryContextStatsInternal(MemoryContext context, int level, - bool print, int max_children, + int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr) { - MemoryContextCounters local_totals; MemoryContext child; int ichild; @@ -751,66 +854,73 @@ MemoryContextStatsInternal(MemoryContext context, int level, /* Examine the context itself */ context->methods->stats(context, - print ? MemoryContextStatsPrint : NULL, + MemoryContextStatsPrint, (void *) &level, totals, print_to_stderr); /* - * Examine children. If there are more than max_children of them, we do - * not print the rest explicitly, but just summarize them. + * Examine children. + * + * If we are past the recursion depth limit or already running low on + * stack, do not print them explicitly but just summarize them. Similarly, + * if there are more than max_children of them, we do not print the rest + * explicitly, but just summarize them. */ - memset(&local_totals, 0, sizeof(local_totals)); - - for (child = context->firstchild, ichild = 0; - child != NULL; - child = child->nextchild, ichild++) + child = context->firstchild; + ichild = 0; + if (level < max_level && !stack_is_too_deep()) { - if (ichild < max_children) + for (; child != NULL && ichild < max_children; + child = child->nextchild, ichild++) + { MemoryContextStatsInternal(child, level + 1, - print, max_children, + max_level, max_children, totals, print_to_stderr); - else - MemoryContextStatsInternal(child, level + 1, - false, max_children, - &local_totals, - print_to_stderr); + } } - /* Deal with excess children */ - if (ichild > max_children) + if (child != NULL) { - if (print) + /* Summarize the rest of the children, avoiding recursion. */ + MemoryContextCounters local_totals; + + memset(&local_totals, 0, sizeof(local_totals)); + + ichild = 0; + while (child != NULL) { - if (print_to_stderr) - { - int i; - - for (i = 0; i <= level; i++) - fprintf(stderr, " "); - fprintf(stderr, - "%d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used\n", - ichild - max_children, - local_totals.totalspace, - local_totals.nblocks, - local_totals.freespace, - local_totals.freechunks, - local_totals.totalspace - local_totals.freespace); - } - else - ereport(LOG_SERVER_ONLY, - (errhidestmt(true), - errhidecontext(true), - errmsg_internal("level: %d; %d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used", - level, - ichild - max_children, - local_totals.totalspace, - local_totals.nblocks, - local_totals.freespace, - local_totals.freechunks, - local_totals.totalspace - local_totals.freespace))); + child->methods->stats(child, NULL, NULL, &local_totals, false); + ichild++; + child = MemoryContextTraverseNext(child, context); } + if (print_to_stderr) + { + for (int i = 0; i <= level; i++) + fprintf(stderr, " "); + fprintf(stderr, + "%d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used\n", + ichild, + local_totals.totalspace, + local_totals.nblocks, + local_totals.freespace, + local_totals.freechunks, + local_totals.totalspace - local_totals.freespace); + } + else + ereport(LOG_SERVER_ONLY, + (errhidestmt(true), + errhidecontext(true), + errmsg_internal("level: %d; %d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used", + level, + ichild, + local_totals.totalspace, + local_totals.nblocks, + local_totals.freespace, + local_totals.freechunks, + local_totals.totalspace - local_totals.freespace))); + if (totals) { totals->nblocks += local_totals.nblocks; @@ -902,7 +1012,7 @@ MemoryContextStatsPrint(MemoryContext context, void *passthru, /* * MemoryContextCheck - * Check all chunks in the named context. + * Check all chunks in the named context and its children. * * This is just a debugging utility, so it's not fancy. */ @@ -984,120 +1094,93 @@ MemoryContextCreate(MemoryContext node, } /* - * MemoryContextAlloc - * Allocate space within the specified context. - * - * This could be turned into a macro, but we'd have to import - * nodes/memnodes.h into postgres.h which seems a bad idea. + * MemoryContextAllocationFailure + * For use by MemoryContextMethods implementations to handle when malloc + * returns NULL. The behavior is specific to whether MCXT_ALLOC_NO_OOM + * is in 'flags'. */ void * -MemoryContextAlloc(MemoryContext context, Size size) +MemoryContextAllocationFailure(MemoryContext context, Size size, int flags) { - void *ret; - - Assert(MemoryContextIsValid(context)); - AssertNotInCriticalSection(context); - - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - - context->isReset = false; - - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) + if ((flags & MCXT_ALLOC_NO_OOM) == 0) { MemoryContextStats(TopMemoryContext); - - /* - * Here, and elsewhere in this module, we show the target context's - * "name" but not its "ident" (if any) in user-visible error messages. - * The "ident" string might contain security-sensitive data, such as - * values in SQL commands. - */ ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of memory"), errdetail("Failed on request of size %zu in memory context \"%s\".", size, context->name))); } + return NULL; +} - VALGRIND_MEMPOOL_ALLOC(context, ret, size); - - return ret; +/* + * MemoryContextSizeFailure + * For use by MemoryContextMethods implementations to handle invalid + * memory allocation request sizes. + */ +void +MemoryContextSizeFailure(MemoryContext context, Size size, int flags) +{ + elog(ERROR, "invalid memory alloc request size %zu", size); } /* - * MemoryContextAllocZero - * Like MemoryContextAlloc, but clears allocated memory + * MemoryContextAlloc + * Allocate space within the specified context. * - * We could just call MemoryContextAlloc then clear the memory, but this - * is a very common combination, so we provide the combined operation. + * This could be turned into a macro, but we'd have to import + * nodes/memnodes.h into postgres.h which seems a bad idea. */ void * -MemoryContextAllocZero(MemoryContext context, Size size) +MemoryContextAlloc(MemoryContext context, Size size) { void *ret; Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'alloc' + * function instead. + */ + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); - MemSetAligned(ret, 0, size); - return ret; } /* - * MemoryContextAllocZeroAligned - * MemoryContextAllocZero where length is suitable for MemSetLoop + * MemoryContextAllocZero + * Like MemoryContextAlloc, but clears allocated memory * - * This might seem overly specialized, but it's not because newNode() - * is so often called with compile-time-constant sizes. + * We could just call MemoryContextAlloc then clear the memory, but this + * is a very common combination, so we provide the combined operation. */ void * -MemoryContextAllocZeroAligned(MemoryContext context, Size size) +MemoryContextAllocZero(MemoryContext context, Size size) { void *ret; Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); - MemSetLoop(ret, 0, size); + MemSetAligned(ret, 0, size); return ret; } @@ -1120,20 +1203,9 @@ MemoryContextAllocExtended(MemoryContext context, Size size, int flags) context->isReset = false; - ret = context->methods->alloc(context, size); + ret = context->methods->alloc(context, size, flags); if (unlikely(ret == NULL)) - { - if ((flags & MCXT_ALLOC_NO_OOM) == 0) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } return NULL; - } VALGRIND_MEMPOOL_ALLOC(context, ret, size); @@ -1174,22 +1246,21 @@ palloc(Size size) Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } - + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'alloc' + * function instead. + */ + ret = context->methods->alloc(context, size, 0); + /* We expect OOM to be handled by the alloc function */ + Assert(ret != NULL); VALGRIND_MEMPOOL_ALLOC(context, ret, size); return ret; @@ -1205,21 +1276,9 @@ palloc0(Size size) Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); @@ -1384,26 +1443,22 @@ repalloc(void *pointer, Size size) #endif void *ret; - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - AssertNotInCriticalSection(context); /* isReset must be false already */ Assert(!context->isReset); - ret = MCXT_METHOD(pointer, realloc) (pointer, size); - if (unlikely(ret == NULL)) - { - MemoryContext cxt = GetMemoryChunkContext(pointer); - - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, cxt->name))); - } + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'realloc' + * function instead. + */ + ret = MCXT_METHOD(pointer, realloc) (pointer, size, 0); #ifdef USE_VALGRIND if (method != MCTX_ALIGNED_REDIRECT_ID) diff --git a/parser/src_backend_utils_mmgr_slab.c b/parser/src_backend_utils_mmgr_slab.c index e961f78d..2eafdbf9 100644 --- a/parser/src_backend_utils_mmgr_slab.c +++ b/parser/src_backend_utils_mmgr_slab.c @@ -2,8 +2,11 @@ * Symbols referenced in this file: * - SlabAlloc * - SlabBlocklistIndex + * - SlabAllocInvalidSize + * - SlabAllocFromNewBlock * - SlabGetNextFreeChunk * - SlabFindNextBlockListIndex + * - SlabAllocSetupNewChunk * - SlabFree * - SlabRealloc * - SlabReset @@ -26,7 +29,7 @@ * with minimal memory wastage and fragmentation. * * - * Portions Copyright (c) 2017-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/utils/mmgr/slab.c @@ -89,8 +92,8 @@ #include "lib/ilist.h" #include "utils/memdebug.h" #include "utils/memutils.h" -#include "utils/memutils_memorychunk.h" #include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" #define Slab_BLOCKHDRSZ MAXALIGN(sizeof(SlabBlock)) @@ -122,9 +125,9 @@ typedef struct SlabContext { MemoryContextData header; /* Standard memory-context fields */ /* Allocation parameters for this context: */ - Size chunkSize; /* the requested (non-aligned) chunk size */ - Size fullChunkSize; /* chunk size with chunk header and alignment */ - Size blockSize; /* the size to make each block of chunks */ + uint32 chunkSize; /* the requested (non-aligned) chunk size */ + uint32 fullChunkSize; /* chunk size with chunk header and alignment */ + uint32 blockSize; /* the size to make each block of chunks */ int32 chunksPerBlock; /* number of chunks that fit in 1 block */ int32 curBlocklistIndex; /* index into the blocklist[] element * containing the fullest, blocks */ @@ -332,7 +335,9 @@ SlabGetNextFreeChunk(SlabContext *slab, SlabBlock *block) * blockSize: allocation block size * chunkSize: allocation chunk size * - * The MAXALIGN(chunkSize) may not exceed MEMORYCHUNK_MAX_VALUE + * The Slab_CHUNKHDRSZ + MAXALIGN(chunkSize + 1) may not exceed + * MEMORYCHUNK_MAX_VALUE. + * 'blockSize' may not exceed MEMORYCHUNK_MAX_BLOCKOFFSET. */ #ifdef MEMORY_CONTEXT_CHECKING #else @@ -411,85 +416,169 @@ SlabDelete(MemoryContext context) } /* - * SlabAlloc - * Returns a pointer to allocated memory of given size or NULL if - * request could not be completed; memory is added to the slab. + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between SlabAlloc() and SlabAllocFromNewBlock(). */ -void * -SlabAlloc(MemoryContext context, Size size) +static inline void * +SlabAllocSetupNewChunk(MemoryContext context, SlabBlock *block, + MemoryChunk *chunk, Size size) +{ + SlabContext *slab = (SlabContext *) context; + + /* + * Check that the chunk pointer is actually somewhere on the block and is + * aligned as expected. + */ + Assert(chunk >= SlabBlockGetChunk(slab, block, 0)); + Assert(chunk <= SlabBlockGetChunk(slab, block, slab->chunksPerBlock - 1)); + Assert(SlabChunkMod(slab, block, chunk) == 0); + + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, Slab_CHUNKHDRSZ); + + MemoryChunkSetHdrMask(chunk, block, MAXALIGN(slab->chunkSize), MCTX_SLAB_ID); + +#ifdef MEMORY_CONTEXT_CHECKING + /* slab mark to catch clobber of "unused" space */ + Assert(slab->chunkSize < (slab->fullChunkSize - Slab_CHUNKHDRSZ)); + set_sentinel(MemoryChunkGetPointer(chunk), size); + VALGRIND_MAKE_MEM_NOACCESS(((char *) chunk) + Slab_CHUNKHDRSZ + + slab->chunkSize, + slab->fullChunkSize - + (slab->chunkSize + Slab_CHUNKHDRSZ)); +#endif + +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +pg_noinline +static void * +SlabAllocFromNewBlock(MemoryContext context, Size size, int flags) { SlabContext *slab = (SlabContext *) context; SlabBlock *block; MemoryChunk *chunk; + dlist_head *blocklist; + int blocklist_idx; - Assert(SlabIsValid(slab)); + /* to save allocating a new one, first check the empty blocks list */ + if (dclist_count(&slab->emptyblocks) > 0) + { + dlist_node *node = dclist_pop_head_node(&slab->emptyblocks); - /* sanity check that this is pointing to a valid blocklist */ - Assert(slab->curBlocklistIndex >= 0); - Assert(slab->curBlocklistIndex <= SlabBlocklistIndex(slab, slab->chunksPerBlock)); + block = dlist_container(SlabBlock, node, node); - /* make sure we only allow correct request size */ - if (unlikely(size != slab->chunkSize)) - elog(ERROR, "unexpected alloc chunk size %zu (expected %zu)", - size, slab->chunkSize); + /* + * SlabFree() should have left this block in a valid state with all + * chunks free. Ensure that's the case. + */ + Assert(block->nfree == slab->chunksPerBlock); - /* - * Handle the case when there are no partially filled blocks available. - * SlabFree() will have updated the curBlocklistIndex setting it to zero - * to indicate that it has freed the final block. Also later in - * SlabAlloc() we will set the curBlocklistIndex to zero if we end up - * filling the final block. - */ - if (unlikely(slab->curBlocklistIndex == 0)) + /* fetch the next chunk from this block */ + chunk = SlabGetNextFreeChunk(slab, block); + } + else { - dlist_head *blocklist; - int blocklist_idx; + block = (SlabBlock *) malloc(slab->blockSize); - /* to save allocating a new one, first check the empty blocks list */ - if (dclist_count(&slab->emptyblocks) > 0) - { - dlist_node *node = dclist_pop_head_node(&slab->emptyblocks); + if (unlikely(block == NULL)) + return MemoryContextAllocationFailure(context, size, flags); - block = dlist_container(SlabBlock, node, node); + block->slab = slab; + context->mem_allocated += slab->blockSize; - /* - * SlabFree() should have left this block in a valid state with - * all chunks free. Ensure that's the case. - */ - Assert(block->nfree == slab->chunksPerBlock); + /* use the first chunk in the new block */ + chunk = SlabBlockGetChunk(slab, block, 0); - /* fetch the next chunk from this block */ - chunk = SlabGetNextFreeChunk(slab, block); - } - else - { - block = (SlabBlock *) malloc(slab->blockSize); + block->nfree = slab->chunksPerBlock - 1; + block->unused = SlabBlockGetChunk(slab, block, 1); + block->freehead = NULL; + block->nunused = slab->chunksPerBlock - 1; + } - if (unlikely(block == NULL)) - return NULL; + /* find the blocklist element for storing blocks with 1 used chunk */ + blocklist_idx = SlabBlocklistIndex(slab, block->nfree); + blocklist = &slab->blocklist[blocklist_idx]; - block->slab = slab; - context->mem_allocated += slab->blockSize; + /* this better be empty. We just added a block thinking it was */ + Assert(dlist_is_empty(blocklist)); - /* use the first chunk in the new block */ - chunk = SlabBlockGetChunk(slab, block, 0); + dlist_push_head(blocklist, &block->node); - block->nfree = slab->chunksPerBlock - 1; - block->unused = SlabBlockGetChunk(slab, block, 1); - block->freehead = NULL; - block->nunused = slab->chunksPerBlock - 1; - } + slab->curBlocklistIndex = blocklist_idx; + + return SlabAllocSetupNewChunk(context, block, chunk, size); +} + +/* + * SlabAllocInvalidSize + * Handle raising an ERROR for an invalid size request. We don't do this + * in slab alloc as calling the elog functions would force the compiler + * to setup the stack frame in SlabAlloc. For performance reasons, we + * want to avoid that. + */ +pg_noinline +static void +pg_attribute_noreturn() +SlabAllocInvalidSize(MemoryContext context, Size size) +{ + SlabContext *slab = (SlabContext *) context; + + elog(ERROR, "unexpected alloc chunk size %zu (expected %u)", size, + slab->chunkSize); +} + +/* + * SlabAlloc + * Returns a pointer to a newly allocated memory chunk or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. 'size' must be the same size as was specified + * during SlabContextCreate(). + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +SlabAlloc(MemoryContext context, Size size, int flags) +{ + SlabContext *slab = (SlabContext *) context; + SlabBlock *block; + MemoryChunk *chunk; - /* find the blocklist element for storing blocks with 1 used chunk */ - blocklist_idx = SlabBlocklistIndex(slab, block->nfree); - blocklist = &slab->blocklist[blocklist_idx]; + Assert(SlabIsValid(slab)); - /* this better be empty. We just added a block thinking it was */ - Assert(dlist_is_empty(blocklist)); + /* sanity check that this is pointing to a valid blocklist */ + Assert(slab->curBlocklistIndex >= 0); + Assert(slab->curBlocklistIndex <= SlabBlocklistIndex(slab, slab->chunksPerBlock)); - dlist_push_head(blocklist, &block->node); + /* + * Make sure we only allow correct request size. This doubles as the + * MemoryContextCheckSize check. + */ + if (unlikely(size != slab->chunkSize)) + SlabAllocInvalidSize(context, size); - slab->curBlocklistIndex = blocklist_idx; + if (unlikely(slab->curBlocklistIndex == 0)) + { + /* + * Handle the case when there are no partially filled blocks + * available. This happens either when the last allocation took the + * last chunk in the block, or when SlabFree() free'd the final block. + */ + return SlabAllocFromNewBlock(context, size, flags); } else { @@ -526,38 +615,7 @@ SlabAlloc(MemoryContext context, Size size) } } - /* - * Check that the chunk pointer is actually somewhere on the block and is - * aligned as expected. - */ - Assert(chunk >= SlabBlockGetChunk(slab, block, 0)); - Assert(chunk <= SlabBlockGetChunk(slab, block, slab->chunksPerBlock - 1)); - Assert(SlabChunkMod(slab, block, chunk) == 0); - - /* Prepare to initialize the chunk header. */ - VALGRIND_MAKE_MEM_UNDEFINED(chunk, Slab_CHUNKHDRSZ); - - MemoryChunkSetHdrMask(chunk, block, MAXALIGN(slab->chunkSize), - MCTX_SLAB_ID); -#ifdef MEMORY_CONTEXT_CHECKING - /* slab mark to catch clobber of "unused" space */ - Assert(slab->chunkSize < (slab->fullChunkSize - Slab_CHUNKHDRSZ)); - set_sentinel(MemoryChunkGetPointer(chunk), size); - VALGRIND_MAKE_MEM_NOACCESS(((char *) chunk) + - Slab_CHUNKHDRSZ + slab->chunkSize, - slab->fullChunkSize - - (slab->chunkSize + Slab_CHUNKHDRSZ)); -#endif - -#ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) MemoryChunkGetPointer(chunk), size); -#endif - - /* Disallow access to the chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); - - return MemoryChunkGetPointer(chunk); + return SlabAllocSetupNewChunk(context, block, chunk, size); } /* @@ -690,7 +748,7 @@ SlabFree(void *pointer) * realloc is usually used to enlarge the chunk. */ void * -SlabRealloc(void *pointer, Size size) +SlabRealloc(void *pointer, Size size, int flags) { MemoryChunk *chunk = PointerGetMemoryChunk(pointer); SlabBlock *block; diff --git a/parser/src_common_encnames.c b/parser/src_common_encnames.c index 1f7bfb2e..182665dd 100644 --- a/parser/src_common_encnames.c +++ b/parser/src_common_encnames.c @@ -9,7 +9,7 @@ * encnames.c * Encoding names and routines for working with them. * - * Portions Copyright (c) 2001-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 2001-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/common/encnames.c @@ -46,7 +46,6 @@ typedef struct pg_encname /* ---------- * These are "official" encoding names. - * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) * ---------- */ #ifndef WIN32 @@ -57,48 +56,48 @@ typedef struct pg_encname const pg_enc2name pg_enc2name_tbl[] = { - DEF_ENC2NAME(SQL_ASCII, 0), - DEF_ENC2NAME(EUC_JP, 20932), - DEF_ENC2NAME(EUC_CN, 20936), - DEF_ENC2NAME(EUC_KR, 51949), - DEF_ENC2NAME(EUC_TW, 0), - DEF_ENC2NAME(EUC_JIS_2004, 20932), - DEF_ENC2NAME(UTF8, 65001), - DEF_ENC2NAME(MULE_INTERNAL, 0), - DEF_ENC2NAME(LATIN1, 28591), - DEF_ENC2NAME(LATIN2, 28592), - DEF_ENC2NAME(LATIN3, 28593), - DEF_ENC2NAME(LATIN4, 28594), - DEF_ENC2NAME(LATIN5, 28599), - DEF_ENC2NAME(LATIN6, 0), - DEF_ENC2NAME(LATIN7, 0), - DEF_ENC2NAME(LATIN8, 0), - DEF_ENC2NAME(LATIN9, 28605), - DEF_ENC2NAME(LATIN10, 0), - DEF_ENC2NAME(WIN1256, 1256), - DEF_ENC2NAME(WIN1258, 1258), - DEF_ENC2NAME(WIN866, 866), - DEF_ENC2NAME(WIN874, 874), - DEF_ENC2NAME(KOI8R, 20866), - DEF_ENC2NAME(WIN1251, 1251), - DEF_ENC2NAME(WIN1252, 1252), - DEF_ENC2NAME(ISO_8859_5, 28595), - DEF_ENC2NAME(ISO_8859_6, 28596), - DEF_ENC2NAME(ISO_8859_7, 28597), - DEF_ENC2NAME(ISO_8859_8, 28598), - DEF_ENC2NAME(WIN1250, 1250), - DEF_ENC2NAME(WIN1253, 1253), - DEF_ENC2NAME(WIN1254, 1254), - DEF_ENC2NAME(WIN1255, 1255), - DEF_ENC2NAME(WIN1257, 1257), - DEF_ENC2NAME(KOI8U, 21866), - DEF_ENC2NAME(SJIS, 932), - DEF_ENC2NAME(BIG5, 950), - DEF_ENC2NAME(GBK, 936), - DEF_ENC2NAME(UHC, 949), - DEF_ENC2NAME(GB18030, 54936), - DEF_ENC2NAME(JOHAB, 0), - DEF_ENC2NAME(SHIFT_JIS_2004, 932) + [PG_SQL_ASCII] = DEF_ENC2NAME(SQL_ASCII, 0), + [PG_EUC_JP] = DEF_ENC2NAME(EUC_JP, 20932), + [PG_EUC_CN] = DEF_ENC2NAME(EUC_CN, 20936), + [PG_EUC_KR] = DEF_ENC2NAME(EUC_KR, 51949), + [PG_EUC_TW] = DEF_ENC2NAME(EUC_TW, 0), + [PG_EUC_JIS_2004] = DEF_ENC2NAME(EUC_JIS_2004, 20932), + [PG_UTF8] = DEF_ENC2NAME(UTF8, 65001), + [PG_MULE_INTERNAL] = DEF_ENC2NAME(MULE_INTERNAL, 0), + [PG_LATIN1] = DEF_ENC2NAME(LATIN1, 28591), + [PG_LATIN2] = DEF_ENC2NAME(LATIN2, 28592), + [PG_LATIN3] = DEF_ENC2NAME(LATIN3, 28593), + [PG_LATIN4] = DEF_ENC2NAME(LATIN4, 28594), + [PG_LATIN5] = DEF_ENC2NAME(LATIN5, 28599), + [PG_LATIN6] = DEF_ENC2NAME(LATIN6, 0), + [PG_LATIN7] = DEF_ENC2NAME(LATIN7, 0), + [PG_LATIN8] = DEF_ENC2NAME(LATIN8, 0), + [PG_LATIN9] = DEF_ENC2NAME(LATIN9, 28605), + [PG_LATIN10] = DEF_ENC2NAME(LATIN10, 0), + [PG_WIN1256] = DEF_ENC2NAME(WIN1256, 1256), + [PG_WIN1258] = DEF_ENC2NAME(WIN1258, 1258), + [PG_WIN866] = DEF_ENC2NAME(WIN866, 866), + [PG_WIN874] = DEF_ENC2NAME(WIN874, 874), + [PG_KOI8R] = DEF_ENC2NAME(KOI8R, 20866), + [PG_WIN1251] = DEF_ENC2NAME(WIN1251, 1251), + [PG_WIN1252] = DEF_ENC2NAME(WIN1252, 1252), + [PG_ISO_8859_5] = DEF_ENC2NAME(ISO_8859_5, 28595), + [PG_ISO_8859_6] = DEF_ENC2NAME(ISO_8859_6, 28596), + [PG_ISO_8859_7] = DEF_ENC2NAME(ISO_8859_7, 28597), + [PG_ISO_8859_8] = DEF_ENC2NAME(ISO_8859_8, 28598), + [PG_WIN1250] = DEF_ENC2NAME(WIN1250, 1250), + [PG_WIN1253] = DEF_ENC2NAME(WIN1253, 1253), + [PG_WIN1254] = DEF_ENC2NAME(WIN1254, 1254), + [PG_WIN1255] = DEF_ENC2NAME(WIN1255, 1255), + [PG_WIN1257] = DEF_ENC2NAME(WIN1257, 1257), + [PG_KOI8U] = DEF_ENC2NAME(KOI8U, 21866), + [PG_SJIS] = DEF_ENC2NAME(SJIS, 932), + [PG_BIG5] = DEF_ENC2NAME(BIG5, 950), + [PG_GBK] = DEF_ENC2NAME(GBK, 936), + [PG_UHC] = DEF_ENC2NAME(UHC, 949), + [PG_GB18030] = DEF_ENC2NAME(GB18030, 54936), + [PG_JOHAB] = DEF_ENC2NAME(JOHAB, 0), + [PG_SHIFT_JIS_2004] = DEF_ENC2NAME(SHIFT_JIS_2004, 932), }; /* ---------- diff --git a/parser/src_common_hashfn.c b/parser/src_common_hashfn.c index d084cf62..9d9c7204 100644 --- a/parser/src_common_hashfn.c +++ b/parser/src_common_hashfn.c @@ -11,7 +11,7 @@ * hashtables * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_keywords.c b/parser/src_common_keywords.c index 2c7eb3f8..72af378b 100644 --- a/parser/src_common_keywords.c +++ b/parser/src_common_keywords.c @@ -10,7 +10,7 @@ * PostgreSQL's list of SQL keywords * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_kwlist_d.h b/parser/src_common_kwlist_d.h index 399c66db..46bc0f7d 100644 --- a/parser/src_common_kwlist_d.h +++ b/parser/src_common_kwlist_d.h @@ -12,7 +12,7 @@ * kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -99,6 +99,7 @@ static const char ScanKeywords_kw_string[] = "committed\0" "compression\0" "concurrently\0" + "conditional\0" "configuration\0" "conflict\0" "connection\0" @@ -153,11 +154,13 @@ static const char ScanKeywords_kw_string[] = "drop\0" "each\0" "else\0" + "empty\0" "enable\0" "encoding\0" "encrypted\0" "end\0" "enum\0" + "error\0" "escape\0" "event\0" "except\0" @@ -239,8 +242,15 @@ static const char ScanKeywords_kw_string[] = "json\0" "json_array\0" "json_arrayagg\0" + "json_exists\0" "json_object\0" "json_objectagg\0" + "json_query\0" + "json_scalar\0" + "json_serialize\0" + "json_table\0" + "json_value\0" + "keep\0" "key\0" "keys\0" "label\0" @@ -270,6 +280,7 @@ static const char ScanKeywords_kw_string[] = "materialized\0" "maxvalue\0" "merge\0" + "merge_action\0" "method\0" "minute\0" "minvalue\0" @@ -281,6 +292,7 @@ static const char ScanKeywords_kw_string[] = "national\0" "natural\0" "nchar\0" + "nested\0" "new\0" "next\0" "nfc\0" @@ -306,6 +318,7 @@ static const char ScanKeywords_kw_string[] = "offset\0" "oids\0" "old\0" + "omit\0" "on\0" "only\0" "operator\0" @@ -330,7 +343,9 @@ static const char ScanKeywords_kw_string[] = "partition\0" "passing\0" "password\0" + "path\0" "placing\0" + "plan\0" "plans\0" "policy\0" "position\0" @@ -348,6 +363,7 @@ static const char ScanKeywords_kw_string[] = "program\0" "publication\0" "quote\0" + "quotes\0" "range\0" "read\0" "real\0" @@ -407,6 +423,7 @@ static const char ScanKeywords_kw_string[] = "smallint\0" "snapshot\0" "some\0" + "source\0" "sql\0" "stable\0" "standalone\0" @@ -418,6 +435,7 @@ static const char ScanKeywords_kw_string[] = "storage\0" "stored\0" "strict\0" + "string\0" "strip\0" "subscription\0" "substring\0" @@ -430,6 +448,7 @@ static const char ScanKeywords_kw_string[] = "tables\0" "tablesample\0" "tablespace\0" + "target\0" "temp\0" "template\0" "temporary\0" @@ -453,6 +472,7 @@ static const char ScanKeywords_kw_string[] = "uescape\0" "unbounded\0" "uncommitted\0" + "unconditional\0" "unencrypted\0" "union\0" "unique\0" @@ -573,534 +593,559 @@ static const uint16 ScanKeywords_kw_offsets[] = { 480, 492, 505, - 519, - 528, - 539, - 550, + 517, + 531, + 540, + 551, 562, - 570, - 579, - 590, - 595, - 600, + 574, + 582, + 591, + 602, 607, - 613, - 617, - 622, - 630, - 646, - 659, - 672, - 687, - 700, - 718, - 731, - 738, - 744, - 749, - 758, - 762, - 773, - 777, + 612, + 619, + 625, + 629, + 634, + 642, + 658, + 671, + 684, + 699, + 712, + 730, + 743, + 750, + 756, + 761, + 770, + 774, 785, - 793, - 801, - 810, - 821, - 830, - 838, - 845, - 855, - 866, - 874, - 880, - 885, + 789, + 797, + 805, + 813, + 822, + 833, + 842, + 850, + 857, + 867, + 878, + 886, 892, - 903, - 911, - 919, - 928, + 897, + 904, + 915, + 923, 931, 940, - 947, - 954, + 943, + 952, 959, - 964, - 969, + 966, + 971, 976, - 985, - 995, - 999, - 1004, - 1011, + 981, + 987, + 994, + 1003, + 1013, 1017, - 1024, - 1032, - 1042, - 1052, - 1060, - 1067, - 1075, - 1086, - 1096, - 1105, - 1113, - 1119, - 1126, - 1132, - 1139, - 1148, - 1154, - 1160, - 1170, - 1174, - 1180, - 1188, - 1195, - 1203, - 1210, - 1215, - 1220, - 1229, + 1022, + 1028, + 1035, + 1041, + 1048, + 1056, + 1066, + 1076, + 1084, + 1091, + 1099, + 1110, + 1120, + 1129, + 1137, + 1143, + 1150, + 1156, + 1163, + 1172, + 1178, + 1184, + 1194, + 1198, + 1204, + 1212, + 1219, + 1227, + 1234, 1239, - 1249, - 1256, - 1262, - 1270, - 1279, - 1285, + 1244, + 1253, + 1263, + 1273, + 1280, + 1286, 1294, - 1301, + 1303, 1309, - 1316, - 1323, - 1328, + 1318, + 1325, 1333, - 1342, - 1345, - 1351, - 1361, - 1371, - 1380, - 1387, - 1390, - 1398, - 1408, - 1418, - 1425, - 1431, - 1439, - 1447, - 1456, - 1466, - 1473, - 1479, - 1485, - 1491, + 1340, + 1347, + 1352, + 1357, + 1366, + 1369, + 1375, + 1385, + 1395, + 1404, + 1411, + 1414, + 1422, + 1432, + 1442, + 1449, + 1455, + 1463, + 1471, + 1480, + 1490, + 1497, 1503, - 1510, - 1518, - 1522, - 1530, - 1540, - 1549, + 1509, + 1515, + 1527, + 1534, + 1542, + 1546, 1554, - 1562, - 1565, - 1572, - 1582, - 1587, - 1592, - 1603, - 1617, - 1629, - 1644, - 1648, + 1564, + 1573, + 1578, + 1586, + 1589, + 1596, + 1606, + 1611, + 1616, + 1627, + 1641, 1653, - 1659, - 1668, - 1674, - 1679, - 1687, - 1695, - 1705, - 1711, - 1716, - 1722, - 1727, - 1733, + 1665, + 1680, + 1691, + 1703, + 1718, + 1729, 1740, 1745, - 1751, - 1761, - 1776, - 1785, - 1790, - 1797, - 1804, + 1749, + 1754, + 1760, + 1769, + 1775, + 1780, + 1788, + 1796, + 1806, 1812, - 1818, - 1826, - 1839, - 1848, - 1854, - 1861, - 1868, + 1817, + 1823, + 1828, + 1834, + 1841, + 1846, + 1852, + 1862, 1877, - 1882, - 1888, - 1893, + 1886, + 1891, 1898, - 1904, + 1905, 1913, - 1921, + 1919, 1927, - 1931, - 1936, 1940, - 1944, 1949, - 1954, - 1957, - 1962, - 1972, - 1983, - 1987, - 1995, + 1955, + 1968, + 1975, + 1982, + 1991, + 1996, 2002, - 2010, - 2017, - 2022, - 2029, + 2007, + 2012, + 2018, + 2027, 2035, - 2043, - 2050, - 2053, + 2041, + 2048, + 2052, 2057, - 2064, - 2069, - 2073, - 2076, - 2081, - 2090, - 2097, - 2105, + 2061, + 2065, + 2070, + 2075, + 2078, + 2083, + 2093, + 2104, 2108, - 2114, - 2125, - 2132, - 2136, - 2142, - 2147, + 2116, + 2123, + 2131, + 2138, + 2143, + 2150, 2156, 2164, - 2175, - 2181, - 2187, - 2196, - 2206, - 2213, - 2221, + 2171, + 2174, + 2178, + 2185, + 2190, + 2194, + 2199, + 2202, + 2207, + 2216, + 2223, 2231, - 2239, - 2248, - 2256, + 2234, + 2240, + 2251, + 2258, 2262, - 2269, - 2278, - 2288, - 2298, - 2306, - 2315, - 2324, + 2268, + 2273, + 2282, + 2290, + 2301, + 2307, + 2313, + 2322, 2332, - 2338, - 2349, - 2360, - 2370, - 2381, - 2389, - 2401, - 2407, - 2413, - 2418, - 2423, - 2432, - 2440, - 2450, - 2454, - 2465, - 2477, + 2339, + 2347, + 2357, + 2365, + 2374, + 2379, + 2387, + 2392, + 2398, + 2405, + 2414, + 2424, + 2434, + 2442, + 2451, + 2460, + 2468, + 2474, 2485, - 2493, - 2502, - 2510, + 2496, + 2506, 2517, - 2528, - 2536, - 2544, + 2525, + 2537, + 2543, 2550, - 2558, - 2567, - 2574, - 2584, - 2592, - 2599, - 2605, - 2610, - 2619, - 2626, - 2634, - 2643, - 2647, - 2652, - 2657, - 2667, - 2674, - 2681, - 2689, - 2696, - 2703, + 2556, + 2561, + 2566, + 2575, + 2583, + 2593, + 2597, + 2608, + 2620, + 2628, + 2636, + 2645, + 2653, + 2660, + 2671, + 2679, + 2687, + 2693, + 2701, 2710, - 2719, - 2726, + 2717, + 2727, 2735, - 2745, - 2758, - 2765, - 2773, + 2742, + 2748, + 2753, + 2762, + 2769, + 2777, 2786, 2790, - 2796, - 2801, - 2807, - 2812, - 2820, - 2827, + 2795, + 2800, + 2810, + 2817, + 2824, 2832, - 2841, - 2850, - 2855, - 2859, - 2866, - 2877, - 2883, - 2893, - 2904, - 2910, - 2917, - 2925, - 2932, + 2839, + 2846, + 2853, + 2862, + 2869, + 2878, + 2888, + 2901, + 2908, + 2916, + 2929, + 2933, 2939, - 2945, - 2958, - 2968, - 2976, - 2986, - 2992, - 2999, - 3011, - 3017, - 3024, - 3036, - 3047, - 3052, - 3061, - 3071, - 3076, - 3081, - 3086, - 3091, - 3101, - 3104, - 3113, + 2944, + 2950, + 2955, + 2963, + 2970, + 2975, + 2984, + 2993, + 2998, + 3005, + 3009, + 3016, + 3027, + 3033, + 3043, + 3054, + 3060, + 3067, + 3075, + 3082, + 3089, + 3096, + 3102, + 3115, 3125, - 3135, - 3141, + 3133, + 3143, 3149, - 3154, - 3159, + 3156, 3168, - 3176, + 3174, 3181, - 3187, - 3195, - 3205, - 3217, - 3229, + 3193, + 3204, + 3211, + 3216, + 3225, 3235, - 3242, + 3240, + 3245, 3250, - 3259, + 3255, + 3265, 3268, - 3274, - 3281, - 3286, - 3292, + 3277, + 3289, 3299, 3305, - 3314, - 3324, - 3330, - 3337, + 3313, + 3318, + 3323, + 3332, + 3340, 3345, - 3354, - 3362, - 3370, - 3378, - 3383, - 3389, - 3398, - 3403, - 3409, + 3351, + 3359, + 3369, + 3381, + 3395, + 3407, + 3413, 3420, - 3427, - 3432, - 3439, - 3447, + 3428, + 3437, + 3446, 3452, - 3460, - 3466, + 3459, + 3464, 3470, - 3484, - 3494, - 3505, + 3477, + 3483, + 3492, + 3502, + 3508, 3515, - 3525, - 3539, + 3523, + 3532, + 3540, 3548, - 3554, - 3562, - 3575, - 3584, - 3589, - 3593, + 3556, + 3561, + 3567, + 3576, + 3581, + 3587, + 3598, + 3605, + 3610, + 3617, + 3625, + 3630, + 3638, + 3644, + 3648, + 3662, + 3672, + 3683, + 3693, + 3703, + 3717, + 3726, + 3732, + 3740, + 3753, + 3762, + 3767, + 3771, }; -#define SCANKEYWORDS_NUM_KEYWORDS 471 +#define SCANKEYWORDS_NUM_KEYWORDS 491 static int ScanKeywords_hash_func(const void *key, size_t keylen) { - static const int16 h[943] = { - 543, -186, 201, 0, 32767, 32767, 32767, 32767, - 221, -207, 32767, 0, 135, 283, 32767, 454, - 14, 79, 32767, 32767, 77, 32767, 102, 160, - 0, 32767, 151, 32767, 30, 392, -322, 452, - 32767, 0, 32767, 0, 0, 32767, 32767, 32767, - 234, 32767, 0, 32767, 0, 631, 32767, 368, - 80, 0, 0, -115, 32767, 285, 32767, 423, - 0, 32767, 155, 229, 32767, 126, 291, 165, - -22, 400, 327, 32767, 32767, 32767, 32767, -399, - 0, 406, 32767, 210, 1102, -203, 32767, 32767, - 32767, -944, 0, -188, 32767, 32767, 0, 347, - 32767, 0, 559, 316, 133, 32767, 202, 32767, - 305, 0, 32767, -94, 32767, 0, 32767, -222, - 32767, 138, 32767, -52, 32767, 32767, 279, 69, - -136, 0, 32767, 32767, 189, 32767, 32767, 88, - 0, 32767, 32767, 274, 32767, 514, 769, 248, - 32767, 32767, 32767, 32767, 32767, 32767, 0, 81, - 8, -29, 32767, 32767, 32767, -174, 258, 0, - 465, 211, 32767, 0, -229, 32767, -191, 32767, - 1263, 48, 32767, 343, 0, 58, 0, 32767, - 32767, 855, 0, 415, 0, -217, 32767, 1195, - 32767, 32767, 166, 32767, 42, 262, -736, 0, - 32767, 32767, 418, 178, 122, 32767, 46, 32767, - 32767, 32767, 229, 443, 32767, 32767, 250, 32767, - -300, 0, 32767, 1153, 32767, 108, 32767, -462, - 266, 32767, 478, -220, 235, 32767, 32767, -127, - 32767, 32767, 32767, 427, -231, 156, 32767, 0, - 0, 148, -218, 142, 73, 420, 32767, 32767, - 523, 32767, -36, 32767, 32767, 467, 844, -415, - 32767, 32767, -148, 179, 361, 32767, 151, 0, - 0, 32767, 145, 32767, 248, 110, 29, 125, - 282, 32767, -36, 43, 32767, 1125, 32767, 530, - 251, 519, 191, 0, 32767, -34, -502, 313, - 462, 845, 32767, 32767, -255, 412, 32767, 78, - 0, 32767, 444, 161, 0, 32767, 308, 32767, - -273, 400, 32767, 296, 32767, 32767, 72, 32767, - 32767, 34, 32767, 364, 151, -63, 4, 229, - 0, -276, 32767, 32767, 32767, 32767, -406, 32767, - 203, 32767, 140, 187, 160, 32767, 286, 0, - 32767, 32767, -88, 0, 100, -361, 32767, 9, - 0, -456, 32767, -37, -404, 32767, -969, 32767, - 371, 95, 0, 703, -31, 263, 373, -745, - 507, 14, 32767, -159, 0, 32767, 47, 299, - -126, 0, 32767, 83, 32767, 32767, 420, 236, - 32767, 32767, 0, 310, 89, 233, 32767, 93, - 32767, 0, 816, 60, 301, 211, 193, 0, - 452, -107, -403, -242, 353, 18, 32767, 32767, - 32767, 243, 104, 32767, 32767, 32767, -305, 32767, - -1048, 54, 0, 383, 32767, 32767, 32767, 226, - 319, 0, 32767, 32767, 32767, -130, 537, 32767, - 0, -206, 240, 696, 121, 32767, 180, 164, - 32767, 390, 185, 32767, 220, 545, 29, 32767, - 0, 32767, 32767, 1120, -163, 32767, 32767, 32767, - -368, 136, 445, 171, 233, 32767, 73, 32767, - 92, 32767, 0, 32767, 0, 208, 354, 32767, - 54, 32767, 32767, -246, -93, 389, 32767, 32767, - 32767, 32767, 50, 32767, 32767, 308, 32767, -278, - 0, 32767, 32767, -1172, 32767, 8, 32767, 0, - 32767, 341, 304, 242, -174, -92, 76, 419, - 32767, 87, 32767, -262, 32767, 32767, 32767, 109, - 200, 0, 32767, 0, 85, 530, 32767, -316, - 32767, 0, -286, 32767, 193, 268, 32767, 32767, - 278, 32767, 32767, 155, 445, 95, -310, 32767, - 207, -56, 32767, 32767, 0, -127, 232, -283, - 103, 32767, 1, 0, 32767, 32767, -485, 350, - 79, -56, -354, 32767, 121, 24, 81, 20, - 325, 40, 248, 32767, 32767, 32767, 358, 32767, - -56, 32767, 0, 174, -28, -301, -92, 32767, - 114, 295, 32767, 363, -355, 32767, 290, 0, - 32767, 32767, 32767, 122, 55, -142, 32767, 50, - 32767, 32767, 152, 571, 1397, 0, 472, -448, - 185, 140, 228, 435, 0, 32767, 32767, 414, - 32767, 379, 92, 185, 23, 299, 32767, 32767, - 0, 32767, 32767, 32767, 306, 439, -198, 219, - 340, 32767, 416, 0, -123, 377, 32767, 32767, - 0, 32767, 670, -670, 339, 32767, 32767, 32767, - 0, -256, 70, 514, 331, 0, 302, 469, - 0, 370, 32767, 32767, 42, 255, 212, 0, - 322, 277, 32767, -163, 32767, 216, 32767, 32767, - 0, 32767, 190, 32767, 32767, 0, 32767, 0, - -409, 1366, 32767, 32767, 32767, 193, 32767, 325, - 32767, 0, 142, 466, 32767, 32767, 32767, 113, - 32767, 32767, 62, 0, -62, 113, -90, 34, - -256, 32767, 32767, -936, 32767, 32767, 32767, 0, - -64, 0, -34, 451, 290, 108, 32767, 276, - 842, 0, 556, -153, 32767, 412, -168, 32767, - 32767, 1331, 407, 234, -60, 115, 457, -73, - 502, 772, 32767, 33, 404, -925, 32767, 32767, - 421, -123, 32767, 32767, 32767, 0, 0, 32767, - 32767, 32767, 429, 0, 3, 769, -81, 306, - 64, 32767, 192, 96, 0, 63, 44, 32767, - 32767, 32767, 32767, 0, 284, 32767, 575, 32767, - 32767, 12, 32767, 516, 116, 32767, 32767, 150, - 442, 134, 32767, 198, -45, 249, 40, 373, - 32767, 0, 32767, 32767, 0, 0, 352, 32767, - 117, 32767, 426, 0, 0, 32767, 32767, 32767, - 32767, -92, 32767, -442, 32767, 269, 32767, 32767, - 32767, 429, 32767, 0, 32767, 0, 143, 32767, - 508, -66, 32767, 280, 32767, 39, 162, 32767, - 32767, 0, 32767, 31, 32767, 32767, 32767, 0, - 32767, 257, -90, -249, 224, 272, 32767, 32767, - 313, -467, 214, 0, -85, 32767, 48, 0, - 32767, -336, 202, 0, 447, 90, 264, 32767, - 32767, 0, 101, 32767, 32767, 32767, 0, 32767, - 32767, 227, -1093, 32767, 0, 32767, 27, 174, - 32767, 7, 32767, -621, 146, 32767, 32767, 32767, - 854, 0, 32767, 161, 0, 137, 32767, 32767, - 32767, 32767, 0, 391, 219, 276, 32767, 168, - 32767, 32767, 0, 32767, 32767, 32767, 1, -4, - 32767, 0, 293, 0, 374, 256, 0, 0, - 32767, 355, 212, 404, 0, 186, 32767, 0, - 359, 32767, 32767, 172, 32767, 32767, -131, 0, - 402, 0, 56, 32767, 462, 389, 82, 0, - 32767, 0, 32767, 0, 32767, 32767, 32767, 32767, - 106, 425, -160, 31, 32767, 55, 0, 0, - 32767, 32767, 430, 1224, 179, -179, 0, 397, - 32767, 0, 0, 0, -60, 47, 32767, 396, - 32767, 326, 383, 369, 32767, 368, 32767 + static const int16 h[983] = { + 283, 32767, 500, 226, 291, 32767, 32767, 32767, + 467, 152, 66, 291, -300, 32767, -427, -45, + 0, 219, 224, 189, 32767, 195, 0, -507, + 324, 32767, 300, 32767, 0, 32767, 161, 32767, + 32767, 32767, 32767, 131, 32767, 101, 32767, 391, + 32767, 32767, 32767, 0, 2, 32767, 128, 418, + -291, 32767, 32767, -631, 32767, 250, 219, -142, + 133, 334, 32767, 0, 170, 32767, 516, 32767, + 307, 288, 391, 32767, 216, 319, 0, 32767, + 152, 32767, 375, 444, 433, 32767, 242, 32767, + 4, -119, 481, -13, 32767, 32767, -94, 0, + 290, -113, 32767, 137, 122, 120, 32767, 32767, + 32767, 414, -397, -45, -267, -5, 605, 32767, + 453, 514, 32767, 400, 32767, 32767, 32767, 32767, + 361, 150, 32767, 107, 172, -32, 81, -232, + -15, 830, -46, 32767, 32767, 32767, 543, -341, + 0, 32767, 288, 488, 32767, 43, 410, -99, + 32767, 384, 32767, 32767, 315, 32767, -419, -458, + 0, -459, 0, 232, 32767, 32767, 333, -413, + 32767, 584, -76, 0, -6, 125, 32767, 421, + 32767, 32767, -88, 128, -1, 15, 55, 32767, + 214, 32767, 0, 0, 166, 348, -337, 32767, + 260, 319, 32767, 180, 158, 0, 32767, 0, + -226, 0, 129, 0, 378, 517, -293, 671, + 32767, 32767, 0, 167, 305, -61, -229, 97, + 164, 88, 380, 50, 32767, 71, -637, 106, + 32767, 79, 0, 415, 32767, 0, 32767, 317, + 379, 28, 431, 0, 32767, 32767, 301, 185, + 196, 37, 32767, 142, 200, 32767, -211, -223, + -392, 99, 32767, -366, 32767, 287, 32767, 0, + -309, 0, 32767, -963, 32767, 222, 432, 32767, + 32767, 0, 32767, 32767, 266, 56, 0, 32767, + 391, 606, 32767, 32767, 360, 0, 60, 32767, + 32767, 0, 32767, 0, 325, 32767, 333, 32767, + -54, 399, 0, 28, 237, -648, 32767, 108, + 438, 32767, 221, 390, 32767, 32767, 223, 687, + 452, 125, 32767, -913, 186, 0, 32767, 32767, + 32767, 32767, 0, 0, 32767, 32767, 32767, -27, + 1087, 464, -305, 427, 898, 32767, 0, 32767, + 0, 32767, 104, 32767, 32767, 260, 1065, 0, + 703, 32767, 0, 337, 350, 767, 32767, -330, + 379, 32767, 32767, 32767, 32767, 32767, 32767, 228, + 32767, 32767, 32767, 0, -87, -48, 32767, -541, + 415, 32767, 306, 32767, 32767, 32767, -117, 15, + 0, 0, 32767, 412, -645, 223, -558, 32767, + 32767, 32767, 32767, 32767, -254, 162, -372, 0, + 0, 32767, 353, 0, 199, 32767, 664, 32767, + 32767, 0, 32767, -148, 32767, -98, 32767, 449, + 0, 32767, 383, -495, -295, 208, 0, 32767, + 511, 17, 32767, 32767, 0, 387, 32767, 32767, + 32767, 0, 32767, 32767, 2, -2, -177, 32767, + 0, 32767, 150, 32767, -471, 32767, -282, 32767, + 240, 183, 357, 423, 32767, 435, 32767, 284, + 32767, 358, 298, 195, 72, 0, 421, 535, + 32767, 426, -206, 222, 32767, 0, 466, 36, + 426, 32767, 32767, 0, 32767, 0, 32767, 70, + 479, 32767, 514, 32767, 32767, 697, 436, 43, + 155, 32767, 32767, 0, 32767, -155, 32767, 11, + 649, -376, 32767, 0, -683, -330, 361, 0, + 57, 263, -43, 32767, 383, 0, 32767, 217, + 32767, 0, 478, 32767, 0, 32767, 463, 32767, + 501, 32767, 237, 301, 545, 302, 67, 311, + 1135, 152, 0, 342, 32767, 350, 418, 32767, + 0, 428, 0, 0, -353, 381, 790, 32767, + 32767, -259, 32767, 32767, 32767, 229, 417, 0, + 232, 32767, 0, 980, 32767, 0, 0, 275, + -314, 0, 0, 32767, 32767, 32767, 32767, 32767, + 0, 0, -89, 292, 1049, 32767, 32767, -284, + 18, 32767, 175, 0, 732, 111, 32767, 428, + -167, 92, -59, 199, 0, 793, 702, -231, + 32767, 32767, 32767, 32767, 187, 549, 32767, 32767, + 32767, 32767, 69, 480, 0, 490, 430, 32767, + 32767, 32767, 32767, -2, 32767, 240, 32767, 471, + 275, 32767, 524, 17, 0, 32767, 144, 0, + 310, 371, 328, 1016, -639, 32767, 51, 32767, + -982, 32767, 0, -727, 32767, 32767, -117, -115, + 249, 32767, 32767, -6, 32767, 183, -350, 32767, + 14, 32767, 32767, 118, -137, -321, 32767, 793, + 32767, 32767, 32767, 0, 32767, 77, 204, 71, + 32767, -228, -516, 32767, 790, 389, -1, 112, + 366, 245, 32767, 0, 32767, 0, -625, 154, + -211, 32767, 32767, 105, -253, 214, 0, 203, + 392, 0, 32767, 32767, 62, 102, 32767, 32767, + 29, 0, 0, 306, 32767, 32767, -29, 194, + 0, -120, 32767, 32767, 32767, 376, 32767, 27, + 32767, 356, 32767, 0, 32767, 75, 174, 32767, + 32767, 32767, -37, 32767, 255, 124, 845, 32767, + 0, 32767, 64, 32767, -472, -648, 32767, 584, + 0, 32767, 19, 201, 32767, 0, 32767, 32767, + -414, -171, -621, 32767, -134, 0, 515, 0, + 767, 32767, 32767, 414, 32767, -88, -236, 32767, + -52, 298, -254, 32767, 39, 0, 65, 118, + 32767, 182, 32767, 134, 0, 32767, 32767, 400, + 0, 32767, 32767, 705, 0, 32767, 32767, 269, + 32767, 32767, 296, 290, 32767, 0, 0, 32767, + 61, 32767, 299, 32767, -227, 240, 32767, 0, + 32767, 32767, 32767, 129, 32767, 0, 252, 32767, + 0, -487, 32767, 0, -127, 32767, 32767, 132, + 18, 0, 32767, 32767, -154, 0, 946, 401, + 264, 378, 0, 326, 32767, 0, 465, 233, + 87, 32767, 47, 0, -357, 32767, 32767, 0, + 0, -245, 835, 887, 32767, 32767, 32767, 32767, + 32767, 334, 0, -56, 32767, -196, 0, 32767, + 32767, 32767, 154, 32767, 20, -175, 63, 537, + 32767, 358, 32767, 121, 32767, 32767, 754, 0, + 32767, 0, -113, 0, 0, 207, 0, -256, + 32767, 241, 32767, 257, 32767, 194, -595, 23, + 19, 268, 666, 231, 0, 211, 32767, 32767, + 32767, 32767, 0, 115, 136, 0, 32767, 32767, + 404, -252, -432, 0, 0, 341, 32767, 410, + 32767, -125, 9, 32767, 482, 727, 0, 32767, + 252, 0, 32767, 32767, 147, 124, 270, 10, + -124, 47, 0, 300, 445, -246, 32767, 111, + 32767, 32767, 32767, -356, 103, 81, 32767, 32767, + 32767, 32767, 280, 306, 0, 32767, 695, 32767, + -768, 32767, 32767, 0, 32767, 0, 32767, 145, + 44, 32767, 32767, 32767, 432, 136, 32767, 0, + -903, 251, 32767, -222, 370, 405, 99, 17, + 32767, 564, 32767, 32767, 32767, 0, 32767, 32767, + 32767, 141, 0, 0, 32767, 32767, 32767, 344, + 0, 464, 0, 0, 32767, 32767, 32767, 0, + 463, 32767, 32767, 329, 32767, 32767, 422, 32767, + 220, 32767, 347, 32767, -17, 253, 18 }; const unsigned char *k = (const unsigned char *) key; @@ -1114,7 +1159,7 @@ ScanKeywords_hash_func(const void *key, size_t keylen) a = a * 257 + c; b = b * 31 + c; } - return h[a % 943] + h[b % 943]; + return h[a % 983] + h[b % 983]; } const ScanKeywordList ScanKeywords = { diff --git a/parser/src_common_kwlookup.c b/parser/src_common_kwlookup.c index 7b74f1de..dd5cca32 100644 --- a/parser/src_common_kwlookup.c +++ b/parser/src_common_kwlookup.c @@ -10,7 +10,7 @@ * Key word lookup for PostgreSQL * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_psprintf.c b/parser/src_common_psprintf.c index c7507097..1d5e1ea0 100644 --- a/parser/src_common_psprintf.c +++ b/parser/src_common_psprintf.c @@ -11,7 +11,7 @@ * sprintf into an allocated-on-demand buffer * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -122,8 +122,8 @@ pvsnprintf(char *buf, size_t len, const char *fmt, va_list args) #ifndef FRONTEND elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt); #else - fprintf(stderr, "vsnprintf failed: %s with format string \"%s\"\n", - strerror(errno), fmt); + fprintf(stderr, "vsnprintf failed: %m with format string \"%s\"\n", + fmt); exit(EXIT_FAILURE); #endif } diff --git a/parser/src_common_stringinfo.c b/parser/src_common_stringinfo.c index 2361e11f..75556396 100644 --- a/parser/src_common_stringinfo.c +++ b/parser/src_common_stringinfo.c @@ -21,7 +21,7 @@ * (null-terminated text) or arbitrary binary data. All storage is allocated * with palloc() (falling back to malloc in frontend code). * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/common/stringinfo.c @@ -74,10 +74,16 @@ initStringInfo(StringInfo str) * * Reset the StringInfo: the data buffer remains valid, but its * previous content, if any, is cleared. + * + * Read-only StringInfos as initialized by initReadOnlyStringInfo cannot be + * reset. */ void resetStringInfo(StringInfo str) { + /* don't allow resets of read-only StringInfos */ + Assert(str->maxlen != 0); + str->data[0] = '\0'; str->len = 0; str->cursor = 0; @@ -277,6 +283,9 @@ enlargeStringInfo(StringInfo str, int needed) { int newlen; + /* validate this is not a read-only StringInfo */ + Assert(str->maxlen != 0); + /* * Guard against out-of-range "needed" values. Without this, we can get * an overflow or infinite loop in the following. @@ -334,3 +343,11 @@ enlargeStringInfo(StringInfo str, int needed) str->maxlen = newlen; } + +/* + * destroyStringInfo + * + * Frees a StringInfo and its buffer (opposite of makeStringInfo()). + * This must only be called on palloc'd StringInfos. + */ + diff --git a/parser/src_common_wchar.c b/parser/src_common_wchar.c index 653b2151..9e6cb02b 100644 --- a/parser/src_common_wchar.c +++ b/parser/src_common_wchar.c @@ -2,7 +2,7 @@ * Symbols referenced in this file: * - pg_encoding_max_length * - pg_wchar_table - * - pg_utf_mblen + * - pg_utf_mblen_private * - pg_mule_mblen * - pg_ascii2wchar_with_len * - pg_wchar2single_with_len @@ -34,9 +34,7 @@ * - pg_euctw_verifystr * - pg_utf2wchar_with_len * - pg_wchar2utf_with_len - * - unicode_to_utf8 * - pg_utf_dsplen - * - utf8_to_unicode * - ucs_wcwidth * - mbbisearch * - pg_utf8_verifychar @@ -87,7 +85,7 @@ * wchar.c * Functions for working with multibyte characters in various encodings. * - * Portions Copyright (c) 1998-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1998-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/common/wchar.c @@ -97,6 +95,7 @@ #include "c.h" #include "mb/pg_wchar.h" +#include "utils/ascii.h" /* @@ -559,39 +558,6 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) } -/* - * Map a Unicode code point to UTF-8. utf8string must have 4 bytes of - * space allocated. - */ -unsigned char * -unicode_to_utf8(pg_wchar c, unsigned char *utf8string) -{ - if (c <= 0x7F) - { - utf8string[0] = c; - } - else if (c <= 0x7FF) - { - utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); - utf8string[1] = 0x80 | (c & 0x3F); - } - else if (c <= 0xFFFF) - { - utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); - utf8string[1] = 0x80 | ((c >> 6) & 0x3F); - utf8string[2] = 0x80 | (c & 0x3F); - } - else - { - utf8string[0] = 0xF0 | ((c >> 18) & 0x07); - utf8string[1] = 0x80 | ((c >> 12) & 0x3F); - utf8string[2] = 0x80 | ((c >> 6) & 0x3F); - utf8string[3] = 0x80 | (c & 0x3F); - } - - return utf8string; -} - /* * Trivial conversion from pg_wchar to UTF-8. * caller should allocate enough space for "to" @@ -753,34 +719,6 @@ ucs_wcwidth(pg_wchar ucs) return 1; } -/* - * Convert a UTF-8 character to a Unicode code point. - * This is a one-character version of pg_utf2wchar_with_len. - * - * No error checks here, c must point to a long-enough string. - */ -pg_wchar -utf8_to_unicode(const unsigned char *c) -{ - if ((*c & 0x80) == 0) - return (pg_wchar) c[0]; - else if ((*c & 0xe0) == 0xc0) - return (pg_wchar) (((c[0] & 0x1f) << 6) | - (c[1] & 0x3f)); - else if ((*c & 0xf0) == 0xe0) - return (pg_wchar) (((c[0] & 0x0f) << 12) | - ((c[1] & 0x3f) << 6) | - (c[2] & 0x3f)); - else if ((*c & 0xf8) == 0xf0) - return (pg_wchar) (((c[0] & 0x07) << 18) | - ((c[1] & 0x3f) << 12) | - ((c[2] & 0x3f) << 6) | - (c[3] & 0x3f)); - else - /* that is an invalid code on purpose */ - return 0xffffffff; -} - static int pg_utf_dsplen(const unsigned char *s) { @@ -2154,52 +2092,51 @@ pg_utf8_islegal(const unsigned char *source, int length) /* *------------------------------------------------------------------- * encoding info table - * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) *------------------------------------------------------------------- */ const pg_wchar_tbl pg_wchar_table[] = { - {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, /* PG_SQL_ASCII */ - {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JP */ - {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, /* PG_EUC_CN */ - {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, /* PG_EUC_KR */ - {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, /* PG_EUC_TW */ - {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JIS_2004 */ - {pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4}, /* PG_UTF8 */ - {pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4}, /* PG_MULE_INTERNAL */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN1 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN2 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN3 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN4 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN5 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN6 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN7 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN8 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN9 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN10 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1256 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1258 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN866 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN874 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8R */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1251 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1252 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-5 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-6 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-7 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-8 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1250 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1253 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1254 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1255 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1257 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8U */ - {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, /* PG_SJIS */ - {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2}, /* PG_BIG5 */ - {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2}, /* PG_GBK */ - {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2}, /* PG_UHC */ - {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4}, /* PG_GB18030 */ - {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3}, /* PG_JOHAB */ - {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2} /* PG_SHIFT_JIS_2004 */ + [PG_SQL_ASCII] = {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, + [PG_EUC_JP] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, + [PG_EUC_CN] = {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, + [PG_EUC_KR] = {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, + [PG_EUC_TW] = {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, + [PG_EUC_JIS_2004] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, + [PG_UTF8] = {pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4}, + [PG_MULE_INTERNAL] = {pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4}, + [PG_LATIN1] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN2] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN3] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN4] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN9] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN10] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1256] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1258] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN866] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN874] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_KOI8R] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1251] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1252] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1250] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1253] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1254] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1255] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1257] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_KOI8U] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_SJIS] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, + [PG_BIG5] = {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2}, + [PG_GBK] = {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2}, + [PG_UHC] = {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2}, + [PG_GB18030] = {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4}, + [PG_JOHAB] = {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3}, + [PG_SHIFT_JIS_2004] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, }; /* diff --git a/parser/src_pl_plpgsql_src_pl_comp.c b/parser/src_pl_plpgsql_src_pl_comp.c index a79cbd49..9749e206 100644 --- a/parser/src_pl_plpgsql_src_pl_comp.c +++ b/parser/src_pl_plpgsql_src_pl_comp.c @@ -27,6 +27,7 @@ * - plpgsql_parse_wordrowtype * - plpgsql_parse_cwordtype * - plpgsql_parse_cwordrowtype + * - plpgsql_build_datatype_arrayof * - plpgsql_parse_result * - plpgsql_finish_datums * - plpgsql_compile_error_callback @@ -39,7 +40,7 @@ * pl_comp.c - Compiler part of the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -693,10 +694,10 @@ plpgsql_parse_tripword(char *word1, char *word2, char *word3, /* ---------- - * plpgsql_parse_wordtype The scanner found word%TYPE. word can be - * a variable name or a basetype. + * plpgsql_parse_wordtype The scanner found word%TYPE. word should be + * a pre-existing variable name. * - * Returns datatype struct, or NULL if no match found for word. + * Returns datatype struct. Throws error if no match found for word. * ---------- */ PLpgSQL_type * plpgsql_parse_wordtype(char *ident) { return NULL; } @@ -705,6 +706,10 @@ PLpgSQL_type * plpgsql_parse_wordtype(char *ident) { return NULL; } /* ---------- * plpgsql_parse_cwordtype Same lookup for compositeword%TYPE + * + * Here, we allow either a block-qualified variable name, or a reference + * to a column of some table. (If we must throw error, we assume that the + * latter case was intended.) * ---------- */ PLpgSQL_type * plpgsql_parse_cwordtype(List *idents) { return NULL; } @@ -879,7 +884,53 @@ plpgsql_build_recfield(PLpgSQL_rec *rec, const char *fldname) * It can be NULL if the type could not be a composite type, or if it was * identified by OID to begin with (e.g., it's a function argument type). */ -PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname) { PLpgSQL_type *typ; typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); typ->typname = pstrdup("UNKNOWN"); typ->ttype = PLPGSQL_TTYPE_SCALAR; return typ; } + +PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname) +{ + PLpgSQL_type *typ; + char *ident = NULL, *ns = NULL; + typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + + typ->ttype = PLPGSQL_TTYPE_SCALAR; + typ->atttypmod = typmod; + typ->collation = collation; + + if (origtypname) { + typ->typoid = origtypname->typeOid; + + if (list_length(origtypname->names) == 1) { + ident = linitial_node(String, origtypname->names)->sval; + } else if (list_length(origtypname->names) == 2) { + ns = linitial_node(String, origtypname->names)->sval; + ident = lsecond_node(String, origtypname->names)->sval; + if (strcmp(ns, "pg_catalog") != 0) + typ->ttype = PLPGSQL_TTYPE_REC; + } + } else { + typ->typoid = typeOid; + ns = "pg_catalog"; + switch(typeOid) + { + case BOOLOID: + ident = "boolean"; + break; + case INT4OID: + ident = "integer"; + break; + case TEXTOID: + ident = "text"; + break; + case REFCURSOROID: + ident = "refcursor"; + break; + } + } + if (ident) { + typ->typname = quote_qualified_identifier(ns, ident); + } + return typ; +} + /* @@ -888,6 +939,49 @@ PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, */ +/* + * Build an array type for the element type specified as argument. + */ + +PLpgSQL_type * plpgsql_build_datatype_arrayof(PLpgSQL_type *dtype) +{ + if (dtype->typisarray) + return dtype; + + PLpgSQL_type *array_type; + array_type = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + + array_type->ttype = PLPGSQL_TTYPE_REC; + array_type->atttypmod = dtype->atttypmod; + array_type->collation = dtype->collation; + + array_type->typisarray = true; + + switch(dtype->typoid) + { + case BOOLOID: + array_type->typoid = BOOLARRAYOID; + array_type->typname = pstrdup("boolean[]"); + break; + case INT4OID: + array_type->typoid = INT4ARRAYOID; + array_type->typname = pstrdup("integer[]"); + break; + case TEXTOID: + array_type->typoid = TEXTARRAYOID; + array_type->typname = pstrdup("text[]"); + break; + default: + array_type->typname = pstrdup("UNKNOWN"); + break; + } + array_type->typoid = dtype->typoid; + + return array_type; +} + + + /* * plpgsql_recognize_err_condition * Check condition name and translate it to SQLSTATE. diff --git a/parser/src_pl_plpgsql_src_pl_funcs.c b/parser/src_pl_plpgsql_src_pl_funcs.c index a99944f1..8e46ee2f 100644 --- a/parser/src_pl_plpgsql_src_pl_funcs.c +++ b/parser/src_pl_plpgsql_src_pl_funcs.c @@ -49,7 +49,7 @@ * pl_funcs.c - Misc functions for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_pl_plpgsql_src_pl_gram.c b/parser/src_pl_plpgsql_src_pl_gram.c index 0920316e..795215f2 100644 --- a/parser/src_pl_plpgsql_src_pl_gram.c +++ b/parser/src_pl_plpgsql_src_pl_gram.c @@ -397,7 +397,7 @@ * * pl_gram.y - Parser for the PL/pgSQL procedural language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -460,7 +460,6 @@ static PLpgSQL_expr *read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken); static PLpgSQL_expr *read_sql_expression(int until, @@ -470,7 +469,8 @@ static PLpgSQL_expr *read_sql_expression2(int until, int until2, int *endtoken); static PLpgSQL_expr *read_sql_stmt(void); static PLpgSQL_type *read_datatype(int tok); -static PLpgSQL_stmt *make_execsql_stmt(int firsttoken, int location); +static PLpgSQL_stmt *make_execsql_stmt(int firsttoken, int location, + PLword *word); static PLpgSQL_stmt_fetch *read_fetch_direction(void); static void complete_direction(PLpgSQL_stmt_fetch *fetch, bool *check_FROM); @@ -986,14 +986,14 @@ static const yytype_uint16 yyrline[] = 397, 401, 406, 407, 410, 433, 441, 448, 457, 469, 470, 473, 474, 478, 491, 529, 535, 534, 561, 564, 568, 575, 581, 584, 615, 619, 625, 633, 634, 636, - 651, 666, 694, 722, 753, 754, 759, 770, 771, 776, - 781, 788, 789, 793, 795, 801, 802, 810, 811, 815, - 816, 826, 828, 830, 832, 834, 836, 838, 840, 842, - 844, 846, 848, 850, 852, 854, 856, 858, 860, 862, - 864, 866, 868, 870, 872, 876, 912, 930, 951, 990, - 1054, 1057, 1061, 1067, 1071, 1077, 1090, 1137, 1155, 1160, - 1167, 1185, 1188, 1202, 1205, 1211, 1218, 1232, 1236, 1242, - 1254, 1257, 1272, 1290, 1309, 1343, 1602, 1628, 1642, 1649, + 651, 666, 694, 722, 753, 754, 759, 771, 772, 777, + 782, 789, 790, 794, 796, 802, 803, 811, 812, 816, + 817, 827, 829, 831, 833, 835, 837, 839, 841, 843, + 845, 847, 849, 851, 853, 855, 857, 859, 861, 863, + 865, 867, 869, 871, 873, 877, 913, 931, 952, 991, + 1055, 1058, 1062, 1068, 1072, 1078, 1091, 1138, 1156, 1161, + 1168, 1186, 1189, 1203, 1206, 1212, 1219, 1233, 1237, 1243, + 1255, 1258, 1273, 1291, 1310, 1344, 1602, 1628, 1642, 1649, 1688, 1691, 1697, 1750, 1754, 1760, 1786, 1931, 1955, 1973, 1977, 1981, 1985, 1996, 2009, 2073, 2151, 2181, 2194, 2199, 2213, 2220, 2234, 2249, 2250, 2251, 2255, 2277, 2282, 2290, @@ -2877,8 +2877,9 @@ yyparse () #line 759 "pl_gram.y" { /* - * If there's a lookahead token, read_datatype - * should consume it. + * If there's a lookahead token, read_datatype() will + * consume it, and then we must tell bison to forget + * it. */ (yyval.dtype) = read_datatype(yychar); yyclearin; @@ -2886,12 +2887,12 @@ yyparse () break; case 47: -#line 770 "pl_gram.y" +#line 771 "pl_gram.y" { (yyval.oid) = InvalidOid; ;} break; case 48: -#line 772 "pl_gram.y" +#line 773 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString((yyvsp[(2) - (2)].word).ident)), false); @@ -2899,7 +2900,7 @@ yyparse () break; case 49: -#line 777 "pl_gram.y" +#line 778 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString(pstrdup((yyvsp[(2) - (2)].keyword)))), false); @@ -2907,41 +2908,41 @@ yyparse () break; case 50: -#line 782 "pl_gram.y" +#line 783 "pl_gram.y" { (yyval.oid) = get_collation_oid((yyvsp[(2) - (2)].cword).idents, false); ;} break; case 51: -#line 788 "pl_gram.y" +#line 789 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 52: -#line 790 "pl_gram.y" +#line 791 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 53: -#line 794 "pl_gram.y" +#line 795 "pl_gram.y" { (yyval.expr) = NULL; ;} break; case 54: -#line 796 "pl_gram.y" +#line 797 "pl_gram.y" { (yyval.expr) = read_sql_expression(';', ";"); ;} break; case 59: -#line 815 "pl_gram.y" +#line 816 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 60: -#line 817 "pl_gram.y" +#line 818 "pl_gram.y" { /* don't bother linking null statements into list */ if ((yyvsp[(2) - (2)].stmt) == NULL) @@ -2952,127 +2953,127 @@ yyparse () break; case 61: -#line 827 "pl_gram.y" +#line 828 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); ;} break; case 62: -#line 829 "pl_gram.y" +#line 830 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 63: -#line 831 "pl_gram.y" +#line 832 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 64: -#line 833 "pl_gram.y" +#line 834 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 65: -#line 835 "pl_gram.y" +#line 836 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 66: -#line 837 "pl_gram.y" +#line 838 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 67: -#line 839 "pl_gram.y" +#line 840 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 68: -#line 841 "pl_gram.y" +#line 842 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 69: -#line 843 "pl_gram.y" +#line 844 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 70: -#line 845 "pl_gram.y" +#line 846 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 71: -#line 847 "pl_gram.y" +#line 848 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 72: -#line 849 "pl_gram.y" +#line 850 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 73: -#line 851 "pl_gram.y" +#line 852 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 74: -#line 853 "pl_gram.y" +#line 854 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 75: -#line 855 "pl_gram.y" +#line 856 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 76: -#line 857 "pl_gram.y" +#line 858 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 77: -#line 859 "pl_gram.y" +#line 860 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 78: -#line 861 "pl_gram.y" +#line 862 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 79: -#line 863 "pl_gram.y" +#line 864 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 80: -#line 865 "pl_gram.y" +#line 866 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 81: -#line 867 "pl_gram.y" +#line 868 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 82: -#line 869 "pl_gram.y" +#line 870 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 83: -#line 871 "pl_gram.y" +#line 872 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 84: -#line 873 "pl_gram.y" +#line 874 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 85: -#line 877 "pl_gram.y" +#line 878 "pl_gram.y" { PLpgSQL_stmt_perform *new; int startloc; @@ -3093,7 +3094,7 @@ yyparse () */ new->expr = read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, false, true, + false, false, &startloc, NULL); /* overwrite "perform" ... */ memcpy(new->expr->query, " SELECT", 7); @@ -3109,7 +3110,7 @@ yyparse () break; case 86: -#line 913 "pl_gram.y" +#line 914 "pl_gram.y" { PLpgSQL_stmt_call *new; @@ -3130,7 +3131,7 @@ yyparse () break; case 87: -#line 931 "pl_gram.y" +#line 932 "pl_gram.y" { /* use the same structures as for CALL, for simplicity */ PLpgSQL_stmt_call *new; @@ -3152,7 +3153,7 @@ yyparse () break; case 88: -#line 952 "pl_gram.y" +#line 953 "pl_gram.y" { PLpgSQL_stmt_assign *new; RawParseMode pmode; @@ -3184,7 +3185,7 @@ yyparse () plpgsql_push_back_token(T_DATUM); new->expr = read_sql_construct(';', 0, 0, ";", pmode, - false, true, true, + false, true, NULL, NULL); (yyval.stmt) = (PLpgSQL_stmt *) new; @@ -3192,7 +3193,7 @@ yyparse () break; case 89: -#line 991 "pl_gram.y" +#line 992 "pl_gram.y" { PLpgSQL_stmt_getdiag *new; ListCell *lc; @@ -3256,42 +3257,42 @@ yyparse () break; case 90: -#line 1054 "pl_gram.y" +#line 1055 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 91: -#line 1058 "pl_gram.y" +#line 1059 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 92: -#line 1062 "pl_gram.y" +#line 1063 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 93: -#line 1068 "pl_gram.y" +#line 1069 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].diagitem)); ;} break; case 94: -#line 1072 "pl_gram.y" +#line 1073 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].diagitem)); ;} break; case 95: -#line 1078 "pl_gram.y" +#line 1079 "pl_gram.y" { PLpgSQL_diag_item *new; @@ -3304,7 +3305,7 @@ yyparse () break; case 96: -#line 1090 "pl_gram.y" +#line 1091 "pl_gram.y" { int tok = yylex(); @@ -3353,7 +3354,7 @@ yyparse () break; case 97: -#line 1138 "pl_gram.y" +#line 1139 "pl_gram.y" { /* * In principle we should support a getdiag_target @@ -3374,7 +3375,7 @@ yyparse () break; case 98: -#line 1156 "pl_gram.y" +#line 1157 "pl_gram.y" { /* just to give a better message than "syntax error" */ word_is_not_variable(&((yyvsp[(1) - (1)].word)), (yylsp[(1) - (1)])); @@ -3382,7 +3383,7 @@ yyparse () break; case 99: -#line 1161 "pl_gram.y" +#line 1162 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); @@ -3390,7 +3391,7 @@ yyparse () break; case 100: -#line 1168 "pl_gram.y" +#line 1169 "pl_gram.y" { PLpgSQL_stmt_if *new; @@ -3408,14 +3409,14 @@ yyparse () break; case 101: -#line 1185 "pl_gram.y" +#line 1186 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 102: -#line 1189 "pl_gram.y" +#line 1190 "pl_gram.y" { PLpgSQL_if_elsif *new; @@ -3429,28 +3430,28 @@ yyparse () break; case 103: -#line 1202 "pl_gram.y" +#line 1203 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 104: -#line 1206 "pl_gram.y" +#line 1207 "pl_gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; case 105: -#line 1212 "pl_gram.y" +#line 1213 "pl_gram.y" { (yyval.stmt) = make_case((yylsp[(1) - (7)]), (yyvsp[(2) - (7)].expr), (yyvsp[(3) - (7)].list), (yyvsp[(4) - (7)].list)); ;} break; case 106: -#line 1218 "pl_gram.y" +#line 1219 "pl_gram.y" { PLpgSQL_expr *expr = NULL; int tok = yylex(); @@ -3466,21 +3467,21 @@ yyparse () break; case 107: -#line 1233 "pl_gram.y" +#line 1234 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].casewhen)); ;} break; case 108: -#line 1237 "pl_gram.y" +#line 1238 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].casewhen)); ;} break; case 109: -#line 1243 "pl_gram.y" +#line 1244 "pl_gram.y" { PLpgSQL_case_when *new = palloc(sizeof(PLpgSQL_case_when)); @@ -3492,14 +3493,14 @@ yyparse () break; case 110: -#line 1254 "pl_gram.y" +#line 1255 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 111: -#line 1258 "pl_gram.y" +#line 1259 "pl_gram.y" { /* * proc_sect could return an empty list, but we @@ -3515,7 +3516,7 @@ yyparse () break; case 112: -#line 1273 "pl_gram.y" +#line 1274 "pl_gram.y" { PLpgSQL_stmt_loop *new; @@ -3534,7 +3535,7 @@ yyparse () break; case 113: -#line 1291 "pl_gram.y" +#line 1292 "pl_gram.y" { PLpgSQL_stmt_while *new; @@ -3554,7 +3555,7 @@ yyparse () break; case 114: -#line 1310 "pl_gram.y" +#line 1311 "pl_gram.y" { /* This runs after we've scanned the loop body */ if ((yyvsp[(3) - (4)].stmt)->cmd_type == PLPGSQL_STMT_FORI) @@ -3589,7 +3590,7 @@ yyparse () break; case 115: -#line 1344 "pl_gram.y" +#line 1345 "pl_gram.y" { int tok = yylex(); int tokloc = yylloc; @@ -3722,7 +3723,6 @@ yyparse () RAW_PARSE_DEFAULT, true, false, - true, &expr1loc, &tok); @@ -4128,7 +4128,7 @@ yyparse () expr = read_sql_construct(',', ';', K_USING, ", or ; or USING", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &tok); new->params = lappend(new->params, expr); } @@ -4215,21 +4215,21 @@ yyparse () case 129: #line 1974 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_IMPORT, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_IMPORT, (yylsp[(1) - (1)]), NULL); ;} break; case 130: #line 1978 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_INSERT, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_INSERT, (yylsp[(1) - (1)]), NULL); ;} break; case 131: #line 1982 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_MERGE, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_MERGE, (yylsp[(1) - (1)]), NULL); ;} break; @@ -4243,7 +4243,7 @@ yyparse () if (tok == '=' || tok == COLON_EQUALS || tok == '[' || tok == '.') word_is_not_variable(&((yyvsp[(1) - (1)].word)), (yylsp[(1) - (1)])); - (yyval.stmt) = make_execsql_stmt(T_WORD, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(T_WORD, (yylsp[(1) - (1)]), &((yyvsp[(1) - (1)].word))); ;} break; @@ -4257,7 +4257,7 @@ yyparse () if (tok == '=' || tok == COLON_EQUALS || tok == '[' || tok == '.') cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); - (yyval.stmt) = make_execsql_stmt(T_CWORD, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(T_CWORD, (yylsp[(1) - (1)]), NULL); ;} break; @@ -4271,7 +4271,7 @@ yyparse () expr = read_sql_construct(K_INTO, K_USING, ';', "INTO or USING or ;", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new = palloc(sizeof(PLpgSQL_stmt_dynexecute)); @@ -4310,7 +4310,7 @@ yyparse () expr = read_sql_construct(',', ';', K_INTO, ", or ; or INTO", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new->params = lappend(new->params, expr); } while (endtoken == ','); @@ -5095,7 +5095,7 @@ read_sql_expression(int until, const char *expected) { return read_sql_construct(until, 0, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, NULL); + true, true, NULL, NULL); } /* Convenience routine to read an expression with two possible terminators */ @@ -5105,7 +5105,7 @@ read_sql_expression2(int until, int until2, const char *expected, { return read_sql_construct(until, until2, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, endtoken); + true, true, NULL, endtoken); } /* Convenience routine to read a SQL statement that must end with ';' */ @@ -5114,7 +5114,7 @@ read_sql_stmt(void) { return read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, true, true, NULL, NULL); + false, true, NULL, NULL); } /* @@ -5127,7 +5127,6 @@ read_sql_stmt(void) * parsemode: raw_parser() mode to use * isexpression: whether to say we're reading an "expression" or a "statement" * valid_sql: whether to check the syntax of the expr - * trim: trim trailing whitespace * startloc: if not NULL, location of first token is stored at *startloc * endtoken: if not NULL, ending token is stored at *endtoken * (this is only interesting if until2 or until3 isn't zero) @@ -5140,7 +5139,6 @@ read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken) { @@ -5148,6 +5146,7 @@ read_sql_construct(int until, StringInfoData ds; IdentifierLookup save_IdentifierLookup; int startlocation = -1; + int endlocation = -1; int parenlevel = 0; PLpgSQL_expr *expr; @@ -5198,6 +5197,8 @@ read_sql_construct(int until, expected), parser_errposition(yylloc))); } + /* Remember end+1 location of last accepted token */ + endlocation = yylloc + plpgsql_token_length(); } plpgsql_IdentifierLookup = save_IdentifierLookup; @@ -5208,7 +5209,7 @@ read_sql_construct(int until, *endtoken = tok; /* give helpful complaint about empty input */ - if (startlocation >= yylloc) + if (startlocation >= endlocation) { if (isexpression) yyerror("missing expression"); @@ -5216,14 +5217,14 @@ read_sql_construct(int until, yyerror("missing SQL statement"); } - plpgsql_append_source_text(&ds, startlocation, yylloc); - - /* trim any trailing whitespace, for neatness */ - if (trim) - { - while (ds.len > 0 && scanner_isspace(ds.data[ds.len - 1])) - ds.data[--ds.len] = '\0'; - } + /* + * We save only the text from startlocation to endlocation-1. This + * suppresses the "until" token as well as any whitespace or comments + * following the last accepted token. (We used to strip such trailing + * whitespace by hand, but that causes problems if there's a "-- comment" + * in front of said whitespace.) + */ + plpgsql_append_source_text(&ds, startlocation, endlocation); expr = palloc0(sizeof(PLpgSQL_expr)); expr->query = pstrdup(ds.data); @@ -5240,13 +5241,17 @@ read_sql_construct(int until, return expr; } +/* + * Read a datatype declaration, consuming the current lookahead token if any. + * Returns a PLpgSQL_type struct. + */ static PLpgSQL_type * read_datatype(int tok) { StringInfoData ds; char *type_name; int startlocation; - PLpgSQL_type *result; + PLpgSQL_type *result = NULL; int parenlevel = 0; /* Should only be called while parsing DECLARE sections */ @@ -5256,11 +5261,12 @@ read_datatype(int tok) if (tok == YYEMPTY) tok = yylex(); + /* The current token is the start of what we'll pass to parse_datatype */ startlocation = yylloc; /* - * If we have a simple or composite identifier, check for %TYPE - * and %ROWTYPE constructs. + * If we have a simple or composite identifier, check for %TYPE and + * %ROWTYPE constructs. */ if (tok == T_WORD) { @@ -5272,18 +5278,10 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_wordtype(dtname); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_wordrowtype(dtname); - if (result) - return result; - } } } else if (plpgsql_token_is_unreserved_keyword(tok)) @@ -5296,18 +5294,10 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_wordtype(dtname); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_wordrowtype(dtname); - if (result) - return result; - } } } else if (tok == T_CWORD) @@ -5320,21 +5310,56 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_cwordtype(dtnames); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_cwordrowtype(dtnames); - if (result) - return result; - } } } + /* + * If we recognized a %TYPE or %ROWTYPE construct, see if it is followed + * by array decoration: [ ARRAY ] [ '[' [ iconst ] ']' [ ... ] ] + * + * Like the core parser, we ignore the specific numbers and sizes of + * dimensions; arrays of different dimensionality are still the same type + * in Postgres. + */ + if (result) + { + bool is_array = false; + + tok = yylex(); + if (tok_is_keyword(tok, &yylval, + K_ARRAY, "array")) + { + is_array = true; + tok = yylex(); + } + while (tok == '[') + { + is_array = true; + tok = yylex(); + if (tok == ICONST) + tok = yylex(); + if (tok != ']') + yyerror("syntax error, expected \"]\""); + tok = yylex(); + } + plpgsql_push_back_token(tok); + + if (is_array) + result = plpgsql_build_datatype_arrayof(result); + + return result; + } + + /* + * Not %TYPE or %ROWTYPE, so scan to the end of the datatype declaration, + * which could include typmod or array decoration. We are not very picky + * here, instead relying on parse_datatype to complain about garbage. But + * we must count parens to handle typmods within cursor_arg correctly. + */ while (tok != ';') { if (tok == 0) @@ -5376,8 +5401,13 @@ read_datatype(int tok) return result; } +/* + * Read a generic SQL statement. We have already read its first token; + * firsttoken is that token's code and location its starting location. + * If firsttoken == T_WORD, pass its yylval value as "word", else pass NULL. + */ static PLpgSQL_stmt * -make_execsql_stmt(int firsttoken, int location) +make_execsql_stmt(int firsttoken, int location, PLword *word) { StringInfoData ds; IdentifierLookup save_IdentifierLookup; @@ -5390,9 +5420,16 @@ make_execsql_stmt(int firsttoken, int location) bool have_strict = false; int into_start_loc = -1; int into_end_loc = -1; + int paren_depth = 0; + int begin_depth = 0; + bool in_routine_definition = false; + int token_count = 0; + char tokens[4]; /* records the first few tokens */ initStringInfo(&ds); + memset(tokens, 0, sizeof(tokens)); + /* special lookup mode for identifiers within the SQL text */ save_IdentifierLookup = plpgsql_IdentifierLookup; plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_EXPR; @@ -5401,6 +5438,12 @@ make_execsql_stmt(int firsttoken, int location) * Scan to the end of the SQL command. Identify any INTO-variables * clause lurking within it, and parse that via read_into_target(). * + * The end of the statement is defined by a semicolon ... except that + * semicolons within parentheses or BEGIN/END blocks don't terminate a + * statement. We follow psql's lead in not recognizing BEGIN/END except + * after CREATE [OR REPLACE] {FUNCTION|PROCEDURE}. END can also appear + * within a CASE construct, so we treat CASE/END like BEGIN/END. + * * Because INTO is sometimes used in the main SQL grammar, we have to be * careful not to take any such usage of INTO as a PL/pgSQL INTO clause. * There are currently three such cases: @@ -5426,13 +5469,50 @@ make_execsql_stmt(int firsttoken, int location) * break this logic again ... beware! */ tok = firsttoken; + if (tok == T_WORD && strcmp(word->ident, "create") == 0) + tokens[token_count] = 'c'; + token_count++; + for (;;) { prev_tok = tok; tok = yylex(); if (have_into && into_end_loc < 0) into_end_loc = yylloc; /* token after the INTO part */ - if (tok == ';') + /* Detect CREATE [OR REPLACE] {FUNCTION|PROCEDURE} */ + if (tokens[0] == 'c' && token_count < sizeof(tokens)) + { + if (tok == K_OR) + tokens[token_count] = 'o'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "replace") == 0) + tokens[token_count] = 'r'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "function") == 0) + tokens[token_count] = 'f'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "procedure") == 0) + tokens[token_count] = 'f'; /* treat same as "function" */ + if (tokens[1] == 'f' || + (tokens[1] == 'o' && tokens[2] == 'r' && tokens[3] == 'f')) + in_routine_definition = true; + token_count++; + } + /* Track paren nesting (needed for CREATE RULE syntax) */ + if (tok == '(') + paren_depth++; + else if (tok == ')' && paren_depth > 0) + paren_depth--; + /* We need track BEGIN/END nesting only in a routine definition */ + if (in_routine_definition && paren_depth == 0) + { + if (tok == K_BEGIN || tok == K_CASE) + begin_depth++; + else if (tok == K_END && begin_depth > 0) + begin_depth--; + } + /* Command-ending semicolon? */ + if (tok == ';' && paren_depth == 0 && begin_depth == 0) break; if (tok == 0) yyerror("unexpected end of function definition"); @@ -5596,11 +5676,11 @@ read_fetch_direction(void) { /* * Assume it's a count expression with no preceding keyword. - * Note: we allow this syntax because core SQL does, but we don't - * document it because of the ambiguity with the omitted-direction - * case. For instance, "MOVE n IN c" will fail if n is a variable. - * Perhaps this can be improved someday, but it's hardly worth a - * lot of work. + * Note: we allow this syntax because core SQL does, but it's + * ambiguous with the case of an omitted direction clause; for + * instance, "MOVE n IN c" will fail if n is a variable, because the + * preceding else-arm will trigger. Perhaps this can be improved + * someday, but it hardly seems worth a lot of work. */ plpgsql_push_back_token(tok); fetch->expr = read_sql_expression2(K_FROM, K_IN, @@ -6090,7 +6170,30 @@ plpgsql_sql_error_callback(void *arg) * This is handled the same as in check_sql_expr(), and we likewise * expect that the given string is a copy from the source text. */ -static PLpgSQL_type * parse_datatype(const char *string, int location) { PLpgSQL_type *typ; typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); typ->typname = pstrdup(string); typ->ttype = strcmp(string, "RECORD") == 0 ? PLPGSQL_TTYPE_REC : PLPGSQL_TTYPE_SCALAR; return typ; } + +#include "catalog/pg_collation_d.h" +static PLpgSQL_type * parse_datatype(const char *string, int location) { + PLpgSQL_type *typ; + + /* Ignore trailing spaces */ + size_t len = strlen(string); + while (len > 0 && scanner_isspace(string[len - 1])) --len; + + typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + typ->typname = pstrdup(string); + typ->ttype = pg_strncasecmp(string, "RECORD", len) == 0 ? PLPGSQL_TTYPE_REC : PLPGSQL_TTYPE_SCALAR; + if (pg_strncasecmp(string, "REFCURSOR", len) == 0 || pg_strncasecmp(string, "CURSOR", len) == 0) + { + typ->typoid = REFCURSOROID; + } + else if (pg_strncasecmp(string, "TEXT", len) == 0) + { + typ->typoid = TEXTOID; + typ->collation = DEFAULT_COLLATION_OID; + } + return typ; +} + /* @@ -6229,16 +6332,12 @@ read_cursor_args(PLpgSQL_var *cursor, int until) * Read the value expression. To provide the user with meaningful * parse error positions, we check the syntax immediately, instead of * checking the final expression that may have the arguments - * reordered. Trailing whitespace must not be trimmed, because - * otherwise input of the form (param -- comment\n, param) would be - * translated into a form where the second parameter is commented - * out. + * reordered. */ item = read_sql_construct(',', ')', 0, ",\" or \")", RAW_PARSE_PLPGSQL_EXPR, true, true, - false, /* do not trim */ NULL, &endtoken); argv[argpos] = item->query; diff --git a/parser/src_pl_plpgsql_src_pl_handler.c b/parser/src_pl_plpgsql_src_pl_handler.c index 873a9303..1da37464 100644 --- a/parser/src_pl_plpgsql_src_pl_handler.c +++ b/parser/src_pl_plpgsql_src_pl_handler.c @@ -10,7 +10,7 @@ * pl_handler.c - Handler for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h b/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h index 94e473e9..a19b5288 100644 --- a/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +++ b/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h @@ -12,7 +12,7 @@ * pl_reserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/src_pl_plpgsql_src_pl_scanner.c b/parser/src_pl_plpgsql_src_pl_scanner.c index 29a5c8ea..edc12a7d 100644 --- a/parser/src_pl_plpgsql_src_pl_scanner.c +++ b/parser/src_pl_plpgsql_src_pl_scanner.c @@ -26,6 +26,7 @@ * - plpgsql_peek * - plpgsql_token_is_unreserved_keyword * - plpgsql_append_source_text + * - plpgsql_token_length * - plpgsql_peek2 * - plpgsql_scanner_finish * - plpgsql_latest_lineno @@ -38,7 +39,7 @@ * lexical scanning for PL/pgSQL * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -230,6 +231,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B.C */ + aux1.leng = aux5.lloc - aux1.lloc + aux5.leng; } else { @@ -243,6 +246,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -256,6 +261,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -344,6 +351,17 @@ plpgsql_yylex(void) return tok1; } +/* + * Return the length of the token last returned by plpgsql_yylex(). + * + * In the case of compound tokens, the length includes all the parts. + */ +int +plpgsql_token_length(void) +{ + return plpgsql_yyleng; +} + /* * Internal yylex function. This wraps the core lexer and adds one feature: * a token pushback stack. We also make a couple of trivial single-token diff --git a/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h b/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h index 4ff19629..7b9a5405 100644 --- a/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +++ b/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h @@ -12,7 +12,7 @@ * pl_unreserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/src_port_pg_bitutils.c b/parser/src_port_pg_bitutils.c index a9b8e0d0..a46e4592 100644 --- a/parser/src_port_pg_bitutils.c +++ b/parser/src_port_pg_bitutils.c @@ -15,7 +15,7 @@ * pg_bitutils.c * Miscellaneous functions for bit-wise operations. * - * Copyright (c) 2019-2023, PostgreSQL Global Development Group + * Copyright (c) 2019-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/port/pg_bitutils.c @@ -115,18 +115,26 @@ const uint8 pg_number_of_ones[256] = { 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 }; -static int pg_popcount32_slow(uint32 word); -static int pg_popcount64_slow(uint64 word); +static inline int pg_popcount32_slow(uint32 word); +static inline int pg_popcount64_slow(uint64 word); +static uint64 pg_popcount_slow(const char *buf, int bytes); +static uint64 pg_popcount_masked_slow(const char *buf, int bytes, bits8 mask); #ifdef TRY_POPCNT_FAST static bool pg_popcount_available(void); static int pg_popcount32_choose(uint32 word); static int pg_popcount64_choose(uint64 word); -static int pg_popcount32_fast(uint32 word); -static int pg_popcount64_fast(uint64 word); +static uint64 pg_popcount_choose(const char *buf, int bytes); +static uint64 pg_popcount_masked_choose(const char *buf, int bytes, bits8 mask); +static inline int pg_popcount32_fast(uint32 word); +static inline int pg_popcount64_fast(uint64 word); +static uint64 pg_popcount_fast(const char *buf, int bytes); +static uint64 pg_popcount_masked_fast(const char *buf, int bytes, bits8 mask); int (*pg_popcount32) (uint32 word) = pg_popcount32_choose; int (*pg_popcount64) (uint64 word) = pg_popcount64_choose; +uint64 (*pg_popcount_optimized) (const char *buf, int bytes) = pg_popcount_choose; +uint64 (*pg_popcount_masked_optimized) (const char *buf, int bytes, bits8 mask) = pg_popcount_masked_choose; #endif /* TRY_POPCNT_FAST */ #ifdef TRY_POPCNT_FAST @@ -156,45 +164,66 @@ pg_popcount_available(void) * the function pointers so that subsequent calls are routed directly to * the chosen implementation. */ -static int -pg_popcount32_choose(uint32 word) +static inline void +choose_popcount_functions(void) { if (pg_popcount_available()) { pg_popcount32 = pg_popcount32_fast; pg_popcount64 = pg_popcount64_fast; + pg_popcount_optimized = pg_popcount_fast; + pg_popcount_masked_optimized = pg_popcount_masked_fast; } else { pg_popcount32 = pg_popcount32_slow; pg_popcount64 = pg_popcount64_slow; + pg_popcount_optimized = pg_popcount_slow; + pg_popcount_masked_optimized = pg_popcount_masked_slow; } +#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK + if (pg_popcount_avx512_available()) + { + pg_popcount_optimized = pg_popcount_avx512; + pg_popcount_masked_optimized = pg_popcount_masked_avx512; + } +#endif +} + +static int +pg_popcount32_choose(uint32 word) +{ + choose_popcount_functions(); return pg_popcount32(word); } static int pg_popcount64_choose(uint64 word) { - if (pg_popcount_available()) - { - pg_popcount32 = pg_popcount32_fast; - pg_popcount64 = pg_popcount64_fast; - } - else - { - pg_popcount32 = pg_popcount32_slow; - pg_popcount64 = pg_popcount64_slow; - } - + choose_popcount_functions(); return pg_popcount64(word); } +static uint64 +pg_popcount_choose(const char *buf, int bytes) +{ + choose_popcount_functions(); + return pg_popcount_optimized(buf, bytes); +} + +static uint64 +pg_popcount_masked_choose(const char *buf, int bytes, bits8 mask) +{ + choose_popcount_functions(); + return pg_popcount_masked(buf, bytes, mask); +} + /* * pg_popcount32_fast * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount32_fast(uint32 word) { #ifdef _MSC_VER @@ -211,7 +240,7 @@ __asm__ __volatile__(" popcntl %1,%0\n":"=q"(res):"rm"(word):"cc"); * pg_popcount64_fast * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount64_fast(uint64 word) { #ifdef _MSC_VER @@ -224,6 +253,102 @@ __asm__ __volatile__(" popcntq %1,%0\n":"=q"(res):"rm"(word):"cc"); #endif } +/* + * pg_popcount_fast + * Returns the number of 1-bits in buf + */ +static uint64 +pg_popcount_fast(const char *buf, int bytes) +{ + uint64 popcnt = 0; + +#if SIZEOF_VOID_P >= 8 + /* Process in 64-bit chunks if the buffer is aligned. */ + if (buf == (const char *) TYPEALIGN(8, buf)) + { + const uint64 *words = (const uint64 *) buf; + + while (bytes >= 8) + { + popcnt += pg_popcount64_fast(*words++); + bytes -= 8; + } + + buf = (const char *) words; + } +#else + /* Process in 32-bit chunks if the buffer is aligned. */ + if (buf == (const char *) TYPEALIGN(4, buf)) + { + const uint32 *words = (const uint32 *) buf; + + while (bytes >= 4) + { + popcnt += pg_popcount32_fast(*words++); + bytes -= 4; + } + + buf = (const char *) words; + } +#endif + + /* Process any remaining bytes */ + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++]; + + return popcnt; +} + +/* + * pg_popcount_masked_fast + * Returns the number of 1-bits in buf after applying the mask to each byte + */ +static uint64 +pg_popcount_masked_fast(const char *buf, int bytes, bits8 mask) +{ + uint64 popcnt = 0; + +#if SIZEOF_VOID_P >= 8 + /* Process in 64-bit chunks if the buffer is aligned */ + uint64 maskv = ~UINT64CONST(0) / 0xFF * mask; + + if (buf == (const char *) TYPEALIGN(8, buf)) + { + const uint64 *words = (const uint64 *) buf; + + while (bytes >= 8) + { + popcnt += pg_popcount64_fast(*words++ & maskv); + bytes -= 8; + } + + buf = (const char *) words; + } +#else + /* Process in 32-bit chunks if the buffer is aligned. */ + uint32 maskv = ~((uint32) 0) / 0xFF * mask; + + if (buf == (const char *) TYPEALIGN(4, buf)) + { + const uint32 *words = (const uint32 *) buf; + + while (bytes >= 4) + { + popcnt += pg_popcount32_fast(*words++ & maskv); + bytes -= 4; + } + + buf = (const char *) words; + } +#endif + + /* Process any remaining bytes */ + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++ & mask]; + + return popcnt; +} + #endif /* TRY_POPCNT_FAST */ @@ -231,7 +356,7 @@ __asm__ __volatile__(" popcntq %1,%0\n":"=q"(res):"rm"(word):"cc"); * pg_popcount32_slow * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount32_slow(uint32 word) { #ifdef HAVE__BUILTIN_POPCOUNT @@ -253,7 +378,7 @@ pg_popcount32_slow(uint32 word) * pg_popcount64_slow * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount64_slow(uint64 word) { #ifdef HAVE__BUILTIN_POPCOUNT @@ -277,6 +402,22 @@ pg_popcount64_slow(uint64 word) #endif /* HAVE__BUILTIN_POPCOUNT */ } +/* + * pg_popcount_slow + * Returns the number of 1-bits in buf + */ +#if SIZEOF_VOID_P >= 8 +#else +#endif + +/* + * pg_popcount_masked_slow + * Returns the number of 1-bits in buf after applying the mask to each byte + */ +#if SIZEOF_VOID_P >= 8 +#else +#endif + #ifndef TRY_POPCNT_FAST /* @@ -298,12 +439,16 @@ pg_popcount64(uint64 word) return pg_popcount64_slow(word); } -#endif /* !TRY_POPCNT_FAST */ - /* - * pg_popcount + * pg_popcount_optimized * Returns the number of 1-bits in buf */ -#if SIZEOF_VOID_P >= 8 -#else -#endif + + +/* + * pg_popcount_masked_optimized + * Returns the number of 1-bits in buf after applying the mask to each byte + */ + + +#endif /* !TRY_POPCNT_FAST */ diff --git a/parser/src_port_pgstrcasecmp.c b/parser/src_port_pgstrcasecmp.c index eb607083..ea693e49 100644 --- a/parser/src_port_pgstrcasecmp.c +++ b/parser/src_port_pgstrcasecmp.c @@ -2,6 +2,7 @@ * Symbols referenced in this file: * - pg_strcasecmp * - pg_toupper + * - pg_strncasecmp *-------------------------------------------------------------------- */ @@ -25,7 +26,7 @@ * C library thinks the locale is. * * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/port/pgstrcasecmp.c * @@ -72,7 +73,34 @@ pg_strcasecmp(const char *s1, const char *s2) * Case-independent comparison of two not-necessarily-null-terminated strings. * At most n bytes will be examined from each string. */ +int +pg_strncasecmp(const char *s1, const char *s2, size_t n) +{ + while (n-- > 0) + { + unsigned char ch1 = (unsigned char) *s1++; + unsigned char ch2 = (unsigned char) *s2++; + if (ch1 != ch2) + { + if (ch1 >= 'A' && ch1 <= 'Z') + ch1 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch1) && isupper(ch1)) + ch1 = tolower(ch1); + + if (ch2 >= 'A' && ch2 <= 'Z') + ch2 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch2) && isupper(ch2)) + ch2 = tolower(ch2); + + if (ch1 != ch2) + return (int) ch1 - (int) ch2; + } + if (ch1 == 0) + break; + } + return 0; +} /* * Fold a character to upper case. diff --git a/parser/src_port_snprintf.c b/parser/src_port_snprintf.c index 1764554b..4f2fbbbe 100644 --- a/parser/src_port_snprintf.c +++ b/parser/src_port_snprintf.c @@ -30,7 +30,7 @@ * Copyright (c) 1983, 1995, 1996 Eric P. Allman * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/parser/src_port_strerror.c b/parser/src_port_strerror.c index 5ce298f3..1f70d103 100644 --- a/parser/src_port_strerror.c +++ b/parser/src_port_strerror.c @@ -11,7 +11,7 @@ * strerror.c * Replacements for standard strerror() and strerror_r() functions * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -216,10 +216,8 @@ get_errno_symbol(int errnum) return "ENOTCONN"; case ENOTDIR: return "ENOTDIR"; -#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */ case ENOTEMPTY: return "ENOTEMPTY"; -#endif case ENOTSOCK: return "ENOTSOCK"; #ifdef ENOTSUP diff --git a/parser/src_port_strlcpy.c b/parser/src_port_strlcpy.c index e19a9d4d..649229fc 100644 --- a/parser/src_port_strlcpy.c +++ b/parser/src_port_strlcpy.c @@ -9,7 +9,7 @@ * strlcpy.c * strncpy done right * - * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * * IDENTIFICATION diff --git a/pg_query.go b/pg_query.go index 996ea047..cacf0fa6 100644 --- a/pg_query.go +++ b/pg_query.go @@ -6,7 +6,7 @@ package pg_query import ( "google.golang.org/protobuf/proto" - "github.com/pganalyze/pg_query_go/v5/parser" + "github.com/pganalyze/pg_query_go/v6/parser" ) func Scan(input string) (result *ScanResult, err error) { diff --git a/pg_query.pb.go b/pg_query.pb.go index 4a323dd2..d3f74f7b 100644 --- a/pg_query.pb.go +++ b/pg_query.pb.go @@ -22,58 +22,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type OverridingKind int32 - -const ( - OverridingKind_OVERRIDING_KIND_UNDEFINED OverridingKind = 0 - OverridingKind_OVERRIDING_NOT_SET OverridingKind = 1 - OverridingKind_OVERRIDING_USER_VALUE OverridingKind = 2 - OverridingKind_OVERRIDING_SYSTEM_VALUE OverridingKind = 3 -) - -// Enum value maps for OverridingKind. -var ( - OverridingKind_name = map[int32]string{ - 0: "OVERRIDING_KIND_UNDEFINED", - 1: "OVERRIDING_NOT_SET", - 2: "OVERRIDING_USER_VALUE", - 3: "OVERRIDING_SYSTEM_VALUE", - } - OverridingKind_value = map[string]int32{ - "OVERRIDING_KIND_UNDEFINED": 0, - "OVERRIDING_NOT_SET": 1, - "OVERRIDING_USER_VALUE": 2, - "OVERRIDING_SYSTEM_VALUE": 3, - } -) - -func (x OverridingKind) Enum() *OverridingKind { - p := new(OverridingKind) - *p = x - return p -} - -func (x OverridingKind) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (OverridingKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[0].Descriptor() -} - -func (OverridingKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[0] -} - -func (x OverridingKind) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OverridingKind.Descriptor instead. -func (OverridingKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{0} -} - type QuerySource int32 const ( @@ -116,11 +64,11 @@ func (x QuerySource) String() string { } func (QuerySource) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[1].Descriptor() + return file_pg_query_proto_enumTypes[0].Descriptor() } func (QuerySource) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[1] + return &file_pg_query_proto_enumTypes[0] } func (x QuerySource) Number() protoreflect.EnumNumber { @@ -129,7 +77,7 @@ func (x QuerySource) Number() protoreflect.EnumNumber { // Deprecated: Use QuerySource.Descriptor instead. func (QuerySource) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{1} + return file_pg_query_proto_rawDescGZIP(), []int{0} } type SortByDir int32 @@ -171,11 +119,11 @@ func (x SortByDir) String() string { } func (SortByDir) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[2].Descriptor() + return file_pg_query_proto_enumTypes[1].Descriptor() } func (SortByDir) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[2] + return &file_pg_query_proto_enumTypes[1] } func (x SortByDir) Number() protoreflect.EnumNumber { @@ -184,7 +132,7 @@ func (x SortByDir) Number() protoreflect.EnumNumber { // Deprecated: Use SortByDir.Descriptor instead. func (SortByDir) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{2} + return file_pg_query_proto_rawDescGZIP(), []int{1} } type SortByNulls int32 @@ -223,11 +171,11 @@ func (x SortByNulls) String() string { } func (SortByNulls) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[3].Descriptor() + return file_pg_query_proto_enumTypes[2].Descriptor() } func (SortByNulls) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[3] + return &file_pg_query_proto_enumTypes[2] } func (x SortByNulls) Number() protoreflect.EnumNumber { @@ -236,7 +184,7 @@ func (x SortByNulls) Number() protoreflect.EnumNumber { // Deprecated: Use SortByNulls.Descriptor instead. func (SortByNulls) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{3} + return file_pg_query_proto_rawDescGZIP(), []int{2} } type SetQuantifier int32 @@ -275,11 +223,11 @@ func (x SetQuantifier) String() string { } func (SetQuantifier) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[4].Descriptor() + return file_pg_query_proto_enumTypes[3].Descriptor() } func (SetQuantifier) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[4] + return &file_pg_query_proto_enumTypes[3] } func (x SetQuantifier) Number() protoreflect.EnumNumber { @@ -288,7 +236,7 @@ func (x SetQuantifier) Number() protoreflect.EnumNumber { // Deprecated: Use SetQuantifier.Descriptor instead. func (SetQuantifier) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{4} + return file_pg_query_proto_rawDescGZIP(), []int{3} } type A_Expr_Kind int32 @@ -360,11 +308,11 @@ func (x A_Expr_Kind) String() string { } func (A_Expr_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[5].Descriptor() + return file_pg_query_proto_enumTypes[4].Descriptor() } func (A_Expr_Kind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[5] + return &file_pg_query_proto_enumTypes[4] } func (x A_Expr_Kind) Number() protoreflect.EnumNumber { @@ -373,7 +321,7 @@ func (x A_Expr_Kind) Number() protoreflect.EnumNumber { // Deprecated: Use A_Expr_Kind.Descriptor instead. func (A_Expr_Kind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{5} + return file_pg_query_proto_rawDescGZIP(), []int{4} } type RoleSpecType int32 @@ -418,11 +366,11 @@ func (x RoleSpecType) String() string { } func (RoleSpecType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[6].Descriptor() + return file_pg_query_proto_enumTypes[5].Descriptor() } func (RoleSpecType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[6] + return &file_pg_query_proto_enumTypes[5] } func (x RoleSpecType) Number() protoreflect.EnumNumber { @@ -431,7 +379,7 @@ func (x RoleSpecType) Number() protoreflect.EnumNumber { // Deprecated: Use RoleSpecType.Descriptor instead. func (RoleSpecType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{6} + return file_pg_query_proto_rawDescGZIP(), []int{5} } type TableLikeOption int32 @@ -491,11 +439,11 @@ func (x TableLikeOption) String() string { } func (TableLikeOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[7].Descriptor() + return file_pg_query_proto_enumTypes[6].Descriptor() } func (TableLikeOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[7] + return &file_pg_query_proto_enumTypes[6] } func (x TableLikeOption) Number() protoreflect.EnumNumber { @@ -504,7 +452,7 @@ func (x TableLikeOption) Number() protoreflect.EnumNumber { // Deprecated: Use TableLikeOption.Descriptor instead. func (TableLikeOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{7} + return file_pg_query_proto_rawDescGZIP(), []int{6} } type DefElemAction int32 @@ -546,11 +494,11 @@ func (x DefElemAction) String() string { } func (DefElemAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[8].Descriptor() + return file_pg_query_proto_enumTypes[7].Descriptor() } func (DefElemAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[8] + return &file_pg_query_proto_enumTypes[7] } func (x DefElemAction) Number() protoreflect.EnumNumber { @@ -559,7 +507,7 @@ func (x DefElemAction) Number() protoreflect.EnumNumber { // Deprecated: Use DefElemAction.Descriptor instead. func (DefElemAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{8} + return file_pg_query_proto_rawDescGZIP(), []int{7} } type PartitionStrategy int32 @@ -598,11 +546,11 @@ func (x PartitionStrategy) String() string { } func (PartitionStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[9].Descriptor() + return file_pg_query_proto_enumTypes[8].Descriptor() } func (PartitionStrategy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[9] + return &file_pg_query_proto_enumTypes[8] } func (x PartitionStrategy) Number() protoreflect.EnumNumber { @@ -611,7 +559,7 @@ func (x PartitionStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use PartitionStrategy.Descriptor instead. func (PartitionStrategy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{9} + return file_pg_query_proto_rawDescGZIP(), []int{8} } type PartitionRangeDatumKind int32 @@ -650,11 +598,11 @@ func (x PartitionRangeDatumKind) String() string { } func (PartitionRangeDatumKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[10].Descriptor() + return file_pg_query_proto_enumTypes[9].Descriptor() } func (PartitionRangeDatumKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[10] + return &file_pg_query_proto_enumTypes[9] } func (x PartitionRangeDatumKind) Number() protoreflect.EnumNumber { @@ -663,7 +611,7 @@ func (x PartitionRangeDatumKind) Number() protoreflect.EnumNumber { // Deprecated: Use PartitionRangeDatumKind.Descriptor instead. func (PartitionRangeDatumKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{10} + return file_pg_query_proto_rawDescGZIP(), []int{9} } type RTEKind int32 @@ -720,11 +668,11 @@ func (x RTEKind) String() string { } func (RTEKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[11].Descriptor() + return file_pg_query_proto_enumTypes[10].Descriptor() } func (RTEKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[11] + return &file_pg_query_proto_enumTypes[10] } func (x RTEKind) Number() protoreflect.EnumNumber { @@ -733,7 +681,7 @@ func (x RTEKind) Number() protoreflect.EnumNumber { // Deprecated: Use RTEKind.Descriptor instead. func (RTEKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{11} + return file_pg_query_proto_rawDescGZIP(), []int{10} } type WCOKind int32 @@ -781,11 +729,11 @@ func (x WCOKind) String() string { } func (WCOKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[12].Descriptor() + return file_pg_query_proto_enumTypes[11].Descriptor() } func (WCOKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[12] + return &file_pg_query_proto_enumTypes[11] } func (x WCOKind) Number() protoreflect.EnumNumber { @@ -794,7 +742,7 @@ func (x WCOKind) Number() protoreflect.EnumNumber { // Deprecated: Use WCOKind.Descriptor instead. func (WCOKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{12} + return file_pg_query_proto_rawDescGZIP(), []int{11} } type GroupingSetKind int32 @@ -839,11 +787,11 @@ func (x GroupingSetKind) String() string { } func (GroupingSetKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[13].Descriptor() + return file_pg_query_proto_enumTypes[12].Descriptor() } func (GroupingSetKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[13] + return &file_pg_query_proto_enumTypes[12] } func (x GroupingSetKind) Number() protoreflect.EnumNumber { @@ -852,7 +800,7 @@ func (x GroupingSetKind) Number() protoreflect.EnumNumber { // Deprecated: Use GroupingSetKind.Descriptor instead. func (GroupingSetKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{13} + return file_pg_query_proto_rawDescGZIP(), []int{12} } type CTEMaterialize int32 @@ -891,11 +839,11 @@ func (x CTEMaterialize) String() string { } func (CTEMaterialize) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[14].Descriptor() + return file_pg_query_proto_enumTypes[13].Descriptor() } func (CTEMaterialize) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[14] + return &file_pg_query_proto_enumTypes[13] } func (x CTEMaterialize) Number() protoreflect.EnumNumber { @@ -904,9 +852,119 @@ func (x CTEMaterialize) Number() protoreflect.EnumNumber { // Deprecated: Use CTEMaterialize.Descriptor instead. func (CTEMaterialize) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{13} +} + +type JsonQuotes int32 + +const ( + JsonQuotes_JSON_QUOTES_UNDEFINED JsonQuotes = 0 + JsonQuotes_JS_QUOTES_UNSPEC JsonQuotes = 1 + JsonQuotes_JS_QUOTES_KEEP JsonQuotes = 2 + JsonQuotes_JS_QUOTES_OMIT JsonQuotes = 3 +) + +// Enum value maps for JsonQuotes. +var ( + JsonQuotes_name = map[int32]string{ + 0: "JSON_QUOTES_UNDEFINED", + 1: "JS_QUOTES_UNSPEC", + 2: "JS_QUOTES_KEEP", + 3: "JS_QUOTES_OMIT", + } + JsonQuotes_value = map[string]int32{ + "JSON_QUOTES_UNDEFINED": 0, + "JS_QUOTES_UNSPEC": 1, + "JS_QUOTES_KEEP": 2, + "JS_QUOTES_OMIT": 3, + } +) + +func (x JsonQuotes) Enum() *JsonQuotes { + p := new(JsonQuotes) + *p = x + return p +} + +func (x JsonQuotes) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonQuotes) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[14].Descriptor() +} + +func (JsonQuotes) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[14] +} + +func (x JsonQuotes) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonQuotes.Descriptor instead. +func (JsonQuotes) EnumDescriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{14} } +type JsonTableColumnType int32 + +const ( + JsonTableColumnType_JSON_TABLE_COLUMN_TYPE_UNDEFINED JsonTableColumnType = 0 + JsonTableColumnType_JTC_FOR_ORDINALITY JsonTableColumnType = 1 + JsonTableColumnType_JTC_REGULAR JsonTableColumnType = 2 + JsonTableColumnType_JTC_EXISTS JsonTableColumnType = 3 + JsonTableColumnType_JTC_FORMATTED JsonTableColumnType = 4 + JsonTableColumnType_JTC_NESTED JsonTableColumnType = 5 +) + +// Enum value maps for JsonTableColumnType. +var ( + JsonTableColumnType_name = map[int32]string{ + 0: "JSON_TABLE_COLUMN_TYPE_UNDEFINED", + 1: "JTC_FOR_ORDINALITY", + 2: "JTC_REGULAR", + 3: "JTC_EXISTS", + 4: "JTC_FORMATTED", + 5: "JTC_NESTED", + } + JsonTableColumnType_value = map[string]int32{ + "JSON_TABLE_COLUMN_TYPE_UNDEFINED": 0, + "JTC_FOR_ORDINALITY": 1, + "JTC_REGULAR": 2, + "JTC_EXISTS": 3, + "JTC_FORMATTED": 4, + "JTC_NESTED": 5, + } +) + +func (x JsonTableColumnType) Enum() *JsonTableColumnType { + p := new(JsonTableColumnType) + *p = x + return p +} + +func (x JsonTableColumnType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonTableColumnType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[15].Descriptor() +} + +func (JsonTableColumnType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[15] +} + +func (x JsonTableColumnType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonTableColumnType.Descriptor instead. +func (JsonTableColumnType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{15} +} + type SetOperation int32 const ( @@ -946,11 +1004,11 @@ func (x SetOperation) String() string { } func (SetOperation) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[15].Descriptor() + return file_pg_query_proto_enumTypes[16].Descriptor() } func (SetOperation) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[15] + return &file_pg_query_proto_enumTypes[16] } func (x SetOperation) Number() protoreflect.EnumNumber { @@ -959,7 +1017,7 @@ func (x SetOperation) Number() protoreflect.EnumNumber { // Deprecated: Use SetOperation.Descriptor instead. func (SetOperation) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{15} + return file_pg_query_proto_rawDescGZIP(), []int{16} } type ObjectType int32 @@ -1145,11 +1203,11 @@ func (x ObjectType) String() string { } func (ObjectType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[16].Descriptor() + return file_pg_query_proto_enumTypes[17].Descriptor() } func (ObjectType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[16] + return &file_pg_query_proto_enumTypes[17] } func (x ObjectType) Number() protoreflect.EnumNumber { @@ -1158,7 +1216,7 @@ func (x ObjectType) Number() protoreflect.EnumNumber { // Deprecated: Use ObjectType.Descriptor instead. func (ObjectType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{16} + return file_pg_query_proto_rawDescGZIP(), []int{17} } type DropBehavior int32 @@ -1194,11 +1252,11 @@ func (x DropBehavior) String() string { } func (DropBehavior) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[17].Descriptor() + return file_pg_query_proto_enumTypes[18].Descriptor() } func (DropBehavior) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[17] + return &file_pg_query_proto_enumTypes[18] } func (x DropBehavior) Number() protoreflect.EnumNumber { @@ -1207,7 +1265,7 @@ func (x DropBehavior) Number() protoreflect.EnumNumber { // Deprecated: Use DropBehavior.Descriptor instead. func (DropBehavior) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{17} + return file_pg_query_proto_rawDescGZIP(), []int{18} } type AlterTableType int32 @@ -1220,66 +1278,67 @@ const ( AlterTableType_AT_CookedColumnDefault AlterTableType = 4 AlterTableType_AT_DropNotNull AlterTableType = 5 AlterTableType_AT_SetNotNull AlterTableType = 6 - AlterTableType_AT_DropExpression AlterTableType = 7 - AlterTableType_AT_CheckNotNull AlterTableType = 8 - AlterTableType_AT_SetStatistics AlterTableType = 9 - AlterTableType_AT_SetOptions AlterTableType = 10 - AlterTableType_AT_ResetOptions AlterTableType = 11 - AlterTableType_AT_SetStorage AlterTableType = 12 - AlterTableType_AT_SetCompression AlterTableType = 13 - AlterTableType_AT_DropColumn AlterTableType = 14 - AlterTableType_AT_AddIndex AlterTableType = 15 - AlterTableType_AT_ReAddIndex AlterTableType = 16 - AlterTableType_AT_AddConstraint AlterTableType = 17 - AlterTableType_AT_ReAddConstraint AlterTableType = 18 - AlterTableType_AT_ReAddDomainConstraint AlterTableType = 19 - AlterTableType_AT_AlterConstraint AlterTableType = 20 - AlterTableType_AT_ValidateConstraint AlterTableType = 21 - AlterTableType_AT_AddIndexConstraint AlterTableType = 22 - AlterTableType_AT_DropConstraint AlterTableType = 23 - AlterTableType_AT_ReAddComment AlterTableType = 24 - AlterTableType_AT_AlterColumnType AlterTableType = 25 - AlterTableType_AT_AlterColumnGenericOptions AlterTableType = 26 - AlterTableType_AT_ChangeOwner AlterTableType = 27 - AlterTableType_AT_ClusterOn AlterTableType = 28 - AlterTableType_AT_DropCluster AlterTableType = 29 - AlterTableType_AT_SetLogged AlterTableType = 30 - AlterTableType_AT_SetUnLogged AlterTableType = 31 - AlterTableType_AT_DropOids AlterTableType = 32 - AlterTableType_AT_SetAccessMethod AlterTableType = 33 - AlterTableType_AT_SetTableSpace AlterTableType = 34 - AlterTableType_AT_SetRelOptions AlterTableType = 35 - AlterTableType_AT_ResetRelOptions AlterTableType = 36 - AlterTableType_AT_ReplaceRelOptions AlterTableType = 37 - AlterTableType_AT_EnableTrig AlterTableType = 38 - AlterTableType_AT_EnableAlwaysTrig AlterTableType = 39 - AlterTableType_AT_EnableReplicaTrig AlterTableType = 40 - AlterTableType_AT_DisableTrig AlterTableType = 41 - AlterTableType_AT_EnableTrigAll AlterTableType = 42 - AlterTableType_AT_DisableTrigAll AlterTableType = 43 - AlterTableType_AT_EnableTrigUser AlterTableType = 44 - AlterTableType_AT_DisableTrigUser AlterTableType = 45 - AlterTableType_AT_EnableRule AlterTableType = 46 - AlterTableType_AT_EnableAlwaysRule AlterTableType = 47 - AlterTableType_AT_EnableReplicaRule AlterTableType = 48 - AlterTableType_AT_DisableRule AlterTableType = 49 - AlterTableType_AT_AddInherit AlterTableType = 50 - AlterTableType_AT_DropInherit AlterTableType = 51 - AlterTableType_AT_AddOf AlterTableType = 52 - AlterTableType_AT_DropOf AlterTableType = 53 - AlterTableType_AT_ReplicaIdentity AlterTableType = 54 - AlterTableType_AT_EnableRowSecurity AlterTableType = 55 - AlterTableType_AT_DisableRowSecurity AlterTableType = 56 - AlterTableType_AT_ForceRowSecurity AlterTableType = 57 - AlterTableType_AT_NoForceRowSecurity AlterTableType = 58 - AlterTableType_AT_GenericOptions AlterTableType = 59 - AlterTableType_AT_AttachPartition AlterTableType = 60 - AlterTableType_AT_DetachPartition AlterTableType = 61 - AlterTableType_AT_DetachPartitionFinalize AlterTableType = 62 - AlterTableType_AT_AddIdentity AlterTableType = 63 - AlterTableType_AT_SetIdentity AlterTableType = 64 - AlterTableType_AT_DropIdentity AlterTableType = 65 - AlterTableType_AT_ReAddStatistics AlterTableType = 66 + AlterTableType_AT_SetExpression AlterTableType = 7 + AlterTableType_AT_DropExpression AlterTableType = 8 + AlterTableType_AT_CheckNotNull AlterTableType = 9 + AlterTableType_AT_SetStatistics AlterTableType = 10 + AlterTableType_AT_SetOptions AlterTableType = 11 + AlterTableType_AT_ResetOptions AlterTableType = 12 + AlterTableType_AT_SetStorage AlterTableType = 13 + AlterTableType_AT_SetCompression AlterTableType = 14 + AlterTableType_AT_DropColumn AlterTableType = 15 + AlterTableType_AT_AddIndex AlterTableType = 16 + AlterTableType_AT_ReAddIndex AlterTableType = 17 + AlterTableType_AT_AddConstraint AlterTableType = 18 + AlterTableType_AT_ReAddConstraint AlterTableType = 19 + AlterTableType_AT_ReAddDomainConstraint AlterTableType = 20 + AlterTableType_AT_AlterConstraint AlterTableType = 21 + AlterTableType_AT_ValidateConstraint AlterTableType = 22 + AlterTableType_AT_AddIndexConstraint AlterTableType = 23 + AlterTableType_AT_DropConstraint AlterTableType = 24 + AlterTableType_AT_ReAddComment AlterTableType = 25 + AlterTableType_AT_AlterColumnType AlterTableType = 26 + AlterTableType_AT_AlterColumnGenericOptions AlterTableType = 27 + AlterTableType_AT_ChangeOwner AlterTableType = 28 + AlterTableType_AT_ClusterOn AlterTableType = 29 + AlterTableType_AT_DropCluster AlterTableType = 30 + AlterTableType_AT_SetLogged AlterTableType = 31 + AlterTableType_AT_SetUnLogged AlterTableType = 32 + AlterTableType_AT_DropOids AlterTableType = 33 + AlterTableType_AT_SetAccessMethod AlterTableType = 34 + AlterTableType_AT_SetTableSpace AlterTableType = 35 + AlterTableType_AT_SetRelOptions AlterTableType = 36 + AlterTableType_AT_ResetRelOptions AlterTableType = 37 + AlterTableType_AT_ReplaceRelOptions AlterTableType = 38 + AlterTableType_AT_EnableTrig AlterTableType = 39 + AlterTableType_AT_EnableAlwaysTrig AlterTableType = 40 + AlterTableType_AT_EnableReplicaTrig AlterTableType = 41 + AlterTableType_AT_DisableTrig AlterTableType = 42 + AlterTableType_AT_EnableTrigAll AlterTableType = 43 + AlterTableType_AT_DisableTrigAll AlterTableType = 44 + AlterTableType_AT_EnableTrigUser AlterTableType = 45 + AlterTableType_AT_DisableTrigUser AlterTableType = 46 + AlterTableType_AT_EnableRule AlterTableType = 47 + AlterTableType_AT_EnableAlwaysRule AlterTableType = 48 + AlterTableType_AT_EnableReplicaRule AlterTableType = 49 + AlterTableType_AT_DisableRule AlterTableType = 50 + AlterTableType_AT_AddInherit AlterTableType = 51 + AlterTableType_AT_DropInherit AlterTableType = 52 + AlterTableType_AT_AddOf AlterTableType = 53 + AlterTableType_AT_DropOf AlterTableType = 54 + AlterTableType_AT_ReplicaIdentity AlterTableType = 55 + AlterTableType_AT_EnableRowSecurity AlterTableType = 56 + AlterTableType_AT_DisableRowSecurity AlterTableType = 57 + AlterTableType_AT_ForceRowSecurity AlterTableType = 58 + AlterTableType_AT_NoForceRowSecurity AlterTableType = 59 + AlterTableType_AT_GenericOptions AlterTableType = 60 + AlterTableType_AT_AttachPartition AlterTableType = 61 + AlterTableType_AT_DetachPartition AlterTableType = 62 + AlterTableType_AT_DetachPartitionFinalize AlterTableType = 63 + AlterTableType_AT_AddIdentity AlterTableType = 64 + AlterTableType_AT_SetIdentity AlterTableType = 65 + AlterTableType_AT_DropIdentity AlterTableType = 66 + AlterTableType_AT_ReAddStatistics AlterTableType = 67 ) // Enum value maps for AlterTableType. @@ -1292,66 +1351,67 @@ var ( 4: "AT_CookedColumnDefault", 5: "AT_DropNotNull", 6: "AT_SetNotNull", - 7: "AT_DropExpression", - 8: "AT_CheckNotNull", - 9: "AT_SetStatistics", - 10: "AT_SetOptions", - 11: "AT_ResetOptions", - 12: "AT_SetStorage", - 13: "AT_SetCompression", - 14: "AT_DropColumn", - 15: "AT_AddIndex", - 16: "AT_ReAddIndex", - 17: "AT_AddConstraint", - 18: "AT_ReAddConstraint", - 19: "AT_ReAddDomainConstraint", - 20: "AT_AlterConstraint", - 21: "AT_ValidateConstraint", - 22: "AT_AddIndexConstraint", - 23: "AT_DropConstraint", - 24: "AT_ReAddComment", - 25: "AT_AlterColumnType", - 26: "AT_AlterColumnGenericOptions", - 27: "AT_ChangeOwner", - 28: "AT_ClusterOn", - 29: "AT_DropCluster", - 30: "AT_SetLogged", - 31: "AT_SetUnLogged", - 32: "AT_DropOids", - 33: "AT_SetAccessMethod", - 34: "AT_SetTableSpace", - 35: "AT_SetRelOptions", - 36: "AT_ResetRelOptions", - 37: "AT_ReplaceRelOptions", - 38: "AT_EnableTrig", - 39: "AT_EnableAlwaysTrig", - 40: "AT_EnableReplicaTrig", - 41: "AT_DisableTrig", - 42: "AT_EnableTrigAll", - 43: "AT_DisableTrigAll", - 44: "AT_EnableTrigUser", - 45: "AT_DisableTrigUser", - 46: "AT_EnableRule", - 47: "AT_EnableAlwaysRule", - 48: "AT_EnableReplicaRule", - 49: "AT_DisableRule", - 50: "AT_AddInherit", - 51: "AT_DropInherit", - 52: "AT_AddOf", - 53: "AT_DropOf", - 54: "AT_ReplicaIdentity", - 55: "AT_EnableRowSecurity", - 56: "AT_DisableRowSecurity", - 57: "AT_ForceRowSecurity", - 58: "AT_NoForceRowSecurity", - 59: "AT_GenericOptions", - 60: "AT_AttachPartition", - 61: "AT_DetachPartition", - 62: "AT_DetachPartitionFinalize", - 63: "AT_AddIdentity", - 64: "AT_SetIdentity", - 65: "AT_DropIdentity", - 66: "AT_ReAddStatistics", + 7: "AT_SetExpression", + 8: "AT_DropExpression", + 9: "AT_CheckNotNull", + 10: "AT_SetStatistics", + 11: "AT_SetOptions", + 12: "AT_ResetOptions", + 13: "AT_SetStorage", + 14: "AT_SetCompression", + 15: "AT_DropColumn", + 16: "AT_AddIndex", + 17: "AT_ReAddIndex", + 18: "AT_AddConstraint", + 19: "AT_ReAddConstraint", + 20: "AT_ReAddDomainConstraint", + 21: "AT_AlterConstraint", + 22: "AT_ValidateConstraint", + 23: "AT_AddIndexConstraint", + 24: "AT_DropConstraint", + 25: "AT_ReAddComment", + 26: "AT_AlterColumnType", + 27: "AT_AlterColumnGenericOptions", + 28: "AT_ChangeOwner", + 29: "AT_ClusterOn", + 30: "AT_DropCluster", + 31: "AT_SetLogged", + 32: "AT_SetUnLogged", + 33: "AT_DropOids", + 34: "AT_SetAccessMethod", + 35: "AT_SetTableSpace", + 36: "AT_SetRelOptions", + 37: "AT_ResetRelOptions", + 38: "AT_ReplaceRelOptions", + 39: "AT_EnableTrig", + 40: "AT_EnableAlwaysTrig", + 41: "AT_EnableReplicaTrig", + 42: "AT_DisableTrig", + 43: "AT_EnableTrigAll", + 44: "AT_DisableTrigAll", + 45: "AT_EnableTrigUser", + 46: "AT_DisableTrigUser", + 47: "AT_EnableRule", + 48: "AT_EnableAlwaysRule", + 49: "AT_EnableReplicaRule", + 50: "AT_DisableRule", + 51: "AT_AddInherit", + 52: "AT_DropInherit", + 53: "AT_AddOf", + 54: "AT_DropOf", + 55: "AT_ReplicaIdentity", + 56: "AT_EnableRowSecurity", + 57: "AT_DisableRowSecurity", + 58: "AT_ForceRowSecurity", + 59: "AT_NoForceRowSecurity", + 60: "AT_GenericOptions", + 61: "AT_AttachPartition", + 62: "AT_DetachPartition", + 63: "AT_DetachPartitionFinalize", + 64: "AT_AddIdentity", + 65: "AT_SetIdentity", + 66: "AT_DropIdentity", + 67: "AT_ReAddStatistics", } AlterTableType_value = map[string]int32{ "ALTER_TABLE_TYPE_UNDEFINED": 0, @@ -1361,66 +1421,67 @@ var ( "AT_CookedColumnDefault": 4, "AT_DropNotNull": 5, "AT_SetNotNull": 6, - "AT_DropExpression": 7, - "AT_CheckNotNull": 8, - "AT_SetStatistics": 9, - "AT_SetOptions": 10, - "AT_ResetOptions": 11, - "AT_SetStorage": 12, - "AT_SetCompression": 13, - "AT_DropColumn": 14, - "AT_AddIndex": 15, - "AT_ReAddIndex": 16, - "AT_AddConstraint": 17, - "AT_ReAddConstraint": 18, - "AT_ReAddDomainConstraint": 19, - "AT_AlterConstraint": 20, - "AT_ValidateConstraint": 21, - "AT_AddIndexConstraint": 22, - "AT_DropConstraint": 23, - "AT_ReAddComment": 24, - "AT_AlterColumnType": 25, - "AT_AlterColumnGenericOptions": 26, - "AT_ChangeOwner": 27, - "AT_ClusterOn": 28, - "AT_DropCluster": 29, - "AT_SetLogged": 30, - "AT_SetUnLogged": 31, - "AT_DropOids": 32, - "AT_SetAccessMethod": 33, - "AT_SetTableSpace": 34, - "AT_SetRelOptions": 35, - "AT_ResetRelOptions": 36, - "AT_ReplaceRelOptions": 37, - "AT_EnableTrig": 38, - "AT_EnableAlwaysTrig": 39, - "AT_EnableReplicaTrig": 40, - "AT_DisableTrig": 41, - "AT_EnableTrigAll": 42, - "AT_DisableTrigAll": 43, - "AT_EnableTrigUser": 44, - "AT_DisableTrigUser": 45, - "AT_EnableRule": 46, - "AT_EnableAlwaysRule": 47, - "AT_EnableReplicaRule": 48, - "AT_DisableRule": 49, - "AT_AddInherit": 50, - "AT_DropInherit": 51, - "AT_AddOf": 52, - "AT_DropOf": 53, - "AT_ReplicaIdentity": 54, - "AT_EnableRowSecurity": 55, - "AT_DisableRowSecurity": 56, - "AT_ForceRowSecurity": 57, - "AT_NoForceRowSecurity": 58, - "AT_GenericOptions": 59, - "AT_AttachPartition": 60, - "AT_DetachPartition": 61, - "AT_DetachPartitionFinalize": 62, - "AT_AddIdentity": 63, - "AT_SetIdentity": 64, - "AT_DropIdentity": 65, - "AT_ReAddStatistics": 66, + "AT_SetExpression": 7, + "AT_DropExpression": 8, + "AT_CheckNotNull": 9, + "AT_SetStatistics": 10, + "AT_SetOptions": 11, + "AT_ResetOptions": 12, + "AT_SetStorage": 13, + "AT_SetCompression": 14, + "AT_DropColumn": 15, + "AT_AddIndex": 16, + "AT_ReAddIndex": 17, + "AT_AddConstraint": 18, + "AT_ReAddConstraint": 19, + "AT_ReAddDomainConstraint": 20, + "AT_AlterConstraint": 21, + "AT_ValidateConstraint": 22, + "AT_AddIndexConstraint": 23, + "AT_DropConstraint": 24, + "AT_ReAddComment": 25, + "AT_AlterColumnType": 26, + "AT_AlterColumnGenericOptions": 27, + "AT_ChangeOwner": 28, + "AT_ClusterOn": 29, + "AT_DropCluster": 30, + "AT_SetLogged": 31, + "AT_SetUnLogged": 32, + "AT_DropOids": 33, + "AT_SetAccessMethod": 34, + "AT_SetTableSpace": 35, + "AT_SetRelOptions": 36, + "AT_ResetRelOptions": 37, + "AT_ReplaceRelOptions": 38, + "AT_EnableTrig": 39, + "AT_EnableAlwaysTrig": 40, + "AT_EnableReplicaTrig": 41, + "AT_DisableTrig": 42, + "AT_EnableTrigAll": 43, + "AT_DisableTrigAll": 44, + "AT_EnableTrigUser": 45, + "AT_DisableTrigUser": 46, + "AT_EnableRule": 47, + "AT_EnableAlwaysRule": 48, + "AT_EnableReplicaRule": 49, + "AT_DisableRule": 50, + "AT_AddInherit": 51, + "AT_DropInherit": 52, + "AT_AddOf": 53, + "AT_DropOf": 54, + "AT_ReplicaIdentity": 55, + "AT_EnableRowSecurity": 56, + "AT_DisableRowSecurity": 57, + "AT_ForceRowSecurity": 58, + "AT_NoForceRowSecurity": 59, + "AT_GenericOptions": 60, + "AT_AttachPartition": 61, + "AT_DetachPartition": 62, + "AT_DetachPartitionFinalize": 63, + "AT_AddIdentity": 64, + "AT_SetIdentity": 65, + "AT_DropIdentity": 66, + "AT_ReAddStatistics": 67, } ) @@ -1435,11 +1496,11 @@ func (x AlterTableType) String() string { } func (AlterTableType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[18].Descriptor() + return file_pg_query_proto_enumTypes[19].Descriptor() } func (AlterTableType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[18] + return &file_pg_query_proto_enumTypes[19] } func (x AlterTableType) Number() protoreflect.EnumNumber { @@ -1448,7 +1509,7 @@ func (x AlterTableType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterTableType.Descriptor instead. func (AlterTableType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{18} + return file_pg_query_proto_rawDescGZIP(), []int{19} } type GrantTargetType int32 @@ -1487,11 +1548,11 @@ func (x GrantTargetType) String() string { } func (GrantTargetType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[19].Descriptor() + return file_pg_query_proto_enumTypes[20].Descriptor() } func (GrantTargetType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[19] + return &file_pg_query_proto_enumTypes[20] } func (x GrantTargetType) Number() protoreflect.EnumNumber { @@ -1500,7 +1561,7 @@ func (x GrantTargetType) Number() protoreflect.EnumNumber { // Deprecated: Use GrantTargetType.Descriptor instead. func (GrantTargetType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{19} + return file_pg_query_proto_rawDescGZIP(), []int{20} } type VariableSetKind int32 @@ -1548,11 +1609,11 @@ func (x VariableSetKind) String() string { } func (VariableSetKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[20].Descriptor() + return file_pg_query_proto_enumTypes[21].Descriptor() } func (VariableSetKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[20] + return &file_pg_query_proto_enumTypes[21] } func (x VariableSetKind) Number() protoreflect.EnumNumber { @@ -1561,7 +1622,7 @@ func (x VariableSetKind) Number() protoreflect.EnumNumber { // Deprecated: Use VariableSetKind.Descriptor instead. func (VariableSetKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{20} + return file_pg_query_proto_rawDescGZIP(), []int{21} } type ConstrType int32 @@ -1633,11 +1694,11 @@ func (x ConstrType) String() string { } func (ConstrType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[21].Descriptor() + return file_pg_query_proto_enumTypes[22].Descriptor() } func (ConstrType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[21] + return &file_pg_query_proto_enumTypes[22] } func (x ConstrType) Number() protoreflect.EnumNumber { @@ -1646,7 +1707,7 @@ func (x ConstrType) Number() protoreflect.EnumNumber { // Deprecated: Use ConstrType.Descriptor instead. func (ConstrType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{21} + return file_pg_query_proto_rawDescGZIP(), []int{22} } type ImportForeignSchemaType int32 @@ -1685,11 +1746,11 @@ func (x ImportForeignSchemaType) String() string { } func (ImportForeignSchemaType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[22].Descriptor() + return file_pg_query_proto_enumTypes[23].Descriptor() } func (ImportForeignSchemaType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[22] + return &file_pg_query_proto_enumTypes[23] } func (x ImportForeignSchemaType) Number() protoreflect.EnumNumber { @@ -1698,7 +1759,7 @@ func (x ImportForeignSchemaType) Number() protoreflect.EnumNumber { // Deprecated: Use ImportForeignSchemaType.Descriptor instead. func (ImportForeignSchemaType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{22} + return file_pg_query_proto_rawDescGZIP(), []int{23} } type RoleStmtType int32 @@ -1737,11 +1798,11 @@ func (x RoleStmtType) String() string { } func (RoleStmtType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[23].Descriptor() + return file_pg_query_proto_enumTypes[24].Descriptor() } func (RoleStmtType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[23] + return &file_pg_query_proto_enumTypes[24] } func (x RoleStmtType) Number() protoreflect.EnumNumber { @@ -1750,7 +1811,7 @@ func (x RoleStmtType) Number() protoreflect.EnumNumber { // Deprecated: Use RoleStmtType.Descriptor instead. func (RoleStmtType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{23} + return file_pg_query_proto_rawDescGZIP(), []int{24} } type FetchDirection int32 @@ -1792,11 +1853,11 @@ func (x FetchDirection) String() string { } func (FetchDirection) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[24].Descriptor() + return file_pg_query_proto_enumTypes[25].Descriptor() } func (FetchDirection) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[24] + return &file_pg_query_proto_enumTypes[25] } func (x FetchDirection) Number() protoreflect.EnumNumber { @@ -1805,7 +1866,7 @@ func (x FetchDirection) Number() protoreflect.EnumNumber { // Deprecated: Use FetchDirection.Descriptor instead. func (FetchDirection) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{24} + return file_pg_query_proto_rawDescGZIP(), []int{25} } type FunctionParameterMode int32 @@ -1853,11 +1914,11 @@ func (x FunctionParameterMode) String() string { } func (FunctionParameterMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[25].Descriptor() + return file_pg_query_proto_enumTypes[26].Descriptor() } func (FunctionParameterMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[25] + return &file_pg_query_proto_enumTypes[26] } func (x FunctionParameterMode) Number() protoreflect.EnumNumber { @@ -1866,7 +1927,7 @@ func (x FunctionParameterMode) Number() protoreflect.EnumNumber { // Deprecated: Use FunctionParameterMode.Descriptor instead. func (FunctionParameterMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{25} + return file_pg_query_proto_rawDescGZIP(), []int{26} } type TransactionStmtKind int32 @@ -1926,11 +1987,11 @@ func (x TransactionStmtKind) String() string { } func (TransactionStmtKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[26].Descriptor() + return file_pg_query_proto_enumTypes[27].Descriptor() } func (TransactionStmtKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[26] + return &file_pg_query_proto_enumTypes[27] } func (x TransactionStmtKind) Number() protoreflect.EnumNumber { @@ -1939,7 +2000,7 @@ func (x TransactionStmtKind) Number() protoreflect.EnumNumber { // Deprecated: Use TransactionStmtKind.Descriptor instead. func (TransactionStmtKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{26} + return file_pg_query_proto_rawDescGZIP(), []int{27} } type ViewCheckOption int32 @@ -1978,11 +2039,11 @@ func (x ViewCheckOption) String() string { } func (ViewCheckOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[27].Descriptor() + return file_pg_query_proto_enumTypes[28].Descriptor() } func (ViewCheckOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[27] + return &file_pg_query_proto_enumTypes[28] } func (x ViewCheckOption) Number() protoreflect.EnumNumber { @@ -1991,7 +2052,7 @@ func (x ViewCheckOption) Number() protoreflect.EnumNumber { // Deprecated: Use ViewCheckOption.Descriptor instead. func (ViewCheckOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{27} + return file_pg_query_proto_rawDescGZIP(), []int{28} } type DiscardMode int32 @@ -2033,11 +2094,11 @@ func (x DiscardMode) String() string { } func (DiscardMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[28].Descriptor() + return file_pg_query_proto_enumTypes[29].Descriptor() } func (DiscardMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[28] + return &file_pg_query_proto_enumTypes[29] } func (x DiscardMode) Number() protoreflect.EnumNumber { @@ -2046,7 +2107,7 @@ func (x DiscardMode) Number() protoreflect.EnumNumber { // Deprecated: Use DiscardMode.Descriptor instead. func (DiscardMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{28} + return file_pg_query_proto_rawDescGZIP(), []int{29} } type ReindexObjectType int32 @@ -2091,11 +2152,11 @@ func (x ReindexObjectType) String() string { } func (ReindexObjectType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[29].Descriptor() + return file_pg_query_proto_enumTypes[30].Descriptor() } func (ReindexObjectType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[29] + return &file_pg_query_proto_enumTypes[30] } func (x ReindexObjectType) Number() protoreflect.EnumNumber { @@ -2104,7 +2165,7 @@ func (x ReindexObjectType) Number() protoreflect.EnumNumber { // Deprecated: Use ReindexObjectType.Descriptor instead. func (ReindexObjectType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{29} + return file_pg_query_proto_rawDescGZIP(), []int{30} } type AlterTSConfigType int32 @@ -2149,11 +2210,11 @@ func (x AlterTSConfigType) String() string { } func (AlterTSConfigType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[30].Descriptor() + return file_pg_query_proto_enumTypes[31].Descriptor() } func (AlterTSConfigType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[30] + return &file_pg_query_proto_enumTypes[31] } func (x AlterTSConfigType) Number() protoreflect.EnumNumber { @@ -2162,7 +2223,7 @@ func (x AlterTSConfigType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterTSConfigType.Descriptor instead. func (AlterTSConfigType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{30} + return file_pg_query_proto_rawDescGZIP(), []int{31} } type PublicationObjSpecType int32 @@ -2204,11 +2265,11 @@ func (x PublicationObjSpecType) String() string { } func (PublicationObjSpecType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[31].Descriptor() + return file_pg_query_proto_enumTypes[32].Descriptor() } func (PublicationObjSpecType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[31] + return &file_pg_query_proto_enumTypes[32] } func (x PublicationObjSpecType) Number() protoreflect.EnumNumber { @@ -2217,7 +2278,7 @@ func (x PublicationObjSpecType) Number() protoreflect.EnumNumber { // Deprecated: Use PublicationObjSpecType.Descriptor instead. func (PublicationObjSpecType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{31} + return file_pg_query_proto_rawDescGZIP(), []int{32} } type AlterPublicationAction int32 @@ -2256,11 +2317,11 @@ func (x AlterPublicationAction) String() string { } func (AlterPublicationAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[32].Descriptor() + return file_pg_query_proto_enumTypes[33].Descriptor() } func (AlterPublicationAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[32] + return &file_pg_query_proto_enumTypes[33] } func (x AlterPublicationAction) Number() protoreflect.EnumNumber { @@ -2269,7 +2330,7 @@ func (x AlterPublicationAction) Number() protoreflect.EnumNumber { // Deprecated: Use AlterPublicationAction.Descriptor instead. func (AlterPublicationAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{32} + return file_pg_query_proto_rawDescGZIP(), []int{33} } type AlterSubscriptionType int32 @@ -2323,11 +2384,11 @@ func (x AlterSubscriptionType) String() string { } func (AlterSubscriptionType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[33].Descriptor() + return file_pg_query_proto_enumTypes[34].Descriptor() } func (AlterSubscriptionType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[33] + return &file_pg_query_proto_enumTypes[34] } func (x AlterSubscriptionType) Number() protoreflect.EnumNumber { @@ -2336,7 +2397,59 @@ func (x AlterSubscriptionType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterSubscriptionType.Descriptor instead. func (AlterSubscriptionType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{33} + return file_pg_query_proto_rawDescGZIP(), []int{34} +} + +type OverridingKind int32 + +const ( + OverridingKind_OVERRIDING_KIND_UNDEFINED OverridingKind = 0 + OverridingKind_OVERRIDING_NOT_SET OverridingKind = 1 + OverridingKind_OVERRIDING_USER_VALUE OverridingKind = 2 + OverridingKind_OVERRIDING_SYSTEM_VALUE OverridingKind = 3 +) + +// Enum value maps for OverridingKind. +var ( + OverridingKind_name = map[int32]string{ + 0: "OVERRIDING_KIND_UNDEFINED", + 1: "OVERRIDING_NOT_SET", + 2: "OVERRIDING_USER_VALUE", + 3: "OVERRIDING_SYSTEM_VALUE", + } + OverridingKind_value = map[string]int32{ + "OVERRIDING_KIND_UNDEFINED": 0, + "OVERRIDING_NOT_SET": 1, + "OVERRIDING_USER_VALUE": 2, + "OVERRIDING_SYSTEM_VALUE": 3, + } +) + +func (x OverridingKind) Enum() *OverridingKind { + p := new(OverridingKind) + *p = x + return p +} + +func (x OverridingKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OverridingKind) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[35].Descriptor() +} + +func (OverridingKind) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[35] +} + +func (x OverridingKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OverridingKind.Descriptor instead. +func (OverridingKind) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{35} } type OnCommitAction int32 @@ -2378,11 +2491,11 @@ func (x OnCommitAction) String() string { } func (OnCommitAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[34].Descriptor() + return file_pg_query_proto_enumTypes[36].Descriptor() } func (OnCommitAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[34] + return &file_pg_query_proto_enumTypes[36] } func (x OnCommitAction) Number() protoreflect.EnumNumber { @@ -2391,7 +2504,56 @@ func (x OnCommitAction) Number() protoreflect.EnumNumber { // Deprecated: Use OnCommitAction.Descriptor instead. func (OnCommitAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{34} + return file_pg_query_proto_rawDescGZIP(), []int{36} +} + +type TableFuncType int32 + +const ( + TableFuncType_TABLE_FUNC_TYPE_UNDEFINED TableFuncType = 0 + TableFuncType_TFT_XMLTABLE TableFuncType = 1 + TableFuncType_TFT_JSON_TABLE TableFuncType = 2 +) + +// Enum value maps for TableFuncType. +var ( + TableFuncType_name = map[int32]string{ + 0: "TABLE_FUNC_TYPE_UNDEFINED", + 1: "TFT_XMLTABLE", + 2: "TFT_JSON_TABLE", + } + TableFuncType_value = map[string]int32{ + "TABLE_FUNC_TYPE_UNDEFINED": 0, + "TFT_XMLTABLE": 1, + "TFT_JSON_TABLE": 2, + } +) + +func (x TableFuncType) Enum() *TableFuncType { + p := new(TableFuncType) + *p = x + return p +} + +func (x TableFuncType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TableFuncType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[37].Descriptor() +} + +func (TableFuncType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[37] +} + +func (x TableFuncType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TableFuncType.Descriptor instead. +func (TableFuncType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{37} } type ParamKind int32 @@ -2433,11 +2595,11 @@ func (x ParamKind) String() string { } func (ParamKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[35].Descriptor() + return file_pg_query_proto_enumTypes[38].Descriptor() } func (ParamKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[35] + return &file_pg_query_proto_enumTypes[38] } func (x ParamKind) Number() protoreflect.EnumNumber { @@ -2446,7 +2608,7 @@ func (x ParamKind) Number() protoreflect.EnumNumber { // Deprecated: Use ParamKind.Descriptor instead. func (ParamKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{35} + return file_pg_query_proto_rawDescGZIP(), []int{38} } type CoercionContext int32 @@ -2488,11 +2650,11 @@ func (x CoercionContext) String() string { } func (CoercionContext) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[36].Descriptor() + return file_pg_query_proto_enumTypes[39].Descriptor() } func (CoercionContext) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[36] + return &file_pg_query_proto_enumTypes[39] } func (x CoercionContext) Number() protoreflect.EnumNumber { @@ -2501,7 +2663,7 @@ func (x CoercionContext) Number() protoreflect.EnumNumber { // Deprecated: Use CoercionContext.Descriptor instead. func (CoercionContext) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{36} + return file_pg_query_proto_rawDescGZIP(), []int{39} } type CoercionForm int32 @@ -2543,11 +2705,11 @@ func (x CoercionForm) String() string { } func (CoercionForm) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[37].Descriptor() + return file_pg_query_proto_enumTypes[40].Descriptor() } func (CoercionForm) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[37] + return &file_pg_query_proto_enumTypes[40] } func (x CoercionForm) Number() protoreflect.EnumNumber { @@ -2556,7 +2718,7 @@ func (x CoercionForm) Number() protoreflect.EnumNumber { // Deprecated: Use CoercionForm.Descriptor instead. func (CoercionForm) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{37} + return file_pg_query_proto_rawDescGZIP(), []int{40} } type BoolExprType int32 @@ -2595,11 +2757,11 @@ func (x BoolExprType) String() string { } func (BoolExprType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[38].Descriptor() + return file_pg_query_proto_enumTypes[41].Descriptor() } func (BoolExprType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[38] + return &file_pg_query_proto_enumTypes[41] } func (x BoolExprType) Number() protoreflect.EnumNumber { @@ -2608,7 +2770,7 @@ func (x BoolExprType) Number() protoreflect.EnumNumber { // Deprecated: Use BoolExprType.Descriptor instead. func (BoolExprType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{38} + return file_pg_query_proto_rawDescGZIP(), []int{41} } type SubLinkType int32 @@ -2662,11 +2824,11 @@ func (x SubLinkType) String() string { } func (SubLinkType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[39].Descriptor() + return file_pg_query_proto_enumTypes[42].Descriptor() } func (SubLinkType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[39] + return &file_pg_query_proto_enumTypes[42] } func (x SubLinkType) Number() protoreflect.EnumNumber { @@ -2675,7 +2837,7 @@ func (x SubLinkType) Number() protoreflect.EnumNumber { // Deprecated: Use SubLinkType.Descriptor instead. func (SubLinkType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{39} + return file_pg_query_proto_rawDescGZIP(), []int{42} } type RowCompareType int32 @@ -2723,11 +2885,11 @@ func (x RowCompareType) String() string { } func (RowCompareType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[40].Descriptor() + return file_pg_query_proto_enumTypes[43].Descriptor() } func (RowCompareType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[40] + return &file_pg_query_proto_enumTypes[43] } func (x RowCompareType) Number() protoreflect.EnumNumber { @@ -2736,7 +2898,7 @@ func (x RowCompareType) Number() protoreflect.EnumNumber { // Deprecated: Use RowCompareType.Descriptor instead. func (RowCompareType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{40} + return file_pg_query_proto_rawDescGZIP(), []int{43} } type MinMaxOp int32 @@ -2772,11 +2934,11 @@ func (x MinMaxOp) String() string { } func (MinMaxOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[41].Descriptor() + return file_pg_query_proto_enumTypes[44].Descriptor() } func (MinMaxOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[41] + return &file_pg_query_proto_enumTypes[44] } func (x MinMaxOp) Number() protoreflect.EnumNumber { @@ -2785,7 +2947,7 @@ func (x MinMaxOp) Number() protoreflect.EnumNumber { // Deprecated: Use MinMaxOp.Descriptor instead. func (MinMaxOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{41} + return file_pg_query_proto_rawDescGZIP(), []int{44} } type SQLValueFunctionOp int32 @@ -2860,11 +3022,11 @@ func (x SQLValueFunctionOp) String() string { } func (SQLValueFunctionOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[42].Descriptor() + return file_pg_query_proto_enumTypes[45].Descriptor() } func (SQLValueFunctionOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[42] + return &file_pg_query_proto_enumTypes[45] } func (x SQLValueFunctionOp) Number() protoreflect.EnumNumber { @@ -2873,7 +3035,7 @@ func (x SQLValueFunctionOp) Number() protoreflect.EnumNumber { // Deprecated: Use SQLValueFunctionOp.Descriptor instead. func (SQLValueFunctionOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{42} + return file_pg_query_proto_rawDescGZIP(), []int{45} } type XmlExprOp int32 @@ -2927,11 +3089,11 @@ func (x XmlExprOp) String() string { } func (XmlExprOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[43].Descriptor() + return file_pg_query_proto_enumTypes[46].Descriptor() } func (XmlExprOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[43] + return &file_pg_query_proto_enumTypes[46] } func (x XmlExprOp) Number() protoreflect.EnumNumber { @@ -2940,7 +3102,7 @@ func (x XmlExprOp) Number() protoreflect.EnumNumber { // Deprecated: Use XmlExprOp.Descriptor instead. func (XmlExprOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{43} + return file_pg_query_proto_rawDescGZIP(), []int{46} } type XmlOptionType int32 @@ -2976,11 +3138,11 @@ func (x XmlOptionType) String() string { } func (XmlOptionType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[44].Descriptor() + return file_pg_query_proto_enumTypes[47].Descriptor() } func (XmlOptionType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[44] + return &file_pg_query_proto_enumTypes[47] } func (x XmlOptionType) Number() protoreflect.EnumNumber { @@ -2989,7 +3151,7 @@ func (x XmlOptionType) Number() protoreflect.EnumNumber { // Deprecated: Use XmlOptionType.Descriptor instead. func (XmlOptionType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{44} + return file_pg_query_proto_rawDescGZIP(), []int{47} } type JsonEncoding int32 @@ -3031,11 +3193,11 @@ func (x JsonEncoding) String() string { } func (JsonEncoding) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[45].Descriptor() + return file_pg_query_proto_enumTypes[48].Descriptor() } func (JsonEncoding) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[45] + return &file_pg_query_proto_enumTypes[48] } func (x JsonEncoding) Number() protoreflect.EnumNumber { @@ -3044,7 +3206,7 @@ func (x JsonEncoding) Number() protoreflect.EnumNumber { // Deprecated: Use JsonEncoding.Descriptor instead. func (JsonEncoding) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{45} + return file_pg_query_proto_rawDescGZIP(), []int{48} } type JsonFormatType int32 @@ -3083,11 +3245,11 @@ func (x JsonFormatType) String() string { } func (JsonFormatType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[46].Descriptor() + return file_pg_query_proto_enumTypes[49].Descriptor() } func (JsonFormatType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[46] + return &file_pg_query_proto_enumTypes[49] } func (x JsonFormatType) Number() protoreflect.EnumNumber { @@ -3096,7 +3258,7 @@ func (x JsonFormatType) Number() protoreflect.EnumNumber { // Deprecated: Use JsonFormatType.Descriptor instead. func (JsonFormatType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{46} + return file_pg_query_proto_rawDescGZIP(), []int{49} } type JsonConstructorType int32 @@ -3107,6 +3269,9 @@ const ( JsonConstructorType_JSCTOR_JSON_ARRAY JsonConstructorType = 2 JsonConstructorType_JSCTOR_JSON_OBJECTAGG JsonConstructorType = 3 JsonConstructorType_JSCTOR_JSON_ARRAYAGG JsonConstructorType = 4 + JsonConstructorType_JSCTOR_JSON_PARSE JsonConstructorType = 5 + JsonConstructorType_JSCTOR_JSON_SCALAR JsonConstructorType = 6 + JsonConstructorType_JSCTOR_JSON_SERIALIZE JsonConstructorType = 7 ) // Enum value maps for JsonConstructorType. @@ -3117,6 +3282,9 @@ var ( 2: "JSCTOR_JSON_ARRAY", 3: "JSCTOR_JSON_OBJECTAGG", 4: "JSCTOR_JSON_ARRAYAGG", + 5: "JSCTOR_JSON_PARSE", + 6: "JSCTOR_JSON_SCALAR", + 7: "JSCTOR_JSON_SERIALIZE", } JsonConstructorType_value = map[string]int32{ "JSON_CONSTRUCTOR_TYPE_UNDEFINED": 0, @@ -3124,6 +3292,9 @@ var ( "JSCTOR_JSON_ARRAY": 2, "JSCTOR_JSON_OBJECTAGG": 3, "JSCTOR_JSON_ARRAYAGG": 4, + "JSCTOR_JSON_PARSE": 5, + "JSCTOR_JSON_SCALAR": 6, + "JSCTOR_JSON_SERIALIZE": 7, } ) @@ -3138,11 +3309,11 @@ func (x JsonConstructorType) String() string { } func (JsonConstructorType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[47].Descriptor() + return file_pg_query_proto_enumTypes[50].Descriptor() } func (JsonConstructorType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[47] + return &file_pg_query_proto_enumTypes[50] } func (x JsonConstructorType) Number() protoreflect.EnumNumber { @@ -3151,7 +3322,7 @@ func (x JsonConstructorType) Number() protoreflect.EnumNumber { // Deprecated: Use JsonConstructorType.Descriptor instead. func (JsonConstructorType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{47} + return file_pg_query_proto_rawDescGZIP(), []int{50} } type JsonValueType int32 @@ -3193,11 +3364,11 @@ func (x JsonValueType) String() string { } func (JsonValueType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[48].Descriptor() + return file_pg_query_proto_enumTypes[51].Descriptor() } func (JsonValueType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[48] + return &file_pg_query_proto_enumTypes[51] } func (x JsonValueType) Number() protoreflect.EnumNumber { @@ -3206,75 +3377,255 @@ func (x JsonValueType) Number() protoreflect.EnumNumber { // Deprecated: Use JsonValueType.Descriptor instead. func (JsonValueType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{48} + return file_pg_query_proto_rawDescGZIP(), []int{51} } -type NullTestType int32 +type JsonWrapper int32 const ( - NullTestType_NULL_TEST_TYPE_UNDEFINED NullTestType = 0 - NullTestType_IS_NULL NullTestType = 1 - NullTestType_IS_NOT_NULL NullTestType = 2 + JsonWrapper_JSON_WRAPPER_UNDEFINED JsonWrapper = 0 + JsonWrapper_JSW_UNSPEC JsonWrapper = 1 + JsonWrapper_JSW_NONE JsonWrapper = 2 + JsonWrapper_JSW_CONDITIONAL JsonWrapper = 3 + JsonWrapper_JSW_UNCONDITIONAL JsonWrapper = 4 ) -// Enum value maps for NullTestType. +// Enum value maps for JsonWrapper. var ( - NullTestType_name = map[int32]string{ - 0: "NULL_TEST_TYPE_UNDEFINED", - 1: "IS_NULL", - 2: "IS_NOT_NULL", - } - NullTestType_value = map[string]int32{ - "NULL_TEST_TYPE_UNDEFINED": 0, - "IS_NULL": 1, - "IS_NOT_NULL": 2, + JsonWrapper_name = map[int32]string{ + 0: "JSON_WRAPPER_UNDEFINED", + 1: "JSW_UNSPEC", + 2: "JSW_NONE", + 3: "JSW_CONDITIONAL", + 4: "JSW_UNCONDITIONAL", + } + JsonWrapper_value = map[string]int32{ + "JSON_WRAPPER_UNDEFINED": 0, + "JSW_UNSPEC": 1, + "JSW_NONE": 2, + "JSW_CONDITIONAL": 3, + "JSW_UNCONDITIONAL": 4, } ) -func (x NullTestType) Enum() *NullTestType { - p := new(NullTestType) +func (x JsonWrapper) Enum() *JsonWrapper { + p := new(JsonWrapper) *p = x return p } -func (x NullTestType) String() string { +func (x JsonWrapper) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NullTestType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[49].Descriptor() +func (JsonWrapper) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[52].Descriptor() } -func (NullTestType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[49] +func (JsonWrapper) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[52] } -func (x NullTestType) Number() protoreflect.EnumNumber { +func (x JsonWrapper) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NullTestType.Descriptor instead. -func (NullTestType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{49} +// Deprecated: Use JsonWrapper.Descriptor instead. +func (JsonWrapper) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{52} } -type BoolTestType int32 +type JsonBehaviorType int32 const ( - BoolTestType_BOOL_TEST_TYPE_UNDEFINED BoolTestType = 0 - BoolTestType_IS_TRUE BoolTestType = 1 - BoolTestType_IS_NOT_TRUE BoolTestType = 2 - BoolTestType_IS_FALSE BoolTestType = 3 - BoolTestType_IS_NOT_FALSE BoolTestType = 4 - BoolTestType_IS_UNKNOWN BoolTestType = 5 - BoolTestType_IS_NOT_UNKNOWN BoolTestType = 6 + JsonBehaviorType_JSON_BEHAVIOR_TYPE_UNDEFINED JsonBehaviorType = 0 + JsonBehaviorType_JSON_BEHAVIOR_NULL JsonBehaviorType = 1 + JsonBehaviorType_JSON_BEHAVIOR_ERROR JsonBehaviorType = 2 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY JsonBehaviorType = 3 + JsonBehaviorType_JSON_BEHAVIOR_TRUE JsonBehaviorType = 4 + JsonBehaviorType_JSON_BEHAVIOR_FALSE JsonBehaviorType = 5 + JsonBehaviorType_JSON_BEHAVIOR_UNKNOWN JsonBehaviorType = 6 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY_ARRAY JsonBehaviorType = 7 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY_OBJECT JsonBehaviorType = 8 + JsonBehaviorType_JSON_BEHAVIOR_DEFAULT JsonBehaviorType = 9 ) -// Enum value maps for BoolTestType. +// Enum value maps for JsonBehaviorType. var ( - BoolTestType_name = map[int32]string{ - 0: "BOOL_TEST_TYPE_UNDEFINED", - 1: "IS_TRUE", + JsonBehaviorType_name = map[int32]string{ + 0: "JSON_BEHAVIOR_TYPE_UNDEFINED", + 1: "JSON_BEHAVIOR_NULL", + 2: "JSON_BEHAVIOR_ERROR", + 3: "JSON_BEHAVIOR_EMPTY", + 4: "JSON_BEHAVIOR_TRUE", + 5: "JSON_BEHAVIOR_FALSE", + 6: "JSON_BEHAVIOR_UNKNOWN", + 7: "JSON_BEHAVIOR_EMPTY_ARRAY", + 8: "JSON_BEHAVIOR_EMPTY_OBJECT", + 9: "JSON_BEHAVIOR_DEFAULT", + } + JsonBehaviorType_value = map[string]int32{ + "JSON_BEHAVIOR_TYPE_UNDEFINED": 0, + "JSON_BEHAVIOR_NULL": 1, + "JSON_BEHAVIOR_ERROR": 2, + "JSON_BEHAVIOR_EMPTY": 3, + "JSON_BEHAVIOR_TRUE": 4, + "JSON_BEHAVIOR_FALSE": 5, + "JSON_BEHAVIOR_UNKNOWN": 6, + "JSON_BEHAVIOR_EMPTY_ARRAY": 7, + "JSON_BEHAVIOR_EMPTY_OBJECT": 8, + "JSON_BEHAVIOR_DEFAULT": 9, + } +) + +func (x JsonBehaviorType) Enum() *JsonBehaviorType { + p := new(JsonBehaviorType) + *p = x + return p +} + +func (x JsonBehaviorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonBehaviorType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[53].Descriptor() +} + +func (JsonBehaviorType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[53] +} + +func (x JsonBehaviorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonBehaviorType.Descriptor instead. +func (JsonBehaviorType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{53} +} + +type JsonExprOp int32 + +const ( + JsonExprOp_JSON_EXPR_OP_UNDEFINED JsonExprOp = 0 + JsonExprOp_JSON_EXISTS_OP JsonExprOp = 1 + JsonExprOp_JSON_QUERY_OP JsonExprOp = 2 + JsonExprOp_JSON_VALUE_OP JsonExprOp = 3 + JsonExprOp_JSON_TABLE_OP JsonExprOp = 4 +) + +// Enum value maps for JsonExprOp. +var ( + JsonExprOp_name = map[int32]string{ + 0: "JSON_EXPR_OP_UNDEFINED", + 1: "JSON_EXISTS_OP", + 2: "JSON_QUERY_OP", + 3: "JSON_VALUE_OP", + 4: "JSON_TABLE_OP", + } + JsonExprOp_value = map[string]int32{ + "JSON_EXPR_OP_UNDEFINED": 0, + "JSON_EXISTS_OP": 1, + "JSON_QUERY_OP": 2, + "JSON_VALUE_OP": 3, + "JSON_TABLE_OP": 4, + } +) + +func (x JsonExprOp) Enum() *JsonExprOp { + p := new(JsonExprOp) + *p = x + return p +} + +func (x JsonExprOp) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonExprOp) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[54].Descriptor() +} + +func (JsonExprOp) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[54] +} + +func (x JsonExprOp) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonExprOp.Descriptor instead. +func (JsonExprOp) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{54} +} + +type NullTestType int32 + +const ( + NullTestType_NULL_TEST_TYPE_UNDEFINED NullTestType = 0 + NullTestType_IS_NULL NullTestType = 1 + NullTestType_IS_NOT_NULL NullTestType = 2 +) + +// Enum value maps for NullTestType. +var ( + NullTestType_name = map[int32]string{ + 0: "NULL_TEST_TYPE_UNDEFINED", + 1: "IS_NULL", + 2: "IS_NOT_NULL", + } + NullTestType_value = map[string]int32{ + "NULL_TEST_TYPE_UNDEFINED": 0, + "IS_NULL": 1, + "IS_NOT_NULL": 2, + } +) + +func (x NullTestType) Enum() *NullTestType { + p := new(NullTestType) + *p = x + return p +} + +func (x NullTestType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NullTestType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[55].Descriptor() +} + +func (NullTestType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[55] +} + +func (x NullTestType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NullTestType.Descriptor instead. +func (NullTestType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{55} +} + +type BoolTestType int32 + +const ( + BoolTestType_BOOL_TEST_TYPE_UNDEFINED BoolTestType = 0 + BoolTestType_IS_TRUE BoolTestType = 1 + BoolTestType_IS_NOT_TRUE BoolTestType = 2 + BoolTestType_IS_FALSE BoolTestType = 3 + BoolTestType_IS_NOT_FALSE BoolTestType = 4 + BoolTestType_IS_UNKNOWN BoolTestType = 5 + BoolTestType_IS_NOT_UNKNOWN BoolTestType = 6 +) + +// Enum value maps for BoolTestType. +var ( + BoolTestType_name = map[int32]string{ + 0: "BOOL_TEST_TYPE_UNDEFINED", + 1: "IS_TRUE", 2: "IS_NOT_TRUE", 3: "IS_FALSE", 4: "IS_NOT_FALSE", @@ -3303,11 +3654,11 @@ func (x BoolTestType) String() string { } func (BoolTestType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[50].Descriptor() + return file_pg_query_proto_enumTypes[56].Descriptor() } func (BoolTestType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[50] + return &file_pg_query_proto_enumTypes[56] } func (x BoolTestType) Number() protoreflect.EnumNumber { @@ -3316,7 +3667,59 @@ func (x BoolTestType) Number() protoreflect.EnumNumber { // Deprecated: Use BoolTestType.Descriptor instead. func (BoolTestType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{50} + return file_pg_query_proto_rawDescGZIP(), []int{56} +} + +type MergeMatchKind int32 + +const ( + MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED MergeMatchKind = 0 + MergeMatchKind_MERGE_WHEN_MATCHED MergeMatchKind = 1 + MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_SOURCE MergeMatchKind = 2 + MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_TARGET MergeMatchKind = 3 +) + +// Enum value maps for MergeMatchKind. +var ( + MergeMatchKind_name = map[int32]string{ + 0: "MERGE_MATCH_KIND_UNDEFINED", + 1: "MERGE_WHEN_MATCHED", + 2: "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", + 3: "MERGE_WHEN_NOT_MATCHED_BY_TARGET", + } + MergeMatchKind_value = map[string]int32{ + "MERGE_MATCH_KIND_UNDEFINED": 0, + "MERGE_WHEN_MATCHED": 1, + "MERGE_WHEN_NOT_MATCHED_BY_SOURCE": 2, + "MERGE_WHEN_NOT_MATCHED_BY_TARGET": 3, + } +) + +func (x MergeMatchKind) Enum() *MergeMatchKind { + p := new(MergeMatchKind) + *p = x + return p +} + +func (x MergeMatchKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MergeMatchKind) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[57].Descriptor() +} + +func (MergeMatchKind) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[57] +} + +func (x MergeMatchKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MergeMatchKind.Descriptor instead. +func (MergeMatchKind) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{57} } type CmdType int32 @@ -3370,11 +3773,11 @@ func (x CmdType) String() string { } func (CmdType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[51].Descriptor() + return file_pg_query_proto_enumTypes[58].Descriptor() } func (CmdType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[51] + return &file_pg_query_proto_enumTypes[58] } func (x CmdType) Number() protoreflect.EnumNumber { @@ -3383,7 +3786,7 @@ func (x CmdType) Number() protoreflect.EnumNumber { // Deprecated: Use CmdType.Descriptor instead. func (CmdType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{51} + return file_pg_query_proto_rawDescGZIP(), []int{58} } type JoinType int32 @@ -3440,11 +3843,11 @@ func (x JoinType) String() string { } func (JoinType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[52].Descriptor() + return file_pg_query_proto_enumTypes[59].Descriptor() } func (JoinType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[52] + return &file_pg_query_proto_enumTypes[59] } func (x JoinType) Number() protoreflect.EnumNumber { @@ -3453,7 +3856,7 @@ func (x JoinType) Number() protoreflect.EnumNumber { // Deprecated: Use JoinType.Descriptor instead. func (JoinType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{52} + return file_pg_query_proto_rawDescGZIP(), []int{59} } type AggStrategy int32 @@ -3495,11 +3898,11 @@ func (x AggStrategy) String() string { } func (AggStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[53].Descriptor() + return file_pg_query_proto_enumTypes[60].Descriptor() } func (AggStrategy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[53] + return &file_pg_query_proto_enumTypes[60] } func (x AggStrategy) Number() protoreflect.EnumNumber { @@ -3508,7 +3911,7 @@ func (x AggStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use AggStrategy.Descriptor instead. func (AggStrategy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{53} + return file_pg_query_proto_rawDescGZIP(), []int{60} } type AggSplit int32 @@ -3547,11 +3950,11 @@ func (x AggSplit) String() string { } func (AggSplit) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[54].Descriptor() + return file_pg_query_proto_enumTypes[61].Descriptor() } func (AggSplit) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[54] + return &file_pg_query_proto_enumTypes[61] } func (x AggSplit) Number() protoreflect.EnumNumber { @@ -3560,7 +3963,7 @@ func (x AggSplit) Number() protoreflect.EnumNumber { // Deprecated: Use AggSplit.Descriptor instead. func (AggSplit) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{54} + return file_pg_query_proto_rawDescGZIP(), []int{61} } type SetOpCmd int32 @@ -3602,11 +4005,11 @@ func (x SetOpCmd) String() string { } func (SetOpCmd) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[55].Descriptor() + return file_pg_query_proto_enumTypes[62].Descriptor() } func (SetOpCmd) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[55] + return &file_pg_query_proto_enumTypes[62] } func (x SetOpCmd) Number() protoreflect.EnumNumber { @@ -3615,7 +4018,7 @@ func (x SetOpCmd) Number() protoreflect.EnumNumber { // Deprecated: Use SetOpCmd.Descriptor instead. func (SetOpCmd) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{55} + return file_pg_query_proto_rawDescGZIP(), []int{62} } type SetOpStrategy int32 @@ -3651,11 +4054,11 @@ func (x SetOpStrategy) String() string { } func (SetOpStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[56].Descriptor() + return file_pg_query_proto_enumTypes[63].Descriptor() } func (SetOpStrategy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[56] + return &file_pg_query_proto_enumTypes[63] } func (x SetOpStrategy) Number() protoreflect.EnumNumber { @@ -3664,7 +4067,7 @@ func (x SetOpStrategy) Number() protoreflect.EnumNumber { // Deprecated: Use SetOpStrategy.Descriptor instead. func (SetOpStrategy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{56} + return file_pg_query_proto_rawDescGZIP(), []int{63} } type OnConflictAction int32 @@ -3703,11 +4106,11 @@ func (x OnConflictAction) String() string { } func (OnConflictAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[57].Descriptor() + return file_pg_query_proto_enumTypes[64].Descriptor() } func (OnConflictAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[57] + return &file_pg_query_proto_enumTypes[64] } func (x OnConflictAction) Number() protoreflect.EnumNumber { @@ -3716,7 +4119,7 @@ func (x OnConflictAction) Number() protoreflect.EnumNumber { // Deprecated: Use OnConflictAction.Descriptor instead. func (OnConflictAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{57} + return file_pg_query_proto_rawDescGZIP(), []int{64} } type LimitOption int32 @@ -3755,11 +4158,11 @@ func (x LimitOption) String() string { } func (LimitOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[58].Descriptor() + return file_pg_query_proto_enumTypes[65].Descriptor() } func (LimitOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[58] + return &file_pg_query_proto_enumTypes[65] } func (x LimitOption) Number() protoreflect.EnumNumber { @@ -3768,7 +4171,7 @@ func (x LimitOption) Number() protoreflect.EnumNumber { // Deprecated: Use LimitOption.Descriptor instead. func (LimitOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{58} + return file_pg_query_proto_rawDescGZIP(), []int{65} } type LockClauseStrength int32 @@ -3813,11 +4216,11 @@ func (x LockClauseStrength) String() string { } func (LockClauseStrength) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[59].Descriptor() + return file_pg_query_proto_enumTypes[66].Descriptor() } func (LockClauseStrength) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[59] + return &file_pg_query_proto_enumTypes[66] } func (x LockClauseStrength) Number() protoreflect.EnumNumber { @@ -3826,7 +4229,7 @@ func (x LockClauseStrength) Number() protoreflect.EnumNumber { // Deprecated: Use LockClauseStrength.Descriptor instead. func (LockClauseStrength) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{59} + return file_pg_query_proto_rawDescGZIP(), []int{66} } type LockWaitPolicy int32 @@ -3865,11 +4268,11 @@ func (x LockWaitPolicy) String() string { } func (LockWaitPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[60].Descriptor() + return file_pg_query_proto_enumTypes[67].Descriptor() } func (LockWaitPolicy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[60] + return &file_pg_query_proto_enumTypes[67] } func (x LockWaitPolicy) Number() protoreflect.EnumNumber { @@ -3878,7 +4281,7 @@ func (x LockWaitPolicy) Number() protoreflect.EnumNumber { // Deprecated: Use LockWaitPolicy.Descriptor instead. func (LockWaitPolicy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{60} + return file_pg_query_proto_rawDescGZIP(), []int{67} } type LockTupleMode int32 @@ -3920,11 +4323,11 @@ func (x LockTupleMode) String() string { } func (LockTupleMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[61].Descriptor() + return file_pg_query_proto_enumTypes[68].Descriptor() } func (LockTupleMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[61] + return &file_pg_query_proto_enumTypes[68] } func (x LockTupleMode) Number() protoreflect.EnumNumber { @@ -3933,7 +4336,7 @@ func (x LockTupleMode) Number() protoreflect.EnumNumber { // Deprecated: Use LockTupleMode.Descriptor instead. func (LockTupleMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{61} + return file_pg_query_proto_rawDescGZIP(), []int{68} } type KeywordKind int32 @@ -3975,11 +4378,11 @@ func (x KeywordKind) String() string { } func (KeywordKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[62].Descriptor() + return file_pg_query_proto_enumTypes[69].Descriptor() } func (KeywordKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[62] + return &file_pg_query_proto_enumTypes[69] } func (x KeywordKind) Number() protoreflect.EnumNumber { @@ -3988,7 +4391,7 @@ func (x KeywordKind) Number() protoreflect.EnumNumber { // Deprecated: Use KeywordKind.Descriptor instead. func (KeywordKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{62} + return file_pg_query_proto_rawDescGZIP(), []int{69} } type Token int32 @@ -4106,420 +4509,440 @@ const ( Token_COMMITTED Token = 342 Token_COMPRESSION Token = 343 Token_CONCURRENTLY Token = 344 - Token_CONFIGURATION Token = 345 - Token_CONFLICT Token = 346 - Token_CONNECTION Token = 347 - Token_CONSTRAINT Token = 348 - Token_CONSTRAINTS Token = 349 - Token_CONTENT_P Token = 350 - Token_CONTINUE_P Token = 351 - Token_CONVERSION_P Token = 352 - Token_COPY Token = 353 - Token_COST Token = 354 - Token_CREATE Token = 355 - Token_CROSS Token = 356 - Token_CSV Token = 357 - Token_CUBE Token = 358 - Token_CURRENT_P Token = 359 - Token_CURRENT_CATALOG Token = 360 - Token_CURRENT_DATE Token = 361 - Token_CURRENT_ROLE Token = 362 - Token_CURRENT_SCHEMA Token = 363 - Token_CURRENT_TIME Token = 364 - Token_CURRENT_TIMESTAMP Token = 365 - Token_CURRENT_USER Token = 366 - Token_CURSOR Token = 367 - Token_CYCLE Token = 368 - Token_DATA_P Token = 369 - Token_DATABASE Token = 370 - Token_DAY_P Token = 371 - Token_DEALLOCATE Token = 372 - Token_DEC Token = 373 - Token_DECIMAL_P Token = 374 - Token_DECLARE Token = 375 - Token_DEFAULT Token = 376 - Token_DEFAULTS Token = 377 - Token_DEFERRABLE Token = 378 - Token_DEFERRED Token = 379 - Token_DEFINER Token = 380 - Token_DELETE_P Token = 381 - Token_DELIMITER Token = 382 - Token_DELIMITERS Token = 383 - Token_DEPENDS Token = 384 - Token_DEPTH Token = 385 - Token_DESC Token = 386 - Token_DETACH Token = 387 - Token_DICTIONARY Token = 388 - Token_DISABLE_P Token = 389 - Token_DISCARD Token = 390 - Token_DISTINCT Token = 391 - Token_DO Token = 392 - Token_DOCUMENT_P Token = 393 - Token_DOMAIN_P Token = 394 - Token_DOUBLE_P Token = 395 - Token_DROP Token = 396 - Token_EACH Token = 397 - Token_ELSE Token = 398 - Token_ENABLE_P Token = 399 - Token_ENCODING Token = 400 - Token_ENCRYPTED Token = 401 - Token_END_P Token = 402 - Token_ENUM_P Token = 403 - Token_ESCAPE Token = 404 - Token_EVENT Token = 405 - Token_EXCEPT Token = 406 - Token_EXCLUDE Token = 407 - Token_EXCLUDING Token = 408 - Token_EXCLUSIVE Token = 409 - Token_EXECUTE Token = 410 - Token_EXISTS Token = 411 - Token_EXPLAIN Token = 412 - Token_EXPRESSION Token = 413 - Token_EXTENSION Token = 414 - Token_EXTERNAL Token = 415 - Token_EXTRACT Token = 416 - Token_FALSE_P Token = 417 - Token_FAMILY Token = 418 - Token_FETCH Token = 419 - Token_FILTER Token = 420 - Token_FINALIZE Token = 421 - Token_FIRST_P Token = 422 - Token_FLOAT_P Token = 423 - Token_FOLLOWING Token = 424 - Token_FOR Token = 425 - Token_FORCE Token = 426 - Token_FOREIGN Token = 427 - Token_FORMAT Token = 428 - Token_FORWARD Token = 429 - Token_FREEZE Token = 430 - Token_FROM Token = 431 - Token_FULL Token = 432 - Token_FUNCTION Token = 433 - Token_FUNCTIONS Token = 434 - Token_GENERATED Token = 435 - Token_GLOBAL Token = 436 - Token_GRANT Token = 437 - Token_GRANTED Token = 438 - Token_GREATEST Token = 439 - Token_GROUP_P Token = 440 - Token_GROUPING Token = 441 - Token_GROUPS Token = 442 - Token_HANDLER Token = 443 - Token_HAVING Token = 444 - Token_HEADER_P Token = 445 - Token_HOLD Token = 446 - Token_HOUR_P Token = 447 - Token_IDENTITY_P Token = 448 - Token_IF_P Token = 449 - Token_ILIKE Token = 450 - Token_IMMEDIATE Token = 451 - Token_IMMUTABLE Token = 452 - Token_IMPLICIT_P Token = 453 - Token_IMPORT_P Token = 454 - Token_IN_P Token = 455 - Token_INCLUDE Token = 456 - Token_INCLUDING Token = 457 - Token_INCREMENT Token = 458 - Token_INDENT Token = 459 - Token_INDEX Token = 460 - Token_INDEXES Token = 461 - Token_INHERIT Token = 462 - Token_INHERITS Token = 463 - Token_INITIALLY Token = 464 - Token_INLINE_P Token = 465 - Token_INNER_P Token = 466 - Token_INOUT Token = 467 - Token_INPUT_P Token = 468 - Token_INSENSITIVE Token = 469 - Token_INSERT Token = 470 - Token_INSTEAD Token = 471 - Token_INT_P Token = 472 - Token_INTEGER Token = 473 - Token_INTERSECT Token = 474 - Token_INTERVAL Token = 475 - Token_INTO Token = 476 - Token_INVOKER Token = 477 - Token_IS Token = 478 - Token_ISNULL Token = 479 - Token_ISOLATION Token = 480 - Token_JOIN Token = 481 - Token_JSON Token = 482 - Token_JSON_ARRAY Token = 483 - Token_JSON_ARRAYAGG Token = 484 - Token_JSON_OBJECT Token = 485 - Token_JSON_OBJECTAGG Token = 486 - Token_KEY Token = 487 - Token_KEYS Token = 488 - Token_LABEL Token = 489 - Token_LANGUAGE Token = 490 - Token_LARGE_P Token = 491 - Token_LAST_P Token = 492 - Token_LATERAL_P Token = 493 - Token_LEADING Token = 494 - Token_LEAKPROOF Token = 495 - Token_LEAST Token = 496 - Token_LEFT Token = 497 - Token_LEVEL Token = 498 - Token_LIKE Token = 499 - Token_LIMIT Token = 500 - Token_LISTEN Token = 501 - Token_LOAD Token = 502 - Token_LOCAL Token = 503 - Token_LOCALTIME Token = 504 - Token_LOCALTIMESTAMP Token = 505 - Token_LOCATION Token = 506 - Token_LOCK_P Token = 507 - Token_LOCKED Token = 508 - Token_LOGGED Token = 509 - Token_MAPPING Token = 510 - Token_MATCH Token = 511 - Token_MATCHED Token = 512 - Token_MATERIALIZED Token = 513 - Token_MAXVALUE Token = 514 - Token_MERGE Token = 515 - Token_METHOD Token = 516 - Token_MINUTE_P Token = 517 - Token_MINVALUE Token = 518 - Token_MODE Token = 519 - Token_MONTH_P Token = 520 - Token_MOVE Token = 521 - Token_NAME_P Token = 522 - Token_NAMES Token = 523 - Token_NATIONAL Token = 524 - Token_NATURAL Token = 525 - Token_NCHAR Token = 526 - Token_NEW Token = 527 - Token_NEXT Token = 528 - Token_NFC Token = 529 - Token_NFD Token = 530 - Token_NFKC Token = 531 - Token_NFKD Token = 532 - Token_NO Token = 533 - Token_NONE Token = 534 - Token_NORMALIZE Token = 535 - Token_NORMALIZED Token = 536 - Token_NOT Token = 537 - Token_NOTHING Token = 538 - Token_NOTIFY Token = 539 - Token_NOTNULL Token = 540 - Token_NOWAIT Token = 541 - Token_NULL_P Token = 542 - Token_NULLIF Token = 543 - Token_NULLS_P Token = 544 - Token_NUMERIC Token = 545 - Token_OBJECT_P Token = 546 - Token_OF Token = 547 - Token_OFF Token = 548 - Token_OFFSET Token = 549 - Token_OIDS Token = 550 - Token_OLD Token = 551 - Token_ON Token = 552 - Token_ONLY Token = 553 - Token_OPERATOR Token = 554 - Token_OPTION Token = 555 - Token_OPTIONS Token = 556 - Token_OR Token = 557 - Token_ORDER Token = 558 - Token_ORDINALITY Token = 559 - Token_OTHERS Token = 560 - Token_OUT_P Token = 561 - Token_OUTER_P Token = 562 - Token_OVER Token = 563 - Token_OVERLAPS Token = 564 - Token_OVERLAY Token = 565 - Token_OVERRIDING Token = 566 - Token_OWNED Token = 567 - Token_OWNER Token = 568 - Token_PARALLEL Token = 569 - Token_PARAMETER Token = 570 - Token_PARSER Token = 571 - Token_PARTIAL Token = 572 - Token_PARTITION Token = 573 - Token_PASSING Token = 574 - Token_PASSWORD Token = 575 - Token_PLACING Token = 576 - Token_PLANS Token = 577 - Token_POLICY Token = 578 - Token_POSITION Token = 579 - Token_PRECEDING Token = 580 - Token_PRECISION Token = 581 - Token_PRESERVE Token = 582 - Token_PREPARE Token = 583 - Token_PREPARED Token = 584 - Token_PRIMARY Token = 585 - Token_PRIOR Token = 586 - Token_PRIVILEGES Token = 587 - Token_PROCEDURAL Token = 588 - Token_PROCEDURE Token = 589 - Token_PROCEDURES Token = 590 - Token_PROGRAM Token = 591 - Token_PUBLICATION Token = 592 - Token_QUOTE Token = 593 - Token_RANGE Token = 594 - Token_READ Token = 595 - Token_REAL Token = 596 - Token_REASSIGN Token = 597 - Token_RECHECK Token = 598 - Token_RECURSIVE Token = 599 - Token_REF_P Token = 600 - Token_REFERENCES Token = 601 - Token_REFERENCING Token = 602 - Token_REFRESH Token = 603 - Token_REINDEX Token = 604 - Token_RELATIVE_P Token = 605 - Token_RELEASE Token = 606 - Token_RENAME Token = 607 - Token_REPEATABLE Token = 608 - Token_REPLACE Token = 609 - Token_REPLICA Token = 610 - Token_RESET Token = 611 - Token_RESTART Token = 612 - Token_RESTRICT Token = 613 - Token_RETURN Token = 614 - Token_RETURNING Token = 615 - Token_RETURNS Token = 616 - Token_REVOKE Token = 617 - Token_RIGHT Token = 618 - Token_ROLE Token = 619 - Token_ROLLBACK Token = 620 - Token_ROLLUP Token = 621 - Token_ROUTINE Token = 622 - Token_ROUTINES Token = 623 - Token_ROW Token = 624 - Token_ROWS Token = 625 - Token_RULE Token = 626 - Token_SAVEPOINT Token = 627 - Token_SCALAR Token = 628 - Token_SCHEMA Token = 629 - Token_SCHEMAS Token = 630 - Token_SCROLL Token = 631 - Token_SEARCH Token = 632 - Token_SECOND_P Token = 633 - Token_SECURITY Token = 634 - Token_SELECT Token = 635 - Token_SEQUENCE Token = 636 - Token_SEQUENCES Token = 637 - Token_SERIALIZABLE Token = 638 - Token_SERVER Token = 639 - Token_SESSION Token = 640 - Token_SESSION_USER Token = 641 - Token_SET Token = 642 - Token_SETS Token = 643 - Token_SETOF Token = 644 - Token_SHARE Token = 645 - Token_SHOW Token = 646 - Token_SIMILAR Token = 647 - Token_SIMPLE Token = 648 - Token_SKIP Token = 649 - Token_SMALLINT Token = 650 - Token_SNAPSHOT Token = 651 - Token_SOME Token = 652 - Token_SQL_P Token = 653 - Token_STABLE Token = 654 - Token_STANDALONE_P Token = 655 - Token_START Token = 656 - Token_STATEMENT Token = 657 - Token_STATISTICS Token = 658 - Token_STDIN Token = 659 - Token_STDOUT Token = 660 - Token_STORAGE Token = 661 - Token_STORED Token = 662 - Token_STRICT_P Token = 663 - Token_STRIP_P Token = 664 - Token_SUBSCRIPTION Token = 665 - Token_SUBSTRING Token = 666 - Token_SUPPORT Token = 667 - Token_SYMMETRIC Token = 668 - Token_SYSID Token = 669 - Token_SYSTEM_P Token = 670 - Token_SYSTEM_USER Token = 671 - Token_TABLE Token = 672 - Token_TABLES Token = 673 - Token_TABLESAMPLE Token = 674 - Token_TABLESPACE Token = 675 - Token_TEMP Token = 676 - Token_TEMPLATE Token = 677 - Token_TEMPORARY Token = 678 - Token_TEXT_P Token = 679 - Token_THEN Token = 680 - Token_TIES Token = 681 - Token_TIME Token = 682 - Token_TIMESTAMP Token = 683 - Token_TO Token = 684 - Token_TRAILING Token = 685 - Token_TRANSACTION Token = 686 - Token_TRANSFORM Token = 687 - Token_TREAT Token = 688 - Token_TRIGGER Token = 689 - Token_TRIM Token = 690 - Token_TRUE_P Token = 691 - Token_TRUNCATE Token = 692 - Token_TRUSTED Token = 693 - Token_TYPE_P Token = 694 - Token_TYPES_P Token = 695 - Token_UESCAPE Token = 696 - Token_UNBOUNDED Token = 697 - Token_UNCOMMITTED Token = 698 - Token_UNENCRYPTED Token = 699 - Token_UNION Token = 700 - Token_UNIQUE Token = 701 - Token_UNKNOWN Token = 702 - Token_UNLISTEN Token = 703 - Token_UNLOGGED Token = 704 - Token_UNTIL Token = 705 - Token_UPDATE Token = 706 - Token_USER Token = 707 - Token_USING Token = 708 - Token_VACUUM Token = 709 - Token_VALID Token = 710 - Token_VALIDATE Token = 711 - Token_VALIDATOR Token = 712 - Token_VALUE_P Token = 713 - Token_VALUES Token = 714 - Token_VARCHAR Token = 715 - Token_VARIADIC Token = 716 - Token_VARYING Token = 717 - Token_VERBOSE Token = 718 - Token_VERSION_P Token = 719 - Token_VIEW Token = 720 - Token_VIEWS Token = 721 - Token_VOLATILE Token = 722 - Token_WHEN Token = 723 - Token_WHERE Token = 724 - Token_WHITESPACE_P Token = 725 - Token_WINDOW Token = 726 - Token_WITH Token = 727 - Token_WITHIN Token = 728 - Token_WITHOUT Token = 729 - Token_WORK Token = 730 - Token_WRAPPER Token = 731 - Token_WRITE Token = 732 - Token_XML_P Token = 733 - Token_XMLATTRIBUTES Token = 734 - Token_XMLCONCAT Token = 735 - Token_XMLELEMENT Token = 736 - Token_XMLEXISTS Token = 737 - Token_XMLFOREST Token = 738 - Token_XMLNAMESPACES Token = 739 - Token_XMLPARSE Token = 740 - Token_XMLPI Token = 741 - Token_XMLROOT Token = 742 - Token_XMLSERIALIZE Token = 743 - Token_XMLTABLE Token = 744 - Token_YEAR_P Token = 745 - Token_YES_P Token = 746 - Token_ZONE Token = 747 - Token_FORMAT_LA Token = 748 - Token_NOT_LA Token = 749 - Token_NULLS_LA Token = 750 - Token_WITH_LA Token = 751 - Token_WITHOUT_LA Token = 752 - Token_MODE_TYPE_NAME Token = 753 - Token_MODE_PLPGSQL_EXPR Token = 754 - Token_MODE_PLPGSQL_ASSIGN1 Token = 755 - Token_MODE_PLPGSQL_ASSIGN2 Token = 756 - Token_MODE_PLPGSQL_ASSIGN3 Token = 757 - Token_UMINUS Token = 758 + Token_CONDITIONAL Token = 345 + Token_CONFIGURATION Token = 346 + Token_CONFLICT Token = 347 + Token_CONNECTION Token = 348 + Token_CONSTRAINT Token = 349 + Token_CONSTRAINTS Token = 350 + Token_CONTENT_P Token = 351 + Token_CONTINUE_P Token = 352 + Token_CONVERSION_P Token = 353 + Token_COPY Token = 354 + Token_COST Token = 355 + Token_CREATE Token = 356 + Token_CROSS Token = 357 + Token_CSV Token = 358 + Token_CUBE Token = 359 + Token_CURRENT_P Token = 360 + Token_CURRENT_CATALOG Token = 361 + Token_CURRENT_DATE Token = 362 + Token_CURRENT_ROLE Token = 363 + Token_CURRENT_SCHEMA Token = 364 + Token_CURRENT_TIME Token = 365 + Token_CURRENT_TIMESTAMP Token = 366 + Token_CURRENT_USER Token = 367 + Token_CURSOR Token = 368 + Token_CYCLE Token = 369 + Token_DATA_P Token = 370 + Token_DATABASE Token = 371 + Token_DAY_P Token = 372 + Token_DEALLOCATE Token = 373 + Token_DEC Token = 374 + Token_DECIMAL_P Token = 375 + Token_DECLARE Token = 376 + Token_DEFAULT Token = 377 + Token_DEFAULTS Token = 378 + Token_DEFERRABLE Token = 379 + Token_DEFERRED Token = 380 + Token_DEFINER Token = 381 + Token_DELETE_P Token = 382 + Token_DELIMITER Token = 383 + Token_DELIMITERS Token = 384 + Token_DEPENDS Token = 385 + Token_DEPTH Token = 386 + Token_DESC Token = 387 + Token_DETACH Token = 388 + Token_DICTIONARY Token = 389 + Token_DISABLE_P Token = 390 + Token_DISCARD Token = 391 + Token_DISTINCT Token = 392 + Token_DO Token = 393 + Token_DOCUMENT_P Token = 394 + Token_DOMAIN_P Token = 395 + Token_DOUBLE_P Token = 396 + Token_DROP Token = 397 + Token_EACH Token = 398 + Token_ELSE Token = 399 + Token_EMPTY_P Token = 400 + Token_ENABLE_P Token = 401 + Token_ENCODING Token = 402 + Token_ENCRYPTED Token = 403 + Token_END_P Token = 404 + Token_ENUM_P Token = 405 + Token_ERROR_P Token = 406 + Token_ESCAPE Token = 407 + Token_EVENT Token = 408 + Token_EXCEPT Token = 409 + Token_EXCLUDE Token = 410 + Token_EXCLUDING Token = 411 + Token_EXCLUSIVE Token = 412 + Token_EXECUTE Token = 413 + Token_EXISTS Token = 414 + Token_EXPLAIN Token = 415 + Token_EXPRESSION Token = 416 + Token_EXTENSION Token = 417 + Token_EXTERNAL Token = 418 + Token_EXTRACT Token = 419 + Token_FALSE_P Token = 420 + Token_FAMILY Token = 421 + Token_FETCH Token = 422 + Token_FILTER Token = 423 + Token_FINALIZE Token = 424 + Token_FIRST_P Token = 425 + Token_FLOAT_P Token = 426 + Token_FOLLOWING Token = 427 + Token_FOR Token = 428 + Token_FORCE Token = 429 + Token_FOREIGN Token = 430 + Token_FORMAT Token = 431 + Token_FORWARD Token = 432 + Token_FREEZE Token = 433 + Token_FROM Token = 434 + Token_FULL Token = 435 + Token_FUNCTION Token = 436 + Token_FUNCTIONS Token = 437 + Token_GENERATED Token = 438 + Token_GLOBAL Token = 439 + Token_GRANT Token = 440 + Token_GRANTED Token = 441 + Token_GREATEST Token = 442 + Token_GROUP_P Token = 443 + Token_GROUPING Token = 444 + Token_GROUPS Token = 445 + Token_HANDLER Token = 446 + Token_HAVING Token = 447 + Token_HEADER_P Token = 448 + Token_HOLD Token = 449 + Token_HOUR_P Token = 450 + Token_IDENTITY_P Token = 451 + Token_IF_P Token = 452 + Token_ILIKE Token = 453 + Token_IMMEDIATE Token = 454 + Token_IMMUTABLE Token = 455 + Token_IMPLICIT_P Token = 456 + Token_IMPORT_P Token = 457 + Token_IN_P Token = 458 + Token_INCLUDE Token = 459 + Token_INCLUDING Token = 460 + Token_INCREMENT Token = 461 + Token_INDENT Token = 462 + Token_INDEX Token = 463 + Token_INDEXES Token = 464 + Token_INHERIT Token = 465 + Token_INHERITS Token = 466 + Token_INITIALLY Token = 467 + Token_INLINE_P Token = 468 + Token_INNER_P Token = 469 + Token_INOUT Token = 470 + Token_INPUT_P Token = 471 + Token_INSENSITIVE Token = 472 + Token_INSERT Token = 473 + Token_INSTEAD Token = 474 + Token_INT_P Token = 475 + Token_INTEGER Token = 476 + Token_INTERSECT Token = 477 + Token_INTERVAL Token = 478 + Token_INTO Token = 479 + Token_INVOKER Token = 480 + Token_IS Token = 481 + Token_ISNULL Token = 482 + Token_ISOLATION Token = 483 + Token_JOIN Token = 484 + Token_JSON Token = 485 + Token_JSON_ARRAY Token = 486 + Token_JSON_ARRAYAGG Token = 487 + Token_JSON_EXISTS Token = 488 + Token_JSON_OBJECT Token = 489 + Token_JSON_OBJECTAGG Token = 490 + Token_JSON_QUERY Token = 491 + Token_JSON_SCALAR Token = 492 + Token_JSON_SERIALIZE Token = 493 + Token_JSON_TABLE Token = 494 + Token_JSON_VALUE Token = 495 + Token_KEEP Token = 496 + Token_KEY Token = 497 + Token_KEYS Token = 498 + Token_LABEL Token = 499 + Token_LANGUAGE Token = 500 + Token_LARGE_P Token = 501 + Token_LAST_P Token = 502 + Token_LATERAL_P Token = 503 + Token_LEADING Token = 504 + Token_LEAKPROOF Token = 505 + Token_LEAST Token = 506 + Token_LEFT Token = 507 + Token_LEVEL Token = 508 + Token_LIKE Token = 509 + Token_LIMIT Token = 510 + Token_LISTEN Token = 511 + Token_LOAD Token = 512 + Token_LOCAL Token = 513 + Token_LOCALTIME Token = 514 + Token_LOCALTIMESTAMP Token = 515 + Token_LOCATION Token = 516 + Token_LOCK_P Token = 517 + Token_LOCKED Token = 518 + Token_LOGGED Token = 519 + Token_MAPPING Token = 520 + Token_MATCH Token = 521 + Token_MATCHED Token = 522 + Token_MATERIALIZED Token = 523 + Token_MAXVALUE Token = 524 + Token_MERGE Token = 525 + Token_MERGE_ACTION Token = 526 + Token_METHOD Token = 527 + Token_MINUTE_P Token = 528 + Token_MINVALUE Token = 529 + Token_MODE Token = 530 + Token_MONTH_P Token = 531 + Token_MOVE Token = 532 + Token_NAME_P Token = 533 + Token_NAMES Token = 534 + Token_NATIONAL Token = 535 + Token_NATURAL Token = 536 + Token_NCHAR Token = 537 + Token_NESTED Token = 538 + Token_NEW Token = 539 + Token_NEXT Token = 540 + Token_NFC Token = 541 + Token_NFD Token = 542 + Token_NFKC Token = 543 + Token_NFKD Token = 544 + Token_NO Token = 545 + Token_NONE Token = 546 + Token_NORMALIZE Token = 547 + Token_NORMALIZED Token = 548 + Token_NOT Token = 549 + Token_NOTHING Token = 550 + Token_NOTIFY Token = 551 + Token_NOTNULL Token = 552 + Token_NOWAIT Token = 553 + Token_NULL_P Token = 554 + Token_NULLIF Token = 555 + Token_NULLS_P Token = 556 + Token_NUMERIC Token = 557 + Token_OBJECT_P Token = 558 + Token_OF Token = 559 + Token_OFF Token = 560 + Token_OFFSET Token = 561 + Token_OIDS Token = 562 + Token_OLD Token = 563 + Token_OMIT Token = 564 + Token_ON Token = 565 + Token_ONLY Token = 566 + Token_OPERATOR Token = 567 + Token_OPTION Token = 568 + Token_OPTIONS Token = 569 + Token_OR Token = 570 + Token_ORDER Token = 571 + Token_ORDINALITY Token = 572 + Token_OTHERS Token = 573 + Token_OUT_P Token = 574 + Token_OUTER_P Token = 575 + Token_OVER Token = 576 + Token_OVERLAPS Token = 577 + Token_OVERLAY Token = 578 + Token_OVERRIDING Token = 579 + Token_OWNED Token = 580 + Token_OWNER Token = 581 + Token_PARALLEL Token = 582 + Token_PARAMETER Token = 583 + Token_PARSER Token = 584 + Token_PARTIAL Token = 585 + Token_PARTITION Token = 586 + Token_PASSING Token = 587 + Token_PASSWORD Token = 588 + Token_PATH Token = 589 + Token_PLACING Token = 590 + Token_PLAN Token = 591 + Token_PLANS Token = 592 + Token_POLICY Token = 593 + Token_POSITION Token = 594 + Token_PRECEDING Token = 595 + Token_PRECISION Token = 596 + Token_PRESERVE Token = 597 + Token_PREPARE Token = 598 + Token_PREPARED Token = 599 + Token_PRIMARY Token = 600 + Token_PRIOR Token = 601 + Token_PRIVILEGES Token = 602 + Token_PROCEDURAL Token = 603 + Token_PROCEDURE Token = 604 + Token_PROCEDURES Token = 605 + Token_PROGRAM Token = 606 + Token_PUBLICATION Token = 607 + Token_QUOTE Token = 608 + Token_QUOTES Token = 609 + Token_RANGE Token = 610 + Token_READ Token = 611 + Token_REAL Token = 612 + Token_REASSIGN Token = 613 + Token_RECHECK Token = 614 + Token_RECURSIVE Token = 615 + Token_REF_P Token = 616 + Token_REFERENCES Token = 617 + Token_REFERENCING Token = 618 + Token_REFRESH Token = 619 + Token_REINDEX Token = 620 + Token_RELATIVE_P Token = 621 + Token_RELEASE Token = 622 + Token_RENAME Token = 623 + Token_REPEATABLE Token = 624 + Token_REPLACE Token = 625 + Token_REPLICA Token = 626 + Token_RESET Token = 627 + Token_RESTART Token = 628 + Token_RESTRICT Token = 629 + Token_RETURN Token = 630 + Token_RETURNING Token = 631 + Token_RETURNS Token = 632 + Token_REVOKE Token = 633 + Token_RIGHT Token = 634 + Token_ROLE Token = 635 + Token_ROLLBACK Token = 636 + Token_ROLLUP Token = 637 + Token_ROUTINE Token = 638 + Token_ROUTINES Token = 639 + Token_ROW Token = 640 + Token_ROWS Token = 641 + Token_RULE Token = 642 + Token_SAVEPOINT Token = 643 + Token_SCALAR Token = 644 + Token_SCHEMA Token = 645 + Token_SCHEMAS Token = 646 + Token_SCROLL Token = 647 + Token_SEARCH Token = 648 + Token_SECOND_P Token = 649 + Token_SECURITY Token = 650 + Token_SELECT Token = 651 + Token_SEQUENCE Token = 652 + Token_SEQUENCES Token = 653 + Token_SERIALIZABLE Token = 654 + Token_SERVER Token = 655 + Token_SESSION Token = 656 + Token_SESSION_USER Token = 657 + Token_SET Token = 658 + Token_SETS Token = 659 + Token_SETOF Token = 660 + Token_SHARE Token = 661 + Token_SHOW Token = 662 + Token_SIMILAR Token = 663 + Token_SIMPLE Token = 664 + Token_SKIP Token = 665 + Token_SMALLINT Token = 666 + Token_SNAPSHOT Token = 667 + Token_SOME Token = 668 + Token_SOURCE Token = 669 + Token_SQL_P Token = 670 + Token_STABLE Token = 671 + Token_STANDALONE_P Token = 672 + Token_START Token = 673 + Token_STATEMENT Token = 674 + Token_STATISTICS Token = 675 + Token_STDIN Token = 676 + Token_STDOUT Token = 677 + Token_STORAGE Token = 678 + Token_STORED Token = 679 + Token_STRICT_P Token = 680 + Token_STRING_P Token = 681 + Token_STRIP_P Token = 682 + Token_SUBSCRIPTION Token = 683 + Token_SUBSTRING Token = 684 + Token_SUPPORT Token = 685 + Token_SYMMETRIC Token = 686 + Token_SYSID Token = 687 + Token_SYSTEM_P Token = 688 + Token_SYSTEM_USER Token = 689 + Token_TABLE Token = 690 + Token_TABLES Token = 691 + Token_TABLESAMPLE Token = 692 + Token_TABLESPACE Token = 693 + Token_TARGET Token = 694 + Token_TEMP Token = 695 + Token_TEMPLATE Token = 696 + Token_TEMPORARY Token = 697 + Token_TEXT_P Token = 698 + Token_THEN Token = 699 + Token_TIES Token = 700 + Token_TIME Token = 701 + Token_TIMESTAMP Token = 702 + Token_TO Token = 703 + Token_TRAILING Token = 704 + Token_TRANSACTION Token = 705 + Token_TRANSFORM Token = 706 + Token_TREAT Token = 707 + Token_TRIGGER Token = 708 + Token_TRIM Token = 709 + Token_TRUE_P Token = 710 + Token_TRUNCATE Token = 711 + Token_TRUSTED Token = 712 + Token_TYPE_P Token = 713 + Token_TYPES_P Token = 714 + Token_UESCAPE Token = 715 + Token_UNBOUNDED Token = 716 + Token_UNCONDITIONAL Token = 717 + Token_UNCOMMITTED Token = 718 + Token_UNENCRYPTED Token = 719 + Token_UNION Token = 720 + Token_UNIQUE Token = 721 + Token_UNKNOWN Token = 722 + Token_UNLISTEN Token = 723 + Token_UNLOGGED Token = 724 + Token_UNTIL Token = 725 + Token_UPDATE Token = 726 + Token_USER Token = 727 + Token_USING Token = 728 + Token_VACUUM Token = 729 + Token_VALID Token = 730 + Token_VALIDATE Token = 731 + Token_VALIDATOR Token = 732 + Token_VALUE_P Token = 733 + Token_VALUES Token = 734 + Token_VARCHAR Token = 735 + Token_VARIADIC Token = 736 + Token_VARYING Token = 737 + Token_VERBOSE Token = 738 + Token_VERSION_P Token = 739 + Token_VIEW Token = 740 + Token_VIEWS Token = 741 + Token_VOLATILE Token = 742 + Token_WHEN Token = 743 + Token_WHERE Token = 744 + Token_WHITESPACE_P Token = 745 + Token_WINDOW Token = 746 + Token_WITH Token = 747 + Token_WITHIN Token = 748 + Token_WITHOUT Token = 749 + Token_WORK Token = 750 + Token_WRAPPER Token = 751 + Token_WRITE Token = 752 + Token_XML_P Token = 753 + Token_XMLATTRIBUTES Token = 754 + Token_XMLCONCAT Token = 755 + Token_XMLELEMENT Token = 756 + Token_XMLEXISTS Token = 757 + Token_XMLFOREST Token = 758 + Token_XMLNAMESPACES Token = 759 + Token_XMLPARSE Token = 760 + Token_XMLPI Token = 761 + Token_XMLROOT Token = 762 + Token_XMLSERIALIZE Token = 763 + Token_XMLTABLE Token = 764 + Token_YEAR_P Token = 765 + Token_YES_P Token = 766 + Token_ZONE Token = 767 + Token_FORMAT_LA Token = 768 + Token_NOT_LA Token = 769 + Token_NULLS_LA Token = 770 + Token_WITH_LA Token = 771 + Token_WITHOUT_LA Token = 772 + Token_MODE_TYPE_NAME Token = 773 + Token_MODE_PLPGSQL_EXPR Token = 774 + Token_MODE_PLPGSQL_ASSIGN1 Token = 775 + Token_MODE_PLPGSQL_ASSIGN2 Token = 776 + Token_MODE_PLPGSQL_ASSIGN3 Token = 777 + Token_UMINUS Token = 778 ) // Enum value maps for Token. @@ -4633,420 +5056,440 @@ var ( 342: "COMMITTED", 343: "COMPRESSION", 344: "CONCURRENTLY", - 345: "CONFIGURATION", - 346: "CONFLICT", - 347: "CONNECTION", - 348: "CONSTRAINT", - 349: "CONSTRAINTS", - 350: "CONTENT_P", - 351: "CONTINUE_P", - 352: "CONVERSION_P", - 353: "COPY", - 354: "COST", - 355: "CREATE", - 356: "CROSS", - 357: "CSV", - 358: "CUBE", - 359: "CURRENT_P", - 360: "CURRENT_CATALOG", - 361: "CURRENT_DATE", - 362: "CURRENT_ROLE", - 363: "CURRENT_SCHEMA", - 364: "CURRENT_TIME", - 365: "CURRENT_TIMESTAMP", - 366: "CURRENT_USER", - 367: "CURSOR", - 368: "CYCLE", - 369: "DATA_P", - 370: "DATABASE", - 371: "DAY_P", - 372: "DEALLOCATE", - 373: "DEC", - 374: "DECIMAL_P", - 375: "DECLARE", - 376: "DEFAULT", - 377: "DEFAULTS", - 378: "DEFERRABLE", - 379: "DEFERRED", - 380: "DEFINER", - 381: "DELETE_P", - 382: "DELIMITER", - 383: "DELIMITERS", - 384: "DEPENDS", - 385: "DEPTH", - 386: "DESC", - 387: "DETACH", - 388: "DICTIONARY", - 389: "DISABLE_P", - 390: "DISCARD", - 391: "DISTINCT", - 392: "DO", - 393: "DOCUMENT_P", - 394: "DOMAIN_P", - 395: "DOUBLE_P", - 396: "DROP", - 397: "EACH", - 398: "ELSE", - 399: "ENABLE_P", - 400: "ENCODING", - 401: "ENCRYPTED", - 402: "END_P", - 403: "ENUM_P", - 404: "ESCAPE", - 405: "EVENT", - 406: "EXCEPT", - 407: "EXCLUDE", - 408: "EXCLUDING", - 409: "EXCLUSIVE", - 410: "EXECUTE", - 411: "EXISTS", - 412: "EXPLAIN", - 413: "EXPRESSION", - 414: "EXTENSION", - 415: "EXTERNAL", - 416: "EXTRACT", - 417: "FALSE_P", - 418: "FAMILY", - 419: "FETCH", - 420: "FILTER", - 421: "FINALIZE", - 422: "FIRST_P", - 423: "FLOAT_P", - 424: "FOLLOWING", - 425: "FOR", - 426: "FORCE", - 427: "FOREIGN", - 428: "FORMAT", - 429: "FORWARD", - 430: "FREEZE", - 431: "FROM", - 432: "FULL", - 433: "FUNCTION", - 434: "FUNCTIONS", - 435: "GENERATED", - 436: "GLOBAL", - 437: "GRANT", - 438: "GRANTED", - 439: "GREATEST", - 440: "GROUP_P", - 441: "GROUPING", - 442: "GROUPS", - 443: "HANDLER", - 444: "HAVING", - 445: "HEADER_P", - 446: "HOLD", - 447: "HOUR_P", - 448: "IDENTITY_P", - 449: "IF_P", - 450: "ILIKE", - 451: "IMMEDIATE", - 452: "IMMUTABLE", - 453: "IMPLICIT_P", - 454: "IMPORT_P", - 455: "IN_P", - 456: "INCLUDE", - 457: "INCLUDING", - 458: "INCREMENT", - 459: "INDENT", - 460: "INDEX", - 461: "INDEXES", - 462: "INHERIT", - 463: "INHERITS", - 464: "INITIALLY", - 465: "INLINE_P", - 466: "INNER_P", - 467: "INOUT", - 468: "INPUT_P", - 469: "INSENSITIVE", - 470: "INSERT", - 471: "INSTEAD", - 472: "INT_P", - 473: "INTEGER", - 474: "INTERSECT", - 475: "INTERVAL", - 476: "INTO", - 477: "INVOKER", - 478: "IS", - 479: "ISNULL", - 480: "ISOLATION", - 481: "JOIN", - 482: "JSON", - 483: "JSON_ARRAY", - 484: "JSON_ARRAYAGG", - 485: "JSON_OBJECT", - 486: "JSON_OBJECTAGG", - 487: "KEY", - 488: "KEYS", - 489: "LABEL", - 490: "LANGUAGE", - 491: "LARGE_P", - 492: "LAST_P", - 493: "LATERAL_P", - 494: "LEADING", - 495: "LEAKPROOF", - 496: "LEAST", - 497: "LEFT", - 498: "LEVEL", - 499: "LIKE", - 500: "LIMIT", - 501: "LISTEN", - 502: "LOAD", - 503: "LOCAL", - 504: "LOCALTIME", - 505: "LOCALTIMESTAMP", - 506: "LOCATION", - 507: "LOCK_P", - 508: "LOCKED", - 509: "LOGGED", - 510: "MAPPING", - 511: "MATCH", - 512: "MATCHED", - 513: "MATERIALIZED", - 514: "MAXVALUE", - 515: "MERGE", - 516: "METHOD", - 517: "MINUTE_P", - 518: "MINVALUE", - 519: "MODE", - 520: "MONTH_P", - 521: "MOVE", - 522: "NAME_P", - 523: "NAMES", - 524: "NATIONAL", - 525: "NATURAL", - 526: "NCHAR", - 527: "NEW", - 528: "NEXT", - 529: "NFC", - 530: "NFD", - 531: "NFKC", - 532: "NFKD", - 533: "NO", - 534: "NONE", - 535: "NORMALIZE", - 536: "NORMALIZED", - 537: "NOT", - 538: "NOTHING", - 539: "NOTIFY", - 540: "NOTNULL", - 541: "NOWAIT", - 542: "NULL_P", - 543: "NULLIF", - 544: "NULLS_P", - 545: "NUMERIC", - 546: "OBJECT_P", - 547: "OF", - 548: "OFF", - 549: "OFFSET", - 550: "OIDS", - 551: "OLD", - 552: "ON", - 553: "ONLY", - 554: "OPERATOR", - 555: "OPTION", - 556: "OPTIONS", - 557: "OR", - 558: "ORDER", - 559: "ORDINALITY", - 560: "OTHERS", - 561: "OUT_P", - 562: "OUTER_P", - 563: "OVER", - 564: "OVERLAPS", - 565: "OVERLAY", - 566: "OVERRIDING", - 567: "OWNED", - 568: "OWNER", - 569: "PARALLEL", - 570: "PARAMETER", - 571: "PARSER", - 572: "PARTIAL", - 573: "PARTITION", - 574: "PASSING", - 575: "PASSWORD", - 576: "PLACING", - 577: "PLANS", - 578: "POLICY", - 579: "POSITION", - 580: "PRECEDING", - 581: "PRECISION", - 582: "PRESERVE", - 583: "PREPARE", - 584: "PREPARED", - 585: "PRIMARY", - 586: "PRIOR", - 587: "PRIVILEGES", - 588: "PROCEDURAL", - 589: "PROCEDURE", - 590: "PROCEDURES", - 591: "PROGRAM", - 592: "PUBLICATION", - 593: "QUOTE", - 594: "RANGE", - 595: "READ", - 596: "REAL", - 597: "REASSIGN", - 598: "RECHECK", - 599: "RECURSIVE", - 600: "REF_P", - 601: "REFERENCES", - 602: "REFERENCING", - 603: "REFRESH", - 604: "REINDEX", - 605: "RELATIVE_P", - 606: "RELEASE", - 607: "RENAME", - 608: "REPEATABLE", - 609: "REPLACE", - 610: "REPLICA", - 611: "RESET", - 612: "RESTART", - 613: "RESTRICT", - 614: "RETURN", - 615: "RETURNING", - 616: "RETURNS", - 617: "REVOKE", - 618: "RIGHT", - 619: "ROLE", - 620: "ROLLBACK", - 621: "ROLLUP", - 622: "ROUTINE", - 623: "ROUTINES", - 624: "ROW", - 625: "ROWS", - 626: "RULE", - 627: "SAVEPOINT", - 628: "SCALAR", - 629: "SCHEMA", - 630: "SCHEMAS", - 631: "SCROLL", - 632: "SEARCH", - 633: "SECOND_P", - 634: "SECURITY", - 635: "SELECT", - 636: "SEQUENCE", - 637: "SEQUENCES", - 638: "SERIALIZABLE", - 639: "SERVER", - 640: "SESSION", - 641: "SESSION_USER", - 642: "SET", - 643: "SETS", - 644: "SETOF", - 645: "SHARE", - 646: "SHOW", - 647: "SIMILAR", - 648: "SIMPLE", - 649: "SKIP", - 650: "SMALLINT", - 651: "SNAPSHOT", - 652: "SOME", - 653: "SQL_P", - 654: "STABLE", - 655: "STANDALONE_P", - 656: "START", - 657: "STATEMENT", - 658: "STATISTICS", - 659: "STDIN", - 660: "STDOUT", - 661: "STORAGE", - 662: "STORED", - 663: "STRICT_P", - 664: "STRIP_P", - 665: "SUBSCRIPTION", - 666: "SUBSTRING", - 667: "SUPPORT", - 668: "SYMMETRIC", - 669: "SYSID", - 670: "SYSTEM_P", - 671: "SYSTEM_USER", - 672: "TABLE", - 673: "TABLES", - 674: "TABLESAMPLE", - 675: "TABLESPACE", - 676: "TEMP", - 677: "TEMPLATE", - 678: "TEMPORARY", - 679: "TEXT_P", - 680: "THEN", - 681: "TIES", - 682: "TIME", - 683: "TIMESTAMP", - 684: "TO", - 685: "TRAILING", - 686: "TRANSACTION", - 687: "TRANSFORM", - 688: "TREAT", - 689: "TRIGGER", - 690: "TRIM", - 691: "TRUE_P", - 692: "TRUNCATE", - 693: "TRUSTED", - 694: "TYPE_P", - 695: "TYPES_P", - 696: "UESCAPE", - 697: "UNBOUNDED", - 698: "UNCOMMITTED", - 699: "UNENCRYPTED", - 700: "UNION", - 701: "UNIQUE", - 702: "UNKNOWN", - 703: "UNLISTEN", - 704: "UNLOGGED", - 705: "UNTIL", - 706: "UPDATE", - 707: "USER", - 708: "USING", - 709: "VACUUM", - 710: "VALID", - 711: "VALIDATE", - 712: "VALIDATOR", - 713: "VALUE_P", - 714: "VALUES", - 715: "VARCHAR", - 716: "VARIADIC", - 717: "VARYING", - 718: "VERBOSE", - 719: "VERSION_P", - 720: "VIEW", - 721: "VIEWS", - 722: "VOLATILE", - 723: "WHEN", - 724: "WHERE", - 725: "WHITESPACE_P", - 726: "WINDOW", - 727: "WITH", - 728: "WITHIN", - 729: "WITHOUT", - 730: "WORK", - 731: "WRAPPER", - 732: "WRITE", - 733: "XML_P", - 734: "XMLATTRIBUTES", - 735: "XMLCONCAT", - 736: "XMLELEMENT", - 737: "XMLEXISTS", - 738: "XMLFOREST", - 739: "XMLNAMESPACES", - 740: "XMLPARSE", - 741: "XMLPI", - 742: "XMLROOT", - 743: "XMLSERIALIZE", - 744: "XMLTABLE", - 745: "YEAR_P", - 746: "YES_P", - 747: "ZONE", - 748: "FORMAT_LA", - 749: "NOT_LA", - 750: "NULLS_LA", - 751: "WITH_LA", - 752: "WITHOUT_LA", - 753: "MODE_TYPE_NAME", - 754: "MODE_PLPGSQL_EXPR", - 755: "MODE_PLPGSQL_ASSIGN1", - 756: "MODE_PLPGSQL_ASSIGN2", - 757: "MODE_PLPGSQL_ASSIGN3", - 758: "UMINUS", + 345: "CONDITIONAL", + 346: "CONFIGURATION", + 347: "CONFLICT", + 348: "CONNECTION", + 349: "CONSTRAINT", + 350: "CONSTRAINTS", + 351: "CONTENT_P", + 352: "CONTINUE_P", + 353: "CONVERSION_P", + 354: "COPY", + 355: "COST", + 356: "CREATE", + 357: "CROSS", + 358: "CSV", + 359: "CUBE", + 360: "CURRENT_P", + 361: "CURRENT_CATALOG", + 362: "CURRENT_DATE", + 363: "CURRENT_ROLE", + 364: "CURRENT_SCHEMA", + 365: "CURRENT_TIME", + 366: "CURRENT_TIMESTAMP", + 367: "CURRENT_USER", + 368: "CURSOR", + 369: "CYCLE", + 370: "DATA_P", + 371: "DATABASE", + 372: "DAY_P", + 373: "DEALLOCATE", + 374: "DEC", + 375: "DECIMAL_P", + 376: "DECLARE", + 377: "DEFAULT", + 378: "DEFAULTS", + 379: "DEFERRABLE", + 380: "DEFERRED", + 381: "DEFINER", + 382: "DELETE_P", + 383: "DELIMITER", + 384: "DELIMITERS", + 385: "DEPENDS", + 386: "DEPTH", + 387: "DESC", + 388: "DETACH", + 389: "DICTIONARY", + 390: "DISABLE_P", + 391: "DISCARD", + 392: "DISTINCT", + 393: "DO", + 394: "DOCUMENT_P", + 395: "DOMAIN_P", + 396: "DOUBLE_P", + 397: "DROP", + 398: "EACH", + 399: "ELSE", + 400: "EMPTY_P", + 401: "ENABLE_P", + 402: "ENCODING", + 403: "ENCRYPTED", + 404: "END_P", + 405: "ENUM_P", + 406: "ERROR_P", + 407: "ESCAPE", + 408: "EVENT", + 409: "EXCEPT", + 410: "EXCLUDE", + 411: "EXCLUDING", + 412: "EXCLUSIVE", + 413: "EXECUTE", + 414: "EXISTS", + 415: "EXPLAIN", + 416: "EXPRESSION", + 417: "EXTENSION", + 418: "EXTERNAL", + 419: "EXTRACT", + 420: "FALSE_P", + 421: "FAMILY", + 422: "FETCH", + 423: "FILTER", + 424: "FINALIZE", + 425: "FIRST_P", + 426: "FLOAT_P", + 427: "FOLLOWING", + 428: "FOR", + 429: "FORCE", + 430: "FOREIGN", + 431: "FORMAT", + 432: "FORWARD", + 433: "FREEZE", + 434: "FROM", + 435: "FULL", + 436: "FUNCTION", + 437: "FUNCTIONS", + 438: "GENERATED", + 439: "GLOBAL", + 440: "GRANT", + 441: "GRANTED", + 442: "GREATEST", + 443: "GROUP_P", + 444: "GROUPING", + 445: "GROUPS", + 446: "HANDLER", + 447: "HAVING", + 448: "HEADER_P", + 449: "HOLD", + 450: "HOUR_P", + 451: "IDENTITY_P", + 452: "IF_P", + 453: "ILIKE", + 454: "IMMEDIATE", + 455: "IMMUTABLE", + 456: "IMPLICIT_P", + 457: "IMPORT_P", + 458: "IN_P", + 459: "INCLUDE", + 460: "INCLUDING", + 461: "INCREMENT", + 462: "INDENT", + 463: "INDEX", + 464: "INDEXES", + 465: "INHERIT", + 466: "INHERITS", + 467: "INITIALLY", + 468: "INLINE_P", + 469: "INNER_P", + 470: "INOUT", + 471: "INPUT_P", + 472: "INSENSITIVE", + 473: "INSERT", + 474: "INSTEAD", + 475: "INT_P", + 476: "INTEGER", + 477: "INTERSECT", + 478: "INTERVAL", + 479: "INTO", + 480: "INVOKER", + 481: "IS", + 482: "ISNULL", + 483: "ISOLATION", + 484: "JOIN", + 485: "JSON", + 486: "JSON_ARRAY", + 487: "JSON_ARRAYAGG", + 488: "JSON_EXISTS", + 489: "JSON_OBJECT", + 490: "JSON_OBJECTAGG", + 491: "JSON_QUERY", + 492: "JSON_SCALAR", + 493: "JSON_SERIALIZE", + 494: "JSON_TABLE", + 495: "JSON_VALUE", + 496: "KEEP", + 497: "KEY", + 498: "KEYS", + 499: "LABEL", + 500: "LANGUAGE", + 501: "LARGE_P", + 502: "LAST_P", + 503: "LATERAL_P", + 504: "LEADING", + 505: "LEAKPROOF", + 506: "LEAST", + 507: "LEFT", + 508: "LEVEL", + 509: "LIKE", + 510: "LIMIT", + 511: "LISTEN", + 512: "LOAD", + 513: "LOCAL", + 514: "LOCALTIME", + 515: "LOCALTIMESTAMP", + 516: "LOCATION", + 517: "LOCK_P", + 518: "LOCKED", + 519: "LOGGED", + 520: "MAPPING", + 521: "MATCH", + 522: "MATCHED", + 523: "MATERIALIZED", + 524: "MAXVALUE", + 525: "MERGE", + 526: "MERGE_ACTION", + 527: "METHOD", + 528: "MINUTE_P", + 529: "MINVALUE", + 530: "MODE", + 531: "MONTH_P", + 532: "MOVE", + 533: "NAME_P", + 534: "NAMES", + 535: "NATIONAL", + 536: "NATURAL", + 537: "NCHAR", + 538: "NESTED", + 539: "NEW", + 540: "NEXT", + 541: "NFC", + 542: "NFD", + 543: "NFKC", + 544: "NFKD", + 545: "NO", + 546: "NONE", + 547: "NORMALIZE", + 548: "NORMALIZED", + 549: "NOT", + 550: "NOTHING", + 551: "NOTIFY", + 552: "NOTNULL", + 553: "NOWAIT", + 554: "NULL_P", + 555: "NULLIF", + 556: "NULLS_P", + 557: "NUMERIC", + 558: "OBJECT_P", + 559: "OF", + 560: "OFF", + 561: "OFFSET", + 562: "OIDS", + 563: "OLD", + 564: "OMIT", + 565: "ON", + 566: "ONLY", + 567: "OPERATOR", + 568: "OPTION", + 569: "OPTIONS", + 570: "OR", + 571: "ORDER", + 572: "ORDINALITY", + 573: "OTHERS", + 574: "OUT_P", + 575: "OUTER_P", + 576: "OVER", + 577: "OVERLAPS", + 578: "OVERLAY", + 579: "OVERRIDING", + 580: "OWNED", + 581: "OWNER", + 582: "PARALLEL", + 583: "PARAMETER", + 584: "PARSER", + 585: "PARTIAL", + 586: "PARTITION", + 587: "PASSING", + 588: "PASSWORD", + 589: "PATH", + 590: "PLACING", + 591: "PLAN", + 592: "PLANS", + 593: "POLICY", + 594: "POSITION", + 595: "PRECEDING", + 596: "PRECISION", + 597: "PRESERVE", + 598: "PREPARE", + 599: "PREPARED", + 600: "PRIMARY", + 601: "PRIOR", + 602: "PRIVILEGES", + 603: "PROCEDURAL", + 604: "PROCEDURE", + 605: "PROCEDURES", + 606: "PROGRAM", + 607: "PUBLICATION", + 608: "QUOTE", + 609: "QUOTES", + 610: "RANGE", + 611: "READ", + 612: "REAL", + 613: "REASSIGN", + 614: "RECHECK", + 615: "RECURSIVE", + 616: "REF_P", + 617: "REFERENCES", + 618: "REFERENCING", + 619: "REFRESH", + 620: "REINDEX", + 621: "RELATIVE_P", + 622: "RELEASE", + 623: "RENAME", + 624: "REPEATABLE", + 625: "REPLACE", + 626: "REPLICA", + 627: "RESET", + 628: "RESTART", + 629: "RESTRICT", + 630: "RETURN", + 631: "RETURNING", + 632: "RETURNS", + 633: "REVOKE", + 634: "RIGHT", + 635: "ROLE", + 636: "ROLLBACK", + 637: "ROLLUP", + 638: "ROUTINE", + 639: "ROUTINES", + 640: "ROW", + 641: "ROWS", + 642: "RULE", + 643: "SAVEPOINT", + 644: "SCALAR", + 645: "SCHEMA", + 646: "SCHEMAS", + 647: "SCROLL", + 648: "SEARCH", + 649: "SECOND_P", + 650: "SECURITY", + 651: "SELECT", + 652: "SEQUENCE", + 653: "SEQUENCES", + 654: "SERIALIZABLE", + 655: "SERVER", + 656: "SESSION", + 657: "SESSION_USER", + 658: "SET", + 659: "SETS", + 660: "SETOF", + 661: "SHARE", + 662: "SHOW", + 663: "SIMILAR", + 664: "SIMPLE", + 665: "SKIP", + 666: "SMALLINT", + 667: "SNAPSHOT", + 668: "SOME", + 669: "SOURCE", + 670: "SQL_P", + 671: "STABLE", + 672: "STANDALONE_P", + 673: "START", + 674: "STATEMENT", + 675: "STATISTICS", + 676: "STDIN", + 677: "STDOUT", + 678: "STORAGE", + 679: "STORED", + 680: "STRICT_P", + 681: "STRING_P", + 682: "STRIP_P", + 683: "SUBSCRIPTION", + 684: "SUBSTRING", + 685: "SUPPORT", + 686: "SYMMETRIC", + 687: "SYSID", + 688: "SYSTEM_P", + 689: "SYSTEM_USER", + 690: "TABLE", + 691: "TABLES", + 692: "TABLESAMPLE", + 693: "TABLESPACE", + 694: "TARGET", + 695: "TEMP", + 696: "TEMPLATE", + 697: "TEMPORARY", + 698: "TEXT_P", + 699: "THEN", + 700: "TIES", + 701: "TIME", + 702: "TIMESTAMP", + 703: "TO", + 704: "TRAILING", + 705: "TRANSACTION", + 706: "TRANSFORM", + 707: "TREAT", + 708: "TRIGGER", + 709: "TRIM", + 710: "TRUE_P", + 711: "TRUNCATE", + 712: "TRUSTED", + 713: "TYPE_P", + 714: "TYPES_P", + 715: "UESCAPE", + 716: "UNBOUNDED", + 717: "UNCONDITIONAL", + 718: "UNCOMMITTED", + 719: "UNENCRYPTED", + 720: "UNION", + 721: "UNIQUE", + 722: "UNKNOWN", + 723: "UNLISTEN", + 724: "UNLOGGED", + 725: "UNTIL", + 726: "UPDATE", + 727: "USER", + 728: "USING", + 729: "VACUUM", + 730: "VALID", + 731: "VALIDATE", + 732: "VALIDATOR", + 733: "VALUE_P", + 734: "VALUES", + 735: "VARCHAR", + 736: "VARIADIC", + 737: "VARYING", + 738: "VERBOSE", + 739: "VERSION_P", + 740: "VIEW", + 741: "VIEWS", + 742: "VOLATILE", + 743: "WHEN", + 744: "WHERE", + 745: "WHITESPACE_P", + 746: "WINDOW", + 747: "WITH", + 748: "WITHIN", + 749: "WITHOUT", + 750: "WORK", + 751: "WRAPPER", + 752: "WRITE", + 753: "XML_P", + 754: "XMLATTRIBUTES", + 755: "XMLCONCAT", + 756: "XMLELEMENT", + 757: "XMLEXISTS", + 758: "XMLFOREST", + 759: "XMLNAMESPACES", + 760: "XMLPARSE", + 761: "XMLPI", + 762: "XMLROOT", + 763: "XMLSERIALIZE", + 764: "XMLTABLE", + 765: "YEAR_P", + 766: "YES_P", + 767: "ZONE", + 768: "FORMAT_LA", + 769: "NOT_LA", + 770: "NULLS_LA", + 771: "WITH_LA", + 772: "WITHOUT_LA", + 773: "MODE_TYPE_NAME", + 774: "MODE_PLPGSQL_EXPR", + 775: "MODE_PLPGSQL_ASSIGN1", + 776: "MODE_PLPGSQL_ASSIGN2", + 777: "MODE_PLPGSQL_ASSIGN3", + 778: "UMINUS", } Token_value = map[string]int32{ "NUL": 0, @@ -5157,420 +5600,440 @@ var ( "COMMITTED": 342, "COMPRESSION": 343, "CONCURRENTLY": 344, - "CONFIGURATION": 345, - "CONFLICT": 346, - "CONNECTION": 347, - "CONSTRAINT": 348, - "CONSTRAINTS": 349, - "CONTENT_P": 350, - "CONTINUE_P": 351, - "CONVERSION_P": 352, - "COPY": 353, - "COST": 354, - "CREATE": 355, - "CROSS": 356, - "CSV": 357, - "CUBE": 358, - "CURRENT_P": 359, - "CURRENT_CATALOG": 360, - "CURRENT_DATE": 361, - "CURRENT_ROLE": 362, - "CURRENT_SCHEMA": 363, - "CURRENT_TIME": 364, - "CURRENT_TIMESTAMP": 365, - "CURRENT_USER": 366, - "CURSOR": 367, - "CYCLE": 368, - "DATA_P": 369, - "DATABASE": 370, - "DAY_P": 371, - "DEALLOCATE": 372, - "DEC": 373, - "DECIMAL_P": 374, - "DECLARE": 375, - "DEFAULT": 376, - "DEFAULTS": 377, - "DEFERRABLE": 378, - "DEFERRED": 379, - "DEFINER": 380, - "DELETE_P": 381, - "DELIMITER": 382, - "DELIMITERS": 383, - "DEPENDS": 384, - "DEPTH": 385, - "DESC": 386, - "DETACH": 387, - "DICTIONARY": 388, - "DISABLE_P": 389, - "DISCARD": 390, - "DISTINCT": 391, - "DO": 392, - "DOCUMENT_P": 393, - "DOMAIN_P": 394, - "DOUBLE_P": 395, - "DROP": 396, - "EACH": 397, - "ELSE": 398, - "ENABLE_P": 399, - "ENCODING": 400, - "ENCRYPTED": 401, - "END_P": 402, - "ENUM_P": 403, - "ESCAPE": 404, - "EVENT": 405, - "EXCEPT": 406, - "EXCLUDE": 407, - "EXCLUDING": 408, - "EXCLUSIVE": 409, - "EXECUTE": 410, - "EXISTS": 411, - "EXPLAIN": 412, - "EXPRESSION": 413, - "EXTENSION": 414, - "EXTERNAL": 415, - "EXTRACT": 416, - "FALSE_P": 417, - "FAMILY": 418, - "FETCH": 419, - "FILTER": 420, - "FINALIZE": 421, - "FIRST_P": 422, - "FLOAT_P": 423, - "FOLLOWING": 424, - "FOR": 425, - "FORCE": 426, - "FOREIGN": 427, - "FORMAT": 428, - "FORWARD": 429, - "FREEZE": 430, - "FROM": 431, - "FULL": 432, - "FUNCTION": 433, - "FUNCTIONS": 434, - "GENERATED": 435, - "GLOBAL": 436, - "GRANT": 437, - "GRANTED": 438, - "GREATEST": 439, - "GROUP_P": 440, - "GROUPING": 441, - "GROUPS": 442, - "HANDLER": 443, - "HAVING": 444, - "HEADER_P": 445, - "HOLD": 446, - "HOUR_P": 447, - "IDENTITY_P": 448, - "IF_P": 449, - "ILIKE": 450, - "IMMEDIATE": 451, - "IMMUTABLE": 452, - "IMPLICIT_P": 453, - "IMPORT_P": 454, - "IN_P": 455, - "INCLUDE": 456, - "INCLUDING": 457, - "INCREMENT": 458, - "INDENT": 459, - "INDEX": 460, - "INDEXES": 461, - "INHERIT": 462, - "INHERITS": 463, - "INITIALLY": 464, - "INLINE_P": 465, - "INNER_P": 466, - "INOUT": 467, - "INPUT_P": 468, - "INSENSITIVE": 469, - "INSERT": 470, - "INSTEAD": 471, - "INT_P": 472, - "INTEGER": 473, - "INTERSECT": 474, - "INTERVAL": 475, - "INTO": 476, - "INVOKER": 477, - "IS": 478, - "ISNULL": 479, - "ISOLATION": 480, - "JOIN": 481, - "JSON": 482, - "JSON_ARRAY": 483, - "JSON_ARRAYAGG": 484, - "JSON_OBJECT": 485, - "JSON_OBJECTAGG": 486, - "KEY": 487, - "KEYS": 488, - "LABEL": 489, - "LANGUAGE": 490, - "LARGE_P": 491, - "LAST_P": 492, - "LATERAL_P": 493, - "LEADING": 494, - "LEAKPROOF": 495, - "LEAST": 496, - "LEFT": 497, - "LEVEL": 498, - "LIKE": 499, - "LIMIT": 500, - "LISTEN": 501, - "LOAD": 502, - "LOCAL": 503, - "LOCALTIME": 504, - "LOCALTIMESTAMP": 505, - "LOCATION": 506, - "LOCK_P": 507, - "LOCKED": 508, - "LOGGED": 509, - "MAPPING": 510, - "MATCH": 511, - "MATCHED": 512, - "MATERIALIZED": 513, - "MAXVALUE": 514, - "MERGE": 515, - "METHOD": 516, - "MINUTE_P": 517, - "MINVALUE": 518, - "MODE": 519, - "MONTH_P": 520, - "MOVE": 521, - "NAME_P": 522, - "NAMES": 523, - "NATIONAL": 524, - "NATURAL": 525, - "NCHAR": 526, - "NEW": 527, - "NEXT": 528, - "NFC": 529, - "NFD": 530, - "NFKC": 531, - "NFKD": 532, - "NO": 533, - "NONE": 534, - "NORMALIZE": 535, - "NORMALIZED": 536, - "NOT": 537, - "NOTHING": 538, - "NOTIFY": 539, - "NOTNULL": 540, - "NOWAIT": 541, - "NULL_P": 542, - "NULLIF": 543, - "NULLS_P": 544, - "NUMERIC": 545, - "OBJECT_P": 546, - "OF": 547, - "OFF": 548, - "OFFSET": 549, - "OIDS": 550, - "OLD": 551, - "ON": 552, - "ONLY": 553, - "OPERATOR": 554, - "OPTION": 555, - "OPTIONS": 556, - "OR": 557, - "ORDER": 558, - "ORDINALITY": 559, - "OTHERS": 560, - "OUT_P": 561, - "OUTER_P": 562, - "OVER": 563, - "OVERLAPS": 564, - "OVERLAY": 565, - "OVERRIDING": 566, - "OWNED": 567, - "OWNER": 568, - "PARALLEL": 569, - "PARAMETER": 570, - "PARSER": 571, - "PARTIAL": 572, - "PARTITION": 573, - "PASSING": 574, - "PASSWORD": 575, - "PLACING": 576, - "PLANS": 577, - "POLICY": 578, - "POSITION": 579, - "PRECEDING": 580, - "PRECISION": 581, - "PRESERVE": 582, - "PREPARE": 583, - "PREPARED": 584, - "PRIMARY": 585, - "PRIOR": 586, - "PRIVILEGES": 587, - "PROCEDURAL": 588, - "PROCEDURE": 589, - "PROCEDURES": 590, - "PROGRAM": 591, - "PUBLICATION": 592, - "QUOTE": 593, - "RANGE": 594, - "READ": 595, - "REAL": 596, - "REASSIGN": 597, - "RECHECK": 598, - "RECURSIVE": 599, - "REF_P": 600, - "REFERENCES": 601, - "REFERENCING": 602, - "REFRESH": 603, - "REINDEX": 604, - "RELATIVE_P": 605, - "RELEASE": 606, - "RENAME": 607, - "REPEATABLE": 608, - "REPLACE": 609, - "REPLICA": 610, - "RESET": 611, - "RESTART": 612, - "RESTRICT": 613, - "RETURN": 614, - "RETURNING": 615, - "RETURNS": 616, - "REVOKE": 617, - "RIGHT": 618, - "ROLE": 619, - "ROLLBACK": 620, - "ROLLUP": 621, - "ROUTINE": 622, - "ROUTINES": 623, - "ROW": 624, - "ROWS": 625, - "RULE": 626, - "SAVEPOINT": 627, - "SCALAR": 628, - "SCHEMA": 629, - "SCHEMAS": 630, - "SCROLL": 631, - "SEARCH": 632, - "SECOND_P": 633, - "SECURITY": 634, - "SELECT": 635, - "SEQUENCE": 636, - "SEQUENCES": 637, - "SERIALIZABLE": 638, - "SERVER": 639, - "SESSION": 640, - "SESSION_USER": 641, - "SET": 642, - "SETS": 643, - "SETOF": 644, - "SHARE": 645, - "SHOW": 646, - "SIMILAR": 647, - "SIMPLE": 648, - "SKIP": 649, - "SMALLINT": 650, - "SNAPSHOT": 651, - "SOME": 652, - "SQL_P": 653, - "STABLE": 654, - "STANDALONE_P": 655, - "START": 656, - "STATEMENT": 657, - "STATISTICS": 658, - "STDIN": 659, - "STDOUT": 660, - "STORAGE": 661, - "STORED": 662, - "STRICT_P": 663, - "STRIP_P": 664, - "SUBSCRIPTION": 665, - "SUBSTRING": 666, - "SUPPORT": 667, - "SYMMETRIC": 668, - "SYSID": 669, - "SYSTEM_P": 670, - "SYSTEM_USER": 671, - "TABLE": 672, - "TABLES": 673, - "TABLESAMPLE": 674, - "TABLESPACE": 675, - "TEMP": 676, - "TEMPLATE": 677, - "TEMPORARY": 678, - "TEXT_P": 679, - "THEN": 680, - "TIES": 681, - "TIME": 682, - "TIMESTAMP": 683, - "TO": 684, - "TRAILING": 685, - "TRANSACTION": 686, - "TRANSFORM": 687, - "TREAT": 688, - "TRIGGER": 689, - "TRIM": 690, - "TRUE_P": 691, - "TRUNCATE": 692, - "TRUSTED": 693, - "TYPE_P": 694, - "TYPES_P": 695, - "UESCAPE": 696, - "UNBOUNDED": 697, - "UNCOMMITTED": 698, - "UNENCRYPTED": 699, - "UNION": 700, - "UNIQUE": 701, - "UNKNOWN": 702, - "UNLISTEN": 703, - "UNLOGGED": 704, - "UNTIL": 705, - "UPDATE": 706, - "USER": 707, - "USING": 708, - "VACUUM": 709, - "VALID": 710, - "VALIDATE": 711, - "VALIDATOR": 712, - "VALUE_P": 713, - "VALUES": 714, - "VARCHAR": 715, - "VARIADIC": 716, - "VARYING": 717, - "VERBOSE": 718, - "VERSION_P": 719, - "VIEW": 720, - "VIEWS": 721, - "VOLATILE": 722, - "WHEN": 723, - "WHERE": 724, - "WHITESPACE_P": 725, - "WINDOW": 726, - "WITH": 727, - "WITHIN": 728, - "WITHOUT": 729, - "WORK": 730, - "WRAPPER": 731, - "WRITE": 732, - "XML_P": 733, - "XMLATTRIBUTES": 734, - "XMLCONCAT": 735, - "XMLELEMENT": 736, - "XMLEXISTS": 737, - "XMLFOREST": 738, - "XMLNAMESPACES": 739, - "XMLPARSE": 740, - "XMLPI": 741, - "XMLROOT": 742, - "XMLSERIALIZE": 743, - "XMLTABLE": 744, - "YEAR_P": 745, - "YES_P": 746, - "ZONE": 747, - "FORMAT_LA": 748, - "NOT_LA": 749, - "NULLS_LA": 750, - "WITH_LA": 751, - "WITHOUT_LA": 752, - "MODE_TYPE_NAME": 753, - "MODE_PLPGSQL_EXPR": 754, - "MODE_PLPGSQL_ASSIGN1": 755, - "MODE_PLPGSQL_ASSIGN2": 756, - "MODE_PLPGSQL_ASSIGN3": 757, - "UMINUS": 758, + "CONDITIONAL": 345, + "CONFIGURATION": 346, + "CONFLICT": 347, + "CONNECTION": 348, + "CONSTRAINT": 349, + "CONSTRAINTS": 350, + "CONTENT_P": 351, + "CONTINUE_P": 352, + "CONVERSION_P": 353, + "COPY": 354, + "COST": 355, + "CREATE": 356, + "CROSS": 357, + "CSV": 358, + "CUBE": 359, + "CURRENT_P": 360, + "CURRENT_CATALOG": 361, + "CURRENT_DATE": 362, + "CURRENT_ROLE": 363, + "CURRENT_SCHEMA": 364, + "CURRENT_TIME": 365, + "CURRENT_TIMESTAMP": 366, + "CURRENT_USER": 367, + "CURSOR": 368, + "CYCLE": 369, + "DATA_P": 370, + "DATABASE": 371, + "DAY_P": 372, + "DEALLOCATE": 373, + "DEC": 374, + "DECIMAL_P": 375, + "DECLARE": 376, + "DEFAULT": 377, + "DEFAULTS": 378, + "DEFERRABLE": 379, + "DEFERRED": 380, + "DEFINER": 381, + "DELETE_P": 382, + "DELIMITER": 383, + "DELIMITERS": 384, + "DEPENDS": 385, + "DEPTH": 386, + "DESC": 387, + "DETACH": 388, + "DICTIONARY": 389, + "DISABLE_P": 390, + "DISCARD": 391, + "DISTINCT": 392, + "DO": 393, + "DOCUMENT_P": 394, + "DOMAIN_P": 395, + "DOUBLE_P": 396, + "DROP": 397, + "EACH": 398, + "ELSE": 399, + "EMPTY_P": 400, + "ENABLE_P": 401, + "ENCODING": 402, + "ENCRYPTED": 403, + "END_P": 404, + "ENUM_P": 405, + "ERROR_P": 406, + "ESCAPE": 407, + "EVENT": 408, + "EXCEPT": 409, + "EXCLUDE": 410, + "EXCLUDING": 411, + "EXCLUSIVE": 412, + "EXECUTE": 413, + "EXISTS": 414, + "EXPLAIN": 415, + "EXPRESSION": 416, + "EXTENSION": 417, + "EXTERNAL": 418, + "EXTRACT": 419, + "FALSE_P": 420, + "FAMILY": 421, + "FETCH": 422, + "FILTER": 423, + "FINALIZE": 424, + "FIRST_P": 425, + "FLOAT_P": 426, + "FOLLOWING": 427, + "FOR": 428, + "FORCE": 429, + "FOREIGN": 430, + "FORMAT": 431, + "FORWARD": 432, + "FREEZE": 433, + "FROM": 434, + "FULL": 435, + "FUNCTION": 436, + "FUNCTIONS": 437, + "GENERATED": 438, + "GLOBAL": 439, + "GRANT": 440, + "GRANTED": 441, + "GREATEST": 442, + "GROUP_P": 443, + "GROUPING": 444, + "GROUPS": 445, + "HANDLER": 446, + "HAVING": 447, + "HEADER_P": 448, + "HOLD": 449, + "HOUR_P": 450, + "IDENTITY_P": 451, + "IF_P": 452, + "ILIKE": 453, + "IMMEDIATE": 454, + "IMMUTABLE": 455, + "IMPLICIT_P": 456, + "IMPORT_P": 457, + "IN_P": 458, + "INCLUDE": 459, + "INCLUDING": 460, + "INCREMENT": 461, + "INDENT": 462, + "INDEX": 463, + "INDEXES": 464, + "INHERIT": 465, + "INHERITS": 466, + "INITIALLY": 467, + "INLINE_P": 468, + "INNER_P": 469, + "INOUT": 470, + "INPUT_P": 471, + "INSENSITIVE": 472, + "INSERT": 473, + "INSTEAD": 474, + "INT_P": 475, + "INTEGER": 476, + "INTERSECT": 477, + "INTERVAL": 478, + "INTO": 479, + "INVOKER": 480, + "IS": 481, + "ISNULL": 482, + "ISOLATION": 483, + "JOIN": 484, + "JSON": 485, + "JSON_ARRAY": 486, + "JSON_ARRAYAGG": 487, + "JSON_EXISTS": 488, + "JSON_OBJECT": 489, + "JSON_OBJECTAGG": 490, + "JSON_QUERY": 491, + "JSON_SCALAR": 492, + "JSON_SERIALIZE": 493, + "JSON_TABLE": 494, + "JSON_VALUE": 495, + "KEEP": 496, + "KEY": 497, + "KEYS": 498, + "LABEL": 499, + "LANGUAGE": 500, + "LARGE_P": 501, + "LAST_P": 502, + "LATERAL_P": 503, + "LEADING": 504, + "LEAKPROOF": 505, + "LEAST": 506, + "LEFT": 507, + "LEVEL": 508, + "LIKE": 509, + "LIMIT": 510, + "LISTEN": 511, + "LOAD": 512, + "LOCAL": 513, + "LOCALTIME": 514, + "LOCALTIMESTAMP": 515, + "LOCATION": 516, + "LOCK_P": 517, + "LOCKED": 518, + "LOGGED": 519, + "MAPPING": 520, + "MATCH": 521, + "MATCHED": 522, + "MATERIALIZED": 523, + "MAXVALUE": 524, + "MERGE": 525, + "MERGE_ACTION": 526, + "METHOD": 527, + "MINUTE_P": 528, + "MINVALUE": 529, + "MODE": 530, + "MONTH_P": 531, + "MOVE": 532, + "NAME_P": 533, + "NAMES": 534, + "NATIONAL": 535, + "NATURAL": 536, + "NCHAR": 537, + "NESTED": 538, + "NEW": 539, + "NEXT": 540, + "NFC": 541, + "NFD": 542, + "NFKC": 543, + "NFKD": 544, + "NO": 545, + "NONE": 546, + "NORMALIZE": 547, + "NORMALIZED": 548, + "NOT": 549, + "NOTHING": 550, + "NOTIFY": 551, + "NOTNULL": 552, + "NOWAIT": 553, + "NULL_P": 554, + "NULLIF": 555, + "NULLS_P": 556, + "NUMERIC": 557, + "OBJECT_P": 558, + "OF": 559, + "OFF": 560, + "OFFSET": 561, + "OIDS": 562, + "OLD": 563, + "OMIT": 564, + "ON": 565, + "ONLY": 566, + "OPERATOR": 567, + "OPTION": 568, + "OPTIONS": 569, + "OR": 570, + "ORDER": 571, + "ORDINALITY": 572, + "OTHERS": 573, + "OUT_P": 574, + "OUTER_P": 575, + "OVER": 576, + "OVERLAPS": 577, + "OVERLAY": 578, + "OVERRIDING": 579, + "OWNED": 580, + "OWNER": 581, + "PARALLEL": 582, + "PARAMETER": 583, + "PARSER": 584, + "PARTIAL": 585, + "PARTITION": 586, + "PASSING": 587, + "PASSWORD": 588, + "PATH": 589, + "PLACING": 590, + "PLAN": 591, + "PLANS": 592, + "POLICY": 593, + "POSITION": 594, + "PRECEDING": 595, + "PRECISION": 596, + "PRESERVE": 597, + "PREPARE": 598, + "PREPARED": 599, + "PRIMARY": 600, + "PRIOR": 601, + "PRIVILEGES": 602, + "PROCEDURAL": 603, + "PROCEDURE": 604, + "PROCEDURES": 605, + "PROGRAM": 606, + "PUBLICATION": 607, + "QUOTE": 608, + "QUOTES": 609, + "RANGE": 610, + "READ": 611, + "REAL": 612, + "REASSIGN": 613, + "RECHECK": 614, + "RECURSIVE": 615, + "REF_P": 616, + "REFERENCES": 617, + "REFERENCING": 618, + "REFRESH": 619, + "REINDEX": 620, + "RELATIVE_P": 621, + "RELEASE": 622, + "RENAME": 623, + "REPEATABLE": 624, + "REPLACE": 625, + "REPLICA": 626, + "RESET": 627, + "RESTART": 628, + "RESTRICT": 629, + "RETURN": 630, + "RETURNING": 631, + "RETURNS": 632, + "REVOKE": 633, + "RIGHT": 634, + "ROLE": 635, + "ROLLBACK": 636, + "ROLLUP": 637, + "ROUTINE": 638, + "ROUTINES": 639, + "ROW": 640, + "ROWS": 641, + "RULE": 642, + "SAVEPOINT": 643, + "SCALAR": 644, + "SCHEMA": 645, + "SCHEMAS": 646, + "SCROLL": 647, + "SEARCH": 648, + "SECOND_P": 649, + "SECURITY": 650, + "SELECT": 651, + "SEQUENCE": 652, + "SEQUENCES": 653, + "SERIALIZABLE": 654, + "SERVER": 655, + "SESSION": 656, + "SESSION_USER": 657, + "SET": 658, + "SETS": 659, + "SETOF": 660, + "SHARE": 661, + "SHOW": 662, + "SIMILAR": 663, + "SIMPLE": 664, + "SKIP": 665, + "SMALLINT": 666, + "SNAPSHOT": 667, + "SOME": 668, + "SOURCE": 669, + "SQL_P": 670, + "STABLE": 671, + "STANDALONE_P": 672, + "START": 673, + "STATEMENT": 674, + "STATISTICS": 675, + "STDIN": 676, + "STDOUT": 677, + "STORAGE": 678, + "STORED": 679, + "STRICT_P": 680, + "STRING_P": 681, + "STRIP_P": 682, + "SUBSCRIPTION": 683, + "SUBSTRING": 684, + "SUPPORT": 685, + "SYMMETRIC": 686, + "SYSID": 687, + "SYSTEM_P": 688, + "SYSTEM_USER": 689, + "TABLE": 690, + "TABLES": 691, + "TABLESAMPLE": 692, + "TABLESPACE": 693, + "TARGET": 694, + "TEMP": 695, + "TEMPLATE": 696, + "TEMPORARY": 697, + "TEXT_P": 698, + "THEN": 699, + "TIES": 700, + "TIME": 701, + "TIMESTAMP": 702, + "TO": 703, + "TRAILING": 704, + "TRANSACTION": 705, + "TRANSFORM": 706, + "TREAT": 707, + "TRIGGER": 708, + "TRIM": 709, + "TRUE_P": 710, + "TRUNCATE": 711, + "TRUSTED": 712, + "TYPE_P": 713, + "TYPES_P": 714, + "UESCAPE": 715, + "UNBOUNDED": 716, + "UNCONDITIONAL": 717, + "UNCOMMITTED": 718, + "UNENCRYPTED": 719, + "UNION": 720, + "UNIQUE": 721, + "UNKNOWN": 722, + "UNLISTEN": 723, + "UNLOGGED": 724, + "UNTIL": 725, + "UPDATE": 726, + "USER": 727, + "USING": 728, + "VACUUM": 729, + "VALID": 730, + "VALIDATE": 731, + "VALIDATOR": 732, + "VALUE_P": 733, + "VALUES": 734, + "VARCHAR": 735, + "VARIADIC": 736, + "VARYING": 737, + "VERBOSE": 738, + "VERSION_P": 739, + "VIEW": 740, + "VIEWS": 741, + "VOLATILE": 742, + "WHEN": 743, + "WHERE": 744, + "WHITESPACE_P": 745, + "WINDOW": 746, + "WITH": 747, + "WITHIN": 748, + "WITHOUT": 749, + "WORK": 750, + "WRAPPER": 751, + "WRITE": 752, + "XML_P": 753, + "XMLATTRIBUTES": 754, + "XMLCONCAT": 755, + "XMLELEMENT": 756, + "XMLEXISTS": 757, + "XMLFOREST": 758, + "XMLNAMESPACES": 759, + "XMLPARSE": 760, + "XMLPI": 761, + "XMLROOT": 762, + "XMLSERIALIZE": 763, + "XMLTABLE": 764, + "YEAR_P": 765, + "YES_P": 766, + "ZONE": 767, + "FORMAT_LA": 768, + "NOT_LA": 769, + "NULLS_LA": 770, + "WITH_LA": 771, + "WITHOUT_LA": 772, + "MODE_TYPE_NAME": 773, + "MODE_PLPGSQL_EXPR": 774, + "MODE_PLPGSQL_ASSIGN1": 775, + "MODE_PLPGSQL_ASSIGN2": 776, + "MODE_PLPGSQL_ASSIGN3": 777, + "UMINUS": 778, } ) @@ -5585,11 +6048,11 @@ func (x Token) String() string { } func (Token) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[63].Descriptor() + return file_pg_query_proto_enumTypes[70].Descriptor() } func (Token) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[63] + return &file_pg_query_proto_enumTypes[70] } func (x Token) Number() protoreflect.EnumNumber { @@ -5598,7 +6061,7 @@ func (x Token) Number() protoreflect.EnumNumber { // Deprecated: Use Token.Descriptor instead. func (Token) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{63} + return file_pg_query_proto_rawDescGZIP(), []int{70} } type ParseResult struct { @@ -5727,6 +6190,8 @@ type Node struct { // *Node_Aggref // *Node_GroupingFunc // *Node_WindowFunc + // *Node_WindowFuncRunCondition + // *Node_MergeSupportFunc // *Node_SubscriptingRef // *Node_FuncExpr // *Node_NamedArgExpr @@ -5760,8 +6225,14 @@ type Node struct { // *Node_JsonValueExpr // *Node_JsonConstructorExpr // *Node_JsonIsPredicate + // *Node_JsonBehavior + // *Node_JsonExpr + // *Node_JsonTablePath + // *Node_JsonTablePathScan + // *Node_JsonTableSiblingJoin // *Node_NullTest // *Node_BooleanTest + // *Node_MergeAction // *Node_CoerceToDomain // *Node_CoerceToDomainValue // *Node_SetToDefault @@ -5805,6 +6276,7 @@ type Node struct { // *Node_PartitionSpec // *Node_PartitionBoundSpec // *Node_PartitionRangeDatum + // *Node_SinglePartitionSpec // *Node_PartitionCmd // *Node_RangeTblEntry // *Node_RtepermissionInfo @@ -5822,10 +6294,17 @@ type Node struct { // *Node_CtecycleClause // *Node_CommonTableExpr // *Node_MergeWhenClause - // *Node_MergeAction // *Node_TriggerTransition // *Node_JsonOutput + // *Node_JsonArgument + // *Node_JsonFuncExpr + // *Node_JsonTablePathSpec + // *Node_JsonTable + // *Node_JsonTableColumn // *Node_JsonKeyValue + // *Node_JsonParseExpr + // *Node_JsonScalarExpr + // *Node_JsonSerializeExpr // *Node_JsonObjectConstructor // *Node_JsonArrayConstructor // *Node_JsonArrayQueryConstructor @@ -6075,6 +6554,20 @@ func (x *Node) GetWindowFunc() *WindowFunc { return nil } +func (x *Node) GetWindowFuncRunCondition() *WindowFuncRunCondition { + if x, ok := x.GetNode().(*Node_WindowFuncRunCondition); ok { + return x.WindowFuncRunCondition + } + return nil +} + +func (x *Node) GetMergeSupportFunc() *MergeSupportFunc { + if x, ok := x.GetNode().(*Node_MergeSupportFunc); ok { + return x.MergeSupportFunc + } + return nil +} + func (x *Node) GetSubscriptingRef() *SubscriptingRef { if x, ok := x.GetNode().(*Node_SubscriptingRef); ok { return x.SubscriptingRef @@ -6306,6 +6799,41 @@ func (x *Node) GetJsonIsPredicate() *JsonIsPredicate { return nil } +func (x *Node) GetJsonBehavior() *JsonBehavior { + if x, ok := x.GetNode().(*Node_JsonBehavior); ok { + return x.JsonBehavior + } + return nil +} + +func (x *Node) GetJsonExpr() *JsonExpr { + if x, ok := x.GetNode().(*Node_JsonExpr); ok { + return x.JsonExpr + } + return nil +} + +func (x *Node) GetJsonTablePath() *JsonTablePath { + if x, ok := x.GetNode().(*Node_JsonTablePath); ok { + return x.JsonTablePath + } + return nil +} + +func (x *Node) GetJsonTablePathScan() *JsonTablePathScan { + if x, ok := x.GetNode().(*Node_JsonTablePathScan); ok { + return x.JsonTablePathScan + } + return nil +} + +func (x *Node) GetJsonTableSiblingJoin() *JsonTableSiblingJoin { + if x, ok := x.GetNode().(*Node_JsonTableSiblingJoin); ok { + return x.JsonTableSiblingJoin + } + return nil +} + func (x *Node) GetNullTest() *NullTest { if x, ok := x.GetNode().(*Node_NullTest); ok { return x.NullTest @@ -6320,6 +6848,13 @@ func (x *Node) GetBooleanTest() *BooleanTest { return nil } +func (x *Node) GetMergeAction() *MergeAction { + if x, ok := x.GetNode().(*Node_MergeAction); ok { + return x.MergeAction + } + return nil +} + func (x *Node) GetCoerceToDomain() *CoerceToDomain { if x, ok := x.GetNode().(*Node_CoerceToDomain); ok { return x.CoerceToDomain @@ -6621,6 +7156,13 @@ func (x *Node) GetPartitionRangeDatum() *PartitionRangeDatum { return nil } +func (x *Node) GetSinglePartitionSpec() *SinglePartitionSpec { + if x, ok := x.GetNode().(*Node_SinglePartitionSpec); ok { + return x.SinglePartitionSpec + } + return nil +} + func (x *Node) GetPartitionCmd() *PartitionCmd { if x, ok := x.GetNode().(*Node_PartitionCmd); ok { return x.PartitionCmd @@ -6740,13 +7282,6 @@ func (x *Node) GetMergeWhenClause() *MergeWhenClause { return nil } -func (x *Node) GetMergeAction() *MergeAction { - if x, ok := x.GetNode().(*Node_MergeAction); ok { - return x.MergeAction - } - return nil -} - func (x *Node) GetTriggerTransition() *TriggerTransition { if x, ok := x.GetNode().(*Node_TriggerTransition); ok { return x.TriggerTransition @@ -6761,6 +7296,41 @@ func (x *Node) GetJsonOutput() *JsonOutput { return nil } +func (x *Node) GetJsonArgument() *JsonArgument { + if x, ok := x.GetNode().(*Node_JsonArgument); ok { + return x.JsonArgument + } + return nil +} + +func (x *Node) GetJsonFuncExpr() *JsonFuncExpr { + if x, ok := x.GetNode().(*Node_JsonFuncExpr); ok { + return x.JsonFuncExpr + } + return nil +} + +func (x *Node) GetJsonTablePathSpec() *JsonTablePathSpec { + if x, ok := x.GetNode().(*Node_JsonTablePathSpec); ok { + return x.JsonTablePathSpec + } + return nil +} + +func (x *Node) GetJsonTable() *JsonTable { + if x, ok := x.GetNode().(*Node_JsonTable); ok { + return x.JsonTable + } + return nil +} + +func (x *Node) GetJsonTableColumn() *JsonTableColumn { + if x, ok := x.GetNode().(*Node_JsonTableColumn); ok { + return x.JsonTableColumn + } + return nil +} + func (x *Node) GetJsonKeyValue() *JsonKeyValue { if x, ok := x.GetNode().(*Node_JsonKeyValue); ok { return x.JsonKeyValue @@ -6768,6 +7338,27 @@ func (x *Node) GetJsonKeyValue() *JsonKeyValue { return nil } +func (x *Node) GetJsonParseExpr() *JsonParseExpr { + if x, ok := x.GetNode().(*Node_JsonParseExpr); ok { + return x.JsonParseExpr + } + return nil +} + +func (x *Node) GetJsonScalarExpr() *JsonScalarExpr { + if x, ok := x.GetNode().(*Node_JsonScalarExpr); ok { + return x.JsonScalarExpr + } + return nil +} + +func (x *Node) GetJsonSerializeExpr() *JsonSerializeExpr { + if x, ok := x.GetNode().(*Node_JsonSerializeExpr); ok { + return x.JsonSerializeExpr + } + return nil +} + func (x *Node) GetJsonObjectConstructor() *JsonObjectConstructor { if x, ok := x.GetNode().(*Node_JsonObjectConstructor); ok { return x.JsonObjectConstructor @@ -7816,976 +8407,1040 @@ type Node_WindowFunc struct { WindowFunc *WindowFunc `protobuf:"bytes,9,opt,name=window_func,json=WindowFunc,proto3,oneof"` } +type Node_WindowFuncRunCondition struct { + WindowFuncRunCondition *WindowFuncRunCondition `protobuf:"bytes,10,opt,name=window_func_run_condition,json=WindowFuncRunCondition,proto3,oneof"` +} + +type Node_MergeSupportFunc struct { + MergeSupportFunc *MergeSupportFunc `protobuf:"bytes,11,opt,name=merge_support_func,json=MergeSupportFunc,proto3,oneof"` +} + type Node_SubscriptingRef struct { - SubscriptingRef *SubscriptingRef `protobuf:"bytes,10,opt,name=subscripting_ref,json=SubscriptingRef,proto3,oneof"` + SubscriptingRef *SubscriptingRef `protobuf:"bytes,12,opt,name=subscripting_ref,json=SubscriptingRef,proto3,oneof"` } type Node_FuncExpr struct { - FuncExpr *FuncExpr `protobuf:"bytes,11,opt,name=func_expr,json=FuncExpr,proto3,oneof"` + FuncExpr *FuncExpr `protobuf:"bytes,13,opt,name=func_expr,json=FuncExpr,proto3,oneof"` } type Node_NamedArgExpr struct { - NamedArgExpr *NamedArgExpr `protobuf:"bytes,12,opt,name=named_arg_expr,json=NamedArgExpr,proto3,oneof"` + NamedArgExpr *NamedArgExpr `protobuf:"bytes,14,opt,name=named_arg_expr,json=NamedArgExpr,proto3,oneof"` } type Node_OpExpr struct { - OpExpr *OpExpr `protobuf:"bytes,13,opt,name=op_expr,json=OpExpr,proto3,oneof"` + OpExpr *OpExpr `protobuf:"bytes,15,opt,name=op_expr,json=OpExpr,proto3,oneof"` } type Node_DistinctExpr struct { - DistinctExpr *DistinctExpr `protobuf:"bytes,14,opt,name=distinct_expr,json=DistinctExpr,proto3,oneof"` + DistinctExpr *DistinctExpr `protobuf:"bytes,16,opt,name=distinct_expr,json=DistinctExpr,proto3,oneof"` } type Node_NullIfExpr struct { - NullIfExpr *NullIfExpr `protobuf:"bytes,15,opt,name=null_if_expr,json=NullIfExpr,proto3,oneof"` + NullIfExpr *NullIfExpr `protobuf:"bytes,17,opt,name=null_if_expr,json=NullIfExpr,proto3,oneof"` } type Node_ScalarArrayOpExpr struct { - ScalarArrayOpExpr *ScalarArrayOpExpr `protobuf:"bytes,16,opt,name=scalar_array_op_expr,json=ScalarArrayOpExpr,proto3,oneof"` + ScalarArrayOpExpr *ScalarArrayOpExpr `protobuf:"bytes,18,opt,name=scalar_array_op_expr,json=ScalarArrayOpExpr,proto3,oneof"` } type Node_BoolExpr struct { - BoolExpr *BoolExpr `protobuf:"bytes,17,opt,name=bool_expr,json=BoolExpr,proto3,oneof"` + BoolExpr *BoolExpr `protobuf:"bytes,19,opt,name=bool_expr,json=BoolExpr,proto3,oneof"` } type Node_SubLink struct { - SubLink *SubLink `protobuf:"bytes,18,opt,name=sub_link,json=SubLink,proto3,oneof"` + SubLink *SubLink `protobuf:"bytes,20,opt,name=sub_link,json=SubLink,proto3,oneof"` } type Node_SubPlan struct { - SubPlan *SubPlan `protobuf:"bytes,19,opt,name=sub_plan,json=SubPlan,proto3,oneof"` + SubPlan *SubPlan `protobuf:"bytes,21,opt,name=sub_plan,json=SubPlan,proto3,oneof"` } type Node_AlternativeSubPlan struct { - AlternativeSubPlan *AlternativeSubPlan `protobuf:"bytes,20,opt,name=alternative_sub_plan,json=AlternativeSubPlan,proto3,oneof"` + AlternativeSubPlan *AlternativeSubPlan `protobuf:"bytes,22,opt,name=alternative_sub_plan,json=AlternativeSubPlan,proto3,oneof"` } type Node_FieldSelect struct { - FieldSelect *FieldSelect `protobuf:"bytes,21,opt,name=field_select,json=FieldSelect,proto3,oneof"` + FieldSelect *FieldSelect `protobuf:"bytes,23,opt,name=field_select,json=FieldSelect,proto3,oneof"` } type Node_FieldStore struct { - FieldStore *FieldStore `protobuf:"bytes,22,opt,name=field_store,json=FieldStore,proto3,oneof"` + FieldStore *FieldStore `protobuf:"bytes,24,opt,name=field_store,json=FieldStore,proto3,oneof"` } type Node_RelabelType struct { - RelabelType *RelabelType `protobuf:"bytes,23,opt,name=relabel_type,json=RelabelType,proto3,oneof"` + RelabelType *RelabelType `protobuf:"bytes,25,opt,name=relabel_type,json=RelabelType,proto3,oneof"` } type Node_CoerceViaIo struct { - CoerceViaIo *CoerceViaIO `protobuf:"bytes,24,opt,name=coerce_via_io,json=CoerceViaIO,proto3,oneof"` + CoerceViaIo *CoerceViaIO `protobuf:"bytes,26,opt,name=coerce_via_io,json=CoerceViaIO,proto3,oneof"` } type Node_ArrayCoerceExpr struct { - ArrayCoerceExpr *ArrayCoerceExpr `protobuf:"bytes,25,opt,name=array_coerce_expr,json=ArrayCoerceExpr,proto3,oneof"` + ArrayCoerceExpr *ArrayCoerceExpr `protobuf:"bytes,27,opt,name=array_coerce_expr,json=ArrayCoerceExpr,proto3,oneof"` } type Node_ConvertRowtypeExpr struct { - ConvertRowtypeExpr *ConvertRowtypeExpr `protobuf:"bytes,26,opt,name=convert_rowtype_expr,json=ConvertRowtypeExpr,proto3,oneof"` + ConvertRowtypeExpr *ConvertRowtypeExpr `protobuf:"bytes,28,opt,name=convert_rowtype_expr,json=ConvertRowtypeExpr,proto3,oneof"` } type Node_CollateExpr struct { - CollateExpr *CollateExpr `protobuf:"bytes,27,opt,name=collate_expr,json=CollateExpr,proto3,oneof"` + CollateExpr *CollateExpr `protobuf:"bytes,29,opt,name=collate_expr,json=CollateExpr,proto3,oneof"` } type Node_CaseExpr struct { - CaseExpr *CaseExpr `protobuf:"bytes,28,opt,name=case_expr,json=CaseExpr,proto3,oneof"` + CaseExpr *CaseExpr `protobuf:"bytes,30,opt,name=case_expr,json=CaseExpr,proto3,oneof"` } type Node_CaseWhen struct { - CaseWhen *CaseWhen `protobuf:"bytes,29,opt,name=case_when,json=CaseWhen,proto3,oneof"` + CaseWhen *CaseWhen `protobuf:"bytes,31,opt,name=case_when,json=CaseWhen,proto3,oneof"` } type Node_CaseTestExpr struct { - CaseTestExpr *CaseTestExpr `protobuf:"bytes,30,opt,name=case_test_expr,json=CaseTestExpr,proto3,oneof"` + CaseTestExpr *CaseTestExpr `protobuf:"bytes,32,opt,name=case_test_expr,json=CaseTestExpr,proto3,oneof"` } type Node_ArrayExpr struct { - ArrayExpr *ArrayExpr `protobuf:"bytes,31,opt,name=array_expr,json=ArrayExpr,proto3,oneof"` + ArrayExpr *ArrayExpr `protobuf:"bytes,33,opt,name=array_expr,json=ArrayExpr,proto3,oneof"` } type Node_RowExpr struct { - RowExpr *RowExpr `protobuf:"bytes,32,opt,name=row_expr,json=RowExpr,proto3,oneof"` + RowExpr *RowExpr `protobuf:"bytes,34,opt,name=row_expr,json=RowExpr,proto3,oneof"` } type Node_RowCompareExpr struct { - RowCompareExpr *RowCompareExpr `protobuf:"bytes,33,opt,name=row_compare_expr,json=RowCompareExpr,proto3,oneof"` + RowCompareExpr *RowCompareExpr `protobuf:"bytes,35,opt,name=row_compare_expr,json=RowCompareExpr,proto3,oneof"` } type Node_CoalesceExpr struct { - CoalesceExpr *CoalesceExpr `protobuf:"bytes,34,opt,name=coalesce_expr,json=CoalesceExpr,proto3,oneof"` + CoalesceExpr *CoalesceExpr `protobuf:"bytes,36,opt,name=coalesce_expr,json=CoalesceExpr,proto3,oneof"` } type Node_MinMaxExpr struct { - MinMaxExpr *MinMaxExpr `protobuf:"bytes,35,opt,name=min_max_expr,json=MinMaxExpr,proto3,oneof"` + MinMaxExpr *MinMaxExpr `protobuf:"bytes,37,opt,name=min_max_expr,json=MinMaxExpr,proto3,oneof"` } type Node_SqlvalueFunction struct { - SqlvalueFunction *SQLValueFunction `protobuf:"bytes,36,opt,name=sqlvalue_function,json=SQLValueFunction,proto3,oneof"` + SqlvalueFunction *SQLValueFunction `protobuf:"bytes,38,opt,name=sqlvalue_function,json=SQLValueFunction,proto3,oneof"` } type Node_XmlExpr struct { - XmlExpr *XmlExpr `protobuf:"bytes,37,opt,name=xml_expr,json=XmlExpr,proto3,oneof"` + XmlExpr *XmlExpr `protobuf:"bytes,39,opt,name=xml_expr,json=XmlExpr,proto3,oneof"` } type Node_JsonFormat struct { - JsonFormat *JsonFormat `protobuf:"bytes,38,opt,name=json_format,json=JsonFormat,proto3,oneof"` + JsonFormat *JsonFormat `protobuf:"bytes,40,opt,name=json_format,json=JsonFormat,proto3,oneof"` } type Node_JsonReturning struct { - JsonReturning *JsonReturning `protobuf:"bytes,39,opt,name=json_returning,json=JsonReturning,proto3,oneof"` + JsonReturning *JsonReturning `protobuf:"bytes,41,opt,name=json_returning,json=JsonReturning,proto3,oneof"` } type Node_JsonValueExpr struct { - JsonValueExpr *JsonValueExpr `protobuf:"bytes,40,opt,name=json_value_expr,json=JsonValueExpr,proto3,oneof"` + JsonValueExpr *JsonValueExpr `protobuf:"bytes,42,opt,name=json_value_expr,json=JsonValueExpr,proto3,oneof"` } type Node_JsonConstructorExpr struct { - JsonConstructorExpr *JsonConstructorExpr `protobuf:"bytes,41,opt,name=json_constructor_expr,json=JsonConstructorExpr,proto3,oneof"` + JsonConstructorExpr *JsonConstructorExpr `protobuf:"bytes,43,opt,name=json_constructor_expr,json=JsonConstructorExpr,proto3,oneof"` } type Node_JsonIsPredicate struct { - JsonIsPredicate *JsonIsPredicate `protobuf:"bytes,42,opt,name=json_is_predicate,json=JsonIsPredicate,proto3,oneof"` + JsonIsPredicate *JsonIsPredicate `protobuf:"bytes,44,opt,name=json_is_predicate,json=JsonIsPredicate,proto3,oneof"` +} + +type Node_JsonBehavior struct { + JsonBehavior *JsonBehavior `protobuf:"bytes,45,opt,name=json_behavior,json=JsonBehavior,proto3,oneof"` +} + +type Node_JsonExpr struct { + JsonExpr *JsonExpr `protobuf:"bytes,46,opt,name=json_expr,json=JsonExpr,proto3,oneof"` +} + +type Node_JsonTablePath struct { + JsonTablePath *JsonTablePath `protobuf:"bytes,47,opt,name=json_table_path,json=JsonTablePath,proto3,oneof"` +} + +type Node_JsonTablePathScan struct { + JsonTablePathScan *JsonTablePathScan `protobuf:"bytes,48,opt,name=json_table_path_scan,json=JsonTablePathScan,proto3,oneof"` +} + +type Node_JsonTableSiblingJoin struct { + JsonTableSiblingJoin *JsonTableSiblingJoin `protobuf:"bytes,49,opt,name=json_table_sibling_join,json=JsonTableSiblingJoin,proto3,oneof"` } type Node_NullTest struct { - NullTest *NullTest `protobuf:"bytes,43,opt,name=null_test,json=NullTest,proto3,oneof"` + NullTest *NullTest `protobuf:"bytes,50,opt,name=null_test,json=NullTest,proto3,oneof"` } type Node_BooleanTest struct { - BooleanTest *BooleanTest `protobuf:"bytes,44,opt,name=boolean_test,json=BooleanTest,proto3,oneof"` + BooleanTest *BooleanTest `protobuf:"bytes,51,opt,name=boolean_test,json=BooleanTest,proto3,oneof"` +} + +type Node_MergeAction struct { + MergeAction *MergeAction `protobuf:"bytes,52,opt,name=merge_action,json=MergeAction,proto3,oneof"` } type Node_CoerceToDomain struct { - CoerceToDomain *CoerceToDomain `protobuf:"bytes,45,opt,name=coerce_to_domain,json=CoerceToDomain,proto3,oneof"` + CoerceToDomain *CoerceToDomain `protobuf:"bytes,53,opt,name=coerce_to_domain,json=CoerceToDomain,proto3,oneof"` } type Node_CoerceToDomainValue struct { - CoerceToDomainValue *CoerceToDomainValue `protobuf:"bytes,46,opt,name=coerce_to_domain_value,json=CoerceToDomainValue,proto3,oneof"` + CoerceToDomainValue *CoerceToDomainValue `protobuf:"bytes,54,opt,name=coerce_to_domain_value,json=CoerceToDomainValue,proto3,oneof"` } type Node_SetToDefault struct { - SetToDefault *SetToDefault `protobuf:"bytes,47,opt,name=set_to_default,json=SetToDefault,proto3,oneof"` + SetToDefault *SetToDefault `protobuf:"bytes,55,opt,name=set_to_default,json=SetToDefault,proto3,oneof"` } type Node_CurrentOfExpr struct { - CurrentOfExpr *CurrentOfExpr `protobuf:"bytes,48,opt,name=current_of_expr,json=CurrentOfExpr,proto3,oneof"` + CurrentOfExpr *CurrentOfExpr `protobuf:"bytes,56,opt,name=current_of_expr,json=CurrentOfExpr,proto3,oneof"` } type Node_NextValueExpr struct { - NextValueExpr *NextValueExpr `protobuf:"bytes,49,opt,name=next_value_expr,json=NextValueExpr,proto3,oneof"` + NextValueExpr *NextValueExpr `protobuf:"bytes,57,opt,name=next_value_expr,json=NextValueExpr,proto3,oneof"` } type Node_InferenceElem struct { - InferenceElem *InferenceElem `protobuf:"bytes,50,opt,name=inference_elem,json=InferenceElem,proto3,oneof"` + InferenceElem *InferenceElem `protobuf:"bytes,58,opt,name=inference_elem,json=InferenceElem,proto3,oneof"` } type Node_TargetEntry struct { - TargetEntry *TargetEntry `protobuf:"bytes,51,opt,name=target_entry,json=TargetEntry,proto3,oneof"` + TargetEntry *TargetEntry `protobuf:"bytes,59,opt,name=target_entry,json=TargetEntry,proto3,oneof"` } type Node_RangeTblRef struct { - RangeTblRef *RangeTblRef `protobuf:"bytes,52,opt,name=range_tbl_ref,json=RangeTblRef,proto3,oneof"` + RangeTblRef *RangeTblRef `protobuf:"bytes,60,opt,name=range_tbl_ref,json=RangeTblRef,proto3,oneof"` } type Node_JoinExpr struct { - JoinExpr *JoinExpr `protobuf:"bytes,53,opt,name=join_expr,json=JoinExpr,proto3,oneof"` + JoinExpr *JoinExpr `protobuf:"bytes,61,opt,name=join_expr,json=JoinExpr,proto3,oneof"` } type Node_FromExpr struct { - FromExpr *FromExpr `protobuf:"bytes,54,opt,name=from_expr,json=FromExpr,proto3,oneof"` + FromExpr *FromExpr `protobuf:"bytes,62,opt,name=from_expr,json=FromExpr,proto3,oneof"` } type Node_OnConflictExpr struct { - OnConflictExpr *OnConflictExpr `protobuf:"bytes,55,opt,name=on_conflict_expr,json=OnConflictExpr,proto3,oneof"` + OnConflictExpr *OnConflictExpr `protobuf:"bytes,63,opt,name=on_conflict_expr,json=OnConflictExpr,proto3,oneof"` } type Node_Query struct { - Query *Query `protobuf:"bytes,56,opt,name=query,json=Query,proto3,oneof"` + Query *Query `protobuf:"bytes,64,opt,name=query,json=Query,proto3,oneof"` } type Node_TypeName struct { - TypeName *TypeName `protobuf:"bytes,57,opt,name=type_name,json=TypeName,proto3,oneof"` + TypeName *TypeName `protobuf:"bytes,65,opt,name=type_name,json=TypeName,proto3,oneof"` } type Node_ColumnRef struct { - ColumnRef *ColumnRef `protobuf:"bytes,58,opt,name=column_ref,json=ColumnRef,proto3,oneof"` + ColumnRef *ColumnRef `protobuf:"bytes,66,opt,name=column_ref,json=ColumnRef,proto3,oneof"` } type Node_ParamRef struct { - ParamRef *ParamRef `protobuf:"bytes,59,opt,name=param_ref,json=ParamRef,proto3,oneof"` + ParamRef *ParamRef `protobuf:"bytes,67,opt,name=param_ref,json=ParamRef,proto3,oneof"` } type Node_AExpr struct { - AExpr *A_Expr `protobuf:"bytes,60,opt,name=a_expr,json=A_Expr,proto3,oneof"` + AExpr *A_Expr `protobuf:"bytes,68,opt,name=a_expr,json=A_Expr,proto3,oneof"` } type Node_TypeCast struct { - TypeCast *TypeCast `protobuf:"bytes,61,opt,name=type_cast,json=TypeCast,proto3,oneof"` + TypeCast *TypeCast `protobuf:"bytes,69,opt,name=type_cast,json=TypeCast,proto3,oneof"` } type Node_CollateClause struct { - CollateClause *CollateClause `protobuf:"bytes,62,opt,name=collate_clause,json=CollateClause,proto3,oneof"` + CollateClause *CollateClause `protobuf:"bytes,70,opt,name=collate_clause,json=CollateClause,proto3,oneof"` } type Node_RoleSpec struct { - RoleSpec *RoleSpec `protobuf:"bytes,63,opt,name=role_spec,json=RoleSpec,proto3,oneof"` + RoleSpec *RoleSpec `protobuf:"bytes,71,opt,name=role_spec,json=RoleSpec,proto3,oneof"` } type Node_FuncCall struct { - FuncCall *FuncCall `protobuf:"bytes,64,opt,name=func_call,json=FuncCall,proto3,oneof"` + FuncCall *FuncCall `protobuf:"bytes,72,opt,name=func_call,json=FuncCall,proto3,oneof"` } type Node_AStar struct { - AStar *A_Star `protobuf:"bytes,65,opt,name=a_star,json=A_Star,proto3,oneof"` + AStar *A_Star `protobuf:"bytes,73,opt,name=a_star,json=A_Star,proto3,oneof"` } type Node_AIndices struct { - AIndices *A_Indices `protobuf:"bytes,66,opt,name=a_indices,json=A_Indices,proto3,oneof"` + AIndices *A_Indices `protobuf:"bytes,74,opt,name=a_indices,json=A_Indices,proto3,oneof"` } type Node_AIndirection struct { - AIndirection *A_Indirection `protobuf:"bytes,67,opt,name=a_indirection,json=A_Indirection,proto3,oneof"` + AIndirection *A_Indirection `protobuf:"bytes,75,opt,name=a_indirection,json=A_Indirection,proto3,oneof"` } type Node_AArrayExpr struct { - AArrayExpr *A_ArrayExpr `protobuf:"bytes,68,opt,name=a_array_expr,json=A_ArrayExpr,proto3,oneof"` + AArrayExpr *A_ArrayExpr `protobuf:"bytes,76,opt,name=a_array_expr,json=A_ArrayExpr,proto3,oneof"` } type Node_ResTarget struct { - ResTarget *ResTarget `protobuf:"bytes,69,opt,name=res_target,json=ResTarget,proto3,oneof"` + ResTarget *ResTarget `protobuf:"bytes,77,opt,name=res_target,json=ResTarget,proto3,oneof"` } type Node_MultiAssignRef struct { - MultiAssignRef *MultiAssignRef `protobuf:"bytes,70,opt,name=multi_assign_ref,json=MultiAssignRef,proto3,oneof"` + MultiAssignRef *MultiAssignRef `protobuf:"bytes,78,opt,name=multi_assign_ref,json=MultiAssignRef,proto3,oneof"` } type Node_SortBy struct { - SortBy *SortBy `protobuf:"bytes,71,opt,name=sort_by,json=SortBy,proto3,oneof"` + SortBy *SortBy `protobuf:"bytes,79,opt,name=sort_by,json=SortBy,proto3,oneof"` } type Node_WindowDef struct { - WindowDef *WindowDef `protobuf:"bytes,72,opt,name=window_def,json=WindowDef,proto3,oneof"` + WindowDef *WindowDef `protobuf:"bytes,80,opt,name=window_def,json=WindowDef,proto3,oneof"` } type Node_RangeSubselect struct { - RangeSubselect *RangeSubselect `protobuf:"bytes,73,opt,name=range_subselect,json=RangeSubselect,proto3,oneof"` + RangeSubselect *RangeSubselect `protobuf:"bytes,81,opt,name=range_subselect,json=RangeSubselect,proto3,oneof"` } type Node_RangeFunction struct { - RangeFunction *RangeFunction `protobuf:"bytes,74,opt,name=range_function,json=RangeFunction,proto3,oneof"` + RangeFunction *RangeFunction `protobuf:"bytes,82,opt,name=range_function,json=RangeFunction,proto3,oneof"` } type Node_RangeTableFunc struct { - RangeTableFunc *RangeTableFunc `protobuf:"bytes,75,opt,name=range_table_func,json=RangeTableFunc,proto3,oneof"` + RangeTableFunc *RangeTableFunc `protobuf:"bytes,83,opt,name=range_table_func,json=RangeTableFunc,proto3,oneof"` } type Node_RangeTableFuncCol struct { - RangeTableFuncCol *RangeTableFuncCol `protobuf:"bytes,76,opt,name=range_table_func_col,json=RangeTableFuncCol,proto3,oneof"` + RangeTableFuncCol *RangeTableFuncCol `protobuf:"bytes,84,opt,name=range_table_func_col,json=RangeTableFuncCol,proto3,oneof"` } type Node_RangeTableSample struct { - RangeTableSample *RangeTableSample `protobuf:"bytes,77,opt,name=range_table_sample,json=RangeTableSample,proto3,oneof"` + RangeTableSample *RangeTableSample `protobuf:"bytes,85,opt,name=range_table_sample,json=RangeTableSample,proto3,oneof"` } type Node_ColumnDef struct { - ColumnDef *ColumnDef `protobuf:"bytes,78,opt,name=column_def,json=ColumnDef,proto3,oneof"` + ColumnDef *ColumnDef `protobuf:"bytes,86,opt,name=column_def,json=ColumnDef,proto3,oneof"` } type Node_TableLikeClause struct { - TableLikeClause *TableLikeClause `protobuf:"bytes,79,opt,name=table_like_clause,json=TableLikeClause,proto3,oneof"` + TableLikeClause *TableLikeClause `protobuf:"bytes,87,opt,name=table_like_clause,json=TableLikeClause,proto3,oneof"` } type Node_IndexElem struct { - IndexElem *IndexElem `protobuf:"bytes,80,opt,name=index_elem,json=IndexElem,proto3,oneof"` + IndexElem *IndexElem `protobuf:"bytes,88,opt,name=index_elem,json=IndexElem,proto3,oneof"` } type Node_DefElem struct { - DefElem *DefElem `protobuf:"bytes,81,opt,name=def_elem,json=DefElem,proto3,oneof"` + DefElem *DefElem `protobuf:"bytes,89,opt,name=def_elem,json=DefElem,proto3,oneof"` } type Node_LockingClause struct { - LockingClause *LockingClause `protobuf:"bytes,82,opt,name=locking_clause,json=LockingClause,proto3,oneof"` + LockingClause *LockingClause `protobuf:"bytes,90,opt,name=locking_clause,json=LockingClause,proto3,oneof"` } type Node_XmlSerialize struct { - XmlSerialize *XmlSerialize `protobuf:"bytes,83,opt,name=xml_serialize,json=XmlSerialize,proto3,oneof"` + XmlSerialize *XmlSerialize `protobuf:"bytes,91,opt,name=xml_serialize,json=XmlSerialize,proto3,oneof"` } type Node_PartitionElem struct { - PartitionElem *PartitionElem `protobuf:"bytes,84,opt,name=partition_elem,json=PartitionElem,proto3,oneof"` + PartitionElem *PartitionElem `protobuf:"bytes,92,opt,name=partition_elem,json=PartitionElem,proto3,oneof"` } type Node_PartitionSpec struct { - PartitionSpec *PartitionSpec `protobuf:"bytes,85,opt,name=partition_spec,json=PartitionSpec,proto3,oneof"` + PartitionSpec *PartitionSpec `protobuf:"bytes,93,opt,name=partition_spec,json=PartitionSpec,proto3,oneof"` } type Node_PartitionBoundSpec struct { - PartitionBoundSpec *PartitionBoundSpec `protobuf:"bytes,86,opt,name=partition_bound_spec,json=PartitionBoundSpec,proto3,oneof"` + PartitionBoundSpec *PartitionBoundSpec `protobuf:"bytes,94,opt,name=partition_bound_spec,json=PartitionBoundSpec,proto3,oneof"` } type Node_PartitionRangeDatum struct { - PartitionRangeDatum *PartitionRangeDatum `protobuf:"bytes,87,opt,name=partition_range_datum,json=PartitionRangeDatum,proto3,oneof"` + PartitionRangeDatum *PartitionRangeDatum `protobuf:"bytes,95,opt,name=partition_range_datum,json=PartitionRangeDatum,proto3,oneof"` +} + +type Node_SinglePartitionSpec struct { + SinglePartitionSpec *SinglePartitionSpec `protobuf:"bytes,96,opt,name=single_partition_spec,json=SinglePartitionSpec,proto3,oneof"` } type Node_PartitionCmd struct { - PartitionCmd *PartitionCmd `protobuf:"bytes,88,opt,name=partition_cmd,json=PartitionCmd,proto3,oneof"` + PartitionCmd *PartitionCmd `protobuf:"bytes,97,opt,name=partition_cmd,json=PartitionCmd,proto3,oneof"` } type Node_RangeTblEntry struct { - RangeTblEntry *RangeTblEntry `protobuf:"bytes,89,opt,name=range_tbl_entry,json=RangeTblEntry,proto3,oneof"` + RangeTblEntry *RangeTblEntry `protobuf:"bytes,98,opt,name=range_tbl_entry,json=RangeTblEntry,proto3,oneof"` } type Node_RtepermissionInfo struct { - RtepermissionInfo *RTEPermissionInfo `protobuf:"bytes,90,opt,name=rtepermission_info,json=RTEPermissionInfo,proto3,oneof"` + RtepermissionInfo *RTEPermissionInfo `protobuf:"bytes,99,opt,name=rtepermission_info,json=RTEPermissionInfo,proto3,oneof"` } type Node_RangeTblFunction struct { - RangeTblFunction *RangeTblFunction `protobuf:"bytes,91,opt,name=range_tbl_function,json=RangeTblFunction,proto3,oneof"` + RangeTblFunction *RangeTblFunction `protobuf:"bytes,100,opt,name=range_tbl_function,json=RangeTblFunction,proto3,oneof"` } type Node_TableSampleClause struct { - TableSampleClause *TableSampleClause `protobuf:"bytes,92,opt,name=table_sample_clause,json=TableSampleClause,proto3,oneof"` + TableSampleClause *TableSampleClause `protobuf:"bytes,101,opt,name=table_sample_clause,json=TableSampleClause,proto3,oneof"` } type Node_WithCheckOption struct { - WithCheckOption *WithCheckOption `protobuf:"bytes,93,opt,name=with_check_option,json=WithCheckOption,proto3,oneof"` + WithCheckOption *WithCheckOption `protobuf:"bytes,102,opt,name=with_check_option,json=WithCheckOption,proto3,oneof"` } type Node_SortGroupClause struct { - SortGroupClause *SortGroupClause `protobuf:"bytes,94,opt,name=sort_group_clause,json=SortGroupClause,proto3,oneof"` + SortGroupClause *SortGroupClause `protobuf:"bytes,103,opt,name=sort_group_clause,json=SortGroupClause,proto3,oneof"` } type Node_GroupingSet struct { - GroupingSet *GroupingSet `protobuf:"bytes,95,opt,name=grouping_set,json=GroupingSet,proto3,oneof"` + GroupingSet *GroupingSet `protobuf:"bytes,104,opt,name=grouping_set,json=GroupingSet,proto3,oneof"` } type Node_WindowClause struct { - WindowClause *WindowClause `protobuf:"bytes,96,opt,name=window_clause,json=WindowClause,proto3,oneof"` + WindowClause *WindowClause `protobuf:"bytes,105,opt,name=window_clause,json=WindowClause,proto3,oneof"` } type Node_RowMarkClause struct { - RowMarkClause *RowMarkClause `protobuf:"bytes,97,opt,name=row_mark_clause,json=RowMarkClause,proto3,oneof"` + RowMarkClause *RowMarkClause `protobuf:"bytes,106,opt,name=row_mark_clause,json=RowMarkClause,proto3,oneof"` } type Node_WithClause struct { - WithClause *WithClause `protobuf:"bytes,98,opt,name=with_clause,json=WithClause,proto3,oneof"` + WithClause *WithClause `protobuf:"bytes,107,opt,name=with_clause,json=WithClause,proto3,oneof"` } type Node_InferClause struct { - InferClause *InferClause `protobuf:"bytes,99,opt,name=infer_clause,json=InferClause,proto3,oneof"` + InferClause *InferClause `protobuf:"bytes,108,opt,name=infer_clause,json=InferClause,proto3,oneof"` } type Node_OnConflictClause struct { - OnConflictClause *OnConflictClause `protobuf:"bytes,100,opt,name=on_conflict_clause,json=OnConflictClause,proto3,oneof"` + OnConflictClause *OnConflictClause `protobuf:"bytes,109,opt,name=on_conflict_clause,json=OnConflictClause,proto3,oneof"` } type Node_CtesearchClause struct { - CtesearchClause *CTESearchClause `protobuf:"bytes,101,opt,name=ctesearch_clause,json=CTESearchClause,proto3,oneof"` + CtesearchClause *CTESearchClause `protobuf:"bytes,110,opt,name=ctesearch_clause,json=CTESearchClause,proto3,oneof"` } type Node_CtecycleClause struct { - CtecycleClause *CTECycleClause `protobuf:"bytes,102,opt,name=ctecycle_clause,json=CTECycleClause,proto3,oneof"` + CtecycleClause *CTECycleClause `protobuf:"bytes,111,opt,name=ctecycle_clause,json=CTECycleClause,proto3,oneof"` } type Node_CommonTableExpr struct { - CommonTableExpr *CommonTableExpr `protobuf:"bytes,103,opt,name=common_table_expr,json=CommonTableExpr,proto3,oneof"` + CommonTableExpr *CommonTableExpr `protobuf:"bytes,112,opt,name=common_table_expr,json=CommonTableExpr,proto3,oneof"` } type Node_MergeWhenClause struct { - MergeWhenClause *MergeWhenClause `protobuf:"bytes,104,opt,name=merge_when_clause,json=MergeWhenClause,proto3,oneof"` -} - -type Node_MergeAction struct { - MergeAction *MergeAction `protobuf:"bytes,105,opt,name=merge_action,json=MergeAction,proto3,oneof"` + MergeWhenClause *MergeWhenClause `protobuf:"bytes,113,opt,name=merge_when_clause,json=MergeWhenClause,proto3,oneof"` } type Node_TriggerTransition struct { - TriggerTransition *TriggerTransition `protobuf:"bytes,106,opt,name=trigger_transition,json=TriggerTransition,proto3,oneof"` + TriggerTransition *TriggerTransition `protobuf:"bytes,114,opt,name=trigger_transition,json=TriggerTransition,proto3,oneof"` } type Node_JsonOutput struct { - JsonOutput *JsonOutput `protobuf:"bytes,107,opt,name=json_output,json=JsonOutput,proto3,oneof"` + JsonOutput *JsonOutput `protobuf:"bytes,115,opt,name=json_output,json=JsonOutput,proto3,oneof"` +} + +type Node_JsonArgument struct { + JsonArgument *JsonArgument `protobuf:"bytes,116,opt,name=json_argument,json=JsonArgument,proto3,oneof"` +} + +type Node_JsonFuncExpr struct { + JsonFuncExpr *JsonFuncExpr `protobuf:"bytes,117,opt,name=json_func_expr,json=JsonFuncExpr,proto3,oneof"` +} + +type Node_JsonTablePathSpec struct { + JsonTablePathSpec *JsonTablePathSpec `protobuf:"bytes,118,opt,name=json_table_path_spec,json=JsonTablePathSpec,proto3,oneof"` +} + +type Node_JsonTable struct { + JsonTable *JsonTable `protobuf:"bytes,119,opt,name=json_table,json=JsonTable,proto3,oneof"` +} + +type Node_JsonTableColumn struct { + JsonTableColumn *JsonTableColumn `protobuf:"bytes,120,opt,name=json_table_column,json=JsonTableColumn,proto3,oneof"` } type Node_JsonKeyValue struct { - JsonKeyValue *JsonKeyValue `protobuf:"bytes,108,opt,name=json_key_value,json=JsonKeyValue,proto3,oneof"` + JsonKeyValue *JsonKeyValue `protobuf:"bytes,121,opt,name=json_key_value,json=JsonKeyValue,proto3,oneof"` +} + +type Node_JsonParseExpr struct { + JsonParseExpr *JsonParseExpr `protobuf:"bytes,122,opt,name=json_parse_expr,json=JsonParseExpr,proto3,oneof"` +} + +type Node_JsonScalarExpr struct { + JsonScalarExpr *JsonScalarExpr `protobuf:"bytes,123,opt,name=json_scalar_expr,json=JsonScalarExpr,proto3,oneof"` +} + +type Node_JsonSerializeExpr struct { + JsonSerializeExpr *JsonSerializeExpr `protobuf:"bytes,124,opt,name=json_serialize_expr,json=JsonSerializeExpr,proto3,oneof"` } type Node_JsonObjectConstructor struct { - JsonObjectConstructor *JsonObjectConstructor `protobuf:"bytes,109,opt,name=json_object_constructor,json=JsonObjectConstructor,proto3,oneof"` + JsonObjectConstructor *JsonObjectConstructor `protobuf:"bytes,125,opt,name=json_object_constructor,json=JsonObjectConstructor,proto3,oneof"` } type Node_JsonArrayConstructor struct { - JsonArrayConstructor *JsonArrayConstructor `protobuf:"bytes,110,opt,name=json_array_constructor,json=JsonArrayConstructor,proto3,oneof"` + JsonArrayConstructor *JsonArrayConstructor `protobuf:"bytes,126,opt,name=json_array_constructor,json=JsonArrayConstructor,proto3,oneof"` } type Node_JsonArrayQueryConstructor struct { - JsonArrayQueryConstructor *JsonArrayQueryConstructor `protobuf:"bytes,111,opt,name=json_array_query_constructor,json=JsonArrayQueryConstructor,proto3,oneof"` + JsonArrayQueryConstructor *JsonArrayQueryConstructor `protobuf:"bytes,127,opt,name=json_array_query_constructor,json=JsonArrayQueryConstructor,proto3,oneof"` } type Node_JsonAggConstructor struct { - JsonAggConstructor *JsonAggConstructor `protobuf:"bytes,112,opt,name=json_agg_constructor,json=JsonAggConstructor,proto3,oneof"` + JsonAggConstructor *JsonAggConstructor `protobuf:"bytes,128,opt,name=json_agg_constructor,json=JsonAggConstructor,proto3,oneof"` } type Node_JsonObjectAgg struct { - JsonObjectAgg *JsonObjectAgg `protobuf:"bytes,113,opt,name=json_object_agg,json=JsonObjectAgg,proto3,oneof"` + JsonObjectAgg *JsonObjectAgg `protobuf:"bytes,129,opt,name=json_object_agg,json=JsonObjectAgg,proto3,oneof"` } type Node_JsonArrayAgg struct { - JsonArrayAgg *JsonArrayAgg `protobuf:"bytes,114,opt,name=json_array_agg,json=JsonArrayAgg,proto3,oneof"` + JsonArrayAgg *JsonArrayAgg `protobuf:"bytes,130,opt,name=json_array_agg,json=JsonArrayAgg,proto3,oneof"` } type Node_RawStmt struct { - RawStmt *RawStmt `protobuf:"bytes,115,opt,name=raw_stmt,json=RawStmt,proto3,oneof"` + RawStmt *RawStmt `protobuf:"bytes,131,opt,name=raw_stmt,json=RawStmt,proto3,oneof"` } type Node_InsertStmt struct { - InsertStmt *InsertStmt `protobuf:"bytes,116,opt,name=insert_stmt,json=InsertStmt,proto3,oneof"` + InsertStmt *InsertStmt `protobuf:"bytes,132,opt,name=insert_stmt,json=InsertStmt,proto3,oneof"` } type Node_DeleteStmt struct { - DeleteStmt *DeleteStmt `protobuf:"bytes,117,opt,name=delete_stmt,json=DeleteStmt,proto3,oneof"` + DeleteStmt *DeleteStmt `protobuf:"bytes,133,opt,name=delete_stmt,json=DeleteStmt,proto3,oneof"` } type Node_UpdateStmt struct { - UpdateStmt *UpdateStmt `protobuf:"bytes,118,opt,name=update_stmt,json=UpdateStmt,proto3,oneof"` + UpdateStmt *UpdateStmt `protobuf:"bytes,134,opt,name=update_stmt,json=UpdateStmt,proto3,oneof"` } type Node_MergeStmt struct { - MergeStmt *MergeStmt `protobuf:"bytes,119,opt,name=merge_stmt,json=MergeStmt,proto3,oneof"` + MergeStmt *MergeStmt `protobuf:"bytes,135,opt,name=merge_stmt,json=MergeStmt,proto3,oneof"` } type Node_SelectStmt struct { - SelectStmt *SelectStmt `protobuf:"bytes,120,opt,name=select_stmt,json=SelectStmt,proto3,oneof"` + SelectStmt *SelectStmt `protobuf:"bytes,136,opt,name=select_stmt,json=SelectStmt,proto3,oneof"` } type Node_SetOperationStmt struct { - SetOperationStmt *SetOperationStmt `protobuf:"bytes,121,opt,name=set_operation_stmt,json=SetOperationStmt,proto3,oneof"` + SetOperationStmt *SetOperationStmt `protobuf:"bytes,137,opt,name=set_operation_stmt,json=SetOperationStmt,proto3,oneof"` } type Node_ReturnStmt struct { - ReturnStmt *ReturnStmt `protobuf:"bytes,122,opt,name=return_stmt,json=ReturnStmt,proto3,oneof"` + ReturnStmt *ReturnStmt `protobuf:"bytes,138,opt,name=return_stmt,json=ReturnStmt,proto3,oneof"` } type Node_PlassignStmt struct { - PlassignStmt *PLAssignStmt `protobuf:"bytes,123,opt,name=plassign_stmt,json=PLAssignStmt,proto3,oneof"` + PlassignStmt *PLAssignStmt `protobuf:"bytes,139,opt,name=plassign_stmt,json=PLAssignStmt,proto3,oneof"` } type Node_CreateSchemaStmt struct { - CreateSchemaStmt *CreateSchemaStmt `protobuf:"bytes,124,opt,name=create_schema_stmt,json=CreateSchemaStmt,proto3,oneof"` + CreateSchemaStmt *CreateSchemaStmt `protobuf:"bytes,140,opt,name=create_schema_stmt,json=CreateSchemaStmt,proto3,oneof"` } type Node_AlterTableStmt struct { - AlterTableStmt *AlterTableStmt `protobuf:"bytes,125,opt,name=alter_table_stmt,json=AlterTableStmt,proto3,oneof"` + AlterTableStmt *AlterTableStmt `protobuf:"bytes,141,opt,name=alter_table_stmt,json=AlterTableStmt,proto3,oneof"` } type Node_ReplicaIdentityStmt struct { - ReplicaIdentityStmt *ReplicaIdentityStmt `protobuf:"bytes,126,opt,name=replica_identity_stmt,json=ReplicaIdentityStmt,proto3,oneof"` + ReplicaIdentityStmt *ReplicaIdentityStmt `protobuf:"bytes,142,opt,name=replica_identity_stmt,json=ReplicaIdentityStmt,proto3,oneof"` } type Node_AlterTableCmd struct { - AlterTableCmd *AlterTableCmd `protobuf:"bytes,127,opt,name=alter_table_cmd,json=AlterTableCmd,proto3,oneof"` + AlterTableCmd *AlterTableCmd `protobuf:"bytes,143,opt,name=alter_table_cmd,json=AlterTableCmd,proto3,oneof"` } type Node_AlterCollationStmt struct { - AlterCollationStmt *AlterCollationStmt `protobuf:"bytes,128,opt,name=alter_collation_stmt,json=AlterCollationStmt,proto3,oneof"` + AlterCollationStmt *AlterCollationStmt `protobuf:"bytes,144,opt,name=alter_collation_stmt,json=AlterCollationStmt,proto3,oneof"` } type Node_AlterDomainStmt struct { - AlterDomainStmt *AlterDomainStmt `protobuf:"bytes,129,opt,name=alter_domain_stmt,json=AlterDomainStmt,proto3,oneof"` + AlterDomainStmt *AlterDomainStmt `protobuf:"bytes,145,opt,name=alter_domain_stmt,json=AlterDomainStmt,proto3,oneof"` } type Node_GrantStmt struct { - GrantStmt *GrantStmt `protobuf:"bytes,130,opt,name=grant_stmt,json=GrantStmt,proto3,oneof"` + GrantStmt *GrantStmt `protobuf:"bytes,146,opt,name=grant_stmt,json=GrantStmt,proto3,oneof"` } type Node_ObjectWithArgs struct { - ObjectWithArgs *ObjectWithArgs `protobuf:"bytes,131,opt,name=object_with_args,json=ObjectWithArgs,proto3,oneof"` + ObjectWithArgs *ObjectWithArgs `protobuf:"bytes,147,opt,name=object_with_args,json=ObjectWithArgs,proto3,oneof"` } type Node_AccessPriv struct { - AccessPriv *AccessPriv `protobuf:"bytes,132,opt,name=access_priv,json=AccessPriv,proto3,oneof"` + AccessPriv *AccessPriv `protobuf:"bytes,148,opt,name=access_priv,json=AccessPriv,proto3,oneof"` } type Node_GrantRoleStmt struct { - GrantRoleStmt *GrantRoleStmt `protobuf:"bytes,133,opt,name=grant_role_stmt,json=GrantRoleStmt,proto3,oneof"` + GrantRoleStmt *GrantRoleStmt `protobuf:"bytes,149,opt,name=grant_role_stmt,json=GrantRoleStmt,proto3,oneof"` } type Node_AlterDefaultPrivilegesStmt struct { - AlterDefaultPrivilegesStmt *AlterDefaultPrivilegesStmt `protobuf:"bytes,134,opt,name=alter_default_privileges_stmt,json=AlterDefaultPrivilegesStmt,proto3,oneof"` + AlterDefaultPrivilegesStmt *AlterDefaultPrivilegesStmt `protobuf:"bytes,150,opt,name=alter_default_privileges_stmt,json=AlterDefaultPrivilegesStmt,proto3,oneof"` } type Node_CopyStmt struct { - CopyStmt *CopyStmt `protobuf:"bytes,135,opt,name=copy_stmt,json=CopyStmt,proto3,oneof"` + CopyStmt *CopyStmt `protobuf:"bytes,151,opt,name=copy_stmt,json=CopyStmt,proto3,oneof"` } type Node_VariableSetStmt struct { - VariableSetStmt *VariableSetStmt `protobuf:"bytes,136,opt,name=variable_set_stmt,json=VariableSetStmt,proto3,oneof"` + VariableSetStmt *VariableSetStmt `protobuf:"bytes,152,opt,name=variable_set_stmt,json=VariableSetStmt,proto3,oneof"` } type Node_VariableShowStmt struct { - VariableShowStmt *VariableShowStmt `protobuf:"bytes,137,opt,name=variable_show_stmt,json=VariableShowStmt,proto3,oneof"` + VariableShowStmt *VariableShowStmt `protobuf:"bytes,153,opt,name=variable_show_stmt,json=VariableShowStmt,proto3,oneof"` } type Node_CreateStmt struct { - CreateStmt *CreateStmt `protobuf:"bytes,138,opt,name=create_stmt,json=CreateStmt,proto3,oneof"` + CreateStmt *CreateStmt `protobuf:"bytes,154,opt,name=create_stmt,json=CreateStmt,proto3,oneof"` } type Node_Constraint struct { - Constraint *Constraint `protobuf:"bytes,139,opt,name=constraint,json=Constraint,proto3,oneof"` + Constraint *Constraint `protobuf:"bytes,155,opt,name=constraint,json=Constraint,proto3,oneof"` } type Node_CreateTableSpaceStmt struct { - CreateTableSpaceStmt *CreateTableSpaceStmt `protobuf:"bytes,140,opt,name=create_table_space_stmt,json=CreateTableSpaceStmt,proto3,oneof"` + CreateTableSpaceStmt *CreateTableSpaceStmt `protobuf:"bytes,156,opt,name=create_table_space_stmt,json=CreateTableSpaceStmt,proto3,oneof"` } type Node_DropTableSpaceStmt struct { - DropTableSpaceStmt *DropTableSpaceStmt `protobuf:"bytes,141,opt,name=drop_table_space_stmt,json=DropTableSpaceStmt,proto3,oneof"` + DropTableSpaceStmt *DropTableSpaceStmt `protobuf:"bytes,157,opt,name=drop_table_space_stmt,json=DropTableSpaceStmt,proto3,oneof"` } type Node_AlterTableSpaceOptionsStmt struct { - AlterTableSpaceOptionsStmt *AlterTableSpaceOptionsStmt `protobuf:"bytes,142,opt,name=alter_table_space_options_stmt,json=AlterTableSpaceOptionsStmt,proto3,oneof"` + AlterTableSpaceOptionsStmt *AlterTableSpaceOptionsStmt `protobuf:"bytes,158,opt,name=alter_table_space_options_stmt,json=AlterTableSpaceOptionsStmt,proto3,oneof"` } type Node_AlterTableMoveAllStmt struct { - AlterTableMoveAllStmt *AlterTableMoveAllStmt `protobuf:"bytes,143,opt,name=alter_table_move_all_stmt,json=AlterTableMoveAllStmt,proto3,oneof"` + AlterTableMoveAllStmt *AlterTableMoveAllStmt `protobuf:"bytes,159,opt,name=alter_table_move_all_stmt,json=AlterTableMoveAllStmt,proto3,oneof"` } type Node_CreateExtensionStmt struct { - CreateExtensionStmt *CreateExtensionStmt `protobuf:"bytes,144,opt,name=create_extension_stmt,json=CreateExtensionStmt,proto3,oneof"` + CreateExtensionStmt *CreateExtensionStmt `protobuf:"bytes,160,opt,name=create_extension_stmt,json=CreateExtensionStmt,proto3,oneof"` } type Node_AlterExtensionStmt struct { - AlterExtensionStmt *AlterExtensionStmt `protobuf:"bytes,145,opt,name=alter_extension_stmt,json=AlterExtensionStmt,proto3,oneof"` + AlterExtensionStmt *AlterExtensionStmt `protobuf:"bytes,161,opt,name=alter_extension_stmt,json=AlterExtensionStmt,proto3,oneof"` } type Node_AlterExtensionContentsStmt struct { - AlterExtensionContentsStmt *AlterExtensionContentsStmt `protobuf:"bytes,146,opt,name=alter_extension_contents_stmt,json=AlterExtensionContentsStmt,proto3,oneof"` + AlterExtensionContentsStmt *AlterExtensionContentsStmt `protobuf:"bytes,162,opt,name=alter_extension_contents_stmt,json=AlterExtensionContentsStmt,proto3,oneof"` } type Node_CreateFdwStmt struct { - CreateFdwStmt *CreateFdwStmt `protobuf:"bytes,147,opt,name=create_fdw_stmt,json=CreateFdwStmt,proto3,oneof"` + CreateFdwStmt *CreateFdwStmt `protobuf:"bytes,163,opt,name=create_fdw_stmt,json=CreateFdwStmt,proto3,oneof"` } type Node_AlterFdwStmt struct { - AlterFdwStmt *AlterFdwStmt `protobuf:"bytes,148,opt,name=alter_fdw_stmt,json=AlterFdwStmt,proto3,oneof"` + AlterFdwStmt *AlterFdwStmt `protobuf:"bytes,164,opt,name=alter_fdw_stmt,json=AlterFdwStmt,proto3,oneof"` } type Node_CreateForeignServerStmt struct { - CreateForeignServerStmt *CreateForeignServerStmt `protobuf:"bytes,149,opt,name=create_foreign_server_stmt,json=CreateForeignServerStmt,proto3,oneof"` + CreateForeignServerStmt *CreateForeignServerStmt `protobuf:"bytes,165,opt,name=create_foreign_server_stmt,json=CreateForeignServerStmt,proto3,oneof"` } type Node_AlterForeignServerStmt struct { - AlterForeignServerStmt *AlterForeignServerStmt `protobuf:"bytes,150,opt,name=alter_foreign_server_stmt,json=AlterForeignServerStmt,proto3,oneof"` + AlterForeignServerStmt *AlterForeignServerStmt `protobuf:"bytes,166,opt,name=alter_foreign_server_stmt,json=AlterForeignServerStmt,proto3,oneof"` } type Node_CreateForeignTableStmt struct { - CreateForeignTableStmt *CreateForeignTableStmt `protobuf:"bytes,151,opt,name=create_foreign_table_stmt,json=CreateForeignTableStmt,proto3,oneof"` + CreateForeignTableStmt *CreateForeignTableStmt `protobuf:"bytes,167,opt,name=create_foreign_table_stmt,json=CreateForeignTableStmt,proto3,oneof"` } type Node_CreateUserMappingStmt struct { - CreateUserMappingStmt *CreateUserMappingStmt `protobuf:"bytes,152,opt,name=create_user_mapping_stmt,json=CreateUserMappingStmt,proto3,oneof"` + CreateUserMappingStmt *CreateUserMappingStmt `protobuf:"bytes,168,opt,name=create_user_mapping_stmt,json=CreateUserMappingStmt,proto3,oneof"` } type Node_AlterUserMappingStmt struct { - AlterUserMappingStmt *AlterUserMappingStmt `protobuf:"bytes,153,opt,name=alter_user_mapping_stmt,json=AlterUserMappingStmt,proto3,oneof"` + AlterUserMappingStmt *AlterUserMappingStmt `protobuf:"bytes,169,opt,name=alter_user_mapping_stmt,json=AlterUserMappingStmt,proto3,oneof"` } type Node_DropUserMappingStmt struct { - DropUserMappingStmt *DropUserMappingStmt `protobuf:"bytes,154,opt,name=drop_user_mapping_stmt,json=DropUserMappingStmt,proto3,oneof"` + DropUserMappingStmt *DropUserMappingStmt `protobuf:"bytes,170,opt,name=drop_user_mapping_stmt,json=DropUserMappingStmt,proto3,oneof"` } type Node_ImportForeignSchemaStmt struct { - ImportForeignSchemaStmt *ImportForeignSchemaStmt `protobuf:"bytes,155,opt,name=import_foreign_schema_stmt,json=ImportForeignSchemaStmt,proto3,oneof"` + ImportForeignSchemaStmt *ImportForeignSchemaStmt `protobuf:"bytes,171,opt,name=import_foreign_schema_stmt,json=ImportForeignSchemaStmt,proto3,oneof"` } type Node_CreatePolicyStmt struct { - CreatePolicyStmt *CreatePolicyStmt `protobuf:"bytes,156,opt,name=create_policy_stmt,json=CreatePolicyStmt,proto3,oneof"` + CreatePolicyStmt *CreatePolicyStmt `protobuf:"bytes,172,opt,name=create_policy_stmt,json=CreatePolicyStmt,proto3,oneof"` } type Node_AlterPolicyStmt struct { - AlterPolicyStmt *AlterPolicyStmt `protobuf:"bytes,157,opt,name=alter_policy_stmt,json=AlterPolicyStmt,proto3,oneof"` + AlterPolicyStmt *AlterPolicyStmt `protobuf:"bytes,173,opt,name=alter_policy_stmt,json=AlterPolicyStmt,proto3,oneof"` } type Node_CreateAmStmt struct { - CreateAmStmt *CreateAmStmt `protobuf:"bytes,158,opt,name=create_am_stmt,json=CreateAmStmt,proto3,oneof"` + CreateAmStmt *CreateAmStmt `protobuf:"bytes,174,opt,name=create_am_stmt,json=CreateAmStmt,proto3,oneof"` } type Node_CreateTrigStmt struct { - CreateTrigStmt *CreateTrigStmt `protobuf:"bytes,159,opt,name=create_trig_stmt,json=CreateTrigStmt,proto3,oneof"` + CreateTrigStmt *CreateTrigStmt `protobuf:"bytes,175,opt,name=create_trig_stmt,json=CreateTrigStmt,proto3,oneof"` } type Node_CreateEventTrigStmt struct { - CreateEventTrigStmt *CreateEventTrigStmt `protobuf:"bytes,160,opt,name=create_event_trig_stmt,json=CreateEventTrigStmt,proto3,oneof"` + CreateEventTrigStmt *CreateEventTrigStmt `protobuf:"bytes,176,opt,name=create_event_trig_stmt,json=CreateEventTrigStmt,proto3,oneof"` } type Node_AlterEventTrigStmt struct { - AlterEventTrigStmt *AlterEventTrigStmt `protobuf:"bytes,161,opt,name=alter_event_trig_stmt,json=AlterEventTrigStmt,proto3,oneof"` + AlterEventTrigStmt *AlterEventTrigStmt `protobuf:"bytes,177,opt,name=alter_event_trig_stmt,json=AlterEventTrigStmt,proto3,oneof"` } type Node_CreatePlangStmt struct { - CreatePlangStmt *CreatePLangStmt `protobuf:"bytes,162,opt,name=create_plang_stmt,json=CreatePLangStmt,proto3,oneof"` + CreatePlangStmt *CreatePLangStmt `protobuf:"bytes,178,opt,name=create_plang_stmt,json=CreatePLangStmt,proto3,oneof"` } type Node_CreateRoleStmt struct { - CreateRoleStmt *CreateRoleStmt `protobuf:"bytes,163,opt,name=create_role_stmt,json=CreateRoleStmt,proto3,oneof"` + CreateRoleStmt *CreateRoleStmt `protobuf:"bytes,179,opt,name=create_role_stmt,json=CreateRoleStmt,proto3,oneof"` } type Node_AlterRoleStmt struct { - AlterRoleStmt *AlterRoleStmt `protobuf:"bytes,164,opt,name=alter_role_stmt,json=AlterRoleStmt,proto3,oneof"` + AlterRoleStmt *AlterRoleStmt `protobuf:"bytes,180,opt,name=alter_role_stmt,json=AlterRoleStmt,proto3,oneof"` } type Node_AlterRoleSetStmt struct { - AlterRoleSetStmt *AlterRoleSetStmt `protobuf:"bytes,165,opt,name=alter_role_set_stmt,json=AlterRoleSetStmt,proto3,oneof"` + AlterRoleSetStmt *AlterRoleSetStmt `protobuf:"bytes,181,opt,name=alter_role_set_stmt,json=AlterRoleSetStmt,proto3,oneof"` } type Node_DropRoleStmt struct { - DropRoleStmt *DropRoleStmt `protobuf:"bytes,166,opt,name=drop_role_stmt,json=DropRoleStmt,proto3,oneof"` + DropRoleStmt *DropRoleStmt `protobuf:"bytes,182,opt,name=drop_role_stmt,json=DropRoleStmt,proto3,oneof"` } type Node_CreateSeqStmt struct { - CreateSeqStmt *CreateSeqStmt `protobuf:"bytes,167,opt,name=create_seq_stmt,json=CreateSeqStmt,proto3,oneof"` + CreateSeqStmt *CreateSeqStmt `protobuf:"bytes,183,opt,name=create_seq_stmt,json=CreateSeqStmt,proto3,oneof"` } type Node_AlterSeqStmt struct { - AlterSeqStmt *AlterSeqStmt `protobuf:"bytes,168,opt,name=alter_seq_stmt,json=AlterSeqStmt,proto3,oneof"` + AlterSeqStmt *AlterSeqStmt `protobuf:"bytes,184,opt,name=alter_seq_stmt,json=AlterSeqStmt,proto3,oneof"` } type Node_DefineStmt struct { - DefineStmt *DefineStmt `protobuf:"bytes,169,opt,name=define_stmt,json=DefineStmt,proto3,oneof"` + DefineStmt *DefineStmt `protobuf:"bytes,185,opt,name=define_stmt,json=DefineStmt,proto3,oneof"` } type Node_CreateDomainStmt struct { - CreateDomainStmt *CreateDomainStmt `protobuf:"bytes,170,opt,name=create_domain_stmt,json=CreateDomainStmt,proto3,oneof"` + CreateDomainStmt *CreateDomainStmt `protobuf:"bytes,186,opt,name=create_domain_stmt,json=CreateDomainStmt,proto3,oneof"` } type Node_CreateOpClassStmt struct { - CreateOpClassStmt *CreateOpClassStmt `protobuf:"bytes,171,opt,name=create_op_class_stmt,json=CreateOpClassStmt,proto3,oneof"` + CreateOpClassStmt *CreateOpClassStmt `protobuf:"bytes,187,opt,name=create_op_class_stmt,json=CreateOpClassStmt,proto3,oneof"` } type Node_CreateOpClassItem struct { - CreateOpClassItem *CreateOpClassItem `protobuf:"bytes,172,opt,name=create_op_class_item,json=CreateOpClassItem,proto3,oneof"` + CreateOpClassItem *CreateOpClassItem `protobuf:"bytes,188,opt,name=create_op_class_item,json=CreateOpClassItem,proto3,oneof"` } type Node_CreateOpFamilyStmt struct { - CreateOpFamilyStmt *CreateOpFamilyStmt `protobuf:"bytes,173,opt,name=create_op_family_stmt,json=CreateOpFamilyStmt,proto3,oneof"` + CreateOpFamilyStmt *CreateOpFamilyStmt `protobuf:"bytes,189,opt,name=create_op_family_stmt,json=CreateOpFamilyStmt,proto3,oneof"` } type Node_AlterOpFamilyStmt struct { - AlterOpFamilyStmt *AlterOpFamilyStmt `protobuf:"bytes,174,opt,name=alter_op_family_stmt,json=AlterOpFamilyStmt,proto3,oneof"` + AlterOpFamilyStmt *AlterOpFamilyStmt `protobuf:"bytes,190,opt,name=alter_op_family_stmt,json=AlterOpFamilyStmt,proto3,oneof"` } type Node_DropStmt struct { - DropStmt *DropStmt `protobuf:"bytes,175,opt,name=drop_stmt,json=DropStmt,proto3,oneof"` + DropStmt *DropStmt `protobuf:"bytes,191,opt,name=drop_stmt,json=DropStmt,proto3,oneof"` } type Node_TruncateStmt struct { - TruncateStmt *TruncateStmt `protobuf:"bytes,176,opt,name=truncate_stmt,json=TruncateStmt,proto3,oneof"` + TruncateStmt *TruncateStmt `protobuf:"bytes,192,opt,name=truncate_stmt,json=TruncateStmt,proto3,oneof"` } type Node_CommentStmt struct { - CommentStmt *CommentStmt `protobuf:"bytes,177,opt,name=comment_stmt,json=CommentStmt,proto3,oneof"` + CommentStmt *CommentStmt `protobuf:"bytes,193,opt,name=comment_stmt,json=CommentStmt,proto3,oneof"` } type Node_SecLabelStmt struct { - SecLabelStmt *SecLabelStmt `protobuf:"bytes,178,opt,name=sec_label_stmt,json=SecLabelStmt,proto3,oneof"` + SecLabelStmt *SecLabelStmt `protobuf:"bytes,194,opt,name=sec_label_stmt,json=SecLabelStmt,proto3,oneof"` } type Node_DeclareCursorStmt struct { - DeclareCursorStmt *DeclareCursorStmt `protobuf:"bytes,179,opt,name=declare_cursor_stmt,json=DeclareCursorStmt,proto3,oneof"` + DeclareCursorStmt *DeclareCursorStmt `protobuf:"bytes,195,opt,name=declare_cursor_stmt,json=DeclareCursorStmt,proto3,oneof"` } type Node_ClosePortalStmt struct { - ClosePortalStmt *ClosePortalStmt `protobuf:"bytes,180,opt,name=close_portal_stmt,json=ClosePortalStmt,proto3,oneof"` + ClosePortalStmt *ClosePortalStmt `protobuf:"bytes,196,opt,name=close_portal_stmt,json=ClosePortalStmt,proto3,oneof"` } type Node_FetchStmt struct { - FetchStmt *FetchStmt `protobuf:"bytes,181,opt,name=fetch_stmt,json=FetchStmt,proto3,oneof"` + FetchStmt *FetchStmt `protobuf:"bytes,197,opt,name=fetch_stmt,json=FetchStmt,proto3,oneof"` } type Node_IndexStmt struct { - IndexStmt *IndexStmt `protobuf:"bytes,182,opt,name=index_stmt,json=IndexStmt,proto3,oneof"` + IndexStmt *IndexStmt `protobuf:"bytes,198,opt,name=index_stmt,json=IndexStmt,proto3,oneof"` } type Node_CreateStatsStmt struct { - CreateStatsStmt *CreateStatsStmt `protobuf:"bytes,183,opt,name=create_stats_stmt,json=CreateStatsStmt,proto3,oneof"` + CreateStatsStmt *CreateStatsStmt `protobuf:"bytes,199,opt,name=create_stats_stmt,json=CreateStatsStmt,proto3,oneof"` } type Node_StatsElem struct { - StatsElem *StatsElem `protobuf:"bytes,184,opt,name=stats_elem,json=StatsElem,proto3,oneof"` + StatsElem *StatsElem `protobuf:"bytes,200,opt,name=stats_elem,json=StatsElem,proto3,oneof"` } type Node_AlterStatsStmt struct { - AlterStatsStmt *AlterStatsStmt `protobuf:"bytes,185,opt,name=alter_stats_stmt,json=AlterStatsStmt,proto3,oneof"` + AlterStatsStmt *AlterStatsStmt `protobuf:"bytes,201,opt,name=alter_stats_stmt,json=AlterStatsStmt,proto3,oneof"` } type Node_CreateFunctionStmt struct { - CreateFunctionStmt *CreateFunctionStmt `protobuf:"bytes,186,opt,name=create_function_stmt,json=CreateFunctionStmt,proto3,oneof"` + CreateFunctionStmt *CreateFunctionStmt `protobuf:"bytes,202,opt,name=create_function_stmt,json=CreateFunctionStmt,proto3,oneof"` } type Node_FunctionParameter struct { - FunctionParameter *FunctionParameter `protobuf:"bytes,187,opt,name=function_parameter,json=FunctionParameter,proto3,oneof"` + FunctionParameter *FunctionParameter `protobuf:"bytes,203,opt,name=function_parameter,json=FunctionParameter,proto3,oneof"` } type Node_AlterFunctionStmt struct { - AlterFunctionStmt *AlterFunctionStmt `protobuf:"bytes,188,opt,name=alter_function_stmt,json=AlterFunctionStmt,proto3,oneof"` + AlterFunctionStmt *AlterFunctionStmt `protobuf:"bytes,204,opt,name=alter_function_stmt,json=AlterFunctionStmt,proto3,oneof"` } type Node_DoStmt struct { - DoStmt *DoStmt `protobuf:"bytes,189,opt,name=do_stmt,json=DoStmt,proto3,oneof"` + DoStmt *DoStmt `protobuf:"bytes,205,opt,name=do_stmt,json=DoStmt,proto3,oneof"` } type Node_InlineCodeBlock struct { - InlineCodeBlock *InlineCodeBlock `protobuf:"bytes,190,opt,name=inline_code_block,json=InlineCodeBlock,proto3,oneof"` + InlineCodeBlock *InlineCodeBlock `protobuf:"bytes,206,opt,name=inline_code_block,json=InlineCodeBlock,proto3,oneof"` } type Node_CallStmt struct { - CallStmt *CallStmt `protobuf:"bytes,191,opt,name=call_stmt,json=CallStmt,proto3,oneof"` + CallStmt *CallStmt `protobuf:"bytes,207,opt,name=call_stmt,json=CallStmt,proto3,oneof"` } type Node_CallContext struct { - CallContext *CallContext `protobuf:"bytes,192,opt,name=call_context,json=CallContext,proto3,oneof"` + CallContext *CallContext `protobuf:"bytes,208,opt,name=call_context,json=CallContext,proto3,oneof"` } type Node_RenameStmt struct { - RenameStmt *RenameStmt `protobuf:"bytes,193,opt,name=rename_stmt,json=RenameStmt,proto3,oneof"` + RenameStmt *RenameStmt `protobuf:"bytes,209,opt,name=rename_stmt,json=RenameStmt,proto3,oneof"` } type Node_AlterObjectDependsStmt struct { - AlterObjectDependsStmt *AlterObjectDependsStmt `protobuf:"bytes,194,opt,name=alter_object_depends_stmt,json=AlterObjectDependsStmt,proto3,oneof"` + AlterObjectDependsStmt *AlterObjectDependsStmt `protobuf:"bytes,210,opt,name=alter_object_depends_stmt,json=AlterObjectDependsStmt,proto3,oneof"` } type Node_AlterObjectSchemaStmt struct { - AlterObjectSchemaStmt *AlterObjectSchemaStmt `protobuf:"bytes,195,opt,name=alter_object_schema_stmt,json=AlterObjectSchemaStmt,proto3,oneof"` + AlterObjectSchemaStmt *AlterObjectSchemaStmt `protobuf:"bytes,211,opt,name=alter_object_schema_stmt,json=AlterObjectSchemaStmt,proto3,oneof"` } type Node_AlterOwnerStmt struct { - AlterOwnerStmt *AlterOwnerStmt `protobuf:"bytes,196,opt,name=alter_owner_stmt,json=AlterOwnerStmt,proto3,oneof"` + AlterOwnerStmt *AlterOwnerStmt `protobuf:"bytes,212,opt,name=alter_owner_stmt,json=AlterOwnerStmt,proto3,oneof"` } type Node_AlterOperatorStmt struct { - AlterOperatorStmt *AlterOperatorStmt `protobuf:"bytes,197,opt,name=alter_operator_stmt,json=AlterOperatorStmt,proto3,oneof"` + AlterOperatorStmt *AlterOperatorStmt `protobuf:"bytes,213,opt,name=alter_operator_stmt,json=AlterOperatorStmt,proto3,oneof"` } type Node_AlterTypeStmt struct { - AlterTypeStmt *AlterTypeStmt `protobuf:"bytes,198,opt,name=alter_type_stmt,json=AlterTypeStmt,proto3,oneof"` + AlterTypeStmt *AlterTypeStmt `protobuf:"bytes,214,opt,name=alter_type_stmt,json=AlterTypeStmt,proto3,oneof"` } type Node_RuleStmt struct { - RuleStmt *RuleStmt `protobuf:"bytes,199,opt,name=rule_stmt,json=RuleStmt,proto3,oneof"` + RuleStmt *RuleStmt `protobuf:"bytes,215,opt,name=rule_stmt,json=RuleStmt,proto3,oneof"` } type Node_NotifyStmt struct { - NotifyStmt *NotifyStmt `protobuf:"bytes,200,opt,name=notify_stmt,json=NotifyStmt,proto3,oneof"` + NotifyStmt *NotifyStmt `protobuf:"bytes,216,opt,name=notify_stmt,json=NotifyStmt,proto3,oneof"` } type Node_ListenStmt struct { - ListenStmt *ListenStmt `protobuf:"bytes,201,opt,name=listen_stmt,json=ListenStmt,proto3,oneof"` + ListenStmt *ListenStmt `protobuf:"bytes,217,opt,name=listen_stmt,json=ListenStmt,proto3,oneof"` } type Node_UnlistenStmt struct { - UnlistenStmt *UnlistenStmt `protobuf:"bytes,202,opt,name=unlisten_stmt,json=UnlistenStmt,proto3,oneof"` + UnlistenStmt *UnlistenStmt `protobuf:"bytes,218,opt,name=unlisten_stmt,json=UnlistenStmt,proto3,oneof"` } type Node_TransactionStmt struct { - TransactionStmt *TransactionStmt `protobuf:"bytes,203,opt,name=transaction_stmt,json=TransactionStmt,proto3,oneof"` + TransactionStmt *TransactionStmt `protobuf:"bytes,219,opt,name=transaction_stmt,json=TransactionStmt,proto3,oneof"` } type Node_CompositeTypeStmt struct { - CompositeTypeStmt *CompositeTypeStmt `protobuf:"bytes,204,opt,name=composite_type_stmt,json=CompositeTypeStmt,proto3,oneof"` + CompositeTypeStmt *CompositeTypeStmt `protobuf:"bytes,220,opt,name=composite_type_stmt,json=CompositeTypeStmt,proto3,oneof"` } type Node_CreateEnumStmt struct { - CreateEnumStmt *CreateEnumStmt `protobuf:"bytes,205,opt,name=create_enum_stmt,json=CreateEnumStmt,proto3,oneof"` + CreateEnumStmt *CreateEnumStmt `protobuf:"bytes,221,opt,name=create_enum_stmt,json=CreateEnumStmt,proto3,oneof"` } type Node_CreateRangeStmt struct { - CreateRangeStmt *CreateRangeStmt `protobuf:"bytes,206,opt,name=create_range_stmt,json=CreateRangeStmt,proto3,oneof"` + CreateRangeStmt *CreateRangeStmt `protobuf:"bytes,222,opt,name=create_range_stmt,json=CreateRangeStmt,proto3,oneof"` } type Node_AlterEnumStmt struct { - AlterEnumStmt *AlterEnumStmt `protobuf:"bytes,207,opt,name=alter_enum_stmt,json=AlterEnumStmt,proto3,oneof"` + AlterEnumStmt *AlterEnumStmt `protobuf:"bytes,223,opt,name=alter_enum_stmt,json=AlterEnumStmt,proto3,oneof"` } type Node_ViewStmt struct { - ViewStmt *ViewStmt `protobuf:"bytes,208,opt,name=view_stmt,json=ViewStmt,proto3,oneof"` + ViewStmt *ViewStmt `protobuf:"bytes,224,opt,name=view_stmt,json=ViewStmt,proto3,oneof"` } type Node_LoadStmt struct { - LoadStmt *LoadStmt `protobuf:"bytes,209,opt,name=load_stmt,json=LoadStmt,proto3,oneof"` + LoadStmt *LoadStmt `protobuf:"bytes,225,opt,name=load_stmt,json=LoadStmt,proto3,oneof"` } type Node_CreatedbStmt struct { - CreatedbStmt *CreatedbStmt `protobuf:"bytes,210,opt,name=createdb_stmt,json=CreatedbStmt,proto3,oneof"` + CreatedbStmt *CreatedbStmt `protobuf:"bytes,226,opt,name=createdb_stmt,json=CreatedbStmt,proto3,oneof"` } type Node_AlterDatabaseStmt struct { - AlterDatabaseStmt *AlterDatabaseStmt `protobuf:"bytes,211,opt,name=alter_database_stmt,json=AlterDatabaseStmt,proto3,oneof"` + AlterDatabaseStmt *AlterDatabaseStmt `protobuf:"bytes,227,opt,name=alter_database_stmt,json=AlterDatabaseStmt,proto3,oneof"` } type Node_AlterDatabaseRefreshCollStmt struct { - AlterDatabaseRefreshCollStmt *AlterDatabaseRefreshCollStmt `protobuf:"bytes,212,opt,name=alter_database_refresh_coll_stmt,json=AlterDatabaseRefreshCollStmt,proto3,oneof"` + AlterDatabaseRefreshCollStmt *AlterDatabaseRefreshCollStmt `protobuf:"bytes,228,opt,name=alter_database_refresh_coll_stmt,json=AlterDatabaseRefreshCollStmt,proto3,oneof"` } type Node_AlterDatabaseSetStmt struct { - AlterDatabaseSetStmt *AlterDatabaseSetStmt `protobuf:"bytes,213,opt,name=alter_database_set_stmt,json=AlterDatabaseSetStmt,proto3,oneof"` + AlterDatabaseSetStmt *AlterDatabaseSetStmt `protobuf:"bytes,229,opt,name=alter_database_set_stmt,json=AlterDatabaseSetStmt,proto3,oneof"` } type Node_DropdbStmt struct { - DropdbStmt *DropdbStmt `protobuf:"bytes,214,opt,name=dropdb_stmt,json=DropdbStmt,proto3,oneof"` + DropdbStmt *DropdbStmt `protobuf:"bytes,230,opt,name=dropdb_stmt,json=DropdbStmt,proto3,oneof"` } type Node_AlterSystemStmt struct { - AlterSystemStmt *AlterSystemStmt `protobuf:"bytes,215,opt,name=alter_system_stmt,json=AlterSystemStmt,proto3,oneof"` + AlterSystemStmt *AlterSystemStmt `protobuf:"bytes,231,opt,name=alter_system_stmt,json=AlterSystemStmt,proto3,oneof"` } type Node_ClusterStmt struct { - ClusterStmt *ClusterStmt `protobuf:"bytes,216,opt,name=cluster_stmt,json=ClusterStmt,proto3,oneof"` + ClusterStmt *ClusterStmt `protobuf:"bytes,232,opt,name=cluster_stmt,json=ClusterStmt,proto3,oneof"` } type Node_VacuumStmt struct { - VacuumStmt *VacuumStmt `protobuf:"bytes,217,opt,name=vacuum_stmt,json=VacuumStmt,proto3,oneof"` + VacuumStmt *VacuumStmt `protobuf:"bytes,233,opt,name=vacuum_stmt,json=VacuumStmt,proto3,oneof"` } type Node_VacuumRelation struct { - VacuumRelation *VacuumRelation `protobuf:"bytes,218,opt,name=vacuum_relation,json=VacuumRelation,proto3,oneof"` + VacuumRelation *VacuumRelation `protobuf:"bytes,234,opt,name=vacuum_relation,json=VacuumRelation,proto3,oneof"` } type Node_ExplainStmt struct { - ExplainStmt *ExplainStmt `protobuf:"bytes,219,opt,name=explain_stmt,json=ExplainStmt,proto3,oneof"` + ExplainStmt *ExplainStmt `protobuf:"bytes,235,opt,name=explain_stmt,json=ExplainStmt,proto3,oneof"` } type Node_CreateTableAsStmt struct { - CreateTableAsStmt *CreateTableAsStmt `protobuf:"bytes,220,opt,name=create_table_as_stmt,json=CreateTableAsStmt,proto3,oneof"` + CreateTableAsStmt *CreateTableAsStmt `protobuf:"bytes,236,opt,name=create_table_as_stmt,json=CreateTableAsStmt,proto3,oneof"` } type Node_RefreshMatViewStmt struct { - RefreshMatViewStmt *RefreshMatViewStmt `protobuf:"bytes,221,opt,name=refresh_mat_view_stmt,json=RefreshMatViewStmt,proto3,oneof"` + RefreshMatViewStmt *RefreshMatViewStmt `protobuf:"bytes,237,opt,name=refresh_mat_view_stmt,json=RefreshMatViewStmt,proto3,oneof"` } type Node_CheckPointStmt struct { - CheckPointStmt *CheckPointStmt `protobuf:"bytes,222,opt,name=check_point_stmt,json=CheckPointStmt,proto3,oneof"` + CheckPointStmt *CheckPointStmt `protobuf:"bytes,238,opt,name=check_point_stmt,json=CheckPointStmt,proto3,oneof"` } type Node_DiscardStmt struct { - DiscardStmt *DiscardStmt `protobuf:"bytes,223,opt,name=discard_stmt,json=DiscardStmt,proto3,oneof"` + DiscardStmt *DiscardStmt `protobuf:"bytes,239,opt,name=discard_stmt,json=DiscardStmt,proto3,oneof"` } type Node_LockStmt struct { - LockStmt *LockStmt `protobuf:"bytes,224,opt,name=lock_stmt,json=LockStmt,proto3,oneof"` + LockStmt *LockStmt `protobuf:"bytes,240,opt,name=lock_stmt,json=LockStmt,proto3,oneof"` } type Node_ConstraintsSetStmt struct { - ConstraintsSetStmt *ConstraintsSetStmt `protobuf:"bytes,225,opt,name=constraints_set_stmt,json=ConstraintsSetStmt,proto3,oneof"` + ConstraintsSetStmt *ConstraintsSetStmt `protobuf:"bytes,241,opt,name=constraints_set_stmt,json=ConstraintsSetStmt,proto3,oneof"` } type Node_ReindexStmt struct { - ReindexStmt *ReindexStmt `protobuf:"bytes,226,opt,name=reindex_stmt,json=ReindexStmt,proto3,oneof"` + ReindexStmt *ReindexStmt `protobuf:"bytes,242,opt,name=reindex_stmt,json=ReindexStmt,proto3,oneof"` } type Node_CreateConversionStmt struct { - CreateConversionStmt *CreateConversionStmt `protobuf:"bytes,227,opt,name=create_conversion_stmt,json=CreateConversionStmt,proto3,oneof"` + CreateConversionStmt *CreateConversionStmt `protobuf:"bytes,243,opt,name=create_conversion_stmt,json=CreateConversionStmt,proto3,oneof"` } type Node_CreateCastStmt struct { - CreateCastStmt *CreateCastStmt `protobuf:"bytes,228,opt,name=create_cast_stmt,json=CreateCastStmt,proto3,oneof"` + CreateCastStmt *CreateCastStmt `protobuf:"bytes,244,opt,name=create_cast_stmt,json=CreateCastStmt,proto3,oneof"` } type Node_CreateTransformStmt struct { - CreateTransformStmt *CreateTransformStmt `protobuf:"bytes,229,opt,name=create_transform_stmt,json=CreateTransformStmt,proto3,oneof"` + CreateTransformStmt *CreateTransformStmt `protobuf:"bytes,245,opt,name=create_transform_stmt,json=CreateTransformStmt,proto3,oneof"` } type Node_PrepareStmt struct { - PrepareStmt *PrepareStmt `protobuf:"bytes,230,opt,name=prepare_stmt,json=PrepareStmt,proto3,oneof"` + PrepareStmt *PrepareStmt `protobuf:"bytes,246,opt,name=prepare_stmt,json=PrepareStmt,proto3,oneof"` } type Node_ExecuteStmt struct { - ExecuteStmt *ExecuteStmt `protobuf:"bytes,231,opt,name=execute_stmt,json=ExecuteStmt,proto3,oneof"` + ExecuteStmt *ExecuteStmt `protobuf:"bytes,247,opt,name=execute_stmt,json=ExecuteStmt,proto3,oneof"` } type Node_DeallocateStmt struct { - DeallocateStmt *DeallocateStmt `protobuf:"bytes,232,opt,name=deallocate_stmt,json=DeallocateStmt,proto3,oneof"` + DeallocateStmt *DeallocateStmt `protobuf:"bytes,248,opt,name=deallocate_stmt,json=DeallocateStmt,proto3,oneof"` } type Node_DropOwnedStmt struct { - DropOwnedStmt *DropOwnedStmt `protobuf:"bytes,233,opt,name=drop_owned_stmt,json=DropOwnedStmt,proto3,oneof"` + DropOwnedStmt *DropOwnedStmt `protobuf:"bytes,249,opt,name=drop_owned_stmt,json=DropOwnedStmt,proto3,oneof"` } type Node_ReassignOwnedStmt struct { - ReassignOwnedStmt *ReassignOwnedStmt `protobuf:"bytes,234,opt,name=reassign_owned_stmt,json=ReassignOwnedStmt,proto3,oneof"` + ReassignOwnedStmt *ReassignOwnedStmt `protobuf:"bytes,250,opt,name=reassign_owned_stmt,json=ReassignOwnedStmt,proto3,oneof"` } type Node_AlterTsdictionaryStmt struct { - AlterTsdictionaryStmt *AlterTSDictionaryStmt `protobuf:"bytes,235,opt,name=alter_tsdictionary_stmt,json=AlterTSDictionaryStmt,proto3,oneof"` + AlterTsdictionaryStmt *AlterTSDictionaryStmt `protobuf:"bytes,251,opt,name=alter_tsdictionary_stmt,json=AlterTSDictionaryStmt,proto3,oneof"` } type Node_AlterTsconfigurationStmt struct { - AlterTsconfigurationStmt *AlterTSConfigurationStmt `protobuf:"bytes,236,opt,name=alter_tsconfiguration_stmt,json=AlterTSConfigurationStmt,proto3,oneof"` + AlterTsconfigurationStmt *AlterTSConfigurationStmt `protobuf:"bytes,252,opt,name=alter_tsconfiguration_stmt,json=AlterTSConfigurationStmt,proto3,oneof"` } type Node_PublicationTable struct { - PublicationTable *PublicationTable `protobuf:"bytes,237,opt,name=publication_table,json=PublicationTable,proto3,oneof"` + PublicationTable *PublicationTable `protobuf:"bytes,253,opt,name=publication_table,json=PublicationTable,proto3,oneof"` } type Node_PublicationObjSpec struct { - PublicationObjSpec *PublicationObjSpec `protobuf:"bytes,238,opt,name=publication_obj_spec,json=PublicationObjSpec,proto3,oneof"` + PublicationObjSpec *PublicationObjSpec `protobuf:"bytes,254,opt,name=publication_obj_spec,json=PublicationObjSpec,proto3,oneof"` } type Node_CreatePublicationStmt struct { - CreatePublicationStmt *CreatePublicationStmt `protobuf:"bytes,239,opt,name=create_publication_stmt,json=CreatePublicationStmt,proto3,oneof"` + CreatePublicationStmt *CreatePublicationStmt `protobuf:"bytes,255,opt,name=create_publication_stmt,json=CreatePublicationStmt,proto3,oneof"` } type Node_AlterPublicationStmt struct { - AlterPublicationStmt *AlterPublicationStmt `protobuf:"bytes,240,opt,name=alter_publication_stmt,json=AlterPublicationStmt,proto3,oneof"` + AlterPublicationStmt *AlterPublicationStmt `protobuf:"bytes,256,opt,name=alter_publication_stmt,json=AlterPublicationStmt,proto3,oneof"` } type Node_CreateSubscriptionStmt struct { - CreateSubscriptionStmt *CreateSubscriptionStmt `protobuf:"bytes,241,opt,name=create_subscription_stmt,json=CreateSubscriptionStmt,proto3,oneof"` + CreateSubscriptionStmt *CreateSubscriptionStmt `protobuf:"bytes,257,opt,name=create_subscription_stmt,json=CreateSubscriptionStmt,proto3,oneof"` } type Node_AlterSubscriptionStmt struct { - AlterSubscriptionStmt *AlterSubscriptionStmt `protobuf:"bytes,242,opt,name=alter_subscription_stmt,json=AlterSubscriptionStmt,proto3,oneof"` + AlterSubscriptionStmt *AlterSubscriptionStmt `protobuf:"bytes,258,opt,name=alter_subscription_stmt,json=AlterSubscriptionStmt,proto3,oneof"` } type Node_DropSubscriptionStmt struct { - DropSubscriptionStmt *DropSubscriptionStmt `protobuf:"bytes,243,opt,name=drop_subscription_stmt,json=DropSubscriptionStmt,proto3,oneof"` + DropSubscriptionStmt *DropSubscriptionStmt `protobuf:"bytes,259,opt,name=drop_subscription_stmt,json=DropSubscriptionStmt,proto3,oneof"` } type Node_Integer struct { - Integer *Integer `protobuf:"bytes,244,opt,name=integer,json=Integer,proto3,oneof"` + Integer *Integer `protobuf:"bytes,260,opt,name=integer,json=Integer,proto3,oneof"` } type Node_Float struct { - Float *Float `protobuf:"bytes,245,opt,name=float,json=Float,proto3,oneof"` + Float *Float `protobuf:"bytes,261,opt,name=float,json=Float,proto3,oneof"` } type Node_Boolean struct { - Boolean *Boolean `protobuf:"bytes,246,opt,name=boolean,json=Boolean,proto3,oneof"` + Boolean *Boolean `protobuf:"bytes,262,opt,name=boolean,json=Boolean,proto3,oneof"` } type Node_String_ struct { - String_ *String `protobuf:"bytes,247,opt,name=string,json=String,proto3,oneof"` + String_ *String `protobuf:"bytes,263,opt,name=string,json=String,proto3,oneof"` } type Node_BitString struct { - BitString *BitString `protobuf:"bytes,248,opt,name=bit_string,json=BitString,proto3,oneof"` + BitString *BitString `protobuf:"bytes,264,opt,name=bit_string,json=BitString,proto3,oneof"` } type Node_List struct { - List *List `protobuf:"bytes,249,opt,name=list,json=List,proto3,oneof"` + List *List `protobuf:"bytes,265,opt,name=list,json=List,proto3,oneof"` } type Node_IntList struct { - IntList *IntList `protobuf:"bytes,250,opt,name=int_list,json=IntList,proto3,oneof"` + IntList *IntList `protobuf:"bytes,266,opt,name=int_list,json=IntList,proto3,oneof"` } type Node_OidList struct { - OidList *OidList `protobuf:"bytes,251,opt,name=oid_list,json=OidList,proto3,oneof"` + OidList *OidList `protobuf:"bytes,267,opt,name=oid_list,json=OidList,proto3,oneof"` } type Node_AConst struct { - AConst *A_Const `protobuf:"bytes,252,opt,name=a_const,json=A_Const,proto3,oneof"` + AConst *A_Const `protobuf:"bytes,268,opt,name=a_const,json=A_Const,proto3,oneof"` } func (*Node_Alias) isNode_Node() {} @@ -8806,6 +9461,10 @@ func (*Node_GroupingFunc) isNode_Node() {} func (*Node_WindowFunc) isNode_Node() {} +func (*Node_WindowFuncRunCondition) isNode_Node() {} + +func (*Node_MergeSupportFunc) isNode_Node() {} + func (*Node_SubscriptingRef) isNode_Node() {} func (*Node_FuncExpr) isNode_Node() {} @@ -8872,10 +9531,22 @@ func (*Node_JsonConstructorExpr) isNode_Node() {} func (*Node_JsonIsPredicate) isNode_Node() {} +func (*Node_JsonBehavior) isNode_Node() {} + +func (*Node_JsonExpr) isNode_Node() {} + +func (*Node_JsonTablePath) isNode_Node() {} + +func (*Node_JsonTablePathScan) isNode_Node() {} + +func (*Node_JsonTableSiblingJoin) isNode_Node() {} + func (*Node_NullTest) isNode_Node() {} func (*Node_BooleanTest) isNode_Node() {} +func (*Node_MergeAction) isNode_Node() {} + func (*Node_CoerceToDomain) isNode_Node() {} func (*Node_CoerceToDomainValue) isNode_Node() {} @@ -8962,6 +9633,8 @@ func (*Node_PartitionBoundSpec) isNode_Node() {} func (*Node_PartitionRangeDatum) isNode_Node() {} +func (*Node_SinglePartitionSpec) isNode_Node() {} + func (*Node_PartitionCmd) isNode_Node() {} func (*Node_RangeTblEntry) isNode_Node() {} @@ -8996,14 +9669,28 @@ func (*Node_CommonTableExpr) isNode_Node() {} func (*Node_MergeWhenClause) isNode_Node() {} -func (*Node_MergeAction) isNode_Node() {} - func (*Node_TriggerTransition) isNode_Node() {} func (*Node_JsonOutput) isNode_Node() {} +func (*Node_JsonArgument) isNode_Node() {} + +func (*Node_JsonFuncExpr) isNode_Node() {} + +func (*Node_JsonTablePathSpec) isNode_Node() {} + +func (*Node_JsonTable) isNode_Node() {} + +func (*Node_JsonTableColumn) isNode_Node() {} + func (*Node_JsonKeyValue) isNode_Node() {} +func (*Node_JsonParseExpr) isNode_Node() {} + +func (*Node_JsonScalarExpr) isNode_Node() {} + +func (*Node_JsonSerializeExpr) isNode_Node() {} + func (*Node_JsonObjectConstructor) isNode_Node() {} func (*Node_JsonArrayConstructor) isNode_Node() {} @@ -9962,19 +10649,23 @@ type TableFunc struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NsUris []*Node `protobuf:"bytes,1,rep,name=ns_uris,proto3" json:"ns_uris,omitempty"` - NsNames []*Node `protobuf:"bytes,2,rep,name=ns_names,proto3" json:"ns_names,omitempty"` - Docexpr *Node `protobuf:"bytes,3,opt,name=docexpr,proto3" json:"docexpr,omitempty"` - Rowexpr *Node `protobuf:"bytes,4,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` - Colnames []*Node `protobuf:"bytes,5,rep,name=colnames,proto3" json:"colnames,omitempty"` - Coltypes []*Node `protobuf:"bytes,6,rep,name=coltypes,proto3" json:"coltypes,omitempty"` - Coltypmods []*Node `protobuf:"bytes,7,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` - Colcollations []*Node `protobuf:"bytes,8,rep,name=colcollations,proto3" json:"colcollations,omitempty"` - Colexprs []*Node `protobuf:"bytes,9,rep,name=colexprs,proto3" json:"colexprs,omitempty"` - Coldefexprs []*Node `protobuf:"bytes,10,rep,name=coldefexprs,proto3" json:"coldefexprs,omitempty"` - Notnulls []uint64 `protobuf:"varint,11,rep,packed,name=notnulls,proto3" json:"notnulls,omitempty"` - Ordinalitycol int32 `protobuf:"varint,12,opt,name=ordinalitycol,proto3" json:"ordinalitycol,omitempty"` - Location int32 `protobuf:"varint,13,opt,name=location,proto3" json:"location,omitempty"` + Functype TableFuncType `protobuf:"varint,1,opt,name=functype,proto3,enum=pg_query.TableFuncType" json:"functype,omitempty"` + NsUris []*Node `protobuf:"bytes,2,rep,name=ns_uris,proto3" json:"ns_uris,omitempty"` + NsNames []*Node `protobuf:"bytes,3,rep,name=ns_names,proto3" json:"ns_names,omitempty"` + Docexpr *Node `protobuf:"bytes,4,opt,name=docexpr,proto3" json:"docexpr,omitempty"` + Rowexpr *Node `protobuf:"bytes,5,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` + Colnames []*Node `protobuf:"bytes,6,rep,name=colnames,proto3" json:"colnames,omitempty"` + Coltypes []*Node `protobuf:"bytes,7,rep,name=coltypes,proto3" json:"coltypes,omitempty"` + Coltypmods []*Node `protobuf:"bytes,8,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` + Colcollations []*Node `protobuf:"bytes,9,rep,name=colcollations,proto3" json:"colcollations,omitempty"` + Colexprs []*Node `protobuf:"bytes,10,rep,name=colexprs,proto3" json:"colexprs,omitempty"` + Coldefexprs []*Node `protobuf:"bytes,11,rep,name=coldefexprs,proto3" json:"coldefexprs,omitempty"` + Colvalexprs []*Node `protobuf:"bytes,12,rep,name=colvalexprs,proto3" json:"colvalexprs,omitempty"` + Passingvalexprs []*Node `protobuf:"bytes,13,rep,name=passingvalexprs,proto3" json:"passingvalexprs,omitempty"` + Notnulls []uint64 `protobuf:"varint,14,rep,packed,name=notnulls,proto3" json:"notnulls,omitempty"` + Plan *Node `protobuf:"bytes,15,opt,name=plan,proto3" json:"plan,omitempty"` + Ordinalitycol int32 `protobuf:"varint,16,opt,name=ordinalitycol,proto3" json:"ordinalitycol,omitempty"` + Location int32 `protobuf:"varint,17,opt,name=location,proto3" json:"location,omitempty"` } func (x *TableFunc) Reset() { @@ -10009,6 +10700,13 @@ func (*TableFunc) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{14} } +func (x *TableFunc) GetFunctype() TableFuncType { + if x != nil { + return x.Functype + } + return TableFuncType_TABLE_FUNC_TYPE_UNDEFINED +} + func (x *TableFunc) GetNsUris() []*Node { if x != nil { return x.NsUris @@ -10079,6 +10777,20 @@ func (x *TableFunc) GetColdefexprs() []*Node { return nil } +func (x *TableFunc) GetColvalexprs() []*Node { + if x != nil { + return x.Colvalexprs + } + return nil +} + +func (x *TableFunc) GetPassingvalexprs() []*Node { + if x != nil { + return x.Passingvalexprs + } + return nil +} + func (x *TableFunc) GetNotnulls() []uint64 { if x != nil { return x.Notnulls @@ -10086,6 +10798,13 @@ func (x *TableFunc) GetNotnulls() []uint64 { return nil } +func (x *TableFunc) GetPlan() *Node { + if x != nil { + return x.Plan + } + return nil +} + func (x *TableFunc) GetOrdinalitycol() int32 { if x != nil { return x.Ordinalitycol @@ -10684,17 +11403,18 @@ type WindowFunc struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Winfnoid uint32 `protobuf:"varint,2,opt,name=winfnoid,proto3" json:"winfnoid,omitempty"` - Wintype uint32 `protobuf:"varint,3,opt,name=wintype,proto3" json:"wintype,omitempty"` - Wincollid uint32 `protobuf:"varint,4,opt,name=wincollid,proto3" json:"wincollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Aggfilter *Node `protobuf:"bytes,7,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` - Winref uint32 `protobuf:"varint,8,opt,name=winref,proto3" json:"winref,omitempty"` - Winstar bool `protobuf:"varint,9,opt,name=winstar,proto3" json:"winstar,omitempty"` - Winagg bool `protobuf:"varint,10,opt,name=winagg,proto3" json:"winagg,omitempty"` - Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Winfnoid uint32 `protobuf:"varint,2,opt,name=winfnoid,proto3" json:"winfnoid,omitempty"` + Wintype uint32 `protobuf:"varint,3,opt,name=wintype,proto3" json:"wintype,omitempty"` + Wincollid uint32 `protobuf:"varint,4,opt,name=wincollid,proto3" json:"wincollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Aggfilter *Node `protobuf:"bytes,7,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` + RunCondition []*Node `protobuf:"bytes,8,rep,name=run_condition,json=runCondition,proto3" json:"run_condition,omitempty"` + Winref uint32 `protobuf:"varint,9,opt,name=winref,proto3" json:"winref,omitempty"` + Winstar bool `protobuf:"varint,10,opt,name=winstar,proto3" json:"winstar,omitempty"` + Winagg bool `protobuf:"varint,11,opt,name=winagg,proto3" json:"winagg,omitempty"` + Location int32 `protobuf:"varint,12,opt,name=location,proto3" json:"location,omitempty"` } func (x *WindowFunc) Reset() { @@ -10778,6 +11498,13 @@ func (x *WindowFunc) GetAggfilter() *Node { return nil } +func (x *WindowFunc) GetRunCondition() []*Node { + if x != nil { + return x.RunCondition + } + return nil +} + func (x *WindowFunc) GetWinref() uint32 { if x != nil { return x.Winref @@ -10806,6 +11533,156 @@ func (x *WindowFunc) GetLocation() int32 { return 0 } +type WindowFuncRunCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + Inputcollid uint32 `protobuf:"varint,3,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + WfuncLeft bool `protobuf:"varint,4,opt,name=wfunc_left,proto3" json:"wfunc_left,omitempty"` + Arg *Node `protobuf:"bytes,5,opt,name=arg,proto3" json:"arg,omitempty"` +} + +func (x *WindowFuncRunCondition) Reset() { + *x = WindowFuncRunCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowFuncRunCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowFuncRunCondition) ProtoMessage() {} + +func (x *WindowFuncRunCondition) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowFuncRunCondition.ProtoReflect.Descriptor instead. +func (*WindowFuncRunCondition) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{21} +} + +func (x *WindowFuncRunCondition) GetXpr() *Node { + if x != nil { + return x.Xpr + } + return nil +} + +func (x *WindowFuncRunCondition) GetOpno() uint32 { + if x != nil { + return x.Opno + } + return 0 +} + +func (x *WindowFuncRunCondition) GetInputcollid() uint32 { + if x != nil { + return x.Inputcollid + } + return 0 +} + +func (x *WindowFuncRunCondition) GetWfuncLeft() bool { + if x != nil { + return x.WfuncLeft + } + return false +} + +func (x *WindowFuncRunCondition) GetArg() *Node { + if x != nil { + return x.Arg + } + return nil +} + +type MergeSupportFunc struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Msftype uint32 `protobuf:"varint,2,opt,name=msftype,proto3" json:"msftype,omitempty"` + Msfcollid uint32 `protobuf:"varint,3,opt,name=msfcollid,proto3" json:"msfcollid,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *MergeSupportFunc) Reset() { + *x = MergeSupportFunc{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MergeSupportFunc) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MergeSupportFunc) ProtoMessage() {} + +func (x *MergeSupportFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MergeSupportFunc.ProtoReflect.Descriptor instead. +func (*MergeSupportFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{22} +} + +func (x *MergeSupportFunc) GetXpr() *Node { + if x != nil { + return x.Xpr + } + return nil +} + +func (x *MergeSupportFunc) GetMsftype() uint32 { + if x != nil { + return x.Msftype + } + return 0 +} + +func (x *MergeSupportFunc) GetMsfcollid() uint32 { + if x != nil { + return x.Msfcollid + } + return 0 +} + +func (x *MergeSupportFunc) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + type SubscriptingRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10826,7 +11703,7 @@ type SubscriptingRef struct { func (x *SubscriptingRef) Reset() { *x = SubscriptingRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[21] + mi := &file_pg_query_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10839,7 +11716,7 @@ func (x *SubscriptingRef) String() string { func (*SubscriptingRef) ProtoMessage() {} func (x *SubscriptingRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[21] + mi := &file_pg_query_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10852,7 +11729,7 @@ func (x *SubscriptingRef) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscriptingRef.ProtoReflect.Descriptor instead. func (*SubscriptingRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{21} + return file_pg_query_proto_rawDescGZIP(), []int{23} } func (x *SubscriptingRef) GetXpr() *Node { @@ -10945,7 +11822,7 @@ type FuncExpr struct { func (x *FuncExpr) Reset() { *x = FuncExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[22] + mi := &file_pg_query_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10958,7 +11835,7 @@ func (x *FuncExpr) String() string { func (*FuncExpr) ProtoMessage() {} func (x *FuncExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[22] + mi := &file_pg_query_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10971,7 +11848,7 @@ func (x *FuncExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use FuncExpr.ProtoReflect.Descriptor instead. func (*FuncExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{22} + return file_pg_query_proto_rawDescGZIP(), []int{24} } func (x *FuncExpr) GetXpr() *Node { @@ -11059,7 +11936,7 @@ type NamedArgExpr struct { func (x *NamedArgExpr) Reset() { *x = NamedArgExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[23] + mi := &file_pg_query_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11072,7 +11949,7 @@ func (x *NamedArgExpr) String() string { func (*NamedArgExpr) ProtoMessage() {} func (x *NamedArgExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[23] + mi := &file_pg_query_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11085,7 +11962,7 @@ func (x *NamedArgExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use NamedArgExpr.ProtoReflect.Descriptor instead. func (*NamedArgExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{23} + return file_pg_query_proto_rawDescGZIP(), []int{25} } func (x *NamedArgExpr) GetXpr() *Node { @@ -11141,7 +12018,7 @@ type OpExpr struct { func (x *OpExpr) Reset() { *x = OpExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[24] + mi := &file_pg_query_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11154,7 +12031,7 @@ func (x *OpExpr) String() string { func (*OpExpr) ProtoMessage() {} func (x *OpExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[24] + mi := &file_pg_query_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11167,7 +12044,7 @@ func (x *OpExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use OpExpr.ProtoReflect.Descriptor instead. func (*OpExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{24} + return file_pg_query_proto_rawDescGZIP(), []int{26} } func (x *OpExpr) GetXpr() *Node { @@ -11244,7 +12121,7 @@ type DistinctExpr struct { func (x *DistinctExpr) Reset() { *x = DistinctExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[25] + mi := &file_pg_query_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11257,7 +12134,7 @@ func (x *DistinctExpr) String() string { func (*DistinctExpr) ProtoMessage() {} func (x *DistinctExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[25] + mi := &file_pg_query_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11270,7 +12147,7 @@ func (x *DistinctExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use DistinctExpr.ProtoReflect.Descriptor instead. func (*DistinctExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{25} + return file_pg_query_proto_rawDescGZIP(), []int{27} } func (x *DistinctExpr) GetXpr() *Node { @@ -11347,7 +12224,7 @@ type NullIfExpr struct { func (x *NullIfExpr) Reset() { *x = NullIfExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[26] + mi := &file_pg_query_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11360,7 +12237,7 @@ func (x *NullIfExpr) String() string { func (*NullIfExpr) ProtoMessage() {} func (x *NullIfExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[26] + mi := &file_pg_query_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11373,7 +12250,7 @@ func (x *NullIfExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use NullIfExpr.ProtoReflect.Descriptor instead. func (*NullIfExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{26} + return file_pg_query_proto_rawDescGZIP(), []int{28} } func (x *NullIfExpr) GetXpr() *Node { @@ -11448,7 +12325,7 @@ type ScalarArrayOpExpr struct { func (x *ScalarArrayOpExpr) Reset() { *x = ScalarArrayOpExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[27] + mi := &file_pg_query_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11461,7 +12338,7 @@ func (x *ScalarArrayOpExpr) String() string { func (*ScalarArrayOpExpr) ProtoMessage() {} func (x *ScalarArrayOpExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[27] + mi := &file_pg_query_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11474,7 +12351,7 @@ func (x *ScalarArrayOpExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use ScalarArrayOpExpr.ProtoReflect.Descriptor instead. func (*ScalarArrayOpExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{27} + return file_pg_query_proto_rawDescGZIP(), []int{29} } func (x *ScalarArrayOpExpr) GetXpr() *Node { @@ -11533,7 +12410,7 @@ type BoolExpr struct { func (x *BoolExpr) Reset() { *x = BoolExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[28] + mi := &file_pg_query_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11546,7 +12423,7 @@ func (x *BoolExpr) String() string { func (*BoolExpr) ProtoMessage() {} func (x *BoolExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[28] + mi := &file_pg_query_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11559,7 +12436,7 @@ func (x *BoolExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use BoolExpr.ProtoReflect.Descriptor instead. func (*BoolExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{28} + return file_pg_query_proto_rawDescGZIP(), []int{30} } func (x *BoolExpr) GetXpr() *Node { @@ -11607,7 +12484,7 @@ type SubLink struct { func (x *SubLink) Reset() { *x = SubLink{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[29] + mi := &file_pg_query_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11620,7 +12497,7 @@ func (x *SubLink) String() string { func (*SubLink) ProtoMessage() {} func (x *SubLink) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[29] + mi := &file_pg_query_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11633,7 +12510,7 @@ func (x *SubLink) ProtoReflect() protoreflect.Message { // Deprecated: Use SubLink.ProtoReflect.Descriptor instead. func (*SubLink) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{29} + return file_pg_query_proto_rawDescGZIP(), []int{31} } func (x *SubLink) GetXpr() *Node { @@ -11712,7 +12589,7 @@ type SubPlan struct { func (x *SubPlan) Reset() { *x = SubPlan{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[30] + mi := &file_pg_query_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11725,7 +12602,7 @@ func (x *SubPlan) String() string { func (*SubPlan) ProtoMessage() {} func (x *SubPlan) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[30] + mi := &file_pg_query_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11738,7 +12615,7 @@ func (x *SubPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use SubPlan.ProtoReflect.Descriptor instead. func (*SubPlan) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{30} + return file_pg_query_proto_rawDescGZIP(), []int{32} } func (x *SubPlan) GetXpr() *Node { @@ -11872,7 +12749,7 @@ type AlternativeSubPlan struct { func (x *AlternativeSubPlan) Reset() { *x = AlternativeSubPlan{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[31] + mi := &file_pg_query_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11885,7 +12762,7 @@ func (x *AlternativeSubPlan) String() string { func (*AlternativeSubPlan) ProtoMessage() {} func (x *AlternativeSubPlan) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[31] + mi := &file_pg_query_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11898,7 +12775,7 @@ func (x *AlternativeSubPlan) ProtoReflect() protoreflect.Message { // Deprecated: Use AlternativeSubPlan.ProtoReflect.Descriptor instead. func (*AlternativeSubPlan) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{31} + return file_pg_query_proto_rawDescGZIP(), []int{33} } func (x *AlternativeSubPlan) GetXpr() *Node { @@ -11931,7 +12808,7 @@ type FieldSelect struct { func (x *FieldSelect) Reset() { *x = FieldSelect{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[32] + mi := &file_pg_query_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11944,7 +12821,7 @@ func (x *FieldSelect) String() string { func (*FieldSelect) ProtoMessage() {} func (x *FieldSelect) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[32] + mi := &file_pg_query_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11957,7 +12834,7 @@ func (x *FieldSelect) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldSelect.ProtoReflect.Descriptor instead. func (*FieldSelect) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{32} + return file_pg_query_proto_rawDescGZIP(), []int{34} } func (x *FieldSelect) GetXpr() *Node { @@ -12017,7 +12894,7 @@ type FieldStore struct { func (x *FieldStore) Reset() { *x = FieldStore{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[33] + mi := &file_pg_query_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12030,7 +12907,7 @@ func (x *FieldStore) String() string { func (*FieldStore) ProtoMessage() {} func (x *FieldStore) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[33] + mi := &file_pg_query_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12043,7 +12920,7 @@ func (x *FieldStore) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldStore.ProtoReflect.Descriptor instead. func (*FieldStore) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{33} + return file_pg_query_proto_rawDescGZIP(), []int{35} } func (x *FieldStore) GetXpr() *Node { @@ -12098,7 +12975,7 @@ type RelabelType struct { func (x *RelabelType) Reset() { *x = RelabelType{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[34] + mi := &file_pg_query_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12111,7 +12988,7 @@ func (x *RelabelType) String() string { func (*RelabelType) ProtoMessage() {} func (x *RelabelType) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[34] + mi := &file_pg_query_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12124,7 +13001,7 @@ func (x *RelabelType) ProtoReflect() protoreflect.Message { // Deprecated: Use RelabelType.ProtoReflect.Descriptor instead. func (*RelabelType) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{34} + return file_pg_query_proto_rawDescGZIP(), []int{36} } func (x *RelabelType) GetXpr() *Node { @@ -12192,7 +13069,7 @@ type CoerceViaIO struct { func (x *CoerceViaIO) Reset() { *x = CoerceViaIO{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[35] + mi := &file_pg_query_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12205,7 +13082,7 @@ func (x *CoerceViaIO) String() string { func (*CoerceViaIO) ProtoMessage() {} func (x *CoerceViaIO) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[35] + mi := &file_pg_query_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12218,7 +13095,7 @@ func (x *CoerceViaIO) ProtoReflect() protoreflect.Message { // Deprecated: Use CoerceViaIO.ProtoReflect.Descriptor instead. func (*CoerceViaIO) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{35} + return file_pg_query_proto_rawDescGZIP(), []int{37} } func (x *CoerceViaIO) GetXpr() *Node { @@ -12281,7 +13158,7 @@ type ArrayCoerceExpr struct { func (x *ArrayCoerceExpr) Reset() { *x = ArrayCoerceExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[36] + mi := &file_pg_query_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12294,7 +13171,7 @@ func (x *ArrayCoerceExpr) String() string { func (*ArrayCoerceExpr) ProtoMessage() {} func (x *ArrayCoerceExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[36] + mi := &file_pg_query_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12307,7 +13184,7 @@ func (x *ArrayCoerceExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use ArrayCoerceExpr.ProtoReflect.Descriptor instead. func (*ArrayCoerceExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{36} + return file_pg_query_proto_rawDescGZIP(), []int{38} } func (x *ArrayCoerceExpr) GetXpr() *Node { @@ -12381,7 +13258,7 @@ type ConvertRowtypeExpr struct { func (x *ConvertRowtypeExpr) Reset() { *x = ConvertRowtypeExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[37] + mi := &file_pg_query_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12394,7 +13271,7 @@ func (x *ConvertRowtypeExpr) String() string { func (*ConvertRowtypeExpr) ProtoMessage() {} func (x *ConvertRowtypeExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[37] + mi := &file_pg_query_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12407,7 +13284,7 @@ func (x *ConvertRowtypeExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use ConvertRowtypeExpr.ProtoReflect.Descriptor instead. func (*ConvertRowtypeExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{37} + return file_pg_query_proto_rawDescGZIP(), []int{39} } func (x *ConvertRowtypeExpr) GetXpr() *Node { @@ -12459,7 +13336,7 @@ type CollateExpr struct { func (x *CollateExpr) Reset() { *x = CollateExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[38] + mi := &file_pg_query_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12472,7 +13349,7 @@ func (x *CollateExpr) String() string { func (*CollateExpr) ProtoMessage() {} func (x *CollateExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[38] + mi := &file_pg_query_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12485,7 +13362,7 @@ func (x *CollateExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use CollateExpr.ProtoReflect.Descriptor instead. func (*CollateExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{38} + return file_pg_query_proto_rawDescGZIP(), []int{40} } func (x *CollateExpr) GetXpr() *Node { @@ -12533,7 +13410,7 @@ type CaseExpr struct { func (x *CaseExpr) Reset() { *x = CaseExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[39] + mi := &file_pg_query_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12546,7 +13423,7 @@ func (x *CaseExpr) String() string { func (*CaseExpr) ProtoMessage() {} func (x *CaseExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[39] + mi := &file_pg_query_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12559,7 +13436,7 @@ func (x *CaseExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use CaseExpr.ProtoReflect.Descriptor instead. func (*CaseExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{39} + return file_pg_query_proto_rawDescGZIP(), []int{41} } func (x *CaseExpr) GetXpr() *Node { @@ -12625,7 +13502,7 @@ type CaseWhen struct { func (x *CaseWhen) Reset() { *x = CaseWhen{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[40] + mi := &file_pg_query_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12638,7 +13515,7 @@ func (x *CaseWhen) String() string { func (*CaseWhen) ProtoMessage() {} func (x *CaseWhen) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[40] + mi := &file_pg_query_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12651,7 +13528,7 @@ func (x *CaseWhen) ProtoReflect() protoreflect.Message { // Deprecated: Use CaseWhen.ProtoReflect.Descriptor instead. func (*CaseWhen) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{40} + return file_pg_query_proto_rawDescGZIP(), []int{42} } func (x *CaseWhen) GetXpr() *Node { @@ -12696,7 +13573,7 @@ type CaseTestExpr struct { func (x *CaseTestExpr) Reset() { *x = CaseTestExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[41] + mi := &file_pg_query_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12709,7 +13586,7 @@ func (x *CaseTestExpr) String() string { func (*CaseTestExpr) ProtoMessage() {} func (x *CaseTestExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[41] + mi := &file_pg_query_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12722,7 +13599,7 @@ func (x *CaseTestExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use CaseTestExpr.ProtoReflect.Descriptor instead. func (*CaseTestExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{41} + return file_pg_query_proto_rawDescGZIP(), []int{43} } func (x *CaseTestExpr) GetXpr() *Node { @@ -12770,7 +13647,7 @@ type ArrayExpr struct { func (x *ArrayExpr) Reset() { *x = ArrayExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[42] + mi := &file_pg_query_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12783,7 +13660,7 @@ func (x *ArrayExpr) String() string { func (*ArrayExpr) ProtoMessage() {} func (x *ArrayExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[42] + mi := &file_pg_query_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12796,7 +13673,7 @@ func (x *ArrayExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use ArrayExpr.ProtoReflect.Descriptor instead. func (*ArrayExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{42} + return file_pg_query_proto_rawDescGZIP(), []int{44} } func (x *ArrayExpr) GetXpr() *Node { @@ -12864,7 +13741,7 @@ type RowExpr struct { func (x *RowExpr) Reset() { *x = RowExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[43] + mi := &file_pg_query_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12877,7 +13754,7 @@ func (x *RowExpr) String() string { func (*RowExpr) ProtoMessage() {} func (x *RowExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[43] + mi := &file_pg_query_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12890,7 +13767,7 @@ func (x *RowExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use RowExpr.ProtoReflect.Descriptor instead. func (*RowExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{43} + return file_pg_query_proto_rawDescGZIP(), []int{45} } func (x *RowExpr) GetXpr() *Node { @@ -12952,7 +13829,7 @@ type RowCompareExpr struct { func (x *RowCompareExpr) Reset() { *x = RowCompareExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[44] + mi := &file_pg_query_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12965,7 +13842,7 @@ func (x *RowCompareExpr) String() string { func (*RowCompareExpr) ProtoMessage() {} func (x *RowCompareExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[44] + mi := &file_pg_query_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12978,7 +13855,7 @@ func (x *RowCompareExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use RowCompareExpr.ProtoReflect.Descriptor instead. func (*RowCompareExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{44} + return file_pg_query_proto_rawDescGZIP(), []int{46} } func (x *RowCompareExpr) GetXpr() *Node { @@ -13045,7 +13922,7 @@ type CoalesceExpr struct { func (x *CoalesceExpr) Reset() { *x = CoalesceExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[45] + mi := &file_pg_query_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13058,7 +13935,7 @@ func (x *CoalesceExpr) String() string { func (*CoalesceExpr) ProtoMessage() {} func (x *CoalesceExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[45] + mi := &file_pg_query_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13071,7 +13948,7 @@ func (x *CoalesceExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use CoalesceExpr.ProtoReflect.Descriptor instead. func (*CoalesceExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{45} + return file_pg_query_proto_rawDescGZIP(), []int{47} } func (x *CoalesceExpr) GetXpr() *Node { @@ -13126,7 +14003,7 @@ type MinMaxExpr struct { func (x *MinMaxExpr) Reset() { *x = MinMaxExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[46] + mi := &file_pg_query_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13139,7 +14016,7 @@ func (x *MinMaxExpr) String() string { func (*MinMaxExpr) ProtoMessage() {} func (x *MinMaxExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[46] + mi := &file_pg_query_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13152,7 +14029,7 @@ func (x *MinMaxExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use MinMaxExpr.ProtoReflect.Descriptor instead. func (*MinMaxExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{46} + return file_pg_query_proto_rawDescGZIP(), []int{48} } func (x *MinMaxExpr) GetXpr() *Node { @@ -13219,7 +14096,7 @@ type SQLValueFunction struct { func (x *SQLValueFunction) Reset() { *x = SQLValueFunction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[47] + mi := &file_pg_query_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13232,7 +14109,7 @@ func (x *SQLValueFunction) String() string { func (*SQLValueFunction) ProtoMessage() {} func (x *SQLValueFunction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[47] + mi := &file_pg_query_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13245,7 +14122,7 @@ func (x *SQLValueFunction) ProtoReflect() protoreflect.Message { // Deprecated: Use SQLValueFunction.ProtoReflect.Descriptor instead. func (*SQLValueFunction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{47} + return file_pg_query_proto_rawDescGZIP(), []int{49} } func (x *SQLValueFunction) GetXpr() *Node { @@ -13304,7 +14181,7 @@ type XmlExpr struct { func (x *XmlExpr) Reset() { *x = XmlExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[48] + mi := &file_pg_query_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13317,7 +14194,7 @@ func (x *XmlExpr) String() string { func (*XmlExpr) ProtoMessage() {} func (x *XmlExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[48] + mi := &file_pg_query_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13330,7 +14207,7 @@ func (x *XmlExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use XmlExpr.ProtoReflect.Descriptor instead. func (*XmlExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{48} + return file_pg_query_proto_rawDescGZIP(), []int{50} } func (x *XmlExpr) GetXpr() *Node { @@ -13423,7 +14300,7 @@ type JsonFormat struct { func (x *JsonFormat) Reset() { *x = JsonFormat{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[49] + mi := &file_pg_query_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13436,7 +14313,7 @@ func (x *JsonFormat) String() string { func (*JsonFormat) ProtoMessage() {} func (x *JsonFormat) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[49] + mi := &file_pg_query_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13449,7 +14326,7 @@ func (x *JsonFormat) ProtoReflect() protoreflect.Message { // Deprecated: Use JsonFormat.ProtoReflect.Descriptor instead. func (*JsonFormat) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{49} + return file_pg_query_proto_rawDescGZIP(), []int{51} } func (x *JsonFormat) GetFormatType() JsonFormatType { @@ -13486,7 +14363,7 @@ type JsonReturning struct { func (x *JsonReturning) Reset() { *x = JsonReturning{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[50] + mi := &file_pg_query_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13499,7 +14376,7 @@ func (x *JsonReturning) String() string { func (*JsonReturning) ProtoMessage() {} func (x *JsonReturning) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[50] + mi := &file_pg_query_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13512,7 +14389,7 @@ func (x *JsonReturning) ProtoReflect() protoreflect.Message { // Deprecated: Use JsonReturning.ProtoReflect.Descriptor instead. func (*JsonReturning) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{50} + return file_pg_query_proto_rawDescGZIP(), []int{52} } func (x *JsonReturning) GetFormat() *JsonFormat { @@ -13549,7 +14426,7 @@ type JsonValueExpr struct { func (x *JsonValueExpr) Reset() { *x = JsonValueExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[51] + mi := &file_pg_query_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13562,7 +14439,7 @@ func (x *JsonValueExpr) String() string { func (*JsonValueExpr) ProtoMessage() {} func (x *JsonValueExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[51] + mi := &file_pg_query_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13575,7 +14452,7 @@ func (x *JsonValueExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use JsonValueExpr.ProtoReflect.Descriptor instead. func (*JsonValueExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{51} + return file_pg_query_proto_rawDescGZIP(), []int{53} } func (x *JsonValueExpr) GetRawExpr() *Node { @@ -13618,7 +14495,7 @@ type JsonConstructorExpr struct { func (x *JsonConstructorExpr) Reset() { *x = JsonConstructorExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[52] + mi := &file_pg_query_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13631,7 +14508,7 @@ func (x *JsonConstructorExpr) String() string { func (*JsonConstructorExpr) ProtoMessage() {} func (x *JsonConstructorExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[52] + mi := &file_pg_query_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13644,7 +14521,7 @@ func (x *JsonConstructorExpr) ProtoReflect() protoreflect.Message { // Deprecated: Use JsonConstructorExpr.ProtoReflect.Descriptor instead. func (*JsonConstructorExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{52} + return file_pg_query_proto_rawDescGZIP(), []int{54} } func (x *JsonConstructorExpr) GetXpr() *Node { @@ -13725,7 +14602,7 @@ type JsonIsPredicate struct { func (x *JsonIsPredicate) Reset() { *x = JsonIsPredicate{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[53] + mi := &file_pg_query_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13738,7 +14615,7 @@ func (x *JsonIsPredicate) String() string { func (*JsonIsPredicate) ProtoMessage() {} func (x *JsonIsPredicate) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[53] + mi := &file_pg_query_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13751,7 +14628,7 @@ func (x *JsonIsPredicate) ProtoReflect() protoreflect.Message { // Deprecated: Use JsonIsPredicate.ProtoReflect.Descriptor instead. func (*JsonIsPredicate) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{53} + return file_pg_query_proto_rawDescGZIP(), []int{55} } func (x *JsonIsPredicate) GetExpr() *Node { @@ -13789,35 +14666,34 @@ func (x *JsonIsPredicate) GetLocation() int32 { return 0 } -type NullTest struct { +type JsonBehavior struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Nulltesttype NullTestType `protobuf:"varint,3,opt,name=nulltesttype,proto3,enum=pg_query.NullTestType" json:"nulltesttype,omitempty"` - Argisrow bool `protobuf:"varint,4,opt,name=argisrow,proto3" json:"argisrow,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Btype JsonBehaviorType `protobuf:"varint,1,opt,name=btype,proto3,enum=pg_query.JsonBehaviorType" json:"btype,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Coerce bool `protobuf:"varint,3,opt,name=coerce,proto3" json:"coerce,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *NullTest) Reset() { - *x = NullTest{} +func (x *JsonBehavior) Reset() { + *x = JsonBehavior{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[54] + mi := &file_pg_query_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NullTest) String() string { +func (x *JsonBehavior) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NullTest) ProtoMessage() {} +func (*JsonBehavior) ProtoMessage() {} -func (x *NullTest) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[54] +func (x *JsonBehavior) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13828,74 +14704,80 @@ func (x *NullTest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NullTest.ProtoReflect.Descriptor instead. -func (*NullTest) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{54} +// Deprecated: Use JsonBehavior.ProtoReflect.Descriptor instead. +func (*JsonBehavior) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{56} } -func (x *NullTest) GetXpr() *Node { +func (x *JsonBehavior) GetBtype() JsonBehaviorType { if x != nil { - return x.Xpr + return x.Btype } - return nil + return JsonBehaviorType_JSON_BEHAVIOR_TYPE_UNDEFINED } -func (x *NullTest) GetArg() *Node { +func (x *JsonBehavior) GetExpr() *Node { if x != nil { - return x.Arg + return x.Expr } return nil } -func (x *NullTest) GetNulltesttype() NullTestType { - if x != nil { - return x.Nulltesttype - } - return NullTestType_NULL_TEST_TYPE_UNDEFINED -} - -func (x *NullTest) GetArgisrow() bool { +func (x *JsonBehavior) GetCoerce() bool { if x != nil { - return x.Argisrow + return x.Coerce } return false } -func (x *NullTest) GetLocation() int32 { +func (x *JsonBehavior) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type BooleanTest struct { +type JsonExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Booltesttype BoolTestType `protobuf:"varint,3,opt,name=booltesttype,proto3,enum=pg_query.BoolTestType" json:"booltesttype,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Op JsonExprOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.JsonExprOp" json:"op,omitempty"` + ColumnName string `protobuf:"bytes,3,opt,name=column_name,proto3" json:"column_name,omitempty"` + FormattedExpr *Node `protobuf:"bytes,4,opt,name=formatted_expr,proto3" json:"formatted_expr,omitempty"` + Format *JsonFormat `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"` + PathSpec *Node `protobuf:"bytes,6,opt,name=path_spec,proto3" json:"path_spec,omitempty"` + Returning *JsonReturning `protobuf:"bytes,7,opt,name=returning,proto3" json:"returning,omitempty"` + PassingNames []*Node `protobuf:"bytes,8,rep,name=passing_names,proto3" json:"passing_names,omitempty"` + PassingValues []*Node `protobuf:"bytes,9,rep,name=passing_values,proto3" json:"passing_values,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,10,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,11,opt,name=on_error,proto3" json:"on_error,omitempty"` + UseIoCoercion bool `protobuf:"varint,12,opt,name=use_io_coercion,proto3" json:"use_io_coercion,omitempty"` + UseJsonCoercion bool `protobuf:"varint,13,opt,name=use_json_coercion,proto3" json:"use_json_coercion,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,14,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + OmitQuotes bool `protobuf:"varint,15,opt,name=omit_quotes,proto3" json:"omit_quotes,omitempty"` + Collation uint32 `protobuf:"varint,16,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,17,opt,name=location,proto3" json:"location,omitempty"` } -func (x *BooleanTest) Reset() { - *x = BooleanTest{} +func (x *JsonExpr) Reset() { + *x = JsonExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[55] + mi := &file_pg_query_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BooleanTest) String() string { +func (x *JsonExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BooleanTest) ProtoMessage() {} +func (*JsonExpr) ProtoMessage() {} -func (x *BooleanTest) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[55] +func (x *JsonExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13906,227 +14788,140 @@ func (x *BooleanTest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BooleanTest.ProtoReflect.Descriptor instead. -func (*BooleanTest) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{55} +// Deprecated: Use JsonExpr.ProtoReflect.Descriptor instead. +func (*JsonExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{57} } -func (x *BooleanTest) GetXpr() *Node { +func (x *JsonExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *BooleanTest) GetArg() *Node { +func (x *JsonExpr) GetOp() JsonExprOp { if x != nil { - return x.Arg + return x.Op } - return nil + return JsonExprOp_JSON_EXPR_OP_UNDEFINED } -func (x *BooleanTest) GetBooltesttype() BoolTestType { +func (x *JsonExpr) GetColumnName() string { if x != nil { - return x.Booltesttype + return x.ColumnName } - return BoolTestType_BOOL_TEST_TYPE_UNDEFINED + return "" } -func (x *BooleanTest) GetLocation() int32 { +func (x *JsonExpr) GetFormattedExpr() *Node { if x != nil { - return x.Location + return x.FormattedExpr } - return 0 + return nil } -type CoerceToDomain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *JsonExpr) GetFormat() *JsonFormat { + if x != nil { + return x.Format + } + return nil +} - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` - Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` - Coercionformat CoercionForm `protobuf:"varint,6,opt,name=coercionformat,proto3,enum=pg_query.CoercionForm" json:"coercionformat,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *CoerceToDomain) Reset() { - *x = CoerceToDomain{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CoerceToDomain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CoerceToDomain) ProtoMessage() {} - -func (x *CoerceToDomain) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CoerceToDomain.ProtoReflect.Descriptor instead. -func (*CoerceToDomain) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{56} -} - -func (x *CoerceToDomain) GetXpr() *Node { +func (x *JsonExpr) GetPathSpec() *Node { if x != nil { - return x.Xpr + return x.PathSpec } return nil } -func (x *CoerceToDomain) GetArg() *Node { +func (x *JsonExpr) GetReturning() *JsonReturning { if x != nil { - return x.Arg + return x.Returning } return nil } -func (x *CoerceToDomain) GetResulttype() uint32 { +func (x *JsonExpr) GetPassingNames() []*Node { if x != nil { - return x.Resulttype + return x.PassingNames } - return 0 + return nil } -func (x *CoerceToDomain) GetResulttypmod() int32 { +func (x *JsonExpr) GetPassingValues() []*Node { if x != nil { - return x.Resulttypmod + return x.PassingValues } - return 0 + return nil } -func (x *CoerceToDomain) GetResultcollid() uint32 { +func (x *JsonExpr) GetOnEmpty() *JsonBehavior { if x != nil { - return x.Resultcollid + return x.OnEmpty } - return 0 + return nil } -func (x *CoerceToDomain) GetCoercionformat() CoercionForm { +func (x *JsonExpr) GetOnError() *JsonBehavior { if x != nil { - return x.Coercionformat + return x.OnError } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *CoerceToDomain) GetLocation() int32 { +func (x *JsonExpr) GetUseIoCoercion() bool { if x != nil { - return x.Location - } - return 0 -} - -type CoerceToDomainValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` - TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` - Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *CoerceToDomainValue) Reset() { - *x = CoerceToDomainValue{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CoerceToDomainValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CoerceToDomainValue) ProtoMessage() {} - -func (x *CoerceToDomainValue) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.UseIoCoercion } - return mi.MessageOf(x) -} - -// Deprecated: Use CoerceToDomainValue.ProtoReflect.Descriptor instead. -func (*CoerceToDomainValue) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{57} + return false } -func (x *CoerceToDomainValue) GetXpr() *Node { +func (x *JsonExpr) GetUseJsonCoercion() bool { if x != nil { - return x.Xpr + return x.UseJsonCoercion } - return nil + return false } -func (x *CoerceToDomainValue) GetTypeId() uint32 { +func (x *JsonExpr) GetWrapper() JsonWrapper { if x != nil { - return x.TypeId + return x.Wrapper } - return 0 + return JsonWrapper_JSON_WRAPPER_UNDEFINED } -func (x *CoerceToDomainValue) GetTypeMod() int32 { +func (x *JsonExpr) GetOmitQuotes() bool { if x != nil { - return x.TypeMod + return x.OmitQuotes } - return 0 + return false } -func (x *CoerceToDomainValue) GetCollation() uint32 { +func (x *JsonExpr) GetCollation() uint32 { if x != nil { return x.Collation } return 0 } -func (x *CoerceToDomainValue) GetLocation() int32 { +func (x *JsonExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type SetToDefault struct { +type JsonTablePath struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` - TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` - Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *SetToDefault) Reset() { - *x = SetToDefault{} +func (x *JsonTablePath) Reset() { + *x = JsonTablePath{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14134,13 +14929,13 @@ func (x *SetToDefault) Reset() { } } -func (x *SetToDefault) String() string { +func (x *JsonTablePath) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetToDefault) ProtoMessage() {} +func (*JsonTablePath) ProtoMessage() {} -func (x *SetToDefault) ProtoReflect() protoreflect.Message { +func (x *JsonTablePath) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14152,59 +14947,33 @@ func (x *SetToDefault) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetToDefault.ProtoReflect.Descriptor instead. -func (*SetToDefault) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTablePath.ProtoReflect.Descriptor instead. +func (*JsonTablePath) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{58} } -func (x *SetToDefault) GetXpr() *Node { - if x != nil { - return x.Xpr - } - return nil -} - -func (x *SetToDefault) GetTypeId() uint32 { - if x != nil { - return x.TypeId - } - return 0 -} - -func (x *SetToDefault) GetTypeMod() int32 { - if x != nil { - return x.TypeMod - } - return 0 -} - -func (x *SetToDefault) GetCollation() uint32 { - if x != nil { - return x.Collation - } - return 0 -} - -func (x *SetToDefault) GetLocation() int32 { +func (x *JsonTablePath) GetName() string { if x != nil { - return x.Location + return x.Name } - return 0 + return "" } -type CurrentOfExpr struct { +type JsonTablePathScan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Cvarno uint32 `protobuf:"varint,2,opt,name=cvarno,proto3" json:"cvarno,omitempty"` - CursorName string `protobuf:"bytes,3,opt,name=cursor_name,proto3" json:"cursor_name,omitempty"` - CursorParam int32 `protobuf:"varint,4,opt,name=cursor_param,proto3" json:"cursor_param,omitempty"` + Plan *Node `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + Path *JsonTablePath `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + ErrorOnError bool `protobuf:"varint,3,opt,name=error_on_error,json=errorOnError,proto3" json:"error_on_error,omitempty"` + Child *Node `protobuf:"bytes,4,opt,name=child,proto3" json:"child,omitempty"` + ColMin int32 `protobuf:"varint,5,opt,name=col_min,json=colMin,proto3" json:"col_min,omitempty"` + ColMax int32 `protobuf:"varint,6,opt,name=col_max,json=colMax,proto3" json:"col_max,omitempty"` } -func (x *CurrentOfExpr) Reset() { - *x = CurrentOfExpr{} +func (x *JsonTablePathScan) Reset() { + *x = JsonTablePathScan{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14212,13 +14981,13 @@ func (x *CurrentOfExpr) Reset() { } } -func (x *CurrentOfExpr) String() string { +func (x *JsonTablePathScan) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CurrentOfExpr) ProtoMessage() {} +func (*JsonTablePathScan) ProtoMessage() {} -func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { +func (x *JsonTablePathScan) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14230,51 +14999,65 @@ func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CurrentOfExpr.ProtoReflect.Descriptor instead. -func (*CurrentOfExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTablePathScan.ProtoReflect.Descriptor instead. +func (*JsonTablePathScan) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{59} } -func (x *CurrentOfExpr) GetXpr() *Node { +func (x *JsonTablePathScan) GetPlan() *Node { if x != nil { - return x.Xpr + return x.Plan } return nil } -func (x *CurrentOfExpr) GetCvarno() uint32 { +func (x *JsonTablePathScan) GetPath() *JsonTablePath { if x != nil { - return x.Cvarno + return x.Path } - return 0 + return nil } -func (x *CurrentOfExpr) GetCursorName() string { +func (x *JsonTablePathScan) GetErrorOnError() bool { if x != nil { - return x.CursorName + return x.ErrorOnError } - return "" + return false } -func (x *CurrentOfExpr) GetCursorParam() int32 { +func (x *JsonTablePathScan) GetChild() *Node { if x != nil { - return x.CursorParam + return x.Child + } + return nil +} + +func (x *JsonTablePathScan) GetColMin() int32 { + if x != nil { + return x.ColMin } return 0 } -type NextValueExpr struct { +func (x *JsonTablePathScan) GetColMax() int32 { + if x != nil { + return x.ColMax + } + return 0 +} + +type JsonTableSiblingJoin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Seqid uint32 `protobuf:"varint,2,opt,name=seqid,proto3" json:"seqid,omitempty"` - TypeId uint32 `protobuf:"varint,3,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + Plan *Node `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + Lplan *Node `protobuf:"bytes,2,opt,name=lplan,proto3" json:"lplan,omitempty"` + Rplan *Node `protobuf:"bytes,3,opt,name=rplan,proto3" json:"rplan,omitempty"` } -func (x *NextValueExpr) Reset() { - *x = NextValueExpr{} +func (x *JsonTableSiblingJoin) Reset() { + *x = JsonTableSiblingJoin{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14282,13 +15065,13 @@ func (x *NextValueExpr) Reset() { } } -func (x *NextValueExpr) String() string { +func (x *JsonTableSiblingJoin) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NextValueExpr) ProtoMessage() {} +func (*JsonTableSiblingJoin) ProtoMessage() {} -func (x *NextValueExpr) ProtoReflect() protoreflect.Message { +func (x *JsonTableSiblingJoin) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14300,45 +15083,46 @@ func (x *NextValueExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NextValueExpr.ProtoReflect.Descriptor instead. -func (*NextValueExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTableSiblingJoin.ProtoReflect.Descriptor instead. +func (*JsonTableSiblingJoin) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{60} } -func (x *NextValueExpr) GetXpr() *Node { +func (x *JsonTableSiblingJoin) GetPlan() *Node { if x != nil { - return x.Xpr + return x.Plan } return nil } -func (x *NextValueExpr) GetSeqid() uint32 { +func (x *JsonTableSiblingJoin) GetLplan() *Node { if x != nil { - return x.Seqid + return x.Lplan } - return 0 + return nil } -func (x *NextValueExpr) GetTypeId() uint32 { +func (x *JsonTableSiblingJoin) GetRplan() *Node { if x != nil { - return x.TypeId + return x.Rplan } - return 0 + return nil } -type InferenceElem struct { +type NullTest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Infercollid uint32 `protobuf:"varint,3,opt,name=infercollid,proto3" json:"infercollid,omitempty"` - Inferopclass uint32 `protobuf:"varint,4,opt,name=inferopclass,proto3" json:"inferopclass,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Nulltesttype NullTestType `protobuf:"varint,3,opt,name=nulltesttype,proto3,enum=pg_query.NullTestType" json:"nulltesttype,omitempty"` + Argisrow bool `protobuf:"varint,4,opt,name=argisrow,proto3" json:"argisrow,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *InferenceElem) Reset() { - *x = InferenceElem{} +func (x *NullTest) Reset() { + *x = NullTest{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14346,13 +15130,13 @@ func (x *InferenceElem) Reset() { } } -func (x *InferenceElem) String() string { +func (x *NullTest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InferenceElem) ProtoMessage() {} +func (*NullTest) ProtoMessage() {} -func (x *InferenceElem) ProtoReflect() protoreflect.Message { +func (x *NullTest) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14364,56 +15148,59 @@ func (x *InferenceElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InferenceElem.ProtoReflect.Descriptor instead. -func (*InferenceElem) Descriptor() ([]byte, []int) { +// Deprecated: Use NullTest.ProtoReflect.Descriptor instead. +func (*NullTest) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{61} } -func (x *InferenceElem) GetXpr() *Node { +func (x *NullTest) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *InferenceElem) GetExpr() *Node { +func (x *NullTest) GetArg() *Node { if x != nil { - return x.Expr + return x.Arg } return nil } -func (x *InferenceElem) GetInfercollid() uint32 { +func (x *NullTest) GetNulltesttype() NullTestType { if x != nil { - return x.Infercollid + return x.Nulltesttype } - return 0 + return NullTestType_NULL_TEST_TYPE_UNDEFINED } -func (x *InferenceElem) GetInferopclass() uint32 { +func (x *NullTest) GetArgisrow() bool { if x != nil { - return x.Inferopclass + return x.Argisrow + } + return false +} + +func (x *NullTest) GetLocation() int32 { + if x != nil { + return x.Location } return 0 } -type TargetEntry struct { +type BooleanTest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Resno int32 `protobuf:"varint,3,opt,name=resno,proto3" json:"resno,omitempty"` - Resname string `protobuf:"bytes,4,opt,name=resname,proto3" json:"resname,omitempty"` - Ressortgroupref uint32 `protobuf:"varint,5,opt,name=ressortgroupref,proto3" json:"ressortgroupref,omitempty"` - Resorigtbl uint32 `protobuf:"varint,6,opt,name=resorigtbl,proto3" json:"resorigtbl,omitempty"` - Resorigcol int32 `protobuf:"varint,7,opt,name=resorigcol,proto3" json:"resorigcol,omitempty"` - Resjunk bool `protobuf:"varint,8,opt,name=resjunk,proto3" json:"resjunk,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Booltesttype BoolTestType `protobuf:"varint,3,opt,name=booltesttype,proto3,enum=pg_query.BoolTestType" json:"booltesttype,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *TargetEntry) Reset() { - *x = TargetEntry{} +func (x *BooleanTest) Reset() { + *x = BooleanTest{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14421,13 +15208,13 @@ func (x *TargetEntry) Reset() { } } -func (x *TargetEntry) String() string { +func (x *BooleanTest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TargetEntry) ProtoMessage() {} +func (*BooleanTest) ProtoMessage() {} -func (x *TargetEntry) ProtoReflect() protoreflect.Message { +func (x *BooleanTest) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14439,77 +15226,54 @@ func (x *TargetEntry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TargetEntry.ProtoReflect.Descriptor instead. -func (*TargetEntry) Descriptor() ([]byte, []int) { +// Deprecated: Use BooleanTest.ProtoReflect.Descriptor instead. +func (*BooleanTest) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{62} } -func (x *TargetEntry) GetXpr() *Node { +func (x *BooleanTest) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *TargetEntry) GetExpr() *Node { +func (x *BooleanTest) GetArg() *Node { if x != nil { - return x.Expr + return x.Arg } return nil } -func (x *TargetEntry) GetResno() int32 { - if x != nil { - return x.Resno - } - return 0 -} - -func (x *TargetEntry) GetResname() string { - if x != nil { - return x.Resname - } - return "" -} - -func (x *TargetEntry) GetRessortgroupref() uint32 { - if x != nil { - return x.Ressortgroupref - } - return 0 -} - -func (x *TargetEntry) GetResorigtbl() uint32 { +func (x *BooleanTest) GetBooltesttype() BoolTestType { if x != nil { - return x.Resorigtbl + return x.Booltesttype } - return 0 + return BoolTestType_BOOL_TEST_TYPE_UNDEFINED } -func (x *TargetEntry) GetResorigcol() int32 { +func (x *BooleanTest) GetLocation() int32 { if x != nil { - return x.Resorigcol + return x.Location } return 0 } -func (x *TargetEntry) GetResjunk() bool { - if x != nil { - return x.Resjunk - } - return false -} - -type RangeTblRef struct { +type MergeAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rtindex int32 `protobuf:"varint,1,opt,name=rtindex,proto3" json:"rtindex,omitempty"` + MatchKind MergeMatchKind `protobuf:"varint,1,opt,name=match_kind,json=matchKind,proto3,enum=pg_query.MergeMatchKind" json:"match_kind,omitempty"` + CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + UpdateColnos []*Node `protobuf:"bytes,6,rep,name=update_colnos,json=updateColnos,proto3" json:"update_colnos,omitempty"` } -func (x *RangeTblRef) Reset() { - *x = RangeTblRef{} +func (x *MergeAction) Reset() { + *x = MergeAction{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14517,13 +15281,13 @@ func (x *RangeTblRef) Reset() { } } -func (x *RangeTblRef) String() string { +func (x *MergeAction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblRef) ProtoMessage() {} +func (*MergeAction) ProtoMessage() {} -func (x *RangeTblRef) ProtoReflect() protoreflect.Message { +func (x *MergeAction) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14535,36 +15299,69 @@ func (x *RangeTblRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblRef.ProtoReflect.Descriptor instead. -func (*RangeTblRef) Descriptor() ([]byte, []int) { +// Deprecated: Use MergeAction.ProtoReflect.Descriptor instead. +func (*MergeAction) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{63} } -func (x *RangeTblRef) GetRtindex() int32 { +func (x *MergeAction) GetMatchKind() MergeMatchKind { if x != nil { - return x.Rtindex + return x.MatchKind } - return 0 + return MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED } -type JoinExpr struct { +func (x *MergeAction) GetCommandType() CmdType { + if x != nil { + return x.CommandType + } + return CmdType_CMD_TYPE_UNDEFINED +} + +func (x *MergeAction) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED +} + +func (x *MergeAction) GetQual() *Node { + if x != nil { + return x.Qual + } + return nil +} + +func (x *MergeAction) GetTargetList() []*Node { + if x != nil { + return x.TargetList + } + return nil +} + +func (x *MergeAction) GetUpdateColnos() []*Node { + if x != nil { + return x.UpdateColnos + } + return nil +} + +type CoerceToDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Jointype JoinType `protobuf:"varint,1,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` - IsNatural bool `protobuf:"varint,2,opt,name=is_natural,json=isNatural,proto3" json:"is_natural,omitempty"` - Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` - UsingClause []*Node `protobuf:"bytes,5,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` - JoinUsingAlias *Alias `protobuf:"bytes,6,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` - Quals *Node `protobuf:"bytes,7,opt,name=quals,proto3" json:"quals,omitempty"` - Alias *Alias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` - Rtindex int32 `protobuf:"varint,9,opt,name=rtindex,proto3" json:"rtindex,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` + Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + Coercionformat CoercionForm `protobuf:"varint,6,opt,name=coercionformat,proto3,enum=pg_query.CoercionForm" json:"coercionformat,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JoinExpr) Reset() { - *x = JoinExpr{} +func (x *CoerceToDomain) Reset() { + *x = CoerceToDomain{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14572,13 +15369,13 @@ func (x *JoinExpr) Reset() { } } -func (x *JoinExpr) String() string { +func (x *CoerceToDomain) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JoinExpr) ProtoMessage() {} +func (*CoerceToDomain) ProtoMessage() {} -func (x *JoinExpr) ProtoReflect() protoreflect.Message { +func (x *CoerceToDomain) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14590,85 +15387,74 @@ func (x *JoinExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JoinExpr.ProtoReflect.Descriptor instead. -func (*JoinExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use CoerceToDomain.ProtoReflect.Descriptor instead. +func (*CoerceToDomain) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{64} } -func (x *JoinExpr) GetJointype() JoinType { - if x != nil { - return x.Jointype - } - return JoinType_JOIN_TYPE_UNDEFINED -} - -func (x *JoinExpr) GetIsNatural() bool { - if x != nil { - return x.IsNatural - } - return false -} - -func (x *JoinExpr) GetLarg() *Node { +func (x *CoerceToDomain) GetXpr() *Node { if x != nil { - return x.Larg + return x.Xpr } return nil } -func (x *JoinExpr) GetRarg() *Node { +func (x *CoerceToDomain) GetArg() *Node { if x != nil { - return x.Rarg + return x.Arg } return nil } -func (x *JoinExpr) GetUsingClause() []*Node { +func (x *CoerceToDomain) GetResulttype() uint32 { if x != nil { - return x.UsingClause + return x.Resulttype } - return nil + return 0 } -func (x *JoinExpr) GetJoinUsingAlias() *Alias { +func (x *CoerceToDomain) GetResulttypmod() int32 { if x != nil { - return x.JoinUsingAlias + return x.Resulttypmod } - return nil + return 0 } -func (x *JoinExpr) GetQuals() *Node { +func (x *CoerceToDomain) GetResultcollid() uint32 { if x != nil { - return x.Quals + return x.Resultcollid } - return nil + return 0 } -func (x *JoinExpr) GetAlias() *Alias { +func (x *CoerceToDomain) GetCoercionformat() CoercionForm { if x != nil { - return x.Alias + return x.Coercionformat } - return nil + return CoercionForm_COERCION_FORM_UNDEFINED } -func (x *JoinExpr) GetRtindex() int32 { +func (x *CoerceToDomain) GetLocation() int32 { if x != nil { - return x.Rtindex + return x.Location } return 0 } -type FromExpr struct { +type CoerceToDomainValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fromlist []*Node `protobuf:"bytes,1,rep,name=fromlist,proto3" json:"fromlist,omitempty"` - Quals *Node `protobuf:"bytes,2,opt,name=quals,proto3" json:"quals,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` + Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *FromExpr) Reset() { - *x = FromExpr{} +func (x *CoerceToDomainValue) Reset() { + *x = CoerceToDomainValue{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14676,13 +15462,13 @@ func (x *FromExpr) Reset() { } } -func (x *FromExpr) String() string { +func (x *CoerceToDomainValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FromExpr) ProtoMessage() {} +func (*CoerceToDomainValue) ProtoMessage() {} -func (x *FromExpr) ProtoReflect() protoreflect.Message { +func (x *CoerceToDomainValue) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14694,42 +15480,60 @@ func (x *FromExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FromExpr.ProtoReflect.Descriptor instead. -func (*FromExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use CoerceToDomainValue.ProtoReflect.Descriptor instead. +func (*CoerceToDomainValue) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{65} } -func (x *FromExpr) GetFromlist() []*Node { +func (x *CoerceToDomainValue) GetXpr() *Node { if x != nil { - return x.Fromlist + return x.Xpr } return nil } -func (x *FromExpr) GetQuals() *Node { +func (x *CoerceToDomainValue) GetTypeId() uint32 { if x != nil { - return x.Quals + return x.TypeId } - return nil + return 0 } -type OnConflictExpr struct { +func (x *CoerceToDomainValue) GetTypeMod() int32 { + if x != nil { + return x.TypeMod + } + return 0 +} + +func (x *CoerceToDomainValue) GetCollation() uint32 { + if x != nil { + return x.Collation + } + return 0 +} + +func (x *CoerceToDomainValue) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type SetToDefault struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` - ArbiterElems []*Node `protobuf:"bytes,2,rep,name=arbiter_elems,json=arbiterElems,proto3" json:"arbiter_elems,omitempty"` - ArbiterWhere *Node `protobuf:"bytes,3,opt,name=arbiter_where,json=arbiterWhere,proto3" json:"arbiter_where,omitempty"` - Constraint uint32 `protobuf:"varint,4,opt,name=constraint,proto3" json:"constraint,omitempty"` - OnConflictSet []*Node `protobuf:"bytes,5,rep,name=on_conflict_set,json=onConflictSet,proto3" json:"on_conflict_set,omitempty"` - OnConflictWhere *Node `protobuf:"bytes,6,opt,name=on_conflict_where,json=onConflictWhere,proto3" json:"on_conflict_where,omitempty"` - ExclRelIndex int32 `protobuf:"varint,7,opt,name=excl_rel_index,json=exclRelIndex,proto3" json:"excl_rel_index,omitempty"` - ExclRelTlist []*Node `protobuf:"bytes,8,rep,name=excl_rel_tlist,json=exclRelTlist,proto3" json:"excl_rel_tlist,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` + Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *OnConflictExpr) Reset() { - *x = OnConflictExpr{} +func (x *SetToDefault) Reset() { + *x = SetToDefault{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14737,13 +15541,13 @@ func (x *OnConflictExpr) Reset() { } } -func (x *OnConflictExpr) String() string { +func (x *SetToDefault) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OnConflictExpr) ProtoMessage() {} +func (*SetToDefault) ProtoMessage() {} -func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { +func (x *SetToDefault) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14755,117 +15559,59 @@ func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OnConflictExpr.ProtoReflect.Descriptor instead. -func (*OnConflictExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use SetToDefault.ProtoReflect.Descriptor instead. +func (*SetToDefault) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{66} } -func (x *OnConflictExpr) GetAction() OnConflictAction { - if x != nil { - return x.Action - } - return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED -} - -func (x *OnConflictExpr) GetArbiterElems() []*Node { - if x != nil { - return x.ArbiterElems - } - return nil -} - -func (x *OnConflictExpr) GetArbiterWhere() *Node { +func (x *SetToDefault) GetXpr() *Node { if x != nil { - return x.ArbiterWhere + return x.Xpr } return nil } -func (x *OnConflictExpr) GetConstraint() uint32 { +func (x *SetToDefault) GetTypeId() uint32 { if x != nil { - return x.Constraint + return x.TypeId } return 0 } -func (x *OnConflictExpr) GetOnConflictSet() []*Node { - if x != nil { - return x.OnConflictSet - } - return nil -} - -func (x *OnConflictExpr) GetOnConflictWhere() *Node { +func (x *SetToDefault) GetTypeMod() int32 { if x != nil { - return x.OnConflictWhere + return x.TypeMod } - return nil + return 0 } -func (x *OnConflictExpr) GetExclRelIndex() int32 { +func (x *SetToDefault) GetCollation() uint32 { if x != nil { - return x.ExclRelIndex + return x.Collation } return 0 } -func (x *OnConflictExpr) GetExclRelTlist() []*Node { +func (x *SetToDefault) GetLocation() int32 { if x != nil { - return x.ExclRelTlist + return x.Location } - return nil + return 0 } -type Query struct { +type CurrentOfExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommandType CmdType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - QuerySource QuerySource `protobuf:"varint,2,opt,name=query_source,json=querySource,proto3,enum=pg_query.QuerySource" json:"query_source,omitempty"` - CanSetTag bool `protobuf:"varint,3,opt,name=can_set_tag,json=canSetTag,proto3" json:"can_set_tag,omitempty"` - UtilityStmt *Node `protobuf:"bytes,4,opt,name=utility_stmt,json=utilityStmt,proto3" json:"utility_stmt,omitempty"` - ResultRelation int32 `protobuf:"varint,5,opt,name=result_relation,json=resultRelation,proto3" json:"result_relation,omitempty"` - HasAggs bool `protobuf:"varint,6,opt,name=has_aggs,json=hasAggs,proto3" json:"has_aggs,omitempty"` - HasWindowFuncs bool `protobuf:"varint,7,opt,name=has_window_funcs,json=hasWindowFuncs,proto3" json:"has_window_funcs,omitempty"` - HasTargetSrfs bool `protobuf:"varint,8,opt,name=has_target_srfs,json=hasTargetSRFs,proto3" json:"has_target_srfs,omitempty"` - HasSubLinks bool `protobuf:"varint,9,opt,name=has_sub_links,json=hasSubLinks,proto3" json:"has_sub_links,omitempty"` - HasDistinctOn bool `protobuf:"varint,10,opt,name=has_distinct_on,json=hasDistinctOn,proto3" json:"has_distinct_on,omitempty"` - HasRecursive bool `protobuf:"varint,11,opt,name=has_recursive,json=hasRecursive,proto3" json:"has_recursive,omitempty"` - HasModifyingCte bool `protobuf:"varint,12,opt,name=has_modifying_cte,json=hasModifyingCTE,proto3" json:"has_modifying_cte,omitempty"` - HasForUpdate bool `protobuf:"varint,13,opt,name=has_for_update,json=hasForUpdate,proto3" json:"has_for_update,omitempty"` - HasRowSecurity bool `protobuf:"varint,14,opt,name=has_row_security,json=hasRowSecurity,proto3" json:"has_row_security,omitempty"` - IsReturn bool `protobuf:"varint,15,opt,name=is_return,json=isReturn,proto3" json:"is_return,omitempty"` - CteList []*Node `protobuf:"bytes,16,rep,name=cte_list,json=cteList,proto3" json:"cte_list,omitempty"` - Rtable []*Node `protobuf:"bytes,17,rep,name=rtable,proto3" json:"rtable,omitempty"` - Rteperminfos []*Node `protobuf:"bytes,18,rep,name=rteperminfos,proto3" json:"rteperminfos,omitempty"` - Jointree *FromExpr `protobuf:"bytes,19,opt,name=jointree,proto3" json:"jointree,omitempty"` - MergeActionList []*Node `protobuf:"bytes,20,rep,name=merge_action_list,json=mergeActionList,proto3" json:"merge_action_list,omitempty"` - MergeUseOuterJoin bool `protobuf:"varint,21,opt,name=merge_use_outer_join,json=mergeUseOuterJoin,proto3" json:"merge_use_outer_join,omitempty"` - TargetList []*Node `protobuf:"bytes,22,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - Override OverridingKind `protobuf:"varint,23,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - OnConflict *OnConflictExpr `protobuf:"bytes,24,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` - ReturningList []*Node `protobuf:"bytes,25,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - GroupClause []*Node `protobuf:"bytes,26,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` - GroupDistinct bool `protobuf:"varint,27,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` - GroupingSets []*Node `protobuf:"bytes,28,rep,name=grouping_sets,json=groupingSets,proto3" json:"grouping_sets,omitempty"` - HavingQual *Node `protobuf:"bytes,29,opt,name=having_qual,json=havingQual,proto3" json:"having_qual,omitempty"` - WindowClause []*Node `protobuf:"bytes,30,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` - DistinctClause []*Node `protobuf:"bytes,31,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` - SortClause []*Node `protobuf:"bytes,32,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` - LimitOffset *Node `protobuf:"bytes,33,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` - LimitCount *Node `protobuf:"bytes,34,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` - LimitOption LimitOption `protobuf:"varint,35,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` - RowMarks []*Node `protobuf:"bytes,36,rep,name=row_marks,json=rowMarks,proto3" json:"row_marks,omitempty"` - SetOperations *Node `protobuf:"bytes,37,opt,name=set_operations,json=setOperations,proto3" json:"set_operations,omitempty"` - ConstraintDeps []*Node `protobuf:"bytes,38,rep,name=constraint_deps,json=constraintDeps,proto3" json:"constraint_deps,omitempty"` - WithCheckOptions []*Node `protobuf:"bytes,39,rep,name=with_check_options,json=withCheckOptions,proto3" json:"with_check_options,omitempty"` - StmtLocation int32 `protobuf:"varint,40,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` - StmtLen int32 `protobuf:"varint,41,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Cvarno uint32 `protobuf:"varint,2,opt,name=cvarno,proto3" json:"cvarno,omitempty"` + CursorName string `protobuf:"bytes,3,opt,name=cursor_name,proto3" json:"cursor_name,omitempty"` + CursorParam int32 `protobuf:"varint,4,opt,name=cursor_param,proto3" json:"cursor_param,omitempty"` } -func (x *Query) Reset() { - *x = Query{} +func (x *CurrentOfExpr) Reset() { + *x = CurrentOfExpr{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14873,13 +15619,13 @@ func (x *Query) Reset() { } } -func (x *Query) String() string { +func (x *CurrentOfExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Query) ProtoMessage() {} +func (*CurrentOfExpr) ProtoMessage() {} -func (x *Query) ProtoReflect() protoreflect.Message { +func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14891,330 +15637,356 @@ func (x *Query) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Query.ProtoReflect.Descriptor instead. -func (*Query) Descriptor() ([]byte, []int) { +// Deprecated: Use CurrentOfExpr.ProtoReflect.Descriptor instead. +func (*CurrentOfExpr) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{67} } -func (x *Query) GetCommandType() CmdType { - if x != nil { - return x.CommandType - } - return CmdType_CMD_TYPE_UNDEFINED -} - -func (x *Query) GetQuerySource() QuerySource { +func (x *CurrentOfExpr) GetXpr() *Node { if x != nil { - return x.QuerySource + return x.Xpr } - return QuerySource_QUERY_SOURCE_UNDEFINED + return nil } -func (x *Query) GetCanSetTag() bool { +func (x *CurrentOfExpr) GetCvarno() uint32 { if x != nil { - return x.CanSetTag + return x.Cvarno } - return false + return 0 } -func (x *Query) GetUtilityStmt() *Node { +func (x *CurrentOfExpr) GetCursorName() string { if x != nil { - return x.UtilityStmt + return x.CursorName } - return nil + return "" } -func (x *Query) GetResultRelation() int32 { +func (x *CurrentOfExpr) GetCursorParam() int32 { if x != nil { - return x.ResultRelation + return x.CursorParam } return 0 } -func (x *Query) GetHasAggs() bool { - if x != nil { - return x.HasAggs - } - return false -} +type NextValueExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Query) GetHasWindowFuncs() bool { - if x != nil { - return x.HasWindowFuncs - } - return false + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Seqid uint32 `protobuf:"varint,2,opt,name=seqid,proto3" json:"seqid,omitempty"` + TypeId uint32 `protobuf:"varint,3,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` } -func (x *Query) GetHasTargetSrfs() bool { - if x != nil { - return x.HasTargetSrfs +func (x *NextValueExpr) Reset() { + *x = NextValueExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *Query) GetHasSubLinks() bool { - if x != nil { - return x.HasSubLinks - } - return false +func (x *NextValueExpr) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Query) GetHasDistinctOn() bool { - if x != nil { - return x.HasDistinctOn - } - return false -} +func (*NextValueExpr) ProtoMessage() {} -func (x *Query) GetHasRecursive() bool { - if x != nil { - return x.HasRecursive +func (x *NextValueExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (x *Query) GetHasModifyingCte() bool { - if x != nil { - return x.HasModifyingCte - } - return false +// Deprecated: Use NextValueExpr.ProtoReflect.Descriptor instead. +func (*NextValueExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{68} } -func (x *Query) GetHasForUpdate() bool { +func (x *NextValueExpr) GetXpr() *Node { if x != nil { - return x.HasForUpdate + return x.Xpr } - return false + return nil } -func (x *Query) GetHasRowSecurity() bool { +func (x *NextValueExpr) GetSeqid() uint32 { if x != nil { - return x.HasRowSecurity + return x.Seqid } - return false + return 0 } -func (x *Query) GetIsReturn() bool { +func (x *NextValueExpr) GetTypeId() uint32 { if x != nil { - return x.IsReturn + return x.TypeId } - return false + return 0 } -func (x *Query) GetCteList() []*Node { - if x != nil { - return x.CteList - } - return nil +type InferenceElem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Infercollid uint32 `protobuf:"varint,3,opt,name=infercollid,proto3" json:"infercollid,omitempty"` + Inferopclass uint32 `protobuf:"varint,4,opt,name=inferopclass,proto3" json:"inferopclass,omitempty"` } -func (x *Query) GetRtable() []*Node { - if x != nil { - return x.Rtable +func (x *InferenceElem) Reset() { + *x = InferenceElem{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetRteperminfos() []*Node { - if x != nil { - return x.Rteperminfos +func (x *InferenceElem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InferenceElem) ProtoMessage() {} + +func (x *InferenceElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetJointree() *FromExpr { +// Deprecated: Use InferenceElem.ProtoReflect.Descriptor instead. +func (*InferenceElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{69} +} + +func (x *InferenceElem) GetXpr() *Node { if x != nil { - return x.Jointree + return x.Xpr } return nil } -func (x *Query) GetMergeActionList() []*Node { +func (x *InferenceElem) GetExpr() *Node { if x != nil { - return x.MergeActionList + return x.Expr } return nil } -func (x *Query) GetMergeUseOuterJoin() bool { +func (x *InferenceElem) GetInfercollid() uint32 { if x != nil { - return x.MergeUseOuterJoin + return x.Infercollid } - return false + return 0 } -func (x *Query) GetTargetList() []*Node { +func (x *InferenceElem) GetInferopclass() uint32 { if x != nil { - return x.TargetList + return x.Inferopclass } - return nil + return 0 } -func (x *Query) GetOverride() OverridingKind { - if x != nil { - return x.Override - } - return OverridingKind_OVERRIDING_KIND_UNDEFINED +type TargetEntry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Resno int32 `protobuf:"varint,3,opt,name=resno,proto3" json:"resno,omitempty"` + Resname string `protobuf:"bytes,4,opt,name=resname,proto3" json:"resname,omitempty"` + Ressortgroupref uint32 `protobuf:"varint,5,opt,name=ressortgroupref,proto3" json:"ressortgroupref,omitempty"` + Resorigtbl uint32 `protobuf:"varint,6,opt,name=resorigtbl,proto3" json:"resorigtbl,omitempty"` + Resorigcol int32 `protobuf:"varint,7,opt,name=resorigcol,proto3" json:"resorigcol,omitempty"` + Resjunk bool `protobuf:"varint,8,opt,name=resjunk,proto3" json:"resjunk,omitempty"` } -func (x *Query) GetOnConflict() *OnConflictExpr { - if x != nil { - return x.OnConflict +func (x *TargetEntry) Reset() { + *x = TargetEntry{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetReturningList() []*Node { - if x != nil { - return x.ReturningList - } - return nil +func (x *TargetEntry) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Query) GetGroupClause() []*Node { - if x != nil { - return x.GroupClause +func (*TargetEntry) ProtoMessage() {} + +func (x *TargetEntry) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetGroupDistinct() bool { - if x != nil { - return x.GroupDistinct - } - return false +// Deprecated: Use TargetEntry.ProtoReflect.Descriptor instead. +func (*TargetEntry) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{70} } -func (x *Query) GetGroupingSets() []*Node { +func (x *TargetEntry) GetXpr() *Node { if x != nil { - return x.GroupingSets + return x.Xpr } return nil } -func (x *Query) GetHavingQual() *Node { +func (x *TargetEntry) GetExpr() *Node { if x != nil { - return x.HavingQual + return x.Expr } return nil } -func (x *Query) GetWindowClause() []*Node { +func (x *TargetEntry) GetResno() int32 { if x != nil { - return x.WindowClause + return x.Resno } - return nil + return 0 } -func (x *Query) GetDistinctClause() []*Node { +func (x *TargetEntry) GetResname() string { if x != nil { - return x.DistinctClause + return x.Resname } - return nil + return "" } -func (x *Query) GetSortClause() []*Node { +func (x *TargetEntry) GetRessortgroupref() uint32 { if x != nil { - return x.SortClause + return x.Ressortgroupref } - return nil + return 0 } -func (x *Query) GetLimitOffset() *Node { +func (x *TargetEntry) GetResorigtbl() uint32 { if x != nil { - return x.LimitOffset + return x.Resorigtbl } - return nil + return 0 } -func (x *Query) GetLimitCount() *Node { +func (x *TargetEntry) GetResorigcol() int32 { if x != nil { - return x.LimitCount + return x.Resorigcol } - return nil + return 0 } -func (x *Query) GetLimitOption() LimitOption { +func (x *TargetEntry) GetResjunk() bool { if x != nil { - return x.LimitOption + return x.Resjunk } - return LimitOption_LIMIT_OPTION_UNDEFINED + return false } -func (x *Query) GetRowMarks() []*Node { - if x != nil { - return x.RowMarks - } - return nil +type RangeTblRef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rtindex int32 `protobuf:"varint,1,opt,name=rtindex,proto3" json:"rtindex,omitempty"` } -func (x *Query) GetSetOperations() *Node { - if x != nil { - return x.SetOperations +func (x *RangeTblRef) Reset() { + *x = RangeTblRef{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetConstraintDeps() []*Node { - if x != nil { - return x.ConstraintDeps - } - return nil +func (x *RangeTblRef) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Query) GetWithCheckOptions() []*Node { - if x != nil { - return x.WithCheckOptions +func (*RangeTblRef) ProtoMessage() {} + +func (x *RangeTblRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetStmtLocation() int32 { - if x != nil { - return x.StmtLocation - } - return 0 +// Deprecated: Use RangeTblRef.ProtoReflect.Descriptor instead. +func (*RangeTblRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{71} } -func (x *Query) GetStmtLen() int32 { +func (x *RangeTblRef) GetRtindex() int32 { if x != nil { - return x.StmtLen + return x.Rtindex } return 0 } -type TypeName struct { +type JoinExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Names []*Node `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` - TypeOid uint32 `protobuf:"varint,2,opt,name=type_oid,json=typeOid,proto3" json:"type_oid,omitempty"` - Setof bool `protobuf:"varint,3,opt,name=setof,proto3" json:"setof,omitempty"` - PctType bool `protobuf:"varint,4,opt,name=pct_type,proto3" json:"pct_type,omitempty"` - Typmods []*Node `protobuf:"bytes,5,rep,name=typmods,proto3" json:"typmods,omitempty"` - Typemod int32 `protobuf:"varint,6,opt,name=typemod,proto3" json:"typemod,omitempty"` - ArrayBounds []*Node `protobuf:"bytes,7,rep,name=array_bounds,json=arrayBounds,proto3" json:"array_bounds,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + Jointype JoinType `protobuf:"varint,1,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` + IsNatural bool `protobuf:"varint,2,opt,name=is_natural,json=isNatural,proto3" json:"is_natural,omitempty"` + Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` + UsingClause []*Node `protobuf:"bytes,5,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` + JoinUsingAlias *Alias `protobuf:"bytes,6,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` + Quals *Node `protobuf:"bytes,7,opt,name=quals,proto3" json:"quals,omitempty"` + Alias *Alias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` + Rtindex int32 `protobuf:"varint,9,opt,name=rtindex,proto3" json:"rtindex,omitempty"` } -func (x *TypeName) Reset() { - *x = TypeName{} +func (x *JoinExpr) Reset() { + *x = JoinExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[68] + mi := &file_pg_query_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TypeName) String() string { +func (x *JoinExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TypeName) ProtoMessage() {} +func (*JoinExpr) ProtoMessage() {} -func (x *TypeName) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[68] +func (x *JoinExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15225,93 +15997,100 @@ func (x *TypeName) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TypeName.ProtoReflect.Descriptor instead. -func (*TypeName) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{68} +// Deprecated: Use JoinExpr.ProtoReflect.Descriptor instead. +func (*JoinExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{72} } -func (x *TypeName) GetNames() []*Node { +func (x *JoinExpr) GetJointype() JoinType { if x != nil { - return x.Names + return x.Jointype } - return nil + return JoinType_JOIN_TYPE_UNDEFINED } -func (x *TypeName) GetTypeOid() uint32 { +func (x *JoinExpr) GetIsNatural() bool { if x != nil { - return x.TypeOid + return x.IsNatural } - return 0 + return false } -func (x *TypeName) GetSetof() bool { +func (x *JoinExpr) GetLarg() *Node { if x != nil { - return x.Setof + return x.Larg } - return false + return nil } -func (x *TypeName) GetPctType() bool { +func (x *JoinExpr) GetRarg() *Node { if x != nil { - return x.PctType + return x.Rarg } - return false + return nil } -func (x *TypeName) GetTypmods() []*Node { +func (x *JoinExpr) GetUsingClause() []*Node { if x != nil { - return x.Typmods + return x.UsingClause } return nil } -func (x *TypeName) GetTypemod() int32 { +func (x *JoinExpr) GetJoinUsingAlias() *Alias { if x != nil { - return x.Typemod + return x.JoinUsingAlias } - return 0 + return nil } -func (x *TypeName) GetArrayBounds() []*Node { +func (x *JoinExpr) GetQuals() *Node { if x != nil { - return x.ArrayBounds + return x.Quals } return nil } -func (x *TypeName) GetLocation() int32 { +func (x *JoinExpr) GetAlias() *Alias { if x != nil { - return x.Location + return x.Alias + } + return nil +} + +func (x *JoinExpr) GetRtindex() int32 { + if x != nil { + return x.Rtindex } return 0 } -type ColumnRef struct { +type FromExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fields []*Node `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` + Fromlist []*Node `protobuf:"bytes,1,rep,name=fromlist,proto3" json:"fromlist,omitempty"` + Quals *Node `protobuf:"bytes,2,opt,name=quals,proto3" json:"quals,omitempty"` } -func (x *ColumnRef) Reset() { - *x = ColumnRef{} +func (x *FromExpr) Reset() { + *x = FromExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[69] + mi := &file_pg_query_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ColumnRef) String() string { +func (x *FromExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ColumnRef) ProtoMessage() {} +func (*FromExpr) ProtoMessage() {} -func (x *ColumnRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[69] +func (x *FromExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15322,51 +16101,57 @@ func (x *ColumnRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ColumnRef.ProtoReflect.Descriptor instead. -func (*ColumnRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{69} +// Deprecated: Use FromExpr.ProtoReflect.Descriptor instead. +func (*FromExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{73} } -func (x *ColumnRef) GetFields() []*Node { +func (x *FromExpr) GetFromlist() []*Node { if x != nil { - return x.Fields + return x.Fromlist } return nil } -func (x *ColumnRef) GetLocation() int32 { +func (x *FromExpr) GetQuals() *Node { if x != nil { - return x.Location + return x.Quals } - return 0 + return nil } -type ParamRef struct { +type OnConflictExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` + Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` + ArbiterElems []*Node `protobuf:"bytes,2,rep,name=arbiter_elems,json=arbiterElems,proto3" json:"arbiter_elems,omitempty"` + ArbiterWhere *Node `protobuf:"bytes,3,opt,name=arbiter_where,json=arbiterWhere,proto3" json:"arbiter_where,omitempty"` + Constraint uint32 `protobuf:"varint,4,opt,name=constraint,proto3" json:"constraint,omitempty"` + OnConflictSet []*Node `protobuf:"bytes,5,rep,name=on_conflict_set,json=onConflictSet,proto3" json:"on_conflict_set,omitempty"` + OnConflictWhere *Node `protobuf:"bytes,6,opt,name=on_conflict_where,json=onConflictWhere,proto3" json:"on_conflict_where,omitempty"` + ExclRelIndex int32 `protobuf:"varint,7,opt,name=excl_rel_index,json=exclRelIndex,proto3" json:"excl_rel_index,omitempty"` + ExclRelTlist []*Node `protobuf:"bytes,8,rep,name=excl_rel_tlist,json=exclRelTlist,proto3" json:"excl_rel_tlist,omitempty"` } -func (x *ParamRef) Reset() { - *x = ParamRef{} +func (x *OnConflictExpr) Reset() { + *x = OnConflictExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[70] + mi := &file_pg_query_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParamRef) String() string { +func (x *OnConflictExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParamRef) ProtoMessage() {} +func (*OnConflictExpr) ProtoMessage() {} -func (x *ParamRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[70] +func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15377,131 +16162,133 @@ func (x *ParamRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParamRef.ProtoReflect.Descriptor instead. -func (*ParamRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{70} +// Deprecated: Use OnConflictExpr.ProtoReflect.Descriptor instead. +func (*OnConflictExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{74} } -func (x *ParamRef) GetNumber() int32 { +func (x *OnConflictExpr) GetAction() OnConflictAction { if x != nil { - return x.Number + return x.Action } - return 0 + return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED } -func (x *ParamRef) GetLocation() int32 { +func (x *OnConflictExpr) GetArbiterElems() []*Node { if x != nil { - return x.Location - } - return 0 -} - -type A_Expr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kind A_Expr_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.A_Expr_Kind" json:"kind,omitempty"` - Name []*Node `protobuf:"bytes,2,rep,name=name,proto3" json:"name,omitempty"` - Lexpr *Node `protobuf:"bytes,3,opt,name=lexpr,proto3" json:"lexpr,omitempty"` - Rexpr *Node `protobuf:"bytes,4,opt,name=rexpr,proto3" json:"rexpr,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *A_Expr) Reset() { - *x = A_Expr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.ArbiterElems } + return nil } -func (x *A_Expr) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*A_Expr) ProtoMessage() {} - -func (x *A_Expr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *OnConflictExpr) GetArbiterWhere() *Node { + if x != nil { + return x.ArbiterWhere } - return mi.MessageOf(x) -} - -// Deprecated: Use A_Expr.ProtoReflect.Descriptor instead. -func (*A_Expr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{71} + return nil } -func (x *A_Expr) GetKind() A_Expr_Kind { +func (x *OnConflictExpr) GetConstraint() uint32 { if x != nil { - return x.Kind + return x.Constraint } - return A_Expr_Kind_A_EXPR_KIND_UNDEFINED + return 0 } -func (x *A_Expr) GetName() []*Node { +func (x *OnConflictExpr) GetOnConflictSet() []*Node { if x != nil { - return x.Name + return x.OnConflictSet } return nil } -func (x *A_Expr) GetLexpr() *Node { +func (x *OnConflictExpr) GetOnConflictWhere() *Node { if x != nil { - return x.Lexpr + return x.OnConflictWhere } return nil } -func (x *A_Expr) GetRexpr() *Node { +func (x *OnConflictExpr) GetExclRelIndex() int32 { if x != nil { - return x.Rexpr + return x.ExclRelIndex } - return nil + return 0 } -func (x *A_Expr) GetLocation() int32 { +func (x *OnConflictExpr) GetExclRelTlist() []*Node { if x != nil { - return x.Location + return x.ExclRelTlist } - return 0 + return nil } -type TypeCast struct { +type Query struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + CommandType CmdType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + QuerySource QuerySource `protobuf:"varint,2,opt,name=query_source,json=querySource,proto3,enum=pg_query.QuerySource" json:"query_source,omitempty"` + CanSetTag bool `protobuf:"varint,3,opt,name=can_set_tag,json=canSetTag,proto3" json:"can_set_tag,omitempty"` + UtilityStmt *Node `protobuf:"bytes,4,opt,name=utility_stmt,json=utilityStmt,proto3" json:"utility_stmt,omitempty"` + ResultRelation int32 `protobuf:"varint,5,opt,name=result_relation,json=resultRelation,proto3" json:"result_relation,omitempty"` + HasAggs bool `protobuf:"varint,6,opt,name=has_aggs,json=hasAggs,proto3" json:"has_aggs,omitempty"` + HasWindowFuncs bool `protobuf:"varint,7,opt,name=has_window_funcs,json=hasWindowFuncs,proto3" json:"has_window_funcs,omitempty"` + HasTargetSrfs bool `protobuf:"varint,8,opt,name=has_target_srfs,json=hasTargetSRFs,proto3" json:"has_target_srfs,omitempty"` + HasSubLinks bool `protobuf:"varint,9,opt,name=has_sub_links,json=hasSubLinks,proto3" json:"has_sub_links,omitempty"` + HasDistinctOn bool `protobuf:"varint,10,opt,name=has_distinct_on,json=hasDistinctOn,proto3" json:"has_distinct_on,omitempty"` + HasRecursive bool `protobuf:"varint,11,opt,name=has_recursive,json=hasRecursive,proto3" json:"has_recursive,omitempty"` + HasModifyingCte bool `protobuf:"varint,12,opt,name=has_modifying_cte,json=hasModifyingCTE,proto3" json:"has_modifying_cte,omitempty"` + HasForUpdate bool `protobuf:"varint,13,opt,name=has_for_update,json=hasForUpdate,proto3" json:"has_for_update,omitempty"` + HasRowSecurity bool `protobuf:"varint,14,opt,name=has_row_security,json=hasRowSecurity,proto3" json:"has_row_security,omitempty"` + IsReturn bool `protobuf:"varint,15,opt,name=is_return,json=isReturn,proto3" json:"is_return,omitempty"` + CteList []*Node `protobuf:"bytes,16,rep,name=cte_list,json=cteList,proto3" json:"cte_list,omitempty"` + Rtable []*Node `protobuf:"bytes,17,rep,name=rtable,proto3" json:"rtable,omitempty"` + Rteperminfos []*Node `protobuf:"bytes,18,rep,name=rteperminfos,proto3" json:"rteperminfos,omitempty"` + Jointree *FromExpr `protobuf:"bytes,19,opt,name=jointree,proto3" json:"jointree,omitempty"` + MergeActionList []*Node `protobuf:"bytes,20,rep,name=merge_action_list,json=mergeActionList,proto3" json:"merge_action_list,omitempty"` + MergeTargetRelation int32 `protobuf:"varint,21,opt,name=merge_target_relation,json=mergeTargetRelation,proto3" json:"merge_target_relation,omitempty"` + MergeJoinCondition *Node `protobuf:"bytes,22,opt,name=merge_join_condition,json=mergeJoinCondition,proto3" json:"merge_join_condition,omitempty"` + TargetList []*Node `protobuf:"bytes,23,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + Override OverridingKind `protobuf:"varint,24,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + OnConflict *OnConflictExpr `protobuf:"bytes,25,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` + ReturningList []*Node `protobuf:"bytes,26,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + GroupClause []*Node `protobuf:"bytes,27,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` + GroupDistinct bool `protobuf:"varint,28,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` + GroupingSets []*Node `protobuf:"bytes,29,rep,name=grouping_sets,json=groupingSets,proto3" json:"grouping_sets,omitempty"` + HavingQual *Node `protobuf:"bytes,30,opt,name=having_qual,json=havingQual,proto3" json:"having_qual,omitempty"` + WindowClause []*Node `protobuf:"bytes,31,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` + DistinctClause []*Node `protobuf:"bytes,32,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` + SortClause []*Node `protobuf:"bytes,33,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` + LimitOffset *Node `protobuf:"bytes,34,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` + LimitCount *Node `protobuf:"bytes,35,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` + LimitOption LimitOption `protobuf:"varint,36,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` + RowMarks []*Node `protobuf:"bytes,37,rep,name=row_marks,json=rowMarks,proto3" json:"row_marks,omitempty"` + SetOperations *Node `protobuf:"bytes,38,opt,name=set_operations,json=setOperations,proto3" json:"set_operations,omitempty"` + ConstraintDeps []*Node `protobuf:"bytes,39,rep,name=constraint_deps,json=constraintDeps,proto3" json:"constraint_deps,omitempty"` + WithCheckOptions []*Node `protobuf:"bytes,40,rep,name=with_check_options,json=withCheckOptions,proto3" json:"with_check_options,omitempty"` + StmtLocation int32 `protobuf:"varint,41,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` + StmtLen int32 `protobuf:"varint,42,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` } -func (x *TypeCast) Reset() { - *x = TypeCast{} +func (x *Query) Reset() { + *x = Query{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[72] + mi := &file_pg_query_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TypeCast) String() string { +func (x *Query) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TypeCast) ProtoMessage() {} +func (*Query) ProtoMessage() {} -func (x *TypeCast) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[72] +func (x *Query) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15512,350 +16299,337 @@ func (x *TypeCast) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TypeCast.ProtoReflect.Descriptor instead. -func (*TypeCast) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{72} +// Deprecated: Use Query.ProtoReflect.Descriptor instead. +func (*Query) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{75} } -func (x *TypeCast) GetArg() *Node { +func (x *Query) GetCommandType() CmdType { if x != nil { - return x.Arg + return x.CommandType } - return nil + return CmdType_CMD_TYPE_UNDEFINED } -func (x *TypeCast) GetTypeName() *TypeName { +func (x *Query) GetQuerySource() QuerySource { if x != nil { - return x.TypeName + return x.QuerySource } - return nil + return QuerySource_QUERY_SOURCE_UNDEFINED } -func (x *TypeCast) GetLocation() int32 { +func (x *Query) GetCanSetTag() bool { if x != nil { - return x.Location + return x.CanSetTag } - return 0 + return false } -type CollateClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - Collname []*Node `protobuf:"bytes,2,rep,name=collname,proto3" json:"collname,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` +func (x *Query) GetUtilityStmt() *Node { + if x != nil { + return x.UtilityStmt + } + return nil } -func (x *CollateClause) Reset() { - *x = CollateClause{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetResultRelation() int32 { + if x != nil { + return x.ResultRelation } + return 0 } -func (x *CollateClause) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetHasAggs() bool { + if x != nil { + return x.HasAggs + } + return false } -func (*CollateClause) ProtoMessage() {} - -func (x *CollateClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetHasWindowFuncs() bool { + if x != nil { + return x.HasWindowFuncs } - return mi.MessageOf(x) + return false } -// Deprecated: Use CollateClause.ProtoReflect.Descriptor instead. -func (*CollateClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{73} +func (x *Query) GetHasTargetSrfs() bool { + if x != nil { + return x.HasTargetSrfs + } + return false } -func (x *CollateClause) GetArg() *Node { +func (x *Query) GetHasSubLinks() bool { if x != nil { - return x.Arg + return x.HasSubLinks } - return nil + return false } -func (x *CollateClause) GetCollname() []*Node { +func (x *Query) GetHasDistinctOn() bool { if x != nil { - return x.Collname + return x.HasDistinctOn } - return nil + return false } -func (x *CollateClause) GetLocation() int32 { +func (x *Query) GetHasRecursive() bool { if x != nil { - return x.Location + return x.HasRecursive } - return 0 + return false } -type RoleSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Roletype RoleSpecType `protobuf:"varint,1,opt,name=roletype,proto3,enum=pg_query.RoleSpecType" json:"roletype,omitempty"` - Rolename string `protobuf:"bytes,2,opt,name=rolename,proto3" json:"rolename,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` +func (x *Query) GetHasModifyingCte() bool { + if x != nil { + return x.HasModifyingCte + } + return false } -func (x *RoleSpec) Reset() { - *x = RoleSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetHasForUpdate() bool { + if x != nil { + return x.HasForUpdate } + return false } -func (x *RoleSpec) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetHasRowSecurity() bool { + if x != nil { + return x.HasRowSecurity + } + return false } -func (*RoleSpec) ProtoMessage() {} - -func (x *RoleSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetIsReturn() bool { + if x != nil { + return x.IsReturn } - return mi.MessageOf(x) + return false } -// Deprecated: Use RoleSpec.ProtoReflect.Descriptor instead. -func (*RoleSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{74} +func (x *Query) GetCteList() []*Node { + if x != nil { + return x.CteList + } + return nil } -func (x *RoleSpec) GetRoletype() RoleSpecType { +func (x *Query) GetRtable() []*Node { if x != nil { - return x.Roletype + return x.Rtable } - return RoleSpecType_ROLE_SPEC_TYPE_UNDEFINED + return nil } -func (x *RoleSpec) GetRolename() string { +func (x *Query) GetRteperminfos() []*Node { if x != nil { - return x.Rolename + return x.Rteperminfos } - return "" + return nil } -func (x *RoleSpec) GetLocation() int32 { +func (x *Query) GetJointree() *FromExpr { if x != nil { - return x.Location + return x.Jointree } - return 0 + return nil } -type FuncCall struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Funcname []*Node `protobuf:"bytes,1,rep,name=funcname,proto3" json:"funcname,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` - AggFilter *Node `protobuf:"bytes,4,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` - Over *WindowDef `protobuf:"bytes,5,opt,name=over,proto3" json:"over,omitempty"` - AggWithinGroup bool `protobuf:"varint,6,opt,name=agg_within_group,proto3" json:"agg_within_group,omitempty"` - AggStar bool `protobuf:"varint,7,opt,name=agg_star,proto3" json:"agg_star,omitempty"` - AggDistinct bool `protobuf:"varint,8,opt,name=agg_distinct,proto3" json:"agg_distinct,omitempty"` - FuncVariadic bool `protobuf:"varint,9,opt,name=func_variadic,proto3" json:"func_variadic,omitempty"` - Funcformat CoercionForm `protobuf:"varint,10,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` - Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` +func (x *Query) GetMergeActionList() []*Node { + if x != nil { + return x.MergeActionList + } + return nil } -func (x *FuncCall) Reset() { - *x = FuncCall{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetMergeTargetRelation() int32 { + if x != nil { + return x.MergeTargetRelation } + return 0 } -func (x *FuncCall) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetMergeJoinCondition() *Node { + if x != nil { + return x.MergeJoinCondition + } + return nil } -func (*FuncCall) ProtoMessage() {} - -func (x *FuncCall) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetTargetList() []*Node { + if x != nil { + return x.TargetList } - return mi.MessageOf(x) + return nil } -// Deprecated: Use FuncCall.ProtoReflect.Descriptor instead. -func (*FuncCall) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{75} +func (x *Query) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED } -func (x *FuncCall) GetFuncname() []*Node { +func (x *Query) GetOnConflict() *OnConflictExpr { if x != nil { - return x.Funcname + return x.OnConflict } return nil } -func (x *FuncCall) GetArgs() []*Node { +func (x *Query) GetReturningList() []*Node { if x != nil { - return x.Args + return x.ReturningList } return nil } -func (x *FuncCall) GetAggOrder() []*Node { +func (x *Query) GetGroupClause() []*Node { if x != nil { - return x.AggOrder + return x.GroupClause } return nil } -func (x *FuncCall) GetAggFilter() *Node { +func (x *Query) GetGroupDistinct() bool { if x != nil { - return x.AggFilter + return x.GroupDistinct + } + return false +} + +func (x *Query) GetGroupingSets() []*Node { + if x != nil { + return x.GroupingSets } return nil } -func (x *FuncCall) GetOver() *WindowDef { +func (x *Query) GetHavingQual() *Node { if x != nil { - return x.Over + return x.HavingQual } return nil } -func (x *FuncCall) GetAggWithinGroup() bool { +func (x *Query) GetWindowClause() []*Node { if x != nil { - return x.AggWithinGroup + return x.WindowClause } - return false + return nil } -func (x *FuncCall) GetAggStar() bool { +func (x *Query) GetDistinctClause() []*Node { if x != nil { - return x.AggStar + return x.DistinctClause } - return false + return nil } -func (x *FuncCall) GetAggDistinct() bool { +func (x *Query) GetSortClause() []*Node { if x != nil { - return x.AggDistinct + return x.SortClause } - return false + return nil } -func (x *FuncCall) GetFuncVariadic() bool { +func (x *Query) GetLimitOffset() *Node { if x != nil { - return x.FuncVariadic + return x.LimitOffset } - return false + return nil } -func (x *FuncCall) GetFuncformat() CoercionForm { +func (x *Query) GetLimitCount() *Node { if x != nil { - return x.Funcformat + return x.LimitCount } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *FuncCall) GetLocation() int32 { +func (x *Query) GetLimitOption() LimitOption { if x != nil { - return x.Location + return x.LimitOption } - return 0 + return LimitOption_LIMIT_OPTION_UNDEFINED } -type A_Star struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *Query) GetRowMarks() []*Node { + if x != nil { + return x.RowMarks + } + return nil } -func (x *A_Star) Reset() { - *x = A_Star{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetSetOperations() *Node { + if x != nil { + return x.SetOperations } + return nil } -func (x *A_Star) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetConstraintDeps() []*Node { + if x != nil { + return x.ConstraintDeps + } + return nil } -func (*A_Star) ProtoMessage() {} +func (x *Query) GetWithCheckOptions() []*Node { + if x != nil { + return x.WithCheckOptions + } + return nil +} -func (x *A_Star) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetStmtLocation() int32 { + if x != nil { + return x.StmtLocation } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use A_Star.ProtoReflect.Descriptor instead. -func (*A_Star) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{76} +func (x *Query) GetStmtLen() int32 { + if x != nil { + return x.StmtLen + } + return 0 } -type A_Indices struct { +type TypeName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IsSlice bool `protobuf:"varint,1,opt,name=is_slice,proto3" json:"is_slice,omitempty"` - Lidx *Node `protobuf:"bytes,2,opt,name=lidx,proto3" json:"lidx,omitempty"` - Uidx *Node `protobuf:"bytes,3,opt,name=uidx,proto3" json:"uidx,omitempty"` + Names []*Node `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + TypeOid uint32 `protobuf:"varint,2,opt,name=type_oid,json=typeOid,proto3" json:"type_oid,omitempty"` + Setof bool `protobuf:"varint,3,opt,name=setof,proto3" json:"setof,omitempty"` + PctType bool `protobuf:"varint,4,opt,name=pct_type,proto3" json:"pct_type,omitempty"` + Typmods []*Node `protobuf:"bytes,5,rep,name=typmods,proto3" json:"typmods,omitempty"` + Typemod int32 `protobuf:"varint,6,opt,name=typemod,proto3" json:"typemod,omitempty"` + ArrayBounds []*Node `protobuf:"bytes,7,rep,name=array_bounds,json=arrayBounds,proto3" json:"array_bounds,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *A_Indices) Reset() { - *x = A_Indices{} +func (x *TypeName) Reset() { + *x = TypeName{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[77] + mi := &file_pg_query_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *A_Indices) String() string { +func (x *TypeName) String() string { return protoimpl.X.MessageStringOf(x) } -func (*A_Indices) ProtoMessage() {} +func (*TypeName) ProtoMessage() {} -func (x *A_Indices) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[77] +func (x *TypeName) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15866,58 +16640,93 @@ func (x *A_Indices) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use A_Indices.ProtoReflect.Descriptor instead. -func (*A_Indices) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{77} +// Deprecated: Use TypeName.ProtoReflect.Descriptor instead. +func (*TypeName) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{76} } -func (x *A_Indices) GetIsSlice() bool { +func (x *TypeName) GetNames() []*Node { if x != nil { - return x.IsSlice + return x.Names + } + return nil +} + +func (x *TypeName) GetTypeOid() uint32 { + if x != nil { + return x.TypeOid + } + return 0 +} + +func (x *TypeName) GetSetof() bool { + if x != nil { + return x.Setof } return false } -func (x *A_Indices) GetLidx() *Node { +func (x *TypeName) GetPctType() bool { if x != nil { - return x.Lidx + return x.PctType + } + return false +} + +func (x *TypeName) GetTypmods() []*Node { + if x != nil { + return x.Typmods } return nil } -func (x *A_Indices) GetUidx() *Node { +func (x *TypeName) GetTypemod() int32 { if x != nil { - return x.Uidx + return x.Typemod + } + return 0 +} + +func (x *TypeName) GetArrayBounds() []*Node { + if x != nil { + return x.ArrayBounds } return nil } -type A_Indirection struct { +func (x *TypeName) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type ColumnRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` + Fields []*Node `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *A_Indirection) Reset() { - *x = A_Indirection{} +func (x *ColumnRef) Reset() { + *x = ColumnRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[78] + mi := &file_pg_query_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *A_Indirection) String() string { +func (x *ColumnRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*A_Indirection) ProtoMessage() {} +func (*ColumnRef) ProtoMessage() {} -func (x *A_Indirection) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[78] +func (x *ColumnRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15928,51 +16737,51 @@ func (x *A_Indirection) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use A_Indirection.ProtoReflect.Descriptor instead. -func (*A_Indirection) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{78} +// Deprecated: Use ColumnRef.ProtoReflect.Descriptor instead. +func (*ColumnRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{77} } -func (x *A_Indirection) GetArg() *Node { +func (x *ColumnRef) GetFields() []*Node { if x != nil { - return x.Arg + return x.Fields } return nil } -func (x *A_Indirection) GetIndirection() []*Node { +func (x *ColumnRef) GetLocation() int32 { if x != nil { - return x.Indirection + return x.Location } - return nil + return 0 } -type A_ArrayExpr struct { +type ParamRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Elements []*Node `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` + Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *A_ArrayExpr) Reset() { - *x = A_ArrayExpr{} +func (x *ParamRef) Reset() { + *x = ParamRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[79] + mi := &file_pg_query_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *A_ArrayExpr) String() string { +func (x *ParamRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*A_ArrayExpr) ProtoMessage() {} +func (*ParamRef) ProtoMessage() {} -func (x *A_ArrayExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[79] +func (x *ParamRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15983,53 +16792,54 @@ func (x *A_ArrayExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use A_ArrayExpr.ProtoReflect.Descriptor instead. -func (*A_ArrayExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{79} +// Deprecated: Use ParamRef.ProtoReflect.Descriptor instead. +func (*ParamRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{78} } -func (x *A_ArrayExpr) GetElements() []*Node { +func (x *ParamRef) GetNumber() int32 { if x != nil { - return x.Elements + return x.Number } - return nil + return 0 } -func (x *A_ArrayExpr) GetLocation() int32 { +func (x *ParamRef) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type ResTarget struct { +type A_Expr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` - Val *Node `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Kind A_Expr_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.A_Expr_Kind" json:"kind,omitempty"` + Name []*Node `protobuf:"bytes,2,rep,name=name,proto3" json:"name,omitempty"` + Lexpr *Node `protobuf:"bytes,3,opt,name=lexpr,proto3" json:"lexpr,omitempty"` + Rexpr *Node `protobuf:"bytes,4,opt,name=rexpr,proto3" json:"rexpr,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ResTarget) Reset() { - *x = ResTarget{} +func (x *A_Expr) Reset() { + *x = A_Expr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[80] + mi := &file_pg_query_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ResTarget) String() string { +func (x *A_Expr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ResTarget) ProtoMessage() {} +func (*A_Expr) ProtoMessage() {} -func (x *ResTarget) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[80] +func (x *A_Expr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16040,66 +16850,73 @@ func (x *ResTarget) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ResTarget.ProtoReflect.Descriptor instead. -func (*ResTarget) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{80} +// Deprecated: Use A_Expr.ProtoReflect.Descriptor instead. +func (*A_Expr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{79} } -func (x *ResTarget) GetName() string { +func (x *A_Expr) GetKind() A_Expr_Kind { + if x != nil { + return x.Kind + } + return A_Expr_Kind_A_EXPR_KIND_UNDEFINED +} + +func (x *A_Expr) GetName() []*Node { if x != nil { return x.Name } - return "" + return nil } -func (x *ResTarget) GetIndirection() []*Node { +func (x *A_Expr) GetLexpr() *Node { if x != nil { - return x.Indirection + return x.Lexpr } return nil } -func (x *ResTarget) GetVal() *Node { +func (x *A_Expr) GetRexpr() *Node { if x != nil { - return x.Val + return x.Rexpr } return nil } -func (x *ResTarget) GetLocation() int32 { +func (x *A_Expr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type MultiAssignRef struct { +type TypeCast struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Source *Node `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - Colno int32 `protobuf:"varint,2,opt,name=colno,proto3" json:"colno,omitempty"` - Ncolumns int32 `protobuf:"varint,3,opt,name=ncolumns,proto3" json:"ncolumns,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MultiAssignRef) Reset() { - *x = MultiAssignRef{} +func (x *TypeCast) Reset() { + *x = TypeCast{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[81] + mi := &file_pg_query_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MultiAssignRef) String() string { +func (x *TypeCast) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MultiAssignRef) ProtoMessage() {} +func (*TypeCast) ProtoMessage() {} -func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[81] +func (x *TypeCast) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16110,61 +16927,59 @@ func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MultiAssignRef.ProtoReflect.Descriptor instead. -func (*MultiAssignRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{81} -} +// Deprecated: Use TypeCast.ProtoReflect.Descriptor instead. +func (*TypeCast) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{80} +} -func (x *MultiAssignRef) GetSource() *Node { +func (x *TypeCast) GetArg() *Node { if x != nil { - return x.Source + return x.Arg } return nil } -func (x *MultiAssignRef) GetColno() int32 { +func (x *TypeCast) GetTypeName() *TypeName { if x != nil { - return x.Colno + return x.TypeName } - return 0 + return nil } -func (x *MultiAssignRef) GetNcolumns() int32 { +func (x *TypeCast) GetLocation() int32 { if x != nil { - return x.Ncolumns + return x.Location } return 0 } -type SortBy struct { +type CollateClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` - SortbyDir SortByDir `protobuf:"varint,2,opt,name=sortby_dir,proto3,enum=pg_query.SortByDir" json:"sortby_dir,omitempty"` - SortbyNulls SortByNulls `protobuf:"varint,3,opt,name=sortby_nulls,proto3,enum=pg_query.SortByNulls" json:"sortby_nulls,omitempty"` - UseOp []*Node `protobuf:"bytes,4,rep,name=use_op,json=useOp,proto3" json:"use_op,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + Collname []*Node `protobuf:"bytes,2,rep,name=collname,proto3" json:"collname,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SortBy) Reset() { - *x = SortBy{} +func (x *CollateClause) Reset() { + *x = CollateClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[82] + mi := &file_pg_query_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SortBy) String() string { +func (x *CollateClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SortBy) ProtoMessage() {} +func (*CollateClause) ProtoMessage() {} -func (x *SortBy) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[82] +func (x *CollateClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16175,63 +16990,115 @@ func (x *SortBy) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SortBy.ProtoReflect.Descriptor instead. -func (*SortBy) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{82} +// Deprecated: Use CollateClause.ProtoReflect.Descriptor instead. +func (*CollateClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{81} } -func (x *SortBy) GetNode() *Node { +func (x *CollateClause) GetArg() *Node { if x != nil { - return x.Node + return x.Arg } return nil } -func (x *SortBy) GetSortbyDir() SortByDir { +func (x *CollateClause) GetCollname() []*Node { if x != nil { - return x.SortbyDir + return x.Collname } - return SortByDir_SORT_BY_DIR_UNDEFINED + return nil } -func (x *SortBy) GetSortbyNulls() SortByNulls { +func (x *CollateClause) GetLocation() int32 { if x != nil { - return x.SortbyNulls + return x.Location } - return SortByNulls_SORT_BY_NULLS_UNDEFINED + return 0 } -func (x *SortBy) GetUseOp() []*Node { +type RoleSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roletype RoleSpecType `protobuf:"varint,1,opt,name=roletype,proto3,enum=pg_query.RoleSpecType" json:"roletype,omitempty"` + Rolename string `protobuf:"bytes,2,opt,name=rolename,proto3" json:"rolename,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *RoleSpec) Reset() { + *x = RoleSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RoleSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoleSpec) ProtoMessage() {} + +func (x *RoleSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoleSpec.ProtoReflect.Descriptor instead. +func (*RoleSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{82} +} + +func (x *RoleSpec) GetRoletype() RoleSpecType { if x != nil { - return x.UseOp + return x.Roletype } - return nil + return RoleSpecType_ROLE_SPEC_TYPE_UNDEFINED } -func (x *SortBy) GetLocation() int32 { +func (x *RoleSpec) GetRolename() string { + if x != nil { + return x.Rolename + } + return "" +} + +func (x *RoleSpec) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type WindowDef struct { +type FuncCall struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` - PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` - OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` - FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` - StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` - EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + Funcname []*Node `protobuf:"bytes,1,rep,name=funcname,proto3" json:"funcname,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` + AggFilter *Node `protobuf:"bytes,4,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` + Over *WindowDef `protobuf:"bytes,5,opt,name=over,proto3" json:"over,omitempty"` + AggWithinGroup bool `protobuf:"varint,6,opt,name=agg_within_group,proto3" json:"agg_within_group,omitempty"` + AggStar bool `protobuf:"varint,7,opt,name=agg_star,proto3" json:"agg_star,omitempty"` + AggDistinct bool `protobuf:"varint,8,opt,name=agg_distinct,proto3" json:"agg_distinct,omitempty"` + FuncVariadic bool `protobuf:"varint,9,opt,name=func_variadic,proto3" json:"func_variadic,omitempty"` + Funcformat CoercionForm `protobuf:"varint,10,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` } -func (x *WindowDef) Reset() { - *x = WindowDef{} +func (x *FuncCall) Reset() { + *x = FuncCall{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16239,13 +17106,13 @@ func (x *WindowDef) Reset() { } } -func (x *WindowDef) String() string { +func (x *FuncCall) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WindowDef) ProtoMessage() {} +func (*FuncCall) ProtoMessage() {} -func (x *WindowDef) ProtoReflect() protoreflect.Message { +func (x *FuncCall) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16257,79 +17124,96 @@ func (x *WindowDef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WindowDef.ProtoReflect.Descriptor instead. -func (*WindowDef) Descriptor() ([]byte, []int) { +// Deprecated: Use FuncCall.ProtoReflect.Descriptor instead. +func (*FuncCall) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{83} } -func (x *WindowDef) GetName() string { +func (x *FuncCall) GetFuncname() []*Node { if x != nil { - return x.Name + return x.Funcname } - return "" + return nil } -func (x *WindowDef) GetRefname() string { +func (x *FuncCall) GetArgs() []*Node { if x != nil { - return x.Refname + return x.Args } - return "" + return nil } -func (x *WindowDef) GetPartitionClause() []*Node { +func (x *FuncCall) GetAggOrder() []*Node { if x != nil { - return x.PartitionClause + return x.AggOrder } return nil } -func (x *WindowDef) GetOrderClause() []*Node { +func (x *FuncCall) GetAggFilter() *Node { if x != nil { - return x.OrderClause + return x.AggFilter } return nil } -func (x *WindowDef) GetFrameOptions() int32 { +func (x *FuncCall) GetOver() *WindowDef { if x != nil { - return x.FrameOptions + return x.Over } - return 0 + return nil } -func (x *WindowDef) GetStartOffset() *Node { +func (x *FuncCall) GetAggWithinGroup() bool { if x != nil { - return x.StartOffset + return x.AggWithinGroup } - return nil + return false } -func (x *WindowDef) GetEndOffset() *Node { +func (x *FuncCall) GetAggStar() bool { if x != nil { - return x.EndOffset + return x.AggStar } - return nil + return false } -func (x *WindowDef) GetLocation() int32 { +func (x *FuncCall) GetAggDistinct() bool { + if x != nil { + return x.AggDistinct + } + return false +} + +func (x *FuncCall) GetFuncVariadic() bool { + if x != nil { + return x.FuncVariadic + } + return false +} + +func (x *FuncCall) GetFuncformat() CoercionForm { + if x != nil { + return x.Funcformat + } + return CoercionForm_COERCION_FORM_UNDEFINED +} + +func (x *FuncCall) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type RangeSubselect struct { +type A_Star struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Subquery *Node `protobuf:"bytes,2,opt,name=subquery,proto3" json:"subquery,omitempty"` - Alias *Alias `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` } -func (x *RangeSubselect) Reset() { - *x = RangeSubselect{} +func (x *A_Star) Reset() { + *x = A_Star{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16337,13 +17221,13 @@ func (x *RangeSubselect) Reset() { } } -func (x *RangeSubselect) String() string { +func (x *A_Star) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeSubselect) ProtoMessage() {} +func (*A_Star) ProtoMessage() {} -func (x *RangeSubselect) ProtoReflect() protoreflect.Message { +func (x *A_Star) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16355,47 +17239,23 @@ func (x *RangeSubselect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeSubselect.ProtoReflect.Descriptor instead. -func (*RangeSubselect) Descriptor() ([]byte, []int) { +// Deprecated: Use A_Star.ProtoReflect.Descriptor instead. +func (*A_Star) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{84} } -func (x *RangeSubselect) GetLateral() bool { - if x != nil { - return x.Lateral - } - return false -} +type A_Indices struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *RangeSubselect) GetSubquery() *Node { - if x != nil { - return x.Subquery - } - return nil + IsSlice bool `protobuf:"varint,1,opt,name=is_slice,proto3" json:"is_slice,omitempty"` + Lidx *Node `protobuf:"bytes,2,opt,name=lidx,proto3" json:"lidx,omitempty"` + Uidx *Node `protobuf:"bytes,3,opt,name=uidx,proto3" json:"uidx,omitempty"` } -func (x *RangeSubselect) GetAlias() *Alias { - if x != nil { - return x.Alias - } - return nil -} - -type RangeFunction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Ordinality bool `protobuf:"varint,2,opt,name=ordinality,proto3" json:"ordinality,omitempty"` - IsRowsfrom bool `protobuf:"varint,3,opt,name=is_rowsfrom,proto3" json:"is_rowsfrom,omitempty"` - Functions []*Node `protobuf:"bytes,4,rep,name=functions,proto3" json:"functions,omitempty"` - Alias *Alias `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"` - Coldeflist []*Node `protobuf:"bytes,6,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` -} - -func (x *RangeFunction) Reset() { - *x = RangeFunction{} +func (x *A_Indices) Reset() { + *x = A_Indices{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16403,13 +17263,13 @@ func (x *RangeFunction) Reset() { } } -func (x *RangeFunction) String() string { +func (x *A_Indices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeFunction) ProtoMessage() {} +func (*A_Indices) ProtoMessage() {} -func (x *RangeFunction) ProtoReflect() protoreflect.Message { +func (x *A_Indices) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16421,69 +17281,43 @@ func (x *RangeFunction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeFunction.ProtoReflect.Descriptor instead. -func (*RangeFunction) Descriptor() ([]byte, []int) { +// Deprecated: Use A_Indices.ProtoReflect.Descriptor instead. +func (*A_Indices) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{85} } -func (x *RangeFunction) GetLateral() bool { - if x != nil { - return x.Lateral - } - return false -} - -func (x *RangeFunction) GetOrdinality() bool { - if x != nil { - return x.Ordinality - } - return false -} - -func (x *RangeFunction) GetIsRowsfrom() bool { +func (x *A_Indices) GetIsSlice() bool { if x != nil { - return x.IsRowsfrom + return x.IsSlice } return false } -func (x *RangeFunction) GetFunctions() []*Node { - if x != nil { - return x.Functions - } - return nil -} - -func (x *RangeFunction) GetAlias() *Alias { +func (x *A_Indices) GetLidx() *Node { if x != nil { - return x.Alias + return x.Lidx } return nil } -func (x *RangeFunction) GetColdeflist() []*Node { +func (x *A_Indices) GetUidx() *Node { if x != nil { - return x.Coldeflist + return x.Uidx } return nil } -type RangeTableFunc struct { +type A_Indirection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Docexpr *Node `protobuf:"bytes,2,opt,name=docexpr,proto3" json:"docexpr,omitempty"` - Rowexpr *Node `protobuf:"bytes,3,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` - Namespaces []*Node `protobuf:"bytes,4,rep,name=namespaces,proto3" json:"namespaces,omitempty"` - Columns []*Node `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"` - Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` } -func (x *RangeTableFunc) Reset() { - *x = RangeTableFunc{} +func (x *A_Indirection) Reset() { + *x = A_Indirection{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16491,13 +17325,13 @@ func (x *RangeTableFunc) Reset() { } } -func (x *RangeTableFunc) String() string { +func (x *A_Indirection) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableFunc) ProtoMessage() {} +func (*A_Indirection) ProtoMessage() {} -func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { +func (x *A_Indirection) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -16509,91 +17343,108 @@ func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableFunc.ProtoReflect.Descriptor instead. -func (*RangeTableFunc) Descriptor() ([]byte, []int) { +// Deprecated: Use A_Indirection.ProtoReflect.Descriptor instead. +func (*A_Indirection) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{86} } -func (x *RangeTableFunc) GetLateral() bool { +func (x *A_Indirection) GetArg() *Node { if x != nil { - return x.Lateral + return x.Arg } - return false + return nil } -func (x *RangeTableFunc) GetDocexpr() *Node { +func (x *A_Indirection) GetIndirection() []*Node { if x != nil { - return x.Docexpr + return x.Indirection } return nil } -func (x *RangeTableFunc) GetRowexpr() *Node { - if x != nil { - return x.Rowexpr - } - return nil +type A_ArrayExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Elements []*Node `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTableFunc) GetNamespaces() []*Node { - if x != nil { - return x.Namespaces +func (x *A_ArrayExpr) Reset() { + *x = A_ArrayExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *RangeTableFunc) GetColumns() []*Node { - if x != nil { - return x.Columns +func (x *A_ArrayExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*A_ArrayExpr) ProtoMessage() {} + +func (x *A_ArrayExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *RangeTableFunc) GetAlias() *Alias { +// Deprecated: Use A_ArrayExpr.ProtoReflect.Descriptor instead. +func (*A_ArrayExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{87} +} + +func (x *A_ArrayExpr) GetElements() []*Node { if x != nil { - return x.Alias + return x.Elements } return nil } -func (x *RangeTableFunc) GetLocation() int32 { +func (x *A_ArrayExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type RangeTableFuncCol struct { +type ResTarget struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - ForOrdinality bool `protobuf:"varint,3,opt,name=for_ordinality,proto3" json:"for_ordinality,omitempty"` - IsNotNull bool `protobuf:"varint,4,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` - Colexpr *Node `protobuf:"bytes,5,opt,name=colexpr,proto3" json:"colexpr,omitempty"` - Coldefexpr *Node `protobuf:"bytes,6,opt,name=coldefexpr,proto3" json:"coldefexpr,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` + Val *Node `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTableFuncCol) Reset() { - *x = RangeTableFuncCol{} +func (x *ResTarget) Reset() { + *x = ResTarget{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[87] + mi := &file_pg_query_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTableFuncCol) String() string { +func (x *ResTarget) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableFuncCol) ProtoMessage() {} +func (*ResTarget) ProtoMessage() {} -func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[87] +func (x *ResTarget) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16604,89 +17455,66 @@ func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableFuncCol.ProtoReflect.Descriptor instead. -func (*RangeTableFuncCol) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{87} +// Deprecated: Use ResTarget.ProtoReflect.Descriptor instead. +func (*ResTarget) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{88} } -func (x *RangeTableFuncCol) GetColname() string { +func (x *ResTarget) GetName() string { if x != nil { - return x.Colname + return x.Name } return "" } -func (x *RangeTableFuncCol) GetTypeName() *TypeName { - if x != nil { - return x.TypeName - } - return nil -} - -func (x *RangeTableFuncCol) GetForOrdinality() bool { - if x != nil { - return x.ForOrdinality - } - return false -} - -func (x *RangeTableFuncCol) GetIsNotNull() bool { - if x != nil { - return x.IsNotNull - } - return false -} - -func (x *RangeTableFuncCol) GetColexpr() *Node { +func (x *ResTarget) GetIndirection() []*Node { if x != nil { - return x.Colexpr + return x.Indirection } return nil } -func (x *RangeTableFuncCol) GetColdefexpr() *Node { +func (x *ResTarget) GetVal() *Node { if x != nil { - return x.Coldefexpr + return x.Val } return nil } -func (x *RangeTableFuncCol) GetLocation() int32 { +func (x *ResTarget) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type RangeTableSample struct { +type MultiAssignRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *Node `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Method []*Node `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"` - Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - Repeatable *Node `protobuf:"bytes,4,opt,name=repeatable,proto3" json:"repeatable,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Source *Node `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + Colno int32 `protobuf:"varint,2,opt,name=colno,proto3" json:"colno,omitempty"` + Ncolumns int32 `protobuf:"varint,3,opt,name=ncolumns,proto3" json:"ncolumns,omitempty"` } -func (x *RangeTableSample) Reset() { - *x = RangeTableSample{} +func (x *MultiAssignRef) Reset() { + *x = MultiAssignRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[88] + mi := &file_pg_query_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTableSample) String() string { +func (x *MultiAssignRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableSample) ProtoMessage() {} +func (*MultiAssignRef) ProtoMessage() {} -func (x *RangeTableSample) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[88] +func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16697,89 +17525,61 @@ func (x *RangeTableSample) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableSample.ProtoReflect.Descriptor instead. -func (*RangeTableSample) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{88} +// Deprecated: Use MultiAssignRef.ProtoReflect.Descriptor instead. +func (*MultiAssignRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{89} } -func (x *RangeTableSample) GetRelation() *Node { +func (x *MultiAssignRef) GetSource() *Node { if x != nil { - return x.Relation + return x.Source } return nil } -func (x *RangeTableSample) GetMethod() []*Node { - if x != nil { - return x.Method - } - return nil -} - -func (x *RangeTableSample) GetArgs() []*Node { - if x != nil { - return x.Args - } - return nil -} - -func (x *RangeTableSample) GetRepeatable() *Node { +func (x *MultiAssignRef) GetColno() int32 { if x != nil { - return x.Repeatable + return x.Colno } - return nil + return 0 } -func (x *RangeTableSample) GetLocation() int32 { +func (x *MultiAssignRef) GetNcolumns() int32 { if x != nil { - return x.Location + return x.Ncolumns } return 0 } -type ColumnDef struct { +type SortBy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Compression string `protobuf:"bytes,3,opt,name=compression,proto3" json:"compression,omitempty"` - Inhcount int32 `protobuf:"varint,4,opt,name=inhcount,proto3" json:"inhcount,omitempty"` - IsLocal bool `protobuf:"varint,5,opt,name=is_local,proto3" json:"is_local,omitempty"` - IsNotNull bool `protobuf:"varint,6,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` - IsFromType bool `protobuf:"varint,7,opt,name=is_from_type,proto3" json:"is_from_type,omitempty"` - Storage string `protobuf:"bytes,8,opt,name=storage,proto3" json:"storage,omitempty"` - StorageName string `protobuf:"bytes,9,opt,name=storage_name,proto3" json:"storage_name,omitempty"` - RawDefault *Node `protobuf:"bytes,10,opt,name=raw_default,proto3" json:"raw_default,omitempty"` - CookedDefault *Node `protobuf:"bytes,11,opt,name=cooked_default,proto3" json:"cooked_default,omitempty"` - Identity string `protobuf:"bytes,12,opt,name=identity,proto3" json:"identity,omitempty"` - IdentitySequence *RangeVar `protobuf:"bytes,13,opt,name=identity_sequence,json=identitySequence,proto3" json:"identity_sequence,omitempty"` - Generated string `protobuf:"bytes,14,opt,name=generated,proto3" json:"generated,omitempty"` - CollClause *CollateClause `protobuf:"bytes,15,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` - CollOid uint32 `protobuf:"varint,16,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` - Constraints []*Node `protobuf:"bytes,17,rep,name=constraints,proto3" json:"constraints,omitempty"` - Fdwoptions []*Node `protobuf:"bytes,18,rep,name=fdwoptions,proto3" json:"fdwoptions,omitempty"` - Location int32 `protobuf:"varint,19,opt,name=location,proto3" json:"location,omitempty"` + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + SortbyDir SortByDir `protobuf:"varint,2,opt,name=sortby_dir,proto3,enum=pg_query.SortByDir" json:"sortby_dir,omitempty"` + SortbyNulls SortByNulls `protobuf:"varint,3,opt,name=sortby_nulls,proto3,enum=pg_query.SortByNulls" json:"sortby_nulls,omitempty"` + UseOp []*Node `protobuf:"bytes,4,rep,name=use_op,json=useOp,proto3" json:"use_op,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ColumnDef) Reset() { - *x = ColumnDef{} +func (x *SortBy) Reset() { + *x = SortBy{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[89] + mi := &file_pg_query_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ColumnDef) String() string { +func (x *SortBy) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ColumnDef) ProtoMessage() {} +func (*SortBy) ProtoMessage() {} -func (x *ColumnDef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[89] +func (x *SortBy) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16790,171 +17590,176 @@ func (x *ColumnDef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead. -func (*ColumnDef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{89} -} - -func (x *ColumnDef) GetColname() string { - if x != nil { - return x.Colname - } - return "" +// Deprecated: Use SortBy.ProtoReflect.Descriptor instead. +func (*SortBy) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{90} } -func (x *ColumnDef) GetTypeName() *TypeName { +func (x *SortBy) GetNode() *Node { if x != nil { - return x.TypeName + return x.Node } return nil } -func (x *ColumnDef) GetCompression() string { +func (x *SortBy) GetSortbyDir() SortByDir { if x != nil { - return x.Compression + return x.SortbyDir } - return "" + return SortByDir_SORT_BY_DIR_UNDEFINED } -func (x *ColumnDef) GetInhcount() int32 { +func (x *SortBy) GetSortbyNulls() SortByNulls { if x != nil { - return x.Inhcount + return x.SortbyNulls } - return 0 + return SortByNulls_SORT_BY_NULLS_UNDEFINED } -func (x *ColumnDef) GetIsLocal() bool { +func (x *SortBy) GetUseOp() []*Node { if x != nil { - return x.IsLocal + return x.UseOp } - return false + return nil } -func (x *ColumnDef) GetIsNotNull() bool { +func (x *SortBy) GetLocation() int32 { if x != nil { - return x.IsNotNull + return x.Location } - return false + return 0 } -func (x *ColumnDef) GetIsFromType() bool { - if x != nil { - return x.IsFromType - } - return false +type WindowDef struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` + PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` + OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` + FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` + StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` + EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ColumnDef) GetStorage() string { - if x != nil { - return x.Storage +func (x *WindowDef) Reset() { + *x = WindowDef{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *ColumnDef) GetStorageName() string { - if x != nil { - return x.StorageName - } - return "" +func (x *WindowDef) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ColumnDef) GetRawDefault() *Node { - if x != nil { - return x.RawDefault +func (*WindowDef) ProtoMessage() {} + +func (x *WindowDef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ColumnDef) GetCookedDefault() *Node { - if x != nil { - return x.CookedDefault - } - return nil +// Deprecated: Use WindowDef.ProtoReflect.Descriptor instead. +func (*WindowDef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{91} } -func (x *ColumnDef) GetIdentity() string { +func (x *WindowDef) GetName() string { if x != nil { - return x.Identity + return x.Name } return "" } -func (x *ColumnDef) GetIdentitySequence() *RangeVar { +func (x *WindowDef) GetRefname() string { if x != nil { - return x.IdentitySequence + return x.Refname } - return nil + return "" } -func (x *ColumnDef) GetGenerated() string { +func (x *WindowDef) GetPartitionClause() []*Node { if x != nil { - return x.Generated + return x.PartitionClause } - return "" + return nil } -func (x *ColumnDef) GetCollClause() *CollateClause { +func (x *WindowDef) GetOrderClause() []*Node { if x != nil { - return x.CollClause + return x.OrderClause } return nil } -func (x *ColumnDef) GetCollOid() uint32 { +func (x *WindowDef) GetFrameOptions() int32 { if x != nil { - return x.CollOid + return x.FrameOptions } return 0 } -func (x *ColumnDef) GetConstraints() []*Node { +func (x *WindowDef) GetStartOffset() *Node { if x != nil { - return x.Constraints + return x.StartOffset } return nil } -func (x *ColumnDef) GetFdwoptions() []*Node { +func (x *WindowDef) GetEndOffset() *Node { if x != nil { - return x.Fdwoptions + return x.EndOffset } return nil } -func (x *ColumnDef) GetLocation() int32 { +func (x *WindowDef) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type TableLikeClause struct { +type RangeSubselect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Options uint32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` - RelationOid uint32 `protobuf:"varint,3,opt,name=relation_oid,json=relationOid,proto3" json:"relation_oid,omitempty"` + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Subquery *Node `protobuf:"bytes,2,opt,name=subquery,proto3" json:"subquery,omitempty"` + Alias *Alias `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` } -func (x *TableLikeClause) Reset() { - *x = TableLikeClause{} +func (x *RangeSubselect) Reset() { + *x = RangeSubselect{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[90] + mi := &file_pg_query_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TableLikeClause) String() string { +func (x *RangeSubselect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TableLikeClause) ProtoMessage() {} +func (*RangeSubselect) ProtoMessage() {} -func (x *TableLikeClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[90] +func (x *RangeSubselect) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16965,64 +17770,62 @@ func (x *TableLikeClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TableLikeClause.ProtoReflect.Descriptor instead. -func (*TableLikeClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{90} +// Deprecated: Use RangeSubselect.ProtoReflect.Descriptor instead. +func (*RangeSubselect) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{92} } -func (x *TableLikeClause) GetRelation() *RangeVar { +func (x *RangeSubselect) GetLateral() bool { if x != nil { - return x.Relation + return x.Lateral } - return nil + return false } -func (x *TableLikeClause) GetOptions() uint32 { +func (x *RangeSubselect) GetSubquery() *Node { if x != nil { - return x.Options + return x.Subquery } - return 0 + return nil } -func (x *TableLikeClause) GetRelationOid() uint32 { +func (x *RangeSubselect) GetAlias() *Alias { if x != nil { - return x.RelationOid + return x.Alias } - return 0 + return nil } -type IndexElem struct { +type RangeFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Indexcolname string `protobuf:"bytes,3,opt,name=indexcolname,proto3" json:"indexcolname,omitempty"` - Collation []*Node `protobuf:"bytes,4,rep,name=collation,proto3" json:"collation,omitempty"` - Opclass []*Node `protobuf:"bytes,5,rep,name=opclass,proto3" json:"opclass,omitempty"` - Opclassopts []*Node `protobuf:"bytes,6,rep,name=opclassopts,proto3" json:"opclassopts,omitempty"` - Ordering SortByDir `protobuf:"varint,7,opt,name=ordering,proto3,enum=pg_query.SortByDir" json:"ordering,omitempty"` - NullsOrdering SortByNulls `protobuf:"varint,8,opt,name=nulls_ordering,proto3,enum=pg_query.SortByNulls" json:"nulls_ordering,omitempty"` -} - -func (x *IndexElem) Reset() { - *x = IndexElem{} + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Ordinality bool `protobuf:"varint,2,opt,name=ordinality,proto3" json:"ordinality,omitempty"` + IsRowsfrom bool `protobuf:"varint,3,opt,name=is_rowsfrom,proto3" json:"is_rowsfrom,omitempty"` + Functions []*Node `protobuf:"bytes,4,rep,name=functions,proto3" json:"functions,omitempty"` + Alias *Alias `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"` + Coldeflist []*Node `protobuf:"bytes,6,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` +} + +func (x *RangeFunction) Reset() { + *x = RangeFunction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[91] + mi := &file_pg_query_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IndexElem) String() string { +func (x *RangeFunction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IndexElem) ProtoMessage() {} +func (*RangeFunction) ProtoMessage() {} -func (x *IndexElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[91] +func (x *RangeFunction) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17033,96 +17836,84 @@ func (x *IndexElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IndexElem.ProtoReflect.Descriptor instead. -func (*IndexElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{91} +// Deprecated: Use RangeFunction.ProtoReflect.Descriptor instead. +func (*RangeFunction) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{93} } -func (x *IndexElem) GetName() string { +func (x *RangeFunction) GetLateral() bool { if x != nil { - return x.Name + return x.Lateral } - return "" + return false } -func (x *IndexElem) GetExpr() *Node { +func (x *RangeFunction) GetOrdinality() bool { if x != nil { - return x.Expr + return x.Ordinality } - return nil + return false } -func (x *IndexElem) GetIndexcolname() string { +func (x *RangeFunction) GetIsRowsfrom() bool { if x != nil { - return x.Indexcolname + return x.IsRowsfrom } - return "" + return false } -func (x *IndexElem) GetCollation() []*Node { +func (x *RangeFunction) GetFunctions() []*Node { if x != nil { - return x.Collation + return x.Functions } return nil } -func (x *IndexElem) GetOpclass() []*Node { +func (x *RangeFunction) GetAlias() *Alias { if x != nil { - return x.Opclass + return x.Alias } return nil } -func (x *IndexElem) GetOpclassopts() []*Node { +func (x *RangeFunction) GetColdeflist() []*Node { if x != nil { - return x.Opclassopts + return x.Coldeflist } return nil } -func (x *IndexElem) GetOrdering() SortByDir { - if x != nil { - return x.Ordering - } - return SortByDir_SORT_BY_DIR_UNDEFINED -} - -func (x *IndexElem) GetNullsOrdering() SortByNulls { - if x != nil { - return x.NullsOrdering - } - return SortByNulls_SORT_BY_NULLS_UNDEFINED -} - -type DefElem struct { +type RangeTableFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnamespace string `protobuf:"bytes,1,opt,name=defnamespace,proto3" json:"defnamespace,omitempty"` - Defname string `protobuf:"bytes,2,opt,name=defname,proto3" json:"defname,omitempty"` - Arg *Node `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` - Defaction DefElemAction `protobuf:"varint,4,opt,name=defaction,proto3,enum=pg_query.DefElemAction" json:"defaction,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Docexpr *Node `protobuf:"bytes,2,opt,name=docexpr,proto3" json:"docexpr,omitempty"` + Rowexpr *Node `protobuf:"bytes,3,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` + Namespaces []*Node `protobuf:"bytes,4,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Columns []*Node `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"` + Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DefElem) Reset() { - *x = DefElem{} +func (x *RangeTableFunc) Reset() { + *x = RangeTableFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[92] + mi := &file_pg_query_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DefElem) String() string { +func (x *RangeTableFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DefElem) ProtoMessage() {} +func (*RangeTableFunc) ProtoMessage() {} -func (x *DefElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[92] +func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17133,73 +17924,91 @@ func (x *DefElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DefElem.ProtoReflect.Descriptor instead. -func (*DefElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{92} +// Deprecated: Use RangeTableFunc.ProtoReflect.Descriptor instead. +func (*RangeTableFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{94} } -func (x *DefElem) GetDefnamespace() string { +func (x *RangeTableFunc) GetLateral() bool { if x != nil { - return x.Defnamespace + return x.Lateral } - return "" + return false } -func (x *DefElem) GetDefname() string { +func (x *RangeTableFunc) GetDocexpr() *Node { if x != nil { - return x.Defname + return x.Docexpr } - return "" + return nil } -func (x *DefElem) GetArg() *Node { +func (x *RangeTableFunc) GetRowexpr() *Node { if x != nil { - return x.Arg + return x.Rowexpr } return nil } -func (x *DefElem) GetDefaction() DefElemAction { +func (x *RangeTableFunc) GetNamespaces() []*Node { if x != nil { - return x.Defaction + return x.Namespaces } - return DefElemAction_DEF_ELEM_ACTION_UNDEFINED + return nil } -func (x *DefElem) GetLocation() int32 { +func (x *RangeTableFunc) GetColumns() []*Node { + if x != nil { + return x.Columns + } + return nil +} + +func (x *RangeTableFunc) GetAlias() *Alias { + if x != nil { + return x.Alias + } + return nil +} + +func (x *RangeTableFunc) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type LockingClause struct { +type RangeTableFuncCol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LockedRels []*Node `protobuf:"bytes,1,rep,name=locked_rels,json=lockedRels,proto3" json:"locked_rels,omitempty"` - Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` - WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` + Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + ForOrdinality bool `protobuf:"varint,3,opt,name=for_ordinality,proto3" json:"for_ordinality,omitempty"` + IsNotNull bool `protobuf:"varint,4,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` + Colexpr *Node `protobuf:"bytes,5,opt,name=colexpr,proto3" json:"colexpr,omitempty"` + Coldefexpr *Node `protobuf:"bytes,6,opt,name=coldefexpr,proto3" json:"coldefexpr,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *LockingClause) Reset() { - *x = LockingClause{} +func (x *RangeTableFuncCol) Reset() { + *x = RangeTableFuncCol{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[93] + mi := &file_pg_query_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LockingClause) String() string { +func (x *RangeTableFuncCol) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LockingClause) ProtoMessage() {} +func (*RangeTableFuncCol) ProtoMessage() {} -func (x *LockingClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[93] +func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17210,61 +18019,89 @@ func (x *LockingClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LockingClause.ProtoReflect.Descriptor instead. -func (*LockingClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{93} +// Deprecated: Use RangeTableFuncCol.ProtoReflect.Descriptor instead. +func (*RangeTableFuncCol) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{95} } -func (x *LockingClause) GetLockedRels() []*Node { +func (x *RangeTableFuncCol) GetColname() string { if x != nil { - return x.LockedRels + return x.Colname + } + return "" +} + +func (x *RangeTableFuncCol) GetTypeName() *TypeName { + if x != nil { + return x.TypeName } return nil } -func (x *LockingClause) GetStrength() LockClauseStrength { +func (x *RangeTableFuncCol) GetForOrdinality() bool { if x != nil { - return x.Strength + return x.ForOrdinality } - return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED + return false } -func (x *LockingClause) GetWaitPolicy() LockWaitPolicy { +func (x *RangeTableFuncCol) GetIsNotNull() bool { if x != nil { - return x.WaitPolicy + return x.IsNotNull } - return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED + return false } -type XmlSerialize struct { +func (x *RangeTableFuncCol) GetColexpr() *Node { + if x != nil { + return x.Colexpr + } + return nil +} + +func (x *RangeTableFuncCol) GetColdefexpr() *Node { + if x != nil { + return x.Coldefexpr + } + return nil +} + +func (x *RangeTableFuncCol) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type RangeTableSample struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xmloption XmlOptionType `protobuf:"varint,1,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Indent bool `protobuf:"varint,4,opt,name=indent,proto3" json:"indent,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Relation *Node `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Method []*Node `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + Repeatable *Node `protobuf:"bytes,4,opt,name=repeatable,proto3" json:"repeatable,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *XmlSerialize) Reset() { - *x = XmlSerialize{} +func (x *RangeTableSample) Reset() { + *x = RangeTableSample{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[94] + mi := &file_pg_query_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *XmlSerialize) String() string { +func (x *RangeTableSample) String() string { return protoimpl.X.MessageStringOf(x) } -func (*XmlSerialize) ProtoMessage() {} +func (*RangeTableSample) ProtoMessage() {} -func (x *XmlSerialize) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[94] +func (x *RangeTableSample) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17275,75 +18112,89 @@ func (x *XmlSerialize) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use XmlSerialize.ProtoReflect.Descriptor instead. -func (*XmlSerialize) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{94} +// Deprecated: Use RangeTableSample.ProtoReflect.Descriptor instead. +func (*RangeTableSample) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{96} } -func (x *XmlSerialize) GetXmloption() XmlOptionType { +func (x *RangeTableSample) GetRelation() *Node { if x != nil { - return x.Xmloption + return x.Relation } - return XmlOptionType_XML_OPTION_TYPE_UNDEFINED + return nil } -func (x *XmlSerialize) GetExpr() *Node { +func (x *RangeTableSample) GetMethod() []*Node { if x != nil { - return x.Expr + return x.Method } return nil } -func (x *XmlSerialize) GetTypeName() *TypeName { +func (x *RangeTableSample) GetArgs() []*Node { if x != nil { - return x.TypeName + return x.Args } return nil } -func (x *XmlSerialize) GetIndent() bool { +func (x *RangeTableSample) GetRepeatable() *Node { if x != nil { - return x.Indent + return x.Repeatable } - return false + return nil } -func (x *XmlSerialize) GetLocation() int32 { +func (x *RangeTableSample) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type PartitionElem struct { +type ColumnDef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Collation []*Node `protobuf:"bytes,3,rep,name=collation,proto3" json:"collation,omitempty"` - Opclass []*Node `protobuf:"bytes,4,rep,name=opclass,proto3" json:"opclass,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Compression string `protobuf:"bytes,3,opt,name=compression,proto3" json:"compression,omitempty"` + Inhcount int32 `protobuf:"varint,4,opt,name=inhcount,proto3" json:"inhcount,omitempty"` + IsLocal bool `protobuf:"varint,5,opt,name=is_local,proto3" json:"is_local,omitempty"` + IsNotNull bool `protobuf:"varint,6,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` + IsFromType bool `protobuf:"varint,7,opt,name=is_from_type,proto3" json:"is_from_type,omitempty"` + Storage string `protobuf:"bytes,8,opt,name=storage,proto3" json:"storage,omitempty"` + StorageName string `protobuf:"bytes,9,opt,name=storage_name,proto3" json:"storage_name,omitempty"` + RawDefault *Node `protobuf:"bytes,10,opt,name=raw_default,proto3" json:"raw_default,omitempty"` + CookedDefault *Node `protobuf:"bytes,11,opt,name=cooked_default,proto3" json:"cooked_default,omitempty"` + Identity string `protobuf:"bytes,12,opt,name=identity,proto3" json:"identity,omitempty"` + IdentitySequence *RangeVar `protobuf:"bytes,13,opt,name=identity_sequence,json=identitySequence,proto3" json:"identity_sequence,omitempty"` + Generated string `protobuf:"bytes,14,opt,name=generated,proto3" json:"generated,omitempty"` + CollClause *CollateClause `protobuf:"bytes,15,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` + CollOid uint32 `protobuf:"varint,16,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` + Constraints []*Node `protobuf:"bytes,17,rep,name=constraints,proto3" json:"constraints,omitempty"` + Fdwoptions []*Node `protobuf:"bytes,18,rep,name=fdwoptions,proto3" json:"fdwoptions,omitempty"` + Location int32 `protobuf:"varint,19,opt,name=location,proto3" json:"location,omitempty"` } -func (x *PartitionElem) Reset() { - *x = PartitionElem{} +func (x *ColumnDef) Reset() { + *x = ColumnDef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[95] + mi := &file_pg_query_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionElem) String() string { +func (x *ColumnDef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionElem) ProtoMessage() {} +func (*ColumnDef) ProtoMessage() {} -func (x *PartitionElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[95] +func (x *ColumnDef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17354,224 +18205,156 @@ func (x *PartitionElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionElem.ProtoReflect.Descriptor instead. -func (*PartitionElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{95} +// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead. +func (*ColumnDef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{97} } -func (x *PartitionElem) GetName() string { +func (x *ColumnDef) GetColname() string { if x != nil { - return x.Name + return x.Colname } return "" } -func (x *PartitionElem) GetExpr() *Node { - if x != nil { - return x.Expr - } - return nil -} - -func (x *PartitionElem) GetCollation() []*Node { +func (x *ColumnDef) GetTypeName() *TypeName { if x != nil { - return x.Collation + return x.TypeName } return nil } -func (x *PartitionElem) GetOpclass() []*Node { +func (x *ColumnDef) GetCompression() string { if x != nil { - return x.Opclass + return x.Compression } - return nil + return "" } -func (x *PartitionElem) GetLocation() int32 { +func (x *ColumnDef) GetInhcount() int32 { if x != nil { - return x.Location + return x.Inhcount } return 0 } -type PartitionSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Strategy PartitionStrategy `protobuf:"varint,1,opt,name=strategy,proto3,enum=pg_query.PartitionStrategy" json:"strategy,omitempty"` - PartParams []*Node `protobuf:"bytes,2,rep,name=part_params,json=partParams,proto3" json:"part_params,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *PartitionSpec) Reset() { - *x = PartitionSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ColumnDef) GetIsLocal() bool { + if x != nil { + return x.IsLocal } + return false } -func (x *PartitionSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PartitionSpec) ProtoMessage() {} - -func (x *PartitionSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ColumnDef) GetIsNotNull() bool { + if x != nil { + return x.IsNotNull } - return mi.MessageOf(x) -} - -// Deprecated: Use PartitionSpec.ProtoReflect.Descriptor instead. -func (*PartitionSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{96} + return false } -func (x *PartitionSpec) GetStrategy() PartitionStrategy { +func (x *ColumnDef) GetIsFromType() bool { if x != nil { - return x.Strategy + return x.IsFromType } - return PartitionStrategy_PARTITION_STRATEGY_UNDEFINED + return false } -func (x *PartitionSpec) GetPartParams() []*Node { +func (x *ColumnDef) GetStorage() string { if x != nil { - return x.PartParams + return x.Storage } - return nil + return "" } -func (x *PartitionSpec) GetLocation() int32 { +func (x *ColumnDef) GetStorageName() string { if x != nil { - return x.Location + return x.StorageName } - return 0 -} - -type PartitionBoundSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Strategy string `protobuf:"bytes,1,opt,name=strategy,proto3" json:"strategy,omitempty"` - IsDefault bool `protobuf:"varint,2,opt,name=is_default,proto3" json:"is_default,omitempty"` - Modulus int32 `protobuf:"varint,3,opt,name=modulus,proto3" json:"modulus,omitempty"` - Remainder int32 `protobuf:"varint,4,opt,name=remainder,proto3" json:"remainder,omitempty"` - Listdatums []*Node `protobuf:"bytes,5,rep,name=listdatums,proto3" json:"listdatums,omitempty"` - Lowerdatums []*Node `protobuf:"bytes,6,rep,name=lowerdatums,proto3" json:"lowerdatums,omitempty"` - Upperdatums []*Node `protobuf:"bytes,7,rep,name=upperdatums,proto3" json:"upperdatums,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + return "" } -func (x *PartitionBoundSpec) Reset() { - *x = PartitionBoundSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ColumnDef) GetRawDefault() *Node { + if x != nil { + return x.RawDefault } + return nil } -func (x *PartitionBoundSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PartitionBoundSpec) ProtoMessage() {} - -func (x *PartitionBoundSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ColumnDef) GetCookedDefault() *Node { + if x != nil { + return x.CookedDefault } - return mi.MessageOf(x) -} - -// Deprecated: Use PartitionBoundSpec.ProtoReflect.Descriptor instead. -func (*PartitionBoundSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{97} + return nil } -func (x *PartitionBoundSpec) GetStrategy() string { +func (x *ColumnDef) GetIdentity() string { if x != nil { - return x.Strategy + return x.Identity } return "" } -func (x *PartitionBoundSpec) GetIsDefault() bool { +func (x *ColumnDef) GetIdentitySequence() *RangeVar { if x != nil { - return x.IsDefault + return x.IdentitySequence } - return false + return nil } -func (x *PartitionBoundSpec) GetModulus() int32 { +func (x *ColumnDef) GetGenerated() string { if x != nil { - return x.Modulus + return x.Generated } - return 0 + return "" } -func (x *PartitionBoundSpec) GetRemainder() int32 { +func (x *ColumnDef) GetCollClause() *CollateClause { if x != nil { - return x.Remainder + return x.CollClause } - return 0 + return nil } -func (x *PartitionBoundSpec) GetListdatums() []*Node { +func (x *ColumnDef) GetCollOid() uint32 { if x != nil { - return x.Listdatums + return x.CollOid } - return nil + return 0 } -func (x *PartitionBoundSpec) GetLowerdatums() []*Node { +func (x *ColumnDef) GetConstraints() []*Node { if x != nil { - return x.Lowerdatums + return x.Constraints } return nil } -func (x *PartitionBoundSpec) GetUpperdatums() []*Node { +func (x *ColumnDef) GetFdwoptions() []*Node { if x != nil { - return x.Upperdatums + return x.Fdwoptions } return nil } -func (x *PartitionBoundSpec) GetLocation() int32 { +func (x *ColumnDef) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type PartitionRangeDatum struct { +type TableLikeClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind PartitionRangeDatumKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.PartitionRangeDatumKind" json:"kind,omitempty"` - Value *Node `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Options uint32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` + RelationOid uint32 `protobuf:"varint,3,opt,name=relation_oid,json=relationOid,proto3" json:"relation_oid,omitempty"` } -func (x *PartitionRangeDatum) Reset() { - *x = PartitionRangeDatum{} +func (x *TableLikeClause) Reset() { + *x = TableLikeClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17579,13 +18362,13 @@ func (x *PartitionRangeDatum) Reset() { } } -func (x *PartitionRangeDatum) String() string { +func (x *TableLikeClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionRangeDatum) ProtoMessage() {} +func (*TableLikeClause) ProtoMessage() {} -func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { +func (x *TableLikeClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17597,44 +18380,49 @@ func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionRangeDatum.ProtoReflect.Descriptor instead. -func (*PartitionRangeDatum) Descriptor() ([]byte, []int) { +// Deprecated: Use TableLikeClause.ProtoReflect.Descriptor instead. +func (*TableLikeClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{98} } -func (x *PartitionRangeDatum) GetKind() PartitionRangeDatumKind { +func (x *TableLikeClause) GetRelation() *RangeVar { if x != nil { - return x.Kind + return x.Relation } - return PartitionRangeDatumKind_PARTITION_RANGE_DATUM_KIND_UNDEFINED + return nil } -func (x *PartitionRangeDatum) GetValue() *Node { +func (x *TableLikeClause) GetOptions() uint32 { if x != nil { - return x.Value + return x.Options } - return nil + return 0 } -func (x *PartitionRangeDatum) GetLocation() int32 { +func (x *TableLikeClause) GetRelationOid() uint32 { if x != nil { - return x.Location + return x.RelationOid } return 0 } -type PartitionCmd struct { +type IndexElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *RangeVar `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Bound *PartitionBoundSpec `protobuf:"bytes,2,opt,name=bound,proto3" json:"bound,omitempty"` - Concurrent bool `protobuf:"varint,3,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Indexcolname string `protobuf:"bytes,3,opt,name=indexcolname,proto3" json:"indexcolname,omitempty"` + Collation []*Node `protobuf:"bytes,4,rep,name=collation,proto3" json:"collation,omitempty"` + Opclass []*Node `protobuf:"bytes,5,rep,name=opclass,proto3" json:"opclass,omitempty"` + Opclassopts []*Node `protobuf:"bytes,6,rep,name=opclassopts,proto3" json:"opclassopts,omitempty"` + Ordering SortByDir `protobuf:"varint,7,opt,name=ordering,proto3,enum=pg_query.SortByDir" json:"ordering,omitempty"` + NullsOrdering SortByNulls `protobuf:"varint,8,opt,name=nulls_ordering,proto3,enum=pg_query.SortByNulls" json:"nulls_ordering,omitempty"` } -func (x *PartitionCmd) Reset() { - *x = PartitionCmd{} +func (x *IndexElem) Reset() { + *x = IndexElem{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17642,13 +18430,13 @@ func (x *PartitionCmd) Reset() { } } -func (x *PartitionCmd) String() string { +func (x *IndexElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionCmd) ProtoMessage() {} +func (*IndexElem) ProtoMessage() {} -func (x *PartitionCmd) ProtoReflect() protoreflect.Message { +func (x *IndexElem) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17660,73 +18448,81 @@ func (x *PartitionCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionCmd.ProtoReflect.Descriptor instead. -func (*PartitionCmd) Descriptor() ([]byte, []int) { +// Deprecated: Use IndexElem.ProtoReflect.Descriptor instead. +func (*IndexElem) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{99} } -func (x *PartitionCmd) GetName() *RangeVar { +func (x *IndexElem) GetName() string { if x != nil { return x.Name } + return "" +} + +func (x *IndexElem) GetExpr() *Node { + if x != nil { + return x.Expr + } return nil } -func (x *PartitionCmd) GetBound() *PartitionBoundSpec { +func (x *IndexElem) GetIndexcolname() string { if x != nil { - return x.Bound + return x.Indexcolname + } + return "" +} + +func (x *IndexElem) GetCollation() []*Node { + if x != nil { + return x.Collation } return nil } -func (x *PartitionCmd) GetConcurrent() bool { +func (x *IndexElem) GetOpclass() []*Node { if x != nil { - return x.Concurrent + return x.Opclass } - return false + return nil } -type RangeTblEntry struct { +func (x *IndexElem) GetOpclassopts() []*Node { + if x != nil { + return x.Opclassopts + } + return nil +} + +func (x *IndexElem) GetOrdering() SortByDir { + if x != nil { + return x.Ordering + } + return SortByDir_SORT_BY_DIR_UNDEFINED +} + +func (x *IndexElem) GetNullsOrdering() SortByNulls { + if x != nil { + return x.NullsOrdering + } + return SortByNulls_SORT_BY_NULLS_UNDEFINED +} + +type DefElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rtekind RTEKind `protobuf:"varint,1,opt,name=rtekind,proto3,enum=pg_query.RTEKind" json:"rtekind,omitempty"` - Relid uint32 `protobuf:"varint,2,opt,name=relid,proto3" json:"relid,omitempty"` - Relkind string `protobuf:"bytes,3,opt,name=relkind,proto3" json:"relkind,omitempty"` - Rellockmode int32 `protobuf:"varint,4,opt,name=rellockmode,proto3" json:"rellockmode,omitempty"` - Tablesample *TableSampleClause `protobuf:"bytes,5,opt,name=tablesample,proto3" json:"tablesample,omitempty"` - Perminfoindex uint32 `protobuf:"varint,6,opt,name=perminfoindex,proto3" json:"perminfoindex,omitempty"` - Subquery *Query `protobuf:"bytes,7,opt,name=subquery,proto3" json:"subquery,omitempty"` - SecurityBarrier bool `protobuf:"varint,8,opt,name=security_barrier,proto3" json:"security_barrier,omitempty"` - Jointype JoinType `protobuf:"varint,9,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` - Joinmergedcols int32 `protobuf:"varint,10,opt,name=joinmergedcols,proto3" json:"joinmergedcols,omitempty"` - Joinaliasvars []*Node `protobuf:"bytes,11,rep,name=joinaliasvars,proto3" json:"joinaliasvars,omitempty"` - Joinleftcols []*Node `protobuf:"bytes,12,rep,name=joinleftcols,proto3" json:"joinleftcols,omitempty"` - Joinrightcols []*Node `protobuf:"bytes,13,rep,name=joinrightcols,proto3" json:"joinrightcols,omitempty"` - JoinUsingAlias *Alias `protobuf:"bytes,14,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` - Functions []*Node `protobuf:"bytes,15,rep,name=functions,proto3" json:"functions,omitempty"` - Funcordinality bool `protobuf:"varint,16,opt,name=funcordinality,proto3" json:"funcordinality,omitempty"` - Tablefunc *TableFunc `protobuf:"bytes,17,opt,name=tablefunc,proto3" json:"tablefunc,omitempty"` - ValuesLists []*Node `protobuf:"bytes,18,rep,name=values_lists,proto3" json:"values_lists,omitempty"` - Ctename string `protobuf:"bytes,19,opt,name=ctename,proto3" json:"ctename,omitempty"` - Ctelevelsup uint32 `protobuf:"varint,20,opt,name=ctelevelsup,proto3" json:"ctelevelsup,omitempty"` - SelfReference bool `protobuf:"varint,21,opt,name=self_reference,proto3" json:"self_reference,omitempty"` - Coltypes []*Node `protobuf:"bytes,22,rep,name=coltypes,proto3" json:"coltypes,omitempty"` - Coltypmods []*Node `protobuf:"bytes,23,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` - Colcollations []*Node `protobuf:"bytes,24,rep,name=colcollations,proto3" json:"colcollations,omitempty"` - Enrname string `protobuf:"bytes,25,opt,name=enrname,proto3" json:"enrname,omitempty"` - Enrtuples float64 `protobuf:"fixed64,26,opt,name=enrtuples,proto3" json:"enrtuples,omitempty"` - Alias *Alias `protobuf:"bytes,27,opt,name=alias,proto3" json:"alias,omitempty"` - Eref *Alias `protobuf:"bytes,28,opt,name=eref,proto3" json:"eref,omitempty"` - Lateral bool `protobuf:"varint,29,opt,name=lateral,proto3" json:"lateral,omitempty"` - Inh bool `protobuf:"varint,30,opt,name=inh,proto3" json:"inh,omitempty"` - InFromCl bool `protobuf:"varint,31,opt,name=in_from_cl,json=inFromCl,proto3" json:"in_from_cl,omitempty"` - SecurityQuals []*Node `protobuf:"bytes,32,rep,name=security_quals,json=securityQuals,proto3" json:"security_quals,omitempty"` + Defnamespace string `protobuf:"bytes,1,opt,name=defnamespace,proto3" json:"defnamespace,omitempty"` + Defname string `protobuf:"bytes,2,opt,name=defname,proto3" json:"defname,omitempty"` + Arg *Node `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` + Defaction DefElemAction `protobuf:"varint,4,opt,name=defaction,proto3,enum=pg_query.DefElemAction" json:"defaction,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTblEntry) Reset() { - *x = RangeTblEntry{} +func (x *DefElem) Reset() { + *x = DefElem{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17734,13 +18530,13 @@ func (x *RangeTblEntry) Reset() { } } -func (x *RangeTblEntry) String() string { +func (x *DefElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblEntry) ProtoMessage() {} +func (*DefElem) ProtoMessage() {} -func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { +func (x *DefElem) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -17752,266 +18548,294 @@ func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblEntry.ProtoReflect.Descriptor instead. -func (*RangeTblEntry) Descriptor() ([]byte, []int) { +// Deprecated: Use DefElem.ProtoReflect.Descriptor instead. +func (*DefElem) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{100} } -func (x *RangeTblEntry) GetRtekind() RTEKind { - if x != nil { - return x.Rtekind - } - return RTEKind_RTEKIND_UNDEFINED -} - -func (x *RangeTblEntry) GetRelid() uint32 { +func (x *DefElem) GetDefnamespace() string { if x != nil { - return x.Relid + return x.Defnamespace } - return 0 + return "" } -func (x *RangeTblEntry) GetRelkind() string { +func (x *DefElem) GetDefname() string { if x != nil { - return x.Relkind + return x.Defname } return "" } -func (x *RangeTblEntry) GetRellockmode() int32 { +func (x *DefElem) GetArg() *Node { if x != nil { - return x.Rellockmode + return x.Arg } - return 0 + return nil } -func (x *RangeTblEntry) GetTablesample() *TableSampleClause { +func (x *DefElem) GetDefaction() DefElemAction { if x != nil { - return x.Tablesample + return x.Defaction } - return nil + return DefElemAction_DEF_ELEM_ACTION_UNDEFINED } -func (x *RangeTblEntry) GetPerminfoindex() uint32 { +func (x *DefElem) GetLocation() int32 { if x != nil { - return x.Perminfoindex + return x.Location } return 0 } -func (x *RangeTblEntry) GetSubquery() *Query { - if x != nil { - return x.Subquery - } - return nil -} +type LockingClause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *RangeTblEntry) GetSecurityBarrier() bool { - if x != nil { - return x.SecurityBarrier - } - return false + LockedRels []*Node `protobuf:"bytes,1,rep,name=locked_rels,json=lockedRels,proto3" json:"locked_rels,omitempty"` + Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` + WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` } -func (x *RangeTblEntry) GetJointype() JoinType { - if x != nil { - return x.Jointype +func (x *LockingClause) Reset() { + *x = LockingClause{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return JoinType_JOIN_TYPE_UNDEFINED } -func (x *RangeTblEntry) GetJoinmergedcols() int32 { - if x != nil { - return x.Joinmergedcols - } - return 0 +func (x *LockingClause) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RangeTblEntry) GetJoinaliasvars() []*Node { - if x != nil { - return x.Joinaliasvars +func (*LockingClause) ProtoMessage() {} + +func (x *LockingClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *RangeTblEntry) GetJoinleftcols() []*Node { - if x != nil { - return x.Joinleftcols - } - return nil +// Deprecated: Use LockingClause.ProtoReflect.Descriptor instead. +func (*LockingClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{101} } -func (x *RangeTblEntry) GetJoinrightcols() []*Node { +func (x *LockingClause) GetLockedRels() []*Node { if x != nil { - return x.Joinrightcols + return x.LockedRels } return nil } -func (x *RangeTblEntry) GetJoinUsingAlias() *Alias { +func (x *LockingClause) GetStrength() LockClauseStrength { if x != nil { - return x.JoinUsingAlias + return x.Strength } - return nil + return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED } -func (x *RangeTblEntry) GetFunctions() []*Node { +func (x *LockingClause) GetWaitPolicy() LockWaitPolicy { if x != nil { - return x.Functions + return x.WaitPolicy } - return nil + return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED } -func (x *RangeTblEntry) GetFuncordinality() bool { - if x != nil { - return x.Funcordinality - } - return false +type XmlSerialize struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xmloption XmlOptionType `protobuf:"varint,1,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Indent bool `protobuf:"varint,4,opt,name=indent,proto3" json:"indent,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTblEntry) GetTablefunc() *TableFunc { - if x != nil { - return x.Tablefunc +func (x *XmlSerialize) Reset() { + *x = XmlSerialize{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *RangeTblEntry) GetValuesLists() []*Node { - if x != nil { - return x.ValuesLists - } - return nil +func (x *XmlSerialize) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RangeTblEntry) GetCtename() string { - if x != nil { - return x.Ctename +func (*XmlSerialize) ProtoMessage() {} + +func (x *XmlSerialize) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *RangeTblEntry) GetCtelevelsup() uint32 { - if x != nil { - return x.Ctelevelsup - } - return 0 +// Deprecated: Use XmlSerialize.ProtoReflect.Descriptor instead. +func (*XmlSerialize) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{102} } -func (x *RangeTblEntry) GetSelfReference() bool { +func (x *XmlSerialize) GetXmloption() XmlOptionType { if x != nil { - return x.SelfReference + return x.Xmloption } - return false + return XmlOptionType_XML_OPTION_TYPE_UNDEFINED } -func (x *RangeTblEntry) GetColtypes() []*Node { +func (x *XmlSerialize) GetExpr() *Node { if x != nil { - return x.Coltypes + return x.Expr } return nil } -func (x *RangeTblEntry) GetColtypmods() []*Node { +func (x *XmlSerialize) GetTypeName() *TypeName { if x != nil { - return x.Coltypmods + return x.TypeName } return nil } -func (x *RangeTblEntry) GetColcollations() []*Node { +func (x *XmlSerialize) GetIndent() bool { if x != nil { - return x.Colcollations + return x.Indent } - return nil + return false } -func (x *RangeTblEntry) GetEnrname() string { +func (x *XmlSerialize) GetLocation() int32 { if x != nil { - return x.Enrname + return x.Location } - return "" + return 0 } -func (x *RangeTblEntry) GetEnrtuples() float64 { - if x != nil { - return x.Enrtuples +type PartitionElem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Collation []*Node `protobuf:"bytes,3,rep,name=collation,proto3" json:"collation,omitempty"` + Opclass []*Node `protobuf:"bytes,4,rep,name=opclass,proto3" json:"opclass,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *PartitionElem) Reset() { + *x = PartitionElem{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *RangeTblEntry) GetAlias() *Alias { - if x != nil { - return x.Alias +func (x *PartitionElem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartitionElem) ProtoMessage() {} + +func (x *PartitionElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *RangeTblEntry) GetEref() *Alias { +// Deprecated: Use PartitionElem.ProtoReflect.Descriptor instead. +func (*PartitionElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{103} +} + +func (x *PartitionElem) GetName() string { if x != nil { - return x.Eref + return x.Name } - return nil + return "" } -func (x *RangeTblEntry) GetLateral() bool { +func (x *PartitionElem) GetExpr() *Node { if x != nil { - return x.Lateral + return x.Expr } - return false + return nil } -func (x *RangeTblEntry) GetInh() bool { +func (x *PartitionElem) GetCollation() []*Node { if x != nil { - return x.Inh + return x.Collation } - return false + return nil } -func (x *RangeTblEntry) GetInFromCl() bool { +func (x *PartitionElem) GetOpclass() []*Node { if x != nil { - return x.InFromCl + return x.Opclass } - return false + return nil } -func (x *RangeTblEntry) GetSecurityQuals() []*Node { +func (x *PartitionElem) GetLocation() int32 { if x != nil { - return x.SecurityQuals + return x.Location } - return nil + return 0 } -type RTEPermissionInfo struct { +type PartitionSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relid uint32 `protobuf:"varint,1,opt,name=relid,proto3" json:"relid,omitempty"` - Inh bool `protobuf:"varint,2,opt,name=inh,proto3" json:"inh,omitempty"` - RequiredPerms uint64 `protobuf:"varint,3,opt,name=required_perms,json=requiredPerms,proto3" json:"required_perms,omitempty"` - CheckAsUser uint32 `protobuf:"varint,4,opt,name=check_as_user,json=checkAsUser,proto3" json:"check_as_user,omitempty"` - SelectedCols []uint64 `protobuf:"varint,5,rep,packed,name=selected_cols,json=selectedCols,proto3" json:"selected_cols,omitempty"` - InsertedCols []uint64 `protobuf:"varint,6,rep,packed,name=inserted_cols,json=insertedCols,proto3" json:"inserted_cols,omitempty"` - UpdatedCols []uint64 `protobuf:"varint,7,rep,packed,name=updated_cols,json=updatedCols,proto3" json:"updated_cols,omitempty"` + Strategy PartitionStrategy `protobuf:"varint,1,opt,name=strategy,proto3,enum=pg_query.PartitionStrategy" json:"strategy,omitempty"` + PartParams []*Node `protobuf:"bytes,2,rep,name=part_params,json=partParams,proto3" json:"part_params,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RTEPermissionInfo) Reset() { - *x = RTEPermissionInfo{} +func (x *PartitionSpec) Reset() { + *x = PartitionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[101] + mi := &file_pg_query_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RTEPermissionInfo) String() string { +func (x *PartitionSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RTEPermissionInfo) ProtoMessage() {} +func (*PartitionSpec) ProtoMessage() {} -func (x *RTEPermissionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[101] +func (x *PartitionSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18022,91 +18846,64 @@ func (x *RTEPermissionInfo) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RTEPermissionInfo.ProtoReflect.Descriptor instead. -func (*RTEPermissionInfo) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{101} -} - -func (x *RTEPermissionInfo) GetRelid() uint32 { - if x != nil { - return x.Relid - } - return 0 -} - -func (x *RTEPermissionInfo) GetInh() bool { - if x != nil { - return x.Inh - } - return false -} - -func (x *RTEPermissionInfo) GetRequiredPerms() uint64 { - if x != nil { - return x.RequiredPerms - } - return 0 -} - -func (x *RTEPermissionInfo) GetCheckAsUser() uint32 { - if x != nil { - return x.CheckAsUser - } - return 0 +// Deprecated: Use PartitionSpec.ProtoReflect.Descriptor instead. +func (*PartitionSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{104} } -func (x *RTEPermissionInfo) GetSelectedCols() []uint64 { +func (x *PartitionSpec) GetStrategy() PartitionStrategy { if x != nil { - return x.SelectedCols + return x.Strategy } - return nil + return PartitionStrategy_PARTITION_STRATEGY_UNDEFINED } -func (x *RTEPermissionInfo) GetInsertedCols() []uint64 { +func (x *PartitionSpec) GetPartParams() []*Node { if x != nil { - return x.InsertedCols + return x.PartParams } return nil } -func (x *RTEPermissionInfo) GetUpdatedCols() []uint64 { +func (x *PartitionSpec) GetLocation() int32 { if x != nil { - return x.UpdatedCols + return x.Location } - return nil + return 0 } -type RangeTblFunction struct { +type PartitionBoundSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Funcexpr *Node `protobuf:"bytes,1,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` - Funccolcount int32 `protobuf:"varint,2,opt,name=funccolcount,proto3" json:"funccolcount,omitempty"` - Funccolnames []*Node `protobuf:"bytes,3,rep,name=funccolnames,proto3" json:"funccolnames,omitempty"` - Funccoltypes []*Node `protobuf:"bytes,4,rep,name=funccoltypes,proto3" json:"funccoltypes,omitempty"` - Funccoltypmods []*Node `protobuf:"bytes,5,rep,name=funccoltypmods,proto3" json:"funccoltypmods,omitempty"` - Funccolcollations []*Node `protobuf:"bytes,6,rep,name=funccolcollations,proto3" json:"funccolcollations,omitempty"` - Funcparams []uint64 `protobuf:"varint,7,rep,packed,name=funcparams,proto3" json:"funcparams,omitempty"` + Strategy string `protobuf:"bytes,1,opt,name=strategy,proto3" json:"strategy,omitempty"` + IsDefault bool `protobuf:"varint,2,opt,name=is_default,proto3" json:"is_default,omitempty"` + Modulus int32 `protobuf:"varint,3,opt,name=modulus,proto3" json:"modulus,omitempty"` + Remainder int32 `protobuf:"varint,4,opt,name=remainder,proto3" json:"remainder,omitempty"` + Listdatums []*Node `protobuf:"bytes,5,rep,name=listdatums,proto3" json:"listdatums,omitempty"` + Lowerdatums []*Node `protobuf:"bytes,6,rep,name=lowerdatums,proto3" json:"lowerdatums,omitempty"` + Upperdatums []*Node `protobuf:"bytes,7,rep,name=upperdatums,proto3" json:"upperdatums,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTblFunction) Reset() { - *x = RangeTblFunction{} +func (x *PartitionBoundSpec) Reset() { + *x = PartitionBoundSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[102] + mi := &file_pg_query_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTblFunction) String() string { +func (x *PartitionBoundSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblFunction) ProtoMessage() {} +func (*PartitionBoundSpec) ProtoMessage() {} -func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[102] +func (x *PartitionBoundSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18117,87 +18914,94 @@ func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblFunction.ProtoReflect.Descriptor instead. -func (*RangeTblFunction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{102} +// Deprecated: Use PartitionBoundSpec.ProtoReflect.Descriptor instead. +func (*PartitionBoundSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{105} } -func (x *RangeTblFunction) GetFuncexpr() *Node { +func (x *PartitionBoundSpec) GetStrategy() string { if x != nil { - return x.Funcexpr + return x.Strategy } - return nil + return "" } -func (x *RangeTblFunction) GetFunccolcount() int32 { +func (x *PartitionBoundSpec) GetIsDefault() bool { if x != nil { - return x.Funccolcount + return x.IsDefault } - return 0 + return false } -func (x *RangeTblFunction) GetFunccolnames() []*Node { +func (x *PartitionBoundSpec) GetModulus() int32 { if x != nil { - return x.Funccolnames + return x.Modulus } - return nil + return 0 } -func (x *RangeTblFunction) GetFunccoltypes() []*Node { +func (x *PartitionBoundSpec) GetRemainder() int32 { if x != nil { - return x.Funccoltypes + return x.Remainder } - return nil + return 0 } -func (x *RangeTblFunction) GetFunccoltypmods() []*Node { +func (x *PartitionBoundSpec) GetListdatums() []*Node { if x != nil { - return x.Funccoltypmods + return x.Listdatums } return nil } -func (x *RangeTblFunction) GetFunccolcollations() []*Node { +func (x *PartitionBoundSpec) GetLowerdatums() []*Node { if x != nil { - return x.Funccolcollations + return x.Lowerdatums } return nil } -func (x *RangeTblFunction) GetFuncparams() []uint64 { +func (x *PartitionBoundSpec) GetUpperdatums() []*Node { if x != nil { - return x.Funcparams + return x.Upperdatums } return nil } -type TableSampleClause struct { +func (x *PartitionBoundSpec) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type PartitionRangeDatum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tsmhandler uint32 `protobuf:"varint,1,opt,name=tsmhandler,proto3" json:"tsmhandler,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - Repeatable *Node `protobuf:"bytes,3,opt,name=repeatable,proto3" json:"repeatable,omitempty"` + Kind PartitionRangeDatumKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.PartitionRangeDatumKind" json:"kind,omitempty"` + Value *Node `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *TableSampleClause) Reset() { - *x = TableSampleClause{} +func (x *PartitionRangeDatum) Reset() { + *x = PartitionRangeDatum{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[103] + mi := &file_pg_query_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TableSampleClause) String() string { +func (x *PartitionRangeDatum) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TableSampleClause) ProtoMessage() {} +func (*PartitionRangeDatum) ProtoMessage() {} -func (x *TableSampleClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[103] +func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18208,61 +19012,55 @@ func (x *TableSampleClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TableSampleClause.ProtoReflect.Descriptor instead. -func (*TableSampleClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{103} +// Deprecated: Use PartitionRangeDatum.ProtoReflect.Descriptor instead. +func (*PartitionRangeDatum) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{106} } -func (x *TableSampleClause) GetTsmhandler() uint32 { +func (x *PartitionRangeDatum) GetKind() PartitionRangeDatumKind { if x != nil { - return x.Tsmhandler + return x.Kind } - return 0 + return PartitionRangeDatumKind_PARTITION_RANGE_DATUM_KIND_UNDEFINED } -func (x *TableSampleClause) GetArgs() []*Node { +func (x *PartitionRangeDatum) GetValue() *Node { if x != nil { - return x.Args + return x.Value } return nil } -func (x *TableSampleClause) GetRepeatable() *Node { +func (x *PartitionRangeDatum) GetLocation() int32 { if x != nil { - return x.Repeatable + return x.Location } - return nil + return 0 } -type WithCheckOption struct { +type SinglePartitionSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Kind WCOKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.WCOKind" json:"kind,omitempty"` - Relname string `protobuf:"bytes,2,opt,name=relname,proto3" json:"relname,omitempty"` - Polname string `protobuf:"bytes,3,opt,name=polname,proto3" json:"polname,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - Cascaded bool `protobuf:"varint,5,opt,name=cascaded,proto3" json:"cascaded,omitempty"` } -func (x *WithCheckOption) Reset() { - *x = WithCheckOption{} +func (x *SinglePartitionSpec) Reset() { + *x = SinglePartitionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[104] + mi := &file_pg_query_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WithCheckOption) String() string { +func (x *SinglePartitionSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WithCheckOption) ProtoMessage() {} +func (*SinglePartitionSpec) ProtoMessage() {} -func (x *WithCheckOption) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[104] +func (x *SinglePartitionSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18273,75 +19071,38 @@ func (x *WithCheckOption) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WithCheckOption.ProtoReflect.Descriptor instead. -func (*WithCheckOption) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{104} -} - -func (x *WithCheckOption) GetKind() WCOKind { - if x != nil { - return x.Kind - } - return WCOKind_WCOKIND_UNDEFINED -} - -func (x *WithCheckOption) GetRelname() string { - if x != nil { - return x.Relname - } - return "" -} - -func (x *WithCheckOption) GetPolname() string { - if x != nil { - return x.Polname - } - return "" -} - -func (x *WithCheckOption) GetQual() *Node { - if x != nil { - return x.Qual - } - return nil -} - -func (x *WithCheckOption) GetCascaded() bool { - if x != nil { - return x.Cascaded - } - return false +// Deprecated: Use SinglePartitionSpec.ProtoReflect.Descriptor instead. +func (*SinglePartitionSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{107} } -type SortGroupClause struct { +type PartitionCmd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TleSortGroupRef uint32 `protobuf:"varint,1,opt,name=tle_sort_group_ref,json=tleSortGroupRef,proto3" json:"tle_sort_group_ref,omitempty"` - Eqop uint32 `protobuf:"varint,2,opt,name=eqop,proto3" json:"eqop,omitempty"` - Sortop uint32 `protobuf:"varint,3,opt,name=sortop,proto3" json:"sortop,omitempty"` - NullsFirst bool `protobuf:"varint,4,opt,name=nulls_first,proto3" json:"nulls_first,omitempty"` - Hashable bool `protobuf:"varint,5,opt,name=hashable,proto3" json:"hashable,omitempty"` + Name *RangeVar `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Bound *PartitionBoundSpec `protobuf:"bytes,2,opt,name=bound,proto3" json:"bound,omitempty"` + Concurrent bool `protobuf:"varint,3,opt,name=concurrent,proto3" json:"concurrent,omitempty"` } -func (x *SortGroupClause) Reset() { - *x = SortGroupClause{} +func (x *PartitionCmd) Reset() { + *x = PartitionCmd{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[105] + mi := &file_pg_query_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SortGroupClause) String() string { +func (x *PartitionCmd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SortGroupClause) ProtoMessage() {} +func (*PartitionCmd) ProtoMessage() {} -func (x *SortGroupClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[105] +func (x *PartitionCmd) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18352,73 +19113,88 @@ func (x *SortGroupClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SortGroupClause.ProtoReflect.Descriptor instead. -func (*SortGroupClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{105} -} - -func (x *SortGroupClause) GetTleSortGroupRef() uint32 { - if x != nil { - return x.TleSortGroupRef - } - return 0 -} - -func (x *SortGroupClause) GetEqop() uint32 { - if x != nil { - return x.Eqop - } - return 0 +// Deprecated: Use PartitionCmd.ProtoReflect.Descriptor instead. +func (*PartitionCmd) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{108} } -func (x *SortGroupClause) GetSortop() uint32 { +func (x *PartitionCmd) GetName() *RangeVar { if x != nil { - return x.Sortop + return x.Name } - return 0 + return nil } -func (x *SortGroupClause) GetNullsFirst() bool { +func (x *PartitionCmd) GetBound() *PartitionBoundSpec { if x != nil { - return x.NullsFirst + return x.Bound } - return false + return nil } -func (x *SortGroupClause) GetHashable() bool { +func (x *PartitionCmd) GetConcurrent() bool { if x != nil { - return x.Hashable + return x.Concurrent } return false } -type GroupingSet struct { +type RangeTblEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind GroupingSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.GroupingSetKind" json:"kind,omitempty"` - Content []*Node `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Alias *Alias `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"` + Eref *Alias `protobuf:"bytes,2,opt,name=eref,proto3" json:"eref,omitempty"` + Rtekind RTEKind `protobuf:"varint,3,opt,name=rtekind,proto3,enum=pg_query.RTEKind" json:"rtekind,omitempty"` + Relid uint32 `protobuf:"varint,4,opt,name=relid,proto3" json:"relid,omitempty"` + Inh bool `protobuf:"varint,5,opt,name=inh,proto3" json:"inh,omitempty"` + Relkind string `protobuf:"bytes,6,opt,name=relkind,proto3" json:"relkind,omitempty"` + Rellockmode int32 `protobuf:"varint,7,opt,name=rellockmode,proto3" json:"rellockmode,omitempty"` + Perminfoindex uint32 `protobuf:"varint,8,opt,name=perminfoindex,proto3" json:"perminfoindex,omitempty"` + Tablesample *TableSampleClause `protobuf:"bytes,9,opt,name=tablesample,proto3" json:"tablesample,omitempty"` + Subquery *Query `protobuf:"bytes,10,opt,name=subquery,proto3" json:"subquery,omitempty"` + SecurityBarrier bool `protobuf:"varint,11,opt,name=security_barrier,proto3" json:"security_barrier,omitempty"` + Jointype JoinType `protobuf:"varint,12,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` + Joinmergedcols int32 `protobuf:"varint,13,opt,name=joinmergedcols,proto3" json:"joinmergedcols,omitempty"` + Joinaliasvars []*Node `protobuf:"bytes,14,rep,name=joinaliasvars,proto3" json:"joinaliasvars,omitempty"` + Joinleftcols []*Node `protobuf:"bytes,15,rep,name=joinleftcols,proto3" json:"joinleftcols,omitempty"` + Joinrightcols []*Node `protobuf:"bytes,16,rep,name=joinrightcols,proto3" json:"joinrightcols,omitempty"` + JoinUsingAlias *Alias `protobuf:"bytes,17,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` + Functions []*Node `protobuf:"bytes,18,rep,name=functions,proto3" json:"functions,omitempty"` + Funcordinality bool `protobuf:"varint,19,opt,name=funcordinality,proto3" json:"funcordinality,omitempty"` + Tablefunc *TableFunc `protobuf:"bytes,20,opt,name=tablefunc,proto3" json:"tablefunc,omitempty"` + ValuesLists []*Node `protobuf:"bytes,21,rep,name=values_lists,proto3" json:"values_lists,omitempty"` + Ctename string `protobuf:"bytes,22,opt,name=ctename,proto3" json:"ctename,omitempty"` + Ctelevelsup uint32 `protobuf:"varint,23,opt,name=ctelevelsup,proto3" json:"ctelevelsup,omitempty"` + SelfReference bool `protobuf:"varint,24,opt,name=self_reference,proto3" json:"self_reference,omitempty"` + Coltypes []*Node `protobuf:"bytes,25,rep,name=coltypes,proto3" json:"coltypes,omitempty"` + Coltypmods []*Node `protobuf:"bytes,26,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` + Colcollations []*Node `protobuf:"bytes,27,rep,name=colcollations,proto3" json:"colcollations,omitempty"` + Enrname string `protobuf:"bytes,28,opt,name=enrname,proto3" json:"enrname,omitempty"` + Enrtuples float64 `protobuf:"fixed64,29,opt,name=enrtuples,proto3" json:"enrtuples,omitempty"` + Lateral bool `protobuf:"varint,30,opt,name=lateral,proto3" json:"lateral,omitempty"` + InFromCl bool `protobuf:"varint,31,opt,name=in_from_cl,json=inFromCl,proto3" json:"in_from_cl,omitempty"` + SecurityQuals []*Node `protobuf:"bytes,32,rep,name=security_quals,json=securityQuals,proto3" json:"security_quals,omitempty"` } -func (x *GroupingSet) Reset() { - *x = GroupingSet{} +func (x *RangeTblEntry) Reset() { + *x = RangeTblEntry{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[106] + mi := &file_pg_query_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GroupingSet) String() string { +func (x *RangeTblEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GroupingSet) ProtoMessage() {} +func (*RangeTblEntry) ProtoMessage() {} -func (x *GroupingSet) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[106] +func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18429,289 +19205,266 @@ func (x *GroupingSet) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GroupingSet.ProtoReflect.Descriptor instead. -func (*GroupingSet) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{106} +// Deprecated: Use RangeTblEntry.ProtoReflect.Descriptor instead. +func (*RangeTblEntry) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{109} } -func (x *GroupingSet) GetKind() GroupingSetKind { +func (x *RangeTblEntry) GetAlias() *Alias { if x != nil { - return x.Kind + return x.Alias } - return GroupingSetKind_GROUPING_SET_KIND_UNDEFINED + return nil } -func (x *GroupingSet) GetContent() []*Node { +func (x *RangeTblEntry) GetEref() *Alias { if x != nil { - return x.Content + return x.Eref } return nil } -func (x *GroupingSet) GetLocation() int32 { +func (x *RangeTblEntry) GetRtekind() RTEKind { if x != nil { - return x.Location + return x.Rtekind } - return 0 -} - -type WindowClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` - PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` - OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` - FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` - StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` - EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` - RunCondition []*Node `protobuf:"bytes,8,rep,name=run_condition,json=runCondition,proto3" json:"run_condition,omitempty"` - StartInRangeFunc uint32 `protobuf:"varint,9,opt,name=start_in_range_func,json=startInRangeFunc,proto3" json:"start_in_range_func,omitempty"` - EndInRangeFunc uint32 `protobuf:"varint,10,opt,name=end_in_range_func,json=endInRangeFunc,proto3" json:"end_in_range_func,omitempty"` - InRangeColl uint32 `protobuf:"varint,11,opt,name=in_range_coll,json=inRangeColl,proto3" json:"in_range_coll,omitempty"` - InRangeAsc bool `protobuf:"varint,12,opt,name=in_range_asc,json=inRangeAsc,proto3" json:"in_range_asc,omitempty"` - InRangeNullsFirst bool `protobuf:"varint,13,opt,name=in_range_nulls_first,json=inRangeNullsFirst,proto3" json:"in_range_nulls_first,omitempty"` - Winref uint32 `protobuf:"varint,14,opt,name=winref,proto3" json:"winref,omitempty"` - CopiedOrder bool `protobuf:"varint,15,opt,name=copied_order,json=copiedOrder,proto3" json:"copied_order,omitempty"` + return RTEKind_RTEKIND_UNDEFINED } -func (x *WindowClause) Reset() { - *x = WindowClause{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetRelid() uint32 { + if x != nil { + return x.Relid } + return 0 } -func (x *WindowClause) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetInh() bool { + if x != nil { + return x.Inh + } + return false } -func (*WindowClause) ProtoMessage() {} - -func (x *WindowClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetRelkind() string { + if x != nil { + return x.Relkind } - return mi.MessageOf(x) + return "" } -// Deprecated: Use WindowClause.ProtoReflect.Descriptor instead. -func (*WindowClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{107} +func (x *RangeTblEntry) GetRellockmode() int32 { + if x != nil { + return x.Rellockmode + } + return 0 } -func (x *WindowClause) GetName() string { +func (x *RangeTblEntry) GetPerminfoindex() uint32 { if x != nil { - return x.Name + return x.Perminfoindex } - return "" + return 0 } -func (x *WindowClause) GetRefname() string { +func (x *RangeTblEntry) GetTablesample() *TableSampleClause { if x != nil { - return x.Refname + return x.Tablesample } - return "" + return nil } -func (x *WindowClause) GetPartitionClause() []*Node { +func (x *RangeTblEntry) GetSubquery() *Query { if x != nil { - return x.PartitionClause + return x.Subquery } return nil } -func (x *WindowClause) GetOrderClause() []*Node { +func (x *RangeTblEntry) GetSecurityBarrier() bool { if x != nil { - return x.OrderClause + return x.SecurityBarrier } - return nil + return false } -func (x *WindowClause) GetFrameOptions() int32 { +func (x *RangeTblEntry) GetJointype() JoinType { if x != nil { - return x.FrameOptions + return x.Jointype } - return 0 + return JoinType_JOIN_TYPE_UNDEFINED } -func (x *WindowClause) GetStartOffset() *Node { +func (x *RangeTblEntry) GetJoinmergedcols() int32 { if x != nil { - return x.StartOffset + return x.Joinmergedcols } - return nil + return 0 } -func (x *WindowClause) GetEndOffset() *Node { +func (x *RangeTblEntry) GetJoinaliasvars() []*Node { if x != nil { - return x.EndOffset + return x.Joinaliasvars } return nil } -func (x *WindowClause) GetRunCondition() []*Node { +func (x *RangeTblEntry) GetJoinleftcols() []*Node { if x != nil { - return x.RunCondition + return x.Joinleftcols } return nil } -func (x *WindowClause) GetStartInRangeFunc() uint32 { +func (x *RangeTblEntry) GetJoinrightcols() []*Node { if x != nil { - return x.StartInRangeFunc + return x.Joinrightcols } - return 0 + return nil } -func (x *WindowClause) GetEndInRangeFunc() uint32 { +func (x *RangeTblEntry) GetJoinUsingAlias() *Alias { if x != nil { - return x.EndInRangeFunc + return x.JoinUsingAlias } - return 0 + return nil } -func (x *WindowClause) GetInRangeColl() uint32 { +func (x *RangeTblEntry) GetFunctions() []*Node { if x != nil { - return x.InRangeColl + return x.Functions } - return 0 + return nil } -func (x *WindowClause) GetInRangeAsc() bool { +func (x *RangeTblEntry) GetFuncordinality() bool { if x != nil { - return x.InRangeAsc + return x.Funcordinality } return false } -func (x *WindowClause) GetInRangeNullsFirst() bool { +func (x *RangeTblEntry) GetTablefunc() *TableFunc { if x != nil { - return x.InRangeNullsFirst + return x.Tablefunc } - return false + return nil } -func (x *WindowClause) GetWinref() uint32 { +func (x *RangeTblEntry) GetValuesLists() []*Node { if x != nil { - return x.Winref + return x.ValuesLists } - return 0 + return nil } -func (x *WindowClause) GetCopiedOrder() bool { +func (x *RangeTblEntry) GetCtename() string { if x != nil { - return x.CopiedOrder + return x.Ctename } - return false + return "" } -type RowMarkClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Rti uint32 `protobuf:"varint,1,opt,name=rti,proto3" json:"rti,omitempty"` - Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` - WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` - PushedDown bool `protobuf:"varint,4,opt,name=pushed_down,json=pushedDown,proto3" json:"pushed_down,omitempty"` +func (x *RangeTblEntry) GetCtelevelsup() uint32 { + if x != nil { + return x.Ctelevelsup + } + return 0 } -func (x *RowMarkClause) Reset() { - *x = RowMarkClause{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetSelfReference() bool { + if x != nil { + return x.SelfReference } + return false } -func (x *RowMarkClause) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetColtypes() []*Node { + if x != nil { + return x.Coltypes + } + return nil } -func (*RowMarkClause) ProtoMessage() {} +func (x *RangeTblEntry) GetColtypmods() []*Node { + if x != nil { + return x.Coltypmods + } + return nil +} -func (x *RowMarkClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetColcollations() []*Node { + if x != nil { + return x.Colcollations } - return mi.MessageOf(x) + return nil } -// Deprecated: Use RowMarkClause.ProtoReflect.Descriptor instead. -func (*RowMarkClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{108} +func (x *RangeTblEntry) GetEnrname() string { + if x != nil { + return x.Enrname + } + return "" } -func (x *RowMarkClause) GetRti() uint32 { +func (x *RangeTblEntry) GetEnrtuples() float64 { if x != nil { - return x.Rti + return x.Enrtuples } return 0 } -func (x *RowMarkClause) GetStrength() LockClauseStrength { +func (x *RangeTblEntry) GetLateral() bool { if x != nil { - return x.Strength + return x.Lateral } - return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED + return false } -func (x *RowMarkClause) GetWaitPolicy() LockWaitPolicy { +func (x *RangeTblEntry) GetInFromCl() bool { if x != nil { - return x.WaitPolicy + return x.InFromCl } - return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED + return false } -func (x *RowMarkClause) GetPushedDown() bool { +func (x *RangeTblEntry) GetSecurityQuals() []*Node { if x != nil { - return x.PushedDown + return x.SecurityQuals } - return false + return nil } -type WithClause struct { +type RTEPermissionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ctes []*Node `protobuf:"bytes,1,rep,name=ctes,proto3" json:"ctes,omitempty"` - Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Relid uint32 `protobuf:"varint,1,opt,name=relid,proto3" json:"relid,omitempty"` + Inh bool `protobuf:"varint,2,opt,name=inh,proto3" json:"inh,omitempty"` + RequiredPerms uint64 `protobuf:"varint,3,opt,name=required_perms,json=requiredPerms,proto3" json:"required_perms,omitempty"` + CheckAsUser uint32 `protobuf:"varint,4,opt,name=check_as_user,json=checkAsUser,proto3" json:"check_as_user,omitempty"` + SelectedCols []uint64 `protobuf:"varint,5,rep,packed,name=selected_cols,json=selectedCols,proto3" json:"selected_cols,omitempty"` + InsertedCols []uint64 `protobuf:"varint,6,rep,packed,name=inserted_cols,json=insertedCols,proto3" json:"inserted_cols,omitempty"` + UpdatedCols []uint64 `protobuf:"varint,7,rep,packed,name=updated_cols,json=updatedCols,proto3" json:"updated_cols,omitempty"` } -func (x *WithClause) Reset() { - *x = WithClause{} +func (x *RTEPermissionInfo) Reset() { + *x = RTEPermissionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[109] + mi := &file_pg_query_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WithClause) String() string { +func (x *RTEPermissionInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WithClause) ProtoMessage() {} +func (*RTEPermissionInfo) ProtoMessage() {} -func (x *WithClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[109] +func (x *RTEPermissionInfo) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18722,117 +19475,76 @@ func (x *WithClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WithClause.ProtoReflect.Descriptor instead. -func (*WithClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{109} +// Deprecated: Use RTEPermissionInfo.ProtoReflect.Descriptor instead. +func (*RTEPermissionInfo) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{110} } -func (x *WithClause) GetCtes() []*Node { +func (x *RTEPermissionInfo) GetRelid() uint32 { if x != nil { - return x.Ctes + return x.Relid } - return nil + return 0 } -func (x *WithClause) GetRecursive() bool { +func (x *RTEPermissionInfo) GetInh() bool { if x != nil { - return x.Recursive + return x.Inh } return false } -func (x *WithClause) GetLocation() int32 { +func (x *RTEPermissionInfo) GetRequiredPerms() uint64 { if x != nil { - return x.Location + return x.RequiredPerms } return 0 } -type InferClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IndexElems []*Node `protobuf:"bytes,1,rep,name=index_elems,json=indexElems,proto3" json:"index_elems,omitempty"` - WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Conname string `protobuf:"bytes,3,opt,name=conname,proto3" json:"conname,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` +func (x *RTEPermissionInfo) GetCheckAsUser() uint32 { + if x != nil { + return x.CheckAsUser + } + return 0 } -func (x *InferClause) Reset() { - *x = InferClause{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RTEPermissionInfo) GetSelectedCols() []uint64 { + if x != nil { + return x.SelectedCols } + return nil } -func (x *InferClause) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InferClause) ProtoMessage() {} - -func (x *InferClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InferClause.ProtoReflect.Descriptor instead. -func (*InferClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{110} -} - -func (x *InferClause) GetIndexElems() []*Node { +func (x *RTEPermissionInfo) GetInsertedCols() []uint64 { if x != nil { - return x.IndexElems + return x.InsertedCols } return nil } -func (x *InferClause) GetWhereClause() *Node { +func (x *RTEPermissionInfo) GetUpdatedCols() []uint64 { if x != nil { - return x.WhereClause + return x.UpdatedCols } return nil } -func (x *InferClause) GetConname() string { - if x != nil { - return x.Conname - } - return "" -} - -func (x *InferClause) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type OnConflictClause struct { +type RangeTblFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` - Infer *InferClause `protobuf:"bytes,2,opt,name=infer,proto3" json:"infer,omitempty"` - TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - WhereClause *Node `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Funcexpr *Node `protobuf:"bytes,1,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` + Funccolcount int32 `protobuf:"varint,2,opt,name=funccolcount,proto3" json:"funccolcount,omitempty"` + Funccolnames []*Node `protobuf:"bytes,3,rep,name=funccolnames,proto3" json:"funccolnames,omitempty"` + Funccoltypes []*Node `protobuf:"bytes,4,rep,name=funccoltypes,proto3" json:"funccoltypes,omitempty"` + Funccoltypmods []*Node `protobuf:"bytes,5,rep,name=funccoltypmods,proto3" json:"funccoltypmods,omitempty"` + Funccolcollations []*Node `protobuf:"bytes,6,rep,name=funccolcollations,proto3" json:"funccolcollations,omitempty"` + Funcparams []uint64 `protobuf:"varint,7,rep,packed,name=funcparams,proto3" json:"funcparams,omitempty"` } -func (x *OnConflictClause) Reset() { - *x = OnConflictClause{} +func (x *RangeTblFunction) Reset() { + *x = RangeTblFunction{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -18840,13 +19552,13 @@ func (x *OnConflictClause) Reset() { } } -func (x *OnConflictClause) String() string { +func (x *RangeTblFunction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OnConflictClause) ProtoMessage() {} +func (*RangeTblFunction) ProtoMessage() {} -func (x *OnConflictClause) ProtoReflect() protoreflect.Message { +func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -18858,59 +19570,72 @@ func (x *OnConflictClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OnConflictClause.ProtoReflect.Descriptor instead. -func (*OnConflictClause) Descriptor() ([]byte, []int) { +// Deprecated: Use RangeTblFunction.ProtoReflect.Descriptor instead. +func (*RangeTblFunction) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{111} } -func (x *OnConflictClause) GetAction() OnConflictAction { +func (x *RangeTblFunction) GetFuncexpr() *Node { if x != nil { - return x.Action + return x.Funcexpr } - return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED + return nil } -func (x *OnConflictClause) GetInfer() *InferClause { +func (x *RangeTblFunction) GetFunccolcount() int32 { if x != nil { - return x.Infer + return x.Funccolcount + } + return 0 +} + +func (x *RangeTblFunction) GetFunccolnames() []*Node { + if x != nil { + return x.Funccolnames } return nil } -func (x *OnConflictClause) GetTargetList() []*Node { +func (x *RangeTblFunction) GetFunccoltypes() []*Node { if x != nil { - return x.TargetList + return x.Funccoltypes } return nil } -func (x *OnConflictClause) GetWhereClause() *Node { +func (x *RangeTblFunction) GetFunccoltypmods() []*Node { if x != nil { - return x.WhereClause + return x.Funccoltypmods } return nil } -func (x *OnConflictClause) GetLocation() int32 { +func (x *RangeTblFunction) GetFunccolcollations() []*Node { if x != nil { - return x.Location + return x.Funccolcollations } - return 0 + return nil } -type CTESearchClause struct { +func (x *RangeTblFunction) GetFuncparams() []uint64 { + if x != nil { + return x.Funcparams + } + return nil +} + +type TableSampleClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SearchColList []*Node `protobuf:"bytes,1,rep,name=search_col_list,proto3" json:"search_col_list,omitempty"` - SearchBreadthFirst bool `protobuf:"varint,2,opt,name=search_breadth_first,proto3" json:"search_breadth_first,omitempty"` - SearchSeqColumn string `protobuf:"bytes,3,opt,name=search_seq_column,proto3" json:"search_seq_column,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Tsmhandler uint32 `protobuf:"varint,1,opt,name=tsmhandler,proto3" json:"tsmhandler,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + Repeatable *Node `protobuf:"bytes,3,opt,name=repeatable,proto3" json:"repeatable,omitempty"` } -func (x *CTESearchClause) Reset() { - *x = CTESearchClause{} +func (x *TableSampleClause) Reset() { + *x = TableSampleClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -18918,13 +19643,13 @@ func (x *CTESearchClause) Reset() { } } -func (x *CTESearchClause) String() string { +func (x *TableSampleClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CTESearchClause) ProtoMessage() {} +func (*TableSampleClause) ProtoMessage() {} -func (x *CTESearchClause) ProtoReflect() protoreflect.Message { +func (x *TableSampleClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -18936,58 +19661,46 @@ func (x *CTESearchClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CTESearchClause.ProtoReflect.Descriptor instead. -func (*CTESearchClause) Descriptor() ([]byte, []int) { +// Deprecated: Use TableSampleClause.ProtoReflect.Descriptor instead. +func (*TableSampleClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{112} } -func (x *CTESearchClause) GetSearchColList() []*Node { - if x != nil { - return x.SearchColList - } - return nil -} - -func (x *CTESearchClause) GetSearchBreadthFirst() bool { +func (x *TableSampleClause) GetTsmhandler() uint32 { if x != nil { - return x.SearchBreadthFirst + return x.Tsmhandler } - return false + return 0 } -func (x *CTESearchClause) GetSearchSeqColumn() string { +func (x *TableSampleClause) GetArgs() []*Node { if x != nil { - return x.SearchSeqColumn + return x.Args } - return "" + return nil } -func (x *CTESearchClause) GetLocation() int32 { +func (x *TableSampleClause) GetRepeatable() *Node { if x != nil { - return x.Location + return x.Repeatable } - return 0 + return nil } -type CTECycleClause struct { +type WithCheckOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CycleColList []*Node `protobuf:"bytes,1,rep,name=cycle_col_list,proto3" json:"cycle_col_list,omitempty"` - CycleMarkColumn string `protobuf:"bytes,2,opt,name=cycle_mark_column,proto3" json:"cycle_mark_column,omitempty"` - CycleMarkValue *Node `protobuf:"bytes,3,opt,name=cycle_mark_value,proto3" json:"cycle_mark_value,omitempty"` - CycleMarkDefault *Node `protobuf:"bytes,4,opt,name=cycle_mark_default,proto3" json:"cycle_mark_default,omitempty"` - CyclePathColumn string `protobuf:"bytes,5,opt,name=cycle_path_column,proto3" json:"cycle_path_column,omitempty"` - Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` - CycleMarkType uint32 `protobuf:"varint,7,opt,name=cycle_mark_type,proto3" json:"cycle_mark_type,omitempty"` - CycleMarkTypmod int32 `protobuf:"varint,8,opt,name=cycle_mark_typmod,proto3" json:"cycle_mark_typmod,omitempty"` - CycleMarkCollation uint32 `protobuf:"varint,9,opt,name=cycle_mark_collation,proto3" json:"cycle_mark_collation,omitempty"` - CycleMarkNeop uint32 `protobuf:"varint,10,opt,name=cycle_mark_neop,proto3" json:"cycle_mark_neop,omitempty"` + Kind WCOKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.WCOKind" json:"kind,omitempty"` + Relname string `protobuf:"bytes,2,opt,name=relname,proto3" json:"relname,omitempty"` + Polname string `protobuf:"bytes,3,opt,name=polname,proto3" json:"polname,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + Cascaded bool `protobuf:"varint,5,opt,name=cascaded,proto3" json:"cascaded,omitempty"` } -func (x *CTECycleClause) Reset() { - *x = CTECycleClause{} +func (x *WithCheckOption) Reset() { + *x = WithCheckOption{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -18995,13 +19708,13 @@ func (x *CTECycleClause) Reset() { } } -func (x *CTECycleClause) String() string { +func (x *WithCheckOption) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CTECycleClause) ProtoMessage() {} +func (*WithCheckOption) ProtoMessage() {} -func (x *CTECycleClause) ProtoReflect() protoreflect.Message { +func (x *WithCheckOption) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19013,117 +19726,74 @@ func (x *CTECycleClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CTECycleClause.ProtoReflect.Descriptor instead. -func (*CTECycleClause) Descriptor() ([]byte, []int) { +// Deprecated: Use WithCheckOption.ProtoReflect.Descriptor instead. +func (*WithCheckOption) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{113} } -func (x *CTECycleClause) GetCycleColList() []*Node { +func (x *WithCheckOption) GetKind() WCOKind { if x != nil { - return x.CycleColList + return x.Kind } - return nil + return WCOKind_WCOKIND_UNDEFINED } -func (x *CTECycleClause) GetCycleMarkColumn() string { +func (x *WithCheckOption) GetRelname() string { if x != nil { - return x.CycleMarkColumn + return x.Relname } return "" } -func (x *CTECycleClause) GetCycleMarkValue() *Node { +func (x *WithCheckOption) GetPolname() string { if x != nil { - return x.CycleMarkValue + return x.Polname } - return nil + return "" } -func (x *CTECycleClause) GetCycleMarkDefault() *Node { +func (x *WithCheckOption) GetQual() *Node { if x != nil { - return x.CycleMarkDefault + return x.Qual } return nil } -func (x *CTECycleClause) GetCyclePathColumn() string { +func (x *WithCheckOption) GetCascaded() bool { if x != nil { - return x.CyclePathColumn + return x.Cascaded } - return "" + return false } -func (x *CTECycleClause) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} +type SortGroupClause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *CTECycleClause) GetCycleMarkType() uint32 { - if x != nil { - return x.CycleMarkType - } - return 0 + TleSortGroupRef uint32 `protobuf:"varint,1,opt,name=tle_sort_group_ref,json=tleSortGroupRef,proto3" json:"tle_sort_group_ref,omitempty"` + Eqop uint32 `protobuf:"varint,2,opt,name=eqop,proto3" json:"eqop,omitempty"` + Sortop uint32 `protobuf:"varint,3,opt,name=sortop,proto3" json:"sortop,omitempty"` + NullsFirst bool `protobuf:"varint,4,opt,name=nulls_first,proto3" json:"nulls_first,omitempty"` + Hashable bool `protobuf:"varint,5,opt,name=hashable,proto3" json:"hashable,omitempty"` } -func (x *CTECycleClause) GetCycleMarkTypmod() int32 { - if x != nil { - return x.CycleMarkTypmod +func (x *SortGroupClause) Reset() { + *x = SortGroupClause{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *CTECycleClause) GetCycleMarkCollation() uint32 { - if x != nil { - return x.CycleMarkCollation - } - return 0 +func (x *SortGroupClause) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CTECycleClause) GetCycleMarkNeop() uint32 { - if x != nil { - return x.CycleMarkNeop - } - return 0 -} - -type CommonTableExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Ctename string `protobuf:"bytes,1,opt,name=ctename,proto3" json:"ctename,omitempty"` - Aliascolnames []*Node `protobuf:"bytes,2,rep,name=aliascolnames,proto3" json:"aliascolnames,omitempty"` - Ctematerialized CTEMaterialize `protobuf:"varint,3,opt,name=ctematerialized,proto3,enum=pg_query.CTEMaterialize" json:"ctematerialized,omitempty"` - Ctequery *Node `protobuf:"bytes,4,opt,name=ctequery,proto3" json:"ctequery,omitempty"` - SearchClause *CTESearchClause `protobuf:"bytes,5,opt,name=search_clause,proto3" json:"search_clause,omitempty"` - CycleClause *CTECycleClause `protobuf:"bytes,6,opt,name=cycle_clause,proto3" json:"cycle_clause,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` - Cterecursive bool `protobuf:"varint,8,opt,name=cterecursive,proto3" json:"cterecursive,omitempty"` - Cterefcount int32 `protobuf:"varint,9,opt,name=cterefcount,proto3" json:"cterefcount,omitempty"` - Ctecolnames []*Node `protobuf:"bytes,10,rep,name=ctecolnames,proto3" json:"ctecolnames,omitempty"` - Ctecoltypes []*Node `protobuf:"bytes,11,rep,name=ctecoltypes,proto3" json:"ctecoltypes,omitempty"` - Ctecoltypmods []*Node `protobuf:"bytes,12,rep,name=ctecoltypmods,proto3" json:"ctecoltypmods,omitempty"` - Ctecolcollations []*Node `protobuf:"bytes,13,rep,name=ctecolcollations,proto3" json:"ctecolcollations,omitempty"` -} - -func (x *CommonTableExpr) Reset() { - *x = CommonTableExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonTableExpr) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonTableExpr) ProtoMessage() {} +func (*SortGroupClause) ProtoMessage() {} -func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { +func (x *SortGroupClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19135,117 +19805,58 @@ func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CommonTableExpr.ProtoReflect.Descriptor instead. -func (*CommonTableExpr) Descriptor() ([]byte, []int) { +// Deprecated: Use SortGroupClause.ProtoReflect.Descriptor instead. +func (*SortGroupClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{114} } -func (x *CommonTableExpr) GetCtename() string { - if x != nil { - return x.Ctename - } - return "" -} - -func (x *CommonTableExpr) GetAliascolnames() []*Node { - if x != nil { - return x.Aliascolnames - } - return nil -} - -func (x *CommonTableExpr) GetCtematerialized() CTEMaterialize { - if x != nil { - return x.Ctematerialized - } - return CTEMaterialize_CTEMATERIALIZE_UNDEFINED -} - -func (x *CommonTableExpr) GetCtequery() *Node { - if x != nil { - return x.Ctequery - } - return nil -} - -func (x *CommonTableExpr) GetSearchClause() *CTESearchClause { - if x != nil { - return x.SearchClause - } - return nil -} - -func (x *CommonTableExpr) GetCycleClause() *CTECycleClause { - if x != nil { - return x.CycleClause - } - return nil -} - -func (x *CommonTableExpr) GetLocation() int32 { +func (x *SortGroupClause) GetTleSortGroupRef() uint32 { if x != nil { - return x.Location + return x.TleSortGroupRef } return 0 } -func (x *CommonTableExpr) GetCterecursive() bool { - if x != nil { - return x.Cterecursive - } - return false -} - -func (x *CommonTableExpr) GetCterefcount() int32 { +func (x *SortGroupClause) GetEqop() uint32 { if x != nil { - return x.Cterefcount + return x.Eqop } return 0 } -func (x *CommonTableExpr) GetCtecolnames() []*Node { - if x != nil { - return x.Ctecolnames - } - return nil -} - -func (x *CommonTableExpr) GetCtecoltypes() []*Node { +func (x *SortGroupClause) GetSortop() uint32 { if x != nil { - return x.Ctecoltypes + return x.Sortop } - return nil + return 0 } -func (x *CommonTableExpr) GetCtecoltypmods() []*Node { +func (x *SortGroupClause) GetNullsFirst() bool { if x != nil { - return x.Ctecoltypmods + return x.NullsFirst } - return nil + return false } -func (x *CommonTableExpr) GetCtecolcollations() []*Node { +func (x *SortGroupClause) GetHashable() bool { if x != nil { - return x.Ctecolcollations + return x.Hashable } - return nil + return false } -type MergeWhenClause struct { +type GroupingSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Matched bool `protobuf:"varint,1,opt,name=matched,proto3" json:"matched,omitempty"` - CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - Condition *Node `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"` - TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - Values []*Node `protobuf:"bytes,6,rep,name=values,proto3" json:"values,omitempty"` + Kind GroupingSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.GroupingSetKind" json:"kind,omitempty"` + Content []*Node `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MergeWhenClause) Reset() { - *x = MergeWhenClause{} +func (x *GroupingSet) Reset() { + *x = GroupingSet{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19253,13 +19864,13 @@ func (x *MergeWhenClause) Reset() { } } -func (x *MergeWhenClause) String() string { +func (x *GroupingSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MergeWhenClause) ProtoMessage() {} +func (*GroupingSet) ProtoMessage() {} -func (x *MergeWhenClause) ProtoReflect() protoreflect.Message { +func (x *GroupingSet) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19271,68 +19882,55 @@ func (x *MergeWhenClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MergeWhenClause.ProtoReflect.Descriptor instead. -func (*MergeWhenClause) Descriptor() ([]byte, []int) { +// Deprecated: Use GroupingSet.ProtoReflect.Descriptor instead. +func (*GroupingSet) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{115} } -func (x *MergeWhenClause) GetMatched() bool { - if x != nil { - return x.Matched - } - return false -} - -func (x *MergeWhenClause) GetCommandType() CmdType { - if x != nil { - return x.CommandType - } - return CmdType_CMD_TYPE_UNDEFINED -} - -func (x *MergeWhenClause) GetOverride() OverridingKind { - if x != nil { - return x.Override - } - return OverridingKind_OVERRIDING_KIND_UNDEFINED -} - -func (x *MergeWhenClause) GetCondition() *Node { +func (x *GroupingSet) GetKind() GroupingSetKind { if x != nil { - return x.Condition + return x.Kind } - return nil + return GroupingSetKind_GROUPING_SET_KIND_UNDEFINED } -func (x *MergeWhenClause) GetTargetList() []*Node { +func (x *GroupingSet) GetContent() []*Node { if x != nil { - return x.TargetList + return x.Content } return nil } -func (x *MergeWhenClause) GetValues() []*Node { +func (x *GroupingSet) GetLocation() int32 { if x != nil { - return x.Values + return x.Location } - return nil + return 0 } -type MergeAction struct { +type WindowClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Matched bool `protobuf:"varint,1,opt,name=matched,proto3" json:"matched,omitempty"` - CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - UpdateColnos []*Node `protobuf:"bytes,6,rep,name=update_colnos,json=updateColnos,proto3" json:"update_colnos,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` + PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` + OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` + FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` + StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` + EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` + StartInRangeFunc uint32 `protobuf:"varint,8,opt,name=start_in_range_func,json=startInRangeFunc,proto3" json:"start_in_range_func,omitempty"` + EndInRangeFunc uint32 `protobuf:"varint,9,opt,name=end_in_range_func,json=endInRangeFunc,proto3" json:"end_in_range_func,omitempty"` + InRangeColl uint32 `protobuf:"varint,10,opt,name=in_range_coll,json=inRangeColl,proto3" json:"in_range_coll,omitempty"` + InRangeAsc bool `protobuf:"varint,11,opt,name=in_range_asc,json=inRangeAsc,proto3" json:"in_range_asc,omitempty"` + InRangeNullsFirst bool `protobuf:"varint,12,opt,name=in_range_nulls_first,json=inRangeNullsFirst,proto3" json:"in_range_nulls_first,omitempty"` + Winref uint32 `protobuf:"varint,13,opt,name=winref,proto3" json:"winref,omitempty"` + CopiedOrder bool `protobuf:"varint,14,opt,name=copied_order,json=copiedOrder,proto3" json:"copied_order,omitempty"` } -func (x *MergeAction) Reset() { - *x = MergeAction{} +func (x *WindowClause) Reset() { + *x = WindowClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19340,13 +19938,13 @@ func (x *MergeAction) Reset() { } } -func (x *MergeAction) String() string { +func (x *WindowClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MergeAction) ProtoMessage() {} +func (*WindowClause) ProtoMessage() {} -func (x *MergeAction) ProtoReflect() protoreflect.Message { +func (x *WindowClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19358,65 +19956,122 @@ func (x *MergeAction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MergeAction.ProtoReflect.Descriptor instead. -func (*MergeAction) Descriptor() ([]byte, []int) { +// Deprecated: Use WindowClause.ProtoReflect.Descriptor instead. +func (*WindowClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{116} } -func (x *MergeAction) GetMatched() bool { +func (x *WindowClause) GetName() string { if x != nil { - return x.Matched + return x.Name } - return false + return "" } -func (x *MergeAction) GetCommandType() CmdType { +func (x *WindowClause) GetRefname() string { if x != nil { - return x.CommandType + return x.Refname } - return CmdType_CMD_TYPE_UNDEFINED + return "" } -func (x *MergeAction) GetOverride() OverridingKind { +func (x *WindowClause) GetPartitionClause() []*Node { if x != nil { - return x.Override + return x.PartitionClause } - return OverridingKind_OVERRIDING_KIND_UNDEFINED + return nil } -func (x *MergeAction) GetQual() *Node { +func (x *WindowClause) GetOrderClause() []*Node { if x != nil { - return x.Qual + return x.OrderClause } return nil } -func (x *MergeAction) GetTargetList() []*Node { +func (x *WindowClause) GetFrameOptions() int32 { if x != nil { - return x.TargetList + return x.FrameOptions } - return nil + return 0 } -func (x *MergeAction) GetUpdateColnos() []*Node { +func (x *WindowClause) GetStartOffset() *Node { if x != nil { - return x.UpdateColnos + return x.StartOffset } return nil } -type TriggerTransition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - IsNew bool `protobuf:"varint,2,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"` - IsTable bool `protobuf:"varint,3,opt,name=is_table,json=isTable,proto3" json:"is_table,omitempty"` +func (x *WindowClause) GetEndOffset() *Node { + if x != nil { + return x.EndOffset + } + return nil } -func (x *TriggerTransition) Reset() { - *x = TriggerTransition{} +func (x *WindowClause) GetStartInRangeFunc() uint32 { + if x != nil { + return x.StartInRangeFunc + } + return 0 +} + +func (x *WindowClause) GetEndInRangeFunc() uint32 { + if x != nil { + return x.EndInRangeFunc + } + return 0 +} + +func (x *WindowClause) GetInRangeColl() uint32 { + if x != nil { + return x.InRangeColl + } + return 0 +} + +func (x *WindowClause) GetInRangeAsc() bool { + if x != nil { + return x.InRangeAsc + } + return false +} + +func (x *WindowClause) GetInRangeNullsFirst() bool { + if x != nil { + return x.InRangeNullsFirst + } + return false +} + +func (x *WindowClause) GetWinref() uint32 { + if x != nil { + return x.Winref + } + return 0 +} + +func (x *WindowClause) GetCopiedOrder() bool { + if x != nil { + return x.CopiedOrder + } + return false +} + +type RowMarkClause struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rti uint32 `protobuf:"varint,1,opt,name=rti,proto3" json:"rti,omitempty"` + Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` + WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` + PushedDown bool `protobuf:"varint,4,opt,name=pushed_down,json=pushedDown,proto3" json:"pushed_down,omitempty"` +} + +func (x *RowMarkClause) Reset() { + *x = RowMarkClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19424,13 +20079,13 @@ func (x *TriggerTransition) Reset() { } } -func (x *TriggerTransition) String() string { +func (x *RowMarkClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TriggerTransition) ProtoMessage() {} +func (*RowMarkClause) ProtoMessage() {} -func (x *TriggerTransition) ProtoReflect() protoreflect.Message { +func (x *RowMarkClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19442,43 +20097,51 @@ func (x *TriggerTransition) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TriggerTransition.ProtoReflect.Descriptor instead. -func (*TriggerTransition) Descriptor() ([]byte, []int) { +// Deprecated: Use RowMarkClause.ProtoReflect.Descriptor instead. +func (*RowMarkClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{117} } -func (x *TriggerTransition) GetName() string { +func (x *RowMarkClause) GetRti() uint32 { if x != nil { - return x.Name + return x.Rti } - return "" + return 0 } -func (x *TriggerTransition) GetIsNew() bool { +func (x *RowMarkClause) GetStrength() LockClauseStrength { if x != nil { - return x.IsNew + return x.Strength } - return false + return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED } -func (x *TriggerTransition) GetIsTable() bool { +func (x *RowMarkClause) GetWaitPolicy() LockWaitPolicy { if x != nil { - return x.IsTable + return x.WaitPolicy + } + return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED +} + +func (x *RowMarkClause) GetPushedDown() bool { + if x != nil { + return x.PushedDown } return false } -type JsonOutput struct { +type WithClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName *TypeName `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Returning *JsonReturning `protobuf:"bytes,2,opt,name=returning,proto3" json:"returning,omitempty"` + Ctes []*Node `protobuf:"bytes,1,rep,name=ctes,proto3" json:"ctes,omitempty"` + Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JsonOutput) Reset() { - *x = JsonOutput{} +func (x *WithClause) Reset() { + *x = WithClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19486,13 +20149,13 @@ func (x *JsonOutput) Reset() { } } -func (x *JsonOutput) String() string { +func (x *WithClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonOutput) ProtoMessage() {} +func (*WithClause) ProtoMessage() {} -func (x *JsonOutput) ProtoReflect() protoreflect.Message { +func (x *WithClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19504,36 +20167,45 @@ func (x *JsonOutput) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonOutput.ProtoReflect.Descriptor instead. -func (*JsonOutput) Descriptor() ([]byte, []int) { +// Deprecated: Use WithClause.ProtoReflect.Descriptor instead. +func (*WithClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{118} } -func (x *JsonOutput) GetTypeName() *TypeName { +func (x *WithClause) GetCtes() []*Node { if x != nil { - return x.TypeName + return x.Ctes } return nil } -func (x *JsonOutput) GetReturning() *JsonReturning { +func (x *WithClause) GetRecursive() bool { if x != nil { - return x.Returning + return x.Recursive } - return nil + return false } -type JsonKeyValue struct { +func (x *WithClause) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type InferClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key *Node `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value *JsonValueExpr `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + IndexElems []*Node `protobuf:"bytes,1,rep,name=index_elems,json=indexElems,proto3" json:"index_elems,omitempty"` + WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Conname string `protobuf:"bytes,3,opt,name=conname,proto3" json:"conname,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JsonKeyValue) Reset() { - *x = JsonKeyValue{} +func (x *InferClause) Reset() { + *x = InferClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19541,13 +20213,13 @@ func (x *JsonKeyValue) Reset() { } } -func (x *JsonKeyValue) String() string { +func (x *InferClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonKeyValue) ProtoMessage() {} +func (*InferClause) ProtoMessage() {} -func (x *JsonKeyValue) ProtoReflect() protoreflect.Message { +func (x *InferClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19559,39 +20231,53 @@ func (x *JsonKeyValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonKeyValue.ProtoReflect.Descriptor instead. -func (*JsonKeyValue) Descriptor() ([]byte, []int) { +// Deprecated: Use InferClause.ProtoReflect.Descriptor instead. +func (*InferClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{119} } -func (x *JsonKeyValue) GetKey() *Node { +func (x *InferClause) GetIndexElems() []*Node { if x != nil { - return x.Key + return x.IndexElems } return nil } -func (x *JsonKeyValue) GetValue() *JsonValueExpr { +func (x *InferClause) GetWhereClause() *Node { if x != nil { - return x.Value + return x.WhereClause } return nil } -type JsonObjectConstructor struct { +func (x *InferClause) GetConname() string { + if x != nil { + return x.Conname + } + return "" +} + +func (x *InferClause) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type OnConflictClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` - Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` - AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` - Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` + Infer *InferClause `protobuf:"bytes,2,opt,name=infer,proto3" json:"infer,omitempty"` + TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + WhereClause *Node `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JsonObjectConstructor) Reset() { - *x = JsonObjectConstructor{} +func (x *OnConflictClause) Reset() { + *x = OnConflictClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19599,13 +20285,13 @@ func (x *JsonObjectConstructor) Reset() { } } -func (x *JsonObjectConstructor) String() string { +func (x *OnConflictClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonObjectConstructor) ProtoMessage() {} +func (*OnConflictClause) ProtoMessage() {} -func (x *JsonObjectConstructor) ProtoReflect() protoreflect.Message { +func (x *OnConflictClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19617,59 +20303,59 @@ func (x *JsonObjectConstructor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonObjectConstructor.ProtoReflect.Descriptor instead. -func (*JsonObjectConstructor) Descriptor() ([]byte, []int) { +// Deprecated: Use OnConflictClause.ProtoReflect.Descriptor instead. +func (*OnConflictClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{120} } -func (x *JsonObjectConstructor) GetExprs() []*Node { +func (x *OnConflictClause) GetAction() OnConflictAction { if x != nil { - return x.Exprs + return x.Action } - return nil + return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED } -func (x *JsonObjectConstructor) GetOutput() *JsonOutput { +func (x *OnConflictClause) GetInfer() *InferClause { if x != nil { - return x.Output + return x.Infer } return nil } -func (x *JsonObjectConstructor) GetAbsentOnNull() bool { +func (x *OnConflictClause) GetTargetList() []*Node { if x != nil { - return x.AbsentOnNull + return x.TargetList } - return false + return nil } -func (x *JsonObjectConstructor) GetUnique() bool { +func (x *OnConflictClause) GetWhereClause() *Node { if x != nil { - return x.Unique + return x.WhereClause } - return false + return nil } -func (x *JsonObjectConstructor) GetLocation() int32 { +func (x *OnConflictClause) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type JsonArrayConstructor struct { +type CTESearchClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` - Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` - AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + SearchColList []*Node `protobuf:"bytes,1,rep,name=search_col_list,proto3" json:"search_col_list,omitempty"` + SearchBreadthFirst bool `protobuf:"varint,2,opt,name=search_breadth_first,proto3" json:"search_breadth_first,omitempty"` + SearchSeqColumn string `protobuf:"bytes,3,opt,name=search_seq_column,proto3" json:"search_seq_column,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JsonArrayConstructor) Reset() { - *x = JsonArrayConstructor{} +func (x *CTESearchClause) Reset() { + *x = CTESearchClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19677,13 +20363,13 @@ func (x *JsonArrayConstructor) Reset() { } } -func (x *JsonArrayConstructor) String() string { +func (x *CTESearchClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonArrayConstructor) ProtoMessage() {} +func (*CTESearchClause) ProtoMessage() {} -func (x *JsonArrayConstructor) ProtoReflect() protoreflect.Message { +func (x *CTESearchClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19695,53 +20381,58 @@ func (x *JsonArrayConstructor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonArrayConstructor.ProtoReflect.Descriptor instead. -func (*JsonArrayConstructor) Descriptor() ([]byte, []int) { +// Deprecated: Use CTESearchClause.ProtoReflect.Descriptor instead. +func (*CTESearchClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{121} } -func (x *JsonArrayConstructor) GetExprs() []*Node { +func (x *CTESearchClause) GetSearchColList() []*Node { if x != nil { - return x.Exprs + return x.SearchColList } return nil } -func (x *JsonArrayConstructor) GetOutput() *JsonOutput { +func (x *CTESearchClause) GetSearchBreadthFirst() bool { if x != nil { - return x.Output + return x.SearchBreadthFirst } - return nil + return false } -func (x *JsonArrayConstructor) GetAbsentOnNull() bool { +func (x *CTESearchClause) GetSearchSeqColumn() string { if x != nil { - return x.AbsentOnNull + return x.SearchSeqColumn } - return false + return "" } -func (x *JsonArrayConstructor) GetLocation() int32 { +func (x *CTESearchClause) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type JsonArrayQueryConstructor struct { +type CTECycleClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` - Format *JsonFormat `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"` - AbsentOnNull bool `protobuf:"varint,4,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + CycleColList []*Node `protobuf:"bytes,1,rep,name=cycle_col_list,proto3" json:"cycle_col_list,omitempty"` + CycleMarkColumn string `protobuf:"bytes,2,opt,name=cycle_mark_column,proto3" json:"cycle_mark_column,omitempty"` + CycleMarkValue *Node `protobuf:"bytes,3,opt,name=cycle_mark_value,proto3" json:"cycle_mark_value,omitempty"` + CycleMarkDefault *Node `protobuf:"bytes,4,opt,name=cycle_mark_default,proto3" json:"cycle_mark_default,omitempty"` + CyclePathColumn string `protobuf:"bytes,5,opt,name=cycle_path_column,proto3" json:"cycle_path_column,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` + CycleMarkType uint32 `protobuf:"varint,7,opt,name=cycle_mark_type,proto3" json:"cycle_mark_type,omitempty"` + CycleMarkTypmod int32 `protobuf:"varint,8,opt,name=cycle_mark_typmod,proto3" json:"cycle_mark_typmod,omitempty"` + CycleMarkCollation uint32 `protobuf:"varint,9,opt,name=cycle_mark_collation,proto3" json:"cycle_mark_collation,omitempty"` + CycleMarkNeop uint32 `protobuf:"varint,10,opt,name=cycle_mark_neop,proto3" json:"cycle_mark_neop,omitempty"` } -func (x *JsonArrayQueryConstructor) Reset() { - *x = JsonArrayQueryConstructor{} +func (x *CTECycleClause) Reset() { + *x = CTECycleClause{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19749,13 +20440,13 @@ func (x *JsonArrayQueryConstructor) Reset() { } } -func (x *JsonArrayQueryConstructor) String() string { +func (x *CTECycleClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonArrayQueryConstructor) ProtoMessage() {} +func (*CTECycleClause) ProtoMessage() {} -func (x *JsonArrayQueryConstructor) ProtoReflect() protoreflect.Message { +func (x *CTECycleClause) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19767,60 +20458,103 @@ func (x *JsonArrayQueryConstructor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonArrayQueryConstructor.ProtoReflect.Descriptor instead. -func (*JsonArrayQueryConstructor) Descriptor() ([]byte, []int) { +// Deprecated: Use CTECycleClause.ProtoReflect.Descriptor instead. +func (*CTECycleClause) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{122} } -func (x *JsonArrayQueryConstructor) GetQuery() *Node { +func (x *CTECycleClause) GetCycleColList() []*Node { if x != nil { - return x.Query + return x.CycleColList } return nil } -func (x *JsonArrayQueryConstructor) GetOutput() *JsonOutput { +func (x *CTECycleClause) GetCycleMarkColumn() string { if x != nil { - return x.Output + return x.CycleMarkColumn + } + return "" +} + +func (x *CTECycleClause) GetCycleMarkValue() *Node { + if x != nil { + return x.CycleMarkValue } return nil } -func (x *JsonArrayQueryConstructor) GetFormat() *JsonFormat { +func (x *CTECycleClause) GetCycleMarkDefault() *Node { if x != nil { - return x.Format + return x.CycleMarkDefault } return nil } -func (x *JsonArrayQueryConstructor) GetAbsentOnNull() bool { +func (x *CTECycleClause) GetCyclePathColumn() string { if x != nil { - return x.AbsentOnNull + return x.CyclePathColumn } - return false + return "" } -func (x *JsonArrayQueryConstructor) GetLocation() int32 { +func (x *CTECycleClause) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type JsonAggConstructor struct { +func (x *CTECycleClause) GetCycleMarkType() uint32 { + if x != nil { + return x.CycleMarkType + } + return 0 +} + +func (x *CTECycleClause) GetCycleMarkTypmod() int32 { + if x != nil { + return x.CycleMarkTypmod + } + return 0 +} + +func (x *CTECycleClause) GetCycleMarkCollation() uint32 { + if x != nil { + return x.CycleMarkCollation + } + return 0 +} + +func (x *CTECycleClause) GetCycleMarkNeop() uint32 { + if x != nil { + return x.CycleMarkNeop + } + return 0 +} + +type CommonTableExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Output *JsonOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` - AggFilter *Node `protobuf:"bytes,2,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` - AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` - Over *WindowDef `protobuf:"bytes,4,opt,name=over,proto3" json:"over,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Ctename string `protobuf:"bytes,1,opt,name=ctename,proto3" json:"ctename,omitempty"` + Aliascolnames []*Node `protobuf:"bytes,2,rep,name=aliascolnames,proto3" json:"aliascolnames,omitempty"` + Ctematerialized CTEMaterialize `protobuf:"varint,3,opt,name=ctematerialized,proto3,enum=pg_query.CTEMaterialize" json:"ctematerialized,omitempty"` + Ctequery *Node `protobuf:"bytes,4,opt,name=ctequery,proto3" json:"ctequery,omitempty"` + SearchClause *CTESearchClause `protobuf:"bytes,5,opt,name=search_clause,proto3" json:"search_clause,omitempty"` + CycleClause *CTECycleClause `protobuf:"bytes,6,opt,name=cycle_clause,proto3" json:"cycle_clause,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Cterecursive bool `protobuf:"varint,8,opt,name=cterecursive,proto3" json:"cterecursive,omitempty"` + Cterefcount int32 `protobuf:"varint,9,opt,name=cterefcount,proto3" json:"cterefcount,omitempty"` + Ctecolnames []*Node `protobuf:"bytes,10,rep,name=ctecolnames,proto3" json:"ctecolnames,omitempty"` + Ctecoltypes []*Node `protobuf:"bytes,11,rep,name=ctecoltypes,proto3" json:"ctecoltypes,omitempty"` + Ctecoltypmods []*Node `protobuf:"bytes,12,rep,name=ctecoltypmods,proto3" json:"ctecoltypmods,omitempty"` + Ctecolcollations []*Node `protobuf:"bytes,13,rep,name=ctecolcollations,proto3" json:"ctecolcollations,omitempty"` } -func (x *JsonAggConstructor) Reset() { - *x = JsonAggConstructor{} +func (x *CommonTableExpr) Reset() { + *x = CommonTableExpr{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19828,13 +20562,13 @@ func (x *JsonAggConstructor) Reset() { } } -func (x *JsonAggConstructor) String() string { +func (x *CommonTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonAggConstructor) ProtoMessage() {} +func (*CommonTableExpr) ProtoMessage() {} -func (x *JsonAggConstructor) ProtoReflect() protoreflect.Message { +func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -19846,144 +20580,132 @@ func (x *JsonAggConstructor) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonAggConstructor.ProtoReflect.Descriptor instead. -func (*JsonAggConstructor) Descriptor() ([]byte, []int) { +// Deprecated: Use CommonTableExpr.ProtoReflect.Descriptor instead. +func (*CommonTableExpr) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{123} } -func (x *JsonAggConstructor) GetOutput() *JsonOutput { +func (x *CommonTableExpr) GetCtename() string { if x != nil { - return x.Output + return x.Ctename } - return nil + return "" } -func (x *JsonAggConstructor) GetAggFilter() *Node { +func (x *CommonTableExpr) GetAliascolnames() []*Node { if x != nil { - return x.AggFilter + return x.Aliascolnames } return nil } -func (x *JsonAggConstructor) GetAggOrder() []*Node { +func (x *CommonTableExpr) GetCtematerialized() CTEMaterialize { if x != nil { - return x.AggOrder + return x.Ctematerialized } - return nil + return CTEMaterialize_CTEMATERIALIZE_UNDEFINED } -func (x *JsonAggConstructor) GetOver() *WindowDef { +func (x *CommonTableExpr) GetCtequery() *Node { if x != nil { - return x.Over + return x.Ctequery } return nil } -func (x *JsonAggConstructor) GetLocation() int32 { +func (x *CommonTableExpr) GetSearchClause() *CTESearchClause { if x != nil { - return x.Location + return x.SearchClause } - return 0 -} - -type JsonObjectAgg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` - Arg *JsonKeyValue `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` - Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` + return nil } -func (x *JsonObjectAgg) Reset() { - *x = JsonObjectAgg{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CommonTableExpr) GetCycleClause() *CTECycleClause { + if x != nil { + return x.CycleClause } + return nil } -func (x *JsonObjectAgg) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CommonTableExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 } -func (*JsonObjectAgg) ProtoMessage() {} - -func (x *JsonObjectAgg) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CommonTableExpr) GetCterecursive() bool { + if x != nil { + return x.Cterecursive } - return mi.MessageOf(x) + return false } -// Deprecated: Use JsonObjectAgg.ProtoReflect.Descriptor instead. -func (*JsonObjectAgg) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{124} +func (x *CommonTableExpr) GetCterefcount() int32 { + if x != nil { + return x.Cterefcount + } + return 0 } -func (x *JsonObjectAgg) GetConstructor() *JsonAggConstructor { +func (x *CommonTableExpr) GetCtecolnames() []*Node { if x != nil { - return x.Constructor + return x.Ctecolnames } return nil } -func (x *JsonObjectAgg) GetArg() *JsonKeyValue { +func (x *CommonTableExpr) GetCtecoltypes() []*Node { if x != nil { - return x.Arg + return x.Ctecoltypes } return nil } -func (x *JsonObjectAgg) GetAbsentOnNull() bool { +func (x *CommonTableExpr) GetCtecoltypmods() []*Node { if x != nil { - return x.AbsentOnNull + return x.Ctecoltypmods } - return false + return nil } -func (x *JsonObjectAgg) GetUnique() bool { +func (x *CommonTableExpr) GetCtecolcollations() []*Node { if x != nil { - return x.Unique + return x.Ctecolcollations } - return false + return nil } -type JsonArrayAgg struct { +type MergeWhenClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` - Arg *JsonValueExpr `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + MatchKind MergeMatchKind `protobuf:"varint,1,opt,name=match_kind,json=matchKind,proto3,enum=pg_query.MergeMatchKind" json:"match_kind,omitempty"` + CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + Condition *Node `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"` + TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + Values []*Node `protobuf:"bytes,6,rep,name=values,proto3" json:"values,omitempty"` } -func (x *JsonArrayAgg) Reset() { - *x = JsonArrayAgg{} +func (x *MergeWhenClause) Reset() { + *x = MergeWhenClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[125] + mi := &file_pg_query_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *JsonArrayAgg) String() string { +func (x *MergeWhenClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JsonArrayAgg) ProtoMessage() {} +func (*MergeWhenClause) ProtoMessage() {} -func (x *JsonArrayAgg) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[125] +func (x *MergeWhenClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19994,59 +20716,80 @@ func (x *JsonArrayAgg) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JsonArrayAgg.ProtoReflect.Descriptor instead. -func (*JsonArrayAgg) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{125} +// Deprecated: Use MergeWhenClause.ProtoReflect.Descriptor instead. +func (*MergeWhenClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{124} } -func (x *JsonArrayAgg) GetConstructor() *JsonAggConstructor { +func (x *MergeWhenClause) GetMatchKind() MergeMatchKind { if x != nil { - return x.Constructor + return x.MatchKind + } + return MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED +} + +func (x *MergeWhenClause) GetCommandType() CmdType { + if x != nil { + return x.CommandType + } + return CmdType_CMD_TYPE_UNDEFINED +} + +func (x *MergeWhenClause) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED +} + +func (x *MergeWhenClause) GetCondition() *Node { + if x != nil { + return x.Condition } return nil } -func (x *JsonArrayAgg) GetArg() *JsonValueExpr { +func (x *MergeWhenClause) GetTargetList() []*Node { if x != nil { - return x.Arg + return x.TargetList } return nil } -func (x *JsonArrayAgg) GetAbsentOnNull() bool { +func (x *MergeWhenClause) GetValues() []*Node { if x != nil { - return x.AbsentOnNull + return x.Values } - return false + return nil } -type RawStmt struct { +type TriggerTransition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Stmt *Node `protobuf:"bytes,1,opt,name=stmt,proto3" json:"stmt,omitempty"` - StmtLocation int32 `protobuf:"varint,2,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` - StmtLen int32 `protobuf:"varint,3,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + IsNew bool `protobuf:"varint,2,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"` + IsTable bool `protobuf:"varint,3,opt,name=is_table,json=isTable,proto3" json:"is_table,omitempty"` } -func (x *RawStmt) Reset() { - *x = RawStmt{} +func (x *TriggerTransition) Reset() { + *x = TriggerTransition{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[126] + mi := &file_pg_query_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RawStmt) String() string { +func (x *TriggerTransition) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RawStmt) ProtoMessage() {} +func (*TriggerTransition) ProtoMessage() {} -func (x *RawStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[126] +func (x *TriggerTransition) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20057,63 +20800,58 @@ func (x *RawStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RawStmt.ProtoReflect.Descriptor instead. -func (*RawStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{126} +// Deprecated: Use TriggerTransition.ProtoReflect.Descriptor instead. +func (*TriggerTransition) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{125} } -func (x *RawStmt) GetStmt() *Node { +func (x *TriggerTransition) GetName() string { if x != nil { - return x.Stmt + return x.Name } - return nil + return "" } -func (x *RawStmt) GetStmtLocation() int32 { +func (x *TriggerTransition) GetIsNew() bool { if x != nil { - return x.StmtLocation + return x.IsNew } - return 0 + return false } -func (x *RawStmt) GetStmtLen() int32 { +func (x *TriggerTransition) GetIsTable() bool { if x != nil { - return x.StmtLen + return x.IsTable } - return 0 + return false } -type InsertStmt struct { +type JsonOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` - SelectStmt *Node `protobuf:"bytes,3,opt,name=select_stmt,json=selectStmt,proto3" json:"select_stmt,omitempty"` - OnConflictClause *OnConflictClause `protobuf:"bytes,4,opt,name=on_conflict_clause,json=onConflictClause,proto3" json:"on_conflict_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` - Override OverridingKind `protobuf:"varint,7,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + TypeName *TypeName `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Returning *JsonReturning `protobuf:"bytes,2,opt,name=returning,proto3" json:"returning,omitempty"` } -func (x *InsertStmt) Reset() { - *x = InsertStmt{} +func (x *JsonOutput) Reset() { + *x = JsonOutput{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[127] + mi := &file_pg_query_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InsertStmt) String() string { +func (x *JsonOutput) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InsertStmt) ProtoMessage() {} +func (*JsonOutput) ProtoMessage() {} -func (x *InsertStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[127] +func (x *JsonOutput) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20124,74 +20862,100 @@ func (x *InsertStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InsertStmt.ProtoReflect.Descriptor instead. -func (*InsertStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{127} +// Deprecated: Use JsonOutput.ProtoReflect.Descriptor instead. +func (*JsonOutput) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{126} } -func (x *InsertStmt) GetRelation() *RangeVar { +func (x *JsonOutput) GetTypeName() *TypeName { if x != nil { - return x.Relation + return x.TypeName } return nil } -func (x *InsertStmt) GetCols() []*Node { +func (x *JsonOutput) GetReturning() *JsonReturning { if x != nil { - return x.Cols + return x.Returning } return nil } -func (x *InsertStmt) GetSelectStmt() *Node { - if x != nil { - return x.SelectStmt - } - return nil +type JsonArgument struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Val *JsonValueExpr `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *InsertStmt) GetOnConflictClause() *OnConflictClause { - if x != nil { - return x.OnConflictClause +func (x *JsonArgument) Reset() { + *x = JsonArgument{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *InsertStmt) GetReturningList() []*Node { - if x != nil { - return x.ReturningList +func (x *JsonArgument) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonArgument) ProtoMessage() {} + +func (x *JsonArgument) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[127] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *InsertStmt) GetWithClause() *WithClause { +// Deprecated: Use JsonArgument.ProtoReflect.Descriptor instead. +func (*JsonArgument) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{127} +} + +func (x *JsonArgument) GetVal() *JsonValueExpr { if x != nil { - return x.WithClause + return x.Val } return nil } -func (x *InsertStmt) GetOverride() OverridingKind { +func (x *JsonArgument) GetName() string { if x != nil { - return x.Override + return x.Name } - return OverridingKind_OVERRIDING_KIND_UNDEFINED + return "" } -type DeleteStmt struct { +type JsonFuncExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - UsingClause []*Node `protobuf:"bytes,2,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,4,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Op JsonExprOp `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.JsonExprOp" json:"op,omitempty"` + ColumnName string `protobuf:"bytes,2,opt,name=column_name,proto3" json:"column_name,omitempty"` + ContextItem *JsonValueExpr `protobuf:"bytes,3,opt,name=context_item,proto3" json:"context_item,omitempty"` + Pathspec *Node `protobuf:"bytes,4,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Passing []*Node `protobuf:"bytes,5,rep,name=passing,proto3" json:"passing,omitempty"` + Output *JsonOutput `protobuf:"bytes,6,opt,name=output,proto3" json:"output,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,7,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,8,opt,name=on_error,proto3" json:"on_error,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,9,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + Quotes JsonQuotes `protobuf:"varint,10,opt,name=quotes,proto3,enum=pg_query.JsonQuotes" json:"quotes,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DeleteStmt) Reset() { - *x = DeleteStmt{} +func (x *JsonFuncExpr) Reset() { + *x = JsonFuncExpr{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20199,13 +20963,13 @@ func (x *DeleteStmt) Reset() { } } -func (x *DeleteStmt) String() string { +func (x *JsonFuncExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteStmt) ProtoMessage() {} +func (*JsonFuncExpr) ProtoMessage() {} -func (x *DeleteStmt) ProtoReflect() protoreflect.Message { +func (x *JsonFuncExpr) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20217,61 +20981,101 @@ func (x *DeleteStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteStmt.ProtoReflect.Descriptor instead. -func (*DeleteStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonFuncExpr.ProtoReflect.Descriptor instead. +func (*JsonFuncExpr) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{128} } -func (x *DeleteStmt) GetRelation() *RangeVar { +func (x *JsonFuncExpr) GetOp() JsonExprOp { if x != nil { - return x.Relation + return x.Op + } + return JsonExprOp_JSON_EXPR_OP_UNDEFINED +} + +func (x *JsonFuncExpr) GetColumnName() string { + if x != nil { + return x.ColumnName + } + return "" +} + +func (x *JsonFuncExpr) GetContextItem() *JsonValueExpr { + if x != nil { + return x.ContextItem } return nil } -func (x *DeleteStmt) GetUsingClause() []*Node { +func (x *JsonFuncExpr) GetPathspec() *Node { if x != nil { - return x.UsingClause + return x.Pathspec } return nil } -func (x *DeleteStmt) GetWhereClause() *Node { +func (x *JsonFuncExpr) GetPassing() []*Node { if x != nil { - return x.WhereClause + return x.Passing } return nil } -func (x *DeleteStmt) GetReturningList() []*Node { +func (x *JsonFuncExpr) GetOutput() *JsonOutput { if x != nil { - return x.ReturningList + return x.Output } return nil } -func (x *DeleteStmt) GetWithClause() *WithClause { +func (x *JsonFuncExpr) GetOnEmpty() *JsonBehavior { if x != nil { - return x.WithClause + return x.OnEmpty } return nil } -type UpdateStmt struct { +func (x *JsonFuncExpr) GetOnError() *JsonBehavior { + if x != nil { + return x.OnError + } + return nil +} + +func (x *JsonFuncExpr) GetWrapper() JsonWrapper { + if x != nil { + return x.Wrapper + } + return JsonWrapper_JSON_WRAPPER_UNDEFINED +} + +func (x *JsonFuncExpr) GetQuotes() JsonQuotes { + if x != nil { + return x.Quotes + } + return JsonQuotes_JSON_QUOTES_UNDEFINED +} + +func (x *JsonFuncExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonTablePathSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - TargetList []*Node `protobuf:"bytes,2,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + String_ *Node `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + NameLocation int32 `protobuf:"varint,3,opt,name=name_location,proto3" json:"name_location,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *UpdateStmt) Reset() { - *x = UpdateStmt{} +func (x *JsonTablePathSpec) Reset() { + *x = JsonTablePathSpec{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20279,13 +21083,13 @@ func (x *UpdateStmt) Reset() { } } -func (x *UpdateStmt) String() string { +func (x *JsonTablePathSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateStmt) ProtoMessage() {} +func (*JsonTablePathSpec) ProtoMessage() {} -func (x *UpdateStmt) ProtoReflect() protoreflect.Message { +func (x *JsonTablePathSpec) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20297,67 +21101,56 @@ func (x *UpdateStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateStmt.ProtoReflect.Descriptor instead. -func (*UpdateStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTablePathSpec.ProtoReflect.Descriptor instead. +func (*JsonTablePathSpec) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{129} } -func (x *UpdateStmt) GetRelation() *RangeVar { +func (x *JsonTablePathSpec) GetString_() *Node { if x != nil { - return x.Relation + return x.String_ } return nil } -func (x *UpdateStmt) GetTargetList() []*Node { +func (x *JsonTablePathSpec) GetName() string { if x != nil { - return x.TargetList + return x.Name } - return nil + return "" } -func (x *UpdateStmt) GetWhereClause() *Node { +func (x *JsonTablePathSpec) GetNameLocation() int32 { if x != nil { - return x.WhereClause + return x.NameLocation } - return nil + return 0 } -func (x *UpdateStmt) GetFromClause() []*Node { +func (x *JsonTablePathSpec) GetLocation() int32 { if x != nil { - return x.FromClause + return x.Location } - return nil + return 0 } -func (x *UpdateStmt) GetReturningList() []*Node { - if x != nil { - return x.ReturningList - } - return nil -} - -func (x *UpdateStmt) GetWithClause() *WithClause { - if x != nil { - return x.WithClause - } - return nil -} - -type MergeStmt struct { +type JsonTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - SourceRelation *Node `protobuf:"bytes,2,opt,name=source_relation,json=sourceRelation,proto3" json:"source_relation,omitempty"` - JoinCondition *Node `protobuf:"bytes,3,opt,name=join_condition,json=joinCondition,proto3" json:"join_condition,omitempty"` - MergeWhenClauses []*Node `protobuf:"bytes,4,rep,name=merge_when_clauses,json=mergeWhenClauses,proto3" json:"merge_when_clauses,omitempty"` - WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + ContextItem *JsonValueExpr `protobuf:"bytes,1,opt,name=context_item,proto3" json:"context_item,omitempty"` + Pathspec *JsonTablePathSpec `protobuf:"bytes,2,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Passing []*Node `protobuf:"bytes,3,rep,name=passing,proto3" json:"passing,omitempty"` + Columns []*Node `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,5,opt,name=on_error,proto3" json:"on_error,omitempty"` + Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` + Lateral bool `protobuf:"varint,7,opt,name=lateral,proto3" json:"lateral,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MergeStmt) Reset() { - *x = MergeStmt{} +func (x *JsonTable) Reset() { + *x = JsonTable{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20365,13 +21158,13 @@ func (x *MergeStmt) Reset() { } } -func (x *MergeStmt) String() string { +func (x *JsonTable) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MergeStmt) ProtoMessage() {} +func (*JsonTable) ProtoMessage() {} -func (x *MergeStmt) ProtoReflect() protoreflect.Message { +func (x *JsonTable) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20383,75 +21176,87 @@ func (x *MergeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MergeStmt.ProtoReflect.Descriptor instead. -func (*MergeStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTable.ProtoReflect.Descriptor instead. +func (*JsonTable) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{130} } -func (x *MergeStmt) GetRelation() *RangeVar { +func (x *JsonTable) GetContextItem() *JsonValueExpr { if x != nil { - return x.Relation + return x.ContextItem } return nil } -func (x *MergeStmt) GetSourceRelation() *Node { +func (x *JsonTable) GetPathspec() *JsonTablePathSpec { if x != nil { - return x.SourceRelation + return x.Pathspec } return nil } -func (x *MergeStmt) GetJoinCondition() *Node { +func (x *JsonTable) GetPassing() []*Node { if x != nil { - return x.JoinCondition + return x.Passing } return nil } -func (x *MergeStmt) GetMergeWhenClauses() []*Node { +func (x *JsonTable) GetColumns() []*Node { if x != nil { - return x.MergeWhenClauses + return x.Columns } return nil } -func (x *MergeStmt) GetWithClause() *WithClause { +func (x *JsonTable) GetOnError() *JsonBehavior { if x != nil { - return x.WithClause + return x.OnError } return nil } -type SelectStmt struct { +func (x *JsonTable) GetAlias() *Alias { + if x != nil { + return x.Alias + } + return nil +} + +func (x *JsonTable) GetLateral() bool { + if x != nil { + return x.Lateral + } + return false +} + +func (x *JsonTable) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonTableColumn struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DistinctClause []*Node `protobuf:"bytes,1,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` - IntoClause *IntoClause `protobuf:"bytes,2,opt,name=into_clause,json=intoClause,proto3" json:"into_clause,omitempty"` - TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` - WhereClause *Node `protobuf:"bytes,5,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - GroupClause []*Node `protobuf:"bytes,6,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` - GroupDistinct bool `protobuf:"varint,7,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` - HavingClause *Node `protobuf:"bytes,8,opt,name=having_clause,json=havingClause,proto3" json:"having_clause,omitempty"` - WindowClause []*Node `protobuf:"bytes,9,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` - ValuesLists []*Node `protobuf:"bytes,10,rep,name=values_lists,json=valuesLists,proto3" json:"values_lists,omitempty"` - SortClause []*Node `protobuf:"bytes,11,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` - LimitOffset *Node `protobuf:"bytes,12,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` - LimitCount *Node `protobuf:"bytes,13,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` - LimitOption LimitOption `protobuf:"varint,14,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` - LockingClause []*Node `protobuf:"bytes,15,rep,name=locking_clause,json=lockingClause,proto3" json:"locking_clause,omitempty"` - WithClause *WithClause `protobuf:"bytes,16,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` - Op SetOperation `protobuf:"varint,17,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` - All bool `protobuf:"varint,18,opt,name=all,proto3" json:"all,omitempty"` - Larg *SelectStmt `protobuf:"bytes,19,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *SelectStmt `protobuf:"bytes,20,opt,name=rarg,proto3" json:"rarg,omitempty"` + Coltype JsonTableColumnType `protobuf:"varint,1,opt,name=coltype,proto3,enum=pg_query.JsonTableColumnType" json:"coltype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Pathspec *JsonTablePathSpec `protobuf:"bytes,4,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Format *JsonFormat `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,6,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + Quotes JsonQuotes `protobuf:"varint,7,opt,name=quotes,proto3,enum=pg_query.JsonQuotes" json:"quotes,omitempty"` + Columns []*Node `protobuf:"bytes,8,rep,name=columns,proto3" json:"columns,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,9,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,10,opt,name=on_error,proto3" json:"on_error,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SelectStmt) Reset() { - *x = SelectStmt{} +func (x *JsonTableColumn) Reset() { + *x = JsonTableColumn{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20459,13 +21264,13 @@ func (x *SelectStmt) Reset() { } } -func (x *SelectStmt) String() string { +func (x *JsonTableColumn) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SelectStmt) ProtoMessage() {} +func (*JsonTableColumn) ProtoMessage() {} -func (x *SelectStmt) ProtoReflect() protoreflect.Message { +func (x *JsonTableColumn) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20477,183 +21282,171 @@ func (x *SelectStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SelectStmt.ProtoReflect.Descriptor instead. -func (*SelectStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonTableColumn.ProtoReflect.Descriptor instead. +func (*JsonTableColumn) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{131} } -func (x *SelectStmt) GetDistinctClause() []*Node { +func (x *JsonTableColumn) GetColtype() JsonTableColumnType { if x != nil { - return x.DistinctClause + return x.Coltype } - return nil + return JsonTableColumnType_JSON_TABLE_COLUMN_TYPE_UNDEFINED } -func (x *SelectStmt) GetIntoClause() *IntoClause { +func (x *JsonTableColumn) GetName() string { if x != nil { - return x.IntoClause + return x.Name } - return nil + return "" } -func (x *SelectStmt) GetTargetList() []*Node { +func (x *JsonTableColumn) GetTypeName() *TypeName { if x != nil { - return x.TargetList + return x.TypeName } return nil } -func (x *SelectStmt) GetFromClause() []*Node { +func (x *JsonTableColumn) GetPathspec() *JsonTablePathSpec { if x != nil { - return x.FromClause + return x.Pathspec } return nil } -func (x *SelectStmt) GetWhereClause() *Node { +func (x *JsonTableColumn) GetFormat() *JsonFormat { if x != nil { - return x.WhereClause + return x.Format } return nil } -func (x *SelectStmt) GetGroupClause() []*Node { +func (x *JsonTableColumn) GetWrapper() JsonWrapper { if x != nil { - return x.GroupClause + return x.Wrapper } - return nil + return JsonWrapper_JSON_WRAPPER_UNDEFINED } -func (x *SelectStmt) GetGroupDistinct() bool { +func (x *JsonTableColumn) GetQuotes() JsonQuotes { if x != nil { - return x.GroupDistinct + return x.Quotes } - return false + return JsonQuotes_JSON_QUOTES_UNDEFINED } -func (x *SelectStmt) GetHavingClause() *Node { +func (x *JsonTableColumn) GetColumns() []*Node { if x != nil { - return x.HavingClause + return x.Columns } return nil } -func (x *SelectStmt) GetWindowClause() []*Node { +func (x *JsonTableColumn) GetOnEmpty() *JsonBehavior { if x != nil { - return x.WindowClause + return x.OnEmpty } return nil } -func (x *SelectStmt) GetValuesLists() []*Node { +func (x *JsonTableColumn) GetOnError() *JsonBehavior { if x != nil { - return x.ValuesLists + return x.OnError } return nil } -func (x *SelectStmt) GetSortClause() []*Node { +func (x *JsonTableColumn) GetLocation() int32 { if x != nil { - return x.SortClause + return x.Location } - return nil + return 0 } -func (x *SelectStmt) GetLimitOffset() *Node { - if x != nil { - return x.LimitOffset - } - return nil -} +type JsonKeyValue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *SelectStmt) GetLimitCount() *Node { - if x != nil { - return x.LimitCount - } - return nil + Key *Node `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *JsonValueExpr `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (x *SelectStmt) GetLimitOption() LimitOption { - if x != nil { - return x.LimitOption +func (x *JsonKeyValue) Reset() { + *x = JsonKeyValue{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return LimitOption_LIMIT_OPTION_UNDEFINED } -func (x *SelectStmt) GetLockingClause() []*Node { - if x != nil { - return x.LockingClause - } - return nil +func (x *JsonKeyValue) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *SelectStmt) GetWithClause() *WithClause { - if x != nil { - return x.WithClause - } - return nil -} +func (*JsonKeyValue) ProtoMessage() {} -func (x *SelectStmt) GetOp() SetOperation { - if x != nil { - return x.Op +func (x *JsonKeyValue) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[132] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return SetOperation_SET_OPERATION_UNDEFINED + return mi.MessageOf(x) } -func (x *SelectStmt) GetAll() bool { - if x != nil { - return x.All - } - return false +// Deprecated: Use JsonKeyValue.ProtoReflect.Descriptor instead. +func (*JsonKeyValue) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{132} } -func (x *SelectStmt) GetLarg() *SelectStmt { +func (x *JsonKeyValue) GetKey() *Node { if x != nil { - return x.Larg + return x.Key } return nil } -func (x *SelectStmt) GetRarg() *SelectStmt { +func (x *JsonKeyValue) GetValue() *JsonValueExpr { if x != nil { - return x.Rarg + return x.Value } return nil } -type SetOperationStmt struct { +type JsonParseExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Op SetOperation `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` - All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` - Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` - ColTypes []*Node `protobuf:"bytes,5,rep,name=col_types,json=colTypes,proto3" json:"col_types,omitempty"` - ColTypmods []*Node `protobuf:"bytes,6,rep,name=col_typmods,json=colTypmods,proto3" json:"col_typmods,omitempty"` - ColCollations []*Node `protobuf:"bytes,7,rep,name=col_collations,json=colCollations,proto3" json:"col_collations,omitempty"` - GroupClauses []*Node `protobuf:"bytes,8,rep,name=group_clauses,json=groupClauses,proto3" json:"group_clauses,omitempty"` + Expr *JsonValueExpr `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + UniqueKeys bool `protobuf:"varint,3,opt,name=unique_keys,proto3" json:"unique_keys,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SetOperationStmt) Reset() { - *x = SetOperationStmt{} +func (x *JsonParseExpr) Reset() { + *x = JsonParseExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[132] + mi := &file_pg_query_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetOperationStmt) String() string { +func (x *JsonParseExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetOperationStmt) ProtoMessage() {} +func (*JsonParseExpr) ProtoMessage() {} -func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[132] +func (x *JsonParseExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20664,142 +21457,65 @@ func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetOperationStmt.ProtoReflect.Descriptor instead. -func (*SetOperationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{132} -} - -func (x *SetOperationStmt) GetOp() SetOperation { - if x != nil { - return x.Op - } - return SetOperation_SET_OPERATION_UNDEFINED -} - -func (x *SetOperationStmt) GetAll() bool { - if x != nil { - return x.All - } - return false -} - -func (x *SetOperationStmt) GetLarg() *Node { - if x != nil { - return x.Larg - } - return nil -} - -func (x *SetOperationStmt) GetRarg() *Node { - if x != nil { - return x.Rarg - } - return nil +// Deprecated: Use JsonParseExpr.ProtoReflect.Descriptor instead. +func (*JsonParseExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{133} } -func (x *SetOperationStmt) GetColTypes() []*Node { +func (x *JsonParseExpr) GetExpr() *JsonValueExpr { if x != nil { - return x.ColTypes + return x.Expr } return nil } -func (x *SetOperationStmt) GetColTypmods() []*Node { +func (x *JsonParseExpr) GetOutput() *JsonOutput { if x != nil { - return x.ColTypmods + return x.Output } return nil } -func (x *SetOperationStmt) GetColCollations() []*Node { +func (x *JsonParseExpr) GetUniqueKeys() bool { if x != nil { - return x.ColCollations + return x.UniqueKeys } - return nil + return false } -func (x *SetOperationStmt) GetGroupClauses() []*Node { +func (x *JsonParseExpr) GetLocation() int32 { if x != nil { - return x.GroupClauses + return x.Location } - return nil + return 0 } -type ReturnStmt struct { +type JsonScalarExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Returnval *Node `protobuf:"bytes,1,opt,name=returnval,proto3" json:"returnval,omitempty"` + Expr *Node `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ReturnStmt) Reset() { - *x = ReturnStmt{} +func (x *JsonScalarExpr) Reset() { + *x = JsonScalarExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[133] + mi := &file_pg_query_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReturnStmt) String() string { +func (x *JsonScalarExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReturnStmt) ProtoMessage() {} - -func (x *ReturnStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReturnStmt.ProtoReflect.Descriptor instead. -func (*ReturnStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{133} -} - -func (x *ReturnStmt) GetReturnval() *Node { - if x != nil { - return x.Returnval - } - return nil -} - -type PLAssignStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` - Nnames int32 `protobuf:"varint,3,opt,name=nnames,proto3" json:"nnames,omitempty"` - Val *SelectStmt `protobuf:"bytes,4,opt,name=val,proto3" json:"val,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *PLAssignStmt) Reset() { - *x = PLAssignStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PLAssignStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PLAssignStmt) ProtoMessage() {} +func (*JsonScalarExpr) ProtoMessage() {} -func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { +func (x *JsonScalarExpr) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20811,59 +21527,44 @@ func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PLAssignStmt.ProtoReflect.Descriptor instead. -func (*PLAssignStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonScalarExpr.ProtoReflect.Descriptor instead. +func (*JsonScalarExpr) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{134} } -func (x *PLAssignStmt) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *PLAssignStmt) GetIndirection() []*Node { +func (x *JsonScalarExpr) GetExpr() *Node { if x != nil { - return x.Indirection + return x.Expr } return nil } -func (x *PLAssignStmt) GetNnames() int32 { - if x != nil { - return x.Nnames - } - return 0 -} - -func (x *PLAssignStmt) GetVal() *SelectStmt { +func (x *JsonScalarExpr) GetOutput() *JsonOutput { if x != nil { - return x.Val + return x.Output } return nil } -func (x *PLAssignStmt) GetLocation() int32 { +func (x *JsonScalarExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CreateSchemaStmt struct { +type JsonSerializeExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schemaname string `protobuf:"bytes,1,opt,name=schemaname,proto3" json:"schemaname,omitempty"` - Authrole *RoleSpec `protobuf:"bytes,2,opt,name=authrole,proto3" json:"authrole,omitempty"` - SchemaElts []*Node `protobuf:"bytes,3,rep,name=schema_elts,json=schemaElts,proto3" json:"schema_elts,omitempty"` - IfNotExists bool `protobuf:"varint,4,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Expr *JsonValueExpr `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateSchemaStmt) Reset() { - *x = CreateSchemaStmt{} +func (x *JsonSerializeExpr) Reset() { + *x = JsonSerializeExpr{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20871,13 +21572,13 @@ func (x *CreateSchemaStmt) Reset() { } } -func (x *CreateSchemaStmt) String() string { +func (x *JsonSerializeExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSchemaStmt) ProtoMessage() {} +func (*JsonSerializeExpr) ProtoMessage() {} -func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { +func (x *JsonSerializeExpr) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20889,52 +21590,46 @@ func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSchemaStmt.ProtoReflect.Descriptor instead. -func (*CreateSchemaStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonSerializeExpr.ProtoReflect.Descriptor instead. +func (*JsonSerializeExpr) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{135} } -func (x *CreateSchemaStmt) GetSchemaname() string { - if x != nil { - return x.Schemaname - } - return "" -} - -func (x *CreateSchemaStmt) GetAuthrole() *RoleSpec { +func (x *JsonSerializeExpr) GetExpr() *JsonValueExpr { if x != nil { - return x.Authrole + return x.Expr } return nil } -func (x *CreateSchemaStmt) GetSchemaElts() []*Node { +func (x *JsonSerializeExpr) GetOutput() *JsonOutput { if x != nil { - return x.SchemaElts + return x.Output } return nil } -func (x *CreateSchemaStmt) GetIfNotExists() bool { +func (x *JsonSerializeExpr) GetLocation() int32 { if x != nil { - return x.IfNotExists + return x.Location } - return false + return 0 } -type AlterTableStmt struct { +type JsonObjectConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Cmds []*Node `protobuf:"bytes,2,rep,name=cmds,proto3" json:"cmds,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterTableStmt) Reset() { - *x = AlterTableStmt{} +func (x *JsonObjectConstructor) Reset() { + *x = JsonObjectConstructor{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20942,13 +21637,13 @@ func (x *AlterTableStmt) Reset() { } } -func (x *AlterTableStmt) String() string { +func (x *JsonObjectConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableStmt) ProtoMessage() {} +func (*JsonObjectConstructor) ProtoMessage() {} -func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { +func (x *JsonObjectConstructor) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -20960,50 +21655,59 @@ func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableStmt.ProtoReflect.Descriptor instead. -func (*AlterTableStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonObjectConstructor.ProtoReflect.Descriptor instead. +func (*JsonObjectConstructor) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{136} } -func (x *AlterTableStmt) GetRelation() *RangeVar { +func (x *JsonObjectConstructor) GetExprs() []*Node { if x != nil { - return x.Relation + return x.Exprs } return nil } -func (x *AlterTableStmt) GetCmds() []*Node { +func (x *JsonObjectConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Cmds + return x.Output } return nil } -func (x *AlterTableStmt) GetObjtype() ObjectType { +func (x *JsonObjectConstructor) GetAbsentOnNull() bool { if x != nil { - return x.Objtype + return x.AbsentOnNull } - return ObjectType_OBJECT_TYPE_UNDEFINED + return false } -func (x *AlterTableStmt) GetMissingOk() bool { +func (x *JsonObjectConstructor) GetUnique() bool { if x != nil { - return x.MissingOk + return x.Unique } return false } -type ReplicaIdentityStmt struct { +func (x *JsonObjectConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonArrayConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IdentityType string `protobuf:"bytes,1,opt,name=identity_type,proto3" json:"identity_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ReplicaIdentityStmt) Reset() { - *x = ReplicaIdentityStmt{} +func (x *JsonArrayConstructor) Reset() { + *x = JsonArrayConstructor{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21011,13 +21715,13 @@ func (x *ReplicaIdentityStmt) Reset() { } } -func (x *ReplicaIdentityStmt) String() string { +func (x *JsonArrayConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReplicaIdentityStmt) ProtoMessage() {} +func (*JsonArrayConstructor) ProtoMessage() {} -func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { +func (x *JsonArrayConstructor) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21029,42 +21733,53 @@ func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReplicaIdentityStmt.ProtoReflect.Descriptor instead. -func (*ReplicaIdentityStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonArrayConstructor.ProtoReflect.Descriptor instead. +func (*JsonArrayConstructor) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{137} } -func (x *ReplicaIdentityStmt) GetIdentityType() string { +func (x *JsonArrayConstructor) GetExprs() []*Node { if x != nil { - return x.IdentityType + return x.Exprs } - return "" + return nil } -func (x *ReplicaIdentityStmt) GetName() string { +func (x *JsonArrayConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Name + return x.Output } - return "" + return nil } -type AlterTableCmd struct { +func (x *JsonArrayConstructor) GetAbsentOnNull() bool { + if x != nil { + return x.AbsentOnNull + } + return false +} + +func (x *JsonArrayConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonArrayQueryConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subtype AlterTableType `protobuf:"varint,1,opt,name=subtype,proto3,enum=pg_query.AlterTableType" json:"subtype,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` - Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` - Def *Node `protobuf:"bytes,5,opt,name=def,proto3" json:"def,omitempty"` - Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Recurse bool `protobuf:"varint,8,opt,name=recurse,proto3" json:"recurse,omitempty"` + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Format *JsonFormat `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"` + AbsentOnNull bool `protobuf:"varint,4,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterTableCmd) Reset() { - *x = AlterTableCmd{} +func (x *JsonArrayQueryConstructor) Reset() { + *x = JsonArrayQueryConstructor{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21072,13 +21787,13 @@ func (x *AlterTableCmd) Reset() { } } -func (x *AlterTableCmd) String() string { +func (x *JsonArrayQueryConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableCmd) ProtoMessage() {} +func (*JsonArrayQueryConstructor) ProtoMessage() {} -func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { +func (x *JsonArrayQueryConstructor) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21090,77 +21805,60 @@ func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableCmd.ProtoReflect.Descriptor instead. -func (*AlterTableCmd) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonArrayQueryConstructor.ProtoReflect.Descriptor instead. +func (*JsonArrayQueryConstructor) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{138} } -func (x *AlterTableCmd) GetSubtype() AlterTableType { +func (x *JsonArrayQueryConstructor) GetQuery() *Node { if x != nil { - return x.Subtype + return x.Query } - return AlterTableType_ALTER_TABLE_TYPE_UNDEFINED + return nil } -func (x *AlterTableCmd) GetName() string { +func (x *JsonArrayQueryConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Name + return x.Output } - return "" + return nil } -func (x *AlterTableCmd) GetNum() int32 { +func (x *JsonArrayQueryConstructor) GetFormat() *JsonFormat { if x != nil { - return x.Num + return x.Format } - return 0 + return nil } -func (x *AlterTableCmd) GetNewowner() *RoleSpec { +func (x *JsonArrayQueryConstructor) GetAbsentOnNull() bool { if x != nil { - return x.Newowner - } - return nil -} - -func (x *AlterTableCmd) GetDef() *Node { - if x != nil { - return x.Def - } - return nil -} - -func (x *AlterTableCmd) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -func (x *AlterTableCmd) GetMissingOk() bool { - if x != nil { - return x.MissingOk + return x.AbsentOnNull } return false } -func (x *AlterTableCmd) GetRecurse() bool { +func (x *JsonArrayQueryConstructor) GetLocation() int32 { if x != nil { - return x.Recurse + return x.Location } - return false + return 0 } -type AlterCollationStmt struct { +type JsonAggConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Collname []*Node `protobuf:"bytes,1,rep,name=collname,proto3" json:"collname,omitempty"` + Output *JsonOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + AggFilter *Node `protobuf:"bytes,2,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` + AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` + Over *WindowDef `protobuf:"bytes,4,opt,name=over,proto3" json:"over,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterCollationStmt) Reset() { - *x = AlterCollationStmt{} +func (x *JsonAggConstructor) Reset() { + *x = JsonAggConstructor{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21168,13 +21866,13 @@ func (x *AlterCollationStmt) Reset() { } } -func (x *AlterCollationStmt) String() string { +func (x *JsonAggConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterCollationStmt) ProtoMessage() {} +func (*JsonAggConstructor) ProtoMessage() {} -func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { +func (x *JsonAggConstructor) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21186,33 +21884,59 @@ func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterCollationStmt.ProtoReflect.Descriptor instead. -func (*AlterCollationStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonAggConstructor.ProtoReflect.Descriptor instead. +func (*JsonAggConstructor) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{139} } -func (x *AlterCollationStmt) GetCollname() []*Node { +func (x *JsonAggConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Collname + return x.Output } return nil } -type AlterDomainStmt struct { +func (x *JsonAggConstructor) GetAggFilter() *Node { + if x != nil { + return x.AggFilter + } + return nil +} + +func (x *JsonAggConstructor) GetAggOrder() []*Node { + if x != nil { + return x.AggOrder + } + return nil +} + +func (x *JsonAggConstructor) GetOver() *WindowDef { + if x != nil { + return x.Over + } + return nil +} + +func (x *JsonAggConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonObjectAgg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subtype string `protobuf:"bytes,1,opt,name=subtype,proto3" json:"subtype,omitempty"` - TypeName []*Node `protobuf:"bytes,2,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Def *Node `protobuf:"bytes,4,opt,name=def,proto3" json:"def,omitempty"` - Behavior DropBehavior `protobuf:"varint,5,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,6,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` + Arg *JsonKeyValue `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` } -func (x *AlterDomainStmt) Reset() { - *x = AlterDomainStmt{} +func (x *JsonObjectAgg) Reset() { + *x = JsonObjectAgg{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21220,13 +21944,13 @@ func (x *AlterDomainStmt) Reset() { } } -func (x *AlterDomainStmt) String() string { +func (x *JsonObjectAgg) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDomainStmt) ProtoMessage() {} +func (*JsonObjectAgg) ProtoMessage() {} -func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { +func (x *JsonObjectAgg) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21238,71 +21962,51 @@ func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDomainStmt.ProtoReflect.Descriptor instead. -func (*AlterDomainStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonObjectAgg.ProtoReflect.Descriptor instead. +func (*JsonObjectAgg) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{140} } -func (x *AlterDomainStmt) GetSubtype() string { - if x != nil { - return x.Subtype - } - return "" -} - -func (x *AlterDomainStmt) GetTypeName() []*Node { +func (x *JsonObjectAgg) GetConstructor() *JsonAggConstructor { if x != nil { - return x.TypeName + return x.Constructor } return nil } -func (x *AlterDomainStmt) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AlterDomainStmt) GetDef() *Node { +func (x *JsonObjectAgg) GetArg() *JsonKeyValue { if x != nil { - return x.Def + return x.Arg } return nil } -func (x *AlterDomainStmt) GetBehavior() DropBehavior { +func (x *JsonObjectAgg) GetAbsentOnNull() bool { if x != nil { - return x.Behavior + return x.AbsentOnNull } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return false } -func (x *AlterDomainStmt) GetMissingOk() bool { +func (x *JsonObjectAgg) GetUnique() bool { if x != nil { - return x.MissingOk + return x.Unique } return false } -type GrantStmt struct { +type JsonArrayAgg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IsGrant bool `protobuf:"varint,1,opt,name=is_grant,proto3" json:"is_grant,omitempty"` - Targtype GrantTargetType `protobuf:"varint,2,opt,name=targtype,proto3,enum=pg_query.GrantTargetType" json:"targtype,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Objects []*Node `protobuf:"bytes,4,rep,name=objects,proto3" json:"objects,omitempty"` - Privileges []*Node `protobuf:"bytes,5,rep,name=privileges,proto3" json:"privileges,omitempty"` - Grantees []*Node `protobuf:"bytes,6,rep,name=grantees,proto3" json:"grantees,omitempty"` - GrantOption bool `protobuf:"varint,7,opt,name=grant_option,proto3" json:"grant_option,omitempty"` - Grantor *RoleSpec `protobuf:"bytes,8,opt,name=grantor,proto3" json:"grantor,omitempty"` - Behavior DropBehavior `protobuf:"varint,9,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` + Arg *JsonValueExpr `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` } -func (x *GrantStmt) Reset() { - *x = GrantStmt{} +func (x *JsonArrayAgg) Reset() { + *x = JsonArrayAgg{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21310,13 +22014,13 @@ func (x *GrantStmt) Reset() { } } -func (x *GrantStmt) String() string { +func (x *JsonArrayAgg) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrantStmt) ProtoMessage() {} +func (*JsonArrayAgg) ProtoMessage() {} -func (x *GrantStmt) ProtoReflect() protoreflect.Message { +func (x *JsonArrayAgg) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21328,87 +22032,44 @@ func (x *GrantStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantStmt.ProtoReflect.Descriptor instead. -func (*GrantStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use JsonArrayAgg.ProtoReflect.Descriptor instead. +func (*JsonArrayAgg) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{141} } -func (x *GrantStmt) GetIsGrant() bool { - if x != nil { - return x.IsGrant - } - return false -} - -func (x *GrantStmt) GetTargtype() GrantTargetType { - if x != nil { - return x.Targtype - } - return GrantTargetType_GRANT_TARGET_TYPE_UNDEFINED -} - -func (x *GrantStmt) GetObjtype() ObjectType { - if x != nil { - return x.Objtype - } - return ObjectType_OBJECT_TYPE_UNDEFINED -} - -func (x *GrantStmt) GetObjects() []*Node { - if x != nil { - return x.Objects - } - return nil -} - -func (x *GrantStmt) GetPrivileges() []*Node { +func (x *JsonArrayAgg) GetConstructor() *JsonAggConstructor { if x != nil { - return x.Privileges + return x.Constructor } return nil } -func (x *GrantStmt) GetGrantees() []*Node { +func (x *JsonArrayAgg) GetArg() *JsonValueExpr { if x != nil { - return x.Grantees + return x.Arg } return nil } -func (x *GrantStmt) GetGrantOption() bool { +func (x *JsonArrayAgg) GetAbsentOnNull() bool { if x != nil { - return x.GrantOption + return x.AbsentOnNull } return false } -func (x *GrantStmt) GetGrantor() *RoleSpec { - if x != nil { - return x.Grantor - } - return nil -} - -func (x *GrantStmt) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -type ObjectWithArgs struct { +type RawStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objname []*Node `protobuf:"bytes,1,rep,name=objname,proto3" json:"objname,omitempty"` - Objargs []*Node `protobuf:"bytes,2,rep,name=objargs,proto3" json:"objargs,omitempty"` - Objfuncargs []*Node `protobuf:"bytes,3,rep,name=objfuncargs,proto3" json:"objfuncargs,omitempty"` - ArgsUnspecified bool `protobuf:"varint,4,opt,name=args_unspecified,proto3" json:"args_unspecified,omitempty"` + Stmt *Node `protobuf:"bytes,1,opt,name=stmt,proto3" json:"stmt,omitempty"` + StmtLocation int32 `protobuf:"varint,2,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` + StmtLen int32 `protobuf:"varint,3,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` } -func (x *ObjectWithArgs) Reset() { - *x = ObjectWithArgs{} +func (x *RawStmt) Reset() { + *x = RawStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21416,13 +22077,13 @@ func (x *ObjectWithArgs) Reset() { } } -func (x *ObjectWithArgs) String() string { +func (x *RawStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ObjectWithArgs) ProtoMessage() {} +func (*RawStmt) ProtoMessage() {} -func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { +func (x *RawStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21434,50 +22095,48 @@ func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ObjectWithArgs.ProtoReflect.Descriptor instead. -func (*ObjectWithArgs) Descriptor() ([]byte, []int) { +// Deprecated: Use RawStmt.ProtoReflect.Descriptor instead. +func (*RawStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{142} } -func (x *ObjectWithArgs) GetObjname() []*Node { +func (x *RawStmt) GetStmt() *Node { if x != nil { - return x.Objname + return x.Stmt } return nil } -func (x *ObjectWithArgs) GetObjargs() []*Node { +func (x *RawStmt) GetStmtLocation() int32 { if x != nil { - return x.Objargs + return x.StmtLocation } - return nil + return 0 } -func (x *ObjectWithArgs) GetObjfuncargs() []*Node { +func (x *RawStmt) GetStmtLen() int32 { if x != nil { - return x.Objfuncargs - } - return nil -} - -func (x *ObjectWithArgs) GetArgsUnspecified() bool { - if x != nil { - return x.ArgsUnspecified + return x.StmtLen } - return false + return 0 } -type AccessPriv struct { +type InsertStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PrivName string `protobuf:"bytes,1,opt,name=priv_name,proto3" json:"priv_name,omitempty"` - Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + SelectStmt *Node `protobuf:"bytes,3,opt,name=select_stmt,json=selectStmt,proto3" json:"select_stmt,omitempty"` + OnConflictClause *OnConflictClause `protobuf:"bytes,4,opt,name=on_conflict_clause,json=onConflictClause,proto3" json:"on_conflict_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Override OverridingKind `protobuf:"varint,7,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` } -func (x *AccessPriv) Reset() { - *x = AccessPriv{} +func (x *InsertStmt) Reset() { + *x = InsertStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21485,13 +22144,13 @@ func (x *AccessPriv) Reset() { } } -func (x *AccessPriv) String() string { +func (x *InsertStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccessPriv) ProtoMessage() {} +func (*InsertStmt) ProtoMessage() {} -func (x *AccessPriv) ProtoReflect() protoreflect.Message { +func (x *InsertStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21503,40 +22162,74 @@ func (x *AccessPriv) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccessPriv.ProtoReflect.Descriptor instead. -func (*AccessPriv) Descriptor() ([]byte, []int) { +// Deprecated: Use InsertStmt.ProtoReflect.Descriptor instead. +func (*InsertStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{143} } -func (x *AccessPriv) GetPrivName() string { +func (x *InsertStmt) GetRelation() *RangeVar { if x != nil { - return x.PrivName + return x.Relation } - return "" + return nil } -func (x *AccessPriv) GetCols() []*Node { +func (x *InsertStmt) GetCols() []*Node { if x != nil { return x.Cols } return nil } -type GrantRoleStmt struct { +func (x *InsertStmt) GetSelectStmt() *Node { + if x != nil { + return x.SelectStmt + } + return nil +} + +func (x *InsertStmt) GetOnConflictClause() *OnConflictClause { + if x != nil { + return x.OnConflictClause + } + return nil +} + +func (x *InsertStmt) GetReturningList() []*Node { + if x != nil { + return x.ReturningList + } + return nil +} + +func (x *InsertStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause + } + return nil +} + +func (x *InsertStmt) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED +} + +type DeleteStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GrantedRoles []*Node `protobuf:"bytes,1,rep,name=granted_roles,proto3" json:"granted_roles,omitempty"` - GranteeRoles []*Node `protobuf:"bytes,2,rep,name=grantee_roles,proto3" json:"grantee_roles,omitempty"` - IsGrant bool `protobuf:"varint,3,opt,name=is_grant,proto3" json:"is_grant,omitempty"` - Opt []*Node `protobuf:"bytes,4,rep,name=opt,proto3" json:"opt,omitempty"` - Grantor *RoleSpec `protobuf:"bytes,5,opt,name=grantor,proto3" json:"grantor,omitempty"` - Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + UsingClause []*Node `protobuf:"bytes,2,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,4,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *GrantRoleStmt) Reset() { - *x = GrantRoleStmt{} +func (x *DeleteStmt) Reset() { + *x = DeleteStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21544,13 +22237,13 @@ func (x *GrantRoleStmt) Reset() { } } -func (x *GrantRoleStmt) String() string { +func (x *DeleteStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrantRoleStmt) ProtoMessage() {} +func (*DeleteStmt) ProtoMessage() {} -func (x *GrantRoleStmt) ProtoReflect() protoreflect.Message { +func (x *DeleteStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21562,64 +22255,61 @@ func (x *GrantRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantRoleStmt.ProtoReflect.Descriptor instead. -func (*GrantRoleStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use DeleteStmt.ProtoReflect.Descriptor instead. +func (*DeleteStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{144} } -func (x *GrantRoleStmt) GetGrantedRoles() []*Node { +func (x *DeleteStmt) GetRelation() *RangeVar { if x != nil { - return x.GrantedRoles + return x.Relation } return nil } -func (x *GrantRoleStmt) GetGranteeRoles() []*Node { +func (x *DeleteStmt) GetUsingClause() []*Node { if x != nil { - return x.GranteeRoles + return x.UsingClause } return nil } -func (x *GrantRoleStmt) GetIsGrant() bool { - if x != nil { - return x.IsGrant - } - return false -} - -func (x *GrantRoleStmt) GetOpt() []*Node { +func (x *DeleteStmt) GetWhereClause() *Node { if x != nil { - return x.Opt + return x.WhereClause } return nil } -func (x *GrantRoleStmt) GetGrantor() *RoleSpec { +func (x *DeleteStmt) GetReturningList() []*Node { if x != nil { - return x.Grantor + return x.ReturningList } return nil } -func (x *GrantRoleStmt) GetBehavior() DropBehavior { +func (x *DeleteStmt) GetWithClause() *WithClause { if x != nil { - return x.Behavior + return x.WithClause } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return nil } -type AlterDefaultPrivilegesStmt struct { +type UpdateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` - Action *GrantStmt `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + TargetList []*Node `protobuf:"bytes,2,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *AlterDefaultPrivilegesStmt) Reset() { - *x = AlterDefaultPrivilegesStmt{} +func (x *UpdateStmt) Reset() { + *x = UpdateStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21627,13 +22317,13 @@ func (x *AlterDefaultPrivilegesStmt) Reset() { } } -func (x *AlterDefaultPrivilegesStmt) String() string { +func (x *UpdateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDefaultPrivilegesStmt) ProtoMessage() {} +func (*UpdateStmt) ProtoMessage() {} -func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { +func (x *UpdateStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21645,42 +22335,68 @@ func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDefaultPrivilegesStmt.ProtoReflect.Descriptor instead. -func (*AlterDefaultPrivilegesStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use UpdateStmt.ProtoReflect.Descriptor instead. +func (*UpdateStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{145} } -func (x *AlterDefaultPrivilegesStmt) GetOptions() []*Node { +func (x *UpdateStmt) GetRelation() *RangeVar { if x != nil { - return x.Options + return x.Relation } return nil } -func (x *AlterDefaultPrivilegesStmt) GetAction() *GrantStmt { +func (x *UpdateStmt) GetTargetList() []*Node { if x != nil { - return x.Action + return x.TargetList } return nil } -type CopyStmt struct { +func (x *UpdateStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *UpdateStmt) GetFromClause() []*Node { + if x != nil { + return x.FromClause + } + return nil +} + +func (x *UpdateStmt) GetReturningList() []*Node { + if x != nil { + return x.ReturningList + } + return nil +} + +func (x *UpdateStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause + } + return nil +} + +type MergeStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Query *Node `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` - Attlist []*Node `protobuf:"bytes,3,rep,name=attlist,proto3" json:"attlist,omitempty"` - IsFrom bool `protobuf:"varint,4,opt,name=is_from,proto3" json:"is_from,omitempty"` - IsProgram bool `protobuf:"varint,5,opt,name=is_program,proto3" json:"is_program,omitempty"` - Filename string `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"` - Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` - WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + SourceRelation *Node `protobuf:"bytes,2,opt,name=source_relation,json=sourceRelation,proto3" json:"source_relation,omitempty"` + JoinCondition *Node `protobuf:"bytes,3,opt,name=join_condition,json=joinCondition,proto3" json:"join_condition,omitempty"` + MergeWhenClauses []*Node `protobuf:"bytes,4,rep,name=merge_when_clauses,json=mergeWhenClauses,proto3" json:"merge_when_clauses,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *CopyStmt) Reset() { - *x = CopyStmt{} +func (x *MergeStmt) Reset() { + *x = MergeStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21688,13 +22404,13 @@ func (x *CopyStmt) Reset() { } } -func (x *CopyStmt) String() string { +func (x *MergeStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CopyStmt) ProtoMessage() {} +func (*MergeStmt) ProtoMessage() {} -func (x *CopyStmt) ProtoReflect() protoreflect.Message { +func (x *MergeStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21706,80 +22422,82 @@ func (x *CopyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CopyStmt.ProtoReflect.Descriptor instead. -func (*CopyStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use MergeStmt.ProtoReflect.Descriptor instead. +func (*MergeStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{146} } -func (x *CopyStmt) GetRelation() *RangeVar { +func (x *MergeStmt) GetRelation() *RangeVar { if x != nil { return x.Relation } return nil } -func (x *CopyStmt) GetQuery() *Node { +func (x *MergeStmt) GetSourceRelation() *Node { if x != nil { - return x.Query + return x.SourceRelation } return nil } -func (x *CopyStmt) GetAttlist() []*Node { +func (x *MergeStmt) GetJoinCondition() *Node { if x != nil { - return x.Attlist + return x.JoinCondition } return nil } -func (x *CopyStmt) GetIsFrom() bool { - if x != nil { - return x.IsFrom - } - return false -} - -func (x *CopyStmt) GetIsProgram() bool { +func (x *MergeStmt) GetMergeWhenClauses() []*Node { if x != nil { - return x.IsProgram + return x.MergeWhenClauses } - return false + return nil } -func (x *CopyStmt) GetFilename() string { +func (x *MergeStmt) GetReturningList() []*Node { if x != nil { - return x.Filename + return x.ReturningList } - return "" + return nil } -func (x *CopyStmt) GetOptions() []*Node { +func (x *MergeStmt) GetWithClause() *WithClause { if x != nil { - return x.Options + return x.WithClause } return nil } -func (x *CopyStmt) GetWhereClause() *Node { - if x != nil { - return x.WhereClause - } - return nil -} - -type VariableSetStmt struct { +type SelectStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind VariableSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.VariableSetKind" json:"kind,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - IsLocal bool `protobuf:"varint,4,opt,name=is_local,proto3" json:"is_local,omitempty"` + DistinctClause []*Node `protobuf:"bytes,1,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` + IntoClause *IntoClause `protobuf:"bytes,2,opt,name=into_clause,json=intoClause,proto3" json:"into_clause,omitempty"` + TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` + WhereClause *Node `protobuf:"bytes,5,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + GroupClause []*Node `protobuf:"bytes,6,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` + GroupDistinct bool `protobuf:"varint,7,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` + HavingClause *Node `protobuf:"bytes,8,opt,name=having_clause,json=havingClause,proto3" json:"having_clause,omitempty"` + WindowClause []*Node `protobuf:"bytes,9,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` + ValuesLists []*Node `protobuf:"bytes,10,rep,name=values_lists,json=valuesLists,proto3" json:"values_lists,omitempty"` + SortClause []*Node `protobuf:"bytes,11,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` + LimitOffset *Node `protobuf:"bytes,12,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` + LimitCount *Node `protobuf:"bytes,13,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` + LimitOption LimitOption `protobuf:"varint,14,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` + LockingClause []*Node `protobuf:"bytes,15,rep,name=locking_clause,json=lockingClause,proto3" json:"locking_clause,omitempty"` + WithClause *WithClause `protobuf:"bytes,16,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Op SetOperation `protobuf:"varint,17,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` + All bool `protobuf:"varint,18,opt,name=all,proto3" json:"all,omitempty"` + Larg *SelectStmt `protobuf:"bytes,19,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *SelectStmt `protobuf:"bytes,20,opt,name=rarg,proto3" json:"rarg,omitempty"` } -func (x *VariableSetStmt) Reset() { - *x = VariableSetStmt{} +func (x *SelectStmt) Reset() { + *x = SelectStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21787,13 +22505,13 @@ func (x *VariableSetStmt) Reset() { } } -func (x *VariableSetStmt) String() string { +func (x *SelectStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VariableSetStmt) ProtoMessage() {} +func (*SelectStmt) ProtoMessage() {} -func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { +func (x *SelectStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -21805,275 +22523,183 @@ func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VariableSetStmt.ProtoReflect.Descriptor instead. -func (*VariableSetStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use SelectStmt.ProtoReflect.Descriptor instead. +func (*SelectStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{147} } -func (x *VariableSetStmt) GetKind() VariableSetKind { +func (x *SelectStmt) GetDistinctClause() []*Node { if x != nil { - return x.Kind + return x.DistinctClause } - return VariableSetKind_VARIABLE_SET_KIND_UNDEFINED + return nil } -func (x *VariableSetStmt) GetName() string { +func (x *SelectStmt) GetIntoClause() *IntoClause { if x != nil { - return x.Name + return x.IntoClause } - return "" + return nil } -func (x *VariableSetStmt) GetArgs() []*Node { +func (x *SelectStmt) GetTargetList() []*Node { if x != nil { - return x.Args + return x.TargetList } return nil } -func (x *VariableSetStmt) GetIsLocal() bool { +func (x *SelectStmt) GetFromClause() []*Node { if x != nil { - return x.IsLocal - } - return false -} - -type VariableShowStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *VariableShowStmt) Reset() { - *x = VariableShowStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.FromClause } + return nil } -func (x *VariableShowStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VariableShowStmt) ProtoMessage() {} - -func (x *VariableShowStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SelectStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause } - return mi.MessageOf(x) -} - -// Deprecated: Use VariableShowStmt.ProtoReflect.Descriptor instead. -func (*VariableShowStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{148} + return nil } -func (x *VariableShowStmt) GetName() string { +func (x *SelectStmt) GetGroupClause() []*Node { if x != nil { - return x.Name + return x.GroupClause } - return "" -} - -type CreateStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - TableElts []*Node `protobuf:"bytes,2,rep,name=table_elts,json=tableElts,proto3" json:"table_elts,omitempty"` - InhRelations []*Node `protobuf:"bytes,3,rep,name=inh_relations,json=inhRelations,proto3" json:"inh_relations,omitempty"` - Partbound *PartitionBoundSpec `protobuf:"bytes,4,opt,name=partbound,proto3" json:"partbound,omitempty"` - Partspec *PartitionSpec `protobuf:"bytes,5,opt,name=partspec,proto3" json:"partspec,omitempty"` - OfTypename *TypeName `protobuf:"bytes,6,opt,name=of_typename,json=ofTypename,proto3" json:"of_typename,omitempty"` - Constraints []*Node `protobuf:"bytes,7,rep,name=constraints,proto3" json:"constraints,omitempty"` - Options []*Node `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` - Oncommit OnCommitAction `protobuf:"varint,9,opt,name=oncommit,proto3,enum=pg_query.OnCommitAction" json:"oncommit,omitempty"` - Tablespacename string `protobuf:"bytes,10,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - AccessMethod string `protobuf:"bytes,11,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` - IfNotExists bool `protobuf:"varint,12,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + return nil } -func (x *CreateStmt) Reset() { - *x = CreateStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SelectStmt) GetGroupDistinct() bool { + if x != nil { + return x.GroupDistinct } + return false } -func (x *CreateStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateStmt) ProtoMessage() {} - -func (x *CreateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SelectStmt) GetHavingClause() *Node { + if x != nil { + return x.HavingClause } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateStmt.ProtoReflect.Descriptor instead. -func (*CreateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{149} + return nil } -func (x *CreateStmt) GetRelation() *RangeVar { +func (x *SelectStmt) GetWindowClause() []*Node { if x != nil { - return x.Relation + return x.WindowClause } return nil } -func (x *CreateStmt) GetTableElts() []*Node { +func (x *SelectStmt) GetValuesLists() []*Node { if x != nil { - return x.TableElts + return x.ValuesLists } return nil } -func (x *CreateStmt) GetInhRelations() []*Node { +func (x *SelectStmt) GetSortClause() []*Node { if x != nil { - return x.InhRelations + return x.SortClause } return nil } -func (x *CreateStmt) GetPartbound() *PartitionBoundSpec { +func (x *SelectStmt) GetLimitOffset() *Node { if x != nil { - return x.Partbound + return x.LimitOffset } return nil } -func (x *CreateStmt) GetPartspec() *PartitionSpec { +func (x *SelectStmt) GetLimitCount() *Node { if x != nil { - return x.Partspec + return x.LimitCount } return nil } -func (x *CreateStmt) GetOfTypename() *TypeName { +func (x *SelectStmt) GetLimitOption() LimitOption { if x != nil { - return x.OfTypename + return x.LimitOption } - return nil + return LimitOption_LIMIT_OPTION_UNDEFINED } -func (x *CreateStmt) GetConstraints() []*Node { +func (x *SelectStmt) GetLockingClause() []*Node { if x != nil { - return x.Constraints + return x.LockingClause } return nil } -func (x *CreateStmt) GetOptions() []*Node { +func (x *SelectStmt) GetWithClause() *WithClause { if x != nil { - return x.Options + return x.WithClause } return nil } -func (x *CreateStmt) GetOncommit() OnCommitAction { +func (x *SelectStmt) GetOp() SetOperation { if x != nil { - return x.Oncommit + return x.Op } - return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED + return SetOperation_SET_OPERATION_UNDEFINED } -func (x *CreateStmt) GetTablespacename() string { +func (x *SelectStmt) GetAll() bool { if x != nil { - return x.Tablespacename + return x.All } - return "" + return false } -func (x *CreateStmt) GetAccessMethod() string { +func (x *SelectStmt) GetLarg() *SelectStmt { if x != nil { - return x.AccessMethod + return x.Larg } - return "" + return nil } -func (x *CreateStmt) GetIfNotExists() bool { +func (x *SelectStmt) GetRarg() *SelectStmt { if x != nil { - return x.IfNotExists + return x.Rarg } - return false + return nil } -type Constraint struct { +type SetOperationStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Contype ConstrType `protobuf:"varint,1,opt,name=contype,proto3,enum=pg_query.ConstrType" json:"contype,omitempty"` - Conname string `protobuf:"bytes,2,opt,name=conname,proto3" json:"conname,omitempty"` - Deferrable bool `protobuf:"varint,3,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,4,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` - IsNoInherit bool `protobuf:"varint,6,opt,name=is_no_inherit,proto3" json:"is_no_inherit,omitempty"` - RawExpr *Node `protobuf:"bytes,7,opt,name=raw_expr,proto3" json:"raw_expr,omitempty"` - CookedExpr string `protobuf:"bytes,8,opt,name=cooked_expr,proto3" json:"cooked_expr,omitempty"` - GeneratedWhen string `protobuf:"bytes,9,opt,name=generated_when,proto3" json:"generated_when,omitempty"` - NullsNotDistinct bool `protobuf:"varint,10,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` - Keys []*Node `protobuf:"bytes,11,rep,name=keys,proto3" json:"keys,omitempty"` - Including []*Node `protobuf:"bytes,12,rep,name=including,proto3" json:"including,omitempty"` - Exclusions []*Node `protobuf:"bytes,13,rep,name=exclusions,proto3" json:"exclusions,omitempty"` - Options []*Node `protobuf:"bytes,14,rep,name=options,proto3" json:"options,omitempty"` - Indexname string `protobuf:"bytes,15,opt,name=indexname,proto3" json:"indexname,omitempty"` - Indexspace string `protobuf:"bytes,16,opt,name=indexspace,proto3" json:"indexspace,omitempty"` - ResetDefaultTblspc bool `protobuf:"varint,17,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` - AccessMethod string `protobuf:"bytes,18,opt,name=access_method,proto3" json:"access_method,omitempty"` - WhereClause *Node `protobuf:"bytes,19,opt,name=where_clause,proto3" json:"where_clause,omitempty"` - Pktable *RangeVar `protobuf:"bytes,20,opt,name=pktable,proto3" json:"pktable,omitempty"` - FkAttrs []*Node `protobuf:"bytes,21,rep,name=fk_attrs,proto3" json:"fk_attrs,omitempty"` - PkAttrs []*Node `protobuf:"bytes,22,rep,name=pk_attrs,proto3" json:"pk_attrs,omitempty"` - FkMatchtype string `protobuf:"bytes,23,opt,name=fk_matchtype,proto3" json:"fk_matchtype,omitempty"` - FkUpdAction string `protobuf:"bytes,24,opt,name=fk_upd_action,proto3" json:"fk_upd_action,omitempty"` - FkDelAction string `protobuf:"bytes,25,opt,name=fk_del_action,proto3" json:"fk_del_action,omitempty"` - FkDelSetCols []*Node `protobuf:"bytes,26,rep,name=fk_del_set_cols,proto3" json:"fk_del_set_cols,omitempty"` - OldConpfeqop []*Node `protobuf:"bytes,27,rep,name=old_conpfeqop,proto3" json:"old_conpfeqop,omitempty"` - OldPktableOid uint32 `protobuf:"varint,28,opt,name=old_pktable_oid,proto3" json:"old_pktable_oid,omitempty"` - SkipValidation bool `protobuf:"varint,29,opt,name=skip_validation,proto3" json:"skip_validation,omitempty"` - InitiallyValid bool `protobuf:"varint,30,opt,name=initially_valid,proto3" json:"initially_valid,omitempty"` + Op SetOperation `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` + All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` + Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` + ColTypes []*Node `protobuf:"bytes,5,rep,name=col_types,json=colTypes,proto3" json:"col_types,omitempty"` + ColTypmods []*Node `protobuf:"bytes,6,rep,name=col_typmods,json=colTypmods,proto3" json:"col_typmods,omitempty"` + ColCollations []*Node `protobuf:"bytes,7,rep,name=col_collations,json=colCollations,proto3" json:"col_collations,omitempty"` + GroupClauses []*Node `protobuf:"bytes,8,rep,name=group_clauses,json=groupClauses,proto3" json:"group_clauses,omitempty"` } -func (x *Constraint) Reset() { - *x = Constraint{} +func (x *SetOperationStmt) Reset() { + *x = SetOperationStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[150] + mi := &file_pg_query_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Constraint) String() string { +func (x *SetOperationStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Constraint) ProtoMessage() {} +func (*SetOperationStmt) ProtoMessage() {} -func (x *Constraint) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[150] +func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22084,234 +22710,206 @@ func (x *Constraint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Constraint.ProtoReflect.Descriptor instead. -func (*Constraint) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{150} -} - -func (x *Constraint) GetContype() ConstrType { - if x != nil { - return x.Contype - } - return ConstrType_CONSTR_TYPE_UNDEFINED -} - -func (x *Constraint) GetConname() string { - if x != nil { - return x.Conname - } - return "" -} - -func (x *Constraint) GetDeferrable() bool { - if x != nil { - return x.Deferrable - } - return false -} - -func (x *Constraint) GetInitdeferred() bool { - if x != nil { - return x.Initdeferred - } - return false +// Deprecated: Use SetOperationStmt.ProtoReflect.Descriptor instead. +func (*SetOperationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{148} } -func (x *Constraint) GetLocation() int32 { +func (x *SetOperationStmt) GetOp() SetOperation { if x != nil { - return x.Location + return x.Op } - return 0 + return SetOperation_SET_OPERATION_UNDEFINED } -func (x *Constraint) GetIsNoInherit() bool { +func (x *SetOperationStmt) GetAll() bool { if x != nil { - return x.IsNoInherit + return x.All } return false } -func (x *Constraint) GetRawExpr() *Node { +func (x *SetOperationStmt) GetLarg() *Node { if x != nil { - return x.RawExpr + return x.Larg } return nil } -func (x *Constraint) GetCookedExpr() string { - if x != nil { - return x.CookedExpr - } - return "" -} - -func (x *Constraint) GetGeneratedWhen() string { - if x != nil { - return x.GeneratedWhen - } - return "" -} - -func (x *Constraint) GetNullsNotDistinct() bool { +func (x *SetOperationStmt) GetRarg() *Node { if x != nil { - return x.NullsNotDistinct + return x.Rarg } - return false + return nil } -func (x *Constraint) GetKeys() []*Node { +func (x *SetOperationStmt) GetColTypes() []*Node { if x != nil { - return x.Keys + return x.ColTypes } return nil } -func (x *Constraint) GetIncluding() []*Node { +func (x *SetOperationStmt) GetColTypmods() []*Node { if x != nil { - return x.Including + return x.ColTypmods } return nil } -func (x *Constraint) GetExclusions() []*Node { +func (x *SetOperationStmt) GetColCollations() []*Node { if x != nil { - return x.Exclusions + return x.ColCollations } return nil } -func (x *Constraint) GetOptions() []*Node { +func (x *SetOperationStmt) GetGroupClauses() []*Node { if x != nil { - return x.Options + return x.GroupClauses } return nil } -func (x *Constraint) GetIndexname() string { - if x != nil { - return x.Indexname - } - return "" +type ReturnStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Returnval *Node `protobuf:"bytes,1,opt,name=returnval,proto3" json:"returnval,omitempty"` } -func (x *Constraint) GetIndexspace() string { - if x != nil { - return x.Indexspace +func (x *ReturnStmt) Reset() { + *x = ReturnStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *Constraint) GetResetDefaultTblspc() bool { - if x != nil { - return x.ResetDefaultTblspc - } - return false +func (x *ReturnStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Constraint) GetAccessMethod() string { - if x != nil { - return x.AccessMethod +func (*ReturnStmt) ProtoMessage() {} + +func (x *ReturnStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[149] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *Constraint) GetWhereClause() *Node { - if x != nil { - return x.WhereClause - } - return nil +// Deprecated: Use ReturnStmt.ProtoReflect.Descriptor instead. +func (*ReturnStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{149} } -func (x *Constraint) GetPktable() *RangeVar { +func (x *ReturnStmt) GetReturnval() *Node { if x != nil { - return x.Pktable + return x.Returnval } return nil } -func (x *Constraint) GetFkAttrs() []*Node { - if x != nil { - return x.FkAttrs - } - return nil +type PLAssignStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` + Nnames int32 `protobuf:"varint,3,opt,name=nnames,proto3" json:"nnames,omitempty"` + Val *SelectStmt `protobuf:"bytes,4,opt,name=val,proto3" json:"val,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *Constraint) GetPkAttrs() []*Node { - if x != nil { - return x.PkAttrs +func (x *PLAssignStmt) Reset() { + *x = PLAssignStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Constraint) GetFkMatchtype() string { - if x != nil { - return x.FkMatchtype - } - return "" +func (x *PLAssignStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Constraint) GetFkUpdAction() string { - if x != nil { - return x.FkUpdAction +func (*PLAssignStmt) ProtoMessage() {} + +func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[150] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *Constraint) GetFkDelAction() string { - if x != nil { - return x.FkDelAction - } - return "" +// Deprecated: Use PLAssignStmt.ProtoReflect.Descriptor instead. +func (*PLAssignStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{150} } -func (x *Constraint) GetFkDelSetCols() []*Node { +func (x *PLAssignStmt) GetName() string { if x != nil { - return x.FkDelSetCols + return x.Name } - return nil + return "" } -func (x *Constraint) GetOldConpfeqop() []*Node { +func (x *PLAssignStmt) GetIndirection() []*Node { if x != nil { - return x.OldConpfeqop + return x.Indirection } return nil } -func (x *Constraint) GetOldPktableOid() uint32 { +func (x *PLAssignStmt) GetNnames() int32 { if x != nil { - return x.OldPktableOid + return x.Nnames } return 0 } -func (x *Constraint) GetSkipValidation() bool { +func (x *PLAssignStmt) GetVal() *SelectStmt { if x != nil { - return x.SkipValidation + return x.Val } - return false + return nil } -func (x *Constraint) GetInitiallyValid() bool { +func (x *PLAssignStmt) GetLocation() int32 { if x != nil { - return x.InitiallyValid + return x.Location } - return false + return 0 } -type CreateTableSpaceStmt struct { +type CreateSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - Owner *RoleSpec `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` - Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + Schemaname string `protobuf:"bytes,1,opt,name=schemaname,proto3" json:"schemaname,omitempty"` + Authrole *RoleSpec `protobuf:"bytes,2,opt,name=authrole,proto3" json:"authrole,omitempty"` + SchemaElts []*Node `protobuf:"bytes,3,rep,name=schema_elts,json=schemaElts,proto3" json:"schema_elts,omitempty"` + IfNotExists bool `protobuf:"varint,4,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *CreateTableSpaceStmt) Reset() { - *x = CreateTableSpaceStmt{} +func (x *CreateSchemaStmt) Reset() { + *x = CreateSchemaStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22319,13 +22917,13 @@ func (x *CreateTableSpaceStmt) Reset() { } } -func (x *CreateTableSpaceStmt) String() string { +func (x *CreateSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTableSpaceStmt) ProtoMessage() {} +func (*CreateSchemaStmt) ProtoMessage() {} -func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { +func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22337,50 +22935,52 @@ func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTableSpaceStmt.ProtoReflect.Descriptor instead. -func (*CreateTableSpaceStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateSchemaStmt.ProtoReflect.Descriptor instead. +func (*CreateSchemaStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{151} } -func (x *CreateTableSpaceStmt) GetTablespacename() string { +func (x *CreateSchemaStmt) GetSchemaname() string { if x != nil { - return x.Tablespacename + return x.Schemaname } return "" } -func (x *CreateTableSpaceStmt) GetOwner() *RoleSpec { +func (x *CreateSchemaStmt) GetAuthrole() *RoleSpec { if x != nil { - return x.Owner + return x.Authrole } return nil } -func (x *CreateTableSpaceStmt) GetLocation() string { +func (x *CreateSchemaStmt) GetSchemaElts() []*Node { if x != nil { - return x.Location + return x.SchemaElts } - return "" + return nil } -func (x *CreateTableSpaceStmt) GetOptions() []*Node { +func (x *CreateSchemaStmt) GetIfNotExists() bool { if x != nil { - return x.Options + return x.IfNotExists } - return nil + return false } -type DropTableSpaceStmt struct { +type AlterTableStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Cmds []*Node `protobuf:"bytes,2,rep,name=cmds,proto3" json:"cmds,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *DropTableSpaceStmt) Reset() { - *x = DropTableSpaceStmt{} +func (x *AlterTableStmt) Reset() { + *x = AlterTableStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22388,13 +22988,13 @@ func (x *DropTableSpaceStmt) Reset() { } } -func (x *DropTableSpaceStmt) String() string { +func (x *AlterTableStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropTableSpaceStmt) ProtoMessage() {} +func (*AlterTableStmt) ProtoMessage() {} -func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { +func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22406,37 +23006,50 @@ func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropTableSpaceStmt.ProtoReflect.Descriptor instead. -func (*DropTableSpaceStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AlterTableStmt.ProtoReflect.Descriptor instead. +func (*AlterTableStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{152} } -func (x *DropTableSpaceStmt) GetTablespacename() string { +func (x *AlterTableStmt) GetRelation() *RangeVar { if x != nil { - return x.Tablespacename + return x.Relation } - return "" + return nil } -func (x *DropTableSpaceStmt) GetMissingOk() bool { +func (x *AlterTableStmt) GetCmds() []*Node { + if x != nil { + return x.Cmds + } + return nil +} + +func (x *AlterTableStmt) GetObjtype() ObjectType { + if x != nil { + return x.Objtype + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterTableStmt) GetMissingOk() bool { if x != nil { return x.MissingOk } return false } -type AlterTableSpaceOptionsStmt struct { +type ReplicaIdentityStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - IsReset bool `protobuf:"varint,3,opt,name=is_reset,json=isReset,proto3" json:"is_reset,omitempty"` + IdentityType string `protobuf:"bytes,1,opt,name=identity_type,proto3" json:"identity_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *AlterTableSpaceOptionsStmt) Reset() { - *x = AlterTableSpaceOptionsStmt{} +func (x *ReplicaIdentityStmt) Reset() { + *x = ReplicaIdentityStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22444,13 +23057,13 @@ func (x *AlterTableSpaceOptionsStmt) Reset() { } } -func (x *AlterTableSpaceOptionsStmt) String() string { +func (x *ReplicaIdentityStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableSpaceOptionsStmt) ProtoMessage() {} +func (*ReplicaIdentityStmt) ProtoMessage() {} -func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { +func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22462,46 +23075,42 @@ func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableSpaceOptionsStmt.ProtoReflect.Descriptor instead. -func (*AlterTableSpaceOptionsStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use ReplicaIdentityStmt.ProtoReflect.Descriptor instead. +func (*ReplicaIdentityStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{153} } -func (x *AlterTableSpaceOptionsStmt) GetTablespacename() string { +func (x *ReplicaIdentityStmt) GetIdentityType() string { if x != nil { - return x.Tablespacename + return x.IdentityType } return "" } -func (x *AlterTableSpaceOptionsStmt) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil -} - -func (x *AlterTableSpaceOptionsStmt) GetIsReset() bool { +func (x *ReplicaIdentityStmt) GetName() string { if x != nil { - return x.IsReset + return x.Name } - return false + return "" } -type AlterTableMoveAllStmt struct { +type AlterTableCmd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrigTablespacename string `protobuf:"bytes,1,opt,name=orig_tablespacename,proto3" json:"orig_tablespacename,omitempty"` - Objtype ObjectType `protobuf:"varint,2,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` - NewTablespacename string `protobuf:"bytes,4,opt,name=new_tablespacename,proto3" json:"new_tablespacename,omitempty"` - Nowait bool `protobuf:"varint,5,opt,name=nowait,proto3" json:"nowait,omitempty"` + Subtype AlterTableType `protobuf:"varint,1,opt,name=subtype,proto3,enum=pg_query.AlterTableType" json:"subtype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` + Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` + Def *Node `protobuf:"bytes,5,opt,name=def,proto3" json:"def,omitempty"` + Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Recurse bool `protobuf:"varint,8,opt,name=recurse,proto3" json:"recurse,omitempty"` } -func (x *AlterTableMoveAllStmt) Reset() { - *x = AlterTableMoveAllStmt{} +func (x *AlterTableCmd) Reset() { + *x = AlterTableCmd{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22509,13 +23118,13 @@ func (x *AlterTableMoveAllStmt) Reset() { } } -func (x *AlterTableMoveAllStmt) String() string { +func (x *AlterTableCmd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableMoveAllStmt) ProtoMessage() {} +func (*AlterTableCmd) ProtoMessage() {} -func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { +func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22527,58 +23136,77 @@ func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableMoveAllStmt.ProtoReflect.Descriptor instead. -func (*AlterTableMoveAllStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AlterTableCmd.ProtoReflect.Descriptor instead. +func (*AlterTableCmd) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{154} } -func (x *AlterTableMoveAllStmt) GetOrigTablespacename() string { +func (x *AlterTableCmd) GetSubtype() AlterTableType { if x != nil { - return x.OrigTablespacename + return x.Subtype + } + return AlterTableType_ALTER_TABLE_TYPE_UNDEFINED +} + +func (x *AlterTableCmd) GetName() string { + if x != nil { + return x.Name } return "" } -func (x *AlterTableMoveAllStmt) GetObjtype() ObjectType { +func (x *AlterTableCmd) GetNum() int32 { if x != nil { - return x.Objtype + return x.Num } - return ObjectType_OBJECT_TYPE_UNDEFINED + return 0 } -func (x *AlterTableMoveAllStmt) GetRoles() []*Node { +func (x *AlterTableCmd) GetNewowner() *RoleSpec { if x != nil { - return x.Roles + return x.Newowner } return nil } -func (x *AlterTableMoveAllStmt) GetNewTablespacename() string { +func (x *AlterTableCmd) GetDef() *Node { if x != nil { - return x.NewTablespacename + return x.Def } - return "" + return nil } -func (x *AlterTableMoveAllStmt) GetNowait() bool { +func (x *AlterTableCmd) GetBehavior() DropBehavior { if x != nil { - return x.Nowait + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +func (x *AlterTableCmd) GetMissingOk() bool { + if x != nil { + return x.MissingOk } return false } -type CreateExtensionStmt struct { +func (x *AlterTableCmd) GetRecurse() bool { + if x != nil { + return x.Recurse + } + return false +} + +type AlterCollationStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - IfNotExists bool `protobuf:"varint,2,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Collname []*Node `protobuf:"bytes,1,rep,name=collname,proto3" json:"collname,omitempty"` } -func (x *CreateExtensionStmt) Reset() { - *x = CreateExtensionStmt{} +func (x *AlterCollationStmt) Reset() { + *x = AlterCollationStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22586,13 +23214,13 @@ func (x *CreateExtensionStmt) Reset() { } } -func (x *CreateExtensionStmt) String() string { +func (x *AlterCollationStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateExtensionStmt) ProtoMessage() {} +func (*AlterCollationStmt) ProtoMessage() {} -func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { +func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22604,43 +23232,33 @@ func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateExtensionStmt.ProtoReflect.Descriptor instead. -func (*CreateExtensionStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AlterCollationStmt.ProtoReflect.Descriptor instead. +func (*AlterCollationStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{155} } -func (x *CreateExtensionStmt) GetExtname() string { - if x != nil { - return x.Extname - } - return "" -} - -func (x *CreateExtensionStmt) GetIfNotExists() bool { - if x != nil { - return x.IfNotExists - } - return false -} - -func (x *CreateExtensionStmt) GetOptions() []*Node { +func (x *AlterCollationStmt) GetCollname() []*Node { if x != nil { - return x.Options + return x.Collname } return nil } -type AlterExtensionStmt struct { +type AlterDomainStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Subtype string `protobuf:"bytes,1,opt,name=subtype,proto3" json:"subtype,omitempty"` + TypeName []*Node `protobuf:"bytes,2,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Def *Node `protobuf:"bytes,4,opt,name=def,proto3" json:"def,omitempty"` + Behavior DropBehavior `protobuf:"varint,5,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,6,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *AlterExtensionStmt) Reset() { - *x = AlterExtensionStmt{} +func (x *AlterDomainStmt) Reset() { + *x = AlterDomainStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22648,13 +23266,13 @@ func (x *AlterExtensionStmt) Reset() { } } -func (x *AlterExtensionStmt) String() string { +func (x *AlterDomainStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterExtensionStmt) ProtoMessage() {} +func (*AlterDomainStmt) ProtoMessage() {} -func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { +func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22666,52 +23284,85 @@ func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterExtensionStmt.ProtoReflect.Descriptor instead. -func (*AlterExtensionStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AlterDomainStmt.ProtoReflect.Descriptor instead. +func (*AlterDomainStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{156} } -func (x *AlterExtensionStmt) GetExtname() string { +func (x *AlterDomainStmt) GetSubtype() string { if x != nil { - return x.Extname + return x.Subtype } return "" } -func (x *AlterExtensionStmt) GetOptions() []*Node { +func (x *AlterDomainStmt) GetTypeName() []*Node { if x != nil { - return x.Options + return x.TypeName } return nil } -type AlterExtensionContentsStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` +func (x *AlterDomainStmt) GetName() string { + if x != nil { + return x.Name + } + return "" } -func (x *AlterExtensionContentsStmt) Reset() { - *x = AlterExtensionContentsStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *AlterDomainStmt) GetDef() *Node { + if x != nil { + return x.Def } + return nil } -func (x *AlterExtensionContentsStmt) String() string { +func (x *AlterDomainStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +func (x *AlterDomainStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +type GrantStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsGrant bool `protobuf:"varint,1,opt,name=is_grant,proto3" json:"is_grant,omitempty"` + Targtype GrantTargetType `protobuf:"varint,2,opt,name=targtype,proto3,enum=pg_query.GrantTargetType" json:"targtype,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Objects []*Node `protobuf:"bytes,4,rep,name=objects,proto3" json:"objects,omitempty"` + Privileges []*Node `protobuf:"bytes,5,rep,name=privileges,proto3" json:"privileges,omitempty"` + Grantees []*Node `protobuf:"bytes,6,rep,name=grantees,proto3" json:"grantees,omitempty"` + GrantOption bool `protobuf:"varint,7,opt,name=grant_option,proto3" json:"grant_option,omitempty"` + Grantor *RoleSpec `protobuf:"bytes,8,opt,name=grantor,proto3" json:"grantor,omitempty"` + Behavior DropBehavior `protobuf:"varint,9,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *GrantStmt) Reset() { + *x = GrantStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrantStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterExtensionContentsStmt) ProtoMessage() {} +func (*GrantStmt) ProtoMessage() {} -func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { +func (x *GrantStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22723,51 +23374,87 @@ func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterExtensionContentsStmt.ProtoReflect.Descriptor instead. -func (*AlterExtensionContentsStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use GrantStmt.ProtoReflect.Descriptor instead. +func (*GrantStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{157} } -func (x *AlterExtensionContentsStmt) GetExtname() string { +func (x *GrantStmt) GetIsGrant() bool { if x != nil { - return x.Extname + return x.IsGrant } - return "" + return false } -func (x *AlterExtensionContentsStmt) GetAction() int32 { +func (x *GrantStmt) GetTargtype() GrantTargetType { if x != nil { - return x.Action + return x.Targtype } - return 0 + return GrantTargetType_GRANT_TARGET_TYPE_UNDEFINED } -func (x *AlterExtensionContentsStmt) GetObjtype() ObjectType { +func (x *GrantStmt) GetObjtype() ObjectType { if x != nil { return x.Objtype } return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterExtensionContentsStmt) GetObject() *Node { +func (x *GrantStmt) GetObjects() []*Node { if x != nil { - return x.Object + return x.Objects } return nil } -type CreateFdwStmt struct { +func (x *GrantStmt) GetPrivileges() []*Node { + if x != nil { + return x.Privileges + } + return nil +} + +func (x *GrantStmt) GetGrantees() []*Node { + if x != nil { + return x.Grantees + } + return nil +} + +func (x *GrantStmt) GetGrantOption() bool { + if x != nil { + return x.GrantOption + } + return false +} + +func (x *GrantStmt) GetGrantor() *RoleSpec { + if x != nil { + return x.Grantor + } + return nil +} + +func (x *GrantStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type ObjectWithArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Objname []*Node `protobuf:"bytes,1,rep,name=objname,proto3" json:"objname,omitempty"` + Objargs []*Node `protobuf:"bytes,2,rep,name=objargs,proto3" json:"objargs,omitempty"` + Objfuncargs []*Node `protobuf:"bytes,3,rep,name=objfuncargs,proto3" json:"objfuncargs,omitempty"` + ArgsUnspecified bool `protobuf:"varint,4,opt,name=args_unspecified,proto3" json:"args_unspecified,omitempty"` } -func (x *CreateFdwStmt) Reset() { - *x = CreateFdwStmt{} +func (x *ObjectWithArgs) Reset() { + *x = ObjectWithArgs{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22775,13 +23462,13 @@ func (x *CreateFdwStmt) Reset() { } } -func (x *CreateFdwStmt) String() string { +func (x *ObjectWithArgs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFdwStmt) ProtoMessage() {} +func (*ObjectWithArgs) ProtoMessage() {} -func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { +func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22793,44 +23480,50 @@ func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFdwStmt.ProtoReflect.Descriptor instead. -func (*CreateFdwStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use ObjectWithArgs.ProtoReflect.Descriptor instead. +func (*ObjectWithArgs) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{158} } -func (x *CreateFdwStmt) GetFdwname() string { +func (x *ObjectWithArgs) GetObjname() []*Node { if x != nil { - return x.Fdwname + return x.Objname } - return "" + return nil } -func (x *CreateFdwStmt) GetFuncOptions() []*Node { +func (x *ObjectWithArgs) GetObjargs() []*Node { if x != nil { - return x.FuncOptions + return x.Objargs } return nil } -func (x *CreateFdwStmt) GetOptions() []*Node { +func (x *ObjectWithArgs) GetObjfuncargs() []*Node { if x != nil { - return x.Options + return x.Objfuncargs } return nil } -type AlterFdwStmt struct { +func (x *ObjectWithArgs) GetArgsUnspecified() bool { + if x != nil { + return x.ArgsUnspecified + } + return false +} + +type AccessPriv struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + PrivName string `protobuf:"bytes,1,opt,name=priv_name,proto3" json:"priv_name,omitempty"` + Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` } -func (x *AlterFdwStmt) Reset() { - *x = AlterFdwStmt{} +func (x *AccessPriv) Reset() { + *x = AccessPriv{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22838,13 +23531,13 @@ func (x *AlterFdwStmt) Reset() { } } -func (x *AlterFdwStmt) String() string { +func (x *AccessPriv) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterFdwStmt) ProtoMessage() {} +func (*AccessPriv) ProtoMessage() {} -func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { +func (x *AccessPriv) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22856,47 +23549,40 @@ func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterFdwStmt.ProtoReflect.Descriptor instead. -func (*AlterFdwStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AccessPriv.ProtoReflect.Descriptor instead. +func (*AccessPriv) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{159} } -func (x *AlterFdwStmt) GetFdwname() string { +func (x *AccessPriv) GetPrivName() string { if x != nil { - return x.Fdwname + return x.PrivName } return "" } -func (x *AlterFdwStmt) GetFuncOptions() []*Node { - if x != nil { - return x.FuncOptions - } - return nil -} - -func (x *AlterFdwStmt) GetOptions() []*Node { +func (x *AccessPriv) GetCols() []*Node { if x != nil { - return x.Options + return x.Cols } return nil } -type CreateForeignServerStmt struct { +type GrantRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` - Servertype string `protobuf:"bytes,2,opt,name=servertype,proto3" json:"servertype,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Fdwname string `protobuf:"bytes,4,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + GrantedRoles []*Node `protobuf:"bytes,1,rep,name=granted_roles,proto3" json:"granted_roles,omitempty"` + GranteeRoles []*Node `protobuf:"bytes,2,rep,name=grantee_roles,proto3" json:"grantee_roles,omitempty"` + IsGrant bool `protobuf:"varint,3,opt,name=is_grant,proto3" json:"is_grant,omitempty"` + Opt []*Node `protobuf:"bytes,4,rep,name=opt,proto3" json:"opt,omitempty"` + Grantor *RoleSpec `protobuf:"bytes,5,opt,name=grantor,proto3" json:"grantor,omitempty"` + Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` } -func (x *CreateForeignServerStmt) Reset() { - *x = CreateForeignServerStmt{} +func (x *GrantRoleStmt) Reset() { + *x = GrantRoleStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22904,13 +23590,13 @@ func (x *CreateForeignServerStmt) Reset() { } } -func (x *CreateForeignServerStmt) String() string { +func (x *GrantRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateForeignServerStmt) ProtoMessage() {} +func (*GrantRoleStmt) ProtoMessage() {} -func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { +func (x *GrantRoleStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -22922,80 +23608,78 @@ func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateForeignServerStmt.ProtoReflect.Descriptor instead. -func (*CreateForeignServerStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use GrantRoleStmt.ProtoReflect.Descriptor instead. +func (*GrantRoleStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{160} } -func (x *CreateForeignServerStmt) GetServername() string { +func (x *GrantRoleStmt) GetGrantedRoles() []*Node { if x != nil { - return x.Servername + return x.GrantedRoles } - return "" + return nil } -func (x *CreateForeignServerStmt) GetServertype() string { +func (x *GrantRoleStmt) GetGranteeRoles() []*Node { if x != nil { - return x.Servertype + return x.GranteeRoles } - return "" + return nil } -func (x *CreateForeignServerStmt) GetVersion() string { +func (x *GrantRoleStmt) GetIsGrant() bool { if x != nil { - return x.Version + return x.IsGrant } - return "" + return false } -func (x *CreateForeignServerStmt) GetFdwname() string { +func (x *GrantRoleStmt) GetOpt() []*Node { if x != nil { - return x.Fdwname + return x.Opt } - return "" + return nil } -func (x *CreateForeignServerStmt) GetIfNotExists() bool { +func (x *GrantRoleStmt) GetGrantor() *RoleSpec { if x != nil { - return x.IfNotExists + return x.Grantor } - return false + return nil } -func (x *CreateForeignServerStmt) GetOptions() []*Node { +func (x *GrantRoleStmt) GetBehavior() DropBehavior { if x != nil { - return x.Options + return x.Behavior } - return nil + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -type AlterForeignServerStmt struct { +type AlterDefaultPrivilegesStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` - HasVersion bool `protobuf:"varint,4,opt,name=has_version,proto3" json:"has_version,omitempty"` + Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` + Action *GrantStmt `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` } -func (x *AlterForeignServerStmt) Reset() { - *x = AlterForeignServerStmt{} - if protoimpl.UnsafeEnabled { +func (x *AlterDefaultPrivilegesStmt) Reset() { + *x = AlterDefaultPrivilegesStmt{} + if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterForeignServerStmt) String() string { +func (x *AlterDefaultPrivilegesStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterForeignServerStmt) ProtoMessage() {} +func (*AlterDefaultPrivilegesStmt) ProtoMessage() {} -func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { +func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23007,51 +23691,42 @@ func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterForeignServerStmt.ProtoReflect.Descriptor instead. -func (*AlterForeignServerStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use AlterDefaultPrivilegesStmt.ProtoReflect.Descriptor instead. +func (*AlterDefaultPrivilegesStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{161} } -func (x *AlterForeignServerStmt) GetServername() string { - if x != nil { - return x.Servername - } - return "" -} - -func (x *AlterForeignServerStmt) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *AlterForeignServerStmt) GetOptions() []*Node { +func (x *AlterDefaultPrivilegesStmt) GetOptions() []*Node { if x != nil { return x.Options } return nil } -func (x *AlterForeignServerStmt) GetHasVersion() bool { +func (x *AlterDefaultPrivilegesStmt) GetAction() *GrantStmt { if x != nil { - return x.HasVersion + return x.Action } - return false + return nil } -type CreateForeignTableStmt struct { +type CopyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BaseStmt *CreateStmt `protobuf:"bytes,1,opt,name=base_stmt,json=base,proto3" json:"base_stmt,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Query *Node `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + Attlist []*Node `protobuf:"bytes,3,rep,name=attlist,proto3" json:"attlist,omitempty"` + IsFrom bool `protobuf:"varint,4,opt,name=is_from,proto3" json:"is_from,omitempty"` + IsProgram bool `protobuf:"varint,5,opt,name=is_program,proto3" json:"is_program,omitempty"` + Filename string `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"` + Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` + WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` } -func (x *CreateForeignTableStmt) Reset() { - *x = CreateForeignTableStmt{} +func (x *CopyStmt) Reset() { + *x = CopyStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23059,13 +23734,13 @@ func (x *CreateForeignTableStmt) Reset() { } } -func (x *CreateForeignTableStmt) String() string { +func (x *CopyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateForeignTableStmt) ProtoMessage() {} +func (*CopyStmt) ProtoMessage() {} -func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { +func (x *CopyStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23077,45 +23752,80 @@ func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateForeignTableStmt.ProtoReflect.Descriptor instead. -func (*CreateForeignTableStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use CopyStmt.ProtoReflect.Descriptor instead. +func (*CopyStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{162} } -func (x *CreateForeignTableStmt) GetBaseStmt() *CreateStmt { +func (x *CopyStmt) GetRelation() *RangeVar { if x != nil { - return x.BaseStmt + return x.Relation } return nil } -func (x *CreateForeignTableStmt) GetServername() string { +func (x *CopyStmt) GetQuery() *Node { if x != nil { - return x.Servername + return x.Query + } + return nil +} + +func (x *CopyStmt) GetAttlist() []*Node { + if x != nil { + return x.Attlist + } + return nil +} + +func (x *CopyStmt) GetIsFrom() bool { + if x != nil { + return x.IsFrom + } + return false +} + +func (x *CopyStmt) GetIsProgram() bool { + if x != nil { + return x.IsProgram + } + return false +} + +func (x *CopyStmt) GetFilename() string { + if x != nil { + return x.Filename } return "" } -func (x *CreateForeignTableStmt) GetOptions() []*Node { +func (x *CopyStmt) GetOptions() []*Node { if x != nil { return x.Options } return nil } -type CreateUserMappingStmt struct { +func (x *CopyStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +type VariableSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - IfNotExists bool `protobuf:"varint,3,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + Kind VariableSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.VariableSetKind" json:"kind,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + IsLocal bool `protobuf:"varint,4,opt,name=is_local,proto3" json:"is_local,omitempty"` } -func (x *CreateUserMappingStmt) Reset() { - *x = CreateUserMappingStmt{} +func (x *VariableSetStmt) Reset() { + *x = VariableSetStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23123,13 +23833,13 @@ func (x *CreateUserMappingStmt) Reset() { } } -func (x *CreateUserMappingStmt) String() string { +func (x *VariableSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateUserMappingStmt) ProtoMessage() {} +func (*VariableSetStmt) ProtoMessage() {} -func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { +func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23141,51 +23851,49 @@ func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateUserMappingStmt.ProtoReflect.Descriptor instead. -func (*CreateUserMappingStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use VariableSetStmt.ProtoReflect.Descriptor instead. +func (*VariableSetStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{163} } -func (x *CreateUserMappingStmt) GetUser() *RoleSpec { +func (x *VariableSetStmt) GetKind() VariableSetKind { if x != nil { - return x.User + return x.Kind } - return nil + return VariableSetKind_VARIABLE_SET_KIND_UNDEFINED } -func (x *CreateUserMappingStmt) GetServername() string { +func (x *VariableSetStmt) GetName() string { if x != nil { - return x.Servername + return x.Name } return "" } -func (x *CreateUserMappingStmt) GetIfNotExists() bool { +func (x *VariableSetStmt) GetArgs() []*Node { if x != nil { - return x.IfNotExists + return x.Args } - return false + return nil } -func (x *CreateUserMappingStmt) GetOptions() []*Node { +func (x *VariableSetStmt) GetIsLocal() bool { if x != nil { - return x.Options + return x.IsLocal } - return nil + return false } -type AlterUserMappingStmt struct { +type VariableShowStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *AlterUserMappingStmt) Reset() { - *x = AlterUserMappingStmt{} +func (x *VariableShowStmt) Reset() { + *x = VariableShowStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23193,13 +23901,13 @@ func (x *AlterUserMappingStmt) Reset() { } } -func (x *AlterUserMappingStmt) String() string { +func (x *VariableShowStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterUserMappingStmt) ProtoMessage() {} +func (*VariableShowStmt) ProtoMessage() {} -func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { +func (x *VariableShowStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23211,44 +23919,39 @@ func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterUserMappingStmt.ProtoReflect.Descriptor instead. -func (*AlterUserMappingStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use VariableShowStmt.ProtoReflect.Descriptor instead. +func (*VariableShowStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{164} } -func (x *AlterUserMappingStmt) GetUser() *RoleSpec { - if x != nil { - return x.User - } - return nil -} - -func (x *AlterUserMappingStmt) GetServername() string { +func (x *VariableShowStmt) GetName() string { if x != nil { - return x.Servername + return x.Name } return "" } -func (x *AlterUserMappingStmt) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil -} - -type DropUserMappingStmt struct { +type CreateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + TableElts []*Node `protobuf:"bytes,2,rep,name=table_elts,json=tableElts,proto3" json:"table_elts,omitempty"` + InhRelations []*Node `protobuf:"bytes,3,rep,name=inh_relations,json=inhRelations,proto3" json:"inh_relations,omitempty"` + Partbound *PartitionBoundSpec `protobuf:"bytes,4,opt,name=partbound,proto3" json:"partbound,omitempty"` + Partspec *PartitionSpec `protobuf:"bytes,5,opt,name=partspec,proto3" json:"partspec,omitempty"` + OfTypename *TypeName `protobuf:"bytes,6,opt,name=of_typename,json=ofTypename,proto3" json:"of_typename,omitempty"` + Constraints []*Node `protobuf:"bytes,7,rep,name=constraints,proto3" json:"constraints,omitempty"` + Options []*Node `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` + Oncommit OnCommitAction `protobuf:"varint,9,opt,name=oncommit,proto3,enum=pg_query.OnCommitAction" json:"oncommit,omitempty"` + Tablespacename string `protobuf:"bytes,10,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + AccessMethod string `protobuf:"bytes,11,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` + IfNotExists bool `protobuf:"varint,12,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *DropUserMappingStmt) Reset() { - *x = DropUserMappingStmt{} +func (x *CreateStmt) Reset() { + *x = CreateStmt{} if protoimpl.UnsafeEnabled { mi := &file_pg_query_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23256,13 +23959,13 @@ func (x *DropUserMappingStmt) Reset() { } } -func (x *DropUserMappingStmt) String() string { +func (x *CreateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropUserMappingStmt) ProtoMessage() {} +func (*CreateStmt) ProtoMessage() {} -func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { +func (x *CreateStmt) ProtoReflect() protoreflect.Message { mi := &file_pg_query_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -23274,150 +23977,150 @@ func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropUserMappingStmt.ProtoReflect.Descriptor instead. -func (*DropUserMappingStmt) Descriptor() ([]byte, []int) { +// Deprecated: Use CreateStmt.ProtoReflect.Descriptor instead. +func (*CreateStmt) Descriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{165} } -func (x *DropUserMappingStmt) GetUser() *RoleSpec { +func (x *CreateStmt) GetRelation() *RangeVar { if x != nil { - return x.User + return x.Relation } return nil } -func (x *DropUserMappingStmt) GetServername() string { +func (x *CreateStmt) GetTableElts() []*Node { if x != nil { - return x.Servername + return x.TableElts } - return "" + return nil } -func (x *DropUserMappingStmt) GetMissingOk() bool { +func (x *CreateStmt) GetInhRelations() []*Node { if x != nil { - return x.MissingOk + return x.InhRelations } - return false + return nil } -type ImportForeignSchemaStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServerName string `protobuf:"bytes,1,opt,name=server_name,proto3" json:"server_name,omitempty"` - RemoteSchema string `protobuf:"bytes,2,opt,name=remote_schema,proto3" json:"remote_schema,omitempty"` - LocalSchema string `protobuf:"bytes,3,opt,name=local_schema,proto3" json:"local_schema,omitempty"` - ListType ImportForeignSchemaType `protobuf:"varint,4,opt,name=list_type,proto3,enum=pg_query.ImportForeignSchemaType" json:"list_type,omitempty"` - TableList []*Node `protobuf:"bytes,5,rep,name=table_list,proto3" json:"table_list,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` +func (x *CreateStmt) GetPartbound() *PartitionBoundSpec { + if x != nil { + return x.Partbound + } + return nil } -func (x *ImportForeignSchemaStmt) Reset() { - *x = ImportForeignSchemaStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CreateStmt) GetPartspec() *PartitionSpec { + if x != nil { + return x.Partspec } + return nil } -func (x *ImportForeignSchemaStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ImportForeignSchemaStmt) ProtoMessage() {} - -func (x *ImportForeignSchemaStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CreateStmt) GetOfTypename() *TypeName { + if x != nil { + return x.OfTypename } - return mi.MessageOf(x) -} - -// Deprecated: Use ImportForeignSchemaStmt.ProtoReflect.Descriptor instead. -func (*ImportForeignSchemaStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{166} + return nil } -func (x *ImportForeignSchemaStmt) GetServerName() string { +func (x *CreateStmt) GetConstraints() []*Node { if x != nil { - return x.ServerName + return x.Constraints } - return "" + return nil } -func (x *ImportForeignSchemaStmt) GetRemoteSchema() string { +func (x *CreateStmt) GetOptions() []*Node { if x != nil { - return x.RemoteSchema + return x.Options } - return "" + return nil } -func (x *ImportForeignSchemaStmt) GetLocalSchema() string { +func (x *CreateStmt) GetOncommit() OnCommitAction { if x != nil { - return x.LocalSchema + return x.Oncommit } - return "" + return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED } -func (x *ImportForeignSchemaStmt) GetListType() ImportForeignSchemaType { +func (x *CreateStmt) GetTablespacename() string { if x != nil { - return x.ListType + return x.Tablespacename } - return ImportForeignSchemaType_IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED + return "" } -func (x *ImportForeignSchemaStmt) GetTableList() []*Node { +func (x *CreateStmt) GetAccessMethod() string { if x != nil { - return x.TableList + return x.AccessMethod } - return nil + return "" } -func (x *ImportForeignSchemaStmt) GetOptions() []*Node { +func (x *CreateStmt) GetIfNotExists() bool { if x != nil { - return x.Options + return x.IfNotExists } - return nil + return false } -type CreatePolicyStmt struct { +type Constraint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` - Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - CmdName string `protobuf:"bytes,3,opt,name=cmd_name,proto3" json:"cmd_name,omitempty"` - Permissive bool `protobuf:"varint,4,opt,name=permissive,proto3" json:"permissive,omitempty"` - Roles []*Node `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` - Qual *Node `protobuf:"bytes,6,opt,name=qual,proto3" json:"qual,omitempty"` - WithCheck *Node `protobuf:"bytes,7,opt,name=with_check,proto3" json:"with_check,omitempty"` + Contype ConstrType `protobuf:"varint,1,opt,name=contype,proto3,enum=pg_query.ConstrType" json:"contype,omitempty"` + Conname string `protobuf:"bytes,2,opt,name=conname,proto3" json:"conname,omitempty"` + Deferrable bool `protobuf:"varint,3,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,4,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + SkipValidation bool `protobuf:"varint,5,opt,name=skip_validation,proto3" json:"skip_validation,omitempty"` + InitiallyValid bool `protobuf:"varint,6,opt,name=initially_valid,proto3" json:"initially_valid,omitempty"` + IsNoInherit bool `protobuf:"varint,7,opt,name=is_no_inherit,proto3" json:"is_no_inherit,omitempty"` + RawExpr *Node `protobuf:"bytes,8,opt,name=raw_expr,proto3" json:"raw_expr,omitempty"` + CookedExpr string `protobuf:"bytes,9,opt,name=cooked_expr,proto3" json:"cooked_expr,omitempty"` + GeneratedWhen string `protobuf:"bytes,10,opt,name=generated_when,proto3" json:"generated_when,omitempty"` + Inhcount int32 `protobuf:"varint,11,opt,name=inhcount,proto3" json:"inhcount,omitempty"` + NullsNotDistinct bool `protobuf:"varint,12,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` + Keys []*Node `protobuf:"bytes,13,rep,name=keys,proto3" json:"keys,omitempty"` + Including []*Node `protobuf:"bytes,14,rep,name=including,proto3" json:"including,omitempty"` + Exclusions []*Node `protobuf:"bytes,15,rep,name=exclusions,proto3" json:"exclusions,omitempty"` + Options []*Node `protobuf:"bytes,16,rep,name=options,proto3" json:"options,omitempty"` + Indexname string `protobuf:"bytes,17,opt,name=indexname,proto3" json:"indexname,omitempty"` + Indexspace string `protobuf:"bytes,18,opt,name=indexspace,proto3" json:"indexspace,omitempty"` + ResetDefaultTblspc bool `protobuf:"varint,19,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` + AccessMethod string `protobuf:"bytes,20,opt,name=access_method,proto3" json:"access_method,omitempty"` + WhereClause *Node `protobuf:"bytes,21,opt,name=where_clause,proto3" json:"where_clause,omitempty"` + Pktable *RangeVar `protobuf:"bytes,22,opt,name=pktable,proto3" json:"pktable,omitempty"` + FkAttrs []*Node `protobuf:"bytes,23,rep,name=fk_attrs,proto3" json:"fk_attrs,omitempty"` + PkAttrs []*Node `protobuf:"bytes,24,rep,name=pk_attrs,proto3" json:"pk_attrs,omitempty"` + FkMatchtype string `protobuf:"bytes,25,opt,name=fk_matchtype,proto3" json:"fk_matchtype,omitempty"` + FkUpdAction string `protobuf:"bytes,26,opt,name=fk_upd_action,proto3" json:"fk_upd_action,omitempty"` + FkDelAction string `protobuf:"bytes,27,opt,name=fk_del_action,proto3" json:"fk_del_action,omitempty"` + FkDelSetCols []*Node `protobuf:"bytes,28,rep,name=fk_del_set_cols,proto3" json:"fk_del_set_cols,omitempty"` + OldConpfeqop []*Node `protobuf:"bytes,29,rep,name=old_conpfeqop,proto3" json:"old_conpfeqop,omitempty"` + OldPktableOid uint32 `protobuf:"varint,30,opt,name=old_pktable_oid,proto3" json:"old_pktable_oid,omitempty"` + Location int32 `protobuf:"varint,31,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreatePolicyStmt) Reset() { - *x = CreatePolicyStmt{} +func (x *Constraint) Reset() { + *x = Constraint{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[167] + mi := &file_pg_query_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePolicyStmt) String() string { +func (x *Constraint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePolicyStmt) ProtoMessage() {} +func (*Constraint) ProtoMessage() {} -func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[167] +func (x *Constraint) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23428,389 +24131,256 @@ func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePolicyStmt.ProtoReflect.Descriptor instead. -func (*CreatePolicyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{167} +// Deprecated: Use Constraint.ProtoReflect.Descriptor instead. +func (*Constraint) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{166} } -func (x *CreatePolicyStmt) GetPolicyName() string { +func (x *Constraint) GetContype() ConstrType { if x != nil { - return x.PolicyName + return x.Contype } - return "" + return ConstrType_CONSTR_TYPE_UNDEFINED } -func (x *CreatePolicyStmt) GetTable() *RangeVar { +func (x *Constraint) GetConname() string { if x != nil { - return x.Table + return x.Conname } - return nil + return "" } -func (x *CreatePolicyStmt) GetCmdName() string { +func (x *Constraint) GetDeferrable() bool { if x != nil { - return x.CmdName + return x.Deferrable } - return "" + return false } -func (x *CreatePolicyStmt) GetPermissive() bool { +func (x *Constraint) GetInitdeferred() bool { if x != nil { - return x.Permissive + return x.Initdeferred } return false } -func (x *CreatePolicyStmt) GetRoles() []*Node { +func (x *Constraint) GetSkipValidation() bool { if x != nil { - return x.Roles + return x.SkipValidation } - return nil + return false } -func (x *CreatePolicyStmt) GetQual() *Node { +func (x *Constraint) GetInitiallyValid() bool { if x != nil { - return x.Qual + return x.InitiallyValid } - return nil + return false } -func (x *CreatePolicyStmt) GetWithCheck() *Node { +func (x *Constraint) GetIsNoInherit() bool { if x != nil { - return x.WithCheck + return x.IsNoInherit } - return nil -} - -type AlterPolicyStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` - Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - WithCheck *Node `protobuf:"bytes,5,opt,name=with_check,proto3" json:"with_check,omitempty"` + return false } -func (x *AlterPolicyStmt) Reset() { - *x = AlterPolicyStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetRawExpr() *Node { + if x != nil { + return x.RawExpr } + return nil } -func (x *AlterPolicyStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetCookedExpr() string { + if x != nil { + return x.CookedExpr + } + return "" } -func (*AlterPolicyStmt) ProtoMessage() {} - -func (x *AlterPolicyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Constraint) GetGeneratedWhen() string { + if x != nil { + return x.GeneratedWhen } - return mi.MessageOf(x) + return "" } -// Deprecated: Use AlterPolicyStmt.ProtoReflect.Descriptor instead. -func (*AlterPolicyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{168} +func (x *Constraint) GetInhcount() int32 { + if x != nil { + return x.Inhcount + } + return 0 } -func (x *AlterPolicyStmt) GetPolicyName() string { +func (x *Constraint) GetNullsNotDistinct() bool { if x != nil { - return x.PolicyName + return x.NullsNotDistinct } - return "" + return false } -func (x *AlterPolicyStmt) GetTable() *RangeVar { +func (x *Constraint) GetKeys() []*Node { if x != nil { - return x.Table + return x.Keys } return nil } -func (x *AlterPolicyStmt) GetRoles() []*Node { +func (x *Constraint) GetIncluding() []*Node { if x != nil { - return x.Roles + return x.Including } return nil } -func (x *AlterPolicyStmt) GetQual() *Node { +func (x *Constraint) GetExclusions() []*Node { if x != nil { - return x.Qual + return x.Exclusions } return nil } -func (x *AlterPolicyStmt) GetWithCheck() *Node { +func (x *Constraint) GetOptions() []*Node { if x != nil { - return x.WithCheck + return x.Options } return nil } -type CreateAmStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *Constraint) GetIndexname() string { + if x != nil { + return x.Indexname + } + return "" +} - Amname string `protobuf:"bytes,1,opt,name=amname,proto3" json:"amname,omitempty"` - HandlerName []*Node `protobuf:"bytes,2,rep,name=handler_name,proto3" json:"handler_name,omitempty"` - Amtype string `protobuf:"bytes,3,opt,name=amtype,proto3" json:"amtype,omitempty"` +func (x *Constraint) GetIndexspace() string { + if x != nil { + return x.Indexspace + } + return "" } -func (x *CreateAmStmt) Reset() { - *x = CreateAmStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetResetDefaultTblspc() bool { + if x != nil { + return x.ResetDefaultTblspc } + return false } -func (x *CreateAmStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetAccessMethod() string { + if x != nil { + return x.AccessMethod + } + return "" } -func (*CreateAmStmt) ProtoMessage() {} +func (x *Constraint) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} -func (x *CreateAmStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[169] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateAmStmt.ProtoReflect.Descriptor instead. -func (*CreateAmStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{169} -} - -func (x *CreateAmStmt) GetAmname() string { - if x != nil { - return x.Amname - } - return "" -} - -func (x *CreateAmStmt) GetHandlerName() []*Node { +func (x *Constraint) GetPktable() *RangeVar { if x != nil { - return x.HandlerName + return x.Pktable } return nil } -func (x *CreateAmStmt) GetAmtype() string { +func (x *Constraint) GetFkAttrs() []*Node { if x != nil { - return x.Amtype - } - return "" -} - -type CreateTrigStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - Isconstraint bool `protobuf:"varint,2,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` - Trigname string `protobuf:"bytes,3,opt,name=trigname,proto3" json:"trigname,omitempty"` - Relation *RangeVar `protobuf:"bytes,4,opt,name=relation,proto3" json:"relation,omitempty"` - Funcname []*Node `protobuf:"bytes,5,rep,name=funcname,proto3" json:"funcname,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Row bool `protobuf:"varint,7,opt,name=row,proto3" json:"row,omitempty"` - Timing int32 `protobuf:"varint,8,opt,name=timing,proto3" json:"timing,omitempty"` - Events int32 `protobuf:"varint,9,opt,name=events,proto3" json:"events,omitempty"` - Columns []*Node `protobuf:"bytes,10,rep,name=columns,proto3" json:"columns,omitempty"` - WhenClause *Node `protobuf:"bytes,11,opt,name=when_clause,json=whenClause,proto3" json:"when_clause,omitempty"` - TransitionRels []*Node `protobuf:"bytes,12,rep,name=transition_rels,json=transitionRels,proto3" json:"transition_rels,omitempty"` - Deferrable bool `protobuf:"varint,13,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,14,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Constrrel *RangeVar `protobuf:"bytes,15,opt,name=constrrel,proto3" json:"constrrel,omitempty"` -} - -func (x *CreateTrigStmt) Reset() { - *x = CreateTrigStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateTrigStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateTrigStmt) ProtoMessage() {} - -func (x *CreateTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[170] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.FkAttrs } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateTrigStmt.ProtoReflect.Descriptor instead. -func (*CreateTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{170} + return nil } -func (x *CreateTrigStmt) GetReplace() bool { +func (x *Constraint) GetPkAttrs() []*Node { if x != nil { - return x.Replace + return x.PkAttrs } - return false + return nil } -func (x *CreateTrigStmt) GetIsconstraint() bool { +func (x *Constraint) GetFkMatchtype() string { if x != nil { - return x.Isconstraint + return x.FkMatchtype } - return false + return "" } -func (x *CreateTrigStmt) GetTrigname() string { +func (x *Constraint) GetFkUpdAction() string { if x != nil { - return x.Trigname + return x.FkUpdAction } return "" } -func (x *CreateTrigStmt) GetRelation() *RangeVar { +func (x *Constraint) GetFkDelAction() string { if x != nil { - return x.Relation + return x.FkDelAction } - return nil + return "" } -func (x *CreateTrigStmt) GetFuncname() []*Node { +func (x *Constraint) GetFkDelSetCols() []*Node { if x != nil { - return x.Funcname + return x.FkDelSetCols } return nil } -func (x *CreateTrigStmt) GetArgs() []*Node { +func (x *Constraint) GetOldConpfeqop() []*Node { if x != nil { - return x.Args + return x.OldConpfeqop } return nil } -func (x *CreateTrigStmt) GetRow() bool { - if x != nil { - return x.Row - } - return false -} - -func (x *CreateTrigStmt) GetTiming() int32 { +func (x *Constraint) GetOldPktableOid() uint32 { if x != nil { - return x.Timing + return x.OldPktableOid } return 0 } -func (x *CreateTrigStmt) GetEvents() int32 { +func (x *Constraint) GetLocation() int32 { if x != nil { - return x.Events + return x.Location } return 0 } -func (x *CreateTrigStmt) GetColumns() []*Node { - if x != nil { - return x.Columns - } - return nil -} - -func (x *CreateTrigStmt) GetWhenClause() *Node { - if x != nil { - return x.WhenClause - } - return nil -} - -func (x *CreateTrigStmt) GetTransitionRels() []*Node { - if x != nil { - return x.TransitionRels - } - return nil -} - -func (x *CreateTrigStmt) GetDeferrable() bool { - if x != nil { - return x.Deferrable - } - return false -} - -func (x *CreateTrigStmt) GetInitdeferred() bool { - if x != nil { - return x.Initdeferred - } - return false -} - -func (x *CreateTrigStmt) GetConstrrel() *RangeVar { - if x != nil { - return x.Constrrel - } - return nil -} - -type CreateEventTrigStmt struct { +type CreateTableSpaceStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` - Eventname string `protobuf:"bytes,2,opt,name=eventname,proto3" json:"eventname,omitempty"` - Whenclause []*Node `protobuf:"bytes,3,rep,name=whenclause,proto3" json:"whenclause,omitempty"` - Funcname []*Node `protobuf:"bytes,4,rep,name=funcname,proto3" json:"funcname,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + Owner *RoleSpec `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateEventTrigStmt) Reset() { - *x = CreateEventTrigStmt{} +func (x *CreateTableSpaceStmt) Reset() { + *x = CreateTableSpaceStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[171] + mi := &file_pg_query_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateEventTrigStmt) String() string { +func (x *CreateTableSpaceStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateEventTrigStmt) ProtoMessage() {} +func (*CreateTableSpaceStmt) ProtoMessage() {} -func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[171] +func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23821,65 +24391,65 @@ func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateEventTrigStmt.ProtoReflect.Descriptor instead. -func (*CreateEventTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{171} +// Deprecated: Use CreateTableSpaceStmt.ProtoReflect.Descriptor instead. +func (*CreateTableSpaceStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{167} } -func (x *CreateEventTrigStmt) GetTrigname() string { +func (x *CreateTableSpaceStmt) GetTablespacename() string { if x != nil { - return x.Trigname + return x.Tablespacename } return "" } -func (x *CreateEventTrigStmt) GetEventname() string { +func (x *CreateTableSpaceStmt) GetOwner() *RoleSpec { if x != nil { - return x.Eventname + return x.Owner } - return "" + return nil } -func (x *CreateEventTrigStmt) GetWhenclause() []*Node { +func (x *CreateTableSpaceStmt) GetLocation() string { if x != nil { - return x.Whenclause + return x.Location } - return nil + return "" } -func (x *CreateEventTrigStmt) GetFuncname() []*Node { +func (x *CreateTableSpaceStmt) GetOptions() []*Node { if x != nil { - return x.Funcname + return x.Options } return nil } -type AlterEventTrigStmt struct { +type DropTableSpaceStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` - Tgenabled string `protobuf:"bytes,2,opt,name=tgenabled,proto3" json:"tgenabled,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *AlterEventTrigStmt) Reset() { - *x = AlterEventTrigStmt{} +func (x *DropTableSpaceStmt) Reset() { + *x = DropTableSpaceStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[172] + mi := &file_pg_query_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterEventTrigStmt) String() string { +func (x *DropTableSpaceStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterEventTrigStmt) ProtoMessage() {} +func (*DropTableSpaceStmt) ProtoMessage() {} -func (x *AlterEventTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[172] +func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23890,55 +24460,52 @@ func (x *AlterEventTrigStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterEventTrigStmt.ProtoReflect.Descriptor instead. -func (*AlterEventTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{172} +// Deprecated: Use DropTableSpaceStmt.ProtoReflect.Descriptor instead. +func (*DropTableSpaceStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{168} } -func (x *AlterEventTrigStmt) GetTrigname() string { +func (x *DropTableSpaceStmt) GetTablespacename() string { if x != nil { - return x.Trigname + return x.Tablespacename } return "" } -func (x *AlterEventTrigStmt) GetTgenabled() string { +func (x *DropTableSpaceStmt) GetMissingOk() bool { if x != nil { - return x.Tgenabled + return x.MissingOk } - return "" + return false } -type CreatePLangStmt struct { +type AlterTableSpaceOptionsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - Plname string `protobuf:"bytes,2,opt,name=plname,proto3" json:"plname,omitempty"` - Plhandler []*Node `protobuf:"bytes,3,rep,name=plhandler,proto3" json:"plhandler,omitempty"` - Plinline []*Node `protobuf:"bytes,4,rep,name=plinline,proto3" json:"plinline,omitempty"` - Plvalidator []*Node `protobuf:"bytes,5,rep,name=plvalidator,proto3" json:"plvalidator,omitempty"` - Pltrusted bool `protobuf:"varint,6,opt,name=pltrusted,proto3" json:"pltrusted,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + IsReset bool `protobuf:"varint,3,opt,name=is_reset,json=isReset,proto3" json:"is_reset,omitempty"` } -func (x *CreatePLangStmt) Reset() { - *x = CreatePLangStmt{} +func (x *AlterTableSpaceOptionsStmt) Reset() { + *x = AlterTableSpaceOptionsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[173] + mi := &file_pg_query_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePLangStmt) String() string { +func (x *AlterTableSpaceOptionsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePLangStmt) ProtoMessage() {} +func (*AlterTableSpaceOptionsStmt) ProtoMessage() {} -func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[173] +func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23949,80 +24516,61 @@ func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePLangStmt.ProtoReflect.Descriptor instead. -func (*CreatePLangStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{173} -} - -func (x *CreatePLangStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false +// Deprecated: Use AlterTableSpaceOptionsStmt.ProtoReflect.Descriptor instead. +func (*AlterTableSpaceOptionsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{169} } -func (x *CreatePLangStmt) GetPlname() string { +func (x *AlterTableSpaceOptionsStmt) GetTablespacename() string { if x != nil { - return x.Plname + return x.Tablespacename } return "" } -func (x *CreatePLangStmt) GetPlhandler() []*Node { - if x != nil { - return x.Plhandler - } - return nil -} - -func (x *CreatePLangStmt) GetPlinline() []*Node { - if x != nil { - return x.Plinline - } - return nil -} - -func (x *CreatePLangStmt) GetPlvalidator() []*Node { +func (x *AlterTableSpaceOptionsStmt) GetOptions() []*Node { if x != nil { - return x.Plvalidator + return x.Options } return nil } -func (x *CreatePLangStmt) GetPltrusted() bool { +func (x *AlterTableSpaceOptionsStmt) GetIsReset() bool { if x != nil { - return x.Pltrusted + return x.IsReset } return false } -type CreateRoleStmt struct { +type AlterTableMoveAllStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - StmtType RoleStmtType `protobuf:"varint,1,opt,name=stmt_type,proto3,enum=pg_query.RoleStmtType" json:"stmt_type,omitempty"` - Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + OrigTablespacename string `protobuf:"bytes,1,opt,name=orig_tablespacename,proto3" json:"orig_tablespacename,omitempty"` + Objtype ObjectType `protobuf:"varint,2,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + NewTablespacename string `protobuf:"bytes,4,opt,name=new_tablespacename,proto3" json:"new_tablespacename,omitempty"` + Nowait bool `protobuf:"varint,5,opt,name=nowait,proto3" json:"nowait,omitempty"` } -func (x *CreateRoleStmt) Reset() { - *x = CreateRoleStmt{} +func (x *AlterTableMoveAllStmt) Reset() { + *x = AlterTableMoveAllStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[174] + mi := &file_pg_query_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateRoleStmt) String() string { +func (x *AlterTableMoveAllStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRoleStmt) ProtoMessage() {} +func (*AlterTableMoveAllStmt) ProtoMessage() {} -func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[174] +func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24033,59 +24581,73 @@ func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRoleStmt.ProtoReflect.Descriptor instead. -func (*CreateRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{174} +// Deprecated: Use AlterTableMoveAllStmt.ProtoReflect.Descriptor instead. +func (*AlterTableMoveAllStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{170} } -func (x *CreateRoleStmt) GetStmtType() RoleStmtType { +func (x *AlterTableMoveAllStmt) GetOrigTablespacename() string { if x != nil { - return x.StmtType + return x.OrigTablespacename } - return RoleStmtType_ROLE_STMT_TYPE_UNDEFINED + return "" } -func (x *CreateRoleStmt) GetRole() string { +func (x *AlterTableMoveAllStmt) GetObjtype() ObjectType { if x != nil { - return x.Role + return x.Objtype } - return "" + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *CreateRoleStmt) GetOptions() []*Node { +func (x *AlterTableMoveAllStmt) GetRoles() []*Node { if x != nil { - return x.Options + return x.Roles } return nil } -type AlterRoleStmt struct { +func (x *AlterTableMoveAllStmt) GetNewTablespacename() string { + if x != nil { + return x.NewTablespacename + } + return "" +} + +func (x *AlterTableMoveAllStmt) GetNowait() bool { + if x != nil { + return x.Nowait + } + return false +} + +type CreateExtensionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Action int32 `protobuf:"varint,3,opt,name=action,proto3" json:"action,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + IfNotExists bool `protobuf:"varint,2,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *AlterRoleStmt) Reset() { - *x = AlterRoleStmt{} +func (x *CreateExtensionStmt) Reset() { + *x = CreateExtensionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[175] + mi := &file_pg_query_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterRoleStmt) String() string { +func (x *CreateExtensionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterRoleStmt) ProtoMessage() {} +func (*CreateExtensionStmt) ProtoMessage() {} -func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[175] +func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24096,59 +24658,58 @@ func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterRoleStmt.ProtoReflect.Descriptor instead. -func (*AlterRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{175} +// Deprecated: Use CreateExtensionStmt.ProtoReflect.Descriptor instead. +func (*CreateExtensionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{171} } -func (x *AlterRoleStmt) GetRole() *RoleSpec { +func (x *CreateExtensionStmt) GetExtname() string { if x != nil { - return x.Role + return x.Extname } - return nil + return "" } -func (x *AlterRoleStmt) GetOptions() []*Node { +func (x *CreateExtensionStmt) GetIfNotExists() bool { if x != nil { - return x.Options + return x.IfNotExists } - return nil + return false } -func (x *AlterRoleStmt) GetAction() int32 { +func (x *CreateExtensionStmt) GetOptions() []*Node { if x != nil { - return x.Action + return x.Options } - return 0 + return nil } -type AlterRoleSetStmt struct { +type AlterExtensionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` - Database string `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` - Setstmt *VariableSetStmt `protobuf:"bytes,3,opt,name=setstmt,proto3" json:"setstmt,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *AlterRoleSetStmt) Reset() { - *x = AlterRoleSetStmt{} +func (x *AlterExtensionStmt) Reset() { + *x = AlterExtensionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[176] + mi := &file_pg_query_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterRoleSetStmt) String() string { +func (x *AlterExtensionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterRoleSetStmt) ProtoMessage() {} +func (*AlterExtensionStmt) ProtoMessage() {} -func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[176] +func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24159,58 +24720,53 @@ func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterRoleSetStmt.ProtoReflect.Descriptor instead. -func (*AlterRoleSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{176} -} - -func (x *AlterRoleSetStmt) GetRole() *RoleSpec { - if x != nil { - return x.Role - } - return nil +// Deprecated: Use AlterExtensionStmt.ProtoReflect.Descriptor instead. +func (*AlterExtensionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{172} } -func (x *AlterRoleSetStmt) GetDatabase() string { +func (x *AlterExtensionStmt) GetExtname() string { if x != nil { - return x.Database + return x.Extname } return "" } -func (x *AlterRoleSetStmt) GetSetstmt() *VariableSetStmt { +func (x *AlterExtensionStmt) GetOptions() []*Node { if x != nil { - return x.Setstmt + return x.Options } return nil } -type DropRoleStmt struct { +type AlterExtensionContentsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` } -func (x *DropRoleStmt) Reset() { - *x = DropRoleStmt{} +func (x *AlterExtensionContentsStmt) Reset() { + *x = AlterExtensionContentsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[177] + mi := &file_pg_query_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropRoleStmt) String() string { +func (x *AlterExtensionContentsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropRoleStmt) ProtoMessage() {} +func (*AlterExtensionContentsStmt) ProtoMessage() {} -func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[177] +func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24221,54 +24777,66 @@ func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropRoleStmt.ProtoReflect.Descriptor instead. -func (*DropRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{177} +// Deprecated: Use AlterExtensionContentsStmt.ProtoReflect.Descriptor instead. +func (*AlterExtensionContentsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{173} } -func (x *DropRoleStmt) GetRoles() []*Node { +func (x *AlterExtensionContentsStmt) GetExtname() string { if x != nil { - return x.Roles + return x.Extname } - return nil + return "" } -func (x *DropRoleStmt) GetMissingOk() bool { +func (x *AlterExtensionContentsStmt) GetAction() int32 { if x != nil { - return x.MissingOk + return x.Action } - return false + return 0 } -type CreateSeqStmt struct { +func (x *AlterExtensionContentsStmt) GetObjtype() ObjectType { + if x != nil { + return x.Objtype + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterExtensionContentsStmt) GetObject() *Node { + if x != nil { + return x.Object + } + return nil +} + +type CreateFdwStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - OwnerId uint32 `protobuf:"varint,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` - ForIdentity bool `protobuf:"varint,4,opt,name=for_identity,proto3" json:"for_identity,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateSeqStmt) Reset() { - *x = CreateSeqStmt{} +func (x *CreateFdwStmt) Reset() { + *x = CreateFdwStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[178] + mi := &file_pg_query_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSeqStmt) String() string { +func (x *CreateFdwStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSeqStmt) ProtoMessage() {} +func (*CreateFdwStmt) ProtoMessage() {} -func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[178] +func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24279,74 +24847,59 @@ func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSeqStmt.ProtoReflect.Descriptor instead. -func (*CreateSeqStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{178} +// Deprecated: Use CreateFdwStmt.ProtoReflect.Descriptor instead. +func (*CreateFdwStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{174} } -func (x *CreateSeqStmt) GetSequence() *RangeVar { +func (x *CreateFdwStmt) GetFdwname() string { if x != nil { - return x.Sequence + return x.Fdwname } - return nil + return "" } -func (x *CreateSeqStmt) GetOptions() []*Node { +func (x *CreateFdwStmt) GetFuncOptions() []*Node { if x != nil { - return x.Options + return x.FuncOptions } return nil } -func (x *CreateSeqStmt) GetOwnerId() uint32 { - if x != nil { - return x.OwnerId - } - return 0 -} - -func (x *CreateSeqStmt) GetForIdentity() bool { - if x != nil { - return x.ForIdentity - } - return false -} - -func (x *CreateSeqStmt) GetIfNotExists() bool { +func (x *CreateFdwStmt) GetOptions() []*Node { if x != nil { - return x.IfNotExists + return x.Options } - return false + return nil } -type AlterSeqStmt struct { +type AlterFdwStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - ForIdentity bool `protobuf:"varint,3,opt,name=for_identity,proto3" json:"for_identity,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *AlterSeqStmt) Reset() { - *x = AlterSeqStmt{} +func (x *AlterFdwStmt) Reset() { + *x = AlterFdwStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[179] + mi := &file_pg_query_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterSeqStmt) String() string { +func (x *AlterFdwStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSeqStmt) ProtoMessage() {} +func (*AlterFdwStmt) ProtoMessage() {} -func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[179] +func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24357,70 +24910,62 @@ func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSeqStmt.ProtoReflect.Descriptor instead. -func (*AlterSeqStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{179} +// Deprecated: Use AlterFdwStmt.ProtoReflect.Descriptor instead. +func (*AlterFdwStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{175} } -func (x *AlterSeqStmt) GetSequence() *RangeVar { +func (x *AlterFdwStmt) GetFdwname() string { if x != nil { - return x.Sequence + return x.Fdwname } - return nil + return "" } -func (x *AlterSeqStmt) GetOptions() []*Node { +func (x *AlterFdwStmt) GetFuncOptions() []*Node { if x != nil { - return x.Options + return x.FuncOptions } return nil } -func (x *AlterSeqStmt) GetForIdentity() bool { - if x != nil { - return x.ForIdentity - } - return false -} - -func (x *AlterSeqStmt) GetMissingOk() bool { +func (x *AlterFdwStmt) GetOptions() []*Node { if x != nil { - return x.MissingOk + return x.Options } - return false + return nil } -type DefineStmt struct { +type CreateForeignServerStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind ObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ObjectType" json:"kind,omitempty"` - Oldstyle bool `protobuf:"varint,2,opt,name=oldstyle,proto3" json:"oldstyle,omitempty"` - Defnames []*Node `protobuf:"bytes,3,rep,name=defnames,proto3" json:"defnames,omitempty"` - Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` - Definition []*Node `protobuf:"bytes,5,rep,name=definition,proto3" json:"definition,omitempty"` - IfNotExists bool `protobuf:"varint,6,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` + Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` + Servertype string `protobuf:"bytes,2,opt,name=servertype,proto3" json:"servertype,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Fdwname string `protobuf:"bytes,4,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` } -func (x *DefineStmt) Reset() { - *x = DefineStmt{} +func (x *CreateForeignServerStmt) Reset() { + *x = CreateForeignServerStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[180] + mi := &file_pg_query_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DefineStmt) String() string { +func (x *CreateForeignServerStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DefineStmt) ProtoMessage() {} +func (*CreateForeignServerStmt) ProtoMessage() {} -func (x *DefineStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[180] +func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24431,88 +24976,81 @@ func (x *DefineStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DefineStmt.ProtoReflect.Descriptor instead. -func (*DefineStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{180} -} - -func (x *DefineStmt) GetKind() ObjectType { - if x != nil { - return x.Kind - } - return ObjectType_OBJECT_TYPE_UNDEFINED +// Deprecated: Use CreateForeignServerStmt.ProtoReflect.Descriptor instead. +func (*CreateForeignServerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{176} } -func (x *DefineStmt) GetOldstyle() bool { +func (x *CreateForeignServerStmt) GetServername() string { if x != nil { - return x.Oldstyle + return x.Servername } - return false + return "" } -func (x *DefineStmt) GetDefnames() []*Node { +func (x *CreateForeignServerStmt) GetServertype() string { if x != nil { - return x.Defnames + return x.Servertype } - return nil + return "" } -func (x *DefineStmt) GetArgs() []*Node { +func (x *CreateForeignServerStmt) GetVersion() string { if x != nil { - return x.Args + return x.Version } - return nil + return "" } -func (x *DefineStmt) GetDefinition() []*Node { +func (x *CreateForeignServerStmt) GetFdwname() string { if x != nil { - return x.Definition + return x.Fdwname } - return nil + return "" } -func (x *DefineStmt) GetIfNotExists() bool { +func (x *CreateForeignServerStmt) GetIfNotExists() bool { if x != nil { return x.IfNotExists } return false } -func (x *DefineStmt) GetReplace() bool { +func (x *CreateForeignServerStmt) GetOptions() []*Node { if x != nil { - return x.Replace + return x.Options } - return false + return nil } -type CreateDomainStmt struct { +type AlterForeignServerStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domainname []*Node `protobuf:"bytes,1,rep,name=domainname,proto3" json:"domainname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - CollClause *CollateClause `protobuf:"bytes,3,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` - Constraints []*Node `protobuf:"bytes,4,rep,name=constraints,proto3" json:"constraints,omitempty"` + Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + HasVersion bool `protobuf:"varint,4,opt,name=has_version,proto3" json:"has_version,omitempty"` } -func (x *CreateDomainStmt) Reset() { - *x = CreateDomainStmt{} +func (x *AlterForeignServerStmt) Reset() { + *x = AlterForeignServerStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[181] + mi := &file_pg_query_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateDomainStmt) String() string { +func (x *AlterForeignServerStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateDomainStmt) ProtoMessage() {} +func (*AlterForeignServerStmt) ProtoMessage() {} -func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[181] +func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24523,69 +25061,66 @@ func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateDomainStmt.ProtoReflect.Descriptor instead. -func (*CreateDomainStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{181} +// Deprecated: Use AlterForeignServerStmt.ProtoReflect.Descriptor instead. +func (*AlterForeignServerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{177} } -func (x *CreateDomainStmt) GetDomainname() []*Node { +func (x *AlterForeignServerStmt) GetServername() string { if x != nil { - return x.Domainname + return x.Servername } - return nil + return "" } -func (x *CreateDomainStmt) GetTypeName() *TypeName { +func (x *AlterForeignServerStmt) GetVersion() string { if x != nil { - return x.TypeName + return x.Version } - return nil + return "" } -func (x *CreateDomainStmt) GetCollClause() *CollateClause { +func (x *AlterForeignServerStmt) GetOptions() []*Node { if x != nil { - return x.CollClause + return x.Options } return nil } -func (x *CreateDomainStmt) GetConstraints() []*Node { +func (x *AlterForeignServerStmt) GetHasVersion() bool { if x != nil { - return x.Constraints + return x.HasVersion } - return nil + return false } -type CreateOpClassStmt struct { +type CreateForeignTableStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opclassname []*Node `protobuf:"bytes,1,rep,name=opclassname,proto3" json:"opclassname,omitempty"` - Opfamilyname []*Node `protobuf:"bytes,2,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,3,opt,name=amname,proto3" json:"amname,omitempty"` - Datatype *TypeName `protobuf:"bytes,4,opt,name=datatype,proto3" json:"datatype,omitempty"` - Items []*Node `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` - IsDefault bool `protobuf:"varint,6,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + BaseStmt *CreateStmt `protobuf:"bytes,1,opt,name=base_stmt,json=base,proto3" json:"base_stmt,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateOpClassStmt) Reset() { - *x = CreateOpClassStmt{} +func (x *CreateForeignTableStmt) Reset() { + *x = CreateForeignTableStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[182] + mi := &file_pg_query_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateOpClassStmt) String() string { +func (x *CreateForeignTableStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateOpClassStmt) ProtoMessage() {} +func (*CreateForeignTableStmt) ProtoMessage() {} -func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[182] +func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24596,83 +25131,60 @@ func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateOpClassStmt.ProtoReflect.Descriptor instead. -func (*CreateOpClassStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{182} -} - -func (x *CreateOpClassStmt) GetOpclassname() []*Node { - if x != nil { - return x.Opclassname - } - return nil +// Deprecated: Use CreateForeignTableStmt.ProtoReflect.Descriptor instead. +func (*CreateForeignTableStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{178} } -func (x *CreateOpClassStmt) GetOpfamilyname() []*Node { +func (x *CreateForeignTableStmt) GetBaseStmt() *CreateStmt { if x != nil { - return x.Opfamilyname + return x.BaseStmt } return nil } -func (x *CreateOpClassStmt) GetAmname() string { +func (x *CreateForeignTableStmt) GetServername() string { if x != nil { - return x.Amname + return x.Servername } return "" } -func (x *CreateOpClassStmt) GetDatatype() *TypeName { - if x != nil { - return x.Datatype - } - return nil -} - -func (x *CreateOpClassStmt) GetItems() []*Node { +func (x *CreateForeignTableStmt) GetOptions() []*Node { if x != nil { - return x.Items + return x.Options } return nil } -func (x *CreateOpClassStmt) GetIsDefault() bool { - if x != nil { - return x.IsDefault - } - return false -} - -type CreateOpClassItem struct { +type CreateUserMappingStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Itemtype int32 `protobuf:"varint,1,opt,name=itemtype,proto3" json:"itemtype,omitempty"` - Name *ObjectWithArgs `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - OrderFamily []*Node `protobuf:"bytes,4,rep,name=order_family,proto3" json:"order_family,omitempty"` - ClassArgs []*Node `protobuf:"bytes,5,rep,name=class_args,proto3" json:"class_args,omitempty"` - Storedtype *TypeName `protobuf:"bytes,6,opt,name=storedtype,proto3" json:"storedtype,omitempty"` + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + IfNotExists bool `protobuf:"varint,3,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateOpClassItem) Reset() { - *x = CreateOpClassItem{} +func (x *CreateUserMappingStmt) Reset() { + *x = CreateUserMappingStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[183] + mi := &file_pg_query_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateOpClassItem) String() string { +func (x *CreateUserMappingStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateOpClassItem) ProtoMessage() {} +func (*CreateUserMappingStmt) ProtoMessage() {} -func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[183] +func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24683,79 +25195,66 @@ func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateOpClassItem.ProtoReflect.Descriptor instead. -func (*CreateOpClassItem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{183} -} - -func (x *CreateOpClassItem) GetItemtype() int32 { - if x != nil { - return x.Itemtype - } - return 0 +// Deprecated: Use CreateUserMappingStmt.ProtoReflect.Descriptor instead. +func (*CreateUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{179} } -func (x *CreateOpClassItem) GetName() *ObjectWithArgs { +func (x *CreateUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.Name + return x.User } return nil } -func (x *CreateOpClassItem) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 -} - -func (x *CreateOpClassItem) GetOrderFamily() []*Node { +func (x *CreateUserMappingStmt) GetServername() string { if x != nil { - return x.OrderFamily + return x.Servername } - return nil + return "" } -func (x *CreateOpClassItem) GetClassArgs() []*Node { +func (x *CreateUserMappingStmt) GetIfNotExists() bool { if x != nil { - return x.ClassArgs + return x.IfNotExists } - return nil + return false } -func (x *CreateOpClassItem) GetStoredtype() *TypeName { +func (x *CreateUserMappingStmt) GetOptions() []*Node { if x != nil { - return x.Storedtype + return x.Options } return nil } -type CreateOpFamilyStmt struct { +type AlterUserMappingStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateOpFamilyStmt) Reset() { - *x = CreateOpFamilyStmt{} +func (x *AlterUserMappingStmt) Reset() { + *x = AlterUserMappingStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[184] + mi := &file_pg_query_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateOpFamilyStmt) String() string { +func (x *AlterUserMappingStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateOpFamilyStmt) ProtoMessage() {} +func (*AlterUserMappingStmt) ProtoMessage() {} -func (x *CreateOpFamilyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[184] +func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24766,53 +25265,59 @@ func (x *CreateOpFamilyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateOpFamilyStmt.ProtoReflect.Descriptor instead. -func (*CreateOpFamilyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{184} +// Deprecated: Use AlterUserMappingStmt.ProtoReflect.Descriptor instead. +func (*AlterUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{180} } -func (x *CreateOpFamilyStmt) GetOpfamilyname() []*Node { +func (x *AlterUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.Opfamilyname + return x.User } return nil } -func (x *CreateOpFamilyStmt) GetAmname() string { +func (x *AlterUserMappingStmt) GetServername() string { if x != nil { - return x.Amname + return x.Servername } return "" } -type AlterOpFamilyStmt struct { +func (x *AlterUserMappingStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type DropUserMappingStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` - IsDrop bool `protobuf:"varint,3,opt,name=is_drop,json=isDrop,proto3" json:"is_drop,omitempty"` - Items []*Node `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *AlterOpFamilyStmt) Reset() { - *x = AlterOpFamilyStmt{} +func (x *DropUserMappingStmt) Reset() { + *x = DropUserMappingStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[185] + mi := &file_pg_query_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterOpFamilyStmt) String() string { +func (x *DropUserMappingStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterOpFamilyStmt) ProtoMessage() {} +func (*DropUserMappingStmt) ProtoMessage() {} -func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[185] +func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24823,68 +25328,62 @@ func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterOpFamilyStmt.ProtoReflect.Descriptor instead. -func (*AlterOpFamilyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{185} +// Deprecated: Use DropUserMappingStmt.ProtoReflect.Descriptor instead. +func (*DropUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{181} } -func (x *AlterOpFamilyStmt) GetOpfamilyname() []*Node { +func (x *DropUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.Opfamilyname + return x.User } return nil } -func (x *AlterOpFamilyStmt) GetAmname() string { +func (x *DropUserMappingStmt) GetServername() string { if x != nil { - return x.Amname + return x.Servername } return "" } -func (x *AlterOpFamilyStmt) GetIsDrop() bool { +func (x *DropUserMappingStmt) GetMissingOk() bool { if x != nil { - return x.IsDrop + return x.MissingOk } return false } -func (x *AlterOpFamilyStmt) GetItems() []*Node { - if x != nil { - return x.Items - } - return nil -} - -type DropStmt struct { +type ImportForeignSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objects []*Node `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` - RemoveType ObjectType `protobuf:"varint,2,opt,name=remove_type,json=removeType,proto3,enum=pg_query.ObjectType" json:"remove_type,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Concurrent bool `protobuf:"varint,5,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + ServerName string `protobuf:"bytes,1,opt,name=server_name,proto3" json:"server_name,omitempty"` + RemoteSchema string `protobuf:"bytes,2,opt,name=remote_schema,proto3" json:"remote_schema,omitempty"` + LocalSchema string `protobuf:"bytes,3,opt,name=local_schema,proto3" json:"local_schema,omitempty"` + ListType ImportForeignSchemaType `protobuf:"varint,4,opt,name=list_type,proto3,enum=pg_query.ImportForeignSchemaType" json:"list_type,omitempty"` + TableList []*Node `protobuf:"bytes,5,rep,name=table_list,proto3" json:"table_list,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` } -func (x *DropStmt) Reset() { - *x = DropStmt{} +func (x *ImportForeignSchemaStmt) Reset() { + *x = ImportForeignSchemaStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[186] + mi := &file_pg_query_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropStmt) String() string { +func (x *ImportForeignSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropStmt) ProtoMessage() {} +func (*ImportForeignSchemaStmt) ProtoMessage() {} -func (x *DropStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[186] +func (x *ImportForeignSchemaStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24895,73 +25394,84 @@ func (x *DropStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropStmt.ProtoReflect.Descriptor instead. -func (*DropStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{186} +// Deprecated: Use ImportForeignSchemaStmt.ProtoReflect.Descriptor instead. +func (*ImportForeignSchemaStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{182} } -func (x *DropStmt) GetObjects() []*Node { +func (x *ImportForeignSchemaStmt) GetServerName() string { if x != nil { - return x.Objects + return x.ServerName } - return nil + return "" } -func (x *DropStmt) GetRemoveType() ObjectType { +func (x *ImportForeignSchemaStmt) GetRemoteSchema() string { if x != nil { - return x.RemoveType + return x.RemoteSchema } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *DropStmt) GetBehavior() DropBehavior { +func (x *ImportForeignSchemaStmt) GetLocalSchema() string { if x != nil { - return x.Behavior + return x.LocalSchema } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return "" } -func (x *DropStmt) GetMissingOk() bool { +func (x *ImportForeignSchemaStmt) GetListType() ImportForeignSchemaType { if x != nil { - return x.MissingOk + return x.ListType } - return false + return ImportForeignSchemaType_IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED } -func (x *DropStmt) GetConcurrent() bool { +func (x *ImportForeignSchemaStmt) GetTableList() []*Node { if x != nil { - return x.Concurrent + return x.TableList } - return false + return nil } -type TruncateStmt struct { +func (x *ImportForeignSchemaStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type CreatePolicyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` - RestartSeqs bool `protobuf:"varint,2,opt,name=restart_seqs,proto3" json:"restart_seqs,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` + Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + CmdName string `protobuf:"bytes,3,opt,name=cmd_name,proto3" json:"cmd_name,omitempty"` + Permissive bool `protobuf:"varint,4,opt,name=permissive,proto3" json:"permissive,omitempty"` + Roles []*Node `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` + Qual *Node `protobuf:"bytes,6,opt,name=qual,proto3" json:"qual,omitempty"` + WithCheck *Node `protobuf:"bytes,7,opt,name=with_check,proto3" json:"with_check,omitempty"` } -func (x *TruncateStmt) Reset() { - *x = TruncateStmt{} +func (x *CreatePolicyStmt) Reset() { + *x = CreatePolicyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[187] + mi := &file_pg_query_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TruncateStmt) String() string { +func (x *CreatePolicyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TruncateStmt) ProtoMessage() {} +func (*CreatePolicyStmt) ProtoMessage() {} -func (x *TruncateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[187] +func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24972,59 +25482,89 @@ func (x *TruncateStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TruncateStmt.ProtoReflect.Descriptor instead. -func (*TruncateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{187} +// Deprecated: Use CreatePolicyStmt.ProtoReflect.Descriptor instead. +func (*CreatePolicyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{183} } -func (x *TruncateStmt) GetRelations() []*Node { +func (x *CreatePolicyStmt) GetPolicyName() string { if x != nil { - return x.Relations + return x.PolicyName + } + return "" +} + +func (x *CreatePolicyStmt) GetTable() *RangeVar { + if x != nil { + return x.Table } return nil } -func (x *TruncateStmt) GetRestartSeqs() bool { +func (x *CreatePolicyStmt) GetCmdName() string { if x != nil { - return x.RestartSeqs + return x.CmdName + } + return "" +} + +func (x *CreatePolicyStmt) GetPermissive() bool { + if x != nil { + return x.Permissive } return false } -func (x *TruncateStmt) GetBehavior() DropBehavior { +func (x *CreatePolicyStmt) GetRoles() []*Node { if x != nil { - return x.Behavior + return x.Roles } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return nil } -type CommentStmt struct { +func (x *CreatePolicyStmt) GetQual() *Node { + if x != nil { + return x.Qual + } + return nil +} + +func (x *CreatePolicyStmt) GetWithCheck() *Node { + if x != nil { + return x.WithCheck + } + return nil +} + +type AlterPolicyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` + Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + WithCheck *Node `protobuf:"bytes,5,opt,name=with_check,proto3" json:"with_check,omitempty"` } -func (x *CommentStmt) Reset() { - *x = CommentStmt{} +func (x *AlterPolicyStmt) Reset() { + *x = AlterPolicyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[188] + mi := &file_pg_query_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CommentStmt) String() string { +func (x *AlterPolicyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CommentStmt) ProtoMessage() {} +func (*AlterPolicyStmt) ProtoMessage() {} -func (x *CommentStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[188] +func (x *AlterPolicyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25035,60 +25575,73 @@ func (x *CommentStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CommentStmt.ProtoReflect.Descriptor instead. -func (*CommentStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{188} +// Deprecated: Use AlterPolicyStmt.ProtoReflect.Descriptor instead. +func (*AlterPolicyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{184} } -func (x *CommentStmt) GetObjtype() ObjectType { +func (x *AlterPolicyStmt) GetPolicyName() string { if x != nil { - return x.Objtype + return x.PolicyName } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *CommentStmt) GetObject() *Node { +func (x *AlterPolicyStmt) GetTable() *RangeVar { if x != nil { - return x.Object + return x.Table } return nil } -func (x *CommentStmt) GetComment() string { +func (x *AlterPolicyStmt) GetRoles() []*Node { if x != nil { - return x.Comment + return x.Roles } - return "" + return nil } -type SecLabelStmt struct { +func (x *AlterPolicyStmt) GetQual() *Node { + if x != nil { + return x.Qual + } + return nil +} + +func (x *AlterPolicyStmt) GetWithCheck() *Node { + if x != nil { + return x.WithCheck + } + return nil +} + +type CreateAmStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` + Amname string `protobuf:"bytes,1,opt,name=amname,proto3" json:"amname,omitempty"` + HandlerName []*Node `protobuf:"bytes,2,rep,name=handler_name,proto3" json:"handler_name,omitempty"` + Amtype string `protobuf:"bytes,3,opt,name=amtype,proto3" json:"amtype,omitempty"` } -func (x *SecLabelStmt) Reset() { - *x = SecLabelStmt{} +func (x *CreateAmStmt) Reset() { + *x = CreateAmStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[189] + mi := &file_pg_query_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SecLabelStmt) String() string { +func (x *CreateAmStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SecLabelStmt) ProtoMessage() {} +func (*CreateAmStmt) ProtoMessage() {} -func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[189] +func (x *CreateAmStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25099,66 +25652,71 @@ func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SecLabelStmt.ProtoReflect.Descriptor instead. -func (*SecLabelStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{189} +// Deprecated: Use CreateAmStmt.ProtoReflect.Descriptor instead. +func (*CreateAmStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{185} } -func (x *SecLabelStmt) GetObjtype() ObjectType { +func (x *CreateAmStmt) GetAmname() string { if x != nil { - return x.Objtype + return x.Amname } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *SecLabelStmt) GetObject() *Node { +func (x *CreateAmStmt) GetHandlerName() []*Node { if x != nil { - return x.Object + return x.HandlerName } return nil } -func (x *SecLabelStmt) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *SecLabelStmt) GetLabel() string { +func (x *CreateAmStmt) GetAmtype() string { if x != nil { - return x.Label + return x.Amtype } return "" } -type DeclareCursorStmt struct { +type CreateTrigStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` - Options int32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + Isconstraint bool `protobuf:"varint,2,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` + Trigname string `protobuf:"bytes,3,opt,name=trigname,proto3" json:"trigname,omitempty"` + Relation *RangeVar `protobuf:"bytes,4,opt,name=relation,proto3" json:"relation,omitempty"` + Funcname []*Node `protobuf:"bytes,5,rep,name=funcname,proto3" json:"funcname,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Row bool `protobuf:"varint,7,opt,name=row,proto3" json:"row,omitempty"` + Timing int32 `protobuf:"varint,8,opt,name=timing,proto3" json:"timing,omitempty"` + Events int32 `protobuf:"varint,9,opt,name=events,proto3" json:"events,omitempty"` + Columns []*Node `protobuf:"bytes,10,rep,name=columns,proto3" json:"columns,omitempty"` + WhenClause *Node `protobuf:"bytes,11,opt,name=when_clause,json=whenClause,proto3" json:"when_clause,omitempty"` + TransitionRels []*Node `protobuf:"bytes,12,rep,name=transition_rels,json=transitionRels,proto3" json:"transition_rels,omitempty"` + Deferrable bool `protobuf:"varint,13,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,14,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + Constrrel *RangeVar `protobuf:"bytes,15,opt,name=constrrel,proto3" json:"constrrel,omitempty"` } -func (x *DeclareCursorStmt) Reset() { - *x = DeclareCursorStmt{} +func (x *CreateTrigStmt) Reset() { + *x = CreateTrigStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[190] + mi := &file_pg_query_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeclareCursorStmt) String() string { +func (x *CreateTrigStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeclareCursorStmt) ProtoMessage() {} +func (*CreateTrigStmt) ProtoMessage() {} -func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[190] +func (x *CreateTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25169,107 +25727,144 @@ func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeclareCursorStmt.ProtoReflect.Descriptor instead. -func (*DeclareCursorStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{190} +// Deprecated: Use CreateTrigStmt.ProtoReflect.Descriptor instead. +func (*CreateTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{186} } -func (x *DeclareCursorStmt) GetPortalname() string { +func (x *CreateTrigStmt) GetReplace() bool { if x != nil { - return x.Portalname + return x.Replace + } + return false +} + +func (x *CreateTrigStmt) GetIsconstraint() bool { + if x != nil { + return x.Isconstraint + } + return false +} + +func (x *CreateTrigStmt) GetTrigname() string { + if x != nil { + return x.Trigname } return "" } -func (x *DeclareCursorStmt) GetOptions() int32 { +func (x *CreateTrigStmt) GetRelation() *RangeVar { if x != nil { - return x.Options + return x.Relation } - return 0 + return nil } -func (x *DeclareCursorStmt) GetQuery() *Node { +func (x *CreateTrigStmt) GetFuncname() []*Node { if x != nil { - return x.Query + return x.Funcname } return nil } -type ClosePortalStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *CreateTrigStmt) GetArgs() []*Node { + if x != nil { + return x.Args + } + return nil +} - Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` +func (x *CreateTrigStmt) GetRow() bool { + if x != nil { + return x.Row + } + return false } -func (x *ClosePortalStmt) Reset() { - *x = ClosePortalStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CreateTrigStmt) GetTiming() int32 { + if x != nil { + return x.Timing } + return 0 } -func (x *ClosePortalStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CreateTrigStmt) GetEvents() int32 { + if x != nil { + return x.Events + } + return 0 } -func (*ClosePortalStmt) ProtoMessage() {} +func (x *CreateTrigStmt) GetColumns() []*Node { + if x != nil { + return x.Columns + } + return nil +} -func (x *ClosePortalStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[191] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CreateTrigStmt) GetWhenClause() *Node { + if x != nil { + return x.WhenClause } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ClosePortalStmt.ProtoReflect.Descriptor instead. -func (*ClosePortalStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{191} +func (x *CreateTrigStmt) GetTransitionRels() []*Node { + if x != nil { + return x.TransitionRels + } + return nil } -func (x *ClosePortalStmt) GetPortalname() string { +func (x *CreateTrigStmt) GetDeferrable() bool { if x != nil { - return x.Portalname + return x.Deferrable } - return "" + return false } -type FetchStmt struct { +func (x *CreateTrigStmt) GetInitdeferred() bool { + if x != nil { + return x.Initdeferred + } + return false +} + +func (x *CreateTrigStmt) GetConstrrel() *RangeVar { + if x != nil { + return x.Constrrel + } + return nil +} + +type CreateEventTrigStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Direction FetchDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=pg_query.FetchDirection" json:"direction,omitempty"` - HowMany int64 `protobuf:"varint,2,opt,name=how_many,json=howMany,proto3" json:"how_many,omitempty"` - Portalname string `protobuf:"bytes,3,opt,name=portalname,proto3" json:"portalname,omitempty"` - Ismove bool `protobuf:"varint,4,opt,name=ismove,proto3" json:"ismove,omitempty"` + Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` + Eventname string `protobuf:"bytes,2,opt,name=eventname,proto3" json:"eventname,omitempty"` + Whenclause []*Node `protobuf:"bytes,3,rep,name=whenclause,proto3" json:"whenclause,omitempty"` + Funcname []*Node `protobuf:"bytes,4,rep,name=funcname,proto3" json:"funcname,omitempty"` } -func (x *FetchStmt) Reset() { - *x = FetchStmt{} +func (x *CreateEventTrigStmt) Reset() { + *x = CreateEventTrigStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[192] + mi := &file_pg_query_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FetchStmt) String() string { +func (x *CreateEventTrigStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchStmt) ProtoMessage() {} +func (*CreateEventTrigStmt) ProtoMessage() {} -func (x *FetchStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[192] +func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25280,87 +25875,65 @@ func (x *FetchStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchStmt.ProtoReflect.Descriptor instead. -func (*FetchStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{192} +// Deprecated: Use CreateEventTrigStmt.ProtoReflect.Descriptor instead. +func (*CreateEventTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{187} } -func (x *FetchStmt) GetDirection() FetchDirection { +func (x *CreateEventTrigStmt) GetTrigname() string { if x != nil { - return x.Direction + return x.Trigname } - return FetchDirection_FETCH_DIRECTION_UNDEFINED + return "" } -func (x *FetchStmt) GetHowMany() int64 { +func (x *CreateEventTrigStmt) GetEventname() string { if x != nil { - return x.HowMany + return x.Eventname } - return 0 + return "" } -func (x *FetchStmt) GetPortalname() string { +func (x *CreateEventTrigStmt) GetWhenclause() []*Node { if x != nil { - return x.Portalname + return x.Whenclause } - return "" + return nil } -func (x *FetchStmt) GetIsmove() bool { +func (x *CreateEventTrigStmt) GetFuncname() []*Node { if x != nil { - return x.Ismove + return x.Funcname } - return false + return nil } -type IndexStmt struct { +type AlterEventTrigStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Idxname string `protobuf:"bytes,1,opt,name=idxname,proto3" json:"idxname,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` - TableSpace string `protobuf:"bytes,4,opt,name=table_space,json=tableSpace,proto3" json:"table_space,omitempty"` - IndexParams []*Node `protobuf:"bytes,5,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"` - IndexIncludingParams []*Node `protobuf:"bytes,6,rep,name=index_including_params,json=indexIncludingParams,proto3" json:"index_including_params,omitempty"` - Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` - WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - ExcludeOpNames []*Node `protobuf:"bytes,9,rep,name=exclude_op_names,json=excludeOpNames,proto3" json:"exclude_op_names,omitempty"` - Idxcomment string `protobuf:"bytes,10,opt,name=idxcomment,proto3" json:"idxcomment,omitempty"` - IndexOid uint32 `protobuf:"varint,11,opt,name=index_oid,json=indexOid,proto3" json:"index_oid,omitempty"` - OldNumber uint32 `protobuf:"varint,12,opt,name=old_number,json=oldNumber,proto3" json:"old_number,omitempty"` - OldCreateSubid uint32 `protobuf:"varint,13,opt,name=old_create_subid,json=oldCreateSubid,proto3" json:"old_create_subid,omitempty"` - OldFirstRelfilelocatorSubid uint32 `protobuf:"varint,14,opt,name=old_first_relfilelocator_subid,json=oldFirstRelfilelocatorSubid,proto3" json:"old_first_relfilelocator_subid,omitempty"` - Unique bool `protobuf:"varint,15,opt,name=unique,proto3" json:"unique,omitempty"` - NullsNotDistinct bool `protobuf:"varint,16,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` - Primary bool `protobuf:"varint,17,opt,name=primary,proto3" json:"primary,omitempty"` - Isconstraint bool `protobuf:"varint,18,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` - Deferrable bool `protobuf:"varint,19,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,20,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Transformed bool `protobuf:"varint,21,opt,name=transformed,proto3" json:"transformed,omitempty"` - Concurrent bool `protobuf:"varint,22,opt,name=concurrent,proto3" json:"concurrent,omitempty"` - IfNotExists bool `protobuf:"varint,23,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - ResetDefaultTblspc bool `protobuf:"varint,24,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` + Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` + Tgenabled string `protobuf:"bytes,2,opt,name=tgenabled,proto3" json:"tgenabled,omitempty"` } -func (x *IndexStmt) Reset() { - *x = IndexStmt{} +func (x *AlterEventTrigStmt) Reset() { + *x = AlterEventTrigStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[193] + mi := &file_pg_query_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IndexStmt) String() string { +func (x *AlterEventTrigStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IndexStmt) ProtoMessage() {} +func (*AlterEventTrigStmt) ProtoMessage() {} -func (x *IndexStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[193] +func (x *AlterEventTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25371,210 +25944,202 @@ func (x *IndexStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IndexStmt.ProtoReflect.Descriptor instead. -func (*IndexStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{193} +// Deprecated: Use AlterEventTrigStmt.ProtoReflect.Descriptor instead. +func (*AlterEventTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{188} } -func (x *IndexStmt) GetIdxname() string { +func (x *AlterEventTrigStmt) GetTrigname() string { if x != nil { - return x.Idxname + return x.Trigname } return "" } -func (x *IndexStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *IndexStmt) GetAccessMethod() string { +func (x *AlterEventTrigStmt) GetTgenabled() string { if x != nil { - return x.AccessMethod + return x.Tgenabled } return "" } -func (x *IndexStmt) GetTableSpace() string { - if x != nil { - return x.TableSpace - } - return "" -} +type CreatePLangStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *IndexStmt) GetIndexParams() []*Node { - if x != nil { - return x.IndexParams - } - return nil + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + Plname string `protobuf:"bytes,2,opt,name=plname,proto3" json:"plname,omitempty"` + Plhandler []*Node `protobuf:"bytes,3,rep,name=plhandler,proto3" json:"plhandler,omitempty"` + Plinline []*Node `protobuf:"bytes,4,rep,name=plinline,proto3" json:"plinline,omitempty"` + Plvalidator []*Node `protobuf:"bytes,5,rep,name=plvalidator,proto3" json:"plvalidator,omitempty"` + Pltrusted bool `protobuf:"varint,6,opt,name=pltrusted,proto3" json:"pltrusted,omitempty"` } -func (x *IndexStmt) GetIndexIncludingParams() []*Node { - if x != nil { - return x.IndexIncludingParams +func (x *CreatePLangStmt) Reset() { + *x = CreatePLangStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *IndexStmt) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil +func (x *CreatePLangStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *IndexStmt) GetWhereClause() *Node { - if x != nil { - return x.WhereClause - } - return nil -} +func (*CreatePLangStmt) ProtoMessage() {} -func (x *IndexStmt) GetExcludeOpNames() []*Node { - if x != nil { - return x.ExcludeOpNames +func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[189] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *IndexStmt) GetIdxcomment() string { - if x != nil { - return x.Idxcomment - } - return "" +// Deprecated: Use CreatePLangStmt.ProtoReflect.Descriptor instead. +func (*CreatePLangStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{189} } -func (x *IndexStmt) GetIndexOid() uint32 { +func (x *CreatePLangStmt) GetReplace() bool { if x != nil { - return x.IndexOid + return x.Replace } - return 0 + return false } -func (x *IndexStmt) GetOldNumber() uint32 { +func (x *CreatePLangStmt) GetPlname() string { if x != nil { - return x.OldNumber + return x.Plname } - return 0 + return "" } -func (x *IndexStmt) GetOldCreateSubid() uint32 { +func (x *CreatePLangStmt) GetPlhandler() []*Node { if x != nil { - return x.OldCreateSubid + return x.Plhandler } - return 0 + return nil } -func (x *IndexStmt) GetOldFirstRelfilelocatorSubid() uint32 { +func (x *CreatePLangStmt) GetPlinline() []*Node { if x != nil { - return x.OldFirstRelfilelocatorSubid + return x.Plinline } - return 0 + return nil } -func (x *IndexStmt) GetUnique() bool { +func (x *CreatePLangStmt) GetPlvalidator() []*Node { if x != nil { - return x.Unique + return x.Plvalidator } - return false + return nil } -func (x *IndexStmt) GetNullsNotDistinct() bool { +func (x *CreatePLangStmt) GetPltrusted() bool { if x != nil { - return x.NullsNotDistinct + return x.Pltrusted } return false } -func (x *IndexStmt) GetPrimary() bool { - if x != nil { - return x.Primary - } - return false +type CreateRoleStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StmtType RoleStmtType `protobuf:"varint,1,opt,name=stmt_type,proto3,enum=pg_query.RoleStmtType" json:"stmt_type,omitempty"` + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *IndexStmt) GetIsconstraint() bool { - if x != nil { - return x.Isconstraint +func (x *CreateRoleStmt) Reset() { + *x = CreateRoleStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *IndexStmt) GetDeferrable() bool { - if x != nil { - return x.Deferrable - } - return false +func (x *CreateRoleStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *IndexStmt) GetInitdeferred() bool { - if x != nil { - return x.Initdeferred +func (*CreateRoleStmt) ProtoMessage() {} + +func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[190] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (x *IndexStmt) GetTransformed() bool { - if x != nil { - return x.Transformed - } - return false +// Deprecated: Use CreateRoleStmt.ProtoReflect.Descriptor instead. +func (*CreateRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{190} } -func (x *IndexStmt) GetConcurrent() bool { +func (x *CreateRoleStmt) GetStmtType() RoleStmtType { if x != nil { - return x.Concurrent + return x.StmtType } - return false + return RoleStmtType_ROLE_STMT_TYPE_UNDEFINED } -func (x *IndexStmt) GetIfNotExists() bool { +func (x *CreateRoleStmt) GetRole() string { if x != nil { - return x.IfNotExists + return x.Role } - return false + return "" } -func (x *IndexStmt) GetResetDefaultTblspc() bool { +func (x *CreateRoleStmt) GetOptions() []*Node { if x != nil { - return x.ResetDefaultTblspc + return x.Options } - return false + return nil } -type CreateStatsStmt struct { +type AlterRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` - StatTypes []*Node `protobuf:"bytes,2,rep,name=stat_types,proto3" json:"stat_types,omitempty"` - Exprs []*Node `protobuf:"bytes,3,rep,name=exprs,proto3" json:"exprs,omitempty"` - Relations []*Node `protobuf:"bytes,4,rep,name=relations,proto3" json:"relations,omitempty"` - Stxcomment string `protobuf:"bytes,5,opt,name=stxcomment,proto3" json:"stxcomment,omitempty"` - Transformed bool `protobuf:"varint,6,opt,name=transformed,proto3" json:"transformed,omitempty"` - IfNotExists bool `protobuf:"varint,7,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Action int32 `protobuf:"varint,3,opt,name=action,proto3" json:"action,omitempty"` } -func (x *CreateStatsStmt) Reset() { - *x = CreateStatsStmt{} +func (x *AlterRoleStmt) Reset() { + *x = AlterRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[194] + mi := &file_pg_query_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateStatsStmt) String() string { +func (x *AlterRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateStatsStmt) ProtoMessage() {} +func (*AlterRoleStmt) ProtoMessage() {} -func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[194] +func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25585,86 +26150,59 @@ func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateStatsStmt.ProtoReflect.Descriptor instead. -func (*CreateStatsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{194} -} - -func (x *CreateStatsStmt) GetDefnames() []*Node { - if x != nil { - return x.Defnames - } - return nil -} - -func (x *CreateStatsStmt) GetStatTypes() []*Node { - if x != nil { - return x.StatTypes - } - return nil +// Deprecated: Use AlterRoleStmt.ProtoReflect.Descriptor instead. +func (*AlterRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{191} } -func (x *CreateStatsStmt) GetExprs() []*Node { +func (x *AlterRoleStmt) GetRole() *RoleSpec { if x != nil { - return x.Exprs + return x.Role } return nil } -func (x *CreateStatsStmt) GetRelations() []*Node { +func (x *AlterRoleStmt) GetOptions() []*Node { if x != nil { - return x.Relations + return x.Options } return nil } -func (x *CreateStatsStmt) GetStxcomment() string { - if x != nil { - return x.Stxcomment - } - return "" -} - -func (x *CreateStatsStmt) GetTransformed() bool { - if x != nil { - return x.Transformed - } - return false -} - -func (x *CreateStatsStmt) GetIfNotExists() bool { +func (x *AlterRoleStmt) GetAction() int32 { if x != nil { - return x.IfNotExists + return x.Action } - return false + return 0 } -type StatsElem struct { +type AlterRoleSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Database string `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` + Setstmt *VariableSetStmt `protobuf:"bytes,3,opt,name=setstmt,proto3" json:"setstmt,omitempty"` } -func (x *StatsElem) Reset() { - *x = StatsElem{} +func (x *AlterRoleSetStmt) Reset() { + *x = AlterRoleSetStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[195] + mi := &file_pg_query_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StatsElem) String() string { +func (x *AlterRoleSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatsElem) ProtoMessage() {} +func (*AlterRoleSetStmt) ProtoMessage() {} -func (x *StatsElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[195] +func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25675,52 +26213,58 @@ func (x *StatsElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatsElem.ProtoReflect.Descriptor instead. -func (*StatsElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{195} +// Deprecated: Use AlterRoleSetStmt.ProtoReflect.Descriptor instead. +func (*AlterRoleSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{192} } -func (x *StatsElem) GetName() string { +func (x *AlterRoleSetStmt) GetRole() *RoleSpec { if x != nil { - return x.Name + return x.Role + } + return nil +} + +func (x *AlterRoleSetStmt) GetDatabase() string { + if x != nil { + return x.Database } return "" } -func (x *StatsElem) GetExpr() *Node { +func (x *AlterRoleSetStmt) GetSetstmt() *VariableSetStmt { if x != nil { - return x.Expr + return x.Setstmt } return nil } -type AlterStatsStmt struct { +type DropRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` - Stxstattarget int32 `protobuf:"varint,2,opt,name=stxstattarget,proto3" json:"stxstattarget,omitempty"` - MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *AlterStatsStmt) Reset() { - *x = AlterStatsStmt{} +func (x *DropRoleStmt) Reset() { + *x = DropRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[196] + mi := &file_pg_query_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterStatsStmt) String() string { +func (x *DropRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterStatsStmt) ProtoMessage() {} +func (*DropRoleStmt) ProtoMessage() {} -func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[196] +func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25731,63 +26275,54 @@ func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterStatsStmt.ProtoReflect.Descriptor instead. -func (*AlterStatsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{196} +// Deprecated: Use DropRoleStmt.ProtoReflect.Descriptor instead. +func (*DropRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{193} } -func (x *AlterStatsStmt) GetDefnames() []*Node { +func (x *DropRoleStmt) GetRoles() []*Node { if x != nil { - return x.Defnames + return x.Roles } return nil } -func (x *AlterStatsStmt) GetStxstattarget() int32 { - if x != nil { - return x.Stxstattarget - } - return 0 -} - -func (x *AlterStatsStmt) GetMissingOk() bool { +func (x *DropRoleStmt) GetMissingOk() bool { if x != nil { return x.MissingOk } return false } -type CreateFunctionStmt struct { +type CreateSeqStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IsProcedure bool `protobuf:"varint,1,opt,name=is_procedure,proto3" json:"is_procedure,omitempty"` - Replace bool `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"` - Funcname []*Node `protobuf:"bytes,3,rep,name=funcname,proto3" json:"funcname,omitempty"` - Parameters []*Node `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` - ReturnType *TypeName `protobuf:"bytes,5,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` - SqlBody *Node `protobuf:"bytes,7,opt,name=sql_body,proto3" json:"sql_body,omitempty"` + Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + OwnerId uint32 `protobuf:"varint,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + ForIdentity bool `protobuf:"varint,4,opt,name=for_identity,proto3" json:"for_identity,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *CreateFunctionStmt) Reset() { - *x = CreateFunctionStmt{} +func (x *CreateSeqStmt) Reset() { + *x = CreateSeqStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[197] + mi := &file_pg_query_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateFunctionStmt) String() string { +func (x *CreateSeqStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFunctionStmt) ProtoMessage() {} +func (*CreateSeqStmt) ProtoMessage() {} -func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[197] +func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25798,88 +26333,74 @@ func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFunctionStmt.ProtoReflect.Descriptor instead. -func (*CreateFunctionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{197} -} - -func (x *CreateFunctionStmt) GetIsProcedure() bool { - if x != nil { - return x.IsProcedure - } - return false -} - -func (x *CreateFunctionStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false +// Deprecated: Use CreateSeqStmt.ProtoReflect.Descriptor instead. +func (*CreateSeqStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{194} } -func (x *CreateFunctionStmt) GetFuncname() []*Node { +func (x *CreateSeqStmt) GetSequence() *RangeVar { if x != nil { - return x.Funcname + return x.Sequence } return nil } -func (x *CreateFunctionStmt) GetParameters() []*Node { +func (x *CreateSeqStmt) GetOptions() []*Node { if x != nil { - return x.Parameters + return x.Options } return nil } -func (x *CreateFunctionStmt) GetReturnType() *TypeName { +func (x *CreateSeqStmt) GetOwnerId() uint32 { if x != nil { - return x.ReturnType + return x.OwnerId } - return nil + return 0 } -func (x *CreateFunctionStmt) GetOptions() []*Node { +func (x *CreateSeqStmt) GetForIdentity() bool { if x != nil { - return x.Options + return x.ForIdentity } - return nil + return false } -func (x *CreateFunctionStmt) GetSqlBody() *Node { +func (x *CreateSeqStmt) GetIfNotExists() bool { if x != nil { - return x.SqlBody + return x.IfNotExists } - return nil + return false } -type FunctionParameter struct { +type AlterSeqStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - ArgType *TypeName `protobuf:"bytes,2,opt,name=arg_type,json=argType,proto3" json:"arg_type,omitempty"` - Mode FunctionParameterMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pg_query.FunctionParameterMode" json:"mode,omitempty"` - Defexpr *Node `protobuf:"bytes,4,opt,name=defexpr,proto3" json:"defexpr,omitempty"` + Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + ForIdentity bool `protobuf:"varint,3,opt,name=for_identity,proto3" json:"for_identity,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *FunctionParameter) Reset() { - *x = FunctionParameter{} +func (x *AlterSeqStmt) Reset() { + *x = AlterSeqStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[198] + mi := &file_pg_query_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FunctionParameter) String() string { +func (x *AlterSeqStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FunctionParameter) ProtoMessage() {} +func (*AlterSeqStmt) ProtoMessage() {} -func (x *FunctionParameter) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[198] +func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25890,66 +26411,70 @@ func (x *FunctionParameter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FunctionParameter.ProtoReflect.Descriptor instead. -func (*FunctionParameter) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{198} +// Deprecated: Use AlterSeqStmt.ProtoReflect.Descriptor instead. +func (*AlterSeqStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{195} } -func (x *FunctionParameter) GetName() string { +func (x *AlterSeqStmt) GetSequence() *RangeVar { if x != nil { - return x.Name + return x.Sequence } - return "" + return nil } -func (x *FunctionParameter) GetArgType() *TypeName { +func (x *AlterSeqStmt) GetOptions() []*Node { if x != nil { - return x.ArgType + return x.Options } return nil } -func (x *FunctionParameter) GetMode() FunctionParameterMode { +func (x *AlterSeqStmt) GetForIdentity() bool { if x != nil { - return x.Mode + return x.ForIdentity } - return FunctionParameterMode_FUNCTION_PARAMETER_MODE_UNDEFINED + return false } -func (x *FunctionParameter) GetDefexpr() *Node { +func (x *AlterSeqStmt) GetMissingOk() bool { if x != nil { - return x.Defexpr + return x.MissingOk } - return nil + return false } -type AlterFunctionStmt struct { +type DefineStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Func *ObjectWithArgs `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` - Actions []*Node `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` + Kind ObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ObjectType" json:"kind,omitempty"` + Oldstyle bool `protobuf:"varint,2,opt,name=oldstyle,proto3" json:"oldstyle,omitempty"` + Defnames []*Node `protobuf:"bytes,3,rep,name=defnames,proto3" json:"defnames,omitempty"` + Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` + Definition []*Node `protobuf:"bytes,5,rep,name=definition,proto3" json:"definition,omitempty"` + IfNotExists bool `protobuf:"varint,6,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` } -func (x *AlterFunctionStmt) Reset() { - *x = AlterFunctionStmt{} +func (x *DefineStmt) Reset() { + *x = DefineStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[199] + mi := &file_pg_query_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterFunctionStmt) String() string { +func (x *DefineStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterFunctionStmt) ProtoMessage() {} +func (*DefineStmt) ProtoMessage() {} -func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[199] +func (x *DefineStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25960,58 +26485,89 @@ func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterFunctionStmt.ProtoReflect.Descriptor instead. -func (*AlterFunctionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{199} +// Deprecated: Use DefineStmt.ProtoReflect.Descriptor instead. +func (*DefineStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{196} } -func (x *AlterFunctionStmt) GetObjtype() ObjectType { +func (x *DefineStmt) GetKind() ObjectType { if x != nil { - return x.Objtype + return x.Kind } return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterFunctionStmt) GetFunc() *ObjectWithArgs { +func (x *DefineStmt) GetOldstyle() bool { if x != nil { - return x.Func + return x.Oldstyle + } + return false +} + +func (x *DefineStmt) GetDefnames() []*Node { + if x != nil { + return x.Defnames } return nil } -func (x *AlterFunctionStmt) GetActions() []*Node { +func (x *DefineStmt) GetArgs() []*Node { if x != nil { - return x.Actions + return x.Args } return nil } -type DoStmt struct { +func (x *DefineStmt) GetDefinition() []*Node { + if x != nil { + return x.Definition + } + return nil +} + +func (x *DefineStmt) GetIfNotExists() bool { + if x != nil { + return x.IfNotExists + } + return false +} + +func (x *DefineStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +type CreateDomainStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Args []*Node `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` + Domainname []*Node `protobuf:"bytes,1,rep,name=domainname,proto3" json:"domainname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + CollClause *CollateClause `protobuf:"bytes,3,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` + Constraints []*Node `protobuf:"bytes,4,rep,name=constraints,proto3" json:"constraints,omitempty"` } -func (x *DoStmt) Reset() { - *x = DoStmt{} +func (x *CreateDomainStmt) Reset() { + *x = CreateDomainStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[200] + mi := &file_pg_query_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DoStmt) String() string { +func (x *CreateDomainStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DoStmt) ProtoMessage() {} +func (*CreateDomainStmt) ProtoMessage() {} -func (x *DoStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[200] - if protoimpl.UnsafeEnabled && x != nil { +func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[197] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -26021,46 +26577,69 @@ func (x *DoStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DoStmt.ProtoReflect.Descriptor instead. -func (*DoStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{200} +// Deprecated: Use CreateDomainStmt.ProtoReflect.Descriptor instead. +func (*CreateDomainStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{197} } -func (x *DoStmt) GetArgs() []*Node { +func (x *CreateDomainStmt) GetDomainname() []*Node { if x != nil { - return x.Args + return x.Domainname } return nil } -type InlineCodeBlock struct { +func (x *CreateDomainStmt) GetTypeName() *TypeName { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *CreateDomainStmt) GetCollClause() *CollateClause { + if x != nil { + return x.CollClause + } + return nil +} + +func (x *CreateDomainStmt) GetConstraints() []*Node { + if x != nil { + return x.Constraints + } + return nil +} + +type CreateOpClassStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SourceText string `protobuf:"bytes,1,opt,name=source_text,proto3" json:"source_text,omitempty"` - LangOid uint32 `protobuf:"varint,2,opt,name=lang_oid,json=langOid,proto3" json:"lang_oid,omitempty"` - LangIsTrusted bool `protobuf:"varint,3,opt,name=lang_is_trusted,json=langIsTrusted,proto3" json:"lang_is_trusted,omitempty"` - Atomic bool `protobuf:"varint,4,opt,name=atomic,proto3" json:"atomic,omitempty"` + Opclassname []*Node `protobuf:"bytes,1,rep,name=opclassname,proto3" json:"opclassname,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,2,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,3,opt,name=amname,proto3" json:"amname,omitempty"` + Datatype *TypeName `protobuf:"bytes,4,opt,name=datatype,proto3" json:"datatype,omitempty"` + Items []*Node `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` + IsDefault bool `protobuf:"varint,6,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` } -func (x *InlineCodeBlock) Reset() { - *x = InlineCodeBlock{} +func (x *CreateOpClassStmt) Reset() { + *x = CreateOpClassStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[201] + mi := &file_pg_query_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InlineCodeBlock) String() string { +func (x *CreateOpClassStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InlineCodeBlock) ProtoMessage() {} +func (*CreateOpClassStmt) ProtoMessage() {} -func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[201] +func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26071,66 +26650,83 @@ func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InlineCodeBlock.ProtoReflect.Descriptor instead. -func (*InlineCodeBlock) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{201} +// Deprecated: Use CreateOpClassStmt.ProtoReflect.Descriptor instead. +func (*CreateOpClassStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{198} } -func (x *InlineCodeBlock) GetSourceText() string { +func (x *CreateOpClassStmt) GetOpclassname() []*Node { if x != nil { - return x.SourceText + return x.Opclassname + } + return nil +} + +func (x *CreateOpClassStmt) GetOpfamilyname() []*Node { + if x != nil { + return x.Opfamilyname + } + return nil +} + +func (x *CreateOpClassStmt) GetAmname() string { + if x != nil { + return x.Amname } return "" } -func (x *InlineCodeBlock) GetLangOid() uint32 { +func (x *CreateOpClassStmt) GetDatatype() *TypeName { if x != nil { - return x.LangOid + return x.Datatype } - return 0 + return nil } -func (x *InlineCodeBlock) GetLangIsTrusted() bool { +func (x *CreateOpClassStmt) GetItems() []*Node { if x != nil { - return x.LangIsTrusted + return x.Items } - return false + return nil } -func (x *InlineCodeBlock) GetAtomic() bool { +func (x *CreateOpClassStmt) GetIsDefault() bool { if x != nil { - return x.Atomic + return x.IsDefault } return false } -type CallStmt struct { +type CreateOpClassItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Funccall *FuncCall `protobuf:"bytes,1,opt,name=funccall,proto3" json:"funccall,omitempty"` - Funcexpr *FuncExpr `protobuf:"bytes,2,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` - Outargs []*Node `protobuf:"bytes,3,rep,name=outargs,proto3" json:"outargs,omitempty"` + Itemtype int32 `protobuf:"varint,1,opt,name=itemtype,proto3" json:"itemtype,omitempty"` + Name *ObjectWithArgs `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + OrderFamily []*Node `protobuf:"bytes,4,rep,name=order_family,proto3" json:"order_family,omitempty"` + ClassArgs []*Node `protobuf:"bytes,5,rep,name=class_args,proto3" json:"class_args,omitempty"` + Storedtype *TypeName `protobuf:"bytes,6,opt,name=storedtype,proto3" json:"storedtype,omitempty"` } -func (x *CallStmt) Reset() { - *x = CallStmt{} +func (x *CreateOpClassItem) Reset() { + *x = CreateOpClassItem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[202] + mi := &file_pg_query_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CallStmt) String() string { +func (x *CreateOpClassItem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CallStmt) ProtoMessage() {} +func (*CreateOpClassItem) ProtoMessage() {} -func (x *CallStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[202] +func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26141,57 +26737,79 @@ func (x *CallStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CallStmt.ProtoReflect.Descriptor instead. -func (*CallStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{202} +// Deprecated: Use CreateOpClassItem.ProtoReflect.Descriptor instead. +func (*CreateOpClassItem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{199} } -func (x *CallStmt) GetFunccall() *FuncCall { +func (x *CreateOpClassItem) GetItemtype() int32 { if x != nil { - return x.Funccall + return x.Itemtype + } + return 0 +} + +func (x *CreateOpClassItem) GetName() *ObjectWithArgs { + if x != nil { + return x.Name } return nil } -func (x *CallStmt) GetFuncexpr() *FuncExpr { +func (x *CreateOpClassItem) GetNumber() int32 { if x != nil { - return x.Funcexpr + return x.Number + } + return 0 +} + +func (x *CreateOpClassItem) GetOrderFamily() []*Node { + if x != nil { + return x.OrderFamily } return nil } -func (x *CallStmt) GetOutargs() []*Node { +func (x *CreateOpClassItem) GetClassArgs() []*Node { if x != nil { - return x.Outargs + return x.ClassArgs } return nil } -type CallContext struct { +func (x *CreateOpClassItem) GetStoredtype() *TypeName { + if x != nil { + return x.Storedtype + } + return nil +} + +type CreateOpFamilyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Atomic bool `protobuf:"varint,1,opt,name=atomic,proto3" json:"atomic,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` } -func (x *CallContext) Reset() { - *x = CallContext{} +func (x *CreateOpFamilyStmt) Reset() { + *x = CreateOpFamilyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[203] + mi := &file_pg_query_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CallContext) String() string { +func (x *CreateOpFamilyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CallContext) ProtoMessage() {} +func (*CreateOpFamilyStmt) ProtoMessage() {} -func (x *CallContext) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[203] +func (x *CreateOpFamilyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26202,50 +26820,53 @@ func (x *CallContext) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CallContext.ProtoReflect.Descriptor instead. -func (*CallContext) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{203} +// Deprecated: Use CreateOpFamilyStmt.ProtoReflect.Descriptor instead. +func (*CreateOpFamilyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{200} } -func (x *CallContext) GetAtomic() bool { +func (x *CreateOpFamilyStmt) GetOpfamilyname() []*Node { if x != nil { - return x.Atomic + return x.Opfamilyname } - return false + return nil } -type RenameStmt struct { +func (x *CreateOpFamilyStmt) GetAmname() string { + if x != nil { + return x.Amname + } + return "" +} + +type AlterOpFamilyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RenameType ObjectType `protobuf:"varint,1,opt,name=rename_type,json=renameType,proto3,enum=pg_query.ObjectType" json:"rename_type,omitempty"` - RelationType ObjectType `protobuf:"varint,2,opt,name=relation_type,json=relationType,proto3,enum=pg_query.ObjectType" json:"relation_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` - Subname string `protobuf:"bytes,5,opt,name=subname,proto3" json:"subname,omitempty"` - Newname string `protobuf:"bytes,6,opt,name=newname,proto3" json:"newname,omitempty"` - Behavior DropBehavior `protobuf:"varint,7,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,8,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` + IsDrop bool `protobuf:"varint,3,opt,name=is_drop,json=isDrop,proto3" json:"is_drop,omitempty"` + Items []*Node `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` } -func (x *RenameStmt) Reset() { - *x = RenameStmt{} +func (x *AlterOpFamilyStmt) Reset() { + *x = AlterOpFamilyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[204] + mi := &file_pg_query_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RenameStmt) String() string { +func (x *AlterOpFamilyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RenameStmt) ProtoMessage() {} +func (*AlterOpFamilyStmt) ProtoMessage() {} -func (x *RenameStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[204] +func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26256,96 +26877,145 @@ func (x *RenameStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RenameStmt.ProtoReflect.Descriptor instead. -func (*RenameStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{204} +// Deprecated: Use AlterOpFamilyStmt.ProtoReflect.Descriptor instead. +func (*AlterOpFamilyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{201} } -func (x *RenameStmt) GetRenameType() ObjectType { +func (x *AlterOpFamilyStmt) GetOpfamilyname() []*Node { if x != nil { - return x.RenameType + return x.Opfamilyname } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *RenameStmt) GetRelationType() ObjectType { +func (x *AlterOpFamilyStmt) GetAmname() string { if x != nil { - return x.RelationType + return x.Amname } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *RenameStmt) GetRelation() *RangeVar { +func (x *AlterOpFamilyStmt) GetIsDrop() bool { if x != nil { - return x.Relation + return x.IsDrop } - return nil + return false } -func (x *RenameStmt) GetObject() *Node { +func (x *AlterOpFamilyStmt) GetItems() []*Node { if x != nil { - return x.Object + return x.Items } return nil } -func (x *RenameStmt) GetSubname() string { +type DropStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Objects []*Node `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` + RemoveType ObjectType `protobuf:"varint,2,opt,name=remove_type,json=removeType,proto3,enum=pg_query.ObjectType" json:"remove_type,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Concurrent bool `protobuf:"varint,5,opt,name=concurrent,proto3" json:"concurrent,omitempty"` +} + +func (x *DropStmt) Reset() { + *x = DropStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropStmt) ProtoMessage() {} + +func (x *DropStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[202] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropStmt.ProtoReflect.Descriptor instead. +func (*DropStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{202} +} + +func (x *DropStmt) GetObjects() []*Node { if x != nil { - return x.Subname + return x.Objects } - return "" + return nil } -func (x *RenameStmt) GetNewname() string { +func (x *DropStmt) GetRemoveType() ObjectType { if x != nil { - return x.Newname + return x.RemoveType } - return "" + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *RenameStmt) GetBehavior() DropBehavior { +func (x *DropStmt) GetBehavior() DropBehavior { if x != nil { return x.Behavior } return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -func (x *RenameStmt) GetMissingOk() bool { +func (x *DropStmt) GetMissingOk() bool { if x != nil { return x.MissingOk } return false } -type AlterObjectDependsStmt struct { +func (x *DropStmt) GetConcurrent() bool { + if x != nil { + return x.Concurrent + } + return false +} + +type TruncateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Extname *String `protobuf:"bytes,4,opt,name=extname,proto3" json:"extname,omitempty"` - Remove bool `protobuf:"varint,5,opt,name=remove,proto3" json:"remove,omitempty"` + Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` + RestartSeqs bool `protobuf:"varint,2,opt,name=restart_seqs,proto3" json:"restart_seqs,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` } -func (x *AlterObjectDependsStmt) Reset() { - *x = AlterObjectDependsStmt{} +func (x *TruncateStmt) Reset() { + *x = TruncateStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[205] + mi := &file_pg_query_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterObjectDependsStmt) String() string { +func (x *TruncateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterObjectDependsStmt) ProtoMessage() {} +func (*TruncateStmt) ProtoMessage() {} -func (x *AlterObjectDependsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[205] +func (x *TruncateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26356,75 +27026,59 @@ func (x *AlterObjectDependsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterObjectDependsStmt.ProtoReflect.Descriptor instead. -func (*AlterObjectDependsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{205} -} - -func (x *AlterObjectDependsStmt) GetObjectType() ObjectType { - if x != nil { - return x.ObjectType - } - return ObjectType_OBJECT_TYPE_UNDEFINED -} - -func (x *AlterObjectDependsStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil +// Deprecated: Use TruncateStmt.ProtoReflect.Descriptor instead. +func (*TruncateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{203} } -func (x *AlterObjectDependsStmt) GetObject() *Node { +func (x *TruncateStmt) GetRelations() []*Node { if x != nil { - return x.Object + return x.Relations } return nil } -func (x *AlterObjectDependsStmt) GetExtname() *String { +func (x *TruncateStmt) GetRestartSeqs() bool { if x != nil { - return x.Extname + return x.RestartSeqs } - return nil + return false } -func (x *AlterObjectDependsStmt) GetRemove() bool { +func (x *TruncateStmt) GetBehavior() DropBehavior { if x != nil { - return x.Remove + return x.Behavior } - return false + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -type AlterObjectSchemaStmt struct { +type CommentStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Newschema string `protobuf:"bytes,4,opt,name=newschema,proto3" json:"newschema,omitempty"` - MissingOk bool `protobuf:"varint,5,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *AlterObjectSchemaStmt) Reset() { - *x = AlterObjectSchemaStmt{} +func (x *CommentStmt) Reset() { + *x = CommentStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[206] + mi := &file_pg_query_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterObjectSchemaStmt) String() string { +func (x *CommentStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterObjectSchemaStmt) ProtoMessage() {} +func (*CommentStmt) ProtoMessage() {} -func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[206] +func (x *CommentStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26435,74 +27089,60 @@ func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterObjectSchemaStmt.ProtoReflect.Descriptor instead. -func (*AlterObjectSchemaStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{206} +// Deprecated: Use CommentStmt.ProtoReflect.Descriptor instead. +func (*CommentStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{204} } -func (x *AlterObjectSchemaStmt) GetObjectType() ObjectType { +func (x *CommentStmt) GetObjtype() ObjectType { if x != nil { - return x.ObjectType + return x.Objtype } return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterObjectSchemaStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *AlterObjectSchemaStmt) GetObject() *Node { +func (x *CommentStmt) GetObject() *Node { if x != nil { return x.Object } return nil } -func (x *AlterObjectSchemaStmt) GetNewschema() string { +func (x *CommentStmt) GetComment() string { if x != nil { - return x.Newschema + return x.Comment } return "" } -func (x *AlterObjectSchemaStmt) GetMissingOk() bool { - if x != nil { - return x.MissingOk - } - return false -} - -type AlterOwnerStmt struct { +type SecLabelStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` } -func (x *AlterOwnerStmt) Reset() { - *x = AlterOwnerStmt{} +func (x *SecLabelStmt) Reset() { + *x = SecLabelStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[207] + mi := &file_pg_query_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterOwnerStmt) String() string { +func (x *SecLabelStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterOwnerStmt) ProtoMessage() {} +func (*SecLabelStmt) ProtoMessage() {} -func (x *AlterOwnerStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[207] +func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26513,65 +27153,66 @@ func (x *AlterOwnerStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterOwnerStmt.ProtoReflect.Descriptor instead. -func (*AlterOwnerStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{207} +// Deprecated: Use SecLabelStmt.ProtoReflect.Descriptor instead. +func (*SecLabelStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{205} } -func (x *AlterOwnerStmt) GetObjectType() ObjectType { +func (x *SecLabelStmt) GetObjtype() ObjectType { if x != nil { - return x.ObjectType + return x.Objtype } return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterOwnerStmt) GetRelation() *RangeVar { +func (x *SecLabelStmt) GetObject() *Node { if x != nil { - return x.Relation + return x.Object } return nil } -func (x *AlterOwnerStmt) GetObject() *Node { +func (x *SecLabelStmt) GetProvider() string { if x != nil { - return x.Object + return x.Provider } - return nil + return "" } -func (x *AlterOwnerStmt) GetNewowner() *RoleSpec { +func (x *SecLabelStmt) GetLabel() string { if x != nil { - return x.Newowner + return x.Label } - return nil + return "" } -type AlterOperatorStmt struct { +type DeclareCursorStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opername *ObjectWithArgs `protobuf:"bytes,1,opt,name=opername,proto3" json:"opername,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` + Options int32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` } -func (x *AlterOperatorStmt) Reset() { - *x = AlterOperatorStmt{} +func (x *DeclareCursorStmt) Reset() { + *x = DeclareCursorStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[208] + mi := &file_pg_query_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterOperatorStmt) String() string { +func (x *DeclareCursorStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterOperatorStmt) ProtoMessage() {} +func (*DeclareCursorStmt) ProtoMessage() {} -func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[208] +func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26582,51 +27223,57 @@ func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterOperatorStmt.ProtoReflect.Descriptor instead. -func (*AlterOperatorStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{208} +// Deprecated: Use DeclareCursorStmt.ProtoReflect.Descriptor instead. +func (*DeclareCursorStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{206} } -func (x *AlterOperatorStmt) GetOpername() *ObjectWithArgs { +func (x *DeclareCursorStmt) GetPortalname() string { if x != nil { - return x.Opername + return x.Portalname } - return nil + return "" } -func (x *AlterOperatorStmt) GetOptions() []*Node { +func (x *DeclareCursorStmt) GetOptions() int32 { if x != nil { return x.Options } + return 0 +} + +func (x *DeclareCursorStmt) GetQuery() *Node { + if x != nil { + return x.Query + } return nil } -type AlterTypeStmt struct { +type ClosePortalStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` } -func (x *AlterTypeStmt) Reset() { - *x = AlterTypeStmt{} +func (x *ClosePortalStmt) Reset() { + *x = ClosePortalStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[209] + mi := &file_pg_query_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTypeStmt) String() string { +func (x *ClosePortalStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTypeStmt) ProtoMessage() {} +func (*ClosePortalStmt) ProtoMessage() {} -func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[209] +func (x *ClosePortalStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26637,56 +27284,46 @@ func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTypeStmt.ProtoReflect.Descriptor instead. -func (*AlterTypeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{209} -} - -func (x *AlterTypeStmt) GetTypeName() []*Node { - if x != nil { - return x.TypeName - } - return nil +// Deprecated: Use ClosePortalStmt.ProtoReflect.Descriptor instead. +func (*ClosePortalStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{207} } -func (x *AlterTypeStmt) GetOptions() []*Node { +func (x *ClosePortalStmt) GetPortalname() string { if x != nil { - return x.Options + return x.Portalname } - return nil + return "" } -type RuleStmt struct { +type FetchStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Rulename string `protobuf:"bytes,2,opt,name=rulename,proto3" json:"rulename,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Event CmdType `protobuf:"varint,4,opt,name=event,proto3,enum=pg_query.CmdType" json:"event,omitempty"` - Instead bool `protobuf:"varint,5,opt,name=instead,proto3" json:"instead,omitempty"` - Actions []*Node `protobuf:"bytes,6,rep,name=actions,proto3" json:"actions,omitempty"` - Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` + Direction FetchDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=pg_query.FetchDirection" json:"direction,omitempty"` + HowMany int64 `protobuf:"varint,2,opt,name=how_many,json=howMany,proto3" json:"how_many,omitempty"` + Portalname string `protobuf:"bytes,3,opt,name=portalname,proto3" json:"portalname,omitempty"` + Ismove bool `protobuf:"varint,4,opt,name=ismove,proto3" json:"ismove,omitempty"` } -func (x *RuleStmt) Reset() { - *x = RuleStmt{} +func (x *FetchStmt) Reset() { + *x = FetchStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[210] + mi := &file_pg_query_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RuleStmt) String() string { +func (x *FetchStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleStmt) ProtoMessage() {} +func (*FetchStmt) ProtoMessage() {} -func (x *RuleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[210] +func (x *FetchStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26697,86 +27334,87 @@ func (x *RuleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleStmt.ProtoReflect.Descriptor instead. -func (*RuleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{210} -} - -func (x *RuleStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *RuleStmt) GetRulename() string { - if x != nil { - return x.Rulename - } - return "" -} - -func (x *RuleStmt) GetWhereClause() *Node { - if x != nil { - return x.WhereClause - } - return nil +// Deprecated: Use FetchStmt.ProtoReflect.Descriptor instead. +func (*FetchStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{208} } -func (x *RuleStmt) GetEvent() CmdType { +func (x *FetchStmt) GetDirection() FetchDirection { if x != nil { - return x.Event + return x.Direction } - return CmdType_CMD_TYPE_UNDEFINED + return FetchDirection_FETCH_DIRECTION_UNDEFINED } -func (x *RuleStmt) GetInstead() bool { +func (x *FetchStmt) GetHowMany() int64 { if x != nil { - return x.Instead + return x.HowMany } - return false + return 0 } -func (x *RuleStmt) GetActions() []*Node { +func (x *FetchStmt) GetPortalname() string { if x != nil { - return x.Actions + return x.Portalname } - return nil + return "" } -func (x *RuleStmt) GetReplace() bool { +func (x *FetchStmt) GetIsmove() bool { if x != nil { - return x.Replace + return x.Ismove } return false } -type NotifyStmt struct { +type IndexStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` - Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Idxname string `protobuf:"bytes,1,opt,name=idxname,proto3" json:"idxname,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` + TableSpace string `protobuf:"bytes,4,opt,name=table_space,json=tableSpace,proto3" json:"table_space,omitempty"` + IndexParams []*Node `protobuf:"bytes,5,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"` + IndexIncludingParams []*Node `protobuf:"bytes,6,rep,name=index_including_params,json=indexIncludingParams,proto3" json:"index_including_params,omitempty"` + Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` + WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + ExcludeOpNames []*Node `protobuf:"bytes,9,rep,name=exclude_op_names,json=excludeOpNames,proto3" json:"exclude_op_names,omitempty"` + Idxcomment string `protobuf:"bytes,10,opt,name=idxcomment,proto3" json:"idxcomment,omitempty"` + IndexOid uint32 `protobuf:"varint,11,opt,name=index_oid,json=indexOid,proto3" json:"index_oid,omitempty"` + OldNumber uint32 `protobuf:"varint,12,opt,name=old_number,json=oldNumber,proto3" json:"old_number,omitempty"` + OldCreateSubid uint32 `protobuf:"varint,13,opt,name=old_create_subid,json=oldCreateSubid,proto3" json:"old_create_subid,omitempty"` + OldFirstRelfilelocatorSubid uint32 `protobuf:"varint,14,opt,name=old_first_relfilelocator_subid,json=oldFirstRelfilelocatorSubid,proto3" json:"old_first_relfilelocator_subid,omitempty"` + Unique bool `protobuf:"varint,15,opt,name=unique,proto3" json:"unique,omitempty"` + NullsNotDistinct bool `protobuf:"varint,16,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` + Primary bool `protobuf:"varint,17,opt,name=primary,proto3" json:"primary,omitempty"` + Isconstraint bool `protobuf:"varint,18,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` + Deferrable bool `protobuf:"varint,19,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,20,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + Transformed bool `protobuf:"varint,21,opt,name=transformed,proto3" json:"transformed,omitempty"` + Concurrent bool `protobuf:"varint,22,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + IfNotExists bool `protobuf:"varint,23,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + ResetDefaultTblspc bool `protobuf:"varint,24,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` } -func (x *NotifyStmt) Reset() { - *x = NotifyStmt{} +func (x *IndexStmt) Reset() { + *x = IndexStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[211] + mi := &file_pg_query_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NotifyStmt) String() string { +func (x *IndexStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NotifyStmt) ProtoMessage() {} +func (*IndexStmt) ProtoMessage() {} -func (x *NotifyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[211] +func (x *IndexStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26787,148 +27425,210 @@ func (x *NotifyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NotifyStmt.ProtoReflect.Descriptor instead. -func (*NotifyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{211} +// Deprecated: Use IndexStmt.ProtoReflect.Descriptor instead. +func (*IndexStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{209} } -func (x *NotifyStmt) GetConditionname() string { +func (x *IndexStmt) GetIdxname() string { if x != nil { - return x.Conditionname + return x.Idxname } return "" } -func (x *NotifyStmt) GetPayload() string { +func (x *IndexStmt) GetRelation() *RangeVar { if x != nil { - return x.Payload + return x.Relation } - return "" + return nil } -type ListenStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *IndexStmt) GetAccessMethod() string { + if x != nil { + return x.AccessMethod + } + return "" +} - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` +func (x *IndexStmt) GetTableSpace() string { + if x != nil { + return x.TableSpace + } + return "" } -func (x *ListenStmt) Reset() { - *x = ListenStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[212] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *IndexStmt) GetIndexParams() []*Node { + if x != nil { + return x.IndexParams } + return nil } -func (x *ListenStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *IndexStmt) GetIndexIncludingParams() []*Node { + if x != nil { + return x.IndexIncludingParams + } + return nil } -func (*ListenStmt) ProtoMessage() {} +func (x *IndexStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} -func (x *ListenStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[212] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *IndexStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ListenStmt.ProtoReflect.Descriptor instead. -func (*ListenStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{212} +func (x *IndexStmt) GetExcludeOpNames() []*Node { + if x != nil { + return x.ExcludeOpNames + } + return nil } -func (x *ListenStmt) GetConditionname() string { +func (x *IndexStmt) GetIdxcomment() string { if x != nil { - return x.Conditionname + return x.Idxcomment } return "" } -type UnlistenStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *IndexStmt) GetIndexOid() uint32 { + if x != nil { + return x.IndexOid + } + return 0 +} - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` +func (x *IndexStmt) GetOldNumber() uint32 { + if x != nil { + return x.OldNumber + } + return 0 } -func (x *UnlistenStmt) Reset() { - *x = UnlistenStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[213] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *IndexStmt) GetOldCreateSubid() uint32 { + if x != nil { + return x.OldCreateSubid } + return 0 } -func (x *UnlistenStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *IndexStmt) GetOldFirstRelfilelocatorSubid() uint32 { + if x != nil { + return x.OldFirstRelfilelocatorSubid + } + return 0 } -func (*UnlistenStmt) ProtoMessage() {} +func (x *IndexStmt) GetUnique() bool { + if x != nil { + return x.Unique + } + return false +} -func (x *UnlistenStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[213] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *IndexStmt) GetNullsNotDistinct() bool { + if x != nil { + return x.NullsNotDistinct } - return mi.MessageOf(x) + return false } -// Deprecated: Use UnlistenStmt.ProtoReflect.Descriptor instead. -func (*UnlistenStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{213} +func (x *IndexStmt) GetPrimary() bool { + if x != nil { + return x.Primary + } + return false } -func (x *UnlistenStmt) GetConditionname() string { +func (x *IndexStmt) GetIsconstraint() bool { if x != nil { - return x.Conditionname + return x.Isconstraint } - return "" + return false } -type TransactionStmt struct { +func (x *IndexStmt) GetDeferrable() bool { + if x != nil { + return x.Deferrable + } + return false +} + +func (x *IndexStmt) GetInitdeferred() bool { + if x != nil { + return x.Initdeferred + } + return false +} + +func (x *IndexStmt) GetTransformed() bool { + if x != nil { + return x.Transformed + } + return false +} + +func (x *IndexStmt) GetConcurrent() bool { + if x != nil { + return x.Concurrent + } + return false +} + +func (x *IndexStmt) GetIfNotExists() bool { + if x != nil { + return x.IfNotExists + } + return false +} + +func (x *IndexStmt) GetResetDefaultTblspc() bool { + if x != nil { + return x.ResetDefaultTblspc + } + return false +} + +type CreateStatsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind TransactionStmtKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.TransactionStmtKind" json:"kind,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - SavepointName string `protobuf:"bytes,3,opt,name=savepoint_name,proto3" json:"savepoint_name,omitempty"` - Gid string `protobuf:"bytes,4,opt,name=gid,proto3" json:"gid,omitempty"` - Chain bool `protobuf:"varint,5,opt,name=chain,proto3" json:"chain,omitempty"` + Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` + StatTypes []*Node `protobuf:"bytes,2,rep,name=stat_types,proto3" json:"stat_types,omitempty"` + Exprs []*Node `protobuf:"bytes,3,rep,name=exprs,proto3" json:"exprs,omitempty"` + Relations []*Node `protobuf:"bytes,4,rep,name=relations,proto3" json:"relations,omitempty"` + Stxcomment string `protobuf:"bytes,5,opt,name=stxcomment,proto3" json:"stxcomment,omitempty"` + Transformed bool `protobuf:"varint,6,opt,name=transformed,proto3" json:"transformed,omitempty"` + IfNotExists bool `protobuf:"varint,7,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *TransactionStmt) Reset() { - *x = TransactionStmt{} +func (x *CreateStatsStmt) Reset() { + *x = CreateStatsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[214] + mi := &file_pg_query_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TransactionStmt) String() string { +func (x *CreateStatsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TransactionStmt) ProtoMessage() {} +func (*CreateStatsStmt) ProtoMessage() {} -func (x *TransactionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[214] +func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26939,72 +27639,86 @@ func (x *TransactionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TransactionStmt.ProtoReflect.Descriptor instead. -func (*TransactionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{214} +// Deprecated: Use CreateStatsStmt.ProtoReflect.Descriptor instead. +func (*CreateStatsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{210} } -func (x *TransactionStmt) GetKind() TransactionStmtKind { +func (x *CreateStatsStmt) GetDefnames() []*Node { if x != nil { - return x.Kind + return x.Defnames } - return TransactionStmtKind_TRANSACTION_STMT_KIND_UNDEFINED + return nil } -func (x *TransactionStmt) GetOptions() []*Node { +func (x *CreateStatsStmt) GetStatTypes() []*Node { if x != nil { - return x.Options + return x.StatTypes } return nil } -func (x *TransactionStmt) GetSavepointName() string { +func (x *CreateStatsStmt) GetExprs() []*Node { if x != nil { - return x.SavepointName + return x.Exprs } - return "" + return nil } -func (x *TransactionStmt) GetGid() string { +func (x *CreateStatsStmt) GetRelations() []*Node { if x != nil { - return x.Gid + return x.Relations + } + return nil +} + +func (x *CreateStatsStmt) GetStxcomment() string { + if x != nil { + return x.Stxcomment } return "" } -func (x *TransactionStmt) GetChain() bool { +func (x *CreateStatsStmt) GetTransformed() bool { if x != nil { - return x.Chain + return x.Transformed } return false } -type CompositeTypeStmt struct { +func (x *CreateStatsStmt) GetIfNotExists() bool { + if x != nil { + return x.IfNotExists + } + return false +} + +type StatsElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Typevar *RangeVar `protobuf:"bytes,1,opt,name=typevar,proto3" json:"typevar,omitempty"` - Coldeflist []*Node `protobuf:"bytes,2,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` } -func (x *CompositeTypeStmt) Reset() { - *x = CompositeTypeStmt{} +func (x *StatsElem) Reset() { + *x = StatsElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[215] + mi := &file_pg_query_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CompositeTypeStmt) String() string { +func (x *StatsElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CompositeTypeStmt) ProtoMessage() {} +func (*StatsElem) ProtoMessage() {} -func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[215] +func (x *StatsElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27015,51 +27729,52 @@ func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CompositeTypeStmt.ProtoReflect.Descriptor instead. -func (*CompositeTypeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{215} +// Deprecated: Use StatsElem.ProtoReflect.Descriptor instead. +func (*StatsElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{211} } -func (x *CompositeTypeStmt) GetTypevar() *RangeVar { +func (x *StatsElem) GetName() string { if x != nil { - return x.Typevar + return x.Name } - return nil + return "" } -func (x *CompositeTypeStmt) GetColdeflist() []*Node { +func (x *StatsElem) GetExpr() *Node { if x != nil { - return x.Coldeflist + return x.Expr } return nil } -type CreateEnumStmt struct { +type AlterStatsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Vals []*Node `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` + Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` + Stxstattarget *Node `protobuf:"bytes,2,opt,name=stxstattarget,proto3" json:"stxstattarget,omitempty"` + MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *CreateEnumStmt) Reset() { - *x = CreateEnumStmt{} +func (x *AlterStatsStmt) Reset() { + *x = AlterStatsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[216] + mi := &file_pg_query_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateEnumStmt) String() string { +func (x *AlterStatsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateEnumStmt) ProtoMessage() {} +func (*AlterStatsStmt) ProtoMessage() {} -func (x *CreateEnumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[216] +func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27070,51 +27785,63 @@ func (x *CreateEnumStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateEnumStmt.ProtoReflect.Descriptor instead. -func (*CreateEnumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{216} +// Deprecated: Use AlterStatsStmt.ProtoReflect.Descriptor instead. +func (*AlterStatsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{212} } -func (x *CreateEnumStmt) GetTypeName() []*Node { +func (x *AlterStatsStmt) GetDefnames() []*Node { if x != nil { - return x.TypeName + return x.Defnames } return nil } -func (x *CreateEnumStmt) GetVals() []*Node { +func (x *AlterStatsStmt) GetStxstattarget() *Node { if x != nil { - return x.Vals + return x.Stxstattarget } return nil } -type CreateRangeStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` +func (x *AlterStatsStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false } -func (x *CreateRangeStmt) Reset() { - *x = CreateRangeStmt{} +type CreateFunctionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsProcedure bool `protobuf:"varint,1,opt,name=is_procedure,proto3" json:"is_procedure,omitempty"` + Replace bool `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"` + Funcname []*Node `protobuf:"bytes,3,rep,name=funcname,proto3" json:"funcname,omitempty"` + Parameters []*Node `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` + ReturnType *TypeName `protobuf:"bytes,5,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + SqlBody *Node `protobuf:"bytes,7,opt,name=sql_body,proto3" json:"sql_body,omitempty"` +} + +func (x *CreateFunctionStmt) Reset() { + *x = CreateFunctionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[217] + mi := &file_pg_query_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateRangeStmt) String() string { +func (x *CreateFunctionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRangeStmt) ProtoMessage() {} +func (*CreateFunctionStmt) ProtoMessage() {} -func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[217] +func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27125,55 +27852,88 @@ func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRangeStmt.ProtoReflect.Descriptor instead. -func (*CreateRangeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{217} +// Deprecated: Use CreateFunctionStmt.ProtoReflect.Descriptor instead. +func (*CreateFunctionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{213} } -func (x *CreateRangeStmt) GetTypeName() []*Node { +func (x *CreateFunctionStmt) GetIsProcedure() bool { if x != nil { - return x.TypeName + return x.IsProcedure + } + return false +} + +func (x *CreateFunctionStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *CreateFunctionStmt) GetFuncname() []*Node { + if x != nil { + return x.Funcname } return nil } -func (x *CreateRangeStmt) GetParams() []*Node { +func (x *CreateFunctionStmt) GetParameters() []*Node { if x != nil { - return x.Params + return x.Parameters } return nil } -type AlterEnumStmt struct { +func (x *CreateFunctionStmt) GetReturnType() *TypeName { + if x != nil { + return x.ReturnType + } + return nil +} + +func (x *CreateFunctionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *CreateFunctionStmt) GetSqlBody() *Node { + if x != nil { + return x.SqlBody + } + return nil +} + +type FunctionParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - OldVal string `protobuf:"bytes,2,opt,name=old_val,json=oldVal,proto3" json:"old_val,omitempty"` - NewVal string `protobuf:"bytes,3,opt,name=new_val,json=newVal,proto3" json:"new_val,omitempty"` - NewValNeighbor string `protobuf:"bytes,4,opt,name=new_val_neighbor,json=newValNeighbor,proto3" json:"new_val_neighbor,omitempty"` - NewValIsAfter bool `protobuf:"varint,5,opt,name=new_val_is_after,json=newValIsAfter,proto3" json:"new_val_is_after,omitempty"` - SkipIfNewValExists bool `protobuf:"varint,6,opt,name=skip_if_new_val_exists,json=skipIfNewValExists,proto3" json:"skip_if_new_val_exists,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ArgType *TypeName `protobuf:"bytes,2,opt,name=arg_type,json=argType,proto3" json:"arg_type,omitempty"` + Mode FunctionParameterMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pg_query.FunctionParameterMode" json:"mode,omitempty"` + Defexpr *Node `protobuf:"bytes,4,opt,name=defexpr,proto3" json:"defexpr,omitempty"` } -func (x *AlterEnumStmt) Reset() { - *x = AlterEnumStmt{} +func (x *FunctionParameter) Reset() { + *x = FunctionParameter{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[218] + mi := &file_pg_query_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterEnumStmt) String() string { +func (x *FunctionParameter) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterEnumStmt) ProtoMessage() {} +func (*FunctionParameter) ProtoMessage() {} -func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[218] +func (x *FunctionParameter) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27184,83 +27944,66 @@ func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterEnumStmt.ProtoReflect.Descriptor instead. -func (*AlterEnumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{218} -} - -func (x *AlterEnumStmt) GetTypeName() []*Node { - if x != nil { - return x.TypeName - } - return nil -} - -func (x *AlterEnumStmt) GetOldVal() string { - if x != nil { - return x.OldVal - } - return "" +// Deprecated: Use FunctionParameter.ProtoReflect.Descriptor instead. +func (*FunctionParameter) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{214} } -func (x *AlterEnumStmt) GetNewVal() string { +func (x *FunctionParameter) GetName() string { if x != nil { - return x.NewVal + return x.Name } return "" } -func (x *AlterEnumStmt) GetNewValNeighbor() string { +func (x *FunctionParameter) GetArgType() *TypeName { if x != nil { - return x.NewValNeighbor + return x.ArgType } - return "" + return nil } -func (x *AlterEnumStmt) GetNewValIsAfter() bool { +func (x *FunctionParameter) GetMode() FunctionParameterMode { if x != nil { - return x.NewValIsAfter + return x.Mode } - return false + return FunctionParameterMode_FUNCTION_PARAMETER_MODE_UNDEFINED } -func (x *AlterEnumStmt) GetSkipIfNewValExists() bool { +func (x *FunctionParameter) GetDefexpr() *Node { if x != nil { - return x.SkipIfNewValExists + return x.Defexpr } - return false + return nil } -type ViewStmt struct { +type AlterFunctionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - View *RangeVar `protobuf:"bytes,1,opt,name=view,proto3" json:"view,omitempty"` - Aliases []*Node `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` - Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"` - Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` - WithCheckOption ViewCheckOption `protobuf:"varint,6,opt,name=with_check_option,json=withCheckOption,proto3,enum=pg_query.ViewCheckOption" json:"with_check_option,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Func *ObjectWithArgs `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + Actions []*Node `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` } -func (x *ViewStmt) Reset() { - *x = ViewStmt{} +func (x *AlterFunctionStmt) Reset() { + *x = AlterFunctionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[219] + mi := &file_pg_query_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ViewStmt) String() string { +func (x *AlterFunctionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ViewStmt) ProtoMessage() {} +func (*AlterFunctionStmt) ProtoMessage() {} -func (x *ViewStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[219] +func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27271,78 +28014,57 @@ func (x *ViewStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ViewStmt.ProtoReflect.Descriptor instead. -func (*ViewStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{219} -} - -func (x *ViewStmt) GetView() *RangeVar { - if x != nil { - return x.View - } - return nil +// Deprecated: Use AlterFunctionStmt.ProtoReflect.Descriptor instead. +func (*AlterFunctionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{215} } -func (x *ViewStmt) GetAliases() []*Node { +func (x *AlterFunctionStmt) GetObjtype() ObjectType { if x != nil { - return x.Aliases + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *ViewStmt) GetQuery() *Node { +func (x *AlterFunctionStmt) GetFunc() *ObjectWithArgs { if x != nil { - return x.Query + return x.Func } return nil } -func (x *ViewStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false -} - -func (x *ViewStmt) GetOptions() []*Node { +func (x *AlterFunctionStmt) GetActions() []*Node { if x != nil { - return x.Options + return x.Actions } return nil } -func (x *ViewStmt) GetWithCheckOption() ViewCheckOption { - if x != nil { - return x.WithCheckOption - } - return ViewCheckOption_VIEW_CHECK_OPTION_UNDEFINED -} - -type LoadStmt struct { +type DoStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` + Args []*Node `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` } -func (x *LoadStmt) Reset() { - *x = LoadStmt{} +func (x *DoStmt) Reset() { + *x = DoStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[220] + mi := &file_pg_query_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LoadStmt) String() string { +func (x *DoStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LoadStmt) ProtoMessage() {} +func (*DoStmt) ProtoMessage() {} -func (x *LoadStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[220] +func (x *DoStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27353,44 +28075,46 @@ func (x *LoadStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LoadStmt.ProtoReflect.Descriptor instead. -func (*LoadStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{220} +// Deprecated: Use DoStmt.ProtoReflect.Descriptor instead. +func (*DoStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{216} } -func (x *LoadStmt) GetFilename() string { +func (x *DoStmt) GetArgs() []*Node { if x != nil { - return x.Filename + return x.Args } - return "" + return nil } -type CreatedbStmt struct { +type InlineCodeBlock struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + SourceText string `protobuf:"bytes,1,opt,name=source_text,proto3" json:"source_text,omitempty"` + LangOid uint32 `protobuf:"varint,2,opt,name=lang_oid,json=langOid,proto3" json:"lang_oid,omitempty"` + LangIsTrusted bool `protobuf:"varint,3,opt,name=lang_is_trusted,json=langIsTrusted,proto3" json:"lang_is_trusted,omitempty"` + Atomic bool `protobuf:"varint,4,opt,name=atomic,proto3" json:"atomic,omitempty"` } -func (x *CreatedbStmt) Reset() { - *x = CreatedbStmt{} +func (x *InlineCodeBlock) Reset() { + *x = InlineCodeBlock{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[221] + mi := &file_pg_query_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatedbStmt) String() string { +func (x *InlineCodeBlock) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatedbStmt) ProtoMessage() {} +func (*InlineCodeBlock) ProtoMessage() {} -func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[221] +func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27401,51 +28125,66 @@ func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatedbStmt.ProtoReflect.Descriptor instead. -func (*CreatedbStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{221} +// Deprecated: Use InlineCodeBlock.ProtoReflect.Descriptor instead. +func (*InlineCodeBlock) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{217} } -func (x *CreatedbStmt) GetDbname() string { +func (x *InlineCodeBlock) GetSourceText() string { if x != nil { - return x.Dbname + return x.SourceText } return "" } -func (x *CreatedbStmt) GetOptions() []*Node { +func (x *InlineCodeBlock) GetLangOid() uint32 { if x != nil { - return x.Options + return x.LangOid } - return nil + return 0 } -type AlterDatabaseStmt struct { +func (x *InlineCodeBlock) GetLangIsTrusted() bool { + if x != nil { + return x.LangIsTrusted + } + return false +} + +func (x *InlineCodeBlock) GetAtomic() bool { + if x != nil { + return x.Atomic + } + return false +} + +type CallStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Funccall *FuncCall `protobuf:"bytes,1,opt,name=funccall,proto3" json:"funccall,omitempty"` + Funcexpr *FuncExpr `protobuf:"bytes,2,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` + Outargs []*Node `protobuf:"bytes,3,rep,name=outargs,proto3" json:"outargs,omitempty"` } -func (x *AlterDatabaseStmt) Reset() { - *x = AlterDatabaseStmt{} +func (x *CallStmt) Reset() { + *x = CallStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[222] + mi := &file_pg_query_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDatabaseStmt) String() string { +func (x *CallStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDatabaseStmt) ProtoMessage() {} +func (*CallStmt) ProtoMessage() {} -func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[222] +func (x *CallStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27456,50 +28195,57 @@ func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDatabaseStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{222} +// Deprecated: Use CallStmt.ProtoReflect.Descriptor instead. +func (*CallStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{218} } -func (x *AlterDatabaseStmt) GetDbname() string { +func (x *CallStmt) GetFunccall() *FuncCall { if x != nil { - return x.Dbname + return x.Funccall } - return "" + return nil } -func (x *AlterDatabaseStmt) GetOptions() []*Node { +func (x *CallStmt) GetFuncexpr() *FuncExpr { if x != nil { - return x.Options + return x.Funcexpr } return nil } -type AlterDatabaseRefreshCollStmt struct { +func (x *CallStmt) GetOutargs() []*Node { + if x != nil { + return x.Outargs + } + return nil +} + +type CallContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Atomic bool `protobuf:"varint,1,opt,name=atomic,proto3" json:"atomic,omitempty"` } -func (x *AlterDatabaseRefreshCollStmt) Reset() { - *x = AlterDatabaseRefreshCollStmt{} +func (x *CallContext) Reset() { + *x = CallContext{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[223] + mi := &file_pg_query_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDatabaseRefreshCollStmt) String() string { +func (x *CallContext) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDatabaseRefreshCollStmt) ProtoMessage() {} +func (*CallContext) ProtoMessage() {} -func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[223] +func (x *CallContext) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27510,44 +28256,50 @@ func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDatabaseRefreshCollStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseRefreshCollStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{223} +// Deprecated: Use CallContext.ProtoReflect.Descriptor instead. +func (*CallContext) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{219} } -func (x *AlterDatabaseRefreshCollStmt) GetDbname() string { +func (x *CallContext) GetAtomic() bool { if x != nil { - return x.Dbname + return x.Atomic } - return "" + return false } -type AlterDatabaseSetStmt struct { +type RenameStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Setstmt *VariableSetStmt `protobuf:"bytes,2,opt,name=setstmt,proto3" json:"setstmt,omitempty"` + RenameType ObjectType `protobuf:"varint,1,opt,name=rename_type,json=renameType,proto3,enum=pg_query.ObjectType" json:"rename_type,omitempty"` + RelationType ObjectType `protobuf:"varint,2,opt,name=relation_type,json=relationType,proto3,enum=pg_query.ObjectType" json:"relation_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` + Subname string `protobuf:"bytes,5,opt,name=subname,proto3" json:"subname,omitempty"` + Newname string `protobuf:"bytes,6,opt,name=newname,proto3" json:"newname,omitempty"` + Behavior DropBehavior `protobuf:"varint,7,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,8,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *AlterDatabaseSetStmt) Reset() { - *x = AlterDatabaseSetStmt{} +func (x *RenameStmt) Reset() { + *x = RenameStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[224] + mi := &file_pg_query_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDatabaseSetStmt) String() string { +func (x *RenameStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDatabaseSetStmt) ProtoMessage() {} +func (*RenameStmt) ProtoMessage() {} -func (x *AlterDatabaseSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[224] +func (x *RenameStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27558,113 +28310,96 @@ func (x *AlterDatabaseSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDatabaseSetStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{224} +// Deprecated: Use RenameStmt.ProtoReflect.Descriptor instead. +func (*RenameStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{220} } -func (x *AlterDatabaseSetStmt) GetDbname() string { +func (x *RenameStmt) GetRenameType() ObjectType { if x != nil { - return x.Dbname + return x.RenameType } - return "" + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterDatabaseSetStmt) GetSetstmt() *VariableSetStmt { +func (x *RenameStmt) GetRelationType() ObjectType { if x != nil { - return x.Setstmt + return x.RelationType } - return nil -} - -type DropdbStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *DropdbStmt) Reset() { - *x = DropdbStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[225] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RenameStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation } + return nil } -func (x *DropdbStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DropdbStmt) ProtoMessage() {} - -func (x *DropdbStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[225] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RenameStmt) GetObject() *Node { + if x != nil { + return x.Object } - return mi.MessageOf(x) + return nil } -// Deprecated: Use DropdbStmt.ProtoReflect.Descriptor instead. -func (*DropdbStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{225} +func (x *RenameStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" } -func (x *DropdbStmt) GetDbname() string { +func (x *RenameStmt) GetNewname() string { if x != nil { - return x.Dbname + return x.Newname } return "" } -func (x *DropdbStmt) GetMissingOk() bool { +func (x *RenameStmt) GetBehavior() DropBehavior { if x != nil { - return x.MissingOk + return x.Behavior } - return false + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -func (x *DropdbStmt) GetOptions() []*Node { +func (x *RenameStmt) GetMissingOk() bool { if x != nil { - return x.Options + return x.MissingOk } - return nil + return false } -type AlterSystemStmt struct { +type AlterObjectDependsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Setstmt *VariableSetStmt `protobuf:"bytes,1,opt,name=setstmt,proto3" json:"setstmt,omitempty"` + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Extname *String `protobuf:"bytes,4,opt,name=extname,proto3" json:"extname,omitempty"` + Remove bool `protobuf:"varint,5,opt,name=remove,proto3" json:"remove,omitempty"` } -func (x *AlterSystemStmt) Reset() { - *x = AlterSystemStmt{} +func (x *AlterObjectDependsStmt) Reset() { + *x = AlterObjectDependsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[226] + mi := &file_pg_query_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterSystemStmt) String() string { +func (x *AlterObjectDependsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSystemStmt) ProtoMessage() {} +func (*AlterObjectDependsStmt) ProtoMessage() {} -func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[226] +func (x *AlterObjectDependsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27675,45 +28410,75 @@ func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSystemStmt.ProtoReflect.Descriptor instead. -func (*AlterSystemStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{226} +// Deprecated: Use AlterObjectDependsStmt.ProtoReflect.Descriptor instead. +func (*AlterObjectDependsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{221} } -func (x *AlterSystemStmt) GetSetstmt() *VariableSetStmt { +func (x *AlterObjectDependsStmt) GetObjectType() ObjectType { if x != nil { - return x.Setstmt + return x.ObjectType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterObjectDependsStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation } return nil } -type ClusterStmt struct { +func (x *AlterObjectDependsStmt) GetObject() *Node { + if x != nil { + return x.Object + } + return nil +} + +func (x *AlterObjectDependsStmt) GetExtname() *String { + if x != nil { + return x.Extname + } + return nil +} + +func (x *AlterObjectDependsStmt) GetRemove() bool { + if x != nil { + return x.Remove + } + return false +} + +type AlterObjectSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Indexname string `protobuf:"bytes,2,opt,name=indexname,proto3" json:"indexname,omitempty"` - Params []*Node `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Newschema string `protobuf:"bytes,4,opt,name=newschema,proto3" json:"newschema,omitempty"` + MissingOk bool `protobuf:"varint,5,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *ClusterStmt) Reset() { - *x = ClusterStmt{} +func (x *AlterObjectSchemaStmt) Reset() { + *x = AlterObjectSchemaStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[227] + mi := &file_pg_query_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ClusterStmt) String() string { +func (x *AlterObjectSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ClusterStmt) ProtoMessage() {} +func (*AlterObjectSchemaStmt) ProtoMessage() {} -func (x *ClusterStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[227] +func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27724,59 +28489,74 @@ func (x *ClusterStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ClusterStmt.ProtoReflect.Descriptor instead. -func (*ClusterStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{227} +// Deprecated: Use AlterObjectSchemaStmt.ProtoReflect.Descriptor instead. +func (*AlterObjectSchemaStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{222} } -func (x *ClusterStmt) GetRelation() *RangeVar { +func (x *AlterObjectSchemaStmt) GetObjectType() ObjectType { + if x != nil { + return x.ObjectType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterObjectSchemaStmt) GetRelation() *RangeVar { if x != nil { return x.Relation } return nil } -func (x *ClusterStmt) GetIndexname() string { +func (x *AlterObjectSchemaStmt) GetObject() *Node { if x != nil { - return x.Indexname + return x.Object + } + return nil +} + +func (x *AlterObjectSchemaStmt) GetNewschema() string { + if x != nil { + return x.Newschema } return "" } -func (x *ClusterStmt) GetParams() []*Node { +func (x *AlterObjectSchemaStmt) GetMissingOk() bool { if x != nil { - return x.Params + return x.MissingOk } - return nil + return false } -type VacuumStmt struct { +type AlterOwnerStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` - Rels []*Node `protobuf:"bytes,2,rep,name=rels,proto3" json:"rels,omitempty"` - IsVacuumcmd bool `protobuf:"varint,3,opt,name=is_vacuumcmd,proto3" json:"is_vacuumcmd,omitempty"` + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` } -func (x *VacuumStmt) Reset() { - *x = VacuumStmt{} +func (x *AlterOwnerStmt) Reset() { + *x = AlterOwnerStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[228] + mi := &file_pg_query_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VacuumStmt) String() string { +func (x *AlterOwnerStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VacuumStmt) ProtoMessage() {} +func (*AlterOwnerStmt) ProtoMessage() {} -func (x *VacuumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[228] +func (x *AlterOwnerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27787,59 +28567,65 @@ func (x *VacuumStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VacuumStmt.ProtoReflect.Descriptor instead. -func (*VacuumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{228} +// Deprecated: Use AlterOwnerStmt.ProtoReflect.Descriptor instead. +func (*AlterOwnerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{223} } -func (x *VacuumStmt) GetOptions() []*Node { +func (x *AlterOwnerStmt) GetObjectType() ObjectType { if x != nil { - return x.Options + return x.ObjectType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterOwnerStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation } return nil } -func (x *VacuumStmt) GetRels() []*Node { +func (x *AlterOwnerStmt) GetObject() *Node { if x != nil { - return x.Rels + return x.Object } return nil } -func (x *VacuumStmt) GetIsVacuumcmd() bool { +func (x *AlterOwnerStmt) GetNewowner() *RoleSpec { if x != nil { - return x.IsVacuumcmd + return x.Newowner } - return false + return nil } -type VacuumRelation struct { +type AlterOperatorStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Oid uint32 `protobuf:"varint,2,opt,name=oid,proto3" json:"oid,omitempty"` - VaCols []*Node `protobuf:"bytes,3,rep,name=va_cols,proto3" json:"va_cols,omitempty"` + Opername *ObjectWithArgs `protobuf:"bytes,1,opt,name=opername,proto3" json:"opername,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *VacuumRelation) Reset() { - *x = VacuumRelation{} +func (x *AlterOperatorStmt) Reset() { + *x = AlterOperatorStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[229] + mi := &file_pg_query_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VacuumRelation) String() string { +func (x *AlterOperatorStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VacuumRelation) ProtoMessage() {} +func (*AlterOperatorStmt) ProtoMessage() {} -func (x *VacuumRelation) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[229] +func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27850,58 +28636,51 @@ func (x *VacuumRelation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VacuumRelation.ProtoReflect.Descriptor instead. -func (*VacuumRelation) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{229} +// Deprecated: Use AlterOperatorStmt.ProtoReflect.Descriptor instead. +func (*AlterOperatorStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{224} } -func (x *VacuumRelation) GetRelation() *RangeVar { +func (x *AlterOperatorStmt) GetOpername() *ObjectWithArgs { if x != nil { - return x.Relation + return x.Opername } return nil } -func (x *VacuumRelation) GetOid() uint32 { - if x != nil { - return x.Oid - } - return 0 -} - -func (x *VacuumRelation) GetVaCols() []*Node { +func (x *AlterOperatorStmt) GetOptions() []*Node { if x != nil { - return x.VaCols + return x.Options } return nil } -type ExplainStmt struct { +type AlterTypeStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *ExplainStmt) Reset() { - *x = ExplainStmt{} +func (x *AlterTypeStmt) Reset() { + *x = AlterTypeStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[230] + mi := &file_pg_query_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExplainStmt) String() string { +func (x *AlterTypeStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExplainStmt) ProtoMessage() {} +func (*AlterTypeStmt) ProtoMessage() {} -func (x *ExplainStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[230] +func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27912,54 +28691,56 @@ func (x *ExplainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExplainStmt.ProtoReflect.Descriptor instead. -func (*ExplainStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{230} +// Deprecated: Use AlterTypeStmt.ProtoReflect.Descriptor instead. +func (*AlterTypeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{225} } -func (x *ExplainStmt) GetQuery() *Node { +func (x *AlterTypeStmt) GetTypeName() []*Node { if x != nil { - return x.Query + return x.TypeName } return nil } -func (x *ExplainStmt) GetOptions() []*Node { +func (x *AlterTypeStmt) GetOptions() []*Node { if x != nil { return x.Options } return nil } -type CreateTableAsStmt struct { +type RuleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Into *IntoClause `protobuf:"bytes,2,opt,name=into,proto3" json:"into,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - IsSelectInto bool `protobuf:"varint,4,opt,name=is_select_into,proto3" json:"is_select_into,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Rulename string `protobuf:"bytes,2,opt,name=rulename,proto3" json:"rulename,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Event CmdType `protobuf:"varint,4,opt,name=event,proto3,enum=pg_query.CmdType" json:"event,omitempty"` + Instead bool `protobuf:"varint,5,opt,name=instead,proto3" json:"instead,omitempty"` + Actions []*Node `protobuf:"bytes,6,rep,name=actions,proto3" json:"actions,omitempty"` + Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` } -func (x *CreateTableAsStmt) Reset() { - *x = CreateTableAsStmt{} +func (x *RuleStmt) Reset() { + *x = RuleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[231] + mi := &file_pg_query_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTableAsStmt) String() string { +func (x *RuleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTableAsStmt) ProtoMessage() {} +func (*RuleStmt) ProtoMessage() {} -func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[231] +func (x *RuleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27970,73 +28751,86 @@ func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTableAsStmt.ProtoReflect.Descriptor instead. -func (*CreateTableAsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{231} +// Deprecated: Use RuleStmt.ProtoReflect.Descriptor instead. +func (*RuleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{226} } -func (x *CreateTableAsStmt) GetQuery() *Node { +func (x *RuleStmt) GetRelation() *RangeVar { if x != nil { - return x.Query + return x.Relation } return nil } -func (x *CreateTableAsStmt) GetInto() *IntoClause { +func (x *RuleStmt) GetRulename() string { if x != nil { - return x.Into + return x.Rulename } - return nil + return "" } -func (x *CreateTableAsStmt) GetObjtype() ObjectType { +func (x *RuleStmt) GetWhereClause() *Node { if x != nil { - return x.Objtype + return x.WhereClause } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *CreateTableAsStmt) GetIsSelectInto() bool { +func (x *RuleStmt) GetEvent() CmdType { if x != nil { - return x.IsSelectInto + return x.Event + } + return CmdType_CMD_TYPE_UNDEFINED +} + +func (x *RuleStmt) GetInstead() bool { + if x != nil { + return x.Instead } return false } -func (x *CreateTableAsStmt) GetIfNotExists() bool { +func (x *RuleStmt) GetActions() []*Node { if x != nil { - return x.IfNotExists + return x.Actions + } + return nil +} + +func (x *RuleStmt) GetReplace() bool { + if x != nil { + return x.Replace } return false } -type RefreshMatViewStmt struct { +type NotifyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Concurrent bool `protobuf:"varint,1,opt,name=concurrent,proto3" json:"concurrent,omitempty"` - SkipData bool `protobuf:"varint,2,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` - Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` + Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` } -func (x *RefreshMatViewStmt) Reset() { - *x = RefreshMatViewStmt{} +func (x *NotifyStmt) Reset() { + *x = NotifyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[232] + mi := &file_pg_query_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RefreshMatViewStmt) String() string { +func (x *NotifyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RefreshMatViewStmt) ProtoMessage() {} +func (*NotifyStmt) ProtoMessage() {} -func (x *RefreshMatViewStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[232] +func (x *NotifyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28047,55 +28841,50 @@ func (x *RefreshMatViewStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RefreshMatViewStmt.ProtoReflect.Descriptor instead. -func (*RefreshMatViewStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{232} -} - -func (x *RefreshMatViewStmt) GetConcurrent() bool { - if x != nil { - return x.Concurrent - } - return false +// Deprecated: Use NotifyStmt.ProtoReflect.Descriptor instead. +func (*NotifyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{227} } -func (x *RefreshMatViewStmt) GetSkipData() bool { +func (x *NotifyStmt) GetConditionname() string { if x != nil { - return x.SkipData + return x.Conditionname } - return false + return "" } -func (x *RefreshMatViewStmt) GetRelation() *RangeVar { +func (x *NotifyStmt) GetPayload() string { if x != nil { - return x.Relation + return x.Payload } - return nil + return "" } -type CheckPointStmt struct { +type ListenStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` } -func (x *CheckPointStmt) Reset() { - *x = CheckPointStmt{} +func (x *ListenStmt) Reset() { + *x = ListenStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[233] + mi := &file_pg_query_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CheckPointStmt) String() string { +func (x *ListenStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CheckPointStmt) ProtoMessage() {} +func (*ListenStmt) ProtoMessage() {} -func (x *CheckPointStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[233] +func (x *ListenStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28106,36 +28895,43 @@ func (x *CheckPointStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CheckPointStmt.ProtoReflect.Descriptor instead. -func (*CheckPointStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{233} +// Deprecated: Use ListenStmt.ProtoReflect.Descriptor instead. +func (*ListenStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{228} } -type DiscardStmt struct { +func (x *ListenStmt) GetConditionname() string { + if x != nil { + return x.Conditionname + } + return "" +} + +type UnlistenStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Target DiscardMode `protobuf:"varint,1,opt,name=target,proto3,enum=pg_query.DiscardMode" json:"target,omitempty"` + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` } -func (x *DiscardStmt) Reset() { - *x = DiscardStmt{} +func (x *UnlistenStmt) Reset() { + *x = UnlistenStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[234] + mi := &file_pg_query_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DiscardStmt) String() string { +func (x *UnlistenStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DiscardStmt) ProtoMessage() {} +func (*UnlistenStmt) ProtoMessage() {} -func (x *DiscardStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[234] +func (x *UnlistenStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28146,45 +28942,48 @@ func (x *DiscardStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DiscardStmt.ProtoReflect.Descriptor instead. -func (*DiscardStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{234} +// Deprecated: Use UnlistenStmt.ProtoReflect.Descriptor instead. +func (*UnlistenStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{229} } -func (x *DiscardStmt) GetTarget() DiscardMode { +func (x *UnlistenStmt) GetConditionname() string { if x != nil { - return x.Target + return x.Conditionname } - return DiscardMode_DISCARD_MODE_UNDEFINED + return "" } -type LockStmt struct { +type TransactionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` - Mode int32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` - Nowait bool `protobuf:"varint,3,opt,name=nowait,proto3" json:"nowait,omitempty"` + Kind TransactionStmtKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.TransactionStmtKind" json:"kind,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + SavepointName string `protobuf:"bytes,3,opt,name=savepoint_name,proto3" json:"savepoint_name,omitempty"` + Gid string `protobuf:"bytes,4,opt,name=gid,proto3" json:"gid,omitempty"` + Chain bool `protobuf:"varint,5,opt,name=chain,proto3" json:"chain,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` } -func (x *LockStmt) Reset() { - *x = LockStmt{} +func (x *TransactionStmt) Reset() { + *x = TransactionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[235] + mi := &file_pg_query_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LockStmt) String() string { +func (x *TransactionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LockStmt) ProtoMessage() {} +func (*TransactionStmt) ProtoMessage() {} -func (x *LockStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[235] +func (x *TransactionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28195,58 +28994,79 @@ func (x *LockStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LockStmt.ProtoReflect.Descriptor instead. -func (*LockStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{235} +// Deprecated: Use TransactionStmt.ProtoReflect.Descriptor instead. +func (*TransactionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{230} } -func (x *LockStmt) GetRelations() []*Node { +func (x *TransactionStmt) GetKind() TransactionStmtKind { if x != nil { - return x.Relations + return x.Kind + } + return TransactionStmtKind_TRANSACTION_STMT_KIND_UNDEFINED +} + +func (x *TransactionStmt) GetOptions() []*Node { + if x != nil { + return x.Options } return nil } -func (x *LockStmt) GetMode() int32 { +func (x *TransactionStmt) GetSavepointName() string { if x != nil { - return x.Mode + return x.SavepointName } - return 0 + return "" } -func (x *LockStmt) GetNowait() bool { +func (x *TransactionStmt) GetGid() string { if x != nil { - return x.Nowait + return x.Gid + } + return "" +} + +func (x *TransactionStmt) GetChain() bool { + if x != nil { + return x.Chain } return false } -type ConstraintsSetStmt struct { +func (x *TransactionStmt) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CompositeTypeStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Constraints []*Node `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` - Deferred bool `protobuf:"varint,2,opt,name=deferred,proto3" json:"deferred,omitempty"` + Typevar *RangeVar `protobuf:"bytes,1,opt,name=typevar,proto3" json:"typevar,omitempty"` + Coldeflist []*Node `protobuf:"bytes,2,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` } -func (x *ConstraintsSetStmt) Reset() { - *x = ConstraintsSetStmt{} +func (x *CompositeTypeStmt) Reset() { + *x = CompositeTypeStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[236] + mi := &file_pg_query_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConstraintsSetStmt) String() string { +func (x *CompositeTypeStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConstraintsSetStmt) ProtoMessage() {} +func (*CompositeTypeStmt) ProtoMessage() {} -func (x *ConstraintsSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[236] +func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28257,53 +29077,51 @@ func (x *ConstraintsSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConstraintsSetStmt.ProtoReflect.Descriptor instead. -func (*ConstraintsSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{236} +// Deprecated: Use CompositeTypeStmt.ProtoReflect.Descriptor instead. +func (*CompositeTypeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{231} } -func (x *ConstraintsSetStmt) GetConstraints() []*Node { +func (x *CompositeTypeStmt) GetTypevar() *RangeVar { if x != nil { - return x.Constraints + return x.Typevar } return nil } -func (x *ConstraintsSetStmt) GetDeferred() bool { +func (x *CompositeTypeStmt) GetColdeflist() []*Node { if x != nil { - return x.Deferred + return x.Coldeflist } - return false + return nil } -type ReindexStmt struct { +type CreateEnumStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind ReindexObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ReindexObjectType" json:"kind,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Params []*Node `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty"` + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Vals []*Node `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` } -func (x *ReindexStmt) Reset() { - *x = ReindexStmt{} +func (x *CreateEnumStmt) Reset() { + *x = CreateEnumStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[237] + mi := &file_pg_query_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReindexStmt) String() string { +func (x *CreateEnumStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReindexStmt) ProtoMessage() {} +func (*CreateEnumStmt) ProtoMessage() {} -func (x *ReindexStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[237] +func (x *CreateEnumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28314,68 +29132,51 @@ func (x *ReindexStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReindexStmt.ProtoReflect.Descriptor instead. -func (*ReindexStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{237} -} - -func (x *ReindexStmt) GetKind() ReindexObjectType { - if x != nil { - return x.Kind - } - return ReindexObjectType_REINDEX_OBJECT_TYPE_UNDEFINED +// Deprecated: Use CreateEnumStmt.ProtoReflect.Descriptor instead. +func (*CreateEnumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{232} } -func (x *ReindexStmt) GetRelation() *RangeVar { +func (x *CreateEnumStmt) GetTypeName() []*Node { if x != nil { - return x.Relation + return x.TypeName } return nil } -func (x *ReindexStmt) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ReindexStmt) GetParams() []*Node { +func (x *CreateEnumStmt) GetVals() []*Node { if x != nil { - return x.Params + return x.Vals } return nil } -type CreateConversionStmt struct { +type CreateRangeStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConversionName []*Node `protobuf:"bytes,1,rep,name=conversion_name,proto3" json:"conversion_name,omitempty"` - ForEncodingName string `protobuf:"bytes,2,opt,name=for_encoding_name,proto3" json:"for_encoding_name,omitempty"` - ToEncodingName string `protobuf:"bytes,3,opt,name=to_encoding_name,proto3" json:"to_encoding_name,omitempty"` - FuncName []*Node `protobuf:"bytes,4,rep,name=func_name,proto3" json:"func_name,omitempty"` - Def bool `protobuf:"varint,5,opt,name=def,proto3" json:"def,omitempty"` + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` } -func (x *CreateConversionStmt) Reset() { - *x = CreateConversionStmt{} +func (x *CreateRangeStmt) Reset() { + *x = CreateRangeStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[238] + mi := &file_pg_query_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateConversionStmt) String() string { +func (x *CreateRangeStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateConversionStmt) ProtoMessage() {} +func (*CreateRangeStmt) ProtoMessage() {} -func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[238] +func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28386,75 +29187,55 @@ func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateConversionStmt.ProtoReflect.Descriptor instead. -func (*CreateConversionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{238} +// Deprecated: Use CreateRangeStmt.ProtoReflect.Descriptor instead. +func (*CreateRangeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{233} } -func (x *CreateConversionStmt) GetConversionName() []*Node { +func (x *CreateRangeStmt) GetTypeName() []*Node { if x != nil { - return x.ConversionName + return x.TypeName } return nil } -func (x *CreateConversionStmt) GetForEncodingName() string { - if x != nil { - return x.ForEncodingName - } - return "" -} - -func (x *CreateConversionStmt) GetToEncodingName() string { - if x != nil { - return x.ToEncodingName - } - return "" -} - -func (x *CreateConversionStmt) GetFuncName() []*Node { +func (x *CreateRangeStmt) GetParams() []*Node { if x != nil { - return x.FuncName + return x.Params } return nil } -func (x *CreateConversionStmt) GetDef() bool { - if x != nil { - return x.Def - } - return false -} - -type CreateCastStmt struct { +type AlterEnumStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sourcetype *TypeName `protobuf:"bytes,1,opt,name=sourcetype,proto3" json:"sourcetype,omitempty"` - Targettype *TypeName `protobuf:"bytes,2,opt,name=targettype,proto3" json:"targettype,omitempty"` - Func *ObjectWithArgs `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` - Context CoercionContext `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.CoercionContext" json:"context,omitempty"` - Inout bool `protobuf:"varint,5,opt,name=inout,proto3" json:"inout,omitempty"` + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + OldVal string `protobuf:"bytes,2,opt,name=old_val,json=oldVal,proto3" json:"old_val,omitempty"` + NewVal string `protobuf:"bytes,3,opt,name=new_val,json=newVal,proto3" json:"new_val,omitempty"` + NewValNeighbor string `protobuf:"bytes,4,opt,name=new_val_neighbor,json=newValNeighbor,proto3" json:"new_val_neighbor,omitempty"` + NewValIsAfter bool `protobuf:"varint,5,opt,name=new_val_is_after,json=newValIsAfter,proto3" json:"new_val_is_after,omitempty"` + SkipIfNewValExists bool `protobuf:"varint,6,opt,name=skip_if_new_val_exists,json=skipIfNewValExists,proto3" json:"skip_if_new_val_exists,omitempty"` } -func (x *CreateCastStmt) Reset() { - *x = CreateCastStmt{} +func (x *AlterEnumStmt) Reset() { + *x = AlterEnumStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[239] + mi := &file_pg_query_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateCastStmt) String() string { +func (x *AlterEnumStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateCastStmt) ProtoMessage() {} +func (*AlterEnumStmt) ProtoMessage() {} -func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[239] +func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28465,75 +29246,83 @@ func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateCastStmt.ProtoReflect.Descriptor instead. -func (*CreateCastStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{239} +// Deprecated: Use AlterEnumStmt.ProtoReflect.Descriptor instead. +func (*AlterEnumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{234} } -func (x *CreateCastStmt) GetSourcetype() *TypeName { +func (x *AlterEnumStmt) GetTypeName() []*Node { if x != nil { - return x.Sourcetype + return x.TypeName } return nil } -func (x *CreateCastStmt) GetTargettype() *TypeName { +func (x *AlterEnumStmt) GetOldVal() string { if x != nil { - return x.Targettype + return x.OldVal } - return nil + return "" } -func (x *CreateCastStmt) GetFunc() *ObjectWithArgs { +func (x *AlterEnumStmt) GetNewVal() string { if x != nil { - return x.Func + return x.NewVal } - return nil + return "" } -func (x *CreateCastStmt) GetContext() CoercionContext { +func (x *AlterEnumStmt) GetNewValNeighbor() string { if x != nil { - return x.Context + return x.NewValNeighbor } - return CoercionContext_COERCION_CONTEXT_UNDEFINED + return "" } -func (x *CreateCastStmt) GetInout() bool { +func (x *AlterEnumStmt) GetNewValIsAfter() bool { if x != nil { - return x.Inout + return x.NewValIsAfter } return false } -type CreateTransformStmt struct { +func (x *AlterEnumStmt) GetSkipIfNewValExists() bool { + if x != nil { + return x.SkipIfNewValExists + } + return false +} + +type ViewStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,proto3" json:"type_name,omitempty"` - Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` - Fromsql *ObjectWithArgs `protobuf:"bytes,4,opt,name=fromsql,proto3" json:"fromsql,omitempty"` - Tosql *ObjectWithArgs `protobuf:"bytes,5,opt,name=tosql,proto3" json:"tosql,omitempty"` + View *RangeVar `protobuf:"bytes,1,opt,name=view,proto3" json:"view,omitempty"` + Aliases []*Node `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"` + Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` + WithCheckOption ViewCheckOption `protobuf:"varint,6,opt,name=with_check_option,json=withCheckOption,proto3,enum=pg_query.ViewCheckOption" json:"with_check_option,omitempty"` } -func (x *CreateTransformStmt) Reset() { - *x = CreateTransformStmt{} +func (x *ViewStmt) Reset() { + *x = ViewStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[240] + mi := &file_pg_query_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTransformStmt) String() string { +func (x *ViewStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTransformStmt) ProtoMessage() {} +func (*ViewStmt) ProtoMessage() {} -func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[240] +func (x *ViewStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28544,73 +29333,78 @@ func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTransformStmt.ProtoReflect.Descriptor instead. -func (*CreateTransformStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{240} +// Deprecated: Use ViewStmt.ProtoReflect.Descriptor instead. +func (*ViewStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{235} } -func (x *CreateTransformStmt) GetReplace() bool { +func (x *ViewStmt) GetView() *RangeVar { if x != nil { - return x.Replace + return x.View } - return false + return nil } -func (x *CreateTransformStmt) GetTypeName() *TypeName { +func (x *ViewStmt) GetAliases() []*Node { if x != nil { - return x.TypeName + return x.Aliases } return nil } -func (x *CreateTransformStmt) GetLang() string { +func (x *ViewStmt) GetQuery() *Node { if x != nil { - return x.Lang + return x.Query } - return "" + return nil } -func (x *CreateTransformStmt) GetFromsql() *ObjectWithArgs { +func (x *ViewStmt) GetReplace() bool { if x != nil { - return x.Fromsql + return x.Replace } - return nil + return false } -func (x *CreateTransformStmt) GetTosql() *ObjectWithArgs { +func (x *ViewStmt) GetOptions() []*Node { if x != nil { - return x.Tosql + return x.Options } return nil } -type PrepareStmt struct { +func (x *ViewStmt) GetWithCheckOption() ViewCheckOption { + if x != nil { + return x.WithCheckOption + } + return ViewCheckOption_VIEW_CHECK_OPTION_UNDEFINED +} + +type LoadStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Argtypes []*Node `protobuf:"bytes,2,rep,name=argtypes,proto3" json:"argtypes,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` } -func (x *PrepareStmt) Reset() { - *x = PrepareStmt{} +func (x *LoadStmt) Reset() { + *x = LoadStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[241] + mi := &file_pg_query_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PrepareStmt) String() string { +func (x *LoadStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrepareStmt) ProtoMessage() {} +func (*LoadStmt) ProtoMessage() {} -func (x *PrepareStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[241] +func (x *LoadStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28621,58 +29415,44 @@ func (x *PrepareStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrepareStmt.ProtoReflect.Descriptor instead. -func (*PrepareStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{241} +// Deprecated: Use LoadStmt.ProtoReflect.Descriptor instead. +func (*LoadStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{236} } -func (x *PrepareStmt) GetName() string { +func (x *LoadStmt) GetFilename() string { if x != nil { - return x.Name + return x.Filename } return "" } -func (x *PrepareStmt) GetArgtypes() []*Node { - if x != nil { - return x.Argtypes - } - return nil -} +type CreatedbStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *PrepareStmt) GetQuery() *Node { - if x != nil { - return x.Query - } - return nil -} - -type ExecuteStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *ExecuteStmt) Reset() { - *x = ExecuteStmt{} +func (x *CreatedbStmt) Reset() { + *x = CreatedbStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[242] + mi := &file_pg_query_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecuteStmt) String() string { +func (x *CreatedbStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecuteStmt) ProtoMessage() {} +func (*CreatedbStmt) ProtoMessage() {} -func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[242] +func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28683,50 +29463,51 @@ func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecuteStmt.ProtoReflect.Descriptor instead. -func (*ExecuteStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{242} +// Deprecated: Use CreatedbStmt.ProtoReflect.Descriptor instead. +func (*CreatedbStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{237} } -func (x *ExecuteStmt) GetName() string { +func (x *CreatedbStmt) GetDbname() string { if x != nil { - return x.Name + return x.Dbname } return "" } -func (x *ExecuteStmt) GetParams() []*Node { +func (x *CreatedbStmt) GetOptions() []*Node { if x != nil { - return x.Params + return x.Options } return nil } -type DeallocateStmt struct { +type AlterDatabaseStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *DeallocateStmt) Reset() { - *x = DeallocateStmt{} +func (x *AlterDatabaseStmt) Reset() { + *x = AlterDatabaseStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[243] + mi := &file_pg_query_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeallocateStmt) String() string { +func (x *AlterDatabaseStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeallocateStmt) ProtoMessage() {} +func (*AlterDatabaseStmt) ProtoMessage() {} -func (x *DeallocateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[243] +func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28737,44 +29518,50 @@ func (x *DeallocateStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeallocateStmt.ProtoReflect.Descriptor instead. -func (*DeallocateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{243} +// Deprecated: Use AlterDatabaseStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{238} } -func (x *DeallocateStmt) GetName() string { +func (x *AlterDatabaseStmt) GetDbname() string { if x != nil { - return x.Name + return x.Dbname } return "" } -type DropOwnedStmt struct { +func (x *AlterDatabaseStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterDatabaseRefreshCollStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - Behavior DropBehavior `protobuf:"varint,2,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` } -func (x *DropOwnedStmt) Reset() { - *x = DropOwnedStmt{} +func (x *AlterDatabaseRefreshCollStmt) Reset() { + *x = AlterDatabaseRefreshCollStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[244] + mi := &file_pg_query_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropOwnedStmt) String() string { +func (x *AlterDatabaseRefreshCollStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropOwnedStmt) ProtoMessage() {} +func (*AlterDatabaseRefreshCollStmt) ProtoMessage() {} -func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[244] +func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28785,51 +29572,44 @@ func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropOwnedStmt.ProtoReflect.Descriptor instead. -func (*DropOwnedStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{244} -} - -func (x *DropOwnedStmt) GetRoles() []*Node { - if x != nil { - return x.Roles - } - return nil +// Deprecated: Use AlterDatabaseRefreshCollStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseRefreshCollStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{239} } -func (x *DropOwnedStmt) GetBehavior() DropBehavior { +func (x *AlterDatabaseRefreshCollStmt) GetDbname() string { if x != nil { - return x.Behavior + return x.Dbname } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return "" } -type ReassignOwnedStmt struct { +type AlterDatabaseSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - Newrole *RoleSpec `protobuf:"bytes,2,opt,name=newrole,proto3" json:"newrole,omitempty"` + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Setstmt *VariableSetStmt `protobuf:"bytes,2,opt,name=setstmt,proto3" json:"setstmt,omitempty"` } -func (x *ReassignOwnedStmt) Reset() { - *x = ReassignOwnedStmt{} +func (x *AlterDatabaseSetStmt) Reset() { + *x = AlterDatabaseSetStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[245] + mi := &file_pg_query_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReassignOwnedStmt) String() string { +func (x *AlterDatabaseSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReassignOwnedStmt) ProtoMessage() {} +func (*AlterDatabaseSetStmt) ProtoMessage() {} -func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[245] +func (x *AlterDatabaseSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28840,51 +29620,52 @@ func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReassignOwnedStmt.ProtoReflect.Descriptor instead. -func (*ReassignOwnedStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{245} +// Deprecated: Use AlterDatabaseSetStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{240} } -func (x *ReassignOwnedStmt) GetRoles() []*Node { +func (x *AlterDatabaseSetStmt) GetDbname() string { if x != nil { - return x.Roles + return x.Dbname } - return nil + return "" } -func (x *ReassignOwnedStmt) GetNewrole() *RoleSpec { +func (x *AlterDatabaseSetStmt) GetSetstmt() *VariableSetStmt { if x != nil { - return x.Newrole + return x.Setstmt } return nil } -type AlterTSDictionaryStmt struct { +type DropdbStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dictname []*Node `protobuf:"bytes,1,rep,name=dictname,proto3" json:"dictname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *AlterTSDictionaryStmt) Reset() { - *x = AlterTSDictionaryStmt{} +func (x *DropdbStmt) Reset() { + *x = DropdbStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[246] + mi := &file_pg_query_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTSDictionaryStmt) String() string { +func (x *DropdbStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTSDictionaryStmt) ProtoMessage() {} +func (*DropdbStmt) ProtoMessage() {} -func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[246] +func (x *DropdbStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28895,56 +29676,57 @@ func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTSDictionaryStmt.ProtoReflect.Descriptor instead. -func (*AlterTSDictionaryStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{246} +// Deprecated: Use DropdbStmt.ProtoReflect.Descriptor instead. +func (*DropdbStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{241} } -func (x *AlterTSDictionaryStmt) GetDictname() []*Node { +func (x *DropdbStmt) GetDbname() string { if x != nil { - return x.Dictname + return x.Dbname } - return nil + return "" } -func (x *AlterTSDictionaryStmt) GetOptions() []*Node { +func (x *DropdbStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +func (x *DropdbStmt) GetOptions() []*Node { if x != nil { return x.Options } return nil } -type AlterTSConfigurationStmt struct { +type AlterSystemStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind AlterTSConfigType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterTSConfigType" json:"kind,omitempty"` - Cfgname []*Node `protobuf:"bytes,2,rep,name=cfgname,proto3" json:"cfgname,omitempty"` - Tokentype []*Node `protobuf:"bytes,3,rep,name=tokentype,proto3" json:"tokentype,omitempty"` - Dicts []*Node `protobuf:"bytes,4,rep,name=dicts,proto3" json:"dicts,omitempty"` - Override bool `protobuf:"varint,5,opt,name=override,proto3" json:"override,omitempty"` - Replace bool `protobuf:"varint,6,opt,name=replace,proto3" json:"replace,omitempty"` - MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Setstmt *VariableSetStmt `protobuf:"bytes,1,opt,name=setstmt,proto3" json:"setstmt,omitempty"` } -func (x *AlterTSConfigurationStmt) Reset() { - *x = AlterTSConfigurationStmt{} +func (x *AlterSystemStmt) Reset() { + *x = AlterSystemStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[247] + mi := &file_pg_query_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTSConfigurationStmt) String() string { +func (x *AlterSystemStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTSConfigurationStmt) ProtoMessage() {} +func (*AlterSystemStmt) ProtoMessage() {} -func (x *AlterTSConfigurationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[247] +func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28955,87 +29737,108 @@ func (x *AlterTSConfigurationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTSConfigurationStmt.ProtoReflect.Descriptor instead. -func (*AlterTSConfigurationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{247} +// Deprecated: Use AlterSystemStmt.ProtoReflect.Descriptor instead. +func (*AlterSystemStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{242} } -func (x *AlterTSConfigurationStmt) GetKind() AlterTSConfigType { +func (x *AlterSystemStmt) GetSetstmt() *VariableSetStmt { if x != nil { - return x.Kind + return x.Setstmt } - return AlterTSConfigType_ALTER_TSCONFIG_TYPE_UNDEFINED + return nil } -func (x *AlterTSConfigurationStmt) GetCfgname() []*Node { - if x != nil { - return x.Cfgname - } - return nil +type ClusterStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Indexname string `protobuf:"bytes,2,opt,name=indexname,proto3" json:"indexname,omitempty"` + Params []*Node `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` } -func (x *AlterTSConfigurationStmt) GetTokentype() []*Node { - if x != nil { - return x.Tokentype +func (x *ClusterStmt) Reset() { + *x = ClusterStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *AlterTSConfigurationStmt) GetDicts() []*Node { - if x != nil { - return x.Dicts +func (x *ClusterStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterStmt) ProtoMessage() {} + +func (x *ClusterStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[243] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *AlterTSConfigurationStmt) GetOverride() bool { +// Deprecated: Use ClusterStmt.ProtoReflect.Descriptor instead. +func (*ClusterStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{243} +} + +func (x *ClusterStmt) GetRelation() *RangeVar { if x != nil { - return x.Override + return x.Relation } - return false + return nil } -func (x *AlterTSConfigurationStmt) GetReplace() bool { +func (x *ClusterStmt) GetIndexname() string { if x != nil { - return x.Replace + return x.Indexname } - return false + return "" } -func (x *AlterTSConfigurationStmt) GetMissingOk() bool { +func (x *ClusterStmt) GetParams() []*Node { if x != nil { - return x.MissingOk + return x.Params } - return false + return nil } -type PublicationTable struct { +type VacuumStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Columns []*Node `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` + Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` + Rels []*Node `protobuf:"bytes,2,rep,name=rels,proto3" json:"rels,omitempty"` + IsVacuumcmd bool `protobuf:"varint,3,opt,name=is_vacuumcmd,proto3" json:"is_vacuumcmd,omitempty"` } -func (x *PublicationTable) Reset() { - *x = PublicationTable{} +func (x *VacuumStmt) Reset() { + *x = VacuumStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[248] + mi := &file_pg_query_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PublicationTable) String() string { +func (x *VacuumStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublicationTable) ProtoMessage() {} +func (*VacuumStmt) ProtoMessage() {} -func (x *PublicationTable) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[248] +func (x *VacuumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29046,60 +29849,59 @@ func (x *PublicationTable) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublicationTable.ProtoReflect.Descriptor instead. -func (*PublicationTable) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{248} +// Deprecated: Use VacuumStmt.ProtoReflect.Descriptor instead. +func (*VacuumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{244} } -func (x *PublicationTable) GetRelation() *RangeVar { +func (x *VacuumStmt) GetOptions() []*Node { if x != nil { - return x.Relation + return x.Options } return nil } -func (x *PublicationTable) GetWhereClause() *Node { +func (x *VacuumStmt) GetRels() []*Node { if x != nil { - return x.WhereClause + return x.Rels } return nil } -func (x *PublicationTable) GetColumns() []*Node { +func (x *VacuumStmt) GetIsVacuumcmd() bool { if x != nil { - return x.Columns + return x.IsVacuumcmd } - return nil + return false } -type PublicationObjSpec struct { +type VacuumRelation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubobjtype PublicationObjSpecType `protobuf:"varint,1,opt,name=pubobjtype,proto3,enum=pg_query.PublicationObjSpecType" json:"pubobjtype,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Pubtable *PublicationTable `protobuf:"bytes,3,opt,name=pubtable,proto3" json:"pubtable,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Oid uint32 `protobuf:"varint,2,opt,name=oid,proto3" json:"oid,omitempty"` + VaCols []*Node `protobuf:"bytes,3,rep,name=va_cols,proto3" json:"va_cols,omitempty"` } -func (x *PublicationObjSpec) Reset() { - *x = PublicationObjSpec{} +func (x *VacuumRelation) Reset() { + *x = VacuumRelation{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[249] + mi := &file_pg_query_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PublicationObjSpec) String() string { +func (x *VacuumRelation) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublicationObjSpec) ProtoMessage() {} +func (*VacuumRelation) ProtoMessage() {} -func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[249] +func (x *VacuumRelation) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29110,67 +29912,58 @@ func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublicationObjSpec.ProtoReflect.Descriptor instead. -func (*PublicationObjSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{249} +// Deprecated: Use VacuumRelation.ProtoReflect.Descriptor instead. +func (*VacuumRelation) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{245} } -func (x *PublicationObjSpec) GetPubobjtype() PublicationObjSpecType { +func (x *VacuumRelation) GetRelation() *RangeVar { if x != nil { - return x.Pubobjtype + return x.Relation } - return PublicationObjSpecType_PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED + return nil } -func (x *PublicationObjSpec) GetName() string { +func (x *VacuumRelation) GetOid() uint32 { if x != nil { - return x.Name + return x.Oid } - return "" + return 0 } -func (x *PublicationObjSpec) GetPubtable() *PublicationTable { +func (x *VacuumRelation) GetVaCols() []*Node { if x != nil { - return x.Pubtable + return x.VaCols } return nil } -func (x *PublicationObjSpec) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type CreatePublicationStmt struct { +type ExplainStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` - ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreatePublicationStmt) Reset() { - *x = CreatePublicationStmt{} +func (x *ExplainStmt) Reset() { + *x = ExplainStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[250] + mi := &file_pg_query_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePublicationStmt) String() string { +func (x *ExplainStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePublicationStmt) ProtoMessage() {} +func (*ExplainStmt) ProtoMessage() {} -func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[250] +func (x *ExplainStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29181,68 +29974,54 @@ func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePublicationStmt.ProtoReflect.Descriptor instead. -func (*CreatePublicationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{250} -} - -func (x *CreatePublicationStmt) GetPubname() string { - if x != nil { - return x.Pubname - } - return "" +// Deprecated: Use ExplainStmt.ProtoReflect.Descriptor instead. +func (*ExplainStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{246} } -func (x *CreatePublicationStmt) GetOptions() []*Node { +func (x *ExplainStmt) GetQuery() *Node { if x != nil { - return x.Options + return x.Query } return nil } -func (x *CreatePublicationStmt) GetPubobjects() []*Node { +func (x *ExplainStmt) GetOptions() []*Node { if x != nil { - return x.Pubobjects + return x.Options } return nil } -func (x *CreatePublicationStmt) GetForAllTables() bool { - if x != nil { - return x.ForAllTables - } - return false -} - -type AlterPublicationStmt struct { +type CreateTableAsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` - ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` - Action AlterPublicationAction `protobuf:"varint,5,opt,name=action,proto3,enum=pg_query.AlterPublicationAction" json:"action,omitempty"` + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Into *IntoClause `protobuf:"bytes,2,opt,name=into,proto3" json:"into,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + IsSelectInto bool `protobuf:"varint,4,opt,name=is_select_into,proto3" json:"is_select_into,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *AlterPublicationStmt) Reset() { - *x = AlterPublicationStmt{} +func (x *CreateTableAsStmt) Reset() { + *x = CreateTableAsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[251] + mi := &file_pg_query_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterPublicationStmt) String() string { +func (x *CreateTableAsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterPublicationStmt) ProtoMessage() {} +func (*CreateTableAsStmt) ProtoMessage() {} -func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[251] +func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29253,74 +30032,73 @@ func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterPublicationStmt.ProtoReflect.Descriptor instead. -func (*AlterPublicationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{251} +// Deprecated: Use CreateTableAsStmt.ProtoReflect.Descriptor instead. +func (*CreateTableAsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{247} } -func (x *AlterPublicationStmt) GetPubname() string { +func (x *CreateTableAsStmt) GetQuery() *Node { if x != nil { - return x.Pubname + return x.Query } - return "" + return nil } -func (x *AlterPublicationStmt) GetOptions() []*Node { +func (x *CreateTableAsStmt) GetInto() *IntoClause { if x != nil { - return x.Options + return x.Into } return nil } -func (x *AlterPublicationStmt) GetPubobjects() []*Node { +func (x *CreateTableAsStmt) GetObjtype() ObjectType { if x != nil { - return x.Pubobjects + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterPublicationStmt) GetForAllTables() bool { +func (x *CreateTableAsStmt) GetIsSelectInto() bool { if x != nil { - return x.ForAllTables + return x.IsSelectInto } return false } -func (x *AlterPublicationStmt) GetAction() AlterPublicationAction { +func (x *CreateTableAsStmt) GetIfNotExists() bool { if x != nil { - return x.Action + return x.IfNotExists } - return AlterPublicationAction_ALTER_PUBLICATION_ACTION_UNDEFINED + return false } -type CreateSubscriptionStmt struct { +type RefreshMatViewStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` - Conninfo string `protobuf:"bytes,2,opt,name=conninfo,proto3" json:"conninfo,omitempty"` - Publication []*Node `protobuf:"bytes,3,rep,name=publication,proto3" json:"publication,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + Concurrent bool `protobuf:"varint,1,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + SkipData bool `protobuf:"varint,2,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` + Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` } -func (x *CreateSubscriptionStmt) Reset() { - *x = CreateSubscriptionStmt{} +func (x *RefreshMatViewStmt) Reset() { + *x = RefreshMatViewStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[252] + mi := &file_pg_query_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSubscriptionStmt) String() string { +func (x *RefreshMatViewStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSubscriptionStmt) ProtoMessage() {} +func (*RefreshMatViewStmt) ProtoMessage() {} -func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[252] +func (x *RefreshMatViewStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29331,68 +30109,95 @@ func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*CreateSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{252} +// Deprecated: Use RefreshMatViewStmt.ProtoReflect.Descriptor instead. +func (*RefreshMatViewStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{248} } -func (x *CreateSubscriptionStmt) GetSubname() string { +func (x *RefreshMatViewStmt) GetConcurrent() bool { if x != nil { - return x.Subname + return x.Concurrent } - return "" + return false } -func (x *CreateSubscriptionStmt) GetConninfo() string { +func (x *RefreshMatViewStmt) GetSkipData() bool { if x != nil { - return x.Conninfo + return x.SkipData } - return "" + return false } -func (x *CreateSubscriptionStmt) GetPublication() []*Node { +func (x *RefreshMatViewStmt) GetRelation() *RangeVar { if x != nil { - return x.Publication + return x.Relation } return nil } -func (x *CreateSubscriptionStmt) GetOptions() []*Node { - if x != nil { - return x.Options +type CheckPointStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CheckPointStmt) Reset() { + *x = CheckPointStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[249] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -type AlterSubscriptionStmt struct { +func (x *CheckPointStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPointStmt) ProtoMessage() {} + +func (x *CheckPointStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[249] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckPointStmt.ProtoReflect.Descriptor instead. +func (*CheckPointStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{249} +} + +type DiscardStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind AlterSubscriptionType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterSubscriptionType" json:"kind,omitempty"` - Subname string `protobuf:"bytes,2,opt,name=subname,proto3" json:"subname,omitempty"` - Conninfo string `protobuf:"bytes,3,opt,name=conninfo,proto3" json:"conninfo,omitempty"` - Publication []*Node `protobuf:"bytes,4,rep,name=publication,proto3" json:"publication,omitempty"` - Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` + Target DiscardMode `protobuf:"varint,1,opt,name=target,proto3,enum=pg_query.DiscardMode" json:"target,omitempty"` } -func (x *AlterSubscriptionStmt) Reset() { - *x = AlterSubscriptionStmt{} +func (x *DiscardStmt) Reset() { + *x = DiscardStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[253] + mi := &file_pg_query_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterSubscriptionStmt) String() string { +func (x *DiscardStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSubscriptionStmt) ProtoMessage() {} +func (*DiscardStmt) ProtoMessage() {} -func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[253] +func (x *DiscardStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29403,73 +30208,107 @@ func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*AlterSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{253} +// Deprecated: Use DiscardStmt.ProtoReflect.Descriptor instead. +func (*DiscardStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{250} } -func (x *AlterSubscriptionStmt) GetKind() AlterSubscriptionType { +func (x *DiscardStmt) GetTarget() DiscardMode { if x != nil { - return x.Kind + return x.Target } - return AlterSubscriptionType_ALTER_SUBSCRIPTION_TYPE_UNDEFINED + return DiscardMode_DISCARD_MODE_UNDEFINED } -func (x *AlterSubscriptionStmt) GetSubname() string { - if x != nil { - return x.Subname +type LockStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` + Mode int32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` + Nowait bool `protobuf:"varint,3,opt,name=nowait,proto3" json:"nowait,omitempty"` +} + +func (x *LockStmt) Reset() { + *x = LockStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[251] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *AlterSubscriptionStmt) GetConninfo() string { - if x != nil { - return x.Conninfo +func (x *LockStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LockStmt) ProtoMessage() {} + +func (x *LockStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[251] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *AlterSubscriptionStmt) GetPublication() []*Node { +// Deprecated: Use LockStmt.ProtoReflect.Descriptor instead. +func (*LockStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{251} +} + +func (x *LockStmt) GetRelations() []*Node { if x != nil { - return x.Publication + return x.Relations } return nil } -func (x *AlterSubscriptionStmt) GetOptions() []*Node { +func (x *LockStmt) GetMode() int32 { if x != nil { - return x.Options + return x.Mode } - return nil + return 0 } -type DropSubscriptionStmt struct { +func (x *LockStmt) GetNowait() bool { + if x != nil { + return x.Nowait + } + return false +} + +type ConstraintsSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Constraints []*Node `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` + Deferred bool `protobuf:"varint,2,opt,name=deferred,proto3" json:"deferred,omitempty"` } -func (x *DropSubscriptionStmt) Reset() { - *x = DropSubscriptionStmt{} +func (x *ConstraintsSetStmt) Reset() { + *x = ConstraintsSetStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[254] + mi := &file_pg_query_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropSubscriptionStmt) String() string { +func (x *ConstraintsSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropSubscriptionStmt) ProtoMessage() {} +func (*ConstraintsSetStmt) ProtoMessage() {} -func (x *DropSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[254] +func (x *ConstraintsSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29480,60 +30319,53 @@ func (x *DropSubscriptionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*DropSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{254} +// Deprecated: Use ConstraintsSetStmt.ProtoReflect.Descriptor instead. +func (*ConstraintsSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{252} } -func (x *DropSubscriptionStmt) GetSubname() string { +func (x *ConstraintsSetStmt) GetConstraints() []*Node { if x != nil { - return x.Subname + return x.Constraints } - return "" + return nil } -func (x *DropSubscriptionStmt) GetMissingOk() bool { +func (x *ConstraintsSetStmt) GetDeferred() bool { if x != nil { - return x.MissingOk + return x.Deferred } return false } -func (x *DropSubscriptionStmt) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -type ScanToken struct { +type ReindexStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` - End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` - Token Token `protobuf:"varint,4,opt,name=token,proto3,enum=pg_query.Token" json:"token,omitempty"` - KeywordKind KeywordKind `protobuf:"varint,5,opt,name=keyword_kind,json=keywordKind,proto3,enum=pg_query.KeywordKind" json:"keyword_kind,omitempty"` + Kind ReindexObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ReindexObjectType" json:"kind,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Params []*Node `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty"` } -func (x *ScanToken) Reset() { - *x = ScanToken{} +func (x *ReindexStmt) Reset() { + *x = ReindexStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[255] + mi := &file_pg_query_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ScanToken) String() string { +func (x *ReindexStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ScanToken) ProtoMessage() {} +func (*ReindexStmt) ProtoMessage() {} -func (x *ScanToken) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[255] +func (x *ReindexStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29544,30 +30376,1276 @@ func (x *ScanToken) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ScanToken.ProtoReflect.Descriptor instead. -func (*ScanToken) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{255} +// Deprecated: Use ReindexStmt.ProtoReflect.Descriptor instead. +func (*ReindexStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{253} } -func (x *ScanToken) GetStart() int32 { +func (x *ReindexStmt) GetKind() ReindexObjectType { if x != nil { - return x.Start + return x.Kind } - return 0 + return ReindexObjectType_REINDEX_OBJECT_TYPE_UNDEFINED } -func (x *ScanToken) GetEnd() int32 { +func (x *ReindexStmt) GetRelation() *RangeVar { if x != nil { - return x.End + return x.Relation } - return 0 + return nil } -func (x *ScanToken) GetToken() Token { +func (x *ReindexStmt) GetName() string { if x != nil { - return x.Token + return x.Name } - return Token_NUL + return "" +} + +func (x *ReindexStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type CreateConversionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConversionName []*Node `protobuf:"bytes,1,rep,name=conversion_name,proto3" json:"conversion_name,omitempty"` + ForEncodingName string `protobuf:"bytes,2,opt,name=for_encoding_name,proto3" json:"for_encoding_name,omitempty"` + ToEncodingName string `protobuf:"bytes,3,opt,name=to_encoding_name,proto3" json:"to_encoding_name,omitempty"` + FuncName []*Node `protobuf:"bytes,4,rep,name=func_name,proto3" json:"func_name,omitempty"` + Def bool `protobuf:"varint,5,opt,name=def,proto3" json:"def,omitempty"` +} + +func (x *CreateConversionStmt) Reset() { + *x = CreateConversionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateConversionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateConversionStmt) ProtoMessage() {} + +func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[254] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateConversionStmt.ProtoReflect.Descriptor instead. +func (*CreateConversionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{254} +} + +func (x *CreateConversionStmt) GetConversionName() []*Node { + if x != nil { + return x.ConversionName + } + return nil +} + +func (x *CreateConversionStmt) GetForEncodingName() string { + if x != nil { + return x.ForEncodingName + } + return "" +} + +func (x *CreateConversionStmt) GetToEncodingName() string { + if x != nil { + return x.ToEncodingName + } + return "" +} + +func (x *CreateConversionStmt) GetFuncName() []*Node { + if x != nil { + return x.FuncName + } + return nil +} + +func (x *CreateConversionStmt) GetDef() bool { + if x != nil { + return x.Def + } + return false +} + +type CreateCastStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sourcetype *TypeName `protobuf:"bytes,1,opt,name=sourcetype,proto3" json:"sourcetype,omitempty"` + Targettype *TypeName `protobuf:"bytes,2,opt,name=targettype,proto3" json:"targettype,omitempty"` + Func *ObjectWithArgs `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` + Context CoercionContext `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.CoercionContext" json:"context,omitempty"` + Inout bool `protobuf:"varint,5,opt,name=inout,proto3" json:"inout,omitempty"` +} + +func (x *CreateCastStmt) Reset() { + *x = CreateCastStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateCastStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCastStmt) ProtoMessage() {} + +func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[255] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCastStmt.ProtoReflect.Descriptor instead. +func (*CreateCastStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{255} +} + +func (x *CreateCastStmt) GetSourcetype() *TypeName { + if x != nil { + return x.Sourcetype + } + return nil +} + +func (x *CreateCastStmt) GetTargettype() *TypeName { + if x != nil { + return x.Targettype + } + return nil +} + +func (x *CreateCastStmt) GetFunc() *ObjectWithArgs { + if x != nil { + return x.Func + } + return nil +} + +func (x *CreateCastStmt) GetContext() CoercionContext { + if x != nil { + return x.Context + } + return CoercionContext_COERCION_CONTEXT_UNDEFINED +} + +func (x *CreateCastStmt) GetInout() bool { + if x != nil { + return x.Inout + } + return false +} + +type CreateTransformStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,proto3" json:"type_name,omitempty"` + Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` + Fromsql *ObjectWithArgs `protobuf:"bytes,4,opt,name=fromsql,proto3" json:"fromsql,omitempty"` + Tosql *ObjectWithArgs `protobuf:"bytes,5,opt,name=tosql,proto3" json:"tosql,omitempty"` +} + +func (x *CreateTransformStmt) Reset() { + *x = CreateTransformStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[256] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTransformStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTransformStmt) ProtoMessage() {} + +func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[256] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTransformStmt.ProtoReflect.Descriptor instead. +func (*CreateTransformStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{256} +} + +func (x *CreateTransformStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *CreateTransformStmt) GetTypeName() *TypeName { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *CreateTransformStmt) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *CreateTransformStmt) GetFromsql() *ObjectWithArgs { + if x != nil { + return x.Fromsql + } + return nil +} + +func (x *CreateTransformStmt) GetTosql() *ObjectWithArgs { + if x != nil { + return x.Tosql + } + return nil +} + +type PrepareStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Argtypes []*Node `protobuf:"bytes,2,rep,name=argtypes,proto3" json:"argtypes,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *PrepareStmt) Reset() { + *x = PrepareStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrepareStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrepareStmt) ProtoMessage() {} + +func (x *PrepareStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[257] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrepareStmt.ProtoReflect.Descriptor instead. +func (*PrepareStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{257} +} + +func (x *PrepareStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PrepareStmt) GetArgtypes() []*Node { + if x != nil { + return x.Argtypes + } + return nil +} + +func (x *PrepareStmt) GetQuery() *Node { + if x != nil { + return x.Query + } + return nil +} + +type ExecuteStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *ExecuteStmt) Reset() { + *x = ExecuteStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecuteStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteStmt) ProtoMessage() {} + +func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[258] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteStmt.ProtoReflect.Descriptor instead. +func (*ExecuteStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{258} +} + +func (x *ExecuteStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExecuteStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type DeallocateStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Isall bool `protobuf:"varint,2,opt,name=isall,proto3" json:"isall,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *DeallocateStmt) Reset() { + *x = DeallocateStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeallocateStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeallocateStmt) ProtoMessage() {} + +func (x *DeallocateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[259] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeallocateStmt.ProtoReflect.Descriptor instead. +func (*DeallocateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{259} +} + +func (x *DeallocateStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeallocateStmt) GetIsall() bool { + if x != nil { + return x.Isall + } + return false +} + +func (x *DeallocateStmt) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type DropOwnedStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Behavior DropBehavior `protobuf:"varint,2,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *DropOwnedStmt) Reset() { + *x = DropOwnedStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropOwnedStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropOwnedStmt) ProtoMessage() {} + +func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[260] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropOwnedStmt.ProtoReflect.Descriptor instead. +func (*DropOwnedStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{260} +} + +func (x *DropOwnedStmt) GetRoles() []*Node { + if x != nil { + return x.Roles + } + return nil +} + +func (x *DropOwnedStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type ReassignOwnedStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Newrole *RoleSpec `protobuf:"bytes,2,opt,name=newrole,proto3" json:"newrole,omitempty"` +} + +func (x *ReassignOwnedStmt) Reset() { + *x = ReassignOwnedStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReassignOwnedStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReassignOwnedStmt) ProtoMessage() {} + +func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[261] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReassignOwnedStmt.ProtoReflect.Descriptor instead. +func (*ReassignOwnedStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{261} +} + +func (x *ReassignOwnedStmt) GetRoles() []*Node { + if x != nil { + return x.Roles + } + return nil +} + +func (x *ReassignOwnedStmt) GetNewrole() *RoleSpec { + if x != nil { + return x.Newrole + } + return nil +} + +type AlterTSDictionaryStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dictname []*Node `protobuf:"bytes,1,rep,name=dictname,proto3" json:"dictname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterTSDictionaryStmt) Reset() { + *x = AlterTSDictionaryStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterTSDictionaryStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterTSDictionaryStmt) ProtoMessage() {} + +func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[262] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterTSDictionaryStmt.ProtoReflect.Descriptor instead. +func (*AlterTSDictionaryStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{262} +} + +func (x *AlterTSDictionaryStmt) GetDictname() []*Node { + if x != nil { + return x.Dictname + } + return nil +} + +func (x *AlterTSDictionaryStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterTSConfigurationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind AlterTSConfigType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterTSConfigType" json:"kind,omitempty"` + Cfgname []*Node `protobuf:"bytes,2,rep,name=cfgname,proto3" json:"cfgname,omitempty"` + Tokentype []*Node `protobuf:"bytes,3,rep,name=tokentype,proto3" json:"tokentype,omitempty"` + Dicts []*Node `protobuf:"bytes,4,rep,name=dicts,proto3" json:"dicts,omitempty"` + Override bool `protobuf:"varint,5,opt,name=override,proto3" json:"override,omitempty"` + Replace bool `protobuf:"varint,6,opt,name=replace,proto3" json:"replace,omitempty"` + MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` +} + +func (x *AlterTSConfigurationStmt) Reset() { + *x = AlterTSConfigurationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterTSConfigurationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterTSConfigurationStmt) ProtoMessage() {} + +func (x *AlterTSConfigurationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[263] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterTSConfigurationStmt.ProtoReflect.Descriptor instead. +func (*AlterTSConfigurationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{263} +} + +func (x *AlterTSConfigurationStmt) GetKind() AlterTSConfigType { + if x != nil { + return x.Kind + } + return AlterTSConfigType_ALTER_TSCONFIG_TYPE_UNDEFINED +} + +func (x *AlterTSConfigurationStmt) GetCfgname() []*Node { + if x != nil { + return x.Cfgname + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetTokentype() []*Node { + if x != nil { + return x.Tokentype + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetDicts() []*Node { + if x != nil { + return x.Dicts + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetOverride() bool { + if x != nil { + return x.Override + } + return false +} + +func (x *AlterTSConfigurationStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *AlterTSConfigurationStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +type PublicationTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Columns []*Node `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` +} + +func (x *PublicationTable) Reset() { + *x = PublicationTable{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicationTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicationTable) ProtoMessage() {} + +func (x *PublicationTable) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[264] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicationTable.ProtoReflect.Descriptor instead. +func (*PublicationTable) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{264} +} + +func (x *PublicationTable) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *PublicationTable) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *PublicationTable) GetColumns() []*Node { + if x != nil { + return x.Columns + } + return nil +} + +type PublicationObjSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubobjtype PublicationObjSpecType `protobuf:"varint,1,opt,name=pubobjtype,proto3,enum=pg_query.PublicationObjSpecType" json:"pubobjtype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Pubtable *PublicationTable `protobuf:"bytes,3,opt,name=pubtable,proto3" json:"pubtable,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *PublicationObjSpec) Reset() { + *x = PublicationObjSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicationObjSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicationObjSpec) ProtoMessage() {} + +func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[265] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicationObjSpec.ProtoReflect.Descriptor instead. +func (*PublicationObjSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{265} +} + +func (x *PublicationObjSpec) GetPubobjtype() PublicationObjSpecType { + if x != nil { + return x.Pubobjtype + } + return PublicationObjSpecType_PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED +} + +func (x *PublicationObjSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PublicationObjSpec) GetPubtable() *PublicationTable { + if x != nil { + return x.Pubtable + } + return nil +} + +func (x *PublicationObjSpec) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CreatePublicationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` + ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` +} + +func (x *CreatePublicationStmt) Reset() { + *x = CreatePublicationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePublicationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePublicationStmt) ProtoMessage() {} + +func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[266] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePublicationStmt.ProtoReflect.Descriptor instead. +func (*CreatePublicationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{266} +} + +func (x *CreatePublicationStmt) GetPubname() string { + if x != nil { + return x.Pubname + } + return "" +} + +func (x *CreatePublicationStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *CreatePublicationStmt) GetPubobjects() []*Node { + if x != nil { + return x.Pubobjects + } + return nil +} + +func (x *CreatePublicationStmt) GetForAllTables() bool { + if x != nil { + return x.ForAllTables + } + return false +} + +type AlterPublicationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` + ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` + Action AlterPublicationAction `protobuf:"varint,5,opt,name=action,proto3,enum=pg_query.AlterPublicationAction" json:"action,omitempty"` +} + +func (x *AlterPublicationStmt) Reset() { + *x = AlterPublicationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterPublicationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterPublicationStmt) ProtoMessage() {} + +func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[267] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterPublicationStmt.ProtoReflect.Descriptor instead. +func (*AlterPublicationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{267} +} + +func (x *AlterPublicationStmt) GetPubname() string { + if x != nil { + return x.Pubname + } + return "" +} + +func (x *AlterPublicationStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *AlterPublicationStmt) GetPubobjects() []*Node { + if x != nil { + return x.Pubobjects + } + return nil +} + +func (x *AlterPublicationStmt) GetForAllTables() bool { + if x != nil { + return x.ForAllTables + } + return false +} + +func (x *AlterPublicationStmt) GetAction() AlterPublicationAction { + if x != nil { + return x.Action + } + return AlterPublicationAction_ALTER_PUBLICATION_ACTION_UNDEFINED +} + +type CreateSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` + Conninfo string `protobuf:"bytes,2,opt,name=conninfo,proto3" json:"conninfo,omitempty"` + Publication []*Node `protobuf:"bytes,3,rep,name=publication,proto3" json:"publication,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *CreateSubscriptionStmt) Reset() { + *x = CreateSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionStmt) ProtoMessage() {} + +func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[268] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{268} +} + +func (x *CreateSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *CreateSubscriptionStmt) GetConninfo() string { + if x != nil { + return x.Conninfo + } + return "" +} + +func (x *CreateSubscriptionStmt) GetPublication() []*Node { + if x != nil { + return x.Publication + } + return nil +} + +func (x *CreateSubscriptionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind AlterSubscriptionType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterSubscriptionType" json:"kind,omitempty"` + Subname string `protobuf:"bytes,2,opt,name=subname,proto3" json:"subname,omitempty"` + Conninfo string `protobuf:"bytes,3,opt,name=conninfo,proto3" json:"conninfo,omitempty"` + Publication []*Node `protobuf:"bytes,4,rep,name=publication,proto3" json:"publication,omitempty"` + Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterSubscriptionStmt) Reset() { + *x = AlterSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterSubscriptionStmt) ProtoMessage() {} + +func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[269] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*AlterSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{269} +} + +func (x *AlterSubscriptionStmt) GetKind() AlterSubscriptionType { + if x != nil { + return x.Kind + } + return AlterSubscriptionType_ALTER_SUBSCRIPTION_TYPE_UNDEFINED +} + +func (x *AlterSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *AlterSubscriptionStmt) GetConninfo() string { + if x != nil { + return x.Conninfo + } + return "" +} + +func (x *AlterSubscriptionStmt) GetPublication() []*Node { + if x != nil { + return x.Publication + } + return nil +} + +func (x *AlterSubscriptionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type DropSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *DropSubscriptionStmt) Reset() { + *x = DropSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropSubscriptionStmt) ProtoMessage() {} + +func (x *DropSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[270] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*DropSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{270} +} + +func (x *DropSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *DropSubscriptionStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +func (x *DropSubscriptionStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type ScanToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + Token Token `protobuf:"varint,4,opt,name=token,proto3,enum=pg_query.Token" json:"token,omitempty"` + KeywordKind KeywordKind `protobuf:"varint,5,opt,name=keyword_kind,json=keywordKind,proto3,enum=pg_query.KeywordKind" json:"keyword_kind,omitempty"` +} + +func (x *ScanToken) Reset() { + *x = ScanToken{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[271] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ScanToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScanToken) ProtoMessage() {} + +func (x *ScanToken) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[271] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScanToken.ProtoReflect.Descriptor instead. +func (*ScanToken) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{271} +} + +func (x *ScanToken) GetStart() int32 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *ScanToken) GetEnd() int32 { + if x != nil { + return x.End + } + return 0 +} + +func (x *ScanToken) GetToken() Token { + if x != nil { + return x.Token + } + return Token_NUL } func (x *ScanToken) GetKeywordKind() KeywordKind { @@ -29592,7 +31670,7 @@ var file_pg_query_proto_rawDesc = []byte{ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x22, 0xc1, 0x85, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, + 0x73, 0x22, 0xd5, 0x8e, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, @@ -29620,5159 +31698,5557 @@ var file_pg_query_proto_rawDesc = []byte{ 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0f, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x31, - 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, - 0x63, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x3e, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, - 0x72, 0x48, 0x00, 0x52, 0x0c, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x70, - 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, - 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, - 0x0c, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, - 0x0c, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x75, 0x6c, - 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x14, 0x73, 0x63, 0x61, 0x6c, 0x61, - 0x72, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, - 0x52, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, - 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x48, - 0x00, 0x52, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, - 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, - 0x00, 0x52, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x50, 0x0a, 0x14, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, - 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, - 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, - 0x0d, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x69, 0x6f, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, 0x48, 0x00, 0x52, 0x0b, 0x43, - 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, - 0x48, 0x00, 0x52, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x50, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, - 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, - 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x68, 0x65, - 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x43, - 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x54, - 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x61, 0x73, 0x65, 0x54, - 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, - 0x48, 0x00, 0x52, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, - 0x08, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, - 0x10, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, - 0x72, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, - 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, - 0x70, 0x72, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, - 0x52, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x12, 0x49, 0x0a, 0x11, - 0x73, 0x71, 0x6c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x78, 0x6d, 0x6c, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, - 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x40, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x53, 0x0a, 0x15, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x29, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, - 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x11, 0x6a, 0x73, - 0x6f, 0x6e, 0x5f, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, - 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x74, - 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4e, 0x75, - 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, - 0x73, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, - 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x54, 0x0a, 0x16, 0x63, 0x6f, 0x65, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, - 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, - 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, - 0x52, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x41, - 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, - 0x48, 0x00, 0x52, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, - 0x72, 0x65, 0x66, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, - 0x48, 0x00, 0x52, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, 0x12, - 0x31, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x35, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, - 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, - 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x46, 0x72, 0x6f, - 0x6d, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x27, 0x0a, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x08, 0x54, - 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, - 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, - 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, - 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x43, - 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x12, - 0x40, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x3f, + 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x5d, 0x0a, 0x19, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, + 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, + 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, + 0x10, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, + 0x63, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, + 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3e, 0x0a, 0x0e, + 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x07, + 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x06, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x0d, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, + 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, + 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x14, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x5f, 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x42, 0x6f, 0x6f, + 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, + 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, + 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, + 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x50, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, + 0x6e, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0c, + 0x72, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x6f, 0x65, 0x72, + 0x63, 0x65, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x69, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, + 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, + 0x56, 0x69, 0x61, 0x49, 0x4f, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x50, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, + 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, + 0x63, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x31, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, + 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, + 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x09, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x6f, 0x77, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x6f, 0x77, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x23, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, + 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, + 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, + 0x0a, 0x0d, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, + 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, + 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4d, 0x69, 0x6e, + 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x71, 0x6c, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x26, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, + 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x78, 0x6d, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x27, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x58, 0x6d, 0x6c, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0d, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, + 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x53, 0x0a, 0x15, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x4a, + 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3d, + 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, + 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x48, 0x00, 0x52, + 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x31, 0x0a, + 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x14, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x63, 0x61, 0x6e, 0x48, 0x00, + 0x52, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, + 0x63, 0x61, 0x6e, 0x12, 0x57, 0x0a, 0x17, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x31, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x09, + 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x54, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, + 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, + 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, + 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x65, 0x72, 0x63, + 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x35, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, + 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x43, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x54, 0x0a, + 0x16, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, + 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x13, + 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6f, + 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, + 0x66, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4e, 0x65, 0x78, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x3a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x3a, 0x0a, 0x0c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x3b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x62, 0x6c, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, + 0x6c, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4a, + 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x3f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0a, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, + 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x08, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x08, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x61, 0x6c, - 0x6c, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x53, - 0x74, 0x61, 0x72, 0x12, 0x33, 0x0a, 0x09, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 0x41, - 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x5f, 0x69, 0x6e, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x5f, 0x49, 0x6e, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, 0x61, 0x5f, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, - 0x52, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, - 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x48, - 0x00, 0x52, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, - 0x66, 0x12, 0x2b, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x18, 0x47, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, - 0x72, 0x74, 0x42, 0x79, 0x48, 0x00, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x34, - 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x48, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x44, 0x65, 0x66, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, - 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, - 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, - 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x48, - 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, - 0x63, 0x12, 0x4e, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x11, + 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, + 0x43, 0x61, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, + 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, + 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x06, + 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x48, 0x00, + 0x52, 0x06, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x12, 0x33, 0x0a, 0x09, 0x61, 0x5f, 0x69, 0x6e, + 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, + 0x0d, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, + 0x0a, 0x0c, 0x61, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x4c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x41, + 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x65, + 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x65, 0x66, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, + 0x79, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x48, 0x00, 0x52, 0x06, 0x53, 0x6f, 0x72, + 0x74, 0x42, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x64, 0x65, + 0x66, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x51, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x40, + 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x44, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x4e, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x18, 0x54, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, - 0x6c, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x10, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x34, 0x0a, - 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0x4e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x44, 0x65, 0x66, 0x12, 0x47, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6b, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, - 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0a, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, - 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x51, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, - 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x78, 0x6d, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x54, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6c, 0x48, 0x00, 0x52, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x55, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, + 0x52, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, + 0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x47, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x57, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, + 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x5f, 0x65, + 0x6c, 0x65, 0x6d, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x07, + 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x78, 0x6d, 0x6c, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x58, 0x6d, 0x6c, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x5d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x14, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, + 0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, - 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, - 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, 0x0a, 0x15, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, - 0x75, 0x6d, 0x18, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x3d, - 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6d, 0x64, 0x18, - 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, - 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x41, 0x0a, - 0x0f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x74, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x52, 0x54, 0x45, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, - 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x13, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x5d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x0f, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x6f, 0x72, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x5f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, - 0x72, 0x6b, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x4d, 0x61, - 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x6f, 0x77, 0x4d, - 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4a, - 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x74, - 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x65, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x0f, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0f, 0x63, 0x74, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, - 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x67, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, - 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, - 0x12, 0x47, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, - 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x6a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x11, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0e, - 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x6c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, - 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x59, 0x0a, 0x17, - 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, - 0x52, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x16, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x66, 0x0a, 0x1c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x19, 0x4a, 0x73, - 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x14, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x61, 0x67, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x12, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, - 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x67, 0x67, 0x18, 0x71, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, - 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x4a, - 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0e, - 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x61, 0x67, 0x67, 0x18, 0x72, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x41, 0x67, 0x67, 0x48, 0x00, 0x52, 0x0c, - 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x41, 0x67, 0x67, 0x12, 0x2e, 0x0a, 0x08, - 0x72, 0x61, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, - 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x76, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x0a, 0x6d, 0x65, 0x72, 0x67, 0x65, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, - 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x78, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x79, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x10, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x70, - 0x6c, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7b, 0x20, 0x01, + 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x13, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x60, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x48, 0x00, 0x52, 0x13, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x74, + 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x64, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x57, 0x69, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, + 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, + 0x69, 0x6e, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x74, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x54, 0x45, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0f, + 0x63, 0x74, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x0e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x11, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x0f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x6a, 0x73, + 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x75, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, + 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x14, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x47, 0x0a, 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x7a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, + 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x4d, 0x0a, 0x13, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x11, 0x4a, + 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x59, 0x0a, 0x17, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x7d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x6f, 0x72, 0x48, 0x00, 0x52, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x16, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x4a, + 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x66, 0x0a, 0x1c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, + 0x52, 0x19, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x14, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x12, 0x4a, 0x73, 0x6f, 0x6e, + 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x42, + 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x67, + 0x67, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, + 0x67, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x67, 0x67, 0x12, 0x3f, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x5f, 0x61, 0x67, 0x67, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x41, 0x67, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x41, 0x67, 0x67, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x07, 0x52, 0x61, 0x77, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, + 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x85, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, + 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x6c, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x4c, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x72, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x53, 0x0a, 0x15, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x43, 0x6d, 0x64, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x80, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, - 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x81, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x83, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, - 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x38, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x18, 0x84, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x48, 0x00, 0x52, 0x0a, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x42, 0x0a, 0x0f, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x85, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6a, 0x0a, - 0x1d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x86, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x6f, 0x70, - 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, - 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x89, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x8b, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x52, 0x0a, 0x15, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, - 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6b, 0x0a, 0x1e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8d, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, + 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x5c, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, - 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x91, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6a, 0x0a, 0x1d, 0x61, 0x6c, 0x74, - 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x61, 0x6c, 0x74, - 0x65, 0x72, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x94, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x61, 0x0a, 0x1a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, - 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, - 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, - 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, - 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5b, 0x0a, - 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9a, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x61, 0x0a, 0x1a, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x91, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x09, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, + 0x73, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, + 0x72, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, + 0x69, 0x76, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x48, + 0x00, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x42, 0x0a, + 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x6a, 0x0a, 0x1d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, + 0x09, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x70, + 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x48, 0x0a, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x18, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9d, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6b, 0x0a, 0x1e, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9e, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5c, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6a, 0x0a, + 0x1d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa2, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa3, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, + 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x61, + 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa5, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa6, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa7, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa8, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x58, + 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x44, 0x72, 0x6f, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x61, 0x0a, 0x1a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xab, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xac, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xae, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xaf, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x55, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb0, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, + 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, + 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, - 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, - 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, + 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x3f, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, + 0x71, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x71, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, + 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x52, + 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa1, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa2, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6c, - 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, - 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa4, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4c, 0x0a, - 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x64, - 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa6, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3f, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x74, 0x65, - 0x6d, 0x18, 0xac, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, - 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x52, 0x0a, 0x15, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, - 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, - 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xae, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, - 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x32, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xaf, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, - 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3f, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, - 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, - 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, - 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, - 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x66, - 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb7, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x65, 0x6c, 0x65, - 0x6d, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, - 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb9, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4d, 0x0a, 0x12, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, - 0x52, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, + 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x5f, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x6f, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbd, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x06, 0x44, 0x6f, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x48, 0x0a, 0x11, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x49, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x09, 0x63, - 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x3b, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x0b, - 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc1, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x44, + 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, + 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc3, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, + 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x11, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc4, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x35, 0x0a, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc5, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, + 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, + 0x6d, 0x48, 0x00, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x45, + 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xca, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4d, 0x0a, 0x12, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0xcb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcc, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x6f, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x06, 0x44, + 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0xce, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, + 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x32, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcf, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc6, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, - 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc7, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x75, - 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x4c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x75, 0x6e, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcb, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x4e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xce, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, - 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd2, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xd3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x71, 0x0a, 0x20, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x58, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd5, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x72, 0x6f, - 0x70, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x64, - 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, - 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd8, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x76, 0x61, - 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x63, 0x75, - 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, - 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x56, 0x61, 0x63, 0x75, - 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0c, 0x65, 0x78, - 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x70, - 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x45, 0x78, 0x70, 0x6c, - 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x72, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, - 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x32, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe0, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x6b, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe1, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x72, 0x65, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe3, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd4, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, + 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, + 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x52, 0x75, + 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x75, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xda, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x55, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdc, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x08, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x71, 0x0a, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, - 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe5, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x72, - 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe6, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x65, - 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x50, 0x72, 0x65, 0x70, - 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x64, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x44, 0x65, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x64, 0x72, - 0x6f, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe9, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, - 0x0a, 0x13, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xea, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x52, 0x65, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5a, - 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x63, 0x0a, 0x1a, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, + 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe6, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, + 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x72, 0x6f, + 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe7, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, + 0x0a, 0x0b, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe9, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, + 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x76, 0x61, 0x63, 0x75, + 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, + 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, + 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xeb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xed, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, + 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x45, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xef, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x72, + 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf2, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, + 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf7, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x64, 0x65, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf8, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, + 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, + 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x11, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfb, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, + 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, + 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x63, + 0x0a, 0x1a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfc, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x18, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x18, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x4a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0xed, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x18, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5a, - 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xef, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x5d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0xf1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf2, 0x01, + 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x10, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x51, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, + 0x62, 0x6a, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x5a, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, - 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, - 0x65, 0x72, 0x18, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x18, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x05, 0x46, 0x6c, 0x6f, 0x61, - 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xf7, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x35, - 0x0a, 0x0a, 0x62, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xf8, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, - 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, 0x42, 0x69, 0x74, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xf9, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, - 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, - 0x08, 0x6f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x69, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, - 0x0a, 0x07, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x06, - 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x69, 0x76, 0x61, 0x6c, 0x22, 0x1b, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x76, - 0x61, 0x6c, 0x22, 0x23, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x22, 0x1c, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x98, 0x02, 0x0a, 0x07, 0x41, 0x5f, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, - 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, - 0x66, 0x76, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, - 0x76, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x05, 0x62, - 0x73, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x6e, 0x75, - 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6e, 0x75, 0x6c, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, - 0x76, 0x61, 0x6c, 0x22, 0x51, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, - 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, - 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, - 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, - 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, - 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x04, 0x0a, - 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x73, - 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x5f, - 0x75, 0x72, 0x69, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x28, 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, - 0x77, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, - 0x65, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, - 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, + 0x0a, 0x16, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x80, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x81, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0x82, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x83, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, + 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x84, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x85, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x05, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x18, 0x86, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x42, 0x6f, + 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x87, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x88, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, + 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x89, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x8a, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x6f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x8b, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x8c, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x22, 0x1b, 0x0a, 0x05, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x22, 0x23, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x22, 0x1c, 0x0a, 0x06, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x69, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x09, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x4f, 0x69, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, - 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0d, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, - 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, - 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x24, 0x0a, - 0x03, 0x72, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x03, - 0x72, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x35, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x95, 0x02, 0x0a, - 0x03, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, - 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x61, 0x72, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, - 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, - 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x05, 0x0a, 0x06, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x66, - 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x67, 0x67, 0x66, - 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x30, - 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x12, 0x34, 0x0a, 0x0d, 0x61, 0x67, 0x67, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x61, 0x67, 0x67, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x49, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x98, 0x02, 0x0a, + 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x69, 0x76, 0x61, + 0x6c, 0x12, 0x25, 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x48, 0x00, 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, + 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x12, + 0x2b, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, + 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x05, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x51, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x08, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xf4, 0x05, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x33, + 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x75, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x67, - 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x67, - 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, 0x67, - 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, - 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, - 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x2e, - 0x0a, 0x08, 0x61, 0x67, 0x67, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, 0x67, 0x53, - 0x70, 0x6c, 0x69, 0x74, 0x52, 0x08, 0x61, 0x67, 0x67, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x61, - 0x67, 0x67, 0x6e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x6e, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, - 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, - 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdc, 0x02, 0x0a, 0x0a, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, - 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, - 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, - 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x03, 0x0a, 0x0f, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2a, - 0x0a, 0x10, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, - 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x72, 0x65, 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x72, 0x65, 0x66, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x72, 0x65, 0x66, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, - 0x65, 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x75, - 0x70, 0x70, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x75, 0x70, 0x70, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x66, - 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, - 0x72, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, - 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x61, 0x73, 0x73, - 0x67, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, - 0x66, 0x61, 0x73, 0x73, 0x67, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x22, 0xea, 0x02, 0x0a, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x75, 0x6e, - 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x75, 0x6e, 0x63, 0x69, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, - 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, - 0x75, 0x6e, 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x75, 0x6e, - 0x63, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x36, 0x0a, - 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, - 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, - 0x6c, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, - 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x06, 0x4f, - 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, - 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, - 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x02, 0x0a, 0x0c, 0x44, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, - 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, - 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, - 0x02, 0x0a, 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, - 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, - 0x70, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, - 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, - 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x12, 0x2a, 0x0a, + 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, - 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x6f, 0x63, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x6f, 0x63, 0x65, + 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, - 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x15, 0x0a, - 0x06, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, - 0x73, 0x65, 0x4f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, - 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, + 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, + 0x6f, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, + 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x63, 0x6f, + 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x63, + 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, + 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x64, 0x65, + 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, + 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, + 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x63, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x0f, 0x70, + 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x6c, 0x6f, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x62, - 0x6f, 0x6f, 0x6c, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x78, 0x70, 0x72, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, - 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2a, - 0x0a, 0x08, 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6f, - 0x70, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xb5, 0x05, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x6f, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x09, + 0x63, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x08, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, + 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x76, + 0x69, 0x65, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, + 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x95, 0x02, 0x0a, 0x03, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x39, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, - 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x49, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, - 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, - 0x6f, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, - 0x73, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x71, 0x5f, - 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x71, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, - 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, - 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2b, - 0x0a, 0x09, 0x70, 0x61, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x08, 0x70, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, - 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, - 0x6f, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, - 0x63, 0x6f, 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x5f, - 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x12, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, + 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x61, + 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, + 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x05, 0x0a, 0x06, 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0xd5, 0x01, - 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, - 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, - 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, - 0x74, 0x6f, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x76, - 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, - 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x93, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x67, 0x67, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x61, 0x72, + 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, + 0x67, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x61, 0x67, 0x67, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0d, 0x61, 0x67, 0x67, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x61, 0x67, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x67, + 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x73, 0x75, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x73, 0x70, + 0x6c, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x08, 0x61, + 0x67, 0x67, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x72, 0x65, 0x66, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x91, 0x03, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, + 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x69, 0x6e, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x69, + 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, + 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0d, 0x72, + 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x66, 0x75, + 0x6e, 0x63, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, + 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x10, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, - 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x73, 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x6d, 0x73, 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x03, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x10, + 0x72, 0x65, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, + 0x6c, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, + 0x65, 0x66, 0x65, 0x6c, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, + 0x66, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, + 0x65, 0x66, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x66, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x75, 0x70, 0x70, + 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, - 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0d, - 0x72, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, - 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, + 0x0f, 0x72, 0x65, 0x66, 0x75, 0x70, 0x70, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x72, + 0x12, 0x38, 0x0a, 0x0f, 0x72, 0x65, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x6c, 0x6f, + 0x77, 0x65, 0x72, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, + 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x65, 0x66, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x61, 0x73, 0x73, 0x67, 0x6e, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x61, + 0x73, 0x73, 0x67, 0x6e, 0x65, 0x78, 0x70, 0x72, 0x22, 0xea, 0x02, 0x0a, 0x08, 0x46, 0x75, 0x6e, + 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x75, 0x6e, 0x63, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, + 0x26, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x72, + 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x75, 0x6e, + 0x63, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, + 0x75, 0x6e, 0x63, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x0a, 0x66, + 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, + 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6c, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, + 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3a, - 0x0a, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x63, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x02, 0x0a, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, - 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, - 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, - 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x06, 0x4f, 0x70, 0x45, + 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, - 0x52, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, + 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, + 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x22, + 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, + 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, + 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, + 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xc2, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, + 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x75, + 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x4f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, - 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x88, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x6c, 0x6f, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x62, 0x6f, 0x6f, + 0x6c, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x61, 0x72, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x08, 0x43, - 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, - 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x73, - 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, - 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x72, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0b, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0b, + 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xb5, 0x05, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x39, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, + 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x65, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x64, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x71, 0x5f, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x45, 0x71, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, + 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x12, + 0x2b, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x64, 0x65, 0x66, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, - 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x64, 0x65, 0x52, 0x08, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x09, + 0x70, 0x61, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x0a, - 0x0c, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x08, 0x70, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, + 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, - 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x83, 0x02, 0x0a, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, - 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, - 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x77, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x77, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, - 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, - 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, - 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x0e, 0x52, 0x6f, - 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x30, - 0x0a, 0x06, 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x24, 0x0a, 0x05, 0x6f, 0x70, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x6f, 0x70, 0x6e, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, - 0x6c, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6f, 0x70, 0x66, 0x61, - 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x72, 0x67, 0x73, - 0x12, 0x24, 0x0a, 0x05, 0x72, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x0b, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x72, 0x61, 0x72, 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, - 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x61, - 0x6c, 0x65, 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, 0x73, + 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x6f, 0x64, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x22, 0x93, + 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, + 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, + 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, + 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, + 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, + 0x69, 0x61, 0x49, 0x4f, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, - 0x61, 0x78, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, - 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x69, - 0x6e, 0x6d, 0x61, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x02, - 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, - 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, - 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, - 0x6d, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x02, - 0x0a, 0x07, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x02, 0x6f, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, - 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, - 0x6d, 0x6f, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, - 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, - 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, - 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf1, 0x02, 0x0a, 0x13, 0x4a, 0x73, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0c, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, + 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x65, 0x72, + 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x02, 0x0a, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, + 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x08, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, + 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, - 0x6e, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x2a, - 0x0a, 0x08, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, - 0x75, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, - 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, - 0x71, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, - 0x0a, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x08, 0x4e, 0x75, 0x6c, - 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x3a, 0x0a, 0x0c, 0x6e, 0x75, 0x6c, - 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x54, - 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x73, - 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x69, 0x73, 0x72, 0x6f, - 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x67, 0x69, 0x73, 0x72, 0x6f, - 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x01, - 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, + 0x72, 0x6d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, + 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, - 0x67, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x0e, 0x43, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, - 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, - 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x6f, 0x65, 0x72, - 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, - 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, - 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, - 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, - 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, - 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, - 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, - 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, - 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, - 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x63, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, - 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, - 0x60, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x67, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x64, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, - 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x05, 0x73, 0x65, 0x71, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, - 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, - 0x6c, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x66, - 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, - 0x6e, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, - 0x87, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x0c, 0x43, + 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x83, 0x02, 0x0a, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, + 0x2a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x77, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x30, 0x0a, 0x06, + 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, + 0x0a, 0x05, 0x6f, 0x70, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6f, + 0x70, 0x6e, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x72, 0x67, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x72, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, + 0x61, 0x72, 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x6c, 0x65, + 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, + 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x6e, 0x6f, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, 0x73, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, - 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, - 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, 0x12, - 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x12, - 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6e, 0x6b, 0x22, 0x27, 0x0a, 0x0b, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0xf8, 0x02, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, - 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x22, - 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, - 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x03, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, + 0x61, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x02, 0x6f, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x22, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, + 0x01, 0x0a, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x31, 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, - 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x05, - 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, - 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, - 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, - 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x02, + 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, 0x4c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x52, + 0x02, 0x6f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x02, 0x0a, 0x07, + 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, - 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x32, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0d, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6c, - 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, - 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x61, 0x72, 0x62, 0x69, 0x74, - 0x65, 0x72, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0f, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, - 0x74, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x11, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0f, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, - 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x5f, 0x72, - 0x65, 0x6c, 0x5f, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x54, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x81, 0x0f, 0x0a, - 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0c, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, - 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x31, 0x0a, 0x0c, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x74, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x41, 0x67, 0x67, 0x73, 0x12, 0x28, 0x0a, - 0x10, 0x68, 0x61, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x72, 0x66, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x68, 0x61, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x52, 0x46, 0x73, 0x12, - 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4c, 0x69, - 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, - 0x73, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x4f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x68, - 0x61, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, - 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, - 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x43, 0x54, 0x45, 0x12, 0x24, 0x0a, 0x0e, - 0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, - 0x73, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, - 0x69, 0x73, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x69, 0x73, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x12, 0x29, 0x0a, 0x08, 0x63, 0x74, 0x65, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x74, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x11, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x0c, - 0x72, 0x74, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x12, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0c, 0x72, 0x74, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x73, - 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x72, 0x65, 0x65, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, - 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x72, 0x65, 0x65, - 0x12, 0x3a, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, - 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x65, 0x72, 0x67, - 0x65, 0x55, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x2f, 0x0a, - 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x03, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x64, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0a, + 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf1, 0x02, 0x0a, 0x13, 0x4a, 0x73, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, + 0x72, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, - 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, - 0x78, 0x70, 0x72, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, - 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x12, 0x33, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, - 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, - 0x71, 0x75, 0x61, 0x6c, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x68, 0x61, 0x76, 0x69, - 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x64, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x1f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x73, - 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x73, - 0x12, 0x35, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, + 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x2a, 0x0a, 0x08, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, + 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0x0a, 0x0f, + 0x4a, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, + 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x42, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xfa, 0x05, 0x0a, 0x08, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, + 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, + 0x12, 0x24, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, + 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x73, - 0x12, 0x3c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x77, 0x69, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, - 0x0a, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, - 0x18, 0x29, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, - 0x22, 0x90, 0x02, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4f, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x65, 0x74, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, - 0x65, 0x74, 0x6f, 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x28, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, + 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, - 0x70, 0x65, 0x6d, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, - 0x65, 0x6d, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, - 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, - 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x12, - 0x29, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, - 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, - 0x0a, 0x05, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, - 0x65, 0x78, 0x70, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x65, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x09, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x70, 0x61, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x5f, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x75, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, + 0x6f, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x23, + 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x2b, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x24, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x61, 0x72, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x79, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x4d, 0x69, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x4d, 0x61, 0x78, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4a, 0x73, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x69, + 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x08, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x6f, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x72, 0x6f, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x03, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, - 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, - 0x2e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x72, + 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x70, 0x6c, 0x61, + 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x08, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, + 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, + 0x72, 0x67, 0x12, 0x3a, 0x0a, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x61, 0x72, 0x67, 0x69, 0x73, 0x72, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x61, 0x72, 0x67, 0x69, 0x73, 0x72, 0x6f, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, + 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x27, 0x0a, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, - 0x65, 0x66, 0x52, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6e, - 0x63, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x75, - 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, - 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, - 0x0a, 0x06, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x22, 0x6f, 0x0a, 0x09, 0x41, 0x5f, 0x49, 0x6e, - 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, - 0x65, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x6c, 0x69, 0x64, 0x78, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x78, 0x18, 0x03, 0x20, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, + 0x6f, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, + 0x54, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x74, 0x65, + 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6e, 0x6f, + 0x73, 0x22, 0x98, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x75, 0x69, 0x64, 0x78, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x5f, 0x49, - 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x30, 0x0a, 0x0b, - 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, + 0x52, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0x0a, + 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, - 0x0a, 0x0b, 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, - 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, - 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, - 0x64, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x52, 0x0a, 0x73, 0x6f, 0x72, - 0x74, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, - 0x79, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, - 0x75, 0x6c, 0x6c, 0x73, 0x52, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, 0x75, 0x6c, - 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x05, 0x75, 0x73, 0x65, 0x4f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x02, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x44, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2a, - 0x0a, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x22, 0xf0, 0x01, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, - 0x0a, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, - 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x12, - 0x2c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, - 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, - 0x6c, 0x69, 0x73, 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, - 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, - 0x77, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, - 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, - 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x9e, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, - 0x5f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, - 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x28, 0x0a, - 0x07, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, - 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, - 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, - 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x05, 0x0a, - 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, - 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, - 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, - 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x30, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x2e, 0x0a, 0x0a, 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x0f, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2e, - 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, - 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x69, 0x64, 0x22, 0xe1, 0x02, 0x0a, 0x09, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x76, 0x61, + 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x76, 0x61, 0x72, 0x6e, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x60, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x65, 0x71, 0x69, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, - 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, - 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, + 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, + 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x65, 0x73, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, + 0x73, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, + 0x69, 0x67, 0x74, 0x62, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, + 0x6f, 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, + 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x73, + 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, + 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6e, + 0x6b, 0x22, 0x27, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf8, 0x02, 0x0a, 0x08, 0x4a, + 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, + 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, + 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x31, + 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, - 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x12, - 0x2f, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, - 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x12, 0x3d, 0x0a, 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x52, - 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, - 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x64, - 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, + 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, + 0x75, 0x61, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, + 0x61, 0x6c, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, + 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0d, 0x61, 0x72, + 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x73, 0x12, + 0x33, 0x0a, 0x0d, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x35, 0x0a, 0x09, 0x64, - 0x65, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, - 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x66, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, - 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6c, - 0x73, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, - 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, - 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, - 0x57, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x58, 0x6d, 0x6c, 0x53, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, - 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, - 0x70, 0x72, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, - 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x12, 0x2f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, - 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, - 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, - 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, - 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, - 0x73, 0x74, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, - 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, - 0x6f, 0x77, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x70, - 0x70, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, - 0x12, 0x35, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, - 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, - 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x0a, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x2b, 0x0a, 0x07, 0x72, 0x74, 0x65, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x07, 0x72, 0x74, - 0x65, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, - 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x6c, 0x6f, 0x63, 0x6b, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x6c, - 0x6f, 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2b, 0x0a, 0x08, - 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, - 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, - 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x69, - 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6a, - 0x6f, 0x69, 0x6e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, - 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x76, 0x61, 0x72, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x76, - 0x61, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x63, - 0x6f, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x6c, - 0x65, 0x66, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, - 0x6a, 0x6f, 0x69, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x3b, 0x0a, - 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x31, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x66, - 0x75, 0x6e, 0x63, 0x12, 0x32, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x73, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x63, - 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, - 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, - 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, - 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, - 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x72, 0x74, 0x75, - 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, 0x6e, 0x72, 0x74, - 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x23, 0x0a, 0x04, - 0x65, 0x72, 0x65, 0x66, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x04, 0x65, 0x72, 0x65, - 0x66, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x69, - 0x6e, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, 0x1c, 0x0a, - 0x0a, 0x69, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x12, 0x35, 0x0a, 0x0e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x20, 0x20, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x65, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x11, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, + 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, + 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x74, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x54, + 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc6, 0x0f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, + 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1e, + 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x31, + 0x0a, 0x0c, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, + 0x73, 0x5f, 0x61, 0x67, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, + 0x73, 0x41, 0x67, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x68, 0x61, 0x73, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x72, + 0x66, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x52, 0x46, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x73, + 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x68, + 0x61, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x4f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, + 0x73, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x52, + 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x74, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x69, 0x6e, + 0x67, 0x43, 0x54, 0x45, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, + 0x73, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, + 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x12, 0x29, 0x0a, 0x08, 0x63, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x61, - 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, - 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, - 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, - 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x10, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, - 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x75, 0x6e, - 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, - 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, + 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x72, 0x74, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x74, 0x65, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, + 0x74, 0x72, 0x65, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, + 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x72, 0x65, 0x65, 0x12, 0x3a, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, - 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, - 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x3c, 0x0a, - 0x11, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, - 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, - 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x11, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x0f, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, - 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, 0x63, - 0x61, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x73, 0x63, - 0x61, 0x64, 0x65, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x74, 0x6c, 0x65, 0x5f, - 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6c, 0x65, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x71, 0x6f, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x65, 0x71, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, - 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x6f, - 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x12, - 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, - 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x04, 0x0a, 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, - 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, - 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, - 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x5f, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x14, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x4a, 0x6f, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0c, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, - 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x66, 0x75, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x29, 0x0a, 0x11, - 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, - 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x69, - 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x73, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x73, 0x63, 0x12, 0x2f, 0x0a, - 0x14, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, - 0x70, 0x69, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x52, 0x6f, - 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x74, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x74, 0x69, 0x12, 0x38, 0x0a, - 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, 0x73, - 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x44, - 0x6f, 0x77, 0x6e, 0x22, 0x6a, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x63, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, - 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, - 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xa7, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x2f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x01, + 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x0e, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x73, - 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x12, - 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, + 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xc9, 0x01, 0x0a, 0x0f, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, - 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x14, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x03, 0x0a, 0x0e, - 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x36, - 0x0a, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, - 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, - 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, - 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x3e, 0x0a, 0x12, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, - 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, - 0x6f, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, - 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, - 0x22, 0x88, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, - 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, + 0x6c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x51, + 0x75, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x20, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x25, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x35, 0x0a, + 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x73, 0x12, 0x3c, 0x0a, + 0x12, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, + 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x2a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0x90, 0x02, + 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x65, 0x74, 0x6f, + 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, + 0x07, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, + 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, 0x6f, + 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x61, 0x79, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x16, 0x0a, + 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x12, 0x29, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, 0x72, - 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x74, 0x65, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x74, 0x65, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x0a, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, - 0x69, 0x76, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x63, - 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, - 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, - 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x74, 0x65, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x78, 0x70, + 0x72, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0d, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, - 0x3a, 0x0a, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, - 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x02, 0x0a, 0x0f, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, - 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x9d, 0x02, 0x0a, - 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x08, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x52, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, + 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, + 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, + 0x67, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x08, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xc7, 0x03, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, + 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x22, 0x59, 0x0a, 0x11, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, - 0x69, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x69, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x74, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x5f, 0x0a, - 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc7, - 0x01, 0x0a, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, - 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, - 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x4a, 0x73, 0x6f, - 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, + 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, + 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, - 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, - 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, 0x01, 0x0a, 0x19, 0x4a, 0x73, - 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2c, 0x0a, - 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, - 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, - 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe5, 0x01, - 0x0a, 0x12, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x12, 0x27, 0x0a, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x44, 0x65, 0x66, 0x52, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x61, 0x72, - 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, - 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, - 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, - 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x41, - 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x26, 0x0a, - 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, - 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x22, 0x6f, 0x0a, 0x07, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x22, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x73, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, - 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, - 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, - 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0xff, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x10, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, - 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, - 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x52, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, + 0x6f, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x52, + 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, + 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, 0x0a, 0x06, 0x41, + 0x5f, 0x53, 0x74, 0x61, 0x72, 0x22, 0x6f, 0x0a, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x22, + 0x0a, 0x04, 0x6c, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x69, + 0x64, 0x78, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, - 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, - 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x0a, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, - 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x52, 0x04, 0x75, 0x69, 0x64, 0x78, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0b, 0x41, + 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, + 0x6f, 0x6c, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x22, 0xdf, 0x01, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x6e, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, + 0x33, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, + 0x5f, 0x64, 0x69, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, + 0x73, 0x52, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x12, + 0x25, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x77, - 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, + 0x05, 0x75, 0x73, 0x65, 0x4f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xca, 0x02, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, + 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x7d, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x73, + 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xf0, + 0x01, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, + 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2c, 0x0a, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, + 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x28, + 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, + 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xa0, 0x02, - 0x0a, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x9e, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, + 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, + 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, + 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, + 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x05, 0x0a, 0x09, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, + 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, - 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x12, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, - 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x22, 0xd3, 0x07, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x37, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x6f, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x2f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x69, 0x64, 0x22, 0xe1, 0x02, 0x0a, 0x09, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, - 0x0a, 0x0d, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, - 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x70, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, + 0x44, 0x69, 0x72, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, + 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x52, 0x0e, 0x6e, 0x75, + 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xbc, 0x01, 0x0a, + 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0x0a, 0x0d, + 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, + 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x2f, 0x0a, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x03, + 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x73, 0x12, 0x38, + 0x0a, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, + 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, + 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, + 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2f, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, - 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, - 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, - 0x6c, 0x6c, 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x04, - 0x72, 0x61, 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, - 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x22, 0xde, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x6f, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x02, 0x6f, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, + 0x64, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x12, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, + 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, + 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x64, 0x61, + 0x74, 0x75, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x65, + 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x70, + 0x70, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x35, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x72, - 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x2b, 0x0a, - 0x09, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0x8a, 0x01, + 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x26, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x0a, 0x0a, 0x0d, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x65, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x52, 0x04, 0x65, 0x72, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x07, 0x72, 0x74, 0x65, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x07, 0x72, 0x74, + 0x65, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, + 0x6e, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x6c, 0x6f, + 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, + 0x6c, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x3d, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2b, + 0x0a, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, + 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x12, + 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x76, 0x61, 0x72, 0x73, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x76, 0x61, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x6c, 0x65, 0x66, + 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6a, 0x6f, 0x69, + 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, + 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x63, 0x6f, - 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, + 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, 0x69, 0x6e, + 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x75, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x75, 0x6e, 0x63, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x32, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, + 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0a, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x63, - 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, + 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, + 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x72, + 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, 0x6e, + 0x72, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x12, + 0x35, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, + 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x51, 0x75, 0x61, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x69, 0x6e, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x22, 0xe0, 0x02, 0x0a, + 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, + 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x75, 0x6e, + 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, + 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x66, 0x75, + 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x87, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, - 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x76, 0x61, 0x6c, 0x22, 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, - 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x26, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x61, - 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x0f, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x72, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x12, + 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6c, 0x65, 0x53, 0x6f, 0x72, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x71, 0x6f, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x65, 0x71, 0x6f, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x72, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, + 0x6f, 0x72, 0x74, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, + 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x04, 0x0a, 0x0c, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, - 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x22, 0xb4, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, + 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, + 0x75, 0x6e, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x65, + 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, + 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x6e, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x73, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x73, 0x63, 0x12, 0x2f, 0x0a, 0x14, + 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, + 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x70, + 0x69, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x77, + 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, + 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x74, 0x69, 0x12, 0x38, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, 0x73, 0x74, + 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x44, 0x6f, + 0x77, 0x6e, 0x22, 0x6a, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x22, 0x0a, 0x04, 0x63, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x63, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, + 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, + 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x32, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, - 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, - 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, - 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9a, 0x03, - 0x0a, 0x09, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, - 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, - 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x73, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x12, 0x2f, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, + 0x01, 0x0a, 0x0f, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x03, 0x0a, 0x0e, 0x43, + 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x36, 0x0a, + 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x3e, 0x0a, 0x12, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x22, + 0x88, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, + 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x74, 0x65, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x74, 0x65, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, + 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, + 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x74, 0x65, 0x63, + 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x65, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x65, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, - 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xc2, 0x01, 0x0a, 0x0e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, - 0x07, 0x6f, 0x62, 0x6a, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, - 0x6f, 0x62, 0x6a, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, 0x67, - 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, - 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, - 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, - 0x4e, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x72, 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, - 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, - 0x9b, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, - 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x6f, 0x70, 0x74, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x6f, 0x70, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x73, 0x0a, - 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xbd, 0x02, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x0d, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x3a, + 0x0a, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x0f, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, + 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x74, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x4d, 0x0a, 0x0c, 0x4a, + 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, + 0x72, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x03, 0x0a, 0x0c, 0x4a, + 0x73, 0x6f, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x24, 0x0a, 0x02, 0x6f, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, + 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, + 0x70, 0x72, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x07, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x70, + 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x07, + 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2c, 0x0a, + 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x51, 0x75, 0x6f, + 0x74, 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, + 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, + 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x02, 0x0a, 0x09, + 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x28, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x04, 0x0a, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2f, 0x0a, + 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2c, + 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x51, 0x75, + 0x6f, 0x74, 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x0c, 0x4a, 0x73, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x0d, + 0x4a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, + 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, + 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x04, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, + 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, + 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, + 0x0a, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, + 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, + 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, + 0x01, 0x0a, 0x19, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, + 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x52, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x4a, + 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x03, + 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, + 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, + 0x72, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, + 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, + 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x22, 0x6f, 0x0a, 0x07, 0x52, 0x61, + 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6d, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0xff, 0x02, 0x0a, 0x0a, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x2f, + 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x48, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x10, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x90, 0x02, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, + 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x22, 0xbf, 0x02, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x5f, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x10, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xcb, 0x04, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, + 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x02, + 0x12, 0x37, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3c, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x35, + 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xd3, 0x07, 0x0a, + 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x64, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6c, 0x74, 0x73, 0x12, - 0x33, 0x0a, 0x0d, 0x69, 0x6e, 0x68, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x68, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, - 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x33, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x72, - 0x74, 0x73, 0x70, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, - 0x6f, 0x66, 0x54, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, + 0x0a, 0x69, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0b, + 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x68, 0x61, + 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0c, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, + 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, + 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x6c, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x28, + 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, + 0x6d, 0x74, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x72, 0x61, + 0x72, 0x67, 0x22, 0xde, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, + 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, - 0xde, 0x09, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x2e, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, - 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, - 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x12, 0x2a, - 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, + 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0d, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, + 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, 0x22, + 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, + 0x74, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x72, + 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x61, + 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xb4, + 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, + 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, + 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x63, 0x75, 0x72, + 0x73, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9a, 0x03, 0x0a, 0x09, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xc2, 0x01, 0x0a, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, 0x67, 0x73, 0x12, 0x30, 0x0a, + 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x2a, 0x0a, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x4e, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, + 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x0d, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, + 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x5f, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x65, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x6f, 0x70, 0x74, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x6f, 0x70, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1a, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, + 0x02, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, + 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0x94, + 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x04, + 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0a, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, - 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x0e, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x77, 0x68, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x69, + 0x6e, 0x68, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x68, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x08, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, + 0x63, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x6f, 0x66, 0x54, 0x79, + 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xfa, 0x09, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, + 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, + 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, + 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x03, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x75, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x68, 0x6f, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, - 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x07, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x6b, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, + 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x6b, 0x5f, 0x75, 0x70, 0x64, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, - 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, + 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0f, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, - 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, 0x6f, 0x70, 0x18, 0x1b, 0x20, + 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, 0x6f, 0x70, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, 0x6f, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f, 0x6c, 0x64, - 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x22, 0xae, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x5c, 0x0a, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, - 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, - 0x89, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, - 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, - 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x15, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, - 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, - 0x6f, 0x77, 0x61, 0x69, 0x74, 0x22, 0x7f, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, - 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, - 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, - 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, - 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, - 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, 0x01, 0x0a, - 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, - 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, - 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x68, - 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, - 0x0a, 0x13, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, - 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xa0, 0x02, - 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, - 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x94, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, - 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0xd7, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, - 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, - 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, - 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x22, 0x72, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f, 0x6c, 0x64, + 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x12, 0x44, 0x72, 0x6f, + 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, - 0x6d, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x04, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, - 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x03, 0x72, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2f, - 0x0a, 0x0b, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x37, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, - 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x09, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x56, 0x61, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x22, 0xab, - 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, - 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x68, 0x65, 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x68, 0x65, 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x12, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xed, 0x01, 0x0a, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, + 0x13, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x22, 0x7f, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, + 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x70, 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x03, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x58, + 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, + 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x70, 0x6c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x0b, - 0x70, 0x6c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, - 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x34, 0x0a, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, - 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6d, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0c, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, + 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, + 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, + 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x79, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2d, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, + 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x14, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, - 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, - 0x01, 0x0a, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x54, 0x0a, 0x0c, - 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, - 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x6f, 0x6b, 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, - 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, - 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x6f, 0x6b, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, - 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x0a, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, - 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, - 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x30, 0x0a, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, 0x0a, 0x13, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xa0, 0x02, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, + 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, + 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6d, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6d, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, + 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, + 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, + 0xd7, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, + 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x72, 0x0a, 0x0c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x22, 0x8d, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x04, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x6f, + 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x69, + 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x68, 0x65, + 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x2e, - 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x72, 0x65, + 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x22, 0xab, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x68, 0x65, 0x6e, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x68, + 0x65, 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, + 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, + 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x22, 0xed, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x6c, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x70, + 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6c, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6c, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x12, 0x32, - 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, - 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, - 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, - 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, - 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x72, 0x6f, - 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, - 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x6e, - 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x7f, - 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, - 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, - 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x73, 0x0a, 0x11, 0x44, 0x65, - 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x31, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x36, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x77, 0x5f, - 0x6d, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x68, 0x6f, 0x77, 0x4d, - 0x61, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xdc, 0x07, 0x0a, 0x09, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x78, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x64, 0x78, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x16, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x14, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x79, 0x0a, 0x0d, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, + 0x73, 0x74, 0x6d, 0x74, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x38, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x4f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x78, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, - 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x4f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6f, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, - 0x43, 0x0a, 0x1e, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6c, - 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x6f, 0x6c, 0x64, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x52, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x53, - 0x75, 0x62, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x12, - 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, - 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, - 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x22, 0xa9, 0x02, 0x0a, 0x0f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, - 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, - 0x70, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, - 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, + 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, + 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x2e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, - 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x43, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, - 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x0e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, - 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, - 0x78, 0x73, 0x74, 0x61, 0x74, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, 0x61, 0x74, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, - 0x22, 0xb9, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x22, 0xb5, 0x01, 0x0a, - 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x61, 0x72, - 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x65, - 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x65, 0x66, - 0x65, 0x78, 0x70, 0x72, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, - 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, - 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, - 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x06, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, - 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x4f, 0x69, - 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x75, - 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, - 0x49, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, - 0x6d, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, - 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, - 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x2e, - 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, - 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, - 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, 0x73, 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, - 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, - 0xde, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, - 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x08, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, - 0x22, 0xeb, 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x78, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x65, - 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xe4, - 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xcf, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, + 0xdf, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x70, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, - 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, 0x73, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x08, - 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x66, 0x0a, 0x0d, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, - 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, - 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x27, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x73, - 0x74, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, - 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, + 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, + 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x32, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x6e, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xbe, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x22, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x76, 0x61, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, - 0x76, 0x61, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, - 0x69, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x8d, 0x02, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, + 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, + 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x66, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf5, - 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xdf, 0x01, + 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, + 0x94, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, - 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x12, - 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x56, 0x61, - 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x10, 0x6e, 0x65, 0x77, - 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x49, 0x73, 0x41, 0x66, 0x74, - 0x65, 0x72, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x66, 0x5f, 0x6e, 0x65, - 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x4e, 0x65, 0x77, 0x56, 0x61, 0x6c, - 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x28, 0x0a, 0x07, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x45, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x50, - 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x55, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, - 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x63, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, - 0x73, 0x74, 0x6d, 0x74, 0x22, 0x6e, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, + 0x71, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x7f, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, + 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x73, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6d, + 0x6f, 0x76, 0x65, 0x22, 0xdc, 0x07, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x16, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x83, 0x01, 0x0a, - 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, - 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, - 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x65, 0x6c, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, 0x6d, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, - 0x6d, 0x64, 0x22, 0x7c, 0x0a, 0x0e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x76, 0x61, 0x5f, 0x63, 0x6f, 0x6c, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x76, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x73, - 0x22, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x70, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x69, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, + 0x10, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x69, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x6c, 0x64, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x1b, 0x6f, 0x6c, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, + 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, + 0x70, 0x63, 0x22, 0xa9, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0xe1, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x69, - 0x6e, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, - 0x04, 0x69, 0x6e, 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, - 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, - 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x12, 0x24, 0x0a, - 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, - 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, - 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, - 0x69, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, - 0x6b, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x78, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x43, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, 0x61, 0x74, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, + 0x61, 0x74, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xb9, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, + 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x71, 0x6c, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x71, 0x6c, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x08, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x61, 0x72, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x22, 0x9b, 0x01, 0x0a, + 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, + 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x06, 0x44, 0x6f, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x4f, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x6e, + 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x49, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, + 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x61, + 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, 0x73, + 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, 0xde, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, + 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, + 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xeb, 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x22, 0x3c, 0x0a, 0x0b, 0x44, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x22, 0x62, 0x0a, - 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xea, - 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6f, - 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x66, - 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x65, 0x66, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x65, 0x66, 0x22, 0xf1, 0x01, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, - 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, - 0x66, 0x75, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, - 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x22, - 0xd9, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x73, - 0x71, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, - 0x67, 0x73, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x73, 0x71, 0x6c, 0x12, 0x2e, 0x0a, 0x05, 0x74, - 0x6f, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x74, 0x6f, 0x73, 0x71, 0x6c, 0x22, 0x73, 0x0a, 0x0b, 0x50, - 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, - 0x0a, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x22, 0x49, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x0a, + 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xcf, 0x01, + 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, + 0x73, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x66, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x44, - 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x69, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x11, - 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x90, 0x02, 0x0a, + 0x08, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, + 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, + 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, + 0x4c, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x32, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x74, 0x79, 0x70, + 0x65, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x07, + 0x74, 0x79, 0x70, 0x65, 0x76, 0x61, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, + 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, + 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x66, 0x0a, 0x0f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, + 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x6e, 0x65, - 0x77, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, - 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, - 0x0a, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, + 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, + 0x56, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, + 0x65, 0x77, 0x56, 0x61, 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x27, 0x0a, + 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x49, + 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, + 0x66, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x4e, 0x65, + 0x77, 0x56, 0x61, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x08, 0x56, + 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x28, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x18, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x55, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, + 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x6e, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, + 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x64, 0x69, - 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x73, + 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, + 0x22, 0x83, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, + 0x0a, 0x04, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x65, + 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, + 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, + 0x75, 0x75, 0x6d, 0x63, 0x6d, 0x64, 0x22, 0x7c, 0x0a, 0x0e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x76, 0x61, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x76, 0x61, 0x5f, + 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, + 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x77, - 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x10, 0x0a, 0x0e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x22, 0x3c, 0x0a, + 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x08, 0x4c, + 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, + 0x61, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, + 0x74, 0x22, 0x62, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, + 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x65, 0x66, 0x22, + 0xf1, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, + 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, + 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, + 0x6f, 0x75, 0x74, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x74, 0x79, + 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x07, 0x66, + 0x72, 0x6f, 0x6d, 0x73, 0x71, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x73, 0x71, 0x6c, 0x12, + 0x2e, 0x0a, 0x05, 0x74, 0x6f, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x74, 0x6f, 0x73, 0x71, 0x6c, 0x22, + 0x73, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x56, 0x0a, 0x0e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, + 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, + 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, + 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, + 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x28, - 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x18, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x66, 0x67, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x24, 0x0a, 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, - 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x75, 0x62, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x75, 0x62, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, - 0xec, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, - 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, - 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, - 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9f, 0x01, 0x0a, + 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xbe, + 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, + 0x6a, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, + 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x70, + 0x75, 0x62, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x75, 0x62, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xb3, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x62, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x15, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, - 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, - 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, - 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x09, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x38, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0b, 0x6b, - 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x2a, 0x7f, 0x0a, 0x0e, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, - 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, - 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, - 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1b, - 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59, 0x53, - 0x54, 0x45, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, 0x9b, 0x01, 0x0a, 0x0b, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x53, 0x52, 0x43, 0x5f, - 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x51, 0x53, - 0x52, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x51, - 0x53, 0x52, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, - 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x19, - 0x0a, 0x15, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, - 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, 0x2a, 0x6d, 0x0a, 0x09, 0x53, 0x6f, 0x72, - 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, - 0x59, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, - 0x41, 0x53, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, - 0x44, 0x45, 0x53, 0x43, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, - 0x5f, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x73, 0x0a, 0x0b, 0x53, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x4f, 0x52, 0x54, 0x5f, - 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, - 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x46, - 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, - 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x03, 0x2a, 0x7e, 0x0a, - 0x0d, 0x53, 0x65, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, - 0x0a, 0x18, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x5f, - 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, - 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, - 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x03, 0x2a, 0xb6, 0x02, - 0x0a, 0x0b, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, - 0x52, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, - 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x45, 0x58, 0x50, - 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x45, - 0x58, 0x50, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x04, 0x12, 0x16, - 0x0a, 0x12, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, - 0x49, 0x4e, 0x43, 0x54, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, - 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, - 0x52, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, - 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, - 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, - 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x45, - 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0b, 0x12, 0x15, 0x0a, - 0x11, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, - 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, - 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x41, - 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, - 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0e, 0x2a, 0xa8, 0x01, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, - 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, - 0x43, 0x5f, 0x43, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, + 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, + 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, + 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x09, 0x53, 0x63, + 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, + 0x25, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, + 0x2a, 0x9b, 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, + 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, + 0x0f, 0x0a, 0x0b, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x02, + 0x12, 0x15, 0x0a, 0x11, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, + 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x53, 0x52, 0x43, 0x5f, + 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, 0x2a, 0x6d, + 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x15, 0x53, + 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, + 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x4f, + 0x52, 0x54, 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x4f, + 0x52, 0x54, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, + 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x73, 0x0a, + 0x0b, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x17, + 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, 0x52, + 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, + 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, + 0x4c, 0x4c, 0x53, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x53, + 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, 0x54, + 0x10, 0x03, 0x2a, 0x7e, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, + 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, + 0x12, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, + 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, + 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, + 0x10, 0x03, 0x2a, 0xb6, 0x02, 0x0a, 0x0b, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, 0x4b, 0x69, + 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4b, 0x49, 0x4e, + 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, + 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, + 0x12, 0x0a, 0x0e, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, + 0x54, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x41, + 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0x06, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x41, + 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x41, + 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, + 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x0a, 0x12, + 0x11, 0x0a, 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, + 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, 0x58, + 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0d, + 0x12, 0x19, 0x0a, 0x15, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, + 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0e, 0x2a, 0xa8, 0x01, 0x0a, 0x0c, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, + 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, + 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, - 0x45, 0x43, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, - 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x53, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, - 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, - 0x05, 0x2a, 0xf4, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, - 0x49, 0x4b, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, - 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, - 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, - 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, - 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1e, 0x0a, - 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4b, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x1d, 0x0a, - 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4b, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, - 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, 0x08, 0x12, 0x1d, - 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, - 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x09, 0x12, 0x19, 0x0a, - 0x15, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4b, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x0a, 0x2a, 0x76, 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x45, - 0x6c, 0x65, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x46, - 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x45, - 0x4c, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, - 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, - 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x03, 0x12, 0x10, - 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, - 0x2a, 0x8d, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4c, - 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x52, 0x41, 0x4e, 0x47, - 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x03, - 0x2a, 0xac, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x24, - 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, - 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, - 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, - 0x54, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, + 0x55, 0x53, 0x45, 0x52, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, + 0x45, 0x43, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, + 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x50, 0x55, + 0x42, 0x4c, 0x49, 0x43, 0x10, 0x05, 0x2a, 0xf4, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x4c, 0x69, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, + 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x21, + 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, + 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x10, + 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, + 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, + 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, + 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, 0x10, + 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, + 0x53, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x0a, 0x2a, 0x76, 0x0a, + 0x0d, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x19, 0x44, 0x45, 0x46, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, + 0x0e, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x53, 0x45, 0x54, + 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x44, + 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x44, + 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x8d, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, + 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x45, 0x47, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x48, + 0x41, 0x53, 0x48, 0x10, 0x03, 0x2a, 0xac, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, - 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, - 0xbd, 0x01, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x52, - 0x54, 0x45, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x51, - 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x54, 0x45, 0x5f, 0x4a, 0x4f, - 0x49, 0x4e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x54, 0x45, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x54, 0x45, - 0x5f, 0x43, 0x54, 0x45, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x54, 0x45, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x44, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x08, 0x12, - 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x10, 0x09, 0x2a, - 0xc4, 0x01, 0x0a, 0x07, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x57, - 0x43, 0x4f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x43, 0x4f, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, - 0x53, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x02, - 0x12, 0x18, 0x0a, 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x43, - 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, - 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, - 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x2a, 0xaa, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, - 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x4c, - 0x4c, 0x55, 0x50, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, - 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x42, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x54, - 0x53, 0x10, 0x05, 0x2a, 0x7c, 0x0a, 0x0e, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x54, 0x45, 0x4d, 0x41, 0x54, 0x45, - 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x01, 0x12, 0x18, - 0x0a, 0x14, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x54, 0x45, 0x4d, - 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x10, - 0x03, 0x2a, 0x73, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0f, - 0x0a, 0x0b, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, - 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, - 0x43, 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x45, 0x58, - 0x43, 0x45, 0x50, 0x54, 0x10, 0x04, 0x2a, 0x99, 0x09, 0x0a, 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x02, - 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4d, 0x4f, 0x50, 0x10, - 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4d, 0x50, 0x52, - 0x4f, 0x43, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0x07, 0x12, 0x14, - 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, - 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0x0a, - 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, - 0x45, 0x46, 0x41, 0x43, 0x4c, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x4f, 0x4d, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, - 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, - 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x0f, 0x12, 0x14, - 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, - 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, - 0x44, 0x57, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, - 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x12, 0x12, - 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, - 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x14, 0x12, 0x10, - 0x0a, 0x0c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x15, - 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, - 0x41, 0x47, 0x45, 0x10, 0x16, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x4c, 0x41, 0x52, 0x47, 0x45, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x17, 0x12, 0x12, 0x0a, - 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x56, 0x49, 0x45, 0x57, 0x10, - 0x18, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x10, 0x19, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x1a, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0x1b, 0x12, - 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, - 0x54, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x1c, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, - 0x10, 0x1e, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, - 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x1f, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x20, 0x12, 0x1a, 0x0a, 0x16, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4c, 0x10, 0x21, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x22, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, 0x23, 0x12, 0x0f, 0x0a, - 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x24, 0x12, 0x11, - 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, - 0x25, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x51, 0x55, - 0x45, 0x4e, 0x43, 0x45, 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x27, 0x12, - 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, - 0x54, 0x49, 0x43, 0x5f, 0x45, 0x58, 0x54, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, - 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, - 0x54, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x10, 0x2a, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x2b, 0x12, 0x14, 0x0a, 0x10, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, - 0x10, 0x2c, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x52, 0x49, - 0x47, 0x47, 0x45, 0x52, 0x10, 0x2d, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x2e, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x53, 0x44, - 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x2f, 0x12, 0x13, 0x0a, 0x0f, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0x30, - 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x53, 0x54, 0x45, 0x4d, - 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x32, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, - 0x33, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, - 0x10, 0x34, 0x2a, 0x50, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, - 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0d, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x41, 0x53, 0x43, 0x41, - 0x44, 0x45, 0x10, 0x02, 0x2a, 0xf6, 0x0b, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, - 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x41, 0x64, - 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x6f, 0x56, 0x69, 0x65, 0x77, 0x10, - 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x5f, 0x43, 0x6f, - 0x6f, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4e, 0x6f, - 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, - 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, - 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x74, - 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x09, 0x12, 0x11, 0x0a, 0x0d, - 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x0a, 0x12, - 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x11, - 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, - 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x11, 0x12, 0x16, 0x0a, 0x12, 0x41, - 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x10, 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, - 0x13, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x14, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x10, 0x15, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x16, 0x12, - 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x10, 0x17, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, - 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x18, 0x12, 0x16, 0x0a, 0x12, 0x41, - 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x10, 0x1a, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x10, 0x1b, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x41, - 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x1d, 0x12, - 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, - 0x1e, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x67, - 0x67, 0x65, 0x64, 0x10, 0x1f, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, - 0x4f, 0x69, 0x64, 0x73, 0x10, 0x20, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x21, 0x12, 0x14, - 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, - 0x63, 0x65, 0x10, 0x22, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x23, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, - 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x10, 0x24, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x25, 0x12, 0x11, 0x0a, 0x0d, - 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x10, 0x26, 0x12, - 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, - 0x79, 0x73, 0x54, 0x72, 0x69, 0x67, 0x10, 0x27, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x54, 0x72, 0x69, 0x67, - 0x10, 0x28, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x10, 0x29, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x2a, 0x12, 0x15, 0x0a, 0x11, - 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, - 0x6c, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, 0x2c, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, - 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, - 0x10, 0x2d, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x10, 0x2e, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x2f, 0x12, 0x18, - 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x30, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x31, 0x12, 0x11, 0x0a, 0x0d, - 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x32, 0x12, - 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, - 0x74, 0x10, 0x33, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x66, 0x10, - 0x34, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x66, 0x10, 0x35, - 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x36, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x10, 0x37, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x38, 0x12, 0x17, 0x0a, - 0x13, 0x41, 0x54, 0x5f, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x10, 0x39, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x4e, 0x6f, 0x46, - 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, - 0x3a, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x3b, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x3c, - 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x3d, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x5f, 0x44, - 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, - 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x3e, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x41, - 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x3f, 0x12, 0x12, 0x0a, 0x0e, - 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x40, - 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x10, 0x41, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x42, 0x2a, 0x80, 0x01, - 0x0a, 0x0f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, + 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, + 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, + 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, + 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, + 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x10, 0x03, 0x2a, 0xbd, 0x01, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x15, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, 0x5f, 0x52, + 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, + 0x5f, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x52, + 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, + 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, + 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x10, 0x05, 0x12, 0x0e, + 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x06, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x54, 0x45, 0x5f, 0x43, 0x54, 0x45, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x52, + 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x53, 0x54, 0x4f, + 0x52, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, + 0x4c, 0x54, 0x10, 0x09, 0x2a, 0xc4, 0x01, 0x0a, 0x07, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x15, 0x0a, 0x11, 0x57, 0x43, 0x4f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x43, 0x4f, 0x5f, 0x56, + 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x57, + 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x48, + 0x45, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, 0x12, + 0x1a, 0x0a, 0x16, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, + 0x49, 0x43, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x57, + 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x57, + 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x2a, 0xaa, 0x01, 0x0a, 0x0f, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, + 0x1f, 0x0a, 0x1b, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, + 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, + 0x02, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x42, 0x45, 0x10, + 0x04, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x53, 0x45, 0x54, 0x53, 0x10, 0x05, 0x2a, 0x7c, 0x0a, 0x0e, 0x43, 0x54, 0x45, 0x4d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x54, + 0x45, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x54, 0x45, 0x4d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x10, 0x02, 0x12, 0x17, 0x0a, + 0x13, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x4e, + 0x65, 0x76, 0x65, 0x72, 0x10, 0x03, 0x2a, 0x65, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x51, 0x75, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x4f, + 0x54, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x14, 0x0a, 0x10, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x4f, 0x54, + 0x45, 0x53, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, + 0x51, 0x55, 0x4f, 0x54, 0x45, 0x53, 0x5f, 0x4f, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x2a, 0x97, 0x01, + 0x0a, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, + 0x54, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x54, + 0x59, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x54, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x55, 0x4c, + 0x41, 0x52, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x54, 0x43, 0x5f, 0x45, 0x58, 0x49, 0x53, + 0x54, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x54, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x4d, + 0x41, 0x54, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x54, 0x43, 0x5f, 0x4e, + 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x73, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x4f, + 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x55, 0x4e, + 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, + 0x54, 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x04, 0x2a, 0x99, 0x09, 0x0a, + 0x0a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, + 0x47, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x41, 0x4d, 0x4f, 0x50, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x41, 0x4d, 0x50, 0x52, 0x4f, 0x43, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0x05, + 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, + 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x55, + 0x4d, 0x4e, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, + 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, + 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x42, 0x41, 0x53, 0x45, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x43, 0x4c, 0x10, 0x0c, 0x12, 0x11, 0x0a, + 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x0d, + 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x4f, 0x4d, 0x43, 0x4f, + 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, + 0x45, 0x52, 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x45, + 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x10, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x44, 0x57, 0x10, 0x11, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x52, 0x10, 0x12, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x13, 0x12, + 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x14, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, + 0x4e, 0x44, 0x45, 0x58, 0x10, 0x15, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0x16, 0x12, 0x16, 0x0a, 0x12, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x10, 0x17, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4d, 0x41, + 0x54, 0x56, 0x49, 0x45, 0x57, 0x10, 0x18, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x4f, 0x50, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0x19, 0x12, 0x13, 0x0a, 0x0f, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x1a, + 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x46, 0x41, 0x4d, + 0x49, 0x4c, 0x59, 0x10, 0x1b, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x4c, 0x10, 0x1c, 0x12, + 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x4f, + 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x10, 0x1e, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x1f, + 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, + 0x10, 0x20, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4c, 0x10, 0x21, 0x12, 0x0f, + 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x22, 0x12, + 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, + 0x45, 0x10, 0x23, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x10, 0x24, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, + 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x25, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x27, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x45, 0x58, 0x54, 0x10, 0x28, 0x12, + 0x18, 0x0a, 0x14, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x43, 0x4f, 0x4e, + 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x42, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x2a, 0x12, 0x15, 0x0a, 0x11, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, + 0x10, 0x2b, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x2c, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x2d, 0x12, 0x1a, 0x0a, 0x16, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, + 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x2e, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x54, 0x53, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, 0x59, 0x10, + 0x2f, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x53, 0x50, 0x41, + 0x52, 0x53, 0x45, 0x52, 0x10, 0x30, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x54, 0x53, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x31, 0x12, 0x0f, 0x0a, + 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x32, 0x12, 0x17, + 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x4d, 0x41, + 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x33, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x34, 0x2a, 0x50, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x52, 0x4f, 0x50, + 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x45, + 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x52, 0x4f, 0x50, + 0x5f, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0x02, 0x2a, 0x8c, 0x0c, 0x0a, 0x0e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x0c, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, 0x01, 0x12, + 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, + 0x6f, 0x56, 0x69, 0x65, 0x77, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x03, 0x12, 0x1a, 0x0a, + 0x16, 0x41, 0x54, 0x5f, 0x43, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, + 0x44, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x05, 0x12, 0x11, 0x0a, + 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x06, + 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, + 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x08, 0x12, 0x13, 0x0a, + 0x0f, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, + 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, + 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, 0x41, + 0x54, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x0c, + 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, + 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, 0x0f, 0x12, 0x0f, 0x0a, + 0x0b, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x10, 0x12, 0x11, + 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, + 0x11, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, + 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x13, 0x12, + 0x1c, 0x0a, 0x18, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x14, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x10, 0x15, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x16, + 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, 0x41, + 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x10, 0x18, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x1a, 0x12, + 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, + 0x1b, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x77, + 0x6e, 0x65, 0x72, 0x10, 0x1c, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x10, 0x1d, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, + 0x6f, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x1e, 0x12, 0x10, 0x0a, 0x0c, 0x41, + 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, 0x1f, 0x12, 0x12, 0x0a, + 0x0e, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, + 0x20, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x69, 0x64, 0x73, + 0x10, 0x21, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x22, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, + 0x5f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x10, 0x23, + 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x24, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x25, 0x12, 0x18, + 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x26, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x10, 0x27, 0x12, 0x17, 0x0a, 0x13, 0x41, + 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x54, 0x72, + 0x69, 0x67, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x54, 0x72, 0x69, 0x67, 0x10, 0x29, 0x12, 0x12, + 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, + 0x10, 0x2a, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x2c, 0x12, + 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, + 0x55, 0x73, 0x65, 0x72, 0x10, 0x2d, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, 0x2e, 0x12, 0x11, + 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x10, + 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, + 0x77, 0x61, 0x79, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x30, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, + 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x75, + 0x6c, 0x65, 0x10, 0x31, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x32, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x41, + 0x64, 0x64, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x33, 0x12, 0x12, 0x0a, 0x0e, 0x41, + 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x34, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x66, 0x10, 0x35, 0x12, 0x0d, 0x0a, + 0x09, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x66, 0x10, 0x36, 0x12, 0x16, 0x0a, 0x12, + 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x10, 0x37, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x38, 0x12, 0x19, + 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x39, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, + 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x10, 0x3a, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x63, 0x65, + 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x3b, 0x12, 0x15, 0x0a, + 0x11, 0x41, 0x54, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x10, 0x3c, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x3d, 0x12, 0x16, 0x0a, 0x12, + 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x10, 0x3e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x7a, 0x65, 0x10, 0x3f, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x40, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x53, + 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x41, 0x12, 0x13, 0x0a, 0x0f, + 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, + 0x42, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x43, 0x2a, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x1b, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, + 0x0a, 0x11, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x42, 0x4a, + 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, + 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, + 0x41, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, + 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x03, 0x2a, 0xa4, 0x01, 0x0a, + 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, + 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, + 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x11, + 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x10, + 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x05, + 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x4c, + 0x4c, 0x10, 0x06, 0x2a, 0xdf, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x0b, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x12, + 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x4e, 0x55, 0x4c, 0x4c, + 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, + 0x41, 0x55, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, + 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x43, + 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x43, 0x48, 0x45, 0x43, + 0x4b, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x50, 0x52, + 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x53, 0x54, + 0x52, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, + 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x09, + 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x49, + 0x47, 0x4e, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, + 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0b, + 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0c, + 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, + 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, + 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, + 0x41, 0x54, 0x45, 0x10, 0x0e, 0x2a, 0x9c, 0x01, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x45, + 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x46, + 0x44, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, + 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, + 0x50, 0x54, 0x10, 0x03, 0x2a, 0x66, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, - 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x4c, - 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x53, - 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x43, 0x4c, 0x5f, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x03, - 0x2a, 0xa4, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, - 0x0f, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, - 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x55, - 0x4c, 0x54, 0x49, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, - 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x06, 0x2a, 0xdf, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, - 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, - 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, - 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, - 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, - 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, - 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, - 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, - 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x10, 0x08, 0x12, 0x14, - 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, - 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x46, - 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x53, - 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x19, - 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4d, - 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x2a, 0x9c, 0x01, 0x0a, 0x17, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x54, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, + 0x4f, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, + 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, + 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, 0x2a, 0x7e, 0x0a, 0x0e, + 0x46, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x19, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, + 0x52, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x42, + 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, + 0x48, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x2a, 0xc2, 0x01, 0x0a, + 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4f, + 0x55, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, + 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x55, + 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, + 0x43, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, + 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, + 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0x06, 0x2a, 0xbe, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x42, 0x45, 0x47, + 0x49, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, + 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, + 0x03, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, + 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, + 0x4e, 0x54, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, + 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, + 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x08, + 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, 0x09, + 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, + 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, + 0x10, 0x0a, 0x2a, 0x7a, 0x0a, 0x0f, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, + 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x45, + 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x44, 0x5f, + 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x76, + 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x53, + 0x43, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x49, + 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, + 0x11, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, + 0x45, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, + 0x54, 0x45, 0x4d, 0x50, 0x10, 0x04, 0x2a, 0xbd, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, + 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x19, 0x0a, 0x15, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, - 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, - 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x44, - 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, - 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x2a, 0x66, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, - 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, - 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, - 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, - 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, - 0x2a, 0x7e, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x44, 0x49, 0x52, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, - 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x42, 0x41, - 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, - 0x48, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, - 0x2a, 0xc2, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x55, - 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, - 0x49, 0x4e, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, - 0x41, 0x4d, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, - 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x17, - 0x0a, 0x13, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x56, 0x41, 0x52, - 0x49, 0x41, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, - 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, - 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x06, 0x2a, 0xbe, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, - 0x1f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4d, - 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, - 0x5f, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x02, 0x12, 0x15, - 0x0a, 0x11, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, - 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, - 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x18, - 0x0a, 0x14, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x41, 0x56, - 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, - 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x06, - 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, - 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, - 0x52, 0x45, 0x10, 0x08, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, - 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, - 0x45, 0x44, 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, - 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x50, - 0x41, 0x52, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0x7a, 0x0a, 0x0f, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x49, 0x45, - 0x57, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, - 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x53, 0x43, 0x41, - 0x44, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x03, 0x2a, 0x76, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x11, - 0x0a, 0x0d, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, - 0x02, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x51, - 0x55, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, - 0x41, 0x52, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x10, 0x04, 0x2a, 0xbd, 0x01, 0x0a, 0x11, 0x52, - 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, - 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, - 0x14, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, - 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, - 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, - 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x1b, 0x0a, - 0x17, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0x05, 0x2a, 0xef, 0x01, 0x0a, 0x11, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, - 0x47, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x50, - 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, - 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x10, 0x03, - 0x12, 0x29, 0x0a, 0x25, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x47, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x5f, - 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x41, - 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x52, - 0x4f, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x2a, 0xca, 0x01, 0x0a, - 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, - 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x18, 0x0a, 0x14, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, - 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x55, - 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, - 0x27, 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, - 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x5f, - 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, - 0x4e, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x7a, 0x0a, 0x16, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x55, 0x42, - 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, - 0x50, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x01, 0x12, 0x12, - 0x0a, 0x0e, 0x41, 0x50, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x10, 0x03, 0x2a, 0xd7, 0x02, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x25, 0x0a, 0x21, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, - 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, - 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x03, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, - 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, - 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, - 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, - 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, - 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x08, 0x2a, - 0x8c, 0x01, 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x4e, - 0x4f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, - 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, - 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, - 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x6f, - 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x14, 0x50, - 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, - 0x58, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, - 0x5f, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x41, 0x52, 0x41, 0x4d, - 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, 0x52, 0x10, 0x04, 0x2a, - 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, - 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, - 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, - 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, - 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, - 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, - 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, - 0x6d, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, - 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, - 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, - 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, - 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, - 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4d, 0x50, - 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, - 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, - 0x58, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x01, 0x12, - 0x0b, 0x0a, 0x07, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x03, 0x2a, 0xc5, 0x01, 0x0a, 0x0b, 0x53, - 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x55, - 0x42, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, 0x49, 0x53, 0x54, - 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, - 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, - 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x16, 0x0a, - 0x12, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4c, - 0x49, 0x4e, 0x4b, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, - 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x55, 0x4c, 0x54, 0x49, - 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x06, 0x12, 0x11, - 0x0a, 0x0d, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, - 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, - 0x10, 0x08, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4d, - 0x50, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, - 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, - 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x52, - 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x51, 0x10, 0x03, 0x12, 0x11, - 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x47, 0x45, 0x10, - 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, - 0x47, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, - 0x52, 0x45, 0x5f, 0x4e, 0x45, 0x10, 0x06, 0x2a, 0x43, 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x4d, 0x61, - 0x78, 0x4f, 0x70, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4f, - 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x49, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0x02, 0x2a, 0xad, 0x03, 0x0a, - 0x12, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x51, 0x4c, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, - 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, - 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, - 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, - 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, - 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, - 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x1d, - 0x0a, 0x19, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x10, 0x05, 0x12, 0x13, 0x0a, - 0x0f, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, - 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, - 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, - 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, - 0x50, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, - 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x10, 0x09, 0x12, - 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, - 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, - 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0b, 0x12, - 0x0e, 0x0a, 0x0a, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0c, 0x12, - 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x56, 0x46, 0x4f, 0x50, - 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, - 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x0f, 0x2a, 0xb2, 0x01, 0x0a, - 0x09, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x58, 0x4d, - 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x43, - 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x53, 0x5f, 0x58, 0x4d, - 0x4c, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, - 0x5f, 0x58, 0x4d, 0x4c, 0x46, 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, - 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0x04, 0x12, 0x0c, 0x0a, - 0x08, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x49, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x49, - 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x49, - 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x07, - 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, - 0x08, 0x2a, 0x5d, 0x0a, 0x0d, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x58, 0x4d, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x16, 0x0a, 0x12, 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x58, 0x4d, 0x4c, - 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, - 0x2a, 0x74, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, - 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, - 0x0e, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, - 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x55, 0x54, 0x46, 0x38, - 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x55, 0x54, 0x46, - 0x31, 0x36, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x55, - 0x54, 0x46, 0x33, 0x32, 0x10, 0x04, 0x2a, 0x70, 0x0a, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, 0x53, 0x4f, 0x4e, - 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x53, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, - 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, - 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x10, 0x03, 0x2a, 0x9e, 0x01, 0x0a, 0x13, 0x4a, 0x73, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x1f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x55, - 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, - 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, - 0x41, 0x59, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, - 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x41, 0x47, 0x47, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, - 0x52, 0x52, 0x41, 0x59, 0x41, 0x47, 0x47, 0x10, 0x04, 0x2a, 0x7a, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, - 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x53, - 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x11, - 0x0a, 0x0d, 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x41, - 0x4c, 0x41, 0x52, 0x10, 0x04, 0x2a, 0x4a, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, + 0x18, 0x0a, 0x14, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x49, + 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, + 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, 0x19, + 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x49, + 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x42, 0x41, 0x53, 0x45, 0x10, 0x05, 0x2a, 0xef, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x47, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x2a, 0x0a, 0x26, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, + 0x47, 0x5f, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, + 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, + 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, + 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, + 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x54, 0x45, 0x52, + 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x4d, + 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x2a, 0xca, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x5f, + 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x7a, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x41, 0x64, + 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x50, + 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x02, 0x12, 0x11, + 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, + 0x03, 0x2a, 0xd7, 0x02, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, + 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, + 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, + 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, + 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, + 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x5f, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x26, 0x0a, + 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, + 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x4f, 0x50, + 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1e, + 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x06, 0x12, 0x1e, + 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1b, + 0x0a, 0x17, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x08, 0x2a, 0x7f, 0x0a, 0x0e, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, + 0x19, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, + 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, + 0x45, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, + 0x4e, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, + 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59, + 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, 0x8c, 0x01, 0x0a, + 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1e, 0x0a, 0x1a, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x4f, 0x50, + 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, + 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x02, 0x12, 0x18, + 0x0a, 0x14, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, 0x4f, + 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x0d, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x54, + 0x46, 0x54, 0x5f, 0x58, 0x4d, 0x4c, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, + 0x0e, 0x54, 0x46, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x02, 0x2a, 0x6f, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x18, + 0x0a, 0x14, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x52, 0x41, + 0x4d, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x41, + 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x41, + 0x52, 0x41, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x13, 0x0a, + 0x0f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, 0x52, + 0x10, 0x04, 0x2a, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, + 0x4f, 0x4e, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, + 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, + 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, + 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, + 0x54, 0x10, 0x04, 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, + 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, + 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, + 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, + 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, + 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, 0x12, + 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, 0x59, + 0x4e, 0x54, 0x41, 0x58, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, + 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x45, + 0x58, 0x50, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x52, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x02, 0x12, + 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x03, 0x2a, 0xc5, 0x01, + 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, + 0x17, 0x53, 0x55, 0x42, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, + 0x49, 0x53, 0x54, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x01, 0x12, 0x0f, + 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, 0x12, + 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x03, + 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x53, + 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x50, 0x52, + 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x55, + 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, + 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, + 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4c, + 0x49, 0x4e, 0x4b, 0x10, 0x08, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x57, 0x5f, + 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, + 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, + 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x11, + 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x51, 0x10, + 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, + 0x47, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, + 0x52, 0x45, 0x5f, 0x47, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, + 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4e, 0x45, 0x10, 0x06, 0x2a, 0x43, 0x0a, 0x08, 0x4d, 0x69, + 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49, 0x4e, 0x5f, 0x4d, 0x41, + 0x58, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0x02, 0x2a, + 0xad, 0x03, 0x0a, 0x12, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x51, 0x4c, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, + 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x45, + 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, + 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, + 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, + 0x5f, 0x4e, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, + 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, + 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, + 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x10, 0x05, + 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, + 0x49, 0x4d, 0x45, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, + 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, + 0x54, 0x41, 0x4d, 0x50, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, + 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, + 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, + 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x53, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x56, + 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x54, 0x41, + 0x4c, 0x4f, 0x47, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, + 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x0f, 0x2a, + 0xb2, 0x01, 0x0a, 0x09, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x12, 0x19, 0x0a, + 0x15, 0x58, 0x4d, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x5f, 0x58, + 0x4d, 0x4c, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x53, + 0x5f, 0x58, 0x4d, 0x4c, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x46, 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, + 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0x04, + 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x49, 0x10, 0x05, 0x12, 0x0e, + 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x06, 0x12, 0x13, + 0x0a, 0x0f, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, + 0x45, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, + 0x4e, 0x54, 0x10, 0x08, 0x2a, 0x5d, 0x0a, 0x0d, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x58, 0x4d, 0x4c, 0x5f, 0x4f, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, + 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, + 0x54, 0x10, 0x02, 0x2a, 0x74, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x43, 0x4f, + 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x55, + 0x54, 0x46, 0x38, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, + 0x55, 0x54, 0x46, 0x31, 0x36, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, 0x4e, + 0x43, 0x5f, 0x55, 0x54, 0x46, 0x33, 0x32, 0x10, 0x04, 0x2a, 0x70, 0x0a, 0x0e, 0x4a, 0x73, 0x6f, + 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, + 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4a, + 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x10, 0x03, 0x2a, 0xe8, 0x01, 0x0a, 0x13, + 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x53, + 0x54, 0x52, 0x55, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, + 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x43, 0x54, 0x4f, + 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x41, 0x47, 0x47, + 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x41, 0x47, 0x47, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, + 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x53, + 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, + 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4a, + 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x41, + 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x07, 0x2a, 0x7a, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4a, + 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x03, 0x12, 0x12, + 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, + 0x10, 0x04, 0x2a, 0x73, 0x0a, 0x0b, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x41, 0x50, 0x50, 0x45, + 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x4a, 0x53, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x4a, 0x53, 0x57, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, + 0x53, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x03, + 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x53, 0x57, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0xa4, 0x02, 0x0a, 0x10, 0x4a, 0x73, 0x6f, 0x6e, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, + 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, + 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, + 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, + 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, + 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, + 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x04, + 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, + 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x41, 0x52, 0x52, 0x41, + 0x59, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, + 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, + 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x09, 0x2a, 0x75, + 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x12, 0x1a, 0x0a, 0x16, + 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, + 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x10, 0x02, 0x12, + 0x11, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4f, 0x50, + 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x5f, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x4a, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, @@ -34786,566 +37262,594 @@ var file_pg_query_proto_rawDesc = []byte{ 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x06, 0x2a, 0xa3, 0x01, 0x0a, 0x07, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x12, 0x43, 0x4d, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x53, - 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x49, - 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4d, 0x44, 0x5f, 0x4d, - 0x45, 0x52, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x54, - 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x4e, - 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x2a, 0xc2, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, - 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, - 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4d, 0x49, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4a, - 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x4f, - 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, 0x07, 0x12, - 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4f, - 0x55, 0x54, 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, - 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x09, 0x2a, 0x67, 0x0a, - 0x0b, 0x41, 0x67, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1a, 0x0a, 0x16, - 0x41, 0x47, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, - 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x53, - 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x48, - 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x4d, - 0x49, 0x58, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x72, 0x0a, 0x08, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, - 0x69, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, - 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, - 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x49, 0x4e, 0x49, - 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, - 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, - 0x44, 0x45, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x2a, 0x86, 0x01, 0x0a, 0x08, 0x53, - 0x65, 0x74, 0x4f, 0x70, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x54, 0x5f, 0x4f, - 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, - 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x5f, - 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, - 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, - 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x41, 0x4c, - 0x4c, 0x10, 0x04, 0x2a, 0x52, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x53, - 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x53, 0x4f, 0x52, - 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x48, - 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x78, 0x0a, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, - 0x0f, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, - 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, - 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, - 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, - 0x03, 0x2a, 0x77, 0x0a, 0x0b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, - 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, - 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, - 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1a, - 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, - 0x49, 0x54, 0x48, 0x5f, 0x54, 0x49, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x4c, - 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x41, 0x55, 0x53, 0x45, - 0x5f, 0x53, 0x54, 0x52, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x45, - 0x59, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x43, 0x53, 0x5f, - 0x46, 0x4f, 0x52, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x43, - 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4e, 0x4f, 0x4b, 0x45, 0x59, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x10, 0x05, 0x2a, 0x68, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, - 0x57, 0x41, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, - 0x61, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x6f, - 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, - 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x2a, - 0x8e, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x54, - 0x75, 0x70, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, - 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, - 0x54, 0x75, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x04, - 0x2a, 0x7d, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, - 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x00, 0x12, - 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, - 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, - 0x16, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, - 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, - 0xb8, 0x39, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x55, 0x4c, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x33, 0x36, 0x10, 0x24, - 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x33, 0x37, 0x10, 0x25, 0x12, 0x0c, - 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x30, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x31, 0x10, 0x29, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, - 0x43, 0x49, 0x49, 0x5f, 0x34, 0x32, 0x10, 0x2a, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, - 0x49, 0x5f, 0x34, 0x33, 0x10, 0x2b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, - 0x34, 0x34, 0x10, 0x2c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x35, - 0x10, 0x2d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x36, 0x10, 0x2e, - 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x37, 0x10, 0x2f, 0x12, 0x0c, - 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x38, 0x10, 0x3a, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x39, 0x10, 0x3b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, - 0x43, 0x49, 0x49, 0x5f, 0x36, 0x30, 0x10, 0x3c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, - 0x49, 0x5f, 0x36, 0x31, 0x10, 0x3d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, - 0x36, 0x32, 0x10, 0x3e, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x33, - 0x10, 0x3f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x31, 0x10, 0x5b, - 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x32, 0x10, 0x5c, 0x12, 0x0c, - 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x33, 0x10, 0x5d, 0x12, 0x0c, 0x0a, 0x08, - 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x34, 0x10, 0x5e, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x44, - 0x45, 0x4e, 0x54, 0x10, 0x82, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x44, 0x45, 0x4e, 0x54, - 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x84, 0x02, - 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x85, 0x02, 0x12, 0x0c, 0x0a, - 0x07, 0x55, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x86, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, - 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x87, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x58, 0x43, 0x4f, 0x4e, - 0x53, 0x54, 0x10, 0x88, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x70, 0x10, 0x89, 0x02, 0x12, 0x0b, - 0x0a, 0x06, 0x49, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x8a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x50, - 0x41, 0x52, 0x41, 0x4d, 0x10, 0x8b, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x43, - 0x41, 0x53, 0x54, 0x10, 0x8c, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x4f, 0x54, 0x5f, 0x44, 0x4f, - 0x54, 0x10, 0x8d, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4c, 0x4f, 0x4e, 0x5f, 0x45, 0x51, - 0x55, 0x41, 0x4c, 0x53, 0x10, 0x8e, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x51, 0x55, 0x41, 0x4c, - 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10, 0x8f, 0x02, 0x12, 0x10, 0x0a, 0x0b, - 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x90, 0x02, 0x12, 0x13, - 0x0a, 0x0e, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, - 0x10, 0x91, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, - 0x53, 0x10, 0x92, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x51, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x93, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x94, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x5f, - 0x50, 0x10, 0x95, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x96, - 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, - 0x97, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x98, 0x02, 0x12, - 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x99, 0x02, 0x12, 0x0a, 0x0a, 0x05, - 0x41, 0x44, 0x44, 0x5f, 0x50, 0x10, 0x9a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x10, 0x9b, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x9c, 0x02, - 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x9d, 0x02, - 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x9e, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x41, 0x4c, - 0x53, 0x4f, 0x10, 0x9f, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa0, - 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0xa1, 0x02, 0x12, 0x0c, - 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x45, 0x10, 0xa2, 0x02, 0x12, 0x0c, 0x0a, 0x07, - 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x5a, 0x45, 0x10, 0xa3, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4e, - 0x44, 0x10, 0xa4, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0xa5, 0x02, 0x12, 0x0a, - 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0xa6, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x53, - 0x10, 0xa7, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0xa8, 0x02, 0x12, 0x0f, 0x0a, - 0x0a, 0x41, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0xa9, 0x02, 0x12, 0x0e, - 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xaa, 0x02, 0x12, 0x0f, - 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xab, 0x02, 0x12, - 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0xac, 0x02, - 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x4f, 0x4d, 0x49, 0x43, 0x10, 0xad, 0x02, 0x12, 0x07, 0x0a, - 0x02, 0x41, 0x54, 0x10, 0xae, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, - 0x10, 0xaf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, - 0x10, 0xb0, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb1, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x41, 0x43, 0x4b, 0x57, - 0x41, 0x52, 0x44, 0x10, 0xb2, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, - 0x10, 0xb3, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xb4, - 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0xb5, 0x02, 0x12, - 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x47, 0x49, 0x4e, 0x54, 0x10, 0xb6, 0x02, 0x12, 0x0b, 0x0a, 0x06, - 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0xb7, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x42, 0x49, 0x54, - 0x10, 0xb8, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x50, - 0x10, 0xb9, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0xba, 0x02, 0x12, 0x0c, - 0x0a, 0x07, 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, 0x10, 0xbb, 0x02, 0x12, 0x07, 0x0a, 0x02, - 0x42, 0x59, 0x10, 0xbc, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0xbd, - 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0xbe, 0x02, 0x12, 0x0b, 0x0a, 0x06, - 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xbf, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x41, 0x53, - 0x43, 0x41, 0x44, 0x45, 0x10, 0xc0, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x41, 0x53, 0x43, 0x41, - 0x44, 0x45, 0x44, 0x10, 0xc1, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x45, 0x10, 0xc2, - 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x54, 0x10, 0xc3, 0x02, 0x12, 0x0e, 0x0a, 0x09, - 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x10, 0xc4, 0x02, 0x12, 0x0a, 0x0a, 0x05, - 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0xc5, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x52, - 0x5f, 0x50, 0x10, 0xc6, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, - 0x45, 0x52, 0x10, 0xc7, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, - 0x45, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, 0xc8, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x10, 0xc9, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x48, 0x45, 0x43, 0x4b, - 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xca, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x4c, 0x41, 0x53, - 0x53, 0x10, 0xcb, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xcc, 0x02, - 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, 0xcd, 0x02, 0x12, 0x0d, - 0x0a, 0x08, 0x43, 0x4f, 0x41, 0x4c, 0x45, 0x53, 0x43, 0x45, 0x10, 0xce, 0x02, 0x12, 0x0c, 0x0a, - 0x07, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x45, 0x10, 0xcf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, - 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd0, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, - 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0xd1, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x55, - 0x4d, 0x4e, 0x53, 0x10, 0xd2, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, - 0x54, 0x10, 0xd3, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, - 0x10, 0xd4, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0xd5, 0x02, - 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0xd6, 0x02, - 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, - 0xd7, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, - 0x4c, 0x59, 0x10, 0xd8, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd9, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x4e, - 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0xda, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdb, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, - 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x10, 0xdc, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, - 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x10, 0xdd, 0x02, 0x12, 0x0e, 0x0a, 0x09, - 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xde, 0x02, 0x12, 0x0f, 0x0a, 0x0a, - 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xdf, 0x02, 0x12, 0x11, 0x0a, - 0x0c, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xe0, 0x02, - 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, 0x50, 0x59, 0x10, 0xe1, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, - 0x4f, 0x53, 0x54, 0x10, 0xe2, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, - 0x10, 0xe3, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0xe4, 0x02, 0x12, - 0x08, 0x0a, 0x03, 0x43, 0x53, 0x56, 0x10, 0xe5, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x55, 0x42, - 0x45, 0x10, 0xe6, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x50, 0x10, 0xe7, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0xe8, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, - 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0xe9, 0x02, 0x12, 0x11, 0x0a, - 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0xea, 0x02, - 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, - 0x4d, 0x41, 0x10, 0xeb, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, - 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xec, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x55, 0x52, 0x52, - 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xed, 0x02, - 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, - 0x10, 0xee, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x55, 0x52, 0x53, 0x4f, 0x52, 0x10, 0xef, 0x02, - 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x10, 0xf0, 0x02, 0x12, 0x0b, 0x0a, 0x06, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x10, 0xf1, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x41, 0x54, - 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0xf2, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x41, 0x59, 0x5f, - 0x50, 0x10, 0xf3, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, - 0x54, 0x45, 0x10, 0xf4, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x44, 0x45, 0x43, 0x10, 0xf5, 0x02, 0x12, - 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf6, 0x02, 0x12, - 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x10, 0xf7, 0x02, 0x12, 0x0c, 0x0a, - 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xf8, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0xf9, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, - 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xfa, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, - 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0xfb, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x52, 0x10, 0xfc, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, - 0x54, 0x45, 0x5f, 0x50, 0x10, 0xfd, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x45, 0x52, 0x10, 0xfe, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x45, 0x52, 0x53, 0x10, 0xff, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x50, 0x45, - 0x4e, 0x44, 0x53, 0x10, 0x80, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x45, 0x50, 0x54, 0x48, 0x10, - 0x81, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x82, 0x03, 0x12, 0x0b, 0x0a, - 0x06, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, 0x10, 0x83, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x49, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x84, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x44, - 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x85, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x44, - 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x86, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x49, 0x53, - 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x87, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x44, 0x4f, 0x10, 0x88, - 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, - 0x89, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0x8a, - 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x8b, 0x03, - 0x12, 0x09, 0x0a, 0x04, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x8c, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x45, - 0x41, 0x43, 0x48, 0x10, 0x8d, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x45, 0x4c, 0x53, 0x45, 0x10, 0x8e, - 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x8f, 0x03, - 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x90, 0x03, 0x12, - 0x0e, 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x91, 0x03, 0x12, - 0x0a, 0x0a, 0x05, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x10, 0x92, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, - 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x10, 0x93, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x53, 0x43, 0x41, - 0x50, 0x45, 0x10, 0x94, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x10, 0x95, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x96, 0x03, 0x12, 0x0c, - 0x0a, 0x07, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x97, 0x03, 0x12, 0x0e, 0x0a, 0x09, - 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x98, 0x03, 0x12, 0x0e, 0x0a, 0x09, - 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x10, 0x99, 0x03, 0x12, 0x0c, 0x0a, 0x07, - 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x10, 0x9a, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, - 0x49, 0x53, 0x54, 0x53, 0x10, 0x9b, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x10, 0x9c, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x10, 0x9d, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, - 0x49, 0x4f, 0x4e, 0x10, 0x9e, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, - 0x41, 0x4c, 0x10, 0x9f, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x54, 0x52, 0x41, 0x43, 0x54, - 0x10, 0xa0, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x5f, 0x50, 0x10, 0xa1, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0xa2, 0x03, 0x12, 0x0a, - 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0xa3, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x49, - 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa4, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x49, 0x4e, 0x41, 0x4c, - 0x49, 0x5a, 0x45, 0x10, 0xa5, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, - 0x50, 0x10, 0xa6, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x5f, 0x50, 0x10, - 0xa7, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, - 0xa8, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x46, 0x4f, 0x52, 0x10, 0xa9, 0x03, 0x12, 0x0a, 0x0a, 0x05, - 0x46, 0x4f, 0x52, 0x43, 0x45, 0x10, 0xaa, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x45, - 0x49, 0x47, 0x4e, 0x10, 0xab, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x10, 0xac, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0xad, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, 0x10, 0xae, 0x03, 0x12, 0x09, - 0x0a, 0x04, 0x46, 0x52, 0x4f, 0x4d, 0x10, 0xaf, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x46, 0x55, 0x4c, - 0x4c, 0x10, 0xb0, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0xb1, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, - 0x10, 0xb2, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, - 0x10, 0xb3, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xb4, 0x03, - 0x12, 0x0a, 0x0a, 0x05, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0xb5, 0x03, 0x12, 0x0c, 0x0a, 0x07, - 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0xb6, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x47, 0x52, - 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xb7, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x47, 0x52, 0x4f, - 0x55, 0x50, 0x5f, 0x50, 0x10, 0xb8, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x49, 0x4e, 0x47, 0x10, 0xb9, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, - 0x10, 0xba, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x52, 0x10, 0xbb, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x41, 0x56, 0x49, 0x4e, 0x47, 0x10, 0xbc, 0x03, 0x12, 0x0d, - 0x0a, 0x08, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xbd, 0x03, 0x12, 0x09, 0x0a, - 0x04, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0xbe, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, - 0x5f, 0x50, 0x10, 0xbf, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, - 0x59, 0x5f, 0x50, 0x10, 0xc0, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x46, 0x5f, 0x50, 0x10, 0xc1, - 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0xc2, 0x03, 0x12, 0x0e, 0x0a, - 0x09, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0xc3, 0x03, 0x12, 0x0e, 0x0a, - 0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xc4, 0x03, 0x12, 0x0f, 0x0a, - 0x0a, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x50, 0x10, 0xc5, 0x03, 0x12, 0x0d, - 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x10, 0xc6, 0x03, 0x12, 0x09, 0x0a, - 0x04, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xc7, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, - 0x55, 0x44, 0x45, 0x10, 0xc8, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, - 0x49, 0x4e, 0x47, 0x10, 0xc9, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0xca, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4e, 0x44, 0x45, 0x4e, 0x54, - 0x10, 0xcb, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0xcc, 0x03, 0x12, - 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, 0x10, 0xcd, 0x03, 0x12, 0x0c, 0x0a, - 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xce, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, - 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x53, 0x10, 0xcf, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, - 0x49, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0xd0, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, - 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xd1, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x4e, - 0x45, 0x52, 0x5f, 0x50, 0x10, 0xd2, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x4f, 0x55, 0x54, - 0x10, 0xd3, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x50, 0x10, 0xd4, - 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x49, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, - 0x10, 0xd5, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0xd6, 0x03, - 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x10, 0xd7, 0x03, 0x12, 0x0a, - 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xd8, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, - 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0xd9, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0xda, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x56, 0x41, 0x4c, 0x10, 0xdb, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x4f, 0x10, - 0xdc, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x52, 0x10, 0xdd, 0x03, - 0x12, 0x07, 0x0a, 0x02, 0x49, 0x53, 0x10, 0xde, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x4e, - 0x55, 0x4c, 0x4c, 0x10, 0xdf, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0xe0, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0xe1, - 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0xe2, 0x03, 0x12, 0x0f, 0x0a, 0x0a, - 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0xe3, 0x03, 0x12, 0x12, 0x0a, - 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x41, 0x47, 0x47, 0x10, 0xe4, - 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x10, 0xe5, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, - 0x43, 0x54, 0x41, 0x47, 0x47, 0x10, 0xe6, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x4b, 0x45, 0x59, 0x10, - 0xe7, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4b, 0x45, 0x59, 0x53, 0x10, 0xe8, 0x03, 0x12, 0x0a, 0x0a, - 0x05, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0xe9, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x41, 0x4e, - 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0xea, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x41, 0x52, 0x47, - 0x45, 0x5f, 0x50, 0x10, 0xeb, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x50, - 0x10, 0xec, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, - 0x10, 0xed, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x45, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xee, - 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x45, 0x41, 0x4b, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0xef, - 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0xf0, 0x03, 0x12, 0x09, 0x0a, - 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xf1, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x45, 0x56, 0x45, - 0x4c, 0x10, 0xf2, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0xf3, 0x03, 0x12, - 0x0a, 0x0a, 0x05, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf4, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, - 0x49, 0x53, 0x54, 0x45, 0x4e, 0x10, 0xf5, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x4f, 0x41, 0x44, - 0x10, 0xf6, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0xf7, 0x03, 0x12, - 0x0e, 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xf8, 0x03, 0x12, - 0x13, 0x0a, 0x0e, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, - 0x50, 0x10, 0xf9, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0xfa, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x10, 0xfb, 0x03, - 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xfc, 0x03, 0x12, 0x0b, 0x0a, - 0x06, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, 0x10, 0xfd, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, - 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xfe, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, - 0x48, 0x10, 0xff, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, - 0x80, 0x04, 0x12, 0x11, 0x0a, 0x0c, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, - 0x45, 0x44, 0x10, 0x81, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x56, 0x41, 0x4c, 0x55, - 0x45, 0x10, 0x82, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x83, 0x04, - 0x12, 0x0b, 0x0a, 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x84, 0x04, 0x12, 0x0d, 0x0a, - 0x08, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, 0x85, 0x04, 0x12, 0x0d, 0x0a, 0x08, - 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x86, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, - 0x4f, 0x44, 0x45, 0x10, 0x87, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, - 0x50, 0x10, 0x88, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x89, 0x04, 0x12, - 0x0b, 0x0a, 0x06, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x10, 0x8a, 0x04, 0x12, 0x0a, 0x0a, 0x05, - 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x8b, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x8c, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x41, 0x54, 0x55, 0x52, - 0x41, 0x4c, 0x10, 0x8d, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, 0x43, 0x48, 0x41, 0x52, 0x10, 0x8e, - 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x45, 0x57, 0x10, 0x8f, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, - 0x45, 0x58, 0x54, 0x10, 0x90, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x46, 0x43, 0x10, 0x91, 0x04, - 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x46, 0x44, 0x10, 0x92, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, - 0x4b, 0x43, 0x10, 0x93, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x44, 0x10, 0x94, 0x04, - 0x12, 0x07, 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0x95, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, - 0x45, 0x10, 0x96, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, - 0x45, 0x10, 0x97, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, - 0x45, 0x44, 0x10, 0x98, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x4f, 0x54, 0x10, 0x99, 0x04, 0x12, - 0x0c, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x9a, 0x04, 0x12, 0x0b, 0x0a, - 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x9b, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x4f, - 0x54, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x9c, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x57, 0x41, - 0x49, 0x54, 0x10, 0x9d, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x50, 0x10, - 0x9e, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0x9f, 0x04, 0x12, - 0x0c, 0x0a, 0x07, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x50, 0x10, 0xa0, 0x04, 0x12, 0x0c, 0x0a, - 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0xa1, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x10, 0xa2, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x46, - 0x10, 0xa3, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xa4, 0x04, 0x12, 0x0b, 0x0a, - 0x06, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0xa5, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x49, - 0x44, 0x53, 0x10, 0xa6, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x4c, 0x44, 0x10, 0xa7, 0x04, 0x12, - 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xa8, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x4e, 0x4c, 0x59, - 0x10, 0xa9, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, - 0xaa, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xab, 0x04, 0x12, - 0x0c, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xac, 0x04, 0x12, 0x07, 0x0a, - 0x02, 0x4f, 0x52, 0x10, 0xad, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, - 0xae, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x54, 0x59, - 0x10, 0xaf, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x53, 0x10, 0xb0, 0x04, - 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x10, 0xb1, 0x04, 0x12, 0x0c, 0x0a, 0x07, - 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xb2, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x56, - 0x45, 0x52, 0x10, 0xb3, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x50, - 0x53, 0x10, 0xb4, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x10, - 0xb5, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0xb6, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x44, 0x10, 0xb7, 0x04, 0x12, - 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0xb8, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, - 0x41, 0x52, 0x41, 0x4c, 0x4c, 0x45, 0x4c, 0x10, 0xb9, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0xba, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x41, - 0x52, 0x53, 0x45, 0x52, 0x10, 0xbb, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, - 0x41, 0x4c, 0x10, 0xbc, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0xbd, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x47, - 0x10, 0xbe, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, - 0xbf, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0x04, - 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0xc1, 0x04, 0x12, 0x0b, 0x0a, 0x06, - 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xc2, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x4f, 0x53, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc3, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, - 0x45, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xc4, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, - 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xc5, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x10, 0xc6, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, - 0x52, 0x45, 0x10, 0xc7, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, - 0x44, 0x10, 0xc8, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, - 0xc9, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x10, 0xca, 0x04, 0x12, 0x0f, - 0x0a, 0x0a, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x10, 0xcb, 0x04, 0x12, - 0x0f, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x10, 0xcc, 0x04, - 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x10, 0xcd, 0x04, - 0x12, 0x0f, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x53, 0x10, 0xce, - 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0xcf, 0x04, 0x12, - 0x10, 0x0a, 0x0b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd0, - 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0xd1, 0x04, 0x12, 0x0a, 0x0a, - 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xd2, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, - 0x44, 0x10, 0xd3, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x4c, 0x10, 0xd4, 0x04, 0x12, - 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0xd5, 0x04, 0x12, 0x0c, - 0x0a, 0x07, 0x52, 0x45, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0xd6, 0x04, 0x12, 0x0e, 0x0a, 0x09, - 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0xd7, 0x04, 0x12, 0x0a, 0x0a, 0x05, - 0x52, 0x45, 0x46, 0x5f, 0x50, 0x10, 0xd8, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x45, - 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xd9, 0x04, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x45, 0x46, - 0x45, 0x52, 0x45, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0xda, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, - 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0xdb, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x49, - 0x4e, 0x44, 0x45, 0x58, 0x10, 0xdc, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x50, 0x10, 0xdd, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, - 0x41, 0x53, 0x45, 0x10, 0xde, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0xdf, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0xe0, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, - 0xe1, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0xe2, 0x04, - 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0xe3, 0x04, 0x12, 0x0c, 0x0a, 0x07, - 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xe4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, - 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0xe5, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x54, - 0x55, 0x52, 0x4e, 0x10, 0xe6, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xe7, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, - 0x53, 0x10, 0xe8, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0xe9, - 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0xea, 0x04, 0x12, 0x09, 0x0a, - 0x04, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0xeb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, - 0x42, 0x41, 0x43, 0x4b, 0x10, 0xec, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x4f, 0x4c, 0x4c, 0x55, - 0x50, 0x10, 0xed, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, - 0xee, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x53, 0x10, 0xef, - 0x04, 0x12, 0x08, 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0xf0, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, - 0x4f, 0x57, 0x53, 0x10, 0xf1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x55, 0x4c, 0x45, 0x10, 0xf2, - 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xf3, - 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0xf4, 0x04, 0x12, 0x0b, - 0x0a, 0x06, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0xf5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x53, - 0x43, 0x48, 0x45, 0x4d, 0x41, 0x53, 0x10, 0xf6, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x52, - 0x4f, 0x4c, 0x4c, 0x10, 0xf7, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, - 0x10, 0xf8, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x50, 0x10, - 0xf9, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0xfa, - 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0xfb, 0x04, 0x12, 0x0d, - 0x0a, 0x08, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0xfc, 0x04, 0x12, 0x0e, 0x0a, - 0x09, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xfd, 0x04, 0x12, 0x11, 0x0a, - 0x0c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xfe, 0x04, - 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0xff, 0x04, 0x12, 0x0c, 0x0a, - 0x07, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, - 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x81, 0x05, 0x12, 0x08, - 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x82, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x45, 0x54, 0x53, - 0x10, 0x83, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x45, 0x54, 0x4f, 0x46, 0x10, 0x84, 0x05, 0x12, - 0x0a, 0x0a, 0x05, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x85, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, - 0x48, 0x4f, 0x57, 0x10, 0x86, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, - 0x52, 0x10, 0x87, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x88, - 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x89, 0x05, 0x12, 0x0d, 0x0a, 0x08, - 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x49, 0x4e, 0x54, 0x10, 0x8a, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, - 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x8b, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4f, - 0x4d, 0x45, 0x10, 0x8c, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x51, 0x4c, 0x5f, 0x50, 0x10, 0x8d, - 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x8e, 0x05, 0x12, 0x11, - 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0x8f, - 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x90, 0x05, 0x12, 0x0e, 0x0a, - 0x09, 0x53, 0x54, 0x41, 0x54, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x91, 0x05, 0x12, 0x0f, 0x0a, - 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, 0x92, 0x05, 0x12, 0x0a, - 0x0a, 0x05, 0x53, 0x54, 0x44, 0x49, 0x4e, 0x10, 0x93, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, - 0x44, 0x4f, 0x55, 0x54, 0x10, 0x94, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x10, 0x95, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, - 0x96, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x50, 0x10, 0x97, - 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x52, 0x49, 0x50, 0x5f, 0x50, 0x10, 0x98, 0x05, 0x12, - 0x11, 0x0a, 0x0c, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x99, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x55, 0x42, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, - 0x9a, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x9b, 0x05, - 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x9c, 0x05, - 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x59, 0x53, 0x49, 0x44, 0x10, 0x9d, 0x05, 0x12, 0x0d, 0x0a, 0x08, - 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x10, 0x9e, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x53, - 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x9f, 0x05, 0x12, 0x0a, 0x0a, - 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa0, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x53, 0x10, 0xa1, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, - 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0xa2, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, - 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0xa3, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x45, 0x4d, - 0x50, 0x10, 0xa4, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, - 0x10, 0xa5, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, - 0x10, 0xa6, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x50, 0x10, 0xa7, 0x05, - 0x12, 0x09, 0x0a, 0x04, 0x54, 0x48, 0x45, 0x4e, 0x10, 0xa8, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, - 0x49, 0x45, 0x53, 0x10, 0xa9, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xaa, - 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xab, - 0x05, 0x12, 0x07, 0x0a, 0x02, 0x54, 0x4f, 0x10, 0xac, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x52, - 0x41, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0xad, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xae, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0xaf, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x54, - 0x52, 0x45, 0x41, 0x54, 0x10, 0xb0, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x52, 0x49, 0x47, 0x47, - 0x45, 0x52, 0x10, 0xb1, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x52, 0x49, 0x4d, 0x10, 0xb2, 0x05, - 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x52, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xb3, 0x05, 0x12, 0x0d, 0x0a, - 0x08, 0x54, 0x52, 0x55, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x10, 0xb4, 0x05, 0x12, 0x0c, 0x0a, 0x07, - 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0xb5, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x50, 0x10, 0xb6, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x59, 0x50, 0x45, 0x53, - 0x5f, 0x50, 0x10, 0xb7, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, - 0x10, 0xb8, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x55, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x45, 0x44, - 0x10, 0xb9, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, - 0x45, 0x44, 0x10, 0xba, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x52, 0x59, - 0x50, 0x54, 0x45, 0x44, 0x10, 0xbb, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x4f, 0x4e, - 0x10, 0xbc, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x10, 0xbd, 0x05, - 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xbe, 0x05, 0x12, 0x0d, - 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x10, 0xbf, 0x05, 0x12, 0x0d, 0x0a, - 0x08, 0x55, 0x4e, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, 0x10, 0xc0, 0x05, 0x12, 0x0a, 0x0a, 0x05, - 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x10, 0xc1, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x10, 0xc2, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0xc3, 0x05, - 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0xc4, 0x05, 0x12, 0x0b, 0x0a, 0x06, - 0x56, 0x41, 0x43, 0x55, 0x55, 0x4d, 0x10, 0xc5, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0xc6, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, - 0x45, 0x10, 0xc7, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, - 0x52, 0x10, 0xc8, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x50, 0x10, - 0xc9, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0xca, 0x05, 0x12, - 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, 0x52, 0x10, 0xcb, 0x05, 0x12, 0x0d, 0x0a, - 0x08, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, 0x43, 0x10, 0xcc, 0x05, 0x12, 0x0c, 0x0a, 0x07, - 0x56, 0x41, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x45, - 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0xce, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xcf, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x56, 0x49, 0x45, 0x57, - 0x10, 0xd0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x49, 0x45, 0x57, 0x53, 0x10, 0xd1, 0x05, 0x12, - 0x0d, 0x0a, 0x08, 0x56, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4c, 0x45, 0x10, 0xd2, 0x05, 0x12, 0x09, - 0x0a, 0x04, 0x57, 0x48, 0x45, 0x4e, 0x10, 0xd3, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x57, 0x48, 0x45, - 0x52, 0x45, 0x10, 0xd4, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, - 0x41, 0x43, 0x45, 0x5f, 0x50, 0x10, 0xd5, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x4e, 0x44, - 0x4f, 0x57, 0x10, 0xd6, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x49, 0x54, 0x48, 0x10, 0xd7, 0x05, - 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x10, 0xd8, 0x05, 0x12, 0x0c, 0x0a, - 0x07, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x10, 0xd9, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, - 0x4f, 0x52, 0x4b, 0x10, 0xda, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x52, 0x41, 0x50, 0x50, 0x45, - 0x52, 0x10, 0xdb, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xdc, 0x05, - 0x12, 0x0a, 0x0a, 0x05, 0x58, 0x4d, 0x4c, 0x5f, 0x50, 0x10, 0xdd, 0x05, 0x12, 0x12, 0x0a, 0x0d, - 0x58, 0x4d, 0x4c, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0xde, 0x05, - 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0xdf, 0x05, - 0x12, 0x0f, 0x0a, 0x0a, 0x58, 0x4d, 0x4c, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xe0, - 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xe1, - 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x46, 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0xe2, - 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, - 0x45, 0x53, 0x10, 0xe3, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, - 0x45, 0x10, 0xe4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, 0x4d, 0x4c, 0x50, 0x49, 0x10, 0xe5, 0x05, - 0x12, 0x0c, 0x0a, 0x07, 0x58, 0x4d, 0x4c, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0xe6, 0x05, 0x12, 0x11, - 0x0a, 0x0c, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xe7, - 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x58, 0x4d, 0x4c, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xe8, 0x05, - 0x12, 0x0b, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x5f, 0x50, 0x10, 0xe9, 0x05, 0x12, 0x0a, 0x0a, - 0x05, 0x59, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xea, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x5a, 0x4f, 0x4e, - 0x45, 0x10, 0xeb, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4c, - 0x41, 0x10, 0xec, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0xed, - 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x10, 0xee, 0x05, - 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4c, 0x41, 0x10, 0xef, 0x05, 0x12, 0x0f, - 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0xf0, 0x05, 0x12, - 0x13, 0x0a, 0x0e, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x10, 0xf1, 0x05, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, - 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0xf2, 0x05, 0x12, 0x19, 0x0a, 0x14, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, - 0x49, 0x47, 0x4e, 0x31, 0x10, 0xf3, 0x05, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x32, 0x10, - 0xf4, 0x05, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, - 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x33, 0x10, 0xf5, 0x05, 0x12, 0x0b, 0x0a, - 0x06, 0x55, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, 0xf6, 0x05, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x10, 0x06, 0x2a, 0x94, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x4d, + 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x57, + 0x48, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, + 0x20, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x57, 0x48, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x57, 0x48, 0x45, + 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x59, + 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x03, 0x2a, 0xa3, 0x01, 0x0a, 0x07, 0x43, 0x6d, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4d, 0x44, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0e, + 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0e, + 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x04, 0x12, 0x0e, + 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0d, + 0x0a, 0x09, 0x43, 0x4d, 0x44, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0f, 0x0a, + 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, + 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x2a, + 0xc2, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, + 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x49, 0x4e, + 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x45, + 0x46, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x55, 0x4c, + 0x4c, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, + 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4d, 0x49, + 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, + 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, + 0x41, 0x4e, 0x54, 0x49, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, + 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, 0x0a, + 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x4e, + 0x45, 0x52, 0x10, 0x09, 0x2a, 0x67, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, + 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, + 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, + 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, + 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x72, 0x0a, + 0x08, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x47, 0x47, + 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x53, + 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, + 0x4c, 0x49, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x49, + 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, + 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, + 0x03, 0x2a, 0x86, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x43, 0x6d, 0x64, 0x12, 0x18, + 0x0a, 0x14, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x4f, + 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0x01, + 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, + 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, + 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, 0x58, + 0x43, 0x45, 0x50, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x2a, 0x52, 0x0a, 0x0d, 0x53, 0x65, + 0x74, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x53, + 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, + 0x54, 0x4f, 0x50, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x78, + 0x0a, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, + 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x4e, 0x43, + 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0b, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, + 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, + 0x12, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, + 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x54, 0x49, 0x45, 0x53, 0x10, + 0x03, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x43, 0x4c, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x4e, 0x47, 0x54, 0x48, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x4c, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x43, + 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x45, 0x59, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, + 0x10, 0x0a, 0x0c, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, + 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4e, 0x4f, 0x4b, 0x45, + 0x59, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x43, 0x53, + 0x5f, 0x46, 0x4f, 0x52, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x05, 0x2a, 0x68, 0x0a, 0x0e, + 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1e, + 0x0a, 0x1a, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, + 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, + 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, + 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x53, 0x6b, 0x69, + 0x70, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x2a, 0x8e, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x54, + 0x75, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x4f, 0x43, 0x4b, + 0x5f, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x6b, 0x54, + 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x10, 0x01, 0x12, 0x12, + 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, + 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4e, + 0x6f, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x03, 0x12, + 0x16, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x04, 0x2a, 0x7d, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x77, 0x6f, + 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x4b, 0x45, 0x59, + 0x57, 0x4f, 0x52, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x52, 0x45, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x14, + 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, + 0x52, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, + 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, + 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, + 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, 0xe8, 0x3b, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x55, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, + 0x49, 0x49, 0x5f, 0x33, 0x36, 0x10, 0x24, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, + 0x5f, 0x33, 0x37, 0x10, 0x25, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, + 0x30, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x31, 0x10, + 0x29, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x32, 0x10, 0x2a, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x33, 0x10, 0x2b, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x34, 0x10, 0x2c, 0x12, 0x0c, 0x0a, 0x08, 0x41, + 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x35, 0x10, 0x2d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, + 0x49, 0x49, 0x5f, 0x34, 0x36, 0x10, 0x2e, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, + 0x5f, 0x34, 0x37, 0x10, 0x2f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, + 0x38, 0x10, 0x3a, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x39, 0x10, + 0x3b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x30, 0x10, 0x3c, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x31, 0x10, 0x3d, 0x12, 0x0c, 0x0a, + 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x32, 0x10, 0x3e, 0x12, 0x0c, 0x0a, 0x08, 0x41, + 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x33, 0x10, 0x3f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, + 0x49, 0x49, 0x5f, 0x39, 0x31, 0x10, 0x5b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, + 0x5f, 0x39, 0x32, 0x10, 0x5c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, + 0x33, 0x10, 0x5d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x34, 0x10, + 0x5e, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x82, 0x02, 0x12, 0x0b, 0x0a, + 0x06, 0x55, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x43, + 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x84, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x4f, 0x4e, 0x53, + 0x54, 0x10, 0x85, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, + 0x86, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x87, 0x02, 0x12, + 0x0b, 0x0a, 0x06, 0x58, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x88, 0x02, 0x12, 0x07, 0x0a, 0x02, + 0x4f, 0x70, 0x10, 0x89, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, + 0x8a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0x8b, 0x02, 0x12, 0x0d, + 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x43, 0x41, 0x53, 0x54, 0x10, 0x8c, 0x02, 0x12, 0x0c, 0x0a, + 0x07, 0x44, 0x4f, 0x54, 0x5f, 0x44, 0x4f, 0x54, 0x10, 0x8d, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, + 0x4f, 0x4c, 0x4f, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x8e, 0x02, 0x12, 0x13, + 0x0a, 0x0e, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, + 0x10, 0x8f, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x41, + 0x4c, 0x53, 0x10, 0x90, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, + 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x91, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, + 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x92, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x53, + 0x51, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x93, 0x02, 0x12, 0x0e, 0x0a, + 0x09, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x94, 0x02, 0x12, 0x0c, 0x0a, + 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x10, 0x95, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, + 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x96, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x42, 0x53, 0x4f, + 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, 0x97, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x98, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x99, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x10, 0x9a, 0x02, 0x12, + 0x0a, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x9b, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, + 0x46, 0x54, 0x45, 0x52, 0x10, 0x9c, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x52, 0x45, + 0x47, 0x41, 0x54, 0x45, 0x10, 0x9d, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x9e, + 0x02, 0x12, 0x09, 0x0a, 0x04, 0x41, 0x4c, 0x53, 0x4f, 0x10, 0x9f, 0x02, 0x12, 0x0a, 0x0a, 0x05, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa0, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, + 0x59, 0x53, 0x10, 0xa1, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x45, + 0x10, 0xa2, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x5a, 0x45, 0x10, 0xa3, + 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0xa4, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, + 0x4e, 0x59, 0x10, 0xa5, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0xa6, + 0x02, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x53, 0x10, 0xa7, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x53, + 0x43, 0x10, 0xa8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, + 0x56, 0x45, 0x10, 0xa9, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0xaa, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, + 0x45, 0x4e, 0x54, 0x10, 0xab, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, + 0x54, 0x52, 0x49, 0x43, 0x10, 0xac, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x4f, 0x4d, 0x49, + 0x43, 0x10, 0xad, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x54, 0x10, 0xae, 0x02, 0x12, 0x0b, 0x0a, + 0x06, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x10, 0xaf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x54, + 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0xb0, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x41, 0x55, + 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb1, 0x02, 0x12, 0x0d, + 0x0a, 0x08, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0xb2, 0x02, 0x12, 0x0b, 0x0a, + 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0xb3, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, + 0x47, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xb4, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x54, 0x57, + 0x45, 0x45, 0x4e, 0x10, 0xb5, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x47, 0x49, 0x4e, 0x54, + 0x10, 0xb6, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0xb7, 0x02, + 0x12, 0x08, 0x0a, 0x03, 0x42, 0x49, 0x54, 0x10, 0xb8, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x42, 0x4f, + 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x50, 0x10, 0xb9, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x42, 0x4f, + 0x54, 0x48, 0x10, 0xba, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, + 0x10, 0xbb, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x42, 0x59, 0x10, 0xbc, 0x02, 0x12, 0x0a, 0x0a, 0x05, + 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0xbd, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x4c, 0x4c, + 0x10, 0xbe, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xbf, 0x02, + 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0xc0, 0x02, 0x12, 0x0d, + 0x0a, 0x08, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x44, 0x10, 0xc1, 0x02, 0x12, 0x09, 0x0a, + 0x04, 0x43, 0x41, 0x53, 0x45, 0x10, 0xc2, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x54, + 0x10, 0xc3, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x50, + 0x10, 0xc4, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0xc5, 0x02, 0x12, + 0x0b, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x52, 0x5f, 0x50, 0x10, 0xc6, 0x02, 0x12, 0x0e, 0x0a, 0x09, + 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x10, 0xc7, 0x02, 0x12, 0x14, 0x0a, 0x0f, + 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, + 0xc8, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0xc9, 0x02, 0x12, 0x0f, + 0x0a, 0x0a, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xca, 0x02, 0x12, + 0x0a, 0x0a, 0x05, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0xcb, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, + 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xcc, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, + 0x45, 0x52, 0x10, 0xcd, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x41, 0x4c, 0x45, 0x53, 0x43, + 0x45, 0x10, 0xce, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x45, 0x10, + 0xcf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0xd0, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0xd1, 0x02, 0x12, + 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0xd2, 0x02, 0x12, 0x0c, 0x0a, + 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xd3, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, + 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xd4, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x4f, + 0x4d, 0x4d, 0x49, 0x54, 0x10, 0xd5, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x44, 0x10, 0xd6, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x50, 0x52, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xd7, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, + 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xd8, 0x02, 0x12, 0x10, 0x0a, 0x0b, + 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xd9, 0x02, 0x12, 0x12, + 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0xda, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0xdb, + 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0xdc, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, + 0x10, 0xdd, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, + 0x54, 0x53, 0x10, 0xde, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, + 0x5f, 0x50, 0x10, 0xdf, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, + 0x45, 0x5f, 0x50, 0x10, 0xe0, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xe1, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, 0x50, + 0x59, 0x10, 0xe2, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, 0x53, 0x54, 0x10, 0xe3, 0x02, 0x12, + 0x0b, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xe4, 0x02, 0x12, 0x0a, 0x0a, 0x05, + 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0xe5, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x43, 0x53, 0x56, 0x10, + 0xe6, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x55, 0x42, 0x45, 0x10, 0xe7, 0x02, 0x12, 0x0e, 0x0a, + 0x09, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xe8, 0x02, 0x12, 0x14, 0x0a, + 0x0f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, + 0x10, 0xe9, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, + 0x41, 0x54, 0x45, 0x10, 0xea, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, + 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0xeb, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0xec, 0x02, 0x12, 0x11, + 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xed, + 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xee, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0xef, 0x02, 0x12, 0x0b, 0x0a, 0x06, + 0x43, 0x55, 0x52, 0x53, 0x4f, 0x52, 0x10, 0xf0, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x59, 0x43, + 0x4c, 0x45, 0x10, 0xf1, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x10, + 0xf2, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0xf3, + 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x41, 0x59, 0x5f, 0x50, 0x10, 0xf4, 0x02, 0x12, 0x0f, 0x0a, + 0x0a, 0x44, 0x45, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x10, 0xf5, 0x02, 0x12, 0x08, + 0x0a, 0x03, 0x44, 0x45, 0x43, 0x10, 0xf6, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x49, + 0x4d, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf7, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x4c, + 0x41, 0x52, 0x45, 0x10, 0xf8, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, + 0x54, 0x10, 0xf9, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, + 0x10, 0xfa, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0xfb, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, + 0x10, 0xfc, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x52, 0x10, 0xfd, + 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x50, 0x10, 0xfe, 0x02, + 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x10, 0xff, 0x02, + 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x53, 0x10, 0x80, + 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x50, 0x45, 0x4e, 0x44, 0x53, 0x10, 0x81, 0x03, 0x12, + 0x0a, 0x0a, 0x05, 0x44, 0x45, 0x50, 0x54, 0x48, 0x10, 0x82, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, + 0x45, 0x53, 0x43, 0x10, 0x83, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, + 0x10, 0x84, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, + 0x59, 0x10, 0x85, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x50, 0x10, 0x86, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, + 0x87, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x88, + 0x03, 0x12, 0x07, 0x0a, 0x02, 0x44, 0x4f, 0x10, 0x89, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x4f, + 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0x8a, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, + 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0x8b, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x4f, + 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x8c, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x52, 0x4f, + 0x50, 0x10, 0x8d, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x45, 0x41, 0x43, 0x48, 0x10, 0x8e, 0x03, 0x12, + 0x09, 0x0a, 0x04, 0x45, 0x4c, 0x53, 0x45, 0x10, 0x8f, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x4d, + 0x50, 0x54, 0x59, 0x5f, 0x50, 0x10, 0x90, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x91, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x43, 0x4f, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x92, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, + 0x54, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x10, + 0x94, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x10, 0x95, 0x03, 0x12, + 0x0c, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x50, 0x10, 0x96, 0x03, 0x12, 0x0b, 0x0a, + 0x06, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x10, 0x97, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x10, 0x98, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, + 0x10, 0x99, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x9a, + 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x9b, + 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x10, 0x9c, + 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x10, 0x9d, 0x03, 0x12, + 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x9e, 0x03, 0x12, 0x0c, 0x0a, 0x07, + 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x9f, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x45, 0x58, + 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa0, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, + 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa1, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, + 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xa2, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, + 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0xa3, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x41, 0x4c, 0x53, + 0x45, 0x5f, 0x50, 0x10, 0xa4, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, + 0x10, 0xa5, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0xa6, 0x03, 0x12, + 0x0b, 0x0a, 0x06, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa7, 0x03, 0x12, 0x0d, 0x0a, 0x08, + 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xa8, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, + 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x10, 0xa9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4c, 0x4f, + 0x41, 0x54, 0x5f, 0x50, 0x10, 0xaa, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, + 0x57, 0x49, 0x4e, 0x47, 0x10, 0xab, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x46, 0x4f, 0x52, 0x10, 0xac, + 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x10, 0xad, 0x03, 0x12, 0x0c, 0x0a, + 0x07, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x10, 0xae, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0xaf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57, + 0x41, 0x52, 0x44, 0x10, 0xb0, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, + 0x10, 0xb1, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x46, 0x52, 0x4f, 0x4d, 0x10, 0xb2, 0x03, 0x12, 0x09, + 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xb3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x55, 0x4e, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb4, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x55, 0x4e, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xb5, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x47, 0x45, 0x4e, 0x45, + 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0xb6, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x10, 0xb7, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0xb8, + 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0xb9, 0x03, 0x12, + 0x0d, 0x0a, 0x08, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xba, 0x03, 0x12, 0x0c, + 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x10, 0xbb, 0x03, 0x12, 0x0d, 0x0a, 0x08, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xbc, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xbd, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, + 0x4c, 0x45, 0x52, 0x10, 0xbe, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x41, 0x56, 0x49, 0x4e, 0x47, + 0x10, 0xbf, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x10, + 0xc0, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0xc1, 0x03, 0x12, 0x0b, 0x0a, + 0x06, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x50, 0x10, 0xc2, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x10, 0xc3, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, + 0x46, 0x5f, 0x50, 0x10, 0xc4, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, + 0xc5, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, + 0xc6, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0xc7, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x50, + 0x10, 0xc8, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x10, + 0xc9, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xca, 0x03, 0x12, 0x0c, 0x0a, + 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0xcb, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, + 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xcc, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, + 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xcd, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, + 0x4e, 0x44, 0x45, 0x4e, 0x54, 0x10, 0xce, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x44, 0x45, + 0x58, 0x10, 0xcf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, 0x10, + 0xd0, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xd1, 0x03, + 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x53, 0x10, 0xd2, 0x03, 0x12, + 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0xd3, 0x03, 0x12, + 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xd4, 0x03, 0x12, 0x0c, + 0x0a, 0x07, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xd5, 0x03, 0x12, 0x0a, 0x0a, 0x05, + 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0xd6, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x50, 0x55, + 0x54, 0x5f, 0x50, 0x10, 0xd7, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x49, 0x4e, 0x53, 0x45, 0x4e, 0x53, + 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0xd8, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4e, 0x53, 0x45, + 0x52, 0x54, 0x10, 0xd9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, + 0x10, 0xda, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xdb, 0x03, 0x12, + 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0xdc, 0x03, 0x12, 0x0e, 0x0a, + 0x09, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0xdd, 0x03, 0x12, 0x0d, 0x0a, + 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0xde, 0x03, 0x12, 0x09, 0x0a, 0x04, + 0x49, 0x4e, 0x54, 0x4f, 0x10, 0xdf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x4f, 0x4b, + 0x45, 0x52, 0x10, 0xe0, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x53, 0x10, 0xe1, 0x03, 0x12, 0x0b, + 0x0a, 0x06, 0x49, 0x53, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0xe2, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, + 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe3, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4a, + 0x4f, 0x49, 0x4e, 0x10, 0xe4, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0xe5, + 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, + 0xe6, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, + 0x41, 0x47, 0x47, 0x10, 0xe7, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, + 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xe8, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0xe9, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4a, 0x53, + 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x41, 0x47, 0x47, 0x10, 0xea, 0x03, 0x12, + 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0xeb, 0x03, + 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, + 0xec, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x41, + 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xed, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xee, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xef, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4b, 0x45, 0x45, + 0x50, 0x10, 0xf0, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x4b, 0x45, 0x59, 0x10, 0xf1, 0x03, 0x12, 0x09, + 0x0a, 0x04, 0x4b, 0x45, 0x59, 0x53, 0x10, 0xf2, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x41, 0x42, + 0x45, 0x4c, 0x10, 0xf3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, + 0x45, 0x10, 0xf4, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x50, 0x10, + 0xf5, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x10, 0xf6, 0x03, 0x12, + 0x0e, 0x0a, 0x09, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf7, 0x03, 0x12, + 0x0c, 0x0a, 0x07, 0x4c, 0x45, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf8, 0x03, 0x12, 0x0e, 0x0a, + 0x09, 0x4c, 0x45, 0x41, 0x4b, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0xf9, 0x03, 0x12, 0x0a, 0x0a, + 0x05, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0xfa, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x45, 0x46, + 0x54, 0x10, 0xfb, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xfc, 0x03, + 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0xfd, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, + 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfe, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, 0x45, + 0x4e, 0x10, 0xff, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x80, 0x04, 0x12, + 0x0a, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x81, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x82, 0x04, 0x12, 0x13, 0x0a, 0x0e, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x83, 0x04, + 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x84, 0x04, 0x12, + 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x10, 0x85, 0x04, 0x12, 0x0b, 0x0a, 0x06, + 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x86, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x47, + 0x47, 0x45, 0x44, 0x10, 0x87, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, + 0x47, 0x10, 0x88, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x89, 0x04, + 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x8a, 0x04, 0x12, 0x11, + 0x0a, 0x0c, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x8b, + 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x8c, 0x04, + 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x8d, 0x04, 0x12, 0x11, 0x0a, 0x0c, + 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x8e, 0x04, 0x12, + 0x0b, 0x0a, 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x8f, 0x04, 0x12, 0x0d, 0x0a, 0x08, + 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, 0x90, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4d, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x91, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, + 0x44, 0x45, 0x10, 0x92, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, 0x50, + 0x10, 0x93, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x94, 0x04, 0x12, 0x0b, + 0x0a, 0x06, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x10, 0x95, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, + 0x41, 0x4d, 0x45, 0x53, 0x10, 0x96, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x10, 0x97, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x41, + 0x4c, 0x10, 0x98, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, 0x43, 0x48, 0x41, 0x52, 0x10, 0x99, 0x04, + 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x9a, 0x04, 0x12, 0x08, 0x0a, + 0x03, 0x4e, 0x45, 0x57, 0x10, 0x9b, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x45, 0x58, 0x54, 0x10, + 0x9c, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x46, 0x43, 0x10, 0x9d, 0x04, 0x12, 0x08, 0x0a, 0x03, + 0x4e, 0x46, 0x44, 0x10, 0x9e, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x43, 0x10, 0x9f, + 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x44, 0x10, 0xa0, 0x04, 0x12, 0x07, 0x0a, 0x02, + 0x4e, 0x4f, 0x10, 0xa1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xa2, 0x04, + 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xa3, 0x04, + 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xa4, + 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x4f, 0x54, 0x10, 0xa5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, + 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x54, + 0x49, 0x46, 0x59, 0x10, 0xa7, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x4e, 0x55, 0x4c, + 0x4c, 0x10, 0xa8, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x57, 0x41, 0x49, 0x54, 0x10, 0xa9, + 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x50, 0x10, 0xaa, 0x04, 0x12, 0x0b, + 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0xab, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, + 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x50, 0x10, 0xac, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x55, 0x4d, + 0x45, 0x52, 0x49, 0x43, 0x10, 0xad, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x50, 0x10, 0xae, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x46, 0x10, 0xaf, 0x04, 0x12, + 0x08, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xb0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x46, 0x46, + 0x53, 0x45, 0x54, 0x10, 0xb1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x53, 0x10, 0xb2, + 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x4c, 0x44, 0x10, 0xb3, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, + 0x4d, 0x49, 0x54, 0x10, 0xb4, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xb5, 0x04, 0x12, + 0x09, 0x0a, 0x04, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb6, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x50, + 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xb7, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x50, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0xb8, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, + 0x53, 0x10, 0xb9, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x52, 0x10, 0xba, 0x04, 0x12, 0x0a, 0x0a, + 0x05, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0xbb, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x52, 0x44, + 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0xbc, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x54, + 0x48, 0x45, 0x52, 0x53, 0x10, 0xbd, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x55, 0x54, 0x5f, 0x50, + 0x10, 0xbe, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xbf, + 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xc0, 0x04, 0x12, 0x0d, 0x0a, 0x08, + 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x50, 0x53, 0x10, 0xc1, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, + 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x10, 0xc2, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x56, 0x45, + 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xc3, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, + 0x4e, 0x45, 0x44, 0x10, 0xc4, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, + 0xc5, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, 0x52, 0x41, 0x4c, 0x4c, 0x45, 0x4c, 0x10, 0xc6, + 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0xc7, + 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0xc8, 0x04, 0x12, 0x0c, + 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0xc9, 0x04, 0x12, 0x0e, 0x0a, 0x09, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xca, 0x04, 0x12, 0x0c, 0x0a, 0x07, + 0x50, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, + 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0xcc, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x50, 0x41, 0x54, + 0x48, 0x10, 0xcd, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x43, 0x49, 0x4e, 0x47, 0x10, + 0xce, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0xcf, 0x04, 0x12, 0x0a, 0x0a, + 0x05, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0xd0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x10, 0xd1, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0xd2, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0xd3, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x10, 0xd4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, + 0x45, 0x10, 0xd5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, + 0xd6, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, 0xd7, + 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0xd8, 0x04, 0x12, + 0x0a, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x10, 0xd9, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x50, + 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x10, 0xda, 0x04, 0x12, 0x0f, 0x0a, 0x0a, + 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x10, 0xdb, 0x04, 0x12, 0x0e, 0x0a, + 0x09, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x10, 0xdc, 0x04, 0x12, 0x0f, 0x0a, + 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x53, 0x10, 0xdd, 0x04, 0x12, 0x0c, + 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0xde, 0x04, 0x12, 0x10, 0x0a, 0x0b, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdf, 0x04, 0x12, 0x0a, + 0x0a, 0x05, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0xe0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x51, 0x55, + 0x4f, 0x54, 0x45, 0x53, 0x10, 0xe1, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, + 0x10, 0xe2, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0xe3, 0x04, 0x12, 0x09, + 0x0a, 0x04, 0x52, 0x45, 0x41, 0x4c, 0x10, 0xe4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x41, + 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0xe5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x43, 0x48, + 0x45, 0x43, 0x4b, 0x10, 0xe6, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, + 0x49, 0x56, 0x45, 0x10, 0xe7, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, 0x46, 0x5f, 0x50, 0x10, + 0xe8, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, + 0x10, 0xe9, 0x04, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x49, + 0x4e, 0x47, 0x10, 0xea, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, + 0x10, 0xeb, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0xec, + 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x50, 0x10, + 0xed, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0xee, 0x04, + 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xef, 0x04, 0x12, 0x0f, 0x0a, + 0x0a, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xf0, 0x04, 0x12, 0x0c, + 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0xf1, 0x04, 0x12, 0x0c, 0x0a, 0x07, + 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0xf2, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x10, 0xf3, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, + 0x54, 0x10, 0xf4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, + 0x10, 0xf5, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x10, 0xf6, 0x04, + 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0x04, + 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x53, 0x10, 0xf8, 0x04, 0x12, 0x0b, + 0x0a, 0x06, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0xf9, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, + 0x49, 0x47, 0x48, 0x54, 0x10, 0xfa, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x4c, 0x45, 0x10, + 0xfb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0xfc, + 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0xfd, 0x04, 0x12, 0x0c, + 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, 0xfe, 0x04, 0x12, 0x0d, 0x0a, 0x08, + 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x53, 0x10, 0xff, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x52, + 0x4f, 0x57, 0x10, 0x80, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x81, 0x05, + 0x12, 0x09, 0x0a, 0x04, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, + 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x83, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, + 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0x84, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x10, 0x85, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x53, + 0x10, 0x86, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x87, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x88, 0x05, 0x12, 0x0d, 0x0a, + 0x08, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x50, 0x10, 0x89, 0x05, 0x12, 0x0d, 0x0a, 0x08, + 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x8a, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, + 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x8b, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x51, 0x55, + 0x45, 0x4e, 0x43, 0x45, 0x10, 0x8c, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x45, 0x51, 0x55, 0x45, + 0x4e, 0x43, 0x45, 0x53, 0x10, 0x8d, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x49, 0x41, + 0x4c, 0x49, 0x5a, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x8e, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x10, 0x8f, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x45, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x10, 0x90, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x91, 0x05, 0x12, 0x08, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, + 0x92, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x45, 0x54, 0x53, 0x10, 0x93, 0x05, 0x12, 0x0a, 0x0a, + 0x05, 0x53, 0x45, 0x54, 0x4f, 0x46, 0x10, 0x94, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x48, 0x41, + 0x52, 0x45, 0x10, 0x95, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x96, 0x05, + 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x97, 0x05, 0x12, 0x0b, + 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x98, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, + 0x4b, 0x49, 0x50, 0x10, 0x99, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x49, + 0x4e, 0x54, 0x10, 0x9a, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x10, 0x9b, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4f, 0x4d, 0x45, 0x10, 0x9c, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x9d, 0x05, 0x12, 0x0a, 0x0a, 0x05, + 0x53, 0x51, 0x4c, 0x5f, 0x50, 0x10, 0x9e, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x9f, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x4c, + 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xa0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, + 0x54, 0x10, 0xa1, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x45, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0xa2, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, + 0x43, 0x53, 0x10, 0xa3, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x44, 0x49, 0x4e, 0x10, 0xa4, + 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0xa5, 0x05, 0x12, 0x0c, + 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0xa6, 0x05, 0x12, 0x0b, 0x0a, 0x06, + 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0xa7, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x54, 0x52, + 0x49, 0x43, 0x54, 0x5f, 0x50, 0x10, 0xa8, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x54, 0x52, 0x49, + 0x4e, 0x47, 0x5f, 0x50, 0x10, 0xa9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x52, 0x49, 0x50, + 0x5f, 0x50, 0x10, 0xaa, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xab, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x55, 0x42, 0x53, + 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xac, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x55, 0x50, 0x50, + 0x4f, 0x52, 0x54, 0x10, 0xad, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, + 0x52, 0x49, 0x43, 0x10, 0xae, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x59, 0x53, 0x49, 0x44, 0x10, + 0xaf, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x10, 0xb0, + 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x10, 0xb1, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb2, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0xb3, 0x05, 0x12, 0x10, 0x0a, 0x0b, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0xb4, 0x05, 0x12, 0x0f, + 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0xb5, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0xb6, 0x05, 0x12, 0x09, 0x0a, 0x04, + 0x54, 0x45, 0x4d, 0x50, 0x10, 0xb7, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x45, 0x4d, 0x50, 0x4c, + 0x41, 0x54, 0x45, 0x10, 0xb8, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, + 0x41, 0x52, 0x59, 0x10, 0xb9, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x50, + 0x10, 0xba, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x48, 0x45, 0x4e, 0x10, 0xbb, 0x05, 0x12, 0x09, + 0x0a, 0x04, 0x54, 0x49, 0x45, 0x53, 0x10, 0xbc, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, 0x4d, + 0x45, 0x10, 0xbd, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, + 0x50, 0x10, 0xbe, 0x05, 0x12, 0x07, 0x0a, 0x02, 0x54, 0x4f, 0x10, 0xbf, 0x05, 0x12, 0x0d, 0x0a, + 0x08, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0x05, 0x12, 0x10, 0x0a, 0x0b, + 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc1, 0x05, 0x12, 0x0e, + 0x0a, 0x09, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0xc2, 0x05, 0x12, 0x0a, + 0x0a, 0x05, 0x54, 0x52, 0x45, 0x41, 0x54, 0x10, 0xc3, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x52, + 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0xc4, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x52, 0x49, 0x4d, + 0x10, 0xc5, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x52, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xc6, 0x05, + 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x52, 0x55, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x10, 0xc7, 0x05, 0x12, + 0x0c, 0x0a, 0x07, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0xc8, 0x05, 0x12, 0x0b, 0x0a, + 0x06, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x10, 0xc9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x59, + 0x50, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xca, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x45, 0x53, 0x43, + 0x41, 0x50, 0x45, 0x10, 0xcb, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x55, 0x4e, 0x42, 0x4f, 0x55, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0xcc, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x44, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xcd, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4e, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0xce, 0x05, 0x12, 0x10, 0x0a, 0x0b, + 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x05, 0x12, 0x0a, + 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0xd0, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4e, + 0x49, 0x51, 0x55, 0x45, 0x10, 0xd1, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0xd2, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x49, 0x53, 0x54, 0x45, + 0x4e, 0x10, 0xd3, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, + 0x10, 0xd4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x10, 0xd5, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xd6, 0x05, 0x12, 0x09, 0x0a, 0x04, + 0x55, 0x53, 0x45, 0x52, 0x10, 0xd7, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x53, 0x49, 0x4e, 0x47, + 0x10, 0xd8, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x43, 0x55, 0x55, 0x4d, 0x10, 0xd9, 0x05, + 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xda, 0x05, 0x12, 0x0d, 0x0a, 0x08, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0xdb, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xdc, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, + 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xdd, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x53, 0x10, 0xde, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, + 0x52, 0x10, 0xdf, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, 0x43, + 0x10, 0xe0, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xe1, + 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0xe2, 0x05, 0x12, + 0x0e, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xe3, 0x05, 0x12, + 0x09, 0x0a, 0x04, 0x56, 0x49, 0x45, 0x57, 0x10, 0xe4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x49, + 0x45, 0x57, 0x53, 0x10, 0xe5, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x4f, 0x4c, 0x41, 0x54, 0x49, + 0x4c, 0x45, 0x10, 0xe6, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x48, 0x45, 0x4e, 0x10, 0xe7, 0x05, + 0x12, 0x0a, 0x0a, 0x05, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xe8, 0x05, 0x12, 0x11, 0x0a, 0x0c, + 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x10, 0xe9, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x10, 0xea, 0x05, 0x12, 0x09, 0x0a, 0x04, + 0x57, 0x49, 0x54, 0x48, 0x10, 0xeb, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x54, 0x48, 0x49, + 0x4e, 0x10, 0xec, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x10, + 0xed, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xee, 0x05, 0x12, 0x0c, 0x0a, + 0x07, 0x57, 0x52, 0x41, 0x50, 0x50, 0x45, 0x52, 0x10, 0xef, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x57, + 0x52, 0x49, 0x54, 0x45, 0x10, 0xf0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, 0x4d, 0x4c, 0x5f, 0x50, + 0x10, 0xf1, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, + 0x55, 0x54, 0x45, 0x53, 0x10, 0xf2, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x43, 0x4f, + 0x4e, 0x43, 0x41, 0x54, 0x10, 0xf3, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x58, 0x4d, 0x4c, 0x45, 0x4c, + 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xf4, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x45, + 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xf5, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x46, + 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0xf6, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x4e, + 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, 0x10, 0xf7, 0x05, 0x12, 0x0d, 0x0a, 0x08, + 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0xf8, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, + 0x4d, 0x4c, 0x50, 0x49, 0x10, 0xf9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x58, 0x4d, 0x4c, 0x52, 0x4f, + 0x4f, 0x54, 0x10, 0xfa, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, + 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xfb, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x58, 0x4d, 0x4c, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0xfc, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x5f, + 0x50, 0x10, 0xfd, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x59, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xfe, 0x05, + 0x12, 0x09, 0x0a, 0x04, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0xff, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0x80, 0x06, 0x12, 0x0b, 0x0a, 0x06, 0x4e, + 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0x81, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x55, 0x4c, 0x4c, + 0x53, 0x5f, 0x4c, 0x41, 0x10, 0x82, 0x06, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x5f, + 0x4c, 0x41, 0x10, 0x83, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, + 0x5f, 0x4c, 0x41, 0x10, 0x84, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x85, 0x06, 0x12, 0x16, 0x0a, 0x11, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, + 0x10, 0x86, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, + 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x31, 0x10, 0x87, 0x06, 0x12, 0x19, + 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, + 0x53, 0x53, 0x49, 0x47, 0x4e, 0x32, 0x10, 0x88, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, + 0x33, 0x10, 0x89, 0x06, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, 0x8a, + 0x06, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -35360,1290 +37864,1392 @@ func file_pg_query_proto_rawDescGZIP() []byte { return file_pg_query_proto_rawDescData } -var file_pg_query_proto_enumTypes = make([]protoimpl.EnumInfo, 64) -var file_pg_query_proto_msgTypes = make([]protoimpl.MessageInfo, 256) +var file_pg_query_proto_enumTypes = make([]protoimpl.EnumInfo, 71) +var file_pg_query_proto_msgTypes = make([]protoimpl.MessageInfo, 272) var file_pg_query_proto_goTypes = []interface{}{ - (OverridingKind)(0), // 0: pg_query.OverridingKind - (QuerySource)(0), // 1: pg_query.QuerySource - (SortByDir)(0), // 2: pg_query.SortByDir - (SortByNulls)(0), // 3: pg_query.SortByNulls - (SetQuantifier)(0), // 4: pg_query.SetQuantifier - (A_Expr_Kind)(0), // 5: pg_query.A_Expr_Kind - (RoleSpecType)(0), // 6: pg_query.RoleSpecType - (TableLikeOption)(0), // 7: pg_query.TableLikeOption - (DefElemAction)(0), // 8: pg_query.DefElemAction - (PartitionStrategy)(0), // 9: pg_query.PartitionStrategy - (PartitionRangeDatumKind)(0), // 10: pg_query.PartitionRangeDatumKind - (RTEKind)(0), // 11: pg_query.RTEKind - (WCOKind)(0), // 12: pg_query.WCOKind - (GroupingSetKind)(0), // 13: pg_query.GroupingSetKind - (CTEMaterialize)(0), // 14: pg_query.CTEMaterialize - (SetOperation)(0), // 15: pg_query.SetOperation - (ObjectType)(0), // 16: pg_query.ObjectType - (DropBehavior)(0), // 17: pg_query.DropBehavior - (AlterTableType)(0), // 18: pg_query.AlterTableType - (GrantTargetType)(0), // 19: pg_query.GrantTargetType - (VariableSetKind)(0), // 20: pg_query.VariableSetKind - (ConstrType)(0), // 21: pg_query.ConstrType - (ImportForeignSchemaType)(0), // 22: pg_query.ImportForeignSchemaType - (RoleStmtType)(0), // 23: pg_query.RoleStmtType - (FetchDirection)(0), // 24: pg_query.FetchDirection - (FunctionParameterMode)(0), // 25: pg_query.FunctionParameterMode - (TransactionStmtKind)(0), // 26: pg_query.TransactionStmtKind - (ViewCheckOption)(0), // 27: pg_query.ViewCheckOption - (DiscardMode)(0), // 28: pg_query.DiscardMode - (ReindexObjectType)(0), // 29: pg_query.ReindexObjectType - (AlterTSConfigType)(0), // 30: pg_query.AlterTSConfigType - (PublicationObjSpecType)(0), // 31: pg_query.PublicationObjSpecType - (AlterPublicationAction)(0), // 32: pg_query.AlterPublicationAction - (AlterSubscriptionType)(0), // 33: pg_query.AlterSubscriptionType - (OnCommitAction)(0), // 34: pg_query.OnCommitAction - (ParamKind)(0), // 35: pg_query.ParamKind - (CoercionContext)(0), // 36: pg_query.CoercionContext - (CoercionForm)(0), // 37: pg_query.CoercionForm - (BoolExprType)(0), // 38: pg_query.BoolExprType - (SubLinkType)(0), // 39: pg_query.SubLinkType - (RowCompareType)(0), // 40: pg_query.RowCompareType - (MinMaxOp)(0), // 41: pg_query.MinMaxOp - (SQLValueFunctionOp)(0), // 42: pg_query.SQLValueFunctionOp - (XmlExprOp)(0), // 43: pg_query.XmlExprOp - (XmlOptionType)(0), // 44: pg_query.XmlOptionType - (JsonEncoding)(0), // 45: pg_query.JsonEncoding - (JsonFormatType)(0), // 46: pg_query.JsonFormatType - (JsonConstructorType)(0), // 47: pg_query.JsonConstructorType - (JsonValueType)(0), // 48: pg_query.JsonValueType - (NullTestType)(0), // 49: pg_query.NullTestType - (BoolTestType)(0), // 50: pg_query.BoolTestType - (CmdType)(0), // 51: pg_query.CmdType - (JoinType)(0), // 52: pg_query.JoinType - (AggStrategy)(0), // 53: pg_query.AggStrategy - (AggSplit)(0), // 54: pg_query.AggSplit - (SetOpCmd)(0), // 55: pg_query.SetOpCmd - (SetOpStrategy)(0), // 56: pg_query.SetOpStrategy - (OnConflictAction)(0), // 57: pg_query.OnConflictAction - (LimitOption)(0), // 58: pg_query.LimitOption - (LockClauseStrength)(0), // 59: pg_query.LockClauseStrength - (LockWaitPolicy)(0), // 60: pg_query.LockWaitPolicy - (LockTupleMode)(0), // 61: pg_query.LockTupleMode - (KeywordKind)(0), // 62: pg_query.KeywordKind - (Token)(0), // 63: pg_query.Token - (*ParseResult)(nil), // 64: pg_query.ParseResult - (*ScanResult)(nil), // 65: pg_query.ScanResult - (*Node)(nil), // 66: pg_query.Node - (*Integer)(nil), // 67: pg_query.Integer - (*Float)(nil), // 68: pg_query.Float - (*Boolean)(nil), // 69: pg_query.Boolean - (*String)(nil), // 70: pg_query.String - (*BitString)(nil), // 71: pg_query.BitString - (*List)(nil), // 72: pg_query.List - (*OidList)(nil), // 73: pg_query.OidList - (*IntList)(nil), // 74: pg_query.IntList - (*A_Const)(nil), // 75: pg_query.A_Const - (*Alias)(nil), // 76: pg_query.Alias - (*RangeVar)(nil), // 77: pg_query.RangeVar - (*TableFunc)(nil), // 78: pg_query.TableFunc - (*IntoClause)(nil), // 79: pg_query.IntoClause - (*Var)(nil), // 80: pg_query.Var - (*Param)(nil), // 81: pg_query.Param - (*Aggref)(nil), // 82: pg_query.Aggref - (*GroupingFunc)(nil), // 83: pg_query.GroupingFunc - (*WindowFunc)(nil), // 84: pg_query.WindowFunc - (*SubscriptingRef)(nil), // 85: pg_query.SubscriptingRef - (*FuncExpr)(nil), // 86: pg_query.FuncExpr - (*NamedArgExpr)(nil), // 87: pg_query.NamedArgExpr - (*OpExpr)(nil), // 88: pg_query.OpExpr - (*DistinctExpr)(nil), // 89: pg_query.DistinctExpr - (*NullIfExpr)(nil), // 90: pg_query.NullIfExpr - (*ScalarArrayOpExpr)(nil), // 91: pg_query.ScalarArrayOpExpr - (*BoolExpr)(nil), // 92: pg_query.BoolExpr - (*SubLink)(nil), // 93: pg_query.SubLink - (*SubPlan)(nil), // 94: pg_query.SubPlan - (*AlternativeSubPlan)(nil), // 95: pg_query.AlternativeSubPlan - (*FieldSelect)(nil), // 96: pg_query.FieldSelect - (*FieldStore)(nil), // 97: pg_query.FieldStore - (*RelabelType)(nil), // 98: pg_query.RelabelType - (*CoerceViaIO)(nil), // 99: pg_query.CoerceViaIO - (*ArrayCoerceExpr)(nil), // 100: pg_query.ArrayCoerceExpr - (*ConvertRowtypeExpr)(nil), // 101: pg_query.ConvertRowtypeExpr - (*CollateExpr)(nil), // 102: pg_query.CollateExpr - (*CaseExpr)(nil), // 103: pg_query.CaseExpr - (*CaseWhen)(nil), // 104: pg_query.CaseWhen - (*CaseTestExpr)(nil), // 105: pg_query.CaseTestExpr - (*ArrayExpr)(nil), // 106: pg_query.ArrayExpr - (*RowExpr)(nil), // 107: pg_query.RowExpr - (*RowCompareExpr)(nil), // 108: pg_query.RowCompareExpr - (*CoalesceExpr)(nil), // 109: pg_query.CoalesceExpr - (*MinMaxExpr)(nil), // 110: pg_query.MinMaxExpr - (*SQLValueFunction)(nil), // 111: pg_query.SQLValueFunction - (*XmlExpr)(nil), // 112: pg_query.XmlExpr - (*JsonFormat)(nil), // 113: pg_query.JsonFormat - (*JsonReturning)(nil), // 114: pg_query.JsonReturning - (*JsonValueExpr)(nil), // 115: pg_query.JsonValueExpr - (*JsonConstructorExpr)(nil), // 116: pg_query.JsonConstructorExpr - (*JsonIsPredicate)(nil), // 117: pg_query.JsonIsPredicate - (*NullTest)(nil), // 118: pg_query.NullTest - (*BooleanTest)(nil), // 119: pg_query.BooleanTest - (*CoerceToDomain)(nil), // 120: pg_query.CoerceToDomain - (*CoerceToDomainValue)(nil), // 121: pg_query.CoerceToDomainValue - (*SetToDefault)(nil), // 122: pg_query.SetToDefault - (*CurrentOfExpr)(nil), // 123: pg_query.CurrentOfExpr - (*NextValueExpr)(nil), // 124: pg_query.NextValueExpr - (*InferenceElem)(nil), // 125: pg_query.InferenceElem - (*TargetEntry)(nil), // 126: pg_query.TargetEntry - (*RangeTblRef)(nil), // 127: pg_query.RangeTblRef - (*JoinExpr)(nil), // 128: pg_query.JoinExpr - (*FromExpr)(nil), // 129: pg_query.FromExpr - (*OnConflictExpr)(nil), // 130: pg_query.OnConflictExpr - (*Query)(nil), // 131: pg_query.Query - (*TypeName)(nil), // 132: pg_query.TypeName - (*ColumnRef)(nil), // 133: pg_query.ColumnRef - (*ParamRef)(nil), // 134: pg_query.ParamRef - (*A_Expr)(nil), // 135: pg_query.A_Expr - (*TypeCast)(nil), // 136: pg_query.TypeCast - (*CollateClause)(nil), // 137: pg_query.CollateClause - (*RoleSpec)(nil), // 138: pg_query.RoleSpec - (*FuncCall)(nil), // 139: pg_query.FuncCall - (*A_Star)(nil), // 140: pg_query.A_Star - (*A_Indices)(nil), // 141: pg_query.A_Indices - (*A_Indirection)(nil), // 142: pg_query.A_Indirection - (*A_ArrayExpr)(nil), // 143: pg_query.A_ArrayExpr - (*ResTarget)(nil), // 144: pg_query.ResTarget - (*MultiAssignRef)(nil), // 145: pg_query.MultiAssignRef - (*SortBy)(nil), // 146: pg_query.SortBy - (*WindowDef)(nil), // 147: pg_query.WindowDef - (*RangeSubselect)(nil), // 148: pg_query.RangeSubselect - (*RangeFunction)(nil), // 149: pg_query.RangeFunction - (*RangeTableFunc)(nil), // 150: pg_query.RangeTableFunc - (*RangeTableFuncCol)(nil), // 151: pg_query.RangeTableFuncCol - (*RangeTableSample)(nil), // 152: pg_query.RangeTableSample - (*ColumnDef)(nil), // 153: pg_query.ColumnDef - (*TableLikeClause)(nil), // 154: pg_query.TableLikeClause - (*IndexElem)(nil), // 155: pg_query.IndexElem - (*DefElem)(nil), // 156: pg_query.DefElem - (*LockingClause)(nil), // 157: pg_query.LockingClause - (*XmlSerialize)(nil), // 158: pg_query.XmlSerialize - (*PartitionElem)(nil), // 159: pg_query.PartitionElem - (*PartitionSpec)(nil), // 160: pg_query.PartitionSpec - (*PartitionBoundSpec)(nil), // 161: pg_query.PartitionBoundSpec - (*PartitionRangeDatum)(nil), // 162: pg_query.PartitionRangeDatum - (*PartitionCmd)(nil), // 163: pg_query.PartitionCmd - (*RangeTblEntry)(nil), // 164: pg_query.RangeTblEntry - (*RTEPermissionInfo)(nil), // 165: pg_query.RTEPermissionInfo - (*RangeTblFunction)(nil), // 166: pg_query.RangeTblFunction - (*TableSampleClause)(nil), // 167: pg_query.TableSampleClause - (*WithCheckOption)(nil), // 168: pg_query.WithCheckOption - (*SortGroupClause)(nil), // 169: pg_query.SortGroupClause - (*GroupingSet)(nil), // 170: pg_query.GroupingSet - (*WindowClause)(nil), // 171: pg_query.WindowClause - (*RowMarkClause)(nil), // 172: pg_query.RowMarkClause - (*WithClause)(nil), // 173: pg_query.WithClause - (*InferClause)(nil), // 174: pg_query.InferClause - (*OnConflictClause)(nil), // 175: pg_query.OnConflictClause - (*CTESearchClause)(nil), // 176: pg_query.CTESearchClause - (*CTECycleClause)(nil), // 177: pg_query.CTECycleClause - (*CommonTableExpr)(nil), // 178: pg_query.CommonTableExpr - (*MergeWhenClause)(nil), // 179: pg_query.MergeWhenClause - (*MergeAction)(nil), // 180: pg_query.MergeAction - (*TriggerTransition)(nil), // 181: pg_query.TriggerTransition - (*JsonOutput)(nil), // 182: pg_query.JsonOutput - (*JsonKeyValue)(nil), // 183: pg_query.JsonKeyValue - (*JsonObjectConstructor)(nil), // 184: pg_query.JsonObjectConstructor - (*JsonArrayConstructor)(nil), // 185: pg_query.JsonArrayConstructor - (*JsonArrayQueryConstructor)(nil), // 186: pg_query.JsonArrayQueryConstructor - (*JsonAggConstructor)(nil), // 187: pg_query.JsonAggConstructor - (*JsonObjectAgg)(nil), // 188: pg_query.JsonObjectAgg - (*JsonArrayAgg)(nil), // 189: pg_query.JsonArrayAgg - (*RawStmt)(nil), // 190: pg_query.RawStmt - (*InsertStmt)(nil), // 191: pg_query.InsertStmt - (*DeleteStmt)(nil), // 192: pg_query.DeleteStmt - (*UpdateStmt)(nil), // 193: pg_query.UpdateStmt - (*MergeStmt)(nil), // 194: pg_query.MergeStmt - (*SelectStmt)(nil), // 195: pg_query.SelectStmt - (*SetOperationStmt)(nil), // 196: pg_query.SetOperationStmt - (*ReturnStmt)(nil), // 197: pg_query.ReturnStmt - (*PLAssignStmt)(nil), // 198: pg_query.PLAssignStmt - (*CreateSchemaStmt)(nil), // 199: pg_query.CreateSchemaStmt - (*AlterTableStmt)(nil), // 200: pg_query.AlterTableStmt - (*ReplicaIdentityStmt)(nil), // 201: pg_query.ReplicaIdentityStmt - (*AlterTableCmd)(nil), // 202: pg_query.AlterTableCmd - (*AlterCollationStmt)(nil), // 203: pg_query.AlterCollationStmt - (*AlterDomainStmt)(nil), // 204: pg_query.AlterDomainStmt - (*GrantStmt)(nil), // 205: pg_query.GrantStmt - (*ObjectWithArgs)(nil), // 206: pg_query.ObjectWithArgs - (*AccessPriv)(nil), // 207: pg_query.AccessPriv - (*GrantRoleStmt)(nil), // 208: pg_query.GrantRoleStmt - (*AlterDefaultPrivilegesStmt)(nil), // 209: pg_query.AlterDefaultPrivilegesStmt - (*CopyStmt)(nil), // 210: pg_query.CopyStmt - (*VariableSetStmt)(nil), // 211: pg_query.VariableSetStmt - (*VariableShowStmt)(nil), // 212: pg_query.VariableShowStmt - (*CreateStmt)(nil), // 213: pg_query.CreateStmt - (*Constraint)(nil), // 214: pg_query.Constraint - (*CreateTableSpaceStmt)(nil), // 215: pg_query.CreateTableSpaceStmt - (*DropTableSpaceStmt)(nil), // 216: pg_query.DropTableSpaceStmt - (*AlterTableSpaceOptionsStmt)(nil), // 217: pg_query.AlterTableSpaceOptionsStmt - (*AlterTableMoveAllStmt)(nil), // 218: pg_query.AlterTableMoveAllStmt - (*CreateExtensionStmt)(nil), // 219: pg_query.CreateExtensionStmt - (*AlterExtensionStmt)(nil), // 220: pg_query.AlterExtensionStmt - (*AlterExtensionContentsStmt)(nil), // 221: pg_query.AlterExtensionContentsStmt - (*CreateFdwStmt)(nil), // 222: pg_query.CreateFdwStmt - (*AlterFdwStmt)(nil), // 223: pg_query.AlterFdwStmt - (*CreateForeignServerStmt)(nil), // 224: pg_query.CreateForeignServerStmt - (*AlterForeignServerStmt)(nil), // 225: pg_query.AlterForeignServerStmt - (*CreateForeignTableStmt)(nil), // 226: pg_query.CreateForeignTableStmt - (*CreateUserMappingStmt)(nil), // 227: pg_query.CreateUserMappingStmt - (*AlterUserMappingStmt)(nil), // 228: pg_query.AlterUserMappingStmt - (*DropUserMappingStmt)(nil), // 229: pg_query.DropUserMappingStmt - (*ImportForeignSchemaStmt)(nil), // 230: pg_query.ImportForeignSchemaStmt - (*CreatePolicyStmt)(nil), // 231: pg_query.CreatePolicyStmt - (*AlterPolicyStmt)(nil), // 232: pg_query.AlterPolicyStmt - (*CreateAmStmt)(nil), // 233: pg_query.CreateAmStmt - (*CreateTrigStmt)(nil), // 234: pg_query.CreateTrigStmt - (*CreateEventTrigStmt)(nil), // 235: pg_query.CreateEventTrigStmt - (*AlterEventTrigStmt)(nil), // 236: pg_query.AlterEventTrigStmt - (*CreatePLangStmt)(nil), // 237: pg_query.CreatePLangStmt - (*CreateRoleStmt)(nil), // 238: pg_query.CreateRoleStmt - (*AlterRoleStmt)(nil), // 239: pg_query.AlterRoleStmt - (*AlterRoleSetStmt)(nil), // 240: pg_query.AlterRoleSetStmt - (*DropRoleStmt)(nil), // 241: pg_query.DropRoleStmt - (*CreateSeqStmt)(nil), // 242: pg_query.CreateSeqStmt - (*AlterSeqStmt)(nil), // 243: pg_query.AlterSeqStmt - (*DefineStmt)(nil), // 244: pg_query.DefineStmt - (*CreateDomainStmt)(nil), // 245: pg_query.CreateDomainStmt - (*CreateOpClassStmt)(nil), // 246: pg_query.CreateOpClassStmt - (*CreateOpClassItem)(nil), // 247: pg_query.CreateOpClassItem - (*CreateOpFamilyStmt)(nil), // 248: pg_query.CreateOpFamilyStmt - (*AlterOpFamilyStmt)(nil), // 249: pg_query.AlterOpFamilyStmt - (*DropStmt)(nil), // 250: pg_query.DropStmt - (*TruncateStmt)(nil), // 251: pg_query.TruncateStmt - (*CommentStmt)(nil), // 252: pg_query.CommentStmt - (*SecLabelStmt)(nil), // 253: pg_query.SecLabelStmt - (*DeclareCursorStmt)(nil), // 254: pg_query.DeclareCursorStmt - (*ClosePortalStmt)(nil), // 255: pg_query.ClosePortalStmt - (*FetchStmt)(nil), // 256: pg_query.FetchStmt - (*IndexStmt)(nil), // 257: pg_query.IndexStmt - (*CreateStatsStmt)(nil), // 258: pg_query.CreateStatsStmt - (*StatsElem)(nil), // 259: pg_query.StatsElem - (*AlterStatsStmt)(nil), // 260: pg_query.AlterStatsStmt - (*CreateFunctionStmt)(nil), // 261: pg_query.CreateFunctionStmt - (*FunctionParameter)(nil), // 262: pg_query.FunctionParameter - (*AlterFunctionStmt)(nil), // 263: pg_query.AlterFunctionStmt - (*DoStmt)(nil), // 264: pg_query.DoStmt - (*InlineCodeBlock)(nil), // 265: pg_query.InlineCodeBlock - (*CallStmt)(nil), // 266: pg_query.CallStmt - (*CallContext)(nil), // 267: pg_query.CallContext - (*RenameStmt)(nil), // 268: pg_query.RenameStmt - (*AlterObjectDependsStmt)(nil), // 269: pg_query.AlterObjectDependsStmt - (*AlterObjectSchemaStmt)(nil), // 270: pg_query.AlterObjectSchemaStmt - (*AlterOwnerStmt)(nil), // 271: pg_query.AlterOwnerStmt - (*AlterOperatorStmt)(nil), // 272: pg_query.AlterOperatorStmt - (*AlterTypeStmt)(nil), // 273: pg_query.AlterTypeStmt - (*RuleStmt)(nil), // 274: pg_query.RuleStmt - (*NotifyStmt)(nil), // 275: pg_query.NotifyStmt - (*ListenStmt)(nil), // 276: pg_query.ListenStmt - (*UnlistenStmt)(nil), // 277: pg_query.UnlistenStmt - (*TransactionStmt)(nil), // 278: pg_query.TransactionStmt - (*CompositeTypeStmt)(nil), // 279: pg_query.CompositeTypeStmt - (*CreateEnumStmt)(nil), // 280: pg_query.CreateEnumStmt - (*CreateRangeStmt)(nil), // 281: pg_query.CreateRangeStmt - (*AlterEnumStmt)(nil), // 282: pg_query.AlterEnumStmt - (*ViewStmt)(nil), // 283: pg_query.ViewStmt - (*LoadStmt)(nil), // 284: pg_query.LoadStmt - (*CreatedbStmt)(nil), // 285: pg_query.CreatedbStmt - (*AlterDatabaseStmt)(nil), // 286: pg_query.AlterDatabaseStmt - (*AlterDatabaseRefreshCollStmt)(nil), // 287: pg_query.AlterDatabaseRefreshCollStmt - (*AlterDatabaseSetStmt)(nil), // 288: pg_query.AlterDatabaseSetStmt - (*DropdbStmt)(nil), // 289: pg_query.DropdbStmt - (*AlterSystemStmt)(nil), // 290: pg_query.AlterSystemStmt - (*ClusterStmt)(nil), // 291: pg_query.ClusterStmt - (*VacuumStmt)(nil), // 292: pg_query.VacuumStmt - (*VacuumRelation)(nil), // 293: pg_query.VacuumRelation - (*ExplainStmt)(nil), // 294: pg_query.ExplainStmt - (*CreateTableAsStmt)(nil), // 295: pg_query.CreateTableAsStmt - (*RefreshMatViewStmt)(nil), // 296: pg_query.RefreshMatViewStmt - (*CheckPointStmt)(nil), // 297: pg_query.CheckPointStmt - (*DiscardStmt)(nil), // 298: pg_query.DiscardStmt - (*LockStmt)(nil), // 299: pg_query.LockStmt - (*ConstraintsSetStmt)(nil), // 300: pg_query.ConstraintsSetStmt - (*ReindexStmt)(nil), // 301: pg_query.ReindexStmt - (*CreateConversionStmt)(nil), // 302: pg_query.CreateConversionStmt - (*CreateCastStmt)(nil), // 303: pg_query.CreateCastStmt - (*CreateTransformStmt)(nil), // 304: pg_query.CreateTransformStmt - (*PrepareStmt)(nil), // 305: pg_query.PrepareStmt - (*ExecuteStmt)(nil), // 306: pg_query.ExecuteStmt - (*DeallocateStmt)(nil), // 307: pg_query.DeallocateStmt - (*DropOwnedStmt)(nil), // 308: pg_query.DropOwnedStmt - (*ReassignOwnedStmt)(nil), // 309: pg_query.ReassignOwnedStmt - (*AlterTSDictionaryStmt)(nil), // 310: pg_query.AlterTSDictionaryStmt - (*AlterTSConfigurationStmt)(nil), // 311: pg_query.AlterTSConfigurationStmt - (*PublicationTable)(nil), // 312: pg_query.PublicationTable - (*PublicationObjSpec)(nil), // 313: pg_query.PublicationObjSpec - (*CreatePublicationStmt)(nil), // 314: pg_query.CreatePublicationStmt - (*AlterPublicationStmt)(nil), // 315: pg_query.AlterPublicationStmt - (*CreateSubscriptionStmt)(nil), // 316: pg_query.CreateSubscriptionStmt - (*AlterSubscriptionStmt)(nil), // 317: pg_query.AlterSubscriptionStmt - (*DropSubscriptionStmt)(nil), // 318: pg_query.DropSubscriptionStmt - (*ScanToken)(nil), // 319: pg_query.ScanToken + (QuerySource)(0), // 0: pg_query.QuerySource + (SortByDir)(0), // 1: pg_query.SortByDir + (SortByNulls)(0), // 2: pg_query.SortByNulls + (SetQuantifier)(0), // 3: pg_query.SetQuantifier + (A_Expr_Kind)(0), // 4: pg_query.A_Expr_Kind + (RoleSpecType)(0), // 5: pg_query.RoleSpecType + (TableLikeOption)(0), // 6: pg_query.TableLikeOption + (DefElemAction)(0), // 7: pg_query.DefElemAction + (PartitionStrategy)(0), // 8: pg_query.PartitionStrategy + (PartitionRangeDatumKind)(0), // 9: pg_query.PartitionRangeDatumKind + (RTEKind)(0), // 10: pg_query.RTEKind + (WCOKind)(0), // 11: pg_query.WCOKind + (GroupingSetKind)(0), // 12: pg_query.GroupingSetKind + (CTEMaterialize)(0), // 13: pg_query.CTEMaterialize + (JsonQuotes)(0), // 14: pg_query.JsonQuotes + (JsonTableColumnType)(0), // 15: pg_query.JsonTableColumnType + (SetOperation)(0), // 16: pg_query.SetOperation + (ObjectType)(0), // 17: pg_query.ObjectType + (DropBehavior)(0), // 18: pg_query.DropBehavior + (AlterTableType)(0), // 19: pg_query.AlterTableType + (GrantTargetType)(0), // 20: pg_query.GrantTargetType + (VariableSetKind)(0), // 21: pg_query.VariableSetKind + (ConstrType)(0), // 22: pg_query.ConstrType + (ImportForeignSchemaType)(0), // 23: pg_query.ImportForeignSchemaType + (RoleStmtType)(0), // 24: pg_query.RoleStmtType + (FetchDirection)(0), // 25: pg_query.FetchDirection + (FunctionParameterMode)(0), // 26: pg_query.FunctionParameterMode + (TransactionStmtKind)(0), // 27: pg_query.TransactionStmtKind + (ViewCheckOption)(0), // 28: pg_query.ViewCheckOption + (DiscardMode)(0), // 29: pg_query.DiscardMode + (ReindexObjectType)(0), // 30: pg_query.ReindexObjectType + (AlterTSConfigType)(0), // 31: pg_query.AlterTSConfigType + (PublicationObjSpecType)(0), // 32: pg_query.PublicationObjSpecType + (AlterPublicationAction)(0), // 33: pg_query.AlterPublicationAction + (AlterSubscriptionType)(0), // 34: pg_query.AlterSubscriptionType + (OverridingKind)(0), // 35: pg_query.OverridingKind + (OnCommitAction)(0), // 36: pg_query.OnCommitAction + (TableFuncType)(0), // 37: pg_query.TableFuncType + (ParamKind)(0), // 38: pg_query.ParamKind + (CoercionContext)(0), // 39: pg_query.CoercionContext + (CoercionForm)(0), // 40: pg_query.CoercionForm + (BoolExprType)(0), // 41: pg_query.BoolExprType + (SubLinkType)(0), // 42: pg_query.SubLinkType + (RowCompareType)(0), // 43: pg_query.RowCompareType + (MinMaxOp)(0), // 44: pg_query.MinMaxOp + (SQLValueFunctionOp)(0), // 45: pg_query.SQLValueFunctionOp + (XmlExprOp)(0), // 46: pg_query.XmlExprOp + (XmlOptionType)(0), // 47: pg_query.XmlOptionType + (JsonEncoding)(0), // 48: pg_query.JsonEncoding + (JsonFormatType)(0), // 49: pg_query.JsonFormatType + (JsonConstructorType)(0), // 50: pg_query.JsonConstructorType + (JsonValueType)(0), // 51: pg_query.JsonValueType + (JsonWrapper)(0), // 52: pg_query.JsonWrapper + (JsonBehaviorType)(0), // 53: pg_query.JsonBehaviorType + (JsonExprOp)(0), // 54: pg_query.JsonExprOp + (NullTestType)(0), // 55: pg_query.NullTestType + (BoolTestType)(0), // 56: pg_query.BoolTestType + (MergeMatchKind)(0), // 57: pg_query.MergeMatchKind + (CmdType)(0), // 58: pg_query.CmdType + (JoinType)(0), // 59: pg_query.JoinType + (AggStrategy)(0), // 60: pg_query.AggStrategy + (AggSplit)(0), // 61: pg_query.AggSplit + (SetOpCmd)(0), // 62: pg_query.SetOpCmd + (SetOpStrategy)(0), // 63: pg_query.SetOpStrategy + (OnConflictAction)(0), // 64: pg_query.OnConflictAction + (LimitOption)(0), // 65: pg_query.LimitOption + (LockClauseStrength)(0), // 66: pg_query.LockClauseStrength + (LockWaitPolicy)(0), // 67: pg_query.LockWaitPolicy + (LockTupleMode)(0), // 68: pg_query.LockTupleMode + (KeywordKind)(0), // 69: pg_query.KeywordKind + (Token)(0), // 70: pg_query.Token + (*ParseResult)(nil), // 71: pg_query.ParseResult + (*ScanResult)(nil), // 72: pg_query.ScanResult + (*Node)(nil), // 73: pg_query.Node + (*Integer)(nil), // 74: pg_query.Integer + (*Float)(nil), // 75: pg_query.Float + (*Boolean)(nil), // 76: pg_query.Boolean + (*String)(nil), // 77: pg_query.String + (*BitString)(nil), // 78: pg_query.BitString + (*List)(nil), // 79: pg_query.List + (*OidList)(nil), // 80: pg_query.OidList + (*IntList)(nil), // 81: pg_query.IntList + (*A_Const)(nil), // 82: pg_query.A_Const + (*Alias)(nil), // 83: pg_query.Alias + (*RangeVar)(nil), // 84: pg_query.RangeVar + (*TableFunc)(nil), // 85: pg_query.TableFunc + (*IntoClause)(nil), // 86: pg_query.IntoClause + (*Var)(nil), // 87: pg_query.Var + (*Param)(nil), // 88: pg_query.Param + (*Aggref)(nil), // 89: pg_query.Aggref + (*GroupingFunc)(nil), // 90: pg_query.GroupingFunc + (*WindowFunc)(nil), // 91: pg_query.WindowFunc + (*WindowFuncRunCondition)(nil), // 92: pg_query.WindowFuncRunCondition + (*MergeSupportFunc)(nil), // 93: pg_query.MergeSupportFunc + (*SubscriptingRef)(nil), // 94: pg_query.SubscriptingRef + (*FuncExpr)(nil), // 95: pg_query.FuncExpr + (*NamedArgExpr)(nil), // 96: pg_query.NamedArgExpr + (*OpExpr)(nil), // 97: pg_query.OpExpr + (*DistinctExpr)(nil), // 98: pg_query.DistinctExpr + (*NullIfExpr)(nil), // 99: pg_query.NullIfExpr + (*ScalarArrayOpExpr)(nil), // 100: pg_query.ScalarArrayOpExpr + (*BoolExpr)(nil), // 101: pg_query.BoolExpr + (*SubLink)(nil), // 102: pg_query.SubLink + (*SubPlan)(nil), // 103: pg_query.SubPlan + (*AlternativeSubPlan)(nil), // 104: pg_query.AlternativeSubPlan + (*FieldSelect)(nil), // 105: pg_query.FieldSelect + (*FieldStore)(nil), // 106: pg_query.FieldStore + (*RelabelType)(nil), // 107: pg_query.RelabelType + (*CoerceViaIO)(nil), // 108: pg_query.CoerceViaIO + (*ArrayCoerceExpr)(nil), // 109: pg_query.ArrayCoerceExpr + (*ConvertRowtypeExpr)(nil), // 110: pg_query.ConvertRowtypeExpr + (*CollateExpr)(nil), // 111: pg_query.CollateExpr + (*CaseExpr)(nil), // 112: pg_query.CaseExpr + (*CaseWhen)(nil), // 113: pg_query.CaseWhen + (*CaseTestExpr)(nil), // 114: pg_query.CaseTestExpr + (*ArrayExpr)(nil), // 115: pg_query.ArrayExpr + (*RowExpr)(nil), // 116: pg_query.RowExpr + (*RowCompareExpr)(nil), // 117: pg_query.RowCompareExpr + (*CoalesceExpr)(nil), // 118: pg_query.CoalesceExpr + (*MinMaxExpr)(nil), // 119: pg_query.MinMaxExpr + (*SQLValueFunction)(nil), // 120: pg_query.SQLValueFunction + (*XmlExpr)(nil), // 121: pg_query.XmlExpr + (*JsonFormat)(nil), // 122: pg_query.JsonFormat + (*JsonReturning)(nil), // 123: pg_query.JsonReturning + (*JsonValueExpr)(nil), // 124: pg_query.JsonValueExpr + (*JsonConstructorExpr)(nil), // 125: pg_query.JsonConstructorExpr + (*JsonIsPredicate)(nil), // 126: pg_query.JsonIsPredicate + (*JsonBehavior)(nil), // 127: pg_query.JsonBehavior + (*JsonExpr)(nil), // 128: pg_query.JsonExpr + (*JsonTablePath)(nil), // 129: pg_query.JsonTablePath + (*JsonTablePathScan)(nil), // 130: pg_query.JsonTablePathScan + (*JsonTableSiblingJoin)(nil), // 131: pg_query.JsonTableSiblingJoin + (*NullTest)(nil), // 132: pg_query.NullTest + (*BooleanTest)(nil), // 133: pg_query.BooleanTest + (*MergeAction)(nil), // 134: pg_query.MergeAction + (*CoerceToDomain)(nil), // 135: pg_query.CoerceToDomain + (*CoerceToDomainValue)(nil), // 136: pg_query.CoerceToDomainValue + (*SetToDefault)(nil), // 137: pg_query.SetToDefault + (*CurrentOfExpr)(nil), // 138: pg_query.CurrentOfExpr + (*NextValueExpr)(nil), // 139: pg_query.NextValueExpr + (*InferenceElem)(nil), // 140: pg_query.InferenceElem + (*TargetEntry)(nil), // 141: pg_query.TargetEntry + (*RangeTblRef)(nil), // 142: pg_query.RangeTblRef + (*JoinExpr)(nil), // 143: pg_query.JoinExpr + (*FromExpr)(nil), // 144: pg_query.FromExpr + (*OnConflictExpr)(nil), // 145: pg_query.OnConflictExpr + (*Query)(nil), // 146: pg_query.Query + (*TypeName)(nil), // 147: pg_query.TypeName + (*ColumnRef)(nil), // 148: pg_query.ColumnRef + (*ParamRef)(nil), // 149: pg_query.ParamRef + (*A_Expr)(nil), // 150: pg_query.A_Expr + (*TypeCast)(nil), // 151: pg_query.TypeCast + (*CollateClause)(nil), // 152: pg_query.CollateClause + (*RoleSpec)(nil), // 153: pg_query.RoleSpec + (*FuncCall)(nil), // 154: pg_query.FuncCall + (*A_Star)(nil), // 155: pg_query.A_Star + (*A_Indices)(nil), // 156: pg_query.A_Indices + (*A_Indirection)(nil), // 157: pg_query.A_Indirection + (*A_ArrayExpr)(nil), // 158: pg_query.A_ArrayExpr + (*ResTarget)(nil), // 159: pg_query.ResTarget + (*MultiAssignRef)(nil), // 160: pg_query.MultiAssignRef + (*SortBy)(nil), // 161: pg_query.SortBy + (*WindowDef)(nil), // 162: pg_query.WindowDef + (*RangeSubselect)(nil), // 163: pg_query.RangeSubselect + (*RangeFunction)(nil), // 164: pg_query.RangeFunction + (*RangeTableFunc)(nil), // 165: pg_query.RangeTableFunc + (*RangeTableFuncCol)(nil), // 166: pg_query.RangeTableFuncCol + (*RangeTableSample)(nil), // 167: pg_query.RangeTableSample + (*ColumnDef)(nil), // 168: pg_query.ColumnDef + (*TableLikeClause)(nil), // 169: pg_query.TableLikeClause + (*IndexElem)(nil), // 170: pg_query.IndexElem + (*DefElem)(nil), // 171: pg_query.DefElem + (*LockingClause)(nil), // 172: pg_query.LockingClause + (*XmlSerialize)(nil), // 173: pg_query.XmlSerialize + (*PartitionElem)(nil), // 174: pg_query.PartitionElem + (*PartitionSpec)(nil), // 175: pg_query.PartitionSpec + (*PartitionBoundSpec)(nil), // 176: pg_query.PartitionBoundSpec + (*PartitionRangeDatum)(nil), // 177: pg_query.PartitionRangeDatum + (*SinglePartitionSpec)(nil), // 178: pg_query.SinglePartitionSpec + (*PartitionCmd)(nil), // 179: pg_query.PartitionCmd + (*RangeTblEntry)(nil), // 180: pg_query.RangeTblEntry + (*RTEPermissionInfo)(nil), // 181: pg_query.RTEPermissionInfo + (*RangeTblFunction)(nil), // 182: pg_query.RangeTblFunction + (*TableSampleClause)(nil), // 183: pg_query.TableSampleClause + (*WithCheckOption)(nil), // 184: pg_query.WithCheckOption + (*SortGroupClause)(nil), // 185: pg_query.SortGroupClause + (*GroupingSet)(nil), // 186: pg_query.GroupingSet + (*WindowClause)(nil), // 187: pg_query.WindowClause + (*RowMarkClause)(nil), // 188: pg_query.RowMarkClause + (*WithClause)(nil), // 189: pg_query.WithClause + (*InferClause)(nil), // 190: pg_query.InferClause + (*OnConflictClause)(nil), // 191: pg_query.OnConflictClause + (*CTESearchClause)(nil), // 192: pg_query.CTESearchClause + (*CTECycleClause)(nil), // 193: pg_query.CTECycleClause + (*CommonTableExpr)(nil), // 194: pg_query.CommonTableExpr + (*MergeWhenClause)(nil), // 195: pg_query.MergeWhenClause + (*TriggerTransition)(nil), // 196: pg_query.TriggerTransition + (*JsonOutput)(nil), // 197: pg_query.JsonOutput + (*JsonArgument)(nil), // 198: pg_query.JsonArgument + (*JsonFuncExpr)(nil), // 199: pg_query.JsonFuncExpr + (*JsonTablePathSpec)(nil), // 200: pg_query.JsonTablePathSpec + (*JsonTable)(nil), // 201: pg_query.JsonTable + (*JsonTableColumn)(nil), // 202: pg_query.JsonTableColumn + (*JsonKeyValue)(nil), // 203: pg_query.JsonKeyValue + (*JsonParseExpr)(nil), // 204: pg_query.JsonParseExpr + (*JsonScalarExpr)(nil), // 205: pg_query.JsonScalarExpr + (*JsonSerializeExpr)(nil), // 206: pg_query.JsonSerializeExpr + (*JsonObjectConstructor)(nil), // 207: pg_query.JsonObjectConstructor + (*JsonArrayConstructor)(nil), // 208: pg_query.JsonArrayConstructor + (*JsonArrayQueryConstructor)(nil), // 209: pg_query.JsonArrayQueryConstructor + (*JsonAggConstructor)(nil), // 210: pg_query.JsonAggConstructor + (*JsonObjectAgg)(nil), // 211: pg_query.JsonObjectAgg + (*JsonArrayAgg)(nil), // 212: pg_query.JsonArrayAgg + (*RawStmt)(nil), // 213: pg_query.RawStmt + (*InsertStmt)(nil), // 214: pg_query.InsertStmt + (*DeleteStmt)(nil), // 215: pg_query.DeleteStmt + (*UpdateStmt)(nil), // 216: pg_query.UpdateStmt + (*MergeStmt)(nil), // 217: pg_query.MergeStmt + (*SelectStmt)(nil), // 218: pg_query.SelectStmt + (*SetOperationStmt)(nil), // 219: pg_query.SetOperationStmt + (*ReturnStmt)(nil), // 220: pg_query.ReturnStmt + (*PLAssignStmt)(nil), // 221: pg_query.PLAssignStmt + (*CreateSchemaStmt)(nil), // 222: pg_query.CreateSchemaStmt + (*AlterTableStmt)(nil), // 223: pg_query.AlterTableStmt + (*ReplicaIdentityStmt)(nil), // 224: pg_query.ReplicaIdentityStmt + (*AlterTableCmd)(nil), // 225: pg_query.AlterTableCmd + (*AlterCollationStmt)(nil), // 226: pg_query.AlterCollationStmt + (*AlterDomainStmt)(nil), // 227: pg_query.AlterDomainStmt + (*GrantStmt)(nil), // 228: pg_query.GrantStmt + (*ObjectWithArgs)(nil), // 229: pg_query.ObjectWithArgs + (*AccessPriv)(nil), // 230: pg_query.AccessPriv + (*GrantRoleStmt)(nil), // 231: pg_query.GrantRoleStmt + (*AlterDefaultPrivilegesStmt)(nil), // 232: pg_query.AlterDefaultPrivilegesStmt + (*CopyStmt)(nil), // 233: pg_query.CopyStmt + (*VariableSetStmt)(nil), // 234: pg_query.VariableSetStmt + (*VariableShowStmt)(nil), // 235: pg_query.VariableShowStmt + (*CreateStmt)(nil), // 236: pg_query.CreateStmt + (*Constraint)(nil), // 237: pg_query.Constraint + (*CreateTableSpaceStmt)(nil), // 238: pg_query.CreateTableSpaceStmt + (*DropTableSpaceStmt)(nil), // 239: pg_query.DropTableSpaceStmt + (*AlterTableSpaceOptionsStmt)(nil), // 240: pg_query.AlterTableSpaceOptionsStmt + (*AlterTableMoveAllStmt)(nil), // 241: pg_query.AlterTableMoveAllStmt + (*CreateExtensionStmt)(nil), // 242: pg_query.CreateExtensionStmt + (*AlterExtensionStmt)(nil), // 243: pg_query.AlterExtensionStmt + (*AlterExtensionContentsStmt)(nil), // 244: pg_query.AlterExtensionContentsStmt + (*CreateFdwStmt)(nil), // 245: pg_query.CreateFdwStmt + (*AlterFdwStmt)(nil), // 246: pg_query.AlterFdwStmt + (*CreateForeignServerStmt)(nil), // 247: pg_query.CreateForeignServerStmt + (*AlterForeignServerStmt)(nil), // 248: pg_query.AlterForeignServerStmt + (*CreateForeignTableStmt)(nil), // 249: pg_query.CreateForeignTableStmt + (*CreateUserMappingStmt)(nil), // 250: pg_query.CreateUserMappingStmt + (*AlterUserMappingStmt)(nil), // 251: pg_query.AlterUserMappingStmt + (*DropUserMappingStmt)(nil), // 252: pg_query.DropUserMappingStmt + (*ImportForeignSchemaStmt)(nil), // 253: pg_query.ImportForeignSchemaStmt + (*CreatePolicyStmt)(nil), // 254: pg_query.CreatePolicyStmt + (*AlterPolicyStmt)(nil), // 255: pg_query.AlterPolicyStmt + (*CreateAmStmt)(nil), // 256: pg_query.CreateAmStmt + (*CreateTrigStmt)(nil), // 257: pg_query.CreateTrigStmt + (*CreateEventTrigStmt)(nil), // 258: pg_query.CreateEventTrigStmt + (*AlterEventTrigStmt)(nil), // 259: pg_query.AlterEventTrigStmt + (*CreatePLangStmt)(nil), // 260: pg_query.CreatePLangStmt + (*CreateRoleStmt)(nil), // 261: pg_query.CreateRoleStmt + (*AlterRoleStmt)(nil), // 262: pg_query.AlterRoleStmt + (*AlterRoleSetStmt)(nil), // 263: pg_query.AlterRoleSetStmt + (*DropRoleStmt)(nil), // 264: pg_query.DropRoleStmt + (*CreateSeqStmt)(nil), // 265: pg_query.CreateSeqStmt + (*AlterSeqStmt)(nil), // 266: pg_query.AlterSeqStmt + (*DefineStmt)(nil), // 267: pg_query.DefineStmt + (*CreateDomainStmt)(nil), // 268: pg_query.CreateDomainStmt + (*CreateOpClassStmt)(nil), // 269: pg_query.CreateOpClassStmt + (*CreateOpClassItem)(nil), // 270: pg_query.CreateOpClassItem + (*CreateOpFamilyStmt)(nil), // 271: pg_query.CreateOpFamilyStmt + (*AlterOpFamilyStmt)(nil), // 272: pg_query.AlterOpFamilyStmt + (*DropStmt)(nil), // 273: pg_query.DropStmt + (*TruncateStmt)(nil), // 274: pg_query.TruncateStmt + (*CommentStmt)(nil), // 275: pg_query.CommentStmt + (*SecLabelStmt)(nil), // 276: pg_query.SecLabelStmt + (*DeclareCursorStmt)(nil), // 277: pg_query.DeclareCursorStmt + (*ClosePortalStmt)(nil), // 278: pg_query.ClosePortalStmt + (*FetchStmt)(nil), // 279: pg_query.FetchStmt + (*IndexStmt)(nil), // 280: pg_query.IndexStmt + (*CreateStatsStmt)(nil), // 281: pg_query.CreateStatsStmt + (*StatsElem)(nil), // 282: pg_query.StatsElem + (*AlterStatsStmt)(nil), // 283: pg_query.AlterStatsStmt + (*CreateFunctionStmt)(nil), // 284: pg_query.CreateFunctionStmt + (*FunctionParameter)(nil), // 285: pg_query.FunctionParameter + (*AlterFunctionStmt)(nil), // 286: pg_query.AlterFunctionStmt + (*DoStmt)(nil), // 287: pg_query.DoStmt + (*InlineCodeBlock)(nil), // 288: pg_query.InlineCodeBlock + (*CallStmt)(nil), // 289: pg_query.CallStmt + (*CallContext)(nil), // 290: pg_query.CallContext + (*RenameStmt)(nil), // 291: pg_query.RenameStmt + (*AlterObjectDependsStmt)(nil), // 292: pg_query.AlterObjectDependsStmt + (*AlterObjectSchemaStmt)(nil), // 293: pg_query.AlterObjectSchemaStmt + (*AlterOwnerStmt)(nil), // 294: pg_query.AlterOwnerStmt + (*AlterOperatorStmt)(nil), // 295: pg_query.AlterOperatorStmt + (*AlterTypeStmt)(nil), // 296: pg_query.AlterTypeStmt + (*RuleStmt)(nil), // 297: pg_query.RuleStmt + (*NotifyStmt)(nil), // 298: pg_query.NotifyStmt + (*ListenStmt)(nil), // 299: pg_query.ListenStmt + (*UnlistenStmt)(nil), // 300: pg_query.UnlistenStmt + (*TransactionStmt)(nil), // 301: pg_query.TransactionStmt + (*CompositeTypeStmt)(nil), // 302: pg_query.CompositeTypeStmt + (*CreateEnumStmt)(nil), // 303: pg_query.CreateEnumStmt + (*CreateRangeStmt)(nil), // 304: pg_query.CreateRangeStmt + (*AlterEnumStmt)(nil), // 305: pg_query.AlterEnumStmt + (*ViewStmt)(nil), // 306: pg_query.ViewStmt + (*LoadStmt)(nil), // 307: pg_query.LoadStmt + (*CreatedbStmt)(nil), // 308: pg_query.CreatedbStmt + (*AlterDatabaseStmt)(nil), // 309: pg_query.AlterDatabaseStmt + (*AlterDatabaseRefreshCollStmt)(nil), // 310: pg_query.AlterDatabaseRefreshCollStmt + (*AlterDatabaseSetStmt)(nil), // 311: pg_query.AlterDatabaseSetStmt + (*DropdbStmt)(nil), // 312: pg_query.DropdbStmt + (*AlterSystemStmt)(nil), // 313: pg_query.AlterSystemStmt + (*ClusterStmt)(nil), // 314: pg_query.ClusterStmt + (*VacuumStmt)(nil), // 315: pg_query.VacuumStmt + (*VacuumRelation)(nil), // 316: pg_query.VacuumRelation + (*ExplainStmt)(nil), // 317: pg_query.ExplainStmt + (*CreateTableAsStmt)(nil), // 318: pg_query.CreateTableAsStmt + (*RefreshMatViewStmt)(nil), // 319: pg_query.RefreshMatViewStmt + (*CheckPointStmt)(nil), // 320: pg_query.CheckPointStmt + (*DiscardStmt)(nil), // 321: pg_query.DiscardStmt + (*LockStmt)(nil), // 322: pg_query.LockStmt + (*ConstraintsSetStmt)(nil), // 323: pg_query.ConstraintsSetStmt + (*ReindexStmt)(nil), // 324: pg_query.ReindexStmt + (*CreateConversionStmt)(nil), // 325: pg_query.CreateConversionStmt + (*CreateCastStmt)(nil), // 326: pg_query.CreateCastStmt + (*CreateTransformStmt)(nil), // 327: pg_query.CreateTransformStmt + (*PrepareStmt)(nil), // 328: pg_query.PrepareStmt + (*ExecuteStmt)(nil), // 329: pg_query.ExecuteStmt + (*DeallocateStmt)(nil), // 330: pg_query.DeallocateStmt + (*DropOwnedStmt)(nil), // 331: pg_query.DropOwnedStmt + (*ReassignOwnedStmt)(nil), // 332: pg_query.ReassignOwnedStmt + (*AlterTSDictionaryStmt)(nil), // 333: pg_query.AlterTSDictionaryStmt + (*AlterTSConfigurationStmt)(nil), // 334: pg_query.AlterTSConfigurationStmt + (*PublicationTable)(nil), // 335: pg_query.PublicationTable + (*PublicationObjSpec)(nil), // 336: pg_query.PublicationObjSpec + (*CreatePublicationStmt)(nil), // 337: pg_query.CreatePublicationStmt + (*AlterPublicationStmt)(nil), // 338: pg_query.AlterPublicationStmt + (*CreateSubscriptionStmt)(nil), // 339: pg_query.CreateSubscriptionStmt + (*AlterSubscriptionStmt)(nil), // 340: pg_query.AlterSubscriptionStmt + (*DropSubscriptionStmt)(nil), // 341: pg_query.DropSubscriptionStmt + (*ScanToken)(nil), // 342: pg_query.ScanToken } var file_pg_query_proto_depIdxs = []int32{ - 190, // 0: pg_query.ParseResult.stmts:type_name -> pg_query.RawStmt - 319, // 1: pg_query.ScanResult.tokens:type_name -> pg_query.ScanToken - 76, // 2: pg_query.Node.alias:type_name -> pg_query.Alias - 77, // 3: pg_query.Node.range_var:type_name -> pg_query.RangeVar - 78, // 4: pg_query.Node.table_func:type_name -> pg_query.TableFunc - 79, // 5: pg_query.Node.into_clause:type_name -> pg_query.IntoClause - 80, // 6: pg_query.Node.var:type_name -> pg_query.Var - 81, // 7: pg_query.Node.param:type_name -> pg_query.Param - 82, // 8: pg_query.Node.aggref:type_name -> pg_query.Aggref - 83, // 9: pg_query.Node.grouping_func:type_name -> pg_query.GroupingFunc - 84, // 10: pg_query.Node.window_func:type_name -> pg_query.WindowFunc - 85, // 11: pg_query.Node.subscripting_ref:type_name -> pg_query.SubscriptingRef - 86, // 12: pg_query.Node.func_expr:type_name -> pg_query.FuncExpr - 87, // 13: pg_query.Node.named_arg_expr:type_name -> pg_query.NamedArgExpr - 88, // 14: pg_query.Node.op_expr:type_name -> pg_query.OpExpr - 89, // 15: pg_query.Node.distinct_expr:type_name -> pg_query.DistinctExpr - 90, // 16: pg_query.Node.null_if_expr:type_name -> pg_query.NullIfExpr - 91, // 17: pg_query.Node.scalar_array_op_expr:type_name -> pg_query.ScalarArrayOpExpr - 92, // 18: pg_query.Node.bool_expr:type_name -> pg_query.BoolExpr - 93, // 19: pg_query.Node.sub_link:type_name -> pg_query.SubLink - 94, // 20: pg_query.Node.sub_plan:type_name -> pg_query.SubPlan - 95, // 21: pg_query.Node.alternative_sub_plan:type_name -> pg_query.AlternativeSubPlan - 96, // 22: pg_query.Node.field_select:type_name -> pg_query.FieldSelect - 97, // 23: pg_query.Node.field_store:type_name -> pg_query.FieldStore - 98, // 24: pg_query.Node.relabel_type:type_name -> pg_query.RelabelType - 99, // 25: pg_query.Node.coerce_via_io:type_name -> pg_query.CoerceViaIO - 100, // 26: pg_query.Node.array_coerce_expr:type_name -> pg_query.ArrayCoerceExpr - 101, // 27: pg_query.Node.convert_rowtype_expr:type_name -> pg_query.ConvertRowtypeExpr - 102, // 28: pg_query.Node.collate_expr:type_name -> pg_query.CollateExpr - 103, // 29: pg_query.Node.case_expr:type_name -> pg_query.CaseExpr - 104, // 30: pg_query.Node.case_when:type_name -> pg_query.CaseWhen - 105, // 31: pg_query.Node.case_test_expr:type_name -> pg_query.CaseTestExpr - 106, // 32: pg_query.Node.array_expr:type_name -> pg_query.ArrayExpr - 107, // 33: pg_query.Node.row_expr:type_name -> pg_query.RowExpr - 108, // 34: pg_query.Node.row_compare_expr:type_name -> pg_query.RowCompareExpr - 109, // 35: pg_query.Node.coalesce_expr:type_name -> pg_query.CoalesceExpr - 110, // 36: pg_query.Node.min_max_expr:type_name -> pg_query.MinMaxExpr - 111, // 37: pg_query.Node.sqlvalue_function:type_name -> pg_query.SQLValueFunction - 112, // 38: pg_query.Node.xml_expr:type_name -> pg_query.XmlExpr - 113, // 39: pg_query.Node.json_format:type_name -> pg_query.JsonFormat - 114, // 40: pg_query.Node.json_returning:type_name -> pg_query.JsonReturning - 115, // 41: pg_query.Node.json_value_expr:type_name -> pg_query.JsonValueExpr - 116, // 42: pg_query.Node.json_constructor_expr:type_name -> pg_query.JsonConstructorExpr - 117, // 43: pg_query.Node.json_is_predicate:type_name -> pg_query.JsonIsPredicate - 118, // 44: pg_query.Node.null_test:type_name -> pg_query.NullTest - 119, // 45: pg_query.Node.boolean_test:type_name -> pg_query.BooleanTest - 120, // 46: pg_query.Node.coerce_to_domain:type_name -> pg_query.CoerceToDomain - 121, // 47: pg_query.Node.coerce_to_domain_value:type_name -> pg_query.CoerceToDomainValue - 122, // 48: pg_query.Node.set_to_default:type_name -> pg_query.SetToDefault - 123, // 49: pg_query.Node.current_of_expr:type_name -> pg_query.CurrentOfExpr - 124, // 50: pg_query.Node.next_value_expr:type_name -> pg_query.NextValueExpr - 125, // 51: pg_query.Node.inference_elem:type_name -> pg_query.InferenceElem - 126, // 52: pg_query.Node.target_entry:type_name -> pg_query.TargetEntry - 127, // 53: pg_query.Node.range_tbl_ref:type_name -> pg_query.RangeTblRef - 128, // 54: pg_query.Node.join_expr:type_name -> pg_query.JoinExpr - 129, // 55: pg_query.Node.from_expr:type_name -> pg_query.FromExpr - 130, // 56: pg_query.Node.on_conflict_expr:type_name -> pg_query.OnConflictExpr - 131, // 57: pg_query.Node.query:type_name -> pg_query.Query - 132, // 58: pg_query.Node.type_name:type_name -> pg_query.TypeName - 133, // 59: pg_query.Node.column_ref:type_name -> pg_query.ColumnRef - 134, // 60: pg_query.Node.param_ref:type_name -> pg_query.ParamRef - 135, // 61: pg_query.Node.a_expr:type_name -> pg_query.A_Expr - 136, // 62: pg_query.Node.type_cast:type_name -> pg_query.TypeCast - 137, // 63: pg_query.Node.collate_clause:type_name -> pg_query.CollateClause - 138, // 64: pg_query.Node.role_spec:type_name -> pg_query.RoleSpec - 139, // 65: pg_query.Node.func_call:type_name -> pg_query.FuncCall - 140, // 66: pg_query.Node.a_star:type_name -> pg_query.A_Star - 141, // 67: pg_query.Node.a_indices:type_name -> pg_query.A_Indices - 142, // 68: pg_query.Node.a_indirection:type_name -> pg_query.A_Indirection - 143, // 69: pg_query.Node.a_array_expr:type_name -> pg_query.A_ArrayExpr - 144, // 70: pg_query.Node.res_target:type_name -> pg_query.ResTarget - 145, // 71: pg_query.Node.multi_assign_ref:type_name -> pg_query.MultiAssignRef - 146, // 72: pg_query.Node.sort_by:type_name -> pg_query.SortBy - 147, // 73: pg_query.Node.window_def:type_name -> pg_query.WindowDef - 148, // 74: pg_query.Node.range_subselect:type_name -> pg_query.RangeSubselect - 149, // 75: pg_query.Node.range_function:type_name -> pg_query.RangeFunction - 150, // 76: pg_query.Node.range_table_func:type_name -> pg_query.RangeTableFunc - 151, // 77: pg_query.Node.range_table_func_col:type_name -> pg_query.RangeTableFuncCol - 152, // 78: pg_query.Node.range_table_sample:type_name -> pg_query.RangeTableSample - 153, // 79: pg_query.Node.column_def:type_name -> pg_query.ColumnDef - 154, // 80: pg_query.Node.table_like_clause:type_name -> pg_query.TableLikeClause - 155, // 81: pg_query.Node.index_elem:type_name -> pg_query.IndexElem - 156, // 82: pg_query.Node.def_elem:type_name -> pg_query.DefElem - 157, // 83: pg_query.Node.locking_clause:type_name -> pg_query.LockingClause - 158, // 84: pg_query.Node.xml_serialize:type_name -> pg_query.XmlSerialize - 159, // 85: pg_query.Node.partition_elem:type_name -> pg_query.PartitionElem - 160, // 86: pg_query.Node.partition_spec:type_name -> pg_query.PartitionSpec - 161, // 87: pg_query.Node.partition_bound_spec:type_name -> pg_query.PartitionBoundSpec - 162, // 88: pg_query.Node.partition_range_datum:type_name -> pg_query.PartitionRangeDatum - 163, // 89: pg_query.Node.partition_cmd:type_name -> pg_query.PartitionCmd - 164, // 90: pg_query.Node.range_tbl_entry:type_name -> pg_query.RangeTblEntry - 165, // 91: pg_query.Node.rtepermission_info:type_name -> pg_query.RTEPermissionInfo - 166, // 92: pg_query.Node.range_tbl_function:type_name -> pg_query.RangeTblFunction - 167, // 93: pg_query.Node.table_sample_clause:type_name -> pg_query.TableSampleClause - 168, // 94: pg_query.Node.with_check_option:type_name -> pg_query.WithCheckOption - 169, // 95: pg_query.Node.sort_group_clause:type_name -> pg_query.SortGroupClause - 170, // 96: pg_query.Node.grouping_set:type_name -> pg_query.GroupingSet - 171, // 97: pg_query.Node.window_clause:type_name -> pg_query.WindowClause - 172, // 98: pg_query.Node.row_mark_clause:type_name -> pg_query.RowMarkClause - 173, // 99: pg_query.Node.with_clause:type_name -> pg_query.WithClause - 174, // 100: pg_query.Node.infer_clause:type_name -> pg_query.InferClause - 175, // 101: pg_query.Node.on_conflict_clause:type_name -> pg_query.OnConflictClause - 176, // 102: pg_query.Node.ctesearch_clause:type_name -> pg_query.CTESearchClause - 177, // 103: pg_query.Node.ctecycle_clause:type_name -> pg_query.CTECycleClause - 178, // 104: pg_query.Node.common_table_expr:type_name -> pg_query.CommonTableExpr - 179, // 105: pg_query.Node.merge_when_clause:type_name -> pg_query.MergeWhenClause - 180, // 106: pg_query.Node.merge_action:type_name -> pg_query.MergeAction - 181, // 107: pg_query.Node.trigger_transition:type_name -> pg_query.TriggerTransition - 182, // 108: pg_query.Node.json_output:type_name -> pg_query.JsonOutput - 183, // 109: pg_query.Node.json_key_value:type_name -> pg_query.JsonKeyValue - 184, // 110: pg_query.Node.json_object_constructor:type_name -> pg_query.JsonObjectConstructor - 185, // 111: pg_query.Node.json_array_constructor:type_name -> pg_query.JsonArrayConstructor - 186, // 112: pg_query.Node.json_array_query_constructor:type_name -> pg_query.JsonArrayQueryConstructor - 187, // 113: pg_query.Node.json_agg_constructor:type_name -> pg_query.JsonAggConstructor - 188, // 114: pg_query.Node.json_object_agg:type_name -> pg_query.JsonObjectAgg - 189, // 115: pg_query.Node.json_array_agg:type_name -> pg_query.JsonArrayAgg - 190, // 116: pg_query.Node.raw_stmt:type_name -> pg_query.RawStmt - 191, // 117: pg_query.Node.insert_stmt:type_name -> pg_query.InsertStmt - 192, // 118: pg_query.Node.delete_stmt:type_name -> pg_query.DeleteStmt - 193, // 119: pg_query.Node.update_stmt:type_name -> pg_query.UpdateStmt - 194, // 120: pg_query.Node.merge_stmt:type_name -> pg_query.MergeStmt - 195, // 121: pg_query.Node.select_stmt:type_name -> pg_query.SelectStmt - 196, // 122: pg_query.Node.set_operation_stmt:type_name -> pg_query.SetOperationStmt - 197, // 123: pg_query.Node.return_stmt:type_name -> pg_query.ReturnStmt - 198, // 124: pg_query.Node.plassign_stmt:type_name -> pg_query.PLAssignStmt - 199, // 125: pg_query.Node.create_schema_stmt:type_name -> pg_query.CreateSchemaStmt - 200, // 126: pg_query.Node.alter_table_stmt:type_name -> pg_query.AlterTableStmt - 201, // 127: pg_query.Node.replica_identity_stmt:type_name -> pg_query.ReplicaIdentityStmt - 202, // 128: pg_query.Node.alter_table_cmd:type_name -> pg_query.AlterTableCmd - 203, // 129: pg_query.Node.alter_collation_stmt:type_name -> pg_query.AlterCollationStmt - 204, // 130: pg_query.Node.alter_domain_stmt:type_name -> pg_query.AlterDomainStmt - 205, // 131: pg_query.Node.grant_stmt:type_name -> pg_query.GrantStmt - 206, // 132: pg_query.Node.object_with_args:type_name -> pg_query.ObjectWithArgs - 207, // 133: pg_query.Node.access_priv:type_name -> pg_query.AccessPriv - 208, // 134: pg_query.Node.grant_role_stmt:type_name -> pg_query.GrantRoleStmt - 209, // 135: pg_query.Node.alter_default_privileges_stmt:type_name -> pg_query.AlterDefaultPrivilegesStmt - 210, // 136: pg_query.Node.copy_stmt:type_name -> pg_query.CopyStmt - 211, // 137: pg_query.Node.variable_set_stmt:type_name -> pg_query.VariableSetStmt - 212, // 138: pg_query.Node.variable_show_stmt:type_name -> pg_query.VariableShowStmt - 213, // 139: pg_query.Node.create_stmt:type_name -> pg_query.CreateStmt - 214, // 140: pg_query.Node.constraint:type_name -> pg_query.Constraint - 215, // 141: pg_query.Node.create_table_space_stmt:type_name -> pg_query.CreateTableSpaceStmt - 216, // 142: pg_query.Node.drop_table_space_stmt:type_name -> pg_query.DropTableSpaceStmt - 217, // 143: pg_query.Node.alter_table_space_options_stmt:type_name -> pg_query.AlterTableSpaceOptionsStmt - 218, // 144: pg_query.Node.alter_table_move_all_stmt:type_name -> pg_query.AlterTableMoveAllStmt - 219, // 145: pg_query.Node.create_extension_stmt:type_name -> pg_query.CreateExtensionStmt - 220, // 146: pg_query.Node.alter_extension_stmt:type_name -> pg_query.AlterExtensionStmt - 221, // 147: pg_query.Node.alter_extension_contents_stmt:type_name -> pg_query.AlterExtensionContentsStmt - 222, // 148: pg_query.Node.create_fdw_stmt:type_name -> pg_query.CreateFdwStmt - 223, // 149: pg_query.Node.alter_fdw_stmt:type_name -> pg_query.AlterFdwStmt - 224, // 150: pg_query.Node.create_foreign_server_stmt:type_name -> pg_query.CreateForeignServerStmt - 225, // 151: pg_query.Node.alter_foreign_server_stmt:type_name -> pg_query.AlterForeignServerStmt - 226, // 152: pg_query.Node.create_foreign_table_stmt:type_name -> pg_query.CreateForeignTableStmt - 227, // 153: pg_query.Node.create_user_mapping_stmt:type_name -> pg_query.CreateUserMappingStmt - 228, // 154: pg_query.Node.alter_user_mapping_stmt:type_name -> pg_query.AlterUserMappingStmt - 229, // 155: pg_query.Node.drop_user_mapping_stmt:type_name -> pg_query.DropUserMappingStmt - 230, // 156: pg_query.Node.import_foreign_schema_stmt:type_name -> pg_query.ImportForeignSchemaStmt - 231, // 157: pg_query.Node.create_policy_stmt:type_name -> pg_query.CreatePolicyStmt - 232, // 158: pg_query.Node.alter_policy_stmt:type_name -> pg_query.AlterPolicyStmt - 233, // 159: pg_query.Node.create_am_stmt:type_name -> pg_query.CreateAmStmt - 234, // 160: pg_query.Node.create_trig_stmt:type_name -> pg_query.CreateTrigStmt - 235, // 161: pg_query.Node.create_event_trig_stmt:type_name -> pg_query.CreateEventTrigStmt - 236, // 162: pg_query.Node.alter_event_trig_stmt:type_name -> pg_query.AlterEventTrigStmt - 237, // 163: pg_query.Node.create_plang_stmt:type_name -> pg_query.CreatePLangStmt - 238, // 164: pg_query.Node.create_role_stmt:type_name -> pg_query.CreateRoleStmt - 239, // 165: pg_query.Node.alter_role_stmt:type_name -> pg_query.AlterRoleStmt - 240, // 166: pg_query.Node.alter_role_set_stmt:type_name -> pg_query.AlterRoleSetStmt - 241, // 167: pg_query.Node.drop_role_stmt:type_name -> pg_query.DropRoleStmt - 242, // 168: pg_query.Node.create_seq_stmt:type_name -> pg_query.CreateSeqStmt - 243, // 169: pg_query.Node.alter_seq_stmt:type_name -> pg_query.AlterSeqStmt - 244, // 170: pg_query.Node.define_stmt:type_name -> pg_query.DefineStmt - 245, // 171: pg_query.Node.create_domain_stmt:type_name -> pg_query.CreateDomainStmt - 246, // 172: pg_query.Node.create_op_class_stmt:type_name -> pg_query.CreateOpClassStmt - 247, // 173: pg_query.Node.create_op_class_item:type_name -> pg_query.CreateOpClassItem - 248, // 174: pg_query.Node.create_op_family_stmt:type_name -> pg_query.CreateOpFamilyStmt - 249, // 175: pg_query.Node.alter_op_family_stmt:type_name -> pg_query.AlterOpFamilyStmt - 250, // 176: pg_query.Node.drop_stmt:type_name -> pg_query.DropStmt - 251, // 177: pg_query.Node.truncate_stmt:type_name -> pg_query.TruncateStmt - 252, // 178: pg_query.Node.comment_stmt:type_name -> pg_query.CommentStmt - 253, // 179: pg_query.Node.sec_label_stmt:type_name -> pg_query.SecLabelStmt - 254, // 180: pg_query.Node.declare_cursor_stmt:type_name -> pg_query.DeclareCursorStmt - 255, // 181: pg_query.Node.close_portal_stmt:type_name -> pg_query.ClosePortalStmt - 256, // 182: pg_query.Node.fetch_stmt:type_name -> pg_query.FetchStmt - 257, // 183: pg_query.Node.index_stmt:type_name -> pg_query.IndexStmt - 258, // 184: pg_query.Node.create_stats_stmt:type_name -> pg_query.CreateStatsStmt - 259, // 185: pg_query.Node.stats_elem:type_name -> pg_query.StatsElem - 260, // 186: pg_query.Node.alter_stats_stmt:type_name -> pg_query.AlterStatsStmt - 261, // 187: pg_query.Node.create_function_stmt:type_name -> pg_query.CreateFunctionStmt - 262, // 188: pg_query.Node.function_parameter:type_name -> pg_query.FunctionParameter - 263, // 189: pg_query.Node.alter_function_stmt:type_name -> pg_query.AlterFunctionStmt - 264, // 190: pg_query.Node.do_stmt:type_name -> pg_query.DoStmt - 265, // 191: pg_query.Node.inline_code_block:type_name -> pg_query.InlineCodeBlock - 266, // 192: pg_query.Node.call_stmt:type_name -> pg_query.CallStmt - 267, // 193: pg_query.Node.call_context:type_name -> pg_query.CallContext - 268, // 194: pg_query.Node.rename_stmt:type_name -> pg_query.RenameStmt - 269, // 195: pg_query.Node.alter_object_depends_stmt:type_name -> pg_query.AlterObjectDependsStmt - 270, // 196: pg_query.Node.alter_object_schema_stmt:type_name -> pg_query.AlterObjectSchemaStmt - 271, // 197: pg_query.Node.alter_owner_stmt:type_name -> pg_query.AlterOwnerStmt - 272, // 198: pg_query.Node.alter_operator_stmt:type_name -> pg_query.AlterOperatorStmt - 273, // 199: pg_query.Node.alter_type_stmt:type_name -> pg_query.AlterTypeStmt - 274, // 200: pg_query.Node.rule_stmt:type_name -> pg_query.RuleStmt - 275, // 201: pg_query.Node.notify_stmt:type_name -> pg_query.NotifyStmt - 276, // 202: pg_query.Node.listen_stmt:type_name -> pg_query.ListenStmt - 277, // 203: pg_query.Node.unlisten_stmt:type_name -> pg_query.UnlistenStmt - 278, // 204: pg_query.Node.transaction_stmt:type_name -> pg_query.TransactionStmt - 279, // 205: pg_query.Node.composite_type_stmt:type_name -> pg_query.CompositeTypeStmt - 280, // 206: pg_query.Node.create_enum_stmt:type_name -> pg_query.CreateEnumStmt - 281, // 207: pg_query.Node.create_range_stmt:type_name -> pg_query.CreateRangeStmt - 282, // 208: pg_query.Node.alter_enum_stmt:type_name -> pg_query.AlterEnumStmt - 283, // 209: pg_query.Node.view_stmt:type_name -> pg_query.ViewStmt - 284, // 210: pg_query.Node.load_stmt:type_name -> pg_query.LoadStmt - 285, // 211: pg_query.Node.createdb_stmt:type_name -> pg_query.CreatedbStmt - 286, // 212: pg_query.Node.alter_database_stmt:type_name -> pg_query.AlterDatabaseStmt - 287, // 213: pg_query.Node.alter_database_refresh_coll_stmt:type_name -> pg_query.AlterDatabaseRefreshCollStmt - 288, // 214: pg_query.Node.alter_database_set_stmt:type_name -> pg_query.AlterDatabaseSetStmt - 289, // 215: pg_query.Node.dropdb_stmt:type_name -> pg_query.DropdbStmt - 290, // 216: pg_query.Node.alter_system_stmt:type_name -> pg_query.AlterSystemStmt - 291, // 217: pg_query.Node.cluster_stmt:type_name -> pg_query.ClusterStmt - 292, // 218: pg_query.Node.vacuum_stmt:type_name -> pg_query.VacuumStmt - 293, // 219: pg_query.Node.vacuum_relation:type_name -> pg_query.VacuumRelation - 294, // 220: pg_query.Node.explain_stmt:type_name -> pg_query.ExplainStmt - 295, // 221: pg_query.Node.create_table_as_stmt:type_name -> pg_query.CreateTableAsStmt - 296, // 222: pg_query.Node.refresh_mat_view_stmt:type_name -> pg_query.RefreshMatViewStmt - 297, // 223: pg_query.Node.check_point_stmt:type_name -> pg_query.CheckPointStmt - 298, // 224: pg_query.Node.discard_stmt:type_name -> pg_query.DiscardStmt - 299, // 225: pg_query.Node.lock_stmt:type_name -> pg_query.LockStmt - 300, // 226: pg_query.Node.constraints_set_stmt:type_name -> pg_query.ConstraintsSetStmt - 301, // 227: pg_query.Node.reindex_stmt:type_name -> pg_query.ReindexStmt - 302, // 228: pg_query.Node.create_conversion_stmt:type_name -> pg_query.CreateConversionStmt - 303, // 229: pg_query.Node.create_cast_stmt:type_name -> pg_query.CreateCastStmt - 304, // 230: pg_query.Node.create_transform_stmt:type_name -> pg_query.CreateTransformStmt - 305, // 231: pg_query.Node.prepare_stmt:type_name -> pg_query.PrepareStmt - 306, // 232: pg_query.Node.execute_stmt:type_name -> pg_query.ExecuteStmt - 307, // 233: pg_query.Node.deallocate_stmt:type_name -> pg_query.DeallocateStmt - 308, // 234: pg_query.Node.drop_owned_stmt:type_name -> pg_query.DropOwnedStmt - 309, // 235: pg_query.Node.reassign_owned_stmt:type_name -> pg_query.ReassignOwnedStmt - 310, // 236: pg_query.Node.alter_tsdictionary_stmt:type_name -> pg_query.AlterTSDictionaryStmt - 311, // 237: pg_query.Node.alter_tsconfiguration_stmt:type_name -> pg_query.AlterTSConfigurationStmt - 312, // 238: pg_query.Node.publication_table:type_name -> pg_query.PublicationTable - 313, // 239: pg_query.Node.publication_obj_spec:type_name -> pg_query.PublicationObjSpec - 314, // 240: pg_query.Node.create_publication_stmt:type_name -> pg_query.CreatePublicationStmt - 315, // 241: pg_query.Node.alter_publication_stmt:type_name -> pg_query.AlterPublicationStmt - 316, // 242: pg_query.Node.create_subscription_stmt:type_name -> pg_query.CreateSubscriptionStmt - 317, // 243: pg_query.Node.alter_subscription_stmt:type_name -> pg_query.AlterSubscriptionStmt - 318, // 244: pg_query.Node.drop_subscription_stmt:type_name -> pg_query.DropSubscriptionStmt - 67, // 245: pg_query.Node.integer:type_name -> pg_query.Integer - 68, // 246: pg_query.Node.float:type_name -> pg_query.Float - 69, // 247: pg_query.Node.boolean:type_name -> pg_query.Boolean - 70, // 248: pg_query.Node.string:type_name -> pg_query.String - 71, // 249: pg_query.Node.bit_string:type_name -> pg_query.BitString - 72, // 250: pg_query.Node.list:type_name -> pg_query.List - 74, // 251: pg_query.Node.int_list:type_name -> pg_query.IntList - 73, // 252: pg_query.Node.oid_list:type_name -> pg_query.OidList - 75, // 253: pg_query.Node.a_const:type_name -> pg_query.A_Const - 66, // 254: pg_query.List.items:type_name -> pg_query.Node - 66, // 255: pg_query.OidList.items:type_name -> pg_query.Node - 66, // 256: pg_query.IntList.items:type_name -> pg_query.Node - 67, // 257: pg_query.A_Const.ival:type_name -> pg_query.Integer - 68, // 258: pg_query.A_Const.fval:type_name -> pg_query.Float - 69, // 259: pg_query.A_Const.boolval:type_name -> pg_query.Boolean - 70, // 260: pg_query.A_Const.sval:type_name -> pg_query.String - 71, // 261: pg_query.A_Const.bsval:type_name -> pg_query.BitString - 66, // 262: pg_query.Alias.colnames:type_name -> pg_query.Node - 76, // 263: pg_query.RangeVar.alias:type_name -> pg_query.Alias - 66, // 264: pg_query.TableFunc.ns_uris:type_name -> pg_query.Node - 66, // 265: pg_query.TableFunc.ns_names:type_name -> pg_query.Node - 66, // 266: pg_query.TableFunc.docexpr:type_name -> pg_query.Node - 66, // 267: pg_query.TableFunc.rowexpr:type_name -> pg_query.Node - 66, // 268: pg_query.TableFunc.colnames:type_name -> pg_query.Node - 66, // 269: pg_query.TableFunc.coltypes:type_name -> pg_query.Node - 66, // 270: pg_query.TableFunc.coltypmods:type_name -> pg_query.Node - 66, // 271: pg_query.TableFunc.colcollations:type_name -> pg_query.Node - 66, // 272: pg_query.TableFunc.colexprs:type_name -> pg_query.Node - 66, // 273: pg_query.TableFunc.coldefexprs:type_name -> pg_query.Node - 77, // 274: pg_query.IntoClause.rel:type_name -> pg_query.RangeVar - 66, // 275: pg_query.IntoClause.col_names:type_name -> pg_query.Node - 66, // 276: pg_query.IntoClause.options:type_name -> pg_query.Node - 34, // 277: pg_query.IntoClause.on_commit:type_name -> pg_query.OnCommitAction - 66, // 278: pg_query.IntoClause.view_query:type_name -> pg_query.Node - 66, // 279: pg_query.Var.xpr:type_name -> pg_query.Node - 66, // 280: pg_query.Param.xpr:type_name -> pg_query.Node - 35, // 281: pg_query.Param.paramkind:type_name -> pg_query.ParamKind - 66, // 282: pg_query.Aggref.xpr:type_name -> pg_query.Node - 66, // 283: pg_query.Aggref.aggargtypes:type_name -> pg_query.Node - 66, // 284: pg_query.Aggref.aggdirectargs:type_name -> pg_query.Node - 66, // 285: pg_query.Aggref.args:type_name -> pg_query.Node - 66, // 286: pg_query.Aggref.aggorder:type_name -> pg_query.Node - 66, // 287: pg_query.Aggref.aggdistinct:type_name -> pg_query.Node - 66, // 288: pg_query.Aggref.aggfilter:type_name -> pg_query.Node - 54, // 289: pg_query.Aggref.aggsplit:type_name -> pg_query.AggSplit - 66, // 290: pg_query.GroupingFunc.xpr:type_name -> pg_query.Node - 66, // 291: pg_query.GroupingFunc.args:type_name -> pg_query.Node - 66, // 292: pg_query.GroupingFunc.refs:type_name -> pg_query.Node - 66, // 293: pg_query.WindowFunc.xpr:type_name -> pg_query.Node - 66, // 294: pg_query.WindowFunc.args:type_name -> pg_query.Node - 66, // 295: pg_query.WindowFunc.aggfilter:type_name -> pg_query.Node - 66, // 296: pg_query.SubscriptingRef.xpr:type_name -> pg_query.Node - 66, // 297: pg_query.SubscriptingRef.refupperindexpr:type_name -> pg_query.Node - 66, // 298: pg_query.SubscriptingRef.reflowerindexpr:type_name -> pg_query.Node - 66, // 299: pg_query.SubscriptingRef.refexpr:type_name -> pg_query.Node - 66, // 300: pg_query.SubscriptingRef.refassgnexpr:type_name -> pg_query.Node - 66, // 301: pg_query.FuncExpr.xpr:type_name -> pg_query.Node - 37, // 302: pg_query.FuncExpr.funcformat:type_name -> pg_query.CoercionForm - 66, // 303: pg_query.FuncExpr.args:type_name -> pg_query.Node - 66, // 304: pg_query.NamedArgExpr.xpr:type_name -> pg_query.Node - 66, // 305: pg_query.NamedArgExpr.arg:type_name -> pg_query.Node - 66, // 306: pg_query.OpExpr.xpr:type_name -> pg_query.Node - 66, // 307: pg_query.OpExpr.args:type_name -> pg_query.Node - 66, // 308: pg_query.DistinctExpr.xpr:type_name -> pg_query.Node - 66, // 309: pg_query.DistinctExpr.args:type_name -> pg_query.Node - 66, // 310: pg_query.NullIfExpr.xpr:type_name -> pg_query.Node - 66, // 311: pg_query.NullIfExpr.args:type_name -> pg_query.Node - 66, // 312: pg_query.ScalarArrayOpExpr.xpr:type_name -> pg_query.Node - 66, // 313: pg_query.ScalarArrayOpExpr.args:type_name -> pg_query.Node - 66, // 314: pg_query.BoolExpr.xpr:type_name -> pg_query.Node - 38, // 315: pg_query.BoolExpr.boolop:type_name -> pg_query.BoolExprType - 66, // 316: pg_query.BoolExpr.args:type_name -> pg_query.Node - 66, // 317: pg_query.SubLink.xpr:type_name -> pg_query.Node - 39, // 318: pg_query.SubLink.sub_link_type:type_name -> pg_query.SubLinkType - 66, // 319: pg_query.SubLink.testexpr:type_name -> pg_query.Node - 66, // 320: pg_query.SubLink.oper_name:type_name -> pg_query.Node - 66, // 321: pg_query.SubLink.subselect:type_name -> pg_query.Node - 66, // 322: pg_query.SubPlan.xpr:type_name -> pg_query.Node - 39, // 323: pg_query.SubPlan.sub_link_type:type_name -> pg_query.SubLinkType - 66, // 324: pg_query.SubPlan.testexpr:type_name -> pg_query.Node - 66, // 325: pg_query.SubPlan.param_ids:type_name -> pg_query.Node - 66, // 326: pg_query.SubPlan.set_param:type_name -> pg_query.Node - 66, // 327: pg_query.SubPlan.par_param:type_name -> pg_query.Node - 66, // 328: pg_query.SubPlan.args:type_name -> pg_query.Node - 66, // 329: pg_query.AlternativeSubPlan.xpr:type_name -> pg_query.Node - 66, // 330: pg_query.AlternativeSubPlan.subplans:type_name -> pg_query.Node - 66, // 331: pg_query.FieldSelect.xpr:type_name -> pg_query.Node - 66, // 332: pg_query.FieldSelect.arg:type_name -> pg_query.Node - 66, // 333: pg_query.FieldStore.xpr:type_name -> pg_query.Node - 66, // 334: pg_query.FieldStore.arg:type_name -> pg_query.Node - 66, // 335: pg_query.FieldStore.newvals:type_name -> pg_query.Node - 66, // 336: pg_query.FieldStore.fieldnums:type_name -> pg_query.Node - 66, // 337: pg_query.RelabelType.xpr:type_name -> pg_query.Node - 66, // 338: pg_query.RelabelType.arg:type_name -> pg_query.Node - 37, // 339: pg_query.RelabelType.relabelformat:type_name -> pg_query.CoercionForm - 66, // 340: pg_query.CoerceViaIO.xpr:type_name -> pg_query.Node - 66, // 341: pg_query.CoerceViaIO.arg:type_name -> pg_query.Node - 37, // 342: pg_query.CoerceViaIO.coerceformat:type_name -> pg_query.CoercionForm - 66, // 343: pg_query.ArrayCoerceExpr.xpr:type_name -> pg_query.Node - 66, // 344: pg_query.ArrayCoerceExpr.arg:type_name -> pg_query.Node - 66, // 345: pg_query.ArrayCoerceExpr.elemexpr:type_name -> pg_query.Node - 37, // 346: pg_query.ArrayCoerceExpr.coerceformat:type_name -> pg_query.CoercionForm - 66, // 347: pg_query.ConvertRowtypeExpr.xpr:type_name -> pg_query.Node - 66, // 348: pg_query.ConvertRowtypeExpr.arg:type_name -> pg_query.Node - 37, // 349: pg_query.ConvertRowtypeExpr.convertformat:type_name -> pg_query.CoercionForm - 66, // 350: pg_query.CollateExpr.xpr:type_name -> pg_query.Node - 66, // 351: pg_query.CollateExpr.arg:type_name -> pg_query.Node - 66, // 352: pg_query.CaseExpr.xpr:type_name -> pg_query.Node - 66, // 353: pg_query.CaseExpr.arg:type_name -> pg_query.Node - 66, // 354: pg_query.CaseExpr.args:type_name -> pg_query.Node - 66, // 355: pg_query.CaseExpr.defresult:type_name -> pg_query.Node - 66, // 356: pg_query.CaseWhen.xpr:type_name -> pg_query.Node - 66, // 357: pg_query.CaseWhen.expr:type_name -> pg_query.Node - 66, // 358: pg_query.CaseWhen.result:type_name -> pg_query.Node - 66, // 359: pg_query.CaseTestExpr.xpr:type_name -> pg_query.Node - 66, // 360: pg_query.ArrayExpr.xpr:type_name -> pg_query.Node - 66, // 361: pg_query.ArrayExpr.elements:type_name -> pg_query.Node - 66, // 362: pg_query.RowExpr.xpr:type_name -> pg_query.Node - 66, // 363: pg_query.RowExpr.args:type_name -> pg_query.Node - 37, // 364: pg_query.RowExpr.row_format:type_name -> pg_query.CoercionForm - 66, // 365: pg_query.RowExpr.colnames:type_name -> pg_query.Node - 66, // 366: pg_query.RowCompareExpr.xpr:type_name -> pg_query.Node - 40, // 367: pg_query.RowCompareExpr.rctype:type_name -> pg_query.RowCompareType - 66, // 368: pg_query.RowCompareExpr.opnos:type_name -> pg_query.Node - 66, // 369: pg_query.RowCompareExpr.opfamilies:type_name -> pg_query.Node - 66, // 370: pg_query.RowCompareExpr.inputcollids:type_name -> pg_query.Node - 66, // 371: pg_query.RowCompareExpr.largs:type_name -> pg_query.Node - 66, // 372: pg_query.RowCompareExpr.rargs:type_name -> pg_query.Node - 66, // 373: pg_query.CoalesceExpr.xpr:type_name -> pg_query.Node - 66, // 374: pg_query.CoalesceExpr.args:type_name -> pg_query.Node - 66, // 375: pg_query.MinMaxExpr.xpr:type_name -> pg_query.Node - 41, // 376: pg_query.MinMaxExpr.op:type_name -> pg_query.MinMaxOp - 66, // 377: pg_query.MinMaxExpr.args:type_name -> pg_query.Node - 66, // 378: pg_query.SQLValueFunction.xpr:type_name -> pg_query.Node - 42, // 379: pg_query.SQLValueFunction.op:type_name -> pg_query.SQLValueFunctionOp - 66, // 380: pg_query.XmlExpr.xpr:type_name -> pg_query.Node - 43, // 381: pg_query.XmlExpr.op:type_name -> pg_query.XmlExprOp - 66, // 382: pg_query.XmlExpr.named_args:type_name -> pg_query.Node - 66, // 383: pg_query.XmlExpr.arg_names:type_name -> pg_query.Node - 66, // 384: pg_query.XmlExpr.args:type_name -> pg_query.Node - 44, // 385: pg_query.XmlExpr.xmloption:type_name -> pg_query.XmlOptionType - 46, // 386: pg_query.JsonFormat.format_type:type_name -> pg_query.JsonFormatType - 45, // 387: pg_query.JsonFormat.encoding:type_name -> pg_query.JsonEncoding - 113, // 388: pg_query.JsonReturning.format:type_name -> pg_query.JsonFormat - 66, // 389: pg_query.JsonValueExpr.raw_expr:type_name -> pg_query.Node - 66, // 390: pg_query.JsonValueExpr.formatted_expr:type_name -> pg_query.Node - 113, // 391: pg_query.JsonValueExpr.format:type_name -> pg_query.JsonFormat - 66, // 392: pg_query.JsonConstructorExpr.xpr:type_name -> pg_query.Node - 47, // 393: pg_query.JsonConstructorExpr.type:type_name -> pg_query.JsonConstructorType - 66, // 394: pg_query.JsonConstructorExpr.args:type_name -> pg_query.Node - 66, // 395: pg_query.JsonConstructorExpr.func:type_name -> pg_query.Node - 66, // 396: pg_query.JsonConstructorExpr.coercion:type_name -> pg_query.Node - 114, // 397: pg_query.JsonConstructorExpr.returning:type_name -> pg_query.JsonReturning - 66, // 398: pg_query.JsonIsPredicate.expr:type_name -> pg_query.Node - 113, // 399: pg_query.JsonIsPredicate.format:type_name -> pg_query.JsonFormat - 48, // 400: pg_query.JsonIsPredicate.item_type:type_name -> pg_query.JsonValueType - 66, // 401: pg_query.NullTest.xpr:type_name -> pg_query.Node - 66, // 402: pg_query.NullTest.arg:type_name -> pg_query.Node - 49, // 403: pg_query.NullTest.nulltesttype:type_name -> pg_query.NullTestType - 66, // 404: pg_query.BooleanTest.xpr:type_name -> pg_query.Node - 66, // 405: pg_query.BooleanTest.arg:type_name -> pg_query.Node - 50, // 406: pg_query.BooleanTest.booltesttype:type_name -> pg_query.BoolTestType - 66, // 407: pg_query.CoerceToDomain.xpr:type_name -> pg_query.Node - 66, // 408: pg_query.CoerceToDomain.arg:type_name -> pg_query.Node - 37, // 409: pg_query.CoerceToDomain.coercionformat:type_name -> pg_query.CoercionForm - 66, // 410: pg_query.CoerceToDomainValue.xpr:type_name -> pg_query.Node - 66, // 411: pg_query.SetToDefault.xpr:type_name -> pg_query.Node - 66, // 412: pg_query.CurrentOfExpr.xpr:type_name -> pg_query.Node - 66, // 413: pg_query.NextValueExpr.xpr:type_name -> pg_query.Node - 66, // 414: pg_query.InferenceElem.xpr:type_name -> pg_query.Node - 66, // 415: pg_query.InferenceElem.expr:type_name -> pg_query.Node - 66, // 416: pg_query.TargetEntry.xpr:type_name -> pg_query.Node - 66, // 417: pg_query.TargetEntry.expr:type_name -> pg_query.Node - 52, // 418: pg_query.JoinExpr.jointype:type_name -> pg_query.JoinType - 66, // 419: pg_query.JoinExpr.larg:type_name -> pg_query.Node - 66, // 420: pg_query.JoinExpr.rarg:type_name -> pg_query.Node - 66, // 421: pg_query.JoinExpr.using_clause:type_name -> pg_query.Node - 76, // 422: pg_query.JoinExpr.join_using_alias:type_name -> pg_query.Alias - 66, // 423: pg_query.JoinExpr.quals:type_name -> pg_query.Node - 76, // 424: pg_query.JoinExpr.alias:type_name -> pg_query.Alias - 66, // 425: pg_query.FromExpr.fromlist:type_name -> pg_query.Node - 66, // 426: pg_query.FromExpr.quals:type_name -> pg_query.Node - 57, // 427: pg_query.OnConflictExpr.action:type_name -> pg_query.OnConflictAction - 66, // 428: pg_query.OnConflictExpr.arbiter_elems:type_name -> pg_query.Node - 66, // 429: pg_query.OnConflictExpr.arbiter_where:type_name -> pg_query.Node - 66, // 430: pg_query.OnConflictExpr.on_conflict_set:type_name -> pg_query.Node - 66, // 431: pg_query.OnConflictExpr.on_conflict_where:type_name -> pg_query.Node - 66, // 432: pg_query.OnConflictExpr.excl_rel_tlist:type_name -> pg_query.Node - 51, // 433: pg_query.Query.command_type:type_name -> pg_query.CmdType - 1, // 434: pg_query.Query.query_source:type_name -> pg_query.QuerySource - 66, // 435: pg_query.Query.utility_stmt:type_name -> pg_query.Node - 66, // 436: pg_query.Query.cte_list:type_name -> pg_query.Node - 66, // 437: pg_query.Query.rtable:type_name -> pg_query.Node - 66, // 438: pg_query.Query.rteperminfos:type_name -> pg_query.Node - 129, // 439: pg_query.Query.jointree:type_name -> pg_query.FromExpr - 66, // 440: pg_query.Query.merge_action_list:type_name -> pg_query.Node - 66, // 441: pg_query.Query.target_list:type_name -> pg_query.Node - 0, // 442: pg_query.Query.override:type_name -> pg_query.OverridingKind - 130, // 443: pg_query.Query.on_conflict:type_name -> pg_query.OnConflictExpr - 66, // 444: pg_query.Query.returning_list:type_name -> pg_query.Node - 66, // 445: pg_query.Query.group_clause:type_name -> pg_query.Node - 66, // 446: pg_query.Query.grouping_sets:type_name -> pg_query.Node - 66, // 447: pg_query.Query.having_qual:type_name -> pg_query.Node - 66, // 448: pg_query.Query.window_clause:type_name -> pg_query.Node - 66, // 449: pg_query.Query.distinct_clause:type_name -> pg_query.Node - 66, // 450: pg_query.Query.sort_clause:type_name -> pg_query.Node - 66, // 451: pg_query.Query.limit_offset:type_name -> pg_query.Node - 66, // 452: pg_query.Query.limit_count:type_name -> pg_query.Node - 58, // 453: pg_query.Query.limit_option:type_name -> pg_query.LimitOption - 66, // 454: pg_query.Query.row_marks:type_name -> pg_query.Node - 66, // 455: pg_query.Query.set_operations:type_name -> pg_query.Node - 66, // 456: pg_query.Query.constraint_deps:type_name -> pg_query.Node - 66, // 457: pg_query.Query.with_check_options:type_name -> pg_query.Node - 66, // 458: pg_query.TypeName.names:type_name -> pg_query.Node - 66, // 459: pg_query.TypeName.typmods:type_name -> pg_query.Node - 66, // 460: pg_query.TypeName.array_bounds:type_name -> pg_query.Node - 66, // 461: pg_query.ColumnRef.fields:type_name -> pg_query.Node - 5, // 462: pg_query.A_Expr.kind:type_name -> pg_query.A_Expr_Kind - 66, // 463: pg_query.A_Expr.name:type_name -> pg_query.Node - 66, // 464: pg_query.A_Expr.lexpr:type_name -> pg_query.Node - 66, // 465: pg_query.A_Expr.rexpr:type_name -> pg_query.Node - 66, // 466: pg_query.TypeCast.arg:type_name -> pg_query.Node - 132, // 467: pg_query.TypeCast.type_name:type_name -> pg_query.TypeName - 66, // 468: pg_query.CollateClause.arg:type_name -> pg_query.Node - 66, // 469: pg_query.CollateClause.collname:type_name -> pg_query.Node - 6, // 470: pg_query.RoleSpec.roletype:type_name -> pg_query.RoleSpecType - 66, // 471: pg_query.FuncCall.funcname:type_name -> pg_query.Node - 66, // 472: pg_query.FuncCall.args:type_name -> pg_query.Node - 66, // 473: pg_query.FuncCall.agg_order:type_name -> pg_query.Node - 66, // 474: pg_query.FuncCall.agg_filter:type_name -> pg_query.Node - 147, // 475: pg_query.FuncCall.over:type_name -> pg_query.WindowDef - 37, // 476: pg_query.FuncCall.funcformat:type_name -> pg_query.CoercionForm - 66, // 477: pg_query.A_Indices.lidx:type_name -> pg_query.Node - 66, // 478: pg_query.A_Indices.uidx:type_name -> pg_query.Node - 66, // 479: pg_query.A_Indirection.arg:type_name -> pg_query.Node - 66, // 480: pg_query.A_Indirection.indirection:type_name -> pg_query.Node - 66, // 481: pg_query.A_ArrayExpr.elements:type_name -> pg_query.Node - 66, // 482: pg_query.ResTarget.indirection:type_name -> pg_query.Node - 66, // 483: pg_query.ResTarget.val:type_name -> pg_query.Node - 66, // 484: pg_query.MultiAssignRef.source:type_name -> pg_query.Node - 66, // 485: pg_query.SortBy.node:type_name -> pg_query.Node - 2, // 486: pg_query.SortBy.sortby_dir:type_name -> pg_query.SortByDir - 3, // 487: pg_query.SortBy.sortby_nulls:type_name -> pg_query.SortByNulls - 66, // 488: pg_query.SortBy.use_op:type_name -> pg_query.Node - 66, // 489: pg_query.WindowDef.partition_clause:type_name -> pg_query.Node - 66, // 490: pg_query.WindowDef.order_clause:type_name -> pg_query.Node - 66, // 491: pg_query.WindowDef.start_offset:type_name -> pg_query.Node - 66, // 492: pg_query.WindowDef.end_offset:type_name -> pg_query.Node - 66, // 493: pg_query.RangeSubselect.subquery:type_name -> pg_query.Node - 76, // 494: pg_query.RangeSubselect.alias:type_name -> pg_query.Alias - 66, // 495: pg_query.RangeFunction.functions:type_name -> pg_query.Node - 76, // 496: pg_query.RangeFunction.alias:type_name -> pg_query.Alias - 66, // 497: pg_query.RangeFunction.coldeflist:type_name -> pg_query.Node - 66, // 498: pg_query.RangeTableFunc.docexpr:type_name -> pg_query.Node - 66, // 499: pg_query.RangeTableFunc.rowexpr:type_name -> pg_query.Node - 66, // 500: pg_query.RangeTableFunc.namespaces:type_name -> pg_query.Node - 66, // 501: pg_query.RangeTableFunc.columns:type_name -> pg_query.Node - 76, // 502: pg_query.RangeTableFunc.alias:type_name -> pg_query.Alias - 132, // 503: pg_query.RangeTableFuncCol.type_name:type_name -> pg_query.TypeName - 66, // 504: pg_query.RangeTableFuncCol.colexpr:type_name -> pg_query.Node - 66, // 505: pg_query.RangeTableFuncCol.coldefexpr:type_name -> pg_query.Node - 66, // 506: pg_query.RangeTableSample.relation:type_name -> pg_query.Node - 66, // 507: pg_query.RangeTableSample.method:type_name -> pg_query.Node - 66, // 508: pg_query.RangeTableSample.args:type_name -> pg_query.Node - 66, // 509: pg_query.RangeTableSample.repeatable:type_name -> pg_query.Node - 132, // 510: pg_query.ColumnDef.type_name:type_name -> pg_query.TypeName - 66, // 511: pg_query.ColumnDef.raw_default:type_name -> pg_query.Node - 66, // 512: pg_query.ColumnDef.cooked_default:type_name -> pg_query.Node - 77, // 513: pg_query.ColumnDef.identity_sequence:type_name -> pg_query.RangeVar - 137, // 514: pg_query.ColumnDef.coll_clause:type_name -> pg_query.CollateClause - 66, // 515: pg_query.ColumnDef.constraints:type_name -> pg_query.Node - 66, // 516: pg_query.ColumnDef.fdwoptions:type_name -> pg_query.Node - 77, // 517: pg_query.TableLikeClause.relation:type_name -> pg_query.RangeVar - 66, // 518: pg_query.IndexElem.expr:type_name -> pg_query.Node - 66, // 519: pg_query.IndexElem.collation:type_name -> pg_query.Node - 66, // 520: pg_query.IndexElem.opclass:type_name -> pg_query.Node - 66, // 521: pg_query.IndexElem.opclassopts:type_name -> pg_query.Node - 2, // 522: pg_query.IndexElem.ordering:type_name -> pg_query.SortByDir - 3, // 523: pg_query.IndexElem.nulls_ordering:type_name -> pg_query.SortByNulls - 66, // 524: pg_query.DefElem.arg:type_name -> pg_query.Node - 8, // 525: pg_query.DefElem.defaction:type_name -> pg_query.DefElemAction - 66, // 526: pg_query.LockingClause.locked_rels:type_name -> pg_query.Node - 59, // 527: pg_query.LockingClause.strength:type_name -> pg_query.LockClauseStrength - 60, // 528: pg_query.LockingClause.wait_policy:type_name -> pg_query.LockWaitPolicy - 44, // 529: pg_query.XmlSerialize.xmloption:type_name -> pg_query.XmlOptionType - 66, // 530: pg_query.XmlSerialize.expr:type_name -> pg_query.Node - 132, // 531: pg_query.XmlSerialize.type_name:type_name -> pg_query.TypeName - 66, // 532: pg_query.PartitionElem.expr:type_name -> pg_query.Node - 66, // 533: pg_query.PartitionElem.collation:type_name -> pg_query.Node - 66, // 534: pg_query.PartitionElem.opclass:type_name -> pg_query.Node - 9, // 535: pg_query.PartitionSpec.strategy:type_name -> pg_query.PartitionStrategy - 66, // 536: pg_query.PartitionSpec.part_params:type_name -> pg_query.Node - 66, // 537: pg_query.PartitionBoundSpec.listdatums:type_name -> pg_query.Node - 66, // 538: pg_query.PartitionBoundSpec.lowerdatums:type_name -> pg_query.Node - 66, // 539: pg_query.PartitionBoundSpec.upperdatums:type_name -> pg_query.Node - 10, // 540: pg_query.PartitionRangeDatum.kind:type_name -> pg_query.PartitionRangeDatumKind - 66, // 541: pg_query.PartitionRangeDatum.value:type_name -> pg_query.Node - 77, // 542: pg_query.PartitionCmd.name:type_name -> pg_query.RangeVar - 161, // 543: pg_query.PartitionCmd.bound:type_name -> pg_query.PartitionBoundSpec - 11, // 544: pg_query.RangeTblEntry.rtekind:type_name -> pg_query.RTEKind - 167, // 545: pg_query.RangeTblEntry.tablesample:type_name -> pg_query.TableSampleClause - 131, // 546: pg_query.RangeTblEntry.subquery:type_name -> pg_query.Query - 52, // 547: pg_query.RangeTblEntry.jointype:type_name -> pg_query.JoinType - 66, // 548: pg_query.RangeTblEntry.joinaliasvars:type_name -> pg_query.Node - 66, // 549: pg_query.RangeTblEntry.joinleftcols:type_name -> pg_query.Node - 66, // 550: pg_query.RangeTblEntry.joinrightcols:type_name -> pg_query.Node - 76, // 551: pg_query.RangeTblEntry.join_using_alias:type_name -> pg_query.Alias - 66, // 552: pg_query.RangeTblEntry.functions:type_name -> pg_query.Node - 78, // 553: pg_query.RangeTblEntry.tablefunc:type_name -> pg_query.TableFunc - 66, // 554: pg_query.RangeTblEntry.values_lists:type_name -> pg_query.Node - 66, // 555: pg_query.RangeTblEntry.coltypes:type_name -> pg_query.Node - 66, // 556: pg_query.RangeTblEntry.coltypmods:type_name -> pg_query.Node - 66, // 557: pg_query.RangeTblEntry.colcollations:type_name -> pg_query.Node - 76, // 558: pg_query.RangeTblEntry.alias:type_name -> pg_query.Alias - 76, // 559: pg_query.RangeTblEntry.eref:type_name -> pg_query.Alias - 66, // 560: pg_query.RangeTblEntry.security_quals:type_name -> pg_query.Node - 66, // 561: pg_query.RangeTblFunction.funcexpr:type_name -> pg_query.Node - 66, // 562: pg_query.RangeTblFunction.funccolnames:type_name -> pg_query.Node - 66, // 563: pg_query.RangeTblFunction.funccoltypes:type_name -> pg_query.Node - 66, // 564: pg_query.RangeTblFunction.funccoltypmods:type_name -> pg_query.Node - 66, // 565: pg_query.RangeTblFunction.funccolcollations:type_name -> pg_query.Node - 66, // 566: pg_query.TableSampleClause.args:type_name -> pg_query.Node - 66, // 567: pg_query.TableSampleClause.repeatable:type_name -> pg_query.Node - 12, // 568: pg_query.WithCheckOption.kind:type_name -> pg_query.WCOKind - 66, // 569: pg_query.WithCheckOption.qual:type_name -> pg_query.Node - 13, // 570: pg_query.GroupingSet.kind:type_name -> pg_query.GroupingSetKind - 66, // 571: pg_query.GroupingSet.content:type_name -> pg_query.Node - 66, // 572: pg_query.WindowClause.partition_clause:type_name -> pg_query.Node - 66, // 573: pg_query.WindowClause.order_clause:type_name -> pg_query.Node - 66, // 574: pg_query.WindowClause.start_offset:type_name -> pg_query.Node - 66, // 575: pg_query.WindowClause.end_offset:type_name -> pg_query.Node - 66, // 576: pg_query.WindowClause.run_condition:type_name -> pg_query.Node - 59, // 577: pg_query.RowMarkClause.strength:type_name -> pg_query.LockClauseStrength - 60, // 578: pg_query.RowMarkClause.wait_policy:type_name -> pg_query.LockWaitPolicy - 66, // 579: pg_query.WithClause.ctes:type_name -> pg_query.Node - 66, // 580: pg_query.InferClause.index_elems:type_name -> pg_query.Node - 66, // 581: pg_query.InferClause.where_clause:type_name -> pg_query.Node - 57, // 582: pg_query.OnConflictClause.action:type_name -> pg_query.OnConflictAction - 174, // 583: pg_query.OnConflictClause.infer:type_name -> pg_query.InferClause - 66, // 584: pg_query.OnConflictClause.target_list:type_name -> pg_query.Node - 66, // 585: pg_query.OnConflictClause.where_clause:type_name -> pg_query.Node - 66, // 586: pg_query.CTESearchClause.search_col_list:type_name -> pg_query.Node - 66, // 587: pg_query.CTECycleClause.cycle_col_list:type_name -> pg_query.Node - 66, // 588: pg_query.CTECycleClause.cycle_mark_value:type_name -> pg_query.Node - 66, // 589: pg_query.CTECycleClause.cycle_mark_default:type_name -> pg_query.Node - 66, // 590: pg_query.CommonTableExpr.aliascolnames:type_name -> pg_query.Node - 14, // 591: pg_query.CommonTableExpr.ctematerialized:type_name -> pg_query.CTEMaterialize - 66, // 592: pg_query.CommonTableExpr.ctequery:type_name -> pg_query.Node - 176, // 593: pg_query.CommonTableExpr.search_clause:type_name -> pg_query.CTESearchClause - 177, // 594: pg_query.CommonTableExpr.cycle_clause:type_name -> pg_query.CTECycleClause - 66, // 595: pg_query.CommonTableExpr.ctecolnames:type_name -> pg_query.Node - 66, // 596: pg_query.CommonTableExpr.ctecoltypes:type_name -> pg_query.Node - 66, // 597: pg_query.CommonTableExpr.ctecoltypmods:type_name -> pg_query.Node - 66, // 598: pg_query.CommonTableExpr.ctecolcollations:type_name -> pg_query.Node - 51, // 599: pg_query.MergeWhenClause.command_type:type_name -> pg_query.CmdType - 0, // 600: pg_query.MergeWhenClause.override:type_name -> pg_query.OverridingKind - 66, // 601: pg_query.MergeWhenClause.condition:type_name -> pg_query.Node - 66, // 602: pg_query.MergeWhenClause.target_list:type_name -> pg_query.Node - 66, // 603: pg_query.MergeWhenClause.values:type_name -> pg_query.Node - 51, // 604: pg_query.MergeAction.command_type:type_name -> pg_query.CmdType - 0, // 605: pg_query.MergeAction.override:type_name -> pg_query.OverridingKind - 66, // 606: pg_query.MergeAction.qual:type_name -> pg_query.Node - 66, // 607: pg_query.MergeAction.target_list:type_name -> pg_query.Node - 66, // 608: pg_query.MergeAction.update_colnos:type_name -> pg_query.Node - 132, // 609: pg_query.JsonOutput.type_name:type_name -> pg_query.TypeName - 114, // 610: pg_query.JsonOutput.returning:type_name -> pg_query.JsonReturning - 66, // 611: pg_query.JsonKeyValue.key:type_name -> pg_query.Node - 115, // 612: pg_query.JsonKeyValue.value:type_name -> pg_query.JsonValueExpr - 66, // 613: pg_query.JsonObjectConstructor.exprs:type_name -> pg_query.Node - 182, // 614: pg_query.JsonObjectConstructor.output:type_name -> pg_query.JsonOutput - 66, // 615: pg_query.JsonArrayConstructor.exprs:type_name -> pg_query.Node - 182, // 616: pg_query.JsonArrayConstructor.output:type_name -> pg_query.JsonOutput - 66, // 617: pg_query.JsonArrayQueryConstructor.query:type_name -> pg_query.Node - 182, // 618: pg_query.JsonArrayQueryConstructor.output:type_name -> pg_query.JsonOutput - 113, // 619: pg_query.JsonArrayQueryConstructor.format:type_name -> pg_query.JsonFormat - 182, // 620: pg_query.JsonAggConstructor.output:type_name -> pg_query.JsonOutput - 66, // 621: pg_query.JsonAggConstructor.agg_filter:type_name -> pg_query.Node - 66, // 622: pg_query.JsonAggConstructor.agg_order:type_name -> pg_query.Node - 147, // 623: pg_query.JsonAggConstructor.over:type_name -> pg_query.WindowDef - 187, // 624: pg_query.JsonObjectAgg.constructor:type_name -> pg_query.JsonAggConstructor - 183, // 625: pg_query.JsonObjectAgg.arg:type_name -> pg_query.JsonKeyValue - 187, // 626: pg_query.JsonArrayAgg.constructor:type_name -> pg_query.JsonAggConstructor - 115, // 627: pg_query.JsonArrayAgg.arg:type_name -> pg_query.JsonValueExpr - 66, // 628: pg_query.RawStmt.stmt:type_name -> pg_query.Node - 77, // 629: pg_query.InsertStmt.relation:type_name -> pg_query.RangeVar - 66, // 630: pg_query.InsertStmt.cols:type_name -> pg_query.Node - 66, // 631: pg_query.InsertStmt.select_stmt:type_name -> pg_query.Node - 175, // 632: pg_query.InsertStmt.on_conflict_clause:type_name -> pg_query.OnConflictClause - 66, // 633: pg_query.InsertStmt.returning_list:type_name -> pg_query.Node - 173, // 634: pg_query.InsertStmt.with_clause:type_name -> pg_query.WithClause - 0, // 635: pg_query.InsertStmt.override:type_name -> pg_query.OverridingKind - 77, // 636: pg_query.DeleteStmt.relation:type_name -> pg_query.RangeVar - 66, // 637: pg_query.DeleteStmt.using_clause:type_name -> pg_query.Node - 66, // 638: pg_query.DeleteStmt.where_clause:type_name -> pg_query.Node - 66, // 639: pg_query.DeleteStmt.returning_list:type_name -> pg_query.Node - 173, // 640: pg_query.DeleteStmt.with_clause:type_name -> pg_query.WithClause - 77, // 641: pg_query.UpdateStmt.relation:type_name -> pg_query.RangeVar - 66, // 642: pg_query.UpdateStmt.target_list:type_name -> pg_query.Node - 66, // 643: pg_query.UpdateStmt.where_clause:type_name -> pg_query.Node - 66, // 644: pg_query.UpdateStmt.from_clause:type_name -> pg_query.Node - 66, // 645: pg_query.UpdateStmt.returning_list:type_name -> pg_query.Node - 173, // 646: pg_query.UpdateStmt.with_clause:type_name -> pg_query.WithClause - 77, // 647: pg_query.MergeStmt.relation:type_name -> pg_query.RangeVar - 66, // 648: pg_query.MergeStmt.source_relation:type_name -> pg_query.Node - 66, // 649: pg_query.MergeStmt.join_condition:type_name -> pg_query.Node - 66, // 650: pg_query.MergeStmt.merge_when_clauses:type_name -> pg_query.Node - 173, // 651: pg_query.MergeStmt.with_clause:type_name -> pg_query.WithClause - 66, // 652: pg_query.SelectStmt.distinct_clause:type_name -> pg_query.Node - 79, // 653: pg_query.SelectStmt.into_clause:type_name -> pg_query.IntoClause - 66, // 654: pg_query.SelectStmt.target_list:type_name -> pg_query.Node - 66, // 655: pg_query.SelectStmt.from_clause:type_name -> pg_query.Node - 66, // 656: pg_query.SelectStmt.where_clause:type_name -> pg_query.Node - 66, // 657: pg_query.SelectStmt.group_clause:type_name -> pg_query.Node - 66, // 658: pg_query.SelectStmt.having_clause:type_name -> pg_query.Node - 66, // 659: pg_query.SelectStmt.window_clause:type_name -> pg_query.Node - 66, // 660: pg_query.SelectStmt.values_lists:type_name -> pg_query.Node - 66, // 661: pg_query.SelectStmt.sort_clause:type_name -> pg_query.Node - 66, // 662: pg_query.SelectStmt.limit_offset:type_name -> pg_query.Node - 66, // 663: pg_query.SelectStmt.limit_count:type_name -> pg_query.Node - 58, // 664: pg_query.SelectStmt.limit_option:type_name -> pg_query.LimitOption - 66, // 665: pg_query.SelectStmt.locking_clause:type_name -> pg_query.Node - 173, // 666: pg_query.SelectStmt.with_clause:type_name -> pg_query.WithClause - 15, // 667: pg_query.SelectStmt.op:type_name -> pg_query.SetOperation - 195, // 668: pg_query.SelectStmt.larg:type_name -> pg_query.SelectStmt - 195, // 669: pg_query.SelectStmt.rarg:type_name -> pg_query.SelectStmt - 15, // 670: pg_query.SetOperationStmt.op:type_name -> pg_query.SetOperation - 66, // 671: pg_query.SetOperationStmt.larg:type_name -> pg_query.Node - 66, // 672: pg_query.SetOperationStmt.rarg:type_name -> pg_query.Node - 66, // 673: pg_query.SetOperationStmt.col_types:type_name -> pg_query.Node - 66, // 674: pg_query.SetOperationStmt.col_typmods:type_name -> pg_query.Node - 66, // 675: pg_query.SetOperationStmt.col_collations:type_name -> pg_query.Node - 66, // 676: pg_query.SetOperationStmt.group_clauses:type_name -> pg_query.Node - 66, // 677: pg_query.ReturnStmt.returnval:type_name -> pg_query.Node - 66, // 678: pg_query.PLAssignStmt.indirection:type_name -> pg_query.Node - 195, // 679: pg_query.PLAssignStmt.val:type_name -> pg_query.SelectStmt - 138, // 680: pg_query.CreateSchemaStmt.authrole:type_name -> pg_query.RoleSpec - 66, // 681: pg_query.CreateSchemaStmt.schema_elts:type_name -> pg_query.Node - 77, // 682: pg_query.AlterTableStmt.relation:type_name -> pg_query.RangeVar - 66, // 683: pg_query.AlterTableStmt.cmds:type_name -> pg_query.Node - 16, // 684: pg_query.AlterTableStmt.objtype:type_name -> pg_query.ObjectType - 18, // 685: pg_query.AlterTableCmd.subtype:type_name -> pg_query.AlterTableType - 138, // 686: pg_query.AlterTableCmd.newowner:type_name -> pg_query.RoleSpec - 66, // 687: pg_query.AlterTableCmd.def:type_name -> pg_query.Node - 17, // 688: pg_query.AlterTableCmd.behavior:type_name -> pg_query.DropBehavior - 66, // 689: pg_query.AlterCollationStmt.collname:type_name -> pg_query.Node - 66, // 690: pg_query.AlterDomainStmt.type_name:type_name -> pg_query.Node - 66, // 691: pg_query.AlterDomainStmt.def:type_name -> pg_query.Node - 17, // 692: pg_query.AlterDomainStmt.behavior:type_name -> pg_query.DropBehavior - 19, // 693: pg_query.GrantStmt.targtype:type_name -> pg_query.GrantTargetType - 16, // 694: pg_query.GrantStmt.objtype:type_name -> pg_query.ObjectType - 66, // 695: pg_query.GrantStmt.objects:type_name -> pg_query.Node - 66, // 696: pg_query.GrantStmt.privileges:type_name -> pg_query.Node - 66, // 697: pg_query.GrantStmt.grantees:type_name -> pg_query.Node - 138, // 698: pg_query.GrantStmt.grantor:type_name -> pg_query.RoleSpec - 17, // 699: pg_query.GrantStmt.behavior:type_name -> pg_query.DropBehavior - 66, // 700: pg_query.ObjectWithArgs.objname:type_name -> pg_query.Node - 66, // 701: pg_query.ObjectWithArgs.objargs:type_name -> pg_query.Node - 66, // 702: pg_query.ObjectWithArgs.objfuncargs:type_name -> pg_query.Node - 66, // 703: pg_query.AccessPriv.cols:type_name -> pg_query.Node - 66, // 704: pg_query.GrantRoleStmt.granted_roles:type_name -> pg_query.Node - 66, // 705: pg_query.GrantRoleStmt.grantee_roles:type_name -> pg_query.Node - 66, // 706: pg_query.GrantRoleStmt.opt:type_name -> pg_query.Node - 138, // 707: pg_query.GrantRoleStmt.grantor:type_name -> pg_query.RoleSpec - 17, // 708: pg_query.GrantRoleStmt.behavior:type_name -> pg_query.DropBehavior - 66, // 709: pg_query.AlterDefaultPrivilegesStmt.options:type_name -> pg_query.Node - 205, // 710: pg_query.AlterDefaultPrivilegesStmt.action:type_name -> pg_query.GrantStmt - 77, // 711: pg_query.CopyStmt.relation:type_name -> pg_query.RangeVar - 66, // 712: pg_query.CopyStmt.query:type_name -> pg_query.Node - 66, // 713: pg_query.CopyStmt.attlist:type_name -> pg_query.Node - 66, // 714: pg_query.CopyStmt.options:type_name -> pg_query.Node - 66, // 715: pg_query.CopyStmt.where_clause:type_name -> pg_query.Node - 20, // 716: pg_query.VariableSetStmt.kind:type_name -> pg_query.VariableSetKind - 66, // 717: pg_query.VariableSetStmt.args:type_name -> pg_query.Node - 77, // 718: pg_query.CreateStmt.relation:type_name -> pg_query.RangeVar - 66, // 719: pg_query.CreateStmt.table_elts:type_name -> pg_query.Node - 66, // 720: pg_query.CreateStmt.inh_relations:type_name -> pg_query.Node - 161, // 721: pg_query.CreateStmt.partbound:type_name -> pg_query.PartitionBoundSpec - 160, // 722: pg_query.CreateStmt.partspec:type_name -> pg_query.PartitionSpec - 132, // 723: pg_query.CreateStmt.of_typename:type_name -> pg_query.TypeName - 66, // 724: pg_query.CreateStmt.constraints:type_name -> pg_query.Node - 66, // 725: pg_query.CreateStmt.options:type_name -> pg_query.Node - 34, // 726: pg_query.CreateStmt.oncommit:type_name -> pg_query.OnCommitAction - 21, // 727: pg_query.Constraint.contype:type_name -> pg_query.ConstrType - 66, // 728: pg_query.Constraint.raw_expr:type_name -> pg_query.Node - 66, // 729: pg_query.Constraint.keys:type_name -> pg_query.Node - 66, // 730: pg_query.Constraint.including:type_name -> pg_query.Node - 66, // 731: pg_query.Constraint.exclusions:type_name -> pg_query.Node - 66, // 732: pg_query.Constraint.options:type_name -> pg_query.Node - 66, // 733: pg_query.Constraint.where_clause:type_name -> pg_query.Node - 77, // 734: pg_query.Constraint.pktable:type_name -> pg_query.RangeVar - 66, // 735: pg_query.Constraint.fk_attrs:type_name -> pg_query.Node - 66, // 736: pg_query.Constraint.pk_attrs:type_name -> pg_query.Node - 66, // 737: pg_query.Constraint.fk_del_set_cols:type_name -> pg_query.Node - 66, // 738: pg_query.Constraint.old_conpfeqop:type_name -> pg_query.Node - 138, // 739: pg_query.CreateTableSpaceStmt.owner:type_name -> pg_query.RoleSpec - 66, // 740: pg_query.CreateTableSpaceStmt.options:type_name -> pg_query.Node - 66, // 741: pg_query.AlterTableSpaceOptionsStmt.options:type_name -> pg_query.Node - 16, // 742: pg_query.AlterTableMoveAllStmt.objtype:type_name -> pg_query.ObjectType - 66, // 743: pg_query.AlterTableMoveAllStmt.roles:type_name -> pg_query.Node - 66, // 744: pg_query.CreateExtensionStmt.options:type_name -> pg_query.Node - 66, // 745: pg_query.AlterExtensionStmt.options:type_name -> pg_query.Node - 16, // 746: pg_query.AlterExtensionContentsStmt.objtype:type_name -> pg_query.ObjectType - 66, // 747: pg_query.AlterExtensionContentsStmt.object:type_name -> pg_query.Node - 66, // 748: pg_query.CreateFdwStmt.func_options:type_name -> pg_query.Node - 66, // 749: pg_query.CreateFdwStmt.options:type_name -> pg_query.Node - 66, // 750: pg_query.AlterFdwStmt.func_options:type_name -> pg_query.Node - 66, // 751: pg_query.AlterFdwStmt.options:type_name -> pg_query.Node - 66, // 752: pg_query.CreateForeignServerStmt.options:type_name -> pg_query.Node - 66, // 753: pg_query.AlterForeignServerStmt.options:type_name -> pg_query.Node - 213, // 754: pg_query.CreateForeignTableStmt.base_stmt:type_name -> pg_query.CreateStmt - 66, // 755: pg_query.CreateForeignTableStmt.options:type_name -> pg_query.Node - 138, // 756: pg_query.CreateUserMappingStmt.user:type_name -> pg_query.RoleSpec - 66, // 757: pg_query.CreateUserMappingStmt.options:type_name -> pg_query.Node - 138, // 758: pg_query.AlterUserMappingStmt.user:type_name -> pg_query.RoleSpec - 66, // 759: pg_query.AlterUserMappingStmt.options:type_name -> pg_query.Node - 138, // 760: pg_query.DropUserMappingStmt.user:type_name -> pg_query.RoleSpec - 22, // 761: pg_query.ImportForeignSchemaStmt.list_type:type_name -> pg_query.ImportForeignSchemaType - 66, // 762: pg_query.ImportForeignSchemaStmt.table_list:type_name -> pg_query.Node - 66, // 763: pg_query.ImportForeignSchemaStmt.options:type_name -> pg_query.Node - 77, // 764: pg_query.CreatePolicyStmt.table:type_name -> pg_query.RangeVar - 66, // 765: pg_query.CreatePolicyStmt.roles:type_name -> pg_query.Node - 66, // 766: pg_query.CreatePolicyStmt.qual:type_name -> pg_query.Node - 66, // 767: pg_query.CreatePolicyStmt.with_check:type_name -> pg_query.Node - 77, // 768: pg_query.AlterPolicyStmt.table:type_name -> pg_query.RangeVar - 66, // 769: pg_query.AlterPolicyStmt.roles:type_name -> pg_query.Node - 66, // 770: pg_query.AlterPolicyStmt.qual:type_name -> pg_query.Node - 66, // 771: pg_query.AlterPolicyStmt.with_check:type_name -> pg_query.Node - 66, // 772: pg_query.CreateAmStmt.handler_name:type_name -> pg_query.Node - 77, // 773: pg_query.CreateTrigStmt.relation:type_name -> pg_query.RangeVar - 66, // 774: pg_query.CreateTrigStmt.funcname:type_name -> pg_query.Node - 66, // 775: pg_query.CreateTrigStmt.args:type_name -> pg_query.Node - 66, // 776: pg_query.CreateTrigStmt.columns:type_name -> pg_query.Node - 66, // 777: pg_query.CreateTrigStmt.when_clause:type_name -> pg_query.Node - 66, // 778: pg_query.CreateTrigStmt.transition_rels:type_name -> pg_query.Node - 77, // 779: pg_query.CreateTrigStmt.constrrel:type_name -> pg_query.RangeVar - 66, // 780: pg_query.CreateEventTrigStmt.whenclause:type_name -> pg_query.Node - 66, // 781: pg_query.CreateEventTrigStmt.funcname:type_name -> pg_query.Node - 66, // 782: pg_query.CreatePLangStmt.plhandler:type_name -> pg_query.Node - 66, // 783: pg_query.CreatePLangStmt.plinline:type_name -> pg_query.Node - 66, // 784: pg_query.CreatePLangStmt.plvalidator:type_name -> pg_query.Node - 23, // 785: pg_query.CreateRoleStmt.stmt_type:type_name -> pg_query.RoleStmtType - 66, // 786: pg_query.CreateRoleStmt.options:type_name -> pg_query.Node - 138, // 787: pg_query.AlterRoleStmt.role:type_name -> pg_query.RoleSpec - 66, // 788: pg_query.AlterRoleStmt.options:type_name -> pg_query.Node - 138, // 789: pg_query.AlterRoleSetStmt.role:type_name -> pg_query.RoleSpec - 211, // 790: pg_query.AlterRoleSetStmt.setstmt:type_name -> pg_query.VariableSetStmt - 66, // 791: pg_query.DropRoleStmt.roles:type_name -> pg_query.Node - 77, // 792: pg_query.CreateSeqStmt.sequence:type_name -> pg_query.RangeVar - 66, // 793: pg_query.CreateSeqStmt.options:type_name -> pg_query.Node - 77, // 794: pg_query.AlterSeqStmt.sequence:type_name -> pg_query.RangeVar - 66, // 795: pg_query.AlterSeqStmt.options:type_name -> pg_query.Node - 16, // 796: pg_query.DefineStmt.kind:type_name -> pg_query.ObjectType - 66, // 797: pg_query.DefineStmt.defnames:type_name -> pg_query.Node - 66, // 798: pg_query.DefineStmt.args:type_name -> pg_query.Node - 66, // 799: pg_query.DefineStmt.definition:type_name -> pg_query.Node - 66, // 800: pg_query.CreateDomainStmt.domainname:type_name -> pg_query.Node - 132, // 801: pg_query.CreateDomainStmt.type_name:type_name -> pg_query.TypeName - 137, // 802: pg_query.CreateDomainStmt.coll_clause:type_name -> pg_query.CollateClause - 66, // 803: pg_query.CreateDomainStmt.constraints:type_name -> pg_query.Node - 66, // 804: pg_query.CreateOpClassStmt.opclassname:type_name -> pg_query.Node - 66, // 805: pg_query.CreateOpClassStmt.opfamilyname:type_name -> pg_query.Node - 132, // 806: pg_query.CreateOpClassStmt.datatype:type_name -> pg_query.TypeName - 66, // 807: pg_query.CreateOpClassStmt.items:type_name -> pg_query.Node - 206, // 808: pg_query.CreateOpClassItem.name:type_name -> pg_query.ObjectWithArgs - 66, // 809: pg_query.CreateOpClassItem.order_family:type_name -> pg_query.Node - 66, // 810: pg_query.CreateOpClassItem.class_args:type_name -> pg_query.Node - 132, // 811: pg_query.CreateOpClassItem.storedtype:type_name -> pg_query.TypeName - 66, // 812: pg_query.CreateOpFamilyStmt.opfamilyname:type_name -> pg_query.Node - 66, // 813: pg_query.AlterOpFamilyStmt.opfamilyname:type_name -> pg_query.Node - 66, // 814: pg_query.AlterOpFamilyStmt.items:type_name -> pg_query.Node - 66, // 815: pg_query.DropStmt.objects:type_name -> pg_query.Node - 16, // 816: pg_query.DropStmt.remove_type:type_name -> pg_query.ObjectType - 17, // 817: pg_query.DropStmt.behavior:type_name -> pg_query.DropBehavior - 66, // 818: pg_query.TruncateStmt.relations:type_name -> pg_query.Node - 17, // 819: pg_query.TruncateStmt.behavior:type_name -> pg_query.DropBehavior - 16, // 820: pg_query.CommentStmt.objtype:type_name -> pg_query.ObjectType - 66, // 821: pg_query.CommentStmt.object:type_name -> pg_query.Node - 16, // 822: pg_query.SecLabelStmt.objtype:type_name -> pg_query.ObjectType - 66, // 823: pg_query.SecLabelStmt.object:type_name -> pg_query.Node - 66, // 824: pg_query.DeclareCursorStmt.query:type_name -> pg_query.Node - 24, // 825: pg_query.FetchStmt.direction:type_name -> pg_query.FetchDirection - 77, // 826: pg_query.IndexStmt.relation:type_name -> pg_query.RangeVar - 66, // 827: pg_query.IndexStmt.index_params:type_name -> pg_query.Node - 66, // 828: pg_query.IndexStmt.index_including_params:type_name -> pg_query.Node - 66, // 829: pg_query.IndexStmt.options:type_name -> pg_query.Node - 66, // 830: pg_query.IndexStmt.where_clause:type_name -> pg_query.Node - 66, // 831: pg_query.IndexStmt.exclude_op_names:type_name -> pg_query.Node - 66, // 832: pg_query.CreateStatsStmt.defnames:type_name -> pg_query.Node - 66, // 833: pg_query.CreateStatsStmt.stat_types:type_name -> pg_query.Node - 66, // 834: pg_query.CreateStatsStmt.exprs:type_name -> pg_query.Node - 66, // 835: pg_query.CreateStatsStmt.relations:type_name -> pg_query.Node - 66, // 836: pg_query.StatsElem.expr:type_name -> pg_query.Node - 66, // 837: pg_query.AlterStatsStmt.defnames:type_name -> pg_query.Node - 66, // 838: pg_query.CreateFunctionStmt.funcname:type_name -> pg_query.Node - 66, // 839: pg_query.CreateFunctionStmt.parameters:type_name -> pg_query.Node - 132, // 840: pg_query.CreateFunctionStmt.return_type:type_name -> pg_query.TypeName - 66, // 841: pg_query.CreateFunctionStmt.options:type_name -> pg_query.Node - 66, // 842: pg_query.CreateFunctionStmt.sql_body:type_name -> pg_query.Node - 132, // 843: pg_query.FunctionParameter.arg_type:type_name -> pg_query.TypeName - 25, // 844: pg_query.FunctionParameter.mode:type_name -> pg_query.FunctionParameterMode - 66, // 845: pg_query.FunctionParameter.defexpr:type_name -> pg_query.Node - 16, // 846: pg_query.AlterFunctionStmt.objtype:type_name -> pg_query.ObjectType - 206, // 847: pg_query.AlterFunctionStmt.func:type_name -> pg_query.ObjectWithArgs - 66, // 848: pg_query.AlterFunctionStmt.actions:type_name -> pg_query.Node - 66, // 849: pg_query.DoStmt.args:type_name -> pg_query.Node - 139, // 850: pg_query.CallStmt.funccall:type_name -> pg_query.FuncCall - 86, // 851: pg_query.CallStmt.funcexpr:type_name -> pg_query.FuncExpr - 66, // 852: pg_query.CallStmt.outargs:type_name -> pg_query.Node - 16, // 853: pg_query.RenameStmt.rename_type:type_name -> pg_query.ObjectType - 16, // 854: pg_query.RenameStmt.relation_type:type_name -> pg_query.ObjectType - 77, // 855: pg_query.RenameStmt.relation:type_name -> pg_query.RangeVar - 66, // 856: pg_query.RenameStmt.object:type_name -> pg_query.Node - 17, // 857: pg_query.RenameStmt.behavior:type_name -> pg_query.DropBehavior - 16, // 858: pg_query.AlterObjectDependsStmt.object_type:type_name -> pg_query.ObjectType - 77, // 859: pg_query.AlterObjectDependsStmt.relation:type_name -> pg_query.RangeVar - 66, // 860: pg_query.AlterObjectDependsStmt.object:type_name -> pg_query.Node - 70, // 861: pg_query.AlterObjectDependsStmt.extname:type_name -> pg_query.String - 16, // 862: pg_query.AlterObjectSchemaStmt.object_type:type_name -> pg_query.ObjectType - 77, // 863: pg_query.AlterObjectSchemaStmt.relation:type_name -> pg_query.RangeVar - 66, // 864: pg_query.AlterObjectSchemaStmt.object:type_name -> pg_query.Node - 16, // 865: pg_query.AlterOwnerStmt.object_type:type_name -> pg_query.ObjectType - 77, // 866: pg_query.AlterOwnerStmt.relation:type_name -> pg_query.RangeVar - 66, // 867: pg_query.AlterOwnerStmt.object:type_name -> pg_query.Node - 138, // 868: pg_query.AlterOwnerStmt.newowner:type_name -> pg_query.RoleSpec - 206, // 869: pg_query.AlterOperatorStmt.opername:type_name -> pg_query.ObjectWithArgs - 66, // 870: pg_query.AlterOperatorStmt.options:type_name -> pg_query.Node - 66, // 871: pg_query.AlterTypeStmt.type_name:type_name -> pg_query.Node - 66, // 872: pg_query.AlterTypeStmt.options:type_name -> pg_query.Node - 77, // 873: pg_query.RuleStmt.relation:type_name -> pg_query.RangeVar - 66, // 874: pg_query.RuleStmt.where_clause:type_name -> pg_query.Node - 51, // 875: pg_query.RuleStmt.event:type_name -> pg_query.CmdType - 66, // 876: pg_query.RuleStmt.actions:type_name -> pg_query.Node - 26, // 877: pg_query.TransactionStmt.kind:type_name -> pg_query.TransactionStmtKind - 66, // 878: pg_query.TransactionStmt.options:type_name -> pg_query.Node - 77, // 879: pg_query.CompositeTypeStmt.typevar:type_name -> pg_query.RangeVar - 66, // 880: pg_query.CompositeTypeStmt.coldeflist:type_name -> pg_query.Node - 66, // 881: pg_query.CreateEnumStmt.type_name:type_name -> pg_query.Node - 66, // 882: pg_query.CreateEnumStmt.vals:type_name -> pg_query.Node - 66, // 883: pg_query.CreateRangeStmt.type_name:type_name -> pg_query.Node - 66, // 884: pg_query.CreateRangeStmt.params:type_name -> pg_query.Node - 66, // 885: pg_query.AlterEnumStmt.type_name:type_name -> pg_query.Node - 77, // 886: pg_query.ViewStmt.view:type_name -> pg_query.RangeVar - 66, // 887: pg_query.ViewStmt.aliases:type_name -> pg_query.Node - 66, // 888: pg_query.ViewStmt.query:type_name -> pg_query.Node - 66, // 889: pg_query.ViewStmt.options:type_name -> pg_query.Node - 27, // 890: pg_query.ViewStmt.with_check_option:type_name -> pg_query.ViewCheckOption - 66, // 891: pg_query.CreatedbStmt.options:type_name -> pg_query.Node - 66, // 892: pg_query.AlterDatabaseStmt.options:type_name -> pg_query.Node - 211, // 893: pg_query.AlterDatabaseSetStmt.setstmt:type_name -> pg_query.VariableSetStmt - 66, // 894: pg_query.DropdbStmt.options:type_name -> pg_query.Node - 211, // 895: pg_query.AlterSystemStmt.setstmt:type_name -> pg_query.VariableSetStmt - 77, // 896: pg_query.ClusterStmt.relation:type_name -> pg_query.RangeVar - 66, // 897: pg_query.ClusterStmt.params:type_name -> pg_query.Node - 66, // 898: pg_query.VacuumStmt.options:type_name -> pg_query.Node - 66, // 899: pg_query.VacuumStmt.rels:type_name -> pg_query.Node - 77, // 900: pg_query.VacuumRelation.relation:type_name -> pg_query.RangeVar - 66, // 901: pg_query.VacuumRelation.va_cols:type_name -> pg_query.Node - 66, // 902: pg_query.ExplainStmt.query:type_name -> pg_query.Node - 66, // 903: pg_query.ExplainStmt.options:type_name -> pg_query.Node - 66, // 904: pg_query.CreateTableAsStmt.query:type_name -> pg_query.Node - 79, // 905: pg_query.CreateTableAsStmt.into:type_name -> pg_query.IntoClause - 16, // 906: pg_query.CreateTableAsStmt.objtype:type_name -> pg_query.ObjectType - 77, // 907: pg_query.RefreshMatViewStmt.relation:type_name -> pg_query.RangeVar - 28, // 908: pg_query.DiscardStmt.target:type_name -> pg_query.DiscardMode - 66, // 909: pg_query.LockStmt.relations:type_name -> pg_query.Node - 66, // 910: pg_query.ConstraintsSetStmt.constraints:type_name -> pg_query.Node - 29, // 911: pg_query.ReindexStmt.kind:type_name -> pg_query.ReindexObjectType - 77, // 912: pg_query.ReindexStmt.relation:type_name -> pg_query.RangeVar - 66, // 913: pg_query.ReindexStmt.params:type_name -> pg_query.Node - 66, // 914: pg_query.CreateConversionStmt.conversion_name:type_name -> pg_query.Node - 66, // 915: pg_query.CreateConversionStmt.func_name:type_name -> pg_query.Node - 132, // 916: pg_query.CreateCastStmt.sourcetype:type_name -> pg_query.TypeName - 132, // 917: pg_query.CreateCastStmt.targettype:type_name -> pg_query.TypeName - 206, // 918: pg_query.CreateCastStmt.func:type_name -> pg_query.ObjectWithArgs - 36, // 919: pg_query.CreateCastStmt.context:type_name -> pg_query.CoercionContext - 132, // 920: pg_query.CreateTransformStmt.type_name:type_name -> pg_query.TypeName - 206, // 921: pg_query.CreateTransformStmt.fromsql:type_name -> pg_query.ObjectWithArgs - 206, // 922: pg_query.CreateTransformStmt.tosql:type_name -> pg_query.ObjectWithArgs - 66, // 923: pg_query.PrepareStmt.argtypes:type_name -> pg_query.Node - 66, // 924: pg_query.PrepareStmt.query:type_name -> pg_query.Node - 66, // 925: pg_query.ExecuteStmt.params:type_name -> pg_query.Node - 66, // 926: pg_query.DropOwnedStmt.roles:type_name -> pg_query.Node - 17, // 927: pg_query.DropOwnedStmt.behavior:type_name -> pg_query.DropBehavior - 66, // 928: pg_query.ReassignOwnedStmt.roles:type_name -> pg_query.Node - 138, // 929: pg_query.ReassignOwnedStmt.newrole:type_name -> pg_query.RoleSpec - 66, // 930: pg_query.AlterTSDictionaryStmt.dictname:type_name -> pg_query.Node - 66, // 931: pg_query.AlterTSDictionaryStmt.options:type_name -> pg_query.Node - 30, // 932: pg_query.AlterTSConfigurationStmt.kind:type_name -> pg_query.AlterTSConfigType - 66, // 933: pg_query.AlterTSConfigurationStmt.cfgname:type_name -> pg_query.Node - 66, // 934: pg_query.AlterTSConfigurationStmt.tokentype:type_name -> pg_query.Node - 66, // 935: pg_query.AlterTSConfigurationStmt.dicts:type_name -> pg_query.Node - 77, // 936: pg_query.PublicationTable.relation:type_name -> pg_query.RangeVar - 66, // 937: pg_query.PublicationTable.where_clause:type_name -> pg_query.Node - 66, // 938: pg_query.PublicationTable.columns:type_name -> pg_query.Node - 31, // 939: pg_query.PublicationObjSpec.pubobjtype:type_name -> pg_query.PublicationObjSpecType - 312, // 940: pg_query.PublicationObjSpec.pubtable:type_name -> pg_query.PublicationTable - 66, // 941: pg_query.CreatePublicationStmt.options:type_name -> pg_query.Node - 66, // 942: pg_query.CreatePublicationStmt.pubobjects:type_name -> pg_query.Node - 66, // 943: pg_query.AlterPublicationStmt.options:type_name -> pg_query.Node - 66, // 944: pg_query.AlterPublicationStmt.pubobjects:type_name -> pg_query.Node - 32, // 945: pg_query.AlterPublicationStmt.action:type_name -> pg_query.AlterPublicationAction - 66, // 946: pg_query.CreateSubscriptionStmt.publication:type_name -> pg_query.Node - 66, // 947: pg_query.CreateSubscriptionStmt.options:type_name -> pg_query.Node - 33, // 948: pg_query.AlterSubscriptionStmt.kind:type_name -> pg_query.AlterSubscriptionType - 66, // 949: pg_query.AlterSubscriptionStmt.publication:type_name -> pg_query.Node - 66, // 950: pg_query.AlterSubscriptionStmt.options:type_name -> pg_query.Node - 17, // 951: pg_query.DropSubscriptionStmt.behavior:type_name -> pg_query.DropBehavior - 63, // 952: pg_query.ScanToken.token:type_name -> pg_query.Token - 62, // 953: pg_query.ScanToken.keyword_kind:type_name -> pg_query.KeywordKind - 954, // [954:954] is the sub-list for method output_type - 954, // [954:954] is the sub-list for method input_type - 954, // [954:954] is the sub-list for extension type_name - 954, // [954:954] is the sub-list for extension extendee - 0, // [0:954] is the sub-list for field type_name + 213, // 0: pg_query.ParseResult.stmts:type_name -> pg_query.RawStmt + 342, // 1: pg_query.ScanResult.tokens:type_name -> pg_query.ScanToken + 83, // 2: pg_query.Node.alias:type_name -> pg_query.Alias + 84, // 3: pg_query.Node.range_var:type_name -> pg_query.RangeVar + 85, // 4: pg_query.Node.table_func:type_name -> pg_query.TableFunc + 86, // 5: pg_query.Node.into_clause:type_name -> pg_query.IntoClause + 87, // 6: pg_query.Node.var:type_name -> pg_query.Var + 88, // 7: pg_query.Node.param:type_name -> pg_query.Param + 89, // 8: pg_query.Node.aggref:type_name -> pg_query.Aggref + 90, // 9: pg_query.Node.grouping_func:type_name -> pg_query.GroupingFunc + 91, // 10: pg_query.Node.window_func:type_name -> pg_query.WindowFunc + 92, // 11: pg_query.Node.window_func_run_condition:type_name -> pg_query.WindowFuncRunCondition + 93, // 12: pg_query.Node.merge_support_func:type_name -> pg_query.MergeSupportFunc + 94, // 13: pg_query.Node.subscripting_ref:type_name -> pg_query.SubscriptingRef + 95, // 14: pg_query.Node.func_expr:type_name -> pg_query.FuncExpr + 96, // 15: pg_query.Node.named_arg_expr:type_name -> pg_query.NamedArgExpr + 97, // 16: pg_query.Node.op_expr:type_name -> pg_query.OpExpr + 98, // 17: pg_query.Node.distinct_expr:type_name -> pg_query.DistinctExpr + 99, // 18: pg_query.Node.null_if_expr:type_name -> pg_query.NullIfExpr + 100, // 19: pg_query.Node.scalar_array_op_expr:type_name -> pg_query.ScalarArrayOpExpr + 101, // 20: pg_query.Node.bool_expr:type_name -> pg_query.BoolExpr + 102, // 21: pg_query.Node.sub_link:type_name -> pg_query.SubLink + 103, // 22: pg_query.Node.sub_plan:type_name -> pg_query.SubPlan + 104, // 23: pg_query.Node.alternative_sub_plan:type_name -> pg_query.AlternativeSubPlan + 105, // 24: pg_query.Node.field_select:type_name -> pg_query.FieldSelect + 106, // 25: pg_query.Node.field_store:type_name -> pg_query.FieldStore + 107, // 26: pg_query.Node.relabel_type:type_name -> pg_query.RelabelType + 108, // 27: pg_query.Node.coerce_via_io:type_name -> pg_query.CoerceViaIO + 109, // 28: pg_query.Node.array_coerce_expr:type_name -> pg_query.ArrayCoerceExpr + 110, // 29: pg_query.Node.convert_rowtype_expr:type_name -> pg_query.ConvertRowtypeExpr + 111, // 30: pg_query.Node.collate_expr:type_name -> pg_query.CollateExpr + 112, // 31: pg_query.Node.case_expr:type_name -> pg_query.CaseExpr + 113, // 32: pg_query.Node.case_when:type_name -> pg_query.CaseWhen + 114, // 33: pg_query.Node.case_test_expr:type_name -> pg_query.CaseTestExpr + 115, // 34: pg_query.Node.array_expr:type_name -> pg_query.ArrayExpr + 116, // 35: pg_query.Node.row_expr:type_name -> pg_query.RowExpr + 117, // 36: pg_query.Node.row_compare_expr:type_name -> pg_query.RowCompareExpr + 118, // 37: pg_query.Node.coalesce_expr:type_name -> pg_query.CoalesceExpr + 119, // 38: pg_query.Node.min_max_expr:type_name -> pg_query.MinMaxExpr + 120, // 39: pg_query.Node.sqlvalue_function:type_name -> pg_query.SQLValueFunction + 121, // 40: pg_query.Node.xml_expr:type_name -> pg_query.XmlExpr + 122, // 41: pg_query.Node.json_format:type_name -> pg_query.JsonFormat + 123, // 42: pg_query.Node.json_returning:type_name -> pg_query.JsonReturning + 124, // 43: pg_query.Node.json_value_expr:type_name -> pg_query.JsonValueExpr + 125, // 44: pg_query.Node.json_constructor_expr:type_name -> pg_query.JsonConstructorExpr + 126, // 45: pg_query.Node.json_is_predicate:type_name -> pg_query.JsonIsPredicate + 127, // 46: pg_query.Node.json_behavior:type_name -> pg_query.JsonBehavior + 128, // 47: pg_query.Node.json_expr:type_name -> pg_query.JsonExpr + 129, // 48: pg_query.Node.json_table_path:type_name -> pg_query.JsonTablePath + 130, // 49: pg_query.Node.json_table_path_scan:type_name -> pg_query.JsonTablePathScan + 131, // 50: pg_query.Node.json_table_sibling_join:type_name -> pg_query.JsonTableSiblingJoin + 132, // 51: pg_query.Node.null_test:type_name -> pg_query.NullTest + 133, // 52: pg_query.Node.boolean_test:type_name -> pg_query.BooleanTest + 134, // 53: pg_query.Node.merge_action:type_name -> pg_query.MergeAction + 135, // 54: pg_query.Node.coerce_to_domain:type_name -> pg_query.CoerceToDomain + 136, // 55: pg_query.Node.coerce_to_domain_value:type_name -> pg_query.CoerceToDomainValue + 137, // 56: pg_query.Node.set_to_default:type_name -> pg_query.SetToDefault + 138, // 57: pg_query.Node.current_of_expr:type_name -> pg_query.CurrentOfExpr + 139, // 58: pg_query.Node.next_value_expr:type_name -> pg_query.NextValueExpr + 140, // 59: pg_query.Node.inference_elem:type_name -> pg_query.InferenceElem + 141, // 60: pg_query.Node.target_entry:type_name -> pg_query.TargetEntry + 142, // 61: pg_query.Node.range_tbl_ref:type_name -> pg_query.RangeTblRef + 143, // 62: pg_query.Node.join_expr:type_name -> pg_query.JoinExpr + 144, // 63: pg_query.Node.from_expr:type_name -> pg_query.FromExpr + 145, // 64: pg_query.Node.on_conflict_expr:type_name -> pg_query.OnConflictExpr + 146, // 65: pg_query.Node.query:type_name -> pg_query.Query + 147, // 66: pg_query.Node.type_name:type_name -> pg_query.TypeName + 148, // 67: pg_query.Node.column_ref:type_name -> pg_query.ColumnRef + 149, // 68: pg_query.Node.param_ref:type_name -> pg_query.ParamRef + 150, // 69: pg_query.Node.a_expr:type_name -> pg_query.A_Expr + 151, // 70: pg_query.Node.type_cast:type_name -> pg_query.TypeCast + 152, // 71: pg_query.Node.collate_clause:type_name -> pg_query.CollateClause + 153, // 72: pg_query.Node.role_spec:type_name -> pg_query.RoleSpec + 154, // 73: pg_query.Node.func_call:type_name -> pg_query.FuncCall + 155, // 74: pg_query.Node.a_star:type_name -> pg_query.A_Star + 156, // 75: pg_query.Node.a_indices:type_name -> pg_query.A_Indices + 157, // 76: pg_query.Node.a_indirection:type_name -> pg_query.A_Indirection + 158, // 77: pg_query.Node.a_array_expr:type_name -> pg_query.A_ArrayExpr + 159, // 78: pg_query.Node.res_target:type_name -> pg_query.ResTarget + 160, // 79: pg_query.Node.multi_assign_ref:type_name -> pg_query.MultiAssignRef + 161, // 80: pg_query.Node.sort_by:type_name -> pg_query.SortBy + 162, // 81: pg_query.Node.window_def:type_name -> pg_query.WindowDef + 163, // 82: pg_query.Node.range_subselect:type_name -> pg_query.RangeSubselect + 164, // 83: pg_query.Node.range_function:type_name -> pg_query.RangeFunction + 165, // 84: pg_query.Node.range_table_func:type_name -> pg_query.RangeTableFunc + 166, // 85: pg_query.Node.range_table_func_col:type_name -> pg_query.RangeTableFuncCol + 167, // 86: pg_query.Node.range_table_sample:type_name -> pg_query.RangeTableSample + 168, // 87: pg_query.Node.column_def:type_name -> pg_query.ColumnDef + 169, // 88: pg_query.Node.table_like_clause:type_name -> pg_query.TableLikeClause + 170, // 89: pg_query.Node.index_elem:type_name -> pg_query.IndexElem + 171, // 90: pg_query.Node.def_elem:type_name -> pg_query.DefElem + 172, // 91: pg_query.Node.locking_clause:type_name -> pg_query.LockingClause + 173, // 92: pg_query.Node.xml_serialize:type_name -> pg_query.XmlSerialize + 174, // 93: pg_query.Node.partition_elem:type_name -> pg_query.PartitionElem + 175, // 94: pg_query.Node.partition_spec:type_name -> pg_query.PartitionSpec + 176, // 95: pg_query.Node.partition_bound_spec:type_name -> pg_query.PartitionBoundSpec + 177, // 96: pg_query.Node.partition_range_datum:type_name -> pg_query.PartitionRangeDatum + 178, // 97: pg_query.Node.single_partition_spec:type_name -> pg_query.SinglePartitionSpec + 179, // 98: pg_query.Node.partition_cmd:type_name -> pg_query.PartitionCmd + 180, // 99: pg_query.Node.range_tbl_entry:type_name -> pg_query.RangeTblEntry + 181, // 100: pg_query.Node.rtepermission_info:type_name -> pg_query.RTEPermissionInfo + 182, // 101: pg_query.Node.range_tbl_function:type_name -> pg_query.RangeTblFunction + 183, // 102: pg_query.Node.table_sample_clause:type_name -> pg_query.TableSampleClause + 184, // 103: pg_query.Node.with_check_option:type_name -> pg_query.WithCheckOption + 185, // 104: pg_query.Node.sort_group_clause:type_name -> pg_query.SortGroupClause + 186, // 105: pg_query.Node.grouping_set:type_name -> pg_query.GroupingSet + 187, // 106: pg_query.Node.window_clause:type_name -> pg_query.WindowClause + 188, // 107: pg_query.Node.row_mark_clause:type_name -> pg_query.RowMarkClause + 189, // 108: pg_query.Node.with_clause:type_name -> pg_query.WithClause + 190, // 109: pg_query.Node.infer_clause:type_name -> pg_query.InferClause + 191, // 110: pg_query.Node.on_conflict_clause:type_name -> pg_query.OnConflictClause + 192, // 111: pg_query.Node.ctesearch_clause:type_name -> pg_query.CTESearchClause + 193, // 112: pg_query.Node.ctecycle_clause:type_name -> pg_query.CTECycleClause + 194, // 113: pg_query.Node.common_table_expr:type_name -> pg_query.CommonTableExpr + 195, // 114: pg_query.Node.merge_when_clause:type_name -> pg_query.MergeWhenClause + 196, // 115: pg_query.Node.trigger_transition:type_name -> pg_query.TriggerTransition + 197, // 116: pg_query.Node.json_output:type_name -> pg_query.JsonOutput + 198, // 117: pg_query.Node.json_argument:type_name -> pg_query.JsonArgument + 199, // 118: pg_query.Node.json_func_expr:type_name -> pg_query.JsonFuncExpr + 200, // 119: pg_query.Node.json_table_path_spec:type_name -> pg_query.JsonTablePathSpec + 201, // 120: pg_query.Node.json_table:type_name -> pg_query.JsonTable + 202, // 121: pg_query.Node.json_table_column:type_name -> pg_query.JsonTableColumn + 203, // 122: pg_query.Node.json_key_value:type_name -> pg_query.JsonKeyValue + 204, // 123: pg_query.Node.json_parse_expr:type_name -> pg_query.JsonParseExpr + 205, // 124: pg_query.Node.json_scalar_expr:type_name -> pg_query.JsonScalarExpr + 206, // 125: pg_query.Node.json_serialize_expr:type_name -> pg_query.JsonSerializeExpr + 207, // 126: pg_query.Node.json_object_constructor:type_name -> pg_query.JsonObjectConstructor + 208, // 127: pg_query.Node.json_array_constructor:type_name -> pg_query.JsonArrayConstructor + 209, // 128: pg_query.Node.json_array_query_constructor:type_name -> pg_query.JsonArrayQueryConstructor + 210, // 129: pg_query.Node.json_agg_constructor:type_name -> pg_query.JsonAggConstructor + 211, // 130: pg_query.Node.json_object_agg:type_name -> pg_query.JsonObjectAgg + 212, // 131: pg_query.Node.json_array_agg:type_name -> pg_query.JsonArrayAgg + 213, // 132: pg_query.Node.raw_stmt:type_name -> pg_query.RawStmt + 214, // 133: pg_query.Node.insert_stmt:type_name -> pg_query.InsertStmt + 215, // 134: pg_query.Node.delete_stmt:type_name -> pg_query.DeleteStmt + 216, // 135: pg_query.Node.update_stmt:type_name -> pg_query.UpdateStmt + 217, // 136: pg_query.Node.merge_stmt:type_name -> pg_query.MergeStmt + 218, // 137: pg_query.Node.select_stmt:type_name -> pg_query.SelectStmt + 219, // 138: pg_query.Node.set_operation_stmt:type_name -> pg_query.SetOperationStmt + 220, // 139: pg_query.Node.return_stmt:type_name -> pg_query.ReturnStmt + 221, // 140: pg_query.Node.plassign_stmt:type_name -> pg_query.PLAssignStmt + 222, // 141: pg_query.Node.create_schema_stmt:type_name -> pg_query.CreateSchemaStmt + 223, // 142: pg_query.Node.alter_table_stmt:type_name -> pg_query.AlterTableStmt + 224, // 143: pg_query.Node.replica_identity_stmt:type_name -> pg_query.ReplicaIdentityStmt + 225, // 144: pg_query.Node.alter_table_cmd:type_name -> pg_query.AlterTableCmd + 226, // 145: pg_query.Node.alter_collation_stmt:type_name -> pg_query.AlterCollationStmt + 227, // 146: pg_query.Node.alter_domain_stmt:type_name -> pg_query.AlterDomainStmt + 228, // 147: pg_query.Node.grant_stmt:type_name -> pg_query.GrantStmt + 229, // 148: pg_query.Node.object_with_args:type_name -> pg_query.ObjectWithArgs + 230, // 149: pg_query.Node.access_priv:type_name -> pg_query.AccessPriv + 231, // 150: pg_query.Node.grant_role_stmt:type_name -> pg_query.GrantRoleStmt + 232, // 151: pg_query.Node.alter_default_privileges_stmt:type_name -> pg_query.AlterDefaultPrivilegesStmt + 233, // 152: pg_query.Node.copy_stmt:type_name -> pg_query.CopyStmt + 234, // 153: pg_query.Node.variable_set_stmt:type_name -> pg_query.VariableSetStmt + 235, // 154: pg_query.Node.variable_show_stmt:type_name -> pg_query.VariableShowStmt + 236, // 155: pg_query.Node.create_stmt:type_name -> pg_query.CreateStmt + 237, // 156: pg_query.Node.constraint:type_name -> pg_query.Constraint + 238, // 157: pg_query.Node.create_table_space_stmt:type_name -> pg_query.CreateTableSpaceStmt + 239, // 158: pg_query.Node.drop_table_space_stmt:type_name -> pg_query.DropTableSpaceStmt + 240, // 159: pg_query.Node.alter_table_space_options_stmt:type_name -> pg_query.AlterTableSpaceOptionsStmt + 241, // 160: pg_query.Node.alter_table_move_all_stmt:type_name -> pg_query.AlterTableMoveAllStmt + 242, // 161: pg_query.Node.create_extension_stmt:type_name -> pg_query.CreateExtensionStmt + 243, // 162: pg_query.Node.alter_extension_stmt:type_name -> pg_query.AlterExtensionStmt + 244, // 163: pg_query.Node.alter_extension_contents_stmt:type_name -> pg_query.AlterExtensionContentsStmt + 245, // 164: pg_query.Node.create_fdw_stmt:type_name -> pg_query.CreateFdwStmt + 246, // 165: pg_query.Node.alter_fdw_stmt:type_name -> pg_query.AlterFdwStmt + 247, // 166: pg_query.Node.create_foreign_server_stmt:type_name -> pg_query.CreateForeignServerStmt + 248, // 167: pg_query.Node.alter_foreign_server_stmt:type_name -> pg_query.AlterForeignServerStmt + 249, // 168: pg_query.Node.create_foreign_table_stmt:type_name -> pg_query.CreateForeignTableStmt + 250, // 169: pg_query.Node.create_user_mapping_stmt:type_name -> pg_query.CreateUserMappingStmt + 251, // 170: pg_query.Node.alter_user_mapping_stmt:type_name -> pg_query.AlterUserMappingStmt + 252, // 171: pg_query.Node.drop_user_mapping_stmt:type_name -> pg_query.DropUserMappingStmt + 253, // 172: pg_query.Node.import_foreign_schema_stmt:type_name -> pg_query.ImportForeignSchemaStmt + 254, // 173: pg_query.Node.create_policy_stmt:type_name -> pg_query.CreatePolicyStmt + 255, // 174: pg_query.Node.alter_policy_stmt:type_name -> pg_query.AlterPolicyStmt + 256, // 175: pg_query.Node.create_am_stmt:type_name -> pg_query.CreateAmStmt + 257, // 176: pg_query.Node.create_trig_stmt:type_name -> pg_query.CreateTrigStmt + 258, // 177: pg_query.Node.create_event_trig_stmt:type_name -> pg_query.CreateEventTrigStmt + 259, // 178: pg_query.Node.alter_event_trig_stmt:type_name -> pg_query.AlterEventTrigStmt + 260, // 179: pg_query.Node.create_plang_stmt:type_name -> pg_query.CreatePLangStmt + 261, // 180: pg_query.Node.create_role_stmt:type_name -> pg_query.CreateRoleStmt + 262, // 181: pg_query.Node.alter_role_stmt:type_name -> pg_query.AlterRoleStmt + 263, // 182: pg_query.Node.alter_role_set_stmt:type_name -> pg_query.AlterRoleSetStmt + 264, // 183: pg_query.Node.drop_role_stmt:type_name -> pg_query.DropRoleStmt + 265, // 184: pg_query.Node.create_seq_stmt:type_name -> pg_query.CreateSeqStmt + 266, // 185: pg_query.Node.alter_seq_stmt:type_name -> pg_query.AlterSeqStmt + 267, // 186: pg_query.Node.define_stmt:type_name -> pg_query.DefineStmt + 268, // 187: pg_query.Node.create_domain_stmt:type_name -> pg_query.CreateDomainStmt + 269, // 188: pg_query.Node.create_op_class_stmt:type_name -> pg_query.CreateOpClassStmt + 270, // 189: pg_query.Node.create_op_class_item:type_name -> pg_query.CreateOpClassItem + 271, // 190: pg_query.Node.create_op_family_stmt:type_name -> pg_query.CreateOpFamilyStmt + 272, // 191: pg_query.Node.alter_op_family_stmt:type_name -> pg_query.AlterOpFamilyStmt + 273, // 192: pg_query.Node.drop_stmt:type_name -> pg_query.DropStmt + 274, // 193: pg_query.Node.truncate_stmt:type_name -> pg_query.TruncateStmt + 275, // 194: pg_query.Node.comment_stmt:type_name -> pg_query.CommentStmt + 276, // 195: pg_query.Node.sec_label_stmt:type_name -> pg_query.SecLabelStmt + 277, // 196: pg_query.Node.declare_cursor_stmt:type_name -> pg_query.DeclareCursorStmt + 278, // 197: pg_query.Node.close_portal_stmt:type_name -> pg_query.ClosePortalStmt + 279, // 198: pg_query.Node.fetch_stmt:type_name -> pg_query.FetchStmt + 280, // 199: pg_query.Node.index_stmt:type_name -> pg_query.IndexStmt + 281, // 200: pg_query.Node.create_stats_stmt:type_name -> pg_query.CreateStatsStmt + 282, // 201: pg_query.Node.stats_elem:type_name -> pg_query.StatsElem + 283, // 202: pg_query.Node.alter_stats_stmt:type_name -> pg_query.AlterStatsStmt + 284, // 203: pg_query.Node.create_function_stmt:type_name -> pg_query.CreateFunctionStmt + 285, // 204: pg_query.Node.function_parameter:type_name -> pg_query.FunctionParameter + 286, // 205: pg_query.Node.alter_function_stmt:type_name -> pg_query.AlterFunctionStmt + 287, // 206: pg_query.Node.do_stmt:type_name -> pg_query.DoStmt + 288, // 207: pg_query.Node.inline_code_block:type_name -> pg_query.InlineCodeBlock + 289, // 208: pg_query.Node.call_stmt:type_name -> pg_query.CallStmt + 290, // 209: pg_query.Node.call_context:type_name -> pg_query.CallContext + 291, // 210: pg_query.Node.rename_stmt:type_name -> pg_query.RenameStmt + 292, // 211: pg_query.Node.alter_object_depends_stmt:type_name -> pg_query.AlterObjectDependsStmt + 293, // 212: pg_query.Node.alter_object_schema_stmt:type_name -> pg_query.AlterObjectSchemaStmt + 294, // 213: pg_query.Node.alter_owner_stmt:type_name -> pg_query.AlterOwnerStmt + 295, // 214: pg_query.Node.alter_operator_stmt:type_name -> pg_query.AlterOperatorStmt + 296, // 215: pg_query.Node.alter_type_stmt:type_name -> pg_query.AlterTypeStmt + 297, // 216: pg_query.Node.rule_stmt:type_name -> pg_query.RuleStmt + 298, // 217: pg_query.Node.notify_stmt:type_name -> pg_query.NotifyStmt + 299, // 218: pg_query.Node.listen_stmt:type_name -> pg_query.ListenStmt + 300, // 219: pg_query.Node.unlisten_stmt:type_name -> pg_query.UnlistenStmt + 301, // 220: pg_query.Node.transaction_stmt:type_name -> pg_query.TransactionStmt + 302, // 221: pg_query.Node.composite_type_stmt:type_name -> pg_query.CompositeTypeStmt + 303, // 222: pg_query.Node.create_enum_stmt:type_name -> pg_query.CreateEnumStmt + 304, // 223: pg_query.Node.create_range_stmt:type_name -> pg_query.CreateRangeStmt + 305, // 224: pg_query.Node.alter_enum_stmt:type_name -> pg_query.AlterEnumStmt + 306, // 225: pg_query.Node.view_stmt:type_name -> pg_query.ViewStmt + 307, // 226: pg_query.Node.load_stmt:type_name -> pg_query.LoadStmt + 308, // 227: pg_query.Node.createdb_stmt:type_name -> pg_query.CreatedbStmt + 309, // 228: pg_query.Node.alter_database_stmt:type_name -> pg_query.AlterDatabaseStmt + 310, // 229: pg_query.Node.alter_database_refresh_coll_stmt:type_name -> pg_query.AlterDatabaseRefreshCollStmt + 311, // 230: pg_query.Node.alter_database_set_stmt:type_name -> pg_query.AlterDatabaseSetStmt + 312, // 231: pg_query.Node.dropdb_stmt:type_name -> pg_query.DropdbStmt + 313, // 232: pg_query.Node.alter_system_stmt:type_name -> pg_query.AlterSystemStmt + 314, // 233: pg_query.Node.cluster_stmt:type_name -> pg_query.ClusterStmt + 315, // 234: pg_query.Node.vacuum_stmt:type_name -> pg_query.VacuumStmt + 316, // 235: pg_query.Node.vacuum_relation:type_name -> pg_query.VacuumRelation + 317, // 236: pg_query.Node.explain_stmt:type_name -> pg_query.ExplainStmt + 318, // 237: pg_query.Node.create_table_as_stmt:type_name -> pg_query.CreateTableAsStmt + 319, // 238: pg_query.Node.refresh_mat_view_stmt:type_name -> pg_query.RefreshMatViewStmt + 320, // 239: pg_query.Node.check_point_stmt:type_name -> pg_query.CheckPointStmt + 321, // 240: pg_query.Node.discard_stmt:type_name -> pg_query.DiscardStmt + 322, // 241: pg_query.Node.lock_stmt:type_name -> pg_query.LockStmt + 323, // 242: pg_query.Node.constraints_set_stmt:type_name -> pg_query.ConstraintsSetStmt + 324, // 243: pg_query.Node.reindex_stmt:type_name -> pg_query.ReindexStmt + 325, // 244: pg_query.Node.create_conversion_stmt:type_name -> pg_query.CreateConversionStmt + 326, // 245: pg_query.Node.create_cast_stmt:type_name -> pg_query.CreateCastStmt + 327, // 246: pg_query.Node.create_transform_stmt:type_name -> pg_query.CreateTransformStmt + 328, // 247: pg_query.Node.prepare_stmt:type_name -> pg_query.PrepareStmt + 329, // 248: pg_query.Node.execute_stmt:type_name -> pg_query.ExecuteStmt + 330, // 249: pg_query.Node.deallocate_stmt:type_name -> pg_query.DeallocateStmt + 331, // 250: pg_query.Node.drop_owned_stmt:type_name -> pg_query.DropOwnedStmt + 332, // 251: pg_query.Node.reassign_owned_stmt:type_name -> pg_query.ReassignOwnedStmt + 333, // 252: pg_query.Node.alter_tsdictionary_stmt:type_name -> pg_query.AlterTSDictionaryStmt + 334, // 253: pg_query.Node.alter_tsconfiguration_stmt:type_name -> pg_query.AlterTSConfigurationStmt + 335, // 254: pg_query.Node.publication_table:type_name -> pg_query.PublicationTable + 336, // 255: pg_query.Node.publication_obj_spec:type_name -> pg_query.PublicationObjSpec + 337, // 256: pg_query.Node.create_publication_stmt:type_name -> pg_query.CreatePublicationStmt + 338, // 257: pg_query.Node.alter_publication_stmt:type_name -> pg_query.AlterPublicationStmt + 339, // 258: pg_query.Node.create_subscription_stmt:type_name -> pg_query.CreateSubscriptionStmt + 340, // 259: pg_query.Node.alter_subscription_stmt:type_name -> pg_query.AlterSubscriptionStmt + 341, // 260: pg_query.Node.drop_subscription_stmt:type_name -> pg_query.DropSubscriptionStmt + 74, // 261: pg_query.Node.integer:type_name -> pg_query.Integer + 75, // 262: pg_query.Node.float:type_name -> pg_query.Float + 76, // 263: pg_query.Node.boolean:type_name -> pg_query.Boolean + 77, // 264: pg_query.Node.string:type_name -> pg_query.String + 78, // 265: pg_query.Node.bit_string:type_name -> pg_query.BitString + 79, // 266: pg_query.Node.list:type_name -> pg_query.List + 81, // 267: pg_query.Node.int_list:type_name -> pg_query.IntList + 80, // 268: pg_query.Node.oid_list:type_name -> pg_query.OidList + 82, // 269: pg_query.Node.a_const:type_name -> pg_query.A_Const + 73, // 270: pg_query.List.items:type_name -> pg_query.Node + 73, // 271: pg_query.OidList.items:type_name -> pg_query.Node + 73, // 272: pg_query.IntList.items:type_name -> pg_query.Node + 74, // 273: pg_query.A_Const.ival:type_name -> pg_query.Integer + 75, // 274: pg_query.A_Const.fval:type_name -> pg_query.Float + 76, // 275: pg_query.A_Const.boolval:type_name -> pg_query.Boolean + 77, // 276: pg_query.A_Const.sval:type_name -> pg_query.String + 78, // 277: pg_query.A_Const.bsval:type_name -> pg_query.BitString + 73, // 278: pg_query.Alias.colnames:type_name -> pg_query.Node + 83, // 279: pg_query.RangeVar.alias:type_name -> pg_query.Alias + 37, // 280: pg_query.TableFunc.functype:type_name -> pg_query.TableFuncType + 73, // 281: pg_query.TableFunc.ns_uris:type_name -> pg_query.Node + 73, // 282: pg_query.TableFunc.ns_names:type_name -> pg_query.Node + 73, // 283: pg_query.TableFunc.docexpr:type_name -> pg_query.Node + 73, // 284: pg_query.TableFunc.rowexpr:type_name -> pg_query.Node + 73, // 285: pg_query.TableFunc.colnames:type_name -> pg_query.Node + 73, // 286: pg_query.TableFunc.coltypes:type_name -> pg_query.Node + 73, // 287: pg_query.TableFunc.coltypmods:type_name -> pg_query.Node + 73, // 288: pg_query.TableFunc.colcollations:type_name -> pg_query.Node + 73, // 289: pg_query.TableFunc.colexprs:type_name -> pg_query.Node + 73, // 290: pg_query.TableFunc.coldefexprs:type_name -> pg_query.Node + 73, // 291: pg_query.TableFunc.colvalexprs:type_name -> pg_query.Node + 73, // 292: pg_query.TableFunc.passingvalexprs:type_name -> pg_query.Node + 73, // 293: pg_query.TableFunc.plan:type_name -> pg_query.Node + 84, // 294: pg_query.IntoClause.rel:type_name -> pg_query.RangeVar + 73, // 295: pg_query.IntoClause.col_names:type_name -> pg_query.Node + 73, // 296: pg_query.IntoClause.options:type_name -> pg_query.Node + 36, // 297: pg_query.IntoClause.on_commit:type_name -> pg_query.OnCommitAction + 73, // 298: pg_query.IntoClause.view_query:type_name -> pg_query.Node + 73, // 299: pg_query.Var.xpr:type_name -> pg_query.Node + 73, // 300: pg_query.Param.xpr:type_name -> pg_query.Node + 38, // 301: pg_query.Param.paramkind:type_name -> pg_query.ParamKind + 73, // 302: pg_query.Aggref.xpr:type_name -> pg_query.Node + 73, // 303: pg_query.Aggref.aggargtypes:type_name -> pg_query.Node + 73, // 304: pg_query.Aggref.aggdirectargs:type_name -> pg_query.Node + 73, // 305: pg_query.Aggref.args:type_name -> pg_query.Node + 73, // 306: pg_query.Aggref.aggorder:type_name -> pg_query.Node + 73, // 307: pg_query.Aggref.aggdistinct:type_name -> pg_query.Node + 73, // 308: pg_query.Aggref.aggfilter:type_name -> pg_query.Node + 61, // 309: pg_query.Aggref.aggsplit:type_name -> pg_query.AggSplit + 73, // 310: pg_query.GroupingFunc.xpr:type_name -> pg_query.Node + 73, // 311: pg_query.GroupingFunc.args:type_name -> pg_query.Node + 73, // 312: pg_query.GroupingFunc.refs:type_name -> pg_query.Node + 73, // 313: pg_query.WindowFunc.xpr:type_name -> pg_query.Node + 73, // 314: pg_query.WindowFunc.args:type_name -> pg_query.Node + 73, // 315: pg_query.WindowFunc.aggfilter:type_name -> pg_query.Node + 73, // 316: pg_query.WindowFunc.run_condition:type_name -> pg_query.Node + 73, // 317: pg_query.WindowFuncRunCondition.xpr:type_name -> pg_query.Node + 73, // 318: pg_query.WindowFuncRunCondition.arg:type_name -> pg_query.Node + 73, // 319: pg_query.MergeSupportFunc.xpr:type_name -> pg_query.Node + 73, // 320: pg_query.SubscriptingRef.xpr:type_name -> pg_query.Node + 73, // 321: pg_query.SubscriptingRef.refupperindexpr:type_name -> pg_query.Node + 73, // 322: pg_query.SubscriptingRef.reflowerindexpr:type_name -> pg_query.Node + 73, // 323: pg_query.SubscriptingRef.refexpr:type_name -> pg_query.Node + 73, // 324: pg_query.SubscriptingRef.refassgnexpr:type_name -> pg_query.Node + 73, // 325: pg_query.FuncExpr.xpr:type_name -> pg_query.Node + 40, // 326: pg_query.FuncExpr.funcformat:type_name -> pg_query.CoercionForm + 73, // 327: pg_query.FuncExpr.args:type_name -> pg_query.Node + 73, // 328: pg_query.NamedArgExpr.xpr:type_name -> pg_query.Node + 73, // 329: pg_query.NamedArgExpr.arg:type_name -> pg_query.Node + 73, // 330: pg_query.OpExpr.xpr:type_name -> pg_query.Node + 73, // 331: pg_query.OpExpr.args:type_name -> pg_query.Node + 73, // 332: pg_query.DistinctExpr.xpr:type_name -> pg_query.Node + 73, // 333: pg_query.DistinctExpr.args:type_name -> pg_query.Node + 73, // 334: pg_query.NullIfExpr.xpr:type_name -> pg_query.Node + 73, // 335: pg_query.NullIfExpr.args:type_name -> pg_query.Node + 73, // 336: pg_query.ScalarArrayOpExpr.xpr:type_name -> pg_query.Node + 73, // 337: pg_query.ScalarArrayOpExpr.args:type_name -> pg_query.Node + 73, // 338: pg_query.BoolExpr.xpr:type_name -> pg_query.Node + 41, // 339: pg_query.BoolExpr.boolop:type_name -> pg_query.BoolExprType + 73, // 340: pg_query.BoolExpr.args:type_name -> pg_query.Node + 73, // 341: pg_query.SubLink.xpr:type_name -> pg_query.Node + 42, // 342: pg_query.SubLink.sub_link_type:type_name -> pg_query.SubLinkType + 73, // 343: pg_query.SubLink.testexpr:type_name -> pg_query.Node + 73, // 344: pg_query.SubLink.oper_name:type_name -> pg_query.Node + 73, // 345: pg_query.SubLink.subselect:type_name -> pg_query.Node + 73, // 346: pg_query.SubPlan.xpr:type_name -> pg_query.Node + 42, // 347: pg_query.SubPlan.sub_link_type:type_name -> pg_query.SubLinkType + 73, // 348: pg_query.SubPlan.testexpr:type_name -> pg_query.Node + 73, // 349: pg_query.SubPlan.param_ids:type_name -> pg_query.Node + 73, // 350: pg_query.SubPlan.set_param:type_name -> pg_query.Node + 73, // 351: pg_query.SubPlan.par_param:type_name -> pg_query.Node + 73, // 352: pg_query.SubPlan.args:type_name -> pg_query.Node + 73, // 353: pg_query.AlternativeSubPlan.xpr:type_name -> pg_query.Node + 73, // 354: pg_query.AlternativeSubPlan.subplans:type_name -> pg_query.Node + 73, // 355: pg_query.FieldSelect.xpr:type_name -> pg_query.Node + 73, // 356: pg_query.FieldSelect.arg:type_name -> pg_query.Node + 73, // 357: pg_query.FieldStore.xpr:type_name -> pg_query.Node + 73, // 358: pg_query.FieldStore.arg:type_name -> pg_query.Node + 73, // 359: pg_query.FieldStore.newvals:type_name -> pg_query.Node + 73, // 360: pg_query.FieldStore.fieldnums:type_name -> pg_query.Node + 73, // 361: pg_query.RelabelType.xpr:type_name -> pg_query.Node + 73, // 362: pg_query.RelabelType.arg:type_name -> pg_query.Node + 40, // 363: pg_query.RelabelType.relabelformat:type_name -> pg_query.CoercionForm + 73, // 364: pg_query.CoerceViaIO.xpr:type_name -> pg_query.Node + 73, // 365: pg_query.CoerceViaIO.arg:type_name -> pg_query.Node + 40, // 366: pg_query.CoerceViaIO.coerceformat:type_name -> pg_query.CoercionForm + 73, // 367: pg_query.ArrayCoerceExpr.xpr:type_name -> pg_query.Node + 73, // 368: pg_query.ArrayCoerceExpr.arg:type_name -> pg_query.Node + 73, // 369: pg_query.ArrayCoerceExpr.elemexpr:type_name -> pg_query.Node + 40, // 370: pg_query.ArrayCoerceExpr.coerceformat:type_name -> pg_query.CoercionForm + 73, // 371: pg_query.ConvertRowtypeExpr.xpr:type_name -> pg_query.Node + 73, // 372: pg_query.ConvertRowtypeExpr.arg:type_name -> pg_query.Node + 40, // 373: pg_query.ConvertRowtypeExpr.convertformat:type_name -> pg_query.CoercionForm + 73, // 374: pg_query.CollateExpr.xpr:type_name -> pg_query.Node + 73, // 375: pg_query.CollateExpr.arg:type_name -> pg_query.Node + 73, // 376: pg_query.CaseExpr.xpr:type_name -> pg_query.Node + 73, // 377: pg_query.CaseExpr.arg:type_name -> pg_query.Node + 73, // 378: pg_query.CaseExpr.args:type_name -> pg_query.Node + 73, // 379: pg_query.CaseExpr.defresult:type_name -> pg_query.Node + 73, // 380: pg_query.CaseWhen.xpr:type_name -> pg_query.Node + 73, // 381: pg_query.CaseWhen.expr:type_name -> pg_query.Node + 73, // 382: pg_query.CaseWhen.result:type_name -> pg_query.Node + 73, // 383: pg_query.CaseTestExpr.xpr:type_name -> pg_query.Node + 73, // 384: pg_query.ArrayExpr.xpr:type_name -> pg_query.Node + 73, // 385: pg_query.ArrayExpr.elements:type_name -> pg_query.Node + 73, // 386: pg_query.RowExpr.xpr:type_name -> pg_query.Node + 73, // 387: pg_query.RowExpr.args:type_name -> pg_query.Node + 40, // 388: pg_query.RowExpr.row_format:type_name -> pg_query.CoercionForm + 73, // 389: pg_query.RowExpr.colnames:type_name -> pg_query.Node + 73, // 390: pg_query.RowCompareExpr.xpr:type_name -> pg_query.Node + 43, // 391: pg_query.RowCompareExpr.rctype:type_name -> pg_query.RowCompareType + 73, // 392: pg_query.RowCompareExpr.opnos:type_name -> pg_query.Node + 73, // 393: pg_query.RowCompareExpr.opfamilies:type_name -> pg_query.Node + 73, // 394: pg_query.RowCompareExpr.inputcollids:type_name -> pg_query.Node + 73, // 395: pg_query.RowCompareExpr.largs:type_name -> pg_query.Node + 73, // 396: pg_query.RowCompareExpr.rargs:type_name -> pg_query.Node + 73, // 397: pg_query.CoalesceExpr.xpr:type_name -> pg_query.Node + 73, // 398: pg_query.CoalesceExpr.args:type_name -> pg_query.Node + 73, // 399: pg_query.MinMaxExpr.xpr:type_name -> pg_query.Node + 44, // 400: pg_query.MinMaxExpr.op:type_name -> pg_query.MinMaxOp + 73, // 401: pg_query.MinMaxExpr.args:type_name -> pg_query.Node + 73, // 402: pg_query.SQLValueFunction.xpr:type_name -> pg_query.Node + 45, // 403: pg_query.SQLValueFunction.op:type_name -> pg_query.SQLValueFunctionOp + 73, // 404: pg_query.XmlExpr.xpr:type_name -> pg_query.Node + 46, // 405: pg_query.XmlExpr.op:type_name -> pg_query.XmlExprOp + 73, // 406: pg_query.XmlExpr.named_args:type_name -> pg_query.Node + 73, // 407: pg_query.XmlExpr.arg_names:type_name -> pg_query.Node + 73, // 408: pg_query.XmlExpr.args:type_name -> pg_query.Node + 47, // 409: pg_query.XmlExpr.xmloption:type_name -> pg_query.XmlOptionType + 49, // 410: pg_query.JsonFormat.format_type:type_name -> pg_query.JsonFormatType + 48, // 411: pg_query.JsonFormat.encoding:type_name -> pg_query.JsonEncoding + 122, // 412: pg_query.JsonReturning.format:type_name -> pg_query.JsonFormat + 73, // 413: pg_query.JsonValueExpr.raw_expr:type_name -> pg_query.Node + 73, // 414: pg_query.JsonValueExpr.formatted_expr:type_name -> pg_query.Node + 122, // 415: pg_query.JsonValueExpr.format:type_name -> pg_query.JsonFormat + 73, // 416: pg_query.JsonConstructorExpr.xpr:type_name -> pg_query.Node + 50, // 417: pg_query.JsonConstructorExpr.type:type_name -> pg_query.JsonConstructorType + 73, // 418: pg_query.JsonConstructorExpr.args:type_name -> pg_query.Node + 73, // 419: pg_query.JsonConstructorExpr.func:type_name -> pg_query.Node + 73, // 420: pg_query.JsonConstructorExpr.coercion:type_name -> pg_query.Node + 123, // 421: pg_query.JsonConstructorExpr.returning:type_name -> pg_query.JsonReturning + 73, // 422: pg_query.JsonIsPredicate.expr:type_name -> pg_query.Node + 122, // 423: pg_query.JsonIsPredicate.format:type_name -> pg_query.JsonFormat + 51, // 424: pg_query.JsonIsPredicate.item_type:type_name -> pg_query.JsonValueType + 53, // 425: pg_query.JsonBehavior.btype:type_name -> pg_query.JsonBehaviorType + 73, // 426: pg_query.JsonBehavior.expr:type_name -> pg_query.Node + 73, // 427: pg_query.JsonExpr.xpr:type_name -> pg_query.Node + 54, // 428: pg_query.JsonExpr.op:type_name -> pg_query.JsonExprOp + 73, // 429: pg_query.JsonExpr.formatted_expr:type_name -> pg_query.Node + 122, // 430: pg_query.JsonExpr.format:type_name -> pg_query.JsonFormat + 73, // 431: pg_query.JsonExpr.path_spec:type_name -> pg_query.Node + 123, // 432: pg_query.JsonExpr.returning:type_name -> pg_query.JsonReturning + 73, // 433: pg_query.JsonExpr.passing_names:type_name -> pg_query.Node + 73, // 434: pg_query.JsonExpr.passing_values:type_name -> pg_query.Node + 127, // 435: pg_query.JsonExpr.on_empty:type_name -> pg_query.JsonBehavior + 127, // 436: pg_query.JsonExpr.on_error:type_name -> pg_query.JsonBehavior + 52, // 437: pg_query.JsonExpr.wrapper:type_name -> pg_query.JsonWrapper + 73, // 438: pg_query.JsonTablePathScan.plan:type_name -> pg_query.Node + 129, // 439: pg_query.JsonTablePathScan.path:type_name -> pg_query.JsonTablePath + 73, // 440: pg_query.JsonTablePathScan.child:type_name -> pg_query.Node + 73, // 441: pg_query.JsonTableSiblingJoin.plan:type_name -> pg_query.Node + 73, // 442: pg_query.JsonTableSiblingJoin.lplan:type_name -> pg_query.Node + 73, // 443: pg_query.JsonTableSiblingJoin.rplan:type_name -> pg_query.Node + 73, // 444: pg_query.NullTest.xpr:type_name -> pg_query.Node + 73, // 445: pg_query.NullTest.arg:type_name -> pg_query.Node + 55, // 446: pg_query.NullTest.nulltesttype:type_name -> pg_query.NullTestType + 73, // 447: pg_query.BooleanTest.xpr:type_name -> pg_query.Node + 73, // 448: pg_query.BooleanTest.arg:type_name -> pg_query.Node + 56, // 449: pg_query.BooleanTest.booltesttype:type_name -> pg_query.BoolTestType + 57, // 450: pg_query.MergeAction.match_kind:type_name -> pg_query.MergeMatchKind + 58, // 451: pg_query.MergeAction.command_type:type_name -> pg_query.CmdType + 35, // 452: pg_query.MergeAction.override:type_name -> pg_query.OverridingKind + 73, // 453: pg_query.MergeAction.qual:type_name -> pg_query.Node + 73, // 454: pg_query.MergeAction.target_list:type_name -> pg_query.Node + 73, // 455: pg_query.MergeAction.update_colnos:type_name -> pg_query.Node + 73, // 456: pg_query.CoerceToDomain.xpr:type_name -> pg_query.Node + 73, // 457: pg_query.CoerceToDomain.arg:type_name -> pg_query.Node + 40, // 458: pg_query.CoerceToDomain.coercionformat:type_name -> pg_query.CoercionForm + 73, // 459: pg_query.CoerceToDomainValue.xpr:type_name -> pg_query.Node + 73, // 460: pg_query.SetToDefault.xpr:type_name -> pg_query.Node + 73, // 461: pg_query.CurrentOfExpr.xpr:type_name -> pg_query.Node + 73, // 462: pg_query.NextValueExpr.xpr:type_name -> pg_query.Node + 73, // 463: pg_query.InferenceElem.xpr:type_name -> pg_query.Node + 73, // 464: pg_query.InferenceElem.expr:type_name -> pg_query.Node + 73, // 465: pg_query.TargetEntry.xpr:type_name -> pg_query.Node + 73, // 466: pg_query.TargetEntry.expr:type_name -> pg_query.Node + 59, // 467: pg_query.JoinExpr.jointype:type_name -> pg_query.JoinType + 73, // 468: pg_query.JoinExpr.larg:type_name -> pg_query.Node + 73, // 469: pg_query.JoinExpr.rarg:type_name -> pg_query.Node + 73, // 470: pg_query.JoinExpr.using_clause:type_name -> pg_query.Node + 83, // 471: pg_query.JoinExpr.join_using_alias:type_name -> pg_query.Alias + 73, // 472: pg_query.JoinExpr.quals:type_name -> pg_query.Node + 83, // 473: pg_query.JoinExpr.alias:type_name -> pg_query.Alias + 73, // 474: pg_query.FromExpr.fromlist:type_name -> pg_query.Node + 73, // 475: pg_query.FromExpr.quals:type_name -> pg_query.Node + 64, // 476: pg_query.OnConflictExpr.action:type_name -> pg_query.OnConflictAction + 73, // 477: pg_query.OnConflictExpr.arbiter_elems:type_name -> pg_query.Node + 73, // 478: pg_query.OnConflictExpr.arbiter_where:type_name -> pg_query.Node + 73, // 479: pg_query.OnConflictExpr.on_conflict_set:type_name -> pg_query.Node + 73, // 480: pg_query.OnConflictExpr.on_conflict_where:type_name -> pg_query.Node + 73, // 481: pg_query.OnConflictExpr.excl_rel_tlist:type_name -> pg_query.Node + 58, // 482: pg_query.Query.command_type:type_name -> pg_query.CmdType + 0, // 483: pg_query.Query.query_source:type_name -> pg_query.QuerySource + 73, // 484: pg_query.Query.utility_stmt:type_name -> pg_query.Node + 73, // 485: pg_query.Query.cte_list:type_name -> pg_query.Node + 73, // 486: pg_query.Query.rtable:type_name -> pg_query.Node + 73, // 487: pg_query.Query.rteperminfos:type_name -> pg_query.Node + 144, // 488: pg_query.Query.jointree:type_name -> pg_query.FromExpr + 73, // 489: pg_query.Query.merge_action_list:type_name -> pg_query.Node + 73, // 490: pg_query.Query.merge_join_condition:type_name -> pg_query.Node + 73, // 491: pg_query.Query.target_list:type_name -> pg_query.Node + 35, // 492: pg_query.Query.override:type_name -> pg_query.OverridingKind + 145, // 493: pg_query.Query.on_conflict:type_name -> pg_query.OnConflictExpr + 73, // 494: pg_query.Query.returning_list:type_name -> pg_query.Node + 73, // 495: pg_query.Query.group_clause:type_name -> pg_query.Node + 73, // 496: pg_query.Query.grouping_sets:type_name -> pg_query.Node + 73, // 497: pg_query.Query.having_qual:type_name -> pg_query.Node + 73, // 498: pg_query.Query.window_clause:type_name -> pg_query.Node + 73, // 499: pg_query.Query.distinct_clause:type_name -> pg_query.Node + 73, // 500: pg_query.Query.sort_clause:type_name -> pg_query.Node + 73, // 501: pg_query.Query.limit_offset:type_name -> pg_query.Node + 73, // 502: pg_query.Query.limit_count:type_name -> pg_query.Node + 65, // 503: pg_query.Query.limit_option:type_name -> pg_query.LimitOption + 73, // 504: pg_query.Query.row_marks:type_name -> pg_query.Node + 73, // 505: pg_query.Query.set_operations:type_name -> pg_query.Node + 73, // 506: pg_query.Query.constraint_deps:type_name -> pg_query.Node + 73, // 507: pg_query.Query.with_check_options:type_name -> pg_query.Node + 73, // 508: pg_query.TypeName.names:type_name -> pg_query.Node + 73, // 509: pg_query.TypeName.typmods:type_name -> pg_query.Node + 73, // 510: pg_query.TypeName.array_bounds:type_name -> pg_query.Node + 73, // 511: pg_query.ColumnRef.fields:type_name -> pg_query.Node + 4, // 512: pg_query.A_Expr.kind:type_name -> pg_query.A_Expr_Kind + 73, // 513: pg_query.A_Expr.name:type_name -> pg_query.Node + 73, // 514: pg_query.A_Expr.lexpr:type_name -> pg_query.Node + 73, // 515: pg_query.A_Expr.rexpr:type_name -> pg_query.Node + 73, // 516: pg_query.TypeCast.arg:type_name -> pg_query.Node + 147, // 517: pg_query.TypeCast.type_name:type_name -> pg_query.TypeName + 73, // 518: pg_query.CollateClause.arg:type_name -> pg_query.Node + 73, // 519: pg_query.CollateClause.collname:type_name -> pg_query.Node + 5, // 520: pg_query.RoleSpec.roletype:type_name -> pg_query.RoleSpecType + 73, // 521: pg_query.FuncCall.funcname:type_name -> pg_query.Node + 73, // 522: pg_query.FuncCall.args:type_name -> pg_query.Node + 73, // 523: pg_query.FuncCall.agg_order:type_name -> pg_query.Node + 73, // 524: pg_query.FuncCall.agg_filter:type_name -> pg_query.Node + 162, // 525: pg_query.FuncCall.over:type_name -> pg_query.WindowDef + 40, // 526: pg_query.FuncCall.funcformat:type_name -> pg_query.CoercionForm + 73, // 527: pg_query.A_Indices.lidx:type_name -> pg_query.Node + 73, // 528: pg_query.A_Indices.uidx:type_name -> pg_query.Node + 73, // 529: pg_query.A_Indirection.arg:type_name -> pg_query.Node + 73, // 530: pg_query.A_Indirection.indirection:type_name -> pg_query.Node + 73, // 531: pg_query.A_ArrayExpr.elements:type_name -> pg_query.Node + 73, // 532: pg_query.ResTarget.indirection:type_name -> pg_query.Node + 73, // 533: pg_query.ResTarget.val:type_name -> pg_query.Node + 73, // 534: pg_query.MultiAssignRef.source:type_name -> pg_query.Node + 73, // 535: pg_query.SortBy.node:type_name -> pg_query.Node + 1, // 536: pg_query.SortBy.sortby_dir:type_name -> pg_query.SortByDir + 2, // 537: pg_query.SortBy.sortby_nulls:type_name -> pg_query.SortByNulls + 73, // 538: pg_query.SortBy.use_op:type_name -> pg_query.Node + 73, // 539: pg_query.WindowDef.partition_clause:type_name -> pg_query.Node + 73, // 540: pg_query.WindowDef.order_clause:type_name -> pg_query.Node + 73, // 541: pg_query.WindowDef.start_offset:type_name -> pg_query.Node + 73, // 542: pg_query.WindowDef.end_offset:type_name -> pg_query.Node + 73, // 543: pg_query.RangeSubselect.subquery:type_name -> pg_query.Node + 83, // 544: pg_query.RangeSubselect.alias:type_name -> pg_query.Alias + 73, // 545: pg_query.RangeFunction.functions:type_name -> pg_query.Node + 83, // 546: pg_query.RangeFunction.alias:type_name -> pg_query.Alias + 73, // 547: pg_query.RangeFunction.coldeflist:type_name -> pg_query.Node + 73, // 548: pg_query.RangeTableFunc.docexpr:type_name -> pg_query.Node + 73, // 549: pg_query.RangeTableFunc.rowexpr:type_name -> pg_query.Node + 73, // 550: pg_query.RangeTableFunc.namespaces:type_name -> pg_query.Node + 73, // 551: pg_query.RangeTableFunc.columns:type_name -> pg_query.Node + 83, // 552: pg_query.RangeTableFunc.alias:type_name -> pg_query.Alias + 147, // 553: pg_query.RangeTableFuncCol.type_name:type_name -> pg_query.TypeName + 73, // 554: pg_query.RangeTableFuncCol.colexpr:type_name -> pg_query.Node + 73, // 555: pg_query.RangeTableFuncCol.coldefexpr:type_name -> pg_query.Node + 73, // 556: pg_query.RangeTableSample.relation:type_name -> pg_query.Node + 73, // 557: pg_query.RangeTableSample.method:type_name -> pg_query.Node + 73, // 558: pg_query.RangeTableSample.args:type_name -> pg_query.Node + 73, // 559: pg_query.RangeTableSample.repeatable:type_name -> pg_query.Node + 147, // 560: pg_query.ColumnDef.type_name:type_name -> pg_query.TypeName + 73, // 561: pg_query.ColumnDef.raw_default:type_name -> pg_query.Node + 73, // 562: pg_query.ColumnDef.cooked_default:type_name -> pg_query.Node + 84, // 563: pg_query.ColumnDef.identity_sequence:type_name -> pg_query.RangeVar + 152, // 564: pg_query.ColumnDef.coll_clause:type_name -> pg_query.CollateClause + 73, // 565: pg_query.ColumnDef.constraints:type_name -> pg_query.Node + 73, // 566: pg_query.ColumnDef.fdwoptions:type_name -> pg_query.Node + 84, // 567: pg_query.TableLikeClause.relation:type_name -> pg_query.RangeVar + 73, // 568: pg_query.IndexElem.expr:type_name -> pg_query.Node + 73, // 569: pg_query.IndexElem.collation:type_name -> pg_query.Node + 73, // 570: pg_query.IndexElem.opclass:type_name -> pg_query.Node + 73, // 571: pg_query.IndexElem.opclassopts:type_name -> pg_query.Node + 1, // 572: pg_query.IndexElem.ordering:type_name -> pg_query.SortByDir + 2, // 573: pg_query.IndexElem.nulls_ordering:type_name -> pg_query.SortByNulls + 73, // 574: pg_query.DefElem.arg:type_name -> pg_query.Node + 7, // 575: pg_query.DefElem.defaction:type_name -> pg_query.DefElemAction + 73, // 576: pg_query.LockingClause.locked_rels:type_name -> pg_query.Node + 66, // 577: pg_query.LockingClause.strength:type_name -> pg_query.LockClauseStrength + 67, // 578: pg_query.LockingClause.wait_policy:type_name -> pg_query.LockWaitPolicy + 47, // 579: pg_query.XmlSerialize.xmloption:type_name -> pg_query.XmlOptionType + 73, // 580: pg_query.XmlSerialize.expr:type_name -> pg_query.Node + 147, // 581: pg_query.XmlSerialize.type_name:type_name -> pg_query.TypeName + 73, // 582: pg_query.PartitionElem.expr:type_name -> pg_query.Node + 73, // 583: pg_query.PartitionElem.collation:type_name -> pg_query.Node + 73, // 584: pg_query.PartitionElem.opclass:type_name -> pg_query.Node + 8, // 585: pg_query.PartitionSpec.strategy:type_name -> pg_query.PartitionStrategy + 73, // 586: pg_query.PartitionSpec.part_params:type_name -> pg_query.Node + 73, // 587: pg_query.PartitionBoundSpec.listdatums:type_name -> pg_query.Node + 73, // 588: pg_query.PartitionBoundSpec.lowerdatums:type_name -> pg_query.Node + 73, // 589: pg_query.PartitionBoundSpec.upperdatums:type_name -> pg_query.Node + 9, // 590: pg_query.PartitionRangeDatum.kind:type_name -> pg_query.PartitionRangeDatumKind + 73, // 591: pg_query.PartitionRangeDatum.value:type_name -> pg_query.Node + 84, // 592: pg_query.PartitionCmd.name:type_name -> pg_query.RangeVar + 176, // 593: pg_query.PartitionCmd.bound:type_name -> pg_query.PartitionBoundSpec + 83, // 594: pg_query.RangeTblEntry.alias:type_name -> pg_query.Alias + 83, // 595: pg_query.RangeTblEntry.eref:type_name -> pg_query.Alias + 10, // 596: pg_query.RangeTblEntry.rtekind:type_name -> pg_query.RTEKind + 183, // 597: pg_query.RangeTblEntry.tablesample:type_name -> pg_query.TableSampleClause + 146, // 598: pg_query.RangeTblEntry.subquery:type_name -> pg_query.Query + 59, // 599: pg_query.RangeTblEntry.jointype:type_name -> pg_query.JoinType + 73, // 600: pg_query.RangeTblEntry.joinaliasvars:type_name -> pg_query.Node + 73, // 601: pg_query.RangeTblEntry.joinleftcols:type_name -> pg_query.Node + 73, // 602: pg_query.RangeTblEntry.joinrightcols:type_name -> pg_query.Node + 83, // 603: pg_query.RangeTblEntry.join_using_alias:type_name -> pg_query.Alias + 73, // 604: pg_query.RangeTblEntry.functions:type_name -> pg_query.Node + 85, // 605: pg_query.RangeTblEntry.tablefunc:type_name -> pg_query.TableFunc + 73, // 606: pg_query.RangeTblEntry.values_lists:type_name -> pg_query.Node + 73, // 607: pg_query.RangeTblEntry.coltypes:type_name -> pg_query.Node + 73, // 608: pg_query.RangeTblEntry.coltypmods:type_name -> pg_query.Node + 73, // 609: pg_query.RangeTblEntry.colcollations:type_name -> pg_query.Node + 73, // 610: pg_query.RangeTblEntry.security_quals:type_name -> pg_query.Node + 73, // 611: pg_query.RangeTblFunction.funcexpr:type_name -> pg_query.Node + 73, // 612: pg_query.RangeTblFunction.funccolnames:type_name -> pg_query.Node + 73, // 613: pg_query.RangeTblFunction.funccoltypes:type_name -> pg_query.Node + 73, // 614: pg_query.RangeTblFunction.funccoltypmods:type_name -> pg_query.Node + 73, // 615: pg_query.RangeTblFunction.funccolcollations:type_name -> pg_query.Node + 73, // 616: pg_query.TableSampleClause.args:type_name -> pg_query.Node + 73, // 617: pg_query.TableSampleClause.repeatable:type_name -> pg_query.Node + 11, // 618: pg_query.WithCheckOption.kind:type_name -> pg_query.WCOKind + 73, // 619: pg_query.WithCheckOption.qual:type_name -> pg_query.Node + 12, // 620: pg_query.GroupingSet.kind:type_name -> pg_query.GroupingSetKind + 73, // 621: pg_query.GroupingSet.content:type_name -> pg_query.Node + 73, // 622: pg_query.WindowClause.partition_clause:type_name -> pg_query.Node + 73, // 623: pg_query.WindowClause.order_clause:type_name -> pg_query.Node + 73, // 624: pg_query.WindowClause.start_offset:type_name -> pg_query.Node + 73, // 625: pg_query.WindowClause.end_offset:type_name -> pg_query.Node + 66, // 626: pg_query.RowMarkClause.strength:type_name -> pg_query.LockClauseStrength + 67, // 627: pg_query.RowMarkClause.wait_policy:type_name -> pg_query.LockWaitPolicy + 73, // 628: pg_query.WithClause.ctes:type_name -> pg_query.Node + 73, // 629: pg_query.InferClause.index_elems:type_name -> pg_query.Node + 73, // 630: pg_query.InferClause.where_clause:type_name -> pg_query.Node + 64, // 631: pg_query.OnConflictClause.action:type_name -> pg_query.OnConflictAction + 190, // 632: pg_query.OnConflictClause.infer:type_name -> pg_query.InferClause + 73, // 633: pg_query.OnConflictClause.target_list:type_name -> pg_query.Node + 73, // 634: pg_query.OnConflictClause.where_clause:type_name -> pg_query.Node + 73, // 635: pg_query.CTESearchClause.search_col_list:type_name -> pg_query.Node + 73, // 636: pg_query.CTECycleClause.cycle_col_list:type_name -> pg_query.Node + 73, // 637: pg_query.CTECycleClause.cycle_mark_value:type_name -> pg_query.Node + 73, // 638: pg_query.CTECycleClause.cycle_mark_default:type_name -> pg_query.Node + 73, // 639: pg_query.CommonTableExpr.aliascolnames:type_name -> pg_query.Node + 13, // 640: pg_query.CommonTableExpr.ctematerialized:type_name -> pg_query.CTEMaterialize + 73, // 641: pg_query.CommonTableExpr.ctequery:type_name -> pg_query.Node + 192, // 642: pg_query.CommonTableExpr.search_clause:type_name -> pg_query.CTESearchClause + 193, // 643: pg_query.CommonTableExpr.cycle_clause:type_name -> pg_query.CTECycleClause + 73, // 644: pg_query.CommonTableExpr.ctecolnames:type_name -> pg_query.Node + 73, // 645: pg_query.CommonTableExpr.ctecoltypes:type_name -> pg_query.Node + 73, // 646: pg_query.CommonTableExpr.ctecoltypmods:type_name -> pg_query.Node + 73, // 647: pg_query.CommonTableExpr.ctecolcollations:type_name -> pg_query.Node + 57, // 648: pg_query.MergeWhenClause.match_kind:type_name -> pg_query.MergeMatchKind + 58, // 649: pg_query.MergeWhenClause.command_type:type_name -> pg_query.CmdType + 35, // 650: pg_query.MergeWhenClause.override:type_name -> pg_query.OverridingKind + 73, // 651: pg_query.MergeWhenClause.condition:type_name -> pg_query.Node + 73, // 652: pg_query.MergeWhenClause.target_list:type_name -> pg_query.Node + 73, // 653: pg_query.MergeWhenClause.values:type_name -> pg_query.Node + 147, // 654: pg_query.JsonOutput.type_name:type_name -> pg_query.TypeName + 123, // 655: pg_query.JsonOutput.returning:type_name -> pg_query.JsonReturning + 124, // 656: pg_query.JsonArgument.val:type_name -> pg_query.JsonValueExpr + 54, // 657: pg_query.JsonFuncExpr.op:type_name -> pg_query.JsonExprOp + 124, // 658: pg_query.JsonFuncExpr.context_item:type_name -> pg_query.JsonValueExpr + 73, // 659: pg_query.JsonFuncExpr.pathspec:type_name -> pg_query.Node + 73, // 660: pg_query.JsonFuncExpr.passing:type_name -> pg_query.Node + 197, // 661: pg_query.JsonFuncExpr.output:type_name -> pg_query.JsonOutput + 127, // 662: pg_query.JsonFuncExpr.on_empty:type_name -> pg_query.JsonBehavior + 127, // 663: pg_query.JsonFuncExpr.on_error:type_name -> pg_query.JsonBehavior + 52, // 664: pg_query.JsonFuncExpr.wrapper:type_name -> pg_query.JsonWrapper + 14, // 665: pg_query.JsonFuncExpr.quotes:type_name -> pg_query.JsonQuotes + 73, // 666: pg_query.JsonTablePathSpec.string:type_name -> pg_query.Node + 124, // 667: pg_query.JsonTable.context_item:type_name -> pg_query.JsonValueExpr + 200, // 668: pg_query.JsonTable.pathspec:type_name -> pg_query.JsonTablePathSpec + 73, // 669: pg_query.JsonTable.passing:type_name -> pg_query.Node + 73, // 670: pg_query.JsonTable.columns:type_name -> pg_query.Node + 127, // 671: pg_query.JsonTable.on_error:type_name -> pg_query.JsonBehavior + 83, // 672: pg_query.JsonTable.alias:type_name -> pg_query.Alias + 15, // 673: pg_query.JsonTableColumn.coltype:type_name -> pg_query.JsonTableColumnType + 147, // 674: pg_query.JsonTableColumn.type_name:type_name -> pg_query.TypeName + 200, // 675: pg_query.JsonTableColumn.pathspec:type_name -> pg_query.JsonTablePathSpec + 122, // 676: pg_query.JsonTableColumn.format:type_name -> pg_query.JsonFormat + 52, // 677: pg_query.JsonTableColumn.wrapper:type_name -> pg_query.JsonWrapper + 14, // 678: pg_query.JsonTableColumn.quotes:type_name -> pg_query.JsonQuotes + 73, // 679: pg_query.JsonTableColumn.columns:type_name -> pg_query.Node + 127, // 680: pg_query.JsonTableColumn.on_empty:type_name -> pg_query.JsonBehavior + 127, // 681: pg_query.JsonTableColumn.on_error:type_name -> pg_query.JsonBehavior + 73, // 682: pg_query.JsonKeyValue.key:type_name -> pg_query.Node + 124, // 683: pg_query.JsonKeyValue.value:type_name -> pg_query.JsonValueExpr + 124, // 684: pg_query.JsonParseExpr.expr:type_name -> pg_query.JsonValueExpr + 197, // 685: pg_query.JsonParseExpr.output:type_name -> pg_query.JsonOutput + 73, // 686: pg_query.JsonScalarExpr.expr:type_name -> pg_query.Node + 197, // 687: pg_query.JsonScalarExpr.output:type_name -> pg_query.JsonOutput + 124, // 688: pg_query.JsonSerializeExpr.expr:type_name -> pg_query.JsonValueExpr + 197, // 689: pg_query.JsonSerializeExpr.output:type_name -> pg_query.JsonOutput + 73, // 690: pg_query.JsonObjectConstructor.exprs:type_name -> pg_query.Node + 197, // 691: pg_query.JsonObjectConstructor.output:type_name -> pg_query.JsonOutput + 73, // 692: pg_query.JsonArrayConstructor.exprs:type_name -> pg_query.Node + 197, // 693: pg_query.JsonArrayConstructor.output:type_name -> pg_query.JsonOutput + 73, // 694: pg_query.JsonArrayQueryConstructor.query:type_name -> pg_query.Node + 197, // 695: pg_query.JsonArrayQueryConstructor.output:type_name -> pg_query.JsonOutput + 122, // 696: pg_query.JsonArrayQueryConstructor.format:type_name -> pg_query.JsonFormat + 197, // 697: pg_query.JsonAggConstructor.output:type_name -> pg_query.JsonOutput + 73, // 698: pg_query.JsonAggConstructor.agg_filter:type_name -> pg_query.Node + 73, // 699: pg_query.JsonAggConstructor.agg_order:type_name -> pg_query.Node + 162, // 700: pg_query.JsonAggConstructor.over:type_name -> pg_query.WindowDef + 210, // 701: pg_query.JsonObjectAgg.constructor:type_name -> pg_query.JsonAggConstructor + 203, // 702: pg_query.JsonObjectAgg.arg:type_name -> pg_query.JsonKeyValue + 210, // 703: pg_query.JsonArrayAgg.constructor:type_name -> pg_query.JsonAggConstructor + 124, // 704: pg_query.JsonArrayAgg.arg:type_name -> pg_query.JsonValueExpr + 73, // 705: pg_query.RawStmt.stmt:type_name -> pg_query.Node + 84, // 706: pg_query.InsertStmt.relation:type_name -> pg_query.RangeVar + 73, // 707: pg_query.InsertStmt.cols:type_name -> pg_query.Node + 73, // 708: pg_query.InsertStmt.select_stmt:type_name -> pg_query.Node + 191, // 709: pg_query.InsertStmt.on_conflict_clause:type_name -> pg_query.OnConflictClause + 73, // 710: pg_query.InsertStmt.returning_list:type_name -> pg_query.Node + 189, // 711: pg_query.InsertStmt.with_clause:type_name -> pg_query.WithClause + 35, // 712: pg_query.InsertStmt.override:type_name -> pg_query.OverridingKind + 84, // 713: pg_query.DeleteStmt.relation:type_name -> pg_query.RangeVar + 73, // 714: pg_query.DeleteStmt.using_clause:type_name -> pg_query.Node + 73, // 715: pg_query.DeleteStmt.where_clause:type_name -> pg_query.Node + 73, // 716: pg_query.DeleteStmt.returning_list:type_name -> pg_query.Node + 189, // 717: pg_query.DeleteStmt.with_clause:type_name -> pg_query.WithClause + 84, // 718: pg_query.UpdateStmt.relation:type_name -> pg_query.RangeVar + 73, // 719: pg_query.UpdateStmt.target_list:type_name -> pg_query.Node + 73, // 720: pg_query.UpdateStmt.where_clause:type_name -> pg_query.Node + 73, // 721: pg_query.UpdateStmt.from_clause:type_name -> pg_query.Node + 73, // 722: pg_query.UpdateStmt.returning_list:type_name -> pg_query.Node + 189, // 723: pg_query.UpdateStmt.with_clause:type_name -> pg_query.WithClause + 84, // 724: pg_query.MergeStmt.relation:type_name -> pg_query.RangeVar + 73, // 725: pg_query.MergeStmt.source_relation:type_name -> pg_query.Node + 73, // 726: pg_query.MergeStmt.join_condition:type_name -> pg_query.Node + 73, // 727: pg_query.MergeStmt.merge_when_clauses:type_name -> pg_query.Node + 73, // 728: pg_query.MergeStmt.returning_list:type_name -> pg_query.Node + 189, // 729: pg_query.MergeStmt.with_clause:type_name -> pg_query.WithClause + 73, // 730: pg_query.SelectStmt.distinct_clause:type_name -> pg_query.Node + 86, // 731: pg_query.SelectStmt.into_clause:type_name -> pg_query.IntoClause + 73, // 732: pg_query.SelectStmt.target_list:type_name -> pg_query.Node + 73, // 733: pg_query.SelectStmt.from_clause:type_name -> pg_query.Node + 73, // 734: pg_query.SelectStmt.where_clause:type_name -> pg_query.Node + 73, // 735: pg_query.SelectStmt.group_clause:type_name -> pg_query.Node + 73, // 736: pg_query.SelectStmt.having_clause:type_name -> pg_query.Node + 73, // 737: pg_query.SelectStmt.window_clause:type_name -> pg_query.Node + 73, // 738: pg_query.SelectStmt.values_lists:type_name -> pg_query.Node + 73, // 739: pg_query.SelectStmt.sort_clause:type_name -> pg_query.Node + 73, // 740: pg_query.SelectStmt.limit_offset:type_name -> pg_query.Node + 73, // 741: pg_query.SelectStmt.limit_count:type_name -> pg_query.Node + 65, // 742: pg_query.SelectStmt.limit_option:type_name -> pg_query.LimitOption + 73, // 743: pg_query.SelectStmt.locking_clause:type_name -> pg_query.Node + 189, // 744: pg_query.SelectStmt.with_clause:type_name -> pg_query.WithClause + 16, // 745: pg_query.SelectStmt.op:type_name -> pg_query.SetOperation + 218, // 746: pg_query.SelectStmt.larg:type_name -> pg_query.SelectStmt + 218, // 747: pg_query.SelectStmt.rarg:type_name -> pg_query.SelectStmt + 16, // 748: pg_query.SetOperationStmt.op:type_name -> pg_query.SetOperation + 73, // 749: pg_query.SetOperationStmt.larg:type_name -> pg_query.Node + 73, // 750: pg_query.SetOperationStmt.rarg:type_name -> pg_query.Node + 73, // 751: pg_query.SetOperationStmt.col_types:type_name -> pg_query.Node + 73, // 752: pg_query.SetOperationStmt.col_typmods:type_name -> pg_query.Node + 73, // 753: pg_query.SetOperationStmt.col_collations:type_name -> pg_query.Node + 73, // 754: pg_query.SetOperationStmt.group_clauses:type_name -> pg_query.Node + 73, // 755: pg_query.ReturnStmt.returnval:type_name -> pg_query.Node + 73, // 756: pg_query.PLAssignStmt.indirection:type_name -> pg_query.Node + 218, // 757: pg_query.PLAssignStmt.val:type_name -> pg_query.SelectStmt + 153, // 758: pg_query.CreateSchemaStmt.authrole:type_name -> pg_query.RoleSpec + 73, // 759: pg_query.CreateSchemaStmt.schema_elts:type_name -> pg_query.Node + 84, // 760: pg_query.AlterTableStmt.relation:type_name -> pg_query.RangeVar + 73, // 761: pg_query.AlterTableStmt.cmds:type_name -> pg_query.Node + 17, // 762: pg_query.AlterTableStmt.objtype:type_name -> pg_query.ObjectType + 19, // 763: pg_query.AlterTableCmd.subtype:type_name -> pg_query.AlterTableType + 153, // 764: pg_query.AlterTableCmd.newowner:type_name -> pg_query.RoleSpec + 73, // 765: pg_query.AlterTableCmd.def:type_name -> pg_query.Node + 18, // 766: pg_query.AlterTableCmd.behavior:type_name -> pg_query.DropBehavior + 73, // 767: pg_query.AlterCollationStmt.collname:type_name -> pg_query.Node + 73, // 768: pg_query.AlterDomainStmt.type_name:type_name -> pg_query.Node + 73, // 769: pg_query.AlterDomainStmt.def:type_name -> pg_query.Node + 18, // 770: pg_query.AlterDomainStmt.behavior:type_name -> pg_query.DropBehavior + 20, // 771: pg_query.GrantStmt.targtype:type_name -> pg_query.GrantTargetType + 17, // 772: pg_query.GrantStmt.objtype:type_name -> pg_query.ObjectType + 73, // 773: pg_query.GrantStmt.objects:type_name -> pg_query.Node + 73, // 774: pg_query.GrantStmt.privileges:type_name -> pg_query.Node + 73, // 775: pg_query.GrantStmt.grantees:type_name -> pg_query.Node + 153, // 776: pg_query.GrantStmt.grantor:type_name -> pg_query.RoleSpec + 18, // 777: pg_query.GrantStmt.behavior:type_name -> pg_query.DropBehavior + 73, // 778: pg_query.ObjectWithArgs.objname:type_name -> pg_query.Node + 73, // 779: pg_query.ObjectWithArgs.objargs:type_name -> pg_query.Node + 73, // 780: pg_query.ObjectWithArgs.objfuncargs:type_name -> pg_query.Node + 73, // 781: pg_query.AccessPriv.cols:type_name -> pg_query.Node + 73, // 782: pg_query.GrantRoleStmt.granted_roles:type_name -> pg_query.Node + 73, // 783: pg_query.GrantRoleStmt.grantee_roles:type_name -> pg_query.Node + 73, // 784: pg_query.GrantRoleStmt.opt:type_name -> pg_query.Node + 153, // 785: pg_query.GrantRoleStmt.grantor:type_name -> pg_query.RoleSpec + 18, // 786: pg_query.GrantRoleStmt.behavior:type_name -> pg_query.DropBehavior + 73, // 787: pg_query.AlterDefaultPrivilegesStmt.options:type_name -> pg_query.Node + 228, // 788: pg_query.AlterDefaultPrivilegesStmt.action:type_name -> pg_query.GrantStmt + 84, // 789: pg_query.CopyStmt.relation:type_name -> pg_query.RangeVar + 73, // 790: pg_query.CopyStmt.query:type_name -> pg_query.Node + 73, // 791: pg_query.CopyStmt.attlist:type_name -> pg_query.Node + 73, // 792: pg_query.CopyStmt.options:type_name -> pg_query.Node + 73, // 793: pg_query.CopyStmt.where_clause:type_name -> pg_query.Node + 21, // 794: pg_query.VariableSetStmt.kind:type_name -> pg_query.VariableSetKind + 73, // 795: pg_query.VariableSetStmt.args:type_name -> pg_query.Node + 84, // 796: pg_query.CreateStmt.relation:type_name -> pg_query.RangeVar + 73, // 797: pg_query.CreateStmt.table_elts:type_name -> pg_query.Node + 73, // 798: pg_query.CreateStmt.inh_relations:type_name -> pg_query.Node + 176, // 799: pg_query.CreateStmt.partbound:type_name -> pg_query.PartitionBoundSpec + 175, // 800: pg_query.CreateStmt.partspec:type_name -> pg_query.PartitionSpec + 147, // 801: pg_query.CreateStmt.of_typename:type_name -> pg_query.TypeName + 73, // 802: pg_query.CreateStmt.constraints:type_name -> pg_query.Node + 73, // 803: pg_query.CreateStmt.options:type_name -> pg_query.Node + 36, // 804: pg_query.CreateStmt.oncommit:type_name -> pg_query.OnCommitAction + 22, // 805: pg_query.Constraint.contype:type_name -> pg_query.ConstrType + 73, // 806: pg_query.Constraint.raw_expr:type_name -> pg_query.Node + 73, // 807: pg_query.Constraint.keys:type_name -> pg_query.Node + 73, // 808: pg_query.Constraint.including:type_name -> pg_query.Node + 73, // 809: pg_query.Constraint.exclusions:type_name -> pg_query.Node + 73, // 810: pg_query.Constraint.options:type_name -> pg_query.Node + 73, // 811: pg_query.Constraint.where_clause:type_name -> pg_query.Node + 84, // 812: pg_query.Constraint.pktable:type_name -> pg_query.RangeVar + 73, // 813: pg_query.Constraint.fk_attrs:type_name -> pg_query.Node + 73, // 814: pg_query.Constraint.pk_attrs:type_name -> pg_query.Node + 73, // 815: pg_query.Constraint.fk_del_set_cols:type_name -> pg_query.Node + 73, // 816: pg_query.Constraint.old_conpfeqop:type_name -> pg_query.Node + 153, // 817: pg_query.CreateTableSpaceStmt.owner:type_name -> pg_query.RoleSpec + 73, // 818: pg_query.CreateTableSpaceStmt.options:type_name -> pg_query.Node + 73, // 819: pg_query.AlterTableSpaceOptionsStmt.options:type_name -> pg_query.Node + 17, // 820: pg_query.AlterTableMoveAllStmt.objtype:type_name -> pg_query.ObjectType + 73, // 821: pg_query.AlterTableMoveAllStmt.roles:type_name -> pg_query.Node + 73, // 822: pg_query.CreateExtensionStmt.options:type_name -> pg_query.Node + 73, // 823: pg_query.AlterExtensionStmt.options:type_name -> pg_query.Node + 17, // 824: pg_query.AlterExtensionContentsStmt.objtype:type_name -> pg_query.ObjectType + 73, // 825: pg_query.AlterExtensionContentsStmt.object:type_name -> pg_query.Node + 73, // 826: pg_query.CreateFdwStmt.func_options:type_name -> pg_query.Node + 73, // 827: pg_query.CreateFdwStmt.options:type_name -> pg_query.Node + 73, // 828: pg_query.AlterFdwStmt.func_options:type_name -> pg_query.Node + 73, // 829: pg_query.AlterFdwStmt.options:type_name -> pg_query.Node + 73, // 830: pg_query.CreateForeignServerStmt.options:type_name -> pg_query.Node + 73, // 831: pg_query.AlterForeignServerStmt.options:type_name -> pg_query.Node + 236, // 832: pg_query.CreateForeignTableStmt.base_stmt:type_name -> pg_query.CreateStmt + 73, // 833: pg_query.CreateForeignTableStmt.options:type_name -> pg_query.Node + 153, // 834: pg_query.CreateUserMappingStmt.user:type_name -> pg_query.RoleSpec + 73, // 835: pg_query.CreateUserMappingStmt.options:type_name -> pg_query.Node + 153, // 836: pg_query.AlterUserMappingStmt.user:type_name -> pg_query.RoleSpec + 73, // 837: pg_query.AlterUserMappingStmt.options:type_name -> pg_query.Node + 153, // 838: pg_query.DropUserMappingStmt.user:type_name -> pg_query.RoleSpec + 23, // 839: pg_query.ImportForeignSchemaStmt.list_type:type_name -> pg_query.ImportForeignSchemaType + 73, // 840: pg_query.ImportForeignSchemaStmt.table_list:type_name -> pg_query.Node + 73, // 841: pg_query.ImportForeignSchemaStmt.options:type_name -> pg_query.Node + 84, // 842: pg_query.CreatePolicyStmt.table:type_name -> pg_query.RangeVar + 73, // 843: pg_query.CreatePolicyStmt.roles:type_name -> pg_query.Node + 73, // 844: pg_query.CreatePolicyStmt.qual:type_name -> pg_query.Node + 73, // 845: pg_query.CreatePolicyStmt.with_check:type_name -> pg_query.Node + 84, // 846: pg_query.AlterPolicyStmt.table:type_name -> pg_query.RangeVar + 73, // 847: pg_query.AlterPolicyStmt.roles:type_name -> pg_query.Node + 73, // 848: pg_query.AlterPolicyStmt.qual:type_name -> pg_query.Node + 73, // 849: pg_query.AlterPolicyStmt.with_check:type_name -> pg_query.Node + 73, // 850: pg_query.CreateAmStmt.handler_name:type_name -> pg_query.Node + 84, // 851: pg_query.CreateTrigStmt.relation:type_name -> pg_query.RangeVar + 73, // 852: pg_query.CreateTrigStmt.funcname:type_name -> pg_query.Node + 73, // 853: pg_query.CreateTrigStmt.args:type_name -> pg_query.Node + 73, // 854: pg_query.CreateTrigStmt.columns:type_name -> pg_query.Node + 73, // 855: pg_query.CreateTrigStmt.when_clause:type_name -> pg_query.Node + 73, // 856: pg_query.CreateTrigStmt.transition_rels:type_name -> pg_query.Node + 84, // 857: pg_query.CreateTrigStmt.constrrel:type_name -> pg_query.RangeVar + 73, // 858: pg_query.CreateEventTrigStmt.whenclause:type_name -> pg_query.Node + 73, // 859: pg_query.CreateEventTrigStmt.funcname:type_name -> pg_query.Node + 73, // 860: pg_query.CreatePLangStmt.plhandler:type_name -> pg_query.Node + 73, // 861: pg_query.CreatePLangStmt.plinline:type_name -> pg_query.Node + 73, // 862: pg_query.CreatePLangStmt.plvalidator:type_name -> pg_query.Node + 24, // 863: pg_query.CreateRoleStmt.stmt_type:type_name -> pg_query.RoleStmtType + 73, // 864: pg_query.CreateRoleStmt.options:type_name -> pg_query.Node + 153, // 865: pg_query.AlterRoleStmt.role:type_name -> pg_query.RoleSpec + 73, // 866: pg_query.AlterRoleStmt.options:type_name -> pg_query.Node + 153, // 867: pg_query.AlterRoleSetStmt.role:type_name -> pg_query.RoleSpec + 234, // 868: pg_query.AlterRoleSetStmt.setstmt:type_name -> pg_query.VariableSetStmt + 73, // 869: pg_query.DropRoleStmt.roles:type_name -> pg_query.Node + 84, // 870: pg_query.CreateSeqStmt.sequence:type_name -> pg_query.RangeVar + 73, // 871: pg_query.CreateSeqStmt.options:type_name -> pg_query.Node + 84, // 872: pg_query.AlterSeqStmt.sequence:type_name -> pg_query.RangeVar + 73, // 873: pg_query.AlterSeqStmt.options:type_name -> pg_query.Node + 17, // 874: pg_query.DefineStmt.kind:type_name -> pg_query.ObjectType + 73, // 875: pg_query.DefineStmt.defnames:type_name -> pg_query.Node + 73, // 876: pg_query.DefineStmt.args:type_name -> pg_query.Node + 73, // 877: pg_query.DefineStmt.definition:type_name -> pg_query.Node + 73, // 878: pg_query.CreateDomainStmt.domainname:type_name -> pg_query.Node + 147, // 879: pg_query.CreateDomainStmt.type_name:type_name -> pg_query.TypeName + 152, // 880: pg_query.CreateDomainStmt.coll_clause:type_name -> pg_query.CollateClause + 73, // 881: pg_query.CreateDomainStmt.constraints:type_name -> pg_query.Node + 73, // 882: pg_query.CreateOpClassStmt.opclassname:type_name -> pg_query.Node + 73, // 883: pg_query.CreateOpClassStmt.opfamilyname:type_name -> pg_query.Node + 147, // 884: pg_query.CreateOpClassStmt.datatype:type_name -> pg_query.TypeName + 73, // 885: pg_query.CreateOpClassStmt.items:type_name -> pg_query.Node + 229, // 886: pg_query.CreateOpClassItem.name:type_name -> pg_query.ObjectWithArgs + 73, // 887: pg_query.CreateOpClassItem.order_family:type_name -> pg_query.Node + 73, // 888: pg_query.CreateOpClassItem.class_args:type_name -> pg_query.Node + 147, // 889: pg_query.CreateOpClassItem.storedtype:type_name -> pg_query.TypeName + 73, // 890: pg_query.CreateOpFamilyStmt.opfamilyname:type_name -> pg_query.Node + 73, // 891: pg_query.AlterOpFamilyStmt.opfamilyname:type_name -> pg_query.Node + 73, // 892: pg_query.AlterOpFamilyStmt.items:type_name -> pg_query.Node + 73, // 893: pg_query.DropStmt.objects:type_name -> pg_query.Node + 17, // 894: pg_query.DropStmt.remove_type:type_name -> pg_query.ObjectType + 18, // 895: pg_query.DropStmt.behavior:type_name -> pg_query.DropBehavior + 73, // 896: pg_query.TruncateStmt.relations:type_name -> pg_query.Node + 18, // 897: pg_query.TruncateStmt.behavior:type_name -> pg_query.DropBehavior + 17, // 898: pg_query.CommentStmt.objtype:type_name -> pg_query.ObjectType + 73, // 899: pg_query.CommentStmt.object:type_name -> pg_query.Node + 17, // 900: pg_query.SecLabelStmt.objtype:type_name -> pg_query.ObjectType + 73, // 901: pg_query.SecLabelStmt.object:type_name -> pg_query.Node + 73, // 902: pg_query.DeclareCursorStmt.query:type_name -> pg_query.Node + 25, // 903: pg_query.FetchStmt.direction:type_name -> pg_query.FetchDirection + 84, // 904: pg_query.IndexStmt.relation:type_name -> pg_query.RangeVar + 73, // 905: pg_query.IndexStmt.index_params:type_name -> pg_query.Node + 73, // 906: pg_query.IndexStmt.index_including_params:type_name -> pg_query.Node + 73, // 907: pg_query.IndexStmt.options:type_name -> pg_query.Node + 73, // 908: pg_query.IndexStmt.where_clause:type_name -> pg_query.Node + 73, // 909: pg_query.IndexStmt.exclude_op_names:type_name -> pg_query.Node + 73, // 910: pg_query.CreateStatsStmt.defnames:type_name -> pg_query.Node + 73, // 911: pg_query.CreateStatsStmt.stat_types:type_name -> pg_query.Node + 73, // 912: pg_query.CreateStatsStmt.exprs:type_name -> pg_query.Node + 73, // 913: pg_query.CreateStatsStmt.relations:type_name -> pg_query.Node + 73, // 914: pg_query.StatsElem.expr:type_name -> pg_query.Node + 73, // 915: pg_query.AlterStatsStmt.defnames:type_name -> pg_query.Node + 73, // 916: pg_query.AlterStatsStmt.stxstattarget:type_name -> pg_query.Node + 73, // 917: pg_query.CreateFunctionStmt.funcname:type_name -> pg_query.Node + 73, // 918: pg_query.CreateFunctionStmt.parameters:type_name -> pg_query.Node + 147, // 919: pg_query.CreateFunctionStmt.return_type:type_name -> pg_query.TypeName + 73, // 920: pg_query.CreateFunctionStmt.options:type_name -> pg_query.Node + 73, // 921: pg_query.CreateFunctionStmt.sql_body:type_name -> pg_query.Node + 147, // 922: pg_query.FunctionParameter.arg_type:type_name -> pg_query.TypeName + 26, // 923: pg_query.FunctionParameter.mode:type_name -> pg_query.FunctionParameterMode + 73, // 924: pg_query.FunctionParameter.defexpr:type_name -> pg_query.Node + 17, // 925: pg_query.AlterFunctionStmt.objtype:type_name -> pg_query.ObjectType + 229, // 926: pg_query.AlterFunctionStmt.func:type_name -> pg_query.ObjectWithArgs + 73, // 927: pg_query.AlterFunctionStmt.actions:type_name -> pg_query.Node + 73, // 928: pg_query.DoStmt.args:type_name -> pg_query.Node + 154, // 929: pg_query.CallStmt.funccall:type_name -> pg_query.FuncCall + 95, // 930: pg_query.CallStmt.funcexpr:type_name -> pg_query.FuncExpr + 73, // 931: pg_query.CallStmt.outargs:type_name -> pg_query.Node + 17, // 932: pg_query.RenameStmt.rename_type:type_name -> pg_query.ObjectType + 17, // 933: pg_query.RenameStmt.relation_type:type_name -> pg_query.ObjectType + 84, // 934: pg_query.RenameStmt.relation:type_name -> pg_query.RangeVar + 73, // 935: pg_query.RenameStmt.object:type_name -> pg_query.Node + 18, // 936: pg_query.RenameStmt.behavior:type_name -> pg_query.DropBehavior + 17, // 937: pg_query.AlterObjectDependsStmt.object_type:type_name -> pg_query.ObjectType + 84, // 938: pg_query.AlterObjectDependsStmt.relation:type_name -> pg_query.RangeVar + 73, // 939: pg_query.AlterObjectDependsStmt.object:type_name -> pg_query.Node + 77, // 940: pg_query.AlterObjectDependsStmt.extname:type_name -> pg_query.String + 17, // 941: pg_query.AlterObjectSchemaStmt.object_type:type_name -> pg_query.ObjectType + 84, // 942: pg_query.AlterObjectSchemaStmt.relation:type_name -> pg_query.RangeVar + 73, // 943: pg_query.AlterObjectSchemaStmt.object:type_name -> pg_query.Node + 17, // 944: pg_query.AlterOwnerStmt.object_type:type_name -> pg_query.ObjectType + 84, // 945: pg_query.AlterOwnerStmt.relation:type_name -> pg_query.RangeVar + 73, // 946: pg_query.AlterOwnerStmt.object:type_name -> pg_query.Node + 153, // 947: pg_query.AlterOwnerStmt.newowner:type_name -> pg_query.RoleSpec + 229, // 948: pg_query.AlterOperatorStmt.opername:type_name -> pg_query.ObjectWithArgs + 73, // 949: pg_query.AlterOperatorStmt.options:type_name -> pg_query.Node + 73, // 950: pg_query.AlterTypeStmt.type_name:type_name -> pg_query.Node + 73, // 951: pg_query.AlterTypeStmt.options:type_name -> pg_query.Node + 84, // 952: pg_query.RuleStmt.relation:type_name -> pg_query.RangeVar + 73, // 953: pg_query.RuleStmt.where_clause:type_name -> pg_query.Node + 58, // 954: pg_query.RuleStmt.event:type_name -> pg_query.CmdType + 73, // 955: pg_query.RuleStmt.actions:type_name -> pg_query.Node + 27, // 956: pg_query.TransactionStmt.kind:type_name -> pg_query.TransactionStmtKind + 73, // 957: pg_query.TransactionStmt.options:type_name -> pg_query.Node + 84, // 958: pg_query.CompositeTypeStmt.typevar:type_name -> pg_query.RangeVar + 73, // 959: pg_query.CompositeTypeStmt.coldeflist:type_name -> pg_query.Node + 73, // 960: pg_query.CreateEnumStmt.type_name:type_name -> pg_query.Node + 73, // 961: pg_query.CreateEnumStmt.vals:type_name -> pg_query.Node + 73, // 962: pg_query.CreateRangeStmt.type_name:type_name -> pg_query.Node + 73, // 963: pg_query.CreateRangeStmt.params:type_name -> pg_query.Node + 73, // 964: pg_query.AlterEnumStmt.type_name:type_name -> pg_query.Node + 84, // 965: pg_query.ViewStmt.view:type_name -> pg_query.RangeVar + 73, // 966: pg_query.ViewStmt.aliases:type_name -> pg_query.Node + 73, // 967: pg_query.ViewStmt.query:type_name -> pg_query.Node + 73, // 968: pg_query.ViewStmt.options:type_name -> pg_query.Node + 28, // 969: pg_query.ViewStmt.with_check_option:type_name -> pg_query.ViewCheckOption + 73, // 970: pg_query.CreatedbStmt.options:type_name -> pg_query.Node + 73, // 971: pg_query.AlterDatabaseStmt.options:type_name -> pg_query.Node + 234, // 972: pg_query.AlterDatabaseSetStmt.setstmt:type_name -> pg_query.VariableSetStmt + 73, // 973: pg_query.DropdbStmt.options:type_name -> pg_query.Node + 234, // 974: pg_query.AlterSystemStmt.setstmt:type_name -> pg_query.VariableSetStmt + 84, // 975: pg_query.ClusterStmt.relation:type_name -> pg_query.RangeVar + 73, // 976: pg_query.ClusterStmt.params:type_name -> pg_query.Node + 73, // 977: pg_query.VacuumStmt.options:type_name -> pg_query.Node + 73, // 978: pg_query.VacuumStmt.rels:type_name -> pg_query.Node + 84, // 979: pg_query.VacuumRelation.relation:type_name -> pg_query.RangeVar + 73, // 980: pg_query.VacuumRelation.va_cols:type_name -> pg_query.Node + 73, // 981: pg_query.ExplainStmt.query:type_name -> pg_query.Node + 73, // 982: pg_query.ExplainStmt.options:type_name -> pg_query.Node + 73, // 983: pg_query.CreateTableAsStmt.query:type_name -> pg_query.Node + 86, // 984: pg_query.CreateTableAsStmt.into:type_name -> pg_query.IntoClause + 17, // 985: pg_query.CreateTableAsStmt.objtype:type_name -> pg_query.ObjectType + 84, // 986: pg_query.RefreshMatViewStmt.relation:type_name -> pg_query.RangeVar + 29, // 987: pg_query.DiscardStmt.target:type_name -> pg_query.DiscardMode + 73, // 988: pg_query.LockStmt.relations:type_name -> pg_query.Node + 73, // 989: pg_query.ConstraintsSetStmt.constraints:type_name -> pg_query.Node + 30, // 990: pg_query.ReindexStmt.kind:type_name -> pg_query.ReindexObjectType + 84, // 991: pg_query.ReindexStmt.relation:type_name -> pg_query.RangeVar + 73, // 992: pg_query.ReindexStmt.params:type_name -> pg_query.Node + 73, // 993: pg_query.CreateConversionStmt.conversion_name:type_name -> pg_query.Node + 73, // 994: pg_query.CreateConversionStmt.func_name:type_name -> pg_query.Node + 147, // 995: pg_query.CreateCastStmt.sourcetype:type_name -> pg_query.TypeName + 147, // 996: pg_query.CreateCastStmt.targettype:type_name -> pg_query.TypeName + 229, // 997: pg_query.CreateCastStmt.func:type_name -> pg_query.ObjectWithArgs + 39, // 998: pg_query.CreateCastStmt.context:type_name -> pg_query.CoercionContext + 147, // 999: pg_query.CreateTransformStmt.type_name:type_name -> pg_query.TypeName + 229, // 1000: pg_query.CreateTransformStmt.fromsql:type_name -> pg_query.ObjectWithArgs + 229, // 1001: pg_query.CreateTransformStmt.tosql:type_name -> pg_query.ObjectWithArgs + 73, // 1002: pg_query.PrepareStmt.argtypes:type_name -> pg_query.Node + 73, // 1003: pg_query.PrepareStmt.query:type_name -> pg_query.Node + 73, // 1004: pg_query.ExecuteStmt.params:type_name -> pg_query.Node + 73, // 1005: pg_query.DropOwnedStmt.roles:type_name -> pg_query.Node + 18, // 1006: pg_query.DropOwnedStmt.behavior:type_name -> pg_query.DropBehavior + 73, // 1007: pg_query.ReassignOwnedStmt.roles:type_name -> pg_query.Node + 153, // 1008: pg_query.ReassignOwnedStmt.newrole:type_name -> pg_query.RoleSpec + 73, // 1009: pg_query.AlterTSDictionaryStmt.dictname:type_name -> pg_query.Node + 73, // 1010: pg_query.AlterTSDictionaryStmt.options:type_name -> pg_query.Node + 31, // 1011: pg_query.AlterTSConfigurationStmt.kind:type_name -> pg_query.AlterTSConfigType + 73, // 1012: pg_query.AlterTSConfigurationStmt.cfgname:type_name -> pg_query.Node + 73, // 1013: pg_query.AlterTSConfigurationStmt.tokentype:type_name -> pg_query.Node + 73, // 1014: pg_query.AlterTSConfigurationStmt.dicts:type_name -> pg_query.Node + 84, // 1015: pg_query.PublicationTable.relation:type_name -> pg_query.RangeVar + 73, // 1016: pg_query.PublicationTable.where_clause:type_name -> pg_query.Node + 73, // 1017: pg_query.PublicationTable.columns:type_name -> pg_query.Node + 32, // 1018: pg_query.PublicationObjSpec.pubobjtype:type_name -> pg_query.PublicationObjSpecType + 335, // 1019: pg_query.PublicationObjSpec.pubtable:type_name -> pg_query.PublicationTable + 73, // 1020: pg_query.CreatePublicationStmt.options:type_name -> pg_query.Node + 73, // 1021: pg_query.CreatePublicationStmt.pubobjects:type_name -> pg_query.Node + 73, // 1022: pg_query.AlterPublicationStmt.options:type_name -> pg_query.Node + 73, // 1023: pg_query.AlterPublicationStmt.pubobjects:type_name -> pg_query.Node + 33, // 1024: pg_query.AlterPublicationStmt.action:type_name -> pg_query.AlterPublicationAction + 73, // 1025: pg_query.CreateSubscriptionStmt.publication:type_name -> pg_query.Node + 73, // 1026: pg_query.CreateSubscriptionStmt.options:type_name -> pg_query.Node + 34, // 1027: pg_query.AlterSubscriptionStmt.kind:type_name -> pg_query.AlterSubscriptionType + 73, // 1028: pg_query.AlterSubscriptionStmt.publication:type_name -> pg_query.Node + 73, // 1029: pg_query.AlterSubscriptionStmt.options:type_name -> pg_query.Node + 18, // 1030: pg_query.DropSubscriptionStmt.behavior:type_name -> pg_query.DropBehavior + 70, // 1031: pg_query.ScanToken.token:type_name -> pg_query.Token + 69, // 1032: pg_query.ScanToken.keyword_kind:type_name -> pg_query.KeywordKind + 1033, // [1033:1033] is the sub-list for method output_type + 1033, // [1033:1033] is the sub-list for method input_type + 1033, // [1033:1033] is the sub-list for extension type_name + 1033, // [1033:1033] is the sub-list for extension extendee + 0, // [0:1033] is the sub-list for field type_name } func init() { file_pg_query_proto_init() } @@ -36905,7 +39511,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptingRef); i { + switch v := v.(*WindowFuncRunCondition); i { case 0: return &v.state case 1: @@ -36917,7 +39523,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FuncExpr); i { + switch v := v.(*MergeSupportFunc); i { case 0: return &v.state case 1: @@ -36929,7 +39535,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamedArgExpr); i { + switch v := v.(*SubscriptingRef); i { case 0: return &v.state case 1: @@ -36941,7 +39547,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpExpr); i { + switch v := v.(*FuncExpr); i { case 0: return &v.state case 1: @@ -36953,7 +39559,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistinctExpr); i { + switch v := v.(*NamedArgExpr); i { case 0: return &v.state case 1: @@ -36965,7 +39571,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NullIfExpr); i { + switch v := v.(*OpExpr); i { case 0: return &v.state case 1: @@ -36977,7 +39583,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScalarArrayOpExpr); i { + switch v := v.(*DistinctExpr); i { case 0: return &v.state case 1: @@ -36989,7 +39595,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoolExpr); i { + switch v := v.(*NullIfExpr); i { case 0: return &v.state case 1: @@ -37001,7 +39607,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubLink); i { + switch v := v.(*ScalarArrayOpExpr); i { case 0: return &v.state case 1: @@ -37013,7 +39619,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubPlan); i { + switch v := v.(*BoolExpr); i { case 0: return &v.state case 1: @@ -37025,7 +39631,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlternativeSubPlan); i { + switch v := v.(*SubLink); i { case 0: return &v.state case 1: @@ -37037,7 +39643,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldSelect); i { + switch v := v.(*SubPlan); i { case 0: return &v.state case 1: @@ -37049,7 +39655,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldStore); i { + switch v := v.(*AlternativeSubPlan); i { case 0: return &v.state case 1: @@ -37061,7 +39667,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RelabelType); i { + switch v := v.(*FieldSelect); i { case 0: return &v.state case 1: @@ -37073,7 +39679,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoerceViaIO); i { + switch v := v.(*FieldStore); i { case 0: return &v.state case 1: @@ -37085,7 +39691,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArrayCoerceExpr); i { + switch v := v.(*RelabelType); i { case 0: return &v.state case 1: @@ -37097,7 +39703,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConvertRowtypeExpr); i { + switch v := v.(*CoerceViaIO); i { case 0: return &v.state case 1: @@ -37109,7 +39715,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CollateExpr); i { + switch v := v.(*ArrayCoerceExpr); i { case 0: return &v.state case 1: @@ -37121,7 +39727,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseExpr); i { + switch v := v.(*ConvertRowtypeExpr); i { case 0: return &v.state case 1: @@ -37133,7 +39739,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseWhen); i { + switch v := v.(*CollateExpr); i { case 0: return &v.state case 1: @@ -37145,7 +39751,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseTestExpr); i { + switch v := v.(*CaseExpr); i { case 0: return &v.state case 1: @@ -37157,7 +39763,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArrayExpr); i { + switch v := v.(*CaseWhen); i { case 0: return &v.state case 1: @@ -37169,7 +39775,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RowExpr); i { + switch v := v.(*CaseTestExpr); i { case 0: return &v.state case 1: @@ -37181,7 +39787,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RowCompareExpr); i { + switch v := v.(*ArrayExpr); i { case 0: return &v.state case 1: @@ -37193,7 +39799,7 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoalesceExpr); i { + switch v := v.(*RowExpr); i { case 0: return &v.state case 1: @@ -37205,6 +39811,30 @@ func file_pg_query_proto_init() { } } file_pg_query_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RowCompareExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoalesceExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MinMaxExpr); i { case 0: return &v.state @@ -37216,8 +39846,80 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLValueFunction); i { + file_pg_query_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SQLValueFunction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XmlExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonFormat); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonReturning); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonValueExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonConstructorExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonIsPredicate); i { case 0: return &v.state case 1: @@ -37228,8 +39930,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*XmlExpr); i { + file_pg_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonBehavior); i { case 0: return &v.state case 1: @@ -37240,8 +39942,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonFormat); i { + file_pg_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonExpr); i { case 0: return &v.state case 1: @@ -37252,8 +39954,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonReturning); i { + file_pg_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePath); i { case 0: return &v.state case 1: @@ -37264,8 +39966,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonValueExpr); i { + file_pg_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePathScan); i { case 0: return &v.state case 1: @@ -37276,8 +39978,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonConstructorExpr); i { + file_pg_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTableSiblingJoin); i { case 0: return &v.state case 1: @@ -37288,8 +39990,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonIsPredicate); i { + file_pg_query_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NullTest); i { case 0: return &v.state case 1: @@ -37300,8 +40002,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NullTest); i { + file_pg_query_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BooleanTest); i { case 0: return &v.state case 1: @@ -37312,8 +40014,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BooleanTest); i { + file_pg_query_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeAction); i { case 0: return &v.state case 1: @@ -37324,7 +40026,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CoerceToDomain); i { case 0: return &v.state @@ -37336,7 +40038,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CoerceToDomainValue); i { case 0: return &v.state @@ -37348,7 +40050,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetToDefault); i { case 0: return &v.state @@ -37360,7 +40062,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CurrentOfExpr); i { case 0: return &v.state @@ -37372,7 +40074,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NextValueExpr); i { case 0: return &v.state @@ -37384,7 +40086,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InferenceElem); i { case 0: return &v.state @@ -37396,7 +40098,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetEntry); i { case 0: return &v.state @@ -37408,7 +40110,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTblRef); i { case 0: return &v.state @@ -37420,7 +40122,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JoinExpr); i { case 0: return &v.state @@ -37432,7 +40134,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FromExpr); i { case 0: return &v.state @@ -37444,7 +40146,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnConflictExpr); i { case 0: return &v.state @@ -37456,7 +40158,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Query); i { case 0: return &v.state @@ -37468,7 +40170,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TypeName); i { case 0: return &v.state @@ -37480,7 +40182,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ColumnRef); i { case 0: return &v.state @@ -37492,7 +40194,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParamRef); i { case 0: return &v.state @@ -37504,7 +40206,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*A_Expr); i { case 0: return &v.state @@ -37516,7 +40218,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TypeCast); i { case 0: return &v.state @@ -37528,7 +40230,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CollateClause); i { case 0: return &v.state @@ -37540,7 +40242,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoleSpec); i { case 0: return &v.state @@ -37552,7 +40254,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FuncCall); i { case 0: return &v.state @@ -37564,7 +40266,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*A_Star); i { case 0: return &v.state @@ -37576,7 +40278,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*A_Indices); i { case 0: return &v.state @@ -37588,7 +40290,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*A_Indirection); i { case 0: return &v.state @@ -37600,7 +40302,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*A_ArrayExpr); i { case 0: return &v.state @@ -37612,7 +40314,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResTarget); i { case 0: return &v.state @@ -37624,7 +40326,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MultiAssignRef); i { case 0: return &v.state @@ -37636,7 +40338,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SortBy); i { case 0: return &v.state @@ -37648,7 +40350,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WindowDef); i { case 0: return &v.state @@ -37660,7 +40362,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeSubselect); i { case 0: return &v.state @@ -37672,7 +40374,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeFunction); i { case 0: return &v.state @@ -37684,7 +40386,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTableFunc); i { case 0: return &v.state @@ -37696,7 +40398,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTableFuncCol); i { case 0: return &v.state @@ -37708,7 +40410,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTableSample); i { case 0: return &v.state @@ -37720,7 +40422,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ColumnDef); i { case 0: return &v.state @@ -37732,7 +40434,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableLikeClause); i { case 0: return &v.state @@ -37744,7 +40446,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexElem); i { case 0: return &v.state @@ -37756,7 +40458,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DefElem); i { case 0: return &v.state @@ -37768,7 +40470,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LockingClause); i { case 0: return &v.state @@ -37780,7 +40482,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XmlSerialize); i { case 0: return &v.state @@ -37792,7 +40494,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionElem); i { case 0: return &v.state @@ -37804,7 +40506,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionSpec); i { case 0: return &v.state @@ -37816,7 +40518,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionBoundSpec); i { case 0: return &v.state @@ -37828,7 +40530,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionRangeDatum); i { case 0: return &v.state @@ -37840,7 +40542,19 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SinglePartitionSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PartitionCmd); i { case 0: return &v.state @@ -37852,7 +40566,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTblEntry); i { case 0: return &v.state @@ -37864,7 +40578,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RTEPermissionInfo); i { case 0: return &v.state @@ -37876,7 +40590,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeTblFunction); i { case 0: return &v.state @@ -37888,7 +40602,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TableSampleClause); i { case 0: return &v.state @@ -37900,7 +40614,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WithCheckOption); i { case 0: return &v.state @@ -37912,7 +40626,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SortGroupClause); i { case 0: return &v.state @@ -37924,7 +40638,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroupingSet); i { case 0: return &v.state @@ -37936,7 +40650,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WindowClause); i { case 0: return &v.state @@ -37948,7 +40662,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RowMarkClause); i { case 0: return &v.state @@ -37960,7 +40674,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WithClause); i { case 0: return &v.state @@ -37972,7 +40686,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InferClause); i { case 0: return &v.state @@ -37984,7 +40698,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OnConflictClause); i { case 0: return &v.state @@ -37996,7 +40710,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CTESearchClause); i { case 0: return &v.state @@ -38008,7 +40722,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CTECycleClause); i { case 0: return &v.state @@ -38020,7 +40734,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommonTableExpr); i { case 0: return &v.state @@ -38032,7 +40746,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MergeWhenClause); i { case 0: return &v.state @@ -38044,8 +40758,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeAction); i { + file_pg_query_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TriggerTransition); i { case 0: return &v.state case 1: @@ -38056,8 +40770,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TriggerTransition); i { + file_pg_query_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonOutput); i { case 0: return &v.state case 1: @@ -38068,8 +40782,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JsonOutput); i { + file_pg_query_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonArgument); i { case 0: return &v.state case 1: @@ -38080,7 +40794,55 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonFuncExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePathSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTable); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTableColumn); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonKeyValue); i { case 0: return &v.state @@ -38092,7 +40854,43 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonParseExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonScalarExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonSerializeExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonObjectConstructor); i { case 0: return &v.state @@ -38104,7 +40902,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonArrayConstructor); i { case 0: return &v.state @@ -38116,7 +40914,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonArrayQueryConstructor); i { case 0: return &v.state @@ -38128,7 +40926,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonAggConstructor); i { case 0: return &v.state @@ -38140,7 +40938,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonObjectAgg); i { case 0: return &v.state @@ -38152,7 +40950,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*JsonArrayAgg); i { case 0: return &v.state @@ -38164,7 +40962,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RawStmt); i { case 0: return &v.state @@ -38176,7 +40974,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertStmt); i { case 0: return &v.state @@ -38188,7 +40986,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteStmt); i { case 0: return &v.state @@ -38200,7 +40998,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateStmt); i { case 0: return &v.state @@ -38212,7 +41010,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MergeStmt); i { case 0: return &v.state @@ -38224,7 +41022,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectStmt); i { case 0: return &v.state @@ -38236,7 +41034,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetOperationStmt); i { case 0: return &v.state @@ -38248,7 +41046,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReturnStmt); i { case 0: return &v.state @@ -38260,7 +41058,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PLAssignStmt); i { case 0: return &v.state @@ -38272,7 +41070,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSchemaStmt); i { case 0: return &v.state @@ -38284,7 +41082,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTableStmt); i { case 0: return &v.state @@ -38296,7 +41094,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicaIdentityStmt); i { case 0: return &v.state @@ -38308,7 +41106,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTableCmd); i { case 0: return &v.state @@ -38320,7 +41118,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterCollationStmt); i { case 0: return &v.state @@ -38332,7 +41130,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDomainStmt); i { case 0: return &v.state @@ -38344,7 +41142,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrantStmt); i { case 0: return &v.state @@ -38356,7 +41154,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectWithArgs); i { case 0: return &v.state @@ -38368,7 +41166,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccessPriv); i { case 0: return &v.state @@ -38380,7 +41178,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GrantRoleStmt); i { case 0: return &v.state @@ -38392,7 +41190,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDefaultPrivilegesStmt); i { case 0: return &v.state @@ -38404,7 +41202,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CopyStmt); i { case 0: return &v.state @@ -38416,7 +41214,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VariableSetStmt); i { case 0: return &v.state @@ -38428,7 +41226,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VariableShowStmt); i { case 0: return &v.state @@ -38440,7 +41238,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateStmt); i { case 0: return &v.state @@ -38452,7 +41250,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Constraint); i { case 0: return &v.state @@ -38464,7 +41262,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTableSpaceStmt); i { case 0: return &v.state @@ -38476,7 +41274,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropTableSpaceStmt); i { case 0: return &v.state @@ -38488,7 +41286,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTableSpaceOptionsStmt); i { case 0: return &v.state @@ -38500,7 +41298,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTableMoveAllStmt); i { case 0: return &v.state @@ -38512,7 +41310,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateExtensionStmt); i { case 0: return &v.state @@ -38524,7 +41322,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterExtensionStmt); i { case 0: return &v.state @@ -38536,7 +41334,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterExtensionContentsStmt); i { case 0: return &v.state @@ -38548,7 +41346,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateFdwStmt); i { case 0: return &v.state @@ -38560,7 +41358,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterFdwStmt); i { case 0: return &v.state @@ -38572,7 +41370,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateForeignServerStmt); i { case 0: return &v.state @@ -38584,7 +41382,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterForeignServerStmt); i { case 0: return &v.state @@ -38596,7 +41394,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateForeignTableStmt); i { case 0: return &v.state @@ -38608,7 +41406,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateUserMappingStmt); i { case 0: return &v.state @@ -38620,7 +41418,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterUserMappingStmt); i { case 0: return &v.state @@ -38632,7 +41430,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropUserMappingStmt); i { case 0: return &v.state @@ -38644,7 +41442,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportForeignSchemaStmt); i { case 0: return &v.state @@ -38656,7 +41454,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatePolicyStmt); i { case 0: return &v.state @@ -38668,7 +41466,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterPolicyStmt); i { case 0: return &v.state @@ -38680,7 +41478,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateAmStmt); i { case 0: return &v.state @@ -38692,7 +41490,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTrigStmt); i { case 0: return &v.state @@ -38704,7 +41502,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateEventTrigStmt); i { case 0: return &v.state @@ -38716,7 +41514,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterEventTrigStmt); i { case 0: return &v.state @@ -38728,7 +41526,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatePLangStmt); i { case 0: return &v.state @@ -38740,7 +41538,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRoleStmt); i { case 0: return &v.state @@ -38752,7 +41550,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterRoleStmt); i { case 0: return &v.state @@ -38764,7 +41562,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterRoleSetStmt); i { case 0: return &v.state @@ -38776,7 +41574,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropRoleStmt); i { case 0: return &v.state @@ -38788,7 +41586,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSeqStmt); i { case 0: return &v.state @@ -38800,7 +41598,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterSeqStmt); i { case 0: return &v.state @@ -38812,7 +41610,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DefineStmt); i { case 0: return &v.state @@ -38824,7 +41622,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateDomainStmt); i { case 0: return &v.state @@ -38836,7 +41634,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOpClassStmt); i { case 0: return &v.state @@ -38848,7 +41646,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOpClassItem); i { case 0: return &v.state @@ -38860,7 +41658,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateOpFamilyStmt); i { case 0: return &v.state @@ -38872,7 +41670,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterOpFamilyStmt); i { case 0: return &v.state @@ -38884,7 +41682,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropStmt); i { case 0: return &v.state @@ -38896,7 +41694,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TruncateStmt); i { case 0: return &v.state @@ -38908,7 +41706,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CommentStmt); i { case 0: return &v.state @@ -38920,7 +41718,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecLabelStmt); i { case 0: return &v.state @@ -38932,7 +41730,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeclareCursorStmt); i { case 0: return &v.state @@ -38944,7 +41742,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClosePortalStmt); i { case 0: return &v.state @@ -38956,7 +41754,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FetchStmt); i { case 0: return &v.state @@ -38968,7 +41766,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexStmt); i { case 0: return &v.state @@ -38980,7 +41778,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateStatsStmt); i { case 0: return &v.state @@ -38992,7 +41790,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatsElem); i { case 0: return &v.state @@ -39004,7 +41802,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterStatsStmt); i { case 0: return &v.state @@ -39016,7 +41814,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateFunctionStmt); i { case 0: return &v.state @@ -39028,7 +41826,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FunctionParameter); i { case 0: return &v.state @@ -39040,7 +41838,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterFunctionStmt); i { case 0: return &v.state @@ -39052,7 +41850,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DoStmt); i { case 0: return &v.state @@ -39064,7 +41862,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InlineCodeBlock); i { case 0: return &v.state @@ -39076,7 +41874,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallStmt); i { case 0: return &v.state @@ -39088,7 +41886,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CallContext); i { case 0: return &v.state @@ -39100,7 +41898,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RenameStmt); i { case 0: return &v.state @@ -39112,7 +41910,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterObjectDependsStmt); i { case 0: return &v.state @@ -39124,7 +41922,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterObjectSchemaStmt); i { case 0: return &v.state @@ -39136,7 +41934,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterOwnerStmt); i { case 0: return &v.state @@ -39148,7 +41946,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterOperatorStmt); i { case 0: return &v.state @@ -39160,7 +41958,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTypeStmt); i { case 0: return &v.state @@ -39172,7 +41970,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RuleStmt); i { case 0: return &v.state @@ -39184,7 +41982,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotifyStmt); i { case 0: return &v.state @@ -39196,7 +41994,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListenStmt); i { case 0: return &v.state @@ -39208,7 +42006,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UnlistenStmt); i { case 0: return &v.state @@ -39220,7 +42018,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TransactionStmt); i { case 0: return &v.state @@ -39232,7 +42030,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompositeTypeStmt); i { case 0: return &v.state @@ -39244,7 +42042,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateEnumStmt); i { case 0: return &v.state @@ -39256,7 +42054,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRangeStmt); i { case 0: return &v.state @@ -39268,7 +42066,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterEnumStmt); i { case 0: return &v.state @@ -39280,7 +42078,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ViewStmt); i { case 0: return &v.state @@ -39292,7 +42090,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadStmt); i { case 0: return &v.state @@ -39304,7 +42102,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatedbStmt); i { case 0: return &v.state @@ -39316,7 +42114,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDatabaseStmt); i { case 0: return &v.state @@ -39328,7 +42126,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDatabaseRefreshCollStmt); i { case 0: return &v.state @@ -39340,7 +42138,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterDatabaseSetStmt); i { case 0: return &v.state @@ -39352,7 +42150,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropdbStmt); i { case 0: return &v.state @@ -39364,7 +42162,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterSystemStmt); i { case 0: return &v.state @@ -39376,7 +42174,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ClusterStmt); i { case 0: return &v.state @@ -39388,7 +42186,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VacuumStmt); i { case 0: return &v.state @@ -39400,7 +42198,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VacuumRelation); i { case 0: return &v.state @@ -39412,7 +42210,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExplainStmt); i { case 0: return &v.state @@ -39424,7 +42222,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTableAsStmt); i { case 0: return &v.state @@ -39436,7 +42234,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshMatViewStmt); i { case 0: return &v.state @@ -39448,7 +42246,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckPointStmt); i { case 0: return &v.state @@ -39460,7 +42258,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiscardStmt); i { case 0: return &v.state @@ -39472,7 +42270,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LockStmt); i { case 0: return &v.state @@ -39484,7 +42282,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConstraintsSetStmt); i { case 0: return &v.state @@ -39496,7 +42294,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReindexStmt); i { case 0: return &v.state @@ -39508,7 +42306,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateConversionStmt); i { case 0: return &v.state @@ -39520,7 +42318,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateCastStmt); i { case 0: return &v.state @@ -39532,7 +42330,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateTransformStmt); i { case 0: return &v.state @@ -39544,7 +42342,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PrepareStmt); i { case 0: return &v.state @@ -39556,7 +42354,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteStmt); i { case 0: return &v.state @@ -39568,7 +42366,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeallocateStmt); i { case 0: return &v.state @@ -39580,7 +42378,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropOwnedStmt); i { case 0: return &v.state @@ -39592,7 +42390,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReassignOwnedStmt); i { case 0: return &v.state @@ -39604,7 +42402,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTSDictionaryStmt); i { case 0: return &v.state @@ -39616,7 +42414,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterTSConfigurationStmt); i { case 0: return &v.state @@ -39628,7 +42426,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicationTable); i { case 0: return &v.state @@ -39640,7 +42438,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicationObjSpec); i { case 0: return &v.state @@ -39652,7 +42450,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatePublicationStmt); i { case 0: return &v.state @@ -39664,7 +42462,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterPublicationStmt); i { case 0: return &v.state @@ -39676,7 +42474,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateSubscriptionStmt); i { case 0: return &v.state @@ -39688,7 +42486,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AlterSubscriptionStmt); i { case 0: return &v.state @@ -39700,7 +42498,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DropSubscriptionStmt); i { case 0: return &v.state @@ -39712,7 +42510,7 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + file_pg_query_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScanToken); i { case 0: return &v.state @@ -39735,6 +42533,8 @@ func file_pg_query_proto_init() { (*Node_Aggref)(nil), (*Node_GroupingFunc)(nil), (*Node_WindowFunc)(nil), + (*Node_WindowFuncRunCondition)(nil), + (*Node_MergeSupportFunc)(nil), (*Node_SubscriptingRef)(nil), (*Node_FuncExpr)(nil), (*Node_NamedArgExpr)(nil), @@ -39768,8 +42568,14 @@ func file_pg_query_proto_init() { (*Node_JsonValueExpr)(nil), (*Node_JsonConstructorExpr)(nil), (*Node_JsonIsPredicate)(nil), + (*Node_JsonBehavior)(nil), + (*Node_JsonExpr)(nil), + (*Node_JsonTablePath)(nil), + (*Node_JsonTablePathScan)(nil), + (*Node_JsonTableSiblingJoin)(nil), (*Node_NullTest)(nil), (*Node_BooleanTest)(nil), + (*Node_MergeAction)(nil), (*Node_CoerceToDomain)(nil), (*Node_CoerceToDomainValue)(nil), (*Node_SetToDefault)(nil), @@ -39813,6 +42619,7 @@ func file_pg_query_proto_init() { (*Node_PartitionSpec)(nil), (*Node_PartitionBoundSpec)(nil), (*Node_PartitionRangeDatum)(nil), + (*Node_SinglePartitionSpec)(nil), (*Node_PartitionCmd)(nil), (*Node_RangeTblEntry)(nil), (*Node_RtepermissionInfo)(nil), @@ -39830,10 +42637,17 @@ func file_pg_query_proto_init() { (*Node_CtecycleClause)(nil), (*Node_CommonTableExpr)(nil), (*Node_MergeWhenClause)(nil), - (*Node_MergeAction)(nil), (*Node_TriggerTransition)(nil), (*Node_JsonOutput)(nil), + (*Node_JsonArgument)(nil), + (*Node_JsonFuncExpr)(nil), + (*Node_JsonTablePathSpec)(nil), + (*Node_JsonTable)(nil), + (*Node_JsonTableColumn)(nil), (*Node_JsonKeyValue)(nil), + (*Node_JsonParseExpr)(nil), + (*Node_JsonScalarExpr)(nil), + (*Node_JsonSerializeExpr)(nil), (*Node_JsonObjectConstructor)(nil), (*Node_JsonArrayConstructor)(nil), (*Node_JsonArrayQueryConstructor)(nil), @@ -39991,8 +42805,8 @@ func file_pg_query_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pg_query_proto_rawDesc, - NumEnums: 64, - NumMessages: 256, + NumEnums: 71, + NumMessages: 272, NumExtensions: 0, NumServices: 0, }, diff --git a/split_test.go b/split_test.go index 6b2a8f65..aff591ff 100644 --- a/split_test.go +++ b/split_test.go @@ -6,7 +6,7 @@ package pg_query_test import ( "testing" - pg_query "github.com/pganalyze/pg_query_go/v5" + pg_query "github.com/pganalyze/pg_query_go/v6" ) var splitTests = []struct { diff --git a/testdata/fingerprint.json b/testdata/fingerprint.json index a88ae39b..56661a31 100644 --- a/testdata/fingerprint.json +++ b/testdata/fingerprint.json @@ -91,8 +91,8 @@ }, { "input": "DEALLOCATE ALL", - "expectedParts": ["RawStmt", "stmt", "DeallocateStmt"], - "expectedHash": "d8a65a814fbc5f95" + "expectedParts": ["RawStmt", "stmt", "DeallocateStmt", "isall", "true" ], + "expectedHash": "2debfb8745df64a7" }, { "input": "EXPLAIN ANALYZE SELECT a", @@ -360,14 +360,15 @@ "expectedHash": "40991573eb85c5f6" }, { + "disableOnMsvc": true, "input": "INSERT INTO tbl VALUES (nextval($1),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14),(nextval($15),$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28),(nextval($29),$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42),(nextval($43),$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56),(nextval($57),$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$70),(nextval($71),$72,$73,$74,$75,$76,$77,$78,$79,$80,$81,$82,$83,$84),(nextval($85),$86,$87,$88,$89,$90,$91,$92,$93,$94,$95,$96,$97,$98),(nextval($99),$100,$101,$102,$103,$104,$105,$106,$107,$108,$109,$110,$111,$112),(nextval($113),$114,$115,$116,$117,$118,$119,$120,$121,$122,$123,$124,$125,$126),(nextval($127),$128,$129,$130,$131,$132,$133,$134,$135,$136,$137,$138,$139,$140),(nextval($141),$142,$143,$144,$145,$146,$147,$148,$149,$150,$151,$152,$153,$154),(nextval($155),$156,$157,$158,$159,$160,$161,$162,$163,$164,$165,$166,$167,$168),(nextval($169),$170,$171,$172,$173,$174,$175,$176,$177,$178,$179,$180,$181,$182),(nextval($183),$184,$185,$186,$187,$188,$189,$190,$191,$192,$193,$194,$195,$196),(nextval($197),$198,$199,$200,$201,$202,$203,$204,$205,$206,$207,$208,$209,$210),(nextval($211),$212,$213,$214,$215,$216,$217,$218,$219,$220,$221,$222,$223,$224),(nextval($225),$226,$227,$228,$229,$230,$231,$232,$233,$234,$235,$236,$237,$238),(nextval($239),$240,$241,$242,$243,$244,$245,$246,$247,$248,$249,$250,$251,$252),(nextval($253),$254,$255,$256,$257,$258,$259,$260,$261,$262,$263,$264,$265,$266),(nextval($267),$268,$269,$270,$271,$272,$273,$274,$275,$276,$277,$278,$279,$280),(nextval($281),$282,$283,$284,$285,$286,$287,$288,$289,$290,$291,$292,$293,$294),(nextval($295),$296,$297,$298,$299,$300,$301,$302,$303,$304,$305,$306,$307,$308),(nextval($309),$310,$311,$312,$313,$314,$315,$316,$317,$318,$319,$320,$321,$322),(nextval($323),$324,$325,$326,$327,$328,$329,$330,$331,$332,$333,$334,$335,$336),(nextval($337),$338,$339,$340,$341,$342,$343,$344,$345,$346,$347,$348,$349,$350),(nextval($351),$352,$353,$354,$355,$356,$357,$358,$359,$360,$361,$362,$363,$364),(nextval($365),$366,$367,$368,$369,$370,$371,$372,$373,$374,$375,$376,$377,$378),(nextval($379),$380,$381,$382,$383,$384,$385,$386,$387,$388,$389,$390,$391,$392),(nextval($393),$394,$395,$396,$397,$398,$399,$400,$401,$402,$403,$404,$405,$406),(nextval($407),$408,$409,$410,$411,$412,$413,$414,$415,$416,$417,$418,$419,$420),(nextval($421),$422,$423,$424,$425,$426,$427,$428,$429,$430,$431,$432,$433,$434),(nextval($435),$436,$437,$438,$439,$440,$441,$442,$443,$444,$445,$446,$447,$448),(nextval($449),$450,$451,$452,$453,$454,$455,$456,$457,$458,$459,$460,$461,$462),(nextval($463),$464,$465,$466,$467,$468,$469,$470,$471,$472,$473,$474,$475,$476),(nextval($477),$478,$479,$480,$481,$482,$483,$484,$485,$486,$487,$488,$489,$490),(nextval($491),$492,$493,$494,$495,$496,$497,$498,$499,$500,$501,$502,$503,$504),(nextval($505),$506,$507,$508,$509,$510,$511,$512,$513,$514,$515,$516,$517,$518),(nextval($519),$520,$521,$522,$523,$524,$525,$526,$527,$528,$529,$530,$531,$532),(nextval($533),$534,$535,$536,$537,$538,$539,$540,$541,$542,$543,$544,$545,$546),(nextval($547),$548,$549,$550,$551,$552,$553,$554,$555,$556,$557,$558,$559,$560),(nextval($561),$562,$563,$564,$565,$566,$567,$568,$569,$570,$571,$572,$573,$574),(nextval($575),$576,$577,$578,$579,$580,$581,$582,$583,$584,$585,$586,$587,$588),(nextval($589),$590,$591,$592,$593,$594,$595,$596,$597,$598,$599,$600,$601,$602),(nextval($603),$604,$605,$606,$607,$608,$609,$610,$611,$612,$613,$614,$615,$616),(nextval($617),$618,$619,$620,$621,$622,$623,$624,$625,$626,$627,$628,$629,$630),(nextval($631),$632,$633,$634,$635,$636,$637,$638,$639,$640,$641,$642,$643,$644),(nextval($645),$646,$647,$648,$649,$650,$651,$652,$653,$654,$655,$656,$657,$658),(nextval($659),$660,$661,$662,$663,$664,$665,$666,$667,$668,$669,$670,$671,$672),(nextval($673),$674,$675,$676,$677,$678,$679,$680,$681,$682,$683,$684,$685,$686),(nextval($687),$688,$689,$690,$691,$692,$693,$694,$695,$696,$697,$698,$699,$700),(nextval($701),$702,$703,$704,$705,$706,$707,$708,$709,$710,$711,$712,$713,$714),(nextval($715),$716,$717,$718,$719,$720,$721,$722,$723,$724,$725,$726,$727,$728),(nextval($729),$730,$731,$732,$733,$734,$735,$736,$737,$738,$739,$740,$741,$742),(nextval($743),$744,$745,$746,$747,$748,$749,$750,$751,$752,$753,$754,$755,$756),(nextval($757),$758,$759,$760,$761,$762,$763,$764,$765,$766,$767,$768,$769,$770),(nextval($771),$772,$773,$774,$775,$776,$777,$778,$779,$780,$781,$782,$783,$784),(nextval($785),$786,$787,$788,$789,$790,$791,$792,$793,$794,$795,$796,$797,$798),(nextval($799),$800,$801,$802,$803,$804,$805,$806,$807,$808,$809,$810,$811,$812),(nextval($813),$814,$815,$816,$817,$818,$819,$820,$821,$822,$823,$824,$825,$826),(nextval($827),$828,$829,$830,$831,$832,$833,$834,$835,$836,$837,$838,$839,$840),(nextval($841),$842,$843,$844,$845,$846,$847,$848,$849,$850,$851,$852,$853,$854),(nextval($855),$856,$857,$858,$859,$860,$861,$862,$863,$864,$865,$866,$867,$868),(nextval($869),$870,$871,$872,$873,$874,$875,$876,$877,$878,$879,$880,$881,$882),(nextval($883),$884,$885,$886,$887,$888,$889,$890,$891,$892,$893,$894,$895,$896),(nextval($897),$898,$899,$900,$901,$902,$903,$904,$905,$906,$907,$908,$909,$910),(nextval($911),$912,$913,$914,$915,$916,$917,$918,$919,$920,$921,$922,$923,$924),(nextval($925),$926,$927,$928,$929,$930,$931,$932,$933,$934,$935,$936,$937,$938),(nextval($939),$940,$941,$942,$943,$944,$945,$946,$947,$948,$949,$950,$951,$952),(nextval($953),$954,$955,$956,$957,$958,$959,$960,$961,$962,$963,$964,$965,$966),(nextval($967),$968,$969,$970,$971,$972,$973,$974,$975,$976,$977,$978,$979,$980),(nextval($981),$982,$983,$984,$985,$986,$987,$988,$989,$990,$991,$992,$993,$994),(nextval($995),$996,$997,$998,$999,$1000,$1001,$1002,$1003,$1004,$1005,$1006,$1007,$1008),(nextval($1009),$1010,$1011,$1012,$1013,$1014,$1015,$1016,$1017,$1018,$1019,$1020,$1021,$1022),(nextval($1023),$1024,$1025,$1026,$1027,$1028,$1029,$1030,$1031,$1032,$1033,$1034,$1035,$1036),(nextval($1037),$1038,$1039,$1040,$1041,$1042,$1043,$1044,$1045,$1046,$1047,$1048,$1049,$1050),(nextval($1051),$1052,$1053,$1054,$1055,$1056,$1057,$1058,$1059,$1060,$1061,$1062,$1063,$1064),(nextval($1065),$1066,$1067,$1068,$1069,$1070,$1071,$1072,$1073,$1074,$1075,$1076,$1077,$1078),(nextval($1079),$1080,$1081,$1082,$1083,$1084,$1085,$1086,$1087,$1088,$1089,$1090,$1091,$1092),(nextval($1093),$1094,$1095,$1096,$1097,$1098,$1099,$1100,$1101,$1102,$1103,$1104,$1105,$1106),(nextval($1107),$1108,$1109,$1110,$1111,$1112,$1113,$1114,$1115,$1116,$1117,$1118,$1119,$1120),(nextval($1121),$1122,$1123,$1124,$1125,$1126,$1127,$1128,$1129,$1130,$1131,$1132,$1133,$1134),(nextval($1135),$1136,$1137,$1138,$1139,$1140,$1141,$1142,$1143,$1144,$1145,$1146,$1147,$1148),(nextval($1149),$1150,$1151,$1152,$1153,$1154,$1155,$1156,$1157,$1158,$1159,$1160,$1161,$1162),(nextval($1163),$1164,$1165,$1166,$1167,$1168,$1169,$1170,$1171,$1172,$1173,$1174,$1175,$1176),(nextval($1177),$1178,$1179,$1180,$1181,$1182,$1183,$1184,$1185,$1186,$1187,$1188,$1189,$1190),(nextval($1191),$1192,$1193,$1194,$1195,$1196,$1197,$1198,$1199,$1200,$1201,$1202,$1203,$1204),(nextval($1205),$1206,$1207,$1208,$1209,$1210,$1211,$1212,$1213,$1214,$1215,$1216,$1217,$1218),(nextval($1219),$1220,$1221,$1222,$1223,$1224,$1225,$1226,$1227,$1228,$1229,$1230,$1231,$1232),(nextval($1233),$1234,$1235,$1236,$1237,$1238,$1239,$1240,$1241,$1242,$1243,$1244,$1245,$1246),(nextval($1247),$1248,$1249,$1250,$1251,$1252,$1253,$1254,$1255,$1256,$1257,$1258,$1259,$1260),(nextval($1261),$1262,$1263,$1264,$1265,$1266,$1267,$1268,$1269,$1270,$1271,$1272,$1273,$1274),(nextval($1275),$1276,$1277,$1278,$1279,$1280,$1281,$1282,$1283,$1284,$1285,$1286,$1287,$1288),(nextval($1289),$1290,$1291,$1292,$1293,$1294,$1295,$1296,$1297,$1298,$1299,$1300,$1301,$1302),(nextval($1303),$1304,$1305,$1306,$1307,$1308,$1309,$1310,$1311,$1312,$1313,$1314,$1315,$1316),(nextval($1317),$1318,$1319,$1320,$1321,$1322,$1323,$1324,$1325,$1326,$1327,$1328,$1329,$1330),(nextval($1331),$1332,$1333,$1334,$1335,$1336,$1337,$1338,$1339,$1340,$1341,$1342,$1343,$1344),(nextval($1345),$1346,$1347,$1348,$1349,$1350,$1351,$1352,$1353,$1354,$1355,$1356,$1357,$1358),(nextval($1359),$1360,$1361,$1362,$1363,$1364,$1365,$1366,$1367,$1368,$1369,$1370,$1371,$1372),(nextval($1373),$1374,$1375,$1376,$1377,$1378,$1379,$1380,$1381,$1382,$1383,$1384,$1385,$1386),(nextval($1387),$1388,$1389,$1390,$1391,$1392,$1393,$1394,$1395,$1396,$1397,$1398,$1399,$1400),(nextval($1401),$1402,$1403,$1404,$1405,$1406,$1407,$1408,$1409,$1410,$1411,$1412,$1413,$1414),(nextval($1415),$1416,$1417,$1418,$1419,$1420,$1421,$1422,$1423,$1424,$1425,$1426,$1427,$1428),(nextval($1429),$1430,$1431,$1432,$1433,$1434,$1435,$1436,$1437,$1438,$1439,$1440,$1441,$1442),(nextval($1443),$1444,$1445,$1446,$1447,$1448,$1449,$1450,$1451,$1452,$1453,$1454,$1455,$1456),(nextval($1457),$1458,$1459,$1460,$1461,$1462,$1463,$1464,$1465,$1466,$1467,$1468,$1469,$1470),(nextval($1471),$1472,$1473,$1474,$1475,$1476,$1477,$1478,$1479,$1480,$1481,$1482,$1483,$1484),(nextval($1485),$1486,$1487,$1488,$1489,$1490,$1491,$1492,$1493,$1494,$1495,$1496,$1497,$1498),(nextval($1499),$1500,$1501,$1502,$1503,$1504,$1505,$1506,$1507,$1508,$1509,$1510,$1511,$1512),(nextval($1513),$1514,$1515,$1516,$1517,$1518,$1519,$1520,$1521,$1522,$1523,$1524,$1525,$1526),(nextval($1527),$1528,$1529,$1530,$1531,$1532,$1533,$1534,$1535,$1536,$1537,$1538,$1539,$1540),(nextval($1541),$1542,$1543,$1544,$1545,$1546,$1547,$1548,$1549,$1550,$1551,$1552,$1553,$1554),(nextval($1555),$1556,$1557,$1558,$1559,$1560,$1561,$1562,$1563,$1564,$1565,$1566,$1567,$1568),(nextval($1569),$1570,$1571,$1572,$1573,$1574,$1575,$1576,$1577,$1578,$1579,$1580,$1581,$1582),(nextval($1583),$1584,$1585,$1586,$1587,$1588,$1589,$1590,$1591,$1592,$1593,$1594,$1595,$1596),(nextval($1597),$1598,$1599,$1600,$1601,$1602,$1603,$1604,$1605,$1606,$1607,$1608,$1609,$1610),(nextval($1611),$1612,$1613,$1614,$1615,$1616,$1617,$1618,$1619,$1620,$1621,$1622,$1623,$1624),(nextval($1625),$1626,$1627,$1628,$1629,$1630,$1631,$1632,$1633,$1634,$1635,$1636,$1637,$1638),(nextval($1639),$1640,$1641,$1642,$1643,$1644,$1645,$1646,$1647,$1648,$1649,$1650,$1651,$1652),(nextval($1653),$1654,$1655,$1656,$1657,$1658,$1659,$1660,$1661,$1662,$1663,$1664,$1665,$1666),(nextval($1667),$1668,$1669,$1670,$1671,$1672,$1673,$1674,$1675,$1676,$1677,$1678,$1679,$1680),(nextval($1681),$1682,$1683,$1684,$1685,$1686,$1687,$1688,$1689,$1690,$1691,$1692,$1693,$1694),(nextval($1695),$1696,$1697,$1698,$1699,$1700,$1701,$1702,$1703,$1704,$1705,$1706,$1707,$1708),(nextval($1709),$1710,$1711,$1712,$1713,$1714,$1715,$1716,$1717,$1718,$1719,$1720,$1721,$1722),(nextval($1723),$1724,$1725,$1726,$1727,$1728,$1729,$1730,$1731,$1732,$1733,$1734,$1735,$1736),(nextval($1737),$1738,$1739,$1740,$1741,$1742,$1743,$1744,$1745,$1746,$1747,$1748,$1749,$1750),(nextval($1751),$1752,$1753,$1754,$1755,$1756,$1757,$1758,$1759,$1760,$1761,$1762,$1763,$1764),(nextval($1765),$1766,$1767,$1768,$1769,$1770,$1771,$1772,$1773,$1774,$1775,$1776,$1777,$1778),(nextval($1779),$1780,$1781,$1782,$1783,$1784,$1785,$1786,$1787,$1788,$1789,$1790,$1791,$1792),(nextval($1793),$1794,$1795,$1796,$1797,$1798,$1799,$1800,$1801,$1802,$1803,$1804,$1805,$1806),(nextval($1807),$1808,$1809,$1810,$1811,$1812,$1813,$1814,$1815,$1816,$1817,$1818,$1819,$1820),(nextval($1821),$1822,$1823,$1824,$1825,$1826,$1827,$1828,$1829,$1830,$1831,$1832,$1833,$1834),(nextval($1835),$1836,$1837,$1838,$1839,$1840,$1841,$1842,$1843,$1844,$1845,$1846,$1847,$1848),(nextval($1849),$1850,$1851,$1852,$1853,$1854,$1855,$1856,$1857,$1858,$1859,$1860,$1861,$1862),(nextval($1863),$1864,$1865,$1866,$1867,$1868,$1869,$1870,$1871,$1872,$1873,$1874,$1875,$1876),(nextval($1877),$1878,$1879,$1880,$1881,$1882,$1883,$1884,$1885,$1886,$1887,$1888,$1889,$1890),(nextval($1891),$1892,$1893,$1894,$1895,$1896,$1897,$1898,$1899,$1900,$1901,$1902,$1903,$1904),(nextval($1905),$1906,$1907,$1908,$1909,$1910,$1911,$1912,$1913,$1914,$1915,$1916,$1917,$1918),(nextval($1919),$1920,$1921,$1922,$1923,$1924,$1925,$1926,$1927,$1928,$1929,$1930,$1931,$1932),(nextval($1933),$1934,$1935,$1936,$1937,$1938,$1939,$1940,$1941,$1942,$1943,$1944,$1945,$1946),(nextval($1947),$1948,$1949,$1950,$1951,$1952,$1953,$1954,$1955,$1956,$1957,$1958,$1959,$1960),(nextval($1961),$1962,$1963,$1964,$1965,$1966,$1967,$1968,$1969,$1970,$1971,$1972,$1973,$1974),(nextval($1975),$1976,$1977,$1978,$1979,$1980,$1981,$1982,$1983,$1984,$1985,$1986,$1987,$1988),(nextval($1989),$1990,$1991,$1992,$1993,$1994,$1995,$1996,$1997,$1998,$1999,$2000,$2001,$2002),(nextval($2003),$2004,$2005,$2006,$2007,$2008,$2009,$2010,$2011,$2012,$2013,$2014,$2015,$2016),(nextval($2017),$2018,$2019,$2020,$2021,$2022,$2023,$2024,$2025,$2026,$2027,$2028,$2029,$2030),(nextval($2031),$2032,$2033,$2034,$2035,$2036,$2037,$2038,$2039,$2040,$2041,$2042,$2043,$2044),(nextval($2045),$2046,$2047,$2048,$2049,$2050,$2051,$2052,$2053,$2054,$2055,$2056,$2057,$2058),(nextval($2059),$2060,$2061,$2062,$2063,$2064,$2065,$2066,$2067,$2068,$2069,$2070,$2071,$2072),(nextval($2073),$2074,$2075,$2076,$2077,$2078,$2079,$2080,$2081,$2082,$2083,$2084,$2085,$2086),(nextval($2087),$2088,$2089,$2090,$2091,$2092,$2093,$2094,$2095,$2096,$2097,$2098,$2099,$2100),(nextval($2101),$2102,$2103,$2104,$2105,$2106,$2107,$2108,$2109,$2110,$2111,$2112,$2113,$2114),(nextval($2115),$2116,$2117,$2118,$2119,$2120,$2121,$2122,$2123,$2124,$2125,$2126,$2127,$2128),(nextval($2129),$2130,$2131,$2132,$2133,$2134,$2135,$2136,$2137,$2138,$2139,$2140,$2141,$2142),(nextval($2143),$2144,$2145,$2146,$2147,$2148,$2149,$2150,$2151,$2152,$2153,$2154,$2155,$2156),(nextval($2157),$2158,$2159,$2160,$2161,$2162,$2163,$2164,$2165,$2166,$2167,$2168,$2169,$2170),(nextval($2171),$2172,$2173,$2174,$2175,$2176,$2177,$2178,$2179,$2180,$2181,$2182,$2183,$2184),(nextval($2185),$2186,$2187,$2188,$2189,$2190,$2191,$2192,$2193,$2194,$2195,$2196,$2197,$2198),(nextval($2199),$2200,$2201,$2202,$2203,$2204,$2205,$2206,$2207,$2208,$2209,$2210,$2211,$2212),(nextval($2213),$2214,$2215,$2216,$2217,$2218,$2219,$2220,$2221,$2222,$2223,$2224,$2225,$2226),(nextval($2227),$2228,$2229,$2230,$2231,$2232,$2233,$2234,$2235,$2236,$2237,$2238,$2239,$2240),(nextval($2241),$2242,$2243,$2244,$2245,$2246,$2247,$2248,$2249,$2250,$2251,$2252,$2253,$2254),(nextval($2255),$2256,$2257,$2258,$2259,$2260,$2261,$2262,$2263,$2264,$2265,$2266,$2267,$2268),(nextval($2269),$2270,$2271,$2272,$2273,$2274,$2275,$2276,$2277,$2278,$2279,$2280,$2281,$2282),(nextval($2283),$2284,$2285,$2286,$2287,$2288,$2289,$2290,$2291,$2292,$2293,$2294,$2295,$2296),(nextval($2297),$2298,$2299,$2300,$2301,$2302,$2303,$2304,$2305,$2306,$2307,$2308,$2309,$2310),(nextval($2311),$2312,$2313,$2314,$2315,$2316,$2317,$2318,$2319,$2320,$2321,$2322,$2323,$2324),(nextval($2325),$2326,$2327,$2328,$2329,$2330,$2331,$2332,$2333,$2334,$2335,$2336,$2337,$2338),(nextval($2339),$2340,$2341,$2342,$2343,$2344,$2345,$2346,$2347,$2348,$2349,$2350,$2351,$2352),(nextval($2353),$2354,$2355,$2356,$2357,$2358,$2359,$2360,$2361,$2362,$2363,$2364,$2365,$2366),(nextval($2367),$2368,$2369,$2370,$2371,$2372,$2373,$2374,$2375,$2376,$2377,$2378,$2379,$2380),(nextval($2381),$2382,$2383,$2384,$2385,$2386,$2387,$2388,$2389,$2390,$2391,$2392,$2393,$2394),(nextval($2395),$2396,$2397,$2398,$2399,$2400,$2401,$2402,$2403,$2404,$2405,$2406,$2407,$2408),(nextval($2409),$2410,$2411,$2412,$2413,$2414,$2415,$2416,$2417,$2418,$2419,$2420,$2421,$2422),(nextval($2423),$2424,$2425,$2426,$2427,$2428,$2429,$2430,$2431,$2432,$2433,$2434,$2435,$2436),(nextval($2437),$2438,$2439,$2440,$2441,$2442,$2443,$2444,$2445,$2446,$2447,$2448,$2449,$2450),(nextval($2451),$2452,$2453,$2454,$2455,$2456,$2457,$2458,$2459,$2460,$2461,$2462,$2463,$2464),(nextval($2465),$2466,$2467,$2468,$2469,$2470,$2471,$2472,$2473,$2474,$2475,$2476,$2477,$2478),(nextval($2479),$2480,$2481,$2482,$2483,$2484,$2485,$2486,$2487,$2488,$2489,$2490,$2491,$2492),(nextval($2493),$2494,$2495,$2496,$2497,$2498,$2499,$2500,$2501,$2502,$2503,$2504,$2505,$2506),(nextval($2507),$2508,$2509,$2510,$2511,$2512,$2513,$2514,$2515,$2516,$2517,$2518,$2519,$2520),(nextval($2521),$2522,$2523,$2524,$2525,$2526,$2527,$2528,$2529,$2530,$2531,$2532,$2533,$2534),(nextval($2535),$2536,$2537,$2538,$2539,$2540,$2541,$2542,$2543,$2544,$2545,$2546,$2547,$2548),(nextval($2549),$2550,$2551,$2552,$2553,$2554,$2555,$2556,$2557,$2558,$2559,$2560,$2561,$2562),(nextval($2563),$2564,$2565,$2566,$2567,$2568,$2569,$2570,$2571,$2572,$2573,$2574,$2575,$2576),(nextval($2577),$2578,$2579,$2580,$2581,$2582,$2583,$2584,$2585,$2586,$2587,$2588,$2589,$2590),(nextval($2591),$2592,$2593,$2594,$2595,$2596,$2597,$2598,$2599,$2600,$2601,$2602,$2603,$2604),(nextval($2605),$2606,$2607,$2608,$2609,$2610,$2611,$2612,$2613,$2614,$2615,$2616,$2617,$2618),(nextval($2619),$2620,$2621,$2622,$2623,$2624,$2625,$2626,$2627,$2628,$2629,$2630,$2631,$2632),(nextval($2633),$2634,$2635,$2636,$2637,$2638,$2639,$2640,$2641,$2642,$2643,$2644,$2645,$2646),(nextval($2647),$2648,$2649,$2650,$2651,$2652,$2653,$2654,$2655,$2656,$2657,$2658,$2659,$2660),(nextval($2661),$2662,$2663,$2664,$2665,$2666,$2667,$2668,$2669,$2670,$2671,$2672,$2673,$2674),(nextval($2675),$2676,$2677,$2678,$2679,$2680,$2681,$2682,$2683,$2684,$2685,$2686,$2687,$2688),(nextval($2689),$2690,$2691,$2692,$2693,$2694,$2695,$2696,$2697,$2698,$2699,$2700,$2701,$2702),(nextval($2703),$2704,$2705,$2706,$2707,$2708,$2709,$2710,$2711,$2712,$2713,$2714,$2715,$2716),(nextval($2717),$2718,$2719,$2720,$2721,$2722,$2723,$2724,$2725,$2726,$2727,$2728,$2729,$2730),(nextval($2731),$2732,$2733,$2734,$2735,$2736,$2737,$2738,$2739,$2740,$2741,$2742,$2743,$2744),(nextval($2745),$2746,$2747,$2748,$2749,$2750,$2751,$2752,$2753,$2754,$2755,$2756,$2757,$2758),(nextval($2759),$2760,$2761,$2762,$2763,$2764,$2765,$2766,$2767,$2768,$2769,$2770,$2771,$2772),(nextval($2773),$2774,$2775,$2776,$2777,$2778,$2779,$2780,$2781,$2782,$2783,$2784,$2785,$2786),(nextval($2787),$2788,$2789,$2790,$2791,$2792,$2793,$2794,$2795,$2796,$2797,$2798,$2799,$2800),(nextval($2801),$2802,$2803,$2804,$2805,$2806,$2807,$2808,$2809,$2810,$2811,$2812,$2813,$2814),(nextval($2815),$2816,$2817,$2818,$2819,$2820,$2821,$2822,$2823,$2824,$2825,$2826,$2827,$2828),(nextval($2829),$2830,$2831,$2832,$2833,$2834,$2835,$2836,$2837,$2838,$2839,$2840,$2841,$2842),(nextval($2843),$2844,$2845,$2846,$2847,$2848,$2849,$2850,$2851,$2852,$2853,$2854,$2855,$2856),(nextval($2857),$2858,$2859,$2860,$2861,$2862,$2863,$2864,$2865,$2866,$2867,$2868,$2869,$2870),(nextval($2871),$2872,$2873,$2874,$2875,$2876,$2877,$2878,$2879,$2880,$2881,$2882,$2883,$2884),(nextval($2885),$2886,$2887,$2888,$2889,$2890,$2891,$2892,$2893,$2894,$2895,$2896,$2897,$2898),(nextval($2899),$2900,$2901,$2902,$2903,$2904,$2905,$2906,$2907,$2908,$2909,$2910,$2911,$2912),(nextval($2913),$2914,$2915,$2916,$2917,$2918,$2919,$2920,$2921,$2922,$2923,$2924,$2925,$2926),(nextval($2927),$2928,$2929,$2930,$2931,$2932,$2933,$2934,$2935,$2936,$2937,$2938,$2939,$2940),(nextval($2941),$2942,$2943,$2944,$2945,$2946,$2947,$2948,$2949,$2950,$2951,$2952,$2953,$2954),(nextval($2955),$2956,$2957,$2958,$2959,$2960,$2961,$2962,$2963,$2964,$2965,$2966,$2967,$2968),(nextval($2969),$2970,$2971,$2972,$2973,$2974,$2975,$2976,$2977,$2978,$2979,$2980,$2981,$2982),(nextval($2983),$2984,$2985,$2986,$2987,$2988,$2989,$2990,$2991,$2992,$2993,$2994,$2995,$2996),(nextval($2997),$2998,$2999,$3000,$3001,$3002,$3003,$3004,$3005,$3006,$3007,$3008,$3009,$3010),(nextval($3011),$3012,$3013,$3014,$3015,$3016,$3017,$3018,$3019,$3020,$3021,$3022,$3023,$3024),(nextval($3025),$3026,$3027,$3028,$3029,$3030,$3031,$3032,$3033,$3034,$3035,$3036,$3037,$3038),(nextval($3039),$3040,$3041,$3042,$3043,$3044,$3045,$3046,$3047,$3048,$3049,$3050,$3051,$3052),(nextval($3053),$3054,$3055,$3056,$3057,$3058,$3059,$3060,$3061,$3062,$3063,$3064,$3065,$3066),(nextval($3067),$3068,$3069,$3070,$3071,$3072,$3073,$3074,$3075,$3076,$3077,$3078,$3079,$3080),(nextval($3081),$3082,$3083,$3084,$3085,$3086,$3087,$3088,$3089,$3090,$3091,$3092,$3093,$3094),(nextval($3095),$3096,$3097,$3098,$3099,$3100,$3101,$3102,$3103,$3104,$3105,$3106,$3107,$3108),(nextval($3109),$3110,$3111,$3112,$3113,$3114,$3115,$3116,$3117,$3118,$3119,$3120,$3121,$3122),(nextval($3123),$3124,$3125,$3126,$3127,$3128,$3129,$3130,$3131,$3132,$3133,$3134,$3135,$3136),(nextval($3137),$3138,$3139,$3140,$3141,$3142,$3143,$3144,$3145,$3146,$3147,$3148,$3149,$3150),(nextval($3151),$3152,$3153,$3154,$3155,$3156,$3157,$3158,$3159,$3160,$3161,$3162,$3163,$3164),(nextval($3165),$3166,$3167,$3168,$3169,$3170,$3171,$3172,$3173,$3174,$3175,$3176,$3177,$3178),(nextval($3179),$3180,$3181,$3182,$3183,$3184,$3185,$3186,$3187,$3188,$3189,$3190,$3191,$3192),(nextval($3193),$3194,$3195,$3196,$3197,$3198,$3199,$3200,$3201,$3202,$3203,$3204,$3205,$3206),(nextval($3207),$3208,$3209,$3210,$3211,$3212,$3213,$3214,$3215,$3216,$3217,$3218,$3219,$3220),(nextval($3221),$3222,$3223,$3224,$3225,$3226,$3227,$3228,$3229,$3230,$3231,$3232,$3233,$3234),(nextval($3235),$3236,$3237,$3238,$3239,$3240,$3241,$3242,$3243,$3244,$3245,$3246,$3247,$3248),(nextval($3249),$3250,$3251,$3252,$3253,$3254,$3255,$3256,$3257,$3258,$3259,$3260,$3261,$3262),(nextval($3263),$3264,$3265,$3266,$3267,$3268,$3269,$3270,$3271,$3272,$3273,$3274,$3275,$3276),(nextval($3277),$3278,$3279,$3280,$3281,$3282,$3283,$3284,$3285,$3286,$3287,$3288,$3289,$3290),(nextval($3291),$3292,$3293,$3294,$3295,$3296,$3297,$3298,$3299,$3300,$3301,$3302,$3303,$3304),(nextval($3305),$3306,$3307,$3308,$3309,$3310,$3311,$3312,$3313,$3314,$3315,$3316,$3317,$3318),(nextval($3319),$3320,$3321,$3322,$3323,$3324,$3325,$3326,$3327,$3328,$3329,$3330,$3331,$3332),(nextval($3333),$3334,$3335,$3336,$3337,$3338,$3339,$3340,$3341,$3342,$3343,$3344,$3345,$3346),(nextval($3347),$3348,$3349,$3350,$3351,$3352,$3353,$3354,$3355,$3356,$3357,$3358,$3359,$3360),(nextval($3361),$3362,$3363,$3364,$3365,$3366,$3367,$3368,$3369,$3370,$3371,$3372,$3373,$3374),(nextval($3375),$3376,$3377,$3378,$3379,$3380,$3381,$3382,$3383,$3384,$3385,$3386,$3387,$3388),(nextval($3389),$3390,$3391,$3392,$3393,$3394,$3395,$3396,$3397,$3398,$3399,$3400,$3401,$3402),(nextval($3403),$3404,$3405,$3406,$3407,$3408,$3409,$3410,$3411,$3412,$3413,$3414,$3415,$3416),(nextval($3417),$3418,$3419,$3420,$3421,$3422,$3423,$3424,$3425,$3426,$3427,$3428,$3429,$3430),(nextval($3431),$3432,$3433,$3434,$3435,$3436,$3437,$3438,$3439,$3440,$3441,$3442,$3443,$3444),(nextval($3445),$3446,$3447,$3448,$3449,$3450,$3451,$3452,$3453,$3454,$3455,$3456,$3457,$3458),(nextval($3459),$3460,$3461,$3462,$3463,$3464,$3465,$3466,$3467,$3468,$3469,$3470,$3471,$3472),(nextval($3473),$3474,$3475,$3476,$3477,$3478,$3479,$3480,$3481,$3482,$3483,$3484,$3485,$3486),(nextval($3487),$3488,$3489,$3490,$3491,$3492,$3493,$3494,$3495,$3496,$3497,$3498,$3499,$3500),(nextval($3501),$3502,$3503,$3504,$3505,$3506,$3507,$3508,$3509,$3510,$3511,$3512,$3513,$3514),(nextval($3515),$3516,$3517,$3518,$3519,$3520,$3521,$3522,$3523,$3524,$3525,$3526,$3527,$3528),(nextval($3529),$3530,$3531,$3532,$3533,$3534,$3535,$3536,$3537,$3538,$3539,$3540,$3541,$3542),(nextval($3543),$3544,$3545,$3546,$3547,$3548,$3549,$3550,$3551,$3552,$3553,$3554,$3555,$3556),(nextval($3557),$3558,$3559,$3560,$3561,$3562,$3563,$3564,$3565,$3566,$3567,$3568,$3569,$3570),(nextval($3571),$3572,$3573,$3574,$3575,$3576,$3577,$3578,$3579,$3580,$3581,$3582,$3583,$3584),(nextval($3585),$3586,$3587,$3588,$3589,$3590,$3591,$3592,$3593,$3594,$3595,$3596,$3597,$3598),(nextval($3599),$3600,$3601,$3602,$3603,$3604,$3605,$3606,$3607,$3608,$3609,$3610,$3611,$3612),(nextval($3613),$3614,$3615,$3616,$3617,$3618,$3619,$3620,$3621,$3622,$3623,$3624,$3625,$3626),(nextval($3627),$3628,$3629,$3630,$3631,$3632,$3633,$3634,$3635,$3636,$3637,$3638,$3639,$3640),(nextval($3641),$3642,$3643,$3644,$3645,$3646,$3647,$3648,$3649,$3650,$3651,$3652,$3653,$3654),(nextval($3655),$3656,$3657,$3658,$3659,$3660,$3661,$3662,$3663,$3664,$3665,$3666,$3667,$3668),(nextval($3669),$3670,$3671,$3672,$3673,$3674,$3675,$3676,$3677,$3678,$3679,$3680,$3681,$3682),(nextval($3683),$3684,$3685,$3686,$3687,$3688,$3689,$3690,$3691,$3692,$3693,$3694,$3695,$3696),(nextval($3697),$3698,$3699,$3700,$3701,$3702,$3703,$3704,$3705,$3706,$3707,$3708,$3709,$3710),(nextval($3711),$3712,$3713,$3714,$3715,$3716,$3717,$3718,$3719,$3720,$3721,$3722,$3723,$3724),(nextval($3725),$3726,$3727,$3728,$3729,$3730,$3731,$3732,$3733,$3734,$3735,$3736,$3737,$3738),(nextval($3739),$3740,$3741,$3742,$3743,$3744,$3745,$3746,$3747,$3748,$3749,$3750,$3751,$3752),(nextval($3753),$3754,$3755,$3756,$3757,$3758,$3759,$3760,$3761,$3762,$3763,$3764,$3765,$3766),(nextval($3767),$3768,$3769,$3770,$3771,$3772,$3773,$3774,$3775,$3776,$3777,$3778,$3779,$3780),(nextval($3781),$3782,$3783,$3784,$3785,$3786,$3787,$3788,$3789,$3790,$3791,$3792,$3793,$3794),(nextval($3795),$3796,$3797,$3798,$3799,$3800,$3801,$3802,$3803,$3804,$3805,$3806,$3807,$3808),(nextval($3809),$3810,$3811,$3812,$3813,$3814,$3815,$3816,$3817,$3818,$3819,$3820,$3821,$3822),(nextval($3823),$3824,$3825,$3826,$3827,$3828,$3829,$3830,$3831,$3832,$3833,$3834,$3835,$3836),(nextval($3837),$3838,$3839,$3840,$3841,$3842,$3843,$3844,$3845,$3846,$3847,$3848,$3849,$3850),(nextval($3851),$3852,$3853,$3854,$3855,$3856,$3857,$3858,$3859,$3860,$3861,$3862,$3863,$3864),(nextval($3865),$3866,$3867,$3868,$3869,$3870,$3871,$3872,$3873,$3874,$3875,$3876,$3877,$3878),(nextval($3879),$3880,$3881,$3882,$3883,$3884,$3885,$3886,$3887,$3888,$3889,$3890,$3891,$3892),(nextval($3893),$3894,$3895,$3896,$3897,$3898,$3899,$3900,$3901,$3902,$3903,$3904,$3905,$3906),(nextval($3907),$3908,$3909,$3910,$3911,$3912,$3913,$3914,$3915,$3916,$3917,$3918,$3919,$3920),(nextval($3921),$3922,$3923,$3924,$3925,$3926,$3927,$3928,$3929,$3930,$3931,$3932,$3933,$3934),(nextval($3935),$3936,$3937,$3938,$3939,$3940,$3941,$3942,$3943,$3944,$3945,$3946,$3947,$3948),(nextval($3949),$3950,$3951,$3952,$3953,$3954,$3955,$3956,$3957,$3958,$3959,$3960,$3961,$3962),(nextval($3963),$3964,$3965,$3966,$3967,$3968,$3969,$3970,$3971,$3972,$3973,$3974,$3975,$3976),(nextval($3977),$3978,$3979,$3980,$3981,$3982,$3983,$3984,$3985,$3986,$3987,$3988,$3989,$3990),(nextval($3991),$3992,$3993,$3994,$3995,$3996,$3997,$3998,$3999,$4000,$4001,$4002,$4003,$4004),(nextval($4005),$4006,$4007,$4008,$4009,$4010,$4011,$4012,$4013,$4014,$4015,$4016,$4017,$4018),(nextval($4019),$4020,$4021,$4022,$4023,$4024,$4025,$4026,$4027,$4028,$4029,$4030,$4031,$4032),(nextval($4033),$4034,$4035,$4036,$4037,$4038,$4039,$4040,$4041,$4042,$4043,$4044,$4045,$4046),(nextval($4047),$4048,$4049,$4050,$4051,$4052,$4053,$4054,$4055,$4056,$4057,$4058,$4059,$4060),(nextval($4061),$4062,$4063,$4064,$4065,$4066,$4067,$4068,$4069,$4070,$4071,$4072,$4073,$4074),(nextval($4075),$4076,$4077,$4078,$4079,$4080,$4081,$4082,$4083,$4084,$4085,$4086,$4087,$4088),(nextval($4089),$4090,$4091,$4092,$4093,$4094,$4095,$4096,$4097,$4098,$4099,$4100,$4101,$4102),(nextval($4103),$4104,$4105,$4106,$4107,$4108,$4109,$4110,$4111,$4112,$4113,$4114,$4115,$4116),(nextval($4117),$4118,$4119,$4120,$4121,$4122,$4123,$4124,$4125,$4126,$4127,$4128,$4129,$4130),(nextval($4131),$4132,$4133,$4134,$4135,$4136,$4137,$4138,$4139,$4140,$4141,$4142,$4143,$4144),(nextval($4145),$4146,$4147,$4148,$4149,$4150,$4151,$4152,$4153,$4154,$4155,$4156,$4157,$4158),(nextval($4159),$4160,$4161,$4162,$4163,$4164,$4165,$4166,$4167,$4168,$4169,$4170,$4171,$4172),(nextval($4173),$4174,$4175,$4176,$4177,$4178,$4179,$4180,$4181,$4182,$4183,$4184,$4185,$4186),(nextval($4187),$4188,$4189,$4190,$4191,$4192,$4193,$4194,$4195,$4196,$4197,$4198,$4199,$4200),(nextval($4201),$4202,$4203,$4204,$4205,$4206,$4207,$4208,$4209,$4210,$4211,$4212,$4213,$4214),(nextval($4215),$4216,$4217,$4218,$4219,$4220,$4221,$4222,$4223,$4224,$4225,$4226,$4227,$4228),(nextval($4229),$4230,$4231,$4232,$4233,$4234,$4235,$4236,$4237,$4238,$4239,$4240,$4241,$4242),(nextval($4243),$4244,$4245,$4246,$4247,$4248,$4249,$4250,$4251,$4252,$4253,$4254,$4255,$4256),(nextval($4257),$4258,$4259,$4260,$4261,$4262,$4263,$4264,$4265,$4266,$4267,$4268,$4269,$4270),(nextval($4271),$4272,$4273,$4274,$4275,$4276,$4277,$4278,$4279,$4280,$4281,$4282,$4283,$4284),(nextval($4285),$4286,$4287,$4288,$4289,$4290,$4291,$4292,$4293,$4294,$4295,$4296,$4297,$4298),(nextval($4299),$4300,$4301,$4302,$4303,$4304,$4305,$4306,$4307,$4308,$4309,$4310,$4311,$4312),(nextval($4313),$4314,$4315,$4316,$4317,$4318,$4319,$4320,$4321,$4322,$4323,$4324,$4325,$4326),(nextval($4327),$4328,$4329,$4330,$4331,$4332,$4333,$4334,$4335,$4336,$4337,$4338,$4339,$4340),(nextval($4341),$4342,$4343,$4344,$4345,$4346,$4347,$4348,$4349,$4350,$4351,$4352,$4353,$4354),(nextval($4355),$4356,$4357,$4358,$4359,$4360,$4361,$4362,$4363,$4364,$4365,$4366,$4367,$4368),(nextval($4369),$4370,$4371,$4372,$4373,$4374,$4375,$4376,$4377,$4378,$4379,$4380,$4381,$4382),(nextval($4383),$4384,$4385,$4386,$4387,$4388,$4389,$4390,$4391,$4392,$4393,$4394,$4395,$4396),(nextval($4397),$4398,$4399,$4400,$4401,$4402,$4403,$4404,$4405,$4406,$4407,$4408,$4409,$4410),(nextval($4411),$4412,$4413,$4414,$4415,$4416,$4417,$4418,$4419,$4420,$4421,$4422,$4423,$4424),(nextval($4425),$4426,$4427,$4428,$4429,$4430,$4431,$4432,$4433,$4434,$4435,$4436,$4437,$4438),(nextval($4439),$4440,$4441,$4442,$4443,$4444,$4445,$4446,$4447,$4448,$4449,$4450,$4451,$4452),(nextval($4453),$4454,$4455,$4456,$4457,$4458,$4459,$4460,$4461,$4462,$4463,$4464,$4465,$4466),(nextval($4467),$4468,$4469,$4470,$4471,$4472,$4473,$4474,$4475,$4476,$4477,$4478,$4479,$4480),(nextval($4481),$4482,$4483,$4484,$4485,$4486,$4487,$4488,$4489,$4490,$4491,$4492,$4493,$4494),(nextval($4495),$4496,$4497,$4498,$4499,$4500,$4501,$4502,$4503,$4504,$4505,$4506,$4507,$4508),(nextval($4509),$4510,$4511,$4512,$4513,$4514,$4515,$4516,$4517,$4518,$4519,$4520,$4521,$4522),(nextval($4523),$4524,$4525,$4526,$4527,$4528,$4529,$4530,$4531,$4532,$4533,$4534,$4535,$4536),(nextval($4537),$4538,$4539,$4540,$4541,$4542,$4543,$4544,$4545,$4546,$4547,$4548,$4549,$4550),(nextval($4551),$4552,$4553,$4554,$4555,$4556,$4557,$4558,$4559,$4560,$4561,$4562,$4563,$4564),(nextval($4565),$4566,$4567,$4568,$4569,$4570,$4571,$4572,$4573,$4574,$4575,$4576,$4577,$4578),(nextval($4579),$4580,$4581,$4582,$4583,$4584,$4585,$4586,$4587,$4588,$4589,$4590,$4591,$4592),(nextval($4593),$4594,$4595,$4596,$4597,$4598,$4599,$4600,$4601,$4602,$4603,$4604,$4605,$4606),(nextval($4607),$4608,$4609,$4610,$4611,$4612,$4613,$4614,$4615,$4616,$4617,$4618,$4619,$4620),(nextval($4621),$4622,$4623,$4624,$4625,$4626,$4627,$4628,$4629,$4630,$4631,$4632,$4633,$4634),(nextval($4635),$4636,$4637,$4638,$4639,$4640,$4641,$4642,$4643,$4644,$4645,$4646,$4647,$4648),(nextval($4649),$4650,$4651,$4652,$4653,$4654,$4655,$4656,$4657,$4658,$4659,$4660,$4661,$4662),(nextval($4663),$4664,$4665,$4666,$4667,$4668,$4669,$4670,$4671,$4672,$4673,$4674,$4675,$4676),(nextval($4677),$4678,$4679,$4680,$4681,$4682,$4683,$4684,$4685,$4686,$4687,$4688,$4689,$4690),(nextval($4691),$4692,$4693,$4694,$4695,$4696,$4697,$4698,$4699,$4700,$4701,$4702,$4703,$4704),(nextval($4705),$4706,$4707,$4708,$4709,$4710,$4711,$4712,$4713,$4714,$4715,$4716,$4717,$4718),(nextval($4719),$4720,$4721,$4722,$4723,$4724,$4725,$4726,$4727,$4728,$4729,$4730,$4731,$4732),(nextval($4733),$4734,$4735,$4736,$4737,$4738,$4739,$4740,$4741,$4742,$4743,$4744,$4745,$4746),(nextval($4747),$4748,$4749,$4750,$4751,$4752,$4753,$4754,$4755,$4756,$4757,$4758,$4759,$4760),(nextval($4761),$4762,$4763,$4764,$4765,$4766,$4767,$4768,$4769,$4770,$4771,$4772,$4773,$4774),(nextval($4775),$4776,$4777,$4778,$4779,$4780,$4781,$4782,$4783,$4784,$4785,$4786,$4787,$4788),(nextval($4789),$4790,$4791,$4792,$4793,$4794,$4795,$4796,$4797,$4798,$4799,$4800,$4801,$4802),(nextval($4803),$4804,$4805,$4806,$4807,$4808,$4809,$4810,$4811,$4812,$4813,$4814,$4815,$4816),(nextval($4817),$4818,$4819,$4820,$4821,$4822,$4823,$4824,$4825,$4826,$4827,$4828,$4829,$4830),(nextval($4831),$4832,$4833,$4834,$4835,$4836,$4837,$4838,$4839,$4840,$4841,$4842,$4843,$4844),(nextval($4845),$4846,$4847,$4848,$4849,$4850,$4851,$4852,$4853,$4854,$4855,$4856,$4857,$4858),(nextval($4859),$4860,$4861,$4862,$4863,$4864,$4865,$4866,$4867,$4868,$4869,$4870,$4871,$4872),(nextval($4873),$4874,$4875,$4876,$4877,$4878,$4879,$4880,$4881,$4882,$4883,$4884,$4885,$4886),(nextval($4887),$4888,$4889,$4890,$4891,$4892,$4893,$4894,$4895,$4896,$4897,$4898,$4899,$4900),(nextval($4901),$4902,$4903,$4904,$4905,$4906,$4907,$4908,$4909,$4910,$4911,$4912,$4913,$4914),(nextval($4915),$4916,$4917,$4918,$4919,$4920,$4921,$4922,$4923,$4924,$4925,$4926,$4927,$4928),(nextval($4929),$4930,$4931,$4932,$4933,$4934,$4935,$4936,$4937,$4938,$4939,$4940,$4941,$4942),(nextval($4943),$4944,$4945,$4946,$4947,$4948,$4949,$4950,$4951,$4952,$4953,$4954,$4955,$4956),(nextval($4957),$4958,$4959,$4960,$4961,$4962,$4963,$4964,$4965,$4966,$4967,$4968,$4969,$4970),(nextval($4971),$4972,$4973,$4974,$4975,$4976,$4977,$4978,$4979,$4980,$4981,$4982,$4983,$4984),(nextval($4985),$4986,$4987,$4988,$4989,$4990,$4991,$4992,$4993,$4994,$4995,$4996,$4997,$4998),(nextval($4999),$5000,$5001,$5002,$5003,$5004,$5005,$5006,$5007,$5008,$5009,$5010,$5011,$5012),(nextval($5013),$5014,$5015,$5016,$5017,$5018,$5019,$5020,$5021,$5022,$5023,$5024,$5025,$5026),(nextval($5027),$5028,$5029,$5030,$5031,$5032,$5033,$5034,$5035,$5036,$5037,$5038,$5039,$5040),(nextval($5041),$5042,$5043,$5044,$5045,$5046,$5047,$5048,$5049,$5050,$5051,$5052,$5053,$5054),(nextval($5055),$5056,$5057,$5058,$5059,$5060,$5061,$5062,$5063,$5064,$5065,$5066,$5067,$5068),(nextval($5069),$5070,$5071,$5072,$5073,$5074,$5075,$5076,$5077,$5078,$5079,$5080,$5081,$5082),(nextval($5083),$5084,$5085,$5086,$5087,$5088,$5089,$5090,$5091,$5092,$5093,$5094,$5095,$5096),(nextval($5097),$5098,$5099,$5100,$5101,$5102,$5103,$5104,$5105,$5106,$5107,$5108,$5109,$5110),(nextval($5111),$5112,$5113,$5114,$5115,$5116,$5117,$5118,$5119,$5120,$5121,$5122,$5123,$5124),(nextval($5125),$5126,$5127,$5128,$5129,$5130,$5131,$5132,$5133,$5134,$5135,$5136,$5137,$5138),(nextval($5139),$5140,$5141,$5142,$5143,$5144,$5145,$5146,$5147,$5148,$5149,$5150,$5151,$5152),(nextval($5153),$5154,$5155,$5156,$5157,$5158,$5159,$5160,$5161,$5162,$5163,$5164,$5165,$5166),(nextval($5167),$5168,$5169,$5170,$5171,$5172,$5173,$5174,$5175,$5176,$5177,$5178,$5179,$5180),(nextval($5181),$5182,$5183,$5184,$5185,$5186,$5187,$5188,$5189,$5190,$5191,$5192,$5193,$5194),(nextval($5195),$5196,$5197,$5198,$5199,$5200,$5201,$5202,$5203,$5204,$5205,$5206,$5207,$5208),(nextval($5209),$5210,$5211,$5212,$5213,$5214,$5215,$5216,$5217,$5218,$5219,$5220,$5221,$5222),(nextval($5223),$5224,$5225,$5226,$5227,$5228,$5229,$5230,$5231,$5232,$5233,$5234,$5235,$5236),(nextval($5237),$5238,$5239,$5240,$5241,$5242,$5243,$5244,$5245,$5246,$5247,$5248,$5249,$5250),(nextval($5251),$5252,$5253,$5254,$5255,$5256,$5257,$5258,$5259,$5260,$5261,$5262,$5263,$5264),(nextval($5265),$5266,$5267,$5268,$5269,$5270,$5271,$5272,$5273,$5274,$5275,$5276,$5277,$5278),(nextval($5279),$5280,$5281,$5282,$5283,$5284,$5285,$5286,$5287,$5288,$5289,$5290,$5291,$5292),(nextval($5293),$5294,$5295,$5296,$5297,$5298,$5299,$5300,$5301,$5302,$5303,$5304,$5305,$5306),(nextval($5307),$5308,$5309,$5310,$5311,$5312,$5313,$5314,$5315,$5316,$5317,$5318,$5319,$5320),(nextval($5321),$5322,$5323,$5324,$5325,$5326,$5327,$5328,$5329,$5330,$5331,$5332,$5333,$5334),(nextval($5335),$5336,$5337,$5338,$5339,$5340,$5341,$5342,$5343,$5344,$5345,$5346,$5347,$5348),(nextval($5349),$5350,$5351,$5352,$5353,$5354,$5355,$5356,$5357,$5358,$5359,$5360,$5361,$5362),(nextval($5363),$5364,$5365,$5366,$5367,$5368,$5369,$5370,$5371,$5372,$5373,$5374,$5375,$5376),(nextval($5377),$5378,$5379,$5380,$5381,$5382,$5383,$5384,$5385,$5386,$5387,$5388,$5389,$5390),(nextval($5391),$5392,$5393,$5394,$5395,$5396,$5397,$5398,$5399,$5400,$5401,$5402,$5403,$5404),(nextval($5405),$5406,$5407,$5408,$5409,$5410,$5411,$5412,$5413,$5414,$5415,$5416,$5417,$5418),(nextval($5419),$5420,$5421,$5422,$5423,$5424,$5425,$5426,$5427,$5428,$5429,$5430,$5431,$5432),(nextval($5433),$5434,$5435,$5436,$5437,$5438,$5439,$5440,$5441,$5442,$5443,$5444,$5445,$5446),(nextval($5447),$5448,$5449,$5450,$5451,$5452,$5453,$5454,$5455,$5456,$5457,$5458,$5459,$5460),(nextval($5461),$5462,$5463,$5464,$5465,$5466,$5467,$5468,$5469,$5470,$5471,$5472,$5473,$5474),(nextval($5475),$5476,$5477,$5478,$5479,$5480,$5481,$5482,$5483,$5484,$5485,$5486,$5487,$5488),(nextval($5489),$5490,$5491,$5492,$5493,$5494,$5495,$5496,$5497,$5498,$5499,$5500,$5501,$5502),(nextval($5503),$5504,$5505,$5506,$5507,$5508,$5509,$5510,$5511,$5512,$5513,$5514,$5515,$5516),(nextval($5517),$5518,$5519,$5520,$5521,$5522,$5523,$5524,$5525,$5526,$5527,$5528,$5529,$5530),(nextval($5531),$5532,$5533,$5534,$5535,$5536,$5537,$5538,$5539,$5540,$5541,$5542,$5543,$5544),(nextval($5545),$5546,$5547,$5548,$5549,$5550,$5551,$5552,$5553,$5554,$5555,$5556,$5557,$5558),(nextval($5559),$5560,$5561,$5562,$5563,$5564,$5565,$5566,$5567,$5568,$5569,$5570,$5571,$5572),(nextval($5573),$5574,$5575,$5576,$5577,$5578,$5579,$5580,$5581,$5582,$5583,$5584,$5585,$5586),(nextval($5587),$5588,$5589,$5590,$5591,$5592,$5593,$5594,$5595,$5596,$5597,$5598,$5599,$5600),(nextval($5601),$5602,$5603,$5604,$5605,$5606,$5607,$5608,$5609,$5610,$5611,$5612,$5613,$5614),(nextval($5615),$5616,$5617,$5618,$5619,$5620,$5621,$5622,$5623,$5624,$5625,$5626,$5627,$5628),(nextval($5629),$5630,$5631,$5632,$5633,$5634,$5635,$5636,$5637,$5638,$5639,$5640,$5641,$5642),(nextval($5643),$5644,$5645,$5646,$5647,$5648,$5649,$5650,$5651,$5652,$5653,$5654,$5655,$5656),(nextval($5657),$5658,$5659,$5660,$5661,$5662,$5663,$5664,$5665,$5666,$5667,$5668,$5669,$5670),(nextval($5671),$5672,$5673,$5674,$5675,$5676,$5677,$5678,$5679,$5680,$5681,$5682,$5683,$5684),(nextval($5685),$5686,$5687,$5688,$5689,$5690,$5691,$5692,$5693,$5694,$5695,$5696,$5697,$5698),(nextval($5699),$5700,$5701,$5702,$5703,$5704,$5705,$5706,$5707,$5708,$5709,$5710,$5711,$5712),(nextval($5713),$5714,$5715,$5716,$5717,$5718,$5719,$5720,$5721,$5722,$5723,$5724,$5725,$5726),(nextval($5727),$5728,$5729,$5730,$5731,$5732,$5733,$5734,$5735,$5736,$5737,$5738,$5739,$5740),(nextval($5741),$5742,$5743,$5744,$5745,$5746,$5747,$5748,$5749,$5750,$5751,$5752,$5753,$5754),(nextval($5755),$5756,$5757,$5758,$5759,$5760,$5761,$5762,$5763,$5764,$5765,$5766,$5767,$5768),(nextval($5769),$5770,$5771,$5772,$5773,$5774,$5775,$5776,$5777,$5778,$5779,$5780,$5781,$5782),(nextval($5783),$5784,$5785,$5786,$5787,$5788,$5789,$5790,$5791,$5792,$5793,$5794,$5795,$5796),(nextval($5797),$5798,$5799,$5800,$5801,$5802,$5803,$5804,$5805,$5806,$5807,$5808,$5809,$5810),(nextval($5811),$5812,$5813,$5814,$5815,$5816,$5817,$5818,$5819,$5820,$5821,$5822,$5823,$5824),(nextval($5825),$5826,$5827,$5828,$5829,$5830,$5831,$5832,$5833,$5834,$5835,$5836,$5837,$5838),(nextval($5839),$5840,$5841,$5842,$5843,$5844,$5845,$5846,$5847,$5848,$5849,$5850,$5851,$5852),(nextval($5853),$5854,$5855,$5856,$5857,$5858,$5859,$5860,$5861,$5862,$5863,$5864,$5865,$5866),(nextval($5867),$5868,$5869,$5870,$5871,$5872,$5873,$5874,$5875,$5876,$5877,$5878,$5879,$5880),(nextval($5881),$5882,$5883,$5884,$5885,$5886,$5887,$5888,$5889,$5890,$5891,$5892,$5893,$5894),(nextval($5895),$5896,$5897,$5898,$5899,$5900,$5901,$5902,$5903,$5904,$5905,$5906,$5907,$5908),(nextval($5909),$5910,$5911,$5912,$5913,$5914,$5915,$5916,$5917,$5918,$5919,$5920,$5921,$5922),(nextval($5923),$5924,$5925,$5926,$5927,$5928,$5929,$5930,$5931,$5932,$5933,$5934,$5935,$5936),(nextval($5937),$5938,$5939,$5940,$5941,$5942,$5943,$5944,$5945,$5946,$5947,$5948,$5949,$5950),(nextval($5951),$5952,$5953,$5954,$5955,$5956,$5957,$5958,$5959,$5960,$5961,$5962,$5963,$5964),(nextval($5965),$5966,$5967,$5968,$5969,$5970,$5971,$5972,$5973,$5974,$5975,$5976,$5977,$5978),(nextval($5979),$5980,$5981,$5982,$5983,$5984,$5985,$5986,$5987,$5988,$5989,$5990,$5991,$5992),(nextval($5993),$5994,$5995,$5996,$5997,$5998,$5999,$6000,$6001,$6002,$6003,$6004,$6005,$6006),(nextval($6007),$6008,$6009,$6010,$6011,$6012,$6013,$6014,$6015,$6016,$6017,$6018,$6019,$6020),(nextval($6021),$6022,$6023,$6024,$6025,$6026,$6027,$6028,$6029,$6030,$6031,$6032,$6033,$6034),(nextval($6035),$6036,$6037,$6038,$6039,$6040,$6041,$6042,$6043,$6044,$6045,$6046,$6047,$6048),(nextval($6049),$6050,$6051,$6052,$6053,$6054,$6055,$6056,$6057,$6058,$6059,$6060,$6061,$6062),(nextval($6063),$6064,$6065,$6066,$6067,$6068,$6069,$6070,$6071,$6072,$6073,$6074,$6075,$6076),(nextval($6077),$6078,$6079,$6080,$6081,$6082,$6083,$6084,$6085,$6086,$6087,$6088,$6089,$6090),(nextval($6091),$6092,$6093,$6094,$6095,$6096,$6097,$6098,$6099,$6100,$6101,$6102,$6103,$6104),(nextval($6105),$6106,$6107,$6108,$6109,$6110,$6111,$6112,$6113,$6114,$6115,$6116,$6117,$6118),(nextval($6119),$6120,$6121,$6122,$6123,$6124,$6125,$6126,$6127,$6128,$6129,$6130,$6131,$6132),(nextval($6133),$6134,$6135,$6136,$6137,$6138,$6139,$6140,$6141,$6142,$6143,$6144,$6145,$6146),(nextval($6147),$6148,$6149,$6150,$6151,$6152,$6153,$6154,$6155,$6156,$6157,$6158,$6159,$6160),(nextval($6161),$6162,$6163,$6164,$6165,$6166,$6167,$6168,$6169,$6170,$6171,$6172,$6173,$6174),(nextval($6175),$6176,$6177,$6178,$6179,$6180,$6181,$6182,$6183,$6184,$6185,$6186,$6187,$6188),(nextval($6189),$6190,$6191,$6192,$6193,$6194,$6195,$6196,$6197,$6198,$6199,$6200,$6201,$6202),(nextval($6203),$6204,$6205,$6206,$6207,$6208,$6209,$6210,$6211,$6212,$6213,$6214,$6215,$6216),(nextval($6217),$6218,$6219,$6220,$6221,$6222,$6223,$6224,$6225,$6226,$6227,$6228,$6229,$6230),(nextval($6231),$6232,$6233,$6234,$6235,$6236,$6237,$6238,$6239,$6240,$6241,$6242,$6243,$6244),(nextval($6245),$6246,$6247,$6248,$6249,$6250,$6251,$6252,$6253,$6254,$6255,$6256,$6257,$6258),(nextval($6259),$6260,$6261,$6262,$6263,$6264,$6265,$6266,$6267,$6268,$6269,$6270,$6271,$6272),(nextval($6273),$6274,$6275,$6276,$6277,$6278,$6279,$6280,$6281,$6282,$6283,$6284,$6285,$6286),(nextval($6287),$6288,$6289,$6290,$6291,$6292,$6293,$6294,$6295,$6296,$6297,$6298,$6299,$6300),(nextval($6301),$6302,$6303,$6304,$6305,$6306,$6307,$6308,$6309,$6310,$6311,$6312,$6313,$6314),(nextval($6315),$6316,$6317,$6318,$6319,$6320,$6321,$6322,$6323,$6324,$6325,$6326,$6327,$6328),(nextval($6329),$6330,$6331,$6332,$6333,$6334,$6335,$6336,$6337,$6338,$6339,$6340,$6341,$6342),(nextval($6343),$6344,$6345,$6346,$6347,$6348,$6349,$6350,$6351,$6352,$6353,$6354,$6355,$6356),(nextval($6357),$6358,$6359,$6360,$6361,$6362,$6363,$6364,$6365,$6366,$6367,$6368,$6369,$6370),(nextval($6371),$6372,$6373,$6374,$6375,$6376,$6377,$6378,$6379,$6380,$6381,$6382,$6383,$6384),(nextval($6385),$6386,$6387,$6388,$6389,$6390,$6391,$6392,$6393,$6394,$6395,$6396,$6397,$6398),(nextval($6399),$6400,$6401,$6402,$6403,$6404,$6405,$6406,$6407,$6408,$6409,$6410,$6411,$6412),(nextval($6413),$6414,$6415,$6416,$6417,$6418,$6419,$6420,$6421,$6422,$6423,$6424,$6425,$6426),(nextval($6427),$6428,$6429,$6430,$6431,$6432,$6433,$6434,$6435,$6436,$6437,$6438,$6439,$6440),(nextval($6441),$6442,$6443,$6444,$6445,$6446,$6447,$6448,$6449,$6450,$6451,$6452,$6453,$6454),(nextval($6455),$6456,$6457,$6458,$6459,$6460,$6461,$6462,$6463,$6464,$6465,$6466,$6467,$6468),(nextval($6469),$6470,$6471,$6472,$6473,$6474,$6475,$6476,$6477,$6478,$6479,$6480,$6481,$6482),(nextval($6483),$6484,$6485,$6486,$6487,$6488,$6489,$6490,$6491,$6492,$6493,$6494,$6495,$6496),(nextval($6497),$6498,$6499,$6500,$6501,$6502,$6503,$6504,$6505,$6506,$6507,$6508,$6509,$6510),(nextval($6511),$6512,$6513,$6514,$6515,$6516,$6517,$6518,$6519,$6520,$6521,$6522,$6523,$6524),(nextval($6525),$6526,$6527,$6528,$6529,$6530,$6531,$6532,$6533,$6534,$6535,$6536,$6537,$6538),(nextval($6539),$6540,$6541,$6542,$6543,$6544,$6545,$6546,$6547,$6548,$6549,$6550,$6551,$6552),(nextval($6553),$6554,$6555,$6556,$6557,$6558,$6559,$6560,$6561,$6562,$6563,$6564,$6565,$6566),(nextval($6567),$6568,$6569,$6570,$6571,$6572,$6573,$6574,$6575,$6576,$6577,$6578,$6579,$6580),(nextval($6581),$6582,$6583,$6584,$6585,$6586,$6587,$6588,$6589,$6590,$6591,$6592,$6593,$6594),(nextval($6595),$6596,$6597,$6598,$6599,$6600,$6601,$6602,$6603,$6604,$6605,$6606,$6607,$6608),(nextval($6609),$6610,$6611,$6612,$6613,$6614,$6615,$6616,$6617,$6618,$6619,$6620,$6621,$6622),(nextval($6623),$6624,$6625,$6626,$6627,$6628,$6629,$6630,$6631,$6632,$6633,$6634,$6635,$6636),(nextval($6637),$6638,$6639,$6640,$6641,$6642,$6643,$6644,$6645,$6646,$6647,$6648,$6649,$6650),(nextval($6651),$6652,$6653,$6654,$6655,$6656,$6657,$6658,$6659,$6660,$6661,$6662,$6663,$6664),(nextval($6665),$6666,$6667,$6668,$6669,$6670,$6671,$6672,$6673,$6674,$6675,$6676,$6677,$6678),(nextval($6679),$6680,$6681,$6682,$6683,$6684,$6685,$6686,$6687,$6688,$6689,$6690,$6691,$6692),(nextval($6693),$6694,$6695,$6696,$6697,$6698,$6699,$6700,$6701,$6702,$6703,$6704,$6705,$6706),(nextval($6707),$6708,$6709,$6710,$6711,$6712,$6713,$6714,$6715,$6716,$6717,$6718,$6719,$6720),(nextval($6721),$6722,$6723,$6724,$6725,$6726,$6727,$6728,$6729,$6730,$6731,$6732,$6733,$6734),(nextval($6735),$6736,$6737,$6738,$6739,$6740,$6741,$6742,$6743,$6744,$6745,$6746,$6747,$6748),(nextval($6749),$6750,$6751,$6752,$6753,$6754,$6755,$6756,$6757,$6758,$6759,$6760,$6761,$6762),(nextval($6763),$6764,$6765,$6766,$6767,$6768,$6769,$6770,$6771,$6772,$6773,$6774,$6775,$6776),(nextval($6777),$6778,$6779,$6780,$6781,$6782,$6783,$6784,$6785,$6786,$6787,$6788,$6789,$6790),(nextval($6791),$6792,$6793,$6794,$6795,$6796,$6797,$6798,$6799,$6800,$6801,$6802,$6803,$6804),(nextval($6805),$6806,$6807,$6808,$6809,$6810,$6811,$6812,$6813,$6814,$6815,$6816,$6817,$6818),(nextval($6819),$6820,$6821,$6822,$6823,$6824,$6825,$6826,$6827,$6828,$6829,$6830,$6831,$6832),(nextval($6833),$6834,$6835,$6836,$6837,$6838,$6839,$6840,$6841,$6842,$6843,$6844,$6845,$6846),(nextval($6847),$6848,$6849,$6850,$6851,$6852,$6853,$6854,$6855,$6856,$6857,$6858,$6859,$6860),(nextval($6861),$6862,$6863,$6864,$6865,$6866,$6867,$6868,$6869,$6870,$6871,$6872,$6873,$6874),(nextval($6875),$6876,$6877,$6878,$6879,$6880,$6881,$6882,$6883,$6884,$6885,$6886,$6887,$6888),(nextval($6889),$6890,$6891,$6892,$6893,$6894,$6895,$6896,$6897,$6898,$6899,$6900,$6901,$6902),(nextval($6903),$6904,$6905,$6906,$6907,$6908,$6909,$6910,$6911,$6912,$6913,$6914,$6915,$6916),(nextval($6917),$6918,$6919,$6920,$6921,$6922,$6923,$6924,$6925,$6926,$6927,$6928,$6929,$6930),(nextval($6931),$6932,$6933,$6934,$6935,$6936,$6937,$6938,$6939,$6940,$6941,$6942,$6943,$6944),(nextval($6945),$6946,$6947,$6948,$6949,$6950,$6951,$6952,$6953,$6954,$6955,$6956,$6957,$6958),(nextval($6959),$6960,$6961,$6962,$6963,$6964,$6965,$6966,$6967,$6968,$6969,$6970,$6971,$6972),(nextval($6973),$6974,$6975,$6976,$6977,$6978,$6979,$6980,$6981,$6982,$6983,$6984,$6985,$6986),(nextval($6987),$6988,$6989,$6990,$6991,$6992,$6993,$6994,$6995,$6996,$6997,$6998,$6999,$7000),(nextval($7001),$7002,$7003,$7004,$7005,$7006,$7007,$7008,$7009,$7010,$7011,$7012,$7013,$7014),(nextval($7015),$7016,$7017,$7018,$7019,$7020,$7021,$7022,$7023,$7024,$7025,$7026,$7027,$7028),(nextval($7029),$7030,$7031,$7032,$7033,$7034,$7035,$7036,$7037,$7038,$7039,$7040,$7041,$7042),(nextval($7043),$7044,$7045,$7046,$7047,$7048,$7049,$7050,$7051,$7052,$7053,$7054,$7055,$7056),(nextval($7057),$7058,$7059,$7060,$7061,$7062,$7063,$7064,$7065,$7066,$7067,$7068,$7069,$7070),(nextval($7071),$7072,$7073,$7074,$7075,$7076,$7077,$7078,$7079,$7080,$7081,$7082,$7083,$7084),(nextval($7085),$7086,$7087,$7088,$7089,$7090,$7091,$7092,$7093,$7094,$7095,$7096,$7097,$7098),(nextval($7099),$7100,$7101,$7102,$7103,$7104,$7105,$7106,$7107,$7108,$7109,$7110,$7111,$7112),(nextval($7113),$7114,$7115,$7116,$7117,$7118,$7119,$7120,$7121,$7122,$7123,$7124,$7125,$7126),(nextval($7127),$7128,$7129,$7130,$7131,$7132,$7133,$7134,$7135,$7136,$7137,$7138,$7139,$7140),(nextval($7141),$7142,$7143,$7144,$7145,$7146,$7147,$7148,$7149,$7150,$7151,$7152,$7153,$7154),(nextval($7155),$7156,$7157,$7158,$7159,$7160,$7161,$7162,$7163,$7164,$7165,$7166,$7167,$7168),(nextval($7169),$7170,$7171,$7172,$7173,$7174,$7175,$7176,$7177,$7178,$7179,$7180,$7181,$7182),(nextval($7183),$7184,$7185,$7186,$7187,$7188,$7189,$7190,$7191,$7192,$7193,$7194,$7195,$7196),(nextval($7197),$7198,$7199,$7200,$7201,$7202,$7203,$7204,$7205,$7206,$7207,$7208,$7209,$7210),(nextval($7211),$7212,$7213,$7214,$7215,$7216,$7217,$7218,$7219,$7220,$7221,$7222,$7223,$7224),(nextval($7225),$7226,$7227,$7228,$7229,$7230,$7231,$7232,$7233,$7234,$7235,$7236,$7237,$7238),(nextval($7239),$7240,$7241,$7242,$7243,$7244,$7245,$7246,$7247,$7248,$7249,$7250,$7251,$7252),(nextval($7253),$7254,$7255,$7256,$7257,$7258,$7259,$7260,$7261,$7262,$7263,$7264,$7265,$7266),(nextval($7267),$7268,$7269,$7270,$7271,$7272,$7273,$7274,$7275,$7276,$7277,$7278,$7279,$7280),(nextval($7281),$7282,$7283,$7284,$7285,$7286,$7287,$7288,$7289,$7290,$7291,$7292,$7293,$7294),(nextval($7295),$7296,$7297,$7298,$7299,$7300,$7301,$7302,$7303,$7304,$7305,$7306,$7307,$7308),(nextval($7309),$7310,$7311,$7312,$7313,$7314,$7315,$7316,$7317,$7318,$7319,$7320,$7321,$7322),(nextval($7323),$7324,$7325,$7326,$7327,$7328,$7329,$7330,$7331,$7332,$7333,$7334,$7335,$7336),(nextval($7337),$7338,$7339,$7340,$7341,$7342,$7343,$7344,$7345,$7346,$7347,$7348,$7349,$7350),(nextval($7351),$7352,$7353,$7354,$7355,$7356,$7357,$7358,$7359,$7360,$7361,$7362,$7363,$7364),(nextval($7365),$7366,$7367,$7368,$7369,$7370,$7371,$7372,$7373,$7374,$7375,$7376,$7377,$7378),(nextval($7379),$7380,$7381,$7382,$7383,$7384,$7385,$7386,$7387,$7388,$7389,$7390,$7391,$7392),(nextval($7393),$7394,$7395,$7396,$7397,$7398,$7399,$7400,$7401,$7402,$7403,$7404,$7405,$7406),(nextval($7407),$7408,$7409,$7410,$7411,$7412,$7413,$7414,$7415,$7416,$7417,$7418,$7419,$7420),(nextval($7421),$7422,$7423,$7424,$7425,$7426,$7427,$7428,$7429,$7430,$7431,$7432,$7433,$7434),(nextval($7435),$7436,$7437,$7438,$7439,$7440,$7441,$7442,$7443,$7444,$7445,$7446,$7447,$7448),(nextval($7449),$7450,$7451,$7452,$7453,$7454,$7455,$7456,$7457,$7458,$7459,$7460,$7461,$7462),(nextval($7463),$7464,$7465,$7466,$7467,$7468,$7469,$7470,$7471,$7472,$7473,$7474,$7475,$7476),(nextval($7477),$7478,$7479,$7480,$7481,$7482,$7483,$7484,$7485,$7486,$7487,$7488,$7489,$7490),(nextval($7491),$7492,$7493,$7494,$7495,$7496,$7497,$7498,$7499,$7500,$7501,$7502,$7503,$7504),(nextval($7505),$7506,$7507,$7508,$7509,$7510,$7511,$7512,$7513,$7514,$7515,$7516,$7517,$7518),(nextval($7519),$7520,$7521,$7522,$7523,$7524,$7525,$7526,$7527,$7528,$7529,$7530,$7531,$7532),(nextval($7533),$7534,$7535,$7536,$7537,$7538,$7539,$7540,$7541,$7542,$7543,$7544,$7545,$7546),(nextval($7547),$7548,$7549,$7550,$7551,$7552,$7553,$7554,$7555,$7556,$7557,$7558,$7559,$7560),(nextval($7561),$7562,$7563,$7564,$7565,$7566,$7567,$7568,$7569,$7570,$7571,$7572,$7573,$7574),(nextval($7575),$7576,$7577,$7578,$7579,$7580,$7581,$7582,$7583,$7584,$7585,$7586,$7587,$7588),(nextval($7589),$7590,$7591,$7592,$7593,$7594,$7595,$7596,$7597,$7598,$7599,$7600,$7601,$7602),(nextval($7603),$7604,$7605,$7606,$7607,$7608,$7609,$7610,$7611,$7612,$7613,$7614,$7615,$7616),(nextval($7617),$7618,$7619,$7620,$7621,$7622,$7623,$7624,$7625,$7626,$7627,$7628,$7629,$7630),(nextval($7631),$7632,$7633,$7634,$7635,$7636,$7637,$7638,$7639,$7640,$7641,$7642,$7643,$7644),(nextval($7645),$7646,$7647,$7648,$7649,$7650,$7651,$7652,$7653,$7654,$7655,$7656,$7657,$7658),(nextval($7659),$7660,$7661,$7662,$7663,$7664,$7665,$7666,$7667,$7668,$7669,$7670,$7671,$7672),(nextval($7673),$7674,$7675,$7676,$7677,$7678,$7679,$7680,$7681,$7682,$7683,$7684,$7685,$7686),(nextval($7687),$7688,$7689,$7690,$7691,$7692,$7693,$7694,$7695,$7696,$7697,$7698,$7699,$7700),(nextval($7701),$7702,$7703,$7704,$7705,$7706,$7707,$7708,$7709,$7710,$7711,$7712,$7713,$7714),(nextval($7715),$7716,$7717,$7718,$7719,$7720,$7721,$7722,$7723,$7724,$7725,$7726,$7727,$7728),(nextval($7729),$7730,$7731,$7732,$7733,$7734,$7735,$7736,$7737,$7738,$7739,$7740,$7741,$7742),(nextval($7743),$7744,$7745,$7746,$7747,$7748,$7749,$7750,$7751,$7752,$7753,$7754,$7755,$7756),(nextval($7757),$7758,$7759,$7760,$7761,$7762,$7763,$7764,$7765,$7766,$7767,$7768,$7769,$7770),(nextval($7771),$7772,$7773,$7774,$7775,$7776,$7777,$7778,$7779,$7780,$7781,$7782,$7783,$7784),(nextval($7785),$7786,$7787,$7788,$7789,$7790,$7791,$7792,$7793,$7794,$7795,$7796,$7797,$7798),(nextval($7799),$7800,$7801,$7802,$7803,$7804,$7805,$7806,$7807,$7808,$7809,$7810,$7811,$7812),(nextval($7813),$7814,$7815,$7816,$7817,$7818,$7819,$7820,$7821,$7822,$7823,$7824,$7825,$7826),(nextval($7827),$7828,$7829,$7830,$7831,$7832,$7833,$7834,$7835,$7836,$7837,$7838,$7839,$7840),(nextval($7841),$7842,$7843,$7844,$7845,$7846,$7847,$7848,$7849,$7850,$7851,$7852,$7853,$7854),(nextval($7855),$7856,$7857,$7858,$7859,$7860,$7861,$7862,$7863,$7864,$7865,$7866,$7867,$7868),(nextval($7869),$7870,$7871,$7872,$7873,$7874,$7875,$7876,$7877,$7878,$7879,$7880,$7881,$7882),(nextval($7883),$7884,$7885,$7886,$7887,$7888,$7889,$7890,$7891,$7892,$7893,$7894,$7895,$7896),(nextval($7897),$7898,$7899,$7900,$7901,$7902,$7903,$7904,$7905,$7906,$7907,$7908,$7909,$7910),(nextval($7911),$7912,$7913,$7914,$7915,$7916,$7917,$7918,$7919,$7920,$7921,$7922,$7923,$7924),(nextval($7925),$7926,$7927,$7928,$7929,$7930,$7931,$7932,$7933,$7934,$7935,$7936,$7937,$7938),(nextval($7939),$7940,$7941,$7942,$7943,$7944,$7945,$7946,$7947,$7948,$7949,$7950,$7951,$7952),(nextval($7953),$7954,$7955,$7956,$7957,$7958,$7959,$7960,$7961,$7962,$7963,$7964,$7965,$7966),(nextval($7967),$7968,$7969,$7970,$7971,$7972,$7973,$7974,$7975,$7976,$7977,$7978,$7979,$7980),(nextval($7981),$7982,$7983,$7984,$7985,$7986,$7987,$7988,$7989,$7990,$7991,$7992,$7993,$7994),(nextval($7995),$7996,$7997,$7998,$7999,$8000,$8001,$8002,$8003,$8004,$8005,$8006,$8007,$8008),(nextval($8009),$8010,$8011,$8012,$8013,$8014,$8015,$8016,$8017,$8018,$8019,$8020,$8021,$8022),(nextval($8023),$8024,$8025,$8026,$8027,$8028,$8029,$8030,$8031,$8032,$8033,$8034,$8035,$8036),(nextval($8037),$8038,$8039,$8040,$8041,$8042,$8043,$8044,$8045,$8046,$8047,$8048,$8049,$8050),(nextval($8051),$8052,$8053,$8054,$8055,$8056,$8057,$8058,$8059,$8060,$8061,$8062,$8063,$8064),(nextval($8065),$8066,$8067,$8068,$8069,$8070,$8071,$8072,$8073,$8074,$8075,$8076,$8077,$8078),(nextval($8079),$8080,$8081,$8082,$8083,$8084,$8085,$8086,$8087,$8088,$8089,$8090,$8091,$8092),(nextval($8093),$8094,$8095,$8096,$8097,$8098,$8099,$8100,$8101,$8102,$8103,$8104,$8105,$8106),(nextval($8107),$8108,$8109,$8110,$8111,$8112,$8113,$8114,$8115,$8116,$8117,$8118,$8119,$8120),(nextval($8121),$8122,$8123,$8124,$8125,$8126,$8127,$8128,$8129,$8130,$8131,$8132,$8133,$8134),(nextval($8135),$8136,$8137,$8138,$8139,$8140,$8141,$8142,$8143,$8144,$8145,$8146,$8147,$8148),(nextval($8149),$8150,$8151,$8152,$8153,$8154,$8155,$8156,$8157,$8158,$8159,$8160,$8161,$8162),(nextval($8163),$8164,$8165,$8166,$8167,$8168,$8169,$8170,$8171,$8172,$8173,$8174,$8175,$8176),(nextval($8177),$8178,$8179,$8180,$8181,$8182,$8183,$8184,$8185,$8186,$8187,$8188,$8189,$8190),(nextval($8191),$8192,$8193,$8194,$8195,$8196,$8197,$8198,$8199,$8200,$8201,$8202,$8203,$8204),(nextval($8205),$8206,$8207,$8208,$8209,$8210,$8211,$8212,$8213,$8214,$8215,$8216,$8217,$8218),(nextval($8219),$8220,$8221,$8222,$8223,$8224,$8225,$8226,$8227,$8228,$8229,$8230,$8231,$8232),(nextval($8233),$8234,$8235,$8236,$8237,$8238,$8239,$8240,$8241,$8242,$8243,$8244,$8245,$8246),(nextval($8247),$8248,$8249,$8250,$8251,$8252,$8253,$8254,$8255,$8256,$8257,$8258,$8259,$8260),(nextval($8261),$8262,$8263,$8264,$8265,$8266,$8267,$8268,$8269,$8270,$8271,$8272,$8273,$8274),(nextval($8275),$8276,$8277,$8278,$8279,$8280,$8281,$8282,$8283,$8284,$8285,$8286,$8287,$8288),(nextval($8289),$8290,$8291,$8292,$8293,$8294,$8295,$8296,$8297,$8298,$8299,$8300,$8301,$8302),(nextval($8303),$8304,$8305,$8306,$8307,$8308,$8309,$8310,$8311,$8312,$8313,$8314,$8315,$8316),(nextval($8317),$8318,$8319,$8320,$8321,$8322,$8323,$8324,$8325,$8326,$8327,$8328,$8329,$8330),(nextval($8331),$8332,$8333,$8334,$8335,$8336,$8337,$8338,$8339,$8340,$8341,$8342,$8343,$8344),(nextval($8345),$8346,$8347,$8348,$8349,$8350,$8351,$8352,$8353,$8354,$8355,$8356,$8357,$8358),(nextval($8359),$8360,$8361,$8362,$8363,$8364,$8365,$8366,$8367,$8368,$8369,$8370,$8371,$8372),(nextval($8373),$8374,$8375,$8376,$8377,$8378,$8379,$8380,$8381,$8382,$8383,$8384,$8385,$8386),(nextval($8387),$8388,$8389,$8390,$8391,$8392,$8393,$8394,$8395,$8396,$8397,$8398,$8399,$8400),(nextval($8401),$8402,$8403,$8404,$8405,$8406,$8407,$8408,$8409,$8410,$8411,$8412,$8413,$8414),(nextval($8415),$8416,$8417,$8418,$8419,$8420,$8421,$8422,$8423,$8424,$8425,$8426,$8427,$8428),(nextval($8429),$8430,$8431,$8432,$8433,$8434,$8435,$8436,$8437,$8438,$8439,$8440,$8441,$8442),(nextval($8443),$8444,$8445,$8446,$8447,$8448,$8449,$8450,$8451,$8452,$8453,$8454,$8455,$8456),(nextval($8457),$8458,$8459,$8460,$8461,$8462,$8463,$8464,$8465,$8466,$8467,$8468,$8469,$8470),(nextval($8471),$8472,$8473,$8474,$8475,$8476,$8477,$8478,$8479,$8480,$8481,$8482,$8483,$8484),(nextval($8485),$8486,$8487,$8488,$8489,$8490,$8491,$8492,$8493,$8494,$8495,$8496,$8497,$8498),(nextval($8499),$8500,$8501,$8502,$8503,$8504,$8505,$8506,$8507,$8508,$8509,$8510,$8511,$8512),(nextval($8513),$8514,$8515,$8516,$8517,$8518,$8519,$8520,$8521,$8522,$8523,$8524,$8525,$8526),(nextval($8527),$8528,$8529,$8530,$8531,$8532,$8533,$8534,$8535,$8536,$8537,$8538,$8539,$8540),(nextval($8541),$8542,$8543,$8544,$8545,$8546,$8547,$8548,$8549,$8550,$8551,$8552,$8553,$8554),(nextval($8555),$8556,$8557,$8558,$8559,$8560,$8561,$8562,$8563,$8564,$8565,$8566,$8567,$8568),(nextval($8569),$8570,$8571,$8572,$8573,$8574,$8575,$8576,$8577,$8578,$8579,$8580,$8581,$8582),(nextval($8583),$8584,$8585,$8586,$8587,$8588,$8589,$8590,$8591,$8592,$8593,$8594,$8595,$8596),(nextval($8597),$8598,$8599,$8600,$8601,$8602,$8603,$8604,$8605,$8606,$8607,$8608,$8609,$8610),(nextval($8611),$8612,$8613,$8614,$8615,$8616,$8617,$8618,$8619,$8620,$8621,$8622,$8623,$8624),(nextval($8625),$8626,$8627,$8628,$8629,$8630,$8631,$8632,$8633,$8634,$8635,$8636,$8637,$8638),(nextval($8639),$8640,$8641,$8642,$8643,$8644,$8645,$8646,$8647,$8648,$8649,$8650,$8651,$8652),(nextval($8653),$8654,$8655,$8656,$8657,$8658,$8659,$8660,$8661,$8662,$8663,$8664,$8665,$8666),(nextval($8667),$8668,$8669,$8670,$8671,$8672,$8673,$8674,$8675,$8676,$8677,$8678,$8679,$8680),(nextval($8681),$8682,$8683,$8684,$8685,$8686,$8687,$8688,$8689,$8690,$8691,$8692,$8693,$8694),(nextval($8695),$8696,$8697,$8698,$8699,$8700,$8701,$8702,$8703,$8704,$8705,$8706,$8707,$8708),(nextval($8709),$8710,$8711,$8712,$8713,$8714,$8715,$8716,$8717,$8718,$8719,$8720,$8721,$8722),(nextval($8723),$8724,$8725,$8726,$8727,$8728,$8729,$8730,$8731,$8732,$8733,$8734,$8735,$8736),(nextval($8737),$8738,$8739,$8740,$8741,$8742,$8743,$8744,$8745,$8746,$8747,$8748,$8749,$8750),(nextval($8751),$8752,$8753,$8754,$8755,$8756,$8757,$8758,$8759,$8760,$8761,$8762,$8763,$8764),(nextval($8765),$8766,$8767,$8768,$8769,$8770,$8771,$8772,$8773,$8774,$8775,$8776,$8777,$8778),(nextval($8779),$8780,$8781,$8782,$8783,$8784,$8785,$8786,$8787,$8788,$8789,$8790,$8791,$8792),(nextval($8793),$8794,$8795,$8796,$8797,$8798,$8799,$8800,$8801,$8802,$8803,$8804,$8805,$8806),(nextval($8807),$8808,$8809,$8810,$8811,$8812,$8813,$8814,$8815,$8816,$8817,$8818,$8819,$8820),(nextval($8821),$8822,$8823,$8824,$8825,$8826,$8827,$8828,$8829,$8830,$8831,$8832,$8833,$8834),(nextval($8835),$8836,$8837,$8838,$8839,$8840,$8841,$8842,$8843,$8844,$8845,$8846,$8847,$8848),(nextval($8849),$8850,$8851,$8852,$8853,$8854,$8855,$8856,$8857,$8858,$8859,$8860,$8861,$8862),(nextval($8863),$8864,$8865,$8866,$8867,$8868,$8869,$8870,$8871,$8872,$8873,$8874,$8875,$8876),(nextval($8877),$8878,$8879,$8880,$8881,$8882,$8883,$8884,$8885,$8886,$8887,$8888,$8889,$8890),(nextval($8891),$8892,$8893,$8894,$8895,$8896,$8897,$8898,$8899,$8900,$8901,$8902,$8903,$8904),(nextval($8905),$8906,$8907,$8908,$8909,$8910,$8911,$8912,$8913,$8914,$8915,$8916,$8917,$8918),(nextval($8919),$8920,$8921,$8922,$8923,$8924,$8925,$8926,$8927,$8928,$8929,$8930,$8931,$8932),(nextval($8933),$8934,$8935,$8936,$8937,$8938,$8939,$8940,$8941,$8942,$8943,$8944,$8945,$8946),(nextval($8947),$8948,$8949,$8950,$8951,$8952,$8953,$8954,$8955,$8956,$8957,$8958,$8959,$8960),(nextval($8961),$8962,$8963,$8964,$8965,$8966,$8967,$8968,$8969,$8970,$8971,$8972,$8973,$8974),(nextval($8975),$8976,$8977,$8978,$8979,$8980,$8981,$8982,$8983,$8984,$8985,$8986,$8987,$8988),(nextval($8989),$8990,$8991,$8992,$8993,$8994,$8995,$8996,$8997,$8998,$8999,$9000,$9001,$9002),(nextval($9003),$9004,$9005,$9006,$9007,$9008,$9009,$9010,$9011,$9012,$9013,$9014,$9015,$9016),(nextval($9017),$9018,$9019,$9020,$9021,$9022,$9023,$9024,$9025,$9026,$9027,$9028,$9029,$9030),(nextval($9031),$9032,$9033,$9034,$9035,$9036,$9037,$9038,$9039,$9040,$9041,$9042,$9043,$9044),(nextval($9045),$9046,$9047,$9048,$9049,$9050,$9051,$9052,$9053,$9054,$9055,$9056,$9057,$9058),(nextval($9059),$9060,$9061,$9062,$9063,$9064,$9065,$9066,$9067,$9068,$9069,$9070,$9071,$9072),(nextval($9073),$9074,$9075,$9076,$9077,$9078,$9079,$9080,$9081,$9082,$9083,$9084,$9085,$9086),(nextval($9087),$9088,$9089,$9090,$9091,$9092,$9093,$9094,$9095,$9096,$9097,$9098,$9099,$9100),(nextval($9101),$9102,$9103,$9104,$9105,$9106,$9107,$9108,$9109,$9110,$9111,$9112,$9113,$9114),(nextval($9115),$9116,$9117,$9118,$9119,$9120,$9121,$9122,$9123,$9124,$9125,$9126,$9127,$9128),(nextval($9129),$9130,$9131,$9132,$9133,$9134,$9135,$9136,$9137,$9138,$9139,$9140,$9141,$9142),(nextval($9143),$9144,$9145,$9146,$9147,$9148,$9149,$9150,$9151,$9152,$9153,$9154,$9155,$9156),(nextval($9157),$9158,$9159,$9160,$9161,$9162,$9163,$9164,$9165,$9166,$9167,$9168,$9169,$9170),(nextval($9171),$9172,$9173,$9174,$9175,$9176,$9177,$9178,$9179,$9180,$9181,$9182,$9183,$9184),(nextval($9185),$9186,$9187,$9188,$9189,$9190,$9191,$9192,$9193,$9194,$9195,$9196,$9197,$9198),(nextval($9199),$9200,$9201,$9202,$9203,$9204,$9205,$9206,$9207,$9208,$9209,$9210,$9211,$9212),(nextval($9213),$9214,$9215,$9216,$9217,$9218,$9219,$9220,$9221,$9222,$9223,$9224,$9225,$9226),(nextval($9227),$9228,$9229,$9230,$9231,$9232,$9233,$9234,$9235,$9236,$9237,$9238,$9239,$9240),(nextval($9241),$9242,$9243,$9244,$9245,$9246,$9247,$9248,$9249,$9250,$9251,$9252,$9253,$9254),(nextval($9255),$9256,$9257,$9258,$9259,$9260,$9261,$9262,$9263,$9264,$9265,$9266,$9267,$9268),(nextval($9269),$9270,$9271,$9272,$9273,$9274,$9275,$9276,$9277,$9278,$9279,$9280,$9281,$9282),(nextval($9283),$9284,$9285,$9286,$9287,$9288,$9289,$9290,$9291,$9292,$9293,$9294,$9295,$9296),(nextval($9297),$9298,$9299,$9300,$9301,$9302,$9303,$9304,$9305,$9306,$9307,$9308,$9309,$9310),(nextval($9311),$9312,$9313,$9314,$9315,$9316,$9317,$9318,$9319,$9320,$9321,$9322,$9323,$9324),(nextval($9325),$9326,$9327,$9328,$9329,$9330,$9331,$9332,$9333,$9334,$9335,$9336,$9337,$9338),(nextval($9339),$9340,$9341,$9342,$9343,$9344,$9345,$9346,$9347,$9348,$9349,$9350,$9351,$9352),(nextval($9353),$9354,$9355,$9356,$9357,$9358,$9359,$9360,$9361,$9362,$9363,$9364,$9365,$9366),(nextval($9367),$9368,$9369,$9370,$9371,$9372,$9373,$9374,$9375,$9376,$9377,$9378,$9379,$9380),(nextval($9381),$9382,$9383,$9384,$9385,$9386,$9387,$9388,$9389,$9390,$9391,$9392,$9393,$9394),(nextval($9395),$9396,$9397,$9398,$9399,$9400,$9401,$9402,$9403,$9404,$9405,$9406,$9407,$9408),(nextval($9409),$9410,$9411,$9412,$9413,$9414,$9415,$9416,$9417,$9418,$9419,$9420,$9421,$9422),(nextval($9423),$9424,$9425,$9426,$9427,$9428,$9429,$9430,$9431,$9432,$9433,$9434,$9435,$9436),(nextval($9437),$9438,$9439,$9440,$9441,$9442,$9443,$9444,$9445,$9446,$9447,$9448,$9449,$9450),(nextval($9451),$9452,$9453,$9454,$9455,$9456,$9457,$9458,$9459,$9460,$9461,$9462,$9463,$9464),(nextval($9465),$9466,$9467,$9468,$9469,$9470,$9471,$9472,$9473,$9474,$9475,$9476,$9477,$9478),(nextval($9479),$9480,$9481,$9482,$9483,$9484,$9485,$9486,$9487,$9488,$9489,$9490,$9491,$9492),(nextval($9493),$9494,$9495,$9496,$9497,$9498,$9499,$9500,$9501,$9502,$9503,$9504,$9505,$9506),(nextval($9507),$9508,$9509,$9510,$9511,$9512,$9513,$9514,$9515,$9516,$9517,$9518,$9519,$9520),(nextval($9521),$9522,$9523,$9524,$9525,$9526,$9527,$9528,$9529,$9530,$9531,$9532,$9533,$9534),(nextval($9535),$9536,$9537,$9538,$9539,$9540,$9541,$9542,$9543,$9544,$9545,$9546,$9547,$9548),(nextval($9549),$9550,$9551,$9552,$9553,$9554,$9555,$9556,$9557,$9558,$9559,$9560,$9561,$9562),(nextval($9563),$9564,$9565,$9566,$9567,$9568,$9569,$9570,$9571,$9572,$9573,$9574,$9575,$9576),(nextval($9577),$9578,$9579,$9580,$9581,$9582,$9583,$9584,$9585,$9586,$9587,$9588,$9589,$9590),(nextval($9591),$9592,$9593,$9594,$9595,$9596,$9597,$9598,$9599,$9600,$9601,$9602,$9603,$9604),(nextval($9605),$9606,$9607,$9608,$9609,$9610,$9611,$9612,$9613,$9614,$9615,$9616,$9617,$9618),(nextval($9619),$9620,$9621,$9622,$9623,$9624,$9625,$9626,$9627,$9628,$9629,$9630,$9631,$9632),(nextval($9633),$9634,$9635,$9636,$9637,$9638,$9639,$9640,$9641,$9642,$9643,$9644,$9645,$9646),(nextval($9647),$9648,$9649,$9650,$9651,$9652,$9653,$9654,$9655,$9656,$9657,$9658,$9659,$9660),(nextval($9661),$9662,$9663,$9664,$9665,$9666,$9667,$9668,$9669,$9670,$9671,$9672,$9673,$9674),(nextval($9675),$9676,$9677,$9678,$9679,$9680,$9681,$9682,$9683,$9684,$9685,$9686,$9687,$9688),(nextval($9689),$9690,$9691,$9692,$9693,$9694,$9695,$9696,$9697,$9698,$9699,$9700,$9701,$9702),(nextval($9703),$9704,$9705,$9706,$9707,$9708,$9709,$9710,$9711,$9712,$9713,$9714,$9715,$9716),(nextval($9717),$9718,$9719,$9720,$9721,$9722,$9723,$9724,$9725,$9726,$9727,$9728,$9729,$9730),(nextval($9731),$9732,$9733,$9734,$9735,$9736,$9737,$9738,$9739,$9740,$9741,$9742,$9743,$9744),(nextval($9745),$9746,$9747,$9748,$9749,$9750,$9751,$9752,$9753,$9754,$9755,$9756,$9757,$9758),(nextval($9759),$9760,$9761,$9762,$9763,$9764,$9765,$9766,$9767,$9768,$9769,$9770,$9771,$9772),(nextval($9773),$9774,$9775,$9776,$9777,$9778,$9779,$9780,$9781,$9782,$9783,$9784,$9785,$9786),(nextval($9787),$9788,$9789,$9790,$9791,$9792,$9793,$9794,$9795,$9796,$9797,$9798,$9799,$9800),(nextval($9801),$9802,$9803,$9804,$9805,$9806,$9807,$9808,$9809,$9810,$9811,$9812,$9813,$9814),(nextval($9815),$9816,$9817,$9818,$9819,$9820,$9821,$9822,$9823,$9824,$9825,$9826,$9827,$9828),(nextval($9829),$9830,$9831,$9832,$9833,$9834,$9835,$9836,$9837,$9838,$9839,$9840,$9841,$9842),(nextval($9843),$9844,$9845,$9846,$9847,$9848,$9849,$9850,$9851,$9852,$9853,$9854,$9855,$9856),(nextval($9857),$9858,$9859,$9860,$9861,$9862,$9863,$9864,$9865,$9866,$9867,$9868,$9869,$9870),(nextval($9871),$9872,$9873,$9874,$9875,$9876,$9877,$9878,$9879,$9880,$9881,$9882,$9883,$9884),(nextval($9885),$9886,$9887,$9888,$9889,$9890,$9891,$9892,$9893,$9894,$9895,$9896,$9897,$9898),(nextval($9899),$9900,$9901,$9902,$9903,$9904,$9905,$9906,$9907,$9908,$9909,$9910,$9911,$9912),(nextval($9913),$9914,$9915,$9916,$9917,$9918,$9919,$9920,$9921,$9922,$9923,$9924,$9925,$9926),(nextval($9927),$9928,$9929,$9930,$9931,$9932,$9933,$9934,$9935,$9936,$9937,$9938,$9939,$9940),(nextval($9941),$9942,$9943,$9944,$9945,$9946,$9947,$9948,$9949,$9950,$9951,$9952,$9953,$9954),(nextval($9955),$9956,$9957,$9958,$9959,$9960,$9961,$9962,$9963,$9964,$9965,$9966,$9967,$9968),(nextval($9969),$9970,$9971,$9972,$9973,$9974,$9975,$9976,$9977,$9978,$9979,$9980,$9981,$9982),(nextval($9983),$9984,$9985,$9986,$9987,$9988,$9989,$9990,$9991,$9992,$9993,$9994,$9995,$9996),(nextval($9997),$9998,$9999,$10000,$10001,$10002,$10003,$10004,$10005,$10006,$10007,$10008,$10009,$10010),(nextval($10011),$10012,$10013,$10014,$10015,$10016,$10017,$10018,$10019,$10020,$10021,$10022,$10023,$10024),(nextval($10025),$10026,$10027,$10028,$10029,$10030,$10031,$10032,$10033,$10034,$10035,$10036,$10037,$10038),(nextval($10039),$10040,$10041,$10042,$10043,$10044,$10045,$10046,$10047,$10048,$10049,$10050,$10051,$10052),(nextval($10053),$10054,$10055,$10056,$10057,$10058,$10059,$10060,$10061,$10062,$10063,$10064,$10065,$10066),(nextval($10067),$10068,$10069,$10070,$10071,$10072,$10073,$10074,$10075,$10076,$10077,$10078,$10079,$10080),(nextval($10081),$10082,$10083,$10084,$10085,$10086,$10087,$10088,$10089,$10090,$10091,$10092,$10093,$10094),(nextval($10095),$10096,$10097,$10098,$10099,$10100,$10101,$10102,$10103,$10104,$10105,$10106,$10107,$10108),(nextval($10109),$10110,$10111,$10112,$10113,$10114,$10115,$10116,$10117,$10118,$10119,$10120,$10121,$10122),(nextval($10123),$10124,$10125,$10126,$10127,$10128,$10129,$10130,$10131,$10132,$10133,$10134,$10135,$10136),(nextval($10137),$10138,$10139,$10140,$10141,$10142,$10143,$10144,$10145,$10146,$10147,$10148,$10149,$10150),(nextval($10151),$10152,$10153,$10154,$10155,$10156,$10157,$10158,$10159,$10160,$10161,$10162,$10163,$10164),(nextval($10165),$10166,$10167,$10168,$10169,$10170,$10171,$10172,$10173,$10174,$10175,$10176,$10177,$10178),(nextval($10179),$10180,$10181,$10182,$10183,$10184,$10185,$10186,$10187,$10188,$10189,$10190,$10191,$10192),(nextval($10193),$10194,$10195,$10196,$10197,$10198,$10199,$10200,$10201,$10202,$10203,$10204,$10205,$10206),(nextval($10207),$10208,$10209,$10210,$10211,$10212,$10213,$10214,$10215,$10216,$10217,$10218,$10219,$10220),(nextval($10221),$10222,$10223,$10224,$10225,$10226,$10227,$10228,$10229,$10230,$10231,$10232,$10233,$10234),(nextval($10235),$10236,$10237,$10238,$10239,$10240,$10241,$10242,$10243,$10244,$10245,$10246,$10247,$10248),(nextval($10249),$10250,$10251,$10252,$10253,$10254,$10255,$10256,$10257,$10258,$10259,$10260,$10261,$10262),(nextval($10263),$10264,$10265,$10266,$10267,$10268,$10269,$10270,$10271,$10272,$10273,$10274,$10275,$10276),(nextval($10277),$10278,$10279,$10280,$10281,$10282,$10283,$10284,$10285,$10286,$10287,$10288,$10289,$10290),(nextval($10291),$10292,$10293,$10294,$10295,$10296,$10297,$10298,$10299,$10300,$10301,$10302,$10303,$10304),(nextval($10305),$10306,$10307,$10308,$10309,$10310,$10311,$10312,$10313,$10314,$10315,$10316,$10317,$10318),(nextval($10319),$10320,$10321,$10322,$10323,$10324,$10325,$10326,$10327,$10328,$10329,$10330,$10331,$10332),(nextval($10333),$10334,$10335,$10336,$10337,$10338,$10339,$10340,$10341,$10342,$10343,$10344,$10345,$10346),(nextval($10347),$10348,$10349,$10350,$10351,$10352,$10353,$10354,$10355,$10356,$10357,$10358,$10359,$10360),(nextval($10361),$10362,$10363,$10364,$10365,$10366,$10367,$10368,$10369,$10370,$10371,$10372,$10373,$10374),(nextval($10375),$10376,$10377,$10378,$10379,$10380,$10381,$10382,$10383,$10384,$10385,$10386,$10387,$10388),(nextval($10389),$10390,$10391,$10392,$10393,$10394,$10395,$10396,$10397,$10398,$10399,$10400,$10401,$10402),(nextval($10403),$10404,$10405,$10406,$10407,$10408,$10409,$10410,$10411,$10412,$10413,$10414,$10415,$10416),(nextval($10417),$10418,$10419,$10420,$10421,$10422,$10423,$10424,$10425,$10426,$10427,$10428,$10429,$10430),(nextval($10431),$10432,$10433,$10434,$10435,$10436,$10437,$10438,$10439,$10440,$10441,$10442,$10443,$10444),(nextval($10445),$10446,$10447,$10448,$10449,$10450,$10451,$10452,$10453,$10454,$10455,$10456,$10457,$10458),(nextval($10459),$10460,$10461,$10462,$10463,$10464,$10465,$10466,$10467,$10468,$10469,$10470,$10471,$10472),(nextval($10473),$10474,$10475,$10476,$10477,$10478,$10479,$10480,$10481,$10482,$10483,$10484,$10485,$10486),(nextval($10487),$10488,$10489,$10490,$10491,$10492,$10493,$10494,$10495,$10496,$10497,$10498,$10499,$10500),(nextval($10501),$10502,$10503,$10504,$10505,$10506,$10507,$10508,$10509,$10510,$10511,$10512,$10513,$10514),(nextval($10515),$10516,$10517,$10518,$10519,$10520,$10521,$10522,$10523,$10524,$10525,$10526,$10527,$10528),(nextval($10529),$10530,$10531,$10532,$10533,$10534,$10535,$10536,$10537,$10538,$10539,$10540,$10541,$10542),(nextval($10543),$10544,$10545,$10546,$10547,$10548,$10549,$10550,$10551,$10552,$10553,$10554,$10555,$10556),(nextval($10557),$10558,$10559,$10560,$10561,$10562,$10563,$10564,$10565,$10566,$10567,$10568,$10569,$10570),(nextval($10571),$10572,$10573,$10574,$10575,$10576,$10577,$10578,$10579,$10580,$10581,$10582,$10583,$10584),(nextval($10585),$10586,$10587,$10588,$10589,$10590,$10591,$10592,$10593,$10594,$10595,$10596,$10597,$10598),(nextval($10599),$10600,$10601,$10602,$10603,$10604,$10605,$10606,$10607,$10608,$10609,$10610,$10611,$10612),(nextval($10613),$10614,$10615,$10616,$10617,$10618,$10619,$10620,$10621,$10622,$10623,$10624,$10625,$10626),(nextval($10627),$10628,$10629,$10630,$10631,$10632,$10633,$10634,$10635,$10636,$10637,$10638,$10639,$10640),(nextval($10641),$10642,$10643,$10644,$10645,$10646,$10647,$10648,$10649,$10650,$10651,$10652,$10653,$10654),(nextval($10655),$10656,$10657,$10658,$10659,$10660,$10661,$10662,$10663,$10664,$10665,$10666,$10667,$10668),(nextval($10669),$10670,$10671,$10672,$10673,$10674,$10675,$10676,$10677,$10678,$10679,$10680,$10681,$10682),(nextval($10683),$10684,$10685,$10686,$10687,$10688,$10689,$10690,$10691,$10692,$10693,$10694,$10695,$10696),(nextval($10697),$10698,$10699,$10700,$10701,$10702,$10703,$10704,$10705,$10706,$10707,$10708,$10709,$10710),(nextval($10711),$10712,$10713,$10714,$10715,$10716,$10717,$10718,$10719,$10720,$10721,$10722,$10723,$10724),(nextval($10725),$10726,$10727,$10728,$10729,$10730,$10731,$10732,$10733,$10734,$10735,$10736,$10737,$10738),(nextval($10739),$10740,$10741,$10742,$10743,$10744,$10745,$10746,$10747,$10748,$10749,$10750,$10751,$10752),(nextval($10753),$10754,$10755,$10756,$10757,$10758,$10759,$10760,$10761,$10762,$10763,$10764,$10765,$10766),(nextval($10767),$10768,$10769,$10770,$10771,$10772,$10773,$10774,$10775,$10776,$10777,$10778,$10779,$10780),(nextval($10781),$10782,$10783,$10784,$10785,$10786,$10787,$10788,$10789,$10790,$10791,$10792,$10793,$10794),(nextval($10795),$10796,$10797,$10798,$10799,$10800,$10801,$10802,$10803,$10804,$10805,$10806,$10807,$10808),(nextval($10809),$10810,$10811,$10812,$10813,$10814,$10815,$10816,$10817,$10818,$10819,$10820,$10821,$10822),(nextval($10823),$10824,$10825,$10826,$10827,$10828,$10829,$10830,$10831,$10832,$10833,$10834,$10835,$10836),(nextval($10837),$10838,$10839,$10840,$10841,$10842,$10843,$10844,$10845,$10846,$10847,$10848,$10849,$10850),(nextval($10851),$10852,$10853,$10854,$10855,$10856,$10857,$10858,$10859,$10860,$10861,$10862,$10863,$10864),(nextval($10865),$10866,$10867,$10868,$10869,$10870,$10871,$10872,$10873,$10874,$10875,$10876,$10877,$10878),(nextval($10879),$10880,$10881,$10882,$10883,$10884,$10885,$10886,$10887,$10888,$10889,$10890,$10891,$10892),(nextval($10893),$10894,$10895,$10896,$10897,$10898,$10899,$10900,$10901,$10902,$10903,$10904,$10905,$10906),(nextval($10907),$10908,$10909,$10910,$10911,$10912,$10913,$10914,$10915,$10916,$10917,$10918,$10919,$10920),(nextval($10921),$10922,$10923,$10924,$10925,$10926,$10927,$10928,$10929,$10930,$10931,$10932,$10933,$10934),(nextval($10935),$10936,$10937,$10938,$10939,$10940,$10941,$10942,$10943,$10944,$10945,$10946,$10947,$10948),(nextval($10949),$10950,$10951,$10952,$10953,$10954,$10955,$10956,$10957,$10958,$10959,$10960,$10961,$10962),(nextval($10963),$10964,$10965,$10966,$10967,$10968,$10969,$10970,$10971,$10972,$10973,$10974,$10975,$10976),(nextval($10977),$10978,$10979,$10980,$10981,$10982,$10983,$10984,$10985,$10986,$10987,$10988,$10989,$10990),(nextval($10991),$10992,$10993,$10994,$10995,$10996,$10997,$10998,$10999,$11000,$11001,$11002,$11003,$11004),(nextval($11005),$11006,$11007,$11008,$11009,$11010,$11011,$11012,$11013,$11014,$11015,$11016,$11017,$11018),(nextval($11019),$11020,$11021,$11022,$11023,$11024,$11025,$11026,$11027,$11028,$11029,$11030,$11031,$11032),(nextval($11033),$11034,$11035,$11036,$11037,$11038,$11039,$11040,$11041,$11042,$11043,$11044,$11045,$11046),(nextval($11047),$11048,$11049,$11050,$11051,$11052,$11053,$11054,$11055,$11056,$11057,$11058,$11059,$11060),(nextval($11061),$11062,$11063,$11064,$11065,$11066,$11067,$11068,$11069,$11070,$11071,$11072,$11073,$11074),(nextval($11075),$11076,$11077,$11078,$11079,$11080,$11081,$11082,$11083,$11084,$11085,$11086,$11087,$11088),(nextval($11089),$11090,$11091,$11092,$11093,$11094,$11095,$11096,$11097,$11098,$11099,$11100,$11101,$11102),(nextval($11103),$11104,$11105,$11106,$11107,$11108,$11109,$11110,$11111,$11112,$11113,$11114,$11115,$11116),(nextval($11117),$11118,$11119,$11120,$11121,$11122,$11123,$11124,$11125,$11126,$11127,$11128,$11129,$11130),(nextval($11131),$11132,$11133,$11134,$11135,$11136,$11137,$11138,$11139,$11140,$11141,$11142,$11143,$11144),(nextval($11145),$11146,$11147,$11148,$11149,$11150,$11151,$11152,$11153,$11154,$11155,$11156,$11157,$11158),(nextval($11159),$11160,$11161,$11162,$11163,$11164,$11165,$11166,$11167,$11168,$11169,$11170,$11171,$11172),(nextval($11173),$11174,$11175,$11176,$11177,$11178,$11179,$11180,$11181,$11182,$11183,$11184,$11185,$11186),(nextval($11187),$11188,$11189,$11190,$11191,$11192,$11193,$11194,$11195,$11196,$11197,$11198,$11199,$11200),(nextval($11201),$11202,$11203,$11204,$11205,$11206,$11207,$11208,$11209,$11210,$11211,$11212,$11213,$11214),(nextval($11215),$11216,$11217,$11218,$11219,$11220,$11221,$11222,$11223,$11224,$11225,$11226,$11227,$11228),(nextval($11229),$11230,$11231,$11232,$11233,$11234,$11235,$11236,$11237,$11238,$11239,$11240,$11241,$11242),(nextval($11243),$11244,$11245,$11246,$11247,$11248,$11249,$11250,$11251,$11252,$11253,$11254,$11255,$11256),(nextval($11257),$11258,$11259,$11260,$11261,$11262,$11263,$11264,$11265,$11266,$11267,$11268,$11269,$11270),(nextval($11271),$11272,$11273,$11274,$11275,$11276,$11277,$11278,$11279,$11280,$11281,$11282,$11283,$11284),(nextval($11285),$11286,$11287,$11288,$11289,$11290,$11291,$11292,$11293,$11294,$11295,$11296,$11297,$11298),(nextval($11299),$11300,$11301,$11302,$11303,$11304,$11305,$11306,$11307,$11308,$11309,$11310,$11311,$11312),(nextval($11313),$11314,$11315,$11316,$11317,$11318,$11319,$11320,$11321,$11322,$11323,$11324,$11325,$11326),(nextval($11327),$11328,$11329,$11330,$11331,$11332,$11333,$11334,$11335,$11336,$11337,$11338,$11339,$11340),(nextval($11341),$11342,$11343,$11344,$11345,$11346,$11347,$11348,$11349,$11350,$11351,$11352,$11353,$11354),(nextval($11355),$11356,$11357,$11358,$11359,$11360,$11361,$11362,$11363,$11364,$11365,$11366,$11367,$11368),(nextval($11369),$11370,$11371,$11372,$11373,$11374,$11375,$11376,$11377,$11378,$11379,$11380,$11381,$11382),(nextval($11383),$11384,$11385,$11386,$11387,$11388,$11389,$11390,$11391,$11392,$11393,$11394,$11395,$11396),(nextval($11397),$11398,$11399,$11400,$11401,$11402,$11403,$11404,$11405,$11406,$11407,$11408,$11409,$11410),(nextval($11411),$11412,$11413,$11414,$11415,$11416,$11417,$11418,$11419,$11420,$11421,$11422,$11423,$11424),(nextval($11425),$11426,$11427,$11428,$11429,$11430,$11431,$11432,$11433,$11434,$11435,$11436,$11437,$11438),(nextval($11439),$11440,$11441,$11442,$11443,$11444,$11445,$11446,$11447,$11448,$11449,$11450,$11451,$11452),(nextval($11453),$11454,$11455,$11456,$11457,$11458,$11459,$11460,$11461,$11462,$11463,$11464,$11465,$11466),(nextval($11467),$11468,$11469,$11470,$11471,$11472,$11473,$11474,$11475,$11476,$11477,$11478,$11479,$11480),(nextval($11481),$11482,$11483,$11484,$11485,$11486,$11487,$11488,$11489,$11490,$11491,$11492,$11493,$11494),(nextval($11495),$11496,$11497,$11498,$11499,$11500,$11501,$11502,$11503,$11504,$11505,$11506,$11507,$11508),(nextval($11509),$11510,$11511,$11512,$11513,$11514,$11515,$11516,$11517,$11518,$11519,$11520,$11521,$11522),(nextval($11523),$11524,$11525,$11526,$11527,$11528,$11529,$11530,$11531,$11532,$11533,$11534,$11535,$11536),(nextval($11537),$11538,$11539,$11540,$11541,$11542,$11543,$11544,$11545,$11546,$11547,$11548,$11549,$11550),(nextval($11551),$11552,$11553,$11554,$11555,$11556,$11557,$11558,$11559,$11560,$11561,$11562,$11563,$11564),(nextval($11565),$11566,$11567,$11568,$11569,$11570,$11571,$11572,$11573,$11574,$11575,$11576,$11577,$11578),(nextval($11579),$11580,$11581,$11582,$11583,$11584,$11585,$11586,$11587,$11588,$11589,$11590,$11591,$11592),(nextval($11593),$11594,$11595,$11596,$11597,$11598,$11599,$11600,$11601,$11602,$11603,$11604,$11605,$11606),(nextval($11607),$11608,$11609,$11610,$11611,$11612,$11613,$11614,$11615,$11616,$11617,$11618,$11619,$11620),(nextval($11621),$11622,$11623,$11624,$11625,$11626,$11627,$11628,$11629,$11630,$11631,$11632,$11633,$11634),(nextval($11635),$11636,$11637,$11638,$11639,$11640,$11641,$11642,$11643,$11644,$11645,$11646,$11647,$11648),(nextval($11649),$11650,$11651,$11652,$11653,$11654,$11655,$11656,$11657,$11658,$11659,$11660,$11661,$11662),(nextval($11663),$11664,$11665,$11666,$11667,$11668,$11669,$11670,$11671,$11672,$11673,$11674,$11675,$11676),(nextval($11677),$11678,$11679,$11680,$11681,$11682,$11683,$11684,$11685,$11686,$11687,$11688,$11689,$11690),(nextval($11691),$11692,$11693,$11694,$11695,$11696,$11697,$11698,$11699,$11700,$11701,$11702,$11703,$11704),(nextval($11705),$11706,$11707,$11708,$11709,$11710,$11711,$11712,$11713,$11714,$11715,$11716,$11717,$11718),(nextval($11719),$11720,$11721,$11722,$11723,$11724,$11725,$11726,$11727,$11728,$11729,$11730,$11731,$11732),(nextval($11733),$11734,$11735,$11736,$11737,$11738,$11739,$11740,$11741,$11742,$11743,$11744,$11745,$11746),(nextval($11747),$11748,$11749,$11750,$11751,$11752,$11753,$11754,$11755,$11756,$11757,$11758,$11759,$11760),(nextval($11761),$11762,$11763,$11764,$11765,$11766,$11767,$11768,$11769,$11770,$11771,$11772,$11773,$11774),(nextval($11775),$11776,$11777,$11778,$11779,$11780,$11781,$11782,$11783,$11784,$11785,$11786,$11787,$11788),(nextval($11789),$11790,$11791,$11792,$11793,$11794,$11795,$11796,$11797,$11798,$11799,$11800,$11801,$11802),(nextval($11803),$11804,$11805,$11806,$11807,$11808,$11809,$11810,$11811,$11812,$11813,$11814,$11815,$11816),(nextval($11817),$11818,$11819,$11820,$11821,$11822,$11823,$11824,$11825,$11826,$11827,$11828,$11829,$11830),(nextval($11831),$11832,$11833,$11834,$11835,$11836,$11837,$11838,$11839,$11840,$11841,$11842,$11843,$11844),(nextval($11845),$11846,$11847,$11848,$11849,$11850,$11851,$11852,$11853,$11854,$11855,$11856,$11857,$11858),(nextval($11859),$11860,$11861,$11862,$11863,$11864,$11865,$11866,$11867,$11868,$11869,$11870,$11871,$11872),(nextval($11873),$11874,$11875,$11876,$11877,$11878,$11879,$11880,$11881,$11882,$11883,$11884,$11885,$11886),(nextval($11887),$11888,$11889,$11890,$11891,$11892,$11893,$11894,$11895,$11896,$11897,$11898,$11899,$11900),(nextval($11901),$11902,$11903,$11904,$11905,$11906,$11907,$11908,$11909,$11910,$11911,$11912,$11913,$11914),(nextval($11915),$11916,$11917,$11918,$11919,$11920,$11921,$11922,$11923,$11924,$11925,$11926,$11927,$11928),(nextval($11929),$11930,$11931,$11932,$11933,$11934,$11935,$11936,$11937,$11938,$11939,$11940,$11941,$11942),(nextval($11943),$11944,$11945,$11946,$11947,$11948,$11949,$11950,$11951,$11952,$11953,$11954,$11955,$11956),(nextval($11957),$11958,$11959,$11960,$11961,$11962,$11963,$11964,$11965,$11966,$11967,$11968,$11969,$11970),(nextval($11971),$11972,$11973,$11974,$11975,$11976,$11977,$11978,$11979,$11980,$11981,$11982,$11983,$11984),(nextval($11985),$11986,$11987,$11988,$11989,$11990,$11991,$11992,$11993,$11994,$11995,$11996,$11997,$11998),(nextval($11999),$12000,$12001,$12002,$12003,$12004,$12005,$12006,$12007,$12008,$12009,$12010,$12011,$12012),(nextval($12013),$12014,$12015,$12016,$12017,$12018,$12019,$12020,$12021,$12022,$12023,$12024,$12025,$12026),(nextval($12027),$12028,$12029,$12030,$12031,$12032,$12033,$12034,$12035,$12036,$12037,$12038,$12039,$12040),(nextval($12041),$12042,$12043,$12044,$12045,$12046,$12047,$12048,$12049,$12050,$12051,$12052,$12053,$12054),(nextval($12055),$12056,$12057,$12058,$12059,$12060,$12061,$12062,$12063,$12064,$12065,$12066,$12067,$12068),(nextval($12069),$12070,$12071,$12072,$12073,$12074,$12075,$12076,$12077,$12078,$12079,$12080,$12081,$12082),(nextval($12083),$12084,$12085,$12086,$12087,$12088,$12089,$12090,$12091,$12092,$12093,$12094,$12095,$12096),(nextval($12097),$12098,$12099,$12100,$12101,$12102,$12103,$12104,$12105,$12106,$12107,$12108,$12109,$12110),(nextval($12111),$12112,$12113,$12114,$12115,$12116,$12117,$12118,$12119,$12120,$12121,$12122,$12123,$12124),(nextval($12125),$12126,$12127,$12128,$12129,$12130,$12131,$12132,$12133,$12134,$12135,$12136,$12137,$12138),(nextval($12139),$12140,$12141,$12142,$12143,$12144,$12145,$12146,$12147,$12148,$12149,$12150,$12151,$12152),(nextval($12153),$12154,$12155,$12156,$12157,$12158,$12159,$12160,$12161,$12162,$12163,$12164,$12165,$12166),(nextval($12167),$12168,$12169,$12170,$12171,$12172,$12173,$12174,$12175,$12176,$12177,$12178,$12179,$12180),(nextval($12181),$12182,$12183,$12184,$12185,$12186,$12187,$12188,$12189,$12190,$12191,$12192,$12193,$12194),(nextval($12195),$12196,$12197,$12198,$12199,$12200,$12201,$12202,$12203,$12204,$12205,$12206,$12207,$12208),(nextval($12209),$12210,$12211,$12212,$12213,$12214,$12215,$12216,$12217,$12218,$12219,$12220,$12221,$12222),(nextval($12223),$12224,$12225,$12226,$12227,$12228,$12229,$12230,$12231,$12232,$12233,$12234,$12235,$12236),(nextval($12237),$12238,$12239,$12240,$12241,$12242,$12243,$12244,$12245,$12246,$12247,$12248,$12249,$12250),(nextval($12251),$12252,$12253,$12254,$12255,$12256,$12257,$12258,$12259,$12260,$12261,$12262,$12263,$12264),(nextval($12265),$12266,$12267,$12268,$12269,$12270,$12271,$12272,$12273,$12274,$12275,$12276,$12277,$12278),(nextval($12279),$12280,$12281,$12282,$12283,$12284,$12285,$12286,$12287,$12288,$12289,$12290,$12291,$12292),(nextval($12293),$12294,$12295,$12296,$12297,$12298,$12299,$12300,$12301,$12302,$12303,$12304,$12305,$12306),(nextval($12307),$12308,$12309,$12310,$12311,$12312,$12313,$12314,$12315,$12316,$12317,$12318,$12319,$12320),(nextval($12321),$12322,$12323,$12324,$12325,$12326,$12327,$12328,$12329,$12330,$12331,$12332,$12333,$12334),(nextval($12335),$12336,$12337,$12338,$12339,$12340,$12341,$12342,$12343,$12344,$12345,$12346,$12347,$12348),(nextval($12349),$12350,$12351,$12352,$12353,$12354,$12355,$12356,$12357,$12358,$12359,$12360,$12361,$12362),(nextval($12363),$12364,$12365,$12366,$12367,$12368,$12369,$12370,$12371,$12372,$12373,$12374,$12375,$12376),(nextval($12377),$12378,$12379,$12380,$12381,$12382,$12383,$12384,$12385,$12386,$12387,$12388,$12389,$12390),(nextval($12391),$12392,$12393,$12394,$12395,$12396,$12397,$12398,$12399,$12400,$12401,$12402,$12403,$12404),(nextval($12405),$12406,$12407,$12408,$12409,$12410,$12411,$12412,$12413,$12414,$12415,$12416,$12417,$12418),(nextval($12419),$12420,$12421,$12422,$12423,$12424,$12425,$12426,$12427,$12428,$12429,$12430,$12431,$12432),(nextval($12433),$12434,$12435,$12436,$12437,$12438,$12439,$12440,$12441,$12442,$12443,$12444,$12445,$12446),(nextval($12447),$12448,$12449,$12450,$12451,$12452,$12453,$12454,$12455,$12456,$12457,$12458,$12459,$12460),(nextval($12461),$12462,$12463,$12464,$12465,$12466,$12467,$12468,$12469,$12470,$12471,$12472,$12473,$12474),(nextval($12475),$12476,$12477,$12478,$12479,$12480,$12481,$12482,$12483,$12484,$12485,$12486,$12487,$12488),(nextval($12489),$12490,$12491,$12492,$12493,$12494,$12495,$12496,$12497,$12498,$12499,$12500,$12501,$12502),(nextval($12503),$12504,$12505,$12506,$12507,$12508,$12509,$12510,$12511,$12512,$12513,$12514,$12515,$12516),(nextval($12517),$12518,$12519,$12520,$12521,$12522,$12523,$12524,$12525,$12526,$12527,$12528,$12529,$12530),(nextval($12531),$12532,$12533,$12534,$12535,$12536,$12537,$12538,$12539,$12540,$12541,$12542,$12543,$12544),(nextval($12545),$12546,$12547,$12548,$12549,$12550,$12551,$12552,$12553,$12554,$12555,$12556,$12557,$12558),(nextval($12559),$12560,$12561,$12562,$12563,$12564,$12565,$12566,$12567,$12568,$12569,$12570,$12571,$12572),(nextval($12573),$12574,$12575,$12576,$12577,$12578,$12579,$12580,$12581,$12582,$12583,$12584,$12585,$12586),(nextval($12587),$12588,$12589,$12590,$12591,$12592,$12593,$12594,$12595,$12596,$12597,$12598,$12599,$12600),(nextval($12601),$12602,$12603,$12604,$12605,$12606,$12607,$12608,$12609,$12610,$12611,$12612,$12613,$12614),(nextval($12615),$12616,$12617,$12618,$12619,$12620,$12621,$12622,$12623,$12624,$12625,$12626,$12627,$12628),(nextval($12629),$12630,$12631,$12632,$12633,$12634,$12635,$12636,$12637,$12638,$12639,$12640,$12641,$12642),(nextval($12643),$12644,$12645,$12646,$12647,$12648,$12649,$12650,$12651,$12652,$12653,$12654,$12655,$12656),(nextval($12657),$12658,$12659,$12660,$12661,$12662,$12663,$12664,$12665,$12666,$12667,$12668,$12669,$12670),(nextval($12671),$12672,$12673,$12674,$12675,$12676,$12677,$12678,$12679,$12680,$12681,$12682,$12683,$12684),(nextval($12685),$12686,$12687,$12688,$12689,$12690,$12691,$12692,$12693,$12694,$12695,$12696,$12697,$12698),(nextval($12699),$12700,$12701,$12702,$12703,$12704,$12705,$12706,$12707,$12708,$12709,$12710,$12711,$12712),(nextval($12713),$12714,$12715,$12716,$12717,$12718,$12719,$12720,$12721,$12722,$12723,$12724,$12725,$12726),(nextval($12727),$12728,$12729,$12730,$12731,$12732,$12733,$12734,$12735,$12736,$12737,$12738,$12739,$12740),(nextval($12741),$12742,$12743,$12744,$12745,$12746,$12747,$12748,$12749,$12750,$12751,$12752,$12753,$12754),(nextval($12755),$12756,$12757,$12758,$12759,$12760,$12761,$12762,$12763,$12764,$12765,$12766,$12767,$12768),(nextval($12769),$12770,$12771,$12772,$12773,$12774,$12775,$12776,$12777,$12778,$12779,$12780,$12781,$12782),(nextval($12783),$12784,$12785,$12786,$12787,$12788,$12789,$12790,$12791,$12792,$12793,$12794,$12795,$12796),(nextval($12797),$12798,$12799,$12800,$12801,$12802,$12803,$12804,$12805,$12806,$12807,$12808,$12809,$12810),(nextval($12811),$12812,$12813,$12814,$12815,$12816,$12817,$12818,$12819,$12820,$12821,$12822,$12823,$12824),(nextval($12825),$12826,$12827,$12828,$12829,$12830,$12831,$12832,$12833,$12834,$12835,$12836,$12837,$12838),(nextval($12839),$12840,$12841,$12842,$12843,$12844,$12845,$12846,$12847,$12848,$12849,$12850,$12851,$12852),(nextval($12853),$12854,$12855,$12856,$12857,$12858,$12859,$12860,$12861,$12862,$12863,$12864,$12865,$12866),(nextval($12867),$12868,$12869,$12870,$12871,$12872,$12873,$12874,$12875,$12876,$12877,$12878,$12879,$12880),(nextval($12881),$12882,$12883,$12884,$12885,$12886,$12887,$12888,$12889,$12890,$12891,$12892,$12893,$12894),(nextval($12895),$12896,$12897,$12898,$12899,$12900,$12901,$12902,$12903,$12904,$12905,$12906,$12907,$12908),(nextval($12909),$12910,$12911,$12912,$12913,$12914,$12915,$12916,$12917,$12918,$12919,$12920,$12921,$12922),(nextval($12923),$12924,$12925,$12926,$12927,$12928,$12929,$12930,$12931,$12932,$12933,$12934,$12935,$12936),(nextval($12937),$12938,$12939,$12940,$12941,$12942,$12943,$12944,$12945,$12946,$12947,$12948,$12949,$12950),(nextval($12951),$12952,$12953,$12954,$12955,$12956,$12957,$12958,$12959,$12960,$12961,$12962,$12963,$12964),(nextval($12965),$12966,$12967,$12968,$12969,$12970,$12971,$12972,$12973,$12974,$12975,$12976,$12977,$12978),(nextval($12979),$12980,$12981,$12982,$12983,$12984,$12985,$12986,$12987,$12988,$12989,$12990,$12991,$12992),(nextval($12993),$12994,$12995,$12996,$12997,$12998,$12999,$13000,$13001,$13002,$13003,$13004,$13005,$13006),(nextval($13007),$13008,$13009,$13010,$13011,$13012,$13013,$13014,$13015,$13016,$13017,$13018,$13019,$13020),(nextval($13021),$13022,$13023,$13024,$13025,$13026,$13027,$13028,$13029,$13030,$13031,$13032,$13033,$13034),(nextval($13035),$13036,$13037,$13038,$13039,$13040,$13041,$13042,$13043,$13044,$13045,$13046,$13047,$13048),(nextval($13049),$13050,$13051,$13052,$13053,$13054,$13055,$13056,$13057,$13058,$13059,$13060,$13061,$13062),(nextval($13063),$13064,$13065,$13066,$13067,$13068,$13069,$13070,$13071,$13072,$13073,$13074,$13075,$13076),(nextval($13077),$13078,$13079,$13080,$13081,$13082,$13083,$13084,$13085,$13086,$13087,$13088,$13089,$13090),(nextval($13091),$13092,$13093,$13094,$13095,$13096,$13097,$13098,$13099,$13100,$13101,$13102,$13103,$13104),(nextval($13105),$13106,$13107,$13108,$13109,$13110,$13111,$13112,$13113,$13114,$13115,$13116,$13117,$13118),(nextval($13119),$13120,$13121,$13122,$13123,$13124,$13125,$13126,$13127,$13128,$13129,$13130,$13131,$13132),(nextval($13133),$13134,$13135,$13136,$13137,$13138,$13139,$13140,$13141,$13142,$13143,$13144,$13145,$13146),(nextval($13147),$13148,$13149,$13150,$13151,$13152,$13153,$13154,$13155,$13156,$13157,$13158,$13159,$13160),(nextval($13161),$13162,$13163,$13164,$13165,$13166,$13167,$13168,$13169,$13170,$13171,$13172,$13173,$13174),(nextval($13175),$13176,$13177,$13178,$13179,$13180,$13181,$13182,$13183,$13184,$13185,$13186,$13187,$13188),(nextval($13189),$13190,$13191,$13192,$13193,$13194,$13195,$13196,$13197,$13198,$13199,$13200,$13201,$13202),(nextval($13203),$13204,$13205,$13206,$13207,$13208,$13209,$13210,$13211,$13212,$13213,$13214,$13215,$13216),(nextval($13217),$13218,$13219,$13220,$13221,$13222,$13223,$13224,$13225,$13226,$13227,$13228,$13229,$13230),(nextval($13231),$13232,$13233,$13234,$13235,$13236,$13237,$13238,$13239,$13240,$13241,$13242,$13243,$13244),(nextval($13245),$13246,$13247,$13248,$13249,$13250,$13251,$13252,$13253,$13254,$13255,$13256,$13257,$13258),(nextval($13259),$13260,$13261,$13262,$13263,$13264,$13265,$13266,$13267,$13268,$13269,$13270,$13271,$13272),(nextval($13273),$13274,$13275,$13276,$13277,$13278,$13279,$13280,$13281,$13282,$13283,$13284,$13285,$13286),(nextval($13287),$13288,$13289,$13290,$13291,$13292,$13293,$13294,$13295,$13296,$13297,$13298,$13299,$13300),(nextval($13301),$13302,$13303,$13304,$13305,$13306,$13307,$13308,$13309,$13310,$13311,$13312,$13313,$13314),(nextval($13315),$13316,$13317,$13318,$13319,$13320,$13321,$13322,$13323,$13324,$13325,$13326,$13327,$13328),(nextval($13329),$13330,$13331,$13332,$13333,$13334,$13335,$13336,$13337,$13338,$13339,$13340,$13341,$13342),(nextval($13343),$13344,$13345,$13346,$13347,$13348,$13349,$13350,$13351,$13352,$13353,$13354,$13355,$13356),(nextval($13357),$13358,$13359,$13360,$13361,$13362,$13363,$13364,$13365,$13366,$13367,$13368,$13369,$13370),(nextval($13371),$13372,$13373,$13374,$13375,$13376,$13377,$13378,$13379,$13380,$13381,$13382,$13383,$13384),(nextval($13385),$13386,$13387,$13388,$13389,$13390,$13391,$13392,$13393,$13394,$13395,$13396,$13397,$13398),(nextval($13399),$13400,$13401,$13402,$13403,$13404,$13405,$13406,$13407,$13408,$13409,$13410,$13411,$13412),(nextval($13413),$13414,$13415,$13416,$13417,$13418,$13419,$13420,$13421,$13422,$13423,$13424,$13425,$13426),(nextval($13427),$13428,$13429,$13430,$13431,$13432,$13433,$13434,$13435,$13436,$13437,$13438,$13439,$13440),(nextval($13441),$13442,$13443,$13444,$13445,$13446,$13447,$13448,$13449,$13450,$13451,$13452,$13453,$13454),(nextval($13455),$13456,$13457,$13458,$13459,$13460,$13461,$13462,$13463,$13464,$13465,$13466,$13467,$13468),(nextval($13469),$13470,$13471,$13472,$13473,$13474,$13475,$13476,$13477,$13478,$13479,$13480,$13481,$13482),(nextval($13483),$13484,$13485,$13486,$13487,$13488,$13489,$13490,$13491,$13492,$13493,$13494,$13495,$13496),(nextval($13497),$13498,$13499,$13500,$13501,$13502,$13503,$13504,$13505,$13506,$13507,$13508,$13509,$13510),(nextval($13511),$13512,$13513,$13514,$13515,$13516,$13517,$13518,$13519,$13520,$13521,$13522,$13523,$13524),(nextval($13525),$13526,$13527,$13528,$13529,$13530,$13531,$13532,$13533,$13534,$13535,$13536,$13537,$13538),(nextval($13539),$13540,$13541,$13542,$13543,$13544,$13545,$13546,$13547,$13548,$13549,$13550,$13551,$13552),(nextval($13553),$13554,$13555,$13556,$13557,$13558,$13559,$13560,$13561,$13562,$13563,$13564,$13565,$13566),(nextval($13567),$13568,$13569,$13570,$13571,$13572,$13573,$13574,$13575,$13576,$13577,$13578,$13579,$13580),(nextval($13581),$13582,$13583,$13584,$13585,$13586,$13587,$13588,$13589,$13590,$13591,$13592,$13593,$13594),(nextval($13595),$13596,$13597,$13598,$13599,$13600,$13601,$13602,$13603,$13604,$13605,$13606,$13607,$13608),(nextval($13609),$13610,$13611,$13612,$13613,$13614,$13615,$13616,$13617,$13618,$13619,$13620,$13621,$13622),(nextval($13623),$13624,$13625,$13626,$13627,$13628,$13629,$13630,$13631,$13632,$13633,$13634,$13635,$13636),(nextval($13637),$13638,$13639,$13640,$13641,$13642,$13643,$13644,$13645,$13646,$13647,$13648,$13649,$13650),(nextval($13651),$13652,$13653,$13654,$13655,$13656,$13657,$13658,$13659,$13660,$13661,$13662,$13663,$13664),(nextval($13665),$13666,$13667,$13668,$13669,$13670,$13671,$13672,$13673,$13674,$13675,$13676,$13677,$13678),(nextval($13679),$13680,$13681,$13682,$13683,$13684,$13685,$13686,$13687,$13688,$13689,$13690,$13691,$13692),(nextval($13693),$13694,$13695,$13696,$13697,$13698,$13699,$13700,$13701,$13702,$13703,$13704,$13705,$13706),(nextval($13707),$13708,$13709,$13710,$13711,$13712,$13713,$13714,$13715,$13716,$13717,$13718,$13719,$13720),(nextval($13721),$13722,$13723,$13724,$13725,$13726,$13727,$13728,$13729,$13730,$13731,$13732,$13733,$13734),(nextval($13735),$13736,$13737,$13738,$13739,$13740,$13741,$13742,$13743,$13744,$13745,$13746,$13747,$13748),(nextval($13749),$13750,$13751,$13752,$13753,$13754,$13755,$13756,$13757,$13758,$13759,$13760,$13761,$13762),(nextval($13763),$13764,$13765,$13766,$13767,$13768,$13769,$13770,$13771,$13772,$13773,$13774,$13775,$13776),(nextval($13777),$13778,$13779,$13780,$13781,$13782,$13783,$13784,$13785,$13786,$13787,$13788,$13789,$13790),(nextval($13791),$13792,$13793,$13794,$13795,$13796,$13797,$13798,$13799,$13800,$13801,$13802,$13803,$13804),(nextval($13805),$13806,$13807,$13808,$13809,$13810,$13811,$13812,$13813,$13814,$13815,$13816,$13817,$13818),(nextval($13819),$13820,$13821,$13822,$13823,$13824,$13825,$13826,$13827,$13828,$13829,$13830,$13831,$13832),(nextval($13833),$13834,$13835,$13836,$13837,$13838,$13839,$13840,$13841,$13842,$13843,$13844,$13845,$13846),(nextval($13847),$13848,$13849,$13850,$13851,$13852,$13853,$13854,$13855,$13856,$13857,$13858,$13859,$13860),(nextval($13861),$13862,$13863,$13864,$13865,$13866,$13867,$13868,$13869,$13870,$13871,$13872,$13873,$13874),(nextval($13875),$13876,$13877,$13878,$13879,$13880,$13881,$13882,$13883,$13884,$13885,$13886,$13887,$13888),(nextval($13889),$13890,$13891,$13892,$13893,$13894,$13895,$13896,$13897,$13898,$13899,$13900,$13901,$13902),(nextval($13903),$13904,$13905,$13906,$13907,$13908,$13909,$13910,$13911,$13912,$13913,$13914,$13915,$13916),(nextval($13917),$13918,$13919,$13920,$13921,$13922,$13923,$13924,$13925,$13926,$13927,$13928,$13929,$13930),(nextval($13931),$13932,$13933,$13934,$13935,$13936,$13937,$13938,$13939,$13940,$13941,$13942,$13943,$13944),(nextval($13945),$13946,$13947,$13948,$13949,$13950,$13951,$13952,$13953,$13954,$13955,$13956,$13957,$13958),(nextval($13959),$13960,$13961,$13962,$13963,$13964,$13965,$13966,$13967,$13968,$13969,$13970,$13971,$13972),(nextval($13973),$13974,$13975,$13976,$13977,$13978,$13979,$13980,$13981,$13982,$13983,$13984,$13985,$13986),(nextval($13987),$13988,$13989,$13990,$13991,$13992,$13993,$13994,$13995,$13996,$13997,$13998,$13999,$14000),(nextval($14001),$14002,$14003,$14004,$14005,$14006,$14007,$14008,$14009,$14010,$14011,$14012,$14013,$14014),(nextval($14015),$14016,$14017,$14018,$14019,$14020,$14021,$14022,$14023,$14024,$14025,$14026,$14027,$14028),(nextval($14029),$14030,$14031,$14032,$14033,$14034,$14035,$14036,$14037,$14038,$14039,$14040,$14041,$14042),(nextval($14043),$14044,$14045,$14046,$14047,$14048,$14049,$14050,$14051,$14052,$14053,$14054,$14055,$14056),(nextval($14057),$14058,$14059,$14060,$14061,$14062,$14063,$14064,$14065,$14066,$14067,$14068,$14069,$14070),(nextval($14071),$14072,$14073,$14074,$14075,$14076,$14077,$14078,$14079,$14080,$14081,$14082,$14083,$14084),(nextval($14085),$14086,$14087,$14088,$14089,$14090,$14091,$14092,$14093,$14094,$14095,$14096,$14097,$14098),(nextval($14099),$14100,$14101,$14102,$14103,$14104,$14105,$14106,$14107,$14108,$14109,$14110,$14111,$14112),(nextval($14113),$14114,$14115,$14116,$14117,$14118,$14119,$14120,$14121,$14122,$14123,$14124,$14125,$14126),(nextval($14127),$14128,$14129,$14130,$14131,$14132,$14133,$14134,$14135,$14136,$14137,$14138,$14139,$14140),(nextval($14141),$14142,$14143,$14144,$14145,$14146,$14147,$14148,$14149,$14150,$14151,$14152,$14153,$14154),(nextval($14155),$14156,$14157,$14158,$14159,$14160,$14161,$14162,$14163,$14164,$14165,$14166,$14167,$14168),(nextval($14169),$14170,$14171,$14172,$14173,$14174,$14175,$14176,$14177,$14178,$14179,$14180,$14181,$14182),(nextval($14183),$14184,$14185,$14186,$14187,$14188,$14189,$14190,$14191,$14192,$14193,$14194,$14195,$14196),(nextval($14197),$14198,$14199,$14200,$14201,$14202,$14203,$14204,$14205,$14206,$14207,$14208,$14209,$14210),(nextval($14211),$14212,$14213,$14214,$14215,$14216,$14217,$14218,$14219,$14220,$14221,$14222,$14223,$14224),(nextval($14225),$14226,$14227,$14228,$14229,$14230,$14231,$14232,$14233,$14234,$14235,$14236,$14237,$14238),(nextval($14239),$14240,$14241,$14242,$14243,$14244,$14245,$14246,$14247,$14248,$14249,$14250,$14251,$14252),(nextval($14253),$14254,$14255,$14256,$14257,$14258,$14259,$14260,$14261,$14262,$14263,$14264,$14265,$14266),(nextval($14267),$14268,$14269,$14270,$14271,$14272,$14273,$14274,$14275,$14276,$14277,$14278,$14279,$14280),(nextval($14281),$14282,$14283,$14284,$14285,$14286,$14287,$14288,$14289,$14290,$14291,$14292,$14293,$14294),(nextval($14295),$14296,$14297,$14298,$14299,$14300,$14301,$14302,$14303,$14304,$14305,$14306,$14307,$14308),(nextval($14309),$14310,$14311,$14312,$14313,$14314,$14315,$14316,$14317,$14318,$14319,$14320,$14321,$14322),(nextval($14323),$14324,$14325,$14326,$14327,$14328,$14329,$14330,$14331,$14332,$14333,$14334,$14335,$14336),(nextval($14337),$14338,$14339,$14340,$14341,$14342,$14343,$14344,$14345,$14346,$14347,$14348,$14349,$14350),(nextval($14351),$14352,$14353,$14354,$14355,$14356,$14357,$14358,$14359,$14360,$14361,$14362,$14363,$14364),(nextval($14365),$14366,$14367,$14368,$14369,$14370,$14371,$14372,$14373,$14374,$14375,$14376,$14377,$14378),(nextval($14379),$14380,$14381,$14382,$14383,$14384,$14385,$14386,$14387,$14388,$14389,$14390,$14391,$14392),(nextval($14393),$14394,$14395,$14396,$14397,$14398,$14399,$14400,$14401,$14402,$14403,$14404,$14405,$14406),(nextval($14407),$14408,$14409,$14410,$14411,$14412,$14413,$14414,$14415,$14416,$14417,$14418,$14419,$14420),(nextval($14421),$14422,$14423,$14424,$14425,$14426,$14427,$14428,$14429,$14430,$14431,$14432,$14433,$14434),(nextval($14435),$14436,$14437,$14438,$14439,$14440,$14441,$14442,$14443,$14444,$14445,$14446,$14447,$14448),(nextval($14449),$14450,$14451,$14452,$14453,$14454,$14455,$14456,$14457,$14458,$14459,$14460,$14461,$14462),(nextval($14463),$14464,$14465,$14466,$14467,$14468,$14469,$14470,$14471,$14472,$14473,$14474,$14475,$14476),(nextval($14477),$14478,$14479,$14480,$14481,$14482,$14483,$14484,$14485,$14486,$14487,$14488,$14489,$14490),(nextval($14491),$14492,$14493,$14494,$14495,$14496,$14497,$14498,$14499,$14500,$14501,$14502,$14503,$14504),(nextval($14505),$14506,$14507,$14508,$14509,$14510,$14511,$14512,$14513,$14514,$14515,$14516,$14517,$14518),(nextval($14519),$14520,$14521,$14522,$14523,$14524,$14525,$14526,$14527,$14528,$14529,$14530,$14531,$14532),(nextval($14533),$14534,$14535,$14536,$14537,$14538,$14539,$14540,$14541,$14542,$14543,$14544,$14545,$14546),(nextval($14547),$14548,$14549,$14550,$14551,$14552,$14553,$14554,$14555,$14556,$14557,$14558,$14559,$14560),(nextval($14561),$14562,$14563,$14564,$14565,$14566,$14567,$14568,$14569,$14570,$14571,$14572,$14573,$14574),(nextval($14575),$14576,$14577,$14578,$14579,$14580,$14581,$14582,$14583,$14584,$14585,$14586,$14587,$14588),(nextval($14589),$14590,$14591,$14592,$14593,$14594,$14595,$14596,$14597,$14598,$14599,$14600,$14601,$14602),(nextval($14603),$14604,$14605,$14606,$14607,$14608,$14609,$14610,$14611,$14612,$14613,$14614,$14615,$14616),(nextval($14617),$14618,$14619,$14620,$14621,$14622,$14623,$14624,$14625,$14626,$14627,$14628,$14629,$14630),(nextval($14631),$14632,$14633,$14634,$14635,$14636,$14637,$14638,$14639,$14640,$14641,$14642,$14643,$14644),(nextval($14645),$14646,$14647,$14648,$14649,$14650,$14651,$14652,$14653,$14654,$14655,$14656,$14657,$14658),(nextval($14659),$14660,$14661,$14662,$14663,$14664,$14665,$14666,$14667,$14668,$14669,$14670,$14671,$14672),(nextval($14673),$14674,$14675,$14676,$14677,$14678,$14679,$14680,$14681,$14682,$14683,$14684,$14685,$14686),(nextval($14687),$14688,$14689,$14690,$14691,$14692,$14693,$14694,$14695,$14696,$14697,$14698,$14699,$14700),(nextval($14701),$14702,$14703,$14704,$14705,$14706,$14707,$14708,$14709,$14710,$14711,$14712,$14713,$14714),(nextval($14715),$14716,$14717,$14718,$14719,$14720,$14721,$14722,$14723,$14724,$14725,$14726,$14727,$14728),(nextval($14729),$14730,$14731,$14732,$14733,$14734,$14735,$14736,$14737,$14738,$14739,$14740,$14741,$14742),(nextval($14743),$14744,$14745,$14746,$14747,$14748,$14749,$14750,$14751,$14752,$14753,$14754,$14755,$14756),(nextval($14757),$14758,$14759,$14760,$14761,$14762,$14763,$14764,$14765,$14766,$14767,$14768,$14769,$14770),(nextval($14771),$14772,$14773,$14774,$14775,$14776,$14777,$14778,$14779,$14780,$14781,$14782,$14783,$14784),(nextval($14785),$14786,$14787,$14788,$14789,$14790,$14791,$14792,$14793,$14794,$14795,$14796,$14797,$14798),(nextval($14799),$14800,$14801,$14802,$14803,$14804,$14805,$14806,$14807,$14808,$14809,$14810,$14811,$14812),(nextval($14813),$14814,$14815,$14816,$14817,$14818,$14819,$14820,$14821,$14822,$14823,$14824,$14825,$14826),(nextval($14827),$14828,$14829,$14830,$14831,$14832,$14833,$14834,$14835,$14836,$14837,$14838,$14839,$14840),(nextval($14841),$14842,$14843,$14844,$14845,$14846,$14847,$14848,$14849,$14850,$14851,$14852,$14853,$14854),(nextval($14855),$14856,$14857,$14858,$14859,$14860,$14861,$14862,$14863,$14864,$14865,$14866,$14867,$14868),(nextval($14869),$14870,$14871,$14872,$14873,$14874,$14875,$14876,$14877,$14878,$14879,$14880,$14881,$14882),(nextval($14883),$14884,$14885,$14886,$14887,$14888,$14889,$14890,$14891,$14892,$14893,$14894,$14895,$14896),(nextval($14897),$14898,$14899,$14900,$14901,$14902,$14903,$14904,$14905,$14906,$14907,$14908,$14909,$14910),(nextval($14911),$14912,$14913,$14914,$14915,$14916,$14917,$14918,$14919,$14920,$14921,$14922,$14923,$14924),(nextval($14925),$14926,$14927,$14928,$14929,$14930,$14931,$14932,$14933,$14934,$14935,$14936,$14937,$14938),(nextval($14939),$14940,$14941,$14942,$14943,$14944,$14945,$14946,$14947,$14948,$14949,$14950,$14951,$14952),(nextval($14953),$14954,$14955,$14956,$14957,$14958,$14959,$14960,$14961,$14962,$14963,$14964,$14965,$14966),(nextval($14967),$14968,$14969,$14970,$14971,$14972,$14973,$14974,$14975,$14976,$14977,$14978,$14979,$14980),(nextval($14981),$14982,$14983,$14984,$14985,$14986,$14987,$14988,$14989,$14990,$14991,$14992,$14993,$14994),(nextval($14995),$14996,$14997,$14998,$14999,$15000,$15001,$15002,$15003,$15004,$15005,$15006,$15007,$15008),(nextval($15009),$15010,$15011,$15012,$15013,$15014,$15015,$15016,$15017,$15018,$15019,$15020,$15021,$15022),(nextval($15023),$15024,$15025,$15026,$15027,$15028,$15029,$15030,$15031,$15032,$15033,$15034,$15035,$15036),(nextval($15037),$15038,$15039,$15040,$15041,$15042,$15043,$15044,$15045,$15046,$15047,$15048,$15049,$15050),(nextval($15051),$15052,$15053,$15054,$15055,$15056,$15057,$15058,$15059,$15060,$15061,$15062,$15063,$15064),(nextval($15065),$15066,$15067,$15068,$15069,$15070,$15071,$15072,$15073,$15074,$15075,$15076,$15077,$15078),(nextval($15079),$15080,$15081,$15082,$15083,$15084,$15085,$15086,$15087,$15088,$15089,$15090,$15091,$15092),(nextval($15093),$15094,$15095,$15096,$15097,$15098,$15099,$15100,$15101,$15102,$15103,$15104,$15105,$15106),(nextval($15107),$15108,$15109,$15110,$15111,$15112,$15113,$15114,$15115,$15116,$15117,$15118,$15119,$15120),(nextval($15121),$15122,$15123,$15124,$15125,$15126,$15127,$15128,$15129,$15130,$15131,$15132,$15133,$15134),(nextval($15135),$15136,$15137,$15138,$15139,$15140,$15141,$15142,$15143,$15144,$15145,$15146,$15147,$15148),(nextval($15149),$15150,$15151,$15152,$15153,$15154,$15155,$15156,$15157,$15158,$15159,$15160,$15161,$15162),(nextval($15163),$15164,$15165,$15166,$15167,$15168,$15169,$15170,$15171,$15172,$15173,$15174,$15175,$15176),(nextval($15177),$15178,$15179,$15180,$15181,$15182,$15183,$15184,$15185,$15186,$15187,$15188,$15189,$15190),(nextval($15191),$15192,$15193,$15194,$15195,$15196,$15197,$15198,$15199,$15200,$15201,$15202,$15203,$15204),(nextval($15205),$15206,$15207,$15208,$15209,$15210,$15211,$15212,$15213,$15214,$15215,$15216,$15217,$15218),(nextval($15219),$15220,$15221,$15222,$15223,$15224,$15225,$15226,$15227,$15228,$15229,$15230,$15231,$15232),(nextval($15233),$15234,$15235,$15236,$15237,$15238,$15239,$15240,$15241,$15242,$15243,$15244,$15245,$15246),(nextval($15247),$15248,$15249,$15250,$15251,$15252,$15253,$15254,$15255,$15256,$15257,$15258,$15259,$15260),(nextval($15261),$15262,$15263,$15264,$15265,$15266,$15267,$15268,$15269,$15270,$15271,$15272,$15273,$15274),(nextval($15275),$15276,$15277,$15278,$15279,$15280,$15281,$15282,$15283,$15284,$15285,$15286,$15287,$15288),(nextval($15289),$15290,$15291,$15292,$15293,$15294,$15295,$15296,$15297,$15298,$15299,$15300,$15301,$15302),(nextval($15303),$15304,$15305,$15306,$15307,$15308,$15309,$15310,$15311,$15312,$15313,$15314,$15315,$15316),(nextval($15317),$15318,$15319,$15320,$15321,$15322,$15323,$15324,$15325,$15326,$15327,$15328,$15329,$15330),(nextval($15331),$15332,$15333,$15334,$15335,$15336,$15337,$15338,$15339,$15340,$15341,$15342,$15343,$15344),(nextval($15345),$15346,$15347,$15348,$15349,$15350,$15351,$15352,$15353,$15354,$15355,$15356,$15357,$15358),(nextval($15359),$15360,$15361,$15362,$15363,$15364,$15365,$15366,$15367,$15368,$15369,$15370,$15371,$15372),(nextval($15373),$15374,$15375,$15376,$15377,$15378,$15379,$15380,$15381,$15382,$15383,$15384,$15385,$15386),(nextval($15387),$15388,$15389,$15390,$15391,$15392,$15393,$15394,$15395,$15396,$15397,$15398,$15399,$15400),(nextval($15401),$15402,$15403,$15404,$15405,$15406,$15407,$15408,$15409,$15410,$15411,$15412,$15413,$15414),(nextval($15415),$15416,$15417,$15418,$15419,$15420,$15421,$15422,$15423,$15424,$15425,$15426,$15427,$15428),(nextval($15429),$15430,$15431,$15432,$15433,$15434,$15435,$15436,$15437,$15438,$15439,$15440,$15441,$15442),(nextval($15443),$15444,$15445,$15446,$15447,$15448,$15449,$15450,$15451,$15452,$15453,$15454,$15455,$15456),(nextval($15457),$15458,$15459,$15460,$15461,$15462,$15463,$15464,$15465,$15466,$15467,$15468,$15469,$15470),(nextval($15471),$15472,$15473,$15474,$15475,$15476,$15477,$15478,$15479,$15480,$15481,$15482,$15483,$15484),(nextval($15485),$15486,$15487,$15488,$15489,$15490,$15491,$15492,$15493,$15494,$15495,$15496,$15497,$15498),(nextval($15499),$15500,$15501,$15502,$15503,$15504,$15505,$15506,$15507,$15508,$15509,$15510,$15511,$15512),(nextval($15513),$15514,$15515,$15516,$15517,$15518,$15519,$15520,$15521,$15522,$15523,$15524,$15525,$15526),(nextval($15527),$15528,$15529,$15530,$15531,$15532,$15533,$15534,$15535,$15536,$15537,$15538,$15539,$15540),(nextval($15541),$15542,$15543,$15544,$15545,$15546,$15547,$15548,$15549,$15550,$15551,$15552,$15553,$15554),(nextval($15555),$15556,$15557,$15558,$15559,$15560,$15561,$15562,$15563,$15564,$15565,$15566,$15567,$15568),(nextval($15569),$15570,$15571,$15572,$15573,$15574,$15575,$15576,$15577,$15578,$15579,$15580,$15581,$15582),(nextval($15583),$15584,$15585,$15586,$15587,$15588,$15589,$15590,$15591,$15592,$15593,$15594,$15595,$15596),(nextval($15597),$15598,$15599,$15600,$15601,$15602,$15603,$15604,$15605,$15606,$15607,$15608,$15609,$15610),(nextval($15611),$15612,$15613,$15614,$15615,$15616,$15617,$15618,$15619,$15620,$15621,$15622,$15623,$15624),(nextval($15625),$15626,$15627,$15628,$15629,$15630,$15631,$15632,$15633,$15634,$15635,$15636,$15637,$15638),(nextval($15639),$15640,$15641,$15642,$15643,$15644,$15645,$15646,$15647,$15648,$15649,$15650,$15651,$15652),(nextval($15653),$15654,$15655,$15656,$15657,$15658,$15659,$15660,$15661,$15662,$15663,$15664,$15665,$15666),(nextval($15667),$15668,$15669,$15670,$15671,$15672,$15673,$15674,$15675,$15676,$15677,$15678,$15679,$15680),(nextval($15681),$15682,$15683,$15684,$15685,$15686,$15687,$15688,$15689,$15690,$15691,$15692,$15693,$15694),(nextval($15695),$15696,$15697,$15698,$15699,$15700,$15701,$15702,$15703,$15704,$15705,$15706,$15707,$15708),(nextval($15709),$15710,$15711,$15712,$15713,$15714,$15715,$15716,$15717,$15718,$15719,$15720,$15721,$15722),(nextval($15723),$15724,$15725,$15726,$15727,$15728,$15729,$15730,$15731,$15732,$15733,$15734,$15735,$15736),(nextval($15737),$15738,$15739,$15740,$15741,$15742,$15743,$15744,$15745,$15746,$15747,$15748,$15749,$15750),(nextval($15751),$15752,$15753,$15754,$15755,$15756,$15757,$15758,$15759,$15760,$15761,$15762,$15763,$15764),(nextval($15765),$15766,$15767,$15768,$15769,$15770,$15771,$15772,$15773,$15774,$15775,$15776,$15777,$15778),(nextval($15779),$15780,$15781,$15782,$15783,$15784,$15785,$15786,$15787,$15788,$15789,$15790,$15791,$15792),(nextval($15793),$15794,$15795,$15796,$15797,$15798,$15799,$15800,$15801,$15802,$15803,$15804,$15805,$15806),(nextval($15807),$15808,$15809,$15810,$15811,$15812,$15813,$15814,$15815,$15816,$15817,$15818,$15819,$15820),(nextval($15821),$15822,$15823,$15824,$15825,$15826,$15827,$15828,$15829,$15830,$15831,$15832,$15833,$15834),(nextval($15835),$15836,$15837,$15838,$15839,$15840,$15841,$15842,$15843,$15844,$15845,$15846,$15847,$15848),(nextval($15849),$15850,$15851,$15852,$15853,$15854,$15855,$15856,$15857,$15858,$15859,$15860,$15861,$15862),(nextval($15863),$15864,$15865,$15866,$15867,$15868,$15869,$15870,$15871,$15872,$15873,$15874,$15875,$15876),(nextval($15877),$15878,$15879,$15880,$15881,$15882,$15883,$15884,$15885,$15886,$15887,$15888,$15889,$15890),(nextval($15891),$15892,$15893,$15894,$15895,$15896,$15897,$15898,$15899,$15900,$15901,$15902,$15903,$15904),(nextval($15905),$15906,$15907,$15908,$15909,$15910,$15911,$15912,$15913,$15914,$15915,$15916,$15917,$15918),(nextval($15919),$15920,$15921,$15922,$15923,$15924,$15925,$15926,$15927,$15928,$15929,$15930,$15931,$15932),(nextval($15933),$15934,$15935,$15936,$15937,$15938,$15939,$15940,$15941,$15942,$15943,$15944,$15945,$15946),(nextval($15947),$15948,$15949,$15950,$15951,$15952,$15953,$15954,$15955,$15956,$15957,$15958,$15959,$15960),(nextval($15961),$15962,$15963,$15964,$15965,$15966,$15967,$15968,$15969,$15970,$15971,$15972,$15973,$15974),(nextval($15975),$15976,$15977,$15978,$15979,$15980,$15981,$15982,$15983,$15984,$15985,$15986,$15987,$15988),(nextval($15989),$15990,$15991,$15992,$15993,$15994,$15995,$15996,$15997,$15998,$15999,$16000,$16001,$16002),(nextval($16003),$16004,$16005,$16006,$16007,$16008,$16009,$16010,$16011,$16012,$16013,$16014,$16015,$16016),(nextval($16017),$16018,$16019,$16020,$16021,$16022,$16023,$16024,$16025,$16026,$16027,$16028,$16029,$16030),(nextval($16031),$16032,$16033,$16034,$16035,$16036,$16037,$16038,$16039,$16040,$16041,$16042,$16043,$16044),(nextval($16045),$16046,$16047,$16048,$16049,$16050,$16051,$16052,$16053,$16054,$16055,$16056,$16057,$16058),(nextval($16059),$16060,$16061,$16062,$16063,$16064,$16065,$16066,$16067,$16068,$16069,$16070,$16071,$16072),(nextval($16073),$16074,$16075,$16076,$16077,$16078,$16079,$16080,$16081,$16082,$16083,$16084,$16085,$16086),(nextval($16087),$16088,$16089,$16090,$16091,$16092,$16093,$16094,$16095,$16096,$16097,$16098,$16099,$16100),(nextval($16101),$16102,$16103,$16104,$16105,$16106,$16107,$16108,$16109,$16110,$16111,$16112,$16113,$16114),(nextval($16115),$16116,$16117,$16118,$16119,$16120,$16121,$16122,$16123,$16124,$16125,$16126,$16127,$16128),(nextval($16129),$16130,$16131,$16132,$16133,$16134,$16135,$16136,$16137,$16138,$16139,$16140,$16141,$16142),(nextval($16143),$16144,$16145,$16146,$16147,$16148,$16149,$16150,$16151,$16152,$16153,$16154,$16155,$16156),(nextval($16157),$16158,$16159,$16160,$16161,$16162,$16163,$16164,$16165,$16166,$16167,$16168,$16169,$16170),(nextval($16171),$16172,$16173,$16174,$16175,$16176,$16177,$16178,$16179,$16180,$16181,$16182,$16183,$16184),(nextval($16185),$16186,$16187,$16188,$16189,$16190,$16191,$16192,$16193,$16194,$16195,$16196,$16197,$16198),(nextval($16199),$16200,$16201,$16202,$16203,$16204,$16205,$16206,$16207,$16208,$16209,$16210,$16211,$16212),(nextval($16213),$16214,$16215,$16216,$16217,$16218,$16219,$16220,$16221,$16222,$16223,$16224,$16225,$16226),(nextval($16227),$16228,$16229,$16230,$16231,$16232,$16233,$16234,$16235,$16236,$16237,$16238,$16239,$16240),(nextval($16241),$16242,$16243,$16244,$16245,$16246,$16247,$16248,$16249,$16250,$16251,$16252,$16253,$16254),(nextval($16255),$16256,$16257,$16258,$16259,$16260,$16261,$16262,$16263,$16264,$16265,$16266,$16267,$16268),(nextval($16269),$16270,$16271,$16272,$16273,$16274,$16275,$16276,$16277,$16278,$16279,$16280,$16281,$16282),(nextval($16283),$16284,$16285,$16286,$16287,$16288,$16289,$16290,$16291,$16292,$16293,$16294,$16295,$16296),(nextval($16297),$16298,$16299,$16300,$16301,$16302,$16303,$16304,$16305,$16306,$16307,$16308,$16309,$16310),(nextval($16311),$16312,$16313,$16314,$16315,$16316,$16317,$16318,$16319,$16320,$16321,$16322,$16323,$16324),(nextval($16325),$16326,$16327,$16328,$16329,$16330,$16331,$16332,$16333,$16334,$16335,$16336,$16337,$16338),(nextval($16339),$16340,$16341,$16342,$16343,$16344,$16345,$16346,$16347,$16348,$16349,$16350,$16351,$16352),(nextval($16353),$16354,$16355,$16356,$16357,$16358,$16359,$16360,$16361,$16362,$16363,$16364,$16365,$16366),(nextval($16367),$16368,$16369,$16370,$16371,$16372,$16373,$16374,$16375,$16376,$16377,$16378,$16379,$16380),(nextval($16381),$16382,$16383,$16384,$16385,$16386,$16387,$16388,$16389,$16390,$16391,$16392,$16393,$16394),(nextval($16395),$16396,$16397,$16398,$16399,$16400,$16401,$16402,$16403,$16404,$16405,$16406,$16407,$16408),(nextval($16409),$16410,$16411,$16412,$16413,$16414,$16415,$16416,$16417,$16418,$16419,$16420,$16421,$16422),(nextval($16423),$16424,$16425,$16426,$16427,$16428,$16429,$16430,$16431,$16432,$16433,$16434,$16435,$16436),(nextval($16437),$16438,$16439,$16440,$16441,$16442,$16443,$16444,$16445,$16446,$16447,$16448,$16449,$16450),(nextval($16451),$16452,$16453,$16454,$16455,$16456,$16457,$16458,$16459,$16460,$16461,$16462,$16463,$16464),(nextval($16465),$16466,$16467,$16468,$16469,$16470,$16471,$16472,$16473,$16474,$16475,$16476,$16477,$16478),(nextval($16479),$16480,$16481,$16482,$16483,$16484,$16485,$16486,$16487,$16488,$16489,$16490,$16491,$16492),(nextval($16493),$16494,$16495,$16496,$16497,$16498,$16499,$16500,$16501,$16502,$16503,$16504,$16505,$16506),(nextval($16507),$16508,$16509,$16510,$16511,$16512,$16513,$16514,$16515,$16516,$16517,$16518,$16519,$16520),(nextval($16521),$16522,$16523,$16524,$16525,$16526,$16527,$16528,$16529,$16530,$16531,$16532,$16533,$16534),(nextval($16535),$16536,$16537,$16538,$16539,$16540,$16541,$16542,$16543,$16544,$16545,$16546,$16547,$16548),(nextval($16549),$16550,$16551,$16552,$16553,$16554,$16555,$16556,$16557,$16558,$16559,$16560,$16561,$16562),(nextval($16563),$16564,$16565,$16566,$16567,$16568,$16569,$16570,$16571,$16572,$16573,$16574,$16575,$16576),(nextval($16577),$16578,$16579,$16580,$16581,$16582,$16583,$16584,$16585,$16586,$16587,$16588,$16589,$16590),(nextval($16591),$16592,$16593,$16594,$16595,$16596,$16597,$16598,$16599,$16600,$16601,$16602,$16603,$16604),(nextval($16605),$16606,$16607,$16608,$16609,$16610,$16611,$16612,$16613,$16614,$16615,$16616,$16617,$16618),(nextval($16619),$16620,$16621,$16622,$16623,$16624,$16625,$16626,$16627,$16628,$16629,$16630,$16631,$16632),(nextval($16633),$16634,$16635,$16636,$16637,$16638,$16639,$16640,$16641,$16642,$16643,$16644,$16645,$16646),(nextval($16647),$16648,$16649,$16650,$16651,$16652,$16653,$16654,$16655,$16656,$16657,$16658,$16659,$16660),(nextval($16661),$16662,$16663,$16664,$16665,$16666,$16667,$16668,$16669,$16670,$16671,$16672,$16673,$16674),(nextval($16675),$16676,$16677,$16678,$16679,$16680,$16681,$16682,$16683,$16684,$16685,$16686,$16687,$16688),(nextval($16689),$16690,$16691,$16692,$16693,$16694,$16695,$16696,$16697,$16698,$16699,$16700,$16701,$16702),(nextval($16703),$16704,$16705,$16706,$16707,$16708,$16709,$16710,$16711,$16712,$16713,$16714,$16715,$16716),(nextval($16717),$16718,$16719,$16720,$16721,$16722,$16723,$16724,$16725,$16726,$16727,$16728,$16729,$16730),(nextval($16731),$16732,$16733,$16734,$16735,$16736,$16737,$16738,$16739,$16740,$16741,$16742,$16743,$16744),(nextval($16745),$16746,$16747,$16748,$16749,$16750,$16751,$16752,$16753,$16754,$16755,$16756,$16757,$16758),(nextval($16759),$16760,$16761,$16762,$16763,$16764,$16765,$16766,$16767,$16768,$16769,$16770,$16771,$16772),(nextval($16773),$16774,$16775,$16776,$16777,$16778,$16779,$16780,$16781,$16782,$16783,$16784,$16785,$16786),(nextval($16787),$16788,$16789,$16790,$16791,$16792,$16793,$16794,$16795,$16796,$16797,$16798,$16799,$16800),(nextval($16801),$16802,$16803,$16804,$16805,$16806,$16807,$16808,$16809,$16810,$16811,$16812,$16813,$16814),(nextval($16815),$16816,$16817,$16818,$16819,$16820,$16821,$16822,$16823,$16824,$16825,$16826,$16827,$16828),(nextval($16829),$16830,$16831,$16832,$16833,$16834,$16835,$16836,$16837,$16838,$16839,$16840,$16841,$16842),(nextval($16843),$16844,$16845,$16846,$16847,$16848,$16849,$16850,$16851,$16852,$16853,$16854,$16855,$16856),(nextval($16857),$16858,$16859,$16860,$16861,$16862,$16863,$16864,$16865,$16866,$16867,$16868,$16869,$16870),(nextval($16871),$16872,$16873,$16874,$16875,$16876,$16877,$16878,$16879,$16880,$16881,$16882,$16883,$16884),(nextval($16885),$16886,$16887,$16888,$16889,$16890,$16891,$16892,$16893,$16894,$16895,$16896,$16897,$16898),(nextval($16899),$16900,$16901,$16902,$16903,$16904,$16905,$16906,$16907,$16908,$16909,$16910,$16911,$16912),(nextval($16913),$16914,$16915,$16916,$16917,$16918,$16919,$16920,$16921,$16922,$16923,$16924,$16925,$16926),(nextval($16927),$16928,$16929,$16930,$16931,$16932,$16933,$16934,$16935,$16936,$16937,$16938,$16939,$16940),(nextval($16941),$16942,$16943,$16944,$16945,$16946,$16947,$16948,$16949,$16950,$16951,$16952,$16953,$16954),(nextval($16955),$16956,$16957,$16958,$16959,$16960,$16961,$16962,$16963,$16964,$16965,$16966,$16967,$16968),(nextval($16969),$16970,$16971,$16972,$16973,$16974,$16975,$16976,$16977,$16978,$16979,$16980,$16981,$16982),(nextval($16983),$16984,$16985,$16986,$16987,$16988,$16989,$16990,$16991,$16992,$16993,$16994,$16995,$16996),(nextval($16997),$16998,$16999,$17000,$17001,$17002,$17003,$17004,$17005,$17006,$17007,$17008,$17009,$17010),(nextval($17011),$17012,$17013,$17014,$17015,$17016,$17017,$17018,$17019,$17020,$17021,$17022,$17023,$17024),(nextval($17025),$17026,$17027,$17028,$17029,$17030,$17031,$17032,$17033,$17034,$17035,$17036,$17037,$17038),(nextval($17039),$17040,$17041,$17042,$17043,$17044,$17045,$17046,$17047,$17048,$17049,$17050,$17051,$17052),(nextval($17053),$17054,$17055,$17056,$17057,$17058,$17059,$17060,$17061,$17062,$17063,$17064,$17065,$17066),(nextval($17067),$17068,$17069,$17070,$17071,$17072,$17073,$17074,$17075,$17076,$17077,$17078,$17079,$17080),(nextval($17081),$17082,$17083,$17084,$17085,$17086,$17087,$17088,$17089,$17090,$17091,$17092,$17093,$17094),(nextval($17095),$17096,$17097,$17098,$17099,$17100,$17101,$17102,$17103,$17104,$17105,$17106,$17107,$17108),(nextval($17109),$17110,$17111,$17112,$17113,$17114,$17115,$17116,$17117,$17118,$17119,$17120,$17121,$17122),(nextval($17123),$17124,$17125,$17126,$17127,$17128,$17129,$17130,$17131,$17132,$17133,$17134,$17135,$17136),(nextval($17137),$17138,$17139,$17140,$17141,$17142,$17143,$17144,$17145,$17146,$17147,$17148,$17149,$17150),(nextval($17151),$17152,$17153,$17154,$17155,$17156,$17157,$17158,$17159,$17160,$17161,$17162,$17163,$17164),(nextval($17165),$17166,$17167,$17168,$17169,$17170,$17171,$17172,$17173,$17174,$17175,$17176,$17177,$17178),(nextval($17179),$17180,$17181,$17182,$17183,$17184,$17185,$17186,$17187,$17188,$17189,$17190,$17191,$17192),(nextval($17193),$17194,$17195,$17196,$17197,$17198,$17199,$17200,$17201,$17202,$17203,$17204,$17205,$17206),(nextval($17207),$17208,$17209,$17210,$17211,$17212,$17213,$17214,$17215,$17216,$17217,$17218,$17219,$17220),(nextval($17221),$17222,$17223,$17224,$17225,$17226,$17227,$17228,$17229,$17230,$17231,$17232,$17233,$17234),(nextval($17235),$17236,$17237,$17238,$17239,$17240,$17241,$17242,$17243,$17244,$17245,$17246,$17247,$17248),(nextval($17249),$17250,$17251,$17252,$17253,$17254,$17255,$17256,$17257,$17258,$17259,$17260,$17261,$17262),(nextval($17263),$17264,$17265,$17266,$17267,$17268,$17269,$17270,$17271,$17272,$17273,$17274,$17275,$17276),(nextval($17277),$17278,$17279,$17280,$17281,$17282,$17283,$17284,$17285,$17286,$17287,$17288,$17289,$17290),(nextval($17291),$17292,$17293,$17294,$17295,$17296,$17297,$17298,$17299,$17300,$17301,$17302,$17303,$17304),(nextval($17305),$17306,$17307,$17308,$17309,$17310,$17311,$17312,$17313,$17314,$17315,$17316,$17317,$17318),(nextval($17319),$17320,$17321,$17322,$17323,$17324,$17325,$17326,$17327,$17328,$17329,$17330,$17331,$17332),(nextval($17333),$17334,$17335,$17336,$17337,$17338,$17339,$17340,$17341,$17342,$17343,$17344,$17345,$17346),(nextval($17347),$17348,$17349,$17350,$17351,$17352,$17353,$17354,$17355,$17356,$17357,$17358,$17359,$17360),(nextval($17361),$17362,$17363,$17364,$17365,$17366,$17367,$17368,$17369,$17370,$17371,$17372,$17373,$17374),(nextval($17375),$17376,$17377,$17378,$17379,$17380,$17381,$17382,$17383,$17384,$17385,$17386,$17387,$17388),(nextval($17389),$17390,$17391,$17392,$17393,$17394,$17395,$17396,$17397,$17398,$17399,$17400,$17401,$17402),(nextval($17403),$17404,$17405,$17406,$17407,$17408,$17409,$17410,$17411,$17412,$17413,$17414,$17415,$17416),(nextval($17417),$17418,$17419,$17420,$17421,$17422,$17423,$17424,$17425,$17426,$17427,$17428,$17429,$17430),(nextval($17431),$17432,$17433,$17434,$17435,$17436,$17437,$17438,$17439,$17440,$17441,$17442,$17443,$17444),(nextval($17445),$17446,$17447,$17448,$17449,$17450,$17451,$17452,$17453,$17454,$17455,$17456,$17457,$17458),(nextval($17459),$17460,$17461,$17462,$17463,$17464,$17465,$17466,$17467,$17468,$17469,$17470,$17471,$17472),(nextval($17473),$17474,$17475,$17476,$17477,$17478,$17479,$17480,$17481,$17482,$17483,$17484,$17485,$17486),(nextval($17487),$17488,$17489,$17490,$17491,$17492,$17493,$17494,$17495,$17496,$17497,$17498,$17499,$17500),(nextval($17501),$17502,$17503,$17504,$17505,$17506,$17507,$17508,$17509,$17510,$17511,$17512,$17513,$17514),(nextval($17515),$17516,$17517,$17518,$17519,$17520,$17521,$17522,$17523,$17524,$17525,$17526,$17527,$17528),(nextval($17529),$17530,$17531,$17532,$17533,$17534,$17535,$17536,$17537,$17538,$17539,$17540,$17541,$17542),(nextval($17543),$17544,$17545,$17546,$17547,$17548,$17549,$17550,$17551,$17552,$17553,$17554,$17555,$17556),(nextval($17557),$17558,$17559,$17560,$17561,$17562,$17563,$17564,$17565,$17566,$17567,$17568,$17569,$17570),(nextval($17571),$17572,$17573,$17574,$17575,$17576,$17577,$17578,$17579,$17580,$17581,$17582,$17583,$17584),(nextval($17585),$17586,$17587,$17588,$17589,$17590,$17591,$17592,$17593,$17594,$17595,$17596,$17597,$17598),(nextval($17599),$17600,$17601,$17602,$17603,$17604,$17605,$17606,$17607,$17608,$17609,$17610,$17611,$17612),(nextval($17613),$17614,$17615,$17616,$17617,$17618,$17619,$17620,$17621,$17622,$17623,$17624,$17625,$17626),(nextval($17627),$17628,$17629,$17630,$17631,$17632,$17633,$17634,$17635,$17636,$17637,$17638,$17639,$17640),(nextval($17641),$17642,$17643,$17644,$17645,$17646,$17647,$17648,$17649,$17650,$17651,$17652,$17653,$17654),(nextval($17655),$17656,$17657,$17658,$17659,$17660,$17661,$17662,$17663,$17664,$17665,$17666,$17667,$17668),(nextval($17669),$17670,$17671,$17672,$17673,$17674,$17675,$17676,$17677,$17678,$17679,$17680,$17681,$17682),(nextval($17683),$17684,$17685,$17686,$17687,$17688,$17689,$17690,$17691,$17692,$17693,$17694,$17695,$17696),(nextval($17697),$17698,$17699,$17700,$17701,$17702,$17703,$17704,$17705,$17706,$17707,$17708,$17709,$17710),(nextval($17711),$17712,$17713,$17714,$17715,$17716,$17717,$17718,$17719,$17720,$17721,$17722,$17723,$17724),(nextval($17725),$17726,$17727,$17728,$17729,$17730,$17731,$17732,$17733,$17734,$17735,$17736,$17737,$17738),(nextval($17739),$17740,$17741,$17742,$17743,$17744,$17745,$17746,$17747,$17748,$17749,$17750,$17751,$17752),(nextval($17753),$17754,$17755,$17756,$17757,$17758,$17759,$17760,$17761,$17762,$17763,$17764,$17765,$17766),(nextval($17767),$17768,$17769,$17770,$17771,$17772,$17773,$17774,$17775,$17776,$17777,$17778,$17779,$17780),(nextval($17781),$17782,$17783,$17784,$17785,$17786,$17787,$17788,$17789,$17790,$17791,$17792,$17793,$17794),(nextval($17795),$17796,$17797,$17798,$17799,$17800,$17801,$17802,$17803,$17804,$17805,$17806,$17807,$17808),(nextval($17809),$17810,$17811,$17812,$17813,$17814,$17815,$17816,$17817,$17818,$17819,$17820,$17821,$17822),(nextval($17823),$17824,$17825,$17826,$17827,$17828,$17829,$17830,$17831,$17832,$17833,$17834,$17835,$17836),(nextval($17837),$17838,$17839,$17840,$17841,$17842,$17843,$17844,$17845,$17846,$17847,$17848,$17849,$17850),(nextval($17851),$17852,$17853,$17854,$17855,$17856,$17857,$17858,$17859,$17860,$17861,$17862,$17863,$17864),(nextval($17865),$17866,$17867,$17868,$17869,$17870,$17871,$17872,$17873,$17874,$17875,$17876,$17877,$17878),(nextval($17879),$17880,$17881,$17882,$17883,$17884,$17885,$17886,$17887,$17888,$17889,$17890,$17891,$17892),(nextval($17893),$17894,$17895,$17896,$17897,$17898,$17899,$17900,$17901,$17902,$17903,$17904,$17905,$17906),(nextval($17907),$17908,$17909,$17910,$17911,$17912,$17913,$17914,$17915,$17916,$17917,$17918,$17919,$17920),(nextval($17921),$17922,$17923,$17924,$17925,$17926,$17927,$17928,$17929,$17930,$17931,$17932,$17933,$17934),(nextval($17935),$17936,$17937,$17938,$17939,$17940,$17941,$17942,$17943,$17944,$17945,$17946,$17947,$17948),(nextval($17949),$17950,$17951,$17952,$17953,$17954,$17955,$17956,$17957,$17958,$17959,$17960,$17961,$17962),(nextval($17963),$17964,$17965,$17966,$17967,$17968,$17969,$17970,$17971,$17972,$17973,$17974,$17975,$17976),(nextval($17977),$17978,$17979,$17980,$17981,$17982,$17983,$17984,$17985,$17986,$17987,$17988,$17989,$17990),(nextval($17991),$17992,$17993,$17994,$17995,$17996,$17997,$17998,$17999,$18000,$18001,$18002,$18003,$18004),(nextval($18005),$18006,$18007,$18008,$18009,$18010,$18011,$18012,$18013,$18014,$18015,$18016,$18017,$18018),(nextval($18019),$18020,$18021,$18022,$18023,$18024,$18025,$18026,$18027,$18028,$18029,$18030,$18031,$18032),(nextval($18033),$18034,$18035,$18036,$18037,$18038,$18039,$18040,$18041,$18042,$18043,$18044,$18045,$18046),(nextval($18047),$18048,$18049,$18050,$18051,$18052,$18053,$18054,$18055,$18056,$18057,$18058,$18059,$18060),(nextval($18061),$18062,$18063,$18064,$18065,$18066,$18067,$18068,$18069,$18070,$18071,$18072,$18073,$18074),(nextval($18075),$18076,$18077,$18078,$18079,$18080,$18081,$18082,$18083,$18084,$18085,$18086,$18087,$18088),(nextval($18089),$18090,$18091,$18092,$18093,$18094,$18095,$18096,$18097,$18098,$18099,$18100,$18101,$18102),(nextval($18103),$18104,$18105,$18106,$18107,$18108,$18109,$18110,$18111,$18112,$18113,$18114,$18115,$18116),(nextval($18117),$18118,$18119,$18120,$18121,$18122,$18123,$18124,$18125,$18126,$18127,$18128,$18129,$18130),(nextval($18131),$18132,$18133,$18134,$18135,$18136,$18137,$18138,$18139,$18140,$18141,$18142,$18143,$18144),(nextval($18145),$18146,$18147,$18148,$18149,$18150,$18151,$18152,$18153,$18154,$18155,$18156,$18157,$18158),(nextval($18159),$18160,$18161,$18162,$18163,$18164,$18165,$18166,$18167,$18168,$18169,$18170,$18171,$18172),(nextval($18173),$18174,$18175,$18176,$18177,$18178,$18179,$18180,$18181,$18182,$18183,$18184,$18185,$18186),(nextval($18187),$18188,$18189,$18190,$18191,$18192,$18193,$18194,$18195,$18196,$18197,$18198,$18199,$18200),(nextval($18201),$18202,$18203,$18204,$18205,$18206,$18207,$18208,$18209,$18210,$18211,$18212,$18213,$18214),(nextval($18215),$18216,$18217,$18218,$18219,$18220,$18221,$18222,$18223,$18224,$18225,$18226,$18227,$18228),(nextval($18229),$18230,$18231,$18232,$18233,$18234,$18235,$18236,$18237,$18238,$18239,$18240,$18241,$18242),(nextval($18243),$18244,$18245,$18246,$18247,$18248,$18249,$18250,$18251,$18252,$18253,$18254,$18255,$18256),(nextval($18257),$18258,$18259,$18260,$18261,$18262,$18263,$18264,$18265,$18266,$18267,$18268,$18269,$18270),(nextval($18271),$18272,$18273,$18274,$18275,$18276,$18277,$18278,$18279,$18280,$18281,$18282,$18283,$18284),(nextval($18285),$18286,$18287,$18288,$18289,$18290,$18291,$18292,$18293,$18294,$18295,$18296,$18297,$18298),(nextval($18299),$18300,$18301,$18302,$18303,$18304,$18305,$18306,$18307,$18308,$18309,$18310,$18311,$18312),(nextval($18313),$18314,$18315,$18316,$18317,$18318,$18319,$18320,$18321,$18322,$18323,$18324,$18325,$18326),(nextval($18327),$18328,$18329,$18330,$18331,$18332,$18333,$18334,$18335,$18336,$18337,$18338,$18339,$18340),(nextval($18341),$18342,$18343,$18344,$18345,$18346,$18347,$18348,$18349,$18350,$18351,$18352,$18353,$18354),(nextval($18355),$18356,$18357,$18358,$18359,$18360,$18361,$18362,$18363,$18364,$18365,$18366,$18367,$18368),(nextval($18369),$18370,$18371,$18372,$18373,$18374,$18375,$18376,$18377,$18378,$18379,$18380,$18381,$18382),(nextval($18383),$18384,$18385,$18386,$18387,$18388,$18389,$18390,$18391,$18392,$18393,$18394,$18395,$18396),(nextval($18397),$18398,$18399,$18400,$18401,$18402,$18403,$18404,$18405,$18406,$18407,$18408,$18409,$18410),(nextval($18411),$18412,$18413,$18414,$18415,$18416,$18417,$18418,$18419,$18420,$18421,$18422,$18423,$18424),(nextval($18425),$18426,$18427,$18428,$18429,$18430,$18431,$18432,$18433,$18434,$18435,$18436,$18437,$18438),(nextval($18439),$18440,$18441,$18442,$18443,$18444,$18445,$18446,$18447,$18448,$18449,$18450,$18451,$18452),(nextval($18453),$18454,$18455,$18456,$18457,$18458,$18459,$18460,$18461,$18462,$18463,$18464,$18465,$18466),(nextval($18467),$18468,$18469,$18470,$18471,$18472,$18473,$18474,$18475,$18476,$18477,$18478,$18479,$18480),(nextval($18481),$18482,$18483,$18484,$18485,$18486,$18487,$18488,$18489,$18490,$18491,$18492,$18493,$18494),(nextval($18495),$18496,$18497,$18498,$18499,$18500,$18501,$18502,$18503,$18504,$18505,$18506,$18507,$18508),(nextval($18509),$18510,$18511,$18512,$18513,$18514,$18515,$18516,$18517,$18518,$18519,$18520,$18521,$18522),(nextval($18523),$18524,$18525,$18526,$18527,$18528,$18529,$18530,$18531,$18532,$18533,$18534,$18535,$18536),(nextval($18537),$18538,$18539,$18540,$18541,$18542,$18543,$18544,$18545,$18546,$18547,$18548,$18549,$18550),(nextval($18551),$18552,$18553,$18554,$18555,$18556,$18557,$18558,$18559,$18560,$18561,$18562,$18563,$18564),(nextval($18565),$18566,$18567,$18568,$18569,$18570,$18571,$18572,$18573,$18574,$18575,$18576,$18577,$18578),(nextval($18579),$18580,$18581,$18582,$18583,$18584,$18585,$18586,$18587,$18588,$18589,$18590,$18591,$18592),(nextval($18593),$18594,$18595,$18596,$18597,$18598,$18599,$18600,$18601,$18602,$18603,$18604,$18605,$18606),(nextval($18607),$18608,$18609,$18610,$18611,$18612,$18613,$18614,$18615,$18616,$18617,$18618,$18619,$18620),(nextval($18621),$18622,$18623,$18624,$18625,$18626,$18627,$18628,$18629,$18630,$18631,$18632,$18633,$18634),(nextval($18635),$18636,$18637,$18638,$18639,$18640,$18641,$18642,$18643,$18644,$18645,$18646,$18647,$18648),(nextval($18649),$18650,$18651,$18652,$18653,$18654,$18655,$18656,$18657,$18658,$18659,$18660,$18661,$18662),(nextval($18663),$18664,$18665,$18666,$18667,$18668,$18669,$18670,$18671,$18672,$18673,$18674,$18675,$18676),(nextval($18677),$18678,$18679,$18680,$18681,$18682,$18683,$18684,$18685,$18686,$18687,$18688,$18689,$18690),(nextval($18691),$18692,$18693,$18694,$18695,$18696,$18697,$18698,$18699,$18700,$18701,$18702,$18703,$18704),(nextval($18705),$18706,$18707,$18708,$18709,$18710,$18711,$18712,$18713,$18714,$18715,$18716,$18717,$18718),(nextval($18719),$18720,$18721,$18722,$18723,$18724,$18725,$18726,$18727,$18728,$18729,$18730,$18731,$18732),(nextval($18733),$18734,$18735,$18736,$18737,$18738,$18739,$18740,$18741,$18742,$18743,$18744,$18745,$18746),(nextval($18747),$18748,$18749,$18750,$18751,$18752,$18753,$18754,$18755,$18756,$18757,$18758,$18759,$18760),(nextval($18761),$18762,$18763,$18764,$18765,$18766,$18767,$18768,$18769,$18770,$18771,$18772,$18773,$18774),(nextval($18775),$18776,$18777,$18778,$18779,$18780,$18781,$18782,$18783,$18784,$18785,$18786,$18787,$18788),(nextval($18789),$18790,$18791,$18792,$18793,$18794,$18795,$18796,$18797,$18798,$18799,$18800,$18801,$18802),(nextval($18803),$18804,$18805,$18806,$18807,$18808,$18809,$18810,$18811,$18812,$18813,$18814,$18815,$18816),(nextval($18817),$18818,$18819,$18820,$18821,$18822,$18823,$18824,$18825,$18826,$18827,$18828,$18829,$18830),(nextval($18831),$18832,$18833,$18834,$18835,$18836,$18837,$18838,$18839,$18840,$18841,$18842,$18843,$18844),(nextval($18845),$18846,$18847,$18848,$18849,$18850,$18851,$18852,$18853,$18854,$18855,$18856,$18857,$18858),(nextval($18859),$18860,$18861,$18862,$18863,$18864,$18865,$18866,$18867,$18868,$18869,$18870,$18871,$18872),(nextval($18873),$18874,$18875,$18876,$18877,$18878,$18879,$18880,$18881,$18882,$18883,$18884,$18885,$18886),(nextval($18887),$18888,$18889,$18890,$18891,$18892,$18893,$18894,$18895,$18896,$18897,$18898,$18899,$18900),(nextval($18901),$18902,$18903,$18904,$18905,$18906,$18907,$18908,$18909,$18910,$18911,$18912,$18913,$18914),(nextval($18915),$18916,$18917,$18918,$18919,$18920,$18921,$18922,$18923,$18924,$18925,$18926,$18927,$18928),(nextval($18929),$18930,$18931,$18932,$18933,$18934,$18935,$18936,$18937,$18938,$18939,$18940,$18941,$18942),(nextval($18943),$18944,$18945,$18946,$18947,$18948,$18949,$18950,$18951,$18952,$18953,$18954,$18955,$18956),(nextval($18957),$18958,$18959,$18960,$18961,$18962,$18963,$18964,$18965,$18966,$18967,$18968,$18969,$18970),(nextval($18971),$18972,$18973,$18974,$18975,$18976,$18977,$18978,$18979,$18980,$18981,$18982,$18983,$18984),(nextval($18985),$18986,$18987,$18988,$18989,$18990,$18991,$18992,$18993,$18994,$18995,$18996,$18997,$18998),(nextval($18999),$19000,$19001,$19002,$19003,$19004,$19005,$19006,$19007,$19008,$19009,$19010,$19011,$19012),(nextval($19013),$19014,$19015,$19016,$19017,$19018,$19019,$19020,$19021,$19022,$19023,$19024,$19025,$19026),(nextval($19027),$19028,$19029,$19030,$19031,$19032,$19033,$19034,$19035,$19036,$19037,$19038,$19039,$19040),(nextval($19041),$19042,$19043,$19044,$19045,$19046,$19047,$19048,$19049,$19050,$19051,$19052,$19053,$19054),(nextval($19055),$19056,$19057,$19058,$19059,$19060,$19061,$19062,$19063,$19064,$19065,$19066,$19067,$19068),(nextval($19069),$19070,$19071,$19072,$19073,$19074,$19075,$19076,$19077,$19078,$19079,$19080,$19081,$19082),(nextval($19083),$19084,$19085,$19086,$19087,$19088,$19089,$19090,$19091,$19092,$19093,$19094,$19095,$19096),(nextval($19097),$19098,$19099,$19100,$19101,$19102,$19103,$19104,$19105,$19106,$19107,$19108,$19109,$19110),(nextval($19111),$19112,$19113,$19114,$19115,$19116,$19117,$19118,$19119,$19120,$19121,$19122,$19123,$19124),(nextval($19125),$19126,$19127,$19128,$19129,$19130,$19131,$19132,$19133,$19134,$19135,$19136,$19137,$19138),(nextval($19139),$19140,$19141,$19142,$19143,$19144,$19145,$19146,$19147,$19148,$19149,$19150,$19151,$19152),(nextval($19153),$19154,$19155,$19156,$19157,$19158,$19159,$19160,$19161,$19162,$19163,$19164,$19165,$19166),(nextval($19167),$19168,$19169,$19170,$19171,$19172,$19173,$19174,$19175,$19176,$19177,$19178,$19179,$19180),(nextval($19181),$19182,$19183,$19184,$19185,$19186,$19187,$19188,$19189,$19190,$19191,$19192,$19193,$19194),(nextval($19195),$19196,$19197,$19198,$19199,$19200,$19201,$19202,$19203,$19204,$19205,$19206,$19207,$19208),(nextval($19209),$19210,$19211,$19212,$19213,$19214,$19215,$19216,$19217,$19218,$19219,$19220,$19221,$19222),(nextval($19223),$19224,$19225,$19226,$19227,$19228,$19229,$19230,$19231,$19232,$19233,$19234,$19235,$19236),(nextval($19237),$19238,$19239,$19240,$19241,$19242,$19243,$19244,$19245,$19246,$19247,$19248,$19249,$19250),(nextval($19251),$19252,$19253,$19254,$19255,$19256,$19257,$19258,$19259,$19260,$19261,$19262,$19263,$19264),(nextval($19265),$19266,$19267,$19268,$19269,$19270,$19271,$19272,$19273,$19274,$19275,$19276,$19277,$19278),(nextval($19279),$19280,$19281,$19282,$19283,$19284,$19285,$19286,$19287,$19288,$19289,$19290,$19291,$19292),(nextval($19293),$19294,$19295,$19296,$19297,$19298,$19299,$19300,$19301,$19302,$19303,$19304,$19305,$19306),(nextval($19307),$19308,$19309,$19310,$19311,$19312,$19313,$19314,$19315,$19316,$19317,$19318,$19319,$19320),(nextval($19321),$19322,$19323,$19324,$19325,$19326,$19327,$19328,$19329,$19330,$19331,$19332,$19333,$19334),(nextval($19335),$19336,$19337,$19338,$19339,$19340,$19341,$19342,$19343,$19344,$19345,$19346,$19347,$19348),(nextval($19349),$19350,$19351,$19352,$19353,$19354,$19355,$19356,$19357,$19358,$19359,$19360,$19361,$19362),(nextval($19363),$19364,$19365,$19366,$19367,$19368,$19369,$19370,$19371,$19372,$19373,$19374,$19375,$19376),(nextval($19377),$19378,$19379,$19380,$19381,$19382,$19383,$19384,$19385,$19386,$19387,$19388,$19389,$19390),(nextval($19391),$19392,$19393,$19394,$19395,$19396,$19397,$19398,$19399,$19400,$19401,$19402,$19403,$19404),(nextval($19405),$19406,$19407,$19408,$19409,$19410,$19411,$19412,$19413,$19414,$19415,$19416,$19417,$19418),(nextval($19419),$19420,$19421,$19422,$19423,$19424,$19425,$19426,$19427,$19428,$19429,$19430,$19431,$19432),(nextval($19433),$19434,$19435,$19436,$19437,$19438,$19439,$19440,$19441,$19442,$19443,$19444,$19445,$19446),(nextval($19447),$19448,$19449,$19450,$19451,$19452,$19453,$19454,$19455,$19456,$19457,$19458,$19459,$19460),(nextval($19461),$19462,$19463,$19464,$19465,$19466,$19467,$19468,$19469,$19470,$19471,$19472,$19473,$19474),(nextval($19475),$19476,$19477,$19478,$19479,$19480,$19481,$19482,$19483,$19484,$19485,$19486,$19487,$19488),(nextval($19489),$19490,$19491,$19492,$19493,$19494,$19495,$19496,$19497,$19498,$19499,$19500,$19501,$19502),(nextval($19503),$19504,$19505,$19506,$19507,$19508,$19509,$19510,$19511,$19512,$19513,$19514,$19515,$19516),(nextval($19517),$19518,$19519,$19520,$19521,$19522,$19523,$19524,$19525,$19526,$19527,$19528,$19529,$19530),(nextval($19531),$19532,$19533,$19534,$19535,$19536,$19537,$19538,$19539,$19540,$19541,$19542,$19543,$19544),(nextval($19545),$19546,$19547,$19548,$19549,$19550,$19551,$19552,$19553,$19554,$19555,$19556,$19557,$19558),(nextval($19559),$19560,$19561,$19562,$19563,$19564,$19565,$19566,$19567,$19568,$19569,$19570,$19571,$19572),(nextval($19573),$19574,$19575,$19576,$19577,$19578,$19579,$19580,$19581,$19582,$19583,$19584,$19585,$19586),(nextval($19587),$19588,$19589,$19590,$19591,$19592,$19593,$19594,$19595,$19596,$19597,$19598,$19599,$19600),(nextval($19601),$19602,$19603,$19604,$19605,$19606,$19607,$19608,$19609,$19610,$19611,$19612,$19613,$19614),(nextval($19615),$19616,$19617,$19618,$19619,$19620,$19621,$19622,$19623,$19624,$19625,$19626,$19627,$19628),(nextval($19629),$19630,$19631,$19632,$19633,$19634,$19635,$19636,$19637,$19638,$19639,$19640,$19641,$19642),(nextval($19643),$19644,$19645,$19646,$19647,$19648,$19649,$19650,$19651,$19652,$19653,$19654,$19655,$19656),(nextval($19657),$19658,$19659,$19660,$19661,$19662,$19663,$19664,$19665,$19666,$19667,$19668,$19669,$19670),(nextval($19671),$19672,$19673,$19674,$19675,$19676,$19677,$19678,$19679,$19680,$19681,$19682,$19683,$19684),(nextval($19685),$19686,$19687,$19688,$19689,$19690,$19691,$19692,$19693,$19694,$19695,$19696,$19697,$19698),(nextval($19699),$19700,$19701,$19702,$19703,$19704,$19705,$19706,$19707,$19708,$19709,$19710,$19711,$19712),(nextval($19713),$19714,$19715,$19716,$19717,$19718,$19719,$19720,$19721,$19722,$19723,$19724,$19725,$19726),(nextval($19727),$19728,$19729,$19730,$19731,$19732,$19733,$19734,$19735,$19736,$19737,$19738,$19739,$19740),(nextval($19741),$19742,$19743,$19744,$19745,$19746,$19747,$19748,$19749,$19750,$19751,$19752,$19753,$19754),(nextval($19755),$19756,$19757,$19758,$19759,$19760,$19761,$19762,$19763,$19764,$19765,$19766,$19767,$19768),(nextval($19769),$19770,$19771,$19772,$19773,$19774,$19775,$19776,$19777,$19778,$19779,$19780,$19781,$19782),(nextval($19783),$19784,$19785,$19786,$19787,$19788,$19789,$19790,$19791,$19792,$19793,$19794,$19795,$19796),(nextval($19797),$19798,$19799,$19800,$19801,$19802,$19803,$19804,$19805,$19806,$19807,$19808,$19809,$19810),(nextval($19811),$19812,$19813,$19814,$19815,$19816,$19817,$19818,$19819,$19820,$19821,$19822,$19823,$19824),(nextval($19825),$19826,$19827,$19828,$19829,$19830,$19831,$19832,$19833,$19834,$19835,$19836,$19837,$19838),(nextval($19839),$19840,$19841,$19842,$19843,$19844,$19845,$19846,$19847,$19848,$19849,$19850,$19851,$19852),(nextval($19853),$19854,$19855,$19856,$19857,$19858,$19859,$19860,$19861,$19862,$19863,$19864,$19865,$19866),(nextval($19867),$19868,$19869,$19870,$19871,$19872,$19873,$19874,$19875,$19876,$19877,$19878,$19879,$19880),(nextval($19881),$19882,$19883,$19884,$19885,$19886,$19887,$19888,$19889,$19890,$19891,$19892,$19893,$19894),(nextval($19895),$19896,$19897,$19898,$19899,$19900,$19901,$19902,$19903,$19904,$19905,$19906,$19907,$19908),(nextval($19909),$19910,$19911,$19912,$19913,$19914,$19915,$19916,$19917,$19918,$19919,$19920,$19921,$19922),(nextval($19923),$19924,$19925,$19926,$19927,$19928,$19929,$19930,$19931,$19932,$19933,$19934,$19935,$19936),(nextval($19937),$19938,$19939,$19940,$19941,$19942,$19943,$19944,$19945,$19946,$19947,$19948,$19949,$19950),(nextval($19951),$19952,$19953,$19954,$19955,$19956,$19957,$19958,$19959,$19960,$19961,$19962,$19963,$19964),(nextval($19965),$19966,$19967,$19968,$19969,$19970,$19971,$19972,$19973,$19974,$19975,$19976,$19977,$19978),(nextval($19979),$19980,$19981,$19982,$19983,$19984,$19985,$19986,$19987,$19988,$19989,$19990,$19991,$19992),(nextval($19993),$19994,$19995,$19996,$19997,$19998,$19999,$20000,$20001,$20002,$20003,$20004,$20005,$20006),(nextval($20007),$20008,$20009,$20010,$20011,$20012,$20013,$20014,$20015,$20016,$20017,$20018,$20019,$20020),(nextval($20021),$20022,$20023,$20024,$20025,$20026,$20027,$20028,$20029,$20030,$20031,$20032,$20033,$20034),(nextval($20035),$20036,$20037,$20038,$20039,$20040,$20041,$20042,$20043,$20044,$20045,$20046,$20047,$20048),(nextval($20049),$20050,$20051,$20052,$20053,$20054,$20055,$20056,$20057,$20058,$20059,$20060,$20061,$20062),(nextval($20063),$20064,$20065,$20066,$20067,$20068,$20069,$20070,$20071,$20072,$20073,$20074,$20075,$20076),(nextval($20077),$20078,$20079,$20080,$20081,$20082,$20083,$20084,$20085,$20086,$20087,$20088,$20089,$20090),(nextval($20091),$20092,$20093,$20094,$20095,$20096,$20097,$20098,$20099,$20100,$20101,$20102,$20103,$20104),(nextval($20105),$20106,$20107,$20108,$20109,$20110,$20111,$20112,$20113,$20114,$20115,$20116,$20117,$20118),(nextval($20119),$20120,$20121,$20122,$20123,$20124,$20125,$20126,$20127,$20128,$20129,$20130,$20131,$20132),(nextval($20133),$20134,$20135,$20136,$20137,$20138,$20139,$20140,$20141,$20142,$20143,$20144,$20145,$20146),(nextval($20147),$20148,$20149,$20150,$20151,$20152,$20153,$20154,$20155,$20156,$20157,$20158,$20159,$20160),(nextval($20161),$20162,$20163,$20164,$20165,$20166,$20167,$20168,$20169,$20170,$20171,$20172,$20173,$20174),(nextval($20175),$20176,$20177,$20178,$20179,$20180,$20181,$20182,$20183,$20184,$20185,$20186,$20187,$20188),(nextval($20189),$20190,$20191,$20192,$20193,$20194,$20195,$20196,$20197,$20198,$20199,$20200,$20201,$20202),(nextval($20203),$20204,$20205,$20206,$20207,$20208,$20209,$20210,$20211,$20212,$20213,$20214,$20215,$20216),(nextval($20217),$20218,$20219,$20220,$20221,$20222,$20223,$20224,$20225,$20226,$20227,$20228,$20229,$20230),(nextval($20231),$20232,$20233,$20234,$20235,$20236,$20237,$20238,$20239,$20240,$20241,$20242,$20243,$20244),(nextval($20245),$20246,$20247,$20248,$20249,$20250,$20251,$20252,$20253,$20254,$20255,$20256,$20257,$20258),(nextval($20259),$20260,$20261,$20262,$20263,$20264,$20265,$20266,$20267,$20268,$20269,$20270,$20271,$20272),(nextval($20273),$20274,$20275,$20276,$20277,$20278,$20279,$20280,$20281,$20282,$20283,$20284,$20285,$20286),(nextval($20287),$20288,$20289,$20290,$20291,$20292,$20293,$20294,$20295,$20296,$20297,$20298,$20299,$20300),(nextval($20301),$20302,$20303,$20304,$20305,$20306,$20307,$20308,$20309,$20310,$20311,$20312,$20313,$20314),(nextval($20315),$20316,$20317,$20318,$20319,$20320,$20321,$20322,$20323,$20324,$20325,$20326,$20327,$20328),(nextval($20329),$20330,$20331,$20332,$20333,$20334,$20335,$20336,$20337,$20338,$20339,$20340,$20341,$20342),(nextval($20343),$20344,$20345,$20346,$20347,$20348,$20349,$20350,$20351,$20352,$20353,$20354,$20355,$20356),(nextval($20357),$20358,$20359,$20360,$20361,$20362,$20363,$20364,$20365,$20366,$20367,$20368,$20369,$20370),(nextval($20371),$20372,$20373,$20374,$20375,$20376,$20377,$20378,$20379,$20380,$20381,$20382,$20383,$20384),(nextval($20385),$20386,$20387,$20388,$20389,$20390,$20391,$20392,$20393,$20394,$20395,$20396,$20397,$20398),(nextval($20399),$20400,$20401,$20402,$20403,$20404,$20405,$20406,$20407,$20408,$20409,$20410,$20411,$20412),(nextval($20413),$20414,$20415,$20416,$20417,$20418,$20419,$20420,$20421,$20422,$20423,$20424,$20425,$20426),(nextval($20427),$20428,$20429,$20430,$20431,$20432,$20433,$20434,$20435,$20436,$20437,$20438,$20439,$20440),(nextval($20441),$20442,$20443,$20444,$20445,$20446,$20447,$20448,$20449,$20450,$20451,$20452,$20453,$20454),(nextval($20455),$20456,$20457,$20458,$20459,$20460,$20461,$20462,$20463,$20464,$20465,$20466,$20467,$20468),(nextval($20469),$20470,$20471,$20472,$20473,$20474,$20475,$20476,$20477,$20478,$20479,$20480,$20481,$20482),(nextval($20483),$20484,$20485,$20486,$20487,$20488,$20489,$20490,$20491,$20492,$20493,$20494,$20495,$20496),(nextval($20497),$20498,$20499,$20500,$20501,$20502,$20503,$20504,$20505,$20506,$20507,$20508,$20509,$20510),(nextval($20511),$20512,$20513,$20514,$20515,$20516,$20517,$20518,$20519,$20520,$20521,$20522,$20523,$20524),(nextval($20525),$20526,$20527,$20528,$20529,$20530,$20531,$20532,$20533,$20534,$20535,$20536,$20537,$20538),(nextval($20539),$20540,$20541,$20542,$20543,$20544,$20545,$20546,$20547,$20548,$20549,$20550,$20551,$20552),(nextval($20553),$20554,$20555,$20556,$20557,$20558,$20559,$20560,$20561,$20562,$20563,$20564,$20565,$20566),(nextval($20567),$20568,$20569,$20570,$20571,$20572,$20573,$20574,$20575,$20576,$20577,$20578,$20579,$20580),(nextval($20581),$20582,$20583,$20584,$20585,$20586,$20587,$20588,$20589,$20590,$20591,$20592,$20593,$20594),(nextval($20595),$20596,$20597,$20598,$20599,$20600,$20601,$20602,$20603,$20604,$20605,$20606,$20607,$20608),(nextval($20609),$20610,$20611,$20612,$20613,$20614,$20615,$20616,$20617,$20618,$20619,$20620,$20621,$20622),(nextval($20623),$20624,$20625,$20626,$20627,$20628,$20629,$20630,$20631,$20632,$20633,$20634,$20635,$20636),(nextval($20637),$20638,$20639,$20640,$20641,$20642,$20643,$20644,$20645,$20646,$20647,$20648,$20649,$20650),(nextval($20651),$20652,$20653,$20654,$20655,$20656,$20657,$20658,$20659,$20660,$20661,$20662,$20663,$20664),(nextval($20665),$20666,$20667,$20668,$20669,$20670,$20671,$20672,$20673,$20674,$20675,$20676,$20677,$20678),(nextval($20679),$20680,$20681,$20682,$20683,$20684,$20685,$20686,$20687,$20688,$20689,$20690,$20691,$20692),(nextval($20693),$20694,$20695,$20696,$20697,$20698,$20699,$20700,$20701,$20702,$20703,$20704,$20705,$20706),(nextval($20707),$20708,$20709,$20710,$20711,$20712,$20713,$20714,$20715,$20716,$20717,$20718,$20719,$20720),(nextval($20721),$20722,$20723,$20724,$20725,$20726,$20727,$20728,$20729,$20730,$20731,$20732,$20733,$20734),(nextval($20735),$20736,$20737,$20738,$20739,$20740,$20741,$20742,$20743,$20744,$20745,$20746,$20747,$20748),(nextval($20749),$20750,$20751,$20752,$20753,$20754,$20755,$20756,$20757,$20758,$20759,$20760,$20761,$20762),(nextval($20763),$20764,$20765,$20766,$20767,$20768,$20769,$20770,$20771,$20772,$20773,$20774,$20775,$20776),(nextval($20777),$20778,$20779,$20780,$20781,$20782,$20783,$20784,$20785,$20786,$20787,$20788,$20789,$20790),(nextval($20791),$20792,$20793,$20794,$20795,$20796,$20797,$20798,$20799,$20800,$20801,$20802,$20803,$20804),(nextval($20805),$20806,$20807,$20808,$20809,$20810,$20811,$20812,$20813,$20814,$20815,$20816,$20817,$20818),(nextval($20819),$20820,$20821,$20822,$20823,$20824,$20825,$20826,$20827,$20828,$20829,$20830,$20831,$20832),(nextval($20833),$20834,$20835,$20836,$20837,$20838,$20839,$20840,$20841,$20842,$20843,$20844,$20845,$20846),(nextval($20847),$20848,$20849,$20850,$20851,$20852,$20853,$20854,$20855,$20856,$20857,$20858,$20859,$20860),(nextval($20861),$20862,$20863,$20864,$20865,$20866,$20867,$20868,$20869,$20870,$20871,$20872,$20873,$20874),(nextval($20875),$20876,$20877,$20878,$20879,$20880,$20881,$20882,$20883,$20884,$20885,$20886,$20887,$20888),(nextval($20889),$20890,$20891,$20892,$20893,$20894,$20895,$20896,$20897,$20898,$20899,$20900,$20901,$20902),(nextval($20903),$20904,$20905,$20906,$20907,$20908,$20909,$20910,$20911,$20912,$20913,$20914,$20915,$20916),(nextval($20917),$20918,$20919,$20920,$20921,$20922,$20923,$20924,$20925,$20926,$20927,$20928,$20929,$20930),(nextval($20931),$20932,$20933,$20934,$20935,$20936,$20937,$20938,$20939,$20940,$20941,$20942,$20943,$20944),(nextval($20945),$20946,$20947,$20948,$20949,$20950,$20951,$20952,$20953,$20954,$20955,$20956,$20957,$20958),(nextval($20959),$20960,$20961,$20962,$20963,$20964,$20965,$20966,$20967,$20968,$20969,$20970,$20971,$20972),(nextval($20973),$20974,$20975,$20976,$20977,$20978,$20979,$20980,$20981,$20982,$20983,$20984,$20985,$20986),(nextval($20987),$20988,$20989,$20990,$20991,$20992,$20993,$20994,$20995,$20996,$20997,$20998,$20999,$21000),(nextval($21001),$21002,$21003,$21004,$21005,$21006,$21007,$21008,$21009,$21010,$21011,$21012,$21013,$21014),(nextval($21015),$21016,$21017,$21018,$21019,$21020,$21021,$21022,$21023,$21024,$21025,$21026,$21027,$21028),(nextval($21029),$21030,$21031,$21032,$21033,$21034,$21035,$21036,$21037,$21038,$21039,$21040,$21041,$21042),(nextval($21043),$21044,$21045,$21046,$21047,$21048,$21049,$21050,$21051,$21052,$21053,$21054,$21055,$21056),(nextval($21057),$21058,$21059,$21060,$21061,$21062,$21063,$21064,$21065,$21066,$21067,$21068,$21069,$21070),(nextval($21071),$21072,$21073,$21074,$21075,$21076,$21077,$21078,$21079,$21080,$21081,$21082,$21083,$21084),(nextval($21085),$21086,$21087,$21088,$21089,$21090,$21091,$21092,$21093,$21094,$21095,$21096,$21097,$21098),(nextval($21099),$21100,$21101,$21102,$21103,$21104,$21105,$21106,$21107,$21108,$21109,$21110,$21111,$21112),(nextval($21113),$21114,$21115,$21116,$21117,$21118,$21119,$21120,$21121,$21122,$21123,$21124,$21125,$21126),(nextval($21127),$21128,$21129,$21130,$21131,$21132,$21133,$21134,$21135,$21136,$21137,$21138,$21139,$21140),(nextval($21141),$21142,$21143,$21144,$21145,$21146,$21147,$21148,$21149,$21150,$21151,$21152,$21153,$21154),(nextval($21155),$21156,$21157,$21158,$21159,$21160,$21161,$21162,$21163,$21164,$21165,$21166,$21167,$21168),(nextval($21169),$21170,$21171,$21172,$21173,$21174,$21175,$21176,$21177,$21178,$21179,$21180,$21181,$21182),(nextval($21183),$21184,$21185,$21186,$21187,$21188,$21189,$21190,$21191,$21192,$21193,$21194,$21195,$21196),(nextval($21197),$21198,$21199,$21200,$21201,$21202,$21203,$21204,$21205,$21206,$21207,$21208,$21209,$21210),(nextval($21211),$21212,$21213,$21214,$21215,$21216,$21217,$21218,$21219,$21220,$21221,$21222,$21223,$21224),(nextval($21225),$21226,$21227,$21228,$21229,$21230,$21231,$21232,$21233,$21234,$21235,$21236,$21237,$21238),(nextval($21239),$21240,$21241,$21242,$21243,$21244,$21245,$21246,$21247,$21248,$21249,$21250,$21251,$21252),(nextval($21253),$21254,$21255,$21256,$21257,$21258,$21259,$21260,$21261,$21262,$21263,$21264,$21265,$21266),(nextval($21267),$21268,$21269,$21270,$21271,$21272,$21273,$21274,$21275,$21276,$21277,$21278,$21279,$21280),(nextval($21281),$21282,$21283,$21284,$21285,$21286,$21287,$21288,$21289,$21290,$21291,$21292,$21293,$21294),(nextval($21295),$21296,$21297,$21298,$21299,$21300,$21301,$21302,$21303,$21304,$21305,$21306,$21307,$21308),(nextval($21309),$21310,$21311,$21312,$21313,$21314,$21315,$21316,$21317,$21318,$21319,$21320,$21321,$21322),(nextval($21323),$21324,$21325,$21326,$21327,$21328,$21329,$21330,$21331,$21332,$21333,$21334,$21335,$21336),(nextval($21337),$21338,$21339,$21340,$21341,$21342,$21343,$21344,$21345,$21346,$21347,$21348,$21349,$21350),(nextval($21351),$21352,$21353,$21354,$21355,$21356,$21357,$21358,$21359,$21360,$21361,$21362,$21363,$21364),(nextval($21365),$21366,$21367,$21368,$21369,$21370,$21371,$21372,$21373,$21374,$21375,$21376,$21377,$21378),(nextval($21379),$21380,$21381,$21382,$21383,$21384,$21385,$21386,$21387,$21388,$21389,$21390,$21391,$21392),(nextval($21393),$21394,$21395,$21396,$21397,$21398,$21399,$21400,$21401,$21402,$21403,$21404,$21405,$21406),(nextval($21407),$21408,$21409,$21410,$21411,$21412,$21413,$21414,$21415,$21416,$21417,$21418,$21419,$21420),(nextval($21421),$21422,$21423,$21424,$21425,$21426,$21427,$21428,$21429,$21430,$21431,$21432,$21433,$21434),(nextval($21435),$21436,$21437,$21438,$21439,$21440,$21441,$21442,$21443,$21444,$21445,$21446,$21447,$21448),(nextval($21449),$21450,$21451,$21452,$21453,$21454,$21455,$21456,$21457,$21458,$21459,$21460,$21461,$21462),(nextval($21463),$21464,$21465,$21466,$21467,$21468,$21469,$21470,$21471,$21472,$21473,$21474,$21475,$21476),(nextval($21477),$21478,$21479,$21480,$21481,$21482,$21483,$21484,$21485,$21486,$21487,$21488,$21489,$21490),(nextval($21491),$21492,$21493,$21494,$21495,$21496,$21497,$21498,$21499,$21500,$21501,$21502,$21503,$21504),(nextval($21505),$21506,$21507,$21508,$21509,$21510,$21511,$21512,$21513,$21514,$21515,$21516,$21517,$21518),(nextval($21519),$21520,$21521,$21522,$21523,$21524,$21525,$21526,$21527,$21528,$21529,$21530,$21531,$21532),(nextval($21533),$21534,$21535,$21536,$21537,$21538,$21539,$21540,$21541,$21542,$21543,$21544,$21545,$21546),(nextval($21547),$21548,$21549,$21550,$21551,$21552,$21553,$21554,$21555,$21556,$21557,$21558,$21559,$21560),(nextval($21561),$21562,$21563,$21564,$21565,$21566,$21567,$21568,$21569,$21570,$21571,$21572,$21573,$21574),(nextval($21575),$21576,$21577,$21578,$21579,$21580,$21581,$21582,$21583,$21584,$21585,$21586,$21587,$21588),(nextval($21589),$21590,$21591,$21592,$21593,$21594,$21595,$21596,$21597,$21598,$21599,$21600,$21601,$21602),(nextval($21603),$21604,$21605,$21606,$21607,$21608,$21609,$21610,$21611,$21612,$21613,$21614,$21615,$21616),(nextval($21617),$21618,$21619,$21620,$21621,$21622,$21623,$21624,$21625,$21626,$21627,$21628,$21629,$21630),(nextval($21631),$21632,$21633,$21634,$21635,$21636,$21637,$21638,$21639,$21640,$21641,$21642,$21643,$21644),(nextval($21645),$21646,$21647,$21648,$21649,$21650,$21651,$21652,$21653,$21654,$21655,$21656,$21657,$21658),(nextval($21659),$21660,$21661,$21662,$21663,$21664,$21665,$21666,$21667,$21668,$21669,$21670,$21671,$21672),(nextval($21673),$21674,$21675,$21676,$21677,$21678,$21679,$21680,$21681,$21682,$21683,$21684,$21685,$21686),(nextval($21687),$21688,$21689,$21690,$21691,$21692,$21693,$21694,$21695,$21696,$21697,$21698,$21699,$21700),(nextval($21701),$21702,$21703,$21704,$21705,$21706,$21707,$21708,$21709,$21710,$21711,$21712,$21713,$21714),(nextval($21715),$21716,$21717,$21718,$21719,$21720,$21721,$21722,$21723,$21724,$21725,$21726,$21727,$21728),(nextval($21729),$21730,$21731,$21732,$21733,$21734,$21735,$21736,$21737,$21738,$21739,$21740,$21741,$21742),(nextval($21743),$21744,$21745,$21746,$21747,$21748,$21749,$21750,$21751,$21752,$21753,$21754,$21755,$21756),(nextval($21757),$21758,$21759,$21760,$21761,$21762,$21763,$21764,$21765,$21766,$21767,$21768,$21769,$21770),(nextval($21771),$21772,$21773,$21774,$21775,$21776,$21777,$21778,$21779,$21780,$21781,$21782,$21783,$21784),(nextval($21785),$21786,$21787,$21788,$21789,$21790,$21791,$21792,$21793,$21794,$21795,$21796,$21797,$21798),(nextval($21799),$21800,$21801,$21802,$21803,$21804,$21805,$21806,$21807,$21808,$21809,$21810,$21811,$21812),(nextval($21813),$21814,$21815,$21816,$21817,$21818,$21819,$21820,$21821,$21822,$21823,$21824,$21825,$21826),(nextval($21827),$21828,$21829,$21830,$21831,$21832,$21833,$21834,$21835,$21836,$21837,$21838,$21839,$21840),(nextval($21841),$21842,$21843,$21844,$21845,$21846,$21847,$21848,$21849,$21850,$21851,$21852,$21853,$21854),(nextval($21855),$21856,$21857,$21858,$21859,$21860,$21861,$21862,$21863,$21864,$21865,$21866,$21867,$21868),(nextval($21869),$21870,$21871,$21872,$21873,$21874,$21875,$21876,$21877,$21878,$21879,$21880,$21881,$21882),(nextval($21883),$21884,$21885,$21886,$21887,$21888,$21889,$21890,$21891,$21892,$21893,$21894,$21895,$21896),(nextval($21897),$21898,$21899,$21900,$21901,$21902,$21903,$21904,$21905,$21906,$21907,$21908,$21909,$21910),(nextval($21911),$21912,$21913,$21914,$21915,$21916,$21917,$21918,$21919,$21920,$21921,$21922,$21923,$21924),(nextval($21925),$21926,$21927,$21928,$21929,$21930,$21931,$21932,$21933,$21934,$21935,$21936,$21937,$21938),(nextval($21939),$21940,$21941,$21942,$21943,$21944,$21945,$21946,$21947,$21948,$21949,$21950,$21951,$21952),(nextval($21953),$21954,$21955,$21956,$21957,$21958,$21959,$21960,$21961,$21962,$21963,$21964,$21965,$21966),(nextval($21967),$21968,$21969,$21970,$21971,$21972,$21973,$21974,$21975,$21976,$21977,$21978,$21979,$21980),(nextval($21981),$21982,$21983,$21984,$21985,$21986,$21987,$21988,$21989,$21990,$21991,$21992,$21993,$21994),(nextval($21995),$21996,$21997,$21998,$21999,$22000,$22001,$22002,$22003,$22004,$22005,$22006,$22007,$22008),(nextval($22009),$22010,$22011,$22012,$22013,$22014,$22015,$22016,$22017,$22018,$22019,$22020,$22021,$22022),(nextval($22023),$22024,$22025,$22026,$22027,$22028,$22029,$22030,$22031,$22032,$22033,$22034,$22035,$22036),(nextval($22037),$22038,$22039,$22040,$22041,$22042,$22043,$22044,$22045,$22046,$22047,$22048,$22049,$22050),(nextval($22051),$22052,$22053,$22054,$22055,$22056,$22057,$22058,$22059,$22060,$22061,$22062,$22063,$22064),(nextval($22065),$22066,$22067,$22068,$22069,$22070,$22071,$22072,$22073,$22074,$22075,$22076,$22077,$22078),(nextval($22079),$22080,$22081,$22082,$22083,$22084,$22085,$22086,$22087,$22088,$22089,$22090,$22091,$22092),(nextval($22093),$22094,$22095,$22096,$22097,$22098,$22099,$22100,$22101,$22102,$22103,$22104,$22105,$22106),(nextval($22107),$22108,$22109,$22110,$22111,$22112,$22113,$22114,$22115,$22116,$22117,$22118,$22119,$22120),(nextval($22121),$22122,$22123,$22124,$22125,$22126,$22127,$22128,$22129,$22130,$22131,$22132,$22133,$22134),(nextval($22135),$22136,$22137,$22138,$22139,$22140,$22141,$22142,$22143,$22144,$22145,$22146,$22147,$22148),(nextval($22149),$22150,$22151,$22152,$22153,$22154,$22155,$22156,$22157,$22158,$22159,$22160,$22161,$22162),(nextval($22163),$22164,$22165,$22166,$22167,$22168,$22169,$22170,$22171,$22172,$22173,$22174,$22175,$22176),(nextval($22177),$22178,$22179,$22180,$22181,$22182,$22183,$22184,$22185,$22186,$22187,$22188,$22189,$22190),(nextval($22191),$22192,$22193,$22194,$22195,$22196,$22197,$22198,$22199,$22200,$22201,$22202,$22203,$22204),(nextval($22205),$22206,$22207,$22208,$22209,$22210,$22211,$22212,$22213,$22214,$22215,$22216,$22217,$22218),(nextval($22219),$22220,$22221,$22222,$22223,$22224,$22225,$22226,$22227,$22228,$22229,$22230,$22231,$22232),(nextval($22233),$22234,$22235,$22236,$22237,$22238,$22239,$22240,$22241,$22242,$22243,$22244,$22245,$22246),(nextval($22247),$22248,$22249,$22250,$22251,$22252,$22253,$22254,$22255,$22256,$22257,$22258,$22259,$22260),(nextval($22261),$22262,$22263,$22264,$22265,$22266,$22267,$22268,$22269,$22270,$22271,$22272,$22273,$22274),(nextval($22275),$22276,$22277,$22278,$22279,$22280,$22281,$22282,$22283,$22284,$22285,$22286,$22287,$22288),(nextval($22289),$22290,$22291,$22292,$22293,$22294,$22295,$22296,$22297,$22298,$22299,$22300,$22301,$22302),(nextval($22303),$22304,$22305,$22306,$22307,$22308,$22309,$22310,$22311,$22312,$22313,$22314,$22315,$22316),(nextval($22317),$22318,$22319,$22320,$22321,$22322,$22323,$22324,$22325,$22326,$22327,$22328,$22329,$22330),(nextval($22331),$22332,$22333,$22334,$22335,$22336,$22337,$22338,$22339,$22340,$22341,$22342,$22343,$22344),(nextval($22345),$22346,$22347,$22348,$22349,$22350,$22351,$22352,$22353,$22354,$22355,$22356,$22357,$22358),(nextval($22359),$22360,$22361,$22362,$22363,$22364,$22365,$22366,$22367,$22368,$22369,$22370,$22371,$22372),(nextval($22373),$22374,$22375,$22376,$22377,$22378,$22379,$22380,$22381,$22382,$22383,$22384,$22385,$22386),(nextval($22387),$22388,$22389,$22390,$22391,$22392,$22393,$22394,$22395,$22396,$22397,$22398,$22399,$22400),(nextval($22401),$22402,$22403,$22404,$22405,$22406,$22407,$22408,$22409,$22410,$22411,$22412,$22413,$22414),(nextval($22415),$22416,$22417,$22418,$22419,$22420,$22421,$22422,$22423,$22424,$22425,$22426,$22427,$22428),(nextval($22429),$22430,$22431,$22432,$22433,$22434,$22435,$22436,$22437,$22438,$22439,$22440,$22441,$22442),(nextval($22443),$22444,$22445,$22446,$22447,$22448,$22449,$22450,$22451,$22452,$22453,$22454,$22455,$22456),(nextval($22457),$22458,$22459,$22460,$22461,$22462,$22463,$22464,$22465,$22466,$22467,$22468,$22469,$22470),(nextval($22471),$22472,$22473,$22474,$22475,$22476,$22477,$22478,$22479,$22480,$22481,$22482,$22483,$22484),(nextval($22485),$22486,$22487,$22488,$22489,$22490,$22491,$22492,$22493,$22494,$22495,$22496,$22497,$22498),(nextval($22499),$22500,$22501,$22502,$22503,$22504,$22505,$22506,$22507,$22508,$22509,$22510,$22511,$22512),(nextval($22513),$22514,$22515,$22516,$22517,$22518,$22519,$22520,$22521,$22522,$22523,$22524,$22525,$22526),(nextval($22527),$22528,$22529,$22530,$22531,$22532,$22533,$22534,$22535,$22536,$22537,$22538,$22539,$22540),(nextval($22541),$22542,$22543,$22544,$22545,$22546,$22547,$22548,$22549,$22550,$22551,$22552,$22553,$22554),(nextval($22555),$22556,$22557,$22558,$22559,$22560,$22561,$22562,$22563,$22564,$22565,$22566,$22567,$22568),(nextval($22569),$22570,$22571,$22572,$22573,$22574,$22575,$22576,$22577,$22578,$22579,$22580,$22581,$22582),(nextval($22583),$22584,$22585,$22586,$22587,$22588,$22589,$22590,$22591,$22592,$22593,$22594,$22595,$22596),(nextval($22597),$22598,$22599,$22600,$22601,$22602,$22603,$22604,$22605,$22606,$22607,$22608,$22609,$22610),(nextval($22611),$22612,$22613,$22614,$22615,$22616,$22617,$22618,$22619,$22620,$22621,$22622,$22623,$22624),(nextval($22625),$22626,$22627,$22628,$22629,$22630,$22631,$22632,$22633,$22634,$22635,$22636,$22637,$22638),(nextval($22639),$22640,$22641,$22642,$22643,$22644,$22645,$22646,$22647,$22648,$22649,$22650,$22651,$22652),(nextval($22653),$22654,$22655,$22656,$22657,$22658,$22659,$22660,$22661,$22662,$22663,$22664,$22665,$22666),(nextval($22667),$22668,$22669,$22670,$22671,$22672,$22673,$22674,$22675,$22676,$22677,$22678,$22679,$22680),(nextval($22681),$22682,$22683,$22684,$22685,$22686,$22687,$22688,$22689,$22690,$22691,$22692,$22693,$22694),(nextval($22695),$22696,$22697,$22698,$22699,$22700,$22701,$22702,$22703,$22704,$22705,$22706,$22707,$22708),(nextval($22709),$22710,$22711,$22712,$22713,$22714,$22715,$22716,$22717,$22718,$22719,$22720,$22721,$22722),(nextval($22723),$22724,$22725,$22726,$22727,$22728,$22729,$22730,$22731,$22732,$22733,$22734,$22735,$22736),(nextval($22737),$22738,$22739,$22740,$22741,$22742,$22743,$22744,$22745,$22746,$22747,$22748,$22749,$22750),(nextval($22751),$22752,$22753,$22754,$22755,$22756,$22757,$22758,$22759,$22760,$22761,$22762,$22763,$22764),(nextval($22765),$22766,$22767,$22768,$22769,$22770,$22771,$22772,$22773,$22774,$22775,$22776,$22777,$22778),(nextval($22779),$22780,$22781,$22782,$22783,$22784,$22785,$22786,$22787,$22788,$22789,$22790,$22791,$22792),(nextval($22793),$22794,$22795,$22796,$22797,$22798,$22799,$22800,$22801,$22802,$22803,$22804,$22805,$22806),(nextval($22807),$22808,$22809,$22810,$22811,$22812,$22813,$22814,$22815,$22816,$22817,$22818,$22819,$22820),(nextval($22821),$22822,$22823,$22824,$22825,$22826,$22827,$22828,$22829,$22830,$22831,$22832,$22833,$22834),(nextval($22835),$22836,$22837,$22838,$22839,$22840,$22841,$22842,$22843,$22844,$22845,$22846,$22847,$22848),(nextval($22849),$22850,$22851,$22852,$22853,$22854,$22855,$22856,$22857,$22858,$22859,$22860,$22861,$22862),(nextval($22863),$22864,$22865,$22866,$22867,$22868,$22869,$22870,$22871,$22872,$22873,$22874,$22875,$22876),(nextval($22877),$22878,$22879,$22880,$22881,$22882,$22883,$22884,$22885,$22886,$22887,$22888,$22889,$22890),(nextval($22891),$22892,$22893,$22894,$22895,$22896,$22897,$22898,$22899,$22900,$22901,$22902,$22903,$22904),(nextval($22905),$22906,$22907,$22908,$22909,$22910,$22911,$22912,$22913,$22914,$22915,$22916,$22917,$22918),(nextval($22919),$22920,$22921,$22922,$22923,$22924,$22925,$22926,$22927,$22928,$22929,$22930,$22931,$22932),(nextval($22933),$22934,$22935,$22936,$22937,$22938,$22939,$22940,$22941,$22942,$22943,$22944,$22945,$22946),(nextval($22947),$22948,$22949,$22950,$22951,$22952,$22953,$22954,$22955,$22956,$22957,$22958,$22959,$22960),(nextval($22961),$22962,$22963,$22964,$22965,$22966,$22967,$22968,$22969,$22970,$22971,$22972,$22973,$22974),(nextval($22975),$22976,$22977,$22978,$22979,$22980,$22981,$22982,$22983,$22984,$22985,$22986,$22987,$22988),(nextval($22989),$22990,$22991,$22992,$22993,$22994,$22995,$22996,$22997,$22998,$22999,$23000,$23001,$23002),(nextval($23003),$23004,$23005,$23006,$23007,$23008,$23009,$23010,$23011,$23012,$23013,$23014,$23015,$23016),(nextval($23017),$23018,$23019,$23020,$23021,$23022,$23023,$23024,$23025,$23026,$23027,$23028,$23029,$23030),(nextval($23031),$23032,$23033,$23034,$23035,$23036,$23037,$23038,$23039,$23040,$23041,$23042,$23043,$23044),(nextval($23045),$23046,$23047,$23048,$23049,$23050,$23051,$23052,$23053,$23054,$23055,$23056,$23057,$23058),(nextval($23059),$23060,$23061,$23062,$23063,$23064,$23065,$23066,$23067,$23068,$23069,$23070,$23071,$23072),(nextval($23073),$23074,$23075,$23076,$23077,$23078,$23079,$23080,$23081,$23082,$23083,$23084,$23085,$23086),(nextval($23087),$23088,$23089,$23090,$23091,$23092,$23093,$23094,$23095,$23096,$23097,$23098,$23099,$23100),(nextval($23101),$23102,$23103,$23104,$23105,$23106,$23107,$23108,$23109,$23110,$23111,$23112,$23113,$23114),(nextval($23115),$23116,$23117,$23118,$23119,$23120,$23121,$23122,$23123,$23124,$23125,$23126,$23127,$23128),(nextval($23129),$23130,$23131,$23132,$23133,$23134,$23135,$23136,$23137,$23138,$23139,$23140,$23141,$23142),(nextval($23143),$23144,$23145,$23146,$23147,$23148,$23149,$23150,$23151,$23152,$23153,$23154,$23155,$23156),(nextval($23157),$23158,$23159,$23160,$23161,$23162,$23163,$23164,$23165,$23166,$23167,$23168,$23169,$23170),(nextval($23171),$23172,$23173,$23174,$23175,$23176,$23177,$23178,$23179,$23180,$23181,$23182,$23183,$23184),(nextval($23185),$23186,$23187,$23188,$23189,$23190,$23191,$23192,$23193,$23194,$23195,$23196,$23197,$23198),(nextval($23199),$23200,$23201,$23202,$23203,$23204,$23205,$23206,$23207,$23208,$23209,$23210,$23211,$23212),(nextval($23213),$23214,$23215,$23216,$23217,$23218,$23219,$23220,$23221,$23222,$23223,$23224,$23225,$23226),(nextval($23227),$23228,$23229,$23230,$23231,$23232,$23233,$23234,$23235,$23236,$23237,$23238,$23239,$23240),(nextval($23241),$23242,$23243,$23244,$23245,$23246,$23247,$23248,$23249,$23250,$23251,$23252,$23253,$23254),(nextval($23255),$23256,$23257,$23258,$23259,$23260,$23261,$23262,$23263,$23264,$23265,$23266,$23267,$23268),(nextval($23269),$23270,$23271,$23272,$23273,$23274,$23275,$23276,$23277,$23278,$23279,$23280,$23281,$23282),(nextval($23283),$23284,$23285,$23286,$23287,$23288,$23289,$23290,$23291,$23292,$23293,$23294,$23295,$23296),(nextval($23297),$23298,$23299,$23300,$23301,$23302,$23303,$23304,$23305,$23306,$23307,$23308,$23309,$23310),(nextval($23311),$23312,$23313,$23314,$23315,$23316,$23317,$23318,$23319,$23320,$23321,$23322,$23323,$23324),(nextval($23325),$23326,$23327,$23328,$23329,$23330,$23331,$23332,$23333,$23334,$23335,$23336,$23337,$23338),(nextval($23339),$23340,$23341,$23342,$23343,$23344,$23345,$23346,$23347,$23348,$23349,$23350,$23351,$23352),(nextval($23353),$23354,$23355,$23356,$23357,$23358,$23359,$23360,$23361,$23362,$23363,$23364,$23365,$23366),(nextval($23367),$23368,$23369,$23370,$23371,$23372,$23373,$23374,$23375,$23376,$23377,$23378,$23379,$23380),(nextval($23381),$23382,$23383,$23384,$23385,$23386,$23387,$23388,$23389,$23390,$23391,$23392,$23393,$23394),(nextval($23395),$23396,$23397,$23398,$23399,$23400,$23401,$23402,$23403,$23404,$23405,$23406,$23407,$23408),(nextval($23409),$23410,$23411,$23412,$23413,$23414,$23415,$23416,$23417,$23418,$23419,$23420,$23421,$23422),(nextval($23423),$23424,$23425,$23426,$23427,$23428,$23429,$23430,$23431,$23432,$23433,$23434,$23435,$23436),(nextval($23437),$23438,$23439,$23440,$23441,$23442,$23443,$23444,$23445,$23446,$23447,$23448,$23449,$23450),(nextval($23451),$23452,$23453,$23454,$23455,$23456,$23457,$23458,$23459,$23460,$23461,$23462,$23463,$23464),(nextval($23465),$23466,$23467,$23468,$23469,$23470,$23471,$23472,$23473,$23474,$23475,$23476,$23477,$23478),(nextval($23479),$23480,$23481,$23482,$23483,$23484,$23485,$23486,$23487,$23488,$23489,$23490,$23491,$23492),(nextval($23493),$23494,$23495,$23496,$23497,$23498,$23499,$23500,$23501,$23502,$23503,$23504,$23505,$23506),(nextval($23507),$23508,$23509,$23510,$23511,$23512,$23513,$23514,$23515,$23516,$23517,$23518,$23519,$23520),(nextval($23521),$23522,$23523,$23524,$23525,$23526,$23527,$23528,$23529,$23530,$23531,$23532,$23533,$23534),(nextval($23535),$23536,$23537,$23538,$23539,$23540,$23541,$23542,$23543,$23544,$23545,$23546,$23547,$23548),(nextval($23549),$23550,$23551,$23552,$23553,$23554,$23555,$23556,$23557,$23558,$23559,$23560,$23561,$23562),(nextval($23563),$23564,$23565,$23566,$23567,$23568,$23569,$23570,$23571,$23572,$23573,$23574,$23575,$23576),(nextval($23577),$23578,$23579,$23580,$23581,$23582,$23583,$23584,$23585,$23586,$23587,$23588,$23589,$23590),(nextval($23591),$23592,$23593,$23594,$23595,$23596,$23597,$23598,$23599,$23600,$23601,$23602,$23603,$23604),(nextval($23605),$23606,$23607,$23608,$23609,$23610,$23611,$23612,$23613,$23614,$23615,$23616,$23617,$23618),(nextval($23619),$23620,$23621,$23622,$23623,$23624,$23625,$23626,$23627,$23628,$23629,$23630,$23631,$23632),(nextval($23633),$23634,$23635,$23636,$23637,$23638,$23639,$23640,$23641,$23642,$23643,$23644,$23645,$23646),(nextval($23647),$23648,$23649,$23650,$23651,$23652,$23653,$23654,$23655,$23656,$23657,$23658,$23659,$23660),(nextval($23661),$23662,$23663,$23664,$23665,$23666,$23667,$23668,$23669,$23670,$23671,$23672,$23673,$23674),(nextval($23675),$23676,$23677,$23678,$23679,$23680,$23681,$23682,$23683,$23684,$23685,$23686,$23687,$23688),(nextval($23689),$23690,$23691,$23692,$23693,$23694,$23695,$23696,$23697,$23698,$23699,$23700,$23701,$23702),(nextval($23703),$23704,$23705,$23706,$23707,$23708,$23709,$23710,$23711,$23712,$23713,$23714,$23715,$23716),(nextval($23717),$23718,$23719,$23720,$23721,$23722,$23723,$23724,$23725,$23726,$23727,$23728,$23729,$23730),(nextval($23731),$23732,$23733,$23734,$23735,$23736,$23737,$23738,$23739,$23740,$23741,$23742,$23743,$23744),(nextval($23745),$23746,$23747,$23748,$23749,$23750,$23751,$23752,$23753,$23754,$23755,$23756,$23757,$23758),(nextval($23759),$23760,$23761,$23762,$23763,$23764,$23765,$23766,$23767,$23768,$23769,$23770,$23771,$23772),(nextval($23773),$23774,$23775,$23776,$23777,$23778,$23779,$23780,$23781,$23782,$23783,$23784,$23785,$23786),(nextval($23787),$23788,$23789,$23790,$23791,$23792,$23793,$23794,$23795,$23796,$23797,$23798,$23799,$23800),(nextval($23801),$23802,$23803,$23804,$23805,$23806,$23807,$23808,$23809,$23810,$23811,$23812,$23813,$23814),(nextval($23815),$23816,$23817,$23818,$23819,$23820,$23821,$23822,$23823,$23824,$23825,$23826,$23827,$23828),(nextval($23829),$23830,$23831,$23832,$23833,$23834,$23835,$23836,$23837,$23838,$23839,$23840,$23841,$23842),(nextval($23843),$23844,$23845,$23846,$23847,$23848,$23849,$23850,$23851,$23852,$23853,$23854,$23855,$23856),(nextval($23857),$23858,$23859,$23860,$23861,$23862,$23863,$23864,$23865,$23866,$23867,$23868,$23869,$23870),(nextval($23871),$23872,$23873,$23874,$23875,$23876,$23877,$23878,$23879,$23880,$23881,$23882,$23883,$23884),(nextval($23885),$23886,$23887,$23888,$23889,$23890,$23891,$23892,$23893,$23894,$23895,$23896,$23897,$23898),(nextval($23899),$23900,$23901,$23902,$23903,$23904,$23905,$23906,$23907,$23908,$23909,$23910,$23911,$23912),(nextval($23913),$23914,$23915,$23916,$23917,$23918,$23919,$23920,$23921,$23922,$23923,$23924,$23925,$23926),(nextval($23927),$23928,$23929,$23930,$23931,$23932,$23933,$23934,$23935,$23936,$23937,$23938,$23939,$23940),(nextval($23941),$23942,$23943,$23944,$23945,$23946,$23947,$23948,$23949,$23950,$23951,$23952,$23953,$23954),(nextval($23955),$23956,$23957,$23958,$23959,$23960,$23961,$23962,$23963,$23964,$23965,$23966,$23967,$23968),(nextval($23969),$23970,$23971,$23972,$23973,$23974,$23975,$23976,$23977,$23978,$23979,$23980,$23981,$23982),(nextval($23983),$23984,$23985,$23986,$23987,$23988,$23989,$23990,$23991,$23992,$23993,$23994,$23995,$23996),(nextval($23997),$23998,$23999,$24000,$24001,$24002,$24003,$24004,$24005,$24006,$24007,$24008,$24009,$24010),(nextval($24011),$24012,$24013,$24014,$24015,$24016,$24017,$24018,$24019,$24020,$24021,$24022,$24023,$24024),(nextval($24025),$24026,$24027,$24028,$24029,$24030,$24031,$24032,$24033,$24034,$24035,$24036,$24037,$24038),(nextval($24039),$24040,$24041,$24042,$24043,$24044,$24045,$24046,$24047,$24048,$24049,$24050,$24051,$24052),(nextval($24053),$24054,$24055,$24056,$24057,$24058,$24059,$24060,$24061,$24062,$24063,$24064,$24065,$24066),(nextval($24067),$24068,$24069,$24070,$24071,$24072,$24073,$24074,$24075,$24076,$24077,$24078,$24079,$24080),(nextval($24081),$24082,$24083,$24084,$24085,$24086,$24087,$24088,$24089,$24090,$24091,$24092,$24093,$24094),(nextval($24095),$24096,$24097,$24098,$24099,$24100,$24101,$24102,$24103,$24104,$24105,$24106,$24107,$24108),(nextval($24109),$24110,$24111,$24112,$24113,$24114,$24115,$24116,$24117,$24118,$24119,$24120,$24121,$24122),(nextval($24123),$24124,$24125,$24126,$24127,$24128,$24129,$24130,$24131,$24132,$24133,$24134,$24135,$24136),(nextval($24137),$24138,$24139,$24140,$24141,$24142,$24143,$24144,$24145,$24146,$24147,$24148,$24149,$24150),(nextval($24151),$24152,$24153,$24154,$24155,$24156,$24157,$24158,$24159,$24160,$24161,$24162,$24163,$24164),(nextval($24165),$24166,$24167,$24168,$24169,$24170,$24171,$24172,$24173,$24174,$24175,$24176,$24177,$24178),(nextval($24179),$24180,$24181,$24182,$24183,$24184,$24185,$24186,$24187,$24188,$24189,$24190,$24191,$24192),(nextval($24193),$24194,$24195,$24196,$24197,$24198,$24199,$24200,$24201,$24202,$24203,$24204,$24205,$24206),(nextval($24207),$24208,$24209,$24210,$24211,$24212,$24213,$24214,$24215,$24216,$24217,$24218,$24219,$24220),(nextval($24221),$24222,$24223,$24224,$24225,$24226,$24227,$24228,$24229,$24230,$24231,$24232,$24233,$24234),(nextval($24235),$24236,$24237,$24238,$24239,$24240,$24241,$24242,$24243,$24244,$24245,$24246,$24247,$24248),(nextval($24249),$24250,$24251,$24252,$24253,$24254,$24255,$24256,$24257,$24258,$24259,$24260,$24261,$24262),(nextval($24263),$24264,$24265,$24266,$24267,$24268,$24269,$24270,$24271,$24272,$24273,$24274,$24275,$24276),(nextval($24277),$24278,$24279,$24280,$24281,$24282,$24283,$24284,$24285,$24286,$24287,$24288,$24289,$24290),(nextval($24291),$24292,$24293,$24294,$24295,$24296,$24297,$24298,$24299,$24300,$24301,$24302,$24303,$24304),(nextval($24305),$24306,$24307,$24308,$24309,$24310,$24311,$24312,$24313,$24314,$24315,$24316,$24317,$24318),(nextval($24319),$24320,$24321,$24322,$24323,$24324,$24325,$24326,$24327,$24328,$24329,$24330,$24331,$24332),(nextval($24333),$24334,$24335,$24336,$24337,$24338,$24339,$24340,$24341,$24342,$24343,$24344,$24345,$24346),(nextval($24347),$24348,$24349,$24350,$24351,$24352,$24353,$24354,$24355,$24356,$24357,$24358,$24359,$24360),(nextval($24361),$24362,$24363,$24364,$24365,$24366,$24367,$24368,$24369,$24370,$24371,$24372,$24373,$24374),(nextval($24375),$24376,$24377,$24378,$24379,$24380,$24381,$24382,$24383,$24384,$24385,$24386,$24387,$24388),(nextval($24389),$24390,$24391,$24392,$24393,$24394,$24395,$24396,$24397,$24398,$24399,$24400,$24401,$24402),(nextval($24403),$24404,$24405,$24406,$24407,$24408,$24409,$24410,$24411,$24412,$24413,$24414,$24415,$24416),(nextval($24417),$24418,$24419,$24420,$24421,$24422,$24423,$24424,$24425,$24426,$24427,$24428,$24429,$24430),(nextval($24431),$24432,$24433,$24434,$24435,$24436,$24437,$24438,$24439,$24440,$24441,$24442,$24443,$24444),(nextval($24445),$24446,$24447,$24448,$24449,$24450,$24451,$24452,$24453,$24454,$24455,$24456,$24457,$24458),(nextval($24459),$24460,$24461,$24462,$24463,$24464,$24465,$24466,$24467,$24468,$24469,$24470,$24471,$24472),(nextval($24473),$24474,$24475,$24476,$24477,$24478,$24479,$24480,$24481,$24482,$24483,$24484,$24485,$24486),(nextval($24487),$24488,$24489,$24490,$24491,$24492,$24493,$24494,$24495,$24496,$24497,$24498,$24499,$24500),(nextval($24501),$24502,$24503,$24504,$24505,$24506,$24507,$24508,$24509,$24510,$24511,$24512,$24513,$24514),(nextval($24515),$24516,$24517,$24518,$24519,$24520,$24521,$24522,$24523,$24524,$24525,$24526,$24527,$24528),(nextval($24529),$24530,$24531,$24532,$24533,$24534,$24535,$24536,$24537,$24538,$24539,$24540,$24541,$24542),(nextval($24543),$24544,$24545,$24546,$24547,$24548,$24549,$24550,$24551,$24552,$24553,$24554,$24555,$24556),(nextval($24557),$24558,$24559,$24560,$24561,$24562,$24563,$24564,$24565,$24566,$24567,$24568,$24569,$24570),(nextval($24571),$24572,$24573,$24574,$24575,$24576,$24577,$24578,$24579,$24580,$24581,$24582,$24583,$24584),(nextval($24585),$24586,$24587,$24588,$24589,$24590,$24591,$24592,$24593,$24594,$24595,$24596,$24597,$24598),(nextval($24599),$24600,$24601,$24602,$24603,$24604,$24605,$24606,$24607,$24608,$24609,$24610,$24611,$24612),(nextval($24613),$24614,$24615,$24616,$24617,$24618,$24619,$24620,$24621,$24622,$24623,$24624,$24625,$24626),(nextval($24627),$24628,$24629,$24630,$24631,$24632,$24633,$24634,$24635,$24636,$24637,$24638,$24639,$24640),(nextval($24641),$24642,$24643,$24644,$24645,$24646,$24647,$24648,$24649,$24650,$24651,$24652,$24653,$24654),(nextval($24655),$24656,$24657,$24658,$24659,$24660,$24661,$24662,$24663,$24664,$24665,$24666,$24667,$24668),(nextval($24669),$24670,$24671,$24672,$24673,$24674,$24675,$24676,$24677,$24678,$24679,$24680,$24681,$24682),(nextval($24683),$24684,$24685,$24686,$24687,$24688,$24689,$24690,$24691,$24692,$24693,$24694,$24695,$24696),(nextval($24697),$24698,$24699,$24700,$24701,$24702,$24703,$24704,$24705,$24706,$24707,$24708,$24709,$24710),(nextval($24711),$24712,$24713,$24714,$24715,$24716,$24717,$24718,$24719,$24720,$24721,$24722,$24723,$24724),(nextval($24725),$24726,$24727,$24728,$24729,$24730,$24731,$24732,$24733,$24734,$24735,$24736,$24737,$24738),(nextval($24739),$24740,$24741,$24742,$24743,$24744,$24745,$24746,$24747,$24748,$24749,$24750,$24751,$24752),(nextval($24753),$24754,$24755,$24756,$24757,$24758,$24759,$24760,$24761,$24762,$24763,$24764,$24765,$24766),(nextval($24767),$24768,$24769,$24770,$24771,$24772,$24773,$24774,$24775,$24776,$24777,$24778,$24779,$24780),(nextval($24781),$24782,$24783,$24784,$24785,$24786,$24787,$24788,$24789,$24790,$24791,$24792,$24793,$24794),(nextval($24795),$24796,$24797,$24798,$24799,$24800,$24801,$24802,$24803,$24804,$24805,$24806,$24807,$24808),(nextval($24809),$24810,$24811,$24812,$24813,$24814,$24815,$24816,$24817,$24818,$24819,$24820,$24821,$24822),(nextval($24823),$24824,$24825,$24826,$24827,$24828,$24829,$24830,$24831,$24832,$24833,$24834,$24835,$24836),(nextval($24837),$24838,$24839,$24840,$24841,$24842,$24843,$24844,$24845,$24846,$24847,$24848,$24849,$24850),(nextval($24851),$24852,$24853,$24854,$24855,$24856,$24857,$24858,$24859,$24860,$24861,$24862,$24863,$24864),(nextval($24865),$24866,$24867,$24868,$24869,$24870,$24871,$24872,$24873,$24874,$24875,$24876,$24877,$24878),(nextval($24879),$24880,$24881,$24882,$24883,$24884,$24885,$24886,$24887,$24888,$24889,$24890,$24891,$24892),(nextval($24893),$24894,$24895,$24896,$24897,$24898,$24899,$24900,$24901,$24902,$24903,$24904,$24905,$24906),(nextval($24907),$24908,$24909,$24910,$24911,$24912,$24913,$24914,$24915,$24916,$24917,$24918,$24919,$24920),(nextval($24921),$24922,$24923,$24924,$24925,$24926,$24927,$24928,$24929,$24930,$24931,$24932,$24933,$24934),(nextval($24935),$24936,$24937,$24938,$24939,$24940,$24941,$24942,$24943,$24944,$24945,$24946,$24947,$24948),(nextval($24949),$24950,$24951,$24952,$24953,$24954,$24955,$24956,$24957,$24958,$24959,$24960,$24961,$24962),(nextval($24963),$24964,$24965,$24966,$24967,$24968,$24969,$24970,$24971,$24972,$24973,$24974,$24975,$24976),(nextval($24977),$24978,$24979,$24980,$24981,$24982,$24983,$24984,$24985,$24986,$24987,$24988,$24989,$24990),(nextval($24991),$24992,$24993,$24994,$24995,$24996,$24997,$24998,$24999,$25000,$25001,$25002,$25003,$25004),(nextval($25005),$25006,$25007,$25008,$25009,$25010,$25011,$25012,$25013,$25014,$25015,$25016,$25017,$25018),(nextval($25019),$25020,$25021,$25022,$25023,$25024,$25025,$25026,$25027,$25028,$25029,$25030,$25031,$25032),(nextval($25033),$25034,$25035,$25036,$25037,$25038,$25039,$25040,$25041,$25042,$25043,$25044,$25045,$25046),(nextval($25047),$25048,$25049,$25050,$25051,$25052,$25053,$25054,$25055,$25056,$25057,$25058,$25059,$25060),(nextval($25061),$25062,$25063,$25064,$25065,$25066,$25067,$25068,$25069,$25070,$25071,$25072,$25073,$25074),(nextval($25075),$25076,$25077,$25078,$25079,$25080,$25081,$25082,$25083,$25084,$25085,$25086,$25087,$25088),(nextval($25089),$25090,$25091,$25092,$25093,$25094,$25095,$25096,$25097,$25098,$25099,$25100,$25101,$25102),(nextval($25103),$25104,$25105,$25106,$25107,$25108,$25109,$25110,$25111,$25112,$25113,$25114,$25115,$25116),(nextval($25117),$25118,$25119,$25120,$25121,$25122,$25123,$25124,$25125,$25126,$25127,$25128,$25129,$25130),(nextval($25131),$25132,$25133,$25134,$25135,$25136,$25137,$25138,$25139,$25140,$25141,$25142,$25143,$25144),(nextval($25145),$25146,$25147,$25148,$25149,$25150,$25151,$25152,$25153,$25154,$25155,$25156,$25157,$25158),(nextval($25159),$25160,$25161,$25162,$25163,$25164,$25165,$25166,$25167,$25168,$25169,$25170,$25171,$25172),(nextval($25173),$25174,$25175,$25176,$25177,$25178,$25179,$25180,$25181,$25182,$25183,$25184,$25185,$25186),(nextval($25187),$25188,$25189,$25190,$25191,$25192,$25193,$25194,$25195,$25196,$25197,$25198,$25199,$25200),(nextval($25201),$25202,$25203,$25204,$25205,$25206,$25207,$25208,$25209,$25210,$25211,$25212,$25213,$25214),(nextval($25215),$25216,$25217,$25218,$25219,$25220,$25221,$25222,$25223,$25224,$25225,$25226,$25227,$25228),(nextval($25229),$25230,$25231,$25232,$25233,$25234,$25235,$25236,$25237,$25238,$25239,$25240,$25241,$25242),(nextval($25243),$25244,$25245,$25246,$25247,$25248,$25249,$25250,$25251,$25252,$25253,$25254,$25255,$25256),(nextval($25257),$25258,$25259,$25260,$25261,$25262,$25263,$25264,$25265,$25266,$25267,$25268,$25269,$25270),(nextval($25271),$25272,$25273,$25274,$25275,$25276,$25277,$25278,$25279,$25280,$25281,$25282,$25283,$25284),(nextval($25285),$25286,$25287,$25288,$25289,$25290,$25291,$25292,$25293,$25294,$25295,$25296,$25297,$25298),(nextval($25299),$25300,$25301,$25302,$25303,$25304,$25305,$25306,$25307,$25308,$25309,$25310,$25311,$25312),(nextval($25313),$25314,$25315,$25316,$25317,$25318,$25319,$25320,$25321,$25322,$25323,$25324,$25325,$25326),(nextval($25327),$25328,$25329,$25330,$25331,$25332,$25333,$25334,$25335,$25336,$25337,$25338,$25339,$25340),(nextval($25341),$25342,$25343,$25344,$25345,$25346,$25347,$25348,$25349,$25350,$25351,$25352,$25353,$25354),(nextval($25355),$25356,$25357,$25358,$25359,$25360,$25361,$25362,$25363,$25364,$25365,$25366,$25367,$25368),(nextval($25369),$25370,$25371,$25372,$25373,$25374,$25375,$25376,$25377,$25378,$25379,$25380,$25381,$25382),(nextval($25383),$25384,$25385,$25386,$25387,$25388,$25389,$25390,$25391,$25392,$25393,$25394,$25395,$25396),(nextval($25397),$25398,$25399,$25400,$25401,$25402,$25403,$25404,$25405,$25406,$25407,$25408,$25409,$25410),(nextval($25411),$25412,$25413,$25414,$25415,$25416,$25417,$25418,$25419,$25420,$25421,$25422,$25423,$25424),(nextval($25425),$25426,$25427,$25428,$25429,$25430,$25431,$25432,$25433,$25434,$25435,$25436,$25437,$25438),(nextval($25439),$25440,$25441,$25442,$25443,$25444,$25445,$25446,$25447,$25448,$25449,$25450,$25451,$25452),(nextval($25453),$25454,$25455,$25456,$25457,$25458,$25459,$25460,$25461,$25462,$25463,$25464,$25465,$25466),(nextval($25467),$25468,$25469,$25470,$25471,$25472,$25473,$25474,$25475,$25476,$25477,$25478,$25479,$25480),(nextval($25481),$25482,$25483,$25484,$25485,$25486,$25487,$25488,$25489,$25490,$25491,$25492,$25493,$25494),(nextval($25495),$25496,$25497,$25498,$25499,$25500,$25501,$25502,$25503,$25504,$25505,$25506,$25507,$25508),(nextval($25509),$25510,$25511,$25512,$25513,$25514,$25515,$25516,$25517,$25518,$25519,$25520,$25521,$25522),(nextval($25523),$25524,$25525,$25526,$25527,$25528,$25529,$25530,$25531,$25532,$25533,$25534,$25535,$25536),(nextval($25537),$25538,$25539,$25540,$25541,$25542,$25543,$25544,$25545,$25546,$25547,$25548,$25549,$25550),(nextval($25551),$25552,$25553,$25554,$25555,$25556,$25557,$25558,$25559,$25560,$25561,$25562,$25563,$25564),(nextval($25565),$25566,$25567,$25568,$25569,$25570,$25571,$25572,$25573,$25574,$25575,$25576,$25577,$25578),(nextval($25579),$25580,$25581,$25582,$25583,$25584,$25585,$25586,$25587,$25588,$25589,$25590,$25591,$25592),(nextval($25593),$25594,$25595,$25596,$25597,$25598,$25599,$25600,$25601,$25602,$25603,$25604,$25605,$25606),(nextval($25607),$25608,$25609,$25610,$25611,$25612,$25613,$25614,$25615,$25616,$25617,$25618,$25619,$25620),(nextval($25621),$25622,$25623,$25624,$25625,$25626,$25627,$25628,$25629,$25630,$25631,$25632,$25633,$25634),(nextval($25635),$25636,$25637,$25638,$25639,$25640,$25641,$25642,$25643,$25644,$25645,$25646,$25647,$25648),(nextval($25649),$25650,$25651,$25652,$25653,$25654,$25655,$25656,$25657,$25658,$25659,$25660,$25661,$25662),(nextval($25663),$25664,$25665,$25666,$25667,$25668,$25669,$25670,$25671,$25672,$25673,$25674,$25675,$25676),(nextval($25677),$25678,$25679,$25680,$25681,$25682,$25683,$25684,$25685,$25686,$25687,$25688,$25689,$25690),(nextval($25691),$25692,$25693,$25694,$25695,$25696,$25697,$25698,$25699,$25700,$25701,$25702,$25703,$25704),(nextval($25705),$25706,$25707,$25708,$25709,$25710,$25711,$25712,$25713,$25714,$25715,$25716,$25717,$25718),(nextval($25719),$25720,$25721,$25722,$25723,$25724,$25725,$25726,$25727,$25728,$25729,$25730,$25731,$25732),(nextval($25733),$25734,$25735,$25736,$25737,$25738,$25739,$25740,$25741,$25742,$25743,$25744,$25745,$25746),(nextval($25747),$25748,$25749,$25750,$25751,$25752,$25753,$25754,$25755,$25756,$25757,$25758,$25759,$25760),(nextval($25761),$25762,$25763,$25764,$25765,$25766,$25767,$25768,$25769,$25770,$25771,$25772,$25773,$25774),(nextval($25775),$25776,$25777,$25778,$25779,$25780,$25781,$25782,$25783,$25784,$25785,$25786,$25787,$25788),(nextval($25789),$25790,$25791,$25792,$25793,$25794,$25795,$25796,$25797,$25798,$25799,$25800,$25801,$25802),(nextval($25803),$25804,$25805,$25806,$25807,$25808,$25809,$25810,$25811,$25812,$25813,$25814,$25815,$25816),(nextval($25817),$25818,$25819,$25820,$25821,$25822,$25823,$25824,$25825,$25826,$25827,$25828,$25829,$25830),(nextval($25831),$25832,$25833,$25834,$25835,$25836,$25837,$25838,$25839,$25840,$25841,$25842,$25843,$25844),(nextval($25845),$25846,$25847,$25848,$25849,$25850,$25851,$25852,$25853,$25854,$25855,$25856,$25857,$25858),(nextval($25859),$25860,$25861,$25862,$25863,$25864,$25865,$25866,$25867,$25868,$25869,$25870,$25871,$25872),(nextval($25873),$25874,$25875,$25876,$25877,$25878,$25879,$25880,$25881,$25882,$25883,$25884,$25885,$25886),(nextval($25887),$25888,$25889,$25890,$25891,$25892,$25893,$25894,$25895,$25896,$25897,$25898,$25899,$25900),(nextval($25901),$25902,$25903,$25904,$25905,$25906,$25907,$25908,$25909,$25910,$25911,$25912,$25913,$25914),(nextval($25915),$25916,$25917,$25918,$25919,$25920,$25921,$25922,$25923,$25924,$25925,$25926,$25927,$25928),(nextval($25929),$25930,$25931,$25932,$25933,$25934,$25935,$25936,$25937,$25938,$25939,$25940,$25941,$25942),(nextval($25943),$25944,$25945,$25946,$25947,$25948,$25949,$25950,$25951,$25952,$25953,$25954,$25955,$25956),(nextval($25957),$25958,$25959,$25960,$25961,$25962,$25963,$25964,$25965,$25966,$25967,$25968,$25969,$25970),(nextval($25971),$25972,$25973,$25974,$25975,$25976,$25977,$25978,$25979,$25980,$25981,$25982,$25983,$25984),(nextval($25985),$25986,$25987,$25988,$25989,$25990,$25991,$25992,$25993,$25994,$25995,$25996,$25997,$25998),(nextval($25999),$26000,$26001,$26002,$26003,$26004,$26005,$26006,$26007,$26008,$26009,$26010,$26011,$26012),(nextval($26013),$26014,$26015,$26016,$26017,$26018,$26019,$26020,$26021,$26022,$26023,$26024,$26025,$26026),(nextval($26027),$26028,$26029,$26030,$26031,$26032,$26033,$26034,$26035,$26036,$26037,$26038,$26039,$26040),(nextval($26041),$26042,$26043,$26044,$26045,$26046,$26047,$26048,$26049,$26050,$26051,$26052,$26053,$26054),(nextval($26055),$26056,$26057,$26058,$26059,$26060,$26061,$26062,$26063,$26064,$26065,$26066,$26067,$26068),(nextval($26069),$26070,$26071,$26072,$26073,$26074,$26075,$26076,$26077,$26078,$26079,$26080,$26081,$26082),(nextval($26083),$26084,$26085,$26086,$26087,$26088,$26089,$26090,$26091,$26092,$26093,$26094,$26095,$26096),(nextval($26097),$26098,$26099,$26100,$26101,$26102,$26103,$26104,$26105,$26106,$26107,$26108,$26109,$26110),(nextval($26111),$26112,$26113,$26114,$26115,$26116,$26117,$26118,$26119,$26120,$26121,$26122,$26123,$26124),(nextval($26125),$26126,$26127,$26128,$26129,$26130,$26131,$26132,$26133,$26134,$26135,$26136,$26137,$26138),(nextval($26139),$26140,$26141,$26142,$26143,$26144,$26145,$26146,$26147,$26148,$26149,$26150,$26151,$26152),(nextval($26153),$26154,$26155,$26156,$26157,$26158,$26159,$26160,$26161,$26162,$26163,$26164,$26165,$26166),(nextval($26167),$26168,$26169,$26170,$26171,$26172,$26173,$26174,$26175,$26176,$26177,$26178,$26179,$26180),(nextval($26181),$26182,$26183,$26184,$26185,$26186,$26187,$26188,$26189,$26190,$26191,$26192,$26193,$26194),(nextval($26195),$26196,$26197,$26198,$26199,$26200,$26201,$26202,$26203,$26204,$26205,$26206,$26207,$26208),(nextval($26209),$26210,$26211,$26212,$26213,$26214,$26215,$26216,$26217,$26218,$26219,$26220,$26221,$26222),(nextval($26223),$26224,$26225,$26226,$26227,$26228,$26229,$26230,$26231,$26232,$26233,$26234,$26235,$26236),(nextval($26237),$26238,$26239,$26240,$26241,$26242,$26243,$26244,$26245,$26246,$26247,$26248,$26249,$26250),(nextval($26251),$26252,$26253,$26254,$26255,$26256,$26257,$26258,$26259,$26260,$26261,$26262,$26263,$26264),(nextval($26265),$26266,$26267,$26268,$26269,$26270,$26271,$26272,$26273,$26274,$26275,$26276,$26277,$26278),(nextval($26279),$26280,$26281,$26282,$26283,$26284,$26285,$26286,$26287,$26288,$26289,$26290,$26291,$26292),(nextval($26293),$26294,$26295,$26296,$26297,$26298,$26299,$26300,$26301,$26302,$26303,$26304,$26305,$26306),(nextval($26307),$26308,$26309,$26310,$26311,$26312,$26313,$26314,$26315,$26316,$26317,$26318,$26319,$26320),(nextval($26321),$26322,$26323,$26324,$26325,$26326,$26327,$26328,$26329,$26330,$26331,$26332,$26333,$26334),(nextval($26335),$26336,$26337,$26338,$26339,$26340,$26341,$26342,$26343,$26344,$26345,$26346,$26347,$26348),(nextval($26349),$26350,$26351,$26352,$26353,$26354,$26355,$26356,$26357,$26358,$26359,$26360,$26361,$26362),(nextval($26363),$26364,$26365,$26366,$26367,$26368,$26369,$26370,$26371,$26372,$26373,$26374,$26375,$26376),(nextval($26377),$26378,$26379,$26380,$26381,$26382,$26383,$26384,$26385,$26386,$26387,$26388,$26389,$26390),(nextval($26391),$26392,$26393,$26394,$26395,$26396,$26397,$26398,$26399,$26400,$26401,$26402,$26403,$26404),(nextval($26405),$26406,$26407,$26408,$26409,$26410,$26411,$26412,$26413,$26414,$26415,$26416,$26417,$26418),(nextval($26419),$26420,$26421,$26422,$26423,$26424,$26425,$26426,$26427,$26428,$26429,$26430,$26431,$26432),(nextval($26433),$26434,$26435,$26436,$26437,$26438,$26439,$26440,$26441,$26442,$26443,$26444,$26445,$26446),(nextval($26447),$26448,$26449,$26450,$26451,$26452,$26453,$26454,$26455,$26456,$26457,$26458,$26459,$26460),(nextval($26461),$26462,$26463,$26464,$26465,$26466,$26467,$26468,$26469,$26470,$26471,$26472,$26473,$26474),(nextval($26475),$26476,$26477,$26478,$26479,$26480,$26481,$26482,$26483,$26484,$26485,$26486,$26487,$26488),(nextval($26489),$26490,$26491,$26492,$26493,$26494,$26495,$26496,$26497,$26498,$26499,$26500,$26501,$26502),(nextval($26503),$26504,$26505,$26506,$26507,$26508,$26509,$26510,$26511,$26512,$26513,$26514,$26515,$26516),(nextval($26517),$26518,$26519,$26520,$26521,$26522,$26523,$26524,$26525,$26526,$26527,$26528,$26529,$26530),(nextval($26531),$26532,$26533,$26534,$26535,$26536,$26537,$26538,$26539,$26540,$26541,$26542,$26543,$26544),(nextval($26545),$26546,$26547,$26548,$26549,$26550,$26551,$26552,$26553,$26554,$26555,$26556,$26557,$26558),(nextval($26559),$26560,$26561,$26562,$26563,$26564,$26565,$26566,$26567,$26568,$26569,$26570,$26571,$26572),(nextval($26573),$26574,$26575,$26576,$26577,$26578,$26579,$26580,$26581,$26582,$26583,$26584,$26585,$26586),(nextval($26587),$26588,$26589,$26590,$26591,$26592,$26593,$26594,$26595,$26596,$26597,$26598,$26599,$26600),(nextval($26601),$26602,$26603,$26604,$26605,$26606,$26607,$26608,$26609,$26610,$26611,$26612,$26613,$26614),(nextval($26615),$26616,$26617,$26618,$26619,$26620,$26621,$26622,$26623,$26624,$26625,$26626,$26627,$26628),(nextval($26629),$26630,$26631,$26632,$26633,$26634,$26635,$26636,$26637,$26638,$26639,$26640,$26641,$26642),(nextval($26643),$26644,$26645,$26646,$26647,$26648,$26649,$26650,$26651,$26652,$26653,$26654,$26655,$26656),(nextval($26657),$26658,$26659,$26660,$26661,$26662,$26663,$26664,$26665,$26666,$26667,$26668,$26669,$26670),(nextval($26671),$26672,$26673,$26674,$26675,$26676,$26677,$26678,$26679,$26680,$26681,$26682,$26683,$26684),(nextval($26685),$26686,$26687,$26688,$26689,$26690,$26691,$26692,$26693,$26694,$26695,$26696,$26697,$26698),(nextval($26699),$26700,$26701,$26702,$26703,$26704,$26705,$26706,$26707,$26708,$26709,$26710,$26711,$26712),(nextval($26713),$26714,$26715,$26716,$26717,$26718,$26719,$26720,$26721,$26722,$26723,$26724,$26725,$26726),(nextval($26727),$26728,$26729,$26730,$26731,$26732,$26733,$26734,$26735,$26736,$26737,$26738,$26739,$26740),(nextval($26741),$26742,$26743,$26744,$26745,$26746,$26747,$26748,$26749,$26750,$26751,$26752,$26753,$26754),(nextval($26755),$26756,$26757,$26758,$26759,$26760,$26761,$26762,$26763,$26764,$26765,$26766,$26767,$26768),(nextval($26769),$26770,$26771,$26772,$26773,$26774,$26775,$26776,$26777,$26778,$26779,$26780,$26781,$26782),(nextval($26783),$26784,$26785,$26786,$26787,$26788,$26789,$26790,$26791,$26792,$26793,$26794,$26795,$26796),(nextval($26797),$26798,$26799,$26800,$26801,$26802,$26803,$26804,$26805,$26806,$26807,$26808,$26809,$26810),(nextval($26811),$26812,$26813,$26814,$26815,$26816,$26817,$26818,$26819,$26820,$26821,$26822,$26823,$26824),(nextval($26825),$26826,$26827,$26828,$26829,$26830,$26831,$26832,$26833,$26834,$26835,$26836,$26837,$26838),(nextval($26839),$26840,$26841,$26842,$26843,$26844,$26845,$26846,$26847,$26848,$26849,$26850,$26851,$26852),(nextval($26853),$26854,$26855,$26856,$26857,$26858,$26859,$26860,$26861,$26862,$26863,$26864,$26865,$26866),(nextval($26867),$26868,$26869,$26870,$26871,$26872,$26873,$26874,$26875,$26876,$26877,$26878,$26879,$26880),(nextval($26881),$26882,$26883,$26884,$26885,$26886,$26887,$26888,$26889,$26890,$26891,$26892,$26893,$26894),(nextval($26895),$26896,$26897,$26898,$26899,$26900,$26901,$26902,$26903,$26904,$26905,$26906,$26907,$26908),(nextval($26909),$26910,$26911,$26912,$26913,$26914,$26915,$26916,$26917,$26918,$26919,$26920,$26921,$26922),(nextval($26923),$26924,$26925,$26926,$26927,$26928,$26929,$26930,$26931,$26932,$26933,$26934,$26935,$26936),(nextval($26937),$26938,$26939,$26940,$26941,$26942,$26943,$26944,$26945,$26946,$26947,$26948,$26949,$26950),(nextval($26951),$26952,$26953,$26954,$26955,$26956,$26957,$26958,$26959,$26960,$26961,$26962,$26963,$26964),(nextval($26965),$26966,$26967,$26968,$26969,$26970,$26971,$26972,$26973,$26974,$26975,$26976,$26977,$26978),(nextval($26979),$26980,$26981,$26982,$26983,$26984,$26985,$26986,$26987,$26988,$26989,$26990,$26991,$26992),(nextval($26993),$26994,$26995,$26996,$26997,$26998,$26999,$27000,$27001,$27002,$27003,$27004,$27005,$27006),(nextval($27007),$27008,$27009,$27010,$27011,$27012,$27013,$27014,$27015,$27016,$27017,$27018,$27019,$27020),(nextval($27021),$27022,$27023,$27024,$27025,$27026,$27027,$27028,$27029,$27030,$27031,$27032,$27033,$27034),(nextval($27035),$27036,$27037,$27038,$27039,$27040,$27041,$27042,$27043,$27044,$27045,$27046,$27047,$27048),(nextval($27049),$27050,$27051,$27052,$27053,$27054,$27055,$27056,$27057,$27058,$27059,$27060,$27061,$27062),(nextval($27063),$27064,$27065,$27066,$27067,$27068,$27069,$27070,$27071,$27072,$27073,$27074,$27075,$27076),(nextval($27077),$27078,$27079,$27080,$27081,$27082,$27083,$27084,$27085,$27086,$27087,$27088,$27089,$27090),(nextval($27091),$27092,$27093,$27094,$27095,$27096,$27097,$27098,$27099,$27100,$27101,$27102,$27103,$27104),(nextval($27105),$27106,$27107,$27108,$27109,$27110,$27111,$27112,$27113,$27114,$27115,$27116,$27117,$27118),(nextval($27119),$27120,$27121,$27122,$27123,$27124,$27125,$27126,$27127,$27128,$27129,$27130,$27131,$27132),(nextval($27133),$27134,$27135,$27136,$27137,$27138,$27139,$27140,$27141,$27142,$27143,$27144,$27145,$27146),(nextval($27147),$27148,$27149,$27150,$27151,$27152,$27153,$27154,$27155,$27156,$27157,$27158,$27159,$27160),(nextval($27161),$27162,$27163,$27164,$27165,$27166,$27167,$27168,$27169,$27170,$27171,$27172,$27173,$27174),(nextval($27175),$27176,$27177,$27178,$27179,$27180,$27181,$27182,$27183,$27184,$27185,$27186,$27187,$27188),(nextval($27189),$27190,$27191,$27192,$27193,$27194,$27195,$27196,$27197,$27198,$27199,$27200,$27201,$27202),(nextval($27203),$27204,$27205,$27206,$27207,$27208,$27209,$27210,$27211,$27212,$27213,$27214,$27215,$27216),(nextval($27217),$27218,$27219,$27220,$27221,$27222,$27223,$27224,$27225,$27226,$27227,$27228,$27229,$27230),(nextval($27231),$27232,$27233,$27234,$27235,$27236,$27237,$27238,$27239,$27240,$27241,$27242,$27243,$27244),(nextval($27245),$27246,$27247,$27248,$27249,$27250,$27251,$27252,$27253,$27254,$27255,$27256,$27257,$27258),(nextval($27259),$27260,$27261,$27262,$27263,$27264,$27265,$27266,$27267,$27268,$27269,$27270,$27271,$27272),(nextval($27273),$27274,$27275,$27276,$27277,$27278,$27279,$27280,$27281,$27282,$27283,$27284,$27285,$27286),(nextval($27287),$27288,$27289,$27290,$27291,$27292,$27293,$27294,$27295,$27296,$27297,$27298,$27299,$27300),(nextval($27301),$27302,$27303,$27304,$27305,$27306,$27307,$27308,$27309,$27310,$27311,$27312,$27313,$27314),(nextval($27315),$27316,$27317,$27318,$27319,$27320,$27321,$27322,$27323,$27324,$27325,$27326,$27327,$27328),(nextval($27329),$27330,$27331,$27332,$27333,$27334,$27335,$27336,$27337,$27338,$27339,$27340,$27341,$27342),(nextval($27343),$27344,$27345,$27346,$27347,$27348,$27349,$27350,$27351,$27352,$27353,$27354,$27355,$27356),(nextval($27357),$27358,$27359,$27360,$27361,$27362,$27363,$27364,$27365,$27366,$27367,$27368,$27369,$27370),(nextval($27371),$27372,$27373,$27374,$27375,$27376,$27377,$27378,$27379,$27380,$27381,$27382,$27383,$27384),(nextval($27385),$27386,$27387,$27388,$27389,$27390,$27391,$27392,$27393,$27394,$27395,$27396,$27397,$27398),(nextval($27399),$27400,$27401,$27402,$27403,$27404,$27405,$27406,$27407,$27408,$27409,$27410,$27411,$27412),(nextval($27413),$27414,$27415,$27416,$27417,$27418,$27419,$27420,$27421,$27422,$27423,$27424,$27425,$27426),(nextval($27427),$27428,$27429,$27430,$27431,$27432,$27433,$27434,$27435,$27436,$27437,$27438,$27439,$27440),(nextval($27441),$27442,$27443,$27444,$27445,$27446,$27447,$27448,$27449,$27450,$27451,$27452,$27453,$27454),(nextval($27455),$27456,$27457,$27458,$27459,$27460,$27461,$27462,$27463,$27464,$27465,$27466,$27467,$27468),(nextval($27469),$27470,$27471,$27472,$27473,$27474,$27475,$27476,$27477,$27478,$27479,$27480,$27481,$27482),(nextval($27483),$27484,$27485,$27486,$27487,$27488,$27489,$27490,$27491,$27492,$27493,$27494,$27495,$27496),(nextval($27497),$27498,$27499,$27500,$27501,$27502,$27503,$27504,$27505,$27506,$27507,$27508,$27509,$27510),(nextval($27511),$27512,$27513,$27514,$27515,$27516,$27517,$27518,$27519,$27520,$27521,$27522,$27523,$27524),(nextval($27525),$27526,$27527,$27528,$27529,$27530,$27531,$27532,$27533,$27534,$27535,$27536,$27537,$27538),(nextval($27539),$27540,$27541,$27542,$27543,$27544,$27545,$27546,$27547,$27548,$27549,$27550,$27551,$27552),(nextval($27553),$27554,$27555,$27556,$27557,$27558,$27559,$27560,$27561,$27562,$27563,$27564,$27565,$27566),(nextval($27567),$27568,$27569,$27570,$27571,$27572,$27573,$27574,$27575,$27576,$27577,$27578,$27579,$27580),(nextval($27581),$27582,$27583,$27584,$27585,$27586,$27587,$27588,$27589,$27590,$27591,$27592,$27593,$27594),(nextval($27595),$27596,$27597,$27598,$27599,$27600,$27601,$27602,$27603,$27604,$27605,$27606,$27607,$27608),(nextval($27609),$27610,$27611,$27612,$27613,$27614,$27615,$27616,$27617,$27618,$27619,$27620,$27621,$27622),(nextval($27623),$27624,$27625,$27626,$27627,$27628,$27629,$27630,$27631,$27632,$27633,$27634,$27635,$27636),(nextval($27637),$27638,$27639,$27640,$27641,$27642,$27643,$27644,$27645,$27646,$27647,$27648,$27649,$27650),(nextval($27651),$27652,$27653,$27654,$27655,$27656,$27657,$27658,$27659,$27660,$27661,$27662,$27663,$27664),(nextval($27665),$27666,$27667,$27668,$27669,$27670,$27671,$27672,$27673,$27674,$27675,$27676,$27677,$27678),(nextval($27679),$27680,$27681,$27682,$27683,$27684,$27685,$27686,$27687,$27688,$27689,$27690,$27691,$27692),(nextval($27693),$27694,$27695,$27696,$27697,$27698,$27699,$27700,$27701,$27702,$27703,$27704,$27705,$27706),(nextval($27707),$27708,$27709,$27710,$27711,$27712,$27713,$27714,$27715,$27716,$27717,$27718,$27719,$27720),(nextval($27721),$27722,$27723,$27724,$27725,$27726,$27727,$27728,$27729,$27730,$27731,$27732,$27733,$27734),(nextval($27735),$27736,$27737,$27738,$27739,$27740,$27741,$27742,$27743,$27744,$27745,$27746,$27747,$27748),(nextval($27749),$27750,$27751,$27752,$27753,$27754,$27755,$27756,$27757,$27758,$27759,$27760,$27761,$27762),(nextval($27763),$27764,$27765,$27766,$27767,$27768,$27769,$27770,$27771,$27772,$27773,$27774,$27775,$27776),(nextval($27777),$27778,$27779,$27780,$27781,$27782,$27783,$27784,$27785,$27786,$27787,$27788,$27789,$27790),(nextval($27791),$27792,$27793,$27794,$27795,$27796,$27797,$27798,$27799,$27800,$27801,$27802,$27803,$27804),(nextval($27805),$27806,$27807,$27808,$27809,$27810,$27811,$27812,$27813,$27814,$27815,$27816,$27817,$27818),(nextval($27819),$27820,$27821,$27822,$27823,$27824,$27825,$27826,$27827,$27828,$27829,$27830,$27831,$27832),(nextval($27833),$27834,$27835,$27836,$27837,$27838,$27839,$27840,$27841,$27842,$27843,$27844,$27845,$27846),(nextval($27847),$27848,$27849,$27850,$27851,$27852,$27853,$27854,$27855,$27856,$27857,$27858,$27859,$27860),(nextval($27861),$27862,$27863,$27864,$27865,$27866,$27867,$27868,$27869,$27870,$27871,$27872,$27873,$27874),(nextval($27875),$27876,$27877,$27878,$27879,$27880,$27881,$27882,$27883,$27884,$27885,$27886,$27887,$27888),(nextval($27889),$27890,$27891,$27892,$27893,$27894,$27895,$27896,$27897,$27898,$27899,$27900,$27901,$27902),(nextval($27903),$27904,$27905,$27906,$27907,$27908,$27909,$27910,$27911,$27912,$27913,$27914,$27915,$27916),(nextval($27917),$27918,$27919,$27920,$27921,$27922,$27923,$27924,$27925,$27926,$27927,$27928,$27929,$27930),(nextval($27931),$27932,$27933,$27934,$27935,$27936,$27937,$27938,$27939,$27940,$27941,$27942,$27943,$27944),(nextval($27945),$27946,$27947,$27948,$27949,$27950,$27951,$27952,$27953,$27954,$27955,$27956,$27957,$27958),(nextval($27959),$27960,$27961,$27962,$27963,$27964,$27965,$27966,$27967,$27968,$27969,$27970,$27971,$27972),(nextval($27973),$27974,$27975,$27976,$27977,$27978,$27979,$27980,$27981,$27982,$27983,$27984,$27985,$27986),(nextval($27987),$27988,$27989,$27990,$27991,$27992,$27993,$27994,$27995,$27996,$27997,$27998,$27999,$28000),(nextval($28001),$28002,$28003,$28004,$28005,$28006,$28007,$28008,$28009,$28010,$28011,$28012,$28013,$28014),(nextval($28015),$28016,$28017,$28018,$28019,$28020,$28021,$28022,$28023,$28024,$28025,$28026,$28027,$28028),(nextval($28029),$28030,$28031,$28032,$28033,$28034,$28035,$28036,$28037,$28038,$28039,$28040,$28041,$28042),(nextval($28043),$28044,$28045,$28046,$28047,$28048,$28049,$28050,$28051,$28052,$28053,$28054,$28055,$28056),(nextval($28057),$28058,$28059,$28060,$28061,$28062,$28063,$28064,$28065,$28066,$28067,$28068,$28069,$28070),(nextval($28071),$28072,$28073,$28074,$28075,$28076,$28077,$28078,$28079,$28080,$28081,$28082,$28083,$28084),(nextval($28085),$28086,$28087,$28088,$28089,$28090,$28091,$28092,$28093,$28094,$28095,$28096,$28097,$28098),(nextval($28099),$28100,$28101,$28102,$28103,$28104,$28105,$28106,$28107,$28108,$28109,$28110,$28111,$28112),(nextval($28113),$28114,$28115,$28116,$28117,$28118,$28119,$28120,$28121,$28122,$28123,$28124,$28125,$28126),(nextval($28127),$28128,$28129,$28130,$28131,$28132,$28133,$28134,$28135,$28136,$28137,$28138,$28139,$28140),(nextval($28141),$28142,$28143,$28144,$28145,$28146,$28147,$28148,$28149,$28150,$28151,$28152,$28153,$28154),(nextval($28155),$28156,$28157,$28158,$28159,$28160,$28161,$28162,$28163,$28164,$28165,$28166,$28167,$28168),(nextval($28169),$28170,$28171,$28172,$28173,$28174,$28175,$28176,$28177,$28178,$28179,$28180,$28181,$28182),(nextval($28183),$28184,$28185,$28186,$28187,$28188,$28189,$28190,$28191,$28192,$28193,$28194,$28195,$28196),(nextval($28197),$28198,$28199,$28200,$28201,$28202,$28203,$28204,$28205,$28206,$28207,$28208,$28209,$28210),(nextval($28211),$28212,$28213,$28214,$28215,$28216,$28217,$28218,$28219,$28220,$28221,$28222,$28223,$28224),(nextval($28225),$28226,$28227,$28228,$28229,$28230,$28231,$28232,$28233,$28234,$28235,$28236,$28237,$28238),(nextval($28239),$28240,$28241,$28242,$28243,$28244,$28245,$28246,$28247,$28248,$28249,$28250,$28251,$28252),(nextval($28253),$28254,$28255,$28256,$28257,$28258,$28259,$28260,$28261,$28262,$28263,$28264,$28265,$28266),(nextval($28267),$28268,$28269,$28270,$28271,$28272,$28273,$28274,$28275,$28276,$28277,$28278,$28279,$28280),(nextval($28281),$28282,$28283,$28284,$28285,$28286,$28287,$28288,$28289,$28290,$28291,$28292,$28293,$28294),(nextval($28295),$28296,$28297,$28298,$28299,$28300,$28301,$28302,$28303,$28304,$28305,$28306,$28307,$28308),(nextval($28309),$28310,$28311,$28312,$28313,$28314,$28315,$28316,$28317,$28318,$28319,$28320,$28321,$28322),(nextval($28323),$28324,$28325,$28326,$28327,$28328,$28329,$28330,$28331,$28332,$28333,$28334,$28335,$28336),(nextval($28337),$28338,$28339,$28340,$28341,$28342,$28343,$28344,$28345,$28346,$28347,$28348,$28349,$28350),(nextval($28351),$28352,$28353,$28354,$28355,$28356,$28357,$28358,$28359,$28360,$28361,$28362,$28363,$28364),(nextval($28365),$28366,$28367,$28368,$28369,$28370,$28371,$28372,$28373,$28374,$28375,$28376,$28377,$28378),(nextval($28379),$28380,$28381,$28382,$28383,$28384,$28385,$28386,$28387,$28388,$28389,$28390,$28391,$28392),(nextval($28393),$28394,$28395,$28396,$28397,$28398,$28399,$28400,$28401,$28402,$28403,$28404,$28405,$28406),(nextval($28407),$28408,$28409,$28410,$28411,$28412,$28413,$28414,$28415,$28416,$28417,$28418,$28419,$28420),(nextval($28421),$28422,$28423,$28424,$28425,$28426,$28427,$28428,$28429,$28430,$28431,$28432,$28433,$28434),(nextval($28435),$28436,$28437,$28438,$28439,$28440,$28441,$28442,$28443,$28444,$28445,$28446,$28447,$28448),(nextval($28449),$28450,$28451,$28452,$28453,$28454,$28455,$28456,$28457,$28458,$28459,$28460,$28461,$28462),(nextval($28463),$28464,$28465,$28466,$28467,$28468,$28469,$28470,$28471,$28472,$28473,$28474,$28475,$28476),(nextval($28477),$28478,$28479,$28480,$28481,$28482,$28483,$28484,$28485,$28486,$28487,$28488,$28489,$28490),(nextval($28491),$28492,$28493,$28494,$28495,$28496,$28497,$28498,$28499,$28500,$28501,$28502,$28503,$28504),(nextval($28505),$28506,$28507,$28508,$28509,$28510,$28511,$28512,$28513,$28514,$28515,$28516,$28517,$28518),(nextval($28519),$28520,$28521,$28522,$28523,$28524,$28525,$28526,$28527,$28528,$28529,$28530,$28531,$28532),(nextval($28533),$28534,$28535,$28536,$28537,$28538,$28539,$28540,$28541,$28542,$28543,$28544,$28545,$28546),(nextval($28547),$28548,$28549,$28550,$28551,$28552,$28553,$28554,$28555,$28556,$28557,$28558,$28559,$28560),(nextval($28561),$28562,$28563,$28564,$28565,$28566,$28567,$28568,$28569,$28570,$28571,$28572,$28573,$28574),(nextval($28575),$28576,$28577,$28578,$28579,$28580,$28581,$28582,$28583,$28584,$28585,$28586,$28587,$28588),(nextval($28589),$28590,$28591,$28592,$28593,$28594,$28595,$28596,$28597,$28598,$28599,$28600,$28601,$28602),(nextval($28603),$28604,$28605,$28606,$28607,$28608,$28609,$28610,$28611,$28612,$28613,$28614,$28615,$28616),(nextval($28617),$28618,$28619,$28620,$28621,$28622,$28623,$28624,$28625,$28626,$28627,$28628,$28629,$28630),(nextval($28631),$28632,$28633,$28634,$28635,$28636,$28637,$28638,$28639,$28640,$28641,$28642,$28643,$28644),(nextval($28645),$28646,$28647,$28648,$28649,$28650,$28651,$28652,$28653,$28654,$28655,$28656,$28657,$28658),(nextval($28659),$28660,$28661,$28662,$28663,$28664,$28665,$28666,$28667,$28668,$28669,$28670,$28671,$28672),(nextval($28673),$28674,$28675,$28676,$28677,$28678,$28679,$28680,$28681,$28682,$28683,$28684,$28685,$28686),(nextval($28687),$28688,$28689,$28690,$28691,$28692,$28693,$28694,$28695,$28696,$28697,$28698,$28699,$28700),(nextval($28701),$28702,$28703,$28704,$28705,$28706,$28707,$28708,$28709,$28710,$28711,$28712,$28713,$28714),(nextval($28715),$28716,$28717,$28718,$28719,$28720,$28721,$28722,$28723,$28724,$28725,$28726,$28727,$28728),(nextval($28729),$28730,$28731,$28732,$28733,$28734,$28735,$28736,$28737,$28738,$28739,$28740,$28741,$28742),(nextval($28743),$28744,$28745,$28746,$28747,$28748,$28749,$28750,$28751,$28752,$28753,$28754,$28755,$28756),(nextval($28757),$28758,$28759,$28760,$28761,$28762,$28763,$28764,$28765,$28766,$28767,$28768,$28769,$28770),(nextval($28771),$28772,$28773,$28774,$28775,$28776,$28777,$28778,$28779,$28780,$28781,$28782,$28783,$28784),(nextval($28785),$28786,$28787,$28788,$28789,$28790,$28791,$28792,$28793,$28794,$28795,$28796,$28797,$28798),(nextval($28799),$28800,$28801,$28802,$28803,$28804,$28805,$28806,$28807,$28808,$28809,$28810,$28811,$28812),(nextval($28813),$28814,$28815,$28816,$28817,$28818,$28819,$28820,$28821,$28822,$28823,$28824,$28825,$28826),(nextval($28827),$28828,$28829,$28830,$28831,$28832,$28833,$28834,$28835,$28836,$28837,$28838,$28839,$28840),(nextval($28841),$28842,$28843,$28844,$28845,$28846,$28847,$28848,$28849,$28850,$28851,$28852,$28853,$28854),(nextval($28855),$28856,$28857,$28858,$28859,$28860,$28861,$28862,$28863,$28864,$28865,$28866,$28867,$28868),(nextval($28869),$28870,$28871,$28872,$28873,$28874,$28875,$28876,$28877,$28878,$28879,$28880,$28881,$28882),(nextval($28883),$28884,$28885,$28886,$28887,$28888,$28889,$28890,$28891,$28892,$28893,$28894,$28895,$28896),(nextval($28897),$28898,$28899,$28900,$28901,$28902,$28903,$28904,$28905,$28906,$28907,$28908,$28909,$28910),(nextval($28911),$28912,$28913,$28914,$28915,$28916,$28917,$28918,$28919,$28920,$28921,$28922,$28923,$28924),(nextval($28925),$28926,$28927,$28928,$28929,$28930,$28931,$28932,$28933,$28934,$28935,$28936,$28937,$28938),(nextval($28939),$28940,$28941,$28942,$28943,$28944,$28945,$28946,$28947,$28948,$28949,$28950,$28951,$28952),(nextval($28953),$28954,$28955,$28956,$28957,$28958,$28959,$28960,$28961,$28962,$28963,$28964,$28965,$28966),(nextval($28967),$28968,$28969,$28970,$28971,$28972,$28973,$28974,$28975,$28976,$28977,$28978,$28979,$28980),(nextval($28981),$28982,$28983,$28984,$28985,$28986,$28987,$28988,$28989,$28990,$28991,$28992,$28993,$28994),(nextval($28995),$28996,$28997,$28998,$28999,$29000,$29001,$29002,$29003,$29004,$29005,$29006,$29007,$29008),(nextval($29009),$29010,$29011,$29012,$29013,$29014,$29015,$29016,$29017,$29018,$29019,$29020,$29021,$29022),(nextval($29023),$29024,$29025,$29026,$29027,$29028,$29029,$29030,$29031,$29032,$29033,$29034,$29035,$29036),(nextval($29037),$29038,$29039,$29040,$29041,$29042,$29043,$29044,$29045,$29046,$29047,$29048,$29049,$29050),(nextval($29051),$29052,$29053,$29054,$29055,$29056,$29057,$29058,$29059,$29060,$29061,$29062,$29063,$29064),(nextval($29065),$29066,$29067,$29068,$29069,$29070,$29071,$29072,$29073,$29074,$29075,$29076,$29077,$29078),(nextval($29079),$29080,$29081,$29082,$29083,$29084,$29085,$29086,$29087,$29088,$29089,$29090,$29091,$29092),(nextval($29093),$29094,$29095,$29096,$29097,$29098,$29099,$29100,$29101,$29102,$29103,$29104,$29105,$29106),(nextval($29107),$29108,$29109,$29110,$29111,$29112,$29113,$29114,$29115,$29116,$29117,$29118,$29119,$29120),(nextval($29121),$29122,$29123,$29124,$29125,$29126,$29127,$29128,$29129,$29130,$29131,$29132,$29133,$29134),(nextval($29135),$29136,$29137,$29138,$29139,$29140,$29141,$29142,$29143,$29144,$29145,$29146,$29147,$29148),(nextval($29149),$29150,$29151,$29152,$29153,$29154,$29155,$29156,$29157,$29158,$29159,$29160,$29161,$29162),(nextval($29163),$29164,$29165,$29166,$29167,$29168,$29169,$29170,$29171,$29172,$29173,$29174,$29175,$29176),(nextval($29177),$29178,$29179,$29180,$29181,$29182,$29183,$29184,$29185,$29186,$29187,$29188,$29189,$29190),(nextval($29191),$29192,$29193,$29194,$29195,$29196,$29197,$29198,$29199,$29200,$29201,$29202,$29203,$29204),(nextval($29205),$29206,$29207,$29208,$29209,$29210,$29211,$29212,$29213,$29214,$29215,$29216,$29217,$29218),(nextval($29219),$29220,$29221,$29222,$29223,$29224,$29225,$29226,$29227,$29228,$29229,$29230,$29231,$29232),(nextval($29233),$29234,$29235,$29236,$29237,$29238,$29239,$29240,$29241,$29242,$29243,$29244,$29245,$29246),(nextval($29247),$29248,$29249,$29250,$29251,$29252,$29253,$29254,$29255,$29256,$29257,$29258,$29259,$29260),(nextval($29261),$29262,$29263,$29264,$29265,$29266,$29267,$29268,$29269,$29270,$29271,$29272,$29273,$29274),(nextval($29275),$29276,$29277,$29278,$29279,$29280,$29281,$29282,$29283,$29284,$29285,$29286,$29287,$29288),(nextval($29289),$29290,$29291,$29292,$29293,$29294,$29295,$29296,$29297,$29298,$29299,$29300,$29301,$29302),(nextval($29303),$29304,$29305,$29306,$29307,$29308,$29309,$29310,$29311,$29312,$29313,$29314,$29315,$29316),(nextval($29317),$29318,$29319,$29320,$29321,$29322,$29323,$29324,$29325,$29326,$29327,$29328,$29329,$29330),(nextval($29331),$29332,$29333,$29334,$29335,$29336,$29337,$29338,$29339,$29340,$29341,$29342,$29343,$29344),(nextval($29345),$29346,$29347,$29348,$29349,$29350,$29351,$29352,$29353,$29354,$29355,$29356,$29357,$29358),(nextval($29359),$29360,$29361,$29362,$29363,$29364,$29365,$29366,$29367,$29368,$29369,$29370,$29371,$29372),(nextval($29373),$29374,$29375,$29376,$29377,$29378,$29379,$29380,$29381,$29382,$29383,$29384,$29385,$29386),(nextval($29387),$29388,$29389,$29390,$29391,$29392,$29393,$29394,$29395,$29396,$29397,$29398,$29399,$29400),(nextval($29401),$29402,$29403,$29404,$29405,$29406,$29407,$29408,$29409,$29410,$29411,$29412,$29413,$29414),(nextval($29415),$29416,$29417,$29418,$29419,$29420,$29421,$29422,$29423,$29424,$29425,$29426,$29427,$29428),(nextval($29429),$29430,$29431,$29432,$29433,$29434,$29435,$29436,$29437,$29438,$29439,$29440,$29441,$29442),(nextval($29443),$29444,$29445,$29446,$29447,$29448,$29449,$29450,$29451,$29452,$29453,$29454,$29455,$29456),(nextval($29457),$29458,$29459,$29460,$29461,$29462,$29463,$29464,$29465,$29466,$29467,$29468,$29469,$29470),(nextval($29471),$29472,$29473,$29474,$29475,$29476,$29477,$29478,$29479,$29480,$29481,$29482,$29483,$29484),(nextval($29485),$29486,$29487,$29488,$29489,$29490,$29491,$29492,$29493,$29494,$29495,$29496,$29497,$29498),(nextval($29499),$29500,$29501,$29502,$29503,$29504,$29505,$29506,$29507,$29508,$29509,$29510,$29511,$29512),(nextval($29513),$29514,$29515,$29516,$29517,$29518,$29519,$29520,$29521,$29522,$29523,$29524,$29525,$29526),(nextval($29527),$29528,$29529,$29530,$29531,$29532,$29533,$29534,$29535,$29536,$29537,$29538,$29539,$29540),(nextval($29541),$29542,$29543,$29544,$29545,$29546,$29547,$29548,$29549,$29550,$29551,$29552,$29553,$29554),(nextval($29555),$29556,$29557,$29558,$29559,$29560,$29561,$29562,$29563,$29564,$29565,$29566,$29567,$29568),(nextval($29569),$29570,$29571,$29572,$29573,$29574,$29575,$29576,$29577,$29578,$29579,$29580,$29581,$29582),(nextval($29583),$29584,$29585,$29586,$29587,$29588,$29589,$29590,$29591,$29592,$29593,$29594,$29595,$29596),(nextval($29597),$29598,$29599,$29600,$29601,$29602,$29603,$29604,$29605,$29606,$29607,$29608,$29609,$29610),(nextval($29611),$29612,$29613,$29614,$29615,$29616,$29617,$29618,$29619,$29620,$29621,$29622,$29623,$29624),(nextval($29625),$29626,$29627,$29628,$29629,$29630,$29631,$29632,$29633,$29634,$29635,$29636,$29637,$29638),(nextval($29639),$29640,$29641,$29642,$29643,$29644,$29645,$29646,$29647,$29648,$29649,$29650,$29651,$29652),(nextval($29653),$29654,$29655,$29656,$29657,$29658,$29659,$29660,$29661,$29662,$29663,$29664,$29665,$29666),(nextval($29667),$29668,$29669,$29670,$29671,$29672,$29673,$29674,$29675,$29676,$29677,$29678,$29679,$29680),(nextval($29681),$29682,$29683,$29684,$29685,$29686,$29687,$29688,$29689,$29690,$29691,$29692,$29693,$29694),(nextval($29695),$29696,$29697,$29698,$29699,$29700,$29701,$29702,$29703,$29704,$29705,$29706,$29707,$29708),(nextval($29709),$29710,$29711,$29712,$29713,$29714,$29715,$29716,$29717,$29718,$29719,$29720,$29721,$29722),(nextval($29723),$29724,$29725,$29726,$29727,$29728,$29729,$29730,$29731,$29732,$29733,$29734,$29735,$29736),(nextval($29737),$29738,$29739,$29740,$29741,$29742,$29743,$29744,$29745,$29746,$29747,$29748,$29749,$29750),(nextval($29751),$29752,$29753,$29754,$29755,$29756,$29757,$29758,$29759,$29760,$29761,$29762,$29763,$29764),(nextval($29765),$29766,$29767,$29768,$29769,$29770,$29771,$29772,$29773,$29774,$29775,$29776,$29777,$29778),(nextval($29779),$29780,$29781,$29782,$29783,$29784,$29785,$29786,$29787,$29788,$29789,$29790,$29791,$29792),(nextval($29793),$29794,$29795,$29796,$29797,$29798,$29799,$29800,$29801,$29802,$29803,$29804,$29805,$29806),(nextval($29807),$29808,$29809,$29810,$29811,$29812,$29813,$29814,$29815,$29816,$29817,$29818,$29819,$29820),(nextval($29821),$29822,$29823,$29824,$29825,$29826,$29827,$29828,$29829,$29830,$29831,$29832,$29833,$29834),(nextval($29835),$29836,$29837,$29838,$29839,$29840,$29841,$29842,$29843,$29844,$29845,$29846,$29847,$29848),(nextval($29849),$29850,$29851,$29852,$29853,$29854,$29855,$29856,$29857,$29858,$29859,$29860,$29861,$29862),(nextval($29863),$29864,$29865,$29866,$29867,$29868,$29869,$29870,$29871,$29872,$29873,$29874,$29875,$29876),(nextval($29877),$29878,$29879,$29880,$29881,$29882,$29883,$29884,$29885,$29886,$29887,$29888,$29889,$29890),(nextval($29891),$29892,$29893,$29894,$29895,$29896,$29897,$29898,$29899,$29900,$29901,$29902,$29903,$29904),(nextval($29905),$29906,$29907,$29908,$29909,$29910,$29911,$29912,$29913,$29914,$29915,$29916,$29917,$29918),(nextval($29919),$29920,$29921,$29922,$29923,$29924,$29925,$29926,$29927,$29928,$29929,$29930,$29931,$29932),(nextval($29933),$29934,$29935,$29936,$29937,$29938,$29939,$29940,$29941,$29942,$29943,$29944,$29945,$29946),(nextval($29947),$29948,$29949,$29950,$29951,$29952,$29953,$29954,$29955,$29956,$29957,$29958,$29959,$29960),(nextval($29961),$29962,$29963,$29964,$29965,$29966,$29967,$29968,$29969,$29970,$29971,$29972,$29973,$29974),(nextval($29975),$29976,$29977,$29978,$29979,$29980,$29981,$29982,$29983,$29984,$29985,$29986,$29987,$29988),(nextval($29989),$29990,$29991,$29992,$29993,$29994,$29995,$29996,$29997,$29998,$29999,$30000,$30001,$30002),(nextval($30003),$30004,$30005,$30006,$30007,$30008,$30009,$30010,$30011,$30012,$30013,$30014,$30015,$30016),(nextval($30017),$30018,$30019,$30020,$30021,$30022,$30023,$30024,$30025,$30026,$30027,$30028,$30029,$30030),(nextval($30031),$30032,$30033,$30034,$30035,$30036,$30037,$30038,$30039,$30040,$30041,$30042,$30043,$30044),(nextval($30045),$30046,$30047,$30048,$30049,$30050,$30051,$30052,$30053,$30054,$30055,$30056,$30057,$30058),(nextval($30059),$30060,$30061,$30062,$30063,$30064,$30065,$30066,$30067,$30068,$30069,$30070,$30071,$30072),(nextval($30073),$30074,$30075,$30076,$30077,$30078,$30079,$30080,$30081,$30082,$30083,$30084,$30085,$30086),(nextval($30087),$30088,$30089,$30090,$30091,$30092,$30093,$30094,$30095,$30096,$30097,$30098,$30099,$30100),(nextval($30101),$30102,$30103,$30104,$30105,$30106,$30107,$30108,$30109,$30110,$30111,$30112,$30113,$30114),(nextval($30115),$30116,$30117,$30118,$30119,$30120,$30121,$30122,$30123,$30124,$30125,$30126,$30127,$30128),(nextval($30129),$30130,$30131,$30132,$30133,$30134,$30135,$30136,$30137,$30138,$30139,$30140,$30141,$30142),(nextval($30143),$30144,$30145,$30146,$30147,$30148,$30149,$30150,$30151,$30152,$30153,$30154,$30155,$30156),(nextval($30157),$30158,$30159,$30160,$30161,$30162,$30163,$30164,$30165,$30166,$30167,$30168,$30169,$30170),(nextval($30171),$30172,$30173,$30174,$30175,$30176,$30177,$30178,$30179,$30180,$30181,$30182,$30183,$30184),(nextval($30185),$30186,$30187,$30188,$30189,$30190,$30191,$30192,$30193,$30194,$30195,$30196,$30197,$30198),(nextval($30199),$30200,$30201,$30202,$30203,$30204,$30205,$30206,$30207,$30208,$30209,$30210,$30211,$30212),(nextval($30213),$30214,$30215,$30216,$30217,$30218,$30219,$30220,$30221,$30222,$30223,$30224,$30225,$30226),(nextval($30227),$30228,$30229,$30230,$30231,$30232,$30233,$30234,$30235,$30236,$30237,$30238,$30239,$30240),(nextval($30241),$30242,$30243,$30244,$30245,$30246,$30247,$30248,$30249,$30250,$30251,$30252,$30253,$30254),(nextval($30255),$30256,$30257,$30258,$30259,$30260,$30261,$30262,$30263,$30264,$30265,$30266,$30267,$30268),(nextval($30269),$30270,$30271,$30272,$30273,$30274,$30275,$30276,$30277,$30278,$30279,$30280,$30281,$30282),(nextval($30283),$30284,$30285,$30286,$30287,$30288,$30289,$30290,$30291,$30292,$30293,$30294,$30295,$30296),(nextval($30297),$30298,$30299,$30300,$30301,$30302,$30303,$30304,$30305,$30306,$30307,$30308,$30309,$30310),(nextval($30311),$30312,$30313,$30314,$30315,$30316,$30317,$30318,$30319,$30320,$30321,$30322,$30323,$30324),(nextval($30325),$30326,$30327,$30328,$30329,$30330,$30331,$30332,$30333,$30334,$30335,$30336,$30337,$30338),(nextval($30339),$30340,$30341,$30342,$30343,$30344,$30345,$30346,$30347,$30348,$30349,$30350,$30351,$30352),(nextval($30353),$30354,$30355,$30356,$30357,$30358,$30359,$30360,$30361,$30362,$30363,$30364,$30365,$30366),(nextval($30367),$30368,$30369,$30370,$30371,$30372,$30373,$30374,$30375,$30376,$30377,$30378,$30379,$30380),(nextval($30381),$30382,$30383,$30384,$30385,$30386,$30387,$30388,$30389,$30390,$30391,$30392,$30393,$30394),(nextval($30395),$30396,$30397,$30398,$30399,$30400,$30401,$30402,$30403,$30404,$30405,$30406,$30407,$30408),(nextval($30409),$30410,$30411,$30412,$30413,$30414,$30415,$30416,$30417,$30418,$30419,$30420,$30421,$30422),(nextval($30423),$30424,$30425,$30426,$30427,$30428,$30429,$30430,$30431,$30432,$30433,$30434,$30435,$30436),(nextval($30437),$30438,$30439,$30440,$30441,$30442,$30443,$30444,$30445,$30446,$30447,$30448,$30449,$30450),(nextval($30451),$30452,$30453,$30454,$30455,$30456,$30457,$30458,$30459,$30460,$30461,$30462,$30463,$30464),(nextval($30465),$30466,$30467,$30468,$30469,$30470,$30471,$30472,$30473,$30474,$30475,$30476,$30477,$30478),(nextval($30479),$30480,$30481,$30482,$30483,$30484,$30485,$30486,$30487,$30488,$30489,$30490,$30491,$30492),(nextval($30493),$30494,$30495,$30496,$30497,$30498,$30499,$30500,$30501,$30502,$30503,$30504,$30505,$30506),(nextval($30507),$30508,$30509,$30510,$30511,$30512,$30513,$30514,$30515,$30516,$30517,$30518,$30519,$30520),(nextval($30521),$30522,$30523,$30524,$30525,$30526,$30527,$30528,$30529,$30530,$30531,$30532,$30533,$30534),(nextval($30535),$30536,$30537,$30538,$30539,$30540,$30541,$30542,$30543,$30544,$30545,$30546,$30547,$30548),(nextval($30549),$30550,$30551,$30552,$30553,$30554,$30555,$30556,$30557,$30558,$30559,$30560,$30561,$30562),(nextval($30563),$30564,$30565,$30566,$30567,$30568,$30569,$30570,$30571,$30572,$30573,$30574,$30575,$30576),(nextval($30577),$30578,$30579,$30580,$30581,$30582,$30583,$30584,$30585,$30586,$30587,$30588,$30589,$30590),(nextval($30591),$30592,$30593,$30594,$30595,$30596,$30597,$30598,$30599,$30600,$30601,$30602,$30603,$30604),(nextval($30605),$30606,$30607,$30608,$30609,$30610,$30611,$30612,$30613,$30614,$30615,$30616,$30617,$30618),(nextval($30619),$30620,$30621,$30622,$30623,$30624,$30625,$30626,$30627,$30628,$30629,$30630,$30631,$30632),(nextval($30633),$30634,$30635,$30636,$30637,$30638,$30639,$30640,$30641,$30642,$30643,$30644,$30645,$30646),(nextval($30647),$30648,$30649,$30650,$30651,$30652,$30653,$30654,$30655,$30656,$30657,$30658,$30659,$30660),(nextval($30661),$30662,$30663,$30664,$30665,$30666,$30667,$30668,$30669,$30670,$30671,$30672,$30673,$30674),(nextval($30675),$30676,$30677,$30678,$30679,$30680,$30681,$30682,$30683,$30684,$30685,$30686,$30687,$30688),(nextval($30689),$30690,$30691,$30692,$30693,$30694,$30695,$30696,$30697,$30698,$30699,$30700,$30701,$30702),(nextval($30703),$30704,$30705,$30706,$30707,$30708,$30709,$30710,$30711,$30712,$30713,$30714,$30715,$30716),(nextval($30717),$30718,$30719,$30720,$30721,$30722,$30723,$30724,$30725,$30726,$30727,$30728,$30729,$30730),(nextval($30731),$30732,$30733,$30734,$30735,$30736,$30737,$30738,$30739,$30740,$30741,$30742,$30743,$30744),(nextval($30745),$30746,$30747,$30748,$30749,$30750,$30751,$30752,$30753,$30754,$30755,$30756,$30757,$30758),(nextval($30759),$30760,$30761,$30762,$30763,$30764,$30765,$30766,$30767,$30768,$30769,$30770,$30771,$30772),(nextval($30773),$30774,$30775,$30776,$30777,$30778,$30779,$30780,$30781,$30782,$30783,$30784,$30785,$30786),(nextval($30787),$30788,$30789,$30790,$30791,$30792,$30793,$30794,$30795,$30796,$30797,$30798,$30799,$30800),(nextval($30801),$30802,$30803,$30804,$30805,$30806,$30807,$30808,$30809,$30810,$30811,$30812,$30813,$30814),(nextval($30815),$30816,$30817,$30818,$30819,$30820,$30821,$30822,$30823,$30824,$30825,$30826,$30827,$30828),(nextval($30829),$30830,$30831,$30832,$30833,$30834,$30835,$30836,$30837,$30838,$30839,$30840,$30841,$30842),(nextval($30843),$30844,$30845,$30846,$30847,$30848,$30849,$30850,$30851,$30852,$30853,$30854,$30855,$30856),(nextval($30857),$30858,$30859,$30860,$30861,$30862,$30863,$30864,$30865,$30866,$30867,$30868,$30869,$30870),(nextval($30871),$30872,$30873,$30874,$30875,$30876,$30877,$30878,$30879,$30880,$30881,$30882,$30883,$30884),(nextval($30885),$30886,$30887,$30888,$30889,$30890,$30891,$30892,$30893,$30894,$30895,$30896,$30897,$30898),(nextval($30899),$30900,$30901,$30902,$30903,$30904,$30905,$30906,$30907,$30908,$30909,$30910,$30911,$30912),(nextval($30913),$30914,$30915,$30916,$30917,$30918,$30919,$30920,$30921,$30922,$30923,$30924,$30925,$30926),(nextval($30927),$30928,$30929,$30930,$30931,$30932,$30933,$30934,$30935,$30936,$30937,$30938,$30939,$30940),(nextval($30941),$30942,$30943,$30944,$30945,$30946,$30947,$30948,$30949,$30950,$30951,$30952,$30953,$30954),(nextval($30955),$30956,$30957,$30958,$30959,$30960,$30961,$30962,$30963,$30964,$30965,$30966,$30967,$30968),(nextval($30969),$30970,$30971,$30972,$30973,$30974,$30975,$30976,$30977,$30978,$30979,$30980,$30981,$30982),(nextval($30983),$30984,$30985,$30986,$30987,$30988,$30989,$30990,$30991,$30992,$30993,$30994,$30995,$30996),(nextval($30997),$30998,$30999,$31000,$31001,$31002,$31003,$31004,$31005,$31006,$31007,$31008,$31009,$31010),(nextval($31011),$31012,$31013,$31014,$31015,$31016,$31017,$31018,$31019,$31020,$31021,$31022,$31023,$31024),(nextval($31025),$31026,$31027,$31028,$31029,$31030,$31031,$31032,$31033,$31034,$31035,$31036,$31037,$31038),(nextval($31039),$31040,$31041,$31042,$31043,$31044,$31045,$31046,$31047,$31048,$31049,$31050,$31051,$31052),(nextval($31053),$31054,$31055,$31056,$31057,$31058,$31059,$31060,$31061,$31062,$31063,$31064,$31065,$31066),(nextval($31067),$31068,$31069,$31070,$31071,$31072,$31073,$31074,$31075,$31076,$31077,$31078,$31079,$31080),(nextval($31081),$31082,$31083,$31084,$31085,$31086,$31087,$31088,$31089,$31090,$31091,$31092,$31093,$31094),(nextval($31095),$31096,$31097,$31098,$31099,$31100,$31101,$31102,$31103,$31104,$31105,$31106,$31107,$31108),(nextval($31109),$31110,$31111,$31112,$31113,$31114,$31115,$31116,$31117,$31118,$31119,$31120,$31121,$31122),(nextval($31123),$31124,$31125,$31126,$31127,$31128,$31129,$31130,$31131,$31132,$31133,$31134,$31135,$31136),(nextval($31137),$31138,$31139,$31140,$31141,$31142,$31143,$31144,$31145,$31146,$31147,$31148,$31149,$31150),(nextval($31151),$31152,$31153,$31154,$31155,$31156,$31157,$31158,$31159,$31160,$31161,$31162,$31163,$31164),(nextval($31165),$31166,$31167,$31168,$31169,$31170,$31171,$31172,$31173,$31174,$31175,$31176,$31177,$31178),(nextval($31179),$31180,$31181,$31182,$31183,$31184,$31185,$31186,$31187,$31188,$31189,$31190,$31191,$31192),(nextval($31193),$31194,$31195,$31196,$31197,$31198,$31199,$31200,$31201,$31202,$31203,$31204,$31205,$31206),(nextval($31207),$31208,$31209,$31210,$31211,$31212,$31213,$31214,$31215,$31216,$31217,$31218,$31219,$31220),(nextval($31221),$31222,$31223,$31224,$31225,$31226,$31227,$31228,$31229,$31230,$31231,$31232,$31233,$31234),(nextval($31235),$31236,$31237,$31238,$31239,$31240,$31241,$31242,$31243,$31244,$31245,$31246,$31247,$31248),(nextval($31249),$31250,$31251,$31252,$31253,$31254,$31255,$31256,$31257,$31258,$31259,$31260,$31261,$31262),(nextval($31263),$31264,$31265,$31266,$31267,$31268,$31269,$31270,$31271,$31272,$31273,$31274,$31275,$31276),(nextval($31277),$31278,$31279,$31280,$31281,$31282,$31283,$31284,$31285,$31286,$31287,$31288,$31289,$31290),(nextval($31291),$31292,$31293,$31294,$31295,$31296,$31297,$31298,$31299,$31300,$31301,$31302,$31303,$31304),(nextval($31305),$31306,$31307,$31308,$31309,$31310,$31311,$31312,$31313,$31314,$31315,$31316,$31317,$31318),(nextval($31319),$31320,$31321,$31322,$31323,$31324,$31325,$31326,$31327,$31328,$31329,$31330,$31331,$31332),(nextval($31333),$31334,$31335,$31336,$31337,$31338,$31339,$31340,$31341,$31342,$31343,$31344,$31345,$31346),(nextval($31347),$31348,$31349,$31350,$31351,$31352,$31353,$31354,$31355,$31356,$31357,$31358,$31359,$31360),(nextval($31361),$31362,$31363,$31364,$31365,$31366,$31367,$31368,$31369,$31370,$31371,$31372,$31373,$31374),(nextval($31375),$31376,$31377,$31378,$31379,$31380,$31381,$31382,$31383,$31384,$31385,$31386,$31387,$31388),(nextval($31389),$31390,$31391,$31392,$31393,$31394,$31395,$31396,$31397,$31398,$31399,$31400,$31401,$31402),(nextval($31403),$31404,$31405,$31406,$31407,$31408,$31409,$31410,$31411,$31412,$31413,$31414,$31415,$31416),(nextval($31417),$31418,$31419,$31420,$31421,$31422,$31423,$31424,$31425,$31426,$31427,$31428,$31429,$31430),(nextval($31431),$31432,$31433,$31434,$31435,$31436,$31437,$31438,$31439,$31440,$31441,$31442,$31443,$31444),(nextval($31445),$31446,$31447,$31448,$31449,$31450,$31451,$31452,$31453,$31454,$31455,$31456,$31457,$31458),(nextval($31459),$31460,$31461,$31462,$31463,$31464,$31465,$31466,$31467,$31468,$31469,$31470,$31471,$31472),(nextval($31473),$31474,$31475,$31476,$31477,$31478,$31479,$31480,$31481,$31482,$31483,$31484,$31485,$31486),(nextval($31487),$31488,$31489,$31490,$31491,$31492,$31493,$31494,$31495,$31496,$31497,$31498,$31499,$31500),(nextval($31501),$31502,$31503,$31504,$31505,$31506,$31507,$31508,$31509,$31510,$31511,$31512,$31513,$31514),(nextval($31515),$31516,$31517,$31518,$31519,$31520,$31521,$31522,$31523,$31524,$31525,$31526,$31527,$31528),(nextval($31529),$31530,$31531,$31532,$31533,$31534,$31535,$31536,$31537,$31538,$31539,$31540,$31541,$31542),(nextval($31543),$31544,$31545,$31546,$31547,$31548,$31549,$31550,$31551,$31552,$31553,$31554,$31555,$31556),(nextval($31557),$31558,$31559,$31560,$31561,$31562,$31563,$31564,$31565,$31566,$31567,$31568,$31569,$31570),(nextval($31571),$31572,$31573,$31574,$31575,$31576,$31577,$31578,$31579,$31580,$31581,$31582,$31583,$31584),(nextval($31585),$31586,$31587,$31588,$31589,$31590,$31591,$31592,$31593,$31594,$31595,$31596,$31597,$31598),(nextval($31599),$31600,$31601,$31602,$31603,$31604,$31605,$31606,$31607,$31608,$31609,$31610,$31611,$31612),(nextval($31613),$31614,$31615,$31616,$31617,$31618,$31619,$31620,$31621,$31622,$31623,$31624,$31625,$31626),(nextval($31627),$31628,$31629,$31630,$31631,$31632,$31633,$31634,$31635,$31636,$31637,$31638,$31639,$31640),(nextval($31641),$31642,$31643,$31644,$31645,$31646,$31647,$31648,$31649,$31650,$31651,$31652,$31653,$31654),(nextval($31655),$31656,$31657,$31658,$31659,$31660,$31661,$31662,$31663,$31664,$31665,$31666,$31667,$31668),(nextval($31669),$31670,$31671,$31672,$31673,$31674,$31675,$31676,$31677,$31678,$31679,$31680,$31681,$31682),(nextval($31683),$31684,$31685,$31686,$31687,$31688,$31689,$31690,$31691,$31692,$31693,$31694,$31695,$31696),(nextval($31697),$31698,$31699,$31700,$31701,$31702,$31703,$31704,$31705,$31706,$31707,$31708,$31709,$31710),(nextval($31711),$31712,$31713,$31714,$31715,$31716,$31717,$31718,$31719,$31720,$31721,$31722,$31723,$31724),(nextval($31725),$31726,$31727,$31728,$31729,$31730,$31731,$31732,$31733,$31734,$31735,$31736,$31737,$31738),(nextval($31739),$31740,$31741,$31742,$31743,$31744,$31745,$31746,$31747,$31748,$31749,$31750,$31751,$31752),(nextval($31753),$31754,$31755,$31756,$31757,$31758,$31759,$31760,$31761,$31762,$31763,$31764,$31765,$31766),(nextval($31767),$31768,$31769,$31770,$31771,$31772,$31773,$31774,$31775,$31776,$31777,$31778,$31779,$31780),(nextval($31781),$31782,$31783,$31784,$31785,$31786,$31787,$31788,$31789,$31790,$31791,$31792,$31793,$31794),(nextval($31795),$31796,$31797,$31798,$31799,$31800,$31801,$31802,$31803,$31804,$31805,$31806,$31807,$31808),(nextval($31809),$31810,$31811,$31812,$31813,$31814,$31815,$31816,$31817,$31818,$31819,$31820,$31821,$31822),(nextval($31823),$31824,$31825,$31826,$31827,$31828,$31829,$31830,$31831,$31832,$31833,$31834,$31835,$31836),(nextval($31837),$31838,$31839,$31840,$31841,$31842,$31843,$31844,$31845,$31846,$31847,$31848,$31849,$31850),(nextval($31851),$31852,$31853,$31854,$31855,$31856,$31857,$31858,$31859,$31860,$31861,$31862,$31863,$31864),(nextval($31865),$31866,$31867,$31868,$31869,$31870,$31871,$31872,$31873,$31874,$31875,$31876,$31877,$31878),(nextval($31879),$31880,$31881,$31882,$31883,$31884,$31885,$31886,$31887,$31888,$31889,$31890,$31891,$31892),(nextval($31893),$31894,$31895,$31896,$31897,$31898,$31899,$31900,$31901,$31902,$31903,$31904,$31905,$31906),(nextval($31907),$31908,$31909,$31910,$31911,$31912,$31913,$31914,$31915,$31916,$31917,$31918,$31919,$31920),(nextval($31921),$31922,$31923,$31924,$31925,$31926,$31927,$31928,$31929,$31930,$31931,$31932,$31933,$31934),(nextval($31935),$31936,$31937,$31938,$31939,$31940,$31941,$31942,$31943,$31944,$31945,$31946,$31947,$31948),(nextval($31949),$31950,$31951,$31952,$31953,$31954,$31955,$31956,$31957,$31958,$31959,$31960,$31961,$31962),(nextval($31963),$31964,$31965,$31966,$31967,$31968,$31969,$31970,$31971,$31972,$31973,$31974,$31975,$31976),(nextval($31977),$31978,$31979,$31980,$31981,$31982,$31983,$31984,$31985,$31986,$31987,$31988,$31989,$31990),(nextval($31991),$31992,$31993,$31994,$31995,$31996,$31997,$31998,$31999,$32000,$32001,$32002,$32003,$32004),(nextval($32005),$32006,$32007,$32008,$32009,$32010,$32011,$32012,$32013,$32014,$32015,$32016,$32017,$32018),(nextval($32019),$32020,$32021,$32022,$32023,$32024,$32025,$32026,$32027,$32028,$32029,$32030,$32031,$32032),(nextval($32033),$32034,$32035,$32036,$32037,$32038,$32039,$32040,$32041,$32042,$32043,$32044,$32045,$32046),(nextval($32047),$32048,$32049,$32050,$32051,$32052,$32053,$32054,$32055,$32056,$32057,$32058,$32059,$32060),(nextval($32061),$32062,$32063,$32064,$32065,$32066,$32067,$32068,$32069,$32070,$32071,$32072,$32073,$32074),(nextval($32075),$32076,$32077,$32078,$32079,$32080,$32081,$32082,$32083,$32084,$32085,$32086,$32087,$32088),(nextval($32089),$32090,$32091,$32092,$32093,$32094,$32095,$32096,$32097,$32098,$32099,$32100,$32101,$32102),(nextval($32103),$32104,$32105,$32106,$32107,$32108,$32109,$32110,$32111,$32112,$32113,$32114,$32115,$32116),(nextval($32117),$32118,$32119,$32120,$32121,$32122,$32123,$32124,$32125,$32126,$32127,$32128,$32129,$32130),(nextval($32131),$32132,$32133,$32134,$32135,$32136,$32137,$32138,$32139,$32140,$32141,$32142,$32143,$32144),(nextval($32145),$32146,$32147,$32148,$32149,$32150,$32151,$32152,$32153,$32154,$32155,$32156,$32157,$32158),(nextval($32159),$32160,$32161,$32162,$32163,$32164,$32165,$32166,$32167,$32168,$32169,$32170,$32171,$32172),(nextval($32173),$32174,$32175,$32176,$32177,$32178,$32179,$32180,$32181,$32182,$32183,$32184,$32185,$32186),(nextval($32187),$32188,$32189,$32190,$32191,$32192,$32193,$32194,$32195,$32196,$32197,$32198,$32199,$32200),(nextval($32201),$32202,$32203,$32204,$32205,$32206,$32207,$32208,$32209,$32210,$32211,$32212,$32213,$32214),(nextval($32215),$32216,$32217,$32218,$32219,$32220,$32221,$32222,$32223,$32224,$32225,$32226,$32227,$32228),(nextval($32229),$32230,$32231,$32232,$32233,$32234,$32235,$32236,$32237,$32238,$32239,$32240,$32241,$32242),(nextval($32243),$32244,$32245,$32246,$32247,$32248,$32249,$32250,$32251,$32252,$32253,$32254,$32255,$32256),(nextval($32257),$32258,$32259,$32260,$32261,$32262,$32263,$32264,$32265,$32266,$32267,$32268,$32269,$32270),(nextval($32271),$32272,$32273,$32274,$32275,$32276,$32277,$32278,$32279,$32280,$32281,$32282,$32283,$32284),(nextval($32285),$32286,$32287,$32288,$32289,$32290,$32291,$32292,$32293,$32294,$32295,$32296,$32297,$32298),(nextval($32299),$32300,$32301,$32302,$32303,$32304,$32305,$32306,$32307,$32308,$32309,$32310,$32311,$32312),(nextval($32313),$32314,$32315,$32316,$32317,$32318,$32319,$32320,$32321,$32322,$32323,$32324,$32325,$32326),(nextval($32327),$32328,$32329,$32330,$32331,$32332,$32333,$32334,$32335,$32336,$32337,$32338,$32339,$32340),(nextval($32341),$32342,$32343,$32344,$32345,$32346,$32347,$32348,$32349,$32350,$32351,$32352,$32353,$32354),(nextval($32355),$32356,$32357,$32358,$32359,$32360,$32361,$32362,$32363,$32364,$32365,$32366,$32367,$32368),(nextval($32369),$32370,$32371,$32372,$32373,$32374,$32375,$32376,$32377,$32378,$32379,$32380,$32381,$32382),(nextval($32383),$32384,$32385,$32386,$32387,$32388,$32389,$32390,$32391,$32392,$32393,$32394,$32395,$32396),(nextval($32397),$32398,$32399,$32400,$32401,$32402,$32403,$32404,$32405,$32406,$32407,$32408,$32409,$32410),(nextval($32411),$32412,$32413,$32414,$32415,$32416,$32417,$32418,$32419,$32420,$32421,$32422,$32423,$32424),(nextval($32425),$32426,$32427,$32428,$32429,$32430,$32431,$32432,$32433,$32434,$32435,$32436,$32437,$32438),(nextval($32439),$32440,$32441,$32442,$32443,$32444,$32445,$32446,$32447,$32448,$32449,$32450,$32451,$32452),(nextval($32453),$32454,$32455,$32456,$32457,$32458,$32459,$32460,$32461,$32462,$32463,$32464,$32465,$32466),(nextval($32467),$32468,$32469,$32470,$32471,$32472,$32473,$32474,$32475,$32476,$32477,$32478,$32479,$32480),(nextval($32481),$32482,$32483,$32484,$32485,$32486,$32487,$32488,$32489,$32490,$32491,$32492,$32493,$32494),(nextval($32495),$32496,$32497,$32498,$32499,$32500,$32501,$32502,$32503,$32504,$32505,$32506,$32507,$32508),(nextval($32509),$32510,$32511,$32512,$32513,$32514,$32515,$32516,$32517,$32518,$32519,$32520,$32521,$32522),(nextval($32523),$32524,$32525,$32526,$32527,$32528,$32529,$32530,$32531,$32532,$32533,$32534,$32535,$32536),(nextval($32537),$32538,$32539,$32540,$32541,$32542,$32543,$32544,$32545,$32546,$32547,$32548,$32549,$32550),(nextval($32551),$32552,$32553,$32554,$32555,$32556,$32557,$32558,$32559,$32560,$32561,$32562,$32563,$32564),(nextval($32565),$32566,$32567,$32568,$32569,$32570,$32571,$32572,$32573,$32574,$32575,$32576,$32577,$32578),(nextval($32579),$32580,$32581,$32582,$32583,$32584,$32585,$32586,$32587,$32588,$32589,$32590,$32591,$32592),(nextval($32593),$32594,$32595,$32596,$32597,$32598,$32599,$32600,$32601,$32602,$32603,$32604,$32605,$32606),(nextval($32607),$32608,$32609,$32610,$32611,$32612,$32613,$32614,$32615,$32616,$32617,$32618,$32619,$32620),(nextval($32621),$32622,$32623,$32624,$32625,$32626,$32627,$32628,$32629,$32630,$32631,$32632,$32633,$32634),(nextval($32635),$32636,$32637,$32638,$32639,$32640,$32641,$32642,$32643,$32644,$32645,$32646,$32647,$32648),(nextval($32649),$32650,$32651,$32652,$32653,$32654,$32655,$32656,$32657,$32658,$32659,$32660,$32661,$32662),(nextval($32663),$32664,$32665,$32666,$32667,$32668,$32669,$32670,$32671,$32672,$32673,$32674,$32675,$32676),(nextval($32677),$32678,$32679,$32680,$32681,$32682,$32683,$32684,$32685,$32686,$32687,$32688,$32689,$32690),(nextval($32691),$32692,$32693,$32694,$32695,$32696,$32697,$32698,$32699,$32700,$32701,$32702,$32703,$32704),(nextval($32705),$32706,$32707,$32708,$32709,$32710,$32711,$32712,$32713,$32714,$32715,$32716,$32717,$32718),(nextval($32719),$32720,$32721,$32722,$32723,$32724,$32725,$32726,$32727,$32728,$32729,$32730,$32731,$32732),(nextval($32733),$32734,$32735,$32736,$32737,$32738,$32739,$32740,$32741,$32742,$32743,$32744,$32745,$32746),(nextval($32747),$32748,$32749,$32750,$32751,$32752,$32753,$32754,$32755,$32756,$32757,$32758,$32759,$32760),(nextval($32761),$32762,$32763,$32764,$32765,$32766,$32767,$32768,$32769,$32770,$32771,$32772,$32773,$32774),(nextval($32775),$32776,$32777,$32778,$32779,$32780,$32781,$32782,$32783,$32784,$32785,$32786,$32787,$32788),(nextval($32789),$32790,$32791,$32792,$32793,$32794,$32795,$32796,$32797,$32798,$32799,$32800,$32801,$32802),(nextval($32803),$32804,$32805,$32806,$32807,$32808,$32809,$32810,$32811,$32812,$32813,$32814,$32815,$32816),(nextval($32817),$32818,$32819,$32820,$32821,$32822,$32823,$32824,$32825,$32826,$32827,$32828,$32829,$32830),(nextval($32831),$32832,$32833,$32834,$32835,$32836,$32837,$32838,$32839,$32840,$32841,$32842,$32843,$32844),(nextval($32845),$32846,$32847,$32848,$32849,$32850,$32851,$32852,$32853,$32854,$32855,$32856,$32857,$32858),(nextval($32859),$32860,$32861,$32862,$32863,$32864,$32865,$32866,$32867,$32868,$32869,$32870,$32871,$32872),(nextval($32873),$32874,$32875,$32876,$32877,$32878,$32879,$32880,$32881,$32882,$32883,$32884,$32885,$32886),(nextval($32887),$32888,$32889,$32890,$32891,$32892,$32893,$32894,$32895,$32896,$32897,$32898,$32899,$32900),(nextval($32901),$32902,$32903,$32904,$32905,$32906,$32907,$32908,$32909,$32910,$32911,$32912,$32913,$32914),(nextval($32915),$32916,$32917,$32918,$32919,$32920,$32921,$32922,$32923,$32924,$32925,$32926,$32927,$32928),(nextval($32929),$32930,$32931,$32932,$32933,$32934,$32935,$32936,$32937,$32938,$32939,$32940,$32941,$32942),(nextval($32943),$32944,$32945,$32946,$32947,$32948,$32949,$32950,$32951,$32952,$32953,$32954,$32955,$32956),(nextval($32957),$32958,$32959,$32960,$32961,$32962,$32963,$32964,$32965,$32966,$32967,$32968,$32969,$32970),(nextval($32971),$32972,$32973,$32974,$32975,$32976,$32977,$32978,$32979,$32980,$32981,$32982,$32983,$32984),(nextval($32985),$32986,$32987,$32988,$32989,$32990,$32991,$32992,$32993,$32994,$32995,$32996,$32997,$32998),(nextval($32999),$33000,$33001,$33002,$33003,$33004,$33005,$33006,$33007,$33008,$33009,$33010,$33011,$33012),(nextval($33013),$33014,$33015,$33016,$33017,$33018,$33019,$33020,$33021,$33022,$33023,$33024,$33025,$33026),(nextval($33027),$33028,$33029,$33030,$33031,$33032,$33033,$33034,$33035,$33036,$33037,$33038,$33039,$33040),(nextval($33041),$33042,$33043,$33044,$33045,$33046,$33047,$33048,$33049,$33050,$33051,$33052,$33053,$33054),(nextval($33055),$33056,$33057,$33058,$33059,$33060,$33061,$33062,$33063,$33064,$33065,$33066,$33067,$33068),(nextval($33069),$33070,$33071,$33072,$33073,$33074,$33075,$33076,$33077,$33078,$33079,$33080,$33081,$33082),(nextval($33083),$33084,$33085,$33086,$33087,$33088,$33089,$33090,$33091,$33092,$33093,$33094,$33095,$33096),(nextval($33097),$33098,$33099,$33100,$33101,$33102,$33103,$33104,$33105,$33106,$33107,$33108,$33109,$33110),(nextval($33111),$33112,$33113,$33114,$33115,$33116,$33117,$33118,$33119,$33120,$33121,$33122,$33123,$33124),(nextval($33125),$33126,$33127,$33128,$33129,$33130,$33131,$33132,$33133,$33134,$33135,$33136,$33137,$33138),(nextval($33139),$33140,$33141,$33142,$33143,$33144,$33145,$33146,$33147,$33148,$33149,$33150,$33151,$33152),(nextval($33153),$33154,$33155,$33156,$33157,$33158,$33159,$33160,$33161,$33162,$33163,$33164,$33165,$33166),(nextval($33167),$33168,$33169,$33170,$33171,$33172,$33173,$33174,$33175,$33176,$33177,$33178,$33179,$33180),(nextval($33181),$33182,$33183,$33184,$33185,$33186,$33187,$33188,$33189,$33190,$33191,$33192,$33193,$33194),(nextval($33195),$33196,$33197,$33198,$33199,$33200,$33201,$33202,$33203,$33204,$33205,$33206,$33207,$33208),(nextval($33209),$33210,$33211,$33212,$33213,$33214,$33215,$33216,$33217,$33218,$33219,$33220,$33221,$33222),(nextval($33223),$33224,$33225,$33226,$33227,$33228,$33229,$33230,$33231,$33232,$33233,$33234,$33235,$33236),(nextval($33237),$33238,$33239,$33240,$33241,$33242,$33243,$33244,$33245,$33246,$33247,$33248,$33249,$33250),(nextval($33251),$33252,$33253,$33254,$33255,$33256,$33257,$33258,$33259,$33260,$33261,$33262,$33263,$33264),(nextval($33265),$33266,$33267,$33268,$33269,$33270,$33271,$33272,$33273,$33274,$33275,$33276,$33277,$33278),(nextval($33279),$33280,$33281,$33282,$33283,$33284,$33285,$33286,$33287,$33288,$33289,$33290,$33291,$33292),(nextval($33293),$33294,$33295,$33296,$33297,$33298,$33299,$33300,$33301,$33302,$33303,$33304,$33305,$33306),(nextval($33307),$33308,$33309,$33310,$33311,$33312,$33313,$33314,$33315,$33316,$33317,$33318,$33319,$33320),(nextval($33321),$33322,$33323,$33324,$33325,$33326,$33327,$33328,$33329,$33330,$33331,$33332,$33333,$33334),(nextval($33335),$33336,$33337,$33338,$33339,$33340,$33341,$33342,$33343,$33344,$33345,$33346,$33347,$33348),(nextval($33349),$33350,$33351,$33352,$33353,$33354,$33355,$33356,$33357,$33358,$33359,$33360,$33361,$33362),(nextval($33363),$33364,$33365,$33366,$33367,$33368,$33369,$33370,$33371,$33372,$33373,$33374,$33375,$33376),(nextval($33377),$33378,$33379,$33380,$33381,$33382,$33383,$33384,$33385,$33386,$33387,$33388,$33389,$33390),(nextval($33391),$33392,$33393,$33394,$33395,$33396,$33397,$33398,$33399,$33400,$33401,$33402,$33403,$33404),(nextval($33405),$33406,$33407,$33408,$33409,$33410,$33411,$33412,$33413,$33414,$33415,$33416,$33417,$33418),(nextval($33419),$33420,$33421,$33422,$33423,$33424,$33425,$33426,$33427,$33428,$33429,$33430,$33431,$33432),(nextval($33433),$33434,$33435,$33436,$33437,$33438,$33439,$33440,$33441,$33442,$33443,$33444,$33445,$33446),(nextval($33447),$33448,$33449,$33450,$33451,$33452,$33453,$33454,$33455,$33456,$33457,$33458,$33459,$33460),(nextval($33461),$33462,$33463,$33464,$33465,$33466,$33467,$33468,$33469,$33470,$33471,$33472,$33473,$33474),(nextval($33475),$33476,$33477,$33478,$33479,$33480,$33481,$33482,$33483,$33484,$33485,$33486,$33487,$33488),(nextval($33489),$33490,$33491,$33492,$33493,$33494,$33495,$33496,$33497,$33498,$33499,$33500,$33501,$33502),(nextval($33503),$33504,$33505,$33506,$33507,$33508,$33509,$33510,$33511,$33512,$33513,$33514,$33515,$33516),(nextval($33517),$33518,$33519,$33520,$33521,$33522,$33523,$33524,$33525,$33526,$33527,$33528,$33529,$33530),(nextval($33531),$33532,$33533,$33534,$33535,$33536,$33537,$33538,$33539,$33540,$33541,$33542,$33543,$33544),(nextval($33545),$33546,$33547,$33548,$33549,$33550,$33551,$33552,$33553,$33554,$33555,$33556,$33557,$33558),(nextval($33559),$33560,$33561,$33562,$33563,$33564,$33565,$33566,$33567,$33568,$33569,$33570,$33571,$33572),(nextval($33573),$33574,$33575,$33576,$33577,$33578,$33579,$33580,$33581,$33582,$33583,$33584,$33585,$33586),(nextval($33587),$33588,$33589,$33590,$33591,$33592,$33593,$33594,$33595,$33596,$33597,$33598,$33599,$33600),(nextval($33601),$33602,$33603,$33604,$33605,$33606,$33607,$33608,$33609,$33610,$33611,$33612,$33613,$33614),(nextval($33615),$33616,$33617,$33618,$33619,$33620,$33621,$33622,$33623,$33624,$33625,$33626,$33627,$33628),(nextval($33629),$33630,$33631,$33632,$33633,$33634,$33635,$33636,$33637,$33638,$33639,$33640,$33641,$33642),(nextval($33643),$33644,$33645,$33646,$33647,$33648,$33649,$33650,$33651,$33652,$33653,$33654,$33655,$33656),(nextval($33657),$33658,$33659,$33660,$33661,$33662,$33663,$33664,$33665,$33666,$33667,$33668,$33669,$33670),(nextval($33671),$33672,$33673,$33674,$33675,$33676,$33677,$33678,$33679,$33680,$33681,$33682,$33683,$33684),(nextval($33685),$33686,$33687,$33688,$33689,$33690,$33691,$33692,$33693,$33694,$33695,$33696,$33697,$33698),(nextval($33699),$33700,$33701,$33702,$33703,$33704,$33705,$33706,$33707,$33708,$33709,$33710,$33711,$33712),(nextval($33713),$33714,$33715,$33716,$33717,$33718,$33719,$33720,$33721,$33722,$33723,$33724,$33725,$33726),(nextval($33727),$33728,$33729,$33730,$33731,$33732,$33733,$33734,$33735,$33736,$33737,$33738,$33739,$33740),(nextval($33741),$33742,$33743,$33744,$33745,$33746,$33747,$33748,$33749,$33750,$33751,$33752,$33753,$33754),(nextval($33755),$33756,$33757,$33758,$33759,$33760,$33761,$33762,$33763,$33764,$33765,$33766,$33767,$33768),(nextval($33769),$33770,$33771,$33772,$33773,$33774,$33775,$33776,$33777,$33778,$33779,$33780,$33781,$33782),(nextval($33783),$33784,$33785,$33786,$33787,$33788,$33789,$33790,$33791,$33792,$33793,$33794,$33795,$33796),(nextval($33797),$33798,$33799,$33800,$33801,$33802,$33803,$33804,$33805,$33806,$33807,$33808,$33809,$33810),(nextval($33811),$33812,$33813,$33814,$33815,$33816,$33817,$33818,$33819,$33820,$33821,$33822,$33823,$33824),(nextval($33825),$33826,$33827,$33828,$33829,$33830,$33831,$33832,$33833,$33834,$33835,$33836,$33837,$33838),(nextval($33839),$33840,$33841,$33842,$33843,$33844,$33845,$33846,$33847,$33848,$33849,$33850,$33851,$33852),(nextval($33853),$33854,$33855,$33856,$33857,$33858,$33859,$33860,$33861,$33862,$33863,$33864,$33865,$33866),(nextval($33867),$33868,$33869,$33870,$33871,$33872,$33873,$33874,$33875,$33876,$33877,$33878,$33879,$33880),(nextval($33881),$33882,$33883,$33884,$33885,$33886,$33887,$33888,$33889,$33890,$33891,$33892,$33893,$33894),(nextval($33895),$33896,$33897,$33898,$33899,$33900,$33901,$33902,$33903,$33904,$33905,$33906,$33907,$33908),(nextval($33909),$33910,$33911,$33912,$33913,$33914,$33915,$33916,$33917,$33918,$33919,$33920,$33921,$33922),(nextval($33923),$33924,$33925,$33926,$33927,$33928,$33929,$33930,$33931,$33932,$33933,$33934,$33935,$33936),(nextval($33937),$33938,$33939,$33940,$33941,$33942,$33943,$33944,$33945,$33946,$33947,$33948,$33949,$33950),(nextval($33951),$33952,$33953,$33954,$33955,$33956,$33957,$33958,$33959,$33960,$33961,$33962,$33963,$33964),(nextval($33965),$33966,$33967,$33968,$33969,$33970,$33971,$33972,$33973,$33974,$33975,$33976,$33977,$33978),(nextval($33979),$33980,$33981,$33982,$33983,$33984,$33985,$33986,$33987,$33988,$33989,$33990,$33991,$33992),(nextval($33993),$33994,$33995,$33996,$33997,$33998,$33999,$34000,$34001,$34002,$34003,$34004,$34005,$34006),(nextval($34007),$34008,$34009,$34010,$34011,$34012,$34013,$34014,$34015,$34016,$34017,$34018,$34019,$34020),(nextval($34021),$34022,$34023,$34024,$34025,$34026,$34027,$34028,$34029,$34030,$34031,$34032,$34033,$34034),(nextval($34035),$34036,$34037,$34038,$34039,$34040,$34041,$34042,$34043,$34044,$34045,$34046,$34047,$34048),(nextval($34049),$34050,$34051,$34052,$34053,$34054,$34055,$34056,$34057,$34058,$34059,$34060,$34061,$34062),(nextval($34063),$34064,$34065,$34066,$34067,$34068,$34069,$34070,$34071,$34072,$34073,$34074,$34075,$34076),(nextval($34077),$34078,$34079,$34080,$34081,$34082,$34083,$34084,$34085,$34086,$34087,$34088,$34089,$34090),(nextval($34091),$34092,$34093,$34094,$34095,$34096,$34097,$34098,$34099,$34100,$34101,$34102,$34103,$34104),(nextval($34105),$34106,$34107,$34108,$34109,$34110,$34111,$34112,$34113,$34114,$34115,$34116,$34117,$34118),(nextval($34119),$34120,$34121,$34122,$34123,$34124,$34125,$34126,$34127,$34128,$34129,$34130,$34131,$34132),(nextval($34133),$34134,$34135,$34136,$34137,$34138,$34139,$34140,$34141,$34142,$34143,$34144,$34145,$34146),(nextval($34147),$34148,$34149,$34150,$34151,$34152,$34153,$34154,$34155,$34156,$34157,$34158,$34159,$34160),(nextval($34161),$34162,$34163,$34164,$34165,$34166,$34167,$34168,$34169,$34170,$34171,$34172,$34173,$34174),(nextval($34175),$34176,$34177,$34178,$34179,$34180,$34181,$34182,$34183,$34184,$34185,$34186,$34187,$34188),(nextval($34189),$34190,$34191,$34192,$34193,$34194,$34195,$34196,$34197,$34198,$34199,$34200,$34201,$34202),(nextval($34203),$34204,$34205,$34206,$34207,$34208,$34209,$34210,$34211,$34212,$34213,$34214,$34215,$34216),(nextval($34217),$34218,$34219,$34220,$34221,$34222,$34223,$34224,$34225,$34226,$34227,$34228,$34229,$34230),(nextval($34231),$34232,$34233,$34234,$34235,$34236,$34237,$34238,$34239,$34240,$34241,$34242,$34243,$34244),(nextval($34245),$34246,$34247,$34248,$34249,$34250,$34251,$34252,$34253,$34254,$34255,$34256,$34257,$34258),(nextval($34259),$34260,$34261,$34262,$34263,$34264,$34265,$34266,$34267,$34268,$34269,$34270,$34271,$34272),(nextval($34273),$34274,$34275,$34276,$34277,$34278,$34279,$34280,$34281,$34282,$34283,$34284,$34285,$34286),(nextval($34287),$34288,$34289,$34290,$34291,$34292,$34293,$34294,$34295,$34296,$34297,$34298,$34299,$34300),(nextval($34301),$34302,$34303,$34304,$34305,$34306,$34307,$34308,$34309,$34310,$34311,$34312,$34313,$34314),(nextval($34315),$34316,$34317,$34318,$34319,$34320,$34321,$34322,$34323,$34324,$34325,$34326,$34327,$34328),(nextval($34329),$34330,$34331,$34332,$34333,$34334,$34335,$34336,$34337,$34338,$34339,$34340,$34341,$34342),(nextval($34343),$34344,$34345,$34346,$34347,$34348,$34349,$34350,$34351,$34352,$34353,$34354,$34355,$34356),(nextval($34357),$34358,$34359,$34360,$34361,$34362,$34363,$34364,$34365,$34366,$34367,$34368,$34369,$34370),(nextval($34371),$34372,$34373,$34374,$34375,$34376,$34377,$34378,$34379,$34380,$34381,$34382,$34383,$34384),(nextval($34385),$34386,$34387,$34388,$34389,$34390,$34391,$34392,$34393,$34394,$34395,$34396,$34397,$34398),(nextval($34399),$34400,$34401,$34402,$34403,$34404,$34405,$34406,$34407,$34408,$34409,$34410,$34411,$34412),(nextval($34413),$34414,$34415,$34416,$34417,$34418,$34419,$34420,$34421,$34422,$34423,$34424,$34425,$34426),(nextval($34427),$34428,$34429,$34430,$34431,$34432,$34433,$34434,$34435,$34436,$34437,$34438,$34439,$34440),(nextval($34441),$34442,$34443,$34444,$34445,$34446,$34447,$34448,$34449,$34450,$34451,$34452,$34453,$34454),(nextval($34455),$34456,$34457,$34458,$34459,$34460,$34461,$34462,$34463,$34464,$34465,$34466,$34467,$34468),(nextval($34469),$34470,$34471,$34472,$34473,$34474,$34475,$34476,$34477,$34478,$34479,$34480,$34481,$34482),(nextval($34483),$34484,$34485,$34486,$34487,$34488,$34489,$34490,$34491,$34492,$34493,$34494,$34495,$34496),(nextval($34497),$34498,$34499,$34500,$34501,$34502,$34503,$34504,$34505,$34506,$34507,$34508,$34509,$34510),(nextval($34511),$34512,$34513,$34514,$34515,$34516,$34517,$34518,$34519,$34520,$34521,$34522,$34523,$34524),(nextval($34525),$34526,$34527,$34528,$34529,$34530,$34531,$34532,$34533,$34534,$34535,$34536,$34537,$34538),(nextval($34539),$34540,$34541,$34542,$34543,$34544,$34545,$34546,$34547,$34548,$34549,$34550,$34551,$34552),(nextval($34553),$34554,$34555,$34556,$34557,$34558,$34559,$34560,$34561,$34562,$34563,$34564,$34565,$34566),(nextval($34567),$34568,$34569,$34570,$34571,$34572,$34573,$34574,$34575,$34576,$34577,$34578,$34579,$34580),(nextval($34581),$34582,$34583,$34584,$34585,$34586,$34587,$34588,$34589,$34590,$34591,$34592,$34593,$34594),(nextval($34595),$34596,$34597,$34598,$34599,$34600,$34601,$34602,$34603,$34604,$34605,$34606,$34607,$34608),(nextval($34609),$34610,$34611,$34612,$34613,$34614,$34615,$34616,$34617,$34618,$34619,$34620,$34621,$34622),(nextval($34623),$34624,$34625,$34626,$34627,$34628,$34629,$34630,$34631,$34632,$34633,$34634,$34635,$34636),(nextval($34637),$34638,$34639,$34640,$34641,$34642,$34643,$34644,$34645,$34646,$34647,$34648,$34649,$34650),(nextval($34651),$34652,$34653,$34654,$34655,$34656,$34657,$34658,$34659,$34660,$34661,$34662,$34663,$34664),(nextval($34665),$34666,$34667,$34668,$34669,$34670,$34671,$34672,$34673,$34674,$34675,$34676,$34677,$34678),(nextval($34679),$34680,$34681,$34682,$34683,$34684,$34685,$34686,$34687,$34688,$34689,$34690,$34691,$34692),(nextval($34693),$34694,$34695,$34696,$34697,$34698,$34699,$34700,$34701,$34702,$34703,$34704,$34705,$34706),(nextval($34707),$34708,$34709,$34710,$34711,$34712,$34713,$34714,$34715,$34716,$34717,$34718,$34719,$34720),(nextval($34721),$34722,$34723,$34724,$34725,$34726,$34727,$34728,$34729,$34730,$34731,$34732,$34733,$34734),(nextval($34735),$34736,$34737,$34738,$34739,$34740,$34741,$34742,$34743,$34744,$34745,$34746,$34747,$34748),(nextval($34749),$34750,$34751,$34752,$34753,$34754,$34755,$34756,$34757,$34758,$34759,$34760,$34761,$34762),(nextval($34763),$34764,$34765,$34766,$34767,$34768,$34769,$34770,$34771,$34772,$34773,$34774,$34775,$34776),(nextval($34777),$34778,$34779,$34780,$34781,$34782,$34783,$34784,$34785,$34786,$34787,$34788,$34789,$34790),(nextval($34791),$34792,$34793,$34794,$34795,$34796,$34797,$34798,$34799,$34800,$34801,$34802,$34803,$34804),(nextval($34805),$34806,$34807,$34808,$34809,$34810,$34811,$34812,$34813,$34814,$34815,$34816,$34817,$34818),(nextval($34819),$34820,$34821,$34822,$34823,$34824,$34825,$34826,$34827,$34828,$34829,$34830,$34831,$34832),(nextval($34833),$34834,$34835,$34836,$34837,$34838,$34839,$34840,$34841,$34842,$34843,$34844,$34845,$34846),(nextval($34847),$34848,$34849,$34850,$34851,$34852,$34853,$34854,$34855,$34856,$34857,$34858,$34859,$34860),(nextval($34861),$34862,$34863,$34864,$34865,$34866,$34867,$34868,$34869,$34870,$34871,$34872,$34873,$34874),(nextval($34875),$34876,$34877,$34878,$34879,$34880,$34881,$34882,$34883,$34884,$34885,$34886,$34887,$34888),(nextval($34889),$34890,$34891,$34892,$34893,$34894,$34895,$34896,$34897,$34898,$34899,$34900,$34901,$34902),(nextval($34903),$34904,$34905,$34906,$34907,$34908,$34909,$34910,$34911,$34912,$34913,$34914,$34915,$34916),(nextval($34917),$34918,$34919,$34920,$34921,$34922,$34923,$34924,$34925,$34926,$34927,$34928,$34929,$34930),(nextval($34931),$34932,$34933,$34934,$34935,$34936,$34937,$34938,$34939,$34940,$34941,$34942,$34943,$34944),(nextval($34945),$34946,$34947,$34948,$34949,$34950,$34951,$34952,$34953,$34954,$34955,$34956,$34957,$34958),(nextval($34959),$34960,$34961,$34962,$34963,$34964,$34965,$34966,$34967,$34968,$34969,$34970,$34971,$34972),(nextval($34973),$34974,$34975,$34976,$34977,$34978,$34979,$34980,$34981,$34982,$34983,$34984,$34985,$34986),(nextval($34987),$34988,$34989,$34990,$34991,$34992,$34993,$34994,$34995,$34996,$34997,$34998,$34999,$35000),(nextval($35001),$35002,$35003,$35004,$35005,$35006,$35007,$35008,$35009,$35010,$35011,$35012,$35013,$35014),(nextval($35015),$35016,$35017,$35018,$35019,$35020,$35021,$35022,$35023,$35024,$35025,$35026,$35027,$35028),(nextval($35029),$35030,$35031,$35032,$35033,$35034,$35035,$35036,$35037,$35038,$35039,$35040,$35041,$35042),(nextval($35043),$35044,$35045,$35046,$35047,$35048,$35049,$35050,$35051,$35052,$35053,$35054,$35055,$35056),(nextval($35057),$35058,$35059,$35060,$35061,$35062,$35063,$35064,$35065,$35066,$35067,$35068,$35069,$35070),(nextval($35071),$35072,$35073,$35074,$35075,$35076,$35077,$35078,$35079,$35080,$35081,$35082,$35083,$35084),(nextval($35085),$35086,$35087,$35088,$35089,$35090,$35091,$35092,$35093,$35094,$35095,$35096,$35097,$35098),(nextval($35099),$35100,$35101,$35102,$35103,$35104,$35105,$35106,$35107,$35108,$35109,$35110,$35111,$35112),(nextval($35113),$35114,$35115,$35116,$35117,$35118,$35119,$35120,$35121,$35122,$35123,$35124,$35125,$35126),(nextval($35127),$35128,$35129,$35130,$35131,$35132,$35133,$35134,$35135,$35136,$35137,$35138,$35139,$35140),(nextval($35141),$35142,$35143,$35144,$35145,$35146,$35147,$35148,$35149,$35150,$35151,$35152,$35153,$35154),(nextval($35155),$35156,$35157,$35158,$35159,$35160,$35161,$35162,$35163,$35164,$35165,$35166,$35167,$35168),(nextval($35169),$35170,$35171,$35172,$35173,$35174,$35175,$35176,$35177,$35178,$35179,$35180,$35181,$35182),(nextval($35183),$35184,$35185,$35186,$35187,$35188,$35189,$35190,$35191,$35192,$35193,$35194,$35195,$35196),(nextval($35197),$35198,$35199,$35200,$35201,$35202,$35203,$35204,$35205,$35206,$35207,$35208,$35209,$35210),(nextval($35211),$35212,$35213,$35214,$35215,$35216,$35217,$35218,$35219,$35220,$35221,$35222,$35223,$35224),(nextval($35225),$35226,$35227,$35228,$35229,$35230,$35231,$35232,$35233,$35234,$35235,$35236,$35237,$35238),(nextval($35239),$35240,$35241,$35242,$35243,$35244,$35245,$35246,$35247,$35248,$35249,$35250,$35251,$35252),(nextval($35253),$35254,$35255,$35256,$35257,$35258,$35259,$35260,$35261,$35262,$35263,$35264,$35265,$35266),(nextval($35267),$35268,$35269,$35270,$35271,$35272,$35273,$35274,$35275,$35276,$35277,$35278,$35279,$35280),(nextval($35281),$35282,$35283,$35284,$35285,$35286,$35287,$35288,$35289,$35290,$35291,$35292,$35293,$35294),(nextval($35295),$35296,$35297,$35298,$35299,$35300,$35301,$35302,$35303,$35304,$35305,$35306,$35307,$35308),(nextval($35309),$35310,$35311,$35312,$35313,$35314,$35315,$35316,$35317,$35318,$35319,$35320,$35321,$35322),(nextval($35323),$35324,$35325,$35326,$35327,$35328,$35329,$35330,$35331,$35332,$35333,$35334,$35335,$35336),(nextval($35337),$35338,$35339,$35340,$35341,$35342,$35343,$35344,$35345,$35346,$35347,$35348,$35349,$35350),(nextval($35351),$35352,$35353,$35354,$35355,$35356,$35357,$35358,$35359,$35360,$35361,$35362,$35363,$35364),(nextval($35365),$35366,$35367,$35368,$35369,$35370,$35371,$35372,$35373,$35374,$35375,$35376,$35377,$35378),(nextval($35379),$35380,$35381,$35382,$35383,$35384,$35385,$35386,$35387,$35388,$35389,$35390,$35391,$35392),(nextval($35393),$35394,$35395,$35396,$35397,$35398,$35399,$35400,$35401,$35402,$35403,$35404,$35405,$35406),(nextval($35407),$35408,$35409,$35410,$35411,$35412,$35413,$35414,$35415,$35416,$35417,$35418,$35419,$35420),(nextval($35421),$35422,$35423,$35424,$35425,$35426,$35427,$35428,$35429,$35430,$35431,$35432,$35433,$35434),(nextval($35435),$35436,$35437,$35438,$35439,$35440,$35441,$35442,$35443,$35444,$35445,$35446,$35447,$35448),(nextval($35449),$35450,$35451,$35452,$35453,$35454,$35455,$35456,$35457,$35458,$35459,$35460,$35461,$35462),(nextval($35463),$35464,$35465,$35466,$35467,$35468,$35469,$35470,$35471,$35472,$35473,$35474,$35475,$35476),(nextval($35477),$35478,$35479,$35480,$35481,$35482,$35483,$35484,$35485,$35486,$35487,$35488,$35489,$35490),(nextval($35491),$35492,$35493,$35494,$35495,$35496,$35497,$35498,$35499,$35500,$35501,$35502,$35503,$35504),(nextval($35505),$35506,$35507,$35508,$35509,$35510,$35511,$35512,$35513,$35514,$35515,$35516,$35517,$35518),(nextval($35519),$35520,$35521,$35522,$35523,$35524,$35525,$35526,$35527,$35528,$35529,$35530,$35531,$35532),(nextval($35533),$35534,$35535,$35536,$35537,$35538,$35539,$35540,$35541,$35542,$35543,$35544,$35545,$35546),(nextval($35547),$35548,$35549,$35550,$35551,$35552,$35553,$35554,$35555,$35556,$35557,$35558,$35559,$35560),(nextval($35561),$35562,$35563,$35564,$35565,$35566,$35567,$35568,$35569,$35570,$35571,$35572,$35573,$35574),(nextval($35575),$35576,$35577,$35578,$35579,$35580,$35581,$35582,$35583,$35584,$35585,$35586,$35587,$35588),(nextval($35589),$35590,$35591,$35592,$35593,$35594,$35595,$35596,$35597,$35598,$35599,$35600,$35601,$35602),(nextval($35603),$35604,$35605,$35606,$35607,$35608,$35609,$35610,$35611,$35612,$35613,$35614,$35615,$35616),(nextval($35617),$35618,$35619,$35620,$35621,$35622,$35623,$35624,$35625,$35626,$35627,$35628,$35629,$35630),(nextval($35631),$35632,$35633,$35634,$35635,$35636,$35637,$35638,$35639,$35640,$35641,$35642,$35643,$35644),(nextval($35645),$35646,$35647,$35648,$35649,$35650,$35651,$35652,$35653,$35654,$35655,$35656,$35657,$35658),(nextval($35659),$35660,$35661,$35662,$35663,$35664,$35665,$35666,$35667,$35668,$35669,$35670,$35671,$35672),(nextval($35673),$35674,$35675,$35676,$35677,$35678,$35679,$35680,$35681,$35682,$35683,$35684,$35685,$35686),(nextval($35687),$35688,$35689,$35690,$35691,$35692,$35693,$35694,$35695,$35696,$35697,$35698,$35699,$35700),(nextval($35701),$35702,$35703,$35704,$35705,$35706,$35707,$35708,$35709,$35710,$35711,$35712,$35713,$35714),(nextval($35715),$35716,$35717,$35718,$35719,$35720,$35721,$35722,$35723,$35724,$35725,$35726,$35727,$35728),(nextval($35729),$35730,$35731,$35732,$35733,$35734,$35735,$35736,$35737,$35738,$35739,$35740,$35741,$35742),(nextval($35743),$35744,$35745,$35746,$35747,$35748,$35749,$35750,$35751,$35752,$35753,$35754,$35755,$35756),(nextval($35757),$35758,$35759,$35760,$35761,$35762,$35763,$35764,$35765,$35766,$35767,$35768,$35769,$35770),(nextval($35771),$35772,$35773,$35774,$35775,$35776,$35777,$35778,$35779,$35780,$35781,$35782,$35783,$35784),(nextval($35785),$35786,$35787,$35788,$35789,$35790,$35791,$35792,$35793,$35794,$35795,$35796,$35797,$35798),(nextval($35799),$35800,$35801,$35802,$35803,$35804,$35805,$35806,$35807,$35808,$35809,$35810,$35811,$35812),(nextval($35813),$35814,$35815,$35816,$35817,$35818,$35819,$35820,$35821,$35822,$35823,$35824,$35825,$35826),(nextval($35827),$35828,$35829,$35830,$35831,$35832,$35833,$35834,$35835,$35836,$35837,$35838,$35839,$35840),(nextval($35841),$35842,$35843,$35844,$35845,$35846,$35847,$35848,$35849,$35850,$35851,$35852,$35853,$35854),(nextval($35855),$35856,$35857,$35858,$35859,$35860,$35861,$35862,$35863,$35864,$35865,$35866,$35867,$35868),(nextval($35869),$35870,$35871,$35872,$35873,$35874,$35875,$35876,$35877,$35878,$35879,$35880,$35881,$35882),(nextval($35883),$35884,$35885,$35886,$35887,$35888,$35889,$35890,$35891,$35892,$35893,$35894,$35895,$35896),(nextval($35897),$35898,$35899,$35900,$35901,$35902,$35903,$35904,$35905,$35906,$35907,$35908,$35909,$35910),(nextval($35911),$35912,$35913,$35914,$35915,$35916,$35917,$35918,$35919,$35920,$35921,$35922,$35923,$35924),(nextval($35925),$35926,$35927,$35928,$35929,$35930,$35931,$35932,$35933,$35934,$35935,$35936,$35937,$35938),(nextval($35939),$35940,$35941,$35942,$35943,$35944,$35945,$35946,$35947,$35948,$35949,$35950,$35951,$35952),(nextval($35953),$35954,$35955,$35956,$35957,$35958,$35959,$35960,$35961,$35962,$35963,$35964,$35965,$35966),(nextval($35967),$35968,$35969,$35970,$35971,$35972,$35973,$35974,$35975,$35976,$35977,$35978,$35979,$35980),(nextval($35981),$35982,$35983,$35984,$35985,$35986,$35987,$35988,$35989,$35990,$35991,$35992,$35993,$35994),(nextval($35995),$35996,$35997,$35998,$35999,$36000,$36001,$36002,$36003,$36004,$36005,$36006,$36007,$36008),(nextval($36009),$36010,$36011,$36012,$36013,$36014,$36015,$36016,$36017,$36018,$36019,$36020,$36021,$36022),(nextval($36023),$36024,$36025,$36026,$36027,$36028,$36029,$36030,$36031,$36032,$36033,$36034,$36035,$36036),(nextval($36037),$36038,$36039,$36040,$36041,$36042,$36043,$36044,$36045,$36046,$36047,$36048,$36049,$36050),(nextval($36051),$36052,$36053,$36054,$36055,$36056,$36057,$36058,$36059,$36060,$36061,$36062,$36063,$36064),(nextval($36065),$36066,$36067,$36068,$36069,$36070,$36071,$36072,$36073,$36074,$36075,$36076,$36077,$36078),(nextval($36079),$36080,$36081,$36082,$36083,$36084,$36085,$36086,$36087,$36088,$36089,$36090,$36091,$36092),(nextval($36093),$36094,$36095,$36096,$36097,$36098,$36099,$36100,$36101,$36102,$36103,$36104,$36105,$36106),(nextval($36107),$36108,$36109,$36110,$36111,$36112,$36113,$36114,$36115,$36116,$36117,$36118,$36119,$36120),(nextval($36121),$36122,$36123,$36124,$36125,$36126,$36127,$36128,$36129,$36130,$36131,$36132,$36133,$36134),(nextval($36135),$36136,$36137,$36138,$36139,$36140,$36141,$36142,$36143,$36144,$36145,$36146,$36147,$36148),(nextval($36149),$36150,$36151,$36152,$36153,$36154,$36155,$36156,$36157,$36158,$36159,$36160,$36161,$36162),(nextval($36163),$36164,$36165,$36166,$36167,$36168,$36169,$36170,$36171,$36172,$36173,$36174,$36175,$36176),(nextval($36177),$36178,$36179,$36180,$36181,$36182,$36183,$36184,$36185,$36186,$36187,$36188,$36189,$36190),(nextval($36191),$36192,$36193,$36194,$36195,$36196,$36197,$36198,$36199,$36200,$36201,$36202,$36203,$36204),(nextval($36205),$36206,$36207,$36208,$36209,$36210,$36211,$36212,$36213,$36214,$36215,$36216,$36217,$36218),(nextval($36219),$36220,$36221,$36222,$36223,$36224,$36225,$36226,$36227,$36228,$36229,$36230,$36231,$36232),(nextval($36233),$36234,$36235,$36236,$36237,$36238,$36239,$36240,$36241,$36242,$36243,$36244,$36245,$36246),(nextval($36247),$36248,$36249,$36250,$36251,$36252,$36253,$36254,$36255,$36256,$36257,$36258,$36259,$36260),(nextval($36261),$36262,$36263,$36264,$36265,$36266,$36267,$36268,$36269,$36270,$36271,$36272,$36273,$36274),(nextval($36275),$36276,$36277,$36278,$36279,$36280,$36281,$36282,$36283,$36284,$36285,$36286,$36287,$36288),(nextval($36289),$36290,$36291,$36292,$36293,$36294,$36295,$36296,$36297,$36298,$36299,$36300,$36301,$36302),(nextval($36303),$36304,$36305,$36306,$36307,$36308,$36309,$36310,$36311,$36312,$36313,$36314,$36315,$36316),(nextval($36317),$36318,$36319,$36320,$36321,$36322,$36323,$36324,$36325,$36326,$36327,$36328,$36329,$36330),(nextval($36331),$36332,$36333,$36334,$36335,$36336,$36337,$36338,$36339,$36340,$36341,$36342,$36343,$36344),(nextval($36345),$36346,$36347,$36348,$36349,$36350,$36351,$36352,$36353,$36354,$36355,$36356,$36357,$36358),(nextval($36359),$36360,$36361,$36362,$36363,$36364,$36365,$36366,$36367,$36368,$36369,$36370,$36371,$36372),(nextval($36373),$36374,$36375,$36376,$36377,$36378,$36379,$36380,$36381,$36382,$36383,$36384,$36385,$36386),(nextval($36387),$36388,$36389,$36390,$36391,$36392,$36393,$36394,$36395,$36396,$36397,$36398,$36399,$36400),(nextval($36401),$36402,$36403,$36404,$36405,$36406,$36407,$36408,$36409,$36410,$36411,$36412,$36413,$36414),(nextval($36415),$36416,$36417,$36418,$36419,$36420,$36421,$36422,$36423,$36424,$36425,$36426,$36427,$36428),(nextval($36429),$36430,$36431,$36432,$36433,$36434,$36435,$36436,$36437,$36438,$36439,$36440,$36441,$36442),(nextval($36443),$36444,$36445,$36446,$36447,$36448,$36449,$36450,$36451,$36452,$36453,$36454,$36455,$36456),(nextval($36457),$36458,$36459,$36460,$36461,$36462,$36463,$36464,$36465,$36466,$36467,$36468,$36469,$36470),(nextval($36471),$36472,$36473,$36474,$36475,$36476,$36477,$36478,$36479,$36480,$36481,$36482,$36483,$36484),(nextval($36485),$36486,$36487,$36488,$36489,$36490,$36491,$36492,$36493,$36494,$36495,$36496,$36497,$36498),(nextval($36499),$36500,$36501,$36502,$36503,$36504,$36505,$36506,$36507,$36508,$36509,$36510,$36511,$36512),(nextval($36513),$36514,$36515,$36516,$36517,$36518,$36519,$36520,$36521,$36522,$36523,$36524,$36525,$36526),(nextval($36527),$36528,$36529,$36530,$36531,$36532,$36533,$36534,$36535,$36536,$36537,$36538,$36539,$36540),(nextval($36541),$36542,$36543,$36544,$36545,$36546,$36547,$36548,$36549,$36550,$36551,$36552,$36553,$36554),(nextval($36555),$36556,$36557,$36558,$36559,$36560,$36561,$36562,$36563,$36564,$36565,$36566,$36567,$36568),(nextval($36569),$36570,$36571,$36572,$36573,$36574,$36575,$36576,$36577,$36578,$36579,$36580,$36581,$36582),(nextval($36583),$36584,$36585,$36586,$36587,$36588,$36589,$36590,$36591,$36592,$36593,$36594,$36595,$36596),(nextval($36597),$36598,$36599,$36600,$36601,$36602,$36603,$36604,$36605,$36606,$36607,$36608,$36609,$36610),(nextval($36611),$36612,$36613,$36614,$36615,$36616,$36617,$36618,$36619,$36620,$36621,$36622,$36623,$36624),(nextval($36625),$36626,$36627,$36628,$36629,$36630,$36631,$36632,$36633,$36634,$36635,$36636,$36637,$36638),(nextval($36639),$36640,$36641,$36642,$36643,$36644,$36645,$36646,$36647,$36648,$36649,$36650,$36651,$36652),(nextval($36653),$36654,$36655,$36656,$36657,$36658,$36659,$36660,$36661,$36662,$36663,$36664,$36665,$36666),(nextval($36667),$36668,$36669,$36670,$36671,$36672,$36673,$36674,$36675,$36676,$36677,$36678,$36679,$36680),(nextval($36681),$36682,$36683,$36684,$36685,$36686,$36687,$36688,$36689,$36690,$36691,$36692,$36693,$36694),(nextval($36695),$36696,$36697,$36698,$36699,$36700,$36701,$36702,$36703,$36704,$36705,$36706,$36707,$36708),(nextval($36709),$36710,$36711,$36712,$36713,$36714,$36715,$36716,$36717,$36718,$36719,$36720,$36721,$36722),(nextval($36723),$36724,$36725,$36726,$36727,$36728,$36729,$36730,$36731,$36732,$36733,$36734,$36735,$36736),(nextval($36737),$36738,$36739,$36740,$36741,$36742,$36743,$36744,$36745,$36746,$36747,$36748,$36749,$36750),(nextval($36751),$36752,$36753,$36754,$36755,$36756,$36757,$36758,$36759,$36760,$36761,$36762,$36763,$36764),(nextval($36765),$36766,$36767,$36768,$36769,$36770,$36771,$36772,$36773,$36774,$36775,$36776,$36777,$36778),(nextval($36779),$36780,$36781,$36782,$36783,$36784,$36785,$36786,$36787,$36788,$36789,$36790,$36791,$36792),(nextval($36793),$36794,$36795,$36796,$36797,$36798,$36799,$36800,$36801,$36802,$36803,$36804,$36805,$36806),(nextval($36807),$36808,$36809,$36810,$36811,$36812,$36813,$36814,$36815,$36816,$36817,$36818,$36819,$36820),(nextval($36821),$36822,$36823,$36824,$36825,$36826,$36827,$36828,$36829,$36830,$36831,$36832,$36833,$36834),(nextval($36835),$36836,$36837,$36838,$36839,$36840,$36841,$36842,$36843,$36844,$36845,$36846,$36847,$36848),(nextval($36849),$36850,$36851,$36852,$36853,$36854,$36855,$36856,$36857,$36858,$36859,$36860,$36861,$36862),(nextval($36863),$36864,$36865,$36866,$36867,$36868,$36869,$36870,$36871,$36872,$36873,$36874,$36875,$36876),(nextval($36877),$36878,$36879,$36880,$36881,$36882,$36883,$36884,$36885,$36886,$36887,$36888,$36889,$36890),(nextval($36891),$36892,$36893,$36894,$36895,$36896,$36897,$36898,$36899,$36900,$36901,$36902,$36903,$36904),(nextval($36905),$36906,$36907,$36908,$36909,$36910,$36911,$36912,$36913,$36914,$36915,$36916,$36917,$36918),(nextval($36919),$36920,$36921,$36922,$36923,$36924,$36925,$36926,$36927,$36928,$36929,$36930,$36931,$36932),(nextval($36933),$36934,$36935,$36936,$36937,$36938,$36939,$36940,$36941,$36942,$36943,$36944,$36945,$36946),(nextval($36947),$36948,$36949,$36950,$36951,$36952,$36953,$36954,$36955,$36956,$36957,$36958,$36959,$36960),(nextval($36961),$36962,$36963,$36964,$36965,$36966,$36967,$36968,$36969,$36970,$36971,$36972,$36973,$36974),(nextval($36975),$36976,$36977,$36978,$36979,$36980,$36981,$36982,$36983,$36984,$36985,$36986,$36987,$36988),(nextval($36989),$36990,$36991,$36992,$36993,$36994,$36995,$36996,$36997,$36998,$36999,$37000,$37001,$37002),(nextval($37003),$37004,$37005,$37006,$37007,$37008,$37009,$37010,$37011,$37012,$37013,$37014,$37015,$37016),(nextval($37017),$37018,$37019,$37020,$37021,$37022,$37023,$37024,$37025,$37026,$37027,$37028,$37029,$37030),(nextval($37031),$37032,$37033,$37034,$37035,$37036,$37037,$37038,$37039,$37040,$37041,$37042,$37043,$37044),(nextval($37045),$37046,$37047,$37048,$37049,$37050,$37051,$37052,$37053,$37054,$37055,$37056,$37057,$37058),(nextval($37059),$37060,$37061,$37062,$37063,$37064,$37065,$37066,$37067,$37068,$37069,$37070,$37071,$37072),(nextval($37073),$37074,$37075,$37076,$37077,$37078,$37079,$37080,$37081,$37082,$37083,$37084,$37085,$37086),(nextval($37087),$37088,$37089,$37090,$37091,$37092,$37093,$37094,$37095,$37096,$37097,$37098,$37099,$37100),(nextval($37101),$37102,$37103,$37104,$37105,$37106,$37107,$37108,$37109,$37110,$37111,$37112,$37113,$37114),(nextval($37115),$37116,$37117,$37118,$37119,$37120,$37121,$37122,$37123,$37124,$37125,$37126,$37127,$37128),(nextval($37129),$37130,$37131,$37132,$37133,$37134,$37135,$37136,$37137,$37138,$37139,$37140,$37141,$37142),(nextval($37143),$37144,$37145,$37146,$37147,$37148,$37149,$37150,$37151,$37152,$37153,$37154,$37155,$37156),(nextval($37157),$37158,$37159,$37160,$37161,$37162,$37163,$37164,$37165,$37166,$37167,$37168,$37169,$37170),(nextval($37171),$37172,$37173,$37174,$37175,$37176,$37177,$37178,$37179,$37180,$37181,$37182,$37183,$37184),(nextval($37185),$37186,$37187,$37188,$37189,$37190,$37191,$37192,$37193,$37194,$37195,$37196,$37197,$37198),(nextval($37199),$37200,$37201,$37202,$37203,$37204,$37205,$37206,$37207,$37208,$37209,$37210,$37211,$37212),(nextval($37213),$37214,$37215,$37216,$37217,$37218,$37219,$37220,$37221,$37222,$37223,$37224,$37225,$37226),(nextval($37227),$37228,$37229,$37230,$37231,$37232,$37233,$37234,$37235,$37236,$37237,$37238,$37239,$37240),(nextval($37241),$37242,$37243,$37244,$37245,$37246,$37247,$37248,$37249,$37250,$37251,$37252,$37253,$37254),(nextval($37255),$37256,$37257,$37258,$37259,$37260,$37261,$37262,$37263,$37264,$37265,$37266,$37267,$37268),(nextval($37269),$37270,$37271,$37272,$37273,$37274,$37275,$37276,$37277,$37278,$37279,$37280,$37281,$37282),(nextval($37283),$37284,$37285,$37286,$37287,$37288,$37289,$37290,$37291,$37292,$37293,$37294,$37295,$37296),(nextval($37297),$37298,$37299,$37300,$37301,$37302,$37303,$37304,$37305,$37306,$37307,$37308,$37309,$37310),(nextval($37311),$37312,$37313,$37314,$37315,$37316,$37317,$37318,$37319,$37320,$37321,$37322,$37323,$37324),(nextval($37325),$37326,$37327,$37328,$37329,$37330,$37331,$37332,$37333,$37334,$37335,$37336,$37337,$37338),(nextval($37339),$37340,$37341,$37342,$37343,$37344,$37345,$37346,$37347,$37348,$37349,$37350,$37351,$37352),(nextval($37353),$37354,$37355,$37356,$37357,$37358,$37359,$37360,$37361,$37362,$37363,$37364,$37365,$37366),(nextval($37367),$37368,$37369,$37370,$37371,$37372,$37373,$37374,$37375,$37376,$37377,$37378,$37379,$37380),(nextval($37381),$37382,$37383,$37384,$37385,$37386,$37387,$37388,$37389,$37390,$37391,$37392,$37393,$37394),(nextval($37395),$37396,$37397,$37398,$37399,$37400,$37401,$37402,$37403,$37404,$37405,$37406,$37407,$37408),(nextval($37409),$37410,$37411,$37412,$37413,$37414,$37415,$37416,$37417,$37418,$37419,$37420,$37421,$37422),(nextval($37423),$37424,$37425,$37426,$37427,$37428,$37429,$37430,$37431,$37432,$37433,$37434,$37435,$37436),(nextval($37437),$37438,$37439,$37440,$37441,$37442,$37443,$37444,$37445,$37446,$37447,$37448,$37449,$37450),(nextval($37451),$37452,$37453,$37454,$37455,$37456,$37457,$37458,$37459,$37460,$37461,$37462,$37463,$37464),(nextval($37465),$37466,$37467,$37468,$37469,$37470,$37471,$37472,$37473,$37474,$37475,$37476,$37477,$37478),(nextval($37479),$37480,$37481,$37482,$37483,$37484,$37485,$37486,$37487,$37488,$37489,$37490,$37491,$37492),(nextval($37493),$37494,$37495,$37496,$37497,$37498,$37499,$37500,$37501,$37502,$37503,$37504,$37505,$37506),(nextval($37507),$37508,$37509,$37510,$37511,$37512,$37513,$37514,$37515,$37516,$37517,$37518,$37519,$37520),(nextval($37521),$37522,$37523,$37524,$37525,$37526,$37527,$37528,$37529,$37530,$37531,$37532,$37533,$37534),(nextval($37535),$37536,$37537,$37538,$37539,$37540,$37541,$37542,$37543,$37544,$37545,$37546,$37547,$37548),(nextval($37549),$37550,$37551,$37552,$37553,$37554,$37555,$37556,$37557,$37558,$37559,$37560,$37561,$37562),(nextval($37563),$37564,$37565,$37566,$37567,$37568,$37569,$37570,$37571,$37572,$37573,$37574,$37575,$37576),(nextval($37577),$37578,$37579,$37580,$37581,$37582,$37583,$37584,$37585,$37586,$37587,$37588,$37589,$37590),(nextval($37591),$37592,$37593,$37594,$37595,$37596,$37597,$37598,$37599,$37600,$37601,$37602,$37603,$37604),(nextval($37605),$37606,$37607,$37608,$37609,$37610,$37611,$37612,$37613,$37614,$37615,$37616,$37617,$37618),(nextval($37619),$37620,$37621,$37622,$37623,$37624,$37625,$37626,$37627,$37628,$37629,$37630,$37631,$37632),(nextval($37633),$37634,$37635,$37636,$37637,$37638,$37639,$37640,$37641,$37642,$37643,$37644,$37645,$37646),(nextval($37647),$37648,$37649,$37650,$37651,$37652,$37653,$37654,$37655,$37656,$37657,$37658,$37659,$37660),(nextval($37661),$37662,$37663,$37664,$37665,$37666,$37667,$37668,$37669,$37670,$37671,$37672,$37673,$37674),(nextval($37675),$37676,$37677,$37678,$37679,$37680,$37681,$37682,$37683,$37684,$37685,$37686,$37687,$37688),(nextval($37689),$37690,$37691,$37692,$37693,$37694,$37695,$37696,$37697,$37698,$37699,$37700,$37701,$37702),(nextval($37703),$37704,$37705,$37706,$37707,$37708,$37709,$37710,$37711,$37712,$37713,$37714,$37715,$37716),(nextval($37717),$37718,$37719,$37720,$37721,$37722,$37723,$37724,$37725,$37726,$37727,$37728,$37729,$37730),(nextval($37731),$37732,$37733,$37734,$37735,$37736,$37737,$37738,$37739,$37740,$37741,$37742,$37743,$37744),(nextval($37745),$37746,$37747,$37748,$37749,$37750,$37751,$37752,$37753,$37754,$37755,$37756,$37757,$37758),(nextval($37759),$37760,$37761,$37762,$37763,$37764,$37765,$37766,$37767,$37768,$37769,$37770,$37771,$37772),(nextval($37773),$37774,$37775,$37776,$37777,$37778,$37779,$37780,$37781,$37782,$37783,$37784,$37785,$37786),(nextval($37787),$37788,$37789,$37790,$37791,$37792,$37793,$37794,$37795,$37796,$37797,$37798,$37799,$37800),(nextval($37801),$37802,$37803,$37804,$37805,$37806,$37807,$37808,$37809,$37810,$37811,$37812,$37813,$37814),(nextval($37815),$37816,$37817,$37818,$37819,$37820,$37821,$37822,$37823,$37824,$37825,$37826,$37827,$37828),(nextval($37829),$37830,$37831,$37832,$37833,$37834,$37835,$37836,$37837,$37838,$37839,$37840,$37841,$37842),(nextval($37843),$37844,$37845,$37846,$37847,$37848,$37849,$37850,$37851,$37852,$37853,$37854,$37855,$37856),(nextval($37857),$37858,$37859,$37860,$37861,$37862,$37863,$37864,$37865,$37866,$37867,$37868,$37869,$37870),(nextval($37871),$37872,$37873,$37874,$37875,$37876,$37877,$37878,$37879,$37880,$37881,$37882,$37883,$37884),(nextval($37885),$37886,$37887,$37888,$37889,$37890,$37891,$37892,$37893,$37894,$37895,$37896,$37897,$37898),(nextval($37899),$37900,$37901,$37902,$37903,$37904,$37905,$37906,$37907,$37908,$37909,$37910,$37911,$37912),(nextval($37913),$37914,$37915,$37916,$37917,$37918,$37919,$37920,$37921,$37922,$37923,$37924,$37925,$37926),(nextval($37927),$37928,$37929,$37930,$37931,$37932,$37933,$37934,$37935,$37936,$37937,$37938,$37939,$37940),(nextval($37941),$37942,$37943,$37944,$37945,$37946,$37947,$37948,$37949,$37950,$37951,$37952,$37953,$37954),(nextval($37955),$37956,$37957,$37958,$37959,$37960,$37961,$37962,$37963,$37964,$37965,$37966,$37967,$37968),(nextval($37969),$37970,$37971,$37972,$37973,$37974,$37975,$37976,$37977,$37978,$37979,$37980,$37981,$37982),(nextval($37983),$37984,$37985,$37986,$37987,$37988,$37989,$37990,$37991,$37992,$37993,$37994,$37995,$37996),(nextval($37997),$37998,$37999,$38000,$38001,$38002,$38003,$38004,$38005,$38006,$38007,$38008,$38009,$38010),(nextval($38011),$38012,$38013,$38014,$38015,$38016,$38017,$38018,$38019,$38020,$38021,$38022,$38023,$38024),(nextval($38025),$38026,$38027,$38028,$38029,$38030,$38031,$38032,$38033,$38034,$38035,$38036,$38037,$38038),(nextval($38039),$38040,$38041,$38042,$38043,$38044,$38045,$38046,$38047,$38048,$38049,$38050,$38051,$38052),(nextval($38053),$38054,$38055,$38056,$38057,$38058,$38059,$38060,$38061,$38062,$38063,$38064,$38065,$38066),(nextval($38067),$38068,$38069,$38070,$38071,$38072,$38073,$38074,$38075,$38076,$38077,$38078,$38079,$38080),(nextval($38081),$38082,$38083,$38084,$38085,$38086,$38087,$38088,$38089,$38090,$38091,$38092,$38093,$38094),(nextval($38095),$38096,$38097,$38098,$38099,$38100,$38101,$38102,$38103,$38104,$38105,$38106,$38107,$38108),(nextval($38109),$38110,$38111,$38112,$38113,$38114,$38115,$38116,$38117,$38118,$38119,$38120,$38121,$38122),(nextval($38123),$38124,$38125,$38126,$38127,$38128,$38129,$38130,$38131,$38132,$38133,$38134,$38135,$38136),(nextval($38137),$38138,$38139,$38140,$38141,$38142,$38143,$38144,$38145,$38146,$38147,$38148,$38149,$38150),(nextval($38151),$38152,$38153,$38154,$38155,$38156,$38157,$38158,$38159,$38160,$38161,$38162,$38163,$38164),(nextval($38165),$38166,$38167,$38168,$38169,$38170,$38171,$38172,$38173,$38174,$38175,$38176,$38177,$38178),(nextval($38179),$38180,$38181,$38182,$38183,$38184,$38185,$38186,$38187,$38188,$38189,$38190,$38191,$38192),(nextval($38193),$38194,$38195,$38196,$38197,$38198,$38199,$38200,$38201,$38202,$38203,$38204,$38205,$38206),(nextval($38207),$38208,$38209,$38210,$38211,$38212,$38213,$38214,$38215,$38216,$38217,$38218,$38219,$38220),(nextval($38221),$38222,$38223,$38224,$38225,$38226,$38227,$38228,$38229,$38230,$38231,$38232,$38233,$38234),(nextval($38235),$38236,$38237,$38238,$38239,$38240,$38241,$38242,$38243,$38244,$38245,$38246,$38247,$38248),(nextval($38249),$38250,$38251,$38252,$38253,$38254,$38255,$38256,$38257,$38258,$38259,$38260,$38261,$38262),(nextval($38263),$38264,$38265,$38266,$38267,$38268,$38269,$38270,$38271,$38272,$38273,$38274,$38275,$38276),(nextval($38277),$38278,$38279,$38280,$38281,$38282,$38283,$38284,$38285,$38286,$38287,$38288,$38289,$38290),(nextval($38291),$38292,$38293,$38294,$38295,$38296,$38297,$38298,$38299,$38300,$38301,$38302,$38303,$38304),(nextval($38305),$38306,$38307,$38308,$38309,$38310,$38311,$38312,$38313,$38314,$38315,$38316,$38317,$38318),(nextval($38319),$38320,$38321,$38322,$38323,$38324,$38325,$38326,$38327,$38328,$38329,$38330,$38331,$38332),(nextval($38333),$38334,$38335,$38336,$38337,$38338,$38339,$38340,$38341,$38342,$38343,$38344,$38345,$38346),(nextval($38347),$38348,$38349,$38350,$38351,$38352,$38353,$38354,$38355,$38356,$38357,$38358,$38359,$38360),(nextval($38361),$38362,$38363,$38364,$38365,$38366,$38367,$38368,$38369,$38370,$38371,$38372,$38373,$38374),(nextval($38375),$38376,$38377,$38378,$38379,$38380,$38381,$38382,$38383,$38384,$38385,$38386,$38387,$38388),(nextval($38389),$38390,$38391,$38392,$38393,$38394,$38395,$38396,$38397,$38398,$38399,$38400,$38401,$38402),(nextval($38403),$38404,$38405,$38406,$38407,$38408,$38409,$38410,$38411,$38412,$38413,$38414,$38415,$38416),(nextval($38417),$38418,$38419,$38420,$38421,$38422,$38423,$38424,$38425,$38426,$38427,$38428,$38429,$38430),(nextval($38431),$38432,$38433,$38434,$38435,$38436,$38437,$38438,$38439,$38440,$38441,$38442,$38443,$38444),(nextval($38445),$38446,$38447,$38448,$38449,$38450,$38451,$38452,$38453,$38454,$38455,$38456,$38457,$38458),(nextval($38459),$38460,$38461,$38462,$38463,$38464,$38465,$38466,$38467,$38468,$38469,$38470,$38471,$38472),(nextval($38473),$38474,$38475,$38476,$38477,$38478,$38479,$38480,$38481,$38482,$38483,$38484,$38485,$38486),(nextval($38487),$38488,$38489,$38490,$38491,$38492,$38493,$38494,$38495,$38496,$38497,$38498,$38499,$38500),(nextval($38501),$38502,$38503,$38504,$38505,$38506,$38507,$38508,$38509,$38510,$38511,$38512,$38513,$38514),(nextval($38515),$38516,$38517,$38518,$38519,$38520,$38521,$38522,$38523,$38524,$38525,$38526,$38527,$38528),(nextval($38529),$38530,$38531,$38532,$38533,$38534,$38535,$38536,$38537,$38538,$38539,$38540,$38541,$38542),(nextval($38543),$38544,$38545,$38546,$38547,$38548,$38549,$38550,$38551,$38552,$38553,$38554,$38555,$38556),(nextval($38557),$38558,$38559,$38560,$38561,$38562,$38563,$38564,$38565,$38566,$38567,$38568,$38569,$38570),(nextval($38571),$38572,$38573,$38574,$38575,$38576,$38577,$38578,$38579,$38580,$38581,$38582,$38583,$38584),(nextval($38585),$38586,$38587,$38588,$38589,$38590,$38591,$38592,$38593,$38594,$38595,$38596,$38597,$38598),(nextval($38599),$38600,$38601,$38602,$38603,$38604,$38605,$38606,$38607,$38608,$38609,$38610,$38611,$38612),(nextval($38613),$38614,$38615,$38616,$38617,$38618,$38619,$38620,$38621,$38622,$38623,$38624,$38625,$38626),(nextval($38627),$38628,$38629,$38630,$38631,$38632,$38633,$38634,$38635,$38636,$38637,$38638,$38639,$38640),(nextval($38641),$38642,$38643,$38644,$38645,$38646,$38647,$38648,$38649,$38650,$38651,$38652,$38653,$38654),(nextval($38655),$38656,$38657,$38658,$38659,$38660,$38661,$38662,$38663,$38664,$38665,$38666,$38667,$38668),(nextval($38669),$38670,$38671,$38672,$38673,$38674,$38675,$38676,$38677,$38678,$38679,$38680,$38681,$38682),(nextval($38683),$38684,$38685,$38686,$38687,$38688,$38689,$38690,$38691,$38692,$38693,$38694,$38695,$38696),(nextval($38697),$38698,$38699,$38700,$38701,$38702,$38703,$38704,$38705,$38706,$38707,$38708,$38709,$38710),(nextval($38711),$38712,$38713,$38714,$38715,$38716,$38717,$38718,$38719,$38720,$38721,$38722,$38723,$38724),(nextval($38725),$38726,$38727,$38728,$38729,$38730,$38731,$38732,$38733,$38734,$38735,$38736,$38737,$38738),(nextval($38739),$38740,$38741,$38742,$38743,$38744,$38745,$38746,$38747,$38748,$38749,$38750,$38751,$38752),(nextval($38753),$38754,$38755,$38756,$38757,$38758,$38759,$38760,$38761,$38762,$38763,$38764,$38765,$38766),(nextval($38767),$38768,$38769,$38770,$38771,$38772,$38773,$38774,$38775,$38776,$38777,$38778,$38779,$38780),(nextval($38781),$38782,$38783,$38784,$38785,$38786,$38787,$38788,$38789,$38790,$38791,$38792,$38793,$38794),(nextval($38795),$38796,$38797,$38798,$38799,$38800,$38801,$38802,$38803,$38804,$38805,$38806,$38807,$38808),(nextval($38809),$38810,$38811,$38812,$38813,$38814,$38815,$38816,$38817,$38818,$38819,$38820,$38821,$38822),(nextval($38823),$38824,$38825,$38826,$38827,$38828,$38829,$38830,$38831,$38832,$38833,$38834,$38835,$38836),(nextval($38837),$38838,$38839,$38840,$38841,$38842,$38843,$38844,$38845,$38846,$38847,$38848,$38849,$38850),(nextval($38851),$38852,$38853,$38854,$38855,$38856,$38857,$38858,$38859,$38860,$38861,$38862,$38863,$38864),(nextval($38865),$38866,$38867,$38868,$38869,$38870,$38871,$38872,$38873,$38874,$38875,$38876,$38877,$38878),(nextval($38879),$38880,$38881,$38882,$38883,$38884,$38885,$38886,$38887,$38888,$38889,$38890,$38891,$38892),(nextval($38893),$38894,$38895,$38896,$38897,$38898,$38899,$38900,$38901,$38902,$38903,$38904,$38905,$38906),(nextval($38907),$38908,$38909,$38910,$38911,$38912,$38913,$38914,$38915,$38916,$38917,$38918,$38919,$38920),(nextval($38921),$38922,$38923,$38924,$38925,$38926,$38927,$38928,$38929,$38930,$38931,$38932,$38933,$38934),(nextval($38935),$38936,$38937,$38938,$38939,$38940,$38941,$38942,$38943,$38944,$38945,$38946,$38947,$38948),(nextval($38949),$38950,$38951,$38952,$38953,$38954,$38955,$38956,$38957,$38958,$38959,$38960,$38961,$38962),(nextval($38963),$38964,$38965,$38966,$38967,$38968,$38969,$38970,$38971,$38972,$38973,$38974,$38975,$38976),(nextval($38977),$38978,$38979,$38980,$38981,$38982,$38983,$38984,$38985,$38986,$38987,$38988,$38989,$38990),(nextval($38991),$38992,$38993,$38994,$38995,$38996,$38997,$38998,$38999,$39000,$39001,$39002,$39003,$39004),(nextval($39005),$39006,$39007,$39008,$39009,$39010,$39011,$39012,$39013,$39014,$39015,$39016,$39017,$39018),(nextval($39019),$39020,$39021,$39022,$39023,$39024,$39025,$39026,$39027,$39028,$39029,$39030,$39031,$39032),(nextval($39033),$39034,$39035,$39036,$39037,$39038,$39039,$39040,$39041,$39042,$39043,$39044,$39045,$39046),(nextval($39047),$39048,$39049,$39050,$39051,$39052,$39053,$39054,$39055,$39056,$39057,$39058,$39059,$39060),(nextval($39061),$39062,$39063,$39064,$39065,$39066,$39067,$39068,$39069,$39070,$39071,$39072,$39073,$39074),(nextval($39075),$39076,$39077,$39078,$39079,$39080,$39081,$39082,$39083,$39084,$39085,$39086,$39087,$39088),(nextval($39089),$39090,$39091,$39092,$39093,$39094,$39095,$39096,$39097,$39098,$39099,$39100,$39101,$39102),(nextval($39103),$39104,$39105,$39106,$39107,$39108,$39109,$39110,$39111,$39112,$39113,$39114,$39115,$39116),(nextval($39117),$39118,$39119,$39120,$39121,$39122,$39123,$39124,$39125,$39126,$39127,$39128,$39129,$39130),(nextval($39131),$39132,$39133,$39134,$39135,$39136,$39137,$39138,$39139,$39140,$39141,$39142,$39143,$39144),(nextval($39145),$39146,$39147,$39148,$39149,$39150,$39151,$39152,$39153,$39154,$39155,$39156,$39157,$39158),(nextval($39159),$39160,$39161,$39162,$39163,$39164,$39165,$39166,$39167,$39168,$39169,$39170,$39171,$39172),(nextval($39173),$39174,$39175,$39176,$39177,$39178,$39179,$39180,$39181,$39182,$39183,$39184,$39185,$39186),(nextval($39187),$39188,$39189,$39190,$39191,$39192,$39193,$39194,$39195,$39196,$39197,$39198,$39199,$39200),(nextval($39201),$39202,$39203,$39204,$39205,$39206,$39207,$39208,$39209,$39210,$39211,$39212,$39213,$39214),(nextval($39215),$39216,$39217,$39218,$39219,$39220,$39221,$39222,$39223,$39224,$39225,$39226,$39227,$39228),(nextval($39229),$39230,$39231,$39232,$39233,$39234,$39235,$39236,$39237,$39238,$39239,$39240,$39241,$39242),(nextval($39243),$39244,$39245,$39246,$39247,$39248,$39249,$39250,$39251,$39252,$39253,$39254,$39255,$39256),(nextval($39257),$39258,$39259,$39260,$39261,$39262,$39263,$39264,$39265,$39266,$39267,$39268,$39269,$39270),(nextval($39271),$39272,$39273,$39274,$39275,$39276,$39277,$39278,$39279,$39280,$39281,$39282,$39283,$39284),(nextval($39285),$39286,$39287,$39288,$39289,$39290,$39291,$39292,$39293,$39294,$39295,$39296,$39297,$39298),(nextval($39299),$39300,$39301,$39302,$39303,$39304,$39305,$39306,$39307,$39308,$39309,$39310,$39311,$39312),(nextval($39313),$39314,$39315,$39316,$39317,$39318,$39319,$39320,$39321,$39322,$39323,$39324,$39325,$39326),(nextval($39327),$39328,$39329,$39330,$39331,$39332,$39333,$39334,$39335,$39336,$39337,$39338,$39339,$39340),(nextval($39341),$39342,$39343,$39344,$39345,$39346,$39347,$39348,$39349,$39350,$39351,$39352,$39353,$39354),(nextval($39355),$39356,$39357,$39358,$39359,$39360,$39361,$39362,$39363,$39364,$39365,$39366,$39367,$39368),(nextval($39369),$39370,$39371,$39372,$39373,$39374,$39375,$39376,$39377,$39378,$39379,$39380,$39381,$39382),(nextval($39383),$39384,$39385,$39386,$39387,$39388,$39389,$39390,$39391,$39392,$39393,$39394,$39395,$39396),(nextval($39397),$39398,$39399,$39400,$39401,$39402,$39403,$39404,$39405,$39406,$39407,$39408,$39409,$39410),(nextval($39411),$39412,$39413,$39414,$39415,$39416,$39417,$39418,$39419,$39420,$39421,$39422,$39423,$39424),(nextval($39425),$39426,$39427,$39428,$39429,$39430,$39431,$39432,$39433,$39434,$39435,$39436,$39437,$39438),(nextval($39439),$39440,$39441,$39442,$39443,$39444,$39445,$39446,$39447,$39448,$39449,$39450,$39451,$39452),(nextval($39453),$39454,$39455,$39456,$39457,$39458,$39459,$39460,$39461,$39462,$39463,$39464,$39465,$39466),(nextval($39467),$39468,$39469,$39470,$39471,$39472,$39473,$39474,$39475,$39476,$39477,$39478,$39479,$39480),(nextval($39481),$39482,$39483,$39484,$39485,$39486,$39487,$39488,$39489,$39490,$39491,$39492,$39493,$39494),(nextval($39495),$39496,$39497,$39498,$39499,$39500,$39501,$39502,$39503,$39504,$39505,$39506,$39507,$39508),(nextval($39509),$39510,$39511,$39512,$39513,$39514,$39515,$39516,$39517,$39518,$39519,$39520,$39521,$39522),(nextval($39523),$39524,$39525,$39526,$39527,$39528,$39529,$39530,$39531,$39532,$39533,$39534,$39535,$39536),(nextval($39537),$39538,$39539,$39540,$39541,$39542,$39543,$39544,$39545,$39546,$39547,$39548,$39549,$39550),(nextval($39551),$39552,$39553,$39554,$39555,$39556,$39557,$39558,$39559,$39560,$39561,$39562,$39563,$39564),(nextval($39565),$39566,$39567,$39568,$39569,$39570,$39571,$39572,$39573,$39574,$39575,$39576,$39577,$39578),(nextval($39579),$39580,$39581,$39582,$39583,$39584,$39585,$39586,$39587,$39588,$39589,$39590,$39591,$39592),(nextval($39593),$39594,$39595,$39596,$39597,$39598,$39599,$39600,$39601,$39602,$39603,$39604,$39605,$39606),(nextval($39607),$39608,$39609,$39610,$39611,$39612,$39613,$39614,$39615,$39616,$39617,$39618,$39619,$39620),(nextval($39621),$39622,$39623,$39624,$39625,$39626,$39627,$39628,$39629,$39630,$39631,$39632,$39633,$39634),(nextval($39635),$39636,$39637,$39638,$39639,$39640,$39641,$39642,$39643,$39644,$39645,$39646,$39647,$39648),(nextval($39649),$39650,$39651,$39652,$39653,$39654,$39655,$39656,$39657,$39658,$39659,$39660,$39661,$39662),(nextval($39663),$39664,$39665,$39666,$39667,$39668,$39669,$39670,$39671,$39672,$39673,$39674,$39675,$39676),(nextval($39677),$39678,$39679,$39680,$39681,$39682,$39683,$39684,$39685,$39686,$39687,$39688,$39689,$39690),(nextval($39691),$39692,$39693,$39694,$39695,$39696,$39697,$39698,$39699,$39700,$39701,$39702,$39703,$39704),(nextval($39705),$39706,$39707,$39708,$39709,$39710,$39711,$39712,$39713,$39714,$39715,$39716,$39717,$39718),(nextval($39719),$39720,$39721,$39722,$39723,$39724,$39725,$39726,$39727,$39728,$39729,$39730,$39731,$39732),(nextval($39733),$39734,$39735,$39736,$39737,$39738,$39739,$39740,$39741,$39742,$39743,$39744,$39745,$39746),(nextval($39747),$39748,$39749,$39750,$39751,$39752,$39753,$39754,$39755,$39756,$39757,$39758,$39759,$39760),(nextval($39761),$39762,$39763,$39764,$39765,$39766,$39767,$39768,$39769,$39770,$39771,$39772,$39773,$39774),(nextval($39775),$39776,$39777,$39778,$39779,$39780,$39781,$39782,$39783,$39784,$39785,$39786,$39787,$39788),(nextval($39789),$39790,$39791,$39792,$39793,$39794,$39795,$39796,$39797,$39798,$39799,$39800,$39801,$39802),(nextval($39803),$39804,$39805,$39806,$39807,$39808,$39809,$39810,$39811,$39812,$39813,$39814,$39815,$39816),(nextval($39817),$39818,$39819,$39820,$39821,$39822,$39823,$39824,$39825,$39826,$39827,$39828,$39829,$39830),(nextval($39831),$39832,$39833,$39834,$39835,$39836,$39837,$39838,$39839,$39840,$39841,$39842,$39843,$39844),(nextval($39845),$39846,$39847,$39848,$39849,$39850,$39851,$39852,$39853,$39854,$39855,$39856,$39857,$39858),(nextval($39859),$39860,$39861,$39862,$39863,$39864,$39865,$39866,$39867,$39868,$39869,$39870,$39871,$39872),(nextval($39873),$39874,$39875,$39876,$39877,$39878,$39879,$39880,$39881,$39882,$39883,$39884,$39885,$39886),(nextval($39887),$39888,$39889,$39890,$39891,$39892,$39893,$39894,$39895,$39896,$39897,$39898,$39899,$39900),(nextval($39901),$39902,$39903,$39904,$39905,$39906,$39907,$39908,$39909,$39910,$39911,$39912,$39913,$39914),(nextval($39915),$39916,$39917,$39918,$39919,$39920,$39921,$39922,$39923,$39924,$39925,$39926,$39927,$39928),(nextval($39929),$39930,$39931,$39932,$39933,$39934,$39935,$39936,$39937,$39938,$39939,$39940,$39941,$39942),(nextval($39943),$39944,$39945,$39946,$39947,$39948,$39949,$39950,$39951,$39952,$39953,$39954,$39955,$39956),(nextval($39957),$39958,$39959,$39960,$39961,$39962,$39963,$39964,$39965,$39966,$39967,$39968,$39969,$39970),(nextval($39971),$39972,$39973,$39974,$39975,$39976,$39977,$39978,$39979,$39980,$39981,$39982,$39983,$39984),(nextval($39985),$39986,$39987,$39988,$39989,$39990,$39991,$39992,$39993,$39994,$39995,$39996,$39997,$39998),(nextval($39999),$40000,$40001,$40002,$40003,$40004,$40005,$40006,$40007,$40008,$40009,$40010,$40011,$40012),(nextval($40013),$40014,$40015,$40016,$40017,$40018,$40019,$40020,$40021,$40022,$40023,$40024,$40025,$40026),(nextval($40027),$40028,$40029,$40030,$40031,$40032,$40033,$40034,$40035,$40036,$40037,$40038,$40039,$40040),(nextval($40041),$40042,$40043,$40044,$40045,$40046,$40047,$40048,$40049,$40050,$40051,$40052,$40053,$40054),(nextval($40055),$40056,$40057,$40058,$40059,$40060,$40061,$40062,$40063,$40064,$40065,$40066,$40067,$40068),(nextval($40069),$40070,$40071,$40072,$40073,$40074,$40075,$40076,$40077,$40078,$40079,$40080,$40081,$40082),(nextval($40083),$40084,$40085,$40086,$40087,$40088,$40089,$40090,$40091,$40092,$40093,$40094,$40095,$40096),(nextval($40097),$40098,$40099,$40100,$40101,$40102,$40103,$40104,$40105,$40106,$40107,$40108,$40109,$40110),(nextval($40111),$40112,$40113,$40114,$40115,$40116,$40117,$40118,$40119,$40120,$40121,$40122,$40123,$40124),(nextval($40125),$40126,$40127,$40128,$40129,$40130,$40131,$40132,$40133,$40134,$40135,$40136,$40137,$40138),(nextval($40139),$40140,$40141,$40142,$40143,$40144,$40145,$40146,$40147,$40148,$40149,$40150,$40151,$40152),(nextval($40153),$40154,$40155,$40156,$40157,$40158,$40159,$40160,$40161,$40162,$40163,$40164,$40165,$40166),(nextval($40167),$40168,$40169,$40170,$40171,$40172,$40173,$40174,$40175,$40176,$40177,$40178,$40179,$40180),(nextval($40181),$40182,$40183,$40184,$40185,$40186,$40187,$40188,$40189,$40190,$40191,$40192,$40193,$40194),(nextval($40195),$40196,$40197,$40198,$40199,$40200,$40201,$40202,$40203,$40204,$40205,$40206,$40207,$40208),(nextval($40209),$40210,$40211,$40212,$40213,$40214,$40215,$40216,$40217,$40218,$40219,$40220,$40221,$40222),(nextval($40223),$40224,$40225,$40226,$40227,$40228,$40229,$40230,$40231,$40232,$40233,$40234,$40235,$40236),(nextval($40237),$40238,$40239,$40240,$40241,$40242,$40243,$40244,$40245,$40246,$40247,$40248,$40249,$40250),(nextval($40251),$40252,$40253,$40254,$40255,$40256,$40257,$40258,$40259,$40260,$40261,$40262,$40263,$40264),(nextval($40265),$40266,$40267,$40268,$40269,$40270,$40271,$40272,$40273,$40274,$40275,$40276,$40277,$40278),(nextval($40279),$40280,$40281,$40282,$40283,$40284,$40285,$40286,$40287,$40288,$40289,$40290,$40291,$40292),(nextval($40293),$40294,$40295,$40296,$40297,$40298,$40299,$40300,$40301,$40302,$40303,$40304,$40305,$40306),(nextval($40307),$40308,$40309,$40310,$40311,$40312,$40313,$40314,$40315,$40316,$40317,$40318,$40319,$40320),(nextval($40321),$40322,$40323,$40324,$40325,$40326,$40327,$40328,$40329,$40330,$40331,$40332,$40333,$40334),(nextval($40335),$40336,$40337,$40338,$40339,$40340,$40341,$40342,$40343,$40344,$40345,$40346,$40347,$40348),(nextval($40349),$40350,$40351,$40352,$40353,$40354,$40355,$40356,$40357,$40358,$40359,$40360,$40361,$40362),(nextval($40363),$40364,$40365,$40366,$40367,$40368,$40369,$40370,$40371,$40372,$40373,$40374,$40375,$40376),(nextval($40377),$40378,$40379,$40380,$40381,$40382,$40383,$40384,$40385,$40386,$40387,$40388,$40389,$40390),(nextval($40391),$40392,$40393,$40394,$40395,$40396,$40397,$40398,$40399,$40400,$40401,$40402,$40403,$40404),(nextval($40405),$40406,$40407,$40408,$40409,$40410,$40411,$40412,$40413,$40414,$40415,$40416,$40417,$40418),(nextval($40419),$40420,$40421,$40422,$40423,$40424,$40425,$40426,$40427,$40428,$40429,$40430,$40431,$40432),(nextval($40433),$40434,$40435,$40436,$40437,$40438,$40439,$40440,$40441,$40442,$40443,$40444,$40445,$40446),(nextval($40447),$40448,$40449,$40450,$40451,$40452,$40453,$40454,$40455,$40456,$40457,$40458,$40459,$40460),(nextval($40461),$40462,$40463,$40464,$40465,$40466,$40467,$40468,$40469,$40470,$40471,$40472,$40473,$40474),(nextval($40475),$40476,$40477,$40478,$40479,$40480,$40481,$40482,$40483,$40484,$40485,$40486,$40487,$40488),(nextval($40489),$40490,$40491,$40492,$40493,$40494,$40495,$40496,$40497,$40498,$40499,$40500,$40501,$40502),(nextval($40503),$40504,$40505,$40506,$40507,$40508,$40509,$40510,$40511,$40512,$40513,$40514,$40515,$40516),(nextval($40517),$40518,$40519,$40520,$40521,$40522,$40523,$40524,$40525,$40526,$40527,$40528,$40529,$40530),(nextval($40531),$40532,$40533,$40534,$40535,$40536,$40537,$40538,$40539,$40540,$40541,$40542,$40543,$40544),(nextval($40545),$40546,$40547,$40548,$40549,$40550,$40551,$40552,$40553,$40554,$40555,$40556,$40557,$40558),(nextval($40559),$40560,$40561,$40562,$40563,$40564,$40565,$40566,$40567,$40568,$40569,$40570,$40571,$40572),(nextval($40573),$40574,$40575,$40576,$40577,$40578,$40579,$40580,$40581,$40582,$40583,$40584,$40585,$40586),(nextval($40587),$40588,$40589,$40590,$40591,$40592,$40593,$40594,$40595,$40596,$40597,$40598,$40599,$40600),(nextval($40601),$40602,$40603,$40604,$40605,$40606,$40607,$40608,$40609,$40610,$40611,$40612,$40613,$40614),(nextval($40615),$40616,$40617,$40618,$40619,$40620,$40621,$40622,$40623,$40624,$40625,$40626,$40627,$40628),(nextval($40629),$40630,$40631,$40632,$40633,$40634,$40635,$40636,$40637,$40638,$40639,$40640,$40641,$40642),(nextval($40643),$40644,$40645,$40646,$40647,$40648,$40649,$40650,$40651,$40652,$40653,$40654,$40655,$40656),(nextval($40657),$40658,$40659,$40660,$40661,$40662,$40663,$40664,$40665,$40666,$40667,$40668,$40669,$40670),(nextval($40671),$40672,$40673,$40674,$40675,$40676,$40677,$40678,$40679,$40680,$40681,$40682,$40683,$40684),(nextval($40685),$40686,$40687,$40688,$40689,$40690,$40691,$40692,$40693,$40694,$40695,$40696,$40697,$40698),(nextval($40699),$40700,$40701,$40702,$40703,$40704,$40705,$40706,$40707,$40708,$40709,$40710,$40711,$40712),(nextval($40713),$40714,$40715,$40716,$40717,$40718,$40719,$40720,$40721,$40722,$40723,$40724,$40725,$40726),(nextval($40727),$40728,$40729,$40730,$40731,$40732,$40733,$40734,$40735,$40736,$40737,$40738,$40739,$40740),(nextval($40741),$40742,$40743,$40744,$40745,$40746,$40747,$40748,$40749,$40750,$40751,$40752,$40753,$40754),(nextval($40755),$40756,$40757,$40758,$40759,$40760,$40761,$40762,$40763,$40764,$40765,$40766,$40767,$40768),(nextval($40769),$40770,$40771,$40772,$40773,$40774,$40775,$40776,$40777,$40778,$40779,$40780,$40781,$40782),(nextval($40783),$40784,$40785,$40786,$40787,$40788,$40789,$40790,$40791,$40792,$40793,$40794,$40795,$40796),(nextval($40797),$40798,$40799,$40800,$40801,$40802,$40803,$40804,$40805,$40806,$40807,$40808,$40809,$40810),(nextval($40811),$40812,$40813,$40814,$40815,$40816,$40817,$40818,$40819,$40820,$40821,$40822,$40823,$40824),(nextval($40825),$40826,$40827,$40828,$40829,$40830,$40831,$40832,$40833,$40834,$40835,$40836,$40837,$40838),(nextval($40839),$40840,$40841,$40842,$40843,$40844,$40845,$40846,$40847,$40848,$40849,$40850,$40851,$40852),(nextval($40853),$40854,$40855,$40856,$40857,$40858,$40859,$40860,$40861,$40862,$40863,$40864,$40865,$40866),(nextval($40867),$40868,$40869,$40870,$40871,$40872,$40873,$40874,$40875,$40876,$40877,$40878,$40879,$40880),(nextval($40881),$40882,$40883,$40884,$40885,$40886,$40887,$40888,$40889,$40890,$40891,$40892,$40893,$40894),(nextval($40895),$40896,$40897,$40898,$40899,$40900,$40901,$40902,$40903,$40904,$40905,$40906,$40907,$40908),(nextval($40909),$40910,$40911,$40912,$40913,$40914,$40915,$40916,$40917,$40918,$40919,$40920,$40921,$40922),(nextval($40923),$40924,$40925,$40926,$40927,$40928,$40929,$40930,$40931,$40932,$40933,$40934,$40935,$40936),(nextval($40937),$40938,$40939,$40940,$40941,$40942,$40943,$40944,$40945,$40946,$40947,$40948,$40949,$40950),(nextval($40951),$40952,$40953,$40954,$40955,$40956,$40957,$40958,$40959,$40960,$40961,$40962,$40963,$40964),(nextval($40965),$40966,$40967,$40968,$40969,$40970,$40971,$40972,$40973,$40974,$40975,$40976,$40977,$40978),(nextval($40979),$40980,$40981,$40982,$40983,$40984,$40985,$40986,$40987,$40988,$40989,$40990,$40991,$40992),(nextval($40993),$40994,$40995,$40996,$40997,$40998,$40999,$41000,$41001,$41002,$41003,$41004,$41005,$41006),(nextval($41007),$41008,$41009,$41010,$41011,$41012,$41013,$41014,$41015,$41016,$41017,$41018,$41019,$41020),(nextval($41021),$41022,$41023,$41024,$41025,$41026,$41027,$41028,$41029,$41030,$41031,$41032,$41033,$41034),(nextval($41035),$41036,$41037,$41038,$41039,$41040,$41041,$41042,$41043,$41044,$41045,$41046,$41047,$41048),(nextval($41049),$41050,$41051,$41052,$41053,$41054,$41055,$41056,$41057,$41058,$41059,$41060,$41061,$41062),(nextval($41063),$41064,$41065,$41066,$41067,$41068,$41069,$41070,$41071,$41072,$41073,$41074,$41075,$41076),(nextval($41077),$41078,$41079,$41080,$41081,$41082,$41083,$41084,$41085,$41086,$41087,$41088,$41089,$41090),(nextval($41091),$41092,$41093,$41094,$41095,$41096,$41097,$41098,$41099,$41100,$41101,$41102,$41103,$41104),(nextval($41105),$41106,$41107,$41108,$41109,$41110,$41111,$41112,$41113,$41114,$41115,$41116,$41117,$41118),(nextval($41119),$41120,$41121,$41122,$41123,$41124,$41125,$41126,$41127,$41128,$41129,$41130,$41131,$41132),(nextval($41133),$41134,$41135,$41136,$41137,$41138,$41139,$41140,$41141,$41142,$41143,$41144,$41145,$41146),(nextval($41147),$41148,$41149,$41150,$41151,$41152,$41153,$41154,$41155,$41156,$41157,$41158,$41159,$41160),(nextval($41161),$41162,$41163,$41164,$41165,$41166,$41167,$41168,$41169,$41170,$41171,$41172,$41173,$41174),(nextval($41175),$41176,$41177,$41178,$41179,$41180,$41181,$41182,$41183,$41184,$41185,$41186,$41187,$41188),(nextval($41189),$41190,$41191,$41192,$41193,$41194,$41195,$41196,$41197,$41198,$41199,$41200,$41201,$41202),(nextval($41203),$41204,$41205,$41206,$41207,$41208,$41209,$41210,$41211,$41212,$41213,$41214,$41215,$41216),(nextval($41217),$41218,$41219,$41220,$41221,$41222,$41223,$41224,$41225,$41226,$41227,$41228,$41229,$41230),(nextval($41231),$41232,$41233,$41234,$41235,$41236,$41237,$41238,$41239,$41240,$41241,$41242,$41243,$41244),(nextval($41245),$41246,$41247,$41248,$41249,$41250,$41251,$41252,$41253,$41254,$41255,$41256,$41257,$41258),(nextval($41259),$41260,$41261,$41262,$41263,$41264,$41265,$41266,$41267,$41268,$41269,$41270,$41271,$41272),(nextval($41273),$41274,$41275,$41276,$41277,$41278,$41279,$41280,$41281,$41282,$41283,$41284,$41285,$41286),(nextval($41287),$41288,$41289,$41290,$41291,$41292,$41293,$41294,$41295,$41296,$41297,$41298,$41299,$41300),(nextval($41301),$41302,$41303,$41304,$41305,$41306,$41307,$41308,$41309,$41310,$41311,$41312,$41313,$41314),(nextval($41315),$41316,$41317,$41318,$41319,$41320,$41321,$41322,$41323,$41324,$41325,$41326,$41327,$41328),(nextval($41329),$41330,$41331,$41332,$41333,$41334,$41335,$41336,$41337,$41338,$41339,$41340,$41341,$41342),(nextval($41343),$41344,$41345,$41346,$41347,$41348,$41349,$41350,$41351,$41352,$41353,$41354,$41355,$41356),(nextval($41357),$41358,$41359,$41360,$41361,$41362,$41363,$41364,$41365,$41366,$41367,$41368,$41369,$41370),(nextval($41371),$41372,$41373,$41374,$41375,$41376,$41377,$41378,$41379,$41380,$41381,$41382,$41383,$41384),(nextval($41385),$41386,$41387,$41388,$41389,$41390,$41391,$41392,$41393,$41394,$41395,$41396,$41397,$41398),(nextval($41399),$41400,$41401,$41402,$41403,$41404,$41405,$41406,$41407,$41408,$41409,$41410,$41411,$41412),(nextval($41413),$41414,$41415,$41416,$41417,$41418,$41419,$41420,$41421,$41422,$41423,$41424,$41425,$41426),(nextval($41427),$41428,$41429,$41430,$41431,$41432,$41433,$41434,$41435,$41436,$41437,$41438,$41439,$41440),(nextval($41441),$41442,$41443,$41444,$41445,$41446,$41447,$41448,$41449,$41450,$41451,$41452,$41453,$41454),(nextval($41455),$41456,$41457,$41458,$41459,$41460,$41461,$41462,$41463,$41464,$41465,$41466,$41467,$41468),(nextval($41469),$41470,$41471,$41472,$41473,$41474,$41475,$41476,$41477,$41478,$41479,$41480,$41481,$41482),(nextval($41483),$41484,$41485,$41486,$41487,$41488,$41489,$41490,$41491,$41492,$41493,$41494,$41495,$41496),(nextval($41497),$41498,$41499,$41500,$41501,$41502,$41503,$41504,$41505,$41506,$41507,$41508,$41509,$41510),(nextval($41511),$41512,$41513,$41514,$41515,$41516,$41517,$41518,$41519,$41520,$41521,$41522,$41523,$41524),(nextval($41525),$41526,$41527,$41528,$41529,$41530,$41531,$41532,$41533,$41534,$41535,$41536,$41537,$41538),(nextval($41539),$41540,$41541,$41542,$41543,$41544,$41545,$41546,$41547,$41548,$41549,$41550,$41551,$41552),(nextval($41553),$41554,$41555,$41556,$41557,$41558,$41559,$41560,$41561,$41562,$41563,$41564,$41565,$41566),(nextval($41567),$41568,$41569,$41570,$41571,$41572,$41573,$41574,$41575,$41576,$41577,$41578,$41579,$41580),(nextval($41581),$41582,$41583,$41584,$41585,$41586,$41587,$41588,$41589,$41590,$41591,$41592,$41593,$41594),(nextval($41595),$41596,$41597,$41598,$41599,$41600,$41601,$41602,$41603,$41604,$41605,$41606,$41607,$41608),(nextval($41609),$41610,$41611,$41612,$41613,$41614,$41615,$41616,$41617,$41618,$41619,$41620,$41621,$41622),(nextval($41623),$41624,$41625,$41626,$41627,$41628,$41629,$41630,$41631,$41632,$41633,$41634,$41635,$41636),(nextval($41637),$41638,$41639,$41640,$41641,$41642,$41643,$41644,$41645,$41646,$41647,$41648,$41649,$41650),(nextval($41651),$41652,$41653,$41654,$41655,$41656,$41657,$41658,$41659,$41660,$41661,$41662,$41663,$41664),(nextval($41665),$41666,$41667,$41668,$41669,$41670,$41671,$41672,$41673,$41674,$41675,$41676,$41677,$41678),(nextval($41679),$41680,$41681,$41682,$41683,$41684,$41685,$41686,$41687,$41688,$41689,$41690,$41691,$41692),(nextval($41693),$41694,$41695,$41696,$41697,$41698,$41699,$41700,$41701,$41702,$41703,$41704,$41705,$41706),(nextval($41707),$41708,$41709,$41710,$41711,$41712,$41713,$41714,$41715,$41716,$41717,$41718,$41719,$41720),(nextval($41721),$41722,$41723,$41724,$41725,$41726,$41727,$41728,$41729,$41730,$41731,$41732,$41733,$41734),(nextval($41735),$41736,$41737,$41738,$41739,$41740,$41741,$41742,$41743,$41744,$41745,$41746,$41747,$41748),(nextval($41749),$41750,$41751,$41752,$41753,$41754,$41755,$41756,$41757,$41758,$41759,$41760,$41761,$41762),(nextval($41763),$41764,$41765,$41766,$41767,$41768,$41769,$41770,$41771,$41772,$41773,$41774,$41775,$41776),(nextval($41777),$41778,$41779,$41780,$41781,$41782,$41783,$41784,$41785,$41786,$41787,$41788,$41789,$41790),(nextval($41791),$41792,$41793,$41794,$41795,$41796,$41797,$41798,$41799,$41800,$41801,$41802,$41803,$41804),(nextval($41805),$41806,$41807,$41808,$41809,$41810,$41811,$41812,$41813,$41814,$41815,$41816,$41817,$41818),(nextval($41819),$41820,$41821,$41822,$41823,$41824,$41825,$41826,$41827,$41828,$41829,$41830,$41831,$41832),(nextval($41833),$41834,$41835,$41836,$41837,$41838,$41839,$41840,$41841,$41842,$41843,$41844,$41845,$41846),(nextval($41847),$41848,$41849,$41850,$41851,$41852,$41853,$41854,$41855,$41856,$41857,$41858,$41859,$41860),(nextval($41861),$41862,$41863,$41864,$41865,$41866,$41867,$41868,$41869,$41870,$41871,$41872,$41873,$41874),(nextval($41875),$41876,$41877,$41878,$41879,$41880,$41881,$41882,$41883,$41884,$41885,$41886,$41887,$41888),(nextval($41889),$41890,$41891,$41892,$41893,$41894,$41895,$41896,$41897,$41898,$41899,$41900,$41901,$41902),(nextval($41903),$41904,$41905,$41906,$41907,$41908,$41909,$41910,$41911,$41912,$41913,$41914,$41915,$41916),(nextval($41917),$41918,$41919,$41920,$41921,$41922,$41923,$41924,$41925,$41926,$41927,$41928,$41929,$41930),(nextval($41931),$41932,$41933,$41934,$41935,$41936,$41937,$41938,$41939,$41940,$41941,$41942,$41943,$41944),(nextval($41945),$41946,$41947,$41948,$41949,$41950,$41951,$41952,$41953,$41954,$41955,$41956,$41957,$41958),(nextval($41959),$41960,$41961,$41962,$41963,$41964,$41965,$41966,$41967,$41968,$41969,$41970,$41971,$41972),(nextval($41973),$41974,$41975,$41976,$41977,$41978,$41979,$41980,$41981,$41982,$41983,$41984,$41985,$41986),(nextval($41987),$41988,$41989,$41990,$41991,$41992,$41993,$41994,$41995,$41996,$41997,$41998,$41999,$42000),(nextval($42001),$42002,$42003,$42004,$42005,$42006,$42007,$42008,$42009,$42010,$42011,$42012,$42013,$42014),(nextval($42015),$42016,$42017,$42018,$42019,$42020,$42021,$42022,$42023,$42024,$42025,$42026,$42027,$42028),(nextval($42029),$42030,$42031,$42032,$42033,$42034,$42035,$42036,$42037,$42038,$42039,$42040,$42041,$42042),(nextval($42043),$42044,$42045,$42046,$42047,$42048,$42049,$42050,$42051,$42052,$42053,$42054,$42055,$42056),(nextval($42057),$42058,$42059,$42060,$42061,$42062,$42063,$42064,$42065,$42066,$42067,$42068,$42069,$42070),(nextval($42071),$42072,$42073,$42074,$42075,$42076,$42077,$42078,$42079,$42080,$42081,$42082,$42083,$42084),(nextval($42085),$42086,$42087,$42088,$42089,$42090,$42091,$42092,$42093,$42094,$42095,$42096,$42097,$42098),(nextval($42099),$42100,$42101,$42102,$42103,$42104,$42105,$42106,$42107,$42108,$42109,$42110,$42111,$42112),(nextval($42113),$42114,$42115,$42116,$42117,$42118,$42119,$42120,$42121,$42122,$42123,$42124,$42125,$42126),(nextval($42127),$42128,$42129,$42130,$42131,$42132,$42133,$42134,$42135,$42136,$42137,$42138,$42139,$42140),(nextval($42141),$42142,$42143,$42144,$42145,$42146,$42147,$42148,$42149,$42150,$42151,$42152,$42153,$42154),(nextval($42155),$42156,$42157,$42158,$42159,$42160,$42161,$42162,$42163,$42164,$42165,$42166,$42167,$42168),(nextval($42169),$42170,$42171,$42172,$42173,$42174,$42175,$42176,$42177,$42178,$42179,$42180,$42181,$42182),(nextval($42183),$42184,$42185,$42186,$42187,$42188,$42189,$42190,$42191,$42192,$42193,$42194,$42195,$42196),(nextval($42197),$42198,$42199,$42200,$42201,$42202,$42203,$42204,$42205,$42206,$42207,$42208,$42209,$42210),(nextval($42211),$42212,$42213,$42214,$42215,$42216,$42217,$42218,$42219,$42220,$42221,$42222,$42223,$42224),(nextval($42225),$42226,$42227,$42228,$42229,$42230,$42231,$42232,$42233,$42234,$42235,$42236,$42237,$42238),(nextval($42239),$42240,$42241,$42242,$42243,$42244,$42245,$42246,$42247,$42248,$42249,$42250,$42251,$42252),(nextval($42253),$42254,$42255,$42256,$42257,$42258,$42259,$42260,$42261,$42262,$42263,$42264,$42265,$42266),(nextval($42267),$42268,$42269,$42270,$42271,$42272,$42273,$42274,$42275,$42276,$42277,$42278,$42279,$42280),(nextval($42281),$42282,$42283,$42284,$42285,$42286,$42287,$42288,$42289,$42290,$42291,$42292,$42293,$42294),(nextval($42295),$42296,$42297,$42298,$42299,$42300,$42301,$42302,$42303,$42304,$42305,$42306,$42307,$42308),(nextval($42309),$42310,$42311,$42312,$42313,$42314,$42315,$42316,$42317,$42318,$42319,$42320,$42321,$42322),(nextval($42323),$42324,$42325,$42326,$42327,$42328,$42329,$42330,$42331,$42332,$42333,$42334,$42335,$42336),(nextval($42337),$42338,$42339,$42340,$42341,$42342,$42343,$42344,$42345,$42346,$42347,$42348,$42349,$42350),(nextval($42351),$42352,$42353,$42354,$42355,$42356,$42357,$42358,$42359,$42360,$42361,$42362,$42363,$42364),(nextval($42365),$42366,$42367,$42368,$42369,$42370,$42371,$42372,$42373,$42374,$42375,$42376,$42377,$42378),(nextval($42379),$42380,$42381,$42382,$42383,$42384,$42385,$42386,$42387,$42388,$42389,$42390,$42391,$42392),(nextval($42393),$42394,$42395,$42396,$42397,$42398,$42399,$42400,$42401,$42402,$42403,$42404,$42405,$42406),(nextval($42407),$42408,$42409,$42410,$42411,$42412,$42413,$42414,$42415,$42416,$42417,$42418,$42419,$42420),(nextval($42421),$42422,$42423,$42424,$42425,$42426,$42427,$42428,$42429,$42430,$42431,$42432,$42433,$42434),(nextval($42435),$42436,$42437,$42438,$42439,$42440,$42441,$42442,$42443,$42444,$42445,$42446,$42447,$42448),(nextval($42449),$42450,$42451,$42452,$42453,$42454,$42455,$42456,$42457,$42458,$42459,$42460,$42461,$42462),(nextval($42463),$42464,$42465,$42466,$42467,$42468,$42469,$42470,$42471,$42472,$42473,$42474,$42475,$42476),(nextval($42477),$42478,$42479,$42480,$42481,$42482,$42483,$42484,$42485,$42486,$42487,$42488,$42489,$42490),(nextval($42491),$42492,$42493,$42494,$42495,$42496,$42497,$42498,$42499,$42500,$42501,$42502,$42503,$42504),(nextval($42505),$42506,$42507,$42508,$42509,$42510,$42511,$42512,$42513,$42514,$42515,$42516,$42517,$42518),(nextval($42519),$42520,$42521,$42522,$42523,$42524,$42525,$42526,$42527,$42528,$42529,$42530,$42531,$42532),(nextval($42533),$42534,$42535,$42536,$42537,$42538,$42539,$42540,$42541,$42542,$42543,$42544,$42545,$42546),(nextval($42547),$42548,$42549,$42550,$42551,$42552,$42553,$42554,$42555,$42556,$42557,$42558,$42559,$42560),(nextval($42561),$42562,$42563,$42564,$42565,$42566,$42567,$42568,$42569,$42570,$42571,$42572,$42573,$42574),(nextval($42575),$42576,$42577,$42578,$42579,$42580,$42581,$42582,$42583,$42584,$42585,$42586,$42587,$42588),(nextval($42589),$42590,$42591,$42592,$42593,$42594,$42595,$42596,$42597,$42598,$42599,$42600,$42601,$42602),(nextval($42603),$42604,$42605,$42606,$42607,$42608,$42609,$42610,$42611,$42612,$42613,$42614,$42615,$42616),(nextval($42617),$42618,$42619,$42620,$42621,$42622,$42623,$42624,$42625,$42626,$42627,$42628,$42629,$42630),(nextval($42631),$42632,$42633,$42634,$42635,$42636,$42637,$42638,$42639,$42640,$42641,$42642,$42643,$42644),(nextval($42645),$42646,$42647,$42648,$42649,$42650,$42651,$42652,$42653,$42654,$42655,$42656,$42657,$42658),(nextval($42659),$42660,$42661,$42662,$42663,$42664,$42665,$42666,$42667,$42668,$42669,$42670,$42671,$42672),(nextval($42673),$42674,$42675,$42676,$42677,$42678,$42679,$42680,$42681,$42682,$42683,$42684,$42685,$42686),(nextval($42687),$42688,$42689,$42690,$42691,$42692,$42693,$42694,$42695,$42696,$42697,$42698,$42699,$42700),(nextval($42701),$42702,$42703,$42704,$42705,$42706,$42707,$42708,$42709,$42710,$42711,$42712,$42713,$42714),(nextval($42715),$42716,$42717,$42718,$42719,$42720,$42721,$42722,$42723,$42724,$42725,$42726,$42727,$42728),(nextval($42729),$42730,$42731,$42732,$42733,$42734,$42735,$42736,$42737,$42738,$42739,$42740,$42741,$42742),(nextval($42743),$42744,$42745,$42746,$42747,$42748,$42749,$42750,$42751,$42752,$42753,$42754,$42755,$42756),(nextval($42757),$42758,$42759,$42760,$42761,$42762,$42763,$42764,$42765,$42766,$42767,$42768,$42769,$42770),(nextval($42771),$42772,$42773,$42774,$42775,$42776,$42777,$42778,$42779,$42780,$42781,$42782,$42783,$42784),(nextval($42785),$42786,$42787,$42788,$42789,$42790,$42791,$42792,$42793,$42794,$42795,$42796,$42797,$42798),(nextval($42799),$42800,$42801,$42802,$42803,$42804,$42805,$42806,$42807,$42808,$42809,$42810,$42811,$42812),(nextval($42813),$42814,$42815,$42816,$42817,$42818,$42819,$42820,$42821,$42822,$42823,$42824,$42825,$42826),(nextval($42827),$42828,$42829,$42830,$42831,$42832,$42833,$42834,$42835,$42836,$42837,$42838,$42839,$42840),(nextval($42841),$42842,$42843,$42844,$42845,$42846,$42847,$42848,$42849,$42850,$42851,$42852,$42853,$42854),(nextval($42855),$42856,$42857,$42858,$42859,$42860,$42861,$42862,$42863,$42864,$42865,$42866,$42867,$42868),(nextval($42869),$42870,$42871,$42872,$42873,$42874,$42875,$42876,$42877,$42878,$42879,$42880,$42881,$42882),(nextval($42883),$42884,$42885,$42886,$42887,$42888,$42889,$42890,$42891,$42892,$42893,$42894,$42895,$42896),(nextval($42897),$42898,$42899,$42900,$42901,$42902,$42903,$42904,$42905,$42906,$42907,$42908,$42909,$42910),(nextval($42911),$42912,$42913,$42914,$42915,$42916,$42917,$42918,$42919,$42920,$42921,$42922,$42923,$42924),(nextval($42925),$42926,$42927,$42928,$42929,$42930,$42931,$42932,$42933,$42934,$42935,$42936,$42937,$42938),(nextval($42939),$42940,$42941,$42942,$42943,$42944,$42945,$42946,$42947,$42948,$42949,$42950,$42951,$42952),(nextval($42953),$42954,$42955,$42956,$42957,$42958,$42959,$42960,$42961,$42962,$42963,$42964,$42965,$42966),(nextval($42967),$42968,$42969,$42970,$42971,$42972,$42973,$42974,$42975,$42976,$42977,$42978,$42979,$42980),(nextval($42981),$42982,$42983,$42984,$42985,$42986,$42987,$42988,$42989,$42990,$42991,$42992,$42993,$42994),(nextval($42995),$42996,$42997,$42998,$42999,$43000,$43001,$43002,$43003,$43004,$43005,$43006,$43007,$43008),(nextval($43009),$43010,$43011,$43012,$43013,$43014,$43015,$43016,$43017,$43018,$43019,$43020,$43021,$43022),(nextval($43023),$43024,$43025,$43026,$43027,$43028,$43029,$43030,$43031,$43032,$43033,$43034,$43035,$43036),(nextval($43037),$43038,$43039,$43040,$43041,$43042,$43043,$43044,$43045,$43046,$43047,$43048,$43049,$43050),(nextval($43051),$43052,$43053,$43054,$43055,$43056,$43057,$43058,$43059,$43060,$43061,$43062,$43063,$43064),(nextval($43065),$43066,$43067,$43068,$43069,$43070,$43071,$43072,$43073,$43074,$43075,$43076,$43077,$43078),(nextval($43079),$43080,$43081,$43082,$43083,$43084,$43085,$43086,$43087,$43088,$43089,$43090,$43091,$43092),(nextval($43093),$43094,$43095,$43096,$43097,$43098,$43099,$43100,$43101,$43102,$43103,$43104,$43105,$43106),(nextval($43107),$43108,$43109,$43110,$43111,$43112,$43113,$43114,$43115,$43116,$43117,$43118,$43119,$43120),(nextval($43121),$43122,$43123,$43124,$43125,$43126,$43127,$43128,$43129,$43130,$43131,$43132,$43133,$43134),(nextval($43135),$43136,$43137,$43138,$43139,$43140,$43141,$43142,$43143,$43144,$43145,$43146,$43147,$43148),(nextval($43149),$43150,$43151,$43152,$43153,$43154,$43155,$43156,$43157,$43158,$43159,$43160,$43161,$43162),(nextval($43163),$43164,$43165,$43166,$43167,$43168,$43169,$43170,$43171,$43172,$43173,$43174,$43175,$43176),(nextval($43177),$43178,$43179,$43180,$43181,$43182,$43183,$43184,$43185,$43186,$43187,$43188,$43189,$43190),(nextval($43191),$43192,$43193,$43194,$43195,$43196,$43197,$43198,$43199,$43200,$43201,$43202,$43203,$43204),(nextval($43205),$43206,$43207,$43208,$43209,$43210,$43211,$43212,$43213,$43214,$43215,$43216,$43217,$43218),(nextval($43219),$43220,$43221,$43222,$43223,$43224,$43225,$43226,$43227,$43228,$43229,$43230,$43231,$43232),(nextval($43233),$43234,$43235,$43236,$43237,$43238,$43239,$43240,$43241,$43242,$43243,$43244,$43245,$43246),(nextval($43247),$43248,$43249,$43250,$43251,$43252,$43253,$43254,$43255,$43256,$43257,$43258,$43259,$43260),(nextval($43261),$43262,$43263,$43264,$43265,$43266,$43267,$43268,$43269,$43270,$43271,$43272,$43273,$43274),(nextval($43275),$43276,$43277,$43278,$43279,$43280,$43281,$43282,$43283,$43284,$43285,$43286,$43287,$43288),(nextval($43289),$43290,$43291,$43292,$43293,$43294,$43295,$43296,$43297,$43298,$43299,$43300,$43301,$43302),(nextval($43303),$43304,$43305,$43306,$43307,$43308,$43309,$43310,$43311,$43312,$43313,$43314,$43315,$43316),(nextval($43317),$43318,$43319,$43320,$43321,$43322,$43323,$43324,$43325,$43326,$43327,$43328,$43329,$43330),(nextval($43331),$43332,$43333,$43334,$43335,$43336,$43337,$43338,$43339,$43340,$43341,$43342,$43343,$43344),(nextval($43345),$43346,$43347,$43348,$43349,$43350,$43351,$43352,$43353,$43354,$43355,$43356,$43357,$43358),(nextval($43359),$43360,$43361,$43362,$43363,$43364,$43365,$43366,$43367,$43368,$43369,$43370,$43371,$43372),(nextval($43373),$43374,$43375,$43376,$43377,$43378,$43379,$43380,$43381,$43382,$43383,$43384,$43385,$43386),(nextval($43387),$43388,$43389,$43390,$43391,$43392,$43393,$43394,$43395,$43396,$43397,$43398,$43399,$43400),(nextval($43401),$43402,$43403,$43404,$43405,$43406,$43407,$43408,$43409,$43410,$43411,$43412,$43413,$43414),(nextval($43415),$43416,$43417,$43418,$43419,$43420,$43421,$43422,$43423,$43424,$43425,$43426,$43427,$43428),(nextval($43429),$43430,$43431,$43432,$43433,$43434,$43435,$43436,$43437,$43438,$43439,$43440,$43441,$43442),(nextval($43443),$43444,$43445,$43446,$43447,$43448,$43449,$43450,$43451,$43452,$43453,$43454,$43455,$43456),(nextval($43457),$43458,$43459,$43460,$43461,$43462,$43463,$43464,$43465,$43466,$43467,$43468,$43469,$43470),(nextval($43471),$43472,$43473,$43474,$43475,$43476,$43477,$43478,$43479,$43480,$43481,$43482,$43483,$43484),(nextval($43485),$43486,$43487,$43488,$43489,$43490,$43491,$43492,$43493,$43494,$43495,$43496,$43497,$43498),(nextval($43499),$43500,$43501,$43502,$43503,$43504,$43505,$43506,$43507,$43508,$43509,$43510,$43511,$43512),(nextval($43513),$43514,$43515,$43516,$43517,$43518,$43519,$43520,$43521,$43522,$43523,$43524,$43525,$43526),(nextval($43527),$43528,$43529,$43530,$43531,$43532,$43533,$43534,$43535,$43536,$43537,$43538,$43539,$43540),(nextval($43541),$43542,$43543,$43544,$43545,$43546,$43547,$43548,$43549,$43550,$43551,$43552,$43553,$43554),(nextval($43555),$43556,$43557,$43558,$43559,$43560,$43561,$43562,$43563,$43564,$43565,$43566,$43567,$43568),(nextval($43569),$43570,$43571,$43572,$43573,$43574,$43575,$43576,$43577,$43578,$43579,$43580,$43581,$43582),(nextval($43583),$43584,$43585,$43586,$43587,$43588,$43589,$43590,$43591,$43592,$43593,$43594,$43595,$43596),(nextval($43597),$43598,$43599,$43600,$43601,$43602,$43603,$43604,$43605,$43606,$43607,$43608,$43609,$43610),(nextval($43611),$43612,$43613,$43614,$43615,$43616,$43617,$43618,$43619,$43620,$43621,$43622,$43623,$43624),(nextval($43625),$43626,$43627,$43628,$43629,$43630,$43631,$43632,$43633,$43634,$43635,$43636,$43637,$43638),(nextval($43639),$43640,$43641,$43642,$43643,$43644,$43645,$43646,$43647,$43648,$43649,$43650,$43651,$43652),(nextval($43653),$43654,$43655,$43656,$43657,$43658,$43659,$43660,$43661,$43662,$43663,$43664,$43665,$43666),(nextval($43667),$43668,$43669,$43670,$43671,$43672,$43673,$43674,$43675,$43676,$43677,$43678,$43679,$43680),(nextval($43681),$43682,$43683,$43684,$43685,$43686,$43687,$43688,$43689,$43690,$43691,$43692,$43693,$43694),(nextval($43695),$43696,$43697,$43698,$43699,$43700,$43701,$43702,$43703,$43704,$43705,$43706,$43707,$43708),(nextval($43709),$43710,$43711,$43712,$43713,$43714,$43715,$43716,$43717,$43718,$43719,$43720,$43721,$43722),(nextval($43723),$43724,$43725,$43726,$43727,$43728,$43729,$43730,$43731,$43732,$43733,$43734,$43735,$43736),(nextval($43737),$43738,$43739,$43740,$43741,$43742,$43743,$43744,$43745,$43746,$43747,$43748,$43749,$43750),(nextval($43751),$43752,$43753,$43754,$43755,$43756,$43757,$43758,$43759,$43760,$43761,$43762,$43763,$43764),(nextval($43765),$43766,$43767,$43768,$43769,$43770,$43771,$43772,$43773,$43774,$43775,$43776,$43777,$43778),(nextval($43779),$43780,$43781,$43782,$43783,$43784,$43785,$43786,$43787,$43788,$43789,$43790,$43791,$43792),(nextval($43793),$43794,$43795,$43796,$43797,$43798,$43799,$43800,$43801,$43802,$43803,$43804,$43805,$43806),(nextval($43807),$43808,$43809,$43810,$43811,$43812,$43813,$43814,$43815,$43816,$43817,$43818,$43819,$43820),(nextval($43821),$43822,$43823,$43824,$43825,$43826,$43827,$43828,$43829,$43830,$43831,$43832,$43833,$43834),(nextval($43835),$43836,$43837,$43838,$43839,$43840,$43841,$43842,$43843,$43844,$43845,$43846,$43847,$43848),(nextval($43849),$43850,$43851,$43852,$43853,$43854,$43855,$43856,$43857,$43858,$43859,$43860,$43861,$43862),(nextval($43863),$43864,$43865,$43866,$43867,$43868,$43869,$43870,$43871,$43872,$43873,$43874,$43875,$43876),(nextval($43877),$43878,$43879,$43880,$43881,$43882,$43883,$43884,$43885,$43886,$43887,$43888,$43889,$43890),(nextval($43891),$43892,$43893,$43894,$43895,$43896,$43897,$43898,$43899,$43900,$43901,$43902,$43903,$43904),(nextval($43905),$43906,$43907,$43908,$43909,$43910,$43911,$43912,$43913,$43914,$43915,$43916,$43917,$43918),(nextval($43919),$43920,$43921,$43922,$43923,$43924,$43925,$43926,$43927,$43928,$43929,$43930,$43931,$43932),(nextval($43933),$43934,$43935,$43936,$43937,$43938,$43939,$43940,$43941,$43942,$43943,$43944,$43945,$43946),(nextval($43947),$43948,$43949,$43950,$43951,$43952,$43953,$43954,$43955,$43956,$43957,$43958,$43959,$43960),(nextval($43961),$43962,$43963,$43964,$43965,$43966,$43967,$43968,$43969,$43970,$43971,$43972,$43973,$43974),(nextval($43975),$43976,$43977,$43978,$43979,$43980,$43981,$43982,$43983,$43984,$43985,$43986,$43987,$43988),(nextval($43989),$43990,$43991,$43992,$43993,$43994,$43995,$43996,$43997,$43998,$43999,$44000,$44001,$44002),(nextval($44003),$44004,$44005,$44006,$44007,$44008,$44009,$44010,$44011,$44012,$44013,$44014,$44015,$44016),(nextval($44017),$44018,$44019,$44020,$44021,$44022,$44023,$44024,$44025,$44026,$44027,$44028,$44029,$44030),(nextval($44031),$44032,$44033,$44034,$44035,$44036,$44037,$44038,$44039,$44040,$44041,$44042,$44043,$44044),(nextval($44045),$44046,$44047,$44048,$44049,$44050,$44051,$44052,$44053,$44054,$44055,$44056,$44057,$44058),(nextval($44059),$44060,$44061,$44062,$44063,$44064,$44065,$44066,$44067,$44068,$44069,$44070,$44071,$44072),(nextval($44073),$44074,$44075,$44076,$44077,$44078,$44079,$44080,$44081,$44082,$44083,$44084,$44085,$44086),(nextval($44087),$44088,$44089,$44090,$44091,$44092,$44093,$44094,$44095,$44096,$44097,$44098,$44099,$44100),(nextval($44101),$44102,$44103,$44104,$44105,$44106,$44107,$44108,$44109,$44110,$44111,$44112,$44113,$44114),(nextval($44115),$44116,$44117,$44118,$44119,$44120,$44121,$44122,$44123,$44124,$44125,$44126,$44127,$44128),(nextval($44129),$44130,$44131,$44132,$44133,$44134,$44135,$44136,$44137,$44138,$44139,$44140,$44141,$44142),(nextval($44143),$44144,$44145,$44146,$44147,$44148,$44149,$44150,$44151,$44152,$44153,$44154,$44155,$44156),(nextval($44157),$44158,$44159,$44160,$44161,$44162,$44163,$44164,$44165,$44166,$44167,$44168,$44169,$44170),(nextval($44171),$44172,$44173,$44174,$44175,$44176,$44177,$44178,$44179,$44180,$44181,$44182,$44183,$44184),(nextval($44185),$44186,$44187,$44188,$44189,$44190,$44191,$44192,$44193,$44194,$44195,$44196,$44197,$44198),(nextval($44199),$44200,$44201,$44202,$44203,$44204,$44205,$44206,$44207,$44208,$44209,$44210,$44211,$44212),(nextval($44213),$44214,$44215,$44216,$44217,$44218,$44219,$44220,$44221,$44222,$44223,$44224,$44225,$44226),(nextval($44227),$44228,$44229,$44230,$44231,$44232,$44233,$44234,$44235,$44236,$44237,$44238,$44239,$44240),(nextval($44241),$44242,$44243,$44244,$44245,$44246,$44247,$44248,$44249,$44250,$44251,$44252,$44253,$44254),(nextval($44255),$44256,$44257,$44258,$44259,$44260,$44261,$44262,$44263,$44264,$44265,$44266,$44267,$44268),(nextval($44269),$44270,$44271,$44272,$44273,$44274,$44275,$44276,$44277,$44278,$44279,$44280,$44281,$44282),(nextval($44283),$44284,$44285,$44286,$44287,$44288,$44289,$44290,$44291,$44292,$44293,$44294,$44295,$44296),(nextval($44297),$44298,$44299,$44300,$44301,$44302,$44303,$44304,$44305,$44306,$44307,$44308,$44309,$44310),(nextval($44311),$44312,$44313,$44314,$44315,$44316,$44317,$44318,$44319,$44320,$44321,$44322,$44323,$44324),(nextval($44325),$44326,$44327,$44328,$44329,$44330,$44331,$44332,$44333,$44334,$44335,$44336,$44337,$44338),(nextval($44339),$44340,$44341,$44342,$44343,$44344,$44345,$44346,$44347,$44348,$44349,$44350,$44351,$44352),(nextval($44353),$44354,$44355,$44356,$44357,$44358,$44359,$44360,$44361,$44362,$44363,$44364,$44365,$44366),(nextval($44367),$44368,$44369,$44370,$44371,$44372,$44373,$44374,$44375,$44376,$44377,$44378,$44379,$44380),(nextval($44381),$44382,$44383,$44384,$44385,$44386,$44387,$44388,$44389,$44390,$44391,$44392,$44393,$44394),(nextval($44395),$44396,$44397,$44398,$44399,$44400,$44401,$44402,$44403,$44404,$44405,$44406,$44407,$44408),(nextval($44409),$44410,$44411,$44412,$44413,$44414,$44415,$44416,$44417,$44418,$44419,$44420,$44421,$44422),(nextval($44423),$44424,$44425,$44426,$44427,$44428,$44429,$44430,$44431,$44432,$44433,$44434,$44435,$44436),(nextval($44437),$44438,$44439,$44440,$44441,$44442,$44443,$44444,$44445,$44446,$44447,$44448,$44449,$44450),(nextval($44451),$44452,$44453,$44454,$44455,$44456,$44457,$44458,$44459,$44460,$44461,$44462,$44463,$44464),(nextval($44465),$44466,$44467,$44468,$44469,$44470,$44471,$44472,$44473,$44474,$44475,$44476,$44477,$44478),(nextval($44479),$44480,$44481,$44482,$44483,$44484,$44485,$44486,$44487,$44488,$44489,$44490,$44491,$44492),(nextval($44493),$44494,$44495,$44496,$44497,$44498,$44499,$44500,$44501,$44502,$44503,$44504,$44505,$44506),(nextval($44507),$44508,$44509,$44510,$44511,$44512,$44513,$44514,$44515,$44516,$44517,$44518,$44519,$44520),(nextval($44521),$44522,$44523,$44524,$44525,$44526,$44527,$44528,$44529,$44530,$44531,$44532,$44533,$44534),(nextval($44535),$44536,$44537,$44538,$44539,$44540,$44541,$44542,$44543,$44544,$44545,$44546,$44547,$44548),(nextval($44549),$44550,$44551,$44552,$44553,$44554,$44555,$44556,$44557,$44558,$44559,$44560,$44561,$44562),(nextval($44563),$44564,$44565,$44566,$44567,$44568,$44569,$44570,$44571,$44572,$44573,$44574,$44575,$44576),(nextval($44577),$44578,$44579,$44580,$44581,$44582,$44583,$44584,$44585,$44586,$44587,$44588,$44589,$44590),(nextval($44591),$44592,$44593,$44594,$44595,$44596,$44597,$44598,$44599,$44600,$44601,$44602,$44603,$44604),(nextval($44605),$44606,$44607,$44608,$44609,$44610,$44611,$44612,$44613,$44614,$44615,$44616,$44617,$44618),(nextval($44619),$44620,$44621,$44622,$44623,$44624,$44625,$44626,$44627,$44628,$44629,$44630,$44631,$44632),(nextval($44633),$44634,$44635,$44636,$44637,$44638,$44639,$44640,$44641,$44642,$44643,$44644,$44645,$44646),(nextval($44647),$44648,$44649,$44650,$44651,$44652,$44653,$44654,$44655,$44656,$44657,$44658,$44659,$44660),(nextval($44661),$44662,$44663,$44664,$44665,$44666,$44667,$44668,$44669,$44670,$44671,$44672,$44673,$44674),(nextval($44675),$44676,$44677,$44678,$44679,$44680,$44681,$44682,$44683,$44684,$44685,$44686,$44687,$44688),(nextval($44689),$44690,$44691,$44692,$44693,$44694,$44695,$44696,$44697,$44698,$44699,$44700,$44701,$44702),(nextval($44703),$44704,$44705,$44706,$44707,$44708,$44709,$44710,$44711,$44712,$44713,$44714,$44715,$44716),(nextval($44717),$44718,$44719,$44720,$44721,$44722,$44723,$44724,$44725,$44726,$44727,$44728,$44729,$44730),(nextval($44731),$44732,$44733,$44734,$44735,$44736,$44737,$44738,$44739,$44740,$44741,$44742,$44743,$44744),(nextval($44745),$44746,$44747,$44748,$44749,$44750,$44751,$44752,$44753,$44754,$44755,$44756,$44757,$44758),(nextval($44759),$44760,$44761,$44762,$44763,$44764,$44765,$44766,$44767,$44768,$44769,$44770,$44771,$44772),(nextval($44773),$44774,$44775,$44776,$44777,$44778,$44779,$44780,$44781,$44782,$44783,$44784,$44785,$44786),(nextval($44787),$44788,$44789,$44790,$44791,$44792,$44793,$44794,$44795,$44796,$44797,$44798,$44799,$44800),(nextval($44801),$44802,$44803,$44804,$44805,$44806,$44807,$44808,$44809,$44810,$44811,$44812,$44813,$44814),(nextval($44815),$44816,$44817,$44818,$44819,$44820,$44821,$44822,$44823,$44824,$44825,$44826,$44827,$44828),(nextval($44829),$44830,$44831,$44832,$44833,$44834,$44835,$44836,$44837,$44838,$44839,$44840,$44841,$44842),(nextval($44843),$44844,$44845,$44846,$44847,$44848,$44849,$44850,$44851,$44852,$44853,$44854,$44855,$44856),(nextval($44857),$44858,$44859,$44860,$44861,$44862,$44863,$44864,$44865,$44866,$44867,$44868,$44869,$44870),(nextval($44871),$44872,$44873,$44874,$44875,$44876,$44877,$44878,$44879,$44880,$44881,$44882,$44883,$44884),(nextval($44885),$44886,$44887,$44888,$44889,$44890,$44891,$44892,$44893,$44894,$44895,$44896,$44897,$44898),(nextval($44899),$44900,$44901,$44902,$44903,$44904,$44905,$44906,$44907,$44908,$44909,$44910,$44911,$44912),(nextval($44913),$44914,$44915,$44916,$44917,$44918,$44919,$44920,$44921,$44922,$44923,$44924,$44925,$44926),(nextval($44927),$44928,$44929,$44930,$44931,$44932,$44933,$44934,$44935,$44936,$44937,$44938,$44939,$44940),(nextval($44941),$44942,$44943,$44944,$44945,$44946,$44947,$44948,$44949,$44950,$44951,$44952,$44953,$44954),(nextval($44955),$44956,$44957,$44958,$44959,$44960,$44961,$44962,$44963,$44964,$44965,$44966,$44967,$44968),(nextval($44969),$44970,$44971,$44972,$44973,$44974,$44975,$44976,$44977,$44978,$44979,$44980,$44981,$44982),(nextval($44983),$44984,$44985,$44986,$44987,$44988,$44989,$44990,$44991,$44992,$44993,$44994,$44995,$44996),(nextval($44997),$44998,$44999,$45000,$45001,$45002,$45003,$45004,$45005,$45006,$45007,$45008,$45009,$45010),(nextval($45011),$45012,$45013,$45014,$45015,$45016,$45017,$45018,$45019,$45020,$45021,$45022,$45023,$45024),(nextval($45025),$45026,$45027,$45028,$45029,$45030,$45031,$45032,$45033,$45034,$45035,$45036,$45037,$45038),(nextval($45039),$45040,$45041,$45042,$45043,$45044,$45045,$45046,$45047,$45048,$45049,$45050,$45051,$45052),(nextval($45053),$45054,$45055,$45056,$45057,$45058,$45059,$45060,$45061,$45062,$45063,$45064,$45065,$45066),(nextval($45067),$45068,$45069,$45070,$45071,$45072,$45073,$45074,$45075,$45076,$45077,$45078,$45079,$45080),(nextval($45081),$45082,$45083,$45084,$45085,$45086,$45087,$45088,$45089,$45090,$45091,$45092,$45093,$45094),(nextval($45095),$45096,$45097,$45098,$45099,$45100,$45101,$45102,$45103,$45104,$45105,$45106,$45107,$45108),(nextval($45109),$45110,$45111,$45112,$45113,$45114,$45115,$45116,$45117,$45118,$45119,$45120,$45121,$45122),(nextval($45123),$45124,$45125,$45126,$45127,$45128,$45129,$45130,$45131,$45132,$45133,$45134,$45135,$45136),(nextval($45137),$45138,$45139,$45140,$45141,$45142,$45143,$45144,$45145,$45146,$45147,$45148,$45149,$45150),(nextval($45151),$45152,$45153,$45154,$45155,$45156,$45157,$45158,$45159,$45160,$45161,$45162,$45163,$45164),(nextval($45165),$45166,$45167,$45168,$45169,$45170,$45171,$45172,$45173,$45174,$45175,$45176,$45177,$45178),(nextval($45179),$45180,$45181,$45182,$45183,$45184,$45185,$45186,$45187,$45188,$45189,$45190,$45191,$45192),(nextval($45193),$45194,$45195,$45196,$45197,$45198,$45199,$45200,$45201,$45202,$45203,$45204,$45205,$45206),(nextval($45207),$45208,$45209,$45210,$45211,$45212,$45213,$45214,$45215,$45216,$45217,$45218,$45219,$45220),(nextval($45221),$45222,$45223,$45224,$45225,$45226,$45227,$45228,$45229,$45230,$45231,$45232,$45233,$45234),(nextval($45235),$45236,$45237,$45238,$45239,$45240,$45241,$45242,$45243,$45244,$45245,$45246,$45247,$45248),(nextval($45249),$45250,$45251,$45252,$45253,$45254,$45255,$45256,$45257,$45258,$45259,$45260,$45261,$45262),(nextval($45263),$45264,$45265,$45266,$45267,$45268,$45269,$45270,$45271,$45272,$45273,$45274,$45275,$45276),(nextval($45277),$45278,$45279,$45280,$45281,$45282,$45283,$45284,$45285,$45286,$45287,$45288,$45289,$45290),(nextval($45291),$45292,$45293,$45294,$45295,$45296,$45297,$45298,$45299,$45300,$45301,$45302,$45303,$45304),(nextval($45305),$45306,$45307,$45308,$45309,$45310,$45311,$45312,$45313,$45314,$45315,$45316,$45317,$45318),(nextval($45319),$45320,$45321,$45322,$45323,$45324,$45325,$45326,$45327,$45328,$45329,$45330,$45331,$45332),(nextval($45333),$45334,$45335,$45336,$45337,$45338,$45339,$45340,$45341,$45342,$45343,$45344,$45345,$45346),(nextval($45347),$45348,$45349,$45350,$45351,$45352,$45353,$45354,$45355,$45356,$45357,$45358,$45359,$45360),(nextval($45361),$45362,$45363,$45364,$45365,$45366,$45367,$45368,$45369,$45370,$45371,$45372,$45373,$45374),(nextval($45375),$45376,$45377,$45378,$45379,$45380,$45381,$45382,$45383,$45384,$45385,$45386,$45387,$45388),(nextval($45389),$45390,$45391,$45392,$45393,$45394,$45395,$45396,$45397,$45398,$45399,$45400,$45401,$45402),(nextval($45403),$45404,$45405,$45406,$45407,$45408,$45409,$45410,$45411,$45412,$45413,$45414,$45415,$45416),(nextval($45417),$45418,$45419,$45420,$45421,$45422,$45423,$45424,$45425,$45426,$45427,$45428,$45429,$45430),(nextval($45431),$45432,$45433,$45434,$45435,$45436,$45437,$45438,$45439,$45440,$45441,$45442,$45443,$45444),(nextval($45445),$45446,$45447,$45448,$45449,$45450,$45451,$45452,$45453,$45454,$45455,$45456,$45457,$45458),(nextval($45459),$45460,$45461,$45462,$45463,$45464,$45465,$45466,$45467,$45468,$45469,$45470,$45471,$45472),(nextval($45473),$45474,$45475,$45476,$45477,$45478,$45479,$45480,$45481,$45482,$45483,$45484,$45485,$45486),(nextval($45487),$45488,$45489,$45490,$45491,$45492,$45493,$45494,$45495,$45496,$45497,$45498,$45499,$45500),(nextval($45501),$45502,$45503,$45504,$45505,$45506,$45507,$45508,$45509,$45510,$45511,$45512,$45513,$45514),(nextval($45515),$45516,$45517,$45518,$45519,$45520,$45521,$45522,$45523,$45524,$45525,$45526,$45527,$45528),(nextval($45529),$45530,$45531,$45532,$45533,$45534,$45535,$45536,$45537,$45538,$45539,$45540,$45541,$45542),(nextval($45543),$45544,$45545,$45546,$45547,$45548,$45549,$45550,$45551,$45552,$45553,$45554,$45555,$45556),(nextval($45557),$45558,$45559,$45560,$45561,$45562,$45563,$45564,$45565,$45566,$45567,$45568,$45569,$45570),(nextval($45571),$45572,$45573,$45574,$45575,$45576,$45577,$45578,$45579,$45580,$45581,$45582,$45583,$45584),(nextval($45585),$45586,$45587,$45588,$45589,$45590,$45591,$45592,$45593,$45594,$45595,$45596,$45597,$45598),(nextval($45599),$45600,$45601,$45602,$45603,$45604,$45605,$45606,$45607,$45608,$45609,$45610,$45611,$45612),(nextval($45613),$45614,$45615,$45616,$45617,$45618,$45619,$45620,$45621,$45622,$45623,$45624,$45625,$45626),(nextval($45627),$45628,$45629,$45630,$45631,$45632,$45633,$45634,$45635,$45636,$45637,$45638,$45639,$45640),(nextval($45641),$45642,$45643,$45644,$45645,$45646,$45647,$45648,$45649,$45650,$45651,$45652,$45653,$45654),(nextval($45655),$45656,$45657,$45658,$45659,$45660,$45661,$45662,$45663,$45664,$45665,$45666,$45667,$45668),(nextval($45669),$45670,$45671,$45672,$45673,$45674,$45675,$45676,$45677,$45678,$45679,$45680,$45681,$45682),(nextval($45683),$45684,$45685,$45686,$45687,$45688,$45689,$45690,$45691,$45692,$45693,$45694,$45695,$45696),(nextval($45697),$45698,$45699,$45700,$45701,$45702,$45703,$45704,$45705,$45706,$45707,$45708,$45709,$45710),(nextval($45711),$45712,$45713,$45714,$45715,$45716,$45717,$45718,$45719,$45720,$45721,$45722,$45723,$45724),(nextval($45725),$45726,$45727,$45728,$45729,$45730,$45731,$45732,$45733,$45734,$45735,$45736,$45737,$45738),(nextval($45739),$45740,$45741,$45742,$45743,$45744,$45745,$45746,$45747,$45748,$45749,$45750,$45751,$45752),(nextval($45753),$45754,$45755,$45756,$45757,$45758,$45759,$45760,$45761,$45762,$45763,$45764,$45765,$45766),(nextval($45767),$45768,$45769,$45770,$45771,$45772,$45773,$45774,$45775,$45776,$45777,$45778,$45779,$45780),(nextval($45781),$45782,$45783,$45784,$45785,$45786,$45787,$45788,$45789,$45790,$45791,$45792,$45793,$45794),(nextval($45795),$45796,$45797,$45798,$45799,$45800,$45801,$45802,$45803,$45804,$45805,$45806,$45807,$45808),(nextval($45809),$45810,$45811,$45812,$45813,$45814,$45815,$45816,$45817,$45818,$45819,$45820,$45821,$45822),(nextval($45823),$45824,$45825,$45826,$45827,$45828,$45829,$45830,$45831,$45832,$45833,$45834,$45835,$45836),(nextval($45837),$45838,$45839,$45840,$45841,$45842,$45843,$45844,$45845,$45846,$45847,$45848,$45849,$45850),(nextval($45851),$45852,$45853,$45854,$45855,$45856,$45857,$45858,$45859,$45860,$45861,$45862,$45863,$45864),(nextval($45865),$45866,$45867,$45868,$45869,$45870,$45871,$45872,$45873,$45874,$45875,$45876,$45877,$45878),(nextval($45879),$45880,$45881,$45882,$45883,$45884,$45885,$45886,$45887,$45888,$45889,$45890,$45891,$45892),(nextval($45893),$45894,$45895,$45896,$45897,$45898,$45899,$45900,$45901,$45902,$45903,$45904,$45905,$45906),(nextval($45907),$45908,$45909,$45910,$45911,$45912,$45913,$45914,$45915,$45916,$45917,$45918,$45919,$45920),(nextval($45921),$45922,$45923,$45924,$45925,$45926,$45927,$45928,$45929,$45930,$45931,$45932,$45933,$45934),(nextval($45935),$45936,$45937,$45938,$45939,$45940,$45941,$45942,$45943,$45944,$45945,$45946,$45947,$45948),(nextval($45949),$45950,$45951,$45952,$45953,$45954,$45955,$45956,$45957,$45958,$45959,$45960,$45961,$45962),(nextval($45963),$45964,$45965,$45966,$45967,$45968,$45969,$45970,$45971,$45972,$45973,$45974,$45975,$45976),(nextval($45977),$45978,$45979,$45980,$45981,$45982,$45983,$45984,$45985,$45986,$45987,$45988,$45989,$45990),(nextval($45991),$45992,$45993,$45994,$45995,$45996,$45997,$45998,$45999,$46000,$46001,$46002,$46003,$46004),(nextval($46005),$46006,$46007,$46008,$46009,$46010,$46011,$46012,$46013,$46014,$46015,$46016,$46017,$46018),(nextval($46019),$46020,$46021,$46022,$46023,$46024,$46025,$46026,$46027,$46028,$46029,$46030,$46031,$46032),(nextval($46033),$46034,$46035,$46036,$46037,$46038,$46039,$46040,$46041,$46042,$46043,$46044,$46045,$46046),(nextval($46047),$46048,$46049,$46050,$46051,$46052,$46053,$46054,$46055,$46056,$46057,$46058,$46059,$46060),(nextval($46061),$46062,$46063,$46064,$46065,$46066,$46067,$46068,$46069,$46070,$46071,$46072,$46073,$46074),(nextval($46075),$46076,$46077,$46078,$46079,$46080,$46081,$46082,$46083,$46084,$46085,$46086,$46087,$46088),(nextval($46089),$46090,$46091,$46092,$46093,$46094,$46095,$46096,$46097,$46098,$46099,$46100,$46101,$46102),(nextval($46103),$46104,$46105,$46106,$46107,$46108,$46109,$46110,$46111,$46112,$46113,$46114,$46115,$46116),(nextval($46117),$46118,$46119,$46120,$46121,$46122,$46123,$46124,$46125,$46126,$46127,$46128,$46129,$46130),(nextval($46131),$46132,$46133,$46134,$46135,$46136,$46137,$46138,$46139,$46140,$46141,$46142,$46143,$46144),(nextval($46145),$46146,$46147,$46148,$46149,$46150,$46151,$46152,$46153,$46154,$46155,$46156,$46157,$46158),(nextval($46159),$46160,$46161,$46162,$46163,$46164,$46165,$46166,$46167,$46168,$46169,$46170,$46171,$46172),(nextval($46173),$46174,$46175,$46176,$46177,$46178,$46179,$46180,$46181,$46182,$46183,$46184,$46185,$46186),(nextval($46187),$46188,$46189,$46190,$46191,$46192,$46193,$46194,$46195,$46196,$46197,$46198,$46199,$46200),(nextval($46201),$46202,$46203,$46204,$46205,$46206,$46207,$46208,$46209,$46210,$46211,$46212,$46213,$46214),(nextval($46215),$46216,$46217,$46218,$46219,$46220,$46221,$46222,$46223,$46224,$46225,$46226,$46227,$46228),(nextval($46229),$46230,$46231,$46232,$46233,$46234,$46235,$46236,$46237,$46238,$46239,$46240,$46241,$46242),(nextval($46243),$46244,$46245,$46246,$46247,$46248,$46249,$46250,$46251,$46252,$46253,$46254,$46255,$46256),(nextval($46257),$46258,$46259,$46260,$46261,$46262,$46263,$46264,$46265,$46266,$46267,$46268,$46269,$46270),(nextval($46271),$46272,$46273,$46274,$46275,$46276,$46277,$46278,$46279,$46280,$46281,$46282,$46283,$46284),(nextval($46285),$46286,$46287,$46288,$46289,$46290,$46291,$46292,$46293,$46294,$46295,$46296,$46297,$46298),(nextval($46299),$46300,$46301,$46302,$46303,$46304,$46305,$46306,$46307,$46308,$46309,$46310,$46311,$46312),(nextval($46313),$46314,$46315,$46316,$46317,$46318,$46319,$46320,$46321,$46322,$46323,$46324,$46325,$46326),(nextval($46327),$46328,$46329,$46330,$46331,$46332,$46333,$46334,$46335,$46336,$46337,$46338,$46339,$46340),(nextval($46341),$46342,$46343,$46344,$46345,$46346,$46347,$46348,$46349,$46350,$46351,$46352,$46353,$46354),(nextval($46355),$46356,$46357,$46358,$46359,$46360,$46361,$46362,$46363,$46364,$46365,$46366,$46367,$46368),(nextval($46369),$46370,$46371,$46372,$46373,$46374,$46375,$46376,$46377,$46378,$46379,$46380,$46381,$46382),(nextval($46383),$46384,$46385,$46386,$46387,$46388,$46389,$46390,$46391,$46392,$46393,$46394,$46395,$46396),(nextval($46397),$46398,$46399,$46400,$46401,$46402,$46403,$46404,$46405,$46406,$46407,$46408,$46409,$46410),(nextval($46411),$46412,$46413,$46414,$46415,$46416,$46417,$46418,$46419,$46420,$46421,$46422,$46423,$46424),(nextval($46425),$46426,$46427,$46428,$46429,$46430,$46431,$46432,$46433,$46434,$46435,$46436,$46437,$46438),(nextval($46439),$46440,$46441,$46442,$46443,$46444,$46445,$46446,$46447,$46448,$46449,$46450,$46451,$46452),(nextval($46453),$46454,$46455,$46456,$46457,$46458,$46459,$46460,$46461,$46462,$46463,$46464,$46465,$46466),(nextval($46467),$46468,$46469,$46470,$46471,$46472,$46473,$46474,$46475,$46476,$46477,$46478,$46479,$46480),(nextval($46481),$46482,$46483,$46484,$46485,$46486,$46487,$46488,$46489,$46490,$46491,$46492,$46493,$46494),(nextval($46495),$46496,$46497,$46498,$46499,$46500,$46501,$46502,$46503,$46504,$46505,$46506,$46507,$46508),(nextval($46509),$46510,$46511,$46512,$46513,$46514,$46515,$46516,$46517,$46518,$46519,$46520,$46521,$46522),(nextval($46523),$46524,$46525,$46526,$46527,$46528,$46529,$46530,$46531,$46532,$46533,$46534,$46535,$46536),(nextval($46537),$46538,$46539,$46540,$46541,$46542,$46543,$46544,$46545,$46546,$46547,$46548,$46549,$46550),(nextval($46551),$46552,$46553,$46554,$46555,$46556,$46557,$46558,$46559,$46560,$46561,$46562,$46563,$46564),(nextval($46565),$46566,$46567,$46568,$46569,$46570,$46571,$46572,$46573,$46574,$46575,$46576,$46577,$46578),(nextval($46579),$46580,$46581,$46582,$46583,$46584,$46585,$46586,$46587,$46588,$46589,$46590,$46591,$46592),(nextval($46593),$46594,$46595,$46596,$46597,$46598,$46599,$46600,$46601,$46602,$46603,$46604,$46605,$46606),(nextval($46607),$46608,$46609,$46610,$46611,$46612,$46613,$46614,$46615,$46616,$46617,$46618,$46619,$46620),(nextval($46621),$46622,$46623,$46624,$46625,$46626,$46627,$46628,$46629,$46630,$46631,$46632,$46633,$46634),(nextval($46635),$46636,$46637,$46638,$46639,$46640,$46641,$46642,$46643,$46644,$46645,$46646,$46647,$46648),(nextval($46649),$46650,$46651,$46652,$46653,$46654,$46655,$46656,$46657,$46658,$46659,$46660,$46661,$46662),(nextval($46663),$46664,$46665,$46666,$46667,$46668,$46669,$46670,$46671,$46672,$46673,$46674,$46675,$46676),(nextval($46677),$46678,$46679,$46680,$46681,$46682,$46683,$46684,$46685,$46686,$46687,$46688,$46689,$46690),(nextval($46691),$46692,$46693,$46694,$46695,$46696,$46697,$46698,$46699,$46700,$46701,$46702,$46703,$46704),(nextval($46705),$46706,$46707,$46708,$46709,$46710,$46711,$46712,$46713,$46714,$46715,$46716,$46717,$46718),(nextval($46719),$46720,$46721,$46722,$46723,$46724,$46725,$46726,$46727,$46728,$46729,$46730,$46731,$46732),(nextval($46733),$46734,$46735,$46736,$46737,$46738,$46739,$46740,$46741,$46742,$46743,$46744,$46745,$46746),(nextval($46747),$46748,$46749,$46750,$46751,$46752,$46753,$46754,$46755,$46756,$46757,$46758,$46759,$46760),(nextval($46761),$46762,$46763,$46764,$46765,$46766,$46767,$46768,$46769,$46770,$46771,$46772,$46773,$46774),(nextval($46775),$46776,$46777,$46778,$46779,$46780,$46781,$46782,$46783,$46784,$46785,$46786,$46787,$46788),(nextval($46789),$46790,$46791,$46792,$46793,$46794,$46795,$46796,$46797,$46798,$46799,$46800,$46801,$46802),(nextval($46803),$46804,$46805,$46806,$46807,$46808,$46809,$46810,$46811,$46812,$46813,$46814,$46815,$46816),(nextval($46817),$46818,$46819,$46820,$46821,$46822,$46823,$46824,$46825,$46826,$46827,$46828,$46829,$46830),(nextval($46831),$46832,$46833,$46834,$46835,$46836,$46837,$46838,$46839,$46840,$46841,$46842,$46843,$46844),(nextval($46845),$46846,$46847,$46848,$46849,$46850,$46851,$46852,$46853,$46854,$46855,$46856,$46857,$46858),(nextval($46859),$46860,$46861,$46862,$46863,$46864,$46865,$46866,$46867,$46868,$46869,$46870,$46871,$46872),(nextval($46873),$46874,$46875,$46876,$46877,$46878,$46879,$46880,$46881,$46882,$46883,$46884,$46885,$46886),(nextval($46887),$46888,$46889,$46890,$46891,$46892,$46893,$46894,$46895,$46896,$46897,$46898,$46899,$46900),(nextval($46901),$46902,$46903,$46904,$46905,$46906,$46907,$46908,$46909,$46910,$46911,$46912,$46913,$46914),(nextval($46915),$46916,$46917,$46918,$46919,$46920,$46921,$46922,$46923,$46924,$46925,$46926,$46927,$46928),(nextval($46929),$46930,$46931,$46932,$46933,$46934,$46935,$46936,$46937,$46938,$46939,$46940,$46941,$46942),(nextval($46943),$46944,$46945,$46946,$46947,$46948,$46949,$46950,$46951,$46952,$46953,$46954,$46955,$46956),(nextval($46957),$46958,$46959,$46960,$46961,$46962,$46963,$46964,$46965,$46966,$46967,$46968,$46969,$46970),(nextval($46971),$46972,$46973,$46974,$46975,$46976,$46977,$46978,$46979,$46980,$46981,$46982,$46983,$46984),(nextval($46985),$46986,$46987,$46988,$46989,$46990,$46991,$46992,$46993,$46994,$46995,$46996,$46997,$46998),(nextval($46999),$47000,$47001,$47002,$47003,$47004,$47005,$47006,$47007,$47008,$47009,$47010,$47011,$47012),(nextval($47013),$47014,$47015,$47016,$47017,$47018,$47019,$47020,$47021,$47022,$47023,$47024,$47025,$47026),(nextval($47027),$47028,$47029,$47030,$47031,$47032,$47033,$47034,$47035,$47036,$47037,$47038,$47039,$47040),(nextval($47041),$47042,$47043,$47044,$47045,$47046,$47047,$47048,$47049,$47050,$47051,$47052,$47053,$47054),(nextval($47055),$47056,$47057,$47058,$47059,$47060,$47061,$47062,$47063,$47064,$47065,$47066,$47067,$47068),(nextval($47069),$47070,$47071,$47072,$47073,$47074,$47075,$47076,$47077,$47078,$47079,$47080,$47081,$47082),(nextval($47083),$47084,$47085,$47086,$47087,$47088,$47089,$47090,$47091,$47092,$47093,$47094,$47095,$47096),(nextval($47097),$47098,$47099,$47100,$47101,$47102,$47103,$47104,$47105,$47106,$47107,$47108,$47109,$47110),(nextval($47111),$47112,$47113,$47114,$47115,$47116,$47117,$47118,$47119,$47120,$47121,$47122,$47123,$47124),(nextval($47125),$47126,$47127,$47128,$47129,$47130,$47131,$47132,$47133,$47134,$47135,$47136,$47137,$47138),(nextval($47139),$47140,$47141,$47142,$47143,$47144,$47145,$47146,$47147,$47148,$47149,$47150,$47151,$47152),(nextval($47153),$47154,$47155,$47156,$47157,$47158,$47159,$47160,$47161,$47162,$47163,$47164,$47165,$47166),(nextval($47167),$47168,$47169,$47170,$47171,$47172,$47173,$47174,$47175,$47176,$47177,$47178,$47179,$47180),(nextval($47181),$47182,$47183,$47184,$47185,$47186,$47187,$47188,$47189,$47190,$47191,$47192,$47193,$47194),(nextval($47195),$47196,$47197,$47198,$47199,$47200,$47201,$47202,$47203,$47204,$47205,$47206,$47207,$47208),(nextval($47209),$47210,$47211,$47212,$47213,$47214,$47215,$47216,$47217,$47218,$47219,$47220,$47221,$47222),(nextval($47223),$47224,$47225,$47226,$47227,$47228,$47229,$47230,$47231,$47232,$47233,$47234,$47235,$47236),(nextval($47237),$47238,$47239,$47240,$47241,$47242,$47243,$47244,$47245,$47246,$47247,$47248,$47249,$47250),(nextval($47251),$47252,$47253,$47254,$47255,$47256,$47257,$47258,$47259,$47260,$47261,$47262,$47263,$47264),(nextval($47265),$47266,$47267,$47268,$47269,$47270,$47271,$47272,$47273,$47274,$47275,$47276,$47277,$47278),(nextval($47279),$47280,$47281,$47282,$47283,$47284,$47285,$47286,$47287,$47288,$47289,$47290,$47291,$47292),(nextval($47293),$47294,$47295,$47296,$47297,$47298,$47299,$47300,$47301,$47302,$47303,$47304,$47305,$47306),(nextval($47307),$47308,$47309,$47310,$47311,$47312,$47313,$47314,$47315,$47316,$47317,$47318,$47319,$47320),(nextval($47321),$47322,$47323,$47324,$47325,$47326,$47327,$47328,$47329,$47330,$47331,$47332,$47333,$47334),(nextval($47335),$47336,$47337,$47338,$47339,$47340,$47341,$47342,$47343,$47344,$47345,$47346,$47347,$47348),(nextval($47349),$47350,$47351,$47352,$47353,$47354,$47355,$47356,$47357,$47358,$47359,$47360,$47361,$47362),(nextval($47363),$47364,$47365,$47366,$47367,$47368,$47369,$47370,$47371,$47372,$47373,$47374,$47375,$47376),(nextval($47377),$47378,$47379,$47380,$47381,$47382,$47383,$47384,$47385,$47386,$47387,$47388,$47389,$47390),(nextval($47391),$47392,$47393,$47394,$47395,$47396,$47397,$47398,$47399,$47400,$47401,$47402,$47403,$47404),(nextval($47405),$47406,$47407,$47408,$47409,$47410,$47411,$47412,$47413,$47414,$47415,$47416,$47417,$47418),(nextval($47419),$47420,$47421,$47422,$47423,$47424,$47425,$47426,$47427,$47428,$47429,$47430,$47431,$47432),(nextval($47433),$47434,$47435,$47436,$47437,$47438,$47439,$47440,$47441,$47442,$47443,$47444,$47445,$47446),(nextval($47447),$47448,$47449,$47450,$47451,$47452,$47453,$47454,$47455,$47456,$47457,$47458,$47459,$47460),(nextval($47461),$47462,$47463,$47464,$47465,$47466,$47467,$47468,$47469,$47470,$47471,$47472,$47473,$47474),(nextval($47475),$47476,$47477,$47478,$47479,$47480,$47481,$47482,$47483,$47484,$47485,$47486,$47487,$47488),(nextval($47489),$47490,$47491,$47492,$47493,$47494,$47495,$47496,$47497,$47498,$47499,$47500,$47501,$47502),(nextval($47503),$47504,$47505,$47506,$47507,$47508,$47509,$47510,$47511,$47512,$47513,$47514,$47515,$47516),(nextval($47517),$47518,$47519,$47520,$47521,$47522,$47523,$47524,$47525,$47526,$47527,$47528,$47529,$47530),(nextval($47531),$47532,$47533,$47534,$47535,$47536,$47537,$47538,$47539,$47540,$47541,$47542,$47543,$47544),(nextval($47545),$47546,$47547,$47548,$47549,$47550,$47551,$47552,$47553,$47554,$47555,$47556,$47557,$47558),(nextval($47559),$47560,$47561,$47562,$47563,$47564,$47565,$47566,$47567,$47568,$47569,$47570,$47571,$47572),(nextval($47573),$47574,$47575,$47576,$47577,$47578,$47579,$47580,$47581,$47582,$47583,$47584,$47585,$47586),(nextval($47587),$47588,$47589,$47590,$47591,$47592,$47593,$47594,$47595,$47596,$47597,$47598,$47599,$47600),(nextval($47601),$47602,$47603,$47604,$47605,$47606,$47607,$47608,$47609,$47610,$47611,$47612,$47613,$47614),(nextval($47615),$47616,$47617,$47618,$47619,$47620,$47621,$47622,$47623,$47624,$47625,$47626,$47627,$47628),(nextval($47629),$47630,$47631,$47632,$47633,$47634,$47635,$47636,$47637,$47638,$47639,$47640,$47641,$47642),(nextval($47643),$47644,$47645,$47646,$47647,$47648,$47649,$47650,$47651,$47652,$47653,$47654,$47655,$47656),(nextval($47657),$47658,$47659,$47660,$47661,$47662,$47663,$47664,$47665,$47666,$47667,$47668,$47669,$47670),(nextval($47671),$47672,$47673,$47674,$47675,$47676,$47677,$47678,$47679,$47680,$47681,$47682,$47683,$47684),(nextval($47685),$47686,$47687,$47688,$47689,$47690,$47691,$47692,$47693,$47694,$47695,$47696,$47697,$47698),(nextval($47699),$47700,$47701,$47702,$47703,$47704,$47705,$47706,$47707,$47708,$47709,$47710,$47711,$47712),(nextval($47713),$47714,$47715,$47716,$47717,$47718,$47719,$47720,$47721,$47722,$47723,$47724,$47725,$47726),(nextval($47727),$47728,$47729,$47730,$47731,$47732,$47733,$47734,$47735,$47736,$47737,$47738,$47739,$47740),(nextval($47741),$47742,$47743,$47744,$47745,$47746,$47747,$47748,$47749,$47750,$47751,$47752,$47753,$47754),(nextval($47755),$47756,$47757,$47758,$47759,$47760,$47761,$47762,$47763,$47764,$47765,$47766,$47767,$47768),(nextval($47769),$47770,$47771,$47772,$47773,$47774,$47775,$47776,$47777,$47778,$47779,$47780,$47781,$47782),(nextval($47783),$47784,$47785,$47786,$47787,$47788,$47789,$47790,$47791,$47792,$47793,$47794,$47795,$47796),(nextval($47797),$47798,$47799,$47800,$47801,$47802,$47803,$47804,$47805,$47806,$47807,$47808,$47809,$47810),(nextval($47811),$47812,$47813,$47814,$47815,$47816,$47817,$47818,$47819,$47820,$47821,$47822,$47823,$47824),(nextval($47825),$47826,$47827,$47828,$47829,$47830,$47831,$47832,$47833,$47834,$47835,$47836,$47837,$47838),(nextval($47839),$47840,$47841,$47842,$47843,$47844,$47845,$47846,$47847,$47848,$47849,$47850,$47851,$47852),(nextval($47853),$47854,$47855,$47856,$47857,$47858,$47859,$47860,$47861,$47862,$47863,$47864,$47865,$47866),(nextval($47867),$47868,$47869,$47870,$47871,$47872,$47873,$47874,$47875,$47876,$47877,$47878,$47879,$47880),(nextval($47881),$47882,$47883,$47884,$47885,$47886,$47887,$47888,$47889,$47890,$47891,$47892,$47893,$47894),(nextval($47895),$47896,$47897,$47898,$47899,$47900,$47901,$47902,$47903,$47904,$47905,$47906,$47907,$47908),(nextval($47909),$47910,$47911,$47912,$47913,$47914,$47915,$47916,$47917,$47918,$47919,$47920,$47921,$47922),(nextval($47923),$47924,$47925,$47926,$47927,$47928,$47929,$47930,$47931,$47932,$47933,$47934,$47935,$47936),(nextval($47937),$47938,$47939,$47940,$47941,$47942,$47943,$47944,$47945,$47946,$47947,$47948,$47949,$47950),(nextval($47951),$47952,$47953,$47954,$47955,$47956,$47957,$47958,$47959,$47960,$47961,$47962,$47963,$47964),(nextval($47965),$47966,$47967,$47968,$47969,$47970,$47971,$47972,$47973,$47974,$47975,$47976,$47977,$47978),(nextval($47979),$47980,$47981,$47982,$47983,$47984,$47985,$47986,$47987,$47988,$47989,$47990,$47991,$47992),(nextval($47993),$47994,$47995,$47996,$47997,$47998,$47999,$48000,$48001,$48002,$48003,$48004,$48005,$48006),(nextval($48007),$48008,$48009,$48010,$48011,$48012,$48013,$48014,$48015,$48016,$48017,$48018,$48019,$48020),(nextval($48021),$48022,$48023,$48024,$48025,$48026,$48027,$48028,$48029,$48030,$48031,$48032,$48033,$48034),(nextval($48035),$48036,$48037,$48038,$48039,$48040,$48041,$48042,$48043,$48044,$48045,$48046,$48047,$48048),(nextval($48049),$48050,$48051,$48052,$48053,$48054,$48055,$48056,$48057,$48058,$48059,$48060,$48061,$48062),(nextval($48063),$48064,$48065,$48066,$48067,$48068,$48069,$48070,$48071,$48072,$48073,$48074,$48075,$48076),(nextval($48077),$48078,$48079,$48080,$48081,$48082,$48083,$48084,$48085,$48086,$48087,$48088,$48089,$48090),(nextval($48091),$48092,$48093,$48094,$48095,$48096,$48097,$48098,$48099,$48100,$48101,$48102,$48103,$48104),(nextval($48105),$48106,$48107,$48108,$48109,$48110,$48111,$48112,$48113,$48114,$48115,$48116,$48117,$48118),(nextval($48119),$48120,$48121,$48122,$48123,$48124,$48125,$48126,$48127,$48128,$48129,$48130,$48131,$48132),(nextval($48133),$48134,$48135,$48136,$48137,$48138,$48139,$48140,$48141,$48142,$48143,$48144,$48145,$48146),(nextval($48147),$48148,$48149,$48150,$48151,$48152,$48153,$48154,$48155,$48156,$48157,$48158,$48159,$48160),(nextval($48161),$48162,$48163,$48164,$48165,$48166,$48167,$48168,$48169,$48170,$48171,$48172,$48173,$48174),(nextval($48175),$48176,$48177,$48178,$48179,$48180,$48181,$48182,$48183,$48184,$48185,$48186,$48187,$48188),(nextval($48189),$48190,$48191,$48192,$48193,$48194,$48195,$48196,$48197,$48198,$48199,$48200,$48201,$48202),(nextval($48203),$48204,$48205,$48206,$48207,$48208,$48209,$48210,$48211,$48212,$48213,$48214,$48215,$48216),(nextval($48217),$48218,$48219,$48220,$48221,$48222,$48223,$48224,$48225,$48226,$48227,$48228,$48229,$48230),(nextval($48231),$48232,$48233,$48234,$48235,$48236,$48237,$48238,$48239,$48240,$48241,$48242,$48243,$48244),(nextval($48245),$48246,$48247,$48248,$48249,$48250,$48251,$48252,$48253,$48254,$48255,$48256,$48257,$48258),(nextval($48259),$48260,$48261,$48262,$48263,$48264,$48265,$48266,$48267,$48268,$48269,$48270,$48271,$48272),(nextval($48273),$48274,$48275,$48276,$48277,$48278,$48279,$48280,$48281,$48282,$48283,$48284,$48285,$48286),(nextval($48287),$48288,$48289,$48290,$48291,$48292,$48293,$48294,$48295,$48296,$48297,$48298,$48299,$48300),(nextval($48301),$48302,$48303,$48304,$48305,$48306,$48307,$48308,$48309,$48310,$48311,$48312,$48313,$48314),(nextval($48315),$48316,$48317,$48318,$48319,$48320,$48321,$48322,$48323,$48324,$48325,$48326,$48327,$48328),(nextval($48329),$48330,$48331,$48332,$48333,$48334,$48335,$48336,$48337,$48338,$48339,$48340,$48341,$48342),(nextval($48343),$48344,$48345,$48346,$48347,$48348,$48349,$48350,$48351,$48352,$48353,$48354,$48355,$48356),(nextval($48357),$48358,$48359,$48360,$48361,$48362,$48363,$48364,$48365,$48366,$48367,$48368,$48369,$48370),(nextval($48371),$48372,$48373,$48374,$48375,$48376,$48377,$48378,$48379,$48380,$48381,$48382,$48383,$48384),(nextval($48385),$48386,$48387,$48388,$48389,$48390,$48391,$48392,$48393,$48394,$48395,$48396,$48397,$48398),(nextval($48399),$48400,$48401,$48402,$48403,$48404,$48405,$48406,$48407,$48408,$48409,$48410,$48411,$48412),(nextval($48413),$48414,$48415,$48416,$48417,$48418,$48419,$48420,$48421,$48422,$48423,$48424,$48425,$48426),(nextval($48427),$48428,$48429,$48430,$48431,$48432,$48433,$48434,$48435,$48436,$48437,$48438,$48439,$48440),(nextval($48441),$48442,$48443,$48444,$48445,$48446,$48447,$48448,$48449,$48450,$48451,$48452,$48453,$48454),(nextval($48455),$48456,$48457,$48458,$48459,$48460,$48461,$48462,$48463,$48464,$48465,$48466,$48467,$48468),(nextval($48469),$48470,$48471,$48472,$48473,$48474,$48475,$48476,$48477,$48478,$48479,$48480,$48481,$48482),(nextval($48483),$48484,$48485,$48486,$48487,$48488,$48489,$48490,$48491,$48492,$48493,$48494,$48495,$48496),(nextval($48497),$48498,$48499,$48500,$48501,$48502,$48503,$48504,$48505,$48506,$48507,$48508,$48509,$48510),(nextval($48511),$48512,$48513,$48514,$48515,$48516,$48517,$48518,$48519,$48520,$48521,$48522,$48523,$48524),(nextval($48525),$48526,$48527,$48528,$48529,$48530,$48531,$48532,$48533,$48534,$48535,$48536,$48537,$48538),(nextval($48539),$48540,$48541,$48542,$48543,$48544,$48545,$48546,$48547,$48548,$48549,$48550,$48551,$48552),(nextval($48553),$48554,$48555,$48556,$48557,$48558,$48559,$48560,$48561,$48562,$48563,$48564,$48565,$48566),(nextval($48567),$48568,$48569,$48570,$48571,$48572,$48573,$48574,$48575,$48576,$48577,$48578,$48579,$48580),(nextval($48581),$48582,$48583,$48584,$48585,$48586,$48587,$48588,$48589,$48590,$48591,$48592,$48593,$48594),(nextval($48595),$48596,$48597,$48598,$48599,$48600,$48601,$48602,$48603,$48604,$48605,$48606,$48607,$48608),(nextval($48609),$48610,$48611,$48612,$48613,$48614,$48615,$48616,$48617,$48618,$48619,$48620,$48621,$48622),(nextval($48623),$48624,$48625,$48626,$48627,$48628,$48629,$48630,$48631,$48632,$48633,$48634,$48635,$48636),(nextval($48637),$48638,$48639,$48640,$48641,$48642,$48643,$48644,$48645,$48646,$48647,$48648,$48649,$48650),(nextval($48651),$48652,$48653,$48654,$48655,$48656,$48657,$48658,$48659,$48660,$48661,$48662,$48663,$48664),(nextval($48665),$48666,$48667,$48668,$48669,$48670,$48671,$48672,$48673,$48674,$48675,$48676,$48677,$48678),(nextval($48679),$48680,$48681,$48682,$48683,$48684,$48685,$48686,$48687,$48688,$48689,$48690,$48691,$48692),(nextval($48693),$48694,$48695,$48696,$48697,$48698,$48699,$48700,$48701,$48702,$48703,$48704,$48705,$48706),(nextval($48707),$48708,$48709,$48710,$48711,$48712,$48713,$48714,$48715,$48716,$48717,$48718,$48719,$48720),(nextval($48721),$48722,$48723,$48724,$48725,$48726,$48727,$48728,$48729,$48730,$48731,$48732,$48733,$48734),(nextval($48735),$48736,$48737,$48738,$48739,$48740,$48741,$48742,$48743,$48744,$48745,$48746,$48747,$48748),(nextval($48749),$48750,$48751,$48752,$48753,$48754,$48755,$48756,$48757,$48758,$48759,$48760,$48761,$48762),(nextval($48763),$48764,$48765,$48766,$48767,$48768,$48769,$48770,$48771,$48772,$48773,$48774,$48775,$48776),(nextval($48777),$48778,$48779,$48780,$48781,$48782,$48783,$48784,$48785,$48786,$48787,$48788,$48789,$48790),(nextval($48791),$48792,$48793,$48794,$48795,$48796,$48797,$48798,$48799,$48800,$48801,$48802,$48803,$48804),(nextval($48805),$48806,$48807,$48808,$48809,$48810,$48811,$48812,$48813,$48814,$48815,$48816,$48817,$48818),(nextval($48819),$48820,$48821,$48822,$48823,$48824,$48825,$48826,$48827,$48828,$48829,$48830,$48831,$48832),(nextval($48833),$48834,$48835,$48836,$48837,$48838,$48839,$48840,$48841,$48842,$48843,$48844,$48845,$48846),(nextval($48847),$48848,$48849,$48850,$48851,$48852,$48853,$48854,$48855,$48856,$48857,$48858,$48859,$48860),(nextval($48861),$48862,$48863,$48864,$48865,$48866,$48867,$48868,$48869,$48870,$48871,$48872,$48873,$48874),(nextval($48875),$48876,$48877,$48878,$48879,$48880,$48881,$48882,$48883,$48884,$48885,$48886,$48887,$48888),(nextval($48889),$48890,$48891,$48892,$48893,$48894,$48895,$48896,$48897,$48898,$48899,$48900,$48901,$48902),(nextval($48903),$48904,$48905,$48906,$48907,$48908,$48909,$48910,$48911,$48912,$48913,$48914,$48915,$48916),(nextval($48917),$48918,$48919,$48920,$48921,$48922,$48923,$48924,$48925,$48926,$48927,$48928,$48929,$48930),(nextval($48931),$48932,$48933,$48934,$48935,$48936,$48937,$48938,$48939,$48940,$48941,$48942,$48943,$48944),(nextval($48945),$48946,$48947,$48948,$48949,$48950,$48951,$48952,$48953,$48954,$48955,$48956,$48957,$48958),(nextval($48959),$48960,$48961,$48962,$48963,$48964,$48965,$48966,$48967,$48968,$48969,$48970,$48971,$48972),(nextval($48973),$48974,$48975,$48976,$48977,$48978,$48979,$48980,$48981,$48982,$48983,$48984,$48985,$48986),(nextval($48987),$48988,$48989,$48990,$48991,$48992,$48993,$48994,$48995,$48996,$48997,$48998,$48999,$49000),(nextval($49001),$49002,$49003,$49004,$49005,$49006,$49007,$49008,$49009,$49010,$49011,$49012,$49013,$49014),(nextval($49015),$49016,$49017,$49018,$49019,$49020,$49021,$49022,$49023,$49024,$49025,$49026,$49027,$49028),(nextval($49029),$49030,$49031,$49032,$49033,$49034,$49035,$49036,$49037,$49038,$49039,$49040,$49041,$49042),(nextval($49043),$49044,$49045,$49046,$49047,$49048,$49049,$49050,$49051,$49052,$49053,$49054,$49055,$49056),(nextval($49057),$49058,$49059,$49060,$49061,$49062,$49063,$49064,$49065,$49066,$49067,$49068,$49069,$49070),(nextval($49071),$49072,$49073,$49074,$49075,$49076,$49077,$49078,$49079,$49080,$49081,$49082,$49083,$49084),(nextval($49085),$49086,$49087,$49088,$49089,$49090,$49091,$49092,$49093,$49094,$49095,$49096,$49097,$49098),(nextval($49099),$49100,$49101,$49102,$49103,$49104,$49105,$49106,$49107,$49108,$49109,$49110,$49111,$49112),(nextval($49113),$49114,$49115,$49116,$49117,$49118,$49119,$49120,$49121,$49122,$49123,$49124,$49125,$49126),(nextval($49127),$49128,$49129,$49130,$49131,$49132,$49133,$49134,$49135,$49136,$49137,$49138,$49139,$49140),(nextval($49141),$49142,$49143,$49144,$49145,$49146,$49147,$49148,$49149,$49150,$49151,$49152,$49153,$49154),(nextval($49155),$49156,$49157,$49158,$49159,$49160,$49161,$49162,$49163,$49164,$49165,$49166,$49167,$49168),(nextval($49169),$49170,$49171,$49172,$49173,$49174,$49175,$49176,$49177,$49178,$49179,$49180,$49181,$49182),(nextval($49183),$49184,$49185,$49186,$49187,$49188,$49189,$49190,$49191,$49192,$49193,$49194,$49195,$49196),(nextval($49197),$49198,$49199,$49200,$49201,$49202,$49203,$49204,$49205,$49206,$49207,$49208,$49209,$49210),(nextval($49211),$49212,$49213,$49214,$49215,$49216,$49217,$49218,$49219,$49220,$49221,$49222,$49223,$49224),(nextval($49225),$49226,$49227,$49228,$49229,$49230,$49231,$49232,$49233,$49234,$49235,$49236,$49237,$49238),(nextval($49239),$49240,$49241,$49242,$49243,$49244,$49245,$49246,$49247,$49248,$49249,$49250,$49251,$49252),(nextval($49253),$49254,$49255,$49256,$49257,$49258,$49259,$49260,$49261,$49262,$49263,$49264,$49265,$49266),(nextval($49267),$49268,$49269,$49270,$49271,$49272,$49273,$49274,$49275,$49276,$49277,$49278,$49279,$49280),(nextval($49281),$49282,$49283,$49284,$49285,$49286,$49287,$49288,$49289,$49290,$49291,$49292,$49293,$49294),(nextval($49295),$49296,$49297,$49298,$49299,$49300,$49301,$49302,$49303,$49304,$49305,$49306,$49307,$49308),(nextval($49309),$49310,$49311,$49312,$49313,$49314,$49315,$49316,$49317,$49318,$49319,$49320,$49321,$49322),(nextval($49323),$49324,$49325,$49326,$49327,$49328,$49329,$49330,$49331,$49332,$49333,$49334,$49335,$49336),(nextval($49337),$49338,$49339,$49340,$49341,$49342,$49343,$49344,$49345,$49346,$49347,$49348,$49349,$49350),(nextval($49351),$49352,$49353,$49354,$49355,$49356,$49357,$49358,$49359,$49360,$49361,$49362,$49363,$49364),(nextval($49365),$49366,$49367,$49368,$49369,$49370,$49371,$49372,$49373,$49374,$49375,$49376,$49377,$49378),(nextval($49379),$49380,$49381,$49382,$49383,$49384,$49385,$49386,$49387,$49388,$49389,$49390,$49391,$49392),(nextval($49393),$49394,$49395,$49396,$49397,$49398,$49399,$49400,$49401,$49402,$49403,$49404,$49405,$49406),(nextval($49407),$49408,$49409,$49410,$49411,$49412,$49413,$49414,$49415,$49416,$49417,$49418,$49419,$49420),(nextval($49421),$49422,$49423,$49424,$49425,$49426,$49427,$49428,$49429,$49430,$49431,$49432,$49433,$49434),(nextval($49435),$49436,$49437,$49438,$49439,$49440,$49441,$49442,$49443,$49444,$49445,$49446,$49447,$49448),(nextval($49449),$49450,$49451,$49452,$49453,$49454,$49455,$49456,$49457,$49458,$49459,$49460,$49461,$49462),(nextval($49463),$49464,$49465,$49466,$49467,$49468,$49469,$49470,$49471,$49472,$49473,$49474,$49475,$49476),(nextval($49477),$49478,$49479,$49480,$49481,$49482,$49483,$49484,$49485,$49486,$49487,$49488,$49489,$49490),(nextval($49491),$49492,$49493,$49494,$49495,$49496,$49497,$49498,$49499,$49500,$49501,$49502,$49503,$49504),(nextval($49505),$49506,$49507,$49508,$49509,$49510,$49511,$49512,$49513,$49514,$49515,$49516,$49517,$49518),(nextval($49519),$49520,$49521,$49522,$49523,$49524,$49525,$49526,$49527,$49528,$49529,$49530,$49531,$49532),(nextval($49533),$49534,$49535,$49536,$49537,$49538,$49539,$49540,$49541,$49542,$49543,$49544,$49545,$49546),(nextval($49547),$49548,$49549,$49550,$49551,$49552,$49553,$49554,$49555,$49556,$49557,$49558,$49559,$49560),(nextval($49561),$49562,$49563,$49564,$49565,$49566,$49567,$49568,$49569,$49570,$49571,$49572,$49573,$49574),(nextval($49575),$49576,$49577,$49578,$49579,$49580,$49581,$49582,$49583,$49584,$49585,$49586,$49587,$49588),(nextval($49589),$49590,$49591,$49592,$49593,$49594,$49595,$49596,$49597,$49598,$49599,$49600,$49601,$49602),(nextval($49603),$49604,$49605,$49606,$49607,$49608,$49609,$49610,$49611,$49612,$49613,$49614,$49615,$49616),(nextval($49617),$49618,$49619,$49620,$49621,$49622,$49623,$49624,$49625,$49626,$49627,$49628,$49629,$49630),(nextval($49631),$49632,$49633,$49634,$49635,$49636,$49637,$49638,$49639,$49640,$49641,$49642,$49643,$49644),(nextval($49645),$49646,$49647,$49648,$49649,$49650,$49651,$49652,$49653,$49654,$49655,$49656,$49657,$49658),(nextval($49659),$49660,$49661,$49662,$49663,$49664,$49665,$49666,$49667,$49668,$49669,$49670,$49671,$49672),(nextval($49673),$49674,$49675,$49676,$49677,$49678,$49679,$49680,$49681,$49682,$49683,$49684,$49685,$49686),(nextval($49687),$49688,$49689,$49690,$49691,$49692,$49693,$49694,$49695,$49696,$49697,$49698,$49699,$49700),(nextval($49701),$49702,$49703,$49704,$49705,$49706,$49707,$49708,$49709,$49710,$49711,$49712,$49713,$49714),(nextval($49715),$49716,$49717,$49718,$49719,$49720,$49721,$49722,$49723,$49724,$49725,$49726,$49727,$49728),(nextval($49729),$49730,$49731,$49732,$49733,$49734,$49735,$49736,$49737,$49738,$49739,$49740,$49741,$49742),(nextval($49743),$49744,$49745,$49746,$49747,$49748,$49749,$49750,$49751,$49752,$49753,$49754,$49755,$49756),(nextval($49757),$49758,$49759,$49760,$49761,$49762,$49763,$49764,$49765,$49766,$49767,$49768,$49769,$49770),(nextval($49771),$49772,$49773,$49774,$49775,$49776,$49777,$49778,$49779,$49780,$49781,$49782,$49783,$49784),(nextval($49785),$49786,$49787,$49788,$49789,$49790,$49791,$49792,$49793,$49794,$49795,$49796,$49797,$49798),(nextval($49799),$49800,$49801,$49802,$49803,$49804,$49805,$49806,$49807,$49808,$49809,$49810,$49811,$49812),(nextval($49813),$49814,$49815,$49816,$49817,$49818,$49819,$49820,$49821,$49822,$49823,$49824,$49825,$49826),(nextval($49827),$49828,$49829,$49830,$49831,$49832,$49833,$49834,$49835,$49836,$49837,$49838,$49839,$49840),(nextval($49841),$49842,$49843,$49844,$49845,$49846,$49847,$49848,$49849,$49850,$49851,$49852,$49853,$49854),(nextval($49855),$49856,$49857,$49858,$49859,$49860,$49861,$49862,$49863,$49864,$49865,$49866,$49867,$49868),(nextval($49869),$49870,$49871,$49872,$49873,$49874,$49875,$49876,$49877,$49878,$49879,$49880,$49881,$49882),(nextval($49883),$49884,$49885,$49886,$49887,$49888,$49889,$49890,$49891,$49892,$49893,$49894,$49895,$49896),(nextval($49897),$49898,$49899,$49900,$49901,$49902,$49903,$49904,$49905,$49906,$49907,$49908,$49909,$49910),(nextval($49911),$49912,$49913,$49914,$49915,$49916,$49917,$49918,$49919,$49920,$49921,$49922,$49923,$49924),(nextval($49925),$49926,$49927,$49928,$49929,$49930,$49931,$49932,$49933,$49934,$49935,$49936,$49937,$49938),(nextval($49939),$49940,$49941,$49942,$49943,$49944,$49945,$49946,$49947,$49948,$49949,$49950,$49951,$49952),(nextval($49953),$49954,$49955,$49956,$49957,$49958,$49959,$49960,$49961,$49962,$49963,$49964,$49965,$49966),(nextval($49967),$49968,$49969,$49970,$49971,$49972,$49973,$49974,$49975,$49976,$49977,$49978,$49979,$49980),(nextval($49981),$49982,$49983,$49984,$49985,$49986,$49987,$49988,$49989,$49990,$49991,$49992,$49993,$49994),(nextval($49995),$49996,$49997,$49998,$49999,$50000,$50001,$50002,$50003,$50004,$50005,$50006,$50007,$50008),(nextval($50009),$50010,$50011,$50012,$50013,$50014,$50015,$50016,$50017,$50018,$50019,$50020,$50021,$50022),(nextval($50023),$50024,$50025,$50026,$50027,$50028,$50029,$50030,$50031,$50032,$50033,$50034,$50035,$50036),(nextval($50037),$50038,$50039,$50040,$50041,$50042,$50043,$50044,$50045,$50046,$50047,$50048,$50049,$50050),(nextval($50051),$50052,$50053,$50054,$50055,$50056,$50057,$50058,$50059,$50060,$50061,$50062,$50063,$50064),(nextval($50065),$50066,$50067,$50068,$50069,$50070,$50071,$50072,$50073,$50074,$50075,$50076,$50077,$50078),(nextval($50079),$50080,$50081,$50082,$50083,$50084,$50085,$50086,$50087,$50088,$50089,$50090,$50091,$50092),(nextval($50093),$50094,$50095,$50096,$50097,$50098,$50099,$50100,$50101,$50102,$50103,$50104,$50105,$50106),(nextval($50107),$50108,$50109,$50110,$50111,$50112,$50113,$50114,$50115,$50116,$50117,$50118,$50119,$50120),(nextval($50121),$50122,$50123,$50124,$50125,$50126,$50127,$50128,$50129,$50130,$50131,$50132,$50133,$50134),(nextval($50135),$50136,$50137,$50138,$50139,$50140,$50141,$50142,$50143,$50144,$50145,$50146,$50147,$50148),(nextval($50149),$50150,$50151,$50152,$50153,$50154,$50155,$50156,$50157,$50158,$50159,$50160,$50161,$50162),(nextval($50163),$50164,$50165,$50166,$50167,$50168,$50169,$50170,$50171,$50172,$50173,$50174,$50175,$50176),(nextval($50177),$50178,$50179,$50180,$50181,$50182,$50183,$50184,$50185,$50186,$50187,$50188,$50189,$50190),(nextval($50191),$50192,$50193,$50194,$50195,$50196,$50197,$50198,$50199,$50200,$50201,$50202,$50203,$50204),(nextval($50205),$50206,$50207,$50208,$50209,$50210,$50211,$50212,$50213,$50214,$50215,$50216,$50217,$50218),(nextval($50219),$50220,$50221,$50222,$50223,$50224,$50225,$50226,$50227,$50228,$50229,$50230,$50231,$50232),(nextval($50233),$50234,$50235,$50236,$50237,$50238,$50239,$50240,$50241,$50242,$50243,$50244,$50245,$50246),(nextval($50247),$50248,$50249,$50250,$50251,$50252,$50253,$50254,$50255,$50256,$50257,$50258,$50259,$50260),(nextval($50261),$50262,$50263,$50264,$50265,$50266,$50267,$50268,$50269,$50270,$50271,$50272,$50273,$50274),(nextval($50275),$50276,$50277,$50278,$50279,$50280,$50281,$50282,$50283,$50284,$50285,$50286,$50287,$50288),(nextval($50289),$50290,$50291,$50292,$50293,$50294,$50295,$50296,$50297,$50298,$50299,$50300,$50301,$50302),(nextval($50303),$50304,$50305,$50306,$50307,$50308,$50309,$50310,$50311,$50312,$50313,$50314,$50315,$50316),(nextval($50317),$50318,$50319,$50320,$50321,$50322,$50323,$50324,$50325,$50326,$50327,$50328,$50329,$50330),(nextval($50331),$50332,$50333,$50334,$50335,$50336,$50337,$50338,$50339,$50340,$50341,$50342,$50343,$50344),(nextval($50345),$50346,$50347,$50348,$50349,$50350,$50351,$50352,$50353,$50354,$50355,$50356,$50357,$50358),(nextval($50359),$50360,$50361,$50362,$50363,$50364,$50365,$50366,$50367,$50368,$50369,$50370,$50371,$50372),(nextval($50373),$50374,$50375,$50376,$50377,$50378,$50379,$50380,$50381,$50382,$50383,$50384,$50385,$50386),(nextval($50387),$50388,$50389,$50390,$50391,$50392,$50393,$50394,$50395,$50396,$50397,$50398,$50399,$50400),(nextval($50401),$50402,$50403,$50404,$50405,$50406,$50407,$50408,$50409,$50410,$50411,$50412,$50413,$50414),(nextval($50415),$50416,$50417,$50418,$50419,$50420,$50421,$50422,$50423,$50424,$50425,$50426,$50427,$50428),(nextval($50429),$50430,$50431,$50432,$50433,$50434,$50435,$50436,$50437,$50438,$50439,$50440,$50441,$50442),(nextval($50443),$50444,$50445,$50446,$50447,$50448,$50449,$50450,$50451,$50452,$50453,$50454,$50455,$50456),(nextval($50457),$50458,$50459,$50460,$50461,$50462,$50463,$50464,$50465,$50466,$50467,$50468,$50469,$50470),(nextval($50471),$50472,$50473,$50474,$50475,$50476,$50477,$50478,$50479,$50480,$50481,$50482,$50483,$50484),(nextval($50485),$50486,$50487,$50488,$50489,$50490,$50491,$50492,$50493,$50494,$50495,$50496,$50497,$50498),(nextval($50499),$50500,$50501,$50502,$50503,$50504,$50505,$50506,$50507,$50508,$50509,$50510,$50511,$50512),(nextval($50513),$50514,$50515,$50516,$50517,$50518,$50519,$50520,$50521,$50522,$50523,$50524,$50525,$50526),(nextval($50527),$50528,$50529,$50530,$50531,$50532,$50533,$50534,$50535,$50536,$50537,$50538,$50539,$50540),(nextval($50541),$50542,$50543,$50544,$50545,$50546,$50547,$50548,$50549,$50550,$50551,$50552,$50553,$50554),(nextval($50555),$50556,$50557,$50558,$50559,$50560,$50561,$50562,$50563,$50564,$50565,$50566,$50567,$50568),(nextval($50569),$50570,$50571,$50572,$50573,$50574,$50575,$50576,$50577,$50578,$50579,$50580,$50581,$50582),(nextval($50583),$50584,$50585,$50586,$50587,$50588,$50589,$50590,$50591,$50592,$50593,$50594,$50595,$50596),(nextval($50597),$50598,$50599,$50600,$50601,$50602,$50603,$50604,$50605,$50606,$50607,$50608,$50609,$50610),(nextval($50611),$50612,$50613,$50614,$50615,$50616,$50617,$50618,$50619,$50620,$50621,$50622,$50623,$50624),(nextval($50625),$50626,$50627,$50628,$50629,$50630,$50631,$50632,$50633,$50634,$50635,$50636,$50637,$50638),(nextval($50639),$50640,$50641,$50642,$50643,$50644,$50645,$50646,$50647,$50648,$50649,$50650,$50651,$50652),(nextval($50653),$50654,$50655,$50656,$50657,$50658,$50659,$50660,$50661,$50662,$50663,$50664,$50665,$50666),(nextval($50667),$50668,$50669,$50670,$50671,$50672,$50673,$50674,$50675,$50676,$50677,$50678,$50679,$50680),(nextval($50681),$50682,$50683,$50684,$50685,$50686,$50687,$50688,$50689,$50690,$50691,$50692,$50693,$50694),(nextval($50695),$50696,$50697,$50698,$50699,$50700,$50701,$50702,$50703,$50704,$50705,$50706,$50707,$50708),(nextval($50709),$50710,$50711,$50712,$50713,$50714,$50715,$50716,$50717,$50718,$50719,$50720,$50721,$50722),(nextval($50723),$50724,$50725,$50726,$50727,$50728,$50729,$50730,$50731,$50732,$50733,$50734,$50735,$50736),(nextval($50737),$50738,$50739,$50740,$50741,$50742,$50743,$50744,$50745,$50746,$50747,$50748,$50749,$50750),(nextval($50751),$50752,$50753,$50754,$50755,$50756,$50757,$50758,$50759,$50760,$50761,$50762,$50763,$50764),(nextval($50765),$50766,$50767,$50768,$50769,$50770,$50771,$50772,$50773,$50774,$50775,$50776,$50777,$50778),(nextval($50779),$50780,$50781,$50782,$50783,$50784,$50785,$50786,$50787,$50788,$50789,$50790,$50791,$50792),(nextval($50793),$50794,$50795,$50796,$50797,$50798,$50799,$50800,$50801,$50802,$50803,$50804,$50805,$50806),(nextval($50807),$50808,$50809,$50810,$50811,$50812,$50813,$50814,$50815,$50816,$50817,$50818,$50819,$50820),(nextval($50821),$50822,$50823,$50824,$50825,$50826,$50827,$50828,$50829,$50830,$50831,$50832,$50833,$50834),(nextval($50835),$50836,$50837,$50838,$50839,$50840,$50841,$50842,$50843,$50844,$50845,$50846,$50847,$50848),(nextval($50849),$50850,$50851,$50852,$50853,$50854,$50855,$50856,$50857,$50858,$50859,$50860,$50861,$50862),(nextval($50863),$50864,$50865,$50866,$50867,$50868,$50869,$50870,$50871,$50872,$50873,$50874,$50875,$50876),(nextval($50877),$50878,$50879,$50880,$50881,$50882,$50883,$50884,$50885,$50886,$50887,$50888,$50889,$50890),(nextval($50891),$50892,$50893,$50894,$50895,$50896,$50897,$50898,$50899,$50900,$50901,$50902,$50903,$50904),(nextval($50905),$50906,$50907,$50908,$50909,$50910,$50911,$50912,$50913,$50914,$50915,$50916,$50917,$50918),(nextval($50919),$50920,$50921,$50922,$50923,$50924,$50925,$50926,$50927,$50928,$50929,$50930,$50931,$50932),(nextval($50933),$50934,$50935,$50936,$50937,$50938,$50939,$50940,$50941,$50942,$50943,$50944,$50945,$50946),(nextval($50947),$50948,$50949,$50950,$50951,$50952,$50953,$50954,$50955,$50956,$50957,$50958,$50959,$50960),(nextval($50961),$50962,$50963,$50964,$50965,$50966,$50967,$50968,$50969,$50970,$50971,$50972,$50973,$50974),(nextval($50975),$50976,$50977,$50978,$50979,$50980,$50981,$50982,$50983,$50984,$50985,$50986,$50987,$50988),(nextval($50989),$50990,$50991,$50992,$50993,$50994,$50995,$50996,$50997,$50998,$50999,$51000,$51001,$51002),(nextval($51003),$51004,$51005,$51006,$51007,$51008,$51009,$51010,$51011,$51012,$51013,$51014,$51015,$51016),(nextval($51017),$51018,$51019,$51020,$51021,$51022,$51023,$51024,$51025,$51026,$51027,$51028,$51029,$51030),(nextval($51031),$51032,$51033,$51034,$51035,$51036,$51037,$51038,$51039,$51040,$51041,$51042,$51043,$51044),(nextval($51045),$51046,$51047,$51048,$51049,$51050,$51051,$51052,$51053,$51054,$51055,$51056,$51057,$51058),(nextval($51059),$51060,$51061,$51062,$51063,$51064,$51065,$51066,$51067,$51068,$51069,$51070,$51071,$51072),(nextval($51073),$51074,$51075,$51076,$51077,$51078,$51079,$51080,$51081,$51082,$51083,$51084,$51085,$51086),(nextval($51087),$51088,$51089,$51090,$51091,$51092,$51093,$51094,$51095,$51096,$51097,$51098,$51099,$51100),(nextval($51101),$51102,$51103,$51104,$51105,$51106,$51107,$51108,$51109,$51110,$51111,$51112,$51113,$51114),(nextval($51115),$51116,$51117,$51118,$51119,$51120,$51121,$51122,$51123,$51124,$51125,$51126,$51127,$51128),(nextval($51129),$51130,$51131,$51132,$51133,$51134,$51135,$51136,$51137,$51138,$51139,$51140,$51141,$51142),(nextval($51143),$51144,$51145,$51146,$51147,$51148,$51149,$51150,$51151,$51152,$51153,$51154,$51155,$51156),(nextval($51157),$51158,$51159,$51160,$51161,$51162,$51163,$51164,$51165,$51166,$51167,$51168,$51169,$51170),(nextval($51171),$51172,$51173,$51174,$51175,$51176,$51177,$51178,$51179,$51180,$51181,$51182,$51183,$51184),(nextval($51185),$51186,$51187,$51188,$51189,$51190,$51191,$51192,$51193,$51194,$51195,$51196,$51197,$51198),(nextval($51199),$51200,$51201,$51202,$51203,$51204,$51205,$51206,$51207,$51208,$51209,$51210,$51211,$51212),(nextval($51213),$51214,$51215,$51216,$51217,$51218,$51219,$51220,$51221,$51222,$51223,$51224,$51225,$51226),(nextval($51227),$51228,$51229,$51230,$51231,$51232,$51233,$51234,$51235,$51236,$51237,$51238,$51239,$51240),(nextval($51241),$51242,$51243,$51244,$51245,$51246,$51247,$51248,$51249,$51250,$51251,$51252,$51253,$51254),(nextval($51255),$51256,$51257,$51258,$51259,$51260,$51261,$51262,$51263,$51264,$51265,$51266,$51267,$51268),(nextval($51269),$51270,$51271,$51272,$51273,$51274,$51275,$51276,$51277,$51278,$51279,$51280,$51281,$51282),(nextval($51283),$51284,$51285,$51286,$51287,$51288,$51289,$51290,$51291,$51292,$51293,$51294,$51295,$51296),(nextval($51297),$51298,$51299,$51300,$51301,$51302,$51303,$51304,$51305,$51306,$51307,$51308,$51309,$51310),(nextval($51311),$51312,$51313,$51314,$51315,$51316,$51317,$51318,$51319,$51320,$51321,$51322,$51323,$51324),(nextval($51325),$51326,$51327,$51328,$51329,$51330,$51331,$51332,$51333,$51334,$51335,$51336,$51337,$51338),(nextval($51339),$51340,$51341,$51342,$51343,$51344,$51345,$51346,$51347,$51348,$51349,$51350,$51351,$51352),(nextval($51353),$51354,$51355,$51356,$51357,$51358,$51359,$51360,$51361,$51362,$51363,$51364,$51365,$51366),(nextval($51367),$51368,$51369,$51370,$51371,$51372,$51373,$51374,$51375,$51376,$51377,$51378,$51379,$51380),(nextval($51381),$51382,$51383,$51384,$51385,$51386,$51387,$51388,$51389,$51390,$51391,$51392,$51393,$51394),(nextval($51395),$51396,$51397,$51398,$51399,$51400,$51401,$51402,$51403,$51404,$51405,$51406,$51407,$51408),(nextval($51409),$51410,$51411,$51412,$51413,$51414,$51415,$51416,$51417,$51418,$51419,$51420,$51421,$51422),(nextval($51423),$51424,$51425,$51426,$51427,$51428,$51429,$51430,$51431,$51432,$51433,$51434,$51435,$51436),(nextval($51437),$51438,$51439,$51440,$51441,$51442,$51443,$51444,$51445,$51446,$51447,$51448,$51449,$51450),(nextval($51451),$51452,$51453,$51454,$51455,$51456,$51457,$51458,$51459,$51460,$51461,$51462,$51463,$51464),(nextval($51465),$51466,$51467,$51468,$51469,$51470,$51471,$51472,$51473,$51474,$51475,$51476,$51477,$51478),(nextval($51479),$51480,$51481,$51482,$51483,$51484,$51485,$51486,$51487,$51488,$51489,$51490,$51491,$51492),(nextval($51493),$51494,$51495,$51496,$51497,$51498,$51499,$51500,$51501,$51502,$51503,$51504,$51505,$51506),(nextval($51507),$51508,$51509,$51510,$51511,$51512,$51513,$51514,$51515,$51516,$51517,$51518,$51519,$51520),(nextval($51521),$51522,$51523,$51524,$51525,$51526,$51527,$51528,$51529,$51530,$51531,$51532,$51533,$51534),(nextval($51535),$51536,$51537,$51538,$51539,$51540,$51541,$51542,$51543,$51544,$51545,$51546,$51547,$51548),(nextval($51549),$51550,$51551,$51552,$51553,$51554,$51555,$51556,$51557,$51558,$51559,$51560,$51561,$51562),(nextval($51563),$51564,$51565,$51566,$51567,$51568,$51569,$51570,$51571,$51572,$51573,$51574,$51575,$51576),(nextval($51577),$51578,$51579,$51580,$51581,$51582,$51583,$51584,$51585,$51586,$51587,$51588,$51589,$51590),(nextval($51591),$51592,$51593,$51594,$51595,$51596,$51597,$51598,$51599,$51600,$51601,$51602,$51603,$51604),(nextval($51605),$51606,$51607,$51608,$51609,$51610,$51611,$51612,$51613,$51614,$51615,$51616,$51617,$51618),(nextval($51619),$51620,$51621,$51622,$51623,$51624,$51625,$51626,$51627,$51628,$51629,$51630,$51631,$51632),(nextval($51633),$51634,$51635,$51636,$51637,$51638,$51639,$51640,$51641,$51642,$51643,$51644,$51645,$51646),(nextval($51647),$51648,$51649,$51650,$51651,$51652,$51653,$51654,$51655,$51656,$51657,$51658,$51659,$51660),(nextval($51661),$51662,$51663,$51664,$51665,$51666,$51667,$51668,$51669,$51670,$51671,$51672,$51673,$51674),(nextval($51675),$51676,$51677,$51678,$51679,$51680,$51681,$51682,$51683,$51684,$51685,$51686,$51687,$51688),(nextval($51689),$51690,$51691,$51692,$51693,$51694,$51695,$51696,$51697,$51698,$51699,$51700,$51701,$51702),(nextval($51703),$51704,$51705,$51706,$51707,$51708,$51709,$51710,$51711,$51712,$51713,$51714,$51715,$51716),(nextval($51717),$51718,$51719,$51720,$51721,$51722,$51723,$51724,$51725,$51726,$51727,$51728,$51729,$51730),(nextval($51731),$51732,$51733,$51734,$51735,$51736,$51737,$51738,$51739,$51740,$51741,$51742,$51743,$51744),(nextval($51745),$51746,$51747,$51748,$51749,$51750,$51751,$51752,$51753,$51754,$51755,$51756,$51757,$51758),(nextval($51759),$51760,$51761,$51762,$51763,$51764,$51765,$51766,$51767,$51768,$51769,$51770,$51771,$51772),(nextval($51773),$51774,$51775,$51776,$51777,$51778,$51779,$51780,$51781,$51782,$51783,$51784,$51785,$51786),(nextval($51787),$51788,$51789,$51790,$51791,$51792,$51793,$51794,$51795,$51796,$51797,$51798,$51799,$51800),(nextval($51801),$51802,$51803,$51804,$51805,$51806,$51807,$51808,$51809,$51810,$51811,$51812,$51813,$51814),(nextval($51815),$51816,$51817,$51818,$51819,$51820,$51821,$51822,$51823,$51824,$51825,$51826,$51827,$51828),(nextval($51829),$51830,$51831,$51832,$51833,$51834,$51835,$51836,$51837,$51838,$51839,$51840,$51841,$51842),(nextval($51843),$51844,$51845,$51846,$51847,$51848,$51849,$51850,$51851,$51852,$51853,$51854,$51855,$51856),(nextval($51857),$51858,$51859,$51860,$51861,$51862,$51863,$51864,$51865,$51866,$51867,$51868,$51869,$51870),(nextval($51871),$51872,$51873,$51874,$51875,$51876,$51877,$51878,$51879,$51880,$51881,$51882,$51883,$51884),(nextval($51885),$51886,$51887,$51888,$51889,$51890,$51891,$51892,$51893,$51894,$51895,$51896,$51897,$51898),(nextval($51899),$51900,$51901,$51902,$51903,$51904,$51905,$51906,$51907,$51908,$51909,$51910,$51911,$51912),(nextval($51913),$51914,$51915,$51916,$51917,$51918,$51919,$51920,$51921,$51922,$51923,$51924,$51925,$51926),(nextval($51927),$51928,$51929,$51930,$51931,$51932,$51933,$51934,$51935,$51936,$51937,$51938,$51939,$51940),(nextval($51941),$51942,$51943,$51944,$51945,$51946,$51947,$51948,$51949,$51950,$51951,$51952,$51953,$51954),(nextval($51955),$51956,$51957,$51958,$51959,$51960,$51961,$51962,$51963,$51964,$51965,$51966,$51967,$51968),(nextval($51969),$51970,$51971,$51972,$51973,$51974,$51975,$51976,$51977,$51978,$51979,$51980,$51981,$51982),(nextval($51983),$51984,$51985,$51986,$51987,$51988,$51989,$51990,$51991,$51992,$51993,$51994,$51995,$51996),(nextval($51997),$51998,$51999,$52000,$52001,$52002,$52003,$52004,$52005,$52006,$52007,$52008,$52009,$52010),(nextval($52011),$52012,$52013,$52014,$52015,$52016,$52017,$52018,$52019,$52020,$52021,$52022,$52023,$52024),(nextval($52025),$52026,$52027,$52028,$52029,$52030,$52031,$52032,$52033,$52034,$52035,$52036,$52037,$52038),(nextval($52039),$52040,$52041,$52042,$52043,$52044,$52045,$52046,$52047,$52048,$52049,$52050,$52051,$52052),(nextval($52053),$52054,$52055,$52056,$52057,$52058,$52059,$52060,$52061,$52062,$52063,$52064,$52065,$52066),(nextval($52067),$52068,$52069,$52070,$52071,$52072,$52073,$52074,$52075,$52076,$52077,$52078,$52079,$52080),(nextval($52081),$52082,$52083,$52084,$52085,$52086,$52087,$52088,$52089,$52090,$52091,$52092,$52093,$52094),(nextval($52095),$52096,$52097,$52098,$52099,$52100,$52101,$52102,$52103,$52104,$52105,$52106,$52107,$52108),(nextval($52109),$52110,$52111,$52112,$52113,$52114,$52115,$52116,$52117,$52118,$52119,$52120,$52121,$52122),(nextval($52123),$52124,$52125,$52126,$52127,$52128,$52129,$52130,$52131,$52132,$52133,$52134,$52135,$52136),(nextval($52137),$52138,$52139,$52140,$52141,$52142,$52143,$52144,$52145,$52146,$52147,$52148,$52149,$52150),(nextval($52151),$52152,$52153,$52154,$52155,$52156,$52157,$52158,$52159,$52160,$52161,$52162,$52163,$52164),(nextval($52165),$52166,$52167,$52168,$52169,$52170,$52171,$52172,$52173,$52174,$52175,$52176,$52177,$52178),(nextval($52179),$52180,$52181,$52182,$52183,$52184,$52185,$52186,$52187,$52188,$52189,$52190,$52191,$52192),(nextval($52193),$52194,$52195,$52196,$52197,$52198,$52199,$52200,$52201,$52202,$52203,$52204,$52205,$52206),(nextval($52207),$52208,$52209,$52210,$52211,$52212,$52213,$52214,$52215,$52216,$52217,$52218,$52219,$52220),(nextval($52221),$52222,$52223,$52224,$52225,$52226,$52227,$52228,$52229,$52230,$52231,$52232,$52233,$52234),(nextval($52235),$52236,$52237,$52238,$52239,$52240,$52241,$52242,$52243,$52244,$52245,$52246,$52247,$52248),(nextval($52249),$52250,$52251,$52252,$52253,$52254,$52255,$52256,$52257,$52258,$52259,$52260,$52261,$52262),(nextval($52263),$52264,$52265,$52266,$52267,$52268,$52269,$52270,$52271,$52272,$52273,$52274,$52275,$52276),(nextval($52277),$52278,$52279,$52280,$52281,$52282,$52283,$52284,$52285,$52286,$52287,$52288,$52289,$52290),(nextval($52291),$52292,$52293,$52294,$52295,$52296,$52297,$52298,$52299,$52300,$52301,$52302,$52303,$52304),(nextval($52305),$52306,$52307,$52308,$52309,$52310,$52311,$52312,$52313,$52314,$52315,$52316,$52317,$52318),(nextval($52319),$52320,$52321,$52322,$52323,$52324,$52325,$52326,$52327,$52328,$52329,$52330,$52331,$52332),(nextval($52333),$52334,$52335,$52336,$52337,$52338,$52339,$52340,$52341,$52342,$52343,$52344,$52345,$52346),(nextval($52347),$52348,$52349,$52350,$52351,$52352,$52353,$52354,$52355,$52356,$52357,$52358,$52359,$52360),(nextval($52361),$52362,$52363,$52364,$52365,$52366,$52367,$52368,$52369,$52370,$52371,$52372,$52373,$52374),(nextval($52375),$52376,$52377,$52378,$52379,$52380,$52381,$52382,$52383,$52384,$52385,$52386,$52387,$52388),(nextval($52389),$52390,$52391,$52392,$52393,$52394,$52395,$52396,$52397,$52398,$52399,$52400,$52401,$52402),(nextval($52403),$52404,$52405,$52406,$52407,$52408,$52409,$52410,$52411,$52412,$52413,$52414,$52415,$52416),(nextval($52417),$52418,$52419,$52420,$52421,$52422,$52423,$52424,$52425,$52426,$52427,$52428,$52429,$52430),(nextval($52431),$52432,$52433,$52434,$52435,$52436,$52437,$52438,$52439,$52440,$52441,$52442,$52443,$52444),(nextval($52445),$52446,$52447,$52448,$52449,$52450,$52451,$52452,$52453,$52454,$52455,$52456,$52457,$52458),(nextval($52459),$52460,$52461,$52462,$52463,$52464,$52465,$52466,$52467,$52468,$52469,$52470,$52471,$52472),(nextval($52473),$52474,$52475,$52476,$52477,$52478,$52479,$52480,$52481,$52482,$52483,$52484,$52485,$52486),(nextval($52487),$52488,$52489,$52490,$52491,$52492,$52493,$52494,$52495,$52496,$52497,$52498,$52499,$52500),(nextval($52501),$52502,$52503,$52504,$52505,$52506,$52507,$52508,$52509,$52510,$52511,$52512,$52513,$52514),(nextval($52515),$52516,$52517,$52518,$52519,$52520,$52521,$52522,$52523,$52524,$52525,$52526,$52527,$52528),(nextval($52529),$52530,$52531,$52532,$52533,$52534,$52535,$52536,$52537,$52538,$52539,$52540,$52541,$52542),(nextval($52543),$52544,$52545,$52546,$52547,$52548,$52549,$52550,$52551,$52552,$52553,$52554,$52555,$52556),(nextval($52557),$52558,$52559,$52560,$52561,$52562,$52563,$52564,$52565,$52566,$52567,$52568,$52569,$52570),(nextval($52571),$52572,$52573,$52574,$52575,$52576,$52577,$52578,$52579,$52580,$52581,$52582,$52583,$52584),(nextval($52585),$52586,$52587,$52588,$52589,$52590,$52591,$52592,$52593,$52594,$52595,$52596,$52597,$52598),(nextval($52599),$52600,$52601,$52602,$52603,$52604,$52605,$52606,$52607,$52608,$52609,$52610,$52611,$52612),(nextval($52613),$52614,$52615,$52616,$52617,$52618,$52619,$52620,$52621,$52622,$52623,$52624,$52625,$52626),(nextval($52627),$52628,$52629,$52630,$52631,$52632,$52633,$52634,$52635,$52636,$52637,$52638,$52639,$52640),(nextval($52641),$52642,$52643,$52644,$52645,$52646,$52647,$52648,$52649,$52650,$52651,$52652,$52653,$52654),(nextval($52655),$52656,$52657,$52658,$52659,$52660,$52661,$52662,$52663,$52664,$52665,$52666,$52667,$52668),(nextval($52669),$52670,$52671,$52672,$52673,$52674,$52675,$52676,$52677,$52678,$52679,$52680,$52681,$52682),(nextval($52683),$52684,$52685,$52686,$52687,$52688,$52689,$52690,$52691,$52692,$52693,$52694,$52695,$52696),(nextval($52697),$52698,$52699,$52700,$52701,$52702,$52703,$52704,$52705,$52706,$52707,$52708,$52709,$52710),(nextval($52711),$52712,$52713,$52714,$52715,$52716,$52717,$52718,$52719,$52720,$52721,$52722,$52723,$52724),(nextval($52725),$52726,$52727,$52728,$52729,$52730,$52731,$52732,$52733,$52734,$52735,$52736,$52737,$52738),(nextval($52739),$52740,$52741,$52742,$52743,$52744,$52745,$52746,$52747,$52748,$52749,$52750,$52751,$52752),(nextval($52753),$52754,$52755,$52756,$52757,$52758,$52759,$52760,$52761,$52762,$52763,$52764,$52765,$52766),(nextval($52767),$52768,$52769,$52770,$52771,$52772,$52773,$52774,$52775,$52776,$52777,$52778,$52779,$52780),(nextval($52781),$52782,$52783,$52784,$52785,$52786,$52787,$52788,$52789,$52790,$52791,$52792,$52793,$52794),(nextval($52795),$52796,$52797,$52798,$52799,$52800,$52801,$52802,$52803,$52804,$52805,$52806,$52807,$52808),(nextval($52809),$52810,$52811,$52812,$52813,$52814,$52815,$52816,$52817,$52818,$52819,$52820,$52821,$52822),(nextval($52823),$52824,$52825,$52826,$52827,$52828,$52829,$52830,$52831,$52832,$52833,$52834,$52835,$52836),(nextval($52837),$52838,$52839,$52840,$52841,$52842,$52843,$52844,$52845,$52846,$52847,$52848,$52849,$52850),(nextval($52851),$52852,$52853,$52854,$52855,$52856,$52857,$52858,$52859,$52860,$52861,$52862,$52863,$52864),(nextval($52865),$52866,$52867,$52868,$52869,$52870,$52871,$52872,$52873,$52874,$52875,$52876,$52877,$52878),(nextval($52879),$52880,$52881,$52882,$52883,$52884,$52885,$52886,$52887,$52888,$52889,$52890,$52891,$52892),(nextval($52893),$52894,$52895,$52896,$52897,$52898,$52899,$52900,$52901,$52902,$52903,$52904,$52905,$52906),(nextval($52907),$52908,$52909,$52910,$52911,$52912,$52913,$52914,$52915,$52916,$52917,$52918,$52919,$52920),(nextval($52921),$52922,$52923,$52924,$52925,$52926,$52927,$52928,$52929,$52930,$52931,$52932,$52933,$52934),(nextval($52935),$52936,$52937,$52938,$52939,$52940,$52941,$52942,$52943,$52944,$52945,$52946,$52947,$52948),(nextval($52949),$52950,$52951,$52952,$52953,$52954,$52955,$52956,$52957,$52958,$52959,$52960,$52961,$52962),(nextval($52963),$52964,$52965,$52966,$52967,$52968,$52969,$52970,$52971,$52972,$52973,$52974,$52975,$52976),(nextval($52977),$52978,$52979,$52980,$52981,$52982,$52983,$52984,$52985,$52986,$52987,$52988,$52989,$52990),(nextval($52991),$52992,$52993,$52994,$52995,$52996,$52997,$52998,$52999,$53000,$53001,$53002,$53003,$53004),(nextval($53005),$53006,$53007,$53008,$53009,$53010,$53011,$53012,$53013,$53014,$53015,$53016,$53017,$53018),(nextval($53019),$53020,$53021,$53022,$53023,$53024,$53025,$53026,$53027,$53028,$53029,$53030,$53031,$53032),(nextval($53033),$53034,$53035,$53036,$53037,$53038,$53039,$53040,$53041,$53042,$53043,$53044,$53045,$53046),(nextval($53047),$53048,$53049,$53050,$53051,$53052,$53053,$53054,$53055,$53056,$53057,$53058,$53059,$53060),(nextval($53061),$53062,$53063,$53064,$53065,$53066,$53067,$53068,$53069,$53070,$53071,$53072,$53073,$53074),(nextval($53075),$53076,$53077,$53078,$53079,$53080,$53081,$53082,$53083,$53084,$53085,$53086,$53087,$53088),(nextval($53089),$53090,$53091,$53092,$53093,$53094,$53095,$53096,$53097,$53098,$53099,$53100,$53101,$53102),(nextval($53103),$53104,$53105,$53106,$53107,$53108,$53109,$53110,$53111,$53112,$53113,$53114,$53115,$53116),(nextval($53117),$53118,$53119,$53120,$53121,$53122,$53123,$53124,$53125,$53126,$53127,$53128,$53129,$53130),(nextval($53131),$53132,$53133,$53134,$53135,$53136,$53137,$53138,$53139,$53140,$53141,$53142,$53143,$53144),(nextval($53145),$53146,$53147,$53148,$53149,$53150,$53151,$53152,$53153,$53154,$53155,$53156,$53157,$53158),(nextval($53159),$53160,$53161,$53162,$53163,$53164,$53165,$53166,$53167,$53168,$53169,$53170,$53171,$53172),(nextval($53173),$53174,$53175,$53176,$53177,$53178,$53179,$53180,$53181,$53182,$53183,$53184,$53185,$53186),(nextval($53187),$53188,$53189,$53190,$53191,$53192,$53193,$53194,$53195,$53196,$53197,$53198,$53199,$53200),(nextval($53201),$53202,$53203,$53204,$53205,$53206,$53207,$53208,$53209,$53210,$53211,$53212,$53213,$53214),(nextval($53215),$53216,$53217,$53218,$53219,$53220,$53221,$53222,$53223,$53224,$53225,$53226,$53227,$53228),(nextval($53229),$53230,$53231,$53232,$53233,$53234,$53235,$53236,$53237,$53238,$53239,$53240,$53241,$53242),(nextval($53243),$53244,$53245,$53246,$53247,$53248,$53249,$53250,$53251,$53252,$53253,$53254,$53255,$53256),(nextval($53257),$53258,$53259,$53260,$53261,$53262,$53263,$53264,$53265,$53266,$53267,$53268,$53269,$53270),(nextval($53271),$53272,$53273,$53274,$53275,$53276,$53277,$53278,$53279,$53280,$53281,$53282,$53283,$53284),(nextval($53285),$53286,$53287,$53288,$53289,$53290,$53291,$53292,$53293,$53294,$53295,$53296,$53297,$53298),(nextval($53299),$53300,$53301,$53302,$53303,$53304,$53305,$53306,$53307,$53308,$53309,$53310,$53311,$53312),(nextval($53313),$53314,$53315,$53316,$53317,$53318,$53319,$53320,$53321,$53322,$53323,$53324,$53325,$53326),(nextval($53327),$53328,$53329,$53330,$53331,$53332,$53333,$53334,$53335,$53336,$53337,$53338,$53339,$53340),(nextval($53341),$53342,$53343,$53344,$53345,$53346,$53347,$53348,$53349,$53350,$53351,$53352,$53353,$53354),(nextval($53355),$53356,$53357,$53358,$53359,$53360,$53361,$53362,$53363,$53364,$53365,$53366,$53367,$53368),(nextval($53369),$53370,$53371,$53372,$53373,$53374,$53375,$53376,$53377,$53378,$53379,$53380,$53381,$53382),(nextval($53383),$53384,$53385,$53386,$53387,$53388,$53389,$53390,$53391,$53392,$53393,$53394,$53395,$53396),(nextval($53397),$53398,$53399,$53400,$53401,$53402,$53403,$53404,$53405,$53406,$53407,$53408,$53409,$53410),(nextval($53411),$53412,$53413,$53414,$53415,$53416,$53417,$53418,$53419,$53420,$53421,$53422,$53423,$53424),(nextval($53425),$53426,$53427,$53428,$53429,$53430,$53431,$53432,$53433,$53434,$53435,$53436,$53437,$53438),(nextval($53439),$53440,$53441,$53442,$53443,$53444,$53445,$53446,$53447,$53448,$53449,$53450,$53451,$53452),(nextval($53453),$53454,$53455,$53456,$53457,$53458,$53459,$53460,$53461,$53462,$53463,$53464,$53465,$53466),(nextval($53467),$53468,$53469,$53470,$53471,$53472,$53473,$53474,$53475,$53476,$53477,$53478,$53479,$53480),(nextval($53481),$53482,$53483,$53484,$53485,$53486,$53487,$53488,$53489,$53490,$53491,$53492,$53493,$53494),(nextval($53495),$53496,$53497,$53498,$53499,$53500,$53501,$53502,$53503,$53504,$53505,$53506,$53507,$53508),(nextval($53509),$53510,$53511,$53512,$53513,$53514,$53515,$53516,$53517,$53518,$53519,$53520,$53521,$53522),(nextval($53523),$53524,$53525,$53526,$53527,$53528,$53529,$53530,$53531,$53532,$53533,$53534,$53535,$53536),(nextval($53537),$53538,$53539,$53540,$53541,$53542,$53543,$53544,$53545,$53546,$53547,$53548,$53549,$53550),(nextval($53551),$53552,$53553,$53554,$53555,$53556,$53557,$53558,$53559,$53560,$53561,$53562,$53563,$53564),(nextval($53565),$53566,$53567,$53568,$53569,$53570,$53571,$53572,$53573,$53574,$53575,$53576,$53577,$53578),(nextval($53579),$53580,$53581,$53582,$53583,$53584,$53585,$53586,$53587,$53588,$53589,$53590,$53591,$53592),(nextval($53593),$53594,$53595,$53596,$53597,$53598,$53599,$53600,$53601,$53602,$53603,$53604,$53605,$53606),(nextval($53607),$53608,$53609,$53610,$53611,$53612,$53613,$53614,$53615,$53616,$53617,$53618,$53619,$53620),(nextval($53621),$53622,$53623,$53624,$53625,$53626,$53627,$53628,$53629,$53630,$53631,$53632,$53633,$53634),(nextval($53635),$53636,$53637,$53638,$53639,$53640,$53641,$53642,$53643,$53644,$53645,$53646,$53647,$53648),(nextval($53649),$53650,$53651,$53652,$53653,$53654,$53655,$53656,$53657,$53658,$53659,$53660,$53661,$53662),(nextval($53663),$53664,$53665,$53666,$53667,$53668,$53669,$53670,$53671,$53672,$53673,$53674,$53675,$53676),(nextval($53677),$53678,$53679,$53680,$53681,$53682,$53683,$53684,$53685,$53686,$53687,$53688,$53689,$53690),(nextval($53691),$53692,$53693,$53694,$53695,$53696,$53697,$53698,$53699,$53700,$53701,$53702,$53703,$53704),(nextval($53705),$53706,$53707,$53708,$53709,$53710,$53711,$53712,$53713,$53714,$53715,$53716,$53717,$53718),(nextval($53719),$53720,$53721,$53722,$53723,$53724,$53725,$53726,$53727,$53728,$53729,$53730,$53731,$53732),(nextval($53733),$53734,$53735,$53736,$53737,$53738,$53739,$53740,$53741,$53742,$53743,$53744,$53745,$53746),(nextval($53747),$53748,$53749,$53750,$53751,$53752,$53753,$53754,$53755,$53756,$53757,$53758,$53759,$53760),(nextval($53761),$53762,$53763,$53764,$53765,$53766,$53767,$53768,$53769,$53770,$53771,$53772,$53773,$53774),(nextval($53775),$53776,$53777,$53778,$53779,$53780,$53781,$53782,$53783,$53784,$53785,$53786,$53787,$53788),(nextval($53789),$53790,$53791,$53792,$53793,$53794,$53795,$53796,$53797,$53798,$53799,$53800,$53801,$53802),(nextval($53803),$53804,$53805,$53806,$53807,$53808,$53809,$53810,$53811,$53812,$53813,$53814,$53815,$53816),(nextval($53817),$53818,$53819,$53820,$53821,$53822,$53823,$53824,$53825,$53826,$53827,$53828,$53829,$53830),(nextval($53831),$53832,$53833,$53834,$53835,$53836,$53837,$53838,$53839,$53840,$53841,$53842,$53843,$53844),(nextval($53845),$53846,$53847,$53848,$53849,$53850,$53851,$53852,$53853,$53854,$53855,$53856,$53857,$53858),(nextval($53859),$53860,$53861,$53862,$53863,$53864,$53865,$53866,$53867,$53868,$53869,$53870,$53871,$53872),(nextval($53873),$53874,$53875,$53876,$53877,$53878,$53879,$53880,$53881,$53882,$53883,$53884,$53885,$53886),(nextval($53887),$53888,$53889,$53890,$53891,$53892,$53893,$53894,$53895,$53896,$53897,$53898,$53899,$53900),(nextval($53901),$53902,$53903,$53904,$53905,$53906,$53907,$53908,$53909,$53910,$53911,$53912,$53913,$53914),(nextval($53915),$53916,$53917,$53918,$53919,$53920,$53921,$53922,$53923,$53924,$53925,$53926,$53927,$53928),(nextval($53929),$53930,$53931,$53932,$53933,$53934,$53935,$53936,$53937,$53938,$53939,$53940,$53941,$53942),(nextval($53943),$53944,$53945,$53946,$53947,$53948,$53949,$53950,$53951,$53952,$53953,$53954,$53955,$53956),(nextval($53957),$53958,$53959,$53960,$53961,$53962,$53963,$53964,$53965,$53966,$53967,$53968,$53969,$53970),(nextval($53971),$53972,$53973,$53974,$53975,$53976,$53977,$53978,$53979,$53980,$53981,$53982,$53983,$53984),(nextval($53985),$53986,$53987,$53988,$53989,$53990,$53991,$53992,$53993,$53994,$53995,$53996,$53997,$53998),(nextval($53999),$54000,$54001,$54002,$54003,$54004,$54005,$54006,$54007,$54008,$54009,$54010,$54011,$54012),(nextval($54013),$54014,$54015,$54016,$54017,$54018,$54019,$54020,$54021,$54022,$54023,$54024,$54025,$54026),(nextval($54027),$54028,$54029,$54030,$54031,$54032,$54033,$54034,$54035,$54036,$54037,$54038,$54039,$54040),(nextval($54041),$54042,$54043,$54044,$54045,$54046,$54047,$54048,$54049,$54050,$54051,$54052,$54053,$54054),(nextval($54055),$54056,$54057,$54058,$54059,$54060,$54061,$54062,$54063,$54064,$54065,$54066,$54067,$54068),(nextval($54069),$54070,$54071,$54072,$54073,$54074,$54075,$54076,$54077,$54078,$54079,$54080,$54081,$54082),(nextval($54083),$54084,$54085,$54086,$54087,$54088,$54089,$54090,$54091,$54092,$54093,$54094,$54095,$54096),(nextval($54097),$54098,$54099,$54100,$54101,$54102,$54103,$54104,$54105,$54106,$54107,$54108,$54109,$54110),(nextval($54111),$54112,$54113,$54114,$54115,$54116,$54117,$54118,$54119,$54120,$54121,$54122,$54123,$54124),(nextval($54125),$54126,$54127,$54128,$54129,$54130,$54131,$54132,$54133,$54134,$54135,$54136,$54137,$54138),(nextval($54139),$54140,$54141,$54142,$54143,$54144,$54145,$54146,$54147,$54148,$54149,$54150,$54151,$54152),(nextval($54153),$54154,$54155,$54156,$54157,$54158,$54159,$54160,$54161,$54162,$54163,$54164,$54165,$54166),(nextval($54167),$54168,$54169,$54170,$54171,$54172,$54173,$54174,$54175,$54176,$54177,$54178,$54179,$54180),(nextval($54181),$54182,$54183,$54184,$54185,$54186,$54187,$54188,$54189,$54190,$54191,$54192,$54193,$54194),(nextval($54195),$54196,$54197,$54198,$54199,$54200,$54201,$54202,$54203,$54204,$54205,$54206,$54207,$54208),(nextval($54209),$54210,$54211,$54212,$54213,$54214,$54215,$54216,$54217,$54218,$54219,$54220,$54221,$54222),(nextval($54223),$54224,$54225,$54226,$54227,$54228,$54229,$54230,$54231,$54232,$54233,$54234,$54235,$54236),(nextval($54237),$54238,$54239,$54240,$54241,$54242,$54243,$54244,$54245,$54246,$54247,$54248,$54249,$54250),(nextval($54251),$54252,$54253,$54254,$54255,$54256,$54257,$54258,$54259,$54260,$54261,$54262,$54263,$54264),(nextval($54265),$54266,$54267,$54268,$54269,$54270,$54271,$54272,$54273,$54274,$54275,$54276,$54277,$54278),(nextval($54279),$54280,$54281,$54282,$54283,$54284,$54285,$54286,$54287,$54288,$54289,$54290,$54291,$54292),(nextval($54293),$54294,$54295,$54296,$54297,$54298,$54299,$54300,$54301,$54302,$54303,$54304,$54305,$54306),(nextval($54307),$54308,$54309,$54310,$54311,$54312,$54313,$54314,$54315,$54316,$54317,$54318,$54319,$54320),(nextval($54321),$54322,$54323,$54324,$54325,$54326,$54327,$54328,$54329,$54330,$54331,$54332,$54333,$54334),(nextval($54335),$54336,$54337,$54338,$54339,$54340,$54341,$54342,$54343,$54344,$54345,$54346,$54347,$54348),(nextval($54349),$54350,$54351,$54352,$54353,$54354,$54355,$54356,$54357,$54358,$54359,$54360,$54361,$54362),(nextval($54363),$54364,$54365,$54366,$54367,$54368,$54369,$54370,$54371,$54372,$54373,$54374,$54375,$54376),(nextval($54377),$54378,$54379,$54380,$54381,$54382,$54383,$54384,$54385,$54386,$54387,$54388,$54389,$54390),(nextval($54391),$54392,$54393,$54394,$54395,$54396,$54397,$54398,$54399,$54400,$54401,$54402,$54403,$54404),(nextval($54405),$54406,$54407,$54408,$54409,$54410,$54411,$54412,$54413,$54414,$54415,$54416,$54417,$54418),(nextval($54419),$54420,$54421,$54422,$54423,$54424,$54425,$54426,$54427,$54428,$54429,$54430,$54431,$54432),(nextval($54433),$54434,$54435,$54436,$54437,$54438,$54439,$54440,$54441,$54442,$54443,$54444,$54445,$54446),(nextval($54447),$54448,$54449,$54450,$54451,$54452,$54453,$54454,$54455,$54456,$54457,$54458,$54459,$54460),(nextval($54461),$54462,$54463,$54464,$54465,$54466,$54467,$54468,$54469,$54470,$54471,$54472,$54473,$54474),(nextval($54475),$54476,$54477,$54478,$54479,$54480,$54481,$54482,$54483,$54484,$54485,$54486,$54487,$54488),(nextval($54489),$54490,$54491,$54492,$54493,$54494,$54495,$54496,$54497,$54498,$54499,$54500,$54501,$54502),(nextval($54503),$54504,$54505,$54506,$54507,$54508,$54509,$54510,$54511,$54512,$54513,$54514,$54515,$54516),(nextval($54517),$54518,$54519,$54520,$54521,$54522,$54523,$54524,$54525,$54526,$54527,$54528,$54529,$54530),(nextval($54531),$54532,$54533,$54534,$54535,$54536,$54537,$54538,$54539,$54540,$54541,$54542,$54543,$54544),(nextval($54545),$54546,$54547,$54548,$54549,$54550,$54551,$54552,$54553,$54554,$54555,$54556,$54557,$54558),(nextval($54559),$54560,$54561,$54562,$54563,$54564,$54565,$54566,$54567,$54568,$54569,$54570,$54571,$54572),(nextval($54573),$54574,$54575,$54576,$54577,$54578,$54579,$54580,$54581,$54582,$54583,$54584,$54585,$54586),(nextval($54587),$54588,$54589,$54590,$54591,$54592,$54593,$54594,$54595,$54596,$54597,$54598,$54599,$54600),(nextval($54601),$54602,$54603,$54604,$54605,$54606,$54607,$54608,$54609,$54610,$54611,$54612,$54613,$54614),(nextval($54615),$54616,$54617,$54618,$54619,$54620,$54621,$54622,$54623,$54624,$54625,$54626,$54627,$54628),(nextval($54629),$54630,$54631,$54632,$54633,$54634,$54635,$54636,$54637,$54638,$54639,$54640,$54641,$54642),(nextval($54643),$54644,$54645,$54646,$54647,$54648,$54649,$54650,$54651,$54652,$54653,$54654,$54655,$54656),(nextval($54657),$54658,$54659,$54660,$54661,$54662,$54663,$54664,$54665,$54666,$54667,$54668,$54669,$54670),(nextval($54671),$54672,$54673,$54674,$54675,$54676,$54677,$54678,$54679,$54680,$54681,$54682,$54683,$54684),(nextval($54685),$54686,$54687,$54688,$54689,$54690,$54691,$54692,$54693,$54694,$54695,$54696,$54697,$54698),(nextval($54699),$54700,$54701,$54702,$54703,$54704,$54705,$54706,$54707,$54708,$54709,$54710,$54711,$54712),(nextval($54713),$54714,$54715,$54716,$54717,$54718,$54719,$54720,$54721,$54722,$54723,$54724,$54725,$54726),(nextval($54727),$54728,$54729,$54730,$54731,$54732,$54733,$54734,$54735,$54736,$54737,$54738,$54739,$54740),(nextval($54741),$54742,$54743,$54744,$54745,$54746,$54747,$54748,$54749,$54750,$54751,$54752,$54753,$54754),(nextval($54755),$54756,$54757,$54758,$54759,$54760,$54761,$54762,$54763,$54764,$54765,$54766,$54767,$54768),(nextval($54769),$54770,$54771,$54772,$54773,$54774,$54775,$54776,$54777,$54778,$54779,$54780,$54781,$54782),(nextval($54783),$54784,$54785,$54786,$54787,$54788,$54789,$54790,$54791,$54792,$54793,$54794,$54795,$54796),(nextval($54797),$54798,$54799,$54800,$54801,$54802,$54803,$54804,$54805,$54806,$54807,$54808,$54809,$54810),(nextval($54811),$54812,$54813,$54814,$54815,$54816,$54817,$54818,$54819,$54820,$54821,$54822,$54823,$54824),(nextval($54825),$54826,$54827,$54828,$54829,$54830,$54831,$54832,$54833,$54834,$54835,$54836,$54837,$54838),(nextval($54839),$54840,$54841,$54842,$54843,$54844,$54845,$54846,$54847,$54848,$54849,$54850,$54851,$54852),(nextval($54853),$54854,$54855,$54856,$54857,$54858,$54859,$54860,$54861,$54862,$54863,$54864,$54865,$54866),(nextval($54867),$54868,$54869,$54870,$54871,$54872,$54873,$54874,$54875,$54876,$54877,$54878,$54879,$54880),(nextval($54881),$54882,$54883,$54884,$54885,$54886,$54887,$54888,$54889,$54890,$54891,$54892,$54893,$54894),(nextval($54895),$54896,$54897,$54898,$54899,$54900,$54901,$54902,$54903,$54904,$54905,$54906,$54907,$54908),(nextval($54909),$54910,$54911,$54912,$54913,$54914,$54915,$54916,$54917,$54918,$54919,$54920,$54921,$54922),(nextval($54923),$54924,$54925,$54926,$54927,$54928,$54929,$54930,$54931,$54932,$54933,$54934,$54935,$54936),(nextval($54937),$54938,$54939,$54940,$54941,$54942,$54943,$54944,$54945,$54946,$54947,$54948,$54949,$54950),(nextval($54951),$54952,$54953,$54954,$54955,$54956,$54957,$54958,$54959,$54960,$54961,$54962,$54963,$54964),(nextval($54965),$54966,$54967,$54968,$54969,$54970,$54971,$54972,$54973,$54974,$54975,$54976,$54977,$54978),(nextval($54979),$54980,$54981,$54982,$54983,$54984,$54985,$54986,$54987,$54988,$54989,$54990,$54991,$54992),(nextval($54993),$54994,$54995,$54996,$54997,$54998,$54999,$55000,$55001,$55002,$55003,$55004,$55005,$55006),(nextval($55007),$55008,$55009,$55010,$55011,$55012,$55013,$55014,$55015,$55016,$55017,$55018,$55019,$55020),(nextval($55021),$55022,$55023,$55024,$55025,$55026,$55027,$55028,$55029,$55030,$55031,$55032,$55033,$55034),(nextval($55035),$55036,$55037,$55038,$55039,$55040,$55041,$55042,$55043,$55044,$55045,$55046,$55047,$55048),(nextval($55049),$55050,$55051,$55052,$55053,$55054,$55055,$55056,$55057,$55058,$55059,$55060,$55061,$55062),(nextval($55063),$55064,$55065,$55066,$55067,$55068,$55069,$55070,$55071,$55072,$55073,$55074,$55075,$55076),(nextval($55077),$55078,$55079,$55080,$55081,$55082,$55083,$55084,$55085,$55086,$55087,$55088,$55089,$55090),(nextval($55091),$55092,$55093,$55094,$55095,$55096,$55097,$55098,$55099,$55100,$55101,$55102,$55103,$55104),(nextval($55105),$55106,$55107,$55108,$55109,$55110,$55111,$55112,$55113,$55114,$55115,$55116,$55117,$55118),(nextval($55119),$55120,$55121,$55122,$55123,$55124,$55125,$55126,$55127,$55128,$55129,$55130,$55131,$55132),(nextval($55133),$55134,$55135,$55136,$55137,$55138,$55139,$55140,$55141,$55142,$55143,$55144,$55145,$55146),(nextval($55147),$55148,$55149,$55150,$55151,$55152,$55153,$55154,$55155,$55156,$55157,$55158,$55159,$55160),(nextval($55161),$55162,$55163,$55164,$55165,$55166,$55167,$55168,$55169,$55170,$55171,$55172,$55173,$55174),(nextval($55175),$55176,$55177,$55178,$55179,$55180,$55181,$55182,$55183,$55184,$55185,$55186,$55187,$55188),(nextval($55189),$55190,$55191,$55192,$55193,$55194,$55195,$55196,$55197,$55198,$55199,$55200,$55201,$55202),(nextval($55203),$55204,$55205,$55206,$55207,$55208,$55209,$55210,$55211,$55212,$55213,$55214,$55215,$55216),(nextval($55217),$55218,$55219,$55220,$55221,$55222,$55223,$55224,$55225,$55226,$55227,$55228,$55229,$55230),(nextval($55231),$55232,$55233,$55234,$55235,$55236,$55237,$55238,$55239,$55240,$55241,$55242,$55243,$55244),(nextval($55245),$55246,$55247,$55248,$55249,$55250,$55251,$55252,$55253,$55254,$55255,$55256,$55257,$55258),(nextval($55259),$55260,$55261,$55262,$55263,$55264,$55265,$55266,$55267,$55268,$55269,$55270,$55271,$55272),(nextval($55273),$55274,$55275,$55276,$55277,$55278,$55279,$55280,$55281,$55282,$55283,$55284,$55285,$55286),(nextval($55287),$55288,$55289,$55290,$55291,$55292,$55293,$55294,$55295,$55296,$55297,$55298,$55299,$55300),(nextval($55301),$55302,$55303,$55304,$55305,$55306,$55307,$55308,$55309,$55310,$55311,$55312,$55313,$55314),(nextval($55315),$55316,$55317,$55318,$55319,$55320,$55321,$55322,$55323,$55324,$55325,$55326,$55327,$55328),(nextval($55329),$55330,$55331,$55332,$55333,$55334,$55335,$55336,$55337,$55338,$55339,$55340,$55341,$55342),(nextval($55343),$55344,$55345,$55346,$55347,$55348,$55349,$55350,$55351,$55352,$55353,$55354,$55355,$55356),(nextval($55357),$55358,$55359,$55360,$55361,$55362,$55363,$55364,$55365,$55366,$55367,$55368,$55369,$55370),(nextval($55371),$55372,$55373,$55374,$55375,$55376,$55377,$55378,$55379,$55380,$55381,$55382,$55383,$55384),(nextval($55385),$55386,$55387,$55388,$55389,$55390,$55391,$55392,$55393,$55394,$55395,$55396,$55397,$55398),(nextval($55399),$55400,$55401,$55402,$55403,$55404,$55405,$55406,$55407,$55408,$55409,$55410,$55411,$55412),(nextval($55413),$55414,$55415,$55416,$55417,$55418,$55419,$55420,$55421,$55422,$55423,$55424,$55425,$55426),(nextval($55427),$55428,$55429,$55430,$55431,$55432,$55433,$55434,$55435,$55436,$55437,$55438,$55439,$55440),(nextval($55441),$55442,$55443,$55444,$55445,$55446,$55447,$55448,$55449,$55450,$55451,$55452,$55453,$55454),(nextval($55455),$55456,$55457,$55458,$55459,$55460,$55461,$55462,$55463,$55464,$55465,$55466,$55467,$55468),(nextval($55469),$55470,$55471,$55472,$55473,$55474,$55475,$55476,$55477,$55478,$55479,$55480,$55481,$55482),(nextval($55483),$55484,$55485,$55486,$55487,$55488,$55489,$55490,$55491,$55492,$55493,$55494,$55495,$55496),(nextval($55497),$55498,$55499,$55500,$55501,$55502,$55503,$55504,$55505,$55506,$55507,$55508,$55509,$55510),(nextval($55511),$55512,$55513,$55514,$55515,$55516,$55517,$55518,$55519,$55520,$55521,$55522,$55523,$55524),(nextval($55525),$55526,$55527,$55528,$55529,$55530,$55531,$55532,$55533,$55534,$55535,$55536,$55537,$55538),(nextval($55539),$55540,$55541,$55542,$55543,$55544,$55545,$55546,$55547,$55548,$55549,$55550,$55551,$55552),(nextval($55553),$55554,$55555,$55556,$55557,$55558,$55559,$55560,$55561,$55562,$55563,$55564,$55565,$55566),(nextval($55567),$55568,$55569,$55570,$55571,$55572,$55573,$55574,$55575,$55576,$55577,$55578,$55579,$55580),(nextval($55581),$55582,$55583,$55584,$55585,$55586,$55587,$55588,$55589,$55590,$55591,$55592,$55593,$55594),(nextval($55595),$55596,$55597,$55598,$55599,$55600,$55601,$55602,$55603,$55604,$55605,$55606,$55607,$55608),(nextval($55609),$55610,$55611,$55612,$55613,$55614,$55615,$55616,$55617,$55618,$55619,$55620,$55621,$55622),(nextval($55623),$55624,$55625,$55626,$55627,$55628,$55629,$55630,$55631,$55632,$55633,$55634,$55635,$55636),(nextval($55637),$55638,$55639,$55640,$55641,$55642,$55643,$55644,$55645,$55646,$55647,$55648,$55649,$55650),(nextval($55651),$55652,$55653,$55654,$55655,$55656,$55657,$55658,$55659,$55660,$55661,$55662,$55663,$55664),(nextval($55665),$55666,$55667,$55668,$55669,$55670,$55671,$55672,$55673,$55674,$55675,$55676,$55677,$55678),(nextval($55679),$55680,$55681,$55682,$55683,$55684,$55685,$55686,$55687,$55688,$55689,$55690,$55691,$55692),(nextval($55693),$55694,$55695,$55696,$55697,$55698,$55699,$55700,$55701,$55702,$55703,$55704,$55705,$55706),(nextval($55707),$55708,$55709,$55710,$55711,$55712,$55713,$55714,$55715,$55716,$55717,$55718,$55719,$55720),(nextval($55721),$55722,$55723,$55724,$55725,$55726,$55727,$55728,$55729,$55730,$55731,$55732,$55733,$55734),(nextval($55735),$55736,$55737,$55738,$55739,$55740,$55741,$55742,$55743,$55744,$55745,$55746,$55747,$55748),(nextval($55749),$55750,$55751,$55752,$55753,$55754,$55755,$55756,$55757,$55758,$55759,$55760,$55761,$55762),(nextval($55763),$55764,$55765,$55766,$55767,$55768,$55769,$55770,$55771,$55772,$55773,$55774,$55775,$55776),(nextval($55777),$55778,$55779,$55780,$55781,$55782,$55783,$55784,$55785,$55786,$55787,$55788,$55789,$55790),(nextval($55791),$55792,$55793,$55794,$55795,$55796,$55797,$55798,$55799,$55800,$55801,$55802,$55803,$55804),(nextval($55805),$55806,$55807,$55808,$55809,$55810,$55811,$55812,$55813,$55814,$55815,$55816,$55817,$55818),(nextval($55819),$55820,$55821,$55822,$55823,$55824,$55825,$55826,$55827,$55828,$55829,$55830,$55831,$55832),(nextval($55833),$55834,$55835,$55836,$55837,$55838,$55839,$55840,$55841,$55842,$55843,$55844,$55845,$55846),(nextval($55847),$55848,$55849,$55850,$55851,$55852,$55853,$55854,$55855,$55856,$55857,$55858,$55859,$55860),(nextval($55861),$55862,$55863,$55864,$55865,$55866,$55867,$55868,$55869,$55870,$55871,$55872,$55873,$55874),(nextval($55875),$55876,$55877,$55878,$55879,$55880,$55881,$55882,$55883,$55884,$55885,$55886,$55887,$55888),(nextval($55889),$55890,$55891,$55892,$55893,$55894,$55895,$55896,$55897,$55898,$55899,$55900,$55901,$55902),(nextval($55903),$55904,$55905,$55906,$55907,$55908,$55909,$55910,$55911,$55912,$55913,$55914,$55915,$55916),(nextval($55917),$55918,$55919,$55920,$55921,$55922,$55923,$55924,$55925,$55926,$55927,$55928,$55929,$55930),(nextval($55931),$55932,$55933,$55934,$55935,$55936,$55937,$55938,$55939,$55940,$55941,$55942,$55943,$55944),(nextval($55945),$55946,$55947,$55948,$55949,$55950,$55951,$55952,$55953,$55954,$55955,$55956,$55957,$55958),(nextval($55959),$55960,$55961,$55962,$55963,$55964,$55965,$55966,$55967,$55968,$55969,$55970,$55971,$55972),(nextval($55973),$55974,$55975,$55976,$55977,$55978,$55979,$55980,$55981,$55982,$55983,$55984,$55985,$55986),(nextval($55987),$55988,$55989,$55990,$55991,$55992,$55993,$55994,$55995,$55996,$55997,$55998,$55999,$56000),(nextval($56001),$56002,$56003,$56004,$56005,$56006,$56007,$56008,$56009,$56010,$56011,$56012,$56013,$56014),(nextval($56015),$56016,$56017,$56018,$56019,$56020,$56021,$56022,$56023,$56024,$56025,$56026,$56027,$56028),(nextval($56029),$56030,$56031,$56032,$56033,$56034,$56035,$56036,$56037,$56038,$56039,$56040,$56041,$56042),(nextval($56043),$56044,$56045,$56046,$56047,$56048,$56049,$56050,$56051,$56052,$56053,$56054,$56055,$56056),(nextval($56057),$56058,$56059,$56060,$56061,$56062,$56063,$56064,$56065,$56066,$56067,$56068,$56069,$56070),(nextval($56071),$56072,$56073,$56074,$56075,$56076,$56077,$56078,$56079,$56080,$56081,$56082,$56083,$56084),(nextval($56085),$56086,$56087,$56088,$56089,$56090,$56091,$56092,$56093,$56094,$56095,$56096,$56097,$56098),(nextval($56099),$56100,$56101,$56102,$56103,$56104,$56105,$56106,$56107,$56108,$56109,$56110,$56111,$56112),(nextval($56113),$56114,$56115,$56116,$56117,$56118,$56119,$56120,$56121,$56122,$56123,$56124,$56125,$56126),(nextval($56127),$56128,$56129,$56130,$56131,$56132,$56133,$56134,$56135,$56136,$56137,$56138,$56139,$56140),(nextval($56141),$56142,$56143,$56144,$56145,$56146,$56147,$56148,$56149,$56150,$56151,$56152,$56153,$56154),(nextval($56155),$56156,$56157,$56158,$56159,$56160,$56161,$56162,$56163,$56164,$56165,$56166,$56167,$56168),(nextval($56169),$56170,$56171,$56172,$56173,$56174,$56175,$56176,$56177,$56178,$56179,$56180,$56181,$56182),(nextval($56183),$56184,$56185,$56186,$56187,$56188,$56189,$56190,$56191,$56192,$56193,$56194,$56195,$56196),(nextval($56197),$56198,$56199,$56200,$56201,$56202,$56203,$56204,$56205,$56206,$56207,$56208,$56209,$56210),(nextval($56211),$56212,$56213,$56214,$56215,$56216,$56217,$56218,$56219,$56220,$56221,$56222,$56223,$56224),(nextval($56225),$56226,$56227,$56228,$56229,$56230,$56231,$56232,$56233,$56234,$56235,$56236,$56237,$56238),(nextval($56239),$56240,$56241,$56242,$56243,$56244,$56245,$56246,$56247,$56248,$56249,$56250,$56251,$56252),(nextval($56253),$56254,$56255,$56256,$56257,$56258,$56259,$56260,$56261,$56262,$56263,$56264,$56265,$56266),(nextval($56267),$56268,$56269,$56270,$56271,$56272,$56273,$56274,$56275,$56276,$56277,$56278,$56279,$56280),(nextval($56281),$56282,$56283,$56284,$56285,$56286,$56287,$56288,$56289,$56290,$56291,$56292,$56293,$56294),(nextval($56295),$56296,$56297,$56298,$56299,$56300,$56301,$56302,$56303,$56304,$56305,$56306,$56307,$56308),(nextval($56309),$56310,$56311,$56312,$56313,$56314,$56315,$56316,$56317,$56318,$56319,$56320,$56321,$56322),(nextval($56323),$56324,$56325,$56326,$56327,$56328,$56329,$56330,$56331,$56332,$56333,$56334,$56335,$56336),(nextval($56337),$56338,$56339,$56340,$56341,$56342,$56343,$56344,$56345,$56346,$56347,$56348,$56349,$56350),(nextval($56351),$56352,$56353,$56354,$56355,$56356,$56357,$56358,$56359,$56360,$56361,$56362,$56363,$56364),(nextval($56365),$56366,$56367,$56368,$56369,$56370,$56371,$56372,$56373,$56374,$56375,$56376,$56377,$56378),(nextval($56379),$56380,$56381,$56382,$56383,$56384,$56385,$56386,$56387,$56388,$56389,$56390,$56391,$56392),(nextval($56393),$56394,$56395,$56396,$56397,$56398,$56399,$56400,$56401,$56402,$56403,$56404,$56405,$56406),(nextval($56407),$56408,$56409,$56410,$56411,$56412,$56413,$56414,$56415,$56416,$56417,$56418,$56419,$56420),(nextval($56421),$56422,$56423,$56424,$56425,$56426,$56427,$56428,$56429,$56430,$56431,$56432,$56433,$56434),(nextval($56435),$56436,$56437,$56438,$56439,$56440,$56441,$56442,$56443,$56444,$56445,$56446,$56447,$56448),(nextval($56449),$56450,$56451,$56452,$56453,$56454,$56455,$56456,$56457,$56458,$56459,$56460,$56461,$56462),(nextval($56463),$56464,$56465,$56466,$56467,$56468,$56469,$56470,$56471,$56472,$56473,$56474,$56475,$56476),(nextval($56477),$56478,$56479,$56480,$56481,$56482,$56483,$56484,$56485,$56486,$56487,$56488,$56489,$56490),(nextval($56491),$56492,$56493,$56494,$56495,$56496,$56497,$56498,$56499,$56500,$56501,$56502,$56503,$56504),(nextval($56505),$56506,$56507,$56508,$56509,$56510,$56511,$56512,$56513,$56514,$56515,$56516,$56517,$56518),(nextval($56519),$56520,$56521,$56522,$56523,$56524,$56525,$56526,$56527,$56528,$56529,$56530,$56531,$56532),(nextval($56533),$56534,$56535,$56536,$56537,$56538,$56539,$56540,$56541,$56542,$56543,$56544,$56545,$56546),(nextval($56547),$56548,$56549,$56550,$56551,$56552,$56553,$56554,$56555,$56556,$56557,$56558,$56559,$56560),(nextval($56561),$56562,$56563,$56564,$56565,$56566,$56567,$56568,$56569,$56570,$56571,$56572,$56573,$56574),(nextval($56575),$56576,$56577,$56578,$56579,$56580,$56581,$56582,$56583,$56584,$56585,$56586,$56587,$56588),(nextval($56589),$56590,$56591,$56592,$56593,$56594,$56595,$56596,$56597,$56598,$56599,$56600,$56601,$56602),(nextval($56603),$56604,$56605,$56606,$56607,$56608,$56609,$56610,$56611,$56612,$56613,$56614,$56615,$56616),(nextval($56617),$56618,$56619,$56620,$56621,$56622,$56623,$56624,$56625,$56626,$56627,$56628,$56629,$56630),(nextval($56631),$56632,$56633,$56634,$56635,$56636,$56637,$56638,$56639,$56640,$56641,$56642,$56643,$56644),(nextval($56645),$56646,$56647,$56648,$56649,$56650,$56651,$56652,$56653,$56654,$56655,$56656,$56657,$56658),(nextval($56659),$56660,$56661,$56662,$56663,$56664,$56665,$56666,$56667,$56668,$56669,$56670,$56671,$56672),(nextval($56673),$56674,$56675,$56676,$56677,$56678,$56679,$56680,$56681,$56682,$56683,$56684,$56685,$56686),(nextval($56687),$56688,$56689,$56690,$56691,$56692,$56693,$56694,$56695,$56696,$56697,$56698,$56699,$56700),(nextval($56701),$56702,$56703,$56704,$56705,$56706,$56707,$56708,$56709,$56710,$56711,$56712,$56713,$56714),(nextval($56715),$56716,$56717,$56718,$56719,$56720,$56721,$56722,$56723,$56724,$56725,$56726,$56727,$56728),(nextval($56729),$56730,$56731,$56732,$56733,$56734,$56735,$56736,$56737,$56738,$56739,$56740,$56741,$56742),(nextval($56743),$56744,$56745,$56746,$56747,$56748,$56749,$56750,$56751,$56752,$56753,$56754,$56755,$56756),(nextval($56757),$56758,$56759,$56760,$56761,$56762,$56763,$56764,$56765,$56766,$56767,$56768,$56769,$56770),(nextval($56771),$56772,$56773,$56774,$56775,$56776,$56777,$56778,$56779,$56780,$56781,$56782,$56783,$56784),(nextval($56785),$56786,$56787,$56788,$56789,$56790,$56791,$56792,$56793,$56794,$56795,$56796,$56797,$56798),(nextval($56799),$56800,$56801,$56802,$56803,$56804,$56805,$56806,$56807,$56808,$56809,$56810,$56811,$56812),(nextval($56813),$56814,$56815,$56816,$56817,$56818,$56819,$56820,$56821,$56822,$56823,$56824,$56825,$56826),(nextval($56827),$56828,$56829,$56830,$56831,$56832,$56833,$56834,$56835,$56836,$56837,$56838,$56839,$56840),(nextval($56841),$56842,$56843,$56844,$56845,$56846,$56847,$56848,$56849,$56850,$56851,$56852,$56853,$56854),(nextval($56855),$56856,$56857,$56858,$56859,$56860,$56861,$56862,$56863,$56864,$56865,$56866,$56867,$56868),(nextval($56869),$56870,$56871,$56872,$56873,$56874,$56875,$56876,$56877,$56878,$56879,$56880,$56881,$56882),(nextval($56883),$56884,$56885,$56886,$56887,$56888,$56889,$56890,$56891,$56892,$56893,$56894,$56895,$56896),(nextval($56897),$56898,$56899,$56900,$56901,$56902,$56903,$56904,$56905,$56906,$56907,$56908,$56909,$56910),(nextval($56911),$56912,$56913,$56914,$56915,$56916,$56917,$56918,$56919,$56920,$56921,$56922,$56923,$56924),(nextval($56925),$56926,$56927,$56928,$56929,$56930,$56931,$56932,$56933,$56934,$56935,$56936,$56937,$56938),(nextval($56939),$56940,$56941,$56942,$56943,$56944,$56945,$56946,$56947,$56948,$56949,$56950,$56951,$56952),(nextval($56953),$56954,$56955,$56956,$56957,$56958,$56959,$56960,$56961,$56962,$56963,$56964,$56965,$56966),(nextval($56967),$56968,$56969,$56970,$56971,$56972,$56973,$56974,$56975,$56976,$56977,$56978,$56979,$56980),(nextval($56981),$56982,$56983,$56984,$56985,$56986,$56987,$56988,$56989,$56990,$56991,$56992,$56993,$56994),(nextval($56995),$56996,$56997,$56998,$56999,$57000,$57001,$57002,$57003,$57004,$57005,$57006,$57007,$57008),(nextval($57009),$57010,$57011,$57012,$57013,$57014,$57015,$57016,$57017,$57018,$57019,$57020,$57021,$57022),(nextval($57023),$57024,$57025,$57026,$57027,$57028,$57029,$57030,$57031,$57032,$57033,$57034,$57035,$57036),(nextval($57037),$57038,$57039,$57040,$57041,$57042,$57043,$57044,$57045,$57046,$57047,$57048,$57049,$57050),(nextval($57051),$57052,$57053,$57054,$57055,$57056,$57057,$57058,$57059,$57060,$57061,$57062,$57063,$57064),(nextval($57065),$57066,$57067,$57068,$57069,$57070,$57071,$57072,$57073,$57074,$57075,$57076,$57077,$57078),(nextval($57079),$57080,$57081,$57082,$57083,$57084,$57085,$57086,$57087,$57088,$57089,$57090,$57091,$57092),(nextval($57093),$57094,$57095,$57096,$57097,$57098,$57099,$57100,$57101,$57102,$57103,$57104,$57105,$57106),(nextval($57107),$57108,$57109,$57110,$57111,$57112,$57113,$57114,$57115,$57116,$57117,$57118,$57119,$57120),(nextval($57121),$57122,$57123,$57124,$57125,$57126,$57127,$57128,$57129,$57130,$57131,$57132,$57133,$57134),(nextval($57135),$57136,$57137,$57138,$57139,$57140,$57141,$57142,$57143,$57144,$57145,$57146,$57147,$57148),(nextval($57149),$57150,$57151,$57152,$57153,$57154,$57155,$57156,$57157,$57158,$57159,$57160,$57161,$57162),(nextval($57163),$57164,$57165,$57166,$57167,$57168,$57169,$57170,$57171,$57172,$57173,$57174,$57175,$57176),(nextval($57177),$57178,$57179,$57180,$57181,$57182,$57183,$57184,$57185,$57186,$57187,$57188,$57189,$57190),(nextval($57191),$57192,$57193,$57194,$57195,$57196,$57197,$57198,$57199,$57200,$57201,$57202,$57203,$57204),(nextval($57205),$57206,$57207,$57208,$57209,$57210,$57211,$57212,$57213,$57214,$57215,$57216,$57217,$57218),(nextval($57219),$57220,$57221,$57222,$57223,$57224,$57225,$57226,$57227,$57228,$57229,$57230,$57231,$57232),(nextval($57233),$57234,$57235,$57236,$57237,$57238,$57239,$57240,$57241,$57242,$57243,$57244,$57245,$57246),(nextval($57247),$57248,$57249,$57250,$57251,$57252,$57253,$57254,$57255,$57256,$57257,$57258,$57259,$57260),(nextval($57261),$57262,$57263,$57264,$57265,$57266,$57267,$57268,$57269,$57270,$57271,$57272,$57273,$57274),(nextval($57275),$57276,$57277,$57278,$57279,$57280,$57281,$57282,$57283,$57284,$57285,$57286,$57287,$57288),(nextval($57289),$57290,$57291,$57292,$57293,$57294,$57295,$57296,$57297,$57298,$57299,$57300,$57301,$57302),(nextval($57303),$57304,$57305,$57306,$57307,$57308,$57309,$57310,$57311,$57312,$57313,$57314,$57315,$57316),(nextval($57317),$57318,$57319,$57320,$57321,$57322,$57323,$57324,$57325,$57326,$57327,$57328,$57329,$57330),(nextval($57331),$57332,$57333,$57334,$57335,$57336,$57337,$57338,$57339,$57340,$57341,$57342,$57343,$57344),(nextval($57345),$57346,$57347,$57348,$57349,$57350,$57351,$57352,$57353,$57354,$57355,$57356,$57357,$57358),(nextval($57359),$57360,$57361,$57362,$57363,$57364,$57365,$57366,$57367,$57368,$57369,$57370,$57371,$57372),(nextval($57373),$57374,$57375,$57376,$57377,$57378,$57379,$57380,$57381,$57382,$57383,$57384,$57385,$57386),(nextval($57387),$57388,$57389,$57390,$57391,$57392,$57393,$57394,$57395,$57396,$57397,$57398,$57399,$57400),(nextval($57401),$57402,$57403,$57404,$57405,$57406,$57407,$57408,$57409,$57410,$57411,$57412,$57413,$57414),(nextval($57415),$57416,$57417,$57418,$57419,$57420,$57421,$57422,$57423,$57424,$57425,$57426,$57427,$57428),(nextval($57429),$57430,$57431,$57432,$57433,$57434,$57435,$57436,$57437,$57438,$57439,$57440,$57441,$57442),(nextval($57443),$57444,$57445,$57446,$57447,$57448,$57449,$57450,$57451,$57452,$57453,$57454,$57455,$57456),(nextval($57457),$57458,$57459,$57460,$57461,$57462,$57463,$57464,$57465,$57466,$57467,$57468,$57469,$57470),(nextval($57471),$57472,$57473,$57474,$57475,$57476,$57477,$57478,$57479,$57480,$57481,$57482,$57483,$57484),(nextval($57485),$57486,$57487,$57488,$57489,$57490,$57491,$57492,$57493,$57494,$57495,$57496,$57497,$57498),(nextval($57499),$57500,$57501,$57502,$57503,$57504,$57505,$57506,$57507,$57508,$57509,$57510,$57511,$57512),(nextval($57513),$57514,$57515,$57516,$57517,$57518,$57519,$57520,$57521,$57522,$57523,$57524,$57525,$57526),(nextval($57527),$57528,$57529,$57530,$57531,$57532,$57533,$57534,$57535,$57536,$57537,$57538,$57539,$57540),(nextval($57541),$57542,$57543,$57544,$57545,$57546,$57547,$57548,$57549,$57550,$57551,$57552,$57553,$57554),(nextval($57555),$57556,$57557,$57558,$57559,$57560,$57561,$57562,$57563,$57564,$57565,$57566,$57567,$57568),(nextval($57569),$57570,$57571,$57572,$57573,$57574,$57575,$57576,$57577,$57578,$57579,$57580,$57581,$57582),(nextval($57583),$57584,$57585,$57586,$57587,$57588,$57589,$57590,$57591,$57592,$57593,$57594,$57595,$57596),(nextval($57597),$57598,$57599,$57600,$57601,$57602,$57603,$57604,$57605,$57606,$57607,$57608,$57609,$57610),(nextval($57611),$57612,$57613,$57614,$57615,$57616,$57617,$57618,$57619,$57620,$57621,$57622,$57623,$57624),(nextval($57625),$57626,$57627,$57628,$57629,$57630,$57631,$57632,$57633,$57634,$57635,$57636,$57637,$57638),(nextval($57639),$57640,$57641,$57642,$57643,$57644,$57645,$57646,$57647,$57648,$57649,$57650,$57651,$57652),(nextval($57653),$57654,$57655,$57656,$57657,$57658,$57659,$57660,$57661,$57662,$57663,$57664,$57665,$57666),(nextval($57667),$57668,$57669,$57670,$57671,$57672,$57673,$57674,$57675,$57676,$57677,$57678,$57679,$57680),(nextval($57681),$57682,$57683,$57684,$57685,$57686,$57687,$57688,$57689,$57690,$57691,$57692,$57693,$57694),(nextval($57695),$57696,$57697,$57698,$57699,$57700,$57701,$57702,$57703,$57704,$57705,$57706,$57707,$57708),(nextval($57709),$57710,$57711,$57712,$57713,$57714,$57715,$57716,$57717,$57718,$57719,$57720,$57721,$57722),(nextval($57723),$57724,$57725,$57726,$57727,$57728,$57729,$57730,$57731,$57732,$57733,$57734,$57735,$57736),(nextval($57737),$57738,$57739,$57740,$57741,$57742,$57743,$57744,$57745,$57746,$57747,$57748,$57749,$57750),(nextval($57751),$57752,$57753,$57754,$57755,$57756,$57757,$57758,$57759,$57760,$57761,$57762,$57763,$57764),(nextval($57765),$57766,$57767,$57768,$57769,$57770,$57771,$57772,$57773,$57774,$57775,$57776,$57777,$57778),(nextval($57779),$57780,$57781,$57782,$57783,$57784,$57785,$57786,$57787,$57788,$57789,$57790,$57791,$57792),(nextval($57793),$57794,$57795,$57796,$57797,$57798,$57799,$57800,$57801,$57802,$57803,$57804,$57805,$57806),(nextval($57807),$57808,$57809,$57810,$57811,$57812,$57813,$57814,$57815,$57816,$57817,$57818,$57819,$57820),(nextval($57821),$57822,$57823,$57824,$57825,$57826,$57827,$57828,$57829,$57830,$57831,$57832,$57833,$57834),(nextval($57835),$57836,$57837,$57838,$57839,$57840,$57841,$57842,$57843,$57844,$57845,$57846,$57847,$57848),(nextval($57849),$57850,$57851,$57852,$57853,$57854,$57855,$57856,$57857,$57858,$57859,$57860,$57861,$57862),(nextval($57863),$57864,$57865,$57866,$57867,$57868,$57869,$57870,$57871,$57872,$57873,$57874,$57875,$57876),(nextval($57877),$57878,$57879,$57880,$57881,$57882,$57883,$57884,$57885,$57886,$57887,$57888,$57889,$57890),(nextval($57891),$57892,$57893,$57894,$57895,$57896,$57897,$57898,$57899,$57900,$57901,$57902,$57903,$57904),(nextval($57905),$57906,$57907,$57908,$57909,$57910,$57911,$57912,$57913,$57914,$57915,$57916,$57917,$57918),(nextval($57919),$57920,$57921,$57922,$57923,$57924,$57925,$57926,$57927,$57928,$57929,$57930,$57931,$57932),(nextval($57933),$57934,$57935,$57936,$57937,$57938,$57939,$57940,$57941,$57942,$57943,$57944,$57945,$57946),(nextval($57947),$57948,$57949,$57950,$57951,$57952,$57953,$57954,$57955,$57956,$57957,$57958,$57959,$57960),(nextval($57961),$57962,$57963,$57964,$57965,$57966,$57967,$57968,$57969,$57970,$57971,$57972,$57973,$57974),(nextval($57975),$57976,$57977,$57978,$57979,$57980,$57981,$57982,$57983,$57984,$57985,$57986,$57987,$57988),(nextval($57989),$57990,$57991,$57992,$57993,$57994,$57995,$57996,$57997,$57998,$57999,$58000,$58001,$58002),(nextval($58003),$58004,$58005,$58006,$58007,$58008,$58009,$58010,$58011,$58012,$58013,$58014,$58015,$58016),(nextval($58017),$58018,$58019,$58020,$58021,$58022,$58023,$58024,$58025,$58026,$58027,$58028,$58029,$58030),(nextval($58031),$58032,$58033,$58034,$58035,$58036,$58037,$58038,$58039,$58040,$58041,$58042,$58043,$58044),(nextval($58045),$58046,$58047,$58048,$58049,$58050,$58051,$58052,$58053,$58054,$58055,$58056,$58057,$58058),(nextval($58059),$58060,$58061,$58062,$58063,$58064,$58065,$58066,$58067,$58068,$58069,$58070,$58071,$58072),(nextval($58073),$58074,$58075,$58076,$58077,$58078,$58079,$58080,$58081,$58082,$58083,$58084,$58085,$58086),(nextval($58087),$58088,$58089,$58090,$58091,$58092,$58093,$58094,$58095,$58096,$58097,$58098,$58099,$58100),(nextval($58101),$58102,$58103,$58104,$58105,$58106,$58107,$58108,$58109,$58110,$58111,$58112,$58113,$58114),(nextval($58115),$58116,$58117,$58118,$58119,$58120,$58121,$58122,$58123,$58124,$58125,$58126,$58127,$58128),(nextval($58129),$58130,$58131,$58132,$58133,$58134,$58135,$58136,$58137,$58138,$58139,$58140,$58141,$58142),(nextval($58143),$58144,$58145,$58146,$58147,$58148,$58149,$58150,$58151,$58152,$58153,$58154,$58155,$58156),(nextval($58157),$58158,$58159,$58160,$58161,$58162,$58163,$58164,$58165,$58166,$58167,$58168,$58169,$58170),(nextval($58171),$58172,$58173,$58174,$58175,$58176,$58177,$58178,$58179,$58180,$58181,$58182,$58183,$58184),(nextval($58185),$58186,$58187,$58188,$58189,$58190,$58191,$58192,$58193,$58194,$58195,$58196,$58197,$58198),(nextval($58199),$58200,$58201,$58202,$58203,$58204,$58205,$58206,$58207,$58208,$58209,$58210,$58211,$58212),(nextval($58213),$58214,$58215,$58216,$58217,$58218,$58219,$58220,$58221,$58222,$58223,$58224,$58225,$58226),(nextval($58227),$58228,$58229,$58230,$58231,$58232,$58233,$58234,$58235,$58236,$58237,$58238,$58239,$58240),(nextval($58241),$58242,$58243,$58244,$58245,$58246,$58247,$58248,$58249,$58250,$58251,$58252,$58253,$58254),(nextval($58255),$58256,$58257,$58258,$58259,$58260,$58261,$58262,$58263,$58264,$58265,$58266,$58267,$58268),(nextval($58269),$58270,$58271,$58272,$58273,$58274,$58275,$58276,$58277,$58278,$58279,$58280,$58281,$58282),(nextval($58283),$58284,$58285,$58286,$58287,$58288,$58289,$58290,$58291,$58292,$58293,$58294,$58295,$58296),(nextval($58297),$58298,$58299,$58300,$58301,$58302,$58303,$58304,$58305,$58306,$58307,$58308,$58309,$58310),(nextval($58311),$58312,$58313,$58314,$58315,$58316,$58317,$58318,$58319,$58320,$58321,$58322,$58323,$58324),(nextval($58325),$58326,$58327,$58328,$58329,$58330,$58331,$58332,$58333,$58334,$58335,$58336,$58337,$58338),(nextval($58339),$58340,$58341,$58342,$58343,$58344,$58345,$58346,$58347,$58348,$58349,$58350,$58351,$58352),(nextval($58353),$58354,$58355,$58356,$58357,$58358,$58359,$58360,$58361,$58362,$58363,$58364,$58365,$58366),(nextval($58367),$58368,$58369,$58370,$58371,$58372,$58373,$58374,$58375,$58376,$58377,$58378,$58379,$58380),(nextval($58381),$58382,$58383,$58384,$58385,$58386,$58387,$58388,$58389,$58390,$58391,$58392,$58393,$58394),(nextval($58395),$58396,$58397,$58398,$58399,$58400,$58401,$58402,$58403,$58404,$58405,$58406,$58407,$58408),(nextval($58409),$58410,$58411,$58412,$58413,$58414,$58415,$58416,$58417,$58418,$58419,$58420,$58421,$58422),(nextval($58423),$58424,$58425,$58426,$58427,$58428,$58429,$58430,$58431,$58432,$58433,$58434,$58435,$58436),(nextval($58437),$58438,$58439,$58440,$58441,$58442,$58443,$58444,$58445,$58446,$58447,$58448,$58449,$58450),(nextval($58451),$58452,$58453,$58454,$58455,$58456,$58457,$58458,$58459,$58460,$58461,$58462,$58463,$58464),(nextval($58465),$58466,$58467,$58468,$58469,$58470,$58471,$58472,$58473,$58474,$58475,$58476,$58477,$58478),(nextval($58479),$58480,$58481,$58482,$58483,$58484,$58485,$58486,$58487,$58488,$58489,$58490,$58491,$58492),(nextval($58493),$58494,$58495,$58496,$58497,$58498,$58499,$58500,$58501,$58502,$58503,$58504,$58505,$58506),(nextval($58507),$58508,$58509,$58510,$58511,$58512,$58513,$58514,$58515,$58516,$58517,$58518,$58519,$58520),(nextval($58521),$58522,$58523,$58524,$58525,$58526,$58527,$58528,$58529,$58530,$58531,$58532,$58533,$58534),(nextval($58535),$58536,$58537,$58538,$58539,$58540,$58541,$58542,$58543,$58544,$58545,$58546,$58547,$58548),(nextval($58549),$58550,$58551,$58552,$58553,$58554,$58555,$58556,$58557,$58558,$58559,$58560,$58561,$58562),(nextval($58563),$58564,$58565,$58566,$58567,$58568,$58569,$58570,$58571,$58572,$58573,$58574,$58575,$58576),(nextval($58577),$58578,$58579,$58580,$58581,$58582,$58583,$58584,$58585,$58586,$58587,$58588,$58589,$58590),(nextval($58591),$58592,$58593,$58594,$58595,$58596,$58597,$58598,$58599,$58600,$58601,$58602,$58603,$58604),(nextval($58605),$58606,$58607,$58608,$58609,$58610,$58611,$58612,$58613,$58614,$58615,$58616,$58617,$58618),(nextval($58619),$58620,$58621,$58622,$58623,$58624,$58625,$58626,$58627,$58628,$58629,$58630,$58631,$58632),(nextval($58633),$58634,$58635,$58636,$58637,$58638,$58639,$58640,$58641,$58642,$58643,$58644,$58645,$58646),(nextval($58647),$58648,$58649,$58650,$58651,$58652,$58653,$58654,$58655,$58656,$58657,$58658,$58659,$58660),(nextval($58661),$58662,$58663,$58664,$58665,$58666,$58667,$58668,$58669,$58670,$58671,$58672,$58673,$58674),(nextval($58675),$58676,$58677,$58678,$58679,$58680,$58681,$58682,$58683,$58684,$58685,$58686,$58687,$58688),(nextval($58689),$58690,$58691,$58692,$58693,$58694,$58695,$58696,$58697,$58698,$58699,$58700,$58701,$58702),(nextval($58703),$58704,$58705,$58706,$58707,$58708,$58709,$58710,$58711,$58712,$58713,$58714,$58715,$58716),(nextval($58717),$58718,$58719,$58720,$58721,$58722,$58723,$58724,$58725,$58726,$58727,$58728,$58729,$58730),(nextval($58731),$58732,$58733,$58734,$58735,$58736,$58737,$58738,$58739,$58740,$58741,$58742,$58743,$58744),(nextval($58745),$58746,$58747,$58748,$58749,$58750,$58751,$58752,$58753,$58754,$58755,$58756,$58757,$58758),(nextval($58759),$58760,$58761,$58762,$58763,$58764,$58765,$58766,$58767,$58768,$58769,$58770,$58771,$58772),(nextval($58773),$58774,$58775,$58776,$58777,$58778,$58779,$58780,$58781,$58782,$58783,$58784,$58785,$58786),(nextval($58787),$58788,$58789,$58790,$58791,$58792,$58793,$58794,$58795,$58796,$58797,$58798,$58799,$58800),(nextval($58801),$58802,$58803,$58804,$58805,$58806,$58807,$58808,$58809,$58810,$58811,$58812,$58813,$58814),(nextval($58815),$58816,$58817,$58818,$58819,$58820,$58821,$58822,$58823,$58824,$58825,$58826,$58827,$58828),(nextval($58829),$58830,$58831,$58832,$58833,$58834,$58835,$58836,$58837,$58838,$58839,$58840,$58841,$58842),(nextval($58843),$58844,$58845,$58846,$58847,$58848,$58849,$58850,$58851,$58852,$58853,$58854,$58855,$58856),(nextval($58857),$58858,$58859,$58860,$58861,$58862,$58863,$58864,$58865,$58866,$58867,$58868,$58869,$58870),(nextval($58871),$58872,$58873,$58874,$58875,$58876,$58877,$58878,$58879,$58880,$58881,$58882,$58883,$58884),(nextval($58885),$58886,$58887,$58888,$58889,$58890,$58891,$58892,$58893,$58894,$58895,$58896,$58897,$58898),(nextval($58899),$58900,$58901,$58902,$58903,$58904,$58905,$58906,$58907,$58908,$58909,$58910,$58911,$58912),(nextval($58913),$58914,$58915,$58916,$58917,$58918,$58919,$58920,$58921,$58922,$58923,$58924,$58925,$58926),(nextval($58927),$58928,$58929,$58930,$58931,$58932,$58933,$58934,$58935,$58936,$58937,$58938,$58939,$58940),(nextval($58941),$58942,$58943,$58944,$58945,$58946,$58947,$58948,$58949,$58950,$58951,$58952,$58953,$58954),(nextval($58955),$58956,$58957,$58958,$58959,$58960,$58961,$58962,$58963,$58964,$58965,$58966,$58967,$58968),(nextval($58969),$58970,$58971,$58972,$58973,$58974,$58975,$58976,$58977,$58978,$58979,$58980,$58981,$58982),(nextval($58983),$58984,$58985,$58986,$58987,$58988,$58989,$58990,$58991,$58992,$58993,$58994,$58995,$58996),(nextval($58997),$58998,$58999,$59000,$59001,$59002,$59003,$59004,$59005,$59006,$59007,$59008,$59009,$59010),(nextval($59011),$59012,$59013,$59014,$59015,$59016,$59017,$59018,$59019,$59020,$59021,$59022,$59023,$59024),(nextval($59025),$59026,$59027,$59028,$59029,$59030,$59031,$59032,$59033,$59034,$59035,$59036,$59037,$59038),(nextval($59039),$59040,$59041,$59042,$59043,$59044,$59045,$59046,$59047,$59048,$59049,$59050,$59051,$59052),(nextval($59053),$59054,$59055,$59056,$59057,$59058,$59059,$59060,$59061,$59062,$59063,$59064,$59065,$59066),(nextval($59067),$59068,$59069,$59070,$59071,$59072,$59073,$59074,$59075,$59076,$59077,$59078,$59079,$59080),(nextval($59081),$59082,$59083,$59084,$59085,$59086,$59087,$59088,$59089,$59090,$59091,$59092,$59093,$59094),(nextval($59095),$59096,$59097,$59098,$59099,$59100,$59101,$59102,$59103,$59104,$59105,$59106,$59107,$59108),(nextval($59109),$59110,$59111,$59112,$59113,$59114,$59115,$59116,$59117,$59118,$59119,$59120,$59121,$59122),(nextval($59123),$59124,$59125,$59126,$59127,$59128,$59129,$59130,$59131,$59132,$59133,$59134,$59135,$59136),(nextval($59137),$59138,$59139,$59140,$59141,$59142,$59143,$59144,$59145,$59146,$59147,$59148,$59149,$59150),(nextval($59151),$59152,$59153,$59154,$59155,$59156,$59157,$59158,$59159,$59160,$59161,$59162,$59163,$59164),(nextval($59165),$59166,$59167,$59168,$59169,$59170,$59171,$59172,$59173,$59174,$59175,$59176,$59177,$59178),(nextval($59179),$59180,$59181,$59182,$59183,$59184,$59185,$59186,$59187,$59188,$59189,$59190,$59191,$59192),(nextval($59193),$59194,$59195,$59196,$59197,$59198,$59199,$59200,$59201,$59202,$59203,$59204,$59205,$59206),(nextval($59207),$59208,$59209,$59210,$59211,$59212,$59213,$59214,$59215,$59216,$59217,$59218,$59219,$59220),(nextval($59221),$59222,$59223,$59224,$59225,$59226,$59227,$59228,$59229,$59230,$59231,$59232,$59233,$59234),(nextval($59235),$59236,$59237,$59238,$59239,$59240,$59241,$59242,$59243,$59244,$59245,$59246,$59247,$59248),(nextval($59249),$59250,$59251,$59252,$59253,$59254,$59255,$59256,$59257,$59258,$59259,$59260,$59261,$59262),(nextval($59263),$59264,$59265,$59266,$59267,$59268,$59269,$59270,$59271,$59272,$59273,$59274,$59275,$59276),(nextval($59277),$59278,$59279,$59280,$59281,$59282,$59283,$59284,$59285,$59286,$59287,$59288,$59289,$59290),(nextval($59291),$59292,$59293,$59294,$59295,$59296,$59297,$59298,$59299,$59300,$59301,$59302,$59303,$59304),(nextval($59305),$59306,$59307,$59308,$59309,$59310,$59311,$59312,$59313,$59314,$59315,$59316,$59317,$59318),(nextval($59319),$59320,$59321,$59322,$59323,$59324,$59325,$59326,$59327,$59328,$59329,$59330,$59331,$59332),(nextval($59333),$59334,$59335,$59336,$59337,$59338,$59339,$59340,$59341,$59342,$59343,$59344,$59345,$59346),(nextval($59347),$59348,$59349,$59350,$59351,$59352,$59353,$59354,$59355,$59356,$59357,$59358,$59359,$59360),(nextval($59361),$59362,$59363,$59364,$59365,$59366,$59367,$59368,$59369,$59370,$59371,$59372,$59373,$59374),(nextval($59375),$59376,$59377,$59378,$59379,$59380,$59381,$59382,$59383,$59384,$59385,$59386,$59387,$59388),(nextval($59389),$59390,$59391,$59392,$59393,$59394,$59395,$59396,$59397,$59398,$59399,$59400,$59401,$59402),(nextval($59403),$59404,$59405,$59406,$59407,$59408,$59409,$59410,$59411,$59412,$59413,$59414,$59415,$59416),(nextval($59417),$59418,$59419,$59420,$59421,$59422,$59423,$59424,$59425,$59426,$59427,$59428,$59429,$59430),(nextval($59431),$59432,$59433,$59434,$59435,$59436,$59437,$59438,$59439,$59440,$59441,$59442,$59443,$59444),(nextval($59445),$59446,$59447,$59448,$59449,$59450,$59451,$59452,$59453,$59454,$59455,$59456,$59457,$59458),(nextval($59459),$59460,$59461,$59462,$59463,$59464,$59465,$59466,$59467,$59468,$59469,$59470,$59471,$59472),(nextval($59473),$59474,$59475,$59476,$59477,$59478,$59479,$59480,$59481,$59482,$59483,$59484,$59485,$59486),(nextval($59487),$59488,$59489,$59490,$59491,$59492,$59493,$59494,$59495,$59496,$59497,$59498,$59499,$59500),(nextval($59501),$59502,$59503,$59504,$59505,$59506,$59507,$59508,$59509,$59510,$59511,$59512,$59513,$59514),(nextval($59515),$59516,$59517,$59518,$59519,$59520,$59521,$59522,$59523,$59524,$59525,$59526,$59527,$59528),(nextval($59529),$59530,$59531,$59532,$59533,$59534,$59535,$59536,$59537,$59538,$59539,$59540,$59541,$59542),(nextval($59543),$59544,$59545,$59546,$59547,$59548,$59549,$59550,$59551,$59552,$59553,$59554,$59555,$59556),(nextval($59557),$59558,$59559,$59560,$59561,$59562,$59563,$59564,$59565,$59566,$59567,$59568,$59569,$59570),(nextval($59571),$59572,$59573,$59574,$59575,$59576,$59577,$59578,$59579,$59580,$59581,$59582,$59583,$59584),(nextval($59585),$59586,$59587,$59588,$59589,$59590,$59591,$59592,$59593,$59594,$59595,$59596,$59597,$59598),(nextval($59599),$59600,$59601,$59602,$59603,$59604,$59605,$59606,$59607,$59608,$59609,$59610,$59611,$59612),(nextval($59613),$59614,$59615,$59616,$59617,$59618,$59619,$59620,$59621,$59622,$59623,$59624,$59625,$59626),(nextval($59627),$59628,$59629,$59630,$59631,$59632,$59633,$59634,$59635,$59636,$59637,$59638,$59639,$59640),(nextval($59641),$59642,$59643,$59644,$59645,$59646,$59647,$59648,$59649,$59650,$59651,$59652,$59653,$59654),(nextval($59655),$59656,$59657,$59658,$59659,$59660,$59661,$59662,$59663,$59664,$59665,$59666,$59667,$59668),(nextval($59669),$59670,$59671,$59672,$59673,$59674,$59675,$59676,$59677,$59678,$59679,$59680,$59681,$59682),(nextval($59683),$59684,$59685,$59686,$59687,$59688,$59689,$59690,$59691,$59692,$59693,$59694,$59695,$59696),(nextval($59697),$59698,$59699,$59700,$59701,$59702,$59703,$59704,$59705,$59706,$59707,$59708,$59709,$59710),(nextval($59711),$59712,$59713,$59714,$59715,$59716,$59717,$59718,$59719,$59720,$59721,$59722,$59723,$59724),(nextval($59725),$59726,$59727,$59728,$59729,$59730,$59731,$59732,$59733,$59734,$59735,$59736,$59737,$59738),(nextval($59739),$59740,$59741,$59742,$59743,$59744,$59745,$59746,$59747,$59748,$59749,$59750,$59751,$59752),(nextval($59753),$59754,$59755,$59756,$59757,$59758,$59759,$59760,$59761,$59762,$59763,$59764,$59765,$59766),(nextval($59767),$59768,$59769,$59770,$59771,$59772,$59773,$59774,$59775,$59776,$59777,$59778,$59779,$59780),(nextval($59781),$59782,$59783,$59784,$59785,$59786,$59787,$59788,$59789,$59790,$59791,$59792,$59793,$59794),(nextval($59795),$59796,$59797,$59798,$59799,$59800,$59801,$59802,$59803,$59804,$59805,$59806,$59807,$59808),(nextval($59809),$59810,$59811,$59812,$59813,$59814,$59815,$59816,$59817,$59818,$59819,$59820,$59821,$59822),(nextval($59823),$59824,$59825,$59826,$59827,$59828,$59829,$59830,$59831,$59832,$59833,$59834,$59835,$59836),(nextval($59837),$59838,$59839,$59840,$59841,$59842,$59843,$59844,$59845,$59846,$59847,$59848,$59849,$59850),(nextval($59851),$59852,$59853,$59854,$59855,$59856,$59857,$59858,$59859,$59860,$59861,$59862,$59863,$59864),(nextval($59865),$59866,$59867,$59868,$59869,$59870,$59871,$59872,$59873,$59874,$59875,$59876,$59877,$59878),(nextval($59879),$59880,$59881,$59882,$59883,$59884,$59885,$59886,$59887,$59888,$59889,$59890,$59891,$59892),(nextval($59893),$59894,$59895,$59896,$59897,$59898,$59899,$59900,$59901,$59902,$59903,$59904,$59905,$59906),(nextval($59907),$59908,$59909,$59910,$59911,$59912,$59913,$59914,$59915,$59916,$59917,$59918,$59919,$59920),(nextval($59921),$59922,$59923,$59924,$59925,$59926,$59927,$59928,$59929,$59930,$59931,$59932,$59933,$59934),(nextval($59935),$59936,$59937,$59938,$59939,$59940,$59941,$59942,$59943,$59944,$59945,$59946,$59947,$59948),(nextval($59949),$59950,$59951,$59952,$59953,$59954,$59955,$59956,$59957,$59958,$59959,$59960,$59961,$59962),(nextval($59963),$59964,$59965,$59966,$59967,$59968,$59969,$59970,$59971,$59972,$59973,$59974,$59975,$59976),(nextval($59977),$59978,$59979,$59980,$59981,$59982,$59983,$59984,$59985,$59986,$59987,$59988,$59989,$59990),(nextval($59991),$59992,$59993,$59994,$59995,$59996,$59997,$59998,$59999,$60000,$60001,$60002,$60003,$60004),(nextval($60005),$60006,$60007,$60008,$60009,$60010,$60011,$60012,$60013,$60014,$60015,$60016,$60017,$60018),(nextval($60019),$60020,$60021,$60022,$60023,$60024,$60025,$60026,$60027,$60028,$60029,$60030,$60031,$60032),(nextval($60033),$60034,$60035,$60036,$60037,$60038,$60039,$60040,$60041,$60042,$60043,$60044,$60045,$60046),(nextval($60047),$60048,$60049,$60050,$60051,$60052,$60053,$60054,$60055,$60056,$60057,$60058,$60059,$60060),(nextval($60061),$60062,$60063,$60064,$60065,$60066,$60067,$60068,$60069,$60070,$60071,$60072,$60073,$60074),(nextval($60075),$60076,$60077,$60078,$60079,$60080,$60081,$60082,$60083,$60084,$60085,$60086,$60087,$60088),(nextval($60089),$60090,$60091,$60092,$60093,$60094,$60095,$60096,$60097,$60098,$60099,$60100,$60101,$60102),(nextval($60103),$60104,$60105,$60106,$60107,$60108,$60109,$60110,$60111,$60112,$60113,$60114,$60115,$60116),(nextval($60117),$60118,$60119,$60120,$60121,$60122,$60123,$60124,$60125,$60126,$60127,$60128,$60129,$60130),(nextval($60131),$60132,$60133,$60134,$60135,$60136,$60137,$60138,$60139,$60140,$60141,$60142,$60143,$60144),(nextval($60145),$60146,$60147,$60148,$60149,$60150,$60151,$60152,$60153,$60154,$60155,$60156,$60157,$60158),(nextval($60159),$60160,$60161,$60162,$60163,$60164,$60165,$60166,$60167,$60168,$60169,$60170,$60171,$60172),(nextval($60173),$60174,$60175,$60176,$60177,$60178,$60179,$60180,$60181,$60182,$60183,$60184,$60185,$60186),(nextval($60187),$60188,$60189,$60190,$60191,$60192,$60193,$60194,$60195,$60196,$60197,$60198,$60199,$60200),(nextval($60201),$60202,$60203,$60204,$60205,$60206,$60207,$60208,$60209,$60210,$60211,$60212,$60213,$60214),(nextval($60215),$60216,$60217,$60218,$60219,$60220,$60221,$60222,$60223,$60224,$60225,$60226,$60227,$60228),(nextval($60229),$60230,$60231,$60232,$60233,$60234,$60235,$60236,$60237,$60238,$60239,$60240,$60241,$60242),(nextval($60243),$60244,$60245,$60246,$60247,$60248,$60249,$60250,$60251,$60252,$60253,$60254,$60255,$60256),(nextval($60257),$60258,$60259,$60260,$60261,$60262,$60263,$60264,$60265,$60266,$60267,$60268,$60269,$60270),(nextval($60271),$60272,$60273,$60274,$60275,$60276,$60277,$60278,$60279,$60280,$60281,$60282,$60283,$60284),(nextval($60285),$60286,$60287,$60288,$60289,$60290,$60291,$60292,$60293,$60294,$60295,$60296,$60297,$60298),(nextval($60299),$60300,$60301,$60302,$60303,$60304,$60305,$60306,$60307,$60308,$60309,$60310,$60311,$60312),(nextval($60313),$60314,$60315,$60316,$60317,$60318,$60319,$60320,$60321,$60322,$60323,$60324,$60325,$60326),(nextval($60327),$60328,$60329,$60330,$60331,$60332,$60333,$60334,$60335,$60336,$60337,$60338,$60339,$60340),(nextval($60341),$60342,$60343,$60344,$60345,$60346,$60347,$60348,$60349,$60350,$60351,$60352,$60353,$60354),(nextval($60355),$60356,$60357,$60358,$60359,$60360,$60361,$60362,$60363,$60364,$60365,$60366,$60367,$60368),(nextval($60369),$60370,$60371,$60372,$60373,$60374,$60375,$60376,$60377,$60378,$60379,$60380,$60381,$60382),(nextval($60383),$60384,$60385,$60386,$60387,$60388,$60389,$60390,$60391,$60392,$60393,$60394,$60395,$60396),(nextval($60397),$60398,$60399,$60400,$60401,$60402,$60403,$60404,$60405,$60406,$60407,$60408,$60409,$60410),(nextval($60411),$60412,$60413,$60414,$60415,$60416,$60417,$60418,$60419,$60420,$60421,$60422,$60423,$60424),(nextval($60425),$60426,$60427,$60428,$60429,$60430,$60431,$60432,$60433,$60434,$60435,$60436,$60437,$60438),(nextval($60439),$60440,$60441,$60442,$60443,$60444,$60445,$60446,$60447,$60448,$60449,$60450,$60451,$60452),(nextval($60453),$60454,$60455,$60456,$60457,$60458,$60459,$60460,$60461,$60462,$60463,$60464,$60465,$60466),(nextval($60467),$60468,$60469,$60470,$60471,$60472,$60473,$60474,$60475,$60476,$60477,$60478,$60479,$60480),(nextval($60481),$60482,$60483,$60484,$60485,$60486,$60487,$60488,$60489,$60490,$60491,$60492,$60493,$60494),(nextval($60495),$60496,$60497,$60498,$60499,$60500,$60501,$60502,$60503,$60504,$60505,$60506,$60507,$60508),(nextval($60509),$60510,$60511,$60512,$60513,$60514,$60515,$60516,$60517,$60518,$60519,$60520,$60521,$60522),(nextval($60523),$60524,$60525,$60526,$60527,$60528,$60529,$60530,$60531,$60532,$60533,$60534,$60535,$60536),(nextval($60537),$60538,$60539,$60540,$60541,$60542,$60543,$60544,$60545,$60546,$60547,$60548,$60549,$60550),(nextval($60551),$60552,$60553,$60554,$60555,$60556,$60557,$60558,$60559,$60560,$60561,$60562,$60563,$60564),(nextval($60565),$60566,$60567,$60568,$60569,$60570,$60571,$60572,$60573,$60574,$60575,$60576,$60577,$60578),(nextval($60579),$60580,$60581,$60582,$60583,$60584,$60585,$60586,$60587,$60588,$60589,$60590,$60591,$60592),(nextval($60593),$60594,$60595,$60596,$60597,$60598,$60599,$60600,$60601,$60602,$60603,$60604,$60605,$60606),(nextval($60607),$60608,$60609,$60610,$60611,$60612,$60613,$60614,$60615,$60616,$60617,$60618,$60619,$60620),(nextval($60621),$60622,$60623,$60624,$60625,$60626,$60627,$60628,$60629,$60630,$60631,$60632,$60633,$60634),(nextval($60635),$60636,$60637,$60638,$60639,$60640,$60641,$60642,$60643,$60644,$60645,$60646,$60647,$60648),(nextval($60649),$60650,$60651,$60652,$60653,$60654,$60655,$60656,$60657,$60658,$60659,$60660,$60661,$60662),(nextval($60663),$60664,$60665,$60666,$60667,$60668,$60669,$60670,$60671,$60672,$60673,$60674,$60675,$60676),(nextval($60677),$60678,$60679,$60680,$60681,$60682,$60683,$60684,$60685,$60686,$60687,$60688,$60689,$60690),(nextval($60691),$60692,$60693,$60694,$60695,$60696,$60697,$60698,$60699,$60700,$60701,$60702,$60703,$60704),(nextval($60705),$60706,$60707,$60708,$60709,$60710,$60711,$60712,$60713,$60714,$60715,$60716,$60717,$60718),(nextval($60719),$60720,$60721,$60722,$60723,$60724,$60725,$60726,$60727,$60728,$60729,$60730,$60731,$60732),(nextval($60733),$60734,$60735,$60736,$60737,$60738,$60739,$60740,$60741,$60742,$60743,$60744,$60745,$60746),(nextval($60747),$60748,$60749,$60750,$60751,$60752,$60753,$60754,$60755,$60756,$60757,$60758,$60759,$60760),(nextval($60761),$60762,$60763,$60764,$60765,$60766,$60767,$60768,$60769,$60770,$60771,$60772,$60773,$60774),(nextval($60775),$60776,$60777,$60778,$60779,$60780,$60781,$60782,$60783,$60784,$60785,$60786,$60787,$60788),(nextval($60789),$60790,$60791,$60792,$60793,$60794,$60795,$60796,$60797,$60798,$60799,$60800,$60801,$60802),(nextval($60803),$60804,$60805,$60806,$60807,$60808,$60809,$60810,$60811,$60812,$60813,$60814,$60815,$60816),(nextval($60817),$60818,$60819,$60820,$60821,$60822,$60823,$60824,$60825,$60826,$60827,$60828,$60829,$60830),(nextval($60831),$60832,$60833,$60834,$60835,$60836,$60837,$60838,$60839,$60840,$60841,$60842,$60843,$60844),(nextval($60845),$60846,$60847,$60848,$60849,$60850,$60851,$60852,$60853,$60854,$60855,$60856,$60857,$60858),(nextval($60859),$60860,$60861,$60862,$60863,$60864,$60865,$60866,$60867,$60868,$60869,$60870,$60871,$60872),(nextval($60873),$60874,$60875,$60876,$60877,$60878,$60879,$60880,$60881,$60882,$60883,$60884,$60885,$60886),(nextval($60887),$60888,$60889,$60890,$60891,$60892,$60893,$60894,$60895,$60896,$60897,$60898,$60899,$60900),(nextval($60901),$60902,$60903,$60904,$60905,$60906,$60907,$60908,$60909,$60910,$60911,$60912,$60913,$60914),(nextval($60915),$60916,$60917,$60918,$60919,$60920,$60921,$60922,$60923,$60924,$60925,$60926,$60927,$60928),(nextval($60929),$60930,$60931,$60932,$60933,$60934,$60935,$60936,$60937,$60938,$60939,$60940,$60941,$60942),(nextval($60943),$60944,$60945,$60946,$60947,$60948,$60949,$60950,$60951,$60952,$60953,$60954,$60955,$60956),(nextval($60957),$60958,$60959,$60960,$60961,$60962,$60963,$60964,$60965,$60966,$60967,$60968,$60969,$60970),(nextval($60971),$60972,$60973,$60974,$60975,$60976,$60977,$60978,$60979,$60980,$60981,$60982,$60983,$60984),(nextval($60985),$60986,$60987,$60988,$60989,$60990,$60991,$60992,$60993,$60994,$60995,$60996,$60997,$60998),(nextval($60999),$61000,$61001,$61002,$61003,$61004,$61005,$61006,$61007,$61008,$61009,$61010,$61011,$61012),(nextval($61013),$61014,$61015,$61016,$61017,$61018,$61019,$61020,$61021,$61022,$61023,$61024,$61025,$61026),(nextval($61027),$61028,$61029,$61030,$61031,$61032,$61033,$61034,$61035,$61036,$61037,$61038,$61039,$61040),(nextval($61041),$61042,$61043,$61044,$61045,$61046,$61047,$61048,$61049,$61050,$61051,$61052,$61053,$61054),(nextval($61055),$61056,$61057,$61058,$61059,$61060,$61061,$61062,$61063,$61064,$61065,$61066,$61067,$61068),(nextval($61069),$61070,$61071,$61072,$61073,$61074,$61075,$61076,$61077,$61078,$61079,$61080,$61081,$61082),(nextval($61083),$61084,$61085,$61086,$61087,$61088,$61089,$61090,$61091,$61092,$61093,$61094,$61095,$61096),(nextval($61097),$61098,$61099,$61100,$61101,$61102,$61103,$61104,$61105,$61106,$61107,$61108,$61109,$61110),(nextval($61111),$61112,$61113,$61114,$61115,$61116,$61117,$61118,$61119,$61120,$61121,$61122,$61123,$61124),(nextval($61125),$61126,$61127,$61128,$61129,$61130,$61131,$61132,$61133,$61134,$61135,$61136,$61137,$61138),(nextval($61139),$61140,$61141,$61142,$61143,$61144,$61145,$61146,$61147,$61148,$61149,$61150,$61151,$61152),(nextval($61153),$61154,$61155,$61156,$61157,$61158,$61159,$61160,$61161,$61162,$61163,$61164,$61165,$61166),(nextval($61167),$61168,$61169,$61170,$61171,$61172,$61173,$61174,$61175,$61176,$61177,$61178,$61179,$61180),(nextval($61181),$61182,$61183,$61184,$61185,$61186,$61187,$61188,$61189,$61190,$61191,$61192,$61193,$61194),(nextval($61195),$61196,$61197,$61198,$61199,$61200,$61201,$61202,$61203,$61204,$61205,$61206,$61207,$61208),(nextval($61209),$61210,$61211,$61212,$61213,$61214,$61215,$61216,$61217,$61218,$61219,$61220,$61221,$61222),(nextval($61223),$61224,$61225,$61226,$61227,$61228,$61229,$61230,$61231,$61232,$61233,$61234,$61235,$61236),(nextval($61237),$61238,$61239,$61240,$61241,$61242,$61243,$61244,$61245,$61246,$61247,$61248,$61249,$61250),(nextval($61251),$61252,$61253,$61254,$61255,$61256,$61257,$61258,$61259,$61260,$61261,$61262,$61263,$61264),(nextval($61265),$61266,$61267,$61268,$61269,$61270,$61271,$61272,$61273,$61274,$61275,$61276,$61277,$61278),(nextval($61279),$61280,$61281,$61282,$61283,$61284,$61285,$61286,$61287,$61288,$61289,$61290,$61291,$61292),(nextval($61293),$61294,$61295,$61296,$61297,$61298,$61299,$61300,$61301,$61302,$61303,$61304,$61305,$61306),(nextval($61307),$61308,$61309,$61310,$61311,$61312,$61313,$61314,$61315,$61316,$61317,$61318,$61319,$61320),(nextval($61321),$61322,$61323,$61324,$61325,$61326,$61327,$61328,$61329,$61330,$61331,$61332,$61333,$61334),(nextval($61335),$61336,$61337,$61338,$61339,$61340,$61341,$61342,$61343,$61344,$61345,$61346,$61347,$61348),(nextval($61349),$61350,$61351,$61352,$61353,$61354,$61355,$61356,$61357,$61358,$61359,$61360,$61361,$61362),(nextval($61363),$61364,$61365,$61366,$61367,$61368,$61369,$61370,$61371,$61372,$61373,$61374,$61375,$61376),(nextval($61377),$61378,$61379,$61380,$61381,$61382,$61383,$61384,$61385,$61386,$61387,$61388,$61389,$61390),(nextval($61391),$61392,$61393,$61394,$61395,$61396,$61397,$61398,$61399,$61400,$61401,$61402,$61403,$61404),(nextval($61405),$61406,$61407,$61408,$61409,$61410,$61411,$61412,$61413,$61414,$61415,$61416,$61417,$61418),(nextval($61419),$61420,$61421,$61422,$61423,$61424,$61425,$61426,$61427,$61428,$61429,$61430,$61431,$61432),(nextval($61433),$61434,$61435,$61436,$61437,$61438,$61439,$61440,$61441,$61442,$61443,$61444,$61445,$61446),(nextval($61447),$61448,$61449,$61450,$61451,$61452,$61453,$61454,$61455,$61456,$61457,$61458,$61459,$61460),(nextval($61461),$61462,$61463,$61464,$61465,$61466,$61467,$61468,$61469,$61470,$61471,$61472,$61473,$61474),(nextval($61475),$61476,$61477,$61478,$61479,$61480,$61481,$61482,$61483,$61484,$61485,$61486,$61487,$61488),(nextval($61489),$61490,$61491,$61492,$61493,$61494,$61495,$61496,$61497,$61498,$61499,$61500,$61501,$61502),(nextval($61503),$61504,$61505,$61506,$61507,$61508,$61509,$61510,$61511,$61512,$61513,$61514,$61515,$61516),(nextval($61517),$61518,$61519,$61520,$61521,$61522,$61523,$61524,$61525,$61526,$61527,$61528,$61529,$61530),(nextval($61531),$61532,$61533,$61534,$61535,$61536,$61537,$61538,$61539,$61540,$61541,$61542,$61543,$61544),(nextval($61545),$61546,$61547,$61548,$61549,$61550,$61551,$61552,$61553,$61554,$61555,$61556,$61557,$61558),(nextval($61559),$61560,$61561,$61562,$61563,$61564,$61565,$61566,$61567,$61568,$61569,$61570,$61571,$61572),(nextval($61573),$61574,$61575,$61576,$61577,$61578,$61579,$61580,$61581,$61582,$61583,$61584,$61585,$61586),(nextval($61587),$61588,$61589,$61590,$61591,$61592,$61593,$61594,$61595,$61596,$61597,$61598,$61599,$61600),(nextval($61601),$61602,$61603,$61604,$61605,$61606,$61607,$61608,$61609,$61610,$61611,$61612,$61613,$61614),(nextval($61615),$61616,$61617,$61618,$61619,$61620,$61621,$61622,$61623,$61624,$61625,$61626,$61627,$61628),(nextval($61629),$61630,$61631,$61632,$61633,$61634,$61635,$61636,$61637,$61638,$61639,$61640,$61641,$61642),(nextval($61643),$61644,$61645,$61646,$61647,$61648,$61649,$61650,$61651,$61652,$61653,$61654,$61655,$61656),(nextval($61657),$61658,$61659,$61660,$61661,$61662,$61663,$61664,$61665,$61666,$61667,$61668,$61669,$61670),(nextval($61671),$61672,$61673,$61674,$61675,$61676,$61677,$61678,$61679,$61680,$61681,$61682,$61683,$61684),(nextval($61685),$61686,$61687,$61688,$61689,$61690,$61691,$61692,$61693,$61694,$61695,$61696,$61697,$61698),(nextval($61699),$61700,$61701,$61702,$61703,$61704,$61705,$61706,$61707,$61708,$61709,$61710,$61711,$61712),(nextval($61713),$61714,$61715,$61716,$61717,$61718,$61719,$61720,$61721,$61722,$61723,$61724,$61725,$61726),(nextval($61727),$61728,$61729,$61730,$61731,$61732,$61733,$61734,$61735,$61736,$61737,$61738,$61739,$61740),(nextval($61741),$61742,$61743,$61744,$61745,$61746,$61747,$61748,$61749,$61750,$61751,$61752,$61753,$61754),(nextval($61755),$61756,$61757,$61758,$61759,$61760,$61761,$61762,$61763,$61764,$61765,$61766,$61767,$61768),(nextval($61769),$61770,$61771,$61772,$61773,$61774,$61775,$61776,$61777,$61778,$61779,$61780,$61781,$61782),(nextval($61783),$61784,$61785,$61786,$61787,$61788,$61789,$61790,$61791,$61792,$61793,$61794,$61795,$61796),(nextval($61797),$61798,$61799,$61800,$61801,$61802,$61803,$61804,$61805,$61806,$61807,$61808,$61809,$61810),(nextval($61811),$61812,$61813,$61814,$61815,$61816,$61817,$61818,$61819,$61820,$61821,$61822,$61823,$61824),(nextval($61825),$61826,$61827,$61828,$61829,$61830,$61831,$61832,$61833,$61834,$61835,$61836,$61837,$61838),(nextval($61839),$61840,$61841,$61842,$61843,$61844,$61845,$61846,$61847,$61848,$61849,$61850,$61851,$61852),(nextval($61853),$61854,$61855,$61856,$61857,$61858,$61859,$61860,$61861,$61862,$61863,$61864,$61865,$61866),(nextval($61867),$61868,$61869,$61870,$61871,$61872,$61873,$61874,$61875,$61876,$61877,$61878,$61879,$61880),(nextval($61881),$61882,$61883,$61884,$61885,$61886,$61887,$61888,$61889,$61890,$61891,$61892,$61893,$61894),(nextval($61895),$61896,$61897,$61898,$61899,$61900,$61901,$61902,$61903,$61904,$61905,$61906,$61907,$61908),(nextval($61909),$61910,$61911,$61912,$61913,$61914,$61915,$61916,$61917,$61918,$61919,$61920,$61921,$61922),(nextval($61923),$61924,$61925,$61926,$61927,$61928,$61929,$61930,$61931,$61932,$61933,$61934,$61935,$61936),(nextval($61937),$61938,$61939,$61940,$61941,$61942,$61943,$61944,$61945,$61946,$61947,$61948,$61949,$61950),(nextval($61951),$61952,$61953,$61954,$61955,$61956,$61957,$61958,$61959,$61960,$61961,$61962,$61963,$61964),(nextval($61965),$61966,$61967,$61968,$61969,$61970,$61971,$61972,$61973,$61974,$61975,$61976,$61977,$61978),(nextval($61979),$61980,$61981,$61982,$61983,$61984,$61985,$61986,$61987,$61988,$61989,$61990,$61991,$61992),(nextval($61993),$61994,$61995,$61996,$61997,$61998,$61999,$62000,$62001,$62002,$62003,$62004,$62005,$62006),(nextval($62007),$62008,$62009,$62010,$62011,$62012,$62013,$62014,$62015,$62016,$62017,$62018,$62019,$62020),(nextval($62021),$62022,$62023,$62024,$62025,$62026,$62027,$62028,$62029,$62030,$62031,$62032,$62033,$62034),(nextval($62035),$62036,$62037,$62038,$62039,$62040,$62041,$62042,$62043,$62044,$62045,$62046,$62047,$62048),(nextval($62049),$62050,$62051,$62052,$62053,$62054,$62055,$62056,$62057,$62058,$62059,$62060,$62061,$62062),(nextval($62063),$62064,$62065,$62066,$62067,$62068,$62069,$62070,$62071,$62072,$62073,$62074,$62075,$62076),(nextval($62077),$62078,$62079,$62080,$62081,$62082,$62083,$62084,$62085,$62086,$62087,$62088,$62089,$62090),(nextval($62091),$62092,$62093,$62094,$62095,$62096,$62097,$62098,$62099,$62100,$62101,$62102,$62103,$62104),(nextval($62105),$62106,$62107,$62108,$62109,$62110,$62111,$62112,$62113,$62114,$62115,$62116,$62117,$62118),(nextval($62119),$62120,$62121,$62122,$62123,$62124,$62125,$62126,$62127,$62128,$62129,$62130,$62131,$62132),(nextval($62133),$62134,$62135,$62136,$62137,$62138,$62139,$62140,$62141,$62142,$62143,$62144,$62145,$62146),(nextval($62147),$62148,$62149,$62150,$62151,$62152,$62153,$62154,$62155,$62156,$62157,$62158,$62159,$62160),(nextval($62161),$62162,$62163,$62164,$62165,$62166,$62167,$62168,$62169,$62170,$62171,$62172,$62173,$62174),(nextval($62175),$62176,$62177,$62178,$62179,$62180,$62181,$62182,$62183,$62184,$62185,$62186,$62187,$62188),(nextval($62189),$62190,$62191,$62192,$62193,$62194,$62195,$62196,$62197,$62198,$62199,$62200,$62201,$62202),(nextval($62203),$62204,$62205,$62206,$62207,$62208,$62209,$62210,$62211,$62212,$62213,$62214,$62215,$62216),(nextval($62217),$62218,$62219,$62220,$62221,$62222,$62223,$62224,$62225,$62226,$62227,$62228,$62229,$62230),(nextval($62231),$62232,$62233,$62234,$62235,$62236,$62237,$62238,$62239,$62240,$62241,$62242,$62243,$62244),(nextval($62245),$62246,$62247,$62248,$62249,$62250,$62251,$62252,$62253,$62254,$62255,$62256,$62257,$62258),(nextval($62259),$62260,$62261,$62262,$62263,$62264,$62265,$62266,$62267,$62268,$62269,$62270,$62271,$62272),(nextval($62273),$62274,$62275,$62276,$62277,$62278,$62279,$62280,$62281,$62282,$62283,$62284,$62285,$62286),(nextval($62287),$62288,$62289,$62290,$62291,$62292,$62293,$62294,$62295,$62296,$62297,$62298,$62299,$62300),(nextval($62301),$62302,$62303,$62304,$62305,$62306,$62307,$62308,$62309,$62310,$62311,$62312,$62313,$62314),(nextval($62315),$62316,$62317,$62318,$62319,$62320,$62321,$62322,$62323,$62324,$62325,$62326,$62327,$62328),(nextval($62329),$62330,$62331,$62332,$62333,$62334,$62335,$62336,$62337,$62338,$62339,$62340,$62341,$62342),(nextval($62343),$62344,$62345,$62346,$62347,$62348,$62349,$62350,$62351,$62352,$62353,$62354,$62355,$62356),(nextval($62357),$62358,$62359,$62360,$62361,$62362,$62363,$62364,$62365,$62366,$62367,$62368,$62369,$62370),(nextval($62371),$62372,$62373,$62374,$62375,$62376,$62377,$62378,$62379,$62380,$62381,$62382,$62383,$62384),(nextval($62385),$62386,$62387,$62388,$62389,$62390,$62391,$62392,$62393,$62394,$62395,$62396,$62397,$62398),(nextval($62399),$62400,$62401,$62402,$62403,$62404,$62405,$62406,$62407,$62408,$62409,$62410,$62411,$62412),(nextval($62413),$62414,$62415,$62416,$62417,$62418,$62419,$62420,$62421,$62422,$62423,$62424,$62425,$62426),(nextval($62427),$62428,$62429,$62430,$62431,$62432,$62433,$62434,$62435,$62436,$62437,$62438,$62439,$62440),(nextval($62441),$62442,$62443,$62444,$62445,$62446,$62447,$62448,$62449,$62450,$62451,$62452,$62453,$62454),(nextval($62455),$62456,$62457,$62458,$62459,$62460,$62461,$62462,$62463,$62464,$62465,$62466,$62467,$62468),(nextval($62469),$62470,$62471,$62472,$62473,$62474,$62475,$62476,$62477,$62478,$62479,$62480,$62481,$62482),(nextval($62483),$62484,$62485,$62486,$62487,$62488,$62489,$62490,$62491,$62492,$62493,$62494,$62495,$62496),(nextval($62497),$62498,$62499,$62500,$62501,$62502,$62503,$62504,$62505,$62506,$62507,$62508,$62509,$62510),(nextval($62511),$62512,$62513,$62514,$62515,$62516,$62517,$62518,$62519,$62520,$62521,$62522,$62523,$62524),(nextval($62525),$62526,$62527,$62528,$62529,$62530,$62531,$62532,$62533,$62534,$62535,$62536,$62537,$62538),(nextval($62539),$62540,$62541,$62542,$62543,$62544,$62545,$62546,$62547,$62548,$62549,$62550,$62551,$62552),(nextval($62553),$62554,$62555,$62556,$62557,$62558,$62559,$62560,$62561,$62562,$62563,$62564,$62565,$62566),(nextval($62567),$62568,$62569,$62570,$62571,$62572,$62573,$62574,$62575,$62576,$62577,$62578,$62579,$62580),(nextval($62581),$62582,$62583,$62584,$62585,$62586,$62587,$62588,$62589,$62590,$62591,$62592,$62593,$62594),(nextval($62595),$62596,$62597,$62598,$62599,$62600,$62601,$62602,$62603,$62604,$62605,$62606,$62607,$62608),(nextval($62609),$62610,$62611,$62612,$62613,$62614,$62615,$62616,$62617,$62618,$62619,$62620,$62621,$62622),(nextval($62623),$62624,$62625,$62626,$62627,$62628,$62629,$62630,$62631,$62632,$62633,$62634,$62635,$62636),(nextval($62637),$62638,$62639,$62640,$62641,$62642,$62643,$62644,$62645,$62646,$62647,$62648,$62649,$62650),(nextval($62651),$62652,$62653,$62654,$62655,$62656,$62657,$62658,$62659,$62660,$62661,$62662,$62663,$62664),(nextval($62665),$62666,$62667,$62668,$62669,$62670,$62671,$62672,$62673,$62674,$62675,$62676,$62677,$62678),(nextval($62679),$62680,$62681,$62682,$62683,$62684,$62685,$62686,$62687,$62688,$62689,$62690,$62691,$62692),(nextval($62693),$62694,$62695,$62696,$62697,$62698,$62699,$62700,$62701,$62702,$62703,$62704,$62705,$62706),(nextval($62707),$62708,$62709,$62710,$62711,$62712,$62713,$62714,$62715,$62716,$62717,$62718,$62719,$62720),(nextval($62721),$62722,$62723,$62724,$62725,$62726,$62727,$62728,$62729,$62730,$62731,$62732,$62733,$62734),(nextval($62735),$62736,$62737,$62738,$62739,$62740,$62741,$62742,$62743,$62744,$62745,$62746,$62747,$62748),(nextval($62749),$62750,$62751,$62752,$62753,$62754,$62755,$62756,$62757,$62758,$62759,$62760,$62761,$62762),(nextval($62763),$62764,$62765,$62766,$62767,$62768,$62769,$62770,$62771,$62772,$62773,$62774,$62775,$62776),(nextval($62777),$62778,$62779,$62780,$62781,$62782,$62783,$62784,$62785,$62786,$62787,$62788,$62789,$62790),(nextval($62791),$62792,$62793,$62794,$62795,$62796,$62797,$62798,$62799,$62800,$62801,$62802,$62803,$62804),(nextval($62805),$62806,$62807,$62808,$62809,$62810,$62811,$62812,$62813,$62814,$62815,$62816,$62817,$62818),(nextval($62819),$62820,$62821,$62822,$62823,$62824,$62825,$62826,$62827,$62828,$62829,$62830,$62831,$62832),(nextval($62833),$62834,$62835,$62836,$62837,$62838,$62839,$62840,$62841,$62842,$62843,$62844,$62845,$62846),(nextval($62847),$62848,$62849,$62850,$62851,$62852,$62853,$62854,$62855,$62856,$62857,$62858,$62859,$62860),(nextval($62861),$62862,$62863,$62864,$62865,$62866,$62867,$62868,$62869,$62870,$62871,$62872,$62873,$62874),(nextval($62875),$62876,$62877,$62878,$62879,$62880,$62881,$62882,$62883,$62884,$62885,$62886,$62887,$62888),(nextval($62889),$62890,$62891,$62892,$62893,$62894,$62895,$62896,$62897,$62898,$62899,$62900,$62901,$62902),(nextval($62903),$62904,$62905,$62906,$62907,$62908,$62909,$62910,$62911,$62912,$62913,$62914,$62915,$62916),(nextval($62917),$62918,$62919,$62920,$62921,$62922,$62923,$62924,$62925,$62926,$62927,$62928,$62929,$62930),(nextval($62931),$62932,$62933,$62934,$62935,$62936,$62937,$62938,$62939,$62940,$62941,$62942,$62943,$62944),(nextval($62945),$62946,$62947,$62948,$62949,$62950,$62951,$62952,$62953,$62954,$62955,$62956,$62957,$62958),(nextval($62959),$62960,$62961,$62962,$62963,$62964,$62965,$62966,$62967,$62968,$62969,$62970,$62971,$62972),(nextval($62973),$62974,$62975,$62976,$62977,$62978,$62979,$62980,$62981,$62982,$62983,$62984,$62985,$62986),(nextval($62987),$62988,$62989,$62990,$62991,$62992,$62993,$62994,$62995,$62996,$62997,$62998,$62999,$63000),(nextval($63001),$63002,$63003,$63004,$63005,$63006,$63007,$63008,$63009,$63010,$63011,$63012,$63013,$63014),(nextval($63015),$63016,$63017,$63018,$63019,$63020,$63021,$63022,$63023,$63024,$63025,$63026,$63027,$63028),(nextval($63029),$63030,$63031,$63032,$63033,$63034,$63035,$63036,$63037,$63038,$63039,$63040,$63041,$63042),(nextval($63043),$63044,$63045,$63046,$63047,$63048,$63049,$63050,$63051,$63052,$63053,$63054,$63055,$63056),(nextval($63057),$63058,$63059,$63060,$63061,$63062,$63063,$63064,$63065,$63066,$63067,$63068,$63069,$63070),(nextval($63071),$63072,$63073,$63074,$63075,$63076,$63077,$63078,$63079,$63080,$63081,$63082,$63083,$63084),(nextval($63085),$63086,$63087,$63088,$63089,$63090,$63091,$63092,$63093,$63094,$63095,$63096,$63097,$63098),(nextval($63099),$63100,$63101,$63102,$63103,$63104,$63105,$63106,$63107,$63108,$63109,$63110,$63111,$63112),(nextval($63113),$63114,$63115,$63116,$63117,$63118,$63119,$63120,$63121,$63122,$63123,$63124,$63125,$63126),(nextval($63127),$63128,$63129,$63130,$63131,$63132,$63133,$63134,$63135,$63136,$63137,$63138,$63139,$63140),(nextval($63141),$63142,$63143,$63144,$63145,$63146,$63147,$63148,$63149,$63150,$63151,$63152,$63153,$63154),(nextval($63155),$63156,$63157,$63158,$63159,$63160,$63161,$63162,$63163,$63164,$63165,$63166,$63167,$63168),(nextval($63169),$63170,$63171,$63172,$63173,$63174,$63175,$63176,$63177,$63178,$63179,$63180,$63181,$63182),(nextval($63183),$63184,$63185,$63186,$63187,$63188,$63189,$63190,$63191,$63192,$63193,$63194,$63195,$63196),(nextval($63197),$63198,$63199,$63200,$63201,$63202,$63203,$63204,$63205,$63206,$63207,$63208,$63209,$63210),(nextval($63211),$63212,$63213,$63214,$63215,$63216,$63217,$63218,$63219,$63220,$63221,$63222,$63223,$63224),(nextval($63225),$63226,$63227,$63228,$63229,$63230,$63231,$63232,$63233,$63234,$63235,$63236,$63237,$63238),(nextval($63239),$63240,$63241,$63242,$63243,$63244,$63245,$63246,$63247,$63248,$63249,$63250,$63251,$63252),(nextval($63253),$63254,$63255,$63256,$63257,$63258,$63259,$63260,$63261,$63262,$63263,$63264,$63265,$63266),(nextval($63267),$63268,$63269,$63270,$63271,$63272,$63273,$63274,$63275,$63276,$63277,$63278,$63279,$63280),(nextval($63281),$63282,$63283,$63284,$63285,$63286,$63287,$63288,$63289,$63290,$63291,$63292,$63293,$63294),(nextval($63295),$63296,$63297,$63298,$63299,$63300,$63301,$63302,$63303,$63304,$63305,$63306,$63307,$63308),(nextval($63309),$63310,$63311,$63312,$63313,$63314,$63315,$63316,$63317,$63318,$63319,$63320,$63321,$63322),(nextval($63323),$63324,$63325,$63326,$63327,$63328,$63329,$63330,$63331,$63332,$63333,$63334,$63335,$63336),(nextval($63337),$63338,$63339,$63340,$63341,$63342,$63343,$63344,$63345,$63346,$63347,$63348,$63349,$63350),(nextval($63351),$63352,$63353,$63354,$63355,$63356,$63357,$63358,$63359,$63360,$63361,$63362,$63363,$63364),(nextval($63365),$63366,$63367,$63368,$63369,$63370,$63371,$63372,$63373,$63374,$63375,$63376,$63377,$63378),(nextval($63379),$63380,$63381,$63382,$63383,$63384,$63385,$63386,$63387,$63388,$63389,$63390,$63391,$63392),(nextval($63393),$63394,$63395,$63396,$63397,$63398,$63399,$63400,$63401,$63402,$63403,$63404,$63405,$63406),(nextval($63407),$63408,$63409,$63410,$63411,$63412,$63413,$63414,$63415,$63416,$63417,$63418,$63419,$63420),(nextval($63421),$63422,$63423,$63424,$63425,$63426,$63427,$63428,$63429,$63430,$63431,$63432,$63433,$63434),(nextval($63435),$63436,$63437,$63438,$63439,$63440,$63441,$63442,$63443,$63444,$63445,$63446,$63447,$63448),(nextval($63449),$63450,$63451,$63452,$63453,$63454,$63455,$63456,$63457,$63458,$63459,$63460,$63461,$63462),(nextval($63463),$63464,$63465,$63466,$63467,$63468,$63469,$63470,$63471,$63472,$63473,$63474,$63475,$63476),(nextval($63477),$63478,$63479,$63480,$63481,$63482,$63483,$63484,$63485,$63486,$63487,$63488,$63489,$63490),(nextval($63491),$63492,$63493,$63494,$63495,$63496,$63497,$63498,$63499,$63500,$63501,$63502,$63503,$63504),(nextval($63505),$63506,$63507,$63508,$63509,$63510,$63511,$63512,$63513,$63514,$63515,$63516,$63517,$63518),(nextval($63519),$63520,$63521,$63522,$63523,$63524,$63525,$63526,$63527,$63528,$63529,$63530,$63531,$63532),(nextval($63533),$63534,$63535,$63536,$63537,$63538,$63539,$63540,$63541,$63542,$63543,$63544,$63545,$63546),(nextval($63547),$63548,$63549,$63550,$63551,$63552,$63553,$63554,$63555,$63556,$63557,$63558,$63559,$63560),(nextval($63561),$63562,$63563,$63564,$63565,$63566,$63567,$63568,$63569,$63570,$63571,$63572,$63573,$63574),(nextval($63575),$63576,$63577,$63578,$63579,$63580,$63581,$63582,$63583,$63584,$63585,$63586,$63587,$63588),(nextval($63589),$63590,$63591,$63592,$63593,$63594,$63595,$63596,$63597,$63598,$63599,$63600,$63601,$63602),(nextval($63603),$63604,$63605,$63606,$63607,$63608,$63609,$63610,$63611,$63612,$63613,$63614,$63615,$63616),(nextval($63617),$63618,$63619,$63620,$63621,$63622,$63623,$63624,$63625,$63626,$63627,$63628,$63629,$63630),(nextval($63631),$63632,$63633,$63634,$63635,$63636,$63637,$63638,$63639,$63640,$63641,$63642,$63643,$63644),(nextval($63645),$63646,$63647,$63648,$63649,$63650,$63651,$63652,$63653,$63654,$63655,$63656,$63657,$63658),(nextval($63659),$63660,$63661,$63662,$63663,$63664,$63665,$63666,$63667,$63668,$63669,$63670,$63671,$63672),(nextval($63673),$63674,$63675,$63676,$63677,$63678,$63679,$63680,$63681,$63682,$63683,$63684,$63685,$63686),(nextval($63687),$63688,$63689,$63690,$63691,$63692,$63693,$63694,$63695,$63696,$63697,$63698,$63699,$63700),(nextval($63701),$63702,$63703,$63704,$63705,$63706,$63707,$63708,$63709,$63710,$63711,$63712,$63713,$63714),(nextval($63715),$63716,$63717,$63718,$63719,$63720,$63721,$63722,$63723,$63724,$63725,$63726,$63727,$63728),(nextval($63729),$63730,$63731,$63732,$63733,$63734,$63735,$63736,$63737,$63738,$63739,$63740,$63741,$63742),(nextval($63743),$63744,$63745,$63746,$63747,$63748,$63749,$63750,$63751,$63752,$63753,$63754,$63755,$63756),(nextval($63757),$63758,$63759,$63760,$63761,$63762,$63763,$63764,$63765,$63766,$63767,$63768,$63769,$63770),(nextval($63771),$63772,$63773,$63774,$63775,$63776,$63777,$63778,$63779,$63780,$63781,$63782,$63783,$63784),(nextval($63785),$63786,$63787,$63788,$63789,$63790,$63791,$63792,$63793,$63794,$63795,$63796,$63797,$63798),(nextval($63799),$63800,$63801,$63802,$63803,$63804,$63805,$63806,$63807,$63808,$63809,$63810,$63811,$63812),(nextval($63813),$63814,$63815,$63816,$63817,$63818,$63819,$63820,$63821,$63822,$63823,$63824,$63825,$63826),(nextval($63827),$63828,$63829,$63830,$63831,$63832,$63833,$63834,$63835,$63836,$63837,$63838,$63839,$63840),(nextval($63841),$63842,$63843,$63844,$63845,$63846,$63847,$63848,$63849,$63850,$63851,$63852,$63853,$63854),(nextval($63855),$63856,$63857,$63858,$63859,$63860,$63861,$63862,$63863,$63864,$63865,$63866,$63867,$63868),(nextval($63869),$63870,$63871,$63872,$63873,$63874,$63875,$63876,$63877,$63878,$63879,$63880,$63881,$63882),(nextval($63883),$63884,$63885,$63886,$63887,$63888,$63889,$63890,$63891,$63892,$63893,$63894,$63895,$63896),(nextval($63897),$63898,$63899,$63900,$63901,$63902,$63903,$63904,$63905,$63906,$63907,$63908,$63909,$63910),(nextval($63911),$63912,$63913,$63914,$63915,$63916,$63917,$63918,$63919,$63920,$63921,$63922,$63923,$63924),(nextval($63925),$63926,$63927,$63928,$63929,$63930,$63931,$63932,$63933,$63934,$63935,$63936,$63937,$63938),(nextval($63939),$63940,$63941,$63942,$63943,$63944,$63945,$63946,$63947,$63948,$63949,$63950,$63951,$63952),(nextval($63953),$63954,$63955,$63956,$63957,$63958,$63959,$63960,$63961,$63962,$63963,$63964,$63965,$63966),(nextval($63967),$63968,$63969,$63970,$63971,$63972,$63973,$63974,$63975,$63976,$63977,$63978,$63979,$63980),(nextval($63981),$63982,$63983,$63984,$63985,$63986,$63987,$63988,$63989,$63990,$63991,$63992,$63993,$63994),(nextval($63995),$63996,$63997,$63998,$63999,$64000,$64001,$64002,$64003,$64004,$64005,$64006,$64007,$64008),(nextval($64009),$64010,$64011,$64012,$64013,$64014,$64015,$64016,$64017,$64018,$64019,$64020,$64021,$64022),(nextval($64023),$64024,$64025,$64026,$64027,$64028,$64029,$64030,$64031,$64032,$64033,$64034,$64035,$64036),(nextval($64037),$64038,$64039,$64040,$64041,$64042,$64043,$64044,$64045,$64046,$64047,$64048,$64049,$64050),(nextval($64051),$64052,$64053,$64054,$64055,$64056,$64057,$64058,$64059,$64060,$64061,$64062,$64063,$64064),(nextval($64065),$64066,$64067,$64068,$64069,$64070,$64071,$64072,$64073,$64074,$64075,$64076,$64077,$64078),(nextval($64079),$64080,$64081,$64082,$64083,$64084,$64085,$64086,$64087,$64088,$64089,$64090,$64091,$64092),(nextval($64093),$64094,$64095,$64096,$64097,$64098,$64099,$64100,$64101,$64102,$64103,$64104,$64105,$64106),(nextval($64107),$64108,$64109,$64110,$64111,$64112,$64113,$64114,$64115,$64116,$64117,$64118,$64119,$64120),(nextval($64121),$64122,$64123,$64124,$64125,$64126,$64127,$64128,$64129,$64130,$64131,$64132,$64133,$64134),(nextval($64135),$64136,$64137,$64138,$64139,$64140,$64141,$64142,$64143,$64144,$64145,$64146,$64147,$64148),(nextval($64149),$64150,$64151,$64152,$64153,$64154,$64155,$64156,$64157,$64158,$64159,$64160,$64161,$64162),(nextval($64163),$64164,$64165,$64166,$64167,$64168,$64169,$64170,$64171,$64172,$64173,$64174,$64175,$64176),(nextval($64177),$64178,$64179,$64180,$64181,$64182,$64183,$64184,$64185,$64186,$64187,$64188,$64189,$64190),(nextval($64191),$64192,$64193,$64194,$64195,$64196,$64197,$64198,$64199,$64200,$64201,$64202,$64203,$64204),(nextval($64205),$64206,$64207,$64208,$64209,$64210,$64211,$64212,$64213,$64214,$64215,$64216,$64217,$64218),(nextval($64219),$64220,$64221,$64222,$64223,$64224,$64225,$64226,$64227,$64228,$64229,$64230,$64231,$64232),(nextval($64233),$64234,$64235,$64236,$64237,$64238,$64239,$64240,$64241,$64242,$64243,$64244,$64245,$64246),(nextval($64247),$64248,$64249,$64250,$64251,$64252,$64253,$64254,$64255,$64256,$64257,$64258,$64259,$64260),(nextval($64261),$64262,$64263,$64264,$64265,$64266,$64267,$64268,$64269,$64270,$64271,$64272,$64273,$64274),(nextval($64275),$64276,$64277,$64278,$64279,$64280,$64281,$64282,$64283,$64284,$64285,$64286,$64287,$64288),(nextval($64289),$64290,$64291,$64292,$64293,$64294,$64295,$64296,$64297,$64298,$64299,$64300,$64301,$64302),(nextval($64303),$64304,$64305,$64306,$64307,$64308,$64309,$64310,$64311,$64312,$64313,$64314,$64315,$64316),(nextval($64317),$64318,$64319,$64320,$64321,$64322,$64323,$64324,$64325,$64326,$64327,$64328,$64329,$64330),(nextval($64331),$64332,$64333,$64334,$64335,$64336,$64337,$64338,$64339,$64340,$64341,$64342,$64343,$64344),(nextval($64345),$64346,$64347,$64348,$64349,$64350,$64351,$64352,$64353,$64354,$64355,$64356,$64357,$64358),(nextval($64359),$64360,$64361,$64362,$64363,$64364,$64365,$64366,$64367,$64368,$64369,$64370,$64371,$64372),(nextval($64373),$64374,$64375,$64376,$64377,$64378,$64379,$64380,$64381,$64382,$64383,$64384,$64385,$64386),(nextval($64387),$64388,$64389,$64390,$64391,$64392,$64393,$64394,$64395,$64396,$64397,$64398,$64399,$64400),(nextval($64401),$64402,$64403,$64404,$64405,$64406,$64407,$64408,$64409,$64410,$64411,$64412,$64413,$64414),(nextval($64415),$64416,$64417,$64418,$64419,$64420,$64421,$64422,$64423,$64424,$64425,$64426,$64427,$64428),(nextval($64429),$64430,$64431,$64432,$64433,$64434,$64435,$64436,$64437,$64438,$64439,$64440,$64441,$64442),(nextval($64443),$64444,$64445,$64446,$64447,$64448,$64449,$64450,$64451,$64452,$64453,$64454,$64455,$64456),(nextval($64457),$64458,$64459,$64460,$64461,$64462,$64463,$64464,$64465,$64466,$64467,$64468,$64469,$64470),(nextval($64471),$64472,$64473,$64474,$64475,$64476,$64477,$64478,$64479,$64480,$64481,$64482,$64483,$64484),(nextval($64485),$64486,$64487,$64488,$64489,$64490,$64491,$64492,$64493,$64494,$64495,$64496,$64497,$64498),(nextval($64499),$64500,$64501,$64502,$64503,$64504,$64505,$64506,$64507,$64508,$64509,$64510,$64511,$64512),(nextval($64513),$64514,$64515,$64516,$64517,$64518,$64519,$64520,$64521,$64522,$64523,$64524,$64525,$64526),(nextval($64527),$64528,$64529,$64530,$64531,$64532,$64533,$64534,$64535,$64536,$64537,$64538,$64539,$64540),(nextval($64541),$64542,$64543,$64544,$64545,$64546,$64547,$64548,$64549,$64550,$64551,$64552,$64553,$64554),(nextval($64555),$64556,$64557,$64558,$64559,$64560,$64561,$64562,$64563,$64564,$64565,$64566,$64567,$64568),(nextval($64569),$64570,$64571,$64572,$64573,$64574,$64575,$64576,$64577,$64578,$64579,$64580,$64581,$64582),(nextval($64583),$64584,$64585,$64586,$64587,$64588,$64589,$64590,$64591,$64592,$64593,$64594,$64595,$64596),(nextval($64597),$64598,$64599,$64600,$64601,$64602,$64603,$64604,$64605,$64606,$64607,$64608,$64609,$64610),(nextval($64611),$64612,$64613,$64614,$64615,$64616,$64617,$64618,$64619,$64620,$64621,$64622,$64623,$64624),(nextval($64625),$64626,$64627,$64628,$64629,$64630,$64631,$64632,$64633,$64634,$64635,$64636,$64637,$64638),(nextval($64639),$64640,$64641,$64642,$64643,$64644,$64645,$64646,$64647,$64648,$64649,$64650,$64651,$64652),(nextval($64653),$64654,$64655,$64656,$64657,$64658,$64659,$64660,$64661,$64662,$64663,$64664,$64665,$64666),(nextval($64667),$64668,$64669,$64670,$64671,$64672,$64673,$64674,$64675,$64676,$64677,$64678,$64679,$64680),(nextval($64681),$64682,$64683,$64684,$64685,$64686,$64687,$64688,$64689,$64690,$64691,$64692,$64693,$64694),(nextval($64695),$64696,$64697,$64698,$64699,$64700,$64701,$64702,$64703,$64704,$64705,$64706,$64707,$64708),(nextval($64709),$64710,$64711,$64712,$64713,$64714,$64715,$64716,$64717,$64718,$64719,$64720,$64721,$64722),(nextval($64723),$64724,$64725,$64726,$64727,$64728,$64729,$64730,$64731,$64732,$64733,$64734,$64735,$64736),(nextval($64737),$64738,$64739,$64740,$64741,$64742,$64743,$64744,$64745,$64746,$64747,$64748,$64749,$64750),(nextval($64751),$64752,$64753,$64754,$64755,$64756,$64757,$64758,$64759,$64760,$64761,$64762,$64763,$64764),(nextval($64765),$64766,$64767,$64768,$64769,$64770,$64771,$64772,$64773,$64774,$64775,$64776,$64777,$64778),(nextval($64779),$64780,$64781,$64782,$64783,$64784,$64785,$64786,$64787,$64788,$64789,$64790,$64791,$64792),(nextval($64793),$64794,$64795,$64796,$64797,$64798,$64799,$64800,$64801,$64802,$64803,$64804,$64805,$64806),(nextval($64807),$64808,$64809,$64810,$64811,$64812,$64813,$64814,$64815,$64816,$64817,$64818,$64819,$64820),(nextval($64821),$64822,$64823,$64824,$64825,$64826,$64827,$64828,$64829,$64830,$64831,$64832,$64833,$64834),(nextval($64835),$64836,$64837,$64838,$64839,$64840,$64841,$64842,$64843,$64844,$64845,$64846,$64847,$64848),(nextval($64849),$64850,$64851,$64852,$64853,$64854,$64855,$64856,$64857,$64858,$64859,$64860,$64861,$64862),(nextval($64863),$64864,$64865,$64866,$64867,$64868,$64869,$64870,$64871,$64872,$64873,$64874,$64875,$64876),(nextval($64877),$64878,$64879,$64880,$64881,$64882,$64883,$64884,$64885,$64886,$64887,$64888,$64889,$64890),(nextval($64891),$64892,$64893,$64894,$64895,$64896,$64897,$64898,$64899,$64900,$64901,$64902,$64903,$64904),(nextval($64905),$64906,$64907,$64908,$64909,$64910,$64911,$64912,$64913,$64914,$64915,$64916,$64917,$64918),(nextval($64919),$64920,$64921,$64922,$64923,$64924,$64925,$64926,$64927,$64928,$64929,$64930,$64931,$64932),(nextval($64933),$64934,$64935,$64936,$64937,$64938,$64939,$64940,$64941,$64942,$64943,$64944,$64945,$64946),(nextval($64947),$64948,$64949,$64950,$64951,$64952,$64953,$64954,$64955,$64956,$64957,$64958,$64959,$64960),(nextval($64961),$64962,$64963,$64964,$64965,$64966,$64967,$64968,$64969,$64970,$64971,$64972,$64973,$64974),(nextval($64975),$64976,$64977,$64978,$64979,$64980,$64981,$64982,$64983,$64984,$64985,$64986,$64987,$64988),(nextval($64989),$64990,$64991,$64992,$64993,$64994,$64995,$64996,$64997,$64998,$64999,$65000,$65001,$65002),(nextval($65003),$65004,$65005,$65006,$65007,$65008,$65009,$65010,$65011,$65012,$65013,$65014,$65015,$65016),(nextval($65017),$65018,$65019,$65020,$65021,$65022,$65023,$65024,$65025,$65026,$65027,$65028,$65029,$65030),(nextval($65031),$65032,$65033,$65034,$65035,$65036,$65037,$65038,$65039,$65040,$65041,$65042,$65043,$65044),(nextval($65045),$65046,$65047,$65048,$65049,$65050,$65051,$65052,$65053,$65054,$65055,$65056,$65057,$65058),(nextval($65059),$65060,$65061,$65062,$65063,$65064,$65065,$65066,$65067,$65068,$65069,$65070,$65071,$65072),(nextval($65073),$65074,$65075,$65076,$65077,$65078,$65079,$65080,$65081,$65082,$65083,$65084,$65085,$65086),(nextval($65087),$65088,$65089,$65090,$65091,$65092,$65093,$65094,$65095,$65096,$65097,$65098,$65099,$65100),(nextval($65101),$65102,$65103,$65104,$65105,$65106,$65107,$65108,$65109,$65110,$65111,$65112,$65113,$65114),(nextval($65115),$65116,$65117,$65118,$65119,$65120,$65121,$65122,$65123,$65124,$65125,$65126,$65127,$65128),(nextval($65129),$65130,$65131,$65132,$65133,$65134,$65135,$65136,$65137,$65138,$65139,$65140,$65141,$65142),(nextval($65143),$65144,$65145,$65146,$65147,$65148,$65149,$65150,$65151,$65152,$65153,$65154,$65155,$65156),(nextval($65157),$65158,$65159,$65160,$65161,$65162,$65163,$65164,$65165,$65166,$65167,$65168,$65169,$65170),(nextval($65171),$65172,$65173,$65174,$65175,$65176,$65177,$65178,$65179,$65180,$65181,$65182,$65183,$65184),(nextval($65185),$65186,$65187,$65188,$65189,$65190,$65191,$65192,$65193,$65194,$65195,$65196,$65197,$65198),(nextval($65199),$65200,$65201,$65202,$65203,$65204,$65205,$65206,$65207,$65208,$65209,$65210,$65211,$65212),(nextval($65213),$65214,$65215,$65216,$65217,$65218,$65219,$65220,$65221,$65222,$65223,$65224,$65225,$65226),(nextval($65227),$65228,$65229,$65230,$65231,$65232,$65233,$65234,$65235,$65236,$65237,$65238,$65239,$65240),(nextval($65241),$65242,$65243,$65244,$65245,$65246,$65247,$65248,$65249,$65250,$65251,$65252,$65253,$65254),(nextval($65255),$65256,$65257,$65258,$65259,$65260,$65261,$65262,$65263,$65264,$65265,$65266,$65267,$65268),(nextval($65269),$65270,$65271,$65272,$65273,$65274,$65275,$65276,$65277,$65278,$65279,$65280,$65281,$65282),(nextval($65283),$65284,$65285,$65286,$65287,$65288,$65289,$65290,$65291,$65292,$65293,$65294,$65295,$65296),(nextval($65297),$65298,$65299,$65300,$65301,$65302,$65303,$65304,$65305,$65306,$65307,$65308,$65309,$65310),(nextval($65311),$65312,$65313,$65314,$65315,$65316,$65317,$65318,$65319,$65320,$65321,$65322,$65323,$65324),(nextval($65325),$65326,$65327,$65328,$65329,$65330,$65331,$65332,$65333,$65334,$65335,$65336,$65337,$65338),(nextval($65339),$65340,$65341,$65342,$65343,$65344,$65345,$65346,$65347,$65348,$65349,$65350,$65351,$65352),(nextval($65353),$65354,$65355,$65356,$65357,$65358,$65359,$65360,$65361,$65362,$65363,$65364,$65365,$65366),(nextval($65367),$65368,$65369,$65370,$65371,$65372,$65373,$65374,$65375,$65376,$65377,$65378,$65379,$65380),(nextval($65381),$65382,$65383,$65384,$65385,$65386,$65387,$65388,$65389,$65390,$65391,$65392,$65393,$65394),(nextval($65395),$65396,$65397,$65398,$65399,$65400,$65401,$65402,$65403,$65404,$65405,$65406,$65407,$65408),(nextval($65409),$65410,$65411,$65412,$65413,$65414,$65415,$65416,$65417,$65418,$65419,$65420,$65421,$65422),(nextval($65423),$65424,$65425,$65426,$65427,$65428,$65429,$65430,$65431,$65432,$65433,$65434,$65435,$65436),(nextval($65437),$65438,$65439,$65440,$65441,$65442,$65443,$65444,$65445,$65446,$65447,$65448,$65449,$65450),(nextval($65451),$65452,$65453,$65454,$65455,$65456,$65457,$65458,$65459,$65460,$65461,$65462,$65463,$65464),(nextval($65465),$65466,$65467,$65468,$65469,$65470,$65471,$65472,$65473,$65474,$65475,$65476,$65477,$65478),(nextval($65479),$65480,$65481,$65482,$65483,$65484,$65485,$65486,$65487,$65488,$65489,$65490,$65491,$65492),(nextval($65493),$65494,$65495,$65496,$65497,$65498,$65499,$65500,$65501,$65502,$65503,$65504,$65505,$65506),(nextval($65507),$65508,$65509,$65510,$65511,$65512,$65513,$65514,$65515,$65516,$65517,$65518,$65519,$65520),(nextval($65521),$65522,$65523,$65524,$65525,$65526,$65527,$65528,$65529,$65530,$65531,$65532,$65533,$65534),(nextval($65535),$65536,$65537,$65538,$65539,$65540,$65541,$65542,$65543,$65544,$65545,$65546,$65547,$65548),(nextval($65549),$65550,$65551,$65552,$65553,$65554,$65555,$65556,$65557,$65558,$65559,$65560,$65561,$65562),(nextval($65563),$65564,$65565,$65566,$65567,$65568,$65569,$65570,$65571,$65572,$65573,$65574,$65575,$65576),(nextval($65577),$65578,$65579,$65580,$65581,$65582,$65583,$65584,$65585,$65586,$65587,$65588,$65589,$65590),(nextval($65591),$65592,$65593,$65594,$65595,$65596,$65597,$65598,$65599,$65600,$65601,$65602,$65603,$65604),(nextval($65605),$65606,$65607,$65608,$65609,$65610,$65611,$65612,$65613,$65614,$65615,$65616,$65617,$65618),(nextval($65619),$65620,$65621,$65622,$65623,$65624,$65625,$65626,$65627,$65628,$65629,$65630,$65631,$65632),(nextval($65633),$65634,$65635,$65636,$65637,$65638,$65639,$65640,$65641,$65642,$65643,$65644,$65645,$65646),(nextval($65647),$65648,$65649,$65650,$65651,$65652,$65653,$65654,$65655,$65656,$65657,$65658,$65659,$65660),(nextval($65661),$65662,$65663,$65664,$65665,$65666,$65667,$65668,$65669,$65670,$65671,$65672,$65673,$65674),(nextval($65675),$65676,$65677,$65678,$65679,$65680,$65681,$65682,$65683,$65684,$65685,$65686,$65687,$65688),(nextval($65689),$65690,$65691,$65692,$65693,$65694,$65695,$65696,$65697,$65698,$65699,$65700,$65701,$65702),(nextval($65703),$65704,$65705,$65706,$65707,$65708,$65709,$65710,$65711,$65712,$65713,$65714,$65715,$65716),(nextval($65717),$65718,$65719,$65720,$65721,$65722,$65723,$65724,$65725,$65726,$65727,$65728,$65729,$65730),(nextval($65731),$65732,$65733,$65734,$65735,$65736,$65737,$65738,$65739,$65740,$65741,$65742,$65743,$65744),(nextval($65745),$65746,$65747,$65748,$65749,$65750,$65751,$65752,$65753,$65754,$65755,$65756,$65757,$65758),(nextval($65759),$65760,$65761,$65762,$65763,$65764,$65765,$65766,$65767,$65768,$65769,$65770,$65771,$65772),(nextval($65773),$65774,$65775,$65776,$65777,$65778,$65779,$65780,$65781,$65782,$65783,$65784,$65785,$65786),(nextval($65787),$65788,$65789,$65790,$65791,$65792,$65793,$65794,$65795,$65796,$65797,$65798,$65799,$65800),(nextval($65801),$65802,$65803,$65804,$65805,$65806,$65807,$65808,$65809,$65810,$65811,$65812,$65813,$65814),(nextval($65815),$65816,$65817,$65818,$65819,$65820,$65821,$65822,$65823,$65824,$65825,$65826,$65827,$65828),(nextval($65829),$65830,$65831,$65832,$65833,$65834,$65835,$65836,$65837,$65838,$65839,$65840,$65841,$65842),(nextval($65843),$65844,$65845,$65846,$65847,$65848,$65849,$65850,$65851,$65852,$65853,$65854,$65855,$65856),(nextval($65857),$65858,$65859,$65860,$65861,$65862,$65863,$65864,$65865,$65866,$65867,$65868,$65869,$65870),(nextval($65871),$65872,$65873,$65874,$65875,$65876,$65877,$65878,$65879,$65880,$65881,$65882,$65883,$65884),(nextval($65885),$65886,$65887,$65888,$65889,$65890,$65891,$65892,$65893,$65894,$65895,$65896,$65897,$65898),(nextval($65899),$65900,$65901,$65902,$65903,$65904,$65905,$65906,$65907,$65908,$65909,$65910,$65911,$65912),(nextval($65913),$65914,$65915,$65916,$65917,$65918,$65919,$65920,$65921,$65922,$65923,$65924,$65925,$65926),(nextval($65927),$65928,$65929,$65930,$65931,$65932,$65933,$65934,$65935,$65936,$65937,$65938,$65939,$65940),(nextval($65941),$65942,$65943,$65944,$65945,$65946,$65947,$65948,$65949,$65950,$65951,$65952,$65953,$65954),(nextval($65955),$65956,$65957,$65958,$65959,$65960,$65961,$65962,$65963,$65964,$65965,$65966,$65967,$65968),(nextval($65969),$65970,$65971,$65972,$65973,$65974,$65975,$65976,$65977,$65978,$65979,$65980,$65981,$65982),(nextval($65983),$65984,$65985,$65986,$65987,$65988,$65989,$65990,$65991,$65992,$65993,$65994,$65995,$65996),(nextval($65997),$65998,$65999,$66000,$66001,$66002,$66003,$66004,$66005,$66006,$66007,$66008,$66009,$66010),(nextval($66011),$66012,$66013,$66014,$66015,$66016,$66017,$66018,$66019,$66020,$66021,$66022,$66023,$66024),(nextval($66025),$66026,$66027,$66028,$66029,$66030,$66031,$66032,$66033,$66034,$66035,$66036,$66037,$66038),(nextval($66039),$66040,$66041,$66042,$66043,$66044,$66045,$66046,$66047,$66048,$66049,$66050,$66051,$66052),(nextval($66053),$66054,$66055,$66056,$66057,$66058,$66059,$66060,$66061,$66062,$66063,$66064,$66065,$66066),(nextval($66067),$66068,$66069,$66070,$66071,$66072,$66073,$66074,$66075,$66076,$66077,$66078,$66079,$66080),(nextval($66081),$66082,$66083,$66084,$66085,$66086,$66087,$66088,$66089,$66090,$66091,$66092,$66093,$66094),(nextval($66095),$66096,$66097,$66098,$66099,$66100,$66101,$66102,$66103,$66104,$66105,$66106,$66107,$66108),(nextval($66109),$66110,$66111,$66112,$66113,$66114,$66115,$66116,$66117,$66118,$66119,$66120,$66121,$66122),(nextval($66123),$66124,$66125,$66126,$66127,$66128,$66129,$66130,$66131,$66132,$66133,$66134,$66135,$66136),(nextval($66137),$66138,$66139,$66140,$66141,$66142,$66143,$66144,$66145,$66146,$66147,$66148,$66149,$66150),(nextval($66151),$66152,$66153,$66154,$66155,$66156,$66157,$66158,$66159,$66160,$66161,$66162,$66163,$66164),(nextval($66165),$66166,$66167,$66168,$66169,$66170,$66171,$66172,$66173,$66174,$66175,$66176,$66177,$66178),(nextval($66179),$66180,$66181,$66182,$66183,$66184,$66185,$66186,$66187,$66188,$66189,$66190,$66191,$66192),(nextval($66193),$66194,$66195,$66196,$66197,$66198,$66199,$66200,$66201,$66202,$66203,$66204,$66205,$66206),(nextval($66207),$66208,$66209,$66210,$66211,$66212,$66213,$66214,$66215,$66216,$66217,$66218,$66219,$66220),(nextval($66221),$66222,$66223,$66224,$66225,$66226,$66227,$66228,$66229,$66230,$66231,$66232,$66233,$66234),(nextval($66235),$66236,$66237,$66238,$66239,$66240,$66241,$66242,$66243,$66244,$66245,$66246,$66247,$66248),(nextval($66249),$66250,$66251,$66252,$66253,$66254,$66255,$66256,$66257,$66258,$66259,$66260,$66261,$66262),(nextval($66263),$66264,$66265,$66266,$66267,$66268,$66269,$66270,$66271,$66272,$66273,$66274,$66275,$66276),(nextval($66277),$66278,$66279,$66280,$66281,$66282,$66283,$66284,$66285,$66286,$66287,$66288,$66289,$66290),(nextval($66291),$66292,$66293,$66294,$66295,$66296,$66297,$66298,$66299,$66300,$66301,$66302,$66303,$66304),(nextval($66305),$66306,$66307,$66308,$66309,$66310,$66311,$66312,$66313,$66314,$66315,$66316,$66317,$66318),(nextval($66319),$66320,$66321,$66322,$66323,$66324,$66325,$66326,$66327,$66328,$66329,$66330,$66331,$66332),(nextval($66333),$66334,$66335,$66336,$66337,$66338,$66339,$66340,$66341,$66342,$66343,$66344,$66345,$66346),(nextval($66347),$66348,$66349,$66350,$66351,$66352,$66353,$66354,$66355,$66356,$66357,$66358,$66359,$66360),(nextval($66361),$66362,$66363,$66364,$66365,$66366,$66367,$66368,$66369,$66370,$66371,$66372,$66373,$66374),(nextval($66375),$66376,$66377,$66378,$66379,$66380,$66381,$66382,$66383,$66384,$66385,$66386,$66387,$66388),(nextval($66389),$66390,$66391,$66392,$66393,$66394,$66395,$66396,$66397,$66398,$66399,$66400,$66401,$66402),(nextval($66403),$66404,$66405,$66406,$66407,$66408,$66409,$66410,$66411,$66412,$66413,$66414,$66415,$66416),(nextval($66417),$66418,$66419,$66420,$66421,$66422,$66423,$66424,$66425,$66426,$66427,$66428,$66429,$66430),(nextval($66431),$66432,$66433,$66434,$66435,$66436,$66437,$66438,$66439,$66440,$66441,$66442,$66443,$66444),(nextval($66445),$66446,$66447,$66448,$66449,$66450,$66451,$66452,$66453,$66454,$66455,$66456,$66457,$66458),(nextval($66459),$66460,$66461,$66462,$66463,$66464,$66465,$66466,$66467,$66468,$66469,$66470,$66471,$66472),(nextval($66473),$66474,$66475,$66476,$66477,$66478,$66479,$66480,$66481,$66482,$66483,$66484,$66485,$66486),(nextval($66487),$66488,$66489,$66490,$66491,$66492,$66493,$66494,$66495,$66496,$66497,$66498,$66499,$66500),(nextval($66501),$66502,$66503,$66504,$66505,$66506,$66507,$66508,$66509,$66510,$66511,$66512,$66513,$66514),(nextval($66515),$66516,$66517,$66518,$66519,$66520,$66521,$66522,$66523,$66524,$66525,$66526,$66527,$66528),(nextval($66529),$66530,$66531,$66532,$66533,$66534,$66535,$66536,$66537,$66538,$66539,$66540,$66541,$66542),(nextval($66543),$66544,$66545,$66546,$66547,$66548,$66549,$66550,$66551,$66552,$66553,$66554,$66555,$66556),(nextval($66557),$66558,$66559,$66560,$66561,$66562,$66563,$66564,$66565,$66566,$66567,$66568,$66569,$66570),(nextval($66571),$66572,$66573,$66574,$66575,$66576,$66577,$66578,$66579,$66580,$66581,$66582,$66583,$66584),(nextval($66585),$66586,$66587,$66588,$66589,$66590,$66591,$66592,$66593,$66594,$66595,$66596,$66597,$66598),(nextval($66599),$66600,$66601,$66602,$66603,$66604,$66605,$66606,$66607,$66608,$66609,$66610,$66611,$66612),(nextval($66613),$66614,$66615,$66616,$66617,$66618,$66619,$66620,$66621,$66622,$66623,$66624,$66625,$66626),(nextval($66627),$66628,$66629,$66630,$66631,$66632,$66633,$66634,$66635,$66636,$66637,$66638,$66639,$66640),(nextval($66641),$66642,$66643,$66644,$66645,$66646,$66647,$66648,$66649,$66650,$66651,$66652,$66653,$66654),(nextval($66655),$66656,$66657,$66658,$66659,$66660,$66661,$66662,$66663,$66664,$66665,$66666,$66667,$66668),(nextval($66669),$66670,$66671,$66672,$66673,$66674,$66675,$66676,$66677,$66678,$66679,$66680,$66681,$66682),(nextval($66683),$66684,$66685,$66686,$66687,$66688,$66689,$66690,$66691,$66692,$66693,$66694,$66695,$66696),(nextval($66697),$66698,$66699,$66700,$66701,$66702,$66703,$66704,$66705,$66706,$66707,$66708,$66709,$66710),(nextval($66711),$66712,$66713,$66714,$66715,$66716,$66717,$66718,$66719,$66720,$66721,$66722,$66723,$66724),(nextval($66725),$66726,$66727,$66728,$66729,$66730,$66731,$66732,$66733,$66734,$66735,$66736,$66737,$66738),(nextval($66739),$66740,$66741,$66742,$66743,$66744,$66745,$66746,$66747,$66748,$66749,$66750,$66751,$66752),(nextval($66753),$66754,$66755,$66756,$66757,$66758,$66759,$66760,$66761,$66762,$66763,$66764,$66765,$66766),(nextval($66767),$66768,$66769,$66770,$66771,$66772,$66773,$66774,$66775,$66776,$66777,$66778,$66779,$66780),(nextval($66781),$66782,$66783,$66784,$66785,$66786,$66787,$66788,$66789,$66790,$66791,$66792,$66793,$66794),(nextval($66795),$66796,$66797,$66798,$66799,$66800,$66801,$66802,$66803,$66804,$66805,$66806,$66807,$66808),(nextval($66809),$66810,$66811,$66812,$66813,$66814,$66815,$66816,$66817,$66818,$66819,$66820,$66821,$66822),(nextval($66823),$66824,$66825,$66826,$66827,$66828,$66829,$66830,$66831,$66832,$66833,$66834,$66835,$66836),(nextval($66837),$66838,$66839,$66840,$66841,$66842,$66843,$66844,$66845,$66846,$66847,$66848,$66849,$66850),(nextval($66851),$66852,$66853,$66854,$66855,$66856,$66857,$66858,$66859,$66860,$66861,$66862,$66863,$66864),(nextval($66865),$66866,$66867,$66868,$66869,$66870,$66871,$66872,$66873,$66874,$66875,$66876,$66877,$66878),(nextval($66879),$66880,$66881,$66882,$66883,$66884,$66885,$66886,$66887,$66888,$66889,$66890,$66891,$66892),(nextval($66893),$66894,$66895,$66896,$66897,$66898,$66899,$66900,$66901,$66902,$66903,$66904,$66905,$66906),(nextval($66907),$66908,$66909,$66910,$66911,$66912,$66913,$66914,$66915,$66916,$66917,$66918,$66919,$66920),(nextval($66921),$66922,$66923,$66924,$66925,$66926,$66927,$66928,$66929,$66930,$66931,$66932,$66933,$66934),(nextval($66935),$66936,$66937,$66938,$66939,$66940,$66941,$66942,$66943,$66944,$66945,$66946,$66947,$66948),(nextval($66949),$66950,$66951,$66952,$66953,$66954,$66955,$66956,$66957,$66958,$66959,$66960,$66961,$66962),(nextval($66963),$66964,$66965,$66966,$66967,$66968,$66969,$66970,$66971,$66972,$66973,$66974,$66975,$66976),(nextval($66977),$66978,$66979,$66980,$66981,$66982,$66983,$66984,$66985,$66986,$66987,$66988,$66989,$66990),(nextval($66991),$66992,$66993,$66994,$66995,$66996,$66997,$66998,$66999,$67000,$67001,$67002,$67003,$67004),(nextval($67005),$67006,$67007,$67008,$67009,$67010,$67011,$67012,$67013,$67014,$67015,$67016,$67017,$67018),(nextval($67019),$67020,$67021,$67022,$67023,$67024,$67025,$67026,$67027,$67028,$67029,$67030,$67031,$67032),(nextval($67033),$67034,$67035,$67036,$67037,$67038,$67039,$67040,$67041,$67042,$67043,$67044,$67045,$67046),(nextval($67047),$67048,$67049,$67050,$67051,$67052,$67053,$67054,$67055,$67056,$67057,$67058,$67059,$67060),(nextval($67061),$67062,$67063,$67064,$67065,$67066,$67067,$67068,$67069,$67070,$67071,$67072,$67073,$67074),(nextval($67075),$67076,$67077,$67078,$67079,$67080,$67081,$67082,$67083,$67084,$67085,$67086,$67087,$67088),(nextval($67089),$67090,$67091,$67092,$67093,$67094,$67095,$67096,$67097,$67098,$67099,$67100,$67101,$67102),(nextval($67103),$67104,$67105,$67106,$67107,$67108,$67109,$67110,$67111,$67112,$67113,$67114,$67115,$67116),(nextval($67117),$67118,$67119,$67120,$67121,$67122,$67123,$67124,$67125,$67126,$67127,$67128,$67129,$67130),(nextval($67131),$67132,$67133,$67134,$67135,$67136,$67137,$67138,$67139,$67140,$67141,$67142,$67143,$67144),(nextval($67145),$67146,$67147,$67148,$67149,$67150,$67151,$67152,$67153,$67154,$67155,$67156,$67157,$67158),(nextval($67159),$67160,$67161,$67162,$67163,$67164,$67165,$67166,$67167,$67168,$67169,$67170,$67171,$67172),(nextval($67173),$67174,$67175,$67176,$67177,$67178,$67179,$67180,$67181,$67182,$67183,$67184,$67185,$67186),(nextval($67187),$67188,$67189,$67190,$67191,$67192,$67193,$67194,$67195,$67196,$67197,$67198,$67199,$67200),(nextval($67201),$67202,$67203,$67204,$67205,$67206,$67207,$67208,$67209,$67210,$67211,$67212,$67213,$67214),(nextval($67215),$67216,$67217,$67218,$67219,$67220,$67221,$67222,$67223,$67224,$67225,$67226,$67227,$67228),(nextval($67229),$67230,$67231,$67232,$67233,$67234,$67235,$67236,$67237,$67238,$67239,$67240,$67241,$67242),(nextval($67243),$67244,$67245,$67246,$67247,$67248,$67249,$67250,$67251,$67252,$67253,$67254,$67255,$67256),(nextval($67257),$67258,$67259,$67260,$67261,$67262,$67263,$67264,$67265,$67266,$67267,$67268,$67269,$67270),(nextval($67271),$67272,$67273,$67274,$67275,$67276,$67277,$67278,$67279,$67280,$67281,$67282,$67283,$67284),(nextval($67285),$67286,$67287,$67288,$67289,$67290,$67291,$67292,$67293,$67294,$67295,$67296,$67297,$67298),(nextval($67299),$67300,$67301,$67302,$67303,$67304,$67305,$67306,$67307,$67308,$67309,$67310,$67311,$67312),(nextval($67313),$67314,$67315,$67316,$67317,$67318,$67319,$67320,$67321,$67322,$67323,$67324,$67325,$67326),(nextval($67327),$67328,$67329,$67330,$67331,$67332,$67333,$67334,$67335,$67336,$67337,$67338,$67339,$67340),(nextval($67341),$67342,$67343,$67344,$67345,$67346,$67347,$67348,$67349,$67350,$67351,$67352,$67353,$67354),(nextval($67355),$67356,$67357,$67358,$67359,$67360,$67361,$67362,$67363,$67364,$67365,$67366,$67367,$67368),(nextval($67369),$67370,$67371,$67372,$67373,$67374,$67375,$67376,$67377,$67378,$67379,$67380,$67381,$67382),(nextval($67383),$67384,$67385,$67386,$67387,$67388,$67389,$67390,$67391,$67392,$67393,$67394,$67395,$67396),(nextval($67397),$67398,$67399,$67400,$67401,$67402,$67403,$67404,$67405,$67406,$67407,$67408,$67409,$67410),(nextval($67411),$67412,$67413,$67414,$67415,$67416,$67417,$67418,$67419,$67420,$67421,$67422,$67423,$67424),(nextval($67425),$67426,$67427,$67428,$67429,$67430,$67431,$67432,$67433,$67434,$67435,$67436,$67437,$67438),(nextval($67439),$67440,$67441,$67442,$67443,$67444,$67445,$67446,$67447,$67448,$67449,$67450,$67451,$67452),(nextval($67453),$67454,$67455,$67456,$67457,$67458,$67459,$67460,$67461,$67462,$67463,$67464,$67465,$67466),(nextval($67467),$67468,$67469,$67470,$67471,$67472,$67473,$67474,$67475,$67476,$67477,$67478,$67479,$67480),(nextval($67481),$67482,$67483,$67484,$67485,$67486,$67487,$67488,$67489,$67490,$67491,$67492,$67493,$67494),(nextval($67495),$67496,$67497,$67498,$67499,$67500,$67501,$67502,$67503,$67504,$67505,$67506,$67507,$67508),(nextval($67509),$67510,$67511,$67512,$67513,$67514,$67515,$67516,$67517,$67518,$67519,$67520,$67521,$67522),(nextval($67523),$67524,$67525,$67526,$67527,$67528,$67529,$67530,$67531,$67532,$67533,$67534,$67535,$67536),(nextval($67537),$67538,$67539,$67540,$67541,$67542,$67543,$67544,$67545,$67546,$67547,$67548,$67549,$67550),(nextval($67551),$67552,$67553,$67554,$67555,$67556,$67557,$67558,$67559,$67560,$67561,$67562,$67563,$67564),(nextval($67565),$67566,$67567,$67568,$67569,$67570,$67571,$67572,$67573,$67574,$67575,$67576,$67577,$67578),(nextval($67579),$67580,$67581,$67582,$67583,$67584,$67585,$67586,$67587,$67588,$67589,$67590,$67591,$67592),(nextval($67593),$67594,$67595,$67596,$67597,$67598,$67599,$67600,$67601,$67602,$67603,$67604,$67605,$67606),(nextval($67607),$67608,$67609,$67610,$67611,$67612,$67613,$67614,$67615,$67616,$67617,$67618,$67619,$67620),(nextval($67621),$67622,$67623,$67624,$67625,$67626,$67627,$67628,$67629,$67630,$67631,$67632,$67633,$67634),(nextval($67635),$67636,$67637,$67638,$67639,$67640,$67641,$67642,$67643,$67644,$67645,$67646,$67647,$67648),(nextval($67649),$67650,$67651,$67652,$67653,$67654,$67655,$67656,$67657,$67658,$67659,$67660,$67661,$67662),(nextval($67663),$67664,$67665,$67666,$67667,$67668,$67669,$67670,$67671,$67672,$67673,$67674,$67675,$67676),(nextval($67677),$67678,$67679,$67680,$67681,$67682,$67683,$67684,$67685,$67686,$67687,$67688,$67689,$67690),(nextval($67691),$67692,$67693,$67694,$67695,$67696,$67697,$67698,$67699,$67700,$67701,$67702,$67703,$67704),(nextval($67705),$67706,$67707,$67708,$67709,$67710,$67711,$67712,$67713,$67714,$67715,$67716,$67717,$67718),(nextval($67719),$67720,$67721,$67722,$67723,$67724,$67725,$67726,$67727,$67728,$67729,$67730,$67731,$67732),(nextval($67733),$67734,$67735,$67736,$67737,$67738,$67739,$67740,$67741,$67742,$67743,$67744,$67745,$67746),(nextval($67747),$67748,$67749,$67750,$67751,$67752,$67753,$67754,$67755,$67756,$67757,$67758,$67759,$67760),(nextval($67761),$67762,$67763,$67764,$67765,$67766,$67767,$67768,$67769,$67770,$67771,$67772,$67773,$67774),(nextval($67775),$67776,$67777,$67778,$67779,$67780,$67781,$67782,$67783,$67784,$67785,$67786,$67787,$67788),(nextval($67789),$67790,$67791,$67792,$67793,$67794,$67795,$67796,$67797,$67798,$67799,$67800,$67801,$67802),(nextval($67803),$67804,$67805,$67806,$67807,$67808,$67809,$67810,$67811,$67812,$67813,$67814,$67815,$67816),(nextval($67817),$67818,$67819,$67820,$67821,$67822,$67823,$67824,$67825,$67826,$67827,$67828,$67829,$67830),(nextval($67831),$67832,$67833,$67834,$67835,$67836,$67837,$67838,$67839,$67840,$67841,$67842,$67843,$67844),(nextval($67845),$67846,$67847,$67848,$67849,$67850,$67851,$67852,$67853,$67854,$67855,$67856,$67857,$67858),(nextval($67859),$67860,$67861,$67862,$67863,$67864,$67865,$67866,$67867,$67868,$67869,$67870,$67871,$67872),(nextval($67873),$67874,$67875,$67876,$67877,$67878,$67879,$67880,$67881,$67882,$67883,$67884,$67885,$67886),(nextval($67887),$67888,$67889,$67890,$67891,$67892,$67893,$67894,$67895,$67896,$67897,$67898,$67899,$67900),(nextval($67901),$67902,$67903,$67904,$67905,$67906,$67907,$67908,$67909,$67910,$67911,$67912,$67913,$67914),(nextval($67915),$67916,$67917,$67918,$67919,$67920,$67921,$67922,$67923,$67924,$67925,$67926,$67927,$67928),(nextval($67929),$67930,$67931,$67932,$67933,$67934,$67935,$67936,$67937,$67938,$67939,$67940,$67941,$67942),(nextval($67943),$67944,$67945,$67946,$67947,$67948,$67949,$67950,$67951,$67952,$67953,$67954,$67955,$67956),(nextval($67957),$67958,$67959,$67960,$67961,$67962,$67963,$67964,$67965,$67966,$67967,$67968,$67969,$67970),(nextval($67971),$67972,$67973,$67974,$67975,$67976,$67977,$67978,$67979,$67980,$67981,$67982,$67983,$67984),(nextval($67985),$67986,$67987,$67988,$67989,$67990,$67991,$67992,$67993,$67994,$67995,$67996,$67997,$67998),(nextval($67999),$68000,$68001,$68002,$68003,$68004,$68005,$68006,$68007,$68008,$68009,$68010,$68011,$68012),(nextval($68013),$68014,$68015,$68016,$68017,$68018,$68019,$68020,$68021,$68022,$68023,$68024,$68025,$68026),(nextval($68027),$68028,$68029,$68030,$68031,$68032,$68033,$68034,$68035,$68036,$68037,$68038,$68039,$68040),(nextval($68041),$68042,$68043,$68044,$68045,$68046,$68047,$68048,$68049,$68050,$68051,$68052,$68053,$68054),(nextval($68055),$68056,$68057,$68058,$68059,$68060,$68061,$68062,$68063,$68064,$68065,$68066,$68067,$68068),(nextval($68069),$68070,$68071,$68072,$68073,$68074,$68075,$68076,$68077,$68078,$68079,$68080,$68081,$68082),(nextval($68083),$68084,$68085,$68086,$68087,$68088,$68089,$68090,$68091,$68092,$68093,$68094,$68095,$68096),(nextval($68097),$68098,$68099,$68100,$68101,$68102,$68103,$68104,$68105,$68106,$68107,$68108,$68109,$68110),(nextval($68111),$68112,$68113,$68114,$68115,$68116,$68117,$68118,$68119,$68120,$68121,$68122,$68123,$68124),(nextval($68125),$68126,$68127,$68128,$68129,$68130,$68131,$68132,$68133,$68134,$68135,$68136,$68137,$68138),(nextval($68139),$68140,$68141,$68142,$68143,$68144,$68145,$68146,$68147,$68148,$68149,$68150,$68151,$68152),(nextval($68153),$68154,$68155,$68156,$68157,$68158,$68159,$68160,$68161,$68162,$68163,$68164,$68165,$68166),(nextval($68167),$68168,$68169,$68170,$68171,$68172,$68173,$68174,$68175,$68176,$68177,$68178,$68179,$68180),(nextval($68181),$68182,$68183,$68184,$68185,$68186,$68187,$68188,$68189,$68190,$68191,$68192,$68193,$68194),(nextval($68195),$68196,$68197,$68198,$68199,$68200,$68201,$68202,$68203,$68204,$68205,$68206,$68207,$68208),(nextval($68209),$68210,$68211,$68212,$68213,$68214,$68215,$68216,$68217,$68218,$68219,$68220,$68221,$68222),(nextval($68223),$68224,$68225,$68226,$68227,$68228,$68229,$68230,$68231,$68232,$68233,$68234,$68235,$68236),(nextval($68237),$68238,$68239,$68240,$68241,$68242,$68243,$68244,$68245,$68246,$68247,$68248,$68249,$68250),(nextval($68251),$68252,$68253,$68254,$68255,$68256,$68257,$68258,$68259,$68260,$68261,$68262,$68263,$68264),(nextval($68265),$68266,$68267,$68268,$68269,$68270,$68271,$68272,$68273,$68274,$68275,$68276,$68277,$68278),(nextval($68279),$68280,$68281,$68282,$68283,$68284,$68285,$68286,$68287,$68288,$68289,$68290,$68291,$68292),(nextval($68293),$68294,$68295,$68296,$68297,$68298,$68299,$68300,$68301,$68302,$68303,$68304,$68305,$68306),(nextval($68307),$68308,$68309,$68310,$68311,$68312,$68313,$68314,$68315,$68316,$68317,$68318,$68319,$68320),(nextval($68321),$68322,$68323,$68324,$68325,$68326,$68327,$68328,$68329,$68330,$68331,$68332,$68333,$68334),(nextval($68335),$68336,$68337,$68338,$68339,$68340,$68341,$68342,$68343,$68344,$68345,$68346,$68347,$68348),(nextval($68349),$68350,$68351,$68352,$68353,$68354,$68355,$68356,$68357,$68358,$68359,$68360,$68361,$68362),(nextval($68363),$68364,$68365,$68366,$68367,$68368,$68369,$68370,$68371,$68372,$68373,$68374,$68375,$68376),(nextval($68377),$68378,$68379,$68380,$68381,$68382,$68383,$68384,$68385,$68386,$68387,$68388,$68389,$68390),(nextval($68391),$68392,$68393,$68394,$68395,$68396,$68397,$68398,$68399,$68400,$68401,$68402,$68403,$68404),(nextval($68405),$68406,$68407,$68408,$68409,$68410,$68411,$68412,$68413,$68414,$68415,$68416,$68417,$68418),(nextval($68419),$68420,$68421,$68422,$68423,$68424,$68425,$68426,$68427,$68428,$68429,$68430,$68431,$68432),(nextval($68433),$68434,$68435,$68436,$68437,$68438,$68439,$68440,$68441,$68442,$68443,$68444,$68445,$68446),(nextval($68447),$68448,$68449,$68450,$68451,$68452,$68453,$68454,$68455,$68456,$68457,$68458,$68459,$68460),(nextval($68461),$68462,$68463,$68464,$68465,$68466,$68467,$68468,$68469,$68470,$68471,$68472,$68473,$68474),(nextval($68475),$68476,$68477,$68478,$68479,$68480,$68481,$68482,$68483,$68484,$68485,$68486,$68487,$68488),(nextval($68489),$68490,$68491,$68492,$68493,$68494,$68495,$68496,$68497,$68498,$68499,$68500,$68501,$68502),(nextval($68503),$68504,$68505,$68506,$68507,$68508,$68509,$68510,$68511,$68512,$68513,$68514,$68515,$68516),(nextval($68517),$68518,$68519,$68520,$68521,$68522,$68523,$68524,$68525,$68526,$68527,$68528,$68529,$68530),(nextval($68531),$68532,$68533,$68534,$68535,$68536,$68537,$68538,$68539,$68540,$68541,$68542,$68543,$68544),(nextval($68545),$68546,$68547,$68548,$68549,$68550,$68551,$68552,$68553,$68554,$68555,$68556,$68557,$68558),(nextval($68559),$68560,$68561,$68562,$68563,$68564,$68565,$68566,$68567,$68568,$68569,$68570,$68571,$68572),(nextval($68573),$68574,$68575,$68576,$68577,$68578,$68579,$68580,$68581,$68582,$68583,$68584,$68585,$68586),(nextval($68587),$68588,$68589,$68590,$68591,$68592,$68593,$68594,$68595,$68596,$68597,$68598,$68599,$68600),(nextval($68601),$68602,$68603,$68604,$68605,$68606,$68607,$68608,$68609,$68610,$68611,$68612,$68613,$68614),(nextval($68615),$68616,$68617,$68618,$68619,$68620,$68621,$68622,$68623,$68624,$68625,$68626,$68627,$68628),(nextval($68629),$68630,$68631,$68632,$68633,$68634,$68635,$68636,$68637,$68638,$68639,$68640,$68641,$68642),(nextval($68643),$68644,$68645,$68646,$68647,$68648,$68649,$68650,$68651,$68652,$68653,$68654,$68655,$68656),(nextval($68657),$68658,$68659,$68660,$68661,$68662,$68663,$68664,$68665,$68666,$68667,$68668,$68669,$68670),(nextval($68671),$68672,$68673,$68674,$68675,$68676,$68677,$68678,$68679,$68680,$68681,$68682,$68683,$68684),(nextval($68685),$68686,$68687,$68688,$68689,$68690,$68691,$68692,$68693,$68694,$68695,$68696,$68697,$68698),(nextval($68699),$68700,$68701,$68702,$68703,$68704,$68705,$68706,$68707,$68708,$68709,$68710,$68711,$68712),(nextval($68713),$68714,$68715,$68716,$68717,$68718,$68719,$68720,$68721,$68722,$68723,$68724,$68725,$68726),(nextval($68727),$68728,$68729,$68730,$68731,$68732,$68733,$68734,$68735,$68736,$68737,$68738,$68739,$68740),(nextval($68741),$68742,$68743,$68744,$68745,$68746,$68747,$68748,$68749,$68750,$68751,$68752,$68753,$68754),(nextval($68755),$68756,$68757,$68758,$68759,$68760,$68761,$68762,$68763,$68764,$68765,$68766,$68767,$68768),(nextval($68769),$68770,$68771,$68772,$68773,$68774,$68775,$68776,$68777,$68778,$68779,$68780,$68781,$68782),(nextval($68783),$68784,$68785,$68786,$68787,$68788,$68789,$68790,$68791,$68792,$68793,$68794,$68795,$68796),(nextval($68797),$68798,$68799,$68800,$68801,$68802,$68803,$68804,$68805,$68806,$68807,$68808,$68809,$68810),(nextval($68811),$68812,$68813,$68814,$68815,$68816,$68817,$68818,$68819,$68820,$68821,$68822,$68823,$68824),(nextval($68825),$68826,$68827,$68828,$68829,$68830,$68831,$68832,$68833,$68834,$68835,$68836,$68837,$68838),(nextval($68839),$68840,$68841,$68842,$68843,$68844,$68845,$68846,$68847,$68848,$68849,$68850,$68851,$68852),(nextval($68853),$68854,$68855,$68856,$68857,$68858,$68859,$68860,$68861,$68862,$68863,$68864,$68865,$68866),(nextval($68867),$68868,$68869,$68870,$68871,$68872,$68873,$68874,$68875,$68876,$68877,$68878,$68879,$68880),(nextval($68881),$68882,$68883,$68884,$68885,$68886,$68887,$68888,$68889,$68890,$68891,$68892,$68893,$68894),(nextval($68895),$68896,$68897,$68898,$68899,$68900,$68901,$68902,$68903,$68904,$68905,$68906,$68907,$68908),(nextval($68909),$68910,$68911,$68912,$68913,$68914,$68915,$68916,$68917,$68918,$68919,$68920,$68921,$68922),(nextval($68923),$68924,$68925,$68926,$68927,$68928,$68929,$68930,$68931,$68932,$68933,$68934,$68935,$68936),(nextval($68937),$68938,$68939,$68940,$68941,$68942,$68943,$68944,$68945,$68946,$68947,$68948,$68949,$68950),(nextval($68951),$68952,$68953,$68954,$68955,$68956,$68957,$68958,$68959,$68960,$68961,$68962,$68963,$68964),(nextval($68965),$68966,$68967,$68968,$68969,$68970,$68971,$68972,$68973,$68974,$68975,$68976,$68977,$68978),(nextval($68979),$68980,$68981,$68982,$68983,$68984,$68985,$68986,$68987,$68988,$68989,$68990,$68991,$68992),(nextval($68993),$68994,$68995,$68996,$68997,$68998,$68999,$69000,$69001,$69002,$69003,$69004,$69005,$69006),(nextval($69007),$69008,$69009,$69010,$69011,$69012,$69013,$69014,$69015,$69016,$69017,$69018,$69019,$69020),(nextval($69021),$69022,$69023,$69024,$69025,$69026,$69027,$69028,$69029,$69030,$69031,$69032,$69033,$69034),(nextval($69035),$69036,$69037,$69038,$69039,$69040,$69041,$69042,$69043,$69044,$69045,$69046,$69047,$69048),(nextval($69049),$69050,$69051,$69052,$69053,$69054,$69055,$69056,$69057,$69058,$69059,$69060,$69061,$69062),(nextval($69063),$69064,$69065,$69066,$69067,$69068,$69069,$69070,$69071,$69072,$69073,$69074,$69075,$69076),(nextval($69077),$69078,$69079,$69080,$69081,$69082,$69083,$69084,$69085,$69086,$69087,$69088,$69089,$69090),(nextval($69091),$69092,$69093,$69094,$69095,$69096,$69097,$69098,$69099,$69100,$69101,$69102,$69103,$69104),(nextval($69105),$69106,$69107,$69108,$69109,$69110,$69111,$69112,$69113,$69114,$69115,$69116,$69117,$69118),(nextval($69119),$69120,$69121,$69122,$69123,$69124,$69125,$69126,$69127,$69128,$69129,$69130,$69131,$69132),(nextval($69133),$69134,$69135,$69136,$69137,$69138,$69139,$69140,$69141,$69142,$69143,$69144,$69145,$69146),(nextval($69147),$69148,$69149,$69150,$69151,$69152,$69153,$69154,$69155,$69156,$69157,$69158,$69159,$69160),(nextval($69161),$69162,$69163,$69164,$69165,$69166,$69167,$69168,$69169,$69170,$69171,$69172,$69173,$69174),(nextval($69175),$69176,$69177,$69178,$69179,$69180,$69181,$69182,$69183,$69184,$69185,$69186,$69187,$69188),(nextval($69189),$69190,$69191,$69192,$69193,$69194,$69195,$69196,$69197,$69198,$69199,$69200,$69201,$69202),(nextval($69203),$69204,$69205,$69206,$69207,$69208,$69209,$69210,$69211,$69212,$69213,$69214,$69215,$69216),(nextval($69217),$69218,$69219,$69220,$69221,$69222,$69223,$69224,$69225,$69226,$69227,$69228,$69229,$69230),(nextval($69231),$69232,$69233,$69234,$69235,$69236,$69237,$69238,$69239,$69240,$69241,$69242,$69243,$69244),(nextval($69245),$69246,$69247,$69248,$69249,$69250,$69251,$69252,$69253,$69254,$69255,$69256,$69257,$69258),(nextval($69259),$69260,$69261,$69262,$69263,$69264,$69265,$69266,$69267,$69268,$69269,$69270,$69271,$69272),(nextval($69273),$69274,$69275,$69276,$69277,$69278,$69279,$69280,$69281,$69282,$69283,$69284,$69285,$69286),(nextval($69287),$69288,$69289,$69290,$69291,$69292,$69293,$69294,$69295,$69296,$69297,$69298,$69299,$69300),(nextval($69301),$69302,$69303,$69304,$69305,$69306,$69307,$69308,$69309,$69310,$69311,$69312,$69313,$69314),(nextval($69315),$69316,$69317,$69318,$69319,$69320,$69321,$69322,$69323,$69324,$69325,$69326,$69327,$69328),(nextval($69329),$69330,$69331,$69332,$69333,$69334,$69335,$69336,$69337,$69338,$69339,$69340,$69341,$69342),(nextval($69343),$69344,$69345,$69346,$69347,$69348,$69349,$69350,$69351,$69352,$69353,$69354,$69355,$69356),(nextval($69357),$69358,$69359,$69360,$69361,$69362,$69363,$69364,$69365,$69366,$69367,$69368,$69369,$69370),(nextval($69371),$69372,$69373,$69374,$69375,$69376,$69377,$69378,$69379,$69380,$69381,$69382,$69383,$69384),(nextval($69385),$69386,$69387,$69388,$69389,$69390,$69391,$69392,$69393,$69394,$69395,$69396,$69397,$69398),(nextval($69399),$69400,$69401,$69402,$69403,$69404,$69405,$69406,$69407,$69408,$69409,$69410,$69411,$69412),(nextval($69413),$69414,$69415,$69416,$69417,$69418,$69419,$69420,$69421,$69422,$69423,$69424,$69425,$69426),(nextval($69427),$69428,$69429,$69430,$69431,$69432,$69433,$69434,$69435,$69436,$69437,$69438,$69439,$69440),(nextval($69441),$69442,$69443,$69444,$69445,$69446,$69447,$69448,$69449,$69450,$69451,$69452,$69453,$69454),(nextval($69455),$69456,$69457,$69458,$69459,$69460,$69461,$69462,$69463,$69464,$69465,$69466,$69467,$69468),(nextval($69469),$69470,$69471,$69472,$69473,$69474,$69475,$69476,$69477,$69478,$69479,$69480,$69481,$69482),(nextval($69483),$69484,$69485,$69486,$69487,$69488,$69489,$69490,$69491,$69492,$69493,$69494,$69495,$69496),(nextval($69497),$69498,$69499,$69500,$69501,$69502,$69503,$69504,$69505,$69506,$69507,$69508,$69509,$69510),(nextval($69511),$69512,$69513,$69514,$69515,$69516,$69517,$69518,$69519,$69520,$69521,$69522,$69523,$69524),(nextval($69525),$69526,$69527,$69528,$69529,$69530,$69531,$69532,$69533,$69534,$69535,$69536,$69537,$69538),(nextval($69539),$69540,$69541,$69542,$69543,$69544,$69545,$69546,$69547,$69548,$69549,$69550,$69551,$69552),(nextval($69553),$69554,$69555,$69556,$69557,$69558,$69559,$69560,$69561,$69562,$69563,$69564,$69565,$69566),(nextval($69567),$69568,$69569,$69570,$69571,$69572,$69573,$69574,$69575,$69576,$69577,$69578,$69579,$69580),(nextval($69581),$69582,$69583,$69584,$69585,$69586,$69587,$69588,$69589,$69590,$69591,$69592,$69593,$69594),(nextval($69595),$69596,$69597,$69598,$69599,$69600,$69601,$69602,$69603,$69604,$69605,$69606,$69607,$69608),(nextval($69609),$69610,$69611,$69612,$69613,$69614,$69615,$69616,$69617,$69618,$69619,$69620,$69621,$69622),(nextval($69623),$69624,$69625,$69626,$69627,$69628,$69629,$69630,$69631,$69632,$69633,$69634,$69635,$69636),(nextval($69637),$69638,$69639,$69640,$69641,$69642,$69643,$69644,$69645,$69646,$69647,$69648,$69649,$69650),(nextval($69651),$69652,$69653,$69654,$69655,$69656,$69657,$69658,$69659,$69660,$69661,$69662,$69663,$69664),(nextval($69665),$69666,$69667,$69668,$69669,$69670,$69671,$69672,$69673,$69674,$69675,$69676,$69677,$69678),(nextval($69679),$69680,$69681,$69682,$69683,$69684,$69685,$69686,$69687,$69688,$69689,$69690,$69691,$69692),(nextval($69693),$69694,$69695,$69696,$69697,$69698,$69699,$69700,$69701,$69702,$69703,$69704,$69705,$69706),(nextval($69707),$69708,$69709,$69710,$69711,$69712,$69713,$69714,$69715,$69716,$69717,$69718,$69719,$69720),(nextval($69721),$69722,$69723,$69724,$69725,$69726,$69727,$69728,$69729,$69730,$69731,$69732,$69733,$69734),(nextval($69735),$69736,$69737,$69738,$69739,$69740,$69741,$69742,$69743,$69744,$69745,$69746,$69747,$69748),(nextval($69749),$69750,$69751,$69752,$69753,$69754,$69755,$69756,$69757,$69758,$69759,$69760,$69761,$69762),(nextval($69763),$69764,$69765,$69766,$69767,$69768,$69769,$69770,$69771,$69772,$69773,$69774,$69775,$69776),(nextval($69777),$69778,$69779,$69780,$69781,$69782,$69783,$69784,$69785,$69786,$69787,$69788,$69789,$69790),(nextval($69791),$69792,$69793,$69794,$69795,$69796,$69797,$69798,$69799,$69800,$69801,$69802,$69803,$69804),(nextval($69805),$69806,$69807,$69808,$69809,$69810,$69811,$69812,$69813,$69814,$69815,$69816,$69817,$69818),(nextval($69819),$69820,$69821,$69822,$69823,$69824,$69825,$69826,$69827,$69828,$69829,$69830,$69831,$69832),(nextval($69833),$69834,$69835,$69836,$69837,$69838,$69839,$69840,$69841,$69842,$69843,$69844,$69845,$69846),(nextval($69847),$69848,$69849,$69850,$69851,$69852,$69853,$69854,$69855,$69856,$69857,$69858,$69859,$69860),(nextval($69861),$69862,$69863,$69864,$69865,$69866,$69867,$69868,$69869,$69870,$69871,$69872,$69873,$69874),(nextval($69875),$69876,$69877,$69878,$69879,$69880,$69881,$69882,$69883,$69884,$69885,$69886,$69887,$69888),(nextval($69889),$69890,$69891,$69892,$69893,$69894,$69895,$69896,$69897,$69898,$69899,$69900,$69901,$69902),(nextval($69903),$69904,$69905,$69906,$69907,$69908,$69909,$69910,$69911,$69912,$69913,$69914,$69915,$69916),(nextval($69917),$69918,$69919,$69920,$69921,$69922,$69923,$69924,$69925,$69926,$69927,$69928,$69929,$69930),(nextval($69931),$69932,$69933,$69934,$69935,$69936,$69937,$69938,$69939,$69940,$69941,$69942,$69943,$69944),(nextval($69945),$69946,$69947,$69948,$69949,$69950,$69951,$69952,$69953,$69954,$69955,$69956,$69957,$69958),(nextval($69959),$69960,$69961,$69962,$69963,$69964,$69965,$69966,$69967,$69968,$69969,$69970,$69971,$69972),(nextval($69973),$69974,$69975,$69976,$69977,$69978,$69979,$69980,$69981,$69982,$69983,$69984,$69985,$69986),(nextval($69987),$69988,$69989,$69990,$69991,$69992,$69993,$69994,$69995,$69996,$69997,$69998,$69999,$70000),(nextval($70001),$70002,$70003,$70004,$70005,$70006,$70007,$70008,$70009,$70010,$70011,$70012,$70013,$70014),(nextval($70015),$70016,$70017,$70018,$70019,$70020,$70021,$70022,$70023,$70024,$70025,$70026,$70027,$70028),(nextval($70029),$70030,$70031,$70032,$70033,$70034,$70035,$70036,$70037,$70038,$70039,$70040,$70041,$70042),(nextval($70043),$70044,$70045,$70046,$70047,$70048,$70049,$70050,$70051,$70052,$70053,$70054,$70055,$70056),(nextval($70057),$70058,$70059,$70060,$70061,$70062,$70063,$70064,$70065,$70066,$70067,$70068,$70069,$70070),(nextval($70071),$70072,$70073,$70074,$70075,$70076,$70077,$70078,$70079,$70080,$70081,$70082,$70083,$70084),(nextval($70085),$70086,$70087,$70088,$70089,$70090,$70091,$70092,$70093,$70094,$70095,$70096,$70097,$70098),(nextval($70099),$70100,$70101,$70102,$70103,$70104,$70105,$70106,$70107,$70108,$70109,$70110,$70111,$70112),(nextval($70113),$70114,$70115,$70116,$70117,$70118,$70119,$70120,$70121,$70122,$70123,$70124,$70125,$70126),(nextval($70127),$70128,$70129,$70130,$70131,$70132,$70133,$70134,$70135,$70136,$70137,$70138,$70139,$70140),(nextval($70141),$70142,$70143,$70144,$70145,$70146,$70147,$70148,$70149,$70150,$70151,$70152,$70153,$70154),(nextval($70155),$70156,$70157,$70158,$70159,$70160,$70161,$70162,$70163,$70164,$70165,$70166,$70167,$70168),(nextval($70169),$70170,$70171,$70172,$70173,$70174,$70175,$70176,$70177,$70178,$70179,$70180,$70181,$70182),(nextval($70183),$70184,$70185,$70186,$70187,$70188,$70189,$70190,$70191,$70192,$70193,$70194,$70195,$70196),(nextval($70197),$70198,$70199,$70200,$70201,$70202,$70203,$70204,$70205,$70206,$70207,$70208,$70209,$70210),(nextval($70211),$70212,$70213,$70214,$70215,$70216,$70217,$70218,$70219,$70220,$70221,$70222,$70223,$70224),(nextval($70225),$70226,$70227,$70228,$70229,$70230,$70231,$70232,$70233,$70234,$70235,$70236,$70237,$70238),(nextval($70239),$70240,$70241,$70242,$70243,$70244,$70245,$70246,$70247,$70248,$70249,$70250,$70251,$70252),(nextval($70253),$70254,$70255,$70256,$70257,$70258,$70259,$70260,$70261,$70262,$70263,$70264,$70265,$70266),(nextval($70267),$70268,$70269,$70270,$70271,$70272,$70273,$70274,$70275,$70276,$70277,$70278,$70279,$70280),(nextval($70281),$70282,$70283,$70284,$70285,$70286,$70287,$70288,$70289,$70290,$70291,$70292,$70293,$70294),(nextval($70295),$70296,$70297,$70298,$70299,$70300,$70301,$70302,$70303,$70304,$70305,$70306,$70307,$70308),(nextval($70309),$70310,$70311,$70312,$70313,$70314,$70315,$70316,$70317,$70318,$70319,$70320,$70321,$70322),(nextval($70323),$70324,$70325,$70326,$70327,$70328,$70329,$70330,$70331,$70332,$70333,$70334,$70335,$70336),(nextval($70337),$70338,$70339,$70340,$70341,$70342,$70343,$70344,$70345,$70346,$70347,$70348,$70349,$70350),(nextval($70351),$70352,$70353,$70354,$70355,$70356,$70357,$70358,$70359,$70360,$70361,$70362,$70363,$70364),(nextval($70365),$70366,$70367,$70368,$70369,$70370,$70371,$70372,$70373,$70374,$70375,$70376,$70377,$70378),(nextval($70379),$70380,$70381,$70382,$70383,$70384,$70385,$70386,$70387,$70388,$70389,$70390,$70391,$70392),(nextval($70393),$70394,$70395,$70396,$70397,$70398,$70399,$70400,$70401,$70402,$70403,$70404,$70405,$70406),(nextval($70407),$70408,$70409,$70410,$70411,$70412,$70413,$70414,$70415,$70416,$70417,$70418,$70419,$70420),(nextval($70421),$70422,$70423,$70424,$70425,$70426,$70427,$70428,$70429,$70430,$70431,$70432,$70433,$70434),(nextval($70435),$70436,$70437,$70438,$70439,$70440,$70441,$70442,$70443,$70444,$70445,$70446,$70447,$70448),(nextval($70449),$70450,$70451,$70452,$70453,$70454,$70455,$70456,$70457,$70458,$70459,$70460,$70461,$70462),(nextval($70463),$70464,$70465,$70466,$70467,$70468,$70469,$70470,$70471,$70472,$70473,$70474,$70475,$70476),(nextval($70477),$70478,$70479,$70480,$70481,$70482,$70483,$70484,$70485,$70486,$70487,$70488,$70489,$70490),(nextval($70491),$70492,$70493,$70494,$70495,$70496,$70497,$70498,$70499,$70500,$70501,$70502,$70503,$70504),(nextval($70505),$70506,$70507,$70508,$70509,$70510,$70511,$70512,$70513,$70514,$70515,$70516,$70517,$70518),(nextval($70519),$70520,$70521,$70522,$70523,$70524,$70525,$70526,$70527,$70528,$70529,$70530,$70531,$70532),(nextval($70533),$70534,$70535,$70536,$70537,$70538,$70539,$70540,$70541,$70542,$70543,$70544,$70545,$70546),(nextval($70547),$70548,$70549,$70550,$70551,$70552,$70553,$70554,$70555,$70556,$70557,$70558,$70559,$70560),(nextval($70561),$70562,$70563,$70564,$70565,$70566,$70567,$70568,$70569,$70570,$70571,$70572,$70573,$70574),(nextval($70575),$70576,$70577,$70578,$70579,$70580,$70581,$70582,$70583,$70584,$70585,$70586,$70587,$70588),(nextval($70589),$70590,$70591,$70592,$70593,$70594,$70595,$70596,$70597,$70598,$70599,$70600,$70601,$70602),(nextval($70603),$70604,$70605,$70606,$70607,$70608,$70609,$70610,$70611,$70612,$70613,$70614,$70615,$70616),(nextval($70617),$70618,$70619,$70620,$70621,$70622,$70623,$70624,$70625,$70626,$70627,$70628,$70629,$70630),(nextval($70631),$70632,$70633,$70634,$70635,$70636,$70637,$70638,$70639,$70640,$70641,$70642,$70643,$70644),(nextval($70645),$70646,$70647,$70648,$70649,$70650,$70651,$70652,$70653,$70654,$70655,$70656,$70657,$70658),(nextval($70659),$70660,$70661,$70662,$70663,$70664,$70665,$70666,$70667,$70668,$70669,$70670,$70671,$70672),(nextval($70673),$70674,$70675,$70676,$70677,$70678,$70679,$70680,$70681,$70682,$70683,$70684,$70685,$70686),(nextval($70687),$70688,$70689,$70690,$70691,$70692,$70693,$70694,$70695,$70696,$70697,$70698,$70699,$70700),(nextval($70701),$70702,$70703,$70704,$70705,$70706,$70707,$70708,$70709,$70710,$70711,$70712,$70713,$70714),(nextval($70715),$70716,$70717,$70718,$70719,$70720,$70721,$70722,$70723,$70724,$70725,$70726,$70727,$70728),(nextval($70729),$70730,$70731,$70732,$70733,$70734,$70735,$70736,$70737,$70738,$70739,$70740,$70741,$70742),(nextval($70743),$70744,$70745,$70746,$70747,$70748,$70749,$70750,$70751,$70752,$70753,$70754,$70755,$70756),(nextval($70757),$70758,$70759,$70760,$70761,$70762,$70763,$70764,$70765,$70766,$70767,$70768,$70769,$70770),(nextval($70771),$70772,$70773,$70774,$70775,$70776,$70777,$70778,$70779,$70780,$70781,$70782,$70783,$70784),(nextval($70785),$70786,$70787,$70788,$70789,$70790,$70791,$70792,$70793,$70794,$70795,$70796,$70797,$70798),(nextval($70799),$70800,$70801,$70802,$70803,$70804,$70805,$70806,$70807,$70808,$70809,$70810,$70811,$70812),(nextval($70813),$70814,$70815,$70816,$70817,$70818,$70819,$70820,$70821,$70822,$70823,$70824,$70825,$70826),(nextval($70827),$70828,$70829,$70830,$70831,$70832,$70833,$70834,$70835,$70836,$70837,$70838,$70839,$70840),(nextval($70841),$70842,$70843,$70844,$70845,$70846,$70847,$70848,$70849,$70850,$70851,$70852,$70853,$70854),(nextval($70855),$70856,$70857,$70858,$70859,$70860,$70861,$70862,$70863,$70864,$70865,$70866,$70867,$70868),(nextval($70869),$70870,$70871,$70872,$70873,$70874,$70875,$70876,$70877,$70878,$70879,$70880,$70881,$70882),(nextval($70883),$70884,$70885,$70886,$70887,$70888,$70889,$70890,$70891,$70892,$70893,$70894,$70895,$70896),(nextval($70897),$70898,$70899,$70900,$70901,$70902,$70903,$70904,$70905,$70906,$70907,$70908,$70909,$70910),(nextval($70911),$70912,$70913,$70914,$70915,$70916,$70917,$70918,$70919,$70920,$70921,$70922,$70923,$70924),(nextval($70925),$70926,$70927,$70928,$70929,$70930,$70931,$70932,$70933,$70934,$70935,$70936,$70937,$70938),(nextval($70939),$70940,$70941,$70942,$70943,$70944,$70945,$70946,$70947,$70948,$70949,$70950,$70951,$70952),(nextval($70953),$70954,$70955,$70956,$70957,$70958,$70959,$70960,$70961,$70962,$70963,$70964,$70965,$70966),(nextval($70967),$70968,$70969,$70970,$70971,$70972,$70973,$70974,$70975,$70976,$70977,$70978,$70979,$70980),(nextval($70981),$70982,$70983,$70984,$70985,$70986,$70987,$70988,$70989,$70990,$70991,$70992,$70993,$70994),(nextval($70995),$70996,$70997,$70998,$70999,$71000,$71001,$71002,$71003,$71004,$71005,$71006,$71007,$71008),(nextval($71009),$71010,$71011,$71012,$71013,$71014,$71015,$71016,$71017,$71018,$71019,$71020,$71021,$71022),(nextval($71023),$71024,$71025,$71026,$71027,$71028,$71029,$71030,$71031,$71032,$71033,$71034,$71035,$71036),(nextval($71037),$71038,$71039,$71040,$71041,$71042,$71043,$71044,$71045,$71046,$71047,$71048,$71049,$71050),(nextval($71051),$71052,$71053,$71054,$71055,$71056,$71057,$71058,$71059,$71060,$71061,$71062,$71063,$71064),(nextval($71065),$71066,$71067,$71068,$71069,$71070,$71071,$71072,$71073,$71074,$71075,$71076,$71077,$71078),(nextval($71079),$71080,$71081,$71082,$71083,$71084,$71085,$71086,$71087,$71088,$71089,$71090,$71091,$71092),(nextval($71093),$71094,$71095,$71096,$71097,$71098,$71099,$71100,$71101,$71102,$71103,$71104,$71105,$71106),(nextval($71107),$71108,$71109,$71110,$71111,$71112,$71113,$71114,$71115,$71116,$71117,$71118,$71119,$71120),(nextval($71121),$71122,$71123,$71124,$71125,$71126,$71127,$71128,$71129,$71130,$71131,$71132,$71133,$71134),(nextval($71135),$71136,$71137,$71138,$71139,$71140,$71141,$71142,$71143,$71144,$71145,$71146,$71147,$71148),(nextval($71149),$71150,$71151,$71152,$71153,$71154,$71155,$71156,$71157,$71158,$71159,$71160,$71161,$71162),(nextval($71163),$71164,$71165,$71166,$71167,$71168,$71169,$71170,$71171,$71172,$71173,$71174,$71175,$71176),(nextval($71177),$71178,$71179,$71180,$71181,$71182,$71183,$71184,$71185,$71186,$71187,$71188,$71189,$71190),(nextval($71191),$71192,$71193,$71194,$71195,$71196,$71197,$71198,$71199,$71200,$71201,$71202,$71203,$71204),(nextval($71205),$71206,$71207,$71208,$71209,$71210,$71211,$71212,$71213,$71214,$71215,$71216,$71217,$71218),(nextval($71219),$71220,$71221,$71222,$71223,$71224,$71225,$71226,$71227,$71228,$71229,$71230,$71231,$71232),(nextval($71233),$71234,$71235,$71236,$71237,$71238,$71239,$71240,$71241,$71242,$71243,$71244,$71245,$71246),(nextval($71247),$71248,$71249,$71250,$71251,$71252,$71253,$71254,$71255,$71256,$71257,$71258,$71259,$71260),(nextval($71261),$71262,$71263,$71264,$71265,$71266,$71267,$71268,$71269,$71270,$71271,$71272,$71273,$71274),(nextval($71275),$71276,$71277,$71278,$71279,$71280,$71281,$71282,$71283,$71284,$71285,$71286,$71287,$71288),(nextval($71289),$71290,$71291,$71292,$71293,$71294,$71295,$71296,$71297,$71298,$71299,$71300,$71301,$71302),(nextval($71303),$71304,$71305,$71306,$71307,$71308,$71309,$71310,$71311,$71312,$71313,$71314,$71315,$71316),(nextval($71317),$71318,$71319,$71320,$71321,$71322,$71323,$71324,$71325,$71326,$71327,$71328,$71329,$71330),(nextval($71331),$71332,$71333,$71334,$71335,$71336,$71337,$71338,$71339,$71340,$71341,$71342,$71343,$71344),(nextval($71345),$71346,$71347,$71348,$71349,$71350,$71351,$71352,$71353,$71354,$71355,$71356,$71357,$71358),(nextval($71359),$71360,$71361,$71362,$71363,$71364,$71365,$71366,$71367,$71368,$71369,$71370,$71371,$71372),(nextval($71373),$71374,$71375,$71376,$71377,$71378,$71379,$71380,$71381,$71382,$71383,$71384,$71385,$71386),(nextval($71387),$71388,$71389,$71390,$71391,$71392,$71393,$71394,$71395,$71396,$71397,$71398,$71399,$71400),(nextval($71401),$71402,$71403,$71404,$71405,$71406,$71407,$71408,$71409,$71410,$71411,$71412,$71413,$71414),(nextval($71415),$71416,$71417,$71418,$71419,$71420,$71421,$71422,$71423,$71424,$71425,$71426,$71427,$71428),(nextval($71429),$71430,$71431,$71432,$71433,$71434,$71435,$71436,$71437,$71438,$71439,$71440,$71441,$71442),(nextval($71443),$71444,$71445,$71446,$71447,$71448,$71449,$71450,$71451,$71452,$71453,$71454,$71455,$71456),(nextval($71457),$71458,$71459,$71460,$71461,$71462,$71463,$71464,$71465,$71466,$71467,$71468,$71469,$71470),(nextval($71471),$71472,$71473,$71474,$71475,$71476,$71477,$71478,$71479,$71480,$71481,$71482,$71483,$71484),(nextval($71485),$71486,$71487,$71488,$71489,$71490,$71491,$71492,$71493,$71494,$71495,$71496,$71497,$71498),(nextval($71499),$71500,$71501,$71502,$71503,$71504,$71505,$71506,$71507,$71508,$71509,$71510,$71511,$71512),(nextval($71513),$71514,$71515,$71516,$71517,$71518,$71519,$71520,$71521,$71522,$71523,$71524,$71525,$71526),(nextval($71527),$71528,$71529,$71530,$71531,$71532,$71533,$71534,$71535,$71536,$71537,$71538,$71539,$71540),(nextval($71541),$71542,$71543,$71544,$71545,$71546,$71547,$71548,$71549,$71550,$71551,$71552,$71553,$71554),(nextval($71555),$71556,$71557,$71558,$71559,$71560,$71561,$71562,$71563,$71564,$71565,$71566,$71567,$71568),(nextval($71569),$71570,$71571,$71572,$71573,$71574,$71575,$71576,$71577,$71578,$71579,$71580,$71581,$71582),(nextval($71583),$71584,$71585,$71586,$71587,$71588,$71589,$71590,$71591,$71592,$71593,$71594,$71595,$71596),(nextval($71597),$71598,$71599,$71600,$71601,$71602,$71603,$71604,$71605,$71606,$71607,$71608,$71609,$71610),(nextval($71611),$71612,$71613,$71614,$71615,$71616,$71617,$71618,$71619,$71620,$71621,$71622,$71623,$71624),(nextval($71625),$71626,$71627,$71628,$71629,$71630,$71631,$71632,$71633,$71634,$71635,$71636,$71637,$71638),(nextval($71639),$71640,$71641,$71642,$71643,$71644,$71645,$71646,$71647,$71648,$71649,$71650,$71651,$71652),(nextval($71653),$71654,$71655,$71656,$71657,$71658,$71659,$71660,$71661,$71662,$71663,$71664,$71665,$71666),(nextval($71667),$71668,$71669,$71670,$71671,$71672,$71673,$71674,$71675,$71676,$71677,$71678,$71679,$71680),(nextval($71681),$71682,$71683,$71684,$71685,$71686,$71687,$71688,$71689,$71690,$71691,$71692,$71693,$71694),(nextval($71695),$71696,$71697,$71698,$71699,$71700,$71701,$71702,$71703,$71704,$71705,$71706,$71707,$71708),(nextval($71709),$71710,$71711,$71712,$71713,$71714,$71715,$71716,$71717,$71718,$71719,$71720,$71721,$71722),(nextval($71723),$71724,$71725,$71726,$71727,$71728,$71729,$71730,$71731,$71732,$71733,$71734,$71735,$71736),(nextval($71737),$71738,$71739,$71740,$71741,$71742,$71743,$71744,$71745,$71746,$71747,$71748,$71749,$71750),(nextval($71751),$71752,$71753,$71754,$71755,$71756,$71757,$71758,$71759,$71760,$71761,$71762,$71763,$71764),(nextval($71765),$71766,$71767,$71768,$71769,$71770,$71771,$71772,$71773,$71774,$71775,$71776,$71777,$71778),(nextval($71779),$71780,$71781,$71782,$71783,$71784,$71785,$71786,$71787,$71788,$71789,$71790,$71791,$71792),(nextval($71793),$71794,$71795,$71796,$71797,$71798,$71799,$71800,$71801,$71802,$71803,$71804,$71805,$71806),(nextval($71807),$71808,$71809,$71810,$71811,$71812,$71813,$71814,$71815,$71816,$71817,$71818,$71819,$71820),(nextval($71821),$71822,$71823,$71824,$71825,$71826,$71827,$71828,$71829,$71830,$71831,$71832,$71833,$71834),(nextval($71835),$71836,$71837,$71838,$71839,$71840,$71841,$71842,$71843,$71844,$71845,$71846,$71847,$71848),(nextval($71849),$71850,$71851,$71852,$71853,$71854,$71855,$71856,$71857,$71858,$71859,$71860,$71861,$71862),(nextval($71863),$71864,$71865,$71866,$71867,$71868,$71869,$71870,$71871,$71872,$71873,$71874,$71875,$71876),(nextval($71877),$71878,$71879,$71880,$71881,$71882,$71883,$71884,$71885,$71886,$71887,$71888,$71889,$71890),(nextval($71891),$71892,$71893,$71894,$71895,$71896,$71897,$71898,$71899,$71900,$71901,$71902,$71903,$71904),(nextval($71905),$71906,$71907,$71908,$71909,$71910,$71911,$71912,$71913,$71914,$71915,$71916,$71917,$71918),(nextval($71919),$71920,$71921,$71922,$71923,$71924,$71925,$71926,$71927,$71928,$71929,$71930,$71931,$71932),(nextval($71933),$71934,$71935,$71936,$71937,$71938,$71939,$71940,$71941,$71942,$71943,$71944,$71945,$71946),(nextval($71947),$71948,$71949,$71950,$71951,$71952,$71953,$71954,$71955,$71956,$71957,$71958,$71959,$71960),(nextval($71961),$71962,$71963,$71964,$71965,$71966,$71967,$71968,$71969,$71970,$71971,$71972,$71973,$71974),(nextval($71975),$71976,$71977,$71978,$71979,$71980,$71981,$71982,$71983,$71984,$71985,$71986,$71987,$71988),(nextval($71989),$71990,$71991,$71992,$71993,$71994,$71995,$71996,$71997,$71998,$71999,$72000,$72001,$72002),(nextval($72003),$72004,$72005,$72006,$72007,$72008,$72009,$72010,$72011,$72012,$72013,$72014,$72015,$72016),(nextval($72017),$72018,$72019,$72020,$72021,$72022,$72023,$72024,$72025,$72026,$72027,$72028,$72029,$72030),(nextval($72031),$72032,$72033,$72034,$72035,$72036,$72037,$72038,$72039,$72040,$72041,$72042,$72043,$72044),(nextval($72045),$72046,$72047,$72048,$72049,$72050,$72051,$72052,$72053,$72054,$72055,$72056,$72057,$72058),(nextval($72059),$72060,$72061,$72062,$72063,$72064,$72065,$72066,$72067,$72068,$72069,$72070,$72071,$72072),(nextval($72073),$72074,$72075,$72076,$72077,$72078,$72079,$72080,$72081,$72082,$72083,$72084,$72085,$72086),(nextval($72087),$72088,$72089,$72090,$72091,$72092,$72093,$72094,$72095,$72096,$72097,$72098,$72099,$72100),(nextval($72101),$72102,$72103,$72104,$72105,$72106,$72107,$72108,$72109,$72110,$72111,$72112,$72113,$72114),(nextval($72115),$72116,$72117,$72118,$72119,$72120,$72121,$72122,$72123,$72124,$72125,$72126,$72127,$72128),(nextval($72129),$72130,$72131,$72132,$72133,$72134,$72135,$72136,$72137,$72138,$72139,$72140,$72141,$72142),(nextval($72143),$72144,$72145,$72146,$72147,$72148,$72149,$72150,$72151,$72152,$72153,$72154,$72155,$72156),(nextval($72157),$72158,$72159,$72160,$72161,$72162,$72163,$72164,$72165,$72166,$72167,$72168,$72169,$72170),(nextval($72171),$72172,$72173,$72174,$72175,$72176,$72177,$72178,$72179,$72180,$72181,$72182,$72183,$72184),(nextval($72185),$72186,$72187,$72188,$72189,$72190,$72191,$72192,$72193,$72194,$72195,$72196,$72197,$72198),(nextval($72199),$72200,$72201,$72202,$72203,$72204,$72205,$72206,$72207,$72208,$72209,$72210,$72211,$72212),(nextval($72213),$72214,$72215,$72216,$72217,$72218,$72219,$72220,$72221,$72222,$72223,$72224,$72225,$72226),(nextval($72227),$72228,$72229,$72230,$72231,$72232,$72233,$72234,$72235,$72236,$72237,$72238,$72239,$72240),(nextval($72241),$72242,$72243,$72244,$72245,$72246,$72247,$72248,$72249,$72250,$72251,$72252,$72253,$72254),(nextval($72255),$72256,$72257,$72258,$72259,$72260,$72261,$72262,$72263,$72264,$72265,$72266,$72267,$72268),(nextval($72269),$72270,$72271,$72272,$72273,$72274,$72275,$72276,$72277,$72278,$72279,$72280,$72281,$72282),(nextval($72283),$72284,$72285,$72286,$72287,$72288,$72289,$72290,$72291,$72292,$72293,$72294,$72295,$72296),(nextval($72297),$72298,$72299,$72300,$72301,$72302,$72303,$72304,$72305,$72306,$72307,$72308,$72309,$72310),(nextval($72311),$72312,$72313,$72314,$72315,$72316,$72317,$72318,$72319,$72320,$72321,$72322,$72323,$72324),(nextval($72325),$72326,$72327,$72328,$72329,$72330,$72331,$72332,$72333,$72334,$72335,$72336,$72337,$72338),(nextval($72339),$72340,$72341,$72342,$72343,$72344,$72345,$72346,$72347,$72348,$72349,$72350,$72351,$72352),(nextval($72353),$72354,$72355,$72356,$72357,$72358,$72359,$72360,$72361,$72362,$72363,$72364,$72365,$72366),(nextval($72367),$72368,$72369,$72370,$72371,$72372,$72373,$72374,$72375,$72376,$72377,$72378,$72379,$72380),(nextval($72381),$72382,$72383,$72384,$72385,$72386,$72387,$72388,$72389,$72390,$72391,$72392,$72393,$72394),(nextval($72395),$72396,$72397,$72398,$72399,$72400,$72401,$72402,$72403,$72404,$72405,$72406,$72407,$72408),(nextval($72409),$72410,$72411,$72412,$72413,$72414,$72415,$72416,$72417,$72418,$72419,$72420,$72421,$72422),(nextval($72423),$72424,$72425,$72426,$72427,$72428,$72429,$72430,$72431,$72432,$72433,$72434,$72435,$72436),(nextval($72437),$72438,$72439,$72440,$72441,$72442,$72443,$72444,$72445,$72446,$72447,$72448,$72449,$72450),(nextval($72451),$72452,$72453,$72454,$72455,$72456,$72457,$72458,$72459,$72460,$72461,$72462,$72463,$72464),(nextval($72465),$72466,$72467,$72468,$72469,$72470,$72471,$72472,$72473,$72474,$72475,$72476,$72477,$72478),(nextval($72479),$72480,$72481,$72482,$72483,$72484,$72485,$72486,$72487,$72488,$72489,$72490,$72491,$72492),(nextval($72493),$72494,$72495,$72496,$72497,$72498,$72499,$72500,$72501,$72502,$72503,$72504,$72505,$72506),(nextval($72507),$72508,$72509,$72510,$72511,$72512,$72513,$72514,$72515,$72516,$72517,$72518,$72519,$72520),(nextval($72521),$72522,$72523,$72524,$72525,$72526,$72527,$72528,$72529,$72530,$72531,$72532,$72533,$72534),(nextval($72535),$72536,$72537,$72538,$72539,$72540,$72541,$72542,$72543,$72544,$72545,$72546,$72547,$72548),(nextval($72549),$72550,$72551,$72552,$72553,$72554,$72555,$72556,$72557,$72558,$72559,$72560,$72561,$72562),(nextval($72563),$72564,$72565,$72566,$72567,$72568,$72569,$72570,$72571,$72572,$72573,$72574,$72575,$72576),(nextval($72577),$72578,$72579,$72580,$72581,$72582,$72583,$72584,$72585,$72586,$72587,$72588,$72589,$72590),(nextval($72591),$72592,$72593,$72594,$72595,$72596,$72597,$72598,$72599,$72600,$72601,$72602,$72603,$72604),(nextval($72605),$72606,$72607,$72608,$72609,$72610,$72611,$72612,$72613,$72614,$72615,$72616,$72617,$72618),(nextval($72619),$72620,$72621,$72622,$72623,$72624,$72625,$72626,$72627,$72628,$72629,$72630,$72631,$72632),(nextval($72633),$72634,$72635,$72636,$72637,$72638,$72639,$72640,$72641,$72642,$72643,$72644,$72645,$72646),(nextval($72647),$72648,$72649,$72650,$72651,$72652,$72653,$72654,$72655,$72656,$72657,$72658,$72659,$72660),(nextval($72661),$72662,$72663,$72664,$72665,$72666,$72667,$72668,$72669,$72670,$72671,$72672,$72673,$72674),(nextval($72675),$72676,$72677,$72678,$72679,$72680,$72681,$72682,$72683,$72684,$72685,$72686,$72687,$72688),(nextval($72689),$72690,$72691,$72692,$72693,$72694,$72695,$72696,$72697,$72698,$72699,$72700,$72701,$72702),(nextval($72703),$72704,$72705,$72706,$72707,$72708,$72709,$72710,$72711,$72712,$72713,$72714,$72715,$72716),(nextval($72717),$72718,$72719,$72720,$72721,$72722,$72723,$72724,$72725,$72726,$72727,$72728,$72729,$72730),(nextval($72731),$72732,$72733,$72734,$72735,$72736,$72737,$72738,$72739,$72740,$72741,$72742,$72743,$72744),(nextval($72745),$72746,$72747,$72748,$72749,$72750,$72751,$72752,$72753,$72754,$72755,$72756,$72757,$72758),(nextval($72759),$72760,$72761,$72762,$72763,$72764,$72765,$72766,$72767,$72768,$72769,$72770,$72771,$72772),(nextval($72773),$72774,$72775,$72776,$72777,$72778,$72779,$72780,$72781,$72782,$72783,$72784,$72785,$72786),(nextval($72787),$72788,$72789,$72790,$72791,$72792,$72793,$72794,$72795,$72796,$72797,$72798,$72799,$72800),(nextval($72801),$72802,$72803,$72804,$72805,$72806,$72807,$72808,$72809,$72810,$72811,$72812,$72813,$72814),(nextval($72815),$72816,$72817,$72818,$72819,$72820,$72821,$72822,$72823,$72824,$72825,$72826,$72827,$72828),(nextval($72829),$72830,$72831,$72832,$72833,$72834,$72835,$72836,$72837,$72838,$72839,$72840,$72841,$72842),(nextval($72843),$72844,$72845,$72846,$72847,$72848,$72849,$72850,$72851,$72852,$72853,$72854,$72855,$72856),(nextval($72857),$72858,$72859,$72860,$72861,$72862,$72863,$72864,$72865,$72866,$72867,$72868,$72869,$72870),(nextval($72871),$72872,$72873,$72874,$72875,$72876,$72877,$72878,$72879,$72880,$72881,$72882,$72883,$72884),(nextval($72885),$72886,$72887,$72888,$72889,$72890,$72891,$72892,$72893,$72894,$72895,$72896,$72897,$72898),(nextval($72899),$72900,$72901,$72902,$72903,$72904,$72905,$72906,$72907,$72908,$72909,$72910,$72911,$72912),(nextval($72913),$72914,$72915,$72916,$72917,$72918,$72919,$72920,$72921,$72922,$72923,$72924,$72925,$72926),(nextval($72927),$72928,$72929,$72930,$72931,$72932,$72933,$72934,$72935,$72936,$72937,$72938,$72939,$72940),(nextval($72941),$72942,$72943,$72944,$72945,$72946,$72947,$72948,$72949,$72950,$72951,$72952,$72953,$72954),(nextval($72955),$72956,$72957,$72958,$72959,$72960,$72961,$72962,$72963,$72964,$72965,$72966,$72967,$72968),(nextval($72969),$72970,$72971,$72972,$72973,$72974,$72975,$72976,$72977,$72978,$72979,$72980,$72981,$72982),(nextval($72983),$72984,$72985,$72986,$72987,$72988,$72989,$72990,$72991,$72992,$72993,$72994,$72995,$72996),(nextval($72997),$72998,$72999,$73000,$73001,$73002,$73003,$73004,$73005,$73006,$73007,$73008,$73009,$73010),(nextval($73011),$73012,$73013,$73014,$73015,$73016,$73017,$73018,$73019,$73020,$73021,$73022,$73023,$73024),(nextval($73025),$73026,$73027,$73028,$73029,$73030,$73031,$73032,$73033,$73034,$73035,$73036,$73037,$73038),(nextval($73039),$73040,$73041,$73042,$73043,$73044,$73045,$73046,$73047,$73048,$73049,$73050,$73051,$73052),(nextval($73053),$73054,$73055,$73056,$73057,$73058,$73059,$73060,$73061,$73062,$73063,$73064,$73065,$73066),(nextval($73067),$73068,$73069,$73070,$73071,$73072,$73073,$73074,$73075,$73076,$73077,$73078,$73079,$73080),(nextval($73081),$73082,$73083,$73084,$73085,$73086,$73087,$73088,$73089,$73090,$73091,$73092,$73093,$73094),(nextval($73095),$73096,$73097,$73098,$73099,$73100,$73101,$73102,$73103,$73104,$73105,$73106,$73107,$73108),(nextval($73109),$73110,$73111,$73112,$73113,$73114,$73115,$73116,$73117,$73118,$73119,$73120,$73121,$73122),(nextval($73123),$73124,$73125,$73126,$73127,$73128,$73129,$73130,$73131,$73132,$73133,$73134,$73135,$73136),(nextval($73137),$73138,$73139,$73140,$73141,$73142,$73143,$73144,$73145,$73146,$73147,$73148,$73149,$73150),(nextval($73151),$73152,$73153,$73154,$73155,$73156,$73157,$73158,$73159,$73160,$73161,$73162,$73163,$73164),(nextval($73165),$73166,$73167,$73168,$73169,$73170,$73171,$73172,$73173,$73174,$73175,$73176,$73177,$73178),(nextval($73179),$73180,$73181,$73182,$73183,$73184,$73185,$73186,$73187,$73188,$73189,$73190,$73191,$73192),(nextval($73193),$73194,$73195,$73196,$73197,$73198,$73199,$73200,$73201,$73202,$73203,$73204,$73205,$73206),(nextval($73207),$73208,$73209,$73210,$73211,$73212,$73213,$73214,$73215,$73216,$73217,$73218,$73219,$73220),(nextval($73221),$73222,$73223,$73224,$73225,$73226,$73227,$73228,$73229,$73230,$73231,$73232,$73233,$73234),(nextval($73235),$73236,$73237,$73238,$73239,$73240,$73241,$73242,$73243,$73244,$73245,$73246,$73247,$73248),(nextval($73249),$73250,$73251,$73252,$73253,$73254,$73255,$73256,$73257,$73258,$73259,$73260,$73261,$73262),(nextval($73263),$73264,$73265,$73266,$73267,$73268,$73269,$73270,$73271,$73272,$73273,$73274,$73275,$73276),(nextval($73277),$73278,$73279,$73280,$73281,$73282,$73283,$73284,$73285,$73286,$73287,$73288,$73289,$73290),(nextval($73291),$73292,$73293,$73294,$73295,$73296,$73297,$73298,$73299,$73300,$73301,$73302,$73303,$73304),(nextval($73305),$73306,$73307,$73308,$73309,$73310,$73311,$73312,$73313,$73314,$73315,$73316,$73317,$73318),(nextval($73319),$73320,$73321,$73322,$73323,$73324,$73325,$73326,$73327,$73328,$73329,$73330,$73331,$73332),(nextval($73333),$73334,$73335,$73336,$73337,$73338,$73339,$73340,$73341,$73342,$73343,$73344,$73345,$73346),(nextval($73347),$73348,$73349,$73350,$73351,$73352,$73353,$73354,$73355,$73356,$73357,$73358,$73359,$73360),(nextval($73361),$73362,$73363,$73364,$73365,$73366,$73367,$73368,$73369,$73370,$73371,$73372,$73373,$73374),(nextval($73375),$73376,$73377,$73378,$73379,$73380,$73381,$73382,$73383,$73384,$73385,$73386,$73387,$73388),(nextval($73389),$73390,$73391,$73392,$73393,$73394,$73395,$73396,$73397,$73398,$73399,$73400,$73401,$73402),(nextval($73403),$73404,$73405,$73406,$73407,$73408,$73409,$73410,$73411,$73412,$73413,$73414,$73415,$73416),(nextval($73417),$73418,$73419,$73420,$73421,$73422,$73423,$73424,$73425,$73426,$73427,$73428,$73429,$73430),(nextval($73431),$73432,$73433,$73434,$73435,$73436,$73437,$73438,$73439,$73440,$73441,$73442,$73443,$73444),(nextval($73445),$73446,$73447,$73448,$73449,$73450,$73451,$73452,$73453,$73454,$73455,$73456,$73457,$73458),(nextval($73459),$73460,$73461,$73462,$73463,$73464,$73465,$73466,$73467,$73468,$73469,$73470,$73471,$73472),(nextval($73473),$73474,$73475,$73476,$73477,$73478,$73479,$73480,$73481,$73482,$73483,$73484,$73485,$73486),(nextval($73487),$73488,$73489,$73490,$73491,$73492,$73493,$73494,$73495,$73496,$73497,$73498,$73499,$73500),(nextval($73501),$73502,$73503,$73504,$73505,$73506,$73507,$73508,$73509,$73510,$73511,$73512,$73513,$73514),(nextval($73515),$73516,$73517,$73518,$73519,$73520,$73521,$73522,$73523,$73524,$73525,$73526,$73527,$73528),(nextval($73529),$73530,$73531,$73532,$73533,$73534,$73535,$73536,$73537,$73538,$73539,$73540,$73541,$73542),(nextval($73543),$73544,$73545,$73546,$73547,$73548,$73549,$73550,$73551,$73552,$73553,$73554,$73555,$73556),(nextval($73557),$73558,$73559,$73560,$73561,$73562,$73563,$73564,$73565,$73566,$73567,$73568,$73569,$73570),(nextval($73571),$73572,$73573,$73574,$73575,$73576,$73577,$73578,$73579,$73580,$73581,$73582,$73583,$73584),(nextval($73585),$73586,$73587,$73588,$73589,$73590,$73591,$73592,$73593,$73594,$73595,$73596,$73597,$73598),(nextval($73599),$73600,$73601,$73602,$73603,$73604,$73605,$73606,$73607,$73608,$73609,$73610,$73611,$73612),(nextval($73613),$73614,$73615,$73616,$73617,$73618,$73619,$73620,$73621,$73622,$73623,$73624,$73625,$73626),(nextval($73627),$73628,$73629,$73630,$73631,$73632,$73633,$73634,$73635,$73636,$73637,$73638,$73639,$73640),(nextval($73641),$73642,$73643,$73644,$73645,$73646,$73647,$73648,$73649,$73650,$73651,$73652,$73653,$73654),(nextval($73655),$73656,$73657,$73658,$73659,$73660,$73661,$73662,$73663,$73664,$73665,$73666,$73667,$73668),(nextval($73669),$73670,$73671,$73672,$73673,$73674,$73675,$73676,$73677,$73678,$73679,$73680,$73681,$73682),(nextval($73683),$73684,$73685,$73686,$73687,$73688,$73689,$73690,$73691,$73692,$73693,$73694,$73695,$73696),(nextval($73697),$73698,$73699,$73700,$73701,$73702,$73703,$73704,$73705,$73706,$73707,$73708,$73709,$73710),(nextval($73711),$73712,$73713,$73714,$73715,$73716,$73717,$73718,$73719,$73720,$73721,$73722,$73723,$73724),(nextval($73725),$73726,$73727,$73728,$73729,$73730,$73731,$73732,$73733,$73734,$73735,$73736,$73737,$73738),(nextval($73739),$73740,$73741,$73742,$73743,$73744,$73745,$73746,$73747,$73748,$73749,$73750,$73751,$73752),(nextval($73753),$73754,$73755,$73756,$73757,$73758,$73759,$73760,$73761,$73762,$73763,$73764,$73765,$73766),(nextval($73767),$73768,$73769,$73770,$73771,$73772,$73773,$73774,$73775,$73776,$73777,$73778,$73779,$73780),(nextval($73781),$73782,$73783,$73784,$73785,$73786,$73787,$73788,$73789,$73790,$73791,$73792,$73793,$73794),(nextval($73795),$73796,$73797,$73798,$73799,$73800,$73801,$73802,$73803,$73804,$73805,$73806,$73807,$73808),(nextval($73809),$73810,$73811,$73812,$73813,$73814,$73815,$73816,$73817,$73818,$73819,$73820,$73821,$73822),(nextval($73823),$73824,$73825,$73826,$73827,$73828,$73829,$73830,$73831,$73832,$73833,$73834,$73835,$73836),(nextval($73837),$73838,$73839,$73840,$73841,$73842,$73843,$73844,$73845,$73846,$73847,$73848,$73849,$73850),(nextval($73851),$73852,$73853,$73854,$73855,$73856,$73857,$73858,$73859,$73860,$73861,$73862,$73863,$73864),(nextval($73865),$73866,$73867,$73868,$73869,$73870,$73871,$73872,$73873,$73874,$73875,$73876,$73877,$73878),(nextval($73879),$73880,$73881,$73882,$73883,$73884,$73885,$73886,$73887,$73888,$73889,$73890,$73891,$73892),(nextval($73893),$73894,$73895,$73896,$73897,$73898,$73899,$73900,$73901,$73902,$73903,$73904,$73905,$73906),(nextval($73907),$73908,$73909,$73910,$73911,$73912,$73913,$73914,$73915,$73916,$73917,$73918,$73919,$73920),(nextval($73921),$73922,$73923,$73924,$73925,$73926,$73927,$73928,$73929,$73930,$73931,$73932,$73933,$73934),(nextval($73935),$73936,$73937,$73938,$73939,$73940,$73941,$73942,$73943,$73944,$73945,$73946,$73947,$73948),(nextval($73949),$73950,$73951,$73952,$73953,$73954,$73955,$73956,$73957,$73958,$73959,$73960,$73961,$73962),(nextval($73963),$73964,$73965,$73966,$73967,$73968,$73969,$73970,$73971,$73972,$73973,$73974,$73975,$73976),(nextval($73977),$73978,$73979,$73980,$73981,$73982,$73983,$73984,$73985,$73986,$73987,$73988,$73989,$73990),(nextval($73991),$73992,$73993,$73994,$73995,$73996,$73997,$73998,$73999,$74000,$74001,$74002,$74003,$74004),(nextval($74005),$74006,$74007,$74008,$74009,$74010,$74011,$74012,$74013,$74014,$74015,$74016,$74017,$74018),(nextval($74019),$74020,$74021,$74022,$74023,$74024,$74025,$74026,$74027,$74028,$74029,$74030,$74031,$74032),(nextval($74033),$74034,$74035,$74036,$74037,$74038,$74039,$74040,$74041,$74042,$74043,$74044,$74045,$74046),(nextval($74047),$74048,$74049,$74050,$74051,$74052,$74053,$74054,$74055,$74056,$74057,$74058,$74059,$74060),(nextval($74061),$74062,$74063,$74064,$74065,$74066,$74067,$74068,$74069,$74070,$74071,$74072,$74073,$74074),(nextval($74075),$74076,$74077,$74078,$74079,$74080,$74081,$74082,$74083,$74084,$74085,$74086,$74087,$74088),(nextval($74089),$74090,$74091,$74092,$74093,$74094,$74095,$74096,$74097,$74098,$74099,$74100,$74101,$74102),(nextval($74103),$74104,$74105,$74106,$74107,$74108,$74109,$74110,$74111,$74112,$74113,$74114,$74115,$74116),(nextval($74117),$74118,$74119,$74120,$74121,$74122,$74123,$74124,$74125,$74126,$74127,$74128,$74129,$74130),(nextval($74131),$74132,$74133,$74134,$74135,$74136,$74137,$74138,$74139,$74140,$74141,$74142,$74143,$74144),(nextval($74145),$74146,$74147,$74148,$74149,$74150,$74151,$74152,$74153,$74154,$74155,$74156,$74157,$74158),(nextval($74159),$74160,$74161,$74162,$74163,$74164,$74165,$74166,$74167,$74168,$74169,$74170,$74171,$74172),(nextval($74173),$74174,$74175,$74176,$74177,$74178,$74179,$74180,$74181,$74182,$74183,$74184,$74185,$74186),(nextval($74187),$74188,$74189,$74190,$74191,$74192,$74193,$74194,$74195,$74196,$74197,$74198,$74199,$74200),(nextval($74201),$74202,$74203,$74204,$74205,$74206,$74207,$74208,$74209,$74210,$74211,$74212,$74213,$74214),(nextval($74215),$74216,$74217,$74218,$74219,$74220,$74221,$74222,$74223,$74224,$74225,$74226,$74227,$74228),(nextval($74229),$74230,$74231,$74232,$74233,$74234,$74235,$74236,$74237,$74238,$74239,$74240,$74241,$74242),(nextval($74243),$74244,$74245,$74246,$74247,$74248,$74249,$74250,$74251,$74252,$74253,$74254,$74255,$74256),(nextval($74257),$74258,$74259,$74260,$74261,$74262,$74263,$74264,$74265,$74266,$74267,$74268,$74269,$74270),(nextval($74271),$74272,$74273,$74274,$74275,$74276,$74277,$74278,$74279,$74280,$74281,$74282,$74283,$74284),(nextval($74285),$74286,$74287,$74288,$74289,$74290,$74291,$74292,$74293,$74294,$74295,$74296,$74297,$74298),(nextval($74299),$74300,$74301,$74302,$74303,$74304,$74305,$74306,$74307,$74308,$74309,$74310,$74311,$74312),(nextval($74313),$74314,$74315,$74316,$74317,$74318,$74319,$74320,$74321,$74322,$74323,$74324,$74325,$74326),(nextval($74327),$74328,$74329,$74330,$74331,$74332,$74333,$74334,$74335,$74336,$74337,$74338,$74339,$74340),(nextval($74341),$74342,$74343,$74344,$74345,$74346,$74347,$74348,$74349,$74350,$74351,$74352,$74353,$74354),(nextval($74355),$74356,$74357,$74358,$74359,$74360,$74361,$74362,$74363,$74364,$74365,$74366,$74367,$74368),(nextval($74369),$74370,$74371,$74372,$74373,$74374,$74375,$74376,$74377,$74378,$74379,$74380,$74381,$74382),(nextval($74383),$74384,$74385,$74386,$74387,$74388,$74389,$74390,$74391,$74392,$74393,$74394,$74395,$74396),(nextval($74397),$74398,$74399,$74400,$74401,$74402,$74403,$74404,$74405,$74406,$74407,$74408,$74409,$74410),(nextval($74411),$74412,$74413,$74414,$74415,$74416,$74417,$74418,$74419,$74420,$74421,$74422,$74423,$74424),(nextval($74425),$74426,$74427,$74428,$74429,$74430,$74431,$74432,$74433,$74434,$74435,$74436,$74437,$74438),(nextval($74439),$74440,$74441,$74442,$74443,$74444,$74445,$74446,$74447,$74448,$74449,$74450,$74451,$74452),(nextval($74453),$74454,$74455,$74456,$74457,$74458,$74459,$74460,$74461,$74462,$74463,$74464,$74465,$74466),(nextval($74467),$74468,$74469,$74470,$74471,$74472,$74473,$74474,$74475,$74476,$74477,$74478,$74479,$74480),(nextval($74481),$74482,$74483,$74484,$74485,$74486,$74487,$74488,$74489,$74490,$74491,$74492,$74493,$74494),(nextval($74495),$74496,$74497,$74498,$74499,$74500,$74501,$74502,$74503,$74504,$74505,$74506,$74507,$74508),(nextval($74509),$74510,$74511,$74512,$74513,$74514,$74515,$74516,$74517,$74518,$74519,$74520,$74521,$74522),(nextval($74523),$74524,$74525,$74526,$74527,$74528,$74529,$74530,$74531,$74532,$74533,$74534,$74535,$74536),(nextval($74537),$74538,$74539,$74540,$74541,$74542,$74543,$74544,$74545,$74546,$74547,$74548,$74549,$74550),(nextval($74551),$74552,$74553,$74554,$74555,$74556,$74557,$74558,$74559,$74560,$74561,$74562,$74563,$74564),(nextval($74565),$74566,$74567,$74568,$74569,$74570,$74571,$74572,$74573,$74574,$74575,$74576,$74577,$74578),(nextval($74579),$74580,$74581,$74582,$74583,$74584,$74585,$74586,$74587,$74588,$74589,$74590,$74591,$74592),(nextval($74593),$74594,$74595,$74596,$74597,$74598,$74599,$74600,$74601,$74602,$74603,$74604,$74605,$74606),(nextval($74607),$74608,$74609,$74610,$74611,$74612,$74613,$74614,$74615,$74616,$74617,$74618,$74619,$74620),(nextval($74621),$74622,$74623,$74624,$74625,$74626,$74627,$74628,$74629,$74630,$74631,$74632,$74633,$74634),(nextval($74635),$74636,$74637,$74638,$74639,$74640,$74641,$74642,$74643,$74644,$74645,$74646,$74647,$74648),(nextval($74649),$74650,$74651,$74652,$74653,$74654,$74655,$74656,$74657,$74658,$74659,$74660,$74661,$74662),(nextval($74663),$74664,$74665,$74666,$74667,$74668,$74669,$74670,$74671,$74672,$74673,$74674,$74675,$74676),(nextval($74677),$74678,$74679,$74680,$74681,$74682,$74683,$74684,$74685,$74686,$74687,$74688,$74689,$74690),(nextval($74691),$74692,$74693,$74694,$74695,$74696,$74697,$74698,$74699,$74700,$74701,$74702,$74703,$74704),(nextval($74705),$74706,$74707,$74708,$74709,$74710,$74711,$74712,$74713,$74714,$74715,$74716,$74717,$74718),(nextval($74719),$74720,$74721,$74722,$74723,$74724,$74725,$74726,$74727,$74728,$74729,$74730,$74731,$74732),(nextval($74733),$74734,$74735,$74736,$74737,$74738,$74739,$74740,$74741,$74742,$74743,$74744,$74745,$74746),(nextval($74747),$74748,$74749,$74750,$74751,$74752,$74753,$74754,$74755,$74756,$74757,$74758,$74759,$74760),(nextval($74761),$74762,$74763,$74764,$74765,$74766,$74767,$74768,$74769,$74770,$74771,$74772,$74773,$74774),(nextval($74775),$74776,$74777,$74778,$74779,$74780,$74781,$74782,$74783,$74784,$74785,$74786,$74787,$74788),(nextval($74789),$74790,$74791,$74792,$74793,$74794,$74795,$74796,$74797,$74798,$74799,$74800,$74801,$74802),(nextval($74803),$74804,$74805,$74806,$74807,$74808,$74809,$74810,$74811,$74812,$74813,$74814,$74815,$74816),(nextval($74817),$74818,$74819,$74820,$74821,$74822,$74823,$74824,$74825,$74826,$74827,$74828,$74829,$74830),(nextval($74831),$74832,$74833,$74834,$74835,$74836,$74837,$74838,$74839,$74840,$74841,$74842,$74843,$74844),(nextval($74845),$74846,$74847,$74848,$74849,$74850,$74851,$74852,$74853,$74854,$74855,$74856,$74857,$74858),(nextval($74859),$74860,$74861,$74862,$74863,$74864,$74865,$74866,$74867,$74868,$74869,$74870,$74871,$74872),(nextval($74873),$74874,$74875,$74876,$74877,$74878,$74879,$74880,$74881,$74882,$74883,$74884,$74885,$74886),(nextval($74887),$74888,$74889,$74890,$74891,$74892,$74893,$74894,$74895,$74896,$74897,$74898,$74899,$74900),(nextval($74901),$74902,$74903,$74904,$74905,$74906,$74907,$74908,$74909,$74910,$74911,$74912,$74913,$74914),(nextval($74915),$74916,$74917,$74918,$74919,$74920,$74921,$74922,$74923,$74924,$74925,$74926,$74927,$74928),(nextval($74929),$74930,$74931,$74932,$74933,$74934,$74935,$74936,$74937,$74938,$74939,$74940,$74941,$74942),(nextval($74943),$74944,$74945,$74946,$74947,$74948,$74949,$74950,$74951,$74952,$74953,$74954,$74955,$74956),(nextval($74957),$74958,$74959,$74960,$74961,$74962,$74963,$74964,$74965,$74966,$74967,$74968,$74969,$74970),(nextval($74971),$74972,$74973,$74974,$74975,$74976,$74977,$74978,$74979,$74980,$74981,$74982,$74983,$74984),(nextval($74985),$74986,$74987,$74988,$74989,$74990,$74991,$74992,$74993,$74994,$74995,$74996,$74997,$74998),(nextval($74999),$75000,$75001,$75002,$75003,$75004,$75005,$75006,$75007,$75008,$75009,$75010,$75011,$75012),(nextval($75013),$75014,$75015,$75016,$75017,$75018,$75019,$75020,$75021,$75022,$75023,$75024,$75025,$75026),(nextval($75027),$75028,$75029,$75030,$75031,$75032,$75033,$75034,$75035,$75036,$75037,$75038,$75039,$75040),(nextval($75041),$75042,$75043,$75044,$75045,$75046,$75047,$75048,$75049,$75050,$75051,$75052,$75053,$75054),(nextval($75055),$75056,$75057,$75058,$75059,$75060,$75061,$75062,$75063,$75064,$75065,$75066,$75067,$75068),(nextval($75069),$75070,$75071,$75072,$75073,$75074,$75075,$75076,$75077,$75078,$75079,$75080,$75081,$75082),(nextval($75083),$75084,$75085,$75086,$75087,$75088,$75089,$75090,$75091,$75092,$75093,$75094,$75095,$75096),(nextval($75097),$75098,$75099,$75100,$75101,$75102,$75103,$75104,$75105,$75106,$75107,$75108,$75109,$75110),(nextval($75111),$75112,$75113,$75114,$75115,$75116,$75117,$75118,$75119,$75120,$75121,$75122,$75123,$75124),(nextval($75125),$75126,$75127,$75128,$75129,$75130,$75131,$75132,$75133,$75134,$75135,$75136,$75137,$75138),(nextval($75139),$75140,$75141,$75142,$75143,$75144,$75145,$75146,$75147,$75148,$75149,$75150,$75151,$75152),(nextval($75153),$75154,$75155,$75156,$75157,$75158,$75159,$75160,$75161,$75162,$75163,$75164,$75165,$75166),(nextval($75167),$75168,$75169,$75170,$75171,$75172,$75173,$75174,$75175,$75176,$75177,$75178,$75179,$75180),(nextval($75181),$75182,$75183,$75184,$75185,$75186,$75187,$75188,$75189,$75190,$75191,$75192,$75193,$75194),(nextval($75195),$75196,$75197,$75198,$75199,$75200,$75201,$75202,$75203,$75204,$75205,$75206,$75207,$75208),(nextval($75209),$75210,$75211,$75212,$75213,$75214,$75215,$75216,$75217,$75218,$75219,$75220,$75221,$75222),(nextval($75223),$75224,$75225,$75226,$75227,$75228,$75229,$75230,$75231,$75232,$75233,$75234,$75235,$75236),(nextval($75237),$75238,$75239,$75240,$75241,$75242,$75243,$75244,$75245,$75246,$75247,$75248,$75249,$75250),(nextval($75251),$75252,$75253,$75254,$75255,$75256,$75257,$75258,$75259,$75260,$75261,$75262,$75263,$75264),(nextval($75265),$75266,$75267,$75268,$75269,$75270,$75271,$75272,$75273,$75274,$75275,$75276,$75277,$75278),(nextval($75279),$75280,$75281,$75282,$75283,$75284,$75285,$75286,$75287,$75288,$75289,$75290,$75291,$75292),(nextval($75293),$75294,$75295,$75296,$75297,$75298,$75299,$75300,$75301,$75302,$75303,$75304,$75305,$75306),(nextval($75307),$75308,$75309,$75310,$75311,$75312,$75313,$75314,$75315,$75316,$75317,$75318,$75319,$75320),(nextval($75321),$75322,$75323,$75324,$75325,$75326,$75327,$75328,$75329,$75330,$75331,$75332,$75333,$75334),(nextval($75335),$75336,$75337,$75338,$75339,$75340,$75341,$75342,$75343,$75344,$75345,$75346,$75347,$75348),(nextval($75349),$75350,$75351,$75352,$75353,$75354,$75355,$75356,$75357,$75358,$75359,$75360,$75361,$75362),(nextval($75363),$75364,$75365,$75366,$75367,$75368,$75369,$75370,$75371,$75372,$75373,$75374,$75375,$75376),(nextval($75377),$75378,$75379,$75380,$75381,$75382,$75383,$75384,$75385,$75386,$75387,$75388,$75389,$75390),(nextval($75391),$75392,$75393,$75394,$75395,$75396,$75397,$75398,$75399,$75400,$75401,$75402,$75403,$75404),(nextval($75405),$75406,$75407,$75408,$75409,$75410,$75411,$75412,$75413,$75414,$75415,$75416,$75417,$75418),(nextval($75419),$75420,$75421,$75422,$75423,$75424,$75425,$75426,$75427,$75428,$75429,$75430,$75431,$75432),(nextval($75433),$75434,$75435,$75436,$75437,$75438,$75439,$75440,$75441,$75442,$75443,$75444,$75445,$75446),(nextval($75447),$75448,$75449,$75450,$75451,$75452,$75453,$75454,$75455,$75456,$75457,$75458,$75459,$75460),(nextval($75461),$75462,$75463,$75464,$75465,$75466,$75467,$75468,$75469,$75470,$75471,$75472,$75473,$75474),(nextval($75475),$75476,$75477,$75478,$75479,$75480,$75481,$75482,$75483,$75484,$75485,$75486,$75487,$75488),(nextval($75489),$75490,$75491,$75492,$75493,$75494,$75495,$75496,$75497,$75498,$75499,$75500,$75501,$75502),(nextval($75503),$75504,$75505,$75506,$75507,$75508,$75509,$75510,$75511,$75512,$75513,$75514,$75515,$75516),(nextval($75517),$75518,$75519,$75520,$75521,$75522,$75523,$75524,$75525,$75526,$75527,$75528,$75529,$75530),(nextval($75531),$75532,$75533,$75534,$75535,$75536,$75537,$75538,$75539,$75540,$75541,$75542,$75543,$75544),(nextval($75545),$75546,$75547,$75548,$75549,$75550,$75551,$75552,$75553,$75554,$75555,$75556,$75557,$75558),(nextval($75559),$75560,$75561,$75562,$75563,$75564,$75565,$75566,$75567,$75568,$75569,$75570,$75571,$75572),(nextval($75573),$75574,$75575,$75576,$75577,$75578,$75579,$75580,$75581,$75582,$75583,$75584,$75585,$75586),(nextval($75587),$75588,$75589,$75590,$75591,$75592,$75593,$75594,$75595,$75596,$75597,$75598,$75599,$75600),(nextval($75601),$75602,$75603,$75604,$75605,$75606,$75607,$75608,$75609,$75610,$75611,$75612,$75613,$75614),(nextval($75615),$75616,$75617,$75618,$75619,$75620,$75621,$75622,$75623,$75624,$75625,$75626,$75627,$75628),(nextval($75629),$75630,$75631,$75632,$75633,$75634,$75635,$75636,$75637,$75638,$75639,$75640,$75641,$75642),(nextval($75643),$75644,$75645,$75646,$75647,$75648,$75649,$75650,$75651,$75652,$75653,$75654,$75655,$75656),(nextval($75657),$75658,$75659,$75660,$75661,$75662,$75663,$75664,$75665,$75666,$75667,$75668,$75669,$75670),(nextval($75671),$75672,$75673,$75674,$75675,$75676,$75677,$75678,$75679,$75680,$75681,$75682,$75683,$75684),(nextval($75685),$75686,$75687,$75688,$75689,$75690,$75691,$75692,$75693,$75694,$75695,$75696,$75697,$75698),(nextval($75699),$75700,$75701,$75702,$75703,$75704,$75705,$75706,$75707,$75708,$75709,$75710,$75711,$75712),(nextval($75713),$75714,$75715,$75716,$75717,$75718,$75719,$75720,$75721,$75722,$75723,$75724,$75725,$75726),(nextval($75727),$75728,$75729,$75730,$75731,$75732,$75733,$75734,$75735,$75736,$75737,$75738,$75739,$75740),(nextval($75741),$75742,$75743,$75744,$75745,$75746,$75747,$75748,$75749,$75750,$75751,$75752,$75753,$75754),(nextval($75755),$75756,$75757,$75758,$75759,$75760,$75761,$75762,$75763,$75764,$75765,$75766,$75767,$75768),(nextval($75769),$75770,$75771,$75772,$75773,$75774,$75775,$75776,$75777,$75778,$75779,$75780,$75781,$75782),(nextval($75783),$75784,$75785,$75786,$75787,$75788,$75789,$75790,$75791,$75792,$75793,$75794,$75795,$75796),(nextval($75797),$75798,$75799,$75800,$75801,$75802,$75803,$75804,$75805,$75806,$75807,$75808,$75809,$75810),(nextval($75811),$75812,$75813,$75814,$75815,$75816,$75817,$75818,$75819,$75820,$75821,$75822,$75823,$75824),(nextval($75825),$75826,$75827,$75828,$75829,$75830,$75831,$75832,$75833,$75834,$75835,$75836,$75837,$75838),(nextval($75839),$75840,$75841,$75842,$75843,$75844,$75845,$75846,$75847,$75848,$75849,$75850,$75851,$75852),(nextval($75853),$75854,$75855,$75856,$75857,$75858,$75859,$75860,$75861,$75862,$75863,$75864,$75865,$75866),(nextval($75867),$75868,$75869,$75870,$75871,$75872,$75873,$75874,$75875,$75876,$75877,$75878,$75879,$75880),(nextval($75881),$75882,$75883,$75884,$75885,$75886,$75887,$75888,$75889,$75890,$75891,$75892,$75893,$75894),(nextval($75895),$75896,$75897,$75898,$75899,$75900,$75901,$75902,$75903,$75904,$75905,$75906,$75907,$75908),(nextval($75909),$75910,$75911,$75912,$75913,$75914,$75915,$75916,$75917,$75918,$75919,$75920,$75921,$75922),(nextval($75923),$75924,$75925,$75926,$75927,$75928,$75929,$75930,$75931,$75932,$75933,$75934,$75935,$75936),(nextval($75937),$75938,$75939,$75940,$75941,$75942,$75943,$75944,$75945,$75946,$75947,$75948,$75949,$75950),(nextval($75951),$75952,$75953,$75954,$75955,$75956,$75957,$75958,$75959,$75960,$75961,$75962,$75963,$75964),(nextval($75965),$75966,$75967,$75968,$75969,$75970,$75971,$75972,$75973,$75974,$75975,$75976,$75977,$75978),(nextval($75979),$75980,$75981,$75982,$75983,$75984,$75985,$75986,$75987,$75988,$75989,$75990,$75991,$75992),(nextval($75993),$75994,$75995,$75996,$75997,$75998,$75999,$76000,$76001,$76002,$76003,$76004,$76005,$76006),(nextval($76007),$76008,$76009,$76010,$76011,$76012,$76013,$76014,$76015,$76016,$76017,$76018,$76019,$76020),(nextval($76021),$76022,$76023,$76024,$76025,$76026,$76027,$76028,$76029,$76030,$76031,$76032,$76033,$76034),(nextval($76035),$76036,$76037,$76038,$76039,$76040,$76041,$76042,$76043,$76044,$76045,$76046,$76047,$76048),(nextval($76049),$76050,$76051,$76052,$76053,$76054,$76055,$76056,$76057,$76058,$76059,$76060,$76061,$76062),(nextval($76063),$76064,$76065,$76066,$76067,$76068,$76069,$76070,$76071,$76072,$76073,$76074,$76075,$76076),(nextval($76077),$76078,$76079,$76080,$76081,$76082,$76083,$76084,$76085,$76086,$76087,$76088,$76089,$76090),(nextval($76091),$76092,$76093,$76094,$76095,$76096,$76097,$76098,$76099,$76100,$76101,$76102,$76103,$76104),(nextval($76105),$76106,$76107,$76108,$76109,$76110,$76111,$76112,$76113,$76114,$76115,$76116,$76117,$76118),(nextval($76119),$76120,$76121,$76122,$76123,$76124,$76125,$76126,$76127,$76128,$76129,$76130,$76131,$76132),(nextval($76133),$76134,$76135,$76136,$76137,$76138,$76139,$76140,$76141,$76142,$76143,$76144,$76145,$76146),(nextval($76147),$76148,$76149,$76150,$76151,$76152,$76153,$76154,$76155,$76156,$76157,$76158,$76159,$76160),(nextval($76161),$76162,$76163,$76164,$76165,$76166,$76167,$76168,$76169,$76170,$76171,$76172,$76173,$76174),(nextval($76175),$76176,$76177,$76178,$76179,$76180,$76181,$76182,$76183,$76184,$76185,$76186,$76187,$76188),(nextval($76189),$76190,$76191,$76192,$76193,$76194,$76195,$76196,$76197,$76198,$76199,$76200,$76201,$76202),(nextval($76203),$76204,$76205,$76206,$76207,$76208,$76209,$76210,$76211,$76212,$76213,$76214,$76215,$76216),(nextval($76217),$76218,$76219,$76220,$76221,$76222,$76223,$76224,$76225,$76226,$76227,$76228,$76229,$76230),(nextval($76231),$76232,$76233,$76234,$76235,$76236,$76237,$76238,$76239,$76240,$76241,$76242,$76243,$76244),(nextval($76245),$76246,$76247,$76248,$76249,$76250,$76251,$76252,$76253,$76254,$76255,$76256,$76257,$76258),(nextval($76259),$76260,$76261,$76262,$76263,$76264,$76265,$76266,$76267,$76268,$76269,$76270,$76271,$76272),(nextval($76273),$76274,$76275,$76276,$76277,$76278,$76279,$76280,$76281,$76282,$76283,$76284,$76285,$76286),(nextval($76287),$76288,$76289,$76290,$76291,$76292,$76293,$76294,$76295,$76296,$76297,$76298,$76299,$76300),(nextval($76301),$76302,$76303,$76304,$76305,$76306,$76307,$76308,$76309,$76310,$76311,$76312,$76313,$76314),(nextval($76315),$76316,$76317,$76318,$76319,$76320,$76321,$76322,$76323,$76324,$76325,$76326,$76327,$76328),(nextval($76329),$76330,$76331,$76332,$76333,$76334,$76335,$76336,$76337,$76338,$76339,$76340,$76341,$76342),(nextval($76343),$76344,$76345,$76346,$76347,$76348,$76349,$76350,$76351,$76352,$76353,$76354,$76355,$76356),(nextval($76357),$76358,$76359,$76360,$76361,$76362,$76363,$76364,$76365,$76366,$76367,$76368,$76369,$76370),(nextval($76371),$76372,$76373,$76374,$76375,$76376,$76377,$76378,$76379,$76380,$76381,$76382,$76383,$76384),(nextval($76385),$76386,$76387,$76388,$76389,$76390,$76391,$76392,$76393,$76394,$76395,$76396,$76397,$76398),(nextval($76399),$76400,$76401,$76402,$76403,$76404,$76405,$76406,$76407,$76408,$76409,$76410,$76411,$76412),(nextval($76413),$76414,$76415,$76416,$76417,$76418,$76419,$76420,$76421,$76422,$76423,$76424,$76425,$76426),(nextval($76427),$76428,$76429,$76430,$76431,$76432,$76433,$76434,$76435,$76436,$76437,$76438,$76439,$76440),(nextval($76441),$76442,$76443,$76444,$76445,$76446,$76447,$76448,$76449,$76450,$76451,$76452,$76453,$76454),(nextval($76455),$76456,$76457,$76458,$76459,$76460,$76461,$76462,$76463,$76464,$76465,$76466,$76467,$76468),(nextval($76469),$76470,$76471,$76472,$76473,$76474,$76475,$76476,$76477,$76478,$76479,$76480,$76481,$76482),(nextval($76483),$76484,$76485,$76486,$76487,$76488,$76489,$76490,$76491,$76492,$76493,$76494,$76495,$76496),(nextval($76497),$76498,$76499,$76500,$76501,$76502,$76503,$76504,$76505,$76506,$76507,$76508,$76509,$76510),(nextval($76511),$76512,$76513,$76514,$76515,$76516,$76517,$76518,$76519,$76520,$76521,$76522,$76523,$76524),(nextval($76525),$76526,$76527,$76528,$76529,$76530,$76531,$76532,$76533,$76534,$76535,$76536,$76537,$76538),(nextval($76539),$76540,$76541,$76542,$76543,$76544,$76545,$76546,$76547,$76548,$76549,$76550,$76551,$76552),(nextval($76553),$76554,$76555,$76556,$76557,$76558,$76559,$76560,$76561,$76562,$76563,$76564,$76565,$76566),(nextval($76567),$76568,$76569,$76570,$76571,$76572,$76573,$76574,$76575,$76576,$76577,$76578,$76579,$76580),(nextval($76581),$76582,$76583,$76584,$76585,$76586,$76587,$76588,$76589,$76590,$76591,$76592,$76593,$76594),(nextval($76595),$76596,$76597,$76598,$76599,$76600,$76601,$76602,$76603,$76604,$76605,$76606,$76607,$76608),(nextval($76609),$76610,$76611,$76612,$76613,$76614,$76615,$76616,$76617,$76618,$76619,$76620,$76621,$76622),(nextval($76623),$76624,$76625,$76626,$76627,$76628,$76629,$76630,$76631,$76632,$76633,$76634,$76635,$76636),(nextval($76637),$76638,$76639,$76640,$76641,$76642,$76643,$76644,$76645,$76646,$76647,$76648,$76649,$76650),(nextval($76651),$76652,$76653,$76654,$76655,$76656,$76657,$76658,$76659,$76660,$76661,$76662,$76663,$76664),(nextval($76665),$76666,$76667,$76668,$76669,$76670,$76671,$76672,$76673,$76674,$76675,$76676,$76677,$76678),(nextval($76679),$76680,$76681,$76682,$76683,$76684,$76685,$76686,$76687,$76688,$76689,$76690,$76691,$76692),(nextval($76693),$76694,$76695,$76696,$76697,$76698,$76699,$76700,$76701,$76702,$76703,$76704,$76705,$76706),(nextval($76707),$76708,$76709,$76710,$76711,$76712,$76713,$76714,$76715,$76716,$76717,$76718,$76719,$76720),(nextval($76721),$76722,$76723,$76724,$76725,$76726,$76727,$76728,$76729,$76730,$76731,$76732,$76733,$76734),(nextval($76735),$76736,$76737,$76738,$76739,$76740,$76741,$76742,$76743,$76744,$76745,$76746,$76747,$76748),(nextval($76749),$76750,$76751,$76752,$76753,$76754,$76755,$76756,$76757,$76758,$76759,$76760,$76761,$76762),(nextval($76763),$76764,$76765,$76766,$76767,$76768,$76769,$76770,$76771,$76772,$76773,$76774,$76775,$76776),(nextval($76777),$76778,$76779,$76780,$76781,$76782,$76783,$76784,$76785,$76786,$76787,$76788,$76789,$76790),(nextval($76791),$76792,$76793,$76794,$76795,$76796,$76797,$76798,$76799,$76800,$76801,$76802,$76803,$76804),(nextval($76805),$76806,$76807,$76808,$76809,$76810,$76811,$76812,$76813,$76814,$76815,$76816,$76817,$76818),(nextval($76819),$76820,$76821,$76822,$76823,$76824,$76825,$76826,$76827,$76828,$76829,$76830,$76831,$76832),(nextval($76833),$76834,$76835,$76836,$76837,$76838,$76839,$76840,$76841,$76842,$76843,$76844,$76845,$76846),(nextval($76847),$76848,$76849,$76850,$76851,$76852,$76853,$76854,$76855,$76856,$76857,$76858,$76859,$76860),(nextval($76861),$76862,$76863,$76864,$76865,$76866,$76867,$76868,$76869,$76870,$76871,$76872,$76873,$76874),(nextval($76875),$76876,$76877,$76878,$76879,$76880,$76881,$76882,$76883,$76884,$76885,$76886,$76887,$76888),(nextval($76889),$76890,$76891,$76892,$76893,$76894,$76895,$76896,$76897,$76898,$76899,$76900,$76901,$76902),(nextval($76903),$76904,$76905,$76906,$76907,$76908,$76909,$76910,$76911,$76912,$76913,$76914,$76915,$76916),(nextval($76917),$76918,$76919,$76920,$76921,$76922,$76923,$76924,$76925,$76926,$76927,$76928,$76929,$76930),(nextval($76931),$76932,$76933,$76934,$76935,$76936,$76937,$76938,$76939,$76940,$76941,$76942,$76943,$76944),(nextval($76945),$76946,$76947,$76948,$76949,$76950,$76951,$76952,$76953,$76954,$76955,$76956,$76957,$76958),(nextval($76959),$76960,$76961,$76962,$76963,$76964,$76965,$76966,$76967,$76968,$76969,$76970,$76971,$76972),(nextval($76973),$76974,$76975,$76976,$76977,$76978,$76979,$76980,$76981,$76982,$76983,$76984,$76985,$76986),(nextval($76987),$76988,$76989,$76990,$76991,$76992,$76993,$76994,$76995,$76996,$76997,$76998,$76999,$77000),(nextval($77001),$77002,$77003,$77004,$77005,$77006,$77007,$77008,$77009,$77010,$77011,$77012,$77013,$77014),(nextval($77015),$77016,$77017,$77018,$77019,$77020,$77021,$77022,$77023,$77024,$77025,$77026,$77027,$77028),(nextval($77029),$77030,$77031,$77032,$77033,$77034,$77035,$77036,$77037,$77038,$77039,$77040,$77041,$77042),(nextval($77043),$77044,$77045,$77046,$77047,$77048,$77049,$77050,$77051,$77052,$77053,$77054,$77055,$77056),(nextval($77057),$77058,$77059,$77060,$77061,$77062,$77063,$77064,$77065,$77066,$77067,$77068,$77069,$77070),(nextval($77071),$77072,$77073,$77074,$77075,$77076,$77077,$77078,$77079,$77080,$77081,$77082,$77083,$77084),(nextval($77085),$77086,$77087,$77088,$77089,$77090,$77091,$77092,$77093,$77094,$77095,$77096,$77097,$77098),(nextval($77099),$77100,$77101,$77102,$77103,$77104,$77105,$77106,$77107,$77108,$77109,$77110,$77111,$77112),(nextval($77113),$77114,$77115,$77116,$77117,$77118,$77119,$77120,$77121,$77122,$77123,$77124,$77125,$77126),(nextval($77127),$77128,$77129,$77130,$77131,$77132,$77133,$77134,$77135,$77136,$77137,$77138,$77139,$77140),(nextval($77141),$77142,$77143,$77144,$77145,$77146,$77147,$77148,$77149,$77150,$77151,$77152,$77153,$77154),(nextval($77155),$77156,$77157,$77158,$77159,$77160,$77161,$77162,$77163,$77164,$77165,$77166,$77167,$77168),(nextval($77169),$77170,$77171,$77172,$77173,$77174,$77175,$77176,$77177,$77178,$77179,$77180,$77181,$77182),(nextval($77183),$77184,$77185,$77186,$77187,$77188,$77189,$77190,$77191,$77192,$77193,$77194,$77195,$77196),(nextval($77197),$77198,$77199,$77200,$77201,$77202,$77203,$77204,$77205,$77206,$77207,$77208,$77209,$77210),(nextval($77211),$77212,$77213,$77214,$77215,$77216,$77217,$77218,$77219,$77220,$77221,$77222,$77223,$77224),(nextval($77225),$77226,$77227,$77228,$77229,$77230,$77231,$77232,$77233,$77234,$77235,$77236,$77237,$77238),(nextval($77239),$77240,$77241,$77242,$77243,$77244,$77245,$77246,$77247,$77248,$77249,$77250,$77251,$77252),(nextval($77253),$77254,$77255,$77256,$77257,$77258,$77259,$77260,$77261,$77262,$77263,$77264,$77265,$77266),(nextval($77267),$77268,$77269,$77270,$77271,$77272,$77273,$77274,$77275,$77276,$77277,$77278,$77279,$77280),(nextval($77281),$77282,$77283,$77284,$77285,$77286,$77287,$77288,$77289,$77290,$77291,$77292,$77293,$77294),(nextval($77295),$77296,$77297,$77298,$77299,$77300,$77301,$77302,$77303,$77304,$77305,$77306,$77307,$77308),(nextval($77309),$77310,$77311,$77312,$77313,$77314,$77315,$77316,$77317,$77318,$77319,$77320,$77321,$77322),(nextval($77323),$77324,$77325,$77326,$77327,$77328,$77329,$77330,$77331,$77332,$77333,$77334,$77335,$77336),(nextval($77337),$77338,$77339,$77340,$77341,$77342,$77343,$77344,$77345,$77346,$77347,$77348,$77349,$77350),(nextval($77351),$77352,$77353,$77354,$77355,$77356,$77357,$77358,$77359,$77360,$77361,$77362,$77363,$77364),(nextval($77365),$77366,$77367,$77368,$77369,$77370,$77371,$77372,$77373,$77374,$77375,$77376,$77377,$77378),(nextval($77379),$77380,$77381,$77382,$77383,$77384,$77385,$77386,$77387,$77388,$77389,$77390,$77391,$77392),(nextval($77393),$77394,$77395,$77396,$77397,$77398,$77399,$77400,$77401,$77402,$77403,$77404,$77405,$77406),(nextval($77407),$77408,$77409,$77410,$77411,$77412,$77413,$77414,$77415,$77416,$77417,$77418,$77419,$77420),(nextval($77421),$77422,$77423,$77424,$77425,$77426,$77427,$77428,$77429,$77430,$77431,$77432,$77433,$77434),(nextval($77435),$77436,$77437,$77438,$77439,$77440,$77441,$77442,$77443,$77444,$77445,$77446,$77447,$77448),(nextval($77449),$77450,$77451,$77452,$77453,$77454,$77455,$77456,$77457,$77458,$77459,$77460,$77461,$77462),(nextval($77463),$77464,$77465,$77466,$77467,$77468,$77469,$77470,$77471,$77472,$77473,$77474,$77475,$77476),(nextval($77477),$77478,$77479,$77480,$77481,$77482,$77483,$77484,$77485,$77486,$77487,$77488,$77489,$77490),(nextval($77491),$77492,$77493,$77494,$77495,$77496,$77497,$77498,$77499,$77500,$77501,$77502,$77503,$77504),(nextval($77505),$77506,$77507,$77508,$77509,$77510,$77511,$77512,$77513,$77514,$77515,$77516,$77517,$77518),(nextval($77519),$77520,$77521,$77522,$77523,$77524,$77525,$77526,$77527,$77528,$77529,$77530,$77531,$77532),(nextval($77533),$77534,$77535,$77536,$77537,$77538,$77539,$77540,$77541,$77542,$77543,$77544,$77545,$77546),(nextval($77547),$77548,$77549,$77550,$77551,$77552,$77553,$77554,$77555,$77556,$77557,$77558,$77559,$77560),(nextval($77561),$77562,$77563,$77564,$77565,$77566,$77567,$77568,$77569,$77570,$77571,$77572,$77573,$77574),(nextval($77575),$77576,$77577,$77578,$77579,$77580,$77581,$77582,$77583,$77584,$77585,$77586,$77587,$77588),(nextval($77589),$77590,$77591,$77592,$77593,$77594,$77595,$77596,$77597,$77598,$77599,$77600,$77601,$77602),(nextval($77603),$77604,$77605,$77606,$77607,$77608,$77609,$77610,$77611,$77612,$77613,$77614,$77615,$77616),(nextval($77617),$77618,$77619,$77620,$77621,$77622,$77623,$77624,$77625,$77626,$77627,$77628,$77629,$77630),(nextval($77631),$77632,$77633,$77634,$77635,$77636,$77637,$77638,$77639,$77640,$77641,$77642,$77643,$77644),(nextval($77645),$77646,$77647,$77648,$77649,$77650,$77651,$77652,$77653,$77654,$77655,$77656,$77657,$77658),(nextval($77659),$77660,$77661,$77662,$77663,$77664,$77665,$77666,$77667,$77668,$77669,$77670,$77671,$77672),(nextval($77673),$77674,$77675,$77676,$77677,$77678,$77679,$77680,$77681,$77682,$77683,$77684,$77685,$77686),(nextval($77687),$77688,$77689,$77690,$77691,$77692,$77693,$77694,$77695,$77696,$77697,$77698,$77699,$77700),(nextval($77701),$77702,$77703,$77704,$77705,$77706,$77707,$77708,$77709,$77710,$77711,$77712,$77713,$77714),(nextval($77715),$77716,$77717,$77718,$77719,$77720,$77721,$77722,$77723,$77724,$77725,$77726,$77727,$77728),(nextval($77729),$77730,$77731,$77732,$77733,$77734,$77735,$77736,$77737,$77738,$77739,$77740,$77741,$77742),(nextval($77743),$77744,$77745,$77746,$77747,$77748,$77749,$77750,$77751,$77752,$77753,$77754,$77755,$77756),(nextval($77757),$77758,$77759,$77760,$77761,$77762,$77763,$77764,$77765,$77766,$77767,$77768,$77769,$77770),(nextval($77771),$77772,$77773,$77774,$77775,$77776,$77777,$77778,$77779,$77780,$77781,$77782,$77783,$77784),(nextval($77785),$77786,$77787,$77788,$77789,$77790,$77791,$77792,$77793,$77794,$77795,$77796,$77797,$77798),(nextval($77799),$77800,$77801,$77802,$77803,$77804,$77805,$77806,$77807,$77808,$77809,$77810,$77811,$77812),(nextval($77813),$77814,$77815,$77816,$77817,$77818,$77819,$77820,$77821,$77822,$77823,$77824,$77825,$77826),(nextval($77827),$77828,$77829,$77830,$77831,$77832,$77833,$77834,$77835,$77836,$77837,$77838,$77839,$77840),(nextval($77841),$77842,$77843,$77844,$77845,$77846,$77847,$77848,$77849,$77850,$77851,$77852,$77853,$77854),(nextval($77855),$77856,$77857,$77858,$77859,$77860,$77861,$77862,$77863,$77864,$77865,$77866,$77867,$77868),(nextval($77869),$77870,$77871,$77872,$77873,$77874,$77875,$77876,$77877,$77878,$77879,$77880,$77881,$77882),(nextval($77883),$77884,$77885,$77886,$77887,$77888,$77889,$77890,$77891,$77892,$77893,$77894,$77895,$77896),(nextval($77897),$77898,$77899,$77900,$77901,$77902,$77903,$77904,$77905,$77906,$77907,$77908,$77909,$77910),(nextval($77911),$77912,$77913,$77914,$77915,$77916,$77917,$77918,$77919,$77920,$77921,$77922,$77923,$77924),(nextval($77925),$77926,$77927,$77928,$77929,$77930,$77931,$77932,$77933,$77934,$77935,$77936,$77937,$77938),(nextval($77939),$77940,$77941,$77942,$77943,$77944,$77945,$77946,$77947,$77948,$77949,$77950,$77951,$77952),(nextval($77953),$77954,$77955,$77956,$77957,$77958,$77959,$77960,$77961,$77962,$77963,$77964,$77965,$77966),(nextval($77967),$77968,$77969,$77970,$77971,$77972,$77973,$77974,$77975,$77976,$77977,$77978,$77979,$77980),(nextval($77981),$77982,$77983,$77984,$77985,$77986,$77987,$77988,$77989,$77990,$77991,$77992,$77993,$77994),(nextval($77995),$77996,$77997,$77998,$77999,$78000,$78001,$78002,$78003,$78004,$78005,$78006,$78007,$78008),(nextval($78009),$78010,$78011,$78012,$78013,$78014,$78015,$78016,$78017,$78018,$78019,$78020,$78021,$78022),(nextval($78023),$78024,$78025,$78026,$78027,$78028,$78029,$78030,$78031,$78032,$78033,$78034,$78035,$78036),(nextval($78037),$78038,$78039,$78040,$78041,$78042,$78043,$78044,$78045,$78046,$78047,$78048,$78049,$78050),(nextval($78051),$78052,$78053,$78054,$78055,$78056,$78057,$78058,$78059,$78060,$78061,$78062,$78063,$78064),(nextval($78065),$78066,$78067,$78068,$78069,$78070,$78071,$78072,$78073,$78074,$78075,$78076,$78077,$78078),(nextval($78079),$78080,$78081,$78082,$78083,$78084,$78085,$78086,$78087,$78088,$78089,$78090,$78091,$78092),(nextval($78093),$78094,$78095,$78096,$78097,$78098,$78099,$78100,$78101,$78102,$78103,$78104,$78105,$78106),(nextval($78107),$78108,$78109,$78110,$78111,$78112,$78113,$78114,$78115,$78116,$78117,$78118,$78119,$78120),(nextval($78121),$78122,$78123,$78124,$78125,$78126,$78127,$78128,$78129,$78130,$78131,$78132,$78133,$78134),(nextval($78135),$78136,$78137,$78138,$78139,$78140,$78141,$78142,$78143,$78144,$78145,$78146,$78147,$78148),(nextval($78149),$78150,$78151,$78152,$78153,$78154,$78155,$78156,$78157,$78158,$78159,$78160,$78161,$78162),(nextval($78163),$78164,$78165,$78166,$78167,$78168,$78169,$78170,$78171,$78172,$78173,$78174,$78175,$78176),(nextval($78177),$78178,$78179,$78180,$78181,$78182,$78183,$78184,$78185,$78186,$78187,$78188,$78189,$78190),(nextval($78191),$78192,$78193,$78194,$78195,$78196,$78197,$78198,$78199,$78200,$78201,$78202,$78203,$78204),(nextval($78205),$78206,$78207,$78208,$78209,$78210,$78211,$78212,$78213,$78214,$78215,$78216,$78217,$78218),(nextval($78219),$78220,$78221,$78222,$78223,$78224,$78225,$78226,$78227,$78228,$78229,$78230,$78231,$78232),(nextval($78233),$78234,$78235,$78236,$78237,$78238,$78239,$78240,$78241,$78242,$78243,$78244,$78245,$78246),(nextval($78247),$78248,$78249,$78250,$78251,$78252,$78253,$78254,$78255,$78256,$78257,$78258,$78259,$78260),(nextval($78261),$78262,$78263,$78264,$78265,$78266,$78267,$78268,$78269,$78270,$78271,$78272,$78273,$78274),(nextval($78275),$78276,$78277,$78278,$78279,$78280,$78281,$78282,$78283,$78284,$78285,$78286,$78287,$78288),(nextval($78289),$78290,$78291,$78292,$78293,$78294,$78295,$78296,$78297,$78298,$78299,$78300,$78301,$78302),(nextval($78303),$78304,$78305,$78306,$78307,$78308,$78309,$78310,$78311,$78312,$78313,$78314,$78315,$78316),(nextval($78317),$78318,$78319,$78320,$78321,$78322,$78323,$78324,$78325,$78326,$78327,$78328,$78329,$78330),(nextval($78331),$78332,$78333,$78334,$78335,$78336,$78337,$78338,$78339,$78340,$78341,$78342,$78343,$78344),(nextval($78345),$78346,$78347,$78348,$78349,$78350,$78351,$78352,$78353,$78354,$78355,$78356,$78357,$78358),(nextval($78359),$78360,$78361,$78362,$78363,$78364,$78365,$78366,$78367,$78368,$78369,$78370,$78371,$78372),(nextval($78373),$78374,$78375,$78376,$78377,$78378,$78379,$78380,$78381,$78382,$78383,$78384,$78385,$78386),(nextval($78387),$78388,$78389,$78390,$78391,$78392,$78393,$78394,$78395,$78396,$78397,$78398,$78399,$78400),(nextval($78401),$78402,$78403,$78404,$78405,$78406,$78407,$78408,$78409,$78410,$78411,$78412,$78413,$78414),(nextval($78415),$78416,$78417,$78418,$78419,$78420,$78421,$78422,$78423,$78424,$78425,$78426,$78427,$78428),(nextval($78429),$78430,$78431,$78432,$78433,$78434,$78435,$78436,$78437,$78438,$78439,$78440,$78441,$78442),(nextval($78443),$78444,$78445,$78446,$78447,$78448,$78449,$78450,$78451,$78452,$78453,$78454,$78455,$78456),(nextval($78457),$78458,$78459,$78460,$78461,$78462,$78463,$78464,$78465,$78466,$78467,$78468,$78469,$78470),(nextval($78471),$78472,$78473,$78474,$78475,$78476,$78477,$78478,$78479,$78480,$78481,$78482,$78483,$78484),(nextval($78485),$78486,$78487,$78488,$78489,$78490,$78491,$78492,$78493,$78494,$78495,$78496,$78497,$78498),(nextval($78499),$78500,$78501,$78502,$78503,$78504,$78505,$78506,$78507,$78508,$78509,$78510,$78511,$78512),(nextval($78513),$78514,$78515,$78516,$78517,$78518,$78519,$78520,$78521,$78522,$78523,$78524,$78525,$78526),(nextval($78527),$78528,$78529,$78530,$78531,$78532,$78533,$78534,$78535,$78536,$78537,$78538,$78539,$78540),(nextval($78541),$78542,$78543,$78544,$78545,$78546,$78547,$78548,$78549,$78550,$78551,$78552,$78553,$78554),(nextval($78555),$78556,$78557,$78558,$78559,$78560,$78561,$78562,$78563,$78564,$78565,$78566,$78567,$78568),(nextval($78569),$78570,$78571,$78572,$78573,$78574,$78575,$78576,$78577,$78578,$78579,$78580,$78581,$78582),(nextval($78583),$78584,$78585,$78586,$78587,$78588,$78589,$78590,$78591,$78592,$78593,$78594,$78595,$78596),(nextval($78597),$78598,$78599,$78600,$78601,$78602,$78603,$78604,$78605,$78606,$78607,$78608,$78609,$78610),(nextval($78611),$78612,$78613,$78614,$78615,$78616,$78617,$78618,$78619,$78620,$78621,$78622,$78623,$78624),(nextval($78625),$78626,$78627,$78628,$78629,$78630,$78631,$78632,$78633,$78634,$78635,$78636,$78637,$78638),(nextval($78639),$78640,$78641,$78642,$78643,$78644,$78645,$78646,$78647,$78648,$78649,$78650,$78651,$78652),(nextval($78653),$78654,$78655,$78656,$78657,$78658,$78659,$78660,$78661,$78662,$78663,$78664,$78665,$78666),(nextval($78667),$78668,$78669,$78670,$78671,$78672,$78673,$78674,$78675,$78676,$78677,$78678,$78679,$78680),(nextval($78681),$78682,$78683,$78684,$78685,$78686,$78687,$78688,$78689,$78690,$78691,$78692,$78693,$78694),(nextval($78695),$78696,$78697,$78698,$78699,$78700,$78701,$78702,$78703,$78704,$78705,$78706,$78707,$78708),(nextval($78709),$78710,$78711,$78712,$78713,$78714,$78715,$78716,$78717,$78718,$78719,$78720,$78721,$78722),(nextval($78723),$78724,$78725,$78726,$78727,$78728,$78729,$78730,$78731,$78732,$78733,$78734,$78735,$78736),(nextval($78737),$78738,$78739,$78740,$78741,$78742,$78743,$78744,$78745,$78746,$78747,$78748,$78749,$78750),(nextval($78751),$78752,$78753,$78754,$78755,$78756,$78757,$78758,$78759,$78760,$78761,$78762,$78763,$78764),(nextval($78765),$78766,$78767,$78768,$78769,$78770,$78771,$78772,$78773,$78774,$78775,$78776,$78777,$78778),(nextval($78779),$78780,$78781,$78782,$78783,$78784,$78785,$78786,$78787,$78788,$78789,$78790,$78791,$78792),(nextval($78793),$78794,$78795,$78796,$78797,$78798,$78799,$78800,$78801,$78802,$78803,$78804,$78805,$78806),(nextval($78807),$78808,$78809,$78810,$78811,$78812,$78813,$78814,$78815,$78816,$78817,$78818,$78819,$78820),(nextval($78821),$78822,$78823,$78824,$78825,$78826,$78827,$78828,$78829,$78830,$78831,$78832,$78833,$78834),(nextval($78835),$78836,$78837,$78838,$78839,$78840,$78841,$78842,$78843,$78844,$78845,$78846,$78847,$78848),(nextval($78849),$78850,$78851,$78852,$78853,$78854,$78855,$78856,$78857,$78858,$78859,$78860,$78861,$78862),(nextval($78863),$78864,$78865,$78866,$78867,$78868,$78869,$78870,$78871,$78872,$78873,$78874,$78875,$78876),(nextval($78877),$78878,$78879,$78880,$78881,$78882,$78883,$78884,$78885,$78886,$78887,$78888,$78889,$78890),(nextval($78891),$78892,$78893,$78894,$78895,$78896,$78897,$78898,$78899,$78900,$78901,$78902,$78903,$78904),(nextval($78905),$78906,$78907,$78908,$78909,$78910,$78911,$78912,$78913,$78914,$78915,$78916,$78917,$78918),(nextval($78919),$78920,$78921,$78922,$78923,$78924,$78925,$78926,$78927,$78928,$78929,$78930,$78931,$78932),(nextval($78933),$78934,$78935,$78936,$78937,$78938,$78939,$78940,$78941,$78942,$78943,$78944,$78945,$78946),(nextval($78947),$78948,$78949,$78950,$78951,$78952,$78953,$78954,$78955,$78956,$78957,$78958,$78959,$78960),(nextval($78961),$78962,$78963,$78964,$78965,$78966,$78967,$78968,$78969,$78970,$78971,$78972,$78973,$78974),(nextval($78975),$78976,$78977,$78978,$78979,$78980,$78981,$78982,$78983,$78984,$78985,$78986,$78987,$78988),(nextval($78989),$78990,$78991,$78992,$78993,$78994,$78995,$78996,$78997,$78998,$78999,$79000,$79001,$79002),(nextval($79003),$79004,$79005,$79006,$79007,$79008,$79009,$79010,$79011,$79012,$79013,$79014,$79015,$79016),(nextval($79017),$79018,$79019,$79020,$79021,$79022,$79023,$79024,$79025,$79026,$79027,$79028,$79029,$79030),(nextval($79031),$79032,$79033,$79034,$79035,$79036,$79037,$79038,$79039,$79040,$79041,$79042,$79043,$79044),(nextval($79045),$79046,$79047,$79048,$79049,$79050,$79051,$79052,$79053,$79054,$79055,$79056,$79057,$79058),(nextval($79059),$79060,$79061,$79062,$79063,$79064,$79065,$79066,$79067,$79068,$79069,$79070,$79071,$79072),(nextval($79073),$79074,$79075,$79076,$79077,$79078,$79079,$79080,$79081,$79082,$79083,$79084,$79085,$79086),(nextval($79087),$79088,$79089,$79090,$79091,$79092,$79093,$79094,$79095,$79096,$79097,$79098,$79099,$79100),(nextval($79101),$79102,$79103,$79104,$79105,$79106,$79107,$79108,$79109,$79110,$79111,$79112,$79113,$79114),(nextval($79115),$79116,$79117,$79118,$79119,$79120,$79121,$79122,$79123,$79124,$79125,$79126,$79127,$79128),(nextval($79129),$79130,$79131,$79132,$79133,$79134,$79135,$79136,$79137,$79138,$79139,$79140,$79141,$79142),(nextval($79143),$79144,$79145,$79146,$79147,$79148,$79149,$79150,$79151,$79152,$79153,$79154,$79155,$79156),(nextval($79157),$79158,$79159,$79160,$79161,$79162,$79163,$79164,$79165,$79166,$79167,$79168,$79169,$79170),(nextval($79171),$79172,$79173,$79174,$79175,$79176,$79177,$79178,$79179,$79180,$79181,$79182,$79183,$79184),(nextval($79185),$79186,$79187,$79188,$79189,$79190,$79191,$79192,$79193,$79194,$79195,$79196,$79197,$79198),(nextval($79199),$79200,$79201,$79202,$79203,$79204,$79205,$79206,$79207,$79208,$79209,$79210,$79211,$79212),(nextval($79213),$79214,$79215,$79216,$79217,$79218,$79219,$79220,$79221,$79222,$79223,$79224,$79225,$79226),(nextval($79227),$79228,$79229,$79230,$79231,$79232,$79233,$79234,$79235,$79236,$79237,$79238,$79239,$79240),(nextval($79241),$79242,$79243,$79244,$79245,$79246,$79247,$79248,$79249,$79250,$79251,$79252,$79253,$79254),(nextval($79255),$79256,$79257,$79258,$79259,$79260,$79261,$79262,$79263,$79264,$79265,$79266,$79267,$79268),(nextval($79269),$79270,$79271,$79272,$79273,$79274,$79275,$79276,$79277,$79278,$79279,$79280,$79281,$79282),(nextval($79283),$79284,$79285,$79286,$79287,$79288,$79289,$79290,$79291,$79292,$79293,$79294,$79295,$79296),(nextval($79297),$79298,$79299,$79300,$79301,$79302,$79303,$79304,$79305,$79306,$79307,$79308,$79309,$79310),(nextval($79311),$79312,$79313,$79314,$79315,$79316,$79317,$79318,$79319,$79320,$79321,$79322,$79323,$79324),(nextval($79325),$79326,$79327,$79328,$79329,$79330,$79331,$79332,$79333,$79334,$79335,$79336,$79337,$79338),(nextval($79339),$79340,$79341,$79342,$79343,$79344,$79345,$79346,$79347,$79348,$79349,$79350,$79351,$79352),(nextval($79353),$79354,$79355,$79356,$79357,$79358,$79359,$79360,$79361,$79362,$79363,$79364,$79365,$79366),(nextval($79367),$79368,$79369,$79370,$79371,$79372,$79373,$79374,$79375,$79376,$79377,$79378,$79379,$79380),(nextval($79381),$79382,$79383,$79384,$79385,$79386,$79387,$79388,$79389,$79390,$79391,$79392,$79393,$79394),(nextval($79395),$79396,$79397,$79398,$79399,$79400,$79401,$79402,$79403,$79404,$79405,$79406,$79407,$79408),(nextval($79409),$79410,$79411,$79412,$79413,$79414,$79415,$79416,$79417,$79418,$79419,$79420,$79421,$79422),(nextval($79423),$79424,$79425,$79426,$79427,$79428,$79429,$79430,$79431,$79432,$79433,$79434,$79435,$79436),(nextval($79437),$79438,$79439,$79440,$79441,$79442,$79443,$79444,$79445,$79446,$79447,$79448,$79449,$79450),(nextval($79451),$79452,$79453,$79454,$79455,$79456,$79457,$79458,$79459,$79460,$79461,$79462,$79463,$79464),(nextval($79465),$79466,$79467,$79468,$79469,$79470,$79471,$79472,$79473,$79474,$79475,$79476,$79477,$79478),(nextval($79479),$79480,$79481,$79482,$79483,$79484,$79485,$79486,$79487,$79488,$79489,$79490,$79491,$79492),(nextval($79493),$79494,$79495,$79496,$79497,$79498,$79499,$79500,$79501,$79502,$79503,$79504,$79505,$79506),(nextval($79507),$79508,$79509,$79510,$79511,$79512,$79513,$79514,$79515,$79516,$79517,$79518,$79519,$79520),(nextval($79521),$79522,$79523,$79524,$79525,$79526,$79527,$79528,$79529,$79530,$79531,$79532,$79533,$79534),(nextval($79535),$79536,$79537,$79538,$79539,$79540,$79541,$79542,$79543,$79544,$79545,$79546,$79547,$79548),(nextval($79549),$79550,$79551,$79552,$79553,$79554,$79555,$79556,$79557,$79558,$79559,$79560,$79561,$79562),(nextval($79563),$79564,$79565,$79566,$79567,$79568,$79569,$79570,$79571,$79572,$79573,$79574,$79575,$79576),(nextval($79577),$79578,$79579,$79580,$79581,$79582,$79583,$79584,$79585,$79586,$79587,$79588,$79589,$79590),(nextval($79591),$79592,$79593,$79594,$79595,$79596,$79597,$79598,$79599,$79600,$79601,$79602,$79603,$79604),(nextval($79605),$79606,$79607,$79608,$79609,$79610,$79611,$79612,$79613,$79614,$79615,$79616,$79617,$79618),(nextval($79619),$79620,$79621,$79622,$79623,$79624,$79625,$79626,$79627,$79628,$79629,$79630,$79631,$79632),(nextval($79633),$79634,$79635,$79636,$79637,$79638,$79639,$79640,$79641,$79642,$79643,$79644,$79645,$79646),(nextval($79647),$79648,$79649,$79650,$79651,$79652,$79653,$79654,$79655,$79656,$79657,$79658,$79659,$79660),(nextval($79661),$79662,$79663,$79664,$79665,$79666,$79667,$79668,$79669,$79670,$79671,$79672,$79673,$79674),(nextval($79675),$79676,$79677,$79678,$79679,$79680,$79681,$79682,$79683,$79684,$79685,$79686,$79687,$79688),(nextval($79689),$79690,$79691,$79692,$79693,$79694,$79695,$79696,$79697,$79698,$79699,$79700,$79701,$79702),(nextval($79703),$79704,$79705,$79706,$79707,$79708,$79709,$79710,$79711,$79712,$79713,$79714,$79715,$79716),(nextval($79717),$79718,$79719,$79720,$79721,$79722,$79723,$79724,$79725,$79726,$79727,$79728,$79729,$79730),(nextval($79731),$79732,$79733,$79734,$79735,$79736,$79737,$79738,$79739,$79740,$79741,$79742,$79743,$79744),(nextval($79745),$79746,$79747,$79748,$79749,$79750,$79751,$79752,$79753,$79754,$79755,$79756,$79757,$79758),(nextval($79759),$79760,$79761,$79762,$79763,$79764,$79765,$79766,$79767,$79768,$79769,$79770,$79771,$79772),(nextval($79773),$79774,$79775,$79776,$79777,$79778,$79779,$79780,$79781,$79782,$79783,$79784,$79785,$79786),(nextval($79787),$79788,$79789,$79790,$79791,$79792,$79793,$79794,$79795,$79796,$79797,$79798,$79799,$79800),(nextval($79801),$79802,$79803,$79804,$79805,$79806,$79807,$79808,$79809,$79810,$79811,$79812,$79813,$79814),(nextval($79815),$79816,$79817,$79818,$79819,$79820,$79821,$79822,$79823,$79824,$79825,$79826,$79827,$79828),(nextval($79829),$79830,$79831,$79832,$79833,$79834,$79835,$79836,$79837,$79838,$79839,$79840,$79841,$79842),(nextval($79843),$79844,$79845,$79846,$79847,$79848,$79849,$79850,$79851,$79852,$79853,$79854,$79855,$79856),(nextval($79857),$79858,$79859,$79860,$79861,$79862,$79863,$79864,$79865,$79866,$79867,$79868,$79869,$79870),(nextval($79871),$79872,$79873,$79874,$79875,$79876,$79877,$79878,$79879,$79880,$79881,$79882,$79883,$79884),(nextval($79885),$79886,$79887,$79888,$79889,$79890,$79891,$79892,$79893,$79894,$79895,$79896,$79897,$79898),(nextval($79899),$79900,$79901,$79902,$79903,$79904,$79905,$79906,$79907,$79908,$79909,$79910,$79911,$79912),(nextval($79913),$79914,$79915,$79916,$79917,$79918,$79919,$79920,$79921,$79922,$79923,$79924,$79925,$79926),(nextval($79927),$79928,$79929,$79930,$79931,$79932,$79933,$79934,$79935,$79936,$79937,$79938,$79939,$79940),(nextval($79941),$79942,$79943,$79944,$79945,$79946,$79947,$79948,$79949,$79950,$79951,$79952,$79953,$79954),(nextval($79955),$79956,$79957,$79958,$79959,$79960,$79961,$79962,$79963,$79964,$79965,$79966,$79967,$79968),(nextval($79969),$79970,$79971,$79972,$79973,$79974,$79975,$79976,$79977,$79978,$79979,$79980,$79981,$79982),(nextval($79983),$79984,$79985,$79986,$79987,$79988,$79989,$79990,$79991,$79992,$79993,$79994,$79995,$79996),(nextval($79997),$79998,$79999,$80000,$80001,$80002,$80003,$80004,$80005,$80006,$80007,$80008,$80009,$80010),(nextval($80011),$80012,$80013,$80014,$80015,$80016,$80017,$80018,$80019,$80020,$80021,$80022,$80023,$80024),(nextval($80025),$80026,$80027,$80028,$80029,$80030,$80031,$80032,$80033,$80034,$80035,$80036,$80037,$80038),(nextval($80039),$80040,$80041,$80042,$80043,$80044,$80045,$80046,$80047,$80048,$80049,$80050,$80051,$80052),(nextval($80053),$80054,$80055,$80056,$80057,$80058,$80059,$80060,$80061,$80062,$80063,$80064,$80065,$80066),(nextval($80067),$80068,$80069,$80070,$80071,$80072,$80073,$80074,$80075,$80076,$80077,$80078,$80079,$80080),(nextval($80081),$80082,$80083,$80084,$80085,$80086,$80087,$80088,$80089,$80090,$80091,$80092,$80093,$80094),(nextval($80095),$80096,$80097,$80098,$80099,$80100,$80101,$80102,$80103,$80104,$80105,$80106,$80107,$80108),(nextval($80109),$80110,$80111,$80112,$80113,$80114,$80115,$80116,$80117,$80118,$80119,$80120,$80121,$80122),(nextval($80123),$80124,$80125,$80126,$80127,$80128,$80129,$80130,$80131,$80132,$80133,$80134,$80135,$80136),(nextval($80137),$80138,$80139,$80140,$80141,$80142,$80143,$80144,$80145,$80146,$80147,$80148,$80149,$80150),(nextval($80151),$80152,$80153,$80154,$80155,$80156,$80157,$80158,$80159,$80160,$80161,$80162,$80163,$80164),(nextval($80165),$80166,$80167,$80168,$80169,$80170,$80171,$80172,$80173,$80174,$80175,$80176,$80177,$80178),(nextval($80179),$80180,$80181,$80182,$80183,$80184,$80185,$80186,$80187,$80188,$80189,$80190,$80191,$80192),(nextval($80193),$80194,$80195,$80196,$80197,$80198,$80199,$80200,$80201,$80202,$80203,$80204,$80205,$80206),(nextval($80207),$80208,$80209,$80210,$80211,$80212,$80213,$80214,$80215,$80216,$80217,$80218,$80219,$80220),(nextval($80221),$80222,$80223,$80224,$80225,$80226,$80227,$80228,$80229,$80230,$80231,$80232,$80233,$80234),(nextval($80235),$80236,$80237,$80238,$80239,$80240,$80241,$80242,$80243,$80244,$80245,$80246,$80247,$80248),(nextval($80249),$80250,$80251,$80252,$80253,$80254,$80255,$80256,$80257,$80258,$80259,$80260,$80261,$80262),(nextval($80263),$80264,$80265,$80266,$80267,$80268,$80269,$80270,$80271,$80272,$80273,$80274,$80275,$80276),(nextval($80277),$80278,$80279,$80280,$80281,$80282,$80283,$80284,$80285,$80286,$80287,$80288,$80289,$80290),(nextval($80291),$80292,$80293,$80294,$80295,$80296,$80297,$80298,$80299,$80300,$80301,$80302,$80303,$80304),(nextval($80305),$80306,$80307,$80308,$80309,$80310,$80311,$80312,$80313,$80314,$80315,$80316,$80317,$80318),(nextval($80319),$80320,$80321,$80322,$80323,$80324,$80325,$80326,$80327,$80328,$80329,$80330,$80331,$80332),(nextval($80333),$80334,$80335,$80336,$80337,$80338,$80339,$80340,$80341,$80342,$80343,$80344,$80345,$80346),(nextval($80347),$80348,$80349,$80350,$80351,$80352,$80353,$80354,$80355,$80356,$80357,$80358,$80359,$80360),(nextval($80361),$80362,$80363,$80364,$80365,$80366,$80367,$80368,$80369,$80370,$80371,$80372,$80373,$80374),(nextval($80375),$80376,$80377,$80378,$80379,$80380,$80381,$80382,$80383,$80384,$80385,$80386,$80387,$80388),(nextval($80389),$80390,$80391,$80392,$80393,$80394,$80395,$80396,$80397,$80398,$80399,$80400,$80401,$80402),(nextval($80403),$80404,$80405,$80406,$80407,$80408,$80409,$80410,$80411,$80412,$80413,$80414,$80415,$80416),(nextval($80417),$80418,$80419,$80420,$80421,$80422,$80423,$80424,$80425,$80426,$80427,$80428,$80429,$80430),(nextval($80431),$80432,$80433,$80434,$80435,$80436,$80437,$80438,$80439,$80440,$80441,$80442,$80443,$80444),(nextval($80445),$80446,$80447,$80448,$80449,$80450,$80451,$80452,$80453,$80454,$80455,$80456,$80457,$80458),(nextval($80459),$80460,$80461,$80462,$80463,$80464,$80465,$80466,$80467,$80468,$80469,$80470,$80471,$80472),(nextval($80473),$80474,$80475,$80476,$80477,$80478,$80479,$80480,$80481,$80482,$80483,$80484,$80485,$80486),(nextval($80487),$80488,$80489,$80490,$80491,$80492,$80493,$80494,$80495,$80496,$80497,$80498,$80499,$80500),(nextval($80501),$80502,$80503,$80504,$80505,$80506,$80507,$80508,$80509,$80510,$80511,$80512,$80513,$80514),(nextval($80515),$80516,$80517,$80518,$80519,$80520,$80521,$80522,$80523,$80524,$80525,$80526,$80527,$80528),(nextval($80529),$80530,$80531,$80532,$80533,$80534,$80535,$80536,$80537,$80538,$80539,$80540,$80541,$80542),(nextval($80543),$80544,$80545,$80546,$80547,$80548,$80549,$80550,$80551,$80552,$80553,$80554,$80555,$80556),(nextval($80557),$80558,$80559,$80560,$80561,$80562,$80563,$80564,$80565,$80566,$80567,$80568,$80569,$80570),(nextval($80571),$80572,$80573,$80574,$80575,$80576,$80577,$80578,$80579,$80580,$80581,$80582,$80583,$80584),(nextval($80585),$80586,$80587,$80588,$80589,$80590,$80591,$80592,$80593,$80594,$80595,$80596,$80597,$80598),(nextval($80599),$80600,$80601,$80602,$80603,$80604,$80605,$80606,$80607,$80608,$80609,$80610,$80611,$80612),(nextval($80613),$80614,$80615,$80616,$80617,$80618,$80619,$80620,$80621,$80622,$80623,$80624,$80625,$80626),(nextval($80627),$80628,$80629,$80630,$80631,$80632,$80633,$80634,$80635,$80636,$80637,$80638,$80639,$80640),(nextval($80641),$80642,$80643,$80644,$80645,$80646,$80647,$80648,$80649,$80650,$80651,$80652,$80653,$80654),(nextval($80655),$80656,$80657,$80658,$80659,$80660,$80661,$80662,$80663,$80664,$80665,$80666,$80667,$80668),(nextval($80669),$80670,$80671,$80672,$80673,$80674,$80675,$80676,$80677,$80678,$80679,$80680,$80681,$80682),(nextval($80683),$80684,$80685,$80686,$80687,$80688,$80689,$80690,$80691,$80692,$80693,$80694,$80695,$80696),(nextval($80697),$80698,$80699,$80700,$80701,$80702,$80703,$80704,$80705,$80706,$80707,$80708,$80709,$80710),(nextval($80711),$80712,$80713,$80714,$80715,$80716,$80717,$80718,$80719,$80720,$80721,$80722,$80723,$80724),(nextval($80725),$80726,$80727,$80728,$80729,$80730,$80731,$80732,$80733,$80734,$80735,$80736,$80737,$80738),(nextval($80739),$80740,$80741,$80742,$80743,$80744,$80745,$80746,$80747,$80748,$80749,$80750,$80751,$80752),(nextval($80753),$80754,$80755,$80756,$80757,$80758,$80759,$80760,$80761,$80762,$80763,$80764,$80765,$80766),(nextval($80767),$80768,$80769,$80770,$80771,$80772,$80773,$80774,$80775,$80776,$80777,$80778,$80779,$80780),(nextval($80781),$80782,$80783,$80784,$80785,$80786,$80787,$80788,$80789,$80790,$80791,$80792,$80793,$80794),(nextval($80795),$80796,$80797,$80798,$80799,$80800,$80801,$80802,$80803,$80804,$80805,$80806,$80807,$80808),(nextval($80809),$80810,$80811,$80812,$80813,$80814,$80815,$80816,$80817,$80818,$80819,$80820,$80821,$80822),(nextval($80823),$80824,$80825,$80826,$80827,$80828,$80829,$80830,$80831,$80832,$80833,$80834,$80835,$80836),(nextval($80837),$80838,$80839,$80840,$80841,$80842,$80843,$80844,$80845,$80846,$80847,$80848,$80849,$80850),(nextval($80851),$80852,$80853,$80854,$80855,$80856,$80857,$80858,$80859,$80860,$80861,$80862,$80863,$80864),(nextval($80865),$80866,$80867,$80868,$80869,$80870,$80871,$80872,$80873,$80874,$80875,$80876,$80877,$80878),(nextval($80879),$80880,$80881,$80882,$80883,$80884,$80885,$80886,$80887,$80888,$80889,$80890,$80891,$80892),(nextval($80893),$80894,$80895,$80896,$80897,$80898,$80899,$80900,$80901,$80902,$80903,$80904,$80905,$80906),(nextval($80907),$80908,$80909,$80910,$80911,$80912,$80913,$80914,$80915,$80916,$80917,$80918,$80919,$80920),(nextval($80921),$80922,$80923,$80924,$80925,$80926,$80927,$80928,$80929,$80930,$80931,$80932,$80933,$80934),(nextval($80935),$80936,$80937,$80938,$80939,$80940,$80941,$80942,$80943,$80944,$80945,$80946,$80947,$80948),(nextval($80949),$80950,$80951,$80952,$80953,$80954,$80955,$80956,$80957,$80958,$80959,$80960,$80961,$80962),(nextval($80963),$80964,$80965,$80966,$80967,$80968,$80969,$80970,$80971,$80972,$80973,$80974,$80975,$80976),(nextval($80977),$80978,$80979,$80980,$80981,$80982,$80983,$80984,$80985,$80986,$80987,$80988,$80989,$80990),(nextval($80991),$80992,$80993,$80994,$80995,$80996,$80997,$80998,$80999,$81000,$81001,$81002,$81003,$81004),(nextval($81005),$81006,$81007,$81008,$81009,$81010,$81011,$81012,$81013,$81014,$81015,$81016,$81017,$81018),(nextval($81019),$81020,$81021,$81022,$81023,$81024,$81025,$81026,$81027,$81028,$81029,$81030,$81031,$81032),(nextval($81033),$81034,$81035,$81036,$81037,$81038,$81039,$81040,$81041,$81042,$81043,$81044,$81045,$81046),(nextval($81047),$81048,$81049,$81050,$81051,$81052,$81053,$81054,$81055,$81056,$81057,$81058,$81059,$81060),(nextval($81061),$81062,$81063,$81064,$81065,$81066,$81067,$81068,$81069,$81070,$81071,$81072,$81073,$81074),(nextval($81075),$81076,$81077,$81078,$81079,$81080,$81081,$81082,$81083,$81084,$81085,$81086,$81087,$81088),(nextval($81089),$81090,$81091,$81092,$81093,$81094,$81095,$81096,$81097,$81098,$81099,$81100,$81101,$81102),(nextval($81103),$81104,$81105,$81106,$81107,$81108,$81109,$81110,$81111,$81112,$81113,$81114,$81115,$81116),(nextval($81117),$81118,$81119,$81120,$81121,$81122,$81123,$81124,$81125,$81126,$81127,$81128,$81129,$81130),(nextval($81131),$81132,$81133,$81134,$81135,$81136,$81137,$81138,$81139,$81140,$81141,$81142,$81143,$81144),(nextval($81145),$81146,$81147,$81148,$81149,$81150,$81151,$81152,$81153,$81154,$81155,$81156,$81157,$81158),(nextval($81159),$81160,$81161,$81162,$81163,$81164,$81165,$81166,$81167,$81168,$81169,$81170,$81171,$81172),(nextval($81173),$81174,$81175,$81176,$81177,$81178,$81179,$81180,$81181,$81182,$81183,$81184,$81185,$81186),(nextval($81187),$81188,$81189,$81190,$81191,$81192,$81193,$81194,$81195,$81196,$81197,$81198,$81199,$81200),(nextval($81201),$81202,$81203,$81204,$81205,$81206,$81207,$81208,$81209,$81210,$81211,$81212,$81213,$81214),(nextval($81215),$81216,$81217,$81218,$81219,$81220,$81221,$81222,$81223,$81224,$81225,$81226,$81227,$81228),(nextval($81229),$81230,$81231,$81232,$81233,$81234,$81235,$81236,$81237,$81238,$81239,$81240,$81241,$81242),(nextval($81243),$81244,$81245,$81246,$81247,$81248,$81249,$81250,$81251,$81252,$81253,$81254,$81255,$81256),(nextval($81257),$81258,$81259,$81260,$81261,$81262,$81263,$81264,$81265,$81266,$81267,$81268,$81269,$81270),(nextval($81271),$81272,$81273,$81274,$81275,$81276,$81277,$81278,$81279,$81280,$81281,$81282,$81283,$81284),(nextval($81285),$81286,$81287,$81288,$81289,$81290,$81291,$81292,$81293,$81294,$81295,$81296,$81297,$81298),(nextval($81299),$81300,$81301,$81302,$81303,$81304,$81305,$81306,$81307,$81308,$81309,$81310,$81311,$81312),(nextval($81313),$81314,$81315,$81316,$81317,$81318,$81319,$81320,$81321,$81322,$81323,$81324,$81325,$81326),(nextval($81327),$81328,$81329,$81330,$81331,$81332,$81333,$81334,$81335,$81336,$81337,$81338,$81339,$81340),(nextval($81341),$81342,$81343,$81344,$81345,$81346,$81347,$81348,$81349,$81350,$81351,$81352,$81353,$81354),(nextval($81355),$81356,$81357,$81358,$81359,$81360,$81361,$81362,$81363,$81364,$81365,$81366,$81367,$81368),(nextval($81369),$81370,$81371,$81372,$81373,$81374,$81375,$81376,$81377,$81378,$81379,$81380,$81381,$81382),(nextval($81383),$81384,$81385,$81386,$81387,$81388,$81389,$81390,$81391,$81392,$81393,$81394,$81395,$81396),(nextval($81397),$81398,$81399,$81400,$81401,$81402,$81403,$81404,$81405,$81406,$81407,$81408,$81409,$81410),(nextval($81411),$81412,$81413,$81414,$81415,$81416,$81417,$81418,$81419,$81420,$81421,$81422,$81423,$81424),(nextval($81425),$81426,$81427,$81428,$81429,$81430,$81431,$81432,$81433,$81434,$81435,$81436,$81437,$81438),(nextval($81439),$81440,$81441,$81442,$81443,$81444,$81445,$81446,$81447,$81448,$81449,$81450,$81451,$81452),(nextval($81453),$81454,$81455,$81456,$81457,$81458,$81459,$81460,$81461,$81462,$81463,$81464,$81465,$81466),(nextval($81467),$81468,$81469,$81470,$81471,$81472,$81473,$81474,$81475,$81476,$81477,$81478,$81479,$81480),(nextval($81481),$81482,$81483,$81484,$81485,$81486,$81487,$81488,$81489,$81490,$81491,$81492,$81493,$81494),(nextval($81495),$81496,$81497,$81498,$81499,$81500,$81501,$81502,$81503,$81504,$81505,$81506,$81507,$81508),(nextval($81509),$81510,$81511,$81512,$81513,$81514,$81515,$81516,$81517,$81518,$81519,$81520,$81521,$81522),(nextval($81523),$81524,$81525,$81526,$81527,$81528,$81529,$81530,$81531,$81532,$81533,$81534,$81535,$81536),(nextval($81537),$81538,$81539,$81540,$81541,$81542,$81543,$81544,$81545,$81546,$81547,$81548,$81549,$81550),(nextval($81551),$81552,$81553,$81554,$81555,$81556,$81557,$81558,$81559,$81560,$81561,$81562,$81563,$81564),(nextval($81565),$81566,$81567,$81568,$81569,$81570,$81571,$81572,$81573,$81574,$81575,$81576,$81577,$81578),(nextval($81579),$81580,$81581,$81582,$81583,$81584,$81585,$81586,$81587,$81588,$81589,$81590,$81591,$81592),(nextval($81593),$81594,$81595,$81596,$81597,$81598,$81599,$81600,$81601,$81602,$81603,$81604,$81605,$81606),(nextval($81607),$81608,$81609,$81610,$81611,$81612,$81613,$81614,$81615,$81616,$81617,$81618,$81619,$81620),(nextval($81621),$81622,$81623,$81624,$81625,$81626,$81627,$81628,$81629,$81630,$81631,$81632,$81633,$81634),(nextval($81635),$81636,$81637,$81638,$81639,$81640,$81641,$81642,$81643,$81644,$81645,$81646,$81647,$81648),(nextval($81649),$81650,$81651,$81652,$81653,$81654,$81655,$81656,$81657,$81658,$81659,$81660,$81661,$81662),(nextval($81663),$81664,$81665,$81666,$81667,$81668,$81669,$81670,$81671,$81672,$81673,$81674,$81675,$81676),(nextval($81677),$81678,$81679,$81680,$81681,$81682,$81683,$81684,$81685,$81686,$81687,$81688,$81689,$81690),(nextval($81691),$81692,$81693,$81694,$81695,$81696,$81697,$81698,$81699,$81700,$81701,$81702,$81703,$81704),(nextval($81705),$81706,$81707,$81708,$81709,$81710,$81711,$81712,$81713,$81714,$81715,$81716,$81717,$81718),(nextval($81719),$81720,$81721,$81722,$81723,$81724,$81725,$81726,$81727,$81728,$81729,$81730,$81731,$81732),(nextval($81733),$81734,$81735,$81736,$81737,$81738,$81739,$81740,$81741,$81742,$81743,$81744,$81745,$81746),(nextval($81747),$81748,$81749,$81750,$81751,$81752,$81753,$81754,$81755,$81756,$81757,$81758,$81759,$81760),(nextval($81761),$81762,$81763,$81764,$81765,$81766,$81767,$81768,$81769,$81770,$81771,$81772,$81773,$81774),(nextval($81775),$81776,$81777,$81778,$81779,$81780,$81781,$81782,$81783,$81784,$81785,$81786,$81787,$81788),(nextval($81789),$81790,$81791,$81792,$81793,$81794,$81795,$81796,$81797,$81798,$81799,$81800,$81801,$81802),(nextval($81803),$81804,$81805,$81806,$81807,$81808,$81809,$81810,$81811,$81812,$81813,$81814,$81815,$81816),(nextval($81817),$81818,$81819,$81820,$81821,$81822,$81823,$81824,$81825,$81826,$81827,$81828,$81829,$81830),(nextval($81831),$81832,$81833,$81834,$81835,$81836,$81837,$81838,$81839,$81840,$81841,$81842,$81843,$81844),(nextval($81845),$81846,$81847,$81848,$81849,$81850,$81851,$81852,$81853,$81854,$81855,$81856,$81857,$81858),(nextval($81859),$81860,$81861,$81862,$81863,$81864,$81865,$81866,$81867,$81868,$81869,$81870,$81871,$81872),(nextval($81873),$81874,$81875,$81876,$81877,$81878,$81879,$81880,$81881,$81882,$81883,$81884,$81885,$81886),(nextval($81887),$81888,$81889,$81890,$81891,$81892,$81893,$81894,$81895,$81896,$81897,$81898,$81899,$81900),(nextval($81901),$81902,$81903,$81904,$81905,$81906,$81907,$81908,$81909,$81910,$81911,$81912,$81913,$81914),(nextval($81915),$81916,$81917,$81918,$81919,$81920,$81921,$81922,$81923,$81924,$81925,$81926,$81927,$81928),(nextval($81929),$81930,$81931,$81932,$81933,$81934,$81935,$81936,$81937,$81938,$81939,$81940,$81941,$81942),(nextval($81943),$81944,$81945,$81946,$81947,$81948,$81949,$81950,$81951,$81952,$81953,$81954,$81955,$81956),(nextval($81957),$81958,$81959,$81960,$81961,$81962,$81963,$81964,$81965,$81966,$81967,$81968,$81969,$81970),(nextval($81971),$81972,$81973,$81974,$81975,$81976,$81977,$81978,$81979,$81980,$81981,$81982,$81983,$81984),(nextval($81985),$81986,$81987,$81988,$81989,$81990,$81991,$81992,$81993,$81994,$81995,$81996,$81997,$81998),(nextval($81999),$82000,$82001,$82002,$82003,$82004,$82005,$82006,$82007,$82008,$82009,$82010,$82011,$82012),(nextval($82013),$82014,$82015,$82016,$82017,$82018,$82019,$82020,$82021,$82022,$82023,$82024,$82025,$82026),(nextval($82027),$82028,$82029,$82030,$82031,$82032,$82033,$82034,$82035,$82036,$82037,$82038,$82039,$82040),(nextval($82041),$82042,$82043,$82044,$82045,$82046,$82047,$82048,$82049,$82050,$82051,$82052,$82053,$82054),(nextval($82055),$82056,$82057,$82058,$82059,$82060,$82061,$82062,$82063,$82064,$82065,$82066,$82067,$82068),(nextval($82069),$82070,$82071,$82072,$82073,$82074,$82075,$82076,$82077,$82078,$82079,$82080,$82081,$82082),(nextval($82083),$82084,$82085,$82086,$82087,$82088,$82089,$82090,$82091,$82092,$82093,$82094,$82095,$82096),(nextval($82097),$82098,$82099,$82100,$82101,$82102,$82103,$82104,$82105,$82106,$82107,$82108,$82109,$82110),(nextval($82111),$82112,$82113,$82114,$82115,$82116,$82117,$82118,$82119,$82120,$82121,$82122,$82123,$82124),(nextval($82125),$82126,$82127,$82128,$82129,$82130,$82131,$82132,$82133,$82134,$82135,$82136,$82137,$82138),(nextval($82139),$82140,$82141,$82142,$82143,$82144,$82145,$82146,$82147,$82148,$82149,$82150,$82151,$82152),(nextval($82153),$82154,$82155,$82156,$82157,$82158,$82159,$82160,$82161,$82162,$82163,$82164,$82165,$82166),(nextval($82167),$82168,$82169,$82170,$82171,$82172,$82173,$82174,$82175,$82176,$82177,$82178,$82179,$82180),(nextval($82181),$82182,$82183,$82184,$82185,$82186,$82187,$82188,$82189,$82190,$82191,$82192,$82193,$82194),(nextval($82195),$82196,$82197,$82198,$82199,$82200,$82201,$82202,$82203,$82204,$82205,$82206,$82207,$82208),(nextval($82209),$82210,$82211,$82212,$82213,$82214,$82215,$82216,$82217,$82218,$82219,$82220,$82221,$82222),(nextval($82223),$82224,$82225,$82226,$82227,$82228,$82229,$82230,$82231,$82232,$82233,$82234,$82235,$82236),(nextval($82237),$82238,$82239,$82240,$82241,$82242,$82243,$82244,$82245,$82246,$82247,$82248,$82249,$82250),(nextval($82251),$82252,$82253,$82254,$82255,$82256,$82257,$82258,$82259,$82260,$82261,$82262,$82263,$82264),(nextval($82265),$82266,$82267,$82268,$82269,$82270,$82271,$82272,$82273,$82274,$82275,$82276,$82277,$82278),(nextval($82279),$82280,$82281,$82282,$82283,$82284,$82285,$82286,$82287,$82288,$82289,$82290,$82291,$82292),(nextval($82293),$82294,$82295,$82296,$82297,$82298,$82299,$82300,$82301,$82302,$82303,$82304,$82305,$82306),(nextval($82307),$82308,$82309,$82310,$82311,$82312,$82313,$82314,$82315,$82316,$82317,$82318,$82319,$82320),(nextval($82321),$82322,$82323,$82324,$82325,$82326,$82327,$82328,$82329,$82330,$82331,$82332,$82333,$82334),(nextval($82335),$82336,$82337,$82338,$82339,$82340,$82341,$82342,$82343,$82344,$82345,$82346,$82347,$82348),(nextval($82349),$82350,$82351,$82352,$82353,$82354,$82355,$82356,$82357,$82358,$82359,$82360,$82361,$82362),(nextval($82363),$82364,$82365,$82366,$82367,$82368,$82369,$82370,$82371,$82372,$82373,$82374,$82375,$82376),(nextval($82377),$82378,$82379,$82380,$82381,$82382,$82383,$82384,$82385,$82386,$82387,$82388,$82389,$82390),(nextval($82391),$82392,$82393,$82394,$82395,$82396,$82397,$82398,$82399,$82400,$82401,$82402,$82403,$82404),(nextval($82405),$82406,$82407,$82408,$82409,$82410,$82411,$82412,$82413,$82414,$82415,$82416,$82417,$82418),(nextval($82419),$82420,$82421,$82422,$82423,$82424,$82425,$82426,$82427,$82428,$82429,$82430,$82431,$82432),(nextval($82433),$82434,$82435,$82436,$82437,$82438,$82439,$82440,$82441,$82442,$82443,$82444,$82445,$82446),(nextval($82447),$82448,$82449,$82450,$82451,$82452,$82453,$82454,$82455,$82456,$82457,$82458,$82459,$82460),(nextval($82461),$82462,$82463,$82464,$82465,$82466,$82467,$82468,$82469,$82470,$82471,$82472,$82473,$82474),(nextval($82475),$82476,$82477,$82478,$82479,$82480,$82481,$82482,$82483,$82484,$82485,$82486,$82487,$82488),(nextval($82489),$82490,$82491,$82492,$82493,$82494,$82495,$82496,$82497,$82498,$82499,$82500,$82501,$82502),(nextval($82503),$82504,$82505,$82506,$82507,$82508,$82509,$82510,$82511,$82512,$82513,$82514,$82515,$82516),(nextval($82517),$82518,$82519,$82520,$82521,$82522,$82523,$82524,$82525,$82526,$82527,$82528,$82529,$82530),(nextval($82531),$82532,$82533,$82534,$82535,$82536,$82537,$82538,$82539,$82540,$82541,$82542,$82543,$82544),(nextval($82545),$82546,$82547,$82548,$82549,$82550,$82551,$82552,$82553,$82554,$82555,$82556,$82557,$82558),(nextval($82559),$82560,$82561,$82562,$82563,$82564,$82565,$82566,$82567,$82568,$82569,$82570,$82571,$82572),(nextval($82573),$82574,$82575,$82576,$82577,$82578,$82579,$82580,$82581,$82582,$82583,$82584,$82585,$82586),(nextval($82587),$82588,$82589,$82590,$82591,$82592,$82593,$82594,$82595,$82596,$82597,$82598,$82599,$82600),(nextval($82601),$82602,$82603,$82604,$82605,$82606,$82607,$82608,$82609,$82610,$82611,$82612,$82613,$82614),(nextval($82615),$82616,$82617,$82618,$82619,$82620,$82621,$82622,$82623,$82624,$82625,$82626,$82627,$82628),(nextval($82629),$82630,$82631,$82632,$82633,$82634,$82635,$82636,$82637,$82638,$82639,$82640,$82641,$82642),(nextval($82643),$82644,$82645,$82646,$82647,$82648,$82649,$82650,$82651,$82652,$82653,$82654,$82655,$82656),(nextval($82657),$82658,$82659,$82660,$82661,$82662,$82663,$82664,$82665,$82666,$82667,$82668,$82669,$82670),(nextval($82671),$82672,$82673,$82674,$82675,$82676,$82677,$82678,$82679,$82680,$82681,$82682,$82683,$82684),(nextval($82685),$82686,$82687,$82688,$82689,$82690,$82691,$82692,$82693,$82694,$82695,$82696,$82697,$82698),(nextval($82699),$82700,$82701,$82702,$82703,$82704,$82705,$82706,$82707,$82708,$82709,$82710,$82711,$82712),(nextval($82713),$82714,$82715,$82716,$82717,$82718,$82719,$82720,$82721,$82722,$82723,$82724,$82725,$82726),(nextval($82727),$82728,$82729,$82730,$82731,$82732,$82733,$82734,$82735,$82736,$82737,$82738,$82739,$82740),(nextval($82741),$82742,$82743,$82744,$82745,$82746,$82747,$82748,$82749,$82750,$82751,$82752,$82753,$82754),(nextval($82755),$82756,$82757,$82758,$82759,$82760,$82761,$82762,$82763,$82764,$82765,$82766,$82767,$82768),(nextval($82769),$82770,$82771,$82772,$82773,$82774,$82775,$82776,$82777,$82778,$82779,$82780,$82781,$82782),(nextval($82783),$82784,$82785,$82786,$82787,$82788,$82789,$82790,$82791,$82792,$82793,$82794,$82795,$82796),(nextval($82797),$82798,$82799,$82800,$82801,$82802,$82803,$82804,$82805,$82806,$82807,$82808,$82809,$82810),(nextval($82811),$82812,$82813,$82814,$82815,$82816,$82817,$82818,$82819,$82820,$82821,$82822,$82823,$82824),(nextval($82825),$82826,$82827,$82828,$82829,$82830,$82831,$82832,$82833,$82834,$82835,$82836,$82837,$82838),(nextval($82839),$82840,$82841,$82842,$82843,$82844,$82845,$82846,$82847,$82848,$82849,$82850,$82851,$82852),(nextval($82853),$82854,$82855,$82856,$82857,$82858,$82859,$82860,$82861,$82862,$82863,$82864,$82865,$82866),(nextval($82867),$82868,$82869,$82870,$82871,$82872,$82873,$82874,$82875,$82876,$82877,$82878,$82879,$82880),(nextval($82881),$82882,$82883,$82884,$82885,$82886,$82887,$82888,$82889,$82890,$82891,$82892,$82893,$82894),(nextval($82895),$82896,$82897,$82898,$82899,$82900,$82901,$82902,$82903,$82904,$82905,$82906,$82907,$82908),(nextval($82909),$82910,$82911,$82912,$82913,$82914,$82915,$82916,$82917,$82918,$82919,$82920,$82921,$82922),(nextval($82923),$82924,$82925,$82926,$82927,$82928,$82929,$82930,$82931,$82932,$82933,$82934,$82935,$82936),(nextval($82937),$82938,$82939,$82940,$82941,$82942,$82943,$82944,$82945,$82946,$82947,$82948,$82949,$82950),(nextval($82951),$82952,$82953,$82954,$82955,$82956,$82957,$82958,$82959,$82960,$82961,$82962,$82963,$82964),(nextval($82965),$82966,$82967,$82968,$82969,$82970,$82971,$82972,$82973,$82974,$82975,$82976,$82977,$82978),(nextval($82979),$82980,$82981,$82982,$82983,$82984,$82985,$82986,$82987,$82988,$82989,$82990,$82991,$82992),(nextval($82993),$82994,$82995,$82996,$82997,$82998,$82999,$83000,$83001,$83002,$83003,$83004,$83005,$83006),(nextval($83007),$83008,$83009,$83010,$83011,$83012,$83013,$83014,$83015,$83016,$83017,$83018,$83019,$83020),(nextval($83021),$83022,$83023,$83024,$83025,$83026,$83027,$83028,$83029,$83030,$83031,$83032,$83033,$83034),(nextval($83035),$83036,$83037,$83038,$83039,$83040,$83041,$83042,$83043,$83044,$83045,$83046,$83047,$83048),(nextval($83049),$83050,$83051,$83052,$83053,$83054,$83055,$83056,$83057,$83058,$83059,$83060,$83061,$83062),(nextval($83063),$83064,$83065,$83066,$83067,$83068,$83069,$83070,$83071,$83072,$83073,$83074,$83075,$83076),(nextval($83077),$83078,$83079,$83080,$83081,$83082,$83083,$83084,$83085,$83086,$83087,$83088,$83089,$83090),(nextval($83091),$83092,$83093,$83094,$83095,$83096,$83097,$83098,$83099,$83100,$83101,$83102,$83103,$83104),(nextval($83105),$83106,$83107,$83108,$83109,$83110,$83111,$83112,$83113,$83114,$83115,$83116,$83117,$83118),(nextval($83119),$83120,$83121,$83122,$83123,$83124,$83125,$83126,$83127,$83128,$83129,$83130,$83131,$83132),(nextval($83133),$83134,$83135,$83136,$83137,$83138,$83139,$83140,$83141,$83142,$83143,$83144,$83145,$83146),(nextval($83147),$83148,$83149,$83150,$83151,$83152,$83153,$83154,$83155,$83156,$83157,$83158,$83159,$83160),(nextval($83161),$83162,$83163,$83164,$83165,$83166,$83167,$83168,$83169,$83170,$83171,$83172,$83173,$83174),(nextval($83175),$83176,$83177,$83178,$83179,$83180,$83181,$83182,$83183,$83184,$83185,$83186,$83187,$83188),(nextval($83189),$83190,$83191,$83192,$83193,$83194,$83195,$83196,$83197,$83198,$83199,$83200,$83201,$83202),(nextval($83203),$83204,$83205,$83206,$83207,$83208,$83209,$83210,$83211,$83212,$83213,$83214,$83215,$83216),(nextval($83217),$83218,$83219,$83220,$83221,$83222,$83223,$83224,$83225,$83226,$83227,$83228,$83229,$83230),(nextval($83231),$83232,$83233,$83234,$83235,$83236,$83237,$83238,$83239,$83240,$83241,$83242,$83243,$83244),(nextval($83245),$83246,$83247,$83248,$83249,$83250,$83251,$83252,$83253,$83254,$83255,$83256,$83257,$83258),(nextval($83259),$83260,$83261,$83262,$83263,$83264,$83265,$83266,$83267,$83268,$83269,$83270,$83271,$83272),(nextval($83273),$83274,$83275,$83276,$83277,$83278,$83279,$83280,$83281,$83282,$83283,$83284,$83285,$83286),(nextval($83287),$83288,$83289,$83290,$83291,$83292,$83293,$83294,$83295,$83296,$83297,$83298,$83299,$83300),(nextval($83301),$83302,$83303,$83304,$83305,$83306,$83307,$83308,$83309,$83310,$83311,$83312,$83313,$83314),(nextval($83315),$83316,$83317,$83318,$83319,$83320,$83321,$83322,$83323,$83324,$83325,$83326,$83327,$83328),(nextval($83329),$83330,$83331,$83332,$83333,$83334,$83335,$83336,$83337,$83338,$83339,$83340,$83341,$83342),(nextval($83343),$83344,$83345,$83346,$83347,$83348,$83349,$83350,$83351,$83352,$83353,$83354,$83355,$83356),(nextval($83357),$83358,$83359,$83360,$83361,$83362,$83363,$83364,$83365,$83366,$83367,$83368,$83369,$83370),(nextval($83371),$83372,$83373,$83374,$83375,$83376,$83377,$83378,$83379,$83380,$83381,$83382,$83383,$83384),(nextval($83385),$83386,$83387,$83388,$83389,$83390,$83391,$83392,$83393,$83394,$83395,$83396,$83397,$83398),(nextval($83399),$83400,$83401,$83402,$83403,$83404,$83405,$83406,$83407,$83408,$83409,$83410,$83411,$83412),(nextval($83413),$83414,$83415,$83416,$83417,$83418,$83419,$83420,$83421,$83422,$83423,$83424,$83425,$83426),(nextval($83427),$83428,$83429,$83430,$83431,$83432,$83433,$83434,$83435,$83436,$83437,$83438,$83439,$83440),(nextval($83441),$83442,$83443,$83444,$83445,$83446,$83447,$83448,$83449,$83450,$83451,$83452,$83453,$83454),(nextval($83455),$83456,$83457,$83458,$83459,$83460,$83461,$83462,$83463,$83464,$83465,$83466,$83467,$83468),(nextval($83469),$83470,$83471,$83472,$83473,$83474,$83475,$83476,$83477,$83478,$83479,$83480,$83481,$83482),(nextval($83483),$83484,$83485,$83486,$83487,$83488,$83489,$83490,$83491,$83492,$83493,$83494,$83495,$83496),(nextval($83497),$83498,$83499,$83500,$83501,$83502,$83503,$83504,$83505,$83506,$83507,$83508,$83509,$83510),(nextval($83511),$83512,$83513,$83514,$83515,$83516,$83517,$83518,$83519,$83520,$83521,$83522,$83523,$83524),(nextval($83525),$83526,$83527,$83528,$83529,$83530,$83531,$83532,$83533,$83534,$83535,$83536,$83537,$83538),(nextval($83539),$83540,$83541,$83542,$83543,$83544,$83545,$83546,$83547,$83548,$83549,$83550,$83551,$83552),(nextval($83553),$83554,$83555,$83556,$83557,$83558,$83559,$83560,$83561,$83562,$83563,$83564,$83565,$83566),(nextval($83567),$83568,$83569,$83570,$83571,$83572,$83573,$83574,$83575,$83576,$83577,$83578,$83579,$83580),(nextval($83581),$83582,$83583,$83584,$83585,$83586,$83587,$83588,$83589,$83590,$83591,$83592,$83593,$83594),(nextval($83595),$83596,$83597,$83598,$83599,$83600,$83601,$83602,$83603,$83604,$83605,$83606,$83607,$83608),(nextval($83609),$83610,$83611,$83612,$83613,$83614,$83615,$83616,$83617,$83618,$83619,$83620,$83621,$83622),(nextval($83623),$83624,$83625,$83626,$83627,$83628,$83629,$83630,$83631,$83632,$83633,$83634,$83635,$83636),(nextval($83637),$83638,$83639,$83640,$83641,$83642,$83643,$83644,$83645,$83646,$83647,$83648,$83649,$83650),(nextval($83651),$83652,$83653,$83654,$83655,$83656,$83657,$83658,$83659,$83660,$83661,$83662,$83663,$83664),(nextval($83665),$83666,$83667,$83668,$83669,$83670,$83671,$83672,$83673,$83674,$83675,$83676,$83677,$83678),(nextval($83679),$83680,$83681,$83682,$83683,$83684,$83685,$83686,$83687,$83688,$83689,$83690,$83691,$83692),(nextval($83693),$83694,$83695,$83696,$83697,$83698,$83699,$83700,$83701,$83702,$83703,$83704,$83705,$83706),(nextval($83707),$83708,$83709,$83710,$83711,$83712,$83713,$83714,$83715,$83716,$83717,$83718,$83719,$83720),(nextval($83721),$83722,$83723,$83724,$83725,$83726,$83727,$83728,$83729,$83730,$83731,$83732,$83733,$83734),(nextval($83735),$83736,$83737,$83738,$83739,$83740,$83741,$83742,$83743,$83744,$83745,$83746,$83747,$83748),(nextval($83749),$83750,$83751,$83752,$83753,$83754,$83755,$83756,$83757,$83758,$83759,$83760,$83761,$83762),(nextval($83763),$83764,$83765,$83766,$83767,$83768,$83769,$83770,$83771,$83772,$83773,$83774,$83775,$83776),(nextval($83777),$83778,$83779,$83780,$83781,$83782,$83783,$83784,$83785,$83786,$83787,$83788,$83789,$83790),(nextval($83791),$83792,$83793,$83794,$83795,$83796,$83797,$83798,$83799,$83800,$83801,$83802,$83803,$83804),(nextval($83805),$83806,$83807,$83808,$83809,$83810,$83811,$83812,$83813,$83814,$83815,$83816,$83817,$83818),(nextval($83819),$83820,$83821,$83822,$83823,$83824,$83825,$83826,$83827,$83828,$83829,$83830,$83831,$83832),(nextval($83833),$83834,$83835,$83836,$83837,$83838,$83839,$83840,$83841,$83842,$83843,$83844,$83845,$83846),(nextval($83847),$83848,$83849,$83850,$83851,$83852,$83853,$83854,$83855,$83856,$83857,$83858,$83859,$83860),(nextval($83861),$83862,$83863,$83864,$83865,$83866,$83867,$83868,$83869,$83870,$83871,$83872,$83873,$83874),(nextval($83875),$83876,$83877,$83878,$83879,$83880,$83881,$83882,$83883,$83884,$83885,$83886,$83887,$83888),(nextval($83889),$83890,$83891,$83892,$83893,$83894,$83895,$83896,$83897,$83898,$83899,$83900,$83901,$83902),(nextval($83903),$83904,$83905,$83906,$83907,$83908,$83909,$83910,$83911,$83912,$83913,$83914,$83915,$83916),(nextval($83917),$83918,$83919,$83920,$83921,$83922,$83923,$83924,$83925,$83926,$83927,$83928,$83929,$83930),(nextval($83931),$83932,$83933,$83934,$83935,$83936,$83937,$83938,$83939,$83940,$83941,$83942,$83943,$83944),(nextval($83945),$83946,$83947,$83948,$83949,$83950,$83951,$83952,$83953,$83954,$83955,$83956,$83957,$83958),(nextval($83959),$83960,$83961,$83962,$83963,$83964,$83965,$83966,$83967,$83968,$83969,$83970,$83971,$83972),(nextval($83973),$83974,$83975,$83976,$83977,$83978,$83979,$83980,$83981,$83982,$83983,$83984,$83985,$83986),(nextval($83987),$83988,$83989,$83990,$83991,$83992,$83993,$83994,$83995,$83996,$83997,$83998,$83999,$84000),(nextval($84001),$84002,$84003,$84004,$84005,$84006,$84007,$84008,$84009,$84010,$84011,$84012,$84013,$84014),(nextval($84015),$84016,$84017,$84018,$84019,$84020,$84021,$84022,$84023,$84024,$84025,$84026,$84027,$84028),(nextval($84029),$84030,$84031,$84032,$84033,$84034,$84035,$84036,$84037,$84038,$84039,$84040,$84041,$84042),(nextval($84043),$84044,$84045,$84046,$84047,$84048,$84049,$84050,$84051,$84052,$84053,$84054,$84055,$84056),(nextval($84057),$84058,$84059,$84060,$84061,$84062,$84063,$84064,$84065,$84066,$84067,$84068,$84069,$84070),(nextval($84071),$84072,$84073,$84074,$84075,$84076,$84077,$84078,$84079,$84080,$84081,$84082,$84083,$84084),(nextval($84085),$84086,$84087,$84088,$84089,$84090,$84091,$84092,$84093,$84094,$84095,$84096,$84097,$84098),(nextval($84099),$84100,$84101,$84102,$84103,$84104,$84105,$84106,$84107,$84108,$84109,$84110,$84111,$84112),(nextval($84113),$84114,$84115,$84116,$84117,$84118,$84119,$84120,$84121,$84122,$84123,$84124,$84125,$84126),(nextval($84127),$84128,$84129,$84130,$84131,$84132,$84133,$84134,$84135,$84136,$84137,$84138,$84139,$84140),(nextval($84141),$84142,$84143,$84144,$84145,$84146,$84147,$84148,$84149,$84150,$84151,$84152,$84153,$84154),(nextval($84155),$84156,$84157,$84158,$84159,$84160,$84161,$84162,$84163,$84164,$84165,$84166,$84167,$84168),(nextval($84169),$84170,$84171,$84172,$84173,$84174,$84175,$84176,$84177,$84178,$84179,$84180,$84181,$84182),(nextval($84183),$84184,$84185,$84186,$84187,$84188,$84189,$84190,$84191,$84192,$84193,$84194,$84195,$84196),(nextval($84197),$84198,$84199,$84200,$84201,$84202,$84203,$84204,$84205,$84206,$84207,$84208,$84209,$84210),(nextval($84211),$84212,$84213,$84214,$84215,$84216,$84217,$84218,$84219,$84220,$84221,$84222,$84223,$84224),(nextval($84225),$84226,$84227,$84228,$84229,$84230,$84231,$84232,$84233,$84234,$84235,$84236,$84237,$84238),(nextval($84239),$84240,$84241,$84242,$84243,$84244,$84245,$84246,$84247,$84248,$84249,$84250,$84251,$84252),(nextval($84253),$84254,$84255,$84256,$84257,$84258,$84259,$84260,$84261,$84262,$84263,$84264,$84265,$84266),(nextval($84267),$84268,$84269,$84270,$84271,$84272,$84273,$84274,$84275,$84276,$84277,$84278,$84279,$84280),(nextval($84281),$84282,$84283,$84284,$84285,$84286,$84287,$84288,$84289,$84290,$84291,$84292,$84293,$84294),(nextval($84295),$84296,$84297,$84298,$84299,$84300,$84301,$84302,$84303,$84304,$84305,$84306,$84307,$84308),(nextval($84309),$84310,$84311,$84312,$84313,$84314,$84315,$84316,$84317,$84318,$84319,$84320,$84321,$84322),(nextval($84323),$84324,$84325,$84326,$84327,$84328,$84329,$84330,$84331,$84332,$84333,$84334,$84335,$84336),(nextval($84337),$84338,$84339,$84340,$84341,$84342,$84343,$84344,$84345,$84346,$84347,$84348,$84349,$84350),(nextval($84351),$84352,$84353,$84354,$84355,$84356,$84357,$84358,$84359,$84360,$84361,$84362,$84363,$84364),(nextval($84365),$84366,$84367,$84368,$84369,$84370,$84371,$84372,$84373,$84374,$84375,$84376,$84377,$84378),(nextval($84379),$84380,$84381,$84382,$84383,$84384,$84385,$84386,$84387,$84388,$84389,$84390,$84391,$84392),(nextval($84393),$84394,$84395,$84396,$84397,$84398,$84399,$84400,$84401,$84402,$84403,$84404,$84405,$84406),(nextval($84407),$84408,$84409,$84410,$84411,$84412,$84413,$84414,$84415,$84416,$84417,$84418,$84419,$84420),(nextval($84421),$84422,$84423,$84424,$84425,$84426,$84427,$84428,$84429,$84430,$84431,$84432,$84433,$84434),(nextval($84435),$84436,$84437,$84438,$84439,$84440,$84441,$84442,$84443,$84444,$84445,$84446,$84447,$84448),(nextval($84449),$84450,$84451,$84452,$84453,$84454,$84455,$84456,$84457,$84458,$84459,$84460,$84461,$84462),(nextval($84463),$84464,$84465,$84466,$84467,$84468,$84469,$84470,$84471,$84472,$84473,$84474,$84475,$84476),(nextval($84477),$84478,$84479,$84480,$84481,$84482,$84483,$84484,$84485,$84486,$84487,$84488,$84489,$84490),(nextval($84491),$84492,$84493,$84494,$84495,$84496,$84497,$84498,$84499,$84500,$84501,$84502,$84503,$84504),(nextval($84505),$84506,$84507,$84508,$84509,$84510,$84511,$84512,$84513,$84514,$84515,$84516,$84517,$84518),(nextval($84519),$84520,$84521,$84522,$84523,$84524,$84525,$84526,$84527,$84528,$84529,$84530,$84531,$84532),(nextval($84533),$84534,$84535,$84536,$84537,$84538,$84539,$84540,$84541,$84542,$84543,$84544,$84545,$84546),(nextval($84547),$84548,$84549,$84550,$84551,$84552,$84553,$84554,$84555,$84556,$84557,$84558,$84559,$84560),(nextval($84561),$84562,$84563,$84564,$84565,$84566,$84567,$84568,$84569,$84570,$84571,$84572,$84573,$84574),(nextval($84575),$84576,$84577,$84578,$84579,$84580,$84581,$84582,$84583,$84584,$84585,$84586,$84587,$84588),(nextval($84589),$84590,$84591,$84592,$84593,$84594,$84595,$84596,$84597,$84598,$84599,$84600,$84601,$84602),(nextval($84603),$84604,$84605,$84606,$84607,$84608,$84609,$84610,$84611,$84612,$84613,$84614,$84615,$84616),(nextval($84617),$84618,$84619,$84620,$84621,$84622,$84623,$84624,$84625,$84626,$84627,$84628,$84629,$84630),(nextval($84631),$84632,$84633,$84634,$84635,$84636,$84637,$84638,$84639,$84640,$84641,$84642,$84643,$84644),(nextval($84645),$84646,$84647,$84648,$84649,$84650,$84651,$84652,$84653,$84654,$84655,$84656,$84657,$84658),(nextval($84659),$84660,$84661,$84662,$84663,$84664,$84665,$84666,$84667,$84668,$84669,$84670,$84671,$84672),(nextval($84673),$84674,$84675,$84676,$84677,$84678,$84679,$84680,$84681,$84682,$84683,$84684,$84685,$84686),(nextval($84687),$84688,$84689,$84690,$84691,$84692,$84693,$84694,$84695,$84696,$84697,$84698,$84699,$84700),(nextval($84701),$84702,$84703,$84704,$84705,$84706,$84707,$84708,$84709,$84710,$84711,$84712,$84713,$84714),(nextval($84715),$84716,$84717,$84718,$84719,$84720,$84721,$84722,$84723,$84724,$84725,$84726,$84727,$84728),(nextval($84729),$84730,$84731,$84732,$84733,$84734,$84735,$84736,$84737,$84738,$84739,$84740,$84741,$84742),(nextval($84743),$84744,$84745,$84746,$84747,$84748,$84749,$84750,$84751,$84752,$84753,$84754,$84755,$84756),(nextval($84757),$84758,$84759,$84760,$84761,$84762,$84763,$84764,$84765,$84766,$84767,$84768,$84769,$84770),(nextval($84771),$84772,$84773,$84774,$84775,$84776,$84777,$84778,$84779,$84780,$84781,$84782,$84783,$84784),(nextval($84785),$84786,$84787,$84788,$84789,$84790,$84791,$84792,$84793,$84794,$84795,$84796,$84797,$84798),(nextval($84799),$84800,$84801,$84802,$84803,$84804,$84805,$84806,$84807,$84808,$84809,$84810,$84811,$84812),(nextval($84813),$84814,$84815,$84816,$84817,$84818,$84819,$84820,$84821,$84822,$84823,$84824,$84825,$84826),(nextval($84827),$84828,$84829,$84830,$84831,$84832,$84833,$84834,$84835,$84836,$84837,$84838,$84839,$84840),(nextval($84841),$84842,$84843,$84844,$84845,$84846,$84847,$84848,$84849,$84850,$84851,$84852,$84853,$84854),(nextval($84855),$84856,$84857,$84858,$84859,$84860,$84861,$84862,$84863,$84864,$84865,$84866,$84867,$84868),(nextval($84869),$84870,$84871,$84872,$84873,$84874,$84875,$84876,$84877,$84878,$84879,$84880,$84881,$84882),(nextval($84883),$84884,$84885,$84886,$84887,$84888,$84889,$84890,$84891,$84892,$84893,$84894,$84895,$84896),(nextval($84897),$84898,$84899,$84900,$84901,$84902,$84903,$84904,$84905,$84906,$84907,$84908,$84909,$84910),(nextval($84911),$84912,$84913,$84914,$84915,$84916,$84917,$84918,$84919,$84920,$84921,$84922,$84923,$84924),(nextval($84925),$84926,$84927,$84928,$84929,$84930,$84931,$84932,$84933,$84934,$84935,$84936,$84937,$84938),(nextval($84939),$84940,$84941,$84942,$84943,$84944,$84945,$84946,$84947,$84948,$84949,$84950,$84951,$84952),(nextval($84953),$84954,$84955,$84956,$84957,$84958,$84959,$84960,$84961,$84962,$84963,$84964,$84965,$84966),(nextval($84967),$84968,$84969,$84970,$84971,$84972,$84973,$84974,$84975,$84976,$84977,$84978,$84979,$84980),(nextval($84981),$84982,$84983,$84984,$84985,$84986,$84987,$84988,$84989,$84990,$84991,$84992,$84993,$84994),(nextval($84995),$84996,$84997,$84998,$84999,$85000,$85001,$85002,$85003,$85004,$85005,$85006,$85007,$85008),(nextval($85009),$85010,$85011,$85012,$85013,$85014,$85015,$85016,$85017,$85018,$85019,$85020,$85021,$85022),(nextval($85023),$85024,$85025,$85026,$85027,$85028,$85029,$85030,$85031,$85032,$85033,$85034,$85035,$85036),(nextval($85037),$85038,$85039,$85040,$85041,$85042,$85043,$85044,$85045,$85046,$85047,$85048,$85049,$85050),(nextval($85051),$85052,$85053,$85054,$85055,$85056,$85057,$85058,$85059,$85060,$85061,$85062,$85063,$85064),(nextval($85065),$85066,$85067,$85068,$85069,$85070,$85071,$85072,$85073,$85074,$85075,$85076,$85077,$85078),(nextval($85079),$85080,$85081,$85082,$85083,$85084,$85085,$85086,$85087,$85088,$85089,$85090,$85091,$85092),(nextval($85093),$85094,$85095,$85096,$85097,$85098,$85099,$85100,$85101,$85102,$85103,$85104,$85105,$85106),(nextval($85107),$85108,$85109,$85110,$85111,$85112,$85113,$85114,$85115,$85116,$85117,$85118,$85119,$85120),(nextval($85121),$85122,$85123,$85124,$85125,$85126,$85127,$85128,$85129,$85130,$85131,$85132,$85133,$85134),(nextval($85135),$85136,$85137,$85138,$85139,$85140,$85141,$85142,$85143,$85144,$85145,$85146,$85147,$85148),(nextval($85149),$85150,$85151,$85152,$85153,$85154,$85155,$85156,$85157,$85158,$85159,$85160,$85161,$85162),(nextval($85163),$85164,$85165,$85166,$85167,$85168,$85169,$85170,$85171,$85172,$85173,$85174,$85175,$85176),(nextval($85177),$85178,$85179,$85180,$85181,$85182,$85183,$85184,$85185,$85186,$85187,$85188,$85189,$85190),(nextval($85191),$85192,$85193,$85194,$85195,$85196,$85197,$85198,$85199,$85200,$85201,$85202,$85203,$85204),(nextval($85205),$85206,$85207,$85208,$85209,$85210,$85211,$85212,$85213,$85214,$85215,$85216,$85217,$85218),(nextval($85219),$85220,$85221,$85222,$85223,$85224,$85225,$85226,$85227,$85228,$85229,$85230,$85231,$85232),(nextval($85233),$85234,$85235,$85236,$85237,$85238,$85239,$85240,$85241,$85242,$85243,$85244,$85245,$85246),(nextval($85247),$85248,$85249,$85250,$85251,$85252,$85253,$85254,$85255,$85256,$85257,$85258,$85259,$85260),(nextval($85261),$85262,$85263,$85264,$85265,$85266,$85267,$85268,$85269,$85270,$85271,$85272,$85273,$85274),(nextval($85275),$85276,$85277,$85278,$85279,$85280,$85281,$85282,$85283,$85284,$85285,$85286,$85287,$85288),(nextval($85289),$85290,$85291,$85292,$85293,$85294,$85295,$85296,$85297,$85298,$85299,$85300,$85301,$85302),(nextval($85303),$85304,$85305,$85306,$85307,$85308,$85309,$85310,$85311,$85312,$85313,$85314,$85315,$85316),(nextval($85317),$85318,$85319,$85320,$85321,$85322,$85323,$85324,$85325,$85326,$85327,$85328,$85329,$85330),(nextval($85331),$85332,$85333,$85334,$85335,$85336,$85337,$85338,$85339,$85340,$85341,$85342,$85343,$85344),(nextval($85345),$85346,$85347,$85348,$85349,$85350,$85351,$85352,$85353,$85354,$85355,$85356,$85357,$85358),(nextval($85359),$85360,$85361,$85362,$85363,$85364,$85365,$85366,$85367,$85368,$85369,$85370,$85371,$85372),(nextval($85373),$85374,$85375,$85376,$85377,$85378,$85379,$85380,$85381,$85382,$85383,$85384,$85385,$85386),(nextval($85387),$85388,$85389,$85390,$85391,$85392,$85393,$85394,$85395,$85396,$85397,$85398,$85399,$85400),(nextval($85401),$85402,$85403,$85404,$85405,$85406,$85407,$85408,$85409,$85410,$85411,$85412,$85413,$85414),(nextval($85415),$85416,$85417,$85418,$85419,$85420,$85421,$85422,$85423,$85424,$85425,$85426,$85427,$85428),(nextval($85429),$85430,$85431,$85432,$85433,$85434,$85435,$85436,$85437,$85438,$85439,$85440,$85441,$85442),(nextval($85443),$85444,$85445,$85446,$85447,$85448,$85449,$85450,$85451,$85452,$85453,$85454,$85455,$85456),(nextval($85457),$85458,$85459,$85460,$85461,$85462,$85463,$85464,$85465,$85466,$85467,$85468,$85469,$85470),(nextval($85471),$85472,$85473,$85474,$85475,$85476,$85477,$85478,$85479,$85480,$85481,$85482,$85483,$85484),(nextval($85485),$85486,$85487,$85488,$85489,$85490,$85491,$85492,$85493,$85494,$85495,$85496,$85497,$85498),(nextval($85499),$85500,$85501,$85502,$85503,$85504,$85505,$85506,$85507,$85508,$85509,$85510,$85511,$85512),(nextval($85513),$85514,$85515,$85516,$85517,$85518,$85519,$85520,$85521,$85522,$85523,$85524,$85525,$85526),(nextval($85527),$85528,$85529,$85530,$85531,$85532,$85533,$85534,$85535,$85536,$85537,$85538,$85539,$85540),(nextval($85541),$85542,$85543,$85544,$85545,$85546,$85547,$85548,$85549,$85550,$85551,$85552,$85553,$85554),(nextval($85555),$85556,$85557,$85558,$85559,$85560,$85561,$85562,$85563,$85564,$85565,$85566,$85567,$85568),(nextval($85569),$85570,$85571,$85572,$85573,$85574,$85575,$85576,$85577,$85578,$85579,$85580,$85581,$85582),(nextval($85583),$85584,$85585,$85586,$85587,$85588,$85589,$85590,$85591,$85592,$85593,$85594,$85595,$85596),(nextval($85597),$85598,$85599,$85600,$85601,$85602,$85603,$85604,$85605,$85606,$85607,$85608,$85609,$85610),(nextval($85611),$85612,$85613,$85614,$85615,$85616,$85617,$85618,$85619,$85620,$85621,$85622,$85623,$85624),(nextval($85625),$85626,$85627,$85628,$85629,$85630,$85631,$85632,$85633,$85634,$85635,$85636,$85637,$85638),(nextval($85639),$85640,$85641,$85642,$85643,$85644,$85645,$85646,$85647,$85648,$85649,$85650,$85651,$85652),(nextval($85653),$85654,$85655,$85656,$85657,$85658,$85659,$85660,$85661,$85662,$85663,$85664,$85665,$85666),(nextval($85667),$85668,$85669,$85670,$85671,$85672,$85673,$85674,$85675,$85676,$85677,$85678,$85679,$85680),(nextval($85681),$85682,$85683,$85684,$85685,$85686,$85687,$85688,$85689,$85690,$85691,$85692,$85693,$85694),(nextval($85695),$85696,$85697,$85698,$85699,$85700,$85701,$85702,$85703,$85704,$85705,$85706,$85707,$85708),(nextval($85709),$85710,$85711,$85712,$85713,$85714,$85715,$85716,$85717,$85718,$85719,$85720,$85721,$85722),(nextval($85723),$85724,$85725,$85726,$85727,$85728,$85729,$85730,$85731,$85732,$85733,$85734,$85735,$85736),(nextval($85737),$85738,$85739,$85740,$85741,$85742,$85743,$85744,$85745,$85746,$85747,$85748,$85749,$85750),(nextval($85751),$85752,$85753,$85754,$85755,$85756,$85757,$85758,$85759,$85760,$85761,$85762,$85763,$85764),(nextval($85765),$85766,$85767,$85768,$85769,$85770,$85771,$85772,$85773,$85774,$85775,$85776,$85777,$85778),(nextval($85779),$85780,$85781,$85782,$85783,$85784,$85785,$85786,$85787,$85788,$85789,$85790,$85791,$85792),(nextval($85793),$85794,$85795,$85796,$85797,$85798,$85799,$85800,$85801,$85802,$85803,$85804,$85805,$85806),(nextval($85807),$85808,$85809,$85810,$85811,$85812,$85813,$85814,$85815,$85816,$85817,$85818,$85819,$85820),(nextval($85821),$85822,$85823,$85824,$85825,$85826,$85827,$85828,$85829,$85830,$85831,$85832,$85833,$85834),(nextval($85835),$85836,$85837,$85838,$85839,$85840,$85841,$85842,$85843,$85844,$85845,$85846,$85847,$85848),(nextval($85849),$85850,$85851,$85852,$85853,$85854,$85855,$85856,$85857,$85858,$85859,$85860,$85861,$85862),(nextval($85863),$85864,$85865,$85866,$85867,$85868,$85869,$85870,$85871,$85872,$85873,$85874,$85875,$85876),(nextval($85877),$85878,$85879,$85880,$85881,$85882,$85883,$85884,$85885,$85886,$85887,$85888,$85889,$85890),(nextval($85891),$85892,$85893,$85894,$85895,$85896,$85897,$85898,$85899,$85900,$85901,$85902,$85903,$85904),(nextval($85905),$85906,$85907,$85908,$85909,$85910,$85911,$85912,$85913,$85914,$85915,$85916,$85917,$85918),(nextval($85919),$85920,$85921,$85922,$85923,$85924,$85925,$85926,$85927,$85928,$85929,$85930,$85931,$85932),(nextval($85933),$85934,$85935,$85936,$85937,$85938,$85939,$85940,$85941,$85942,$85943,$85944,$85945,$85946),(nextval($85947),$85948,$85949,$85950,$85951,$85952,$85953,$85954,$85955,$85956,$85957,$85958,$85959,$85960),(nextval($85961),$85962,$85963,$85964,$85965,$85966,$85967,$85968,$85969,$85970,$85971,$85972,$85973,$85974),(nextval($85975),$85976,$85977,$85978,$85979,$85980,$85981,$85982,$85983,$85984,$85985,$85986,$85987,$85988),(nextval($85989),$85990,$85991,$85992,$85993,$85994,$85995,$85996,$85997,$85998,$85999,$86000,$86001,$86002),(nextval($86003),$86004,$86005,$86006,$86007,$86008,$86009,$86010,$86011,$86012,$86013,$86014,$86015,$86016),(nextval($86017),$86018,$86019,$86020,$86021,$86022,$86023,$86024,$86025,$86026,$86027,$86028,$86029,$86030),(nextval($86031),$86032,$86033,$86034,$86035,$86036,$86037,$86038,$86039,$86040,$86041,$86042,$86043,$86044),(nextval($86045),$86046,$86047,$86048,$86049,$86050,$86051,$86052,$86053,$86054,$86055,$86056,$86057,$86058),(nextval($86059),$86060,$86061,$86062,$86063,$86064,$86065,$86066,$86067,$86068,$86069,$86070,$86071,$86072),(nextval($86073),$86074,$86075,$86076,$86077,$86078,$86079,$86080,$86081,$86082,$86083,$86084,$86085,$86086),(nextval($86087),$86088,$86089,$86090,$86091,$86092,$86093,$86094,$86095,$86096,$86097,$86098,$86099,$86100),(nextval($86101),$86102,$86103,$86104,$86105,$86106,$86107,$86108,$86109,$86110,$86111,$86112,$86113,$86114),(nextval($86115),$86116,$86117,$86118,$86119,$86120,$86121,$86122,$86123,$86124,$86125,$86126,$86127,$86128),(nextval($86129),$86130,$86131,$86132,$86133,$86134,$86135,$86136,$86137,$86138,$86139,$86140,$86141,$86142),(nextval($86143),$86144,$86145,$86146,$86147,$86148,$86149,$86150,$86151,$86152,$86153,$86154,$86155,$86156),(nextval($86157),$86158,$86159,$86160,$86161,$86162,$86163,$86164,$86165,$86166,$86167,$86168,$86169,$86170),(nextval($86171),$86172,$86173,$86174,$86175,$86176,$86177,$86178,$86179,$86180,$86181,$86182,$86183,$86184),(nextval($86185),$86186,$86187,$86188,$86189,$86190,$86191,$86192,$86193,$86194,$86195,$86196,$86197,$86198),(nextval($86199),$86200,$86201,$86202,$86203,$86204,$86205,$86206,$86207,$86208,$86209,$86210,$86211,$86212),(nextval($86213),$86214,$86215,$86216,$86217,$86218,$86219,$86220,$86221,$86222,$86223,$86224,$86225,$86226),(nextval($86227),$86228,$86229,$86230,$86231,$86232,$86233,$86234,$86235,$86236,$86237,$86238,$86239,$86240),(nextval($86241),$86242,$86243,$86244,$86245,$86246,$86247,$86248,$86249,$86250,$86251,$86252,$86253,$86254),(nextval($86255),$86256,$86257,$86258,$86259,$86260,$86261,$86262,$86263,$86264,$86265,$86266,$86267,$86268),(nextval($86269),$86270,$86271,$86272,$86273,$86274,$86275,$86276,$86277,$86278,$86279,$86280,$86281,$86282),(nextval($86283),$86284,$86285,$86286,$86287,$86288,$86289,$86290,$86291,$86292,$86293,$86294,$86295,$86296),(nextval($86297),$86298,$86299,$86300,$86301,$86302,$86303,$86304,$86305,$86306,$86307,$86308,$86309,$86310),(nextval($86311),$86312,$86313,$86314,$86315,$86316,$86317,$86318,$86319,$86320,$86321,$86322,$86323,$86324),(nextval($86325),$86326,$86327,$86328,$86329,$86330,$86331,$86332,$86333,$86334,$86335,$86336,$86337,$86338),(nextval($86339),$86340,$86341,$86342,$86343,$86344,$86345,$86346,$86347,$86348,$86349,$86350,$86351,$86352),(nextval($86353),$86354,$86355,$86356,$86357,$86358,$86359,$86360,$86361,$86362,$86363,$86364,$86365,$86366),(nextval($86367),$86368,$86369,$86370,$86371,$86372,$86373,$86374,$86375,$86376,$86377,$86378,$86379,$86380),(nextval($86381),$86382,$86383,$86384,$86385,$86386,$86387,$86388,$86389,$86390,$86391,$86392,$86393,$86394),(nextval($86395),$86396,$86397,$86398,$86399,$86400,$86401,$86402,$86403,$86404,$86405,$86406,$86407,$86408),(nextval($86409),$86410,$86411,$86412,$86413,$86414,$86415,$86416,$86417,$86418,$86419,$86420,$86421,$86422),(nextval($86423),$86424,$86425,$86426,$86427,$86428,$86429,$86430,$86431,$86432,$86433,$86434,$86435,$86436),(nextval($86437),$86438,$86439,$86440,$86441,$86442,$86443,$86444,$86445,$86446,$86447,$86448,$86449,$86450),(nextval($86451),$86452,$86453,$86454,$86455,$86456,$86457,$86458,$86459,$86460,$86461,$86462,$86463,$86464),(nextval($86465),$86466,$86467,$86468,$86469,$86470,$86471,$86472,$86473,$86474,$86475,$86476,$86477,$86478),(nextval($86479),$86480,$86481,$86482,$86483,$86484,$86485,$86486,$86487,$86488,$86489,$86490,$86491,$86492),(nextval($86493),$86494,$86495,$86496,$86497,$86498,$86499,$86500,$86501,$86502,$86503,$86504,$86505,$86506),(nextval($86507),$86508,$86509,$86510,$86511,$86512,$86513,$86514,$86515,$86516,$86517,$86518,$86519,$86520),(nextval($86521),$86522,$86523,$86524,$86525,$86526,$86527,$86528,$86529,$86530,$86531,$86532,$86533,$86534),(nextval($86535),$86536,$86537,$86538,$86539,$86540,$86541,$86542,$86543,$86544,$86545,$86546,$86547,$86548),(nextval($86549),$86550,$86551,$86552,$86553,$86554,$86555,$86556,$86557,$86558,$86559,$86560,$86561,$86562),(nextval($86563),$86564,$86565,$86566,$86567,$86568,$86569,$86570,$86571,$86572,$86573,$86574,$86575,$86576),(nextval($86577),$86578,$86579,$86580,$86581,$86582,$86583,$86584,$86585,$86586,$86587,$86588,$86589,$86590),(nextval($86591),$86592,$86593,$86594,$86595,$86596,$86597,$86598,$86599,$86600,$86601,$86602,$86603,$86604),(nextval($86605),$86606,$86607,$86608,$86609,$86610,$86611,$86612,$86613,$86614,$86615,$86616,$86617,$86618),(nextval($86619),$86620,$86621,$86622,$86623,$86624,$86625,$86626,$86627,$86628,$86629,$86630,$86631,$86632),(nextval($86633),$86634,$86635,$86636,$86637,$86638,$86639,$86640,$86641,$86642,$86643,$86644,$86645,$86646),(nextval($86647),$86648,$86649,$86650,$86651,$86652,$86653,$86654,$86655,$86656,$86657,$86658,$86659,$86660),(nextval($86661),$86662,$86663,$86664,$86665,$86666,$86667,$86668,$86669,$86670,$86671,$86672,$86673,$86674),(nextval($86675),$86676,$86677,$86678,$86679,$86680,$86681,$86682,$86683,$86684,$86685,$86686,$86687,$86688),(nextval($86689),$86690,$86691,$86692,$86693,$86694,$86695,$86696,$86697,$86698,$86699,$86700,$86701,$86702),(nextval($86703),$86704,$86705,$86706,$86707,$86708,$86709,$86710,$86711,$86712,$86713,$86714,$86715,$86716),(nextval($86717),$86718,$86719,$86720,$86721,$86722,$86723,$86724,$86725,$86726,$86727,$86728,$86729,$86730),(nextval($86731),$86732,$86733,$86734,$86735,$86736,$86737,$86738,$86739,$86740,$86741,$86742,$86743,$86744),(nextval($86745),$86746,$86747,$86748,$86749,$86750,$86751,$86752,$86753,$86754,$86755,$86756,$86757,$86758),(nextval($86759),$86760,$86761,$86762,$86763,$86764,$86765,$86766,$86767,$86768,$86769,$86770,$86771,$86772),(nextval($86773),$86774,$86775,$86776,$86777,$86778,$86779,$86780,$86781,$86782,$86783,$86784,$86785,$86786),(nextval($86787),$86788,$86789,$86790,$86791,$86792,$86793,$86794,$86795,$86796,$86797,$86798,$86799,$86800),(nextval($86801),$86802,$86803,$86804,$86805,$86806,$86807,$86808,$86809,$86810,$86811,$86812,$86813,$86814),(nextval($86815),$86816,$86817,$86818,$86819,$86820,$86821,$86822,$86823,$86824,$86825,$86826,$86827,$86828),(nextval($86829),$86830,$86831,$86832,$86833,$86834,$86835,$86836,$86837,$86838,$86839,$86840,$86841,$86842),(nextval($86843),$86844,$86845,$86846,$86847,$86848,$86849,$86850,$86851,$86852,$86853,$86854,$86855,$86856),(nextval($86857),$86858,$86859,$86860,$86861,$86862,$86863,$86864,$86865,$86866,$86867,$86868,$86869,$86870),(nextval($86871),$86872,$86873,$86874,$86875,$86876,$86877,$86878,$86879,$86880,$86881,$86882,$86883,$86884),(nextval($86885),$86886,$86887,$86888,$86889,$86890,$86891,$86892,$86893,$86894,$86895,$86896,$86897,$86898),(nextval($86899),$86900,$86901,$86902,$86903,$86904,$86905,$86906,$86907,$86908,$86909,$86910,$86911,$86912),(nextval($86913),$86914,$86915,$86916,$86917,$86918,$86919,$86920,$86921,$86922,$86923,$86924,$86925,$86926),(nextval($86927),$86928,$86929,$86930,$86931,$86932,$86933,$86934,$86935,$86936,$86937,$86938,$86939,$86940),(nextval($86941),$86942,$86943,$86944,$86945,$86946,$86947,$86948,$86949,$86950,$86951,$86952,$86953,$86954),(nextval($86955),$86956,$86957,$86958,$86959,$86960,$86961,$86962,$86963,$86964,$86965,$86966,$86967,$86968),(nextval($86969),$86970,$86971,$86972,$86973,$86974,$86975,$86976,$86977,$86978,$86979,$86980,$86981,$86982),(nextval($86983),$86984,$86985,$86986,$86987,$86988,$86989,$86990,$86991,$86992,$86993,$86994,$86995,$86996),(nextval($86997),$86998,$86999,$87000,$87001,$87002,$87003,$87004,$87005,$87006,$87007,$87008,$87009,$87010),(nextval($87011),$87012,$87013,$87014,$87015,$87016,$87017,$87018,$87019,$87020,$87021,$87022,$87023,$87024),(nextval($87025),$87026,$87027,$87028,$87029,$87030,$87031,$87032,$87033,$87034,$87035,$87036,$87037,$87038),(nextval($87039),$87040,$87041,$87042,$87043,$87044,$87045,$87046,$87047,$87048,$87049,$87050,$87051,$87052),(nextval($87053),$87054,$87055,$87056,$87057,$87058,$87059,$87060,$87061,$87062,$87063,$87064,$87065,$87066),(nextval($87067),$87068,$87069,$87070,$87071,$87072,$87073,$87074,$87075,$87076,$87077,$87078,$87079,$87080),(nextval($87081),$87082,$87083,$87084,$87085,$87086,$87087,$87088,$87089,$87090,$87091,$87092,$87093,$87094),(nextval($87095),$87096,$87097,$87098,$87099,$87100,$87101,$87102,$87103,$87104,$87105,$87106,$87107,$87108),(nextval($87109),$87110,$87111,$87112,$87113,$87114,$87115,$87116,$87117,$87118,$87119,$87120,$87121,$87122),(nextval($87123),$87124,$87125,$87126,$87127,$87128,$87129,$87130,$87131,$87132,$87133,$87134,$87135,$87136),(nextval($87137),$87138,$87139,$87140,$87141,$87142,$87143,$87144,$87145,$87146,$87147,$87148,$87149,$87150),(nextval($87151),$87152,$87153,$87154,$87155,$87156,$87157,$87158,$87159,$87160,$87161,$87162,$87163,$87164),(nextval($87165),$87166,$87167,$87168,$87169,$87170,$87171,$87172,$87173,$87174,$87175,$87176,$87177,$87178),(nextval($87179),$87180,$87181,$87182,$87183,$87184,$87185,$87186,$87187,$87188,$87189,$87190,$87191,$87192),(nextval($87193),$87194,$87195,$87196,$87197,$87198,$87199,$87200,$87201,$87202,$87203,$87204,$87205,$87206),(nextval($87207),$87208,$87209,$87210,$87211,$87212,$87213,$87214,$87215,$87216,$87217,$87218,$87219,$87220),(nextval($87221),$87222,$87223,$87224,$87225,$87226,$87227,$87228,$87229,$87230,$87231,$87232,$87233,$87234),(nextval($87235),$87236,$87237,$87238,$87239,$87240,$87241,$87242,$87243,$87244,$87245,$87246,$87247,$87248),(nextval($87249),$87250,$87251,$87252,$87253,$87254,$87255,$87256,$87257,$87258,$87259,$87260,$87261,$87262),(nextval($87263),$87264,$87265,$87266,$87267,$87268,$87269,$87270,$87271,$87272,$87273,$87274,$87275,$87276),(nextval($87277),$87278,$87279,$87280,$87281,$87282,$87283,$87284,$87285,$87286,$87287,$87288,$87289,$87290),(nextval($87291),$87292,$87293,$87294,$87295,$87296,$87297,$87298,$87299,$87300,$87301,$87302,$87303,$87304),(nextval($87305),$87306,$87307,$87308,$87309,$87310,$87311,$87312,$87313,$87314,$87315,$87316,$87317,$87318),(nextval($87319),$87320,$87321,$87322,$87323,$87324,$87325,$87326,$87327,$87328,$87329,$87330,$87331,$87332),(nextval($87333),$87334,$87335,$87336,$87337,$87338,$87339,$87340,$87341,$87342,$87343,$87344,$87345,$87346),(nextval($87347),$87348,$87349,$87350,$87351,$87352,$87353,$87354,$87355,$87356,$87357,$87358,$87359,$87360),(nextval($87361),$87362,$87363,$87364,$87365,$87366,$87367,$87368,$87369,$87370,$87371,$87372,$87373,$87374),(nextval($87375),$87376,$87377,$87378,$87379,$87380,$87381,$87382,$87383,$87384,$87385,$87386,$87387,$87388),(nextval($87389),$87390,$87391,$87392,$87393,$87394,$87395,$87396,$87397,$87398,$87399,$87400,$87401,$87402),(nextval($87403),$87404,$87405,$87406,$87407,$87408,$87409,$87410,$87411,$87412,$87413,$87414,$87415,$87416),(nextval($87417),$87418,$87419,$87420,$87421,$87422,$87423,$87424,$87425,$87426,$87427,$87428,$87429,$87430),(nextval($87431),$87432,$87433,$87434,$87435,$87436,$87437,$87438,$87439,$87440,$87441,$87442,$87443,$87444),(nextval($87445),$87446,$87447,$87448,$87449,$87450,$87451,$87452,$87453,$87454,$87455,$87456,$87457,$87458),(nextval($87459),$87460,$87461,$87462,$87463,$87464,$87465,$87466,$87467,$87468,$87469,$87470,$87471,$87472),(nextval($87473),$87474,$87475,$87476,$87477,$87478,$87479,$87480,$87481,$87482,$87483,$87484,$87485,$87486),(nextval($87487),$87488,$87489,$87490,$87491,$87492,$87493,$87494,$87495,$87496,$87497,$87498,$87499,$87500),(nextval($87501),$87502,$87503,$87504,$87505,$87506,$87507,$87508,$87509,$87510,$87511,$87512,$87513,$87514),(nextval($87515),$87516,$87517,$87518,$87519,$87520,$87521,$87522,$87523,$87524,$87525,$87526,$87527,$87528),(nextval($87529),$87530,$87531,$87532,$87533,$87534,$87535,$87536,$87537,$87538,$87539,$87540,$87541,$87542),(nextval($87543),$87544,$87545,$87546,$87547,$87548,$87549,$87550,$87551,$87552,$87553,$87554,$87555,$87556),(nextval($87557),$87558,$87559,$87560,$87561,$87562,$87563,$87564,$87565,$87566,$87567,$87568,$87569,$87570),(nextval($87571),$87572,$87573,$87574,$87575,$87576,$87577,$87578,$87579,$87580,$87581,$87582,$87583,$87584),(nextval($87585),$87586,$87587,$87588,$87589,$87590,$87591,$87592,$87593,$87594,$87595,$87596,$87597,$87598),(nextval($87599),$87600,$87601,$87602,$87603,$87604,$87605,$87606,$87607,$87608,$87609,$87610,$87611,$87612),(nextval($87613),$87614,$87615,$87616,$87617,$87618,$87619,$87620,$87621,$87622,$87623,$87624,$87625,$87626),(nextval($87627),$87628,$87629,$87630,$87631,$87632,$87633,$87634,$87635,$87636,$87637,$87638,$87639,$87640),(nextval($87641),$87642,$87643,$87644,$87645,$87646,$87647,$87648,$87649,$87650,$87651,$87652,$87653,$87654),(nextval($87655),$87656,$87657,$87658,$87659,$87660,$87661,$87662,$87663,$87664,$87665,$87666,$87667,$87668),(nextval($87669),$87670,$87671,$87672,$87673,$87674,$87675,$87676,$87677,$87678,$87679,$87680,$87681,$87682),(nextval($87683),$87684,$87685,$87686,$87687,$87688,$87689,$87690,$87691,$87692,$87693,$87694,$87695,$87696),(nextval($87697),$87698,$87699,$87700,$87701,$87702,$87703,$87704,$87705,$87706,$87707,$87708,$87709,$87710),(nextval($87711),$87712,$87713,$87714,$87715,$87716,$87717,$87718,$87719,$87720,$87721,$87722,$87723,$87724),(nextval($87725),$87726,$87727,$87728,$87729,$87730,$87731,$87732,$87733,$87734,$87735,$87736,$87737,$87738),(nextval($87739),$87740,$87741,$87742,$87743,$87744,$87745,$87746,$87747,$87748,$87749,$87750,$87751,$87752),(nextval($87753),$87754,$87755,$87756,$87757,$87758,$87759,$87760,$87761,$87762,$87763,$87764,$87765,$87766),(nextval($87767),$87768,$87769,$87770,$87771,$87772,$87773,$87774,$87775,$87776,$87777,$87778,$87779,$87780),(nextval($87781),$87782,$87783,$87784,$87785,$87786,$87787,$87788,$87789,$87790,$87791,$87792,$87793,$87794),(nextval($87795),$87796,$87797,$87798,$87799,$87800,$87801,$87802,$87803,$87804,$87805,$87806,$87807,$87808),(nextval($87809),$87810,$87811,$87812,$87813,$87814,$87815,$87816,$87817,$87818,$87819,$87820,$87821,$87822),(nextval($87823),$87824,$87825,$87826,$87827,$87828,$87829,$87830,$87831,$87832,$87833,$87834,$87835,$87836),(nextval($87837),$87838,$87839,$87840,$87841,$87842,$87843,$87844,$87845,$87846,$87847,$87848,$87849,$87850),(nextval($87851),$87852,$87853,$87854,$87855,$87856,$87857,$87858,$87859,$87860,$87861,$87862,$87863,$87864),(nextval($87865),$87866,$87867,$87868,$87869,$87870,$87871,$87872,$87873,$87874,$87875,$87876,$87877,$87878),(nextval($87879),$87880,$87881,$87882,$87883,$87884,$87885,$87886,$87887,$87888,$87889,$87890,$87891,$87892),(nextval($87893),$87894,$87895,$87896,$87897,$87898,$87899,$87900,$87901,$87902,$87903,$87904,$87905,$87906),(nextval($87907),$87908,$87909,$87910,$87911,$87912,$87913,$87914,$87915,$87916,$87917,$87918,$87919,$87920),(nextval($87921),$87922,$87923,$87924,$87925,$87926,$87927,$87928,$87929,$87930,$87931,$87932,$87933,$87934),(nextval($87935),$87936,$87937,$87938,$87939,$87940,$87941,$87942,$87943,$87944,$87945,$87946,$87947,$87948),(nextval($87949),$87950,$87951,$87952,$87953,$87954,$87955,$87956,$87957,$87958,$87959,$87960,$87961,$87962),(nextval($87963),$87964,$87965,$87966,$87967,$87968,$87969,$87970,$87971,$87972,$87973,$87974,$87975,$87976),(nextval($87977),$87978,$87979,$87980,$87981,$87982,$87983,$87984,$87985,$87986,$87987,$87988,$87989,$87990),(nextval($87991),$87992,$87993,$87994,$87995,$87996,$87997,$87998,$87999,$88000,$88001,$88002,$88003,$88004),(nextval($88005),$88006,$88007,$88008,$88009,$88010,$88011,$88012,$88013,$88014,$88015,$88016,$88017,$88018),(nextval($88019),$88020,$88021,$88022,$88023,$88024,$88025,$88026,$88027,$88028,$88029,$88030,$88031,$88032),(nextval($88033),$88034,$88035,$88036,$88037,$88038,$88039,$88040,$88041,$88042,$88043,$88044,$88045,$88046),(nextval($88047),$88048,$88049,$88050,$88051,$88052,$88053,$88054,$88055,$88056,$88057,$88058,$88059,$88060),(nextval($88061),$88062,$88063,$88064,$88065,$88066,$88067,$88068,$88069,$88070,$88071,$88072,$88073,$88074),(nextval($88075),$88076,$88077,$88078,$88079,$88080,$88081,$88082,$88083,$88084,$88085,$88086,$88087,$88088),(nextval($88089),$88090,$88091,$88092,$88093,$88094,$88095,$88096,$88097,$88098,$88099,$88100,$88101,$88102),(nextval($88103),$88104,$88105,$88106,$88107,$88108,$88109,$88110,$88111,$88112,$88113,$88114,$88115,$88116),(nextval($88117),$88118,$88119,$88120,$88121,$88122,$88123,$88124,$88125,$88126,$88127,$88128,$88129,$88130),(nextval($88131),$88132,$88133,$88134,$88135,$88136,$88137,$88138,$88139,$88140,$88141,$88142,$88143,$88144),(nextval($88145),$88146,$88147,$88148,$88149,$88150,$88151,$88152,$88153,$88154,$88155,$88156,$88157,$88158),(nextval($88159),$88160,$88161,$88162,$88163,$88164,$88165,$88166,$88167,$88168,$88169,$88170,$88171,$88172),(nextval($88173),$88174,$88175,$88176,$88177,$88178,$88179,$88180,$88181,$88182,$88183,$88184,$88185,$88186),(nextval($88187),$88188,$88189,$88190,$88191,$88192,$88193,$88194,$88195,$88196,$88197,$88198,$88199,$88200),(nextval($88201),$88202,$88203,$88204,$88205,$88206,$88207,$88208,$88209,$88210,$88211,$88212,$88213,$88214),(nextval($88215),$88216,$88217,$88218,$88219,$88220,$88221,$88222,$88223,$88224,$88225,$88226,$88227,$88228),(nextval($88229),$88230,$88231,$88232,$88233,$88234,$88235,$88236,$88237,$88238,$88239,$88240,$88241,$88242),(nextval($88243),$88244,$88245,$88246,$88247,$88248,$88249,$88250,$88251,$88252,$88253,$88254,$88255,$88256),(nextval($88257),$88258,$88259,$88260,$88261,$88262,$88263,$88264,$88265,$88266,$88267,$88268,$88269,$88270),(nextval($88271),$88272,$88273,$88274,$88275,$88276,$88277,$88278,$88279,$88280,$88281,$88282,$88283,$88284),(nextval($88285),$88286,$88287,$88288,$88289,$88290,$88291,$88292,$88293,$88294,$88295,$88296,$88297,$88298),(nextval($88299),$88300,$88301,$88302,$88303,$88304,$88305,$88306,$88307,$88308,$88309,$88310,$88311,$88312),(nextval($88313),$88314,$88315,$88316,$88317,$88318,$88319,$88320,$88321,$88322,$88323,$88324,$88325,$88326),(nextval($88327),$88328,$88329,$88330,$88331,$88332,$88333,$88334,$88335,$88336,$88337,$88338,$88339,$88340),(nextval($88341),$88342,$88343,$88344,$88345,$88346,$88347,$88348,$88349,$88350,$88351,$88352,$88353,$88354),(nextval($88355),$88356,$88357,$88358,$88359,$88360,$88361,$88362,$88363,$88364,$88365,$88366,$88367,$88368),(nextval($88369),$88370,$88371,$88372,$88373,$88374,$88375,$88376,$88377,$88378,$88379,$88380,$88381,$88382),(nextval($88383),$88384,$88385,$88386,$88387,$88388,$88389,$88390,$88391,$88392,$88393,$88394,$88395,$88396),(nextval($88397),$88398,$88399,$88400,$88401,$88402,$88403,$88404,$88405,$88406,$88407,$88408,$88409,$88410),(nextval($88411),$88412,$88413,$88414,$88415,$88416,$88417,$88418,$88419,$88420,$88421,$88422,$88423,$88424),(nextval($88425),$88426,$88427,$88428,$88429,$88430,$88431,$88432,$88433,$88434,$88435,$88436,$88437,$88438),(nextval($88439),$88440,$88441,$88442,$88443,$88444,$88445,$88446,$88447,$88448,$88449,$88450,$88451,$88452),(nextval($88453),$88454,$88455,$88456,$88457,$88458,$88459,$88460,$88461,$88462,$88463,$88464,$88465,$88466),(nextval($88467),$88468,$88469,$88470,$88471,$88472,$88473,$88474,$88475,$88476,$88477,$88478,$88479,$88480),(nextval($88481),$88482,$88483,$88484,$88485,$88486,$88487,$88488,$88489,$88490,$88491,$88492,$88493,$88494),(nextval($88495),$88496,$88497,$88498,$88499,$88500,$88501,$88502,$88503,$88504,$88505,$88506,$88507,$88508),(nextval($88509),$88510,$88511,$88512,$88513,$88514,$88515,$88516,$88517,$88518,$88519,$88520,$88521,$88522),(nextval($88523),$88524,$88525,$88526,$88527,$88528,$88529,$88530,$88531,$88532,$88533,$88534,$88535,$88536),(nextval($88537),$88538,$88539,$88540,$88541,$88542,$88543,$88544,$88545,$88546,$88547,$88548,$88549,$88550),(nextval($88551),$88552,$88553,$88554,$88555,$88556,$88557,$88558,$88559,$88560,$88561,$88562,$88563,$88564),(nextval($88565),$88566,$88567,$88568,$88569,$88570,$88571,$88572,$88573,$88574,$88575,$88576,$88577,$88578),(nextval($88579),$88580,$88581,$88582,$88583,$88584,$88585,$88586,$88587,$88588,$88589,$88590,$88591,$88592),(nextval($88593),$88594,$88595,$88596,$88597,$88598,$88599,$88600,$88601,$88602,$88603,$88604,$88605,$88606),(nextval($88607),$88608,$88609,$88610,$88611,$88612,$88613,$88614,$88615,$88616,$88617,$88618,$88619,$88620),(nextval($88621),$88622,$88623,$88624,$88625,$88626,$88627,$88628,$88629,$88630,$88631,$88632,$88633,$88634),(nextval($88635),$88636,$88637,$88638,$88639,$88640,$88641,$88642,$88643,$88644,$88645,$88646,$88647,$88648),(nextval($88649),$88650,$88651,$88652,$88653,$88654,$88655,$88656,$88657,$88658,$88659,$88660,$88661,$88662),(nextval($88663),$88664,$88665,$88666,$88667,$88668,$88669,$88670,$88671,$88672,$88673,$88674,$88675,$88676),(nextval($88677),$88678,$88679,$88680,$88681,$88682,$88683,$88684,$88685,$88686,$88687,$88688,$88689,$88690),(nextval($88691),$88692,$88693,$88694,$88695,$88696,$88697,$88698,$88699,$88700,$88701,$88702,$88703,$88704),(nextval($88705),$88706,$88707,$88708,$88709,$88710,$88711,$88712,$88713,$88714,$88715,$88716,$88717,$88718),(nextval($88719),$88720,$88721,$88722,$88723,$88724,$88725,$88726,$88727,$88728,$88729,$88730,$88731,$88732),(nextval($88733),$88734,$88735,$88736,$88737,$88738,$88739,$88740,$88741,$88742,$88743,$88744,$88745,$88746),(nextval($88747),$88748,$88749,$88750,$88751,$88752,$88753,$88754,$88755,$88756,$88757,$88758,$88759,$88760),(nextval($88761),$88762,$88763,$88764,$88765,$88766,$88767,$88768,$88769,$88770,$88771,$88772,$88773,$88774),(nextval($88775),$88776,$88777,$88778,$88779,$88780,$88781,$88782,$88783,$88784,$88785,$88786,$88787,$88788),(nextval($88789),$88790,$88791,$88792,$88793,$88794,$88795,$88796,$88797,$88798,$88799,$88800,$88801,$88802),(nextval($88803),$88804,$88805,$88806,$88807,$88808,$88809,$88810,$88811,$88812,$88813,$88814,$88815,$88816),(nextval($88817),$88818,$88819,$88820,$88821,$88822,$88823,$88824,$88825,$88826,$88827,$88828,$88829,$88830),(nextval($88831),$88832,$88833,$88834,$88835,$88836,$88837,$88838,$88839,$88840,$88841,$88842,$88843,$88844),(nextval($88845),$88846,$88847,$88848,$88849,$88850,$88851,$88852,$88853,$88854,$88855,$88856,$88857,$88858),(nextval($88859),$88860,$88861,$88862,$88863,$88864,$88865,$88866,$88867,$88868,$88869,$88870,$88871,$88872),(nextval($88873),$88874,$88875,$88876,$88877,$88878,$88879,$88880,$88881,$88882,$88883,$88884,$88885,$88886),(nextval($88887),$88888,$88889,$88890,$88891,$88892,$88893,$88894,$88895,$88896,$88897,$88898,$88899,$88900),(nextval($88901),$88902,$88903,$88904,$88905,$88906,$88907,$88908,$88909,$88910,$88911,$88912,$88913,$88914),(nextval($88915),$88916,$88917,$88918,$88919,$88920,$88921,$88922,$88923,$88924,$88925,$88926,$88927,$88928),(nextval($88929),$88930,$88931,$88932,$88933,$88934,$88935,$88936,$88937,$88938,$88939,$88940,$88941,$88942),(nextval($88943),$88944,$88945,$88946,$88947,$88948,$88949,$88950,$88951,$88952,$88953,$88954,$88955,$88956),(nextval($88957),$88958,$88959,$88960,$88961,$88962,$88963,$88964,$88965,$88966,$88967,$88968,$88969,$88970),(nextval($88971),$88972,$88973,$88974,$88975,$88976,$88977,$88978,$88979,$88980,$88981,$88982,$88983,$88984),(nextval($88985),$88986,$88987,$88988,$88989,$88990,$88991,$88992,$88993,$88994,$88995,$88996,$88997,$88998),(nextval($88999),$89000,$89001,$89002,$89003,$89004,$89005,$89006,$89007,$89008,$89009,$89010,$89011,$89012),(nextval($89013),$89014,$89015,$89016,$89017,$89018,$89019,$89020,$89021,$89022,$89023,$89024,$89025,$89026),(nextval($89027),$89028,$89029,$89030,$89031,$89032,$89033,$89034,$89035,$89036,$89037,$89038,$89039,$89040),(nextval($89041),$89042,$89043,$89044,$89045,$89046,$89047,$89048,$89049,$89050,$89051,$89052,$89053,$89054),(nextval($89055),$89056,$89057,$89058,$89059,$89060,$89061,$89062,$89063,$89064,$89065,$89066,$89067,$89068),(nextval($89069),$89070,$89071,$89072,$89073,$89074,$89075,$89076,$89077,$89078,$89079,$89080,$89081,$89082),(nextval($89083),$89084,$89085,$89086,$89087,$89088,$89089,$89090,$89091,$89092,$89093,$89094,$89095,$89096),(nextval($89097),$89098,$89099,$89100,$89101,$89102,$89103,$89104,$89105,$89106,$89107,$89108,$89109,$89110),(nextval($89111),$89112,$89113,$89114,$89115,$89116,$89117,$89118,$89119,$89120,$89121,$89122,$89123,$89124),(nextval($89125),$89126,$89127,$89128,$89129,$89130,$89131,$89132,$89133,$89134,$89135,$89136,$89137,$89138),(nextval($89139),$89140,$89141,$89142,$89143,$89144,$89145,$89146,$89147,$89148,$89149,$89150,$89151,$89152),(nextval($89153),$89154,$89155,$89156,$89157,$89158,$89159,$89160,$89161,$89162,$89163,$89164,$89165,$89166),(nextval($89167),$89168,$89169,$89170,$89171,$89172,$89173,$89174,$89175,$89176,$89177,$89178,$89179,$89180),(nextval($89181),$89182,$89183,$89184,$89185,$89186,$89187,$89188,$89189,$89190,$89191,$89192,$89193,$89194),(nextval($89195),$89196,$89197,$89198,$89199,$89200,$89201,$89202,$89203,$89204,$89205,$89206,$89207,$89208),(nextval($89209),$89210,$89211,$89212,$89213,$89214,$89215,$89216,$89217,$89218,$89219,$89220,$89221,$89222),(nextval($89223),$89224,$89225,$89226,$89227,$89228,$89229,$89230,$89231,$89232,$89233,$89234,$89235,$89236),(nextval($89237),$89238,$89239,$89240,$89241,$89242,$89243,$89244,$89245,$89246,$89247,$89248,$89249,$89250),(nextval($89251),$89252,$89253,$89254,$89255,$89256,$89257,$89258,$89259,$89260,$89261,$89262,$89263,$89264),(nextval($89265),$89266,$89267,$89268,$89269,$89270,$89271,$89272,$89273,$89274,$89275,$89276,$89277,$89278),(nextval($89279),$89280,$89281,$89282,$89283,$89284,$89285,$89286,$89287,$89288,$89289,$89290,$89291,$89292),(nextval($89293),$89294,$89295,$89296,$89297,$89298,$89299,$89300,$89301,$89302,$89303,$89304,$89305,$89306),(nextval($89307),$89308,$89309,$89310,$89311,$89312,$89313,$89314,$89315,$89316,$89317,$89318,$89319,$89320),(nextval($89321),$89322,$89323,$89324,$89325,$89326,$89327,$89328,$89329,$89330,$89331,$89332,$89333,$89334),(nextval($89335),$89336,$89337,$89338,$89339,$89340,$89341,$89342,$89343,$89344,$89345,$89346,$89347,$89348),(nextval($89349),$89350,$89351,$89352,$89353,$89354,$89355,$89356,$89357,$89358,$89359,$89360,$89361,$89362),(nextval($89363),$89364,$89365,$89366,$89367,$89368,$89369,$89370,$89371,$89372,$89373,$89374,$89375,$89376),(nextval($89377),$89378,$89379,$89380,$89381,$89382,$89383,$89384,$89385,$89386,$89387,$89388,$89389,$89390),(nextval($89391),$89392,$89393,$89394,$89395,$89396,$89397,$89398,$89399,$89400,$89401,$89402,$89403,$89404),(nextval($89405),$89406,$89407,$89408,$89409,$89410,$89411,$89412,$89413,$89414,$89415,$89416,$89417,$89418),(nextval($89419),$89420,$89421,$89422,$89423,$89424,$89425,$89426,$89427,$89428,$89429,$89430,$89431,$89432),(nextval($89433),$89434,$89435,$89436,$89437,$89438,$89439,$89440,$89441,$89442,$89443,$89444,$89445,$89446),(nextval($89447),$89448,$89449,$89450,$89451,$89452,$89453,$89454,$89455,$89456,$89457,$89458,$89459,$89460),(nextval($89461),$89462,$89463,$89464,$89465,$89466,$89467,$89468,$89469,$89470,$89471,$89472,$89473,$89474),(nextval($89475),$89476,$89477,$89478,$89479,$89480,$89481,$89482,$89483,$89484,$89485,$89486,$89487,$89488),(nextval($89489),$89490,$89491,$89492,$89493,$89494,$89495,$89496,$89497,$89498,$89499,$89500,$89501,$89502),(nextval($89503),$89504,$89505,$89506,$89507,$89508,$89509,$89510,$89511,$89512,$89513,$89514,$89515,$89516),(nextval($89517),$89518,$89519,$89520,$89521,$89522,$89523,$89524,$89525,$89526,$89527,$89528,$89529,$89530),(nextval($89531),$89532,$89533,$89534,$89535,$89536,$89537,$89538,$89539,$89540,$89541,$89542,$89543,$89544),(nextval($89545),$89546,$89547,$89548,$89549,$89550,$89551,$89552,$89553,$89554,$89555,$89556,$89557,$89558),(nextval($89559),$89560,$89561,$89562,$89563,$89564,$89565,$89566,$89567,$89568,$89569,$89570,$89571,$89572),(nextval($89573),$89574,$89575,$89576,$89577,$89578,$89579,$89580,$89581,$89582,$89583,$89584,$89585,$89586),(nextval($89587),$89588,$89589,$89590,$89591,$89592,$89593,$89594,$89595,$89596,$89597,$89598,$89599,$89600),(nextval($89601),$89602,$89603,$89604,$89605,$89606,$89607,$89608,$89609,$89610,$89611,$89612,$89613,$89614),(nextval($89615),$89616,$89617,$89618,$89619,$89620,$89621,$89622,$89623,$89624,$89625,$89626,$89627,$89628),(nextval($89629),$89630,$89631,$89632,$89633,$89634,$89635,$89636,$89637,$89638,$89639,$89640,$89641,$89642),(nextval($89643),$89644,$89645,$89646,$89647,$89648,$89649,$89650,$89651,$89652,$89653,$89654,$89655,$89656),(nextval($89657),$89658,$89659,$89660,$89661,$89662,$89663,$89664,$89665,$89666,$89667,$89668,$89669,$89670),(nextval($89671),$89672,$89673,$89674,$89675,$89676,$89677,$89678,$89679,$89680,$89681,$89682,$89683,$89684),(nextval($89685),$89686,$89687,$89688,$89689,$89690,$89691,$89692,$89693,$89694,$89695,$89696,$89697,$89698),(nextval($89699),$89700,$89701,$89702,$89703,$89704,$89705,$89706,$89707,$89708,$89709,$89710,$89711,$89712),(nextval($89713),$89714,$89715,$89716,$89717,$89718,$89719,$89720,$89721,$89722,$89723,$89724,$89725,$89726),(nextval($89727),$89728,$89729,$89730,$89731,$89732,$89733,$89734,$89735,$89736,$89737,$89738,$89739,$89740),(nextval($89741),$89742,$89743,$89744,$89745,$89746,$89747,$89748,$89749,$89750,$89751,$89752,$89753,$89754),(nextval($89755),$89756,$89757,$89758,$89759,$89760,$89761,$89762,$89763,$89764,$89765,$89766,$89767,$89768),(nextval($89769),$89770,$89771,$89772,$89773,$89774,$89775,$89776,$89777,$89778,$89779,$89780,$89781,$89782),(nextval($89783),$89784,$89785,$89786,$89787,$89788,$89789,$89790,$89791,$89792,$89793,$89794,$89795,$89796),(nextval($89797),$89798,$89799,$89800,$89801,$89802,$89803,$89804,$89805,$89806,$89807,$89808,$89809,$89810),(nextval($89811),$89812,$89813,$89814,$89815,$89816,$89817,$89818,$89819,$89820,$89821,$89822,$89823,$89824),(nextval($89825),$89826,$89827,$89828,$89829,$89830,$89831,$89832,$89833,$89834,$89835,$89836,$89837,$89838),(nextval($89839),$89840,$89841,$89842,$89843,$89844,$89845,$89846,$89847,$89848,$89849,$89850,$89851,$89852),(nextval($89853),$89854,$89855,$89856,$89857,$89858,$89859,$89860,$89861,$89862,$89863,$89864,$89865,$89866),(nextval($89867),$89868,$89869,$89870,$89871,$89872,$89873,$89874,$89875,$89876,$89877,$89878,$89879,$89880),(nextval($89881),$89882,$89883,$89884,$89885,$89886,$89887,$89888,$89889,$89890,$89891,$89892,$89893,$89894),(nextval($89895),$89896,$89897,$89898,$89899,$89900,$89901,$89902,$89903,$89904,$89905,$89906,$89907,$89908),(nextval($89909),$89910,$89911,$89912,$89913,$89914,$89915,$89916,$89917,$89918,$89919,$89920,$89921,$89922),(nextval($89923),$89924,$89925,$89926,$89927,$89928,$89929,$89930,$89931,$89932,$89933,$89934,$89935,$89936),(nextval($89937),$89938,$89939,$89940,$89941,$89942,$89943,$89944,$89945,$89946,$89947,$89948,$89949,$89950),(nextval($89951),$89952,$89953,$89954,$89955,$89956,$89957,$89958,$89959,$89960,$89961,$89962,$89963,$89964),(nextval($89965),$89966,$89967,$89968,$89969,$89970,$89971,$89972,$89973,$89974,$89975,$89976,$89977,$89978),(nextval($89979),$89980,$89981,$89982,$89983,$89984,$89985,$89986,$89987,$89988,$89989,$89990,$89991,$89992),(nextval($89993),$89994,$89995,$89996,$89997,$89998,$89999,$90000,$90001,$90002,$90003,$90004,$90005,$90006),(nextval($90007),$90008,$90009,$90010,$90011,$90012,$90013,$90014,$90015,$90016,$90017,$90018,$90019,$90020),(nextval($90021),$90022,$90023,$90024,$90025,$90026,$90027,$90028,$90029,$90030,$90031,$90032,$90033,$90034),(nextval($90035),$90036,$90037,$90038,$90039,$90040,$90041,$90042,$90043,$90044,$90045,$90046,$90047,$90048),(nextval($90049),$90050,$90051,$90052,$90053,$90054,$90055,$90056,$90057,$90058,$90059,$90060,$90061,$90062),(nextval($90063),$90064,$90065,$90066,$90067,$90068,$90069,$90070,$90071,$90072,$90073,$90074,$90075,$90076),(nextval($90077),$90078,$90079,$90080,$90081,$90082,$90083,$90084,$90085,$90086,$90087,$90088,$90089,$90090),(nextval($90091),$90092,$90093,$90094,$90095,$90096,$90097,$90098,$90099,$90100,$90101,$90102,$90103,$90104),(nextval($90105),$90106,$90107,$90108,$90109,$90110,$90111,$90112,$90113,$90114,$90115,$90116,$90117,$90118),(nextval($90119),$90120,$90121,$90122,$90123,$90124,$90125,$90126,$90127,$90128,$90129,$90130,$90131,$90132),(nextval($90133),$90134,$90135,$90136,$90137,$90138,$90139,$90140,$90141,$90142,$90143,$90144,$90145,$90146),(nextval($90147),$90148,$90149,$90150,$90151,$90152,$90153,$90154,$90155,$90156,$90157,$90158,$90159,$90160),(nextval($90161),$90162,$90163,$90164,$90165,$90166,$90167,$90168,$90169,$90170,$90171,$90172,$90173,$90174),(nextval($90175),$90176,$90177,$90178,$90179,$90180,$90181,$90182,$90183,$90184,$90185,$90186,$90187,$90188),(nextval($90189),$90190,$90191,$90192,$90193,$90194,$90195,$90196,$90197,$90198,$90199,$90200,$90201,$90202),(nextval($90203),$90204,$90205,$90206,$90207,$90208,$90209,$90210,$90211,$90212,$90213,$90214,$90215,$90216),(nextval($90217),$90218,$90219,$90220,$90221,$90222,$90223,$90224,$90225,$90226,$90227,$90228,$90229,$90230),(nextval($90231),$90232,$90233,$90234,$90235,$90236,$90237,$90238,$90239,$90240,$90241,$90242,$90243,$90244),(nextval($90245),$90246,$90247,$90248,$90249,$90250,$90251,$90252,$90253,$90254,$90255,$90256,$90257,$90258),(nextval($90259),$90260,$90261,$90262,$90263,$90264,$90265,$90266,$90267,$90268,$90269,$90270,$90271,$90272),(nextval($90273),$90274,$90275,$90276,$90277,$90278,$90279,$90280,$90281,$90282,$90283,$90284,$90285,$90286),(nextval($90287),$90288,$90289,$90290,$90291,$90292,$90293,$90294,$90295,$90296,$90297,$90298,$90299,$90300),(nextval($90301),$90302,$90303,$90304,$90305,$90306,$90307,$90308,$90309,$90310,$90311,$90312,$90313,$90314),(nextval($90315),$90316,$90317,$90318,$90319,$90320,$90321,$90322,$90323,$90324,$90325,$90326,$90327,$90328),(nextval($90329),$90330,$90331,$90332,$90333,$90334,$90335,$90336,$90337,$90338,$90339,$90340,$90341,$90342),(nextval($90343),$90344,$90345,$90346,$90347,$90348,$90349,$90350,$90351,$90352,$90353,$90354,$90355,$90356),(nextval($90357),$90358,$90359,$90360,$90361,$90362,$90363,$90364,$90365,$90366,$90367,$90368,$90369,$90370),(nextval($90371),$90372,$90373,$90374,$90375,$90376,$90377,$90378,$90379,$90380,$90381,$90382,$90383,$90384),(nextval($90385),$90386,$90387,$90388,$90389,$90390,$90391,$90392,$90393,$90394,$90395,$90396,$90397,$90398),(nextval($90399),$90400,$90401,$90402,$90403,$90404,$90405,$90406,$90407,$90408,$90409,$90410,$90411,$90412),(nextval($90413),$90414,$90415,$90416,$90417,$90418,$90419,$90420,$90421,$90422,$90423,$90424,$90425,$90426),(nextval($90427),$90428,$90429,$90430,$90431,$90432,$90433,$90434,$90435,$90436,$90437,$90438,$90439,$90440),(nextval($90441),$90442,$90443,$90444,$90445,$90446,$90447,$90448,$90449,$90450,$90451,$90452,$90453,$90454),(nextval($90455),$90456,$90457,$90458,$90459,$90460,$90461,$90462,$90463,$90464,$90465,$90466,$90467,$90468),(nextval($90469),$90470,$90471,$90472,$90473,$90474,$90475,$90476,$90477,$90478,$90479,$90480,$90481,$90482),(nextval($90483),$90484,$90485,$90486,$90487,$90488,$90489,$90490,$90491,$90492,$90493,$90494,$90495,$90496),(nextval($90497),$90498,$90499,$90500,$90501,$90502,$90503,$90504,$90505,$90506,$90507,$90508,$90509,$90510),(nextval($90511),$90512,$90513,$90514,$90515,$90516,$90517,$90518,$90519,$90520,$90521,$90522,$90523,$90524),(nextval($90525),$90526,$90527,$90528,$90529,$90530,$90531,$90532,$90533,$90534,$90535,$90536,$90537,$90538),(nextval($90539),$90540,$90541,$90542,$90543,$90544,$90545,$90546,$90547,$90548,$90549,$90550,$90551,$90552),(nextval($90553),$90554,$90555,$90556,$90557,$90558,$90559,$90560,$90561,$90562,$90563,$90564,$90565,$90566),(nextval($90567),$90568,$90569,$90570,$90571,$90572,$90573,$90574,$90575,$90576,$90577,$90578,$90579,$90580),(nextval($90581),$90582,$90583,$90584,$90585,$90586,$90587,$90588,$90589,$90590,$90591,$90592,$90593,$90594),(nextval($90595),$90596,$90597,$90598,$90599,$90600,$90601,$90602,$90603,$90604,$90605,$90606,$90607,$90608),(nextval($90609),$90610,$90611,$90612,$90613,$90614,$90615,$90616,$90617,$90618,$90619,$90620,$90621,$90622),(nextval($90623),$90624,$90625,$90626,$90627,$90628,$90629,$90630,$90631,$90632,$90633,$90634,$90635,$90636),(nextval($90637),$90638,$90639,$90640,$90641,$90642,$90643,$90644,$90645,$90646,$90647,$90648,$90649,$90650),(nextval($90651),$90652,$90653,$90654,$90655,$90656,$90657,$90658,$90659,$90660,$90661,$90662,$90663,$90664),(nextval($90665),$90666,$90667,$90668,$90669,$90670,$90671,$90672,$90673,$90674,$90675,$90676,$90677,$90678),(nextval($90679),$90680,$90681,$90682,$90683,$90684,$90685,$90686,$90687,$90688,$90689,$90690,$90691,$90692),(nextval($90693),$90694,$90695,$90696,$90697,$90698,$90699,$90700,$90701,$90702,$90703,$90704,$90705,$90706),(nextval($90707),$90708,$90709,$90710,$90711,$90712,$90713,$90714,$90715,$90716,$90717,$90718,$90719,$90720),(nextval($90721),$90722,$90723,$90724,$90725,$90726,$90727,$90728,$90729,$90730,$90731,$90732,$90733,$90734),(nextval($90735),$90736,$90737,$90738,$90739,$90740,$90741,$90742,$90743,$90744,$90745,$90746,$90747,$90748),(nextval($90749),$90750,$90751,$90752,$90753,$90754,$90755,$90756,$90757,$90758,$90759,$90760,$90761,$90762),(nextval($90763),$90764,$90765,$90766,$90767,$90768,$90769,$90770,$90771,$90772,$90773,$90774,$90775,$90776),(nextval($90777),$90778,$90779,$90780,$90781,$90782,$90783,$90784,$90785,$90786,$90787,$90788,$90789,$90790),(nextval($90791),$90792,$90793,$90794,$90795,$90796,$90797,$90798,$90799,$90800,$90801,$90802,$90803,$90804),(nextval($90805),$90806,$90807,$90808,$90809,$90810,$90811,$90812,$90813,$90814,$90815,$90816,$90817,$90818),(nextval($90819),$90820,$90821,$90822,$90823,$90824,$90825,$90826,$90827,$90828,$90829,$90830,$90831,$90832),(nextval($90833),$90834,$90835,$90836,$90837,$90838,$90839,$90840,$90841,$90842,$90843,$90844,$90845,$90846),(nextval($90847),$90848,$90849,$90850,$90851,$90852,$90853,$90854,$90855,$90856,$90857,$90858,$90859,$90860),(nextval($90861),$90862,$90863,$90864,$90865,$90866,$90867,$90868,$90869,$90870,$90871,$90872,$90873,$90874),(nextval($90875),$90876,$90877,$90878,$90879,$90880,$90881,$90882,$90883,$90884,$90885,$90886,$90887,$90888),(nextval($90889),$90890,$90891,$90892,$90893,$90894,$90895,$90896,$90897,$90898,$90899,$90900,$90901,$90902),(nextval($90903),$90904,$90905,$90906,$90907,$90908,$90909,$90910,$90911,$90912,$90913,$90914,$90915,$90916),(nextval($90917),$90918,$90919,$90920,$90921,$90922,$90923,$90924,$90925,$90926,$90927,$90928,$90929,$90930),(nextval($90931),$90932,$90933,$90934,$90935,$90936,$90937,$90938,$90939,$90940,$90941,$90942,$90943,$90944),(nextval($90945),$90946,$90947,$90948,$90949,$90950,$90951,$90952,$90953,$90954,$90955,$90956,$90957,$90958),(nextval($90959),$90960,$90961,$90962,$90963,$90964,$90965,$90966,$90967,$90968,$90969,$90970,$90971,$90972),(nextval($90973),$90974,$90975,$90976,$90977,$90978,$90979,$90980,$90981,$90982,$90983,$90984,$90985,$90986),(nextval($90987),$90988,$90989,$90990,$90991,$90992,$90993,$90994,$90995,$90996,$90997,$90998,$90999,$91000),(nextval($91001),$91002,$91003,$91004,$91005,$91006,$91007,$91008,$91009,$91010,$91011,$91012,$91013,$91014),(nextval($91015),$91016,$91017,$91018,$91019,$91020,$91021,$91022,$91023,$91024,$91025,$91026,$91027,$91028),(nextval($91029),$91030,$91031,$91032,$91033,$91034,$91035,$91036,$91037,$91038,$91039,$91040,$91041,$91042),(nextval($91043),$91044,$91045,$91046,$91047,$91048,$91049,$91050,$91051,$91052,$91053,$91054,$91055,$91056),(nextval($91057),$91058,$91059,$91060,$91061,$91062,$91063,$91064,$91065,$91066,$91067,$91068,$91069,$91070),(nextval($91071),$91072,$91073,$91074,$91075,$91076,$91077,$91078,$91079,$91080,$91081,$91082,$91083,$91084),(nextval($91085),$91086,$91087,$91088,$91089,$91090,$91091,$91092,$91093,$91094,$91095,$91096,$91097,$91098),(nextval($91099),$91100,$91101,$91102,$91103,$91104,$91105,$91106,$91107,$91108,$91109,$91110,$91111,$91112),(nextval($91113),$91114,$91115,$91116,$91117,$91118,$91119,$91120,$91121,$91122,$91123,$91124,$91125,$91126),(nextval($91127),$91128,$91129,$91130,$91131,$91132,$91133,$91134,$91135,$91136,$91137,$91138,$91139,$91140),(nextval($91141),$91142,$91143,$91144,$91145,$91146,$91147,$91148,$91149,$91150,$91151,$91152,$91153,$91154),(nextval($91155),$91156,$91157,$91158,$91159,$91160,$91161,$91162,$91163,$91164,$91165,$91166,$91167,$91168),(nextval($91169),$91170,$91171,$91172,$91173,$91174,$91175,$91176,$91177,$91178,$91179,$91180,$91181,$91182),(nextval($91183),$91184,$91185,$91186,$91187,$91188,$91189,$91190,$91191,$91192,$91193,$91194,$91195,$91196),(nextval($91197),$91198,$91199,$91200,$91201,$91202,$91203,$91204,$91205,$91206,$91207,$91208,$91209,$91210),(nextval($91211),$91212,$91213,$91214,$91215,$91216,$91217,$91218,$91219,$91220,$91221,$91222,$91223,$91224),(nextval($91225),$91226,$91227,$91228,$91229,$91230,$91231,$91232,$91233,$91234,$91235,$91236,$91237,$91238),(nextval($91239),$91240,$91241,$91242,$91243,$91244,$91245,$91246,$91247,$91248,$91249,$91250,$91251,$91252),(nextval($91253),$91254,$91255,$91256,$91257,$91258,$91259,$91260,$91261,$91262,$91263,$91264,$91265,$91266),(nextval($91267),$91268,$91269,$91270,$91271,$91272,$91273,$91274,$91275,$91276,$91277,$91278,$91279,$91280),(nextval($91281),$91282,$91283,$91284,$91285,$91286,$91287,$91288,$91289,$91290,$91291,$91292,$91293,$91294),(nextval($91295),$91296,$91297,$91298,$91299,$91300,$91301,$91302,$91303,$91304,$91305,$91306,$91307,$91308),(nextval($91309),$91310,$91311,$91312,$91313,$91314,$91315,$91316,$91317,$91318,$91319,$91320,$91321,$91322),(nextval($91323),$91324,$91325,$91326,$91327,$91328,$91329,$91330,$91331,$91332,$91333,$91334,$91335,$91336),(nextval($91337),$91338,$91339,$91340,$91341,$91342,$91343,$91344,$91345,$91346,$91347,$91348,$91349,$91350),(nextval($91351),$91352,$91353,$91354,$91355,$91356,$91357,$91358,$91359,$91360,$91361,$91362,$91363,$91364),(nextval($91365),$91366,$91367,$91368,$91369,$91370,$91371,$91372,$91373,$91374,$91375,$91376,$91377,$91378),(nextval($91379),$91380,$91381,$91382,$91383,$91384,$91385,$91386,$91387,$91388,$91389,$91390,$91391,$91392),(nextval($91393),$91394,$91395,$91396,$91397,$91398,$91399,$91400,$91401,$91402,$91403,$91404,$91405,$91406),(nextval($91407),$91408,$91409,$91410,$91411,$91412,$91413,$91414,$91415,$91416,$91417,$91418,$91419,$91420),(nextval($91421),$91422,$91423,$91424,$91425,$91426,$91427,$91428,$91429,$91430,$91431,$91432,$91433,$91434),(nextval($91435),$91436,$91437,$91438,$91439,$91440,$91441,$91442,$91443,$91444,$91445,$91446,$91447,$91448),(nextval($91449),$91450,$91451,$91452,$91453,$91454,$91455,$91456,$91457,$91458,$91459,$91460,$91461,$91462),(nextval($91463),$91464,$91465,$91466,$91467,$91468,$91469,$91470,$91471,$91472,$91473,$91474,$91475,$91476),(nextval($91477),$91478,$91479,$91480,$91481,$91482,$91483,$91484,$91485,$91486,$91487,$91488,$91489,$91490),(nextval($91491),$91492,$91493,$91494,$91495,$91496,$91497,$91498,$91499,$91500,$91501,$91502,$91503,$91504),(nextval($91505),$91506,$91507,$91508,$91509,$91510,$91511,$91512,$91513,$91514,$91515,$91516,$91517,$91518),(nextval($91519),$91520,$91521,$91522,$91523,$91524,$91525,$91526,$91527,$91528,$91529,$91530,$91531,$91532),(nextval($91533),$91534,$91535,$91536,$91537,$91538,$91539,$91540,$91541,$91542,$91543,$91544,$91545,$91546),(nextval($91547),$91548,$91549,$91550,$91551,$91552,$91553,$91554,$91555,$91556,$91557,$91558,$91559,$91560),(nextval($91561),$91562,$91563,$91564,$91565,$91566,$91567,$91568,$91569,$91570,$91571,$91572,$91573,$91574),(nextval($91575),$91576,$91577,$91578,$91579,$91580,$91581,$91582,$91583,$91584,$91585,$91586,$91587,$91588),(nextval($91589),$91590,$91591,$91592,$91593,$91594,$91595,$91596,$91597,$91598,$91599,$91600,$91601,$91602),(nextval($91603),$91604,$91605,$91606,$91607,$91608,$91609,$91610,$91611,$91612,$91613,$91614,$91615,$91616),(nextval($91617),$91618,$91619,$91620,$91621,$91622,$91623,$91624,$91625,$91626,$91627,$91628,$91629,$91630),(nextval($91631),$91632,$91633,$91634,$91635,$91636,$91637,$91638,$91639,$91640,$91641,$91642,$91643,$91644),(nextval($91645),$91646,$91647,$91648,$91649,$91650,$91651,$91652,$91653,$91654,$91655,$91656,$91657,$91658),(nextval($91659),$91660,$91661,$91662,$91663,$91664,$91665,$91666,$91667,$91668,$91669,$91670,$91671,$91672),(nextval($91673),$91674,$91675,$91676,$91677,$91678,$91679,$91680,$91681,$91682,$91683,$91684,$91685,$91686),(nextval($91687),$91688,$91689,$91690,$91691,$91692,$91693,$91694,$91695,$91696,$91697,$91698,$91699,$91700),(nextval($91701),$91702,$91703,$91704,$91705,$91706,$91707,$91708,$91709,$91710,$91711,$91712,$91713,$91714),(nextval($91715),$91716,$91717,$91718,$91719,$91720,$91721,$91722,$91723,$91724,$91725,$91726,$91727,$91728),(nextval($91729),$91730,$91731,$91732,$91733,$91734,$91735,$91736,$91737,$91738,$91739,$91740,$91741,$91742),(nextval($91743),$91744,$91745,$91746,$91747,$91748,$91749,$91750,$91751,$91752,$91753,$91754,$91755,$91756),(nextval($91757),$91758,$91759,$91760,$91761,$91762,$91763,$91764,$91765,$91766,$91767,$91768,$91769,$91770),(nextval($91771),$91772,$91773,$91774,$91775,$91776,$91777,$91778,$91779,$91780,$91781,$91782,$91783,$91784),(nextval($91785),$91786,$91787,$91788,$91789,$91790,$91791,$91792,$91793,$91794,$91795,$91796,$91797,$91798),(nextval($91799),$91800,$91801,$91802,$91803,$91804,$91805,$91806,$91807,$91808,$91809,$91810,$91811,$91812),(nextval($91813),$91814,$91815,$91816,$91817,$91818,$91819,$91820,$91821,$91822,$91823,$91824,$91825,$91826),(nextval($91827),$91828,$91829,$91830,$91831,$91832,$91833,$91834,$91835,$91836,$91837,$91838,$91839,$91840),(nextval($91841),$91842,$91843,$91844,$91845,$91846,$91847,$91848,$91849,$91850,$91851,$91852,$91853,$91854),(nextval($91855),$91856,$91857,$91858,$91859,$91860,$91861,$91862,$91863,$91864,$91865,$91866,$91867,$91868),(nextval($91869),$91870,$91871,$91872,$91873,$91874,$91875,$91876,$91877,$91878,$91879,$91880,$91881,$91882),(nextval($91883),$91884,$91885,$91886,$91887,$91888,$91889,$91890,$91891,$91892,$91893,$91894,$91895,$91896),(nextval($91897),$91898,$91899,$91900,$91901,$91902,$91903,$91904,$91905,$91906,$91907,$91908,$91909,$91910),(nextval($91911),$91912,$91913,$91914,$91915,$91916,$91917,$91918,$91919,$91920,$91921,$91922,$91923,$91924),(nextval($91925),$91926,$91927,$91928,$91929,$91930,$91931,$91932,$91933,$91934,$91935,$91936,$91937,$91938),(nextval($91939),$91940,$91941,$91942,$91943,$91944,$91945,$91946,$91947,$91948,$91949,$91950,$91951,$91952),(nextval($91953),$91954,$91955,$91956,$91957,$91958,$91959,$91960,$91961,$91962,$91963,$91964,$91965,$91966),(nextval($91967),$91968,$91969,$91970,$91971,$91972,$91973,$91974,$91975,$91976,$91977,$91978,$91979,$91980),(nextval($91981),$91982,$91983,$91984,$91985,$91986,$91987,$91988,$91989,$91990,$91991,$91992,$91993,$91994),(nextval($91995),$91996,$91997,$91998,$91999,$92000,$92001,$92002,$92003,$92004,$92005,$92006,$92007,$92008),(nextval($92009),$92010,$92011,$92012,$92013,$92014,$92015,$92016,$92017,$92018,$92019,$92020,$92021,$92022),(nextval($92023),$92024,$92025,$92026,$92027,$92028,$92029,$92030,$92031,$92032,$92033,$92034,$92035,$92036),(nextval($92037),$92038,$92039,$92040,$92041,$92042,$92043,$92044,$92045,$92046,$92047,$92048,$92049,$92050),(nextval($92051),$92052,$92053,$92054,$92055,$92056,$92057,$92058,$92059,$92060,$92061,$92062,$92063,$92064),(nextval($92065),$92066,$92067,$92068,$92069,$92070,$92071,$92072,$92073,$92074,$92075,$92076,$92077,$92078),(nextval($92079),$92080,$92081,$92082,$92083,$92084,$92085,$92086,$92087,$92088,$92089,$92090,$92091,$92092),(nextval($92093),$92094,$92095,$92096,$92097,$92098,$92099,$92100,$92101,$92102,$92103,$92104,$92105,$92106),(nextval($92107),$92108,$92109,$92110,$92111,$92112,$92113,$92114,$92115,$92116,$92117,$92118,$92119,$92120),(nextval($92121),$92122,$92123,$92124,$92125,$92126,$92127,$92128,$92129,$92130,$92131,$92132,$92133,$92134),(nextval($92135),$92136,$92137,$92138,$92139,$92140,$92141,$92142,$92143,$92144,$92145,$92146,$92147,$92148),(nextval($92149),$92150,$92151,$92152,$92153,$92154,$92155,$92156,$92157,$92158,$92159,$92160,$92161,$92162),(nextval($92163),$92164,$92165,$92166,$92167,$92168,$92169,$92170,$92171,$92172,$92173,$92174,$92175,$92176),(nextval($92177),$92178,$92179,$92180,$92181,$92182,$92183,$92184,$92185,$92186,$92187,$92188,$92189,$92190),(nextval($92191),$92192,$92193,$92194,$92195,$92196,$92197,$92198,$92199,$92200,$92201,$92202,$92203,$92204),(nextval($92205),$92206,$92207,$92208,$92209,$92210,$92211,$92212,$92213,$92214,$92215,$92216,$92217,$92218),(nextval($92219),$92220,$92221,$92222,$92223,$92224,$92225,$92226,$92227,$92228,$92229,$92230,$92231,$92232),(nextval($92233),$92234,$92235,$92236,$92237,$92238,$92239,$92240,$92241,$92242,$92243,$92244,$92245,$92246),(nextval($92247),$92248,$92249,$92250,$92251,$92252,$92253,$92254,$92255,$92256,$92257,$92258,$92259,$92260),(nextval($92261),$92262,$92263,$92264,$92265,$92266,$92267,$92268,$92269,$92270,$92271,$92272,$92273,$92274),(nextval($92275),$92276,$92277,$92278,$92279,$92280,$92281,$92282,$92283,$92284,$92285,$92286,$92287,$92288),(nextval($92289),$92290,$92291,$92292,$92293,$92294,$92295,$92296,$92297,$92298,$92299,$92300,$92301,$92302),(nextval($92303),$92304,$92305,$92306,$92307,$92308,$92309,$92310,$92311,$92312,$92313,$92314,$92315,$92316),(nextval($92317),$92318,$92319,$92320,$92321,$92322,$92323,$92324,$92325,$92326,$92327,$92328,$92329,$92330),(nextval($92331),$92332,$92333,$92334,$92335,$92336,$92337,$92338,$92339,$92340,$92341,$92342,$92343,$92344),(nextval($92345),$92346,$92347,$92348,$92349,$92350,$92351,$92352,$92353,$92354,$92355,$92356,$92357,$92358),(nextval($92359),$92360,$92361,$92362,$92363,$92364,$92365,$92366,$92367,$92368,$92369,$92370,$92371,$92372),(nextval($92373),$92374,$92375,$92376,$92377,$92378,$92379,$92380,$92381,$92382,$92383,$92384,$92385,$92386),(nextval($92387),$92388,$92389,$92390,$92391,$92392,$92393,$92394,$92395,$92396,$92397,$92398,$92399,$92400),(nextval($92401),$92402,$92403,$92404,$92405,$92406,$92407,$92408,$92409,$92410,$92411,$92412,$92413,$92414),(nextval($92415),$92416,$92417,$92418,$92419,$92420,$92421,$92422,$92423,$92424,$92425,$92426,$92427,$92428),(nextval($92429),$92430,$92431,$92432,$92433,$92434,$92435,$92436,$92437,$92438,$92439,$92440,$92441,$92442),(nextval($92443),$92444,$92445,$92446,$92447,$92448,$92449,$92450,$92451,$92452,$92453,$92454,$92455,$92456),(nextval($92457),$92458,$92459,$92460,$92461,$92462,$92463,$92464,$92465,$92466,$92467,$92468,$92469,$92470),(nextval($92471),$92472,$92473,$92474,$92475,$92476,$92477,$92478,$92479,$92480,$92481,$92482,$92483,$92484),(nextval($92485),$92486,$92487,$92488,$92489,$92490,$92491,$92492,$92493,$92494,$92495,$92496,$92497,$92498),(nextval($92499),$92500,$92501,$92502,$92503,$92504,$92505,$92506,$92507,$92508,$92509,$92510,$92511,$92512),(nextval($92513),$92514,$92515,$92516,$92517,$92518,$92519,$92520,$92521,$92522,$92523,$92524,$92525,$92526),(nextval($92527),$92528,$92529,$92530,$92531,$92532,$92533,$92534,$92535,$92536,$92537,$92538,$92539,$92540),(nextval($92541),$92542,$92543,$92544,$92545,$92546,$92547,$92548,$92549,$92550,$92551,$92552,$92553,$92554),(nextval($92555),$92556,$92557,$92558,$92559,$92560,$92561,$92562,$92563,$92564,$92565,$92566,$92567,$92568),(nextval($92569),$92570,$92571,$92572,$92573,$92574,$92575,$92576,$92577,$92578,$92579,$92580,$92581,$92582),(nextval($92583),$92584,$92585,$92586,$92587,$92588,$92589,$92590,$92591,$92592,$92593,$92594,$92595,$92596),(nextval($92597),$92598,$92599,$92600,$92601,$92602,$92603,$92604,$92605,$92606,$92607,$92608,$92609,$92610),(nextval($92611),$92612,$92613,$92614,$92615,$92616,$92617,$92618,$92619,$92620,$92621,$92622,$92623,$92624),(nextval($92625),$92626,$92627,$92628,$92629,$92630,$92631,$92632,$92633,$92634,$92635,$92636,$92637,$92638),(nextval($92639),$92640,$92641,$92642,$92643,$92644,$92645,$92646,$92647,$92648,$92649,$92650,$92651,$92652),(nextval($92653),$92654,$92655,$92656,$92657,$92658,$92659,$92660,$92661,$92662,$92663,$92664,$92665,$92666),(nextval($92667),$92668,$92669,$92670,$92671,$92672,$92673,$92674,$92675,$92676,$92677,$92678,$92679,$92680),(nextval($92681),$92682,$92683,$92684,$92685,$92686,$92687,$92688,$92689,$92690,$92691,$92692,$92693,$92694),(nextval($92695),$92696,$92697,$92698,$92699,$92700,$92701,$92702,$92703,$92704,$92705,$92706,$92707,$92708),(nextval($92709),$92710,$92711,$92712,$92713,$92714,$92715,$92716,$92717,$92718,$92719,$92720,$92721,$92722),(nextval($92723),$92724,$92725,$92726,$92727,$92728,$92729,$92730,$92731,$92732,$92733,$92734,$92735,$92736),(nextval($92737),$92738,$92739,$92740,$92741,$92742,$92743,$92744,$92745,$92746,$92747,$92748,$92749,$92750),(nextval($92751),$92752,$92753,$92754,$92755,$92756,$92757,$92758,$92759,$92760,$92761,$92762,$92763,$92764),(nextval($92765),$92766,$92767,$92768,$92769,$92770,$92771,$92772,$92773,$92774,$92775,$92776,$92777,$92778),(nextval($92779),$92780,$92781,$92782,$92783,$92784,$92785,$92786,$92787,$92788,$92789,$92790,$92791,$92792),(nextval($92793),$92794,$92795,$92796,$92797,$92798,$92799,$92800,$92801,$92802,$92803,$92804,$92805,$92806),(nextval($92807),$92808,$92809,$92810,$92811,$92812,$92813,$92814,$92815,$92816,$92817,$92818,$92819,$92820),(nextval($92821),$92822,$92823,$92824,$92825,$92826,$92827,$92828,$92829,$92830,$92831,$92832,$92833,$92834),(nextval($92835),$92836,$92837,$92838,$92839,$92840,$92841,$92842,$92843,$92844,$92845,$92846,$92847,$92848),(nextval($92849),$92850,$92851,$92852,$92853,$92854,$92855,$92856,$92857,$92858,$92859,$92860,$92861,$92862),(nextval($92863),$92864,$92865,$92866,$92867,$92868,$92869,$92870,$92871,$92872,$92873,$92874,$92875,$92876),(nextval($92877),$92878,$92879,$92880,$92881,$92882,$92883,$92884,$92885,$92886,$92887,$92888,$92889,$92890),(nextval($92891),$92892,$92893,$92894,$92895,$92896,$92897,$92898,$92899,$92900,$92901,$92902,$92903,$92904),(nextval($92905),$92906,$92907,$92908,$92909,$92910,$92911,$92912,$92913,$92914,$92915,$92916,$92917,$92918),(nextval($92919),$92920,$92921,$92922,$92923,$92924,$92925,$92926,$92927,$92928,$92929,$92930,$92931,$92932),(nextval($92933),$92934,$92935,$92936,$92937,$92938,$92939,$92940,$92941,$92942,$92943,$92944,$92945,$92946),(nextval($92947),$92948,$92949,$92950,$92951,$92952,$92953,$92954,$92955,$92956,$92957,$92958,$92959,$92960),(nextval($92961),$92962,$92963,$92964,$92965,$92966,$92967,$92968,$92969,$92970,$92971,$92972,$92973,$92974),(nextval($92975),$92976,$92977,$92978,$92979,$92980,$92981,$92982,$92983,$92984,$92985,$92986,$92987,$92988),(nextval($92989),$92990,$92991,$92992,$92993,$92994,$92995,$92996,$92997,$92998,$92999,$93000,$93001,$93002),(nextval($93003),$93004,$93005,$93006,$93007,$93008,$93009,$93010,$93011,$93012,$93013,$93014,$93015,$93016),(nextval($93017),$93018,$93019,$93020,$93021,$93022,$93023,$93024,$93025,$93026,$93027,$93028,$93029,$93030),(nextval($93031),$93032,$93033,$93034,$93035,$93036,$93037,$93038,$93039,$93040,$93041,$93042,$93043,$93044),(nextval($93045),$93046,$93047,$93048,$93049,$93050,$93051,$93052,$93053,$93054,$93055,$93056,$93057,$93058),(nextval($93059),$93060,$93061,$93062,$93063,$93064,$93065,$93066,$93067,$93068,$93069,$93070,$93071,$93072),(nextval($93073),$93074,$93075,$93076,$93077,$93078,$93079,$93080,$93081,$93082,$93083,$93084,$93085,$93086),(nextval($93087),$93088,$93089,$93090,$93091,$93092,$93093,$93094,$93095,$93096,$93097,$93098,$93099,$93100),(nextval($93101),$93102,$93103,$93104,$93105,$93106,$93107,$93108,$93109,$93110,$93111,$93112,$93113,$93114),(nextval($93115),$93116,$93117,$93118,$93119,$93120,$93121,$93122,$93123,$93124,$93125,$93126,$93127,$93128),(nextval($93129),$93130,$93131,$93132,$93133,$93134,$93135,$93136,$93137,$93138,$93139,$93140,$93141,$93142),(nextval($93143),$93144,$93145,$93146,$93147,$93148,$93149,$93150,$93151,$93152,$93153,$93154,$93155,$93156),(nextval($93157),$93158,$93159,$93160,$93161,$93162,$93163,$93164,$93165,$93166,$93167,$93168,$93169,$93170),(nextval($93171),$93172,$93173,$93174,$93175,$93176,$93177,$93178,$93179,$93180,$93181,$93182,$93183,$93184),(nextval($93185),$93186,$93187,$93188,$93189,$93190,$93191,$93192,$93193,$93194,$93195,$93196,$93197,$93198),(nextval($93199),$93200,$93201,$93202,$93203,$93204,$93205,$93206,$93207,$93208,$93209,$93210,$93211,$93212),(nextval($93213),$93214,$93215,$93216,$93217,$93218,$93219,$93220,$93221,$93222,$93223,$93224,$93225,$93226),(nextval($93227),$93228,$93229,$93230,$93231,$93232,$93233,$93234,$93235,$93236,$93237,$93238,$93239,$93240),(nextval($93241),$93242,$93243,$93244,$93245,$93246,$93247,$93248,$93249,$93250,$93251,$93252,$93253,$93254),(nextval($93255),$93256,$93257,$93258,$93259,$93260,$93261,$93262,$93263,$93264,$93265,$93266,$93267,$93268),(nextval($93269),$93270,$93271,$93272,$93273,$93274,$93275,$93276,$93277,$93278,$93279,$93280,$93281,$93282),(nextval($93283),$93284,$93285,$93286,$93287,$93288,$93289,$93290,$93291,$93292,$93293,$93294,$93295,$93296),(nextval($93297),$93298,$93299,$93300,$93301,$93302,$93303,$93304,$93305,$93306,$93307,$93308,$93309,$93310),(nextval($93311),$93312,$93313,$93314,$93315,$93316,$93317,$93318,$93319,$93320,$93321,$93322,$93323,$93324),(nextval($93325),$93326,$93327,$93328,$93329,$93330,$93331,$93332,$93333,$93334,$93335,$93336,$93337,$93338),(nextval($93339),$93340,$93341,$93342,$93343,$93344,$93345,$93346,$93347,$93348,$93349,$93350,$93351,$93352),(nextval($93353),$93354,$93355,$93356,$93357,$93358,$93359,$93360,$93361,$93362,$93363,$93364,$93365,$93366),(nextval($93367),$93368,$93369,$93370,$93371,$93372,$93373,$93374,$93375,$93376,$93377,$93378,$93379,$93380),(nextval($93381),$93382,$93383,$93384,$93385,$93386,$93387,$93388,$93389,$93390,$93391,$93392,$93393,$93394),(nextval($93395),$93396,$93397,$93398,$93399,$93400,$93401,$93402,$93403,$93404,$93405,$93406,$93407,$93408),(nextval($93409),$93410,$93411,$93412,$93413,$93414,$93415,$93416,$93417,$93418,$93419,$93420,$93421,$93422),(nextval($93423),$93424,$93425,$93426,$93427,$93428,$93429,$93430,$93431,$93432,$93433,$93434,$93435,$93436),(nextval($93437),$93438,$93439,$93440,$93441,$93442,$93443,$93444,$93445,$93446,$93447,$93448,$93449,$93450),(nextval($93451),$93452,$93453,$93454,$93455,$93456,$93457,$93458,$93459,$93460,$93461,$93462,$93463,$93464),(nextval($93465),$93466,$93467,$93468,$93469,$93470,$93471,$93472,$93473,$93474,$93475,$93476,$93477,$93478),(nextval($93479),$93480,$93481,$93482,$93483,$93484,$93485,$93486,$93487,$93488,$93489,$93490,$93491,$93492),(nextval($93493),$93494,$93495,$93496,$93497,$93498,$93499,$93500,$93501,$93502,$93503,$93504,$93505,$93506),(nextval($93507),$93508,$93509,$93510,$93511,$93512,$93513,$93514,$93515,$93516,$93517,$93518,$93519,$93520),(nextval($93521),$93522,$93523,$93524,$93525,$93526,$93527,$93528,$93529,$93530,$93531,$93532,$93533,$93534),(nextval($93535),$93536,$93537,$93538,$93539,$93540,$93541,$93542,$93543,$93544,$93545,$93546,$93547,$93548),(nextval($93549),$93550,$93551,$93552,$93553,$93554,$93555,$93556,$93557,$93558,$93559,$93560,$93561,$93562),(nextval($93563),$93564,$93565,$93566,$93567,$93568,$93569,$93570,$93571,$93572,$93573,$93574,$93575,$93576),(nextval($93577),$93578,$93579,$93580,$93581,$93582,$93583,$93584,$93585,$93586,$93587,$93588,$93589,$93590),(nextval($93591),$93592,$93593,$93594,$93595,$93596,$93597,$93598,$93599,$93600,$93601,$93602,$93603,$93604),(nextval($93605),$93606,$93607,$93608,$93609,$93610,$93611,$93612,$93613,$93614,$93615,$93616,$93617,$93618),(nextval($93619),$93620,$93621,$93622,$93623,$93624,$93625,$93626,$93627,$93628,$93629,$93630,$93631,$93632),(nextval($93633),$93634,$93635,$93636,$93637,$93638,$93639,$93640,$93641,$93642,$93643,$93644,$93645,$93646),(nextval($93647),$93648,$93649,$93650,$93651,$93652,$93653,$93654,$93655,$93656,$93657,$93658,$93659,$93660),(nextval($93661),$93662,$93663,$93664,$93665,$93666,$93667,$93668,$93669,$93670,$93671,$93672,$93673,$93674),(nextval($93675),$93676,$93677,$93678,$93679,$93680,$93681,$93682,$93683,$93684,$93685,$93686,$93687,$93688),(nextval($93689),$93690,$93691,$93692,$93693,$93694,$93695,$93696,$93697,$93698,$93699,$93700,$93701,$93702),(nextval($93703),$93704,$93705,$93706,$93707,$93708,$93709,$93710,$93711,$93712,$93713,$93714,$93715,$93716),(nextval($93717),$93718,$93719,$93720,$93721,$93722,$93723,$93724,$93725,$93726,$93727,$93728,$93729,$93730),(nextval($93731),$93732,$93733,$93734,$93735,$93736,$93737,$93738,$93739,$93740,$93741,$93742,$93743,$93744),(nextval($93745),$93746,$93747,$93748,$93749,$93750,$93751,$93752,$93753,$93754,$93755,$93756,$93757,$93758),(nextval($93759),$93760,$93761,$93762,$93763,$93764,$93765,$93766,$93767,$93768,$93769,$93770,$93771,$93772),(nextval($93773),$93774,$93775,$93776,$93777,$93778,$93779,$93780,$93781,$93782,$93783,$93784,$93785,$93786),(nextval($93787),$93788,$93789,$93790,$93791,$93792,$93793,$93794,$93795,$93796,$93797,$93798,$93799,$93800),(nextval($93801),$93802,$93803,$93804,$93805,$93806,$93807,$93808,$93809,$93810,$93811,$93812,$93813,$93814),(nextval($93815),$93816,$93817,$93818,$93819,$93820,$93821,$93822,$93823,$93824,$93825,$93826,$93827,$93828),(nextval($93829),$93830,$93831,$93832,$93833,$93834,$93835,$93836,$93837,$93838,$93839,$93840,$93841,$93842),(nextval($93843),$93844,$93845,$93846,$93847,$93848,$93849,$93850,$93851,$93852,$93853,$93854,$93855,$93856),(nextval($93857),$93858,$93859,$93860,$93861,$93862,$93863,$93864,$93865,$93866,$93867,$93868,$93869,$93870),(nextval($93871),$93872,$93873,$93874,$93875,$93876,$93877,$93878,$93879,$93880,$93881,$93882,$93883,$93884),(nextval($93885),$93886,$93887,$93888,$93889,$93890,$93891,$93892,$93893,$93894,$93895,$93896,$93897,$93898),(nextval($93899),$93900,$93901,$93902,$93903,$93904,$93905,$93906,$93907,$93908,$93909,$93910,$93911,$93912),(nextval($93913),$93914,$93915,$93916,$93917,$93918,$93919,$93920,$93921,$93922,$93923,$93924,$93925,$93926),(nextval($93927),$93928,$93929,$93930,$93931,$93932,$93933,$93934,$93935,$93936,$93937,$93938,$93939,$93940),(nextval($93941),$93942,$93943,$93944,$93945,$93946,$93947,$93948,$93949,$93950,$93951,$93952,$93953,$93954),(nextval($93955),$93956,$93957,$93958,$93959,$93960,$93961,$93962,$93963,$93964,$93965,$93966,$93967,$93968),(nextval($93969),$93970,$93971,$93972,$93973,$93974,$93975,$93976,$93977,$93978,$93979,$93980,$93981,$93982),(nextval($93983),$93984,$93985,$93986,$93987,$93988,$93989,$93990,$93991,$93992,$93993,$93994,$93995,$93996),(nextval($93997),$93998,$93999,$94000,$94001,$94002,$94003,$94004,$94005,$94006,$94007,$94008,$94009,$94010),(nextval($94011),$94012,$94013,$94014,$94015,$94016,$94017,$94018,$94019,$94020,$94021,$94022,$94023,$94024),(nextval($94025),$94026,$94027,$94028,$94029,$94030,$94031,$94032,$94033,$94034,$94035,$94036,$94037,$94038),(nextval($94039),$94040,$94041,$94042,$94043,$94044,$94045,$94046,$94047,$94048,$94049,$94050,$94051,$94052),(nextval($94053),$94054,$94055,$94056,$94057,$94058,$94059,$94060,$94061,$94062,$94063,$94064,$94065,$94066),(nextval($94067),$94068,$94069,$94070,$94071,$94072,$94073,$94074,$94075,$94076,$94077,$94078,$94079,$94080),(nextval($94081),$94082,$94083,$94084,$94085,$94086,$94087,$94088,$94089,$94090,$94091,$94092,$94093,$94094),(nextval($94095),$94096,$94097,$94098,$94099,$94100,$94101,$94102,$94103,$94104,$94105,$94106,$94107,$94108),(nextval($94109),$94110,$94111,$94112,$94113,$94114,$94115,$94116,$94117,$94118,$94119,$94120,$94121,$94122),(nextval($94123),$94124,$94125,$94126,$94127,$94128,$94129,$94130,$94131,$94132,$94133,$94134,$94135,$94136),(nextval($94137),$94138,$94139,$94140,$94141,$94142,$94143,$94144,$94145,$94146,$94147,$94148,$94149,$94150),(nextval($94151),$94152,$94153,$94154,$94155,$94156,$94157,$94158,$94159,$94160,$94161,$94162,$94163,$94164),(nextval($94165),$94166,$94167,$94168,$94169,$94170,$94171,$94172,$94173,$94174,$94175,$94176,$94177,$94178),(nextval($94179),$94180,$94181,$94182,$94183,$94184,$94185,$94186,$94187,$94188,$94189,$94190,$94191,$94192),(nextval($94193),$94194,$94195,$94196,$94197,$94198,$94199,$94200,$94201,$94202,$94203,$94204,$94205,$94206),(nextval($94207),$94208,$94209,$94210,$94211,$94212,$94213,$94214,$94215,$94216,$94217,$94218,$94219,$94220),(nextval($94221),$94222,$94223,$94224,$94225,$94226,$94227,$94228,$94229,$94230,$94231,$94232,$94233,$94234),(nextval($94235),$94236,$94237,$94238,$94239,$94240,$94241,$94242,$94243,$94244,$94245,$94246,$94247,$94248),(nextval($94249),$94250,$94251,$94252,$94253,$94254,$94255,$94256,$94257,$94258,$94259,$94260,$94261,$94262),(nextval($94263),$94264,$94265,$94266,$94267,$94268,$94269,$94270,$94271,$94272,$94273,$94274,$94275,$94276),(nextval($94277),$94278,$94279,$94280,$94281,$94282,$94283,$94284,$94285,$94286,$94287,$94288,$94289,$94290),(nextval($94291),$94292,$94293,$94294,$94295,$94296,$94297,$94298,$94299,$94300,$94301,$94302,$94303,$94304),(nextval($94305),$94306,$94307,$94308,$94309,$94310,$94311,$94312,$94313,$94314,$94315,$94316,$94317,$94318),(nextval($94319),$94320,$94321,$94322,$94323,$94324,$94325,$94326,$94327,$94328,$94329,$94330,$94331,$94332),(nextval($94333),$94334,$94335,$94336,$94337,$94338,$94339,$94340,$94341,$94342,$94343,$94344,$94345,$94346),(nextval($94347),$94348,$94349,$94350,$94351,$94352,$94353,$94354,$94355,$94356,$94357,$94358,$94359,$94360),(nextval($94361),$94362,$94363,$94364,$94365,$94366,$94367,$94368,$94369,$94370,$94371,$94372,$94373,$94374),(nextval($94375),$94376,$94377,$94378,$94379,$94380,$94381,$94382,$94383,$94384,$94385,$94386,$94387,$94388),(nextval($94389),$94390,$94391,$94392,$94393,$94394,$94395,$94396,$94397,$94398,$94399,$94400,$94401,$94402),(nextval($94403),$94404,$94405,$94406,$94407,$94408,$94409,$94410,$94411,$94412,$94413,$94414,$94415,$94416),(nextval($94417),$94418,$94419,$94420,$94421,$94422,$94423,$94424,$94425,$94426,$94427,$94428,$94429,$94430),(nextval($94431),$94432,$94433,$94434,$94435,$94436,$94437,$94438,$94439,$94440,$94441,$94442,$94443,$94444),(nextval($94445),$94446,$94447,$94448,$94449,$94450,$94451,$94452,$94453,$94454,$94455,$94456,$94457,$94458),(nextval($94459),$94460,$94461,$94462,$94463,$94464,$94465,$94466,$94467,$94468,$94469,$94470,$94471,$94472),(nextval($94473),$94474,$94475,$94476,$94477,$94478,$94479,$94480,$94481,$94482,$94483,$94484,$94485,$94486),(nextval($94487),$94488,$94489,$94490,$94491,$94492,$94493,$94494,$94495,$94496,$94497,$94498,$94499,$94500),(nextval($94501),$94502,$94503,$94504,$94505,$94506,$94507,$94508,$94509,$94510,$94511,$94512,$94513,$94514),(nextval($94515),$94516,$94517,$94518,$94519,$94520,$94521,$94522,$94523,$94524,$94525,$94526,$94527,$94528),(nextval($94529),$94530,$94531,$94532,$94533,$94534,$94535,$94536,$94537,$94538,$94539,$94540,$94541,$94542),(nextval($94543),$94544,$94545,$94546,$94547,$94548,$94549,$94550,$94551,$94552,$94553,$94554,$94555,$94556),(nextval($94557),$94558,$94559,$94560,$94561,$94562,$94563,$94564,$94565,$94566,$94567,$94568,$94569,$94570),(nextval($94571),$94572,$94573,$94574,$94575,$94576,$94577,$94578,$94579,$94580,$94581,$94582,$94583,$94584),(nextval($94585),$94586,$94587,$94588,$94589,$94590,$94591,$94592,$94593,$94594,$94595,$94596,$94597,$94598),(nextval($94599),$94600,$94601,$94602,$94603,$94604,$94605,$94606,$94607,$94608,$94609,$94610,$94611,$94612),(nextval($94613),$94614,$94615,$94616,$94617,$94618,$94619,$94620,$94621,$94622,$94623,$94624,$94625,$94626),(nextval($94627),$94628,$94629,$94630,$94631,$94632,$94633,$94634,$94635,$94636,$94637,$94638,$94639,$94640),(nextval($94641),$94642,$94643,$94644,$94645,$94646,$94647,$94648,$94649,$94650,$94651,$94652,$94653,$94654),(nextval($94655),$94656,$94657,$94658,$94659,$94660,$94661,$94662,$94663,$94664,$94665,$94666,$94667,$94668),(nextval($94669),$94670,$94671,$94672,$94673,$94674,$94675,$94676,$94677,$94678,$94679,$94680,$94681,$94682),(nextval($94683),$94684,$94685,$94686,$94687,$94688,$94689,$94690,$94691,$94692,$94693,$94694,$94695,$94696),(nextval($94697),$94698,$94699,$94700,$94701,$94702,$94703,$94704,$94705,$94706,$94707,$94708,$94709,$94710),(nextval($94711),$94712,$94713,$94714,$94715,$94716,$94717,$94718,$94719,$94720,$94721,$94722,$94723,$94724),(nextval($94725),$94726,$94727,$94728,$94729,$94730,$94731,$94732,$94733,$94734,$94735,$94736,$94737,$94738),(nextval($94739),$94740,$94741,$94742,$94743,$94744,$94745,$94746,$94747,$94748,$94749,$94750,$94751,$94752),(nextval($94753),$94754,$94755,$94756,$94757,$94758,$94759,$94760,$94761,$94762,$94763,$94764,$94765,$94766),(nextval($94767),$94768,$94769,$94770,$94771,$94772,$94773,$94774,$94775,$94776,$94777,$94778,$94779,$94780),(nextval($94781),$94782,$94783,$94784,$94785,$94786,$94787,$94788,$94789,$94790,$94791,$94792,$94793,$94794),(nextval($94795),$94796,$94797,$94798,$94799,$94800,$94801,$94802,$94803,$94804,$94805,$94806,$94807,$94808),(nextval($94809),$94810,$94811,$94812,$94813,$94814,$94815,$94816,$94817,$94818,$94819,$94820,$94821,$94822),(nextval($94823),$94824,$94825,$94826,$94827,$94828,$94829,$94830,$94831,$94832,$94833,$94834,$94835,$94836),(nextval($94837),$94838,$94839,$94840,$94841,$94842,$94843,$94844,$94845,$94846,$94847,$94848,$94849,$94850),(nextval($94851),$94852,$94853,$94854,$94855,$94856,$94857,$94858,$94859,$94860,$94861,$94862,$94863,$94864),(nextval($94865),$94866,$94867,$94868,$94869,$94870,$94871,$94872,$94873,$94874,$94875,$94876,$94877,$94878),(nextval($94879),$94880,$94881,$94882,$94883,$94884,$94885,$94886,$94887,$94888,$94889,$94890,$94891,$94892),(nextval($94893),$94894,$94895,$94896,$94897,$94898,$94899,$94900,$94901,$94902,$94903,$94904,$94905,$94906),(nextval($94907),$94908,$94909,$94910,$94911,$94912,$94913,$94914,$94915,$94916,$94917,$94918,$94919,$94920),(nextval($94921),$94922,$94923,$94924,$94925,$94926,$94927,$94928,$94929,$94930,$94931,$94932,$94933,$94934),(nextval($94935),$94936,$94937,$94938,$94939,$94940,$94941,$94942,$94943,$94944,$94945,$94946,$94947,$94948),(nextval($94949),$94950,$94951,$94952,$94953,$94954,$94955,$94956,$94957,$94958,$94959,$94960,$94961,$94962),(nextval($94963),$94964,$94965,$94966,$94967,$94968,$94969,$94970,$94971,$94972,$94973,$94974,$94975,$94976),(nextval($94977),$94978,$94979,$94980,$94981,$94982,$94983,$94984,$94985,$94986,$94987,$94988,$94989,$94990),(nextval($94991),$94992,$94993,$94994,$94995,$94996,$94997,$94998,$94999,$95000,$95001,$95002,$95003,$95004),(nextval($95005),$95006,$95007,$95008,$95009,$95010,$95011,$95012,$95013,$95014,$95015,$95016,$95017,$95018),(nextval($95019),$95020,$95021,$95022,$95023,$95024,$95025,$95026,$95027,$95028,$95029,$95030,$95031,$95032),(nextval($95033),$95034,$95035,$95036,$95037,$95038,$95039,$95040,$95041,$95042,$95043,$95044,$95045,$95046),(nextval($95047),$95048,$95049,$95050,$95051,$95052,$95053,$95054,$95055,$95056,$95057,$95058,$95059,$95060),(nextval($95061),$95062,$95063,$95064,$95065,$95066,$95067,$95068,$95069,$95070,$95071,$95072,$95073,$95074),(nextval($95075),$95076,$95077,$95078,$95079,$95080,$95081,$95082,$95083,$95084,$95085,$95086,$95087,$95088),(nextval($95089),$95090,$95091,$95092,$95093,$95094,$95095,$95096,$95097,$95098,$95099,$95100,$95101,$95102),(nextval($95103),$95104,$95105,$95106,$95107,$95108,$95109,$95110,$95111,$95112,$95113,$95114,$95115,$95116),(nextval($95117),$95118,$95119,$95120,$95121,$95122,$95123,$95124,$95125,$95126,$95127,$95128,$95129,$95130),(nextval($95131),$95132,$95133,$95134,$95135,$95136,$95137,$95138,$95139,$95140,$95141,$95142,$95143,$95144),(nextval($95145),$95146,$95147,$95148,$95149,$95150,$95151,$95152,$95153,$95154,$95155,$95156,$95157,$95158),(nextval($95159),$95160,$95161,$95162,$95163,$95164,$95165,$95166,$95167,$95168,$95169,$95170,$95171,$95172),(nextval($95173),$95174,$95175,$95176,$95177,$95178,$95179,$95180,$95181,$95182,$95183,$95184,$95185,$95186),(nextval($95187),$95188,$95189,$95190,$95191,$95192,$95193,$95194,$95195,$95196,$95197,$95198,$95199,$95200),(nextval($95201),$95202,$95203,$95204,$95205,$95206,$95207,$95208,$95209,$95210,$95211,$95212,$95213,$95214),(nextval($95215),$95216,$95217,$95218,$95219,$95220,$95221,$95222,$95223,$95224,$95225,$95226,$95227,$95228),(nextval($95229),$95230,$95231,$95232,$95233,$95234,$95235,$95236,$95237,$95238,$95239,$95240,$95241,$95242),(nextval($95243),$95244,$95245,$95246,$95247,$95248,$95249,$95250,$95251,$95252,$95253,$95254,$95255,$95256),(nextval($95257),$95258,$95259,$95260,$95261,$95262,$95263,$95264,$95265,$95266,$95267,$95268,$95269,$95270),(nextval($95271),$95272,$95273,$95274,$95275,$95276,$95277,$95278,$95279,$95280,$95281,$95282,$95283,$95284),(nextval($95285),$95286,$95287,$95288,$95289,$95290,$95291,$95292,$95293,$95294,$95295,$95296,$95297,$95298),(nextval($95299),$95300,$95301,$95302,$95303,$95304,$95305,$95306,$95307,$95308,$95309,$95310,$95311,$95312),(nextval($95313),$95314,$95315,$95316,$95317,$95318,$95319,$95320,$95321,$95322,$95323,$95324,$95325,$95326),(nextval($95327),$95328,$95329,$95330,$95331,$95332,$95333,$95334,$95335,$95336,$95337,$95338,$95339,$95340),(nextval($95341),$95342,$95343,$95344,$95345,$95346,$95347,$95348,$95349,$95350,$95351,$95352,$95353,$95354),(nextval($95355),$95356,$95357,$95358,$95359,$95360,$95361,$95362,$95363,$95364,$95365,$95366,$95367,$95368),(nextval($95369),$95370,$95371,$95372,$95373,$95374,$95375,$95376,$95377,$95378,$95379,$95380,$95381,$95382),(nextval($95383),$95384,$95385,$95386,$95387,$95388,$95389,$95390,$95391,$95392,$95393,$95394,$95395,$95396),(nextval($95397),$95398,$95399,$95400,$95401,$95402,$95403,$95404,$95405,$95406,$95407,$95408,$95409,$95410),(nextval($95411),$95412,$95413,$95414,$95415,$95416,$95417,$95418,$95419,$95420,$95421,$95422,$95423,$95424),(nextval($95425),$95426,$95427,$95428,$95429,$95430,$95431,$95432,$95433,$95434,$95435,$95436,$95437,$95438),(nextval($95439),$95440,$95441,$95442,$95443,$95444,$95445,$95446,$95447,$95448,$95449,$95450,$95451,$95452),(nextval($95453),$95454,$95455,$95456,$95457,$95458,$95459,$95460,$95461,$95462,$95463,$95464,$95465,$95466),(nextval($95467),$95468,$95469,$95470,$95471,$95472,$95473,$95474,$95475,$95476,$95477,$95478,$95479,$95480),(nextval($95481),$95482,$95483,$95484,$95485,$95486,$95487,$95488,$95489,$95490,$95491,$95492,$95493,$95494),(nextval($95495),$95496,$95497,$95498,$95499,$95500,$95501,$95502,$95503,$95504,$95505,$95506,$95507,$95508),(nextval($95509),$95510,$95511,$95512,$95513,$95514,$95515,$95516,$95517,$95518,$95519,$95520,$95521,$95522),(nextval($95523),$95524,$95525,$95526,$95527,$95528,$95529,$95530,$95531,$95532,$95533,$95534,$95535,$95536),(nextval($95537),$95538,$95539,$95540,$95541,$95542,$95543,$95544,$95545,$95546,$95547,$95548,$95549,$95550),(nextval($95551),$95552,$95553,$95554,$95555,$95556,$95557,$95558,$95559,$95560,$95561,$95562,$95563,$95564),(nextval($95565),$95566,$95567,$95568,$95569,$95570,$95571,$95572,$95573,$95574,$95575,$95576,$95577,$95578),(nextval($95579),$95580,$95581,$95582,$95583,$95584,$95585,$95586,$95587,$95588,$95589,$95590,$95591,$95592),(nextval($95593),$95594,$95595,$95596,$95597,$95598,$95599,$95600,$95601,$95602,$95603,$95604,$95605,$95606),(nextval($95607),$95608,$95609,$95610,$95611,$95612,$95613,$95614,$95615,$95616,$95617,$95618,$95619,$95620),(nextval($95621),$95622,$95623,$95624,$95625,$95626,$95627,$95628,$95629,$95630,$95631,$95632,$95633,$95634),(nextval($95635),$95636,$95637,$95638,$95639,$95640,$95641,$95642,$95643,$95644,$95645,$95646,$95647,$95648),(nextval($95649),$95650,$95651,$95652,$95653,$95654,$95655,$95656,$95657,$95658,$95659,$95660,$95661,$95662),(nextval($95663),$95664,$95665,$95666,$95667,$95668,$95669,$95670,$95671,$95672,$95673,$95674,$95675,$95676),(nextval($95677),$95678,$95679,$95680,$95681,$95682,$95683,$95684,$95685,$95686,$95687,$95688,$95689,$95690),(nextval($95691),$95692,$95693,$95694,$95695,$95696,$95697,$95698,$95699,$95700,$95701,$95702,$95703,$95704),(nextval($95705),$95706,$95707,$95708,$95709,$95710,$95711,$95712,$95713,$95714,$95715,$95716,$95717,$95718),(nextval($95719),$95720,$95721,$95722,$95723,$95724,$95725,$95726,$95727,$95728,$95729,$95730,$95731,$95732),(nextval($95733),$95734,$95735,$95736,$95737,$95738,$95739,$95740,$95741,$95742,$95743,$95744,$95745,$95746),(nextval($95747),$95748,$95749,$95750,$95751,$95752,$95753,$95754,$95755,$95756,$95757,$95758,$95759,$95760),(nextval($95761),$95762,$95763,$95764,$95765,$95766,$95767,$95768,$95769,$95770,$95771,$95772,$95773,$95774),(nextval($95775),$95776,$95777,$95778,$95779,$95780,$95781,$95782,$95783,$95784,$95785,$95786,$95787,$95788),(nextval($95789),$95790,$95791,$95792,$95793,$95794,$95795,$95796,$95797,$95798,$95799,$95800,$95801,$95802),(nextval($95803),$95804,$95805,$95806,$95807,$95808,$95809,$95810,$95811,$95812,$95813,$95814,$95815,$95816),(nextval($95817),$95818,$95819,$95820,$95821,$95822,$95823,$95824,$95825,$95826,$95827,$95828,$95829,$95830),(nextval($95831),$95832,$95833,$95834,$95835,$95836,$95837,$95838,$95839,$95840,$95841,$95842,$95843,$95844),(nextval($95845),$95846,$95847,$95848,$95849,$95850,$95851,$95852,$95853,$95854,$95855,$95856,$95857,$95858),(nextval($95859),$95860,$95861,$95862,$95863,$95864,$95865,$95866,$95867,$95868,$95869,$95870,$95871,$95872),(nextval($95873),$95874,$95875,$95876,$95877,$95878,$95879,$95880,$95881,$95882,$95883,$95884,$95885,$95886),(nextval($95887),$95888,$95889,$95890,$95891,$95892,$95893,$95894,$95895,$95896,$95897,$95898,$95899,$95900),(nextval($95901),$95902,$95903,$95904,$95905,$95906,$95907,$95908,$95909,$95910,$95911,$95912,$95913,$95914),(nextval($95915),$95916,$95917,$95918,$95919,$95920,$95921,$95922,$95923,$95924,$95925,$95926,$95927,$95928),(nextval($95929),$95930,$95931,$95932,$95933,$95934,$95935,$95936,$95937,$95938,$95939,$95940,$95941,$95942),(nextval($95943),$95944,$95945,$95946,$95947,$95948,$95949,$95950,$95951,$95952,$95953,$95954,$95955,$95956),(nextval($95957),$95958,$95959,$95960,$95961,$95962,$95963,$95964,$95965,$95966,$95967,$95968,$95969,$95970),(nextval($95971),$95972,$95973,$95974,$95975,$95976,$95977,$95978,$95979,$95980,$95981,$95982,$95983,$95984),(nextval($95985),$95986,$95987,$95988,$95989,$95990,$95991,$95992,$95993,$95994,$95995,$95996,$95997,$95998),(nextval($95999),$96000,$96001,$96002,$96003,$96004,$96005,$96006,$96007,$96008,$96009,$96010,$96011,$96012),(nextval($96013),$96014,$96015,$96016,$96017,$96018,$96019,$96020,$96021,$96022,$96023,$96024,$96025,$96026),(nextval($96027),$96028,$96029,$96030,$96031,$96032,$96033,$96034,$96035,$96036,$96037,$96038,$96039,$96040),(nextval($96041),$96042,$96043,$96044,$96045,$96046,$96047,$96048,$96049,$96050,$96051,$96052,$96053,$96054),(nextval($96055),$96056,$96057,$96058,$96059,$96060,$96061,$96062,$96063,$96064,$96065,$96066,$96067,$96068),(nextval($96069),$96070,$96071,$96072,$96073,$96074,$96075,$96076,$96077,$96078,$96079,$96080,$96081,$96082),(nextval($96083),$96084,$96085,$96086,$96087,$96088,$96089,$96090,$96091,$96092,$96093,$96094,$96095,$96096),(nextval($96097),$96098,$96099,$96100,$96101,$96102,$96103,$96104,$96105,$96106,$96107,$96108,$96109,$96110),(nextval($96111),$96112,$96113,$96114,$96115,$96116,$96117,$96118,$96119,$96120,$96121,$96122,$96123,$96124),(nextval($96125),$96126,$96127,$96128,$96129,$96130,$96131,$96132,$96133,$96134,$96135,$96136,$96137,$96138),(nextval($96139),$96140,$96141,$96142,$96143,$96144,$96145,$96146,$96147,$96148,$96149,$96150,$96151,$96152),(nextval($96153),$96154,$96155,$96156,$96157,$96158,$96159,$96160,$96161,$96162,$96163,$96164,$96165,$96166),(nextval($96167),$96168,$96169,$96170,$96171,$96172,$96173,$96174,$96175,$96176,$96177,$96178,$96179,$96180),(nextval($96181),$96182,$96183,$96184,$96185,$96186,$96187,$96188,$96189,$96190,$96191,$96192,$96193,$96194),(nextval($96195),$96196,$96197,$96198,$96199,$96200,$96201,$96202,$96203,$96204,$96205,$96206,$96207,$96208),(nextval($96209),$96210,$96211,$96212,$96213,$96214,$96215,$96216,$96217,$96218,$96219,$96220,$96221,$96222),(nextval($96223),$96224,$96225,$96226,$96227,$96228,$96229,$96230,$96231,$96232,$96233,$96234,$96235,$96236),(nextval($96237),$96238,$96239,$96240,$96241,$96242,$96243,$96244,$96245,$96246,$96247,$96248,$96249,$96250),(nextval($96251),$96252,$96253,$96254,$96255,$96256,$96257,$96258,$96259,$96260,$96261,$96262,$96263,$96264),(nextval($96265),$96266,$96267,$96268,$96269,$96270,$96271,$96272,$96273,$96274,$96275,$96276,$96277,$96278),(nextval($96279),$96280,$96281,$96282,$96283,$96284,$96285,$96286,$96287,$96288,$96289,$96290,$96291,$96292),(nextval($96293),$96294,$96295,$96296,$96297,$96298,$96299,$96300,$96301,$96302,$96303,$96304,$96305,$96306),(nextval($96307),$96308,$96309,$96310,$96311,$96312,$96313,$96314,$96315,$96316,$96317,$96318,$96319,$96320),(nextval($96321),$96322,$96323,$96324,$96325,$96326,$96327,$96328,$96329,$96330,$96331,$96332,$96333,$96334),(nextval($96335),$96336,$96337,$96338,$96339,$96340,$96341,$96342,$96343,$96344,$96345,$96346,$96347,$96348),(nextval($96349),$96350,$96351,$96352,$96353,$96354,$96355,$96356,$96357,$96358,$96359,$96360,$96361,$96362),(nextval($96363),$96364,$96365,$96366,$96367,$96368,$96369,$96370,$96371,$96372,$96373,$96374,$96375,$96376),(nextval($96377),$96378,$96379,$96380,$96381,$96382,$96383,$96384,$96385,$96386,$96387,$96388,$96389,$96390),(nextval($96391),$96392,$96393,$96394,$96395,$96396,$96397,$96398,$96399,$96400,$96401,$96402,$96403,$96404),(nextval($96405),$96406,$96407,$96408,$96409,$96410,$96411,$96412,$96413,$96414,$96415,$96416,$96417,$96418),(nextval($96419),$96420,$96421,$96422,$96423,$96424,$96425,$96426,$96427,$96428,$96429,$96430,$96431,$96432),(nextval($96433),$96434,$96435,$96436,$96437,$96438,$96439,$96440,$96441,$96442,$96443,$96444,$96445,$96446),(nextval($96447),$96448,$96449,$96450,$96451,$96452,$96453,$96454,$96455,$96456,$96457,$96458,$96459,$96460),(nextval($96461),$96462,$96463,$96464,$96465,$96466,$96467,$96468,$96469,$96470,$96471,$96472,$96473,$96474),(nextval($96475),$96476,$96477,$96478,$96479,$96480,$96481,$96482,$96483,$96484,$96485,$96486,$96487,$96488),(nextval($96489),$96490,$96491,$96492,$96493,$96494,$96495,$96496,$96497,$96498,$96499,$96500,$96501,$96502),(nextval($96503),$96504,$96505,$96506,$96507,$96508,$96509,$96510,$96511,$96512,$96513,$96514,$96515,$96516),(nextval($96517),$96518,$96519,$96520,$96521,$96522,$96523,$96524,$96525,$96526,$96527,$96528,$96529,$96530),(nextval($96531),$96532,$96533,$96534,$96535,$96536,$96537,$96538,$96539,$96540,$96541,$96542,$96543,$96544),(nextval($96545),$96546,$96547,$96548,$96549,$96550,$96551,$96552,$96553,$96554,$96555,$96556,$96557,$96558),(nextval($96559),$96560,$96561,$96562,$96563,$96564,$96565,$96566,$96567,$96568,$96569,$96570,$96571,$96572),(nextval($96573),$96574,$96575,$96576,$96577,$96578,$96579,$96580,$96581,$96582,$96583,$96584,$96585,$96586),(nextval($96587),$96588,$96589,$96590,$96591,$96592,$96593,$96594,$96595,$96596,$96597,$96598,$96599,$96600),(nextval($96601),$96602,$96603,$96604,$96605,$96606,$96607,$96608,$96609,$96610,$96611,$96612,$96613,$96614),(nextval($96615),$96616,$96617,$96618,$96619,$96620,$96621,$96622,$96623,$96624,$96625,$96626,$96627,$96628),(nextval($96629),$96630,$96631,$96632,$96633,$96634,$96635,$96636,$96637,$96638,$96639,$96640,$96641,$96642),(nextval($96643),$96644,$96645,$96646,$96647,$96648,$96649,$96650,$96651,$96652,$96653,$96654,$96655,$96656),(nextval($96657),$96658,$96659,$96660,$96661,$96662,$96663,$96664,$96665,$96666,$96667,$96668,$96669,$96670),(nextval($96671),$96672,$96673,$96674,$96675,$96676,$96677,$96678,$96679,$96680,$96681,$96682,$96683,$96684),(nextval($96685),$96686,$96687,$96688,$96689,$96690,$96691,$96692,$96693,$96694,$96695,$96696,$96697,$96698),(nextval($96699),$96700,$96701,$96702,$96703,$96704,$96705,$96706,$96707,$96708,$96709,$96710,$96711,$96712),(nextval($96713),$96714,$96715,$96716,$96717,$96718,$96719,$96720,$96721,$96722,$96723,$96724,$96725,$96726),(nextval($96727),$96728,$96729,$96730,$96731,$96732,$96733,$96734,$96735,$96736,$96737,$96738,$96739,$96740),(nextval($96741),$96742,$96743,$96744,$96745,$96746,$96747,$96748,$96749,$96750,$96751,$96752,$96753,$96754),(nextval($96755),$96756,$96757,$96758,$96759,$96760,$96761,$96762,$96763,$96764,$96765,$96766,$96767,$96768),(nextval($96769),$96770,$96771,$96772,$96773,$96774,$96775,$96776,$96777,$96778,$96779,$96780,$96781,$96782),(nextval($96783),$96784,$96785,$96786,$96787,$96788,$96789,$96790,$96791,$96792,$96793,$96794,$96795,$96796),(nextval($96797),$96798,$96799,$96800,$96801,$96802,$96803,$96804,$96805,$96806,$96807,$96808,$96809,$96810),(nextval($96811),$96812,$96813,$96814,$96815,$96816,$96817,$96818,$96819,$96820,$96821,$96822,$96823,$96824),(nextval($96825),$96826,$96827,$96828,$96829,$96830,$96831,$96832,$96833,$96834,$96835,$96836,$96837,$96838),(nextval($96839),$96840,$96841,$96842,$96843,$96844,$96845,$96846,$96847,$96848,$96849,$96850,$96851,$96852),(nextval($96853),$96854,$96855,$96856,$96857,$96858,$96859,$96860,$96861,$96862,$96863,$96864,$96865,$96866),(nextval($96867),$96868,$96869,$96870,$96871,$96872,$96873,$96874,$96875,$96876,$96877,$96878,$96879,$96880),(nextval($96881),$96882,$96883,$96884,$96885,$96886,$96887,$96888,$96889,$96890,$96891,$96892,$96893,$96894),(nextval($96895),$96896,$96897,$96898,$96899,$96900,$96901,$96902,$96903,$96904,$96905,$96906,$96907,$96908),(nextval($96909),$96910,$96911,$96912,$96913,$96914,$96915,$96916,$96917,$96918,$96919,$96920,$96921,$96922),(nextval($96923),$96924,$96925,$96926,$96927,$96928,$96929,$96930,$96931,$96932,$96933,$96934,$96935,$96936),(nextval($96937),$96938,$96939,$96940,$96941,$96942,$96943,$96944,$96945,$96946,$96947,$96948,$96949,$96950),(nextval($96951),$96952,$96953,$96954,$96955,$96956,$96957,$96958,$96959,$96960,$96961,$96962,$96963,$96964),(nextval($96965),$96966,$96967,$96968,$96969,$96970,$96971,$96972,$96973,$96974,$96975,$96976,$96977,$96978),(nextval($96979),$96980,$96981,$96982,$96983,$96984,$96985,$96986,$96987,$96988,$96989,$96990,$96991,$96992),(nextval($96993),$96994,$96995,$96996,$96997,$96998,$96999,$97000,$97001,$97002,$97003,$97004,$97005,$97006),(nextval($97007),$97008,$97009,$97010,$97011,$97012,$97013,$97014,$97015,$97016,$97017,$97018,$97019,$97020),(nextval($97021),$97022,$97023,$97024,$97025,$97026,$97027,$97028,$97029,$97030,$97031,$97032,$97033,$97034),(nextval($97035),$97036,$97037,$97038,$97039,$97040,$97041,$97042,$97043,$97044,$97045,$97046,$97047,$97048),(nextval($97049),$97050,$97051,$97052,$97053,$97054,$97055,$97056,$97057,$97058,$97059,$97060,$97061,$97062),(nextval($97063),$97064,$97065,$97066,$97067,$97068,$97069,$97070,$97071,$97072,$97073,$97074,$97075,$97076),(nextval($97077),$97078,$97079,$97080,$97081,$97082,$97083,$97084,$97085,$97086,$97087,$97088,$97089,$97090),(nextval($97091),$97092,$97093,$97094,$97095,$97096,$97097,$97098,$97099,$97100,$97101,$97102,$97103,$97104),(nextval($97105),$97106,$97107,$97108,$97109,$97110,$97111,$97112,$97113,$97114,$97115,$97116,$97117,$97118),(nextval($97119),$97120,$97121,$97122,$97123,$97124,$97125,$97126,$97127,$97128,$97129,$97130,$97131,$97132),(nextval($97133),$97134,$97135,$97136,$97137,$97138,$97139,$97140,$97141,$97142,$97143,$97144,$97145,$97146),(nextval($97147),$97148,$97149,$97150,$97151,$97152,$97153,$97154,$97155,$97156,$97157,$97158,$97159,$97160),(nextval($97161),$97162,$97163,$97164,$97165,$97166,$97167,$97168,$97169,$97170,$97171,$97172,$97173,$97174),(nextval($97175),$97176,$97177,$97178,$97179,$97180,$97181,$97182,$97183,$97184,$97185,$97186,$97187,$97188),(nextval($97189),$97190,$97191,$97192,$97193,$97194,$97195,$97196,$97197,$97198,$97199,$97200,$97201,$97202),(nextval($97203),$97204,$97205,$97206,$97207,$97208,$97209,$97210,$97211,$97212,$97213,$97214,$97215,$97216),(nextval($97217),$97218,$97219,$97220,$97221,$97222,$97223,$97224,$97225,$97226,$97227,$97228,$97229,$97230),(nextval($97231),$97232,$97233,$97234,$97235,$97236,$97237,$97238,$97239,$97240,$97241,$97242,$97243,$97244),(nextval($97245),$97246,$97247,$97248,$97249,$97250,$97251,$97252,$97253,$97254,$97255,$97256,$97257,$97258),(nextval($97259),$97260,$97261,$97262,$97263,$97264,$97265,$97266,$97267,$97268,$97269,$97270,$97271,$97272),(nextval($97273),$97274,$97275,$97276,$97277,$97278,$97279,$97280,$97281,$97282,$97283,$97284,$97285,$97286),(nextval($97287),$97288,$97289,$97290,$97291,$97292,$97293,$97294,$97295,$97296,$97297,$97298,$97299,$97300),(nextval($97301),$97302,$97303,$97304,$97305,$97306,$97307,$97308,$97309,$97310,$97311,$97312,$97313,$97314),(nextval($97315),$97316,$97317,$97318,$97319,$97320,$97321,$97322,$97323,$97324,$97325,$97326,$97327,$97328),(nextval($97329),$97330,$97331,$97332,$97333,$97334,$97335,$97336,$97337,$97338,$97339,$97340,$97341,$97342),(nextval($97343),$97344,$97345,$97346,$97347,$97348,$97349,$97350,$97351,$97352,$97353,$97354,$97355,$97356),(nextval($97357),$97358,$97359,$97360,$97361,$97362,$97363,$97364,$97365,$97366,$97367,$97368,$97369,$97370),(nextval($97371),$97372,$97373,$97374,$97375,$97376,$97377,$97378,$97379,$97380,$97381,$97382,$97383,$97384),(nextval($97385),$97386,$97387,$97388,$97389,$97390,$97391,$97392,$97393,$97394,$97395,$97396,$97397,$97398),(nextval($97399),$97400,$97401,$97402,$97403,$97404,$97405,$97406,$97407,$97408,$97409,$97410,$97411,$97412),(nextval($97413),$97414,$97415,$97416,$97417,$97418,$97419,$97420,$97421,$97422,$97423,$97424,$97425,$97426),(nextval($97427),$97428,$97429,$97430,$97431,$97432,$97433,$97434,$97435,$97436,$97437,$97438,$97439,$97440),(nextval($97441),$97442,$97443,$97444,$97445,$97446,$97447,$97448,$97449,$97450,$97451,$97452,$97453,$97454),(nextval($97455),$97456,$97457,$97458,$97459,$97460,$97461,$97462,$97463,$97464,$97465,$97466,$97467,$97468),(nextval($97469),$97470,$97471,$97472,$97473,$97474,$97475,$97476,$97477,$97478,$97479,$97480,$97481,$97482),(nextval($97483),$97484,$97485,$97486,$97487,$97488,$97489,$97490,$97491,$97492,$97493,$97494,$97495,$97496),(nextval($97497),$97498,$97499,$97500,$97501,$97502,$97503,$97504,$97505,$97506,$97507,$97508,$97509,$97510),(nextval($97511),$97512,$97513,$97514,$97515,$97516,$97517,$97518,$97519,$97520,$97521,$97522,$97523,$97524),(nextval($97525),$97526,$97527,$97528,$97529,$97530,$97531,$97532,$97533,$97534,$97535,$97536,$97537,$97538),(nextval($97539),$97540,$97541,$97542,$97543,$97544,$97545,$97546,$97547,$97548,$97549,$97550,$97551,$97552),(nextval($97553),$97554,$97555,$97556,$97557,$97558,$97559,$97560,$97561,$97562,$97563,$97564,$97565,$97566),(nextval($97567),$97568,$97569,$97570,$97571,$97572,$97573,$97574,$97575,$97576,$97577,$97578,$97579,$97580),(nextval($97581),$97582,$97583,$97584,$97585,$97586,$97587,$97588,$97589,$97590,$97591,$97592,$97593,$97594),(nextval($97595),$97596,$97597,$97598,$97599,$97600,$97601,$97602,$97603,$97604,$97605,$97606,$97607,$97608),(nextval($97609),$97610,$97611,$97612,$97613,$97614,$97615,$97616,$97617,$97618,$97619,$97620,$97621,$97622),(nextval($97623),$97624,$97625,$97626,$97627,$97628,$97629,$97630,$97631,$97632,$97633,$97634,$97635,$97636),(nextval($97637),$97638,$97639,$97640,$97641,$97642,$97643,$97644,$97645,$97646,$97647,$97648,$97649,$97650),(nextval($97651),$97652,$97653,$97654,$97655,$97656,$97657,$97658,$97659,$97660,$97661,$97662,$97663,$97664),(nextval($97665),$97666,$97667,$97668,$97669,$97670,$97671,$97672,$97673,$97674,$97675,$97676,$97677,$97678),(nextval($97679),$97680,$97681,$97682,$97683,$97684,$97685,$97686,$97687,$97688,$97689,$97690,$97691,$97692),(nextval($97693),$97694,$97695,$97696,$97697,$97698,$97699,$97700,$97701,$97702,$97703,$97704,$97705,$97706),(nextval($97707),$97708,$97709,$97710,$97711,$97712,$97713,$97714,$97715,$97716,$97717,$97718,$97719,$97720),(nextval($97721),$97722,$97723,$97724,$97725,$97726,$97727,$97728,$97729,$97730,$97731,$97732,$97733,$97734),(nextval($97735),$97736,$97737,$97738,$97739,$97740,$97741,$97742,$97743,$97744,$97745,$97746,$97747,$97748),(nextval($97749),$97750,$97751,$97752,$97753,$97754,$97755,$97756,$97757,$97758,$97759,$97760,$97761,$97762),(nextval($97763),$97764,$97765,$97766,$97767,$97768,$97769,$97770,$97771,$97772,$97773,$97774,$97775,$97776),(nextval($97777),$97778,$97779,$97780,$97781,$97782,$97783,$97784,$97785,$97786,$97787,$97788,$97789,$97790),(nextval($97791),$97792,$97793,$97794,$97795,$97796,$97797,$97798,$97799,$97800,$97801,$97802,$97803,$97804),(nextval($97805),$97806,$97807,$97808,$97809,$97810,$97811,$97812,$97813,$97814,$97815,$97816,$97817,$97818),(nextval($97819),$97820,$97821,$97822,$97823,$97824,$97825,$97826,$97827,$97828,$97829,$97830,$97831,$97832),(nextval($97833),$97834,$97835,$97836,$97837,$97838,$97839,$97840,$97841,$97842,$97843,$97844,$97845,$97846),(nextval($97847),$97848,$97849,$97850,$97851,$97852,$97853,$97854,$97855,$97856,$97857,$97858,$97859,$97860),(nextval($97861),$97862,$97863,$97864,$97865,$97866,$97867,$97868,$97869,$97870,$97871,$97872,$97873,$97874),(nextval($97875),$97876,$97877,$97878,$97879,$97880,$97881,$97882,$97883,$97884,$97885,$97886,$97887,$97888),(nextval($97889),$97890,$97891,$97892,$97893,$97894,$97895,$97896,$97897,$97898,$97899,$97900,$97901,$97902),(nextval($97903),$97904,$97905,$97906,$97907,$97908,$97909,$97910,$97911,$97912,$97913,$97914,$97915,$97916),(nextval($97917),$97918,$97919,$97920,$97921,$97922,$97923,$97924,$97925,$97926,$97927,$97928,$97929,$97930),(nextval($97931),$97932,$97933,$97934,$97935,$97936,$97937,$97938,$97939,$97940,$97941,$97942,$97943,$97944),(nextval($97945),$97946,$97947,$97948,$97949,$97950,$97951,$97952,$97953,$97954,$97955,$97956,$97957,$97958),(nextval($97959),$97960,$97961,$97962,$97963,$97964,$97965,$97966,$97967,$97968,$97969,$97970,$97971,$97972),(nextval($97973),$97974,$97975,$97976,$97977,$97978,$97979,$97980,$97981,$97982,$97983,$97984,$97985,$97986),(nextval($97987),$97988,$97989,$97990,$97991,$97992,$97993,$97994,$97995,$97996,$97997,$97998,$97999,$98000),(nextval($98001),$98002,$98003,$98004,$98005,$98006,$98007,$98008,$98009,$98010,$98011,$98012,$98013,$98014),(nextval($98015),$98016,$98017,$98018,$98019,$98020,$98021,$98022,$98023,$98024,$98025,$98026,$98027,$98028),(nextval($98029),$98030,$98031,$98032,$98033,$98034,$98035,$98036,$98037,$98038,$98039,$98040,$98041,$98042),(nextval($98043),$98044,$98045,$98046,$98047,$98048,$98049,$98050,$98051,$98052,$98053,$98054,$98055,$98056),(nextval($98057),$98058,$98059,$98060,$98061,$98062,$98063,$98064,$98065,$98066,$98067,$98068,$98069,$98070),(nextval($98071),$98072,$98073,$98074,$98075,$98076,$98077,$98078,$98079,$98080,$98081,$98082,$98083,$98084),(nextval($98085),$98086,$98087,$98088,$98089,$98090,$98091,$98092,$98093,$98094,$98095,$98096,$98097,$98098),(nextval($98099),$98100,$98101,$98102,$98103,$98104,$98105,$98106,$98107,$98108,$98109,$98110,$98111,$98112),(nextval($98113),$98114,$98115,$98116,$98117,$98118,$98119,$98120,$98121,$98122,$98123,$98124,$98125,$98126),(nextval($98127),$98128,$98129,$98130,$98131,$98132,$98133,$98134,$98135,$98136,$98137,$98138,$98139,$98140),(nextval($98141),$98142,$98143,$98144,$98145,$98146,$98147,$98148,$98149,$98150,$98151,$98152,$98153,$98154),(nextval($98155),$98156,$98157,$98158,$98159,$98160,$98161,$98162,$98163,$98164,$98165,$98166,$98167,$98168),(nextval($98169),$98170,$98171,$98172,$98173,$98174,$98175,$98176,$98177,$98178,$98179,$98180,$98181,$98182),(nextval($98183),$98184,$98185,$98186,$98187,$98188,$98189,$98190,$98191,$98192,$98193,$98194,$98195,$98196),(nextval($98197),$98198,$98199,$98200,$98201,$98202,$98203,$98204,$98205,$98206,$98207,$98208,$98209,$98210),(nextval($98211),$98212,$98213,$98214,$98215,$98216,$98217,$98218,$98219,$98220,$98221,$98222,$98223,$98224),(nextval($98225),$98226,$98227,$98228,$98229,$98230,$98231,$98232,$98233,$98234,$98235,$98236,$98237,$98238),(nextval($98239),$98240,$98241,$98242,$98243,$98244,$98245,$98246,$98247,$98248,$98249,$98250,$98251,$98252),(nextval($98253),$98254,$98255,$98256,$98257,$98258,$98259,$98260,$98261,$98262,$98263,$98264,$98265,$98266),(nextval($98267),$98268,$98269,$98270,$98271,$98272,$98273,$98274,$98275,$98276,$98277,$98278,$98279,$98280),(nextval($98281),$98282,$98283,$98284,$98285,$98286,$98287,$98288,$98289,$98290,$98291,$98292,$98293,$98294),(nextval($98295),$98296,$98297,$98298,$98299,$98300,$98301,$98302,$98303,$98304,$98305,$98306,$98307,$98308),(nextval($98309),$98310,$98311,$98312,$98313,$98314,$98315,$98316,$98317,$98318,$98319,$98320,$98321,$98322),(nextval($98323),$98324,$98325,$98326,$98327,$98328,$98329,$98330,$98331,$98332,$98333,$98334,$98335,$98336),(nextval($98337),$98338,$98339,$98340,$98341,$98342,$98343,$98344,$98345,$98346,$98347,$98348,$98349,$98350),(nextval($98351),$98352,$98353,$98354,$98355,$98356,$98357,$98358,$98359,$98360,$98361,$98362,$98363,$98364),(nextval($98365),$98366,$98367,$98368,$98369,$98370,$98371,$98372,$98373,$98374,$98375,$98376,$98377,$98378),(nextval($98379),$98380,$98381,$98382,$98383,$98384,$98385,$98386,$98387,$98388,$98389,$98390,$98391,$98392),(nextval($98393),$98394,$98395,$98396,$98397,$98398,$98399,$98400,$98401,$98402,$98403,$98404,$98405,$98406),(nextval($98407),$98408,$98409,$98410,$98411,$98412,$98413,$98414,$98415,$98416,$98417,$98418,$98419,$98420),(nextval($98421),$98422,$98423,$98424,$98425,$98426,$98427,$98428,$98429,$98430,$98431,$98432,$98433,$98434),(nextval($98435),$98436,$98437,$98438,$98439,$98440,$98441,$98442,$98443,$98444,$98445,$98446,$98447,$98448),(nextval($98449),$98450,$98451,$98452,$98453,$98454,$98455,$98456,$98457,$98458,$98459,$98460,$98461,$98462),(nextval($98463),$98464,$98465,$98466,$98467,$98468,$98469,$98470,$98471,$98472,$98473,$98474,$98475,$98476),(nextval($98477),$98478,$98479,$98480,$98481,$98482,$98483,$98484,$98485,$98486,$98487,$98488,$98489,$98490),(nextval($98491),$98492,$98493,$98494,$98495,$98496,$98497,$98498,$98499,$98500,$98501,$98502,$98503,$98504),(nextval($98505),$98506,$98507,$98508,$98509,$98510,$98511,$98512,$98513,$98514,$98515,$98516,$98517,$98518),(nextval($98519),$98520,$98521,$98522,$98523,$98524,$98525,$98526,$98527,$98528,$98529,$98530,$98531,$98532),(nextval($98533),$98534,$98535,$98536,$98537,$98538,$98539,$98540,$98541,$98542,$98543,$98544,$98545,$98546),(nextval($98547),$98548,$98549,$98550,$98551,$98552,$98553,$98554,$98555,$98556,$98557,$98558,$98559,$98560),(nextval($98561),$98562,$98563,$98564,$98565,$98566,$98567,$98568,$98569,$98570,$98571,$98572,$98573,$98574),(nextval($98575),$98576,$98577,$98578,$98579,$98580,$98581,$98582,$98583,$98584,$98585,$98586,$98587,$98588),(nextval($98589),$98590,$98591,$98592,$98593,$98594,$98595,$98596,$98597,$98598,$98599,$98600,$98601,$98602),(nextval($98603),$98604,$98605,$98606,$98607,$98608,$98609,$98610,$98611,$98612,$98613,$98614,$98615,$98616),(nextval($98617),$98618,$98619,$98620,$98621,$98622,$98623,$98624,$98625,$98626,$98627,$98628,$98629,$98630),(nextval($98631),$98632,$98633,$98634,$98635,$98636,$98637,$98638,$98639,$98640,$98641,$98642,$98643,$98644),(nextval($98645),$98646,$98647,$98648,$98649,$98650,$98651,$98652,$98653,$98654,$98655,$98656,$98657,$98658),(nextval($98659),$98660,$98661,$98662,$98663,$98664,$98665,$98666,$98667,$98668,$98669,$98670,$98671,$98672),(nextval($98673),$98674,$98675,$98676,$98677,$98678,$98679,$98680,$98681,$98682,$98683,$98684,$98685,$98686),(nextval($98687),$98688,$98689,$98690,$98691,$98692,$98693,$98694,$98695,$98696,$98697,$98698,$98699,$98700),(nextval($98701),$98702,$98703,$98704,$98705,$98706,$98707,$98708,$98709,$98710,$98711,$98712,$98713,$98714),(nextval($98715),$98716,$98717,$98718,$98719,$98720,$98721,$98722,$98723,$98724,$98725,$98726,$98727,$98728),(nextval($98729),$98730,$98731,$98732,$98733,$98734,$98735,$98736,$98737,$98738,$98739,$98740,$98741,$98742),(nextval($98743),$98744,$98745,$98746,$98747,$98748,$98749,$98750,$98751,$98752,$98753,$98754,$98755,$98756),(nextval($98757),$98758,$98759,$98760,$98761,$98762,$98763,$98764,$98765,$98766,$98767,$98768,$98769,$98770),(nextval($98771),$98772,$98773,$98774,$98775,$98776,$98777,$98778,$98779,$98780,$98781,$98782,$98783,$98784),(nextval($98785),$98786,$98787,$98788,$98789,$98790,$98791,$98792,$98793,$98794,$98795,$98796,$98797,$98798),(nextval($98799),$98800,$98801,$98802,$98803,$98804,$98805,$98806,$98807,$98808,$98809,$98810,$98811,$98812),(nextval($98813),$98814,$98815,$98816,$98817,$98818,$98819,$98820,$98821,$98822,$98823,$98824,$98825,$98826),(nextval($98827),$98828,$98829,$98830,$98831,$98832,$98833,$98834,$98835,$98836,$98837,$98838,$98839,$98840),(nextval($98841),$98842,$98843,$98844,$98845,$98846,$98847,$98848,$98849,$98850,$98851,$98852,$98853,$98854),(nextval($98855),$98856,$98857,$98858,$98859,$98860,$98861,$98862,$98863,$98864,$98865,$98866,$98867,$98868),(nextval($98869),$98870,$98871,$98872,$98873,$98874,$98875,$98876,$98877,$98878,$98879,$98880,$98881,$98882),(nextval($98883),$98884,$98885,$98886,$98887,$98888,$98889,$98890,$98891,$98892,$98893,$98894,$98895,$98896),(nextval($98897),$98898,$98899,$98900,$98901,$98902,$98903,$98904,$98905,$98906,$98907,$98908,$98909,$98910),(nextval($98911),$98912,$98913,$98914,$98915,$98916,$98917,$98918,$98919,$98920,$98921,$98922,$98923,$98924),(nextval($98925),$98926,$98927,$98928,$98929,$98930,$98931,$98932,$98933,$98934,$98935,$98936,$98937,$98938),(nextval($98939),$98940,$98941,$98942,$98943,$98944,$98945,$98946,$98947,$98948,$98949,$98950,$98951,$98952),(nextval($98953),$98954,$98955,$98956,$98957,$98958,$98959,$98960,$98961,$98962,$98963,$98964,$98965,$98966),(nextval($98967),$98968,$98969,$98970,$98971,$98972,$98973,$98974,$98975,$98976,$98977,$98978,$98979,$98980),(nextval($98981),$98982,$98983,$98984,$98985,$98986,$98987,$98988,$98989,$98990,$98991,$98992,$98993,$98994),(nextval($98995),$98996,$98997,$98998,$98999,$99000,$99001,$99002,$99003,$99004,$99005,$99006,$99007,$99008),(nextval($99009),$99010,$99011,$99012,$99013,$99014,$99015,$99016,$99017,$99018,$99019,$99020,$99021,$99022),(nextval($99023),$99024,$99025,$99026,$99027,$99028,$99029,$99030,$99031,$99032,$99033,$99034,$99035,$99036),(nextval($99037),$99038,$99039,$99040,$99041,$99042,$99043,$99044,$99045,$99046,$99047,$99048,$99049,$99050),(nextval($99051),$99052,$99053,$99054,$99055,$99056,$99057,$99058,$99059,$99060,$99061,$99062,$99063,$99064),(nextval($99065),$99066,$99067,$99068,$99069,$99070,$99071,$99072,$99073,$99074,$99075,$99076,$99077,$99078),(nextval($99079),$99080,$99081,$99082,$99083,$99084,$99085,$99086,$99087,$99088,$99089,$99090,$99091,$99092),(nextval($99093),$99094,$99095,$99096,$99097,$99098,$99099,$99100,$99101,$99102,$99103,$99104,$99105,$99106),(nextval($99107),$99108,$99109,$99110,$99111,$99112,$99113,$99114,$99115,$99116,$99117,$99118,$99119,$99120),(nextval($99121),$99122,$99123,$99124,$99125,$99126,$99127,$99128,$99129,$99130,$99131,$99132,$99133,$99134),(nextval($99135),$99136,$99137,$99138,$99139,$99140,$99141,$99142,$99143,$99144,$99145,$99146,$99147,$99148),(nextval($99149),$99150,$99151,$99152,$99153,$99154,$99155,$99156,$99157,$99158,$99159,$99160,$99161,$99162),(nextval($99163),$99164,$99165,$99166,$99167,$99168,$99169,$99170,$99171,$99172,$99173,$99174,$99175,$99176),(nextval($99177),$99178,$99179,$99180,$99181,$99182,$99183,$99184,$99185,$99186,$99187,$99188,$99189,$99190),(nextval($99191),$99192,$99193,$99194,$99195,$99196,$99197,$99198,$99199,$99200,$99201,$99202,$99203,$99204),(nextval($99205),$99206,$99207,$99208,$99209,$99210,$99211,$99212,$99213,$99214,$99215,$99216,$99217,$99218),(nextval($99219),$99220,$99221,$99222,$99223,$99224,$99225,$99226,$99227,$99228,$99229,$99230,$99231,$99232),(nextval($99233),$99234,$99235,$99236,$99237,$99238,$99239,$99240,$99241,$99242,$99243,$99244,$99245,$99246),(nextval($99247),$99248,$99249,$99250,$99251,$99252,$99253,$99254,$99255,$99256,$99257,$99258,$99259,$99260),(nextval($99261),$99262,$99263,$99264,$99265,$99266,$99267,$99268,$99269,$99270,$99271,$99272,$99273,$99274),(nextval($99275),$99276,$99277,$99278,$99279,$99280,$99281,$99282,$99283,$99284,$99285,$99286,$99287,$99288),(nextval($99289),$99290,$99291,$99292,$99293,$99294,$99295,$99296,$99297,$99298,$99299,$99300,$99301,$99302),(nextval($99303),$99304,$99305,$99306,$99307,$99308,$99309,$99310,$99311,$99312,$99313,$99314,$99315,$99316),(nextval($99317),$99318,$99319,$99320,$99321,$99322,$99323,$99324,$99325,$99326,$99327,$99328,$99329,$99330),(nextval($99331),$99332,$99333,$99334,$99335,$99336,$99337,$99338,$99339,$99340,$99341,$99342,$99343,$99344),(nextval($99345),$99346,$99347,$99348,$99349,$99350,$99351,$99352,$99353,$99354,$99355,$99356,$99357,$99358),(nextval($99359),$99360,$99361,$99362,$99363,$99364,$99365,$99366,$99367,$99368,$99369,$99370,$99371,$99372),(nextval($99373),$99374,$99375,$99376,$99377,$99378,$99379,$99380,$99381,$99382,$99383,$99384,$99385,$99386),(nextval($99387),$99388,$99389,$99390,$99391,$99392,$99393,$99394,$99395,$99396,$99397,$99398,$99399,$99400),(nextval($99401),$99402,$99403,$99404,$99405,$99406,$99407,$99408,$99409,$99410,$99411,$99412,$99413,$99414),(nextval($99415),$99416,$99417,$99418,$99419,$99420,$99421,$99422,$99423,$99424,$99425,$99426,$99427,$99428),(nextval($99429),$99430,$99431,$99432,$99433,$99434,$99435,$99436,$99437,$99438,$99439,$99440,$99441,$99442),(nextval($99443),$99444,$99445,$99446,$99447,$99448,$99449,$99450,$99451,$99452,$99453,$99454,$99455,$99456),(nextval($99457),$99458,$99459,$99460,$99461,$99462,$99463,$99464,$99465,$99466,$99467,$99468,$99469,$99470),(nextval($99471),$99472,$99473,$99474,$99475,$99476,$99477,$99478,$99479,$99480,$99481,$99482,$99483,$99484),(nextval($99485),$99486,$99487,$99488,$99489,$99490,$99491,$99492,$99493,$99494,$99495,$99496,$99497,$99498),(nextval($99499),$99500,$99501,$99502,$99503,$99504,$99505,$99506,$99507,$99508,$99509,$99510,$99511,$99512),(nextval($99513),$99514,$99515,$99516,$99517,$99518,$99519,$99520,$99521,$99522,$99523,$99524,$99525,$99526),(nextval($99527),$99528,$99529,$99530,$99531,$99532,$99533,$99534,$99535,$99536,$99537,$99538,$99539,$99540),(nextval($99541),$99542,$99543,$99544,$99545,$99546,$99547,$99548,$99549,$99550,$99551,$99552,$99553,$99554),(nextval($99555),$99556,$99557,$99558,$99559,$99560,$99561,$99562,$99563,$99564,$99565,$99566,$99567,$99568),(nextval($99569),$99570,$99571,$99572,$99573,$99574,$99575,$99576,$99577,$99578,$99579,$99580,$99581,$99582),(nextval($99583),$99584,$99585,$99586,$99587,$99588,$99589,$99590,$99591,$99592,$99593,$99594,$99595,$99596),(nextval($99597),$99598,$99599,$99600,$99601,$99602,$99603,$99604,$99605,$99606,$99607,$99608,$99609,$99610),(nextval($99611),$99612,$99613,$99614,$99615,$99616,$99617,$99618,$99619,$99620,$99621,$99622,$99623,$99624),(nextval($99625),$99626,$99627,$99628,$99629,$99630,$99631,$99632,$99633,$99634,$99635,$99636,$99637,$99638),(nextval($99639),$99640,$99641,$99642,$99643,$99644,$99645,$99646,$99647,$99648,$99649,$99650,$99651,$99652),(nextval($99653),$99654,$99655,$99656,$99657,$99658,$99659,$99660,$99661,$99662,$99663,$99664,$99665,$99666),(nextval($99667),$99668,$99669,$99670,$99671,$99672,$99673,$99674,$99675,$99676,$99677,$99678,$99679,$99680),(nextval($99681),$99682,$99683,$99684,$99685,$99686,$99687,$99688,$99689,$99690,$99691,$99692,$99693,$99694),(nextval($99695),$99696,$99697,$99698,$99699,$99700,$99701,$99702,$99703,$99704,$99705,$99706,$99707,$99708),(nextval($99709),$99710,$99711,$99712,$99713,$99714,$99715,$99716,$99717,$99718,$99719,$99720,$99721,$99722),(nextval($99723),$99724,$99725,$99726,$99727,$99728,$99729,$99730,$99731,$99732,$99733,$99734,$99735,$99736),(nextval($99737),$99738,$99739,$99740,$99741,$99742,$99743,$99744,$99745,$99746,$99747,$99748,$99749,$99750),(nextval($99751),$99752,$99753,$99754,$99755,$99756,$99757,$99758,$99759,$99760,$99761,$99762,$99763,$99764),(nextval($99765),$99766,$99767,$99768,$99769,$99770,$99771,$99772,$99773,$99774,$99775,$99776,$99777,$99778),(nextval($99779),$99780,$99781,$99782,$99783,$99784,$99785,$99786,$99787,$99788,$99789,$99790,$99791,$99792),(nextval($99793),$99794,$99795,$99796,$99797,$99798,$99799,$99800,$99801,$99802,$99803,$99804,$99805,$99806),(nextval($99807),$99808,$99809,$99810,$99811,$99812,$99813,$99814,$99815,$99816,$99817,$99818,$99819,$99820),(nextval($99821),$99822,$99823,$99824,$99825,$99826,$99827,$99828,$99829,$99830,$99831,$99832,$99833,$99834),(nextval($99835),$99836,$99837,$99838,$99839,$99840,$99841,$99842,$99843,$99844,$99845,$99846,$99847,$99848),(nextval($99849),$99850,$99851,$99852,$99853,$99854,$99855,$99856,$99857,$99858,$99859,$99860,$99861,$99862),(nextval($99863),$99864,$99865,$99866,$99867,$99868,$99869,$99870,$99871,$99872,$99873,$99874,$99875,$99876),(nextval($99877),$99878,$99879,$99880,$99881,$99882,$99883,$99884,$99885,$99886,$99887,$99888,$99889,$99890),(nextval($99891),$99892,$99893,$99894,$99895,$99896,$99897,$99898,$99899,$99900,$99901,$99902,$99903,$99904),(nextval($99905),$99906,$99907,$99908,$99909,$99910,$99911,$99912,$99913,$99914,$99915,$99916,$99917,$99918),(nextval($99919),$99920,$99921,$99922,$99923,$99924,$99925,$99926,$99927,$99928,$99929,$99930,$99931,$99932),(nextval($99933),$99934,$99935,$99936,$99937,$99938,$99939,$99940,$99941,$99942,$99943,$99944,$99945,$99946),(nextval($99947),$99948,$99949,$99950,$99951,$99952,$99953,$99954,$99955,$99956,$99957,$99958,$99959,$99960),(nextval($99961),$99962,$99963,$99964,$99965,$99966,$99967,$99968,$99969,$99970,$99971,$99972,$99973,$99974),(nextval($99975),$99976,$99977,$99978,$99979,$99980,$99981,$99982,$99983,$99984,$99985,$99986,$99987,$99988),(nextval($99989),$99990,$99991,$99992,$99993,$99994,$99995,$99996,$99997,$99998,$99999,$100000,$100001,$100002),(nextval($100003),$100004,$100005,$100006,$100007,$100008,$100009,$100010,$100011,$100012,$100013,$100014,$100015,$100016),(nextval($100017),$100018,$100019,$100020,$100021,$100022,$100023,$100024,$100025,$100026,$100027,$100028,$100029,$100030),(nextval($100031),$100032,$100033,$100034,$100035,$100036,$100037,$100038,$100039,$100040,$100041,$100042,$100043,$100044),(nextval($100045),$100046,$100047,$100048,$100049,$100050,$100051,$100052,$100053,$100054,$100055,$100056,$100057,$100058),(nextval($100059),$100060,$100061,$100062,$100063,$100064,$100065,$100066,$100067,$100068,$100069,$100070,$100071,$100072),(nextval($100073),$100074,$100075,$100076,$100077,$100078,$100079,$100080,$100081,$100082,$100083,$100084,$100085,$100086),(nextval($100087),$100088,$100089,$100090,$100091,$100092,$100093,$100094,$100095,$100096,$100097,$100098,$100099,$100100),(nextval($100101),$100102,$100103,$100104,$100105,$100106,$100107,$100108,$100109,$100110,$100111,$100112,$100113,$100114),(nextval($100115),$100116,$100117,$100118,$100119,$100120,$100121,$100122,$100123,$100124,$100125,$100126,$100127,$100128),(nextval($100129),$100130,$100131,$100132,$100133,$100134,$100135,$100136,$100137,$100138,$100139,$100140,$100141,$100142),(nextval($100143),$100144,$100145,$100146,$100147,$100148,$100149,$100150,$100151,$100152,$100153,$100154,$100155,$100156),(nextval($100157),$100158,$100159,$100160,$100161,$100162,$100163,$100164,$100165,$100166,$100167,$100168,$100169,$100170),(nextval($100171),$100172,$100173,$100174,$100175,$100176,$100177,$100178,$100179,$100180,$100181,$100182,$100183,$100184),(nextval($100185),$100186,$100187,$100188,$100189,$100190,$100191,$100192,$100193,$100194,$100195,$100196,$100197,$100198),(nextval($100199),$100200,$100201,$100202,$100203,$100204,$100205,$100206,$100207,$100208,$100209,$100210,$100211,$100212),(nextval($100213),$100214,$100215,$100216,$100217,$100218,$100219,$100220,$100221,$100222,$100223,$100224,$100225,$100226),(nextval($100227),$100228,$100229,$100230,$100231,$100232,$100233,$100234,$100235,$100236,$100237,$100238,$100239,$100240),(nextval($100241),$100242,$100243,$100244,$100245,$100246,$100247,$100248,$100249,$100250,$100251,$100252,$100253,$100254),(nextval($100255),$100256,$100257,$100258,$100259,$100260,$100261,$100262,$100263,$100264,$100265,$100266,$100267,$100268),(nextval($100269),$100270,$100271,$100272,$100273,$100274,$100275,$100276,$100277,$100278,$100279,$100280,$100281,$100282),(nextval($100283),$100284,$100285,$100286,$100287,$100288,$100289,$100290,$100291,$100292,$100293,$100294,$100295,$100296),(nextval($100297),$100298,$100299,$100300,$100301,$100302,$100303,$100304,$100305,$100306,$100307,$100308,$100309,$100310),(nextval($100311),$100312,$100313,$100314,$100315,$100316,$100317,$100318,$100319,$100320,$100321,$100322,$100323,$100324),(nextval($100325),$100326,$100327,$100328,$100329,$100330,$100331,$100332,$100333,$100334,$100335,$100336,$100337,$100338),(nextval($100339),$100340,$100341,$100342,$100343,$100344,$100345,$100346,$100347,$100348,$100349,$100350,$100351,$100352),(nextval($100353),$100354,$100355,$100356,$100357,$100358,$100359,$100360,$100361,$100362,$100363,$100364,$100365,$100366),(nextval($100367),$100368,$100369,$100370,$100371,$100372,$100373,$100374,$100375,$100376,$100377,$100378,$100379,$100380),(nextval($100381),$100382,$100383,$100384,$100385,$100386,$100387,$100388,$100389,$100390,$100391,$100392,$100393,$100394),(nextval($100395),$100396,$100397,$100398,$100399,$100400,$100401,$100402,$100403,$100404,$100405,$100406,$100407,$100408),(nextval($100409),$100410,$100411,$100412,$100413,$100414,$100415,$100416,$100417,$100418,$100419,$100420,$100421,$100422),(nextval($100423),$100424,$100425,$100426,$100427,$100428,$100429,$100430,$100431,$100432,$100433,$100434,$100435,$100436),(nextval($100437),$100438,$100439,$100440,$100441,$100442,$100443,$100444,$100445,$100446,$100447,$100448,$100449,$100450),(nextval($100451),$100452,$100453,$100454,$100455,$100456,$100457,$100458,$100459,$100460,$100461,$100462,$100463,$100464),(nextval($100465),$100466,$100467,$100468,$100469,$100470,$100471,$100472,$100473,$100474,$100475,$100476,$100477,$100478),(nextval($100479),$100480,$100481,$100482,$100483,$100484,$100485,$100486,$100487,$100488,$100489,$100490,$100491,$100492),(nextval($100493),$100494,$100495,$100496,$100497,$100498,$100499,$100500,$100501,$100502,$100503,$100504,$100505,$100506),(nextval($100507),$100508,$100509,$100510,$100511,$100512,$100513,$100514,$100515,$100516,$100517,$100518,$100519,$100520),(nextval($100521),$100522,$100523,$100524,$100525,$100526,$100527,$100528,$100529,$100530,$100531,$100532,$100533,$100534),(nextval($100535),$100536,$100537,$100538,$100539,$100540,$100541,$100542,$100543,$100544,$100545,$100546,$100547,$100548),(nextval($100549),$100550,$100551,$100552,$100553,$100554,$100555,$100556,$100557,$100558,$100559,$100560,$100561,$100562),(nextval($100563),$100564,$100565,$100566,$100567,$100568,$100569,$100570,$100571,$100572,$100573,$100574,$100575,$100576),(nextval($100577),$100578,$100579,$100580,$100581,$100582,$100583,$100584,$100585,$100586,$100587,$100588,$100589,$100590),(nextval($100591),$100592,$100593,$100594,$100595,$100596,$100597,$100598,$100599,$100600,$100601,$100602,$100603,$100604),(nextval($100605),$100606,$100607,$100608,$100609,$100610,$100611,$100612,$100613,$100614,$100615,$100616,$100617,$100618),(nextval($100619),$100620,$100621,$100622,$100623,$100624,$100625,$100626,$100627,$100628,$100629,$100630,$100631,$100632),(nextval($100633),$100634,$100635,$100636,$100637,$100638,$100639,$100640,$100641,$100642,$100643,$100644,$100645,$100646),(nextval($100647),$100648,$100649,$100650,$100651,$100652,$100653,$100654,$100655,$100656,$100657,$100658,$100659,$100660),(nextval($100661),$100662,$100663,$100664,$100665,$100666,$100667,$100668,$100669,$100670,$100671,$100672,$100673,$100674),(nextval($100675),$100676,$100677,$100678,$100679,$100680,$100681,$100682,$100683,$100684,$100685,$100686,$100687,$100688),(nextval($100689),$100690,$100691,$100692,$100693,$100694,$100695,$100696,$100697,$100698,$100699,$100700,$100701,$100702),(nextval($100703),$100704,$100705,$100706,$100707,$100708,$100709,$100710,$100711,$100712,$100713,$100714,$100715,$100716),(nextval($100717),$100718,$100719,$100720,$100721,$100722,$100723,$100724,$100725,$100726,$100727,$100728,$100729,$100730),(nextval($100731),$100732,$100733,$100734,$100735,$100736,$100737,$100738,$100739,$100740,$100741,$100742,$100743,$100744),(nextval($100745),$100746,$100747,$100748,$100749,$100750,$100751,$100752,$100753,$100754,$100755,$100756,$100757,$100758),(nextval($100759),$100760,$100761,$100762,$100763,$100764,$100765,$100766,$100767,$100768,$100769,$100770,$100771,$100772),(nextval($100773),$100774,$100775,$100776,$100777,$100778,$100779,$100780,$100781,$100782,$100783,$100784,$100785,$100786),(nextval($100787),$100788,$100789,$100790,$100791,$100792,$100793,$100794,$100795,$100796,$100797,$100798,$100799,$100800),(nextval($100801),$100802,$100803,$100804,$100805,$100806,$100807,$100808,$100809,$100810,$100811,$100812,$100813,$100814),(nextval($100815),$100816,$100817,$100818,$100819,$100820,$100821,$100822,$100823,$100824,$100825,$100826,$100827,$100828),(nextval($100829),$100830,$100831,$100832,$100833,$100834,$100835,$100836,$100837,$100838,$100839,$100840,$100841,$100842),(nextval($100843),$100844,$100845,$100846,$100847,$100848,$100849,$100850,$100851,$100852,$100853,$100854,$100855,$100856),(nextval($100857),$100858,$100859,$100860,$100861,$100862,$100863,$100864,$100865,$100866,$100867,$100868,$100869,$100870),(nextval($100871),$100872,$100873,$100874,$100875,$100876,$100877,$100878,$100879,$100880,$100881,$100882,$100883,$100884),(nextval($100885),$100886,$100887,$100888,$100889,$100890,$100891,$100892,$100893,$100894,$100895,$100896,$100897,$100898),(nextval($100899),$100900,$100901,$100902,$100903,$100904,$100905,$100906,$100907,$100908,$100909,$100910,$100911,$100912),(nextval($100913),$100914,$100915,$100916,$100917,$100918,$100919,$100920,$100921,$100922,$100923,$100924,$100925,$100926),(nextval($100927),$100928,$100929,$100930,$100931,$100932,$100933,$100934,$100935,$100936,$100937,$100938,$100939,$100940),(nextval($100941),$100942,$100943,$100944,$100945,$100946,$100947,$100948,$100949,$100950,$100951,$100952,$100953,$100954),(nextval($100955),$100956,$100957,$100958,$100959,$100960,$100961,$100962,$100963,$100964,$100965,$100966,$100967,$100968),(nextval($100969),$100970,$100971,$100972,$100973,$100974,$100975,$100976,$100977,$100978,$100979,$100980,$100981,$100982),(nextval($100983),$100984,$100985,$100986,$100987,$100988,$100989,$100990,$100991,$100992,$100993,$100994,$100995,$100996),(nextval($100997),$100998,$100999,$101000,$101001,$101002,$101003,$101004,$101005,$101006,$101007,$101008,$101009,$101010),(nextval($101011),$101012,$101013,$101014,$101015,$101016,$101017,$101018,$101019,$101020,$101021,$101022,$101023,$101024),(nextval($101025),$101026,$101027,$101028,$101029,$101030,$101031,$101032,$101033,$101034,$101035,$101036,$101037,$101038),(nextval($101039),$101040,$101041,$101042,$101043,$101044,$101045,$101046,$101047,$101048,$101049,$101050,$101051,$101052),(nextval($101053),$101054,$101055,$101056,$101057,$101058,$101059,$101060,$101061,$101062,$101063,$101064,$101065,$101066),(nextval($101067),$101068,$101069,$101070,$101071,$101072,$101073,$101074,$101075,$101076,$101077,$101078,$101079,$101080),(nextval($101081),$101082,$101083,$101084,$101085,$101086,$101087,$101088,$101089,$101090,$101091,$101092,$101093,$101094),(nextval($101095),$101096,$101097,$101098,$101099,$101100,$101101,$101102,$101103,$101104,$101105,$101106,$101107,$101108),(nextval($101109),$101110,$101111,$101112,$101113,$101114,$101115,$101116,$101117,$101118,$101119,$101120,$101121,$101122),(nextval($101123),$101124,$101125,$101126,$101127,$101128,$101129,$101130,$101131,$101132,$101133,$101134,$101135,$101136),(nextval($101137),$101138,$101139,$101140,$101141,$101142,$101143,$101144,$101145,$101146,$101147,$101148,$101149,$101150),(nextval($101151),$101152,$101153,$101154,$101155,$101156,$101157,$101158,$101159,$101160,$101161,$101162,$101163,$101164),(nextval($101165),$101166,$101167,$101168,$101169,$101170,$101171,$101172,$101173,$101174,$101175,$101176,$101177,$101178),(nextval($101179),$101180,$101181,$101182,$101183,$101184,$101185,$101186,$101187,$101188,$101189,$101190,$101191,$101192),(nextval($101193),$101194,$101195,$101196,$101197,$101198,$101199,$101200,$101201,$101202,$101203,$101204,$101205,$101206),(nextval($101207),$101208,$101209,$101210,$101211,$101212,$101213,$101214,$101215,$101216,$101217,$101218,$101219,$101220),(nextval($101221),$101222,$101223,$101224,$101225,$101226,$101227,$101228,$101229,$101230,$101231,$101232,$101233,$101234),(nextval($101235),$101236,$101237,$101238,$101239,$101240,$101241,$101242,$101243,$101244,$101245,$101246,$101247,$101248),(nextval($101249),$101250,$101251,$101252,$101253,$101254,$101255,$101256,$101257,$101258,$101259,$101260,$101261,$101262),(nextval($101263),$101264,$101265,$101266,$101267,$101268,$101269,$101270,$101271,$101272,$101273,$101274,$101275,$101276),(nextval($101277),$101278,$101279,$101280,$101281,$101282,$101283,$101284,$101285,$101286,$101287,$101288,$101289,$101290),(nextval($101291),$101292,$101293,$101294,$101295,$101296,$101297,$101298,$101299,$101300,$101301,$101302,$101303,$101304),(nextval($101305),$101306,$101307,$101308,$101309,$101310,$101311,$101312,$101313,$101314,$101315,$101316,$101317,$101318),(nextval($101319),$101320,$101321,$101322,$101323,$101324,$101325,$101326,$101327,$101328,$101329,$101330,$101331,$101332),(nextval($101333),$101334,$101335,$101336,$101337,$101338,$101339,$101340,$101341,$101342,$101343,$101344,$101345,$101346),(nextval($101347),$101348,$101349,$101350,$101351,$101352,$101353,$101354,$101355,$101356,$101357,$101358,$101359,$101360),(nextval($101361),$101362,$101363,$101364,$101365,$101366,$101367,$101368,$101369,$101370,$101371,$101372,$101373,$101374),(nextval($101375),$101376,$101377,$101378,$101379,$101380,$101381,$101382,$101383,$101384,$101385,$101386,$101387,$101388),(nextval($101389),$101390,$101391,$101392,$101393,$101394,$101395,$101396,$101397,$101398,$101399,$101400,$101401,$101402),(nextval($101403),$101404,$101405,$101406,$101407,$101408,$101409,$101410,$101411,$101412,$101413,$101414,$101415,$101416),(nextval($101417),$101418,$101419,$101420,$101421,$101422,$101423,$101424,$101425,$101426,$101427,$101428,$101429,$101430),(nextval($101431),$101432,$101433,$101434,$101435,$101436,$101437,$101438,$101439,$101440,$101441,$101442,$101443,$101444),(nextval($101445),$101446,$101447,$101448,$101449,$101450,$101451,$101452,$101453,$101454,$101455,$101456,$101457,$101458),(nextval($101459),$101460,$101461,$101462,$101463,$101464,$101465,$101466,$101467,$101468,$101469,$101470,$101471,$101472),(nextval($101473),$101474,$101475,$101476,$101477,$101478,$101479,$101480,$101481,$101482,$101483,$101484,$101485,$101486),(nextval($101487),$101488,$101489,$101490,$101491,$101492,$101493,$101494,$101495,$101496,$101497,$101498,$101499,$101500),(nextval($101501),$101502,$101503,$101504,$101505,$101506,$101507,$101508,$101509,$101510,$101511,$101512,$101513,$101514),(nextval($101515),$101516,$101517,$101518,$101519,$101520,$101521,$101522,$101523,$101524,$101525,$101526,$101527,$101528),(nextval($101529),$101530,$101531,$101532,$101533,$101534,$101535,$101536,$101537,$101538,$101539,$101540,$101541,$101542),(nextval($101543),$101544,$101545,$101546,$101547,$101548,$101549,$101550,$101551,$101552,$101553,$101554,$101555,$101556),(nextval($101557),$101558,$101559,$101560,$101561,$101562,$101563,$101564,$101565,$101566,$101567,$101568,$101569,$101570),(nextval($101571),$101572,$101573,$101574,$101575,$101576,$101577,$101578,$101579,$101580,$101581,$101582,$101583,$101584),(nextval($101585),$101586,$101587,$101588,$101589,$101590,$101591,$101592,$101593,$101594,$101595,$101596,$101597,$101598),(nextval($101599),$101600,$101601,$101602,$101603,$101604,$101605,$101606,$101607,$101608,$101609,$101610,$101611,$101612),(nextval($101613),$101614,$101615,$101616,$101617,$101618,$101619,$101620,$101621,$101622,$101623,$101624,$101625,$101626),(nextval($101627),$101628,$101629,$101630,$101631,$101632,$101633,$101634,$101635,$101636,$101637,$101638,$101639,$101640),(nextval($101641),$101642,$101643,$101644,$101645,$101646,$101647,$101648,$101649,$101650,$101651,$101652,$101653,$101654),(nextval($101655),$101656,$101657,$101658,$101659,$101660,$101661,$101662,$101663,$101664,$101665,$101666,$101667,$101668),(nextval($101669),$101670,$101671,$101672,$101673,$101674,$101675,$101676,$101677,$101678,$101679,$101680,$101681,$101682),(nextval($101683),$101684,$101685,$101686,$101687,$101688,$101689,$101690,$101691,$101692,$101693,$101694,$101695,$101696),(nextval($101697),$101698,$101699,$101700,$101701,$101702,$101703,$101704,$101705,$101706,$101707,$101708,$101709,$101710),(nextval($101711),$101712,$101713,$101714,$101715,$101716,$101717,$101718,$101719,$101720,$101721,$101722,$101723,$101724),(nextval($101725),$101726,$101727,$101728,$101729,$101730,$101731,$101732,$101733,$101734,$101735,$101736,$101737,$101738),(nextval($101739),$101740,$101741,$101742,$101743,$101744,$101745,$101746,$101747,$101748,$101749,$101750,$101751,$101752),(nextval($101753),$101754,$101755,$101756,$101757,$101758,$101759,$101760,$101761,$101762,$101763,$101764,$101765,$101766),(nextval($101767),$101768,$101769,$101770,$101771,$101772,$101773,$101774,$101775,$101776,$101777,$101778,$101779,$101780),(nextval($101781),$101782,$101783,$101784,$101785,$101786,$101787,$101788,$101789,$101790,$101791,$101792,$101793,$101794),(nextval($101795),$101796,$101797,$101798,$101799,$101800,$101801,$101802,$101803,$101804,$101805,$101806,$101807,$101808),(nextval($101809),$101810,$101811,$101812,$101813,$101814,$101815,$101816,$101817,$101818,$101819,$101820,$101821,$101822),(nextval($101823),$101824,$101825,$101826,$101827,$101828,$101829,$101830,$101831,$101832,$101833,$101834,$101835,$101836),(nextval($101837),$101838,$101839,$101840,$101841,$101842,$101843,$101844,$101845,$101846,$101847,$101848,$101849,$101850),(nextval($101851),$101852,$101853,$101854,$101855,$101856,$101857,$101858,$101859,$101860,$101861,$101862,$101863,$101864),(nextval($101865),$101866,$101867,$101868,$101869,$101870,$101871,$101872,$101873,$101874,$101875,$101876,$101877,$101878),(nextval($101879),$101880,$101881,$101882,$101883,$101884,$101885,$101886,$101887,$101888,$101889,$101890,$101891,$101892),(nextval($101893),$101894,$101895,$101896,$101897,$101898,$101899,$101900,$101901,$101902,$101903,$101904,$101905,$101906),(nextval($101907),$101908,$101909,$101910,$101911,$101912,$101913,$101914,$101915,$101916,$101917,$101918,$101919,$101920),(nextval($101921),$101922,$101923,$101924,$101925,$101926,$101927,$101928,$101929,$101930,$101931,$101932,$101933,$101934),(nextval($101935),$101936,$101937,$101938,$101939,$101940,$101941,$101942,$101943,$101944,$101945,$101946,$101947,$101948),(nextval($101949),$101950,$101951,$101952,$101953,$101954,$101955,$101956,$101957,$101958,$101959,$101960,$101961,$101962),(nextval($101963),$101964,$101965,$101966,$101967,$101968,$101969,$101970,$101971,$101972,$101973,$101974,$101975,$101976),(nextval($101977),$101978,$101979,$101980,$101981,$101982,$101983,$101984,$101985,$101986,$101987,$101988,$101989,$101990),(nextval($101991),$101992,$101993,$101994,$101995,$101996,$101997,$101998,$101999,$102000,$102001,$102002,$102003,$102004),(nextval($102005),$102006,$102007,$102008,$102009,$102010,$102011,$102012,$102013,$102014,$102015,$102016,$102017,$102018),(nextval($102019),$102020,$102021,$102022,$102023,$102024,$102025,$102026,$102027,$102028,$102029,$102030,$102031,$102032),(nextval($102033),$102034,$102035,$102036,$102037,$102038,$102039,$102040,$102041,$102042,$102043,$102044,$102045,$102046),(nextval($102047),$102048,$102049,$102050,$102051,$102052,$102053,$102054,$102055,$102056,$102057,$102058,$102059,$102060),(nextval($102061),$102062,$102063,$102064,$102065,$102066,$102067,$102068,$102069,$102070,$102071,$102072,$102073,$102074),(nextval($102075),$102076,$102077,$102078,$102079,$102080,$102081,$102082,$102083,$102084,$102085,$102086,$102087,$102088),(nextval($102089),$102090,$102091,$102092,$102093,$102094,$102095,$102096,$102097,$102098,$102099,$102100,$102101,$102102),(nextval($102103),$102104,$102105,$102106,$102107,$102108,$102109,$102110,$102111,$102112,$102113,$102114,$102115,$102116),(nextval($102117),$102118,$102119,$102120,$102121,$102122,$102123,$102124,$102125,$102126,$102127,$102128,$102129,$102130),(nextval($102131),$102132,$102133,$102134,$102135,$102136,$102137,$102138,$102139,$102140,$102141,$102142,$102143,$102144),(nextval($102145),$102146,$102147,$102148,$102149,$102150,$102151,$102152,$102153,$102154,$102155,$102156,$102157,$102158),(nextval($102159),$102160,$102161,$102162,$102163,$102164,$102165,$102166,$102167,$102168,$102169,$102170,$102171,$102172),(nextval($102173),$102174,$102175,$102176,$102177,$102178,$102179,$102180,$102181,$102182,$102183,$102184,$102185,$102186),(nextval($102187),$102188,$102189,$102190,$102191,$102192,$102193,$102194,$102195,$102196,$102197,$102198,$102199,$102200),(nextval($102201),$102202,$102203,$102204,$102205,$102206,$102207,$102208,$102209,$102210,$102211,$102212,$102213,$102214),(nextval($102215),$102216,$102217,$102218,$102219,$102220,$102221,$102222,$102223,$102224,$102225,$102226,$102227,$102228),(nextval($102229),$102230,$102231,$102232,$102233,$102234,$102235,$102236,$102237,$102238,$102239,$102240,$102241,$102242),(nextval($102243),$102244,$102245,$102246,$102247,$102248,$102249,$102250,$102251,$102252,$102253,$102254,$102255,$102256),(nextval($102257),$102258,$102259,$102260,$102261,$102262,$102263,$102264,$102265,$102266,$102267,$102268,$102269,$102270),(nextval($102271),$102272,$102273,$102274,$102275,$102276,$102277,$102278,$102279,$102280,$102281,$102282,$102283,$102284),(nextval($102285),$102286,$102287,$102288,$102289,$102290,$102291,$102292,$102293,$102294,$102295,$102296,$102297,$102298),(nextval($102299),$102300,$102301,$102302,$102303,$102304,$102305,$102306,$102307,$102308,$102309,$102310,$102311,$102312),(nextval($102313),$102314,$102315,$102316,$102317,$102318,$102319,$102320,$102321,$102322,$102323,$102324,$102325,$102326),(nextval($102327),$102328,$102329,$102330,$102331,$102332,$102333,$102334,$102335,$102336,$102337,$102338,$102339,$102340),(nextval($102341),$102342,$102343,$102344,$102345,$102346,$102347,$102348,$102349,$102350,$102351,$102352,$102353,$102354),(nextval($102355),$102356,$102357,$102358,$102359,$102360,$102361,$102362,$102363,$102364,$102365,$102366,$102367,$102368),(nextval($102369),$102370,$102371,$102372,$102373,$102374,$102375,$102376,$102377,$102378,$102379,$102380,$102381,$102382),(nextval($102383),$102384,$102385,$102386,$102387,$102388,$102389,$102390,$102391,$102392,$102393,$102394,$102395,$102396),(nextval($102397),$102398,$102399,$102400,$102401,$102402,$102403,$102404,$102405,$102406,$102407,$102408,$102409,$102410),(nextval($102411),$102412,$102413,$102414,$102415,$102416,$102417,$102418,$102419,$102420,$102421,$102422,$102423,$102424),(nextval($102425),$102426,$102427,$102428,$102429,$102430,$102431,$102432,$102433,$102434,$102435,$102436,$102437,$102438),(nextval($102439),$102440,$102441,$102442,$102443,$102444,$102445,$102446,$102447,$102448,$102449,$102450,$102451,$102452),(nextval($102453),$102454,$102455,$102456,$102457,$102458,$102459,$102460,$102461,$102462,$102463,$102464,$102465,$102466),(nextval($102467),$102468,$102469,$102470,$102471,$102472,$102473,$102474,$102475,$102476,$102477,$102478,$102479,$102480),(nextval($102481),$102482,$102483,$102484,$102485,$102486,$102487,$102488,$102489,$102490,$102491,$102492,$102493,$102494),(nextval($102495),$102496,$102497,$102498,$102499,$102500,$102501,$102502,$102503,$102504,$102505,$102506,$102507,$102508),(nextval($102509),$102510,$102511,$102512,$102513,$102514,$102515,$102516,$102517,$102518,$102519,$102520,$102521,$102522),(nextval($102523),$102524,$102525,$102526,$102527,$102528,$102529,$102530,$102531,$102532,$102533,$102534,$102535,$102536),(nextval($102537),$102538,$102539,$102540,$102541,$102542,$102543,$102544,$102545,$102546,$102547,$102548,$102549,$102550),(nextval($102551),$102552,$102553,$102554,$102555,$102556,$102557,$102558,$102559,$102560,$102561,$102562,$102563,$102564),(nextval($102565),$102566,$102567,$102568,$102569,$102570,$102571,$102572,$102573,$102574,$102575,$102576,$102577,$102578),(nextval($102579),$102580,$102581,$102582,$102583,$102584,$102585,$102586,$102587,$102588,$102589,$102590,$102591,$102592),(nextval($102593),$102594,$102595,$102596,$102597,$102598,$102599,$102600,$102601,$102602,$102603,$102604,$102605,$102606),(nextval($102607),$102608,$102609,$102610,$102611,$102612,$102613,$102614,$102615,$102616,$102617,$102618,$102619,$102620),(nextval($102621),$102622,$102623,$102624,$102625,$102626,$102627,$102628,$102629,$102630,$102631,$102632,$102633,$102634),(nextval($102635),$102636,$102637,$102638,$102639,$102640,$102641,$102642,$102643,$102644,$102645,$102646,$102647,$102648),(nextval($102649),$102650,$102651,$102652,$102653,$102654,$102655,$102656,$102657,$102658,$102659,$102660,$102661,$102662),(nextval($102663),$102664,$102665,$102666,$102667,$102668,$102669,$102670,$102671,$102672,$102673,$102674,$102675,$102676),(nextval($102677),$102678,$102679,$102680,$102681,$102682,$102683,$102684,$102685,$102686,$102687,$102688,$102689,$102690),(nextval($102691),$102692,$102693,$102694,$102695,$102696,$102697,$102698,$102699,$102700,$102701,$102702,$102703,$102704),(nextval($102705),$102706,$102707,$102708,$102709,$102710,$102711,$102712,$102713,$102714,$102715,$102716,$102717,$102718),(nextval($102719),$102720,$102721,$102722,$102723,$102724,$102725,$102726,$102727,$102728,$102729,$102730,$102731,$102732),(nextval($102733),$102734,$102735,$102736,$102737,$102738,$102739,$102740,$102741,$102742,$102743,$102744,$102745,$102746),(nextval($102747),$102748,$102749,$102750,$102751,$102752,$102753,$102754,$102755,$102756,$102757,$102758,$102759,$102760),(nextval($102761),$102762,$102763,$102764,$102765,$102766,$102767,$102768,$102769,$102770,$102771,$102772,$102773,$102774),(nextval($102775),$102776,$102777,$102778,$102779,$102780,$102781,$102782,$102783,$102784,$102785,$102786,$102787,$102788),(nextval($102789),$102790,$102791,$102792,$102793,$102794,$102795,$102796,$102797,$102798,$102799,$102800,$102801,$102802),(nextval($102803),$102804,$102805,$102806,$102807,$102808,$102809,$102810,$102811,$102812,$102813,$102814,$102815,$102816),(nextval($102817),$102818,$102819,$102820,$102821,$102822,$102823,$102824,$102825,$102826,$102827,$102828,$102829,$102830),(nextval($102831),$102832,$102833,$102834,$102835,$102836,$102837,$102838,$102839,$102840,$102841,$102842,$102843,$102844),(nextval($102845),$102846,$102847,$102848,$102849,$102850,$102851,$102852,$102853,$102854,$102855,$102856,$102857,$102858),(nextval($102859),$102860,$102861,$102862,$102863,$102864,$102865,$102866,$102867,$102868,$102869,$102870,$102871,$102872),(nextval($102873),$102874,$102875,$102876,$102877,$102878,$102879,$102880,$102881,$102882,$102883,$102884,$102885,$102886),(nextval($102887),$102888,$102889,$102890,$102891,$102892,$102893,$102894,$102895,$102896,$102897,$102898,$102899,$102900),(nextval($102901),$102902,$102903,$102904,$102905,$102906,$102907,$102908,$102909,$102910,$102911,$102912,$102913,$102914),(nextval($102915),$102916,$102917,$102918,$102919,$102920,$102921,$102922,$102923,$102924,$102925,$102926,$102927,$102928),(nextval($102929),$102930,$102931,$102932,$102933,$102934,$102935,$102936,$102937,$102938,$102939,$102940,$102941,$102942),(nextval($102943),$102944,$102945,$102946,$102947,$102948,$102949,$102950,$102951,$102952,$102953,$102954,$102955,$102956),(nextval($102957),$102958,$102959,$102960,$102961,$102962,$102963,$102964,$102965,$102966,$102967,$102968,$102969,$102970),(nextval($102971),$102972,$102973,$102974,$102975,$102976,$102977,$102978,$102979,$102980,$102981,$102982,$102983,$102984),(nextval($102985),$102986,$102987,$102988,$102989,$102990,$102991,$102992,$102993,$102994,$102995,$102996,$102997,$102998),(nextval($102999),$103000,$103001,$103002,$103003,$103004,$103005,$103006,$103007,$103008,$103009,$103010,$103011,$103012),(nextval($103013),$103014,$103015,$103016,$103017,$103018,$103019,$103020,$103021,$103022,$103023,$103024,$103025,$103026),(nextval($103027),$103028,$103029,$103030,$103031,$103032,$103033,$103034,$103035,$103036,$103037,$103038,$103039,$103040),(nextval($103041),$103042,$103043,$103044,$103045,$103046,$103047,$103048,$103049,$103050,$103051,$103052,$103053,$103054),(nextval($103055),$103056,$103057,$103058,$103059,$103060,$103061,$103062,$103063,$103064,$103065,$103066,$103067,$103068),(nextval($103069),$103070,$103071,$103072,$103073,$103074,$103075,$103076,$103077,$103078,$103079,$103080,$103081,$103082),(nextval($103083),$103084,$103085,$103086,$103087,$103088,$103089,$103090,$103091,$103092,$103093,$103094,$103095,$103096),(nextval($103097),$103098,$103099,$103100,$103101,$103102,$103103,$103104,$103105,$103106,$103107,$103108,$103109,$103110),(nextval($103111),$103112,$103113,$103114,$103115,$103116,$103117,$103118,$103119,$103120,$103121,$103122,$103123,$103124),(nextval($103125),$103126,$103127,$103128,$103129,$103130,$103131,$103132,$103133,$103134,$103135,$103136,$103137,$103138),(nextval($103139),$103140,$103141,$103142,$103143,$103144,$103145,$103146,$103147,$103148,$103149,$103150,$103151,$103152),(nextval($103153),$103154,$103155,$103156,$103157,$103158,$103159,$103160,$103161,$103162,$103163,$103164,$103165,$103166),(nextval($103167),$103168,$103169,$103170,$103171,$103172,$103173,$103174,$103175,$103176,$103177,$103178,$103179,$103180),(nextval($103181),$103182,$103183,$103184,$103185,$103186,$103187,$103188,$103189,$103190,$103191,$103192,$103193,$103194),(nextval($103195),$103196,$103197,$103198,$103199,$103200,$103201,$103202,$103203,$103204,$103205,$103206,$103207,$103208),(nextval($103209),$103210,$103211,$103212,$103213,$103214,$103215,$103216,$103217,$103218,$103219,$103220,$103221,$103222),(nextval($103223),$103224,$103225,$103226,$103227,$103228,$103229,$103230,$103231,$103232,$103233,$103234,$103235,$103236),(nextval($103237),$103238,$103239,$103240,$103241,$103242,$103243,$103244,$103245,$103246,$103247,$103248,$103249,$103250),(nextval($103251),$103252,$103253,$103254,$103255,$103256,$103257,$103258,$103259,$103260,$103261,$103262,$103263,$103264),(nextval($103265),$103266,$103267,$103268,$103269,$103270,$103271,$103272,$103273,$103274,$103275,$103276,$103277,$103278),(nextval($103279),$103280,$103281,$103282,$103283,$103284,$103285,$103286,$103287,$103288,$103289,$103290,$103291,$103292),(nextval($103293),$103294,$103295,$103296,$103297,$103298,$103299,$103300,$103301,$103302,$103303,$103304,$103305,$103306),(nextval($103307),$103308,$103309,$103310,$103311,$103312,$103313,$103314,$103315,$103316,$103317,$103318,$103319,$103320),(nextval($103321),$103322,$103323,$103324,$103325,$103326,$103327,$103328,$103329,$103330,$103331,$103332,$103333,$103334),(nextval($103335),$103336,$103337,$103338,$103339,$103340,$103341,$103342,$103343,$103344,$103345,$103346,$103347,$103348),(nextval($103349),$103350,$103351,$103352,$103353,$103354,$103355,$103356,$103357,$103358,$103359,$103360,$103361,$103362),(nextval($103363),$103364,$103365,$103366,$103367,$103368,$103369,$103370,$103371,$103372,$103373,$103374,$103375,$103376),(nextval($103377),$103378,$103379,$103380,$103381,$103382,$103383,$103384,$103385,$103386,$103387,$103388,$103389,$103390),(nextval($103391),$103392,$103393,$103394,$103395,$103396,$103397,$103398,$103399,$103400,$103401,$103402,$103403,$103404),(nextval($103405),$103406,$103407,$103408,$103409,$103410,$103411,$103412,$103413,$103414,$103415,$103416,$103417,$103418),(nextval($103419),$103420,$103421,$103422,$103423,$103424,$103425,$103426,$103427,$103428,$103429,$103430,$103431,$103432),(nextval($103433),$103434,$103435,$103436,$103437,$103438,$103439,$103440,$103441,$103442,$103443,$103444,$103445,$103446),(nextval($103447),$103448,$103449,$103450,$103451,$103452,$103453,$103454,$103455,$103456,$103457,$103458,$103459,$103460),(nextval($103461),$103462,$103463,$103464,$103465,$103466,$103467,$103468,$103469,$103470,$103471,$103472,$103473,$103474),(nextval($103475),$103476,$103477,$103478,$103479,$103480,$103481,$103482,$103483,$103484,$103485,$103486,$103487,$103488),(nextval($103489),$103490,$103491,$103492,$103493,$103494,$103495,$103496,$103497,$103498,$103499,$103500,$103501,$103502),(nextval($103503),$103504,$103505,$103506,$103507,$103508,$103509,$103510,$103511,$103512,$103513,$103514,$103515,$103516),(nextval($103517),$103518,$103519,$103520,$103521,$103522,$103523,$103524,$103525,$103526,$103527,$103528,$103529,$103530),(nextval($103531),$103532,$103533,$103534,$103535,$103536,$103537,$103538,$103539,$103540,$103541,$103542,$103543,$103544),(nextval($103545),$103546,$103547,$103548,$103549,$103550,$103551,$103552,$103553,$103554,$103555,$103556,$103557,$103558),(nextval($103559),$103560,$103561,$103562,$103563,$103564,$103565,$103566,$103567,$103568,$103569,$103570,$103571,$103572),(nextval($103573),$103574,$103575,$103576,$103577,$103578,$103579,$103580,$103581,$103582,$103583,$103584,$103585,$103586),(nextval($103587),$103588,$103589,$103590,$103591,$103592,$103593,$103594,$103595,$103596,$103597,$103598,$103599,$103600),(nextval($103601),$103602,$103603,$103604,$103605,$103606,$103607,$103608,$103609,$103610,$103611,$103612,$103613,$103614),(nextval($103615),$103616,$103617,$103618,$103619,$103620,$103621,$103622,$103623,$103624,$103625,$103626,$103627,$103628),(nextval($103629),$103630,$103631,$103632,$103633,$103634,$103635,$103636,$103637,$103638,$103639,$103640,$103641,$103642),(nextval($103643),$103644,$103645,$103646,$103647,$103648,$103649,$103650,$103651,$103652,$103653,$103654,$103655,$103656),(nextval($103657),$103658,$103659,$103660,$103661,$103662,$103663,$103664,$103665,$103666,$103667,$103668,$103669,$103670),(nextval($103671),$103672,$103673,$103674,$103675,$103676,$103677,$103678,$103679,$103680,$103681,$103682,$103683,$103684),(nextval($103685),$103686,$103687,$103688,$103689,$103690,$103691,$103692,$103693,$103694,$103695,$103696,$103697,$103698),(nextval($103699),$103700,$103701,$103702,$103703,$103704,$103705,$103706,$103707,$103708,$103709,$103710,$103711,$103712),(nextval($103713),$103714,$103715,$103716,$103717,$103718,$103719,$103720,$103721,$103722,$103723,$103724,$103725,$103726),(nextval($103727),$103728,$103729,$103730,$103731,$103732,$103733,$103734,$103735,$103736,$103737,$103738,$103739,$103740),(nextval($103741),$103742,$103743,$103744,$103745,$103746,$103747,$103748,$103749,$103750,$103751,$103752,$103753,$103754),(nextval($103755),$103756,$103757,$103758,$103759,$103760,$103761,$103762,$103763,$103764,$103765,$103766,$103767,$103768),(nextval($103769),$103770,$103771,$103772,$103773,$103774,$103775,$103776,$103777,$103778,$103779,$103780,$103781,$103782),(nextval($103783),$103784,$103785,$103786,$103787,$103788,$103789,$103790,$103791,$103792,$103793,$103794,$103795,$103796),(nextval($103797),$103798,$103799,$103800,$103801,$103802,$103803,$103804,$103805,$103806,$103807,$103808,$103809,$103810),(nextval($103811),$103812,$103813,$103814,$103815,$103816,$103817,$103818,$103819,$103820,$103821,$103822,$103823,$103824),(nextval($103825),$103826,$103827,$103828,$103829,$103830,$103831,$103832,$103833,$103834,$103835,$103836,$103837,$103838),(nextval($103839),$103840,$103841,$103842,$103843,$103844,$103845,$103846,$103847,$103848,$103849,$103850,$103851,$103852),(nextval($103853),$103854,$103855,$103856,$103857,$103858,$103859,$103860,$103861,$103862,$103863,$103864,$103865,$103866),(nextval($103867),$103868,$103869,$103870,$103871,$103872,$103873,$103874,$103875,$103876,$103877,$103878,$103879,$103880),(nextval($103881),$103882,$103883,$103884,$103885,$103886,$103887,$103888,$103889,$103890,$103891,$103892,$103893,$103894),(nextval($103895),$103896,$103897,$103898,$103899,$103900,$103901,$103902,$103903,$103904,$103905,$103906,$103907,$103908),(nextval($103909),$103910,$103911,$103912,$103913,$103914,$103915,$103916,$103917,$103918,$103919,$103920,$103921,$103922),(nextval($103923),$103924,$103925,$103926,$103927,$103928,$103929,$103930,$103931,$103932,$103933,$103934,$103935,$103936),(nextval($103937),$103938,$103939,$103940,$103941,$103942,$103943,$103944,$103945,$103946,$103947,$103948,$103949,$103950),(nextval($103951),$103952,$103953,$103954,$103955,$103956,$103957,$103958,$103959,$103960,$103961,$103962,$103963,$103964),(nextval($103965),$103966,$103967,$103968,$103969,$103970,$103971,$103972,$103973,$103974,$103975,$103976,$103977,$103978),(nextval($103979),$103980,$103981,$103982,$103983,$103984,$103985,$103986,$103987,$103988,$103989,$103990,$103991,$103992),(nextval($103993),$103994,$103995,$103996,$103997,$103998,$103999,$104000,$104001,$104002,$104003,$104004,$104005,$104006),(nextval($104007),$104008,$104009,$104010,$104011,$104012,$104013,$104014,$104015,$104016,$104017,$104018,$104019,$104020),(nextval($104021),$104022,$104023,$104024,$104025,$104026,$104027,$104028,$104029,$104030,$104031,$104032,$104033,$104034),(nextval($104035),$104036,$104037,$104038,$104039,$104040,$104041,$104042,$104043,$104044,$104045,$104046,$104047,$104048),(nextval($104049),$104050,$104051,$104052,$104053,$104054,$104055,$104056,$104057,$104058,$104059,$104060,$104061,$104062),(nextval($104063),$104064,$104065,$104066,$104067,$104068,$104069,$104070,$104071,$104072,$104073,$104074,$104075,$104076),(nextval($104077),$104078,$104079,$104080,$104081,$104082,$104083,$104084,$104085,$104086,$104087,$104088,$104089,$104090),(nextval($104091),$104092,$104093,$104094,$104095,$104096,$104097,$104098,$104099,$104100,$104101,$104102,$104103,$104104),(nextval($104105),$104106,$104107,$104108,$104109,$104110,$104111,$104112,$104113,$104114,$104115,$104116,$104117,$104118),(nextval($104119),$104120,$104121,$104122,$104123,$104124,$104125,$104126,$104127,$104128,$104129,$104130,$104131,$104132),(nextval($104133),$104134,$104135,$104136,$104137,$104138,$104139,$104140,$104141,$104142,$104143,$104144,$104145,$104146),(nextval($104147),$104148,$104149,$104150,$104151,$104152,$104153,$104154,$104155,$104156,$104157,$104158,$104159,$104160),(nextval($104161),$104162,$104163,$104164,$104165,$104166,$104167,$104168,$104169,$104170,$104171,$104172,$104173,$104174),(nextval($104175),$104176,$104177,$104178,$104179,$104180,$104181,$104182,$104183,$104184,$104185,$104186,$104187,$104188),(nextval($104189),$104190,$104191,$104192,$104193,$104194,$104195,$104196,$104197,$104198,$104199,$104200,$104201,$104202),(nextval($104203),$104204,$104205,$104206,$104207,$104208,$104209,$104210,$104211,$104212,$104213,$104214,$104215,$104216),(nextval($104217),$104218,$104219,$104220,$104221,$104222,$104223,$104224,$104225,$104226,$104227,$104228,$104229,$104230),(nextval($104231),$104232,$104233,$104234,$104235,$104236,$104237,$104238,$104239,$104240,$104241,$104242,$104243,$104244),(nextval($104245),$104246,$104247,$104248,$104249,$104250,$104251,$104252,$104253,$104254,$104255,$104256,$104257,$104258),(nextval($104259),$104260,$104261,$104262,$104263,$104264,$104265,$104266,$104267,$104268,$104269,$104270,$104271,$104272),(nextval($104273),$104274,$104275,$104276,$104277,$104278,$104279,$104280,$104281,$104282,$104283,$104284,$104285,$104286),(nextval($104287),$104288,$104289,$104290,$104291,$104292,$104293,$104294,$104295,$104296,$104297,$104298,$104299,$104300),(nextval($104301),$104302,$104303,$104304,$104305,$104306,$104307,$104308,$104309,$104310,$104311,$104312,$104313,$104314),(nextval($104315),$104316,$104317,$104318,$104319,$104320,$104321,$104322,$104323,$104324,$104325,$104326,$104327,$104328),(nextval($104329),$104330,$104331,$104332,$104333,$104334,$104335,$104336,$104337,$104338,$104339,$104340,$104341,$104342),(nextval($104343),$104344,$104345,$104346,$104347,$104348,$104349,$104350,$104351,$104352,$104353,$104354,$104355,$104356),(nextval($104357),$104358,$104359,$104360,$104361,$104362,$104363,$104364,$104365,$104366,$104367,$104368,$104369,$104370),(nextval($104371),$104372,$104373,$104374,$104375,$104376,$104377,$104378,$104379,$104380,$104381,$104382,$104383,$104384),(nextval($104385),$104386,$104387,$104388,$104389,$104390,$104391,$104392,$104393,$104394,$104395,$104396,$104397,$104398),(nextval($104399),$104400,$104401,$104402,$104403,$104404,$104405,$104406,$104407,$104408,$104409,$104410,$104411,$104412),(nextval($104413),$104414,$104415,$104416,$104417,$104418,$104419,$104420,$104421,$104422,$104423,$104424,$104425,$104426),(nextval($104427),$104428,$104429,$104430,$104431,$104432,$104433,$104434,$104435,$104436,$104437,$104438,$104439,$104440),(nextval($104441),$104442,$104443,$104444,$104445,$104446,$104447,$104448,$104449,$104450,$104451,$104452,$104453,$104454),(nextval($104455),$104456,$104457,$104458,$104459,$104460,$104461,$104462,$104463,$104464,$104465,$104466,$104467,$104468),(nextval($104469),$104470,$104471,$104472,$104473,$104474,$104475,$104476,$104477,$104478,$104479,$104480,$104481,$104482),(nextval($104483),$104484,$104485,$104486,$104487,$104488,$104489,$104490,$104491,$104492,$104493,$104494,$104495,$104496),(nextval($104497),$104498,$104499,$104500,$104501,$104502,$104503,$104504,$104505,$104506,$104507,$104508,$104509,$104510),(nextval($104511),$104512,$104513,$104514,$104515,$104516,$104517,$104518,$104519,$104520,$104521,$104522,$104523,$104524),(nextval($104525),$104526,$104527,$104528,$104529,$104530,$104531,$104532,$104533,$104534,$104535,$104536,$104537,$104538),(nextval($104539),$104540,$104541,$104542,$104543,$104544,$104545,$104546,$104547,$104548,$104549,$104550,$104551,$104552),(nextval($104553),$104554,$104555,$104556,$104557,$104558,$104559,$104560,$104561,$104562,$104563,$104564,$104565,$104566),(nextval($104567),$104568,$104569,$104570,$104571,$104572,$104573,$104574,$104575,$104576,$104577,$104578,$104579,$104580),(nextval($104581),$104582,$104583,$104584,$104585,$104586,$104587,$104588,$104589,$104590,$104591,$104592,$104593,$104594),(nextval($104595),$104596,$104597,$104598,$104599,$104600,$104601,$104602,$104603,$104604,$104605,$104606,$104607,$104608),(nextval($104609),$104610,$104611,$104612,$104613,$104614,$104615,$104616,$104617,$104618,$104619,$104620,$104621,$104622),(nextval($104623),$104624,$104625,$104626,$104627,$104628,$104629,$104630,$104631,$104632,$104633,$104634,$104635,$104636),(nextval($104637),$104638,$104639,$104640,$104641,$104642,$104643,$104644,$104645,$104646,$104647,$104648,$104649,$104650),(nextval($104651),$104652,$104653,$104654,$104655,$104656,$104657,$104658,$104659,$104660,$104661,$104662,$104663,$104664),(nextval($104665),$104666,$104667,$104668,$104669,$104670,$104671,$104672,$104673,$104674,$104675,$104676,$104677,$104678),(nextval($104679),$104680,$104681,$104682,$104683,$104684,$104685,$104686,$104687,$104688,$104689,$104690,$104691,$104692),(nextval($104693),$104694,$104695,$104696,$104697,$104698,$104699,$104700,$104701,$104702,$104703,$104704,$104705,$104706),(nextval($104707),$104708,$104709,$104710,$104711,$104712,$104713,$104714,$104715,$104716,$104717,$104718,$104719,$104720),(nextval($104721),$104722,$104723,$104724,$104725,$104726,$104727,$104728,$104729,$104730,$104731,$104732,$104733,$104734),(nextval($104735),$104736,$104737,$104738,$104739,$104740,$104741,$104742,$104743,$104744,$104745,$104746,$104747,$104748),(nextval($104749),$104750,$104751,$104752,$104753,$104754,$104755,$104756,$104757,$104758,$104759,$104760,$104761,$104762),(nextval($104763),$104764,$104765,$104766,$104767,$104768,$104769,$104770,$104771,$104772,$104773,$104774,$104775,$104776),(nextval($104777),$104778,$104779,$104780,$104781,$104782,$104783,$104784,$104785,$104786,$104787,$104788,$104789,$104790),(nextval($104791),$104792,$104793,$104794,$104795,$104796,$104797,$104798,$104799,$104800,$104801,$104802,$104803,$104804),(nextval($104805),$104806,$104807,$104808,$104809,$104810,$104811,$104812,$104813,$104814,$104815,$104816,$104817,$104818),(nextval($104819),$104820,$104821,$104822,$104823,$104824,$104825,$104826,$104827,$104828,$104829,$104830,$104831,$104832),(nextval($104833),$104834,$104835,$104836,$104837,$104838,$104839,$104840,$104841,$104842,$104843,$104844,$104845,$104846),(nextval($104847),$104848,$104849,$104850,$104851,$104852,$104853,$104854,$104855,$104856,$104857,$104858,$104859,$104860),(nextval($104861),$104862,$104863,$104864,$104865,$104866,$104867,$104868,$104869,$104870,$104871,$104872,$104873,$104874),(nextval($104875),$104876,$104877,$104878,$104879,$104880,$104881,$104882,$104883,$104884,$104885,$104886,$104887,$104888),(nextval($104889),$104890,$104891,$104892,$104893,$104894,$104895,$104896,$104897,$104898,$104899,$104900,$104901,$104902),(nextval($104903),$104904,$104905,$104906,$104907,$104908,$104909,$104910,$104911,$104912,$104913,$104914,$104915,$104916),(nextval($104917),$104918,$104919,$104920,$104921,$104922,$104923,$104924,$104925,$104926,$104927,$104928,$104929,$104930),(nextval($104931),$104932,$104933,$104934,$104935,$104936,$104937,$104938,$104939,$104940,$104941,$104942,$104943,$104944),(nextval($104945),$104946,$104947,$104948,$104949,$104950,$104951,$104952,$104953,$104954,$104955,$104956,$104957,$104958),(nextval($104959),$104960,$104961,$104962,$104963,$104964,$104965,$104966,$104967,$104968,$104969,$104970,$104971,$104972),(nextval($104973),$104974,$104975,$104976,$104977,$104978,$104979,$104980,$104981,$104982,$104983,$104984,$104985,$104986),(nextval($104987),$104988,$104989,$104990,$104991,$104992,$104993,$104994,$104995,$104996,$104997,$104998,$104999,$105000),(nextval($105001),$105002,$105003,$105004,$105005,$105006,$105007,$105008,$105009,$105010,$105011,$105012,$105013,$105014),(nextval($105015),$105016,$105017,$105018,$105019,$105020,$105021,$105022,$105023,$105024,$105025,$105026,$105027,$105028),(nextval($105029),$105030,$105031,$105032,$105033,$105034,$105035,$105036,$105037,$105038,$105039,$105040,$105041,$105042),(nextval($105043),$105044,$105045,$105046,$105047,$105048,$105049,$105050,$105051,$105052,$105053,$105054,$105055,$105056),(nextval($105057),$105058,$105059,$105060,$105061,$105062,$105063,$105064,$105065,$105066,$105067,$105068,$105069,$105070),(nextval($105071),$105072,$105073,$105074,$105075,$105076,$105077,$105078,$105079,$105080,$105081,$105082,$105083,$105084),(nextval($105085),$105086,$105087,$105088,$105089,$105090,$105091,$105092,$105093,$105094,$105095,$105096,$105097,$105098),(nextval($105099),$105100,$105101,$105102,$105103,$105104,$105105,$105106,$105107,$105108,$105109,$105110,$105111,$105112),(nextval($105113),$105114,$105115,$105116,$105117,$105118,$105119,$105120,$105121,$105122,$105123,$105124,$105125,$105126),(nextval($105127),$105128,$105129,$105130,$105131,$105132,$105133,$105134,$105135,$105136,$105137,$105138,$105139,$105140),(nextval($105141),$105142,$105143,$105144,$105145,$105146,$105147,$105148,$105149,$105150,$105151,$105152,$105153,$105154),(nextval($105155),$105156,$105157,$105158,$105159,$105160,$105161,$105162,$105163,$105164,$105165,$105166,$105167,$105168),(nextval($105169),$105170,$105171,$105172,$105173,$105174,$105175,$105176,$105177,$105178,$105179,$105180,$105181,$105182),(nextval($105183),$105184,$105185,$105186,$105187,$105188,$105189,$105190,$105191,$105192,$105193,$105194,$105195,$105196),(nextval($105197),$105198,$105199,$105200,$105201,$105202,$105203,$105204,$105205,$105206,$105207,$105208,$105209,$105210),(nextval($105211),$105212,$105213,$105214,$105215,$105216,$105217,$105218,$105219,$105220,$105221,$105222,$105223,$105224),(nextval($105225),$105226,$105227,$105228,$105229,$105230,$105231,$105232,$105233,$105234,$105235,$105236,$105237,$105238),(nextval($105239),$105240,$105241,$105242,$105243,$105244,$105245,$105246,$105247,$105248,$105249,$105250,$105251,$105252),(nextval($105253),$105254,$105255,$105256,$105257,$105258,$105259,$105260,$105261,$105262,$105263,$105264,$105265,$105266),(nextval($105267),$105268,$105269,$105270,$105271,$105272,$105273,$105274,$105275,$105276,$105277,$105278,$105279,$105280),(nextval($105281),$105282,$105283,$105284,$105285,$105286,$105287,$105288,$105289,$105290,$105291,$105292,$105293,$105294),(nextval($105295),$105296,$105297,$105298,$105299,$105300,$105301,$105302,$105303,$105304,$105305,$105306,$105307,$105308),(nextval($105309),$105310,$105311,$105312,$105313,$105314,$105315,$105316,$105317,$105318,$105319,$105320,$105321,$105322),(nextval($105323),$105324,$105325,$105326,$105327,$105328,$105329,$105330,$105331,$105332,$105333,$105334,$105335,$105336),(nextval($105337),$105338,$105339,$105340,$105341,$105342,$105343,$105344,$105345,$105346,$105347,$105348,$105349,$105350),(nextval($105351),$105352,$105353,$105354,$105355,$105356,$105357,$105358,$105359,$105360,$105361,$105362,$105363,$105364),(nextval($105365),$105366,$105367,$105368,$105369,$105370,$105371,$105372,$105373,$105374,$105375,$105376,$105377,$105378),(nextval($105379),$105380,$105381,$105382,$105383,$105384,$105385,$105386,$105387,$105388,$105389,$105390,$105391,$105392),(nextval($105393),$105394,$105395,$105396,$105397,$105398,$105399,$105400,$105401,$105402,$105403,$105404,$105405,$105406),(nextval($105407),$105408,$105409,$105410,$105411,$105412,$105413,$105414,$105415,$105416,$105417,$105418,$105419,$105420),(nextval($105421),$105422,$105423,$105424,$105425,$105426,$105427,$105428,$105429,$105430,$105431,$105432,$105433,$105434),(nextval($105435),$105436,$105437,$105438,$105439,$105440,$105441,$105442,$105443,$105444,$105445,$105446,$105447,$105448),(nextval($105449),$105450,$105451,$105452,$105453,$105454,$105455,$105456,$105457,$105458,$105459,$105460,$105461,$105462),(nextval($105463),$105464,$105465,$105466,$105467,$105468,$105469,$105470,$105471,$105472,$105473,$105474,$105475,$105476),(nextval($105477),$105478,$105479,$105480,$105481,$105482,$105483,$105484,$105485,$105486,$105487,$105488,$105489,$105490),(nextval($105491),$105492,$105493,$105494,$105495,$105496,$105497,$105498,$105499,$105500,$105501,$105502,$105503,$105504),(nextval($105505),$105506,$105507,$105508,$105509,$105510,$105511,$105512,$105513,$105514,$105515,$105516,$105517,$105518),(nextval($105519),$105520,$105521,$105522,$105523,$105524,$105525,$105526,$105527,$105528,$105529,$105530,$105531,$105532),(nextval($105533),$105534,$105535,$105536,$105537,$105538,$105539,$105540,$105541,$105542,$105543,$105544,$105545,$105546),(nextval($105547),$105548,$105549,$105550,$105551,$105552,$105553,$105554,$105555,$105556,$105557,$105558,$105559,$105560),(nextval($105561),$105562,$105563,$105564,$105565,$105566,$105567,$105568,$105569,$105570,$105571,$105572,$105573,$105574),(nextval($105575),$105576,$105577,$105578,$105579,$105580,$105581,$105582,$105583,$105584,$105585,$105586,$105587,$105588),(nextval($105589),$105590,$105591,$105592,$105593,$105594,$105595,$105596,$105597,$105598,$105599,$105600,$105601,$105602),(nextval($105603),$105604,$105605,$105606,$105607,$105608,$105609,$105610,$105611,$105612,$105613,$105614,$105615,$105616),(nextval($105617),$105618,$105619,$105620,$105621,$105622,$105623,$105624,$105625,$105626,$105627,$105628,$105629,$105630),(nextval($105631),$105632,$105633,$105634,$105635,$105636,$105637,$105638,$105639,$105640,$105641,$105642,$105643,$105644),(nextval($105645),$105646,$105647,$105648,$105649,$105650,$105651,$105652,$105653,$105654,$105655,$105656,$105657,$105658),(nextval($105659),$105660,$105661,$105662,$105663,$105664,$105665,$105666,$105667,$105668,$105669,$105670,$105671,$105672),(nextval($105673),$105674,$105675,$105676,$105677,$105678,$105679,$105680,$105681,$105682,$105683,$105684,$105685,$105686),(nextval($105687),$105688,$105689,$105690,$105691,$105692,$105693,$105694,$105695,$105696,$105697,$105698,$105699,$105700),(nextval($105701),$105702,$105703,$105704,$105705,$105706,$105707,$105708,$105709,$105710,$105711,$105712,$105713,$105714),(nextval($105715),$105716,$105717,$105718,$105719,$105720,$105721,$105722,$105723,$105724,$105725,$105726,$105727,$105728),(nextval($105729),$105730,$105731,$105732,$105733,$105734,$105735,$105736,$105737,$105738,$105739,$105740,$105741,$105742),(nextval($105743),$105744,$105745,$105746,$105747,$105748,$105749,$105750,$105751,$105752,$105753,$105754,$105755,$105756),(nextval($105757),$105758,$105759,$105760,$105761,$105762,$105763,$105764,$105765,$105766,$105767,$105768,$105769,$105770),(nextval($105771),$105772,$105773,$105774,$105775,$105776,$105777,$105778,$105779,$105780,$105781,$105782,$105783,$105784),(nextval($105785),$105786,$105787,$105788,$105789,$105790,$105791,$105792,$105793,$105794,$105795,$105796,$105797,$105798),(nextval($105799),$105800,$105801,$105802,$105803,$105804,$105805,$105806,$105807,$105808,$105809,$105810,$105811,$105812),(nextval($105813),$105814,$105815,$105816,$105817,$105818,$105819,$105820,$105821,$105822,$105823,$105824,$105825,$105826),(nextval($105827),$105828,$105829,$105830,$105831,$105832,$105833,$105834,$105835,$105836,$105837,$105838,$105839,$105840),(nextval($105841),$105842,$105843,$105844,$105845,$105846,$105847,$105848,$105849,$105850,$105851,$105852,$105853,$105854),(nextval($105855),$105856,$105857,$105858,$105859,$105860,$105861,$105862,$105863,$105864,$105865,$105866,$105867,$105868),(nextval($105869),$105870,$105871,$105872,$105873,$105874,$105875,$105876,$105877,$105878,$105879,$105880,$105881,$105882),(nextval($105883),$105884,$105885,$105886,$105887,$105888,$105889,$105890,$105891,$105892,$105893,$105894,$105895,$105896),(nextval($105897),$105898,$105899,$105900,$105901,$105902,$105903,$105904,$105905,$105906,$105907,$105908,$105909,$105910),(nextval($105911),$105912,$105913,$105914,$105915,$105916,$105917,$105918,$105919,$105920,$105921,$105922,$105923,$105924),(nextval($105925),$105926,$105927,$105928,$105929,$105930,$105931,$105932,$105933,$105934,$105935,$105936,$105937,$105938),(nextval($105939),$105940,$105941,$105942,$105943,$105944,$105945,$105946,$105947,$105948,$105949,$105950,$105951,$105952),(nextval($105953),$105954,$105955,$105956,$105957,$105958,$105959,$105960,$105961,$105962,$105963,$105964,$105965,$105966),(nextval($105967),$105968,$105969,$105970,$105971,$105972,$105973,$105974,$105975,$105976,$105977,$105978,$105979,$105980),(nextval($105981),$105982,$105983,$105984,$105985,$105986,$105987,$105988,$105989,$105990,$105991,$105992,$105993,$105994),(nextval($105995),$105996,$105997,$105998,$105999,$106000,$106001,$106002,$106003,$106004,$106005,$106006,$106007,$106008),(nextval($106009),$106010,$106011,$106012,$106013,$106014,$106015,$106016,$106017,$106018,$106019,$106020,$106021,$106022),(nextval($106023),$106024,$106025,$106026,$106027,$106028,$106029,$106030,$106031,$106032,$106033,$106034,$106035,$106036),(nextval($106037),$106038,$106039,$106040,$106041,$106042,$106043,$106044,$106045,$106046,$106047,$106048,$106049,$106050),(nextval($106051),$106052,$106053,$106054,$106055,$106056,$106057,$106058,$106059,$106060,$106061,$106062,$106063,$106064),(nextval($106065),$106066,$106067,$106068,$106069,$106070,$106071,$106072,$106073,$106074,$106075,$106076,$106077,$106078),(nextval($106079),$106080,$106081,$106082,$106083,$106084,$106085,$106086,$106087,$106088,$106089,$106090,$106091,$106092),(nextval($106093),$106094,$106095,$106096,$106097,$106098,$106099,$106100,$106101,$106102,$106103,$106104,$106105,$106106),(nextval($106107),$106108,$106109,$106110,$106111,$106112,$106113,$106114,$106115,$106116,$106117,$106118,$106119,$106120),(nextval($106121),$106122,$106123,$106124,$106125,$106126,$106127,$106128,$106129,$106130,$106131,$106132,$106133,$106134),(nextval($106135),$106136,$106137,$106138,$106139,$106140,$106141,$106142,$106143,$106144,$106145,$106146,$106147,$106148),(nextval($106149),$106150,$106151,$106152,$106153,$106154,$106155,$106156,$106157,$106158,$106159,$106160,$106161,$106162),(nextval($106163),$106164,$106165,$106166,$106167,$106168,$106169,$106170,$106171,$106172,$106173,$106174,$106175,$106176),(nextval($106177),$106178,$106179,$106180,$106181,$106182,$106183,$106184,$106185,$106186,$106187,$106188,$106189,$106190),(nextval($106191),$106192,$106193,$106194,$106195,$106196,$106197,$106198,$106199,$106200,$106201,$106202,$106203,$106204),(nextval($106205),$106206,$106207,$106208,$106209,$106210,$106211,$106212,$106213,$106214,$106215,$106216,$106217,$106218),(nextval($106219),$106220,$106221,$106222,$106223,$106224,$106225,$106226,$106227,$106228,$106229,$106230,$106231,$106232),(nextval($106233),$106234,$106235,$106236,$106237,$106238,$106239,$106240,$106241,$106242,$106243,$106244,$106245,$106246),(nextval($106247),$106248,$106249,$106250,$106251,$106252,$106253,$106254,$106255,$106256,$106257,$106258,$106259,$106260),(nextval($106261),$106262,$106263,$106264,$106265,$106266,$106267,$106268,$106269,$106270,$106271,$106272,$106273,$106274),(nextval($106275),$106276,$106277,$106278,$106279,$106280,$106281,$106282,$106283,$106284,$106285,$106286,$106287,$106288),(nextval($106289),$106290,$106291,$106292,$106293,$106294,$106295,$106296,$106297,$106298,$106299,$106300,$106301,$106302),(nextval($106303),$106304,$106305,$106306,$106307,$106308,$106309,$106310,$106311,$106312,$106313,$106314,$106315,$106316),(nextval($106317),$106318,$106319,$106320,$106321,$106322,$106323,$106324,$106325,$106326,$106327,$106328,$106329,$106330),(nextval($106331),$106332,$106333,$106334,$106335,$106336,$106337,$106338,$106339,$106340,$106341,$106342,$106343,$106344),(nextval($106345),$106346,$106347,$106348,$106349,$106350,$106351,$106352,$106353,$106354,$106355,$106356,$106357,$106358),(nextval($106359),$106360,$106361,$106362,$106363,$106364,$106365,$106366,$106367,$106368,$106369,$106370,$106371,$106372),(nextval($106373),$106374,$106375,$106376,$106377,$106378,$106379,$106380,$106381,$106382,$106383,$106384,$106385,$106386),(nextval($106387),$106388,$106389,$106390,$106391,$106392,$106393,$106394,$106395,$106396,$106397,$106398,$106399,$106400),(nextval($106401),$106402,$106403,$106404,$106405,$106406,$106407,$106408,$106409,$106410,$106411,$106412,$106413,$106414),(nextval($106415),$106416,$106417,$106418,$106419,$106420,$106421,$106422,$106423,$106424,$106425,$106426,$106427,$106428),(nextval($106429),$106430,$106431,$106432,$106433,$106434,$106435,$106436,$106437,$106438,$106439,$106440,$106441,$106442),(nextval($106443),$106444,$106445,$106446,$106447,$106448,$106449,$106450,$106451,$106452,$106453,$106454,$106455,$106456),(nextval($106457),$106458,$106459,$106460,$106461,$106462,$106463,$106464,$106465,$106466,$106467,$106468,$106469,$106470),(nextval($106471),$106472,$106473,$106474,$106475,$106476,$106477,$106478,$106479,$106480,$106481,$106482,$106483,$106484),(nextval($106485),$106486,$106487,$106488,$106489,$106490,$106491,$106492,$106493,$106494,$106495,$106496,$106497,$106498),(nextval($106499),$106500,$106501,$106502,$106503,$106504,$106505,$106506,$106507,$106508,$106509,$106510,$106511,$106512),(nextval($106513),$106514,$106515,$106516,$106517,$106518,$106519,$106520,$106521,$106522,$106523,$106524,$106525,$106526),(nextval($106527),$106528,$106529,$106530,$106531,$106532,$106533,$106534,$106535,$106536,$106537,$106538,$106539,$106540),(nextval($106541),$106542,$106543,$106544,$106545,$106546,$106547,$106548,$106549,$106550,$106551,$106552,$106553,$106554),(nextval($106555),$106556,$106557,$106558,$106559,$106560,$106561,$106562,$106563,$106564,$106565,$106566,$106567,$106568),(nextval($106569),$106570,$106571,$106572,$106573,$106574,$106575,$106576,$106577,$106578,$106579,$106580,$106581,$106582),(nextval($106583),$106584,$106585,$106586,$106587,$106588,$106589,$106590,$106591,$106592,$106593,$106594,$106595,$106596),(nextval($106597),$106598,$106599,$106600,$106601,$106602,$106603,$106604,$106605,$106606,$106607,$106608,$106609,$106610),(nextval($106611),$106612,$106613,$106614,$106615,$106616,$106617,$106618,$106619,$106620,$106621,$106622,$106623,$106624),(nextval($106625),$106626,$106627,$106628,$106629,$106630,$106631,$106632,$106633,$106634,$106635,$106636,$106637,$106638),(nextval($106639),$106640,$106641,$106642,$106643,$106644,$106645,$106646,$106647,$106648,$106649,$106650,$106651,$106652),(nextval($106653),$106654,$106655,$106656,$106657,$106658,$106659,$106660,$106661,$106662,$106663,$106664,$106665,$106666),(nextval($106667),$106668,$106669,$106670,$106671,$106672,$106673,$106674,$106675,$106676,$106677,$106678,$106679,$106680),(nextval($106681),$106682,$106683,$106684,$106685,$106686,$106687,$106688,$106689,$106690,$106691,$106692,$106693,$106694),(nextval($106695),$106696,$106697,$106698,$106699,$106700,$106701,$106702,$106703,$106704,$106705,$106706,$106707,$106708),(nextval($106709),$106710,$106711,$106712,$106713,$106714,$106715,$106716,$106717,$106718,$106719,$106720,$106721,$106722),(nextval($106723),$106724,$106725,$106726,$106727,$106728,$106729,$106730,$106731,$106732,$106733,$106734,$106735,$106736),(nextval($106737),$106738,$106739,$106740,$106741,$106742,$106743,$106744,$106745,$106746,$106747,$106748,$106749,$106750),(nextval($106751),$106752,$106753,$106754,$106755,$106756,$106757,$106758,$106759,$106760,$106761,$106762,$106763,$106764),(nextval($106765),$106766,$106767,$106768,$106769,$106770,$106771,$106772,$106773,$106774,$106775,$106776,$106777,$106778),(nextval($106779),$106780,$106781,$106782,$106783,$106784,$106785,$106786,$106787,$106788,$106789,$106790,$106791,$106792),(nextval($106793),$106794,$106795,$106796,$106797,$106798,$106799,$106800,$106801,$106802,$106803,$106804,$106805,$106806),(nextval($106807),$106808,$106809,$106810,$106811,$106812,$106813,$106814,$106815,$106816,$106817,$106818,$106819,$106820),(nextval($106821),$106822,$106823,$106824,$106825,$106826,$106827,$106828,$106829,$106830,$106831,$106832,$106833,$106834),(nextval($106835),$106836,$106837,$106838,$106839,$106840,$106841,$106842,$106843,$106844,$106845,$106846,$106847,$106848),(nextval($106849),$106850,$106851,$106852,$106853,$106854,$106855,$106856,$106857,$106858,$106859,$106860,$106861,$106862),(nextval($106863),$106864,$106865,$106866,$106867,$106868,$106869,$106870,$106871,$106872,$106873,$106874,$106875,$106876),(nextval($106877),$106878,$106879,$106880,$106881,$106882,$106883,$106884,$106885,$106886,$106887,$106888,$106889,$106890),(nextval($106891),$106892,$106893,$106894,$106895,$106896,$106897,$106898,$106899,$106900,$106901,$106902,$106903,$106904),(nextval($106905),$106906,$106907,$106908,$106909,$106910,$106911,$106912,$106913,$106914,$106915,$106916,$106917,$106918),(nextval($106919),$106920,$106921,$106922,$106923,$106924,$106925,$106926,$106927,$106928,$106929,$106930,$106931,$106932),(nextval($106933),$106934,$106935,$106936,$106937,$106938,$106939,$106940,$106941,$106942,$106943,$106944,$106945,$106946),(nextval($106947),$106948,$106949,$106950,$106951,$106952,$106953,$106954,$106955,$106956,$106957,$106958,$106959,$106960),(nextval($106961),$106962,$106963,$106964,$106965,$106966,$106967,$106968,$106969,$106970,$106971,$106972,$106973,$106974),(nextval($106975),$106976,$106977,$106978,$106979,$106980,$106981,$106982,$106983,$106984,$106985,$106986,$106987,$106988),(nextval($106989),$106990,$106991,$106992,$106993,$106994,$106995,$106996,$106997,$106998,$106999,$107000,$107001,$107002),(nextval($107003),$107004,$107005,$107006,$107007,$107008,$107009,$107010,$107011,$107012,$107013,$107014,$107015,$107016),(nextval($107017),$107018,$107019,$107020,$107021,$107022,$107023,$107024,$107025,$107026,$107027,$107028,$107029,$107030),(nextval($107031),$107032,$107033,$107034,$107035,$107036,$107037,$107038,$107039,$107040,$107041,$107042,$107043,$107044),(nextval($107045),$107046,$107047,$107048,$107049,$107050,$107051,$107052,$107053,$107054,$107055,$107056,$107057,$107058),(nextval($107059),$107060,$107061,$107062,$107063,$107064,$107065,$107066,$107067,$107068,$107069,$107070,$107071,$107072),(nextval($107073),$107074,$107075,$107076,$107077,$107078,$107079,$107080,$107081,$107082,$107083,$107084,$107085,$107086),(nextval($107087),$107088,$107089,$107090,$107091,$107092,$107093,$107094,$107095,$107096,$107097,$107098,$107099,$107100),(nextval($107101),$107102,$107103,$107104,$107105,$107106,$107107,$107108,$107109,$107110,$107111,$107112,$107113,$107114),(nextval($107115),$107116,$107117,$107118,$107119,$107120,$107121,$107122,$107123,$107124,$107125,$107126,$107127,$107128),(nextval($107129),$107130,$107131,$107132,$107133,$107134,$107135,$107136,$107137,$107138,$107139,$107140,$107141,$107142),(nextval($107143),$107144,$107145,$107146,$107147,$107148,$107149,$107150,$107151,$107152,$107153,$107154,$107155,$107156),(nextval($107157),$107158,$107159,$107160,$107161,$107162,$107163,$107164,$107165,$107166,$107167,$107168,$107169,$107170),(nextval($107171),$107172,$107173,$107174,$107175,$107176,$107177,$107178,$107179,$107180,$107181,$107182,$107183,$107184),(nextval($107185),$107186,$107187,$107188,$107189,$107190,$107191,$107192,$107193,$107194,$107195,$107196,$107197,$107198),(nextval($107199),$107200,$107201,$107202,$107203,$107204,$107205,$107206,$107207,$107208,$107209,$107210,$107211,$107212),(nextval($107213),$107214,$107215,$107216,$107217,$107218,$107219,$107220,$107221,$107222,$107223,$107224,$107225,$107226),(nextval($107227),$107228,$107229,$107230,$107231,$107232,$107233,$107234,$107235,$107236,$107237,$107238,$107239,$107240),(nextval($107241),$107242,$107243,$107244,$107245,$107246,$107247,$107248,$107249,$107250,$107251,$107252,$107253,$107254),(nextval($107255),$107256,$107257,$107258,$107259,$107260,$107261,$107262,$107263,$107264,$107265,$107266,$107267,$107268),(nextval($107269),$107270,$107271,$107272,$107273,$107274,$107275,$107276,$107277,$107278,$107279,$107280,$107281,$107282),(nextval($107283),$107284,$107285,$107286,$107287,$107288,$107289,$107290,$107291,$107292,$107293,$107294,$107295,$107296),(nextval($107297),$107298,$107299,$107300,$107301,$107302,$107303,$107304,$107305,$107306,$107307,$107308,$107309,$107310),(nextval($107311),$107312,$107313,$107314,$107315,$107316,$107317,$107318,$107319,$107320,$107321,$107322,$107323,$107324),(nextval($107325),$107326,$107327,$107328,$107329,$107330,$107331,$107332,$107333,$107334,$107335,$107336,$107337,$107338),(nextval($107339),$107340,$107341,$107342,$107343,$107344,$107345,$107346,$107347,$107348,$107349,$107350,$107351,$107352),(nextval($107353),$107354,$107355,$107356,$107357,$107358,$107359,$107360,$107361,$107362,$107363,$107364,$107365,$107366),(nextval($107367),$107368,$107369,$107370,$107371,$107372,$107373,$107374,$107375,$107376,$107377,$107378,$107379,$107380),(nextval($107381),$107382,$107383,$107384,$107385,$107386,$107387,$107388,$107389,$107390,$107391,$107392,$107393,$107394),(nextval($107395),$107396,$107397,$107398,$107399,$107400,$107401,$107402,$107403,$107404,$107405,$107406,$107407,$107408),(nextval($107409),$107410,$107411,$107412,$107413,$107414,$107415,$107416,$107417,$107418,$107419,$107420,$107421,$107422),(nextval($107423),$107424,$107425,$107426,$107427,$107428,$107429,$107430,$107431,$107432,$107433,$107434,$107435,$107436),(nextval($107437),$107438,$107439,$107440,$107441,$107442,$107443,$107444,$107445,$107446,$107447,$107448,$107449,$107450),(nextval($107451),$107452,$107453,$107454,$107455,$107456,$107457,$107458,$107459,$107460,$107461,$107462,$107463,$107464),(nextval($107465),$107466,$107467,$107468,$107469,$107470,$107471,$107472,$107473,$107474,$107475,$107476,$107477,$107478),(nextval($107479),$107480,$107481,$107482,$107483,$107484,$107485,$107486,$107487,$107488,$107489,$107490,$107491,$107492),(nextval($107493),$107494,$107495,$107496,$107497,$107498,$107499,$107500,$107501,$107502,$107503,$107504,$107505,$107506),(nextval($107507),$107508,$107509,$107510,$107511,$107512,$107513,$107514,$107515,$107516,$107517,$107518,$107519,$107520),(nextval($107521),$107522,$107523,$107524,$107525,$107526,$107527,$107528,$107529,$107530,$107531,$107532,$107533,$107534),(nextval($107535),$107536,$107537,$107538,$107539,$107540,$107541,$107542,$107543,$107544,$107545,$107546,$107547,$107548),(nextval($107549),$107550,$107551,$107552,$107553,$107554,$107555,$107556,$107557,$107558,$107559,$107560,$107561,$107562),(nextval($107563),$107564,$107565,$107566,$107567,$107568,$107569,$107570,$107571,$107572,$107573,$107574,$107575,$107576),(nextval($107577),$107578,$107579,$107580,$107581,$107582,$107583,$107584,$107585,$107586,$107587,$107588,$107589,$107590),(nextval($107591),$107592,$107593,$107594,$107595,$107596,$107597,$107598,$107599,$107600,$107601,$107602,$107603,$107604),(nextval($107605),$107606,$107607,$107608,$107609,$107610,$107611,$107612,$107613,$107614,$107615,$107616,$107617,$107618),(nextval($107619),$107620,$107621,$107622,$107623,$107624,$107625,$107626,$107627,$107628,$107629,$107630,$107631,$107632),(nextval($107633),$107634,$107635,$107636,$107637,$107638,$107639,$107640,$107641,$107642,$107643,$107644,$107645,$107646),(nextval($107647),$107648,$107649,$107650,$107651,$107652,$107653,$107654,$107655,$107656,$107657,$107658,$107659,$107660),(nextval($107661),$107662,$107663,$107664,$107665,$107666,$107667,$107668,$107669,$107670,$107671,$107672,$107673,$107674),(nextval($107675),$107676,$107677,$107678,$107679,$107680,$107681,$107682,$107683,$107684,$107685,$107686,$107687,$107688),(nextval($107689),$107690,$107691,$107692,$107693,$107694,$107695,$107696,$107697,$107698,$107699,$107700,$107701,$107702),(nextval($107703),$107704,$107705,$107706,$107707,$107708,$107709,$107710,$107711,$107712,$107713,$107714,$107715,$107716),(nextval($107717),$107718,$107719,$107720,$107721,$107722,$107723,$107724,$107725,$107726,$107727,$107728,$107729,$107730),(nextval($107731),$107732,$107733,$107734,$107735,$107736,$107737,$107738,$107739,$107740,$107741,$107742,$107743,$107744),(nextval($107745),$107746,$107747,$107748,$107749,$107750,$107751,$107752,$107753,$107754,$107755,$107756,$107757,$107758),(nextval($107759),$107760,$107761,$107762,$107763,$107764,$107765,$107766,$107767,$107768,$107769,$107770,$107771,$107772),(nextval($107773),$107774,$107775,$107776,$107777,$107778,$107779,$107780,$107781,$107782,$107783,$107784,$107785,$107786),(nextval($107787),$107788,$107789,$107790,$107791,$107792,$107793,$107794,$107795,$107796,$107797,$107798,$107799,$107800),(nextval($107801),$107802,$107803,$107804,$107805,$107806,$107807,$107808,$107809,$107810,$107811,$107812,$107813,$107814),(nextval($107815),$107816,$107817,$107818,$107819,$107820,$107821,$107822,$107823,$107824,$107825,$107826,$107827,$107828),(nextval($107829),$107830,$107831,$107832,$107833,$107834,$107835,$107836,$107837,$107838,$107839,$107840,$107841,$107842),(nextval($107843),$107844,$107845,$107846,$107847,$107848,$107849,$107850,$107851,$107852,$107853,$107854,$107855,$107856),(nextval($107857),$107858,$107859,$107860,$107861,$107862,$107863,$107864,$107865,$107866,$107867,$107868,$107869,$107870),(nextval($107871),$107872,$107873,$107874,$107875,$107876,$107877,$107878,$107879,$107880,$107881,$107882,$107883,$107884),(nextval($107885),$107886,$107887,$107888,$107889,$107890,$107891,$107892,$107893,$107894,$107895,$107896,$107897,$107898),(nextval($107899),$107900,$107901,$107902,$107903,$107904,$107905,$107906,$107907,$107908,$107909,$107910,$107911,$107912),(nextval($107913),$107914,$107915,$107916,$107917,$107918,$107919,$107920,$107921,$107922,$107923,$107924,$107925,$107926),(nextval($107927),$107928,$107929,$107930,$107931,$107932,$107933,$107934,$107935,$107936,$107937,$107938,$107939,$107940),(nextval($107941),$107942,$107943,$107944,$107945,$107946,$107947,$107948,$107949,$107950,$107951,$107952,$107953,$107954),(nextval($107955),$107956,$107957,$107958,$107959,$107960,$107961,$107962,$107963,$107964,$107965,$107966,$107967,$107968),(nextval($107969),$107970,$107971,$107972,$107973,$107974,$107975,$107976,$107977,$107978,$107979,$107980,$107981,$107982),(nextval($107983),$107984,$107985,$107986,$107987,$107988,$107989,$107990,$107991,$107992,$107993,$107994,$107995,$107996),(nextval($107997),$107998,$107999,$108000,$108001,$108002,$108003,$108004,$108005,$108006,$108007,$108008,$108009,$108010),(nextval($108011),$108012,$108013,$108014,$108015,$108016,$108017,$108018,$108019,$108020,$108021,$108022,$108023,$108024),(nextval($108025),$108026,$108027,$108028,$108029,$108030,$108031,$108032,$108033,$108034,$108035,$108036,$108037,$108038),(nextval($108039),$108040,$108041,$108042,$108043,$108044,$108045,$108046,$108047,$108048,$108049,$108050,$108051,$108052),(nextval($108053),$108054,$108055,$108056,$108057,$108058,$108059,$108060,$108061,$108062,$108063,$108064,$108065,$108066),(nextval($108067),$108068,$108069,$108070,$108071,$108072,$108073,$108074,$108075,$108076,$108077,$108078,$108079,$108080),(nextval($108081),$108082,$108083,$108084,$108085,$108086,$108087,$108088,$108089,$108090,$108091,$108092,$108093,$108094),(nextval($108095),$108096,$108097,$108098,$108099,$108100,$108101,$108102,$108103,$108104,$108105,$108106,$108107,$108108),(nextval($108109),$108110,$108111,$108112,$108113,$108114,$108115,$108116,$108117,$108118,$108119,$108120,$108121,$108122),(nextval($108123),$108124,$108125,$108126,$108127,$108128,$108129,$108130,$108131,$108132,$108133,$108134,$108135,$108136),(nextval($108137),$108138,$108139,$108140,$108141,$108142,$108143,$108144,$108145,$108146,$108147,$108148,$108149,$108150),(nextval($108151),$108152,$108153,$108154,$108155,$108156,$108157,$108158,$108159,$108160,$108161,$108162,$108163,$108164),(nextval($108165),$108166,$108167,$108168,$108169,$108170,$108171,$108172,$108173,$108174,$108175,$108176,$108177,$108178),(nextval($108179),$108180,$108181,$108182,$108183,$108184,$108185,$108186,$108187,$108188,$108189,$108190,$108191,$108192),(nextval($108193),$108194,$108195,$108196,$108197,$108198,$108199,$108200,$108201,$108202,$108203,$108204,$108205,$108206),(nextval($108207),$108208,$108209,$108210,$108211,$108212,$108213,$108214,$108215,$108216,$108217,$108218,$108219,$108220),(nextval($108221),$108222,$108223,$108224,$108225,$108226,$108227,$108228,$108229,$108230,$108231,$108232,$108233,$108234),(nextval($108235),$108236,$108237,$108238,$108239,$108240,$108241,$108242,$108243,$108244,$108245,$108246,$108247,$108248),(nextval($108249),$108250,$108251,$108252,$108253,$108254,$108255,$108256,$108257,$108258,$108259,$108260,$108261,$108262),(nextval($108263),$108264,$108265,$108266,$108267,$108268,$108269,$108270,$108271,$108272,$108273,$108274,$108275,$108276),(nextval($108277),$108278,$108279,$108280,$108281,$108282,$108283,$108284,$108285,$108286,$108287,$108288,$108289,$108290),(nextval($108291),$108292,$108293,$108294,$108295,$108296,$108297,$108298,$108299,$108300,$108301,$108302,$108303,$108304),(nextval($108305),$108306,$108307,$108308,$108309,$108310,$108311,$108312,$108313,$108314,$108315,$108316,$108317,$108318),(nextval($108319),$108320,$108321,$108322,$108323,$108324,$108325,$108326,$108327,$108328,$108329,$108330,$108331,$108332),(nextval($108333),$108334,$108335,$108336,$108337,$108338,$108339,$108340,$108341,$108342,$108343,$108344,$108345,$108346),(nextval($108347),$108348,$108349,$108350,$108351,$108352,$108353,$108354,$108355,$108356,$108357,$108358,$108359,$108360),(nextval($108361),$108362,$108363,$108364,$108365,$108366,$108367,$108368,$108369,$108370,$108371,$108372,$108373,$108374),(nextval($108375),$108376,$108377,$108378,$108379,$108380,$108381,$108382,$108383,$108384,$108385,$108386,$108387,$108388),(nextval($108389),$108390,$108391,$108392,$108393,$108394,$108395,$108396,$108397,$108398,$108399,$108400,$108401,$108402),(nextval($108403),$108404,$108405,$108406,$108407,$108408,$108409,$108410,$108411,$108412,$108413,$108414,$108415,$108416),(nextval($108417),$108418,$108419,$108420,$108421,$108422,$108423,$108424,$108425,$108426,$108427,$108428,$108429,$108430),(nextval($108431),$108432,$108433,$108434,$108435,$108436,$108437,$108438,$108439,$108440,$108441,$108442,$108443,$108444),(nextval($108445),$108446,$108447,$108448,$108449,$108450,$108451,$108452,$108453,$108454,$108455,$108456,$108457,$108458),(nextval($108459),$108460,$108461,$108462,$108463,$108464,$108465,$108466,$108467,$108468,$108469,$108470,$108471,$108472),(nextval($108473),$108474,$108475,$108476,$108477,$108478,$108479,$108480,$108481,$108482,$108483,$108484,$108485,$108486),(nextval($108487),$108488,$108489,$108490,$108491,$108492,$108493,$108494,$108495,$108496,$108497,$108498,$108499,$108500),(nextval($108501),$108502,$108503,$108504,$108505,$108506,$108507,$108508,$108509,$108510,$108511,$108512,$108513,$108514),(nextval($108515),$108516,$108517,$108518,$108519,$108520,$108521,$108522,$108523,$108524,$108525,$108526,$108527,$108528),(nextval($108529),$108530,$108531,$108532,$108533,$108534,$108535,$108536,$108537,$108538,$108539,$108540,$108541,$108542),(nextval($108543),$108544,$108545,$108546,$108547,$108548,$108549,$108550,$108551,$108552,$108553,$108554,$108555,$108556),(nextval($108557),$108558,$108559,$108560,$108561,$108562,$108563,$108564,$108565,$108566,$108567,$108568,$108569,$108570),(nextval($108571),$108572,$108573,$108574,$108575,$108576,$108577,$108578,$108579,$108580,$108581,$108582,$108583,$108584),(nextval($108585),$108586,$108587,$108588,$108589,$108590,$108591,$108592,$108593,$108594,$108595,$108596,$108597,$108598),(nextval($108599),$108600,$108601,$108602,$108603,$108604,$108605,$108606,$108607,$108608,$108609,$108610,$108611,$108612),(nextval($108613),$108614,$108615,$108616,$108617,$108618,$108619,$108620,$108621,$108622,$108623,$108624,$108625,$108626),(nextval($108627),$108628,$108629,$108630,$108631,$108632,$108633,$108634,$108635,$108636,$108637,$108638,$108639,$108640),(nextval($108641),$108642,$108643,$108644,$108645,$108646,$108647,$108648,$108649,$108650,$108651,$108652,$108653,$108654),(nextval($108655),$108656,$108657,$108658,$108659,$108660,$108661,$108662,$108663,$108664,$108665,$108666,$108667,$108668),(nextval($108669),$108670,$108671,$108672,$108673,$108674,$108675,$108676,$108677,$108678,$108679,$108680,$108681,$108682),(nextval($108683),$108684,$108685,$108686,$108687,$108688,$108689,$108690,$108691,$108692,$108693,$108694,$108695,$108696),(nextval($108697),$108698,$108699,$108700,$108701,$108702,$108703,$108704,$108705,$108706,$108707,$108708,$108709,$108710),(nextval($108711),$108712,$108713,$108714,$108715,$108716,$108717,$108718,$108719,$108720,$108721,$108722,$108723,$108724),(nextval($108725),$108726,$108727,$108728,$108729,$108730,$108731,$108732,$108733,$108734,$108735,$108736,$108737,$108738),(nextval($108739),$108740,$108741,$108742,$108743,$108744,$108745,$108746,$108747,$108748,$108749,$108750,$108751,$108752),(nextval($108753),$108754,$108755,$108756,$108757,$108758,$108759,$108760,$108761,$108762,$108763,$108764,$108765,$108766),(nextval($108767),$108768,$108769,$108770,$108771,$108772,$108773,$108774,$108775,$108776,$108777,$108778,$108779,$108780),(nextval($108781),$108782,$108783,$108784,$108785,$108786,$108787,$108788,$108789,$108790,$108791,$108792,$108793,$108794),(nextval($108795),$108796,$108797,$108798,$108799,$108800,$108801,$108802,$108803,$108804,$108805,$108806,$108807,$108808),(nextval($108809),$108810,$108811,$108812,$108813,$108814,$108815,$108816,$108817,$108818,$108819,$108820,$108821,$108822),(nextval($108823),$108824,$108825,$108826,$108827,$108828,$108829,$108830,$108831,$108832,$108833,$108834,$108835,$108836),(nextval($108837),$108838,$108839,$108840,$108841,$108842,$108843,$108844,$108845,$108846,$108847,$108848,$108849,$108850),(nextval($108851),$108852,$108853,$108854,$108855,$108856,$108857,$108858,$108859,$108860,$108861,$108862,$108863,$108864),(nextval($108865),$108866,$108867,$108868,$108869,$108870,$108871,$108872,$108873,$108874,$108875,$108876,$108877,$108878),(nextval($108879),$108880,$108881,$108882,$108883,$108884,$108885,$108886,$108887,$108888,$108889,$108890,$108891,$108892),(nextval($108893),$108894,$108895,$108896,$108897,$108898,$108899,$108900,$108901,$108902,$108903,$108904,$108905,$108906),(nextval($108907),$108908,$108909,$108910,$108911,$108912,$108913,$108914,$108915,$108916,$108917,$108918,$108919,$108920),(nextval($108921),$108922,$108923,$108924,$108925,$108926,$108927,$108928,$108929,$108930,$108931,$108932,$108933,$108934),(nextval($108935),$108936,$108937,$108938,$108939,$108940,$108941,$108942,$108943,$108944,$108945,$108946,$108947,$108948),(nextval($108949),$108950,$108951,$108952,$108953,$108954,$108955,$108956,$108957,$108958,$108959,$108960,$108961,$108962),(nextval($108963),$108964,$108965,$108966,$108967,$108968,$108969,$108970,$108971,$108972,$108973,$108974,$108975,$108976),(nextval($108977),$108978,$108979,$108980,$108981,$108982,$108983,$108984,$108985,$108986,$108987,$108988,$108989,$108990),(nextval($108991),$108992,$108993,$108994,$108995,$108996,$108997,$108998,$108999,$109000,$109001,$109002,$109003,$109004),(nextval($109005),$109006,$109007,$109008,$109009,$109010,$109011,$109012,$109013,$109014,$109015,$109016,$109017,$109018),(nextval($109019),$109020,$109021,$109022,$109023,$109024,$109025,$109026,$109027,$109028,$109029,$109030,$109031,$109032),(nextval($109033),$109034,$109035,$109036,$109037,$109038,$109039,$109040,$109041,$109042,$109043,$109044,$109045,$109046),(nextval($109047),$109048,$109049,$109050,$109051,$109052,$109053,$109054,$109055,$109056,$109057,$109058,$109059,$109060),(nextval($109061),$109062,$109063,$109064,$109065,$109066,$109067,$109068,$109069,$109070,$109071,$109072,$109073,$109074),(nextval($109075),$109076,$109077,$109078,$109079,$109080,$109081,$109082,$109083,$109084,$109085,$109086,$109087,$109088),(nextval($109089),$109090,$109091,$109092,$109093,$109094,$109095,$109096,$109097,$109098,$109099,$109100,$109101,$109102),(nextval($109103),$109104,$109105,$109106,$109107,$109108,$109109,$109110,$109111,$109112,$109113,$109114,$109115,$109116),(nextval($109117),$109118,$109119,$109120,$109121,$109122,$109123,$109124,$109125,$109126,$109127,$109128,$109129,$109130),(nextval($109131),$109132,$109133,$109134,$109135,$109136,$109137,$109138,$109139,$109140,$109141,$109142,$109143,$109144),(nextval($109145),$109146,$109147,$109148,$109149,$109150,$109151,$109152,$109153,$109154,$109155,$109156,$109157,$109158),(nextval($109159),$109160,$109161,$109162,$109163,$109164,$109165,$109166,$109167,$109168,$109169,$109170,$109171,$109172),(nextval($109173),$109174,$109175,$109176,$109177,$109178,$109179,$109180,$109181,$109182,$109183,$109184,$109185,$109186),(nextval($109187),$109188,$109189,$109190,$109191,$109192,$109193,$109194,$109195,$109196,$109197,$109198,$109199,$109200),(nextval($109201),$109202,$109203,$109204,$109205,$109206,$109207,$109208,$109209,$109210,$109211,$109212,$109213,$109214),(nextval($109215),$109216,$109217,$109218,$109219,$109220,$109221,$109222,$109223,$109224,$109225,$109226,$109227,$109228),(nextval($109229),$109230,$109231,$109232,$109233,$109234,$109235,$109236,$109237,$109238,$109239,$109240,$109241,$109242),(nextval($109243),$109244,$109245,$109246,$109247,$109248,$109249,$109250,$109251,$109252,$109253,$109254,$109255,$109256),(nextval($109257),$109258,$109259,$109260,$109261,$109262,$109263,$109264,$109265,$109266,$109267,$109268,$109269,$109270),(nextval($109271),$109272,$109273,$109274,$109275,$109276,$109277,$109278,$109279,$109280,$109281,$109282,$109283,$109284),(nextval($109285),$109286,$109287,$109288,$109289,$109290,$109291,$109292,$109293,$109294,$109295,$109296,$109297,$109298),(nextval($109299),$109300,$109301,$109302,$109303,$109304,$109305,$109306,$109307,$109308,$109309,$109310,$109311,$109312),(nextval($109313),$109314,$109315,$109316,$109317,$109318,$109319,$109320,$109321,$109322,$109323,$109324,$109325,$109326),(nextval($109327),$109328,$109329,$109330,$109331,$109332,$109333,$109334,$109335,$109336,$109337,$109338,$109339,$109340),(nextval($109341),$109342,$109343,$109344,$109345,$109346,$109347,$109348,$109349,$109350,$109351,$109352,$109353,$109354),(nextval($109355),$109356,$109357,$109358,$109359,$109360,$109361,$109362,$109363,$109364,$109365,$109366,$109367,$109368),(nextval($109369),$109370,$109371,$109372,$109373,$109374,$109375,$109376,$109377,$109378,$109379,$109380,$109381,$109382),(nextval($109383),$109384,$109385,$109386,$109387,$109388,$109389,$109390,$109391,$109392,$109393,$109394,$109395,$109396),(nextval($109397),$109398,$109399,$109400,$109401,$109402,$109403,$109404,$109405,$109406,$109407,$109408,$109409,$109410),(nextval($109411),$109412,$109413,$109414,$109415,$109416,$109417,$109418,$109419,$109420,$109421,$109422,$109423,$109424),(nextval($109425),$109426,$109427,$109428,$109429,$109430,$109431,$109432,$109433,$109434,$109435,$109436,$109437,$109438),(nextval($109439),$109440,$109441,$109442,$109443,$109444,$109445,$109446,$109447,$109448,$109449,$109450,$109451,$109452),(nextval($109453),$109454,$109455,$109456,$109457,$109458,$109459,$109460,$109461,$109462,$109463,$109464,$109465,$109466),(nextval($109467),$109468,$109469,$109470,$109471,$109472,$109473,$109474,$109475,$109476,$109477,$109478,$109479,$109480),(nextval($109481),$109482,$109483,$109484,$109485,$109486,$109487,$109488,$109489,$109490,$109491,$109492,$109493,$109494),(nextval($109495),$109496,$109497,$109498,$109499,$109500,$109501,$109502,$109503,$109504,$109505,$109506,$109507,$109508),(nextval($109509),$109510,$109511,$109512,$109513,$109514,$109515,$109516,$109517,$109518,$109519,$109520,$109521,$109522),(nextval($109523),$109524,$109525,$109526,$109527,$109528,$109529,$109530,$109531,$109532,$109533,$109534,$109535,$109536),(nextval($109537),$109538,$109539,$109540,$109541,$109542,$109543,$109544,$109545,$109546,$109547,$109548,$109549,$109550),(nextval($109551),$109552,$109553,$109554,$109555,$109556,$109557,$109558,$109559,$109560,$109561,$109562,$109563,$109564),(nextval($109565),$109566,$109567,$109568,$109569,$109570,$109571,$109572,$109573,$109574,$109575,$109576,$109577,$109578),(nextval($109579),$109580,$109581,$109582,$109583,$109584,$109585,$109586,$109587,$109588,$109589,$109590,$109591,$109592),(nextval($109593),$109594,$109595,$109596,$109597,$109598,$109599,$109600,$109601,$109602,$109603,$109604,$109605,$109606),(nextval($109607),$109608,$109609,$109610,$109611,$109612,$109613,$109614,$109615,$109616,$109617,$109618,$109619,$109620),(nextval($109621),$109622,$109623,$109624,$109625,$109626,$109627,$109628,$109629,$109630,$109631,$109632,$109633,$109634),(nextval($109635),$109636,$109637,$109638,$109639,$109640,$109641,$109642,$109643,$109644,$109645,$109646,$109647,$109648),(nextval($109649),$109650,$109651,$109652,$109653,$109654,$109655,$109656,$109657,$109658,$109659,$109660,$109661,$109662),(nextval($109663),$109664,$109665,$109666,$109667,$109668,$109669,$109670,$109671,$109672,$109673,$109674,$109675,$109676),(nextval($109677),$109678,$109679,$109680,$109681,$109682,$109683,$109684,$109685,$109686,$109687,$109688,$109689,$109690),(nextval($109691),$109692,$109693,$109694,$109695,$109696,$109697,$109698,$109699,$109700,$109701,$109702,$109703,$109704),(nextval($109705),$109706,$109707,$109708,$109709,$109710,$109711,$109712,$109713,$109714,$109715,$109716,$109717,$109718),(nextval($109719),$109720,$109721,$109722,$109723,$109724,$109725,$109726,$109727,$109728,$109729,$109730,$109731,$109732),(nextval($109733),$109734,$109735,$109736,$109737,$109738,$109739,$109740,$109741,$109742,$109743,$109744,$109745,$109746),(nextval($109747),$109748,$109749,$109750,$109751,$109752,$109753,$109754,$109755,$109756,$109757,$109758,$109759,$109760),(nextval($109761),$109762,$109763,$109764,$109765,$109766,$109767,$109768,$109769,$109770,$109771,$109772,$109773,$109774),(nextval($109775),$109776,$109777,$109778,$109779,$109780,$109781,$109782,$109783,$109784,$109785,$109786,$109787,$109788),(nextval($109789),$109790,$109791,$109792,$109793,$109794,$109795,$109796,$109797,$109798,$109799,$109800,$109801,$109802),(nextval($109803),$109804,$109805,$109806,$109807,$109808,$109809,$109810,$109811,$109812,$109813,$109814,$109815,$109816),(nextval($109817),$109818,$109819,$109820,$109821,$109822,$109823,$109824,$109825,$109826,$109827,$109828,$109829,$109830),(nextval($109831),$109832,$109833,$109834,$109835,$109836,$109837,$109838,$109839,$109840,$109841,$109842,$109843,$109844),(nextval($109845),$109846,$109847,$109848,$109849,$109850,$109851,$109852,$109853,$109854,$109855,$109856,$109857,$109858),(nextval($109859),$109860,$109861,$109862,$109863,$109864,$109865,$109866,$109867,$109868,$109869,$109870,$109871,$109872),(nextval($109873),$109874,$109875,$109876,$109877,$109878,$109879,$109880,$109881,$109882,$109883,$109884,$109885,$109886),(nextval($109887),$109888,$109889,$109890,$109891,$109892,$109893,$109894,$109895,$109896,$109897,$109898,$109899,$109900),(nextval($109901),$109902,$109903,$109904,$109905,$109906,$109907,$109908,$109909,$109910,$109911,$109912,$109913,$109914),(nextval($109915),$109916,$109917,$109918,$109919,$109920,$109921,$109922,$109923,$109924,$109925,$109926,$109927,$109928),(nextval($109929),$109930,$109931,$109932,$109933,$109934,$109935,$109936,$109937,$109938,$109939,$109940,$109941,$109942),(nextval($109943),$109944,$109945,$109946,$109947,$109948,$109949,$109950,$109951,$109952,$109953,$109954,$109955,$109956),(nextval($109957),$109958,$109959,$109960,$109961,$109962,$109963,$109964,$109965,$109966,$109967,$109968,$109969,$109970),(nextval($109971),$109972,$109973,$109974,$109975,$109976,$109977,$109978,$109979,$109980,$109981,$109982,$109983,$109984),(nextval($109985),$109986,$109987,$109988,$109989,$109990,$109991,$109992,$109993,$109994,$109995,$109996,$109997,$109998),(nextval($109999),$110000,$110001,$110002,$110003,$110004,$110005,$110006,$110007,$110008,$110009,$110010,$110011,$110012),(nextval($110013),$110014,$110015,$110016,$110017,$110018,$110019,$110020,$110021,$110022,$110023,$110024,$110025,$110026),(nextval($110027),$110028,$110029,$110030,$110031,$110032,$110033,$110034,$110035,$110036,$110037,$110038,$110039,$110040),(nextval($110041),$110042,$110043,$110044,$110045,$110046,$110047,$110048,$110049,$110050,$110051,$110052,$110053,$110054),(nextval($110055),$110056,$110057,$110058,$110059,$110060,$110061,$110062,$110063,$110064,$110065,$110066,$110067,$110068),(nextval($110069),$110070,$110071,$110072,$110073,$110074,$110075,$110076,$110077,$110078,$110079,$110080,$110081,$110082),(nextval($110083),$110084,$110085,$110086,$110087,$110088,$110089,$110090,$110091,$110092,$110093,$110094,$110095,$110096),(nextval($110097),$110098,$110099,$110100,$110101,$110102,$110103,$110104,$110105,$110106,$110107,$110108,$110109,$110110),(nextval($110111),$110112,$110113,$110114,$110115,$110116,$110117,$110118,$110119,$110120,$110121,$110122,$110123,$110124),(nextval($110125),$110126,$110127,$110128,$110129,$110130,$110131,$110132,$110133,$110134,$110135,$110136,$110137,$110138),(nextval($110139),$110140,$110141,$110142,$110143,$110144,$110145,$110146,$110147,$110148,$110149,$110150,$110151,$110152),(nextval($110153),$110154,$110155,$110156,$110157,$110158,$110159,$110160,$110161,$110162,$110163,$110164,$110165,$110166),(nextval($110167),$110168,$110169,$110170,$110171,$110172,$110173,$110174,$110175,$110176,$110177,$110178,$110179,$110180),(nextval($110181),$110182,$110183,$110184,$110185,$110186,$110187,$110188,$110189,$110190,$110191,$110192,$110193,$110194),(nextval($110195),$110196,$110197,$110198,$110199,$110200,$110201,$110202,$110203,$110204,$110205,$110206,$110207,$110208),(nextval($110209),$110210,$110211,$110212,$110213,$110214,$110215,$110216,$110217,$110218,$110219,$110220,$110221,$110222),(nextval($110223),$110224,$110225,$110226,$110227,$110228,$110229,$110230,$110231,$110232,$110233,$110234,$110235,$110236),(nextval($110237),$110238,$110239,$110240,$110241,$110242,$110243,$110244,$110245,$110246,$110247,$110248,$110249,$110250),(nextval($110251),$110252,$110253,$110254,$110255,$110256,$110257,$110258,$110259,$110260,$110261,$110262,$110263,$110264),(nextval($110265),$110266,$110267,$110268,$110269,$110270,$110271,$110272,$110273,$110274,$110275,$110276,$110277,$110278),(nextval($110279),$110280,$110281,$110282,$110283,$110284,$110285,$110286,$110287,$110288,$110289,$110290,$110291,$110292),(nextval($110293),$110294,$110295,$110296,$110297,$110298,$110299,$110300,$110301,$110302,$110303,$110304,$110305,$110306),(nextval($110307),$110308,$110309,$110310,$110311,$110312,$110313,$110314,$110315,$110316,$110317,$110318,$110319,$110320),(nextval($110321),$110322,$110323,$110324,$110325,$110326,$110327,$110328,$110329,$110330,$110331,$110332,$110333,$110334),(nextval($110335),$110336,$110337,$110338,$110339,$110340,$110341,$110342,$110343,$110344,$110345,$110346,$110347,$110348),(nextval($110349),$110350,$110351,$110352,$110353,$110354,$110355,$110356,$110357,$110358,$110359,$110360,$110361,$110362),(nextval($110363),$110364,$110365,$110366,$110367,$110368,$110369,$110370,$110371,$110372,$110373,$110374,$110375,$110376),(nextval($110377),$110378,$110379,$110380,$110381,$110382,$110383,$110384,$110385,$110386,$110387,$110388,$110389,$110390),(nextval($110391),$110392,$110393,$110394,$110395,$110396,$110397,$110398,$110399,$110400,$110401,$110402,$110403,$110404),(nextval($110405),$110406,$110407,$110408,$110409,$110410,$110411,$110412,$110413,$110414,$110415,$110416,$110417,$110418),(nextval($110419),$110420,$110421,$110422,$110423,$110424,$110425,$110426,$110427,$110428,$110429,$110430,$110431,$110432),(nextval($110433),$110434,$110435,$110436,$110437,$110438,$110439,$110440,$110441,$110442,$110443,$110444,$110445,$110446),(nextval($110447),$110448,$110449,$110450,$110451,$110452,$110453,$110454,$110455,$110456,$110457,$110458,$110459,$110460),(nextval($110461),$110462,$110463,$110464,$110465,$110466,$110467,$110468,$110469,$110470,$110471,$110472,$110473,$110474),(nextval($110475),$110476,$110477,$110478,$110479,$110480,$110481,$110482,$110483,$110484,$110485,$110486,$110487,$110488),(nextval($110489),$110490,$110491,$110492,$110493,$110494,$110495,$110496,$110497,$110498,$110499,$110500,$110501,$110502),(nextval($110503),$110504,$110505,$110506,$110507,$110508,$110509,$110510,$110511,$110512,$110513,$110514,$110515,$110516),(nextval($110517),$110518,$110519,$110520,$110521,$110522,$110523,$110524,$110525,$110526,$110527,$110528,$110529,$110530),(nextval($110531),$110532,$110533,$110534,$110535,$110536,$110537,$110538,$110539,$110540,$110541,$110542,$110543,$110544),(nextval($110545),$110546,$110547,$110548,$110549,$110550,$110551,$110552,$110553,$110554,$110555,$110556,$110557,$110558),(nextval($110559),$110560,$110561,$110562,$110563,$110564,$110565,$110566,$110567,$110568,$110569,$110570,$110571,$110572),(nextval($110573),$110574,$110575,$110576,$110577,$110578,$110579,$110580,$110581,$110582,$110583,$110584,$110585,$110586),(nextval($110587),$110588,$110589,$110590,$110591,$110592,$110593,$110594,$110595,$110596,$110597,$110598,$110599,$110600),(nextval($110601),$110602,$110603,$110604,$110605,$110606,$110607,$110608,$110609,$110610,$110611,$110612,$110613,$110614),(nextval($110615),$110616,$110617,$110618,$110619,$110620,$110621,$110622,$110623,$110624,$110625,$110626,$110627,$110628),(nextval($110629),$110630,$110631,$110632,$110633,$110634,$110635,$110636,$110637,$110638,$110639,$110640,$110641,$110642),(nextval($110643),$110644,$110645,$110646,$110647,$110648,$110649,$110650,$110651,$110652,$110653,$110654,$110655,$110656),(nextval($110657),$110658,$110659,$110660,$110661,$110662,$110663,$110664,$110665,$110666,$110667,$110668,$110669,$110670),(nextval($110671),$110672,$110673,$110674,$110675,$110676,$110677,$110678,$110679,$110680,$110681,$110682,$110683,$110684),(nextval($110685),$110686,$110687,$110688,$110689,$110690,$110691,$110692,$110693,$110694,$110695,$110696,$110697,$110698),(nextval($110699),$110700,$110701,$110702,$110703,$110704,$110705,$110706,$110707,$110708,$110709,$110710,$110711,$110712),(nextval($110713),$110714,$110715,$110716,$110717,$110718,$110719,$110720,$110721,$110722,$110723,$110724,$110725,$110726),(nextval($110727),$110728,$110729,$110730,$110731,$110732,$110733,$110734,$110735,$110736,$110737,$110738,$110739,$110740),(nextval($110741),$110742,$110743,$110744,$110745,$110746,$110747,$110748,$110749,$110750,$110751,$110752,$110753,$110754),(nextval($110755),$110756,$110757,$110758,$110759,$110760,$110761,$110762,$110763,$110764,$110765,$110766,$110767,$110768),(nextval($110769),$110770,$110771,$110772,$110773,$110774,$110775,$110776,$110777,$110778,$110779,$110780,$110781,$110782),(nextval($110783),$110784,$110785,$110786,$110787,$110788,$110789,$110790,$110791,$110792,$110793,$110794,$110795,$110796),(nextval($110797),$110798,$110799,$110800,$110801,$110802,$110803,$110804,$110805,$110806,$110807,$110808,$110809,$110810),(nextval($110811),$110812,$110813,$110814,$110815,$110816,$110817,$110818,$110819,$110820,$110821,$110822,$110823,$110824),(nextval($110825),$110826,$110827,$110828,$110829,$110830,$110831,$110832,$110833,$110834,$110835,$110836,$110837,$110838),(nextval($110839),$110840,$110841,$110842,$110843,$110844,$110845,$110846,$110847,$110848,$110849,$110850,$110851,$110852),(nextval($110853),$110854,$110855,$110856,$110857,$110858,$110859,$110860,$110861,$110862,$110863,$110864,$110865,$110866),(nextval($110867),$110868,$110869,$110870,$110871,$110872,$110873,$110874,$110875,$110876,$110877,$110878,$110879,$110880),(nextval($110881),$110882,$110883,$110884,$110885,$110886,$110887,$110888,$110889,$110890,$110891,$110892,$110893,$110894),(nextval($110895),$110896,$110897,$110898,$110899,$110900,$110901,$110902,$110903,$110904,$110905,$110906,$110907,$110908),(nextval($110909),$110910,$110911,$110912,$110913,$110914,$110915,$110916,$110917,$110918,$110919,$110920,$110921,$110922),(nextval($110923),$110924,$110925,$110926,$110927,$110928,$110929,$110930,$110931,$110932,$110933,$110934,$110935,$110936),(nextval($110937),$110938,$110939,$110940,$110941,$110942,$110943,$110944,$110945,$110946,$110947,$110948,$110949,$110950),(nextval($110951),$110952,$110953,$110954,$110955,$110956,$110957,$110958,$110959,$110960,$110961,$110962,$110963,$110964),(nextval($110965),$110966,$110967,$110968,$110969,$110970,$110971,$110972,$110973,$110974,$110975,$110976,$110977,$110978),(nextval($110979),$110980,$110981,$110982,$110983,$110984,$110985,$110986,$110987,$110988,$110989,$110990,$110991,$110992),(nextval($110993),$110994,$110995,$110996,$110997,$110998,$110999,$111000,$111001,$111002,$111003,$111004,$111005,$111006),(nextval($111007),$111008,$111009,$111010,$111011,$111012,$111013,$111014,$111015,$111016,$111017,$111018,$111019,$111020),(nextval($111021),$111022,$111023,$111024,$111025,$111026,$111027,$111028,$111029,$111030,$111031,$111032,$111033,$111034),(nextval($111035),$111036,$111037,$111038,$111039,$111040,$111041,$111042,$111043,$111044,$111045,$111046,$111047,$111048),(nextval($111049),$111050,$111051,$111052,$111053,$111054,$111055,$111056,$111057,$111058,$111059,$111060,$111061,$111062),(nextval($111063),$111064,$111065,$111066,$111067,$111068,$111069,$111070,$111071,$111072,$111073,$111074,$111075,$111076),(nextval($111077),$111078,$111079,$111080,$111081,$111082,$111083,$111084,$111085,$111086,$111087,$111088,$111089,$111090),(nextval($111091),$111092,$111093,$111094,$111095,$111096,$111097,$111098,$111099,$111100,$111101,$111102,$111103,$111104),(nextval($111105),$111106,$111107,$111108,$111109,$111110,$111111,$111112,$111113,$111114,$111115,$111116,$111117,$111118),(nextval($111119),$111120,$111121,$111122,$111123,$111124,$111125,$111126,$111127,$111128,$111129,$111130,$111131,$111132),(nextval($111133),$111134,$111135,$111136,$111137,$111138,$111139,$111140,$111141,$111142,$111143,$111144,$111145,$111146),(nextval($111147),$111148,$111149,$111150,$111151,$111152,$111153,$111154,$111155,$111156,$111157,$111158,$111159,$111160),(nextval($111161),$111162,$111163,$111164,$111165,$111166,$111167,$111168,$111169,$111170,$111171,$111172,$111173,$111174),(nextval($111175),$111176,$111177,$111178,$111179,$111180,$111181,$111182,$111183,$111184,$111185,$111186,$111187,$111188),(nextval($111189),$111190,$111191,$111192,$111193,$111194,$111195,$111196,$111197,$111198,$111199,$111200,$111201,$111202),(nextval($111203),$111204,$111205,$111206,$111207,$111208,$111209,$111210,$111211,$111212,$111213,$111214,$111215,$111216),(nextval($111217),$111218,$111219,$111220,$111221,$111222,$111223,$111224,$111225,$111226,$111227,$111228,$111229,$111230),(nextval($111231),$111232,$111233,$111234,$111235,$111236,$111237,$111238,$111239,$111240,$111241,$111242,$111243,$111244),(nextval($111245),$111246,$111247,$111248,$111249,$111250,$111251,$111252,$111253,$111254,$111255,$111256,$111257,$111258),(nextval($111259),$111260,$111261,$111262,$111263,$111264,$111265,$111266,$111267,$111268,$111269,$111270,$111271,$111272),(nextval($111273),$111274,$111275,$111276,$111277,$111278,$111279,$111280,$111281,$111282,$111283,$111284,$111285,$111286),(nextval($111287),$111288,$111289,$111290,$111291,$111292,$111293,$111294,$111295,$111296,$111297,$111298,$111299,$111300),(nextval($111301),$111302,$111303,$111304,$111305,$111306,$111307,$111308,$111309,$111310,$111311,$111312,$111313,$111314),(nextval($111315),$111316,$111317,$111318,$111319,$111320,$111321,$111322,$111323,$111324,$111325,$111326,$111327,$111328),(nextval($111329),$111330,$111331,$111332,$111333,$111334,$111335,$111336,$111337,$111338,$111339,$111340,$111341,$111342),(nextval($111343),$111344,$111345,$111346,$111347,$111348,$111349,$111350,$111351,$111352,$111353,$111354,$111355,$111356),(nextval($111357),$111358,$111359,$111360,$111361,$111362,$111363,$111364,$111365,$111366,$111367,$111368,$111369,$111370),(nextval($111371),$111372,$111373,$111374,$111375,$111376,$111377,$111378,$111379,$111380,$111381,$111382,$111383,$111384),(nextval($111385),$111386,$111387,$111388,$111389,$111390,$111391,$111392,$111393,$111394,$111395,$111396,$111397,$111398),(nextval($111399),$111400,$111401,$111402,$111403,$111404,$111405,$111406,$111407,$111408,$111409,$111410,$111411,$111412),(nextval($111413),$111414,$111415,$111416,$111417,$111418,$111419,$111420,$111421,$111422,$111423,$111424,$111425,$111426),(nextval($111427),$111428,$111429,$111430,$111431,$111432,$111433,$111434,$111435,$111436,$111437,$111438,$111439,$111440),(nextval($111441),$111442,$111443,$111444,$111445,$111446,$111447,$111448,$111449,$111450,$111451,$111452,$111453,$111454),(nextval($111455),$111456,$111457,$111458,$111459,$111460,$111461,$111462,$111463,$111464,$111465,$111466,$111467,$111468),(nextval($111469),$111470,$111471,$111472,$111473,$111474,$111475,$111476,$111477,$111478,$111479,$111480,$111481,$111482),(nextval($111483),$111484,$111485,$111486,$111487,$111488,$111489,$111490,$111491,$111492,$111493,$111494,$111495,$111496),(nextval($111497),$111498,$111499,$111500,$111501,$111502,$111503,$111504,$111505,$111506,$111507,$111508,$111509,$111510),(nextval($111511),$111512,$111513,$111514,$111515,$111516,$111517,$111518,$111519,$111520,$111521,$111522,$111523,$111524),(nextval($111525),$111526,$111527,$111528,$111529,$111530,$111531,$111532,$111533,$111534,$111535,$111536,$111537,$111538),(nextval($111539),$111540,$111541,$111542,$111543,$111544,$111545,$111546,$111547,$111548,$111549,$111550,$111551,$111552),(nextval($111553),$111554,$111555,$111556,$111557,$111558,$111559,$111560,$111561,$111562,$111563,$111564,$111565,$111566),(nextval($111567),$111568,$111569,$111570,$111571,$111572,$111573,$111574,$111575,$111576,$111577,$111578,$111579,$111580),(nextval($111581),$111582,$111583,$111584,$111585,$111586,$111587,$111588,$111589,$111590,$111591,$111592,$111593,$111594),(nextval($111595),$111596,$111597,$111598,$111599,$111600,$111601,$111602,$111603,$111604,$111605,$111606,$111607,$111608),(nextval($111609),$111610,$111611,$111612,$111613,$111614,$111615,$111616,$111617,$111618,$111619,$111620,$111621,$111622),(nextval($111623),$111624,$111625,$111626,$111627,$111628,$111629,$111630,$111631,$111632,$111633,$111634,$111635,$111636),(nextval($111637),$111638,$111639,$111640,$111641,$111642,$111643,$111644,$111645,$111646,$111647,$111648,$111649,$111650),(nextval($111651),$111652,$111653,$111654,$111655,$111656,$111657,$111658,$111659,$111660,$111661,$111662,$111663,$111664),(nextval($111665),$111666,$111667,$111668,$111669,$111670,$111671,$111672,$111673,$111674,$111675,$111676,$111677,$111678),(nextval($111679),$111680,$111681,$111682,$111683,$111684,$111685,$111686,$111687,$111688,$111689,$111690,$111691,$111692),(nextval($111693),$111694,$111695,$111696,$111697,$111698,$111699,$111700,$111701,$111702,$111703,$111704,$111705,$111706),(nextval($111707),$111708,$111709,$111710,$111711,$111712,$111713,$111714,$111715,$111716,$111717,$111718,$111719,$111720),(nextval($111721),$111722,$111723,$111724,$111725,$111726,$111727,$111728,$111729,$111730,$111731,$111732,$111733,$111734),(nextval($111735),$111736,$111737,$111738,$111739,$111740,$111741,$111742,$111743,$111744,$111745,$111746,$111747,$111748),(nextval($111749),$111750,$111751,$111752,$111753,$111754,$111755,$111756,$111757,$111758,$111759,$111760,$111761,$111762),(nextval($111763),$111764,$111765,$111766,$111767,$111768,$111769,$111770,$111771,$111772,$111773,$111774,$111775,$111776),(nextval($111777),$111778,$111779,$111780,$111781,$111782,$111783,$111784,$111785,$111786,$111787,$111788,$111789,$111790),(nextval($111791),$111792,$111793,$111794,$111795,$111796,$111797,$111798,$111799,$111800,$111801,$111802,$111803,$111804),(nextval($111805),$111806,$111807,$111808,$111809,$111810,$111811,$111812,$111813,$111814,$111815,$111816,$111817,$111818),(nextval($111819),$111820,$111821,$111822,$111823,$111824,$111825,$111826,$111827,$111828,$111829,$111830,$111831,$111832),(nextval($111833),$111834,$111835,$111836,$111837,$111838,$111839,$111840,$111841,$111842,$111843,$111844,$111845,$111846),(nextval($111847),$111848,$111849,$111850,$111851,$111852,$111853,$111854,$111855,$111856,$111857,$111858,$111859,$111860),(nextval($111861),$111862,$111863,$111864,$111865,$111866,$111867,$111868,$111869,$111870,$111871,$111872,$111873,$111874),(nextval($111875),$111876,$111877,$111878,$111879,$111880,$111881,$111882,$111883,$111884,$111885,$111886,$111887,$111888),(nextval($111889),$111890,$111891,$111892,$111893,$111894,$111895,$111896,$111897,$111898,$111899,$111900,$111901,$111902),(nextval($111903),$111904,$111905,$111906,$111907,$111908,$111909,$111910,$111911,$111912,$111913,$111914,$111915,$111916),(nextval($111917),$111918,$111919,$111920,$111921,$111922,$111923,$111924,$111925,$111926,$111927,$111928,$111929,$111930),(nextval($111931),$111932,$111933,$111934,$111935,$111936,$111937,$111938,$111939,$111940,$111941,$111942,$111943,$111944),(nextval($111945),$111946,$111947,$111948,$111949,$111950,$111951,$111952,$111953,$111954,$111955,$111956,$111957,$111958),(nextval($111959),$111960,$111961,$111962,$111963,$111964,$111965,$111966,$111967,$111968,$111969,$111970,$111971,$111972),(nextval($111973),$111974,$111975,$111976,$111977,$111978,$111979,$111980,$111981,$111982,$111983,$111984,$111985,$111986),(nextval($111987),$111988,$111989,$111990,$111991,$111992,$111993,$111994,$111995,$111996,$111997,$111998,$111999,$112000),(nextval($112001),$112002,$112003,$112004,$112005,$112006,$112007,$112008,$112009,$112010,$112011,$112012,$112013,$112014),(nextval($112015),$112016,$112017,$112018,$112019,$112020,$112021,$112022,$112023,$112024,$112025,$112026,$112027,$112028),(nextval($112029),$112030,$112031,$112032,$112033,$112034,$112035,$112036,$112037,$112038,$112039,$112040,$112041,$112042),(nextval($112043),$112044,$112045,$112046,$112047,$112048,$112049,$112050,$112051,$112052,$112053,$112054,$112055,$112056),(nextval($112057),$112058,$112059,$112060,$112061,$112062,$112063,$112064,$112065,$112066,$112067,$112068,$112069,$112070),(nextval($112071),$112072,$112073,$112074,$112075,$112076,$112077,$112078,$112079,$112080,$112081,$112082,$112083,$112084),(nextval($112085),$112086,$112087,$112088,$112089,$112090,$112091,$112092,$112093,$112094,$112095,$112096,$112097,$112098),(nextval($112099),$112100,$112101,$112102,$112103,$112104,$112105,$112106,$112107,$112108,$112109,$112110,$112111,$112112),(nextval($112113),$112114,$112115,$112116,$112117,$112118,$112119,$112120,$112121,$112122,$112123,$112124,$112125,$112126),(nextval($112127),$112128,$112129,$112130,$112131,$112132,$112133,$112134,$112135,$112136,$112137,$112138,$112139,$112140),(nextval($112141),$112142,$112143,$112144,$112145,$112146,$112147,$112148,$112149,$112150,$112151,$112152,$112153,$112154),(nextval($112155),$112156,$112157,$112158,$112159,$112160,$112161,$112162,$112163,$112164,$112165,$112166,$112167,$112168),(nextval($112169),$112170,$112171,$112172,$112173,$112174,$112175,$112176,$112177,$112178,$112179,$112180,$112181,$112182),(nextval($112183),$112184,$112185,$112186,$112187,$112188,$112189,$112190,$112191,$112192,$112193,$112194,$112195,$112196),(nextval($112197),$112198,$112199,$112200,$112201,$112202,$112203,$112204,$112205,$112206,$112207,$112208,$112209,$112210),(nextval($112211),$112212,$112213,$112214,$112215,$112216,$112217,$112218,$112219,$112220,$112221,$112222,$112223,$112224),(nextval($112225),$112226,$112227,$112228,$112229,$112230,$112231,$112232,$112233,$112234,$112235,$112236,$112237,$112238),(nextval($112239),$112240,$112241,$112242,$112243,$112244,$112245,$112246,$112247,$112248,$112249,$112250,$112251,$112252),(nextval($112253),$112254,$112255,$112256,$112257,$112258,$112259,$112260,$112261,$112262,$112263,$112264,$112265,$112266),(nextval($112267),$112268,$112269,$112270,$112271,$112272,$112273,$112274,$112275,$112276,$112277,$112278,$112279,$112280),(nextval($112281),$112282,$112283,$112284,$112285,$112286,$112287,$112288,$112289,$112290,$112291,$112292,$112293,$112294),(nextval($112295),$112296,$112297,$112298,$112299,$112300,$112301,$112302,$112303,$112304,$112305,$112306,$112307,$112308),(nextval($112309),$112310,$112311,$112312,$112313,$112314,$112315,$112316,$112317,$112318,$112319,$112320,$112321,$112322),(nextval($112323),$112324,$112325,$112326,$112327,$112328,$112329,$112330,$112331,$112332,$112333,$112334,$112335,$112336),(nextval($112337),$112338,$112339,$112340,$112341,$112342,$112343,$112344,$112345,$112346,$112347,$112348,$112349,$112350),(nextval($112351),$112352,$112353,$112354,$112355,$112356,$112357,$112358,$112359,$112360,$112361,$112362,$112363,$112364),(nextval($112365),$112366,$112367,$112368,$112369,$112370,$112371,$112372,$112373,$112374,$112375,$112376,$112377,$112378),(nextval($112379),$112380,$112381,$112382,$112383,$112384,$112385,$112386,$112387,$112388,$112389,$112390,$112391,$112392),(nextval($112393),$112394,$112395,$112396,$112397,$112398,$112399,$112400,$112401,$112402,$112403,$112404,$112405,$112406),(nextval($112407),$112408,$112409,$112410,$112411,$112412,$112413,$112414,$112415,$112416,$112417,$112418,$112419,$112420),(nextval($112421),$112422,$112423,$112424,$112425,$112426,$112427,$112428,$112429,$112430,$112431,$112432,$112433,$112434),(nextval($112435),$112436,$112437,$112438,$112439,$112440,$112441,$112442,$112443,$112444,$112445,$112446,$112447,$112448),(nextval($112449),$112450,$112451,$112452,$112453,$112454,$112455,$112456,$112457,$112458,$112459,$112460,$112461,$112462),(nextval($112463),$112464,$112465,$112466,$112467,$112468,$112469,$112470,$112471,$112472,$112473,$112474,$112475,$112476),(nextval($112477),$112478,$112479,$112480,$112481,$112482,$112483,$112484,$112485,$112486,$112487,$112488,$112489,$112490),(nextval($112491),$112492,$112493,$112494,$112495,$112496,$112497,$112498,$112499,$112500,$112501,$112502,$112503,$112504),(nextval($112505),$112506,$112507,$112508,$112509,$112510,$112511,$112512,$112513,$112514,$112515,$112516,$112517,$112518),(nextval($112519),$112520,$112521,$112522,$112523,$112524,$112525,$112526,$112527,$112528,$112529,$112530,$112531,$112532),(nextval($112533),$112534,$112535,$112536,$112537,$112538,$112539,$112540,$112541,$112542,$112543,$112544,$112545,$112546),(nextval($112547),$112548,$112549,$112550,$112551,$112552,$112553,$112554,$112555,$112556,$112557,$112558,$112559,$112560),(nextval($112561),$112562,$112563,$112564,$112565,$112566,$112567,$112568,$112569,$112570,$112571,$112572,$112573,$112574),(nextval($112575),$112576,$112577,$112578,$112579,$112580,$112581,$112582,$112583,$112584,$112585,$112586,$112587,$112588),(nextval($112589),$112590,$112591,$112592,$112593,$112594,$112595,$112596,$112597,$112598,$112599,$112600,$112601,$112602),(nextval($112603),$112604,$112605,$112606,$112607,$112608,$112609,$112610,$112611,$112612,$112613,$112614,$112615,$112616),(nextval($112617),$112618,$112619,$112620,$112621,$112622,$112623,$112624,$112625,$112626,$112627,$112628,$112629,$112630),(nextval($112631),$112632,$112633,$112634,$112635,$112636,$112637,$112638,$112639,$112640,$112641,$112642,$112643,$112644),(nextval($112645),$112646,$112647,$112648,$112649,$112650,$112651,$112652,$112653,$112654,$112655,$112656,$112657,$112658),(nextval($112659),$112660,$112661,$112662,$112663,$112664,$112665,$112666,$112667,$112668,$112669,$112670,$112671,$112672),(nextval($112673),$112674,$112675,$112676,$112677,$112678,$112679,$112680,$112681,$112682,$112683,$112684,$112685,$112686),(nextval($112687),$112688,$112689,$112690,$112691,$112692,$112693,$112694,$112695,$112696,$112697,$112698,$112699,$112700),(nextval($112701),$112702,$112703,$112704,$112705,$112706,$112707,$112708,$112709,$112710,$112711,$112712,$112713,$112714),(nextval($112715),$112716,$112717,$112718,$112719,$112720,$112721,$112722,$112723,$112724,$112725,$112726,$112727,$112728),(nextval($112729),$112730,$112731,$112732,$112733,$112734,$112735,$112736,$112737,$112738,$112739,$112740,$112741,$112742),(nextval($112743),$112744,$112745,$112746,$112747,$112748,$112749,$112750,$112751,$112752,$112753,$112754,$112755,$112756),(nextval($112757),$112758,$112759,$112760,$112761,$112762,$112763,$112764,$112765,$112766,$112767,$112768,$112769,$112770),(nextval($112771),$112772,$112773,$112774,$112775,$112776,$112777,$112778,$112779,$112780,$112781,$112782,$112783,$112784),(nextval($112785),$112786,$112787,$112788,$112789,$112790,$112791,$112792,$112793,$112794,$112795,$112796,$112797,$112798),(nextval($112799),$112800,$112801,$112802,$112803,$112804,$112805,$112806,$112807,$112808,$112809,$112810,$112811,$112812),(nextval($112813),$112814,$112815,$112816,$112817,$112818,$112819,$112820,$112821,$112822,$112823,$112824,$112825,$112826),(nextval($112827),$112828,$112829,$112830,$112831,$112832,$112833,$112834,$112835,$112836,$112837,$112838,$112839,$112840),(nextval($112841),$112842,$112843,$112844,$112845,$112846,$112847,$112848,$112849,$112850,$112851,$112852,$112853,$112854),(nextval($112855),$112856,$112857,$112858,$112859,$112860,$112861,$112862,$112863,$112864,$112865,$112866,$112867,$112868),(nextval($112869),$112870,$112871,$112872,$112873,$112874,$112875,$112876,$112877,$112878,$112879,$112880,$112881,$112882),(nextval($112883),$112884,$112885,$112886,$112887,$112888,$112889,$112890,$112891,$112892,$112893,$112894,$112895,$112896),(nextval($112897),$112898,$112899,$112900,$112901,$112902,$112903,$112904,$112905,$112906,$112907,$112908,$112909,$112910),(nextval($112911),$112912,$112913,$112914,$112915,$112916,$112917,$112918,$112919,$112920,$112921,$112922,$112923,$112924),(nextval($112925),$112926,$112927,$112928,$112929,$112930,$112931,$112932,$112933,$112934,$112935,$112936,$112937,$112938),(nextval($112939),$112940,$112941,$112942,$112943,$112944,$112945,$112946,$112947,$112948,$112949,$112950,$112951,$112952),(nextval($112953),$112954,$112955,$112956,$112957,$112958,$112959,$112960,$112961,$112962,$112963,$112964,$112965,$112966),(nextval($112967),$112968,$112969,$112970,$112971,$112972,$112973,$112974,$112975,$112976,$112977,$112978,$112979,$112980),(nextval($112981),$112982,$112983,$112984,$112985,$112986,$112987,$112988,$112989,$112990,$112991,$112992,$112993,$112994),(nextval($112995),$112996,$112997,$112998,$112999,$113000,$113001,$113002,$113003,$113004,$113005,$113006,$113007,$113008),(nextval($113009),$113010,$113011,$113012,$113013,$113014,$113015,$113016,$113017,$113018,$113019,$113020,$113021,$113022),(nextval($113023),$113024,$113025,$113026,$113027,$113028,$113029,$113030,$113031,$113032,$113033,$113034,$113035,$113036),(nextval($113037),$113038,$113039,$113040,$113041,$113042,$113043,$113044,$113045,$113046,$113047,$113048,$113049,$113050),(nextval($113051),$113052,$113053,$113054,$113055,$113056,$113057,$113058,$113059,$113060,$113061,$113062,$113063,$113064),(nextval($113065),$113066,$113067,$113068,$113069,$113070,$113071,$113072,$113073,$113074,$113075,$113076,$113077,$113078),(nextval($113079),$113080,$113081,$113082,$113083,$113084,$113085,$113086,$113087,$113088,$113089,$113090,$113091,$113092),(nextval($113093),$113094,$113095,$113096,$113097,$113098,$113099,$113100,$113101,$113102,$113103,$113104,$113105,$113106),(nextval($113107),$113108,$113109,$113110,$113111,$113112,$113113,$113114,$113115,$113116,$113117,$113118,$113119,$113120),(nextval($113121),$113122,$113123,$113124,$113125,$113126,$113127,$113128,$113129,$113130,$113131,$113132,$113133,$113134),(nextval($113135),$113136,$113137,$113138,$113139,$113140,$113141,$113142,$113143,$113144,$113145,$113146,$113147,$113148),(nextval($113149),$113150,$113151,$113152,$113153,$113154,$113155,$113156,$113157,$113158,$113159,$113160,$113161,$113162),(nextval($113163),$113164,$113165,$113166,$113167,$113168,$113169,$113170,$113171,$113172,$113173,$113174,$113175,$113176),(nextval($113177),$113178,$113179,$113180,$113181,$113182,$113183,$113184,$113185,$113186,$113187,$113188,$113189,$113190),(nextval($113191),$113192,$113193,$113194,$113195,$113196,$113197,$113198,$113199,$113200,$113201,$113202,$113203,$113204),(nextval($113205),$113206,$113207,$113208,$113209,$113210,$113211,$113212,$113213,$113214,$113215,$113216,$113217,$113218),(nextval($113219),$113220,$113221,$113222,$113223,$113224,$113225,$113226,$113227,$113228,$113229,$113230,$113231,$113232),(nextval($113233),$113234,$113235,$113236,$113237,$113238,$113239,$113240,$113241,$113242,$113243,$113244,$113245,$113246),(nextval($113247),$113248,$113249,$113250,$113251,$113252,$113253,$113254,$113255,$113256,$113257,$113258,$113259,$113260),(nextval($113261),$113262,$113263,$113264,$113265,$113266,$113267,$113268,$113269,$113270,$113271,$113272,$113273,$113274),(nextval($113275),$113276,$113277,$113278,$113279,$113280,$113281,$113282,$113283,$113284,$113285,$113286,$113287,$113288),(nextval($113289),$113290,$113291,$113292,$113293,$113294,$113295,$113296,$113297,$113298,$113299,$113300,$113301,$113302),(nextval($113303),$113304,$113305,$113306,$113307,$113308,$113309,$113310,$113311,$113312,$113313,$113314,$113315,$113316),(nextval($113317),$113318,$113319,$113320,$113321,$113322,$113323,$113324,$113325,$113326,$113327,$113328,$113329,$113330),(nextval($113331),$113332,$113333,$113334,$113335,$113336,$113337,$113338,$113339,$113340,$113341,$113342,$113343,$113344),(nextval($113345),$113346,$113347,$113348,$113349,$113350,$113351,$113352,$113353,$113354,$113355,$113356,$113357,$113358),(nextval($113359),$113360,$113361,$113362,$113363,$113364,$113365,$113366,$113367,$113368,$113369,$113370,$113371,$113372),(nextval($113373),$113374,$113375,$113376,$113377,$113378,$113379,$113380,$113381,$113382,$113383,$113384,$113385,$113386),(nextval($113387),$113388,$113389,$113390,$113391,$113392,$113393,$113394,$113395,$113396,$113397,$113398,$113399,$113400),(nextval($113401),$113402,$113403,$113404,$113405,$113406,$113407,$113408,$113409,$113410,$113411,$113412,$113413,$113414),(nextval($113415),$113416,$113417,$113418,$113419,$113420,$113421,$113422,$113423,$113424,$113425,$113426,$113427,$113428),(nextval($113429),$113430,$113431,$113432,$113433,$113434,$113435,$113436,$113437,$113438,$113439,$113440,$113441,$113442),(nextval($113443),$113444,$113445,$113446,$113447,$113448,$113449,$113450,$113451,$113452,$113453,$113454,$113455,$113456),(nextval($113457),$113458,$113459,$113460,$113461,$113462,$113463,$113464,$113465,$113466,$113467,$113468,$113469,$113470),(nextval($113471),$113472,$113473,$113474,$113475,$113476,$113477,$113478,$113479,$113480,$113481,$113482,$113483,$113484),(nextval($113485),$113486,$113487,$113488,$113489,$113490,$113491,$113492,$113493,$113494,$113495,$113496,$113497,$113498),(nextval($113499),$113500,$113501,$113502,$113503,$113504,$113505,$113506,$113507,$113508,$113509,$113510,$113511,$113512),(nextval($113513),$113514,$113515,$113516,$113517,$113518,$113519,$113520,$113521,$113522,$113523,$113524,$113525,$113526),(nextval($113527),$113528,$113529,$113530,$113531,$113532,$113533,$113534,$113535,$113536,$113537,$113538,$113539,$113540),(nextval($113541),$113542,$113543,$113544,$113545,$113546,$113547,$113548,$113549,$113550,$113551,$113552,$113553,$113554),(nextval($113555),$113556,$113557,$113558,$113559,$113560,$113561,$113562,$113563,$113564,$113565,$113566,$113567,$113568),(nextval($113569),$113570,$113571,$113572,$113573,$113574,$113575,$113576,$113577,$113578,$113579,$113580,$113581,$113582),(nextval($113583),$113584,$113585,$113586,$113587,$113588,$113589,$113590,$113591,$113592,$113593,$113594,$113595,$113596),(nextval($113597),$113598,$113599,$113600,$113601,$113602,$113603,$113604,$113605,$113606,$113607,$113608,$113609,$113610),(nextval($113611),$113612,$113613,$113614,$113615,$113616,$113617,$113618,$113619,$113620,$113621,$113622,$113623,$113624),(nextval($113625),$113626,$113627,$113628,$113629,$113630,$113631,$113632,$113633,$113634,$113635,$113636,$113637,$113638),(nextval($113639),$113640,$113641,$113642,$113643,$113644,$113645,$113646,$113647,$113648,$113649,$113650,$113651,$113652),(nextval($113653),$113654,$113655,$113656,$113657,$113658,$113659,$113660,$113661,$113662,$113663,$113664,$113665,$113666),(nextval($113667),$113668,$113669,$113670,$113671,$113672,$113673,$113674,$113675,$113676,$113677,$113678,$113679,$113680),(nextval($113681),$113682,$113683,$113684,$113685,$113686,$113687,$113688,$113689,$113690,$113691,$113692,$113693,$113694),(nextval($113695),$113696,$113697,$113698,$113699,$113700,$113701,$113702,$113703,$113704,$113705,$113706,$113707,$113708),(nextval($113709),$113710,$113711,$113712,$113713,$113714,$113715,$113716,$113717,$113718,$113719,$113720,$113721,$113722),(nextval($113723),$113724,$113725,$113726,$113727,$113728,$113729,$113730,$113731,$113732,$113733,$113734,$113735,$113736),(nextval($113737),$113738,$113739,$113740,$113741,$113742,$113743,$113744,$113745,$113746,$113747,$113748,$113749,$113750),(nextval($113751),$113752,$113753,$113754,$113755,$113756,$113757,$113758,$113759,$113760,$113761,$113762,$113763,$113764),(nextval($113765),$113766,$113767,$113768,$113769,$113770,$113771,$113772,$113773,$113774,$113775,$113776,$113777,$113778),(nextval($113779),$113780,$113781,$113782,$113783,$113784,$113785,$113786,$113787,$113788,$113789,$113790,$113791,$113792),(nextval($113793),$113794,$113795,$113796,$113797,$113798,$113799,$113800,$113801,$113802,$113803,$113804,$113805,$113806),(nextval($113807),$113808,$113809,$113810,$113811,$113812,$113813,$113814,$113815,$113816,$113817,$113818,$113819,$113820),(nextval($113821),$113822,$113823,$113824,$113825,$113826,$113827,$113828,$113829,$113830,$113831,$113832,$113833,$113834),(nextval($113835),$113836,$113837,$113838,$113839,$113840,$113841,$113842,$113843,$113844,$113845,$113846,$113847,$113848),(nextval($113849),$113850,$113851,$113852,$113853,$113854,$113855,$113856,$113857,$113858,$113859,$113860,$113861,$113862),(nextval($113863),$113864,$113865,$113866,$113867,$113868,$113869,$113870,$113871,$113872,$113873,$113874,$113875,$113876),(nextval($113877),$113878,$113879,$113880,$113881,$113882,$113883,$113884,$113885,$113886,$113887,$113888,$113889,$113890),(nextval($113891),$113892,$113893,$113894,$113895,$113896,$113897,$113898,$113899,$113900,$113901,$113902,$113903,$113904),(nextval($113905),$113906,$113907,$113908,$113909,$113910,$113911,$113912,$113913,$113914,$113915,$113916,$113917,$113918),(nextval($113919),$113920,$113921,$113922,$113923,$113924,$113925,$113926,$113927,$113928,$113929,$113930,$113931,$113932),(nextval($113933),$113934,$113935,$113936,$113937,$113938,$113939,$113940,$113941,$113942,$113943,$113944,$113945,$113946),(nextval($113947),$113948,$113949,$113950,$113951,$113952,$113953,$113954,$113955,$113956,$113957,$113958,$113959,$113960),(nextval($113961),$113962,$113963,$113964,$113965,$113966,$113967,$113968,$113969,$113970,$113971,$113972,$113973,$113974),(nextval($113975),$113976,$113977,$113978,$113979,$113980,$113981,$113982,$113983,$113984,$113985,$113986,$113987,$113988),(nextval($113989),$113990,$113991,$113992,$113993,$113994,$113995,$113996,$113997,$113998,$113999,$114000,$114001,$114002),(nextval($114003),$114004,$114005,$114006,$114007,$114008,$114009,$114010,$114011,$114012,$114013,$114014,$114015,$114016),(nextval($114017),$114018,$114019,$114020,$114021,$114022,$114023,$114024,$114025,$114026,$114027,$114028,$114029,$114030),(nextval($114031),$114032,$114033,$114034,$114035,$114036,$114037,$114038,$114039,$114040,$114041,$114042,$114043,$114044),(nextval($114045),$114046,$114047,$114048,$114049,$114050,$114051,$114052,$114053,$114054,$114055,$114056,$114057,$114058),(nextval($114059),$114060,$114061,$114062,$114063,$114064,$114065,$114066,$114067,$114068,$114069,$114070,$114071,$114072),(nextval($114073),$114074,$114075,$114076,$114077,$114078,$114079,$114080,$114081,$114082,$114083,$114084,$114085,$114086),(nextval($114087),$114088,$114089,$114090,$114091,$114092,$114093,$114094,$114095,$114096,$114097,$114098,$114099,$114100),(nextval($114101),$114102,$114103,$114104,$114105,$114106,$114107,$114108,$114109,$114110,$114111,$114112,$114113,$114114),(nextval($114115),$114116,$114117,$114118,$114119,$114120,$114121,$114122,$114123,$114124,$114125,$114126,$114127,$114128),(nextval($114129),$114130,$114131,$114132,$114133,$114134,$114135,$114136,$114137,$114138,$114139,$114140,$114141,$114142),(nextval($114143),$114144,$114145,$114146,$114147,$114148,$114149,$114150,$114151,$114152,$114153,$114154,$114155,$114156),(nextval($114157),$114158,$114159,$114160,$114161,$114162,$114163,$114164,$114165,$114166,$114167,$114168,$114169,$114170),(nextval($114171),$114172,$114173,$114174,$114175,$114176,$114177,$114178,$114179,$114180,$114181,$114182,$114183,$114184),(nextval($114185),$114186,$114187,$114188,$114189,$114190,$114191,$114192,$114193,$114194,$114195,$114196,$114197,$114198),(nextval($114199),$114200,$114201,$114202,$114203,$114204,$114205,$114206,$114207,$114208,$114209,$114210,$114211,$114212),(nextval($114213),$114214,$114215,$114216,$114217,$114218,$114219,$114220,$114221,$114222,$114223,$114224,$114225,$114226),(nextval($114227),$114228,$114229,$114230,$114231,$114232,$114233,$114234,$114235,$114236,$114237,$114238,$114239,$114240),(nextval($114241),$114242,$114243,$114244,$114245,$114246,$114247,$114248,$114249,$114250,$114251,$114252,$114253,$114254),(nextval($114255),$114256,$114257,$114258,$114259,$114260,$114261,$114262,$114263,$114264,$114265,$114266,$114267,$114268),(nextval($114269),$114270,$114271,$114272,$114273,$114274,$114275,$114276,$114277,$114278,$114279,$114280,$114281,$114282),(nextval($114283),$114284,$114285,$114286,$114287,$114288,$114289,$114290,$114291,$114292,$114293,$114294,$114295,$114296),(nextval($114297),$114298,$114299,$114300,$114301,$114302,$114303,$114304,$114305,$114306,$114307,$114308,$114309,$114310),(nextval($114311),$114312,$114313,$114314,$114315,$114316,$114317,$114318,$114319,$114320,$114321,$114322,$114323,$114324),(nextval($114325),$114326,$114327,$114328,$114329,$114330,$114331,$114332,$114333,$114334,$114335,$114336,$114337,$114338),(nextval($114339),$114340,$114341,$114342,$114343,$114344,$114345,$114346,$114347,$114348,$114349,$114350,$114351,$114352),(nextval($114353),$114354,$114355,$114356,$114357,$114358,$114359,$114360,$114361,$114362,$114363,$114364,$114365,$114366),(nextval($114367),$114368,$114369,$114370,$114371,$114372,$114373,$114374,$114375,$114376,$114377,$114378,$114379,$114380),(nextval($114381),$114382,$114383,$114384,$114385,$114386,$114387,$114388,$114389,$114390,$114391,$114392,$114393,$114394),(nextval($114395),$114396,$114397,$114398,$114399,$114400,$114401,$114402,$114403,$114404,$114405,$114406,$114407,$114408),(nextval($114409),$114410,$114411,$114412,$114413,$114414,$114415,$114416,$114417,$114418,$114419,$114420,$114421,$114422),(nextval($114423),$114424,$114425,$114426,$114427,$114428,$114429,$114430,$114431,$114432,$114433,$114434,$114435,$114436),(nextval($114437),$114438,$114439,$114440,$114441,$114442,$114443,$114444,$114445,$114446,$114447,$114448,$114449,$114450),(nextval($114451),$114452,$114453,$114454,$114455,$114456,$114457,$114458,$114459,$114460,$114461,$114462,$114463,$114464),(nextval($114465),$114466,$114467,$114468,$114469,$114470,$114471,$114472,$114473,$114474,$114475,$114476,$114477,$114478),(nextval($114479),$114480,$114481,$114482,$114483,$114484,$114485,$114486,$114487,$114488,$114489,$114490,$114491,$114492),(nextval($114493),$114494,$114495,$114496,$114497,$114498,$114499,$114500,$114501,$114502,$114503,$114504,$114505,$114506),(nextval($114507),$114508,$114509,$114510,$114511,$114512,$114513,$114514,$114515,$114516,$114517,$114518,$114519,$114520),(nextval($114521),$114522,$114523,$114524,$114525,$114526,$114527,$114528,$114529,$114530,$114531,$114532,$114533,$114534),(nextval($114535),$114536,$114537,$114538,$114539,$114540,$114541,$114542,$114543,$114544,$114545,$114546,$114547,$114548),(nextval($114549),$114550,$114551,$114552,$114553,$114554,$114555,$114556,$114557,$114558,$114559,$114560,$114561,$114562),(nextval($114563),$114564,$114565,$114566,$114567,$114568,$114569,$114570,$114571,$114572,$114573,$114574,$114575,$114576),(nextval($114577),$114578,$114579,$114580,$114581,$114582,$114583,$114584,$114585,$114586,$114587,$114588,$114589,$114590),(nextval($114591),$114592,$114593,$114594,$114595,$114596,$114597,$114598,$114599,$114600,$114601,$114602,$114603,$114604),(nextval($114605),$114606,$114607,$114608,$114609,$114610,$114611,$114612,$114613,$114614,$114615,$114616,$114617,$114618),(nextval($114619),$114620,$114621,$114622,$114623,$114624,$114625,$114626,$114627,$114628,$114629,$114630,$114631,$114632),(nextval($114633),$114634,$114635,$114636,$114637,$114638,$114639,$114640,$114641,$114642,$114643,$114644,$114645,$114646),(nextval($114647),$114648,$114649,$114650,$114651,$114652,$114653,$114654,$114655,$114656,$114657,$114658,$114659,$114660),(nextval($114661),$114662,$114663,$114664,$114665,$114666,$114667,$114668,$114669,$114670,$114671,$114672,$114673,$114674),(nextval($114675),$114676,$114677,$114678,$114679,$114680,$114681,$114682,$114683,$114684,$114685,$114686,$114687,$114688),(nextval($114689),$114690,$114691,$114692,$114693,$114694,$114695,$114696,$114697,$114698,$114699,$114700,$114701,$114702),(nextval($114703),$114704,$114705,$114706,$114707,$114708,$114709,$114710,$114711,$114712,$114713,$114714,$114715,$114716),(nextval($114717),$114718,$114719,$114720,$114721,$114722,$114723,$114724,$114725,$114726,$114727,$114728,$114729,$114730),(nextval($114731),$114732,$114733,$114734,$114735,$114736,$114737,$114738,$114739,$114740,$114741,$114742,$114743,$114744),(nextval($114745),$114746,$114747,$114748,$114749,$114750,$114751,$114752,$114753,$114754,$114755,$114756,$114757,$114758),(nextval($114759),$114760,$114761,$114762,$114763,$114764,$114765,$114766,$114767,$114768,$114769,$114770,$114771,$114772),(nextval($114773),$114774,$114775,$114776,$114777,$114778,$114779,$114780,$114781,$114782,$114783,$114784,$114785,$114786),(nextval($114787),$114788,$114789,$114790,$114791,$114792,$114793,$114794,$114795,$114796,$114797,$114798,$114799,$114800),(nextval($114801),$114802,$114803,$114804,$114805,$114806,$114807,$114808,$114809,$114810,$114811,$114812,$114813,$114814),(nextval($114815),$114816,$114817,$114818,$114819,$114820,$114821,$114822,$114823,$114824,$114825,$114826,$114827,$114828),(nextval($114829),$114830,$114831,$114832,$114833,$114834,$114835,$114836,$114837,$114838,$114839,$114840,$114841,$114842),(nextval($114843),$114844,$114845,$114846,$114847,$114848,$114849,$114850,$114851,$114852,$114853,$114854,$114855,$114856),(nextval($114857),$114858,$114859,$114860,$114861,$114862,$114863,$114864,$114865,$114866,$114867,$114868,$114869,$114870),(nextval($114871),$114872,$114873,$114874,$114875,$114876,$114877,$114878,$114879,$114880,$114881,$114882,$114883,$114884),(nextval($114885),$114886,$114887,$114888,$114889,$114890,$114891,$114892,$114893,$114894,$114895,$114896,$114897,$114898),(nextval($114899),$114900,$114901,$114902,$114903,$114904,$114905,$114906,$114907,$114908,$114909,$114910,$114911,$114912),(nextval($114913),$114914,$114915,$114916,$114917,$114918,$114919,$114920,$114921,$114922,$114923,$114924,$114925,$114926),(nextval($114927),$114928,$114929,$114930,$114931,$114932,$114933,$114934,$114935,$114936,$114937,$114938,$114939,$114940),(nextval($114941),$114942,$114943,$114944,$114945,$114946,$114947,$114948,$114949,$114950,$114951,$114952,$114953,$114954),(nextval($114955),$114956,$114957,$114958,$114959,$114960,$114961,$114962,$114963,$114964,$114965,$114966,$114967,$114968),(nextval($114969),$114970,$114971,$114972,$114973,$114974,$114975,$114976,$114977,$114978,$114979,$114980,$114981,$114982),(nextval($114983),$114984,$114985,$114986,$114987,$114988,$114989,$114990,$114991,$114992,$114993,$114994,$114995,$114996),(nextval($114997),$114998,$114999,$115000,$115001,$115002,$115003,$115004,$115005,$115006,$115007,$115008,$115009,$115010),(nextval($115011),$115012,$115013,$115014,$115015,$115016,$115017,$115018,$115019,$115020,$115021,$115022,$115023,$115024),(nextval($115025),$115026,$115027,$115028,$115029,$115030,$115031,$115032,$115033,$115034,$115035,$115036,$115037,$115038),(nextval($115039),$115040,$115041,$115042,$115043,$115044,$115045,$115046,$115047,$115048,$115049,$115050,$115051,$115052),(nextval($115053),$115054,$115055,$115056,$115057,$115058,$115059,$115060,$115061,$115062,$115063,$115064,$115065,$115066),(nextval($115067),$115068,$115069,$115070,$115071,$115072,$115073,$115074,$115075,$115076,$115077,$115078,$115079,$115080),(nextval($115081),$115082,$115083,$115084,$115085,$115086,$115087,$115088,$115089,$115090,$115091,$115092,$115093,$115094),(nextval($115095),$115096,$115097,$115098,$115099,$115100,$115101,$115102,$115103,$115104,$115105,$115106,$115107,$115108),(nextval($115109),$115110,$115111,$115112,$115113,$115114,$115115,$115116,$115117,$115118,$115119,$115120,$115121,$115122),(nextval($115123),$115124,$115125,$115126,$115127,$115128,$115129,$115130,$115131,$115132,$115133,$115134,$115135,$115136),(nextval($115137),$115138,$115139,$115140,$115141,$115142,$115143,$115144,$115145,$115146,$115147,$115148,$115149,$115150),(nextval($115151),$115152,$115153,$115154,$115155,$115156,$115157,$115158,$115159,$115160,$115161,$115162,$115163,$115164),(nextval($115165),$115166,$115167,$115168,$115169,$115170,$115171,$115172,$115173,$115174,$115175,$115176,$115177,$115178),(nextval($115179),$115180,$115181,$115182,$115183,$115184,$115185,$115186,$115187,$115188,$115189,$115190,$115191,$115192),(nextval($115193),$115194,$115195,$115196,$115197,$115198,$115199,$115200,$115201,$115202,$115203,$115204,$115205,$115206),(nextval($115207),$115208,$115209,$115210,$115211,$115212,$115213,$115214,$115215,$115216,$115217,$115218,$115219,$115220),(nextval($115221),$115222,$115223,$115224,$115225,$115226,$115227,$115228,$115229,$115230,$115231,$115232,$115233,$115234),(nextval($115235),$115236,$115237,$115238,$115239,$115240,$115241,$115242,$115243,$115244,$115245,$115246,$115247,$115248),(nextval($115249),$115250,$115251,$115252,$115253,$115254,$115255,$115256,$115257,$115258,$115259,$115260,$115261,$115262),(nextval($115263),$115264,$115265,$115266,$115267,$115268,$115269,$115270,$115271,$115272,$115273,$115274,$115275,$115276),(nextval($115277),$115278,$115279,$115280,$115281,$115282,$115283,$115284,$115285,$115286,$115287,$115288,$115289,$115290),(nextval($115291),$115292,$115293,$115294,$115295,$115296,$115297,$115298,$115299,$115300,$115301,$115302,$115303,$115304),(nextval($115305),$115306,$115307,$115308,$115309,$115310,$115311,$115312,$115313,$115314,$115315,$115316,$115317,$115318),(nextval($115319),$115320,$115321,$115322,$115323,$115324,$115325,$115326,$115327,$115328,$115329,$115330,$115331,$115332),(nextval($115333),$115334,$115335,$115336,$115337,$115338,$115339,$115340,$115341,$115342,$115343,$115344,$115345,$115346),(nextval($115347),$115348,$115349,$115350,$115351,$115352,$115353,$115354,$115355,$115356,$115357,$115358,$115359,$115360),(nextval($115361),$115362,$115363,$115364,$115365,$115366,$115367,$115368,$115369,$115370,$115371,$115372,$115373,$115374),(nextval($115375),$115376,$115377,$115378,$115379,$115380,$115381,$115382,$115383,$115384,$115385,$115386,$115387,$115388),(nextval($115389),$115390,$115391,$115392,$115393,$115394,$115395,$115396,$115397,$115398,$115399,$115400,$115401,$115402),(nextval($115403),$115404,$115405,$115406,$115407,$115408,$115409,$115410,$115411,$115412,$115413,$115414,$115415,$115416),(nextval($115417),$115418,$115419,$115420,$115421,$115422,$115423,$115424,$115425,$115426,$115427,$115428,$115429,$115430),(nextval($115431),$115432,$115433,$115434,$115435,$115436,$115437,$115438,$115439,$115440,$115441,$115442,$115443,$115444),(nextval($115445),$115446,$115447,$115448,$115449,$115450,$115451,$115452,$115453,$115454,$115455,$115456,$115457,$115458),(nextval($115459),$115460,$115461,$115462,$115463,$115464,$115465,$115466,$115467,$115468,$115469,$115470,$115471,$115472),(nextval($115473),$115474,$115475,$115476,$115477,$115478,$115479,$115480,$115481,$115482,$115483,$115484,$115485,$115486),(nextval($115487),$115488,$115489,$115490,$115491,$115492,$115493,$115494,$115495,$115496,$115497,$115498,$115499,$115500),(nextval($115501),$115502,$115503,$115504,$115505,$115506,$115507,$115508,$115509,$115510,$115511,$115512,$115513,$115514),(nextval($115515),$115516,$115517,$115518,$115519,$115520,$115521,$115522,$115523,$115524,$115525,$115526,$115527,$115528),(nextval($115529),$115530,$115531,$115532,$115533,$115534,$115535,$115536,$115537,$115538,$115539,$115540,$115541,$115542),(nextval($115543),$115544,$115545,$115546,$115547,$115548,$115549,$115550,$115551,$115552,$115553,$115554,$115555,$115556),(nextval($115557),$115558,$115559,$115560,$115561,$115562,$115563,$115564,$115565,$115566,$115567,$115568,$115569,$115570),(nextval($115571),$115572,$115573,$115574,$115575,$115576,$115577,$115578,$115579,$115580,$115581,$115582,$115583,$115584),(nextval($115585),$115586,$115587,$115588,$115589,$115590,$115591,$115592,$115593,$115594,$115595,$115596,$115597,$115598),(nextval($115599),$115600,$115601,$115602,$115603,$115604,$115605,$115606,$115607,$115608,$115609,$115610,$115611,$115612),(nextval($115613),$115614,$115615,$115616,$115617,$115618,$115619,$115620,$115621,$115622,$115623,$115624,$115625,$115626),(nextval($115627),$115628,$115629,$115630,$115631,$115632,$115633,$115634,$115635,$115636,$115637,$115638,$115639,$115640),(nextval($115641),$115642,$115643,$115644,$115645,$115646,$115647,$115648,$115649,$115650,$115651,$115652,$115653,$115654),(nextval($115655),$115656,$115657,$115658,$115659,$115660,$115661,$115662,$115663,$115664,$115665,$115666,$115667,$115668),(nextval($115669),$115670,$115671,$115672,$115673,$115674,$115675,$115676,$115677,$115678,$115679,$115680,$115681,$115682),(nextval($115683),$115684,$115685,$115686,$115687,$115688,$115689,$115690,$115691,$115692,$115693,$115694,$115695,$115696),(nextval($115697),$115698,$115699,$115700,$115701,$115702,$115703,$115704,$115705,$115706,$115707,$115708,$115709,$115710),(nextval($115711),$115712,$115713,$115714,$115715,$115716,$115717,$115718,$115719,$115720,$115721,$115722,$115723,$115724),(nextval($115725),$115726,$115727,$115728,$115729,$115730,$115731,$115732,$115733,$115734,$115735,$115736,$115737,$115738),(nextval($115739),$115740,$115741,$115742,$115743,$115744,$115745,$115746,$115747,$115748,$115749,$115750,$115751,$115752),(nextval($115753),$115754,$115755,$115756,$115757,$115758,$115759,$115760,$115761,$115762,$115763,$115764,$115765,$115766),(nextval($115767),$115768,$115769,$115770,$115771,$115772,$115773,$115774,$115775,$115776,$115777,$115778,$115779,$115780),(nextval($115781),$115782,$115783,$115784,$115785,$115786,$115787,$115788,$115789,$115790,$115791,$115792,$115793,$115794),(nextval($115795),$115796,$115797,$115798,$115799,$115800,$115801,$115802,$115803,$115804,$115805,$115806,$115807,$115808),(nextval($115809),$115810,$115811,$115812,$115813,$115814,$115815,$115816,$115817,$115818,$115819,$115820,$115821,$115822),(nextval($115823),$115824,$115825,$115826,$115827,$115828,$115829,$115830,$115831,$115832,$115833,$115834,$115835,$115836),(nextval($115837),$115838,$115839,$115840,$115841,$115842,$115843,$115844,$115845,$115846,$115847,$115848,$115849,$115850),(nextval($115851),$115852,$115853,$115854,$115855,$115856,$115857,$115858,$115859,$115860,$115861,$115862,$115863,$115864),(nextval($115865),$115866,$115867,$115868,$115869,$115870,$115871,$115872,$115873,$115874,$115875,$115876,$115877,$115878),(nextval($115879),$115880,$115881,$115882,$115883,$115884,$115885,$115886,$115887,$115888,$115889,$115890,$115891,$115892),(nextval($115893),$115894,$115895,$115896,$115897,$115898,$115899,$115900,$115901,$115902,$115903,$115904,$115905,$115906),(nextval($115907),$115908,$115909,$115910,$115911,$115912,$115913,$115914,$115915,$115916,$115917,$115918,$115919,$115920),(nextval($115921),$115922,$115923,$115924,$115925,$115926,$115927,$115928,$115929,$115930,$115931,$115932,$115933,$115934),(nextval($115935),$115936,$115937,$115938,$115939,$115940,$115941,$115942,$115943,$115944,$115945,$115946,$115947,$115948),(nextval($115949),$115950,$115951,$115952,$115953,$115954,$115955,$115956,$115957,$115958,$115959,$115960,$115961,$115962),(nextval($115963),$115964,$115965,$115966,$115967,$115968,$115969,$115970,$115971,$115972,$115973,$115974,$115975,$115976),(nextval($115977),$115978,$115979,$115980,$115981,$115982,$115983,$115984,$115985,$115986,$115987,$115988,$115989,$115990),(nextval($115991),$115992,$115993,$115994,$115995,$115996,$115997,$115998,$115999,$116000,$116001,$116002,$116003,$116004),(nextval($116005),$116006,$116007,$116008,$116009,$116010,$116011,$116012,$116013,$116014,$116015,$116016,$116017,$116018),(nextval($116019),$116020,$116021,$116022,$116023,$116024,$116025,$116026,$116027,$116028,$116029,$116030,$116031,$116032),(nextval($116033),$116034,$116035,$116036,$116037,$116038,$116039,$116040,$116041,$116042,$116043,$116044,$116045,$116046),(nextval($116047),$116048,$116049,$116050,$116051,$116052,$116053,$116054,$116055,$116056,$116057,$116058,$116059,$116060),(nextval($116061),$116062,$116063,$116064,$116065,$116066,$116067,$116068,$116069,$116070,$116071,$116072,$116073,$116074),(nextval($116075),$116076,$116077,$116078,$116079,$116080,$116081,$116082,$116083,$116084,$116085,$116086,$116087,$116088),(nextval($116089),$116090,$116091,$116092,$116093,$116094,$116095,$116096,$116097,$116098,$116099,$116100,$116101,$116102),(nextval($116103),$116104,$116105,$116106,$116107,$116108,$116109,$116110,$116111,$116112,$116113,$116114,$116115,$116116),(nextval($116117),$116118,$116119,$116120,$116121,$116122,$116123,$116124,$116125,$116126,$116127,$116128,$116129,$116130),(nextval($116131),$116132,$116133,$116134,$116135,$116136,$116137,$116138,$116139,$116140,$116141,$116142,$116143,$116144),(nextval($116145),$116146,$116147,$116148,$116149,$116150,$116151,$116152,$116153,$116154,$116155,$116156,$116157,$116158),(nextval($116159),$116160,$116161,$116162,$116163,$116164,$116165,$116166,$116167,$116168,$116169,$116170,$116171,$116172),(nextval($116173),$116174,$116175,$116176,$116177,$116178,$116179,$116180,$116181,$116182,$116183,$116184,$116185,$116186),(nextval($116187),$116188,$116189,$116190,$116191,$116192,$116193,$116194,$116195,$116196,$116197,$116198,$116199,$116200),(nextval($116201),$116202,$116203,$116204,$116205,$116206,$116207,$116208,$116209,$116210,$116211,$116212,$116213,$116214),(nextval($116215),$116216,$116217,$116218,$116219,$116220,$116221,$116222,$116223,$116224,$116225,$116226,$116227,$116228),(nextval($116229),$116230,$116231,$116232,$116233,$116234,$116235,$116236,$116237,$116238,$116239,$116240,$116241,$116242),(nextval($116243),$116244,$116245,$116246,$116247,$116248,$116249,$116250,$116251,$116252,$116253,$116254,$116255,$116256),(nextval($116257),$116258,$116259,$116260,$116261,$116262,$116263,$116264,$116265,$116266,$116267,$116268,$116269,$116270),(nextval($116271),$116272,$116273,$116274,$116275,$116276,$116277,$116278,$116279,$116280,$116281,$116282,$116283,$116284),(nextval($116285),$116286,$116287,$116288,$116289,$116290,$116291,$116292,$116293,$116294,$116295,$116296,$116297,$116298),(nextval($116299),$116300,$116301,$116302,$116303,$116304,$116305,$116306,$116307,$116308,$116309,$116310,$116311,$116312),(nextval($116313),$116314,$116315,$116316,$116317,$116318,$116319,$116320,$116321,$116322,$116323,$116324,$116325,$116326),(nextval($116327),$116328,$116329,$116330,$116331,$116332,$116333,$116334,$116335,$116336,$116337,$116338,$116339,$116340),(nextval($116341),$116342,$116343,$116344,$116345,$116346,$116347,$116348,$116349,$116350,$116351,$116352,$116353,$116354),(nextval($116355),$116356,$116357,$116358,$116359,$116360,$116361,$116362,$116363,$116364,$116365,$116366,$116367,$116368),(nextval($116369),$116370,$116371,$116372,$116373,$116374,$116375,$116376,$116377,$116378,$116379,$116380,$116381,$116382),(nextval($116383),$116384,$116385,$116386,$116387,$116388,$116389,$116390,$116391,$116392,$116393,$116394,$116395,$116396),(nextval($116397),$116398,$116399,$116400,$116401,$116402,$116403,$116404,$116405,$116406,$116407,$116408,$116409,$116410),(nextval($116411),$116412,$116413,$116414,$116415,$116416,$116417,$116418,$116419,$116420,$116421,$116422,$116423,$116424),(nextval($116425),$116426,$116427,$116428,$116429,$116430,$116431,$116432,$116433,$116434,$116435,$116436,$116437,$116438),(nextval($116439),$116440,$116441,$116442,$116443,$116444,$116445,$116446,$116447,$116448,$116449,$116450,$116451,$116452),(nextval($116453),$116454,$116455,$116456,$116457,$116458,$116459,$116460,$116461,$116462,$116463,$116464,$116465,$116466),(nextval($116467),$116468,$116469,$116470,$116471,$116472,$116473,$116474,$116475,$116476,$116477,$116478,$116479,$116480),(nextval($116481),$116482,$116483,$116484,$116485,$116486,$116487,$116488,$116489,$116490,$116491,$116492,$116493,$116494),(nextval($116495),$116496,$116497,$116498,$116499,$116500,$116501,$116502,$116503,$116504,$116505,$116506,$116507,$116508),(nextval($116509),$116510,$116511,$116512,$116513,$116514,$116515,$116516,$116517,$116518,$116519,$116520,$116521,$116522),(nextval($116523),$116524,$116525,$116526,$116527,$116528,$116529,$116530,$116531,$116532,$116533,$116534,$116535,$116536),(nextval($116537),$116538,$116539,$116540,$116541,$116542,$116543,$116544,$116545,$116546,$116547,$116548,$116549,$116550),(nextval($116551),$116552,$116553,$116554,$116555,$116556,$116557,$116558,$116559,$116560,$116561,$116562,$116563,$116564),(nextval($116565),$116566,$116567,$116568,$116569,$116570,$116571,$116572,$116573,$116574,$116575,$116576,$116577,$116578),(nextval($116579),$116580,$116581,$116582,$116583,$116584,$116585,$116586,$116587,$116588,$116589,$116590,$116591,$116592),(nextval($116593),$116594,$116595,$116596,$116597,$116598,$116599,$116600,$116601,$116602,$116603,$116604,$116605,$116606),(nextval($116607),$116608,$116609,$116610,$116611,$116612,$116613,$116614,$116615,$116616,$116617,$116618,$116619,$116620),(nextval($116621),$116622,$116623,$116624,$116625,$116626,$116627,$116628,$116629,$116630,$116631,$116632,$116633,$116634),(nextval($116635),$116636,$116637,$116638,$116639,$116640,$116641,$116642,$116643,$116644,$116645,$116646,$116647,$116648),(nextval($116649),$116650,$116651,$116652,$116653,$116654,$116655,$116656,$116657,$116658,$116659,$116660,$116661,$116662),(nextval($116663),$116664,$116665,$116666,$116667,$116668,$116669,$116670,$116671,$116672,$116673,$116674,$116675,$116676),(nextval($116677),$116678,$116679,$116680,$116681,$116682,$116683,$116684,$116685,$116686,$116687,$116688,$116689,$116690),(nextval($116691),$116692,$116693,$116694,$116695,$116696,$116697,$116698,$116699,$116700,$116701,$116702,$116703,$116704),(nextval($116705),$116706,$116707,$116708,$116709,$116710,$116711,$116712,$116713,$116714,$116715,$116716,$116717,$116718),(nextval($116719),$116720,$116721,$116722,$116723,$116724,$116725,$116726,$116727,$116728,$116729,$116730,$116731,$116732),(nextval($116733),$116734,$116735,$116736,$116737,$116738,$116739,$116740,$116741,$116742,$116743,$116744,$116745,$116746),(nextval($116747),$116748,$116749,$116750,$116751,$116752,$116753,$116754,$116755,$116756,$116757,$116758,$116759,$116760),(nextval($116761),$116762,$116763,$116764,$116765,$116766,$116767,$116768,$116769,$116770,$116771,$116772,$116773,$116774),(nextval($116775),$116776,$116777,$116778,$116779,$116780,$116781,$116782,$116783,$116784,$116785,$116786,$116787,$116788),(nextval($116789),$116790,$116791,$116792,$116793,$116794,$116795,$116796,$116797,$116798,$116799,$116800,$116801,$116802),(nextval($116803),$116804,$116805,$116806,$116807,$116808,$116809,$116810,$116811,$116812,$116813,$116814,$116815,$116816),(nextval($116817),$116818,$116819,$116820,$116821,$116822,$116823,$116824,$116825,$116826,$116827,$116828,$116829,$116830),(nextval($116831),$116832,$116833,$116834,$116835,$116836,$116837,$116838,$116839,$116840,$116841,$116842,$116843,$116844),(nextval($116845),$116846,$116847,$116848,$116849,$116850,$116851,$116852,$116853,$116854,$116855,$116856,$116857,$116858),(nextval($116859),$116860,$116861,$116862,$116863,$116864,$116865,$116866,$116867,$116868,$116869,$116870,$116871,$116872),(nextval($116873),$116874,$116875,$116876,$116877,$116878,$116879,$116880,$116881,$116882,$116883,$116884,$116885,$116886),(nextval($116887),$116888,$116889,$116890,$116891,$116892,$116893,$116894,$116895,$116896,$116897,$116898,$116899,$116900),(nextval($116901),$116902,$116903,$116904,$116905,$116906,$116907,$116908,$116909,$116910,$116911,$116912,$116913,$116914),(nextval($116915),$116916,$116917,$116918,$116919,$116920,$116921,$116922,$116923,$116924,$116925,$116926,$116927,$116928),(nextval($116929),$116930,$116931,$116932,$116933,$116934,$116935,$116936,$116937,$116938,$116939,$116940,$116941,$116942),(nextval($116943),$116944,$116945,$116946,$116947,$116948,$116949,$116950,$116951,$116952,$116953,$116954,$116955,$116956),(nextval($116957),$116958,$116959,$116960,$116961,$116962,$116963,$116964,$116965,$116966,$116967,$116968,$116969,$116970),(nextval($116971),$116972,$116973,$116974,$116975,$116976,$116977,$116978,$116979,$116980,$116981,$116982,$116983,$116984),(nextval($116985),$116986,$116987,$116988,$116989,$116990,$116991,$116992,$116993,$116994,$116995,$116996,$116997,$116998),(nextval($116999),$117000,$117001,$117002,$117003,$117004,$117005,$117006,$117007,$117008,$117009,$117010,$117011,$117012),(nextval($117013),$117014,$117015,$117016,$117017,$117018,$117019,$117020,$117021,$117022,$117023,$117024,$117025,$117026),(nextval($117027),$117028,$117029,$117030,$117031,$117032,$117033,$117034,$117035,$117036,$117037,$117038,$117039,$117040),(nextval($117041),$117042,$117043,$117044,$117045,$117046,$117047,$117048,$117049,$117050,$117051,$117052,$117053,$117054),(nextval($117055),$117056,$117057,$117058,$117059,$117060,$117061,$117062,$117063,$117064,$117065,$117066,$117067,$117068),(nextval($117069),$117070,$117071,$117072,$117073,$117074,$117075,$117076,$117077,$117078,$117079,$117080,$117081,$117082),(nextval($117083),$117084,$117085,$117086,$117087,$117088,$117089,$117090,$117091,$117092,$117093,$117094,$117095,$117096),(nextval($117097),$117098,$117099,$117100,$117101,$117102,$117103,$117104,$117105,$117106,$117107,$117108,$117109,$117110),(nextval($117111),$117112,$117113,$117114,$117115,$117116,$117117,$117118,$117119,$117120,$117121,$117122,$117123,$117124),(nextval($117125),$117126,$117127,$117128,$117129,$117130,$117131,$117132,$117133,$117134,$117135,$117136,$117137,$117138),(nextval($117139),$117140,$117141,$117142,$117143,$117144,$117145,$117146,$117147,$117148,$117149,$117150,$117151,$117152),(nextval($117153),$117154,$117155,$117156,$117157,$117158,$117159,$117160,$117161,$117162,$117163,$117164,$117165,$117166),(nextval($117167),$117168,$117169,$117170,$117171,$117172,$117173,$117174,$117175,$117176,$117177,$117178,$117179,$117180),(nextval($117181),$117182,$117183,$117184,$117185,$117186,$117187,$117188,$117189,$117190,$117191,$117192,$117193,$117194),(nextval($117195),$117196,$117197,$117198,$117199,$117200,$117201,$117202,$117203,$117204,$117205,$117206,$117207,$117208),(nextval($117209),$117210,$117211,$117212,$117213,$117214,$117215,$117216,$117217,$117218,$117219,$117220,$117221,$117222),(nextval($117223),$117224,$117225,$117226,$117227,$117228,$117229,$117230,$117231,$117232,$117233,$117234,$117235,$117236),(nextval($117237),$117238,$117239,$117240,$117241,$117242,$117243,$117244,$117245,$117246,$117247,$117248,$117249,$117250),(nextval($117251),$117252,$117253,$117254,$117255,$117256,$117257,$117258,$117259,$117260,$117261,$117262,$117263,$117264),(nextval($117265),$117266,$117267,$117268,$117269,$117270,$117271,$117272,$117273,$117274,$117275,$117276,$117277,$117278),(nextval($117279),$117280,$117281,$117282,$117283,$117284,$117285,$117286,$117287,$117288,$117289,$117290,$117291,$117292),(nextval($117293),$117294,$117295,$117296,$117297,$117298,$117299,$117300,$117301,$117302,$117303,$117304,$117305,$117306),(nextval($117307),$117308,$117309,$117310,$117311,$117312,$117313,$117314,$117315,$117316,$117317,$117318,$117319,$117320),(nextval($117321),$117322,$117323,$117324,$117325,$117326,$117327,$117328,$117329,$117330,$117331,$117332,$117333,$117334),(nextval($117335),$117336,$117337,$117338,$117339,$117340,$117341,$117342,$117343,$117344,$117345,$117346,$117347,$117348),(nextval($117349),$117350,$117351,$117352,$117353,$117354,$117355,$117356,$117357,$117358,$117359,$117360,$117361,$117362),(nextval($117363),$117364,$117365,$117366,$117367,$117368,$117369,$117370,$117371,$117372,$117373,$117374,$117375,$117376),(nextval($117377),$117378,$117379,$117380,$117381,$117382,$117383,$117384,$117385,$117386,$117387,$117388,$117389,$117390),(nextval($117391),$117392,$117393,$117394,$117395,$117396,$117397,$117398,$117399,$117400,$117401,$117402,$117403,$117404),(nextval($117405),$117406,$117407,$117408,$117409,$117410,$117411,$117412,$117413,$117414,$117415,$117416,$117417,$117418),(nextval($117419),$117420,$117421,$117422,$117423,$117424,$117425,$117426,$117427,$117428,$117429,$117430,$117431,$117432),(nextval($117433),$117434,$117435,$117436,$117437,$117438,$117439,$117440,$117441,$117442,$117443,$117444,$117445,$117446),(nextval($117447),$117448,$117449,$117450,$117451,$117452,$117453,$117454,$117455,$117456,$117457,$117458,$117459,$117460),(nextval($117461),$117462,$117463,$117464,$117465,$117466,$117467,$117468,$117469,$117470,$117471,$117472,$117473,$117474),(nextval($117475),$117476,$117477,$117478,$117479,$117480,$117481,$117482,$117483,$117484,$117485,$117486,$117487,$117488),(nextval($117489),$117490,$117491,$117492,$117493,$117494,$117495,$117496,$117497,$117498,$117499,$117500,$117501,$117502),(nextval($117503),$117504,$117505,$117506,$117507,$117508,$117509,$117510,$117511,$117512,$117513,$117514,$117515,$117516),(nextval($117517),$117518,$117519,$117520,$117521,$117522,$117523,$117524,$117525,$117526,$117527,$117528,$117529,$117530),(nextval($117531),$117532,$117533,$117534,$117535,$117536,$117537,$117538,$117539,$117540,$117541,$117542,$117543,$117544),(nextval($117545),$117546,$117547,$117548,$117549,$117550,$117551,$117552,$117553,$117554,$117555,$117556,$117557,$117558),(nextval($117559),$117560,$117561,$117562,$117563,$117564,$117565,$117566,$117567,$117568,$117569,$117570,$117571,$117572),(nextval($117573),$117574,$117575,$117576,$117577,$117578,$117579,$117580,$117581,$117582,$117583,$117584,$117585,$117586),(nextval($117587),$117588,$117589,$117590,$117591,$117592,$117593,$117594,$117595,$117596,$117597,$117598,$117599,$117600),(nextval($117601),$117602,$117603,$117604,$117605,$117606,$117607,$117608,$117609,$117610,$117611,$117612,$117613,$117614),(nextval($117615),$117616,$117617,$117618,$117619,$117620,$117621,$117622,$117623,$117624,$117625,$117626,$117627,$117628),(nextval($117629),$117630,$117631,$117632,$117633,$117634,$117635,$117636,$117637,$117638,$117639,$117640,$117641,$117642),(nextval($117643),$117644,$117645,$117646,$117647,$117648,$117649,$117650,$117651,$117652,$117653,$117654,$117655,$117656),(nextval($117657),$117658,$117659,$117660,$117661,$117662,$117663,$117664,$117665,$117666,$117667,$117668,$117669,$117670),(nextval($117671),$117672,$117673,$117674,$117675,$117676,$117677,$117678,$117679,$117680,$117681,$117682,$117683,$117684),(nextval($117685),$117686,$117687,$117688,$117689,$117690,$117691,$117692,$117693,$117694,$117695,$117696,$117697,$117698),(nextval($117699),$117700,$117701,$117702,$117703,$117704,$117705,$117706,$117707,$117708,$117709,$117710,$117711,$117712),(nextval($117713),$117714,$117715,$117716,$117717,$117718,$117719,$117720,$117721,$117722,$117723,$117724,$117725,$117726),(nextval($117727),$117728,$117729,$117730,$117731,$117732,$117733,$117734,$117735,$117736,$117737,$117738,$117739,$117740),(nextval($117741),$117742,$117743,$117744,$117745,$117746,$117747,$117748,$117749,$117750,$117751,$117752,$117753,$117754),(nextval($117755),$117756,$117757,$117758,$117759,$117760,$117761,$117762,$117763,$117764,$117765,$117766,$117767,$117768),(nextval($117769),$117770,$117771,$117772,$117773,$117774,$117775,$117776,$117777,$117778,$117779,$117780,$117781,$117782),(nextval($117783),$117784,$117785,$117786,$117787,$117788,$117789,$117790,$117791,$117792,$117793,$117794,$117795,$117796),(nextval($117797),$117798,$117799,$117800,$117801,$117802,$117803,$117804,$117805,$117806,$117807,$117808,$117809,$117810),(nextval($117811),$117812,$117813,$117814,$117815,$117816,$117817,$117818,$117819,$117820,$117821,$117822,$117823,$117824),(nextval($117825),$117826,$117827,$117828,$117829,$117830,$117831,$117832,$117833,$117834,$117835,$117836,$117837,$117838),(nextval($117839),$117840,$117841,$117842,$117843,$117844,$117845,$117846,$117847,$117848,$117849,$117850,$117851,$117852),(nextval($117853),$117854,$117855,$117856,$117857,$117858,$117859,$117860,$117861,$117862,$117863,$117864,$117865,$117866),(nextval($117867),$117868,$117869,$117870,$117871,$117872,$117873,$117874,$117875,$117876,$117877,$117878,$117879,$117880),(nextval($117881),$117882,$117883,$117884,$117885,$117886,$117887,$117888,$117889,$117890,$117891,$117892,$117893,$117894),(nextval($117895),$117896,$117897,$117898,$117899,$117900,$117901,$117902,$117903,$117904,$117905,$117906,$117907,$117908),(nextval($117909),$117910,$117911,$117912,$117913,$117914,$117915,$117916,$117917,$117918,$117919,$117920,$117921,$117922),(nextval($117923),$117924,$117925,$117926,$117927,$117928,$117929,$117930,$117931,$117932,$117933,$117934,$117935,$117936),(nextval($117937),$117938,$117939,$117940,$117941,$117942,$117943,$117944,$117945,$117946,$117947,$117948,$117949,$117950),(nextval($117951),$117952,$117953,$117954,$117955,$117956,$117957,$117958,$117959,$117960,$117961,$117962,$117963,$117964),(nextval($117965),$117966,$117967,$117968,$117969,$117970,$117971,$117972,$117973,$117974,$117975,$117976,$117977,$117978),(nextval($117979),$117980,$117981,$117982,$117983,$117984,$117985,$117986,$117987,$117988,$117989,$117990,$117991,$117992),(nextval($117993),$117994,$117995,$117996,$117997,$117998,$117999,$118000,$118001,$118002,$118003,$118004,$118005,$118006),(nextval($118007),$118008,$118009,$118010,$118011,$118012,$118013,$118014,$118015,$118016,$118017,$118018,$118019,$118020),(nextval($118021),$118022,$118023,$118024,$118025,$118026,$118027,$118028,$118029,$118030,$118031,$118032,$118033,$118034),(nextval($118035),$118036,$118037,$118038,$118039,$118040,$118041,$118042,$118043,$118044,$118045,$118046,$118047,$118048),(nextval($118049),$118050,$118051,$118052,$118053,$118054,$118055,$118056,$118057,$118058,$118059,$118060,$118061,$118062),(nextval($118063),$118064,$118065,$118066,$118067,$118068,$118069,$118070,$118071,$118072,$118073,$118074,$118075,$118076),(nextval($118077),$118078,$118079,$118080,$118081,$118082,$118083,$118084,$118085,$118086,$118087,$118088,$118089,$118090),(nextval($118091),$118092,$118093,$118094,$118095,$118096,$118097,$118098,$118099,$118100,$118101,$118102,$118103,$118104),(nextval($118105),$118106,$118107,$118108,$118109,$118110,$118111,$118112,$118113,$118114,$118115,$118116,$118117,$118118),(nextval($118119),$118120,$118121,$118122,$118123,$118124,$118125,$118126,$118127,$118128,$118129,$118130,$118131,$118132),(nextval($118133),$118134,$118135,$118136,$118137,$118138,$118139,$118140,$118141,$118142,$118143,$118144,$118145,$118146),(nextval($118147),$118148,$118149,$118150,$118151,$118152,$118153,$118154,$118155,$118156,$118157,$118158,$118159,$118160),(nextval($118161),$118162,$118163,$118164,$118165,$118166,$118167,$118168,$118169,$118170,$118171,$118172,$118173,$118174),(nextval($118175),$118176,$118177,$118178,$118179,$118180,$118181,$118182,$118183,$118184,$118185,$118186,$118187,$118188),(nextval($118189),$118190,$118191,$118192,$118193,$118194,$118195,$118196,$118197,$118198,$118199,$118200,$118201,$118202),(nextval($118203),$118204,$118205,$118206,$118207,$118208,$118209,$118210,$118211,$118212,$118213,$118214,$118215,$118216),(nextval($118217),$118218,$118219,$118220,$118221,$118222,$118223,$118224,$118225,$118226,$118227,$118228,$118229,$118230),(nextval($118231),$118232,$118233,$118234,$118235,$118236,$118237,$118238,$118239,$118240,$118241,$118242,$118243,$118244),(nextval($118245),$118246,$118247,$118248,$118249,$118250,$118251,$118252,$118253,$118254,$118255,$118256,$118257,$118258),(nextval($118259),$118260,$118261,$118262,$118263,$118264,$118265,$118266,$118267,$118268,$118269,$118270,$118271,$118272),(nextval($118273),$118274,$118275,$118276,$118277,$118278,$118279,$118280,$118281,$118282,$118283,$118284,$118285,$118286),(nextval($118287),$118288,$118289,$118290,$118291,$118292,$118293,$118294,$118295,$118296,$118297,$118298,$118299,$118300),(nextval($118301),$118302,$118303,$118304,$118305,$118306,$118307,$118308,$118309,$118310,$118311,$118312,$118313,$118314),(nextval($118315),$118316,$118317,$118318,$118319,$118320,$118321,$118322,$118323,$118324,$118325,$118326,$118327,$118328),(nextval($118329),$118330,$118331,$118332,$118333,$118334,$118335,$118336,$118337,$118338,$118339,$118340,$118341,$118342),(nextval($118343),$118344,$118345,$118346,$118347,$118348,$118349,$118350,$118351,$118352,$118353,$118354,$118355,$118356),(nextval($118357),$118358,$118359,$118360,$118361,$118362,$118363,$118364,$118365,$118366,$118367,$118368,$118369,$118370),(nextval($118371),$118372,$118373,$118374,$118375,$118376,$118377,$118378,$118379,$118380,$118381,$118382,$118383,$118384),(nextval($118385),$118386,$118387,$118388,$118389,$118390,$118391,$118392,$118393,$118394,$118395,$118396,$118397,$118398),(nextval($118399),$118400,$118401,$118402,$118403,$118404,$118405,$118406,$118407,$118408,$118409,$118410,$118411,$118412),(nextval($118413),$118414,$118415,$118416,$118417,$118418,$118419,$118420,$118421,$118422,$118423,$118424,$118425,$118426),(nextval($118427),$118428,$118429,$118430,$118431,$118432,$118433,$118434,$118435,$118436,$118437,$118438,$118439,$118440),(nextval($118441),$118442,$118443,$118444,$118445,$118446,$118447,$118448,$118449,$118450,$118451,$118452,$118453,$118454),(nextval($118455),$118456,$118457,$118458,$118459,$118460,$118461,$118462,$118463,$118464,$118465,$118466,$118467,$118468),(nextval($118469),$118470,$118471,$118472,$118473,$118474,$118475,$118476,$118477,$118478,$118479,$118480,$118481,$118482),(nextval($118483),$118484,$118485,$118486,$118487,$118488,$118489,$118490,$118491,$118492,$118493,$118494,$118495,$118496),(nextval($118497),$118498,$118499,$118500,$118501,$118502,$118503,$118504,$118505,$118506,$118507,$118508,$118509,$118510),(nextval($118511),$118512,$118513,$118514,$118515,$118516,$118517,$118518,$118519,$118520,$118521,$118522,$118523,$118524),(nextval($118525),$118526,$118527,$118528,$118529,$118530,$118531,$118532,$118533,$118534,$118535,$118536,$118537,$118538),(nextval($118539),$118540,$118541,$118542,$118543,$118544,$118545,$118546,$118547,$118548,$118549,$118550,$118551,$118552),(nextval($118553),$118554,$118555,$118556,$118557,$118558,$118559,$118560,$118561,$118562,$118563,$118564,$118565,$118566),(nextval($118567),$118568,$118569,$118570,$118571,$118572,$118573,$118574,$118575,$118576,$118577,$118578,$118579,$118580),(nextval($118581),$118582,$118583,$118584,$118585,$118586,$118587,$118588,$118589,$118590,$118591,$118592,$118593,$118594),(nextval($118595),$118596,$118597,$118598,$118599,$118600,$118601,$118602,$118603,$118604,$118605,$118606,$118607,$118608),(nextval($118609),$118610,$118611,$118612,$118613,$118614,$118615,$118616,$118617,$118618,$118619,$118620,$118621,$118622),(nextval($118623),$118624,$118625,$118626,$118627,$118628,$118629,$118630,$118631,$118632,$118633,$118634,$118635,$118636),(nextval($118637),$118638,$118639,$118640,$118641,$118642,$118643,$118644,$118645,$118646,$118647,$118648,$118649,$118650),(nextval($118651),$118652,$118653,$118654,$118655,$118656,$118657,$118658,$118659,$118660,$118661,$118662,$118663,$118664),(nextval($118665),$118666,$118667,$118668,$118669,$118670,$118671,$118672,$118673,$118674,$118675,$118676,$118677,$118678),(nextval($118679),$118680,$118681,$118682,$118683,$118684,$118685,$118686,$118687,$118688,$118689,$118690,$118691,$118692),(nextval($118693),$118694,$118695,$118696,$118697,$118698,$118699,$118700,$118701,$118702,$118703,$118704,$118705,$118706),(nextval($118707),$118708,$118709,$118710,$118711,$118712,$118713,$118714,$118715,$118716,$118717,$118718,$118719,$118720),(nextval($118721),$118722,$118723,$118724,$118725,$118726,$118727,$118728,$118729,$118730,$118731,$118732,$118733,$118734),(nextval($118735),$118736,$118737,$118738,$118739,$118740,$118741,$118742,$118743,$118744,$118745,$118746,$118747,$118748),(nextval($118749),$118750,$118751,$118752,$118753,$118754,$118755,$118756,$118757,$118758,$118759,$118760,$118761,$118762),(nextval($118763),$118764,$118765,$118766,$118767,$118768,$118769,$118770,$118771,$118772,$118773,$118774,$118775,$118776),(nextval($118777),$118778,$118779,$118780,$118781,$118782,$118783,$118784,$118785,$118786,$118787,$118788,$118789,$118790),(nextval($118791),$118792,$118793,$118794,$118795,$118796,$118797,$118798,$118799,$118800,$118801,$118802,$118803,$118804),(nextval($118805),$118806,$118807,$118808,$118809,$118810,$118811,$118812,$118813,$118814,$118815,$118816,$118817,$118818),(nextval($118819),$118820,$118821,$118822,$118823,$118824,$118825,$118826,$118827,$118828,$118829,$118830,$118831,$118832),(nextval($118833),$118834,$118835,$118836,$118837,$118838,$118839,$118840,$118841,$118842,$118843,$118844,$118845,$118846),(nextval($118847),$118848,$118849,$118850,$118851,$118852,$118853,$118854,$118855,$118856,$118857,$118858,$118859,$118860),(nextval($118861),$118862,$118863,$118864,$118865,$118866,$118867,$118868,$118869,$118870,$118871,$118872,$118873,$118874),(nextval($118875),$118876,$118877,$118878,$118879,$118880,$118881,$118882,$118883,$118884,$118885,$118886,$118887,$118888),(nextval($118889),$118890,$118891,$118892,$118893,$118894,$118895,$118896,$118897,$118898,$118899,$118900,$118901,$118902),(nextval($118903),$118904,$118905,$118906,$118907,$118908,$118909,$118910,$118911,$118912,$118913,$118914,$118915,$118916),(nextval($118917),$118918,$118919,$118920,$118921,$118922,$118923,$118924,$118925,$118926,$118927,$118928,$118929,$118930),(nextval($118931),$118932,$118933,$118934,$118935,$118936,$118937,$118938,$118939,$118940,$118941,$118942,$118943,$118944),(nextval($118945),$118946,$118947,$118948,$118949,$118950,$118951,$118952,$118953,$118954,$118955,$118956,$118957,$118958),(nextval($118959),$118960,$118961,$118962,$118963,$118964,$118965,$118966,$118967,$118968,$118969,$118970,$118971,$118972),(nextval($118973),$118974,$118975,$118976,$118977,$118978,$118979,$118980,$118981,$118982,$118983,$118984,$118985,$118986),(nextval($118987),$118988,$118989,$118990,$118991,$118992,$118993,$118994,$118995,$118996,$118997,$118998,$118999,$119000),(nextval($119001),$119002,$119003,$119004,$119005,$119006,$119007,$119008,$119009,$119010,$119011,$119012,$119013,$119014),(nextval($119015),$119016,$119017,$119018,$119019,$119020,$119021,$119022,$119023,$119024,$119025,$119026,$119027,$119028),(nextval($119029),$119030,$119031,$119032,$119033,$119034,$119035,$119036,$119037,$119038,$119039,$119040,$119041,$119042),(nextval($119043),$119044,$119045,$119046,$119047,$119048,$119049,$119050,$119051,$119052,$119053,$119054,$119055,$119056),(nextval($119057),$119058,$119059,$119060,$119061,$119062,$119063,$119064,$119065,$119066,$119067,$119068,$119069,$119070),(nextval($119071),$119072,$119073,$119074,$119075,$119076,$119077,$119078,$119079,$119080,$119081,$119082,$119083,$119084),(nextval($119085),$119086,$119087,$119088,$119089,$119090,$119091,$119092,$119093,$119094,$119095,$119096,$119097,$119098),(nextval($119099),$119100,$119101,$119102,$119103,$119104,$119105,$119106,$119107,$119108,$119109,$119110,$119111,$119112),(nextval($119113),$119114,$119115,$119116,$119117,$119118,$119119,$119120,$119121,$119122,$119123,$119124,$119125,$119126),(nextval($119127),$119128,$119129,$119130,$119131,$119132,$119133,$119134,$119135,$119136,$119137,$119138,$119139,$119140),(nextval($119141),$119142,$119143,$119144,$119145,$119146,$119147,$119148,$119149,$119150,$119151,$119152,$119153,$119154),(nextval($119155),$119156,$119157,$119158,$119159,$119160,$119161,$119162,$119163,$119164,$119165,$119166,$119167,$119168),(nextval($119169),$119170,$119171,$119172,$119173,$119174,$119175,$119176,$119177,$119178,$119179,$119180,$119181,$119182),(nextval($119183),$119184,$119185,$119186,$119187,$119188,$119189,$119190,$119191,$119192,$119193,$119194,$119195,$119196),(nextval($119197),$119198,$119199,$119200,$119201,$119202,$119203,$119204,$119205,$119206,$119207,$119208,$119209,$119210),(nextval($119211),$119212,$119213,$119214,$119215,$119216,$119217,$119218,$119219,$119220,$119221,$119222,$119223,$119224),(nextval($119225),$119226,$119227,$119228,$119229,$119230,$119231,$119232,$119233,$119234,$119235,$119236,$119237,$119238),(nextval($119239),$119240,$119241,$119242,$119243,$119244,$119245,$119246,$119247,$119248,$119249,$119250,$119251,$119252),(nextval($119253),$119254,$119255,$119256,$119257,$119258,$119259,$119260,$119261,$119262,$119263,$119264,$119265,$119266),(nextval($119267),$119268,$119269,$119270,$119271,$119272,$119273,$119274,$119275,$119276,$119277,$119278,$119279,$119280),(nextval($119281),$119282,$119283,$119284,$119285,$119286,$119287,$119288,$119289,$119290,$119291,$119292,$119293,$119294),(nextval($119295),$119296,$119297,$119298,$119299,$119300,$119301,$119302,$119303,$119304,$119305,$119306,$119307,$119308),(nextval($119309),$119310,$119311,$119312,$119313,$119314,$119315,$119316,$119317,$119318,$119319,$119320,$119321,$119322),(nextval($119323),$119324,$119325,$119326,$119327,$119328,$119329,$119330,$119331,$119332,$119333,$119334,$119335,$119336),(nextval($119337),$119338,$119339,$119340,$119341,$119342,$119343,$119344,$119345,$119346,$119347,$119348,$119349,$119350),(nextval($119351),$119352,$119353,$119354,$119355,$119356,$119357,$119358,$119359,$119360,$119361,$119362,$119363,$119364),(nextval($119365),$119366,$119367,$119368,$119369,$119370,$119371,$119372,$119373,$119374,$119375,$119376,$119377,$119378),(nextval($119379),$119380,$119381,$119382,$119383,$119384,$119385,$119386,$119387,$119388,$119389,$119390,$119391,$119392),(nextval($119393),$119394,$119395,$119396,$119397,$119398,$119399,$119400,$119401,$119402,$119403,$119404,$119405,$119406),(nextval($119407),$119408,$119409,$119410,$119411,$119412,$119413,$119414,$119415,$119416,$119417,$119418,$119419,$119420),(nextval($119421),$119422,$119423,$119424,$119425,$119426,$119427,$119428,$119429,$119430,$119431,$119432,$119433,$119434),(nextval($119435),$119436,$119437,$119438,$119439,$119440,$119441,$119442,$119443,$119444,$119445,$119446,$119447,$119448),(nextval($119449),$119450,$119451,$119452,$119453,$119454,$119455,$119456,$119457,$119458,$119459,$119460,$119461,$119462),(nextval($119463),$119464,$119465,$119466,$119467,$119468,$119469,$119470,$119471,$119472,$119473,$119474,$119475,$119476),(nextval($119477),$119478,$119479,$119480,$119481,$119482,$119483,$119484,$119485,$119486,$119487,$119488,$119489,$119490),(nextval($119491),$119492,$119493,$119494,$119495,$119496,$119497,$119498,$119499,$119500,$119501,$119502,$119503,$119504),(nextval($119505),$119506,$119507,$119508,$119509,$119510,$119511,$119512,$119513,$119514,$119515,$119516,$119517,$119518),(nextval($119519),$119520,$119521,$119522,$119523,$119524,$119525,$119526,$119527,$119528,$119529,$119530,$119531,$119532),(nextval($119533),$119534,$119535,$119536,$119537,$119538,$119539,$119540,$119541,$119542,$119543,$119544,$119545,$119546),(nextval($119547),$119548,$119549,$119550,$119551,$119552,$119553,$119554,$119555,$119556,$119557,$119558,$119559,$119560),(nextval($119561),$119562,$119563,$119564,$119565,$119566,$119567,$119568,$119569,$119570,$119571,$119572,$119573,$119574),(nextval($119575),$119576,$119577,$119578,$119579,$119580,$119581,$119582,$119583,$119584,$119585,$119586,$119587,$119588),(nextval($119589),$119590,$119591,$119592,$119593,$119594,$119595,$119596,$119597,$119598,$119599,$119600,$119601,$119602),(nextval($119603),$119604,$119605,$119606,$119607,$119608,$119609,$119610,$119611,$119612,$119613,$119614,$119615,$119616),(nextval($119617),$119618,$119619,$119620,$119621,$119622,$119623,$119624,$119625,$119626,$119627,$119628,$119629,$119630),(nextval($119631),$119632,$119633,$119634,$119635,$119636,$119637,$119638,$119639,$119640,$119641,$119642,$119643,$119644),(nextval($119645),$119646,$119647,$119648,$119649,$119650,$119651,$119652,$119653,$119654,$119655,$119656,$119657,$119658),(nextval($119659),$119660,$119661,$119662,$119663,$119664,$119665,$119666,$119667,$119668,$119669,$119670,$119671,$119672),(nextval($119673),$119674,$119675,$119676,$119677,$119678,$119679,$119680,$119681,$119682,$119683,$119684,$119685,$119686),(nextval($119687),$119688,$119689,$119690,$119691,$119692,$119693,$119694,$119695,$119696,$119697,$119698,$119699,$119700),(nextval($119701),$119702,$119703,$119704,$119705,$119706,$119707,$119708,$119709,$119710,$119711,$119712,$119713,$119714),(nextval($119715),$119716,$119717,$119718,$119719,$119720,$119721,$119722,$119723,$119724,$119725,$119726,$119727,$119728),(nextval($119729),$119730,$119731,$119732,$119733,$119734,$119735,$119736,$119737,$119738,$119739,$119740,$119741,$119742),(nextval($119743),$119744,$119745,$119746,$119747,$119748,$119749,$119750,$119751,$119752,$119753,$119754,$119755,$119756),(nextval($119757),$119758,$119759,$119760,$119761,$119762,$119763,$119764,$119765,$119766,$119767,$119768,$119769,$119770),(nextval($119771),$119772,$119773,$119774,$119775,$119776,$119777,$119778,$119779,$119780,$119781,$119782,$119783,$119784),(nextval($119785),$119786,$119787,$119788,$119789,$119790,$119791,$119792,$119793,$119794,$119795,$119796,$119797,$119798),(nextval($119799),$119800,$119801,$119802,$119803,$119804,$119805,$119806,$119807,$119808,$119809,$119810,$119811,$119812),(nextval($119813),$119814,$119815,$119816,$119817,$119818,$119819,$119820,$119821,$119822,$119823,$119824,$119825,$119826),(nextval($119827),$119828,$119829,$119830,$119831,$119832,$119833,$119834,$119835,$119836,$119837,$119838,$119839,$119840),(nextval($119841),$119842,$119843,$119844,$119845,$119846,$119847,$119848,$119849,$119850,$119851,$119852,$119853,$119854),(nextval($119855),$119856,$119857,$119858,$119859,$119860,$119861,$119862,$119863,$119864,$119865,$119866,$119867,$119868),(nextval($119869),$119870,$119871,$119872,$119873,$119874,$119875,$119876,$119877,$119878,$119879,$119880,$119881,$119882),(nextval($119883),$119884,$119885,$119886,$119887,$119888,$119889,$119890,$119891,$119892,$119893,$119894,$119895,$119896),(nextval($119897),$119898,$119899,$119900,$119901,$119902,$119903,$119904,$119905,$119906,$119907,$119908,$119909,$119910),(nextval($119911),$119912,$119913,$119914,$119915,$119916,$119917,$119918,$119919,$119920,$119921,$119922,$119923,$119924),(nextval($119925),$119926,$119927,$119928,$119929,$119930,$119931,$119932,$119933,$119934,$119935,$119936,$119937,$119938),(nextval($119939),$119940,$119941,$119942,$119943,$119944,$119945,$119946,$119947,$119948,$119949,$119950,$119951,$119952),(nextval($119953),$119954,$119955,$119956,$119957,$119958,$119959,$119960,$119961,$119962,$119963,$119964,$119965,$119966),(nextval($119967),$119968,$119969,$119970,$119971,$119972,$119973,$119974,$119975,$119976,$119977,$119978,$119979,$119980),(nextval($119981),$119982,$119983,$119984,$119985,$119986,$119987,$119988,$119989,$119990,$119991,$119992,$119993,$119994),(nextval($119995),$119996,$119997,$119998,$119999,$120000,$120001,$120002,$120003,$120004,$120005,$120006,$120007,$120008),(nextval($120009),$120010,$120011,$120012,$120013,$120014,$120015,$120016,$120017,$120018,$120019,$120020,$120021,$120022),(nextval($120023),$120024,$120025,$120026,$120027,$120028,$120029,$120030,$120031,$120032,$120033,$120034,$120035,$120036),(nextval($120037),$120038,$120039,$120040,$120041,$120042,$120043,$120044,$120045,$120046,$120047,$120048,$120049,$120050),(nextval($120051),$120052,$120053,$120054,$120055,$120056,$120057,$120058,$120059,$120060,$120061,$120062,$120063,$120064),(nextval($120065),$120066,$120067,$120068,$120069,$120070,$120071,$120072,$120073,$120074,$120075,$120076,$120077,$120078),(nextval($120079),$120080,$120081,$120082,$120083,$120084,$120085,$120086,$120087,$120088,$120089,$120090,$120091,$120092),(nextval($120093),$120094,$120095,$120096,$120097,$120098,$120099,$120100,$120101,$120102,$120103,$120104,$120105,$120106),(nextval($120107),$120108,$120109,$120110,$120111,$120112,$120113,$120114,$120115,$120116,$120117,$120118,$120119,$120120),(nextval($120121),$120122,$120123,$120124,$120125,$120126,$120127,$120128,$120129,$120130,$120131,$120132,$120133,$120134),(nextval($120135),$120136,$120137,$120138,$120139,$120140,$120141,$120142,$120143,$120144,$120145,$120146,$120147,$120148),(nextval($120149),$120150,$120151,$120152,$120153,$120154,$120155,$120156,$120157,$120158,$120159,$120160,$120161,$120162),(nextval($120163),$120164,$120165,$120166,$120167,$120168,$120169,$120170,$120171,$120172,$120173,$120174,$120175,$120176),(nextval($120177),$120178,$120179,$120180,$120181,$120182,$120183,$120184,$120185,$120186,$120187,$120188,$120189,$120190),(nextval($120191),$120192,$120193,$120194,$120195,$120196,$120197,$120198,$120199,$120200,$120201,$120202,$120203,$120204),(nextval($120205),$120206,$120207,$120208,$120209,$120210,$120211,$120212,$120213,$120214,$120215,$120216,$120217,$120218),(nextval($120219),$120220,$120221,$120222,$120223,$120224,$120225,$120226,$120227,$120228,$120229,$120230,$120231,$120232),(nextval($120233),$120234,$120235,$120236,$120237,$120238,$120239,$120240,$120241,$120242,$120243,$120244,$120245,$120246),(nextval($120247),$120248,$120249,$120250,$120251,$120252,$120253,$120254,$120255,$120256,$120257,$120258,$120259,$120260),(nextval($120261),$120262,$120263,$120264,$120265,$120266,$120267,$120268,$120269,$120270,$120271,$120272,$120273,$120274),(nextval($120275),$120276,$120277,$120278,$120279,$120280,$120281,$120282,$120283,$120284,$120285,$120286,$120287,$120288),(nextval($120289),$120290,$120291,$120292,$120293,$120294,$120295,$120296,$120297,$120298,$120299,$120300,$120301,$120302),(nextval($120303),$120304,$120305,$120306,$120307,$120308,$120309,$120310,$120311,$120312,$120313,$120314,$120315,$120316),(nextval($120317),$120318,$120319,$120320,$120321,$120322,$120323,$120324,$120325,$120326,$120327,$120328,$120329,$120330),(nextval($120331),$120332,$120333,$120334,$120335,$120336,$120337,$120338,$120339,$120340,$120341,$120342,$120343,$120344),(nextval($120345),$120346,$120347,$120348,$120349,$120350,$120351,$120352,$120353,$120354,$120355,$120356,$120357,$120358),(nextval($120359),$120360,$120361,$120362,$120363,$120364,$120365,$120366,$120367,$120368,$120369,$120370,$120371,$120372),(nextval($120373),$120374,$120375,$120376,$120377,$120378,$120379,$120380,$120381,$120382,$120383,$120384,$120385,$120386),(nextval($120387),$120388,$120389,$120390,$120391,$120392,$120393,$120394,$120395,$120396,$120397,$120398,$120399,$120400),(nextval($120401),$120402,$120403,$120404,$120405,$120406,$120407,$120408,$120409,$120410,$120411,$120412,$120413,$120414),(nextval($120415),$120416,$120417,$120418,$120419,$120420,$120421,$120422,$120423,$120424,$120425,$120426,$120427,$120428),(nextval($120429),$120430,$120431,$120432,$120433,$120434,$120435,$120436,$120437,$120438,$120439,$120440,$120441,$120442),(nextval($120443),$120444,$120445,$120446,$120447,$120448,$120449,$120450,$120451,$120452,$120453,$120454,$120455,$120456),(nextval($120457),$120458,$120459,$120460,$120461,$120462,$120463,$120464,$120465,$120466,$120467,$120468,$120469,$120470),(nextval($120471),$120472,$120473,$120474,$120475,$120476,$120477,$120478,$120479,$120480,$120481,$120482,$120483,$120484),(nextval($120485),$120486,$120487,$120488,$120489,$120490,$120491,$120492,$120493,$120494,$120495,$120496,$120497,$120498),(nextval($120499),$120500,$120501,$120502,$120503,$120504,$120505,$120506,$120507,$120508,$120509,$120510,$120511,$120512),(nextval($120513),$120514,$120515,$120516,$120517,$120518,$120519,$120520,$120521,$120522,$120523,$120524,$120525,$120526),(nextval($120527),$120528,$120529,$120530,$120531,$120532,$120533,$120534,$120535,$120536,$120537,$120538,$120539,$120540),(nextval($120541),$120542,$120543,$120544,$120545,$120546,$120547,$120548,$120549,$120550,$120551,$120552,$120553,$120554),(nextval($120555),$120556,$120557,$120558,$120559,$120560,$120561,$120562,$120563,$120564,$120565,$120566,$120567,$120568),(nextval($120569),$120570,$120571,$120572,$120573,$120574,$120575,$120576,$120577,$120578,$120579,$120580,$120581,$120582),(nextval($120583),$120584,$120585,$120586,$120587,$120588,$120589,$120590,$120591,$120592,$120593,$120594,$120595,$120596),(nextval($120597),$120598,$120599,$120600,$120601,$120602,$120603,$120604,$120605,$120606,$120607,$120608,$120609,$120610),(nextval($120611),$120612,$120613,$120614,$120615,$120616,$120617,$120618,$120619,$120620,$120621,$120622,$120623,$120624),(nextval($120625),$120626,$120627,$120628,$120629,$120630,$120631,$120632,$120633,$120634,$120635,$120636,$120637,$120638),(nextval($120639),$120640,$120641,$120642,$120643,$120644,$120645,$120646,$120647,$120648,$120649,$120650,$120651,$120652),(nextval($120653),$120654,$120655,$120656,$120657,$120658,$120659,$120660,$120661,$120662,$120663,$120664,$120665,$120666),(nextval($120667),$120668,$120669,$120670,$120671,$120672,$120673,$120674,$120675,$120676,$120677,$120678,$120679,$120680),(nextval($120681),$120682,$120683,$120684,$120685,$120686,$120687,$120688,$120689,$120690,$120691,$120692,$120693,$120694),(nextval($120695),$120696,$120697,$120698,$120699,$120700,$120701,$120702,$120703,$120704,$120705,$120706,$120707,$120708),(nextval($120709),$120710,$120711,$120712,$120713,$120714,$120715,$120716,$120717,$120718,$120719,$120720,$120721,$120722),(nextval($120723),$120724,$120725,$120726,$120727,$120728,$120729,$120730,$120731,$120732,$120733,$120734,$120735,$120736),(nextval($120737),$120738,$120739,$120740,$120741,$120742,$120743,$120744,$120745,$120746,$120747,$120748,$120749,$120750),(nextval($120751),$120752,$120753,$120754,$120755,$120756,$120757,$120758,$120759,$120760,$120761,$120762,$120763,$120764),(nextval($120765),$120766,$120767,$120768,$120769,$120770,$120771,$120772,$120773,$120774,$120775,$120776,$120777,$120778),(nextval($120779),$120780,$120781,$120782,$120783,$120784,$120785,$120786,$120787,$120788,$120789,$120790,$120791,$120792),(nextval($120793),$120794,$120795,$120796,$120797,$120798,$120799,$120800,$120801,$120802,$120803,$120804,$120805,$120806),(nextval($120807),$120808,$120809,$120810,$120811,$120812,$120813,$120814,$120815,$120816,$120817,$120818,$120819,$120820),(nextval($120821),$120822,$120823,$120824,$120825,$120826,$120827,$120828,$120829,$120830,$120831,$120832,$120833,$120834),(nextval($120835),$120836,$120837,$120838,$120839,$120840,$120841,$120842,$120843,$120844,$120845,$120846,$120847,$120848),(nextval($120849),$120850,$120851,$120852,$120853,$120854,$120855,$120856,$120857,$120858,$120859,$120860,$120861,$120862),(nextval($120863),$120864,$120865,$120866,$120867,$120868,$120869,$120870,$120871,$120872,$120873,$120874,$120875,$120876),(nextval($120877),$120878,$120879,$120880,$120881,$120882,$120883,$120884,$120885,$120886,$120887,$120888,$120889,$120890),(nextval($120891),$120892,$120893,$120894,$120895,$120896,$120897,$120898,$120899,$120900,$120901,$120902,$120903,$120904),(nextval($120905),$120906,$120907,$120908,$120909,$120910,$120911,$120912,$120913,$120914,$120915,$120916,$120917,$120918),(nextval($120919),$120920,$120921,$120922,$120923,$120924,$120925,$120926,$120927,$120928,$120929,$120930,$120931,$120932),(nextval($120933),$120934,$120935,$120936,$120937,$120938,$120939,$120940,$120941,$120942,$120943,$120944,$120945,$120946),(nextval($120947),$120948,$120949,$120950,$120951,$120952,$120953,$120954,$120955,$120956,$120957,$120958,$120959,$120960),(nextval($120961),$120962,$120963,$120964,$120965,$120966,$120967,$120968,$120969,$120970,$120971,$120972,$120973,$120974),(nextval($120975),$120976,$120977,$120978,$120979,$120980,$120981,$120982,$120983,$120984,$120985,$120986,$120987,$120988),(nextval($120989),$120990,$120991,$120992,$120993,$120994,$120995,$120996,$120997,$120998,$120999,$121000,$121001,$121002),(nextval($121003),$121004,$121005,$121006,$121007,$121008,$121009,$121010,$121011,$121012,$121013,$121014,$121015,$121016),(nextval($121017),$121018,$121019,$121020,$121021,$121022,$121023,$121024,$121025,$121026,$121027,$121028,$121029,$121030),(nextval($121031),$121032,$121033,$121034,$121035,$121036,$121037,$121038,$121039,$121040,$121041,$121042,$121043,$121044),(nextval($121045),$121046,$121047,$121048,$121049,$121050,$121051,$121052,$121053,$121054,$121055,$121056,$121057,$121058),(nextval($121059),$121060,$121061,$121062,$121063,$121064,$121065,$121066,$121067,$121068,$121069,$121070,$121071,$121072),(nextval($121073),$121074,$121075,$121076,$121077,$121078,$121079,$121080,$121081,$121082,$121083,$121084,$121085,$121086),(nextval($121087),$121088,$121089,$121090,$121091,$121092,$121093,$121094,$121095,$121096,$121097,$121098,$121099,$121100),(nextval($121101),$121102,$121103,$121104,$121105,$121106,$121107,$121108,$121109,$121110,$121111,$121112,$121113,$121114),(nextval($121115),$121116,$121117,$121118,$121119,$121120,$121121,$121122,$121123,$121124,$121125,$121126,$121127,$121128),(nextval($121129),$121130,$121131,$121132,$121133,$121134,$121135,$121136,$121137,$121138,$121139,$121140,$121141,$121142),(nextval($121143),$121144,$121145,$121146,$121147,$121148,$121149,$121150,$121151,$121152,$121153,$121154,$121155,$121156),(nextval($121157),$121158,$121159,$121160,$121161,$121162,$121163,$121164,$121165,$121166,$121167,$121168,$121169,$121170),(nextval($121171),$121172,$121173,$121174,$121175,$121176,$121177,$121178,$121179,$121180,$121181,$121182,$121183,$121184),(nextval($121185),$121186,$121187,$121188,$121189,$121190,$121191,$121192,$121193,$121194,$121195,$121196,$121197,$121198),(nextval($121199),$121200,$121201,$121202,$121203,$121204,$121205,$121206,$121207,$121208,$121209,$121210,$121211,$121212),(nextval($121213),$121214,$121215,$121216,$121217,$121218,$121219,$121220,$121221,$121222,$121223,$121224,$121225,$121226),(nextval($121227),$121228,$121229,$121230,$121231,$121232,$121233,$121234,$121235,$121236,$121237,$121238,$121239,$121240),(nextval($121241),$121242,$121243,$121244,$121245,$121246,$121247,$121248,$121249,$121250,$121251,$121252,$121253,$121254),(nextval($121255),$121256,$121257,$121258,$121259,$121260,$121261,$121262,$121263,$121264,$121265,$121266,$121267,$121268),(nextval($121269),$121270,$121271,$121272,$121273,$121274,$121275,$121276,$121277,$121278,$121279,$121280,$121281,$121282),(nextval($121283),$121284,$121285,$121286,$121287,$121288,$121289,$121290,$121291,$121292,$121293,$121294,$121295,$121296),(nextval($121297),$121298,$121299,$121300,$121301,$121302,$121303,$121304,$121305,$121306,$121307,$121308,$121309,$121310),(nextval($121311),$121312,$121313,$121314,$121315,$121316,$121317,$121318,$121319,$121320,$121321,$121322,$121323,$121324),(nextval($121325),$121326,$121327,$121328,$121329,$121330,$121331,$121332,$121333,$121334,$121335,$121336,$121337,$121338),(nextval($121339),$121340,$121341,$121342,$121343,$121344,$121345,$121346,$121347,$121348,$121349,$121350,$121351,$121352),(nextval($121353),$121354,$121355,$121356,$121357,$121358,$121359,$121360,$121361,$121362,$121363,$121364,$121365,$121366),(nextval($121367),$121368,$121369,$121370,$121371,$121372,$121373,$121374,$121375,$121376,$121377,$121378,$121379,$121380),(nextval($121381),$121382,$121383,$121384,$121385,$121386,$121387,$121388,$121389,$121390,$121391,$121392,$121393,$121394),(nextval($121395),$121396,$121397,$121398,$121399,$121400,$121401,$121402,$121403,$121404,$121405,$121406,$121407,$121408),(nextval($121409),$121410,$121411,$121412,$121413,$121414,$121415,$121416,$121417,$121418,$121419,$121420,$121421,$121422),(nextval($121423),$121424,$121425,$121426,$121427,$121428,$121429,$121430,$121431,$121432,$121433,$121434,$121435,$121436),(nextval($121437),$121438,$121439,$121440,$121441,$121442,$121443,$121444,$121445,$121446,$121447,$121448,$121449,$121450),(nextval($121451),$121452,$121453,$121454,$121455,$121456,$121457,$121458,$121459,$121460,$121461,$121462,$121463,$121464),(nextval($121465),$121466,$121467,$121468,$121469,$121470,$121471,$121472,$121473,$121474,$121475,$121476,$121477,$121478),(nextval($121479),$121480,$121481,$121482,$121483,$121484,$121485,$121486,$121487,$121488,$121489,$121490,$121491,$121492),(nextval($121493),$121494,$121495,$121496,$121497,$121498,$121499,$121500,$121501,$121502,$121503,$121504,$121505,$121506),(nextval($121507),$121508,$121509,$121510,$121511,$121512,$121513,$121514,$121515,$121516,$121517,$121518,$121519,$121520),(nextval($121521),$121522,$121523,$121524,$121525,$121526,$121527,$121528,$121529,$121530,$121531,$121532,$121533,$121534),(nextval($121535),$121536,$121537,$121538,$121539,$121540,$121541,$121542,$121543,$121544,$121545,$121546,$121547,$121548),(nextval($121549),$121550,$121551,$121552,$121553,$121554,$121555,$121556,$121557,$121558,$121559,$121560,$121561,$121562),(nextval($121563),$121564,$121565,$121566,$121567,$121568,$121569,$121570,$121571,$121572,$121573,$121574,$121575,$121576),(nextval($121577),$121578,$121579,$121580,$121581,$121582,$121583,$121584,$121585,$121586,$121587,$121588,$121589,$121590),(nextval($121591),$121592,$121593,$121594,$121595,$121596,$121597,$121598,$121599,$121600,$121601,$121602,$121603,$121604),(nextval($121605),$121606,$121607,$121608,$121609,$121610,$121611,$121612,$121613,$121614,$121615,$121616,$121617,$121618),(nextval($121619),$121620,$121621,$121622,$121623,$121624,$121625,$121626,$121627,$121628,$121629,$121630,$121631,$121632),(nextval($121633),$121634,$121635,$121636,$121637,$121638,$121639,$121640,$121641,$121642,$121643,$121644,$121645,$121646),(nextval($121647),$121648,$121649,$121650,$121651,$121652,$121653,$121654,$121655,$121656,$121657,$121658,$121659,$121660),(nextval($121661),$121662,$121663,$121664,$121665,$121666,$121667,$121668,$121669,$121670,$121671,$121672,$121673,$121674),(nextval($121675),$121676,$121677,$121678,$121679,$121680,$121681,$121682,$121683,$121684,$121685,$121686,$121687,$121688),(nextval($121689),$121690,$121691,$121692,$121693,$121694,$121695,$121696,$121697,$121698,$121699,$121700,$121701,$121702),(nextval($121703),$121704,$121705,$121706,$121707,$121708,$121709,$121710,$121711,$121712,$121713,$121714,$121715,$121716),(nextval($121717),$121718,$121719,$121720,$121721,$121722,$121723,$121724,$121725,$121726,$121727,$121728,$121729,$121730),(nextval($121731),$121732,$121733,$121734,$121735,$121736,$121737,$121738,$121739,$121740,$121741,$121742,$121743,$121744),(nextval($121745),$121746,$121747,$121748,$121749,$121750,$121751,$121752,$121753,$121754,$121755,$121756,$121757,$121758),(nextval($121759),$121760,$121761,$121762,$121763,$121764,$121765,$121766,$121767,$121768,$121769,$121770,$121771,$121772),(nextval($121773),$121774,$121775,$121776,$121777,$121778,$121779,$121780,$121781,$121782,$121783,$121784,$121785,$121786),(nextval($121787),$121788,$121789,$121790,$121791,$121792,$121793,$121794,$121795,$121796,$121797,$121798,$121799,$121800),(nextval($121801),$121802,$121803,$121804,$121805,$121806,$121807,$121808,$121809,$121810,$121811,$121812,$121813,$121814),(nextval($121815),$121816,$121817,$121818,$121819,$121820,$121821,$121822,$121823,$121824,$121825,$121826,$121827,$121828),(nextval($121829),$121830,$121831,$121832,$121833,$121834,$121835,$121836,$121837,$121838,$121839,$121840,$121841,$121842),(nextval($121843),$121844,$121845,$121846,$121847,$121848,$121849,$121850,$121851,$121852,$121853,$121854,$121855,$121856),(nextval($121857),$121858,$121859,$121860,$121861,$121862,$121863,$121864,$121865,$121866,$121867,$121868,$121869,$121870),(nextval($121871),$121872,$121873,$121874,$121875,$121876,$121877,$121878,$121879,$121880,$121881,$121882,$121883,$121884),(nextval($121885),$121886,$121887,$121888,$121889,$121890,$121891,$121892,$121893,$121894,$121895,$121896,$121897,$121898),(nextval($121899),$121900,$121901,$121902,$121903,$121904,$121905,$121906,$121907,$121908,$121909,$121910,$121911,$121912),(nextval($121913),$121914,$121915,$121916,$121917,$121918,$121919,$121920,$121921,$121922,$121923,$121924,$121925,$121926),(nextval($121927),$121928,$121929,$121930,$121931,$121932,$121933,$121934,$121935,$121936,$121937,$121938,$121939,$121940),(nextval($121941),$121942,$121943,$121944,$121945,$121946,$121947,$121948,$121949,$121950,$121951,$121952,$121953,$121954),(nextval($121955),$121956,$121957,$121958,$121959,$121960,$121961,$121962,$121963,$121964,$121965,$121966,$121967,$121968),(nextval($121969),$121970,$121971,$121972,$121973,$121974,$121975,$121976,$121977,$121978,$121979,$121980,$121981,$121982),(nextval($121983),$121984,$121985,$121986,$121987,$121988,$121989,$121990,$121991,$121992,$121993,$121994,$121995,$121996),(nextval($121997),$121998,$121999,$122000,$122001,$122002,$122003,$122004,$122005,$122006,$122007,$122008,$122009,$122010),(nextval($122011),$122012,$122013,$122014,$122015,$122016,$122017,$122018,$122019,$122020,$122021,$122022,$122023,$122024),(nextval($122025),$122026,$122027,$122028,$122029,$122030,$122031,$122032,$122033,$122034,$122035,$122036,$122037,$122038),(nextval($122039),$122040,$122041,$122042,$122043,$122044,$122045,$122046,$122047,$122048,$122049,$122050,$122051,$122052),(nextval($122053),$122054,$122055,$122056,$122057,$122058,$122059,$122060,$122061,$122062,$122063,$122064,$122065,$122066),(nextval($122067),$122068,$122069,$122070,$122071,$122072,$122073,$122074,$122075,$122076,$122077,$122078,$122079,$122080),(nextval($122081),$122082,$122083,$122084,$122085,$122086,$122087,$122088,$122089,$122090,$122091,$122092,$122093,$122094),(nextval($122095),$122096,$122097,$122098,$122099,$122100,$122101,$122102,$122103,$122104,$122105,$122106,$122107,$122108),(nextval($122109),$122110,$122111,$122112,$122113,$122114,$122115,$122116,$122117,$122118,$122119,$122120,$122121,$122122),(nextval($122123),$122124,$122125,$122126,$122127,$122128,$122129,$122130,$122131,$122132,$122133,$122134,$122135,$122136),(nextval($122137),$122138,$122139,$122140,$122141,$122142,$122143,$122144,$122145,$122146,$122147,$122148,$122149,$122150),(nextval($122151),$122152,$122153,$122154,$122155,$122156,$122157,$122158,$122159,$122160,$122161,$122162,$122163,$122164),(nextval($122165),$122166,$122167,$122168,$122169,$122170,$122171,$122172,$122173,$122174,$122175,$122176,$122177,$122178),(nextval($122179),$122180,$122181,$122182,$122183,$122184,$122185,$122186,$122187,$122188,$122189,$122190,$122191,$122192),(nextval($122193),$122194,$122195,$122196,$122197,$122198,$122199,$122200,$122201,$122202,$122203,$122204,$122205,$122206),(nextval($122207),$122208,$122209,$122210,$122211,$122212,$122213,$122214,$122215,$122216,$122217,$122218,$122219,$122220),(nextval($122221),$122222,$122223,$122224,$122225,$122226,$122227,$122228,$122229,$122230,$122231,$122232,$122233,$122234),(nextval($122235),$122236,$122237,$122238,$122239,$122240,$122241,$122242,$122243,$122244,$122245,$122246,$122247,$122248),(nextval($122249),$122250,$122251,$122252,$122253,$122254,$122255,$122256,$122257,$122258,$122259,$122260,$122261,$122262),(nextval($122263),$122264,$122265,$122266,$122267,$122268,$122269,$122270,$122271,$122272,$122273,$122274,$122275,$122276),(nextval($122277),$122278,$122279,$122280,$122281,$122282,$122283,$122284,$122285,$122286,$122287,$122288,$122289,$122290),(nextval($122291),$122292,$122293,$122294,$122295,$122296,$122297,$122298,$122299,$122300,$122301,$122302,$122303,$122304),(nextval($122305),$122306,$122307,$122308,$122309,$122310,$122311,$122312,$122313,$122314,$122315,$122316,$122317,$122318),(nextval($122319),$122320,$122321,$122322,$122323,$122324,$122325,$122326,$122327,$122328,$122329,$122330,$122331,$122332),(nextval($122333),$122334,$122335,$122336,$122337,$122338,$122339,$122340,$122341,$122342,$122343,$122344,$122345,$122346),(nextval($122347),$122348,$122349,$122350,$122351,$122352,$122353,$122354,$122355,$122356,$122357,$122358,$122359,$122360),(nextval($122361),$122362,$122363,$122364,$122365,$122366,$122367,$122368,$122369,$122370,$122371,$122372,$122373,$122374),(nextval($122375),$122376,$122377,$122378,$122379,$122380,$122381,$122382,$122383,$122384,$122385,$122386,$122387,$122388),(nextval($122389),$122390,$122391,$122392,$122393,$122394,$122395,$122396,$122397,$122398,$122399,$122400,$122401,$122402),(nextval($122403),$122404,$122405,$122406,$122407,$122408,$122409,$122410,$122411,$122412,$122413,$122414,$122415,$122416),(nextval($122417),$122418,$122419,$122420,$122421,$122422,$122423,$122424,$122425,$122426,$122427,$122428,$122429,$122430),(nextval($122431),$122432,$122433,$122434,$122435,$122436,$122437,$122438,$122439,$122440,$122441,$122442,$122443,$122444),(nextval($122445),$122446,$122447,$122448,$122449,$122450,$122451,$122452,$122453,$122454,$122455,$122456,$122457,$122458),(nextval($122459),$122460,$122461,$122462,$122463,$122464,$122465,$122466,$122467,$122468,$122469,$122470,$122471,$122472),(nextval($122473),$122474,$122475,$122476,$122477,$122478,$122479,$122480,$122481,$122482,$122483,$122484,$122485,$122486),(nextval($122487),$122488,$122489,$122490,$122491,$122492,$122493,$122494,$122495,$122496,$122497,$122498,$122499,$122500),(nextval($122501),$122502,$122503,$122504,$122505,$122506,$122507,$122508,$122509,$122510,$122511,$122512,$122513,$122514),(nextval($122515),$122516,$122517,$122518,$122519,$122520,$122521,$122522,$122523,$122524,$122525,$122526,$122527,$122528),(nextval($122529),$122530,$122531,$122532,$122533,$122534,$122535,$122536,$122537,$122538,$122539,$122540,$122541,$122542),(nextval($122543),$122544,$122545,$122546,$122547,$122548,$122549,$122550,$122551,$122552,$122553,$122554,$122555,$122556),(nextval($122557),$122558,$122559,$122560,$122561,$122562,$122563,$122564,$122565,$122566,$122567,$122568,$122569,$122570),(nextval($122571),$122572,$122573,$122574,$122575,$122576,$122577,$122578,$122579,$122580,$122581,$122582,$122583,$122584),(nextval($122585),$122586,$122587,$122588,$122589,$122590,$122591,$122592,$122593,$122594,$122595,$122596,$122597,$122598),(nextval($122599),$122600,$122601,$122602,$122603,$122604,$122605,$122606,$122607,$122608,$122609,$122610,$122611,$122612),(nextval($122613),$122614,$122615,$122616,$122617,$122618,$122619,$122620,$122621,$122622,$122623,$122624,$122625,$122626),(nextval($122627),$122628,$122629,$122630,$122631,$122632,$122633,$122634,$122635,$122636,$122637,$122638,$122639,$122640),(nextval($122641),$122642,$122643,$122644,$122645,$122646,$122647,$122648,$122649,$122650,$122651,$122652,$122653,$122654),(nextval($122655),$122656,$122657,$122658,$122659,$122660,$122661,$122662,$122663,$122664,$122665,$122666,$122667,$122668),(nextval($122669),$122670,$122671,$122672,$122673,$122674,$122675,$122676,$122677,$122678,$122679,$122680,$122681,$122682),(nextval($122683),$122684,$122685,$122686,$122687,$122688,$122689,$122690,$122691,$122692,$122693,$122694,$122695,$122696),(nextval($122697),$122698,$122699,$122700,$122701,$122702,$122703,$122704,$122705,$122706,$122707,$122708,$122709,$122710),(nextval($122711),$122712,$122713,$122714,$122715,$122716,$122717,$122718,$122719,$122720,$122721,$122722,$122723,$122724),(nextval($122725),$122726,$122727,$122728,$122729,$122730,$122731,$122732,$122733,$122734,$122735,$122736,$122737,$122738),(nextval($122739),$122740,$122741,$122742,$122743,$122744,$122745,$122746,$122747,$122748,$122749,$122750,$122751,$122752),(nextval($122753),$122754,$122755,$122756,$122757,$122758,$122759,$122760,$122761,$122762,$122763,$122764,$122765,$122766),(nextval($122767),$122768,$122769,$122770,$122771,$122772,$122773,$122774,$122775,$122776,$122777,$122778,$122779,$122780),(nextval($122781),$122782,$122783,$122784,$122785,$122786,$122787,$122788,$122789,$122790,$122791,$122792,$122793,$122794),(nextval($122795),$122796,$122797,$122798,$122799,$122800,$122801,$122802,$122803,$122804,$122805,$122806,$122807,$122808),(nextval($122809),$122810,$122811,$122812,$122813,$122814,$122815,$122816,$122817,$122818,$122819,$122820,$122821,$122822),(nextval($122823),$122824,$122825,$122826,$122827,$122828,$122829,$122830,$122831,$122832,$122833,$122834,$122835,$122836),(nextval($122837),$122838,$122839,$122840,$122841,$122842,$122843,$122844,$122845,$122846,$122847,$122848,$122849,$122850),(nextval($122851),$122852,$122853,$122854,$122855,$122856,$122857,$122858,$122859,$122860,$122861,$122862,$122863,$122864),(nextval($122865),$122866,$122867,$122868,$122869,$122870,$122871,$122872,$122873,$122874,$122875,$122876,$122877,$122878),(nextval($122879),$122880,$122881,$122882,$122883,$122884,$122885,$122886,$122887,$122888,$122889,$122890,$122891,$122892),(nextval($122893),$122894,$122895,$122896,$122897,$122898,$122899,$122900,$122901,$122902,$122903,$122904,$122905,$122906),(nextval($122907),$122908,$122909,$122910,$122911,$122912,$122913,$122914,$122915,$122916,$122917,$122918,$122919,$122920),(nextval($122921),$122922,$122923,$122924,$122925,$122926,$122927,$122928,$122929,$122930,$122931,$122932,$122933,$122934),(nextval($122935),$122936,$122937,$122938,$122939,$122940,$122941,$122942,$122943,$122944,$122945,$122946,$122947,$122948),(nextval($122949),$122950,$122951,$122952,$122953,$122954,$122955,$122956,$122957,$122958,$122959,$122960,$122961,$122962),(nextval($122963),$122964,$122965,$122966,$122967,$122968,$122969,$122970,$122971,$122972,$122973,$122974,$122975,$122976),(nextval($122977),$122978,$122979,$122980,$122981,$122982,$122983,$122984,$122985,$122986,$122987,$122988,$122989,$122990),(nextval($122991),$122992,$122993,$122994,$122995,$122996,$122997,$122998,$122999,$123000,$123001,$123002,$123003,$123004),(nextval($123005),$123006,$123007,$123008,$123009,$123010,$123011,$123012,$123013,$123014,$123015,$123016,$123017,$123018),(nextval($123019),$123020,$123021,$123022,$123023,$123024,$123025,$123026,$123027,$123028,$123029,$123030,$123031,$123032),(nextval($123033),$123034,$123035,$123036,$123037,$123038,$123039,$123040,$123041,$123042,$123043,$123044,$123045,$123046),(nextval($123047),$123048,$123049,$123050,$123051,$123052,$123053,$123054,$123055,$123056,$123057,$123058,$123059,$123060),(nextval($123061),$123062,$123063,$123064,$123065,$123066,$123067,$123068,$123069,$123070,$123071,$123072,$123073,$123074),(nextval($123075),$123076,$123077,$123078,$123079,$123080,$123081,$123082,$123083,$123084,$123085,$123086,$123087,$123088),(nextval($123089),$123090,$123091,$123092,$123093,$123094,$123095,$123096,$123097,$123098,$123099,$123100,$123101,$123102),(nextval($123103),$123104,$123105,$123106,$123107,$123108,$123109,$123110,$123111,$123112,$123113,$123114,$123115,$123116),(nextval($123117),$123118,$123119,$123120,$123121,$123122,$123123,$123124,$123125,$123126,$123127,$123128,$123129,$123130),(nextval($123131),$123132,$123133,$123134,$123135,$123136,$123137,$123138,$123139,$123140,$123141,$123142,$123143,$123144),(nextval($123145),$123146,$123147,$123148,$123149,$123150,$123151,$123152,$123153,$123154,$123155,$123156,$123157,$123158),(nextval($123159),$123160,$123161,$123162,$123163,$123164,$123165,$123166,$123167,$123168,$123169,$123170,$123171,$123172),(nextval($123173),$123174,$123175,$123176,$123177,$123178,$123179,$123180,$123181,$123182,$123183,$123184,$123185,$123186),(nextval($123187),$123188,$123189,$123190,$123191,$123192,$123193,$123194,$123195,$123196,$123197,$123198,$123199,$123200),(nextval($123201),$123202,$123203,$123204,$123205,$123206,$123207,$123208,$123209,$123210,$123211,$123212,$123213,$123214),(nextval($123215),$123216,$123217,$123218,$123219,$123220,$123221,$123222,$123223,$123224,$123225,$123226,$123227,$123228),(nextval($123229),$123230,$123231,$123232,$123233,$123234,$123235,$123236,$123237,$123238,$123239,$123240,$123241,$123242),(nextval($123243),$123244,$123245,$123246,$123247,$123248,$123249,$123250,$123251,$123252,$123253,$123254,$123255,$123256),(nextval($123257),$123258,$123259,$123260,$123261,$123262,$123263,$123264,$123265,$123266,$123267,$123268,$123269,$123270),(nextval($123271),$123272,$123273,$123274,$123275,$123276,$123277,$123278,$123279,$123280,$123281,$123282,$123283,$123284),(nextval($123285),$123286,$123287,$123288,$123289,$123290,$123291,$123292,$123293,$123294,$123295,$123296,$123297,$123298),(nextval($123299),$123300,$123301,$123302,$123303,$123304,$123305,$123306,$123307,$123308,$123309,$123310,$123311,$123312),(nextval($123313),$123314,$123315,$123316,$123317,$123318,$123319,$123320,$123321,$123322,$123323,$123324,$123325,$123326),(nextval($123327),$123328,$123329,$123330,$123331,$123332,$123333,$123334,$123335,$123336,$123337,$123338,$123339,$123340),(nextval($123341),$123342,$123343,$123344,$123345,$123346,$123347,$123348,$123349,$123350,$123351,$123352,$123353,$123354),(nextval($123355),$123356,$123357,$123358,$123359,$123360,$123361,$123362,$123363,$123364,$123365,$123366,$123367,$123368),(nextval($123369),$123370,$123371,$123372,$123373,$123374,$123375,$123376,$123377,$123378,$123379,$123380,$123381,$123382),(nextval($123383),$123384,$123385,$123386,$123387,$123388,$123389,$123390,$123391,$123392,$123393,$123394,$123395,$123396),(nextval($123397),$123398,$123399,$123400,$123401,$123402,$123403,$123404,$123405,$123406,$123407,$123408,$123409,$123410),(nextval($123411),$123412,$123413,$123414,$123415,$123416,$123417,$123418,$123419,$123420,$123421,$123422,$123423,$123424),(nextval($123425),$123426,$123427,$123428,$123429,$123430,$123431,$123432,$123433,$123434,$123435,$123436,$123437,$123438),(nextval($123439),$123440,$123441,$123442,$123443,$123444,$123445,$123446,$123447,$123448,$123449,$123450,$123451,$123452),(nextval($123453),$123454,$123455,$123456,$123457,$123458,$123459,$123460,$123461,$123462,$123463,$123464,$123465,$123466),(nextval($123467),$123468,$123469,$123470,$123471,$123472,$123473,$123474,$123475,$123476,$123477,$123478,$123479,$123480),(nextval($123481),$123482,$123483,$123484,$123485,$123486,$123487,$123488,$123489,$123490,$123491,$123492,$123493,$123494),(nextval($123495),$123496,$123497,$123498,$123499,$123500,$123501,$123502,$123503,$123504,$123505,$123506,$123507,$123508),(nextval($123509),$123510,$123511,$123512,$123513,$123514,$123515,$123516,$123517,$123518,$123519,$123520,$123521,$123522),(nextval($123523),$123524,$123525,$123526,$123527,$123528,$123529,$123530,$123531,$123532,$123533,$123534,$123535,$123536),(nextval($123537),$123538,$123539,$123540,$123541,$123542,$123543,$123544,$123545,$123546,$123547,$123548,$123549,$123550),(nextval($123551),$123552,$123553,$123554,$123555,$123556,$123557,$123558,$123559,$123560,$123561,$123562,$123563,$123564),(nextval($123565),$123566,$123567,$123568,$123569,$123570,$123571,$123572,$123573,$123574,$123575,$123576,$123577,$123578),(nextval($123579),$123580,$123581,$123582,$123583,$123584,$123585,$123586,$123587,$123588,$123589,$123590,$123591,$123592),(nextval($123593),$123594,$123595,$123596,$123597,$123598,$123599,$123600,$123601,$123602,$123603,$123604,$123605,$123606),(nextval($123607),$123608,$123609,$123610,$123611,$123612,$123613,$123614,$123615,$123616,$123617,$123618,$123619,$123620),(nextval($123621),$123622,$123623,$123624,$123625,$123626,$123627,$123628,$123629,$123630,$123631,$123632,$123633,$123634),(nextval($123635),$123636,$123637,$123638,$123639,$123640,$123641,$123642,$123643,$123644,$123645,$123646,$123647,$123648),(nextval($123649),$123650,$123651,$123652,$123653,$123654,$123655,$123656,$123657,$123658,$123659,$123660,$123661,$123662),(nextval($123663),$123664,$123665,$123666,$123667,$123668,$123669,$123670,$123671,$123672,$123673,$123674,$123675,$123676),(nextval($123677),$123678,$123679,$123680,$123681,$123682,$123683,$123684,$123685,$123686,$123687,$123688,$123689,$123690),(nextval($123691),$123692,$123693,$123694,$123695,$123696,$123697,$123698,$123699,$123700,$123701,$123702,$123703,$123704),(nextval($123705),$123706,$123707,$123708,$123709,$123710,$123711,$123712,$123713,$123714,$123715,$123716,$123717,$123718),(nextval($123719),$123720,$123721,$123722,$123723,$123724,$123725,$123726,$123727,$123728,$123729,$123730,$123731,$123732),(nextval($123733),$123734,$123735,$123736,$123737,$123738,$123739,$123740,$123741,$123742,$123743,$123744,$123745,$123746),(nextval($123747),$123748,$123749,$123750,$123751,$123752,$123753,$123754,$123755,$123756,$123757,$123758,$123759,$123760),(nextval($123761),$123762,$123763,$123764,$123765,$123766,$123767,$123768,$123769,$123770,$123771,$123772,$123773,$123774),(nextval($123775),$123776,$123777,$123778,$123779,$123780,$123781,$123782,$123783,$123784,$123785,$123786,$123787,$123788),(nextval($123789),$123790,$123791,$123792,$123793,$123794,$123795,$123796,$123797,$123798,$123799,$123800,$123801,$123802),(nextval($123803),$123804,$123805,$123806,$123807,$123808,$123809,$123810,$123811,$123812,$123813,$123814,$123815,$123816),(nextval($123817),$123818,$123819,$123820,$123821,$123822,$123823,$123824,$123825,$123826,$123827,$123828,$123829,$123830),(nextval($123831),$123832,$123833,$123834,$123835,$123836,$123837,$123838,$123839,$123840,$123841,$123842,$123843,$123844),(nextval($123845),$123846,$123847,$123848,$123849,$123850,$123851,$123852,$123853,$123854,$123855,$123856,$123857,$123858),(nextval($123859),$123860,$123861,$123862,$123863,$123864,$123865,$123866,$123867,$123868,$123869,$123870,$123871,$123872),(nextval($123873),$123874,$123875,$123876,$123877,$123878,$123879,$123880,$123881,$123882,$123883,$123884,$123885,$123886),(nextval($123887),$123888,$123889,$123890,$123891,$123892,$123893,$123894,$123895,$123896,$123897,$123898,$123899,$123900),(nextval($123901),$123902,$123903,$123904,$123905,$123906,$123907,$123908,$123909,$123910,$123911,$123912,$123913,$123914),(nextval($123915),$123916,$123917,$123918,$123919,$123920,$123921,$123922,$123923,$123924,$123925,$123926,$123927,$123928),(nextval($123929),$123930,$123931,$123932,$123933,$123934,$123935,$123936,$123937,$123938,$123939,$123940,$123941,$123942),(nextval($123943),$123944,$123945,$123946,$123947,$123948,$123949,$123950,$123951,$123952,$123953,$123954,$123955,$123956),(nextval($123957),$123958,$123959,$123960,$123961,$123962,$123963,$123964,$123965,$123966,$123967,$123968,$123969,$123970),(nextval($123971),$123972,$123973,$123974,$123975,$123976,$123977,$123978,$123979,$123980,$123981,$123982,$123983,$123984),(nextval($123985),$123986,$123987,$123988,$123989,$123990,$123991,$123992,$123993,$123994,$123995,$123996,$123997,$123998),(nextval($123999),$124000,$124001,$124002,$124003,$124004,$124005,$124006,$124007,$124008,$124009,$124010,$124011,$124012),(nextval($124013),$124014,$124015,$124016,$124017,$124018,$124019,$124020,$124021,$124022,$124023,$124024,$124025,$124026),(nextval($124027),$124028,$124029,$124030,$124031,$124032,$124033,$124034,$124035,$124036,$124037,$124038,$124039,$124040),(nextval($124041),$124042,$124043,$124044,$124045,$124046,$124047,$124048,$124049,$124050,$124051,$124052,$124053,$124054),(nextval($124055),$124056,$124057,$124058,$124059,$124060,$124061,$124062,$124063,$124064,$124065,$124066,$124067,$124068),(nextval($124069),$124070,$124071,$124072,$124073,$124074,$124075,$124076,$124077,$124078,$124079,$124080,$124081,$124082),(nextval($124083),$124084,$124085,$124086,$124087,$124088,$124089,$124090,$124091,$124092,$124093,$124094,$124095,$124096),(nextval($124097),$124098,$124099,$124100,$124101,$124102,$124103,$124104,$124105,$124106,$124107,$124108,$124109,$124110),(nextval($124111),$124112,$124113,$124114,$124115,$124116,$124117,$124118,$124119,$124120,$124121,$124122,$124123,$124124),(nextval($124125),$124126,$124127,$124128,$124129,$124130,$124131,$124132,$124133,$124134,$124135,$124136,$124137,$124138),(nextval($124139),$124140,$124141,$124142,$124143,$124144,$124145,$124146,$124147,$124148,$124149,$124150,$124151,$124152),(nextval($124153),$124154,$124155,$124156,$124157,$124158,$124159,$124160,$124161,$124162,$124163,$124164,$124165,$124166),(nextval($124167),$124168,$124169,$124170,$124171,$124172,$124173,$124174,$124175,$124176,$124177,$124178,$124179,$124180),(nextval($124181),$124182,$124183,$124184,$124185,$124186,$124187,$124188,$124189,$124190,$124191,$124192,$124193,$124194),(nextval($124195),$124196,$124197,$124198,$124199,$124200,$124201,$124202,$124203,$124204,$124205,$124206,$124207,$124208),(nextval($124209),$124210,$124211,$124212,$124213,$124214,$124215,$124216,$124217,$124218,$124219,$124220,$124221,$124222),(nextval($124223),$124224,$124225,$124226,$124227,$124228,$124229,$124230,$124231,$124232,$124233,$124234,$124235,$124236),(nextval($124237),$124238,$124239,$124240,$124241,$124242,$124243,$124244,$124245,$124246,$124247,$124248,$124249,$124250),(nextval($124251),$124252,$124253,$124254,$124255,$124256,$124257,$124258,$124259,$124260,$124261,$124262,$124263,$124264),(nextval($124265),$124266,$124267,$124268,$124269,$124270,$124271,$124272,$124273,$124274,$124275,$124276,$124277,$124278),(nextval($124279),$124280,$124281,$124282,$124283,$124284,$124285,$124286,$124287,$124288,$124289,$124290,$124291,$124292),(nextval($124293),$124294,$124295,$124296,$124297,$124298,$124299,$124300,$124301,$124302,$124303,$124304,$124305,$124306),(nextval($124307),$124308,$124309,$124310,$124311,$124312,$124313,$124314,$124315,$124316,$124317,$124318,$124319,$124320),(nextval($124321),$124322,$124323,$124324,$124325,$124326,$124327,$124328,$124329,$124330,$124331,$124332,$124333,$124334),(nextval($124335),$124336,$124337,$124338,$124339,$124340,$124341,$124342,$124343,$124344,$124345,$124346,$124347,$124348),(nextval($124349),$124350,$124351,$124352,$124353,$124354,$124355,$124356,$124357,$124358,$124359,$124360,$124361,$124362),(nextval($124363),$124364,$124365,$124366,$124367,$124368,$124369,$124370,$124371,$124372,$124373,$124374,$124375,$124376),(nextval($124377),$124378,$124379,$124380,$124381,$124382,$124383,$124384,$124385,$124386,$124387,$124388,$124389,$124390),(nextval($124391),$124392,$124393,$124394,$124395,$124396,$124397,$124398,$124399,$124400,$124401,$124402,$124403,$124404),(nextval($124405),$124406,$124407,$124408,$124409,$124410,$124411,$124412,$124413,$124414,$124415,$124416,$124417,$124418),(nextval($124419),$124420,$124421,$124422,$124423,$124424,$124425,$124426,$124427,$124428,$124429,$124430,$124431,$124432),(nextval($124433),$124434,$124435,$124436,$124437,$124438,$124439,$124440,$124441,$124442,$124443,$124444,$124445,$124446),(nextval($124447),$124448,$124449,$124450,$124451,$124452,$124453,$124454,$124455,$124456,$124457,$124458,$124459,$124460),(nextval($124461),$124462,$124463,$124464,$124465,$124466,$124467,$124468,$124469,$124470,$124471,$124472,$124473,$124474),(nextval($124475),$124476,$124477,$124478,$124479,$124480,$124481,$124482,$124483,$124484,$124485,$124486,$124487,$124488),(nextval($124489),$124490,$124491,$124492,$124493,$124494,$124495,$124496,$124497,$124498,$124499,$124500,$124501,$124502),(nextval($124503),$124504,$124505,$124506,$124507,$124508,$124509,$124510,$124511,$124512,$124513,$124514,$124515,$124516),(nextval($124517),$124518,$124519,$124520,$124521,$124522,$124523,$124524,$124525,$124526,$124527,$124528,$124529,$124530),(nextval($124531),$124532,$124533,$124534,$124535,$124536,$124537,$124538,$124539,$124540,$124541,$124542,$124543,$124544),(nextval($124545),$124546,$124547,$124548,$124549,$124550,$124551,$124552,$124553,$124554,$124555,$124556,$124557,$124558),(nextval($124559),$124560,$124561,$124562,$124563,$124564,$124565,$124566,$124567,$124568,$124569,$124570,$124571,$124572),(nextval($124573),$124574,$124575,$124576,$124577,$124578,$124579,$124580,$124581,$124582,$124583,$124584,$124585,$124586),(nextval($124587),$124588,$124589,$124590,$124591,$124592,$124593,$124594,$124595,$124596,$124597,$124598,$124599,$124600),(nextval($124601),$124602,$124603,$124604,$124605,$124606,$124607,$124608,$124609,$124610,$124611,$124612,$124613,$124614),(nextval($124615),$124616,$124617,$124618,$124619,$124620,$124621,$124622,$124623,$124624,$124625,$124626,$124627,$124628),(nextval($124629),$124630,$124631,$124632,$124633,$124634,$124635,$124636,$124637,$124638,$124639,$124640,$124641,$124642),(nextval($124643),$124644,$124645,$124646,$124647,$124648,$124649,$124650,$124651,$124652,$124653,$124654,$124655,$124656),(nextval($124657),$124658,$124659,$124660,$124661,$124662,$124663,$124664,$124665,$124666,$124667,$124668,$124669,$124670),(nextval($124671),$124672,$124673,$124674,$124675,$124676,$124677,$124678,$124679,$124680,$124681,$124682,$124683,$124684),(nextval($124685),$124686,$124687,$124688,$124689,$124690,$124691,$124692,$124693,$124694,$124695,$124696,$124697,$124698),(nextval($124699),$124700,$124701,$124702,$124703,$124704,$124705,$124706,$124707,$124708,$124709,$124710,$124711,$124712),(nextval($124713),$124714,$124715,$124716,$124717,$124718,$124719,$124720,$124721,$124722,$124723,$124724,$124725,$124726),(nextval($124727),$124728,$124729,$124730,$124731,$124732,$124733,$124734,$124735,$124736,$124737,$124738,$124739,$124740),(nextval($124741),$124742,$124743,$124744,$124745,$124746,$124747,$124748,$124749,$124750,$124751,$124752,$124753,$124754),(nextval($124755),$124756,$124757,$124758,$124759,$124760,$124761,$124762,$124763,$124764,$124765,$124766,$124767,$124768),(nextval($124769),$124770,$124771,$124772,$124773,$124774,$124775,$124776,$124777,$124778,$124779,$124780,$124781,$124782),(nextval($124783),$124784,$124785,$124786,$124787,$124788,$124789,$124790,$124791,$124792,$124793,$124794,$124795,$124796),(nextval($124797),$124798,$124799,$124800,$124801,$124802,$124803,$124804,$124805,$124806,$124807,$124808,$124809,$124810),(nextval($124811),$124812,$124813,$124814,$124815,$124816,$124817,$124818,$124819,$124820,$124821,$124822,$124823,$124824),(nextval($124825),$124826,$124827,$124828,$124829,$124830,$124831,$124832,$124833,$124834,$124835,$124836,$124837,$124838),(nextval($124839),$124840,$124841,$124842,$124843,$124844,$124845,$124846,$124847,$124848,$124849,$124850,$124851,$124852),(nextval($124853),$124854,$124855,$124856,$124857,$124858,$124859,$124860,$124861,$124862,$124863,$124864,$124865,$124866),(nextval($124867),$124868,$124869,$124870,$124871,$124872,$124873,$124874,$124875,$124876,$124877,$124878,$124879,$124880),(nextval($124881),$124882,$124883,$124884,$124885,$124886,$124887,$124888,$124889,$124890,$124891,$124892,$124893,$124894),(nextval($124895),$124896,$124897,$124898,$124899,$124900,$124901,$124902,$124903,$124904,$124905,$124906,$124907,$124908),(nextval($124909),$124910,$124911,$124912,$124913,$124914,$124915,$124916,$124917,$124918,$124919,$124920,$124921,$124922),(nextval($124923),$124924,$124925,$124926,$124927,$124928,$124929,$124930,$124931,$124932,$124933,$124934,$124935,$124936),(nextval($124937),$124938,$124939,$124940,$124941,$124942,$124943,$124944,$124945,$124946,$124947,$124948,$124949,$124950),(nextval($124951),$124952,$124953,$124954,$124955,$124956,$124957,$124958,$124959,$124960,$124961,$124962,$124963,$124964),(nextval($124965),$124966,$124967,$124968,$124969,$124970,$124971,$124972,$124973,$124974,$124975,$124976,$124977,$124978),(nextval($124979),$124980,$124981,$124982,$124983,$124984,$124985,$124986,$124987,$124988,$124989,$124990,$124991,$124992),(nextval($124993),$124994,$124995,$124996,$124997,$124998,$124999,$125000,$125001,$125002,$125003,$125004,$125005,$125006),(nextval($125007),$125008,$125009,$125010,$125011,$125012,$125013,$125014,$125015,$125016,$125017,$125018,$125019,$125020),(nextval($125021),$125022,$125023,$125024,$125025,$125026,$125027,$125028,$125029,$125030,$125031,$125032,$125033,$125034),(nextval($125035),$125036,$125037,$125038,$125039,$125040,$125041,$125042,$125043,$125044,$125045,$125046,$125047,$125048),(nextval($125049),$125050,$125051,$125052,$125053,$125054,$125055,$125056,$125057,$125058,$125059,$125060,$125061,$125062),(nextval($125063),$125064,$125065,$125066,$125067,$125068,$125069,$125070,$125071,$125072,$125073,$125074,$125075,$125076),(nextval($125077),$125078,$125079,$125080,$125081,$125082,$125083,$125084,$125085,$125086,$125087,$125088,$125089,$125090),(nextval($125091),$125092,$125093,$125094,$125095,$125096,$125097,$125098,$125099,$125100,$125101,$125102,$125103,$125104),(nextval($125105),$125106,$125107,$125108,$125109,$125110,$125111,$125112,$125113,$125114,$125115,$125116,$125117,$125118),(nextval($125119),$125120,$125121,$125122,$125123,$125124,$125125,$125126,$125127,$125128,$125129,$125130,$125131,$125132),(nextval($125133),$125134,$125135,$125136,$125137,$125138,$125139,$125140,$125141,$125142,$125143,$125144,$125145,$125146),(nextval($125147),$125148,$125149,$125150,$125151,$125152,$125153,$125154,$125155,$125156,$125157,$125158,$125159,$125160),(nextval($125161),$125162,$125163,$125164,$125165,$125166,$125167,$125168,$125169,$125170,$125171,$125172,$125173,$125174),(nextval($125175),$125176,$125177,$125178,$125179,$125180,$125181,$125182,$125183,$125184,$125185,$125186,$125187,$125188),(nextval($125189),$125190,$125191,$125192,$125193,$125194,$125195,$125196,$125197,$125198,$125199,$125200,$125201,$125202),(nextval($125203),$125204,$125205,$125206,$125207,$125208,$125209,$125210,$125211,$125212,$125213,$125214,$125215,$125216),(nextval($125217),$125218,$125219,$125220,$125221,$125222,$125223,$125224,$125225,$125226,$125227,$125228,$125229,$125230),(nextval($125231),$125232,$125233,$125234,$125235,$125236,$125237,$125238,$125239,$125240,$125241,$125242,$125243,$125244),(nextval($125245),$125246,$125247,$125248,$125249,$125250,$125251,$125252,$125253,$125254,$125255,$125256,$125257,$125258),(nextval($125259),$125260,$125261,$125262,$125263,$125264,$125265,$125266,$125267,$125268,$125269,$125270,$125271,$125272),(nextval($125273),$125274,$125275,$125276,$125277,$125278,$125279,$125280,$125281,$125282,$125283,$125284,$125285,$125286),(nextval($125287),$125288,$125289,$125290,$125291,$125292,$125293,$125294,$125295,$125296,$125297,$125298,$125299,$125300),(nextval($125301),$125302,$125303,$125304,$125305,$125306,$125307,$125308,$125309,$125310,$125311,$125312,$125313,$125314),(nextval($125315),$125316,$125317,$125318,$125319,$125320,$125321,$125322,$125323,$125324,$125325,$125326,$125327,$125328),(nextval($125329),$125330,$125331,$125332,$125333,$125334,$125335,$125336,$125337,$125338,$125339,$125340,$125341,$125342),(nextval($125343),$125344,$125345,$125346,$125347,$125348,$125349,$125350,$125351,$125352,$125353,$125354,$125355,$125356),(nextval($125357),$125358,$125359,$125360,$125361,$125362,$125363,$125364,$125365,$125366,$125367,$125368,$125369,$125370),(nextval($125371),$125372,$125373,$125374,$125375,$125376,$125377,$125378,$125379,$125380,$125381,$125382,$125383,$125384),(nextval($125385),$125386,$125387,$125388,$125389,$125390,$125391,$125392,$125393,$125394,$125395,$125396,$125397,$125398),(nextval($125399),$125400,$125401,$125402,$125403,$125404,$125405,$125406,$125407,$125408,$125409,$125410,$125411,$125412),(nextval($125413),$125414,$125415,$125416,$125417,$125418,$125419,$125420,$125421,$125422,$125423,$125424,$125425,$125426),(nextval($125427),$125428,$125429,$125430,$125431,$125432,$125433,$125434,$125435,$125436,$125437,$125438,$125439,$125440),(nextval($125441),$125442,$125443,$125444,$125445,$125446,$125447,$125448,$125449,$125450,$125451,$125452,$125453,$125454),(nextval($125455),$125456,$125457,$125458,$125459,$125460,$125461,$125462,$125463,$125464,$125465,$125466,$125467,$125468),(nextval($125469),$125470,$125471,$125472,$125473,$125474,$125475,$125476,$125477,$125478,$125479,$125480,$125481,$125482),(nextval($125483),$125484,$125485,$125486,$125487,$125488,$125489,$125490,$125491,$125492,$125493,$125494,$125495,$125496),(nextval($125497),$125498,$125499,$125500,$125501,$125502,$125503,$125504,$125505,$125506,$125507,$125508,$125509,$125510),(nextval($125511),$125512,$125513,$125514,$125515,$125516,$125517,$125518,$125519,$125520,$125521,$125522,$125523,$125524),(nextval($125525),$125526,$125527,$125528,$125529,$125530,$125531,$125532,$125533,$125534,$125535,$125536,$125537,$125538),(nextval($125539),$125540,$125541,$125542,$125543,$125544,$125545,$125546,$125547,$125548,$125549,$125550,$125551,$125552),(nextval($125553),$125554,$125555,$125556,$125557,$125558,$125559,$125560,$125561,$125562,$125563,$125564,$125565,$125566),(nextval($125567),$125568,$125569,$125570,$125571,$125572,$125573,$125574,$125575,$125576,$125577,$125578,$125579,$125580),(nextval($125581),$125582,$125583,$125584,$125585,$125586,$125587,$125588,$125589,$125590,$125591,$125592,$125593,$125594),(nextval($125595),$125596,$125597,$125598,$125599,$125600,$125601,$125602,$125603,$125604,$125605,$125606,$125607,$125608),(nextval($125609),$125610,$125611,$125612,$125613,$125614,$125615,$125616,$125617,$125618,$125619,$125620,$125621,$125622),(nextval($125623),$125624,$125625,$125626,$125627,$125628,$125629,$125630,$125631,$125632,$125633,$125634,$125635,$125636),(nextval($125637),$125638,$125639,$125640,$125641,$125642,$125643,$125644,$125645,$125646,$125647,$125648,$125649,$125650),(nextval($125651),$125652,$125653,$125654,$125655,$125656,$125657,$125658,$125659,$125660,$125661,$125662,$125663,$125664),(nextval($125665),$125666,$125667,$125668,$125669,$125670,$125671,$125672,$125673,$125674,$125675,$125676,$125677,$125678),(nextval($125679),$125680,$125681,$125682,$125683,$125684,$125685,$125686,$125687,$125688,$125689,$125690,$125691,$125692),(nextval($125693),$125694,$125695,$125696,$125697,$125698,$125699,$125700,$125701,$125702,$125703,$125704,$125705,$125706),(nextval($125707),$125708,$125709,$125710,$125711,$125712,$125713,$125714,$125715,$125716,$125717,$125718,$125719,$125720),(nextval($125721),$125722,$125723,$125724,$125725,$125726,$125727,$125728,$125729,$125730,$125731,$125732,$125733,$125734),(nextval($125735),$125736,$125737,$125738,$125739,$125740,$125741,$125742,$125743,$125744,$125745,$125746,$125747,$125748),(nextval($125749),$125750,$125751,$125752,$125753,$125754,$125755,$125756,$125757,$125758,$125759,$125760,$125761,$125762),(nextval($125763),$125764,$125765,$125766,$125767,$125768,$125769,$125770,$125771,$125772,$125773,$125774,$125775,$125776),(nextval($125777),$125778,$125779,$125780,$125781,$125782,$125783,$125784,$125785,$125786,$125787,$125788,$125789,$125790),(nextval($125791),$125792,$125793,$125794,$125795,$125796,$125797,$125798,$125799,$125800,$125801,$125802,$125803,$125804),(nextval($125805),$125806,$125807,$125808,$125809,$125810,$125811,$125812,$125813,$125814,$125815,$125816,$125817,$125818),(nextval($125819),$125820,$125821,$125822,$125823,$125824,$125825,$125826,$125827,$125828,$125829,$125830,$125831,$125832),(nextval($125833),$125834,$125835,$125836,$125837,$125838,$125839,$125840,$125841,$125842,$125843,$125844,$125845,$125846),(nextval($125847),$125848,$125849,$125850,$125851,$125852,$125853,$125854,$125855,$125856,$125857,$125858,$125859,$125860),(nextval($125861),$125862,$125863,$125864,$125865,$125866,$125867,$125868,$125869,$125870,$125871,$125872,$125873,$125874),(nextval($125875),$125876,$125877,$125878,$125879,$125880,$125881,$125882,$125883,$125884,$125885,$125886,$125887,$125888),(nextval($125889),$125890,$125891,$125892,$125893,$125894,$125895,$125896,$125897,$125898,$125899,$125900,$125901,$125902),(nextval($125903),$125904,$125905,$125906,$125907,$125908,$125909,$125910,$125911,$125912,$125913,$125914,$125915,$125916),(nextval($125917),$125918,$125919,$125920,$125921,$125922,$125923,$125924,$125925,$125926,$125927,$125928,$125929,$125930),(nextval($125931),$125932,$125933,$125934,$125935,$125936,$125937,$125938,$125939,$125940,$125941,$125942,$125943,$125944),(nextval($125945),$125946,$125947,$125948,$125949,$125950,$125951,$125952,$125953,$125954,$125955,$125956,$125957,$125958),(nextval($125959),$125960,$125961,$125962,$125963,$125964,$125965,$125966,$125967,$125968,$125969,$125970,$125971,$125972),(nextval($125973),$125974,$125975,$125976,$125977,$125978,$125979,$125980,$125981,$125982,$125983,$125984,$125985,$125986),(nextval($125987),$125988,$125989,$125990,$125991,$125992,$125993,$125994,$125995,$125996,$125997,$125998,$125999,$126000),(nextval($126001),$126002,$126003,$126004,$126005,$126006,$126007,$126008,$126009,$126010,$126011,$126012,$126013,$126014),(nextval($126015),$126016,$126017,$126018,$126019,$126020,$126021,$126022,$126023,$126024,$126025,$126026,$126027,$126028),(nextval($126029),$126030,$126031,$126032,$126033,$126034,$126035,$126036,$126037,$126038,$126039,$126040,$126041,$126042),(nextval($126043),$126044,$126045,$126046,$126047,$126048,$126049,$126050,$126051,$126052,$126053,$126054,$126055,$126056),(nextval($126057),$126058,$126059,$126060,$126061,$126062,$126063,$126064,$126065,$126066,$126067,$126068,$126069,$126070),(nextval($126071),$126072,$126073,$126074,$126075,$126076,$126077,$126078,$126079,$126080,$126081,$126082,$126083,$126084),(nextval($126085),$126086,$126087,$126088,$126089,$126090,$126091,$126092,$126093,$126094,$126095,$126096,$126097,$126098),(nextval($126099),$126100,$126101,$126102,$126103,$126104,$126105,$126106,$126107,$126108,$126109,$126110,$126111,$126112),(nextval($126113),$126114,$126115,$126116,$126117,$126118,$126119,$126120,$126121,$126122,$126123,$126124,$126125,$126126),(nextval($126127),$126128,$126129,$126130,$126131,$126132,$126133,$126134,$126135,$126136,$126137,$126138,$126139,$126140),(nextval($126141),$126142,$126143,$126144,$126145,$126146,$126147,$126148,$126149,$126150,$126151,$126152,$126153,$126154),(nextval($126155),$126156,$126157,$126158,$126159,$126160,$126161,$126162,$126163,$126164,$126165,$126166,$126167,$126168),(nextval($126169),$126170,$126171,$126172,$126173,$126174,$126175,$126176,$126177,$126178,$126179,$126180,$126181,$126182),(nextval($126183),$126184,$126185,$126186,$126187,$126188,$126189,$126190,$126191,$126192,$126193,$126194,$126195,$126196),(nextval($126197),$126198,$126199,$126200,$126201,$126202,$126203,$126204,$126205,$126206,$126207,$126208,$126209,$126210),(nextval($126211),$126212,$126213,$126214,$126215,$126216,$126217,$126218,$126219,$126220,$126221,$126222,$126223,$126224),(nextval($126225),$126226,$126227,$126228,$126229,$126230,$126231,$126232,$126233,$126234,$126235,$126236,$126237,$126238),(nextval($126239),$126240,$126241,$126242,$126243,$126244,$126245,$126246,$126247,$126248,$126249,$126250,$126251,$126252),(nextval($126253),$126254,$126255,$126256,$126257,$126258,$126259,$126260,$126261,$126262,$126263,$126264,$126265,$126266),(nextval($126267),$126268,$126269,$126270,$126271,$126272,$126273,$126274,$126275,$126276,$126277,$126278,$126279,$126280),(nextval($126281),$126282,$126283,$126284,$126285,$126286,$126287,$126288,$126289,$126290,$126291,$126292,$126293,$126294),(nextval($126295),$126296,$126297,$126298,$126299,$126300,$126301,$126302,$126303,$126304,$126305,$126306,$126307,$126308),(nextval($126309),$126310,$126311,$126312,$126313,$126314,$126315,$126316,$126317,$126318,$126319,$126320,$126321,$126322),(nextval($126323),$126324,$126325,$126326,$126327,$126328,$126329,$126330,$126331,$126332,$126333,$126334,$126335,$126336),(nextval($126337),$126338,$126339,$126340,$126341,$126342,$126343,$126344,$126345,$126346,$126347,$126348,$126349,$126350),(nextval($126351),$126352,$126353,$126354,$126355,$126356,$126357,$126358,$126359,$126360,$126361,$126362,$126363,$126364),(nextval($126365),$126366,$126367,$126368,$126369,$126370,$126371,$126372,$126373,$126374,$126375,$126376,$126377,$126378),(nextval($126379),$126380,$126381,$126382,$126383,$126384,$126385,$126386,$126387,$126388,$126389,$126390,$126391,$126392),(nextval($126393),$126394,$126395,$126396,$126397,$126398,$126399,$126400,$126401,$126402,$126403,$126404,$126405,$126406),(nextval($126407),$126408,$126409,$126410,$126411,$126412,$126413,$126414,$126415,$126416,$126417,$126418,$126419,$126420),(nextval($126421),$126422,$126423,$126424,$126425,$126426,$126427,$126428,$126429,$126430,$126431,$126432,$126433,$126434),(nextval($126435),$126436,$126437,$126438,$126439,$126440,$126441,$126442,$126443,$126444,$126445,$126446,$126447,$126448),(nextval($126449),$126450,$126451,$126452,$126453,$126454,$126455,$126456,$126457,$126458,$126459,$126460,$126461,$126462),(nextval($126463),$126464,$126465,$126466,$126467,$126468,$126469,$126470,$126471,$126472,$126473,$126474,$126475,$126476),(nextval($126477),$126478,$126479,$126480,$126481,$126482,$126483,$126484,$126485,$126486,$126487,$126488,$126489,$126490),(nextval($126491),$126492,$126493,$126494,$126495,$126496,$126497,$126498,$126499,$126500,$126501,$126502,$126503,$126504),(nextval($126505),$126506,$126507,$126508,$126509,$126510,$126511,$126512,$126513,$126514,$126515,$126516,$126517,$126518),(nextval($126519),$126520,$126521,$126522,$126523,$126524,$126525,$126526,$126527,$126528,$126529,$126530,$126531,$126532),(nextval($126533),$126534,$126535,$126536,$126537,$126538,$126539,$126540,$126541,$126542,$126543,$126544,$126545,$126546),(nextval($126547),$126548,$126549,$126550,$126551,$126552,$126553,$126554,$126555,$126556,$126557,$126558,$126559,$126560),(nextval($126561),$126562,$126563,$126564,$126565,$126566,$126567,$126568,$126569,$126570,$126571,$126572,$126573,$126574),(nextval($126575),$126576,$126577,$126578,$126579,$126580,$126581,$126582,$126583,$126584,$126585,$126586,$126587,$126588),(nextval($126589),$126590,$126591,$126592,$126593,$126594,$126595,$126596,$126597,$126598,$126599,$126600,$126601,$126602),(nextval($126603),$126604,$126605,$126606,$126607,$126608,$126609,$126610,$126611,$126612,$126613,$126614,$126615,$126616),(nextval($126617),$126618,$126619,$126620,$126621,$126622,$126623,$126624,$126625,$126626,$126627,$126628,$126629,$126630),(nextval($126631),$126632,$126633,$126634,$126635,$126636,$126637,$126638,$126639,$126640,$126641,$126642,$126643,$126644),(nextval($126645),$126646,$126647,$126648,$126649,$126650,$126651,$126652,$126653,$126654,$126655,$126656,$126657,$126658),(nextval($126659),$126660,$126661,$126662,$126663,$126664,$126665,$126666,$126667,$126668,$126669,$126670,$126671,$126672),(nextval($126673),$126674,$126675,$126676,$126677,$126678,$126679,$126680,$126681,$126682,$126683,$126684,$126685,$126686),(nextval($126687),$126688,$126689,$126690,$126691,$126692,$126693,$126694,$126695,$126696,$126697,$126698,$126699,$126700),(nextval($126701),$126702,$126703,$126704,$126705,$126706,$126707,$126708,$126709,$126710,$126711,$126712,$126713,$126714),(nextval($126715),$126716,$126717,$126718,$126719,$126720,$126721,$126722,$126723,$126724,$126725,$126726,$126727,$126728),(nextval($126729),$126730,$126731,$126732,$126733,$126734,$126735,$126736,$126737,$126738,$126739,$126740,$126741,$126742),(nextval($126743),$126744,$126745,$126746,$126747,$126748,$126749,$126750,$126751,$126752,$126753,$126754,$126755,$126756),(nextval($126757),$126758,$126759,$126760,$126761,$126762,$126763,$126764,$126765,$126766,$126767,$126768,$126769,$126770),(nextval($126771),$126772,$126773,$126774,$126775,$126776,$126777,$126778,$126779,$126780,$126781,$126782,$126783,$126784),(nextval($126785),$126786,$126787,$126788,$126789,$126790,$126791,$126792,$126793,$126794,$126795,$126796,$126797,$126798),(nextval($126799),$126800,$126801,$126802,$126803,$126804,$126805,$126806,$126807,$126808,$126809,$126810,$126811,$126812),(nextval($126813),$126814,$126815,$126816,$126817,$126818,$126819,$126820,$126821,$126822,$126823,$126824,$126825,$126826),(nextval($126827),$126828,$126829,$126830,$126831,$126832,$126833,$126834,$126835,$126836,$126837,$126838,$126839,$126840),(nextval($126841),$126842,$126843,$126844,$126845,$126846,$126847,$126848,$126849,$126850,$126851,$126852,$126853,$126854),(nextval($126855),$126856,$126857,$126858,$126859,$126860,$126861,$126862,$126863,$126864,$126865,$126866,$126867,$126868),(nextval($126869),$126870,$126871,$126872,$126873,$126874,$126875,$126876,$126877,$126878,$126879,$126880,$126881,$126882),(nextval($126883),$126884,$126885,$126886,$126887,$126888,$126889,$126890,$126891,$126892,$126893,$126894,$126895,$126896),(nextval($126897),$126898,$126899,$126900,$126901,$126902,$126903,$126904,$126905,$126906,$126907,$126908,$126909,$126910),(nextval($126911),$126912,$126913,$126914,$126915,$126916,$126917,$126918,$126919,$126920,$126921,$126922,$126923,$126924),(nextval($126925),$126926,$126927,$126928,$126929,$126930,$126931,$126932,$126933,$126934,$126935,$126936,$126937,$126938),(nextval($126939),$126940,$126941,$126942,$126943,$126944,$126945,$126946,$126947,$126948,$126949,$126950,$126951,$126952),(nextval($126953),$126954,$126955,$126956,$126957,$126958,$126959,$126960,$126961,$126962,$126963,$126964,$126965,$126966),(nextval($126967),$126968,$126969,$126970,$126971,$126972,$126973,$126974,$126975,$126976,$126977,$126978,$126979,$126980),(nextval($126981),$126982,$126983,$126984,$126985,$126986,$126987,$126988,$126989,$126990,$126991,$126992,$126993,$126994),(nextval($126995),$126996,$126997,$126998,$126999,$127000,$127001,$127002,$127003,$127004,$127005,$127006,$127007,$127008),(nextval($127009),$127010,$127011,$127012,$127013,$127014,$127015,$127016,$127017,$127018,$127019,$127020,$127021,$127022),(nextval($127023),$127024,$127025,$127026,$127027,$127028,$127029,$127030,$127031,$127032,$127033,$127034,$127035,$127036),(nextval($127037),$127038,$127039,$127040,$127041,$127042,$127043,$127044,$127045,$127046,$127047,$127048,$127049,$127050),(nextval($127051),$127052,$127053,$127054,$127055,$127056,$127057,$127058,$127059,$127060,$127061,$127062,$127063,$127064),(nextval($127065),$127066,$127067,$127068,$127069,$127070,$127071,$127072,$127073,$127074,$127075,$127076,$127077,$127078),(nextval($127079),$127080,$127081,$127082,$127083,$127084,$127085,$127086,$127087,$127088,$127089,$127090,$127091,$127092),(nextval($127093),$127094,$127095,$127096,$127097,$127098,$127099,$127100,$127101,$127102,$127103,$127104,$127105,$127106),(nextval($127107),$127108,$127109,$127110,$127111,$127112,$127113,$127114,$127115,$127116,$127117,$127118,$127119,$127120),(nextval($127121),$127122,$127123,$127124,$127125,$127126,$127127,$127128,$127129,$127130,$127131,$127132,$127133,$127134),(nextval($127135),$127136,$127137,$127138,$127139,$127140,$127141,$127142,$127143,$127144,$127145,$127146,$127147,$127148),(nextval($127149),$127150,$127151,$127152,$127153,$127154,$127155,$127156,$127157,$127158,$127159,$127160,$127161,$127162),(nextval($127163),$127164,$127165,$127166,$127167,$127168,$127169,$127170,$127171,$127172,$127173,$127174,$127175,$127176),(nextval($127177),$127178,$127179,$127180,$127181,$127182,$127183,$127184,$127185,$127186,$127187,$127188,$127189,$127190),(nextval($127191),$127192,$127193,$127194,$127195,$127196,$127197,$127198,$127199,$127200,$127201,$127202,$127203,$127204),(nextval($127205),$127206,$127207,$127208,$127209,$127210,$127211,$127212,$127213,$127214,$127215,$127216,$127217,$127218),(nextval($127219),$127220,$127221,$127222,$127223,$127224,$127225,$127226,$127227,$127228,$127229,$127230,$127231,$127232),(nextval($127233),$127234,$127235,$127236,$127237,$127238,$127239,$127240,$127241,$127242,$127243,$127244,$127245,$127246),(nextval($127247),$127248,$127249,$127250,$127251,$127252,$127253,$127254,$127255,$127256,$127257,$127258,$127259,$127260),(nextval($127261),$127262,$127263,$127264,$127265,$127266,$127267,$127268,$127269,$127270,$127271,$127272,$127273,$127274),(nextval($127275),$127276,$127277,$127278,$127279,$127280,$127281,$127282,$127283,$127284,$127285,$127286,$127287,$127288),(nextval($127289),$127290,$127291,$127292,$127293,$127294,$127295,$127296,$127297,$127298,$127299,$127300,$127301,$127302),(nextval($127303),$127304,$127305,$127306,$127307,$127308,$127309,$127310,$127311,$127312,$127313,$127314,$127315,$127316),(nextval($127317),$127318,$127319,$127320,$127321,$127322,$127323,$127324,$127325,$127326,$127327,$127328,$127329,$127330),(nextval($127331),$127332,$127333,$127334,$127335,$127336,$127337,$127338,$127339,$127340,$127341,$127342,$127343,$127344),(nextval($127345),$127346,$127347,$127348,$127349,$127350,$127351,$127352,$127353,$127354,$127355,$127356,$127357,$127358),(nextval($127359),$127360,$127361,$127362,$127363,$127364,$127365,$127366,$127367,$127368,$127369,$127370,$127371,$127372),(nextval($127373),$127374,$127375,$127376,$127377,$127378,$127379,$127380,$127381,$127382,$127383,$127384,$127385,$127386),(nextval($127387),$127388,$127389,$127390,$127391,$127392,$127393,$127394,$127395,$127396,$127397,$127398,$127399,$127400),(nextval($127401),$127402,$127403,$127404,$127405,$127406,$127407,$127408,$127409,$127410,$127411,$127412,$127413,$127414),(nextval($127415),$127416,$127417,$127418,$127419,$127420,$127421,$127422,$127423,$127424,$127425,$127426,$127427,$127428),(nextval($127429),$127430,$127431,$127432,$127433,$127434,$127435,$127436,$127437,$127438,$127439,$127440,$127441,$127442),(nextval($127443),$127444,$127445,$127446,$127447,$127448,$127449,$127450,$127451,$127452,$127453,$127454,$127455,$127456),(nextval($127457),$127458,$127459,$127460,$127461,$127462,$127463,$127464,$127465,$127466,$127467,$127468,$127469,$127470),(nextval($127471),$127472,$127473,$127474,$127475,$127476,$127477,$127478,$127479,$127480,$127481,$127482,$127483,$127484),(nextval($127485),$127486,$127487,$127488,$127489,$127490,$127491,$127492,$127493,$127494,$127495,$127496,$127497,$127498),(nextval($127499),$127500,$127501,$127502,$127503,$127504,$127505,$127506,$127507,$127508,$127509,$127510,$127511,$127512),(nextval($127513),$127514,$127515,$127516,$127517,$127518,$127519,$127520,$127521,$127522,$127523,$127524,$127525,$127526),(nextval($127527),$127528,$127529,$127530,$127531,$127532,$127533,$127534,$127535,$127536,$127537,$127538,$127539,$127540),(nextval($127541),$127542,$127543,$127544,$127545,$127546,$127547,$127548,$127549,$127550,$127551,$127552,$127553,$127554),(nextval($127555),$127556,$127557,$127558,$127559,$127560,$127561,$127562,$127563,$127564,$127565,$127566,$127567,$127568),(nextval($127569),$127570,$127571,$127572,$127573,$127574,$127575,$127576,$127577,$127578,$127579,$127580,$127581,$127582),(nextval($127583),$127584,$127585,$127586,$127587,$127588,$127589,$127590,$127591,$127592,$127593,$127594,$127595,$127596),(nextval($127597),$127598,$127599,$127600,$127601,$127602,$127603,$127604,$127605,$127606,$127607,$127608,$127609,$127610),(nextval($127611),$127612,$127613,$127614,$127615,$127616,$127617,$127618,$127619,$127620,$127621,$127622,$127623,$127624),(nextval($127625),$127626,$127627,$127628,$127629,$127630,$127631,$127632,$127633,$127634,$127635,$127636,$127637,$127638),(nextval($127639),$127640,$127641,$127642,$127643,$127644,$127645,$127646,$127647,$127648,$127649,$127650,$127651,$127652),(nextval($127653),$127654,$127655,$127656,$127657,$127658,$127659,$127660,$127661,$127662,$127663,$127664,$127665,$127666),(nextval($127667),$127668,$127669,$127670,$127671,$127672,$127673,$127674,$127675,$127676,$127677,$127678,$127679,$127680),(nextval($127681),$127682,$127683,$127684,$127685,$127686,$127687,$127688,$127689,$127690,$127691,$127692,$127693,$127694),(nextval($127695),$127696,$127697,$127698,$127699,$127700,$127701,$127702,$127703,$127704,$127705,$127706,$127707,$127708),(nextval($127709),$127710,$127711,$127712,$127713,$127714,$127715,$127716,$127717,$127718,$127719,$127720,$127721,$127722),(nextval($127723),$127724,$127725,$127726,$127727,$127728,$127729,$127730,$127731,$127732,$127733,$127734,$127735,$127736),(nextval($127737),$127738,$127739,$127740,$127741,$127742,$127743,$127744,$127745,$127746,$127747,$127748,$127749,$127750),(nextval($127751),$127752,$127753,$127754,$127755,$127756,$127757,$127758,$127759,$127760,$127761,$127762,$127763,$127764),(nextval($127765),$127766,$127767,$127768,$127769,$127770,$127771,$127772,$127773,$127774,$127775,$127776,$127777,$127778),(nextval($127779),$127780,$127781,$127782,$127783,$127784,$127785,$127786,$127787,$127788,$127789,$127790,$127791,$127792),(nextval($127793),$127794,$127795,$127796,$127797,$127798,$127799,$127800,$127801,$127802,$127803,$127804,$127805,$127806),(nextval($127807),$127808,$127809,$127810,$127811,$127812,$127813,$127814,$127815,$127816,$127817,$127818,$127819,$127820),(nextval($127821),$127822,$127823,$127824,$127825,$127826,$127827,$127828,$127829,$127830,$127831,$127832,$127833,$127834),(nextval($127835),$127836,$127837,$127838,$127839,$127840,$127841,$127842,$127843,$127844,$127845,$127846,$127847,$127848),(nextval($127849),$127850,$127851,$127852,$127853,$127854,$127855,$127856,$127857,$127858,$127859,$127860,$127861,$127862),(nextval($127863),$127864,$127865,$127866,$127867,$127868,$127869,$127870,$127871,$127872,$127873,$127874,$127875,$127876),(nextval($127877),$127878,$127879,$127880,$127881,$127882,$127883,$127884,$127885,$127886,$127887,$127888,$127889,$127890),(nextval($127891),$127892,$127893,$127894,$127895,$127896,$127897,$127898,$127899,$127900,$127901,$127902,$127903,$127904),(nextval($127905),$127906,$127907,$127908,$127909,$127910,$127911,$127912,$127913,$127914,$127915,$127916,$127917,$127918),(nextval($127919),$127920,$127921,$127922,$127923,$127924,$127925,$127926,$127927,$127928,$127929,$127930,$127931,$127932),(nextval($127933),$127934,$127935,$127936,$127937,$127938,$127939,$127940,$127941,$127942,$127943,$127944,$127945,$127946),(nextval($127947),$127948,$127949,$127950,$127951,$127952,$127953,$127954,$127955,$127956,$127957,$127958,$127959,$127960),(nextval($127961),$127962,$127963,$127964,$127965,$127966,$127967,$127968,$127969,$127970,$127971,$127972,$127973,$127974),(nextval($127975),$127976,$127977,$127978,$127979,$127980,$127981,$127982,$127983,$127984,$127985,$127986,$127987,$127988),(nextval($127989),$127990,$127991,$127992,$127993,$127994,$127995,$127996,$127997,$127998,$127999,$128000,$128001,$128002),(nextval($128003),$128004,$128005,$128006,$128007,$128008,$128009,$128010,$128011,$128012,$128013,$128014,$128015,$128016),(nextval($128017),$128018,$128019,$128020,$128021,$128022,$128023,$128024,$128025,$128026,$128027,$128028,$128029,$128030),(nextval($128031),$128032,$128033,$128034,$128035,$128036,$128037,$128038,$128039,$128040,$128041,$128042,$128043,$128044),(nextval($128045),$128046,$128047,$128048,$128049,$128050,$128051,$128052,$128053,$128054,$128055,$128056,$128057,$128058),(nextval($128059),$128060,$128061,$128062,$128063,$128064,$128065,$128066,$128067,$128068,$128069,$128070,$128071,$128072),(nextval($128073),$128074,$128075,$128076,$128077,$128078,$128079,$128080,$128081,$128082,$128083,$128084,$128085,$128086),(nextval($128087),$128088,$128089,$128090,$128091,$128092,$128093,$128094,$128095,$128096,$128097,$128098,$128099,$128100),(nextval($128101),$128102,$128103,$128104,$128105,$128106,$128107,$128108,$128109,$128110,$128111,$128112,$128113,$128114),(nextval($128115),$128116,$128117,$128118,$128119,$128120,$128121,$128122,$128123,$128124,$128125,$128126,$128127,$128128),(nextval($128129),$128130,$128131,$128132,$128133,$128134,$128135,$128136,$128137,$128138,$128139,$128140,$128141,$128142),(nextval($128143),$128144,$128145,$128146,$128147,$128148,$128149,$128150,$128151,$128152,$128153,$128154,$128155,$128156),(nextval($128157),$128158,$128159,$128160,$128161,$128162,$128163,$128164,$128165,$128166,$128167,$128168,$128169,$128170),(nextval($128171),$128172,$128173,$128174,$128175,$128176,$128177,$128178,$128179,$128180,$128181,$128182,$128183,$128184),(nextval($128185),$128186,$128187,$128188,$128189,$128190,$128191,$128192,$128193,$128194,$128195,$128196,$128197,$128198),(nextval($128199),$128200,$128201,$128202,$128203,$128204,$128205,$128206,$128207,$128208,$128209,$128210,$128211,$128212),(nextval($128213),$128214,$128215,$128216,$128217,$128218,$128219,$128220,$128221,$128222,$128223,$128224,$128225,$128226),(nextval($128227),$128228,$128229,$128230,$128231,$128232,$128233,$128234,$128235,$128236,$128237,$128238,$128239,$128240),(nextval($128241),$128242,$128243,$128244,$128245,$128246,$128247,$128248,$128249,$128250,$128251,$128252,$128253,$128254),(nextval($128255),$128256,$128257,$128258,$128259,$128260,$128261,$128262,$128263,$128264,$128265,$128266,$128267,$128268),(nextval($128269),$128270,$128271,$128272,$128273,$128274,$128275,$128276,$128277,$128278,$128279,$128280,$128281,$128282),(nextval($128283),$128284,$128285,$128286,$128287,$128288,$128289,$128290,$128291,$128292,$128293,$128294,$128295,$128296),(nextval($128297),$128298,$128299,$128300,$128301,$128302,$128303,$128304,$128305,$128306,$128307,$128308,$128309,$128310),(nextval($128311),$128312,$128313,$128314,$128315,$128316,$128317,$128318,$128319,$128320,$128321,$128322,$128323,$128324),(nextval($128325),$128326,$128327,$128328,$128329,$128330,$128331,$128332,$128333,$128334,$128335,$128336,$128337,$128338),(nextval($128339),$128340,$128341,$128342,$128343,$128344,$128345,$128346,$128347,$128348,$128349,$128350,$128351,$128352),(nextval($128353),$128354,$128355,$128356,$128357,$128358,$128359,$128360,$128361,$128362,$128363,$128364,$128365,$128366),(nextval($128367),$128368,$128369,$128370,$128371,$128372,$128373,$128374,$128375,$128376,$128377,$128378,$128379,$128380),(nextval($128381),$128382,$128383,$128384,$128385,$128386,$128387,$128388,$128389,$128390,$128391,$128392,$128393,$128394),(nextval($128395),$128396,$128397,$128398,$128399,$128400,$128401,$128402,$128403,$128404,$128405,$128406,$128407,$128408),(nextval($128409),$128410,$128411,$128412,$128413,$128414,$128415,$128416,$128417,$128418,$128419,$128420,$128421,$128422),(nextval($128423),$128424,$128425,$128426,$128427,$128428,$128429,$128430,$128431,$128432,$128433,$128434,$128435,$128436),(nextval($128437),$128438,$128439,$128440,$128441,$128442,$128443,$128444,$128445,$128446,$128447,$128448,$128449,$128450),(nextval($128451),$128452,$128453,$128454,$128455,$128456,$128457,$128458,$128459,$128460,$128461,$128462,$128463,$128464),(nextval($128465),$128466,$128467,$128468,$128469,$128470,$128471,$128472,$128473,$128474,$128475,$128476,$128477,$128478),(nextval($128479),$128480,$128481,$128482,$128483,$128484,$128485,$128486,$128487,$128488,$128489,$128490,$128491,$128492),(nextval($128493),$128494,$128495,$128496,$128497,$128498,$128499,$128500,$128501,$128502,$128503,$128504,$128505,$128506),(nextval($128507),$128508,$128509,$128510,$128511,$128512,$128513,$128514,$128515,$128516,$128517,$128518,$128519,$128520),(nextval($128521),$128522,$128523,$128524,$128525,$128526,$128527,$128528,$128529,$128530,$128531,$128532,$128533,$128534),(nextval($128535),$128536,$128537,$128538,$128539,$128540,$128541,$128542,$128543,$128544,$128545,$128546,$128547,$128548),(nextval($128549),$128550,$128551,$128552,$128553,$128554,$128555,$128556,$128557,$128558,$128559,$128560,$128561,$128562),(nextval($128563),$128564,$128565,$128566,$128567,$128568,$128569,$128570,$128571,$128572,$128573,$128574,$128575,$128576),(nextval($128577),$128578,$128579,$128580,$128581,$128582,$128583,$128584,$128585,$128586,$128587,$128588,$128589,$128590),(nextval($128591),$128592,$128593,$128594,$128595,$128596,$128597,$128598,$128599,$128600,$128601,$128602,$128603,$128604),(nextval($128605),$128606,$128607,$128608,$128609,$128610,$128611,$128612,$128613,$128614,$128615,$128616,$128617,$128618),(nextval($128619),$128620,$128621,$128622,$128623,$128624,$128625,$128626,$128627,$128628,$128629,$128630,$128631,$128632),(nextval($128633),$128634,$128635,$128636,$128637,$128638,$128639,$128640,$128641,$128642,$128643,$128644,$128645,$128646),(nextval($128647),$128648,$128649,$128650,$128651,$128652,$128653,$128654,$128655,$128656,$128657,$128658,$128659,$128660),(nextval($128661),$128662,$128663,$128664,$128665,$128666,$128667,$128668,$128669,$128670,$128671,$128672,$128673,$128674),(nextval($128675),$128676,$128677,$128678,$128679,$128680,$128681,$128682,$128683,$128684,$128685,$128686,$128687,$128688),(nextval($128689),$128690,$128691,$128692,$128693,$128694,$128695,$128696,$128697,$128698,$128699,$128700,$128701,$128702),(nextval($128703),$128704,$128705,$128706,$128707,$128708,$128709,$128710,$128711,$128712,$128713,$128714,$128715,$128716),(nextval($128717),$128718,$128719,$128720,$128721,$128722,$128723,$128724,$128725,$128726,$128727,$128728,$128729,$128730),(nextval($128731),$128732,$128733,$128734,$128735,$128736,$128737,$128738,$128739,$128740,$128741,$128742,$128743,$128744),(nextval($128745),$128746,$128747,$128748,$128749,$128750,$128751,$128752,$128753,$128754,$128755,$128756,$128757,$128758),(nextval($128759),$128760,$128761,$128762,$128763,$128764,$128765,$128766,$128767,$128768,$128769,$128770,$128771,$128772),(nextval($128773),$128774,$128775,$128776,$128777,$128778,$128779,$128780,$128781,$128782,$128783,$128784,$128785,$128786),(nextval($128787),$128788,$128789,$128790,$128791,$128792,$128793,$128794,$128795,$128796,$128797,$128798,$128799,$128800),(nextval($128801),$128802,$128803,$128804,$128805,$128806,$128807,$128808,$128809,$128810,$128811,$128812,$128813,$128814),(nextval($128815),$128816,$128817,$128818,$128819,$128820,$128821,$128822,$128823,$128824,$128825,$128826,$128827,$128828),(nextval($128829),$128830,$128831,$128832,$128833,$128834,$128835,$128836,$128837,$128838,$128839,$128840,$128841,$128842),(nextval($128843),$128844,$128845,$128846,$128847,$128848,$128849,$128850,$128851,$128852,$128853,$128854,$128855,$128856),(nextval($128857),$128858,$128859,$128860,$128861,$128862,$128863,$128864,$128865,$128866,$128867,$128868,$128869,$128870),(nextval($128871),$128872,$128873,$128874,$128875,$128876,$128877,$128878,$128879,$128880,$128881,$128882,$128883,$128884),(nextval($128885),$128886,$128887,$128888,$128889,$128890,$128891,$128892,$128893,$128894,$128895,$128896,$128897,$128898),(nextval($128899),$128900,$128901,$128902,$128903,$128904,$128905,$128906,$128907,$128908,$128909,$128910,$128911,$128912),(nextval($128913),$128914,$128915,$128916,$128917,$128918,$128919,$128920,$128921,$128922,$128923,$128924,$128925,$128926),(nextval($128927),$128928,$128929,$128930,$128931,$128932,$128933,$128934,$128935,$128936,$128937,$128938,$128939,$128940),(nextval($128941),$128942,$128943,$128944,$128945,$128946,$128947,$128948,$128949,$128950,$128951,$128952,$128953,$128954),(nextval($128955),$128956,$128957,$128958,$128959,$128960,$128961,$128962,$128963,$128964,$128965,$128966,$128967,$128968),(nextval($128969),$128970,$128971,$128972,$128973,$128974,$128975,$128976,$128977,$128978,$128979,$128980,$128981,$128982),(nextval($128983),$128984,$128985,$128986,$128987,$128988,$128989,$128990,$128991,$128992,$128993,$128994,$128995,$128996),(nextval($128997),$128998,$128999,$129000,$129001,$129002,$129003,$129004,$129005,$129006,$129007,$129008,$129009,$129010),(nextval($129011),$129012,$129013,$129014,$129015,$129016,$129017,$129018,$129019,$129020,$129021,$129022,$129023,$129024),(nextval($129025),$129026,$129027,$129028,$129029,$129030,$129031,$129032,$129033,$129034,$129035,$129036,$129037,$129038),(nextval($129039),$129040,$129041,$129042,$129043,$129044,$129045,$129046,$129047,$129048,$129049,$129050,$129051,$129052),(nextval($129053),$129054,$129055,$129056,$129057,$129058,$129059,$129060,$129061,$129062,$129063,$129064,$129065,$129066),(nextval($129067),$129068,$129069,$129070,$129071,$129072,$129073,$129074,$129075,$129076,$129077,$129078,$129079,$129080),(nextval($129081),$129082,$129083,$129084,$129085,$129086,$129087,$129088,$129089,$129090,$129091,$129092,$129093,$129094),(nextval($129095),$129096,$129097,$129098,$129099,$129100,$129101,$129102,$129103,$129104,$129105,$129106,$129107,$129108),(nextval($129109),$129110,$129111,$129112,$129113,$129114,$129115,$129116,$129117,$129118,$129119,$129120,$129121,$129122),(nextval($129123),$129124,$129125,$129126,$129127,$129128,$129129,$129130,$129131,$129132,$129133,$129134,$129135,$129136),(nextval($129137),$129138,$129139,$129140,$129141,$129142,$129143,$129144,$129145,$129146,$129147,$129148,$129149,$129150),(nextval($129151),$129152,$129153,$129154,$129155,$129156,$129157,$129158,$129159,$129160,$129161,$129162,$129163,$129164),(nextval($129165),$129166,$129167,$129168,$129169,$129170,$129171,$129172,$129173,$129174,$129175,$129176,$129177,$129178),(nextval($129179),$129180,$129181,$129182,$129183,$129184,$129185,$129186,$129187,$129188,$129189,$129190,$129191,$129192),(nextval($129193),$129194,$129195,$129196,$129197,$129198,$129199,$129200,$129201,$129202,$129203,$129204,$129205,$129206),(nextval($129207),$129208,$129209,$129210,$129211,$129212,$129213,$129214,$129215,$129216,$129217,$129218,$129219,$129220),(nextval($129221),$129222,$129223,$129224,$129225,$129226,$129227,$129228,$129229,$129230,$129231,$129232,$129233,$129234),(nextval($129235),$129236,$129237,$129238,$129239,$129240,$129241,$129242,$129243,$129244,$129245,$129246,$129247,$129248),(nextval($129249),$129250,$129251,$129252,$129253,$129254,$129255,$129256,$129257,$129258,$129259,$129260,$129261,$129262),(nextval($129263),$129264,$129265,$129266,$129267,$129268,$129269,$129270,$129271,$129272,$129273,$129274,$129275,$129276),(nextval($129277),$129278,$129279,$129280,$129281,$129282,$129283,$129284,$129285,$129286,$129287,$129288,$129289,$129290),(nextval($129291),$129292,$129293,$129294,$129295,$129296,$129297,$129298,$129299,$129300,$129301,$129302,$129303,$129304),(nextval($129305),$129306,$129307,$129308,$129309,$129310,$129311,$129312,$129313,$129314,$129315,$129316,$129317,$129318),(nextval($129319),$129320,$129321,$129322,$129323,$129324,$129325,$129326,$129327,$129328,$129329,$129330,$129331,$129332),(nextval($129333),$129334,$129335,$129336,$129337,$129338,$129339,$129340,$129341,$129342,$129343,$129344,$129345,$129346),(nextval($129347),$129348,$129349,$129350,$129351,$129352,$129353,$129354,$129355,$129356,$129357,$129358,$129359,$129360),(nextval($129361),$129362,$129363,$129364,$129365,$129366,$129367,$129368,$129369,$129370,$129371,$129372,$129373,$129374),(nextval($129375),$129376,$129377,$129378,$129379,$129380,$129381,$129382,$129383,$129384,$129385,$129386,$129387,$129388),(nextval($129389),$129390,$129391,$129392,$129393,$129394,$129395,$129396,$129397,$129398,$129399,$129400,$129401,$129402),(nextval($129403),$129404,$129405,$129406,$129407,$129408,$129409,$129410,$129411,$129412,$129413,$129414,$129415,$129416),(nextval($129417),$129418,$129419,$129420,$129421,$129422,$129423,$129424,$129425,$129426,$129427,$129428,$129429,$129430),(nextval($129431),$129432,$129433,$129434,$129435,$129436,$129437,$129438,$129439,$129440,$129441,$129442,$129443,$129444),(nextval($129445),$129446,$129447,$129448,$129449,$129450,$129451,$129452,$129453,$129454,$129455,$129456,$129457,$129458),(nextval($129459),$129460,$129461,$129462,$129463,$129464,$129465,$129466,$129467,$129468,$129469,$129470,$129471,$129472),(nextval($129473),$129474,$129475,$129476,$129477,$129478,$129479,$129480,$129481,$129482,$129483,$129484,$129485,$129486),(nextval($129487),$129488,$129489,$129490,$129491,$129492,$129493,$129494,$129495,$129496,$129497,$129498,$129499,$129500),(nextval($129501),$129502,$129503,$129504,$129505,$129506,$129507,$129508,$129509,$129510,$129511,$129512,$129513,$129514),(nextval($129515),$129516,$129517,$129518,$129519,$129520,$129521,$129522,$129523,$129524,$129525,$129526,$129527,$129528),(nextval($129529),$129530,$129531,$129532,$129533,$129534,$129535,$129536,$129537,$129538,$129539,$129540,$129541,$129542),(nextval($129543),$129544,$129545,$129546,$129547,$129548,$129549,$129550,$129551,$129552,$129553,$129554,$129555,$129556),(nextval($129557),$129558,$129559,$129560,$129561,$129562,$129563,$129564,$129565,$129566,$129567,$129568,$129569,$129570),(nextval($129571),$129572,$129573,$129574,$129575,$129576,$129577,$129578,$129579,$129580,$129581,$129582,$129583,$129584),(nextval($129585),$129586,$129587,$129588,$129589,$129590,$129591,$129592,$129593,$129594,$129595,$129596,$129597,$129598),(nextval($129599),$129600,$129601,$129602,$129603,$129604,$129605,$129606,$129607,$129608,$129609,$129610,$129611,$129612),(nextval($129613),$129614,$129615,$129616,$129617,$129618,$129619,$129620,$129621,$129622,$129623,$129624,$129625,$129626),(nextval($129627),$129628,$129629,$129630,$129631,$129632,$129633,$129634,$129635,$129636,$129637,$129638,$129639,$129640),(nextval($129641),$129642,$129643,$129644,$129645,$129646,$129647,$129648,$129649,$129650,$129651,$129652,$129653,$129654),(nextval($129655),$129656,$129657,$129658,$129659,$129660,$129661,$129662,$129663,$129664,$129665,$129666,$129667,$129668),(nextval($129669),$129670,$129671,$129672,$129673,$129674,$129675,$129676,$129677,$129678,$129679,$129680,$129681,$129682),(nextval($129683),$129684,$129685,$129686,$129687,$129688,$129689,$129690,$129691,$129692,$129693,$129694,$129695,$129696),(nextval($129697),$129698,$129699,$129700,$129701,$129702,$129703,$129704,$129705,$129706,$129707,$129708,$129709,$129710),(nextval($129711),$129712,$129713,$129714,$129715,$129716,$129717,$129718,$129719,$129720,$129721,$129722,$129723,$129724),(nextval($129725),$129726,$129727,$129728,$129729,$129730,$129731,$129732,$129733,$129734,$129735,$129736,$129737,$129738),(nextval($129739),$129740,$129741,$129742,$129743,$129744,$129745,$129746,$129747,$129748,$129749,$129750,$129751,$129752),(nextval($129753),$129754,$129755,$129756,$129757,$129758,$129759,$129760,$129761,$129762,$129763,$129764,$129765,$129766),(nextval($129767),$129768,$129769,$129770,$129771,$129772,$129773,$129774,$129775,$129776,$129777,$129778,$129779,$129780),(nextval($129781),$129782,$129783,$129784,$129785,$129786,$129787,$129788,$129789,$129790,$129791,$129792,$129793,$129794),(nextval($129795),$129796,$129797,$129798,$129799,$129800,$129801,$129802,$129803,$129804,$129805,$129806,$129807,$129808),(nextval($129809),$129810,$129811,$129812,$129813,$129814,$129815,$129816,$129817,$129818,$129819,$129820,$129821,$129822),(nextval($129823),$129824,$129825,$129826,$129827,$129828,$129829,$129830,$129831,$129832,$129833,$129834,$129835,$129836),(nextval($129837),$129838,$129839,$129840,$129841,$129842,$129843,$129844,$129845,$129846,$129847,$129848,$129849,$129850),(nextval($129851),$129852,$129853,$129854,$129855,$129856,$129857,$129858,$129859,$129860,$129861,$129862,$129863,$129864),(nextval($129865),$129866,$129867,$129868,$129869,$129870,$129871,$129872,$129873,$129874,$129875,$129876,$129877,$129878),(nextval($129879),$129880,$129881,$129882,$129883,$129884,$129885,$129886,$129887,$129888,$129889,$129890,$129891,$129892),(nextval($129893),$129894,$129895,$129896,$129897,$129898,$129899,$129900,$129901,$129902,$129903,$129904,$129905,$129906),(nextval($129907),$129908,$129909,$129910,$129911,$129912,$129913,$129914,$129915,$129916,$129917,$129918,$129919,$129920),(nextval($129921),$129922,$129923,$129924,$129925,$129926,$129927,$129928,$129929,$129930,$129931,$129932,$129933,$129934),(nextval($129935),$129936,$129937,$129938,$129939,$129940,$129941,$129942,$129943,$129944,$129945,$129946,$129947,$129948),(nextval($129949),$129950,$129951,$129952,$129953,$129954,$129955,$129956,$129957,$129958,$129959,$129960,$129961,$129962),(nextval($129963),$129964,$129965,$129966,$129967,$129968,$129969,$129970,$129971,$129972,$129973,$129974,$129975,$129976),(nextval($129977),$129978,$129979,$129980,$129981,$129982,$129983,$129984,$129985,$129986,$129987,$129988,$129989,$129990),(nextval($129991),$129992,$129993,$129994,$129995,$129996,$129997,$129998,$129999,$130000,$130001,$130002,$130003,$130004),(nextval($130005),$130006,$130007,$130008,$130009,$130010,$130011,$130012,$130013,$130014,$130015,$130016,$130017,$130018),(nextval($130019),$130020,$130021,$130022,$130023,$130024,$130025,$130026,$130027,$130028,$130029,$130030,$130031,$130032),(nextval($130033),$130034,$130035,$130036,$130037,$130038,$130039,$130040,$130041,$130042,$130043,$130044,$130045,$130046),(nextval($130047),$130048,$130049,$130050,$130051,$130052,$130053,$130054,$130055,$130056,$130057,$130058,$130059,$130060),(nextval($130061),$130062,$130063,$130064,$130065,$130066,$130067,$130068,$130069,$130070,$130071,$130072,$130073,$130074),(nextval($130075),$130076,$130077,$130078,$130079,$130080,$130081,$130082,$130083,$130084,$130085,$130086,$130087,$130088),(nextval($130089),$130090,$130091,$130092,$130093,$130094,$130095,$130096,$130097,$130098,$130099,$130100,$130101,$130102),(nextval($130103),$130104,$130105,$130106,$130107,$130108,$130109,$130110,$130111,$130112,$130113,$130114,$130115,$130116),(nextval($130117),$130118,$130119,$130120,$130121,$130122,$130123,$130124,$130125,$130126,$130127,$130128,$130129,$130130),(nextval($130131),$130132,$130133,$130134,$130135,$130136,$130137,$130138,$130139,$130140,$130141,$130142,$130143,$130144),(nextval($130145),$130146,$130147,$130148,$130149,$130150,$130151,$130152,$130153,$130154,$130155,$130156,$130157,$130158),(nextval($130159),$130160,$130161,$130162,$130163,$130164,$130165,$130166,$130167,$130168,$130169,$130170,$130171,$130172),(nextval($130173),$130174,$130175,$130176,$130177,$130178,$130179,$130180,$130181,$130182,$130183,$130184,$130185,$130186),(nextval($130187),$130188,$130189,$130190,$130191,$130192,$130193,$130194,$130195,$130196,$130197,$130198,$130199,$130200),(nextval($130201),$130202,$130203,$130204,$130205,$130206,$130207,$130208,$130209,$130210,$130211,$130212,$130213,$130214),(nextval($130215),$130216,$130217,$130218,$130219,$130220,$130221,$130222,$130223,$130224,$130225,$130226,$130227,$130228),(nextval($130229),$130230,$130231,$130232,$130233,$130234,$130235,$130236,$130237,$130238,$130239,$130240,$130241,$130242),(nextval($130243),$130244,$130245,$130246,$130247,$130248,$130249,$130250,$130251,$130252,$130253,$130254,$130255,$130256),(nextval($130257),$130258,$130259,$130260,$130261,$130262,$130263,$130264,$130265,$130266,$130267,$130268,$130269,$130270),(nextval($130271),$130272,$130273,$130274,$130275,$130276,$130277,$130278,$130279,$130280,$130281,$130282,$130283,$130284),(nextval($130285),$130286,$130287,$130288,$130289,$130290,$130291,$130292,$130293,$130294,$130295,$130296,$130297,$130298),(nextval($130299),$130300,$130301,$130302,$130303,$130304,$130305,$130306,$130307,$130308,$130309,$130310,$130311,$130312),(nextval($130313),$130314,$130315,$130316,$130317,$130318,$130319,$130320,$130321,$130322,$130323,$130324,$130325,$130326),(nextval($130327),$130328,$130329,$130330,$130331,$130332,$130333,$130334,$130335,$130336,$130337,$130338,$130339,$130340),(nextval($130341),$130342,$130343,$130344,$130345,$130346,$130347,$130348,$130349,$130350,$130351,$130352,$130353,$130354),(nextval($130355),$130356,$130357,$130358,$130359,$130360,$130361,$130362,$130363,$130364,$130365,$130366,$130367,$130368),(nextval($130369),$130370,$130371,$130372,$130373,$130374,$130375,$130376,$130377,$130378,$130379,$130380,$130381,$130382),(nextval($130383),$130384,$130385,$130386,$130387,$130388,$130389,$130390,$130391,$130392,$130393,$130394,$130395,$130396),(nextval($130397),$130398,$130399,$130400,$130401,$130402,$130403,$130404,$130405,$130406,$130407,$130408,$130409,$130410),(nextval($130411),$130412,$130413,$130414,$130415,$130416,$130417,$130418,$130419,$130420,$130421,$130422,$130423,$130424),(nextval($130425),$130426,$130427,$130428,$130429,$130430,$130431,$130432,$130433,$130434,$130435,$130436,$130437,$130438),(nextval($130439),$130440,$130441,$130442,$130443,$130444,$130445,$130446,$130447,$130448,$130449,$130450,$130451,$130452),(nextval($130453),$130454,$130455,$130456,$130457,$130458,$130459,$130460,$130461,$130462,$130463,$130464,$130465,$130466),(nextval($130467),$130468,$130469,$130470,$130471,$130472,$130473,$130474,$130475,$130476,$130477,$130478,$130479,$130480),(nextval($130481),$130482,$130483,$130484,$130485,$130486,$130487,$130488,$130489,$130490,$130491,$130492,$130493,$130494),(nextval($130495),$130496,$130497,$130498,$130499,$130500,$130501,$130502,$130503,$130504,$130505,$130506,$130507,$130508),(nextval($130509),$130510,$130511,$130512,$130513,$130514,$130515,$130516,$130517,$130518,$130519,$130520,$130521,$130522),(nextval($130523),$130524,$130525,$130526,$130527,$130528,$130529,$130530,$130531,$130532,$130533,$130534,$130535,$130536),(nextval($130537),$130538,$130539,$130540,$130541,$130542,$130543,$130544,$130545,$130546,$130547,$130548,$130549,$130550),(nextval($130551),$130552,$130553,$130554,$130555,$130556,$130557,$130558,$130559,$130560,$130561,$130562,$130563,$130564),(nextval($130565),$130566,$130567,$130568,$130569,$130570,$130571,$130572,$130573,$130574,$130575,$130576,$130577,$130578),(nextval($130579),$130580,$130581,$130582,$130583,$130584,$130585,$130586,$130587,$130588,$130589,$130590,$130591,$130592),(nextval($130593),$130594,$130595,$130596,$130597,$130598,$130599,$130600,$130601,$130602,$130603,$130604,$130605,$130606),(nextval($130607),$130608,$130609,$130610,$130611,$130612,$130613,$130614,$130615,$130616,$130617,$130618,$130619,$130620),(nextval($130621),$130622,$130623,$130624,$130625,$130626,$130627,$130628,$130629,$130630,$130631,$130632,$130633,$130634),(nextval($130635),$130636,$130637,$130638,$130639,$130640,$130641,$130642,$130643,$130644,$130645,$130646,$130647,$130648),(nextval($130649),$130650,$130651,$130652,$130653,$130654,$130655,$130656,$130657,$130658,$130659,$130660,$130661,$130662),(nextval($130663),$130664,$130665,$130666,$130667,$130668,$130669,$130670,$130671,$130672,$130673,$130674,$130675,$130676),(nextval($130677),$130678,$130679,$130680,$130681,$130682,$130683,$130684,$130685,$130686,$130687,$130688,$130689,$130690),(nextval($130691),$130692,$130693,$130694,$130695,$130696,$130697,$130698,$130699,$130700,$130701,$130702,$130703,$130704),(nextval($130705),$130706,$130707,$130708,$130709,$130710,$130711,$130712,$130713,$130714,$130715,$130716,$130717,$130718),(nextval($130719),$130720,$130721,$130722,$130723,$130724,$130725,$130726,$130727,$130728,$130729,$130730,$130731,$130732),(nextval($130733),$130734,$130735,$130736,$130737,$130738,$130739,$130740,$130741,$130742,$130743,$130744,$130745,$130746),(nextval($130747),$130748,$130749,$130750,$130751,$130752,$130753,$130754,$130755,$130756,$130757,$130758,$130759,$130760),(nextval($130761),$130762,$130763,$130764,$130765,$130766,$130767,$130768,$130769,$130770,$130771,$130772,$130773,$130774),(nextval($130775),$130776,$130777,$130778,$130779,$130780,$130781,$130782,$130783,$130784,$130785,$130786,$130787,$130788),(nextval($130789),$130790,$130791,$130792,$130793,$130794,$130795,$130796,$130797,$130798,$130799,$130800,$130801,$130802),(nextval($130803),$130804,$130805,$130806,$130807,$130808,$130809,$130810,$130811,$130812,$130813,$130814,$130815,$130816),(nextval($130817),$130818,$130819,$130820,$130821,$130822,$130823,$130824,$130825,$130826,$130827,$130828,$130829,$130830),(nextval($130831),$130832,$130833,$130834,$130835,$130836,$130837,$130838,$130839,$130840,$130841,$130842,$130843,$130844),(nextval($130845),$130846,$130847,$130848,$130849,$130850,$130851,$130852,$130853,$130854,$130855,$130856,$130857,$130858),(nextval($130859),$130860,$130861,$130862,$130863,$130864,$130865,$130866,$130867,$130868,$130869,$130870,$130871,$130872),(nextval($130873),$130874,$130875,$130876,$130877,$130878,$130879,$130880,$130881,$130882,$130883,$130884,$130885,$130886),(nextval($130887),$130888,$130889,$130890,$130891,$130892,$130893,$130894,$130895,$130896,$130897,$130898,$130899,$130900),(nextval($130901),$130902,$130903,$130904,$130905,$130906,$130907,$130908,$130909,$130910,$130911,$130912,$130913,$130914),(nextval($130915),$130916,$130917,$130918,$130919,$130920,$130921,$130922,$130923,$130924,$130925,$130926,$130927,$130928),(nextval($130929),$130930,$130931,$130932,$130933,$130934,$130935,$130936,$130937,$130938,$130939,$130940,$130941,$130942),(nextval($130943),$130944,$130945,$130946,$130947,$130948,$130949,$130950,$130951,$130952,$130953,$130954,$130955,$130956),(nextval($130957),$130958,$130959,$130960,$130961,$130962,$130963,$130964,$130965,$130966,$130967,$130968,$130969,$130970),(nextval($130971),$130972,$130973,$130974,$130975,$130976,$130977,$130978,$130979,$130980,$130981,$130982,$130983,$130984),(nextval($130985),$130986,$130987,$130988,$130989,$130990,$130991,$130992,$130993,$130994,$130995,$130996,$130997,$130998),(nextval($130999),$131000,$131001,$131002,$131003,$131004,$131005,$131006,$131007,$131008,$131009,$131010,$131011,$131012),(nextval($131013),$131014,$131015,$131016,$131017,$131018,$131019,$131020,$131021,$131022,$131023,$131024,$131025,$131026),(nextval($131027),$131028,$131029,$131030,$131031,$131032,$131033,$131034,$131035,$131036,$131037,$131038,$131039,$131040),(nextval($131041),$131042,$131043,$131044,$131045,$131046,$131047,$131048,$131049,$131050,$131051,$131052,$131053,$131054),(nextval($131055),$131056,$131057,$131058,$131059,$131060,$131061,$131062,$131063,$131064,$131065,$131066,$131067,$131068),(nextval($131069),$131070,$131071,$131072,$131073,$131074,$131075,$131076,$131077,$131078,$131079,$131080,$131081,$131082),(nextval($131083),$131084,$131085,$131086,$131087,$131088,$131089,$131090,$131091,$131092,$131093,$131094,$131095,$131096),(nextval($131097),$131098,$131099,$131100,$131101,$131102,$131103,$131104,$131105,$131106,$131107,$131108,$131109,$131110),(nextval($131111),$131112,$131113,$131114,$131115,$131116,$131117,$131118,$131119,$131120,$131121,$131122,$131123,$131124),(nextval($131125),$131126,$131127,$131128,$131129,$131130,$131131,$131132,$131133,$131134,$131135,$131136,$131137,$131138),(nextval($131139),$131140,$131141,$131142,$131143,$131144,$131145,$131146,$131147,$131148,$131149,$131150,$131151,$131152),(nextval($131153),$131154,$131155,$131156,$131157,$131158,$131159,$131160,$131161,$131162,$131163,$131164,$131165,$131166),(nextval($131167),$131168,$131169,$131170,$131171,$131172,$131173,$131174,$131175,$131176,$131177,$131178,$131179,$131180),(nextval($131181),$131182,$131183,$131184,$131185,$131186,$131187,$131188,$131189,$131190,$131191,$131192,$131193,$131194),(nextval($131195),$131196,$131197,$131198,$131199,$131200,$131201,$131202,$131203,$131204,$131205,$131206,$131207,$131208),(nextval($131209),$131210,$131211,$131212,$131213,$131214,$131215,$131216,$131217,$131218,$131219,$131220,$131221,$131222),(nextval($131223),$131224,$131225,$131226,$131227,$131228,$131229,$131230,$131231,$131232,$131233,$131234,$131235,$131236),(nextval($131237),$131238,$131239,$131240,$131241,$131242,$131243,$131244,$131245,$131246,$131247,$131248,$131249,$131250),(nextval($131251),$131252,$131253,$131254,$131255,$131256,$131257,$131258,$131259,$131260,$131261,$131262,$131263,$131264),(nextval($131265),$131266,$131267,$131268,$131269,$131270,$131271,$131272,$131273,$131274,$131275,$131276,$131277,$131278),(nextval($131279),$131280,$131281,$131282,$131283,$131284,$131285,$131286,$131287,$131288,$131289,$131290,$131291,$131292),(nextval($131293),$131294,$131295,$131296,$131297,$131298,$131299,$131300,$131301,$131302,$131303,$131304,$131305,$131306),(nextval($131307),$131308,$131309,$131310,$131311,$131312,$131313,$131314,$131315,$131316,$131317,$131318,$131319,$131320),(nextval($131321),$131322,$131323,$131324,$131325,$131326,$131327,$131328,$131329,$131330,$131331,$131332,$131333,$131334),(nextval($131335),$131336,$131337,$131338,$131339,$131340,$131341,$131342,$131343,$131344,$131345,$131346,$131347,$131348),(nextval($131349),$131350,$131351,$131352,$131353,$131354,$131355,$131356,$131357,$131358,$131359,$131360,$131361,$131362),(nextval($131363),$131364,$131365,$131366,$131367,$131368,$131369,$131370,$131371,$131372,$131373,$131374,$131375,$131376),(nextval($131377),$131378,$131379,$131380,$131381,$131382,$131383,$131384,$131385,$131386,$131387,$131388,$131389,$131390),(nextval($131391),$131392,$131393,$131394,$131395,$131396,$131397,$131398,$131399,$131400,$131401,$131402,$131403,$131404),(nextval($131405),$131406,$131407,$131408,$131409,$131410,$131411,$131412,$131413,$131414,$131415,$131416,$131417,$131418),(nextval($131419),$131420,$131421,$131422,$131423,$131424,$131425,$131426,$131427,$131428,$131429,$131430,$131431,$131432),(nextval($131433),$131434,$131435,$131436,$131437,$131438,$131439,$131440,$131441,$131442,$131443,$131444,$131445,$131446),(nextval($131447),$131448,$131449,$131450,$131451,$131452,$131453,$131454,$131455,$131456,$131457,$131458,$131459,$131460),(nextval($131461),$131462,$131463,$131464,$131465,$131466,$131467,$131468,$131469,$131470,$131471,$131472,$131473,$131474),(nextval($131475),$131476,$131477,$131478,$131479,$131480,$131481,$131482,$131483,$131484,$131485,$131486,$131487,$131488),(nextval($131489),$131490,$131491,$131492,$131493,$131494,$131495,$131496,$131497,$131498,$131499,$131500,$131501,$131502),(nextval($131503),$131504,$131505,$131506,$131507,$131508,$131509,$131510,$131511,$131512,$131513,$131514,$131515,$131516),(nextval($131517),$131518,$131519,$131520,$131521,$131522,$131523,$131524,$131525,$131526,$131527,$131528,$131529,$131530),(nextval($131531),$131532,$131533,$131534,$131535,$131536,$131537,$131538,$131539,$131540,$131541,$131542,$131543,$131544),(nextval($131545),$131546,$131547,$131548,$131549,$131550,$131551,$131552,$131553,$131554,$131555,$131556,$131557,$131558),(nextval($131559),$131560,$131561,$131562,$131563,$131564,$131565,$131566,$131567,$131568,$131569,$131570,$131571,$131572),(nextval($131573),$131574,$131575,$131576,$131577,$131578,$131579,$131580,$131581,$131582,$131583,$131584,$131585,$131586),(nextval($131587),$131588,$131589,$131590,$131591,$131592,$131593,$131594,$131595,$131596,$131597,$131598,$131599,$131600),(nextval($131601),$131602,$131603,$131604,$131605,$131606,$131607,$131608,$131609,$131610,$131611,$131612,$131613,$131614),(nextval($131615),$131616,$131617,$131618,$131619,$131620,$131621,$131622,$131623,$131624,$131625,$131626,$131627,$131628),(nextval($131629),$131630,$131631,$131632,$131633,$131634,$131635,$131636,$131637,$131638,$131639,$131640,$131641,$131642),(nextval($131643),$131644,$131645,$131646,$131647,$131648,$131649,$131650,$131651,$131652,$131653,$131654,$131655,$131656),(nextval($131657),$131658,$131659,$131660,$131661,$131662,$131663,$131664,$131665,$131666,$131667,$131668,$131669,$131670),(nextval($131671),$131672,$131673,$131674,$131675,$131676,$131677,$131678,$131679,$131680,$131681,$131682,$131683,$131684),(nextval($131685),$131686,$131687,$131688,$131689,$131690,$131691,$131692,$131693,$131694,$131695,$131696,$131697,$131698),(nextval($131699),$131700,$131701,$131702,$131703,$131704,$131705,$131706,$131707,$131708,$131709,$131710,$131711,$131712),(nextval($131713),$131714,$131715,$131716,$131717,$131718,$131719,$131720,$131721,$131722,$131723,$131724,$131725,$131726),(nextval($131727),$131728,$131729,$131730,$131731,$131732,$131733,$131734,$131735,$131736,$131737,$131738,$131739,$131740),(nextval($131741),$131742,$131743,$131744,$131745,$131746,$131747,$131748,$131749,$131750,$131751,$131752,$131753,$131754),(nextval($131755),$131756,$131757,$131758,$131759,$131760,$131761,$131762,$131763,$131764,$131765,$131766,$131767,$131768),(nextval($131769),$131770,$131771,$131772,$131773,$131774,$131775,$131776,$131777,$131778,$131779,$131780,$131781,$131782),(nextval($131783),$131784,$131785,$131786,$131787,$131788,$131789,$131790,$131791,$131792,$131793,$131794,$131795,$131796),(nextval($131797),$131798,$131799,$131800,$131801,$131802,$131803,$131804,$131805,$131806,$131807,$131808,$131809,$131810),(nextval($131811),$131812,$131813,$131814,$131815,$131816,$131817,$131818,$131819,$131820,$131821,$131822,$131823,$131824),(nextval($131825),$131826,$131827,$131828,$131829,$131830,$131831,$131832,$131833,$131834,$131835,$131836,$131837,$131838),(nextval($131839),$131840,$131841,$131842,$131843,$131844,$131845,$131846,$131847,$131848,$131849,$131850,$131851,$131852),(nextval($131853),$131854,$131855,$131856,$131857,$131858,$131859,$131860,$131861,$131862,$131863,$131864,$131865,$131866),(nextval($131867),$131868,$131869,$131870,$131871,$131872,$131873,$131874,$131875,$131876,$131877,$131878,$131879,$131880),(nextval($131881),$131882,$131883,$131884,$131885,$131886,$131887,$131888,$131889,$131890,$131891,$131892,$131893,$131894),(nextval($131895),$131896,$131897,$131898,$131899,$131900,$131901,$131902,$131903,$131904,$131905,$131906,$131907,$131908),(nextval($131909),$131910,$131911,$131912,$131913,$131914,$131915,$131916,$131917,$131918,$131919,$131920,$131921,$131922),(nextval($131923),$131924,$131925,$131926,$131927,$131928,$131929,$131930,$131931,$131932,$131933,$131934,$131935,$131936),(nextval($131937),$131938,$131939,$131940,$131941,$131942,$131943,$131944,$131945,$131946,$131947,$131948,$131949,$131950),(nextval($131951),$131952,$131953,$131954,$131955,$131956,$131957,$131958,$131959,$131960,$131961,$131962,$131963,$131964),(nextval($131965),$131966,$131967,$131968,$131969,$131970,$131971,$131972,$131973,$131974,$131975,$131976,$131977,$131978),(nextval($131979),$131980,$131981,$131982,$131983,$131984,$131985,$131986,$131987,$131988,$131989,$131990,$131991,$131992),(nextval($131993),$131994,$131995,$131996,$131997,$131998,$131999,$132000,$132001,$132002,$132003,$132004,$132005,$132006),(nextval($132007),$132008,$132009,$132010,$132011,$132012,$132013,$132014,$132015,$132016,$132017,$132018,$132019,$132020),(nextval($132021),$132022,$132023,$132024,$132025,$132026,$132027,$132028,$132029,$132030,$132031,$132032,$132033,$132034),(nextval($132035),$132036,$132037,$132038,$132039,$132040,$132041,$132042,$132043,$132044,$132045,$132046,$132047,$132048),(nextval($132049),$132050,$132051,$132052,$132053,$132054,$132055,$132056,$132057,$132058,$132059,$132060,$132061,$132062),(nextval($132063),$132064,$132065,$132066,$132067,$132068,$132069,$132070,$132071,$132072,$132073,$132074,$132075,$132076),(nextval($132077),$132078,$132079,$132080,$132081,$132082,$132083,$132084,$132085,$132086,$132087,$132088,$132089,$132090),(nextval($132091),$132092,$132093,$132094,$132095,$132096,$132097,$132098,$132099,$132100,$132101,$132102,$132103,$132104),(nextval($132105),$132106,$132107,$132108,$132109,$132110,$132111,$132112,$132113,$132114,$132115,$132116,$132117,$132118),(nextval($132119),$132120,$132121,$132122,$132123,$132124,$132125,$132126,$132127,$132128,$132129,$132130,$132131,$132132),(nextval($132133),$132134,$132135,$132136,$132137,$132138,$132139,$132140,$132141,$132142,$132143,$132144,$132145,$132146),(nextval($132147),$132148,$132149,$132150,$132151,$132152,$132153,$132154,$132155,$132156,$132157,$132158,$132159,$132160),(nextval($132161),$132162,$132163,$132164,$132165,$132166,$132167,$132168,$132169,$132170,$132171,$132172,$132173,$132174),(nextval($132175),$132176,$132177,$132178,$132179,$132180,$132181,$132182,$132183,$132184,$132185,$132186,$132187,$132188),(nextval($132189),$132190,$132191,$132192,$132193,$132194,$132195,$132196,$132197,$132198,$132199,$132200,$132201,$132202),(nextval($132203),$132204,$132205,$132206,$132207,$132208,$132209,$132210,$132211,$132212,$132213,$132214,$132215,$132216),(nextval($132217),$132218,$132219,$132220,$132221,$132222,$132223,$132224,$132225,$132226,$132227,$132228,$132229,$132230),(nextval($132231),$132232,$132233,$132234,$132235,$132236,$132237,$132238,$132239,$132240,$132241,$132242,$132243,$132244),(nextval($132245),$132246,$132247,$132248,$132249,$132250,$132251,$132252,$132253,$132254,$132255,$132256,$132257,$132258),(nextval($132259),$132260,$132261,$132262,$132263,$132264,$132265,$132266,$132267,$132268,$132269,$132270,$132271,$132272),(nextval($132273),$132274,$132275,$132276,$132277,$132278,$132279,$132280,$132281,$132282,$132283,$132284,$132285,$132286),(nextval($132287),$132288,$132289,$132290,$132291,$132292,$132293,$132294,$132295,$132296,$132297,$132298,$132299,$132300),(nextval($132301),$132302,$132303,$132304,$132305,$132306,$132307,$132308,$132309,$132310,$132311,$132312,$132313,$132314),(nextval($132315),$132316,$132317,$132318,$132319,$132320,$132321,$132322,$132323,$132324,$132325,$132326,$132327,$132328),(nextval($132329),$132330,$132331,$132332,$132333,$132334,$132335,$132336,$132337,$132338,$132339,$132340,$132341,$132342),(nextval($132343),$132344,$132345,$132346,$132347,$132348,$132349,$132350,$132351,$132352,$132353,$132354,$132355,$132356),(nextval($132357),$132358,$132359,$132360,$132361,$132362,$132363,$132364,$132365,$132366,$132367,$132368,$132369,$132370),(nextval($132371),$132372,$132373,$132374,$132375,$132376,$132377,$132378,$132379,$132380,$132381,$132382,$132383,$132384),(nextval($132385),$132386,$132387,$132388,$132389,$132390,$132391,$132392,$132393,$132394,$132395,$132396,$132397,$132398),(nextval($132399),$132400,$132401,$132402,$132403,$132404,$132405,$132406,$132407,$132408,$132409,$132410,$132411,$132412),(nextval($132413),$132414,$132415,$132416,$132417,$132418,$132419,$132420,$132421,$132422,$132423,$132424,$132425,$132426),(nextval($132427),$132428,$132429,$132430,$132431,$132432,$132433,$132434,$132435,$132436,$132437,$132438,$132439,$132440),(nextval($132441),$132442,$132443,$132444,$132445,$132446,$132447,$132448,$132449,$132450,$132451,$132452,$132453,$132454),(nextval($132455),$132456,$132457,$132458,$132459,$132460,$132461,$132462,$132463,$132464,$132465,$132466,$132467,$132468),(nextval($132469),$132470,$132471,$132472,$132473,$132474,$132475,$132476,$132477,$132478,$132479,$132480,$132481,$132482),(nextval($132483),$132484,$132485,$132486,$132487,$132488,$132489,$132490,$132491,$132492,$132493,$132494,$132495,$132496),(nextval($132497),$132498,$132499,$132500,$132501,$132502,$132503,$132504,$132505,$132506,$132507,$132508,$132509,$132510),(nextval($132511),$132512,$132513,$132514,$132515,$132516,$132517,$132518,$132519,$132520,$132521,$132522,$132523,$132524),(nextval($132525),$132526,$132527,$132528,$132529,$132530,$132531,$132532,$132533,$132534,$132535,$132536,$132537,$132538),(nextval($132539),$132540,$132541,$132542,$132543,$132544,$132545,$132546,$132547,$132548,$132549,$132550,$132551,$132552),(nextval($132553),$132554,$132555,$132556,$132557,$132558,$132559,$132560,$132561,$132562,$132563,$132564,$132565,$132566),(nextval($132567),$132568,$132569,$132570,$132571,$132572,$132573,$132574,$132575,$132576,$132577,$132578,$132579,$132580),(nextval($132581),$132582,$132583,$132584,$132585,$132586,$132587,$132588,$132589,$132590,$132591,$132592,$132593,$132594),(nextval($132595),$132596,$132597,$132598,$132599,$132600,$132601,$132602,$132603,$132604,$132605,$132606,$132607,$132608),(nextval($132609),$132610,$132611,$132612,$132613,$132614,$132615,$132616,$132617,$132618,$132619,$132620,$132621,$132622),(nextval($132623),$132624,$132625,$132626,$132627,$132628,$132629,$132630,$132631,$132632,$132633,$132634,$132635,$132636),(nextval($132637),$132638,$132639,$132640,$132641,$132642,$132643,$132644,$132645,$132646,$132647,$132648,$132649,$132650),(nextval($132651),$132652,$132653,$132654,$132655,$132656,$132657,$132658,$132659,$132660,$132661,$132662,$132663,$132664),(nextval($132665),$132666,$132667,$132668,$132669,$132670,$132671,$132672,$132673,$132674,$132675,$132676,$132677,$132678),(nextval($132679),$132680,$132681,$132682,$132683,$132684,$132685,$132686,$132687,$132688,$132689,$132690,$132691,$132692),(nextval($132693),$132694,$132695,$132696,$132697,$132698,$132699,$132700,$132701,$132702,$132703,$132704,$132705,$132706),(nextval($132707),$132708,$132709,$132710,$132711,$132712,$132713,$132714,$132715,$132716,$132717,$132718,$132719,$132720),(nextval($132721),$132722,$132723,$132724,$132725,$132726,$132727,$132728,$132729,$132730,$132731,$132732,$132733,$132734),(nextval($132735),$132736,$132737,$132738,$132739,$132740,$132741,$132742,$132743,$132744,$132745,$132746,$132747,$132748),(nextval($132749),$132750,$132751,$132752,$132753,$132754,$132755,$132756,$132757,$132758,$132759,$132760,$132761,$132762),(nextval($132763),$132764,$132765,$132766,$132767,$132768,$132769,$132770,$132771,$132772,$132773,$132774,$132775,$132776),(nextval($132777),$132778,$132779,$132780,$132781,$132782,$132783,$132784,$132785,$132786,$132787,$132788,$132789,$132790),(nextval($132791),$132792,$132793,$132794,$132795,$132796,$132797,$132798,$132799,$132800,$132801,$132802,$132803,$132804),(nextval($132805),$132806,$132807,$132808,$132809,$132810,$132811,$132812,$132813,$132814,$132815,$132816,$132817,$132818),(nextval($132819),$132820,$132821,$132822,$132823,$132824,$132825,$132826,$132827,$132828,$132829,$132830,$132831,$132832),(nextval($132833),$132834,$132835,$132836,$132837,$132838,$132839,$132840,$132841,$132842,$132843,$132844,$132845,$132846),(nextval($132847),$132848,$132849,$132850,$132851,$132852,$132853,$132854,$132855,$132856,$132857,$132858,$132859,$132860),(nextval($132861),$132862,$132863,$132864,$132865,$132866,$132867,$132868,$132869,$132870,$132871,$132872,$132873,$132874),(nextval($132875),$132876,$132877,$132878,$132879,$132880,$132881,$132882,$132883,$132884,$132885,$132886,$132887,$132888),(nextval($132889),$132890,$132891,$132892,$132893,$132894,$132895,$132896,$132897,$132898,$132899,$132900,$132901,$132902),(nextval($132903),$132904,$132905,$132906,$132907,$132908,$132909,$132910,$132911,$132912,$132913,$132914,$132915,$132916),(nextval($132917),$132918,$132919,$132920,$132921,$132922,$132923,$132924,$132925,$132926,$132927,$132928,$132929,$132930),(nextval($132931),$132932,$132933,$132934,$132935,$132936,$132937,$132938,$132939,$132940,$132941,$132942,$132943,$132944),(nextval($132945),$132946,$132947,$132948,$132949,$132950,$132951,$132952,$132953,$132954,$132955,$132956,$132957,$132958),(nextval($132959),$132960,$132961,$132962,$132963,$132964,$132965,$132966,$132967,$132968,$132969,$132970,$132971,$132972),(nextval($132973),$132974,$132975,$132976,$132977,$132978,$132979,$132980,$132981,$132982,$132983,$132984,$132985,$132986),(nextval($132987),$132988,$132989,$132990,$132991,$132992,$132993,$132994,$132995,$132996,$132997,$132998,$132999,$133000),(nextval($133001),$133002,$133003,$133004,$133005,$133006,$133007,$133008,$133009,$133010,$133011,$133012,$133013,$133014),(nextval($133015),$133016,$133017,$133018,$133019,$133020,$133021,$133022,$133023,$133024,$133025,$133026,$133027,$133028),(nextval($133029),$133030,$133031,$133032,$133033,$133034,$133035,$133036,$133037,$133038,$133039,$133040,$133041,$133042),(nextval($133043),$133044,$133045,$133046,$133047,$133048,$133049,$133050,$133051,$133052,$133053,$133054,$133055,$133056),(nextval($133057),$133058,$133059,$133060,$133061,$133062,$133063,$133064,$133065,$133066,$133067,$133068,$133069,$133070),(nextval($133071),$133072,$133073,$133074,$133075,$133076,$133077,$133078,$133079,$133080,$133081,$133082,$133083,$133084),(nextval($133085),$133086,$133087,$133088,$133089,$133090,$133091,$133092,$133093,$133094,$133095,$133096,$133097,$133098),(nextval($133099),$133100,$133101,$133102,$133103,$133104,$133105,$133106,$133107,$133108,$133109,$133110,$133111,$133112),(nextval($133113),$133114,$133115,$133116,$133117,$133118,$133119,$133120,$133121,$133122,$133123,$133124,$133125,$133126),(nextval($133127),$133128,$133129,$133130,$133131,$133132,$133133,$133134,$133135,$133136,$133137,$133138,$133139,$133140),(nextval($133141),$133142,$133143,$133144,$133145,$133146,$133147,$133148,$133149,$133150,$133151,$133152,$133153,$133154),(nextval($133155),$133156,$133157,$133158,$133159,$133160,$133161,$133162,$133163,$133164,$133165,$133166,$133167,$133168),(nextval($133169),$133170,$133171,$133172,$133173,$133174,$133175,$133176,$133177,$133178,$133179,$133180,$133181,$133182),(nextval($133183),$133184,$133185,$133186,$133187,$133188,$133189,$133190,$133191,$133192,$133193,$133194,$133195,$133196),(nextval($133197),$133198,$133199,$133200,$133201,$133202,$133203,$133204,$133205,$133206,$133207,$133208,$133209,$133210),(nextval($133211),$133212,$133213,$133214,$133215,$133216,$133217,$133218,$133219,$133220,$133221,$133222,$133223,$133224),(nextval($133225),$133226,$133227,$133228,$133229,$133230,$133231,$133232,$133233,$133234,$133235,$133236,$133237,$133238),(nextval($133239),$133240,$133241,$133242,$133243,$133244,$133245,$133246,$133247,$133248,$133249,$133250,$133251,$133252),(nextval($133253),$133254,$133255,$133256,$133257,$133258,$133259,$133260,$133261,$133262,$133263,$133264,$133265,$133266),(nextval($133267),$133268,$133269,$133270,$133271,$133272,$133273,$133274,$133275,$133276,$133277,$133278,$133279,$133280),(nextval($133281),$133282,$133283,$133284,$133285,$133286,$133287,$133288,$133289,$133290,$133291,$133292,$133293,$133294),(nextval($133295),$133296,$133297,$133298,$133299,$133300,$133301,$133302,$133303,$133304,$133305,$133306,$133307,$133308),(nextval($133309),$133310,$133311,$133312,$133313,$133314,$133315,$133316,$133317,$133318,$133319,$133320,$133321,$133322),(nextval($133323),$133324,$133325,$133326,$133327,$133328,$133329,$133330,$133331,$133332,$133333,$133334,$133335,$133336),(nextval($133337),$133338,$133339,$133340,$133341,$133342,$133343,$133344,$133345,$133346,$133347,$133348,$133349,$133350),(nextval($133351),$133352,$133353,$133354,$133355,$133356,$133357,$133358,$133359,$133360,$133361,$133362,$133363,$133364),(nextval($133365),$133366,$133367,$133368,$133369,$133370,$133371,$133372,$133373,$133374,$133375,$133376,$133377,$133378),(nextval($133379),$133380,$133381,$133382,$133383,$133384,$133385,$133386,$133387,$133388,$133389,$133390,$133391,$133392),(nextval($133393),$133394,$133395,$133396,$133397,$133398,$133399,$133400,$133401,$133402,$133403,$133404,$133405,$133406),(nextval($133407),$133408,$133409,$133410,$133411,$133412,$133413,$133414,$133415,$133416,$133417,$133418,$133419,$133420),(nextval($133421),$133422,$133423,$133424,$133425,$133426,$133427,$133428,$133429,$133430,$133431,$133432,$133433,$133434),(nextval($133435),$133436,$133437,$133438,$133439,$133440,$133441,$133442,$133443,$133444,$133445,$133446,$133447,$133448),(nextval($133449),$133450,$133451,$133452,$133453,$133454,$133455,$133456,$133457,$133458,$133459,$133460,$133461,$133462),(nextval($133463),$133464,$133465,$133466,$133467,$133468,$133469,$133470,$133471,$133472,$133473,$133474,$133475,$133476),(nextval($133477),$133478,$133479,$133480,$133481,$133482,$133483,$133484,$133485,$133486,$133487,$133488,$133489,$133490),(nextval($133491),$133492,$133493,$133494,$133495,$133496,$133497,$133498,$133499,$133500,$133501,$133502,$133503,$133504),(nextval($133505),$133506,$133507,$133508,$133509,$133510,$133511,$133512,$133513,$133514,$133515,$133516,$133517,$133518),(nextval($133519),$133520,$133521,$133522,$133523,$133524,$133525,$133526,$133527,$133528,$133529,$133530,$133531,$133532),(nextval($133533),$133534,$133535,$133536,$133537,$133538,$133539,$133540,$133541,$133542,$133543,$133544,$133545,$133546),(nextval($133547),$133548,$133549,$133550,$133551,$133552,$133553,$133554,$133555,$133556,$133557,$133558,$133559,$133560),(nextval($133561),$133562,$133563,$133564,$133565,$133566,$133567,$133568,$133569,$133570,$133571,$133572,$133573,$133574),(nextval($133575),$133576,$133577,$133578,$133579,$133580,$133581,$133582,$133583,$133584,$133585,$133586,$133587,$133588),(nextval($133589),$133590,$133591,$133592,$133593,$133594,$133595,$133596,$133597,$133598,$133599,$133600,$133601,$133602),(nextval($133603),$133604,$133605,$133606,$133607,$133608,$133609,$133610,$133611,$133612,$133613,$133614,$133615,$133616),(nextval($133617),$133618,$133619,$133620,$133621,$133622,$133623,$133624,$133625,$133626,$133627,$133628,$133629,$133630),(nextval($133631),$133632,$133633,$133634,$133635,$133636,$133637,$133638,$133639,$133640,$133641,$133642,$133643,$133644),(nextval($133645),$133646,$133647,$133648,$133649,$133650,$133651,$133652,$133653,$133654,$133655,$133656,$133657,$133658),(nextval($133659),$133660,$133661,$133662,$133663,$133664,$133665,$133666,$133667,$133668,$133669,$133670,$133671,$133672),(nextval($133673),$133674,$133675,$133676,$133677,$133678,$133679,$133680,$133681,$133682,$133683,$133684,$133685,$133686),(nextval($133687),$133688,$133689,$133690,$133691,$133692,$133693,$133694,$133695,$133696,$133697,$133698,$133699,$133700),(nextval($133701),$133702,$133703,$133704,$133705,$133706,$133707,$133708,$133709,$133710,$133711,$133712,$133713,$133714),(nextval($133715),$133716,$133717,$133718,$133719,$133720,$133721,$133722,$133723,$133724,$133725,$133726,$133727,$133728),(nextval($133729),$133730,$133731,$133732,$133733,$133734,$133735,$133736,$133737,$133738,$133739,$133740,$133741,$133742),(nextval($133743),$133744,$133745,$133746,$133747,$133748,$133749,$133750,$133751,$133752,$133753,$133754,$133755,$133756),(nextval($133757),$133758,$133759,$133760,$133761,$133762,$133763,$133764,$133765,$133766,$133767,$133768,$133769,$133770),(nextval($133771),$133772,$133773,$133774,$133775,$133776,$133777,$133778,$133779,$133780,$133781,$133782,$133783,$133784),(nextval($133785),$133786,$133787,$133788,$133789,$133790,$133791,$133792,$133793,$133794,$133795,$133796,$133797,$133798),(nextval($133799),$133800,$133801,$133802,$133803,$133804,$133805,$133806,$133807,$133808,$133809,$133810,$133811,$133812),(nextval($133813),$133814,$133815,$133816,$133817,$133818,$133819,$133820,$133821,$133822,$133823,$133824,$133825,$133826),(nextval($133827),$133828,$133829,$133830,$133831,$133832,$133833,$133834,$133835,$133836,$133837,$133838,$133839,$133840),(nextval($133841),$133842,$133843,$133844,$133845,$133846,$133847,$133848,$133849,$133850,$133851,$133852,$133853,$133854),(nextval($133855),$133856,$133857,$133858,$133859,$133860,$133861,$133862,$133863,$133864,$133865,$133866,$133867,$133868),(nextval($133869),$133870,$133871,$133872,$133873,$133874,$133875,$133876,$133877,$133878,$133879,$133880,$133881,$133882),(nextval($133883),$133884,$133885,$133886,$133887,$133888,$133889,$133890,$133891,$133892,$133893,$133894,$133895,$133896),(nextval($133897),$133898,$133899,$133900,$133901,$133902,$133903,$133904,$133905,$133906,$133907,$133908,$133909,$133910),(nextval($133911),$133912,$133913,$133914,$133915,$133916,$133917,$133918,$133919,$133920,$133921,$133922,$133923,$133924),(nextval($133925),$133926,$133927,$133928,$133929,$133930,$133931,$133932,$133933,$133934,$133935,$133936,$133937,$133938),(nextval($133939),$133940,$133941,$133942,$133943,$133944,$133945,$133946,$133947,$133948,$133949,$133950,$133951,$133952),(nextval($133953),$133954,$133955,$133956,$133957,$133958,$133959,$133960,$133961,$133962,$133963,$133964,$133965,$133966),(nextval($133967),$133968,$133969,$133970,$133971,$133972,$133973,$133974,$133975,$133976,$133977,$133978,$133979,$133980),(nextval($133981),$133982,$133983,$133984,$133985,$133986,$133987,$133988,$133989,$133990,$133991,$133992,$133993,$133994),(nextval($133995),$133996,$133997,$133998,$133999,$134000,$134001,$134002,$134003,$134004,$134005,$134006,$134007,$134008),(nextval($134009),$134010,$134011,$134012,$134013,$134014,$134015,$134016,$134017,$134018,$134019,$134020,$134021,$134022),(nextval($134023),$134024,$134025,$134026,$134027,$134028,$134029,$134030,$134031,$134032,$134033,$134034,$134035,$134036),(nextval($134037),$134038,$134039,$134040,$134041,$134042,$134043,$134044,$134045,$134046,$134047,$134048,$134049,$134050),(nextval($134051),$134052,$134053,$134054,$134055,$134056,$134057,$134058,$134059,$134060,$134061,$134062,$134063,$134064),(nextval($134065),$134066,$134067,$134068,$134069,$134070,$134071,$134072,$134073,$134074,$134075,$134076,$134077,$134078),(nextval($134079),$134080,$134081,$134082,$134083,$134084,$134085,$134086,$134087,$134088,$134089,$134090,$134091,$134092),(nextval($134093),$134094,$134095,$134096,$134097,$134098,$134099,$134100,$134101,$134102,$134103,$134104,$134105,$134106),(nextval($134107),$134108,$134109,$134110,$134111,$134112,$134113,$134114,$134115,$134116,$134117,$134118,$134119,$134120),(nextval($134121),$134122,$134123,$134124,$134125,$134126,$134127,$134128,$134129,$134130,$134131,$134132,$134133,$134134),(nextval($134135),$134136,$134137,$134138,$134139,$134140,$134141,$134142,$134143,$134144,$134145,$134146,$134147,$134148),(nextval($134149),$134150,$134151,$134152,$134153,$134154,$134155,$134156,$134157,$134158,$134159,$134160,$134161,$134162),(nextval($134163),$134164,$134165,$134166,$134167,$134168,$134169,$134170,$134171,$134172,$134173,$134174,$134175,$134176),(nextval($134177),$134178,$134179,$134180,$134181,$134182,$134183,$134184,$134185,$134186,$134187,$134188,$134189,$134190),(nextval($134191),$134192,$134193,$134194,$134195,$134196,$134197,$134198,$134199,$134200,$134201,$134202,$134203,$134204),(nextval($134205),$134206,$134207,$134208,$134209,$134210,$134211,$134212,$134213,$134214,$134215,$134216,$134217,$134218),(nextval($134219),$134220,$134221,$134222,$134223,$134224,$134225,$134226,$134227,$134228,$134229,$134230,$134231,$134232),(nextval($134233),$134234,$134235,$134236,$134237,$134238,$134239,$134240,$134241,$134242,$134243,$134244,$134245,$134246),(nextval($134247),$134248,$134249,$134250,$134251,$134252,$134253,$134254,$134255,$134256,$134257,$134258,$134259,$134260),(nextval($134261),$134262,$134263,$134264,$134265,$134266,$134267,$134268,$134269,$134270,$134271,$134272,$134273,$134274),(nextval($134275),$134276,$134277,$134278,$134279,$134280,$134281,$134282,$134283,$134284,$134285,$134286,$134287,$134288),(nextval($134289),$134290,$134291,$134292,$134293,$134294,$134295,$134296,$134297,$134298,$134299,$134300,$134301,$134302),(nextval($134303),$134304,$134305,$134306,$134307,$134308,$134309,$134310,$134311,$134312,$134313,$134314,$134315,$134316),(nextval($134317),$134318,$134319,$134320,$134321,$134322,$134323,$134324,$134325,$134326,$134327,$134328,$134329,$134330),(nextval($134331),$134332,$134333,$134334,$134335,$134336,$134337,$134338,$134339,$134340,$134341,$134342,$134343,$134344),(nextval($134345),$134346,$134347,$134348,$134349,$134350,$134351,$134352,$134353,$134354,$134355,$134356,$134357,$134358),(nextval($134359),$134360,$134361,$134362,$134363,$134364,$134365,$134366,$134367,$134368,$134369,$134370,$134371,$134372),(nextval($134373),$134374,$134375,$134376,$134377,$134378,$134379,$134380,$134381,$134382,$134383,$134384,$134385,$134386),(nextval($134387),$134388,$134389,$134390,$134391,$134392,$134393,$134394,$134395,$134396,$134397,$134398,$134399,$134400),(nextval($134401),$134402,$134403,$134404,$134405,$134406,$134407,$134408,$134409,$134410,$134411,$134412,$134413,$134414),(nextval($134415),$134416,$134417,$134418,$134419,$134420,$134421,$134422,$134423,$134424,$134425,$134426,$134427,$134428),(nextval($134429),$134430,$134431,$134432,$134433,$134434,$134435,$134436,$134437,$134438,$134439,$134440,$134441,$134442),(nextval($134443),$134444,$134445,$134446,$134447,$134448,$134449,$134450,$134451,$134452,$134453,$134454,$134455,$134456),(nextval($134457),$134458,$134459,$134460,$134461,$134462,$134463,$134464,$134465,$134466,$134467,$134468,$134469,$134470),(nextval($134471),$134472,$134473,$134474,$134475,$134476,$134477,$134478,$134479,$134480,$134481,$134482,$134483,$134484),(nextval($134485),$134486,$134487,$134488,$134489,$134490,$134491,$134492,$134493,$134494,$134495,$134496,$134497,$134498),(nextval($134499),$134500,$134501,$134502,$134503,$134504,$134505,$134506,$134507,$134508,$134509,$134510,$134511,$134512),(nextval($134513),$134514,$134515,$134516,$134517,$134518,$134519,$134520,$134521,$134522,$134523,$134524,$134525,$134526),(nextval($134527),$134528,$134529,$134530,$134531,$134532,$134533,$134534,$134535,$134536,$134537,$134538,$134539,$134540),(nextval($134541),$134542,$134543,$134544,$134545,$134546,$134547,$134548,$134549,$134550,$134551,$134552,$134553,$134554),(nextval($134555),$134556,$134557,$134558,$134559,$134560,$134561,$134562,$134563,$134564,$134565,$134566,$134567,$134568),(nextval($134569),$134570,$134571,$134572,$134573,$134574,$134575,$134576,$134577,$134578,$134579,$134580,$134581,$134582),(nextval($134583),$134584,$134585,$134586,$134587,$134588,$134589,$134590,$134591,$134592,$134593,$134594,$134595,$134596),(nextval($134597),$134598,$134599,$134600,$134601,$134602,$134603,$134604,$134605,$134606,$134607,$134608,$134609,$134610),(nextval($134611),$134612,$134613,$134614,$134615,$134616,$134617,$134618,$134619,$134620,$134621,$134622,$134623,$134624),(nextval($134625),$134626,$134627,$134628,$134629,$134630,$134631,$134632,$134633,$134634,$134635,$134636,$134637,$134638),(nextval($134639),$134640,$134641,$134642,$134643,$134644,$134645,$134646,$134647,$134648,$134649,$134650,$134651,$134652),(nextval($134653),$134654,$134655,$134656,$134657,$134658,$134659,$134660,$134661,$134662,$134663,$134664,$134665,$134666),(nextval($134667),$134668,$134669,$134670,$134671,$134672,$134673,$134674,$134675,$134676,$134677,$134678,$134679,$134680),(nextval($134681),$134682,$134683,$134684,$134685,$134686,$134687,$134688,$134689,$134690,$134691,$134692,$134693,$134694),(nextval($134695),$134696,$134697,$134698,$134699,$134700,$134701,$134702,$134703,$134704,$134705,$134706,$134707,$134708),(nextval($134709),$134710,$134711,$134712,$134713,$134714,$134715,$134716,$134717,$134718,$134719,$134720,$134721,$134722),(nextval($134723),$134724,$134725,$134726,$134727,$134728,$134729,$134730,$134731,$134732,$134733,$134734,$134735,$134736),(nextval($134737),$134738,$134739,$134740,$134741,$134742,$134743,$134744,$134745,$134746,$134747,$134748,$134749,$134750),(nextval($134751),$134752,$134753,$134754,$134755,$134756,$134757,$134758,$134759,$134760,$134761,$134762,$134763,$134764),(nextval($134765),$134766,$134767,$134768,$134769,$134770,$134771,$134772,$134773,$134774,$134775,$134776,$134777,$134778),(nextval($134779),$134780,$134781,$134782,$134783,$134784,$134785,$134786,$134787,$134788,$134789,$134790,$134791,$134792),(nextval($134793),$134794,$134795,$134796,$134797,$134798,$134799,$134800,$134801,$134802,$134803,$134804,$134805,$134806),(nextval($134807),$134808,$134809,$134810,$134811,$134812,$134813,$134814,$134815,$134816,$134817,$134818,$134819,$134820),(nextval($134821),$134822,$134823,$134824,$134825,$134826,$134827,$134828,$134829,$134830,$134831,$134832,$134833,$134834),(nextval($134835),$134836,$134837,$134838,$134839,$134840,$134841,$134842,$134843,$134844,$134845,$134846,$134847,$134848),(nextval($134849),$134850,$134851,$134852,$134853,$134854,$134855,$134856,$134857,$134858,$134859,$134860,$134861,$134862),(nextval($134863),$134864,$134865,$134866,$134867,$134868,$134869,$134870,$134871,$134872,$134873,$134874,$134875,$134876),(nextval($134877),$134878,$134879,$134880,$134881,$134882,$134883,$134884,$134885,$134886,$134887,$134888,$134889,$134890),(nextval($134891),$134892,$134893,$134894,$134895,$134896,$134897,$134898,$134899,$134900,$134901,$134902,$134903,$134904),(nextval($134905),$134906,$134907,$134908,$134909,$134910,$134911,$134912,$134913,$134914,$134915,$134916,$134917,$134918),(nextval($134919),$134920,$134921,$134922,$134923,$134924,$134925,$134926,$134927,$134928,$134929,$134930,$134931,$134932),(nextval($134933),$134934,$134935,$134936,$134937,$134938,$134939,$134940,$134941,$134942,$134943,$134944,$134945,$134946),(nextval($134947),$134948,$134949,$134950,$134951,$134952,$134953,$134954,$134955,$134956,$134957,$134958,$134959,$134960),(nextval($134961),$134962,$134963,$134964,$134965,$134966,$134967,$134968,$134969,$134970,$134971,$134972,$134973,$134974),(nextval($134975),$134976,$134977,$134978,$134979,$134980,$134981,$134982,$134983,$134984,$134985,$134986,$134987,$134988),(nextval($134989),$134990,$134991,$134992,$134993,$134994,$134995,$134996,$134997,$134998,$134999,$135000,$135001,$135002),(nextval($135003),$135004,$135005,$135006,$135007,$135008,$135009,$135010,$135011,$135012,$135013,$135014,$135015,$135016),(nextval($135017),$135018,$135019,$135020,$135021,$135022,$135023,$135024,$135025,$135026,$135027,$135028,$135029,$135030),(nextval($135031),$135032,$135033,$135034,$135035,$135036,$135037,$135038,$135039,$135040,$135041,$135042,$135043,$135044),(nextval($135045),$135046,$135047,$135048,$135049,$135050,$135051,$135052,$135053,$135054,$135055,$135056,$135057,$135058),(nextval($135059),$135060,$135061,$135062,$135063,$135064,$135065,$135066,$135067,$135068,$135069,$135070,$135071,$135072),(nextval($135073),$135074,$135075,$135076,$135077,$135078,$135079,$135080,$135081,$135082,$135083,$135084,$135085,$135086),(nextval($135087),$135088,$135089,$135090,$135091,$135092,$135093,$135094,$135095,$135096,$135097,$135098,$135099,$135100),(nextval($135101),$135102,$135103,$135104,$135105,$135106,$135107,$135108,$135109,$135110,$135111,$135112,$135113,$135114),(nextval($135115),$135116,$135117,$135118,$135119,$135120,$135121,$135122,$135123,$135124,$135125,$135126,$135127,$135128),(nextval($135129),$135130,$135131,$135132,$135133,$135134,$135135,$135136,$135137,$135138,$135139,$135140,$135141,$135142),(nextval($135143),$135144,$135145,$135146,$135147,$135148,$135149,$135150,$135151,$135152,$135153,$135154,$135155,$135156),(nextval($135157),$135158,$135159,$135160,$135161,$135162,$135163,$135164,$135165,$135166,$135167,$135168,$135169,$135170),(nextval($135171),$135172,$135173,$135174,$135175,$135176,$135177,$135178,$135179,$135180,$135181,$135182,$135183,$135184),(nextval($135185),$135186,$135187,$135188,$135189,$135190,$135191,$135192,$135193,$135194,$135195,$135196,$135197,$135198),(nextval($135199),$135200,$135201,$135202,$135203,$135204,$135205,$135206,$135207,$135208,$135209,$135210,$135211,$135212),(nextval($135213),$135214,$135215,$135216,$135217,$135218,$135219,$135220,$135221,$135222,$135223,$135224,$135225,$135226),(nextval($135227),$135228,$135229,$135230,$135231,$135232,$135233,$135234,$135235,$135236,$135237,$135238,$135239,$135240),(nextval($135241),$135242,$135243,$135244,$135245,$135246,$135247,$135248,$135249,$135250,$135251,$135252,$135253,$135254),(nextval($135255),$135256,$135257,$135258,$135259,$135260,$135261,$135262,$135263,$135264,$135265,$135266,$135267,$135268),(nextval($135269),$135270,$135271,$135272,$135273,$135274,$135275,$135276,$135277,$135278,$135279,$135280,$135281,$135282),(nextval($135283),$135284,$135285,$135286,$135287,$135288,$135289,$135290,$135291,$135292,$135293,$135294,$135295,$135296),(nextval($135297),$135298,$135299,$135300,$135301,$135302,$135303,$135304,$135305,$135306,$135307,$135308,$135309,$135310),(nextval($135311),$135312,$135313,$135314,$135315,$135316,$135317,$135318,$135319,$135320,$135321,$135322,$135323,$135324),(nextval($135325),$135326,$135327,$135328,$135329,$135330,$135331,$135332,$135333,$135334,$135335,$135336,$135337,$135338),(nextval($135339),$135340,$135341,$135342,$135343,$135344,$135345,$135346,$135347,$135348,$135349,$135350,$135351,$135352),(nextval($135353),$135354,$135355,$135356,$135357,$135358,$135359,$135360,$135361,$135362,$135363,$135364,$135365,$135366),(nextval($135367),$135368,$135369,$135370,$135371,$135372,$135373,$135374,$135375,$135376,$135377,$135378,$135379,$135380),(nextval($135381),$135382,$135383,$135384,$135385,$135386,$135387,$135388,$135389,$135390,$135391,$135392,$135393,$135394),(nextval($135395),$135396,$135397,$135398,$135399,$135400,$135401,$135402,$135403,$135404,$135405,$135406,$135407,$135408),(nextval($135409),$135410,$135411,$135412,$135413,$135414,$135415,$135416,$135417,$135418,$135419,$135420,$135421,$135422),(nextval($135423),$135424,$135425,$135426,$135427,$135428,$135429,$135430,$135431,$135432,$135433,$135434,$135435,$135436),(nextval($135437),$135438,$135439,$135440,$135441,$135442,$135443,$135444,$135445,$135446,$135447,$135448,$135449,$135450),(nextval($135451),$135452,$135453,$135454,$135455,$135456,$135457,$135458,$135459,$135460,$135461,$135462,$135463,$135464),(nextval($135465),$135466,$135467,$135468,$135469,$135470,$135471,$135472,$135473,$135474,$135475,$135476,$135477,$135478),(nextval($135479),$135480,$135481,$135482,$135483,$135484,$135485,$135486,$135487,$135488,$135489,$135490,$135491,$135492),(nextval($135493),$135494,$135495,$135496,$135497,$135498,$135499,$135500,$135501,$135502,$135503,$135504,$135505,$135506),(nextval($135507),$135508,$135509,$135510,$135511,$135512,$135513,$135514,$135515,$135516,$135517,$135518,$135519,$135520),(nextval($135521),$135522,$135523,$135524,$135525,$135526,$135527,$135528,$135529,$135530,$135531,$135532,$135533,$135534),(nextval($135535),$135536,$135537,$135538,$135539,$135540,$135541,$135542,$135543,$135544,$135545,$135546,$135547,$135548),(nextval($135549),$135550,$135551,$135552,$135553,$135554,$135555,$135556,$135557,$135558,$135559,$135560,$135561,$135562),(nextval($135563),$135564,$135565,$135566,$135567,$135568,$135569,$135570,$135571,$135572,$135573,$135574,$135575,$135576),(nextval($135577),$135578,$135579,$135580,$135581,$135582,$135583,$135584,$135585,$135586,$135587,$135588,$135589,$135590),(nextval($135591),$135592,$135593,$135594,$135595,$135596,$135597,$135598,$135599,$135600,$135601,$135602,$135603,$135604),(nextval($135605),$135606,$135607,$135608,$135609,$135610,$135611,$135612,$135613,$135614,$135615,$135616,$135617,$135618),(nextval($135619),$135620,$135621,$135622,$135623,$135624,$135625,$135626,$135627,$135628,$135629,$135630,$135631,$135632),(nextval($135633),$135634,$135635,$135636,$135637,$135638,$135639,$135640,$135641,$135642,$135643,$135644,$135645,$135646),(nextval($135647),$135648,$135649,$135650,$135651,$135652,$135653,$135654,$135655,$135656,$135657,$135658,$135659,$135660),(nextval($135661),$135662,$135663,$135664,$135665,$135666,$135667,$135668,$135669,$135670,$135671,$135672,$135673,$135674),(nextval($135675),$135676,$135677,$135678,$135679,$135680,$135681,$135682,$135683,$135684,$135685,$135686,$135687,$135688),(nextval($135689),$135690,$135691,$135692,$135693,$135694,$135695,$135696,$135697,$135698,$135699,$135700,$135701,$135702),(nextval($135703),$135704,$135705,$135706,$135707,$135708,$135709,$135710,$135711,$135712,$135713,$135714,$135715,$135716),(nextval($135717),$135718,$135719,$135720,$135721,$135722,$135723,$135724,$135725,$135726,$135727,$135728,$135729,$135730),(nextval($135731),$135732,$135733,$135734,$135735,$135736,$135737,$135738,$135739,$135740,$135741,$135742,$135743,$135744),(nextval($135745),$135746,$135747,$135748,$135749,$135750,$135751,$135752,$135753,$135754,$135755,$135756,$135757,$135758),(nextval($135759),$135760,$135761,$135762,$135763,$135764,$135765,$135766,$135767,$135768,$135769,$135770,$135771,$135772),(nextval($135773),$135774,$135775,$135776,$135777,$135778,$135779,$135780,$135781,$135782,$135783,$135784,$135785,$135786),(nextval($135787),$135788,$135789,$135790,$135791,$135792,$135793,$135794,$135795,$135796,$135797,$135798,$135799,$135800),(nextval($135801),$135802,$135803,$135804,$135805,$135806,$135807,$135808,$135809,$135810,$135811,$135812,$135813,$135814),(nextval($135815),$135816,$135817,$135818,$135819,$135820,$135821,$135822,$135823,$135824,$135825,$135826,$135827,$135828),(nextval($135829),$135830,$135831,$135832,$135833,$135834,$135835,$135836,$135837,$135838,$135839,$135840,$135841,$135842),(nextval($135843),$135844,$135845,$135846,$135847,$135848,$135849,$135850,$135851,$135852,$135853,$135854,$135855,$135856),(nextval($135857),$135858,$135859,$135860,$135861,$135862,$135863,$135864,$135865,$135866,$135867,$135868,$135869,$135870),(nextval($135871),$135872,$135873,$135874,$135875,$135876,$135877,$135878,$135879,$135880,$135881,$135882,$135883,$135884),(nextval($135885),$135886,$135887,$135888,$135889,$135890,$135891,$135892,$135893,$135894,$135895,$135896,$135897,$135898),(nextval($135899),$135900,$135901,$135902,$135903,$135904,$135905,$135906,$135907,$135908,$135909,$135910,$135911,$135912),(nextval($135913),$135914,$135915,$135916,$135917,$135918,$135919,$135920,$135921,$135922,$135923,$135924,$135925,$135926),(nextval($135927),$135928,$135929,$135930,$135931,$135932,$135933,$135934,$135935,$135936,$135937,$135938,$135939,$135940),(nextval($135941),$135942,$135943,$135944,$135945,$135946,$135947,$135948,$135949,$135950,$135951,$135952,$135953,$135954),(nextval($135955),$135956,$135957,$135958,$135959,$135960,$135961,$135962,$135963,$135964,$135965,$135966,$135967,$135968),(nextval($135969),$135970,$135971,$135972,$135973,$135974,$135975,$135976,$135977,$135978,$135979,$135980,$135981,$135982),(nextval($135983),$135984,$135985,$135986,$135987,$135988,$135989,$135990,$135991,$135992,$135993,$135994,$135995,$135996),(nextval($135997),$135998,$135999,$136000,$136001,$136002,$136003,$136004,$136005,$136006,$136007,$136008,$136009,$136010),(nextval($136011),$136012,$136013,$136014,$136015,$136016,$136017,$136018,$136019,$136020,$136021,$136022,$136023,$136024),(nextval($136025),$136026,$136027,$136028,$136029,$136030,$136031,$136032,$136033,$136034,$136035,$136036,$136037,$136038),(nextval($136039),$136040,$136041,$136042,$136043,$136044,$136045,$136046,$136047,$136048,$136049,$136050,$136051,$136052),(nextval($136053),$136054,$136055,$136056,$136057,$136058,$136059,$136060,$136061,$136062,$136063,$136064,$136065,$136066),(nextval($136067),$136068,$136069,$136070,$136071,$136072,$136073,$136074,$136075,$136076,$136077,$136078,$136079,$136080),(nextval($136081),$136082,$136083,$136084,$136085,$136086,$136087,$136088,$136089,$136090,$136091,$136092,$136093,$136094),(nextval($136095),$136096,$136097,$136098,$136099,$136100,$136101,$136102,$136103,$136104,$136105,$136106,$136107,$136108),(nextval($136109),$136110,$136111,$136112,$136113,$136114,$136115,$136116,$136117,$136118,$136119,$136120,$136121,$136122),(nextval($136123),$136124,$136125,$136126,$136127,$136128,$136129,$136130,$136131,$136132,$136133,$136134,$136135,$136136),(nextval($136137),$136138,$136139,$136140,$136141,$136142,$136143,$136144,$136145,$136146,$136147,$136148,$136149,$136150),(nextval($136151),$136152,$136153,$136154,$136155,$136156,$136157,$136158,$136159,$136160,$136161,$136162,$136163,$136164),(nextval($136165),$136166,$136167,$136168,$136169,$136170,$136171,$136172,$136173,$136174,$136175,$136176,$136177,$136178),(nextval($136179),$136180,$136181,$136182,$136183,$136184,$136185,$136186,$136187,$136188,$136189,$136190,$136191,$136192),(nextval($136193),$136194,$136195,$136196,$136197,$136198,$136199,$136200,$136201,$136202,$136203,$136204,$136205,$136206),(nextval($136207),$136208,$136209,$136210,$136211,$136212,$136213,$136214,$136215,$136216,$136217,$136218,$136219,$136220),(nextval($136221),$136222,$136223,$136224,$136225,$136226,$136227,$136228,$136229,$136230,$136231,$136232,$136233,$136234),(nextval($136235),$136236,$136237,$136238,$136239,$136240,$136241,$136242,$136243,$136244,$136245,$136246,$136247,$136248),(nextval($136249),$136250,$136251,$136252,$136253,$136254,$136255,$136256,$136257,$136258,$136259,$136260,$136261,$136262),(nextval($136263),$136264,$136265,$136266,$136267,$136268,$136269,$136270,$136271,$136272,$136273,$136274,$136275,$136276),(nextval($136277),$136278,$136279,$136280,$136281,$136282,$136283,$136284,$136285,$136286,$136287,$136288,$136289,$136290),(nextval($136291),$136292,$136293,$136294,$136295,$136296,$136297,$136298,$136299,$136300,$136301,$136302,$136303,$136304),(nextval($136305),$136306,$136307,$136308,$136309,$136310,$136311,$136312,$136313,$136314,$136315,$136316,$136317,$136318),(nextval($136319),$136320,$136321,$136322,$136323,$136324,$136325,$136326,$136327,$136328,$136329,$136330,$136331,$136332),(nextval($136333),$136334,$136335,$136336,$136337,$136338,$136339,$136340,$136341,$136342,$136343,$136344,$136345,$136346),(nextval($136347),$136348,$136349,$136350,$136351,$136352,$136353,$136354,$136355,$136356,$136357,$136358,$136359,$136360),(nextval($136361),$136362,$136363,$136364,$136365,$136366,$136367,$136368,$136369,$136370,$136371,$136372,$136373,$136374),(nextval($136375),$136376,$136377,$136378,$136379,$136380,$136381,$136382,$136383,$136384,$136385,$136386,$136387,$136388),(nextval($136389),$136390,$136391,$136392,$136393,$136394,$136395,$136396,$136397,$136398,$136399,$136400,$136401,$136402),(nextval($136403),$136404,$136405,$136406,$136407,$136408,$136409,$136410,$136411,$136412,$136413,$136414,$136415,$136416),(nextval($136417),$136418,$136419,$136420,$136421,$136422,$136423,$136424,$136425,$136426,$136427,$136428,$136429,$136430),(nextval($136431),$136432,$136433,$136434,$136435,$136436,$136437,$136438,$136439,$136440,$136441,$136442,$136443,$136444),(nextval($136445),$136446,$136447,$136448,$136449,$136450,$136451,$136452,$136453,$136454,$136455,$136456,$136457,$136458),(nextval($136459),$136460,$136461,$136462,$136463,$136464,$136465,$136466,$136467,$136468,$136469,$136470,$136471,$136472),(nextval($136473),$136474,$136475,$136476,$136477,$136478,$136479,$136480,$136481,$136482,$136483,$136484,$136485,$136486),(nextval($136487),$136488,$136489,$136490,$136491,$136492,$136493,$136494,$136495,$136496,$136497,$136498,$136499,$136500),(nextval($136501),$136502,$136503,$136504,$136505,$136506,$136507,$136508,$136509,$136510,$136511,$136512,$136513,$136514),(nextval($136515),$136516,$136517,$136518,$136519,$136520,$136521,$136522,$136523,$136524,$136525,$136526,$136527,$136528),(nextval($136529),$136530,$136531,$136532,$136533,$136534,$136535,$136536,$136537,$136538,$136539,$136540,$136541,$136542),(nextval($136543),$136544,$136545,$136546,$136547,$136548,$136549,$136550,$136551,$136552,$136553,$136554,$136555,$136556),(nextval($136557),$136558,$136559,$136560,$136561,$136562,$136563,$136564,$136565,$136566,$136567,$136568,$136569,$136570),(nextval($136571),$136572,$136573,$136574,$136575,$136576,$136577,$136578,$136579,$136580,$136581,$136582,$136583,$136584),(nextval($136585),$136586,$136587,$136588,$136589,$136590,$136591,$136592,$136593,$136594,$136595,$136596,$136597,$136598),(nextval($136599),$136600,$136601,$136602,$136603,$136604,$136605,$136606,$136607,$136608,$136609,$136610,$136611,$136612),(nextval($136613),$136614,$136615,$136616,$136617,$136618,$136619,$136620,$136621,$136622,$136623,$136624,$136625,$136626),(nextval($136627),$136628,$136629,$136630,$136631,$136632,$136633,$136634,$136635,$136636,$136637,$136638,$136639,$136640),(nextval($136641),$136642,$136643,$136644,$136645,$136646,$136647,$136648,$136649,$136650,$136651,$136652,$136653,$136654),(nextval($136655),$136656,$136657,$136658,$136659,$136660,$136661,$136662,$136663,$136664,$136665,$136666,$136667,$136668),(nextval($136669),$136670,$136671,$136672,$136673,$136674,$136675,$136676,$136677,$136678,$136679,$136680,$136681,$136682),(nextval($136683),$136684,$136685,$136686,$136687,$136688,$136689,$136690,$136691,$136692,$136693,$136694,$136695,$136696),(nextval($136697),$136698,$136699,$136700,$136701,$136702,$136703,$136704,$136705,$136706,$136707,$136708,$136709,$136710),(nextval($136711),$136712,$136713,$136714,$136715,$136716,$136717,$136718,$136719,$136720,$136721,$136722,$136723,$136724),(nextval($136725),$136726,$136727,$136728,$136729,$136730,$136731,$136732,$136733,$136734,$136735,$136736,$136737,$136738),(nextval($136739),$136740,$136741,$136742,$136743,$136744,$136745,$136746,$136747,$136748,$136749,$136750,$136751,$136752),(nextval($136753),$136754,$136755,$136756,$136757,$136758,$136759,$136760,$136761,$136762,$136763,$136764,$136765,$136766),(nextval($136767),$136768,$136769,$136770,$136771,$136772,$136773,$136774,$136775,$136776,$136777,$136778,$136779,$136780),(nextval($136781),$136782,$136783,$136784,$136785,$136786,$136787,$136788,$136789,$136790,$136791,$136792,$136793,$136794),(nextval($136795),$136796,$136797,$136798,$136799,$136800,$136801,$136802,$136803,$136804,$136805,$136806,$136807,$136808),(nextval($136809),$136810,$136811,$136812,$136813,$136814,$136815,$136816,$136817,$136818,$136819,$136820,$136821,$136822),(nextval($136823),$136824,$136825,$136826,$136827,$136828,$136829,$136830,$136831,$136832,$136833,$136834,$136835,$136836),(nextval($136837),$136838,$136839,$136840,$136841,$136842,$136843,$136844,$136845,$136846,$136847,$136848,$136849,$136850),(nextval($136851),$136852,$136853,$136854,$136855,$136856,$136857,$136858,$136859,$136860,$136861,$136862,$136863,$136864),(nextval($136865),$136866,$136867,$136868,$136869,$136870,$136871,$136872,$136873,$136874,$136875,$136876,$136877,$136878),(nextval($136879),$136880,$136881,$136882,$136883,$136884,$136885,$136886,$136887,$136888,$136889,$136890,$136891,$136892),(nextval($136893),$136894,$136895,$136896,$136897,$136898,$136899,$136900,$136901,$136902,$136903,$136904,$136905,$136906),(nextval($136907),$136908,$136909,$136910,$136911,$136912,$136913,$136914,$136915,$136916,$136917,$136918,$136919,$136920),(nextval($136921),$136922,$136923,$136924,$136925,$136926,$136927,$136928,$136929,$136930,$136931,$136932,$136933,$136934),(nextval($136935),$136936,$136937,$136938,$136939,$136940,$136941,$136942,$136943,$136944,$136945,$136946,$136947,$136948),(nextval($136949),$136950,$136951,$136952,$136953,$136954,$136955,$136956,$136957,$136958,$136959,$136960,$136961,$136962),(nextval($136963),$136964,$136965,$136966,$136967,$136968,$136969,$136970,$136971,$136972,$136973,$136974,$136975,$136976),(nextval($136977),$136978,$136979,$136980,$136981,$136982,$136983,$136984,$136985,$136986,$136987,$136988,$136989,$136990),(nextval($136991),$136992,$136993,$136994,$136995,$136996,$136997,$136998,$136999,$137000,$137001,$137002,$137003,$137004),(nextval($137005),$137006,$137007,$137008,$137009,$137010,$137011,$137012,$137013,$137014,$137015,$137016,$137017,$137018),(nextval($137019),$137020,$137021,$137022,$137023,$137024,$137025,$137026,$137027,$137028,$137029,$137030,$137031,$137032),(nextval($137033),$137034,$137035,$137036,$137037,$137038,$137039,$137040,$137041,$137042,$137043,$137044,$137045,$137046),(nextval($137047),$137048,$137049,$137050,$137051,$137052,$137053,$137054,$137055,$137056,$137057,$137058,$137059,$137060),(nextval($137061),$137062,$137063,$137064,$137065,$137066,$137067,$137068,$137069,$137070,$137071,$137072,$137073,$137074),(nextval($137075),$137076,$137077,$137078,$137079,$137080,$137081,$137082,$137083,$137084,$137085,$137086,$137087,$137088),(nextval($137089),$137090,$137091,$137092,$137093,$137094,$137095,$137096,$137097,$137098,$137099,$137100,$137101,$137102),(nextval($137103),$137104,$137105,$137106,$137107,$137108,$137109,$137110,$137111,$137112,$137113,$137114,$137115,$137116),(nextval($137117),$137118,$137119,$137120,$137121,$137122,$137123,$137124,$137125,$137126,$137127,$137128,$137129,$137130),(nextval($137131),$137132,$137133,$137134,$137135,$137136,$137137,$137138,$137139,$137140,$137141,$137142,$137143,$137144),(nextval($137145),$137146,$137147,$137148,$137149,$137150,$137151,$137152,$137153,$137154,$137155,$137156,$137157,$137158),(nextval($137159),$137160,$137161,$137162,$137163,$137164,$137165,$137166,$137167,$137168,$137169,$137170,$137171,$137172),(nextval($137173),$137174,$137175,$137176,$137177,$137178,$137179,$137180,$137181,$137182,$137183,$137184,$137185,$137186),(nextval($137187),$137188,$137189,$137190,$137191,$137192,$137193,$137194,$137195,$137196,$137197,$137198,$137199,$137200),(nextval($137201),$137202,$137203,$137204,$137205,$137206,$137207,$137208,$137209,$137210,$137211,$137212,$137213,$137214),(nextval($137215),$137216,$137217,$137218,$137219,$137220,$137221,$137222,$137223,$137224,$137225,$137226,$137227,$137228),(nextval($137229),$137230,$137231,$137232,$137233,$137234,$137235,$137236,$137237,$137238,$137239,$137240,$137241,$137242),(nextval($137243),$137244,$137245,$137246,$137247,$137248,$137249,$137250,$137251,$137252,$137253,$137254,$137255,$137256),(nextval($137257),$137258,$137259,$137260,$137261,$137262,$137263,$137264,$137265,$137266,$137267,$137268,$137269,$137270),(nextval($137271),$137272,$137273,$137274,$137275,$137276,$137277,$137278,$137279,$137280,$137281,$137282,$137283,$137284),(nextval($137285),$137286,$137287,$137288,$137289,$137290,$137291,$137292,$137293,$137294,$137295,$137296,$137297,$137298),(nextval($137299),$137300,$137301,$137302,$137303,$137304,$137305,$137306,$137307,$137308,$137309,$137310,$137311,$137312),(nextval($137313),$137314,$137315,$137316,$137317,$137318,$137319,$137320,$137321,$137322,$137323,$137324,$137325,$137326),(nextval($137327),$137328,$137329,$137330,$137331,$137332,$137333,$137334,$137335,$137336,$137337,$137338,$137339,$137340),(nextval($137341),$137342,$137343,$137344,$137345,$137346,$137347,$137348,$137349,$137350,$137351,$137352,$137353,$137354),(nextval($137355),$137356,$137357,$137358,$137359,$137360,$137361,$137362,$137363,$137364,$137365,$137366,$137367,$137368),(nextval($137369),$137370,$137371,$137372,$137373,$137374,$137375,$137376,$137377,$137378,$137379,$137380,$137381,$137382),(nextval($137383),$137384,$137385,$137386,$137387,$137388,$137389,$137390,$137391,$137392,$137393,$137394,$137395,$137396),(nextval($137397),$137398,$137399,$137400,$137401,$137402,$137403,$137404,$137405,$137406,$137407,$137408,$137409,$137410),(nextval($137411),$137412,$137413,$137414,$137415,$137416,$137417,$137418,$137419,$137420,$137421,$137422,$137423,$137424),(nextval($137425),$137426,$137427,$137428,$137429,$137430,$137431,$137432,$137433,$137434,$137435,$137436,$137437,$137438),(nextval($137439),$137440,$137441,$137442,$137443,$137444,$137445,$137446,$137447,$137448,$137449,$137450,$137451,$137452),(nextval($137453),$137454,$137455,$137456,$137457,$137458,$137459,$137460,$137461,$137462,$137463,$137464,$137465,$137466),(nextval($137467),$137468,$137469,$137470,$137471,$137472,$137473,$137474,$137475,$137476,$137477,$137478,$137479,$137480),(nextval($137481),$137482,$137483,$137484,$137485,$137486,$137487,$137488,$137489,$137490,$137491,$137492,$137493,$137494),(nextval($137495),$137496,$137497,$137498,$137499,$137500,$137501,$137502,$137503,$137504,$137505,$137506,$137507,$137508),(nextval($137509),$137510,$137511,$137512,$137513,$137514,$137515,$137516,$137517,$137518,$137519,$137520,$137521,$137522),(nextval($137523),$137524,$137525,$137526,$137527,$137528,$137529,$137530,$137531,$137532,$137533,$137534,$137535,$137536),(nextval($137537),$137538,$137539,$137540,$137541,$137542,$137543,$137544,$137545,$137546,$137547,$137548,$137549,$137550),(nextval($137551),$137552,$137553,$137554,$137555,$137556,$137557,$137558,$137559,$137560,$137561,$137562,$137563,$137564),(nextval($137565),$137566,$137567,$137568,$137569,$137570,$137571,$137572,$137573,$137574,$137575,$137576,$137577,$137578),(nextval($137579),$137580,$137581,$137582,$137583,$137584,$137585,$137586,$137587,$137588,$137589,$137590,$137591,$137592),(nextval($137593),$137594,$137595,$137596,$137597,$137598,$137599,$137600,$137601,$137602,$137603,$137604,$137605,$137606),(nextval($137607),$137608,$137609,$137610,$137611,$137612,$137613,$137614,$137615,$137616,$137617,$137618,$137619,$137620),(nextval($137621),$137622,$137623,$137624,$137625,$137626,$137627,$137628,$137629,$137630,$137631,$137632,$137633,$137634),(nextval($137635),$137636,$137637,$137638,$137639,$137640,$137641,$137642,$137643,$137644,$137645,$137646,$137647,$137648),(nextval($137649),$137650,$137651,$137652,$137653,$137654,$137655,$137656,$137657,$137658,$137659,$137660,$137661,$137662),(nextval($137663),$137664,$137665,$137666,$137667,$137668,$137669,$137670,$137671,$137672,$137673,$137674,$137675,$137676),(nextval($137677),$137678,$137679,$137680,$137681,$137682,$137683,$137684,$137685,$137686,$137687,$137688,$137689,$137690),(nextval($137691),$137692,$137693,$137694,$137695,$137696,$137697,$137698,$137699,$137700,$137701,$137702,$137703,$137704),(nextval($137705),$137706,$137707,$137708,$137709,$137710,$137711,$137712,$137713,$137714,$137715,$137716,$137717,$137718),(nextval($137719),$137720,$137721,$137722,$137723,$137724,$137725,$137726,$137727,$137728,$137729,$137730,$137731,$137732),(nextval($137733),$137734,$137735,$137736,$137737,$137738,$137739,$137740,$137741,$137742,$137743,$137744,$137745,$137746),(nextval($137747),$137748,$137749,$137750,$137751,$137752,$137753,$137754,$137755,$137756,$137757,$137758,$137759,$137760),(nextval($137761),$137762,$137763,$137764,$137765,$137766,$137767,$137768,$137769,$137770,$137771,$137772,$137773,$137774),(nextval($137775),$137776,$137777,$137778,$137779,$137780,$137781,$137782,$137783,$137784,$137785,$137786,$137787,$137788),(nextval($137789),$137790,$137791,$137792,$137793,$137794,$137795,$137796,$137797,$137798,$137799,$137800,$137801,$137802),(nextval($137803),$137804,$137805,$137806,$137807,$137808,$137809,$137810,$137811,$137812,$137813,$137814,$137815,$137816),(nextval($137817),$137818,$137819,$137820,$137821,$137822,$137823,$137824,$137825,$137826,$137827,$137828,$137829,$137830),(nextval($137831),$137832,$137833,$137834,$137835,$137836,$137837,$137838,$137839,$137840,$137841,$137842,$137843,$137844),(nextval($137845),$137846,$137847,$137848,$137849,$137850,$137851,$137852,$137853,$137854,$137855,$137856,$137857,$137858),(nextval($137859),$137860,$137861,$137862,$137863,$137864,$137865,$137866,$137867,$137868,$137869,$137870,$137871,$137872),(nextval($137873),$137874,$137875,$137876,$137877,$137878,$137879,$137880,$137881,$137882,$137883,$137884,$137885,$137886),(nextval($137887),$137888,$137889,$137890,$137891,$137892,$137893,$137894,$137895,$137896,$137897,$137898,$137899,$137900),(nextval($137901),$137902,$137903,$137904,$137905,$137906,$137907,$137908,$137909,$137910,$137911,$137912,$137913,$137914),(nextval($137915),$137916,$137917,$137918,$137919,$137920,$137921,$137922,$137923,$137924,$137925,$137926,$137927,$137928),(nextval($137929),$137930,$137931,$137932,$137933,$137934,$137935,$137936,$137937,$137938,$137939,$137940,$137941,$137942),(nextval($137943),$137944,$137945,$137946,$137947,$137948,$137949,$137950,$137951,$137952,$137953,$137954,$137955,$137956),(nextval($137957),$137958,$137959,$137960,$137961,$137962,$137963,$137964,$137965,$137966,$137967,$137968,$137969,$137970),(nextval($137971),$137972,$137973,$137974,$137975,$137976,$137977,$137978,$137979,$137980,$137981,$137982,$137983,$137984),(nextval($137985),$137986,$137987,$137988,$137989,$137990,$137991,$137992,$137993,$137994,$137995,$137996,$137997,$137998),(nextval($137999),$138000,$138001,$138002,$138003,$138004,$138005,$138006,$138007,$138008,$138009,$138010,$138011,$138012),(nextval($138013),$138014,$138015,$138016,$138017,$138018,$138019,$138020,$138021,$138022,$138023,$138024,$138025,$138026),(nextval($138027),$138028,$138029,$138030,$138031,$138032,$138033,$138034,$138035,$138036,$138037,$138038,$138039,$138040),(nextval($138041),$138042,$138043,$138044,$138045,$138046,$138047,$138048,$138049,$138050,$138051,$138052,$138053,$138054),(nextval($138055),$138056,$138057,$138058,$138059,$138060,$138061,$138062,$138063,$138064,$138065,$138066,$138067,$138068),(nextval($138069),$138070,$138071,$138072,$138073,$138074,$138075,$138076,$138077,$138078,$138079,$138080,$138081,$138082),(nextval($138083),$138084,$138085,$138086,$138087,$138088,$138089,$138090,$138091,$138092,$138093,$138094,$138095,$138096),(nextval($138097),$138098,$138099,$138100,$138101,$138102,$138103,$138104,$138105,$138106,$138107,$138108,$138109,$138110),(nextval($138111),$138112,$138113,$138114,$138115,$138116,$138117,$138118,$138119,$138120,$138121,$138122,$138123,$138124),(nextval($138125),$138126,$138127,$138128,$138129,$138130,$138131,$138132,$138133,$138134,$138135,$138136,$138137,$138138),(nextval($138139),$138140,$138141,$138142,$138143,$138144,$138145,$138146,$138147,$138148,$138149,$138150,$138151,$138152),(nextval($138153),$138154,$138155,$138156,$138157,$138158,$138159,$138160,$138161,$138162,$138163,$138164,$138165,$138166),(nextval($138167),$138168,$138169,$138170,$138171,$138172,$138173,$138174,$138175,$138176,$138177,$138178,$138179,$138180),(nextval($138181),$138182,$138183,$138184,$138185,$138186,$138187,$138188,$138189,$138190,$138191,$138192,$138193,$138194),(nextval($138195),$138196,$138197,$138198,$138199,$138200,$138201,$138202,$138203,$138204,$138205,$138206,$138207,$138208),(nextval($138209),$138210,$138211,$138212,$138213,$138214,$138215,$138216,$138217,$138218,$138219,$138220,$138221,$138222),(nextval($138223),$138224,$138225,$138226,$138227,$138228,$138229,$138230,$138231,$138232,$138233,$138234,$138235,$138236),(nextval($138237),$138238,$138239,$138240,$138241,$138242,$138243,$138244,$138245,$138246,$138247,$138248,$138249,$138250),(nextval($138251),$138252,$138253,$138254,$138255,$138256,$138257,$138258,$138259,$138260,$138261,$138262,$138263,$138264),(nextval($138265),$138266,$138267,$138268,$138269,$138270,$138271,$138272,$138273,$138274,$138275,$138276,$138277,$138278),(nextval($138279),$138280,$138281,$138282,$138283,$138284,$138285,$138286,$138287,$138288,$138289,$138290,$138291,$138292),(nextval($138293),$138294,$138295,$138296,$138297,$138298,$138299,$138300,$138301,$138302,$138303,$138304,$138305,$138306),(nextval($138307),$138308,$138309,$138310,$138311,$138312,$138313,$138314,$138315,$138316,$138317,$138318,$138319,$138320),(nextval($138321),$138322,$138323,$138324,$138325,$138326,$138327,$138328,$138329,$138330,$138331,$138332,$138333,$138334),(nextval($138335),$138336,$138337,$138338,$138339,$138340,$138341,$138342,$138343,$138344,$138345,$138346,$138347,$138348),(nextval($138349),$138350,$138351,$138352,$138353,$138354,$138355,$138356,$138357,$138358,$138359,$138360,$138361,$138362),(nextval($138363),$138364,$138365,$138366,$138367,$138368,$138369,$138370,$138371,$138372,$138373,$138374,$138375,$138376),(nextval($138377),$138378,$138379,$138380,$138381,$138382,$138383,$138384,$138385,$138386,$138387,$138388,$138389,$138390),(nextval($138391),$138392,$138393,$138394,$138395,$138396,$138397,$138398,$138399,$138400,$138401,$138402,$138403,$138404),(nextval($138405),$138406,$138407,$138408,$138409,$138410,$138411,$138412,$138413,$138414,$138415,$138416,$138417,$138418),(nextval($138419),$138420,$138421,$138422,$138423,$138424,$138425,$138426,$138427,$138428,$138429,$138430,$138431,$138432),(nextval($138433),$138434,$138435,$138436,$138437,$138438,$138439,$138440,$138441,$138442,$138443,$138444,$138445,$138446),(nextval($138447),$138448,$138449,$138450,$138451,$138452,$138453,$138454,$138455,$138456,$138457,$138458,$138459,$138460),(nextval($138461),$138462,$138463,$138464,$138465,$138466,$138467,$138468,$138469,$138470,$138471,$138472,$138473,$138474),(nextval($138475),$138476,$138477,$138478,$138479,$138480,$138481,$138482,$138483,$138484,$138485,$138486,$138487,$138488),(nextval($138489),$138490,$138491,$138492,$138493,$138494,$138495,$138496,$138497,$138498,$138499,$138500,$138501,$138502),(nextval($138503),$138504,$138505,$138506,$138507,$138508,$138509,$138510,$138511,$138512,$138513,$138514,$138515,$138516),(nextval($138517),$138518,$138519,$138520,$138521,$138522,$138523,$138524,$138525,$138526,$138527,$138528,$138529,$138530),(nextval($138531),$138532,$138533,$138534,$138535,$138536,$138537,$138538,$138539,$138540,$138541,$138542,$138543,$138544),(nextval($138545),$138546,$138547,$138548,$138549,$138550,$138551,$138552,$138553,$138554,$138555,$138556,$138557,$138558),(nextval($138559),$138560,$138561,$138562,$138563,$138564,$138565,$138566,$138567,$138568,$138569,$138570,$138571,$138572),(nextval($138573),$138574,$138575,$138576,$138577,$138578,$138579,$138580,$138581,$138582,$138583,$138584,$138585,$138586),(nextval($138587),$138588,$138589,$138590,$138591,$138592,$138593,$138594,$138595,$138596,$138597,$138598,$138599,$138600),(nextval($138601),$138602,$138603,$138604,$138605,$138606,$138607,$138608,$138609,$138610,$138611,$138612,$138613,$138614),(nextval($138615),$138616,$138617,$138618,$138619,$138620,$138621,$138622,$138623,$138624,$138625,$138626,$138627,$138628),(nextval($138629),$138630,$138631,$138632,$138633,$138634,$138635,$138636,$138637,$138638,$138639,$138640,$138641,$138642),(nextval($138643),$138644,$138645,$138646,$138647,$138648,$138649,$138650,$138651,$138652,$138653,$138654,$138655,$138656)", "expectedParts": ["RawStmt", "stmt", "InsertStmt", "override", "OVERRIDING_NOT_SET", "relation", "inh", "true", "relname", "tbl", "relpersistence", "p", "selectStmt", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE", "valuesLists", "FuncCall", "funcformat", "COERCE_EXPLICIT_CALL", "funcname", "String", "str", "nextval"], "expectedHash": "4a6db94fbada8341" }, { "input": "MERGE into measurement m USING new_measurement nm ON (m.city_id = nm.city_id and m.logdate=nm.logdate) WHEN MATCHED AND nm.peaktemp IS NULL THEN DELETE WHEN MATCHED THEN UPDATE SET peaktemp = greatest(m.peaktemp, nm.peaktemp), unitsales = m.unitsales + coalesce(nm.unitsales, 0) WHEN NOT MATCHED THEN INSERT (city_id, logdate, peaktemp, unitsales) VALUES (city_id, logdate, peaktemp, unitsales)", - "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "BoolExpr", "args", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "logdate", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "logdate", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "city_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "city_id", "boolop", "AND_EXPR", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_DELETE", "condition", "NullTest", "arg", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "nulltesttype", "IS_NULL", "matched", "true", "override", "OVERRIDING_NOT_SET", "MergeWhenClause", "commandType", "CMD_UPDATE", "matched", "true", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "unitsales", "name", "String", "str", "+", "rexpr", "CoalesceExpr", "args", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "unitsales", "ResTarget", "name", "peaktemp", "val", "MinMaxExpr", "args", "ColumnRef", "fields", "String", "str", "m", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "op", "IS_GREATEST", "MergeWhenClause", "commandType", "CMD_INSERT", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "ResTarget", "name", "logdate", "ResTarget", "name", "city_id", "ResTarget", "name", "peaktemp", "values", "ColumnRef", "fields", "String", "str", "city_id", "ColumnRef", "fields", "String", "str", "logdate", "ColumnRef", "fields", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "unitsales", "relation", "inh", "true", "relname", "measurement", "relpersistence", "p", "sourceRelation", "RangeVar", "inh", "true", "relname", "new_measurement", "relpersistence", "p"], - "expectedHash": "3a5494404465d0f9" + "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "BoolExpr", "args", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "logdate", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "logdate", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "city_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "city_id", "boolop", "AND_EXPR", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_DELETE", "condition", "NullTest", "arg", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "nulltesttype", "IS_NULL", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "MergeWhenClause", "commandType", "CMD_UPDATE", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "unitsales", "name", "String", "str", "+", "rexpr", "CoalesceExpr", "args", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "unitsales", "ResTarget", "name", "peaktemp", "val", "MinMaxExpr", "args", "ColumnRef", "fields", "String", "str", "m", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "op", "IS_GREATEST", "MergeWhenClause", "commandType", "CMD_INSERT", "matchKind", "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "ResTarget", "name", "logdate", "ResTarget", "name", "city_id", "ResTarget", "name", "peaktemp", "values", "ColumnRef", "fields", "String", "str", "city_id", "ColumnRef", "fields", "String", "str", "logdate", "ColumnRef", "fields", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "unitsales", "relation", "inh", "true", "relname", "measurement", "relpersistence", "p", "sourceRelation", "RangeVar", "inh", "true", "relname", "new_measurement", "relpersistence", "p" ], + "expectedHash": "fe086f143f4c7ed9" }, { "input": "ALTER TABLE ALL IN TABLESPACE foo OWNED BY bar, quux SET TABLESPACE fred NOWAIT", @@ -386,7 +387,7 @@ }, { "input": "MERGE INTO customer_account ca USING (VALUES (1, 42), (2, 99)) t(customer_id, transaction_value) ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value + 1 WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value)", - "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "ca", "String", "str", "customer_id", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_UPDATE", "matched", "true", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "balance", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "balance", "name", "String", "str", "+", "rexpr", "ColumnRef", "fields", "String", "str", "transaction_value", "name", "String", "str", "+", "MergeWhenClause", "commandType", "CMD_INSERT", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "customer_id", "ResTarget", "name", "balance", "values", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "ColumnRef", "fields", "String", "str", "t", "String", "str", "transaction_value", "relation", "inh", "true", "relname", "customer_account", "relpersistence", "p", "sourceRelation", "RangeSubselect", "subquery", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE"], - "expectedHash": "1cca3f304295181c" + "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "ca", "String", "str", "customer_id", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_UPDATE", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "balance", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "balance", "name", "String", "str", "+", "rexpr", "ColumnRef", "fields", "String", "str", "transaction_value", "name", "String", "str", "+", "MergeWhenClause", "commandType", "CMD_INSERT", "matchKind", "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "customer_id", "ResTarget", "name", "balance", "values", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "ColumnRef", "fields", "String", "str", "t", "String", "str", "transaction_value", "relation", "inh", "true", "relname", "customer_account", "relpersistence", "p", "sourceRelation", "RangeSubselect", "subquery", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE" ], + "expectedHash": "ff7d4d704926aae4" } ]